mobility-toolbox-js 2.0.0-beta.34 → 2.0.0-beta.37
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 +14 -8
- package/api/RealtimeAPI.d.ts +6 -6
- package/api/RealtimeAPI.d.ts.map +1 -1
- package/api/RealtimeAPI.js +170 -197
- package/api/RealtimeAPI.test.d.ts +2 -0
- package/api/RealtimeAPI.test.d.ts.map +1 -0
- package/api/RealtimeAPI.test.js +67 -0
- package/api/RoutingAPI.d.ts +6 -2
- package/api/RoutingAPI.d.ts.map +1 -1
- package/api/RoutingAPI.js +8 -38
- package/api/RoutingAPI.test.d.ts +2 -0
- package/api/RoutingAPI.test.d.ts.map +1 -0
- package/api/RoutingAPI.test.js +29 -0
- package/api/StopsAPI.d.ts +1 -1
- package/api/StopsAPI.d.ts.map +1 -1
- package/api/StopsAPI.js +8 -40
- package/api/StopsAPI.test.d.ts +2 -0
- package/api/StopsAPI.test.d.ts.map +1 -0
- package/api/StopsAPI.test.js +26 -0
- package/api/index.d.ts +3 -4
- package/api/index.d.ts.map +1 -1
- package/api/index.js +3 -10
- package/api/typedefs.js +1 -0
- package/common/api/HttpAPI.d.ts +2 -2
- package/common/api/HttpAPI.d.ts.map +1 -1
- package/common/api/HttpAPI.js +21 -48
- package/common/api/HttpAPI.test.d.ts +2 -0
- package/common/api/HttpAPI.test.d.ts.map +1 -0
- package/common/api/HttpAPI.test.js +54 -0
- package/common/api/WebSocketAPI.d.ts +8 -4
- package/common/api/WebSocketAPI.d.ts.map +1 -1
- package/common/api/WebSocketAPI.js +125 -129
- package/common/api/WebSocketAPI.test.d.ts +2 -0
- package/common/api/WebSocketAPI.test.d.ts.map +1 -0
- package/common/api/WebSocketAPI.test.js +380 -0
- package/common/controls/Control.d.ts +5 -5
- package/common/controls/Control.d.ts.map +1 -1
- package/common/controls/Control.js +44 -77
- package/common/controls/Control.test.d.ts +2 -0
- package/common/controls/Control.test.d.ts.map +1 -0
- package/common/controls/Control.test.js +89 -0
- package/common/index.js +2 -18
- package/common/layers/Layer.d.ts +11 -11
- package/common/layers/Layer.d.ts.map +1 -1
- package/common/layers/Layer.js +70 -104
- package/common/layers/Layer.test.d.ts +2 -0
- package/common/layers/Layer.test.d.ts.map +1 -0
- package/common/layers/Layer.test.js +137 -0
- package/common/mixins/CopyrightMixin.js +23 -52
- package/common/mixins/MapboxLayerMixin.js +162 -204
- package/common/mixins/RealtimeLayerMixin.js +580 -635
- package/common/mixins/StopFinderMixin.d.ts +3 -3
- package/common/mixins/StopFinderMixin.d.ts.map +1 -1
- package/common/mixins/StopFinderMixin.js +115 -157
- package/common/mixins/UserInteractionsLayerMixin.js +142 -175
- package/common/mixins/UserInteractionsLayerMixin.test.d.ts +2 -0
- package/common/mixins/UserInteractionsLayerMixin.test.d.ts.map +1 -0
- package/common/mixins/UserInteractionsLayerMixin.test.js +214 -0
- package/common/styles/index.js +4 -24
- package/common/styles/realtimeDefaultStyle.d.ts.map +1 -1
- package/common/styles/realtimeDefaultStyle.js +67 -78
- package/common/styles/realtimeDelayStyle.js +4 -17
- package/common/styles/realtimeSimpleStyle.js +5 -7
- package/common/typedefs.js +1 -0
- package/common/utils/cleanStopTime.js +3 -5
- package/common/utils/compareDepartures.d.ts +1 -1
- package/common/utils/compareDepartures.d.ts.map +1 -1
- package/common/utils/compareDepartures.js +8 -11
- package/common/utils/createCanvas.js +3 -5
- package/common/utils/createTrackerFilters.d.ts +1 -1
- package/common/utils/createTrackerFilters.d.ts.map +1 -1
- package/common/utils/createTrackerFilters.js +22 -32
- package/common/utils/createTrackerFilters.test.d.ts +2 -0
- package/common/utils/createTrackerFilters.test.d.ts.map +1 -0
- package/common/utils/createTrackerFilters.test.js +79 -0
- package/common/utils/getLayersAsFlatArray.js +6 -8
- package/common/utils/getMapboxMapCopyrights.js +9 -11
- package/common/utils/getMapboxMapCopyrights.test.d.ts +2 -0
- package/common/utils/getMapboxMapCopyrights.test.d.ts.map +1 -0
- package/common/utils/getMapboxMapCopyrights.test.js +40 -0
- package/common/utils/getMapboxRender.js +12 -15
- package/common/utils/getMaplibreRender.js +10 -13
- package/common/utils/getRealtimeModeSuffix.js +2 -6
- package/common/utils/getUrlWithParams.js +5 -8
- package/common/utils/getVehiclePosition.js +20 -23
- package/common/utils/index.js +12 -37
- package/common/utils/removeDuplicate.d.ts +1 -1
- package/common/utils/removeDuplicate.d.ts.map +1 -1
- package/common/utils/removeDuplicate.js +6 -21
- package/common/utils/removeDuplicate.test.d.ts +2 -0
- package/common/utils/removeDuplicate.test.d.ts.map +1 -0
- package/common/utils/removeDuplicate.test.js +19 -0
- package/common/utils/renderTrajectories.js +31 -43
- package/common/utils/sortByDelay.js +4 -6
- package/common/utils/timeUtils.js +14 -24
- package/common/utils/timeUtils.test.d.ts +2 -0
- package/common/utils/timeUtils.test.d.ts.map +1 -0
- package/common/utils/timeUtils.test.js +10 -0
- package/common/utils/trackerConfig.js +27 -39
- package/common/utils/trackerConfig.test.d.ts +2 -0
- package/common/utils/trackerConfig.test.d.ts.map +1 -0
- package/common/utils/trackerConfig.test.js +23 -0
- package/iife.js +3 -5
- package/index.d.ts +4 -0
- package/index.js +9 -10
- package/mapbox/controls/CopyrightControl.d.ts +0 -1
- package/mapbox/controls/CopyrightControl.d.ts.map +1 -1
- package/mapbox/controls/CopyrightControl.js +18 -38
- package/mapbox/controls/index.js +1 -5
- package/mapbox/index.js +4 -20
- package/mapbox/layers/Layer.d.ts +1 -1
- package/mapbox/layers/Layer.d.ts.map +1 -1
- package/mapbox/layers/Layer.js +29 -71
- package/mapbox/layers/Layer.test.d.ts +2 -0
- package/mapbox/layers/Layer.test.d.ts.map +1 -0
- package/mapbox/layers/Layer.test.js +204 -0
- package/mapbox/layers/RealtimeLayer.d.ts +4 -4
- package/mapbox/layers/RealtimeLayer.d.ts.map +1 -1
- package/mapbox/layers/RealtimeLayer.js +83 -125
- package/mapbox/layers/RealtimeLayer.test.d.ts +2 -0
- package/mapbox/layers/RealtimeLayer.test.d.ts.map +1 -0
- package/mapbox/layers/RealtimeLayer.test.js +10 -0
- package/mapbox/layers/index.js +2 -7
- package/mapbox/utils.js +19 -33
- package/mbt.js +59 -37
- package/mbt.js.map +2 -2
- package/mbt.min.js +10 -10
- package/mbt.min.js.map +2 -2
- package/ol/controls/CopyrightControl.js +26 -47
- package/ol/controls/CopyrightControl.test.d.ts +2 -0
- package/ol/controls/CopyrightControl.test.d.ts.map +1 -0
- package/ol/controls/CopyrightControl.test.js +177 -0
- package/ol/controls/RoutingControl.d.ts +6 -5
- package/ol/controls/RoutingControl.d.ts.map +1 -1
- package/ol/controls/RoutingControl.js +209 -270
- package/ol/controls/RoutingControl.test.d.ts +2 -0
- package/ol/controls/RoutingControl.test.d.ts.map +1 -0
- package/ol/controls/RoutingControl.test.js +150 -0
- package/ol/controls/StopFinderControl.js +9 -32
- package/ol/controls/StopFinderControl.test.d.ts +2 -0
- package/ol/controls/StopFinderControl.test.d.ts.map +1 -0
- package/ol/controls/StopFinderControl.test.js +49 -0
- package/ol/controls/index.js +3 -9
- package/ol/index.js +5 -21
- package/ol/layers/Layer.d.ts +1 -1
- package/ol/layers/Layer.d.ts.map +1 -1
- package/ol/layers/Layer.js +40 -72
- package/ol/layers/Layer.test.d.ts +2 -0
- package/ol/layers/Layer.test.d.ts.map +1 -0
- package/ol/layers/Layer.test.js +196 -0
- package/ol/layers/MapboxLayer.d.ts +7 -7
- package/ol/layers/MapboxLayer.d.ts.map +1 -1
- package/ol/layers/MapboxLayer.js +30 -66
- package/ol/layers/MapboxLayer.test.d.ts +2 -0
- package/ol/layers/MapboxLayer.test.d.ts.map +1 -0
- package/ol/layers/MapboxLayer.test.js +164 -0
- package/ol/layers/MapboxStyleLayer.d.ts +3 -3
- package/ol/layers/MapboxStyleLayer.d.ts.map +1 -1
- package/ol/layers/MapboxStyleLayer.js +92 -135
- package/ol/layers/MapboxStyleLayer.test.d.ts +2 -0
- package/ol/layers/MapboxStyleLayer.test.d.ts.map +1 -0
- package/ol/layers/MapboxStyleLayer.test.js +232 -0
- package/ol/layers/MaplibreLayer.d.ts +1 -1
- package/ol/layers/MaplibreLayer.d.ts.map +1 -1
- package/ol/layers/MaplibreLayer.js +14 -48
- package/ol/layers/RealtimeLayer.d.ts +2 -2
- package/ol/layers/RealtimeLayer.d.ts.map +1 -1
- package/ol/layers/RealtimeLayer.js +111 -147
- package/ol/layers/RealtimeLayer.test.d.ts +2 -0
- package/ol/layers/RealtimeLayer.test.d.ts.map +1 -0
- package/ol/layers/RealtimeLayer.test.js +71 -0
- package/ol/layers/RoutingLayer.d.ts +2 -2
- package/ol/layers/RoutingLayer.d.ts.map +1 -1
- package/ol/layers/RoutingLayer.js +29 -61
- package/ol/layers/RoutingLayer.test.d.ts +2 -0
- package/ol/layers/RoutingLayer.test.d.ts.map +1 -0
- package/ol/layers/RoutingLayer.test.js +39 -0
- package/ol/layers/VectorLayer.d.ts +1 -1
- package/ol/layers/VectorLayer.d.ts.map +1 -1
- package/ol/layers/VectorLayer.js +14 -48
- package/ol/layers/VectorLayer.test.d.ts +2 -0
- package/ol/layers/VectorLayer.test.d.ts.map +1 -0
- package/ol/layers/VectorLayer.test.js +87 -0
- package/ol/layers/WMSLayer.d.ts +1 -1
- package/ol/layers/WMSLayer.d.ts.map +1 -1
- package/ol/layers/WMSLayer.js +34 -68
- package/ol/layers/WMSLayer.test.d.ts +2 -0
- package/ol/layers/WMSLayer.test.d.ts.map +1 -0
- package/ol/layers/WMSLayer.test.js +66 -0
- package/ol/layers/index.js +8 -19
- package/ol/styles/fullTrajectoryDelayStyle.js +11 -13
- package/ol/styles/fullTrajectoryStyle.js +16 -18
- package/ol/styles/index.js +2 -7
- package/package.json +5 -2
- package/setupTests.js +12 -14
package/mapbox/layers/Layer.js
CHANGED
|
@@ -1,44 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
-
extendStatics(d, b);
|
|
13
|
-
function __() { this.constructor = d; }
|
|
14
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
-
};
|
|
16
|
-
})();
|
|
17
|
-
var __assign = (this && this.__assign) || function () {
|
|
18
|
-
__assign = Object.assign || function(t) {
|
|
19
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
20
|
-
s = arguments[i];
|
|
21
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
22
|
-
t[p] = s[p];
|
|
23
|
-
}
|
|
24
|
-
return t;
|
|
25
|
-
};
|
|
26
|
-
return __assign.apply(this, arguments);
|
|
27
|
-
};
|
|
28
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
29
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
30
|
-
if (ar || !(i in from)) {
|
|
31
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
32
|
-
ar[i] = from[i];
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
36
|
-
};
|
|
37
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
-
var Observable_1 = require("ol/Observable");
|
|
39
|
-
var proj_1 = require("ol/proj");
|
|
40
|
-
var Layer_1 = require("../../common/layers/Layer");
|
|
41
|
-
var UserInteractionsLayerMixin_1 = require("../../common/mixins/UserInteractionsLayerMixin");
|
|
1
|
+
import { unByKey } from 'ol/Observable';
|
|
2
|
+
import { transformExtent } from 'ol/proj';
|
|
3
|
+
import LayerCommon from '../../common/layers/Layer';
|
|
4
|
+
import userInteractionsMixin from '../../common/mixins/UserInteractionsLayerMixin';
|
|
42
5
|
/**
|
|
43
6
|
* A class representing a layer to display on an OpenLayers map.
|
|
44
7
|
*
|
|
@@ -54,17 +17,13 @@ var UserInteractionsLayerMixin_1 = require("../../common/mixins/UserInteractions
|
|
|
54
17
|
* @classproperty {ol/Map~Map} map - The map where the layer is displayed.
|
|
55
18
|
* @extends {Layer}
|
|
56
19
|
*/
|
|
57
|
-
|
|
58
|
-
__extends(Layer, _super);
|
|
59
|
-
function Layer() {
|
|
60
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
61
|
-
}
|
|
20
|
+
class Layer extends userInteractionsMixin(LayerCommon) {
|
|
62
21
|
/**
|
|
63
22
|
* Initialize the layer and listen to user events.
|
|
64
23
|
* @param {ol/Map~Map} map
|
|
65
24
|
*/
|
|
66
|
-
|
|
67
|
-
|
|
25
|
+
attachToMap(map) {
|
|
26
|
+
super.attachToMap(map);
|
|
68
27
|
if (!this.map) {
|
|
69
28
|
return;
|
|
70
29
|
}
|
|
@@ -72,15 +31,15 @@ var Layer = /** @class */ (function (_super) {
|
|
|
72
31
|
this.toggleVisibleListeners();
|
|
73
32
|
this.onChangeVisibleKey = this.on('change:visible', this.toggleVisibleListeners);
|
|
74
33
|
}
|
|
75
|
-
}
|
|
76
|
-
|
|
34
|
+
}
|
|
35
|
+
detachFromMap() {
|
|
77
36
|
if (this.map) {
|
|
78
37
|
this.deactivateUserInteractions();
|
|
79
|
-
|
|
38
|
+
unByKey(this.onChangeVisibleKey);
|
|
80
39
|
}
|
|
81
|
-
|
|
82
|
-
}
|
|
83
|
-
|
|
40
|
+
super.detachFromMap();
|
|
41
|
+
}
|
|
42
|
+
activateUserInteractions() {
|
|
84
43
|
this.deactivateUserInteractions();
|
|
85
44
|
if (this.map &&
|
|
86
45
|
this.userInteractions &&
|
|
@@ -94,46 +53,45 @@ var Layer = /** @class */ (function (_super) {
|
|
|
94
53
|
this.userHoverCallbacks.length) {
|
|
95
54
|
this.map.on('mousemove', this.onUserMoveCallback);
|
|
96
55
|
}
|
|
97
|
-
}
|
|
98
|
-
|
|
56
|
+
}
|
|
57
|
+
deactivateUserInteractions() {
|
|
99
58
|
if (this.map) {
|
|
100
59
|
this.map.off('mousemove', this.onUserMoveCallback);
|
|
101
60
|
this.map.off('click', this.onUserClickCallback);
|
|
102
61
|
}
|
|
103
|
-
}
|
|
62
|
+
}
|
|
104
63
|
/**
|
|
105
64
|
* Toggle listeners needed when a layer is avisible or not.
|
|
106
65
|
* @private
|
|
107
66
|
*/
|
|
108
|
-
|
|
67
|
+
toggleVisibleListeners() {
|
|
109
68
|
if (this.visible) {
|
|
110
69
|
this.activateUserInteractions();
|
|
111
70
|
}
|
|
112
71
|
else {
|
|
113
72
|
this.deactivateUserInteractions();
|
|
114
73
|
}
|
|
115
|
-
}
|
|
74
|
+
}
|
|
116
75
|
/**
|
|
117
76
|
* Returns the current extent in mercator coordinates.
|
|
118
77
|
*/
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
return
|
|
122
|
-
}
|
|
78
|
+
getMercatorExtent() {
|
|
79
|
+
const bounds = this.map.getBounds().toArray();
|
|
80
|
+
return transformExtent([...bounds[0], ...bounds[1]], 'EPSG:4326', 'EPSG:3857');
|
|
81
|
+
}
|
|
123
82
|
/**
|
|
124
83
|
* Returns the equivalent zoom in Openlayers.
|
|
125
84
|
*/
|
|
126
|
-
|
|
85
|
+
getOlZoom() {
|
|
127
86
|
return this.map.getZoom() + 1;
|
|
128
|
-
}
|
|
87
|
+
}
|
|
129
88
|
/**
|
|
130
89
|
* Create a copy of the Layer.
|
|
131
90
|
* @param {Object} newOptions Options to override
|
|
132
91
|
* @return {Layer} A Layer
|
|
133
92
|
*/
|
|
134
|
-
|
|
135
|
-
return new Layer(
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
exports.default = Layer;
|
|
93
|
+
clone(newOptions) {
|
|
94
|
+
return new Layer(Object.assign(Object.assign({}, this.options), newOptions));
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
export default Layer;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Layer.test.d.ts","sourceRoot":"","sources":["../../../src/mapbox/layers/Layer.test.js"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { Map } from 'maplibre-gl';
|
|
11
|
+
import { toLonLat } from 'ol/proj';
|
|
12
|
+
import Layer from './Layer';
|
|
13
|
+
let map;
|
|
14
|
+
let mapElement;
|
|
15
|
+
describe('Layer', () => {
|
|
16
|
+
beforeEach(() => {
|
|
17
|
+
mapElement = document.createElement('div');
|
|
18
|
+
const { style } = mapElement;
|
|
19
|
+
style.position = 'absolute';
|
|
20
|
+
style.left = '0px';
|
|
21
|
+
style.top = '0px';
|
|
22
|
+
style.width = '400px';
|
|
23
|
+
style.height = '400px';
|
|
24
|
+
mapElement.setAttribute('id', 'map');
|
|
25
|
+
document.body.appendChild(mapElement);
|
|
26
|
+
map = new Map({
|
|
27
|
+
container: document.getElementById('map'),
|
|
28
|
+
style: `path/to/style`,
|
|
29
|
+
center: toLonLat([831634, 5933959]),
|
|
30
|
+
zoom: 9,
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
afterEach(() => {
|
|
34
|
+
document.body.removeChild(mapElement);
|
|
35
|
+
});
|
|
36
|
+
test('should initialize.', () => {
|
|
37
|
+
const layer = new Layer({ name: 'Layer' });
|
|
38
|
+
expect(layer).toBeInstanceOf(Layer);
|
|
39
|
+
});
|
|
40
|
+
test('should be visible by default.', () => {
|
|
41
|
+
const layer = new Layer({ name: 'Layer' });
|
|
42
|
+
expect(layer.visible).toBe(true);
|
|
43
|
+
});
|
|
44
|
+
test('should be invisible if defined.', () => {
|
|
45
|
+
const layer = new Layer({ name: 'Layer', visible: false });
|
|
46
|
+
expect(layer.visible).toBe(false);
|
|
47
|
+
});
|
|
48
|
+
test('should be invisible if set.', () => {
|
|
49
|
+
const layer = new Layer({ name: 'Layer' });
|
|
50
|
+
layer.visible = false;
|
|
51
|
+
expect(layer.visible).toBe(false);
|
|
52
|
+
});
|
|
53
|
+
test('should visibility stay unchanged', () => {
|
|
54
|
+
const layer = new Layer({ name: 'Layer', visible: false });
|
|
55
|
+
layer.visible = false;
|
|
56
|
+
expect(layer.visible).toBe(false);
|
|
57
|
+
});
|
|
58
|
+
test('should return its name.', () => {
|
|
59
|
+
const layer = new Layer({ name: 'Layer', visible: false });
|
|
60
|
+
expect(layer.name).toEqual('Layer');
|
|
61
|
+
});
|
|
62
|
+
test('should call terminate on initialization.', () => {
|
|
63
|
+
const layer = new Layer({ name: 'Layer' });
|
|
64
|
+
const spy = jest.spyOn(layer, 'detachFromMap');
|
|
65
|
+
layer.attachToMap(map);
|
|
66
|
+
expect(spy).toHaveBeenCalledTimes(1);
|
|
67
|
+
});
|
|
68
|
+
test('should listen for click/hover events when layer is visible by default then should not when hidden.', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
69
|
+
global.console.error = jest.fn();
|
|
70
|
+
const layer = new Layer({ name: 'Layer' });
|
|
71
|
+
expect(layer.visible).toBe(true);
|
|
72
|
+
const spy = jest.fn();
|
|
73
|
+
const spy2 = jest.fn();
|
|
74
|
+
layer.onHover(spy);
|
|
75
|
+
layer.onClick(spy2);
|
|
76
|
+
layer.attachToMap(map);
|
|
77
|
+
expect(spy).toHaveBeenCalledTimes(0);
|
|
78
|
+
expect(spy2).toHaveBeenCalledTimes(0);
|
|
79
|
+
yield map.fire('mousemove', {
|
|
80
|
+
type: 'mousemove',
|
|
81
|
+
lngLat: { toArray: () => [0, 0] },
|
|
82
|
+
coordinate: [0, 0],
|
|
83
|
+
});
|
|
84
|
+
yield map.fire('click', {
|
|
85
|
+
type: 'click',
|
|
86
|
+
lngLat: { toArray: () => [0, 0] },
|
|
87
|
+
});
|
|
88
|
+
expect(spy).toHaveBeenCalledTimes(1);
|
|
89
|
+
expect(spy2).toHaveBeenCalledTimes(1);
|
|
90
|
+
spy.mockReset();
|
|
91
|
+
spy2.mockReset();
|
|
92
|
+
layer.visible = false;
|
|
93
|
+
yield map.fire('mousemove', {
|
|
94
|
+
type: 'mousemove',
|
|
95
|
+
lngLat: { toArray: () => [0, 0] },
|
|
96
|
+
});
|
|
97
|
+
yield map.fire('click', {
|
|
98
|
+
type: 'click',
|
|
99
|
+
lngLat: { toArray: () => [0, 0] },
|
|
100
|
+
});
|
|
101
|
+
expect(spy).toHaveBeenCalledTimes(0);
|
|
102
|
+
expect(spy2).toHaveBeenCalledTimes(0);
|
|
103
|
+
global.console.error.mockRestore();
|
|
104
|
+
}));
|
|
105
|
+
test('should not listen for click/hover events when layer is not visible by default then should not when visible.', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
106
|
+
global.console.error = jest.fn();
|
|
107
|
+
const layer = new Layer({ name: 'Layer', visible: false });
|
|
108
|
+
expect(layer.visible).toBe(false);
|
|
109
|
+
const spy = jest.fn();
|
|
110
|
+
const spy2 = jest.fn();
|
|
111
|
+
layer.onHover(spy);
|
|
112
|
+
layer.onClick(spy2);
|
|
113
|
+
layer.attachToMap(map);
|
|
114
|
+
expect(spy).toHaveBeenCalledTimes(0);
|
|
115
|
+
expect(spy2).toHaveBeenCalledTimes(0);
|
|
116
|
+
yield map.fire('mousemove', {
|
|
117
|
+
type: 'mousemove',
|
|
118
|
+
lngLat: { toArray: () => [0, 0] },
|
|
119
|
+
coordinate: [0, 0],
|
|
120
|
+
});
|
|
121
|
+
yield map.fire('click', {
|
|
122
|
+
type: 'click',
|
|
123
|
+
lngLat: { toArray: () => [0, 0] },
|
|
124
|
+
});
|
|
125
|
+
expect(spy).toHaveBeenCalledTimes(0);
|
|
126
|
+
expect(spy2).toHaveBeenCalledTimes(0);
|
|
127
|
+
spy.mockReset();
|
|
128
|
+
spy2.mockReset();
|
|
129
|
+
layer.visible = true;
|
|
130
|
+
yield map.fire('mousemove', {
|
|
131
|
+
type: 'mousemove',
|
|
132
|
+
lngLat: { toArray: () => [0, 0] },
|
|
133
|
+
coordinate: [0, 0],
|
|
134
|
+
});
|
|
135
|
+
yield map.fire('click', {
|
|
136
|
+
type: 'click',
|
|
137
|
+
lngLat: { toArray: () => [0, 0] },
|
|
138
|
+
});
|
|
139
|
+
expect(spy).toHaveBeenCalledTimes(1);
|
|
140
|
+
expect(spy2).toHaveBeenCalledTimes(1);
|
|
141
|
+
global.console.error.mockRestore();
|
|
142
|
+
}));
|
|
143
|
+
test('should not listen for click/hover events after layer.detachFromMap()', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
144
|
+
global.console.error = jest.fn();
|
|
145
|
+
const layer = new Layer({ name: 'Layer', visible: true });
|
|
146
|
+
expect(layer.visible).toBe(true);
|
|
147
|
+
const spy = jest.fn();
|
|
148
|
+
const spy2 = jest.fn();
|
|
149
|
+
const spy3 = jest.fn();
|
|
150
|
+
const spy4 = jest.fn();
|
|
151
|
+
layer.onHover(spy);
|
|
152
|
+
layer.onClick(spy2);
|
|
153
|
+
layer.attachToMap(map);
|
|
154
|
+
// Test event after attached to map
|
|
155
|
+
layer.onHover(spy3);
|
|
156
|
+
layer.onClick(spy4);
|
|
157
|
+
expect(spy).toHaveBeenCalledTimes(0);
|
|
158
|
+
expect(spy2).toHaveBeenCalledTimes(0);
|
|
159
|
+
expect(spy3).toHaveBeenCalledTimes(0);
|
|
160
|
+
expect(spy4).toHaveBeenCalledTimes(0);
|
|
161
|
+
yield map.fire('mousemove', {
|
|
162
|
+
type: 'mousemove',
|
|
163
|
+
lngLat: { toArray: () => [0, 0] },
|
|
164
|
+
coordinate: [0, 0],
|
|
165
|
+
});
|
|
166
|
+
yield map.fire('click', {
|
|
167
|
+
type: 'click',
|
|
168
|
+
lngLat: { toArray: () => [0, 0] },
|
|
169
|
+
});
|
|
170
|
+
expect(spy).toHaveBeenCalledTimes(1);
|
|
171
|
+
expect(spy2).toHaveBeenCalledTimes(1);
|
|
172
|
+
expect(spy3).toHaveBeenCalledTimes(1);
|
|
173
|
+
expect(spy4).toHaveBeenCalledTimes(1);
|
|
174
|
+
spy.mockReset();
|
|
175
|
+
spy2.mockReset();
|
|
176
|
+
spy3.mockReset();
|
|
177
|
+
spy4.mockReset();
|
|
178
|
+
layer.detachFromMap();
|
|
179
|
+
yield map.fire('mousemove', {
|
|
180
|
+
type: 'mousemove',
|
|
181
|
+
lngLat: { toArray: () => [0, 0] },
|
|
182
|
+
coordinate: [0, 0],
|
|
183
|
+
});
|
|
184
|
+
yield map.fire('click', {
|
|
185
|
+
type: 'click',
|
|
186
|
+
lngLat: { toArray: () => [0, 0] },
|
|
187
|
+
});
|
|
188
|
+
expect(spy).toHaveBeenCalledTimes(0);
|
|
189
|
+
expect(spy2).toHaveBeenCalledTimes(0);
|
|
190
|
+
expect(spy3).toHaveBeenCalledTimes(0);
|
|
191
|
+
expect(spy4).toHaveBeenCalledTimes(0);
|
|
192
|
+
global.console.error.mockRestore();
|
|
193
|
+
}));
|
|
194
|
+
test('should clone', () => {
|
|
195
|
+
const layer = new Layer({
|
|
196
|
+
name: 'Layer',
|
|
197
|
+
copyrights: ['bar'],
|
|
198
|
+
});
|
|
199
|
+
const clone = layer.clone({ name: 'clone' });
|
|
200
|
+
expect(clone).not.toBe(layer);
|
|
201
|
+
expect(clone.name).toBe('clone');
|
|
202
|
+
expect(clone).toBeInstanceOf(Layer);
|
|
203
|
+
});
|
|
204
|
+
});
|
|
@@ -49,8 +49,8 @@ declare class RealtimeLayer extends Layer implements RealtimeLayerInterface {
|
|
|
49
49
|
coordinates: any[][];
|
|
50
50
|
animate: boolean;
|
|
51
51
|
attribution: any;
|
|
52
|
-
};
|
|
53
|
-
beforeId: string;
|
|
52
|
+
} | undefined;
|
|
53
|
+
beforeId: string | undefined;
|
|
54
54
|
layer: {
|
|
55
55
|
id: any;
|
|
56
56
|
type: string;
|
|
@@ -63,8 +63,8 @@ declare class RealtimeLayer extends Layer implements RealtimeLayerInterface {
|
|
|
63
63
|
'raster-fade-duration': number;
|
|
64
64
|
'raster-resampling': string;
|
|
65
65
|
};
|
|
66
|
-
};
|
|
67
|
-
listeners: any[];
|
|
66
|
+
} | undefined;
|
|
67
|
+
listeners: any[] | undefined;
|
|
68
68
|
/**
|
|
69
69
|
* Start updating vehicles position.
|
|
70
70
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RealtimeLayer.d.ts","sourceRoot":"","sources":["../../../src/mapbox/layers/RealtimeLayer.js"],"names":[],"mappings":";AASA;;;;;;;;;;;;;;;;GAgBG;AACH,qDAFgB,sBAAsB;IAGpC,0BAmBC;IAuGD,eAOC;IA0HD;;;;OAIG;IACH,eAEC;IAcD;;;;;OAKG;IACH,2BAMC;IA9QC,cAAc;IACd,eAA0C;IAoM5C,2BAYC;IA1MD;;;;;;OAMG;IACH,kDAHW,MAAM,QA8ChB;IA/BC;;;;;;
|
|
1
|
+
{"version":3,"file":"RealtimeLayer.d.ts","sourceRoot":"","sources":["../../../src/mapbox/layers/RealtimeLayer.js"],"names":[],"mappings":";AASA;;;;;;;;;;;;;;;;GAgBG;AACH,qDAFgB,sBAAsB;IAGpC,0BAmBC;IAuGD,eAOC;IA0HD;;;;OAIG;IACH,eAEC;IAcD;;;;;OAKG;IACH,2BAMC;IA9QC,cAAc;IACd,eAA0C;IAoM5C,2BAYC;IA1MD;;;;;;OAMG;IACH,kDAHW,MAAM,QA8ChB;IA/BC;;;;;;kBAOC;IAED,6BAAwB;IACxB;;;;;;;;;;;;kBAYC;IAQD,6BAAqE;IAuBvE;;;;;;OAMG;IACH,uBAMC;IAED;;;;OAIG;IACH,sBAOC;IAWD;;;OAGG;IACH,4CAKC;IAED;;;;OAIG;IACH,kCAHW,OAAO,QAkDjB;IAED;;OAEG;IACH,0BAEC;IAED,+DAMC;IAgBD;;;;OAIG;IACH,wBAMC;IAED;;OAEG;IACH,sCAQC;IAWD,oEAUC;IAgBD;;;;;OAKG;IACH,gCAKC;CACF"}
|