terra-draw 0.0.1-alpha.40 → 0.0.1-alpha.41
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 +7 -0
- package/README.md +1 -1
- package/package.json +6 -2
- package/scripts/next-alpha-version.ts +21 -0
- package/dist/adapters/common/base-adapter.d.ts +0 -31
- package/dist/bundle.js +0 -6
- package/dist/bundle.js.LICENSE.txt +0 -4
- package/dist/extend-types.d.ts +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/scratch/release.sh +0 -6
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
### 0.0.1-alpha.41 (2023-07-16)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Chore
|
|
9
|
+
|
|
10
|
+
* alpha release script ([7b743ab](https://github.com/JamesLMilner/terra-draw/commit/7b743ab48ec8db0a294373d9a3c2c066945a2fe4))
|
|
11
|
+
|
|
5
12
|
### [0.0.1-alpha.40](https://github.com/JamesLMilner/terra-draw/compare/v0.0.1-alpha.39...v0.0.1-alpha.40) (2023-07-15)
|
|
6
13
|
|
|
7
14
|
|
package/README.md
CHANGED
|
@@ -16,7 +16,7 @@ Terra Draw uses the concept of 'adapters' to allow it to work with a host of dif
|
|
|
16
16
|
- [Leaflet](https://leafletjs.com/) v1
|
|
17
17
|
- [OpenLayers](https://openlayers.org/) v7
|
|
18
18
|
- [Mapbox GL JS](https://www.mapbox.com/mapbox-gljs) v2
|
|
19
|
-
- [MapLibre](https://maplibre.org/projects/maplibre-gl-js/) v2
|
|
19
|
+
- [MapLibre](https://maplibre.org/projects/maplibre-gl-js/) v2/v3
|
|
20
20
|
- [Google Maps JS API](https://developers.google.com/maps/documentation/javascript/overview) v3
|
|
21
21
|
|
|
22
22
|
### Getting Started
|
package/package.json
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "terra-draw",
|
|
3
|
-
"version": "0.0.1-alpha.
|
|
3
|
+
"version": "0.0.1-alpha.41",
|
|
4
4
|
"description": "Frictionless map drawing across mapping provider",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"docs": "typedoc",
|
|
7
7
|
"docs:serve": "serve ./docs",
|
|
8
8
|
"release": "standard-version",
|
|
9
|
+
"release:alpha:next": "ts-node --esm ./scripts/next-alpha-version.ts",
|
|
9
10
|
"build": "microbundle",
|
|
10
11
|
"watch": "microbundle --watch --format modern",
|
|
11
12
|
"test": "jest --config jest.config.ts",
|
|
@@ -68,7 +69,7 @@
|
|
|
68
69
|
"jest": "^29.3.1",
|
|
69
70
|
"leaflet": "^1.8.0",
|
|
70
71
|
"mapbox-gl": "^2.13.0",
|
|
71
|
-
"maplibre-gl": "
|
|
72
|
+
"maplibre-gl": "3.2.0",
|
|
72
73
|
"microbundle": "^0.15.0",
|
|
73
74
|
"ol": "^7.1.0",
|
|
74
75
|
"serve": "^14.1.2",
|
|
@@ -148,5 +149,8 @@
|
|
|
148
149
|
"section": "Reverts"
|
|
149
150
|
}
|
|
150
151
|
]
|
|
152
|
+
},
|
|
153
|
+
"dependencies": {
|
|
154
|
+
"ts-node": "^10.9.1"
|
|
151
155
|
}
|
|
152
156
|
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { readFileSync } from "fs";
|
|
2
|
+
|
|
3
|
+
const packageJson = JSON.parse(readFileSync("./package.json", "utf-8"));
|
|
4
|
+
|
|
5
|
+
if (packageJson.version.includes("alpha")) {
|
|
6
|
+
const currentVersion = packageJson.version.split(".").pop();
|
|
7
|
+
|
|
8
|
+
if (
|
|
9
|
+
currentVersion === undefined ||
|
|
10
|
+
currentVersion === null ||
|
|
11
|
+
isNaN(currentVersion)
|
|
12
|
+
) {
|
|
13
|
+
throw new Error("Could not get current version number");
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
const nextVersion = parseInt(currentVersion) + 1;
|
|
17
|
+
|
|
18
|
+
console.log(nextVersion);
|
|
19
|
+
} else {
|
|
20
|
+
throw new Error("This script is for alpha releases only");
|
|
21
|
+
}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { Project, Unproject, TerraDrawCallbacks, TerraDrawChanges, TerraDrawMouseEvent, SetCursor, TerraDrawStylingFunction } from "../../common";
|
|
2
|
-
import { AdapterListener } from "./adapter-listener";
|
|
3
|
-
export declare abstract class TerraDrawAdapterBase {
|
|
4
|
-
constructor(config: {
|
|
5
|
-
coordinatePrecision?: number;
|
|
6
|
-
minPixelDragDistance?: number;
|
|
7
|
-
});
|
|
8
|
-
protected dragConter: number;
|
|
9
|
-
protected _minPixelDragDistance: number;
|
|
10
|
-
protected _lastDrawEvent: TerraDrawMouseEvent | undefined;
|
|
11
|
-
protected _coordinatePrecision: number;
|
|
12
|
-
protected _heldKeys: Set<string>;
|
|
13
|
-
protected listeners: AdapterListener[];
|
|
14
|
-
protected dragState: "not-dragging" | "pre-dragging" | "dragging";
|
|
15
|
-
protected currentModeCallbacks: TerraDrawCallbacks | undefined;
|
|
16
|
-
protected getButton(event: PointerEvent): "neither" | "left" | "middle" | "right";
|
|
17
|
-
protected getDrawEventFromPointerEvent(event: PointerEvent): TerraDrawMouseEvent;
|
|
18
|
-
abstract project(...args: Parameters<Project>): ReturnType<Project>;
|
|
19
|
-
abstract unproject(...args: Parameters<Unproject>): ReturnType<Unproject>;
|
|
20
|
-
abstract setCursor(...args: Parameters<SetCursor>): ReturnType<SetCursor>;
|
|
21
|
-
abstract getLngLatFromPointerEvent(event: PointerEvent): {
|
|
22
|
-
lng: number;
|
|
23
|
-
lat: number;
|
|
24
|
-
};
|
|
25
|
-
abstract setDraggability(enabled: boolean): void;
|
|
26
|
-
abstract setDoubleClickToZoom(enabled: boolean): void;
|
|
27
|
-
abstract getMapContainer(): HTMLElement;
|
|
28
|
-
abstract register(callbacks: TerraDrawCallbacks): void;
|
|
29
|
-
abstract unregister(): void;
|
|
30
|
-
abstract render(changes: TerraDrawChanges, styling: TerraDrawStylingFunction): void;
|
|
31
|
-
}
|
package/dist/bundle.js
DELETED
package/dist/extend-types.d.ts
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { GetLngLatFromEvent, Project, SetCursor, TerraDrawChanges, TerraDrawStylingFunction, Unproject } from "./common";
|
|
2
|
-
import { BehaviorConfig } from "./modes/base.behavior";
|
|
3
|
-
import { GeoJSONStoreFeatures } from "./store/store";
|
|
4
|
-
export { BehaviorConfig, GeoJSONStoreFeatures, TerraDrawChanges, TerraDrawStylingFunction, Project, Unproject, SetCursor, GetLngLatFromEvent, };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function haversineDistanceKilometers(pointOne: [lng: number, lat: number], pointTwo: [lng: number, lat: number]): number;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function pointInPolygon(point: [number, number], rings: [number, number][][]): boolean;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { TerraDrawMouseEvent, TerraDrawMode, TerraDrawModeRegisterConfig, TerraDrawAdapterStyling, TerraDrawKeyboardEvent } from "../common";
|
|
2
|
-
export declare class TerraDrawCircleMode implements TerraDrawMode {
|
|
3
|
-
mode: string;
|
|
4
|
-
private store;
|
|
5
|
-
private project;
|
|
6
|
-
private center;
|
|
7
|
-
private clickCount;
|
|
8
|
-
private currentCircleId;
|
|
9
|
-
constructor(options?: {
|
|
10
|
-
styling?: Partial<TerraDrawAdapterStyling>;
|
|
11
|
-
});
|
|
12
|
-
styling: TerraDrawAdapterStyling;
|
|
13
|
-
register(config: TerraDrawModeRegisterConfig): void;
|
|
14
|
-
onClick(event: TerraDrawMouseEvent): void;
|
|
15
|
-
onMouseMove(event: TerraDrawMouseEvent): void;
|
|
16
|
-
onKeyPress(event: TerraDrawKeyboardEvent): void;
|
|
17
|
-
cleanUp(): void;
|
|
18
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { TerraDrawMouseEvent, TerraDrawMode, TerraDrawModeRegisterConfig, TerraDrawAdapterStyling, TerraDrawKeyboardEvent } from "../common";
|
|
2
|
-
export declare class TerraDrawFreehandMode implements TerraDrawMode {
|
|
3
|
-
mode: string;
|
|
4
|
-
private store;
|
|
5
|
-
private project;
|
|
6
|
-
private startingClick;
|
|
7
|
-
private currentId;
|
|
8
|
-
private skip;
|
|
9
|
-
private everyNthMouseEvent;
|
|
10
|
-
constructor(options?: {
|
|
11
|
-
styling?: Partial<TerraDrawAdapterStyling>;
|
|
12
|
-
everyNthMouseEvent?: number;
|
|
13
|
-
});
|
|
14
|
-
styling: TerraDrawAdapterStyling;
|
|
15
|
-
register(config: TerraDrawModeRegisterConfig): void;
|
|
16
|
-
onMouseMove(event: TerraDrawMouseEvent): void;
|
|
17
|
-
onClick(event: TerraDrawMouseEvent): void;
|
|
18
|
-
onKeyPress(event: TerraDrawKeyboardEvent): void;
|
|
19
|
-
cleanUp(): void;
|
|
20
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { TerraDrawMouseEvent, TerraDrawMode, TerraDrawModeRegisterConfig, TerraDrawAdapterStyling, TerraDrawKeyboardEvent } from "../common";
|
|
2
|
-
export declare class TerraDrawLineStringMode implements TerraDrawMode {
|
|
3
|
-
mode: string;
|
|
4
|
-
private store;
|
|
5
|
-
private project;
|
|
6
|
-
private pointerDistance;
|
|
7
|
-
private currentCoordinate;
|
|
8
|
-
private currentId;
|
|
9
|
-
private allowSelfIntersections;
|
|
10
|
-
constructor(options?: {
|
|
11
|
-
allowSelfIntersections?: boolean;
|
|
12
|
-
styling?: Partial<TerraDrawAdapterStyling>;
|
|
13
|
-
pointerDistance?: number;
|
|
14
|
-
});
|
|
15
|
-
styling: TerraDrawAdapterStyling;
|
|
16
|
-
register(config: TerraDrawModeRegisterConfig): void;
|
|
17
|
-
onMouseMove(event: TerraDrawMouseEvent): void;
|
|
18
|
-
onClick(event: TerraDrawMouseEvent): void;
|
|
19
|
-
onKeyPress(event: TerraDrawKeyboardEvent): void;
|
|
20
|
-
cleanUp(): void;
|
|
21
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { TerraDrawMouseEvent, TerraDrawMode, TerraDrawModeRegisterConfig, TerraDrawAdapterStyling } from "../common";
|
|
2
|
-
export declare class TerraDrawPointMode implements TerraDrawMode {
|
|
3
|
-
mode: string;
|
|
4
|
-
private store;
|
|
5
|
-
constructor(options?: {
|
|
6
|
-
styling?: Partial<TerraDrawAdapterStyling>;
|
|
7
|
-
});
|
|
8
|
-
styling: TerraDrawAdapterStyling;
|
|
9
|
-
register(config: TerraDrawModeRegisterConfig): void;
|
|
10
|
-
onClick(event: TerraDrawMouseEvent): void;
|
|
11
|
-
onMouseMove(): void;
|
|
12
|
-
onKeyPress(): void;
|
|
13
|
-
cleanUp(): void;
|
|
14
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { Position } from "geojson";
|
|
2
|
-
import { BehaviorConfig, TerraDrawModeBehavior } from "../../base.behavior";
|
|
3
|
-
export declare class StartEndPointBehavior extends TerraDrawModeBehavior {
|
|
4
|
-
constructor(config: BehaviorConfig);
|
|
5
|
-
private _startEndPoints;
|
|
6
|
-
get ids(): string[];
|
|
7
|
-
set ids(_: string[]);
|
|
8
|
-
create(selectedCoords: Position[], mode: string): void;
|
|
9
|
-
delete(): void;
|
|
10
|
-
update(updatedCoordinates: Position[]): void;
|
|
11
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { TerraDrawMouseEvent, TerraDrawMode, TerraDrawModeRegisterConfig, TerraDrawAdapterStyling, TerraDrawKeyboardEvent } from "../common";
|
|
2
|
-
export declare class TerraDrawPolygonMode implements TerraDrawMode {
|
|
3
|
-
mode: string;
|
|
4
|
-
private store;
|
|
5
|
-
private project;
|
|
6
|
-
private currentCoordinate;
|
|
7
|
-
private currentId;
|
|
8
|
-
private allowSelfIntersections;
|
|
9
|
-
private pointerDistance;
|
|
10
|
-
constructor(options?: {
|
|
11
|
-
allowSelfIntersections?: boolean;
|
|
12
|
-
styling?: Partial<TerraDrawAdapterStyling>;
|
|
13
|
-
pointerDistance?: number;
|
|
14
|
-
});
|
|
15
|
-
styling: TerraDrawAdapterStyling;
|
|
16
|
-
register(config: TerraDrawModeRegisterConfig): void;
|
|
17
|
-
onMouseMove(event: TerraDrawMouseEvent): void;
|
|
18
|
-
onClick(event: TerraDrawMouseEvent): void;
|
|
19
|
-
onKeyPress(event: TerraDrawKeyboardEvent): void;
|
|
20
|
-
cleanUp(): void;
|
|
21
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { TerraDrawMouseEvent, TerraDrawMode, TerraDrawModeRegisterConfig, TerraDrawKeyboardEvent, TerraDrawAdapterStyling } from "../common";
|
|
2
|
-
export declare class TerraDrawSelectMode implements TerraDrawMode {
|
|
3
|
-
mode: string;
|
|
4
|
-
private store;
|
|
5
|
-
private project;
|
|
6
|
-
private selected;
|
|
7
|
-
private pointerDistance;
|
|
8
|
-
private selectionPoints;
|
|
9
|
-
constructor(options?: {
|
|
10
|
-
styling?: Partial<TerraDrawAdapterStyling>;
|
|
11
|
-
pointerDistance?: number;
|
|
12
|
-
});
|
|
13
|
-
styling: TerraDrawAdapterStyling;
|
|
14
|
-
onClick(event: TerraDrawMouseEvent): void;
|
|
15
|
-
onKeyPress(event: TerraDrawKeyboardEvent): void;
|
|
16
|
-
cleanUp(): void;
|
|
17
|
-
onMouseMove(): void;
|
|
18
|
-
register(config: TerraDrawModeRegisterConfig): void;
|
|
19
|
-
onDeselect(deselectedId: string): void;
|
|
20
|
-
onSelect(selectedId: string): void;
|
|
21
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { TerraDrawAdapterStyling, TerraDrawMode } from "../common";
|
|
2
|
-
export declare class TerraDrawStaticMode implements TerraDrawMode {
|
|
3
|
-
mode: string;
|
|
4
|
-
styling: TerraDrawAdapterStyling;
|
|
5
|
-
register(): void;
|
|
6
|
-
onKeyPress(): void;
|
|
7
|
-
onClick(): void;
|
|
8
|
-
onMouseMove(): void;
|
|
9
|
-
cleanUp(): void;
|
|
10
|
-
}
|