react-spatial 1.5.3 → 1.5.5

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 (282) hide show
  1. package/components/BaseLayerSwitcher/BaseLayerSwitcher.js +262 -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/{src/components → components}/BasicMap/BasicMap.js +80 -170
  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 +133 -278
  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/{src/components → components}/Copyright/Copyright.js +21 -41
  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 +80 -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/{src/components → components}/FitExtent/FitExtent.js +16 -30
  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 +60 -110
  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/{src/components → components}/LayerTree/LayerTree.js +113 -213
  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/{src/components → components}/MousePosition/MousePosition.js +37 -70
  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/{src/components → components}/NorthArrow/NorthArrow.js +18 -34
  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/{src/components → components}/Overlay/Overlay.js +59 -85
  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/{src/components → components}/Permalink/Permalink.js +64 -147
  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 +57 -116
  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 -49
  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 +268 -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/{src/components → components}/ScaleLine/ScaleLine.js +8 -23
  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/{src/components → components}/StopsFinder/StopsFinder.js +74 -103
  66. package/components/StopsFinder/StopsFinder.js.map +7 -0
  67. package/components/StopsFinder/StopsFinderOption.js +44 -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/{src/components → components}/Zoom/Zoom.js +46 -77
  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 +32 -31
  76. package/{src/propTypes.js → propTypes.js} +30 -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 +420 -0
  83. package/utils/KML.js.map +7 -0
  84. package/{src/utils → utils}/KMLFormat.js +29 -32
  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.test.js +0 -281
  120. package/src/components/BasicMap/README.md +0 -18
  121. package/src/components/BasicMap/index.js +0 -1
  122. package/src/components/CanvasSaveButton/CanvasSaveButton.test.js +0 -148
  123. package/src/components/CanvasSaveButton/README.md +0 -76
  124. package/src/components/CanvasSaveButton/__snapshots__/CanvasSaveButton.test.js.snap +0 -76
  125. package/src/components/CanvasSaveButton/index.js +0 -1
  126. package/src/components/Copyright/Copyright.test.js +0 -134
  127. package/src/components/Copyright/README.md +0 -36
  128. package/src/components/Copyright/index.js +0 -1
  129. package/src/components/FeatureExportButton/FeatureExportButton.js +0 -118
  130. package/src/components/FeatureExportButton/FeatureExportButton.test.js +0 -417
  131. package/src/components/FeatureExportButton/README.md +0 -76
  132. package/src/components/FeatureExportButton/__snapshots__/FeatureExportButton.test.js.snap +0 -67
  133. package/src/components/FeatureExportButton/index.js +0 -1
  134. package/src/components/FitExtent/FitExtent.test.js +0 -48
  135. package/src/components/FitExtent/README.md +0 -34
  136. package/src/components/FitExtent/__snapshots__/FitExtent.test.js.snap +0 -13
  137. package/src/components/FitExtent/index.js +0 -1
  138. package/src/components/Geolocation/Geolocation.test.js +0 -267
  139. package/src/components/Geolocation/README.md +0 -25
  140. package/src/components/Geolocation/__snapshots__/Geolocation.test.js.snap +0 -92
  141. package/src/components/Geolocation/index.js +0 -1
  142. package/src/components/LayerTree/LayerTree.test.js +0 -337
  143. package/src/components/LayerTree/README.md +0 -92
  144. package/src/components/LayerTree/__snapshots__/LayerTree.test.js.snap +0 -1746
  145. package/src/components/LayerTree/index.js +0 -1
  146. package/src/components/MousePosition/MousePosition.test.js +0 -132
  147. package/src/components/MousePosition/README.md +0 -50
  148. package/src/components/MousePosition/__snapshots__/MousePosition.test.js.snap +0 -76
  149. package/src/components/MousePosition/index.js +0 -1
  150. package/src/components/NorthArrow/NorthArrow.test.js +0 -104
  151. package/src/components/NorthArrow/README.md +0 -59
  152. package/src/components/NorthArrow/__snapshots__/NorthArrow.test.js.snap +0 -117
  153. package/src/components/NorthArrow/index.js +0 -1
  154. package/src/components/Overlay/Overlay.test.js +0 -149
  155. package/src/components/Overlay/README.md +0 -59
  156. package/src/components/Overlay/__snapshots__/Overlay.test.js.snap +0 -9
  157. package/src/components/Overlay/index.js +0 -1
  158. package/src/components/Permalink/Permalink.test.js +0 -285
  159. package/src/components/Permalink/README.md +0 -105
  160. package/src/components/Permalink/index.js +0 -1
  161. package/src/components/Popup/Popup.test.js +0 -307
  162. package/src/components/Popup/README.md +0 -93
  163. package/src/components/Popup/__snapshots__/Popup.test.js.snap +0 -180
  164. package/src/components/Popup/index.js +0 -1
  165. package/src/components/README.md +0 -41
  166. package/src/components/ResizeHandler/ResizeHandler.test.js +0 -344
  167. package/src/components/ResizeHandler/index.js +0 -1
  168. package/src/components/RouteSchedule/README.md +0 -118
  169. package/src/components/RouteSchedule/RouteSchedule.js +0 -370
  170. package/src/components/RouteSchedule/RouteSchedule.test.js +0 -113
  171. package/src/components/RouteSchedule/__snapshots__/RouteSchedule.test.js.snap +0 -248
  172. package/src/components/RouteSchedule/index.js +0 -1
  173. package/src/components/ScaleLine/README.md +0 -29
  174. package/src/components/ScaleLine/ScaleLine.test.js +0 -30
  175. package/src/components/ScaleLine/__snapshots__/ScaleLine.test.js.snap +0 -7
  176. package/src/components/ScaleLine/index.js +0 -1
  177. package/src/components/StopsFinder/README.md +0 -50
  178. package/src/components/StopsFinder/StopsFinder.test.js +0 -17
  179. package/src/components/StopsFinder/StopsFinderOption.js +0 -61
  180. package/src/components/StopsFinder/__snapshots__/StopsFinder.test.js.snap +0 -133
  181. package/src/components/StopsFinder/index.js +0 -1
  182. package/src/components/Zoom/README.md +0 -25
  183. package/src/components/Zoom/Zoom.test.js +0 -141
  184. package/src/components/Zoom/__snapshots__/Zoom.test.js.snap +0 -201
  185. package/src/components/Zoom/index.js +0 -1
  186. package/src/styleguidist/ComponentsList.js +0 -52
  187. package/src/styleguidist/StyleGuide.js +0 -277
  188. package/src/styleguidist/styleguidist.css +0 -38
  189. package/src/utils/GlobalsForOle.js +0 -99
  190. package/src/utils/KML.js +0 -594
  191. package/src/utils/KML.test.js +0 -337
  192. package/src/utils/KMLFormat.test.js +0 -50
  193. 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
  194. package/src/utils/__snapshots__/getPolygonPattern.test.js.snap.getPolygonPattern()-render-pattern-2-(cross)-color-and-(light-blue)-opacity.canvas-image.png +0 -0
  195. 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
  196. 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
  197. package/src/utils/getPolygonPattern.test.js +0 -61
  198. package/src/utils/timeUtils.test.js +0 -30
  199. package/styleguide.config.js +0 -251
  200. /package/{src/components → components}/BaseLayerSwitcher/BaseLayerSwitcher.md.scss +0 -0
  201. /package/{src/components → components}/BaseLayerSwitcher/BaseLayerSwitcher.scss +0 -0
  202. /package/{src/components → components}/BasicMap/BasicMap.md.scss +0 -0
  203. /package/{src/components → components}/CanvasSaveButton/CanvasSaveButton.md.scss +0 -0
  204. /package/{src/components → components}/Copyright/Copyright.md.scss +0 -0
  205. /package/{src/components → components}/FeatureExportButton/FeatureExportButton.md.scss +0 -0
  206. /package/{src/components → components}/FitExtent/FitExtent.md.scss +0 -0
  207. /package/{src/components → components}/Geolocation/Geolocation.md.scss +0 -0
  208. /package/{src/components → components}/Geolocation/Geolocation.scss +0 -0
  209. /package/{src/components → components}/LayerTree/LayerTree.md.scss +0 -0
  210. /package/{src/components → components}/LayerTree/LayerTree.scss +0 -0
  211. /package/{src/components → components}/MousePosition/MousePosition.md.scss +0 -0
  212. /package/{src/components → components}/NorthArrow/NorthArrow.scss +0 -0
  213. /package/{src/components → components}/Overlay/Overlay.md.scss +0 -0
  214. /package/{src/components → components}/Overlay/Overlay.scss +0 -0
  215. /package/{src/components → components}/Permalink/Permalink.md.scss +0 -0
  216. /package/{src/components → components}/Popup/Popup.md.scss +0 -0
  217. /package/{src/components → components}/Popup/Popup.scss +0 -0
  218. /package/{src/components → components}/RouteSchedule/RouteSchedule.md.scss +0 -0
  219. /package/{src/components → components}/RouteSchedule/RouteSchedule.scss +0 -0
  220. /package/{src/components → components}/ScaleLine/ScaleLine.scss +0 -0
  221. /package/{src/components → components}/Zoom/Zoom.md.scss +0 -0
  222. /package/{src/components → components}/Zoom/Zoom.scss +0 -0
  223. /package/{src/images → images}/RouteSchedule/firstStation.png +0 -0
  224. /package/{src/images → images}/RouteSchedule/lastStation.png +0 -0
  225. /package/{src/images → images}/RouteSchedule/line.png +0 -0
  226. /package/{src/images → images}/RouteSchedule/station.png +0 -0
  227. /package/{src/images → images}/baselayer/baselayer.basebright.png +0 -0
  228. /package/{src/images → images}/baselayer/baselayer.osm.png +0 -0
  229. /package/{src/images → images}/baselayer/baselayer.travic.png +0 -0
  230. /package/{src/images → images}/baselayer/open.topo.map.png +0 -0
  231. /package/{src/images → images}/baselayer/osm.baselayer.hot.png +0 -0
  232. /package/{src/images → images}/baselayer/osm.baselayer.png +0 -0
  233. /package/{src/images → images}/favicon.png +0 -0
  234. /package/{src/images → images}/geops_logo.png +0 -0
  235. /package/{src/images → images}/geops_logo.svg +0 -0
  236. /package/{src/images → images}/geops_qr.png +0 -0
  237. /package/{src/images → images}/mots/bus_poi-blue-01.svg +0 -0
  238. /package/{src/images → images}/mots/bus_poi-grey-01.svg +0 -0
  239. /package/{src/images → images}/mots/bus_round-blue-01.svg +0 -0
  240. /package/{src/images → images}/mots/bus_round-grey-01.svg +0 -0
  241. /package/{src/images → images}/mots/bus_square-blue-01.svg +0 -0
  242. /package/{src/images → images}/mots/bus_square-grey-01.svg +0 -0
  243. /package/{src/images → images}/mots/cable_car_poi-blue-01.svg +0 -0
  244. /package/{src/images → images}/mots/cable_car_poi-grey-01.svg +0 -0
  245. /package/{src/images → images}/mots/cable_car_round-blue-01.svg +0 -0
  246. /package/{src/images → images}/mots/cable_car_round-grey-01.svg +0 -0
  247. /package/{src/images → images}/mots/cable_car_square-blue-01.svg +0 -0
  248. /package/{src/images → images}/mots/cable_car_square-grey-01.svg +0 -0
  249. /package/{src/images → images}/mots/ferry_poi-blue-01.svg +0 -0
  250. /package/{src/images → images}/mots/ferry_poi-grey-01.svg +0 -0
  251. /package/{src/images → images}/mots/ferry_round-blue-01.svg +0 -0
  252. /package/{src/images → images}/mots/ferry_round-grey-01.svg +0 -0
  253. /package/{src/images → images}/mots/ferry_square-blue-01.svg +0 -0
  254. /package/{src/images → images}/mots/ferry_square-grey-01.svg +0 -0
  255. /package/{src/images → images}/mots/funicular_round-blue-01.svg +0 -0
  256. /package/{src/images → images}/mots/funicular_round-grey-01.svg +0 -0
  257. /package/{src/images → images}/mots/funicular_square-blue-01.svg +0 -0
  258. /package/{src/images → images}/mots/gondola_round-blue-01.svg +0 -0
  259. /package/{src/images → images}/mots/rail_poi-blue-01.svg +0 -0
  260. /package/{src/images → images}/mots/rail_poi-grey-01.svg +0 -0
  261. /package/{src/images → images}/mots/rail_round-blue-01.svg +0 -0
  262. /package/{src/images → images}/mots/rail_round-grey-01.svg +0 -0
  263. /package/{src/images → images}/mots/rail_square-blue-01.svg +0 -0
  264. /package/{src/images → images}/mots/rail_square-grey-01.svg +0 -0
  265. /package/{src/images → images}/mots/subway_round blue-01.svg +0 -0
  266. /package/{src/images → images}/mots/subway_round-blue-01.svg +0 -0
  267. /package/{src/images → images}/mots/tram_poi-blue-01.svg +0 -0
  268. /package/{src/images → images}/mots/tram_poi-grey-01.svg +0 -0
  269. /package/{src/images → images}/mots/tram_round-blue-01.svg +0 -0
  270. /package/{src/images → images}/mots/tram_round-grey-01.svg +0 -0
  271. /package/{src/images → images}/mots/tram_square-blue-01.svg +0 -0
  272. /package/{src/images → images}/mots/tram_square-grey-01.svg +0 -0
  273. /package/{src/images → images}/northArrow.svg +0 -0
  274. /package/{src/images → images}/northArrow.url.svg +0 -0
  275. /package/{src/images → images}/northArrowCircle.svg +0 -0
  276. /package/{src/images → images}/northArrowCircle.url.svg +0 -0
  277. /package/{src/themes → themes}/README.md +0 -0
  278. /package/{src/themes → themes}/default/components.scss +0 -0
  279. /package/{src/themes → themes}/default/examples.scss +0 -0
  280. /package/{src/themes → themes}/default/index.scss +0 -0
  281. /package/{src/themes → themes}/default/mixins.scss +0 -0
  282. /package/{src/themes → themes}/default/variables.scss +0 -0
