react-spatial 1.2.0 → 1.2.3-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (185) hide show
  1. package/LayerService.js +128 -184
  2. package/LayerService.js.map +7 -1
  3. package/Projections.js +29 -12
  4. package/Projections.js.map +7 -1
  5. package/components/BaseLayerSwitcher/BaseLayerSwitcher.js +163 -221
  6. package/components/BaseLayerSwitcher/BaseLayerSwitcher.js.map +7 -1
  7. package/components/BaseLayerSwitcher/index.js +1 -3
  8. package/components/BaseLayerSwitcher/index.js.map +7 -1
  9. package/components/BasicMap/BasicMap.js +147 -285
  10. package/components/BasicMap/BasicMap.js.map +7 -1
  11. package/components/BasicMap/index.js +1 -3
  12. package/components/BasicMap/index.js.map +7 -1
  13. package/components/CanvasSaveButton/CanvasSaveButton.js +165 -419
  14. package/components/CanvasSaveButton/CanvasSaveButton.js.map +7 -1
  15. package/components/CanvasSaveButton/index.js +1 -3
  16. package/components/CanvasSaveButton/index.js.map +7 -1
  17. package/components/Copyright/Copyright.js +29 -70
  18. package/components/Copyright/Copyright.js.map +7 -1
  19. package/components/Copyright/index.js +1 -3
  20. package/components/Copyright/index.js.map +7 -1
  21. package/components/FeatureExportButton/FeatureExportButton.js +40 -106
  22. package/components/FeatureExportButton/FeatureExportButton.js.map +7 -1
  23. package/components/FeatureExportButton/index.js +1 -3
  24. package/components/FeatureExportButton/index.js.map +7 -1
  25. package/components/FilterButton/FilterButton.js +41 -106
  26. package/components/FilterButton/FilterButton.js.map +7 -1
  27. package/components/FilterButton/index.js +1 -3
  28. package/components/FilterButton/index.js.map +7 -1
  29. package/components/FitExtent/FitExtent.js +17 -50
  30. package/components/FitExtent/FitExtent.js.map +7 -1
  31. package/components/FitExtent/index.js +1 -3
  32. package/components/FitExtent/index.js.map +7 -1
  33. package/components/FollowButton/FollowButton.js +41 -111
  34. package/components/FollowButton/FollowButton.js.map +7 -1
  35. package/components/FollowButton/index.js +1 -3
  36. package/components/FollowButton/index.js.map +7 -1
  37. package/components/Geolocation/Geolocation.js +104 -213
  38. package/components/Geolocation/Geolocation.js.map +7 -1
  39. package/components/Geolocation/index.js +1 -3
  40. package/components/Geolocation/index.js.map +7 -1
  41. package/components/LayerTree/LayerTree.js +207 -397
  42. package/components/LayerTree/LayerTree.js.map +7 -1
  43. package/components/LayerTree/index.js +1 -3
  44. package/components/LayerTree/index.js.map +7 -1
  45. package/components/MousePosition/MousePosition.js +61 -130
  46. package/components/MousePosition/MousePosition.js.map +7 -1
  47. package/components/MousePosition/index.js +1 -3
  48. package/components/MousePosition/index.js.map +7 -1
  49. package/components/NorthArrow/NorthArrow.js +22 -62
  50. package/components/NorthArrow/NorthArrow.js.map +7 -1
  51. package/components/NorthArrow/index.js +1 -3
  52. package/components/NorthArrow/index.js.map +7 -1
  53. package/components/Overlay/Overlay.js +85 -132
  54. package/components/Overlay/Overlay.js.map +7 -1
  55. package/components/Overlay/index.js +1 -3
  56. package/components/Overlay/index.js.map +7 -1
  57. package/components/Permalink/Permalink.js +151 -231
  58. package/components/Permalink/Permalink.js.map +7 -1
  59. package/components/Permalink/index.js +1 -3
  60. package/components/Permalink/index.js.map +7 -1
  61. package/components/Popup/Popup.js +106 -233
  62. package/components/Popup/Popup.js.map +7 -1
  63. package/components/Popup/index.js +1 -3
  64. package/components/Popup/index.js.map +7 -1
  65. package/components/ResizeHandler/ResizeHandler.js +60 -115
  66. package/components/ResizeHandler/ResizeHandler.js.map +7 -1
  67. package/components/ResizeHandler/index.js +1 -3
  68. package/components/ResizeHandler/index.js.map +7 -1
  69. package/components/RouteSchedule/RouteSchedule.js +153 -285
  70. package/components/RouteSchedule/RouteSchedule.js.map +7 -1
  71. package/components/RouteSchedule/index.js +1 -3
  72. package/components/RouteSchedule/index.js.map +7 -1
  73. package/components/ScaleLine/ScaleLine.js +21 -45
  74. package/components/ScaleLine/ScaleLine.js.map +7 -1
  75. package/components/ScaleLine/index.js +1 -3
  76. package/components/ScaleLine/index.js.map +7 -1
  77. package/components/Search/Search.js +122 -186
  78. package/components/Search/Search.js.map +7 -1
  79. package/components/Search/SearchService.js +45 -69
  80. package/components/Search/SearchService.js.map +7 -1
  81. package/components/Search/engines/Engine.js +18 -25
  82. package/components/Search/engines/Engine.js.map +7 -1
  83. package/components/Search/engines/StopFinder.js +21 -38
  84. package/components/Search/engines/StopFinder.js.map +7 -1
  85. package/components/Search/index.js +3 -6
  86. package/components/Search/index.js.map +7 -1
  87. package/components/StopsFinder/StopsFinder.js +123 -174
  88. package/components/StopsFinder/StopsFinder.js.map +7 -1
  89. package/components/StopsFinder/StopsFinderOption.js +37 -54
  90. package/components/StopsFinder/StopsFinderOption.js.map +7 -1
  91. package/components/StopsFinder/index.js +1 -3
  92. package/components/StopsFinder/index.js.map +7 -1
  93. package/components/TrackerControl/TrackerControl.js +73 -128
  94. package/components/TrackerControl/TrackerControl.js.map +7 -1
  95. package/components/TrackerControl/index.js +1 -3
  96. package/components/TrackerControl/index.js.map +7 -1
  97. package/components/Zoom/Zoom.js +69 -112
  98. package/components/Zoom/Zoom.js.map +7 -1
  99. package/components/Zoom/index.js +1 -3
  100. package/components/Zoom/index.js.map +7 -1
  101. package/package.json +20 -15
  102. package/propTypes.js +17 -23
  103. package/propTypes.js.map +7 -1
  104. package/setupTests.js +2 -4
  105. package/setupTests.js.map +7 -1
  106. package/themes/default/components.scss +0 -1
  107. package/themes/default/examples.scss +0 -1
  108. package/utils/GlobalsForOle.js +63 -64
  109. package/utils/GlobalsForOle.js.map +7 -1
  110. package/utils/KML.js +178 -364
  111. package/utils/KML.js.map +7 -1
  112. package/utils/KMLFormat.js +37 -73
  113. package/utils/KMLFormat.js.map +7 -1
  114. package/utils/Styles.js +24 -32
  115. package/utils/Styles.js.map +7 -1
  116. package/utils/getPolygonPattern.js +11 -44
  117. package/utils/getPolygonPattern.js.map +7 -1
  118. package/utils/timeUtils.js +16 -35
  119. package/utils/timeUtils.js.map +7 -1
  120. package/LayerService.test.js +0 -160
  121. package/LayerService.test.js.map +0 -1
  122. package/components/BaseLayerSwitcher/BaseLayerSwitcher.test.js +0 -88
  123. package/components/BaseLayerSwitcher/BaseLayerSwitcher.test.js.map +0 -1
  124. package/components/BaseLayerToggler/BaseLayerToggler.js +0 -490
  125. package/components/BaseLayerToggler/BaseLayerToggler.js.map +0 -1
  126. package/components/BaseLayerToggler/BaseLayerToggler.md.scss +0 -9
  127. package/components/BaseLayerToggler/BaseLayerToggler.scss +0 -49
  128. package/components/BaseLayerToggler/BaseLayerToggler.test.js +0 -127
  129. package/components/BaseLayerToggler/BaseLayerToggler.test.js.map +0 -1
  130. package/components/BaseLayerToggler/index.js +0 -3
  131. package/components/BaseLayerToggler/index.js.map +0 -1
  132. package/components/BasicMap/BasicMap.test.js +0 -288
  133. package/components/BasicMap/BasicMap.test.js.map +0 -1
  134. package/components/CanvasSaveButton/CanvasSaveButton.test.js +0 -173
  135. package/components/CanvasSaveButton/CanvasSaveButton.test.js.map +0 -1
  136. package/components/Copyright/Copyright.test.js +0 -133
  137. package/components/Copyright/Copyright.test.js.map +0 -1
  138. package/components/FeatureExportButton/FeatureExportButton.test.js +0 -407
  139. package/components/FeatureExportButton/FeatureExportButton.test.js.map +0 -1
  140. package/components/FilterButton/FilterButton.test.js +0 -48
  141. package/components/FilterButton/FilterButton.test.js.map +0 -1
  142. package/components/FitExtent/FitExtent.test.js +0 -44
  143. package/components/FitExtent/FitExtent.test.js.map +0 -1
  144. package/components/FollowButton/FollowButton.test.js +0 -57
  145. package/components/FollowButton/FollowButton.test.js.map +0 -1
  146. package/components/Geolocation/Geolocation.test.js +0 -263
  147. package/components/Geolocation/Geolocation.test.js.map +0 -1
  148. package/components/LayerTree/LayerTree.test.js +0 -323
  149. package/components/LayerTree/LayerTree.test.js.map +0 -1
  150. package/components/MousePosition/MousePosition.test.js +0 -125
  151. package/components/MousePosition/MousePosition.test.js.map +0 -1
  152. package/components/NorthArrow/NorthArrow.test.js +0 -106
  153. package/components/NorthArrow/NorthArrow.test.js.map +0 -1
  154. package/components/Overlay/Overlay.test.js +0 -145
  155. package/components/Overlay/Overlay.test.js.map +0 -1
  156. package/components/Permalink/Permalink.test.js +0 -267
  157. package/components/Permalink/Permalink.test.js.map +0 -1
  158. package/components/Popup/Popup.test.js +0 -291
  159. package/components/Popup/Popup.test.js.map +0 -1
  160. package/components/ResizeHandler/ResizeHandler.test.js +0 -410
  161. package/components/ResizeHandler/ResizeHandler.test.js.map +0 -1
  162. package/components/RouteSchedule/RouteSchedule.test.js +0 -102
  163. package/components/RouteSchedule/RouteSchedule.test.js.map +0 -1
  164. package/components/ScaleLine/ScaleLine.test.js +0 -32
  165. package/components/ScaleLine/ScaleLine.test.js.map +0 -1
  166. package/components/Search/Search.test.js +0 -15
  167. package/components/Search/Search.test.js.map +0 -1
  168. package/components/StopsFinder/StopsFinder.test.js +0 -19
  169. package/components/StopsFinder/StopsFinder.test.js.map +0 -1
  170. package/components/TrackerControl/TrackerControl.test.js +0 -17
  171. package/components/TrackerControl/TrackerControl.test.js.map +0 -1
  172. package/components/Zoom/Zoom.test.js +0 -150
  173. package/components/Zoom/Zoom.test.js.map +0 -1
  174. package/styleguidist/ComponentsList.js +0 -52
  175. package/styleguidist/ComponentsList.js.map +0 -1
  176. package/styleguidist/StyleGuide.js +0 -253
  177. package/styleguidist/StyleGuide.js.map +0 -1
  178. package/utils/KML.test.js +0 -163
  179. package/utils/KML.test.js.map +0 -1
  180. package/utils/KMLFormat.test.js +0 -22
  181. package/utils/KMLFormat.test.js.map +0 -1
  182. package/utils/getPolygonPattern.test.js +0 -66
  183. package/utils/getPolygonPattern.test.js.map +0 -1
  184. package/utils/timeUtils.test.js +0 -32
  185. package/utils/timeUtils.test.js.map +0 -1
@@ -1,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 'enzyme-adapter-react-16';
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 'enzyme-adapter-react-16';\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,yBAAyB,CAAC;AAC9C,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 'enzyme-adapter-react-16';
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 'enzyme-adapter-react-16';\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 'enzyme-adapter-react-16';
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 'enzyme-adapter-react-16';\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,yBAAyB,CAAC;AAC9C,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 'enzyme-adapter-react-16';
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 'enzyme-adapter-react-16';\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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"}