@geosdi/ngx-leaflet-timedimension-plugin 1.0.6 → 1.1.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.
@@ -0,0 +1,217 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Injectable, NgModule } from '@angular/core';
3
+ import * as L from 'leaflet';
4
+ import * as i1 from '@angular/cdk/layout';
5
+
6
+ class NgxLeafletTimedimensionPluginService {
7
+ constructor(breakpointObserver) {
8
+ this.breakpointObserver = breakpointObserver;
9
+ this._playEnabled = false;
10
+ this.position = "topleft";
11
+ this.minSpeed = 1;
12
+ this.maxSpeed = 5;
13
+ }
14
+ /**
15
+ * @param range
16
+ */
17
+ withMap(map) {
18
+ this.map = map;
19
+ return this;
20
+ }
21
+ withPlayerOptions(options) {
22
+ this.playerOptions = options;
23
+ return this;
24
+ }
25
+ withPosition(position) {
26
+ this.position = position;
27
+ return this;
28
+ }
29
+ /***
30
+ * @param options
31
+ */
32
+ withTimeDimensionOptionsOptions(options) {
33
+ this.timeDimensionOptions = options;
34
+ return this;
35
+ }
36
+ /**
37
+ * @param maxSpeed
38
+ */
39
+ withMaxSpeed(maxSpeed) {
40
+ this.maxSpeed = maxSpeed;
41
+ return this;
42
+ }
43
+ /**
44
+ * @param minSpeed
45
+ */
46
+ withMinSpeed(minSpeed) {
47
+ this.minSpeed = minSpeed;
48
+ return this;
49
+ }
50
+ /**
51
+ *
52
+ * @param startTime
53
+ * @param endTime
54
+ */
55
+ refreshAvailableTimes(startTime, endTime) {
56
+ this.timeDimension.setAvailableTimes(L.TimeDimension.Util.explodeTimeRange(startTime, endTime, this._period), "replace");
57
+ }
58
+ /**
59
+ *
60
+ */
61
+ getCurrentTime() {
62
+ return this.timeDimension.getCurrentTime();
63
+ }
64
+ /**
65
+ * @param time
66
+ */
67
+ setCurrentTime(time) {
68
+ this.timeDimension.setCurrentTime(new Date(time));
69
+ }
70
+ /**
71
+ *
72
+ */
73
+ autoApdate() {
74
+ return (this.getUpperTimeLimit() === null ||
75
+ this.getUpperTimeLimit() === this.timeDimension.getCurrentTime());
76
+ }
77
+ /**
78
+ */
79
+ getLowerTimeLimit() {
80
+ return this.timeDimension.getAvailableTimes()[0];
81
+ }
82
+ /**
83
+ *
84
+ */
85
+ refreshTimeDimensionAtLastTime(time, range) {
86
+ const endTime = new Date(time);
87
+ const startTime = new Date(time - range);
88
+ this.refreshAvailableTimes(startTime, endTime);
89
+ }
90
+ /**
91
+ *
92
+ */
93
+ getUpperTimeLimit() {
94
+ const length = this.timeDimension.getAvailableTimes().length;
95
+ return this.timeDimension.getAvailableTimes()[length - 1];
96
+ }
97
+ /**
98
+ *
99
+ * @param time
100
+ */
101
+ setTransitionTime(time) {
102
+ this.player.setTransitionTime(time);
103
+ }
104
+ /**
105
+ *
106
+ * @param step
107
+ */
108
+ play(step) {
109
+ this.player.start(step);
110
+ }
111
+ /**
112
+ * @param looped
113
+ */
114
+ setPlayerToLoop(looped) {
115
+ this.player.setLooped(looped);
116
+ }
117
+ /**
118
+ *
119
+ * @param value
120
+ */
121
+ set period(value) {
122
+ this._period = value;
123
+ }
124
+ /**
125
+ */
126
+ applyTimeDimensionPlugin() {
127
+ if (!this.map) {
128
+ alert("Impossibile aggiungere il plugin timedimension");
129
+ }
130
+ else {
131
+ this.timeDimension = new L.TimeDimension(this.timeDimensionOptions);
132
+ this.player = new L.TimeDimension.Player(this.playerOptions, this.timeDimension);
133
+ this.timeDimensionControl = new L.Control.TimeDimension({
134
+ player: this.player,
135
+ loopButton: true,
136
+ playReverseButton: true,
137
+ timeSlider: this.isMd(),
138
+ speedSlider: this.isLg(),
139
+ position: this.position,
140
+ minSpeed: this.minSpeed,
141
+ maxSpeed: this.maxSpeed,
142
+ timeZones: ["Local", "UTC"],
143
+ });
144
+ this.player.on("play", (eo) => {
145
+ this._playEnabled = true;
146
+ });
147
+ this.player.on("stop", (eo) => {
148
+ this._playEnabled = false;
149
+ });
150
+ this.timeDimension.on("timeload", () => {
151
+ this.onLoadTimeChaged();
152
+ });
153
+ this.timeDimension.on("availabletimeschanged", (availableTimes) => {
154
+ this.onAvailableTimeChangedChaged();
155
+ });
156
+ this.map.timeDimension = this.timeDimension;
157
+ this.map.addControl(this.timeDimensionControl);
158
+ }
159
+ }
160
+ /**
161
+ *
162
+ */
163
+ onLoadTimeChaged() { }
164
+ /**
165
+ *
166
+ */
167
+ onAvailableTimeChangedChaged() { }
168
+ /**
169
+ *
170
+ */
171
+ isMd() {
172
+ return this.breakpointObserver.isMatched(["(min-width: 768px)"]);
173
+ }
174
+ /**
175
+ *
176
+ */
177
+ isLg() {
178
+ return this.breakpointObserver.isMatched(["(min-width: 992px)"]);
179
+ }
180
+ }
181
+ /** @nocollapse */ NgxLeafletTimedimensionPluginService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NgxLeafletTimedimensionPluginService, deps: [{ token: i1.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Injectable });
182
+ /** @nocollapse */ NgxLeafletTimedimensionPluginService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NgxLeafletTimedimensionPluginService, providedIn: "root" });
183
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NgxLeafletTimedimensionPluginService, decorators: [{
184
+ type: Injectable,
185
+ args: [{
186
+ providedIn: "root",
187
+ }]
188
+ }], ctorParameters: function () { return [{ type: i1.BreakpointObserver }]; } });
189
+
190
+ /**
191
+ * @author Vito Salvia - CNR IMAA geoSDI Group
192
+ * @email vito.salvia@gmail.com
193
+ */
194
+ class NgxLeafletTimedimensionPluginModule {
195
+ }
196
+ /** @nocollapse */ NgxLeafletTimedimensionPluginModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NgxLeafletTimedimensionPluginModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
197
+ /** @nocollapse */ NgxLeafletTimedimensionPluginModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: NgxLeafletTimedimensionPluginModule });
198
+ /** @nocollapse */ NgxLeafletTimedimensionPluginModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NgxLeafletTimedimensionPluginModule });
199
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NgxLeafletTimedimensionPluginModule, decorators: [{
200
+ type: NgModule,
201
+ args: [{
202
+ declarations: [],
203
+ imports: [],
204
+ exports: [],
205
+ }]
206
+ }] });
207
+
208
+ /*
209
+ * Public API Surface of ngx-leaflet-timedimension-plugin
210
+ */
211
+
212
+ /**
213
+ * Generated bundle index. Do not edit.
214
+ */
215
+
216
+ export { NgxLeafletTimedimensionPluginModule, NgxLeafletTimedimensionPluginService };
217
+ //# sourceMappingURL=geosdi-ngx-leaflet-timedimension-plugin.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geosdi-ngx-leaflet-timedimension-plugin.mjs","sources":["../../../../projects/geosdi/ngx-leaflet-timedimension-plugin/src/lib/ngx-leaflet-timedimension-plugin.service.ts","../../../../projects/geosdi/ngx-leaflet-timedimension-plugin/src/lib/ngx-leaflet-timedimension-plugin.module.ts","../../../../projects/geosdi/ngx-leaflet-timedimension-plugin/src/public-api.ts","../../../../projects/geosdi/ngx-leaflet-timedimension-plugin/src/geosdi-ngx-leaflet-timedimension-plugin.ts"],"sourcesContent":["import { Injectable } from \"@angular/core\";\nimport * as L from \"leaflet\";\nimport { BreakpointObserver } from \"@angular/cdk/layout\";\n\n/**\n * @author Vito Salvia - CNR IMAA geoSDI Group\n * @email vito.salvia@gmail.com\n */\n\n/**\n * @param title\n * @param pageSize\n * @param action\n */\nexport interface INgxLeafletTimedimensionPluginService {\n /**\n * @param map\n */\n withMap(map: any): INgxLeafletTimedimensionPluginService;\n\n /**\n * @param options\n */\n withPlayerOptions(options: any): INgxLeafletTimedimensionPluginService;\n\n /**\n * @param options\n */\n withTimeDimensionOptionsOptions(\n options: any,\n ): INgxLeafletTimedimensionPluginService;\n\n /**\n * @param position\n */\n withPosition(\n position: \"topleft\" | \"topright\" | \"bottomleft\" | \"bottomright\",\n ): INgxLeafletTimedimensionPluginService;\n\n /**\n * @param minSpeed\n */\n withMinSpeed(minSpeed: number): INgxLeafletTimedimensionPluginService;\n\n /**\n * @param maxSpeed\n */\n withMaxSpeed(maxSpeed: number): INgxLeafletTimedimensionPluginService;\n\n /*\n */\n applyTimeDimensionPlugin(): void;\n\n /**\n * @param startTime\n * @param endTime\n */\n refreshAvailableTimes(startTime: Date, endTime: Date): void;\n\n /**\n */\n getCurrentTime(): number;\n\n /**\n */\n getLowerTimeLimit(): number;\n\n /**\n * @param time\n * @param range\n */\n refreshTimeDimensionAtLastTime(time: number, range: number);\n\n /**\n */\n getUpperTimeLimit(): number;\n\n /**\n * @param step\n */\n play(step: number);\n\n /**\n * @param looped\n */\n setPlayerToLoop(looped: boolean): void;\n\n /**\n * @param time\n */\n setCurrentTime(time: number): any;\n}\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class NgxLeafletTimedimensionPluginService\n implements INgxLeafletTimedimensionPluginService\n{\n private player: L.TimeDimension.Player;\n private _playEnabled = false;\n private playerOptions: any;\n private timeDimensionOptions: any;\n private timeDimensionControl: L.Control.TimeDimension;\n private timeDimension: L.TimeDimension;\n private map: any;\n private _period: string;\n private position: string = \"topleft\";\n private minSpeed: number = 1;\n private maxSpeed: number = 5;\n\n constructor(public breakpointObserver: BreakpointObserver) {}\n\n /**\n * @param range\n */\n withMap(map: any): INgxLeafletTimedimensionPluginService {\n this.map = map;\n return this;\n }\n\n withPlayerOptions(options: any): INgxLeafletTimedimensionPluginService {\n this.playerOptions = options;\n return this;\n }\n\n withPosition(\n position: \"topleft\" | \"topright\" | \"bottomleft\" | \"bottomright\",\n ): INgxLeafletTimedimensionPluginService {\n this.position = position;\n return this;\n }\n\n /***\n * @param options\n */\n withTimeDimensionOptionsOptions(\n options: any,\n ): INgxLeafletTimedimensionPluginService {\n this.timeDimensionOptions = options;\n return this;\n }\n\n /**\n * @param maxSpeed\n */\n withMaxSpeed(maxSpeed: number): INgxLeafletTimedimensionPluginService {\n this.maxSpeed = maxSpeed;\n return this;\n }\n\n /**\n * @param minSpeed\n */\n withMinSpeed(minSpeed: number): INgxLeafletTimedimensionPluginService {\n this.minSpeed = minSpeed;\n return this;\n }\n\n /**\n *\n * @param startTime\n * @param endTime\n */\n public refreshAvailableTimes(startTime: Date, endTime: Date) {\n this.timeDimension.setAvailableTimes(\n L.TimeDimension.Util.explodeTimeRange(\n startTime,\n endTime,\n this._period,\n ),\n \"replace\",\n );\n }\n\n /**\n *\n */\n public getCurrentTime(): number {\n return this.timeDimension.getCurrentTime();\n }\n\n /**\n * @param time\n */\n public setCurrentTime(time: number): any {\n this.timeDimension.setCurrentTime(new Date(time));\n }\n\n /**\n *\n */\n public autoApdate(): boolean {\n return (\n this.getUpperTimeLimit() === null ||\n this.getUpperTimeLimit() === this.timeDimension.getCurrentTime()\n );\n }\n\n /**\n */\n public getLowerTimeLimit(): number {\n return this.timeDimension.getAvailableTimes()[0];\n }\n\n /**\n *\n */\n refreshTimeDimensionAtLastTime(time: number, range: number) {\n const endTime = new Date(time);\n const startTime = new Date(time - range);\n this.refreshAvailableTimes(startTime, endTime);\n }\n\n /**\n *\n */\n getUpperTimeLimit(): number {\n const length = this.timeDimension.getAvailableTimes().length;\n return this.timeDimension.getAvailableTimes()[length - 1];\n }\n\n /**\n *\n * @param time\n */\n setTransitionTime(time: number) {\n this.player.setTransitionTime(time);\n }\n\n /**\n *\n * @param step\n */\n play(step: number) {\n this.player.start(step);\n }\n\n /**\n * @param looped\n */\n setPlayerToLoop(looped: boolean): void {\n this.player.setLooped(looped);\n }\n\n /**\n *\n * @param value\n */\n set period(value: string) {\n this._period = value;\n }\n\n /**\n */\n applyTimeDimensionPlugin(): void {\n if (!this.map) {\n alert(\"Impossibile aggiungere il plugin timedimension\");\n } else {\n this.timeDimension = new L.TimeDimension(this.timeDimensionOptions);\n this.player = new L.TimeDimension.Player(\n this.playerOptions,\n this.timeDimension,\n );\n this.timeDimensionControl = new L.Control.TimeDimension({\n player: this.player,\n loopButton: true,\n playReverseButton: true,\n timeSlider: this.isMd(),\n speedSlider: this.isLg(),\n position: this.position,\n minSpeed: this.minSpeed,\n maxSpeed: this.maxSpeed,\n timeZones: [\"Local\", \"UTC\"],\n });\n\n this.player.on(\"play\", (eo) => {\n this._playEnabled = true;\n });\n this.player.on(\"stop\", (eo) => {\n this._playEnabled = false;\n });\n this.timeDimension.on(\"timeload\", () => {\n this.onLoadTimeChaged();\n });\n this.timeDimension.on(\"availabletimeschanged\", (availableTimes) => {\n this.onAvailableTimeChangedChaged();\n });\n this.map.timeDimension = this.timeDimension;\n this.map.addControl(this.timeDimensionControl);\n }\n }\n\n /**\n *\n */\n protected onLoadTimeChaged(): void {}\n\n /**\n *\n */\n protected onAvailableTimeChangedChaged(): void {}\n\n /**\n *\n */\n private isMd(): boolean {\n return this.breakpointObserver.isMatched([\"(min-width: 768px)\"]);\n }\n\n /**\n *\n */\n private isLg(): boolean {\n return this.breakpointObserver.isMatched([\"(min-width: 992px)\"]);\n }\n}\n","import { NgModule } from \"@angular/core\";\n\n/**\n * @author Vito Salvia - CNR IMAA geoSDI Group\n * @email vito.salvia@gmail.com\n */\n@NgModule({\n declarations: [],\n imports: [],\n exports: [],\n})\nexport class NgxLeafletTimedimensionPluginModule {}\n","/*\n * Public API Surface of ngx-leaflet-timedimension-plugin\n */\n\nexport * from \"./lib/ngx-leaflet-timedimension-plugin.service\";\nexport * from \"./lib/ngx-leaflet-timedimension-plugin.module\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,8 @@
1
1
  import * as i0 from "@angular/core";
