From 576093cdf762252471472b70fa99027931fd0a69 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 4 Nov 2015 13:52:48 -0500 Subject: [PATCH] MinScale and MaxScale options added for relevant layers. Tiled Layer displayLayers and webTileLayer subdomains are now comma delineated. Placeholder text added for some fields. --- Widget.js | 47 ++++++++++++++++++++++++++++++++- images/Thumbs.db | Bin 5120 -> 5120 bytes setting/DynamicLayerEdit.html | 38 ++++++++++++++++++++++++++ setting/DynamicLayerEdit.js | 8 ++++++ setting/FeatureLayerEdit.html | 38 ++++++++++++++++++++++++++ setting/FeatureLayerEdit.js | 8 ++++++ setting/Setting.js | 4 +-- setting/TiledLayerEdit.html | 40 +++++++++++++++++++++++++++- setting/TiledLayerEdit.js | 20 ++++++++++---- setting/WebTiledLayerEdit.html | 42 +++++++++++++++++++++++++++-- setting/WebTiledLayerEdit.js | 8 ++++++ setting/geoJSONEdit.html | 38 ++++++++++++++++++++++++++ setting/geoJSONEdit.js | 8 ++++++ setting/nls/strings.js | 7 ++++- 14 files changed, 294 insertions(+), 12 deletions(-) diff --git a/Widget.js b/Widget.js index 655cc71..100fbb4 100644 --- a/Widget.js +++ b/Widget.js @@ -107,6 +107,12 @@ define([ if(layer.hasOwnProperty('hidelayers')){ lOptions.hidelayers = layer.hidelayers.split(','); } + if(layer.hasOwnProperty('minScale')){ + lOptions.minScale = layer.minScale + } + if(layer.hasOwnProperty('maxScale')){ + lOptions.maxScale = layer.maxScale + } if(layer.type.toUpperCase() === 'DYNAMIC'){ if(layer.imageformat){ var ip = new ImageParameters(); @@ -144,6 +150,13 @@ define([ lLayer.setDisableClientCaching(true); } lLayer.on('load',function(evt){ + //set min/max scales if present + if(lOptions.minScale){ + evt.layer.setMinScale(lOptions.minScale) + } + if(lOptions.maxScale){ + evt.layer.setMaxScale(lOptions.maxScale) + } var removeLayers = [] //set defaultvisibility for everything off by default array.forEach(evt.layer.layerInfos,function(layer){ @@ -197,6 +210,13 @@ define([ } lLayer = new WebTiledLayer(layer.url,lOptions) lLayer.on('load',function(evt){ + //set min/max scales if present + if(lOptions.minScale){ + evt.layer.setMinScale(lOptions.minScale) + } + if(lOptions.maxScale){ + evt.layer.setMaxScale(lOptions.maxScale) + } evt.layer.name = lOptions.id; }); this._viewerMap.addLayer(lLayer); @@ -254,17 +274,33 @@ define([ lLayer.noservicename = true; } lLayer.on('load',function(evt){ + //set min/max scales if present + if(lOptions.minScale){ + evt.layer.setMinScale(lOptions.minScale) + } + if(lOptions.maxScale){ + evt.layer.setMaxScale(lOptions.maxScale) + } evt.layer.name = lOptions.id; }); this._viewerMap.addLayer(lLayer); }else if(layer.type.toUpperCase() === 'TILED'){ if(layer.displayLevels){ - lOptions.displayLevels = layer.displayLevels; + lOptions.displayLevels = layer.displayLevels.split(','); } if(layer.hasOwnProperty('autorefresh')){ lOptions.refreshInterval = layer.autorefresh; } lLayer = new ArcGISTiledMapServiceLayer(layer.url, lOptions); + lLayer.on('load', function(evt){ + //set min/max scales if present + if(lOptions.minScale){ + evt.layer.setMinScale(lOptions.minScale) + } + if(lOptions.maxScale){ + evt.layer.setMaxScale(lOptions.maxScale) + } + }) if(layer.name){ lLayer._titleForLegend = layer.name; lLayer.title = layer.name; @@ -413,6 +449,15 @@ define([ lLayer.noservicename = true; lLayer.name = lOptions.id; } + lLayer.on('load', function(evt){ + //set min/max scales if present + if(lOptions.minScale){ + evt.layer.setMinScale(lOptions.minScale) + } + if(lOptions.maxScale){ + evt.layer.setMaxScale(lOptions.maxScale) + } + }) this._viewerMap.addLayer(lLayer); }), lang.hitch(this, function(err){ console.log('error') diff --git a/images/Thumbs.db b/images/Thumbs.db index d61fa1bf29b191b8f4c7831625cca73b93ca6035..6cc203cf2fc3091182ea751b7f396955d057c5cc 100644 GIT binary patch delta 33 pcmZqBXwcY@!@_o8*R1`9;+u + + + + + + + +
+ + + + + + + +
+ ${nls.minScale} + + +
+
+ + + + + + + +
+ ${nls.maxScale} + + +
+
+ + diff --git a/setting/DynamicLayerEdit.js b/setting/DynamicLayerEdit.js index adc0346..77b62a8 100644 --- a/setting/DynamicLayerEdit.js +++ b/setting/DynamicLayerEdit.js @@ -89,6 +89,12 @@ define( if(config.imageformat){ this.imgFormat.set('value', config.imageformat); } + if(config.hasOwnProperty('maxScale')){ + this.maxScale.set('value', config.maxScale); + } + if(config.hasOwnProperty('minScale')){ + this.minScale.set('value', config.minScale); + } }, _bindEvents: function() { @@ -234,6 +240,8 @@ define( popup: this.config.popup, imagedpi: this.imgDPI.get('value'), disableclientcaching: this.disableClientCachingCbx.getValue(), + minScale: this.minScale.get('value'), + maxScale: this.maxScale.get('value'), //hidelayers: allHiddenLayers.join() hidelayers: visibleLayers.join() }; diff --git a/setting/FeatureLayerEdit.html b/setting/FeatureLayerEdit.html index 0148455..e498654 100644 --- a/setting/FeatureLayerEdit.html +++ b/setting/FeatureLayerEdit.html @@ -64,6 +64,44 @@
+ + + + + + + +
+ + + + + + + +
+ ${nls.minScale} + + +
+
+ + + + + + + +
+ ${nls.maxScale} + + +
+
+ + diff --git a/setting/FeatureLayerEdit.js b/setting/FeatureLayerEdit.js index 095c55a..50cd30e 100644 --- a/setting/FeatureLayerEdit.js +++ b/setting/FeatureLayerEdit.js @@ -93,6 +93,12 @@ define( if(config.hasOwnProperty('autorefresh')){ this.autoRefresh.set('value', config.autorefresh); } + if(config.hasOwnProperty('maxScale')){ + this.maxScale.set('value', config.maxScale); + } + if(config.hasOwnProperty('minScale')){ + this.minScale.set('value', config.minScale); + } if(config.showLabels === false){ this.showLabelsCbx.setValue(false) }else{ @@ -167,6 +173,8 @@ define( showLabels: this.showLabelsCbx.getValue(), popup: this.config.popup, autorefresh: this.autoRefresh.get('value'), + minScale: this.minScale.get('value'), + maxScale: this.maxScale.get('value'), mode: this.flMode.get('value') }; return [featurelayer, this.tr]; diff --git a/setting/Setting.js b/setting/Setting.js index 2292a05..593da8c 100644 --- a/setting/Setting.js +++ b/setting/Setting.js @@ -107,7 +107,7 @@ define([ _initLayersTable: function() { this.LayersTable.clear(); var layers = this.config && this.config.layers.layer; - array.forEach(layers, lang.hitch(this, function(layerConfig, index) { + array.forEach(layers.reverse(), lang.hitch(this, function(layerConfig, index) { var args = { config: layerConfig, layerindex: index @@ -137,7 +137,7 @@ define([ var allLayers = array.map(trs, lang.hitch(this, function (item) { return item.singleLayer; })); - return allLayers; + return allLayers.reverse(); }, getNLSLayerType: function(type) { diff --git a/setting/TiledLayerEdit.html b/setting/TiledLayerEdit.html index 86f7810..7a538a5 100644 --- a/setting/TiledLayerEdit.html +++ b/setting/TiledLayerEdit.html @@ -77,7 +77,7 @@ @@ -102,6 +102,44 @@
+ data-dojo-props='style:{width:"100%"},placeholder:"${nls.displayLevelsPlaceHolder}"'/>
+ + + + + + + +
+ + + + + + + +
+ ${nls.minScale} + + +
+
+ + + + + + + +
+ ${nls.maxScale} + + +
+
+ + diff --git a/setting/TiledLayerEdit.js b/setting/TiledLayerEdit.js index f8641f5..501764d 100644 --- a/setting/TiledLayerEdit.js +++ b/setting/TiledLayerEdit.js @@ -89,6 +89,12 @@ define( if(config.hasOwnProperty('autorefresh')){ this.autoRefresh.set('value', config.autorefresh); } + if(config.hasOwnProperty('maxScale')){ + this.maxScale.set('value', config.maxScale); + } + if(config.hasOwnProperty('minScale')){ + this.minScale.set('value', config.minScale); + } }, _bindEvents: function() { @@ -198,18 +204,22 @@ define( }, getConfig: function() { - var dls = []; - if(this.displayLevels.get('value') !== ''){ - dls = this.displayLevels.get('value').split(); - } + //var dls = []; + //if(this.displayLevels.get('value') !== ''){ + //dls = this.displayLevels.get('value').split(','); + + //} var tiledlayer = { type: 'Tiled', name: this.layerTitle.get('value'), url: this.layerUrl.get('value'), opacity: this.layerAlpha.getAlpha(), - displayLevels: (dls.length > 0)?dls:null, + //displayLevels: (dls.length > 0)?dls:null, + displayLevels: this.displayLevels.get('value'), autorefresh: this.autoRefresh.get('value'), visible: this.isVisible.getValue(), + minScale: this.minScale.get('value'), + maxScale: this.maxScale.get('value'), popup: this.config.popup }; return [tiledlayer, this.tr]; diff --git a/setting/WebTiledLayerEdit.html b/setting/WebTiledLayerEdit.html index df2da1a..210d9d2 100644 --- a/setting/WebTiledLayerEdit.html +++ b/setting/WebTiledLayerEdit.html @@ -5,7 +5,7 @@ @@ -87,6 +87,44 @@
${nls.layerUrl} - +
+ + + + + + + +
+ + + + + + + +
+ ${nls.minScale} + + +
+
+ + + + + + + +
+ ${nls.maxScale} + + +
+
+ + @@ -100,7 +138,7 @@ diff --git a/setting/WebTiledLayerEdit.js b/setting/WebTiledLayerEdit.js index cb5d66a..c7ebd47 100644 --- a/setting/WebTiledLayerEdit.js +++ b/setting/WebTiledLayerEdit.js @@ -98,6 +98,12 @@ define( if(config.hasOwnProperty('autorefresh')){ this.autoRefresh.set('value', config.autorefresh); } + if(config.hasOwnProperty('maxScale')){ + this.maxScale.set('value', config.maxScale); + } + if(config.hasOwnProperty('minScale')){ + this.minScale.set('value', config.minScale); + } }, _bindEvents: function() { @@ -150,6 +156,8 @@ define( opacity: this.layerAlpha.getAlpha(), subdomains: (dls.length > 0)?dls:null, autorefresh: this.autoRefresh.get('value'), + minScale: this.minScale.get('value'), + maxScale: this.maxScale.get('value'), visible: this.isVisible.getValue() }; return [webtiledlayer, this.tr]; diff --git a/setting/geoJSONEdit.html b/setting/geoJSONEdit.html index 65fdeb7..61dafaa 100644 --- a/setting/geoJSONEdit.html +++ b/setting/geoJSONEdit.html @@ -71,6 +71,44 @@
+ data-dojo-props='required:true,style:{width:"100%"},placeholder:"${nls.subDomainPlaceHolder}"'/>
+ + + + + + + +
+ + + + + + + +
+ ${nls.minScale} + + +
+
+ + + + + + + +
+ ${nls.maxScale} + + +
+
+ + diff --git a/setting/geoJSONEdit.js b/setting/geoJSONEdit.js index e91bee9..78f8844 100644 --- a/setting/geoJSONEdit.js +++ b/setting/geoJSONEdit.js @@ -103,6 +103,12 @@ define( if(config.hasOwnProperty('autorefresh')){ this.autoRefresh.set('value', config.autorefresh); } + if(config.hasOwnProperty('maxScale')){ + this.maxScale.set('value', config.maxScale); + } + if(config.hasOwnProperty('minScale')){ + this.minScale.set('value', config.minScale); + } if(config.showLabels === false){ this.showLabelsCbx.setValue(false) }else{ @@ -259,6 +265,8 @@ define( symbol: this.config.symbol, latitude: this.config.latitude, longitude: this.config.longitude, + minScale: this.minScale.get('value'), + maxScale: this.maxScale.get('value'), isValidGeoJson: this.isValidGeoJson }; return [featurelayer, this.tr]; diff --git a/setting/nls/strings.js b/setting/nls/strings.js index 8f772d5..916794c 100644 --- a/setting/nls/strings.js +++ b/setting/nls/strings.js @@ -19,7 +19,12 @@ define({ editgeojson: "Edit geoJSON Layer", editwebtile: "Edit WebTile Layer", editbasemap: "Edit Basemap", - copyright: "Copyright", + copyright: "Copyright Text", + minScale: "Minimum Visibility Scale", + maxScale: "Maximum Visibility Scale", + tilePlaceHolder: "e.g. http://{subDomain}.tile.stamen.com/watercolor/{level}/{col}/{row}.jpg", + subDomainPlaceHolder: "e.g. a,b,c", + displayLevelsPlaceHolder: "e.g 1,2,5", addbasemap: "Add Basemap", webmaplayertype: "Layer Type", layeroption: "Layer",