annotate src/djol/LayerSwitcher.js @ 20:9718e8de0cb2

Слияние
author nickolay
date Fri, 06 Oct 2017 09:17:41 +0300
parents f0035923ff3e
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
8
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
1 define([
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
2 "dojo/_base/declare",
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
3 "require",
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
4 "dijit/_WidgetBase",
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
5 "dijit/_TemplatedMixin",
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
6 "dijit/_WidgetsInTemplateMixin",
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
7 "dojo/text!./resources/LayerSwitcherTemplate.html",
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
8 "./LayerCheckBox",
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
9 "./LayerRadioButton",
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
10 "app/view/Container" ],
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
11
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
12 function(declare, require, _WidgetBase, _TemplatedMixin,
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
13 _WidgetsInTemplateMixin, templateString, LayerCheckBox, LayerRadioButton) {
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
14
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
15 return declare([ _WidgetBase, _TemplatedMixin, _WidgetsInTemplateMixin ], {
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
16 templateString : templateString,
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
17 requireScope : require,
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
18 _layers : null,
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
19 _map : null,
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
20
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
21 infoLayersLabel : "Layers",
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
22 _setInfoLayersLabelAttr : {
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
23 node : "infoLayersLabelNode",
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
24 type : "innerHTML"
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
25 },
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
26
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
27 baseLayersLabel : "Base",
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
28 _setBaseLayersLabelAttr : {
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
29 node : "baseLayersLabelNode",
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
30 type : "innerHTML"
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
31 },
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
32
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
33 constructor : function(options) {
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
34 options = options || {};
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
35
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
36 if (!options.map)
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
37 throw new Error("The map is required");
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
38
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
39 this._map = options.map;
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
40
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
41 if (options.layers && options.layers instanceof Array)
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
42 this._layers = options.layers;
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
43 else
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
44 this._layers = [];
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
45
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
46 // this.baseLayersLabel = "Base";
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
47
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
48 },
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
49
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
50 postCreate : function() {
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
51 this.inherited(arguments);
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
52
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
53 var pending = [];
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
54
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
55 for ( var i in this._layers) {
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
56 if (this._layers[i].get("layerType") != "base")
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
57 pending.push(this._layers[i]);
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
58 else
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
59 this._addLayer(this._layers[i]);
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
60 }
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
61
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
62 for ( var i in pending)
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
63 this._addLayer(pending[i]);
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
64 },
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
65
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
66 _addLayer : function(layer) {
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
67 this._map.addLayer(layer);
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
68
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
69 if (layer.get("layerType") === "base") {
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
70 this.baseLayersContainer.addChild(new LayerRadioButton({
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
71 layer : layer
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
72 }));
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
73 } else {
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
74 this.infoLayersContainer.addChild(new LayerCheckBox({
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
75 layer : layer
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
76 }));
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
77 }
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
78 },
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
79
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
80 });
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
81 });