terra-draw 1.5.0 → 1.6.0
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/README.md +2 -2
- package/dist/common/base.adapter.d.ts +2 -1
- package/dist/common.d.ts +9 -0
- package/dist/modes/base.mode.d.ts +21 -0
- package/dist/modes/linestring/linestring.mode.d.ts +1 -1
- package/dist/modes/point/point.mode.d.ts +1 -1
- package/dist/modes/polygon/polygon.mode.d.ts +3 -2
- package/dist/modes/select/select.mode.d.ts +1 -1
- package/dist/terra-draw.cjs +1 -1
- package/dist/terra-draw.cjs.map +1 -1
- package/dist/terra-draw.d.ts +2 -2
- package/dist/terra-draw.modern.js +1 -1
- package/dist/terra-draw.modern.js.map +1 -1
- package/dist/terra-draw.module.js +1 -1
- package/dist/terra-draw.module.js.map +1 -1
- package/dist/terra-draw.umd.js +1 -1
- package/dist/terra-draw.umd.js.map +1 -1
- package/dist/test/mock-cursor-event.d.ts +2 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -17,10 +17,10 @@ Terra Draw centralizes map drawing logic and provides a host of out-of-the-box d
|
|
|
17
17
|
|
|
18
18
|
Terra Draw works with your mapping library of choice via adapters. Please pick the adapter for the mapping library you are working with:
|
|
19
19
|
|
|
20
|
-
* [terra-draw-maplibre-gl-
|
|
20
|
+
* [terra-draw-maplibre-gl-adapter](https://www.npmjs.com/package/terra-draw-maplibre-gl-adapter)
|
|
21
21
|
* [terra-draw-leaflet-adapter](https://www.npmjs.com/package/terra-draw-leaflet-adapter)
|
|
22
22
|
* [terra-draw-google-maps-adapter](https://www.npmjs.com/package/terra-draw-googl-emaps-adapter)
|
|
23
|
-
* [terra-draw-mapbox-gl-
|
|
23
|
+
* [terra-draw-mapbox-gl-adapter](https://www.npmjs.com/package/terra-draw-mapbox-gl-adapter)
|
|
24
24
|
* [terra-draw-google-maps-adapter](https://www.npmjs.com/package/terra-draw-google-maps-adapter)
|
|
25
25
|
* [terra-draw-arcgis-adapter](https://www.npmjs.com/package/terra-draw-arcgis-adapter)
|
|
26
26
|
|
|
@@ -11,6 +11,7 @@ export type BaseAdapterConfig = {
|
|
|
11
11
|
};
|
|
12
12
|
export declare abstract class TerraDrawBaseAdapter implements TerraDrawAdapter {
|
|
13
13
|
constructor(config: BaseAdapterConfig);
|
|
14
|
+
private _nextKeyUpIsContextMenu;
|
|
14
15
|
protected _minPixelDragDistance: number;
|
|
15
16
|
protected _minPixelDragDistanceDrawing: number;
|
|
16
17
|
protected _minPixelDragDistanceSelecting: number;
|
|
@@ -26,7 +27,7 @@ export declare abstract class TerraDrawBaseAdapter implements TerraDrawAdapter {
|
|
|
26
27
|
containerX: number;
|
|
27
28
|
containerY: number;
|
|
28
29
|
};
|
|
29
|
-
protected getDrawEventFromEvent(event: PointerEvent | MouseEvent): TerraDrawMouseEvent | null;
|
|
30
|
+
protected getDrawEventFromEvent(event: PointerEvent | MouseEvent, isContextMenu?: boolean): TerraDrawMouseEvent | null;
|
|
30
31
|
/**
|
|
31
32
|
* Registers the provided callbacks for the current drawing mode and attaches
|
|
32
33
|
* the necessary event listeners.
|
package/dist/common.d.ts
CHANGED
|
@@ -26,6 +26,7 @@ export interface TerraDrawMouseEvent {
|
|
|
26
26
|
containerY: number;
|
|
27
27
|
button: "neither" | "left" | "middle" | "right";
|
|
28
28
|
heldKeys: string[];
|
|
29
|
+
isContextMenu: boolean;
|
|
29
30
|
}
|
|
30
31
|
export interface TerraDrawKeyboardEvent {
|
|
31
32
|
key: string;
|
|
@@ -122,6 +123,14 @@ export declare const COMMON_PROPERTIES: {
|
|
|
122
123
|
CLOSING_POINT: string;
|
|
123
124
|
SNAPPING_POINT: string;
|
|
124
125
|
COORDINATE_POINT: string;
|
|
126
|
+
COORDINATE_POINT_FEATURE_ID: string;
|
|
125
127
|
COORDINATE_POINT_IDS: string;
|
|
126
128
|
};
|
|
129
|
+
export declare const Z_INDEX: {
|
|
130
|
+
readonly LAYER_ONE: 10;
|
|
131
|
+
readonly LAYER_TWO: 20;
|
|
132
|
+
readonly LAYER_THREE: 30;
|
|
133
|
+
readonly LAYER_FOUR: 40;
|
|
134
|
+
readonly LAYER_FIVE: 50;
|
|
135
|
+
};
|
|
127
136
|
export {};
|
|
@@ -8,11 +8,29 @@ export declare enum ModeTypes {
|
|
|
8
8
|
Static = "static",
|
|
9
9
|
Render = "render"
|
|
10
10
|
}
|
|
11
|
+
export declare const DefaultPointerEvents: {
|
|
12
|
+
readonly rightClick: true;
|
|
13
|
+
readonly contextMenu: false;
|
|
14
|
+
readonly leftClick: true;
|
|
15
|
+
readonly onDragStart: true;
|
|
16
|
+
readonly onDrag: true;
|
|
17
|
+
readonly onDragEnd: true;
|
|
18
|
+
};
|
|
19
|
+
type AllowPointerEvent = boolean | ((event: TerraDrawMouseEvent) => boolean);
|
|
20
|
+
export interface PointerEvents {
|
|
21
|
+
leftClick: AllowPointerEvent;
|
|
22
|
+
rightClick: AllowPointerEvent;
|
|
23
|
+
contextMenu: AllowPointerEvent;
|
|
24
|
+
onDragStart: AllowPointerEvent;
|
|
25
|
+
onDrag: AllowPointerEvent;
|
|
26
|
+
onDragEnd: AllowPointerEvent;
|
|
27
|
+
}
|
|
11
28
|
export type BaseModeOptions<Styling extends CustomStyling> = {
|
|
12
29
|
styles?: Partial<Styling>;
|
|
13
30
|
pointerDistance?: number;
|
|
14
31
|
validation?: Validation;
|
|
15
32
|
projection?: Projection;
|
|
33
|
+
pointerEvents?: PointerEvents;
|
|
16
34
|
};
|
|
17
35
|
export declare abstract class TerraDrawBaseDrawMode<Styling extends CustomStyling> {
|
|
18
36
|
protected _state: TerraDrawModeState;
|
|
@@ -21,6 +39,7 @@ export declare abstract class TerraDrawBaseDrawMode<Styling extends CustomStylin
|
|
|
21
39
|
protected _styles: Partial<Styling>;
|
|
22
40
|
get styles(): Partial<Styling>;
|
|
23
41
|
set styles(styling: Partial<Styling>);
|
|
42
|
+
protected pointerEvents: PointerEvents;
|
|
24
43
|
protected behaviors: TerraDrawModeBehavior[];
|
|
25
44
|
protected validate: Validation | undefined;
|
|
26
45
|
protected pointerDistance: number;
|
|
@@ -35,6 +54,7 @@ export declare abstract class TerraDrawBaseDrawMode<Styling extends CustomStylin
|
|
|
35
54
|
protected registerBehaviors(behaviorConfig: BehaviorConfig): void;
|
|
36
55
|
constructor(options?: BaseModeOptions<Styling>, willCallUpdateOptionsInParentClass?: boolean);
|
|
37
56
|
updateOptions(options?: BaseModeOptions<Styling>): void;
|
|
57
|
+
protected allowPointerEvent(pointerEvent: AllowPointerEvent, event: TerraDrawMouseEvent): boolean;
|
|
38
58
|
type: ModeTypes;
|
|
39
59
|
mode: string;
|
|
40
60
|
protected setDrawing(): void;
|
|
@@ -68,3 +88,4 @@ export declare abstract class TerraDrawBaseSelectMode<Styling extends CustomStyl
|
|
|
68
88
|
abstract selectFeature(featureId: FeatureId): void;
|
|
69
89
|
abstract deselectFeature(featureId: FeatureId): void;
|
|
70
90
|
}
|
|
91
|
+
export {};
|
|
@@ -93,7 +93,7 @@ export declare class TerraDrawLineStringMode extends TerraDrawBaseDrawMode<LineS
|
|
|
93
93
|
/** @internal */
|
|
94
94
|
onDrag(event: TerraDrawMouseEvent, setMapDraggability: (enabled: boolean) => void): void;
|
|
95
95
|
/** @internal */
|
|
96
|
-
onDragEnd(
|
|
96
|
+
onDragEnd(event: TerraDrawMouseEvent, setMapDraggability: (enabled: boolean) => void): void;
|
|
97
97
|
/** @internal */
|
|
98
98
|
cleanUp(): void;
|
|
99
99
|
/** @internal */
|
|
@@ -48,7 +48,7 @@ export declare class TerraDrawPointMode extends TerraDrawBaseDrawMode<PointModeS
|
|
|
48
48
|
/** @internal */
|
|
49
49
|
onDrag(event: TerraDrawMouseEvent, setMapDraggability: (enabled: boolean) => void): void;
|
|
50
50
|
/** @internal */
|
|
51
|
-
onDragEnd(
|
|
51
|
+
onDragEnd(event: TerraDrawMouseEvent, setMapDraggability: (enabled: boolean) => void): void;
|
|
52
52
|
registerBehaviors(config: BehaviorConfig): void;
|
|
53
53
|
/** @internal */
|
|
54
54
|
styleFeature(feature: GeoJSONStoreFeatures): TerraDrawAdapterStyling;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { TerraDrawMouseEvent, TerraDrawAdapterStyling, TerraDrawKeyboardEvent, HexColorStyling, NumericStyling, Cursor, Project, Unproject } from "../../common";
|
|
2
2
|
import { Polygon, Position } from "geojson";
|
|
3
|
-
import { TerraDrawBaseDrawMode, BaseModeOptions, CustomStyling } from "../base.mode";
|
|
3
|
+
import { TerraDrawBaseDrawMode, BaseModeOptions, CustomStyling, PointerEvents } from "../base.mode";
|
|
4
4
|
import { BehaviorConfig } from "../base.behavior";
|
|
5
5
|
import { FeatureId, GeoJSONStoreFeatures, StoreValidation } from "../../store/store";
|
|
6
6
|
type TerraDrawPolygonModeKeyEvents = {
|
|
@@ -50,6 +50,7 @@ interface TerraDrawPolygonModeOptions<T extends CustomStyling> extends BaseModeO
|
|
|
50
50
|
snapping?: Snapping;
|
|
51
51
|
pointerDistance?: number;
|
|
52
52
|
keyEvents?: TerraDrawPolygonModeKeyEvents | null;
|
|
53
|
+
pointerEvents?: PointerEvents;
|
|
53
54
|
cursors?: Cursors;
|
|
54
55
|
editable?: boolean;
|
|
55
56
|
showCoordinatePoints?: boolean;
|
|
@@ -102,7 +103,7 @@ export declare class TerraDrawPolygonMode extends TerraDrawBaseDrawMode<PolygonS
|
|
|
102
103
|
/** @internal */
|
|
103
104
|
onDrag(event: TerraDrawMouseEvent, setMapDraggability: (enabled: boolean) => void): void;
|
|
104
105
|
/** @internal */
|
|
105
|
-
onDragEnd(
|
|
106
|
+
onDragEnd(event: TerraDrawMouseEvent, setMapDraggability: (enabled: boolean) => void): void;
|
|
106
107
|
/** @internal */
|
|
107
108
|
cleanUp(): void;
|
|
108
109
|
/** @internal */
|
|
@@ -117,7 +117,7 @@ export declare class TerraDrawSelectMode extends TerraDrawBaseSelectMode<Selecti
|
|
|
117
117
|
/** @internal */
|
|
118
118
|
onDrag(event: TerraDrawMouseEvent, setMapDraggability: (enabled: boolean) => void): void;
|
|
119
119
|
/** @internal */
|
|
120
|
-
onDragEnd(
|
|
120
|
+
onDragEnd(event: TerraDrawMouseEvent, setMapDraggability: (enabled: boolean) => void): void;
|
|
121
121
|
/** @internal */
|
|
122
122
|
onMouseMove(event: TerraDrawMouseEvent): void;
|
|
123
123
|
/** @internal */
|