terra-draw 0.0.1-alpha.21 → 0.0.1-alpha.23
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/CHANGELOG.md +48 -0
- package/README.md +10 -16
- package/dist/adapters/common/adapter-listener.d.ts +22 -14
- package/dist/adapters/common/base-adapter.d.ts +31 -0
- package/dist/adapters/common/base.adapter.d.ts +45 -0
- package/dist/adapters/google-maps.adapter.d.ts +80 -31
- package/dist/adapters/leaflet.adapter.d.ts +78 -30
- package/dist/adapters/mapbox-gl.adapter.d.ts +75 -34
- package/dist/adapters/maplibre-gl.adapter.d.ts +65 -20
- package/dist/adapters/openlayers.adapter.d.ts +107 -55
- package/dist/common.d.ts +100 -100
- package/dist/geometry/boolean/point-in-polygon.d.ts +2 -2
- package/dist/geometry/boolean/self-intersects.d.ts +2 -2
- package/dist/geometry/centroid.d.ts +2 -2
- package/dist/geometry/coordinates-identical.d.ts +2 -2
- package/dist/geometry/get-coordinates-as-points.d.ts +6 -6
- package/dist/geometry/get-midpoints.d.ts +8 -8
- package/dist/geometry/helpers.d.ts +4 -4
- package/dist/geometry/limit-decimal-precision.d.ts +1 -1
- package/dist/geometry/measure/haversine-distance.d.ts +2 -2
- package/dist/geometry/measure/pixel-distance-to-line.d.ts +10 -10
- package/dist/geometry/measure/pixel-distance.d.ts +7 -7
- package/dist/geometry/measure/rhumb-bearing.d.ts +2 -2
- package/dist/geometry/measure/rhumb-destination.d.ts +2 -2
- package/dist/geometry/measure/rhumb-distance.d.ts +2 -2
- package/dist/geometry/midpoint-coordinate.d.ts +3 -3
- package/dist/geometry/shape/create-circle.d.ts +8 -8
- package/dist/geometry/shape/great-circle-line.d.ts +12 -12
- package/dist/geometry/transform/rotate.d.ts +2 -2
- package/dist/geometry/transform/scale.d.ts +2 -2
- package/dist/modes/base.behavior.d.ts +19 -19
- package/dist/modes/base.mode.d.ts +37 -34
- package/dist/modes/circle/circle.mode.d.ts +48 -48
- package/dist/modes/click-bounding-box.behavior.d.ts +7 -7
- package/dist/modes/freehand/freehand.mode.d.ts +54 -54
- package/dist/modes/great-circle-snapping.behavior.d.ts +13 -13
- package/dist/modes/greatcircle/great-circle.mode.d.ts +57 -57
- package/dist/modes/linestring/linestring.mode.d.ts +60 -60
- package/dist/modes/pixel-distance.behavior.d.ts +7 -7
- package/dist/modes/point/point.mode.d.ts +38 -38
- package/dist/modes/polygon/behaviors/closing-points.behavior.d.ts +19 -19
- package/dist/modes/polygon/polygon.mode.d.ts +63 -63
- package/dist/modes/rectangle/rectangle.mode.d.ts +48 -48
- package/dist/modes/render/render.mode.d.ts +34 -34
- package/dist/modes/select/behaviors/drag-coordinate.behavior.d.ts +13 -13
- package/dist/modes/select/behaviors/drag-feature.behavior.d.ts +17 -17
- package/dist/modes/select/behaviors/features-at-mouse-event.behavior.d.ts +15 -15
- package/dist/modes/select/behaviors/midpoint.behavior.d.ts +18 -18
- package/dist/modes/select/behaviors/rotate-feature.behavior.d.ts +13 -13
- package/dist/modes/select/behaviors/scale-feature.behavior.d.ts +13 -13
- package/dist/modes/select/behaviors/selection-point.behavior.d.ts +18 -18
- package/dist/modes/select/select.mode.d.ts +89 -89
- package/dist/modes/snapping.behavior.d.ts +13 -13
- package/dist/modes/static/static.mode.d.ts +30 -30
- package/dist/store/spatial-index/quickselect.d.ts +2 -2
- package/dist/store/spatial-index/rbush.d.ts +35 -35
- package/dist/store/spatial-index/spatial-index.d.ts +18 -18
- package/dist/store/store.d.ts +50 -50
- package/dist/terra-draw.cjs +1 -1
- package/dist/terra-draw.cjs.map +1 -1
- package/dist/terra-draw.d.ts +129 -129
- 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/util/geoms.d.ts +3 -3
- package/dist/util/id.d.ts +1 -1
- package/dist/util/styling.d.ts +2 -2
- package/{CONTRIBUTING.md → guides/CONTRIBUTING.md} +7 -7
- package/guides/DEVELOPMENT.md +156 -0
- package/guides/GETTING_STARTED.md +211 -0
- package/package.json +6 -6
- package/scratch/release.sh +4 -2
- package/tsconfig.json +0 -1
- package/DEVELOPMENT.md +0 -77
- /package/{CODE_OF_CONDUCT.md → guides/CODE_OF_CONDUCT.md} +0 -0
|
@@ -1,34 +1,37 @@
|
|
|
1
|
-
import { BehaviorConfig, TerraDrawModeBehavior } from "./base.behavior";
|
|
2
|
-
import { TerraDrawModeRegisterConfig, TerraDrawModeState } from "../common";
|
|
3
|
-
import { GeoJSONStore, GeoJSONStoreFeatures } from "../store/store";
|
|
4
|
-
type CustomStyling = Record<string, string | number>;
|
|
5
|
-
export declare abstract class TerraDrawBaseDrawMode<T extends CustomStyling> {
|
|
6
|
-
protected _state: TerraDrawModeState;
|
|
7
|
-
get state(): TerraDrawModeState;
|
|
8
|
-
set state(_: TerraDrawModeState);
|
|
9
|
-
protected _styles: Partial<T>;
|
|
10
|
-
get styles(): Partial<T>;
|
|
11
|
-
set styles(styling: Partial<T>);
|
|
12
|
-
protected behaviors: TerraDrawModeBehavior[];
|
|
13
|
-
protected pointerDistance: number;
|
|
14
|
-
protected coordinatePrecision: number;
|
|
15
|
-
protected onStyleChange:
|
|
16
|
-
protected store: GeoJSONStore;
|
|
17
|
-
protected setDoubleClickToZoom: TerraDrawModeRegisterConfig["setDoubleClickToZoom"];
|
|
18
|
-
protected unproject: TerraDrawModeRegisterConfig["unproject"];
|
|
19
|
-
protected project: TerraDrawModeRegisterConfig["project"];
|
|
20
|
-
protected setCursor: TerraDrawModeRegisterConfig["setCursor"];
|
|
21
|
-
protected registerBehaviors(behaviorConfig: BehaviorConfig): void;
|
|
22
|
-
constructor(options?: {
|
|
23
|
-
styles?: Partial<T>;
|
|
24
|
-
pointerDistance?: number;
|
|
25
|
-
coordinatePrecision?: number;
|
|
26
|
-
});
|
|
27
|
-
protected
|
|
28
|
-
protected
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
1
|
+
import { BehaviorConfig, TerraDrawModeBehavior } from "./base.behavior";
|
|
2
|
+
import { TerraDrawModeRegisterConfig, TerraDrawModeState } from "../common";
|
|
3
|
+
import { GeoJSONStore, GeoJSONStoreFeatures, StoreChangeHandler } from "../store/store";
|
|
4
|
+
type CustomStyling = Record<string, string | number>;
|
|
5
|
+
export declare abstract class TerraDrawBaseDrawMode<T extends CustomStyling> {
|
|
6
|
+
protected _state: TerraDrawModeState;
|
|
7
|
+
get state(): TerraDrawModeState;
|
|
8
|
+
set state(_: TerraDrawModeState);
|
|
9
|
+
protected _styles: Partial<T>;
|
|
10
|
+
get styles(): Partial<T>;
|
|
11
|
+
set styles(styling: Partial<T>);
|
|
12
|
+
protected behaviors: TerraDrawModeBehavior[];
|
|
13
|
+
protected pointerDistance: number;
|
|
14
|
+
protected coordinatePrecision: number;
|
|
15
|
+
protected onStyleChange: StoreChangeHandler;
|
|
16
|
+
protected store: GeoJSONStore;
|
|
17
|
+
protected setDoubleClickToZoom: TerraDrawModeRegisterConfig["setDoubleClickToZoom"];
|
|
18
|
+
protected unproject: TerraDrawModeRegisterConfig["unproject"];
|
|
19
|
+
protected project: TerraDrawModeRegisterConfig["project"];
|
|
20
|
+
protected setCursor: TerraDrawModeRegisterConfig["setCursor"];
|
|
21
|
+
protected registerBehaviors(behaviorConfig: BehaviorConfig): void;
|
|
22
|
+
constructor(options?: {
|
|
23
|
+
styles?: Partial<T>;
|
|
24
|
+
pointerDistance?: number;
|
|
25
|
+
coordinatePrecision?: number;
|
|
26
|
+
});
|
|
27
|
+
protected abstract start(): void;
|
|
28
|
+
protected abstract stop(): void;
|
|
29
|
+
protected setDrawing(): void;
|
|
30
|
+
protected setStarted(): void;
|
|
31
|
+
protected setStopped(): void;
|
|
32
|
+
register(config: TerraDrawModeRegisterConfig): void;
|
|
33
|
+
onDeselect(deselectedId: string): void;
|
|
34
|
+
onSelect(selectedId: string): void;
|
|
35
|
+
styleFeature(feature: GeoJSONStoreFeatures): void;
|
|
36
|
+
}
|
|
37
|
+
export {};
|
|
@@ -1,48 +1,48 @@
|
|
|
1
|
-
import { TerraDrawMouseEvent, TerraDrawAdapterStyling, TerraDrawKeyboardEvent, HexColor } from "../../common";
|
|
2
|
-
import { GeoJSONStoreFeatures } from "../../store/store";
|
|
3
|
-
import { TerraDrawBaseDrawMode } from "../base.mode";
|
|
4
|
-
type TerraDrawCircleModeKeyEvents = {
|
|
5
|
-
cancel: KeyboardEvent["key"] | null;
|
|
6
|
-
finish: KeyboardEvent["key"] | null;
|
|
7
|
-
};
|
|
8
|
-
type FreehandPolygonStyling = {
|
|
9
|
-
fillColor: HexColor;
|
|
10
|
-
outlineColor: HexColor;
|
|
11
|
-
outlineWidth: number;
|
|
12
|
-
fillOpacity: number;
|
|
13
|
-
};
|
|
14
|
-
export declare class TerraDrawCircleMode extends TerraDrawBaseDrawMode<FreehandPolygonStyling> {
|
|
15
|
-
mode: string;
|
|
16
|
-
private center;
|
|
17
|
-
private clickCount;
|
|
18
|
-
private currentCircleId;
|
|
19
|
-
private keyEvents;
|
|
20
|
-
constructor(options?: {
|
|
21
|
-
styles?: Partial<FreehandPolygonStyling>;
|
|
22
|
-
keyEvents?: TerraDrawCircleModeKeyEvents | null;
|
|
23
|
-
});
|
|
24
|
-
private close;
|
|
25
|
-
/** @internal */
|
|
26
|
-
start(): void;
|
|
27
|
-
/** @internal */
|
|
28
|
-
stop(): void;
|
|
29
|
-
/** @internal */
|
|
30
|
-
onClick(event: TerraDrawMouseEvent): void;
|
|
31
|
-
/** @internal */
|
|
32
|
-
onMouseMove(event: TerraDrawMouseEvent): void;
|
|
33
|
-
/** @internal */
|
|
34
|
-
onKeyDown(): void;
|
|
35
|
-
/** @internal */
|
|
36
|
-
onKeyUp(event: TerraDrawKeyboardEvent): void;
|
|
37
|
-
/** @internal */
|
|
38
|
-
onDragStart(): void;
|
|
39
|
-
/** @internal */
|
|
40
|
-
onDrag(): void;
|
|
41
|
-
/** @internal */
|
|
42
|
-
onDragEnd(): void;
|
|
43
|
-
/** @internal */
|
|
44
|
-
cleanUp(): void;
|
|
45
|
-
/** @internal */
|
|
46
|
-
styleFeature(feature: GeoJSONStoreFeatures): TerraDrawAdapterStyling;
|
|
47
|
-
}
|
|
48
|
-
export {};
|
|
1
|
+
import { TerraDrawMouseEvent, TerraDrawAdapterStyling, TerraDrawKeyboardEvent, HexColor } from "../../common";
|
|
2
|
+
import { GeoJSONStoreFeatures } from "../../store/store";
|
|
3
|
+
import { TerraDrawBaseDrawMode } from "../base.mode";
|
|
4
|
+
type TerraDrawCircleModeKeyEvents = {
|
|
5
|
+
cancel: KeyboardEvent["key"] | null;
|
|
6
|
+
finish: KeyboardEvent["key"] | null;
|
|
7
|
+
};
|
|
8
|
+
type FreehandPolygonStyling = {
|
|
9
|
+
fillColor: HexColor;
|
|
10
|
+
outlineColor: HexColor;
|
|
11
|
+
outlineWidth: number;
|
|
12
|
+
fillOpacity: number;
|
|
13
|
+
};
|
|
14
|
+
export declare class TerraDrawCircleMode extends TerraDrawBaseDrawMode<FreehandPolygonStyling> {
|
|
15
|
+
mode: string;
|
|
16
|
+
private center;
|
|
17
|
+
private clickCount;
|
|
18
|
+
private currentCircleId;
|
|
19
|
+
private keyEvents;
|
|
20
|
+
constructor(options?: {
|
|
21
|
+
styles?: Partial<FreehandPolygonStyling>;
|
|
22
|
+
keyEvents?: TerraDrawCircleModeKeyEvents | null;
|
|
23
|
+
});
|
|
24
|
+
private close;
|
|
25
|
+
/** @internal */
|
|
26
|
+
start(): void;
|
|
27
|
+
/** @internal */
|
|
28
|
+
stop(): void;
|
|
29
|
+
/** @internal */
|
|
30
|
+
onClick(event: TerraDrawMouseEvent): void;
|
|
31
|
+
/** @internal */
|
|
32
|
+
onMouseMove(event: TerraDrawMouseEvent): void;
|
|
33
|
+
/** @internal */
|
|
34
|
+
onKeyDown(): void;
|
|
35
|
+
/** @internal */
|
|
36
|
+
onKeyUp(event: TerraDrawKeyboardEvent): void;
|
|
37
|
+
/** @internal */
|
|
38
|
+
onDragStart(): void;
|
|
39
|
+
/** @internal */
|
|
40
|
+
onDrag(): void;
|
|
41
|
+
/** @internal */
|
|
42
|
+
onDragEnd(): void;
|
|
43
|
+
/** @internal */
|
|
44
|
+
cleanUp(): void;
|
|
45
|
+
/** @internal */
|
|
46
|
+
styleFeature(feature: GeoJSONStoreFeatures): TerraDrawAdapterStyling;
|
|
47
|
+
}
|
|
48
|
+
export {};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Feature, Polygon } from "geojson";
|
|
2
|
-
import { BehaviorConfig, TerraDrawModeBehavior } from "./base.behavior";
|
|
3
|
-
import { TerraDrawMouseEvent } from "../common";
|
|
4
|
-
export declare class ClickBoundingBoxBehavior extends TerraDrawModeBehavior {
|
|
5
|
-
constructor(config: BehaviorConfig);
|
|
6
|
-
create(event: TerraDrawMouseEvent): Feature<Polygon, import("geojson").GeoJsonProperties>;
|
|
7
|
-
}
|
|
1
|
+
import { Feature, Polygon } from "geojson";
|
|
2
|
+
import { BehaviorConfig, TerraDrawModeBehavior } from "./base.behavior";
|
|
3
|
+
import { TerraDrawMouseEvent } from "../common";
|
|
4
|
+
export declare class ClickBoundingBoxBehavior extends TerraDrawModeBehavior {
|
|
5
|
+
constructor(config: BehaviorConfig);
|
|
6
|
+
create(event: TerraDrawMouseEvent): Feature<Polygon, import("geojson").GeoJsonProperties>;
|
|
7
|
+
}
|
|
@@ -1,54 +1,54 @@
|
|
|
1
|
-
import { TerraDrawMouseEvent, TerraDrawAdapterStyling, TerraDrawKeyboardEvent, HexColor } from "../../common";
|
|
2
|
-
import { TerraDrawBaseDrawMode } from "../base.mode";
|
|
3
|
-
import { GeoJSONStoreFeatures } from "../../store/store";
|
|
4
|
-
type TerraDrawFreehandModeKeyEvents = {
|
|
5
|
-
cancel: KeyboardEvent["key"] | null;
|
|
6
|
-
finish: KeyboardEvent["key"] | null;
|
|
7
|
-
};
|
|
8
|
-
type FreehandPolygonStyling = {
|
|
9
|
-
fillColor: HexColor;
|
|
10
|
-
outlineColor: HexColor;
|
|
11
|
-
outlineWidth: number;
|
|
12
|
-
fillOpacity: number;
|
|
13
|
-
closingPointColor: HexColor;
|
|
14
|
-
closingPointWidth: number;
|
|
15
|
-
closingPointOutlineColor: HexColor;
|
|
16
|
-
closingPointOutlineWidth: number;
|
|
17
|
-
};
|
|
18
|
-
export declare class TerraDrawFreehandMode extends TerraDrawBaseDrawMode<FreehandPolygonStyling> {
|
|
19
|
-
mode: string;
|
|
20
|
-
private startingClick;
|
|
21
|
-
private currentId;
|
|
22
|
-
private closingPointId;
|
|
23
|
-
private minDistance;
|
|
24
|
-
private keyEvents;
|
|
25
|
-
constructor(options?: {
|
|
26
|
-
styles?: Partial<FreehandPolygonStyling>;
|
|
27
|
-
minDistance?: number;
|
|
28
|
-
keyEvents?: TerraDrawFreehandModeKeyEvents | null;
|
|
29
|
-
});
|
|
30
|
-
private close;
|
|
31
|
-
/** @internal */
|
|
32
|
-
start(): void;
|
|
33
|
-
/** @internal */
|
|
34
|
-
stop(): void;
|
|
35
|
-
/** @internal */
|
|
36
|
-
onMouseMove(event: TerraDrawMouseEvent): void;
|
|
37
|
-
/** @internal */
|
|
38
|
-
onClick(event: TerraDrawMouseEvent): void;
|
|
39
|
-
/** @internal */
|
|
40
|
-
onKeyDown(): void;
|
|
41
|
-
/** @internal */
|
|
42
|
-
onKeyUp(event: TerraDrawKeyboardEvent): void;
|
|
43
|
-
/** @internal */
|
|
44
|
-
onDragStart(): void;
|
|
45
|
-
/** @internal */
|
|
46
|
-
onDrag(): void;
|
|
47
|
-
/** @internal */
|
|
48
|
-
onDragEnd(): void;
|
|
49
|
-
/** @internal */
|
|
50
|
-
cleanUp(): void;
|
|
51
|
-
/** @internal */
|
|
52
|
-
styleFeature(feature: GeoJSONStoreFeatures): TerraDrawAdapterStyling;
|
|
53
|
-
}
|
|
54
|
-
export {};
|
|
1
|
+
import { TerraDrawMouseEvent, TerraDrawAdapterStyling, TerraDrawKeyboardEvent, HexColor } from "../../common";
|
|
2
|
+
import { TerraDrawBaseDrawMode } from "../base.mode";
|
|
3
|
+
import { GeoJSONStoreFeatures } from "../../store/store";
|
|
4
|
+
type TerraDrawFreehandModeKeyEvents = {
|
|
5
|
+
cancel: KeyboardEvent["key"] | null;
|
|
6
|
+
finish: KeyboardEvent["key"] | null;
|
|
7
|
+
};
|
|
8
|
+
type FreehandPolygonStyling = {
|
|
9
|
+
fillColor: HexColor;
|
|
10
|
+
outlineColor: HexColor;
|
|
11
|
+
outlineWidth: number;
|
|
12
|
+
fillOpacity: number;
|
|
13
|
+
closingPointColor: HexColor;
|
|
14
|
+
closingPointWidth: number;
|
|
15
|
+
closingPointOutlineColor: HexColor;
|
|
16
|
+
closingPointOutlineWidth: number;
|
|
17
|
+
};
|
|
18
|
+
export declare class TerraDrawFreehandMode extends TerraDrawBaseDrawMode<FreehandPolygonStyling> {
|
|
19
|
+
mode: string;
|
|
20
|
+
private startingClick;
|
|
21
|
+
private currentId;
|
|
22
|
+
private closingPointId;
|
|
23
|
+
private minDistance;
|
|
24
|
+
private keyEvents;
|
|
25
|
+
constructor(options?: {
|
|
26
|
+
styles?: Partial<FreehandPolygonStyling>;
|
|
27
|
+
minDistance?: number;
|
|
28
|
+
keyEvents?: TerraDrawFreehandModeKeyEvents | null;
|
|
29
|
+
});
|
|
30
|
+
private close;
|
|
31
|
+
/** @internal */
|
|
32
|
+
start(): void;
|
|
33
|
+
/** @internal */
|
|
34
|
+
stop(): void;
|
|
35
|
+
/** @internal */
|
|
36
|
+
onMouseMove(event: TerraDrawMouseEvent): void;
|
|
37
|
+
/** @internal */
|
|
38
|
+
onClick(event: TerraDrawMouseEvent): void;
|
|
39
|
+
/** @internal */
|
|
40
|
+
onKeyDown(): void;
|
|
41
|
+
/** @internal */
|
|
42
|
+
onKeyUp(event: TerraDrawKeyboardEvent): void;
|
|
43
|
+
/** @internal */
|
|
44
|
+
onDragStart(): void;
|
|
45
|
+
/** @internal */
|
|
46
|
+
onDrag(): void;
|
|
47
|
+
/** @internal */
|
|
48
|
+
onDragEnd(): void;
|
|
49
|
+
/** @internal */
|
|
50
|
+
cleanUp(): void;
|
|
51
|
+
/** @internal */
|
|
52
|
+
styleFeature(feature: GeoJSONStoreFeatures): TerraDrawAdapterStyling;
|
|
53
|
+
}
|
|
54
|
+
export {};
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { BehaviorConfig, TerraDrawModeBehavior } from "./base.behavior";
|
|
2
|
-
import { TerraDrawMouseEvent } from "../common";
|
|
3
|
-
import { Position } from "geojson";
|
|
4
|
-
import { ClickBoundingBoxBehavior } from "./click-bounding-box.behavior";
|
|
5
|
-
import { PixelDistanceBehavior } from "./pixel-distance.behavior";
|
|
6
|
-
export declare class GreatCircleSnappingBehavior extends TerraDrawModeBehavior {
|
|
7
|
-
readonly config: BehaviorConfig;
|
|
8
|
-
private readonly pixelDistance;
|
|
9
|
-
private readonly clickBoundingBox;
|
|
10
|
-
constructor(config: BehaviorConfig, pixelDistance: PixelDistanceBehavior, clickBoundingBox: ClickBoundingBoxBehavior);
|
|
11
|
-
getSnappableCoordinate: (event: TerraDrawMouseEvent, currentFeatureId?: string) => Position | undefined;
|
|
12
|
-
private getSnappableEnds;
|
|
13
|
-
}
|
|
1
|
+
import { BehaviorConfig, TerraDrawModeBehavior } from "./base.behavior";
|
|
2
|
+
import { TerraDrawMouseEvent } from "../common";
|
|
3
|
+
import { Position } from "geojson";
|
|
4
|
+
import { ClickBoundingBoxBehavior } from "./click-bounding-box.behavior";
|
|
5
|
+
import { PixelDistanceBehavior } from "./pixel-distance.behavior";
|
|
6
|
+
export declare class GreatCircleSnappingBehavior extends TerraDrawModeBehavior {
|
|
7
|
+
readonly config: BehaviorConfig;
|
|
8
|
+
private readonly pixelDistance;
|
|
9
|
+
private readonly clickBoundingBox;
|
|
10
|
+
constructor(config: BehaviorConfig, pixelDistance: PixelDistanceBehavior, clickBoundingBox: ClickBoundingBoxBehavior);
|
|
11
|
+
getSnappableCoordinate: (event: TerraDrawMouseEvent, currentFeatureId?: string) => Position | undefined;
|
|
12
|
+
private getSnappableEnds;
|
|
13
|
+
}
|
|
@@ -1,57 +1,57 @@
|
|
|
1
|
-
import { TerraDrawMouseEvent, TerraDrawAdapterStyling, TerraDrawKeyboardEvent, HexColor } from "../../common";
|
|
2
|
-
import { TerraDrawBaseDrawMode } from "../base.mode";
|
|
3
|
-
import { BehaviorConfig } from "../base.behavior";
|
|
4
|
-
import { GeoJSONStoreFeatures } from "../../store/store";
|
|
5
|
-
type TerraDrawGreateCircleModeKeyEvents = {
|
|
6
|
-
cancel: KeyboardEvent["key"] | null;
|
|
7
|
-
finish: KeyboardEvent["key"] | null;
|
|
8
|
-
};
|
|
9
|
-
type GreateCircleStyling = {
|
|
10
|
-
lineStringWidth: number;
|
|
11
|
-
lineStringColor: HexColor;
|
|
12
|
-
closingPointColor: HexColor;
|
|
13
|
-
closingPointWidth: number;
|
|
14
|
-
closingPointOutlineColor: HexColor;
|
|
15
|
-
closingPointOutlineWidth: number;
|
|
16
|
-
};
|
|
17
|
-
export declare class TerraDrawGreatCircleMode extends TerraDrawBaseDrawMode<GreateCircleStyling> {
|
|
18
|
-
mode: string;
|
|
19
|
-
private currentCoordinate;
|
|
20
|
-
private currentId;
|
|
21
|
-
private closingPointId;
|
|
22
|
-
private keyEvents;
|
|
23
|
-
private snappingEnabled;
|
|
24
|
-
private snapping;
|
|
25
|
-
constructor(options?: {
|
|
26
|
-
snapping?: boolean;
|
|
27
|
-
pointerDistance?: number;
|
|
28
|
-
styles?: Partial<GreateCircleStyling>;
|
|
29
|
-
keyEvents?: TerraDrawGreateCircleModeKeyEvents | null;
|
|
30
|
-
});
|
|
31
|
-
private close;
|
|
32
|
-
/** @internal */
|
|
33
|
-
registerBehaviors(config: BehaviorConfig): void;
|
|
34
|
-
/** @internal */
|
|
35
|
-
start(): void;
|
|
36
|
-
/** @internal */
|
|
37
|
-
stop(): void;
|
|
38
|
-
/** @internal */
|
|
39
|
-
onMouseMove(event: TerraDrawMouseEvent): void;
|
|
40
|
-
/** @internal */
|
|
41
|
-
onClick(event: TerraDrawMouseEvent): void;
|
|
42
|
-
/** @internal */
|
|
43
|
-
onKeyDown(): void;
|
|
44
|
-
/** @internal */
|
|
45
|
-
onKeyUp(event: TerraDrawKeyboardEvent): void;
|
|
46
|
-
/** @internal */
|
|
47
|
-
onDragStart(): void;
|
|
48
|
-
/** @internal */
|
|
49
|
-
onDrag(): void;
|
|
50
|
-
/** @internal */
|
|
51
|
-
onDragEnd(): void;
|
|
52
|
-
/** @internal */
|
|
53
|
-
cleanUp(): void;
|
|
54
|
-
/** @internal */
|
|
55
|
-
styleFeature(feature: GeoJSONStoreFeatures): TerraDrawAdapterStyling;
|
|
56
|
-
}
|
|
57
|
-
export {};
|
|
1
|
+
import { TerraDrawMouseEvent, TerraDrawAdapterStyling, TerraDrawKeyboardEvent, HexColor } from "../../common";
|
|
2
|
+
import { TerraDrawBaseDrawMode } from "../base.mode";
|
|
3
|
+
import { BehaviorConfig } from "../base.behavior";
|
|
4
|
+
import { GeoJSONStoreFeatures } from "../../store/store";
|
|
5
|
+
type TerraDrawGreateCircleModeKeyEvents = {
|
|
6
|
+
cancel: KeyboardEvent["key"] | null;
|
|
7
|
+
finish: KeyboardEvent["key"] | null;
|
|
8
|
+
};
|
|
9
|
+
type GreateCircleStyling = {
|
|
10
|
+
lineStringWidth: number;
|
|
11
|
+
lineStringColor: HexColor;
|
|
12
|
+
closingPointColor: HexColor;
|
|
13
|
+
closingPointWidth: number;
|
|
14
|
+
closingPointOutlineColor: HexColor;
|
|
15
|
+
closingPointOutlineWidth: number;
|
|
16
|
+
};
|
|
17
|
+
export declare class TerraDrawGreatCircleMode extends TerraDrawBaseDrawMode<GreateCircleStyling> {
|
|
18
|
+
mode: string;
|
|
19
|
+
private currentCoordinate;
|
|
20
|
+
private currentId;
|
|
21
|
+
private closingPointId;
|
|
22
|
+
private keyEvents;
|
|
23
|
+
private snappingEnabled;
|
|
24
|
+
private snapping;
|
|
25
|
+
constructor(options?: {
|
|
26
|
+
snapping?: boolean;
|
|
27
|
+
pointerDistance?: number;
|
|
28
|
+
styles?: Partial<GreateCircleStyling>;
|
|
29
|
+
keyEvents?: TerraDrawGreateCircleModeKeyEvents | null;
|
|
30
|
+
});
|
|
31
|
+
private close;
|
|
32
|
+
/** @internal */
|
|
33
|
+
registerBehaviors(config: BehaviorConfig): void;
|
|
34
|
+
/** @internal */
|
|
35
|
+
start(): void;
|
|
36
|
+
/** @internal */
|
|
37
|
+
stop(): void;
|
|
38
|
+
/** @internal */
|
|
39
|
+
onMouseMove(event: TerraDrawMouseEvent): void;
|
|
40
|
+
/** @internal */
|
|
41
|
+
onClick(event: TerraDrawMouseEvent): void;
|
|
42
|
+
/** @internal */
|
|
43
|
+
onKeyDown(): void;
|
|
44
|
+
/** @internal */
|
|
45
|
+
onKeyUp(event: TerraDrawKeyboardEvent): void;
|
|
46
|
+
/** @internal */
|
|
47
|
+
onDragStart(): void;
|
|
48
|
+
/** @internal */
|
|
49
|
+
onDrag(): void;
|
|
50
|
+
/** @internal */
|
|
51
|
+
onDragEnd(): void;
|
|
52
|
+
/** @internal */
|
|
53
|
+
cleanUp(): void;
|
|
54
|
+
/** @internal */
|
|
55
|
+
styleFeature(feature: GeoJSONStoreFeatures): TerraDrawAdapterStyling;
|
|
56
|
+
}
|
|
57
|
+
export {};
|
|
@@ -1,60 +1,60 @@
|
|
|
1
|
-
import { TerraDrawMouseEvent, TerraDrawAdapterStyling, TerraDrawKeyboardEvent, HexColor } from "../../common";
|
|
2
|
-
import { TerraDrawBaseDrawMode } from "../base.mode";
|
|
3
|
-
import { BehaviorConfig } from "../base.behavior";
|
|
4
|
-
import { GeoJSONStoreFeatures } from "../../store/store";
|
|
5
|
-
type TerraDrawLineStringModeKeyEvents = {
|
|
6
|
-
cancel: KeyboardEvent["key"] | null;
|
|
7
|
-
finish: KeyboardEvent["key"] | null;
|
|
8
|
-
};
|
|
9
|
-
type LineStringStyling = {
|
|
10
|
-
lineStringWidth: number;
|
|
11
|
-
lineStringColor: HexColor;
|
|
12
|
-
closingPointColor: HexColor;
|
|
13
|
-
closingPointWidth: number;
|
|
14
|
-
closingPointOutlineColor: HexColor;
|
|
15
|
-
closingPointOutlineWidth: number;
|
|
16
|
-
};
|
|
17
|
-
export declare class TerraDrawLineStringMode extends TerraDrawBaseDrawMode<LineStringStyling> {
|
|
18
|
-
mode: string;
|
|
19
|
-
private currentCoordinate;
|
|
20
|
-
private currentId;
|
|
21
|
-
private closingPointId;
|
|
22
|
-
private allowSelfIntersections;
|
|
23
|
-
private keyEvents;
|
|
24
|
-
private snappingEnabled;
|
|
25
|
-
private mouseMove;
|
|
26
|
-
private snapping;
|
|
27
|
-
constructor(options?: {
|
|
28
|
-
snapping?: boolean;
|
|
29
|
-
allowSelfIntersections?: boolean;
|
|
30
|
-
pointerDistance?: number;
|
|
31
|
-
styles?: Partial<LineStringStyling>;
|
|
32
|
-
keyEvents?: TerraDrawLineStringModeKeyEvents | null;
|
|
33
|
-
});
|
|
34
|
-
private close;
|
|
35
|
-
/** @internal */
|
|
36
|
-
registerBehaviors(config: BehaviorConfig): void;
|
|
37
|
-
/** @internal */
|
|
38
|
-
start(): void;
|
|
39
|
-
/** @internal */
|
|
40
|
-
stop(): void;
|
|
41
|
-
/** @internal */
|
|
42
|
-
onMouseMove(event: TerraDrawMouseEvent): void;
|
|
43
|
-
/** @internal */
|
|
44
|
-
onClick(event: TerraDrawMouseEvent): void;
|
|
45
|
-
/** @internal */
|
|
46
|
-
onKeyDown(): void;
|
|
47
|
-
/** @internal */
|
|
48
|
-
onKeyUp(event: TerraDrawKeyboardEvent): void;
|
|
49
|
-
/** @internal */
|
|
50
|
-
onDragStart(): void;
|
|
51
|
-
/** @internal */
|
|
52
|
-
onDrag(): void;
|
|
53
|
-
/** @internal */
|
|
54
|
-
onDragEnd(): void;
|
|
55
|
-
/** @internal */
|
|
56
|
-
cleanUp(): void;
|
|
57
|
-
/** @internal */
|
|
58
|
-
styleFeature(feature: GeoJSONStoreFeatures): TerraDrawAdapterStyling;
|
|
59
|
-
}
|
|
60
|
-
export {};
|
|
1
|
+
import { TerraDrawMouseEvent, TerraDrawAdapterStyling, TerraDrawKeyboardEvent, HexColor } from "../../common";
|
|
2
|
+
import { TerraDrawBaseDrawMode } from "../base.mode";
|
|
3
|
+
import { BehaviorConfig } from "../base.behavior";
|
|
4
|
+
import { GeoJSONStoreFeatures } from "../../store/store";
|
|
5
|
+
type TerraDrawLineStringModeKeyEvents = {
|
|
6
|
+
cancel: KeyboardEvent["key"] | null;
|
|
7
|
+
finish: KeyboardEvent["key"] | null;
|
|
8
|
+
};
|
|
9
|
+
type LineStringStyling = {
|
|
10
|
+
lineStringWidth: number;
|
|
11
|
+
lineStringColor: HexColor;
|
|
12
|
+
closingPointColor: HexColor;
|
|
13
|
+
closingPointWidth: number;
|
|
14
|
+
closingPointOutlineColor: HexColor;
|
|
15
|
+
closingPointOutlineWidth: number;
|
|
16
|
+
};
|
|
17
|
+
export declare class TerraDrawLineStringMode extends TerraDrawBaseDrawMode<LineStringStyling> {
|
|
18
|
+
mode: string;
|
|
19
|
+
private currentCoordinate;
|
|
20
|
+
private currentId;
|
|
21
|
+
private closingPointId;
|
|
22
|
+
private allowSelfIntersections;
|
|
23
|
+
private keyEvents;
|
|
24
|
+
private snappingEnabled;
|
|
25
|
+
private mouseMove;
|
|
26
|
+
private snapping;
|
|
27
|
+
constructor(options?: {
|
|
28
|
+
snapping?: boolean;
|
|
29
|
+
allowSelfIntersections?: boolean;
|
|
30
|
+
pointerDistance?: number;
|
|
31
|
+
styles?: Partial<LineStringStyling>;
|
|
32
|
+
keyEvents?: TerraDrawLineStringModeKeyEvents | null;
|
|
33
|
+
});
|
|
34
|
+
private close;
|
|
35
|
+
/** @internal */
|
|
36
|
+
registerBehaviors(config: BehaviorConfig): void;
|
|
37
|
+
/** @internal */
|
|
38
|
+
start(): void;
|
|
39
|
+
/** @internal */
|
|
40
|
+
stop(): void;
|
|
41
|
+
/** @internal */
|
|
42
|
+
onMouseMove(event: TerraDrawMouseEvent): void;
|
|
43
|
+
/** @internal */
|
|
44
|
+
onClick(event: TerraDrawMouseEvent): void;
|
|
45
|
+
/** @internal */
|
|
46
|
+
onKeyDown(): void;
|
|
47
|
+
/** @internal */
|
|
48
|
+
onKeyUp(event: TerraDrawKeyboardEvent): void;
|
|
49
|
+
/** @internal */
|
|
50
|
+
onDragStart(): void;
|
|
51
|
+
/** @internal */
|
|
52
|
+
onDrag(): void;
|
|
53
|
+
/** @internal */
|
|
54
|
+
onDragEnd(): void;
|
|
55
|
+
/** @internal */
|
|
56
|
+
cleanUp(): void;
|
|
57
|
+
/** @internal */
|
|
58
|
+
styleFeature(feature: GeoJSONStoreFeatures): TerraDrawAdapterStyling;
|
|
59
|
+
}
|
|
60
|
+
export {};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { BehaviorConfig, TerraDrawModeBehavior } from "./base.behavior";
|
|
2
|
-
import { TerraDrawMouseEvent } from "../common";
|
|
3
|
-
import { Position } from "geojson";
|
|
4
|
-
export declare class PixelDistanceBehavior extends TerraDrawModeBehavior {
|
|
5
|
-
constructor(config: BehaviorConfig);
|
|
6
|
-
measure(clickEvent: TerraDrawMouseEvent, secondCoordinate: Position): number;
|
|
7
|
-
}
|
|
1
|
+
import { BehaviorConfig, TerraDrawModeBehavior } from "./base.behavior";
|
|
2
|
+
import { TerraDrawMouseEvent } from "../common";
|
|
3
|
+
import { Position } from "geojson";
|
|
4
|
+
export declare class PixelDistanceBehavior extends TerraDrawModeBehavior {
|
|
5
|
+
constructor(config: BehaviorConfig);
|
|
6
|
+
measure(clickEvent: TerraDrawMouseEvent, secondCoordinate: Position): number;
|
|
7
|
+
}
|
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
import { TerraDrawMouseEvent, TerraDrawAdapterStyling, HexColor } from "../../common";
|
|
2
|
-
import { GeoJSONStoreFeatures } from "../../store/store";
|
|
3
|
-
import { TerraDrawBaseDrawMode } from "../base.mode";
|
|
4
|
-
type PointModeStyling = {
|
|
5
|
-
pointWidth: number;
|
|
6
|
-
pointColor: HexColor;
|
|
7
|
-
pointOutlineColor: HexColor;
|
|
8
|
-
pointOutlineWidth: number;
|
|
9
|
-
};
|
|
10
|
-
export declare class TerraDrawPointMode extends TerraDrawBaseDrawMode<PointModeStyling> {
|
|
11
|
-
mode: string;
|
|
12
|
-
constructor(options?: {
|
|
13
|
-
styles?: Partial<PointModeStyling>;
|
|
14
|
-
});
|
|
15
|
-
/** @internal */
|
|
16
|
-
start(): void;
|
|
17
|
-
/** @internal */
|
|
18
|
-
stop(): void;
|
|
19
|
-
/** @internal */
|
|
20
|
-
onClick(event: TerraDrawMouseEvent): void;
|
|
21
|
-
/** @internal */
|
|
22
|
-
onMouseMove(): void;
|
|
23
|
-
/** @internal */
|
|
24
|
-
onKeyDown(): void;
|
|
25
|
-
/** @internal */
|
|
26
|
-
onKeyUp(): void;
|
|
27
|
-
/** @internal */
|
|
28
|
-
cleanUp(): void;
|
|
29
|
-
/** @internal */
|
|
30
|
-
onDragStart(): void;
|
|
31
|
-
/** @internal */
|
|
32
|
-
onDrag(): void;
|
|
33
|
-
/** @internal */
|
|
34
|
-
onDragEnd(): void;
|
|
35
|
-
/** @internal */
|
|
36
|
-
styleFeature(feature: GeoJSONStoreFeatures): TerraDrawAdapterStyling;
|
|
37
|
-
}
|
|
38
|
-
export {};
|
|
1
|
+
import { TerraDrawMouseEvent, TerraDrawAdapterStyling, HexColor } from "../../common";
|
|
2
|
+
import { GeoJSONStoreFeatures } from "../../store/store";
|
|
3
|
+
import { TerraDrawBaseDrawMode } from "../base.mode";
|
|
4
|
+
type PointModeStyling = {
|
|
5
|
+
pointWidth: number;
|
|
6
|
+
pointColor: HexColor;
|
|
7
|
+
pointOutlineColor: HexColor;
|
|
8
|
+
pointOutlineWidth: number;
|
|
9
|
+
};
|
|
10
|
+
export declare class TerraDrawPointMode extends TerraDrawBaseDrawMode<PointModeStyling> {
|
|
11
|
+
mode: string;
|
|
12
|
+
constructor(options?: {
|
|
13
|
+
styles?: Partial<PointModeStyling>;
|
|
14
|
+
});
|
|
15
|
+
/** @internal */
|
|
16
|
+
start(): void;
|
|
17
|
+
/** @internal */
|
|
18
|
+
stop(): void;
|
|
19
|
+
/** @internal */
|
|
20
|
+
onClick(event: TerraDrawMouseEvent): void;
|
|
21
|
+
/** @internal */
|
|
22
|
+
onMouseMove(): void;
|
|
23
|
+
/** @internal */
|
|
24
|
+
onKeyDown(): void;
|
|
25
|
+
/** @internal */
|
|
26
|
+
onKeyUp(): void;
|
|
27
|
+
/** @internal */
|
|
28
|
+
cleanUp(): void;
|
|
29
|
+
/** @internal */
|
|
30
|
+
onDragStart(): void;
|
|
31
|
+
/** @internal */
|
|
32
|
+
onDrag(): void;
|
|
33
|
+
/** @internal */
|
|
34
|
+
onDragEnd(): void;
|
|
35
|
+
/** @internal */
|
|
36
|
+
styleFeature(feature: GeoJSONStoreFeatures): TerraDrawAdapterStyling;
|
|
37
|
+
}
|
|
38
|
+
export {};
|