@artstesh/maps 4.0.10 → 4.0.11
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/dist/esm2020/map/helpers/polygon-style.helper.mjs +19 -2
- package/dist/esm2020/map/map-plate/map-plate.component.mjs +4 -1
- package/dist/esm2020/map/messages/commands/cancel-feature-modification.command.mjs +8 -0
- package/dist/esm2020/map/messages/commands/modify-feature.command.mjs +15 -0
- package/dist/esm2020/map/messages/executors/filter-features-in-area.executor.mjs +13 -0
- package/dist/esm2020/map/messages/executors/generate-draw.executor.mjs +14 -0
- package/dist/esm2020/map/messages/index.mjs +3 -1
- package/dist/esm2020/map/models/drawing-type.enum.mjs +2 -1
- package/dist/esm2020/map/services/drawing/drawing-generation.service.mjs +16 -21
- package/dist/esm2020/map/services/drawing/drawing.service.mjs +8 -12
- package/dist/esm2020/map/services/drawing/feature-modification.service.mjs +99 -0
- package/dist/esm2020/map/services/feature.service.mjs +4 -17
- package/dist/esm2020/map/services/map-management.service.mjs +5 -13
- package/dist/esm2020/map/services/message-registrator.service.mjs +19 -11
- package/dist/esm2020/src/map/helpers/polygon-style.helper.mjs +19 -2
- package/dist/esm2020/src/map/map-plate/map-plate.component.mjs +4 -1
- package/dist/esm2020/src/map/messages/commands/cancel-feature-modification.command.mjs +8 -0
- package/dist/esm2020/src/map/messages/commands/modify-feature.command.mjs +15 -0
- package/dist/esm2020/src/map/messages/executors/filter-features-in-area.executor.mjs +13 -0
- package/dist/esm2020/src/map/messages/executors/generate-draw.executor.mjs +14 -0
- package/dist/esm2020/src/map/messages/index.mjs +3 -1
- package/dist/esm2020/src/map/models/drawing-type.enum.mjs +2 -1
- package/dist/esm2020/src/map/services/drawing/drawing-generation.service.mjs +16 -21
- package/dist/esm2020/src/map/services/drawing/drawing.service.mjs +8 -12
- package/dist/esm2020/src/map/services/drawing/feature-modification.service.mjs +99 -0
- package/dist/esm2020/src/map/services/feature.service.mjs +4 -17
- package/dist/esm2020/src/map/services/map-management.service.mjs +5 -13
- package/dist/esm2020/src/map/services/message-registrator.service.mjs +19 -11
- package/dist/fesm2015/maps-components-src-map.mjs +197 -81
- package/dist/fesm2015/maps-components-src-map.mjs.map +1 -1
- package/dist/fesm2015/maps-components.mjs +197 -81
- package/dist/fesm2015/maps-components.mjs.map +1 -1
- package/dist/fesm2020/maps-components-src-map.mjs +191 -80
- package/dist/fesm2020/maps-components-src-map.mjs.map +1 -1
- package/dist/fesm2020/maps-components.mjs +191 -80
- package/dist/fesm2020/maps-components.mjs.map +1 -1
- package/dist/map/helpers/polygon-style.helper.d.ts +1 -0
- package/dist/map/messages/commands/cancel-feature-modification.command.d.ts +5 -0
- package/dist/map/messages/commands/modify-feature.command.d.ts +11 -0
- package/dist/map/messages/{queries/filter-features-in-area.query.d.ts → executors/filter-features-in-area.executor.d.ts} +2 -2
- package/dist/map/messages/{queries/generate-draw.query.d.ts → executors/generate-draw.executor.d.ts} +2 -2
- package/dist/map/messages/index.d.ts +2 -0
- package/dist/map/models/drawing-type.enum.d.ts +2 -1
- package/dist/map/services/drawing/drawing-generation.service.d.ts +5 -9
- package/dist/map/services/drawing/feature-modification.service.d.ts +22 -0
- package/dist/map/services/feature.service.d.ts +6 -9
- package/dist/map/services/message-registrator.service.d.ts +3 -3
- package/dist/package.json +1 -1
- package/dist/src/map/helpers/polygon-style.helper.d.ts +1 -0
- package/dist/src/map/messages/commands/cancel-feature-modification.command.d.ts +5 -0
- package/dist/src/map/messages/commands/modify-feature.command.d.ts +11 -0
- package/dist/src/map/messages/{queries/filter-features-in-area.query.d.ts → executors/filter-features-in-area.executor.d.ts} +2 -2
- package/dist/src/map/messages/{queries/generate-draw.query.d.ts → executors/generate-draw.executor.d.ts} +2 -2
- package/dist/src/map/messages/index.d.ts +2 -0
- package/dist/src/map/models/drawing-type.enum.d.ts +2 -1
- package/dist/src/map/services/drawing/drawing-generation.service.d.ts +5 -9
- package/dist/src/map/services/drawing/feature-modification.service.d.ts +22 -0
- package/dist/src/map/services/feature.service.d.ts +6 -9
- package/dist/src/map/services/message-registrator.service.d.ts +3 -3
- package/package.json +2 -2
- package/dist/esm2020/map/messages/queries/filter-features-in-area.query.mjs +0 -13
- package/dist/esm2020/map/messages/queries/generate-draw.query.mjs +0 -14
- package/dist/esm2020/src/map/messages/queries/filter-features-in-area.query.mjs +0 -13
- package/dist/esm2020/src/map/messages/queries/generate-draw.query.mjs +0 -14
|
@@ -8,10 +8,8 @@ import { RemoveTileCommand } from '../messages/commands/remove-tile.command';
|
|
|
8
8
|
import { GetLayerQuery } from '../messages/queries/get-layer.query';
|
|
9
9
|
import { GetFeaturesInAreaQuery } from '../messages/queries/get-features-in-area.query';
|
|
10
10
|
import { Dictionary } from '../models';
|
|
11
|
-
import { forkJoin } from 'rxjs';
|
|
12
|
-
import { FilterFeaturesInAreaQuery } from '../messages/queries/filter-features-in-area.query';
|
|
13
|
-
import { tap } from 'rxjs/operators';
|
|
14
11
|
import { MapConstants } from '../models/map.constants';
|
|
12
|
+
import { FilterFeaturesInAreaExecutor } from '../messages/executors/filter-features-in-area.executor';
|
|
15
13
|
import * as i0 from "@angular/core";
|
|
16
14
|
import * as i1 from "./map-postboy.service";
|
|
17
15
|
export class MapManagementService {
|
|
@@ -81,8 +79,6 @@ export class MapManagementService {
|
|
|
81
79
|
observeFeaturesInArea() {
|
|
82
80
|
this.postboy.subscribe(GetFeaturesInAreaQuery.ID).subscribe((qr) => {
|
|
83
81
|
let result = new Dictionary();
|
|
84
|
-
const queue = [];
|
|
85
|
-
const queries = [];
|
|
86
82
|
this.layers.forEach((l) => {
|
|
87
83
|
let layerName = l.get('name');
|
|
88
84
|
if (qr.ignore.has(layerName) || layerName === MapConstants.DrawingLayerId)
|
|
@@ -90,14 +86,10 @@ export class MapManagementService {
|
|
|
90
86
|
let source = l.getSource();
|
|
91
87
|
if (!!source['getSource'])
|
|
92
88
|
source = source?.getSource();
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
result.put(l.get('name'), r.map((e) => ({ id: e.getId(), ...e.get(MapConstants.FeatureInfo) })));
|
|
96
|
-
})));
|
|
97
|
-
queries.push(query);
|
|
89
|
+
let features = this.postboy.execute(new FilterFeaturesInAreaExecutor(qr.area, source?.getFeatures() ?? []));
|
|
90
|
+
result.put(layerName, features.map((e) => ({ id: e.getId(), ...e.get(MapConstants.FeatureInfo) })));
|
|
98
91
|
});
|
|
99
|
-
|
|
100
|
-
queries.forEach((q) => this.postboy.fire(q));
|
|
92
|
+
qr.finish(result);
|
|
101
93
|
});
|
|
102
94
|
}
|
|
103
95
|
}
|
|
@@ -106,4 +98,4 @@ MapManagementService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0",
|
|
|
106
98
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapManagementService, decorators: [{
|
|
107
99
|
type: Injectable
|
|
108
100
|
}], ctorParameters: function () { return [{ type: i1.MapPostboyService }]; } });
|
|
109
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLW1hbmFnZW1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL3NlcnZpY2VzL21hcC1tYW5hZ2VtZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDekUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFHL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9DLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUc3RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFFeEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN2QyxPQUFPLEVBQWlCLFFBQVEsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUMzRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM5RixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7QUFHdkQsTUFBTSxPQUFPLG9CQUFvQjtJQUkvQixZQUFvQixPQUEwQjtRQUExQixZQUFPLEdBQVAsT0FBTyxDQUFtQjtRQUZ0QyxXQUFNLEdBQUcsSUFBSSxVQUFVLEVBQXNDLENBQUM7SUFF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QixvQkFBb0I7a0JBRGhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXAgfSBmcm9tICdvbCc7XG5pbXBvcnQgeyBNYXBQb3N0Ym95U2VydmljZSB9IGZyb20gJy4vbWFwLXBvc3Rib3kuc2VydmljZSc7XG5pbXBvcnQgeyBBZGRMYXllckNvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9hZGQtbGF5ZXIuY29tbWFuZCc7XG5pbXBvcnQgeyBSZW1vdmVMYXllckNvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9yZW1vdmUtbGF5ZXIuY29tbWFuZCc7XG5pbXBvcnQgeyBWZWN0b3IgYXMgTGF5ZXIgfSBmcm9tICdvbC9sYXllcic7XG5pbXBvcnQgVmVjdG9yU291cmNlIGZyb20gJ29sL3NvdXJjZS9WZWN0b3InO1xuaW1wb3J0IHsgTWFwUmVuZGVyZWRFdmVudCB9IGZyb20gJy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IFBsYWNlTGF5ZXJGZWF0dXJlc0NvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9wbGFjZS1sYXllci1mZWF0dXJlcy5jb21tYW5kJztcbmltcG9ydCB7IEFkZFRpbGVDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvYWRkLXRpbGUuY29tbWFuZCc7XG5pbXBvcnQgeyBSZW1vdmVUaWxlQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL3JlbW92ZS10aWxlLmNvbW1hbmQnO1xuaW1wb3J0IHsgSVBvc3Rib3lEZXBlbmRpbmdTZXJ2aWNlIH0gZnJvbSAnQGFydHN0ZXNoL3Bvc3Rib3knO1xuaW1wb3J0IENsdXN0ZXIgZnJvbSAnb2wvc291cmNlL0NsdXN0ZXInO1xuaW1wb3J0IHsgR2V0TGF5ZXJRdWVyeSB9IGZyb20gJy4uL21lc3NhZ2VzL3F1ZXJpZXMvZ2V0LWxheWVyLnF1ZXJ5JztcbmltcG9ydCB7IEdldEZlYXR1cmVzSW5BcmVhUXVlcnkgfSBmcm9tICcuLi9tZXNzYWdlcy9xdWVyaWVzL2dldC1mZWF0dXJlcy1pbi1hcmVhLnF1ZXJ5JztcbmltcG9ydCB7IElJZGVudGlmaWVkIH0gZnJvbSAnLi4vbW9kZWxzL2ktaWRlbnRpZmllZCc7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIGZvcmtKb2luLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGaWx0ZXJGZWF0dXJlc0luQXJlYVF1ZXJ5IH0gZnJvbSAnLi4vbWVzc2FnZXMvcXVlcmllcy9maWx0ZXItZmVhdHVyZXMtaW4tYXJlYS5xdWVyeSc7XG5pbXBvcnQgeyB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBNYXBDb25zdGFudHMgfSBmcm9tICcuLi9tb2RlbHMvbWFwLmNvbnN0YW50cyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNYXBNYW5hZ2VtZW50U2VydmljZSBpbXBsZW1lbnRzIElQb3N0Ym95RGVwZW5kaW5nU2VydmljZSB7XG4gIHByaXZhdGUgbWFwPzogTWFwO1xuICBwcml2YXRlIGxheWVycyA9IG5ldyBEaWN0aW9uYXJ5PExheWVyPFZlY3RvclNvdXJjZTxhbnk+IHwgQ2x1c3Rlcj4+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwb3N0Ym95OiBNYXBQb3N0Ym95U2VydmljZSkge31cblxuICB1cCgpOiB2b2lkIHtcbiAgICB0aGlzLm9ic2VydmVNYXBSZW5kZXIoKTtcbiAgICB0aGlzLm9ic2VydmVBZGRMYXllcigpO1xuICAgIHRoaXMub2JzZXJ2ZVJlbW92ZUxheWVyKCk7XG4gICAgdGhpcy5vYnNlcnZlUGxhY2VGZWF0dXJlcygpO1xuICAgIHRoaXMub2JzZXJ2ZUFkZFRpbGUoKTtcbiAgICB0aGlzLm9ic2VydmVSZW1vdmVUaWxlKCk7XG4gICAgdGhpcy5vYnNlcnZlTGF5ZXJRdWVyeSgpO1xuICAgIHRoaXMub2JzZXJ2ZUZlYXR1cmVzSW5BcmVhKCk7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVSZW1vdmVUaWxlKCkge1xuICAgIHRoaXMucG9zdGJveS5zdWJzY3JpYmU8UmVtb3ZlVGlsZUNvbW1hbmQ+KFJlbW92ZVRpbGVDb21tYW5kLklEKS5zdWJzY3JpYmUoKGMpID0+IHtcbiAgICAgIGlmICghdGhpcy5tYXApIHJldHVybjtcbiAgICAgIHRoaXMubWFwLnJlbW92ZUxheWVyKGMubGF5ZXIpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlTGF5ZXJRdWVyeSgpIHtcbiAgICB0aGlzLnBvc3Rib3kuc3Vic2NyaWJlPEdldExheWVyUXVlcnk+KEdldExheWVyUXVlcnkuSUQpLnN1YnNjcmliZSgoZXYpID0+IGV2LmZpbmlzaCh0aGlzLmxheWVycy50YWtlKGV2Lm5hbWUpKSk7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVBZGRUaWxlKCkge1xuICAgIHRoaXMucG9zdGJveS5zdWJzY3JpYmU8QWRkVGlsZUNvbW1hbmQ+KEFkZFRpbGVDb21tYW5kLklEKS5zdWJzY3JpYmUoKGMpID0+IHtcbiAgICAgIGlmICghdGhpcy5tYXApIHJldHVybjtcbiAgICAgIHRoaXMubWFwLmFkZExheWVyKGMubGF5ZXIpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlTWFwUmVuZGVyKCkge1xuICAgIHRoaXMucG9zdGJveS5zdWJzY3JpYmU8TWFwUmVuZGVyZWRFdmVudD4oTWFwUmVuZGVyZWRFdmVudC5JRCkuc3Vic2NyaWJlKChtKSA9PiB7XG4gICAgICB0aGlzLm1hcCA9IG0ubWFwO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlQWRkTGF5ZXIoKSB7XG4gICAgdGhpcy5wb3N0Ym95LnN1YnNjcmliZTxBZGRMYXllckNvbW1hbmQ+KEFkZExheWVyQ29tbWFuZC5JRCkuc3Vic2NyaWJlKChjKSA9PiB7XG4gICAgICBpZiAoIXRoaXMubWFwKSByZXR1cm47XG4gICAgICB0aGlzLmxheWVycy5wdXQoYy5sYXllci5nZXQoJ25hbWUnKSwgYy5sYXllcik7XG4gICAgICB0aGlzLm1hcC5hZGRMYXllcihjLmxheWVyKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZVBsYWNlRmVhdHVyZXMoKSB7XG4gICAgdGhpcy5wb3N0Ym95LnN1YnNjcmliZTxQbGFjZUxheWVyRmVhdHVyZXNDb21tYW5kPihQbGFjZUxheWVyRmVhdHVyZXNDb21tYW5kLklEKS5zdWJzY3JpYmUoKGMpID0+IHtcbiAgICAgIGlmICghdGhpcy5sYXllcnMuaGFzKGMubGF5ZXIpKSByZXR1cm47XG4gICAgICBsZXQgc291cmNlID0gdGhpcy5sYXllcnMudGFrZShjLmxheWVyKSEuZ2V0U291cmNlKCk7XG4gICAgICBpZiAoISEoc291cmNlIGFzIGFueSlbJ2dldFNvdXJjZSddKSBzb3VyY2UgPSAoc291cmNlIGFzIGFueSk/LmdldFNvdXJjZSgpO1xuICAgICAgc291cmNlPy5jbGVhcigpO1xuICAgICAgc291cmNlPy5hZGRGZWF0dXJlcyhjLmZlYXR1cmVzKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZVJlbW92ZUxheWVyKCkge1xuICAgIHRoaXMucG9zdGJveS5zdWJzY3JpYmU8UmVtb3ZlTGF5ZXJDb21tYW5kPihSZW1vdmVMYXllckNvbW1hbmQuSUQpLnN1YnNjcmliZSgoYykgPT4ge1xuICAgICAgaWYgKCF0aGlzLm1hcCkgcmV0dXJuO1xuICAgICAgdGhpcy5sYXllcnMucm12KGMubGF5ZXIuZ2V0KCduYW1lJykpO1xuICAgICAgdGhpcy5tYXAucmVtb3ZlTGF5ZXIoYy5sYXllcik7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVGZWF0dXJlc0luQXJlYSgpIHtcbiAgICB0aGlzLnBvc3Rib3kuc3Vic2NyaWJlPEdldEZlYXR1cmVzSW5BcmVhUXVlcnk+KEdldEZlYXR1cmVzSW5BcmVhUXVlcnkuSUQpLnN1YnNjcmliZSgocXIpID0+IHtcbiAgICAgIGxldCByZXN1bHQgPSBuZXcgRGljdGlvbmFyeTxJSWRlbnRpZmllZFtdPigpO1xuICAgICAgY29uc3QgcXVldWU6IE9ic2VydmFibGU8YW55PltdID0gW107XG4gICAgICBjb25zdCBxdWVyaWVzOiBGaWx0ZXJGZWF0dXJlc0luQXJlYVF1ZXJ5W10gPSBbXTtcbiAgICAgIHRoaXMubGF5ZXJzLmZvckVhY2goKGwpID0+IHtcbiAgICAgICAgbGV0IGxheWVyTmFtZSA9IGwuZ2V0KCduYW1lJyk7XG4gICAgICAgIGlmIChxci5pZ25vcmUuaGFzKGxheWVyTmFtZSkgfHwgbGF5ZXJOYW1lID09PSBNYXBDb25zdGFudHMuRHJhd2luZ0xheWVySWQpIHJldHVybjtcbiAgICAgICAgbGV0IHNvdXJjZSA9IGwuZ2V0U291cmNlKCk7XG4gICAgICAgIGlmICghIShzb3VyY2UgYXMgYW55KVsnZ2V0U291cmNlJ10pIHNvdXJjZSA9IChzb3VyY2UgYXMgYW55KT8uZ2V0U291cmNlKCk7XG4gICAgICAgIGNvbnN0IHF1ZXJ5ID0gbmV3IEZpbHRlckZlYXR1cmVzSW5BcmVhUXVlcnkocXIuYXJlYSwgc291cmNlPy5nZXRGZWF0dXJlcygpID8/IFtdKTtcbiAgICAgICAgcXVldWUucHVzaChcbiAgICAgICAgICBxdWVyeS5yZXN1bHQucGlwZShcbiAgICAgICAgICAgIHRhcCgocikgPT4ge1xuICAgICAgICAgICAgICByZXN1bHQucHV0KFxuICAgICAgICAgICAgICAgIGwuZ2V0KCduYW1lJyksXG4gICAgICAgICAgICAgICAgci5tYXAoKGUpID0+ICh7IGlkOiBlLmdldElkKCksIC4uLmUuZ2V0KE1hcENvbnN0YW50cy5GZWF0dXJlSW5mbykgfSkpLFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICAgICAgcXVlcmllcy5wdXNoKHF1ZXJ5KTtcbiAgICAgIH0pO1xuICAgICAgZm9ya0pvaW4ocXVldWUpLnN1YnNjcmliZSgoKSA9PiBxci5maW5pc2gocmVzdWx0KSk7XG4gICAgICBxdWVyaWVzLmZvckVhY2goKHEpID0+IHRoaXMucG9zdGJveS5maXJlKHEpKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLW1hbmFnZW1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL3NlcnZpY2VzL21hcC1tYW5hZ2VtZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDekUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFHL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9DLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUc3RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFFeEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN2QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sd0RBQXdELENBQUM7OztBQUl0RyxNQUFNLE9BQU8sb0JBQW9CO0lBSS9CLFlBQW9CLE9BQTBCO1FBQTFCLFlBQU8sR0FBUCxPQUFPLENBQW1CO1FBRnRDLFdBQU0sR0FBRyxJQUFJLFVBQVUsRUFBc0MsQ0FBQztJQUVyQixDQUFDO0lBRWxELEVBQUU7UUFDQSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFD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LFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FDakMsSUFBSSw0QkFBNEIsQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FDdkUsQ0FBQztnQkFDRixNQUFNLENBQUMsR0FBRyxDQUNSLFNBQVMsRUFDVCxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUM3RSxDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQUM7WUFDSCxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7a0hBckZVLG9CQUFvQjtzSEFBcEIsb0JBQW9COzRGQUFwQixvQkFBb0I7a0JBRGhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGZWF0dXJlLCBNYXAgfSBmcm9tICdvbCc7XG5pbXBvcnQgeyBNYXBQb3N0Ym95U2VydmljZSB9IGZyb20gJy4vbWFwLXBvc3Rib3kuc2VydmljZSc7XG5pbXBvcnQgeyBBZGRMYXllckNvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9hZGQtbGF5ZXIuY29tbWFuZCc7XG5pbXBvcnQgeyBSZW1vdmVMYXllckNvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9yZW1vdmUtbGF5ZXIuY29tbWFuZCc7XG5pbXBvcnQgeyBWZWN0b3IgYXMgTGF5ZXIgfSBmcm9tICdvbC9sYXllcic7XG5pbXBvcnQgVmVjdG9yU291cmNlIGZyb20gJ29sL3NvdXJjZS9WZWN0b3InO1xuaW1wb3J0IHsgTWFwUmVuZGVyZWRFdmVudCB9IGZyb20gJy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IFBsYWNlTGF5ZXJGZWF0dXJlc0NvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9wbGFjZS1sYXllci1mZWF0dXJlcy5jb21tYW5kJztcbmltcG9ydCB7IEFkZFRpbGVDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvYWRkLXRpbGUuY29tbWFuZCc7XG5pbXBvcnQgeyBSZW1vdmVUaWxlQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL3JlbW92ZS10aWxlLmNvbW1hbmQnO1xuaW1wb3J0IHsgSVBvc3Rib3lEZXBlbmRpbmdTZXJ2aWNlIH0gZnJvbSAnQGFydHN0ZXNoL3Bvc3Rib3knO1xuaW1wb3J0IENsdXN0ZXIgZnJvbSAnb2wvc291cmNlL0NsdXN0ZXInO1xuaW1wb3J0IHsgR2V0TGF5ZXJRdWVyeSB9IGZyb20gJy4uL21lc3NhZ2VzL3F1ZXJpZXMvZ2V0LWxheWVyLnF1ZXJ5JztcbmltcG9ydCB7IEdldEZlYXR1cmVzSW5BcmVhUXVlcnkgfSBmcm9tICcuLi9tZXNzYWdlcy9xdWVyaWVzL2dldC1mZWF0dXJlcy1pbi1hcmVhLnF1ZXJ5JztcbmltcG9ydCB7IElJZGVudGlmaWVkIH0gZnJvbSAnLi4vbW9kZWxzL2ktaWRlbnRpZmllZCc7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IE1hcENvbnN0YW50cyB9IGZyb20gJy4uL21vZGVscy9tYXAuY29uc3RhbnRzJztcbmltcG9ydCB7IEZpbHRlckZlYXR1cmVzSW5BcmVhRXhlY3V0b3IgfSBmcm9tICcuLi9tZXNzYWdlcy9leGVjdXRvcnMvZmlsdGVyLWZlYXR1cmVzLWluLWFyZWEuZXhlY3V0b3InO1xuaW1wb3J0IHsgR2VvbWV0cnkgfSBmcm9tICdvbC9nZW9tJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1hcE1hbmFnZW1lbnRTZXJ2aWNlIGltcGxlbWVudHMgSVBvc3Rib3lEZXBlbmRpbmdTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBtYXA/OiBNYXA7XG4gIHByaXZhdGUgbGF5ZXJzID0gbmV3IERpY3Rpb25hcnk8TGF5ZXI8VmVjdG9yU291cmNlPGFueT4gfCBDbHVzdGVyPj4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBvc3Rib3k6IE1hcFBvc3Rib3lTZXJ2aWNlKSB7fVxuXG4gIHVwKCk6IHZvaWQge1xuICAgIHRoaXMub2JzZXJ2ZU1hcFJlbmRlcigpO1xuICAgIHRoaXMub2JzZXJ2ZUFkZExheWVyKCk7XG4gICAgdGhpcy5vYnNlcnZlUmVtb3ZlTGF5ZXIoKTtcbiAgICB0aGlzLm9ic2VydmVQbGFjZUZlYXR1cmVzKCk7XG4gICAgdGhpcy5vYnNlcnZlQWRkVGlsZSgpO1xuICAgIHRoaXMub2JzZXJ2ZVJlbW92ZVRpbGUoKTtcbiAgICB0aGlzLm9ic2VydmVMYXllclF1ZXJ5KCk7XG4gICAgdGhpcy5vYnNlcnZlRmVhdHVyZXNJbkFyZWEoKTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZVJlbW92ZVRpbGUoKSB7XG4gICAgdGhpcy5wb3N0Ym95LnN1YnNjcmliZTxSZW1vdmVUaWxlQ29tbWFuZD4oUmVtb3ZlVGlsZUNvbW1hbmQuSUQpLnN1YnNjcmliZSgoYykgPT4ge1xuICAgICAgaWYgKCF0aGlzLm1hcCkgcmV0dXJuO1xuICAgICAgdGhpcy5tYXAucmVtb3ZlTGF5ZXIoYy5sYXllcik7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVMYXllclF1ZXJ5KCkge1xuICAgIHRoaXMucG9zdGJveS5zdWJzY3JpYmU8R2V0TGF5ZXJRdWVyeT4oR2V0TGF5ZXJRdWVyeS5JRCkuc3Vic2NyaWJlKChldikgPT4gZXYuZmluaXNoKHRoaXMubGF5ZXJzLnRha2UoZXYubmFtZSkpKTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZUFkZFRpbGUoKSB7XG4gICAgdGhpcy5wb3N0Ym95LnN1YnNjcmliZTxBZGRUaWxlQ29tbWFuZD4oQWRkVGlsZUNvbW1hbmQuSUQpLnN1YnNjcmliZSgoYykgPT4ge1xuICAgICAgaWYgKCF0aGlzLm1hcCkgcmV0dXJuO1xuICAgICAgdGhpcy5tYXAuYWRkTGF5ZXIoYy5sYXllcik7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVNYXBSZW5kZXIoKSB7XG4gICAgdGhpcy5wb3N0Ym95LnN1YnNjcmliZTxNYXBSZW5kZXJlZEV2ZW50PihNYXBSZW5kZXJlZEV2ZW50LklEKS5zdWJzY3JpYmUoKG0pID0+IHtcbiAgICAgIHRoaXMubWFwID0gbS5tYXA7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVBZGRMYXllcigpIHtcbiAgICB0aGlzLnBvc3Rib3kuc3Vic2NyaWJlPEFkZExheWVyQ29tbWFuZD4oQWRkTGF5ZXJDb21tYW5kLklEKS5zdWJzY3JpYmUoKGMpID0+IHtcbiAgICAgIGlmICghdGhpcy5tYXApIHJldHVybjtcbiAgICAgIHRoaXMubGF5ZXJzLnB1dChjLmxheWVyLmdldCgnbmFtZScpLCBjLmxheWVyKTtcbiAgICAgIHRoaXMubWFwLmFkZExheWVyKGMubGF5ZXIpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlUGxhY2VGZWF0dXJlcygpIHtcbiAgICB0aGlzLnBvc3Rib3kuc3Vic2NyaWJlPFBsYWNlTGF5ZXJGZWF0dXJlc0NvbW1hbmQ+KFBsYWNlTGF5ZXJGZWF0dXJlc0NvbW1hbmQuSUQpLnN1YnNjcmliZSgoYykgPT4ge1xuICAgICAgaWYgKCF0aGlzLmxheWVycy5oYXMoYy5sYXllcikpIHJldHVybjtcbiAgICAgIGxldCBzb3VyY2UgPSB0aGlzLmxheWVycy50YWtlKGMubGF5ZXIpIS5nZXRTb3VyY2UoKTtcbiAgICAgIGlmICghIShzb3VyY2UgYXMgYW55KVsnZ2V0U291cmNlJ10pIHNvdXJjZSA9IChzb3VyY2UgYXMgYW55KT8uZ2V0U291cmNlKCk7XG4gICAgICBzb3VyY2U/LmNsZWFyKCk7XG4gICAgICBzb3VyY2U/LmFkZEZlYXR1cmVzKGMuZmVhdHVyZXMpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlUmVtb3ZlTGF5ZXIoKSB7XG4gICAgdGhpcy5wb3N0Ym95LnN1YnNjcmliZTxSZW1vdmVMYXllckNvbW1hbmQ+KFJlbW92ZUxheWVyQ29tbWFuZC5JRCkuc3Vic2NyaWJlKChjKSA9PiB7XG4gICAgICBpZiAoIXRoaXMubWFwKSByZXR1cm47XG4gICAgICB0aGlzLmxheWVycy5ybXYoYy5sYXllci5nZXQoJ25hbWUnKSk7XG4gICAgICB0aGlzLm1hcC5yZW1vdmVMYXllcihjLmxheWVyKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZUZlYXR1cmVzSW5BcmVhKCkge1xuICAgIHRoaXMucG9zdGJveS5zdWJzY3JpYmU8R2V0RmVhdHVyZXNJbkFyZWFRdWVyeT4oR2V0RmVhdHVyZXNJbkFyZWFRdWVyeS5JRCkuc3Vic2NyaWJlKChxcikgPT4ge1xuICAgICAgbGV0IHJlc3VsdCA9IG5ldyBEaWN0aW9uYXJ5PElJZGVudGlmaWVkW10+KCk7XG4gICAgICB0aGlzLmxheWVycy5mb3JFYWNoKChsKSA9PiB7XG4gICAgICAgIGxldCBsYXllck5hbWUgPSBsLmdldCgnbmFtZScpO1xuICAgICAgICBpZiAocXIuaWdub3JlLmhhcyhsYXllck5hbWUpIHx8IGxheWVyTmFtZSA9PT0gTWFwQ29uc3RhbnRzLkRyYXdpbmdMYXllcklkKSByZXR1cm47XG4gICAgICAgIGxldCBzb3VyY2UgPSBsLmdldFNvdXJjZSgpO1xuICAgICAgICBpZiAoISEoc291cmNlIGFzIGFueSlbJ2dldFNvdXJjZSddKSBzb3VyY2UgPSAoc291cmNlIGFzIGFueSk/LmdldFNvdXJjZSgpO1xuICAgICAgICBsZXQgZmVhdHVyZXMgPSB0aGlzLnBvc3Rib3kuZXhlY3V0ZTxGaWx0ZXJGZWF0dXJlc0luQXJlYUV4ZWN1dG9yLCBGZWF0dXJlPEdlb21ldHJ5PltdPihcbiAgICAgICAgICBuZXcgRmlsdGVyRmVhdHVyZXNJbkFyZWFFeGVjdXRvcihxci5hcmVhLCBzb3VyY2U/LmdldEZlYXR1cmVzKCkgPz8gW10pLFxuICAgICAgICApO1xuICAgICAgICByZXN1bHQucHV0KFxuICAgICAgICAgIGxheWVyTmFtZSxcbiAgICAgICAgICBmZWF0dXJlcy5tYXAoKGUpID0+ICh7IGlkOiBlLmdldElkKCksIC4uLmUuZ2V0KE1hcENvbnN0YW50cy5GZWF0dXJlSW5mbykgfSkpLFxuICAgICAgICApO1xuICAgICAgfSk7XG4gICAgICBxci5maW5pc2gocmVzdWx0KTtcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -14,10 +14,14 @@ import { CancelDrawingCommand } from '../messages/commands/cancel-drawing.comman
|
|
|
14
14
|
import { StartDrawingCommand } from '../messages/commands/start-drawing.command';
|
|
15
15
|
import { GetLayerQuery } from '../messages/queries/get-layer.query';
|
|
16
16
|
import { DrawingFinishedEvent } from '../messages/events/drawing-finished.event';
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
17
|
+
import { DrawingGenerationService } from './drawing/drawing-generation.service';
|
|
18
|
+
import { FeatureService } from './feature.service';
|
|
19
19
|
import { GetFeaturesInAreaQuery } from '../messages/queries/get-features-in-area.query';
|
|
20
20
|
import { DrawSelectionAreaCommand } from '../messages/commands/draw-selection-area.command';
|
|
21
|
+
import { FilterFeaturesInAreaExecutor } from '../messages/executors/filter-features-in-area.executor';
|
|
22
|
+
import { GenerateDrawExecutor } from '../messages/executors/generate-draw.executor';
|
|
23
|
+
import { CancelFeatureModificationCommand } from '../messages/commands/cancel-feature-modification.command';
|
|
24
|
+
import { ModifyFeatureCommand } from '../messages/commands/modify-feature.command';
|
|
21
25
|
import * as i0 from "@angular/core";
|
|
22
26
|
import * as i1 from "./map-postboy.service";
|
|
23
27
|
import * as i2 from "./map-management.service";
|
|
@@ -25,12 +29,11 @@ import * as i3 from "./map-state.service";
|
|
|
25
29
|
import * as i4 from "./map-feature.service";
|
|
26
30
|
import * as i5 from "./map-click.service";
|
|
27
31
|
import * as i6 from "./drawing/drawing.service";
|
|
28
|
-
import * as i7 from "./drawing/
|
|
29
|
-
import * as i8 from "./feature.service";
|
|
32
|
+
import * as i7 from "./drawing/feature-modification.service";
|
|
30
33
|
export class MessageRegistratorService extends PostboyAbstractRegistrator {
|
|
31
|
-
constructor(service, management, state, mapFeature, interaction, drawing,
|
|
34
|
+
constructor(service, management, state, mapFeature, interaction, drawing, featureModification) {
|
|
32
35
|
super(service);
|
|
33
|
-
this.registerServices([management, state, interaction, mapFeature, drawing,
|
|
36
|
+
this.registerServices([management, state, interaction, mapFeature, drawing, featureModification]);
|
|
34
37
|
}
|
|
35
38
|
_up() {
|
|
36
39
|
this.registerReplay(MapRenderedEvent.ID);
|
|
@@ -47,15 +50,20 @@ export class MessageRegistratorService extends PostboyAbstractRegistrator {
|
|
|
47
50
|
this.registerSubject(StartDrawingCommand.ID);
|
|
48
51
|
this.registerSubject(GetLayerQuery.ID);
|
|
49
52
|
this.registerSubject(DrawingFinishedEvent.ID);
|
|
50
|
-
this.registerSubject(GenerateDrawQuery.ID);
|
|
51
|
-
this.registerSubject(FilterFeaturesInAreaQuery.ID);
|
|
52
53
|
this.registerSubject(GetFeaturesInAreaQuery.ID);
|
|
53
54
|
this.registerSubject(DrawSelectionAreaCommand.ID);
|
|
55
|
+
this.registerSubject(CancelFeatureModificationCommand.ID);
|
|
56
|
+
this.registerSubject(ModifyFeatureCommand.ID);
|
|
57
|
+
this.setExecutors();
|
|
58
|
+
}
|
|
59
|
+
setExecutors() {
|
|
60
|
+
this.registerExecutor(FilterFeaturesInAreaExecutor.ID, (e) => FeatureService.filterFeaturesInArea(e));
|
|
61
|
+
this.registerExecutor(GenerateDrawExecutor.ID, (e) => DrawingGenerationService.getDraw(e));
|
|
54
62
|
}
|
|
55
63
|
}
|
|
56
|
-
MessageRegistratorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MessageRegistratorService, deps: [{ token: i1.MapPostboyService }, { token: i2.MapManagementService }, { token: i3.MapStateService }, { token: i4.MapFeatureService }, { token: i5.MapClickService }, { token: i6.DrawingService }, { token: i7.
|
|
64
|
+
MessageRegistratorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MessageRegistratorService, deps: [{ token: i1.MapPostboyService }, { token: i2.MapManagementService }, { token: i3.MapStateService }, { token: i4.MapFeatureService }, { token: i5.MapClickService }, { token: i6.DrawingService }, { token: i7.FeatureModificationService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
57
65
|
MessageRegistratorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MessageRegistratorService });
|
|
58
66
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MessageRegistratorService, decorators: [{
|
|
59
67
|
type: Injectable
|
|
60
|
-
}], ctorParameters: function () { return [{ type: i1.MapPostboyService }, { type: i2.MapManagementService }, { type: i3.MapStateService }, { type: i4.MapFeatureService }, { type: i5.MapClickService }, { type: i6.DrawingService }, { type: i7.
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
}], ctorParameters: function () { return [{ type: i1.MapPostboyService }, { type: i2.MapManagementService }, { type: i3.MapStateService }, { type: i4.MapFeatureService }, { type: i5.MapClickService }, { type: i6.DrawingService }, { type: i7.FeatureModificationService }]; } });
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1yZWdpc3RyYXRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvc2VydmljZXMvbWVzc2FnZS1yZWdpc3RyYXRvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM5RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDN0UsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFJL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBRWpGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNuRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUVqRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFD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QUFDLG9CQUFvQixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQXVCLEVBQUUsRUFBRSxDQUFDLHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25ILENBQUM7O3VIQXpDVSx5QkFBeUI7MkhBQXpCLHlCQUF5Qjs0RkFBekIseUJBQXlCO2tCQURyQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWFwUG9zdGJveVNlcnZpY2UgfSBmcm9tICcuL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwUmVuZGVyZWRFdmVudCB9IGZyb20gJy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IEFkZExheWVyQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL2FkZC1sYXllci5jb21tYW5kJztcbmltcG9ydCB7IFBsYWNlTGF5ZXJGZWF0dXJlc0NvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9wbGFjZS1sYXllci1mZWF0dXJlcy5jb21tYW5kJztcbmltcG9ydCB7IFJlbW92ZUxheWVyQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL3JlbW92ZS1sYXllci5jb21tYW5kJztcbmltcG9ydCB7IEFkZFRpbGVDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvYWRkLXRpbGUuY29tbWFuZCc7XG5pbXBvcnQgeyBSZW1vdmVUaWxlQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL3JlbW92ZS10aWxlLmNvbW1hbmQnO1xuaW1wb3J0IHsgUG9zdGJveUFic3RyYWN0UmVnaXN0cmF0b3IgfSBmcm9tICdAYXJ0c3Rlc2gvcG9zdGJveSc7XG5pbXBvcnQgeyBNYXBNYW5hZ2VtZW50U2VydmljZSB9IGZyb20gJy4vbWFwLW1hbmFnZW1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBNYXBTdGF0ZVNlcnZpY2UgfSBmcm9tICcuL21hcC1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IE1hcENsaWNrU2VydmljZSB9IGZyb20gJy4vbWFwLWNsaWNrLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwQ2xpY2tFdmVudCB9IGZyb20gJy4uL21lc3NhZ2VzL2V2ZW50cy9tYXAtY2xpY2suZXZlbnQnO1xuaW1wb3J0IHsgQ2xvc2VUb29sdGlwQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL2Nsb3NlLXRvb2x0aXAuY29tbWFuZCc7XG5pbXBvcnQgeyBNYXBGZWF0dXJlU2VydmljZSB9IGZyb20gJy4vbWFwLWZlYXR1cmUuc2VydmljZSc7XG5pbXBvcnQgeyBGaXRUb0ZlYXR1cmVzQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL2ZpdC10by1mZWF0dXJlcy5jb21tYW5kJztcbmltcG9ydCB7IE1hcE1vdmVFbmRFdmVudCB9IGZyb20gJy4uL21lc3NhZ2VzL2V2ZW50cy9tYXAtbW92ZS1lbmQuZXZlbnQnO1xuaW1wb3J0IHsgQ2FuY2VsRHJhd2luZ0NvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9jYW5jZWwtZHJhd2luZy5jb21tYW5kJztcbmltcG9ydCB7IFN0YXJ0RHJhd2luZ0NvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9zdGFydC1kcmF3aW5nLmNvbW1hbmQnO1xuaW1wb3J0IHsgRHJhd2luZ1NlcnZpY2UgfSBmcm9tICcuL2RyYXdpbmcvZHJhd2luZy5zZXJ2aWNlJztcbmltcG9ydCB7IEdldExheWVyUXVlcnkgfSBmcm9tICcuLi9tZXNzYWdlcy9xdWVyaWVzL2dldC1sYXllci5xdWVyeSc7XG5pbXBvcnQgeyBEcmF3aW5nRmluaXNoZWRFdmVudCB9IGZyb20gJy4uL21lc3NhZ2VzL2V2ZW50cy9kcmF3aW5nLWZpbmlzaGVkLmV2ZW50JztcbmltcG9ydCB7IERyYXdpbmdHZW5lcmF0aW9uU2VydmljZSB9IGZyb20gJy4vZHJhd2luZy9kcmF3aW5nLWdlbmVyYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBGZWF0dXJlU2VydmljZSB9IGZyb20gJy4vZmVhdHVyZS5zZXJ2aWNlJztcbmltcG9ydCB7IEdldEZlYXR1cmVzSW5BcmVhUXVlcnkgfSBmcm9tICcuLi9tZXNzYWdlcy9xdWVyaWVzL2dldC1mZWF0dXJlcy1pbi1hcmVhLnF1ZXJ5JztcbmltcG9ydCB7IERyYXdTZWxlY3Rpb25BcmVhQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL2RyYXctc2VsZWN0aW9uLWFyZWEuY29tbWFuZCc7XG5pbXBvcnQgeyBGaWx0ZXJGZWF0dXJlc0luQXJlYUV4ZWN1dG9yIH0gZnJvbSAnLi4vbWVzc2FnZXMvZXhlY3V0b3JzL2ZpbHRlci1mZWF0dXJlcy1pbi1hcmVhLmV4ZWN1dG9yJztcbmltcG9ydCB7IEdlbmVyYXRlRHJhd0V4ZWN1dG9yIH0gZnJvbSAnLi4vbWVzc2FnZXMvZXhlY3V0b3JzL2dlbmVyYXRlLWRyYXcuZXhlY3V0b3InO1xuaW1wb3J0IHsgRmVhdHVyZU1vZGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuL2RyYXdpbmcvZmVhdHVyZS1tb2RpZmljYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBDYW5jZWxGZWF0dXJlTW9kaWZpY2F0aW9uQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL2NhbmNlbC1mZWF0dXJlLW1vZGlmaWNhdGlvbi5jb21tYW5kJztcbmltcG9ydCB7IE1vZGlmeUZlYXR1cmVDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvbW9kaWZ5LWZlYXR1cmUuY29tbWFuZCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNZXNzYWdlUmVnaXN0cmF0b3JTZXJ2aWNlIGV4dGVuZHMgUG9zdGJveUFic3RyYWN0UmVnaXN0cmF0b3Ige1xuICBjb25zdHJ1Y3RvcihcbiAgICBzZXJ2aWNlOiBNYXBQb3N0Ym95U2VydmljZSxcbiAgICBtYW5hZ2VtZW50OiBNYXBNYW5hZ2VtZW50U2VydmljZSxcbiAgICBzdGF0ZTogTWFwU3RhdGVTZXJ2aWNlLFxuICAgIG1hcEZlYXR1cmU6IE1hcEZlYXR1cmVTZXJ2aWNlLFxuICAgIGludGVyYWN0aW9uOiBNYXBDbGlja1NlcnZpY2UsXG4gICAgZHJhd2luZzogRHJhd2luZ1NlcnZpY2UsXG4gICAgZmVhdHVyZU1vZGlmaWNhdGlvbjogRmVhdHVyZU1vZGlmaWNhdGlvblNlcnZpY2UsXG4gICkge1xuICAgIHN1cGVyKHNlcnZpY2UpO1xuICAgIHRoaXMucmVnaXN0ZXJTZXJ2aWNlcyhbbWFuYWdlbWVudCwgc3RhdGUsIGludGVyYWN0aW9uLCBtYXBGZWF0dXJlLCBkcmF3aW5nLCBmZWF0dXJlTW9kaWZpY2F0aW9uXSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX3VwKCk6IHZvaWQge1xuICAgIHRoaXMucmVnaXN0ZXJSZXBsYXk8TWFwUmVuZGVyZWRFdmVudD4oTWFwUmVuZGVyZWRFdmVudC5JRCk7XG4gICAgdGhpcy5yZWdpc3RlclJlcGxheTxQbGFjZUxheWVyRmVhdHVyZXNDb21tYW5kPihQbGFjZUxheWVyRmVhdHVyZXNDb21tYW5kLklEKTtcbiAgICB0aGlzLnJlZ2lzdGVyU3ViamVjdDxBZGRMYXllckNvbW1hbmQ+KEFkZExheWVyQ29tbWFuZC5JRCk7XG4gICAgdGhpcy5yZWdpc3RlclN1YmplY3Q8UmVtb3ZlTGF5ZXJDb21tYW5kPihSZW1vdmVMYXllckNvbW1hbmQuSUQpO1xuICAgIHRoaXMucmVnaXN0ZXJTdWJqZWN0PEFkZFRpbGVDb21tYW5kPihBZGRUaWxlQ29tbWFuZC5JRCk7XG4gICAgdGhpcy5yZWdpc3RlclN1YmplY3Q8UmVtb3ZlVGlsZUNvbW1hbmQ+KFJlbW92ZVRpbGVDb21tYW5kLklEKTtcbiAgICB0aGlzLnJlZ2lzdGVyU3ViamVjdDxNYXBDbGlja0V2ZW50PihNYXBDbGlja0V2ZW50LklEKTtcbiAgICB0aGlzLnJlZ2lzdGVyU3ViamVjdDxDbG9zZVRvb2x0aXBDb21tYW5kPihDbG9zZVRvb2x0aXBDb21tYW5kLklEKTtcbiAgICB0aGlzLnJlZ2lzdGVyU3ViamVjdDxGaXRUb0ZlYXR1cmVzQ29tbWFuZD4oRml0VG9GZWF0dXJlc0NvbW1hbmQuSUQpO1xuICAgIHRoaXMucmVnaXN0ZXJTdWJqZWN0PE1hcE1vdmVFbmRFdmVudD4oTWFwTW92ZUVuZEV2ZW50LklEKTtcbiAgICB0aGlzLnJlZ2lzdGVyU3ViamVjdDxDYW5jZWxEcmF3aW5nQ29tbWFuZD4oQ2FuY2VsRHJhd2luZ0NvbW1hbmQuSUQpO1xuICAgIHRoaXMucmVnaXN0ZXJTdWJqZWN0PFN0YXJ0RHJhd2luZ0NvbW1hbmQ+KFN0YXJ0RHJhd2luZ0NvbW1hbmQuSUQpO1xuICAgIHRoaXMucmVnaXN0ZXJTdWJqZWN0PEdldExheWVyUXVlcnk+KEdldExheWVyUXVlcnkuSUQpO1xuICAgIHRoaXMucmVnaXN0ZXJTdWJqZWN0PERyYXdpbmdGaW5pc2hlZEV2ZW50PihEcmF3aW5nRmluaXNoZWRFdmVudC5JRCk7XG4gICAgdGhpcy5yZWdpc3RlclN1YmplY3Q8R2V0RmVhdHVyZXNJbkFyZWFRdWVyeT4oR2V0RmVhdHVyZXNJbkFyZWFRdWVyeS5JRCk7XG4gICAgdGhpcy5yZWdpc3RlclN1YmplY3Q8RHJhd1NlbGVjdGlvbkFyZWFDb21tYW5kPihEcmF3U2VsZWN0aW9uQXJlYUNvbW1hbmQuSUQpO1xuICAgIHRoaXMucmVnaXN0ZXJTdWJqZWN0PENhbmNlbEZlYXR1cmVNb2RpZmljYXRpb25Db21tYW5kPihDYW5jZWxGZWF0dXJlTW9kaWZpY2F0aW9uQ29tbWFuZC5JRCk7XG4gICAgdGhpcy5yZWdpc3RlclN1YmplY3Q8TW9kaWZ5RmVhdHVyZUNvbW1hbmQ+KE1vZGlmeUZlYXR1cmVDb21tYW5kLklEKTtcbiAgICB0aGlzLnNldEV4ZWN1dG9ycygpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRFeGVjdXRvcnMoKSB7XG4gICAgdGhpcy5yZWdpc3RlckV4ZWN1dG9yKEZpbHRlckZlYXR1cmVzSW5BcmVhRXhlY3V0b3IuSUQsIChlOiBGaWx0ZXJGZWF0dXJlc0luQXJlYUV4ZWN1dG9yKSA9PlxuICAgICAgRmVhdHVyZVNlcnZpY2UuZmlsdGVyRmVhdHVyZXNJbkFyZWEoZSksXG4gICAgKTtcbiAgICB0aGlzLnJlZ2lzdGVyRXhlY3V0b3IoR2VuZXJhdGVEcmF3RXhlY3V0b3IuSUQsIChlOiBHZW5lcmF0ZURyYXdFeGVjdXRvcikgPT4gRHJhd2luZ0dlbmVyYXRpb25TZXJ2aWNlLmdldERyYXcoZSkpO1xuICB9XG59XG4iXX0=
|
|
@@ -2,23 +2,23 @@ import * as i0 from '@angular/core';
|
|
|
2
2
|
import { Component, Injectable, ChangeDetectionStrategy, Input, ViewChild, NgModule } from '@angular/core';
|
|
3
3
|
import * as i4 from '@angular/common';
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
|
-
import { Feature } from 'ol';
|
|
5
|
+
import { Feature, Collection } from 'ol';
|
|
6
6
|
import { Point, LineString } from 'ol/geom';
|
|
7
7
|
import { GeoJSON, WKT } from 'ol/format';
|
|
8
8
|
import { getCenter, createEmpty, extend } from 'ol/extent';
|
|
9
9
|
import { get, useGeographic, transform } from 'ol/proj';
|
|
10
|
-
import { PostboyGenericMessage, PostboyCallbackMessage, PostboyService, PostboyAbstractRegistrator } from '@artstesh/postboy';
|
|
11
|
-
import {
|
|
12
|
-
import { tap, first, filter, auditTime } from 'rxjs/operators';
|
|
13
|
-
import { Vector, XYZ } from 'ol/source';
|
|
14
|
-
import { Draw } from 'ol/interaction';
|
|
10
|
+
import { PostboyGenericMessage, PostboyCallbackMessage, PostboyExecutor, PostboyService, PostboyAbstractRegistrator } from '@artstesh/postboy';
|
|
11
|
+
import { Draw, Modify, Translate } from 'ol/interaction';
|
|
15
12
|
import { createRegularPolygon } from 'ol/interaction/Draw';
|
|
13
|
+
import { first, filter, auditTime } from 'rxjs/operators';
|
|
14
|
+
import { Vector, XYZ } from 'ol/source';
|
|
16
15
|
import TileLayer from 'ol/layer/Tile';
|
|
17
16
|
import OSM from 'ol/source/OSM';
|
|
18
17
|
import { Vector as Vector$1 } from 'ol/layer';
|
|
19
18
|
import { bbox } from 'ol/loadingstrategy';
|
|
20
19
|
import Polygon, { fromExtent } from 'ol/geom/Polygon';
|
|
21
20
|
import Cluster from 'ol/source/Cluster';
|
|
21
|
+
import { combineLatest } from 'rxjs';
|
|
22
22
|
import Map from 'ol/Map';
|
|
23
23
|
import View from 'ol/View';
|
|
24
24
|
import Overlay from 'ol/Overlay';
|
|
@@ -180,6 +180,7 @@ var DrawingType;
|
|
|
180
180
|
(function (DrawingType) {
|
|
181
181
|
DrawingType[DrawingType["Polygon"] = 1] = "Polygon";
|
|
182
182
|
DrawingType[DrawingType["Circle"] = 2] = "Circle";
|
|
183
|
+
DrawingType[DrawingType["Square"] = 3] = "Square";
|
|
183
184
|
})(DrawingType || (DrawingType = {}));
|
|
184
185
|
|
|
185
186
|
var FeatureOutputFormat;
|
|
@@ -324,6 +325,26 @@ class DrawSelectionAreaCommand extends PostboyCallbackMessage {
|
|
|
324
325
|
}
|
|
325
326
|
DrawSelectionAreaCommand.ID = '573d8a0d-f25b-42b7-9ad7-0ac6d86ac362';
|
|
326
327
|
|
|
328
|
+
class ModifyFeatureCommand extends PostboyCallbackMessage {
|
|
329
|
+
constructor(model, style, format = FeatureOutputFormat.GeoJson) {
|
|
330
|
+
super();
|
|
331
|
+
this.model = model;
|
|
332
|
+
this.style = style;
|
|
333
|
+
this.format = format;
|
|
334
|
+
}
|
|
335
|
+
get id() {
|
|
336
|
+
return ModifyFeatureCommand.ID;
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
ModifyFeatureCommand.ID = 'ead85caa-24c6-4844-a68c-2cea91774c8c';
|
|
340
|
+
|
|
341
|
+
class CancelFeatureModificationCommand extends PostboyGenericMessage {
|
|
342
|
+
get id() {
|
|
343
|
+
return CancelFeatureModificationCommand.ID;
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
CancelFeatureModificationCommand.ID = '9c9fb40f-ea95-4704-8177-0e9ecabf36fa';
|
|
347
|
+
|
|
327
348
|
class AddLayerCommand extends PostboyGenericMessage {
|
|
328
349
|
constructor(layer) {
|
|
329
350
|
super();
|
|
@@ -413,42 +434,78 @@ class DrawingFinishedEvent extends PostboyGenericMessage {
|
|
|
413
434
|
}
|
|
414
435
|
DrawingFinishedEvent.ID = 'c724b68e-b4eb-4783-90f1-a8e31973fd36';
|
|
415
436
|
|
|
416
|
-
class
|
|
417
|
-
|
|
437
|
+
class DrawingGenerationService {
|
|
438
|
+
static getDraw(ev) {
|
|
439
|
+
return new Draw({
|
|
440
|
+
source: ev.layer.getSource(),
|
|
441
|
+
type: ev.type === DrawingType.Polygon ? 'Polygon' : 'Circle',
|
|
442
|
+
style: ev.style,
|
|
443
|
+
geometryFunction: DrawingGenerationService.geometryFunc(ev.type),
|
|
444
|
+
});
|
|
445
|
+
}
|
|
446
|
+
static geometryFunc(type) {
|
|
447
|
+
switch (type) {
|
|
448
|
+
case DrawingType.Circle:
|
|
449
|
+
return createRegularPolygon(32);
|
|
450
|
+
case DrawingType.Square:
|
|
451
|
+
return createRegularPolygon(4);
|
|
452
|
+
}
|
|
453
|
+
return undefined;
|
|
454
|
+
}
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
class FeatureService {
|
|
458
|
+
constructor() { }
|
|
459
|
+
static filterFeaturesInArea(query) {
|
|
460
|
+
return query.features.filter((f) => FeatureService.booleanIntersects(query.area, f.getGeometry()));
|
|
461
|
+
}
|
|
462
|
+
static booleanIntersects(g1, g2) {
|
|
463
|
+
if (g2.getType() === 'Point')
|
|
464
|
+
return g1.intersectsCoordinate(g2.getCoordinates());
|
|
465
|
+
if (g2.getType() === 'Circle')
|
|
466
|
+
return g1.intersectsCoordinate(g2.getCenter());
|
|
467
|
+
if (g2.getType() === 'Polygon')
|
|
468
|
+
return g1.intersectsCoordinate(g2.getInteriorPoint().getCoordinates());
|
|
469
|
+
return false;
|
|
470
|
+
}
|
|
471
|
+
}
|
|
472
|
+
|
|
473
|
+
class GetFeaturesInAreaQuery extends PostboyCallbackMessage {
|
|
474
|
+
constructor(area, ignore = new Set()) {
|
|
418
475
|
super();
|
|
419
|
-
this.
|
|
420
|
-
this.
|
|
421
|
-
this.type = type;
|
|
476
|
+
this.area = area;
|
|
477
|
+
this.ignore = ignore;
|
|
422
478
|
}
|
|
423
479
|
get id() {
|
|
424
|
-
return
|
|
480
|
+
return GetFeaturesInAreaQuery.ID;
|
|
425
481
|
}
|
|
426
482
|
}
|
|
427
|
-
|
|
483
|
+
GetFeaturesInAreaQuery.ID = 'efcf4271-a07a-40e0-9f02-d4dade40b8ac';
|
|
428
484
|
|
|
429
|
-
class
|
|
485
|
+
class FilterFeaturesInAreaExecutor extends PostboyExecutor {
|
|
430
486
|
constructor(area, features) {
|
|
431
487
|
super();
|
|
432
488
|
this.area = area;
|
|
433
489
|
this.features = features;
|
|
434
490
|
}
|
|
435
491
|
get id() {
|
|
436
|
-
return
|
|
492
|
+
return FilterFeaturesInAreaExecutor.ID;
|
|
437
493
|
}
|
|
438
494
|
}
|
|
439
|
-
|
|
495
|
+
FilterFeaturesInAreaExecutor.ID = '36bb2d94-8028-4512-90dd-2386af3fc67c';
|
|
440
496
|
|
|
441
|
-
class
|
|
442
|
-
constructor(
|
|
497
|
+
class GenerateDrawExecutor extends PostboyExecutor {
|
|
498
|
+
constructor(layer, style, type) {
|
|
443
499
|
super();
|
|
444
|
-
this.
|
|
445
|
-
this.
|
|
500
|
+
this.layer = layer;
|
|
501
|
+
this.style = style;
|
|
502
|
+
this.type = type;
|
|
446
503
|
}
|
|
447
504
|
get id() {
|
|
448
|
-
return
|
|
505
|
+
return GenerateDrawExecutor.ID;
|
|
449
506
|
}
|
|
450
507
|
}
|
|
451
|
-
|
|
508
|
+
GenerateDrawExecutor.ID = 'f01c99ba-0953-4ab5-82f9-04e6fbb678c1';
|
|
452
509
|
|
|
453
510
|
class MapPostboyService extends PostboyService {
|
|
454
511
|
constructor() {
|
|
@@ -529,8 +586,6 @@ class MapManagementService {
|
|
|
529
586
|
observeFeaturesInArea() {
|
|
530
587
|
this.postboy.subscribe(GetFeaturesInAreaQuery.ID).subscribe((qr) => {
|
|
531
588
|
let result = new Dictionary();
|
|
532
|
-
const queue = [];
|
|
533
|
-
const queries = [];
|
|
534
589
|
this.layers.forEach((l) => {
|
|
535
590
|
var _a;
|
|
536
591
|
let layerName = l.get('name');
|
|
@@ -539,14 +594,10 @@ class MapManagementService {
|
|
|
539
594
|
let source = l.getSource();
|
|
540
595
|
if (!!source['getSource'])
|
|
541
596
|
source = source === null || source === void 0 ? void 0 : source.getSource();
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
result.put(l.get('name'), r.map((e) => (Object.assign({ id: e.getId() }, e.get(MapConstants.FeatureInfo)))));
|
|
545
|
-
})));
|
|
546
|
-
queries.push(query);
|
|
597
|
+
let features = this.postboy.execute(new FilterFeaturesInAreaExecutor(qr.area, (_a = source === null || source === void 0 ? void 0 : source.getFeatures()) !== null && _a !== void 0 ? _a : []));
|
|
598
|
+
result.put(layerName, features.map((e) => (Object.assign({ id: e.getId() }, e.get(MapConstants.FeatureInfo)))));
|
|
547
599
|
});
|
|
548
|
-
|
|
549
|
-
queries.forEach((q) => this.postboy.fire(q));
|
|
600
|
+
qr.finish(result);
|
|
550
601
|
});
|
|
551
602
|
}
|
|
552
603
|
}
|
|
@@ -689,22 +740,18 @@ class DrawingService {
|
|
|
689
740
|
observeDrawing() {
|
|
690
741
|
this.postboy.subscribe(StartDrawingCommand.ID).subscribe((ev) => {
|
|
691
742
|
this.draw((l) => {
|
|
743
|
+
var _a;
|
|
692
744
|
if (!l || !this.map) {
|
|
693
745
|
this.clearInteraction(l);
|
|
694
746
|
return;
|
|
695
747
|
}
|
|
696
|
-
const
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
this.drawInteraction.on('drawend', (evt) => {
|
|
703
|
-
cancelSub.unsubscribe();
|
|
704
|
-
this.onEnd(evt, ev, l);
|
|
705
|
-
});
|
|
748
|
+
const cancelSub = this.observeCancelation(ev, l);
|
|
749
|
+
this.drawInteraction = this.postboy.execute(new GenerateDrawExecutor(l, ev.style, ev.type));
|
|
750
|
+
(_a = this.map) === null || _a === void 0 ? void 0 : _a.addInteraction(this.drawInteraction);
|
|
751
|
+
this.drawInteraction.on('drawend', (evt) => {
|
|
752
|
+
cancelSub.unsubscribe();
|
|
753
|
+
this.onEnd(evt, ev, l);
|
|
706
754
|
});
|
|
707
|
-
this.postboy.fire(drawQuery);
|
|
708
755
|
});
|
|
709
756
|
});
|
|
710
757
|
}
|
|
@@ -748,56 +795,101 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
748
795
|
type: Injectable
|
|
749
796
|
}], ctorParameters: function () { return [{ type: MapPostboyService }]; } });
|
|
750
797
|
|
|
751
|
-
class
|
|
798
|
+
class FeatureModificationService {
|
|
752
799
|
constructor(postboy) {
|
|
753
800
|
this.postboy = postboy;
|
|
754
801
|
}
|
|
755
802
|
up() {
|
|
756
|
-
this.
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
803
|
+
this.observeModification();
|
|
804
|
+
this.observeMapRender();
|
|
805
|
+
}
|
|
806
|
+
observeModification() {
|
|
807
|
+
this.postboy.subscribe(ModifyFeatureCommand.ID).subscribe((ev) => {
|
|
808
|
+
this.defineLayer((l) => {
|
|
809
|
+
if (!l || !this.map) {
|
|
810
|
+
this.clearInteraction(l);
|
|
811
|
+
return;
|
|
812
|
+
}
|
|
813
|
+
this.observeCancelation(ev, l);
|
|
814
|
+
this.initFeature(l, ev.model.feature);
|
|
815
|
+
this.addModify(ev);
|
|
816
|
+
this.addDragging(ev);
|
|
817
|
+
});
|
|
763
818
|
});
|
|
764
819
|
}
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
type: Injectable
|
|
770
|
-
}], ctorParameters: function () { return [{ type: MapPostboyService }]; } });
|
|
771
|
-
|
|
772
|
-
class FeatureService {
|
|
773
|
-
constructor(postboy) {
|
|
774
|
-
this.postboy = postboy;
|
|
820
|
+
initFeature(layer, feature) {
|
|
821
|
+
var _a, _b;
|
|
822
|
+
(_a = layer.getSource()) === null || _a === void 0 ? void 0 : _a.clear();
|
|
823
|
+
(_b = layer.getSource()) === null || _b === void 0 ? void 0 : _b.addFeature(feature);
|
|
775
824
|
}
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
825
|
+
addModify(command) {
|
|
826
|
+
var _a;
|
|
827
|
+
this.modify = new Modify({
|
|
828
|
+
features: new Collection([command.model.feature]),
|
|
829
|
+
style: command.style,
|
|
830
|
+
});
|
|
831
|
+
this.modify.on('modifyend', () => {
|
|
832
|
+
this.onModified(command);
|
|
833
|
+
command.model.feature.changed();
|
|
779
834
|
});
|
|
835
|
+
(_a = this.map) === null || _a === void 0 ? void 0 : _a.addInteraction(this.modify);
|
|
780
836
|
}
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
837
|
+
addDragging(command) {
|
|
838
|
+
var _a;
|
|
839
|
+
this.translate = new Translate({
|
|
840
|
+
features: new Collection([command.model.feature]),
|
|
841
|
+
condition: (ev) => {
|
|
842
|
+
var _a;
|
|
843
|
+
const clone = command.model.feature.clone();
|
|
844
|
+
(_a = clone.getGeometry()) === null || _a === void 0 ? void 0 : _a.scale(0.999);
|
|
845
|
+
return clone.getGeometry().intersectsCoordinate(ev.coordinate);
|
|
846
|
+
},
|
|
847
|
+
});
|
|
848
|
+
this.translate.on('translateend', () => this.onModified(command));
|
|
849
|
+
(_a = this.map) === null || _a === void 0 ? void 0 : _a.addInteraction(this.translate);
|
|
850
|
+
}
|
|
851
|
+
onModified(command) {
|
|
852
|
+
command.next(command.format === FeatureOutputFormat.GeoJson
|
|
853
|
+
? new GeoJSON().writeFeature(command.model.feature)
|
|
854
|
+
: new WKT().writeFeature(command.model.feature));
|
|
855
|
+
}
|
|
856
|
+
observeMapRender() {
|
|
857
|
+
this.postboy.subscribe(MapRenderedEvent.ID).subscribe((m) => {
|
|
858
|
+
this.map = m.map;
|
|
859
|
+
});
|
|
860
|
+
}
|
|
861
|
+
defineLayer(action) {
|
|
862
|
+
const query = new GetLayerQuery(MapConstants.DrawingLayerId);
|
|
863
|
+
query.result.subscribe((l) => action(l));
|
|
864
|
+
this.postboy.fire(query);
|
|
865
|
+
}
|
|
866
|
+
observeCancelation(ev, layer) {
|
|
867
|
+
return this.postboy
|
|
868
|
+
.subscribe(CancelFeatureModificationCommand.ID)
|
|
869
|
+
.pipe(first())
|
|
870
|
+
.subscribe(() => {
|
|
871
|
+
ev.finish(null);
|
|
872
|
+
this.clearInteraction(layer);
|
|
873
|
+
});
|
|
874
|
+
}
|
|
875
|
+
clearInteraction(layer) {
|
|
876
|
+
var _a, _b;
|
|
877
|
+
if (this.modify)
|
|
878
|
+
(_a = this.map) === null || _a === void 0 ? void 0 : _a.removeInteraction(this.modify);
|
|
879
|
+
if (this.translate)
|
|
880
|
+
(_b = this.map) === null || _b === void 0 ? void 0 : _b.removeInteraction(this.translate);
|
|
789
881
|
}
|
|
790
882
|
}
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type:
|
|
883
|
+
FeatureModificationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FeatureModificationService, deps: [{ token: MapPostboyService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
884
|
+
FeatureModificationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FeatureModificationService });
|
|
885
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FeatureModificationService, decorators: [{
|
|
794
886
|
type: Injectable
|
|
795
887
|
}], ctorParameters: function () { return [{ type: MapPostboyService }]; } });
|
|
796
888
|
|
|
797
889
|
class MessageRegistratorService extends PostboyAbstractRegistrator {
|
|
798
|
-
constructor(service, management, state, mapFeature, interaction, drawing,
|
|
890
|
+
constructor(service, management, state, mapFeature, interaction, drawing, featureModification) {
|
|
799
891
|
super(service);
|
|
800
|
-
this.registerServices([management, state, interaction, mapFeature, drawing,
|
|
892
|
+
this.registerServices([management, state, interaction, mapFeature, drawing, featureModification]);
|
|
801
893
|
}
|
|
802
894
|
_up() {
|
|
803
895
|
this.registerReplay(MapRenderedEvent.ID);
|
|
@@ -814,17 +906,22 @@ class MessageRegistratorService extends PostboyAbstractRegistrator {
|
|
|
814
906
|
this.registerSubject(StartDrawingCommand.ID);
|
|
815
907
|
this.registerSubject(GetLayerQuery.ID);
|
|
816
908
|
this.registerSubject(DrawingFinishedEvent.ID);
|
|
817
|
-
this.registerSubject(GenerateDrawQuery.ID);
|
|
818
|
-
this.registerSubject(FilterFeaturesInAreaQuery.ID);
|
|
819
909
|
this.registerSubject(GetFeaturesInAreaQuery.ID);
|
|
820
910
|
this.registerSubject(DrawSelectionAreaCommand.ID);
|
|
911
|
+
this.registerSubject(CancelFeatureModificationCommand.ID);
|
|
912
|
+
this.registerSubject(ModifyFeatureCommand.ID);
|
|
913
|
+
this.setExecutors();
|
|
914
|
+
}
|
|
915
|
+
setExecutors() {
|
|
916
|
+
this.registerExecutor(FilterFeaturesInAreaExecutor.ID, (e) => FeatureService.filterFeaturesInArea(e));
|
|
917
|
+
this.registerExecutor(GenerateDrawExecutor.ID, (e) => DrawingGenerationService.getDraw(e));
|
|
821
918
|
}
|
|
822
919
|
}
|
|
823
|
-
MessageRegistratorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MessageRegistratorService, deps: [{ token: MapPostboyService }, { token: MapManagementService }, { token: MapStateService }, { token: MapFeatureService }, { token: MapClickService }, { token: DrawingService }, { token:
|
|
920
|
+
MessageRegistratorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MessageRegistratorService, deps: [{ token: MapPostboyService }, { token: MapManagementService }, { token: MapStateService }, { token: MapFeatureService }, { token: MapClickService }, { token: DrawingService }, { token: FeatureModificationService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
824
921
|
MessageRegistratorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MessageRegistratorService });
|
|
825
922
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MessageRegistratorService, decorators: [{
|
|
826
923
|
type: Injectable
|
|
827
|
-
}], ctorParameters: function () { return [{ type: MapPostboyService }, { type: MapManagementService }, { type: MapStateService }, { type: MapFeatureService }, { type: MapClickService }, { type: DrawingService }, { type:
|
|
924
|
+
}], ctorParameters: function () { return [{ type: MapPostboyService }, { type: MapManagementService }, { type: MapStateService }, { type: MapFeatureService }, { type: MapClickService }, { type: DrawingService }, { type: FeatureModificationService }]; } });
|
|
828
925
|
|
|
829
926
|
class TileLayerSettings {
|
|
830
927
|
constructor() {
|
|
@@ -1383,6 +1480,7 @@ MapPlateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
|
|
|
1383
1480
|
DrawingService,
|
|
1384
1481
|
DrawingGenerationService,
|
|
1385
1482
|
FeatureService,
|
|
1483
|
+
FeatureModificationService,
|
|
1386
1484
|
], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\r\n<lib-osm-tile-layer *ngIf=\"osmUrl && map\" [map]=\"map\" [url]=\"osmUrl\"></lib-osm-tile-layer>\r\n<lib-feature-layer *ngIf=\"map\" [settings]=\"drawingLayerSettings\"></lib-feature-layer>\r\n", styles: ["lib-map-plate{position:relative;display:flex;flex-direction:column;height:100%}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: OsmTileLayerComponent, selector: "lib-osm-tile-layer", inputs: ["url", "map"] }, { kind: "component", type: FeatureLayerComponent, selector: "lib-feature-layer", inputs: ["settings"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1387
1485
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapPlateComponent, decorators: [{
|
|
1388
1486
|
type: Component,
|
|
@@ -1395,6 +1493,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
1395
1493
|
DrawingService,
|
|
1396
1494
|
DrawingGenerationService,
|
|
1397
1495
|
FeatureService,
|
|
1496
|
+
FeatureModificationService,
|
|
1398
1497
|
], template: "<ng-content></ng-content>\r\n<lib-osm-tile-layer *ngIf=\"osmUrl && map\" [map]=\"map\" [url]=\"osmUrl\"></lib-osm-tile-layer>\r\n<lib-feature-layer *ngIf=\"map\" [settings]=\"drawingLayerSettings\"></lib-feature-layer>\r\n", styles: ["lib-map-plate{position:relative;display:flex;flex-direction:column;height:100%}\n"] }]
|
|
1399
1498
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: MapPostboyService }, { type: MapPlateFactory }, { type: MessageRegistratorService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { settings: [{
|
|
1400
1499
|
type: Input
|
|
@@ -1653,6 +1752,23 @@ class PolygonStyleHelper {
|
|
|
1653
1752
|
}),
|
|
1654
1753
|
});
|
|
1655
1754
|
}
|
|
1755
|
+
static edit(fill, stroke, strokeWidth = 1, pinRadius = 5) {
|
|
1756
|
+
return new Style({
|
|
1757
|
+
image: new Circle({
|
|
1758
|
+
fill: new Fill({
|
|
1759
|
+
color: stroke,
|
|
1760
|
+
}),
|
|
1761
|
+
radius: pinRadius,
|
|
1762
|
+
}),
|
|
1763
|
+
fill: new Fill({
|
|
1764
|
+
color: fill,
|
|
1765
|
+
}),
|
|
1766
|
+
stroke: new Stroke({
|
|
1767
|
+
color: stroke,
|
|
1768
|
+
width: strokeWidth,
|
|
1769
|
+
}),
|
|
1770
|
+
});
|
|
1771
|
+
}
|
|
1656
1772
|
}
|
|
1657
1773
|
|
|
1658
1774
|
class TextStyleHelper {
|
|
@@ -1727,5 +1843,5 @@ class StringifyFeatureHelper {
|
|
|
1727
1843
|
* Generated bundle index. Do not edit.
|
|
1728
1844
|
*/
|
|
1729
1845
|
|
|
1730
|
-
export { CancelDrawingCommand, CloseTooltipCommand, ClusterLayerComponent, ClusterLayerSettings, Dictionary, DrawSelectionAreaCommand, DrawingType, FeatureLayerComponent, FeatureLayerSettings, FeatureOutputFormat, MapClickEvent, MapLyrs, MapLyrsLabel, MapModule, MapMoveEndEvent, MapPlateComponent, MapPostboyService, MapRenderedEvent, MapSettings, MarkerModel, MarkerStyleHelper, MarkersComponent, MessageRegistratorService, OsmTileLayerComponent, PolygonModel, PolygonStyleHelper, PolygonsComponent, StartDrawingCommand, StringifyFeatureHelper, TextStyleHelper, TileLayerComponent, TileLayerSettings, TooltipComponent, TooltipSettings };
|
|
1846
|
+
export { CancelDrawingCommand, CancelFeatureModificationCommand, CloseTooltipCommand, ClusterLayerComponent, ClusterLayerSettings, Dictionary, DrawSelectionAreaCommand, DrawingType, FeatureLayerComponent, FeatureLayerSettings, FeatureOutputFormat, MapClickEvent, MapLyrs, MapLyrsLabel, MapModule, MapMoveEndEvent, MapPlateComponent, MapPostboyService, MapRenderedEvent, MapSettings, MarkerModel, MarkerStyleHelper, MarkersComponent, MessageRegistratorService, ModifyFeatureCommand, OsmTileLayerComponent, PolygonModel, PolygonStyleHelper, PolygonsComponent, StartDrawingCommand, StringifyFeatureHelper, TextStyleHelper, TileLayerComponent, TileLayerSettings, TooltipComponent, TooltipSettings };
|
|
1731
1847
|
//# sourceMappingURL=maps-components-src-map.mjs.map
|