From 700d2b1a7258d394d93fd58f6dd7491e4cb1dfc4 Mon Sep 17 00:00:00 2001 From: Kelly Innes Date: Tue, 22 Aug 2017 13:56:45 -0400 Subject: [PATCH 1/2] Add NLCD code to analyze land results csv - add hidden yet exportable column to TableView and TableRowView added only when the table displays NLCD results --- src/mmw/js/src/analyze/templates/table.html | 3 +++ src/mmw/js/src/analyze/templates/tableRow.html | 3 +++ src/mmw/js/src/analyze/views.js | 17 ++++++++++++----- src/mmw/sass/pages/_analyze.scss | 4 ++++ 4 files changed, 22 insertions(+), 5 deletions(-) diff --git a/src/mmw/js/src/analyze/templates/table.html b/src/mmw/js/src/analyze/templates/table.html index fef2366af..9f57a54c1 100644 --- a/src/mmw/js/src/analyze/templates/table.html +++ b/src/mmw/js/src/analyze/templates/table.html @@ -2,6 +2,9 @@ Type + {% if isLandTable %} + NLCD Code + {% endif %} Area ({{ headerUnits }}) Coverage (%) diff --git a/src/mmw/js/src/analyze/templates/tableRow.html b/src/mmw/js/src/analyze/templates/tableRow.html index 92fb2f462..5805dca23 100644 --- a/src/mmw/js/src/analyze/templates/tableRow.html +++ b/src/mmw/js/src/analyze/templates/tableRow.html @@ -1,3 +1,6 @@ {{ type }} +{% if isLandTable %} + {{ code }} +{% endif %} {{ scaledArea|round(2)|toLocaleString(2) }} {{ coveragePct|toFixed(1) }} diff --git a/src/mmw/js/src/analyze/views.js b/src/mmw/js/src/analyze/views.js index 821a6c208..6aec93706 100644 --- a/src/mmw/js/src/analyze/views.js +++ b/src/mmw/js/src/analyze/views.js @@ -530,13 +530,17 @@ var TableRowView = Marionette.ItemView.extend({ template: tableRowTmpl, templateHelpers: function() { var area = this.model.get('area'), - units = this.options.units; + units = this.options.units, + isLandTable = this.options.isLandTable, + code = isLandTable ? this.model.get('nlcd') : null; return { // Convert coverage to percentage for display. coveragePct: (this.model.get('coverage') * 100), // Scale the area to display units. - scaledArea: utils.changeOfAreaUnits(area, 'm2', units) + scaledArea: utils.changeOfAreaUnits(area, 'm2', units), + code: code, + isLandTable: isLandTable }; } }); @@ -545,12 +549,14 @@ var TableView = Marionette.CompositeView.extend({ childView: TableRowView, childViewOptions: function() { return { - units: this.options.units + units: this.options.units, + isLandTable: this.options.modelName === 'land' }; }, templateHelpers: function() { return { - headerUnits: this.options.units + headerUnits: this.options.units, + isLandTable: this.options.modelName === 'land' }; }, childViewContainer: 'tbody', @@ -1027,7 +1033,8 @@ var AnalyzeResultView = Marionette.LayoutView.extend({ this.tableRegion.show(new AnalyzeTableView({ units: units, - collection: census + collection: census, + modelName: this.model.get('name') })); if (AnalyzeChartView) { diff --git a/src/mmw/sass/pages/_analyze.scss b/src/mmw/sass/pages/_analyze.scss index 1a3ec1fa3..57feb65c7 100644 --- a/src/mmw/sass/pages/_analyze.scss +++ b/src/mmw/sass/pages/_analyze.scss @@ -151,3 +151,7 @@ max-width: 650px !important; height: 100%; } + +.hidden-analyze-table-column { + display: none; +} From 04ae8e4a493048e7db672798a11184cc8e56d151 Mon Sep 17 00:00:00 2001 From: Kelly Innes Date: Tue, 22 Aug 2017 16:02:40 -0400 Subject: [PATCH 2/2] Update land cover analysis tab test --- src/mmw/js/src/analyze/tests.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/mmw/js/src/analyze/tests.js b/src/mmw/js/src/analyze/tests.js index 5adf0e3a6..870581229 100644 --- a/src/mmw/js/src/analyze/tests.js +++ b/src/mmw/js/src/analyze/tests.js @@ -68,12 +68,18 @@ function testAnalysisType(type) { resultView.listenTo(resultView, 'show', function() { var expectedTableHeaders = tableHeaders[type], expectedTableRows = tableRows(type, result), - actualTableHeaders = $('table thead th').map(function() { + actualTableHeaders = _.compact($('table thead th').map(function() { + if ($(this).hasClass('hidden-analyze-table-column')) { + return null; + } return $(this).text().trim(); - }).toArray(), - actualTableRows = $('table tbody td').map(function() { + }).toArray()), + actualTableRows = _.compact($('table tbody td').map(function() { + if ($(this).hasClass('hidden-analyze-table-column')) { + return null; + } return $(this).text().trim(); - }).toArray(); + }).toArray()); assert.deepEqual(expectedTableHeaders, actualTableHeaders); assert.deepEqual(expectedTableRows, actualTableRows);