react-spatial 1.2.2 → 1.2.3-beta.3

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 (186) hide show
  1. package/LayerService.js +128 -184
  2. package/LayerService.js.map +7 -1
  3. package/components/BaseLayerSwitcher/BaseLayerSwitcher.js +163 -221
  4. package/components/BaseLayerSwitcher/BaseLayerSwitcher.js.map +7 -1
  5. package/components/BaseLayerSwitcher/index.js +1 -3
  6. package/components/BaseLayerSwitcher/index.js.map +7 -1
  7. package/components/BasicMap/BasicMap.js +147 -285
  8. package/components/BasicMap/BasicMap.js.map +7 -1
  9. package/components/BasicMap/index.js +1 -3
  10. package/components/BasicMap/index.js.map +7 -1
  11. package/components/CanvasSaveButton/CanvasSaveButton.js +165 -419
  12. package/components/CanvasSaveButton/CanvasSaveButton.js.map +7 -1
  13. package/components/CanvasSaveButton/index.js +1 -3
  14. package/components/CanvasSaveButton/index.js.map +7 -1
  15. package/components/Copyright/Copyright.js +29 -70
  16. package/components/Copyright/Copyright.js.map +7 -1
  17. package/components/Copyright/index.js +1 -3
  18. package/components/Copyright/index.js.map +7 -1
  19. package/components/FeatureExportButton/FeatureExportButton.js +40 -106
  20. package/components/FeatureExportButton/FeatureExportButton.js.map +7 -1
  21. package/components/FeatureExportButton/index.js +1 -3
  22. package/components/FeatureExportButton/index.js.map +7 -1
  23. package/components/FilterButton/FilterButton.js +41 -106
  24. package/components/FilterButton/FilterButton.js.map +7 -1
  25. package/components/FilterButton/index.js +1 -3
  26. package/components/FilterButton/index.js.map +7 -1
  27. package/components/FitExtent/FitExtent.js +17 -50
  28. package/components/FitExtent/FitExtent.js.map +7 -1
  29. package/components/FitExtent/index.js +1 -3
  30. package/components/FitExtent/index.js.map +7 -1
  31. package/components/FollowButton/FollowButton.js +41 -111
  32. package/components/FollowButton/FollowButton.js.map +7 -1
  33. package/components/FollowButton/index.js +1 -3
  34. package/components/FollowButton/index.js.map +7 -1
  35. package/components/Geolocation/Geolocation.js +104 -213
  36. package/components/Geolocation/Geolocation.js.map +7 -1
  37. package/components/Geolocation/index.js +1 -3
  38. package/components/Geolocation/index.js.map +7 -1
  39. package/components/LayerTree/LayerTree.js +204 -410
  40. package/components/LayerTree/LayerTree.js.map +7 -1
  41. package/components/LayerTree/index.js +1 -3
  42. package/components/LayerTree/index.js.map +7 -1
  43. package/components/MousePosition/MousePosition.js +61 -130
  44. package/components/MousePosition/MousePosition.js.map +7 -1
  45. package/components/MousePosition/index.js +1 -3
  46. package/components/MousePosition/index.js.map +7 -1
  47. package/components/NorthArrow/NorthArrow.js +22 -62
  48. package/components/NorthArrow/NorthArrow.js.map +7 -1
  49. package/components/NorthArrow/index.js +1 -3
  50. package/components/NorthArrow/index.js.map +7 -1
  51. package/components/Overlay/Overlay.js +83 -130
  52. package/components/Overlay/Overlay.js.map +7 -1
  53. package/components/Overlay/index.js +1 -3
  54. package/components/Overlay/index.js.map +7 -1
  55. package/components/Permalink/Permalink.js +150 -244
  56. package/components/Permalink/Permalink.js.map +7 -1
  57. package/components/Permalink/index.js +1 -3
  58. package/components/Permalink/index.js.map +7 -1
  59. package/components/Popup/Popup.js +106 -233
  60. package/components/Popup/Popup.js.map +7 -1
  61. package/components/Popup/index.js +1 -3
  62. package/components/Popup/index.js.map +7 -1
  63. package/components/ResizeHandler/ResizeHandler.js +58 -113
  64. package/components/ResizeHandler/ResizeHandler.js.map +7 -1
  65. package/components/ResizeHandler/index.js +1 -3
  66. package/components/ResizeHandler/index.js.map +7 -1
  67. package/components/RouteSchedule/RouteSchedule.js +150 -283
  68. package/components/RouteSchedule/RouteSchedule.js.map +7 -1
  69. package/components/RouteSchedule/index.js +1 -3
  70. package/components/RouteSchedule/index.js.map +7 -1
  71. package/components/ScaleLine/ScaleLine.js +21 -45
  72. package/components/ScaleLine/ScaleLine.js.map +7 -1
  73. package/components/ScaleLine/index.js +1 -3
  74. package/components/ScaleLine/index.js.map +7 -1
  75. package/components/Search/Search.js +122 -186
  76. package/components/Search/Search.js.map +7 -1
  77. package/components/Search/SearchService.js +45 -69
  78. package/components/Search/SearchService.js.map +7 -1
  79. package/components/Search/engines/Engine.js +18 -25
  80. package/components/Search/engines/Engine.js.map +7 -1
  81. package/components/Search/engines/StopFinder.js +21 -38
  82. package/components/Search/engines/StopFinder.js.map +7 -1
  83. package/components/Search/index.js +3 -6
  84. package/components/Search/index.js.map +7 -1
  85. package/components/StopsFinder/StopsFinder.js +123 -174
  86. package/components/StopsFinder/StopsFinder.js.map +7 -1
  87. package/components/StopsFinder/StopsFinderOption.js +37 -54
  88. package/components/StopsFinder/StopsFinderOption.js.map +7 -1
  89. package/components/StopsFinder/index.js +1 -3
  90. package/components/StopsFinder/index.js.map +7 -1
  91. package/components/TrackerControl/TrackerControl.js +73 -128
  92. package/components/TrackerControl/TrackerControl.js.map +7 -1
  93. package/components/TrackerControl/index.js +1 -3
  94. package/components/TrackerControl/index.js.map +7 -1
  95. package/components/Zoom/Zoom.js +69 -112
  96. package/components/Zoom/Zoom.js.map +7 -1
  97. package/components/Zoom/index.js +1 -3
  98. package/components/Zoom/index.js.map +7 -1
  99. package/package.json +10 -5
  100. package/propTypes.js +17 -23
  101. package/propTypes.js.map +7 -1
  102. package/setupTests.js +2 -4
  103. package/setupTests.js.map +7 -1
  104. package/themes/README.md +26 -0
  105. package/themes/default/components.scss +0 -1
  106. package/themes/default/examples.scss +0 -1
  107. package/utils/GlobalsForOle.js +63 -64
  108. package/utils/GlobalsForOle.js.map +7 -1
  109. package/utils/KML.js +178 -364
  110. package/utils/KML.js.map +7 -1
  111. package/utils/KMLFormat.js +37 -73
  112. package/utils/KMLFormat.js.map +7 -1
  113. package/utils/Styles.js +24 -32
  114. package/utils/Styles.js.map +7 -1
  115. package/utils/getPolygonPattern.js +11 -44
  116. package/utils/getPolygonPattern.js.map +7 -1
  117. package/utils/timeUtils.js +16 -35
  118. package/utils/timeUtils.js.map +7 -1
  119. package/LayerService.test.js +0 -160
  120. package/LayerService.test.js.map +0 -1
  121. package/Projections.js +0 -16
  122. package/Projections.js.map +0 -1
  123. package/components/BaseLayerSwitcher/BaseLayerSwitcher.test.js +0 -88
  124. package/components/BaseLayerSwitcher/BaseLayerSwitcher.test.js.map +0 -1
  125. package/components/BaseLayerToggler/BaseLayerToggler.js +0 -490
  126. package/components/BaseLayerToggler/BaseLayerToggler.js.map +0 -1
  127. package/components/BaseLayerToggler/BaseLayerToggler.md.scss +0 -9
  128. package/components/BaseLayerToggler/BaseLayerToggler.scss +0 -49
  129. package/components/BaseLayerToggler/BaseLayerToggler.test.js +0 -127
  130. package/components/BaseLayerToggler/BaseLayerToggler.test.js.map +0 -1
  131. package/components/BaseLayerToggler/index.js +0 -3
  132. package/components/BaseLayerToggler/index.js.map +0 -1
  133. package/components/BasicMap/BasicMap.test.js +0 -288
  134. package/components/BasicMap/BasicMap.test.js.map +0 -1
  135. package/components/CanvasSaveButton/CanvasSaveButton.test.js +0 -173
  136. package/components/CanvasSaveButton/CanvasSaveButton.test.js.map +0 -1
  137. package/components/Copyright/Copyright.test.js +0 -133
  138. package/components/Copyright/Copyright.test.js.map +0 -1
  139. package/components/FeatureExportButton/FeatureExportButton.test.js +0 -407
  140. package/components/FeatureExportButton/FeatureExportButton.test.js.map +0 -1
  141. package/components/FilterButton/FilterButton.test.js +0 -48
  142. package/components/FilterButton/FilterButton.test.js.map +0 -1
  143. package/components/FitExtent/FitExtent.test.js +0 -44
  144. package/components/FitExtent/FitExtent.test.js.map +0 -1
  145. package/components/FollowButton/FollowButton.test.js +0 -57
  146. package/components/FollowButton/FollowButton.test.js.map +0 -1
  147. package/components/Geolocation/Geolocation.test.js +0 -263
  148. package/components/Geolocation/Geolocation.test.js.map +0 -1
  149. package/components/LayerTree/LayerTree.test.js +0 -323
  150. package/components/LayerTree/LayerTree.test.js.map +0 -1
  151. package/components/MousePosition/MousePosition.test.js +0 -125
  152. package/components/MousePosition/MousePosition.test.js.map +0 -1
  153. package/components/NorthArrow/NorthArrow.test.js +0 -106
  154. package/components/NorthArrow/NorthArrow.test.js.map +0 -1
  155. package/components/Overlay/Overlay.test.js +0 -145
  156. package/components/Overlay/Overlay.test.js.map +0 -1
  157. package/components/Permalink/Permalink.test.js +0 -267
  158. package/components/Permalink/Permalink.test.js.map +0 -1
  159. package/components/Popup/Popup.test.js +0 -291
  160. package/components/Popup/Popup.test.js.map +0 -1
  161. package/components/ResizeHandler/ResizeHandler.test.js +0 -410
  162. package/components/ResizeHandler/ResizeHandler.test.js.map +0 -1
  163. package/components/RouteSchedule/RouteSchedule.test.js +0 -102
  164. package/components/RouteSchedule/RouteSchedule.test.js.map +0 -1
  165. package/components/ScaleLine/ScaleLine.test.js +0 -32
  166. package/components/ScaleLine/ScaleLine.test.js.map +0 -1
  167. package/components/Search/Search.test.js +0 -15
  168. package/components/Search/Search.test.js.map +0 -1
  169. package/components/StopsFinder/StopsFinder.test.js +0 -19
  170. package/components/StopsFinder/StopsFinder.test.js.map +0 -1
  171. package/components/TrackerControl/TrackerControl.test.js +0 -17
  172. package/components/TrackerControl/TrackerControl.test.js.map +0 -1
  173. package/components/Zoom/Zoom.test.js +0 -150
  174. package/components/Zoom/Zoom.test.js.map +0 -1
  175. package/styleguidist/ComponentsList.js +0 -52
  176. package/styleguidist/ComponentsList.js.map +0 -1
  177. package/styleguidist/StyleGuide.js +0 -253
  178. package/styleguidist/StyleGuide.js.map +0 -1
  179. package/utils/KML.test.js +0 -163
  180. package/utils/KML.test.js.map +0 -1
  181. package/utils/KMLFormat.test.js +0 -22
  182. package/utils/KMLFormat.test.js.map +0 -1
  183. package/utils/getPolygonPattern.test.js +0 -66
  184. package/utils/getPolygonPattern.test.js.map +0 -1
  185. package/utils/timeUtils.test.js +0 -32
  186. package/utils/timeUtils.test.js.map +0 -1
