mobility-toolbox-js 2.0.0-beta.1 → 2.0.0
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/README.md +7 -4
- package/api/index.js +0 -1
- package/api/tralis/TralisAPI.js +1 -1
- package/common/controls/Control.js +4 -1
- package/common/layers/Layer.js +18 -49
- package/common/layers/Layer.test.js +2 -106
- package/common/mixins/SearchMixin.js +1 -1
- package/common/mixins/TralisLayerMixin.js +549 -21
- package/common/styles/index.js +4 -0
- package/common/{utils/delayTrackerStyle.js → styles/trackerDefaultStyle.js} +8 -8
- package/common/styles/trackerDelayStyle.js +17 -0
- package/common/styles/trackerSimpleStyle.js +22 -0
- package/common/trackerConfig.test.js +0 -13
- package/common/utils/getMapboxMapCopyrights.js +1 -0
- package/common/utils/index.js +2 -3
- package/common/utils/sortByDelay.js +23 -0
- package/index.js +1 -1
- package/index.js.map +1 -1
- package/mapbox/controls/CopyrightControl.js +5 -1
- package/mapbox/index.js +0 -2
- package/mapbox/layers/Layer.test.js +2 -2
- package/mapbox/layers/TralisLayer.js +270 -5
- package/mapbox/layers/TralisLayer.test.js +40 -0
- package/module.js +1 -9
- package/ol/controls/CopyrightControl.js +4 -4
- package/ol/controls/CopyrightControl.test.js +16 -16
- package/ol/controls/RoutingControl.js +9 -7
- package/ol/controls/RoutingControl.test.js +1 -1
- package/ol/controls/StopFinderControl.js +8 -6
- package/ol/controls/StopFinderControl.test.js +1 -1
- package/ol/index.js +3 -3
- package/ol/layers/Layer.js +9 -0
- package/ol/layers/Layer.test.js +22 -7
- package/ol/layers/MapboxLayer.js +39 -44
- package/ol/layers/MapboxLayer.test.js +5 -5
- package/ol/layers/MapboxStyleLayer.js +0 -6
- package/ol/layers/MapboxStyleLayer.test.js +22 -6
- package/ol/layers/MaplibreLayer.js +280 -0
- package/ol/layers/RoutingLayer.test.js +1 -1
- package/ol/layers/TralisLayer.js +258 -76
- package/ol/layers/TralisLayer.test.js +1 -49
- package/ol/layers/VectorLayer.test.js +1 -1
- package/ol/layers/WMSLayer.test.js +6 -2
- package/ol/styles/fullTrajectoryDelayStyle.js +35 -0
- package/ol/styles/fullTrajectoryStyle.js +51 -0
- package/ol/styles/index.js +2 -0
- package/package.json +16 -8
- package/api/trajserv/TrajservAPI.js +0 -71
- package/api/trajserv/TrajservAPI.test.js +0 -171
- package/api/trajserv/TrajservAPIUtils.js +0 -191
- package/api/trajserv/TrajservAPIUtils.test.js +0 -40
- package/api/trajserv/typedefs.js +0 -44
- package/common/mixins/MapMixin.js +0 -103
- package/common/mixins/TrackerLayerMixin.js +0 -745
- package/common/mixins/TrajservLayerMixin.js +0 -544
- package/common/utils/simpleTrackerStyle.js +0 -18
- package/mapbox/Map.js +0 -87
- package/mapbox/layers/TrackerLayer.js +0 -282
- package/mapbox/layers/TrackerLayer.test.js +0 -68
- package/mapbox/layers/TrajservLayer.js +0 -114
- package/mapbox/layers/TrajservLayer.test.js +0 -90
- package/ol/Map.js +0 -109
- package/ol/Map.test.js +0 -34
- package/ol/layers/TrackerLayer.js +0 -296
- package/ol/layers/TrackerLayer.test.js +0 -70
- package/ol/layers/TrajservLayer.js +0 -190
- package/ol/layers/TrajservLayer.test.js +0 -113
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import trackerDefaultStyle from './trackerDefaultStyle';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* A tracker style that display the delay as backgroundColor.
|
|
5
|
+
*
|
|
6
|
+
* @param {*} trajectory The trajectory to render.
|
|
7
|
+
* @param {*} viewState The view state of the map.
|
|
8
|
+
* @param {*} options Some options to change the rendering
|
|
9
|
+
* @return a canvas
|
|
10
|
+
*/
|
|
11
|
+
const style = (trajectory, viewState, options) => {
|
|
12
|
+
return trackerDefaultStyle(trajectory, viewState, {
|
|
13
|
+
...options,
|
|
14
|
+
useDelayStyle: true,
|
|
15
|
+
});
|
|
16
|
+
};
|
|
17
|
+
export default style;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A very simple tracker style.
|
|
3
|
+
* Display blue point for each train.
|
|
4
|
+
*/
|
|
5
|
+
let canvas;
|
|
6
|
+
const style = () => {
|
|
7
|
+
if (!canvas) {
|
|
8
|
+
document.createElement('canvas');
|
|
9
|
+
canvas.width = 15;
|
|
10
|
+
canvas.height = 15;
|
|
11
|
+
const ctx = canvas.getContext('2d');
|
|
12
|
+
ctx.arc(8, 8, 5, 0, 2 * Math.PI, false);
|
|
13
|
+
ctx.fillStyle = '#8ED6FF';
|
|
14
|
+
ctx.fill();
|
|
15
|
+
ctx.lineWidth = 3;
|
|
16
|
+
ctx.strokeStyle = 'black';
|
|
17
|
+
ctx.stroke();
|
|
18
|
+
ctx.lineWidth = 3;
|
|
19
|
+
}
|
|
20
|
+
return canvas;
|
|
21
|
+
};
|
|
22
|
+
export default style;
|
|
@@ -10,19 +10,6 @@ describe('trackerConfig', () => {
|
|
|
10
10
|
expect(getTypeIndex(undefined)).toBe(undefined);
|
|
11
11
|
});
|
|
12
12
|
|
|
13
|
-
test('find good index for old trajserv values', () => {
|
|
14
|
-
expect(getTypeIndex('Tram')).toBe(0);
|
|
15
|
-
expect(getTypeIndex('Subway / Metro / S-Bahn')).toBe(1);
|
|
16
|
-
expect(getTypeIndex('Train')).toBe(2);
|
|
17
|
-
expect(getTypeIndex('Bus')).toBe(3);
|
|
18
|
-
expect(getTypeIndex('Ferry')).toBe(4);
|
|
19
|
-
expect(getTypeIndex('Cable Car')).toBe(5);
|
|
20
|
-
expect(getTypeIndex('Gondola')).toBe(6);
|
|
21
|
-
expect(getTypeIndex('Funicular')).toBe(7);
|
|
22
|
-
expect(getTypeIndex('Long distance bus')).toBe(8);
|
|
23
|
-
expect(getTypeIndex('Rail')).toBe(9);
|
|
24
|
-
});
|
|
25
|
-
|
|
26
13
|
test('find good index for new tracker values', () => {
|
|
27
14
|
expect(getTypeIndex('tram')).toBe(0);
|
|
28
15
|
expect(getTypeIndex('subway')).toBe(1);
|
package/common/utils/index.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
export { default as getMapboxStyleUrl } from './getMapboxStyleUrl';
|
|
2
2
|
export { default as getMapboxMapCopyrights } from './getMapboxMapCopyrights';
|
|
3
3
|
export { default as removeDuplicate } from './removeDuplicate';
|
|
4
|
-
export { default as delayTrackerStyle } from './delayTrackerStyle';
|
|
5
|
-
export * from './delayTrackerStyle';
|
|
6
|
-
export { default as simpleTrackerStyle } from './simpleTrackerStyle';
|
|
7
4
|
export * from './timeUtils';
|
|
5
|
+
export * from '../styles';
|
|
6
|
+
export { default as sortByDelay } from './sortByDelay';
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
const sortByDelay = (traj1, traj2) => {
|
|
2
|
+
const props1 = traj1.properties;
|
|
3
|
+
const props2 = traj2.properties;
|
|
4
|
+
|
|
5
|
+
if (props1.delay === null && props2.delay !== null) {
|
|
6
|
+
return 1;
|
|
7
|
+
}
|
|
8
|
+
if (props2.delay === null && props1.delay !== null) {
|
|
9
|
+
return -1;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
// We put cancelled train inbetween green and yellow trains
|
|
13
|
+
// >=180000ms corresponds to yellow train
|
|
14
|
+
if (props1.cancelled && !props2.cancelled) {
|
|
15
|
+
return props2.delay < 180000 ? -1 : 1;
|
|
16
|
+
}
|
|
17
|
+
if (props2.cancelled && !props1.cancelled) {
|
|
18
|
+
return props1.delay < 180000 ? 1 : -1;
|
|
19
|
+
}
|
|
20
|
+
return props2.delay - props1.delay;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export default sortByDelay;
|