react-spatial 1.2.3-beta.3 → 1.2.3-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LayerService.js +0 -29
- package/LayerService.js.map +2 -2
- package/package.json +1 -1
package/LayerService.js
CHANGED
|
@@ -101,35 +101,6 @@ export default class LayerService {
|
|
|
101
101
|
(this.callbacks["change:copyright"] || []).forEach((cb) => {
|
|
102
102
|
return cb(evt.target);
|
|
103
103
|
});
|
|
104
|
-
}),
|
|
105
|
-
layer.on("change:visible", (evt) => {
|
|
106
|
-
const { visible } = evt.target;
|
|
107
|
-
if (!evt.stopPropagationSiblings && layer.get("radioGroup") && visible) {
|
|
108
|
-
const siblings = this.getRadioGroupLayers(
|
|
109
|
-
layer.get("radioGroup")
|
|
110
|
-
).filter((l) => {
|
|
111
|
-
return l !== layer;
|
|
112
|
-
});
|
|
113
|
-
siblings.forEach((s) => {
|
|
114
|
-
if (visible && s.get("radioGroup") && evt.target.get("radioGroup") === s.get("radioGroup")) {
|
|
115
|
-
s.visible = false;
|
|
116
|
-
}
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
|
-
if (!evt.stopPropagationDown && layer.children) {
|
|
120
|
-
layer.children.forEach((child) => {
|
|
121
|
-
child.visible = visible;
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
|
-
const parentLayer = this.getParent(layer);
|
|
125
|
-
if (!evt.stopPropagationUp && parentLayer && (visible || !visible && !parentLayer.children.find((c) => {
|
|
126
|
-
return c.visible;
|
|
127
|
-
}))) {
|
|
128
|
-
parentLayer.visible = visible;
|
|
129
|
-
}
|
|
130
|
-
(this.callbacks["change:visible"] || []).forEach((cb) => {
|
|
131
|
-
return cb(evt.target);
|
|
132
|
-
});
|
|
133
104
|
})
|
|
134
105
|
);
|
|
135
106
|
});
|
package/LayerService.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/LayerService.js"],
|
|
4
|
-
"sourcesContent": ["import { unByKey } from 'ol/Observable';\n\n/**\n * A layer service class to handle layer adding, removing and visiblity.\n */\nexport default class LayerService {\n constructor(layers) {\n this.layers = layers;\n this.callbacks = {};\n this.keys = [];\n this.listenChangeEvt();\n }\n\n addLayer(layer) {\n this.layers.push(layer);\n }\n\n getLayers() {\n return this.layers;\n }\n\n setLayers(layers) {\n this.layers = layers;\n this.listenChangeEvt();\n // When we change the layers we trigger an change:layers event\n (this.callbacks['change:layers'] || []).forEach((cb) => {\n return cb(layers);\n });\n }\n\n getLayersAsFlatArray(optLayers) {\n let layers = [];\n (optLayers || this.getLayers() || []).forEach((l) => {\n layers.push(l);\n const { children } = l;\n layers = layers.concat(this.getLayersAsFlatArray(children || []));\n });\n return layers;\n }\n\n getLayer(name) {\n return this.getLayersAsFlatArray().find((l) => {\n return l.name === name;\n });\n }\n\n getParent(child) {\n return this.getLayersAsFlatArray().find((l) => {\n return !!l.children.includes(child);\n });\n }\n\n getParents(child) {\n let layer = child;\n const parents = [];\n\n let parentLayer;\n do {\n parentLayer = this.getParent(layer);\n if (parentLayer) {\n parents.push(parentLayer);\n layer = parentLayer;\n }\n } while (parentLayer);\n\n return parents;\n }\n\n getRadioGroupLayers(radioGroupName) {\n if (radioGroupName) {\n return this.getLayersAsFlatArray().filter((l) => {\n return l.get('radioGroup') === radioGroupName;\n });\n }\n\n return null;\n }\n\n getBaseLayers() {\n return this.getLayersAsFlatArray().filter((l) => {\n return l.isBaseLayer;\n });\n }\n\n getQueryableLayers() {\n return this.getLayersAsFlatArray().filter((layer) => {\n return layer.visible && layer.isQueryable;\n });\n }\n\n getFeatureInfoAtCoordinate(coordinate, layers) {\n const promises = (layers || this.getQueryableLayers()).map((layer) => {\n return layer\n .getFeatureInfoAtCoordinate(coordinate)\n .then((featureInfo) => {\n return featureInfo;\n });\n });\n return Promise.all(promises);\n }\n\n on(evt, callback) {\n this.un(evt, callback);\n this.callbacks[evt] = this.callbacks[evt] || [];\n this.callbacks[evt].push(callback);\n }\n\n un(evt, callback) {\n for (let i = 0; i < (this.callbacks[evt] || []).length; i += 1) {\n if (callback === this.callbacks[evt][i]) {\n this.callbacks[evt].splice(i, 1);\n break;\n }\n }\n }\n\n listenChangeEvt() {\n if (this.keys) {\n unByKey(this.keys);\n this.keys = [];\n }\n this.getLayersAsFlatArray().forEach((layer) => {\n this.keys.push(\n layer.on('change:copyright', (evt) => {\n (this.callbacks['change:copyright'] || []).forEach((cb) => {\n return cb(evt.target);\n });\n }),\n layer.on('change:visible', (evt) => {\n
|
|
5
|
-
"mappings": "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
|
|
4
|
+
"sourcesContent": ["import { unByKey } from 'ol/Observable';\n\n/**\n * A layer service class to handle layer adding, removing and visiblity.\n */\nexport default class LayerService {\n constructor(layers) {\n this.layers = layers;\n this.callbacks = {};\n this.keys = [];\n this.listenChangeEvt();\n }\n\n addLayer(layer) {\n this.layers.push(layer);\n }\n\n getLayers() {\n return this.layers;\n }\n\n setLayers(layers) {\n this.layers = layers;\n this.listenChangeEvt();\n // When we change the layers we trigger an change:layers event\n (this.callbacks['change:layers'] || []).forEach((cb) => {\n return cb(layers);\n });\n }\n\n getLayersAsFlatArray(optLayers) {\n let layers = [];\n (optLayers || this.getLayers() || []).forEach((l) => {\n layers.push(l);\n const { children } = l;\n layers = layers.concat(this.getLayersAsFlatArray(children || []));\n });\n return layers;\n }\n\n getLayer(name) {\n return this.getLayersAsFlatArray().find((l) => {\n return l.name === name;\n });\n }\n\n getParent(child) {\n return this.getLayersAsFlatArray().find((l) => {\n return !!l.children.includes(child);\n });\n }\n\n getParents(child) {\n let layer = child;\n const parents = [];\n\n let parentLayer;\n do {\n parentLayer = this.getParent(layer);\n if (parentLayer) {\n parents.push(parentLayer);\n layer = parentLayer;\n }\n } while (parentLayer);\n\n return parents;\n }\n\n getRadioGroupLayers(radioGroupName) {\n if (radioGroupName) {\n return this.getLayersAsFlatArray().filter((l) => {\n return l.get('radioGroup') === radioGroupName;\n });\n }\n\n return null;\n }\n\n getBaseLayers() {\n return this.getLayersAsFlatArray().filter((l) => {\n return l.isBaseLayer;\n });\n }\n\n getQueryableLayers() {\n return this.getLayersAsFlatArray().filter((layer) => {\n return layer.visible && layer.isQueryable;\n });\n }\n\n getFeatureInfoAtCoordinate(coordinate, layers) {\n const promises = (layers || this.getQueryableLayers()).map((layer) => {\n return layer\n .getFeatureInfoAtCoordinate(coordinate)\n .then((featureInfo) => {\n return featureInfo;\n });\n });\n return Promise.all(promises);\n }\n\n on(evt, callback) {\n this.un(evt, callback);\n this.callbacks[evt] = this.callbacks[evt] || [];\n this.callbacks[evt].push(callback);\n }\n\n un(evt, callback) {\n for (let i = 0; i < (this.callbacks[evt] || []).length; i += 1) {\n if (callback === this.callbacks[evt][i]) {\n this.callbacks[evt].splice(i, 1);\n break;\n }\n }\n }\n\n listenChangeEvt() {\n if (this.keys) {\n unByKey(this.keys);\n this.keys = [];\n }\n this.getLayersAsFlatArray().forEach((layer) => {\n this.keys.push(\n layer.on('change:copyright', (evt) => {\n (this.callbacks['change:copyright'] || []).forEach((cb) => {\n return cb(evt.target);\n });\n }),\n // layer.on('change:visible', (evt) => {\n // const { visible } = evt.target;\n\n // // Apply to siblings only if it's a radio group.\n // if (\n // !evt.stopPropagationSiblings &&\n // layer.get('radioGroup') &&\n // visible\n // ) {\n // const siblings = this.getRadioGroupLayers(\n // layer.get('radioGroup'),\n // ).filter((l) => {\n // return l !== layer;\n // });\n\n // siblings.forEach((s) => {\n // if (\n // visible &&\n // s.get('radioGroup') &&\n // evt.target.get('radioGroup') === s.get('radioGroup')\n // ) {\n // // eslint-disable-next-line no-param-reassign\n // s.visible = false;\n // }\n // });\n // }\n\n // // Apply to children\n // if (!evt.stopPropagationDown && layer.children) {\n // layer.children.forEach((child) => {\n // // eslint-disable-next-line no-param-reassign\n // child.visible = visible;\n // });\n // }\n\n // // Apply to parent only if:\n // // - a child is visible\n // // - all children are hidden\n // const parentLayer = this.getParent(layer);\n\n // if (\n // !evt.stopPropagationUp &&\n // parentLayer &&\n // (visible ||\n // (!visible &&\n // !parentLayer.children.find((c) => {\n // return c.visible;\n // })))\n // ) {\n // parentLayer.visible = visible;\n // }\n\n // (this.callbacks['change:visible'] || []).forEach((cb) => {\n // return cb(evt.target);\n // });\n // }),\n );\n });\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|