react-spatial 1.5.3 → 1.5.4

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 (294) hide show
  1. package/components/BaseLayerSwitcher/BaseLayerSwitcher.js +231 -0
  2. package/components/BaseLayerSwitcher/BaseLayerSwitcher.js.map +7 -0
  3. package/components/BaseLayerSwitcher/index.js +1 -0
  4. package/components/BaseLayerSwitcher/index.js.map +7 -0
  5. package/components/BasicMap/BasicMap.js +278 -0
  6. package/components/BasicMap/BasicMap.js.map +7 -0
  7. package/components/BasicMap/index.js +1 -0
  8. package/components/BasicMap/index.js.map +7 -0
  9. package/{src/components → components}/CanvasSaveButton/CanvasSaveButton.js +93 -320
  10. package/components/CanvasSaveButton/CanvasSaveButton.js.map +7 -0
  11. package/components/CanvasSaveButton/index.js +1 -0
  12. package/components/CanvasSaveButton/index.js.map +7 -0
  13. package/components/Copyright/Copyright.js +55 -0
  14. package/components/Copyright/Copyright.js.map +7 -0
  15. package/components/Copyright/index.js +1 -0
  16. package/components/Copyright/index.js.map +7 -0
  17. package/components/FeatureExportButton/FeatureExportButton.js +62 -0
  18. package/components/FeatureExportButton/FeatureExportButton.js.map +7 -0
  19. package/components/FeatureExportButton/index.js +1 -0
  20. package/components/FeatureExportButton/index.js.map +7 -0
  21. package/components/FitExtent/FitExtent.js +32 -0
  22. package/components/FitExtent/FitExtent.js.map +7 -0
  23. package/components/FitExtent/index.js +1 -0
  24. package/components/FitExtent/index.js.map +7 -0
  25. package/{src/components → components}/Geolocation/Geolocation.js +61 -144
  26. package/components/Geolocation/Geolocation.js.map +7 -0
  27. package/components/Geolocation/index.js +1 -0
  28. package/components/Geolocation/index.js.map +7 -0
  29. package/components/LayerTree/LayerTree.js +278 -0
  30. package/components/LayerTree/LayerTree.js.map +7 -0
  31. package/components/LayerTree/index.js +1 -0
  32. package/components/LayerTree/index.js.map +7 -0
  33. package/components/MousePosition/MousePosition.js +110 -0
  34. package/components/MousePosition/MousePosition.js.map +7 -0
  35. package/components/MousePosition/index.js +1 -0
  36. package/components/MousePosition/index.js.map +7 -0
  37. package/components/NorthArrow/NorthArrow.js +43 -0
  38. package/components/NorthArrow/NorthArrow.js.map +7 -0
  39. package/components/NorthArrow/index.js +1 -0
  40. package/components/NorthArrow/index.js.map +7 -0
  41. package/components/Overlay/Overlay.js +122 -0
  42. package/components/Overlay/Overlay.js.map +7 -0
  43. package/components/Overlay/index.js +1 -0
  44. package/components/Overlay/index.js.map +7 -0
  45. package/components/Permalink/Permalink.js +206 -0
  46. package/components/Permalink/Permalink.js.map +7 -0
  47. package/components/Permalink/index.js +1 -0
  48. package/components/Permalink/index.js.map +7 -0
  49. package/{src/components → components}/Popup/Popup.js +55 -165
  50. package/components/Popup/Popup.js.map +7 -0
  51. package/components/Popup/index.js +1 -0
  52. package/components/Popup/index.js.map +7 -0
  53. package/{src/components → components}/ResizeHandler/ResizeHandler.js +15 -50
  54. package/components/ResizeHandler/ResizeHandler.js.map +7 -0
  55. package/components/ResizeHandler/index.js +1 -0
  56. package/components/ResizeHandler/index.js.map +7 -0
  57. package/components/RouteSchedule/RouteSchedule.js +223 -0
  58. package/components/RouteSchedule/RouteSchedule.js.map +7 -0
  59. package/components/RouteSchedule/index.js +1 -0
  60. package/components/RouteSchedule/index.js.map +7 -0
  61. package/components/ScaleLine/ScaleLine.js +32 -0
  62. package/components/ScaleLine/ScaleLine.js.map +7 -0
  63. package/components/ScaleLine/index.js +1 -0
  64. package/components/ScaleLine/index.js.map +7 -0
  65. package/components/StopsFinder/StopsFinder.js +210 -0
  66. package/components/StopsFinder/StopsFinder.js.map +7 -0
  67. package/components/StopsFinder/StopsFinderOption.js +51 -0
  68. package/components/StopsFinder/StopsFinderOption.js.map +7 -0
  69. package/components/StopsFinder/index.js +1 -0
  70. package/components/StopsFinder/index.js.map +7 -0
  71. package/components/Zoom/Zoom.js +130 -0
  72. package/components/Zoom/Zoom.js.map +7 -0
  73. package/components/Zoom/index.js +1 -0
  74. package/components/Zoom/index.js.map +7 -0
  75. package/package.json +1 -1
  76. package/{src/propTypes.js → propTypes.js} +12 -16
  77. package/propTypes.js.map +7 -0
  78. package/{src/setupTests.js → setupTests.js} +1 -1
  79. package/setupTests.js.map +7 -0
  80. package/utils/GlobalsForOle.js +94 -0
  81. package/utils/GlobalsForOle.js.map +7 -0
  82. package/utils/KML.js +412 -0
  83. package/utils/KML.js.map +7 -0
  84. package/utils/KMLFormat.js +69 -0
  85. package/utils/KMLFormat.js.map +7 -0
  86. package/{src/utils → utils}/Styles.js +14 -20
  87. package/utils/Styles.js.map +7 -0
  88. package/{src/utils → utils}/getPolygonPattern.js +6 -34
  89. package/utils/getPolygonPattern.js.map +7 -0
  90. package/{src/utils → utils}/timeUtils.js +5 -22
  91. package/utils/timeUtils.js.map +7 -0
  92. package/.github/workflows/conventional-pr-title.yml +0 -21
  93. package/.github/workflows/main.yml +0 -28
  94. package/.husky/commit-msg +0 -4
  95. package/.husky/post-checkout +0 -4
  96. package/.husky/post-merge +0 -4
  97. package/.husky/post-rebase +0 -4
  98. package/.husky/pre-commit +0 -4
  99. package/.nvmrc +0 -1
  100. package/.whitesource +0 -8
  101. package/CHANGELOG.md +0 -65
  102. package/DEVELOP.md +0 -113
  103. package/__mocks__/mapbox-gl.js +0 -11
  104. package/__mocks__/resize-observer-polyfill.js +0 -9
  105. package/babel.config.js +0 -3
  106. package/commitlint.config.js +0 -1
  107. package/data/topic1.js +0 -119
  108. package/data/topic2.js +0 -28
  109. package/doc/README.md +0 -21
  110. package/doc/doc-config.json +0 -4
  111. package/pull_request_template.md +0 -16
  112. package/renovate.json +0 -4
  113. package/scripts/read-pkg-json.js +0 -17
  114. package/src/components/BaseLayerSwitcher/BaseLayerSwitcher.js +0 -322
  115. package/src/components/BaseLayerSwitcher/BaseLayerSwitcher.test.js +0 -69
  116. package/src/components/BaseLayerSwitcher/README.md +0 -61
  117. package/src/components/BaseLayerSwitcher/__snapshots__/BaseLayerSwitcher.test.js.snap +0 -88
  118. package/src/components/BaseLayerSwitcher/index.js +0 -1
  119. package/src/components/BasicMap/BasicMap.js +0 -413
  120. package/src/components/BasicMap/BasicMap.test.js +0 -281
  121. package/src/components/BasicMap/README.md +0 -18
  122. package/src/components/BasicMap/index.js +0 -1
  123. package/src/components/CanvasSaveButton/CanvasSaveButton.test.js +0 -148
  124. package/src/components/CanvasSaveButton/README.md +0 -76
  125. package/src/components/CanvasSaveButton/__snapshots__/CanvasSaveButton.test.js.snap +0 -76
  126. package/src/components/CanvasSaveButton/index.js +0 -1
  127. package/src/components/Copyright/Copyright.js +0 -89
  128. package/src/components/Copyright/Copyright.test.js +0 -134
  129. package/src/components/Copyright/README.md +0 -36
  130. package/src/components/Copyright/index.js +0 -1
  131. package/src/components/FeatureExportButton/FeatureExportButton.js +0 -118
  132. package/src/components/FeatureExportButton/FeatureExportButton.test.js +0 -417
  133. package/src/components/FeatureExportButton/README.md +0 -76
  134. package/src/components/FeatureExportButton/__snapshots__/FeatureExportButton.test.js.snap +0 -67
  135. package/src/components/FeatureExportButton/index.js +0 -1
  136. package/src/components/FitExtent/FitExtent.js +0 -62
  137. package/src/components/FitExtent/FitExtent.test.js +0 -48
  138. package/src/components/FitExtent/README.md +0 -34
  139. package/src/components/FitExtent/__snapshots__/FitExtent.test.js.snap +0 -13
  140. package/src/components/FitExtent/index.js +0 -1
  141. package/src/components/Geolocation/Geolocation.test.js +0 -267
  142. package/src/components/Geolocation/README.md +0 -25
  143. package/src/components/Geolocation/__snapshots__/Geolocation.test.js.snap +0 -92
  144. package/src/components/Geolocation/index.js +0 -1
  145. package/src/components/LayerTree/LayerTree.js +0 -487
  146. package/src/components/LayerTree/LayerTree.test.js +0 -337
  147. package/src/components/LayerTree/README.md +0 -92
  148. package/src/components/LayerTree/__snapshots__/LayerTree.test.js.snap +0 -1746
  149. package/src/components/LayerTree/index.js +0 -1
  150. package/src/components/MousePosition/MousePosition.js +0 -175
  151. package/src/components/MousePosition/MousePosition.test.js +0 -132
  152. package/src/components/MousePosition/README.md +0 -50
  153. package/src/components/MousePosition/__snapshots__/MousePosition.test.js.snap +0 -76
  154. package/src/components/MousePosition/index.js +0 -1
  155. package/src/components/NorthArrow/NorthArrow.js +0 -75
  156. package/src/components/NorthArrow/NorthArrow.test.js +0 -104
  157. package/src/components/NorthArrow/README.md +0 -59
  158. package/src/components/NorthArrow/__snapshots__/NorthArrow.test.js.snap +0 -117
  159. package/src/components/NorthArrow/index.js +0 -1
  160. package/src/components/Overlay/Overlay.js +0 -176
  161. package/src/components/Overlay/Overlay.test.js +0 -149
  162. package/src/components/Overlay/README.md +0 -59
  163. package/src/components/Overlay/__snapshots__/Overlay.test.js.snap +0 -9
  164. package/src/components/Overlay/index.js +0 -1
  165. package/src/components/Permalink/Permalink.js +0 -326
  166. package/src/components/Permalink/Permalink.test.js +0 -285
  167. package/src/components/Permalink/README.md +0 -105
  168. package/src/components/Permalink/index.js +0 -1
  169. package/src/components/Popup/Popup.test.js +0 -307
  170. package/src/components/Popup/README.md +0 -93
  171. package/src/components/Popup/__snapshots__/Popup.test.js.snap +0 -180
  172. package/src/components/Popup/index.js +0 -1
  173. package/src/components/README.md +0 -41
  174. package/src/components/ResizeHandler/ResizeHandler.test.js +0 -344
  175. package/src/components/ResizeHandler/index.js +0 -1
  176. package/src/components/RouteSchedule/README.md +0 -118
  177. package/src/components/RouteSchedule/RouteSchedule.js +0 -370
  178. package/src/components/RouteSchedule/RouteSchedule.test.js +0 -113
  179. package/src/components/RouteSchedule/__snapshots__/RouteSchedule.test.js.snap +0 -248
  180. package/src/components/RouteSchedule/index.js +0 -1
  181. package/src/components/ScaleLine/README.md +0 -29
  182. package/src/components/ScaleLine/ScaleLine.js +0 -50
  183. package/src/components/ScaleLine/ScaleLine.test.js +0 -30
  184. package/src/components/ScaleLine/__snapshots__/ScaleLine.test.js.snap +0 -7
  185. package/src/components/ScaleLine/index.js +0 -1
  186. package/src/components/StopsFinder/README.md +0 -50
  187. package/src/components/StopsFinder/StopsFinder.js +0 -284
  188. package/src/components/StopsFinder/StopsFinder.test.js +0 -17
  189. package/src/components/StopsFinder/StopsFinderOption.js +0 -61
  190. package/src/components/StopsFinder/__snapshots__/StopsFinder.test.js.snap +0 -133
  191. package/src/components/StopsFinder/index.js +0 -1
  192. package/src/components/Zoom/README.md +0 -25
  193. package/src/components/Zoom/Zoom.js +0 -180
  194. package/src/components/Zoom/Zoom.test.js +0 -141
  195. package/src/components/Zoom/__snapshots__/Zoom.test.js.snap +0 -201
  196. package/src/components/Zoom/index.js +0 -1
  197. package/src/styleguidist/ComponentsList.js +0 -52
  198. package/src/styleguidist/StyleGuide.js +0 -277
  199. package/src/styleguidist/styleguidist.css +0 -38
  200. package/src/utils/GlobalsForOle.js +0 -99
  201. package/src/utils/KML.js +0 -594
  202. package/src/utils/KML.test.js +0 -337
  203. package/src/utils/KMLFormat.js +0 -100
  204. package/src/utils/KMLFormat.test.js +0 -50
  205. package/src/utils/__snapshots__/KML.test.js.snap.KML-readFeatures()-and-writeFeatures()-should-read-and-write-lineDash-and-fillPattern-style-for-polygon.canvas-image.png +0 -0
  206. package/src/utils/__snapshots__/getPolygonPattern.test.js.snap.getPolygonPattern()-render-pattern-2-(cross)-color-and-(light-blue)-opacity.canvas-image.png +0 -0
  207. package/src/utils/__snapshots__/getPolygonPattern.test.js.snap.getPolygonPattern()-render-pattern-3-(diagonal-line-from-bottom-left-tot-top-right)-with-color-(light-blue)-and-opacity.canvas-image.png +0 -0
  208. package/src/utils/__snapshots__/getPolygonPattern.test.js.snap.getPolygonPattern()-render-pattern-4-(diagonal-line-from-top-left-to-bottom-right)-with-color-(light-blue)-and-opacity.canvas-image.png +0 -0
  209. package/src/utils/getPolygonPattern.test.js +0 -61
  210. package/src/utils/timeUtils.test.js +0 -30
  211. package/styleguide.config.js +0 -251
  212. /package/{src/components → components}/BaseLayerSwitcher/BaseLayerSwitcher.md.scss +0 -0
  213. /package/{src/components → components}/BaseLayerSwitcher/BaseLayerSwitcher.scss +0 -0
  214. /package/{src/components → components}/BasicMap/BasicMap.md.scss +0 -0
  215. /package/{src/components → components}/CanvasSaveButton/CanvasSaveButton.md.scss +0 -0
  216. /package/{src/components → components}/Copyright/Copyright.md.scss +0 -0
  217. /package/{src/components → components}/FeatureExportButton/FeatureExportButton.md.scss +0 -0
  218. /package/{src/components → components}/FitExtent/FitExtent.md.scss +0 -0
  219. /package/{src/components → components}/Geolocation/Geolocation.md.scss +0 -0
  220. /package/{src/components → components}/Geolocation/Geolocation.scss +0 -0
  221. /package/{src/components → components}/LayerTree/LayerTree.md.scss +0 -0
  222. /package/{src/components → components}/LayerTree/LayerTree.scss +0 -0
  223. /package/{src/components → components}/MousePosition/MousePosition.md.scss +0 -0
  224. /package/{src/components → components}/NorthArrow/NorthArrow.scss +0 -0
  225. /package/{src/components → components}/Overlay/Overlay.md.scss +0 -0
  226. /package/{src/components → components}/Overlay/Overlay.scss +0 -0
  227. /package/{src/components → components}/Permalink/Permalink.md.scss +0 -0
  228. /package/{src/components → components}/Popup/Popup.md.scss +0 -0
  229. /package/{src/components → components}/Popup/Popup.scss +0 -0
  230. /package/{src/components → components}/RouteSchedule/RouteSchedule.md.scss +0 -0
  231. /package/{src/components → components}/RouteSchedule/RouteSchedule.scss +0 -0
  232. /package/{src/components → components}/ScaleLine/ScaleLine.scss +0 -0
  233. /package/{src/components → components}/Zoom/Zoom.md.scss +0 -0
  234. /package/{src/components → components}/Zoom/Zoom.scss +0 -0
  235. /package/{src/images → images}/RouteSchedule/firstStation.png +0 -0
  236. /package/{src/images → images}/RouteSchedule/lastStation.png +0 -0
  237. /package/{src/images → images}/RouteSchedule/line.png +0 -0
  238. /package/{src/images → images}/RouteSchedule/station.png +0 -0
  239. /package/{src/images → images}/baselayer/baselayer.basebright.png +0 -0
  240. /package/{src/images → images}/baselayer/baselayer.osm.png +0 -0
  241. /package/{src/images → images}/baselayer/baselayer.travic.png +0 -0
  242. /package/{src/images → images}/baselayer/open.topo.map.png +0 -0
  243. /package/{src/images → images}/baselayer/osm.baselayer.hot.png +0 -0
  244. /package/{src/images → images}/baselayer/osm.baselayer.png +0 -0
  245. /package/{src/images → images}/favicon.png +0 -0
  246. /package/{src/images → images}/geops_logo.png +0 -0
  247. /package/{src/images → images}/geops_logo.svg +0 -0
  248. /package/{src/images → images}/geops_qr.png +0 -0
  249. /package/{src/images → images}/mots/bus_poi-blue-01.svg +0 -0
  250. /package/{src/images → images}/mots/bus_poi-grey-01.svg +0 -0
  251. /package/{src/images → images}/mots/bus_round-blue-01.svg +0 -0
  252. /package/{src/images → images}/mots/bus_round-grey-01.svg +0 -0
  253. /package/{src/images → images}/mots/bus_square-blue-01.svg +0 -0
  254. /package/{src/images → images}/mots/bus_square-grey-01.svg +0 -0
  255. /package/{src/images → images}/mots/cable_car_poi-blue-01.svg +0 -0
  256. /package/{src/images → images}/mots/cable_car_poi-grey-01.svg +0 -0
  257. /package/{src/images → images}/mots/cable_car_round-blue-01.svg +0 -0
  258. /package/{src/images → images}/mots/cable_car_round-grey-01.svg +0 -0
  259. /package/{src/images → images}/mots/cable_car_square-blue-01.svg +0 -0
  260. /package/{src/images → images}/mots/cable_car_square-grey-01.svg +0 -0
  261. /package/{src/images → images}/mots/ferry_poi-blue-01.svg +0 -0
  262. /package/{src/images → images}/mots/ferry_poi-grey-01.svg +0 -0
  263. /package/{src/images → images}/mots/ferry_round-blue-01.svg +0 -0
  264. /package/{src/images → images}/mots/ferry_round-grey-01.svg +0 -0
  265. /package/{src/images → images}/mots/ferry_square-blue-01.svg +0 -0
  266. /package/{src/images → images}/mots/ferry_square-grey-01.svg +0 -0
  267. /package/{src/images → images}/mots/funicular_round-blue-01.svg +0 -0
  268. /package/{src/images → images}/mots/funicular_round-grey-01.svg +0 -0
  269. /package/{src/images → images}/mots/funicular_square-blue-01.svg +0 -0
  270. /package/{src/images → images}/mots/gondola_round-blue-01.svg +0 -0
  271. /package/{src/images → images}/mots/rail_poi-blue-01.svg +0 -0
  272. /package/{src/images → images}/mots/rail_poi-grey-01.svg +0 -0
  273. /package/{src/images → images}/mots/rail_round-blue-01.svg +0 -0
  274. /package/{src/images → images}/mots/rail_round-grey-01.svg +0 -0
  275. /package/{src/images → images}/mots/rail_square-blue-01.svg +0 -0
  276. /package/{src/images → images}/mots/rail_square-grey-01.svg +0 -0
  277. /package/{src/images → images}/mots/subway_round blue-01.svg +0 -0
  278. /package/{src/images → images}/mots/subway_round-blue-01.svg +0 -0
  279. /package/{src/images → images}/mots/tram_poi-blue-01.svg +0 -0
  280. /package/{src/images → images}/mots/tram_poi-grey-01.svg +0 -0
  281. /package/{src/images → images}/mots/tram_round-blue-01.svg +0 -0
  282. /package/{src/images → images}/mots/tram_round-grey-01.svg +0 -0
  283. /package/{src/images → images}/mots/tram_square-blue-01.svg +0 -0
  284. /package/{src/images → images}/mots/tram_square-grey-01.svg +0 -0
  285. /package/{src/images → images}/northArrow.svg +0 -0
  286. /package/{src/images → images}/northArrow.url.svg +0 -0
  287. /package/{src/images → images}/northArrowCircle.svg +0 -0
  288. /package/{src/images → images}/northArrowCircle.url.svg +0 -0
  289. /package/{src/themes → themes}/README.md +0 -0
  290. /package/{src/themes → themes}/default/components.scss +0 -0
  291. /package/{src/themes → themes}/default/examples.scss +0 -0
  292. /package/{src/themes → themes}/default/index.scss +0 -0
  293. /package/{src/themes → themes}/default/mixins.scss +0 -0
  294. /package/{src/themes → themes}/default/variables.scss +0 -0
