@deck.gl-community/editable-layers 9.0.2 → 9.1.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/constants.d.ts +1 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/edit-modes/composite-mode.d.ts +4 -3
- package/dist/edit-modes/composite-mode.d.ts.map +1 -0
- package/dist/edit-modes/composite-mode.js +1 -1
- package/dist/edit-modes/delete-mode.d.ts +7 -0
- package/dist/edit-modes/delete-mode.d.ts.map +1 -0
- package/dist/edit-modes/delete-mode.js +22 -0
- package/dist/edit-modes/draw-90degree-polygon-mode.d.ts +4 -3
- package/dist/edit-modes/draw-90degree-polygon-mode.d.ts.map +1 -0
- package/dist/edit-modes/draw-90degree-polygon-mode.js +2 -2
- package/dist/edit-modes/draw-circle-by-diameter-mode.d.ts +4 -3
- package/dist/edit-modes/draw-circle-by-diameter-mode.d.ts.map +1 -0
- package/dist/edit-modes/draw-circle-by-diameter-mode.js +7 -3
- package/dist/edit-modes/draw-circle-from-center-mode.d.ts +4 -3
- package/dist/edit-modes/draw-circle-from-center-mode.d.ts.map +1 -0
- package/dist/edit-modes/draw-circle-from-center-mode.js +6 -2
- package/dist/edit-modes/draw-ellipse-by-bounding-box-mode.d.ts +3 -2
- package/dist/edit-modes/draw-ellipse-by-bounding-box-mode.d.ts.map +1 -0
- package/dist/edit-modes/draw-ellipse-by-bounding-box-mode.js +11 -3
- package/dist/edit-modes/draw-ellipse-using-three-points-mode.d.ts +3 -2
- package/dist/edit-modes/draw-ellipse-using-three-points-mode.d.ts.map +1 -0
- package/dist/edit-modes/draw-ellipse-using-three-points-mode.js +12 -3
- package/dist/edit-modes/draw-line-string-mode.d.ts +4 -3
- package/dist/edit-modes/draw-line-string-mode.d.ts.map +1 -0
- package/dist/edit-modes/draw-line-string-mode.js +3 -3
- package/dist/edit-modes/draw-point-mode.d.ts +4 -3
- package/dist/edit-modes/draw-point-mode.d.ts.map +1 -0
- package/dist/edit-modes/draw-point-mode.js +1 -1
- package/dist/edit-modes/draw-polygon-by-dragging-mode.d.ts +4 -3
- package/dist/edit-modes/draw-polygon-by-dragging-mode.d.ts.map +1 -0
- package/dist/edit-modes/draw-polygon-by-dragging-mode.js +2 -2
- package/dist/edit-modes/draw-polygon-mode.d.ts +4 -3
- package/dist/edit-modes/draw-polygon-mode.d.ts.map +1 -0
- package/dist/edit-modes/draw-polygon-mode.js +2 -2
- package/dist/edit-modes/draw-rectangle-from-center-mode.d.ts +3 -2
- package/dist/edit-modes/draw-rectangle-from-center-mode.d.ts.map +1 -0
- package/dist/edit-modes/draw-rectangle-from-center-mode.js +1 -1
- package/dist/edit-modes/draw-rectangle-mode.d.ts +3 -2
- package/dist/edit-modes/draw-rectangle-mode.d.ts.map +1 -0
- package/dist/edit-modes/draw-rectangle-mode.js +1 -1
- package/dist/edit-modes/draw-rectangle-using-three-points-mode.d.ts +3 -2
- package/dist/edit-modes/draw-rectangle-using-three-points-mode.d.ts.map +1 -0
- package/dist/edit-modes/draw-rectangle-using-three-points-mode.js +2 -2
- package/dist/edit-modes/draw-square-from-center-mode.d.ts +3 -2
- package/dist/edit-modes/draw-square-from-center-mode.d.ts.map +1 -0
- package/dist/edit-modes/draw-square-from-center-mode.js +1 -1
- package/dist/edit-modes/draw-square-mode.d.ts +3 -2
- package/dist/edit-modes/draw-square-mode.d.ts.map +1 -0
- package/dist/edit-modes/draw-square-mode.js +1 -1
- package/dist/edit-modes/duplicate-mode.d.ts +4 -3
- package/dist/edit-modes/duplicate-mode.d.ts.map +1 -0
- package/dist/edit-modes/duplicate-mode.js +1 -1
- package/dist/edit-modes/edit-mode.d.ts +2 -1
- package/dist/edit-modes/edit-mode.d.ts.map +1 -0
- package/dist/edit-modes/elevation-mode.d.ts +4 -3
- package/dist/edit-modes/elevation-mode.d.ts.map +1 -0
- package/dist/edit-modes/elevation-mode.js +2 -2
- package/dist/edit-modes/extend-line-string-mode.d.ts +4 -3
- package/dist/edit-modes/extend-line-string-mode.d.ts.map +1 -0
- package/dist/edit-modes/extend-line-string-mode.js +5 -2
- package/dist/edit-modes/extrude-mode.d.ts +4 -3
- package/dist/edit-modes/extrude-mode.d.ts.map +1 -0
- package/dist/edit-modes/extrude-mode.js +6 -3
- package/dist/edit-modes/geojson-edit-mode.d.ts +6 -5
- package/dist/edit-modes/geojson-edit-mode.d.ts.map +1 -0
- package/dist/edit-modes/geojson-edit-mode.js +9 -6
- package/dist/edit-modes/immutable-feature-collection.d.ts +2 -1
- package/dist/edit-modes/immutable-feature-collection.d.ts.map +1 -0
- package/dist/edit-modes/measure-angle-mode.d.ts +4 -3
- package/dist/edit-modes/measure-angle-mode.d.ts.map +1 -0
- package/dist/edit-modes/measure-angle-mode.js +2 -2
- package/dist/edit-modes/measure-area-mode.d.ts +4 -3
- package/dist/edit-modes/measure-area-mode.d.ts.map +1 -0
- package/dist/edit-modes/measure-area-mode.js +1 -1
- package/dist/edit-modes/measure-distance-mode.d.ts +4 -3
- package/dist/edit-modes/measure-distance-mode.d.ts.map +1 -0
- package/dist/edit-modes/measure-distance-mode.js +2 -2
- package/dist/edit-modes/modify-mode.d.ts +5 -4
- package/dist/edit-modes/modify-mode.d.ts.map +1 -0
- package/dist/edit-modes/modify-mode.js +6 -3
- package/dist/edit-modes/resize-circle-mode.d.ts +6 -5
- package/dist/edit-modes/resize-circle-mode.d.ts.map +1 -0
- package/dist/edit-modes/resize-circle-mode.js +4 -3
- package/dist/edit-modes/rotate-mode.d.ts +4 -3
- package/dist/edit-modes/rotate-mode.d.ts.map +1 -0
- package/dist/edit-modes/rotate-mode.js +5 -4
- package/dist/edit-modes/scale-mode.d.ts +4 -3
- package/dist/edit-modes/scale-mode.d.ts.map +1 -0
- package/dist/edit-modes/scale-mode.js +5 -4
- package/dist/edit-modes/snappable-mode.d.ts +4 -3
- package/dist/edit-modes/snappable-mode.d.ts.map +1 -0
- package/dist/edit-modes/snappable-mode.js +2 -2
- package/dist/edit-modes/split-polygon-mode.d.ts +4 -3
- package/dist/edit-modes/split-polygon-mode.d.ts.map +1 -0
- package/dist/edit-modes/split-polygon-mode.js +3 -3
- package/dist/edit-modes/three-click-polygon-mode.d.ts +4 -3
- package/dist/edit-modes/three-click-polygon-mode.d.ts.map +1 -0
- package/dist/edit-modes/three-click-polygon-mode.js +4 -2
- package/dist/edit-modes/transform-mode.d.ts +4 -3
- package/dist/edit-modes/transform-mode.d.ts.map +1 -0
- package/dist/edit-modes/transform-mode.js +7 -4
- package/dist/edit-modes/translate-mode.d.ts +4 -3
- package/dist/edit-modes/translate-mode.d.ts.map +1 -0
- package/dist/edit-modes/translate-mode.js +6 -5
- package/dist/edit-modes/two-click-polygon-mode.d.ts +4 -3
- package/dist/edit-modes/two-click-polygon-mode.d.ts.map +1 -0
- package/dist/edit-modes/two-click-polygon-mode.js +4 -5
- package/dist/edit-modes/types.d.ts +3 -1
- package/dist/edit-modes/types.d.ts.map +1 -0
- package/dist/edit-modes/utils.d.ts +5 -3
- package/dist/edit-modes/utils.d.ts.map +1 -0
- package/dist/edit-modes/utils.js +5 -1
- package/dist/edit-modes/view-mode.d.ts +2 -1
- package/dist/edit-modes/view-mode.d.ts.map +1 -0
- package/dist/edit-modes/view-mode.js +1 -1
- package/dist/editable-layers/editable-geojson-layer.d.ts +10 -9
- package/dist/editable-layers/editable-geojson-layer.d.ts.map +1 -0
- package/dist/editable-layers/editable-geojson-layer.js +30 -28
- package/dist/editable-layers/editable-h3-cluster-layer.d.ts +3 -2
- package/dist/editable-layers/editable-h3-cluster-layer.d.ts.map +1 -0
- package/dist/editable-layers/editable-h3-cluster-layer.js +4 -5
- package/dist/editable-layers/editable-layer.d.ts +7 -4
- package/dist/editable-layers/editable-layer.d.ts.map +1 -0
- package/dist/editable-layers/editable-layer.js +8 -4
- package/dist/editable-layers/editable-path-layer.d.ts +14 -1
- package/dist/editable-layers/editable-path-layer.d.ts.map +1 -0
- package/dist/editable-layers/editable-path-layer.js +21 -13
- package/dist/editable-layers/elevated-edit-handle-layer.d.ts +1 -0
- package/dist/editable-layers/elevated-edit-handle-layer.d.ts.map +1 -0
- package/dist/editable-layers/junction-scatterplot-layer.d.ts +6 -3
- package/dist/editable-layers/junction-scatterplot-layer.d.ts.map +1 -0
- package/dist/editable-layers/selection-layer.d.ts +3 -1
- package/dist/editable-layers/selection-layer.d.ts.map +1 -0
- package/dist/editable-layers/selection-layer.js +4 -5
- package/dist/index.cjs +127 -45
- package/dist/index.cjs.map +4 -4
- package/dist/index.d.ts +60 -58
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +52 -52
- package/dist/lib/constants.d.ts +1 -0
- package/dist/lib/constants.d.ts.map +1 -0
- package/dist/lib/deck-renderer/deck-cache.d.ts +1 -0
- package/dist/lib/deck-renderer/deck-cache.d.ts.map +1 -0
- package/dist/lib/deck-renderer/deck-drawer.d.ts +2 -1
- package/dist/lib/deck-renderer/deck-drawer.d.ts.map +1 -0
- package/dist/lib/feature.d.ts +3 -2
- package/dist/lib/feature.d.ts.map +1 -0
- package/dist/lib/layer-mouse-event.d.ts +2 -1
- package/dist/lib/layer-mouse-event.d.ts.map +1 -0
- package/dist/lib/layers/junctions-layer.d.ts +4 -3
- package/dist/lib/layers/junctions-layer.d.ts.map +1 -0
- package/dist/lib/layers/junctions-layer.js +4 -4
- package/dist/lib/layers/segments-layer.d.ts +3 -2
- package/dist/lib/layers/segments-layer.d.ts.map +1 -0
- package/dist/lib/layers/segments-layer.js +4 -4
- package/dist/lib/layers/texts-layer.d.ts +3 -2
- package/dist/lib/layers/texts-layer.d.ts.map +1 -0
- package/dist/lib/layers/texts-layer.js +4 -4
- package/dist/lib/math.d.ts +2 -1
- package/dist/lib/math.d.ts.map +1 -0
- package/dist/lib/nebula-core.d.ts +2 -1
- package/dist/lib/nebula-core.d.ts.map +1 -0
- package/dist/lib/nebula-core.js +3 -3
- package/dist/lib/nebula-layer.d.ts +2 -1
- package/dist/lib/nebula-layer.d.ts.map +1 -0
- package/dist/lib/style.d.ts +1 -0
- package/dist/lib/style.d.ts.map +1 -0
- package/dist/mode-handlers/composite-mode-handler.d.ts +4 -3
- package/dist/mode-handlers/composite-mode-handler.d.ts.map +1 -0
- package/dist/mode-handlers/composite-mode-handler.js +1 -1
- package/dist/mode-handlers/draw-90degree-polygon-handler.d.ts +4 -3
- package/dist/mode-handlers/draw-90degree-polygon-handler.d.ts.map +1 -0
- package/dist/mode-handlers/draw-90degree-polygon-handler.js +2 -2
- package/dist/mode-handlers/draw-circle-by-bounding-box-handler.d.ts +4 -3
- package/dist/mode-handlers/draw-circle-by-bounding-box-handler.d.ts.map +1 -0
- package/dist/mode-handlers/draw-circle-by-bounding-box-handler.js +2 -2
- package/dist/mode-handlers/draw-circle-from-center-handler.d.ts +4 -3
- package/dist/mode-handlers/draw-circle-from-center-handler.d.ts.map +1 -0
- package/dist/mode-handlers/draw-circle-from-center-handler.js +1 -1
- package/dist/mode-handlers/draw-ellipse-by-bounding-box-handler.d.ts +4 -3
- package/dist/mode-handlers/draw-ellipse-by-bounding-box-handler.d.ts.map +1 -0
- package/dist/mode-handlers/draw-ellipse-by-bounding-box-handler.js +2 -2
- package/dist/mode-handlers/draw-ellipse-using-three-points-handler.d.ts +4 -3
- package/dist/mode-handlers/draw-ellipse-using-three-points-handler.d.ts.map +1 -0
- package/dist/mode-handlers/draw-ellipse-using-three-points-handler.js +2 -2
- package/dist/mode-handlers/draw-line-string-handler.d.ts +3 -2
- package/dist/mode-handlers/draw-line-string-handler.d.ts.map +1 -0
- package/dist/mode-handlers/draw-line-string-handler.js +1 -1
- package/dist/mode-handlers/draw-point-handler.d.ts +3 -2
- package/dist/mode-handlers/draw-point-handler.d.ts.map +1 -0
- package/dist/mode-handlers/draw-point-handler.js +1 -1
- package/dist/mode-handlers/draw-polygon-handler.d.ts +4 -3
- package/dist/mode-handlers/draw-polygon-handler.d.ts.map +1 -0
- package/dist/mode-handlers/draw-polygon-handler.js +1 -1
- package/dist/mode-handlers/draw-rectangle-handler.d.ts +4 -3
- package/dist/mode-handlers/draw-rectangle-handler.d.ts.map +1 -0
- package/dist/mode-handlers/draw-rectangle-handler.js +1 -1
- package/dist/mode-handlers/draw-rectangle-using-three-points-handler.d.ts +4 -3
- package/dist/mode-handlers/draw-rectangle-using-three-points-handler.d.ts.map +1 -0
- package/dist/mode-handlers/draw-rectangle-using-three-points-handler.js +2 -2
- package/dist/mode-handlers/duplicate-handler.d.ts +4 -3
- package/dist/mode-handlers/duplicate-handler.d.ts.map +1 -0
- package/dist/mode-handlers/duplicate-handler.js +1 -1
- package/dist/mode-handlers/elevation-handler.d.ts +5 -4
- package/dist/mode-handlers/elevation-handler.d.ts.map +1 -0
- package/dist/mode-handlers/elevation-handler.js +2 -2
- package/dist/mode-handlers/extrude-handler.d.ts +4 -3
- package/dist/mode-handlers/extrude-handler.d.ts.map +1 -0
- package/dist/mode-handlers/extrude-handler.js +3 -3
- package/dist/mode-handlers/mode-handler.d.ts +4 -3
- package/dist/mode-handlers/mode-handler.d.ts.map +1 -0
- package/dist/mode-handlers/mode-handler.js +1 -1
- package/dist/mode-handlers/modify-handler.d.ts +5 -4
- package/dist/mode-handlers/modify-handler.d.ts.map +1 -0
- package/dist/mode-handlers/modify-handler.js +2 -2
- package/dist/mode-handlers/rotate-handler.d.ts +4 -3
- package/dist/mode-handlers/rotate-handler.d.ts.map +1 -0
- package/dist/mode-handlers/rotate-handler.js +1 -1
- package/dist/mode-handlers/scale-handler.d.ts +4 -3
- package/dist/mode-handlers/scale-handler.d.ts.map +1 -0
- package/dist/mode-handlers/scale-handler.js +1 -1
- package/dist/mode-handlers/snappable-handler.d.ts +4 -3
- package/dist/mode-handlers/snappable-handler.d.ts.map +1 -0
- package/dist/mode-handlers/snappable-handler.js +1 -1
- package/dist/mode-handlers/split-polygon-handler.d.ts +3 -2
- package/dist/mode-handlers/split-polygon-handler.d.ts.map +1 -0
- package/dist/mode-handlers/split-polygon-handler.js +2 -2
- package/dist/mode-handlers/three-click-polygon-handler.d.ts +3 -2
- package/dist/mode-handlers/three-click-polygon-handler.d.ts.map +1 -0
- package/dist/mode-handlers/three-click-polygon-handler.js +1 -1
- package/dist/mode-handlers/translate-handler.d.ts +4 -3
- package/dist/mode-handlers/translate-handler.d.ts.map +1 -0
- package/dist/mode-handlers/translate-handler.js +1 -1
- package/dist/mode-handlers/two-click-polygon-handler.d.ts +3 -2
- package/dist/mode-handlers/two-click-polygon-handler.d.ts.map +1 -0
- package/dist/mode-handlers/two-click-polygon-handler.js +1 -1
- package/dist/mode-handlers/view-handler.d.ts +3 -2
- package/dist/mode-handlers/view-handler.d.ts.map +1 -0
- package/dist/mode-handlers/view-handler.js +1 -1
- package/dist/shaderlib/color/color.d.ts +13 -2
- package/dist/shaderlib/color/color.d.ts.map +1 -0
- package/dist/shaderlib/color/color.js +25 -18
- package/dist/shaderlib/utils/utils.d.ts +1 -0
- package/dist/shaderlib/utils/utils.d.ts.map +1 -0
- package/dist/utils/curve-utils.d.ts +1 -0
- package/dist/utils/curve-utils.d.ts.map +1 -0
- package/dist/utils/geojson-types.d.ts +1 -0
- package/dist/utils/geojson-types.d.ts.map +1 -0
- package/dist/utils/memoize.d.ts +1 -0
- package/dist/utils/memoize.d.ts.map +1 -0
- package/dist/utils/translate-from-center.d.ts +1 -0
- package/dist/utils/translate-from-center.d.ts.map +1 -0
- package/dist/utils/translate-from-center.js +4 -4
- package/dist/utils/types.d.ts +1 -0
- package/dist/utils/types.d.ts.map +1 -0
- package/dist/utils/utils.d.ts +5 -4
- package/dist/utils/utils.d.ts.map +1 -0
- package/dist/utils/utils.js +4 -4
- package/package.json +11 -10
- package/src/edit-modes/delete-mode.ts +28 -0
- package/src/edit-modes/draw-circle-by-diameter-mode.ts +4 -0
- package/src/edit-modes/draw-circle-from-center-mode.ts +4 -0
- package/src/edit-modes/draw-ellipse-by-bounding-box-mode.ts +10 -1
- package/src/edit-modes/draw-ellipse-using-three-points-mode.ts +11 -1
- package/src/edit-modes/extend-line-string-mode.ts +4 -0
- package/src/edit-modes/extrude-mode.ts +6 -1
- package/src/edit-modes/geojson-edit-mode.ts +9 -4
- package/src/edit-modes/measure-distance-mode.ts +1 -1
- package/src/edit-modes/modify-mode.ts +6 -1
- package/src/edit-modes/resize-circle-mode.ts +1 -0
- package/src/edit-modes/rotate-mode.ts +2 -1
- package/src/edit-modes/scale-mode.ts +2 -1
- package/src/edit-modes/split-polygon-mode.ts +4 -2
- package/src/edit-modes/three-click-polygon-mode.ts +7 -1
- package/src/edit-modes/transform-mode.ts +4 -0
- package/src/edit-modes/translate-mode.ts +4 -2
- package/src/edit-modes/two-click-polygon-mode.ts +3 -4
- package/src/edit-modes/types.ts +1 -0
- package/src/edit-modes/utils.ts +10 -3
- package/src/editable-layers/editable-geojson-layer.ts +6 -4
- package/src/editable-layers/editable-h3-cluster-layer.ts +1 -1
- package/src/editable-layers/editable-layer.ts +12 -4
- package/src/editable-layers/editable-path-layer.ts +29 -15
- package/src/editable-layers/junction-scatterplot-layer.ts +4 -2
- package/src/editable-layers/selection-layer.ts +2 -1
- package/src/index.ts +2 -0
- package/src/mode-handlers/split-polygon-handler.ts +2 -1
- package/src/shaderlib/color/color.ts +34 -20
- package/src/utils/translate-from-center.ts +5 -5
- package/src/utils/utils.ts +4 -4
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
// deck.gl-community
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
|
-
import { GeoJsonEditMode } from
|
|
4
|
+
import { GeoJsonEditMode } from "./geojson-edit-mode.js";
|
|
5
|
+
import { omit } from 'lodash';
|
|
5
6
|
export class ThreeClickPolygonMode extends GeoJsonEditMode {
|
|
6
7
|
handleClick(event, props) {
|
|
7
8
|
this.addClickSequence(event);
|
|
@@ -10,7 +11,7 @@ export class ThreeClickPolygonMode extends GeoJsonEditMode {
|
|
|
10
11
|
if (clickSequence.length > 2 &&
|
|
11
12
|
tentativeFeature &&
|
|
12
13
|
tentativeFeature.geometry.type === 'Polygon') {
|
|
13
|
-
const editAction = this.getAddFeatureOrBooleanPolygonAction(tentativeFeature.geometry, props);
|
|
14
|
+
const editAction = this.getAddFeatureOrBooleanPolygonAction(tentativeFeature.geometry, props, omit(tentativeFeature.properties, 'guideType'));
|
|
14
15
|
this.resetClickSequence();
|
|
15
16
|
if (editAction) {
|
|
16
17
|
props.onEdit(editAction);
|
|
@@ -47,6 +48,7 @@ export class ThreeClickPolygonMode extends GeoJsonEditMode {
|
|
|
47
48
|
guides.features.push({
|
|
48
49
|
type: 'Feature',
|
|
49
50
|
properties: {
|
|
51
|
+
...polygon.properties,
|
|
50
52
|
guideType: 'tentative'
|
|
51
53
|
},
|
|
52
54
|
geometry: polygon.geometry
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { PointerMoveEvent, ModeProps, StartDraggingEvent } from
|
|
2
|
-
import { FeatureCollection } from
|
|
3
|
-
import { CompositeMode } from
|
|
1
|
+
import { PointerMoveEvent, ModeProps, StartDraggingEvent } from "./types.js";
|
|
2
|
+
import { FeatureCollection } from "../utils/geojson-types.js";
|
|
3
|
+
import { CompositeMode } from "./composite-mode.js";
|
|
4
4
|
export declare class TransformMode extends CompositeMode {
|
|
5
5
|
constructor();
|
|
6
6
|
handlePointerMove(event: PointerMoveEvent, props: ModeProps<FeatureCollection>): void;
|
|
7
7
|
handleStartDragging(event: StartDraggingEvent, props: ModeProps<FeatureCollection>): void;
|
|
8
8
|
getGuides(props: ModeProps<FeatureCollection>): import("./types").GuideFeatureCollection;
|
|
9
9
|
}
|
|
10
|
+
//# sourceMappingURL=transform-mode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transform-mode.d.ts","sourceRoot":"","sources":["../../src/edit-modes/transform-mode.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,gBAAgB,EAAE,SAAS,EAAE,kBAAkB,EAAC,mBAAgB;AACxE,OAAO,EAAC,iBAAiB,EAAC,kCAA+B;AAKzD,OAAO,EAAC,aAAa,EAAC,4BAAyB;AAG/C,qBAAa,aAAc,SAAQ,aAAa;;IAK9C,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;IAW9E,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;IA+BlF,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;CAqB9C"}
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
4
|
import { featureCollection } from '@turf/helpers';
|
|
5
|
-
import { TranslateMode } from
|
|
6
|
-
import { ScaleMode } from
|
|
7
|
-
import { RotateMode } from
|
|
8
|
-
import { CompositeMode } from
|
|
5
|
+
import { TranslateMode } from "./translate-mode.js";
|
|
6
|
+
import { ScaleMode } from "./scale-mode.js";
|
|
7
|
+
import { RotateMode } from "./rotate-mode.js";
|
|
8
|
+
import { CompositeMode } from "./composite-mode.js";
|
|
9
9
|
export class TransformMode extends CompositeMode {
|
|
10
10
|
constructor() {
|
|
11
11
|
super([new TranslateMode(), new ScaleMode(), new RotateMode()]);
|
|
@@ -24,6 +24,9 @@ export class TransformMode extends CompositeMode {
|
|
|
24
24
|
let scaleMode = null;
|
|
25
25
|
let translateMode = null;
|
|
26
26
|
const filteredModes = [];
|
|
27
|
+
if (event.picks.length) {
|
|
28
|
+
event.cancelPan();
|
|
29
|
+
}
|
|
27
30
|
// If the user selects a scaling edit handle that overlaps with part of the selected feature,
|
|
28
31
|
// it is possible for both scale and translate actions to be triggered. This logic prevents
|
|
29
32
|
// this simultaneous action trigger from happening by putting a higher priority on scaling
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { FeatureCollection, Position } from
|
|
2
|
-
import { PointerMoveEvent, StartDraggingEvent, StopDraggingEvent, DraggingEvent, ModeProps } from
|
|
3
|
-
import { GeoJsonEditMode, GeoJsonEditAction } from
|
|
1
|
+
import { FeatureCollection, Position } from "../utils/geojson-types.js";
|
|
2
|
+
import { PointerMoveEvent, StartDraggingEvent, StopDraggingEvent, DraggingEvent, ModeProps } from "./types.js";
|
|
3
|
+
import { GeoJsonEditMode, GeoJsonEditAction } from "./geojson-edit-mode.js";
|
|
4
4
|
export declare class TranslateMode extends GeoJsonEditMode {
|
|
5
5
|
_geometryBeforeTranslate: FeatureCollection | null | undefined;
|
|
6
6
|
_isTranslatable: boolean;
|
|
@@ -11,3 +11,4 @@ export declare class TranslateMode extends GeoJsonEditMode {
|
|
|
11
11
|
updateCursor(props: ModeProps<FeatureCollection>): void;
|
|
12
12
|
getTranslateAction(startDragPoint: Position, currentPoint: Position, editType: string, props: ModeProps<FeatureCollection>): GeoJsonEditAction | null | undefined;
|
|
13
13
|
}
|
|
14
|
+
//# sourceMappingURL=translate-mode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"translate-mode.d.ts","sourceRoot":"","sources":["../../src/edit-modes/translate-mode.ts"],"names":[],"mappings":"AAUA,OAAO,EAAC,iBAAiB,EAAE,QAAQ,EAAW,kCAA+B;AAC7E,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,SAAS,EACV,mBAAgB;AAGjB,OAAO,EAAC,eAAe,EAAE,iBAAiB,EAAC,+BAA4B;AAGvE,qBAAa,aAAc,SAAQ,eAAe;IAChD,wBAAwB,EAAE,iBAAiB,GAAG,IAAI,GAAG,SAAS,CAAC;IAC/D,eAAe,EAAE,OAAO,CAAc;IAEtC,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;IAwBxE,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;IAM9E,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;IASlF,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;IAkBhF,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;IAShD,kBAAkB,CAChB,cAAc,EAAE,QAAQ,EACxB,YAAY,EAAE,QAAQ,EACtB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC,GAClC,iBAAiB,GAAG,IAAI,GAAG,SAAS;CAoExC"}
|
|
@@ -5,11 +5,11 @@ import turfBearing from '@turf/bearing';
|
|
|
5
5
|
import turfDistance from '@turf/distance';
|
|
6
6
|
import clone from '@turf/clone';
|
|
7
7
|
import { point } from '@turf/helpers';
|
|
8
|
-
import WebMercatorViewport from 'viewport-mercator-project';
|
|
9
|
-
import { mapCoords } from
|
|
10
|
-
import { translateFromCenter } from
|
|
11
|
-
import { GeoJsonEditMode } from
|
|
12
|
-
import { ImmutableFeatureCollection } from
|
|
8
|
+
import { WebMercatorViewport } from 'viewport-mercator-project';
|
|
9
|
+
import { mapCoords } from "./utils.js";
|
|
10
|
+
import { translateFromCenter } from "../utils/translate-from-center.js";
|
|
11
|
+
import { GeoJsonEditMode } from "./geojson-edit-mode.js";
|
|
12
|
+
import { ImmutableFeatureCollection } from "./immutable-feature-collection.js";
|
|
13
13
|
export class TranslateMode extends GeoJsonEditMode {
|
|
14
14
|
_geometryBeforeTranslate;
|
|
15
15
|
_isTranslatable = undefined;
|
|
@@ -36,6 +36,7 @@ export class TranslateMode extends GeoJsonEditMode {
|
|
|
36
36
|
if (!this._isTranslatable) {
|
|
37
37
|
return;
|
|
38
38
|
}
|
|
39
|
+
event.cancelPan();
|
|
39
40
|
this._geometryBeforeTranslate = this.getSelectedFeaturesAsFeatureCollection(props);
|
|
40
41
|
}
|
|
41
42
|
handleStopDragging(event, props) {
|
|
@@ -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;AAGpD,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;IA2BzD,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,7 +1,8 @@
|
|
|
1
1
|
// deck.gl-community
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
|
-
import { GeoJsonEditMode } from
|
|
4
|
+
import { GeoJsonEditMode } from "./geojson-edit-mode.js";
|
|
5
|
+
import { omit } from 'lodash';
|
|
5
6
|
export class TwoClickPolygonMode extends GeoJsonEditMode {
|
|
6
7
|
handleClick(event, props) {
|
|
7
8
|
if (props.modeConfig && props.modeConfig.dragToDraw) {
|
|
@@ -35,9 +36,7 @@ export class TwoClickPolygonMode extends GeoJsonEditMode {
|
|
|
35
36
|
tentativeFeature.geometry.type === 'Polygon') {
|
|
36
37
|
const feature = {
|
|
37
38
|
type: 'Feature',
|
|
38
|
-
properties:
|
|
39
|
-
shape: tentativeFeature.properties.shape
|
|
40
|
-
},
|
|
39
|
+
properties: omit(tentativeFeature.properties, 'guideType'),
|
|
41
40
|
geometry: {
|
|
42
41
|
type: 'Polygon',
|
|
43
42
|
coordinates: tentativeFeature.geometry.coordinates
|
|
@@ -68,7 +67,7 @@ export class TwoClickPolygonMode extends GeoJsonEditMode {
|
|
|
68
67
|
guides.features.push({
|
|
69
68
|
type: 'Feature',
|
|
70
69
|
properties: {
|
|
71
|
-
|
|
70
|
+
...polygon.properties,
|
|
72
71
|
guideType: 'tentative'
|
|
73
72
|
},
|
|
74
73
|
geometry: polygon.geometry
|
|
@@ -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;
|
|
@@ -9,6 +9,7 @@ export type Pick = {
|
|
|
9
9
|
index: number;
|
|
10
10
|
object?: any;
|
|
11
11
|
isGuide?: boolean;
|
|
12
|
+
featureType?: string;
|
|
12
13
|
featureIndex?: number;
|
|
13
14
|
type?: string;
|
|
14
15
|
isEditingHandle?: boolean | null;
|
|
@@ -84,3 +85,4 @@ export type ModeProps<TData> = {
|
|
|
84
85
|
onEdit: (editAction: EditAction<TData>) => void;
|
|
85
86
|
onUpdateCursor: (cursor: string | null | undefined) => void;
|
|
86
87
|
};
|
|
88
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/edit-modes/types.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAC,kCAA+B;AAEnF,MAAM,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAGjD,MAAM,MAAM,UAAU,CAAC,KAAK,IAAI;IAC9B,WAAW,EAAE,KAAK,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,GAAG,CAAC;CAClB,CAAC;AAGF,MAAM,MAAM,IAAI,GAAG;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,YAAY,EAAE,iBAAiB,CAAC;IAChC,SAAS,EAAE,QAAQ,CAAC;IACpB,WAAW,EAAE,GAAG,CAAC;CAClB,CAAC;AAGF,MAAM,MAAM,UAAU,GAAG,gBAAgB,CAAC;AAG1C,MAAM,MAAM,kBAAkB,GAAG,gBAAgB,GAAG;IAClD,gBAAgB,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IACjC,uBAAuB,EAAE,iBAAiB,CAAC;IAC3C,oBAAoB,EAAE,QAAQ,CAAC;IAC/B,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;AAGF,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,GAAG;IACjD,gBAAgB,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IACjC,uBAAuB,EAAE,iBAAiB,CAAC;IAC3C,oBAAoB,EAAE,QAAQ,CAAC;CAChC,CAAC;AAGF,MAAM,MAAM,aAAa,GAAG,gBAAgB,GAAG;IAC7C,gBAAgB,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IACjC,uBAAuB,EAAE,iBAAiB,CAAC;IAC3C,oBAAoB,EAAE,QAAQ,CAAC;IAC/B,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;AAGF,MAAM,MAAM,gBAAgB,GAAG,gBAAgB,GAAG;IAChD,gBAAgB,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IACjC,uBAAuB,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACnD,oBAAoB,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IACvC,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,cAAc,GACtB,UAAU,GACV,cAAc,GACd,aAAa,GACb,aAAa,GACb,OAAO,GACP,QAAQ,CAAC;AAEb,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,CAC9C,KAAK,EACL;IACE,SAAS,EAAE,YAAY,CAAC;IACxB,cAAc,EAAE,cAAc,CAAC;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CACF,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,gBAAgB,CAC7C,QAAQ,EACR;IACE,SAAS,EAAE,WAAW,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CACF,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,iBAAiB,GAAG,gBAAgB,CAAC;AAEhE,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;IACnC,UAAU,CAAC,EAAE,EAAE,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,SAAS,CAAC,KAAK,IAAI;IAE7B,IAAI,EAAE,KAAK,CAAC;IAGZ,UAAU,EAAE,GAAG,CAAC;IAGhB,eAAe,EAAE,MAAM,EAAE,CAAC;IAG1B,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAGlC,oBAAoB,EAAE,gBAAgB,CAAC;IAGvC,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;IAGhD,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,KAAK,IAAI,CAAC;CAC7D,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { MultiLineString } from '@turf/helpers';
|
|
2
|
-
import { Viewport, Pick, EditHandleFeature, EditHandleType } from
|
|
3
|
-
import { Geometry, Position, Point, LineString, Polygon, FeatureOf, FeatureWithProps, AnyCoordinates } from
|
|
1
|
+
import type { MultiLineString } from '@turf/helpers';
|
|
2
|
+
import { Viewport, Pick, EditHandleFeature, EditHandleType, StartDraggingEvent } 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,5 @@ 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
|
+
export declare function shouldCancelPan(event: StartDraggingEvent): Pick;
|
|
38
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/edit-modes/utils.ts"],"names":[],"mappings":"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"}
|
package/dist/edit-modes/utils.js
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
// deck.gl-community
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
|
+
/* eslint-disable no-shadow */
|
|
4
5
|
import destination from '@turf/destination';
|
|
5
6
|
import bearing from '@turf/bearing';
|
|
6
7
|
import pointToLineDistance from '@turf/point-to-line-distance';
|
|
7
8
|
import { flattenEach } from '@turf/meta';
|
|
8
9
|
import { point } from '@turf/helpers';
|
|
9
10
|
import { getCoords } from '@turf/invariant';
|
|
10
|
-
import WebMercatorViewport from 'viewport-mercator-project';
|
|
11
|
+
import { WebMercatorViewport } from 'viewport-mercator-project';
|
|
11
12
|
export function toDeckColor(color, defaultColor = [255, 0, 0, 255]) {
|
|
12
13
|
if (!Array.isArray(color)) {
|
|
13
14
|
return defaultColor;
|
|
@@ -381,3 +382,6 @@ export function mapCoords(coords, callback) {
|
|
|
381
382
|
})
|
|
382
383
|
.filter(Boolean);
|
|
383
384
|
}
|
|
385
|
+
export function shouldCancelPan(event) {
|
|
386
|
+
return event.picks.length && event.picks.find((p) => p.featureType === 'points');
|
|
387
|
+
}
|
|
@@ -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,11 +1,11 @@
|
|
|
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, EditableLayerProps } from
|
|
7
|
-
import { Feature, FeatureCollection } from
|
|
8
|
-
export type
|
|
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
|
+
export type EditableGeoJsonLayerProps<DataT = any> = EditableLayerProps & {
|
|
9
9
|
data: DataT;
|
|
10
10
|
mode?: any;
|
|
11
11
|
modeConfig?: any;
|
|
@@ -55,9 +55,9 @@ export type EditableGeojsonLayerProps<DataT = any> = EditableLayerProps & {
|
|
|
55
55
|
getEditHandleIconAngle?: number | ((handle: any) => number);
|
|
56
56
|
billboard?: boolean;
|
|
57
57
|
};
|
|
58
|
-
export declare class EditableGeoJsonLayer extends EditableLayer<FeatureCollection,
|
|
58
|
+
export declare class EditableGeoJsonLayer extends EditableLayer<FeatureCollection, EditableGeoJsonLayerProps<FeatureCollection>> {
|
|
59
59
|
static layerName: string;
|
|
60
|
-
static defaultProps: DefaultProps<
|
|
60
|
+
static defaultProps: DefaultProps<EditableGeoJsonLayerProps<any>>;
|
|
61
61
|
state: EditableLayer['state'] & {
|
|
62
62
|
cursor?: 'grabbing' | 'grab' | null;
|
|
63
63
|
mode: GeoJsonEditModeType;
|
|
@@ -70,7 +70,7 @@ export declare class EditableGeoJsonLayer extends EditableLayer<FeatureCollectio
|
|
|
70
70
|
initializeState(): void;
|
|
71
71
|
shouldUpdateState(opts: any): any;
|
|
72
72
|
updateState({ props, oldProps, changeFlags, context }: UpdateParameters<this>): void;
|
|
73
|
-
getModeProps(props:
|
|
73
|
+
getModeProps(props: EditableGeoJsonLayerProps<any>): {
|
|
74
74
|
modeConfig: any;
|
|
75
75
|
data: any;
|
|
76
76
|
selectedIndexes: number[];
|
|
@@ -96,3 +96,4 @@ export declare 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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"}
|
|
@@ -2,34 +2,35 @@
|
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
4
|
import { GeoJsonLayer, ScatterplotLayer, IconLayer, TextLayer } from '@deck.gl/layers';
|
|
5
|
-
import { ViewMode } from
|
|
6
|
-
import { TranslateMode } from
|
|
7
|
-
import { ModifyMode } from
|
|
8
|
-
import { ScaleMode } from
|
|
9
|
-
import { RotateMode } from
|
|
10
|
-
import { DuplicateMode } from
|
|
11
|
-
import { SplitPolygonMode } from
|
|
12
|
-
import { ExtrudeMode } from
|
|
13
|
-
import { ElevationMode } from
|
|
14
|
-
import { DrawPointMode } from
|
|
15
|
-
import { DrawLineStringMode } from
|
|
16
|
-
import { DrawPolygonMode } from
|
|
17
|
-
import { DrawRectangleMode } from
|
|
18
|
-
import { DrawSquareMode } from
|
|
19
|
-
import { DrawRectangleFromCenterMode } from
|
|
20
|
-
import { DrawSquareFromCenterMode } from
|
|
21
|
-
import { DrawCircleFromCenterMode } from
|
|
22
|
-
import { DrawCircleByDiameterMode } from
|
|
23
|
-
import { DrawEllipseByBoundingBoxMode } from
|
|
24
|
-
import { DrawRectangleUsingThreePointsMode } from
|
|
25
|
-
import { DrawEllipseUsingThreePointsMode } from
|
|
26
|
-
import { Draw90DegreePolygonMode } from
|
|
27
|
-
import { DrawPolygonByDraggingMode } from
|
|
28
|
-
import { SnappableMode } from
|
|
29
|
-
import { TransformMode } from
|
|
30
|
-
import {
|
|
31
|
-
import {
|
|
32
|
-
import {
|
|
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 { DeleteMode } from "../edit-modes/delete-mode.js";
|
|
31
|
+
import { PROJECTED_PIXEL_SIZE_MULTIPLIER } from "../constants.js";
|
|
32
|
+
import { EditableLayer } from "./editable-layer.js";
|
|
33
|
+
import { EditablePathLayer } from "./editable-path-layer.js";
|
|
33
34
|
const DEFAULT_LINE_COLOR = [0x0, 0x0, 0x0, 0x99];
|
|
34
35
|
const DEFAULT_FILL_COLOR = [0x0, 0x0, 0x0, 0x90];
|
|
35
36
|
const DEFAULT_SELECTED_LINE_COLOR = [0x0, 0x0, 0x0, 0xff];
|
|
@@ -152,6 +153,7 @@ const modeNameMapping = {
|
|
|
152
153
|
split: SplitPolygonMode,
|
|
153
154
|
extrude: ExtrudeMode,
|
|
154
155
|
elevation: ElevationMode,
|
|
156
|
+
delete: DeleteMode,
|
|
155
157
|
// Draw modes
|
|
156
158
|
drawPoint: DrawPointMode,
|
|
157
159
|
drawLineString: DrawLineStringMode,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { DefaultProps } from '@deck.gl/core';
|
|
2
|
-
import { EditableLayer, EditableLayerProps } from
|
|
1
|
+
import type { DefaultProps } from '@deck.gl/core';
|
|
2
|
+
import { EditableLayer, EditableLayerProps } from "./editable-layer.js";
|
|
3
3
|
export type EditableH3ClusterLayerProps<DataT> = EditableLayerProps & {
|
|
4
4
|
data: DataT;
|
|
5
5
|
resolution?: number;
|
|
@@ -32,3 +32,4 @@ export declare 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":"AAMA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAMhD,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,14 +1,13 @@
|
|
|
1
1
|
// deck.gl-community
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
|
-
/* eslint-env browser */
|
|
5
4
|
import { H3ClusterLayer } from '@deck.gl/geo-layers';
|
|
6
5
|
// TODO: Fix H3 support.
|
|
7
6
|
// import { polyfill, geoToH3 } from 'h3-js';
|
|
8
|
-
import { PROJECTED_PIXEL_SIZE_MULTIPLIER } from
|
|
9
|
-
import { EditableGeoJsonLayer } from
|
|
10
|
-
import { EditableLayer } from
|
|
11
|
-
import { ViewMode } from
|
|
7
|
+
import { PROJECTED_PIXEL_SIZE_MULTIPLIER } from "../constants.js";
|
|
8
|
+
import { EditableGeoJsonLayer } from "./editable-geojson-layer.js";
|
|
9
|
+
import { EditableLayer } from "./editable-layer.js";
|
|
10
|
+
import { ViewMode } from "../edit-modes/view-mode.js";
|
|
12
11
|
const DEFAULT_EDIT_MODE = ViewMode;
|
|
13
12
|
const DEFAULT_H3_RESOLUTION = 9;
|
|
14
13
|
const EMPTY_FEATURE_COLLECTION = {
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import type { CompositeLayerProps } from '@deck.gl/core';
|
|
2
|
+
import { CompositeLayer } from '@deck.gl/core';
|
|
3
|
+
import { DraggingEvent, ClickEvent, StartDraggingEvent, StopDraggingEvent, PointerMoveEvent } from "../edit-modes/types.js";
|
|
4
|
+
import { Position } from "../utils/geojson-types.js";
|
|
4
5
|
export type EditableLayerProps<DataType = any> = CompositeLayerProps & {
|
|
5
6
|
pickingRadius?: number;
|
|
6
7
|
pickingDepth?: number;
|
|
8
|
+
onCancelPan?: () => void;
|
|
7
9
|
};
|
|
8
10
|
export declare abstract class EditableLayer<DataT = any, ExtraPropsT = Record<string, unknown>> extends CompositeLayer<ExtraPropsT & Required<EditableLayerProps<DataT>>> {
|
|
9
11
|
static layerName: string;
|
|
@@ -21,7 +23,7 @@ export declare abstract class EditableLayer<DataT = any, ExtraPropsT = Record<st
|
|
|
21
23
|
_addEventHandlers(): void;
|
|
22
24
|
_removeEventHandlers(): void;
|
|
23
25
|
_forwardEventToCurrentLayer(event: any): void;
|
|
24
|
-
|
|
26
|
+
_onclick({ srcEvent }: any): void;
|
|
25
27
|
_onkeyup({ srcEvent }: {
|
|
26
28
|
srcEvent: KeyboardEvent;
|
|
27
29
|
}): void;
|
|
@@ -47,3 +49,4 @@ export declare abstract class EditableLayer<DataT = any, ExtraPropsT = Record<st
|
|
|
47
49
|
getScreenCoords(pointerEvent: any): Position;
|
|
48
50
|
getMapCoords(screenCoords: Position): Position;
|
|
49
51
|
}
|
|
52
|
+
//# 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,KAAK,EAAC,mBAAmB,EAAC,MAAM,eAAe,CAAC;AACvD,OAAO,EAAC,cAAc,EAAC,MAAM,eAAe,CAAC;AAC7C,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;IACtB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;CAC1B,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,QAAQ,CAAC,EAAC,QAAQ,EAAC,EAAE,GAAG;IAcxB,QAAQ,CAAC,EAAC,QAAQ,EAAC,EAAE;QAAC,QAAQ,EAAE,aAAa,CAAA;KAAC;IAI9C,WAAW,CAAC,KAAK,EAAE,GAAG;IA+BtB,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"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
// deck.gl-community
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
|
-
/* eslint-env browser */
|
|
5
4
|
import { CompositeLayer } from '@deck.gl/core';
|
|
6
|
-
const EVENT_TYPES = ['
|
|
5
|
+
const EVENT_TYPES = ['click', 'pointermove', 'panstart', 'panmove', 'panend', 'keyup'];
|
|
7
6
|
export class EditableLayer extends CompositeLayer {
|
|
8
7
|
static layerName = 'EditableLayer';
|
|
9
8
|
state = undefined;
|
|
@@ -77,7 +76,7 @@ export class EditableLayer extends CompositeLayer {
|
|
|
77
76
|
}
|
|
78
77
|
func(event);
|
|
79
78
|
}
|
|
80
|
-
|
|
79
|
+
_onclick({ srcEvent }) {
|
|
81
80
|
const screenCoords = this.getScreenCoords(srcEvent);
|
|
82
81
|
const mapCoords = this.getMapCoords(screenCoords);
|
|
83
82
|
const picks = this.getPicks(screenCoords);
|
|
@@ -109,7 +108,12 @@ export class EditableLayer extends CompositeLayer {
|
|
|
109
108
|
mapCoords,
|
|
110
109
|
pointerDownScreenCoords: screenCoords,
|
|
111
110
|
pointerDownMapCoords: mapCoords,
|
|
112
|
-
cancelPan:
|
|
111
|
+
cancelPan: () => {
|
|
112
|
+
if (this.props.onCancelPan) {
|
|
113
|
+
this.props.onCancelPan();
|
|
114
|
+
}
|
|
115
|
+
event.stopImmediatePropagation();
|
|
116
|
+
},
|
|
113
117
|
sourceEvent: event.srcEvent
|
|
114
118
|
});
|
|
115
119
|
}
|
|
@@ -1,4 +1,16 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { PathLayerProps } from '@deck.gl/layers';
|
|
2
|
+
import { PathLayer } from '@deck.gl/layers';
|
|
3
|
+
export type PickingLineWidthProps = {
|
|
4
|
+
extraPixels: number;
|
|
5
|
+
};
|
|
6
|
+
export declare const pickingUniforms: {
|
|
7
|
+
readonly name: "pickingLineWidth";
|
|
8
|
+
readonly vs: "uniform pickingLineWidthUniforms {\n float extraPixels;\n} pickingLineWidth;\n";
|
|
9
|
+
readonly fs: "uniform pickingLineWidthUniforms {\n float extraPixels;\n} pickingLineWidth;\n";
|
|
10
|
+
readonly uniformTypes: {
|
|
11
|
+
readonly extraPixels: "f32";
|
|
12
|
+
};
|
|
13
|
+
};
|
|
2
14
|
interface EditablePathLayerProps extends PathLayerProps<any> {
|
|
3
15
|
pickingLineWidthExtraPixels?: number;
|
|
4
16
|
}
|
|
@@ -7,3 +19,4 @@ export declare class EditablePathLayer extends PathLayer<any, EditablePathLayerP
|
|
|
7
19
|
draw(props: any): void;
|
|
8
20
|
}
|
|
9
21
|
export {};
|
|
22
|
+
//# sourceMappingURL=editable-path-layer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"editable-path-layer.d.ts","sourceRoot":"","sources":["../../src/editable-layers/editable-path-layer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAW1C,MAAM,MAAM,qBAAqB,GAAG;IAClC,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;;CAO4B,CAAC;AAEzD,UAAU,sBAAuB,SAAQ,cAAc,CAAC,GAAG,CAAC;IAC1D,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACtC;AAOD,qBAAa,iBAAkB,SAAQ,SAAS,CAAC,GAAG,EAAE,sBAAsB,CAAC;IAC3E,UAAU;IAmBV,IAAI,CAAC,KAAK,KAAA;CAOX"}
|
|
@@ -2,7 +2,20 @@
|
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
4
|
import { PathLayer } from '@deck.gl/layers';
|
|
5
|
-
import { insertBefore } from
|
|
5
|
+
import { insertBefore } from "../utils/utils.js";
|
|
6
|
+
const uniformBlock = `\
|
|
7
|
+
uniform pickingLineWidthUniforms {
|
|
8
|
+
float extraPixels;
|
|
9
|
+
} pickingLineWidth;
|
|
10
|
+
`;
|
|
11
|
+
export const pickingUniforms = {
|
|
12
|
+
name: 'pickingLineWidth',
|
|
13
|
+
vs: uniformBlock,
|
|
14
|
+
fs: uniformBlock,
|
|
15
|
+
uniformTypes: {
|
|
16
|
+
extraPixels: 'f32'
|
|
17
|
+
}
|
|
18
|
+
};
|
|
6
19
|
const defaultProps = {
|
|
7
20
|
...PathLayer.defaultProps,
|
|
8
21
|
pickingLineWidthExtraPixels: { type: 'number', min: 0, value: Number.MAX_SAFE_INTEGER }
|
|
@@ -12,25 +25,20 @@ export class EditablePathLayer extends PathLayer {
|
|
|
12
25
|
const shaders = super.getShaders();
|
|
13
26
|
shaders.vs = insertBefore(shaders.vs, 'vec3 width;', `
|
|
14
27
|
if(bool(picking.isActive)){
|
|
15
|
-
widthPixels.xy +=
|
|
28
|
+
widthPixels.xy += pickingLineWidth.extraPixels;
|
|
16
29
|
}
|
|
17
30
|
`);
|
|
18
31
|
return {
|
|
19
32
|
...shaders,
|
|
20
|
-
|
|
21
|
-
...(shaders.inject || {}),
|
|
22
|
-
'vs:#decl': (shaders.inject?.['vs:#decl'] || '').concat('uniform float pickingLineWidthExtraPixels;')
|
|
23
|
-
}
|
|
33
|
+
modules: [...shaders.modules, pickingUniforms]
|
|
24
34
|
};
|
|
25
35
|
}
|
|
26
36
|
draw(props) {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
}
|
|
33
|
-
});
|
|
37
|
+
const { pickingLineWidthExtraPixels } = this.props;
|
|
38
|
+
const pickingProps = { extraPixels: pickingLineWidthExtraPixels };
|
|
39
|
+
const model = this.state.model;
|
|
40
|
+
model.shaderInputs.setProps({ pickingLineWidth: pickingProps });
|
|
41
|
+
super.draw(props);
|
|
34
42
|
}
|
|
35
43
|
}
|
|
36
44
|
EditablePathLayer.defaultProps = defaultProps;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"elevated-edit-handle-layer.d.ts","sourceRoot":"","sources":["../../src/editable-layers/elevated-edit-handle-layer.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,cAAc,EAAC,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAC,gBAAgB,EAAE,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAI5D,qBAAa,uBAAwB,SAAQ,cAAc,CAAC,GAAG,CAAC;IAC9D,MAAM,CAAC,SAAS,SAA6B;IAC7C,MAAM,CAAC,YAAY,KAAgB;IACnC,YAAY;CAsBb"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import type { CompositeLayerProps, DefaultProps } from '@deck.gl/core';
|
|
2
|
+
import { CompositeLayer } from '@deck.gl/core';
|
|
3
|
+
import type { ScatterplotLayerProps } from '@deck.gl/layers';
|
|
4
|
+
import { ScatterplotLayer } from '@deck.gl/layers';
|
|
5
|
+
import { Color } from "../utils/types.js";
|
|
4
6
|
type JunctionScatterplotLayerProps = CompositeLayerProps & Omit<ScatterplotLayerProps, 'getFillColor'> & {
|
|
5
7
|
getFillColor?: Color | ((d: any) => Color);
|
|
6
8
|
getStrokeColor?: Color | ((d: any) => Color);
|
|
@@ -12,3 +14,4 @@ export declare class JunctionScatterplotLayer extends CompositeLayer<JunctionSca
|
|
|
12
14
|
renderLayers(): ScatterplotLayer<any, {}>[];
|
|
13
15
|
}
|
|
14
16
|
export {};
|
|
17
|
+
//# sourceMappingURL=junction-scatterplot-layer.d.ts.map
|