@@ -1,141 +0,0 @@
1
- import React from 'react';
2
- import renderer from 'react-test-renderer';
3
- import { configure, shallow, mount } from 'enzyme';
4
- import Adapter from '@cfaester/enzyme-adapter-react-18';
5
- import { act } from 'react-dom/test-utils';
6
- import MapEvent from 'ol/MapEvent';
7
- import OLView from 'ol/View';
8
- import OLMap from 'ol/Map';
9
- import Zoom from './Zoom';
10
-
11
- configure({ adapter: new Adapter() });
12
-
13
- describe('Zoom', () => {
14
- test('should match snapshot.', () => {
15
- const map = new OLMap({});
16
- const component = renderer.create(<Zoom map={map} />);
17
- const tree = component.toJSON();
18
- expect(tree).toMatchSnapshot();
19
- });
20
-
21
- test('should match snapshot with custom attributes', () => {
22
- const map = new OLMap({});
23
- const component = renderer.create(
24
- <Zoom map={map} className="foo" tabIndex={-1} title="bar" />,
25
- );
26
- const tree = component.toJSON();
27
- expect(tree).toMatchSnapshot();
28
- });
29
-
30
- test('should match snapshot with zoom slider', () => {
31
- const map = new OLMap({});
32
- const component = renderer.create(<Zoom map={map} zoomSlider />);
33
- const tree = component.toJSON();
34
- expect(tree).toMatchSnapshot();
35
- });
36
-
37
- [
38
- ['click', {}],
39
- ['keypress', { which: 13 }],
40
- ].forEach((evt) => {
41
- test(`should zoom in on ${evt[0]}.`, () => {
42
- const map = new OLMap({ view: new OLView({ zoom: 5 }) });
43
- const zooms = shallow(<Zoom map={map} />);
44
- zooms
45
- .find('.rs-zoom-in')
46
- .first()
47
- .simulate(...evt);
48
-
49
- expect(map.getView().getZoom()).toBe(6);
50
- });
51
-
52
- test(`should zoom in on ${evt[0]} (delta: 0.3).`, () => {
53
- const map = new OLMap({ view: new OLView({ zoom: 5 }) });
54
- const zooms = shallow(<Zoom map={map} delta={0.3} />);
55
- zooms
56
- .find('.rs-zoom-in')
57
- .first()
58
- .simulate(...evt);
59
-
60
- expect(map.getView().getZoom()).toBe(5.3);
61
- });
62
-
63
- test(`should zoom out on ${evt[0]}.`, () => {
64
- const map = new OLMap({ view: new OLView({ zoom: 5 }) });
65
- const zooms = shallow(<Zoom map={map} />);
66
- zooms
67
- .find('.rs-zoom-out')
68
- .first()
69
- .simulate(...evt);
70
-
71
- expect(map.getView().getZoom()).toBe(4);
72
- });
73
-
74
- test(`should zoom out on ${evt[0]} (delta: 0.3).`, () => {
75
- const map = new OLMap({ view: new OLView({ zoom: 5 }) });
76
- const zooms = shallow(<Zoom map={map} delta={0.3} />);
77
- zooms
78
- .find('.rs-zoom-out')
79
- .first()
80
- .simulate(...evt);
81
-
82
- expect(map.getView().getZoom()).toBe(4.7);
83
- });
84
- });
85
-
86
- test('should remove zoomSlider control on unmount.', () => {
87
- const map = new OLMap({});
88
- const spy = jest.spyOn(map, 'removeControl');
89
- const spy2 = jest.spyOn(map, 'addControl');
90
- const wrapper = mount(<Zoom map={map} zoomSlider />);
91
- expect(spy).toHaveBeenCalledTimes(0);
92
- wrapper.unmount();
93
- expect(spy).toHaveBeenCalledTimes(1);
94
- expect(spy.mock.calls[0][0]).toBe(spy2.mock.calls[0][0]);
95
- });
96
-
97
- test('should disable zoom-in button on mount with max zoom..', () => {
98
- const map = new OLMap({
99
- view: new OLView({ maxZoom: 20, zoom: 20 }),
100
- });
101
- const spy = jest.spyOn(map.getView(), 'setZoom');
102
- const wrapper = mount(<Zoom map={map} />);
103
- act(() => {
104
- map.dispatchEvent(new MapEvent('moveend', map));
105
- });
106
- wrapper.update();
107
- expect(wrapper.find('.rs-zoom-in').prop('disabled')).toEqual(true);
108
- wrapper.find('.rs-zoom-in').first().simulate('click');
109
- expect(spy).toHaveBeenCalledTimes(0);
110
- });
111
-
112
- test('should disable zoom-out button on mount with min zoom.', () => {
113
- const map = new OLMap({
114
- view: new OLView({ minZoom: 2, zoom: 2 }),
115
- });
116
- const spy = jest.spyOn(map.getView(), 'setZoom');
117
- const wrapper = mount(<Zoom map={map} />);
118
- act(() => {
119
- map.dispatchEvent(new MapEvent('moveend', map));
120
- });
121
- wrapper.update();
122
- expect(wrapper.find('.rs-zoom-out').prop('disabled')).toEqual(true);
123
- wrapper.find('.rs-zoom-out').first().simulate('click');
124
- expect(spy).toHaveBeenCalledTimes(0);
125
- });
126
- });
127
-
128
- test('should disable zoom-out button when reaching min zoom.', () => {
129
- const map = new OLMap({
130
- view: new OLView({ minZoom: 2, zoom: 3 }),
131
- });
132
- const spy = jest.spyOn(map.getView(), 'setZoom');
133
- const wrapper = mount(<Zoom map={map} />);
134
- wrapper.find('.rs-zoom-out').first().simulate('click');
135
- expect(spy).toHaveBeenCalledTimes(1);
136
- act(() => {
137
- map.dispatchEvent(new MapEvent('moveend', map));
138
- });
139
- wrapper.update();
140
- expect(wrapper.find('.rs-zoom-out').prop('disabled')).toEqual(true);
141
- });
@@ -1,201 +0,0 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`Zoom should match snapshot with custom attributes 1`] = `
4
- <div
5
- className="foo"
6
- tabIndex={-1}
7
- title="bar"
8
- >
9
- <button
10
- className="rs-zoom-in"
11
- disabled={false}
12
- onClick={[Function]}
13
- onKeyPress={[Function]}
14
- tabIndex={0}
15
- title="Zoom in"
16
- type="button"
17
- >
18
- <svg
19
- fill="currentColor"
20
- focusable={false}
21
- height="1em"
22
- stroke="currentColor"
23
- strokeWidth="0"
24
- style={
25
- {
26
- "color": undefined,
27
- }
28
- }
29
- viewBox="0 0 448 512"
30
- width="1em"
31
- xmlns="http://www.w3.org/2000/svg"
32
- >
33
- <path
34
- d="M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z"
35
- />
36
- </svg>
37
- </button>
38
- <button
39
- className="rs-zoom-out"
40
- disabled={false}
41
- onClick={[Function]}
42
- onKeyPress={[Function]}
43
- tabIndex={0}
44
- title="Zoom out"
45
- type="button"
46
- >
47
- <svg
48
- fill="currentColor"
49
- focusable={false}
50
- height="1em"
51
- stroke="currentColor"
52
- strokeWidth="0"
53
- style={
54
- {
55
- "color": undefined,
56
- }
57
- }
58
- viewBox="0 0 448 512"
59
- width="1em"
60
- xmlns="http://www.w3.org/2000/svg"
61
- >
62
- <path
63
- d="M416 208H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z"
64
- />
65
- </svg>
66
- </button>
67
- </div>
68
- `;
69
-
70
- exports[`Zoom should match snapshot with zoom slider 1`] = `
71
- <div
72
- className="rs-zooms-bar"
73
- >
74
- <button
75
- className="rs-zoom-in"
76
- disabled={false}
77
- onClick={[Function]}
78
- onKeyPress={[Function]}
79
- tabIndex={0}
80
- title="Zoom in"
81
- type="button"
82
- >
83
- <svg
84
- fill="currentColor"
85
- focusable={false}
86
- height="1em"
87
- stroke="currentColor"
88
- strokeWidth="0"
89
- style={
90
- {
91
- "color": undefined,
92
- }
93
- }
94
- viewBox="0 0 448 512"
95
- width="1em"
96
- xmlns="http://www.w3.org/2000/svg"
97
- >
98
- <path
99
- d="M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z"
100
- />
101
- </svg>
102
- </button>
103
- <div
104
- className="rs-zoomslider-wrapper"
105
- />
106
- <button
107
- className="rs-zoom-out"
108
- disabled={false}
109
- onClick={[Function]}
110
- onKeyPress={[Function]}
111
- tabIndex={0}
112
- title="Zoom out"
113
- type="button"
114
- >
115
- <svg
116
- fill="currentColor"
117
- focusable={false}
118
- height="1em"
119
- stroke="currentColor"
120
- strokeWidth="0"
121
- style={
122
- {
123
- "color": undefined,
124
- }
125
- }
126
- viewBox="0 0 448 512"
127
- width="1em"
128
- xmlns="http://www.w3.org/2000/svg"
129
- >
130
- <path
131
- d="M416 208H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z"
132
- />
133
- </svg>
134
- </button>
135
- </div>
136
- `;
137
-
138
- exports[`Zoom should match snapshot. 1`] = `
139
- <div
140
- className="rs-zooms-bar"
141
- >
142
- <button
143
- className="rs-zoom-in"
144
- disabled={false}
145
- onClick={[Function]}
146
- onKeyPress={[Function]}
147
- tabIndex={0}
148
- title="Zoom in"
149
- type="button"
150
- >
151
- <svg
152
- fill="currentColor"
153
- focusable={false}
154
- height="1em"
155
- stroke="currentColor"
156
- strokeWidth="0"
157
- style={
158
- {
159
- "color": undefined,
160
- }
161
- }
162
- viewBox="0 0 448 512"
163
- width="1em"
164
- xmlns="http://www.w3.org/2000/svg"
165
- >
166
- <path
167
- d="M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z"
168
- />
169
- </svg>
170
- </button>
171
- <button
172
- className="rs-zoom-out"
173
- disabled={false}
174
- onClick={[Function]}
175
- onKeyPress={[Function]}
176
- tabIndex={0}
177
- title="Zoom out"
178
- type="button"
179
- >
180
- <svg
181
- fill="currentColor"
182
- focusable={false}
183
- height="1em"
184
- stroke="currentColor"
185
- strokeWidth="0"
186
- style={
187
- {
188
- "color": undefined,
189
- }
190
- }
191
- viewBox="0 0 448 512"
192
- width="1em"
193
- xmlns="http://www.w3.org/2000/svg"
194
- >
195
- <path
196
- d="M416 208H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z"
197
- />
198
- </svg>
199
- </button>
200
- </div>
201
- `;
@@ -1 +0,0 @@
1
- export { default } from './Zoom';
@@ -1,52 +0,0 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- // Import default implementation from react-styleguidist using the full path
4
- import ComponentsListRenderer from 'react-styleguidist/lib/client/rsg-components/ComponentsList/ComponentsListRenderer';
5
- import getUrl from 'react-styleguidist/lib/client/utils/getUrl';
6
-
7
- const propTypes = {
8
- items: PropTypes.array.isRequired,
9
- classes: PropTypes.object,
10
- hashPath: PropTypes.array,
11
- useRouterLinks: PropTypes.bool,
12
- useHashId: PropTypes.bool,
13
- };
14
-
15
- const defaultProps = {
16
- classes: null,
17
- hashPath: [],
18
- useRouterLinks: false,
19
- useHashId: true,
20
- };
21
-
22
- function ComponentsList({
23
- classes,
24
- items,
25
- useRouterLinks = false,
26
- useHashId,
27
- hashPath,
28
- }) {
29
- const mappedItems = items.map((item) => {
30
- return {
31
- ...item,
32
- href: item.href
33
- ? item.href
34
- : // Conflict with Permalink Component: Remove the first '/' to avoid page reload on click
35
- getUrl({
36
- name: item.name,
37
- slug: item.slug,
38
- anchor: !useRouterLinks,
39
- hashPath: useRouterLinks ? hashPath : false,
40
- id: useRouterLinks ? useHashId : false,
41
- })
42
- .replace(/^\/index.html+/g, '')
43
- .replace(/^\/+/g, ''),
44
- };
45
- });
46
- return <ComponentsListRenderer classes={classes} items={mappedItems} />;
47
- }
48
-
49
- ComponentsList.propTypes = propTypes;
50
- ComponentsList.defaultProps = defaultProps;
51
-
52
- export default ComponentsList;
@@ -1,277 +0,0 @@
1
- /* eslint-disable import/no-unresolved */
2
- import React, { useEffect, useState, useRef } from 'react';
3
- import PropTypes from 'prop-types';
4
- import { geopsTheme, Header, Footer } from '@geops/geops-ui';
5
- import {
6
- Hidden,
7
- ClickAwayListener,
8
- Collapse,
9
- List,
10
- ListItem,
11
- Link,
12
- } from '@material-ui/core';
13
- import Open from '@material-ui/icons/ArrowDropDownTwoTone';
14
- import Close from '@material-ui/icons/ArrowDropUpTwoTone';
15
- import { ThemeProvider } from '@material-ui/core/styles';
16
- import Version from 'react-styleguidist/lib/client/rsg-components/Version';
17
- import Styled from 'react-styleguidist/lib/client/rsg-components/Styled';
18
- import docConfig from '../../doc/doc-config.json';
19
-
20
- const styles = ({ mq }) => {
21
- return {
22
- root: {
23
- backgroundColor: 'white',
24
-
25
- '& .MuiAutocomplete-root': {
26
- margin: '20px 0',
27
- width: 300,
28
- },
29
- },
30
- version: {
31
- padding: '10px 0 0 10px',
32
- },
33
- content: {
34
- top: 68,
35
- bottom: 0,
36
- height: 'calc(100vh - 60px)',
37
- position: 'fixed',
38
- width: '100%',
39
- zIndex: 0,
40
- },
41
- scrollable: {
42
- overflowY: 'scroll',
43
- height: 'calc(100vh - 68px)',
44
- [mq.small]: {
45
- top: 40,
46
- position: 'absolute',
47
- width: '100%',
48
- height: 'calc(100vh - 108px)',
49
- },
50
- },
51
- main: {
52
- margin: 'auto',
53
- width: 'calc(100vw - 30px)',
54
- maxWidth: 1000,
55
- padding: [[15, 30]],
56
- paddingLeft: 230,
57
- paddingTop: 55,
58
- [mq.small]: {
59
- padding: 5,
60
- },
61
- display: 'block',
62
- },
63
- sidebar: {
64
- backgroundColor: '#EFEFEF',
65
- border: '#e8e8e8 solid',
66
- borderWidth: '0 1px 0 0',
67
- position: 'fixed',
68
- top: 68,
69
- left: 0,
70
- bottom: 0,
71
- width: '200px',
72
- overflow: 'auto',
73
- },
74
- dropdown: {
75
- display: 'flex',
76
- alignItems: 'center',
77
- justifyContent: 'space-between',
78
- padding: '0 10px 0',
79
- position: 'fixed',
80
- backgroundColor: '#efefef',
81
- height: 40,
82
- width: '100%',
83
- zIndex: 99999,
84
- color: '#6987a1',
85
- borderBottom: '1px solid #6987a1',
86
- },
87
- footerWrapper: {
88
- marginLeft: 200,
89
- [mq.small]: {
90
- marginLeft: 0,
91
- },
92
- },
93
- };
94
- };
95
-
96
- export function StyleGuideRenderer({
97
- classes,
98
- children,
99
- version,
100
- toc,
101
- hasSidebar,
102
- }) {
103
- const [apiKey, setApiKey] = useState();
104
- const [dropdownOpen, toggleDropdown] = useState(false);
105
- const [expanded, expandSection] = useState();
106
- const [selected, setSelected] = useState('Components');
107
- const ref = useRef();
108
- useEffect(() => {
109
- fetch('https://backend.developer.geops.io/publickey')
110
- .then((response) => {
111
- return response.json();
112
- })
113
- .then((data) => {
114
- setApiKey(data.key);
115
- })
116
- .catch(() => {
117
- setApiKey('error');
118
- // eslint-disable-next-line no-console
119
- console.error('Request to get the apiKey failed');
120
- });
121
- }, []);
122
-
123
- if (!apiKey) {
124
- return null;
125
- }
126
-
127
- // Makes apiKey accessible for all components.
128
- window.apiKey = apiKey;
129
-
130
- return (
131
- <ThemeProvider theme={geopsTheme}>
132
- <div className={classes.root}>
133
- <Header
134
- title={docConfig.appName}
135
- tabs={[{ label: 'Code', href: `${docConfig.githubRepo}` }]}
136
- />
137
- <div className={classes.content}>
138
- <Hidden smUp>
139
- <div
140
- role="button"
141
- type="button"
142
- className={classes.dropdown}
143
- onClick={() => {
144
- return toggleDropdown(!dropdownOpen);
145
- }}
146
- onKeyDown={(e) => {
147
- if (e.keyCode === 13) {
148
- toggleDropdown(!dropdownOpen);
149
- }
150
- }}
151
- tabIndex={0}
152
- >
153
- {selected}
154
- {dropdownOpen ? <Close /> : <Open />}
155
- </div>
156
- <Collapse in={dropdownOpen} timeout="auto" unmountOnExit>
157
- <ClickAwayListener
158
- onClickAway={() => {
159
- return toggleDropdown(false);
160
- }}
161
- >
162
- <List
163
- component="div"
164
- disablePadding
165
- style={{
166
- width: '100%',
167
- overflow: 'auto',
168
- maxHeight: 'calc(100vh - 150px)',
169
- top: 40,
170
- backgroundColor: 'white',
171
- boxShadow: '0 10px 15px #35353520',
172
- zIndex: 99999,
173
- }}
174
- >
175
- {toc.props.sections.slice(1).map((section) => {
176
- return [
177
- <ListItem
178
- key={section.name}
179
- button
180
- onClick={() => {
181
- return expanded === section.name
182
- ? expandSection()
183
- : expandSection(section.name);
184
- }}
185
- style={{
186
- fontWeight: 'bold',
187
- color: '#6987a1',
188
- borderTop: '1px solid #e8e8e8',
189
- }}
190
- >
191
- {section.name}
192
- </ListItem>,
193
- <Collapse
194
- key={`${section.name}-components`}
195
- in={expanded === section.name}
196
- timeout="auto"
197
- unmountOnExit
198
- >
199
- {section.components.map((component) => {
200
- return (
201
- <ListItem
202
- key={component.name}
203
- button
204
- style={{ paddingLeft: 32 }}
205
- onClick={() => {
206
- setSelected(component.name);
207
- toggleDropdown(false);
208
- }}
209
- tabIndex={-1}
210
- selected={selected === component.name}
211
- >
212
- <Link
213
- style={{ display: 'block', width: '100%' }}
214
- href={`#${component.name.toLowerCase()}`}
215
- >
216
- {component.name}
217
- </Link>
218
- </ListItem>
219
- );
220
- })}
221
- </Collapse>,
222
- ];
223
- })}
224
- </List>
225
- </ClickAwayListener>
226
- </Collapse>
227
- </Hidden>
228
- <div className={classes.scrollable} ref={ref}>
229
- <Hidden xsDown>
230
- <div className={classes.sidebar}>
231
- <header className={classes.version}>
232
- {version && <Version>{version}</Version>}
233
- </header>
234
- {hasSidebar ? toc : null}
235
- </div>
236
- </Hidden>
237
- <main className={classes.main}>{children}</main>
238
- <div className={classes.footerWrapper}>
239
- <Footer
240
- onScrollToTop={() => {
241
- ref.current.scrollTo({
242
- top: 0,
243
- left: 0,
244
- behavior: 'smooth',
245
- });
246
- }}
247
- />
248
- </div>
249
- </div>
250
- </div>
251
- <div id="promo">
252
- <a
253
- href={docConfig.githubRepo}
254
- target="_blank"
255
- rel="noopener noreferrer"
256
- >
257
- <div id="promo-text">Fork me on GitHub</div>
258
- </a>
259
- </div>
260
- </div>
261
- </ThemeProvider>
262
- );
263
- }
264
-
265
- StyleGuideRenderer.defaultProps = {
266
- version: null,
267
- };
268
-
269
- StyleGuideRenderer.propTypes = {
270
- classes: PropTypes.object.isRequired,
271
- children: PropTypes.node.isRequired,
272
- version: PropTypes.string,
273
- toc: PropTypes.node.isRequired,
274
- hasSidebar: PropTypes.bool.isRequired,
275
- };
276
-
277
- export default Styled(styles)(StyleGuideRenderer);
@@ -1,38 +0,0 @@
1
- /* Overwrtie styleguidist styles */
2
-
3
- .link-active {
4
- font-weight: bold !important;
5
- }
6
-
7
- header a:hover {
8
- text-decoration: none;
9
- color: inherit;
10
- }
11
-
12
- #promo {
13
- position: fixed;
14
- bottom: 55px;
15
- background-color: #e90;
16
- right: -65px;
17
- transform: rotate(-45deg);
18
- z-index: 1;
19
- line-height: 1.2;
20
- }
21
-
22
- #promo-text {
23
- color: white;
24
- font-size: 14px;
25
- font-family: sans-serif;
26
- font-weight: bold;
27
- margin: 0;
28
- padding: 3px 70px;
29
- }
30
-
31
- #promo a,
32
- #promo a:hover {
33
- text-decoration: none;
34
- }
35
-
36
- footer {
37
- position: relative !important;
38
- }