mobility-toolbox-js 2.0.0-beta.50 → 2.0.0-beta.52
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/common/mixins/RealtimeLayerMixin.d.ts.map +1 -1
- package/common/mixins/RealtimeLayerMixin.js +1 -1
- package/common/utils/createTrackerFilters.d.ts +1 -1
- package/common/utils/createTrackerFilters.d.ts.map +1 -1
- package/common/utils/createTrackerFilters.js +10 -3
- package/common/utils/renderTrajectories.d.ts.map +1 -1
- package/common/utils/renderTrajectories.js +6 -1
- package/mbt.js +16 -3
- package/mbt.js.map +2 -2
- package/mbt.min.js +11 -11
- package/mbt.min.js.map +2 -2
- package/package.json +2 -2
- package/types/common.d.ts +1 -0
- package/types/realtime.d.ts +16 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RealtimeLayerMixin.d.ts","sourceRoot":"","sources":["../../../src/common/mixins/RealtimeLayerMixin.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"RealtimeLayerMixin.d.ts","sourceRoot":"","sources":["../../../src/common/mixins/RealtimeLayerMixin.ts"],"names":[],"mappings":"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"}
|
|
@@ -344,7 +344,7 @@ function RealtimeLayerMixin(Base) {
|
|
|
344
344
|
return true;
|
|
345
345
|
}
|
|
346
346
|
// console.time('render');
|
|
347
|
-
this.renderState = renderTrajectories(this.canvas, trajectories, this.style, Object.assign(Object.assign({}, viewState), { pixelRatio: this.pixelRatio || 1, time }), Object.assign({ noInterpolate: (viewState.zoom || 0) < this.minZoomInterpolation
|
|
347
|
+
this.renderState = renderTrajectories(this.canvas, trajectories, this.style, Object.assign(Object.assign({}, viewState), { pixelRatio: this.pixelRatio || 1, time }), Object.assign({ filter: this.filter, noInterpolate: (viewState.zoom || 0) < this.minZoomInterpolation
|
|
348
348
|
? true
|
|
349
349
|
: noInterpolate, hoverVehicleId: this.hoverVehicleId, selectedVehicleId: this.selectedVehicleId }, this.styleOptions));
|
|
350
350
|
// console.timeEnd('render');
|
|
@@ -3,7 +3,7 @@ import { RealtimeTrajectory } from '../../types';
|
|
|
3
3
|
* Return a filter functions based on some parameters of a vehicle.
|
|
4
4
|
*
|
|
5
5
|
* @param {string|Array<string>} line - A list of vehicle's name to filter. Names can be separated by a comma. Ex: 'S1,S2,S3'
|
|
6
|
-
* @param {string|Array<string} route - A list of vehicle's route (contained in
|
|
6
|
+
* @param {string|Array<string} route - A list of vehicle's route (contained in route_identifier property) to filter. Indentifiers can be separated by a comma. Ex: 'id1,id2,id3'
|
|
7
7
|
* @param {string|Array<string} operator A list of vehicle's operator to filter. Operators can be separated by a comma. Ex: 'SBB,DB'
|
|
8
8
|
* @param {Regexp} regexLine - A regex aplly of vehcile's name.
|
|
9
9
|
* @private
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createTrackerFilters.d.ts","sourceRoot":"","sources":["../../../src/common/utils/createTrackerFilters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD;;;;;;;;GAQG;AACH,QAAA,MAAM,aAAa,SACX,MAAM,GAAG,MAAM,EAAE,SAChB,MAAM,GAAG,MAAM,EAAE,YACd,MAAM,GAAG,MAAM,EAAE,aAChB,MAAM,GAAG,MAAM,EAAE,mBACb,kBAAkB,KAAK,OAAO,
|
|
1
|
+
{"version":3,"file":"createTrackerFilters.d.ts","sourceRoot":"","sources":["../../../src/common/utils/createTrackerFilters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD;;;;;;;;GAQG;AACH,QAAA,MAAM,aAAa,SACX,MAAM,GAAG,MAAM,EAAE,SAChB,MAAM,GAAG,MAAM,EAAE,YACd,MAAM,GAAG,MAAM,EAAE,aAChB,MAAM,GAAG,MAAM,EAAE,mBACb,kBAAkB,KAAK,OAAO,QA8E9C,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Return a filter functions based on some parameters of a vehicle.
|
|
3
3
|
*
|
|
4
4
|
* @param {string|Array<string>} line - A list of vehicle's name to filter. Names can be separated by a comma. Ex: 'S1,S2,S3'
|
|
5
|
-
* @param {string|Array<string} route - A list of vehicle's route (contained in
|
|
5
|
+
* @param {string|Array<string} route - A list of vehicle's route (contained in route_identifier property) to filter. Indentifiers can be separated by a comma. Ex: 'id1,id2,id3'
|
|
6
6
|
* @param {string|Array<string} operator A list of vehicle's operator to filter. Operators can be separated by a comma. Ex: 'SBB,DB'
|
|
7
7
|
* @param {Regexp} regexLine - A regex aplly of vehcile's name.
|
|
8
8
|
* @private
|
|
@@ -42,14 +42,21 @@ const createFilters = (line, route, operator, regexLine) => {
|
|
|
42
42
|
const routes = typeof route === 'string' ? route.split(',') : route;
|
|
43
43
|
const routeList = routes.map((item) => parseInt(item, 10));
|
|
44
44
|
const routeFilter = (item) => {
|
|
45
|
-
const
|
|
45
|
+
const routeIdentifier = item.properties.route_identifier ||
|
|
46
|
+
item.properties.routeIdentifier ||
|
|
47
|
+
'';
|
|
48
|
+
const routeId = parseInt(routeIdentifier.split('.')[0], 10);
|
|
46
49
|
return routeList.includes(routeId);
|
|
47
50
|
};
|
|
48
51
|
filterList.push(routeFilter);
|
|
49
52
|
}
|
|
50
53
|
if (operator) {
|
|
51
54
|
const operatorList = typeof operator === 'string' ? [operator] : operator;
|
|
52
|
-
const operatorFilter = (item) => operatorList.some((op) =>
|
|
55
|
+
const operatorFilter = (item) => operatorList.some((op) => {
|
|
56
|
+
// operaotr is the old property tenant is the new one
|
|
57
|
+
const tenant = item.properties.operator || item.properties.tenant || '';
|
|
58
|
+
return new RegExp(op, 'i').test(tenant);
|
|
59
|
+
});
|
|
53
60
|
filterList.push(operatorFilter);
|
|
54
61
|
}
|
|
55
62
|
if (!filterList.length) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderTrajectories.d.ts","sourceRoot":"","sources":["../../../src/common/utils/renderTrajectories.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,SAAS,EACV,MAAM,aAAa,CAAC;AAGrB;;;;;;;;;;;;GAYG;AACH,QAAA,MAAM,kBAAkB,WACd,SAAS,gBACH,oBAAoB,SAC3B,qBAAqB,aACjB,SAAS,WACX,oBAAoB,KAC5B,
|
|
1
|
+
{"version":3,"file":"renderTrajectories.d.ts","sourceRoot":"","sources":["../../../src/common/utils/renderTrajectories.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,SAAS,EACV,MAAM,aAAa,CAAC;AAGrB;;;;;;;;;;;;GAYG;AACH,QAAA,MAAM,kBAAkB,WACd,SAAS,gBACH,oBAAoB,SAC3B,qBAAqB,aACjB,SAAS,WACX,oBAAoB,KAC5B,mBAmLF,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
|
@@ -22,7 +22,7 @@ const renderTrajectories = (canvas, trajectories, style, viewState, options) =>
|
|
|
22
22
|
if (!resolution || !center) {
|
|
23
23
|
return { renderedTrajectories: [] };
|
|
24
24
|
}
|
|
25
|
-
const { noInterpolate = false, hoverVehicleId, selectedVehicleId } = options;
|
|
25
|
+
const { noInterpolate = false, hoverVehicleId, selectedVehicleId, filter, } = options;
|
|
26
26
|
const context = canvas.getContext('2d');
|
|
27
27
|
context === null || context === void 0 ? void 0 : context.clearRect(0, 0, canvas.width, canvas.height);
|
|
28
28
|
const [width, height] = size;
|
|
@@ -46,6 +46,11 @@ const renderTrajectories = (canvas, trajectories, style, viewState, options) =>
|
|
|
46
46
|
const renderedTrajectories = [];
|
|
47
47
|
for (let i = trajectories.length - 1; i >= 0; i -= 1) {
|
|
48
48
|
const trajectory = trajectories[i];
|
|
49
|
+
// Filter out trajectories
|
|
50
|
+
if (filter && !filter(trajectory)) {
|
|
51
|
+
// eslint-disable-next-line no-continue
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
49
54
|
// We simplify the trajectory object
|
|
50
55
|
const { train_id: id, timeOffset } = trajectory.properties;
|
|
51
56
|
// We set the rotation and the timeFraction of the trajectory (used by tralis).
|
package/mbt.js
CHANGED
|
@@ -34620,14 +34620,18 @@ uniform ${i3} ${o3} u_${a3};
|
|
|
34620
34620
|
const routes = typeof route === "string" ? route.split(",") : route;
|
|
34621
34621
|
const routeList = routes.map((item) => parseInt(item, 10));
|
|
34622
34622
|
const routeFilter = (item) => {
|
|
34623
|
-
const
|
|
34623
|
+
const routeIdentifier = item.properties.route_identifier || item.properties.routeIdentifier || "";
|
|
34624
|
+
const routeId = parseInt(routeIdentifier.split(".")[0], 10);
|
|
34624
34625
|
return routeList.includes(routeId);
|
|
34625
34626
|
};
|
|
34626
34627
|
filterList.push(routeFilter);
|
|
34627
34628
|
}
|
|
34628
34629
|
if (operator) {
|
|
34629
34630
|
const operatorList = typeof operator === "string" ? [operator] : operator;
|
|
34630
|
-
const operatorFilter = (item) => operatorList.some((op) =>
|
|
34631
|
+
const operatorFilter = (item) => operatorList.some((op) => {
|
|
34632
|
+
const tenant = item.properties.operator || item.properties.tenant || "";
|
|
34633
|
+
return new RegExp(op, "i").test(tenant);
|
|
34634
|
+
});
|
|
34631
34635
|
filterList.push(operatorFilter);
|
|
34632
34636
|
}
|
|
34633
34637
|
if (!filterList.length) {
|
|
@@ -34921,7 +34925,12 @@ uniform ${i3} ${o3} u_${a3};
|
|
|
34921
34925
|
if (!resolution || !center) {
|
|
34922
34926
|
return { renderedTrajectories: [] };
|
|
34923
34927
|
}
|
|
34924
|
-
const {
|
|
34928
|
+
const {
|
|
34929
|
+
noInterpolate = false,
|
|
34930
|
+
hoverVehicleId,
|
|
34931
|
+
selectedVehicleId,
|
|
34932
|
+
filter
|
|
34933
|
+
} = options;
|
|
34925
34934
|
const context = canvas2.getContext("2d");
|
|
34926
34935
|
context?.clearRect(0, 0, canvas2.width, canvas2.height);
|
|
34927
34936
|
const [width, height] = size;
|
|
@@ -34944,6 +34953,9 @@ uniform ${i3} ${o3} u_${a3};
|
|
|
34944
34953
|
const renderedTrajectories = [];
|
|
34945
34954
|
for (let i = trajectories.length - 1; i >= 0; i -= 1) {
|
|
34946
34955
|
const trajectory = trajectories[i];
|
|
34956
|
+
if (filter && !filter(trajectory)) {
|
|
34957
|
+
continue;
|
|
34958
|
+
}
|
|
34947
34959
|
const { train_id: id, timeOffset } = trajectory.properties;
|
|
34948
34960
|
const { coord, rotation: rotationIcon } = getVehiclePosition_default(time - (timeOffset || 0), trajectory, noInterpolate);
|
|
34949
34961
|
trajectories[i].properties.coordinate = coord;
|
|
@@ -49403,6 +49415,7 @@ uniform ${i3} ${o3} u_${a3};
|
|
|
49403
49415
|
pixelRatio: this.pixelRatio || 1,
|
|
49404
49416
|
time
|
|
49405
49417
|
}, {
|
|
49418
|
+
filter: this.filter,
|
|
49406
49419
|
noInterpolate: (viewState.zoom || 0) < this.minZoomInterpolation ? true : noInterpolate,
|
|
49407
49420
|
hoverVehicleId: this.hoverVehicleId,
|
|
49408
49421
|
selectedVehicleId: this.selectedVehicleId,
|