@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,6 +1,6 @@
|
|
|
1
|
-
import { ClickEvent, StartDraggingEvent, StopDraggingEvent, PointerMoveEvent, ModeProps, GuideFeatureCollection, TentativeFeature } from
|
|
2
|
-
import { Polygon, FeatureCollection, FeatureOf, Position } from
|
|
3
|
-
import { GeoJsonEditMode } from
|
|
1
|
+
import { ClickEvent, StartDraggingEvent, StopDraggingEvent, PointerMoveEvent, ModeProps, GuideFeatureCollection, TentativeFeature } from "./types.js";
|
|
2
|
+
import { Polygon, FeatureCollection, FeatureOf, Position } from "../utils/geojson-types.js";
|
|
3
|
+
import { GeoJsonEditMode } from "./geojson-edit-mode.js";
|
|
4
4
|
export declare class TwoClickPolygonMode extends GeoJsonEditMode {
|
|
5
5
|
handleClick(event: ClickEvent, props: ModeProps<FeatureCollection>): void;
|
|
6
6
|
handleStartDragging(event: StartDraggingEvent, props: ModeProps<FeatureCollection>): void;
|
|
@@ -11,3 +11,4 @@ export declare class TwoClickPolygonMode extends GeoJsonEditMode {
|
|
|
11
11
|
handlePointerMove(event: PointerMoveEvent, props: ModeProps<FeatureCollection>): void;
|
|
12
12
|
createTentativeFeature(props: ModeProps<FeatureCollection>): TentativeFeature;
|
|
13
13
|
}
|
|
14
|
+
//# sourceMappingURL=two-click-polygon-mode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"two-click-polygon-mode.d.ts","sourceRoot":"","sources":["../../src/edit-modes/two-click-polygon-mode.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,SAAS,EACT,sBAAsB,EACtB,gBAAgB,EACjB,mBAAgB;AACjB,OAAO,EAAC,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,QAAQ,EAAC,kCAA+B;AACvF,OAAO,EAAC,eAAe,EAAC,+BAA4B;AAEpD,qBAAa,mBAAoB,SAAQ,eAAe;IACtD,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;IAWlE,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC,GAAG,IAAI;IAUzF,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC,GAAG,IAAI;IAUvF,qBAAqB,CAAC,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;IA6BzD,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC,GAAG,sBAAsB;IAgCtE,kBAAkB,CAChB,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;CAa9E"}
|
|
@@ -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 TwoClickPolygonMode extends GeoJsonEditMode {
|
|
3
6
|
handleClick(event, props) {
|
|
4
7
|
if (props.modeConfig && props.modeConfig.dragToDraw) {
|
|
@@ -33,12 +36,12 @@ export class TwoClickPolygonMode extends GeoJsonEditMode {
|
|
|
33
36
|
const feature = {
|
|
34
37
|
type: 'Feature',
|
|
35
38
|
properties: {
|
|
36
|
-
shape: tentativeFeature.properties.shape
|
|
39
|
+
shape: tentativeFeature.properties.shape
|
|
37
40
|
},
|
|
38
41
|
geometry: {
|
|
39
42
|
type: 'Polygon',
|
|
40
|
-
coordinates: tentativeFeature.geometry.coordinates
|
|
41
|
-
}
|
|
43
|
+
coordinates: tentativeFeature.geometry.coordinates
|
|
44
|
+
}
|
|
42
45
|
};
|
|
43
46
|
const editAction = this.getAddFeatureOrBooleanPolygonAction(feature, props);
|
|
44
47
|
this.resetClickSequence();
|
|
@@ -52,7 +55,7 @@ export class TwoClickPolygonMode extends GeoJsonEditMode {
|
|
|
52
55
|
const clickSequence = this.getClickSequence();
|
|
53
56
|
const guides = {
|
|
54
57
|
type: 'FeatureCollection',
|
|
55
|
-
features: []
|
|
58
|
+
features: []
|
|
56
59
|
};
|
|
57
60
|
if (clickSequence.length === 0 || !lastPointerMoveEvent) {
|
|
58
61
|
// nothing to do yet
|
|
@@ -66,9 +69,9 @@ export class TwoClickPolygonMode extends GeoJsonEditMode {
|
|
|
66
69
|
type: 'Feature',
|
|
67
70
|
properties: {
|
|
68
71
|
shape: polygon.properties && polygon.properties.shape,
|
|
69
|
-
guideType: 'tentative'
|
|
72
|
+
guideType: 'tentative'
|
|
70
73
|
},
|
|
71
|
-
geometry: polygon.geometry
|
|
74
|
+
geometry: polygon.geometry
|
|
72
75
|
});
|
|
73
76
|
}
|
|
74
77
|
return guides;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Position, Point, Geometry, FeatureWithProps } from
|
|
1
|
+
import { Position, Point, Geometry, FeatureWithProps } from "../utils/geojson-types.js";
|
|
2
2
|
export type ScreenCoordinates = [number, number];
|
|
3
3
|
export type EditAction<TData> = {
|
|
4
4
|
updatedData: TData;
|
|
@@ -84,3 +84,4 @@ export type ModeProps<TData> = {
|
|
|
84
84
|
onEdit: (editAction: EditAction<TData>) => void;
|
|
85
85
|
onUpdateCursor: (cursor: string | null | undefined) => void;
|
|
86
86
|
};
|
|
87
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/edit-modes/types.ts"],"names":[],"mappings":"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"}
|
package/dist/edit-modes/types.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { MultiLineString } from '@turf/helpers';
|
|
2
|
-
import { Viewport, Pick, EditHandleFeature, EditHandleType } from
|
|
3
|
-
import { Geometry, Position, Point, LineString, Polygon, FeatureOf, FeatureWithProps, AnyCoordinates } from
|
|
2
|
+
import { Viewport, Pick, EditHandleFeature, EditHandleType } from "./types.js";
|
|
3
|
+
import { Geometry, Position, Point, LineString, Polygon, FeatureOf, FeatureWithProps, AnyCoordinates } from "../utils/geojson-types.js";
|
|
4
4
|
export type NearestPointType = FeatureWithProps<Point, {
|
|
5
5
|
dist: number;
|
|
6
6
|
index: number;
|
|
@@ -34,3 +34,4 @@ export declare function updateRectanglePosition(feature: FeatureOf<Polygon>, edi
|
|
|
34
34
|
* @retuns Transformed coordinates.
|
|
35
35
|
*/
|
|
36
36
|
export declare function mapCoords(coords: AnyCoordinates, callback: (coords: Position) => Position): AnyCoordinates;
|
|
37
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/edit-modes/utils.ts"],"names":[],"mappings":"AAUA,OAAO,EAAQ,eAAe,EAAC,MAAM,eAAe,CAAC;AAGrD,OAAO,EAAC,QAAQ,EAAE,IAAI,EAAE,iBAAiB,EAAE,cAAc,EAAC,mBAAgB;AAC1E,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,UAAU,EACV,OAAO,EACP,SAAS,EACT,gBAAgB,EAChB,cAAc,EACf,kCAA+B;AAEhC,MAAM,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,KAAK,EAAE;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAC,CAAC,CAAC;AAEtF,wBAAgB,WAAW,CACzB,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,EACjD,YAAY,GAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAoB,GAChE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAKlC;AA2BD,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EACjB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,EACrB,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,WAYlD;AAED,wBAAgB,kCAAkC,CAChD,EAAE,EAAE,QAAQ,EACZ,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,QAAQ,GAClB,QAAQ,EAAE,CAwBZ;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAIjF;AAED,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,SAAS,CAAC,UAAU,CAAC,EAC3B,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,EACzB,QAAQ,EAAE,QAAQ,GACjB,gBAAgB,CA8DlB;AAED,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,UAAU,GAAG,eAAe,EACvE,KAAK,EAAE,SAAS,CAAC,UAAU,CAAC,EAC5B,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,EACzB,QAAQ,CAAC,EAAE,QAAQ,GAClB,gBAAgB,CAiIlB;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,GAAG,SAAS,GAC/B,iBAAiB,GAAG,IAAI,GAAG,SAAS,CAGtC;AAED,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,GAAG,SAAS,GAC/B,iBAAiB,GAAG,IAAI,GAAG,SAAS,CAGtC;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,CAEtD;AAED,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,GAAG,SAAS,GAC/B,iBAAiB,GAAG,IAAI,GAAG,SAAS,CAKtC;AAED,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,GAAG,SAAS,GAC/B,iBAAiB,GAAG,IAAI,GAAG,SAAS,CAKtC;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,GAAG,SAAS,GAAG,iBAAiB,EAAE,CAS1F;AAED,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,MAAM,EACpB,cAAc,GAAE,cAA2B,GAC1C,iBAAiB,EAAE,CAkErB;AA4BD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,EAC3B,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,QAAQ,GAClB,QAAQ,EAAE,EAAE,GAAG,IAAI,CAerB;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CACvB,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,KAAK,QAAQ,GACvC,cAAc,CAahB"}
|
package/dist/edit-modes/utils.js
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
// deck.gl-community
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
/* eslint-disable no-shadow */
|
|
1
5
|
import destination from '@turf/destination';
|
|
2
6
|
import bearing from '@turf/bearing';
|
|
3
7
|
import pointToLineDistance from '@turf/point-to-line-distance';
|
|
@@ -51,7 +55,7 @@ export function recursivelyTraverseNestedArrays(array, prefix, fn) {
|
|
|
51
55
|
export function generatePointsParallelToLinePoints(p1, p2, mapCoords) {
|
|
52
56
|
const lineString = {
|
|
53
57
|
type: 'LineString',
|
|
54
|
-
coordinates: [p1, p2]
|
|
58
|
+
coordinates: [p1, p2]
|
|
55
59
|
};
|
|
56
60
|
const pt = point(mapCoords);
|
|
57
61
|
const ddistance = pointToLineDistance(pt, lineString);
|
|
@@ -104,11 +108,11 @@ export function nearestPointOnProjectedLine(line, inPoint, viewport) {
|
|
|
104
108
|
minPointInfo = {
|
|
105
109
|
index,
|
|
106
110
|
x0: (B * (B * x - A * y) - A * C) / div,
|
|
107
|
-
y0: (A * (-B * x + A * y) - B * C) / div
|
|
111
|
+
y0: (A * (-B * x + A * y) - B * C) / div
|
|
108
112
|
};
|
|
109
113
|
}
|
|
110
114
|
});
|
|
111
|
-
// @ts-
|
|
115
|
+
// @ts-expect-error TODO
|
|
112
116
|
const { index, x0, y0 } = minPointInfo;
|
|
113
117
|
const [x1, y1, z1 = 0] = projectedCoords[index - 1];
|
|
114
118
|
const [x2, y2, z2 = 0] = projectedCoords[index];
|
|
@@ -121,14 +125,13 @@ export function nearestPointOnProjectedLine(line, inPoint, viewport) {
|
|
|
121
125
|
type: 'Feature',
|
|
122
126
|
geometry: {
|
|
123
127
|
type: 'Point',
|
|
124
|
-
|
|
125
|
-
coordinates: wmViewport.unproject([x0, y0, z0]),
|
|
128
|
+
coordinates: wmViewport.unproject([x0, y0, z0])
|
|
126
129
|
},
|
|
127
130
|
properties: {
|
|
128
131
|
// TODO: calculate the distance in proper units
|
|
129
132
|
dist: minDistance,
|
|
130
|
-
index: index - 1
|
|
131
|
-
}
|
|
133
|
+
index: index - 1
|
|
134
|
+
}
|
|
132
135
|
};
|
|
133
136
|
}
|
|
134
137
|
export function nearestPointOnLine(lines, inPoint, viewport) {
|
|
@@ -137,16 +140,16 @@ export function nearestPointOnLine(lines, inPoint, viewport) {
|
|
|
137
140
|
mercator = new WebMercatorViewport(viewport);
|
|
138
141
|
}
|
|
139
142
|
let closestPoint = point([Infinity, Infinity], {
|
|
140
|
-
dist: Infinity
|
|
143
|
+
dist: Infinity
|
|
141
144
|
});
|
|
142
145
|
if (!lines.geometry?.coordinates.length || lines.geometry?.coordinates.length < 2) {
|
|
143
146
|
return closestPoint;
|
|
144
147
|
}
|
|
145
|
-
// @ts-
|
|
148
|
+
// @ts-expect-error TODO
|
|
146
149
|
// eslint-disable-next-line max-statements, complexity
|
|
147
150
|
flattenEach(lines, (line) => {
|
|
148
151
|
const coords = getCoords(line);
|
|
149
|
-
// @ts-
|
|
152
|
+
// @ts-expect-error TODO
|
|
150
153
|
const pointCoords = getCoords(inPoint);
|
|
151
154
|
let minDist;
|
|
152
155
|
let to;
|
|
@@ -231,12 +234,12 @@ export function nearestPointOnLine(lines, inPoint, viewport) {
|
|
|
231
234
|
y: pixelToLatLong[1],
|
|
232
235
|
idx: segmentIdx - 1,
|
|
233
236
|
to,
|
|
234
|
-
from
|
|
237
|
+
from
|
|
235
238
|
};
|
|
236
239
|
}
|
|
237
240
|
closestPoint = point([snapPoint.x, snapPoint.y], {
|
|
238
241
|
dist: Math.abs(snapPoint.from - snapPoint.to),
|
|
239
|
-
index: snapPoint.idx
|
|
242
|
+
index: snapPoint.idx
|
|
240
243
|
});
|
|
241
244
|
});
|
|
242
245
|
return closestPoint;
|
|
@@ -280,13 +283,13 @@ export function getEditHandlesForGeometry(geometry, featureIndex, editHandleType
|
|
|
280
283
|
guideType: 'editHandle',
|
|
281
284
|
editHandleType,
|
|
282
285
|
positionIndexes: [],
|
|
283
|
-
featureIndex
|
|
286
|
+
featureIndex
|
|
284
287
|
},
|
|
285
288
|
geometry: {
|
|
286
289
|
type: 'Point',
|
|
287
|
-
coordinates: geometry.coordinates
|
|
288
|
-
}
|
|
289
|
-
}
|
|
290
|
+
coordinates: geometry.coordinates
|
|
291
|
+
}
|
|
292
|
+
}
|
|
290
293
|
];
|
|
291
294
|
break;
|
|
292
295
|
case 'MultiPoint':
|
|
@@ -330,12 +333,12 @@ function getEditHandlesForCoordinates(coordinates, positionIndexPrefix, featureI
|
|
|
330
333
|
guideType: 'editHandle',
|
|
331
334
|
positionIndexes: [...positionIndexPrefix, i],
|
|
332
335
|
featureIndex,
|
|
333
|
-
editHandleType
|
|
336
|
+
editHandleType
|
|
334
337
|
},
|
|
335
338
|
geometry: {
|
|
336
339
|
type: 'Point',
|
|
337
|
-
coordinates: position
|
|
338
|
-
}
|
|
340
|
+
coordinates: position
|
|
341
|
+
}
|
|
339
342
|
});
|
|
340
343
|
}
|
|
341
344
|
return editHandles;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view-mode.d.ts","sourceRoot":"","sources":["../../src/edit-modes/view-mode.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,eAAe,EAAC,+BAA4B;AAEpD,qBAAa,QAAS,SAAQ,eAAe;CAAG"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { UpdateParameters, DefaultProps } from '@deck.gl/core';
|
|
2
2
|
import { GeoJsonLayer, TextLayer } from '@deck.gl/layers';
|
|
3
|
-
import { EditAction, ClickEvent, StartDraggingEvent, StopDraggingEvent, DraggingEvent, PointerMoveEvent } from
|
|
4
|
-
import { GeoJsonEditModeType } from
|
|
5
|
-
import { Color } from
|
|
6
|
-
import EditableLayer,
|
|
7
|
-
import { Feature, FeatureCollection } from
|
|
3
|
+
import { EditAction, ClickEvent, StartDraggingEvent, StopDraggingEvent, DraggingEvent, PointerMoveEvent } from "../edit-modes/types.js";
|
|
4
|
+
import { GeoJsonEditModeType } from "../edit-modes/geojson-edit-mode.js";
|
|
5
|
+
import { Color } from "../utils/types.js";
|
|
6
|
+
import { EditableLayer, EditableLayerProps } from "./editable-layer.js";
|
|
7
|
+
import { Feature, FeatureCollection } from "../utils/geojson-types.js";
|
|
8
8
|
export type EditableGeojsonLayerProps<DataT = any> = EditableLayerProps & {
|
|
9
9
|
data: DataT;
|
|
10
10
|
mode?: any;
|
|
@@ -55,7 +55,7 @@ export type EditableGeojsonLayerProps<DataT = any> = EditableLayerProps & {
|
|
|
55
55
|
getEditHandleIconAngle?: number | ((handle: any) => number);
|
|
56
56
|
billboard?: boolean;
|
|
57
57
|
};
|
|
58
|
-
export
|
|
58
|
+
export declare class EditableGeoJsonLayer extends EditableLayer<FeatureCollection, EditableGeojsonLayerProps<FeatureCollection>> {
|
|
59
59
|
static layerName: string;
|
|
60
60
|
static defaultProps: DefaultProps<EditableGeojsonLayerProps<any>>;
|
|
61
61
|
state: EditableLayer['state'] & {
|
|
@@ -96,3 +96,4 @@ export default class EditableGeoJsonLayer extends EditableLayer<FeatureCollectio
|
|
|
96
96
|
}): null | 'grabbing' | 'grab';
|
|
97
97
|
getActiveMode(): GeoJsonEditModeType;
|
|
98
98
|
}
|
|
99
|
+
//# sourceMappingURL=editable-geojson-layer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"editable-geojson-layer.d.ts","sourceRoot":"","sources":["../../src/editable-layers/editable-geojson-layer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,33 +1,35 @@
|
|
|
1
|
-
|
|
1
|
+
// deck.gl-community
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
2
4
|
import { GeoJsonLayer, ScatterplotLayer, IconLayer, TextLayer } from '@deck.gl/layers';
|
|
3
|
-
import { ViewMode } from
|
|
4
|
-
import { TranslateMode } from
|
|
5
|
-
import { ModifyMode } from
|
|
6
|
-
import { ScaleMode } from
|
|
7
|
-
import { RotateMode } from
|
|
8
|
-
import { DuplicateMode } from
|
|
9
|
-
import { SplitPolygonMode } from
|
|
10
|
-
import { ExtrudeMode } from
|
|
11
|
-
import { ElevationMode } from
|
|
12
|
-
import { DrawPointMode } from
|
|
13
|
-
import { DrawLineStringMode } from
|
|
14
|
-
import { DrawPolygonMode } from
|
|
15
|
-
import { DrawRectangleMode } from
|
|
16
|
-
import { DrawSquareMode } from
|
|
17
|
-
import { DrawRectangleFromCenterMode } from
|
|
18
|
-
import { DrawSquareFromCenterMode } from
|
|
19
|
-
import { DrawCircleFromCenterMode } from
|
|
20
|
-
import { DrawCircleByDiameterMode } from
|
|
21
|
-
import { DrawEllipseByBoundingBoxMode } from
|
|
22
|
-
import { DrawRectangleUsingThreePointsMode } from
|
|
23
|
-
import { DrawEllipseUsingThreePointsMode } from
|
|
24
|
-
import { Draw90DegreePolygonMode } from
|
|
25
|
-
import { DrawPolygonByDraggingMode } from
|
|
26
|
-
import { SnappableMode } from
|
|
27
|
-
import { TransformMode } from
|
|
28
|
-
import { PROJECTED_PIXEL_SIZE_MULTIPLIER } from
|
|
29
|
-
import EditableLayer from
|
|
30
|
-
import EditablePathLayer from
|
|
5
|
+
import { ViewMode } from "../edit-modes/view-mode.js";
|
|
6
|
+
import { TranslateMode } from "../edit-modes/translate-mode.js";
|
|
7
|
+
import { ModifyMode } from "../edit-modes/modify-mode.js";
|
|
8
|
+
import { ScaleMode } from "../edit-modes/scale-mode.js";
|
|
9
|
+
import { RotateMode } from "../edit-modes/rotate-mode.js";
|
|
10
|
+
import { DuplicateMode } from "../edit-modes/duplicate-mode.js";
|
|
11
|
+
import { SplitPolygonMode } from "../edit-modes/split-polygon-mode.js";
|
|
12
|
+
import { ExtrudeMode } from "../edit-modes/extrude-mode.js";
|
|
13
|
+
import { ElevationMode } from "../edit-modes/elevation-mode.js";
|
|
14
|
+
import { DrawPointMode } from "../edit-modes/draw-point-mode.js";
|
|
15
|
+
import { DrawLineStringMode } from "../edit-modes/draw-line-string-mode.js";
|
|
16
|
+
import { DrawPolygonMode } from "../edit-modes/draw-polygon-mode.js";
|
|
17
|
+
import { DrawRectangleMode } from "../edit-modes/draw-rectangle-mode.js";
|
|
18
|
+
import { DrawSquareMode } from "../edit-modes/draw-square-mode.js";
|
|
19
|
+
import { DrawRectangleFromCenterMode } from "../edit-modes/draw-rectangle-from-center-mode.js";
|
|
20
|
+
import { DrawSquareFromCenterMode } from "../edit-modes/draw-square-from-center-mode.js";
|
|
21
|
+
import { DrawCircleFromCenterMode } from "../edit-modes/draw-circle-from-center-mode.js";
|
|
22
|
+
import { DrawCircleByDiameterMode } from "../edit-modes/draw-circle-by-diameter-mode.js";
|
|
23
|
+
import { DrawEllipseByBoundingBoxMode } from "../edit-modes/draw-ellipse-by-bounding-box-mode.js";
|
|
24
|
+
import { DrawRectangleUsingThreePointsMode } from "../edit-modes/draw-rectangle-using-three-points-mode.js";
|
|
25
|
+
import { DrawEllipseUsingThreePointsMode } from "../edit-modes/draw-ellipse-using-three-points-mode.js";
|
|
26
|
+
import { Draw90DegreePolygonMode } from "../edit-modes/draw-90degree-polygon-mode.js";
|
|
27
|
+
import { DrawPolygonByDraggingMode } from "../edit-modes/draw-polygon-by-dragging-mode.js";
|
|
28
|
+
import { SnappableMode } from "../edit-modes/snappable-mode.js";
|
|
29
|
+
import { TransformMode } from "../edit-modes/transform-mode.js";
|
|
30
|
+
import { PROJECTED_PIXEL_SIZE_MULTIPLIER } from "../constants.js";
|
|
31
|
+
import { EditableLayer } from "./editable-layer.js";
|
|
32
|
+
import { EditablePathLayer } from "./editable-path-layer.js";
|
|
31
33
|
const DEFAULT_LINE_COLOR = [0x0, 0x0, 0x0, 0x99];
|
|
32
34
|
const DEFAULT_FILL_COLOR = [0x0, 0x0, 0x0, 0x90];
|
|
33
35
|
const DEFAULT_SELECTED_LINE_COLOR = [0x0, 0x0, 0x0, 0xff];
|
|
@@ -135,7 +137,7 @@ const defaultProps = {
|
|
|
135
137
|
getEditHandleIconColor: getEditHandleColor,
|
|
136
138
|
getEditHandleIconAngle: 0,
|
|
137
139
|
// misc
|
|
138
|
-
billboard: true
|
|
140
|
+
billboard: true
|
|
139
141
|
};
|
|
140
142
|
// Mapping of mode name to mode class (for legacy purposes)
|
|
141
143
|
const modeNameMapping = {
|
|
@@ -164,9 +166,9 @@ const modeNameMapping = {
|
|
|
164
166
|
drawRectangleUsing3Points: DrawRectangleUsingThreePointsMode,
|
|
165
167
|
drawEllipseUsing3Points: DrawEllipseUsingThreePointsMode,
|
|
166
168
|
draw90DegreePolygon: Draw90DegreePolygonMode,
|
|
167
|
-
drawPolygonByDragging: DrawPolygonByDraggingMode
|
|
169
|
+
drawPolygonByDragging: DrawPolygonByDraggingMode
|
|
168
170
|
};
|
|
169
|
-
export
|
|
171
|
+
export class EditableGeoJsonLayer extends EditableLayer {
|
|
170
172
|
static layerName = 'EditableGeoJsonLayer';
|
|
171
173
|
static defaultProps = defaultProps;
|
|
172
174
|
state = undefined;
|
|
@@ -198,8 +200,8 @@ export default class EditableGeoJsonLayer extends EditableLayer {
|
|
|
198
200
|
billboard: this.props.billboard,
|
|
199
201
|
updateTriggers: {
|
|
200
202
|
// required to update dashed array attribute
|
|
201
|
-
all: [this.props.selectedFeatureIndexes, this.props.mode]
|
|
202
|
-
}
|
|
203
|
+
all: [this.props.selectedFeatureIndexes, this.props.mode]
|
|
204
|
+
}
|
|
203
205
|
},
|
|
204
206
|
'polygons-stroke': {
|
|
205
207
|
billboard: this.props.billboard,
|
|
@@ -207,16 +209,16 @@ export default class EditableGeoJsonLayer extends EditableLayer {
|
|
|
207
209
|
type: EditablePathLayer,
|
|
208
210
|
updateTriggers: {
|
|
209
211
|
// required to update dashed array attribute
|
|
210
|
-
all: [this.props.selectedFeatureIndexes, this.props.mode]
|
|
211
|
-
}
|
|
212
|
-
}
|
|
212
|
+
all: [this.props.selectedFeatureIndexes, this.props.mode]
|
|
213
|
+
}
|
|
214
|
+
}
|
|
213
215
|
},
|
|
214
216
|
updateTriggers: {
|
|
215
217
|
getLineColor: [this.props.selectedFeatureIndexes, this.props.mode],
|
|
216
218
|
getFillColor: [this.props.selectedFeatureIndexes, this.props.mode],
|
|
217
219
|
getPointRadius: [this.props.selectedFeatureIndexes, this.props.mode],
|
|
218
|
-
getLineWidth: [this.props.selectedFeatureIndexes, this.props.mode]
|
|
219
|
-
}
|
|
220
|
+
getLineWidth: [this.props.selectedFeatureIndexes, this.props.mode]
|
|
221
|
+
}
|
|
220
222
|
});
|
|
221
223
|
let layers = [new GeoJsonLayer(subLayerProps)];
|
|
222
224
|
layers = layers.concat(this.createGuidesLayers(), this.createTooltipsLayers());
|
|
@@ -226,7 +228,7 @@ export default class EditableGeoJsonLayer extends EditableLayer {
|
|
|
226
228
|
super.initializeState();
|
|
227
229
|
this.setState({
|
|
228
230
|
selectedFeatures: [],
|
|
229
|
-
editHandles: []
|
|
231
|
+
editHandles: []
|
|
230
232
|
});
|
|
231
233
|
}
|
|
232
234
|
// TODO: is this the best way to properly update state from an outside event handler?
|
|
@@ -253,7 +255,7 @@ export default class EditableGeoJsonLayer extends EditableLayer {
|
|
|
253
255
|
// Lookup the mode based on its name (for backwards compatibility)
|
|
254
256
|
mode = modeNameMapping[props.mode];
|
|
255
257
|
// eslint-disable-next-line no-console
|
|
256
|
-
console.warn(
|
|
258
|
+
console.warn("Deprecated use of passing `mode` as a string. Pass the mode's class constructor instead.");
|
|
257
259
|
}
|
|
258
260
|
else {
|
|
259
261
|
// Should be an instance of EditMode in this case
|
|
@@ -275,7 +277,6 @@ export default class EditableGeoJsonLayer extends EditableLayer {
|
|
|
275
277
|
'features' in props.data) {
|
|
276
278
|
// TODO: needs improved testing, i.e. checking for duplicates, NaNs, out of range numbers, ...
|
|
277
279
|
const propsData = props.data;
|
|
278
|
-
// @ts-ignore error TS2339: Property 'features' does not exist on type 'never'
|
|
279
280
|
selectedFeatures = props.selectedFeatureIndexes.map((elem) => propsData.features[elem]);
|
|
280
281
|
}
|
|
281
282
|
this.setState({ selectedFeatures });
|
|
@@ -296,7 +297,7 @@ export default class EditableGeoJsonLayer extends EditableLayer {
|
|
|
296
297
|
},
|
|
297
298
|
onUpdateCursor: (cursor) => {
|
|
298
299
|
this.setState({ cursor });
|
|
299
|
-
}
|
|
300
|
+
}
|
|
300
301
|
};
|
|
301
302
|
}
|
|
302
303
|
selectionAwareAccessor(accessor) {
|
|
@@ -343,14 +344,14 @@ export default class EditableGeoJsonLayer extends EditableLayer {
|
|
|
343
344
|
const subLayerProps = {
|
|
344
345
|
linestrings: {
|
|
345
346
|
billboard: this.props.billboard,
|
|
346
|
-
autoHighlight: false
|
|
347
|
+
autoHighlight: false
|
|
347
348
|
},
|
|
348
349
|
'polygons-fill': {
|
|
349
|
-
autoHighlight: false
|
|
350
|
+
autoHighlight: false
|
|
350
351
|
},
|
|
351
352
|
'polygons-stroke': {
|
|
352
|
-
billboard: this.props.billboard
|
|
353
|
-
}
|
|
353
|
+
billboard: this.props.billboard
|
|
354
|
+
}
|
|
354
355
|
};
|
|
355
356
|
if (this.props.editHandleType === 'icon') {
|
|
356
357
|
subLayerProps['points-icon'] = {
|
|
@@ -363,7 +364,7 @@ export default class EditableGeoJsonLayer extends EditableLayer {
|
|
|
363
364
|
getSize: guideAccessor(this.props.getEditHandleIconSize),
|
|
364
365
|
getColor: guideAccessor(this.props.getEditHandleIconColor),
|
|
365
366
|
getAngle: guideAccessor(this.props.getEditHandleIconAngle),
|
|
366
|
-
billboard: this.props.billboard
|
|
367
|
+
billboard: this.props.billboard
|
|
367
368
|
};
|
|
368
369
|
}
|
|
369
370
|
else {
|
|
@@ -378,7 +379,7 @@ export default class EditableGeoJsonLayer extends EditableLayer {
|
|
|
378
379
|
getRadius: guideAccessor(this.props.getEditHandlePointRadius),
|
|
379
380
|
getFillColor: guideAccessor(this.props.getEditHandlePointColor),
|
|
380
381
|
getLineColor: guideAccessor(this.props.getEditHandlePointOutlineColor),
|
|
381
|
-
billboard: this.props.billboard
|
|
382
|
+
billboard: this.props.billboard
|
|
382
383
|
};
|
|
383
384
|
}
|
|
384
385
|
const layer = new GeoJsonLayer(this.getSubLayerProps({
|
|
@@ -397,7 +398,7 @@ export default class EditableGeoJsonLayer extends EditableLayer {
|
|
|
397
398
|
getLineWidth: guideAccessor(this.props.getTentativeLineWidth),
|
|
398
399
|
getFillColor: guideAccessor(this.props.getTentativeFillColor),
|
|
399
400
|
pointType: this.props.editHandleType === 'icon' ? 'icon' : 'circle',
|
|
400
|
-
iconAtlas: this.props.editHandleIconAtlas
|
|
401
|
+
iconAtlas: this.props.editHandleIconAtlas
|
|
401
402
|
}));
|
|
402
403
|
return [layer];
|
|
403
404
|
}
|
|
@@ -408,8 +409,8 @@ export default class EditableGeoJsonLayer extends EditableLayer {
|
|
|
408
409
|
getSize: DEFAULT_TOOLTIP_FONT_SIZE,
|
|
409
410
|
...this.getSubLayerProps({
|
|
410
411
|
id: 'tooltips',
|
|
411
|
-
data: tooltips
|
|
412
|
-
})
|
|
412
|
+
data: tooltips
|
|
413
|
+
})
|
|
413
414
|
});
|
|
414
415
|
return [layer];
|
|
415
416
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DefaultProps } from '@deck.gl/core';
|
|
2
|
-
import EditableLayer,
|
|
2
|
+
import { EditableLayer, EditableLayerProps } from "./editable-layer.js";
|
|
3
3
|
export type EditableH3ClusterLayerProps<DataT> = EditableLayerProps & {
|
|
4
4
|
data: DataT;
|
|
5
5
|
resolution?: number;
|
|
@@ -16,7 +16,7 @@ export type EditableH3ClusterLayerProps<DataT> = EditableLayerProps & {
|
|
|
16
16
|
lineWidthMaxPixels?: number;
|
|
17
17
|
lineWidthUnits?: string;
|
|
18
18
|
};
|
|
19
|
-
export
|
|
19
|
+
export declare class EditableH3ClusterLayer extends EditableLayer<any, EditableH3ClusterLayerProps<any>> {
|
|
20
20
|
static layerName: string;
|
|
21
21
|
static defaultProps: DefaultProps<EditableH3ClusterLayerProps<any>>;
|
|
22
22
|
state: EditableLayer['state'] & {
|
|
@@ -32,3 +32,4 @@ export default class EditableH3ClusterLayer extends EditableLayer<any, EditableH
|
|
|
32
32
|
isDragging: boolean;
|
|
33
33
|
}): 'grabbing' | 'grab';
|
|
34
34
|
}
|
|
35
|
+
//# sourceMappingURL=editable-h3-cluster-layer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"editable-h3-cluster-layer.d.ts","sourceRoot":"","sources":["../../src/editable-layers/editable-h3-cluster-layer.ts"],"names":[],"mappings":"AAOA,OAAO,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAK3C,OAAO,EAAC,aAAa,EAAE,kBAAkB,EAAC,4BAAyB;AAUnE,MAAM,MAAM,2BAA2B,CAAC,KAAK,IAAI,kBAAkB,GAAG;IACpE,IAAI,EAAE,KAAK,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,gBAAgB,CAAC,EAAE,CAAC,eAAe,EAAE,GAAG,EAAE,EAAE,eAAe,EAAE,GAAG,KAAK,GAAG,CAAC;IACzE,WAAW,CAAC,EAAE,CAAC,CAAC,KAAA,KAAK,MAAM,EAAE,CAAC;IAC9B,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,KAAA,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,EAAE,WAAW,CAAC,KAAA,KAAK,IAAI,CAAC;IAC5F,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AA+BF,qBAAa,sBAAuB,SAAQ,aAAa,CAAC,GAAG,EAAE,2BAA2B,CAAC,GAAG,CAAC,CAAC;IAC9F,MAAM,CAAC,SAAS,SAA4B;IAC5C,MAAM,CAAC,YAAY,iDAAgB;IAEnC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG;QAC9B,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAAC;QACpC,mBAAmB,EAAE,MAAM,EAAE,CAAC;KAC/B,CAAc;IAEf,eAAe;IASf,oBAAoB,CAAC,MAAM,KAAA;IAM3B,mBAAmB,CAAC,MAAM,KAAA;IAK1B,YAAY;IAiHZ,iBAAiB;IAUjB,SAAS,CAAC,EAAC,UAAU,EAAC,EAAE;QAAC,UAAU,EAAE,OAAO,CAAA;KAAC,GAAG,UAAU,GAAG,MAAM;CAQpE"}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
+
// deck.gl-community
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
1
4
|
/* eslint-env browser */
|
|
2
5
|
import { H3ClusterLayer } from '@deck.gl/geo-layers';
|
|
3
6
|
// TODO: Fix H3 support.
|
|
4
7
|
// import { polyfill, geoToH3 } from 'h3-js';
|
|
5
|
-
import { PROJECTED_PIXEL_SIZE_MULTIPLIER } from
|
|
6
|
-
import EditableGeoJsonLayer from
|
|
7
|
-
import EditableLayer from
|
|
8
|
-
import { ViewMode } from
|
|
8
|
+
import { PROJECTED_PIXEL_SIZE_MULTIPLIER } from "../constants.js";
|
|
9
|
+
import { EditableGeoJsonLayer } from "./editable-geojson-layer.js";
|
|
10
|
+
import { EditableLayer } from "./editable-layer.js";
|
|
11
|
+
import { ViewMode } from "../edit-modes/view-mode.js";
|
|
9
12
|
const DEFAULT_EDIT_MODE = ViewMode;
|
|
10
13
|
const DEFAULT_H3_RESOLUTION = 9;
|
|
11
14
|
const EMPTY_FEATURE_COLLECTION = {
|
|
@@ -38,7 +41,7 @@ const defaultProps = {
|
|
|
38
41
|
},
|
|
39
42
|
resolution: DEFAULT_H3_RESOLUTION
|
|
40
43
|
};
|
|
41
|
-
export
|
|
44
|
+
export class EditableH3ClusterLayer extends EditableLayer {
|
|
42
45
|
static layerName = 'EditableH3ClusterLayer';
|
|
43
46
|
static defaultProps = defaultProps;
|
|
44
47
|
state = undefined;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { CompositeLayer, CompositeLayerProps } from '@deck.gl/core';
|
|
2
|
-
import { DraggingEvent, ClickEvent, StartDraggingEvent, StopDraggingEvent, PointerMoveEvent } from
|
|
3
|
-
import { Position } from
|
|
2
|
+
import { DraggingEvent, ClickEvent, StartDraggingEvent, StopDraggingEvent, PointerMoveEvent } from "../edit-modes/types.js";
|
|
3
|
+
import { Position } from "../utils/geojson-types.js";
|
|
4
4
|
export type EditableLayerProps<DataType = any> = CompositeLayerProps & {
|
|
5
5
|
pickingRadius?: number;
|
|
6
6
|
pickingDepth?: number;
|
|
7
7
|
};
|
|
8
|
-
export
|
|
8
|
+
export declare abstract class EditableLayer<DataT = any, ExtraPropsT = Record<string, unknown>> extends CompositeLayer<ExtraPropsT & Required<EditableLayerProps<DataT>>> {
|
|
9
9
|
static layerName: string;
|
|
10
10
|
state: {
|
|
11
11
|
_editableLayerState: any;
|
|
@@ -30,9 +30,9 @@ export default abstract class EditableLayer<DataT = any, ExtraPropsT = Record<st
|
|
|
30
30
|
_onpanend({ srcEvent }: any): void;
|
|
31
31
|
_onpointermove(event: any): void;
|
|
32
32
|
getPicks(screenCoords: [number, number]): {
|
|
33
|
-
color: Uint8Array;
|
|
34
|
-
layer: import("@deck.gl/core").Layer
|
|
35
|
-
sourceLayer?: import("@deck.gl/core").Layer
|
|
33
|
+
color: Uint8Array | null;
|
|
34
|
+
layer: import("@deck.gl/core").Layer | null;
|
|
35
|
+
sourceLayer?: import("@deck.gl/core").Layer | null;
|
|
36
36
|
viewport?: import("@deck.gl/core").Viewport;
|
|
37
37
|
index: number;
|
|
38
38
|
picked: boolean;
|
|
@@ -47,3 +47,4 @@ export default abstract class EditableLayer<DataT = any, ExtraPropsT = Record<st
|
|
|
47
47
|
getScreenCoords(pointerEvent: any): Position;
|
|
48
48
|
getMapCoords(screenCoords: Position): Position;
|
|
49
49
|
}
|
|
50
|
+
//# sourceMappingURL=editable-layer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"editable-layer.d.ts","sourceRoot":"","sources":["../../src/editable-layers/editable-layer.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,cAAc,EAAE,mBAAmB,EAAC,MAAM,eAAe,CAAC;AAClE,OAAO,EACL,aAAa,EACb,UAAU,EACV,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EACjB,+BAA4B;AAC7B,OAAO,EAAC,QAAQ,EAAC,kCAA+B;AAKhD,MAAM,MAAM,kBAAkB,CAAC,QAAQ,GAAG,GAAG,IAAI,mBAAmB,GAAG;IACrE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,8BAAsB,aAAa,CACjC,KAAK,GAAG,GAAG,EACX,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CACrC,SAAQ,cAAc,CAAC,WAAW,GAAG,QAAQ,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;IACzE,MAAM,CAAC,SAAS,SAAmB;IAEnC,KAAK,EAAE;QAAC,mBAAmB,EAAE,GAAG,CAAA;KAAC,CAAc;IAG/C,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAIrC,eAAe,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI;IAIhD,cAAc,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAI9C,UAAU,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAItC,aAAa,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAI5C,YAAY,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAKxC,eAAe;IAkBf,aAAa;IAIb,iBAAiB;IAajB,oBAAoB;IAapB,2BAA2B,CAAC,KAAK,EAAE,GAAG;IAYtC,WAAW,CAAC,EAAC,QAAQ,EAAC,EAAE,GAAG;IAc3B,QAAQ,CAAC,EAAC,QAAQ,EAAC,EAAE;QAAC,QAAQ,EAAE,aAAa,CAAA;KAAC;IAI9C,WAAW,CAAC,KAAK,EAAE,GAAG;IAyBtB,UAAU,CAAC,KAAK,EAAE,GAAG;IA2BrB,SAAS,CAAC,EAAC,QAAQ,EAAC,EAAE,GAAG;IA6BzB,cAAc,CAAC,KAAK,EAAE,GAAG;IAsBzB,QAAQ,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;;;;;;;;;;;;;;;IAUvC,eAAe,CAAC,YAAY,EAAE,GAAG,GAAG,QAAQ;IAS5C,YAAY,CAAC,YAAY,EAAE,QAAQ,GAAG,QAAQ;CAG/C"}
|