2
+ /**
3
+ * @author Vito Salvia - CNR IMAA geoSDI Group
4
+ * @email vito.salvia@gmail.com
5
+ */
2
6
  export declare class NgxLeafletTimedimensionPluginModule {
3
7
  static ɵfac: i0.ɵɵFactoryDeclaration<NgxLeafletTimedimensionPluginModule, never>;
4
8
  static ɵmod: i0.ɵɵNgModuleDeclaration<NgxLeafletTimedimensionPluginModule, never, never, never>;
@@ -1,6 +1,9 @@
1
1
  import { BreakpointObserver } from "@angular/cdk/layout";
2
- import 'node_modules/leaflet-timedimension/dist/leaflet.timedimension.min';
3
2
  import * as i0 from "@angular/core";
3
+ /**
4
+ * @author Vito Salvia - CNR IMAA geoSDI Group
5
+ * @email vito.salvia@gmail.com
6
+ */
4
7
  /**
5
8
  * @param title
6
9
  * @param pageSize
@@ -22,7 +25,7 @@ export interface INgxLeafletTimedimensionPluginService {
22
25
  /**
23
26
  * @param position
24
27
  */
25
- withPosition(position: 'topleft' | 'topright' | 'bottomleft' | 'bottomright'): INgxLeafletTimedimensionPluginService;
28
+ withPosition(position: "topleft" | "topright" | "bottomleft" | "bottomright"): INgxLeafletTimedimensionPluginService;
26
29
  /**
27
30
  * @param minSpeed
28
31
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@geosdi/ngx-leaflet-timedimension-plugin",
3
- "version": "1.0.6",
3
+ "version": "1.1.0",
4
4
  "description": "Service to add timedimension to map",
5
5
  "author": "Salvia Vito (vito.salvia@gmail.com)",
6
6
  "keywords": [
@@ -13,18 +13,33 @@
13
13
  ],
14
14
  "license": "MIT",
15
15
  "dependencies": {
16
- "tslib": "^2.2.0"
16
+ "tslib": "^2.3.0"
17
17
  },
18
18
  "peerDependencies": {
19
- "@angular/common": ">=12.0.0",
20
- "@angular/core": ">=12.0.0",
21
- "leaflet": ">=1.7.1"
19
+ "@angular/common": ">=16.0.0",
20
+ "@angular/core": ">=16.0.0",
21
+ "leaflet": ">=1.9.3",
22
+ "typescript": ">=5.0.0",
23
+ "leaflet-timedimension": ">=1.1.1"
24
+ },
25
+ "module": "fesm2015/geosdi-ngx-leaflet-timedimension-plugin.mjs",
26
+ "es2020": "fesm2020/geosdi-ngx-leaflet-timedimension-plugin.mjs",
27
+ "esm2020": "esm2020/geosdi-ngx-leaflet-timedimension-plugin.mjs",
28
+ "fesm2020": "fesm2020/geosdi-ngx-leaflet-timedimension-plugin.mjs",
29
+ "fesm2015": "fesm2015/geosdi-ngx-leaflet-timedimension-plugin.mjs",
30
+ "typings": "index.d.ts",
31
+ "exports": {
32
+ "./package.json": {
33
+ "default": "./package.json"
34
+ },
35
+ ".": {
36
+ "types": "./index.d.ts",
37
+ "esm2020": "./esm2020/geosdi-ngx-leaflet-timedimension-plugin.mjs",
38
+ "es2020": "./fesm2020/geosdi-ngx-leaflet-timedimension-plugin.mjs",
39
+ "es2015": "./fesm2015/geosdi-ngx-leaflet-timedimension-plugin.mjs",
40
+ "node": "./fesm2015/geosdi-ngx-leaflet-timedimension-plugin.mjs",
41
+ "default": "./fesm2020/geosdi-ngx-leaflet-timedimension-plugin.mjs"
42
+ }
22
43
  },
23
- "main": "bundles/geosdi-ngx-leaflet-timedimension-plugin.umd.js",
24
- "module": "fesm2015/geosdi-ngx-leaflet-timedimension-plugin.js",
25
- "es2015": "fesm2015/geosdi-ngx-leaflet-timedimension-plugin.js",
26
- "esm2015": "esm2015/geosdi-ngx-leaflet-timedimension-plugin.js",
27
- "fesm2015": "fesm2015/geosdi-ngx-leaflet-timedimension-plugin.js",
28
- "typings": "geosdi-ngx-leaflet-timedimension-plugin.d.ts",
29
44
  "sideEffects": false
30
45
  }
package/public-api.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export * from './lib/ngx-leaflet-timedimension-plugin.service';
2
- export * from './lib/ngx-leaflet-timedimension-plugin.module';
1
+ export * from "./lib/ngx-leaflet-timedimension-plugin.service";
2
+ export * from "./lib/ngx-leaflet-timedimension-plugin.module";
@@ -1,251 +0,0 @@
1
- (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('leaflet'), require('node_modules/leaflet-timedimension/dist/leaflet.timedimension.min'), require('@angular/cdk/layout')) :
3
- typeof define === 'function' && define.amd ? define('@geosdi/ngx-leaflet-timedimension-plugin', ['exports', '@angular/core', 'leaflet', 'node_modules/leaflet-timedimension/dist/leaflet.timedimension.min', '@angular/cdk/layout'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.geosdi = global.geosdi || {}, global.geosdi["ngx-leaflet-timedimension-plugin"] = {}), global.ng.core, global.L, null, global.ng.cdk.layout));
5
- })(this, (function (exports, i0, L, leaflet_timedimension_min, i1) { 'use strict';
6
-
7
- function _interopNamespace(e) {
8
- if (e && e.__esModule) return e;
9
- var n = Object.create(null);
10
- if (e) {
11
- Object.keys(e).forEach(function (k) {
12
- if (k !== 'default') {
13
- var d = Object.getOwnPropertyDescriptor(e, k);
14
- Object.defineProperty(n, k, d.get ? d : {
15
- enumerable: true,
16
- get: function () { return e[k]; }
17
- });
18
- }
19
- });
20
- }
21
- n["default"] = e;
22
- return Object.freeze(n);
23
- }
24
-
25
- var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
26
- var L__namespace = /*#__PURE__*/_interopNamespace(L);
27
- var i1__namespace = /*#__PURE__*/_interopNamespace(i1);
28
-
29
- var NgxLeafletTimedimensionPluginService = /** @class */ (function () {
30
- function NgxLeafletTimedimensionPluginService(breakpointObserver) {
31
- this.breakpointObserver = breakpointObserver;
32
- this._playEnabled = false;
33
- this.position = 'topleft';
34
- this.minSpeed = 1;
35
- this.maxSpeed = 5;
36
- }
37
- /**
38
- * @param range
39
- */
40
- NgxLeafletTimedimensionPluginService.prototype.withMap = function (map) {
41
- this.map = map;
42
- return this;
43
- };
44
- NgxLeafletTimedimensionPluginService.prototype.withPlayerOptions = function (options) {
45
- this.playerOptions = options;
46
- return this;
47
- };
48
- NgxLeafletTimedimensionPluginService.prototype.withPosition = function (position) {
49
- this.position = position;
50
- return this;
51
- };
52
- /***
53
- * @param options
54
- */
55
- NgxLeafletTimedimensionPluginService.prototype.withTimeDimensionOptionsOptions = function (options) {
56
- this.timeDimensionOptions = options;
57
- return this;
58
- };
59
- /**
60
- * @param maxSpeed
61
- */
62
- NgxLeafletTimedimensionPluginService.prototype.withMaxSpeed = function (maxSpeed) {
63
- this.maxSpeed = maxSpeed;
64
- return this;
65
- };
66
- /**
67
- * @param minSpeed
68
- */
69
- NgxLeafletTimedimensionPluginService.prototype.withMinSpeed = function (minSpeed) {
70
- this.minSpeed = minSpeed;
71
- return this;
72
- };
73
- /**
74
- *
75
- * @param startTime
76
- * @param endTime
77
- */
78
- NgxLeafletTimedimensionPluginService.prototype.refreshAvailableTimes = function (startTime, endTime) {
79
- this.timeDimension.setAvailableTimes(L__namespace.TimeDimension.Util.explodeTimeRange(startTime, endTime, this._period), 'replace');
80
- };
81
- /**
82
- *
83
- */
84
- NgxLeafletTimedimensionPluginService.prototype.getCurrentTime = function () {
85
- return this.timeDimension.getCurrentTime();
86
- };
87
- /**
88
- * @param time
89
- */
90
- NgxLeafletTimedimensionPluginService.prototype.setCurrentTime = function (time) {
91
- this.timeDimension.setCurrentTime(new Date(time));
92
- };
93
- /**
94
- *
95
- */
96
- NgxLeafletTimedimensionPluginService.prototype.autoApdate = function () {
97
- return (this.getUpperTimeLimit() === null || this.getUpperTimeLimit() === this.timeDimension.getCurrentTime());
98
- };
99
- /**
100
- */
101
- NgxLeafletTimedimensionPluginService.prototype.getLowerTimeLimit = function () {
102
- return this.timeDimension.getAvailableTimes()[0];
103
- };
104
- /**
105
- *
106
- */
107
- NgxLeafletTimedimensionPluginService.prototype.refreshTimeDimensionAtLastTime = function (time, range) {
108
- var endTime = new Date(time);
109
- var startTime = new Date(time - range);
110
- this.refreshAvailableTimes(startTime, endTime);
111
- };
112
- /**
113
- *
114
- */
115
- NgxLeafletTimedimensionPluginService.prototype.getUpperTimeLimit = function () {
116
- var length = this.timeDimension.getAvailableTimes().length;
117
- return this.timeDimension.getAvailableTimes()[length - 1];
118
- };
119
- /**
120
- *
121
- * @param time
122
- */
123
- NgxLeafletTimedimensionPluginService.prototype.setTransitionTime = function (time) {
124
- this.player.setTransitionTime(time);
125
- };
126
- /**
127
- *
128
- * @param step
129
- */
130
- NgxLeafletTimedimensionPluginService.prototype.play = function (step) {
131
- this.player.start(step);
132
- };
133
- /**
134
- * @param looped
135
- */
136
- NgxLeafletTimedimensionPluginService.prototype.setPlayerToLoop = function (looped) {
137
- this.player.setLooped(looped);
138
- };
139
- Object.defineProperty(NgxLeafletTimedimensionPluginService.prototype, "period", {
140
- /**
141
- *
142
- * @param value
143
- */
144
- set: function (value) {
145
- this._period = value;
146
- },
147
- enumerable: false,
148
- configurable: true
149
- });
150
- /**
151
- */
152
- NgxLeafletTimedimensionPluginService.prototype.applyTimeDimensionPlugin = function () {
153
- var _this = this;
154
- if (!this.map) {
155
- alert('Impossibile aggiungere il plugin timedimension');
156
- }
157
- else {
158
- this.timeDimension = new L__namespace.TimeDimension(this.timeDimensionOptions);
159
- this.player = new L__namespace.TimeDimension.Player(this.playerOptions, this.timeDimension);
160
- this.timeDimensionControl = new L__namespace.Control.TimeDimension({
161
- player: this.player,
162
- loopButton: true,
163
- playReverseButton: true,
164
- timeSlider: this.isMd(),
165
- speedSlider: this.isLg(),
166
- position: this.position,
167
- minSpeed: this.minSpeed,
168
- maxSpeed: this.maxSpeed,
169
- timeZones: ['Local', 'UTC'],
170
- });
171
- this.player.on('play', function (eo) {
172
- _this._playEnabled = true;
173
- });
174
- this.player.on('stop', function (eo) {
175
- _this._playEnabled = false;
176
- });
177
- this.timeDimension.on('timeload', function () {
178
- _this.onLoadTimeChaged();
179
- });
180
- this.timeDimension.on('availabletimeschanged', function (availableTimes) {
181
- _this.onAvailableTimeChangedChaged();
182
- });
183
- this.map.timeDimension = this.timeDimension;
184
- this.map.addControl(this.timeDimensionControl);
185
- }
186
- };
187
- /**
188
- *
189
- */
190
- NgxLeafletTimedimensionPluginService.prototype.onLoadTimeChaged = function () {
191
- };
192
- /**
193
- *
194
- */
195
- NgxLeafletTimedimensionPluginService.prototype.onAvailableTimeChangedChaged = function () {
196
- };
197
- /**
198
- *
199
- */
200
- NgxLeafletTimedimensionPluginService.prototype.isMd = function () {
201
- return this.breakpointObserver.isMatched(['(min-width: 768px)']);
202
- };
203
- /**
204
- *
205
- */
206
- NgxLeafletTimedimensionPluginService.prototype.isLg = function () {
207
- return this.breakpointObserver.isMatched(['(min-width: 992px)']);
208
- };
209
- return NgxLeafletTimedimensionPluginService;
210
- }());
211
- /** @nocollapse */ NgxLeafletTimedimensionPluginService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0__namespace, type: NgxLeafletTimedimensionPluginService, deps: [{ token: i1__namespace.BreakpointObserver }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
212
- /** @nocollapse */ NgxLeafletTimedimensionPluginService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0__namespace, type: NgxLeafletTimedimensionPluginService, providedIn: 'root' });
213
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0__namespace, type: NgxLeafletTimedimensionPluginService, decorators: [{
214
- type: i0.Injectable,
215
- args: [{
216
- providedIn: 'root'
217
- }]
218
- }], ctorParameters: function () { return [{ type: i1__namespace.BreakpointObserver }]; } });
219
-
220
- var NgxLeafletTimedimensionPluginModule = /** @class */ (function () {
221
- function NgxLeafletTimedimensionPluginModule() {
222
- }
223
- return NgxLeafletTimedimensionPluginModule;
224
- }());
225
- /** @nocollapse */ NgxLeafletTimedimensionPluginModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0__namespace, type: NgxLeafletTimedimensionPluginModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
226
- /** @nocollapse */ NgxLeafletTimedimensionPluginModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0__namespace, type: NgxLeafletTimedimensionPluginModule });
227
- /** @nocollapse */ NgxLeafletTimedimensionPluginModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0__namespace, type: NgxLeafletTimedimensionPluginModule, imports: [[]] });
228
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0__namespace, type: NgxLeafletTimedimensionPluginModule, decorators: [{
229
- type: i0.NgModule,
230
- args: [{
231
- declarations: [],
232
- imports: [],
233
- exports: []
234
- }]
235
- }] });
236
-
237
- /*
238
- * Public API Surface of ngx-leaflet-timedimension-plugin
239
- */
240
-
241
- /**
242
- * Generated bundle index. Do not edit.
243
- */
244
-
245
- exports.NgxLeafletTimedimensionPluginModule = NgxLeafletTimedimensionPluginModule;
246
- exports.NgxLeafletTimedimensionPluginService = NgxLeafletTimedimensionPluginService;
247
-
248
- Object.defineProperty(exports, '__esModule', { value: true });
249
-
250
- }));
251
- //# sourceMappingURL=geosdi-ngx-leaflet-timedimension-plugin.umd.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"geosdi-ngx-leaflet-timedimension-plugin.umd.js","sources":["../../../../projects/geosdi/ngx-leaflet-timedimension-plugin/src/lib/ngx-leaflet-timedimension-plugin.service.ts","../../../../projects/geosdi/ngx-leaflet-timedimension-plugin/src/lib/ngx-leaflet-timedimension-plugin.module.ts","../../../../projects/geosdi/ngx-leaflet-timedimension-plugin/src/public-api.ts","../../../../projects/geosdi/ngx-leaflet-timedimension-plugin/src/geosdi-ngx-leaflet-timedimension-plugin.ts"],"sourcesContent":["import {Inject, Injectable} from '@angular/core';\nimport * as L from 'leaflet';\nimport {BreakpointObserver} from \"@angular/cdk/layout\";\nimport 'node_modules/leaflet-timedimension/dist/leaflet.timedimension.min';\n\n/**\n * @param title\n * @param pageSize\n * @param action\n */\n\nexport interface INgxLeafletTimedimensionPluginService {\n\n /**\n * @param map\n */\n withMap(map: any): INgxLeafletTimedimensionPluginService;\n\n /**\n * @param options\n */\n withPlayerOptions(options: any): INgxLeafletTimedimensionPluginService;\n\n /**\n * @param options\n */\n withTimeDimensionOptionsOptions(options: any): INgxLeafletTimedimensionPluginService;\n\n /**\n * @param position\n */\n withPosition(position: 'topleft' | 'topright' | 'bottomleft' | 'bottomright'): INgxLeafletTimedimensionPluginService;\n\n /**\n * @param minSpeed\n */\n withMinSpeed(minSpeed: number): INgxLeafletTimedimensionPluginService;\n\n /**\n * @param maxSpeed\n */\n withMaxSpeed(maxSpeed: number): INgxLeafletTimedimensionPluginService;\n\n /*\n */\n applyTimeDimensionPlugin(): void;\n\n /**\n * @param startTime\n * @param endTime\n */\n refreshAvailableTimes(startTime: Date, endTime: Date): void;\n\n /**\n */\n getCurrentTime(): number;\n\n /**\n */\n getLowerTimeLimit(): number;\n\n /**\n * @param time\n * @param range\n */\n refreshTimeDimensionAtLastTime(time: number, range: number);\n\n /**\n */\n getUpperTimeLimit(): number;\n\n /**\n * @param step\n */\n play(step: number);\n\n /**\n * @param looped\n */\n setPlayerToLoop(looped: boolean): void;\n\n /**\n * @param time\n */\n setCurrentTime(time: number): any;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NgxLeafletTimedimensionPluginService implements INgxLeafletTimedimensionPluginService{\n\n private player: L.TimeDimension.Player;\n private _playEnabled = false;\n private playerOptions: any;\n private timeDimensionOptions: any;\n private timeDimensionControl: L.Control.TimeDimension;\n private timeDimension: L.TimeDimension;\n private map: any;\n private _period: string\n private position: string = 'topleft'\n private minSpeed: number = 1;\n private maxSpeed: number = 5;\n\n constructor(public breakpointObserver: BreakpointObserver) {\n }\n\n /**\n * @param range\n */\n withMap(map: any): INgxLeafletTimedimensionPluginService {\n this.map = map;\n return this;\n }\n\n withPlayerOptions(options: any): INgxLeafletTimedimensionPluginService {\n this.playerOptions = options;\n return this;\n }\n\n withPosition(position: \"topleft\" | \"topright\" | \"bottomleft\" | \"bottomright\"): INgxLeafletTimedimensionPluginService {\n this.position = position;\n return this;\n }\n\n /***\n * @param options\n */\n withTimeDimensionOptionsOptions(options: any): INgxLeafletTimedimensionPluginService {\n this.timeDimensionOptions = options;\n return this;\n }\n\n /**\n * @param maxSpeed\n */\n withMaxSpeed(maxSpeed: number): INgxLeafletTimedimensionPluginService {\n this.maxSpeed = maxSpeed\n return this;\n }\n\n /**\n * @param minSpeed\n */\n withMinSpeed(minSpeed: number): INgxLeafletTimedimensionPluginService {\n this.minSpeed = minSpeed;\n return this;\n }\n\n /**\n *\n * @param startTime\n * @param endTime\n */\n public refreshAvailableTimes(startTime: Date, endTime: Date) {\n this.timeDimension.setAvailableTimes( L.TimeDimension.Util.explodeTimeRange(startTime, endTime, this._period), 'replace');\n }\n\n /**\n *\n */\n public getCurrentTime(): number {\n return this.timeDimension.getCurrentTime();\n }\n\n /**\n * @param time\n */\n public setCurrentTime(time: number): any {\n this.timeDimension.setCurrentTime(new Date(time));\n }\n\n /**\n *\n */\n public autoApdate(): boolean {\n return (this.getUpperTimeLimit() === null || this.getUpperTimeLimit() === this.timeDimension.getCurrentTime());\n }\n\n /**\n */\n public getLowerTimeLimit(): number {\n return this.timeDimension.getAvailableTimes()[0];\n }\n\n /**\n *\n */\n refreshTimeDimensionAtLastTime(time: number, range: number) {\n const endTime = new Date(time);\n const startTime = new Date(time - range);\n this.refreshAvailableTimes(startTime, endTime);\n }\n\n /**\n *\n */\n getUpperTimeLimit(): number {\n const length = this.timeDimension.getAvailableTimes().length;\n return this.timeDimension.getAvailableTimes()[length - 1];\n }\n\n /**\n *\n * @param time\n */\n setTransitionTime(time: number) {\n this.player.setTransitionTime(time);\n }\n\n /**\n *\n * @param step\n */\n play(step: number) {\n this.player.start(step);\n }\n\n /**\n * @param looped\n */\n setPlayerToLoop(looped: boolean): void {\n this.player.setLooped(looped);\n }\n\n /**\n *\n * @param value\n */\n set period(value: string) {\n this._period = value;\n }\n\n /**\n */\n applyTimeDimensionPlugin(): void {\n if (!this.map) {\n alert('Impossibile aggiungere il plugin timedimension');\n } else {\n this.timeDimension = new L.TimeDimension(this.timeDimensionOptions);\n this.player = new L.TimeDimension.Player(this.playerOptions, this.timeDimension);\n this.timeDimensionControl = new L.Control.TimeDimension({\n player: this.player,\n loopButton: true,\n playReverseButton: true,\n timeSlider: this.isMd(),\n speedSlider: this.isLg(),\n position: this.position,\n minSpeed: this.minSpeed,\n maxSpeed: this.maxSpeed,\n timeZones: ['Local', 'UTC'],\n });\n\n this.player.on('play', (eo) => {\n this._playEnabled = true;\n });\n this.player.on('stop', (eo) => {\n this._playEnabled = false;\n });\n this.timeDimension.on('timeload', () => {\n this.onLoadTimeChaged()\n });\n this.timeDimension.on('availabletimeschanged', (availableTimes) => {\n this.onAvailableTimeChangedChaged();\n });\n this.map.timeDimension = this.timeDimension;\n this.map.addControl(this.timeDimensionControl);\n }\n }\n\n /**\n *\n */\n protected onLoadTimeChaged(): void {\n\n }\n\n /**\n *\n */\n protected onAvailableTimeChangedChaged(): void {\n\n }\n\n /**\n *\n */\n private isMd(): boolean {\n return this.breakpointObserver.isMatched(['(min-width: 768px)']);\n }\n\n /**\n *\n */\n private isLg(): boolean {\n return this.breakpointObserver.isMatched(['(min-width: 992px)']);\n }\n}\n","import { NgModule } from '@angular/core';\n\n@NgModule({\n declarations: [\n ],\n imports: [\n ],\n exports: [\n ]\n})\nexport class NgxLeafletTimedimensionPluginModule { }\n","/*\n * Public API Surface of ngx-leaflet-timedimension-plugin\n */\n\nexport * from './lib/ngx-leaflet-timedimension-plugin.service';\nexport * from './lib/ngx-leaflet-timedimension-plugin.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["L","Injectable","NgModule"],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class NgxLeafletTimedimensionPluginModule {
4
- }
5
- /** @nocollapse */ NgxLeafletTimedimensionPluginModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: NgxLeafletTimedimensionPluginModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
6
- /** @nocollapse */ NgxLeafletTimedimensionPluginModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: NgxLeafletTimedimensionPluginModule });
7
- /** @nocollapse */ NgxLeafletTimedimensionPluginModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: NgxLeafletTimedimensionPluginModule, imports: [[]] });
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: NgxLeafletTimedimensionPluginModule, decorators: [{
9
- type: NgModule,
10
- args: [{
11
- declarations: [],
12
- imports: [],
13
- exports: []
14
- }]
15
- }] });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWxlYWZsZXQtdGltZWRpbWVuc2lvbi1wbHVnaW4ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2Vvc2RpL25neC1sZWFmbGV0LXRpbWVkaW1lbnNpb24tcGx1Z2luL3NyYy9saWIvbmd4LWxlYWZsZXQtdGltZWRpbWVuc2lvbi1wbHVnaW4ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBVXpDLE1BQU0sT0FBTyxtQ0FBbUM7O29KQUFuQyxtQ0FBbUM7cUpBQW5DLG1DQUFtQztxSkFBbkMsbUNBQW1DLFlBTHJDLEVBQ1I7NEZBSVUsbUNBQW1DO2tCQVIvQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxFQUNiO29CQUNELE9BQU8sRUFBRSxFQUNSO29CQUNELE9BQU8sRUFBRSxFQUNSO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgXSxcbiAgZXhwb3J0czogW1xuICBdXG59KVxuZXhwb3J0IGNsYXNzIE5neExlYWZsZXRUaW1lZGltZW5zaW9uUGx1Z2luTW9kdWxlIHsgfVxuIl19