mobility-toolbox-js 2.0.0-beta.3 → 2.0.0-beta.33

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.
Files changed (220) hide show
  1. package/README.md +4 -1
  2. package/api/RealtimeAPI.d.ts +268 -0
  3. package/api/RealtimeAPI.d.ts.map +1 -0
  4. package/api/RoutingAPI.d.ts +33 -0
  5. package/api/RoutingAPI.d.ts.map +1 -0
  6. package/api/StopsAPI.d.ts +36 -0
  7. package/api/StopsAPI.d.ts.map +1 -0
  8. package/api/index.d.ts +5 -0
  9. package/api/index.d.ts.map +1 -0
  10. package/api/typedefs.d.ts +105 -0
  11. package/api/typedefs.d.ts.map +1 -0
  12. package/common/api/HttpAPI.d.ts +31 -0
  13. package/common/api/HttpAPI.d.ts.map +1 -0
  14. package/common/api/WebSocketAPI.d.ts +95 -0
  15. package/common/api/WebSocketAPI.d.ts.map +1 -0
  16. package/common/controls/Control.d.ts +74 -0
  17. package/common/controls/Control.d.ts.map +1 -0
  18. package/common/index.d.ts +3 -0
  19. package/common/index.d.ts.map +1 -0
  20. package/common/layers/Layer.d.ts +80 -0
  21. package/common/layers/Layer.d.ts.map +1 -0
  22. package/common/mixins/CopyrightMixin.d.ts +22 -0
  23. package/common/mixins/CopyrightMixin.d.ts.map +1 -0
  24. package/common/mixins/MapboxLayerMixin.d.ts +27 -0
  25. package/common/mixins/MapboxLayerMixin.d.ts.map +1 -0
  26. package/common/mixins/RealtimeLayerMixin.d.ts +58 -0
  27. package/common/mixins/RealtimeLayerMixin.d.ts.map +1 -0
  28. package/common/mixins/StopFinderMixin.d.ts +40 -0
  29. package/common/mixins/StopFinderMixin.d.ts.map +1 -0
  30. package/common/mixins/UserInteractionsLayerMixin.d.ts +42 -0
  31. package/common/mixins/UserInteractionsLayerMixin.d.ts.map +1 -0
  32. package/common/styles/index.d.ts +5 -0
  33. package/common/styles/index.d.ts.map +1 -0
  34. package/common/styles/realtimeDefaultStyle.d.ts +15 -0
  35. package/common/styles/realtimeDefaultStyle.d.ts.map +1 -0
  36. package/common/styles/{trackerDelayStyle.js → realtimeDelayStyle.d.ts} +3 -9
  37. package/common/styles/realtimeDelayStyle.d.ts.map +1 -0
  38. package/common/styles/realtimeSimpleStyle.d.ts +3 -0
  39. package/common/styles/realtimeSimpleStyle.d.ts.map +1 -0
  40. package/common/typedefs.d.ts +50 -0
  41. package/common/typedefs.d.ts.map +1 -0
  42. package/common/utils/cleanStopTime.d.ts +7 -0
  43. package/common/utils/cleanStopTime.d.ts.map +1 -0
  44. package/common/utils/compareDepartures.d.ts +9 -0
  45. package/common/utils/compareDepartures.d.ts.map +1 -0
  46. package/common/utils/createCanvas.d.ts +9 -0
  47. package/common/utils/createCanvas.d.ts.map +1 -0
  48. package/common/utils/createTrackerFilters.d.ts +12 -0
  49. package/common/utils/createTrackerFilters.d.ts.map +1 -0
  50. package/common/utils/getLayersAsFlatArray.d.ts +3 -0
  51. package/common/utils/getLayersAsFlatArray.d.ts.map +1 -0
  52. package/common/utils/getMapboxMapCopyrights.d.ts +8 -0
  53. package/common/utils/getMapboxMapCopyrights.d.ts.map +1 -0
  54. package/common/utils/getMapboxRender.d.ts +5 -0
  55. package/common/utils/getMapboxRender.d.ts.map +1 -0
  56. package/common/utils/getMaplibreRender.d.ts +5 -0
  57. package/common/utils/getMaplibreRender.d.ts.map +1 -0
  58. package/common/utils/getRealtimeModeSuffix.d.ts +8 -0
  59. package/common/utils/getRealtimeModeSuffix.d.ts.map +1 -0
  60. package/common/utils/getUrlWithParams.d.ts +9 -0
  61. package/common/utils/getUrlWithParams.d.ts.map +1 -0
  62. package/common/utils/getVehiclePosition.d.ts +14 -0
  63. package/common/utils/getVehiclePosition.d.ts.map +1 -0
  64. package/common/utils/index.d.ts +12 -0
  65. package/common/utils/index.d.ts.map +1 -0
  66. package/common/utils/removeDuplicate.d.ts +10 -0
  67. package/common/utils/removeDuplicate.d.ts.map +1 -0
  68. package/common/utils/renderTrajectories.d.ts +20 -0
  69. package/common/utils/renderTrajectories.d.ts.map +1 -0
  70. package/common/utils/sortByDelay.d.ts +3 -0
  71. package/common/utils/sortByDelay.d.ts.map +1 -0
  72. package/common/utils/timeUtils.d.ts +5 -0
  73. package/common/utils/timeUtils.d.ts.map +1 -0
  74. package/common/utils/trackerConfig.d.ts +24 -0
  75. package/common/utils/trackerConfig.d.ts.map +1 -0
  76. package/iife.d.ts +3 -0
  77. package/iife.d.ts.map +1 -0
  78. package/index.d.ts +6 -0
  79. package/index.d.ts.map +1 -0
  80. package/mapbox/controls/CopyrightControl.d.ts +32 -0
  81. package/mapbox/controls/CopyrightControl.d.ts.map +1 -0
  82. package/mapbox/controls/index.d.ts +2 -0
  83. package/mapbox/controls/index.d.ts.map +1 -0
  84. package/mapbox/index.d.ts +5 -0
  85. package/mapbox/index.d.ts.map +1 -0
  86. package/mapbox/layers/Layer.d.ts +47 -0
  87. package/mapbox/layers/Layer.d.ts.map +1 -0
  88. package/mapbox/layers/RealtimeLayer.d.ts +118 -0
  89. package/mapbox/layers/RealtimeLayer.d.ts.map +1 -0
  90. package/mapbox/layers/index.d.ts +3 -0
  91. package/mapbox/layers/index.d.ts.map +1 -0
  92. package/mapbox/utils.d.ts +8 -0
  93. package/mapbox/utils.d.ts.map +1 -0
  94. package/mbt.js +50042 -0
  95. package/mbt.js.map +7 -0
  96. package/mbt.min.js +1008 -0
  97. package/mbt.min.js.map +7 -0
  98. package/ol/controls/CopyrightControl.d.ts +31 -0
  99. package/ol/controls/CopyrightControl.d.ts.map +1 -0
  100. package/ol/controls/RoutingControl.d.ts +180 -0
  101. package/ol/controls/RoutingControl.d.ts.map +1 -0
  102. package/ol/controls/StopFinderControl.d.ts +32 -0
  103. package/ol/controls/StopFinderControl.d.ts.map +1 -0
  104. package/ol/controls/index.d.ts +4 -0
  105. package/ol/controls/index.d.ts.map +1 -0
  106. package/ol/index.d.ts +6 -0
  107. package/ol/index.d.ts.map +1 -0
  108. package/ol/layers/Layer.d.ts +49 -0
  109. package/ol/layers/Layer.d.ts.map +1 -0
  110. package/ol/layers/MapboxLayer.d.ts +42 -0
  111. package/ol/layers/MapboxLayer.d.ts.map +1 -0
  112. package/ol/layers/MapboxStyleLayer.d.ts +146 -0
  113. package/ol/layers/MapboxStyleLayer.d.ts.map +1 -0
  114. package/ol/layers/MaplibreLayer.d.ts +27 -0
  115. package/ol/layers/MaplibreLayer.d.ts.map +1 -0
  116. package/ol/layers/RealtimeLayer.d.ts +119 -0
  117. package/ol/layers/RealtimeLayer.d.ts.map +1 -0
  118. package/ol/layers/RoutingLayer.d.ts +24 -0
  119. package/ol/layers/RoutingLayer.d.ts.map +1 -0
  120. package/ol/layers/VectorLayer.d.ts +23 -0
  121. package/ol/layers/VectorLayer.d.ts.map +1 -0
  122. package/ol/layers/WMSLayer.d.ts +38 -0
  123. package/ol/layers/WMSLayer.d.ts.map +1 -0
  124. package/ol/layers/index.d.ts +9 -0
  125. package/ol/layers/index.d.ts.map +1 -0
  126. package/ol/styles/fullTrajectoryDelayStyle.d.ts +4 -0
  127. package/ol/styles/fullTrajectoryDelayStyle.d.ts.map +1 -0
  128. package/ol/styles/fullTrajectoryStyle.d.ts +4 -0
  129. package/ol/styles/fullTrajectoryStyle.d.ts.map +1 -0
  130. package/ol/styles/index.d.ts +3 -0
  131. package/ol/styles/index.d.ts.map +1 -0
  132. package/package.json +56 -95
  133. package/setupTests.d.ts +2 -0
  134. package/setupTests.d.ts.map +1 -0
  135. package/types/index.d.ts +10 -0
  136. package/types/realtime.d.ts +24 -0
  137. package/types/routing.d.ts +206 -0
  138. package/types/stops.d.ts +143 -0
  139. package/api/index.js +0 -3
  140. package/api/routing/RoutingAPI.js +0 -44
  141. package/api/routing/RoutingAPI.test.js +0 -41
  142. package/api/stops/StopsAPI.js +0 -41
  143. package/api/stops/StopsAPI.test.js +0 -34
  144. package/api/tralis/TralisAPI.js +0 -731
  145. package/api/tralis/TralisAPI.test.js +0 -75
  146. package/api/tralis/TralisAPIUtils.js +0 -73
  147. package/api/tralis/WebSocketConnector.js +0 -338
  148. package/api/tralis/WebSocketConnector.test.js +0 -356
  149. package/api/tralis/typedefs.js +0 -81
  150. package/common/Tracker.js +0 -197
  151. package/common/api/api.js +0 -64
  152. package/common/api/api.test.js +0 -68
  153. package/common/controls/Control.js +0 -146
  154. package/common/controls/Control.test.js +0 -98
  155. package/common/layers/Layer.js +0 -404
  156. package/common/layers/Layer.test.js +0 -585
  157. package/common/mixins/CopyrightMixin.js +0 -48
  158. package/common/mixins/SearchMixin.js +0 -176
  159. package/common/mixins/TralisLayerMixin.js +0 -930
  160. package/common/styles/index.js +0 -4
  161. package/common/styles/trackerDefaultStyle.js +0 -333
  162. package/common/styles/trackerSimpleStyle.js +0 -22
  163. package/common/trackerConfig.js +0 -190
  164. package/common/trackerConfig.test.js +0 -25
  165. package/common/typedefs.js +0 -23
  166. package/common/utils/createTrackerFilters.js +0 -87
  167. package/common/utils/createTrackerFilters.test.js +0 -95
  168. package/common/utils/getMapboxMapCopyrights.js +0 -32
  169. package/common/utils/getMapboxMapCopyrights.test.js +0 -47
  170. package/common/utils/getMapboxStyleUrl.js +0 -32
  171. package/common/utils/getVehiclePosition.js +0 -72
  172. package/common/utils/index.js +0 -6
  173. package/common/utils/removeDuplicate.js +0 -22
  174. package/common/utils/removeDuplicate.test.js +0 -22
  175. package/common/utils/sortByDelay.js +0 -23
  176. package/common/utils/timeUtils.js +0 -44
  177. package/common/utils/timeUtils.test.js +0 -16
  178. package/index.js +0 -2
  179. package/index.js.map +0 -1
  180. package/mapbox/controls/CopyrightControl.js +0 -58
  181. package/mapbox/index.js +0 -3
  182. package/mapbox/layers/Layer.js +0 -118
  183. package/mapbox/layers/Layer.test.js +0 -202
  184. package/mapbox/layers/TralisLayer.js +0 -329
  185. package/mapbox/layers/TralisLayer.test.js +0 -40
  186. package/mapbox/utils.js +0 -46
  187. package/module.js +0 -23
  188. package/ol/README.md +0 -0
  189. package/ol/controls/CopyrightControl.js +0 -80
  190. package/ol/controls/CopyrightControl.test.js +0 -211
  191. package/ol/controls/RoutingControl.js +0 -752
  192. package/ol/controls/RoutingControl.test.js +0 -216
  193. package/ol/controls/StopFinderControl.js +0 -38
  194. package/ol/controls/StopFinderControl.test.js +0 -59
  195. package/ol/controls/snapshots/RoutingControlRouteGen10.json +0 -58
  196. package/ol/controls/snapshots/RoutingControlRouteGen100.json +0 -292
  197. package/ol/controls/snapshots/RoutingControlRouteGen30.json +0 -69
  198. package/ol/controls/snapshots/RoutingControlRouteGen5.json +0 -58
  199. package/ol/controls/snapshots/RoutingControlRouteOSM.json +0 -759
  200. package/ol/controls/snapshots/RoutingControlStation1.json +0 -60
  201. package/ol/controls/snapshots/RoutingControlStation2.json +0 -49
  202. package/ol/index.js +0 -13
  203. package/ol/layers/Layer.js +0 -193
  204. package/ol/layers/Layer.test.js +0 -197
  205. package/ol/layers/MapboxLayer.js +0 -378
  206. package/ol/layers/MapboxLayer.test.js +0 -186
  207. package/ol/layers/MapboxStyleLayer.js +0 -417
  208. package/ol/layers/MapboxStyleLayer.test.js +0 -262
  209. package/ol/layers/MaplibreLayer.js +0 -280
  210. package/ol/layers/RoutingLayer.js +0 -91
  211. package/ol/layers/RoutingLayer.test.js +0 -49
  212. package/ol/layers/TralisLayer.js +0 -359
  213. package/ol/layers/TralisLayer.test.js +0 -97
  214. package/ol/layers/VectorLayer.js +0 -43
  215. package/ol/layers/VectorLayer.test.js +0 -98
  216. package/ol/layers/WMSLayer.js +0 -80
  217. package/ol/layers/WMSLayer.test.js +0 -84
  218. package/ol/styles/fullTrajectoryDelayStyle.js +0 -35
  219. package/ol/styles/fullTrajectoryStyle.js +0 -51
  220. package/ol/styles/index.js +0 -2
