react-spatial 1.2.2 → 1.2.3-beta.1

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 (185) hide show
  1. package/components/BaseLayerSwitcher/BaseLayerSwitcher.js +163 -221
  2. package/components/BaseLayerSwitcher/BaseLayerSwitcher.js.map +7 -1
  3. package/components/BaseLayerSwitcher/index.js +1 -3
  4. package/components/BaseLayerSwitcher/index.js.map +7 -1
  5. package/components/BasicMap/BasicMap.js +147 -285
  6. package/components/BasicMap/BasicMap.js.map +7 -1
  7. package/components/BasicMap/index.js +1 -3
  8. package/components/BasicMap/index.js.map +7 -1
  9. package/components/CanvasSaveButton/CanvasSaveButton.js +165 -419
  10. package/components/CanvasSaveButton/CanvasSaveButton.js.map +7 -1
  11. package/components/CanvasSaveButton/index.js +1 -3
  12. package/components/CanvasSaveButton/index.js.map +7 -1
  13. package/components/Copyright/Copyright.js +29 -70
  14. package/components/Copyright/Copyright.js.map +7 -1
  15. package/components/Copyright/index.js +1 -3
  16. package/components/Copyright/index.js.map +7 -1
  17. package/components/FeatureExportButton/FeatureExportButton.js +40 -106
  18. package/components/FeatureExportButton/FeatureExportButton.js.map +7 -1
  19. package/components/FeatureExportButton/index.js +1 -3
  20. package/components/FeatureExportButton/index.js.map +7 -1
  21. package/components/FilterButton/FilterButton.js +41 -106
  22. package/components/FilterButton/FilterButton.js.map +7 -1
  23. package/components/FilterButton/index.js +1 -3
  24. package/components/FilterButton/index.js.map +7 -1
  25. package/components/FitExtent/FitExtent.js +17 -50
  26. package/components/FitExtent/FitExtent.js.map +7 -1
  27. package/components/FitExtent/index.js +1 -3
  28. package/components/FitExtent/index.js.map +7 -1
  29. package/components/FollowButton/FollowButton.js +41 -111
  30. package/components/FollowButton/FollowButton.js.map +7 -1
  31. package/components/FollowButton/index.js +1 -3
  32. package/components/FollowButton/index.js.map +7 -1
  33. package/components/Geolocation/Geolocation.js +104 -213
  34. package/components/Geolocation/Geolocation.js.map +7 -1
  35. package/components/Geolocation/index.js +1 -3
  36. package/components/Geolocation/index.js.map +7 -1
  37. package/components/LayerTree/LayerTree.js +204 -410
  38. package/components/LayerTree/LayerTree.js.map +7 -1
  39. package/components/LayerTree/index.js +1 -3
  40. package/components/LayerTree/index.js.map +7 -1
  41. package/components/MousePosition/MousePosition.js +61 -130
  42. package/components/MousePosition/MousePosition.js.map +7 -1
  43. package/components/MousePosition/index.js +1 -3
  44. package/components/MousePosition/index.js.map +7 -1
  45. package/components/NorthArrow/NorthArrow.js +22 -62
  46. package/components/NorthArrow/NorthArrow.js.map +7 -1
  47. package/components/NorthArrow/index.js +1 -3
  48. package/components/NorthArrow/index.js.map +7 -1
  49. package/components/Overlay/Overlay.js +83 -130
  50. package/components/Overlay/Overlay.js.map +7 -1
  51. package/components/Overlay/index.js +1 -3
  52. package/components/Overlay/index.js.map +7 -1
  53. package/components/Permalink/Permalink.js +150 -244
  54. package/components/Permalink/Permalink.js.map +7 -1
  55. package/components/Permalink/index.js +1 -3
  56. package/components/Permalink/index.js.map +7 -1
  57. package/components/Popup/Popup.js +106 -233
  58. package/components/Popup/Popup.js.map +7 -1
  59. package/components/Popup/index.js +1 -3
  60. package/components/Popup/index.js.map +7 -1
  61. package/components/ResizeHandler/ResizeHandler.js +58 -113
  62. package/components/ResizeHandler/ResizeHandler.js.map +7 -1
  63. package/components/ResizeHandler/index.js +1 -3
  64. package/components/ResizeHandler/index.js.map +7 -1
  65. package/components/RouteSchedule/RouteSchedule.js +150 -283
  66. package/components/RouteSchedule/RouteSchedule.js.map +7 -1
  67. package/components/RouteSchedule/index.js +1 -3
  68. package/components/RouteSchedule/index.js.map +7 -1
  69. package/components/ScaleLine/ScaleLine.js +21 -45
  70. package/components/ScaleLine/ScaleLine.js.map +7 -1
  71. package/components/ScaleLine/index.js +1 -3
  72. package/components/ScaleLine/index.js.map +7 -1
  73. package/components/Search/Search.js +122 -186
  74. package/components/Search/Search.js.map +7 -1
  75. package/components/Search/SearchService.js +45 -69
  76. package/components/Search/SearchService.js.map +7 -1
  77. package/components/Search/engines/Engine.js +18 -25
  78. package/components/Search/engines/Engine.js.map +7 -1
  79. package/components/Search/engines/StopFinder.js +21 -38
  80. package/components/Search/engines/StopFinder.js.map +7 -1
  81. package/components/Search/index.js +3 -6
  82. package/components/Search/index.js.map +7 -1
  83. package/components/StopsFinder/StopsFinder.js +123 -174
  84. package/components/StopsFinder/StopsFinder.js.map +7 -1
  85. package/components/StopsFinder/StopsFinderOption.js +37 -54
  86. package/components/StopsFinder/StopsFinderOption.js.map +7 -1
  87. package/components/StopsFinder/index.js +1 -3
  88. package/components/StopsFinder/index.js.map +7 -1
  89. package/components/TrackerControl/TrackerControl.js +73 -128
  90. package/components/TrackerControl/TrackerControl.js.map +7 -1
  91. package/components/TrackerControl/index.js +1 -3
  92. package/components/TrackerControl/index.js.map +7 -1
  93. package/components/Zoom/Zoom.js +69 -112
  94. package/components/Zoom/Zoom.js.map +7 -1
  95. package/components/Zoom/index.js +1 -3
  96. package/components/Zoom/index.js.map +7 -1
  97. package/package.json +10 -5
  98. package/themes/default/components.scss +0 -1
  99. package/themes/default/examples.scss +0 -1
  100. package/utils/GlobalsForOle.js +63 -64
  101. package/utils/GlobalsForOle.js.map +7 -1
  102. package/utils/KML.js +178 -364
  103. package/utils/KML.js.map +7 -1
  104. package/utils/KMLFormat.js +37 -73
  105. package/utils/KMLFormat.js.map +7 -1
  106. package/utils/Styles.js +24 -32
  107. package/utils/Styles.js.map +7 -1
  108. package/utils/getPolygonPattern.js +11 -44
  109. package/utils/getPolygonPattern.js.map +7 -1
  110. package/utils/timeUtils.js +16 -35
  111. package/utils/timeUtils.js.map +7 -1
  112. package/LayerService.js +0 -193
  113. package/LayerService.js.map +0 -1
  114. package/LayerService.test.js +0 -160
  115. package/LayerService.test.js.map +0 -1
  116. package/Projections.js +0 -16
  117. package/Projections.js.map +0 -1
  118. package/components/BaseLayerSwitcher/BaseLayerSwitcher.test.js +0 -88
  119. package/components/BaseLayerSwitcher/BaseLayerSwitcher.test.js.map +0 -1
  120. package/components/BaseLayerToggler/BaseLayerToggler.js +0 -490
  121. package/components/BaseLayerToggler/BaseLayerToggler.js.map +0 -1
  122. package/components/BaseLayerToggler/BaseLayerToggler.md.scss +0 -9
  123. package/components/BaseLayerToggler/BaseLayerToggler.scss +0 -49
  124. package/components/BaseLayerToggler/BaseLayerToggler.test.js +0 -127
  125. package/components/BaseLayerToggler/BaseLayerToggler.test.js.map +0 -1
  126. package/components/BaseLayerToggler/index.js +0 -3
  127. package/components/BaseLayerToggler/index.js.map +0 -1
  128. package/components/BasicMap/BasicMap.test.js +0 -288
  129. package/components/BasicMap/BasicMap.test.js.map +0 -1
  130. package/components/CanvasSaveButton/CanvasSaveButton.test.js +0 -173
  131. package/components/CanvasSaveButton/CanvasSaveButton.test.js.map +0 -1
  132. package/components/Copyright/Copyright.test.js +0 -133
  133. package/components/Copyright/Copyright.test.js.map +0 -1
  134. package/components/FeatureExportButton/FeatureExportButton.test.js +0 -407
  135. package/components/FeatureExportButton/FeatureExportButton.test.js.map +0 -1
  136. package/components/FilterButton/FilterButton.test.js +0 -48
  137. package/components/FilterButton/FilterButton.test.js.map +0 -1
  138. package/components/FitExtent/FitExtent.test.js +0 -44
  139. package/components/FitExtent/FitExtent.test.js.map +0 -1
  140. package/components/FollowButton/FollowButton.test.js +0 -57
  141. package/components/FollowButton/FollowButton.test.js.map +0 -1
  142. package/components/Geolocation/Geolocation.test.js +0 -263
  143. package/components/Geolocation/Geolocation.test.js.map +0 -1
  144. package/components/LayerTree/LayerTree.test.js +0 -323
  145. package/components/LayerTree/LayerTree.test.js.map +0 -1
  146. package/components/MousePosition/MousePosition.test.js +0 -125
  147. package/components/MousePosition/MousePosition.test.js.map +0 -1
  148. package/components/NorthArrow/NorthArrow.test.js +0 -106
  149. package/components/NorthArrow/NorthArrow.test.js.map +0 -1
  150. package/components/Overlay/Overlay.test.js +0 -145
  151. package/components/Overlay/Overlay.test.js.map +0 -1
  152. package/components/Permalink/Permalink.test.js +0 -267
  153. package/components/Permalink/Permalink.test.js.map +0 -1
  154. package/components/Popup/Popup.test.js +0 -291
  155. package/components/Popup/Popup.test.js.map +0 -1
  156. package/components/ResizeHandler/ResizeHandler.test.js +0 -410
  157. package/components/ResizeHandler/ResizeHandler.test.js.map +0 -1
  158. package/components/RouteSchedule/RouteSchedule.test.js +0 -102
  159. package/components/RouteSchedule/RouteSchedule.test.js.map +0 -1
  160. package/components/ScaleLine/ScaleLine.test.js +0 -32
  161. package/components/ScaleLine/ScaleLine.test.js.map +0 -1
  162. package/components/Search/Search.test.js +0 -15
  163. package/components/Search/Search.test.js.map +0 -1
  164. package/components/StopsFinder/StopsFinder.test.js +0 -19
  165. package/components/StopsFinder/StopsFinder.test.js.map +0 -1
  166. package/components/TrackerControl/TrackerControl.test.js +0 -17
  167. package/components/TrackerControl/TrackerControl.test.js.map +0 -1
  168. package/components/Zoom/Zoom.test.js +0 -150
  169. package/components/Zoom/Zoom.test.js.map +0 -1
  170. package/propTypes.js +0 -55
  171. package/propTypes.js.map +0 -1
  172. package/setupTests.js +0 -5
  173. package/setupTests.js.map +0 -1
  174. package/styleguidist/ComponentsList.js +0 -52
  175. package/styleguidist/ComponentsList.js.map +0 -1
  176. package/styleguidist/StyleGuide.js +0 -253
  177. package/styleguidist/StyleGuide.js.map +0 -1
  178. package/utils/KML.test.js +0 -163
  179. package/utils/KML.test.js.map +0 -1
  180. package/utils/KMLFormat.test.js +0 -22
  181. package/utils/KMLFormat.test.js.map +0 -1
  182. package/utils/getPolygonPattern.test.js +0 -66
  183. package/utils/getPolygonPattern.test.js.map +0 -1
  184. package/utils/timeUtils.test.js +0 -32
  185. package/utils/timeUtils.test.js.map +0 -1
