@deck.gl-community/editable-layers 9.1.1 → 9.2.0-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 (54) hide show
  1. package/dist/edit-modes/draw-line-string-mode.d.ts +3 -1
  2. package/dist/edit-modes/draw-line-string-mode.d.ts.map +1 -1
  3. package/dist/edit-modes/draw-line-string-mode.js +19 -21
  4. package/dist/edit-modes/draw-line-string-mode.js.map +1 -1
  5. package/dist/edit-modes/draw-polygon-mode.d.ts +3 -1
  6. package/dist/edit-modes/draw-polygon-mode.d.ts.map +1 -1
  7. package/dist/edit-modes/draw-polygon-mode.js +19 -22
  8. package/dist/edit-modes/draw-polygon-mode.js.map +1 -1
  9. package/dist/edit-modes/edit-mode.d.ts +2 -1
  10. package/dist/edit-modes/edit-mode.d.ts.map +1 -1
  11. package/dist/edit-modes/geojson-edit-mode.d.ts +1 -0
  12. package/dist/edit-modes/geojson-edit-mode.d.ts.map +1 -1
  13. package/dist/edit-modes/geojson-edit-mode.js +1 -0
  14. package/dist/edit-modes/geojson-edit-mode.js.map +1 -1
  15. package/dist/edit-modes/measure-distance-mode.d.ts.map +1 -1
  16. package/dist/edit-modes/rotate-mode.d.ts.map +1 -1
  17. package/dist/edit-modes/scale-mode.d.ts.map +1 -1
  18. package/dist/edit-modes/types.d.ts +1 -0
  19. package/dist/edit-modes/types.d.ts.map +1 -1
  20. package/dist/editable-layers/editable-geojson-layer.d.ts +2 -1
  21. package/dist/editable-layers/editable-geojson-layer.d.ts.map +1 -1
  22. package/dist/editable-layers/editable-geojson-layer.js +5 -0
  23. package/dist/editable-layers/editable-geojson-layer.js.map +1 -1
  24. package/dist/editable-layers/editable-layer.d.ts +3 -1
  25. package/dist/editable-layers/editable-layer.d.ts.map +1 -1
  26. package/dist/editable-layers/editable-layer.js +7 -1
  27. package/dist/editable-layers/editable-layer.js.map +1 -1
  28. package/dist/index.cjs +847 -79
  29. package/dist/index.cjs.map +4 -4
  30. package/dist/index.d.ts +2 -0
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +2 -0
  33. package/dist/index.js.map +1 -1
  34. package/dist/lib/layers/segments-layer.d.ts +1 -1
  35. package/dist/lib/layers/segments-layer.d.ts.map +1 -1
  36. package/dist/lib/layers/segments-layer.js +1 -1
  37. package/dist/lib/layers/segments-layer.js.map +1 -1
  38. package/dist/lib/nebula-core.d.ts.map +1 -1
  39. package/dist/utils/memoize.d.ts.map +1 -1
  40. package/dist/widgets/edit-mode-tray-widget.d.ts +71 -0
  41. package/dist/widgets/edit-mode-tray-widget.d.ts.map +1 -0
  42. package/dist/widgets/edit-mode-tray-widget.js +217 -0
  43. package/dist/widgets/edit-mode-tray-widget.js.map +1 -0
  44. package/package.json +12 -11
  45. package/src/edit-modes/draw-line-string-mode.ts +23 -24
  46. package/src/edit-modes/draw-polygon-mode.ts +24 -27
  47. package/src/edit-modes/edit-mode.ts +4 -1
  48. package/src/edit-modes/geojson-edit-mode.ts +2 -0
  49. package/src/edit-modes/types.ts +3 -0
  50. package/src/editable-layers/editable-geojson-layer.ts +8 -1
  51. package/src/editable-layers/editable-layer.ts +10 -2
  52. package/src/index.ts +8 -0
  53. package/src/lib/layers/segments-layer.ts +1 -1
  54. package/src/widgets/edit-mode-tray-widget.tsx +342 -0
package/dist/index.d.ts CHANGED
@@ -14,6 +14,8 @@ export { EditableGeoJsonLayer } from "./editable-layers/editable-geojson-layer.j
14
14
  export { EditableH3ClusterLayer } from "./editable-layers/editable-h3-cluster-layer.js";
15
15
  export { SelectionLayer } from "./editable-layers/selection-layer.js";
16
16
  export { ElevatedEditHandleLayer } from "./editable-layers/elevated-edit-handle-layer.js";
17
+ export { EditModeTrayWidget } from "./widgets/edit-mode-tray-widget.js";
18
+ export type { EditModeTrayWidgetProps, EditModeTrayWidgetModeOption, EditModeTrayWidgetSelectEvent } from "./widgets/edit-mode-tray-widget.js";
17
19
  export { JunctionScatterplotLayer } from "./editable-layers/junction-scatterplot-layer.js";
18
20
  import * as utils from "./utils/utils.js";
19
21
  export { utils };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -18,6 +18,8 @@ export { EditableGeoJsonLayer } from "./editable-layers/editable-geojson-layer.j
18
18
  export { EditableH3ClusterLayer } from "./editable-layers/editable-h3-cluster-layer.js";
19
19
  export { SelectionLayer } from "./editable-layers/selection-layer.js";
20
20
  export { ElevatedEditHandleLayer } from "./editable-layers/elevated-edit-handle-layer.js";
21
+ // Widgets
22
+ export { EditModeTrayWidget } from "./widgets/edit-mode-tray-widget.js";
21
23
  // Layers move to deck.gl-community/layers?
22
24
  export { JunctionScatterplotLayer } from "./editable-layers/junction-scatterplot-layer.js";
