mobility-toolbox-js 3.0.0-beta.11 → 3.0.0-beta.13
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/RealtimeAPI.d.ts +28 -22
- package/api/RealtimeAPI.js +23 -16
- package/api/RoutingAPI.d.ts +16 -6
- package/api/RoutingAPI.js +16 -6
- package/api/StopsAPI.d.ts +3 -3
- package/api/StopsAPI.js +3 -3
- package/api/WebSocketAPI.d.ts +2 -2
- package/api/WebSocketAPI.js +2 -2
- package/api/typedefs.d.ts +0 -102
- package/api/typedefs.js +27 -42
- package/common/controls/StopFinderControlCommon.d.ts +1 -1
- package/common/controls/StopFinderControlCommon.js +1 -1
- package/common/mixins/RealtimeLayerMixin.d.ts +10 -11
- package/common/mixins/RealtimeLayerMixin.js +17 -9
- package/common/typedefs.d.ts +7 -0
- package/common/typedefs.js +6 -0
- package/common/utils/compareDepartures.d.ts +2 -2
- package/common/utils/compareDepartures.js +2 -2
- package/common/utils/getRealtimeModeSuffix.d.ts +1 -0
- package/common/utils/getRealtimeModeSuffix.js +1 -0
- package/common/utils/getVehiclePosition.d.ts +3 -2
- package/common/utils/getVehiclePosition.js +6 -1
- package/common/utils/renderTrajectories.d.ts +1 -1
- package/common/utils/renderTrajectories.js +1 -1
- package/common/utils/sortAndFilterDepartures.d.ts +1 -1
- package/common/utils/sortAndFilterDepartures.js +1 -1
- package/common/utils/sortByDelay.d.ts +2 -2
- package/common/utils/sortByDelay.js +5 -1
- package/maplibre/layers/Layer.d.ts +1 -1
- package/maplibre/layers/Layer.js +1 -1
- package/maplibre/layers/RealtimeLayer.d.ts +40 -11
- package/maplibre/layers/RealtimeLayer.js +27 -3
- package/mbt.js +86 -43
- package/mbt.js.map +4 -4
- package/mbt.min.js +13 -13
- package/mbt.min.js.map +4 -4
- package/ol/controls/RoutingControl.d.ts +1 -1
- package/ol/controls/RoutingControl.js +1 -1
- package/ol/index.d.ts +1 -0
- package/ol/index.js +1 -0
- package/ol/layers/Layer.d.ts +101 -0
- package/ol/layers/Layer.js +17 -0
- package/ol/layers/MaplibreLayer.d.ts +3 -3
- package/ol/layers/MaplibreLayer.js +3 -3
- package/ol/layers/RealtimeLayer.d.ts +15 -12
- package/ol/layers/index.d.ts +1 -0
- package/ol/layers/index.js +1 -0
- package/ol/mixins/index.d.ts +1 -0
- package/ol/mixins/index.js +2 -0
- package/ol/renderers/RealtimeLayerRenderer.js +4 -1
- package/package.json +1 -1
|
@@ -31,7 +31,7 @@ export type AbotControllersByGraph = {
|
|
|
31
31
|
[key: string]: AbortController;
|
|
32
32
|
};
|
|
33
33
|
/**
|
|
34
|
-
* This control allows the user to add and modifiy via points to a map and request a route from the [geOps Routing API](https://developer.geops.io/apis/routing/).
|
|
34
|
+
* This OpenLayers control allows the user to add and modifiy via points to a map and request a route from the [geOps Routing API](https://developer.geops.io/apis/routing/).
|
|
35
35
|
*
|
|
36
36
|
* @example
|
|
37
37
|
* import { Map } from 'ol';
|
|
@@ -47,7 +47,7 @@ const getFlatCoordinatesFromSegments = (segmentArray) => {
|
|
|
47
47
|
return coords;
|
|
48
48
|
};
|
|
49
49
|
/**
|
|
50
|
-
* This control allows the user to add and modifiy via points to a map and request a route from the [geOps Routing API](https://developer.geops.io/apis/routing/).
|
|
50
|
+
* This OpenLayers control allows the user to add and modifiy via points to a map and request a route from the [geOps Routing API](https://developer.geops.io/apis/routing/).
|
|
51
51
|
*
|
|
52
52
|
* @example
|
|
53
53
|
* import { Map } from 'ol';
|
package/ol/index.d.ts
CHANGED
package/ol/index.js
CHANGED
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import OLLayer from 'ol/layer/Layer';
|
|
2
|
+
import { MobilityLayerOptions } from '../mixins/MobilityLayerMixin';
|
|
3
|
+
declare const Layer_base: {
|
|
4
|
+
new (...args: any[]): {
|
|
5
|
+
options?: import("../mixins/PropertiesLayerMixin").PropertiesLayerMixinOptions | undefined;
|
|
6
|
+
olListenersKeys: import("ol/events").EventsKey[];
|
|
7
|
+
children: OLLayer<import("ol/source").Source, import("ol/renderer/Layer").default<any>>[];
|
|
8
|
+
get copyrights(): string;
|
|
9
|
+
set copyrights(newCopyrights: string | string[]);
|
|
10
|
+
disabled: boolean;
|
|
11
|
+
readonly group: string;
|
|
12
|
+
readonly hitTolerance: boolean;
|
|
13
|
+
readonly key: string;
|
|
14
|
+
readonly map: import("ol").Map;
|
|
15
|
+
readonly name: string;
|
|
16
|
+
olLayer: OLLayer<import("ol/source").Source, import("ol/renderer/Layer").default<any>>;
|
|
17
|
+
parent: OLLayer<import("ol/source").Source, import("ol/renderer/Layer").default<any>>;
|
|
18
|
+
visible: boolean;
|
|
19
|
+
setMapInternal: ((map: import("ol").Map) => void) & ((map: import("ol").Map | null) => void);
|
|
20
|
+
onChildrenChange(oldValue: OLLayer<import("ol/source").Source, import("ol/renderer/Layer").default<any>>[]): void;
|
|
21
|
+
attachToMap(map: import("ol").Map): void;
|
|
22
|
+
detachFromMap(): void;
|
|
23
|
+
flat(): any[];
|
|
24
|
+
addEventListener: (type: string, listener: import("ol/events").Listener) => void;
|
|
25
|
+
removeEventListener: (type: string, listener: import("ol/events").Listener) => void;
|
|
26
|
+
on: import("ol/layer/Layer").LayerOnSignature<import("ol/events").EventsKey>;
|
|
27
|
+
render: (frameState: import("ol/Map").FrameState | null, target: HTMLElement) => HTMLElement | null;
|
|
28
|
+
once: import("ol/layer/Layer").LayerOnSignature<import("ol/events").EventsKey>;
|
|
29
|
+
un: import("ol/layer/Layer").LayerOnSignature<void>;
|
|
30
|
+
getSource: () => import("ol/source").Source | null;
|
|
31
|
+
getRenderSource: () => import("ol/source").Source | null;
|
|
32
|
+
getFeatures: (pixel: import("ol/pixel").Pixel) => Promise<import("ol/Feature").FeatureLike[]>;
|
|
33
|
+
getData: (pixel: import("ol/pixel").Pixel) => Float32Array | Uint8ClampedArray | Uint8Array | DataView | null;
|
|
34
|
+
isVisible: (view?: import("ol").View | import("ol/View").ViewStateLayerStateExtent | undefined) => boolean;
|
|
35
|
+
getAttributions: (view?: import("ol").View | import("ol/View").ViewStateLayerStateExtent | undefined) => string[];
|
|
36
|
+
unrender: () => void;
|
|
37
|
+
getDeclutter: () => string;
|
|
38
|
+
renderDeclutter: (frameState: import("ol/Map").FrameState, layerState: import("ol/layer/Layer").State) => void;
|
|
39
|
+
renderDeferred: (frameState: import("ol/Map").FrameState) => void;
|
|
40
|
+
getMapInternal: () => import("ol").Map | null;
|
|
41
|
+
setMap: (map: import("ol").Map | null) => void;
|
|
42
|
+
setSource: (source: import("ol/source").Source | null) => void;
|
|
43
|
+
getRenderer: () => import("ol/renderer/Layer").default<any> | null;
|
|
44
|
+
hasRenderer: () => boolean;
|
|
45
|
+
getBackground: () => false | import("ol/layer/Base").BackgroundColor;
|
|
46
|
+
getClassName: () => string;
|
|
47
|
+
getLayerState: (managed?: boolean | undefined) => import("ol/layer/Layer").State;
|
|
48
|
+
getLayersArray: (array?: OLLayer<import("ol/source").Source, import("ol/renderer/Layer").default<any>>[] | undefined) => OLLayer<import("ol/source").Source, import("ol/renderer/Layer").default<any>>[];
|
|
49
|
+
getLayerStatesArray: (states?: import("ol/layer/Layer").State[] | undefined) => import("ol/layer/Layer").State[];
|
|
50
|
+
getExtent: () => import("ol/extent").Extent | undefined;
|
|
51
|
+
getMaxResolution: () => number;
|
|
52
|
+
getMinResolution: () => number;
|
|
53
|
+
getMinZoom: () => number;
|
|
54
|
+
getMaxZoom: () => number;
|
|
55
|
+
getOpacity: () => number;
|
|
56
|
+
getSourceState: () => import("ol/source/Source").State;
|
|
57
|
+
getVisible: () => boolean;
|
|
58
|
+
getZIndex: () => number | undefined;
|
|
59
|
+
setBackground: (background?: import("ol/layer/Base").BackgroundColor | undefined) => void;
|
|
60
|
+
setExtent: (extent: import("ol/extent").Extent | undefined) => void;
|
|
61
|
+
setMaxResolution: (maxResolution: number) => void;
|
|
62
|
+
setMinResolution: (minResolution: number) => void;
|
|
63
|
+
setMaxZoom: (maxZoom: number) => void;
|
|
64
|
+
setMinZoom: (minZoom: number) => void;
|
|
65
|
+
setOpacity: (opacity: number) => void;
|
|
66
|
+
setVisible: (visible: boolean) => void;
|
|
67
|
+
setZIndex: (zindex: number) => void;
|
|
68
|
+
get: (key: string) => any;
|
|
69
|
+
getKeys: () => string[];
|
|
70
|
+
getProperties: () => {
|
|
71
|
+
[x: string]: any;
|
|
72
|
+
};
|
|
73
|
+
getPropertiesInternal: () => {
|
|
74
|
+
[x: string]: any;
|
|
75
|
+
} | null;
|
|
76
|
+
hasProperties: () => boolean;
|
|
77
|
+
notify: (key: string, oldValue: any) => void;
|
|
78
|
+
addChangeListener: (key: string, listener: import("ol/events").Listener) => void;
|
|
79
|
+
removeChangeListener: (key: string, listener: import("ol/events").Listener) => void;
|
|
80
|
+
set: (key: string, value: any, silent?: boolean | undefined) => void;
|
|
81
|
+
setProperties: (values: {
|
|
82
|
+
[x: string]: any;
|
|
83
|
+
}, silent?: boolean | undefined) => void;
|
|
84
|
+
unset: (key: string, silent?: boolean | undefined) => void;
|
|
85
|
+
changed: () => void;
|
|
86
|
+
getRevision: () => number;
|
|
87
|
+
dispatchEvent: (event: string | import("ol/events/Event").default) => boolean | undefined;
|
|
88
|
+
getListeners: (type: string) => import("ol/events").Listener[] | undefined;
|
|
89
|
+
hasListener: (type?: string | undefined) => boolean;
|
|
90
|
+
dispose: () => void;
|
|
91
|
+
};
|
|
92
|
+
} & typeof OLLayer;
|
|
93
|
+
/**
|
|
94
|
+
* An OpenLayers layer here only for backward compatibility v2.
|
|
95
|
+
* @deprecated
|
|
96
|
+
*/
|
|
97
|
+
declare class Layer extends Layer_base {
|
|
98
|
+
constructor(options: MobilityLayerOptions);
|
|
99
|
+
clone(newOptions: MobilityLayerOptions): Layer;
|
|
100
|
+
}
|
|
101
|
+
export default Layer;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import OLLayer from 'ol/layer/Layer';
|
|
2
|
+
import MobilityLayerMixin from '../mixins/MobilityLayerMixin';
|
|
3
|
+
/**
|
|
4
|
+
* An OpenLayers layer here only for backward compatibility v2.
|
|
5
|
+
* @deprecated
|
|
6
|
+
*/
|
|
7
|
+
class Layer extends MobilityLayerMixin(OLLayer) {
|
|
8
|
+
constructor(options) {
|
|
9
|
+
super(options);
|
|
10
|
+
// eslint-disable-next-line no-console
|
|
11
|
+
console.warn('Layer is deprecated. Use an OpenLayers Layer instead.');
|
|
12
|
+
}
|
|
13
|
+
clone(newOptions) {
|
|
14
|
+
return new Layer(Object.assign(Object.assign({}, (this.options || {})), (newOptions || {})));
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
export default Layer;
|
|
@@ -149,10 +149,10 @@ declare class MaplibreLayer extends MaplibreLayer_base {
|
|
|
149
149
|
*
|
|
150
150
|
* @param {MaplibreLayerOptions} options
|
|
151
151
|
* @param {string} options.apiKey Access key for [geOps apis](https://developer.geops.io/).
|
|
152
|
-
* @param {string} [options.apiKeyName="key"] The geOps Maps
|
|
152
|
+
* @param {string} [options.apiKeyName="key"] The geOps Maps API key name.
|
|
153
153
|
* @param {maplibregl.MapOptions} [options.mapOptions={ interactive: false, trackResize: false, attributionControl: false }] Maplibre map options.
|
|
154
|
-
* @param {string} [options.style="travic_v2"] The geOps Maps
|
|
155
|
-
* @param {string} [options.url="https://maps.geops.io"] The geOps Maps
|
|
154
|
+
* @param {string} [options.style="travic_v2"] The geOps Maps API style.
|
|
155
|
+
* @param {string} [options.url="https://maps.geops.io"] The geOps Maps API url.
|
|
156
156
|
*/
|
|
157
157
|
constructor(options: MaplibreLayerOptions);
|
|
158
158
|
/**
|
|
@@ -73,10 +73,10 @@ class MaplibreLayer extends MobilityLayerMixin(Layer) {
|
|
|
73
73
|
*
|
|
74
74
|
* @param {MaplibreLayerOptions} options
|
|
75
75
|
* @param {string} options.apiKey Access key for [geOps apis](https://developer.geops.io/).
|
|
76
|
-
* @param {string} [options.apiKeyName="key"] The geOps Maps
|
|
76
|
+
* @param {string} [options.apiKeyName="key"] The geOps Maps API key name.
|
|
77
77
|
* @param {maplibregl.MapOptions} [options.mapOptions={ interactive: false, trackResize: false, attributionControl: false }] Maplibre map options.
|
|
78
|
-
* @param {string} [options.style="travic_v2"] The geOps Maps
|
|
79
|
-
* @param {string} [options.url="https://maps.geops.io"] The geOps Maps
|
|
78
|
+
* @param {string} [options.style="travic_v2"] The geOps Maps API style.
|
|
79
|
+
* @param {string} [options.url="https://maps.geops.io"] The geOps Maps API url.
|
|
80
80
|
*/
|
|
81
81
|
constructor(options) {
|
|
82
82
|
super(Object.assign(Object.assign({ source: new Source({
|
|
@@ -5,8 +5,7 @@ import { Map, MapEvent } from 'ol';
|
|
|
5
5
|
import { ObjectEvent } from 'ol/Object';
|
|
6
6
|
import Layer from 'ol/layer/Layer';
|
|
7
7
|
import { RealtimeLayerMixinOptions } from '../../common/mixins/RealtimeLayerMixin';
|
|
8
|
-
import { RealtimeFullTrajectory, RealtimeTrainId, ViewState } from '../../types';
|
|
9
|
-
import { RealtimeTrajectory } from '../../api/typedefs';
|
|
8
|
+
import { RealtimeFullTrajectory, RealtimeTrainId, RealtimeTrajectory, ViewState } from '../../types';
|
|
10
9
|
import { WebSocketAPIMessageEventData } from '../../api/WebSocketAPI';
|
|
11
10
|
import RealtimeLayerRenderer from '../renderers/RealtimeLayerRenderer';
|
|
12
11
|
export type RealtimeLayerOptions = RealtimeLayerMixinOptions & {
|
|
@@ -18,7 +17,7 @@ declare const RealtimeLayer_base: {
|
|
|
18
17
|
[x: string]: any;
|
|
19
18
|
debug: boolean;
|
|
20
19
|
trajectories?: {
|
|
21
|
-
[key: string]:
|
|
20
|
+
[key: string]: RealtimeTrajectory;
|
|
22
21
|
} | undefined;
|
|
23
22
|
canvas?: import("../../types").AnyCanvas | undefined;
|
|
24
23
|
mode: import("../../types").RealtimeMode;
|
|
@@ -26,7 +25,7 @@ declare const RealtimeLayer_base: {
|
|
|
26
25
|
tenant: string;
|
|
27
26
|
bboxParameters?: {
|
|
28
27
|
[index: string]: string | number | boolean | string[] | number[] | boolean[];
|
|
29
|
-
} | undefined;
|
|
28
|
+
} | undefined; /** @private */
|
|
30
29
|
time?: Date | undefined;
|
|
31
30
|
live?: boolean | undefined;
|
|
32
31
|
speed?: number | undefined;
|
|
@@ -48,12 +47,16 @@ declare const RealtimeLayer_base: {
|
|
|
48
47
|
generalizationLevel?: import("../../types").RealtimeGeneralizationLevel | undefined;
|
|
49
48
|
generalizationLevelByZoom: import("../../types").RealtimeGeneralizationLevel[];
|
|
50
49
|
renderTimeIntervalByZoom: number[];
|
|
50
|
+
/**
|
|
51
|
+
* Destroy the container of the tracker.
|
|
52
|
+
* @private
|
|
53
|
+
*/
|
|
51
54
|
format: GeoJSON<typeof Feature>;
|
|
52
55
|
requestId?: number | undefined;
|
|
53
56
|
updateTimeInterval?: number | undefined;
|
|
54
57
|
updateTimeDelay?: number | undefined;
|
|
55
58
|
visibilityRef: import("ol/events").EventsKey;
|
|
56
|
-
selectedVehicle:
|
|
59
|
+
selectedVehicle: RealtimeTrajectory;
|
|
57
60
|
getMotsByZoom: (zoom: number) => import("../../types").RealtimeMot[];
|
|
58
61
|
getGeneralizationLevelByZoom: (zoom: number) => import("../../types").RealtimeGeneralizationLevel;
|
|
59
62
|
getRenderTimeIntervalByZoom: (zoom: number) => number;
|
|
@@ -72,19 +75,19 @@ declare const RealtimeLayer_base: {
|
|
|
72
75
|
renderTrajectories(viewState: ViewState | undefined, noInterpolate: boolean | undefined): void;
|
|
73
76
|
setBbox(extent: [number, number, number, number], zoom: number): void;
|
|
74
77
|
getRefreshTimeInMs(zoom?: number | undefined): number;
|
|
75
|
-
getVehicle(filterFc: Function):
|
|
78
|
+
getVehicle(filterFc: Function): RealtimeTrajectory[];
|
|
76
79
|
getFeatureInfoAtCoordinate(coordinate: import("ol/coordinate").Coordinate, options: import("../../types").LayerGetFeatureInfoOptions): Promise<import("../../types").LayerGetFeatureInfoResponse>;
|
|
77
80
|
getTrajectoryInfos(id: string): Promise<{
|
|
78
|
-
stopSequence: WebSocketAPIMessageEventData<RealtimeFullTrajectory> | WebSocketAPIMessageEventData<
|
|
79
|
-
fullTrajectory: WebSocketAPIMessageEventData<RealtimeFullTrajectory> | WebSocketAPIMessageEventData<
|
|
81
|
+
stopSequence: WebSocketAPIMessageEventData<RealtimeFullTrajectory> | WebSocketAPIMessageEventData<import("../../types").RealtimeStopSequence[]>;
|
|
82
|
+
fullTrajectory: WebSocketAPIMessageEventData<RealtimeFullTrajectory> | WebSocketAPIMessageEventData<import("../../types").RealtimeStopSequence[]>;
|
|
80
83
|
}>;
|
|
81
84
|
purgeOutOfDateTrajectories(): void;
|
|
82
|
-
purgeTrajectory(trajectory:
|
|
83
|
-
addTrajectory(trajectory:
|
|
84
|
-
removeTrajectory(trajectoryOrId:
|
|
85
|
+
purgeTrajectory(trajectory: RealtimeTrajectory, extent: [number, number, number, number], zoom: number): boolean;
|
|
86
|
+
addTrajectory(trajectory: RealtimeTrajectory): void;
|
|
87
|
+
removeTrajectory(trajectoryOrId: string | RealtimeTrajectory): void;
|
|
85
88
|
onZoomEnd(): void;
|
|
86
89
|
onDocumentVisibilityChange(): void;
|
|
87
|
-
onTrajectoryMessage(data: WebSocketAPIMessageEventData<
|
|
90
|
+
onTrajectoryMessage(data: WebSocketAPIMessageEventData<RealtimeTrajectory>): void;
|
|
88
91
|
onDeleteTrajectoryMessage(data: WebSocketAPIMessageEventData<string>): void;
|
|
89
92
|
highlightVehicle(id: string): void;
|
|
90
93
|
selectVehicle(id: string): void;
|
package/ol/layers/index.d.ts
CHANGED
package/ol/layers/index.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as MobilityLayerMixin } from './MobilityLayerMixin';
|
|
@@ -100,7 +100,10 @@ export default class RealtimeLayerRenderer extends CanvasLayerRenderer {
|
|
|
100
100
|
const vehicles = [];
|
|
101
101
|
for (let i = 0; i < trajectories.length; i += 1) {
|
|
102
102
|
const trajectory = trajectories[i];
|
|
103
|
-
if (
|
|
103
|
+
if (
|
|
104
|
+
// @ts-expect-error coordinate is added by the RealtimeLayer
|
|
105
|
+
trajectory.properties.coordinate &&
|
|
106
|
+
// @ts-expect-error coordinate is added by the RealtimeLayer
|
|
104
107
|
containsCoordinate(ext, trajectory.properties.coordinate)) {
|
|
105
108
|
vehicles.push(trajectories[i]);
|
|
106
109
|
}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "mobility-toolbox-js",
|
|
3
3
|
"license": "MIT",
|
|
4
4
|
"description": "Toolbox for JavaScript applications in the domains of mobility and logistics.",
|
|
5
|
-
"version": "3.0.0-beta.
|
|
5
|
+
"version": "3.0.0-beta.13",
|
|
6
6
|
"homepage": "https://mobility-toolbox-js.geops.io/",
|
|
7
7
|
"exports": {
|
|
8
8
|
".": "./index.js",
|