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,89 +1,89 @@
|
|
|
1
|
-
import { TerraDrawMouseEvent, TerraDrawKeyboardEvent, HexColor, TerraDrawAdapterStyling } from "../../common";
|
|
2
|
-
import { TerraDrawBaseDrawMode } from "../base.mode";
|
|
3
|
-
import { BehaviorConfig } from "../base.behavior";
|
|
4
|
-
import { GeoJSONStoreFeatures } from "../../store/store";
|
|
5
|
-
type TerraDrawSelectModeKeyEvents = {
|
|
6
|
-
deselect: KeyboardEvent["key"] | null;
|
|
7
|
-
delete: KeyboardEvent["key"] | null;
|
|
8
|
-
rotate: KeyboardEvent["key"] | null;
|
|
9
|
-
scale: KeyboardEvent["key"] | null;
|
|
10
|
-
};
|
|
11
|
-
type ModeFlags = {
|
|
12
|
-
feature?: {
|
|
13
|
-
draggable?: boolean;
|
|
14
|
-
rotateable?: boolean;
|
|
15
|
-
scaleable?: boolean;
|
|
16
|
-
coordinates?: {
|
|
17
|
-
midpoints?: boolean;
|
|
18
|
-
draggable?: boolean;
|
|
19
|
-
deletable?: boolean;
|
|
20
|
-
};
|
|
21
|
-
};
|
|
22
|
-
};
|
|
23
|
-
type SelectionStyling = {
|
|
24
|
-
selectedColor: HexColor;
|
|
25
|
-
selectedPointOutlineColor: HexColor;
|
|
26
|
-
selectPointOutlineWidth: number;
|
|
27
|
-
selectionPointWidth: number;
|
|
28
|
-
selectionPointColor: HexColor;
|
|
29
|
-
selectionPointOutlineColor: HexColor;
|
|
30
|
-
selectionPointOutlineWidth: number;
|
|
31
|
-
midPointColor: HexColor;
|
|
32
|
-
midPointOutlineColor: HexColor;
|
|
33
|
-
midPointWidth: number;
|
|
34
|
-
midPointOutlineWidth: number;
|
|
35
|
-
};
|
|
36
|
-
export declare class TerraDrawSelectMode extends TerraDrawBaseDrawMode<SelectionStyling> {
|
|
37
|
-
mode: string;
|
|
38
|
-
private dragEventThrottle;
|
|
39
|
-
private dragEventCount;
|
|
40
|
-
private selected;
|
|
41
|
-
private flags;
|
|
42
|
-
private keyEvents;
|
|
43
|
-
private selectionPoints;
|
|
44
|
-
private midPoints;
|
|
45
|
-
private featuresAtMouseEvent;
|
|
46
|
-
private pixelDistance;
|
|
47
|
-
private clickBoundingBox;
|
|
48
|
-
private dragFeature;
|
|
49
|
-
private dragCoordinate;
|
|
50
|
-
private rotateFeature;
|
|
51
|
-
private scaleFeature;
|
|
52
|
-
constructor(options?: {
|
|
53
|
-
styles?: Partial<SelectionStyling>;
|
|
54
|
-
pointerDistance?: number;
|
|
55
|
-
flags?: {
|
|
56
|
-
[mode: string]: ModeFlags;
|
|
57
|
-
};
|
|
58
|
-
keyEvents?: TerraDrawSelectModeKeyEvents | null;
|
|
59
|
-
dragEventThrottle?: number;
|
|
60
|
-
});
|
|
61
|
-
registerBehaviors(config: BehaviorConfig): void;
|
|
62
|
-
private deselect;
|
|
63
|
-
private deleteSelected;
|
|
64
|
-
private onRightClick;
|
|
65
|
-
private onLeftClick;
|
|
66
|
-
/** @internal */
|
|
67
|
-
start(): void;
|
|
68
|
-
/** @internal */
|
|
69
|
-
stop(): void;
|
|
70
|
-
/** @internal */
|
|
71
|
-
onClick(event: TerraDrawMouseEvent): void;
|
|
72
|
-
/** @internal */
|
|
73
|
-
onKeyDown(): void;
|
|
74
|
-
/** @internal */
|
|
75
|
-
onKeyUp(event: TerraDrawKeyboardEvent): void;
|
|
76
|
-
/** @internal */
|
|
77
|
-
cleanUp(): void;
|
|
78
|
-
/** @internal */
|
|
79
|
-
onDragStart(event: TerraDrawMouseEvent, setMapDraggability: (enabled: boolean) => void): void;
|
|
80
|
-
/** @internal */
|
|
81
|
-
onDrag(event: TerraDrawMouseEvent): void;
|
|
82
|
-
/** @internal */
|
|
83
|
-
onDragEnd(_: TerraDrawMouseEvent, setMapDraggability: (enabled: boolean) => void): void;
|
|
84
|
-
/** @internal */
|
|
85
|
-
onMouseMove(event: TerraDrawMouseEvent): void;
|
|
86
|
-
/** @internal */
|
|
87
|
-
styleFeature(feature: GeoJSONStoreFeatures): TerraDrawAdapterStyling;
|
|
88
|
-
}
|
|
89
|
-
export {};
|
|
1
|
+
import { TerraDrawMouseEvent, TerraDrawKeyboardEvent, HexColor, TerraDrawAdapterStyling } from "../../common";
|
|
2
|
+
import { TerraDrawBaseDrawMode } from "../base.mode";
|
|
3
|
+
import { BehaviorConfig } from "../base.behavior";
|
|
4
|
+
import { GeoJSONStoreFeatures } from "../../store/store";
|
|
5
|
+
type TerraDrawSelectModeKeyEvents = {
|
|
6
|
+
deselect: KeyboardEvent["key"] | null;
|
|
7
|
+
delete: KeyboardEvent["key"] | null;
|
|
8
|
+
rotate: KeyboardEvent["key"] | null;
|
|
9
|
+
scale: KeyboardEvent["key"] | null;
|
|
10
|
+
};
|
|
11
|
+
type ModeFlags = {
|
|
12
|
+
feature?: {
|
|
13
|
+
draggable?: boolean;
|
|
14
|
+
rotateable?: boolean;
|
|
15
|
+
scaleable?: boolean;
|
|
16
|
+
coordinates?: {
|
|
17
|
+
midpoints?: boolean;
|
|
18
|
+
draggable?: boolean;
|
|
19
|
+
deletable?: boolean;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
type SelectionStyling = {
|
|
24
|
+
selectedColor: HexColor;
|
|
25
|
+
selectedPointOutlineColor: HexColor;
|
|
26
|
+
selectPointOutlineWidth: number;
|
|
27
|
+
selectionPointWidth: number;
|
|
28
|
+
selectionPointColor: HexColor;
|
|
29
|
+
selectionPointOutlineColor: HexColor;
|
|
30
|
+
selectionPointOutlineWidth: number;
|
|
31
|
+
midPointColor: HexColor;
|
|
32
|
+
midPointOutlineColor: HexColor;
|
|
33
|
+
midPointWidth: number;
|
|
34
|
+
midPointOutlineWidth: number;
|
|
35
|
+
};
|
|
36
|
+
export declare class TerraDrawSelectMode extends TerraDrawBaseDrawMode<SelectionStyling> {
|
|
37
|
+
mode: string;
|
|
38
|
+
private dragEventThrottle;
|
|
39
|
+
private dragEventCount;
|
|
40
|
+
private selected;
|
|
41
|
+
private flags;
|
|
42
|
+
private keyEvents;
|
|
43
|
+
private selectionPoints;
|
|
44
|
+
private midPoints;
|
|
45
|
+
private featuresAtMouseEvent;
|
|
46
|
+
private pixelDistance;
|
|
47
|
+
private clickBoundingBox;
|
|
48
|
+
private dragFeature;
|
|
49
|
+
private dragCoordinate;
|
|
50
|
+
private rotateFeature;
|
|
51
|
+
private scaleFeature;
|
|
52
|
+
constructor(options?: {
|
|
53
|
+
styles?: Partial<SelectionStyling>;
|
|
54
|
+
pointerDistance?: number;
|
|
55
|
+
flags?: {
|
|
56
|
+
[mode: string]: ModeFlags;
|
|
57
|
+
};
|
|
58
|
+
keyEvents?: TerraDrawSelectModeKeyEvents | null;
|
|
59
|
+
dragEventThrottle?: number;
|
|
60
|
+
});
|
|
61
|
+
registerBehaviors(config: BehaviorConfig): void;
|
|
62
|
+
private deselect;
|
|
63
|
+
private deleteSelected;
|
|
64
|
+
private onRightClick;
|
|
65
|
+
private onLeftClick;
|
|
66
|
+
/** @internal */
|
|
67
|
+
start(): void;
|
|
68
|
+
/** @internal */
|
|
69
|
+
stop(): void;
|
|
70
|
+
/** @internal */
|
|
71
|
+
onClick(event: TerraDrawMouseEvent): void;
|
|
72
|
+
/** @internal */
|
|
73
|
+
onKeyDown(): void;
|
|
74
|
+
/** @internal */
|
|
75
|
+
onKeyUp(event: TerraDrawKeyboardEvent): void;
|
|
76
|
+
/** @internal */
|
|
77
|
+
cleanUp(): void;
|
|
78
|
+
/** @internal */
|
|
79
|
+
onDragStart(event: TerraDrawMouseEvent, setMapDraggability: (enabled: boolean) => void): void;
|
|
80
|
+
/** @internal */
|
|
81
|
+
onDrag(event: TerraDrawMouseEvent): void;
|
|
82
|
+
/** @internal */
|
|
83
|
+
onDragEnd(_: TerraDrawMouseEvent, setMapDraggability: (enabled: boolean) => void): void;
|
|
84
|
+
/** @internal */
|
|
85
|
+
onMouseMove(event: TerraDrawMouseEvent): void;
|
|
86
|
+
/** @internal */
|
|
87
|
+
styleFeature(feature: GeoJSONStoreFeatures): TerraDrawAdapterStyling;
|
|
88
|
+
}
|
|
89
|
+
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 SnappingBehavior 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 getSnappable;
|
|
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 SnappingBehavior 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 getSnappable;
|
|
13
|
+
}
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
import { TerraDrawAdapterStyling } from "../../common";
|
|
2
|
-
import { TerraDrawBaseDrawMode } from "../base.mode";
|
|
3
|
-
type StaticModeStylingExt<T extends TerraDrawAdapterStyling> = {};
|
|
4
|
-
type StaticModeStyling = StaticModeStylingExt<TerraDrawAdapterStyling>;
|
|
5
|
-
export declare class TerraDrawStaticMode extends TerraDrawBaseDrawMode<StaticModeStyling> {
|
|
6
|
-
mode: string;
|
|
7
|
-
start(): void;
|
|
8
|
-
stop(): void;
|
|
9
|
-
onKeyUp(): void;
|
|
10
|
-
onKeyDown(): void;
|
|
11
|
-
onClick(): void;
|
|
12
|
-
onDragStart(): void;
|
|
13
|
-
onDrag(): void;
|
|
14
|
-
onDragEnd(): void;
|
|
15
|
-
onMouseMove(): void;
|
|
16
|
-
styleFeature(): {
|
|
17
|
-
pointColor: `#${string}`;
|
|
18
|
-
pointWidth: number;
|
|
19
|
-
pointOutlineColor: `#${string}`;
|
|
20
|
-
pointOutlineWidth: number;
|
|
21
|
-
polygonFillColor: `#${string}`;
|
|
22
|
-
polygonFillOpacity: number;
|
|
23
|
-
polygonOutlineColor: `#${string}`;
|
|
24
|
-
polygonOutlineWidth: number;
|
|
25
|
-
lineStringWidth: number;
|
|
26
|
-
lineStringColor: `#${string}`;
|
|
27
|
-
zIndex: number;
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
export {};
|
|
1
|
+
import { TerraDrawAdapterStyling } from "../../common";
|
|
2
|
+
import { TerraDrawBaseDrawMode } from "../base.mode";
|
|
3
|
+
type StaticModeStylingExt<T extends TerraDrawAdapterStyling> = {};
|
|
4
|
+
type StaticModeStyling = StaticModeStylingExt<TerraDrawAdapterStyling>;
|
|
5
|
+
export declare class TerraDrawStaticMode extends TerraDrawBaseDrawMode<StaticModeStyling> {
|
|
6
|
+
mode: string;
|
|
7
|
+
start(): void;
|
|
8
|
+
stop(): void;
|
|
9
|
+
onKeyUp(): void;
|
|
10
|
+
onKeyDown(): void;
|
|
11
|
+
onClick(): void;
|
|
12
|
+
onDragStart(): void;
|
|
13
|
+
onDrag(): void;
|
|
14
|
+
onDragEnd(): void;
|
|
15
|
+
onMouseMove(): void;
|
|
16
|
+
styleFeature(): {
|
|
17
|
+
pointColor: `#${string}`;
|
|
18
|
+
pointWidth: number;
|
|
19
|
+
pointOutlineColor: `#${string}`;
|
|
20
|
+
pointOutlineWidth: number;
|
|
21
|
+
polygonFillColor: `#${string}`;
|
|
22
|
+
polygonFillOpacity: number;
|
|
23
|
+
polygonOutlineColor: `#${string}`;
|
|
24
|
+
polygonOutlineWidth: number;
|
|
25
|
+
lineStringWidth: number;
|
|
26
|
+
lineStringColor: `#${string}`;
|
|
27
|
+
zIndex: number;
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export type CompareFunction<T> = (a: T, b: T) => number;
|
|
2
|
-
export declare function quickselect<T>(arr: T[], k: number, left: number, right: number, compare: CompareFunction<T>): void;
|
|
1
|
+
export type CompareFunction<T> = (a: T, b: T) => number;
|
|
2
|
+
export declare function quickselect<T>(arr: T[], k: number, left: number, right: number, compare: CompareFunction<T>): void;
|
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
export type Node = {
|
|
2
|
-
children: Node[];
|
|
3
|
-
height: number;
|
|
4
|
-
leaf: boolean;
|
|
5
|
-
minX: number;
|
|
6
|
-
minY: number;
|
|
7
|
-
maxX: number;
|
|
8
|
-
maxY: number;
|
|
9
|
-
};
|
|
10
|
-
export declare class RBush {
|
|
11
|
-
private _maxEntries;
|
|
12
|
-
private _minEntries;
|
|
13
|
-
private data;
|
|
14
|
-
constructor(maxEntries: number);
|
|
15
|
-
search(bbox: Node): Node[];
|
|
16
|
-
collides(bbox: Node): boolean;
|
|
17
|
-
load(data: Node[]): void;
|
|
18
|
-
insert(item: Node): void;
|
|
19
|
-
clear(): void;
|
|
20
|
-
remove(item: Node): void;
|
|
21
|
-
private toBBox;
|
|
22
|
-
private compareMinX;
|
|
23
|
-
private compareMinY;
|
|
24
|
-
private _all;
|
|
25
|
-
private _build;
|
|
26
|
-
private _chooseSubtree;
|
|
27
|
-
private _insert;
|
|
28
|
-
private _split;
|
|
29
|
-
private _splitRoot;
|
|
30
|
-
private _chooseSplitIndex;
|
|
31
|
-
private _chooseSplitAxis;
|
|
32
|
-
private _allDistMargin;
|
|
33
|
-
private _adjustParentBBoxes;
|
|
34
|
-
private _condense;
|
|
35
|
-
}
|
|
1
|
+
export type Node = {
|
|
2
|
+
children: Node[];
|
|
3
|
+
height: number;
|
|
4
|
+
leaf: boolean;
|
|
5
|
+
minX: number;
|
|
6
|
+
minY: number;
|
|
7
|
+
maxX: number;
|
|
8
|
+
maxY: number;
|
|
9
|
+
};
|
|
10
|
+
export declare class RBush {
|
|
11
|
+
private _maxEntries;
|
|
12
|
+
private _minEntries;
|
|
13
|
+
private data;
|
|
14
|
+
constructor(maxEntries: number);
|
|
15
|
+
search(bbox: Node): Node[];
|
|
16
|
+
collides(bbox: Node): boolean;
|
|
17
|
+
load(data: Node[]): void;
|
|
18
|
+
insert(item: Node): void;
|
|
19
|
+
clear(): void;
|
|
20
|
+
remove(item: Node): void;
|
|
21
|
+
private toBBox;
|
|
22
|
+
private compareMinX;
|
|
23
|
+
private compareMinY;
|
|
24
|
+
private _all;
|
|
25
|
+
private _build;
|
|
26
|
+
private _chooseSubtree;
|
|
27
|
+
private _insert;
|
|
28
|
+
private _split;
|
|
29
|
+
private _splitRoot;
|
|
30
|
+
private _chooseSplitIndex;
|
|
31
|
+
private _chooseSplitAxis;
|
|
32
|
+
private _allDistMargin;
|
|
33
|
+
private _adjustParentBBoxes;
|
|
34
|
+
private _condense;
|
|
35
|
+
}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { GeoJSONStoreFeatures } from "../store";
|
|
2
|
-
export declare class SpatialIndex {
|
|
3
|
-
private tree;
|
|
4
|
-
private idToNode;
|
|
5
|
-
private nodeToId;
|
|
6
|
-
constructor(options?: {
|
|
7
|
-
maxEntries: number;
|
|
8
|
-
});
|
|
9
|
-
private setMaps;
|
|
10
|
-
private toBBox;
|
|
11
|
-
insert(feature: GeoJSONStoreFeatures): void;
|
|
12
|
-
load(features: GeoJSONStoreFeatures[]): void;
|
|
13
|
-
update(feature: GeoJSONStoreFeatures): void;
|
|
14
|
-
remove(featureId: string): void;
|
|
15
|
-
clear(): void;
|
|
16
|
-
search(feature: GeoJSONStoreFeatures): string[];
|
|
17
|
-
collides(feature: GeoJSONStoreFeatures): boolean;
|
|
18
|
-
}
|
|
1
|
+
import { GeoJSONStoreFeatures } from "../store";
|
|
2
|
+
export declare class SpatialIndex {
|
|
3
|
+
private tree;
|
|
4
|
+
private idToNode;
|
|
5
|
+
private nodeToId;
|
|
6
|
+
constructor(options?: {
|
|
7
|
+
maxEntries: number;
|
|
8
|
+
});
|
|
9
|
+
private setMaps;
|
|
10
|
+
private toBBox;
|
|
11
|
+
insert(feature: GeoJSONStoreFeatures): void;
|
|
12
|
+
load(features: GeoJSONStoreFeatures[]): void;
|
|
13
|
+
update(feature: GeoJSONStoreFeatures): void;
|
|
14
|
+
remove(featureId: string): void;
|
|
15
|
+
clear(): void;
|
|
16
|
+
search(feature: GeoJSONStoreFeatures): string[];
|
|
17
|
+
collides(feature: GeoJSONStoreFeatures): boolean;
|
|
18
|
+
}
|
package/dist/store/store.d.ts
CHANGED
|
@@ -1,50 +1,50 @@
|
|
|
1
|
-
import { Feature, Point, Polygon, LineString } from "geojson";
|
|
2
|
-
type JSON = string | number | boolean | null | JSONArray | JSONObject;
|
|
3
|
-
export interface JSONObject {
|
|
4
|
-
[member: string]: JSON;
|
|
5
|
-
}
|
|
6
|
-
type JSONArray = Array<JSON>;
|
|
7
|
-
type DefinedProperties = Record<string, JSON>;
|
|
8
|
-
export type GeoJSONStoreGeometries = Polygon | LineString | Point;
|
|
9
|
-
export type BBoxPolygon = Feature<Polygon, DefinedProperties>;
|
|
10
|
-
export type GeoJSONStoreFeatures = Feature<GeoJSONStoreGeometries, DefinedProperties>;
|
|
11
|
-
export type StoreChangeEvents = "delete" | "create" | "update";
|
|
12
|
-
export type StoreChangeHandler = (ids: string[], change: StoreChangeEvents) => void;
|
|
13
|
-
export type GeoJSONStoreConfig = {
|
|
14
|
-
data?: GeoJSONStoreFeatures[];
|
|
15
|
-
tracked?: boolean;
|
|
16
|
-
validateFeature?: (feature: unknown, tracked?: boolean) => void;
|
|
17
|
-
};
|
|
18
|
-
export declare class GeoJSONStore {
|
|
19
|
-
constructor(config?: GeoJSONStoreConfig);
|
|
20
|
-
private tracked;
|
|
21
|
-
private spatialIndex;
|
|
22
|
-
private store;
|
|
23
|
-
private _onChange;
|
|
24
|
-
private getId;
|
|
25
|
-
private clone;
|
|
26
|
-
has(id: string): boolean;
|
|
27
|
-
load(data: GeoJSONStoreFeatures[], featureValidation?: (feature: unknown, tracked?: boolean) => void): void;
|
|
28
|
-
search(bbox: BBoxPolygon, filter?: (feature: GeoJSONStoreFeatures) => boolean): GeoJSONStoreFeatures[];
|
|
29
|
-
registerOnChange(onChange: StoreChangeHandler): void;
|
|
30
|
-
getGeometryCopy<T extends GeoJSONStoreGeometries>(id: string): T;
|
|
31
|
-
getPropertiesCopy(id: string): DefinedProperties;
|
|
32
|
-
updateProperty(propertiesToUpdate: {
|
|
33
|
-
id: string;
|
|
34
|
-
property: string;
|
|
35
|
-
value: JSON;
|
|
36
|
-
}[]): void;
|
|
37
|
-
updateGeometry(geometriesToUpdate: {
|
|
38
|
-
id: string;
|
|
39
|
-
geometry: GeoJSONStoreGeometries;
|
|
40
|
-
}[]): void;
|
|
41
|
-
create(features: {
|
|
42
|
-
geometry: GeoJSONStoreGeometries;
|
|
43
|
-
properties?: JSONObject;
|
|
44
|
-
}[]): string[];
|
|
45
|
-
delete(ids: string[]): void;
|
|
46
|
-
copyAll(): GeoJSONStoreFeatures[];
|
|
47
|
-
clear(): void;
|
|
48
|
-
size(): number;
|
|
49
|
-
}
|
|
50
|
-
export {};
|
|
1
|
+
import { Feature, Point, Polygon, LineString } from "geojson";
|
|
2
|
+
type JSON = string | number | boolean | null | JSONArray | JSONObject;
|
|
3
|
+
export interface JSONObject {
|
|
4
|
+
[member: string]: JSON;
|
|
5
|
+
}
|
|
6
|
+
type JSONArray = Array<JSON>;
|
|
7
|
+
type DefinedProperties = Record<string, JSON>;
|
|
8
|
+
export type GeoJSONStoreGeometries = Polygon | LineString | Point;
|
|
9
|
+
export type BBoxPolygon = Feature<Polygon, DefinedProperties>;
|
|
10
|
+
export type GeoJSONStoreFeatures = Feature<GeoJSONStoreGeometries, DefinedProperties>;
|
|
11
|
+
export type StoreChangeEvents = "delete" | "create" | "update" | "styling";
|
|
12
|
+
export type StoreChangeHandler = (ids: string[], change: StoreChangeEvents) => void;
|
|
13
|
+
export type GeoJSONStoreConfig = {
|
|
14
|
+
data?: GeoJSONStoreFeatures[];
|
|
15
|
+
tracked?: boolean;
|
|
16
|
+
validateFeature?: (feature: unknown, tracked?: boolean) => void;
|
|
17
|
+
};
|
|
18
|
+
export declare class GeoJSONStore {
|
|
19
|
+
constructor(config?: GeoJSONStoreConfig);
|
|
20
|
+
private tracked;
|
|
21
|
+
private spatialIndex;
|
|
22
|
+
private store;
|
|
23
|
+
private _onChange;
|
|
24
|
+
private getId;
|
|
25
|
+
private clone;
|
|
26
|
+
has(id: string): boolean;
|
|
27
|
+
load(data: GeoJSONStoreFeatures[], featureValidation?: (feature: unknown, tracked?: boolean) => void): void;
|
|
28
|
+
search(bbox: BBoxPolygon, filter?: (feature: GeoJSONStoreFeatures) => boolean): GeoJSONStoreFeatures[];
|
|
29
|
+
registerOnChange(onChange: StoreChangeHandler): void;
|
|
30
|
+
getGeometryCopy<T extends GeoJSONStoreGeometries>(id: string): T;
|
|
31
|
+
getPropertiesCopy(id: string): DefinedProperties;
|
|
32
|
+
updateProperty(propertiesToUpdate: {
|
|
33
|
+
id: string;
|
|
34
|
+
property: string;
|
|
35
|
+
value: JSON;
|
|
36
|
+
}[]): void;
|
|
37
|
+
updateGeometry(geometriesToUpdate: {
|
|
38
|
+
id: string;
|
|
39
|
+
geometry: GeoJSONStoreGeometries;
|
|
40
|
+
}[]): void;
|
|
41
|
+
create(features: {
|
|
42
|
+
geometry: GeoJSONStoreGeometries;
|
|
43
|
+
properties?: JSONObject;
|
|
44
|
+
}[]): string[];
|
|
45
|
+
delete(ids: string[]): void;
|
|
46
|
+
copyAll(): GeoJSONStoreFeatures[];
|
|
47
|
+
clear(): void;
|
|
48
|
+
size(): number;
|
|
49
|
+
}
|
|
50
|
+
export {};
|