@deck.gl-community/editable-layers 9.0.0-alpha.1 → 9.0.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 (279) hide show
  1. package/LICENSE +19 -0
  2. package/README.md +2 -81
  3. package/dist/constants.js +4 -1
  4. package/dist/edit-modes/composite-mode.d.ts +1 -1
  5. package/dist/edit-modes/composite-mode.js +4 -1
  6. package/dist/edit-modes/draw-90degree-polygon-mode.d.ts +1 -1
  7. package/dist/edit-modes/draw-90degree-polygon-mode.js +29 -24
  8. package/dist/edit-modes/draw-circle-by-diameter-mode.d.ts +1 -1
  9. package/dist/edit-modes/draw-circle-by-diameter-mode.js +7 -4
  10. package/dist/edit-modes/draw-circle-from-center-mode.d.ts +1 -1
  11. package/dist/edit-modes/draw-circle-from-center-mode.js +7 -4
  12. package/dist/edit-modes/draw-ellipse-by-bounding-box-mode.d.ts +1 -1
  13. package/dist/edit-modes/draw-ellipse-by-bounding-box-mode.js +3 -0
  14. package/dist/edit-modes/draw-ellipse-using-three-points-mode.d.ts +1 -1
  15. package/dist/edit-modes/draw-ellipse-using-three-points-mode.js +3 -0
  16. package/dist/edit-modes/draw-line-string-mode.d.ts +1 -1
  17. package/dist/edit-modes/draw-line-string-mode.js +19 -16
  18. package/dist/edit-modes/draw-point-mode.d.ts +1 -1
  19. package/dist/edit-modes/draw-point-mode.js +7 -4
  20. package/dist/edit-modes/draw-polygon-by-dragging-mode.d.ts +1 -1
  21. package/dist/edit-modes/draw-polygon-by-dragging-mode.js +10 -5
  22. package/dist/edit-modes/draw-polygon-mode.d.ts +1 -1
  23. package/dist/edit-modes/draw-polygon-mode.js +20 -16
  24. package/dist/edit-modes/draw-rectangle-from-center-mode.d.ts +1 -1
  25. package/dist/edit-modes/draw-rectangle-from-center-mode.js +3 -0
  26. package/dist/edit-modes/draw-rectangle-mode.d.ts +1 -1
  27. package/dist/edit-modes/draw-rectangle-mode.js +3 -0
  28. package/dist/edit-modes/draw-rectangle-using-three-points-mode.d.ts +1 -1
  29. package/dist/edit-modes/draw-rectangle-using-three-points-mode.js +8 -5
  30. package/dist/edit-modes/draw-square-from-center-mode.d.ts +1 -1
  31. package/dist/edit-modes/draw-square-from-center-mode.js +3 -0
  32. package/dist/edit-modes/draw-square-mode.d.ts +1 -1
  33. package/dist/edit-modes/draw-square-mode.js +3 -0
  34. package/dist/edit-modes/duplicate-mode.d.ts +1 -1
  35. package/dist/edit-modes/duplicate-mode.js +3 -0
  36. package/dist/edit-modes/edit-mode.js +3 -1
  37. package/dist/edit-modes/elevation-mode.d.ts +2 -2
  38. package/dist/edit-modes/elevation-mode.js +8 -5
  39. package/dist/edit-modes/extend-line-string-mode.d.ts +1 -1
  40. package/dist/edit-modes/extend-line-string-mode.js +9 -6
  41. package/dist/edit-modes/extrude-mode.d.ts +1 -1
  42. package/dist/edit-modes/extrude-mode.js +10 -7
  43. package/dist/edit-modes/geojson-edit-mode.d.ts +1 -1
  44. package/dist/edit-modes/geojson-edit-mode.js +18 -15
  45. package/dist/edit-modes/immutable-feature-collection.d.ts +2 -1
  46. package/dist/edit-modes/immutable-feature-collection.js +25 -20
  47. package/dist/edit-modes/measure-angle-mode.d.ts +1 -1
  48. package/dist/edit-modes/measure-angle-mode.js +8 -8
  49. package/dist/edit-modes/measure-area-mode.d.ts +1 -1
  50. package/dist/edit-modes/measure-area-mode.js +7 -5
  51. package/dist/edit-modes/measure-distance-mode.d.ts +1 -1
  52. package/dist/edit-modes/measure-distance-mode.js +17 -14
  53. package/dist/edit-modes/modify-mode.d.ts +1 -1
  54. package/dist/edit-modes/modify-mode.js +17 -14
  55. package/dist/edit-modes/resize-circle-mode.d.ts +2 -2
  56. package/dist/edit-modes/resize-circle-mode.js +3 -1
  57. package/dist/edit-modes/rotate-mode.d.ts +1 -1
  58. package/dist/edit-modes/rotate-mode.js +8 -5
  59. package/dist/edit-modes/scale-mode.d.ts +1 -1
  60. package/dist/edit-modes/scale-mode.js +8 -5
  61. package/dist/edit-modes/snappable-mode.d.ts +1 -1
  62. package/dist/edit-modes/snappable-mode.js +8 -5
  63. package/dist/edit-modes/split-polygon-mode.d.ts +1 -1
  64. package/dist/edit-modes/split-polygon-mode.js +12 -9
  65. package/dist/edit-modes/three-click-polygon-mode.d.ts +1 -1
  66. package/dist/edit-modes/three-click-polygon-mode.js +9 -6
  67. package/dist/edit-modes/transform-mode.d.ts +1 -1
  68. package/dist/edit-modes/transform-mode.js +4 -1
  69. package/dist/edit-modes/translate-mode.d.ts +1 -1
  70. package/dist/edit-modes/translate-mode.js +7 -4
  71. package/dist/edit-modes/two-click-polygon-mode.d.ts +1 -1
  72. package/dist/edit-modes/two-click-polygon-mode.js +9 -6
  73. package/dist/edit-modes/types.d.ts +1 -1
  74. package/dist/edit-modes/types.js +3 -0
  75. package/dist/edit-modes/utils.d.ts +1 -1
  76. package/dist/edit-modes/utils.js +21 -19
  77. package/dist/edit-modes/view-mode.js +3 -0
  78. package/dist/editable-layers/editable-geojson-layer.d.ts +4 -4
  79. package/dist/editable-layers/editable-geojson-layer.js +27 -26
  80. package/dist/editable-layers/editable-h3-cluster-layer.d.ts +2 -2
  81. package/dist/editable-layers/editable-h3-cluster-layer.js +6 -3
  82. package/dist/editable-layers/editable-layer.d.ts +5 -5
  83. package/dist/editable-layers/editable-layer.js +18 -15
  84. package/dist/editable-layers/editable-path-layer.d.ts +1 -1
  85. package/dist/editable-layers/editable-path-layer.js +10 -7
  86. package/dist/editable-layers/elevated-edit-handle-layer.d.ts +1 -1
  87. package/dist/editable-layers/elevated-edit-handle-layer.js +6 -3
  88. package/dist/editable-layers/junction-scatterplot-layer.d.ts +2 -2
  89. package/dist/editable-layers/junction-scatterplot-layer.js +10 -7
  90. package/dist/editable-layers/selection-layer.d.ts +1 -1
  91. package/dist/editable-layers/selection-layer.js +5 -2
  92. package/dist/index.cjs +65 -537
  93. package/dist/index.cjs.map +4 -4
  94. package/dist/index.d.ts +19 -20
  95. package/dist/index.js +20 -18
  96. package/dist/lib/constants.js +3 -0
  97. package/dist/lib/deck-renderer/deck-cache.d.ts +1 -1
  98. package/dist/lib/deck-renderer/deck-cache.js +1 -1
  99. package/dist/lib/deck-renderer/deck-drawer.d.ts +2 -3
  100. package/dist/lib/deck-renderer/deck-drawer.js +12 -12
  101. package/dist/lib/feature.d.ts +4 -4
  102. package/dist/lib/feature.js +4 -1
  103. package/dist/lib/layer-mouse-event.d.ts +2 -2
  104. package/dist/lib/layer-mouse-event.js +4 -1
  105. package/dist/lib/layers/junctions-layer.d.ts +4 -4
  106. package/dist/lib/layers/junctions-layer.js +10 -7
  107. package/dist/lib/layers/segments-layer.d.ts +4 -4
  108. package/dist/lib/layers/segments-layer.js +11 -8
  109. package/dist/lib/layers/texts-layer.d.ts +3 -3
  110. package/dist/lib/layers/texts-layer.js +8 -5
  111. package/dist/lib/math.d.ts +1 -1
  112. package/dist/lib/math.js +3 -0
  113. package/dist/lib/{nebula.d.ts → nebula-core.d.ts} +2 -2
  114. package/dist/lib/{nebula.js → nebula-core.js} +7 -4
  115. package/dist/lib/nebula-layer.d.ts +2 -2
  116. package/dist/lib/nebula-layer.js +4 -1
  117. package/dist/lib/style.js +5 -2
  118. package/dist/mode-handlers/composite-mode-handler.d.ts +1 -1
  119. package/dist/mode-handlers/draw-90degree-polygon-handler.d.ts +1 -1
  120. package/dist/mode-handlers/draw-90degree-polygon-handler.js +13 -10
  121. package/dist/mode-handlers/draw-circle-by-bounding-box-handler.js +3 -0
  122. package/dist/mode-handlers/draw-circle-from-center-handler.js +3 -0
  123. package/dist/mode-handlers/draw-ellipse-by-bounding-box-handler.js +3 -0
  124. package/dist/mode-handlers/draw-ellipse-using-three-points-handler.js +5 -2
  125. package/dist/mode-handlers/draw-line-string-handler.js +7 -4
  126. package/dist/mode-handlers/draw-point-handler.js +4 -1
  127. package/dist/mode-handlers/draw-polygon-handler.d.ts +1 -1
  128. package/dist/mode-handlers/draw-polygon-handler.js +10 -7
  129. package/dist/mode-handlers/draw-rectangle-handler.js +3 -0
  130. package/dist/mode-handlers/draw-rectangle-using-three-points-handler.js +11 -8
  131. package/dist/mode-handlers/duplicate-handler.js +3 -0
  132. package/dist/mode-handlers/elevation-handler.d.ts +2 -2
  133. package/dist/mode-handlers/elevation-handler.js +8 -5
  134. package/dist/mode-handlers/extrude-handler.js +10 -7
  135. package/dist/mode-handlers/mode-handler.d.ts +1 -1
  136. package/dist/mode-handlers/mode-handler.js +17 -14
  137. package/dist/mode-handlers/modify-handler.d.ts +2 -2
  138. package/dist/mode-handlers/modify-handler.js +18 -15
  139. package/dist/mode-handlers/rotate-handler.d.ts +1 -1
  140. package/dist/mode-handlers/rotate-handler.js +4 -1
  141. package/dist/mode-handlers/scale-handler.d.ts +1 -1
  142. package/dist/mode-handlers/scale-handler.js +5 -2
  143. package/dist/mode-handlers/snappable-handler.d.ts +1 -1
  144. package/dist/mode-handlers/snappable-handler.js +6 -3
  145. package/dist/mode-handlers/split-polygon-handler.js +11 -8
  146. package/dist/mode-handlers/three-click-polygon-handler.js +3 -0
  147. package/dist/mode-handlers/translate-handler.d.ts +1 -1
  148. package/dist/mode-handlers/translate-handler.js +4 -1
  149. package/dist/mode-handlers/two-click-polygon-handler.js +3 -0
  150. package/dist/mode-handlers/view-handler.d.ts +1 -1
  151. package/dist/mode-handlers/view-handler.js +3 -0
  152. package/dist/shaderlib/color/color.d.ts +7 -6
  153. package/dist/shaderlib/color/color.js +7 -4
  154. package/dist/shaderlib/utils/utils.d.ts +2 -2
  155. package/dist/shaderlib/utils/utils.js +5 -2
  156. package/dist/{curve-utils.js → utils/curve-utils.js} +7 -4
  157. package/dist/{geojson-types.d.ts → utils/geojson-types.d.ts} +2 -25
  158. package/dist/utils/geojson-types.js +4 -0
  159. package/dist/{memoize.d.ts → utils/memoize.d.ts} +1 -1
  160. package/dist/{memoize.js → utils/memoize.js} +4 -1
  161. package/dist/{translateFromCenter.js → utils/translate-from-center.js} +4 -1
  162. package/dist/utils/types.js +4 -0
  163. package/dist/{utils.js → utils/utils.js} +8 -6
  164. package/package.json +10 -10
  165. package/src/constants.ts +5 -1
  166. package/src/edit-modes/composite-mode.ts +9 -5
  167. package/src/edit-modes/draw-90degree-polygon-mode.ts +38 -34
  168. package/src/edit-modes/draw-circle-by-diameter-mode.ts +16 -12
  169. package/src/edit-modes/draw-circle-from-center-mode.ts +15 -11
  170. package/src/edit-modes/draw-ellipse-by-bounding-box-mode.ts +8 -4
  171. package/src/edit-modes/draw-ellipse-using-three-points-mode.ts +9 -5
  172. package/src/edit-modes/draw-line-string-mode.ts +29 -25
  173. package/src/edit-modes/draw-point-mode.ts +13 -9
  174. package/src/edit-modes/draw-polygon-by-dragging-mode.ts +16 -16
  175. package/src/edit-modes/draw-polygon-mode.ts +28 -23
  176. package/src/edit-modes/draw-rectangle-from-center-mode.ts +6 -2
  177. package/src/edit-modes/draw-rectangle-mode.ts +6 -2
  178. package/src/edit-modes/draw-rectangle-using-three-points-mode.ts +12 -8
  179. package/src/edit-modes/draw-square-from-center-mode.ts +7 -3
  180. package/src/edit-modes/draw-square-mode.ts +7 -3
  181. package/src/edit-modes/duplicate-mode.ts +7 -3
  182. package/src/edit-modes/edit-mode.ts +5 -1
  183. package/src/edit-modes/elevation-mode.ts +13 -9
  184. package/src/edit-modes/extend-line-string-mode.ts +16 -12
  185. package/src/edit-modes/extrude-mode.ts +22 -18
  186. package/src/edit-modes/geojson-edit-mode.ts +37 -33
  187. package/src/edit-modes/immutable-feature-collection.ts +28 -22
  188. package/src/edit-modes/measure-angle-mode.ts +66 -59
  189. package/src/edit-modes/measure-area-mode.ts +13 -10
  190. package/src/edit-modes/measure-distance-mode.ts +37 -33
  191. package/src/edit-modes/modify-mode.ts +36 -32
  192. package/src/edit-modes/resize-circle-mode.ts +8 -5
  193. package/src/edit-modes/rotate-mode.ts +22 -18
  194. package/src/edit-modes/scale-mode.ts +29 -23
  195. package/src/edit-modes/snappable-mode.ts +19 -15
  196. package/src/edit-modes/split-polygon-mode.ts +25 -21
  197. package/src/edit-modes/three-click-polygon-mode.ts +15 -11
  198. package/src/edit-modes/transform-mode.ts +15 -11
  199. package/src/edit-modes/translate-mode.ts +15 -11
  200. package/src/edit-modes/two-click-polygon-mode.ts +15 -11
  201. package/src/edit-modes/types.ts +5 -1
  202. package/src/edit-modes/utils.ts +33 -30
  203. package/src/edit-modes/view-mode.ts +5 -1
  204. package/src/editable-layers/editable-geojson-layer.ts +44 -41
  205. package/src/editable-layers/editable-h3-cluster-layer.ts +17 -14
  206. package/src/editable-layers/editable-layer.ts +42 -32
  207. package/src/editable-layers/editable-path-layer.ts +12 -8
  208. package/src/editable-layers/elevated-edit-handle-layer.ts +11 -7
  209. package/src/editable-layers/junction-scatterplot-layer.ts +15 -11
  210. package/src/editable-layers/selection-layer.ts +11 -7
  211. package/src/index.ts +68 -65
  212. package/src/lib/constants.ts +4 -0
  213. package/src/lib/deck-renderer/deck-cache.ts +1 -1
  214. package/src/lib/deck-renderer/deck-drawer.ts +28 -28
  215. package/src/lib/feature.ts +7 -3
  216. package/src/lib/layer-mouse-event.ts +7 -6
  217. package/src/lib/layers/junctions-layer.ts +14 -10
  218. package/src/lib/layers/segments-layer.ts +24 -20
  219. package/src/lib/layers/texts-layer.ts +18 -14
  220. package/src/lib/math.ts +5 -1
  221. package/src/lib/{nebula.ts → nebula-core.ts} +8 -4
  222. package/src/lib/nebula-layer.ts +9 -5
  223. package/src/lib/style.ts +6 -2
  224. package/src/mode-handlers/composite-mode-handler.ts +6 -6
  225. package/src/mode-handlers/draw-90degree-polygon-handler.ts +22 -18
  226. package/src/mode-handlers/draw-circle-by-bounding-box-handler.ts +10 -6
  227. package/src/mode-handlers/draw-circle-from-center-handler.ts +10 -6
  228. package/src/mode-handlers/draw-ellipse-by-bounding-box-handler.ts +9 -5
  229. package/src/mode-handlers/draw-ellipse-using-three-points-handler.ts +12 -8
  230. package/src/mode-handlers/draw-line-string-handler.ts +12 -8
  231. package/src/mode-handlers/draw-point-handler.ts +9 -5
  232. package/src/mode-handlers/draw-polygon-handler.ts +16 -12
  233. package/src/mode-handlers/draw-rectangle-handler.ts +8 -4
  234. package/src/mode-handlers/draw-rectangle-using-three-points-handler.ts +17 -13
  235. package/src/mode-handlers/duplicate-handler.ts +8 -4
  236. package/src/mode-handlers/elevation-handler.ts +14 -10
  237. package/src/mode-handlers/extrude-handler.ts +15 -11
  238. package/src/mode-handlers/mode-handler.ts +26 -28
  239. package/src/mode-handlers/modify-handler.ts +29 -25
  240. package/src/mode-handlers/rotate-handler.ts +13 -17
  241. package/src/mode-handlers/scale-handler.ts +13 -13
  242. package/src/mode-handlers/snappable-handler.ts +28 -24
  243. package/src/mode-handlers/split-polygon-handler.ts +22 -18
  244. package/src/mode-handlers/three-click-polygon-handler.ts +6 -2
  245. package/src/mode-handlers/translate-handler.ts +12 -8
  246. package/src/mode-handlers/two-click-polygon-handler.ts +6 -2
  247. package/src/mode-handlers/view-handler.ts +7 -3
  248. package/src/shaderlib/color/color.ts +10 -5
  249. package/src/shaderlib/utils/utils.ts +6 -2
  250. package/src/{curve-utils.ts → utils/curve-utils.ts} +11 -7
  251. package/src/{geojson-types.ts → utils/geojson-types.ts} +16 -31
  252. package/src/{memoize.ts → utils/memoize.ts} +5 -1
  253. package/src/{translateFromCenter.ts → utils/translate-from-center.ts} +8 -4
  254. package/src/{types.ts → utils/types.ts} +4 -0
  255. package/src/{utils.ts → utils/utils.ts} +14 -11
  256. package/dist/editable-layers/path-marker-layer/arrow-2d-geometry.d.ts +0 -4
  257. package/dist/editable-layers/path-marker-layer/arrow-2d-geometry.js +0 -55
  258. package/dist/editable-layers/path-marker-layer/create-path-markers.d.ts +0 -16
  259. package/dist/editable-layers/path-marker-layer/create-path-markers.js +0 -75
  260. package/dist/editable-layers/path-marker-layer/path-marker-layer.d.ts +0 -40
  261. package/dist/editable-layers/path-marker-layer/path-marker-layer.js +0 -121
  262. package/dist/editable-layers/path-marker-layer/polyline.d.ts +0 -18
  263. package/dist/editable-layers/path-marker-layer/polyline.js +0 -37
  264. package/dist/editable-layers/path-outline-layer/path-outline-layer.d.ts +0 -26
  265. package/dist/editable-layers/path-outline-layer/path-outline-layer.js +0 -106
  266. package/dist/geojson-types.js +0 -2
  267. package/dist/shaderlib/outline/outline.d.ts +0 -8
  268. package/dist/shaderlib/outline/outline.js +0 -97
  269. package/dist/types.js +0 -1
  270. package/src/editable-layers/path-marker-layer/arrow-2d-geometry.ts +0 -61
  271. package/src/editable-layers/path-marker-layer/create-path-markers.ts +0 -107
  272. package/src/editable-layers/path-marker-layer/path-marker-layer.ts +0 -179
  273. package/src/editable-layers/path-marker-layer/polyline.ts +0 -40
  274. package/src/editable-layers/path-outline-layer/path-outline-layer.ts +0 -147
  275. package/src/shaderlib/outline/outline.ts +0 -101
  276. /package/dist/{curve-utils.d.ts → utils/curve-utils.d.ts} +0 -0
  277. /package/dist/{translateFromCenter.d.ts → utils/translate-from-center.d.ts} +0 -0
  278. /package/dist/{types.d.ts → utils/types.d.ts} +0 -0
  279. /package/dist/{utils.d.ts → utils/utils.d.ts} +0 -0
