terra-draw 0.0.1-alpha.4 → 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 +432 -0
- package/README.md +25 -4
- package/dist/adapters/common/adapter-listener.d.ts +22 -0
- package/dist/adapters/common/base.adapter.d.ts +47 -0
- package/dist/adapters/google-maps.adapter.d.ts +87 -38
- package/dist/adapters/leaflet.adapter.d.ts +98 -35
- package/dist/adapters/mapbox-gl.adapter.d.ts +89 -36
- package/dist/adapters/maplibre-gl.adapter.d.ts +72 -0
- package/dist/adapters/openlayers.adapter.d.ts +117 -0
- package/dist/common.d.ts +93 -99
- package/dist/geometry/boolean/is-valid-coordinate.d.ts +4 -0
- package/dist/geometry/boolean/is-valid-linestring-feature.d.ts +2 -0
- package/dist/geometry/boolean/is-valid-point.d.ts +2 -0
- package/dist/geometry/boolean/is-valid-polygon-feature.d.ts +3 -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/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 -7
- 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 -2
- package/dist/geometry/shape/create-circle.d.ts +7 -7
- package/dist/geometry/shape/great-circle-line.d.ts +12 -0
- 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 +55 -30
- package/dist/modes/circle/circle.mode.d.ts +49 -27
- package/dist/modes/click-bounding-box.behavior.d.ts +7 -7
- package/dist/modes/freehand/freehand.mode.d.ts +55 -29
- package/dist/modes/great-circle-snapping.behavior.d.ts +13 -0
- package/dist/modes/greatcircle/great-circle.mode.d.ts +58 -0
- package/dist/modes/linestring/linestring.mode.d.ts +61 -34
- package/dist/modes/pixel-distance.behavior.d.ts +7 -7
- package/dist/modes/point/point.mode.d.ts +39 -18
- package/dist/modes/polygon/behaviors/closing-points.behavior.d.ts +19 -0
- package/dist/modes/polygon/polygon.mode.d.ts +64 -37
- package/dist/modes/rectangle/rectangle.mode.d.ts +50 -0
- package/dist/modes/render/render.mode.d.ts +39 -0
- package/dist/modes/select/behaviors/drag-coordinate.behavior.d.ts +19 -13
- package/dist/modes/select/behaviors/drag-feature.behavior.d.ts +19 -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 +100 -62
- package/dist/modes/snapping.behavior.d.ts +13 -13
- package/dist/modes/static/static.mode.d.ts +32 -13
- 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 +15 -0
- package/dist/store/store.d.ts +48 -48
- package/dist/terra-draw.cjs +1 -1
- package/dist/terra-draw.cjs.map +1 -1
- package/dist/terra-draw.d.ts +159 -47
- 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 +292 -0
- package/jest.config.ts +22 -22
- package/logo.png +0 -0
- package/package.json +155 -87
- package/readme.gif +0 -0
- package/scripts/next-alpha-version.ts +21 -0
- package/tsconfig.json +20 -12
- 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/{CODE_OF_CONDUCT.md → guides/CODE_OF_CONDUCT.md} +0 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,432 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
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
|
+
|
|
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
|
+
|
|
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)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### Features
|
|
16
|
+
|
|
17
|
+
* more robust handling of select mode styling ([b5350cc](https://github.com/JamesLMilner/terra-draw/commit/b5350cc50671b890067efdd54aba8a806328a3ae))
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Chore
|
|
21
|
+
|
|
22
|
+
* add instructions on how to style selected data to getting started guide ([c012773](https://github.com/JamesLMilner/terra-draw/commit/c01277300098be207601b44ea2a04ebf01ffd73d))
|
|
23
|
+
|
|
24
|
+
### [0.0.1-alpha.39](https://github.com/JamesLMilner/terra-draw/compare/v0.0.1-alpha.38...v0.0.1-alpha.39) (2023-07-15)
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
### Bug Fixes
|
|
28
|
+
|
|
29
|
+
* ensure projection is available in google maps adapter to prevent errors ([3d0a60d](https://github.com/JamesLMilner/terra-draw/commit/3d0a60d825d9218fcbe990a9e31bb392f8bd3605))
|
|
30
|
+
* make sure points in point mode that are selected are visibly different ([8016a2e](https://github.com/JamesLMilner/terra-draw/commit/8016a2ea4656337e81524cdf066d800b9d1496fe))
|
|
31
|
+
|
|
32
|
+
### [0.0.1-alpha.38](https://github.com/JamesLMilner/terra-draw/compare/v0.0.1-alpha.37...v0.0.1-alpha.38) (2023-07-02)
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
### Bug Fixes
|
|
36
|
+
|
|
37
|
+
* ensure styling is updated for MapboxGL/MapLibreGL style only updates ([baa63da](https://github.com/JamesLMilner/terra-draw/commit/baa63dad92f5dd02c694a34b359502fb889f325d))
|
|
38
|
+
* ensure terra draw instance is enabled on event callback ([bdc22f8](https://github.com/JamesLMilner/terra-draw/commit/bdc22f8162a803e7e39f5475a189465d668a7f77))
|
|
39
|
+
* handle select mode dragging features out of lat/lng bounds ([52bd009](https://github.com/JamesLMilner/terra-draw/commit/52bd009e5b5a8c8386b9ee1f6da959c111f4b443))
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
### Chore
|
|
43
|
+
|
|
44
|
+
* update docs ([6229136](https://github.com/JamesLMilner/terra-draw/commit/62291369e9e1f6610be2fcc10dd3f70f261d2a52))
|
|
45
|
+
|
|
46
|
+
### [0.0.1-alpha.37](https://github.com/JamesLMilner/terra-draw/compare/v0.0.1-alpha.36...v0.0.1-alpha.37) (2023-07-01)
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
### Bug Fixes
|
|
50
|
+
|
|
51
|
+
* enable/disable drag rotations in MapboxGL/MapLibre adapters when calling setDraggability ([8c62512](https://github.com/JamesLMilner/terra-draw/commit/8c6251227215aa9cb966aca040d6e8a2d46c28da))
|
|
52
|
+
* handle errors in unproject in openlayers adapter ([bc117fa](https://github.com/JamesLMilner/terra-draw/commit/bc117fa95b87452578e2edaf6f0b6bb79ff428af))
|
|
53
|
+
* resolve several issues with selection ([820f7a6](https://github.com/JamesLMilner/terra-draw/commit/820f7a60d909d64945b3c2b7e8649ef0fc95c920))
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
### Chore
|
|
57
|
+
|
|
58
|
+
* increase test coverage ([514be2f](https://github.com/JamesLMilner/terra-draw/commit/514be2f0bc71a12e919c37d25e8d308940366b73))
|
|
59
|
+
|
|
60
|
+
### [0.0.1-alpha.36](https://github.com/JamesLMilner/terra-draw/compare/v0.0.1-alpha.35...v0.0.1-alpha.36) (2023-06-20)
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
### Bug Fixes
|
|
64
|
+
|
|
65
|
+
* ensure that preventDefault is only called when necessary for keyboard inputs ([108e20d](https://github.com/JamesLMilner/terra-draw/commit/108e20d8e6048cf7d1145c53e3bc4c7c227c8a19))
|
|
66
|
+
|
|
67
|
+
### [0.0.1-alpha.35](https://github.com/JamesLMilner/terra-draw/compare/v0.0.1-alpha.34...v0.0.1-alpha.35) (2023-06-13)
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
### Bug Fixes
|
|
71
|
+
|
|
72
|
+
* fix clearLayers not working correctly for mapbox/maplibre adapters ([f80db0e](https://github.com/JamesLMilner/terra-draw/commit/f80db0e4162826c6d9d4ef817de76b25fdaf80f1))
|
|
73
|
+
* fix failing polygon mode unit test ([65ba076](https://github.com/JamesLMilner/terra-draw/commit/65ba076741e610a1b9c9eaa6baa5d71d4a1a85b8))
|
|
74
|
+
* fix styling issues for polygon and select modes ([d8e852c](https://github.com/JamesLMilner/terra-draw/commit/d8e852cbac3f76dfbc3dabc09d1aa4d0cc541ca3))
|
|
75
|
+
|
|
76
|
+
### [0.0.1-alpha.34](https://github.com/JamesLMilner/terra-draw/compare/v0.0.1-alpha.33...v0.0.1-alpha.34) (2023-06-11)
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
### Features
|
|
80
|
+
|
|
81
|
+
* add removeFeatures method to terra draw API ([b0999d2](https://github.com/JamesLMilner/terra-draw/commit/b0999d25ce0970852aa230181b9a949589e7b6d2))
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
### Bug Fixes
|
|
85
|
+
|
|
86
|
+
* don't update closing points on mouse move ([c2b7ce8](https://github.com/JamesLMilner/terra-draw/commit/c2b7ce8fdc0260fc09e84b3372cb4101c6f6564e))
|
|
87
|
+
* fix issue with mapboxgl adapter where geometry renders were lost ([bc1a937](https://github.com/JamesLMilner/terra-draw/commit/bc1a9371d92871c8b5b4fe29fb07b53c0e78c99f))
|
|
88
|
+
* for mapbox/maplibre adapter, only update data for layers that have changes ([a3f5c8a](https://github.com/JamesLMilner/terra-draw/commit/a3f5c8a742e76f23634a79346d2797f44927fb95))
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
### Chore
|
|
92
|
+
|
|
93
|
+
* update docs ([701a66a](https://github.com/JamesLMilner/terra-draw/commit/701a66a0243ecdccf448b59cfbe90ed9474253db))
|
|
94
|
+
|
|
95
|
+
### [0.0.1-alpha.33](https://github.com/JamesLMilner/terra-draw/compare/v0.0.1-alpha.32...v0.0.1-alpha.33) (2023-06-04)
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
### Bug Fixes
|
|
99
|
+
|
|
100
|
+
* improve performance of mapbox gl/maplibre gl adapter ([67082af](https://github.com/JamesLMilner/terra-draw/commit/67082af096cf1b1d5a0426f7db651122fb897b49))
|
|
101
|
+
|
|
102
|
+
### [0.0.1-alpha.32](https://github.com/JamesLMilner/terra-draw/compare/v0.0.1-alpha.31...v0.0.1-alpha.32) (2023-06-04)
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
### Features
|
|
106
|
+
|
|
107
|
+
* add the addFeatures method to allow adding of external data ([b6e0043](https://github.com/JamesLMilner/terra-draw/commit/b6e004377f1baff78e01f9324413469677f2df5b))
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
### Chore
|
|
111
|
+
|
|
112
|
+
* update docs ([36997cc](https://github.com/JamesLMilner/terra-draw/commit/36997cc7c7071af1af1a27ad457cab0361f3e5e9))
|
|
113
|
+
|
|
114
|
+
### [0.0.1-alpha.31](https://github.com/JamesLMilner/terra-draw/compare/v0.0.1-alpha.30...v0.0.1-alpha.31) (2023-05-22)
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
### Features
|
|
118
|
+
|
|
119
|
+
* add onFinish event to terra draw ([fb36988](https://github.com/JamesLMilner/terra-draw/commit/fb36988ce3e291f4198e38a455d385eb40db326b))
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
### Chore
|
|
123
|
+
|
|
124
|
+
* update docs ([ed78e25](https://github.com/JamesLMilner/terra-draw/commit/ed78e2575b789429f08a4c0b96041bdf4deed5b9))
|
|
125
|
+
|
|
126
|
+
### [0.0.1-alpha.30](https://github.com/JamesLMilner/terra-draw/compare/v0.0.1-alpha.29...v0.0.1-alpha.30) (2023-05-21)
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
### Bug Fixes
|
|
130
|
+
|
|
131
|
+
* allow wait as a setCursor parameter ([839bb90](https://github.com/JamesLMilner/terra-draw/commit/839bb906999420931f3b2833be781688a2ec39be))
|
|
132
|
+
* clear now removes all rendered layers ([fd7a208](https://github.com/JamesLMilner/terra-draw/commit/fd7a2081338b4d6ebfc3e93a6580a38b9649343a))
|
|
133
|
+
* correctly name styling typings for rectangle mode ([a460a3a](https://github.com/JamesLMilner/terra-draw/commit/a460a3aa7411f275d72930f5d41bd76de107c1d9))
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
### Chore
|
|
137
|
+
|
|
138
|
+
* update docs ([ea4f52c](https://github.com/JamesLMilner/terra-draw/commit/ea4f52ca091772c8bed2c1b6c103db7b4734eb6e))
|
|
139
|
+
|
|
140
|
+
### [0.0.1-alpha.29](https://github.com/JamesLMilner/terra-draw/compare/v0.0.1-alpha.28...v0.0.1-alpha.29) (2023-05-14)
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
### Chore
|
|
144
|
+
|
|
145
|
+
* prefer top level types for easier importing ([5570bb2](https://github.com/JamesLMilner/terra-draw/commit/5570bb29ac1ca351f5b4c71625ddfd666738cbac))
|
|
146
|
+
|
|
147
|
+
### [0.0.1-alpha.28](https://github.com/JamesLMilner/terra-draw/compare/v0.0.1-alpha.27...v0.0.1-alpha.28) (2023-05-14)
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
### Chore
|
|
151
|
+
|
|
152
|
+
* export necessary types for proper 3rd party extension ([843fe2f](https://github.com/JamesLMilner/terra-draw/commit/843fe2fb5a992055908347028d50db9433399385))
|
|
153
|
+
|
|
154
|
+
### [0.0.1-alpha.27](https://github.com/JamesLMilner/terra-draw/compare/v0.0.1-alpha.26...v0.0.1-alpha.27) (2023-05-06)
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
### Bug Fixes
|
|
158
|
+
|
|
159
|
+
* address potential issue with spreading Sets for the held keys ([7fdf0b0](https://github.com/JamesLMilner/terra-draw/commit/7fdf0b0e9acfb108dd45e3a23f0e1d2160ca9b53))
|
|
160
|
+
* ensure that container coordinates are correct when they are nested ([13aef09](https://github.com/JamesLMilner/terra-draw/commit/13aef09abfbab22815790a4968b365a2e3c06176))
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
### Chore
|
|
164
|
+
|
|
165
|
+
* add leaflet adapter unit tests ([8f4e6f3](https://github.com/JamesLMilner/terra-draw/commit/8f4e6f35771cd82d89823c66878a4e64732397b0))
|
|
166
|
+
* update docs ([1a8b15b](https://github.com/JamesLMilner/terra-draw/commit/1a8b15b82ba5b14eba9bcdfb225941611dc5d4bd))
|
|
167
|
+
|
|
168
|
+
### [0.0.1-alpha.26](https://github.com/JamesLMilner/terra-draw/compare/v0.0.1-alpha.25...v0.0.1-alpha.26) (2023-04-10)
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
### Features
|
|
172
|
+
|
|
173
|
+
* avoid mass creation and deletion of geometries in leaflet adapter render ([773208a](https://github.com/JamesLMilner/terra-draw/commit/773208a9350069849fab45e814a4ba8ad20187dd))
|
|
174
|
+
|
|
175
|
+
### [0.0.1-alpha.25](https://github.com/JamesLMilner/terra-draw/compare/v0.0.1-alpha.24...v0.0.1-alpha.25) (2023-04-07)
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
### Features
|
|
179
|
+
|
|
180
|
+
* allow zIndexing of linestrings and polygons for TerraDrawLeafletAdapter ([17a4441](https://github.com/JamesLMilner/terra-draw/commit/17a44416244490b5710560ef1fb20dc728a4730d))
|
|
181
|
+
|
|
182
|
+
### [0.0.1-alpha.24](https://github.com/JamesLMilner/terra-draw/compare/v0.0.1-alpha.23...v0.0.1-alpha.24) (2023-04-07)
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
### Features
|
|
186
|
+
|
|
187
|
+
* export base adapter and mode so that 3rd party developers can extend ([1662960](https://github.com/JamesLMilner/terra-draw/commit/16629602d8cb7f9b7d163c581ebe23abfd734c5d))
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
### Chore
|
|
191
|
+
|
|
192
|
+
* add example drawing gif image to readme ([edde444](https://github.com/JamesLMilner/terra-draw/commit/edde4442bc3aa6b6854d708edb477bb068331f8e))
|
|
193
|
+
* crop gif to make it a bit cleaner ([6fc4adf](https://github.com/JamesLMilner/terra-draw/commit/6fc4adfb12236428101b8a579649b9ff8ee3e946))
|
|
194
|
+
* update docs ([75c0848](https://github.com/JamesLMilner/terra-draw/commit/75c0848e582db24e287ff81d628de0486ad1e4e7))
|
|
195
|
+
|
|
196
|
+
### [0.0.1-alpha.23](https://github.com/JamesLMilner/terra-draw/compare/v0.0.1-alpha.22...v0.0.1-alpha.23) (2023-04-04)
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
### Features
|
|
200
|
+
|
|
201
|
+
* cache container for all adapters to avoid refetching it ([d0e3332](https://github.com/JamesLMilner/terra-draw/commit/d0e3332c873587f5c148b4999b46fc4392d84393))
|
|
202
|
+
* google maps adapter now uses base pointer based event system ([03b131d](https://github.com/JamesLMilner/terra-draw/commit/03b131db9d5ed4fd4658bf7dd2fba16dbb45b04a))
|
|
203
|
+
* move google maps to use base adapter ([5e52f4d](https://github.com/JamesLMilner/terra-draw/commit/5e52f4d849ec3fd2e0371f121a1bf5aac2b5491e))
|
|
204
|
+
* move mapbox adapter to use the base adapter ([08ddb8e](https://github.com/JamesLMilner/terra-draw/commit/08ddb8e0ff3b37628aef9893a28d52ef1e98536b))
|
|
205
|
+
* move openlayers adapter to use base event adapter ([92213f8](https://github.com/JamesLMilner/terra-draw/commit/92213f8ee4943825e6ddb036ceea21658b5ca8a7))
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
### Bug Fixes
|
|
209
|
+
|
|
210
|
+
* turn off tolerance on geojson layers for mapbox/maplibre adapters ([fb1e7a2](https://github.com/JamesLMilner/terra-draw/commit/fb1e7a2b26f30a26026bb1211211d18a7600a6f5))
|
|
211
|
+
|
|
212
|
+
|
|
213
|
+
### Chore
|
|
214
|
+
|
|
215
|
+
* add better comments around the getting started example ([811d5b6](https://github.com/JamesLMilner/terra-draw/commit/811d5b6178c5cc4eb63fa5aacd4cdca6928aa87f))
|
|
216
|
+
* add getting started guide ([c926568](https://github.com/JamesLMilner/terra-draw/commit/c926568f68ee87fb48795b9d34b176ba82bf99a0))
|
|
217
|
+
* add useful comments to adapter listener ([e882911](https://github.com/JamesLMilner/terra-draw/commit/e8829119658f0d636beb8ff9ef4cf4d8f8d69706))
|
|
218
|
+
* better typescript typing for onStyleChange ([476fe3c](https://github.com/JamesLMilner/terra-draw/commit/476fe3c6f89a34a66e916dbc91a9fd6a3b2accb0))
|
|
219
|
+
* bump typedoc ([be457de](https://github.com/JamesLMilner/terra-draw/commit/be457de36e03a2d00c9831af7247079e08914dc0))
|
|
220
|
+
* bump typescript to version 5 ([0dedc54](https://github.com/JamesLMilner/terra-draw/commit/0dedc54042d2019f00117b3764ee09a5195deaf0))
|
|
221
|
+
* create start and stop as abstract methods on base.mode ([bb1d330](https://github.com/JamesLMilner/terra-draw/commit/bb1d330060dfad72af921e1c76672b6b151427d3))
|
|
222
|
+
* fix polygon.mode.spec test for offset change ([23ef0ab](https://github.com/JamesLMilner/terra-draw/commit/23ef0ab981115e1a5172e68cd13cf19c0c5c2f0b))
|
|
223
|
+
* improve guides with additional information for new users ([ec785d5](https://github.com/JamesLMilner/terra-draw/commit/ec785d5f82f2f40acc730ad11cbb388cd312d480))
|
|
224
|
+
* minor tidy up to all adapters ([e644459](https://github.com/JamesLMilner/terra-draw/commit/e644459459faee21854d51436c6730b3932e80f0))
|
|
225
|
+
* remove logs ([a7c00c2](https://github.com/JamesLMilner/terra-draw/commit/a7c00c28b69e54cfe69454e4501dd4fee8eaa1d7))
|
|
226
|
+
* remove uncessary override of point mode setStarted ([e8bebca](https://github.com/JamesLMilner/terra-draw/commit/e8bebcadc34315d3da1d0e05bb4939343cbe0c64))
|
|
227
|
+
* rename base-adapter.ts to base.adapter.ts for consistency ([753c77c](https://github.com/JamesLMilner/terra-draw/commit/753c77c8ecc2f6b88c668ba5432e681db98b5221))
|
|
228
|
+
* swap leaflet and openlayers ordering in development app ([4ebf3c8](https://github.com/JamesLMilner/terra-draw/commit/4ebf3c837dc84d710fd0fd8e341e4f63d820c05e))
|
|
229
|
+
* update docs ([29ff37a](https://github.com/JamesLMilner/terra-draw/commit/29ff37a37f1b744df299a724d6da324ed31f1045))
|
|
230
|
+
* update wording around getting started guide ([f6bc21e](https://github.com/JamesLMilner/terra-draw/commit/f6bc21eb6c811af2bd1f59289dedc124c29cfca6))
|
|
231
|
+
|
|
232
|
+
### [0.0.1-alpha.22](https://github.com/JamesLMilner/terra-draw/compare/v0.0.1-alpha.21...v0.0.1-alpha.22) (2023-03-26)
|
|
233
|
+
|
|
234
|
+
|
|
235
|
+
### Features
|
|
236
|
+
|
|
237
|
+
* add custom event pointer event handling system, use in leaflet adapter ([68c551b](https://github.com/JamesLMilner/terra-draw/commit/68c551bf99f0ca37053456a3815cee8fad0c1108))
|
|
238
|
+
|
|
239
|
+
|
|
240
|
+
### Chore
|
|
241
|
+
|
|
242
|
+
* update docs ([a8a91c3](https://github.com/JamesLMilner/terra-draw/commit/a8a91c39a899b5715d74875da63735360b9129f8))
|
|
243
|
+
|
|
244
|
+
### [0.0.1-alpha.21](https://github.com/JamesLMilner/terra-draw/compare/v0.0.1-alpha.20...v0.0.1-alpha.21) (2023-03-24)
|
|
245
|
+
|
|
246
|
+
|
|
247
|
+
### Bug Fixes
|
|
248
|
+
|
|
249
|
+
* remove scratch folder ([6c671d6](https://github.com/JamesLMilner/terra-draw/commit/6c671d67ac9fec88e00774095beeb0d17738b563))
|
|
250
|
+
|
|
251
|
+
### [0.0.1-alpha.20](https://github.com/JamesLMilner/terra-draw/compare/v0.0.1-alpha.19...v0.0.1-alpha.20) (2023-03-24)
|
|
252
|
+
|
|
253
|
+
|
|
254
|
+
### Bug Fixes
|
|
255
|
+
|
|
256
|
+
* reuse draw even in leaflet adapter to prevent runtime error ([d7f6f34](https://github.com/JamesLMilner/terra-draw/commit/d7f6f34667ccb39715c6f22a1941d2e0c37d002f))
|
|
257
|
+
|
|
258
|
+
### [0.0.1-alpha.19](https://github.com/JamesLMilner/terra-draw/compare/v0.0.1-alpha.18...v0.0.1-alpha.19) (2023-03-23)
|
|
259
|
+
|
|
260
|
+
|
|
261
|
+
### Bug Fixes
|
|
262
|
+
|
|
263
|
+
* remove mousemove event listener from leaflet adapter and replace with pointermove ([b7baa4c](https://github.com/JamesLMilner/terra-draw/commit/b7baa4c828cce1a8a1e8cd94b8f44f0a30ea6762))
|
|
264
|
+
|
|
265
|
+
|
|
266
|
+
### Chore
|
|
267
|
+
|
|
268
|
+
* update docs folder ([62b80dc](https://github.com/JamesLMilner/terra-draw/commit/62b80dce039ebfb4f0729fa41c07392dc5eedf0d))
|
|
269
|
+
|
|
270
|
+
### [0.0.1-alpha.18](https://github.com/JamesLMilner/terra-draw/compare/v0.0.1-alpha.17...v0.0.1-alpha.18) (2023-03-19)
|
|
271
|
+
|
|
272
|
+
|
|
273
|
+
### Bug Fixes
|
|
274
|
+
|
|
275
|
+
* better parity between mouse and pointer experiences ([00c219d](https://github.com/JamesLMilner/terra-draw/commit/00c219de114383d7e3f7ad58d91fc6de9c2bb7c9))
|
|
276
|
+
* ensure that closing points for polygons are update on click ([25c0886](https://github.com/JamesLMilner/terra-draw/commit/25c0886237c56881073e44da839b07527362662c))
|
|
277
|
+
|
|
278
|
+
|
|
279
|
+
### Chore
|
|
280
|
+
|
|
281
|
+
* fix issues with prettier conflicting with eslint ([9849bce](https://github.com/JamesLMilner/terra-draw/commit/9849bce825f2073d1b72b0dc9a29718a0cb994d9))
|
|
282
|
+
|
|
283
|
+
### [0.0.1-alpha.17](https://github.com/JamesLMilner/terra-draw/compare/v0.0.1-alpha.16...v0.0.1-alpha.17) (2023-03-12)
|
|
284
|
+
|
|
285
|
+
|
|
286
|
+
### Bug Fixes
|
|
287
|
+
|
|
288
|
+
* fix unit test for great-circle-snapping.behavior ([c90cd86](https://github.com/JamesLMilner/terra-draw/commit/c90cd86125339d43768bf6f0936f85bc09bd6833))
|
|
289
|
+
* use project/unproject to get midpoints that are visually centered ([3581da2](https://github.com/JamesLMilner/terra-draw/commit/3581da2cd89ace7c555c747cdae8115c90ec851d))
|
|
290
|
+
|
|
291
|
+
|
|
292
|
+
### Chore
|
|
293
|
+
|
|
294
|
+
* add better test coverage for great circle mode ([4073553](https://github.com/JamesLMilner/terra-draw/commit/4073553563cdfece1f48c3b00a86a6a19457a820))
|
|
295
|
+
* husk precommit only readd linted files ([2eb6138](https://github.com/JamesLMilner/terra-draw/commit/2eb6138a47fc5f48334bcf7b657fa4ac8783dc76))
|
|
296
|
+
* make sure all mode tests are labelled correctly ([a5dfe4b](https://github.com/JamesLMilner/terra-draw/commit/a5dfe4bd79cfb33daaf47195e05b72e0fba4087c))
|
|
297
|
+
* make sure test files are no covered in jest coverage when type checking disabled ([0b271b6](https://github.com/JamesLMilner/terra-draw/commit/0b271b6bf9f764c03bea1f3f4a9bc949ffa830e6))
|
|
298
|
+
* remove unused import from static.mode.spec.ts ([e2bf578](https://github.com/JamesLMilner/terra-draw/commit/e2bf5785f00bf92c72f6054441212a1e98d07abe))
|
|
299
|
+
|
|
300
|
+
### [0.0.1-alpha.16](https://github.com/JamesLMilner/terra-draw/compare/v0.0.1-alpha.15...v0.0.1-alpha.16) (2023-02-19)
|
|
301
|
+
|
|
302
|
+
|
|
303
|
+
### Features
|
|
304
|
+
|
|
305
|
+
* add great circle line mode ([72136a0](https://github.com/JamesLMilner/terra-draw/commit/72136a044ed3a7c9192e92fbb383e64243ce8bd6))
|
|
306
|
+
|
|
307
|
+
|
|
308
|
+
### Chore
|
|
309
|
+
|
|
310
|
+
* add local scratch folder to allow for experimentation ([828e1dd](https://github.com/JamesLMilner/terra-draw/commit/828e1ddfa575a8a9703c63c3bf8d1f11535e3fef))
|
|
311
|
+
* fix scratch pad folder location for local development ([107db58](https://github.com/JamesLMilner/terra-draw/commit/107db581a94852925f7b647f77b67b67f0a7598d))
|
|
312
|
+
|
|
313
|
+
### [0.0.1-alpha.15](https://github.com/JamesLMilner/terra-draw/compare/v0.0.1-alpha.14...v0.0.1-alpha.15) (2023-02-05)
|
|
314
|
+
|
|
315
|
+
|
|
316
|
+
### Features
|
|
317
|
+
|
|
318
|
+
* allow keyEvents to be set to null to prevent keyboard interactions on modes ([6af865c](https://github.com/JamesLMilner/terra-draw/commit/6af865cffa58063e422c69a4201b2ab9f37f019a))
|
|
319
|
+
|
|
320
|
+
|
|
321
|
+
### Chore
|
|
322
|
+
|
|
323
|
+
* better handle event listening in adapters by creating AdapterListener abstraction ([7f0cac6](https://github.com/JamesLMilner/terra-draw/commit/7f0cac6cc28c33387e049ef4cf3bd7f05c4a57a2))
|
|
324
|
+
* readd precommit git add command ([bc57234](https://github.com/JamesLMilner/terra-draw/commit/bc57234cb7ceca1ee8c9aa8592e87ce0c389e70c))
|
|
325
|
+
* update docs ([d0c9454](https://github.com/JamesLMilner/terra-draw/commit/d0c94547eb7cd9fc4379c40ef827b9f15df577a5))
|
|
326
|
+
|
|
327
|
+
### [0.0.1-alpha.14](https://github.com/JamesLMilner/terra-draw/compare/v0.0.1-alpha.13...v0.0.1-alpha.14) (2023-01-08)
|
|
328
|
+
|
|
329
|
+
|
|
330
|
+
### Features
|
|
331
|
+
|
|
332
|
+
* add clear to the public API ([6a8fa72](https://github.com/JamesLMilner/terra-draw/commit/6a8fa722b52047bdf7bc4cfb42d1432eaf7ff038))
|
|
333
|
+
|
|
334
|
+
|
|
335
|
+
### Bug Fixes
|
|
336
|
+
|
|
337
|
+
* ensure that terra draw is enabled before calling setMode ([deff0fb](https://github.com/JamesLMilner/terra-draw/commit/deff0fb34888fd8a36778254ed8448e7711abdb8))
|
|
338
|
+
* make sure circle mode respects configured coordinate precision ([cba0aa7](https://github.com/JamesLMilner/terra-draw/commit/cba0aa73d2d623f53b66e2d503077519f920dc96))
|
|
339
|
+
|
|
340
|
+
|
|
341
|
+
### Chore
|
|
342
|
+
|
|
343
|
+
* add npm badge to README, shorten CI badge text ([e9d7b66](https://github.com/JamesLMilner/terra-draw/commit/e9d7b6611f7b342d2dc65a381f940babcea4f889))
|
|
344
|
+
* bump dependency packages ([a7a2bcf](https://github.com/JamesLMilner/terra-draw/commit/a7a2bcfdee6c9da773f4cf973c7f342f75822a12))
|
|
345
|
+
* fix the README logo ([b48d6d7](https://github.com/JamesLMilner/terra-draw/commit/b48d6d7d4da0dbc43da86bf43d08bc17c1463073))
|
|
346
|
+
|
|
347
|
+
### [0.0.1-alpha.13](https://github.com/JamesLMilner/terra-draw/compare/v0.0.1-alpha.12...v0.0.1-alpha.13) (2022-12-20)
|
|
348
|
+
|
|
349
|
+
|
|
350
|
+
### Chore
|
|
351
|
+
|
|
352
|
+
* add initial tests feature styling tests for circle, freehand and polygon ([066967c](https://github.com/JamesLMilner/terra-draw/commit/066967cd56c879186207dad9f912a1e6435904e5))
|
|
353
|
+
* add TerraDrawMapLibreGLAdapter and TerraDrawOpenLayersAdapter to docs ([6b78c01](https://github.com/JamesLMilner/terra-draw/commit/6b78c01df8f9bad83738bf560a9b365c7fa01290))
|
|
354
|
+
* add TerraDrawOpenLayersAdapter to terra-draw exports ([c5f3ade](https://github.com/JamesLMilner/terra-draw/commit/c5f3ade9b9cf51b99aa78d3730581dac6f37f0fd))
|
|
355
|
+
* remove default controls from all maps ([6ffde55](https://github.com/JamesLMilner/terra-draw/commit/6ffde55b4c8cf95b1fb46f76db07d47d37504c96))
|
|
356
|
+
* remove outdated list of adapters in README introduction ([21a6aca](https://github.com/JamesLMilner/terra-draw/commit/21a6aca27f15f0f7d90bc434865f4d362960d8d9))
|
|
357
|
+
|
|
358
|
+
### [0.0.1-alpha.12](https://github.com/JamesLMilner/terra-draw/compare/v0.0.1-alpha.11...v0.0.1-alpha.12) (2022-12-11)
|
|
359
|
+
|
|
360
|
+
|
|
361
|
+
### Features
|
|
362
|
+
|
|
363
|
+
* add openlayers adapter ([1454086](https://github.com/JamesLMilner/terra-draw/commit/1454086220e0b18eb504e23cca433c5db51075e3))
|
|
364
|
+
* add rectangle mode as a builtin mode ([ca9a12b](https://github.com/JamesLMilner/terra-draw/commit/ca9a12b449dc9ce35a268a92e8d3cdb06ba07aee))
|
|
365
|
+
* disable double click when a drawing mode is enabled ([ba02ac6](https://github.com/JamesLMilner/terra-draw/commit/ba02ac689052726f8a059b0548ad541bd842555f))
|
|
366
|
+
|
|
367
|
+
|
|
368
|
+
### Chore
|
|
369
|
+
|
|
370
|
+
* add keywords to package.json ([1270f26](https://github.com/JamesLMilner/terra-draw/commit/1270f26f0d650c97fc8c264d730231c5aac9fe43))
|
|
371
|
+
* add openlayers to development example ([0d24796](https://github.com/JamesLMilner/terra-draw/commit/0d24796754819bc622a071eae9af4c40d7fd1d16))
|
|
372
|
+
* do not use git add . with husky pre-commit hook ([032d002](https://github.com/JamesLMilner/terra-draw/commit/032d002a9212e767715876f63e4ca5bc90857a3a))
|
|
373
|
+
* update list of supported libraries in README ([2825d6c](https://github.com/JamesLMilner/terra-draw/commit/2825d6cb095f6709cae15887cb56a7ed26b1ef3d))
|
|
374
|
+
|
|
375
|
+
### [0.0.1-alpha.11](https://github.com/JamesLMilner/terra-draw/compare/v0.0.1-alpha.10...v0.0.1-alpha.11) (2022-11-29)
|
|
376
|
+
|
|
377
|
+
|
|
378
|
+
### Features
|
|
379
|
+
|
|
380
|
+
* add MapLibre adapter ([464dce4](https://github.com/JamesLMilner/terra-draw/commit/464dce418bd6f18f3043d9072f3636d051ad900a))
|
|
381
|
+
|
|
382
|
+
|
|
383
|
+
### Chore
|
|
384
|
+
|
|
385
|
+
* add automated documentation to the project ([0bbefbb](https://github.com/JamesLMilner/terra-draw/commit/0bbefbb8b69a18d73159b73ccdff5f79c7c0b843))
|
|
386
|
+
|
|
387
|
+
### 0.0.1-alpha.10 (2022-11-24)
|
|
388
|
+
|
|
389
|
+
|
|
390
|
+
### Features
|
|
391
|
+
|
|
392
|
+
* add closing point to linestring ot make easier to close for users ([e14b276](https://github.com/JamesLMilner/terra-draw/commit/e14b2769f3eb00faea55f30a24ebd4beabae92fe))
|
|
393
|
+
* add keybinding to allow finishing of geometries on keypress ([9b2b88e](https://github.com/JamesLMilner/terra-draw/commit/9b2b88ef4df94b8fdb5f16ded22cab6315d59cc6))
|
|
394
|
+
* adding closing points for drawing polygons ([c569ed6](https://github.com/JamesLMilner/terra-draw/commit/c569ed6c000683c2c9cba8fc8bec7ab5f5779a8c))
|
|
395
|
+
* use minimum distance approach instead of nth event for freehand ([240952d](https://github.com/JamesLMilner/terra-draw/commit/240952d2360568cba1f46340fa37360860125eed))
|
|
396
|
+
|
|
397
|
+
|
|
398
|
+
### Chore
|
|
399
|
+
|
|
400
|
+
* add better unit test coverage for select mode ([46f3e3c](https://github.com/JamesLMilner/terra-draw/commit/46f3e3c7dc01d8d03261af762434c296f438d2e3))
|
|
401
|
+
* add development to .npmignore ([8fa412f](https://github.com/JamesLMilner/terra-draw/commit/8fa412fcaef0f39d584ef6a1190391478ad12bb7))
|
|
402
|
+
* add docs to .npmignore ([df907c3](https://github.com/JamesLMilner/terra-draw/commit/df907c3448385d24eb2afee3ec3f083a48c14325))
|
|
403
|
+
* add documentaiton for development and contributing ([4148d3e](https://github.com/JamesLMilner/terra-draw/commit/4148d3e22ffce5558278e148ea569d49f63ad8a7))
|
|
404
|
+
* add links and licenses where appropriate ([7e5aa62](https://github.com/JamesLMilner/terra-draw/commit/7e5aa621c64e1124b9a40dc5b8570ad3247a8ba2))
|
|
405
|
+
* add logo to README ([149a519](https://github.com/JamesLMilner/terra-draw/commit/149a5196b37e3263fa4246c78214725f861e38be))
|
|
406
|
+
* add npm install instructions to README ([2094716](https://github.com/JamesLMilner/terra-draw/commit/209471665318dc9fbd4fbd31e0ba17c7843bab72))
|
|
407
|
+
* add precommit hooks ([752c2f8](https://github.com/JamesLMilner/terra-draw/commit/752c2f850d5db7f0d3f4a0b4f6580a1b578ca167))
|
|
408
|
+
* add src to .npmignore ([0d769b8](https://github.com/JamesLMilner/terra-draw/commit/0d769b8618837c2f0672034654d7a91bc1183649))
|
|
409
|
+
* add TerraDrawRenderMode as an export ([8f7fd60](https://github.com/JamesLMilner/terra-draw/commit/8f7fd60697ed17a2bacd7d6eddc85aced46e6fad))
|
|
410
|
+
* add types property at top level of package.json ([2b53b63](https://github.com/JamesLMilner/terra-draw/commit/2b53b636f5688d3bfd45b02139e61a0474739abf))
|
|
411
|
+
* add types to exports in package.json ([94f5b5c](https://github.com/JamesLMilner/terra-draw/commit/94f5b5c4e83124b11a2c991c7948189f53d9d865))
|
|
412
|
+
* bump to 0.0.1-alpha.9 ([a4bb461](https://github.com/JamesLMilner/terra-draw/commit/a4bb46192cd80199f943a9e05e1808409a75b859))
|
|
413
|
+
* bump to 0.1-alpha.2 ([003ddb2](https://github.com/JamesLMilner/terra-draw/commit/003ddb2055ffad92121b9c71db115466575c4378))
|
|
414
|
+
* bump to 0.1-alpha.3 ([f56c5d8](https://github.com/JamesLMilner/terra-draw/commit/f56c5d85d3f6eaef0ba50de9741327f5db777ad7))
|
|
415
|
+
* bump to 0.1-alpha.4 ([198b281](https://github.com/JamesLMilner/terra-draw/commit/198b281891dcd19c5f7396c4dcad033fec93265c))
|
|
416
|
+
* bump to 0.1-alpha.5 ([daa6630](https://github.com/JamesLMilner/terra-draw/commit/daa6630070452cf633e67f64c61408cb7e215a86))
|
|
417
|
+
* bump to 0.1-alpha.6 ([86f17d6](https://github.com/JamesLMilner/terra-draw/commit/86f17d61eb1fe59e3b9ffcb0e84ef616ccab6d84))
|
|
418
|
+
* bump to 0.1-alpha.7 ([0e98f38](https://github.com/JamesLMilner/terra-draw/commit/0e98f384a8813097626cec13fa0f17ffc8d5e5b9))
|
|
419
|
+
* bump to 0.1-alpha.8 ([5065f83](https://github.com/JamesLMilner/terra-draw/commit/5065f833534f8e117cfddebb93f164bee3c6fcd8))
|
|
420
|
+
* change styling API to work on a per feature level ([ef43294](https://github.com/JamesLMilner/terra-draw/commit/ef4329449f20399425c7212e50eb730e760a9dda))
|
|
421
|
+
* clean up website section of README ([214b39f](https://github.com/JamesLMilner/terra-draw/commit/214b39f25096f4928637c93386861d73fbe99955))
|
|
422
|
+
* ensure default comes last in exports object of package.json ([1b7c849](https://github.com/JamesLMilner/terra-draw/commit/1b7c8498e14db4c83d7d5c52912532379e59d114))
|
|
423
|
+
* fix typescript typings location ([756586a](https://github.com/JamesLMilner/terra-draw/commit/756586a8dfb283b11372ecd9df6381d375e7939a))
|
|
424
|
+
* more select unit tests ([e440db8](https://github.com/JamesLMilner/terra-draw/commit/e440db8328a4be85e1c4f95646c5fb447d0060a9))
|
|
425
|
+
* polygon closing snapping, identical coord protection ([27eceaf](https://github.com/JamesLMilner/terra-draw/commit/27eceaf102ffa1a4f57b739f061106cbd2345df2))
|
|
426
|
+
* readd logo ([63ee2dc](https://github.com/JamesLMilner/terra-draw/commit/63ee2dc58d544949edff61336d93996fe61424e9))
|
|
427
|
+
* remove docs folder ([2f74921](https://github.com/JamesLMilner/terra-draw/commit/2f749215af2854c22f61293752bac6de24e30467))
|
|
428
|
+
* remove futher files from publish ([b71ea63](https://github.com/JamesLMilner/terra-draw/commit/b71ea63819fd68acbc577ed79b2a4a7e81fb9ceb))
|
|
429
|
+
* remove styling experiment from development ([808dfbb](https://github.com/JamesLMilner/terra-draw/commit/808dfbb18fa697511a3c96595106d28046398b91))
|
|
430
|
+
* remove top level files ([ed39533](https://github.com/JamesLMilner/terra-draw/commit/ed3953365dbc5d1ed06f655967fac523cd33eddb))
|
|
431
|
+
* remove unused imports ([a2ba004](https://github.com/JamesLMilner/terra-draw/commit/a2ba004a1f4b95b83d2aefecf83fab60237a477b))
|
|
432
|
+
* use webpack-dev-server for development folder ([7783e6a](https://github.com/JamesLMilner/terra-draw/commit/7783e6ad79137323e9d3aceab062f62e258590e6))
|
package/README.md
CHANGED
|
@@ -1,18 +1,39 @@
|
|
|
1
|
-
<img src="
|
|
1
|
+
<img src="./logo.png" alt="Terra Draw Logo" width="400"/>
|
|
2
2
|
|
|
3
3
|

|
|
4
|
+
[](https://badge.fury.io/js/terra-draw)
|
|
4
5
|
|
|
5
6
|
Frictionless map drawing across mapping libraries.
|
|
6
7
|
|
|
7
|
-
|
|
8
|
+
Terra Draw centralises map drawing logic and provides a host of out the box drawing modes that work across different JavaScript mapping libraries. It also also you bring your own modes!
|
|
9
|
+
|
|
10
|
+

|
|
11
|
+
|
|
12
|
+
### Library Support
|
|
13
|
+
|
|
14
|
+
Terra Draw uses the concept of 'adapters' to allow it to work with a host of different mapping libraries. Currently supported are:
|
|
15
|
+
|
|
16
|
+
- [Leaflet](https://leafletjs.com/) v1
|
|
17
|
+
- [OpenLayers](https://openlayers.org/) v7
|
|
18
|
+
- [Mapbox GL JS](https://www.mapbox.com/mapbox-gljs) v2
|
|
19
|
+
- [MapLibre](https://maplibre.org/projects/maplibre-gl-js/) v2/v3
|
|
20
|
+
- [Google Maps JS API](https://developers.google.com/maps/documentation/javascript/overview) v3
|
|
21
|
+
|
|
22
|
+
### Getting Started
|
|
23
|
+
|
|
24
|
+
Please see the [the getting started guide](./guides/GETTING_STARTED.md)
|
|
8
25
|
|
|
9
26
|
### Development
|
|
10
27
|
|
|
11
|
-
Please see the [the development documentation](./DEVELOPMENT.md)
|
|
28
|
+
Please see the [the development documentation](./guides/DEVELOPMENT.md)
|
|
12
29
|
|
|
13
30
|
### Contributing
|
|
14
31
|
|
|
15
|
-
Please see the [the contributing documentation](./CONTRIBUTING.md)
|
|
32
|
+
Please see the [the contributing documentation](./guides/CONTRIBUTING.md)
|
|
33
|
+
|
|
34
|
+
### Project Website
|
|
35
|
+
|
|
36
|
+
You can checkout the offical Terra Draw website at [terradraw.io](https://www.terradraw.io). If you are interested in contributing to the website please see [this repository](https://www.github.com/JamesLMilner/terra-draw-website).
|
|
16
37
|
|
|
17
38
|
### License
|
|
18
39
|
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export declare class AdapterListener<Callback extends (...args: any[]) => any> {
|
|
2
|
+
name: string;
|
|
3
|
+
callback: (...args: any[]) => any;
|
|
4
|
+
registered: boolean;
|
|
5
|
+
register: any;
|
|
6
|
+
unregister: any;
|
|
7
|
+
/**
|
|
8
|
+
* Creates a new AdapterListener instance with the provided configuration.
|
|
9
|
+
*
|
|
10
|
+
* @param {Object} config - The configuration object for the listener.
|
|
11
|
+
* @param {string} config.name - The name of the event listener.
|
|
12
|
+
* @param {Function} config.callback - The callback function to be called when the event is triggered.
|
|
13
|
+
* @param {Function} config.unregister - The function to unregister the event listeners.
|
|
14
|
+
* @param {Function} config.register - The function to register the event listeners.
|
|
15
|
+
*/
|
|
16
|
+
constructor({ name, callback, unregister, register, }: {
|
|
17
|
+
name: string;
|
|
18
|
+
callback: Callback;
|
|
19
|
+
unregister: (callbacks: Callback) => void;
|
|
20
|
+
register: (callback: Callback) => void;
|
|
21
|
+
});
|
|
22
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { Project, Unproject, TerraDrawCallbacks, TerraDrawChanges, TerraDrawMouseEvent, SetCursor, TerraDrawStylingFunction, GetLngLatFromEvent } from "../../common";
|
|
2
|
+
import { AdapterListener } from "./adapter-listener";
|
|
3
|
+
type BasePointerListener = (event: PointerEvent) => void;
|
|
4
|
+
type BaseKeyboardListener = (event: KeyboardEvent) => void;
|
|
5
|
+
type BaseMouseListener = (event: MouseEvent) => void;
|
|
6
|
+
export declare abstract class TerraDrawBaseAdapter {
|
|
7
|
+
constructor(config: {
|
|
8
|
+
coordinatePrecision?: number;
|
|
9
|
+
minPixelDragDistance?: number;
|
|
10
|
+
});
|
|
11
|
+
protected _minPixelDragDistance: number;
|
|
12
|
+
protected _lastDrawEvent: TerraDrawMouseEvent | undefined;
|
|
13
|
+
protected _coordinatePrecision: number;
|
|
14
|
+
protected _heldKeys: Set<string>;
|
|
15
|
+
protected _listeners: AdapterListener<BasePointerListener | BaseKeyboardListener | BaseMouseListener>[];
|
|
16
|
+
protected _dragState: "not-dragging" | "pre-dragging" | "dragging";
|
|
17
|
+
protected _currentModeCallbacks: TerraDrawCallbacks | undefined;
|
|
18
|
+
protected getButton(event: PointerEvent | MouseEvent): "neither" | "left" | "middle" | "right";
|
|
19
|
+
protected getContainerXYPosition(event: PointerEvent | MouseEvent): {
|
|
20
|
+
containerX: number;
|
|
21
|
+
containerY: number;
|
|
22
|
+
};
|
|
23
|
+
protected getDrawEventFromEvent(event: PointerEvent | MouseEvent): TerraDrawMouseEvent | null;
|
|
24
|
+
/**
|
|
25
|
+
* Registers the provided callbacks for the current drawing mode and attaches
|
|
26
|
+
* the necessary event listeners.
|
|
27
|
+
* @param {TerraDrawCallbacks} callbacks - An object containing callback functions
|
|
28
|
+
* for handling various drawing events in the current mode.
|
|
29
|
+
*/
|
|
30
|
+
register(callbacks: TerraDrawCallbacks): void;
|
|
31
|
+
/**
|
|
32
|
+
* Unregisters the event listeners for the current drawing mode.
|
|
33
|
+
* This is typically called when switching between drawing modes or
|
|
34
|
+
* stopping the drawing process.
|
|
35
|
+
*/
|
|
36
|
+
unregister(): void;
|
|
37
|
+
abstract clear(): void;
|
|
38
|
+
abstract project(...args: Parameters<Project>): ReturnType<Project>;
|
|
39
|
+
abstract unproject(...args: Parameters<Unproject>): ReturnType<Unproject>;
|
|
40
|
+
abstract setCursor(...args: Parameters<SetCursor>): ReturnType<SetCursor>;
|
|
41
|
+
abstract getLngLatFromEvent(...event: Parameters<GetLngLatFromEvent>): ReturnType<GetLngLatFromEvent>;
|
|
42
|
+
abstract setDraggability(enabled: boolean): void;
|
|
43
|
+
abstract setDoubleClickToZoom(enabled: boolean): void;
|
|
44
|
+
abstract getMapContainer(): HTMLElement;
|
|
45
|
+
abstract render(changes: TerraDrawChanges, styling: TerraDrawStylingFunction): void;
|
|
46
|
+
}
|
|
47
|
+
export {};
|