@@ -1,344 +0,0 @@
1
- /* eslint-disable max-classes-per-file */
2
- /* eslint-disable react/no-multi-comp,react/prefer-stateless-function,react/prop-types */
3
- import React from 'react';
4
- import { configure, mount, shallow } from 'enzyme';
5
- import Adapter from '@cfaester/enzyme-adapter-react-18';
6
- import ResizeObserver from 'resize-observer-polyfill';
7
- import ResizeHandler from './ResizeHandler';
8
-
9
- jest.mock('resize-observer-polyfill');
10
-
11
- configure({ adapter: new Adapter() });
12
-
13
- class Div extends React.Component {
14
- render() {
15
- return <div />;
16
- }
17
- }
18
-
19
- class BasicComponent extends React.Component {
20
- render() {
21
- const { onResize, stylePropHeight } = this.props;
22
- return (
23
- <div id="basic">
24
- <ResizeHandler
25
- observe={this}
26
- onResize={onResize}
27
- stylePropHeight={stylePropHeight}
28
- />
29
- </div>
30
- );
31
- }
32
- }
33
-
34
- class BasicComponent3 extends React.Component {
35
- render() {
36
- return (
37
- <div id="basic">
38
- <ResizeHandler
39
- observe={this}
40
- maxHeightBrkpts={{
41
- niedrig: 150,
42
- hoch: Infinity,
43
- }}
44
- maxWidthBrkpts={{
45
- schmal: 150,
46
- breit: Infinity,
47
- }}
48
- />
49
- </div>
50
- );
51
- }
52
- }
53
-
54
- class StrComponent extends React.Component {
55
- render() {
56
- return (
57
- <span id="basic">
58
- <ResizeHandler observe="#basic" />
59
- </span>
60
- );
61
- }
62
- }
63
-
64
- class ThisComponent extends React.Component {
65
- render() {
66
- return (
67
- <div>
68
- <ResizeHandler observe={this} />
69
- </div>
70
- );
71
- }
72
- }
73
-
74
- class RefComponent extends React.Component {
75
- constructor(props) {
76
- super(props);
77
- this.ref = React.createRef();
78
- }
79
-
80
- render() {
81
- return (
82
- <>
83
- <Div ref={this.ref} />
84
- <ResizeHandler observe={this.ref} />
85
- </>
86
- );
87
- }
88
- }
89
-
90
- class CallbackComponent extends React.Component {
91
- constructor(props) {
92
- super(props);
93
- this.state = {
94
- ref: null,
95
- };
96
- }
97
-
98
- render() {
99
- const { ref } = this.state;
100
- return (
101
- <>
102
- <div
103
- ref={(node) => {
104
- if (node && !ref) {
105
- this.setState({
106
- ref: node,
107
- });
108
- }
109
- }}
110
- />
111
- <ResizeHandler observe={ref} />
112
- </>
113
- );
114
- }
115
- }
116
-
117
- class RefNodeComponent extends React.Component {
118
- constructor(props) {
119
- super(props);
120
- this.ref = React.createRef();
121
- }
122
-
123
- render() {
124
- return (
125
- <>
126
- <div ref={this.ref} />
127
- <ResizeHandler observe={this.ref} />
128
- </>
129
- );
130
- }
131
- }
132
-
133
- // eslint-disable-next-line react/prefer-stateless-function
134
- class CallbackNodeComponent extends React.Component {
135
- constructor(props) {
136
- super(props);
137
- this.state = {
138
- ref: null,
139
- };
140
- }
141
-
142
- render() {
143
- const { ref } = this.state;
144
- return (
145
- <>
146
- <div
147
- ref={(node) => {
148
- if (node && !ref) {
149
- this.setState({
150
- ref: node,
151
- });
152
- }
153
- }}
154
- />
155
- <ResizeHandler observe={ref} />
156
- </>
157
- );
158
- }
159
- }
160
-
161
- const comps = [
162
- ThisComponent,
163
- RefComponent,
164
- RefNodeComponent,
165
- CallbackComponent,
166
- CallbackNodeComponent,
167
- ];
168
-
169
- describe('ResizeHandler', () => {
170
- describe('when observe property is not set', () => {
171
- test("doesn't observe", () => {
172
- const spy = jest.spyOn(ResizeObserver.prototype, 'observe');
173
- shallow(<ResizeHandler />);
174
- expect(spy).not.toHaveBeenCalled();
175
- spy.mockRestore();
176
- });
177
-
178
- test('disconnect on unmount', () => {
179
- const wrapper = shallow(<ResizeHandler />);
180
- const spy = jest.spyOn(wrapper.instance().observer, 'disconnect');
181
- wrapper.unmount();
182
- expect(spy).toHaveBeenCalledTimes(1);
183
- });
184
- });
185
-
186
- describe('when observe property is set', () => {
187
- test('try t get an html node from a string on (un)mount', () => {
188
- const div = document.createElement('div');
189
- document.querySelectorAll = jest.fn().mockImplementation(() => {
190
- return [div];
191
- });
192
- const spy = jest.spyOn(ResizeObserver.prototype, 'observe');
193
- const spy2 = jest.spyOn(ResizeObserver.prototype, 'disconnect');
194
- mount(<StrComponent />);
195
- expect(spy).toHaveBeenCalledTimes(1);
196
- expect(spy.mock.calls[0][0]).toBe(div);
197
- expect(spy2.mock.calls.length >= 1).toBe(true);
198
- spy.mockRestore();
199
- spy2.mockRestore();
200
- document.querySelectorAll.mockRestore();
201
- });
202
-
203
- comps.forEach((Comp) => {
204
- test(`(un)observes an html node from ${Comp.name} on (un)mount`, () => {
205
- const spy = jest.spyOn(ResizeObserver.prototype, 'observe');
206
- const spy2 = jest.spyOn(ResizeObserver.prototype, 'disconnect');
207
- const wrapper = mount(<Comp />);
208
- expect(spy).toHaveBeenCalledTimes(1);
209
- expect(spy.mock.calls[0][0]).toBeInstanceOf(Element);
210
- expect(spy2.mock.calls.length >= 1).toBe(true);
211
- ResizeObserver.prototype.observe.mockRestore();
212
- spy.mockRestore();
213
- spy2.mockRestore();
214
- wrapper.unmount();
215
- });
216
- });
217
-
218
- test('set the default css class on resize ', () => {
219
- const wrapper = mount(<BasicComponent />);
220
- const basic = wrapper.getDOMNode();
221
-
222
- // The mock class set the onResize property, we just have to run it to
223
- // simulate a resize
224
- ResizeObserver.onResize([
225
- {
226
- target: basic,
227
- contentRect: {
228
- width: 200,
229
- height: 200,
230
- },
231
- },
232
- ]);
233
- expect(basic.className).toBe('rs-w-xs rs-h-xs');
234
-
235
- ResizeObserver.onResize([
236
- {
237
- target: basic,
238
- contentRect: {
239
- width: 577,
240
- height: 577,
241
- },
242
- },
243
- ]);
244
- expect(basic.className).toBe('rs-w-s rs-h-s');
245
- ResizeObserver.onResize([
246
- {
247
- target: basic,
248
- contentRect: {
249
- width: 769,
250
- height: 769,
251
- },
252
- },
253
- ]);
254
- expect(basic.className).toBe('rs-w-m rs-h-m');
255
- ResizeObserver.onResize([
256
- {
257
- target: basic,
258
- contentRect: {
259
- width: 993,
260
- height: 993,
261
- },
262
- },
263
- ]);
264
- expect(basic.className).toBe('rs-w-l rs-h-l');
265
- ResizeObserver.onResize([
266
- {
267
- target: basic,
268
- contentRect: {
269
- width: 1201,
270
- height: 1201,
271
- },
272
- },
273
- ]);
274
- expect(basic.className).toBe('rs-w-xl rs-h-xl');
275
- });
276
-
277
- test('uses user defined breakpoints', () => {
278
- const wrapper = mount(<BasicComponent3 />);
279
- const basic = wrapper.getDOMNode();
280
-
281
- // The mock class set the onResize property, we just have to run it to
282
- // simulate a resize
283
- ResizeObserver.onResize([
284
- {
285
- target: basic,
286
- contentRect: {
287
- width: 100,
288
- height: 100,
289
- },
290
- },
291
- ]);
292
- expect(basic.className).toBe('rs-w-schmal rs-h-niedrig');
293
-
294
- ResizeObserver.onResize([
295
- {
296
- target: basic,
297
- contentRect: {
298
- width: 1000,
299
- height: 1000,
300
- },
301
- },
302
- ]);
303
- expect(basic.className).toBe('rs-w-breit rs-h-hoch');
304
- });
305
-
306
- test('calls onResize property', () => {
307
- const fn = jest.fn();
308
- const wrapper = mount(<BasicComponent onResize={fn} />);
309
- const basic = wrapper.getDOMNode();
310
-
311
- // The mock class set the onResize property, we just have to run it to
312
- // simulate a resize
313
- ResizeObserver.onResize([
314
- {
315
- target: basic,
316
- contentRect: {
317
- width: 100,
318
- height: 100,
319
- },
320
- },
321
- ]);
322
- expect(fn).toHaveBeenCalledTimes(1);
323
- });
324
-
325
- test('set a style property on resize', () => {
326
- const spy = jest.spyOn(document.documentElement.style, 'setProperty');
327
- const wrapper = mount(<BasicComponent stylePropHeight="foo" />);
328
- const basic = wrapper.getDOMNode();
329
-
330
- // The mock class set the onResize property, we just have to run it to
331
- // simulate a resize
332
- ResizeObserver.onResize([
333
- {
334
- target: basic,
335
- contentRect: {
336
- width: 100,
337
- height: 100,
338
- },
339
- },
340
- ]);
341
- expect(spy).toHaveBeenCalledWith('foo', '7.68px');
342
- });
343
- });
344
- });
@@ -1 +0,0 @@
1
- export { default } from './ResizeHandler';
@@ -1,118 +0,0 @@
1
-
2
- The following example demonstrates the use of RouteSchedule.
3
-
4
- ```jsx
5
- import React, { useState, useEffect } from 'react';
6
- import { Layer, RealtimeLayer } from 'mobility-toolbox-js/ol';
7
- import Tile from 'ol/layer/Tile';
8
- import OSM from 'ol/source/OSM';
9
- import BasicMap from 'react-spatial/components/BasicMap';
10
- import RouteSchedule from 'react-spatial/components/RouteSchedule';
11
- import ToggleButton from '@material-ui/lab/ToggleButton';
12
- import { FaFilter } from 'react-icons/fa';
13
- import GpsFixedIcon from '@material-ui/icons/GpsFixed';
14
-
15
-
16
- // The `apiKey` used here is for demonstration purposes only.
17
- // Please get your own api key at https://developer.geops.io/.
18
- const trackerLayer = new RealtimeLayer({
19
- url: 'wss://tralis-tracker-api.geops.io/ws',
20
- apiKey: window.apiKey,
21
- });
22
-
23
- const layers = [
24
- new Layer({
25
- olLayer: new Tile({
26
- source: new OSM(),
27
- }),
28
- }),
29
- trackerLayer,
30
- ];
31
-
32
- let updateInterval;
33
-
34
-
35
- const getVehicleCoord = (routeIdentifier) => {
36
- console.log(trackerLayer.getVehicle);
37
- const [trajectory] = trackerLayer.getVehicle((traj) => {
38
- return traj.properties.route_identifier === routeIdentifier;
39
- });
40
- return trajectory && trajectory.properties.coordinate;
41
- };
42
-
43
- function RouteScheduleExample() {
44
- const [lineInfos, setLineInfos] = useState(null);
45
- const [filterActive, setFilterActive] = useState(false);
46
- const [followActive, setFollowActive] = useState(false);
47
- const [center, setCenter] = useState([951560, 6002550]);
48
-
49
- useEffect(()=> {
50
- trackerLayer.onClick(([feature])=> {
51
- if (feature) {
52
- const vehicleId = feature.get('train_id');
53
- trackerLayer.api.getStopSequence(vehicleId).then((stopSequence) => {
54
- setLineInfos(stopSequence.content[0]);
55
- });
56
- } else {
57
- setLineInfos();
58
- }
59
- });
60
- }, []);
61
-
62
- useEffect(()=> {
63
- trackerLayer.map.updateSize();
64
- }, [lineInfos]);
65
-
66
-
67
- return (
68
- <div className="rt-route-schedule-example">
69
- <RouteSchedule
70
- lineInfos={lineInfos}
71
- trackerLayer={trackerLayer}
72
- renderHeaderButtons={routeIdentifier => (
73
- <>
74
- <ToggleButton
75
- selected={filterActive}
76
- onClick={() => {
77
- if (!filterActive) {
78
- trackerLayer.filter = (trajectory) => {
79
- return trajectory.properties.route_identifier === routeIdentifier;
80
- };
81
- } else {
82
- trackerLayer.filter = null;
83
- }
84
- setFilterActive(!filterActive);
85
- }}>
86
- <FaFilter />
87
- </ToggleButton>
88
- <ToggleButton
89
- selected={followActive}
90
- onClick={() => {
91
- clearInterval(updateInterval);
92
- if (!followActive) {
93
- updateInterval = window.setInterval(() => {
94
- const coord = getVehicleCoord(routeIdentifier);
95
- if (coord) {
96
- setCenter(coord);
97
- }
98
- }, 50);
99
- }
100
- setFollowActive(!followActive);
101
- }}>
102
- <GpsFixedIcon />
103
- </ToggleButton>
104
- </>
105
- )}
106
- />
107
- <BasicMap
108
- center={center}
109
- zoom={15}
110
- layers={layers}
111
- tabIndex={0}
112
- />
113
- </div>
114
- );
115
- }
116
-
117
- <RouteScheduleExample />;
118
- ```