23
25
  // Types
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,EAAC,WAAW,EAAE,cAAc,EAAE,UAAU,EAAC,uBAAoB;AACpE,OAAO,EAAC,cAAc,EAAC,2CAAwC;AAE/D,OAAO,EAAC,OAAO,EAAC,yBAAsB;AACtC,OAAO,EAAC,eAAe,EAAC,mCAAgC;AAExD,OAAO,EAAC,WAAW,EAAC,8BAA2B;AAC/C,OAAO,EAAC,cAAc,EAAC,wCAAqC;AAC5D,OAAO,EAAC,UAAU,EAAC,oCAAiC;AACpD,OAAO,EAAC,aAAa,EAAC,uCAAoC;AAE1D,OAAO,EAAC,UAAU,EAAC,6BAA0B;AAE7C,OAAO,EAAC,+BAA+B,EAAC,2BAAwB;AAEhE,QAAQ;AACR,OAAO,EAAC,WAAW,EAAC,yBAAsB;AAK1C,SAAS;AACT,OAAO,EAAC,oBAAoB,EAAC,oDAAiD;AAC9E,OAAO,EAAC,sBAAsB,EAAC,uDAAoD;AACnF,OAAO,EAAC,cAAc,EAAC,6CAA0C;AACjE,OAAO,EAAC,uBAAuB,EAAC,wDAAqD;AAErF,2CAA2C;AAC3C,OAAO,EAAC,wBAAwB,EAAC,wDAAqD;AAEtF,QAAQ;AAER,OAAO,KAAK,KAAK,yBAAsB;AAEvC,OAAO,EAAC,KAAK,EAAC,CAAC;AAEf,OAAO,EAAC,mBAAmB,EAAE,yBAAyB,EAAC,8BAA2B;AAQlF,OAAO,EAAC,eAAe,EAAC,0CAAuC;AAE/D,cAAc;AACd,OAAO,EAAC,UAAU,EAAC,oCAAiC;AACpD,OAAO,EAAC,gBAAgB,EAAC,2CAAwC;AACjE,OAAO,EAAC,aAAa,EAAC,uCAAoC;AAC1D,OAAO,EAAC,SAAS,EAAC,mCAAgC;AAClD,OAAO,EAAC,UAAU,EAAC,oCAAiC;AACpD,OAAO,EAAC,aAAa,EAAC,uCAAoC;AAC1D,OAAO,EAAC,oBAAoB,EAAC,gDAA6C;AAC1E,OAAO,EAAC,gBAAgB,EAAC,2CAAwC;AACjE,OAAO,EAAC,WAAW,EAAC,qCAAkC;AACtD,OAAO,EAAC,aAAa,EAAC,uCAAoC;AAC1D,OAAO,EAAC,aAAa,EAAC,uCAAoC;AAE1D,aAAa;AACb,OAAO,EAAC,aAAa,EAAC,wCAAqC;AAC3D,OAAO,EAAC,kBAAkB,EAAC,8CAA2C;AACtE,OAAO,EAAC,eAAe,EAAC,0CAAuC;AAC/D,OAAO,EAAC,iBAAiB,EAAC,4CAAyC;AACnE,OAAO,EAAC,cAAc,EAAC,yCAAsC;AAC7D,OAAO,EAAC,2BAA2B,EAAC,wDAAqD;AACzF,OAAO,EAAC,wBAAwB,EAAC,qDAAkD;AACnF,OAAO,EAAC,wBAAwB,EAAC,qDAAkD;AACnF,OAAO,EAAC,wBAAwB,EAAC,qDAAkD;AACnF,OAAO,EAAC,4BAA4B,EAAC,0DAAuD;AAC5F,OAAO,EAAC,+BAA+B,EAAC,6DAA0D;AAClG,OAAO,EAAC,iCAAiC,EAAC,+DAA4D;AACtG,OAAO,EAAC,uBAAuB,EAAC,mDAAgD;AAChF,OAAO,EAAC,yBAAyB,EAAC,sDAAmD;AACrF,OAAO,EAAC,0BAA0B,EAAC,qDAAkD;AAErF,cAAc;AACd,OAAO,EAAC,QAAQ,EAAC,kCAA+B;AAChD,OAAO,EAAC,mBAAmB,EAAC,8CAA2C;AACvE,OAAO,EAAC,eAAe,EAAC,0CAAuC;AAC/D,OAAO,EAAC,gBAAgB,EAAC,2CAAwC;AACjE,OAAO,EAAC,aAAa,EAAC,uCAAoC;AAC1D,OAAO,EAAC,aAAa,EAAC,uCAAoC;AA0C1D,eAAe;AACf,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,2BAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,EAAC,WAAW,EAAE,cAAc,EAAE,UAAU,EAAC,uBAAoB;AACpE,OAAO,EAAC,cAAc,EAAC,2CAAwC;AAE/D,OAAO,EAAC,OAAO,EAAC,yBAAsB;AACtC,OAAO,EAAC,eAAe,EAAC,mCAAgC;AAExD,OAAO,EAAC,WAAW,EAAC,8BAA2B;AAC/C,OAAO,EAAC,cAAc,EAAC,wCAAqC;AAC5D,OAAO,EAAC,UAAU,EAAC,oCAAiC;AACpD,OAAO,EAAC,aAAa,EAAC,uCAAoC;AAE1D,OAAO,EAAC,UAAU,EAAC,6BAA0B;AAE7C,OAAO,EAAC,+BAA+B,EAAC,2BAAwB;AAEhE,QAAQ;AACR,OAAO,EAAC,WAAW,EAAC,yBAAsB;AAK1C,SAAS;AACT,OAAO,EAAC,oBAAoB,EAAC,oDAAiD;AAC9E,OAAO,EAAC,sBAAsB,EAAC,uDAAoD;AACnF,OAAO,EAAC,cAAc,EAAC,6CAA0C;AACjE,OAAO,EAAC,uBAAuB,EAAC,wDAAqD;AAErF,UAAU;AACV,OAAO,EAAC,kBAAkB,EAAC,2CAAwC;AAOnE,2CAA2C;AAC3C,OAAO,EAAC,wBAAwB,EAAC,wDAAqD;AAEtF,QAAQ;AAER,OAAO,KAAK,KAAK,yBAAsB;AAEvC,OAAO,EAAC,KAAK,EAAC,CAAC;AAEf,OAAO,EAAC,mBAAmB,EAAE,yBAAyB,EAAC,8BAA2B;AAQlF,OAAO,EAAC,eAAe,EAAC,0CAAuC;AAE/D,cAAc;AACd,OAAO,EAAC,UAAU,EAAC,oCAAiC;AACpD,OAAO,EAAC,gBAAgB,EAAC,2CAAwC;AACjE,OAAO,EAAC,aAAa,EAAC,uCAAoC;AAC1D,OAAO,EAAC,SAAS,EAAC,mCAAgC;AAClD,OAAO,EAAC,UAAU,EAAC,oCAAiC;AACpD,OAAO,EAAC,aAAa,EAAC,uCAAoC;AAC1D,OAAO,EAAC,oBAAoB,EAAC,gDAA6C;AAC1E,OAAO,EAAC,gBAAgB,EAAC,2CAAwC;AACjE,OAAO,EAAC,WAAW,EAAC,qCAAkC;AACtD,OAAO,EAAC,aAAa,EAAC,uCAAoC;AAC1D,OAAO,EAAC,aAAa,EAAC,uCAAoC;AAE1D,aAAa;AACb,OAAO,EAAC,aAAa,EAAC,wCAAqC;AAC3D,OAAO,EAAC,kBAAkB,EAAC,8CAA2C;AACtE,OAAO,EAAC,eAAe,EAAC,0CAAuC;AAC/D,OAAO,EAAC,iBAAiB,EAAC,4CAAyC;AACnE,OAAO,EAAC,cAAc,EAAC,yCAAsC;AAC7D,OAAO,EAAC,2BAA2B,EAAC,wDAAqD;AACzF,OAAO,EAAC,wBAAwB,EAAC,qDAAkD;AACnF,OAAO,EAAC,wBAAwB,EAAC,qDAAkD;AACnF,OAAO,EAAC,wBAAwB,EAAC,qDAAkD;AACnF,OAAO,EAAC,4BAA4B,EAAC,0DAAuD;AAC5F,OAAO,EAAC,+BAA+B,EAAC,6DAA0D;AAClG,OAAO,EAAC,iCAAiC,EAAC,+DAA4D;AACtG,OAAO,EAAC,uBAAuB,EAAC,mDAAgD;AAChF,OAAO,EAAC,yBAAyB,EAAC,sDAAmD;AACrF,OAAO,EAAC,0BAA0B,EAAC,qDAAkD;AAErF,cAAc;AACd,OAAO,EAAC,QAAQ,EAAC,kCAA+B;AAChD,OAAO,EAAC,mBAAmB,EAAC,8CAA2C;AACvE,OAAO,EAAC,eAAe,EAAC,0CAAuC;AAC/D,OAAO,EAAC,gBAAgB,EAAC,2CAAwC;AACjE,OAAO,EAAC,aAAa,EAAC,uCAAoC;AAC1D,OAAO,EAAC,aAAa,EAAC,uCAAoC;AA0C1D,eAAe;AACf,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,2BAAwB"}
@@ -1,6 +1,6 @@
1
1
  import { NebulaLayer } from "../nebula-layer.js";
