mobility-toolbox-js 3.0.0-beta.19 → 3.0.0-beta.20
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/api/HttpAPI.d.ts +5 -5
- package/api/RealtimeAPI.d.ts +204 -171
- package/api/RealtimeAPI.js +306 -258
- package/api/RoutingAPI.d.ts +4 -4
- package/api/StopsAPI.d.ts +4 -4
- package/api/WebSocketAPI.d.ts +60 -66
- package/api/WebSocketAPI.js +164 -164
- package/api/index.js +1 -1
- package/common/controls/StopFinderControlCommon.d.ts +11 -11
- package/common/controls/StopFinderControlCommon.js +30 -30
- package/common/index.d.ts +1 -1
- package/common/index.js +1 -1
- package/common/mixins/RealtimeLayerMixin.d.ts +149 -155
- package/common/mixins/RealtimeLayerMixin.js +395 -395
- package/common/styles/realtimeDefaultStyle.js +6 -6
- package/common/styles/realtimeHeadingStyle.js +5 -5
- package/common/utils/getMapGlCopyrights.d.ts +1 -1
- package/common/utils/getMapGlCopyrights.js +3 -3
- package/common/utils/getVehiclePosition.d.ts +2 -2
- package/common/utils/getVehiclePosition.js +7 -7
- package/common/utils/renderTrajectories.js +5 -5
- package/common/utils/sortByDelay.js +5 -5
- package/maplibre/layers/RealtimeLayer.d.ts +59 -64
- package/maplibre/layers/RealtimeLayer.js +8 -8
- package/maplibre/utils/getSourceCoordinates.js +5 -5
- package/mbt.js +7205 -7031
- package/mbt.js.map +4 -4
- package/mbt.min.js +25 -25
- package/mbt.min.js.map +4 -4
- package/ol/controls/RoutingControl.d.ts +81 -87
- package/ol/controls/RoutingControl.js +216 -218
- package/ol/layers/Layer.d.ts +9 -9
- package/ol/layers/MaplibreLayer.d.ts +10 -10
- package/ol/layers/MaplibreLayer.js +9 -3
- package/ol/layers/MaplibreStyleLayer.d.ts +77 -76
- package/ol/layers/MaplibreStyleLayer.js +237 -238
- package/ol/layers/RealtimeLayer.d.ts +92 -96
- package/ol/layers/RealtimeLayer.js +139 -131
- package/ol/mixins/MobilityLayerMixin.d.ts +9 -9
- package/ol/mixins/PropertiesLayerMixin.d.ts +33 -36
- package/ol/mixins/PropertiesLayerMixin.js +73 -72
- package/ol/renderers/MaplibreLayerRenderer.js +3 -3
- package/ol/renderers/MaplibreStyleLayerRenderer.d.ts +6 -6
- package/ol/renderers/MaplibreStyleLayerRenderer.js +14 -17
- package/ol/renderers/RealtimeLayerRenderer.d.ts +6 -6
- package/ol/renderers/RealtimeLayerRenderer.js +54 -52
- package/ol/utils/getFeatureInfoAtCoordinate.d.ts +1 -1
- package/ol/utils/getFeatureInfoAtCoordinate.js +10 -16
- package/package.json +6 -5
- package/setupTests.js +3 -4
- package/types/common.d.ts +53 -49
- package/types/index.d.ts +1 -1
- package/types/realtime.d.ts +91 -93
- package/types/routing.d.ts +60 -60
- package/types/stops.d.ts +62 -62
|
@@ -1,99 +1,100 @@
|
|
|
1
|
+
import { Map, MapEvent } from 'ol';
|
|
2
|
+
import Feature, { FeatureLike } from 'ol/Feature';
|
|
1
3
|
import GeoJSON from 'ol/format/GeoJSON';
|
|
2
4
|
import { Vector as VectorLayer } from 'ol/layer';
|
|
3
|
-
import Source from 'ol/source/Source';
|
|
4
|
-
import Feature, { FeatureLike } from 'ol/Feature';
|
|
5
|
-
import { Map, MapEvent } from 'ol';
|
|
6
|
-
import { ObjectEvent } from 'ol/Object';
|
|
7
5
|
import Layer from 'ol/layer/Layer';
|
|
6
|
+
import { ObjectEvent } from 'ol/Object';
|
|
7
|
+
import Source from 'ol/source/Source';
|
|
8
|
+
import { WebSocketAPIMessageEventData } from '../../api/WebSocketAPI';
|
|
8
9
|
import { RealtimeLayerMixinOptions } from '../../common/mixins/RealtimeLayerMixin';
|
|
9
10
|
import { RealtimeFullTrajectory, RealtimeTrainId, RealtimeTrajectory, ViewState } from '../../types';
|
|
10
|
-
import { WebSocketAPIMessageEventData } from '../../api/WebSocketAPI';
|
|
11
11
|
import RealtimeLayerRenderer from '../renderers/RealtimeLayerRenderer';
|
|
12
|
-
export type RealtimeLayerOptions =
|
|
13
|
-
fullTrajectoryStyle?: (feature: FeatureLike, resolution: number, options: any) => void;
|
|
12
|
+
export type RealtimeLayerOptions = {
|
|
14
13
|
allowRenderWhenAnimating?: boolean;
|
|
15
|
-
|
|
14
|
+
fullTrajectoryStyle?: (feature: FeatureLike, resolution: number, options: any) => void;
|
|
15
|
+
} & RealtimeLayerMixinOptions;
|
|
16
16
|
declare const RealtimeLayer_base: {
|
|
17
17
|
new (options: RealtimeLayerMixinOptions): {
|
|
18
18
|
[x: string]: any;
|
|
19
19
|
[x: symbol]: any;
|
|
20
|
-
debug: boolean;
|
|
21
|
-
trajectories?: {
|
|
22
|
-
[key: string]: RealtimeTrajectory;
|
|
23
|
-
} | undefined;
|
|
24
|
-
canvas?: import("../../types").AnyCanvas;
|
|
25
|
-
mode: import("../../types").RealtimeMode;
|
|
26
20
|
api: import("..").RealtimeAPI;
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
time?: Date;
|
|
32
|
-
live?: boolean;
|
|
33
|
-
speed?: number;
|
|
21
|
+
bboxParameters?: Record<string, boolean | boolean[] | number | number[] | string | string[]>;
|
|
22
|
+
canvas?: import("../../types").AnyCanvas;
|
|
23
|
+
debounceRenderTrajectories: (viewState: ViewState, noInterpolate?: boolean) => void;
|
|
24
|
+
debug: boolean;
|
|
34
25
|
filter?: import("../../common/typedefs").FilterFunction;
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
26
|
+
format: GeoJSON;
|
|
27
|
+
generalizationLevel?: import("../../types").RealtimeGeneralizationLevel;
|
|
28
|
+
generalizationLevelByZoom: import("../../types").RealtimeGeneralizationLevel[];
|
|
29
|
+
getGeneralizationLevelByZoom: (zoom: number) => import("../../types").RealtimeGeneralizationLevel;
|
|
30
|
+
getMotsByZoom: (zoom: number) => import("../../types").RealtimeMot[];
|
|
31
|
+
getRenderTimeIntervalByZoom: (zoom: number) => number;
|
|
41
32
|
hoverVehicleId?: RealtimeTrainId;
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
useThrottle?: boolean;
|
|
33
|
+
isUpdateBboxOnMoveEnd: boolean;
|
|
34
|
+
live?: boolean;
|
|
35
|
+
minZoomInterpolation: number;
|
|
36
|
+
mode: import("../../types").RealtimeMode;
|
|
47
37
|
mots?: import("../../types").RealtimeMot[];
|
|
48
38
|
motsByZoom: import("../../types").RealtimeMot[][];
|
|
49
|
-
|
|
50
|
-
|
|
39
|
+
onStart?: ((realtimeLayer: import("../../types").AnyLayer) => void) | undefined;
|
|
40
|
+
onStop?: ((realtimeLayer: import("../../types").AnyLayer) => void) | undefined;
|
|
41
|
+
pixelRatio?: number;
|
|
42
|
+
renderState?: import("../../types").RealtimeRenderState;
|
|
51
43
|
renderTimeIntervalByZoom: number[];
|
|
52
|
-
format: GeoJSON;
|
|
53
44
|
requestId?: number;
|
|
54
|
-
updateTimeInterval?: number;
|
|
55
|
-
updateTimeDelay?: number;
|
|
56
|
-
visibilityRef: import("ol/events").EventsKey;
|
|
57
45
|
selectedVehicle: RealtimeTrajectory;
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
46
|
+
selectedVehicleId?: RealtimeTrainId;
|
|
47
|
+
sort?: import("../../common/typedefs").SortFunction;
|
|
48
|
+
speed?: number;
|
|
49
|
+
style?: import("../../types").RealtimeStyleFunction;
|
|
50
|
+
styleOptions?: import("../../types").RealtimeStyleOptions;
|
|
51
|
+
tenant: import("../../types").RealtimeTenant;
|
|
61
52
|
throttleRenderTrajectories: (viewState: ViewState, noInterpolate?: boolean) => void;
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
53
|
+
time?: Date;
|
|
54
|
+
trajectories?: Record<RealtimeTrainId, RealtimeTrajectory>;
|
|
55
|
+
updateTimeDelay?: number;
|
|
56
|
+
updateTimeInterval?: number;
|
|
57
|
+
useDebounce?: boolean;
|
|
58
|
+
useRequestAnimationFrame?: boolean;
|
|
59
|
+
useThrottle?: boolean;
|
|
60
|
+
visibilityRef: import("ol/events").EventsKey;
|
|
61
|
+
addTrajectory(trajectory: RealtimeTrajectory): void;
|
|
66
62
|
attachToMap(map: import("../../types").AnyMap): void;
|
|
63
|
+
defineProperties(options: RealtimeLayerMixinOptions): void;
|
|
67
64
|
detachFromMap(): void;
|
|
68
|
-
start(): void;
|
|
69
|
-
startUpdateTime(): void;
|
|
70
|
-
stop(): void;
|
|
71
|
-
stopUpdateTime(): void;
|
|
72
|
-
renderTrajectoriesInternal(viewState: ViewState, noInterpolate?: boolean): boolean;
|
|
73
|
-
renderTrajectories(viewState: ViewState | undefined, noInterpolate: boolean | undefined): void;
|
|
74
|
-
setBbox(extent: [number, number, number, number], zoom: number): void;
|
|
75
|
-
getRefreshTimeInMs(zoom?: number | undefined): number;
|
|
76
|
-
getVehicle(filterFc: import("../../common/typedefs").FilterFunction): RealtimeTrajectory[];
|
|
77
65
|
getFeatureInfoAtCoordinate(coordinate: import("ol/coordinate").Coordinate, options: import("../../types").LayerGetFeatureInfoOptions): Promise<import("../../types").LayerGetFeatureInfoResponse>;
|
|
66
|
+
getRefreshTimeInMs(zoom?: number | undefined): number;
|
|
78
67
|
getTrajectoryInfos(id: RealtimeTrainId): Promise<{
|
|
79
|
-
|
|
80
|
-
|
|
68
|
+
fullTrajectory: WebSocketAPIMessageEventData<import("../../types").RealtimeStopSequence[]> | WebSocketAPIMessageEventData<RealtimeFullTrajectory>;
|
|
69
|
+
stopSequence: WebSocketAPIMessageEventData<import("../../types").RealtimeStopSequence[]> | WebSocketAPIMessageEventData<RealtimeFullTrajectory>;
|
|
81
70
|
}>;
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
removeTrajectory(trajectoryOrId: RealtimeTrajectory | RealtimeTrainId): void;
|
|
86
|
-
onZoomEnd(): void;
|
|
71
|
+
getVehicle(filterFc: import("../../common/typedefs").FilterFunction): RealtimeTrajectory[];
|
|
72
|
+
highlightVehicle(id: RealtimeTrainId): void;
|
|
73
|
+
onDeleteTrajectoryMessage(data: WebSocketAPIMessageEventData<RealtimeTrainId>): void;
|
|
87
74
|
onDocumentVisibilityChange(): void;
|
|
88
75
|
onTrajectoryMessage(data: WebSocketAPIMessageEventData<RealtimeTrajectory>): void;
|
|
89
|
-
|
|
90
|
-
|
|
76
|
+
onZoomEnd(): void;
|
|
77
|
+
purgeOutOfDateTrajectories(): void;
|
|
78
|
+
purgeTrajectory(trajectory: RealtimeTrajectory, extent: [number, number, number, number], zoom: number): boolean;
|
|
79
|
+
removeTrajectory(trajectoryOrId: RealtimeTrainId | RealtimeTrajectory): void;
|
|
80
|
+
renderTrajectories(viewState: undefined | ViewState, noInterpolate: boolean | undefined): void;
|
|
81
|
+
renderTrajectoriesInternal(viewState: ViewState, noInterpolate?: boolean): boolean;
|
|
91
82
|
selectVehicle(id: RealtimeTrainId): void;
|
|
83
|
+
setBbox(extent: [number, number, number, number], zoom: number): void;
|
|
84
|
+
start(): void;
|
|
85
|
+
startUpdateTime(): void;
|
|
86
|
+
stop(): void;
|
|
87
|
+
stopUpdateTime(): void;
|
|
92
88
|
};
|
|
93
89
|
} & {
|
|
94
90
|
new (...args: any[]): {
|
|
95
|
-
options?: import("../mixins/PropertiesLayerMixin").PropertiesLayerMixinOptions;
|
|
96
91
|
olEventsKeys: import("ol/events").EventsKey[];
|
|
92
|
+
options?: import("../mixins/PropertiesLayerMixin").PropertiesLayerMixinOptions;
|
|
93
|
+
attachToMap(map: Map): void;
|
|
94
|
+
detachFromMap(): void;
|
|
95
|
+
flat(): any[];
|
|
96
|
+
onChildrenChange(oldValue: Layer[]): void;
|
|
97
|
+
setMapInternal: ((map: Map) => void) & ((map: import("ol/Map").default | null) => void);
|
|
97
98
|
children: Layer<Source, import("ol/renderer/Layer").default<any>>[];
|
|
98
99
|
get copyrights(): string;
|
|
99
100
|
set copyrights(newCopyrights: string | string[]);
|
|
@@ -106,17 +107,10 @@ declare const RealtimeLayer_base: {
|
|
|
106
107
|
olLayer: Layer;
|
|
107
108
|
parent: Layer<Source, import("ol/renderer/Layer").default<any>>;
|
|
108
109
|
visible: boolean;
|
|
109
|
-
setMapInternal: ((map: Map) => void) & ((map: import("ol/Map").default | null) => void);
|
|
110
|
-
onChildrenChange(oldValue: Layer[]): void;
|
|
111
|
-
attachToMap(map: Map): void;
|
|
112
|
-
detachFromMap(): void;
|
|
113
|
-
flat(): any[];
|
|
114
|
-
addEventListener: (type: string, listener: import("ol/events").Listener) => void;
|
|
115
|
-
removeEventListener: (type: string, listener: import("ol/events").Listener) => void;
|
|
116
110
|
on: import("ol/layer/Layer").LayerOnSignature<import("ol/events").EventsKey>;
|
|
117
|
-
render: (frameState: import("ol/Map").FrameState | null, target: HTMLElement) => HTMLElement | null;
|
|
118
111
|
once: import("ol/layer/Layer").LayerOnSignature<import("ol/events").EventsKey>;
|
|
119
112
|
un: import("ol/layer/Layer").LayerOnSignature<void>;
|
|
113
|
+
render: (frameState: import("ol/Map").FrameState | null, target: HTMLElement) => HTMLElement | null;
|
|
120
114
|
getSource: () => Source | null;
|
|
121
115
|
getRenderSource: () => Source | null;
|
|
122
116
|
getFeatures: (pixel: import("ol/pixel").Pixel) => Promise<Array<import("ol/Feature").FeatureLike>>;
|
|
@@ -174,9 +168,11 @@ declare const RealtimeLayer_base: {
|
|
|
174
168
|
unset: (key: string, silent?: boolean | undefined) => void;
|
|
175
169
|
changed: () => void;
|
|
176
170
|
getRevision: () => number;
|
|
171
|
+
addEventListener: (type: string, listener: import("ol/events").Listener) => void;
|
|
177
172
|
dispatchEvent: (event: import("ol/events/Event").default | string) => boolean | undefined;
|
|
178
173
|
getListeners: (type: string) => Array<import("ol/events").Listener> | undefined;
|
|
179
174
|
hasListener: (type?: string | undefined) => boolean;
|
|
175
|
+
removeEventListener: (type: string, listener: import("ol/events").Listener) => void;
|
|
180
176
|
dispose: () => void;
|
|
181
177
|
};
|
|
182
178
|
} & typeof Layer;
|
|
@@ -214,42 +210,46 @@ declare class RealtimeLayer extends RealtimeLayer_base {
|
|
|
214
210
|
*
|
|
215
211
|
*/
|
|
216
212
|
constructor(options: RealtimeLayerOptions);
|
|
217
|
-
/**
|
|
218
|
-
* @private
|
|
219
|
-
*/
|
|
220
|
-
createRenderer(): RealtimeLayerRenderer;
|
|
221
213
|
/** @private */
|
|
222
214
|
attachToMap(map: Map): void;
|
|
223
215
|
/**
|
|
224
|
-
*
|
|
216
|
+
* Create a copy of the RealtimeLayer.
|
|
217
|
+
* @param {Object} newOptions Options to override
|
|
218
|
+
* @return {RealtimeLayer} A RealtimeLayer
|
|
219
|
+
*/
|
|
220
|
+
clone(newOptions: RealtimeLayerOptions): RealtimeLayer;
|
|
221
|
+
/**
|
|
225
222
|
* @private
|
|
226
223
|
*/
|
|
227
|
-
|
|
224
|
+
createRenderer(): RealtimeLayerRenderer;
|
|
228
225
|
/**
|
|
229
226
|
* Render the trajectories using current map's size, resolution and rotation.
|
|
230
227
|
* @param {boolean} noInterpolate if true, renders the vehicles without interpolating theirs positions.
|
|
231
228
|
* @overrides
|
|
232
229
|
* @private
|
|
233
230
|
*/
|
|
234
|
-
renderTrajectories(noInterpolate: boolean): void;
|
|
235
231
|
/**
|
|
236
|
-
*
|
|
232
|
+
* Destroy the container of the tracker.
|
|
237
233
|
* @private
|
|
238
|
-
* @override
|
|
239
234
|
*/
|
|
240
|
-
|
|
235
|
+
detachFromMap(): void;
|
|
241
236
|
/**
|
|
242
237
|
* Return the delay in ms before the next rendering.
|
|
243
238
|
* @private
|
|
244
239
|
*/
|
|
245
240
|
getRefreshTimeInMs(): number;
|
|
241
|
+
highlight(feature: Feature): void;
|
|
246
242
|
/**
|
|
247
243
|
* On move end we update the websocket with the new bbox.
|
|
248
244
|
*
|
|
249
245
|
* @private
|
|
250
246
|
* @override
|
|
251
247
|
*/
|
|
252
|
-
|
|
248
|
+
/**
|
|
249
|
+
* Highlight the trajectory of journey.
|
|
250
|
+
* @private
|
|
251
|
+
*/
|
|
252
|
+
highlightTrajectory(id: RealtimeTrainId): Promise<Feature[] | undefined>;
|
|
253
253
|
/**
|
|
254
254
|
* Function called on moveend event only when the zoom has changed.
|
|
255
255
|
*
|
|
@@ -257,31 +257,27 @@ declare class RealtimeLayer extends RealtimeLayer_base {
|
|
|
257
257
|
* @private
|
|
258
258
|
* @override
|
|
259
259
|
*/
|
|
260
|
+
onMoveEnd(evt: MapEvent | ObjectEvent): void;
|
|
260
261
|
onZoomEnd(): void;
|
|
261
|
-
highlight(feature: Feature): void;
|
|
262
|
-
select(feature: Feature): void;
|
|
263
262
|
/**
|
|
264
263
|
* Remove the trajectory form the list if necessary.
|
|
265
264
|
*
|
|
266
265
|
* @private
|
|
267
266
|
*/
|
|
268
267
|
purgeTrajectory(trajectory: RealtimeTrajectory, extent: [number, number, number, number], zoom: number): boolean;
|
|
268
|
+
renderTrajectories(noInterpolate: boolean): void;
|
|
269
269
|
/**
|
|
270
|
-
*
|
|
271
|
-
*
|
|
270
|
+
* Launch renderTrajectories. it avoids duplicating code in renderTrajectories methhod.
|
|
272
271
|
* @private
|
|
272
|
+
* @override
|
|
273
273
|
*/
|
|
274
|
-
|
|
274
|
+
renderTrajectoriesInternal(viewState: ViewState, noInterpolate: boolean): boolean;
|
|
275
|
+
select(feature: Feature): void;
|
|
275
276
|
/**
|
|
276
|
-
*
|
|
277
|
+
* Send the current bbox to the websocket
|
|
278
|
+
*
|
|
277
279
|
* @private
|
|
278
280
|
*/
|
|
279
|
-
|
|
280
|
-
/**
|
|
281
|
-
* Create a copy of the RealtimeLayer.
|
|
282
|
-
* @param {Object} newOptions Options to override
|
|
283
|
-
* @return {RealtimeLayer} A RealtimeLayer
|
|
284
|
-
*/
|
|
285
|
-
clone(newOptions: RealtimeLayerOptions): RealtimeLayer;
|
|
281
|
+
setBbox(extent?: [number, number, number, number], zoom?: number): void;
|
|
286
282
|
}
|
|
287
283
|
export default RealtimeLayer;
|