terra-draw 0.0.1-alpha.9 → 1.0.0-beta.1
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/.devcontainer/Dockerfile +8 -0
- package/.devcontainer/devcontainer.json +27 -0
- package/.devcontainer/post-create.sh +16 -0
- package/README.md +23 -13
- package/dist/adapters/arcgis-maps-sdk.adapter.d.ts +106 -0
- package/dist/adapters/google-maps.adapter.d.ts +90 -39
- package/dist/adapters/leaflet.adapter.d.ts +99 -33
- package/dist/adapters/mapbox-gl.adapter.d.ts +91 -37
- package/dist/adapters/maplibre-gl.adapter.d.ts +72 -0
- package/dist/adapters/openlayers.adapter.d.ts +120 -0
- package/dist/common.d.ts +118 -98
- package/dist/geometry/boolean/is-valid-coordinate.d.ts +4 -0
- package/dist/geometry/boolean/point-in-polygon.d.ts +2 -2
- package/dist/geometry/boolean/self-intersects.d.ts +2 -2
- package/dist/geometry/calculate-relative-angle.d.ts +17 -0
- package/dist/geometry/centroid.d.ts +2 -2
- package/dist/geometry/coordinates-identical.d.ts +2 -2
- package/dist/geometry/determine-halfplane.d.ts +10 -0
- package/dist/geometry/get-coordinates-as-points.d.ts +6 -6
- package/dist/geometry/get-midpoints.d.ts +14 -7
- package/dist/geometry/helpers.d.ts +4 -4
- package/dist/geometry/limit-decimal-precision.d.ts +1 -1
- package/dist/geometry/measure/area.d.ts +2 -0
- package/dist/geometry/measure/bearing.d.ts +9 -0
- package/dist/geometry/measure/destination.d.ts +9 -0
- 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/measure/slice-along.d.ts +2 -0
- package/dist/geometry/midpoint-coordinate.d.ts +4 -2
- package/dist/geometry/project/web-mercator.d.ts +20 -0
- package/dist/geometry/shape/create-bbox.d.ts +10 -0
- package/dist/geometry/shape/create-circle.d.ts +13 -7
- package/dist/geometry/shape/great-circle-coordinates.d.ts +2 -0
- package/dist/geometry/shape/web-mercator-distortion.d.ts +2 -0
- package/dist/geometry/transform/rotate.d.ts +9 -2
- package/dist/geometry/transform/scale.d.ts +9 -2
- package/dist/geometry/web-mercator-centroid.d.ts +11 -0
- package/dist/modes/angled-rectangle/angled-rectangle.mode.d.ts +62 -0
- package/dist/modes/base.behavior.d.ts +21 -19
- package/dist/modes/base.mode.d.ts +66 -33
- package/dist/modes/circle/circle.mode.d.ts +66 -37
- package/dist/modes/click-bounding-box.behavior.d.ts +6 -7
- package/dist/modes/freehand/freehand.mode.d.ts +63 -43
- package/dist/modes/insert-coordinates.behavior.d.ts +9 -0
- package/dist/modes/linestring/linestring.mode.d.ts +78 -47
- package/dist/modes/pixel-distance.behavior.d.ts +7 -7
- package/dist/modes/point/point.mode.d.ts +44 -26
- package/dist/modes/polygon/behaviors/closing-points.behavior.d.ts +19 -19
- package/dist/modes/polygon/polygon.mode.d.ts +69 -51
- package/dist/modes/rectangle/rectangle.mode.d.ts +55 -0
- package/dist/modes/render/render.mode.d.ts +52 -23
- package/dist/modes/select/behaviors/drag-coordinate-resize.behavior.d.ts +62 -0
- package/dist/modes/select/behaviors/drag-coordinate.behavior.d.ts +20 -13
- package/dist/modes/select/behaviors/drag-feature.behavior.d.ts +20 -17
- package/dist/modes/select/behaviors/{features-at-mouse-event.behavior.d.ts → feature-at-pointer-event.behavior.d.ts} +15 -15
- package/dist/modes/select/behaviors/midpoint.behavior.d.ts +19 -18
- package/dist/modes/select/behaviors/rotate-feature.behavior.d.ts +14 -13
- package/dist/modes/select/behaviors/scale-feature.behavior.d.ts +14 -13
- package/dist/modes/select/behaviors/selection-point.behavior.d.ts +19 -18
- package/dist/modes/select/select.mode.d.ts +119 -78
- package/dist/modes/snapping.behavior.d.ts +16 -13
- package/dist/modes/static/static.mode.d.ts +32 -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-feature-validation.d.ts +16 -0
- package/dist/store/store.d.ts +59 -48
- package/dist/terra-draw.cjs +1 -1
- package/dist/terra-draw.cjs.map +1 -1
- package/dist/terra-draw.d.ts +223 -48
- 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/dist/validations/linestring.validation.d.ts +2 -0
- package/dist/validations/max-size.validation.d.ts +2 -0
- package/dist/validations/min-size.validation.d.ts +2 -0
- package/dist/validations/not-self-intersecting.validation.d.ts +2 -0
- package/dist/validations/point.validation.d.ts +2 -0
- package/dist/validations/polygon.validation.d.ts +3 -0
- package/e2e/README.md +29 -0
- package/e2e/package-lock.json +4274 -0
- package/e2e/package.json +26 -0
- package/e2e/playwright.config.ts +77 -0
- package/e2e/public/favicon.ico +0 -0
- package/e2e/public/index.html +53 -0
- package/e2e/tests/leaflet.spec.ts +739 -0
- package/e2e/tests/setup.ts +198 -0
- package/e2e/webpack.config.js +36 -0
- package/jest.nocheck.config.ts +17 -0
- package/package.json +158 -87
- package/readme.gif +0 -0
- package/tsconfig.json +25 -12
- package/CODE_OF_CONDUCT.md +0 -36
- package/CONTRIBUTING.md +0 -17
- package/DEVELOPMENT.md +0 -77
- package/dist/bundle.js +0 -6
- package/dist/bundle.js.LICENSE.txt +0 -4
- package/dist/geometry/create-circle.d.ts +0 -6
- package/dist/geometry/get-pixel-distance-to-line.d.ts +0 -10
- package/dist/geometry/get-pixel-distance.d.ts +0 -7
- package/dist/geometry/haversine-distance.d.ts +0 -1
- package/dist/geometry/point-in-polygon.d.ts +0 -1
- package/dist/geometry/self-intersects.d.ts +0 -2
- package/dist/modes/circle.mode.d.ts +0 -18
- package/dist/modes/freehand.mode.d.ts +0 -20
- package/dist/modes/line-string.mode.d.ts +0 -21
- package/dist/modes/point.mode.d.ts +0 -14
- package/dist/modes/polygon/behaviors/start-end-point.behavior.d.ts +0 -11
- package/dist/modes/polygon.mode.d.ts +0 -21
- package/dist/modes/select.mode.d.ts +0 -21
- package/dist/modes/static.mode.d.ts +0 -10
- package/jest.config.ts +0 -27
package/dist/store/store.d.ts
CHANGED
|
@@ -1,48 +1,59 @@
|
|
|
1
|
-
import { Feature, Point, Polygon, LineString } from "geojson";
|
|
2
|
-
|
|
3
|
-
export interface JSONObject {
|
|
4
|
-
[member: string]: JSON;
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
export
|
|
9
|
-
export
|
|
10
|
-
export
|
|
11
|
-
export
|
|
12
|
-
export
|
|
13
|
-
export
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
};
|
|
18
|
-
export
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
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: FeatureId[], change: StoreChangeEvents) => void;
|
|
13
|
+
export type FeatureId = string | number;
|
|
14
|
+
export type IdStrategy<Id extends FeatureId> = {
|
|
15
|
+
isValidId: (id: Id) => boolean;
|
|
16
|
+
getId: () => Id;
|
|
17
|
+
};
|
|
18
|
+
export type GeoJSONStoreConfig<Id extends FeatureId> = {
|
|
19
|
+
idStrategy?: IdStrategy<Id>;
|
|
20
|
+
tracked?: boolean;
|
|
21
|
+
};
|
|
22
|
+
export declare const defaultIdStrategy: {
|
|
23
|
+
getId: <FeatureId>() => FeatureId;
|
|
24
|
+
isValidId: (id: FeatureId) => boolean;
|
|
25
|
+
};
|
|
26
|
+
export declare class GeoJSONStore<Id extends FeatureId = FeatureId> {
|
|
27
|
+
constructor(config?: GeoJSONStoreConfig<Id>);
|
|
28
|
+
idStrategy: IdStrategy<Id>;
|
|
29
|
+
private tracked;
|
|
30
|
+
private spatialIndex;
|
|
31
|
+
private store;
|
|
32
|
+
private _onChange;
|
|
33
|
+
private clone;
|
|
34
|
+
getId(): FeatureId;
|
|
35
|
+
has(id: FeatureId): boolean;
|
|
36
|
+
load(data: GeoJSONStoreFeatures[], featureValidation?: (feature: unknown, tracked?: boolean) => boolean): void;
|
|
37
|
+
search(bbox: BBoxPolygon, filter?: (feature: GeoJSONStoreFeatures) => boolean): GeoJSONStoreFeatures[];
|
|
38
|
+
registerOnChange(onChange: StoreChangeHandler): void;
|
|
39
|
+
getGeometryCopy<T extends GeoJSONStoreGeometries>(id: FeatureId): T;
|
|
40
|
+
getPropertiesCopy(id: FeatureId): DefinedProperties;
|
|
41
|
+
updateProperty(propertiesToUpdate: {
|
|
42
|
+
id: FeatureId;
|
|
43
|
+
property: string;
|
|
44
|
+
value: JSON;
|
|
45
|
+
}[]): void;
|
|
46
|
+
updateGeometry(geometriesToUpdate: {
|
|
47
|
+
id: FeatureId;
|
|
48
|
+
geometry: GeoJSONStoreGeometries;
|
|
49
|
+
}[]): void;
|
|
50
|
+
create<Id extends FeatureId>(features: {
|
|
51
|
+
geometry: GeoJSONStoreGeometries;
|
|
52
|
+
properties?: JSONObject;
|
|
53
|
+
}[]): Id[];
|
|
54
|
+
delete(ids: FeatureId[]): void;
|
|
55
|
+
copyAll(): GeoJSONStoreFeatures[];
|
|
56
|
+
clear(): void;
|
|
57
|
+
size(): number;
|
|
58
|
+
}
|
|
59
|
+
export {};
|