@igo2/integration 1.13.2 → 1.13.3
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/esm2020/lib/draw/draw.state.mjs +17 -10
- package/esm2020/lib/draw/drawing-tool/drawing-tool.component.mjs +34 -7
- package/fesm2015/igo2-integration.mjs +49 -15
- package/fesm2015/igo2-integration.mjs.map +1 -1
- package/fesm2020/igo2-integration.mjs +49 -15
- package/fesm2020/igo2-integration.mjs.map +1 -1
- package/lib/draw/draw.state.d.ts +5 -5
- package/lib/draw/drawing-tool/drawing-tool.component.d.ts +9 -2
- package/package.json +3 -3
|
@@ -8,17 +8,24 @@ import * as i1 from "../map/map.state";
|
|
|
8
8
|
export class DrawState {
|
|
9
9
|
constructor(mapState) {
|
|
10
10
|
this.mapState = mapState;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
this.store = new FeatureStore([], {
|
|
15
|
-
map: this.mapState.map
|
|
16
|
-
});
|
|
11
|
+
this.stores = [];
|
|
12
|
+
this.layersID = [];
|
|
13
|
+
this.drawControls = [];
|
|
17
14
|
this.mapState.map.layers$.subscribe(() => {
|
|
18
|
-
|
|
19
|
-
this.
|
|
20
|
-
|
|
15
|
+
this.layersID.forEach(layerId => {
|
|
16
|
+
if (!this.mapState.map.getLayerById(layerId)) {
|
|
17
|
+
let deletedStore = this.stores.find(store => store.layer.id === layerId);
|
|
18
|
+
deletedStore.deleteMany(deletedStore.all());
|
|
19
|
+
this.stores.splice(this.stores.indexOf(deletedStore, 0), 1);
|
|
20
|
+
this.layersID.splice(this.layersID.indexOf(layerId, 0), 1);
|
|
21
|
+
let drawControlIndex = this.drawControls.findIndex(dc => dc[0] === layerId);
|
|
22
|
+
this.drawControls.splice(drawControlIndex, 1);
|
|
23
|
+
}
|
|
24
|
+
});
|
|
21
25
|
});
|
|
26
|
+
for (let store of this.stores) {
|
|
27
|
+
store = new FeatureStore([], { map: this.mapState.map });
|
|
28
|
+
}
|
|
22
29
|
}
|
|
23
30
|
}
|
|
24
31
|
DrawState.ɵfac = function DrawState_Factory(t) { return new (t || DrawState)(i0.ɵɵinject(i1.MapState)); };
|
|
@@ -29,4 +36,4 @@ DrawState.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: DrawState, fac
|
|
|
29
36
|
providedIn: 'root'
|
|
30
37
|
}]
|
|
31
38
|
}], function () { return [{ type: i1.MapState }]; }, null); })();
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhdy5zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvZHJhdy9kcmF3LnN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFlLFlBQVksRUFBZ0MsTUFBTSxXQUFXLENBQUM7OztBQUdwRjs7R0FFRztBQUlILE1BQU0sT0FBTyxTQUFTO0lBT3BCLFlBQW9CLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFML0IsV0FBTSxHQUFvQyxFQUFFLENBQUM7UUFDN0MsYUFBUSxHQUFhLEVBQUUsQ0FBQztRQUN4QixpQkFBWSxHQUE0QixFQUFFLENBQUM7UUFJaEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDdkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEVBQUM7b0JBQzNDLElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssT0FBTyxDQUFDLENBQUM7b0JBQ3pFLFlBQVksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7b0JBQzVDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztvQkFDM0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO29CQUMxRCxJQUFJLGdCQUFnQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLE9BQU8sQ0FBQyxDQUFDO29CQUM1RSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsQ0FBQztpQkFDL0M7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0gsS0FBSyxJQUFJLEtBQUssSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFDO1lBQzVCLEtBQUssR0FBRyxJQUFJLFlBQVksQ0FBa0IsRUFBRSxFQUFFLEVBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFDLENBQUMsQ0FBQztTQUN6RTtJQUNILENBQUM7O2tFQXZCVSxTQUFTOytEQUFULFNBQVMsV0FBVCxTQUFTLG1CQUZSLE1BQU07dUZBRVAsU0FBUztjQUhyQixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBEcmF3Q29udHJvbCwgRmVhdHVyZVN0b3JlLCBGZWF0dXJlV2l0aERyYXcsIFZlY3RvckxheWVyIH0gZnJvbSAnQGlnbzIvZ2VvJztcclxuaW1wb3J0IHsgTWFwU3RhdGUgfSBmcm9tICcuLi9tYXAvbWFwLnN0YXRlJztcclxuXHJcbi8qKlxyXG4gKiBTZXJ2aWNlIHRoYXQgaG9sZHMgdGhlIHN0YXRlIG9mIHRoZSBtZWFzdXJlIG1vZHVsZVxyXG4gKi9cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRHJhd1N0YXRlIHtcclxuXHJcbiAgcHVibGljIHN0b3JlczogRmVhdHVyZVN0b3JlPEZlYXR1cmVXaXRoRHJhdz5bXSA9IFtdO1xyXG4gIHB1YmxpYyBsYXllcnNJRDogc3RyaW5nW10gPSBbXTtcclxuICBwdWJsaWMgZHJhd0NvbnRyb2xzOiBbc3RyaW5nLCBEcmF3Q29udHJvbF1bXSA9IFtdO1xyXG4gIHB1YmxpYyBhY3RpdmVEcmF3aW5nTGF5ZXI6IFZlY3RvckxheWVyO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG1hcFN0YXRlOiBNYXBTdGF0ZSkge1xyXG4gICAgdGhpcy5tYXBTdGF0ZS5tYXAubGF5ZXJzJC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLmxheWVyc0lELmZvckVhY2gobGF5ZXJJZCA9PiB7XHJcbiAgICAgICAgaWYgKCF0aGlzLm1hcFN0YXRlLm1hcC5nZXRMYXllckJ5SWQobGF5ZXJJZCkpe1xyXG4gICAgICAgICAgbGV0IGRlbGV0ZWRTdG9yZSA9IHRoaXMuc3RvcmVzLmZpbmQoc3RvcmUgPT4gc3RvcmUubGF5ZXIuaWQgPT09IGxheWVySWQpO1xyXG4gICAgICAgICAgZGVsZXRlZFN0b3JlLmRlbGV0ZU1hbnkoZGVsZXRlZFN0b3JlLmFsbCgpKTtcclxuICAgICAgICAgIHRoaXMuc3RvcmVzLnNwbGljZSh0aGlzLnN0b3Jlcy5pbmRleE9mKGRlbGV0ZWRTdG9yZSwwKSwgMSk7XHJcbiAgICAgICAgICB0aGlzLmxheWVyc0lELnNwbGljZSh0aGlzLmxheWVyc0lELmluZGV4T2YobGF5ZXJJZCwwKSwgMSk7XHJcbiAgICAgICAgICBsZXQgZHJhd0NvbnRyb2xJbmRleCA9IHRoaXMuZHJhd0NvbnRyb2xzLmZpbmRJbmRleChkYyA9PiBkY1swXSA9PT0gbGF5ZXJJZCk7XHJcbiAgICAgICAgICB0aGlzLmRyYXdDb250cm9scy5zcGxpY2UoZHJhd0NvbnRyb2xJbmRleCwgMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gICAgZm9yIChsZXQgc3RvcmUgb2YgdGhpcy5zdG9yZXMpe1xyXG4gICAgICBzdG9yZSA9IG5ldyBGZWF0dXJlU3RvcmU8RmVhdHVyZVdpdGhEcmF3PihbXSwge21hcDogdGhpcy5tYXBTdGF0ZS5tYXB9KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
@@ -17,18 +17,45 @@ let DrawingToolComponent = class DrawingToolComponent {
|
|
|
17
17
|
* Map to measure on
|
|
18
18
|
* @internal
|
|
19
19
|
*/
|
|
20
|
-
get
|
|
20
|
+
get stores() {
|
|
21
|
+
return this.drawState.stores;
|
|
22
|
+
}
|
|
21
23
|
/**
|
|
22
24
|
* Map to measure on
|
|
23
25
|
* @internal
|
|
24
26
|
*/
|
|
25
|
-
get map() {
|
|
27
|
+
get map() {
|
|
28
|
+
return this.mapState.map;
|
|
29
|
+
}
|
|
30
|
+
get layersID() {
|
|
31
|
+
return this.drawState.layersID;
|
|
32
|
+
}
|
|
33
|
+
get drawControls() {
|
|
34
|
+
return this.drawState.drawControls;
|
|
35
|
+
}
|
|
36
|
+
set drawControls(dc) {
|
|
37
|
+
this.drawState.drawControls = dc;
|
|
38
|
+
}
|
|
39
|
+
get activeDrawingLayer() {
|
|
40
|
+
return this.drawState.activeDrawingLayer;
|
|
41
|
+
}
|
|
42
|
+
set activeDrawingLayer(value) {
|
|
43
|
+
this.drawState.activeDrawingLayer = value;
|
|
44
|
+
}
|
|
45
|
+
addLayersID(layerID) {
|
|
46
|
+
this.layersID.push(layerID);
|
|
47
|
+
}
|
|
48
|
+
addDrawControls(dc) {
|
|
49
|
+
this.drawControls = dc;
|
|
50
|
+
}
|
|
26
51
|
};
|
|
27
52
|
DrawingToolComponent.ɵfac = function DrawingToolComponent_Factory(t) { return new (t || DrawingToolComponent)(i0.ɵɵdirectiveInject(i1.DrawState), i0.ɵɵdirectiveInject(i2.MapState)); };
|
|
28
|
-
DrawingToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DrawingToolComponent, selectors: [["igo-drawing-tool"]], decls: 1, vars:
|
|
29
|
-
i0.ɵɵ
|
|
53
|
+
DrawingToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DrawingToolComponent, selectors: [["igo-drawing-tool"]], decls: 1, vars: 4, consts: [[3, "stores", "map", "activeDrawingLayer", "drawControls", "layersIDEvent", "drawControlsEvent", "activeLayerChange"]], template: function DrawingToolComponent_Template(rf, ctx) { if (rf & 1) {
|
|
54
|
+
i0.ɵɵelementStart(0, "igo-draw", 0);
|
|
55
|
+
i0.ɵɵlistener("layersIDEvent", function DrawingToolComponent_Template_igo_draw_layersIDEvent_0_listener($event) { return ctx.addLayersID($event); })("drawControlsEvent", function DrawingToolComponent_Template_igo_draw_drawControlsEvent_0_listener($event) { return ctx.addDrawControls($event); })("activeLayerChange", function DrawingToolComponent_Template_igo_draw_activeLayerChange_0_listener($event) { return ctx.activeDrawingLayer = $event; });
|
|
56
|
+
i0.ɵɵelementEnd();
|
|
30
57
|
} if (rf & 2) {
|
|
31
|
-
i0.ɵɵproperty("
|
|
58
|
+
i0.ɵɵproperty("stores", ctx.stores)("map", ctx.map)("activeDrawingLayer", ctx.activeDrawingLayer)("drawControls", ctx.drawControls);
|
|
32
59
|
} }, dependencies: [i3.DrawComponent], encapsulation: 2, changeDetection: 0 });
|
|
33
60
|
DrawingToolComponent = __decorate([
|
|
34
61
|
ToolComponent({
|
|
@@ -40,6 +67,6 @@ DrawingToolComponent = __decorate([
|
|
|
40
67
|
export { DrawingToolComponent };
|
|
41
68
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrawingToolComponent, [{
|
|
42
69
|
type: Component,
|
|
43
|
-
args: [{ selector: 'igo-drawing-tool', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-draw
|
|
70
|
+
args: [{ selector: 'igo-drawing-tool', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-draw\r\n [stores]=\"stores\"\r\n [map]=\"map\"\r\n (layersIDEvent)=\"addLayersID($event)\"\r\n [activeDrawingLayer]=\"activeDrawingLayer\"\r\n [drawControls]=\"drawControls\"\r\n (drawControlsEvent)=\"addDrawControls($event)\"\r\n (activeLayerChange)=\"activeDrawingLayer = $event\">\r\n</igo-draw>\r\n" }]
|
|
44
71
|
}], function () { return [{ type: i1.DrawState }, { type: i2.MapState }]; }, null); })();
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2luZy10b29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvZHJhdy9kcmF3aW5nLXRvb2wvZHJhd2luZy10b29sLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvZHJhdy9kcmF3aW5nLXRvb2wvZHJhd2luZy10b29sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULHVCQUF1QixFQUN4QixNQUFNLGVBQWUsQ0FBQztBQUV6QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7OztBQUs3Qzs7R0FFRztJQVdVLG9CQUFvQixTQUFwQixvQkFBb0I7SUEyQy9CLFlBQW9CLFNBQW9CLEVBQVUsUUFBa0I7UUFBaEQsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUFVLGFBQVEsR0FBUixRQUFRLENBQVU7SUFBRyxDQUFDO0lBMUN4RTs7O09BR0c7SUFDSCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO0lBQy9CLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDO0lBQ3JDLENBQUM7SUFDRCxJQUFJLFlBQVksQ0FBQyxFQUEwQjtRQUN6QyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQUksa0JBQWtCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQztJQUMzQyxDQUFDO0lBQ0QsSUFBSSxrQkFBa0IsQ0FBQyxLQUFrQjtRQUN2QyxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztJQUM1QyxDQUFDO0lBRU0sV0FBVyxDQUFDLE9BQWM7UUFDL0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVNLGVBQWUsQ0FBQyxFQUEwQjtRQUMvQyxJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztJQUN6QixDQUFDO0NBR0YsQ0FBQTt3RkE1Q1ksb0JBQW9CO3VFQUFwQixvQkFBb0I7UUN2QmpDLG1DQU9zRDtRQUpsRCx5SEFBaUIsdUJBQW1CLElBQUMsb0hBR2hCLDJCQUF1QixJQUhQLHVKQUFBO1FBS3pDLGlCQUFXOztRQVBQLG1DQUFpQixnQkFBQSw4Q0FBQSxrQ0FBQTs7QURzQlIsb0JBQW9CO0lBVmhDLGFBQWEsQ0FBQztRQUNiLElBQUksRUFBRSxNQUFNO1FBQ1osS0FBSyxFQUFFLDRCQUE0QjtRQUNuQyxJQUFJLEVBQUUsTUFBTTtLQUNiLENBQUM7R0FNVyxvQkFBb0IsQ0E0Q2hDO1NBNUNZLG9CQUFvQjt1RkFBcEIsb0JBQW9CO2NBTGhDLFNBQVM7MkJBQ0Usa0JBQWtCLG1CQUVYLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3lcclxuICB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgVG9vbENvbXBvbmVudCB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcbmltcG9ydCB7IEZlYXR1cmVTdG9yZSwgSWdvTWFwLCBEcmF3Q29udHJvbCwgRmVhdHVyZVdpdGhEcmF3LCBWZWN0b3JMYXllcn0gZnJvbSAnQGlnbzIvZ2VvJztcclxuaW1wb3J0IHsgTWFwU3RhdGUgfSBmcm9tICcuLi8uLi9tYXAvbWFwLnN0YXRlJztcclxuaW1wb3J0IHsgRHJhd1N0YXRlIH0gZnJvbSAnLi4vZHJhdy5zdGF0ZSc7XHJcblxyXG4vKipcclxuICogVG9vbCB0byBtZWFzdXJlIGxlbmd0aHMgYW5kIGFyZWFzXHJcbiAqL1xyXG5AVG9vbENvbXBvbmVudCh7XHJcbiAgbmFtZTogJ2RyYXcnLFxyXG4gIHRpdGxlOiAnaWdvLmludGVncmF0aW9uLnRvb2xzLmRyYXcnLFxyXG4gIGljb246ICdkcmF3J1xyXG59KVxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby1kcmF3aW5nLXRvb2wnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kcmF3aW5nLXRvb2wuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEcmF3aW5nVG9vbENvbXBvbmVudCB7XHJcbiAgLyoqXHJcbiAgICogTWFwIHRvIG1lYXN1cmUgb25cclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBnZXQgc3RvcmVzKCk6IEZlYXR1cmVTdG9yZTxGZWF0dXJlV2l0aERyYXc+W10ge1xyXG4gICAgcmV0dXJuIHRoaXMuZHJhd1N0YXRlLnN0b3JlcztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1hcCB0byBtZWFzdXJlIG9uXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgZ2V0IG1hcCgpOiBJZ29NYXAge1xyXG4gICAgcmV0dXJuIHRoaXMubWFwU3RhdGUubWFwO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGxheWVyc0lEKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiB0aGlzLmRyYXdTdGF0ZS5sYXllcnNJRDtcclxuICB9XHJcblxyXG4gIGdldCBkcmF3Q29udHJvbHMoKTogW3N0cmluZywgRHJhd0NvbnRyb2xdW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuZHJhd1N0YXRlLmRyYXdDb250cm9scztcclxuICB9XHJcbiAgc2V0IGRyYXdDb250cm9scyhkYzpbc3RyaW5nLCBEcmF3Q29udHJvbF1bXSl7XHJcbiAgICB0aGlzLmRyYXdTdGF0ZS5kcmF3Q29udHJvbHMgPSBkYztcclxuICB9XHJcblxyXG4gIGdldCBhY3RpdmVEcmF3aW5nTGF5ZXIoKTogVmVjdG9yTGF5ZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuZHJhd1N0YXRlLmFjdGl2ZURyYXdpbmdMYXllcjtcclxuICB9XHJcbiAgc2V0IGFjdGl2ZURyYXdpbmdMYXllcih2YWx1ZTogVmVjdG9yTGF5ZXIpIHtcclxuICAgIHRoaXMuZHJhd1N0YXRlLmFjdGl2ZURyYXdpbmdMYXllciA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFkZExheWVyc0lEKGxheWVySUQ6c3RyaW5nKXtcclxuICAgIHRoaXMubGF5ZXJzSUQucHVzaChsYXllcklEKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhZGREcmF3Q29udHJvbHMoZGM6W3N0cmluZywgRHJhd0NvbnRyb2xdW10pe1xyXG4gICAgdGhpcy5kcmF3Q29udHJvbHMgPSBkYztcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZHJhd1N0YXRlOiBEcmF3U3RhdGUsIHByaXZhdGUgbWFwU3RhdGU6IE1hcFN0YXRlKSB7fVxyXG59XHJcbiIsIjxpZ28tZHJhd1xyXG4gICAgW3N0b3Jlc109XCJzdG9yZXNcIlxyXG4gICAgW21hcF09XCJtYXBcIlxyXG4gICAgKGxheWVyc0lERXZlbnQpPVwiYWRkTGF5ZXJzSUQoJGV2ZW50KVwiXHJcbiAgICBbYWN0aXZlRHJhd2luZ0xheWVyXT1cImFjdGl2ZURyYXdpbmdMYXllclwiXHJcbiAgICBbZHJhd0NvbnRyb2xzXT1cImRyYXdDb250cm9sc1wiXHJcbiAgICAoZHJhd0NvbnRyb2xzRXZlbnQpPVwiYWRkRHJhd0NvbnRyb2xzKCRldmVudClcIlxyXG4gICAgKGFjdGl2ZUxheWVyQ2hhbmdlKT1cImFjdGl2ZURyYXdpbmdMYXllciA9ICRldmVudFwiPlxyXG48L2lnby1kcmF3PlxyXG4iXX0=
|
|
@@ -991,17 +991,24 @@ IgoAppDirectionsModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [I
|
|
|
991
991
|
class DrawState {
|
|
992
992
|
constructor(mapState) {
|
|
993
993
|
this.mapState = mapState;
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
this.store = new FeatureStore([], {
|
|
998
|
-
map: this.mapState.map
|
|
999
|
-
});
|
|
994
|
+
this.stores = [];
|
|
995
|
+
this.layersID = [];
|
|
996
|
+
this.drawControls = [];
|
|
1000
997
|
this.mapState.map.layers$.subscribe(() => {
|
|
1001
|
-
|
|
1002
|
-
this.
|
|
1003
|
-
|
|
998
|
+
this.layersID.forEach(layerId => {
|
|
999
|
+
if (!this.mapState.map.getLayerById(layerId)) {
|
|
1000
|
+
let deletedStore = this.stores.find(store => store.layer.id === layerId);
|
|
1001
|
+
deletedStore.deleteMany(deletedStore.all());
|
|
1002
|
+
this.stores.splice(this.stores.indexOf(deletedStore, 0), 1);
|
|
1003
|
+
this.layersID.splice(this.layersID.indexOf(layerId, 0), 1);
|
|
1004
|
+
let drawControlIndex = this.drawControls.findIndex(dc => dc[0] === layerId);
|
|
1005
|
+
this.drawControls.splice(drawControlIndex, 1);
|
|
1006
|
+
}
|
|
1007
|
+
});
|
|
1004
1008
|
});
|
|
1009
|
+
for (let store of this.stores) {
|
|
1010
|
+
store = new FeatureStore([], { map: this.mapState.map });
|
|
1011
|
+
}
|
|
1005
1012
|
}
|
|
1006
1013
|
}
|
|
1007
1014
|
DrawState.ɵfac = function DrawState_Factory(t) { return new (t || DrawState)(i0.ɵɵinject(MapState)); };
|
|
@@ -1027,20 +1034,47 @@ let DrawingToolComponent = class DrawingToolComponent {
|
|
|
1027
1034
|
* Map to measure on
|
|
1028
1035
|
* @internal
|
|
1029
1036
|
*/
|
|
1030
|
-
get
|
|
1037
|
+
get stores() {
|
|
1038
|
+
return this.drawState.stores;
|
|
1039
|
+
}
|
|
1031
1040
|
/**
|
|
1032
1041
|
* Map to measure on
|
|
1033
1042
|
* @internal
|
|
1034
1043
|
*/
|
|
1035
|
-
get map() {
|
|
1044
|
+
get map() {
|
|
1045
|
+
return this.mapState.map;
|
|
1046
|
+
}
|
|
1047
|
+
get layersID() {
|
|
1048
|
+
return this.drawState.layersID;
|
|
1049
|
+
}
|
|
1050
|
+
get drawControls() {
|
|
1051
|
+
return this.drawState.drawControls;
|
|
1052
|
+
}
|
|
1053
|
+
set drawControls(dc) {
|
|
1054
|
+
this.drawState.drawControls = dc;
|
|
1055
|
+
}
|
|
1056
|
+
get activeDrawingLayer() {
|
|
1057
|
+
return this.drawState.activeDrawingLayer;
|
|
1058
|
+
}
|
|
1059
|
+
set activeDrawingLayer(value) {
|
|
1060
|
+
this.drawState.activeDrawingLayer = value;
|
|
1061
|
+
}
|
|
1062
|
+
addLayersID(layerID) {
|
|
1063
|
+
this.layersID.push(layerID);
|
|
1064
|
+
}
|
|
1065
|
+
addDrawControls(dc) {
|
|
1066
|
+
this.drawControls = dc;
|
|
1067
|
+
}
|
|
1036
1068
|
};
|
|
1037
1069
|
DrawingToolComponent.ɵfac = function DrawingToolComponent_Factory(t) { return new (t || DrawingToolComponent)(i0.ɵɵdirectiveInject(DrawState), i0.ɵɵdirectiveInject(MapState)); };
|
|
1038
|
-
DrawingToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DrawingToolComponent, selectors: [["igo-drawing-tool"]], decls: 1, vars:
|
|
1070
|
+
DrawingToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DrawingToolComponent, selectors: [["igo-drawing-tool"]], decls: 1, vars: 4, consts: [[3, "stores", "map", "activeDrawingLayer", "drawControls", "layersIDEvent", "drawControlsEvent", "activeLayerChange"]], template: function DrawingToolComponent_Template(rf, ctx) {
|
|
1039
1071
|
if (rf & 1) {
|
|
1040
|
-
i0.ɵɵ
|
|
1072
|
+
i0.ɵɵelementStart(0, "igo-draw", 0);
|
|
1073
|
+
i0.ɵɵlistener("layersIDEvent", function DrawingToolComponent_Template_igo_draw_layersIDEvent_0_listener($event) { return ctx.addLayersID($event); })("drawControlsEvent", function DrawingToolComponent_Template_igo_draw_drawControlsEvent_0_listener($event) { return ctx.addDrawControls($event); })("activeLayerChange", function DrawingToolComponent_Template_igo_draw_activeLayerChange_0_listener($event) { return ctx.activeDrawingLayer = $event; });
|
|
1074
|
+
i0.ɵɵelementEnd();
|
|
1041
1075
|
}
|
|
1042
1076
|
if (rf & 2) {
|
|
1043
|
-
i0.ɵɵproperty("
|
|
1077
|
+
i0.ɵɵproperty("stores", ctx.stores)("map", ctx.map)("activeDrawingLayer", ctx.activeDrawingLayer)("drawControls", ctx.drawControls);
|
|
1044
1078
|
}
|
|
1045
1079
|
}, dependencies: [i1$1.DrawComponent], encapsulation: 2, changeDetection: 0 });
|
|
1046
1080
|
DrawingToolComponent = __decorate([
|
|
@@ -1053,7 +1087,7 @@ DrawingToolComponent = __decorate([
|
|
|
1053
1087
|
(function () {
|
|
1054
1088
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrawingToolComponent, [{
|
|
1055
1089
|
type: Component,
|
|
1056
|
-
args: [{ selector: 'igo-drawing-tool', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-draw
|
|
1090
|
+
args: [{ selector: 'igo-drawing-tool', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-draw\r\n [stores]=\"stores\"\r\n [map]=\"map\"\r\n (layersIDEvent)=\"addLayersID($event)\"\r\n [activeDrawingLayer]=\"activeDrawingLayer\"\r\n [drawControls]=\"drawControls\"\r\n (drawControlsEvent)=\"addDrawControls($event)\"\r\n (activeLayerChange)=\"activeDrawingLayer = $event\">\r\n</igo-draw>\r\n" }]
|
|
1057
1091
|
}], function () { return [{ type: DrawState }, { type: MapState }]; }, null);
|
|
1058
1092
|
})();
|
|
1059
1093
|
|