@deck.gl-community/editable-layers 9.2.0-beta.6 → 9.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/edit-modes/draw-90degree-polygon-mode.d.ts +2 -2
- package/dist/edit-modes/draw-90degree-polygon-mode.d.ts.map +1 -1
- package/dist/edit-modes/draw-90degree-polygon-mode.js.map +1 -1
- package/dist/edit-modes/draw-circle-by-diameter-mode.d.ts +2 -2
- package/dist/edit-modes/draw-circle-by-diameter-mode.d.ts.map +1 -1
- package/dist/edit-modes/draw-circle-by-diameter-mode.js +0 -1
- package/dist/edit-modes/draw-circle-by-diameter-mode.js.map +1 -1
- package/dist/edit-modes/draw-circle-from-center-mode.d.ts +2 -2
- package/dist/edit-modes/draw-circle-from-center-mode.d.ts.map +1 -1
- package/dist/edit-modes/draw-circle-from-center-mode.js +0 -1
- package/dist/edit-modes/draw-circle-from-center-mode.js.map +1 -1
- package/dist/edit-modes/draw-ellipse-by-bounding-box-mode.d.ts +2 -2
- package/dist/edit-modes/draw-ellipse-by-bounding-box-mode.d.ts.map +1 -1
- package/dist/edit-modes/draw-ellipse-by-bounding-box-mode.js +1 -2
- package/dist/edit-modes/draw-ellipse-by-bounding-box-mode.js.map +1 -1
- package/dist/edit-modes/draw-ellipse-using-three-points-mode.d.ts +2 -2
- package/dist/edit-modes/draw-ellipse-using-three-points-mode.d.ts.map +1 -1
- package/dist/edit-modes/draw-ellipse-using-three-points-mode.js +0 -2
- package/dist/edit-modes/draw-ellipse-using-three-points-mode.js.map +1 -1
- package/dist/edit-modes/draw-line-string-mode.d.ts +5 -5
- package/dist/edit-modes/draw-line-string-mode.d.ts.map +1 -1
- package/dist/edit-modes/draw-line-string-mode.js.map +1 -1
- package/dist/edit-modes/draw-point-mode.d.ts +2 -2
- package/dist/edit-modes/draw-point-mode.d.ts.map +1 -1
- package/dist/edit-modes/draw-point-mode.js.map +1 -1
- package/dist/edit-modes/draw-polygon-by-dragging-mode.d.ts +8 -8
- package/dist/edit-modes/draw-polygon-by-dragging-mode.d.ts.map +1 -1
- package/dist/edit-modes/draw-polygon-by-dragging-mode.js.map +1 -1
- package/dist/edit-modes/draw-polygon-mode.d.ts +5 -5
- package/dist/edit-modes/draw-polygon-mode.d.ts.map +1 -1
- package/dist/edit-modes/draw-polygon-mode.js +48 -52
- package/dist/edit-modes/draw-polygon-mode.js.map +1 -1
- package/dist/edit-modes/draw-rectangle-from-center-mode.d.ts +2 -2
- package/dist/edit-modes/draw-rectangle-from-center-mode.d.ts.map +1 -1
- package/dist/edit-modes/draw-rectangle-from-center-mode.js +0 -1
- package/dist/edit-modes/draw-rectangle-from-center-mode.js.map +1 -1
- package/dist/edit-modes/draw-rectangle-mode.d.ts +2 -2
- package/dist/edit-modes/draw-rectangle-mode.d.ts.map +1 -1
- package/dist/edit-modes/draw-rectangle-mode.js +0 -1
- package/dist/edit-modes/draw-rectangle-mode.js.map +1 -1
- package/dist/edit-modes/draw-rectangle-using-three-points-mode.d.ts +2 -2
- package/dist/edit-modes/draw-rectangle-using-three-points-mode.d.ts.map +1 -1
- package/dist/edit-modes/draw-square-from-center-mode.d.ts +2 -2
- package/dist/edit-modes/draw-square-from-center-mode.d.ts.map +1 -1
- package/dist/edit-modes/draw-square-from-center-mode.js +0 -1
- package/dist/edit-modes/draw-square-from-center-mode.js.map +1 -1
- package/dist/edit-modes/draw-square-mode.d.ts +2 -2
- package/dist/edit-modes/draw-square-mode.d.ts.map +1 -1
- package/dist/edit-modes/draw-square-mode.js +0 -1
- package/dist/edit-modes/draw-square-mode.js.map +1 -1
- package/dist/edit-modes/duplicate-mode.d.ts +2 -2
- package/dist/edit-modes/duplicate-mode.d.ts.map +1 -1
- package/dist/edit-modes/duplicate-mode.js.map +1 -1
- package/dist/edit-modes/extend-line-string-mode.d.ts +4 -4
- package/dist/edit-modes/extend-line-string-mode.d.ts.map +1 -1
- package/dist/edit-modes/extend-line-string-mode.js.map +1 -1
- package/dist/edit-modes/extrude-mode.d.ts +7 -7
- package/dist/edit-modes/extrude-mode.d.ts.map +1 -1
- package/dist/edit-modes/extrude-mode.js.map +1 -1
- package/dist/edit-modes/geojson-edit-mode.d.ts +9 -9
- package/dist/edit-modes/geojson-edit-mode.d.ts.map +1 -1
- package/dist/edit-modes/geojson-edit-mode.js +4 -7
- package/dist/edit-modes/geojson-edit-mode.js.map +1 -1
- package/dist/edit-modes/immutable-feature-collection.d.ts +7 -7
- package/dist/edit-modes/immutable-feature-collection.d.ts.map +1 -1
- package/dist/edit-modes/immutable-feature-collection.js.map +1 -1
- package/dist/edit-modes/measure-area-mode.d.ts +3 -3
- package/dist/edit-modes/measure-area-mode.d.ts.map +1 -1
- package/dist/edit-modes/measure-area-mode.js.map +1 -1
- package/dist/edit-modes/modify-mode.d.ts +8 -8
- package/dist/edit-modes/modify-mode.d.ts.map +1 -1
- package/dist/edit-modes/modify-mode.js +25 -23
- package/dist/edit-modes/modify-mode.js.map +1 -1
- package/dist/edit-modes/resize-circle-mode.d.ts +3 -3
- package/dist/edit-modes/resize-circle-mode.d.ts.map +1 -1
- package/dist/edit-modes/resize-circle-mode.js +1 -5
- package/dist/edit-modes/resize-circle-mode.js.map +1 -1
- package/dist/edit-modes/rotate-mode.d.ts +7 -7
- package/dist/edit-modes/rotate-mode.d.ts.map +1 -1
- package/dist/edit-modes/rotate-mode.js +2 -9
- package/dist/edit-modes/rotate-mode.js.map +1 -1
- package/dist/edit-modes/scale-mode.d.ts +11 -11
- package/dist/edit-modes/scale-mode.d.ts.map +1 -1
- package/dist/edit-modes/scale-mode.js +1 -6
- package/dist/edit-modes/scale-mode.js.map +1 -1
- package/dist/edit-modes/snappable-mode.d.ts +5 -5
- package/dist/edit-modes/snappable-mode.d.ts.map +1 -1
- package/dist/edit-modes/snappable-mode.js.map +1 -1
- package/dist/edit-modes/split-polygon-mode.d.ts +5 -5
- package/dist/edit-modes/split-polygon-mode.d.ts.map +1 -1
- package/dist/edit-modes/split-polygon-mode.js +2 -5
- package/dist/edit-modes/split-polygon-mode.js.map +1 -1
- package/dist/edit-modes/three-click-polygon-mode.d.ts +3 -3
- package/dist/edit-modes/three-click-polygon-mode.d.ts.map +1 -1
- package/dist/edit-modes/three-click-polygon-mode.js +14 -18
- package/dist/edit-modes/three-click-polygon-mode.js.map +1 -1
- package/dist/edit-modes/translate-mode.d.ts +6 -6
- package/dist/edit-modes/translate-mode.d.ts.map +1 -1
- package/dist/edit-modes/translate-mode.js +1 -2
- package/dist/edit-modes/translate-mode.js.map +1 -1
- package/dist/edit-modes/two-click-polygon-mode.d.ts +6 -6
- package/dist/edit-modes/two-click-polygon-mode.d.ts.map +1 -1
- package/dist/edit-modes/two-click-polygon-mode.js.map +1 -1
- package/dist/edit-modes/types.d.ts +3 -3
- package/dist/edit-modes/types.d.ts.map +1 -1
- package/dist/edit-modes/utils.d.ts +7 -7
- package/dist/edit-modes/utils.d.ts.map +1 -1
- package/dist/edit-modes/utils.js +1 -4
- package/dist/edit-modes/utils.js.map +1 -1
- package/dist/editable-layers/editable-geojson-layer.d.ts +5 -13
- package/dist/editable-layers/editable-geojson-layer.d.ts.map +1 -1
- package/dist/editable-layers/editable-geojson-layer.js +20 -4
- package/dist/editable-layers/editable-geojson-layer.js.map +1 -1
- package/dist/editable-layers/selection-layer.d.ts +1 -2
- package/dist/editable-layers/selection-layer.d.ts.map +1 -1
- package/dist/editable-layers/selection-layer.js +2 -2
- package/dist/editable-layers/selection-layer.js.map +1 -1
- package/dist/index.cjs +430 -989
- package/dist/index.cjs.map +4 -4
- package/dist/index.d.ts +5 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -10
- package/dist/index.js.map +1 -1
- package/dist/mode-handlers/composite-mode-handler.d.ts +3 -3
- package/dist/mode-handlers/composite-mode-handler.d.ts.map +1 -1
- package/dist/mode-handlers/composite-mode-handler.js.map +1 -1
- package/dist/mode-handlers/draw-90degree-polygon-handler.d.ts.map +1 -1
- package/dist/mode-handlers/draw-90degree-polygon-handler.js +4 -2
- package/dist/mode-handlers/draw-90degree-polygon-handler.js.map +1 -1
- package/dist/mode-handlers/draw-circle-by-bounding-box-handler.d.ts.map +1 -1
- package/dist/mode-handlers/draw-circle-by-bounding-box-handler.js +0 -1
- package/dist/mode-handlers/draw-circle-by-bounding-box-handler.js.map +1 -1
- package/dist/mode-handlers/draw-circle-from-center-handler.d.ts.map +1 -1
- package/dist/mode-handlers/draw-circle-from-center-handler.js +0 -1
- package/dist/mode-handlers/draw-circle-from-center-handler.js.map +1 -1
- package/dist/mode-handlers/draw-ellipse-by-bounding-box-handler.d.ts.map +1 -1
- package/dist/mode-handlers/draw-ellipse-by-bounding-box-handler.js +1 -2
- package/dist/mode-handlers/draw-ellipse-by-bounding-box-handler.js.map +1 -1
- package/dist/mode-handlers/draw-ellipse-using-three-points-handler.d.ts.map +1 -1
- package/dist/mode-handlers/draw-ellipse-using-three-points-handler.js +2 -2
- package/dist/mode-handlers/draw-ellipse-using-three-points-handler.js.map +1 -1
- package/dist/mode-handlers/draw-point-handler.js.map +1 -1
- package/dist/mode-handlers/draw-polygon-handler.d.ts.map +1 -1
- package/dist/mode-handlers/draw-polygon-handler.js +4 -2
- package/dist/mode-handlers/draw-polygon-handler.js.map +1 -1
- package/dist/mode-handlers/draw-rectangle-handler.d.ts.map +1 -1
- package/dist/mode-handlers/draw-rectangle-handler.js +0 -1
- package/dist/mode-handlers/draw-rectangle-handler.js.map +1 -1
- package/dist/mode-handlers/draw-rectangle-using-three-points-handler.d.ts.map +1 -1
- package/dist/mode-handlers/draw-rectangle-using-three-points-handler.js +4 -2
- package/dist/mode-handlers/draw-rectangle-using-three-points-handler.js.map +1 -1
- package/dist/mode-handlers/mode-handler.d.ts +12 -12
- package/dist/mode-handlers/mode-handler.d.ts.map +1 -1
- package/dist/mode-handlers/mode-handler.js +6 -7
- package/dist/mode-handlers/mode-handler.js.map +1 -1
- package/dist/mode-handlers/modify-handler.d.ts +2 -2
- package/dist/mode-handlers/modify-handler.d.ts.map +1 -1
- package/dist/mode-handlers/modify-handler.js +1 -4
- package/dist/mode-handlers/modify-handler.js.map +1 -1
- package/dist/mode-handlers/rotate-handler.d.ts +2 -2
- package/dist/mode-handlers/rotate-handler.d.ts.map +1 -1
- package/dist/mode-handlers/rotate-handler.js +2 -7
- package/dist/mode-handlers/rotate-handler.js.map +1 -1
- package/dist/mode-handlers/scale-handler.d.ts +2 -2
- package/dist/mode-handlers/scale-handler.d.ts.map +1 -1
- package/dist/mode-handlers/scale-handler.js +2 -7
- package/dist/mode-handlers/scale-handler.js.map +1 -1
- package/dist/mode-handlers/snappable-handler.d.ts +3 -3
- package/dist/mode-handlers/snappable-handler.d.ts.map +1 -1
- package/dist/mode-handlers/snappable-handler.js.map +1 -1
- package/dist/mode-handlers/split-polygon-handler.d.ts.map +1 -1
- package/dist/mode-handlers/split-polygon-handler.js +4 -5
- package/dist/mode-handlers/split-polygon-handler.js.map +1 -1
- package/dist/mode-handlers/translate-handler.d.ts +2 -2
- package/dist/mode-handlers/translate-handler.d.ts.map +1 -1
- package/dist/mode-handlers/translate-handler.js +1 -4
- package/dist/mode-handlers/translate-handler.js.map +1 -1
- package/dist/utils/geojson-types.d.ts +13 -34
- package/dist/utils/geojson-types.d.ts.map +1 -1
- package/dist/utils/translate-from-center.d.ts +2 -4
- package/dist/utils/translate-from-center.d.ts.map +1 -1
- package/dist/utils/translate-from-center.js.map +1 -1
- package/dist/utils/utils.d.ts +3 -3
- package/dist/utils/utils.d.ts.map +1 -1
- package/dist/utils/utils.js +1 -1
- package/dist/utils/utils.js.map +1 -1
- package/dist/widgets/edit-mode-tray-widget.d.ts +1 -0
- package/dist/widgets/edit-mode-tray-widget.d.ts.map +1 -1
- package/dist/widgets/edit-mode-tray-widget.js +1 -0
- package/dist/widgets/edit-mode-tray-widget.js.map +1 -1
- package/dist/widgets/editor-toolbar-widget.d.ts +40 -0
- package/dist/widgets/editor-toolbar-widget.d.ts.map +1 -0
- package/dist/widgets/editor-toolbar-widget.js +170 -0
- package/dist/widgets/editor-toolbar-widget.js.map +1 -0
- package/package.json +47 -44
- package/src/edit-modes/draw-90degree-polygon-mode.ts +8 -2
- package/src/edit-modes/draw-circle-by-diameter-mode.ts +3 -3
- package/src/edit-modes/draw-circle-from-center-mode.ts +3 -3
- package/src/edit-modes/draw-ellipse-by-bounding-box-mode.ts +4 -4
- package/src/edit-modes/draw-ellipse-using-three-points-mode.ts +3 -4
- package/src/edit-modes/draw-line-string-mode.ts +10 -5
- package/src/edit-modes/draw-point-mode.ts +2 -2
- package/src/edit-modes/draw-polygon-by-dragging-mode.ts +8 -8
- package/src/edit-modes/draw-polygon-mode.ts +103 -124
- package/src/edit-modes/draw-rectangle-from-center-mode.ts +2 -3
- package/src/edit-modes/draw-rectangle-mode.ts +2 -3
- package/src/edit-modes/draw-rectangle-using-three-points-mode.ts +2 -2
- package/src/edit-modes/draw-square-from-center-mode.ts +2 -3
- package/src/edit-modes/draw-square-mode.ts +2 -3
- package/src/edit-modes/duplicate-mode.ts +2 -2
- package/src/edit-modes/extend-line-string-mode.ts +11 -4
- package/src/edit-modes/extrude-mode.ts +7 -7
- package/src/edit-modes/geojson-edit-mode.ts +28 -19
- package/src/edit-modes/immutable-feature-collection.ts +10 -11
- package/src/edit-modes/measure-area-mode.ts +3 -3
- package/src/edit-modes/modify-mode.ts +42 -30
- package/src/edit-modes/resize-circle-mode.ts +10 -7
- package/src/edit-modes/rotate-mode.ts +11 -22
- package/src/edit-modes/scale-mode.ts +14 -19
- package/src/edit-modes/snappable-mode.ts +10 -5
- package/src/edit-modes/split-polygon-mode.ts +17 -15
- package/src/edit-modes/three-click-polygon-mode.ts +30 -33
- package/src/edit-modes/translate-mode.ts +15 -12
- package/src/edit-modes/two-click-polygon-mode.ts +13 -7
- package/src/edit-modes/types.ts +4 -4
- package/src/edit-modes/utils.ts +13 -17
- package/src/editable-layers/editable-geojson-layer.ts +35 -18
- package/src/editable-layers/selection-layer.ts +3 -3
- package/src/index.ts +11 -28
- package/src/mode-handlers/composite-mode-handler.ts +3 -3
- package/src/mode-handlers/draw-90degree-polygon-handler.ts +4 -2
- package/src/mode-handlers/draw-circle-by-bounding-box-handler.ts +0 -1
- package/src/mode-handlers/draw-circle-from-center-handler.ts +0 -1
- package/src/mode-handlers/draw-ellipse-by-bounding-box-handler.ts +1 -2
- package/src/mode-handlers/draw-ellipse-using-three-points-handler.ts +3 -2
- package/src/mode-handlers/draw-point-handler.ts +2 -2
- package/src/mode-handlers/draw-polygon-handler.ts +4 -2
- package/src/mode-handlers/draw-rectangle-handler.ts +0 -1
- package/src/mode-handlers/draw-rectangle-using-three-points-handler.ts +4 -2
- package/src/mode-handlers/mode-handler.ts +34 -20
- package/src/mode-handlers/modify-handler.ts +2 -4
- package/src/mode-handlers/rotate-handler.ts +5 -12
- package/src/mode-handlers/scale-handler.ts +6 -14
- package/src/mode-handlers/snappable-handler.ts +3 -3
- package/src/mode-handlers/split-polygon-handler.ts +8 -7
- package/src/mode-handlers/translate-handler.ts +3 -5
- package/src/utils/geojson-types.ts +31 -54
- package/src/utils/translate-from-center.ts +13 -31
- package/src/utils/utils.ts +5 -5
- package/src/widgets/edit-mode-tray-widget.tsx +2 -6
- package/src/widgets/editor-toolbar-widget.tsx +348 -0
- package/dist/lib/constants.d.ts +0 -7
- package/dist/lib/constants.d.ts.map +0 -1
- package/dist/lib/constants.js +0 -10
- package/dist/lib/constants.js.map +0 -1
- package/dist/lib/deck-renderer/deck-cache.d.ts +0 -15
- package/dist/lib/deck-renderer/deck-cache.d.ts.map +0 -1
- package/dist/lib/deck-renderer/deck-cache.js +0 -52
- package/dist/lib/deck-renderer/deck-cache.js.map +0 -1
- package/dist/lib/deck-renderer/deck-drawer.d.ts +0 -63
- package/dist/lib/deck-renderer/deck-drawer.d.ts.map +0 -1
- package/dist/lib/deck-renderer/deck-drawer.js +0 -233
- package/dist/lib/deck-renderer/deck-drawer.js.map +0 -1
- package/dist/lib/feature.d.ts +0 -11
- package/dist/lib/feature.d.ts.map +0 -1
- package/dist/lib/feature.js +0 -20
- package/dist/lib/feature.js.map +0 -1
- package/dist/lib/layer-mouse-event.d.ts +0 -12
- package/dist/lib/layer-mouse-event.d.ts.map +0 -1
- package/dist/lib/layer-mouse-event.js +0 -28
- package/dist/lib/layer-mouse-event.js.map +0 -1
- package/dist/lib/layers/junctions-layer.d.ts +0 -9
- package/dist/lib/layers/junctions-layer.d.ts.map +0 -1
- package/dist/lib/layers/junctions-layer.js +0 -37
- package/dist/lib/layers/junctions-layer.js.map +0 -1
- package/dist/lib/layers/segments-layer.d.ts +0 -19
- package/dist/lib/layers/segments-layer.d.ts.map +0 -1
- package/dist/lib/layers/segments-layer.js +0 -98
- package/dist/lib/layers/segments-layer.js.map +0 -1
- package/dist/lib/layers/texts-layer.d.ts +0 -9
- package/dist/lib/layers/texts-layer.d.ts.map +0 -1
- package/dist/lib/layers/texts-layer.js +0 -36
- package/dist/lib/layers/texts-layer.js.map +0 -1
- package/dist/lib/math.d.ts +0 -12
- package/dist/lib/math.d.ts.map +0 -1
- package/dist/lib/math.js +0 -26
- package/dist/lib/math.js.map +0 -1
- package/dist/lib/nebula-core.d.ts +0 -35
- package/dist/lib/nebula-core.d.ts.map +0 -1
- package/dist/lib/nebula-core.js +0 -258
- package/dist/lib/nebula-core.js.map +0 -1
- package/dist/lib/nebula-layer.d.ts +0 -14
- package/dist/lib/nebula-layer.d.ts.map +0 -1
- package/dist/lib/nebula-layer.js +0 -30
- package/dist/lib/nebula-layer.js.map +0 -1
- package/dist/lib/style.d.ts +0 -20
- package/dist/lib/style.d.ts.map +0 -1
- package/dist/lib/style.js +0 -24
- package/dist/lib/style.js.map +0 -1
- package/dist/utils/curve-utils.d.ts +0 -3
- package/dist/utils/curve-utils.d.ts.map +0 -1
- package/dist/utils/curve-utils.js +0 -65
- package/dist/utils/curve-utils.js.map +0 -1
- package/src/lib/constants.ts +0 -10
- package/src/lib/deck-renderer/deck-cache.ts +0 -61
- package/src/lib/deck-renderer/deck-drawer.ts +0 -263
- package/src/lib/feature.ts +0 -31
- package/src/lib/layer-mouse-event.ts +0 -33
- package/src/lib/layers/junctions-layer.ts +0 -44
- package/src/lib/layers/segments-layer.ts +0 -112
- package/src/lib/layers/texts-layer.ts +0 -47
- package/src/lib/math.ts +0 -30
- package/src/lib/nebula-core.ts +0 -327
- package/src/lib/nebula-layer.ts +0 -37
- package/src/lib/style.ts +0 -26
- package/src/utils/curve-utils.ts +0 -81
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edit-mode-tray-widget.js","sourceRoot":"","sources":["../../src/widgets/edit-mode-tray-widget.tsx"],"names":[],"mappings":";AAAA,oBAAoB;AACpB,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,EAAC,MAAM,EAAC,MAAM,QAAQ,CAAC;AAE9B,OAAO,
|
|
1
|
+
{"version":3,"file":"edit-mode-tray-widget.js","sourceRoot":"","sources":["../../src/widgets/edit-mode-tray-widget.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Widget, type WidgetProps, type WidgetPlacement, type Deck } from '@deck.gl/core';
|
|
2
|
+
export type BooleanOperation = 'union' | 'difference' | 'intersection' | null;
|
|
3
|
+
export type EditorToolbarWidgetProps = WidgetProps & {
|
|
4
|
+
/** Placement for the widget root element. */
|
|
5
|
+
placement?: WidgetPlacement;
|
|
6
|
+
/** Currently active boolean operation. */
|
|
7
|
+
booleanOperation?: BooleanOperation;
|
|
8
|
+
/** Number of features in the current dataset. */
|
|
9
|
+
featureCount?: number;
|
|
10
|
+
/** Callback fired when the user selects a boolean operation. */
|
|
11
|
+
onSetBooleanOperation?: (op: BooleanOperation) => void;
|
|
12
|
+
/** Callback fired when the user clicks the clear button. */
|
|
13
|
+
onClear?: () => void;
|
|
14
|
+
/** Callback fired when the user clicks the export button. */
|
|
15
|
+
onExport?: () => void;
|
|
16
|
+
};
|
|
17
|
+
export declare class EditorToolbarWidget extends Widget<EditorToolbarWidgetProps> {
|
|
18
|
+
static defaultProps: {
|
|
19
|
+
id: string;
|
|
20
|
+
_container: any;
|
|
21
|
+
placement: "bottom-left";
|
|
22
|
+
booleanOperation: any;
|
|
23
|
+
featureCount: number;
|
|
24
|
+
style: {};
|
|
25
|
+
className: string;
|
|
26
|
+
};
|
|
27
|
+
placement: WidgetPlacement;
|
|
28
|
+
className: string;
|
|
29
|
+
deck?: Deck | null;
|
|
30
|
+
private appliedCustomClassName;
|
|
31
|
+
constructor(props?: EditorToolbarWidgetProps);
|
|
32
|
+
setProps(props: Partial<EditorToolbarWidgetProps>): void;
|
|
33
|
+
onAdd({ deck }: {
|
|
34
|
+
deck: Deck;
|
|
35
|
+
}): void;
|
|
36
|
+
onRemove(): void;
|
|
37
|
+
onRenderHTML(rootElement: HTMLElement): void;
|
|
38
|
+
private renderToolbar;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=editor-toolbar-widget.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"editor-toolbar-widget.d.ts","sourceRoot":"","sources":["../../src/widgets/editor-toolbar-widget.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAC,MAAM,EAAE,KAAK,WAAW,EAAE,KAAK,eAAe,EAAE,KAAK,IAAI,EAAC,MAAM,eAAe,CAAC;AAExF,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,YAAY,GAAG,cAAc,GAAG,IAAI,CAAC;AAE9E,MAAM,MAAM,wBAAwB,GAAG,WAAW,GAAG;IACnD,6CAA6C;IAC7C,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,0CAA0C;IAC1C,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,iDAAiD;IACjD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gEAAgE;IAChE,qBAAqB,CAAC,EAAE,CAAC,EAAE,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACvD,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;AAgLF,qBAAa,mBAAoB,SAAQ,MAAM,CAAC,wBAAwB,CAAC;IACvE,OAAgB,YAAY;;;;;;;;MAUD;IAE3B,SAAS,EAAE,eAAe,CAAiB;IAC3C,SAAS,SAAgC;IACzC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAQ;IAC1B,OAAO,CAAC,sBAAsB,CAAuB;gBAEzC,KAAK,GAAE,wBAA6B;IAKvC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,wBAAwB,CAAC,GAAG,IAAI;IAQxD,KAAK,CAAC,EAAC,IAAI,EAAC,EAAE;QAAC,IAAI,EAAE,IAAI,CAAA;KAAC,GAAG,IAAI;IAIjC,QAAQ,IAAI,IAAI;IAShB,YAAY,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAerD,OAAO,CAAC,aAAa;CAyFtB"}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "preact/jsx-runtime";
|
|
2
|
+
// deck.gl-community
|
|
3
|
+
// SPDX-License-Identifier: MIT
|
|
4
|
+
// Copyright (c) vis.gl contributors
|
|
5
|
+
import { render } from 'preact';
|
|
6
|
+
import { Widget } from '@deck.gl/core';
|
|
7
|
+
// --- Styles (match EditModeTrayWidget visual language) ---
|
|
8
|
+
const ROOT_STYLE = {
|
|
9
|
+
position: 'absolute',
|
|
10
|
+
display: 'flex',
|
|
11
|
+
flexDirection: 'column',
|
|
12
|
+
gap: '6px',
|
|
13
|
+
pointerEvents: 'auto',
|
|
14
|
+
userSelect: 'none',
|
|
15
|
+
zIndex: '99'
|
|
16
|
+
};
|
|
17
|
+
const TRAY_STYLE = {
|
|
18
|
+
display: 'flex',
|
|
19
|
+
gap: '4px',
|
|
20
|
+
background: 'rgba(36, 40, 41, 0.88)',
|
|
21
|
+
borderRadius: '999px',
|
|
22
|
+
padding: '5px 8px',
|
|
23
|
+
alignItems: 'center',
|
|
24
|
+
justifyContent: 'center',
|
|
25
|
+
boxShadow: '0 4px 12px rgba(0, 0, 0, 0.25)'
|
|
26
|
+
};
|
|
27
|
+
const BUTTON_STYLE = {
|
|
28
|
+
appearance: 'none',
|
|
29
|
+
background: 'transparent',
|
|
30
|
+
border: 'none',
|
|
31
|
+
color: '#f0f0f0',
|
|
32
|
+
height: '30px',
|
|
33
|
+
padding: '0 8px',
|
|
34
|
+
display: 'flex',
|
|
35
|
+
alignItems: 'center',
|
|
36
|
+
justifyContent: 'center',
|
|
37
|
+
gap: '4px',
|
|
38
|
+
borderRadius: '15px',
|
|
39
|
+
cursor: 'pointer',
|
|
40
|
+
fontSize: '11px',
|
|
41
|
+
fontFamily: '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',
|
|
42
|
+
fontWeight: '500',
|
|
43
|
+
transition: 'background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease',
|
|
44
|
+
whiteSpace: 'nowrap'
|
|
45
|
+
};
|
|
46
|
+
const BUTTON_ACTIVE_STYLE = {
|
|
47
|
+
background: '#0071e3',
|
|
48
|
+
color: '#ffffff',
|
|
49
|
+
boxShadow: '0 0 0 2px rgba(255, 255, 255, 0.35)'
|
|
50
|
+
};
|
|
51
|
+
const DIVIDER_STYLE = {
|
|
52
|
+
width: '1px',
|
|
53
|
+
height: '20px',
|
|
54
|
+
background: 'rgba(255, 255, 255, 0.2)',
|
|
55
|
+
margin: '0 2px',
|
|
56
|
+
flexShrink: '0'
|
|
57
|
+
};
|
|
58
|
+
const BADGE_STYLE = {
|
|
59
|
+
color: 'rgba(255, 255, 255, 0.6)',
|
|
60
|
+
fontSize: '11px',
|
|
61
|
+
padding: '0 6px',
|
|
62
|
+
fontFamily: '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',
|
|
63
|
+
whiteSpace: 'nowrap'
|
|
64
|
+
};
|
|
65
|
+
// --- SVG Icons (14x14) ---
|
|
66
|
+
function PencilIcon() {
|
|
67
|
+
return (_jsx("svg", { width: "14", height: "14", viewBox: "0 0 14 14", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", children: _jsx("path", { d: "M10 1.5l2.5 2.5L4.5 12H2v-2.5z" }) }));
|
|
68
|
+
}
|
|
69
|
+
function SubtractIcon() {
|
|
70
|
+
return (_jsxs("svg", { width: "14", height: "14", viewBox: "0 0 14 14", fill: "none", stroke: "currentColor", strokeWidth: "1.1", children: [_jsx("rect", { x: "1", y: "1", width: "8", height: "8", rx: "1.5" }), _jsx("rect", { x: "5", y: "5", width: "8", height: "8", rx: "1.5", fill: "rgba(36,40,41,0.88)" })] }));
|
|
71
|
+
}
|
|
72
|
+
function UnionIcon() {
|
|
73
|
+
return (_jsxs("svg", { width: "14", height: "14", viewBox: "0 0 14 14", fill: "none", stroke: "currentColor", strokeWidth: "1.1", children: [_jsx("rect", { x: "1", y: "1", width: "8", height: "8", rx: "1.5" }), _jsx("rect", { x: "5", y: "5", width: "8", height: "8", rx: "1.5" })] }));
|
|
74
|
+
}
|
|
75
|
+
function IntersectIcon() {
|
|
76
|
+
return (_jsxs("svg", { width: "14", height: "14", viewBox: "0 0 14 14", fill: "none", strokeWidth: "1.1", children: [_jsx("rect", { x: "1", y: "1", width: "8", height: "8", rx: "1.5", stroke: "currentColor", opacity: "0.4" }), _jsx("rect", { x: "5", y: "5", width: "8", height: "8", rx: "1.5", stroke: "currentColor", opacity: "0.4" }), _jsx("rect", { x: "5", y: "5", width: "4", height: "4", fill: "currentColor", opacity: "0.6" })] }));
|
|
77
|
+
}
|
|
78
|
+
function TrashIcon() {
|
|
79
|
+
return (_jsx("svg", { width: "14", height: "14", viewBox: "0 0 14 14", fill: "none", stroke: "currentColor", strokeWidth: "1.3", strokeLinecap: "round", strokeLinejoin: "round", children: _jsx("path", { d: "M2.5 4h9M5.5 4V2.5h3V4M3.5 4l.5 8h6l.5-8" }) }));
|
|
80
|
+
}
|
|
81
|
+
function DownloadIcon() {
|
|
82
|
+
return (_jsx("svg", { width: "14", height: "14", viewBox: "0 0 14 14", fill: "none", stroke: "currentColor", strokeWidth: "1.3", strokeLinecap: "round", strokeLinejoin: "round", children: _jsx("path", { d: "M7 2v7M4.5 6.5L7 9l2.5-2.5M2.5 11.5h9" }) }));
|
|
83
|
+
}
|
|
84
|
+
// --- Widget ---
|
|
85
|
+
const BOOLEAN_OPS = [
|
|
86
|
+
{ op: null, icon: PencilIcon, label: 'Edit', title: 'Draw new features' },
|
|
87
|
+
{ op: 'difference', icon: SubtractIcon, label: 'Sub', title: 'Subtract from selection' },
|
|
88
|
+
{ op: 'union', icon: UnionIcon, label: 'Union', title: 'Union with selection' },
|
|
89
|
+
{ op: 'intersection', icon: IntersectIcon, label: 'Sect', title: 'Intersect with selection' }
|
|
90
|
+
];
|
|
91
|
+
export class EditorToolbarWidget extends Widget {
|
|
92
|
+
static defaultProps = {
|
|
93
|
+
id: 'editor-toolbar',
|
|
94
|
+
_container: null,
|
|
95
|
+
placement: 'bottom-left',
|
|
96
|
+
booleanOperation: null,
|
|
97
|
+
featureCount: 0,
|
|
98
|
+
style: {},
|
|
99
|
+
className: ''
|
|
100
|
+
};
|
|
101
|
+
placement = 'bottom-left';
|
|
102
|
+
className = 'deck-widget-editor-toolbar';
|
|
103
|
+
deck = null;
|
|
104
|
+
appliedCustomClassName = null;
|
|
105
|
+
constructor(props = {}) {
|
|
106
|
+
super({ ...EditorToolbarWidget.defaultProps, ...props });
|
|
107
|
+
this.placement = props.placement ?? EditorToolbarWidget.defaultProps.placement;
|
|
108
|
+
}
|
|
109
|
+
setProps(props) {
|
|
110
|
+
if (props.placement !== undefined) {
|
|
111
|
+
this.placement = props.placement;
|
|
112
|
+
}
|
|
113
|
+
super.setProps(props);
|
|
114
|
+
this.renderToolbar();
|
|
115
|
+
}
|
|
116
|
+
onAdd({ deck }) {
|
|
117
|
+
this.deck = deck;
|
|
118
|
+
}
|
|
119
|
+
onRemove() {
|
|
120
|
+
this.deck = null;
|
|
121
|
+
const root = this.rootElement;
|
|
122
|
+
if (root) {
|
|
123
|
+
render(null, root);
|
|
124
|
+
}
|
|
125
|
+
this.rootElement = null;
|
|
126
|
+
}
|
|
127
|
+
onRenderHTML(rootElement) {
|
|
128
|
+
const style = { ...ROOT_STYLE, ...this.props.style };
|
|
129
|
+
Object.assign(rootElement.style, style);
|
|
130
|
+
if (this.appliedCustomClassName && this.appliedCustomClassName !== this.props.className) {
|
|
131
|
+
rootElement.classList.remove(this.appliedCustomClassName);
|
|
132
|
+
this.appliedCustomClassName = null;
|
|
133
|
+
}
|
|
134
|
+
if (this.props.className) {
|
|
135
|
+
rootElement.classList.add(this.props.className);
|
|
136
|
+
this.appliedCustomClassName = this.props.className;
|
|
137
|
+
}
|
|
138
|
+
rootElement.classList.add(this.className);
|
|
139
|
+
this.renderToolbar();
|
|
140
|
+
}
|
|
141
|
+
renderToolbar() {
|
|
142
|
+
const root = this.rootElement;
|
|
143
|
+
if (!root) {
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
const booleanOp = this.props.booleanOperation ?? null;
|
|
147
|
+
const featureCount = this.props.featureCount ?? 0;
|
|
148
|
+
const stopEvent = (event) => {
|
|
149
|
+
event.stopPropagation();
|
|
150
|
+
if (typeof event.stopImmediatePropagation === 'function') {
|
|
151
|
+
event.stopImmediatePropagation();
|
|
152
|
+
}
|
|
153
|
+
};
|
|
154
|
+
const ui = (_jsxs("div", { style: TRAY_STYLE, onPointerDown: stopEvent, onPointerMove: stopEvent, onPointerUp: stopEvent, onMouseDown: stopEvent, onMouseMove: stopEvent, onMouseUp: stopEvent, onTouchStart: stopEvent, onTouchMove: stopEvent, onTouchEnd: stopEvent, children: [BOOLEAN_OPS.map(({ op, icon: Icon, label, title }) => {
|
|
155
|
+
const active = booleanOp === op;
|
|
156
|
+
return (_jsxs("button", { type: "button", title: title, "aria-pressed": active, style: { ...BUTTON_STYLE, ...(active ? BUTTON_ACTIVE_STYLE : {}) }, onClick: (event) => {
|
|
157
|
+
stopEvent(event);
|
|
158
|
+
this.props.onSetBooleanOperation?.(op);
|
|
159
|
+
}, children: [_jsx(Icon, {}), _jsx("span", { children: label })] }, label));
|
|
160
|
+
}), _jsx("div", { style: DIVIDER_STYLE }), _jsx("button", { type: "button", title: "Clear all features", style: BUTTON_STYLE, onClick: (event) => {
|
|
161
|
+
stopEvent(event);
|
|
162
|
+
this.props.onClear?.();
|
|
163
|
+
}, children: _jsx(TrashIcon, {}) }), _jsx("button", { type: "button", title: "Download as GeoJSON", style: BUTTON_STYLE, onClick: (event) => {
|
|
164
|
+
stopEvent(event);
|
|
165
|
+
this.props.onExport?.();
|
|
166
|
+
}, children: _jsx(DownloadIcon, {}) }), _jsx("div", { style: DIVIDER_STYLE }), _jsxs("span", { style: BADGE_STYLE, children: [featureCount, " feature", featureCount !== 1 ? 's' : ''] })] }));
|
|
167
|
+
render(ui, root);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
//# sourceMappingURL=editor-toolbar-widget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"editor-toolbar-widget.js","sourceRoot":"","sources":["../../src/widgets/editor-toolbar-widget.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@deck.gl-community/editable-layers",
|
|
3
3
|
"description": "A suite of 3D-enabled data editing overlays, suitable for deck.gl",
|
|
4
4
|
"license": "MIT",
|
|
5
|
-
"version": "9.2.
|
|
5
|
+
"version": "9.2.5",
|
|
6
6
|
"publishConfig": {
|
|
7
7
|
"access": "public"
|
|
8
8
|
},
|
|
@@ -36,56 +36,59 @@
|
|
|
36
36
|
"src"
|
|
37
37
|
],
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@
|
|
40
|
-
"@turf/
|
|
41
|
-
"@turf/
|
|
42
|
-
"@turf/bbox
|
|
43
|
-
"@turf/
|
|
44
|
-
"@turf/
|
|
45
|
-
"@turf/boolean-
|
|
46
|
-
"@turf/
|
|
47
|
-
"@turf/
|
|
48
|
-
"@turf/
|
|
49
|
-
"@turf/
|
|
50
|
-
"@turf/
|
|
51
|
-
"@turf/
|
|
52
|
-
"@turf/
|
|
53
|
-
"@turf/
|
|
54
|
-
"@turf/
|
|
55
|
-
"@turf/
|
|
56
|
-
"@turf/
|
|
57
|
-
"@turf/
|
|
58
|
-
"@turf/
|
|
59
|
-
"@turf/
|
|
60
|
-
"@turf/
|
|
61
|
-
"@turf/
|
|
62
|
-
"@turf/
|
|
63
|
-
"@turf/
|
|
64
|
-
"@turf/
|
|
65
|
-
"@turf/
|
|
66
|
-
"@turf/
|
|
67
|
-
"@turf/
|
|
68
|
-
"@turf/
|
|
69
|
-
"@
|
|
70
|
-
"
|
|
39
|
+
"@math.gl/web-mercator": ">=4.0.1",
|
|
40
|
+
"@turf/along": "^7.2.0",
|
|
41
|
+
"@turf/area": "^7.2.0",
|
|
42
|
+
"@turf/bbox": "^7.2.0",
|
|
43
|
+
"@turf/bbox-polygon": "^7.2.0",
|
|
44
|
+
"@turf/bearing": "^7.2.0",
|
|
45
|
+
"@turf/boolean-point-in-polygon": "^7.2.0",
|
|
46
|
+
"@turf/boolean-within": "^7.2.0",
|
|
47
|
+
"@turf/buffer": "^7.2.0",
|
|
48
|
+
"@turf/center": "^7.2.0",
|
|
49
|
+
"@turf/centroid": "^7.2.0",
|
|
50
|
+
"@turf/circle": "^7.2.0",
|
|
51
|
+
"@turf/clone": "^7.2.0",
|
|
52
|
+
"@turf/destination": "^7.2.0",
|
|
53
|
+
"@turf/difference": "^7.2.0",
|
|
54
|
+
"@turf/distance": "^7.2.0",
|
|
55
|
+
"@turf/ellipse": "^7.2.0",
|
|
56
|
+
"@turf/helpers": "^7.2.0",
|
|
57
|
+
"@turf/intersect": "^7.2.0",
|
|
58
|
+
"@turf/invariant": "^7.2.0",
|
|
59
|
+
"@turf/kinks": "^7.2.0",
|
|
60
|
+
"@turf/line-intersect": "^7.2.0",
|
|
61
|
+
"@turf/meta": "^7.2.0",
|
|
62
|
+
"@turf/midpoint": "^7.2.0",
|
|
63
|
+
"@turf/nearest-point-on-line": "^7.2.0",
|
|
64
|
+
"@turf/point-to-line-distance": "^7.2.0",
|
|
65
|
+
"@turf/polygon-to-line": "^7.2.0",
|
|
66
|
+
"@turf/rewind": "^7.2.0",
|
|
67
|
+
"@turf/rhumb-bearing": "^7.2.0",
|
|
68
|
+
"@turf/rhumb-destination": "^7.2.0",
|
|
69
|
+
"@turf/rhumb-distance": "^7.2.0",
|
|
70
|
+
"@turf/transform-rotate": "^7.2.0",
|
|
71
|
+
"@turf/transform-scale": "^7.2.0",
|
|
72
|
+
"@turf/transform-translate": "^7.2.0",
|
|
73
|
+
"@turf/union": "^7.2.0",
|
|
74
|
+
"@types/geojson": "^7946.0.16",
|
|
71
75
|
"eventemitter3": "^5.0.0",
|
|
72
76
|
"lodash.omit": "^4.1.1",
|
|
73
77
|
"lodash.throttle": "^4.1.1",
|
|
74
78
|
"preact": "^10.17.0",
|
|
75
|
-
"uuid": "9.0.0"
|
|
76
|
-
"viewport-mercator-project": ">=6.2.3"
|
|
79
|
+
"uuid": "9.0.0"
|
|
77
80
|
},
|
|
78
81
|
"peerDependencies": {
|
|
79
82
|
"@deck.gl-community/layers": "^9.2.0-beta",
|
|
80
|
-
"@deck.gl/core": "~9.2.
|
|
81
|
-
"@deck.gl/extensions": "~9.2.
|
|
82
|
-
"@deck.gl/geo-layers": "~9.2.
|
|
83
|
-
"@deck.gl/layers": "~9.2.
|
|
84
|
-
"@deck.gl/mesh-layers": "~9.2.
|
|
85
|
-
"@luma.gl/constants": "~9.2.
|
|
86
|
-
"@luma.gl/core": "~9.2.
|
|
87
|
-
"@luma.gl/engine": "~9.2.
|
|
83
|
+
"@deck.gl/core": "~9.2.8",
|
|
84
|
+
"@deck.gl/extensions": "~9.2.8",
|
|
85
|
+
"@deck.gl/geo-layers": "~9.2.8",
|
|
86
|
+
"@deck.gl/layers": "~9.2.8",
|
|
87
|
+
"@deck.gl/mesh-layers": "~9.2.8",
|
|
88
|
+
"@luma.gl/constants": "~9.2.6",
|
|
89
|
+
"@luma.gl/core": "~9.2.6",
|
|
90
|
+
"@luma.gl/engine": "~9.2.6",
|
|
88
91
|
"@math.gl/core": ">=4.0.1"
|
|
89
92
|
},
|
|
90
|
-
"gitHead": "
|
|
93
|
+
"gitHead": "c6b0f45b1e7f9916c1b79a43c39b839a8096c163"
|
|
91
94
|
}
|
|
@@ -19,7 +19,13 @@ import {
|
|
|
19
19
|
GuideFeatureCollection,
|
|
20
20
|
TentativeFeature
|
|
21
21
|
} from './types';
|
|
22
|
-
import {
|
|
22
|
+
import {
|
|
23
|
+
Polygon,
|
|
24
|
+
LineString,
|
|
25
|
+
Position,
|
|
26
|
+
FeatureCollection,
|
|
27
|
+
SimpleFeatureCollection
|
|
28
|
+
} from '../utils/geojson-types';
|
|
23
29
|
import {GeoJsonEditMode} from './geojson-edit-mode';
|
|
24
30
|
|
|
25
31
|
export class Draw90DegreePolygonMode extends GeoJsonEditMode {
|
|
@@ -98,7 +104,7 @@ export class Draw90DegreePolygonMode extends GeoJsonEditMode {
|
|
|
98
104
|
super.handlePointerMove(event, props);
|
|
99
105
|
}
|
|
100
106
|
|
|
101
|
-
handleClick(event: ClickEvent, props: ModeProps<
|
|
107
|
+
handleClick(event: ClickEvent, props: ModeProps<SimpleFeatureCollection>) {
|
|
102
108
|
const {picks} = event;
|
|
103
109
|
const tentativeFeature = this.getTentativeGuide(props);
|
|
104
110
|
this.addClickSequence(event);
|
|
@@ -7,7 +7,7 @@ import distance from '@turf/distance';
|
|
|
7
7
|
import area from '@turf/area';
|
|
8
8
|
import {memoize} from '../utils/memoize';
|
|
9
9
|
import {ModeProps, Tooltip} from './types';
|
|
10
|
-
import {Position, Polygon,
|
|
10
|
+
import {Position, Polygon, Feature, FeatureCollection} from '../utils/geojson-types';
|
|
11
11
|
import {getIntermediatePosition} from './geojson-edit-mode';
|
|
12
12
|
import {TwoClickPolygonMode} from './two-click-polygon-mode';
|
|
13
13
|
|
|
@@ -16,7 +16,7 @@ export class DrawCircleByDiameterMode extends TwoClickPolygonMode {
|
|
|
16
16
|
position: Position = null!;
|
|
17
17
|
areaCircle: number | null | undefined = null;
|
|
18
18
|
diameter: number | null | undefined = null;
|
|
19
|
-
getTwoClickPolygon(coord1: Position, coord2: Position, modeConfig: any):
|
|
19
|
+
getTwoClickPolygon(coord1: Position, coord2: Position, modeConfig: any): Feature<Polygon> {
|
|
20
20
|
// Default turf value for circle is 64
|
|
21
21
|
const {steps = 64} = modeConfig || {};
|
|
22
22
|
const options = {steps};
|
|
@@ -44,7 +44,7 @@ export class DrawCircleByDiameterMode extends TwoClickPolygonMode {
|
|
|
44
44
|
geometry.properties.editProperties.center = centerCoordinates;
|
|
45
45
|
// calculate area of circle with turf function
|
|
46
46
|
this.areaCircle = area(geometry);
|
|
47
|
-
|
|
47
|
+
|
|
48
48
|
return geometry;
|
|
49
49
|
}
|
|
50
50
|
|
|
@@ -7,14 +7,14 @@ import distance from '@turf/distance';
|
|
|
7
7
|
import area from '@turf/area';
|
|
8
8
|
import {memoize} from '../utils/memoize';
|
|
9
9
|
import {ModeProps, Tooltip} from './types';
|
|
10
|
-
import {Position, Polygon,
|
|
10
|
+
import {Position, Polygon, Feature, FeatureCollection} from '../utils/geojson-types';
|
|
11
11
|
import {TwoClickPolygonMode} from './two-click-polygon-mode';
|
|
12
12
|
|
|
13
13
|
export class DrawCircleFromCenterMode extends TwoClickPolygonMode {
|
|
14
14
|
radius: number | null | undefined = null;
|
|
15
15
|
position: Position = null!;
|
|
16
16
|
areaCircle: number | null | undefined = null;
|
|
17
|
-
getTwoClickPolygon(coord1: Position, coord2: Position, modeConfig: any):
|
|
17
|
+
getTwoClickPolygon(coord1: Position, coord2: Position, modeConfig: any): Feature<Polygon> {
|
|
18
18
|
// Default turf value for circle is 64
|
|
19
19
|
const {steps = 64} = modeConfig || {};
|
|
20
20
|
const options = {steps};
|
|
@@ -38,7 +38,7 @@ export class DrawCircleFromCenterMode extends TwoClickPolygonMode {
|
|
|
38
38
|
geometry.properties.editProperties.center = coord1;
|
|
39
39
|
// calculate area of circle with turf function
|
|
40
40
|
this.areaCircle = area(geometry);
|
|
41
|
-
|
|
41
|
+
|
|
42
42
|
return geometry;
|
|
43
43
|
}
|
|
44
44
|
|
|
@@ -6,12 +6,12 @@ import bboxPolygon from '@turf/bbox-polygon';
|
|
|
6
6
|
import distance from '@turf/distance';
|
|
7
7
|
import ellipse from '@turf/ellipse';
|
|
8
8
|
import {point} from '@turf/helpers';
|
|
9
|
-
import {Position, Polygon,
|
|
9
|
+
import {Position, Polygon, Feature} from '../utils/geojson-types';
|
|
10
10
|
import {getIntermediatePosition} from './geojson-edit-mode';
|
|
11
11
|
import {TwoClickPolygonMode} from './two-click-polygon-mode';
|
|
12
12
|
|
|
13
13
|
export class DrawEllipseByBoundingBoxMode extends TwoClickPolygonMode {
|
|
14
|
-
getTwoClickPolygon(coord1: Position, coord2: Position, modeConfig: any):
|
|
14
|
+
getTwoClickPolygon(coord1: Position, coord2: Position, modeConfig: any): Feature<Polygon> {
|
|
15
15
|
const minX = Math.min(coord1[0], coord2[0]);
|
|
16
16
|
const minY = Math.min(coord1[1], coord2[1]);
|
|
17
17
|
const maxX = Math.max(coord1[0], coord2[0]);
|
|
@@ -23,7 +23,7 @@ export class DrawEllipseByBoundingBoxMode extends TwoClickPolygonMode {
|
|
|
23
23
|
const xSemiAxis = Math.max(distance(point(polygonPoints[0]), point(polygonPoints[1])), 0.001);
|
|
24
24
|
const ySemiAxis = Math.max(distance(point(polygonPoints[0]), point(polygonPoints[3])), 0.001);
|
|
25
25
|
|
|
26
|
-
const geometry = ellipse(centerCoordinates, xSemiAxis, ySemiAxis);
|
|
26
|
+
const geometry = ellipse(centerCoordinates, xSemiAxis, ySemiAxis, {});
|
|
27
27
|
|
|
28
28
|
geometry.properties = geometry.properties || {};
|
|
29
29
|
geometry.properties.editProperties = geometry.properties.editProperties || {};
|
|
@@ -32,7 +32,7 @@ export class DrawEllipseByBoundingBoxMode extends TwoClickPolygonMode {
|
|
|
32
32
|
geometry.properties.editProperties.ySemiAxis = {value: ySemiAxis, unit: 'kilometers'};
|
|
33
33
|
geometry.properties.editProperties.angle = 0;
|
|
34
34
|
geometry.properties.editProperties.center = centerCoordinates;
|
|
35
|
-
|
|
35
|
+
|
|
36
36
|
return geometry;
|
|
37
37
|
}
|
|
38
38
|
}
|
|
@@ -6,7 +6,7 @@ import distance from '@turf/distance';
|
|
|
6
6
|
import ellipse from '@turf/ellipse';
|
|
7
7
|
import bearing from '@turf/bearing';
|
|
8
8
|
import {point} from '@turf/helpers';
|
|
9
|
-
import {Position, Polygon,
|
|
9
|
+
import {Position, Polygon, Feature} from '../utils/geojson-types';
|
|
10
10
|
import {getIntermediatePosition} from './geojson-edit-mode';
|
|
11
11
|
import {ThreeClickPolygonMode} from './three-click-polygon-mode';
|
|
12
12
|
|
|
@@ -16,12 +16,11 @@ export class DrawEllipseUsingThreePointsMode extends ThreeClickPolygonMode {
|
|
|
16
16
|
coord2: Position,
|
|
17
17
|
coord3: Position,
|
|
18
18
|
modeConfig: any
|
|
19
|
-
):
|
|
19
|
+
): Feature<Polygon> | null | undefined {
|
|
20
20
|
const centerCoordinates = getIntermediatePosition(coord1, coord2);
|
|
21
21
|
const xSemiAxis = Math.max(distance(centerCoordinates, point(coord3)), 0.001);
|
|
22
22
|
const ySemiAxis = Math.max(distance(coord1, coord2), 0.001) / 2;
|
|
23
23
|
const options = {angle: bearing(coord1, coord2)};
|
|
24
|
-
// @ts-expect-error fix return types
|
|
25
24
|
const geometry = ellipse(centerCoordinates, xSemiAxis, ySemiAxis, options);
|
|
26
25
|
|
|
27
26
|
geometry.properties = geometry.properties || {};
|
|
@@ -31,7 +30,7 @@ export class DrawEllipseUsingThreePointsMode extends ThreeClickPolygonMode {
|
|
|
31
30
|
geometry.properties.editProperties.ySemiAxis = {value: ySemiAxis, unit: 'kilometers'};
|
|
32
31
|
geometry.properties.editProperties.angle = options.angle;
|
|
33
32
|
geometry.properties.editProperties.center = centerCoordinates;
|
|
34
|
-
|
|
33
|
+
|
|
35
34
|
return geometry;
|
|
36
35
|
}
|
|
37
36
|
}
|
|
@@ -4,7 +4,12 @@
|
|
|
4
4
|
|
|
5
5
|
import distance from '@turf/distance';
|
|
6
6
|
import {memoize} from '../utils/memoize';
|
|
7
|
-
import {
|
|
7
|
+
import {
|
|
8
|
+
LineString,
|
|
9
|
+
FeatureCollection,
|
|
10
|
+
Position,
|
|
11
|
+
SimpleFeatureCollection
|
|
12
|
+
} from '../utils/geojson-types';
|
|
8
13
|
import {
|
|
9
14
|
ClickEvent,
|
|
10
15
|
PointerMoveEvent,
|
|
@@ -22,7 +27,7 @@ export class DrawLineStringMode extends GeoJsonEditMode {
|
|
|
22
27
|
dist = 0;
|
|
23
28
|
position: Position = null!;
|
|
24
29
|
elems: Position[] = [];
|
|
25
|
-
handleClick(event: ClickEvent, props: ModeProps<
|
|
30
|
+
handleClick(event: ClickEvent, props: ModeProps<SimpleFeatureCollection>) {
|
|
26
31
|
const {picks} = event;
|
|
27
32
|
const clickedEditHandle = getPickedEditHandle(picks);
|
|
28
33
|
|
|
@@ -62,11 +67,11 @@ export class DrawLineStringMode extends GeoJsonEditMode {
|
|
|
62
67
|
}
|
|
63
68
|
}
|
|
64
69
|
|
|
65
|
-
handleDoubleClick(event: DoubleClickEvent, props: ModeProps<
|
|
70
|
+
handleDoubleClick(event: DoubleClickEvent, props: ModeProps<SimpleFeatureCollection>) {
|
|
66
71
|
this.finishDrawing(props);
|
|
67
72
|
}
|
|
68
73
|
|
|
69
|
-
finishDrawing(props: ModeProps<
|
|
74
|
+
finishDrawing(props: ModeProps<SimpleFeatureCollection>) {
|
|
70
75
|
const clickSequence = this.getClickSequence();
|
|
71
76
|
if (clickSequence.length > 1) {
|
|
72
77
|
const lineStringToAdd: LineString = {
|
|
@@ -81,7 +86,7 @@ export class DrawLineStringMode extends GeoJsonEditMode {
|
|
|
81
86
|
}
|
|
82
87
|
}
|
|
83
88
|
|
|
84
|
-
handleKeyUp(event: KeyboardEvent, props: ModeProps<
|
|
89
|
+
handleKeyUp(event: KeyboardEvent, props: ModeProps<SimpleFeatureCollection>) {
|
|
85
90
|
const {key} = event;
|
|
86
91
|
if (key === 'Enter') {
|
|
87
92
|
this.finishDrawing(props);
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
4
|
|
|
5
5
|
import {ClickEvent, PointerMoveEvent, ModeProps, TentativeFeature} from './types';
|
|
6
|
-
import {FeatureCollection, Point} from '../utils/geojson-types';
|
|
6
|
+
import {FeatureCollection, SimpleFeatureCollection, Point} from '../utils/geojson-types';
|
|
7
7
|
import {GeoJsonEditMode} from './geojson-edit-mode';
|
|
8
8
|
|
|
9
9
|
export class DrawPointMode extends GeoJsonEditMode {
|
|
@@ -23,7 +23,7 @@ export class DrawPointMode extends GeoJsonEditMode {
|
|
|
23
23
|
};
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
-
handleClick({mapCoords}: ClickEvent, props: ModeProps<
|
|
26
|
+
handleClick({mapCoords}: ClickEvent, props: ModeProps<SimpleFeatureCollection>): void {
|
|
27
27
|
const geometry: Point = {
|
|
28
28
|
type: 'Point',
|
|
29
29
|
coordinates: mapCoords
|