react-spatial 1.2.0 → 1.2.3-beta.2

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/LayerService.js +128 -184
  2. package/LayerService.js.map +7 -1
  3. package/Projections.js +29 -12
  4. package/Projections.js.map +7 -1
  5. package/components/BaseLayerSwitcher/BaseLayerSwitcher.js +163 -221
  6. package/components/BaseLayerSwitcher/BaseLayerSwitcher.js.map +7 -1
  7. package/components/BaseLayerSwitcher/index.js +1 -3
  8. package/components/BaseLayerSwitcher/index.js.map +7 -1
  9. package/components/BasicMap/BasicMap.js +147 -285
  10. package/components/BasicMap/BasicMap.js.map +7 -1
  11. package/components/BasicMap/index.js +1 -3
  12. package/components/BasicMap/index.js.map +7 -1
  13. package/components/CanvasSaveButton/CanvasSaveButton.js +165 -419
  14. package/components/CanvasSaveButton/CanvasSaveButton.js.map +7 -1
  15. package/components/CanvasSaveButton/index.js +1 -3
  16. package/components/CanvasSaveButton/index.js.map +7 -1
  17. package/components/Copyright/Copyright.js +29 -70
  18. package/components/Copyright/Copyright.js.map +7 -1
  19. package/components/Copyright/index.js +1 -3
  20. package/components/Copyright/index.js.map +7 -1
  21. package/components/FeatureExportButton/FeatureExportButton.js +40 -106
  22. package/components/FeatureExportButton/FeatureExportButton.js.map +7 -1
  23. package/components/FeatureExportButton/index.js +1 -3
  24. package/components/FeatureExportButton/index.js.map +7 -1
  25. package/components/FilterButton/FilterButton.js +41 -106
  26. package/components/FilterButton/FilterButton.js.map +7 -1
  27. package/components/FilterButton/index.js +1 -3
  28. package/components/FilterButton/index.js.map +7 -1
  29. package/components/FitExtent/FitExtent.js +17 -50
  30. package/components/FitExtent/FitExtent.js.map +7 -1
  31. package/components/FitExtent/index.js +1 -3
  32. package/components/FitExtent/index.js.map +7 -1
  33. package/components/FollowButton/FollowButton.js +41 -111
  34. package/components/FollowButton/FollowButton.js.map +7 -1
  35. package/components/FollowButton/index.js +1 -3
  36. package/components/FollowButton/index.js.map +7 -1
  37. package/components/Geolocation/Geolocation.js +104 -213
  38. package/components/Geolocation/Geolocation.js.map +7 -1
  39. package/components/Geolocation/index.js +1 -3
  40. package/components/Geolocation/index.js.map +7 -1
  41. package/components/LayerTree/LayerTree.js +207 -397
  42. package/components/LayerTree/LayerTree.js.map +7 -1
  43. package/components/LayerTree/index.js +1 -3
  44. package/components/LayerTree/index.js.map +7 -1
  45. package/components/MousePosition/MousePosition.js +61 -130
  46. package/components/MousePosition/MousePosition.js.map +7 -1
  47. package/components/MousePosition/index.js +1 -3
  48. package/components/MousePosition/index.js.map +7 -1
  49. package/components/NorthArrow/NorthArrow.js +22 -62
  50. package/components/NorthArrow/NorthArrow.js.map +7 -1
  51. package/components/NorthArrow/index.js +1 -3
  52. package/components/NorthArrow/index.js.map +7 -1
  53. package/components/Overlay/Overlay.js +85 -132
  54. package/components/Overlay/Overlay.js.map +7 -1
  55. package/components/Overlay/index.js +1 -3
  56. package/components/Overlay/index.js.map +7 -1
  57. package/components/Permalink/Permalink.js +151 -231
  58. package/components/Permalink/Permalink.js.map +7 -1
  59. package/components/Permalink/index.js +1 -3
  60. package/components/Permalink/index.js.map +7 -1
  61. package/components/Popup/Popup.js +106 -233
  62. package/components/Popup/Popup.js.map +7 -1
  63. package/components/Popup/index.js +1 -3
  64. package/components/Popup/index.js.map +7 -1
  65. package/components/ResizeHandler/ResizeHandler.js +60 -115
  66. package/components/ResizeHandler/ResizeHandler.js.map +7 -1
  67. package/components/ResizeHandler/index.js +1 -3
  68. package/components/ResizeHandler/index.js.map +7 -1
  69. package/components/RouteSchedule/RouteSchedule.js +153 -285
  70. package/components/RouteSchedule/RouteSchedule.js.map +7 -1
  71. package/components/RouteSchedule/index.js +1 -3
  72. package/components/RouteSchedule/index.js.map +7 -1
  73. package/components/ScaleLine/ScaleLine.js +21 -45
  74. package/components/ScaleLine/ScaleLine.js.map +7 -1
  75. package/components/ScaleLine/index.js +1 -3
  76. package/components/ScaleLine/index.js.map +7 -1
  77. package/components/Search/Search.js +122 -186
  78. package/components/Search/Search.js.map +7 -1
  79. package/components/Search/SearchService.js +45 -69
  80. package/components/Search/SearchService.js.map +7 -1
  81. package/components/Search/engines/Engine.js +18 -25
  82. package/components/Search/engines/Engine.js.map +7 -1
  83. package/components/Search/engines/StopFinder.js +21 -38
  84. package/components/Search/engines/StopFinder.js.map +7 -1
  85. package/components/Search/index.js +3 -6
  86. package/components/Search/index.js.map +7 -1
  87. package/components/StopsFinder/StopsFinder.js +123 -174
  88. package/components/StopsFinder/StopsFinder.js.map +7 -1
  89. package/components/StopsFinder/StopsFinderOption.js +37 -54
  90. package/components/StopsFinder/StopsFinderOption.js.map +7 -1
  91. package/components/StopsFinder/index.js +1 -3
  92. package/components/StopsFinder/index.js.map +7 -1
  93. package/components/TrackerControl/TrackerControl.js +73 -128
  94. package/components/TrackerControl/TrackerControl.js.map +7 -1
  95. package/components/TrackerControl/index.js +1 -3
  96. package/components/TrackerControl/index.js.map +7 -1
  97. package/components/Zoom/Zoom.js +69 -112
  98. package/components/Zoom/Zoom.js.map +7 -1
  99. package/components/Zoom/index.js +1 -3
  100. package/components/Zoom/index.js.map +7 -1
  101. package/package.json +20 -15
  102. package/propTypes.js +17 -23
  103. package/propTypes.js.map +7 -1
  104. package/setupTests.js +2 -4
  105. package/setupTests.js.map +7 -1
  106. package/themes/default/components.scss +0 -1
  107. package/themes/default/examples.scss +0 -1
  108. package/utils/GlobalsForOle.js +63 -64
  109. package/utils/GlobalsForOle.js.map +7 -1
  110. package/utils/KML.js +178 -364
  111. package/utils/KML.js.map +7 -1
  112. package/utils/KMLFormat.js +37 -73
  113. package/utils/KMLFormat.js.map +7 -1
  114. package/utils/Styles.js +24 -32
  115. package/utils/Styles.js.map +7 -1
  116. package/utils/getPolygonPattern.js +11 -44
  117. package/utils/getPolygonPattern.js.map +7 -1
  118. package/utils/timeUtils.js +16 -35
  119. package/utils/timeUtils.js.map +7 -1
  120. package/LayerService.test.js +0 -160
  121. package/LayerService.test.js.map +0 -1
  122. package/components/BaseLayerSwitcher/BaseLayerSwitcher.test.js +0 -88
  123. package/components/BaseLayerSwitcher/BaseLayerSwitcher.test.js.map +0 -1
  124. package/components/BaseLayerToggler/BaseLayerToggler.js +0 -490
  125. package/components/BaseLayerToggler/BaseLayerToggler.js.map +0 -1
  126. package/components/BaseLayerToggler/BaseLayerToggler.md.scss +0 -9
  127. package/components/BaseLayerToggler/BaseLayerToggler.scss +0 -49
  128. package/components/BaseLayerToggler/BaseLayerToggler.test.js +0 -127
  129. package/components/BaseLayerToggler/BaseLayerToggler.test.js.map +0 -1
  130. package/components/BaseLayerToggler/index.js +0 -3
  131. package/components/BaseLayerToggler/index.js.map +0 -1
  132. package/components/BasicMap/BasicMap.test.js +0 -288
  133. package/components/BasicMap/BasicMap.test.js.map +0 -1
  134. package/components/CanvasSaveButton/CanvasSaveButton.test.js +0 -173
  135. package/components/CanvasSaveButton/CanvasSaveButton.test.js.map +0 -1
  136. package/components/Copyright/Copyright.test.js +0 -133
  137. package/components/Copyright/Copyright.test.js.map +0 -1
  138. package/components/FeatureExportButton/FeatureExportButton.test.js +0 -407
  139. package/components/FeatureExportButton/FeatureExportButton.test.js.map +0 -1
  140. package/components/FilterButton/FilterButton.test.js +0 -48
  141. package/components/FilterButton/FilterButton.test.js.map +0 -1
  142. package/components/FitExtent/FitExtent.test.js +0 -44
  143. package/components/FitExtent/FitExtent.test.js.map +0 -1
  144. package/components/FollowButton/FollowButton.test.js +0 -57
  145. package/components/FollowButton/FollowButton.test.js.map +0 -1
  146. package/components/Geolocation/Geolocation.test.js +0 -263
  147. package/components/Geolocation/Geolocation.test.js.map +0 -1
  148. package/components/LayerTree/LayerTree.test.js +0 -323
  149. package/components/LayerTree/LayerTree.test.js.map +0 -1
  150. package/components/MousePosition/MousePosition.test.js +0 -125
  151. package/components/MousePosition/MousePosition.test.js.map +0 -1
  152. package/components/NorthArrow/NorthArrow.test.js +0 -106
  153. package/components/NorthArrow/NorthArrow.test.js.map +0 -1
  154. package/components/Overlay/Overlay.test.js +0 -145
  155. package/components/Overlay/Overlay.test.js.map +0 -1
  156. package/components/Permalink/Permalink.test.js +0 -267
  157. package/components/Permalink/Permalink.test.js.map +0 -1
  158. package/components/Popup/Popup.test.js +0 -291
  159. package/components/Popup/Popup.test.js.map +0 -1
  160. package/components/ResizeHandler/ResizeHandler.test.js +0 -410
  161. package/components/ResizeHandler/ResizeHandler.test.js.map +0 -1
  162. package/components/RouteSchedule/RouteSchedule.test.js +0 -102
  163. package/components/RouteSchedule/RouteSchedule.test.js.map +0 -1
  164. package/components/ScaleLine/ScaleLine.test.js +0 -32
  165. package/components/ScaleLine/ScaleLine.test.js.map +0 -1
  166. package/components/Search/Search.test.js +0 -15
  167. package/components/Search/Search.test.js.map +0 -1
  168. package/components/StopsFinder/StopsFinder.test.js +0 -19
  169. package/components/StopsFinder/StopsFinder.test.js.map +0 -1
  170. package/components/TrackerControl/TrackerControl.test.js +0 -17
  171. package/components/TrackerControl/TrackerControl.test.js.map +0 -1
  172. package/components/Zoom/Zoom.test.js +0 -150
  173. package/components/Zoom/Zoom.test.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
+ }
@@ -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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"}
@@ -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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"}