@geosdi/ngx-leaflet-timedimension-plugin 1.1.0 → 1.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/geosdi-ngx-leaflet-timedimension-plugin.mjs +5 -0
- package/esm2022/index.mjs +5 -0
- package/esm2022/lib/ngx-leaflet-timedimension-plugin.service.mjs +187 -0
- package/{fesm2015 → fesm2022}/geosdi-ngx-leaflet-timedimension-plugin.mjs +7 -28
- package/fesm2022/geosdi-ngx-leaflet-timedimension-plugin.mjs.map +1 -0
- package/index.d.ts +1 -5
- package/lib/ngx-leaflet-timedimension-plugin.service.d.ts +2 -2
- package/package.json +7 -13
- package/esm2020/geosdi-ngx-leaflet-timedimension-plugin.mjs +0 -5
- package/esm2020/lib/ngx-leaflet-timedimension-plugin.module.mjs +0 -20
- package/esm2020/lib/ngx-leaflet-timedimension-plugin.service.mjs +0 -189
- package/esm2020/public-api.mjs +0 -6
- package/fesm2015/geosdi-ngx-leaflet-timedimension-plugin.mjs.map +0 -1
- package/fesm2020/geosdi-ngx-leaflet-timedimension-plugin.mjs +0 -217
- package/fesm2020/geosdi-ngx-leaflet-timedimension-plugin.mjs.map +0 -1
- package/lib/ngx-leaflet-timedimension-plugin.module.d.ts +0 -10
- package/public-api.d.ts +0 -2
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2Vvc2RpLW5neC1sZWFmbGV0LXRpbWVkaW1lbnNpb24tcGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2Vvc2RpL2xlYWZsZXQvbmd4LWxlYWZsZXQtdGltZWRpbWVuc2lvbi1wbHVnaW4vc3JjL2dlb3NkaS1uZ3gtbGVhZmxldC10aW1lZGltZW5zaW9uLXBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
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=
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
import { Injectable } from "@angular/core";
|
|
2
|
+
//@ts-ignore
|
|
3
|
+
import * as L from "leaflet";
|
|
4
|
+
import { BreakpointObserver } from "@angular/cdk/layout";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/cdk/layout";
|
|
7
|
+
export class NgxLeafletTimedimensionPluginService {
|
|
8
|
+
constructor(breakpointObserver) {
|
|
9
|
+
this.breakpointObserver = breakpointObserver;
|
|
10
|
+
this._playEnabled = false;
|
|
11
|
+
this.position = "topleft";
|
|
12
|
+
this.minSpeed = 1;
|
|
13
|
+
this.maxSpeed = 5;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* @param range
|
|
17
|
+
*/
|
|
18
|
+
withMap(map) {
|
|
19
|
+
this.map = map;
|
|
20
|
+
return this;
|
|
21
|
+
}
|
|
22
|
+
withPlayerOptions(options) {
|
|
23
|
+
this.playerOptions = options;
|
|
24
|
+
return this;
|
|
25
|
+
}
|
|
26
|
+
withPosition(position) {
|
|
27
|
+
this.position = position;
|
|
28
|
+
return this;
|
|
29
|
+
}
|
|
30
|
+
/***
|
|
31
|
+
* @param options
|
|
32
|
+
*/
|
|
33
|
+
withTimeDimensionOptionsOptions(options) {
|
|
34
|
+
this.timeDimensionOptions = options;
|
|
35
|
+
return this;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* @param maxSpeed
|
|
39
|
+
*/
|
|
40
|
+
withMaxSpeed(maxSpeed) {
|
|
41
|
+
this.maxSpeed = maxSpeed;
|
|
42
|
+
return this;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* @param minSpeed
|
|
46
|
+
*/
|
|
47
|
+
withMinSpeed(minSpeed) {
|
|
48
|
+
this.minSpeed = minSpeed;
|
|
49
|
+
return this;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
*
|
|
53
|
+
* @param startTime
|
|
54
|
+
* @param endTime
|
|
55
|
+
*/
|
|
56
|
+
refreshAvailableTimes(startTime, endTime) {
|
|
57
|
+
this.timeDimension.setAvailableTimes(L.TimeDimension.Util.explodeTimeRange(startTime, endTime, this._period), "replace");
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
*
|
|
61
|
+
*/
|
|
62
|
+
getCurrentTime() {
|
|
63
|
+
return this.timeDimension.getCurrentTime();
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* @param time
|
|
67
|
+
*/
|
|
68
|
+
setCurrentTime(time) {
|
|
69
|
+
this.timeDimension.setCurrentTime(new Date(time));
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
*
|
|
73
|
+
*/
|
|
74
|
+
autoApdate() {
|
|
75
|
+
return (this.getUpperTimeLimit() === null ||
|
|
76
|
+
this.getUpperTimeLimit() === this.timeDimension.getCurrentTime());
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
*/
|
|
80
|
+
getLowerTimeLimit() {
|
|
81
|
+
return this.timeDimension.getAvailableTimes()[0];
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
*
|
|
85
|
+
*/
|
|
86
|
+
refreshTimeDimensionAtLastTime(time, range) {
|
|
87
|
+
const endTime = new Date(time);
|
|
88
|
+
const startTime = new Date(time - range);
|
|
89
|
+
this.refreshAvailableTimes(startTime, endTime);
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
*
|
|
93
|
+
*/
|
|
94
|
+
getUpperTimeLimit() {
|
|
95
|
+
const length = this.timeDimension.getAvailableTimes().length;
|
|
96
|
+
return this.timeDimension.getAvailableTimes()[length - 1];
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
*
|
|
100
|
+
* @param time
|
|
101
|
+
*/
|
|
102
|
+
setTransitionTime(time) {
|
|
103
|
+
this.player.setTransitionTime(time);
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
*
|
|
107
|
+
* @param step
|
|
108
|
+
*/
|
|
109
|
+
play(step) {
|
|
110
|
+
this.player.start(step);
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* @param looped
|
|
114
|
+
*/
|
|
115
|
+
setPlayerToLoop(looped) {
|
|
116
|
+
this.player.setLooped(looped);
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
*
|
|
120
|
+
* @param value
|
|
121
|
+
*/
|
|
122
|
+
set period(value) {
|
|
123
|
+
this._period = value;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
*/
|
|
127
|
+
applyTimeDimensionPlugin() {
|
|
128
|
+
if (this.map) {
|
|
129
|
+
this.timeDimension = new L.TimeDimension(this.timeDimensionOptions);
|
|
130
|
+
this.player = new L.TimeDimension.Player(this.playerOptions, this.timeDimension);
|
|
131
|
+
this.timeDimensionControl = new L.Control.TimeDimension({
|
|
132
|
+
player: this.player,
|
|
133
|
+
loopButton: true,
|
|
134
|
+
playReverseButton: true,
|
|
135
|
+
timeSlider: this.isMd(),
|
|
136
|
+
speedSlider: this.isLg(),
|
|
137
|
+
position: this.position,
|
|
138
|
+
minSpeed: this.minSpeed,
|
|
139
|
+
maxSpeed: this.maxSpeed,
|
|
140
|
+
timeZones: ["Local", "UTC"],
|
|
141
|
+
});
|
|
142
|
+
this.player.on("play", (eo) => {
|
|
143
|
+
this._playEnabled = true;
|
|
144
|
+
});
|
|
145
|
+
this.player.on("stop", (eo) => {
|
|
146
|
+
this._playEnabled = false;
|
|
147
|
+
});
|
|
148
|
+
this.timeDimension.on("timeload", () => {
|
|
149
|
+
this.onLoadTimeChaged();
|
|
150
|
+
});
|
|
151
|
+
this.timeDimension.on("availabletimeschanged", (availableTimes) => {
|
|
152
|
+
this.onAvailableTimeChangedChaged();
|
|
153
|
+
});
|
|
154
|
+
this.map.timeDimension = this.timeDimension;
|
|
155
|
+
this.map.addControl(this.timeDimensionControl);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
*
|
|
160
|
+
*/
|
|
161
|
+
onLoadTimeChaged() { }
|
|
162
|
+
/**
|
|
163
|
+
*
|
|
164
|
+
*/
|
|
165
|
+
onAvailableTimeChangedChaged() { }
|
|
166
|
+
/**
|
|
167
|
+
*
|
|
168
|
+
*/
|
|
169
|
+
isMd() {
|
|
170
|
+
return this.breakpointObserver.isMatched(["(min-width: 768px)"]);
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
*
|
|
174
|
+
*/
|
|
175
|
+
isLg() {
|
|
176
|
+
return this.breakpointObserver.isMatched(["(min-width: 992px)"]);
|
|
177
|
+
}
|
|
178
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgxLeafletTimedimensionPluginService, deps: [{ token: i1.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
179
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgxLeafletTimedimensionPluginService, providedIn: "root" }); }
|
|
180
|
+
}
|
|
181
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgxLeafletTimedimensionPluginService, decorators: [{
|
|
182
|
+
type: Injectable,
|
|
183
|
+
args: [{
|
|
184
|
+
providedIn: "root",
|
|
185
|
+
}]
|
|
186
|
+
}], ctorParameters: () => [{ type: i1.BreakpointObserver }] });
|
|
187
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWxlYWZsZXQtdGltZWRpbWVuc2lvbi1wbHVnaW4uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dlb3NkaS9sZWFmbGV0L25neC1sZWFmbGV0LXRpbWVkaW1lbnNpb24tcGx1Z2luL3NyYy9saWIvbmd4LWxlYWZsZXQtdGltZWRpbWVuc2lvbi1wbHVnaW4uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLFlBQVk7QUFDWixPQUFPLEtBQUssQ0FBQyxNQUFNLFNBQVMsQ0FBQztBQUM3QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBOEZ6RCxNQUFNLE9BQU8sb0NBQW9DO0lBZTdDLFlBQW1CLGtCQUFzQztRQUF0Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBWGpELGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBT3JCLGFBQVEsR0FBVyxTQUFTLENBQUM7UUFDN0IsYUFBUSxHQUFXLENBQUMsQ0FBQztRQUNyQixhQUFRLEdBQVcsQ0FBQyxDQUFDO0lBRStCLENBQUM7SUFFN0Q7O09BRUc7SUFDSCxPQUFPLENBQUMsR0FBUTtRQUNaLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELGlCQUFpQixDQUFDLE9BQVk7UUFDMUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUM7UUFDN0IsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELFlBQVksQ0FDUixRQUErRDtRQUUvRCxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQ7O09BRUc7SUFDSCwrQkFBK0IsQ0FDM0IsT0FBWTtRQUVaLElBQUksQ0FBQyxvQkFBb0Is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QkFBNEIsRUFBRSxDQUFDO1lBQ3hDLENBQUMsQ0FDSixDQUFDO1lBQ0YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztZQUM1QyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUNuRCxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ08sZ0JBQWdCLEtBQVUsQ0FBQztJQUVyQzs7T0FFRztJQUNPLDRCQUE0QixLQUFVLENBQUM7SUFFakQ7O09BRUc7SUFDSyxJQUFJO1FBQ1IsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRDs7T0FFRztJQUNLLElBQUk7UUFDUixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUM7SUFDckUsQ0FBQztpSUE1TlEsb0NBQW9DO3FJQUFwQyxvQ0FBb0MsY0FGakMsTUFBTTs7MkZBRVQsb0NBQW9DO2tCQUhoRCxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuLy9AdHMtaWdub3JlXG5pbXBvcnQgKiBhcyBMIGZyb20gXCJsZWFmbGV0XCI7XG5pbXBvcnQgeyBCcmVha3BvaW50T2JzZXJ2ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2xheW91dFwiO1xuXG4vKipcbiAqIEBhdXRob3IgVml0byBTYWx2aWEgLSBDTlIgSU1BQSBnZW9TREkgR3JvdXBcbiAqIEBlbWFpbCB2aXRvLnNhbHZpYUBnbWFpbC5jb21cbiAqL1xuXG4vKipcbiAqIEBwYXJhbSB0aXRsZVxuICogQHBhcmFtIHBhZ2VTaXplXG4gKiBAcGFyYW0gYWN0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSU5neExlYWZsZXRUaW1lZGltZW5zaW9uUGx1Z2luU2VydmljZSB7XG4gICAgLyoqXG4gICAgICogQHBhcmFtIG1hcFxuICAgICAqL1xuICAgIHdpdGhNYXAobWFwOiBhbnkpOiBJTmd4TGVhZmxldFRpbWVkaW1lbnNpb25QbHVnaW5TZXJ2aWNlO1xuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIG9wdGlvbnNcbiAgICAgKi9cbiAgICB3aXRoUGxheWVyT3B0aW9ucyhvcHRpb25zOiBhbnkpOiBJTmd4TGVhZmxldFRpbWVkaW1lbnNpb25QbHVnaW5TZXJ2aWNlO1xuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIG9wdGlvbnNcbiAgICAgKi9cbiAgICB3aXRoVGltZURpbWVuc2lvbk9wdGlvbnNPcHRpb25zKFxuICAgICAgICBvcHRpb25zOiBhbnksXG4gICAgKTogSU5neExlYWZsZXRUaW1lZGltZW5zaW9uUGx1Z2luU2VydmljZTtcblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBwb3NpdGlvblxuICAgICAqL1xuICAgIHdpdGhQb3NpdGlvbihcbiAgICAgICAgcG9zaXRpb246IFwidG9wbGVmdFwiIHwgXCJ0b3ByaWdodFwiIHwgXCJib3R0b21sZWZ0XCIgfCBcImJvdHRvbXJpZ2h0XCIsXG4gICAgKTogSU5neExlYWZsZXRUaW1lZGltZW5zaW9uUGx1Z2luU2VydmljZTtcblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBtaW5TcGVlZFxuICAgICAqL1xuICAgIHdpdGhNaW5TcGVlZChtaW5TcGVlZDogbnVtYmVyKTogSU5neExlYWZsZXRUaW1lZGltZW5zaW9uUGx1Z2luU2VydmljZTtcblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBtYXhTcGVlZFxuICAgICAqL1xuICAgIHdpdGhNYXhTcGVlZChtYXhTcGVlZDogbnVtYmVyKTogSU5neExlYWZsZXRUaW1lZGltZW5zaW9uUGx1Z2luU2VydmljZTtcblxuICAgIC8qXG4gICAgICovXG4gICAgYXBwbHlUaW1lRGltZW5zaW9uUGx1Z2luKCk6IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gc3RhcnRUaW1lXG4gICAgICogQHBhcmFtIGVuZFRpbWVcbiAgICAgKi9cbiAgICByZWZyZXNoQXZhaWxhYmxlVGltZXMoc3RhcnRUaW1lOiBEYXRlLCBlbmRUaW1lOiBEYXRlKTogdm9pZDtcblxuICAgIC8qKlxuICAgICAqL1xuICAgIGdldEN1cnJlbnRUaW1lKCk6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqL1xuICAgIGdldExvd2VyVGltZUxpbWl0KCk6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSB0aW1lXG4gICAgICogQHBhcmFtIHJhbmdlXG4gICAgICovXG4gICAgcmVmcmVzaFRpbWVEaW1lbnNpb25BdExhc3RUaW1lKHRpbWU6IG51bWJlciwgcmFuZ2U6IG51bWJlcik6IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKi9cbiAgICBnZXRVcHBlclRpbWVMaW1pdCgpOiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gc3RlcFxuICAgICAqL1xuICAgIHBsYXkoc3RlcDogbnVtYmVyKTogdm9pZDtcblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBsb29wZWRcbiAgICAgKi9cbiAgICBzZXRQbGF5ZXJUb0xvb3AobG9vcGVkOiBib29sZWFuKTogdm9pZDtcblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSB0aW1lXG4gICAgICovXG4gICAgc2V0Q3VycmVudFRpbWUodGltZTogbnVtYmVyKTogYW55O1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogXCJyb290XCIsXG59KVxuZXhwb3J0IGNsYXNzIE5neExlYWZsZXRUaW1lZGltZW5zaW9uUGx1Z2luU2VydmljZVxuICAgIGltcGxlbWVudHMgSU5neExlYWZsZXRUaW1lZGltZW5zaW9uUGx1Z2luU2VydmljZVxue1xuICAgIHByaXZhdGUgcGxheWVyOiBMLlRpbWVEaW1lbnNpb24uUGxheWVyO1xuICAgIHByaXZhdGUgX3BsYXlFbmFibGVkID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBwbGF5ZXJPcHRpb25zOiBhbnk7XG4gICAgcHJpdmF0ZSB0aW1lRGltZW5zaW9uT3B0aW9uczogYW55O1xuICAgIHByaXZhdGUgdGltZURpbWVuc2lvbkNvbnRyb2w6IEwuQ29udHJvbC5UaW1lRGltZW5zaW9uO1xuICAgIHByaXZhdGUgdGltZURpbWVuc2lvbjogTC5UaW1lRGltZW5zaW9uO1xuICAgIHByaXZhdGUgbWFwOiBhbnk7XG4gICAgcHJpdmF0ZSBfcGVyaW9kOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBwb3NpdGlvbjogc3RyaW5nID0gXCJ0b3BsZWZ0XCI7XG4gICAgcHJpdmF0ZSBtaW5TcGVlZDogbnVtYmVyID0gMTtcbiAgICBwcml2YXRlIG1heFNwZWVkOiBudW1iZXIgPSA1O1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIGJyZWFrcG9pbnRPYnNlcnZlcjogQnJlYWtwb2ludE9ic2VydmVyKSB7fVxuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIHJhbmdlXG4gICAgICovXG4gICAgd2l0aE1hcChtYXA6IGFueSk6IElOZ3hMZWFmbGV0VGltZWRpbWVuc2lvblBsdWdpblNlcnZpY2Uge1xuICAgICAgICB0aGlzLm1hcCA9IG1hcDtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgd2l0aFBsYXllck9wdGlvbnMob3B0aW9uczogYW55KTogSU5neExlYWZsZXRUaW1lZGltZW5zaW9uUGx1Z2luU2VydmljZSB7XG4gICAgICAgIHRoaXMucGxheWVyT3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHdpdGhQb3NpdGlvbihcbiAgICAgICAgcG9zaXRpb246IFwidG9wbGVmdFwiIHwgXCJ0b3ByaWdodFwiIHwgXCJib3R0b21sZWZ0XCIgfCBcImJvdHRvbXJpZ2h0XCIsXG4gICAgKTogSU5neExlYWZsZXRUaW1lZGltZW5zaW9uUGx1Z2luU2VydmljZSB7XG4gICAgICAgIHRoaXMucG9zaXRpb24gPSBwb3NpdGlvbjtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqKlxuICAgICAqIEBwYXJhbSBvcHRpb25zXG4gICAgICovXG4gICAgd2l0aFRpbWVEaW1lbnNpb25PcHRpb25zT3B0aW9ucyhcbiAgICAgICAgb3B0aW9uczogYW55LFxuICAgICk6IElOZ3hMZWFmbGV0VGltZWRpbWVuc2lvblBsdWdpblNlcnZpY2Uge1xuICAgICAgICB0aGlzLnRpbWVEaW1lbnNpb25PcHRpb25zID0gb3B0aW9ucztcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIG1heFNwZWVkXG4gICAgICovXG4gICAgd2l0aE1heFNwZWVkKG1heFNwZWVkOiBudW1iZXIpOiBJTmd4TGVhZmxldFRpbWVkaW1lbnNpb25QbHVnaW5TZXJ2aWNlIHtcbiAgICAgICAgdGhpcy5tYXhTcGVlZCA9IG1heFNwZWVkO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gbWluU3BlZWRcbiAgICAgKi9cbiAgICB3aXRoTWluU3BlZWQobWluU3BlZWQ6IG51bWJlcik6IElOZ3hMZWFmbGV0VGltZWRpbWVuc2lvblBsdWdpblNlcnZpY2Uge1xuICAgICAgICB0aGlzLm1pblNwZWVkID0gbWluU3BlZWQ7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqXG4gICAgICogQHBhcmFtIHN0YXJ0VGltZVxuICAgICAqIEBwYXJhbSBlbmRUaW1lXG4gICAgICovXG4gICAgcHVibGljIHJlZnJlc2hBdmFpbGFibGVUaW1lcyhzdGFydFRpbWU6IERhdGUsIGVuZFRpbWU6IERhdGUpIHtcbiAgICAgICAgdGhpcy50aW1lRGltZW5zaW9uLnNldEF2YWlsYWJsZVRpbWVzKFxuICAgICAgICAgICAgTC5UaW1lRGltZW5zaW9uLlV0aWwuZXhwbG9kZVRpbWVSYW5nZShcbiAgICAgICAgICAgICAgICBzdGFydFRpbWUsXG4gICAgICAgICAgICAgICAgZW5kVGltZSxcbiAgICAgICAgICAgICAgICB0aGlzLl9wZXJpb2QsXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgXCJyZXBsYWNlXCIsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICpcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q3VycmVudFRpbWUoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGltZURpbWVuc2lvbi5nZXRDdXJyZW50VGltZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSB0aW1lXG4gICAgICovXG4gICAgcHVibGljIHNldEN1cnJlbnRUaW1lKHRpbWU6IG51bWJlcik6IGFueSB7XG4gICAgICAgIHRoaXMudGltZURpbWVuc2lvbi5zZXRDdXJyZW50VGltZShuZXcgRGF0ZSh0aW1lKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICpcbiAgICAgKi9cbiAgICBwdWJsaWMgYXV0b0FwZGF0ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuZ2V0VXBwZXJUaW1lTGltaXQoKSA9PT0gbnVsbCB8fFxuICAgICAgICAgICAgdGhpcy5nZXRVcHBlclRpbWVMaW1pdCgpID09PSB0aGlzLnRpbWVEaW1lbnNpb24uZ2V0Q3VycmVudFRpbWUoKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRMb3dlclRpbWVMaW1pdCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy50aW1lRGltZW5zaW9uLmdldEF2YWlsYWJsZVRpbWVzKClbMF07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICpcbiAgICAgKi9cbiAgICByZWZyZXNoVGltZURpbWVuc2lvbkF0TGFzdFRpbWUodGltZTogbnVtYmVyLCByYW5nZTogbnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IGVuZFRpbWUgPSBuZXcgRGF0ZSh0aW1lKTtcbiAgICAgICAgY29uc3Qgc3RhcnRUaW1lID0gbmV3IERhdGUodGltZSAtIHJhbmdlKTtcbiAgICAgICAgdGhpcy5yZWZyZXNoQXZhaWxhYmxlVGltZXMoc3RhcnRUaW1lLCBlbmRUaW1lKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqL1xuICAgIGdldFVwcGVyVGltZUxpbWl0KCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGxlbmd0aCA9IHRoaXMudGltZURpbWVuc2lvbi5nZXRBdmFpbGFibGVUaW1lcygpLmxlbmd0aDtcbiAgICAgICAgcmV0dXJuIHRoaXMudGltZURpbWVuc2lvbi5nZXRBdmFpbGFibGVUaW1lcygpW2xlbmd0aCAtIDFdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqXG4gICAgICogQHBhcmFtIHRpbWVcbiAgICAgKi9cbiAgICBzZXRUcmFuc2l0aW9uVGltZSh0aW1lOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5wbGF5ZXIuc2V0VHJhbnNpdGlvblRpbWUodGltZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICpcbiAgICAgKiBAcGFyYW0gc3RlcFxuICAgICAqL1xuICAgIHBsYXkoc3RlcDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMucGxheWVyLnN0YXJ0KHN0ZXApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBsb29wZWRcbiAgICAgKi9cbiAgICBzZXRQbGF5ZXJUb0xvb3AobG9vcGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMucGxheWVyLnNldExvb3BlZChsb29wZWQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqXG4gICAgICogQHBhcmFtIHZhbHVlXG4gICAgICovXG4gICAgc2V0IHBlcmlvZCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX3BlcmlvZCA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqL1xuICAgIGFwcGx5VGltZURpbWVuc2lvblBsdWdpbigpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubWFwKSB7XG4gICAgICAgICAgICB0aGlzLnRpbWVEaW1lbnNpb24gPSBuZXcgTC5UaW1lRGltZW5zaW9uKHRoaXMudGltZURpbWVuc2lvbk9wdGlvbnMpO1xuICAgICAgICAgICAgdGhpcy5wbGF5ZXIgPSBuZXcgTC5UaW1lRGltZW5zaW9uLlBsYXllcihcbiAgICAgICAgICAgICAgICB0aGlzLnBsYXllck9wdGlvbnMsXG4gICAgICAgICAgICAgICAgdGhpcy50aW1lRGltZW5zaW9uLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMudGltZURpbWVuc2lvbkNvbnRyb2wgPSBuZXcgTC5Db250cm9sLlRpbWVEaW1lbnNpb24oe1xuICAgICAgICAgICAgICAgIHBsYXllcjogdGhpcy5wbGF5ZXIsXG4gICAgICAgICAgICAgICAgbG9vcEJ1dHRvbjogdHJ1ZSxcbiAgICAgICAgICAgICAgICBwbGF5UmV2ZXJzZUJ1dHRvbjogdHJ1ZSxcbiAgICAgICAgICAgICAgICB0aW1lU2xpZGVyOiB0aGlzLmlzTWQoKSxcbiAgICAgICAgICAgICAgICBzcGVlZFNsaWRlcjogdGhpcy5pc0xnKCksXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHRoaXMucG9zaXRpb24sXG4gICAgICAgICAgICAgICAgbWluU3BlZWQ6IHRoaXMubWluU3BlZWQsXG4gICAgICAgICAgICAgICAgbWF4U3BlZWQ6IHRoaXMubWF4U3BlZWQsXG4gICAgICAgICAgICAgICAgdGltZVpvbmVzOiBbXCJMb2NhbFwiLCBcIlVUQ1wiXSxcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB0aGlzLnBsYXllci5vbihcInBsYXlcIiwgKGVvOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9wbGF5RW5hYmxlZCA9IHRydWU7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMucGxheWVyLm9uKFwic3RvcFwiLCAoZW86IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX3BsYXlFbmFibGVkID0gZmFsc2U7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMudGltZURpbWVuc2lvbi5vbihcInRpbWVsb2FkXCIsICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uTG9hZFRpbWVDaGFnZWQoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy50aW1lRGltZW5zaW9uLm9uKFxuICAgICAgICAgICAgICAgIFwiYXZhaWxhYmxldGltZXNjaGFuZ2VkXCIsXG4gICAgICAgICAgICAgICAgKGF2YWlsYWJsZVRpbWVzOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkF2YWlsYWJsZVRpbWVDaGFuZ2VkQ2hhZ2VkKCk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLm1hcC50aW1lRGltZW5zaW9uID0gdGhpcy50aW1lRGltZW5zaW9uO1xuICAgICAgICAgICAgdGhpcy5tYXAuYWRkQ29udHJvbCh0aGlzLnRpbWVEaW1lbnNpb25Db250cm9sKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqXG4gICAgICovXG4gICAgcHJvdGVjdGVkIG9uTG9hZFRpbWVDaGFnZWQoKTogdm9pZCB7fVxuXG4gICAgLyoqXG4gICAgICpcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgb25BdmFpbGFibGVUaW1lQ2hhbmdlZENoYWdlZCgpOiB2b2lkIHt9XG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqL1xuICAgIHByaXZhdGUgaXNNZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYnJlYWtwb2ludE9ic2VydmVyLmlzTWF0Y2hlZChbXCIobWluLXdpZHRoOiA3NjhweClcIl0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqXG4gICAgICovXG4gICAgcHJpdmF0ZSBpc0xnKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5icmVha3BvaW50T2JzZXJ2ZXIuaXNNYXRjaGVkKFtcIihtaW4td2lkdGg6IDk5MnB4KVwiXSk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Injectable
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
3
|
import * as L from 'leaflet';
|
|
4
4
|
import * as i1 from '@angular/cdk/layout';
|
|
5
5
|
|
|
@@ -124,10 +124,7 @@ class NgxLeafletTimedimensionPluginService {
|
|
|
124
124
|
/**
|
|
125
125
|
*/
|
|
126
126
|
applyTimeDimensionPlugin() {
|
|
127
|
-
if (
|
|
128
|
-
alert("Impossibile aggiungere il plugin timedimension");
|
|
129
|
-
}
|
|
130
|
-
else {
|
|
127
|
+
if (this.map) {
|
|
131
128
|
this.timeDimension = new L.TimeDimension(this.timeDimensionOptions);
|
|
132
129
|
this.player = new L.TimeDimension.Player(this.playerOptions, this.timeDimension);
|
|
133
130
|
this.timeDimensionControl = new L.Control.TimeDimension({
|
|
@@ -177,33 +174,15 @@ class NgxLeafletTimedimensionPluginService {
|
|
|
177
174
|
isLg() {
|
|
178
175
|
return this.breakpointObserver.isMatched(["(min-width: 992px)"]);
|
|
179
176
|
}
|
|
177
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgxLeafletTimedimensionPluginService, deps: [{ token: i1.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
178
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgxLeafletTimedimensionPluginService, providedIn: "root" }); }
|
|
180
179
|
}
|
|
181
|
-
|
|
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: [{
|
|
180
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgxLeafletTimedimensionPluginService, decorators: [{
|
|
184
181
|
type: Injectable,
|
|
185
182
|
args: [{
|
|
186
183
|
providedIn: "root",
|
|
187
184
|
}]
|
|
188
|
-
}], ctorParameters:
|
|
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
|
-
}] });
|
|
185
|
+
}], ctorParameters: () => [{ type: i1.BreakpointObserver }] });
|
|
207
186
|
|
|
208
187
|
/*
|
|
209
188
|
* Public API Surface of ngx-leaflet-timedimension-plugin
|
|
@@ -213,5 +192,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
213
192
|
* Generated bundle index. Do not edit.
|
|
214
193
|
*/
|
|
215
194
|
|
|
216
|
-
export {
|
|
195
|
+
export { NgxLeafletTimedimensionPluginService };
|
|
217
196
|
//# sourceMappingURL=geosdi-ngx-leaflet-timedimension-plugin.mjs.map
|
|
@@ -0,0 +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\";\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): 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\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 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 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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"}
|
package/index.d.ts
CHANGED
|
@@ -50,14 +50,14 @@ export interface INgxLeafletTimedimensionPluginService {
|
|
|
50
50
|
* @param time
|
|
51
51
|
* @param range
|
|
52
52
|
*/
|
|
53
|
-
refreshTimeDimensionAtLastTime(time: number, range: number):
|
|
53
|
+
refreshTimeDimensionAtLastTime(time: number, range: number): void;
|
|
54
54
|
/**
|
|
55
55
|
*/
|
|
56
56
|
getUpperTimeLimit(): number;
|
|
57
57
|
/**
|
|
58
58
|
* @param step
|
|
59
59
|
*/
|
|
60
|
-
play(step: number):
|
|
60
|
+
play(step: number): void;
|
|
61
61
|
/**
|
|
62
62
|
* @param looped
|
|
63
63
|
*/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@geosdi/ngx-leaflet-timedimension-plugin",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.2",
|
|
4
4
|
"description": "Service to add timedimension to map",
|
|
5
5
|
"author": "Salvia Vito (vito.salvia@gmail.com)",
|
|
6
6
|
"keywords": [
|
|
@@ -16,17 +16,13 @@
|
|
|
16
16
|
"tslib": "^2.3.0"
|
|
17
17
|
},
|
|
18
18
|
"peerDependencies": {
|
|
19
|
-
"@angular/common": ">=
|
|
20
|
-
"@angular/core": ">=
|
|
19
|
+
"@angular/common": ">=18.0.0",
|
|
20
|
+
"@angular/core": ">=18.0.0",
|
|
21
21
|
"leaflet": ">=1.9.3",
|
|
22
22
|
"typescript": ">=5.0.0",
|
|
23
23
|
"leaflet-timedimension": ">=1.1.1"
|
|
24
24
|
},
|
|
25
|
-
"module": "
|
|
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",
|
|
25
|
+
"module": "fesm2022/geosdi-ngx-leaflet-timedimension-plugin.mjs",
|
|
30
26
|
"typings": "index.d.ts",
|
|
31
27
|
"exports": {
|
|
32
28
|
"./package.json": {
|
|
@@ -34,11 +30,9 @@
|
|
|
34
30
|
},
|
|
35
31
|
".": {
|
|
36
32
|
"types": "./index.d.ts",
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"node": "./fesm2015/geosdi-ngx-leaflet-timedimension-plugin.mjs",
|
|
41
|
-
"default": "./fesm2020/geosdi-ngx-leaflet-timedimension-plugin.mjs"
|
|
33
|
+
"esm2022": "./esm2022/geosdi-ngx-leaflet-timedimension-plugin.mjs",
|
|
34
|
+
"esm": "./esm2022/geosdi-ngx-leaflet-timedimension-plugin.mjs",
|
|
35
|
+
"default": "./fesm2022/geosdi-ngx-leaflet-timedimension-plugin.mjs"
|
|
42
36
|
}
|
|
43
37
|
},
|
|
44
38
|
"sideEffects": false
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2Vvc2RpLW5neC1sZWFmbGV0LXRpbWVkaW1lbnNpb24tcGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2Vvc2RpL25neC1sZWFmbGV0LXRpbWVkaW1lbnNpb24tcGx1Z2luL3NyYy9nZW9zZGktbmd4LWxlYWZsZXQtdGltZWRpbWVuc2lvbi1wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { NgModule } from "@angular/core";
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
/**
|
|
4
|
-
* @author Vito Salvia - CNR IMAA geoSDI Group
|
|
5
|
-
* @email vito.salvia@gmail.com
|
|
6
|
-
*/
|
|
7
|
-
export class NgxLeafletTimedimensionPluginModule {
|
|
8
|
-
}
|
|
9
|
-
/** @nocollapse */ NgxLeafletTimedimensionPluginModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NgxLeafletTimedimensionPluginModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
10
|
-
/** @nocollapse */ NgxLeafletTimedimensionPluginModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: NgxLeafletTimedimensionPluginModule });
|
|
11
|
-
/** @nocollapse */ NgxLeafletTimedimensionPluginModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NgxLeafletTimedimensionPluginModule });
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NgxLeafletTimedimensionPluginModule, decorators: [{
|
|
13
|
-
type: NgModule,
|
|
14
|
-
args: [{
|
|
15
|
-
declarations: [],
|
|
16
|
-
imports: [],
|
|
17
|
-
exports: [],
|
|
18
|
-
}]
|
|
19
|
-
}] });
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWxlYWZsZXQtdGltZWRpbWVuc2lvbi1wbHVnaW4ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2Vvc2RpL25neC1sZWFmbGV0LXRpbWVkaW1lbnNpb24tcGx1Z2luL3NyYy9saWIvbmd4LWxlYWZsZXQtdGltZWRpbWVuc2lvbi1wbHVnaW4ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRXpDOzs7R0FHRztBQU1ILE1BQU0sT0FBTyxtQ0FBbUM7O21KQUFuQyxtQ0FBbUM7b0pBQW5DLG1DQUFtQztvSkFBbkMsbUNBQW1DOzJGQUFuQyxtQ0FBbUM7a0JBTC9DLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLE9BQU8sRUFBRSxFQUFFO29CQUNYLE9BQU8sRUFBRSxFQUFFO2lCQUNkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG4vKipcbiAqIEBhdXRob3IgVml0byBTYWx2aWEgLSBDTlIgSU1BQSBnZW9TREkgR3JvdXBcbiAqIEBlbWFpbCB2aXRvLnNhbHZpYUBnbWFpbC5jb21cbiAqL1xuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtdLFxuICAgIGltcG9ydHM6IFtdLFxuICAgIGV4cG9ydHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3hMZWFmbGV0VGltZWRpbWVuc2lvblBsdWdpbk1vZHVsZSB7fVxuIl19
|
|
@@ -1,189 +0,0 @@
|
|
|
1
|
-
import { Injectable } from "@angular/core";
|
|
2
|
-
import * as L from "leaflet";
|
|
3
|
-
import { BreakpointObserver } from "@angular/cdk/layout";
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/cdk/layout";
|
|
6
|
-
export 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
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWxlYWZsZXQtdGltZWRpbWVuc2lvbi1wbHVnaW4uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dlb3NkaS9uZ3gtbGVhZmxldC10aW1lZGltZW5zaW9uLXBsdWdpbi9zcmMvbGliL25neC1sZWFmbGV0LXRpbWVkaW1lbnNpb24tcGx1Z2luLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEtBQUssQ0FBQyxNQUFNLFNBQVMsQ0FBQztBQUM3QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBOEZ6RCxNQUFNLE9BQU8sb0NBQW9DO0lBZTdDLFlBQW1CLGtCQUFzQztRQUF0Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBWGpELGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBT3JCLGFBQVEsR0FBVyxTQUFTLENBQUM7UUFDN0IsYUFBUSxHQUFXLENBQUMsQ0FBQztRQUNyQixhQUFRLEdBQVcsQ0FBQyxDQUFDO0lBRStCLENBQUM7SUFFN0Q7O09BRUc7SUFDSCxPQUFPLENBQUMsR0FBUTtRQUNaLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELGlCQUFpQixDQUFDLE9BQVk7UUFDMUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUM7UUFDN0IsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELFlBQVksQ0FDUixRQUErRDtRQUUvRCxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQ7O09BRUc7SUFDSCwrQkFBK0IsQ0FDM0IsT0FBWTtRQUVaLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxPQUFPLENBQUM7UUFD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QUFFO2dCQUM5RCxJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztZQUN4QyxDQUFDLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7WUFDNUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7U0FDbEQ7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDTyxnQkFBZ0IsS0FBVSxDQUFDO0lBRXJDOztPQUVHO0lBQ08sNEJBQTRCLEtBQVUsQ0FBQztJQUVqRDs7T0FFRztJQUNLLElBQUk7UUFDUixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVEOztPQUVHO0lBQ0ssSUFBSTtRQUNSLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQztJQUNyRSxDQUFDOztvSkEzTlEsb0NBQW9DO3dKQUFwQyxvQ0FBb0MsY0FGakMsTUFBTTsyRkFFVCxvQ0FBb0M7a0JBSGhELFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgKiBhcyBMIGZyb20gXCJsZWFmbGV0XCI7XG5pbXBvcnQgeyBCcmVha3BvaW50T2JzZXJ2ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2xheW91dFwiO1xuXG4vKipcbiAqIEBhdXRob3IgVml0byBTYWx2aWEgLSBDTlIgSU1BQSBnZW9TREkgR3JvdXBcbiAqIEBlbWFpbCB2aXRvLnNhbHZpYUBnbWFpbC5jb21cbiAqL1xuXG4vKipcbiAqIEBwYXJhbSB0aXRsZVxuICogQHBhcmFtIHBhZ2VTaXplXG4gKiBAcGFyYW0gYWN0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSU5neExlYWZsZXRUaW1lZGltZW5zaW9uUGx1Z2luU2VydmljZSB7XG4gICAgLyoqXG4gICAgICogQHBhcmFtIG1hcFxuICAgICAqL1xuICAgIHdpdGhNYXAobWFwOiBhbnkpOiBJTmd4TGVhZmxldFRpbWVkaW1lbnNpb25QbHVnaW5TZXJ2aWNlO1xuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIG9wdGlvbnNcbiAgICAgKi9cbiAgICB3aXRoUGxheWVyT3B0aW9ucyhvcHRpb25zOiBhbnkpOiBJTmd4TGVhZmxldFRpbWVkaW1lbnNpb25QbHVnaW5TZXJ2aWNlO1xuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIG9wdGlvbnNcbiAgICAgKi9cbiAgICB3aXRoVGltZURpbWVuc2lvbk9wdGlvbnNPcHRpb25zKFxuICAgICAgICBvcHRpb25zOiBhbnksXG4gICAgKTogSU5neExlYWZsZXRUaW1lZGltZW5zaW9uUGx1Z2luU2VydmljZTtcblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBwb3NpdGlvblxuICAgICAqL1xuICAgIHdpdGhQb3NpdGlvbihcbiAgICAgICAgcG9zaXRpb246IFwidG9wbGVmdFwiIHwgXCJ0b3ByaWdodFwiIHwgXCJib3R0b21sZWZ0XCIgfCBcImJvdHRvbXJpZ2h0XCIsXG4gICAgKTogSU5neExlYWZsZXRUaW1lZGltZW5zaW9uUGx1Z2luU2VydmljZTtcblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBtaW5TcGVlZFxuICAgICAqL1xuICAgIHdpdGhNaW5TcGVlZChtaW5TcGVlZDogbnVtYmVyKTogSU5neExlYWZsZXRUaW1lZGltZW5zaW9uUGx1Z2luU2VydmljZTtcblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBtYXhTcGVlZFxuICAgICAqL1xuICAgIHdpdGhNYXhTcGVlZChtYXhTcGVlZDogbnVtYmVyKTogSU5neExlYWZsZXRUaW1lZGltZW5zaW9uUGx1Z2luU2VydmljZTtcblxuICAgIC8qXG4gICAgICovXG4gICAgYXBwbHlUaW1lRGltZW5zaW9uUGx1Z2luKCk6IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gc3RhcnRUaW1lXG4gICAgICogQHBhcmFtIGVuZFRpbWVcbiAgICAgKi9cbiAgICByZWZyZXNoQXZhaWxhYmxlVGltZXMoc3RhcnRUaW1lOiBEYXRlLCBlbmRUaW1lOiBEYXRlKTogdm9pZDtcblxuICAgIC8qKlxuICAgICAqL1xuICAgIGdldEN1cnJlbnRUaW1lKCk6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqL1xuICAgIGdldExvd2VyVGltZUxpbWl0KCk6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSB0aW1lXG4gICAgICogQHBhcmFtIHJhbmdlXG4gICAgICovXG4gICAgcmVmcmVzaFRpbWVEaW1lbnNpb25BdExhc3RUaW1lKHRpbWU6IG51bWJlciwgcmFuZ2U6IG51bWJlcik7XG5cbiAgICAvKipcbiAgICAgKi9cbiAgICBnZXRVcHBlclRpbWVMaW1pdCgpOiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gc3RlcFxuICAgICAqL1xuICAgIHBsYXkoc3RlcDogbnVtYmVyKTtcblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBsb29wZWRcbiAgICAgKi9cbiAgICBzZXRQbGF5ZXJUb0xvb3AobG9vcGVkOiBib29sZWFuKTogdm9pZDtcblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSB0aW1lXG4gICAgICovXG4gICAgc2V0Q3VycmVudFRpbWUodGltZTogbnVtYmVyKTogYW55O1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogXCJyb290XCIsXG59KVxuZXhwb3J0IGNsYXNzIE5neExlYWZsZXRUaW1lZGltZW5zaW9uUGx1Z2luU2VydmljZVxuICAgIGltcGxlbWVudHMgSU5neExlYWZsZXRUaW1lZGltZW5zaW9uUGx1Z2luU2VydmljZVxue1xuICAgIHByaXZhdGUgcGxheWVyOiBMLlRpbWVEaW1lbnNpb24uUGxheWVyO1xuICAgIHByaXZhdGUgX3BsYXlFbmFibGVkID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBwbGF5ZXJPcHRpb25zOiBhbnk7XG4gICAgcHJpdmF0ZSB0aW1lRGltZW5zaW9uT3B0aW9uczogYW55O1xuICAgIHByaXZhdGUgdGltZURpbWVuc2lvbkNvbnRyb2w6IEwuQ29udHJvbC5UaW1lRGltZW5zaW9uO1xuICAgIHByaXZhdGUgdGltZURpbWVuc2lvbjogTC5UaW1lRGltZW5zaW9uO1xuICAgIHByaXZhdGUgbWFwOiBhbnk7XG4gICAgcHJpdmF0ZSBfcGVyaW9kOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBwb3NpdGlvbjogc3RyaW5nID0gXCJ0b3BsZWZ0XCI7XG4gICAgcHJpdmF0ZSBtaW5TcGVlZDogbnVtYmVyID0gMTtcbiAgICBwcml2YXRlIG1heFNwZWVkOiBudW1iZXIgPSA1O1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIGJyZWFrcG9pbnRPYnNlcnZlcjogQnJlYWtwb2ludE9ic2VydmVyKSB7fVxuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIHJhbmdlXG4gICAgICovXG4gICAgd2l0aE1hcChtYXA6IGFueSk6IElOZ3hMZWFmbGV0VGltZWRpbWVuc2lvblBsdWdpblNlcnZpY2Uge1xuICAgICAgICB0aGlzLm1hcCA9IG1hcDtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgd2l0aFBsYXllck9wdGlvbnMob3B0aW9uczogYW55KTogSU5neExlYWZsZXRUaW1lZGltZW5zaW9uUGx1Z2luU2VydmljZSB7XG4gICAgICAgIHRoaXMucGxheWVyT3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHdpdGhQb3NpdGlvbihcbiAgICAgICAgcG9zaXRpb246IFwidG9wbGVmdFwiIHwgXCJ0b3ByaWdodFwiIHwgXCJib3R0b21sZWZ0XCIgfCBcImJvdHRvbXJpZ2h0XCIsXG4gICAgKTogSU5neExlYWZsZXRUaW1lZGltZW5zaW9uUGx1Z2luU2VydmljZSB7XG4gICAgICAgIHRoaXMucG9zaXRpb24gPSBwb3NpdGlvbjtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqKlxuICAgICAqIEBwYXJhbSBvcHRpb25zXG4gICAgICovXG4gICAgd2l0aFRpbWVEaW1lbnNpb25PcHRpb25zT3B0aW9ucyhcbiAgICAgICAgb3B0aW9uczogYW55LFxuICAgICk6IElOZ3hMZWFmbGV0VGltZWRpbWVuc2lvblBsdWdpblNlcnZpY2Uge1xuICAgICAgICB0aGlzLnRpbWVEaW1lbnNpb25PcHRpb25zID0gb3B0aW9ucztcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIG1heFNwZWVkXG4gICAgICovXG4gICAgd2l0aE1heFNwZWVkKG1heFNwZWVkOiBudW1iZXIpOiBJTmd4TGVhZmxldFRpbWVkaW1lbnNpb25QbHVnaW5TZXJ2aWNlIHtcbiAgICAgICAgdGhpcy5tYXhTcGVlZCA9IG1heFNwZWVkO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gbWluU3BlZWRcbiAgICAgKi9cbiAgICB3aXRoTWluU3BlZWQobWluU3BlZWQ6IG51bWJlcik6IElOZ3hMZWFmbGV0VGltZWRpbWVuc2lvblBsdWdpblNlcnZpY2Uge1xuICAgICAgICB0aGlzLm1pblNwZWVkID0gbWluU3BlZWQ7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqXG4gICAgICogQHBhcmFtIHN0YXJ0VGltZVxuICAgICAqIEBwYXJhbSBlbmRUaW1lXG4gICAgICovXG4gICAgcHVibGljIHJlZnJlc2hBdmFpbGFibGVUaW1lcyhzdGFydFRpbWU6IERhdGUsIGVuZFRpbWU6IERhdGUpIHtcbiAgICAgICAgdGhpcy50aW1lRGltZW5zaW9uLnNldEF2YWlsYWJsZVRpbWVzKFxuICAgICAgICAgICAgTC5UaW1lRGltZW5zaW9uLlV0aWwuZXhwbG9kZVRpbWVSYW5nZShcbiAgICAgICAgICAgICAgICBzdGFydFRpbWUsXG4gICAgICAgICAgICAgICAgZW5kVGltZSxcbiAgICAgICAgICAgICAgICB0aGlzLl9wZXJpb2QsXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgXCJyZXBsYWNlXCIsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICpcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q3VycmVudFRpbWUoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGltZURpbWVuc2lvbi5nZXRDdXJyZW50VGltZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSB0aW1lXG4gICAgICovXG4gICAgcHVibGljIHNldEN1cnJlbnRUaW1lKHRpbWU6IG51bWJlcik6IGFueSB7XG4gICAgICAgIHRoaXMudGltZURpbWVuc2lvbi5zZXRDdXJyZW50VGltZShuZXcgRGF0ZSh0aW1lKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICpcbiAgICAgKi9cbiAgICBwdWJsaWMgYXV0b0FwZGF0ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuZ2V0VXBwZXJUaW1lTGltaXQoKSA9PT0gbnVsbCB8fFxuICAgICAgICAgICAgdGhpcy5nZXRVcHBlclRpbWVMaW1pdCgpID09PSB0aGlzLnRpbWVEaW1lbnNpb24uZ2V0Q3VycmVudFRpbWUoKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRMb3dlclRpbWVMaW1pdCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy50aW1lRGltZW5zaW9uLmdldEF2YWlsYWJsZVRpbWVzKClbMF07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICpcbiAgICAgKi9cbiAgICByZWZyZXNoVGltZURpbWVuc2lvbkF0TGFzdFRpbWUodGltZTogbnVtYmVyLCByYW5nZTogbnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IGVuZFRpbWUgPSBuZXcgRGF0ZSh0aW1lKTtcbiAgICAgICAgY29uc3Qgc3RhcnRUaW1lID0gbmV3IERhdGUodGltZSAtIHJhbmdlKTtcbiAgICAgICAgdGhpcy5yZWZyZXNoQXZhaWxhYmxlVGltZXMoc3RhcnRUaW1lLCBlbmRUaW1lKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqL1xuICAgIGdldFVwcGVyVGltZUxpbWl0KCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGxlbmd0aCA9IHRoaXMudGltZURpbWVuc2lvbi5nZXRBdmFpbGFibGVUaW1lcygpLmxlbmd0aDtcbiAgICAgICAgcmV0dXJuIHRoaXMudGltZURpbWVuc2lvbi5nZXRBdmFpbGFibGVUaW1lcygpW2xlbmd0aCAtIDFdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqXG4gICAgICogQHBhcmFtIHRpbWVcbiAgICAgKi9cbiAgICBzZXRUcmFuc2l0aW9uVGltZSh0aW1lOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5wbGF5ZXIuc2V0VHJhbnNpdGlvblRpbWUodGltZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICpcbiAgICAgKiBAcGFyYW0gc3RlcFxuICAgICAqL1xuICAgIHBsYXkoc3RlcDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMucGxheWVyLnN0YXJ0KHN0ZXApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBsb29wZWRcbiAgICAgKi9cbiAgICBzZXRQbGF5ZXJUb0xvb3AobG9vcGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMucGxheWVyLnNldExvb3BlZChsb29wZWQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqXG4gICAgICogQHBhcmFtIHZhbHVlXG4gICAgICovXG4gICAgc2V0IHBlcmlvZCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX3BlcmlvZCA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqL1xuICAgIGFwcGx5VGltZURpbWVuc2lvblBsdWdpbigpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLm1hcCkge1xuICAgICAgICAgICAgYWxlcnQoXCJJbXBvc3NpYmlsZSBhZ2dpdW5nZXJlIGlsIHBsdWdpbiB0aW1lZGltZW5zaW9uXCIpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy50aW1lRGltZW5zaW9uID0gbmV3IEwuVGltZURpbWVuc2lvbih0aGlzLnRpbWVEaW1lbnNpb25PcHRpb25zKTtcbiAgICAgICAgICAgIHRoaXMucGxheWVyID0gbmV3IEwuVGltZURpbWVuc2lvbi5QbGF5ZXIoXG4gICAgICAgICAgICAgICAgdGhpcy5wbGF5ZXJPcHRpb25zLFxuICAgICAgICAgICAgICAgIHRoaXMudGltZURpbWVuc2lvbixcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLnRpbWVEaW1lbnNpb25Db250cm9sID0gbmV3IEwuQ29udHJvbC5UaW1lRGltZW5zaW9uKHtcbiAgICAgICAgICAgICAgICBwbGF5ZXI6IHRoaXMucGxheWVyLFxuICAgICAgICAgICAgICAgIGxvb3BCdXR0b246IHRydWUsXG4gICAgICAgICAgICAgICAgcGxheVJldmVyc2VCdXR0b246IHRydWUsXG4gICAgICAgICAgICAgICAgdGltZVNsaWRlcjogdGhpcy5pc01kKCksXG4gICAgICAgICAgICAgICAgc3BlZWRTbGlkZXI6IHRoaXMuaXNMZygpLFxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiB0aGlzLnBvc2l0aW9uLFxuICAgICAgICAgICAgICAgIG1pblNwZWVkOiB0aGlzLm1pblNwZWVkLFxuICAgICAgICAgICAgICAgIG1heFNwZWVkOiB0aGlzLm1heFNwZWVkLFxuICAgICAgICAgICAgICAgIHRpbWVab25lczogW1wiTG9jYWxcIiwgXCJVVENcIl0sXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgdGhpcy5wbGF5ZXIub24oXCJwbGF5XCIsIChlbykgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX3BsYXlFbmFibGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5wbGF5ZXIub24oXCJzdG9wXCIsIChlbykgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX3BsYXlFbmFibGVkID0gZmFsc2U7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMudGltZURpbWVuc2lvbi5vbihcInRpbWVsb2FkXCIsICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uTG9hZFRpbWVDaGFnZWQoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy50aW1lRGltZW5zaW9uLm9uKFwiYXZhaWxhYmxldGltZXNjaGFuZ2VkXCIsIChhdmFpbGFibGVUaW1lcykgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMub25BdmFpbGFibGVUaW1lQ2hhbmdlZENoYWdlZCgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLm1hcC50aW1lRGltZW5zaW9uID0gdGhpcy50aW1lRGltZW5zaW9uO1xuICAgICAgICAgICAgdGhpcy5tYXAuYWRkQ29udHJvbCh0aGlzLnRpbWVEaW1lbnNpb25Db250cm9sKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqXG4gICAgICovXG4gICAgcHJvdGVjdGVkIG9uTG9hZFRpbWVDaGFnZWQoKTogdm9pZCB7fVxuXG4gICAgLyoqXG4gICAgICpcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgb25BdmFpbGFibGVUaW1lQ2hhbmdlZENoYWdlZCgpOiB2b2lkIHt9XG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqL1xuICAgIHByaXZhdGUgaXNNZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYnJlYWtwb2ludE9ic2VydmVyLmlzTWF0Y2hlZChbXCIobWluLXdpZHRoOiA3NjhweClcIl0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqXG4gICAgICovXG4gICAgcHJpdmF0ZSBpc0xnKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5icmVha3BvaW50T2JzZXJ2ZXIuaXNNYXRjaGVkKFtcIihtaW4td2lkdGg6IDk5MnB4KVwiXSk7XG4gICAgfVxufVxuIl19
|
package/esm2020/public-api.mjs
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Public API Surface of ngx-leaflet-timedimension-plugin
|
|
3
|
-
*/
|
|
4
|
-
export * from "./lib/ngx-leaflet-timedimension-plugin.service";
|
|
5
|
-
export * from "./lib/ngx-leaflet-timedimension-plugin.module";
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2dlb3NkaS9uZ3gtbGVhZmxldC10aW1lZGltZW5zaW9uLXBsdWdpbi9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYywrQ0FBK0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Ygbmd4LWxlYWZsZXQtdGltZWRpbWVuc2lvbi1wbHVnaW5cbiAqL1xuXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvbmd4LWxlYWZsZXQtdGltZWRpbWVuc2lvbi1wbHVnaW4uc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL25neC1sZWFmbGV0LXRpbWVkaW1lbnNpb24tcGx1Z2luLm1vZHVsZVwiO1xuIl19
|
|
@@ -1 +0,0 @@
|
|
|
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,217 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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":";;;;;MAgGa,oCAAoC,CAAA;AAe7C,IAAA,WAAA,CAAmB,kBAAsC,EAAA;QAAtC,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAoB;QAXjD,IAAY,CAAA,YAAA,GAAG,KAAK,CAAC;QAOrB,IAAQ,CAAA,QAAA,GAAW,SAAS,CAAC;QAC7B,IAAQ,CAAA,QAAA,GAAW,CAAC,CAAC;QACrB,IAAQ,CAAA,QAAA,GAAW,CAAC,CAAC;KAEgC;AAE7D;;AAEG;AACH,IAAA,OAAO,CAAC,GAAQ,EAAA;AACZ,QAAA,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;AACf,QAAA,OAAO,IAAI,CAAC;KACf;AAED,IAAA,iBAAiB,CAAC,OAAY,EAAA;AAC1B,QAAA,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;AAC7B,QAAA,OAAO,IAAI,CAAC;KACf;AAED,IAAA,YAAY,CACR,QAA+D,EAAA;AAE/D,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACzB,QAAA,OAAO,IAAI,CAAC;KACf;AAED;;AAEG;AACH,IAAA,+BAA+B,CAC3B,OAAY,EAAA;AAEZ,QAAA,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC;AACpC,QAAA,OAAO,IAAI,CAAC;KACf;AAED;;AAEG;AACH,IAAA,YAAY,CAAC,QAAgB,EAAA;AACzB,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACzB,QAAA,OAAO,IAAI,CAAC;KACf;AAED;;AAEG;AACH,IAAA,YAAY,CAAC,QAAgB,EAAA;AACzB,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACzB,QAAA,OAAO,IAAI,CAAC;KACf;AAED;;;;AAIG;IACI,qBAAqB,CAAC,SAAe,EAAE,OAAa,EAAA;QACvD,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAChC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CACjC,SAAS,EACT,OAAO,EACP,IAAI,CAAC,OAAO,CACf,EACD,SAAS,CACZ,CAAC;KACL;AAED;;AAEG;IACI,cAAc,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC;KAC9C;AAED;;AAEG;AACI,IAAA,cAAc,CAAC,IAAY,EAAA;QAC9B,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;KACrD;AAED;;AAEG;IACI,UAAU,GAAA;AACb,QAAA,QACI,IAAI,CAAC,iBAAiB,EAAE,KAAK,IAAI;YACjC,IAAI,CAAC,iBAAiB,EAAE,KAAK,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,EAClE;KACL;AAED;AACG;IACI,iBAAiB,GAAA;QACpB,OAAO,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC;KACpD;AAED;;AAEG;IACH,8BAA8B,CAAC,IAAY,EAAE,KAAa,EAAA;AACtD,QAAA,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;AACzC,QAAA,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;KAClD;AAED;;AAEG;IACH,iBAAiB,GAAA;QACb,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,CAAC,MAAM,CAAC;QAC7D,OAAO,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;KAC7D;AAED;;;AAGG;AACH,IAAA,iBAAiB,CAAC,IAAY,EAAA;AAC1B,QAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;KACvC;AAED;;;AAGG;AACH,IAAA,IAAI,CAAC,IAAY,EAAA;AACb,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;KAC3B;AAED;;AAEG;AACH,IAAA,eAAe,CAAC,MAAe,EAAA;AAC3B,QAAA,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;KACjC;AAED;;;AAGG;IACH,IAAI,MAAM,CAAC,KAAa,EAAA;AACpB,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;KACxB;AAED;AACG;IACH,wBAAwB,GAAA;AACpB,QAAA,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YACX,KAAK,CAAC,gDAAgD,CAAC,CAAC;AAC3D,SAAA;AAAM,aAAA;AACH,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;AACpE,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,aAAa,CAAC,MAAM,CACpC,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,aAAa,CACrB,CAAC;YACF,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;gBACpD,MAAM,EAAE,IAAI,CAAC,MAAM;AACnB,gBAAA,UAAU,EAAE,IAAI;AAChB,gBAAA,iBAAiB,EAAE,IAAI;AACvB,gBAAA,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE;AACvB,gBAAA,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE;gBACxB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACvB,gBAAA,SAAS,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC;AAC9B,aAAA,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,KAAI;AAC1B,gBAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;AAC7B,aAAC,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,KAAI;AAC1B,gBAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;AAC9B,aAAC,CAAC,CAAC;YACH,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,MAAK;gBACnC,IAAI,CAAC,gBAAgB,EAAE,CAAC;AAC5B,aAAC,CAAC,CAAC;YACH,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,uBAAuB,EAAE,CAAC,cAAc,KAAI;gBAC9D,IAAI,CAAC,4BAA4B,EAAE,CAAC;AACxC,aAAC,CAAC,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YAC5C,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;AAClD,SAAA;KACJ;AAED;;AAEG;AACO,IAAA,gBAAgB,MAAW;AAErC;;AAEG;AACO,IAAA,4BAA4B,MAAW;AAEjD;;AAEG;IACK,IAAI,GAAA;QACR,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC;KACpE;AAED;;AAEG;IACK,IAAI,GAAA;QACR,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC;KACpE;;oJA3NQ,oCAAoC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAApC,mBAAA,oCAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oCAAoC,cAFjC,MAAM,EAAA,CAAA,CAAA;2FAET,oCAAoC,EAAA,UAAA,EAAA,CAAA;kBAHhD,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA,CAAA;;;AC7FD;;;AAGG;MAMU,mCAAmC,CAAA;;mJAAnC,mCAAmC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;oJAAnC,mCAAmC,EAAA,CAAA,CAAA;oJAAnC,mCAAmC,EAAA,CAAA,CAAA;2FAAnC,mCAAmC,EAAA,UAAA,EAAA,CAAA;kBAL/C,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,YAAY,EAAE,EAAE;AAChB,oBAAA,OAAO,EAAE,EAAE;AACX,oBAAA,OAAO,EAAE,EAAE;AACd,iBAAA,CAAA;;;ACVD;;AAEG;;ACFH;;AAEG;;;;"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import * as i0 from "@angular/core";
|
|
2
|
-
/**
|
|
3
|
-
* @author Vito Salvia - CNR IMAA geoSDI Group
|
|
4
|
-
* @email vito.salvia@gmail.com
|
|
5
|
-
*/
|
|
6
|
-
export declare class NgxLeafletTimedimensionPluginModule {
|
|
7
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<NgxLeafletTimedimensionPluginModule, never>;
|
|
8
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<NgxLeafletTimedimensionPluginModule, never, never, never>;
|
|
9
|
-
static ɵinj: i0.ɵɵInjectorDeclaration<NgxLeafletTimedimensionPluginModule>;
|
|
10
|
-
}
|
package/public-api.d.ts
DELETED