@bluehalo/ngx-leaflet 18.0.2 → 20.0.0

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.
Files changed (33) hide show
  1. package/CHANGES.md +3 -0
  2. package/README.md +128 -189
  3. package/fesm2022/bluehalo-ngx-leaflet.mjs +27 -27
  4. package/fesm2022/bluehalo-ngx-leaflet.mjs.map +1 -1
  5. package/index.d.ts +314 -3
  6. package/package.json +5 -7
  7. package/esm2022/bluehalo-ngx-leaflet.mjs +0 -5
  8. package/esm2022/lib/core/leaflet.directive.mjs +0 -330
  9. package/esm2022/lib/core/leaflet.directive.wrapper.mjs +0 -12
  10. package/esm2022/lib/core/leaflet.util.mjs +0 -20
  11. package/esm2022/lib/layers/base/leaflet-baselayers.directive.mjs +0 -113
  12. package/esm2022/lib/layers/control/leaflet-control-layers-changes.model.mjs +0 -11
  13. package/esm2022/lib/layers/control/leaflet-control-layers-config.model.mjs +0 -7
  14. package/esm2022/lib/layers/control/leaflet-control-layers.directive.mjs +0 -100
  15. package/esm2022/lib/layers/control/leaflet-control-layers.wrapper.mjs +0 -58
  16. package/esm2022/lib/layers/leaflet-layer.directive.mjs +0 -78
  17. package/esm2022/lib/layers/leaflet-layers.directive.mjs +0 -83
  18. package/esm2022/lib/layers/leaflet-tile-layer-definition.model.mjs +0 -53
  19. package/esm2022/lib/leaflet.module.mjs +0 -40
  20. package/esm2022/public-api.mjs +0 -13
  21. package/lib/core/leaflet.directive.d.ts +0 -94
  22. package/lib/core/leaflet.directive.wrapper.d.ts +0 -8
  23. package/lib/core/leaflet.util.d.ts +0 -7
  24. package/lib/layers/base/leaflet-baselayers.directive.d.ts +0 -45
  25. package/lib/layers/control/leaflet-control-layers-changes.model.d.ts +0 -6
  26. package/lib/layers/control/leaflet-control-layers-config.model.d.ts +0 -9
  27. package/lib/layers/control/leaflet-control-layers.directive.d.ts +0 -35
  28. package/lib/layers/control/leaflet-control-layers.wrapper.d.ts +0 -14
  29. package/lib/layers/leaflet-layer.directive.d.ts +0 -30
  30. package/lib/layers/leaflet-layers.directive.d.ts +0 -41
  31. package/lib/layers/leaflet-tile-layer-definition.model.d.ts +0 -33
  32. package/lib/leaflet.module.d.ts +0 -11
  33. package/public-api.d.ts +0 -12