@@ -1,8 +1,12 @@
1
+ // deck.gl-community
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+
1
5
  import circle from '@turf/circle';
2
6
  import distance from '@turf/distance';
3
- import { PointerMoveEvent } from '../edit-modes/types';
4
- import { EditAction, getIntermediatePosition } from './mode-handler';
5
- import { TwoClickPolygonHandler } from './two-click-polygon-handler';
7
+ import {PointerMoveEvent} from '../edit-modes/types';
8
+ import {EditAction, getIntermediatePosition} from './mode-handler';
9
+ import {TwoClickPolygonHandler} from './two-click-polygon-handler';
6
10
 
7
11
  // TODO edit-modes: delete handlers once EditMode fully implemented
8
12
  export class DrawCircleByBoundingBoxHandler extends TwoClickPolygonHandler {
@@ -10,7 +14,7 @@ export class DrawCircleByBoundingBoxHandler extends TwoClickPolygonHandler {
10
14
  editAction: EditAction | null | undefined;
11
15
  cancelMapPan: boolean;
12
16
  } {
13
- const result = { editAction: null, cancelMapPan: false };
17
+ const result = {editAction: null, cancelMapPan: false};
14
18
  const clickSequence = this.getClickSequence();
15
19
 
16
20
  if (clickSequence.length === 0) {
@@ -20,8 +24,8 @@ export class DrawCircleByBoundingBoxHandler extends TwoClickPolygonHandler {
20
24
 
21
25
  const modeConfig = this.getModeConfig() || {};
22
26
  // Default turf value for circle is 64
23
- const { steps = 64 } = modeConfig;
24
- const options = { steps };
27
+ const {steps = 64} = modeConfig;
28
+ const options = {steps};
25
29
 
26
30
  if (steps < 4) {
27
31
  console.warn('Minimum steps to draw a circle is 4 '); // eslint-disable-line no-console,no-undef
@@ -1,8 +1,12 @@
1
+ // deck.gl-community
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+
1
5
  import circle from '@turf/circle';
2
6
  import distance from '@turf/distance';
3
- import { PointerMoveEvent } from '../edit-modes/types';
4
- import { EditAction } from './mode-handler';
5
- import { TwoClickPolygonHandler } from './two-click-polygon-handler';
7
+ import {PointerMoveEvent} from '../edit-modes/types';
8
+ import {EditAction} from './mode-handler';
9
+ import {TwoClickPolygonHandler} from './two-click-polygon-handler';
6
10
 
7
11
  // TODO edit-modes: delete handlers once EditMode fully implemented
8
12
  export class DrawCircleFromCenterHandler extends TwoClickPolygonHandler {
@@ -10,7 +14,7 @@ export class DrawCircleFromCenterHandler extends TwoClickPolygonHandler {
10
14
  editAction: EditAction | null | undefined;
11
15
  cancelMapPan: boolean;
12
16
  } {
13
- const result = { editAction: null, cancelMapPan: false };
17
+ const result = {editAction: null, cancelMapPan: false};
14
18
  const clickSequence = this.getClickSequence();
15
19
 
16
20
  if (clickSequence.length === 0) {
@@ -20,8 +24,8 @@ export class DrawCircleFromCenterHandler extends TwoClickPolygonHandler {
20
24
 
21
25
  const modeConfig = this.getModeConfig() || {};
22
26
  // Default turf value for circle is 64
23
- const { steps = 64 } = modeConfig;
24
- const options = { steps };
27
+ const {steps = 64} = modeConfig;
28
+ const options = {steps};
25
29
 
26
30
  if (steps < 4) {
27
31
  console.warn('Minimum steps to draw a circle is 4 '); // eslint-disable-line no-console,no-undef
@@ -1,10 +1,14 @@
1
+ // deck.gl-community
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+
1
5
  import bboxPolygon from '@turf/bbox-polygon';
2
6
  import distance from '@turf/distance';
3
7
  import ellipse from '@turf/ellipse';
4
- import { point } from '@turf/helpers';
5
- import { PointerMoveEvent } from '../edit-modes/types';
6
- import { EditAction, getIntermediatePosition } from './mode-handler';
7
- import { TwoClickPolygonHandler } from './two-click-polygon-handler';
8
+ import {point} from '@turf/helpers';
9
+ import {PointerMoveEvent} from '../edit-modes/types';
10
+ import {EditAction, getIntermediatePosition} from './mode-handler';
11
+ import {TwoClickPolygonHandler} from './two-click-polygon-handler';
8
12
 
9
13
  // TODO edit-modes: delete handlers once EditMode fully implemented
10
14
  export class DrawEllipseByBoundingBoxHandler extends TwoClickPolygonHandler {
@@ -12,7 +16,7 @@ export class DrawEllipseByBoundingBoxHandler extends TwoClickPolygonHandler {
12
16
  editAction: EditAction | null | undefined;
13
17
  cancelMapPan: boolean;
14
18
  } {
15
- const result = { editAction: null, cancelMapPan: false };
19
+ const result = {editAction: null, cancelMapPan: false};
16
20
  const clickSequence = this.getClickSequence();
17
21
 
18
22
  if (clickSequence.length === 0) {
@@ -1,10 +1,14 @@
1
+ // deck.gl-community
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+
1
5
  import distance from '@turf/distance';
2
6
  import ellipse from '@turf/ellipse';
3
7
  import bearing from '@turf/bearing';
4
- import { point } from '@turf/helpers';
5
- import { PointerMoveEvent } from '../edit-modes/types';
6
- import { EditAction, getIntermediatePosition } from './mode-handler';
7
- import { ThreeClickPolygonHandler } from './three-click-polygon-handler';
8
+ import {point} from '@turf/helpers';
9
+ import {PointerMoveEvent} from '../edit-modes/types';
10
+ import {EditAction, getIntermediatePosition} from './mode-handler';
11
+ import {ThreeClickPolygonHandler} from './three-click-polygon-handler';
8
12
 
9
13
  // TODO edit-modes: delete handlers once EditMode fully implemented
10
14
  export class DrawEllipseUsingThreePointsHandler extends ThreeClickPolygonHandler {
@@ -12,7 +16,7 @@ export class DrawEllipseUsingThreePointsHandler extends ThreeClickPolygonHandler
12
16
  editAction: EditAction | null | undefined;
13
17
  cancelMapPan: boolean;
14
18
  } {
15
- const result = { editAction: null, cancelMapPan: false };
19
+ const result = {editAction: null, cancelMapPan: false};
16
20
  const clickSequence = this.getClickSequence();
17
21
 
18
22
  if (clickSequence.length === 0) {
@@ -27,8 +31,8 @@ export class DrawEllipseUsingThreePointsHandler extends ThreeClickPolygonHandler
27
31
  type: 'Feature',
28
32
  geometry: {
29
33
  type: 'LineString',
30
- coordinates: [clickSequence[0], mapCoords],
31
- },
34
+ coordinates: [clickSequence[0], mapCoords]
35
+ }
32
36
  });
33
37
  } else if (clickSequence.length === 2) {
34
38
  const [p1, p2] = clickSequence;
@@ -36,7 +40,7 @@ export class DrawEllipseUsingThreePointsHandler extends ThreeClickPolygonHandler
36
40
  const centerCoordinates = getIntermediatePosition(p1, p2);
37
41
  const xSemiAxis = Math.max(distance(centerCoordinates, point(mapCoords)), 0.001);
38
42
  const ySemiAxis = Math.max(distance(p1, p2), 0.001) / 2;
39
- const options = { angle: bearing(p1, p2) };
43
+ const options = {angle: bearing(p1, p2)};
40
44
  // @ts-expect-error turf types diff
41
45
  this._setTentativeFeature(ellipse(centerCoordinates, xSemiAxis, ySemiAxis, options));
42
46
  }
@@ -1,6 +1,10 @@
1
- import { Position, LineString } from '../geojson-types';
2
- import { ClickEvent, PointerMoveEvent } from '../edit-modes/types';
3
- import { EditAction, ModeHandler } from './mode-handler';
1
+ // deck.gl-community
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+
5
+ import {Position, LineString} from '../utils/geojson-types';
6
+ import {ClickEvent, PointerMoveEvent} from '../edit-modes/types';
7
+ import {EditAction, ModeHandler} from './mode-handler';
4
8
 
5
9
  // TODO edit-modes: delete handlers once EditMode fully implemented
6
10
  export class DrawLineStringHandler extends ModeHandler {
@@ -43,8 +47,8 @@ export class DrawLineStringHandler extends ModeHandler {
43
47
  featureIndexes: [featureIndex],
44
48
  editContext: {
45
49
  positionIndexes,
46
- position: event.mapCoords,
47
- },
50
+ position: event.mapCoords
51
+ }
48
52
  };
49
53
 
50
54
  this.resetClickSequence();
@@ -63,7 +67,7 @@ export class DrawLineStringHandler extends ModeHandler {
63
67
  editAction: EditAction | null | undefined;
64
68
  cancelMapPan: boolean;
65
69
  } {
66
- const result = { editAction: null, cancelMapPan: false };
70
+ const result = {editAction: null, cancelMapPan: false};
67
71
 
68
72
  const clickSequence = this.getClickSequence();
69
73
  const mapCoords = event.mapCoords;
@@ -98,8 +102,8 @@ export class DrawLineStringHandler extends ModeHandler {
98
102
  properties: {},
99
103
  geometry: {
100
104
  type: 'LineString',
101
- coordinates: [startPosition, mapCoords],
102
- },
105
+ coordinates: [startPosition, mapCoords]
106
+ }
103
107
  });
104
108
  }
105
109
 
@@ -1,13 +1,17 @@
1
- import { Geometry } from '../geojson-types';
2
- import { ClickEvent } from '../edit-modes/types';
3
- import { EditAction, ModeHandler } from './mode-handler';
1
+ // deck.gl-community
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+
5
+ import {Geometry} from '../utils/geojson-types';
6
+ import {ClickEvent} from '../edit-modes/types';
7
+ import {EditAction, ModeHandler} from './mode-handler';
4
8
 
5
9
  // TODO edit-modes: delete handlers once EditMode fully implemented
6
10
  export class DrawPointHandler extends ModeHandler {
7
- handleClick({ mapCoords }: ClickEvent): EditAction | null | undefined {
11
+ handleClick({mapCoords}: ClickEvent): EditAction | null | undefined {
8
12
  const geometry: Geometry = {
9
13
  type: 'Point',
10
- coordinates: mapCoords,
14
+ coordinates: mapCoords
11
15
  };
12
16
 
13
17
  return this.getAddFeatureAction(geometry);
@@ -1,11 +1,15 @@
1
- import { Polygon, Position } from '../geojson-types';
2
- import { ClickEvent, PointerMoveEvent } from '../edit-modes/types';
1
+ // deck.gl-community
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+
5
+ import {Polygon, Position} from '../utils/geojson-types';
6
+ import {ClickEvent, PointerMoveEvent} from '../edit-modes/types';
3
7
  import {
4
8
  EditAction,
5
9
  EditHandle,
6
10
  ModeHandler,
7
11
  getPickedEditHandle,
8
- getEditHandlesForGeometry,
12
+ getEditHandlesForGeometry
9
13
  } from './mode-handler';
10
14
 
11
15
  // TODO edit-modes: delete handlers once EditMode fully implemented
@@ -31,7 +35,7 @@ export class DrawPolygonHandler extends ModeHandler {
31
35
  handleClick(event: ClickEvent): EditAction | null | undefined {
32
36
  super.handleClick(event);
33
37
 
34
- const { picks } = event;
38
+ const {picks} = event;
35
39
  const tentativeFeature = this.getTentativeFeature();
36
40
 
37
41
  let editAction: EditAction | null | undefined = null;
@@ -58,7 +62,7 @@ export class DrawPolygonHandler extends ModeHandler {
58
62
  // Remove the hovered position
59
63
  const polygonToAdd: Polygon = {
60
64
  type: 'Polygon',
61
- coordinates: [[...polygon.coordinates[0].slice(0, -2), polygon.coordinates[0][0]]],
65
+ coordinates: [[...polygon.coordinates[0].slice(0, -2), polygon.coordinates[0][0]]]
62
66
  };
63
67
 
64
68
  this.resetClickSequence();
@@ -76,7 +80,7 @@ export class DrawPolygonHandler extends ModeHandler {
76
80
  pointerDownPicks: null,
77
81
  pointerDownScreenCoords: null,
78
82
  pointerDownMapCoords: null,
79
- sourceEvent: null,
83
+ sourceEvent: null
80
84
  } as unknown as PointerMoveEvent;
81
85
 
82
86
  this.handlePointerMove(fakePointerMoveEvent);
@@ -84,12 +88,12 @@ export class DrawPolygonHandler extends ModeHandler {
84
88
  return editAction;
85
89
  }
86
90
 
87
- handlePointerMove({ mapCoords }: PointerMoveEvent): {
91
+ handlePointerMove({mapCoords}: PointerMoveEvent): {
88
92
  editAction: EditAction | null | undefined;
89
93
  cancelMapPan: boolean;
90
94
  } {
91
95
  const clickSequence = this.getClickSequence();
92
- const result = { editAction: null, cancelMapPan: false };
96
+ const result = {editAction: null, cancelMapPan: false};
93
97
 
94
98
  if (clickSequence.length === 0) {
95
99
  // nothing to do yet
@@ -102,8 +106,8 @@ export class DrawPolygonHandler extends ModeHandler {
102
106
  type: 'Feature',
103
107
  geometry: {
104
108
  type: 'LineString',
105
- coordinates: [...clickSequence, mapCoords],
106
- },
109
+ coordinates: [...clickSequence, mapCoords]
110
+ }
107
111
  });
108
112
  } else {
109
113
  // Draw a Polygon connecting all the clicked points with the hovered point
@@ -111,8 +115,8 @@ export class DrawPolygonHandler extends ModeHandler {
111
115
  type: 'Feature',
112
116
  geometry: {
113
117
  type: 'Polygon',
114
- coordinates: [[...clickSequence, mapCoords, clickSequence[0]]],
115
- },
118
+ coordinates: [[...clickSequence, mapCoords, clickSequence[0]]]
119
+ }
116
120
  });
117
121
  }
118
122
 
@@ -1,7 +1,11 @@
1
+ // deck.gl-community
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+
1
5
  import bboxPolygon from '@turf/bbox-polygon';
2
- import { PointerMoveEvent } from '../edit-modes/types';
3
- import { EditAction } from './mode-handler';
4
- import { TwoClickPolygonHandler } from './two-click-polygon-handler';
6
+ import {PointerMoveEvent} from '../edit-modes/types';
7
+ import {EditAction} from './mode-handler';
8
+ import {TwoClickPolygonHandler} from './two-click-polygon-handler';
5
9
 
6
10
  // TODO edit-modes: delete handlers once EditMode fully implemented
7
11
  export class DrawRectangleHandler extends TwoClickPolygonHandler {
@@ -9,7 +13,7 @@ export class DrawRectangleHandler extends TwoClickPolygonHandler {
9
13
  editAction: EditAction | null | undefined;
10
14
  cancelMapPan: boolean;
11
15
  } {
12
- const result = { editAction: null, cancelMapPan: false };
16
+ const result = {editAction: null, cancelMapPan: false};
13
17
  const clickSequence = this.getClickSequence();
14
18
 
15
19
  if (clickSequence.length === 0) {
@@ -1,8 +1,12 @@
1
- import { LineString } from '../geojson-types';
2
- import { generatePointsParallelToLinePoints } from '../utils';
3
- import { PointerMoveEvent } from '../edit-modes/types';
4
- import { EditAction } from './mode-handler';
5
- import { ThreeClickPolygonHandler } from './three-click-polygon-handler';
1
+ // deck.gl-community
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+
5
+ import {LineString} from '../utils/geojson-types';
6
+ import {generatePointsParallelToLinePoints} from '../utils/utils';
7
+ import {PointerMoveEvent} from '../edit-modes/types';
8
+ import {EditAction} from './mode-handler';
9
+ import {ThreeClickPolygonHandler} from './three-click-polygon-handler';
6
10
 
7
11
  // TODO edit-modes: delete handlers once EditMode fully implemented
8
12
  export class DrawRectangleUsingThreePointsHandler extends ThreeClickPolygonHandler {
@@ -10,7 +14,7 @@ export class DrawRectangleUsingThreePointsHandler extends ThreeClickPolygonHandl
10
14
  editAction: EditAction | null | undefined;
11
15
  cancelMapPan: boolean;
12
16
  } {
13
- const result = { editAction: null, cancelMapPan: false };
17
+ const result = {editAction: null, cancelMapPan: false};
14
18
  const clickSequence = this.getClickSequence();
15
19
 
16
20
  if (clickSequence.length === 0) {
@@ -25,13 +29,13 @@ export class DrawRectangleUsingThreePointsHandler extends ThreeClickPolygonHandl
25
29
  type: 'Feature',
26
30
  geometry: {
27
31
  type: 'LineString',
28
- coordinates: [clickSequence[0], mapCoords],
29
- },
32
+ coordinates: [clickSequence[0], mapCoords]
33
+ }
30
34
  });
31
35
  } else if (clickSequence.length === 2) {
32
36
  const lineString: LineString = {
33
37
  type: 'LineString',
34
- coordinates: clickSequence,
38
+ coordinates: clickSequence
35
39
  };
36
40
  const [p1, p2] = clickSequence;
37
41
  const [p3, p4] = generatePointsParallelToLinePoints(p1, p2, mapCoords);
@@ -48,10 +52,10 @@ export class DrawRectangleUsingThreePointsHandler extends ThreeClickPolygonHandl
48
52
  ...lineString.coordinates,
49
53
  p3,
50
54
  p4,
51
- p1,
52
- ],
53
- ],
54
- },
55
+ p1
56
+ ]
57
+ ]
58
+ }
55
59
  });
56
60
  }
57
61
 
@@ -1,6 +1,10 @@
1
- import { StartDraggingEvent } from '../edit-modes/types';
2
- import { EditAction } from './mode-handler';
3
- import { TranslateHandler } from './translate-handler';
1
+ // deck.gl-community
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+
5
+ import {StartDraggingEvent} from '../edit-modes/types';
6
+ import {EditAction} from './mode-handler';
7
+ import {TranslateHandler} from './translate-handler';
4
8
 
5
9
  // TODO edit-modes: delete handlers once EditMode fully implemented
6
10
  export class DuplicateHandler extends TranslateHandler {
@@ -16,7 +20,7 @@ export class DuplicateHandler extends TranslateHandler {
16
20
  : null;
17
21
  }
18
22
 
19
- getCursor({ isDragging }: { isDragging: boolean }): string {
23
+ getCursor({isDragging}: {isDragging: boolean}): string {
20
24
  if (this._isTranslatable) {
21
25
  return 'copy';
22
26
  }
@@ -1,12 +1,16 @@
1
- import { Position } from '../geojson-types';
2
- import { PointerMoveEvent, StopDraggingEvent } from '../edit-modes/types';
3
- import { EditAction, getPickedEditHandle } from './mode-handler';
1
+ // deck.gl-community
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
4
 
5
- import { ModifyHandler } from './modify-handler';
5
+ import {Position} from '../utils/geojson-types';
6
+ import {PointerMoveEvent, StopDraggingEvent} from '../edit-modes/types';
7
+ import {EditAction, getPickedEditHandle} from './mode-handler';
8
+
9
+ import {ModifyHandler} from './modify-handler';
6
10
 
7
11
  function defaultCalculateElevationChange({
8
12
  pointerDownScreenCoords,
9
- screenCoords,
13
+ screenCoords
10
14
  }: {
11
15
  pointerDownScreenCoords: Position;
12
16
  screenCoords: Position;
@@ -27,7 +31,7 @@ export class ElevationHandler extends ModifyHandler {
27
31
  const {
28
32
  minElevation = 0,
29
33
  maxElevation = 20000,
30
- calculateElevationChange = defaultCalculateElevationChange,
34
+ calculateElevationChange = defaultCalculateElevationChange
31
35
  } = this._modeConfig || {};
32
36
 
33
37
  // $FlowFixMe - really, I know it has something at index 2
@@ -36,13 +40,13 @@ export class ElevationHandler extends ModifyHandler {
36
40
  // calculateElevationChange is configurable becase (at this time) modes are not aware of the viewport
37
41
  elevation += calculateElevationChange({
38
42
  pointerDownScreenCoords: event.pointerDownScreenCoords,
39
- screenCoords: event.screenCoords,
43
+ screenCoords: event.screenCoords
40
44
  });
41
45
  elevation = Math.min(elevation, maxElevation);
42
46
  elevation = Math.max(elevation, minElevation);
43
47
 
44
48
  return Object.assign({}, event, {
45
- mapCoords: [position[0], position[1], elevation],
49
+ mapCoords: [position[0], position[1], elevation]
46
50
  });
47
51
  }
48
52
 
@@ -61,7 +65,7 @@ export class ElevationHandler extends ModifyHandler {
61
65
  return super.handleStopDragging(this.makeElevatedEvent(event, position));
62
66
  }
63
67
 
64
- getCursor(params: { isDragging: boolean }): string {
68
+ getCursor(params: {isDragging: boolean}): string {
65
69
  let cursor = super.getCursor(params);
66
70
  if (cursor === 'cell') {
67
71
  cursor = 'ns-resize';
@@ -73,7 +77,7 @@ export class ElevationHandler extends ModifyHandler {
73
77
  viewport: any,
74
78
  {
75
79
  pointerDownScreenCoords,
76
- screenCoords,
80
+ screenCoords
77
81
  }: {
78
82
  pointerDownScreenCoords: Position;
79
83
  screenCoords: Position;
@@ -1,9 +1,13 @@
1
+ // deck.gl-community
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+
1
5
  import bearing from '@turf/bearing';
2
- import { generatePointsParallelToLinePoints } from '../utils';
3
- import { PointerMoveEvent, StartDraggingEvent, StopDraggingEvent } from '../edit-modes/types';
4
- import { EditAction, getPickedEditHandle } from './mode-handler';
6
+ import {generatePointsParallelToLinePoints} from '../utils/utils';
7
+ import {PointerMoveEvent, StartDraggingEvent, StopDraggingEvent} from '../edit-modes/types';
8
+ import {EditAction, getPickedEditHandle} from './mode-handler';
5
9
 
6
- import { ModifyHandler } from './modify-handler';
10
+ import {ModifyHandler} from './modify-handler';
7
11
 
8
12
  // TODO edit-modes: delete handlers once EditMode fully implemented
9
13
  export class ExtrudeHandler extends ModifyHandler {
@@ -48,8 +52,8 @@ export class ExtrudeHandler extends ModifyHandler {
48
52
  featureIndexes: [editHandle.featureIndex],
49
53
  editContext: {
50
54
  positionIndexes: this.nextPositionIndexes(editHandle.positionIndexes, size),
51
- position: p3,
52
- },
55
+ position: p3
56
+ }
53
57
  };
54
58
  }
55
59
  }
@@ -57,7 +61,7 @@ export class ExtrudeHandler extends ModifyHandler {
57
61
  // Cancel map panning if pointer went down on an edit handle
58
62
  const cancelMapPan = Boolean(editHandle);
59
63
 
60
- return { editAction, cancelMapPan };
64
+ return {editAction, cancelMapPan};
61
65
  }
62
66
 
63
67
  handleStartDragging(event: StartDraggingEvent): EditAction | null | undefined {
@@ -108,8 +112,8 @@ export class ExtrudeHandler extends ModifyHandler {
108
112
  featureIndexes: [editHandle.featureIndex],
109
113
  editContext: {
110
114
  positionIndexes: editHandle.positionIndexes,
111
- position: p1,
112
- },
115
+ position: p1
116
+ }
113
117
  };
114
118
  }
115
119
  }
@@ -153,8 +157,8 @@ export class ExtrudeHandler extends ModifyHandler {
153
157
  featureIndexes: [editHandle.featureIndex],
154
158
  editContext: {
155
159
  positionIndexes: editHandle.positionIndexes,
156
- position: p3,
157
- },
160
+ position: p3
161
+ }
158
162
  };
159
163
  }
160
164
  }