@@ -1,40 +0,0 @@
1
- import TralisLayer from './TralisLayer';
2
-
3
- let layer;
4
- let onClick;
5
-
6
- describe('TralisLayer', () => {
7
- beforeEach(() => {
8
- onClick = jest.fn();
9
- layer = new TralisLayer({
10
- onClick,
11
- });
12
- });
13
-
14
- test('should be instanced.', () => {
15
- expect(layer).toBeInstanceOf(TralisLayer);
16
- expect(layer.clickCallbacks[0]).toBe(onClick);
17
- });
18
-
19
- test('#onClick', () => {
20
- const f = () => {};
21
- layer.onClick(f);
22
- expect(layer.clickCallbacks[1]).toBe(f);
23
- expect(layer.clickCallbacks.length).toBe(2);
24
- layer.onClick(f);
25
- expect(layer.clickCallbacks.length).toBe(2);
26
- });
27
-
28
- test('#unClick', () => {
29
- const foo = () => {};
30
- const bar = () => {};
31
- layer.onClick(foo);
32
- layer.onClick(bar);
33
- expect(layer.clickCallbacks[1]).toBe(foo);
34
- expect(layer.clickCallbacks[2]).toBe(bar);
35
- expect(layer.clickCallbacks.length).toBe(3);
36
- layer.unClick(foo);
37
- expect(layer.clickCallbacks[1]).toBe(bar);
38
- expect(layer.clickCallbacks.length).toBe(2);
39
- });
40
- });
package/mapbox/utils.js DELETED
@@ -1,46 +0,0 @@
1
- import { getWidth, getHeight } from 'ol/extent';
2
- import { fromLonLat } from 'ol/proj';
3
-
4
- /**
5
- * Get the current resolution of a Mapbox map.
6
- * @param {mapboxgl.Map} map A map object.
7
- * @private
8
- */
9
- export const getMercatorResolution = (map) => {
10
- const bounds = map.getBounds().toArray();
11
- const a = fromLonLat(bounds[0]);
12
- const b = fromLonLat(bounds[1]);
13
- const extent = [...a, ...b];
14
- const { width, height } = map.getCanvas();
15
- const xResolution = getWidth(extent) / width;
16
- const yResolution = getHeight(extent) / height;
17
- return Math.max(xResolution, yResolution);
18
- };
19
-
20
- /**
21
- * Get the canvas source coordinates of the current map's extent.
22
- * @param {mapboxgl.Map} map A map object.
23
- * @private
24
- */
25
- export const getSourceCoordinates = (map, pixelRatio) => {
26
- // Requesting getBounds is not enough when we rotate the map, so we request manually each corner.
27
- const { width, height } = map.getCanvas();
28
- const leftTop = map.unproject({ x: 0, y: 0 });
29
- const leftBottom = map.unproject({ x: 0, y: height / pixelRatio }); // southWest
30
- const rightBottom = map.unproject({
31
- x: width / pixelRatio,
32
- y: height / pixelRatio,
33
- });
34
- const rightTop = map.unproject({ x: width / pixelRatio, y: 0 }); // north east
35
- return [
36
- [leftTop.lng, leftTop.lat],
37
- [rightTop.lng, rightTop.lat],
38
- [rightBottom.lng, rightBottom.lat],
39
- [leftBottom.lng, leftBottom.lat],
40
- ];
41
- };
42
-
43
- export default {
44
- getMercatorResolution,
45
- getSourceCoordinates,
46
- };
package/module.js DELETED
@@ -1,23 +0,0 @@
1
- import {
2
- Layer as olLayer,
3
- WMSLayer as olWMSLayer,
4
- MapboxLayer as olMapboxLayer,
5
- TralisLayer as olTralisLayer,
6
- VectorLayer as olVectorLayer,
7
- } from './ol';
8
- import { TralisLayer as mbTralisLayer } from './mapbox';
9
-
10
- const exports = {
11
- mapbox: {
12
- TralisLayer: mbTralisLayer,
13
- },
14
- ol: {
15
- Layer: olLayer,
16
- WMSLayer: olWMSLayer,
17
- MapboxLayer: olMapboxLayer,
18
- TralisLayer: olTralisLayer,
19
- VectorLayer: olVectorLayer,
20
- },
21
- };
22
-
23
- export default exports;
package/ol/README.md DELETED
File without changes
@@ -1,80 +0,0 @@
1
- import { inView } from 'ol/layer/Layer';
2
- import Control from '../../common/controls/Control';
3
- import mixin from '../../common/mixins/CopyrightMixin';
4
- import removeDuplicate from '../../common/utils/removeDuplicate';
5
-
6
- /**
7
- * Display layer's copyrights.
8
- *
9
- * @example
10
- * import { Map } from 'ol';
11
- * import { CopyrightControl } from 'mobility-toolbox-js/ol';
12
- *
13
- * const map = new Map({
14
- * target: 'map',
15
- * });
16
- * const control = new CopyrightControl();
17
- * control.map = map
18
- *
19
- *
20
- * @see <a href="/example/ol-copyright">Openlayers copyright example</a>
21
- *
22
- * @extends {Control}
23
- * @implements {CopyrightInterface}
24
- */
25
- class CopyrightControl extends mixin(Control) {
26
- constructor(options) {
27
- super(options);
28
- this.onPostRender = this.onPostRender.bind(this);
29
- }
30
-
31
- getCopyrights() {
32
- if (!this.frameState) {
33
- return [];
34
- }
35
- let copyrights = [];
36
-
37
- // This code loop comes mainly from ol.
38
- this.frameState.layerStatesArray.forEach((layerState) => {
39
- const { layer } = layerState;
40
- if (
41
- inView(layerState, this.frameState.viewState) &&
42
- layer &&
43
- layer.getSource &&
44
- layer.getSource() &&
45
- layer.getSource().getAttributions()
46
- ) {
47
- copyrights = copyrights.concat(
48
- layer.getSource().getAttributions()(this.frameState),
49
- );
50
- }
51
- });
52
- return removeDuplicate(copyrights);
53
- }
54
-
55
- activate() {
56
- super.activate();
57
- if (this.map) {
58
- this.map.on('postrender', this.onPostRender);
59
- }
60
- }
61
-
62
- deactivate() {
63
- if (this.map) {
64
- this.map.un('postrender', this.onPostRender);
65
- }
66
- super.deactivate();
67
- }
68
-
69
- onPostRender(evt) {
70
- if (this.map && this.element) {
71
- /**
72
- * @ignore
73
- */
74
- this.frameState = evt.frameState;
75
- this.render();
76
- }
77
- }
78
- }
79
-
80
- export default CopyrightControl;
@@ -1,211 +0,0 @@
1
- import View from 'ol/View';
2
- import Tile from 'ol/Tile';
3
- import TileLayer from 'ol/layer/Tile';
4
- import TileSource from 'ol/source/Tile';
5
- import { createXYZ } from 'ol/tilegrid';
6
- import { Map } from 'ol';
7
- import Layer from '../layers/Layer';
8
- import CopyrightControl from './CopyrightControl';
9
-
10
- const tileLoadFunction = () => {
11
- const tile = new Tile([0, 0, -1], 2 /* LOADED */);
12
- tile.getImage = () => {
13
- const image = new Image();
14
- image.width = 256;
15
- image.height = 256;
16
- return image;
17
- };
18
- return tile;
19
- };
20
-
21
- const getOLTileLayer = () => {
22
- const layer = new TileLayer({
23
- source: new TileSource({
24
- projection: 'EPSG:3857',
25
- tileGrid: createXYZ(),
26
- }),
27
- });
28
- layer.getSource().getTile = tileLoadFunction;
29
- return layer;
30
- };
31
-
32
- const getLayer = (copyrights, visible = true) =>
33
- new Layer({
34
- visible,
35
- copyrights,
36
- olLayer: getOLTileLayer(),
37
- });
38
-
39
- describe('CopyrightControl', () => {
40
- let map;
41
-
42
- beforeEach(() => {
43
- const target = document.createElement('div');
44
- document.body.appendChild(target);
45
- map = new Map({
46
- target,
47
- view: new View({
48
- center: [0, 0],
49
- zoom: 0,
50
- }),
51
- });
52
- getLayer(true, 'bar').init(map);
53
- map.setSize([200, 200]);
54
- map.renderSync();
55
- });
56
-
57
- afterEach(() => {
58
- if (map) {
59
- map.setTarget(null);
60
- map = null;
61
- }
62
- });
63
-
64
- test('should be activate by default', () => {
65
- const control = new CopyrightControl();
66
- expect(control.active).toBe(true);
67
- });
68
-
69
- test('renders a string copyright', () => {
70
- const control = new CopyrightControl();
71
- control.map = map;
72
- expect(control.element.innerHTML).toBe('');
73
- getLayer('copyright').init(map);
74
- map.renderSync();
75
- expect(control.element.innerHTML).toBe('copyright');
76
- });
77
-
78
- test('renders an array of copyrights', () => {
79
- const control = new CopyrightControl();
80
- control.map = map;
81
- expect(control.element.innerHTML).toBe('');
82
- getLayer(['copyright 1', 'copyright 2']).init(map);
83
- map.renderSync();
84
- expect(control.element.innerHTML).toBe('copyright 1 | copyright 2');
85
- });
86
-
87
- test('renders unique copyrights', () => {
88
- const control = new CopyrightControl();
89
- control.map = map;
90
- expect(control.element.innerHTML).toBe('');
91
- getLayer(['copyright 1', 'copyright 2']).init(map);
92
- getLayer('copyright 1').init(map);
93
- getLayer(['copyright 2']).init(map);
94
- map.renderSync();
95
- expect(control.element.innerHTML).toBe('copyright 1 | copyright 2');
96
- });
97
-
98
- test("doesn't render copyright of an hidden layer", () => {
99
- const control = new CopyrightControl();
100
- control.map = map;
101
- expect(control.element.innerHTML).toBe('');
102
- const layer1 = getLayer('copyright hidden', false);
103
- layer1.init(map);
104
- const layer2 = getLayer('copyright', true);
105
- layer2.init(map);
106
- map.renderSync();
107
- expect(control.element.innerHTML).toBe('copyright');
108
-
109
- // the we update visibility of both layers
110
- layer1.setVisible(true);
111
- map.renderSync();
112
- layer2.setVisible(false);
113
- map.renderSync();
114
- expect(control.element.innerHTML).toBe('copyright hidden');
115
- });
116
-
117
- test('should activate the control on construction then deactivate it', () => {
118
- getLayer('copyright 1').init(map);
119
- const control = new CopyrightControl({ active: true });
120
- control.map = map;
121
- map.renderSync();
122
-
123
- expect(control.element.parentNode).toBe(map.getTargetElement());
124
-
125
- // Should be activated by default.
126
- expect(control.active).toBe(true);
127
- expect(control.element.innerHTML).toBe('copyright 1');
128
-
129
- // on deactivation
130
- control.active = false;
131
- map.renderSync();
132
- expect(control.element.innerHTML).toBe('');
133
- });
134
-
135
- test('should deactivate the control on constrcution then activate it', () => {
136
- getLayer('copyright 1').init(map);
137
- const control = new CopyrightControl({ active: false });
138
- control.map = map;
139
- map.renderSync();
140
-
141
- expect(control.element.parentNode).toBe(map.getTargetElement());
142
-
143
- // Should be activated by default.
144
- expect(control.active).toBe(false);
145
- map.renderSync();
146
- expect(control.element.innerHTML).toBe('');
147
-
148
- // on deactivation
149
- control.active = true;
150
- map.renderSync();
151
- expect(control.element.innerHTML).toBe('copyright 1');
152
- });
153
-
154
- test('should add copyrights in the map container element then remove it.', () => {
155
- getLayer('copyright value').init(map);
156
- map.renderSync();
157
-
158
- const control = new CopyrightControl();
159
-
160
- // Add control
161
- control.map = map;
162
- expect(control.element.parentNode).toBe(map.getTargetElement());
163
-
164
- // Remove control
165
- control.map = null;
166
- expect(control.element.parentNode).toBe(null);
167
- });
168
-
169
- test('should add copyrights in the target element then remove it.', () => {
170
- getLayer(['copyright value']).init(map);
171
- map.renderSync();
172
-
173
- const target = document.createElement('div');
174
- target.setAttribute('id', 'copyright');
175
- document.body.appendChild(target);
176
-
177
- const control = new CopyrightControl({
178
- target: document.getElementById('copyright'),
179
- });
180
-
181
- // Add control
182
- control.map = map;
183
- expect(control.element.parentNode).toBe(target);
184
-
185
- // Remove control
186
- control.map = null;
187
- expect(control.element.parentNode).toBe(null);
188
- });
189
-
190
- test('renders custom copyrights with the render method ', () => {
191
- const control = new CopyrightControl({
192
- active: true,
193
- render() {
194
- if (!this.element) {
195
- return;
196
- }
197
- this.element.innerHTML = this.active
198
- ? this.getCopyrights().join(', ')
199
- : '';
200
- },
201
- });
202
- control.map = map;
203
- getLayer(['copyright 1', 'copyright 2', 'copyright 3']).init(map);
204
- map.renderSync();
205
-
206
- // Add control
207
- expect(control.element.innerHTML).toBe(
208
- 'copyright 1, copyright 2, copyright 3',
209
- );
210
- });
211
- });