@deck.gl-community/editable-layers 9.0.0-alpha.1 → 9.0.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.
- package/LICENSE +19 -0
- package/README.md +2 -81
- package/dist/constants.d.ts +1 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +4 -1
- 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 +5 -2
- 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 +30 -25
- 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 +9 -6
- 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 +8 -5
- 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 +5 -2
- 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 +5 -2
- 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 +21 -18
- 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 +8 -5
- 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 +12 -7
- 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 +22 -18
- 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 +4 -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 +4 -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 +10 -7
- 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 +4 -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 +4 -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 +4 -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/edit-mode.js +3 -1
- package/dist/edit-modes/elevation-mode.d.ts +5 -4
- package/dist/edit-modes/elevation-mode.d.ts.map +1 -0
- package/dist/edit-modes/elevation-mode.js +10 -7
- 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 +11 -8
- 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 +12 -9
- package/dist/edit-modes/geojson-edit-mode.d.ts +4 -3
- package/dist/edit-modes/geojson-edit-mode.d.ts.map +1 -0
- package/dist/edit-modes/geojson-edit-mode.js +20 -17
- package/dist/edit-modes/immutable-feature-collection.d.ts +3 -1
- package/dist/edit-modes/immutable-feature-collection.d.ts.map +1 -0
- package/dist/edit-modes/immutable-feature-collection.js +25 -20
- 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 +9 -9
- 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 +8 -6
- 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 +19 -16
- 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 +19 -16
- 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 +6 -4
- 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 +11 -8
- 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 +11 -8
- 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 +9 -6
- 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 +15 -12
- 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 +10 -7
- 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 +8 -5
- 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 +10 -7
- 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 +10 -7
- package/dist/edit-modes/types.d.ts +2 -1
- package/dist/edit-modes/types.d.ts.map +1 -0
- package/dist/edit-modes/types.js +3 -0
- package/dist/edit-modes/utils.d.ts +3 -2
- package/dist/edit-modes/utils.d.ts.map +1 -0
- package/dist/edit-modes/utils.js +22 -19
- 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 +4 -1
- package/dist/editable-layers/editable-geojson-layer.d.ts +7 -6
- package/dist/editable-layers/editable-geojson-layer.d.ts.map +1 -0
- package/dist/editable-layers/editable-geojson-layer.js +53 -52
- 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 +8 -5
- package/dist/editable-layers/editable-layer.d.ts +7 -6
- package/dist/editable-layers/editable-layer.d.ts.map +1 -0
- package/dist/editable-layers/editable-layer.js +18 -15
- package/dist/editable-layers/editable-path-layer.d.ts +2 -1
- package/dist/editable-layers/editable-path-layer.d.ts.map +1 -0
- package/dist/editable-layers/editable-path-layer.js +10 -7
- package/dist/editable-layers/elevated-edit-handle-layer.d.ts +2 -1
- package/dist/editable-layers/elevated-edit-handle-layer.d.ts.map +1 -0
- package/dist/editable-layers/elevated-edit-handle-layer.js +6 -3
- package/dist/editable-layers/junction-scatterplot-layer.d.ts +3 -2
- package/dist/editable-layers/junction-scatterplot-layer.d.ts.map +1 -0
- package/dist/editable-layers/junction-scatterplot-layer.js +10 -7
- package/dist/editable-layers/selection-layer.d.ts +2 -1
- package/dist/editable-layers/selection-layer.d.ts.map +1 -0
- package/dist/editable-layers/selection-layer.js +8 -5
- package/dist/index.cjs +70 -542
- package/dist/index.cjs.map +4 -4
- package/dist/index.d.ts +59 -59
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +56 -54
- package/dist/lib/constants.d.ts +1 -0
- package/dist/lib/constants.d.ts.map +1 -0
- package/dist/lib/constants.js +3 -0
- package/dist/lib/deck-renderer/deck-cache.d.ts +2 -1
- package/dist/lib/deck-renderer/deck-cache.d.ts.map +1 -0
- package/dist/lib/deck-renderer/deck-cache.js +1 -1
- package/dist/lib/deck-renderer/deck-drawer.d.ts +3 -3
- package/dist/lib/deck-renderer/deck-drawer.d.ts.map +1 -0
- package/dist/lib/deck-renderer/deck-drawer.js +12 -12
- package/dist/lib/feature.d.ts +5 -4
- package/dist/lib/feature.d.ts.map +1 -0
- package/dist/lib/feature.js +4 -1
- package/dist/lib/layer-mouse-event.d.ts +3 -2
- package/dist/lib/layer-mouse-event.d.ts.map +1 -0
- package/dist/lib/layer-mouse-event.js +4 -1
- package/dist/lib/layers/junctions-layer.d.ts +5 -4
- package/dist/lib/layers/junctions-layer.d.ts.map +1 -0
- package/dist/lib/layers/junctions-layer.js +10 -7
- package/dist/lib/layers/segments-layer.d.ts +5 -4
- package/dist/lib/layers/segments-layer.d.ts.map +1 -0
- package/dist/lib/layers/segments-layer.js +12 -9
- package/dist/lib/layers/texts-layer.d.ts +4 -3
- package/dist/lib/layers/texts-layer.d.ts.map +1 -0
- package/dist/lib/layers/texts-layer.js +9 -6
- package/dist/lib/math.d.ts +2 -1
- package/dist/lib/math.d.ts.map +1 -0
- package/dist/lib/math.js +3 -0
- package/dist/lib/{nebula.d.ts → nebula-core.d.ts} +3 -2
- package/dist/lib/nebula-core.d.ts.map +1 -0
- package/dist/lib/{nebula.js → nebula-core.js} +7 -4
- package/dist/lib/nebula-layer.d.ts +3 -2
- package/dist/lib/nebula-layer.d.ts.map +1 -0
- package/dist/lib/nebula-layer.js +4 -1
- package/dist/lib/style.d.ts +1 -0
- package/dist/lib/style.d.ts.map +1 -0
- package/dist/lib/style.js +5 -2
- 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 +13 -10
- 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 +5 -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 +4 -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 +5 -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 +7 -4
- 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 +8 -5
- 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 +5 -2
- 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 +10 -7
- 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 +4 -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 +12 -9
- 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 +4 -1
- package/dist/mode-handlers/elevation-handler.d.ts +6 -5
- package/dist/mode-handlers/elevation-handler.d.ts.map +1 -0
- package/dist/mode-handlers/elevation-handler.js +10 -7
- 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 +12 -9
- 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 +18 -15
- 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 +18 -15
- 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 +5 -2
- 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 +6 -3
- 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 +6 -3
- 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 +12 -9
- 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 +4 -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 +5 -2
- 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 +4 -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 +4 -1
- package/dist/shaderlib/color/color.d.ts +8 -6
- package/dist/shaderlib/color/color.d.ts.map +1 -0
- package/dist/shaderlib/color/color.js +7 -4
- package/dist/shaderlib/utils/utils.d.ts +3 -2
- package/dist/shaderlib/utils/utils.d.ts.map +1 -0
- package/dist/shaderlib/utils/utils.js +5 -2
- package/dist/{curve-utils.d.ts → utils/curve-utils.d.ts} +1 -0
- package/dist/utils/curve-utils.d.ts.map +1 -0
- package/dist/{curve-utils.js → utils/curve-utils.js} +7 -4
- package/dist/{geojson-types.d.ts → utils/geojson-types.d.ts} +3 -25
- package/dist/utils/geojson-types.d.ts.map +1 -0
- package/dist/utils/geojson-types.js +4 -0
- package/dist/{memoize.d.ts → utils/memoize.d.ts} +2 -1
- package/dist/utils/memoize.d.ts.map +1 -0
- package/dist/{memoize.js → utils/memoize.js} +4 -1
- package/dist/{translateFromCenter.d.ts → utils/translate-from-center.d.ts} +1 -0
- package/dist/utils/translate-from-center.d.ts.map +1 -0
- package/dist/{translateFromCenter.js → utils/translate-from-center.js} +7 -4
- package/dist/{types.d.ts → utils/types.d.ts} +1 -0
- package/dist/utils/types.d.ts.map +1 -0
- package/dist/utils/types.js +4 -0
- package/dist/{utils.d.ts → utils/utils.d.ts} +5 -4
- package/dist/utils/utils.d.ts.map +1 -0
- package/dist/{utils.js → utils/utils.js} +11 -9
- package/package.json +11 -10
- package/src/constants.ts +5 -1
- package/src/edit-modes/composite-mode.ts +9 -5
- package/src/edit-modes/draw-90degree-polygon-mode.ts +38 -34
- package/src/edit-modes/draw-circle-by-diameter-mode.ts +16 -12
- package/src/edit-modes/draw-circle-from-center-mode.ts +15 -11
- package/src/edit-modes/draw-ellipse-by-bounding-box-mode.ts +8 -4
- package/src/edit-modes/draw-ellipse-using-three-points-mode.ts +9 -5
- package/src/edit-modes/draw-line-string-mode.ts +29 -25
- package/src/edit-modes/draw-point-mode.ts +13 -9
- package/src/edit-modes/draw-polygon-by-dragging-mode.ts +16 -16
- package/src/edit-modes/draw-polygon-mode.ts +28 -23
- package/src/edit-modes/draw-rectangle-from-center-mode.ts +6 -2
- package/src/edit-modes/draw-rectangle-mode.ts +6 -2
- package/src/edit-modes/draw-rectangle-using-three-points-mode.ts +12 -8
- package/src/edit-modes/draw-square-from-center-mode.ts +7 -3
- package/src/edit-modes/draw-square-mode.ts +7 -3
- package/src/edit-modes/duplicate-mode.ts +7 -3
- package/src/edit-modes/edit-mode.ts +5 -1
- package/src/edit-modes/elevation-mode.ts +13 -9
- package/src/edit-modes/extend-line-string-mode.ts +16 -12
- package/src/edit-modes/extrude-mode.ts +22 -18
- package/src/edit-modes/geojson-edit-mode.ts +37 -33
- package/src/edit-modes/immutable-feature-collection.ts +28 -22
- package/src/edit-modes/measure-angle-mode.ts +66 -59
- package/src/edit-modes/measure-area-mode.ts +13 -10
- package/src/edit-modes/measure-distance-mode.ts +37 -33
- package/src/edit-modes/modify-mode.ts +36 -32
- package/src/edit-modes/resize-circle-mode.ts +8 -5
- package/src/edit-modes/rotate-mode.ts +22 -18
- package/src/edit-modes/scale-mode.ts +29 -23
- package/src/edit-modes/snappable-mode.ts +19 -15
- package/src/edit-modes/split-polygon-mode.ts +25 -21
- package/src/edit-modes/three-click-polygon-mode.ts +15 -11
- package/src/edit-modes/transform-mode.ts +15 -11
- package/src/edit-modes/translate-mode.ts +15 -11
- package/src/edit-modes/two-click-polygon-mode.ts +15 -11
- package/src/edit-modes/types.ts +5 -1
- package/src/edit-modes/utils.ts +35 -30
- package/src/edit-modes/view-mode.ts +5 -1
- package/src/editable-layers/editable-geojson-layer.ts +44 -41
- package/src/editable-layers/editable-h3-cluster-layer.ts +17 -14
- package/src/editable-layers/editable-layer.ts +42 -32
- package/src/editable-layers/editable-path-layer.ts +12 -8
- package/src/editable-layers/elevated-edit-handle-layer.ts +11 -7
- package/src/editable-layers/junction-scatterplot-layer.ts +15 -11
- package/src/editable-layers/selection-layer.ts +11 -7
- package/src/index.ts +68 -65
- package/src/lib/constants.ts +4 -0
- package/src/lib/deck-renderer/deck-cache.ts +1 -1
- package/src/lib/deck-renderer/deck-drawer.ts +28 -28
- package/src/lib/feature.ts +7 -3
- package/src/lib/layer-mouse-event.ts +7 -6
- package/src/lib/layers/junctions-layer.ts +14 -10
- package/src/lib/layers/segments-layer.ts +24 -20
- package/src/lib/layers/texts-layer.ts +18 -14
- package/src/lib/math.ts +5 -1
- package/src/lib/{nebula.ts → nebula-core.ts} +8 -4
- package/src/lib/nebula-layer.ts +9 -5
- package/src/lib/style.ts +6 -2
- package/src/mode-handlers/composite-mode-handler.ts +6 -6
- package/src/mode-handlers/draw-90degree-polygon-handler.ts +22 -18
- package/src/mode-handlers/draw-circle-by-bounding-box-handler.ts +10 -6
- package/src/mode-handlers/draw-circle-from-center-handler.ts +10 -6
- package/src/mode-handlers/draw-ellipse-by-bounding-box-handler.ts +9 -5
- package/src/mode-handlers/draw-ellipse-using-three-points-handler.ts +12 -8
- package/src/mode-handlers/draw-line-string-handler.ts +12 -8
- package/src/mode-handlers/draw-point-handler.ts +9 -5
- package/src/mode-handlers/draw-polygon-handler.ts +16 -12
- package/src/mode-handlers/draw-rectangle-handler.ts +8 -4
- package/src/mode-handlers/draw-rectangle-using-three-points-handler.ts +17 -13
- package/src/mode-handlers/duplicate-handler.ts +8 -4
- package/src/mode-handlers/elevation-handler.ts +14 -10
- package/src/mode-handlers/extrude-handler.ts +15 -11
- package/src/mode-handlers/mode-handler.ts +26 -28
- package/src/mode-handlers/modify-handler.ts +29 -25
- package/src/mode-handlers/rotate-handler.ts +13 -17
- package/src/mode-handlers/scale-handler.ts +13 -13
- package/src/mode-handlers/snappable-handler.ts +28 -24
- package/src/mode-handlers/split-polygon-handler.ts +22 -18
- package/src/mode-handlers/three-click-polygon-handler.ts +6 -2
- package/src/mode-handlers/translate-handler.ts +12 -8
- package/src/mode-handlers/two-click-polygon-handler.ts +6 -2
- package/src/mode-handlers/view-handler.ts +7 -3
- package/src/shaderlib/color/color.ts +10 -5
- package/src/shaderlib/utils/utils.ts +6 -2
- package/src/{curve-utils.ts → utils/curve-utils.ts} +11 -7
- package/src/{geojson-types.ts → utils/geojson-types.ts} +16 -31
- package/src/{memoize.ts → utils/memoize.ts} +5 -1
- package/src/{translateFromCenter.ts → utils/translate-from-center.ts} +12 -8
- package/src/{types.ts → utils/types.ts} +4 -0
- package/src/{utils.ts → utils/utils.ts} +17 -14
- package/dist/editable-layers/path-marker-layer/arrow-2d-geometry.d.ts +0 -4
- package/dist/editable-layers/path-marker-layer/arrow-2d-geometry.js +0 -55
- package/dist/editable-layers/path-marker-layer/create-path-markers.d.ts +0 -16
- package/dist/editable-layers/path-marker-layer/create-path-markers.js +0 -75
- package/dist/editable-layers/path-marker-layer/path-marker-layer.d.ts +0 -40
- package/dist/editable-layers/path-marker-layer/path-marker-layer.js +0 -121
- package/dist/editable-layers/path-marker-layer/polyline.d.ts +0 -18
- package/dist/editable-layers/path-marker-layer/polyline.js +0 -37
- package/dist/editable-layers/path-outline-layer/path-outline-layer.d.ts +0 -26
- package/dist/editable-layers/path-outline-layer/path-outline-layer.js +0 -106
- package/dist/geojson-types.js +0 -2
- package/dist/shaderlib/outline/outline.d.ts +0 -8
- package/dist/shaderlib/outline/outline.js +0 -97
- package/dist/types.js +0 -1
- package/src/editable-layers/path-marker-layer/arrow-2d-geometry.ts +0 -61
- package/src/editable-layers/path-marker-layer/create-path-markers.ts +0 -107
- package/src/editable-layers/path-marker-layer/path-marker-layer.ts +0 -179
- package/src/editable-layers/path-marker-layer/polyline.ts +0 -40
- package/src/editable-layers/path-outline-layer/path-outline-layer.ts +0 -147
- package/src/shaderlib/outline/outline.ts +0 -101
|
@@ -1,7 +1,10 @@
|
|
|
1
|
+
// deck.gl-community
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
1
4
|
import { point, lineString as toLineString } from '@turf/helpers';
|
|
2
|
-
import { recursivelyTraverseNestedArrays, nearestPointOnProjectedLine, nearestPointOnLine, getEditHandlesForGeometry, getPickedEditHandles, getPickedEditHandle, getPickedExistingEditHandle, getPickedIntermediateEditHandle, updateRectanglePosition
|
|
3
|
-
import { GeoJsonEditMode } from
|
|
4
|
-
import { ImmutableFeatureCollection } from
|
|
5
|
+
import { recursivelyTraverseNestedArrays, nearestPointOnProjectedLine, nearestPointOnLine, getEditHandlesForGeometry, getPickedEditHandles, getPickedEditHandle, getPickedExistingEditHandle, getPickedIntermediateEditHandle, updateRectanglePosition } from "./utils.js";
|
|
6
|
+
import { GeoJsonEditMode } from "./geojson-edit-mode.js";
|
|
7
|
+
import { ImmutableFeatureCollection } from "./immutable-feature-collection.js";
|
|
5
8
|
export class ModifyMode extends GeoJsonEditMode {
|
|
6
9
|
// eslint-disable-next-line complexity
|
|
7
10
|
getGuides(props) {
|
|
@@ -46,26 +49,26 @@ export class ModifyMode extends GeoJsonEditMode {
|
|
|
46
49
|
});
|
|
47
50
|
// tack on the lone intermediate point to the set of handles
|
|
48
51
|
if (intermediatePoint) {
|
|
49
|
-
const { geometry: { coordinates: position }, properties: { index }
|
|
52
|
+
const { geometry: { coordinates: position }, properties: { index } } = intermediatePoint;
|
|
50
53
|
handles.push({
|
|
51
54
|
type: 'Feature',
|
|
52
55
|
properties: {
|
|
53
56
|
guideType: 'editHandle',
|
|
54
57
|
editHandleType: 'intermediate',
|
|
55
58
|
featureIndex: featureAsPick.index,
|
|
56
|
-
positionIndexes: [...positionIndexPrefix, index + 1]
|
|
59
|
+
positionIndexes: [...positionIndexPrefix, index + 1]
|
|
57
60
|
},
|
|
58
61
|
geometry: {
|
|
59
62
|
type: 'Point',
|
|
60
|
-
coordinates: position
|
|
61
|
-
}
|
|
63
|
+
coordinates: position
|
|
64
|
+
}
|
|
62
65
|
});
|
|
63
66
|
}
|
|
64
67
|
}
|
|
65
68
|
}
|
|
66
69
|
return {
|
|
67
70
|
type: 'FeatureCollection',
|
|
68
|
-
features: handles
|
|
71
|
+
features: handles
|
|
69
72
|
};
|
|
70
73
|
}
|
|
71
74
|
// turf.js does not support elevation for nearestPointOnLine
|
|
@@ -102,8 +105,8 @@ export class ModifyMode extends GeoJsonEditMode {
|
|
|
102
105
|
editContext: {
|
|
103
106
|
featureIndexes: [featureIndex],
|
|
104
107
|
positionIndexes,
|
|
105
|
-
position: pickedExistingHandle.geometry.coordinates
|
|
106
|
-
}
|
|
108
|
+
position: pickedExistingHandle.geometry.coordinates
|
|
109
|
+
}
|
|
107
110
|
});
|
|
108
111
|
}
|
|
109
112
|
}
|
|
@@ -122,8 +125,8 @@ export class ModifyMode extends GeoJsonEditMode {
|
|
|
122
125
|
editContext: {
|
|
123
126
|
featureIndexes: [featureIndex],
|
|
124
127
|
positionIndexes,
|
|
125
|
-
position: pickedIntermediateHandle.geometry.coordinates
|
|
126
|
-
}
|
|
128
|
+
position: pickedIntermediateHandle.geometry.coordinates
|
|
129
|
+
}
|
|
127
130
|
});
|
|
128
131
|
}
|
|
129
132
|
}
|
|
@@ -158,8 +161,8 @@ export class ModifyMode extends GeoJsonEditMode {
|
|
|
158
161
|
editContext: {
|
|
159
162
|
featureIndexes: [editHandleProperties.featureIndex],
|
|
160
163
|
positionIndexes: editHandleProperties.positionIndexes,
|
|
161
|
-
position: event.mapCoords
|
|
162
|
-
}
|
|
164
|
+
position: event.mapCoords
|
|
165
|
+
}
|
|
163
166
|
});
|
|
164
167
|
}
|
|
165
168
|
handlePointerMove(event, props) {
|
|
@@ -180,8 +183,8 @@ export class ModifyMode extends GeoJsonEditMode {
|
|
|
180
183
|
editContext: {
|
|
181
184
|
featureIndexes: [editHandleProperties.featureIndex],
|
|
182
185
|
positionIndexes: editHandleProperties.positionIndexes,
|
|
183
|
-
position: event.mapCoords
|
|
184
|
-
}
|
|
186
|
+
position: event.mapCoords
|
|
187
|
+
}
|
|
185
188
|
});
|
|
186
189
|
}
|
|
187
190
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { NearestPointType } from
|
|
2
|
-
import { LineString, Point, FeatureCollection, FeatureOf } from
|
|
3
|
-
import { Viewport } from
|
|
4
|
-
import { ModeProps, PointerMoveEvent, StartDraggingEvent, StopDraggingEvent, DraggingEvent, EditHandleFeature, GuideFeatureCollection } from
|
|
5
|
-
import { GeoJsonEditMode } from
|
|
1
|
+
import { NearestPointType } from "./utils.js";
|
|
2
|
+
import { LineString, Point, FeatureCollection, FeatureOf } from "../utils/geojson-types.js";
|
|
3
|
+
import { Viewport } from "../utils/types.js";
|
|
4
|
+
import { ModeProps, PointerMoveEvent, StartDraggingEvent, StopDraggingEvent, DraggingEvent, EditHandleFeature, GuideFeatureCollection } from "./types.js";
|
|
5
|
+
import { GeoJsonEditMode } from "./geojson-edit-mode.js";
|
|
6
6
|
export declare class ResizeCircleMode extends GeoJsonEditMode {
|
|
7
7
|
_selectedEditHandle: EditHandleFeature | null | undefined;
|
|
8
8
|
_isResizing: boolean;
|
|
@@ -14,3 +14,4 @@ export declare class ResizeCircleMode extends GeoJsonEditMode {
|
|
|
14
14
|
handleStopDragging(event: StopDraggingEvent, props: ModeProps<FeatureCollection>): void;
|
|
15
15
|
getCursor(event: PointerMoveEvent): string | null | undefined;
|
|
16
16
|
}
|
|
17
|
+
//# sourceMappingURL=resize-circle-mode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resize-circle-mode.d.ts","sourceRoot":"","sources":["../../src/edit-modes/resize-circle-mode.ts"],"names":[],"mappings":"AASA,OAAO,EAKL,gBAAgB,EACjB,mBAAgB;AACjB,OAAO,EAAC,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAC,kCAA+B;AACvF,OAAO,EAAC,QAAQ,EAAC,0BAAuB;AACxC,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,sBAAsB,EAEvB,mBAAgB;AACjB,OAAO,EAAC,eAAe,EAAC,+BAA4B;AAGpD,qBAAa,gBAAiB,SAAQ,eAAe;IACnD,mBAAmB,EAAE,iBAAiB,GAAG,IAAI,GAAG,SAAS,CAAC;IAC1D,WAAW,UAAS;IAGpB,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC,GAAG,sBAAsB;IA+EtE,eAAe,CACb,IAAI,EAAE,SAAS,CAAC,UAAU,CAAC,EAC3B,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,EACzB,QAAQ,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,GACpC,gBAAgB;IAgBnB,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC,GAAG,IAAI;IAkC/E,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC,GAAG,IAAI;IAarF,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;IAMlF,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;IAOhF,SAAS,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS;CAS9D"}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
+
// deck.gl-community
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
1
4
|
import nearestPointOnLine from '@turf/nearest-point-on-line';
|
|
2
5
|
import { point, lineString as toLineString } from '@turf/helpers';
|
|
3
6
|
import circle from '@turf/circle';
|
|
4
7
|
import distance from '@turf/distance';
|
|
5
8
|
import turfCenter from '@turf/center';
|
|
6
|
-
import { recursivelyTraverseNestedArrays, nearestPointOnProjectedLine, getPickedEditHandles, getPickedEditHandle } from
|
|
7
|
-
import { GeoJsonEditMode } from
|
|
8
|
-
import { ImmutableFeatureCollection } from
|
|
9
|
+
import { recursivelyTraverseNestedArrays, nearestPointOnProjectedLine, getPickedEditHandles, getPickedEditHandle } from "./utils.js";
|
|
10
|
+
import { GeoJsonEditMode } from "./geojson-edit-mode.js";
|
|
11
|
+
import { ImmutableFeatureCollection } from "./immutable-feature-collection.js";
|
|
9
12
|
export class ResizeCircleMode extends GeoJsonEditMode {
|
|
10
13
|
_selectedEditHandle;
|
|
11
14
|
_isResizing = false;
|
|
@@ -97,7 +100,6 @@ export class ResizeCircleMode extends GeoJsonEditMode {
|
|
|
97
100
|
const updatedFeature = circle(center, radius, options);
|
|
98
101
|
const geometry = updatedFeature.geometry;
|
|
99
102
|
const updatedData = new ImmutableFeatureCollection(props.data)
|
|
100
|
-
// @ts-expect-error turf types diff
|
|
101
103
|
.replaceGeometry(editHandleProperties.featureIndex, geometry)
|
|
102
104
|
.getObject();
|
|
103
105
|
props.onEdit({
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { PointerMoveEvent, StartDraggingEvent, StopDraggingEvent, DraggingEvent, ModeProps, EditHandleFeature, GuideFeatureCollection } from
|
|
2
|
-
import { FeatureCollection, Position } from
|
|
3
|
-
import { GeoJsonEditMode, GeoJsonEditAction } from
|
|
1
|
+
import { PointerMoveEvent, StartDraggingEvent, StopDraggingEvent, DraggingEvent, ModeProps, EditHandleFeature, GuideFeatureCollection } from "./types.js";
|
|
2
|
+
import { FeatureCollection, Position } from "../utils/geojson-types.js";
|
|
3
|
+
import { GeoJsonEditMode, GeoJsonEditAction } from "./geojson-edit-mode.js";
|
|
4
4
|
export declare class RotateMode extends GeoJsonEditMode {
|
|
5
5
|
_selectedEditHandle: EditHandleFeature | null | undefined;
|
|
6
6
|
_geometryBeingRotated: FeatureCollection | null | undefined;
|
|
@@ -15,3 +15,4 @@ export declare class RotateMode extends GeoJsonEditMode {
|
|
|
15
15
|
updateCursor(props: ModeProps<FeatureCollection>): void;
|
|
16
16
|
getRotateAction(startDragPoint: Position, currentPoint: Position, editType: string, props: ModeProps<FeatureCollection>): GeoJsonEditAction | null | undefined;
|
|
17
17
|
}
|
|
18
|
+
//# sourceMappingURL=rotate-mode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rotate-mode.d.ts","sourceRoot":"","sources":["../../src/edit-modes/rotate-mode.ts"],"names":[],"mappings":"AAcA,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,SAAS,EACT,iBAAiB,EACjB,sBAAsB,EACvB,mBAAgB;AAEjB,OAAO,EAAC,iBAAiB,EAAE,QAAQ,EAAC,kCAA+B;AACnE,OAAO,EAAC,eAAe,EAAE,iBAAiB,EAA0B,+BAA4B;AAGhG,qBAAa,UAAW,SAAQ,eAAe;IAC7C,mBAAmB,EAAE,iBAAiB,GAAG,IAAI,GAAG,SAAS,CAAC;IAC1D,qBAAqB,EAAE,iBAAiB,GAAG,IAAI,GAAG,SAAS,CAAC;IAC5D,WAAW,UAAS;IAEpB,8BAA8B,aAAc,iBAAiB,GAAG,IAAI,GAAG,SAAS,KAAG,OAAO,CAQxF;IAEF,aAAa,gBAA0B;IAEvC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC,GAAG,sBAAsB;IAqDtE,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;IAkBxE,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;IAY9E,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;IAOlF,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;IAoBhF,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;IAShD,eAAe,CACb,cAAc,EAAE,QAAQ,EACxB,YAAY,EAAE,QAAQ,EACtB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC,GAClC,iBAAiB,GAAG,IAAI,GAAG,SAAS;CAoCxC"}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
// deck.gl-community
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
1
4
|
import bbox from '@turf/bbox';
|
|
2
5
|
import turfCentroid from '@turf/centroid';
|
|
3
6
|
import turfBearing from '@turf/bearing';
|
|
@@ -8,9 +11,9 @@ import { getGeom } from '@turf/invariant';
|
|
|
8
11
|
import { point, featureCollection, lineString } from '@turf/helpers';
|
|
9
12
|
import turfTransformRotate from '@turf/transform-rotate';
|
|
10
13
|
import polygonToLine from '@turf/polygon-to-line';
|
|
11
|
-
import { getPickedEditHandle } from
|
|
12
|
-
import { GeoJsonEditMode, getIntermediatePosition } from
|
|
13
|
-
import { ImmutableFeatureCollection } from
|
|
14
|
+
import { getPickedEditHandle } from "./utils.js";
|
|
15
|
+
import { GeoJsonEditMode, getIntermediatePosition } from "./geojson-edit-mode.js";
|
|
16
|
+
import { ImmutableFeatureCollection } from "./immutable-feature-collection.js";
|
|
14
17
|
export class RotateMode extends GeoJsonEditMode {
|
|
15
18
|
_selectedEditHandle;
|
|
16
19
|
_geometryBeingRotated;
|
|
@@ -56,12 +59,12 @@ export class RotateMode extends GeoJsonEditMode {
|
|
|
56
59
|
// relative to the length of the longest edge of the enveloping box
|
|
57
60
|
const rotateHandleCoords = topEdgeMidpointCoords && [
|
|
58
61
|
topEdgeMidpointCoords[0],
|
|
59
|
-
topEdgeMidpointCoords[1] + longestEdgeLength / 1000
|
|
62
|
+
topEdgeMidpointCoords[1] + longestEdgeLength / 1000
|
|
60
63
|
];
|
|
61
64
|
const lineFromEnvelopeToRotateHandle = lineString([topEdgeMidpointCoords, rotateHandleCoords]);
|
|
62
65
|
const rotateHandle = point(rotateHandleCoords, {
|
|
63
66
|
guideType: 'editHandle',
|
|
64
|
-
editHandleType: 'rotate'
|
|
67
|
+
editHandleType: 'rotate'
|
|
65
68
|
});
|
|
66
69
|
const outFeatures = [polygonToLine(boundingBox), rotateHandle, lineFromEnvelopeToRotateHandle];
|
|
67
70
|
// @ts-expect-error turf type diff
|
|
@@ -126,7 +129,7 @@ export class RotateMode extends GeoJsonEditMode {
|
|
|
126
129
|
const rotatedFeatures = turfTransformRotate(
|
|
127
130
|
// @ts-expect-error turf types too wide
|
|
128
131
|
this._geometryBeingRotated, angle, {
|
|
129
|
-
pivot: centroid
|
|
132
|
+
pivot: centroid
|
|
130
133
|
});
|
|
131
134
|
let updatedData = new ImmutableFeatureCollection(props.data);
|
|
132
135
|
const selectedIndexes = props.selectedIndexes;
|
|
@@ -139,8 +142,8 @@ export class RotateMode extends GeoJsonEditMode {
|
|
|
139
142
|
updatedData: updatedData.getObject(),
|
|
140
143
|
editType,
|
|
141
144
|
editContext: {
|
|
142
|
-
featureIndexes: selectedIndexes
|
|
143
|
-
}
|
|
145
|
+
featureIndexes: selectedIndexes
|
|
146
|
+
}
|
|
144
147
|
};
|
|
145
148
|
}
|
|
146
149
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { FeatureCollection, Position } from
|
|
2
|
-
import { ModeProps, PointerMoveEvent, StartDraggingEvent, StopDraggingEvent, DraggingEvent, EditHandleFeature, GuideFeatureCollection } from
|
|
3
|
-
import { GeoJsonEditMode } from
|
|
1
|
+
import { FeatureCollection, Position } from "../utils/geojson-types.js";
|
|
2
|
+
import { ModeProps, PointerMoveEvent, StartDraggingEvent, StopDraggingEvent, DraggingEvent, EditHandleFeature, GuideFeatureCollection } from "./types.js";
|
|
3
|
+
import { GeoJsonEditMode } from "./geojson-edit-mode.js";
|
|
4
4
|
export declare class ScaleMode extends GeoJsonEditMode {
|
|
5
5
|
_geometryBeingScaled: FeatureCollection | null | undefined;
|
|
6
6
|
_selectedEditHandle: EditHandleFeature | null | undefined;
|
|
@@ -25,3 +25,4 @@ export declare class ScaleMode extends GeoJsonEditMode {
|
|
|
25
25
|
handleStopDragging(event: StopDraggingEvent, props: ModeProps<FeatureCollection>): void;
|
|
26
26
|
getGuides(props: ModeProps<FeatureCollection>): GuideFeatureCollection;
|
|
27
27
|
}
|
|
28
|
+
//# sourceMappingURL=scale-mode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scale-mode.d.ts","sourceRoot":"","sources":["../../src/edit-modes/scale-mode.ts"],"names":[],"mappings":"AAcA,OAAO,EAAC,iBAAiB,EAAE,QAAQ,EAAC,kCAA+B;AACnE,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,sBAAsB,EACvB,mBAAgB;AAEjB,OAAO,EAAC,eAAe,EAAC,+BAA4B;AAGpD,qBAAa,SAAU,SAAQ,eAAe;IAC5C,oBAAoB,EAAE,iBAAiB,GAAG,IAAI,GAAG,SAAS,CAAC;IAC3D,mBAAmB,EAAE,iBAAiB,GAAG,IAAI,GAAG,SAAS,CAAC;IAC1D,kBAAkB,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAM;IAClD,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACnC,UAAU,UAAS;IAEnB,8BAA8B,aAAc,iBAAiB,GAAG,IAAI,GAAG,SAAS,KAAG,OAAO,CAQxF;IAEF,uBAAuB,mBAAoB,iBAAiB,KAAG,iBAAiB,GAAG,IAAI,CAoBrF;IAEF,eAAe,UAAW,SAAS,CAAC,iBAAiB,CAAC,cAAc,iBAAiB,uBASnF;IAEF,oBAAoB,QAAO,OAAO,CAAsC;IAExE,cAAc,mBACI,QAAQ,gBACV,QAAQ,YACZ,MAAM,SACT,SAAS,CAAC,iBAAiB,CAAC;;;;;;MA0BnC;IAEF,YAAY,UAAW,SAAS,CAAC,iBAAiB,CAAC,UA0BjD;IAEF,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;IAY9E,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;IAOlF,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;IAoBxE,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;IAsBhF,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC,GAAG,sBAAsB;CA6BvE"}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
// deck.gl-community
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
1
4
|
import bbox from '@turf/bbox';
|
|
2
5
|
import turfCentroid from '@turf/centroid';
|
|
3
6
|
import turfBearing from '@turf/bearing';
|
|
@@ -8,9 +11,9 @@ import { coordEach } from '@turf/meta';
|
|
|
8
11
|
import turfDistance from '@turf/distance';
|
|
9
12
|
import turfTransformScale from '@turf/transform-scale';
|
|
10
13
|
import { getCoord, getGeom } from '@turf/invariant';
|
|
11
|
-
import { getPickedEditHandle } from
|
|
12
|
-
import { GeoJsonEditMode } from
|
|
13
|
-
import { ImmutableFeatureCollection } from
|
|
14
|
+
import { getPickedEditHandle } from "./utils.js";
|
|
15
|
+
import { GeoJsonEditMode } from "./geojson-edit-mode.js";
|
|
16
|
+
import { ImmutableFeatureCollection } from "./immutable-feature-collection.js";
|
|
14
17
|
export class ScaleMode extends GeoJsonEditMode {
|
|
15
18
|
_geometryBeingScaled;
|
|
16
19
|
_selectedEditHandle;
|
|
@@ -36,12 +39,12 @@ export class ScaleMode extends GeoJsonEditMode {
|
|
|
36
39
|
}
|
|
37
40
|
const guidePointCount = this._cornerGuidePoints.length;
|
|
38
41
|
const oppositeIndex = (selectedHandleIndex + guidePointCount / 2) % guidePointCount;
|
|
39
|
-
return this._cornerGuidePoints.find((p) => {
|
|
42
|
+
return (this._cornerGuidePoints.find((p) => {
|
|
40
43
|
if (!Array.isArray(p.properties.positionIndexes)) {
|
|
41
44
|
return false;
|
|
42
45
|
}
|
|
43
46
|
return p.properties.positionIndexes[0] === oppositeIndex;
|
|
44
|
-
}) || null;
|
|
47
|
+
}) || null);
|
|
45
48
|
};
|
|
46
49
|
_getUpdatedData = (props, editedData) => {
|
|
47
50
|
let updatedData = new ImmutableFeatureCollection(props.data);
|
|
@@ -69,8 +72,8 @@ export class ScaleMode extends GeoJsonEditMode {
|
|
|
69
72
|
updatedData: this._getUpdatedData(props, scaledFeatures),
|
|
70
73
|
editType,
|
|
71
74
|
editContext: {
|
|
72
|
-
featureIndexes: props.selectedIndexes
|
|
73
|
-
}
|
|
75
|
+
featureIndexes: props.selectedIndexes
|
|
76
|
+
}
|
|
74
77
|
};
|
|
75
78
|
};
|
|
76
79
|
updateCursor = (props) => {
|
|
@@ -156,7 +159,7 @@ export class ScaleMode extends GeoJsonEditMode {
|
|
|
156
159
|
const cornerPoint = point(coord, {
|
|
157
160
|
guideType: 'editHandle',
|
|
158
161
|
editHandleType: 'scale',
|
|
159
|
-
positionIndexes: [coordIndex]
|
|
162
|
+
positionIndexes: [coordIndex]
|
|
160
163
|
});
|
|
161
164
|
cornerGuidePoints.push(cornerPoint);
|
|
162
165
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Feature, FeatureCollection } from
|
|
2
|
-
import { PointerMoveEvent, StartDraggingEvent, StopDraggingEvent, DraggingEvent, ModeProps, Pick, GuideFeatureCollection, EditHandleFeature } from
|
|
3
|
-
import { GeoJsonEditMode } from
|
|
1
|
+
import { Feature, FeatureCollection } from "../utils/geojson-types.js";
|
|
2
|
+
import { PointerMoveEvent, StartDraggingEvent, StopDraggingEvent, DraggingEvent, ModeProps, Pick, GuideFeatureCollection, EditHandleFeature } from "./types.js";
|
|
3
|
+
import { GeoJsonEditMode } from "./geojson-edit-mode.js";
|
|
4
4
|
type MovementTypeEvent = PointerMoveEvent | StartDraggingEvent | StopDraggingEvent | DraggingEvent;
|
|
5
5
|
export declare class SnappableMode extends GeoJsonEditMode {
|
|
6
6
|
_handler: GeoJsonEditMode;
|
|
@@ -19,3 +19,4 @@ export declare class SnappableMode extends GeoJsonEditMode {
|
|
|
19
19
|
handlePointerMove(event: PointerMoveEvent, props: ModeProps<FeatureCollection>): void;
|
|
20
20
|
}
|
|
21
21
|
export {};
|
|
22
|
+
//# sourceMappingURL=snappable-mode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snappable-mode.d.ts","sourceRoot":"","sources":["../../src/edit-modes/snappable-mode.ts"],"names":[],"mappings":"AAIA,OAAO,EAAW,OAAO,EAAE,iBAAiB,EAAC,kCAA+B;AAC5E,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,SAAS,EACT,IAAI,EACJ,sBAAsB,EACtB,iBAAiB,EAClB,mBAAgB;AAMjB,OAAO,EAAC,eAAe,EAAC,+BAA4B;AAEpD,KAAK,iBAAiB,GAAG,gBAAgB,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,aAAa,CAAC;AAEnG,qBAAa,aAAc,SAAQ,eAAe;IAChD,QAAQ,EAAE,eAAe,CAAC;gBAEd,OAAO,EAAE,eAAe;IAKpC,qBAAqB,CAAC,CAAC,SAAS,iBAAiB,EAC/C,KAAK,EAAE,CAAC,EACR,UAAU,EAAE,iBAAiB,EAC7B,UAAU,EAAE,iBAAiB,GAC5B,CAAC;IAOJ,oBAAoB,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,iBAAiB,GAAG,IAAI,GAAG,SAAS;IAMzE,oBAAoB,CAClB,gBAAgB,EAAE,IAAI,EAAE,GAAG,IAAI,GAAG,SAAS,GAC1C,iBAAiB,GAAG,IAAI,GAAG,SAAS;IAIvC,2BAA2B,CACzB,gBAAgB,EAAE,iBAAiB,EACnC,IAAI,EAAE,iBAAiB,GACtB,iBAAiB;IA0BpB,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC,GAAG,OAAO,EAAE;IAQ/D,qBAAqB,CAAC,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC,GAAG,iBAAiB,EAAE;IAmB/E,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC,GAAG,sBAAsB;IAuCtE,kBAAkB,CAAC,CAAC,SAAS,iBAAiB,EAC5C,KAAK,EAAE,CAAC,EACR,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC,GAClC,CAAC;IASJ,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;IAIlF,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;IAIhF,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;IAIxE,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;CAG/E"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
// deck.gl-community
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
import { getPickedSnapSourceEditHandle, getPickedEditHandles, getEditHandlesForGeometry } from "./utils.js";
|
|
5
|
+
import { GeoJsonEditMode } from "./geojson-edit-mode.js";
|
|
3
6
|
export class SnappableMode extends GeoJsonEditMode {
|
|
4
7
|
_handler;
|
|
5
8
|
constructor(handler) {
|
|
@@ -9,7 +12,7 @@ export class SnappableMode extends GeoJsonEditMode {
|
|
|
9
12
|
_getSnappedMouseEvent(event, snapSource, snapTarget) {
|
|
10
13
|
return Object.assign(event, {
|
|
11
14
|
mapCoords: snapTarget.geometry.coordinates,
|
|
12
|
-
pointerDownMapCoords: snapSource && snapSource.geometry.coordinates
|
|
15
|
+
pointerDownMapCoords: snapSource && snapSource.geometry.coordinates
|
|
13
16
|
});
|
|
14
17
|
}
|
|
15
18
|
_getPickedSnapTarget(picks) {
|
|
@@ -30,8 +33,8 @@ export class SnappableMode extends GeoJsonEditMode {
|
|
|
30
33
|
...snapSourceHandle,
|
|
31
34
|
geometry: {
|
|
32
35
|
type: 'Point',
|
|
33
|
-
coordinates: snapSourceCoordinates
|
|
34
|
-
}
|
|
36
|
+
coordinates: snapSourceCoordinates
|
|
37
|
+
}
|
|
35
38
|
};
|
|
36
39
|
}
|
|
37
40
|
// If additionalSnapTargets is present in modeConfig and is populated, this
|
|
@@ -65,7 +68,7 @@ export class SnappableMode extends GeoJsonEditMode {
|
|
|
65
68
|
const { enableSnapping } = modeConfig || {};
|
|
66
69
|
const guides = {
|
|
67
70
|
type: 'FeatureCollection',
|
|
68
|
-
features: [...this._handler.getGuides(props).features]
|
|
71
|
+
features: [...this._handler.getGuides(props).features]
|
|
69
72
|
};
|
|
70
73
|
if (!enableSnapping) {
|
|
71
74
|
return guides;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { FeatureCollection } from
|
|
2
|
-
import { ClickEvent, PointerMoveEvent, ModeProps, GuideFeatureCollection, TentativeFeature } from
|
|
3
|
-
import { GeoJsonEditMode, GeoJsonEditAction } from
|
|
1
|
+
import { FeatureCollection } from "../utils/geojson-types.js";
|
|
2
|
+
import { ClickEvent, PointerMoveEvent, ModeProps, GuideFeatureCollection, TentativeFeature } from "./types.js";
|
|
3
|
+
import { GeoJsonEditMode, GeoJsonEditAction } from "./geojson-edit-mode.js";
|
|
4
4
|
export declare class SplitPolygonMode extends GeoJsonEditMode {
|
|
5
5
|
calculateMapCoords(clickSequence: any, mapCoords: any, props: ModeProps<FeatureCollection>): any;
|
|
6
6
|
getGuides(props: ModeProps<FeatureCollection>): GuideFeatureCollection;
|
|
@@ -8,3 +8,4 @@ export declare class SplitPolygonMode extends GeoJsonEditMode {
|
|
|
8
8
|
handlePointerMove(event: PointerMoveEvent, props: ModeProps<FeatureCollection>): void;
|
|
9
9
|
splitPolygon(tentativeFeature: TentativeFeature, props: ModeProps<FeatureCollection>): GeoJsonEditAction;
|
|
10
10
|
}
|
|
11
|
+
//# sourceMappingURL=split-polygon-mode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"split-polygon-mode.d.ts","sourceRoot":"","sources":["../../src/edit-modes/split-polygon-mode.ts"],"names":[],"mappings":"AAeA,OAAO,EAAC,iBAAiB,EAAC,kCAA+B;AACzD,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,SAAS,EACT,sBAAsB,EACtB,gBAAgB,EACjB,mBAAgB;AACjB,OAAO,EAAC,eAAe,EAAE,iBAAiB,EAAC,+BAA4B;AAGvE,qBAAa,gBAAiB,SAAQ,eAAe;IACnD,kBAAkB,CAAC,aAAa,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;IAgD1F,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC,GAAG,sBAAsB;IA6BtE,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;IA2ClE,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;IAI9E,YAAY,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;CAqDrF"}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
// deck.gl-community
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
1
4
|
import booleanPointInPolygon from '@turf/boolean-point-in-polygon';
|
|
2
5
|
import turfDifference from '@turf/difference';
|
|
3
6
|
import turfBuffer from '@turf/buffer';
|
|
@@ -8,9 +11,9 @@ import turfDistance from '@turf/distance';
|
|
|
8
11
|
import turfDestination from '@turf/destination';
|
|
9
12
|
import turfPolygonToLine from '@turf/polygon-to-line';
|
|
10
13
|
import nearestPointOnLine from '@turf/nearest-point-on-line';
|
|
11
|
-
import { generatePointsParallelToLinePoints } from
|
|
12
|
-
import { GeoJsonEditMode } from
|
|
13
|
-
import { ImmutableFeatureCollection } from
|
|
14
|
+
import { generatePointsParallelToLinePoints } from "./utils.js";
|
|
15
|
+
import { GeoJsonEditMode } from "./geojson-edit-mode.js";
|
|
16
|
+
import { ImmutableFeatureCollection } from "./immutable-feature-collection.js";
|
|
14
17
|
export class SplitPolygonMode extends GeoJsonEditMode {
|
|
15
18
|
calculateMapCoords(clickSequence, mapCoords, props) {
|
|
16
19
|
const modeConfig = props.modeConfig;
|
|
@@ -40,7 +43,7 @@ export class SplitPolygonMode extends GeoJsonEditMode {
|
|
|
40
43
|
const lastBearing = turfBearing(firstPoint, closestPoint);
|
|
41
44
|
const currentDistance = turfDistance(firstPoint, mapCoords, { units: 'meters' });
|
|
42
45
|
return turfDestination(firstPoint, currentDistance, lastBearing, {
|
|
43
|
-
units: 'meters'
|
|
46
|
+
units: 'meters'
|
|
44
47
|
}).geometry.coordinates;
|
|
45
48
|
}
|
|
46
49
|
return mapCoords;
|
|
@@ -57,7 +60,7 @@ export class SplitPolygonMode extends GeoJsonEditMode {
|
|
|
57
60
|
const clickSequence = this.getClickSequence();
|
|
58
61
|
const guides = {
|
|
59
62
|
type: 'FeatureCollection',
|
|
60
|
-
features: []
|
|
63
|
+
features: []
|
|
61
64
|
};
|
|
62
65
|
if (clickSequence.length === 0 || !props.lastPointerMoveEvent) {
|
|
63
66
|
// nothing to do yet
|
|
@@ -67,12 +70,12 @@ export class SplitPolygonMode extends GeoJsonEditMode {
|
|
|
67
70
|
guides.features.push({
|
|
68
71
|
type: 'Feature',
|
|
69
72
|
properties: {
|
|
70
|
-
guideType: 'tentative'
|
|
73
|
+
guideType: 'tentative'
|
|
71
74
|
},
|
|
72
75
|
geometry: {
|
|
73
76
|
type: 'LineString',
|
|
74
|
-
coordinates: [...clickSequence, this.calculateMapCoords(clickSequence, mapCoords, props)]
|
|
75
|
-
}
|
|
77
|
+
coordinates: [...clickSequence, this.calculateMapCoords(clickSequence, mapCoords, props)]
|
|
78
|
+
}
|
|
76
79
|
});
|
|
77
80
|
return guides;
|
|
78
81
|
}
|
|
@@ -93,7 +96,7 @@ export class SplitPolygonMode extends GeoJsonEditMode {
|
|
|
93
96
|
}
|
|
94
97
|
const pt = {
|
|
95
98
|
type: 'Point',
|
|
96
|
-
coordinates: clickSequence[clickSequence.length - 1]
|
|
99
|
+
coordinates: clickSequence[clickSequence.length - 1]
|
|
97
100
|
};
|
|
98
101
|
// @ts-expect-error turf types diff
|
|
99
102
|
const isPointInPolygon = booleanPointInPolygon(pt, selectedGeometry);
|
|
@@ -150,14 +153,14 @@ export class SplitPolygonMode extends GeoJsonEditMode {
|
|
|
150
153
|
// Update the type to Mulitpolygon
|
|
151
154
|
const updatedData = new ImmutableFeatureCollection(props.data).replaceGeometry(featureIndex, {
|
|
152
155
|
type: 'MultiPolygon',
|
|
153
|
-
coordinates: updatedCoordinates
|
|
156
|
+
coordinates: updatedCoordinates
|
|
154
157
|
});
|
|
155
158
|
const editAction = {
|
|
156
159
|
updatedData: updatedData.getObject(),
|
|
157
160
|
editType: 'split',
|
|
158
161
|
editContext: {
|
|
159
|
-
featureIndexes: [featureIndex]
|
|
160
|
-
}
|
|
162
|
+
featureIndexes: [featureIndex]
|
|
163
|
+
}
|
|
161
164
|
};
|
|
162
165
|
return editAction;
|
|
163
166
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ClickEvent, PointerMoveEvent, ModeProps, GuideFeatureCollection, TentativeFeature } from
|
|
2
|
-
import { Position, Polygon, FeatureOf, FeatureCollection } from
|
|
3
|
-
import { GeoJsonEditMode } from
|
|
1
|
+
import { ClickEvent, PointerMoveEvent, ModeProps, GuideFeatureCollection, TentativeFeature } from "./types.js";
|
|
2
|
+
import { Position, Polygon, FeatureOf, FeatureCollection } from "../utils/geojson-types.js";
|
|
3
|
+
import { GeoJsonEditMode } from "./geojson-edit-mode.js";
|
|
4
4
|
export declare class ThreeClickPolygonMode extends GeoJsonEditMode {
|
|
5
5
|
handleClick(event: ClickEvent, props: ModeProps<FeatureCollection>): void;
|
|
6
6
|
getGuides(props: ModeProps<FeatureCollection>): GuideFeatureCollection;
|
|
@@ -8,3 +8,4 @@ export declare class ThreeClickPolygonMode extends GeoJsonEditMode {
|
|
|
8
8
|
handlePointerMove(event: PointerMoveEvent, props: ModeProps<FeatureCollection>): void;
|
|
9
9
|
createTentativeFeature(props: ModeProps<FeatureCollection>): TentativeFeature;
|
|
10
10
|
}
|
|
11
|
+
//# sourceMappingURL=three-click-polygon-mode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"three-click-polygon-mode.d.ts","sourceRoot":"","sources":["../../src/edit-modes/three-click-polygon-mode.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,SAAS,EACT,sBAAsB,EACtB,gBAAgB,EACjB,mBAAgB;AACjB,OAAO,EAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAC,kCAA+B;AACvF,OAAO,EAAC,eAAe,EAAC,+BAA4B;AAEpD,qBAAa,qBAAsB,SAAQ,eAAe;IACxD,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;IAmBlE,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC,GAAG,sBAAsB;IAgDtE,oBAAoB,CAClB,MAAM,EAAE,QAAQ,EAChB,MAAM,EAAE,QAAQ,EAChB,MAAM,EAAE,QAAQ,EAChB,UAAU,EAAE,GAAG,GACd,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS;IAIxC,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;IAK9E,sBAAsB,CAAC,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC,GAAG,gBAAgB;CAkB9E"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
// deck.gl-community
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
import { GeoJsonEditMode } from "./geojson-edit-mode.js";
|
|
2
5
|
export class ThreeClickPolygonMode extends GeoJsonEditMode {
|
|
3
6
|
handleClick(event, props) {
|
|
4
7
|
this.addClickSequence(event);
|
|
@@ -19,7 +22,7 @@ export class ThreeClickPolygonMode extends GeoJsonEditMode {
|
|
|
19
22
|
const clickSequence = this.getClickSequence();
|
|
20
23
|
const guides = {
|
|
21
24
|
type: 'FeatureCollection',
|
|
22
|
-
features: []
|
|
25
|
+
features: []
|
|
23
26
|
};
|
|
24
27
|
if (clickSequence.length === 0) {
|
|
25
28
|
// nothing to do yet
|
|
@@ -30,12 +33,12 @@ export class ThreeClickPolygonMode extends GeoJsonEditMode {
|
|
|
30
33
|
guides.features.push({
|
|
31
34
|
type: 'Feature',
|
|
32
35
|
properties: {
|
|
33
|
-
guideType: 'tentative'
|
|
36
|
+
guideType: 'tentative'
|
|
34
37
|
},
|
|
35
38
|
geometry: {
|
|
36
39
|
type: 'LineString',
|
|
37
|
-
coordinates: [clickSequence[0], hoveredCoord]
|
|
38
|
-
}
|
|
40
|
+
coordinates: [clickSequence[0], hoveredCoord]
|
|
41
|
+
}
|
|
39
42
|
});
|
|
40
43
|
}
|
|
41
44
|
else {
|
|
@@ -44,9 +47,9 @@ export class ThreeClickPolygonMode extends GeoJsonEditMode {
|
|
|
44
47
|
guides.features.push({
|
|
45
48
|
type: 'Feature',
|
|
46
49
|
properties: {
|
|
47
|
-
guideType: 'tentative'
|
|
50
|
+
guideType: 'tentative'
|
|
48
51
|
},
|
|
49
|
-
geometry: polygon.geometry
|
|
52
|
+
geometry: polygon.geometry
|
|
50
53
|
});
|
|
51
54
|
}
|
|
52
55
|
}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { PointerMoveEvent, ModeProps, StartDraggingEvent } from
|
|
2
|
-
import { FeatureCollection } from
|
|
3
|
-
import { CompositeMode } from
|
|
1
|
+
import { PointerMoveEvent, ModeProps, StartDraggingEvent } from "./types.js";
|
|
2
|
+
import { FeatureCollection } from "../utils/geojson-types.js";
|
|
3
|
+
import { CompositeMode } from "./composite-mode.js";
|
|
4
4
|
export declare class TransformMode extends CompositeMode {
|
|
5
5
|
constructor();
|
|
6
6
|
handlePointerMove(event: PointerMoveEvent, props: ModeProps<FeatureCollection>): void;
|
|
7
7
|
handleStartDragging(event: StartDraggingEvent, props: ModeProps<FeatureCollection>): void;
|
|
8
8
|
getGuides(props: ModeProps<FeatureCollection>): import("./types").GuideFeatureCollection;
|
|
9
9
|
}
|
|
10
|
+
//# sourceMappingURL=transform-mode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transform-mode.d.ts","sourceRoot":"","sources":["../../src/edit-modes/transform-mode.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,gBAAgB,EAAE,SAAS,EAAE,kBAAkB,EAAC,mBAAgB;AACxE,OAAO,EAAC,iBAAiB,EAAC,kCAA+B;AAKzD,OAAO,EAAC,aAAa,EAAC,4BAAyB;AAG/C,qBAAa,aAAc,SAAQ,aAAa;;IAK9C,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;IAW9E,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;IA2BlF,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;CAqB9C"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
+
// deck.gl-community
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
1
4
|
import { featureCollection } from '@turf/helpers';
|
|
2
|
-
import { TranslateMode } from
|
|
3
|
-
import { ScaleMode } from
|
|
4
|
-
import { RotateMode } from
|
|
5
|
-
import { CompositeMode } from
|
|
5
|
+
import { TranslateMode } from "./translate-mode.js";
|
|
6
|
+
import { ScaleMode } from "./scale-mode.js";
|
|
7
|
+
import { RotateMode } from "./rotate-mode.js";
|
|
8
|
+
import { CompositeMode } from "./composite-mode.js";
|
|
6
9
|
export class TransformMode extends CompositeMode {
|
|
7
10
|
constructor() {
|
|
8
11
|
super([new TranslateMode(), new ScaleMode(), new RotateMode()]);
|
|
@@ -13,7 +16,7 @@ export class TransformMode extends CompositeMode {
|
|
|
13
16
|
...props,
|
|
14
17
|
onUpdateCursor: (cursor) => {
|
|
15
18
|
updatedCursor = cursor || updatedCursor;
|
|
16
|
-
}
|
|
19
|
+
}
|
|
17
20
|
});
|
|
18
21
|
props.onUpdateCursor(updatedCursor);
|
|
19
22
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { FeatureCollection, Position } from
|
|
2
|
-
import { PointerMoveEvent, StartDraggingEvent, StopDraggingEvent, DraggingEvent, ModeProps } from
|
|
3
|
-
import { GeoJsonEditMode, GeoJsonEditAction } from
|
|
1
|
+
import { FeatureCollection, Position } from "../utils/geojson-types.js";
|
|
2
|
+
import { PointerMoveEvent, StartDraggingEvent, StopDraggingEvent, DraggingEvent, ModeProps } from "./types.js";
|
|
3
|
+
import { GeoJsonEditMode, GeoJsonEditAction } from "./geojson-edit-mode.js";
|
|
4
4
|
export declare class TranslateMode extends GeoJsonEditMode {
|
|
5
5
|
_geometryBeforeTranslate: FeatureCollection | null | undefined;
|
|
6
6
|
_isTranslatable: boolean;
|
|
@@ -11,3 +11,4 @@ export declare class TranslateMode extends GeoJsonEditMode {
|
|
|
11
11
|
updateCursor(props: ModeProps<FeatureCollection>): void;
|
|
12
12
|
getTranslateAction(startDragPoint: Position, currentPoint: Position, editType: string, props: ModeProps<FeatureCollection>): GeoJsonEditAction | null | undefined;
|
|
13
13
|
}
|
|
14
|
+
//# sourceMappingURL=translate-mode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"translate-mode.d.ts","sourceRoot":"","sources":["../../src/edit-modes/translate-mode.ts"],"names":[],"mappings":"AASA,OAAO,EAAC,iBAAiB,EAAE,QAAQ,EAAW,kCAA+B;AAC7E,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,SAAS,EACV,mBAAgB;AAGjB,OAAO,EAAC,eAAe,EAAE,iBAAiB,EAAC,+BAA4B;AAGvE,qBAAa,aAAc,SAAQ,eAAe;IAChD,wBAAwB,EAAE,iBAAiB,GAAG,IAAI,GAAG,SAAS,CAAC;IAC/D,eAAe,EAAE,OAAO,CAAc;IAEtC,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;IAwBxE,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;IAM9E,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;IAQlF,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;IAkBhF,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;IAShD,kBAAkB,CAChB,cAAc,EAAE,QAAQ,EACxB,YAAY,EAAE,QAAQ,EACtB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC,GAClC,iBAAiB,GAAG,IAAI,GAAG,SAAS;CAoExC"}
|
|
@@ -1,12 +1,15 @@
|
|
|
1
|
+
// deck.gl-community
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
1
4
|
import turfBearing from '@turf/bearing';
|
|
2
5
|
import turfDistance from '@turf/distance';
|
|
3
6
|
import clone from '@turf/clone';
|
|
4
7
|
import { point } from '@turf/helpers';
|
|
5
8
|
import WebMercatorViewport from 'viewport-mercator-project';
|
|
6
|
-
import { mapCoords } from
|
|
7
|
-
import { translateFromCenter } from
|
|
8
|
-
import { GeoJsonEditMode } from
|
|
9
|
-
import { ImmutableFeatureCollection } from
|
|
9
|
+
import { mapCoords } from "./utils.js";
|
|
10
|
+
import { translateFromCenter } from "../utils/translate-from-center.js";
|
|
11
|
+
import { GeoJsonEditMode } from "./geojson-edit-mode.js";
|
|
12
|
+
import { ImmutableFeatureCollection } from "./immutable-feature-collection.js";
|
|
10
13
|
export class TranslateMode extends GeoJsonEditMode {
|
|
11
14
|
_geometryBeforeTranslate;
|
|
12
15
|
_isTranslatable = undefined;
|
|
@@ -85,7 +88,7 @@ export class TranslateMode extends GeoJsonEditMode {
|
|
|
85
88
|
// @ts-expect-error turf types
|
|
86
89
|
updatedData = updatedData.replaceGeometry(selectedIndex, {
|
|
87
90
|
type: feature.geometry.type,
|
|
88
|
-
coordinates
|
|
91
|
+
coordinates
|
|
89
92
|
});
|
|
90
93
|
}
|
|
91
94
|
}
|
|
@@ -106,8 +109,8 @@ export class TranslateMode extends GeoJsonEditMode {
|
|
|
106
109
|
updatedData: updatedData.getObject(),
|
|
107
110
|
editType,
|
|
108
111
|
editContext: {
|
|
109
|
-
featureIndexes: selectedIndexes
|
|
110
|
-
}
|
|
112
|
+
featureIndexes: selectedIndexes
|
|
113
|
+
}
|
|
111
114
|
};
|
|
112
115
|
}
|
|
113
116
|
}
|