@deck.gl-community/editable-layers 9.0.2 → 9.1.0-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.
- package/dist/constants.d.ts +1 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/edit-modes/composite-mode.d.ts +4 -3
- package/dist/edit-modes/composite-mode.d.ts.map +1 -0
- package/dist/edit-modes/composite-mode.js +1 -1
- package/dist/edit-modes/delete-mode.d.ts +7 -0
- package/dist/edit-modes/delete-mode.d.ts.map +1 -0
- package/dist/edit-modes/delete-mode.js +22 -0
- package/dist/edit-modes/draw-90degree-polygon-mode.d.ts +4 -3
- package/dist/edit-modes/draw-90degree-polygon-mode.d.ts.map +1 -0
- package/dist/edit-modes/draw-90degree-polygon-mode.js +2 -2
- package/dist/edit-modes/draw-circle-by-diameter-mode.d.ts +4 -3
- package/dist/edit-modes/draw-circle-by-diameter-mode.d.ts.map +1 -0
- package/dist/edit-modes/draw-circle-by-diameter-mode.js +7 -3
- package/dist/edit-modes/draw-circle-from-center-mode.d.ts +4 -3
- package/dist/edit-modes/draw-circle-from-center-mode.d.ts.map +1 -0
- package/dist/edit-modes/draw-circle-from-center-mode.js +6 -2
- package/dist/edit-modes/draw-ellipse-by-bounding-box-mode.d.ts +3 -2
- package/dist/edit-modes/draw-ellipse-by-bounding-box-mode.d.ts.map +1 -0
- package/dist/edit-modes/draw-ellipse-by-bounding-box-mode.js +11 -3
- package/dist/edit-modes/draw-ellipse-using-three-points-mode.d.ts +3 -2
- package/dist/edit-modes/draw-ellipse-using-three-points-mode.d.ts.map +1 -0
- package/dist/edit-modes/draw-ellipse-using-three-points-mode.js +12 -3
- package/dist/edit-modes/draw-line-string-mode.d.ts +4 -3
- package/dist/edit-modes/draw-line-string-mode.d.ts.map +1 -0
- package/dist/edit-modes/draw-line-string-mode.js +3 -3
- package/dist/edit-modes/draw-point-mode.d.ts +4 -3
- package/dist/edit-modes/draw-point-mode.d.ts.map +1 -0
- package/dist/edit-modes/draw-point-mode.js +1 -1
- package/dist/edit-modes/draw-polygon-by-dragging-mode.d.ts +4 -3
- package/dist/edit-modes/draw-polygon-by-dragging-mode.d.ts.map +1 -0
- package/dist/edit-modes/draw-polygon-by-dragging-mode.js +2 -2
- package/dist/edit-modes/draw-polygon-mode.d.ts +4 -3
- package/dist/edit-modes/draw-polygon-mode.d.ts.map +1 -0
- package/dist/edit-modes/draw-polygon-mode.js +2 -2
- package/dist/edit-modes/draw-rectangle-from-center-mode.d.ts +3 -2
- package/dist/edit-modes/draw-rectangle-from-center-mode.d.ts.map +1 -0
- package/dist/edit-modes/draw-rectangle-from-center-mode.js +1 -1
- package/dist/edit-modes/draw-rectangle-mode.d.ts +3 -2
- package/dist/edit-modes/draw-rectangle-mode.d.ts.map +1 -0
- package/dist/edit-modes/draw-rectangle-mode.js +1 -1
- package/dist/edit-modes/draw-rectangle-using-three-points-mode.d.ts +3 -2
- package/dist/edit-modes/draw-rectangle-using-three-points-mode.d.ts.map +1 -0
- package/dist/edit-modes/draw-rectangle-using-three-points-mode.js +2 -2
- package/dist/edit-modes/draw-square-from-center-mode.d.ts +3 -2
- package/dist/edit-modes/draw-square-from-center-mode.d.ts.map +1 -0
- package/dist/edit-modes/draw-square-from-center-mode.js +1 -1
- package/dist/edit-modes/draw-square-mode.d.ts +3 -2
- package/dist/edit-modes/draw-square-mode.d.ts.map +1 -0
- package/dist/edit-modes/draw-square-mode.js +1 -1
- package/dist/edit-modes/duplicate-mode.d.ts +4 -3
- package/dist/edit-modes/duplicate-mode.d.ts.map +1 -0
- package/dist/edit-modes/duplicate-mode.js +1 -1
- package/dist/edit-modes/edit-mode.d.ts +2 -1
- package/dist/edit-modes/edit-mode.d.ts.map +1 -0
- package/dist/edit-modes/elevation-mode.d.ts +4 -3
- package/dist/edit-modes/elevation-mode.d.ts.map +1 -0
- package/dist/edit-modes/elevation-mode.js +2 -2
- package/dist/edit-modes/extend-line-string-mode.d.ts +4 -3
- package/dist/edit-modes/extend-line-string-mode.d.ts.map +1 -0
- package/dist/edit-modes/extend-line-string-mode.js +5 -2
- package/dist/edit-modes/extrude-mode.d.ts +4 -3
- package/dist/edit-modes/extrude-mode.d.ts.map +1 -0
- package/dist/edit-modes/extrude-mode.js +6 -3
- package/dist/edit-modes/geojson-edit-mode.d.ts +6 -5
- package/dist/edit-modes/geojson-edit-mode.d.ts.map +1 -0
- package/dist/edit-modes/geojson-edit-mode.js +9 -6
- package/dist/edit-modes/immutable-feature-collection.d.ts +2 -1
- package/dist/edit-modes/immutable-feature-collection.d.ts.map +1 -0
- package/dist/edit-modes/measure-angle-mode.d.ts +4 -3
- package/dist/edit-modes/measure-angle-mode.d.ts.map +1 -0
- package/dist/edit-modes/measure-angle-mode.js +2 -2
- package/dist/edit-modes/measure-area-mode.d.ts +4 -3
- package/dist/edit-modes/measure-area-mode.d.ts.map +1 -0
- package/dist/edit-modes/measure-area-mode.js +1 -1
- package/dist/edit-modes/measure-distance-mode.d.ts +4 -3
- package/dist/edit-modes/measure-distance-mode.d.ts.map +1 -0
- package/dist/edit-modes/measure-distance-mode.js +2 -2
- package/dist/edit-modes/modify-mode.d.ts +5 -4
- package/dist/edit-modes/modify-mode.d.ts.map +1 -0
- package/dist/edit-modes/modify-mode.js +6 -3
- package/dist/edit-modes/resize-circle-mode.d.ts +6 -5
- package/dist/edit-modes/resize-circle-mode.d.ts.map +1 -0
- package/dist/edit-modes/resize-circle-mode.js +4 -3
- package/dist/edit-modes/rotate-mode.d.ts +4 -3
- package/dist/edit-modes/rotate-mode.d.ts.map +1 -0
- package/dist/edit-modes/rotate-mode.js +5 -4
- package/dist/edit-modes/scale-mode.d.ts +4 -3
- package/dist/edit-modes/scale-mode.d.ts.map +1 -0
- package/dist/edit-modes/scale-mode.js +5 -4
- package/dist/edit-modes/snappable-mode.d.ts +4 -3
- package/dist/edit-modes/snappable-mode.d.ts.map +1 -0
- package/dist/edit-modes/snappable-mode.js +2 -2
- package/dist/edit-modes/split-polygon-mode.d.ts +4 -3
- package/dist/edit-modes/split-polygon-mode.d.ts.map +1 -0
- package/dist/edit-modes/split-polygon-mode.js +3 -3
- package/dist/edit-modes/three-click-polygon-mode.d.ts +4 -3
- package/dist/edit-modes/three-click-polygon-mode.d.ts.map +1 -0
- package/dist/edit-modes/three-click-polygon-mode.js +4 -2
- package/dist/edit-modes/transform-mode.d.ts +4 -3
- package/dist/edit-modes/transform-mode.d.ts.map +1 -0
- package/dist/edit-modes/transform-mode.js +7 -4
- package/dist/edit-modes/translate-mode.d.ts +4 -3
- package/dist/edit-modes/translate-mode.d.ts.map +1 -0
- package/dist/edit-modes/translate-mode.js +6 -5
- package/dist/edit-modes/two-click-polygon-mode.d.ts +4 -3
- package/dist/edit-modes/two-click-polygon-mode.d.ts.map +1 -0
- package/dist/edit-modes/two-click-polygon-mode.js +4 -5
- package/dist/edit-modes/types.d.ts +3 -1
- package/dist/edit-modes/types.d.ts.map +1 -0
- package/dist/edit-modes/utils.d.ts +5 -3
- package/dist/edit-modes/utils.d.ts.map +1 -0
- package/dist/edit-modes/utils.js +5 -1
- package/dist/edit-modes/view-mode.d.ts +2 -1
- package/dist/edit-modes/view-mode.d.ts.map +1 -0
- package/dist/edit-modes/view-mode.js +1 -1
- package/dist/editable-layers/editable-geojson-layer.d.ts +10 -9
- package/dist/editable-layers/editable-geojson-layer.d.ts.map +1 -0
- package/dist/editable-layers/editable-geojson-layer.js +30 -28
- package/dist/editable-layers/editable-h3-cluster-layer.d.ts +3 -2
- package/dist/editable-layers/editable-h3-cluster-layer.d.ts.map +1 -0
- package/dist/editable-layers/editable-h3-cluster-layer.js +4 -5
- package/dist/editable-layers/editable-layer.d.ts +7 -4
- package/dist/editable-layers/editable-layer.d.ts.map +1 -0
- package/dist/editable-layers/editable-layer.js +8 -4
- package/dist/editable-layers/editable-path-layer.d.ts +14 -1
- package/dist/editable-layers/editable-path-layer.d.ts.map +1 -0
- package/dist/editable-layers/editable-path-layer.js +21 -13
- package/dist/editable-layers/elevated-edit-handle-layer.d.ts +1 -0
- package/dist/editable-layers/elevated-edit-handle-layer.d.ts.map +1 -0
- package/dist/editable-layers/junction-scatterplot-layer.d.ts +6 -3
- package/dist/editable-layers/junction-scatterplot-layer.d.ts.map +1 -0
- package/dist/editable-layers/selection-layer.d.ts +3 -1
- package/dist/editable-layers/selection-layer.d.ts.map +1 -0
- package/dist/editable-layers/selection-layer.js +4 -5
- package/dist/index.cjs +127 -45
- package/dist/index.cjs.map +4 -4
- package/dist/index.d.ts +60 -58
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +52 -52
- package/dist/lib/constants.d.ts +1 -0
- package/dist/lib/constants.d.ts.map +1 -0
- package/dist/lib/deck-renderer/deck-cache.d.ts +1 -0
- package/dist/lib/deck-renderer/deck-cache.d.ts.map +1 -0
- package/dist/lib/deck-renderer/deck-drawer.d.ts +2 -1
- package/dist/lib/deck-renderer/deck-drawer.d.ts.map +1 -0
- package/dist/lib/feature.d.ts +3 -2
- package/dist/lib/feature.d.ts.map +1 -0
- package/dist/lib/layer-mouse-event.d.ts +2 -1
- package/dist/lib/layer-mouse-event.d.ts.map +1 -0
- package/dist/lib/layers/junctions-layer.d.ts +4 -3
- package/dist/lib/layers/junctions-layer.d.ts.map +1 -0
- package/dist/lib/layers/junctions-layer.js +4 -4
- package/dist/lib/layers/segments-layer.d.ts +3 -2
- package/dist/lib/layers/segments-layer.d.ts.map +1 -0
- package/dist/lib/layers/segments-layer.js +4 -4
- package/dist/lib/layers/texts-layer.d.ts +3 -2
- package/dist/lib/layers/texts-layer.d.ts.map +1 -0
- package/dist/lib/layers/texts-layer.js +4 -4
- package/dist/lib/math.d.ts +2 -1
- package/dist/lib/math.d.ts.map +1 -0
- package/dist/lib/nebula-core.d.ts +2 -1
- package/dist/lib/nebula-core.d.ts.map +1 -0
- package/dist/lib/nebula-core.js +3 -3
- package/dist/lib/nebula-layer.d.ts +2 -1
- package/dist/lib/nebula-layer.d.ts.map +1 -0
- package/dist/lib/style.d.ts +1 -0
- package/dist/lib/style.d.ts.map +1 -0
- package/dist/mode-handlers/composite-mode-handler.d.ts +4 -3
- package/dist/mode-handlers/composite-mode-handler.d.ts.map +1 -0
- package/dist/mode-handlers/composite-mode-handler.js +1 -1
- package/dist/mode-handlers/draw-90degree-polygon-handler.d.ts +4 -3
- package/dist/mode-handlers/draw-90degree-polygon-handler.d.ts.map +1 -0
- package/dist/mode-handlers/draw-90degree-polygon-handler.js +2 -2
- package/dist/mode-handlers/draw-circle-by-bounding-box-handler.d.ts +4 -3
- package/dist/mode-handlers/draw-circle-by-bounding-box-handler.d.ts.map +1 -0
- package/dist/mode-handlers/draw-circle-by-bounding-box-handler.js +2 -2
- package/dist/mode-handlers/draw-circle-from-center-handler.d.ts +4 -3
- package/dist/mode-handlers/draw-circle-from-center-handler.d.ts.map +1 -0
- package/dist/mode-handlers/draw-circle-from-center-handler.js +1 -1
- package/dist/mode-handlers/draw-ellipse-by-bounding-box-handler.d.ts +4 -3
- package/dist/mode-handlers/draw-ellipse-by-bounding-box-handler.d.ts.map +1 -0
- package/dist/mode-handlers/draw-ellipse-by-bounding-box-handler.js +2 -2
- package/dist/mode-handlers/draw-ellipse-using-three-points-handler.d.ts +4 -3
- package/dist/mode-handlers/draw-ellipse-using-three-points-handler.d.ts.map +1 -0
- package/dist/mode-handlers/draw-ellipse-using-three-points-handler.js +2 -2
- package/dist/mode-handlers/draw-line-string-handler.d.ts +3 -2
- package/dist/mode-handlers/draw-line-string-handler.d.ts.map +1 -0
- package/dist/mode-handlers/draw-line-string-handler.js +1 -1
- package/dist/mode-handlers/draw-point-handler.d.ts +3 -2
- package/dist/mode-handlers/draw-point-handler.d.ts.map +1 -0
- package/dist/mode-handlers/draw-point-handler.js +1 -1
- package/dist/mode-handlers/draw-polygon-handler.d.ts +4 -3
- package/dist/mode-handlers/draw-polygon-handler.d.ts.map +1 -0
- package/dist/mode-handlers/draw-polygon-handler.js +1 -1
- package/dist/mode-handlers/draw-rectangle-handler.d.ts +4 -3
- package/dist/mode-handlers/draw-rectangle-handler.d.ts.map +1 -0
- package/dist/mode-handlers/draw-rectangle-handler.js +1 -1
- package/dist/mode-handlers/draw-rectangle-using-three-points-handler.d.ts +4 -3
- package/dist/mode-handlers/draw-rectangle-using-three-points-handler.d.ts.map +1 -0
- package/dist/mode-handlers/draw-rectangle-using-three-points-handler.js +2 -2
- package/dist/mode-handlers/duplicate-handler.d.ts +4 -3
- package/dist/mode-handlers/duplicate-handler.d.ts.map +1 -0
- package/dist/mode-handlers/duplicate-handler.js +1 -1
- package/dist/mode-handlers/elevation-handler.d.ts +5 -4
- package/dist/mode-handlers/elevation-handler.d.ts.map +1 -0
- package/dist/mode-handlers/elevation-handler.js +2 -2
- package/dist/mode-handlers/extrude-handler.d.ts +4 -3
- package/dist/mode-handlers/extrude-handler.d.ts.map +1 -0
- package/dist/mode-handlers/extrude-handler.js +3 -3
- package/dist/mode-handlers/mode-handler.d.ts +4 -3
- package/dist/mode-handlers/mode-handler.d.ts.map +1 -0
- package/dist/mode-handlers/mode-handler.js +1 -1
- package/dist/mode-handlers/modify-handler.d.ts +5 -4
- package/dist/mode-handlers/modify-handler.d.ts.map +1 -0
- package/dist/mode-handlers/modify-handler.js +2 -2
- package/dist/mode-handlers/rotate-handler.d.ts +4 -3
- package/dist/mode-handlers/rotate-handler.d.ts.map +1 -0
- package/dist/mode-handlers/rotate-handler.js +1 -1
- package/dist/mode-handlers/scale-handler.d.ts +4 -3
- package/dist/mode-handlers/scale-handler.d.ts.map +1 -0
- package/dist/mode-handlers/scale-handler.js +1 -1
- package/dist/mode-handlers/snappable-handler.d.ts +4 -3
- package/dist/mode-handlers/snappable-handler.d.ts.map +1 -0
- package/dist/mode-handlers/snappable-handler.js +1 -1
- package/dist/mode-handlers/split-polygon-handler.d.ts +3 -2
- package/dist/mode-handlers/split-polygon-handler.d.ts.map +1 -0
- package/dist/mode-handlers/split-polygon-handler.js +2 -2
- package/dist/mode-handlers/three-click-polygon-handler.d.ts +3 -2
- package/dist/mode-handlers/three-click-polygon-handler.d.ts.map +1 -0
- package/dist/mode-handlers/three-click-polygon-handler.js +1 -1
- package/dist/mode-handlers/translate-handler.d.ts +4 -3
- package/dist/mode-handlers/translate-handler.d.ts.map +1 -0
- package/dist/mode-handlers/translate-handler.js +1 -1
- package/dist/mode-handlers/two-click-polygon-handler.d.ts +3 -2
- package/dist/mode-handlers/two-click-polygon-handler.d.ts.map +1 -0
- package/dist/mode-handlers/two-click-polygon-handler.js +1 -1
- package/dist/mode-handlers/view-handler.d.ts +3 -2
- package/dist/mode-handlers/view-handler.d.ts.map +1 -0
- package/dist/mode-handlers/view-handler.js +1 -1
- package/dist/shaderlib/color/color.d.ts +13 -2
- package/dist/shaderlib/color/color.d.ts.map +1 -0
- package/dist/shaderlib/color/color.js +25 -18
- package/dist/shaderlib/utils/utils.d.ts +1 -0
- package/dist/shaderlib/utils/utils.d.ts.map +1 -0
- package/dist/utils/curve-utils.d.ts +1 -0
- package/dist/utils/curve-utils.d.ts.map +1 -0
- package/dist/utils/geojson-types.d.ts +1 -0
- package/dist/utils/geojson-types.d.ts.map +1 -0
- package/dist/utils/memoize.d.ts +1 -0
- package/dist/utils/memoize.d.ts.map +1 -0
- package/dist/utils/translate-from-center.d.ts +1 -0
- package/dist/utils/translate-from-center.d.ts.map +1 -0
- package/dist/utils/translate-from-center.js +4 -4
- package/dist/utils/types.d.ts +1 -0
- package/dist/utils/types.d.ts.map +1 -0
- package/dist/utils/utils.d.ts +5 -4
- package/dist/utils/utils.d.ts.map +1 -0
- package/dist/utils/utils.js +4 -4
- package/package.json +11 -10
- package/src/edit-modes/delete-mode.ts +28 -0
- package/src/edit-modes/draw-circle-by-diameter-mode.ts +4 -0
- package/src/edit-modes/draw-circle-from-center-mode.ts +4 -0
- package/src/edit-modes/draw-ellipse-by-bounding-box-mode.ts +10 -1
- package/src/edit-modes/draw-ellipse-using-three-points-mode.ts +11 -1
- package/src/edit-modes/extend-line-string-mode.ts +4 -0
- package/src/edit-modes/extrude-mode.ts +6 -1
- package/src/edit-modes/geojson-edit-mode.ts +9 -4
- package/src/edit-modes/measure-distance-mode.ts +1 -1
- package/src/edit-modes/modify-mode.ts +6 -1
- package/src/edit-modes/resize-circle-mode.ts +1 -0
- package/src/edit-modes/rotate-mode.ts +2 -1
- package/src/edit-modes/scale-mode.ts +2 -1
- package/src/edit-modes/split-polygon-mode.ts +4 -2
- package/src/edit-modes/three-click-polygon-mode.ts +7 -1
- package/src/edit-modes/transform-mode.ts +4 -0
- package/src/edit-modes/translate-mode.ts +4 -2
- package/src/edit-modes/two-click-polygon-mode.ts +3 -4
- package/src/edit-modes/types.ts +1 -0
- package/src/edit-modes/utils.ts +10 -3
- package/src/editable-layers/editable-geojson-layer.ts +6 -4
- package/src/editable-layers/editable-h3-cluster-layer.ts +1 -1
- package/src/editable-layers/editable-layer.ts +12 -4
- package/src/editable-layers/editable-path-layer.ts +29 -15
- package/src/editable-layers/junction-scatterplot-layer.ts +4 -2
- package/src/editable-layers/selection-layer.ts +2 -1
- package/src/index.ts +2 -0
- package/src/mode-handlers/split-polygon-handler.ts +2 -1
- package/src/shaderlib/color/color.ts +34 -20
- package/src/utils/translate-from-center.ts +5 -5
- package/src/utils/utils.ts +4 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"junction-scatterplot-layer.d.ts","sourceRoot":"","sources":["../../src/editable-layers/junction-scatterplot-layer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,mBAAmB,EAAE,YAAY,EAAC,MAAM,eAAe,CAAC;AACrE,OAAO,EAAC,cAAc,EAAC,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAC,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EAAC,KAAK,EAAC,0BAAuB;AAErC,KAAK,6BAA6B,GAAG,mBAAmB,GACtD,IAAI,CAAC,qBAAqB,EAAE,cAAc,CAAC,GAAG;IAC5C,YAAY,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,KAAA,KAAK,KAAK,CAAC,CAAC;IACtC,cAAc,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,KAAA,KAAK,KAAK,CAAC,CAAC;IACxC,cAAc,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,KAAA,KAAK,MAAM,CAAC,CAAC;CAC3C,CAAC;AAEJ,qBAAa,wBAAyB,SAAQ,cAAc,CAAC,6BAA6B,CAAC;IACzF,MAAM,CAAC,SAAS,SAA8B;IAC9C,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC,6BAA6B,CAAC,CAK9D;IAEF,YAAY;CA+Bb"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { CompositeLayerProps, DefaultProps } from '@deck.gl/core';
|
|
2
|
+
import { CompositeLayer } from '@deck.gl/core';
|
|
2
3
|
import turfDifference from '@turf/difference';
|
|
3
4
|
export declare const SELECTION_TYPE: {
|
|
4
5
|
NONE: any;
|
|
@@ -24,3 +25,4 @@ export declare class SelectionLayer<DataT, ExtraPropsT> extends CompositeLayer<E
|
|
|
24
25
|
shouldUpdateState({ changeFlags: { stateChanged, propsOrDataChanged } }: Record<string, any>): any;
|
|
25
26
|
}
|
|
26
27
|
export {};
|
|
28
|
+
//# sourceMappingURL=selection-layer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selection-layer.d.ts","sourceRoot":"","sources":["../../src/editable-layers/selection-layer.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,mBAAmB,EAAE,YAAY,EAAC,MAAM,eAAe,CAAC;AACrE,OAAO,EAAC,cAAc,EAAC,MAAM,eAAe,CAAC;AAI7C,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAO9C,eAAO,MAAM,cAAc;;;;CAI1B,CAAC;AAWF,UAAU,mBAAmB,CAAC,KAAK,CAAE,SAAQ,mBAAmB;IAC9D,QAAQ,EAAE,GAAG,EAAE,CAAC;IAChB,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC;IAC7B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAuCD,qBAAa,cAAc,CAAC,KAAK,EAAE,WAAW,CAAE,SAAQ,cAAc,CACpE,WAAW,GAAG,QAAQ,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CACnD;IACC,MAAM,CAAC,SAAS,SAAoB;IACpC,MAAM,CAAC,YAAY,yCAAgB;IAEnC,KAAK,EAAE;QACL,uBAAuB,EAAE;YACvB,UAAU,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;SAC/C,CAAC;KACH,CAAc;IAEf,uBAAuB,CAAC,WAAW,EAAE,GAAG;IAexC,qBAAqB,CAAC,WAAW,EAAE,GAAG;IAkDtC,YAAY;IAyDZ,iBAAiB,CAAC,EAAC,WAAW,EAAE,EAAC,YAAY,EAAE,kBAAkB,EAAC,EAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAGzF"}
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
// deck.gl-community
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
|
-
/* eslint-env browser */
|
|
5
4
|
import { CompositeLayer } from '@deck.gl/core';
|
|
6
5
|
import { PolygonLayer } from '@deck.gl/layers';
|
|
7
6
|
import { polygon } from '@turf/helpers';
|
|
8
7
|
import turfBuffer from '@turf/buffer';
|
|
9
8
|
import turfDifference from '@turf/difference';
|
|
10
|
-
import { EditableGeoJsonLayer } from
|
|
11
|
-
import { DrawRectangleMode } from
|
|
12
|
-
import { DrawPolygonMode } from
|
|
13
|
-
import { ViewMode } from
|
|
9
|
+
import { EditableGeoJsonLayer } from "./editable-geojson-layer.js";
|
|
10
|
+
import { DrawRectangleMode } from "../edit-modes/draw-rectangle-mode.js";
|
|
11
|
+
import { DrawPolygonMode } from "../edit-modes/draw-polygon-mode.js";
|
|
12
|
+
import { ViewMode } from "../edit-modes/view-mode.js";
|
|
14
13
|
export const SELECTION_TYPE = {
|
|
15
14
|
NONE: null,
|
|
16
15
|
RECTANGLE: 'rectangle',
|
package/dist/index.cjs
CHANGED
|
@@ -403,7 +403,7 @@ var import_destination = __toESM(require("@turf/destination"), 1);
|
|
|
403
403
|
var import_bearing = __toESM(require("@turf/bearing"), 1);
|
|
404
404
|
var import_point_to_line_distance = __toESM(require("@turf/point-to-line-distance"), 1);
|
|
405
405
|
var import_helpers2 = require("@turf/helpers");
|
|
406
|
-
var import_viewport_mercator_project =
|
|
406
|
+
var import_viewport_mercator_project = require("viewport-mercator-project");
|
|
407
407
|
function toDeckColor(color, defaultColor = [255, 0, 0, 255]) {
|
|
408
408
|
if (!Array.isArray(color)) {
|
|
409
409
|
return defaultColor;
|
|
@@ -445,7 +445,7 @@ function mix(a, b, ratio) {
|
|
|
445
445
|
return b * ratio + a * (1 - ratio);
|
|
446
446
|
}
|
|
447
447
|
function nearestPointOnProjectedLine(line, inPoint, viewport) {
|
|
448
|
-
const wmViewport = new import_viewport_mercator_project.
|
|
448
|
+
const wmViewport = new import_viewport_mercator_project.WebMercatorViewport(viewport);
|
|
449
449
|
const coordinates = line.geometry.coordinates;
|
|
450
450
|
const projectedCoords = coordinates.map(([x3, y3, z = 0]) => wmViewport.project([x3, y3, z]));
|
|
451
451
|
const [x, y] = wmViewport.project(inPoint.geometry.coordinates);
|
|
@@ -490,8 +490,8 @@ function nearestPointOnProjectedLine(line, inPoint, viewport) {
|
|
|
490
490
|
}
|
|
491
491
|
};
|
|
492
492
|
}
|
|
493
|
-
function insertBefore(base,
|
|
494
|
-
const at = base.indexOf(
|
|
493
|
+
function insertBefore(base, insertBeforeText, toInsert) {
|
|
494
|
+
const at = base.indexOf(insertBeforeText);
|
|
495
495
|
if (at < 0) {
|
|
496
496
|
return base;
|
|
497
497
|
}
|
|
@@ -981,7 +981,7 @@ var import_point_to_line_distance2 = __toESM(require("@turf/point-to-line-distan
|
|
|
981
981
|
var import_meta = require("@turf/meta");
|
|
982
982
|
var import_helpers3 = require("@turf/helpers");
|
|
983
983
|
var import_invariant = require("@turf/invariant");
|
|
984
|
-
var import_viewport_mercator_project2 =
|
|
984
|
+
var import_viewport_mercator_project2 = require("viewport-mercator-project");
|
|
985
985
|
function recursivelyTraverseNestedArrays2(array, prefix, fn) {
|
|
986
986
|
if (!Array.isArray(array[0])) {
|
|
987
987
|
return true;
|
|
@@ -1017,7 +1017,7 @@ function mix2(a, b, ratio) {
|
|
|
1017
1017
|
return b * ratio + a * (1 - ratio);
|
|
1018
1018
|
}
|
|
1019
1019
|
function nearestPointOnProjectedLine2(line, inPoint, viewport) {
|
|
1020
|
-
const wmViewport = new import_viewport_mercator_project2.
|
|
1020
|
+
const wmViewport = new import_viewport_mercator_project2.WebMercatorViewport(viewport);
|
|
1021
1021
|
const coordinates = line.geometry.coordinates;
|
|
1022
1022
|
const projectedCoords = coordinates.map(([x3, y3, z = 0]) => wmViewport.project([x3, y3, z]));
|
|
1023
1023
|
const [x, y] = wmViewport.project(inPoint.geometry.coordinates);
|
|
@@ -1066,7 +1066,7 @@ function nearestPointOnLine(lines, inPoint, viewport) {
|
|
|
1066
1066
|
var _a, _b;
|
|
1067
1067
|
let mercator;
|
|
1068
1068
|
if (viewport) {
|
|
1069
|
-
mercator = new import_viewport_mercator_project2.
|
|
1069
|
+
mercator = new import_viewport_mercator_project2.WebMercatorViewport(viewport);
|
|
1070
1070
|
}
|
|
1071
1071
|
let closestPoint = (0, import_helpers3.point)([Infinity, Infinity], {
|
|
1072
1072
|
dist: Infinity
|
|
@@ -1262,6 +1262,9 @@ function mapCoords(coords, callback) {
|
|
|
1262
1262
|
return mapCoords(coord, callback);
|
|
1263
1263
|
}).filter(Boolean);
|
|
1264
1264
|
}
|
|
1265
|
+
function shouldCancelPan(event) {
|
|
1266
|
+
return event.picks.length && event.picks.find((p) => p.featureType === "points");
|
|
1267
|
+
}
|
|
1265
1268
|
|
|
1266
1269
|
// dist/edit-modes/immutable-feature-collection.js
|
|
1267
1270
|
var ImmutableFeatureCollection = class {
|
|
@@ -1606,11 +1609,12 @@ var GeoJsonEditMode = class {
|
|
|
1606
1609
|
}
|
|
1607
1610
|
return feature;
|
|
1608
1611
|
}
|
|
1609
|
-
getAddFeatureAction(featureOrGeometry, features) {
|
|
1612
|
+
getAddFeatureAction(featureOrGeometry, features, featureProperties) {
|
|
1610
1613
|
const featureOrGeometryAsAny = featureOrGeometry;
|
|
1614
|
+
featureProperties = featureProperties || {};
|
|
1611
1615
|
const feature = featureOrGeometryAsAny.type === "Feature" ? featureOrGeometryAsAny : {
|
|
1612
1616
|
type: "Feature",
|
|
1613
|
-
properties:
|
|
1617
|
+
properties: featureProperties,
|
|
1614
1618
|
geometry: featureOrGeometryAsAny
|
|
1615
1619
|
};
|
|
1616
1620
|
const rewindFeature = this.rewindPolygon(feature);
|
|
@@ -1645,8 +1649,10 @@ var GeoJsonEditMode = class {
|
|
|
1645
1649
|
}
|
|
1646
1650
|
};
|
|
1647
1651
|
}
|
|
1648
|
-
|
|
1652
|
+
// eslint-disable-next-line complexity
|
|
1653
|
+
getAddFeatureOrBooleanPolygonAction(featureOrGeometry, props, featureProperties) {
|
|
1649
1654
|
const featureOrGeometryAsAny = featureOrGeometry;
|
|
1655
|
+
featureProperties = featureProperties || {};
|
|
1650
1656
|
const selectedFeature = this.getSelectedFeature(props);
|
|
1651
1657
|
const { modeConfig } = props;
|
|
1652
1658
|
if (modeConfig && modeConfig.booleanOperation) {
|
|
@@ -1684,7 +1690,7 @@ var GeoJsonEditMode = class {
|
|
|
1684
1690
|
};
|
|
1685
1691
|
return editAction;
|
|
1686
1692
|
}
|
|
1687
|
-
return this.getAddFeatureAction(featureOrGeometry, props.data);
|
|
1693
|
+
return this.getAddFeatureAction(featureOrGeometry, props.data, featureProperties);
|
|
1688
1694
|
}
|
|
1689
1695
|
createTentativeFeature(props) {
|
|
1690
1696
|
return null;
|
|
@@ -1738,7 +1744,7 @@ var import_bearing3 = __toESM(require("@turf/bearing"), 1);
|
|
|
1738
1744
|
var import_distance2 = __toESM(require("@turf/distance"), 1);
|
|
1739
1745
|
var import_clone = __toESM(require("@turf/clone"), 1);
|
|
1740
1746
|
var import_helpers4 = require("@turf/helpers");
|
|
1741
|
-
var import_viewport_mercator_project3 =
|
|
1747
|
+
var import_viewport_mercator_project3 = require("viewport-mercator-project");
|
|
1742
1748
|
|
|
1743
1749
|
// dist/utils/translate-from-center.js
|
|
1744
1750
|
var import_center = __toESM(require("@turf/center"), 1);
|
|
@@ -1749,9 +1755,9 @@ function translateFromCenter(feature, distance7, direction) {
|
|
|
1749
1755
|
const initialCenterPoint = (0, import_center.default)(feature);
|
|
1750
1756
|
const movedCenterPoint = (0, import_rhumb_destination.default)(initialCenterPoint, distance7, direction);
|
|
1751
1757
|
const movedCoordinates = mapCoords(feature.geometry.coordinates, (coordinate) => {
|
|
1752
|
-
const
|
|
1753
|
-
const
|
|
1754
|
-
const movedPosition = (0, import_rhumb_destination.default)(movedCenterPoint.geometry.coordinates,
|
|
1758
|
+
const rhumbDistance = (0, import_rhumb_distance.default)(initialCenterPoint.geometry.coordinates, coordinate);
|
|
1759
|
+
const rhumbDirection = (0, import_rhumb_bearing.default)(initialCenterPoint.geometry.coordinates, coordinate);
|
|
1760
|
+
const movedPosition = (0, import_rhumb_destination.default)(movedCenterPoint.geometry.coordinates, rhumbDistance, rhumbDirection).geometry.coordinates;
|
|
1755
1761
|
return movedPosition;
|
|
1756
1762
|
});
|
|
1757
1763
|
feature.geometry.coordinates = movedCoordinates;
|
|
@@ -1782,6 +1788,7 @@ var TranslateMode = class extends GeoJsonEditMode {
|
|
|
1782
1788
|
if (!this._isTranslatable) {
|
|
1783
1789
|
return;
|
|
1784
1790
|
}
|
|
1791
|
+
event.cancelPan();
|
|
1785
1792
|
this._geometryBeforeTranslate = this.getSelectedFeaturesAsFeatureCollection(props);
|
|
1786
1793
|
}
|
|
1787
1794
|
handleStopDragging(event, props) {
|
|
@@ -1809,7 +1816,7 @@ var TranslateMode = class extends GeoJsonEditMode {
|
|
|
1809
1816
|
const selectedIndexes = props.selectedIndexes;
|
|
1810
1817
|
const { viewport: viewportDesc, screenSpace } = props.modeConfig || {};
|
|
1811
1818
|
if (viewportDesc && screenSpace) {
|
|
1812
|
-
const viewport = viewportDesc.project ? viewportDesc : new import_viewport_mercator_project3.
|
|
1819
|
+
const viewport = viewportDesc.project ? viewportDesc : new import_viewport_mercator_project3.WebMercatorViewport(viewportDesc);
|
|
1813
1820
|
const from = viewport.project(startDragPoint);
|
|
1814
1821
|
const to = viewport.project(currentPoint);
|
|
1815
1822
|
const dx = to[0] - from[0];
|
|
@@ -2004,6 +2011,9 @@ var ModifyMode = class extends GeoJsonEditMode {
|
|
|
2004
2011
|
props.onUpdateCursor(cursor);
|
|
2005
2012
|
}
|
|
2006
2013
|
handleStartDragging(event, props) {
|
|
2014
|
+
if (shouldCancelPan(event)) {
|
|
2015
|
+
event.cancelPan();
|
|
2016
|
+
}
|
|
2007
2017
|
const selectedFeatureIndexes = props.selectedIndexes;
|
|
2008
2018
|
const editHandle = getPickedIntermediateEditHandle(event.picks);
|
|
2009
2019
|
if (selectedFeatureIndexes.length && editHandle) {
|
|
@@ -2043,7 +2053,7 @@ var import_centroid = __toESM(require("@turf/centroid"), 1);
|
|
|
2043
2053
|
var import_bearing4 = __toESM(require("@turf/bearing"), 1);
|
|
2044
2054
|
var import_bbox_polygon2 = __toESM(require("@turf/bbox-polygon"), 1);
|
|
2045
2055
|
var import_helpers6 = require("@turf/helpers");
|
|
2046
|
-
var import_polygon_to_line =
|
|
2056
|
+
var import_polygon_to_line = require("@turf/polygon-to-line");
|
|
2047
2057
|
var import_meta2 = require("@turf/meta");
|
|
2048
2058
|
var import_distance3 = __toESM(require("@turf/distance"), 1);
|
|
2049
2059
|
var import_transform_scale = __toESM(require("@turf/transform-scale"), 1);
|
|
@@ -2138,6 +2148,7 @@ var ScaleMode = class extends GeoJsonEditMode {
|
|
|
2138
2148
|
}
|
|
2139
2149
|
handleStartDragging(event, props) {
|
|
2140
2150
|
if (this._selectedEditHandle) {
|
|
2151
|
+
event.cancelPan();
|
|
2141
2152
|
this._isScaling = true;
|
|
2142
2153
|
this._geometryBeingScaled = this.getSelectedFeaturesAsFeatureCollection(props);
|
|
2143
2154
|
}
|
|
@@ -2186,7 +2197,7 @@ var ScaleMode = class extends GeoJsonEditMode {
|
|
|
2186
2197
|
}
|
|
2187
2198
|
});
|
|
2188
2199
|
this._cornerGuidePoints = cornerGuidePoints;
|
|
2189
|
-
return (0, import_helpers6.featureCollection)([(0, import_polygon_to_line.
|
|
2200
|
+
return (0, import_helpers6.featureCollection)([(0, import_polygon_to_line.polygonToLine)(boundingBox), ...this._cornerGuidePoints]);
|
|
2190
2201
|
}
|
|
2191
2202
|
};
|
|
2192
2203
|
function getScaleFactor(centroid, startDragPoint, currentPoint) {
|
|
@@ -2205,7 +2216,7 @@ var import_meta3 = require("@turf/meta");
|
|
|
2205
2216
|
var import_invariant3 = require("@turf/invariant");
|
|
2206
2217
|
var import_helpers7 = require("@turf/helpers");
|
|
2207
2218
|
var import_transform_rotate = __toESM(require("@turf/transform-rotate"), 1);
|
|
2208
|
-
var import_polygon_to_line2 =
|
|
2219
|
+
var import_polygon_to_line2 = require("@turf/polygon-to-line");
|
|
2209
2220
|
var RotateMode = class extends GeoJsonEditMode {
|
|
2210
2221
|
_selectedEditHandle;
|
|
2211
2222
|
_geometryBeingRotated;
|
|
@@ -2251,7 +2262,7 @@ var RotateMode = class extends GeoJsonEditMode {
|
|
|
2251
2262
|
guideType: "editHandle",
|
|
2252
2263
|
editHandleType: "rotate"
|
|
2253
2264
|
});
|
|
2254
|
-
const outFeatures = [(0, import_polygon_to_line2.
|
|
2265
|
+
const outFeatures = [(0, import_polygon_to_line2.polygonToLine)(boundingBox), rotateHandle, lineFromEnvelopeToRotateHandle];
|
|
2255
2266
|
return (0, import_helpers7.featureCollection)(outFeatures);
|
|
2256
2267
|
}
|
|
2257
2268
|
handleDragging(event, props) {
|
|
@@ -2273,6 +2284,7 @@ var RotateMode = class extends GeoJsonEditMode {
|
|
|
2273
2284
|
}
|
|
2274
2285
|
handleStartDragging(event, props) {
|
|
2275
2286
|
if (this._selectedEditHandle) {
|
|
2287
|
+
event.cancelPan();
|
|
2276
2288
|
this._isRotating = true;
|
|
2277
2289
|
this._geometryBeingRotated = this.getSelectedFeaturesAsFeatureCollection(props);
|
|
2278
2290
|
}
|
|
@@ -2522,6 +2534,9 @@ var ExtrudeMode = class extends ModifyMode {
|
|
|
2522
2534
|
}
|
|
2523
2535
|
}
|
|
2524
2536
|
handleStartDragging(event, props) {
|
|
2537
|
+
if (shouldCancelPan(event)) {
|
|
2538
|
+
event.cancelPan();
|
|
2539
|
+
}
|
|
2525
2540
|
const selectedFeatureIndexes = props.selectedIndexes;
|
|
2526
2541
|
const editHandle = getPickedIntermediateEditHandle(event.picks);
|
|
2527
2542
|
if (selectedFeatureIndexes.length && editHandle) {
|
|
@@ -3056,6 +3071,7 @@ var DrawPolygonMode = class extends GeoJsonEditMode {
|
|
|
3056
3071
|
var import_bbox_polygon4 = __toESM(require("@turf/bbox-polygon"), 1);
|
|
3057
3072
|
|
|
3058
3073
|
// dist/edit-modes/two-click-polygon-mode.js
|
|
3074
|
+
var import_lodash = require("lodash");
|
|
3059
3075
|
var TwoClickPolygonMode = class extends GeoJsonEditMode {
|
|
3060
3076
|
handleClick(event, props) {
|
|
3061
3077
|
if (props.modeConfig && props.modeConfig.dragToDraw) {
|
|
@@ -3084,9 +3100,7 @@ var TwoClickPolygonMode = class extends GeoJsonEditMode {
|
|
|
3084
3100
|
if (clickSequence.length > 1 && tentativeFeature && tentativeFeature.geometry.type === "Polygon") {
|
|
3085
3101
|
const feature = {
|
|
3086
3102
|
type: "Feature",
|
|
3087
|
-
properties:
|
|
3088
|
-
shape: tentativeFeature.properties.shape
|
|
3089
|
-
},
|
|
3103
|
+
properties: (0, import_lodash.omit)(tentativeFeature.properties, "guideType"),
|
|
3090
3104
|
geometry: {
|
|
3091
3105
|
type: "Polygon",
|
|
3092
3106
|
coordinates: tentativeFeature.geometry.coordinates
|
|
@@ -3116,7 +3130,7 @@ var TwoClickPolygonMode = class extends GeoJsonEditMode {
|
|
|
3116
3130
|
guides.features.push({
|
|
3117
3131
|
type: "Feature",
|
|
3118
3132
|
properties: {
|
|
3119
|
-
|
|
3133
|
+
...polygon3.properties,
|
|
3120
3134
|
guideType: "tentative"
|
|
3121
3135
|
},
|
|
3122
3136
|
geometry: polygon3.geometry
|
|
@@ -3234,6 +3248,10 @@ var DrawCircleFromCenterMode = class extends TwoClickPolygonMode {
|
|
|
3234
3248
|
const geometry = (0, import_circle.default)(coord1, this.radius, options);
|
|
3235
3249
|
geometry.properties = geometry.properties || {};
|
|
3236
3250
|
geometry.properties.shape = "Circle";
|
|
3251
|
+
geometry.properties.editProperties = geometry.properties.editProperties || {};
|
|
3252
|
+
geometry.properties.editProperties.shape = "Circle";
|
|
3253
|
+
geometry.properties.editProperties.radius = { value: this.radius, unit: "kilometers" };
|
|
3254
|
+
geometry.properties.editProperties.center = coord1;
|
|
3237
3255
|
this.areaCircle = (0, import_area.default)(geometry);
|
|
3238
3256
|
return geometry;
|
|
3239
3257
|
}
|
|
@@ -3301,6 +3319,10 @@ var DrawCircleByDiameterMode = class extends TwoClickPolygonMode {
|
|
|
3301
3319
|
const geometry = (0, import_circle2.default)(centerCoordinates, this.radius, options);
|
|
3302
3320
|
geometry.properties = geometry.properties || {};
|
|
3303
3321
|
geometry.properties.shape = "Circle";
|
|
3322
|
+
geometry.properties.editProperties = geometry.properties.editProperties || {};
|
|
3323
|
+
geometry.properties.editProperties.shape = "Circle";
|
|
3324
|
+
geometry.properties.editProperties.radius = { value: this.radius, unit: "kilometers" };
|
|
3325
|
+
geometry.properties.editProperties.center = centerCoordinates;
|
|
3304
3326
|
this.areaCircle = (0, import_area2.default)(geometry);
|
|
3305
3327
|
return geometry;
|
|
3306
3328
|
}
|
|
@@ -3364,18 +3386,27 @@ var DrawEllipseByBoundingBoxMode = class extends TwoClickPolygonMode {
|
|
|
3364
3386
|
const centerCoordinates = getIntermediatePosition(coord1, coord2);
|
|
3365
3387
|
const xSemiAxis = Math.max((0, import_distance11.default)((0, import_helpers12.point)(polygonPoints[0]), (0, import_helpers12.point)(polygonPoints[1])), 1e-3);
|
|
3366
3388
|
const ySemiAxis = Math.max((0, import_distance11.default)((0, import_helpers12.point)(polygonPoints[0]), (0, import_helpers12.point)(polygonPoints[3])), 1e-3);
|
|
3367
|
-
|
|
3389
|
+
const geometry = (0, import_ellipse.default)(centerCoordinates, xSemiAxis, ySemiAxis);
|
|
3390
|
+
geometry.properties = geometry.properties || {};
|
|
3391
|
+
geometry.properties.editProperties = geometry.properties.editProperties || {};
|
|
3392
|
+
geometry.properties.editProperties.shape = "Ellipse";
|
|
3393
|
+
geometry.properties.editProperties.xSemiAxis = { value: xSemiAxis, unit: "kilometers" };
|
|
3394
|
+
geometry.properties.editProperties.ySemiAxis = { value: ySemiAxis, unit: "kilometers" };
|
|
3395
|
+
geometry.properties.editProperties.angle = 0;
|
|
3396
|
+
geometry.properties.editProperties.center = centerCoordinates;
|
|
3397
|
+
return geometry;
|
|
3368
3398
|
}
|
|
3369
3399
|
};
|
|
3370
3400
|
|
|
3371
3401
|
// dist/edit-modes/three-click-polygon-mode.js
|
|
3402
|
+
var import_lodash2 = require("lodash");
|
|
3372
3403
|
var ThreeClickPolygonMode = class extends GeoJsonEditMode {
|
|
3373
3404
|
handleClick(event, props) {
|
|
3374
3405
|
this.addClickSequence(event);
|
|
3375
3406
|
const clickSequence = this.getClickSequence();
|
|
3376
3407
|
const tentativeFeature = this.getTentativeGuide(props);
|
|
3377
3408
|
if (clickSequence.length > 2 && tentativeFeature && tentativeFeature.geometry.type === "Polygon") {
|
|
3378
|
-
const editAction = this.getAddFeatureOrBooleanPolygonAction(tentativeFeature.geometry, props);
|
|
3409
|
+
const editAction = this.getAddFeatureOrBooleanPolygonAction(tentativeFeature.geometry, props, (0, import_lodash2.omit)(tentativeFeature.properties, "guideType"));
|
|
3379
3410
|
this.resetClickSequence();
|
|
3380
3411
|
if (editAction) {
|
|
3381
3412
|
props.onEdit(editAction);
|
|
@@ -3410,6 +3441,7 @@ var ThreeClickPolygonMode = class extends GeoJsonEditMode {
|
|
|
3410
3441
|
guides.features.push({
|
|
3411
3442
|
type: "Feature",
|
|
3412
3443
|
properties: {
|
|
3444
|
+
...polygon3.properties,
|
|
3413
3445
|
guideType: "tentative"
|
|
3414
3446
|
},
|
|
3415
3447
|
geometry: polygon3.geometry
|
|
@@ -3476,7 +3508,15 @@ var DrawEllipseUsingThreePointsMode = class extends ThreeClickPolygonMode {
|
|
|
3476
3508
|
const xSemiAxis = Math.max((0, import_distance12.default)(centerCoordinates, (0, import_helpers13.point)(coord3)), 1e-3);
|
|
3477
3509
|
const ySemiAxis = Math.max((0, import_distance12.default)(coord1, coord2), 1e-3) / 2;
|
|
3478
3510
|
const options = { angle: (0, import_bearing8.default)(coord1, coord2) };
|
|
3479
|
-
|
|
3511
|
+
const geometry = (0, import_ellipse2.default)(centerCoordinates, xSemiAxis, ySemiAxis, options);
|
|
3512
|
+
geometry.properties = geometry.properties || {};
|
|
3513
|
+
geometry.properties.editProperties = geometry.properties.editProperties || {};
|
|
3514
|
+
geometry.properties.editProperties.shape = "Ellipse";
|
|
3515
|
+
geometry.properties.editProperties.xSemiAxis = { value: xSemiAxis, unit: "kilometers" };
|
|
3516
|
+
geometry.properties.editProperties.ySemiAxis = { value: ySemiAxis, unit: "kilometers" };
|
|
3517
|
+
geometry.properties.editProperties.angle = options.angle;
|
|
3518
|
+
geometry.properties.editProperties.center = centerCoordinates;
|
|
3519
|
+
return geometry;
|
|
3480
3520
|
}
|
|
3481
3521
|
};
|
|
3482
3522
|
|
|
@@ -3637,7 +3677,7 @@ var Draw90DegreePolygonMode = class extends GeoJsonEditMode {
|
|
|
3637
3677
|
};
|
|
3638
3678
|
|
|
3639
3679
|
// dist/edit-modes/draw-polygon-by-dragging-mode.js
|
|
3640
|
-
var
|
|
3680
|
+
var import_lodash3 = __toESM(require("lodash.throttle"), 1);
|
|
3641
3681
|
var DrawPolygonByDraggingMode = class extends DrawPolygonMode {
|
|
3642
3682
|
handleDraggingThrottled = null;
|
|
3643
3683
|
handleClick(event, props) {
|
|
@@ -3645,7 +3685,7 @@ var DrawPolygonByDraggingMode = class extends DrawPolygonMode {
|
|
|
3645
3685
|
handleStartDragging(event, props) {
|
|
3646
3686
|
event.cancelPan();
|
|
3647
3687
|
if (props.modeConfig && props.modeConfig.throttleMs) {
|
|
3648
|
-
this.handleDraggingThrottled = (0,
|
|
3688
|
+
this.handleDraggingThrottled = (0, import_lodash3.default)(this.handleDraggingAux, props.modeConfig.throttleMs);
|
|
3649
3689
|
} else {
|
|
3650
3690
|
this.handleDraggingThrottled = this.handleDraggingAux;
|
|
3651
3691
|
}
|
|
@@ -3884,6 +3924,9 @@ var TransformMode = class extends CompositeMode {
|
|
|
3884
3924
|
let scaleMode = null;
|
|
3885
3925
|
let translateMode = null;
|
|
3886
3926
|
const filteredModes = [];
|
|
3927
|
+
if (event.picks.length) {
|
|
3928
|
+
event.cancelPan();
|
|
3929
|
+
}
|
|
3887
3930
|
this._modes.forEach((mode) => {
|
|
3888
3931
|
if (mode instanceof TranslateMode) {
|
|
3889
3932
|
translateMode = mode;
|
|
@@ -3917,12 +3960,35 @@ var TransformMode = class extends CompositeMode {
|
|
|
3917
3960
|
}
|
|
3918
3961
|
};
|
|
3919
3962
|
|
|
3963
|
+
// dist/edit-modes/delete-mode.js
|
|
3964
|
+
var DeleteMode = class extends GeoJsonEditMode {
|
|
3965
|
+
handleClick(_event, props) {
|
|
3966
|
+
const selectedFeatureIndexes = props.lastPointerMoveEvent.picks.map((pick) => pick.index);
|
|
3967
|
+
if (selectedFeatureIndexes.length > 0) {
|
|
3968
|
+
const indexToDelete = selectedFeatureIndexes[0];
|
|
3969
|
+
const features = props.data.features.filter((_, index) => index !== indexToDelete);
|
|
3970
|
+
const updatedData = {
|
|
3971
|
+
...props.data,
|
|
3972
|
+
features
|
|
3973
|
+
};
|
|
3974
|
+
const editAction = {
|
|
3975
|
+
updatedData,
|
|
3976
|
+
editType: "deleteFeature",
|
|
3977
|
+
editContext: {
|
|
3978
|
+
featureIndexes: selectedFeatureIndexes
|
|
3979
|
+
}
|
|
3980
|
+
};
|
|
3981
|
+
props.onEdit(editAction);
|
|
3982
|
+
}
|
|
3983
|
+
}
|
|
3984
|
+
};
|
|
3985
|
+
|
|
3920
3986
|
// dist/constants.js
|
|
3921
3987
|
var PROJECTED_PIXEL_SIZE_MULTIPLIER2 = 2 / 3;
|
|
3922
3988
|
|
|
3923
3989
|
// dist/editable-layers/editable-layer.js
|
|
3924
3990
|
var import_core3 = require("@deck.gl/core");
|
|
3925
|
-
var EVENT_TYPES = ["
|
|
3991
|
+
var EVENT_TYPES = ["click", "pointermove", "panstart", "panmove", "panend", "keyup"];
|
|
3926
3992
|
var EditableLayer = class extends import_core3.CompositeLayer {
|
|
3927
3993
|
state = void 0;
|
|
3928
3994
|
// Overridable interaction event handlers
|
|
@@ -3986,7 +4052,7 @@ var EditableLayer = class extends import_core3.CompositeLayer {
|
|
|
3986
4052
|
}
|
|
3987
4053
|
func(event);
|
|
3988
4054
|
}
|
|
3989
|
-
|
|
4055
|
+
_onclick({ srcEvent }) {
|
|
3990
4056
|
const screenCoords = this.getScreenCoords(srcEvent);
|
|
3991
4057
|
const mapCoords2 = this.getMapCoords(screenCoords);
|
|
3992
4058
|
const picks = this.getPicks(screenCoords);
|
|
@@ -4018,7 +4084,12 @@ var EditableLayer = class extends import_core3.CompositeLayer {
|
|
|
4018
4084
|
mapCoords: mapCoords2,
|
|
4019
4085
|
pointerDownScreenCoords: screenCoords,
|
|
4020
4086
|
pointerDownMapCoords: mapCoords2,
|
|
4021
|
-
cancelPan:
|
|
4087
|
+
cancelPan: () => {
|
|
4088
|
+
if (this.props.onCancelPan) {
|
|
4089
|
+
this.props.onCancelPan();
|
|
4090
|
+
}
|
|
4091
|
+
event.stopImmediatePropagation();
|
|
4092
|
+
},
|
|
4022
4093
|
sourceEvent: event.srcEvent
|
|
4023
4094
|
});
|
|
4024
4095
|
}
|
|
@@ -4107,35 +4178,41 @@ __publicField(EditableLayer, "layerName", "EditableLayer");
|
|
|
4107
4178
|
|
|
4108
4179
|
// dist/editable-layers/editable-path-layer.js
|
|
4109
4180
|
var import_layers5 = require("@deck.gl/layers");
|
|
4181
|
+
var uniformBlock = `uniform pickingLineWidthUniforms {
|
|
4182
|
+
float extraPixels;
|
|
4183
|
+
} pickingLineWidth;
|
|
4184
|
+
`;
|
|
4185
|
+
var pickingUniforms = {
|
|
4186
|
+
name: "pickingLineWidth",
|
|
4187
|
+
vs: uniformBlock,
|
|
4188
|
+
fs: uniformBlock,
|
|
4189
|
+
uniformTypes: {
|
|
4190
|
+
extraPixels: "f32"
|
|
4191
|
+
}
|
|
4192
|
+
};
|
|
4110
4193
|
var defaultProps = {
|
|
4111
4194
|
...import_layers5.PathLayer.defaultProps,
|
|
4112
4195
|
pickingLineWidthExtraPixels: { type: "number", min: 0, value: Number.MAX_SAFE_INTEGER }
|
|
4113
4196
|
};
|
|
4114
4197
|
var EditablePathLayer = class extends import_layers5.PathLayer {
|
|
4115
4198
|
getShaders() {
|
|
4116
|
-
var _a;
|
|
4117
4199
|
const shaders = super.getShaders();
|
|
4118
4200
|
shaders.vs = insertBefore(shaders.vs, "vec3 width;", `
|
|
4119
4201
|
if(bool(picking.isActive)){
|
|
4120
|
-
widthPixels.xy +=
|
|
4202
|
+
widthPixels.xy += pickingLineWidth.extraPixels;
|
|
4121
4203
|
}
|
|
4122
4204
|
`);
|
|
4123
4205
|
return {
|
|
4124
4206
|
...shaders,
|
|
4125
|
-
|
|
4126
|
-
...shaders.inject || {},
|
|
4127
|
-
"vs:#decl": (((_a = shaders.inject) == null ? void 0 : _a["vs:#decl"]) || "").concat("uniform float pickingLineWidthExtraPixels;")
|
|
4128
|
-
}
|
|
4207
|
+
modules: [...shaders.modules, pickingUniforms]
|
|
4129
4208
|
};
|
|
4130
4209
|
}
|
|
4131
4210
|
draw(props) {
|
|
4132
|
-
|
|
4133
|
-
|
|
4134
|
-
|
|
4135
|
-
|
|
4136
|
-
|
|
4137
|
-
}
|
|
4138
|
-
});
|
|
4211
|
+
const { pickingLineWidthExtraPixels } = this.props;
|
|
4212
|
+
const pickingProps = { extraPixels: pickingLineWidthExtraPixels };
|
|
4213
|
+
const model = this.state.model;
|
|
4214
|
+
model.shaderInputs.setProps({ pickingLineWidth: pickingProps });
|
|
4215
|
+
super.draw(props);
|
|
4139
4216
|
}
|
|
4140
4217
|
};
|
|
4141
4218
|
EditablePathLayer.defaultProps = defaultProps;
|
|
@@ -4261,6 +4338,7 @@ var modeNameMapping = {
|
|
|
4261
4338
|
split: SplitPolygonMode,
|
|
4262
4339
|
extrude: ExtrudeMode,
|
|
4263
4340
|
elevation: ElevationMode,
|
|
4341
|
+
delete: DeleteMode,
|
|
4264
4342
|
// Draw modes
|
|
4265
4343
|
drawPoint: DrawPointMode,
|
|
4266
4344
|
drawLineString: DrawLineStringMode,
|
|
@@ -4968,6 +5046,7 @@ var ResizeCircleMode = class extends GeoJsonEditMode {
|
|
|
4968
5046
|
}
|
|
4969
5047
|
handleStartDragging(event, props) {
|
|
4970
5048
|
if (this._selectedEditHandle) {
|
|
5049
|
+
event.cancelPan();
|
|
4971
5050
|
this._isResizing = true;
|
|
4972
5051
|
}
|
|
4973
5052
|
}
|
|
@@ -5030,6 +5109,9 @@ var ExtendLineStringMode = class extends GeoJsonEditMode {
|
|
|
5030
5109
|
return guides;
|
|
5031
5110
|
}
|
|
5032
5111
|
const mapCoords2 = props.lastPointerMoveEvent && props.lastPointerMoveEvent.mapCoords;
|
|
5112
|
+
if (!mapCoords2) {
|
|
5113
|
+
return guides;
|
|
5114
|
+
}
|
|
5033
5115
|
let startPosition = null;
|
|
5034
5116
|
const { modeConfig } = props;
|
|
5035
5117
|
if (modeConfig && modeConfig.drawAtFront) {
|