@@ -1,100 +0,0 @@
1
- import { Directive, EventEmitter, Input, Output } from '@angular/core';
2
- import { LeafletDirectiveWrapper } from '../../core/leaflet.directive.wrapper';
3
- import { LeafletControlLayersWrapper } from './leaflet-control-layers.wrapper';
4
- import { LeafletControlLayersConfig } from './leaflet-control-layers-config.model';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "../../core/leaflet.directive";
7
- /**
8
- * Layers Control
9
- *
10
- * This directive is used to configure the layers control. The input accepts an object with two
11
- * key-value maps of layer name -> layer. Mutable changes are detected. On changes, a differ is
12
- * used to determine what changed so that layers are appropriately added or removed.
13
- *
14
- * To specify which layer to show as the 'active' baselayer, you will want to add it to the map
15
- * using the layers directive. Otherwise, the last one it sees will be used.
16
- */
17
- export class LeafletLayersControlDirective {
18
- set layersControlConfig(v) {
19
- // Validation/init stuff
20
- if (null == v) {
21
- v = new LeafletControlLayersConfig();
22
- }
23
- if (null == v.baseLayers) {
24
- v.baseLayers = {};
25
- }
26
- if (null == v.overlays) {
27
- v.overlays = {};
28
- }
29
- // Store the value
30
- this.layersControlConfigValue = v;
31
- // Update the map
32
- this.updateLayers();
33
- }
34
- get layersControlConfig() {
35
- return this.layersControlConfigValue;
36
- }
37
- constructor(leafletDirective, differs, zone) {
38
- this.differs = differs;
39
- this.zone = zone;
40
- this.layersControlReady = new EventEmitter();
41
- this.leafletDirective = new LeafletDirectiveWrapper(leafletDirective);
42
- this.controlLayers = new LeafletControlLayersWrapper(this.zone, this.layersControlReady);
43
- // Generate differs
44
- this.baseLayersDiffer = this.differs.find({}).create();
45
- this.overlaysDiffer = this.differs.find({}).create();
46
- }
47
- ngOnInit() {
48
- // Init the map
49
- this.leafletDirective.init();
50
- // Set up control outside of angular to avoid change detection when using the control
51
- this.zone.runOutsideAngular(() => {
52
- // Set up all the initial settings
53
- this.controlLayers
54
- .init({}, this.layersControlOptions)
55
- .addTo(this.leafletDirective.getMap());
56
- });
57
- this.updateLayers();
58
- }
59
- ngOnDestroy() {
60
- this.layersControlConfig = { baseLayers: {}, overlays: {} };
61
- this.controlLayers.getLayersControl().remove();
62
- }
63
- ngDoCheck() {
64
- this.updateLayers();
65
- }
66
- updateLayers() {
67
- const map = this.leafletDirective.getMap();
68
- const layersControl = this.controlLayers.getLayersControl();
69
- if (null != map && null != layersControl) {
70
- // Run the baselayers differ
71
- if (null != this.baseLayersDiffer && null != this.layersControlConfigValue.baseLayers) {
72
- const changes = this.baseLayersDiffer.diff(this.layersControlConfigValue.baseLayers);
73
- this.controlLayers.applyBaseLayerChanges(changes);
74
- }
75
- // Run the overlays differ
76
- if (null != this.overlaysDiffer && null != this.layersControlConfigValue.overlays) {
77
- const changes = this.overlaysDiffer.diff(this.layersControlConfigValue.overlays);
78
- this.controlLayers.applyOverlayChanges(changes);
79
- }
80
- }
81
- }
82
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LeafletLayersControlDirective, deps: [{ token: i1.LeafletDirective }, { token: i0.KeyValueDiffers }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive }); }
83
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.1", type: LeafletLayersControlDirective, selector: "[leafletLayersControl]", inputs: { layersControlConfig: ["leafletLayersControl", "layersControlConfig"], layersControlOptions: ["leafletLayersControlOptions", "layersControlOptions"] }, outputs: { layersControlReady: "leafletLayersControlReady" }, ngImport: i0 }); }
84
- }
85
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LeafletLayersControlDirective, decorators: [{
86
- type: Directive,
87
- args: [{
88
- selector: '[leafletLayersControl]'
89
- }]
90
- }], ctorParameters: () => [{ type: i1.LeafletDirective }, { type: i0.KeyValueDiffers }, { type: i0.NgZone }], propDecorators: { layersControlConfig: [{
91
- type: Input,
92
- args: ['leafletLayersControl']
93
- }], layersControlOptions: [{
94
- type: Input,
95
- args: ['leafletLayersControlOptions']
96
- }], layersControlReady: [{
97
- type: Output,
98
- args: ['leafletLayersControlReady']
99
- }] } });
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhZmxldC1jb250cm9sLWxheWVycy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGVhZmxldC9zcmMvbGliL2xheWVycy9jb250cm9sL2xlYWZsZXQtY29udHJvbC1sYXllcnMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTixTQUFTLEVBQVcsWUFBWSxFQUFFLEtBQUssRUFDdkMsTUFBTSxFQUNOLE1BQU0sZUFBZSxDQUFDO0FBS3ZCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7QUFHbkY7Ozs7Ozs7OztHQVNHO0FBSUgsTUFBTSxPQUFPLDZCQUE2QjtJQVN6QyxJQUNJLG1CQUFtQixDQUFDLENBQTZCO1FBRXBELHdCQUF3QjtRQUN4QixJQUFJLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUFDLENBQUMsR0FBRyxJQUFJLDBCQUEwQixFQUFFLENBQUM7UUFBQyxDQUFDO1FBQ3hELElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUFDLENBQUMsQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBQUMsQ0FBQztRQUNoRCxJQUFJLElBQUksSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7WUFBQyxDQUFDLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUFDLENBQUM7UUFFNUMsa0JBQWtCO1FBQ2xCLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxDQUFDLENBQUM7UUFFbEMsaUJBQWlCO1FBQ2pCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUVyQixDQUFDO0lBQ0QsSUFBSSxtQkFBbUI7UUFDdEIsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUM7SUFDdEMsQ0FBQztJQVNELFlBQVksZ0JBQWtDLEVBQVUsT0FBd0IsRUFBVSxJQUFZO1FBQTlDLFlBQU8sR0FBUCxPQUFPLENBQWlCO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUxqRSx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBa0IsQ0FBQztRQU01RixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSx1QkFBdUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSwyQkFBMkIsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRXpGLG1CQUFtQjtRQUNuQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFpQixDQUFDO1FBQ3RFLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFpQixDQUFDO0lBRXJFLENBQUM7SUFFRCxRQUFRO1FBRVAsZUFBZTtRQUNmLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUU3QixxRkFBcUY7UUFDckYsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFFaEMsa0NBQWtDO1lBQ2xDLElBQUksQ0FBQyxhQUFhO2lCQUNoQixJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztpQkFDbkMsS0FBSyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBRXpDLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBRXJCLENBQUM7SUFFRCxXQUFXO1FBQ1YsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFDNUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2hELENBQUM7SUFFRCxTQUFTO1FBQ1IsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFUyxZQUFZO1FBRXJCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMzQyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFFNUQsSUFBSSxJQUFJLElBQUksR0FBRyxJQUFJLElBQUksSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUUxQyw0QkFBNEI7WUFDNUIsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsd0JBQXdCLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ3ZGLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUNyRixJQUFJLENBQUMsYUFBYSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ25ELENBQUM7WUFFRCwwQkFBMEI7WUFDMUIsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNuRixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ2pGLElBQUksQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDakQsQ0FBQztRQUVGLENBQUM7SUFFRixDQUFDOzhHQTlGVyw2QkFBNkI7a0dBQTdCLDZCQUE2Qjs7MkZBQTdCLDZCQUE2QjtrQkFIekMsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsd0JBQXdCO2lCQUNsQzt3SUFXSSxtQkFBbUI7c0JBRHRCLEtBQUs7dUJBQUMsc0JBQXNCO2dCQW1CUyxvQkFBb0I7c0JBQXpELEtBQUs7dUJBQUMsNkJBQTZCO2dCQUVDLGtCQUFrQjtzQkFBdEQsTUFBTTt1QkFBQywyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHREaXJlY3RpdmUsIERvQ2hlY2ssIEV2ZW50RW1pdHRlciwgSW5wdXQsIEtleVZhbHVlRGlmZmVyLCBLZXlWYWx1ZURpZmZlcnMsIE5nWm9uZSwgT25EZXN0cm95LCBPbkluaXQsXG5cdE91dHB1dFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ29udHJvbCwgTGF5ZXIgfSBmcm9tICdsZWFmbGV0JztcblxuaW1wb3J0IHsgTGVhZmxldERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2NvcmUvbGVhZmxldC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTGVhZmxldERpcmVjdGl2ZVdyYXBwZXIgfSBmcm9tICcuLi8uLi9jb3JlL2xlYWZsZXQuZGlyZWN0aXZlLndyYXBwZXInO1xuaW1wb3J0IHsgTGVhZmxldENvbnRyb2xMYXllcnNXcmFwcGVyIH0gZnJvbSAnLi9sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLndyYXBwZXInO1xuaW1wb3J0IHsgTGVhZmxldENvbnRyb2xMYXllcnNDb25maWcgfSBmcm9tICcuL2xlYWZsZXQtY29udHJvbC1sYXllcnMtY29uZmlnLm1vZGVsJztcblxuXG4vKipcbiAqIExheWVycyBDb250cm9sXG4gKlxuICogVGhpcyBkaXJlY3RpdmUgaXMgdXNlZCB0byBjb25maWd1cmUgdGhlIGxheWVycyBjb250cm9sLiBUaGUgaW5wdXQgYWNjZXB0cyBhbiBvYmplY3Qgd2l0aCB0d29cbiAqIGtleS12YWx1ZSBtYXBzIG9mIGxheWVyIG5hbWUgLT4gbGF5ZXIuIE11dGFibGUgY2hhbmdlcyBhcmUgZGV0ZWN0ZWQuIE9uIGNoYW5nZXMsIGEgZGlmZmVyIGlzXG4gKiB1c2VkIHRvIGRldGVybWluZSB3aGF0IGNoYW5nZWQgc28gdGhhdCBsYXllcnMgYXJlIGFwcHJvcHJpYXRlbHkgYWRkZWQgb3IgcmVtb3ZlZC5cbiAqXG4gKiBUbyBzcGVjaWZ5IHdoaWNoIGxheWVyIHRvIHNob3cgYXMgdGhlICdhY3RpdmUnIGJhc2VsYXllciwgeW91IHdpbGwgd2FudCB0byBhZGQgaXQgdG8gdGhlIG1hcFxuICogdXNpbmcgdGhlIGxheWVycyBkaXJlY3RpdmUuIE90aGVyd2lzZSwgdGhlIGxhc3Qgb25lIGl0IHNlZXMgd2lsbCBiZSB1c2VkLlxuICovXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6ICdbbGVhZmxldExheWVyc0NvbnRyb2xdJ1xufSlcbmV4cG9ydCBjbGFzcyBMZWFmbGV0TGF5ZXJzQ29udHJvbERpcmVjdGl2ZVxuXHRpbXBsZW1lbnRzIERvQ2hlY2ssIE9uRGVzdHJveSwgT25Jbml0IHtcblxuXHQvLyBDb250cm9sIExheWVycyBDb25maWd1cmF0aW9uXG5cdGxheWVyc0NvbnRyb2xDb25maWdWYWx1ZTogTGVhZmxldENvbnRyb2xMYXllcnNDb25maWc7XG5cblx0YmFzZUxheWVyc0RpZmZlcjogS2V5VmFsdWVEaWZmZXI8c3RyaW5nLCBMYXllcj47XG5cdG92ZXJsYXlzRGlmZmVyOiBLZXlWYWx1ZURpZmZlcjxzdHJpbmcsIExheWVyPjtcblxuXHRASW5wdXQoJ2xlYWZsZXRMYXllcnNDb250cm9sJylcblx0c2V0IGxheWVyc0NvbnRyb2xDb25maWcodjogTGVhZmxldENvbnRyb2xMYXllcnNDb25maWcpIHtcblxuXHRcdC8vIFZhbGlkYXRpb24vaW5pdCBzdHVmZlxuXHRcdGlmIChudWxsID09IHYpIHsgdiA9IG5ldyBMZWFmbGV0Q29udHJvbExheWVyc0NvbmZpZygpOyB9XG5cdFx0aWYgKG51bGwgPT0gdi5iYXNlTGF5ZXJzKSB7IHYuYmFzZUxheWVycyA9IHt9OyB9XG5cdFx0aWYgKG51bGwgPT0gdi5vdmVybGF5cykgeyB2Lm92ZXJsYXlzID0ge307IH1cblxuXHRcdC8vIFN0b3JlIHRoZSB2YWx1ZVxuXHRcdHRoaXMubGF5ZXJzQ29udHJvbENvbmZpZ1ZhbHVlID0gdjtcblxuXHRcdC8vIFVwZGF0ZSB0aGUgbWFwXG5cdFx0dGhpcy51cGRhdGVMYXllcnMoKTtcblxuXHR9XG5cdGdldCBsYXllcnNDb250cm9sQ29uZmlnKCk6IExlYWZsZXRDb250cm9sTGF5ZXJzQ29uZmlnIHtcblx0XHRyZXR1cm4gdGhpcy5sYXllcnNDb250cm9sQ29uZmlnVmFsdWU7XG5cdH1cblxuXHRASW5wdXQoJ2xlYWZsZXRMYXllcnNDb250cm9sT3B0aW9ucycpIGxheWVyc0NvbnRyb2xPcHRpb25zOiBhbnk7XG5cblx0QE91dHB1dCgnbGVhZmxldExheWVyc0NvbnRyb2xSZWFkeScpIGxheWVyc0NvbnRyb2xSZWFkeSA9IG5ldyBFdmVudEVtaXR0ZXI8Q29udHJvbC5MYXllcnM+KCk7XG5cblx0cHJpdmF0ZSBjb250cm9sTGF5ZXJzOiBMZWFmbGV0Q29udHJvbExheWVyc1dyYXBwZXI7XG5cdHByaXZhdGUgbGVhZmxldERpcmVjdGl2ZTogTGVhZmxldERpcmVjdGl2ZVdyYXBwZXI7XG5cblx0Y29uc3RydWN0b3IobGVhZmxldERpcmVjdGl2ZTogTGVhZmxldERpcmVjdGl2ZSwgcHJpdmF0ZSBkaWZmZXJzOiBLZXlWYWx1ZURpZmZlcnMsIHByaXZhdGUgem9uZTogTmdab25lKSB7XG5cdFx0dGhpcy5sZWFmbGV0RGlyZWN0aXZlID0gbmV3IExlYWZsZXREaXJlY3RpdmVXcmFwcGVyKGxlYWZsZXREaXJlY3RpdmUpO1xuXHRcdHRoaXMuY29udHJvbExheWVycyA9IG5ldyBMZWFmbGV0Q29udHJvbExheWVyc1dyYXBwZXIodGhpcy56b25lLCB0aGlzLmxheWVyc0NvbnRyb2xSZWFkeSk7XG5cblx0XHQvLyBHZW5lcmF0ZSBkaWZmZXJzXG5cdFx0dGhpcy5iYXNlTGF5ZXJzRGlmZmVyID0gdGhpcy5kaWZmZXJzLmZpbmQoe30pLmNyZWF0ZTxzdHJpbmcsIExheWVyPigpO1xuXHRcdHRoaXMub3ZlcmxheXNEaWZmZXIgPSB0aGlzLmRpZmZlcnMuZmluZCh7fSkuY3JlYXRlPHN0cmluZywgTGF5ZXI+KCk7XG5cblx0fVxuXG5cdG5nT25Jbml0KCkge1xuXG5cdFx0Ly8gSW5pdCB0aGUgbWFwXG5cdFx0dGhpcy5sZWFmbGV0RGlyZWN0aXZlLmluaXQoKTtcblxuXHRcdC8vIFNldCB1cCBjb250cm9sIG91dHNpZGUgb2YgYW5ndWxhciB0byBhdm9pZCBjaGFuZ2UgZGV0ZWN0aW9uIHdoZW4gdXNpbmcgdGhlIGNvbnRyb2xcblx0XHR0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuXG5cdFx0XHQvLyBTZXQgdXAgYWxsIHRoZSBpbml0aWFsIHNldHRpbmdzXG5cdFx0XHR0aGlzLmNvbnRyb2xMYXllcnNcblx0XHRcdFx0LmluaXQoe30sIHRoaXMubGF5ZXJzQ29udHJvbE9wdGlvbnMpXG5cdFx0XHRcdC5hZGRUbyh0aGlzLmxlYWZsZXREaXJlY3RpdmUuZ2V0TWFwKCkpO1xuXG5cdFx0fSk7XG5cblx0XHR0aGlzLnVwZGF0ZUxheWVycygpO1xuXG5cdH1cblxuXHRuZ09uRGVzdHJveSgpIHtcblx0XHR0aGlzLmxheWVyc0NvbnRyb2xDb25maWcgPSB7IGJhc2VMYXllcnM6IHt9LCBvdmVybGF5czoge30gfTtcblx0XHR0aGlzLmNvbnRyb2xMYXllcnMuZ2V0TGF5ZXJzQ29udHJvbCgpLnJlbW92ZSgpO1xuXHR9XG5cblx0bmdEb0NoZWNrKCkge1xuXHRcdHRoaXMudXBkYXRlTGF5ZXJzKCk7XG5cdH1cblxuXHRwcm90ZWN0ZWQgdXBkYXRlTGF5ZXJzKCkge1xuXG5cdFx0Y29uc3QgbWFwID0gdGhpcy5sZWFmbGV0RGlyZWN0aXZlLmdldE1hcCgpO1xuXHRcdGNvbnN0IGxheWVyc0NvbnRyb2wgPSB0aGlzLmNvbnRyb2xMYXllcnMuZ2V0TGF5ZXJzQ29udHJvbCgpO1xuXG5cdFx0aWYgKG51bGwgIT0gbWFwICYmIG51bGwgIT0gbGF5ZXJzQ29udHJvbCkge1xuXG5cdFx0XHQvLyBSdW4gdGhlIGJhc2VsYXllcnMgZGlmZmVyXG5cdFx0XHRpZiAobnVsbCAhPSB0aGlzLmJhc2VMYXllcnNEaWZmZXIgJiYgbnVsbCAhPSB0aGlzLmxheWVyc0NvbnRyb2xDb25maWdWYWx1ZS5iYXNlTGF5ZXJzKSB7XG5cdFx0XHRcdGNvbnN0IGNoYW5nZXMgPSB0aGlzLmJhc2VMYXllcnNEaWZmZXIuZGlmZih0aGlzLmxheWVyc0NvbnRyb2xDb25maWdWYWx1ZS5iYXNlTGF5ZXJzKTtcblx0XHRcdFx0dGhpcy5jb250cm9sTGF5ZXJzLmFwcGx5QmFzZUxheWVyQ2hhbmdlcyhjaGFuZ2VzKTtcblx0XHRcdH1cblxuXHRcdFx0Ly8gUnVuIHRoZSBvdmVybGF5cyBkaWZmZXJcblx0XHRcdGlmIChudWxsICE9IHRoaXMub3ZlcmxheXNEaWZmZXIgJiYgbnVsbCAhPSB0aGlzLmxheWVyc0NvbnRyb2xDb25maWdWYWx1ZS5vdmVybGF5cykge1xuXHRcdFx0XHRjb25zdCBjaGFuZ2VzID0gdGhpcy5vdmVybGF5c0RpZmZlci5kaWZmKHRoaXMubGF5ZXJzQ29udHJvbENvbmZpZ1ZhbHVlLm92ZXJsYXlzKTtcblx0XHRcdFx0dGhpcy5jb250cm9sTGF5ZXJzLmFwcGx5T3ZlcmxheUNoYW5nZXMoY2hhbmdlcyk7XG5cdFx0XHR9XG5cblx0XHR9XG5cblx0fVxuXG59XG4iXX0=
@@ -1,58 +0,0 @@
1
- import { control } from 'leaflet';
2
- import { LeafletControlLayersChanges } from './leaflet-control-layers-changes.model';
3
- export class LeafletControlLayersWrapper {
4
- constructor(zone, layersControlReady) {
5
- this.zone = zone;
6
- this.layersControlReady = layersControlReady;
7
- }
8
- getLayersControl() {
9
- return this.layersControl;
10
- }
11
- init(controlConfig, controlOptions) {
12
- const baseLayers = controlConfig.baseLayers || {};
13
- const overlays = controlConfig.overlays || {};
14
- // Create the control outside of angular to ensure events don't trigger change detection
15
- this.zone.runOutsideAngular(() => {
16
- this.layersControl = control.layers(baseLayers, overlays, controlOptions);
17
- });
18
- this.layersControlReady.emit(this.layersControl);
19
- return this.layersControl;
20
- }
21
- applyBaseLayerChanges(changes) {
22
- let results = new LeafletControlLayersChanges();
23
- if (null != this.layersControl) {
24
- results = this.applyChanges(changes, this.layersControl.addBaseLayer);
25
- }
26
- return results;
27
- }
28
- applyOverlayChanges(changes) {
29
- let results = new LeafletControlLayersChanges();
30
- if (null != this.layersControl) {
31
- results = this.applyChanges(changes, this.layersControl.addOverlay);
32
- }
33
- return results;
34
- }
35
- applyChanges(changes, addFn) {
36
- const results = new LeafletControlLayersChanges();
37
- if (null != changes) {
38
- // All layer management is outside angular to avoid layer events from triggering change detection
39
- this.zone.runOutsideAngular(() => {
40
- changes.forEachChangedItem((c) => {
41
- this.layersControl.removeLayer(c.previousValue);
42
- addFn.call(this.layersControl, c.currentValue, c.key);
43
- results.layersChanged++;
44
- });
45
- changes.forEachRemovedItem((c) => {
46
- this.layersControl.removeLayer(c.previousValue);
47
- results.layersRemoved++;
48
- });
49
- changes.forEachAddedItem((c) => {
50
- addFn.call(this.layersControl, c.currentValue, c.key);
51
- results.layersAdded++;
52
- });
53
- });
54
- }
55
- return results;
56
- }
57
- }
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhZmxldC1jb250cm9sLWxheWVycy53cmFwcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWxlYWZsZXQvc3JjL2xpYi9sYXllcnMvY29udHJvbC9sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLndyYXBwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLE9BQU8sRUFBa0IsTUFBTSxTQUFTLENBQUM7QUFFbEQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFckYsTUFBTSxPQUFPLDJCQUEyQjtJQVF2QyxZQUFvQixJQUFZLEVBQUUsa0JBQWdEO1FBQTlELFNBQUksR0FBSixJQUFJLENBQVE7UUFDL0IsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGtCQUFrQixDQUFDO0lBQzlDLENBQUM7SUFFRCxnQkFBZ0I7UUFDZixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQUksQ0FBQyxhQUFrQixFQUFFLGNBQW1CO1FBRTNDLE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDO1FBQ2xELE1BQU0sUUFBUSxHQUFHLGFBQWEsQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDO1FBRTlDLHdGQUF3RjtRQUN4RixJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtZQUNoQyxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUMzRSxDQUFDLENBQUMsQ0FBQztRQUdILElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRWpELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUMzQixDQUFDO0lBRUQscUJBQXFCLENBQUMsT0FBdUM7UUFDNUQsSUFBSSxPQUFPLEdBQWdDLElBQUksMkJBQTJCLEVBQUUsQ0FBQztRQUU3RSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDaEMsT0FBTyxHQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDeEUsQ0FBQztRQUVELE9BQU8sT0FBTyxDQUFDO0lBQ2hCLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxPQUF1QztRQUMxRCxJQUFJLE9BQU8sR0FBZ0MsSUFBSSwyQkFBMkIsRUFBRSxDQUFDO1FBRTdFLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNoQyxPQUFPLEdBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0RSxDQUFDO1FBRUQsT0FBTyxPQUFPLENBQUM7SUFDaEIsQ0FBQztJQUVPLFlBQVksQ0FBQyxPQUF1QyxFQUFFLEtBQTJDO1FBQ3hHLE1BQU0sT0FBTyxHQUFnQyxJQUFJLDJCQUEyQixFQUFFLENBQUM7UUFFL0UsSUFBSSxJQUFJLElBQUksT0FBTyxFQUFFLENBQUM7WUFFckIsaUdBQWlHO1lBQ2pHLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFO2dCQUVoQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtvQkFDaEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDO29CQUNoRCxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ3RELE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDekIsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7b0JBQ2hDLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQztvQkFDaEQsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUN6QixDQUFDLENBQUMsQ0FBQztnQkFDSCxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtvQkFDOUIsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUN0RCxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ3ZCLENBQUMsQ0FBQyxDQUFDO1lBRUosQ0FBQyxDQUFDLENBQUM7UUFFSixDQUFDO1FBRUQsT0FBTyxPQUFPLENBQUM7SUFDaEIsQ0FBQztDQUVEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBLZXlWYWx1ZUNoYW5nZXMsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBjb250cm9sLCBDb250cm9sLCBMYXllciB9IGZyb20gJ2xlYWZsZXQnO1xuXG5pbXBvcnQgeyBMZWFmbGV0Q29udHJvbExheWVyc0NoYW5nZXMgfSBmcm9tICcuL2xlYWZsZXQtY29udHJvbC1sYXllcnMtY2hhbmdlcy5tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBMZWFmbGV0Q29udHJvbExheWVyc1dyYXBwZXIge1xuXG5cdC8vIFRoZSBsYXllcnMgY29udHJvbCBvYmplY3Rcblx0cHJvdGVjdGVkIGxheWVyc0NvbnRyb2w6IENvbnRyb2wuTGF5ZXJzO1xuXG5cdC8vIEV2ZW50IEVtaXR0ZXIgZm9yIHdoZW4gdGhlIGNvbnRyb2wgaXMgcmVhZHlcblx0cHJvdGVjdGVkIGxheWVyc0NvbnRyb2xSZWFkeTogRXZlbnRFbWl0dGVyPENvbnRyb2wuTGF5ZXJzPjtcblxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIHpvbmU6IE5nWm9uZSwgbGF5ZXJzQ29udHJvbFJlYWR5OiBFdmVudEVtaXR0ZXI8Q29udHJvbC5MYXllcnM+KSB7XG5cdFx0dGhpcy5sYXllcnNDb250cm9sUmVhZHkgPSBsYXllcnNDb250cm9sUmVhZHk7XG5cdH1cblxuXHRnZXRMYXllcnNDb250cm9sKCkge1xuXHRcdHJldHVybiB0aGlzLmxheWVyc0NvbnRyb2w7XG5cdH1cblxuXHRpbml0KGNvbnRyb2xDb25maWc6IGFueSwgY29udHJvbE9wdGlvbnM6IGFueSk6IENvbnRyb2wuTGF5ZXJzIHtcblxuXHRcdGNvbnN0IGJhc2VMYXllcnMgPSBjb250cm9sQ29uZmlnLmJhc2VMYXllcnMgfHwge307XG5cdFx0Y29uc3Qgb3ZlcmxheXMgPSBjb250cm9sQ29uZmlnLm92ZXJsYXlzIHx8IHt9O1xuXG5cdFx0Ly8gQ3JlYXRlIHRoZSBjb250cm9sIG91dHNpZGUgb2YgYW5ndWxhciB0byBlbnN1cmUgZXZlbnRzIGRvbid0IHRyaWdnZXIgY2hhbmdlIGRldGVjdGlvblxuXHRcdHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG5cdFx0XHR0aGlzLmxheWVyc0NvbnRyb2wgPSBjb250cm9sLmxheWVycyhiYXNlTGF5ZXJzLCBvdmVybGF5cywgY29udHJvbE9wdGlvbnMpO1xuXHRcdH0pO1xuXG5cblx0XHR0aGlzLmxheWVyc0NvbnRyb2xSZWFkeS5lbWl0KHRoaXMubGF5ZXJzQ29udHJvbCk7XG5cblx0XHRyZXR1cm4gdGhpcy5sYXllcnNDb250cm9sO1xuXHR9XG5cblx0YXBwbHlCYXNlTGF5ZXJDaGFuZ2VzKGNoYW5nZXM6IEtleVZhbHVlQ2hhbmdlczxzdHJpbmcsIExheWVyPik6IExlYWZsZXRDb250cm9sTGF5ZXJzQ2hhbmdlcyB7XG5cdFx0bGV0IHJlc3VsdHM6IExlYWZsZXRDb250cm9sTGF5ZXJzQ2hhbmdlcyA9IG5ldyBMZWFmbGV0Q29udHJvbExheWVyc0NoYW5nZXMoKTtcblxuXHRcdGlmIChudWxsICE9IHRoaXMubGF5ZXJzQ29udHJvbCkge1xuXHRcdFx0cmVzdWx0cyA9ICB0aGlzLmFwcGx5Q2hhbmdlcyhjaGFuZ2VzLCB0aGlzLmxheWVyc0NvbnRyb2wuYWRkQmFzZUxheWVyKTtcblx0XHR9XG5cblx0XHRyZXR1cm4gcmVzdWx0cztcblx0fVxuXG5cdGFwcGx5T3ZlcmxheUNoYW5nZXMoY2hhbmdlczogS2V5VmFsdWVDaGFuZ2VzPHN0cmluZywgTGF5ZXI+KTogTGVhZmxldENvbnRyb2xMYXllcnNDaGFuZ2VzIHtcblx0XHRsZXQgcmVzdWx0czogTGVhZmxldENvbnRyb2xMYXllcnNDaGFuZ2VzID0gbmV3IExlYWZsZXRDb250cm9sTGF5ZXJzQ2hhbmdlcygpO1xuXG5cdFx0aWYgKG51bGwgIT0gdGhpcy5sYXllcnNDb250cm9sKSB7XG5cdFx0XHRyZXN1bHRzID0gIHRoaXMuYXBwbHlDaGFuZ2VzKGNoYW5nZXMsIHRoaXMubGF5ZXJzQ29udHJvbC5hZGRPdmVybGF5KTtcblx0XHR9XG5cblx0XHRyZXR1cm4gcmVzdWx0cztcblx0fVxuXG5cdHByaXZhdGUgYXBwbHlDaGFuZ2VzKGNoYW5nZXM6IEtleVZhbHVlQ2hhbmdlczxzdHJpbmcsIExheWVyPiwgYWRkRm46IChsYXllcjogTGF5ZXIsIG5hbWU6IHN0cmluZykgPT4gdm9pZCk6IExlYWZsZXRDb250cm9sTGF5ZXJzQ2hhbmdlcyB7XG5cdFx0Y29uc3QgcmVzdWx0czogTGVhZmxldENvbnRyb2xMYXllcnNDaGFuZ2VzID0gbmV3IExlYWZsZXRDb250cm9sTGF5ZXJzQ2hhbmdlcygpO1xuXG5cdFx0aWYgKG51bGwgIT0gY2hhbmdlcykge1xuXG5cdFx0XHQvLyBBbGwgbGF5ZXIgbWFuYWdlbWVudCBpcyBvdXRzaWRlIGFuZ3VsYXIgdG8gYXZvaWQgbGF5ZXIgZXZlbnRzIGZyb20gdHJpZ2dlcmluZyBjaGFuZ2UgZGV0ZWN0aW9uXG5cdFx0XHR0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuXG5cdFx0XHRcdGNoYW5nZXMuZm9yRWFjaENoYW5nZWRJdGVtKChjKSA9PiB7XG5cdFx0XHRcdFx0dGhpcy5sYXllcnNDb250cm9sLnJlbW92ZUxheWVyKGMucHJldmlvdXNWYWx1ZSk7XG5cdFx0XHRcdFx0YWRkRm4uY2FsbCh0aGlzLmxheWVyc0NvbnRyb2wsIGMuY3VycmVudFZhbHVlLCBjLmtleSk7XG5cdFx0XHRcdFx0cmVzdWx0cy5sYXllcnNDaGFuZ2VkKys7XG5cdFx0XHRcdH0pO1xuXHRcdFx0XHRjaGFuZ2VzLmZvckVhY2hSZW1vdmVkSXRlbSgoYykgPT4ge1xuXHRcdFx0XHRcdHRoaXMubGF5ZXJzQ29udHJvbC5yZW1vdmVMYXllcihjLnByZXZpb3VzVmFsdWUpO1xuXHRcdFx0XHRcdHJlc3VsdHMubGF5ZXJzUmVtb3ZlZCsrO1xuXHRcdFx0XHR9KTtcblx0XHRcdFx0Y2hhbmdlcy5mb3JFYWNoQWRkZWRJdGVtKChjKSA9PiB7XG5cdFx0XHRcdFx0YWRkRm4uY2FsbCh0aGlzLmxheWVyc0NvbnRyb2wsIGMuY3VycmVudFZhbHVlLCBjLmtleSk7XG5cdFx0XHRcdFx0cmVzdWx0cy5sYXllcnNBZGRlZCsrO1xuXHRcdFx0XHR9KTtcblxuXHRcdFx0fSk7XG5cblx0XHR9XG5cblx0XHRyZXR1cm4gcmVzdWx0cztcblx0fVxuXG59XG4iXX0=
@@ -1,78 +0,0 @@
1
- import { Directive, EventEmitter, Input, Output } from '@angular/core';
2
- import { LeafletDirectiveWrapper } from '../core/leaflet.directive.wrapper';
3
- import { LeafletUtil } from '../core/leaflet.util';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../core/leaflet.directive";
6
- /**
7
- * Layer directive
8
- *
9
- * This directive is used to directly control a single map layer. The purpose of this directive is to
10
- * be used as part of a child structural directive of the map element.
11
- *
12
- */
13
- export class LeafletLayerDirective {
14
- constructor(leafletDirective, zone) {
15
- this.zone = zone;
16
- // Layer Events
17
- this.onAdd = new EventEmitter();
18
- this.onRemove = new EventEmitter();
19
- this.leafletDirective = new LeafletDirectiveWrapper(leafletDirective);
20
- }
21
- ngOnInit() {
22
- // Init the map
23
- this.leafletDirective.init();
24
- }
25
- ngOnDestroy() {
26
- if (null != this.layer) {
27
- // Unregister the event handlers
28
- this.removeLayerEventListeners(this.layer);
29
- // Remove the layer from the map
30
- this.layer.remove();
31
- }
32
- }
33
- ngOnChanges(changes) {
34
- if (changes['layer']) {
35
- // Update the layer
36
- const p = changes['layer'].previousValue;
37
- const n = changes['layer'].currentValue;
38
- this.zone.runOutsideAngular(() => {
39
- if (null != p) {
40
- this.removeLayerEventListeners(p);
41
- p.remove();
42
- }
43
- if (null != n) {
44
- this.addLayerEventListeners(n);
45
- this.leafletDirective.getMap().addLayer(n);
46
- }
47
- });
48
- }
49
- }
50
- addLayerEventListeners(l) {
51
- this.onAddLayerHandler = (e) => LeafletUtil.handleEvent(this.zone, this.onAdd, e);
52
- l.on('add', this.onAddLayerHandler);
53
- this.onRemoveLayerHandler = (e) => LeafletUtil.handleEvent(this.zone, this.onRemove, e);
54
- l.on('remove', this.onRemoveLayerHandler);
55
- }
56
- removeLayerEventListeners(l) {
57
- l.off('add', this.onAddLayerHandler);
58
- l.off('remove', this.onRemoveLayerHandler);
59
- }
60
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LeafletLayerDirective, deps: [{ token: i1.LeafletDirective }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive }); }
61
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.1", type: LeafletLayerDirective, selector: "[leafletLayer]", inputs: { layer: ["leafletLayer", "layer"] }, outputs: { onAdd: "leafletLayerAdd", onRemove: "leafletLayerRemove" }, usesOnChanges: true, ngImport: i0 }); }
62
- }
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LeafletLayerDirective, decorators: [{
64
- type: Directive,
65
- args: [{
66
- selector: '[leafletLayer]'
67
- }]
68
- }], ctorParameters: () => [{ type: i1.LeafletDirective }, { type: i0.NgZone }], propDecorators: { layer: [{
69
- type: Input,
70
- args: ['leafletLayer']
71
- }], onAdd: [{
72
- type: Output,
73
- args: ['leafletLayerAdd']
74
- }], onRemove: [{
75
- type: Output,
76
- args: ['leafletLayerRemove']
77
- }] } });
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhZmxldC1sYXllci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGVhZmxldC9zcmMvbGliL2xheWVycy9sZWFmbGV0LWxheWVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04sU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXdDLE1BQU0sRUFFNUUsTUFBTSxlQUFlLENBQUM7QUFLdkIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDNUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7QUFHbkQ7Ozs7OztHQU1HO0FBSUgsTUFBTSxPQUFPLHFCQUFxQjtJQWdCakMsWUFBWSxnQkFBa0MsRUFBVSxJQUFZO1FBQVosU0FBSSxHQUFKLElBQUksQ0FBUTtRQVhwRSxlQUFlO1FBQ1ksVUFBSyxHQUFHLElBQUksWUFBWSxFQUFnQixDQUFDO1FBQ3RDLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBZ0IsQ0FBQztRQVV6RSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSx1QkFBdUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRCxRQUFRO1FBRVAsZUFBZTtRQUNmLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUU5QixDQUFDO0lBRUQsV0FBVztRQUVWLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUV4QixnQ0FBZ0M7WUFDaEMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUUzQyxnQ0FBZ0M7WUFDaEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNyQixDQUFDO0lBRUYsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUF3QztRQUVuRCxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBRXRCLG1CQUFtQjtZQUNuQixNQUFNLENBQUMsR0FBVSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsYUFBYSxDQUFDO1lBQ2hELE1BQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxZQUFZLENBQUM7WUFFeEMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2hDLElBQUksSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDO29CQUNmLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDbEMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNaLENBQUM7Z0JBQ0QsSUFBSSxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUM7b0JBQ2YsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUMvQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUM1QyxDQUFDO1lBQ0YsQ0FBQyxDQUFDLENBQUM7UUFFSixDQUFDO0lBRUYsQ0FBQztJQUVPLHNCQUFzQixDQUFDLENBQVE7UUFFdEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLENBQUMsQ0FBZSxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNoRyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUVwQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsQ0FBQyxDQUFlLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3RHLENBQUMsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBRTNDLENBQUM7SUFFTyx5QkFBeUIsQ0FBQyxDQUFRO1FBRXpDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBRTVDLENBQUM7OEdBOUVXLHFCQUFxQjtrR0FBckIscUJBQXFCOzsyRkFBckIscUJBQXFCO2tCQUhqQyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxnQkFBZ0I7aUJBQzFCOzBHQUl1QixLQUFLO3NCQUEzQixLQUFLO3VCQUFDLGNBQWM7Z0JBR00sS0FBSztzQkFBL0IsTUFBTTt1QkFBQyxpQkFBaUI7Z0JBQ0ssUUFBUTtzQkFBckMsTUFBTTt1QkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHREaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE5nWm9uZSwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LFxuXHRTaW1wbGVDaGFuZ2Vcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IExheWVyLCBMZWFmbGV0RXZlbnQgfSBmcm9tICdsZWFmbGV0JztcblxuaW1wb3J0IHsgTGVhZmxldERpcmVjdGl2ZSB9IGZyb20gJy4uL2NvcmUvbGVhZmxldC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTGVhZmxldERpcmVjdGl2ZVdyYXBwZXIgfSBmcm9tICcuLi9jb3JlL2xlYWZsZXQuZGlyZWN0aXZlLndyYXBwZXInO1xuaW1wb3J0IHsgTGVhZmxldFV0aWwgfSBmcm9tICcuLi9jb3JlL2xlYWZsZXQudXRpbCc7XG5cblxuLyoqXG4gKiBMYXllciBkaXJlY3RpdmVcbiAqXG4gKiBUaGlzIGRpcmVjdGl2ZSBpcyB1c2VkIHRvIGRpcmVjdGx5IGNvbnRyb2wgYSBzaW5nbGUgbWFwIGxheWVyLiBUaGUgcHVycG9zZSBvZiB0aGlzIGRpcmVjdGl2ZSBpcyB0b1xuICogYmUgdXNlZCBhcyBwYXJ0IG9mIGEgY2hpbGQgc3RydWN0dXJhbCBkaXJlY3RpdmUgb2YgdGhlIG1hcCBlbGVtZW50LlxuICpcbiAqL1xuQERpcmVjdGl2ZSh7XG5cdHNlbGVjdG9yOiAnW2xlYWZsZXRMYXllcl0nXG59KVxuZXhwb3J0IGNsYXNzIExlYWZsZXRMYXllckRpcmVjdGl2ZVxuXHRpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQge1xuXG5cdEBJbnB1dCgnbGVhZmxldExheWVyJykgbGF5ZXI6IExheWVyO1xuXG5cdC8vIExheWVyIEV2ZW50c1xuXHRAT3V0cHV0KCdsZWFmbGV0TGF5ZXJBZGQnKSBvbkFkZCA9IG5ldyBFdmVudEVtaXR0ZXI8TGVhZmxldEV2ZW50PigpO1xuXHRAT3V0cHV0KCdsZWFmbGV0TGF5ZXJSZW1vdmUnKSBvblJlbW92ZSA9IG5ldyBFdmVudEVtaXR0ZXI8TGVhZmxldEV2ZW50PigpO1xuXG5cdC8vIExheWVyIEV2ZW50IGhhbmRsZXJzXG5cdHByaXZhdGUgb25BZGRMYXllckhhbmRsZXI6IGFueTtcblx0cHJpdmF0ZSBvblJlbW92ZUxheWVySGFuZGxlcjogYW55O1xuXG5cdC8vIFdyYXBwZXIgZm9yIHRoZSBsZWFmbGV0IGRpcmVjdGl2ZSAobWFuYWdlcyB0aGUgcGFyZW50IGRpcmVjdGl2ZSlcblx0cHJpdmF0ZSBsZWFmbGV0RGlyZWN0aXZlOiBMZWFmbGV0RGlyZWN0aXZlV3JhcHBlcjtcblxuXHRjb25zdHJ1Y3RvcihsZWFmbGV0RGlyZWN0aXZlOiBMZWFmbGV0RGlyZWN0aXZlLCBwcml2YXRlIHpvbmU6IE5nWm9uZSkge1xuXHRcdHRoaXMubGVhZmxldERpcmVjdGl2ZSA9IG5ldyBMZWFmbGV0RGlyZWN0aXZlV3JhcHBlcihsZWFmbGV0RGlyZWN0aXZlKTtcblx0fVxuXG5cdG5nT25Jbml0KCkge1xuXG5cdFx0Ly8gSW5pdCB0aGUgbWFwXG5cdFx0dGhpcy5sZWFmbGV0RGlyZWN0aXZlLmluaXQoKTtcblxuXHR9XG5cblx0bmdPbkRlc3Ryb3koKSB7XG5cblx0XHRpZiAobnVsbCAhPSB0aGlzLmxheWVyKSB7XG5cblx0XHRcdC8vIFVucmVnaXN0ZXIgdGhlIGV2ZW50IGhhbmRsZXJzXG5cdFx0XHR0aGlzLnJlbW92ZUxheWVyRXZlbnRMaXN0ZW5lcnModGhpcy5sYXllcik7XG5cblx0XHRcdC8vIFJlbW92ZSB0aGUgbGF5ZXIgZnJvbSB0aGUgbWFwXG5cdFx0XHR0aGlzLmxheWVyLnJlbW92ZSgpO1xuXHRcdH1cblxuXHR9XG5cblx0bmdPbkNoYW5nZXMoY2hhbmdlczogeyBba2V5OiBzdHJpbmddOiBTaW1wbGVDaGFuZ2UgfSkge1xuXG5cdFx0aWYgKGNoYW5nZXNbJ2xheWVyJ10pIHtcblxuXHRcdFx0Ly8gVXBkYXRlIHRoZSBsYXllclxuXHRcdFx0Y29uc3QgcDogTGF5ZXIgPSBjaGFuZ2VzWydsYXllciddLnByZXZpb3VzVmFsdWU7XG5cdFx0XHRjb25zdCBuID0gY2hhbmdlc1snbGF5ZXInXS5jdXJyZW50VmFsdWU7XG5cblx0XHRcdHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG5cdFx0XHRcdGlmIChudWxsICE9IHApIHtcblx0XHRcdFx0XHR0aGlzLnJlbW92ZUxheWVyRXZlbnRMaXN0ZW5lcnMocCk7XG5cdFx0XHRcdFx0cC5yZW1vdmUoKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRpZiAobnVsbCAhPSBuKSB7XG5cdFx0XHRcdFx0dGhpcy5hZGRMYXllckV2ZW50TGlzdGVuZXJzKG4pO1xuXHRcdFx0XHRcdHRoaXMubGVhZmxldERpcmVjdGl2ZS5nZXRNYXAoKS5hZGRMYXllcihuKTtcblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cblx0XHR9XG5cblx0fVxuXG5cdHByaXZhdGUgYWRkTGF5ZXJFdmVudExpc3RlbmVycyhsOiBMYXllcikge1xuXG5cdFx0dGhpcy5vbkFkZExheWVySGFuZGxlciA9IChlOiBMZWFmbGV0RXZlbnQpID0+IExlYWZsZXRVdGlsLmhhbmRsZUV2ZW50KHRoaXMuem9uZSwgdGhpcy5vbkFkZCwgZSk7XG5cdFx0bC5vbignYWRkJywgdGhpcy5vbkFkZExheWVySGFuZGxlcik7XG5cblx0XHR0aGlzLm9uUmVtb3ZlTGF5ZXJIYW5kbGVyID0gKGU6IExlYWZsZXRFdmVudCkgPT4gTGVhZmxldFV0aWwuaGFuZGxlRXZlbnQodGhpcy56b25lLCB0aGlzLm9uUmVtb3ZlLCBlKTtcblx0XHRsLm9uKCdyZW1vdmUnLCB0aGlzLm9uUmVtb3ZlTGF5ZXJIYW5kbGVyKTtcblxuXHR9XG5cblx0cHJpdmF0ZSByZW1vdmVMYXllckV2ZW50TGlzdGVuZXJzKGw6IExheWVyKSB7XG5cblx0XHRsLm9mZignYWRkJywgdGhpcy5vbkFkZExheWVySGFuZGxlcik7XG5cdFx0bC5vZmYoJ3JlbW92ZScsIHRoaXMub25SZW1vdmVMYXllckhhbmRsZXIpO1xuXG5cdH1cblxufVxuIl19
@@ -1,83 +0,0 @@
1
- import { Directive, Input } from '@angular/core';
2
- import { LeafletDirectiveWrapper } from '../core/leaflet.directive.wrapper';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../core/leaflet.directive";
5
- /**
6
- * Layers directive
7
- *
8
- * This directive is used to directly control map layers. As changes are made to the input array of
9
- * layers, the map is synched to the array. As layers are added or removed from the input array, they
10
- * are also added or removed from the map. The input array is treated as immutable. To detect changes,
11
- * you must change the array instance.
12
- *
13
- * Important Note: The input layers array is assumed to be immutable. This means you need to use an
14
- * immutable array implementation or create a new copy of your array when you make changes, otherwise
15
- * this directive won't detect the change. This is by design. It's for performance reasons. Change
16
- * detection of mutable arrays requires diffing the state of the array on every DoCheck cycle, which
17
- * is extremely expensive from a time complexity perspective.
18
- *
19
- */
20
- export class LeafletLayersDirective {
21
- // Set/get the layers
22
- set layers(v) {
23
- this.layersValue = v;
24
- // Now that we have a differ, do an immediate layer update
25
- this.updateLayers();
26
- }
27
- get layers() {
28
- return this.layersValue;
29
- }
30
- constructor(leafletDirective, differs, zone) {
31
- this.differs = differs;
32
- this.zone = zone;
33
- this.leafletDirective = new LeafletDirectiveWrapper(leafletDirective);
34
- this.layersDiffer = this.differs.find([]).create();
35
- }
36
- ngDoCheck() {
37
- this.updateLayers();
38
- }
39
- ngOnInit() {
40
- // Init the map
41
- this.leafletDirective.init();
42
- // Update layers once the map is ready
43
- this.updateLayers();
44
- }
45
- ngOnDestroy() {
46
- this.layers = [];
47
- }
48
- /**
49
- * Update the state of the layers.
50
- * We use an iterable differ to synchronize the map layers with the state of the bound layers array.
51
- * This is important because it allows us to react to changes to the contents of the array as well
52
- * as changes to the actual array instance.
53
- */
54
- updateLayers() {
55
- const map = this.leafletDirective.getMap();
56
- if (null != map && null != this.layersDiffer) {
57
- const changes = this.layersDiffer.diff(this.layersValue);
58
- if (null != changes) {
59
- // Run outside angular to ensure layer events don't trigger change detection
60
- this.zone.runOutsideAngular(() => {
61
- changes.forEachRemovedItem((c) => {
62
- map.removeLayer(c.item);
63
- });
64
- changes.forEachAddedItem((c) => {
65
- map.addLayer(c.item);
66
- });
67
- });
68
- }
69
- }
70
- }
71
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LeafletLayersDirective, deps: [{ token: i1.LeafletDirective }, { token: i0.IterableDiffers }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive }); }
72
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.1", type: LeafletLayersDirective, selector: "[leafletLayers]", inputs: { layers: ["leafletLayers", "layers"] }, ngImport: i0 }); }
73
- }
74
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LeafletLayersDirective, decorators: [{
75
- type: Directive,
76
- args: [{
77
- selector: '[leafletLayers]'
78
- }]
79
- }], ctorParameters: () => [{ type: i1.LeafletDirective }, { type: i0.IterableDiffers }, { type: i0.NgZone }], propDecorators: { layers: [{
80
- type: Input,
81
- args: ['leafletLayers']
82
- }] } });
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhZmxldC1sYXllcnMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWxlYWZsZXQvc3JjL2xpYi9sYXllcnMvbGVhZmxldC1sYXllcnMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVcsS0FBSyxFQUE4RCxNQUFNLGVBQWUsQ0FBQztBQUt0SCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7O0FBRzVFOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBSUgsTUFBTSxPQUFPLHNCQUFzQjtJQVNsQyxxQkFBcUI7SUFDckIsSUFDSSxNQUFNLENBQUMsQ0FBVTtRQUNwQixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztRQUVyQiwwREFBMEQ7UUFDMUQsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxJQUFJLE1BQU07UUFDVCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDekIsQ0FBQztJQUtELFlBQVksZ0JBQWtDLEVBQVUsT0FBd0IsRUFBVSxJQUFZO1FBQTlDLFlBQU8sR0FBUCxPQUFPLENBQWlCO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNyRyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSx1QkFBdUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFTLENBQUM7SUFDM0QsQ0FBQztJQUVELFNBQVM7UUFDUixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELFFBQVE7UUFFUCxlQUFlO1FBQ2YsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFDO1FBRTdCLHNDQUFzQztRQUN0QyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFFckIsQ0FBQztJQUVELFdBQVc7UUFDVixJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSyxZQUFZO1FBRW5CLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUUzQyxJQUFJLElBQUksSUFBSSxHQUFHLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUU5QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDekQsSUFBSSxJQUFJLElBQUksT0FBTyxFQUFFLENBQUM7Z0JBRXJCLDRFQUE0RTtnQkFDNUUsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7b0JBRWhDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO3dCQUNoQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDekIsQ0FBQyxDQUFDLENBQUM7b0JBQ0gsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7d0JBQzlCLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUN0QixDQUFDLENBQUMsQ0FBQztnQkFFSixDQUFDLENBQUMsQ0FBQztZQUVKLENBQUM7UUFFRixDQUFDO0lBRUYsQ0FBQzs4R0E5RVcsc0JBQXNCO2tHQUF0QixzQkFBc0I7OzJGQUF0QixzQkFBc0I7a0JBSGxDLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLGlCQUFpQjtpQkFDM0I7d0lBWUksTUFBTTtzQkFEVCxLQUFLO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIERvQ2hlY2ssIElucHV0LCBJdGVyYWJsZURpZmZlciwgSXRlcmFibGVEaWZmZXJzLCBOZ1pvbmUsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IExheWVyfSBmcm9tICdsZWFmbGV0JztcblxuaW1wb3J0IHsgTGVhZmxldERpcmVjdGl2ZSB9IGZyb20gJy4uL2NvcmUvbGVhZmxldC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTGVhZmxldERpcmVjdGl2ZVdyYXBwZXIgfSBmcm9tICcuLi9jb3JlL2xlYWZsZXQuZGlyZWN0aXZlLndyYXBwZXInO1xuXG5cbi8qKlxuICogTGF5ZXJzIGRpcmVjdGl2ZVxuICpcbiAqIFRoaXMgZGlyZWN0aXZlIGlzIHVzZWQgdG8gZGlyZWN0bHkgY29udHJvbCBtYXAgbGF5ZXJzLiBBcyBjaGFuZ2VzIGFyZSBtYWRlIHRvIHRoZSBpbnB1dCBhcnJheSBvZlxuICogbGF5ZXJzLCB0aGUgbWFwIGlzIHN5bmNoZWQgdG8gdGhlIGFycmF5LiBBcyBsYXllcnMgYXJlIGFkZGVkIG9yIHJlbW92ZWQgZnJvbSB0aGUgaW5wdXQgYXJyYXksIHRoZXlcbiAqIGFyZSBhbHNvIGFkZGVkIG9yIHJlbW92ZWQgZnJvbSB0aGUgbWFwLiBUaGUgaW5wdXQgYXJyYXkgaXMgdHJlYXRlZCBhcyBpbW11dGFibGUuIFRvIGRldGVjdCBjaGFuZ2VzLFxuICogeW91IG11c3QgY2hhbmdlIHRoZSBhcnJheSBpbnN0YW5jZS5cbiAqXG4gKiBJbXBvcnRhbnQgTm90ZTogVGhlIGlucHV0IGxheWVycyBhcnJheSBpcyBhc3N1bWVkIHRvIGJlIGltbXV0YWJsZS4gVGhpcyBtZWFucyB5b3UgbmVlZCB0byB1c2UgYW5cbiAqIGltbXV0YWJsZSBhcnJheSBpbXBsZW1lbnRhdGlvbiBvciBjcmVhdGUgYSBuZXcgY29weSBvZiB5b3VyIGFycmF5IHdoZW4geW91IG1ha2UgY2hhbmdlcywgb3RoZXJ3aXNlXG4gKiB0aGlzIGRpcmVjdGl2ZSB3b24ndCBkZXRlY3QgdGhlIGNoYW5nZS4gVGhpcyBpcyBieSBkZXNpZ24uIEl0J3MgZm9yIHBlcmZvcm1hbmNlIHJlYXNvbnMuIENoYW5nZVxuICogZGV0ZWN0aW9uIG9mIG11dGFibGUgYXJyYXlzIHJlcXVpcmVzIGRpZmZpbmcgdGhlIHN0YXRlIG9mIHRoZSBhcnJheSBvbiBldmVyeSBEb0NoZWNrIGN5Y2xlLCB3aGljaFxuICogaXMgZXh0cmVtZWx5IGV4cGVuc2l2ZSBmcm9tIGEgdGltZSBjb21wbGV4aXR5IHBlcnNwZWN0aXZlLlxuICpcbiAqL1xuQERpcmVjdGl2ZSh7XG5cdHNlbGVjdG9yOiAnW2xlYWZsZXRMYXllcnNdJ1xufSlcbmV4cG9ydCBjbGFzcyBMZWFmbGV0TGF5ZXJzRGlyZWN0aXZlXG5cdGltcGxlbWVudHMgRG9DaGVjaywgT25EZXN0cm95LCBPbkluaXQge1xuXG5cdC8vIEFycmF5IG9mIGNvbmZpZ3VyZWQgbGF5ZXJzXG5cdGxheWVyc1ZhbHVlOiBMYXllcltdO1xuXG5cdC8vIERpZmZlciB0byBkbyBjaGFuZ2UgZGV0ZWN0aW9uIG9uIHRoZSBhcnJheVxuXHRsYXllcnNEaWZmZXI6IEl0ZXJhYmxlRGlmZmVyPExheWVyPjtcblxuXHQvLyBTZXQvZ2V0IHRoZSBsYXllcnNcblx0QElucHV0KCdsZWFmbGV0TGF5ZXJzJylcblx0c2V0IGxheWVycyh2OiBMYXllcltdKSB7XG5cdFx0dGhpcy5sYXllcnNWYWx1ZSA9IHY7XG5cblx0XHQvLyBOb3cgdGhhdCB3ZSBoYXZlIGEgZGlmZmVyLCBkbyBhbiBpbW1lZGlhdGUgbGF5ZXIgdXBkYXRlXG5cdFx0dGhpcy51cGRhdGVMYXllcnMoKTtcblx0fVxuXHRnZXQgbGF5ZXJzKCk6IExheWVyW10ge1xuXHRcdHJldHVybiB0aGlzLmxheWVyc1ZhbHVlO1xuXHR9XG5cblx0Ly8gV3JhcHBlciBmb3IgdGhlIGxlYWZsZXQgZGlyZWN0aXZlIChtYW5hZ2VzIHRoZSBwYXJlbnQgZGlyZWN0aXZlKVxuXHRwcml2YXRlIGxlYWZsZXREaXJlY3RpdmU6IExlYWZsZXREaXJlY3RpdmVXcmFwcGVyO1xuXG5cdGNvbnN0cnVjdG9yKGxlYWZsZXREaXJlY3RpdmU6IExlYWZsZXREaXJlY3RpdmUsIHByaXZhdGUgZGlmZmVyczogSXRlcmFibGVEaWZmZXJzLCBwcml2YXRlIHpvbmU6IE5nWm9uZSkge1xuXHRcdHRoaXMubGVhZmxldERpcmVjdGl2ZSA9IG5ldyBMZWFmbGV0RGlyZWN0aXZlV3JhcHBlcihsZWFmbGV0RGlyZWN0aXZlKTtcblx0XHR0aGlzLmxheWVyc0RpZmZlciA9IHRoaXMuZGlmZmVycy5maW5kKFtdKS5jcmVhdGU8TGF5ZXI+KCk7XG5cdH1cblxuXHRuZ0RvQ2hlY2soKSB7XG5cdFx0dGhpcy51cGRhdGVMYXllcnMoKTtcblx0fVxuXG5cdG5nT25Jbml0KCkge1xuXG5cdFx0Ly8gSW5pdCB0aGUgbWFwXG5cdFx0dGhpcy5sZWFmbGV0RGlyZWN0aXZlLmluaXQoKTtcblxuXHRcdC8vIFVwZGF0ZSBsYXllcnMgb25jZSB0aGUgbWFwIGlzIHJlYWR5XG5cdFx0dGhpcy51cGRhdGVMYXllcnMoKTtcblxuXHR9XG5cblx0bmdPbkRlc3Ryb3koKSB7XG5cdFx0dGhpcy5sYXllcnMgPSBbXTtcblx0fVxuXG5cdC8qKlxuXHQgKiBVcGRhdGUgdGhlIHN0YXRlIG9mIHRoZSBsYXllcnMuXG5cdCAqIFdlIHVzZSBhbiBpdGVyYWJsZSBkaWZmZXIgdG8gc3luY2hyb25pemUgdGhlIG1hcCBsYXllcnMgd2l0aCB0aGUgc3RhdGUgb2YgdGhlIGJvdW5kIGxheWVycyBhcnJheS5cblx0ICogVGhpcyBpcyBpbXBvcnRhbnQgYmVjYXVzZSBpdCBhbGxvd3MgdXMgdG8gcmVhY3QgdG8gY2hhbmdlcyB0byB0aGUgY29udGVudHMgb2YgdGhlIGFycmF5IGFzIHdlbGxcblx0ICogYXMgY2hhbmdlcyB0byB0aGUgYWN0dWFsIGFycmF5IGluc3RhbmNlLlxuXHQgKi9cblx0cHJpdmF0ZSB1cGRhdGVMYXllcnMoKSB7XG5cblx0XHRjb25zdCBtYXAgPSB0aGlzLmxlYWZsZXREaXJlY3RpdmUuZ2V0TWFwKCk7XG5cblx0XHRpZiAobnVsbCAhPSBtYXAgJiYgbnVsbCAhPSB0aGlzLmxheWVyc0RpZmZlcikge1xuXG5cdFx0XHRjb25zdCBjaGFuZ2VzID0gdGhpcy5sYXllcnNEaWZmZXIuZGlmZih0aGlzLmxheWVyc1ZhbHVlKTtcblx0XHRcdGlmIChudWxsICE9IGNoYW5nZXMpIHtcblxuXHRcdFx0XHQvLyBSdW4gb3V0c2lkZSBhbmd1bGFyIHRvIGVuc3VyZSBsYXllciBldmVudHMgZG9uJ3QgdHJpZ2dlciBjaGFuZ2UgZGV0ZWN0aW9uXG5cdFx0XHRcdHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG5cblx0XHRcdFx0XHRjaGFuZ2VzLmZvckVhY2hSZW1vdmVkSXRlbSgoYykgPT4ge1xuXHRcdFx0XHRcdFx0bWFwLnJlbW92ZUxheWVyKGMuaXRlbSk7XG5cdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0Y2hhbmdlcy5mb3JFYWNoQWRkZWRJdGVtKChjKSA9PiB7XG5cdFx0XHRcdFx0XHRtYXAuYWRkTGF5ZXIoYy5pdGVtKTtcblx0XHRcdFx0XHR9KTtcblxuXHRcdFx0XHR9KTtcblxuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdH1cblxufVxuIl19
@@ -1,53 +0,0 @@
1
- import { tileLayer } from 'leaflet';
2
- export class LeafletTileLayerDefinition {
3
- constructor(type, url, options) {
4
- this.type = type;
5
- this.url = url;
6
- this.options = options;
7
- }
8
- /**
9
- * Creates a TileLayer from the provided definition. This is a convenience function
10
- * to help with generating layers from objects.
11
- *
12
- * @param layerDef The layer to create
13
- * @returns {TileLayer} The TileLayer that has been created
14
- */
15
- static createTileLayer(layerDef) {
16
- let layer;
17
- switch (layerDef.type) {
18
- case 'xyz':
19
- layer = tileLayer(layerDef.url, layerDef.options);
20
- break;
21
- case 'wms':
22
- default:
23
- layer = tileLayer.wms(layerDef.url, layerDef.options);
24
- break;
25
- }
26
- return layer;
27
- }
28
- /**
29
- * Creates a TileLayer for each key in the incoming map. This is a convenience function
30
- * for generating an associative array of layers from an associative array of objects
31
- *
32
- * @param layerDefs A map of key to tile layer definition
33
- * @returns {{[p: string]: TileLayer}} A new map of key to TileLayer
34
- */
35
- static createTileLayers(layerDefs) {
36
- const layers = {};
37
- for (const k in layerDefs) {
38
- if (layerDefs.hasOwnProperty(k)) {
39
- layers[k] = (LeafletTileLayerDefinition.createTileLayer(layerDefs[k]));
40
- }
41
- }
42
- return layers;
43
- }
44
- /**
45
- * Create a Tile Layer from the current state of this object
46
- *
47
- * @returns {TileLayer} A new TileLayer
48
- */
49
- createTileLayer() {
50
- return LeafletTileLayerDefinition.createTileLayer(this);
51
- }
52
- }
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhZmxldC10aWxlLWxheWVyLWRlZmluaXRpb24ubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGVhZmxldC9zcmMvbGliL2xheWVycy9sZWFmbGV0LXRpbGUtbGF5ZXItZGVmaW5pdGlvbi5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFhLE1BQU0sU0FBUyxDQUFDO0FBRS9DLE1BQU0sT0FBTywwQkFBMEI7SUFFdEMsWUFDUSxJQUFZLEVBQ1osR0FBVyxFQUNYLE9BQVk7UUFGWixTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ1osUUFBRyxHQUFILEdBQUcsQ0FBUTtRQUNYLFlBQU8sR0FBUCxPQUFPLENBQUs7SUFBSSxDQUFDO0lBR3pCOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxlQUFlLENBQUMsUUFBb0M7UUFDMUQsSUFBSSxLQUFnQixDQUFDO1FBRXJCLFFBQVEsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3ZCLEtBQUssS0FBSztnQkFDVCxLQUFLLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNuRCxNQUFNO1lBQ1AsS0FBSyxLQUFLLENBQUM7WUFDWDtnQkFDQyxLQUFLLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDdkQsTUFBTTtRQUNSLENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsU0FBMEQ7UUFDakYsTUFBTSxNQUFNLEdBQW1DLEVBQUUsQ0FBQztRQUVsRCxLQUFLLE1BQU0sQ0FBQyxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQzNCLElBQUksU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNqQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN4RSxDQUFDO1FBQ0YsQ0FBQztRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2YsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxlQUFlO1FBQ2QsT0FBTywwQkFBMEIsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekQsQ0FBQztDQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdGlsZUxheWVyLCBUaWxlTGF5ZXIgfSBmcm9tICdsZWFmbGV0JztcblxuZXhwb3J0IGNsYXNzIExlYWZsZXRUaWxlTGF5ZXJEZWZpbml0aW9uIHtcblxuXHRjb25zdHJ1Y3Rvcihcblx0XHRwdWJsaWMgdHlwZTogc3RyaW5nLFxuXHRcdHB1YmxpYyB1cmw6IHN0cmluZyxcblx0XHRwdWJsaWMgb3B0aW9uczogYW55KSB7IH1cblxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgVGlsZUxheWVyIGZyb20gdGhlIHByb3ZpZGVkIGRlZmluaXRpb24uIFRoaXMgaXMgYSBjb252ZW5pZW5jZSBmdW5jdGlvblxuXHQgKiB0byBoZWxwIHdpdGggZ2VuZXJhdGluZyBsYXllcnMgZnJvbSBvYmplY3RzLlxuXHQgKlxuXHQgKiBAcGFyYW0gbGF5ZXJEZWYgVGhlIGxheWVyIHRvIGNyZWF0ZVxuXHQgKiBAcmV0dXJucyB7VGlsZUxheWVyfSBUaGUgVGlsZUxheWVyIHRoYXQgaGFzIGJlZW4gY3JlYXRlZFxuXHQgKi9cblx0c3RhdGljIGNyZWF0ZVRpbGVMYXllcihsYXllckRlZjogTGVhZmxldFRpbGVMYXllckRlZmluaXRpb24pOiBUaWxlTGF5ZXIge1xuXHRcdGxldCBsYXllcjogVGlsZUxheWVyO1xuXG5cdFx0c3dpdGNoIChsYXllckRlZi50eXBlKSB7XG5cdFx0XHRjYXNlICd4eXonOlxuXHRcdFx0XHRsYXllciA9IHRpbGVMYXllcihsYXllckRlZi51cmwsICBsYXllckRlZi5vcHRpb25zKTtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlICd3bXMnOlxuXHRcdFx0ZGVmYXVsdDpcblx0XHRcdFx0bGF5ZXIgPSB0aWxlTGF5ZXIud21zKGxheWVyRGVmLnVybCwgIGxheWVyRGVmLm9wdGlvbnMpO1xuXHRcdFx0XHRicmVhaztcblx0XHR9XG5cblx0XHRyZXR1cm4gbGF5ZXI7XG5cdH1cblxuXHQvKipcblx0ICogQ3JlYXRlcyBhIFRpbGVMYXllciBmb3IgZWFjaCBrZXkgaW4gdGhlIGluY29taW5nIG1hcC4gVGhpcyBpcyBhIGNvbnZlbmllbmNlIGZ1bmN0aW9uXG5cdCAqIGZvciBnZW5lcmF0aW5nIGFuIGFzc29jaWF0aXZlIGFycmF5IG9mIGxheWVycyBmcm9tIGFuIGFzc29jaWF0aXZlIGFycmF5IG9mIG9iamVjdHNcblx0ICpcblx0ICogQHBhcmFtIGxheWVyRGVmcyBBIG1hcCBvZiBrZXkgdG8gdGlsZSBsYXllciBkZWZpbml0aW9uXG5cdCAqIEByZXR1cm5zIHt7W3A6IHN0cmluZ106IFRpbGVMYXllcn19IEEgbmV3IG1hcCBvZiBrZXkgdG8gVGlsZUxheWVyXG5cdCAqL1xuXHRzdGF0aWMgY3JlYXRlVGlsZUxheWVycyhsYXllckRlZnM6IHsgWyBrZXk6IHN0cmluZyBdOiBMZWFmbGV0VGlsZUxheWVyRGVmaW5pdGlvbiB9KTogeyBbIGtleTogc3RyaW5nIF06IFRpbGVMYXllciB9IHtcblx0XHRjb25zdCBsYXllcnM6IHsgWyBrZXk6IHN0cmluZyBdOiBUaWxlTGF5ZXIgfSA9IHt9O1xuXG5cdFx0Zm9yIChjb25zdCBrIGluIGxheWVyRGVmcykge1xuXHRcdFx0aWYgKGxheWVyRGVmcy5oYXNPd25Qcm9wZXJ0eShrKSkge1xuXHRcdFx0XHRsYXllcnNba10gPSAoTGVhZmxldFRpbGVMYXllckRlZmluaXRpb24uY3JlYXRlVGlsZUxheWVyKGxheWVyRGVmc1trXSkpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHJldHVybiBsYXllcnM7XG5cdH1cblxuXHQvKipcblx0ICogQ3JlYXRlIGEgVGlsZSBMYXllciBmcm9tIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoaXMgb2JqZWN0XG5cdCAqXG5cdCAqIEByZXR1cm5zIHtUaWxlTGF5ZXJ9IEEgbmV3IFRpbGVMYXllclxuXHQgKi9cblx0Y3JlYXRlVGlsZUxheWVyKCk6IFRpbGVMYXllciB7XG5cdFx0cmV0dXJuIExlYWZsZXRUaWxlTGF5ZXJEZWZpbml0aW9uLmNyZWF0ZVRpbGVMYXllcih0aGlzKTtcblx0fVxufVxuIl19
@@ -1,40 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { LeafletDirective } from './core/leaflet.directive';
3
- import { LeafletLayerDirective } from './layers/leaflet-layer.directive';
4
- import { LeafletLayersDirective } from './layers/leaflet-layers.directive';
5
- import { LeafletLayersControlDirective } from './layers/control/leaflet-control-layers.directive';
6
- import { LeafletBaseLayersDirective } from './layers/base/leaflet-baselayers.directive';
7
- import * as i0 from "@angular/core";
8
- export class LeafletModule {
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LeafletModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
10
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.1", ngImport: i0, type: LeafletModule, declarations: [LeafletDirective,
11
- LeafletLayerDirective,
12
- LeafletLayersDirective,
13
- LeafletLayersControlDirective,
14
- LeafletBaseLayersDirective], exports: [LeafletDirective,
15
- LeafletLayerDirective,
16
- LeafletLayersDirective,
17
- LeafletLayersControlDirective,
18
- LeafletBaseLayersDirective] }); }
19
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LeafletModule }); }
20
- }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LeafletModule, decorators: [{
22
- type: NgModule,
23
- args: [{
24
- exports: [
25
- LeafletDirective,
26
- LeafletLayerDirective,
27
- LeafletLayersDirective,
28
- LeafletLayersControlDirective,
29
- LeafletBaseLayersDirective
30
- ],
31
- declarations: [
32
- LeafletDirective,
33
- LeafletLayerDirective,
34
- LeafletLayersDirective,
35
- LeafletLayersControlDirective,
36
- LeafletBaseLayersDirective
37
- ]
38
- }]
39
- }] });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhZmxldC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGVhZmxldC9zcmMvbGliL2xlYWZsZXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDekUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDM0UsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDbEcsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNENBQTRDLENBQUM7O0FBa0J4RixNQUFNLE9BQU8sYUFBYTs4R0FBYixhQUFhOytHQUFiLGFBQWEsaUJBUHhCLGdCQUFnQjtZQUNoQixxQkFBcUI7WUFDckIsc0JBQXNCO1lBQ3RCLDZCQUE2QjtZQUM3QiwwQkFBMEIsYUFYMUIsZ0JBQWdCO1lBQ2hCLHFCQUFxQjtZQUNyQixzQkFBc0I7WUFDdEIsNkJBQTZCO1lBQzdCLDBCQUEwQjsrR0FVZixhQUFhOzsyRkFBYixhQUFhO2tCQWhCekIsUUFBUTttQkFBQztvQkFDVCxPQUFPLEVBQUU7d0JBQ1IsZ0JBQWdCO3dCQUNoQixxQkFBcUI7d0JBQ3JCLHNCQUFzQjt3QkFDdEIsNkJBQTZCO3dCQUM3QiwwQkFBMEI7cUJBQzFCO29CQUNELFlBQVksRUFBRTt3QkFDYixnQkFBZ0I7d0JBQ2hCLHFCQUFxQjt3QkFDckIsc0JBQXNCO3dCQUN0Qiw2QkFBNkI7d0JBQzdCLDBCQUEwQjtxQkFDMUI7aUJBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBMZWFmbGV0RGlyZWN0aXZlIH0gZnJvbSAnLi9jb3JlL2xlYWZsZXQuZGlyZWN0aXZlJztcbmltcG9ydCB7IExlYWZsZXRMYXllckRpcmVjdGl2ZSB9IGZyb20gJy4vbGF5ZXJzL2xlYWZsZXQtbGF5ZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IExlYWZsZXRMYXllcnNEaXJlY3RpdmUgfSBmcm9tICcuL2xheWVycy9sZWFmbGV0LWxheWVycy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTGVhZmxldExheWVyc0NvbnRyb2xEaXJlY3RpdmUgfSBmcm9tICcuL2xheWVycy9jb250cm9sL2xlYWZsZXQtY29udHJvbC1sYXllcnMuZGlyZWN0aXZlJztcbmltcG9ydCB7IExlYWZsZXRCYXNlTGF5ZXJzRGlyZWN0aXZlIH0gZnJvbSAnLi9sYXllcnMvYmFzZS9sZWFmbGV0LWJhc2VsYXllcnMuZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcblx0ZXhwb3J0czogW1xuXHRcdExlYWZsZXREaXJlY3RpdmUsXG5cdFx0TGVhZmxldExheWVyRGlyZWN0aXZlLFxuXHRcdExlYWZsZXRMYXllcnNEaXJlY3RpdmUsXG5cdFx0TGVhZmxldExheWVyc0NvbnRyb2xEaXJlY3RpdmUsXG5cdFx0TGVhZmxldEJhc2VMYXllcnNEaXJlY3RpdmVcblx0XSxcblx0ZGVjbGFyYXRpb25zOiBbXG5cdFx0TGVhZmxldERpcmVjdGl2ZSxcblx0XHRMZWFmbGV0TGF5ZXJEaXJlY3RpdmUsXG5cdFx0TGVhZmxldExheWVyc0RpcmVjdGl2ZSxcblx0XHRMZWFmbGV0TGF5ZXJzQ29udHJvbERpcmVjdGl2ZSxcblx0XHRMZWFmbGV0QmFzZUxheWVyc0RpcmVjdGl2ZVxuXHRdXG59KVxuZXhwb3J0IGNsYXNzIExlYWZsZXRNb2R1bGUge1xuXG59XG4iXX0=
@@ -1,13 +0,0 @@
1
- export { LeafletModule } from './lib/leaflet.module';
2
- export { LeafletDirective } from './lib/core/leaflet.directive';
3
- export { LeafletDirectiveWrapper } from './lib/core/leaflet.directive.wrapper';
4
- export { LeafletUtil } from './lib/core/leaflet.util';
5
- export { LeafletLayerDirective } from './lib/layers/leaflet-layer.directive';
6
- export { LeafletLayersDirective } from './lib/layers/leaflet-layers.directive';
7
- export { LeafletTileLayerDefinition } from './lib/layers/leaflet-tile-layer-definition.model';
8
- export { LeafletBaseLayersDirective } from './lib/layers/base/leaflet-baselayers.directive';
9
- export { LeafletLayersControlDirective } from './lib/layers/control/leaflet-control-layers.directive';
10
- export { LeafletControlLayersWrapper } from './lib/layers/control/leaflet-control-layers.wrapper';
11
- export { LeafletControlLayersConfig } from './lib/layers/control/leaflet-control-layers-config.model';
12
- export { LeafletControlLayersChanges } from './lib/layers/control/leaflet-control-layers-changes.model';
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC1sZWFmbGV0L3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDL0UsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFFOUYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFFNUYsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDdEcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDbEcsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDdEcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMkRBQTJELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBMZWFmbGV0TW9kdWxlIH0gZnJvbSAnLi9saWIvbGVhZmxldC5tb2R1bGUnO1xuXG5leHBvcnQgeyBMZWFmbGV0RGlyZWN0aXZlIH0gZnJvbSAnLi9saWIvY29yZS9sZWFmbGV0LmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBMZWFmbGV0RGlyZWN0aXZlV3JhcHBlciB9IGZyb20gJy4vbGliL2NvcmUvbGVhZmxldC5kaXJlY3RpdmUud3JhcHBlcic7XG5leHBvcnQgeyBMZWFmbGV0VXRpbCB9IGZyb20gJy4vbGliL2NvcmUvbGVhZmxldC51dGlsJztcblxuZXhwb3J0IHsgTGVhZmxldExheWVyRGlyZWN0aXZlIH0gZnJvbSAnLi9saWIvbGF5ZXJzL2xlYWZsZXQtbGF5ZXIuZGlyZWN0aXZlJztcbmV4cG9ydCB7IExlYWZsZXRMYXllcnNEaXJlY3RpdmUgfSBmcm9tICcuL2xpYi9sYXllcnMvbGVhZmxldC1sYXllcnMuZGlyZWN0aXZlJztcbmV4cG9ydCB7IExlYWZsZXRUaWxlTGF5ZXJEZWZpbml0aW9uIH0gZnJvbSAnLi9saWIvbGF5ZXJzL2xlYWZsZXQtdGlsZS1sYXllci1kZWZpbml0aW9uLm1vZGVsJztcblxuZXhwb3J0IHsgTGVhZmxldEJhc2VMYXllcnNEaXJlY3RpdmUgfSBmcm9tICcuL2xpYi9sYXllcnMvYmFzZS9sZWFmbGV0LWJhc2VsYXllcnMuZGlyZWN0aXZlJztcblxuZXhwb3J0IHsgTGVhZmxldExheWVyc0NvbnRyb2xEaXJlY3RpdmUgfSBmcm9tICcuL2xpYi9sYXllcnMvY29udHJvbC9sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBMZWFmbGV0Q29udHJvbExheWVyc1dyYXBwZXIgfSBmcm9tICcuL2xpYi9sYXllcnMvY29udHJvbC9sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLndyYXBwZXInO1xuZXhwb3J0IHsgTGVhZmxldENvbnRyb2xMYXllcnNDb25maWcgfSBmcm9tICcuL2xpYi9sYXllcnMvY29udHJvbC9sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLWNvbmZpZy5tb2RlbCc7XG5leHBvcnQgeyBMZWFmbGV0Q29udHJvbExheWVyc0NoYW5nZXMgfSBmcm9tICcuL2xpYi9sYXllcnMvY29udHJvbC9sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLWNoYW5nZXMubW9kZWwnO1xuIl19
@@ -1,94 +0,0 @@
1
- import { ElementRef, EventEmitter, NgZone, OnChanges, OnDestroy, OnInit, SimpleChange } from '@angular/core';
2
- import { LatLng, LatLngBounds, LeafletEvent, LeafletMouseEvent, Map, MapOptions } from 'leaflet';
3
- import * as i0 from "@angular/core";
4
- export declare class LeafletDirective implements OnChanges, OnDestroy, OnInit {
5
- private element;
6
- private zone;
7
- readonly DEFAULT_ZOOM = 1;
8
- readonly DEFAULT_CENTER: LatLng;
9
- readonly DEFAULT_FPZ_OPTIONS: {};
10
- resizeTimer: any;
11
- map: Map;
12
- fitBoundsOptions: {};
13
- panOptions: {};
14
- zoomOptions: {};
15
- zoomPanOptions: {};
16
- options: MapOptions;
17
- mapReady: EventEmitter<Map>;
18
- zoom: number;
19
- zoomChange: EventEmitter<number>;
20
- center: LatLng;
21
- centerChange: EventEmitter<LatLng>;
22
- fitBounds: LatLngBounds;
23
- maxBounds: LatLngBounds;
24
- minZoom: number;
25
- maxZoom: number;
26
- onClick: EventEmitter<LeafletMouseEvent>;
27
- onDoubleClick: EventEmitter<LeafletMouseEvent>;
28
- onMouseDown: EventEmitter<LeafletMouseEvent>;
29
- onMouseUp: EventEmitter<LeafletMouseEvent>;
30
- onMouseMove: EventEmitter<LeafletMouseEvent>;
31
- onMouseOver: EventEmitter<LeafletMouseEvent>;
32
- onMouseOut: EventEmitter<LeafletMouseEvent>;
33
- onMapMove: EventEmitter<LeafletEvent>;
34
- onMapMoveStart: EventEmitter<LeafletEvent>;
35
- onMapMoveEnd: EventEmitter<LeafletEvent>;
36
- onMapZoom: EventEmitter<LeafletEvent>;
37
- onMapZoomStart: EventEmitter<LeafletEvent>;
38
- onMapZoomEnd: EventEmitter<LeafletEvent>;
39
- constructor(element: ElementRef, zone: NgZone);
40
- ngOnInit(): void;
41
- ngOnChanges(changes: {
42
- [key: string]: SimpleChange;
43
- }): void;
44
- ngOnDestroy(): void;
45
- getMap(): Map;
46
- onResize(): void;
47
- private addMapEventListeners;
48
- /**
49
- * Resize the map to fit it's parent container
50
- */
51
- private doResize;
52
- /**
53
- * Manage a delayed resize of the component
54
- */
55
- private delayResize;
56
- /**
57
- * Set the view (center/zoom) all at once
58
- * @param center The new center
59
- * @param zoom The new zoom level
60
- */
61
- private setView;
62
- /**
63
- * Set the map zoom level
64
- * @param zoom the new zoom level for the map
65
- */
66
- private setZoom;
67
- /**
68
- * Set the center of the map
69
- * @param center the center point
70
- */
71
- private setCenter;
72
- /**
73
- * Fit the map to the bounds
74
- * @param latLngBounds the boundary to set
75
- */
76
- private setFitBounds;
77
- /**
78
- * Set the map's max bounds
79
- * @param latLngBounds the boundary to set
80
- */
81
- private setMaxBounds;
82
- /**
83
- * Set the map's min zoom
84
- * @param number the new min zoom
85
- */
86
- private setMinZoom;
87
- /**
88
- * Set the map's min zoom
89
- * @param number the new min zoom
90
- */
91
- private setMaxZoom;
92
- static ɵfac: i0.ɵɵFactoryDeclaration<LeafletDirective, never>;
93
- static ɵdir: i0.ɵɵDirectiveDeclaration<LeafletDirective, "[leaflet]", never, { "fitBoundsOptions": { "alias": "leafletFitBoundsOptions"; "required": false; }; "panOptions": { "alias": "leafletPanOptions"; "required": false; }; "zoomOptions": { "alias": "leafletZoomOptions"; "required": false; }; "zoomPanOptions": { "alias": "leafletZoomPanOptions"; "required": false; }; "options": { "alias": "leafletOptions"; "required": false; }; "zoom": { "alias": "leafletZoom"; "required": false; }; "center": { "alias": "leafletCenter"; "required": false; }; "fitBounds": { "alias": "leafletFitBounds"; "required": false; }; "maxBounds": { "alias": "leafletMaxBounds"; "required": false; }; "minZoom": { "alias": "leafletMinZoom"; "required": false; }; "maxZoom": { "alias": "leafletMaxZoom"; "required": false; }; }, { "mapReady": "leafletMapReady"; "zoomChange": "leafletZoomChange"; "centerChange": "leafletCenterChange"; "onClick": "leafletClick"; "onDoubleClick": "leafletDoubleClick"; "onMouseDown": "leafletMouseDown"; "onMouseUp": "leafletMouseUp"; "onMouseMove": "leafletMouseMove"; "onMouseOver": "leafletMouseOver"; "onMouseOut": "leafletMouseOut"; "onMapMove": "leafletMapMove"; "onMapMoveStart": "leafletMapMoveStart"; "onMapMoveEnd": "leafletMapMoveEnd"; "onMapZoom": "leafletMapZoom"; "onMapZoomStart": "leafletMapZoomStart"; "onMapZoomEnd": "leafletMapZoomEnd"; }, never, never, false, never>;
94
- }
@@ -1,8 +0,0 @@
1
- import { LeafletDirective } from './leaflet.directive';
2
- import { Map } from 'leaflet';
3
- export declare class LeafletDirectiveWrapper {
4
- protected leafletDirective: LeafletDirective;
5
- constructor(leafletDirective: LeafletDirective);
6
- init(): void;
7
- getMap(): Map;
8
- }
@@ -1,7 +0,0 @@
1
- import { EventEmitter, NgZone } from '@angular/core';
2
- export declare class LeafletUtil {
3
- static mapToArray<T>(map: {
4
- [key: string]: T;
5
- }): T[];
6
- static handleEvent<T>(zone: NgZone, eventEmitter: EventEmitter<T>, event: T): void;
7
- }