@geosdi/ngx-leaflet-timedimension-plugin 1.1.4 → 1.1.5

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.
@@ -1,16 +1,16 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable } from '@angular/core';
2
+ import { inject, Injectable } from '@angular/core';
3
3
  import * as L from 'leaflet';
4
- import * as i1 from '@angular/cdk/layout';
4
+ import { BreakpointObserver } from '@angular/cdk/layout';
5
5
  import moment from 'moment';
6
6
 
7
7
  class NgxLeafletTimedimensionPluginService {
8
- constructor(breakpointObserver) {
9
- this.breakpointObserver = breakpointObserver;
8
+ constructor() {
10
9
  this._playEnabled = false;
11
10
  this.position = "topleft";
12
11
  this.minSpeed = 1;
13
12
  this.maxSpeed = 5;
13
+ this.breakpointObserver = inject(BreakpointObserver);
14
14
  }
15
15
  /**
16
16
  * @param range
@@ -187,15 +187,15 @@ class NgxLeafletTimedimensionPluginService {
187
187
  isLg() {
188
188
  return this.breakpointObserver.isMatched(["(min-width: 992px)"]);
189
189
  }
190
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgxLeafletTimedimensionPluginService, deps: [{ token: i1.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Injectable }); }
191
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgxLeafletTimedimensionPluginService, providedIn: "root" }); }
190
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: NgxLeafletTimedimensionPluginService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
191
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: NgxLeafletTimedimensionPluginService, providedIn: "root" }); }
192
192
  }
193
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgxLeafletTimedimensionPluginService, decorators: [{
193
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: NgxLeafletTimedimensionPluginService, decorators: [{
194
194
  type: Injectable,
195
195
  args: [{
196
196
  providedIn: "root",
197
197
  }]
198
- }], ctorParameters: () => [{ type: i1.BreakpointObserver }] });
198
+ }] });
199
199
 
200
200
  /*
201
201
  * Public API Surface of ngx-leaflet-timedimension-plugin
@@ -1 +1 @@
1
- {"version":3,"file":"geosdi-ngx-leaflet-timedimension-plugin.mjs","sources":["../../../../projects/geosdi/leaflet/ngx-leaflet-timedimension-plugin/src/lib/ngx-leaflet-timedimension-plugin.service.ts","../../../../projects/geosdi/leaflet/ngx-leaflet-timedimension-plugin/src/index.ts","../../../../projects/geosdi/leaflet/ngx-leaflet-timedimension-plugin/src/geosdi-ngx-leaflet-timedimension-plugin.ts"],"sourcesContent":["import { Injectable } from \"@angular/core\";\n//@ts-ignore\nimport * as L from \"leaflet\";\nimport { BreakpointObserver } from \"@angular/cdk/layout\";\nimport moment from \"moment\";\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 * @param dateTimeFormat\n */\n withDateTimeFormat(\n dateTimeFormat: string,\n ): 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): void;\n\n /**\n */\n getUpperTimeLimit(): number;\n\n /**\n * @param step\n */\n play(step: number): void;\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 private dateTimeFormat: string;\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 dateTimeFormat\n */\n withDateTimeFormat(\n dateTimeFormat: string,\n ): INgxLeafletTimedimensionPluginService {\n this.dateTimeFormat = dateTimeFormat;\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 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: any) => {\n this._playEnabled = true;\n });\n this.player.on(\"stop\", (eo: any) => {\n this._playEnabled = false;\n });\n this.timeDimension.on(\"timeload\", () => {\n this.onLoadTimeChaged();\n });\n this.timeDimension.on(\n \"availabletimeschanged\",\n (availableTimes: any) => {\n this.onAvailableTimeChangedChaged();\n },\n );\n\n if (this.dateTimeFormat)\n this.timeDimensionControl._getDisplayDateFormat = (date) => {\n return moment(date).format(this.dateTimeFormat); // \"ottobre 2025\"\n // oppure moment(date).format(\"MM/YYYY\");\n };\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","/*\n * Public API Surface of ngx-leaflet-timedimension-plugin\n */\n\nexport * from \"./lib/ngx-leaflet-timedimension-plugin.service\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"geosdi-ngx-leaflet-timedimension-plugin.mjs","sources":["../tmp-esm2022/lib/ngx-leaflet-timedimension-plugin.service.js","../tmp-esm2022/index.js","../tmp-esm2022/geosdi-ngx-leaflet-timedimension-plugin.js"],"sourcesContent":["import { Injectable, inject } from \"@angular/core\";\n//@ts-ignore\nimport * as L from \"leaflet\";\nimport { BreakpointObserver } from \"@angular/cdk/layout\";\nimport moment from \"moment\";\nimport * as i0 from \"@angular/core\";\nexport class NgxLeafletTimedimensionPluginService {\n constructor() {\n this._playEnabled = false;\n this.position = \"topleft\";\n this.minSpeed = 1;\n this.maxSpeed = 5;\n this.breakpointObserver = inject(BreakpointObserver);\n }\n /**\n * @param range\n */\n withMap(map) {\n this.map = map;\n return this;\n }\n withPlayerOptions(options) {\n this.playerOptions = options;\n return this;\n }\n withPosition(position) {\n this.position = position;\n return this;\n }\n /***\n * @param options\n */\n withTimeDimensionOptionsOptions(options) {\n this.timeDimensionOptions = options;\n return this;\n }\n /**\n * @param maxSpeed\n */\n withMaxSpeed(maxSpeed) {\n this.maxSpeed = maxSpeed;\n return this;\n }\n /**\n * @param dateTimeFormat\n */\n withDateTimeFormat(dateTimeFormat) {\n this.dateTimeFormat = dateTimeFormat;\n return this;\n }\n /**\n * @param minSpeed\n */\n withMinSpeed(minSpeed) {\n this.minSpeed = minSpeed;\n return this;\n }\n /**\n *\n * @param startTime\n * @param endTime\n */\n refreshAvailableTimes(startTime, endTime) {\n this.timeDimension.setAvailableTimes(L.TimeDimension.Util.explodeTimeRange(startTime, endTime, this._period), \"replace\");\n }\n /**\n *\n */\n getCurrentTime() {\n return this.timeDimension.getCurrentTime();\n }\n /**\n * @param time\n */\n setCurrentTime(time) {\n this.timeDimension.setCurrentTime(new Date(time));\n }\n /**\n *\n */\n autoApdate() {\n return (this.getUpperTimeLimit() === null ||\n this.getUpperTimeLimit() === this.timeDimension.getCurrentTime());\n }\n /**\n */\n getLowerTimeLimit() {\n return this.timeDimension.getAvailableTimes()[0];\n }\n /**\n *\n */\n refreshTimeDimensionAtLastTime(time, range) {\n const endTime = new Date(time);\n const startTime = new Date(time - range);\n this.refreshAvailableTimes(startTime, endTime);\n }\n /**\n *\n */\n getUpperTimeLimit() {\n const length = this.timeDimension.getAvailableTimes().length;\n return this.timeDimension.getAvailableTimes()[length - 1];\n }\n /**\n *\n * @param time\n */\n setTransitionTime(time) {\n this.player.setTransitionTime(time);\n }\n /**\n *\n * @param step\n */\n play(step) {\n this.player.start(step);\n }\n /**\n * @param looped\n */\n setPlayerToLoop(looped) {\n this.player.setLooped(looped);\n }\n /**\n *\n * @param value\n */\n set period(value) {\n this._period = value;\n }\n /**\n */\n applyTimeDimensionPlugin() {\n if (this.map) {\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 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 if (this.dateTimeFormat)\n this.timeDimensionControl._getDisplayDateFormat = (date) => {\n return moment(date).format(this.dateTimeFormat); // \"ottobre 2025\"\n // oppure moment(date).format(\"MM/YYYY\");\n };\n this.map.timeDimension = this.timeDimension;\n this.map.addControl(this.timeDimensionControl);\n }\n }\n /**\n *\n */\n onLoadTimeChaged() { }\n /**\n *\n */\n onAvailableTimeChangedChaged() { }\n /**\n *\n */\n isMd() {\n return this.breakpointObserver.isMatched([\"(min-width: 768px)\"]);\n }\n /**\n *\n */\n isLg() {\n return this.breakpointObserver.isMatched([\"(min-width: 992px)\"]);\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.6\", ngImport: i0, type: NgxLeafletTimedimensionPluginService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.6\", ngImport: i0, type: NgxLeafletTimedimensionPluginService, providedIn: \"root\" }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.6\", ngImport: i0, type: NgxLeafletTimedimensionPluginService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: \"root\",\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWxlYWZsZXQtdGltZWRpbWVuc2lvbi1wbHVnaW4uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dlb3NkaS9sZWFmbGV0L25neC1sZWFmbGV0LXRpbWVkaW1lbnNpb24tcGx1Z2luL3NyYy9saWIvbmd4LWxlYWZsZXQtdGltZWRpbWVuc2lvbi1wbHVnaW4uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxZQUFZO0FBQ1osT0FBTyxLQUFLLENBQUMsTUFBTSxTQUFTLENBQUM7QUFDN0IsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekQsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDOztBQXNHNUIsTUFBTSxPQUFPLG9DQUFvQztJQUhqRDtRQU9ZLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBT3JCLGFBQVEsR0FBVyxTQUFTLENBQUM7UUFDN0IsYUFBUSxHQUFXLENBQUMsQ0FBQztRQUNyQixhQUFRLEdBQVcsQ0FBQyxDQUFDO1FBRXRCLHVCQUFrQixHQUF1QixNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztLQStOOUU7SUE3Tkc7O09BRUc7SUFDSCxPQUFPLENBQUMsR0FBUTtRQUNaLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELGlCQUFpQixDQUFDLE9BQVk7UUFDMUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUM7UUFDN0IsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELFlBQVksQ0FDUixRQUErRDtRQUUvRCxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQ7O09BRUc7SUFDSCwrQkFB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IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG4vL0B0cy1pZ25vcmVcbmltcG9ydCAqIGFzIEwgZnJvbSBcImxlYWZsZXRcIjtcbmltcG9ydCB7IEJyZWFrcG9pbnRPYnNlcnZlciB9IGZyb20gXCJAYW5ndWxhci9jZGsvbGF5b3V0XCI7XG5pbXBvcnQgbW9tZW50IGZyb20gXCJtb21lbnRcIjtcblxuLyoqXG4gKiBAYXV0aG9yIFZpdG8gU2FsdmlhIC0gQ05SIElNQUEgZ2VvU0RJIEdyb3VwXG4gKiBAZW1haWwgdml0by5zYWx2aWFAZ21haWwuY29tXG4gKi9cblxuLyoqXG4gKiBAcGFyYW0gdGl0bGVcbiAqIEBwYXJhbSBwYWdlU2l6ZVxuICogQHBhcmFtIGFjdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIElOZ3hMZWFmbGV0VGltZWRpbWVuc2lvblBsdWdpblNlcnZpY2Uge1xuICAgIC8qKlxuICAgICAqIEBwYXJhbSBtYXBcbiAgICAgKi9cbiAgICB3aXRoTWFwKG1hcDogYW55KTogSU5neExlYWZsZXRUaW1lZGltZW5zaW9uUGx1Z2luU2VydmljZTtcblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBvcHRpb25zXG4gICAgICovXG4gICAgd2l0aFBsYXllck9wdGlvbnMob3B0aW9uczogYW55KTogSU5neExlYWZsZXRUaW1lZGltZW5zaW9uUGx1Z2luU2VydmljZTtcblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBvcHRpb25zXG4gICAgICovXG4gICAgd2l0aFRpbWVEaW1lbnNpb25PcHRpb25zT3B0aW9ucyhcbiAgICAgICAgb3B0aW9uczogYW55LFxuICAgICk6IElOZ3hMZWFmbGV0VGltZWRpbWVuc2lvblBsdWdpblNlcnZpY2U7XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gcG9zaXRpb25cbiAgICAgKi9cbiAgICB3aXRoUG9zaXRpb24oXG4gICAgICAgIHBvc2l0aW9uOiBcInRvcGxlZnRcIiB8IFwidG9wcmlnaHRcIiB8IFwiYm90dG9tbGVmdFwiIHwgXCJib3R0b21yaWdodFwiLFxuICAgICk6IElOZ3hMZWFmbGV0VGltZWRpbWVuc2lvblBsdWdpblNlcnZpY2U7XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gbWluU3BlZWRcbiAgICAgKi9cbiAgICB3aXRoTWluU3BlZWQobWluU3BlZWQ6IG51bWJlcik6IElOZ3hMZWFmbGV0VGltZWRpbWVuc2lvblBsdWdpblNlcnZpY2U7XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gbWF4U3BlZWRcbiAgICAgKi9cbiAgICB3aXRoTWF4U3BlZWQobWF4U3BlZWQ6IG51bWJlcik6IElOZ3hMZWFmbGV0VGltZWRpbWVuc2lvblBsdWdpblNlcnZpY2U7XG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqIEBwYXJhbSBkYXRlVGltZUZvcm1hdFxuICAgICAqL1xuICAgIHdpdGhEYXRlVGltZUZvcm1hdChcbiAgICAgICAgZGF0ZVRpbWVGb3JtYXQ6IHN0cmluZyxcbiAgICApOiBJTmd4TGVhZmxldFRpbWVkaW1lbnNpb25QbHVnaW5TZXJ2aWNlO1xuXG4gICAgLypcbiAgICAgKi9cbiAgICBhcHBseVRpbWVEaW1lbnNpb25QbHVnaW4oKTogdm9pZDtcblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBzdGFydFRpbWVcbiAgICAgKiBAcGFyYW0gZW5kVGltZVxuICAgICAqL1xuICAgIHJlZnJlc2hBdmFpbGFibGVUaW1lcyhzdGFydFRpbWU6IERhdGUsIGVuZFRpbWU6IERhdGUpOiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICovXG4gICAgZ2V0Q3VycmVudFRpbWUoKTogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICovXG4gICAgZ2V0TG93ZXJUaW1lTGltaXQoKTogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIHRpbWVcbiAgICAgKiBAcGFyYW0gcmFuZ2VcbiAgICAgKi9cbiAgICByZWZyZXNoVGltZURpbWVuc2lvbkF0TGFzdFRpbWUodGltZTogbnVtYmVyLCByYW5nZTogbnVtYmVyKTogdm9pZDtcblxuICAgIC8qKlxuICAgICAqL1xuICAgIGdldFVwcGVyVGltZUxpbWl0KCk6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBzdGVwXG4gICAgICovXG4gICAgcGxheShzdGVwOiBudW1iZXIpOiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIGxvb3BlZFxuICAgICAqL1xuICAgIHNldFBsYXllclRvTG9vcChsb29wZWQ6IGJvb2xlYW4pOiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIHRpbWVcbiAgICAgKi9cbiAgICBzZXRDdXJyZW50VGltZSh0aW1lOiBudW1iZXIpOiBhbnk7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiBcInJvb3RcIixcbn0pXG5leHBvcnQgY2xhc3MgTmd4TGVhZmxldFRpbWVkaW1lbnNpb25QbHVnaW5TZXJ2aWNlXG4gICAgaW1wbGVtZW50cyBJTmd4TGVhZmxldFRpbWVkaW1lbnNpb25QbHVnaW5TZXJ2aWNlXG57XG4gICAgcHJpdmF0ZSBwbGF5ZXI6IEwuVGltZURpbWVuc2lvbi5QbGF5ZXI7XG4gICAgcHJpdmF0ZSBfcGxheUVuYWJsZWQgPSBmYWxzZTtcbiAgICBwcml2YXRlIHBsYXllck9wdGlvbnM6IGFueTtcbiAgICBwcml2YXRlIHRpbWVEaW1lbnNpb25PcHRpb25zOiBhbnk7XG4gICAgcHJpdmF0ZSB0aW1lRGltZW5zaW9uQ29udHJvbDogTC5Db250cm9sLlRpbWVEaW1lbnNpb247XG4gICAgcHJpdmF0ZSB0aW1lRGltZW5zaW9uOiBMLlRpbWVEaW1lbnNpb247XG4gICAgcHJpdmF0ZSBtYXA6IGFueTtcbiAgICBwcml2YXRlIF9wZXJpb2Q6IHN0cmluZztcbiAgICBwcml2YXRlIHBvc2l0aW9uOiBzdHJpbmcgPSBcInRvcGxlZnRcIjtcbiAgICBwcml2YXRlIG1pblNwZWVkOiBudW1iZXIgPSAxO1xuICAgIHByaXZhdGUgbWF4U3BlZWQ6IG51bWJlciA9IDU7XG4gICAgcHJpdmF0ZSBkYXRlVGltZUZvcm1hdDogc3RyaW5nO1xuICAgIHB1YmxpYyBicmVha3BvaW50T2JzZXJ2ZXI6IEJyZWFrcG9pbnRPYnNlcnZlciA9IGluamVjdChCcmVha3BvaW50T2JzZXJ2ZXIpO1xuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIHJhbmdlXG4gICAgICovXG4gICAgd2l0aE1hcChtYXA6IGFueSk6IElOZ3hMZWFmbGV0VGltZWRpbWVuc2lvblBsdWdpblNlcnZpY2Uge1xuICAgICAgICB0aGlzLm1hcCA9IG1hcDtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgd2l0aFBsYXllck9wdGlvbnMob3B0aW9uczogYW55KTogSU5neExlYWZsZXRUaW1lZGltZW5zaW9uUGx1Z2luU2VydmljZSB7XG4gICAgICAgIHRoaXMucGxheWVyT3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHdpdGhQb3NpdGlvbihcbiAgICAgICAgcG9zaXRpb246IFwidG9wbGVmdFwiIHwgXCJ0b3ByaWdodFwiIHwgXCJib3R0b21sZWZ0XCIgfCBcImJvdHRvbXJpZ2h0XCIsXG4gICAgKTogSU5neExlYWZsZXRUaW1lZGltZW5zaW9uUGx1Z2luU2VydmljZSB7XG4gICAgICAgIHRoaXMucG9zaXRpb24gPSBwb3NpdGlvbjtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqKlxuICAgICAqIEBwYXJhbSBvcHRpb25zXG4gICAgICovXG4gICAgd2l0aFRpbWVEaW1lbnNpb25PcHRpb25zT3B0aW9ucyhcbiAgICAgICAgb3B0aW9uczogYW55LFxuICAgICk6IElOZ3hMZWFmbGV0VGltZWRpbWVuc2lvblBsdWdpblNlcnZpY2Uge1xuICAgICAgICB0aGlzLnRpbWVEaW1lbnNpb25PcHRpb25zID0gb3B0aW9ucztcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIG1heFNwZWVkXG4gICAgICovXG4gICAgd2l0aE1heFNwZWVkKG1heFNwZWVkOiBudW1iZXIpOiBJTmd4TGVhZmxldFRpbWVkaW1lbnNpb25QbHVnaW5TZXJ2aWNlIHtcbiAgICAgICAgdGhpcy5tYXhTcGVlZCA9IG1heFNwZWVkO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gZGF0ZVRpbWVGb3JtYXRcbiAgICAgKi9cbiAgICB3aXRoRGF0ZVRpbWVGb3JtYXQoXG4gICAgICAgIGRhdGVUaW1lRm9ybWF0OiBzdHJpbmcsXG4gICAgKTogSU5neExlYWZsZXRUaW1lZGltZW5zaW9uUGx1Z2luU2VydmljZSB7XG4gICAgICAgIHRoaXMuZGF0ZVRpbWVGb3JtYXQgPSBkYXRlVGltZUZvcm1hdDtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIG1pblNwZWVkXG4gICAgICovXG4gICAgd2l0aE1pblNwZWVkKG1pblNwZWVkOiBudW1iZXIpOiBJTmd4TGVhZmxldFRpbWVkaW1lbnNpb25QbHVnaW5TZXJ2aWNlIHtcbiAgICAgICAgdGhpcy5taW5TcGVlZCA9IG1pblNwZWVkO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqIEBwYXJhbSBzdGFydFRpbWVcbiAgICAgKiBAcGFyYW0gZW5kVGltZVxuICAgICAqL1xuICAgIHB1YmxpYyByZWZyZXNoQXZhaWxhYmxlVGltZXMoc3RhcnRUaW1lOiBEYXRlLCBlbmRUaW1lOiBEYXRlKSB7XG4gICAgICAgIHRoaXMudGltZURpbWVuc2lvbi5zZXRBdmFpbGFibGVUaW1lcyhcbiAgICAgICAgICAgIEwuVGltZURpbWVuc2lvbi5VdGlsLmV4cGxvZGVUaW1lUmFuZ2UoXG4gICAgICAgICAgICAgICAgc3RhcnRUaW1lLFxuICAgICAgICAgICAgICAgIGVuZFRpbWUsXG4gICAgICAgICAgICAgICAgdGhpcy5fcGVyaW9kLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIFwicmVwbGFjZVwiLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqXG4gICAgICovXG4gICAgcHVibGljIGdldEN1cnJlbnRUaW1lKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnRpbWVEaW1lbnNpb24uZ2V0Q3VycmVudFRpbWUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gdGltZVxuICAgICAqL1xuICAgIHB1YmxpYyBzZXRDdXJyZW50VGltZSh0aW1lOiBudW1iZXIpOiBhbnkge1xuICAgICAgICB0aGlzLnRpbWVEaW1lbnNpb24uc2V0Q3VycmVudFRpbWUobmV3IERhdGUodGltZSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqXG4gICAgICovXG4gICAgcHVibGljIGF1dG9BcGRhdGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLmdldFVwcGVyVGltZUxpbWl0KCkgPT09IG51bGwgfHxcbiAgICAgICAgICAgIHRoaXMuZ2V0VXBwZXJUaW1lTGltaXQoKSA9PT0gdGhpcy50aW1lRGltZW5zaW9uLmdldEN1cnJlbnRUaW1lKClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0TG93ZXJUaW1lTGltaXQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGltZURpbWVuc2lvbi5nZXRBdmFpbGFibGVUaW1lcygpWzBdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqXG4gICAgICovXG4gICAgcmVmcmVzaFRpbWVEaW1lbnNpb25BdExhc3RUaW1lKHRpbWU6IG51bWJlciwgcmFuZ2U6IG51bWJlcikge1xuICAgICAgICBjb25zdCBlbmRUaW1lID0gbmV3IERhdGUodGltZSk7XG4gICAgICAgIGNvbnN0IHN0YXJ0VGltZSA9IG5ldyBEYXRlKHRpbWUgLSByYW5nZSk7XG4gICAgICAgIHRoaXMucmVmcmVzaEF2YWlsYWJsZVRpbWVzKHN0YXJ0VGltZSwgZW5kVGltZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICpcbiAgICAgKi9cbiAgICBnZXRVcHBlclRpbWVMaW1pdCgpOiBudW1iZXIge1xuICAgICAgICBjb25zdCBsZW5ndGggPSB0aGlzLnRpbWVEaW1lbnNpb24uZ2V0QXZhaWxhYmxlVGltZXMoKS5sZW5ndGg7XG4gICAgICAgIHJldHVybiB0aGlzLnRpbWVEaW1lbnNpb24uZ2V0QXZhaWxhYmxlVGltZXMoKVtsZW5ndGggLSAxXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqIEBwYXJhbSB0aW1lXG4gICAgICovXG4gICAgc2V0VHJhbnNpdGlvblRpbWUodGltZTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMucGxheWVyLnNldFRyYW5zaXRpb25UaW1lKHRpbWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqXG4gICAgICogQHBhcmFtIHN0ZXBcbiAgICAgKi9cbiAgICBwbGF5KHN0ZXA6IG51bWJlcikge1xuICAgICAgICB0aGlzLnBsYXllci5zdGFydChzdGVwKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gbG9vcGVkXG4gICAgICovXG4gICAgc2V0UGxheWVyVG9Mb29wKGxvb3BlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnBsYXllci5zZXRMb29wZWQobG9vcGVkKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqIEBwYXJhbSB2YWx1ZVxuICAgICAqL1xuICAgIHNldCBwZXJpb2QodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9wZXJpb2QgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKi9cbiAgICBhcHBseVRpbWVEaW1lbnNpb25QbHVnaW4oKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm1hcCkge1xuICAgICAgICAgICAgdGhpcy50aW1lRGltZW5zaW9uID0gbmV3IEwuVGltZURpbWVuc2lvbih0aGlzLnRpbWVEaW1lbnNpb25PcHRpb25zKTtcbiAgICAgICAgICAgIHRoaXMucGxheWVyID0gbmV3IEwuVGltZURpbWVuc2lvbi5QbGF5ZXIoXG4gICAgICAgICAgICAgICAgdGhpcy5wbGF5ZXJPcHRpb25zLFxuICAgICAgICAgICAgICAgIHRoaXMudGltZURpbWVuc2lvbixcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLnRpbWVEaW1lbnNpb25Db250cm9sID0gbmV3IEwuQ29udHJvbC5UaW1lRGltZW5zaW9uKHtcbiAgICAgICAgICAgICAgICBwbGF5ZXI6IHRoaXMucGxheWVyLFxuICAgICAgICAgICAgICAgIGxvb3BCdXR0b246IHRydWUsXG4gICAgICAgICAgICAgICAgcGxheVJldmVyc2VCdXR0b246IHRydWUsXG4gICAgICAgICAgICAgICAgdGltZVNsaWRlcjogdGhpcy5pc01kKCksXG4gICAgICAgICAgICAgICAgc3BlZWRTbGlkZXI6IHRoaXMuaXNMZygpLFxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiB0aGlzLnBvc2l0aW9uLFxuICAgICAgICAgICAgICAgIG1pblNwZWVkOiB0aGlzLm1pblNwZWVkLFxuICAgICAgICAgICAgICAgIG1heFNwZWVkOiB0aGlzLm1heFNwZWVkLFxuICAgICAgICAgICAgICAgIHRpbWVab25lczogW1wiTG9jYWxcIiwgXCJVVENcIl0sXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgdGhpcy5wbGF5ZXIub24oXCJwbGF5XCIsIChlbzogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fcGxheUVuYWJsZWQgPSB0cnVlO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLnBsYXllci5vbihcInN0b3BcIiwgKGVvOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9wbGF5RW5hYmxlZCA9IGZhbHNlO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLnRpbWVEaW1lbnNpb24ub24oXCJ0aW1lbG9hZFwiLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5vbkxvYWRUaW1lQ2hhZ2VkKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMudGltZURpbWVuc2lvbi5vbihcbiAgICAgICAgICAgICAgICBcImF2YWlsYWJsZXRpbWVzY2hhbmdlZFwiLFxuICAgICAgICAgICAgICAgIChhdmFpbGFibGVUaW1lczogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25BdmFpbGFibGVUaW1lQ2hhbmdlZENoYWdlZCgpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5kYXRlVGltZUZvcm1hdClcbiAgICAgICAgICAgICAgICB0aGlzLnRpbWVEaW1lbnNpb25Db250cm9sLl9nZXREaXNwbGF5RGF0ZUZvcm1hdCA9IChkYXRlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBtb21lbnQoZGF0ZSkuZm9ybWF0KHRoaXMuZGF0ZVRpbWVGb3JtYXQpOyAvLyBcIm90dG9icmUgMjAyNVwiXG4gICAgICAgICAgICAgICAgICAgIC8vIG9wcHVyZSBtb21lbnQoZGF0ZSkuZm9ybWF0KFwiTU0vWVlZWVwiKTtcbiAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICB0aGlzLm1hcC50aW1lRGltZW5zaW9uID0gdGhpcy50aW1lRGltZW5zaW9uO1xuICAgICAgICAgICAgdGhpcy5tYXAuYWRkQ29udHJvbCh0aGlzLnRpbWVEaW1lbnNpb25Db250cm9sKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqXG4gICAgICovXG4gICAgcHJvdGVjdGVkIG9uTG9hZFRpbWVDaGFnZWQoKTogdm9pZCB7fVxuXG4gICAgLyoqXG4gICAgICpcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgb25BdmFpbGFibGVUaW1lQ2hhbmdlZENoYWdlZCgpOiB2b2lkIHt9XG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqL1xuICAgIHByaXZhdGUgaXNNZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYnJlYWtwb2ludE9ic2VydmVyLmlzTWF0Y2hlZChbXCIobWluLXdpZHRoOiA3NjhweClcIl0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqXG4gICAgICovXG4gICAgcHJpdmF0ZSBpc0xnKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5icmVha3BvaW50T2JzZXJ2ZXIuaXNNYXRjaGVkKFtcIihtaW4td2lkdGg6IDk5MnB4KVwiXSk7XG4gICAgfVxufVxuIl19","/*\n * Public API Surface of ngx-leaflet-timedimension-plugin\n */\nexport * from \"./lib/ngx-leaflet-timedimension-plugin.service\";\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9nZW9zZGkvbGVhZmxldC9uZ3gtbGVhZmxldC10aW1lZGltZW5zaW9uLXBsdWdpbi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGdEQUFnRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBuZ3gtbGVhZmxldC10aW1lZGltZW5zaW9uLXBsdWdpblxuICovXG5cbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9uZ3gtbGVhZmxldC10aW1lZGltZW5zaW9uLXBsdWdpbi5zZXJ2aWNlXCI7XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2Vvc2RpLW5neC1sZWFmbGV0LXRpbWVkaW1lbnNpb24tcGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2Vvc2RpL2xlYWZsZXQvbmd4LWxlYWZsZXQtdGltZWRpbWVuc2lvbi1wbHVnaW4vc3JjL2dlb3NkaS1uZ3gtbGVhZmxldC10aW1lZGltZW5zaW9uLXBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
package/index.d.ts CHANGED
@@ -1 +1,184 @@
1
- export * from "./lib/ngx-leaflet-timedimension-plugin.service";
1
+ import { BreakpointObserver } from '@angular/cdk/layout';
2
+ import * as i0 from '@angular/core';
3
+
4
+ /**
5
+ * @author Vito Salvia - CNR IMAA geoSDI Group
6
+ * @email vito.salvia@gmail.com
7
+ */
8
+ /**
9
+ * @param title
10
+ * @param pageSize
11
+ * @param action
12
+ */
13
+ interface INgxLeafletTimedimensionPluginService {
14
+ /**
15
+ * @param map
16
+ */
17
+ withMap(map: any): INgxLeafletTimedimensionPluginService;
18
+ /**
19
+ * @param options
20
+ */
21
+ withPlayerOptions(options: any): INgxLeafletTimedimensionPluginService;
22
+ /**
23
+ * @param options
24
+ */
25
+ withTimeDimensionOptionsOptions(options: any): INgxLeafletTimedimensionPluginService;
26
+ /**
27
+ * @param position
28
+ */
29
+ withPosition(position: "topleft" | "topright" | "bottomleft" | "bottomright"): INgxLeafletTimedimensionPluginService;
30
+ /**
31
+ * @param minSpeed
32
+ */
33
+ withMinSpeed(minSpeed: number): INgxLeafletTimedimensionPluginService;
34
+ /**
35
+ * @param maxSpeed
36
+ */
37
+ withMaxSpeed(maxSpeed: number): INgxLeafletTimedimensionPluginService;
38
+ /**
39
+ *
40
+ * @param dateTimeFormat
41
+ */
42
+ withDateTimeFormat(dateTimeFormat: string): INgxLeafletTimedimensionPluginService;
43
+ applyTimeDimensionPlugin(): void;
44
+ /**
45
+ * @param startTime
46
+ * @param endTime
47
+ */
48
+ refreshAvailableTimes(startTime: Date, endTime: Date): void;
49
+ /**
50
+ */
51
+ getCurrentTime(): number;
52
+ /**
53
+ */
54
+ getLowerTimeLimit(): number;
55
+ /**
56
+ * @param time
57
+ * @param range
58
+ */
59
+ refreshTimeDimensionAtLastTime(time: number, range: number): void;
60
+ /**
61
+ */
62
+ getUpperTimeLimit(): number;
63
+ /**
64
+ * @param step
65
+ */
66
+ play(step: number): void;
67
+ /**
68
+ * @param looped
69
+ */
70
+ setPlayerToLoop(looped: boolean): void;
71
+ /**
72
+ * @param time
73
+ */
74
+ setCurrentTime(time: number): any;
75
+ }
76
+ declare class NgxLeafletTimedimensionPluginService implements INgxLeafletTimedimensionPluginService {
77
+ private player;
78
+ private _playEnabled;
79
+ private playerOptions;
80
+ private timeDimensionOptions;
81
+ private timeDimensionControl;
82
+ private timeDimension;
83
+ private map;
84
+ private _period;
85
+ private position;
86
+ private minSpeed;
87
+ private maxSpeed;
88
+ private dateTimeFormat;
89
+ breakpointObserver: BreakpointObserver;
90
+ /**
91
+ * @param range
92
+ */
93
+ withMap(map: any): INgxLeafletTimedimensionPluginService;
94
+ withPlayerOptions(options: any): INgxLeafletTimedimensionPluginService;
95
+ withPosition(position: "topleft" | "topright" | "bottomleft" | "bottomright"): INgxLeafletTimedimensionPluginService;
96
+ /***
97
+ * @param options
98
+ */
99
+ withTimeDimensionOptionsOptions(options: any): INgxLeafletTimedimensionPluginService;
100
+ /**
101
+ * @param maxSpeed
102
+ */
103
+ withMaxSpeed(maxSpeed: number): INgxLeafletTimedimensionPluginService;
104
+ /**
105
+ * @param dateTimeFormat
106
+ */
107
+ withDateTimeFormat(dateTimeFormat: string): INgxLeafletTimedimensionPluginService;
108
+ /**
109
+ * @param minSpeed
110
+ */
111
+ withMinSpeed(minSpeed: number): INgxLeafletTimedimensionPluginService;
112
+ /**
113
+ *
114
+ * @param startTime
115
+ * @param endTime
116
+ */
117
+ refreshAvailableTimes(startTime: Date, endTime: Date): void;
118
+ /**
119
+ *
120
+ */
121
+ getCurrentTime(): number;
122
+ /**
123
+ * @param time
124
+ */
125
+ setCurrentTime(time: number): any;
126
+ /**
127
+ *
128
+ */
129
+ autoApdate(): boolean;
130
+ /**
131
+ */
132
+ getLowerTimeLimit(): number;
133
+ /**
134
+ *
135
+ */
136
+ refreshTimeDimensionAtLastTime(time: number, range: number): void;
137
+ /**
138
+ *
139
+ */
140
+ getUpperTimeLimit(): number;
141
+ /**
142
+ *
143
+ * @param time
144
+ */
145
+ setTransitionTime(time: number): void;
146
+ /**
147
+ *
148
+ * @param step
149
+ */
150
+ play(step: number): void;
151
+ /**
152
+ * @param looped
153
+ */
154
+ setPlayerToLoop(looped: boolean): void;
155
+ /**
156
+ *
157
+ * @param value
158
+ */
159
+ set period(value: string);
160
+ /**
161
+ */
162
+ applyTimeDimensionPlugin(): void;
163
+ /**
164
+ *
165
+ */
166
+ protected onLoadTimeChaged(): void;
167
+ /**
168
+ *
169
+ */
170
+ protected onAvailableTimeChangedChaged(): void;
171
+ /**
172
+ *
173
+ */
174
+ private isMd;
175
+ /**
176
+ *
177
+ */
178
+ private isLg;
179
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgxLeafletTimedimensionPluginService, never>;
180
+ static ɵprov: i0.ɵɵInjectableDeclaration<NgxLeafletTimedimensionPluginService>;
181
+ }
182
+
183
+ export { NgxLeafletTimedimensionPluginService };
184
+ export type { INgxLeafletTimedimensionPluginService };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@geosdi/ngx-leaflet-timedimension-plugin",
3
- "version": "1.1.4",
3
+ "version": "1.1.5",
4
4
  "description": "Service to add timedimension to map",
5
5
  "author": "Salvia Vito (vito.salvia@gmail.com)",
6
6
  "keywords": [
@@ -16,8 +16,8 @@
16
16
  "tslib": "^2.3.0"
17
17
  },
18
18
  "peerDependencies": {
19
- "@angular/common": ">=19.0.0",
20
- "@angular/core": ">=19.0.0",
19
+ "@angular/common": ">=20.0.0",
20
+ "@angular/core": ">=20.0.0",
21
21
  "leaflet": ">=1.9.3",
22
22
  "typescript": ">=5.0.0",
23
23
  "leaflet-timedimension": ">=1.1.1"
@@ -30,8 +30,6 @@
30
30
  },
31
31
  ".": {
32
32
  "types": "./index.d.ts",
33
- "esm2022": "./esm2022/geosdi-ngx-leaflet-timedimension-plugin.mjs",
34
- "esm": "./esm2022/geosdi-ngx-leaflet-timedimension-plugin.mjs",
35
33
  "default": "./fesm2022/geosdi-ngx-leaflet-timedimension-plugin.mjs"
36
34
  }
37
35
  },
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2Vvc2RpLW5neC1sZWFmbGV0LXRpbWVkaW1lbnNpb24tcGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2Vvc2RpL2xlYWZsZXQvbmd4LWxlYWZsZXQtdGltZWRpbWVuc2lvbi1wbHVnaW4vc3JjL2dlb3NkaS1uZ3gtbGVhZmxldC10aW1lZGltZW5zaW9uLXBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
package/esm2022/index.mjs DELETED
@@ -1,5 +0,0 @@
1
- /*
2
- * Public API Surface of ngx-leaflet-timedimension-plugin
3
- */
4
- export * from "./lib/ngx-leaflet-timedimension-plugin.service";
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9nZW9zZGkvbGVhZmxldC9uZ3gtbGVhZmxldC10aW1lZGltZW5zaW9uLXBsdWdpbi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGdEQUFnRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBuZ3gtbGVhZmxldC10aW1lZGltZW5zaW9uLXBsdWdpblxuICovXG5cbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9uZ3gtbGVhZmxldC10aW1lZGltZW5zaW9uLXBsdWdpbi5zZXJ2aWNlXCI7XG4iXX0=
@@ -1,200 +0,0 @@
1
- import { Injectable } from "@angular/core";
2
- //@ts-ignore
3
- import * as L from "leaflet";
4
- import { BreakpointObserver } from "@angular/cdk/layout";
5
- import moment from "moment";
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/cdk/layout";
8
- export class NgxLeafletTimedimensionPluginService {
9
- constructor(breakpointObserver) {
10
- this.breakpointObserver = breakpointObserver;
11
- this._playEnabled = false;
12
- this.position = "topleft";
13
- this.minSpeed = 1;
14
- this.maxSpeed = 5;
15
- }
16
- /**
17
- * @param range
18
- */
19
- withMap(map) {
20
- this.map = map;
21
- return this;
22
- }
23
- withPlayerOptions(options) {
24
- this.playerOptions = options;
25
- return this;
26
- }
27
- withPosition(position) {
28
- this.position = position;
29
- return this;
30
- }
31
- /***
32
- * @param options
33
- */
34
- withTimeDimensionOptionsOptions(options) {
35
- this.timeDimensionOptions = options;
36
- return this;
37
- }
38
- /**
39
- * @param maxSpeed
40
- */
41
- withMaxSpeed(maxSpeed) {
42
- this.maxSpeed = maxSpeed;
43
- return this;
44
- }
45
- /**
46
- * @param dateTimeFormat
47
- */
48
- withDateTimeFormat(dateTimeFormat) {
49
- this.dateTimeFormat = dateTimeFormat;
50
- return this;
51
- }
52
- /**
53
- * @param minSpeed
54
- */
55
- withMinSpeed(minSpeed) {
56
- this.minSpeed = minSpeed;
57
- return this;
58
- }
59
- /**
60
- *
61
- * @param startTime
62
- * @param endTime
63
- */
64
- refreshAvailableTimes(startTime, endTime) {
65
- this.timeDimension.setAvailableTimes(L.TimeDimension.Util.explodeTimeRange(startTime, endTime, this._period), "replace");
66
- }
67
- /**
68
- *
69
- */
70
- getCurrentTime() {
71
- return this.timeDimension.getCurrentTime();
72
- }
73
- /**
74
- * @param time
75
- */
76
- setCurrentTime(time) {
77
- this.timeDimension.setCurrentTime(new Date(time));
78
- }
79
- /**
80
- *
81
- */
82
- autoApdate() {
83
- return (this.getUpperTimeLimit() === null ||
84
- this.getUpperTimeLimit() === this.timeDimension.getCurrentTime());
85
- }
86
- /**
87
- */
88
- getLowerTimeLimit() {
89
- return this.timeDimension.getAvailableTimes()[0];
90
- }
91
- /**
92
- *
93
- */
94
- refreshTimeDimensionAtLastTime(time, range) {
95
- const endTime = new Date(time);
96
- const startTime = new Date(time - range);
97
- this.refreshAvailableTimes(startTime, endTime);
98
- }
99
- /**
100
- *
101
- */
102
- getUpperTimeLimit() {
103
- const length = this.timeDimension.getAvailableTimes().length;
104
- return this.timeDimension.getAvailableTimes()[length - 1];
105
- }
106
- /**
107
- *
108
- * @param time
109
- */
110
- setTransitionTime(time) {
111
- this.player.setTransitionTime(time);
112
- }
113
- /**
114
- *
115
- * @param step
116
- */
117
- play(step) {
118
- this.player.start(step);
119
- }
120
- /**
121
- * @param looped
122
- */
123
- setPlayerToLoop(looped) {
124
- this.player.setLooped(looped);
125
- }
126
- /**
127
- *
128
- * @param value
129
- */
130
- set period(value) {
131
- this._period = value;
132
- }
133
- /**
134
- */
135
- applyTimeDimensionPlugin() {
136
- if (this.map) {
137
- this.timeDimension = new L.TimeDimension(this.timeDimensionOptions);
138
- this.player = new L.TimeDimension.Player(this.playerOptions, this.timeDimension);
139
- this.timeDimensionControl = new L.Control.TimeDimension({
140
- player: this.player,
141
- loopButton: true,
142
- playReverseButton: true,
143
- timeSlider: this.isMd(),
144
- speedSlider: this.isLg(),
145
- position: this.position,
146
- minSpeed: this.minSpeed,
147
- maxSpeed: this.maxSpeed,
148
- timeZones: ["Local", "UTC"],
149
- });
150
- this.player.on("play", (eo) => {
151
- this._playEnabled = true;
152
- });
153
- this.player.on("stop", (eo) => {
154
- this._playEnabled = false;
155
- });
156
- this.timeDimension.on("timeload", () => {
157
- this.onLoadTimeChaged();
158
- });
159
- this.timeDimension.on("availabletimeschanged", (availableTimes) => {
160
- this.onAvailableTimeChangedChaged();
161
- });
162
- if (this.dateTimeFormat)
163
- this.timeDimensionControl._getDisplayDateFormat = (date) => {
164
- return moment(date).format(this.dateTimeFormat); // "ottobre 2025"
165
- // oppure moment(date).format("MM/YYYY");
166
- };
167
- this.map.timeDimension = this.timeDimension;
168
- this.map.addControl(this.timeDimensionControl);
169
- }
170
- }
171
- /**
172
- *
173
- */
174
- onLoadTimeChaged() { }
175
- /**
176
- *
177
- */
178
- onAvailableTimeChangedChaged() { }
179
- /**
180
- *
181
- */
182
- isMd() {
183
- return this.breakpointObserver.isMatched(["(min-width: 768px)"]);
184
- }
185
- /**
186
- *
187
- */
188
- isLg() {
189
- return this.breakpointObserver.isMatched(["(min-width: 992px)"]);
190
- }
191
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgxLeafletTimedimensionPluginService, deps: [{ token: i1.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Injectable }); }
192
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgxLeafletTimedimensionPluginService, providedIn: "root" }); }
193
- }
194
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgxLeafletTimedimensionPluginService, decorators: [{
195
- type: Injectable,
196
- args: [{
197
- providedIn: "root",
198
- }]
199
- }], ctorParameters: () => [{ type: i1.BreakpointObserver }] });
200
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWxlYWZsZXQtdGltZWRpbWVuc2lvbi1wbHVnaW4uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dlb3NkaS9sZWFmbGV0L25neC1sZWFmbGV0LXRpbWVkaW1lbnNpb24tcGx1Z2luL3NyYy9saWIvbmd4LWxlYWZsZXQtdGltZWRpbWVuc2lvbi1wbHVnaW4uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLFlBQVk7QUFDWixPQUFPLEtBQUssQ0FBQyxNQUFNLFNBQVMsQ0FBQztBQUM3QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RCxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7OztBQXNHNUIsTUFBTSxPQUFPLG9DQUFvQztJQWdCN0MsWUFBbUIsa0JBQXNDO1FBQXRDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFaakQsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFPckIsYUFBUSxHQUFXLFNBQVMsQ0FBQztRQUM3QixhQUFRLEdBQVcsQ0FBQyxDQUFDO1FBQ3JCLGFBQVEsR0FBVyxDQUFDLENBQUM7SUFHK0IsQ0FBQztJQUU3RDs7T0FFRztJQUNILE9BQU8sQ0FBQyxHQUFRO1FBQ1osSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsT0FBWTtRQUMxQixJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQztRQUM3QixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsWUFBWSxDQUNSLFFBQStEO1FBRS9ELElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7T0FFRztJQUNILCtCQUErQixD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aW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG4vL0B0cy1pZ25vcmVcbmltcG9ydCAqIGFzIEwgZnJvbSBcImxlYWZsZXRcIjtcbmltcG9ydCB7IEJyZWFrcG9pbnRPYnNlcnZlciB9IGZyb20gXCJAYW5ndWxhci9jZGsvbGF5b3V0XCI7XG5pbXBvcnQgbW9tZW50IGZyb20gXCJtb21lbnRcIjtcblxuLyoqXG4gKiBAYXV0aG9yIFZpdG8gU2FsdmlhIC0gQ05SIElNQUEgZ2VvU0RJIEdyb3VwXG4gKiBAZW1haWwgdml0by5zYWx2aWFAZ21haWwuY29tXG4gKi9cblxuLyoqXG4gKiBAcGFyYW0gdGl0bGVcbiAqIEBwYXJhbSBwYWdlU2l6ZVxuICogQHBhcmFtIGFjdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIElOZ3hMZWFmbGV0VGltZWRpbWVuc2lvblBsdWdpblNlcnZpY2Uge1xuICAgIC8qKlxuICAgICAqIEBwYXJhbSBtYXBcbiAgICAgKi9cbiAgICB3aXRoTWFwKG1hcDogYW55KTogSU5neExlYWZsZXRUaW1lZGltZW5zaW9uUGx1Z2luU2VydmljZTtcblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBvcHRpb25zXG4gICAgICovXG4gICAgd2l0aFBsYXllck9wdGlvbnMob3B0aW9uczogYW55KTogSU5neExlYWZsZXRUaW1lZGltZW5zaW9uUGx1Z2luU2VydmljZTtcblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBvcHRpb25zXG4gICAgICovXG4gICAgd2l0aFRpbWVEaW1lbnNpb25PcHRpb25zT3B0aW9ucyhcbiAgICAgICAgb3B0aW9uczogYW55LFxuICAgICk6IElOZ3hMZWFmbGV0VGltZWRpbWVuc2lvblBsdWdpblNlcnZpY2U7XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gcG9zaXRpb25cbiAgICAgKi9cbiAgICB3aXRoUG9zaXRpb24oXG4gICAgICAgIHBvc2l0aW9uOiBcInRvcGxlZnRcIiB8IFwidG9wcmlnaHRcIiB8IFwiYm90dG9tbGVmdFwiIHwgXCJib3R0b21yaWdodFwiLFxuICAgICk6IElOZ3hMZWFmbGV0VGltZWRpbWVuc2lvblBsdWdpblNlcnZpY2U7XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gbWluU3BlZWRcbiAgICAgKi9cbiAgICB3aXRoTWluU3BlZWQobWluU3BlZWQ6IG51bWJlcik6IElOZ3hMZWFmbGV0VGltZWRpbWVuc2lvblBsdWdpblNlcnZpY2U7XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gbWF4U3BlZWRcbiAgICAgKi9cbiAgICB3aXRoTWF4U3BlZWQobWF4U3BlZWQ6IG51bWJlcik6IElOZ3hMZWFmbGV0VGltZWRpbWVuc2lvblBsdWdpblNlcnZpY2U7XG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqIEBwYXJhbSBkYXRlVGltZUZvcm1hdFxuICAgICAqL1xuICAgIHdpdGhEYXRlVGltZUZvcm1hdChcbiAgICAgICAgZGF0ZVRpbWVGb3JtYXQ6IHN0cmluZyxcbiAgICApOiBJTmd4TGVhZmxldFRpbWVkaW1lbnNpb25QbHVnaW5TZXJ2aWNlO1xuXG4gICAgLypcbiAgICAgKi9cbiAgICBhcHBseVRpbWVEaW1lbnNpb25QbHVnaW4oKTogdm9pZDtcblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBzdGFydFRpbWVcbiAgICAgKiBAcGFyYW0gZW5kVGltZVxuICAgICAqL1xuICAgIHJlZnJlc2hBdmFpbGFibGVUaW1lcyhzdGFydFRpbWU6IERhdGUsIGVuZFRpbWU6IERhdGUpOiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICovXG4gICAgZ2V0Q3VycmVudFRpbWUoKTogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICovXG4gICAgZ2V0TG93ZXJUaW1lTGltaXQoKTogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIHRpbWVcbiAgICAgKiBAcGFyYW0gcmFuZ2VcbiAgICAgKi9cbiAgICByZWZyZXNoVGltZURpbWVuc2lvbkF0TGFzdFRpbWUodGltZTogbnVtYmVyLCByYW5nZTogbnVtYmVyKTogdm9pZDtcblxuICAgIC8qKlxuICAgICAqL1xuICAgIGdldFVwcGVyVGltZUxpbWl0KCk6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBzdGVwXG4gICAgICovXG4gICAgcGxheShzdGVwOiBudW1iZXIpOiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIGxvb3BlZFxuICAgICAqL1xuICAgIHNldFBsYXllclRvTG9vcChsb29wZWQ6IGJvb2xlYW4pOiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIHRpbWVcbiAgICAgKi9cbiAgICBzZXRDdXJyZW50VGltZSh0aW1lOiBudW1iZXIpOiBhbnk7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiBcInJvb3RcIixcbn0pXG5leHBvcnQgY2xhc3MgTmd4TGVhZmxldFRpbWVkaW1lbnNpb25QbHVnaW5TZXJ2aWNlXG4gICAgaW1wbGVtZW50cyBJTmd4TGVhZmxldFRpbWVkaW1lbnNpb25QbHVnaW5TZXJ2aWNlXG57XG4gICAgcHJpdmF0ZSBwbGF5ZXI6IEwuVGltZURpbWVuc2lvbi5QbGF5ZXI7XG4gICAgcHJpdmF0ZSBfcGxheUVuYWJsZWQgPSBmYWxzZTtcbiAgICBwcml2YXRlIHBsYXllck9wdGlvbnM6IGFueTtcbiAgICBwcml2YXRlIHRpbWVEaW1lbnNpb25PcHRpb25zOiBhbnk7XG4gICAgcHJpdmF0ZSB0aW1lRGltZW5zaW9uQ29udHJvbDogTC5Db250cm9sLlRpbWVEaW1lbnNpb247XG4gICAgcHJpdmF0ZSB0aW1lRGltZW5zaW9uOiBMLlRpbWVEaW1lbnNpb247XG4gICAgcHJpdmF0ZSBtYXA6IGFueTtcbiAgICBwcml2YXRlIF9wZXJpb2Q6IHN0cmluZztcbiAgICBwcml2YXRlIHBvc2l0aW9uOiBzdHJpbmcgPSBcInRvcGxlZnRcIjtcbiAgICBwcml2YXRlIG1pblNwZWVkOiBudW1iZXIgPSAxO1xuICAgIHByaXZhdGUgbWF4U3BlZWQ6IG51bWJlciA9IDU7XG4gICAgcHJpdmF0ZSBkYXRlVGltZUZvcm1hdDogc3RyaW5nO1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIGJyZWFrcG9pbnRPYnNlcnZlcjogQnJlYWtwb2ludE9ic2VydmVyKSB7fVxuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIHJhbmdlXG4gICAgICovXG4gICAgd2l0aE1hcChtYXA6IGFueSk6IElOZ3hMZWFmbGV0VGltZWRpbWVuc2lvblBsdWdpblNlcnZpY2Uge1xuICAgICAgICB0aGlzLm1hcCA9IG1hcDtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgd2l0aFBsYXllck9wdGlvbnMob3B0aW9uczogYW55KTogSU5neExlYWZsZXRUaW1lZGltZW5zaW9uUGx1Z2luU2VydmljZSB7XG4gICAgICAgIHRoaXMucGxheWVyT3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHdpdGhQb3NpdGlvbihcbiAgICAgICAgcG9zaXRpb246IFwidG9wbGVmdFwiIHwgXCJ0b3ByaWdodFwiIHwgXCJib3R0b21sZWZ0XCIgfCBcImJvdHRvbXJpZ2h0XCIsXG4gICAgKTogSU5neExlYWZsZXRUaW1lZGltZW5zaW9uUGx1Z2luU2VydmljZSB7XG4gICAgICAgIHRoaXMucG9zaXRpb24gPSBwb3NpdGlvbjtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqKlxuICAgICAqIEBwYXJhbSBvcHRpb25zXG4gICAgICovXG4gICAgd2l0aFRpbWVEaW1lbnNpb25PcHRpb25zT3B0aW9ucyhcbiAgICAgICAgb3B0aW9uczogYW55LFxuICAgICk6IElOZ3hMZWFmbGV0VGltZWRpbWVuc2lvblBsdWdpblNlcnZpY2Uge1xuICAgICAgICB0aGlzLnRpbWVEaW1lbnNpb25PcHRpb25zID0gb3B0aW9ucztcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIG1heFNwZWVkXG4gICAgICovXG4gICAgd2l0aE1heFNwZWVkKG1heFNwZWVkOiBudW1iZXIpOiBJTmd4TGVhZmxldFRpbWVkaW1lbnNpb25QbHVnaW5TZXJ2aWNlIHtcbiAgICAgICAgdGhpcy5tYXhTcGVlZCA9IG1heFNwZWVkO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gZGF0ZVRpbWVGb3JtYXRcbiAgICAgKi9cbiAgICB3aXRoRGF0ZVRpbWVGb3JtYXQoXG4gICAgICAgIGRhdGVUaW1lRm9ybWF0OiBzdHJpbmcsXG4gICAgKTogSU5neExlYWZsZXRUaW1lZGltZW5zaW9uUGx1Z2luU2VydmljZSB7XG4gICAgICAgIHRoaXMuZGF0ZVRpbWVGb3JtYXQgPSBkYXRlVGltZUZvcm1hdDtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIG1pblNwZWVkXG4gICAgICovXG4gICAgd2l0aE1pblNwZWVkKG1pblNwZWVkOiBudW1iZXIpOiBJTmd4TGVhZmxldFRpbWVkaW1lbnNpb25QbHVnaW5TZXJ2aWNlIHtcbiAgICAgICAgdGhpcy5taW5TcGVlZCA9IG1pblNwZWVkO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqIEBwYXJhbSBzdGFydFRpbWVcbiAgICAgKiBAcGFyYW0gZW5kVGltZVxuICAgICAqL1xuICAgIHB1YmxpYyByZWZyZXNoQXZhaWxhYmxlVGltZXMoc3RhcnRUaW1lOiBEYXRlLCBlbmRUaW1lOiBEYXRlKSB7XG4gICAgICAgIHRoaXMudGltZURpbWVuc2lvbi5zZXRBdmFpbGFibGVUaW1lcyhcbiAgICAgICAgICAgIEwuVGltZURpbWVuc2lvbi5VdGlsLmV4cGxvZGVUaW1lUmFuZ2UoXG4gICAgICAgICAgICAgICAgc3RhcnRUaW1lLFxuICAgICAgICAgICAgICAgIGVuZFRpbWUsXG4gICAgICAgICAgICAgICAgdGhpcy5fcGVyaW9kLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIFwicmVwbGFjZVwiLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqXG4gICAgICovXG4gICAgcHVibGljIGdldEN1cnJlbnRUaW1lKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnRpbWVEaW1lbnNpb24uZ2V0Q3VycmVudFRpbWUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gdGltZVxuICAgICAqL1xuICAgIHB1YmxpYyBzZXRDdXJyZW50VGltZSh0aW1lOiBudW1iZXIpOiBhbnkge1xuICAgICAgICB0aGlzLnRpbWVEaW1lbnNpb24uc2V0Q3VycmVudFRpbWUobmV3IERhdGUodGltZSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqXG4gICAgICovXG4gICAgcHVibGljIGF1dG9BcGRhdGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLmdldFVwcGVyVGltZUxpbWl0KCkgPT09IG51bGwgfHxcbiAgICAgICAgICAgIHRoaXMuZ2V0VXBwZXJUaW1lTGltaXQoKSA9PT0gdGhpcy50aW1lRGltZW5zaW9uLmdldEN1cnJlbnRUaW1lKClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0TG93ZXJUaW1lTGltaXQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGltZURpbWVuc2lvbi5nZXRBdmFpbGFibGVUaW1lcygpWzBdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqXG4gICAgICovXG4gICAgcmVmcmVzaFRpbWVEaW1lbnNpb25BdExhc3RUaW1lKHRpbWU6IG51bWJlciwgcmFuZ2U6IG51bWJlcikge1xuICAgICAgICBjb25zdCBlbmRUaW1lID0gbmV3IERhdGUodGltZSk7XG4gICAgICAgIGNvbnN0IHN0YXJ0VGltZSA9IG5ldyBEYXRlKHRpbWUgLSByYW5nZSk7XG4gICAgICAgIHRoaXMucmVmcmVzaEF2YWlsYWJsZVRpbWVzKHN0YXJ0VGltZSwgZW5kVGltZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICpcbiAgICAgKi9cbiAgICBnZXRVcHBlclRpbWVMaW1pdCgpOiBudW1iZXIge1xuICAgICAgICBjb25zdCBsZW5ndGggPSB0aGlzLnRpbWVEaW1lbnNpb24uZ2V0QXZhaWxhYmxlVGltZXMoKS5sZW5ndGg7XG4gICAgICAgIHJldHVybiB0aGlzLnRpbWVEaW1lbnNpb24uZ2V0QXZhaWxhYmxlVGltZXMoKVtsZW5ndGggLSAxXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqIEBwYXJhbSB0aW1lXG4gICAgICovXG4gICAgc2V0VHJhbnNpdGlvblRpbWUodGltZTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMucGxheWVyLnNldFRyYW5zaXRpb25UaW1lKHRpbWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqXG4gICAgICogQHBhcmFtIHN0ZXBcbiAgICAgKi9cbiAgICBwbGF5KHN0ZXA6IG51bWJlcikge1xuICAgICAgICB0aGlzLnBsYXllci5zdGFydChzdGVwKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gbG9vcGVkXG4gICAgICovXG4gICAgc2V0UGxheWVyVG9Mb29wKGxvb3BlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnBsYXllci5zZXRMb29wZWQobG9vcGVkKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqIEBwYXJhbSB2YWx1ZVxuICAgICAqL1xuICAgIHNldCBwZXJpb2QodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9wZXJpb2QgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKi9cbiAgICBhcHBseVRpbWVEaW1lbnNpb25QbHVnaW4oKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm1hcCkge1xuICAgICAgICAgICAgdGhpcy50aW1lRGltZW5zaW9uID0gbmV3IEwuVGltZURpbWVuc2lvbih0aGlzLnRpbWVEaW1lbnNpb25PcHRpb25zKTtcbiAgICAgICAgICAgIHRoaXMucGxheWVyID0gbmV3IEwuVGltZURpbWVuc2lvbi5QbGF5ZXIoXG4gICAgICAgICAgICAgICAgdGhpcy5wbGF5ZXJPcHRpb25zLFxuICAgICAgICAgICAgICAgIHRoaXMudGltZURpbWVuc2lvbixcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLnRpbWVEaW1lbnNpb25Db250cm9sID0gbmV3IEwuQ29udHJvbC5UaW1lRGltZW5zaW9uKHtcbiAgICAgICAgICAgICAgICBwbGF5ZXI6IHRoaXMucGxheWVyLFxuICAgICAgICAgICAgICAgIGxvb3BCdXR0b246IHRydWUsXG4gICAgICAgICAgICAgICAgcGxheVJldmVyc2VCdXR0b246IHRydWUsXG4gICAgICAgICAgICAgICAgdGltZVNsaWRlcjogdGhpcy5pc01kKCksXG4gICAgICAgICAgICAgICAgc3BlZWRTbGlkZXI6IHRoaXMuaXNMZygpLFxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiB0aGlzLnBvc2l0aW9uLFxuICAgICAgICAgICAgICAgIG1pblNwZWVkOiB0aGlzLm1pblNwZWVkLFxuICAgICAgICAgICAgICAgIG1heFNwZWVkOiB0aGlzLm1heFNwZWVkLFxuICAgICAgICAgICAgICAgIHRpbWVab25lczogW1wiTG9jYWxcIiwgXCJVVENcIl0sXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgdGhpcy5wbGF5ZXIub24oXCJwbGF5XCIsIChlbzogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fcGxheUVuYWJsZWQgPSB0cnVlO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLnBsYXllci5vbihcInN0b3BcIiwgKGVvOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9wbGF5RW5hYmxlZCA9IGZhbHNlO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLnRpbWVEaW1lbnNpb24ub24oXCJ0aW1lbG9hZFwiLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5vbkxvYWRUaW1lQ2hhZ2VkKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMudGltZURpbWVuc2lvbi5vbihcbiAgICAgICAgICAgICAgICBcImF2YWlsYWJsZXRpbWVzY2hhbmdlZFwiLFxuICAgICAgICAgICAgICAgIChhdmFpbGFibGVUaW1lczogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25BdmFpbGFibGVUaW1lQ2hhbmdlZENoYWdlZCgpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5kYXRlVGltZUZvcm1hdClcbiAgICAgICAgICAgICAgICB0aGlzLnRpbWVEaW1lbnNpb25Db250cm9sLl9nZXREaXNwbGF5RGF0ZUZvcm1hdCA9IChkYXRlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBtb21lbnQoZGF0ZSkuZm9ybWF0KHRoaXMuZGF0ZVRpbWVGb3JtYXQpOyAvLyBcIm90dG9icmUgMjAyNVwiXG4gICAgICAgICAgICAgICAgICAgIC8vIG9wcHVyZSBtb21lbnQoZGF0ZSkuZm9ybWF0KFwiTU0vWVlZWVwiKTtcbiAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICB0aGlzLm1hcC50aW1lRGltZW5zaW9uID0gdGhpcy50aW1lRGltZW5zaW9uO1xuICAgICAgICAgICAgdGhpcy5tYXAuYWRkQ29udHJvbCh0aGlzLnRpbWVEaW1lbnNpb25Db250cm9sKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqXG4gICAgICovXG4gICAgcHJvdGVjdGVkIG9uTG9hZFRpbWVDaGFnZWQoKTogdm9pZCB7fVxuXG4gICAgLyoqXG4gICAgICpcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgb25BdmFpbGFibGVUaW1lQ2hhbmdlZENoYWdlZCgpOiB2b2lkIHt9XG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqL1xuICAgIHByaXZhdGUgaXNNZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYnJlYWtwb2ludE9ic2VydmVyLmlzTWF0Y2hlZChbXCIobWluLXdpZHRoOiA3NjhweClcIl0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqXG4gICAgICovXG4gICAgcHJpdmF0ZSBpc0xnKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5icmVha3BvaW50T2JzZXJ2ZXIuaXNNYXRjaGVkKFtcIihtaW4td2lkdGg6IDk5MnB4KVwiXSk7XG4gICAgfVxufVxuIl19
@@ -1,181 +0,0 @@
1
- import { BreakpointObserver } from "@angular/cdk/layout";
2
- import * as i0 from "@angular/core";
3
- /**
4
- * @author Vito Salvia - CNR IMAA geoSDI Group
5
- * @email vito.salvia@gmail.com
6
- */
7
- /**
8
- * @param title
9
- * @param pageSize
10
- * @param action
11
- */
12
- export interface INgxLeafletTimedimensionPluginService {
13
- /**
14
- * @param map
15
- */
16
- withMap(map: any): INgxLeafletTimedimensionPluginService;
17
- /**
18
- * @param options
19
- */
20
- withPlayerOptions(options: any): INgxLeafletTimedimensionPluginService;
21
- /**
22
- * @param options
23
- */
24
- withTimeDimensionOptionsOptions(options: any): INgxLeafletTimedimensionPluginService;
25
- /**
26
- * @param position
27
- */
28
- withPosition(position: "topleft" | "topright" | "bottomleft" | "bottomright"): INgxLeafletTimedimensionPluginService;
29
- /**
30
- * @param minSpeed
31
- */
32
- withMinSpeed(minSpeed: number): INgxLeafletTimedimensionPluginService;
33
- /**
34
- * @param maxSpeed
35
- */
36
- withMaxSpeed(maxSpeed: number): INgxLeafletTimedimensionPluginService;
37
- /**
38
- *
39
- * @param dateTimeFormat
40
- */
41
- withDateTimeFormat(dateTimeFormat: string): INgxLeafletTimedimensionPluginService;
42
- applyTimeDimensionPlugin(): void;
43
- /**
44
- * @param startTime
45
- * @param endTime
46
- */
47
- refreshAvailableTimes(startTime: Date, endTime: Date): void;
48
- /**
49
- */
50
- getCurrentTime(): number;
51
- /**
52
- */
53
- getLowerTimeLimit(): number;
54
- /**
55
- * @param time
56
- * @param range
57
- */
58
- refreshTimeDimensionAtLastTime(time: number, range: number): void;
59
- /**
60
- */
61
- getUpperTimeLimit(): number;
62
- /**
63
- * @param step
64
- */
65
- play(step: number): void;
66
- /**
67
- * @param looped
68
- */
69
- setPlayerToLoop(looped: boolean): void;
70
- /**
71
- * @param time
72
- */
73
- setCurrentTime(time: number): any;
74
- }
75
- export declare class NgxLeafletTimedimensionPluginService implements INgxLeafletTimedimensionPluginService {
76
- breakpointObserver: BreakpointObserver;
77
- private player;
78
- private _playEnabled;
79
- private playerOptions;
80
- private timeDimensionOptions;
81
- private timeDimensionControl;
82
- private timeDimension;
83
- private map;
84
- private _period;
85
- private position;
86
- private minSpeed;
87
- private maxSpeed;
88
- private dateTimeFormat;
89
- constructor(breakpointObserver: BreakpointObserver);
90
- /**
91
- * @param range
92
- */
93
- withMap(map: any): INgxLeafletTimedimensionPluginService;
94
- withPlayerOptions(options: any): INgxLeafletTimedimensionPluginService;
95
- withPosition(position: "topleft" | "topright" | "bottomleft" | "bottomright"): INgxLeafletTimedimensionPluginService;
96
- /***
97
- * @param options
98
- */
99
- withTimeDimensionOptionsOptions(options: any): INgxLeafletTimedimensionPluginService;
100
- /**
101
- * @param maxSpeed
102
- */
103
- withMaxSpeed(maxSpeed: number): INgxLeafletTimedimensionPluginService;
104
- /**
105
- * @param dateTimeFormat
106
- */
107
- withDateTimeFormat(dateTimeFormat: string): INgxLeafletTimedimensionPluginService;
108
- /**
109
- * @param minSpeed
110
- */
111
- withMinSpeed(minSpeed: number): INgxLeafletTimedimensionPluginService;
112
- /**
113
- *
114
- * @param startTime
115
- * @param endTime
116
- */
117
- refreshAvailableTimes(startTime: Date, endTime: Date): void;
118
- /**
119
- *
120
- */
121
- getCurrentTime(): number;
122
- /**
123
- * @param time
124
- */
125
- setCurrentTime(time: number): any;
126
- /**
127
- *
128
- */
129
- autoApdate(): boolean;
130
- /**
131
- */
132
- getLowerTimeLimit(): number;
133
- /**
134
- *
135
- */
136
- refreshTimeDimensionAtLastTime(time: number, range: number): void;
137
- /**
138
- *
139
- */
140
- getUpperTimeLimit(): number;
141
- /**
142
- *
143
- * @param time
144
- */
145
- setTransitionTime(time: number): void;
146
- /**
147
- *
148
- * @param step
149
- */
150
- play(step: number): void;
151
- /**
152
- * @param looped
153
- */
154
- setPlayerToLoop(looped: boolean): void;
155
- /**
156
- *
157
- * @param value
158
- */
159
- set period(value: string);
160
- /**
161
- */
162
- applyTimeDimensionPlugin(): void;
163
- /**
164
- *
165
- */
166
- protected onLoadTimeChaged(): void;
167
- /**
168
- *
169
- */
170
- protected onAvailableTimeChangedChaged(): void;
171
- /**
172
- *
173
- */
174
- private isMd;
175
- /**
176
- *
177
- */
178
- private isLg;
179
- static ɵfac: i0.ɵɵFactoryDeclaration<NgxLeafletTimedimensionPluginService, never>;
180
- static ɵprov: i0.ɵɵInjectableDeclaration<NgxLeafletTimedimensionPluginService>;
181
- }