From 64b0a2fbdc07fcb7652cc8d75aac205729a341a2 Mon Sep 17 00:00:00 2001 From: Gregg Roemhildt Date: Tue, 28 Mar 2017 19:49:51 -0500 Subject: [PATCH 1/5] fix dynamic layer identifies for sublayerid 0 add example with layer 0 add formatter example --- viewer/js/config/identify.js | 15 +++++++++++++++ viewer/js/config/nls/main.js | 1 + viewer/js/config/viewer.js | 7 +++++++ viewer/js/gis/dijit/Identify.js | 2 +- 4 files changed, 24 insertions(+), 1 deletion(-) diff --git a/viewer/js/config/identify.js b/viewer/js/config/identify.js index a85fb35b1..4f177aba0 100644 --- a/viewer/js/config/identify.js +++ b/viewer/js/config/identify.js @@ -34,6 +34,21 @@ define([ // for details on pop-up definition see: https://developers.arcgis.com/javascript/jshelp/intro_popuptemplate.html identifies: { + population: { + 0: { + fieldInfos: [{ + visible: true, + fieldName: 'Pixel value', + alias: 'Population' + }, { + visible: true, + fieldName: 'Rounded Value', + formatter: function (none, attrs) { + return Math.round(attrs['Pixel value'] * 100) / 100; + } + }] + } + }, louisvillePubSafety: { 2: { title: i18n.identify.louisvillePubSafety.policeStation, diff --git a/viewer/js/config/nls/main.js b/viewer/js/config/nls/main.js index d4e18302b..832c49b36 100644 --- a/viewer/js/config/nls/main.js +++ b/viewer/js/config/nls/main.js @@ -22,6 +22,7 @@ define({ }, viewer: { operationalLayers: { + population: 'Population density', damageAssessment: 'Damage Assessment', louisvillePubSafety: 'Louisville Public Safety', restaurants: 'Restaurants', diff --git a/viewer/js/config/viewer.js b/viewer/js/config/viewer.js index d11dc7490..ea950e6a7 100644 --- a/viewer/js/config/viewer.js +++ b/viewer/js/config/viewer.js @@ -175,6 +175,13 @@ define([ iconClass: 'fa fa-smile-o' }] } + }, { + type: 'dynamic', + url: 'https://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Population_World/MapServer', + title: i18n.viewer.operationalLayers.population, + options: { + id: 'population' + } }, { type: 'dynamic', url: 'https://sampleserver1.arcgisonline.com/ArcGIS/rest/services/PublicSafety/PublicSafetyOperationalLayers/MapServer', diff --git a/viewer/js/gis/dijit/Identify.js b/viewer/js/gis/dijit/Identify.js index ccae23bc5..50efe59f5 100644 --- a/viewer/js/gis/dijit/Identify.js +++ b/viewer/js/gis/dijit/Identify.js @@ -397,7 +397,7 @@ define([ getInfoTemplate: function (layer, layerId, result) { var popup, config; if (result) { - layerId = result.layerId || layer.layerId; + layerId = typeof result.layerId === 'number' ? result.layerId : layer.layerId; } else if (layerId === null) { layerId = layer.layerId; } From f8f8700a33b5badc42599882fa6f2abe624f362f Mon Sep 17 00:00:00 2001 From: roemhildtg Date: Mon, 3 Apr 2017 08:48:05 -0500 Subject: [PATCH 2/5] Switch to sampleserver6 world cities layer --- viewer/js/config/identify.js | 31 ++++++++++++++++++++++++------- viewer/js/config/nls/main.js | 2 +- viewer/js/config/viewer.js | 7 ++++--- 3 files changed, 29 insertions(+), 11 deletions(-) diff --git a/viewer/js/config/identify.js b/viewer/js/config/identify.js index 4f177aba0..ac23b0fb6 100644 --- a/viewer/js/config/identify.js +++ b/viewer/js/config/identify.js @@ -10,6 +10,24 @@ define([ text: 'Get Directions' }); } + + /** + * A simple number formatter that adds commas to a number + * @param {number} num The number to commafy + * @return {String} The formatted number + */ + function commafy (num) { + var str = num.toString().split('.'); + if (str[0].length >= 5) { + str[0] = str[0].replace(/(\d)(?=(\d{3})+$)/g, '$1,'); + } + if (str[1] && str[1].length >= 5) { + str[1] = str[1].replace(/(\d{3})/g, '$1 '); + } + return str.join('.'); + } + + return { map: true, mapClickMode: true, @@ -34,18 +52,17 @@ define([ // for details on pop-up definition see: https://developers.arcgis.com/javascript/jshelp/intro_popuptemplate.html identifies: { - population: { + cities: { 0: { fieldInfos: [{ visible: true, - fieldName: 'Pixel value', - alias: 'Population' + fieldName: 'CITY_NAME', + label: 'Name' }, { visible: true, - fieldName: 'Rounded Value', - formatter: function (none, attrs) { - return Math.round(attrs['Pixel value'] * 100) / 100; - } + fieldName: 'POP', + label: 'Population', + formatter: commafy }] } }, diff --git a/viewer/js/config/nls/main.js b/viewer/js/config/nls/main.js index 832c49b36..2a9a8a606 100644 --- a/viewer/js/config/nls/main.js +++ b/viewer/js/config/nls/main.js @@ -22,7 +22,7 @@ define({ }, viewer: { operationalLayers: { - population: 'Population density', + cities: 'World Cities', damageAssessment: 'Damage Assessment', louisvillePubSafety: 'Louisville Public Safety', restaurants: 'Restaurants', diff --git a/viewer/js/config/viewer.js b/viewer/js/config/viewer.js index ea950e6a7..ace54ec1f 100644 --- a/viewer/js/config/viewer.js +++ b/viewer/js/config/viewer.js @@ -177,10 +177,11 @@ define([ } }, { type: 'dynamic', - url: 'https://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Population_World/MapServer', - title: i18n.viewer.operationalLayers.population, + url: 'http://sampleserver6.arcgisonline.com/arcgis/rest/services/SampleWorldCities/MapServer', + title: i18n.viewer.operationalLayers.cities, options: { - id: 'population' + id: 'cities', + visible: false } }, { type: 'dynamic', From e55000810c5aad3e36c561e9905f5eaac22ad2fc Mon Sep 17 00:00:00 2001 From: Tim McGee Date: Mon, 10 Apr 2017 14:34:08 -0700 Subject: [PATCH 3/5] Replace custom `commafy` function with dojo's `number.format`. --- viewer/js/config/identify.js | 26 ++++++-------------------- 1 file changed, 6 insertions(+), 20 deletions(-) diff --git a/viewer/js/config/identify.js b/viewer/js/config/identify.js index ac23b0fb6..7a6e81185 100644 --- a/viewer/js/config/identify.js +++ b/viewer/js/config/identify.js @@ -1,7 +1,8 @@ define([ 'dojo/i18n!./nls/main', - 'dojo/_base/lang' -], function (i18n, lang) { + 'dojo/_base/lang', + 'dojo/number' +], function (i18n, lang, number) { var linkTemplate = '{text}'; function directionsFormatter (noValue, attributes) { @@ -11,23 +12,6 @@ define([ }); } - /** - * A simple number formatter that adds commas to a number - * @param {number} num The number to commafy - * @return {String} The formatted number - */ - function commafy (num) { - var str = num.toString().split('.'); - if (str[0].length >= 5) { - str[0] = str[0].replace(/(\d)(?=(\d{3})+$)/g, '$1,'); - } - if (str[1] && str[1].length >= 5) { - str[1] = str[1].replace(/(\d{3})/g, '$1 '); - } - return str.join('.'); - } - - return { map: true, mapClickMode: true, @@ -62,7 +46,9 @@ define([ visible: true, fieldName: 'POP', label: 'Population', - formatter: commafy + formatter: function (value) { + return number.format(value); + } }] } }, From 3d11d343bdf175b2f9c34b552a6617c233c9b57c Mon Sep 17 00:00:00 2001 From: Tim McGee Date: Mon, 10 Apr 2017 14:34:57 -0700 Subject: [PATCH 4/5] use sampleserver6 for SF 311 incidents --- viewer/js/config/viewer.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/viewer/js/config/viewer.js b/viewer/js/config/viewer.js index ace54ec1f..05154fe13 100644 --- a/viewer/js/config/viewer.js +++ b/viewer/js/config/viewer.js @@ -159,7 +159,7 @@ define([ } }, { type: 'feature', - url: 'https://sampleserver3.arcgisonline.com/ArcGIS/rest/services/SanFrancisco/311Incidents/FeatureServer/0', + url: 'https://sampleserver6.arcgisonline.com/ArcGIS/rest/services/SF311/FeatureServer/0', title: i18n.viewer.operationalLayers.sf311Incidents, options: { id: 'sf311Incidents', From b7032cd99d079e60a394f91cfe0dec19e2f76e92 Mon Sep 17 00:00:00 2001 From: Tim McGee Date: Mon, 10 Apr 2017 14:36:40 -0700 Subject: [PATCH 5/5] use HTTPS, not HTTP move `World Cities` to be lowest layer --- viewer/js/config/viewer.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/viewer/js/config/viewer.js b/viewer/js/config/viewer.js index 05154fe13..cd1b18bb1 100644 --- a/viewer/js/config/viewer.js +++ b/viewer/js/config/viewer.js @@ -175,14 +175,6 @@ define([ iconClass: 'fa fa-smile-o' }] } - }, { - type: 'dynamic', - url: 'http://sampleserver6.arcgisonline.com/arcgis/rest/services/SampleWorldCities/MapServer', - title: i18n.viewer.operationalLayers.cities, - options: { - id: 'cities', - visible: false - } }, { type: 'dynamic', url: 'https://sampleserver1.arcgisonline.com/ArcGIS/rest/services/PublicSafety/PublicSafetyOperationalLayers/MapServer', @@ -232,6 +224,14 @@ define([ iconClass: 'fa fa-smile-o' }] } + }, { + type: 'dynamic', + url: 'https://sampleserver6.arcgisonline.com/arcgis/rest/services/SampleWorldCities/MapServer', + title: i18n.viewer.operationalLayers.cities, + options: { + id: 'cities', + visible: false + } /* //examples of vector tile layers (beta in v3.15) }, {