@@ -1,48 +0,0 @@
1
- import React from 'react';
2
- import renderer from 'react-test-renderer';
3
- import { configure, shallow } from 'enzyme';
4
- import Adapter from '@wojtekmaj/enzyme-adapter-react-17';
5
- import { MdFilterList } from 'react-icons/md';
6
- import { TrajservLayer } from 'mobility-toolbox-js/ol';
7
- import FilterButton from '.';
8
-
9
- configure({ adapter: new Adapter() });
10
- var trackerLayer = new TrajservLayer();
11
-
12
- test('FollowButton should match snapshot.', function () {
13
- var component = renderer.create(
14
- React.createElement( FilterButton, {
15
- className: "rt-filter-button", title: "Filter up", active: false, onClick: function () {}, routeIdentifier: "test", trackerLayer: trackerLayer },
16
- React.createElement( MdFilterList, null )
17
- )
18
- );
19
- var tree = component.toJSON();
20
- expect(tree).toMatchSnapshot();
21
- });
22
-
23
- test('FollowButton should toggle.', function () {
24
- var filterActive = false;
25
- var setFilterActive = function () {
26
- filterActive = !filterActive;
27
- };
28
- var bt = shallow(
29
- React.createElement( FilterButton, {
30
- className: "rt-filter-button", routeIdentifier: "test", active: filterActive, onClick: function (active) {
31
- return setFilterActive(active);
32
- }, trackerLayer: trackerLayer },
33
- React.createElement( MdFilterList, null )
34
- )
35
- );
36
-
37
- expect(filterActive).toBe(false);
38
-
39
- bt.find('.rt-filter-button').first().simulate('click');
40
-
41
- expect(filterActive).toBe(true);
42
-
43
- bt.find('.rt-filter-button').first().simulate('click');
44
-
45
- expect(filterActive).toBe(false);
46
- });
47
-
48
- //# sourceMappingURL=FilterButton.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FilterButton.test.js","sources":["../../../src/components/FilterButton/FilterButton.test.js"],"sourcesContent":["import React from 'react';\nimport renderer from 'react-test-renderer';\nimport { configure, shallow } from 'enzyme';\nimport Adapter from '@wojtekmaj/enzyme-adapter-react-17';\nimport { MdFilterList } from 'react-icons/md';\nimport { TrajservLayer } from 'mobility-toolbox-js/ol';\nimport FilterButton from '.';\n\nconfigure({ adapter: new Adapter() });\nconst trackerLayer = new TrajservLayer();\n\ntest('FollowButton should match snapshot.', () => {\n const component = renderer.create(\n <FilterButton\n className=\"rt-filter-button\"\n title=\"Filter up\"\n active={false}\n onClick={() => {}}\n routeIdentifier=\"test\"\n trackerLayer={trackerLayer}\n >\n <MdFilterList />\n </FilterButton>,\n );\n const tree = component.toJSON();\n expect(tree).toMatchSnapshot();\n});\n\ntest('FollowButton should toggle.', () => {\n let filterActive = false;\n const setFilterActive = () => {\n filterActive = !filterActive;\n };\n const bt = shallow(\n <FilterButton\n className=\"rt-filter-button\"\n routeIdentifier=\"test\"\n active={filterActive}\n onClick={(active) => {\n return setFilterActive(active);\n }}\n trackerLayer={trackerLayer}\n >\n <MdFilterList />\n </FilterButton>,\n );\n\n expect(filterActive).toBe(false);\n\n bt.find('.rt-filter-button').first().simulate('click');\n\n expect(filterActive).toBe(true);\n\n bt.find('.rt-filter-button').first().simulate('click');\n\n expect(filterActive).toBe(false);\n});\n"],"names":["const","let"],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAC3C,SAAS,SAAS,EAAE,OAAO,QAAQ,QAAQ,CAAC;AAC5C,OAAO,OAAO,MAAM,oCAAoC,CAAC;AACzD,SAAS,YAAY,QAAQ,gBAAgB,CAAC;AAC9C,SAAS,aAAa,QAAQ,wBAAwB,CAAC;AACvD,OAAO,YAAY,MAAM,GAAG,CAAC;AAC7B;AACA,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,OAAO,EAAE,EAAE,CAAC,CAAC;AACtCA,GAAK,CAAC,YAAY,GAAG,IAAI,aAAa,EAAE,CAAC;AACzC;AACA,IAAI,CAAC,qCAAqC,WAAE,GAAM;AAClD,EAAEA,GAAK,CAAC,SAAS,GAAG,QAAQ,CAAC,MAAM;AACnC,IAAI,qBAAC,eAAY;AACjB,MAAM,WAAU,kBAAkB,EAC5B,OAAM,WAAW,EACjB,QAAQ,KAAM,EACd,kBAAS,GAAM,EAAG,EAClB,iBAAgB,MAAM,EACtB,cAAc,eACf;AACL,MAAM,qBAAC,kBAAY,EAAG;AACtB,IAAI,CAAgB;AACpB,GAAG,CAAC;AACJ,EAAEA,GAAK,CAAC,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;AAClC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;AACjC,CAAC,CAAC,CAAC;AACH;AACA,IAAI,CAAC,6BAA6B,WAAE,GAAM;AAC1C,EAAEC,GAAG,CAAC,YAAY,GAAG,KAAK,CAAC;AAC3B,EAAED,GAAK,CAAC,eAAe,YAAG,GAAM;AAChC,IAAI,YAAY,GAAG,CAAC,YAAY,CAAC;AACjC,GAAG,CAAC;AACJ,EAAEA,GAAK,CAAC,EAAE,GAAG,OAAO;AACpB,IAAI,qBAAC,eAAY;AACjB,MAAM,WAAU,kBAAkB,EAC5B,iBAAgB,MAAM,EACtB,QAAQ,YAAa,EACrB,kBAAS,CAAC,MAAM,EAAK;AAC3B,QAAQ,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;AACvC,OAAQ,EACF,cAAc,eACf;AACL,MAAM,qBAAC,kBAAY,EAAG;AACtB,IAAI,CAAgB;AACpB,GAAG,CAAC;AACJ;AACA,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACnC;AACA,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACzD;AACA,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClC;AACA,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACzD;AACA,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC;"}
@@ -1,44 +0,0 @@
1
- import React from 'react';
2
- import renderer from 'react-test-renderer';
3
- import { configure, shallow } from 'enzyme';
4
- import Adapter from '@wojtekmaj/enzyme-adapter-react-17';
5
- import OLView from 'ol/View';
6
- import OLMap from 'ol/Map';
7
- import FitExtent from './FitExtent';
8
-
9
- configure({ adapter: new Adapter() });
10
-
11
- var extent = [1, 2, 3, 4];
12
-
13
- test('Button should match snapshot.', function () {
14
- var map = new OLMap({});
15
- var component = renderer.create(
16
- React.createElement( FitExtent, { map: map, extent: extent }, "FitExtent")
17
- );
18
- var tree = component.toJSON();
19
- expect(tree).toMatchSnapshot();
20
- });
21
-
22
- test('Should fit the extent.', function () {
23
- var map = new OLMap({ view: new OLView({ zoom: 7, center: [0, 0] }) });
24
- var wrapper = shallow(
25
- React.createElement( FitExtent, { map: map, extent: extent, className: "fit-ext" }, "FitExtent")
26
- );
27
- wrapper.find('.fit-ext').first().simulate('click', {});
28
- var calculatedExtent = map.getView().calculateExtent(map.getSize());
29
-
30
- expect(calculatedExtent).toStrictEqual([1, 2, 3, 4]);
31
- });
32
-
33
- test('Should fit the extent on return.', function () {
34
- var map = new OLMap({ view: new OLView({ zoom: 7, center: [0, 0] }) });
35
- var wrapper = shallow(
36
- React.createElement( FitExtent, { map: map, extent: extent, className: "fit-ext" }, "FitExtent")
37
- );
38
- wrapper.find('.fit-ext').first().simulate('click', { which: 13 });
39
- var calculatedExtent = map.getView().calculateExtent(map.getSize());
40
-
41
- expect(calculatedExtent).toStrictEqual([1, 2, 3, 4]);
42
- });
43
-
44
- //# sourceMappingURL=FitExtent.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FitExtent.test.js","sources":["../../../src/components/FitExtent/FitExtent.test.js"],"sourcesContent":["import React from 'react';\nimport renderer from 'react-test-renderer';\nimport { configure, shallow } from 'enzyme';\nimport Adapter from '@wojtekmaj/enzyme-adapter-react-17';\nimport OLView from 'ol/View';\nimport OLMap from 'ol/Map';\nimport FitExtent from './FitExtent';\n\nconfigure({ adapter: new Adapter() });\n\nconst extent = [1, 2, 3, 4];\n\ntest('Button should match snapshot.', () => {\n const map = new OLMap({});\n const component = renderer.create(\n <FitExtent map={map} extent={extent}>\n FitExtent\n </FitExtent>,\n );\n const tree = component.toJSON();\n expect(tree).toMatchSnapshot();\n});\n\ntest('Should fit the extent.', () => {\n const map = new OLMap({ view: new OLView({ zoom: 7, center: [0, 0] }) });\n const wrapper = shallow(\n <FitExtent map={map} extent={extent} className=\"fit-ext\">\n FitExtent\n </FitExtent>,\n );\n wrapper.find('.fit-ext').first().simulate('click', {});\n const calculatedExtent = map.getView().calculateExtent(map.getSize());\n\n expect(calculatedExtent).toStrictEqual([1, 2, 3, 4]);\n});\n\ntest('Should fit the extent on return.', () => {\n const map = new OLMap({ view: new OLView({ zoom: 7, center: [0, 0] }) });\n const wrapper = shallow(\n <FitExtent map={map} extent={extent} className=\"fit-ext\">\n FitExtent\n </FitExtent>,\n );\n wrapper.find('.fit-ext').first().simulate('click', { which: 13 });\n const calculatedExtent = map.getView().calculateExtent(map.getSize());\n\n expect(calculatedExtent).toStrictEqual([1, 2, 3, 4]);\n});\n"],"names":["const"],"mappings":"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"}
@@ -1,57 +0,0 @@
1
- import React from 'react';
2
- import renderer from 'react-test-renderer';
3
- import { configure, shallow } from 'enzyme';
4
- import Adapter from '@wojtekmaj/enzyme-adapter-react-17';
5
- import { MdNavigation } from 'react-icons/md';
6
- import { TrajservLayer } from 'mobility-toolbox-js/ol';
7
- import FollowButton from '.';
8
-
9
- configure({ adapter: new Adapter() });
10
-
11
- var funcs = {
12
- onClick: function () {},
13
- };
14
-
15
- var trackerLayer = new TrajservLayer();
16
-
17
- test('FollowButton should match snapshot.', function () {
18
- var component = renderer.create(
19
- React.createElement( FollowButton, {
20
- className: "rt-follow-button", title: "Follow up", active: false, onClick: function () {}, routeIdentifier: "test", trackerLayer: trackerLayer, setCenter: function () {
21
- return funcs.onClick();
22
- } },
23
- React.createElement( MdNavigation, null )
24
- )
25
- );
26
- var tree = component.toJSON();
27
- expect(tree).toMatchSnapshot();
28
- });
29
-
30
- test('FollowButton should toggle.', function () {
31
- var followActive = false;
32
- var setFollowActive = function () {
33
- followActive = !followActive;
34
- };
35
- var bt = shallow(
36
- React.createElement( FollowButton, {
37
- className: "rt-follow-button", title: "Follow up", active: followActive, onClick: function (active) {
38
- return setFollowActive(active);
39
- }, routeIdentifier: "test", trackerLayer: trackerLayer, setCenter: function () {
40
- return funcs.onClick();
41
- } },
42
- React.createElement( MdNavigation, null )
43
- )
44
- );
45
-
46
- expect(followActive).toBe(false);
47
-
48
- bt.find('.rt-follow-button').first().simulate('click');
49
-
50
- expect(followActive).toBe(true);
51
-
52
- bt.find('.rt-follow-button').first().simulate('click');
53
-
54
- expect(followActive).toBe(false);
55
- });
56
-
57
- //# sourceMappingURL=FollowButton.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FollowButton.test.js","sources":["../../../src/components/FollowButton/FollowButton.test.js"],"sourcesContent":["import React from 'react';\nimport renderer from 'react-test-renderer';\nimport { configure, shallow } from 'enzyme';\nimport Adapter from '@wojtekmaj/enzyme-adapter-react-17';\nimport { MdNavigation } from 'react-icons/md';\nimport { TrajservLayer } from 'mobility-toolbox-js/ol';\nimport FollowButton from '.';\n\nconfigure({ adapter: new Adapter() });\n\nconst funcs = {\n onClick: () => {},\n};\n\nconst trackerLayer = new TrajservLayer();\n\ntest('FollowButton should match snapshot.', () => {\n const component = renderer.create(\n <FollowButton\n className=\"rt-follow-button\"\n title=\"Follow up\"\n active={false}\n onClick={() => {}}\n routeIdentifier=\"test\"\n trackerLayer={trackerLayer}\n setCenter={() => {\n return funcs.onClick();\n }}\n >\n <MdNavigation />\n </FollowButton>,\n );\n const tree = component.toJSON();\n expect(tree).toMatchSnapshot();\n});\n\ntest('FollowButton should toggle.', () => {\n let followActive = false;\n const setFollowActive = () => {\n followActive = !followActive;\n };\n const bt = shallow(\n <FollowButton\n className=\"rt-follow-button\"\n title=\"Follow up\"\n active={followActive}\n onClick={(active) => {\n return setFollowActive(active);\n }}\n routeIdentifier=\"test\"\n trackerLayer={trackerLayer}\n setCenter={() => {\n return funcs.onClick();\n }}\n >\n <MdNavigation />\n </FollowButton>,\n );\n\n expect(followActive).toBe(false);\n\n bt.find('.rt-follow-button').first().simulate('click');\n\n expect(followActive).toBe(true);\n\n bt.find('.rt-follow-button').first().simulate('click');\n\n expect(followActive).toBe(false);\n});\n"],"names":["const","let"],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAC3C,SAAS,SAAS,EAAE,OAAO,QAAQ,QAAQ,CAAC;AAC5C,OAAO,OAAO,MAAM,oCAAoC,CAAC;AACzD,SAAS,YAAY,QAAQ,gBAAgB,CAAC;AAC9C,SAAS,aAAa,QAAQ,wBAAwB,CAAC;AACvD,OAAO,YAAY,MAAM,GAAG,CAAC;AAC7B;AACA,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,OAAO,EAAE,EAAE,CAAC,CAAC;AACtC;AACAA,GAAK,CAAC,KAAK,GAAG;AACd,EAAE,OAAO,WAAE,GAAM,EAAE;AACnB,CAAC,CAAC;AACF;AACAA,GAAK,CAAC,YAAY,GAAG,IAAI,aAAa,EAAE,CAAC;AACzC;AACA,IAAI,CAAC,qCAAqC,WAAE,GAAM;AAClD,EAAEA,GAAK,CAAC,SAAS,GAAG,QAAQ,CAAC,MAAM;AACnC,IAAI,qBAAC,eAAY;AACjB,MAAM,WAAU,kBAAkB,EAC5B,OAAM,WAAW,EACjB,QAAQ,KAAM,EACd,kBAAS,GAAM,EAAG,EAClB,iBAAgB,MAAM,EACtB,cAAc,YAAa,EAC3B,oBAAW,GAAM;AACvB,QAAQ,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC;AAC/B,UACK;AACL,MAAM,qBAAC,kBAAY,EAAG;AACtB,IAAI,CAAgB;AACpB,GAAG,CAAC;AACJ,EAAEA,GAAK,CAAC,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;AAClC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;AACjC,CAAC,CAAC,CAAC;AACH;AACA,IAAI,CAAC,6BAA6B,WAAE,GAAM;AAC1C,EAAEC,GAAG,CAAC,YAAY,GAAG,KAAK,CAAC;AAC3B,EAAED,GAAK,CAAC,eAAe,YAAG,GAAM;AAChC,IAAI,YAAY,GAAG,CAAC,YAAY,CAAC;AACjC,GAAG,CAAC;AACJ,EAAEA,GAAK,CAAC,EAAE,GAAG,OAAO;AACpB,IAAI,qBAAC,eAAY;AACjB,MAAM,WAAU,kBAAkB,EAC5B,OAAM,WAAW,EACjB,QAAQ,YAAa,EACrB,kBAAS,CAAC,MAAM,EAAK;AAC3B,QAAQ,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;AACvC,OAAQ,EACF,iBAAgB,MAAM,EACtB,cAAc,YAAa,EAC3B,oBAAW,GAAM;AACvB,QAAQ,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC;AAC/B,UACK;AACL,MAAM,qBAAC,kBAAY,EAAG;AACtB,IAAI,CAAgB;AACpB,GAAG,CAAC;AACJ;AACA,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACnC;AACA,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACzD;AACA,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClC;AACA,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACzD;AACA,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC;"}
@@ -1,263 +0,0 @@
1
- import React from 'react';
2
- import renderer from 'react-test-renderer';
3
- import { configure, mount, shallow } from 'enzyme';
4
- import Adapter from '@wojtekmaj/enzyme-adapter-react-17';
5
-
6
- import 'jest-canvas-mock';
7
- import Map from 'ol/Map';
8
- import View from 'ol/View';
9
- import MapEvent from 'ol/MapEvent';
10
- import Geolocation from './Geolocation';
11
-
12
- configure({ adapter: new Adapter() });
13
-
14
- var geolocationBackup = global.navigator.geolocation;
15
-
16
- var mockGeolocation = function () {
17
- var mock = {
18
- clearWatch: jest.fn(),
19
- getCurrentPosition: jest.fn(),
20
- watchPosition: function (onSuccess) {
21
- onSuccess({
22
- coords: {
23
- latitude: 47.9913611,
24
- longitude: 7.84868,
25
- accuracy: 55,
26
- },
27
- timestamp: 1552660077044,
28
- });
29
- },
30
- };
31
-
32
- global.navigator.geolocation = mock;
33
- };
34
-
35
- var mockMissingGeolocation = function () {
36
- delete global.navigator.geolocation;
37
- };
38
-
39
- var restoreGeolocation = function () {
40
- global.navigator.geolocation = geolocationBackup;
41
- };
42
-
43
- var CallbackHandler = function CallbackHandler () {};
44
-
45
- CallbackHandler.onError = function onError () {};
46
-
47
- CallbackHandler.onSuccess = function onSuccess () {};
48
-
49
- CallbackHandler.onActivate = function onActivate () {};
50
-
51
- CallbackHandler.onDeactivate = function onDeactivate () {};
52
-
53
- describe('Geolocation', function () {
54
- var map;
55
-
56
- beforeEach(function () {
57
- var target = document.createElement('div');
58
- var style = target.style;
59
- style.position = 'absolute';
60
- style.left = '-1000px';
61
- style.top = '-1000px';
62
- style.width = '100px';
63
- style.height = '100px';
64
- document.body.appendChild(target);
65
-
66
- map = new Map({
67
- target: target,
68
- view: new View({
69
- center: [0, 0],
70
- resolutions: [1],
71
- zoom: 0,
72
- }),
73
- });
74
- map.renderSync();
75
- });
76
-
77
- afterEach(function () {
78
- var target = map.getTarget();
79
- map.setTarget(null);
80
- if (target && target.parentNode) {
81
- target.parentNode.removeChild(target);
82
- }
83
- map.dispose();
84
- });
85
-
86
- describe('should match snapshot', function () {
87
- test('minimum props', function () {
88
- var component = renderer.create(React.createElement( Geolocation, { map: map }));
89
- var tree = component.toJSON();
90
- expect(tree).toMatchSnapshot();
91
- });
92
-
93
- test('with title', function () {
94
- var component = renderer.create(
95
- React.createElement( Geolocation, { map: map, title: "Lokalisieren" })
96
- );
97
- var tree = component.toJSON();
98
- expect(tree).toMatchSnapshot();
99
- });
100
-
101
- test('with class name', function () {
102
- var component = renderer.create(
103
- React.createElement( Geolocation, { map: map, className: "my-class-name" })
104
- );
105
- var tree = component.toJSON();
106
- expect(tree).toMatchSnapshot();
107
- });
108
- });
109
-
110
- test('should use children', function () {
111
- mockGeolocation();
112
-
113
- var wrapper = mount(React.createElement( Geolocation, { map: map }, "test"));
114
-
115
- var text = wrapper.find('.rs-geolocation').first().text();
116
-
117
- expect(text).toBe('test');
118
-
119
- restoreGeolocation();
120
- });
121
-
122
- describe('button classes', function () {
123
- test('class should be active', function () {
124
- mockGeolocation();
125
-
126
- var wrapper = mount(React.createElement( Geolocation, { map: map }));
127
- var basic = wrapper.getDOMNode();
128
-
129
- wrapper.find('.rs-geolocation').first().simulate('click');
130
-
131
- expect(basic.className).toBe('rs-geolocation rs-active');
132
-
133
- restoreGeolocation();
134
- });
135
-
136
- test('class should not be active', function () {
137
- mockGeolocation();
138
-
139
- var wrapper = mount(React.createElement( Geolocation, { map: map }));
140
- var basic = wrapper.getDOMNode();
141
-
142
- wrapper
143
- .find('.rs-geolocation')
144
- .first()
145
- .simulate('click')
146
- .simulate('click');
147
-
148
- expect(basic.className).toBe('rs-geolocation ');
149
-
150
- restoreGeolocation();
151
- });
152
- });
153
-
154
- test("highlight on first toggle", function () {
155
- mockGeolocation();
156
-
157
- var component = shallow(React.createElement( Geolocation, { map: map }));
158
- var instance = component.instance();
159
- var spy = jest.spyOn(instance, 'highlight');
160
- instance.toggle();
161
- expect(spy).toHaveBeenCalled();
162
-
163
- restoreGeolocation();
164
- });
165
-
166
- test("success/activate/deactivate callback functions should be called", function () {
167
- mockGeolocation();
168
- var spyOnSuccess = jest.spyOn(CallbackHandler, 'onSuccess');
169
- var spyOnActivate = jest.spyOn(CallbackHandler, 'onActivate');
170
- var spyOnDeactivate = jest.spyOn(CallbackHandler, 'onDeactivate');
171
-
172
- var wrapper = mount(
173
- React.createElement( Geolocation, {
174
- map: map, onSuccess: function () {
175
- return CallbackHandler.onSuccess();
176
- }, onActivate: function () {
177
- return CallbackHandler.onActivate();
178
- }, onDeactivate: function () {
179
- return CallbackHandler.onDeactivate();
180
- } })
181
- );
182
-
183
- wrapper.find('.rs-geolocation').first().simulate('click');
184
-
185
- expect(spyOnActivate).toHaveBeenCalled();
186
- expect(spyOnSuccess).toHaveBeenCalled();
187
-
188
- wrapper.find('.rs-geolocation').first().simulate('click');
189
-
190
- expect(spyOnDeactivate).toHaveBeenCalled();
191
-
192
- restoreGeolocation();
193
- });
194
-
195
- test("error function should be called", function () {
196
- mockMissingGeolocation();
197
-
198
- var spy = jest.spyOn(CallbackHandler, 'onError');
199
-
200
- var wrapper = mount(
201
- React.createElement( Geolocation, {
202
- map: map, onError: function () {
203
- return CallbackHandler.onError();
204
- } })
205
- );
206
-
207
- wrapper.find('.rs-geolocation').first().simulate('click');
208
-
209
- expect(spy).toHaveBeenCalled();
210
-
211
- restoreGeolocation();
212
- });
213
-
214
- describe('map centering', function () {
215
- test('centers map', function () {
216
- mockGeolocation();
217
-
218
- var center1 = [742952.8821531708, 6330118.608483334];
219
- map.getView().setCenter(center1);
220
-
221
- var component = shallow(React.createElement( Geolocation, { map: map }));
222
- component.instance().toggle();
223
-
224
- var center2 = map.getView().getCenter();
225
- expect(center1).not.toEqual(center2);
226
-
227
- restoreGeolocation();
228
- });
229
-
230
- test('sets isRecenteringToPosition=false after pointerdrag event with the noCenterAfterDrag prop', function () {
231
- mockGeolocation();
232
-
233
- var component = shallow(React.createElement( Geolocation, { map: map, noCenterAfterDrag: true }));
234
- component.instance().toggle();
235
-
236
- expect(component.instance().isRecenteringToPosition).toEqual(true);
237
-
238
- map.dispatchEvent(new MapEvent('pointerdrag', map));
239
- expect(component.instance().isRecenteringToPosition).toEqual(false);
240
-
241
- restoreGeolocation();
242
- });
243
- });
244
-
245
- test('custom style function', function () {
246
- mockGeolocation();
247
-
248
- var styleFunc = jest.fn();
249
-
250
- var component = shallow(
251
- React.createElement( Geolocation, { map: map, colorOrStyleFunc: styleFunc })
252
- );
253
- var instance = component.instance();
254
- instance.toggle();
255
- var style = instance.layer.getSource().getFeatures()[0].getStyle();
256
-
257
- expect(style).toBe(styleFunc);
258
-
259
- restoreGeolocation();
260
- });
261
- });
262
-
263
- //# sourceMappingURL=Geolocation.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Geolocation.test.js","sources":["../../../src/components/Geolocation/Geolocation.test.js"],"sourcesContent":["import React from 'react';\nimport renderer from 'react-test-renderer';\nimport { configure, mount, shallow } from 'enzyme';\nimport Adapter from '@wojtekmaj/enzyme-adapter-react-17';\n\nimport 'jest-canvas-mock';\nimport Map from 'ol/Map';\nimport View from 'ol/View';\nimport MapEvent from 'ol/MapEvent';\nimport Geolocation from './Geolocation';\n\nconfigure({ adapter: new Adapter() });\n\nconst geolocationBackup = global.navigator.geolocation;\n\nconst mockGeolocation = () => {\n const mock = {\n clearWatch: jest.fn(),\n getCurrentPosition: jest.fn(),\n watchPosition: (onSuccess) => {\n onSuccess({\n coords: {\n latitude: 47.9913611,\n longitude: 7.84868,\n accuracy: 55,\n },\n timestamp: 1552660077044,\n });\n },\n };\n\n global.navigator.geolocation = mock;\n};\n\nconst mockMissingGeolocation = () => {\n delete global.navigator.geolocation;\n};\n\nconst restoreGeolocation = () => {\n global.navigator.geolocation = geolocationBackup;\n};\n\nclass CallbackHandler {\n static onError() {}\n\n static onSuccess() {}\n\n static onActivate() {}\n\n static onDeactivate() {}\n}\n\ndescribe('Geolocation', () => {\n let map;\n\n beforeEach(() => {\n const target = document.createElement('div');\n const { style } = target;\n style.position = 'absolute';\n style.left = '-1000px';\n style.top = '-1000px';\n style.width = '100px';\n style.height = '100px';\n document.body.appendChild(target);\n\n map = new Map({\n target,\n view: new View({\n center: [0, 0],\n resolutions: [1],\n zoom: 0,\n }),\n });\n map.renderSync();\n });\n\n afterEach(() => {\n const target = map.getTarget();\n map.setTarget(null);\n if (target && target.parentNode) {\n target.parentNode.removeChild(target);\n }\n map.dispose();\n });\n\n describe('should match snapshot', () => {\n test('minimum props', () => {\n const component = renderer.create(<Geolocation map={map} />);\n const tree = component.toJSON();\n expect(tree).toMatchSnapshot();\n });\n\n test('with title', () => {\n const component = renderer.create(\n <Geolocation map={map} title=\"Lokalisieren\" />,\n );\n const tree = component.toJSON();\n expect(tree).toMatchSnapshot();\n });\n\n test('with class name', () => {\n const component = renderer.create(\n <Geolocation map={map} className=\"my-class-name\" />,\n );\n const tree = component.toJSON();\n expect(tree).toMatchSnapshot();\n });\n });\n\n test('should use children', () => {\n mockGeolocation();\n\n const wrapper = mount(<Geolocation map={map}>test</Geolocation>);\n\n const text = wrapper.find('.rs-geolocation').first().text();\n\n expect(text).toBe('test');\n\n restoreGeolocation();\n });\n\n describe('button classes', () => {\n test('class should be active', () => {\n mockGeolocation();\n\n const wrapper = mount(<Geolocation map={map} />);\n const basic = wrapper.getDOMNode();\n\n wrapper.find('.rs-geolocation').first().simulate('click');\n\n expect(basic.className).toBe('rs-geolocation rs-active');\n\n restoreGeolocation();\n });\n\n test('class should not be active', () => {\n mockGeolocation();\n\n const wrapper = mount(<Geolocation map={map} />);\n const basic = wrapper.getDOMNode();\n\n wrapper\n .find('.rs-geolocation')\n .first()\n .simulate('click')\n .simulate('click');\n\n expect(basic.className).toBe('rs-geolocation ');\n\n restoreGeolocation();\n });\n });\n\n test(`highlight on first toggle`, () => {\n mockGeolocation();\n\n const component = shallow(<Geolocation map={map} />);\n const instance = component.instance();\n const spy = jest.spyOn(instance, 'highlight');\n instance.toggle();\n expect(spy).toHaveBeenCalled();\n\n restoreGeolocation();\n });\n\n test(`success/activate/deactivate callback functions should be called`, () => {\n mockGeolocation();\n const spyOnSuccess = jest.spyOn(CallbackHandler, 'onSuccess');\n const spyOnActivate = jest.spyOn(CallbackHandler, 'onActivate');\n const spyOnDeactivate = jest.spyOn(CallbackHandler, 'onDeactivate');\n\n const wrapper = mount(\n <Geolocation\n map={map}\n onSuccess={() => {\n return CallbackHandler.onSuccess();\n }}\n onActivate={() => {\n return CallbackHandler.onActivate();\n }}\n onDeactivate={() => {\n return CallbackHandler.onDeactivate();\n }}\n />,\n );\n\n wrapper.find('.rs-geolocation').first().simulate('click');\n\n expect(spyOnActivate).toHaveBeenCalled();\n expect(spyOnSuccess).toHaveBeenCalled();\n\n wrapper.find('.rs-geolocation').first().simulate('click');\n\n expect(spyOnDeactivate).toHaveBeenCalled();\n\n restoreGeolocation();\n });\n\n test(`error function should be called`, () => {\n mockMissingGeolocation();\n\n const spy = jest.spyOn(CallbackHandler, 'onError');\n\n const wrapper = mount(\n <Geolocation\n map={map}\n onError={() => {\n return CallbackHandler.onError();\n }}\n />,\n );\n\n wrapper.find('.rs-geolocation').first().simulate('click');\n\n expect(spy).toHaveBeenCalled();\n\n restoreGeolocation();\n });\n\n describe('map centering', () => {\n test('centers map', () => {\n mockGeolocation();\n\n const center1 = [742952.8821531708, 6330118.608483334];\n map.getView().setCenter(center1);\n\n const component = shallow(<Geolocation map={map} />);\n component.instance().toggle();\n\n const center2 = map.getView().getCenter();\n expect(center1).not.toEqual(center2);\n\n restoreGeolocation();\n });\n\n test('sets isRecenteringToPosition=false after pointerdrag event with the noCenterAfterDrag prop', () => {\n mockGeolocation();\n\n const component = shallow(<Geolocation map={map} noCenterAfterDrag />);\n component.instance().toggle();\n\n expect(component.instance().isRecenteringToPosition).toEqual(true);\n\n map.dispatchEvent(new MapEvent('pointerdrag', map));\n expect(component.instance().isRecenteringToPosition).toEqual(false);\n\n restoreGeolocation();\n });\n });\n\n test('custom style function', () => {\n mockGeolocation();\n\n const styleFunc = jest.fn();\n\n const component = shallow(\n <Geolocation map={map} colorOrStyleFunc={styleFunc} />,\n );\n const instance = component.instance();\n instance.toggle();\n const style = instance.layer.getSource().getFeatures()[0].getStyle();\n\n expect(style).toBe(styleFunc);\n\n restoreGeolocation();\n });\n});\n"],"names":["const","let"],"mappings":"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"}