@@ -1,50 +1,31 @@
1
- /**
2
- * Returns a string representation of a number, with a zero if the number is lower than 10.
3
- * @ignore
4
- */
5
- export var pad = function (integer) {
6
- return integer < 10 ? ("0" + integer) : integer;
1
+ export const pad = (integer) => {
2
+ return integer < 10 ? `0${integer}` : integer;
7
3
  };
8
-
9
- /**
10
- * Returns a 'hh:mm' string from a time in ms.
11
- * @param {Number} timeInMs Time in milliseconds.
12
- * @ignore
13
- */
14
- export var getHoursAndMinutes = function (timeInMs) {
4
+ export const getHoursAndMinutes = (timeInMs) => {
15
5
  if (!timeInMs || timeInMs <= 0) {
16
- return '';
6
+ return "";
17
7
  }
18
- var date = new Date(timeInMs);
19
- return ((pad(date.getHours())) + ":" + (pad(date.getMinutes())));
8
+ const date = new Date(timeInMs);
9
+ return `${pad(date.getHours())}:${pad(date.getMinutes())}`;
20
10
  };
21
-
22
- /**
23
- * Returns a string representing a delay.
24
- * @param {Number} timeInMs Delay time in milliseconds.
25
- * @ignore
26
- */
27
- export var getDelayString = function (timeInMs) {
28
- var h = Math.floor(timeInMs / 3600000);
29
- var m = Math.floor((timeInMs % 3600000) / 60000);
30
- var s = Math.floor(((timeInMs % 3600000) % 60000) / 1000);
31
-
11
+ export const getDelayString = (timeInMs) => {
12
+ const h = Math.floor(timeInMs / 36e5);
13
+ const m = Math.floor(timeInMs % 36e5 / 6e4);
14
+ const s = Math.floor(timeInMs % 36e5 % 6e4 / 1e3);
32
15
  if (s === 0 && h === 0 && m === 0) {
33
- return '0';
16
+ return "0";
34
17
  }
35
18
  if (s === 0 && h === 0) {
36
- return (m + "m");
19
+ return `${m}m`;
37
20
  }
38
21
  if (s === 0) {
39
- return (h + "h" + m + "m");
22
+ return `${h}h${m}m`;
40
23
  }
41
24
  if (m === 0 && h === 0) {
42
- return (s + "s");
25
+ return `${s}s`;
43
26
  }
44
27
  if (h === 0) {
45
- return (m + "m" + s + "s");
28
+ return `${m}m${s}s`;
46
29
  }
47
- return (h + "h" + m + "m" + s + "s");
30
+ return `${h}h${m}m${s}s`;
48
31
  };
49
-
50
- //# sourceMappingURL=timeUtils.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"timeUtils.js","sources":["../../src/utils/timeUtils.js"],"sourcesContent":["/**\n * Returns a string representation of a number, with a zero if the number is lower than 10.\n * @ignore\n */\nexport const pad = (integer) => {\n return integer < 10 ? `0${integer}` : integer;\n};\n\n/**\n * Returns a 'hh:mm' string from a time in ms.\n * @param {Number} timeInMs Time in milliseconds.\n * @ignore\n */\nexport const getHoursAndMinutes = (timeInMs) => {\n if (!timeInMs || timeInMs <= 0) {\n return '';\n }\n const date = new Date(timeInMs);\n return `${pad(date.getHours())}:${pad(date.getMinutes())}`;\n};\n\n/**\n * Returns a string representing a delay.\n * @param {Number} timeInMs Delay time in milliseconds.\n * @ignore\n */\nexport const getDelayString = (timeInMs) => {\n const h = Math.floor(timeInMs / 3600000);\n const m = Math.floor((timeInMs % 3600000) / 60000);\n const s = Math.floor(((timeInMs % 3600000) % 60000) / 1000);\n\n if (s === 0 && h === 0 && m === 0) {\n return '0';\n }\n if (s === 0 && h === 0) {\n return `${m}m`;\n }\n if (s === 0) {\n return `${h}h${m}m`;\n }\n if (m === 0 && h === 0) {\n return `${s}s`;\n }\n if (h === 0) {\n return `${m}m${s}s`;\n }\n return `${h}h${m}m${s}s`;\n};\n"],"names":["const"],"mappings":"AAAA;AACA;AACA;AACA;AACA,OAAOA,GAAK,CAAC,GAAG,YAAG,CAAC,OAAO,EAAK;AAChC,EAAE,OAAO,OAAO,GAAG,EAAE,GAAG,OAAI,QAAS,GAAG,OAAO,CAAC;AAChD,CAAC,CAAC;AACF;AACA;AACA;AACA;AACA;AACA;AACA,OAAOA,GAAK,CAAC,kBAAkB,YAAG,CAAC,QAAQ,EAAK;AAChD,EAAE,IAAI,CAAC,QAAQ,IAAI,QAAQ,IAAI,CAAC,EAAE;AAClC,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAEA,GAAK,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;AAClC,EAAE,SAAU,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAC,UAAI,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC;AAC7D,CAAC,CAAC;AACF;AACA;AACA;AACA;AACA;AACA;AACA,OAAOA,GAAK,CAAC,cAAc,YAAG,CAAC,QAAQ,EAAK;AAC5C,EAAEA,GAAK,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC;AAC3C,EAAEA,GAAK,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;AACrD,EAAEA,GAAK,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;AAC9D;AACA,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AACrC,IAAI,OAAO,GAAG,CAAC;AACf,GAAG;AACH,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AAC1B,IAAI,QAAU,CAAC,OAAG,CAAC;AACnB,GAAG;AACH,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;AACf,IAAI,QAAU,CAAC,SAAI,CAAC,OAAG,CAAC;AACxB,GAAG;AACH,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AAC1B,IAAI,QAAU,CAAC,OAAG,CAAC;AACnB,GAAG;AACH,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;AACf,IAAI,QAAU,CAAC,SAAI,CAAC,OAAG,CAAC;AACxB,GAAG;AACH,EAAE,QAAU,CAAC,SAAI,CAAC,SAAI,CAAC,OAAG,CAAC;AAC3B,CAAC,CAAC;"}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/utils/timeUtils.js"],
4
+ "sourcesContent": ["/**\n * Returns a string representation of a number, with a zero if the number is lower than 10.\n * @ignore\n */\nexport const pad = (integer) => {\n return integer < 10 ? `0${integer}` : integer;\n};\n\n/**\n * Returns a 'hh:mm' string from a time in ms.\n * @param {Number} timeInMs Time in milliseconds.\n * @ignore\n */\nexport const getHoursAndMinutes = (timeInMs) => {\n if (!timeInMs || timeInMs <= 0) {\n return '';\n }\n const date = new Date(timeInMs);\n return `${pad(date.getHours())}:${pad(date.getMinutes())}`;\n};\n\n/**\n * Returns a string representing a delay.\n * @param {Number} timeInMs Delay time in milliseconds.\n * @ignore\n */\nexport const getDelayString = (timeInMs) => {\n const h = Math.floor(timeInMs / 3600000);\n const m = Math.floor((timeInMs % 3600000) / 60000);\n const s = Math.floor(((timeInMs % 3600000) % 60000) / 1000);\n\n if (s === 0 && h === 0 && m === 0) {\n return '0';\n }\n if (s === 0 && h === 0) {\n return `${m}m`;\n }\n if (s === 0) {\n return `${h}h${m}m`;\n }\n if (m === 0 && h === 0) {\n return `${s}s`;\n }\n if (h === 0) {\n return `${m}m${s}s`;\n }\n return `${h}h${m}m${s}s`;\n};\n"],
5
+ "mappings": "AAIO,aAAM,MAAM,CAAC,YAAY;AAC9B,SAAO,UAAU,KAAK,IAAI,YAAY;AACxC;AAOO,aAAM,qBAAqB,CAAC,aAAa;AAC9C,MAAI,CAAC,YAAY,YAAY,GAAG;AAC9B,WAAO;AAAA,EACT;AACA,QAAM,OAAO,IAAI,KAAK,QAAQ;AAC9B,SAAO,GAAG,IAAI,KAAK,SAAS,CAAC,KAAK,IAAI,KAAK,WAAW,CAAC;AACzD;AAOO,aAAM,iBAAiB,CAAC,aAAa;AAC1C,QAAM,IAAI,KAAK,MAAM,WAAW,IAAO;AACvC,QAAM,IAAI,KAAK,MAAO,WAAW,OAAW,GAAK;AACjD,QAAM,IAAI,KAAK,MAAQ,WAAW,OAAW,MAAS,GAAI;AAE1D,MAAI,MAAM,KAAK,MAAM,KAAK,MAAM,GAAG;AACjC,WAAO;AAAA,EACT;AACA,MAAI,MAAM,KAAK,MAAM,GAAG;AACtB,WAAO,GAAG;AAAA,EACZ;AACA,MAAI,MAAM,GAAG;AACX,WAAO,GAAG,KAAK;AAAA,EACjB;AACA,MAAI,MAAM,KAAK,MAAM,GAAG;AACtB,WAAO,GAAG;AAAA,EACZ;AACA,MAAI,MAAM,GAAG;AACX,WAAO,GAAG,KAAK;AAAA,EACjB;AACA,SAAO,GAAG,KAAK,KAAK;AACtB;",
6
+ "names": []
7
+ }
package/LayerService.js DELETED
@@ -1,193 +0,0 @@
1
- import { unByKey } from 'ol/Observable';
2
-
3
- /**
4
- * A layer service class to handle layer adding, removing and visiblity.
5
- */
6
- var LayerService = function LayerService(layers) {
7
- this.layers = layers;
8
- this.callbacks = {};
9
- this.keys = [];
10
- this.listenChangeEvt();
11
- };
12
-
13
- LayerService.prototype.addLayer = function addLayer (layer) {
14
- this.layers.push(layer);
15
- };
16
-
17
- LayerService.prototype.getLayers = function getLayers () {
18
- return this.layers;
19
- };
20
-
21
- LayerService.prototype.setLayers = function setLayers (layers) {
22
- this.layers = layers;
23
- this.listenChangeEvt();
24
- // When we change the layers we trigger an change:layers event
25
- (this.callbacks['change:layers'] || []).forEach(function (cb) {
26
- return cb(layers);
27
- });
28
- };
29
-
30
- LayerService.prototype.getLayersAsFlatArray = function getLayersAsFlatArray (optLayers) {
31
- var this$1 = this;
32
-
33
- var layers = [];
34
- (optLayers || this.getLayers() || []).forEach(function (l) {
35
- layers.push(l);
36
- var children = l.children;
37
- layers = layers.concat(this$1.getLayersAsFlatArray(children));
38
- });
39
- return layers;
40
- };
41
-
42
- LayerService.prototype.getLayer = function getLayer (name) {
43
- return this.getLayersAsFlatArray().find(function (l) {
44
- return l.name === name;
45
- });
46
- };
47
-
48
- LayerService.prototype.getParent = function getParent (child) {
49
- return this.getLayersAsFlatArray().find(function (l) {
50
- return !!l.children.includes(child);
51
- });
52
- };
53
-
54
- LayerService.prototype.getParents = function getParents (child) {
55
- var layer = child;
56
- var parents = [];
57
-
58
- var parentLayer;
59
- do {
60
- parentLayer = this.getParent(layer);
61
- if (parentLayer) {
62
- parents.push(parentLayer);
63
- layer = parentLayer;
64
- }
65
- } while (parentLayer);
66
-
67
- return parents;
68
- };
69
-
70
- LayerService.prototype.getRadioGroupLayers = function getRadioGroupLayers (radioGroupName) {
71
- if (radioGroupName) {
72
- return this.getLayersAsFlatArray().filter(function (l) {
73
- return l.get('radioGroup') === radioGroupName;
74
- });
75
- }
76
-
77
- return null;
78
- };
79
-
80
- LayerService.prototype.getBaseLayers = function getBaseLayers () {
81
- return this.getLayersAsFlatArray().filter(function (l) {
82
- return l.isBaseLayer;
83
- });
84
- };
85
-
86
- LayerService.prototype.getQueryableLayers = function getQueryableLayers () {
87
- return this.getLayersAsFlatArray().filter(function (layer) {
88
- return layer.visible && layer.isQueryable;
89
- });
90
- };
91
-
92
- LayerService.prototype.getFeatureInfoAtCoordinate = function getFeatureInfoAtCoordinate (coordinate, layers) {
93
- var promises = (layers || this.getQueryableLayers()).map(function (layer) {
94
- return layer
95
- .getFeatureInfoAtCoordinate(coordinate)
96
- .then(function (featureInfo) {
97
- return featureInfo;
98
- });
99
- });
100
- return Promise.all(promises);
101
- };
102
-
103
- LayerService.prototype.on = function on (evt, callback) {
104
- this.un(evt, callback);
105
- this.callbacks[evt] = this.callbacks[evt] || [];
106
- this.callbacks[evt].push(callback);
107
- };
108
-
109
- LayerService.prototype.un = function un (evt, callback) {
110
- for (var i = 0; i < (this.callbacks[evt] || []).length; i += 1) {
111
- if (callback === this.callbacks[evt][i]) {
112
- this.callbacks[evt].splice(i, 1);
113
- break;
114
- }
115
- }
116
- };
117
-
118
- LayerService.prototype.listenChangeEvt = function listenChangeEvt () {
119
- var this$1 = this;
120
-
121
- if (this.keys) {
122
- unByKey(this.keys);
123
- this.keys = [];
124
- }
125
- this.getLayersAsFlatArray().forEach(function (layer) {
126
- this$1.keys.push(
127
- layer.on('change:copyright', function (evt) {
128
- (this$1.callbacks['change:copyright'] || []).forEach(function (cb) {
129
- return cb(evt.target);
130
- });
131
- }),
132
- layer.on('change:visible', function (evt) {
133
- var ref = evt.target;
134
- var visible = ref.visible;
135
-
136
- // Apply to siblings only if it's a radio group.
137
- if (
138
- !evt.stopPropagationSiblings &&
139
- layer.get('radioGroup') &&
140
- visible
141
- ) {
142
- var siblings = this$1.getRadioGroupLayers(
143
- layer.get('radioGroup')
144
- ).filter(function (l) {
145
- return l !== layer;
146
- });
147
-
148
- siblings.forEach(function (s) {
149
- if (
150
- visible &&
151
- s.get('radioGroup') &&
152
- evt.target.get('radioGroup') === s.get('radioGroup')
153
- ) {
154
- s.setVisible(false, false, true, true);
155
- }
156
- });
157
- }
158
-
159
- // Apply to children
160
- if (!evt.stopPropagationDown && layer.children) {
161
- layer.children.forEach(function (child) {
162
- child.setVisible(visible, false, true, false);
163
- });
164
- }
165
-
166
- // Apply to parent only if:
167
- // - a child is visible
168
- // - all children are hidden
169
- var parentLayer = this$1.getParent(layer);
170
-
171
- if (
172
- !evt.stopPropagationUp &&
173
- parentLayer &&
174
- (visible ||
175
- (!visible &&
176
- !parentLayer.children.find(function (c) {
177
- return c.visible;
178
- })))
179
- ) {
180
- parentLayer.setVisible(visible, true, false, false);
181
- }
182
-
183
- (this$1.callbacks['change:visible'] || []).forEach(function (cb) {
184
- return cb(evt.target);
185
- });
186
- })
187
- );
188
- });
189
- };
190
-
191
- export default LayerService;
192
-
193
- //# sourceMappingURL=LayerService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LayerService.js","sources":["../src/LayerService.js"],"sourcesContent":["import { unByKey } from 'ol/Observable';\n\n/**\n * A layer service class to handle layer adding, removing and visiblity.\n */\nexport default class LayerService {\n constructor(layers) {\n this.layers = layers;\n this.callbacks = {};\n this.keys = [];\n this.listenChangeEvt();\n }\n\n addLayer(layer) {\n this.layers.push(layer);\n }\n\n getLayers() {\n return this.layers;\n }\n\n setLayers(layers) {\n this.layers = layers;\n this.listenChangeEvt();\n // When we change the layers we trigger an change:layers event\n (this.callbacks['change:layers'] || []).forEach((cb) => {\n return cb(layers);\n });\n }\n\n getLayersAsFlatArray(optLayers) {\n let layers = [];\n (optLayers || this.getLayers() || []).forEach((l) => {\n layers.push(l);\n const { children } = l;\n layers = layers.concat(this.getLayersAsFlatArray(children));\n });\n return layers;\n }\n\n getLayer(name) {\n return this.getLayersAsFlatArray().find((l) => {\n return l.name === name;\n });\n }\n\n getParent(child) {\n return this.getLayersAsFlatArray().find((l) => {\n return !!l.children.includes(child);\n });\n }\n\n getParents(child) {\n let layer = child;\n const parents = [];\n\n let parentLayer;\n do {\n parentLayer = this.getParent(layer);\n if (parentLayer) {\n parents.push(parentLayer);\n layer = parentLayer;\n }\n } while (parentLayer);\n\n return parents;\n }\n\n getRadioGroupLayers(radioGroupName) {\n if (radioGroupName) {\n return this.getLayersAsFlatArray().filter((l) => {\n return l.get('radioGroup') === radioGroupName;\n });\n }\n\n return null;\n }\n\n getBaseLayers() {\n return this.getLayersAsFlatArray().filter((l) => {\n return l.isBaseLayer;\n });\n }\n\n getQueryableLayers() {\n return this.getLayersAsFlatArray().filter((layer) => {\n return layer.visible && layer.isQueryable;\n });\n }\n\n getFeatureInfoAtCoordinate(coordinate, layers) {\n const promises = (layers || this.getQueryableLayers()).map((layer) => {\n return layer\n .getFeatureInfoAtCoordinate(coordinate)\n .then((featureInfo) => {\n return featureInfo;\n });\n });\n return Promise.all(promises);\n }\n\n on(evt, callback) {\n this.un(evt, callback);\n this.callbacks[evt] = this.callbacks[evt] || [];\n this.callbacks[evt].push(callback);\n }\n\n un(evt, callback) {\n for (let i = 0; i < (this.callbacks[evt] || []).length; i += 1) {\n if (callback === this.callbacks[evt][i]) {\n this.callbacks[evt].splice(i, 1);\n break;\n }\n }\n }\n\n listenChangeEvt() {\n if (this.keys) {\n unByKey(this.keys);\n this.keys = [];\n }\n this.getLayersAsFlatArray().forEach((layer) => {\n this.keys.push(\n layer.on('change:copyright', (evt) => {\n (this.callbacks['change:copyright'] || []).forEach((cb) => {\n return cb(evt.target);\n });\n }),\n layer.on('change:visible', (evt) => {\n const { visible } = evt.target;\n\n // Apply to siblings only if it's a radio group.\n if (\n !evt.stopPropagationSiblings &&\n layer.get('radioGroup') &&\n visible\n ) {\n const siblings = this.getRadioGroupLayers(\n layer.get('radioGroup'),\n ).filter((l) => {\n return l !== layer;\n });\n\n siblings.forEach((s) => {\n if (\n visible &&\n s.get('radioGroup') &&\n evt.target.get('radioGroup') === s.get('radioGroup')\n ) {\n s.setVisible(false, false, true, true);\n }\n });\n }\n\n // Apply to children\n if (!evt.stopPropagationDown && layer.children) {\n layer.children.forEach((child) => {\n child.setVisible(visible, false, true, false);\n });\n }\n\n // Apply to parent only if:\n // - a child is visible\n // - all children are hidden\n const parentLayer = this.getParent(layer);\n\n if (\n !evt.stopPropagationUp &&\n parentLayer &&\n (visible ||\n (!visible &&\n !parentLayer.children.find((c) => {\n return c.visible;\n })))\n ) {\n parentLayer.setVisible(visible, true, false, false);\n }\n\n (this.callbacks['change:visible'] || []).forEach((cb) => {\n return cb(evt.target);\n });\n }),\n );\n });\n }\n}\n"],"names":["let","const","this"],"mappings":"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"}
@@ -1,160 +0,0 @@
1
- import 'jest-canvas-mock';
2
- import { Layer } from 'mobility-toolbox-js/ol';
3
- import LayerService from './LayerService';
4
-
5
- describe('LayerService', function () {
6
- var layerService;
7
-
8
- beforeEach(function () {
9
- var layers = [
10
- new Layer({
11
- name: 'root',
12
- }),
13
- new Layer({
14
- name: '1',
15
- children: [
16
- new Layer({
17
- name: '1-1',
18
- properties: {
19
- radioGroup: 'radio',
20
- },
21
- }),
22
- new Layer({
23
- name: '1-2',
24
- properties: {
25
- radioGroup: 'radio',
26
- },
27
- visible: false,
28
- children: [
29
- new Layer({
30
- name: '1-2-1',
31
- visible: false,
32
- }),
33
- new Layer({
34
- name: '1-2-2',
35
- visible: false,
36
- }),
37
- new Layer({
38
- name: '2',
39
- visible: false,
40
- }) ],
41
- }) ],
42
- }) ];
43
- layerService = new LayerService(layers);
44
- });
45
-
46
- test('should instantiate LayerService class correctly.', function () {
47
- expect(layerService.getLayersAsFlatArray().length).toBe(7);
48
- });
49
-
50
- test('should return the correct number of layers.', function () {
51
- expect(layerService.getLayers().length).toBe(2);
52
- });
53
-
54
- test('should return layers by name.', function () {
55
- expect(layerService.getLayer('root')).toBeDefined();
56
- expect(layerService.getLayer('1-2-2')).toBeDefined();
57
- expect(layerService.getLayer('1-2')).toBeDefined();
58
- expect(layerService.getLayer('42')).toBeUndefined();
59
- });
60
-
61
- test('should return the parent layer.', function () {
62
- var child = layerService.getLayer('1-2');
63
- expect(layerService.getParent(child).name).toBe('1');
64
- });
65
-
66
- test('should return null if no radio name is given.', function () {
67
- expect(layerService.getRadioGroupLayers()).toBe(null);
68
- });
69
-
70
- test('should return radio layers.', function () {
71
- expect(layerService.getRadioGroupLayers('radio').length).toBe(2);
72
- expect(layerService.getRadioGroupLayers('no-radio').length).toBe(0);
73
- });
74
-
75
- test('should toggle radio layers.', function () {
76
- layerService.getLayer('1-1').setVisible(true);
77
- expect(layerService.getLayer('1-1').visible).toBe(true);
78
- layerService.getLayer('1-2').setVisible(true);
79
- expect(layerService.getLayer('1-1').visible).toBe(false);
80
- });
81
-
82
- test('should toggle child layers.', function () {
83
- layerService.getLayer('1-2').setVisible(true);
84
- expect(layerService.getLayer('1-2-1').visible).toBe(true);
85
- expect(layerService.getLayer('1-2-2').visible).toBe(true);
86
- expect(layerService.getLayer('2').visible).toBe(true);
87
- });
88
-
89
- test('should call back on visibility changes.', function () {
90
- var callback = jest.fn(function () {
91
- return 42;
92
- });
93
- layerService.on('change:visible', callback);
94
- layerService.getLayer('2').setVisible(true);
95
- expect(callback.mock.calls.length).toBe(3);
96
- });
97
-
98
- test('should set children from constructor', function () {
99
- var layer = new Layer({
100
- name: 'foo',
101
- children: [
102
- new Layer({
103
- name: 'bar',
104
- }) ],
105
- });
106
- expect(layer.children.length).toBe(1);
107
- });
108
-
109
- describe('#on() ', function () {
110
- test('add a callback on event.', function () {
111
- var cb = function () {};
112
- layerService.on('foo', cb);
113
- expect(layerService.callbacks.foo[0]).toBe(cb);
114
- });
115
-
116
- test("doesn't add twice the same callback .", function () {
117
- var cb = function () {};
118
- layerService.on('foo', cb);
119
- expect(layerService.callbacks.foo[0]).toBe(cb);
120
- layerService.on('foo', cb);
121
- expect(layerService.callbacks.foo[0]).toBe(cb);
122
- expect(layerService.callbacks.foo[1]).toBe(undefined);
123
- });
124
- });
125
-
126
- describe('#un() ', function () {
127
- test("doesn't failed if callback doesn't exists.", function (done) {
128
- var cb = function () {};
129
- try {
130
- layerService.un('foo', cb);
131
- done();
132
- // eslint-disable-next-line no-empty
133
- } catch (e) {}
134
- });
135
-
136
- test('remove a callback on event.', function () {
137
- var cb = function () {};
138
- var cb1 = function () {};
139
- var cb2 = function () {};
140
- layerService.on('foo', cb);
141
- layerService.on('foo', cb1);
142
- layerService.on('foo', cb2);
143
- expect(layerService.callbacks.foo[0]).toBe(cb);
144
- expect(layerService.callbacks.foo[1]).toBe(cb1);
145
- expect(layerService.callbacks.foo[2]).toBe(cb2);
146
- layerService.un('foo', cb1);
147
- expect(layerService.callbacks.foo[0]).toBe(cb);
148
- expect(layerService.callbacks.foo[1]).toBe(cb2);
149
- expect(layerService.callbacks.foo[2]).toBe(undefined);
150
- });
151
- });
152
-
153
- test('should unlisten keys in LayerService', function () {
154
- expect(layerService.keys.length).toBe(14);
155
- layerService.setLayers([]);
156
- expect(layerService.keys.length).toBe(0);
157
- });
158
- });
159
-
160
- //# sourceMappingURL=LayerService.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LayerService.test.js","sources":["../src/LayerService.test.js"],"sourcesContent":["import 'jest-canvas-mock';\nimport { Layer } from 'mobility-toolbox-js/ol';\nimport LayerService from './LayerService';\n\ndescribe('LayerService', () => {\n let layerService;\n\n beforeEach(() => {\n const layers = [\n new Layer({\n name: 'root',\n }),\n new Layer({\n name: '1',\n children: [\n new Layer({\n name: '1-1',\n properties: {\n radioGroup: 'radio',\n },\n }),\n new Layer({\n name: '1-2',\n properties: {\n radioGroup: 'radio',\n },\n visible: false,\n children: [\n new Layer({\n name: '1-2-1',\n visible: false,\n }),\n new Layer({\n name: '1-2-2',\n visible: false,\n }),\n new Layer({\n name: '2',\n visible: false,\n }),\n ],\n }),\n ],\n }),\n ];\n layerService = new LayerService(layers);\n });\n\n test('should instantiate LayerService class correctly.', () => {\n expect(layerService.getLayersAsFlatArray().length).toBe(7);\n });\n\n test('should return the correct number of layers.', () => {\n expect(layerService.getLayers().length).toBe(2);\n });\n\n test('should return layers by name.', () => {\n expect(layerService.getLayer('root')).toBeDefined();\n expect(layerService.getLayer('1-2-2')).toBeDefined();\n expect(layerService.getLayer('1-2')).toBeDefined();\n expect(layerService.getLayer('42')).toBeUndefined();\n });\n\n test('should return the parent layer.', () => {\n const child = layerService.getLayer('1-2');\n expect(layerService.getParent(child).name).toBe('1');\n });\n\n test('should return null if no radio name is given.', () => {\n expect(layerService.getRadioGroupLayers()).toBe(null);\n });\n\n test('should return radio layers.', () => {\n expect(layerService.getRadioGroupLayers('radio').length).toBe(2);\n expect(layerService.getRadioGroupLayers('no-radio').length).toBe(0);\n });\n\n test('should toggle radio layers.', () => {\n layerService.getLayer('1-1').setVisible(true);\n expect(layerService.getLayer('1-1').visible).toBe(true);\n layerService.getLayer('1-2').setVisible(true);\n expect(layerService.getLayer('1-1').visible).toBe(false);\n });\n\n test('should toggle child layers.', () => {\n layerService.getLayer('1-2').setVisible(true);\n expect(layerService.getLayer('1-2-1').visible).toBe(true);\n expect(layerService.getLayer('1-2-2').visible).toBe(true);\n expect(layerService.getLayer('2').visible).toBe(true);\n });\n\n test('should call back on visibility changes.', () => {\n const callback = jest.fn(() => {\n return 42;\n });\n layerService.on('change:visible', callback);\n layerService.getLayer('2').setVisible(true);\n expect(callback.mock.calls.length).toBe(3);\n });\n\n test('should set children from constructor', () => {\n const layer = new Layer({\n name: 'foo',\n children: [\n new Layer({\n name: 'bar',\n }),\n ],\n });\n expect(layer.children.length).toBe(1);\n });\n\n describe('#on() ', () => {\n test('add a callback on event.', () => {\n const cb = () => {};\n layerService.on('foo', cb);\n expect(layerService.callbacks.foo[0]).toBe(cb);\n });\n\n test(\"doesn't add twice the same callback .\", () => {\n const cb = () => {};\n layerService.on('foo', cb);\n expect(layerService.callbacks.foo[0]).toBe(cb);\n layerService.on('foo', cb);\n expect(layerService.callbacks.foo[0]).toBe(cb);\n expect(layerService.callbacks.foo[1]).toBe(undefined);\n });\n });\n\n describe('#un() ', () => {\n test(\"doesn't failed if callback doesn't exists.\", (done) => {\n const cb = () => {};\n try {\n layerService.un('foo', cb);\n done();\n // eslint-disable-next-line no-empty\n } catch (e) {}\n });\n\n test('remove a callback on event.', () => {\n const cb = () => {};\n const cb1 = () => {};\n const cb2 = () => {};\n layerService.on('foo', cb);\n layerService.on('foo', cb1);\n layerService.on('foo', cb2);\n expect(layerService.callbacks.foo[0]).toBe(cb);\n expect(layerService.callbacks.foo[1]).toBe(cb1);\n expect(layerService.callbacks.foo[2]).toBe(cb2);\n layerService.un('foo', cb1);\n expect(layerService.callbacks.foo[0]).toBe(cb);\n expect(layerService.callbacks.foo[1]).toBe(cb2);\n expect(layerService.callbacks.foo[2]).toBe(undefined);\n });\n });\n\n test('should unlisten keys in LayerService', () => {\n expect(layerService.keys.length).toBe(14);\n layerService.setLayers([]);\n expect(layerService.keys.length).toBe(0);\n });\n});\n"],"names":["let","const"],"mappings":"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"}
package/Projections.js DELETED
@@ -1,16 +0,0 @@
1
- var projections = {
2
- 'EPSG:3857': {
3
- projectionExtent: [
4
- -20037508.3428, -20037508.3428, 20037508.3428, 20037508.3428 ],
5
- resolutions: [
6
- 156543.033928, 78271.516964, 39135.758482, 19567.879241, 9783.9396205,
7
- 4891.96981025, 2445.98490513, 1222.99245256, 611.496226281, 305.748113141,
8
- 152.87405657, 76.4370282852, 38.2185141426, 19.1092570713, 9.55462853565,
9
- 4.77731426782, 2.38865713391, 1.19432856696, 0.597164283478,
10
- 0.298582141739 ],
11
- },
12
- };
13
-
14
- export default projections;
15
-
16
- //# sourceMappingURL=Projections.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Projections.js","sources":["../src/Projections.js"],"sourcesContent":["const projections = {\n 'EPSG:3857': {\n projectionExtent: [\n -20037508.3428, -20037508.3428, 20037508.3428, 20037508.3428,\n ],\n resolutions: [\n 156543.033928, 78271.516964, 39135.758482, 19567.879241, 9783.9396205,\n 4891.96981025, 2445.98490513, 1222.99245256, 611.496226281, 305.748113141,\n 152.87405657, 76.4370282852, 38.2185141426, 19.1092570713, 9.55462853565,\n 4.77731426782, 2.38865713391, 1.19432856696, 0.597164283478,\n 0.298582141739,\n ],\n },\n};\n\nexport default projections;\n"],"names":["const"],"mappings":"AAAAA,GAAK,CAAC,WAAW,GAAG;AACpB,EAAE,WAAW,EAAE;AACf,IAAI,gBAAgB,EAAE;AACtB,MAAM,CAAC,aAAa,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,aAAa,CAC9D,CAAC;AACL,IAAI,WAAW,EAAE;AACjB,MAAM,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY;AAC3E,MAAM,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa;AAC/E,MAAM,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa;AAC9E,MAAM,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc;AACjE,MAAM,cAAc,CAChB,CAAC;AACL,GAAG;AACH,CAAC,CAAC;AACF;AACA,eAAe,WAAW,CAAC;"}
@@ -1,88 +0,0 @@
1
- import React from 'react';
2
- import { Layer } from 'mobility-toolbox-js/ol';
3
- import { fireEvent, render } from '@testing-library/react';
4
- import BaseLayerSwitcher from './BaseLayerSwitcher';
5
-
6
- describe('BaseLayerSwitcher', function () {
7
- var layers;
8
- var layerImages = {
9
- layerFoo: 'foo',
10
- layerBar: 'bar',
11
- layerFoobar: 'foobar',
12
- };
13
-
14
- beforeEach(function () {
15
- layers = [
16
- new Layer({
17
- name: 'bl1',
18
- isBaseLayer: true,
19
- }),
20
- new Layer({
21
- name: 'bl2',
22
- isBaseLayer: true,
23
- visible: false,
24
- }),
25
- new Layer({
26
- name: 'bl3',
27
- isBaseLayer: true,
28
- visible: false,
29
- }) ];
30
- });
31
-
32
- describe('matches snapshots', function () {
33
- test('using default properties.', function () {
34
- var ref = render(
35
- React.createElement( BaseLayerSwitcher, { layers: layers, layerImages: layerImages })
36
- );
37
- var container = ref.container;
38
- expect(container.innerHTML).toMatchSnapshot();
39
- });
40
- });
41
-
42
- test('the correct baselayer is visible on mount', function () {
43
- render(React.createElement( BaseLayerSwitcher, { layers: layers, layerImages: layerImages }));
44
- expect(layers[0].visible).toBe(true);
45
- });
46
-
47
- test('removes open class and switches layer on click', async function () {
48
- var ref = render(
49
- React.createElement( BaseLayerSwitcher, { layers: layers, layerImages: layerImages })
50
- );
51
- var container = ref.container;
52
- await fireEvent.click(container.querySelector('.rs-opener'));
53
- await fireEvent.click(
54
- container.querySelectorAll('.rs-base-layer-switcher-button')[3]
55
- );
56
- expect(
57
- layers.filter(function (layer) {
58
- return layer.isBaseLayer;
59
- })[2].visible
60
- ).toBe(true);
61
- expect(!!container.querySelector('.rs-base-layer-switcher rs-open')).toBe(
62
- false
63
- );
64
- });
65
-
66
- test('toggles base map instead of opening when only two base layers', async function () {
67
- var ref = render(
68
- React.createElement( BaseLayerSwitcher, { layers: layers.slice(0, 2) })
69
- );
70
- var container = ref.container;
71
- expect(
72
- layers.filter(function (layer) {
73
- return layer.isBaseLayer;
74
- })[0].visible
75
- ).toBe(true);
76
- await fireEvent.click(container.querySelector('.rs-opener'));
77
- expect(
78
- layers.filter(function (layer) {
79
- return layer.isBaseLayer;
80
- })[1].visible
81
- ).toBe(true);
82
- expect(!!container.querySelector('.rs-base-layer-switcher rs-open')).toBe(
83
- false
84
- );
85
- });
86
- });
87
-
88
- //# sourceMappingURL=BaseLayerSwitcher.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BaseLayerSwitcher.test.js","sources":["../../../src/components/BaseLayerSwitcher/BaseLayerSwitcher.test.js"],"sourcesContent":["import React from 'react';\nimport { Layer } from 'mobility-toolbox-js/ol';\nimport { fireEvent, render } from '@testing-library/react';\nimport BaseLayerSwitcher from './BaseLayerSwitcher';\n\ndescribe('BaseLayerSwitcher', () => {\n let layers;\n const layerImages = {\n layerFoo: 'foo',\n layerBar: 'bar',\n layerFoobar: 'foobar',\n };\n\n beforeEach(() => {\n layers = [\n new Layer({\n name: 'bl1',\n isBaseLayer: true,\n }),\n new Layer({\n name: 'bl2',\n isBaseLayer: true,\n visible: false,\n }),\n new Layer({\n name: 'bl3',\n isBaseLayer: true,\n visible: false,\n }),\n ];\n });\n\n describe('matches snapshots', () => {\n test('using default properties.', () => {\n const { container } = render(\n <BaseLayerSwitcher layers={layers} layerImages={layerImages} />,\n );\n expect(container.innerHTML).toMatchSnapshot();\n });\n });\n\n test('the correct baselayer is visible on mount', () => {\n render(<BaseLayerSwitcher layers={layers} layerImages={layerImages} />);\n expect(layers[0].visible).toBe(true);\n });\n\n test('removes open class and switches layer on click', async () => {\n const { container } = render(\n <BaseLayerSwitcher layers={layers} layerImages={layerImages} />,\n );\n await fireEvent.click(container.querySelector('.rs-opener'));\n await fireEvent.click(\n container.querySelectorAll('.rs-base-layer-switcher-button')[3],\n );\n expect(\n layers.filter((layer) => {\n return layer.isBaseLayer;\n })[2].visible,\n ).toBe(true);\n expect(!!container.querySelector('.rs-base-layer-switcher rs-open')).toBe(\n false,\n );\n });\n\n test('toggles base map instead of opening when only two base layers', async () => {\n const { container } = render(\n <BaseLayerSwitcher layers={layers.slice(0, 2)} />,\n );\n expect(\n layers.filter((layer) => {\n return layer.isBaseLayer;\n })[0].visible,\n ).toBe(true);\n await fireEvent.click(container.querySelector('.rs-opener'));\n expect(\n layers.filter((layer) => {\n return layer.isBaseLayer;\n })[1].visible,\n ).toBe(true);\n expect(!!container.querySelector('.rs-base-layer-switcher rs-open')).toBe(\n false,\n );\n });\n});\n"],"names":["let","const"],"mappings":"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"}