2
2
  import { DeckCache } from "../deck-renderer/deck-cache.js";
3
- import { PathMarkerLayer } from '@deck.gl-community/layers';
3
+ import { PathMarkerLayer } from "../../../../layers/src/path-marker-layer/path-marker-layer.js";
4
4
  export declare class SegmentsLayer extends NebulaLayer {
5
5
  deckCache: DeckCache<any, any>;
6
6
  noBlend: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"segments-layer.d.ts","sourceRoot":"","sources":["../../../src/lib/layers/segments-layer.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,WAAW,EAAC,2BAAwB;AAE5C,OAAO,EAAC,SAAS,EAAC,uCAAoC;AACtD,OAAO,EAAC,eAAe,EAAC,MAAM,2BAA2B,CAAC;AAS1D,qBAAa,aAAc,SAAQ,WAAW;IAC5C,SAAS,EAAE,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;gBAE7C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAcvC,mBAAmB,IAAI,GAAG;IAK1B,sBAAsB,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,EAAE;IAazD,0BAA0B,CAAC,EAAC,MAAM,EAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM;IAajE,MAAM,CAAC,EAAC,MAAM,EAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAuCrC"}
1
+ {"version":3,"file":"segments-layer.d.ts","sourceRoot":"","sources":["../../../src/lib/layers/segments-layer.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,WAAW,EAAC,2BAAwB;AAE5C,OAAO,EAAC,SAAS,EAAC,uCAAoC;AACtD,OAAO,EAAC,eAAe,EAAC,sEAAmE;AAS3F,qBAAa,aAAc,SAAQ,WAAW;IAC5C,SAAS,EAAE,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;gBAE7C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAcvC,mBAAmB,IAAI,GAAG;IAK1B,sBAAsB,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,EAAE;IAazD,0BAA0B,CAAC,EAAC,MAAM,EAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM;IAajE,MAAM,CAAC,EAAC,MAAM,EAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAuCrC"}
@@ -5,7 +5,7 @@ import { ArrowStyles, DEFAULT_STYLE, MAX_ARROWS } from "../style.js";
5
5
  import { NebulaLayer } from "../nebula-layer.js";
6
6
  import { toDeckColor } from "../../utils/utils.js";
7
7
  import { DeckCache } from "../deck-renderer/deck-cache.js";
8
- import { PathMarkerLayer } from '@deck.gl-community/layers';
8
+ import { PathMarkerLayer } from "../../../../layers/src/path-marker-layer/path-marker-layer.js";
9
9
  const NEBULA_TO_DECK_DIRECTIONS = {
10
10
  [ArrowStyles.NONE]: { forward: false, backward: false },
11
11
  [ArrowStyles.FORWARD]: { forward: true, backward: false },
@@ -1 +1 @@
1
- {"version":3,"file":"segments-layer.js","sourceRoot":"","sources":["../../../src/lib/layers/segments-layer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"segments-layer.js","sourceRoot":"","sources":["../../../src/lib/layers/segments-layer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"nebula-core.d.ts","sourceRoot":"","sources":["../../src/lib/nebula-core.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAC,mBAAmB,EAAC,MAAM,eAAe,CAAC;AAElD,OAAO,EAAC,UAAU,EAAC,uCAAoC;AAMvD,qBAAa,UAAU;IACrB,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAU/B,MAAM;IAON,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAOzC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAS;IACnC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAQ;IAC1C,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAQ;IACjD,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,CAAQ;IACnE,WAAW,EAAE,UAAU,CAAS;IAChC,aAAa,EAAE,OAAO,CAAS;IAC/B,UAAU,EAAE,mBAAmB,CAAS;IACxC,iBAAiB,qCAAsB;IACvC,WAAW,EAAE,MAAM,GAAG,CAAS;IAC/B,MAAM,EAAE,OAAO,CAAS;IAExB,GAAG,CAAC,OAAO,EAAE,MAAM;IAOnB,oBAAoB;IASpB,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE;IASpC,cAAc;IAId,cAAc,CAAC,EAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IA8B3D,aAAa,UAAW,UAAU,UAwChC;IAEF,sBAAsB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACqB,CAAC,MAAM,EAAE,MAAM,CAAC;IAGtF,sBAAsB,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAKzE,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IA0G7C,kBAAkB,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE;IAQ3C,gBAAgB;IAMhB,YAAY;IAcZ,iBAAiB;IAIjB,0BAA0B,CACxB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EAC7B,QAAQ,EAAE,mBAAmB,EAC7B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAehC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAM1C,gBAAgB,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;CAK3D"}
1
+ {"version":3,"file":"nebula-core.d.ts","sourceRoot":"","sources":["../../src/lib/nebula-core.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAC,mBAAmB,EAAC,MAAM,eAAe,CAAC;AAElD,OAAO,EAAC,UAAU,EAAC,uCAAoC;AAMvD,qBAAa,UAAU;IACrB,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAU/B,MAAM;IAON,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAOzC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAS;IACnC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAQ;IAC1C,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAQ;IACjD,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,CAAQ;IACnE,WAAW,EAAE,UAAU,CAAS;IAChC,aAAa,EAAE,OAAO,CAAS;IAC/B,UAAU,EAAE,mBAAmB,CAAS;IACxC,iBAAiB,qCAAsB;IACvC,WAAW,EAAE,MAAM,GAAG,CAAS;IAC/B,MAAM,EAAE,OAAO,CAAS;IAExB,GAAG,CAAC,OAAO,EAAE,MAAM;IAOnB,oBAAoB;IASpB,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE;IASpC,cAAc;IAId,cAAc,CAAC,EAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IA8B3D,aAAa,GAAI,OAAO,UAAU,UAwChC;IAEF,sBAAsB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACqB,CAAC,MAAM,EAAE,MAAM,CAAC;IAGtF,sBAAsB,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAKzE,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IA0G7C,kBAAkB,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE;IAQ3C,gBAAgB;IAMhB,YAAY;IAcZ,iBAAiB;IAIjB,0BAA0B,CACxB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EAC7B,QAAQ,EAAE,mBAAmB,EAC7B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAehC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAM1C,gBAAgB,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;CAK3D"}
@@ -1 +1 @@
1
- {"version":3,"file":"memoize.d.ts","sourceRoot":"","sources":["../../src/utils/memoize.ts"],"names":[],"mappings":"AA2BA;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,QAAQ,UAIzB,GAAG,SAUlB"}
1
+ {"version":3,"file":"memoize.d.ts","sourceRoot":"","sources":["../../src/utils/memoize.ts"],"names":[],"mappings":"AA2BA;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,QAAQ,IAI/B,MAAM,GAAG,SAUlB"}
@@ -0,0 +1,71 @@
1
+ import type { ComponentChild } from 'preact';
2
+ import { Widget, type WidgetProps, type WidgetPlacement, type Deck } from '@deck.gl/core';
3
+ import type { GeoJsonEditModeConstructor, GeoJsonEditModeType } from "../edit-modes/geojson-edit-mode.js";
4
+ export type EditModeTrayWidgetModeOption = {
5
+ /**
6
+ * Optional identifier for the mode button.
7
+ * If not provided, one will be inferred from the supplied mode.
8
+ */
9
+ id?: string;
10
+ /** Edit mode constructor or instance that the button should activate. */
11
+ mode: GeoJsonEditModeConstructor | GeoJsonEditModeType;
12
+ /**
13
+ * The icon or element rendered inside the button.
14
+ * A simple string can also be supplied for text labels.
15
+ */
16
+ icon?: ComponentChild;
17
+ /** Optional text label rendered below the icon when provided. */
18
+ label?: string;
19
+ /** Optional tooltip text applied to the button element. */
20
+ title?: string;
21
+ };
22
+ export type EditModeTrayWidgetSelectEvent = {
23
+ id: string;
24
+ mode: GeoJsonEditModeConstructor | GeoJsonEditModeType;
25
+ option: EditModeTrayWidgetModeOption;
26
+ };
27
+ export type EditModeTrayWidgetProps = WidgetProps & {
28
+ /** Placement for the widget root element. */
29
+ placement?: WidgetPlacement;
30
+ /** Layout direction for mode buttons. */
31
+ layout?: 'vertical' | 'horizontal';
32
+ /** Collection of modes rendered in the tray. */
33
+ modes?: EditModeTrayWidgetModeOption[];
34
+ /** Identifier of the currently active mode. */
35
+ selectedModeId?: string | null;
36
+ /** Currently active mode instance/constructor. */
37
+ activeMode?: GeoJsonEditModeConstructor | GeoJsonEditModeType | null;
38
+ /** Callback fired when the user selects a mode. */
39
+ onSelectMode?: (event: EditModeTrayWidgetSelectEvent) => void;
40
+ };
41
+ export declare class EditModeTrayWidget extends Widget<EditModeTrayWidgetProps> {
42
+ static defaultProps: {
43
+ id: string;
44
+ placement: "top-left";
45
+ layout: "vertical";
46
+ modes: any[];
47
+ style: {};
48
+ className: string;
49
+ };
50
+ placement: WidgetPlacement;
51
+ className: string;
52
+ layout: 'vertical' | 'horizontal';
53
+ selectedModeId: string | null;
54
+ deck?: Deck | null;
55
+ private appliedCustomClassName;
56
+ constructor(props?: EditModeTrayWidgetProps);
57
+ setProps(props: Partial<EditModeTrayWidgetProps>): void;
58
+ onAdd({ deck }: {
59
+ deck: Deck;
60
+ }): void;
61
+ onRemove(): void;
62
+ onRenderHTML(rootElement: HTMLElement): void;
63
+ private renderTray;
64
+ private handleSelect;
65
+ private resolveSelectedModeId;
66
+ private findOptionByMode;
67
+ private findOptionById;
68
+ private getModeId;
69
+ private isSameMode;
70
+ }
71
+ //# sourceMappingURL=edit-mode-tray-widget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edit-mode-tray-widget.d.ts","sourceRoot":"","sources":["../../src/widgets/edit-mode-tray-widget.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,cAAc,EAAM,MAAM,QAAQ,CAAC;AAChD,OAAO,EACL,MAAM,EACN,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,IAAI,EACV,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EACV,0BAA0B,EAC1B,mBAAmB,EACpB,2CAAwC;AAEzC,MAAM,MAAM,4BAA4B,GAAG;IACzC;;;OAGG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,yEAAyE;IACzE,IAAI,EAAE,0BAA0B,GAAG,mBAAmB,CAAC;IACvD;;;OAGG;IACH,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,0BAA0B,GAAG,mBAAmB,CAAC;IACvD,MAAM,EAAE,4BAA4B,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,WAAW,GAAG;IAClD,6CAA6C;IAC7C,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,yCAAyC;IACzC,MAAM,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACnC,gDAAgD;IAChD,KAAK,CAAC,EAAE,4BAA4B,EAAE,CAAC;IACvC,+CAA+C;IAC/C,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,kDAAkD;IAClD,UAAU,CAAC,EAAE,0BAA0B,GAAG,mBAAmB,GAAG,IAAI,CAAC;IACrE,mDAAmD;IACnD,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,6BAA6B,KAAK,IAAI,CAAC;CAC/D,CAAC;AAkDF,qBAAa,kBAAmB,SAAQ,MAAM,CAAC,uBAAuB,CAAC;IACrE,OAAgB,YAAY;;;;;;;MASF;IAE1B,SAAS,EAAE,eAAe,CAAc;IACxC,SAAS,SAAgC;IACzC,MAAM,EAAE,UAAU,GAAG,YAAY,CAAc;IAC/C,cAAc,EAAE,MAAM,GAAG,IAAI,CAAQ;IACrC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAQ;IAC1B,OAAO,CAAC,sBAAsB,CAAuB;gBAEzC,KAAK,GAAE,uBAA4B;IAOtC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG,IAAI;IAevD,KAAK,CAAC,EAAC,IAAI,EAAC,EAAE;QAAC,IAAI,EAAE,IAAI,CAAA;KAAC,GAAG,IAAI;IAIjC,QAAQ,IAAI,IAAI;IAShB,YAAY,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAgBrD,OAAO,CAAC,UAAU;IAqElB,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,qBAAqB;IA2B7B,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,SAAS;IAkBjB,OAAO,CAAC,UAAU;CAWnB"}
@@ -0,0 +1,217 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "preact/jsx-runtime";
2
+ // deck.gl-community
3
+ // SPDX-License-Identifier: MIT
4
+ // Copyright (c) vis.gl contributors
5
+ import { render } from 'preact';
6
+ import { Widget } from '@deck.gl/core';
7
+ const ROOT_STYLE = {
8
+ position: 'absolute',
9
+ display: 'flex',
10
+ pointerEvents: 'auto',
11
+ userSelect: 'none',
12
+ zIndex: '99'
13
+ };
14
+ const TRAY_BASE_STYLE = {
15
+ display: 'flex',
16
+ gap: '6px',
17
+ background: 'rgba(36, 40, 41, 0.88)',
18
+ borderRadius: '999px',
19
+ padding: '6px',
20
+ alignItems: 'center',
21
+ justifyContent: 'center',
22
+ boxShadow: '0 4px 12px rgba(0, 0, 0, 0.25)'
23
+ };
24
+ const BUTTON_BASE_STYLE = {
25
+ appearance: 'none',
26
+ background: 'transparent',
27
+ border: 'none',
28
+ color: '#f0f0f0',
29
+ width: '34px',
30
+ height: '34px',
31
+ display: 'flex',
32
+ flexDirection: 'column',
33
+ alignItems: 'center',
34
+ justifyContent: 'center',
35
+ borderRadius: '50%',
36
+ cursor: 'pointer',
37
+ padding: '0',
38
+ transition: 'background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease'
39
+ };
40
+ const BUTTON_ACTIVE_STYLE = {
41
+ background: '#0071e3',
42
+ color: '#ffffff',
43
+ boxShadow: '0 0 0 2px rgba(255, 255, 255, 0.35)'
44
+ };
45
+ const BUTTON_LABEL_STYLE = {
46
+ fontSize: '10px',
47
+ marginTop: '2px',
48
+ lineHeight: '12px'
49
+ };
50
+ export class EditModeTrayWidget extends Widget {
51
+ static defaultProps = {
52
+ id: 'edit-mode-tray',
53
+ placement: 'top-left',
54
+ layout: 'vertical',
55
+ modes: [],
56
+ style: {},
57
+ className: ''
58
+ };
59
+ placement = 'top-left';
60
+ className = 'deck-widget-edit-mode-tray';
61
+ layout = 'vertical';
62
+ selectedModeId = null;
63
+ deck = null;
64
+ appliedCustomClassName = null;
65
+ constructor(props = {}) {
66
+ super({ ...EditModeTrayWidget.defaultProps, ...props });
67
+ this.placement = props.placement ?? EditModeTrayWidget.defaultProps.placement;
68
+ this.layout = props.layout ?? EditModeTrayWidget.defaultProps.layout;
69
+ this.selectedModeId = this.resolveSelectedModeId(props.modes ?? [], props);
70
+ }
71
+ setProps(props) {
72
+ if (props.placement !== undefined) {
73
+ this.placement = props.placement;
74
+ }
75
+ if (props.layout !== undefined) {
76
+ this.layout = props.layout;
77
+ }
78
+ const modes = props.modes ?? this.props.modes ?? [];
79
+ this.selectedModeId = this.resolveSelectedModeId(modes, props);
80
+ super.setProps(props);
81
+ this.renderTray();
82
+ }
83
+ onAdd({ deck }) {
84
+ this.deck = deck;
85
+ }
86
+ onRemove() {
87
+ this.deck = null;
88
+ const root = this.rootElement;
89
+ if (root) {
90
+ render(null, root);
91
+ }
92
+ this.rootElement = null;
93
+ }
94
+ onRenderHTML(rootElement) {
95
+ const style = { ...ROOT_STYLE, ...this.props.style };
96
+ Object.assign(rootElement.style, style);
97
+ if (this.appliedCustomClassName && this.appliedCustomClassName !== this.props.className) {
98
+ rootElement.classList.remove(this.appliedCustomClassName);
99
+ this.appliedCustomClassName = null;
100
+ }
101
+ if (this.props.className) {
102
+ rootElement.classList.add(this.props.className);
103
+ this.appliedCustomClassName = this.props.className;
104
+ }
105
+ rootElement.classList.add(this.className);
106
+ this.renderTray();
107
+ }
108
+ renderTray() {
109
+ const root = this.rootElement;
110
+ if (!root) {
111
+ return;
112
+ }
113
+ const modes = this.props.modes ?? [];
114
+ const selectedId = this.selectedModeId;
115
+ const direction = this.layout === 'horizontal' ? 'row' : 'column';
116
+ const trayStyle = {
117
+ ...TRAY_BASE_STYLE,
118
+ flexDirection: direction
119
+ };
120
+ const stopEvent = (event) => {
121
+ event.stopPropagation();
122
+ if (typeof event.stopImmediatePropagation === 'function') {
123
+ event.stopImmediatePropagation();
124
+ }
125
+ };
126
+ const ui = (_jsx("div", { style: trayStyle, onPointerDown: stopEvent, onPointerMove: stopEvent, onPointerUp: stopEvent, onMouseDown: stopEvent, onMouseMove: stopEvent, onMouseUp: stopEvent, onTouchStart: stopEvent, onTouchMove: stopEvent, onTouchEnd: stopEvent, children: modes.map((option, index) => {
127
+ const id = this.getModeId(option, index);
128
+ const active = id === selectedId;
129
+ const label = option.label ?? '';
130
+ const title = option.title ?? label;
131
+ const buttonStyle = {
132
+ ...BUTTON_BASE_STYLE,
133
+ ...(active ? BUTTON_ACTIVE_STYLE : {})
134
+ };
135
+ return (_jsxs("button", { type: "button", title: title || undefined, "aria-pressed": active, style: buttonStyle, onClick: (event) => {
136
+ stopEvent(event);
137
+ this.handleSelect(option, id);
138
+ }, children: [option.icon, label ? _jsx("span", { style: BUTTON_LABEL_STYLE, children: label }) : null] }, id));
139
+ }) }));
140
+ render(ui, root);
141
+ }
142
+ handleSelect(option, id) {
143
+ if (this.selectedModeId !== id) {
144
+ this.selectedModeId = id;
145
+ this.renderTray();
146
+ }
147
+ this.props.onSelectMode?.({
148
+ id,
149
+ mode: option.mode,
150
+ option
151
+ });
152
+ }
153
+ resolveSelectedModeId(modes, props) {
154
+ if (props.selectedModeId !== undefined) {
155
+ return props.selectedModeId;
156
+ }
157
+ const activeMode = props.activeMode ?? this.props?.activeMode ?? null;
158
+ if (activeMode) {
159
+ const match = this.findOptionByMode(modes, activeMode);
160
+ if (match) {
161
+ return this.getModeId(match.option, match.index);
162
+ }
163
+ }
164
+ if (this.selectedModeId) {
165
+ const existing = this.findOptionById(modes, this.selectedModeId);
166
+ if (existing) {
167
+ return this.selectedModeId;
168
+ }
169
+ }
170
+ const first = modes[0];
171
+ return first ? this.getModeId(first, 0) : null;
172
+ }
173
+ findOptionByMode(modes, activeMode) {
174
+ for (let index = 0; index < modes.length; index++) {
175
+ const option = modes[index];
176
+ if (option.mode === activeMode) {
177
+ return { option, index };
178
+ }
179
+ if (this.isSameMode(option.mode, activeMode)) {
180
+ return { option, index };
181
+ }
182
+ }
183
+ return null;
184
+ }
185
+ findOptionById(modes, id) {
186
+ for (let index = 0; index < modes.length; index++) {
187
+ if (this.getModeId(modes[index], index) === id) {
188
+ return { option: modes[index], index };
189
+ }
190
+ }
191
+ return null;
192
+ }
193
+ getModeId(option, index) {
194
+ if (option.id) {
195
+ return option.id;
196
+ }
197
+ const mode = option.mode;
198
+ if (mode) {
199
+ if (typeof mode === 'function' && mode.name) {
200
+ return mode.name;
201
+ }
202
+ if (mode && mode.constructor && mode.constructor.name) {
203
+ return mode.constructor.name;
204
+ }
205
+ }
206
+ return `mode-${index}`;
207
+ }
208
+ isSameMode(modeA, modeB) {
209
+ if (modeA === modeB) {
210
+ return true;
211
+ }
212
+ const constructorA = modeA?.constructor;
213
+ const constructorB = modeB?.constructor;
214
+ return Boolean(constructorA && constructorB && constructorA === constructorB);
215
+ }
216
+ }
217
+ //# sourceMappingURL=edit-mode-tray-widget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edit-mode-tray-widget.js","sourceRoot":"","sources":["../../src/widgets/edit-mode-tray-widget.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@deck.gl-community/editable-layers",
3
3
  "description": "A suite of 3D-enabled data editing overlays, suitable for deck.gl",
4
4
  "license": "MIT",
5
- "version": "9.1.1",
5
+ "version": "9.2.0-beta.3",
6
6
  "repository": {
7
7
  "type": "git",
8
8
  "url": "https://github.com/visgl/deck.gl-community"
@@ -67,20 +67,21 @@
67
67
  "eventemitter3": "^5.0.0",
68
68
  "lodash.omit": "^4.1.1",
69
69
  "lodash.throttle": "^4.1.1",
70
+ "preact": "^10.17.0",
70
71
  "uuid": "9.0.0",
71
72
  "viewport-mercator-project": ">=6.2.3"
72
73
  },
73
74
  "peerDependencies": {
74
- "@deck.gl-community/layers": "^9.1.0-beta.2",
75
- "@deck.gl/core": "^9.1.12",
76
- "@deck.gl/extensions": "^9.1.0",
77
- "@deck.gl/geo-layers": "^9.1.0",
78
- "@deck.gl/layers": "^9.1.0",
79
- "@deck.gl/mesh-layers": "^9.1.0",
80
- "@luma.gl/constants": "^9.1.0",
81
- "@luma.gl/core": "^9.1.0",
82
- "@luma.gl/engine": "^9.1.0",
75
+ "@deck.gl-community/layers": "^9.2.0-beta",
76
+ "@deck.gl/core": "~9.2.1",
77
+ "@deck.gl/extensions": "~9.2.1",
78
+ "@deck.gl/geo-layers": "~9.2.1",
79
+ "@deck.gl/layers": "~9.2.1",
80
+ "@deck.gl/mesh-layers": "~9.2.1",
81
+ "@luma.gl/constants": "~9.2.0",
82
+ "@luma.gl/core": "~9.2.0",
83
+ "@luma.gl/engine": "~9.2.0",
83
84
  "@math.gl/core": ">=4.0.1"
84
85
  },
85
- "gitHead": "e88211052d3ecba78a5982ee581d6c7b95008b65"
86
+ "gitHead": "6110b774c8be16f199ecdf67723851a2e34901e5"
86
87
  }
@@ -11,7 +11,8 @@ import {
11
11
  ModeProps,
12
12
  GuideFeatureCollection,
13
13
  GuideFeature,
14
- Tooltip
14
+ Tooltip,
15
+ DoubleClickEvent
15
16
  } from './types';
16
17
  import {getPickedEditHandle} from './utils';
17
18
  import {GeoJsonEditMode} from './geojson-edit-mode';
@@ -47,17 +48,7 @@ export class DrawLineStringMode extends GeoJsonEditMode {
47
48
  // They clicked the last point (or double-clicked), so add the LineString
48
49
  // reset distance to new calculate
49
50
  this.dist = 0;
50
- const lineStringToAdd: LineString = {
51
- type: 'LineString',
52
- coordinates: [...clickSequence]
53
- };
54
-
55
- this.resetClickSequence();
56
-
57
- const editAction = this.getAddFeatureAction(lineStringToAdd, props.data);
58
- if (editAction) {
59
- props.onEdit(editAction);
60
- }
51
+ this.finishDrawing(props);
61
52
  } else if (positionAdded) {
62
53
  // new tentative point
63
54
  props.onEdit({
@@ -71,21 +62,29 @@ export class DrawLineStringMode extends GeoJsonEditMode {
71
62
  }
72
63
  }
73
64
 
65
+ handleDoubleClick(event: DoubleClickEvent, props: ModeProps<FeatureCollection>) {
66
+ this.finishDrawing(props);
67
+ }
68
+
69
+ finishDrawing(props: ModeProps<FeatureCollection>) {
70
+ const clickSequence = this.getClickSequence();
71
+ if (clickSequence.length > 1) {
72
+ const lineStringToAdd: LineString = {
73
+ type: 'LineString',
74
+ coordinates: [...clickSequence]
75
+ };
76
+ this.resetClickSequence();
77
+ const editAction = this.getAddFeatureAction(lineStringToAdd, props.data);
78
+ if (editAction) {
79
+ props.onEdit(editAction);
80
+ }
81
+ }
82
+ }
83
+
74
84
  handleKeyUp(event: KeyboardEvent, props: ModeProps<FeatureCollection>) {
75
85
  const {key} = event;
76
86
  if (key === 'Enter') {
77
- const clickSequence = this.getClickSequence();
78
- if (clickSequence.length > 1) {
79
- const lineStringToAdd: LineString = {
80
- type: 'LineString',
81
- coordinates: [...clickSequence]
82
- };
83
- this.resetClickSequence();
84
- const editAction = this.getAddFeatureAction(lineStringToAdd, props.data);
85
- if (editAction) {
86
- props.onEdit(editAction);
87
- }
88
- }
87
+ this.finishDrawing(props);
89
88
  } else if (key === 'Escape') {
90
89
  this.resetClickSequence();
91
90
  props.onEdit({
@@ -10,7 +10,8 @@ import {
10
10
  ModeProps,
11
11
  GuideFeatureCollection,
12
12
  TentativeFeature,
13
- GuideFeature
13
+ GuideFeature,
14
+ DoubleClickEvent
14
15
  } from './types';
15
16
  import {Polygon, FeatureCollection} from '../utils/geojson-types';
16
17
  import {getPickedEditHandle} from './utils';
@@ -83,6 +84,22 @@ export class DrawPolygonMode extends GeoJsonEditMode {
83
84
  return guides;
84
85
  }
85
86
 
87
+ finishDrawing(props: ModeProps<FeatureCollection>) {
88
+ const clickSequence = this.getClickSequence();
89
+ if (clickSequence.length > 2) {
90
+ const polygonToAdd: Polygon = {
91
+ type: 'Polygon',
92
+ coordinates: [[...clickSequence, clickSequence[0]]]
93
+ };
94
+
95
+ this.resetClickSequence();
96
+ const editAction = this.getAddFeatureOrBooleanPolygonAction(polygonToAdd, props);
97
+ if (editAction) {
98
+ props.onEdit(editAction);
99
+ }
100
+ }
101
+ }
102
+
86
103
  // eslint-disable-next-line complexity
87
104
  handleClick(event: ClickEvent, props: ModeProps<FeatureCollection>) {
88
105
  const {picks} = event;
@@ -117,19 +134,7 @@ export class DrawPolygonMode extends GeoJsonEditMode {
117
134
  clickedEditHandle.properties.positionIndexes[0] === clickSequence.length - 1)
118
135
  ) {
119
136
  // They clicked the first or last point (or double-clicked), so complete the polygon
120
-
121
- // Remove the hovered position
122
- const polygonToAdd: Polygon = {
123
- type: 'Polygon',
124
- coordinates: [[...clickSequence, clickSequence[0]]]
125
- };
126
-
127
- this.resetClickSequence();
128
-
129
- const editAction = this.getAddFeatureOrBooleanPolygonAction(polygonToAdd, props);
130
- if (editAction) {
131
- props.onEdit(editAction);
132
- }
137
+ this.finishDrawing(props);
133
138
  } else if (positionAdded) {
134
139
  // new tentative point
135
140
  props.onEdit({
@@ -143,21 +148,13 @@ export class DrawPolygonMode extends GeoJsonEditMode {
143
148
  }
144
149
  }
145
150
 
151
+ handleDoubleClick(event: DoubleClickEvent, props: ModeProps<FeatureCollection>) {
152
+ this.finishDrawing(props);
153
+ }
154
+
146
155
  handleKeyUp(event: KeyboardEvent, props: ModeProps<FeatureCollection>) {
147
156
  if (event.key === 'Enter') {
148
- const clickSequence = this.getClickSequence();
149
- if (clickSequence.length > 2) {
150
- const polygonToAdd: Polygon = {
151
- type: 'Polygon',
152
- coordinates: [[...clickSequence, clickSequence[0]]]
153
- };
154
- this.resetClickSequence();
155
-
156
- const editAction = this.getAddFeatureOrBooleanPolygonAction(polygonToAdd, props);
157
- if (editAction) {
158
- props.onEdit(editAction);
159
- }
160
- }
157
+ this.finishDrawing(props);
161
158
  } else if (event.key === 'Escape') {
162
159
  this.resetClickSequence();
163
160
  props.onEdit({
@@ -11,12 +11,15 @@ import {
11
11
  StopDraggingEvent,
12
12
  DraggingEvent,
13
13
  Tooltip,
14
- ModeProps
14
+ ModeProps,
15
+ DoubleClickEvent
15
16
  } from './types';
16
17
 
17
18
  export interface EditMode<TData, TGuides> {
18
19
  // Called when the pointer went down and up without dragging regardless of whether something was picked
19
20
  handleClick(event: ClickEvent, props: ModeProps<TData>): void;
21
+ // Called when the pointer double-clicked
22
+ handleDoubleClick(event: DoubleClickEvent, props: ModeProps<TData>): void;
20
23
  // Called when the pointer moved, regardless of whether the pointer is down, up, and whether something was picked
21
24
  handlePointerMove(event: PointerMoveEvent, props: ModeProps<TData>): void;
22
25
  // Called when the pointer went down on something rendered by this layer and the pointer started to move
@@ -253,6 +253,8 @@ export class GeoJsonEditMode implements EditMode<FeatureCollection, GuideFeature
253
253
  }
254
254
 
255
255
  handleClick(event: ClickEvent, props: ModeProps<FeatureCollection>): void {}
256
+ handleDoubleClick(event: ClickEvent, props: ModeProps<FeatureCollection>): void {}
257
+
256
258
  handlePointerMove(event: PointerMoveEvent, props: ModeProps<FeatureCollection>): void {
257
259
  const tentativeFeature = this.createTentativeFeature(props);
258
260
  if (tentativeFeature) {