@defra/interactive-map 0.0.6-alpha → 0.0.7-alpha
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/dist/css/index.css +1 -1
- package/dist/esm/im-core.js +1 -1
- package/dist/umd/im-core.js +1 -1
- package/docs/api.md +10 -5
- package/package.json +56 -4
- package/plugins/beta/draw-es/dist/esm/im-draw-es-plugin.js +2 -0
- package/plugins/beta/draw-es/dist/esm/im-draw-es-plugin.js.LICENSE.txt +1 -0
- package/plugins/beta/draw-es/dist/esm/index.js +2 -0
- package/plugins/beta/draw-es/dist/esm/index.js.LICENSE.txt +1 -0
- package/plugins/beta/draw-ml/dist/css/index.css +1 -1
- package/plugins/beta/draw-ml/dist/esm/im-draw-ml-plugin.js +1 -1
- package/plugins/beta/draw-ml/dist/umd/im-draw-ml-plugin.js +1 -1
- package/plugins/beta/draw-ml/src/DrawInit.jsx +15 -0
- package/plugins/beta/draw-ml/src/api/deleteFeature.js +4 -4
- package/plugins/beta/draw-ml/src/api/editFeature.js +10 -5
- package/plugins/beta/draw-ml/src/draw.scss +1 -0
- package/plugins/beta/draw-ml/src/events.js +2 -0
- package/plugins/beta/draw-ml/src/manifest.js +18 -43
- package/plugins/beta/draw-ml/src/modes/createDrawMode.js +35 -1
- package/plugins/beta/draw-ml/src/modes/editVertexMode.js +17 -1
- package/plugins/interact/dist/css/index.css +1 -1
- package/plugins/interact/dist/esm/im-interact-plugin.js +1 -1
- package/plugins/interact/dist/umd/im-interact-plugin.js +1 -1
- package/plugins/interact/src/defaults.js +1 -0
- package/plugins/interact/src/events.js +6 -1
- package/plugins/interact/src/events.test.js +19 -5
- package/plugins/interact/src/hooks/useInteractionHandlers.js +7 -2
- package/plugins/interact/src/hooks/useInteractionHandlers.test.js +28 -0
- package/plugins/interact/src/interact.scss +1 -0
- package/plugins/interact/src/manifest.js +22 -16
- package/plugins/interact/src/manifest.test.js +1 -1
- package/plugins/interact/src/reducer.js +1 -0
- package/plugins/interact/src/reducer.test.js +1 -0
- package/providers/beta/esri/dist/css/im-esri-provider.css +1 -0
- package/providers/beta/esri/dist/esm/im-esri-provider.js +2 -0
- package/providers/beta/esri/dist/esm/im-esri-provider.js.LICENSE.txt +1 -0
- package/providers/beta/esri/dist/esm/index.js +2 -0
- package/providers/beta/esri/dist/esm/index.js.LICENSE.txt +1 -0
- package/providers/beta/esri/src/esriProvider.js +12 -0
- package/providers/beta/esri/src/mapEvents.js +2 -2
- package/providers/maplibre/dist/esm/im-maplibre-provider.js +1 -1
- package/providers/maplibre/dist/umd/im-maplibre-provider.js +1 -1
- package/providers/maplibre/src/maplibreProvider.js +11 -1
- package/providers/maplibre/src/utils/highlightFeatures.js +6 -2
- package/src/App/components/Actions/Actions.jsx +2 -1
- package/src/App/components/Actions/Actions.module.scss +14 -0
- package/src/App/components/Actions/Actions.test.jsx +2 -2
- package/src/App/components/MapButton/MapButton.module.scss +19 -6
- package/src/App/components/PopupMenu/PopupMenu.jsx +69 -14
- package/src/App/components/PopupMenu/PopupMenu.module.scss +70 -7
- package/src/App/components/PopupMenu/PopupMenu.test.jsx +102 -16
- package/src/App/hooks/useButtonStateEvaluator.js +2 -2
- package/src/App/hooks/useInterfaceAPI.js +26 -32
- package/src/App/registry/pluginRegistry.js +2 -2
- package/src/App/renderer/mapButtons.js +6 -1
- package/src/App/renderer/mapButtons.test.js +20 -0
- package/src/App/store/MapProvider.jsx +2 -2
- package/src/App/store/mapActionsMap.js +3 -2
- package/src/App/store/mapReducer.js +1 -0
- package/src/scss/settings/_dimensions.scss +1 -0
- package/webpack.esm.mjs +19 -10
package/docs/api.md
CHANGED
|
@@ -682,17 +682,22 @@ interactiveMap.on('app:ready', () => {
|
|
|
682
682
|
|
|
683
683
|
Emitted when the underlying map is in a state ready to interact with. For example, when using MapLibre this event is emitted after the map has been instantiated; for ESRI SDK it is emitted when `view.ready` is first true.
|
|
684
684
|
|
|
685
|
-
**Payload:**
|
|
685
|
+
**Payload:** A controlled API object with the following properties:
|
|
686
|
+
|
|
687
|
+
| Property | Type | Description |
|
|
688
|
+
|---|---|---|
|
|
689
|
+
| `map` | Object | The underlying map instance (all providers) |
|
|
690
|
+
| `view` | Object | The map view (ESRI only) |
|
|
691
|
+
| `crs` | string | The coordinate reference system (e.g. `'EPSG:4326'`) |
|
|
692
|
+
| `fitToBounds` | Function | Fit the map to a bounding box |
|
|
693
|
+
| `setView` | Function | Set the map center and zoom |
|
|
686
694
|
|
|
687
695
|
```js
|
|
688
|
-
interactiveMap.on('map:ready', (map) => {
|
|
696
|
+
interactiveMap.on('map:ready', ({ map, crs, fitToBounds, setView }) => {
|
|
689
697
|
interactiveMap.addMarker('home', [-0.1276, 51.5074])
|
|
690
698
|
})
|
|
691
699
|
```
|
|
692
700
|
|
|
693
|
-
> [!NOTE]
|
|
694
|
-
> If you need lower-level control beyond what InteractiveMap offers, you can use the map instance directly.
|
|
695
|
-
|
|
696
701
|
---
|
|
697
702
|
|
|
698
703
|
### `app:panelopened`
|
package/package.json
CHANGED
|
@@ -1,12 +1,60 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@defra/interactive-map",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.7-alpha",
|
|
4
4
|
"description": "An accessible map component",
|
|
5
5
|
"main": "dist/umd/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
7
7
|
"exports": {
|
|
8
|
-
"
|
|
9
|
-
|
|
8
|
+
".": {
|
|
9
|
+
"import": "./dist/esm/index.js",
|
|
10
|
+
"require": "./dist/umd/index.js"
|
|
11
|
+
},
|
|
12
|
+
"./providers/maplibre": {
|
|
13
|
+
"import": "./providers/maplibre/dist/esm/index.js",
|
|
14
|
+
"require": "./providers/maplibre/dist/umd/index.js"
|
|
15
|
+
},
|
|
16
|
+
"./providers/open-names": {
|
|
17
|
+
"import": "./providers/beta/open-names/dist/esm/index.js",
|
|
18
|
+
"require": "./providers/beta/open-names/dist/umd/index.js"
|
|
19
|
+
},
|
|
20
|
+
"./providers/esri": {
|
|
21
|
+
"import": "./providers/beta/esri/dist/esm/index.js"
|
|
22
|
+
},
|
|
23
|
+
"./plugins/scale-bar": {
|
|
24
|
+
"import": "./plugins/beta/scale-bar/dist/esm/index.js",
|
|
25
|
+
"require": "./plugins/beta/scale-bar/dist/umd/index.js"
|
|
26
|
+
},
|
|
27
|
+
"./plugins/use-location": {
|
|
28
|
+
"import": "./plugins/beta/use-location/dist/esm/index.js",
|
|
29
|
+
"require": "./plugins/beta/use-location/dist/umd/index.js"
|
|
30
|
+
},
|
|
31
|
+
"./plugins/search": {
|
|
32
|
+
"import": "./plugins/search/dist/esm/index.js",
|
|
33
|
+
"require": "./plugins/search/dist/umd/index.js"
|
|
34
|
+
},
|
|
35
|
+
"./plugins/interact": {
|
|
36
|
+
"import": "./plugins/interact/dist/esm/index.js",
|
|
37
|
+
"require": "./plugins/interact/dist/umd/index.js"
|
|
38
|
+
},
|
|
39
|
+
"./plugins/datasets": {
|
|
40
|
+
"import": "./plugins/beta/datasets/dist/esm/index.js",
|
|
41
|
+
"require": "./plugins/beta/datasets/dist/umd/index.js"
|
|
42
|
+
},
|
|
43
|
+
"./plugins/map-styles": {
|
|
44
|
+
"import": "./plugins/beta/map-styles/dist/esm/index.js",
|
|
45
|
+
"require": "./plugins/beta/map-styles/dist/umd/index.js"
|
|
46
|
+
},
|
|
47
|
+
"./plugins/draw-ml": {
|
|
48
|
+
"import": "./plugins/beta/draw-ml/dist/esm/index.js",
|
|
49
|
+
"require": "./plugins/beta/draw-ml/dist/umd/index.js"
|
|
50
|
+
},
|
|
51
|
+
"./plugins/draw-es": {
|
|
52
|
+
"import": "./plugins/beta/draw-es/dist/esm/index.js"
|
|
53
|
+
},
|
|
54
|
+
"./plugins/frame": {
|
|
55
|
+
"import": "./plugins/beta/frame/dist/esm/index.js",
|
|
56
|
+
"require": "./plugins/beta/frame/dist/umd/index.js"
|
|
57
|
+
}
|
|
10
58
|
},
|
|
11
59
|
"type": "module",
|
|
12
60
|
"scripts": {
|
|
@@ -41,10 +89,14 @@
|
|
|
41
89
|
]
|
|
42
90
|
},
|
|
43
91
|
"peerDependencies": {
|
|
92
|
+
"@arcgis/core": "^4.34.8",
|
|
44
93
|
"react": "^19.2.0",
|
|
45
94
|
"react-dom": "^19.2.0"
|
|
46
95
|
},
|
|
47
96
|
"peerDependenciesMeta": {
|
|
97
|
+
"@arcgis/core": {
|
|
98
|
+
"optional": true
|
|
99
|
+
},
|
|
48
100
|
"react": {
|
|
49
101
|
"optional": true
|
|
50
102
|
},
|
|
@@ -53,6 +105,7 @@
|
|
|
53
105
|
}
|
|
54
106
|
},
|
|
55
107
|
"devDependencies": {
|
|
108
|
+
"@arcgis/core": "^4.34.8",
|
|
56
109
|
"@babel/core": "^7.28.0",
|
|
57
110
|
"@babel/preset-env": "^7.28.0",
|
|
58
111
|
"@babel/preset-react": "^7.27.1",
|
|
@@ -114,7 +167,6 @@
|
|
|
114
167
|
"@turf/bearing": "^7.3.3"
|
|
115
168
|
},
|
|
116
169
|
"dependencies": {
|
|
117
|
-
"@arcgis/core": "^4.34.8",
|
|
118
170
|
"@turf/area": "^7.2.0",
|
|
119
171
|
"@turf/bearing": "^7.3.3",
|
|
120
172
|
"@turf/boolean-disjoint": "^7.3.3",
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! For license information please see im-draw-es-plugin.js.LICENSE.txt */
|
|
2
|
+
export const __webpack_esm_id__="im-draw-es-plugin";export const __webpack_esm_ids__=["im-draw-es-plugin"];export const __webpack_esm_modules__={"./plugins/beta/draw-es/src/manifest.js"(e,t,r){function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach(function(t){a(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function a(e,t,r){return(t=function(e){var t=function(e){if("object"!=n(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=n(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==n(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}r.d(t,{manifest:()=>F}),r.r(t);var c={SET_MODE:function(e,t){return i(i({},e),{},{mode:t})},SET_FEATURE:function(e,t){return i(i({},e),{},{feature:void 0===t.feature?e.feature:t.feature,tempFeature:void 0===t.tempFeature?e.tempFeature:t.tempFeature})}},u=r("react"),l=r("@arcgis/core/widgets/Sketch/SketchViewModel.js"),p=r("@arcgis/core/layers/GraphicsLayer.js"),s=r("@arcgis/core/geometry/operators/simplifyOperator.js"),f=r("@arcgis/core/Graphic.js");function y(e){return y="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},y(e)}function d(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function m(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?d(Object(r),!0).forEach(function(t){v(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):d(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function v(e,t,r){return(t=function(e){var t=function(e){if("object"!=y(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=y(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==y(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function b(e){return{type:"simple-fill",color:[0,120,255,.2],outline:{color:"dark"===e?"#ffffff":"#d4351c",width:2}}}function h(e,t,r){return new f.default({geometry:{type:"polygon",rings:t,spatialReference:27700},attributes:{id:e},symbol:b(r)})}function g(e){if(null==e||!e.geometry)throw new Error("Invalid graphic");var t=e.geometry,r=e.attributes,n=void 0===r?{}:r;switch(t.type){case"point":return{type:"Feature",geometry:{type:"Point",coordinates:[t.x,t.y]},properties:m({},n)};case"polyline":return{type:"Feature",geometry:{type:"LineString",coordinates:t.paths[0]},properties:m({},n)};case"polygon":return{type:"Feature",geometry:{type:"Polygon",coordinates:t.rings},properties:m({},n)};default:throw new Error("Unsupported geometry type: ".concat(t.type))}}function w(){var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var u=n&&n.prototype instanceof c?n:c,l=Object.create(u.prototype);return S(l,"_invoke",function(r,n,o){var i,c,u,l=0,p=o||[],s=!1,f={p:0,n:0,v:e,a:y,f:y.bind(e,4),d:function(t,r){return i=t,c=0,u=e,f.n=r,a}};function y(r,n){for(c=r,u=n,t=0;!s&&l&&!o&&t<p.length;t++){var o,i=p[t],y=f.p,d=i[2];r>3?(o=d===n)&&(u=i[(c=i[4])?5:(c=3,3)],i[4]=i[5]=e):i[0]<=y&&((o=r<2&&y<i[1])?(c=0,f.v=n,f.n=i[1]):y<d&&(o=r<3||i[0]>n||n>d)&&(i[4]=r,i[5]=n,f.n=d,c=0))}if(o||r>1)return a;throw s=!0,n}return function(o,p,d){if(l>1)throw TypeError("Generator is already running");for(s&&1===p&&y(p,d),c=p,u=d;(t=c<2?e:u)||!s;){i||(c?c<3?(c>1&&(f.n=-1),y(c,u)):f.n=u:f.v=u);try{if(l=2,i){if(c||(o="next"),t=i[o]){if(!(t=t.call(i,u)))throw TypeError("iterator result is not an object");if(!t.done)return t;u=t.value,c<2&&(c=0)}else 1===c&&(t=i.return)&&t.call(i),c<2&&(u=TypeError("The iterator does not provide a '"+o+"' method"),c=1);i=e}else if((t=(s=f.n<0)?u:r.call(n,f))!==a)break}catch(t){i=e,c=1,u=t}finally{l=1}}return{value:t,done:s}}}(r,o,i),!0),l}var a={};function c(){}function u(){}function l(){}t=Object.getPrototypeOf;var p=[][n]?t(t([][n]())):(S(t={},n,function(){return this}),t),s=l.prototype=c.prototype=Object.create(p);function f(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,l):(e.__proto__=l,S(e,o,"GeneratorFunction")),e.prototype=Object.create(s),e}return u.prototype=l,S(s,"constructor",l),S(l,"constructor",u),u.displayName="GeneratorFunction",S(l,o,"GeneratorFunction"),S(s),S(s,o,"Generator"),S(s,n,function(){return this}),S(s,"toString",function(){return"[object Generator]"}),(w=function(){return{w:i,m:f}})()}function S(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}S=function(e,t,r,n){function i(t,r){S(e,t,function(e){return this._invoke(t,r,e)})}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(i("next",0),i("throw",1),i("return",2))},S(e,t,r,n)}function O(e,t,r,n,o,i,a){try{var c=e[i](a),u=c.value}catch(e){return void r(e)}c.done?t(u):Promise.resolve(u).then(n,o)}function k(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(e){O(i,n,o,a,c,"next",e)}function c(e){O(i,n,o,a,c,"throw",e)}a(void 0)})}}function E(e){return E="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},E(e)}function j(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function P(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?j(Object(r),!0).forEach(function(t){_(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):j(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function _(e,t,r){return(t=function(e){var t=function(e){if("object"!=E(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=E(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==E(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var T={mobile:{slot:"actions",showLabel:!0},tablet:{slot:"actions",showLabel:!0},desktop:{slot:"actions",showLabel:!0}},F={reducer:{initialState:{mode:null,feature:null,tempFeature:null},actions:c},InitComponent:function(e){var t,r,n,o,i=e.appState,a=e.mapState,c=e.pluginConfig,f=e.pluginState,y=e.services,d=e.mapProvider,m=e.buttonConfig,v=y.events,S=y.eventBus,O=(a.mapStyle||{}).mapColorScheme,E=null===(t=null===(r=c.includeModes)||void 0===r?void 0:r.includes(i.mode))||void 0===t||t,j=null!==(n=null===(o=c.excludeModes)||void 0===o?void 0:o.includes(i.mode))&&void 0!==n&&n,P=a.isMapReady&&E&&!j;(0,u.useEffect)(function(){if(P&&!d.sketchViewModel){var e=function(e){var t=e.mapProvider.view,r=new p.default({id:"sketchLayer"});t.map.add(r);var n=new p.default({id:"emptySketchLayer"});return t.map.add(n),{sketchViewModel:new l.default({view:t,layer:n,defaultUpdateOptions:{tool:"reshape",updateOnGraphicClick:!1,multipleSelectionEnabled:!1,toggleToolOnClick:!1,highlightOptions:{enabled:!1}}}),emptySketchLayer:n,sketchLayer:r}}({pluginState:f,mapProvider:d,eventBus:S}),t=e.sketchViewModel,r=e.sketchLayer,n=e.emptySketchLayer;return d.sketchViewModel=t,d.sketchLayer=r,d.emptySketchLayer=n,S.emit("draw:ready"),function(){d.sketchViewModel=null,d.sketchLayer=null,d.emptySketchLayer=null}}},[a.isMapReady,i.mode]),(0,u.useEffect)(function(){if(P&&d.sketchViewModel){var e=function(e){var t=e.pluginState,r=e.mapProvider,n=e.events,o=e.eventBus,i=e.buttonConfig,a=e.mapColorScheme,c=r.view,u=r.sketchViewModel,l=r.sketchLayer,p=r.emptySketchLayer;if(!u)return null;var f=i.drawDone,y=i.drawCancel,d=t.dispatch,m=t.mode,v=t.feature,S=function(){var e=k(w().m(function e(){var r,n,o,i,c;return w().w(function(e){for(;;)switch(e.p=e.n){case 0:if(n=null===(r=t.feature)||void 0===r||null===(r=r.properties)||void 0===r?void 0:r.id,o=null,i="active"===u.state&&!n,"active"!==u.state||!n){e.n=1;break}return u.cancel(),e.n=1,new Promise(function(e){return setTimeout(e,50)});case 1:if(u.polygonSymbol=b(a),null==l||l.graphics.items.forEach(function(e){var t=h(e.attributes.id,e.geometry.rings,a);e.symbol=t.symbol,n===e.attributes.id&&(o=e)}),!o||i||u.layer!==l){e.n=5;break}return e.p=2,e.n=3,u.update(o,{tool:"reshape",toggleToolOnClick:!1});case 3:e.n=5;break;case 4:e.p=4,"AbortError"!==(c=e.v).name&&console.error("Error updating sketch:",c);case 5:return e.a(2)}},e,null,[[2,4]])}));return function(){return e.apply(this,arguments)}}(),O=function(){var e,t,r=null!==(e=null===(t=l.graphics)||void 0===t||null===(t=t.items)||void 0===t?void 0:t[0])&&void 0!==e?e:null;r&&setTimeout(function(){return u.update(r)},0)},E=function(){return S()},j=function(){var e=k(w().m(function e(){return w().w(function(e){for(;;)switch(e.n){case 0:if(m){e.n=1;break}return e.a(2);case 1:if(!(u.updateGraphics||[]).length){e.n=2;break}return e.a(2);case 2:O();case 3:return e.a(2)}},e)}));return function(){return e.apply(this,arguments)}}();o.on(n.MAP_STYLE_CHANGE,E);var P=u.on("update",function(e){var t,r=null===(t=e.toolEventInfo)||void 0===t?void 0:t.type,n=e.graphics[0];if("move-start"===r&&(u.cancel(),O()),"reshape"===r&&(s.isSimple(n.geometry)||u.undo()),"reshape-stop"===r){var i=g(n);o.emit("draw:update",i),d({type:"SET_FEATURE",payload:{tempFeature:i}})}}),_=c.on("click",j),T=f.onClick,F=y.onClick;return f.onClick=function(){u.cancel(),u.layer=p,d({type:"SET_MODE",payload:null}),d({type:"SET_FEATURE",payload:{feature:null,tempFeature:null}}),o.emit("draw:done",{newFeature:t.tempFeature})},y.onClick=function(){if(u.cancel(),l.removeAll(),v){var e=h(v.id||v.properties.id,v.geometry.coordinates,a);l.add(e)}u.layer=p,d({type:"SET_MODE",payload:null}),o.emit("draw:cancel")},function(){o.off(n.MAP_STYLE_CHANGE,E),P.remove(),_.remove(),f.onClick=T,y.onClick=F}}({pluginState:f,mapProvider:d,events:v,eventBus:S,buttonConfig:m,mapColorScheme:O});return function(){e()}}},[P,O,f])},buttons:[P({id:"drawDone",label:"Done",variant:"primary",hiddenWhen:function(e){return!e.pluginState.mode},enableWhen:function(e){return!!e.pluginState.tempFeature}},T),P({id:"drawCancel",label:"Cancel",variant:"tertiary",hiddenWhen:function(e){return!e.pluginState.mode}},T)],api:{newPolygon:function(e,t){var r=e.mapState,n=e.pluginState,o=e.mapProvider,i=e.services,a=n.dispatch,c=o.sketchViewModel,u=o.sketchLayer,l=i.eventBus;c.layer=u;var p=c.on("create",function(e){if("complete"===e.state){e.graphic.attributes={id:t},console.log("create-complete",o.sketchLayer.graphics.items.length),requestAnimationFrame(function(){c.update(e.graphic,{tool:"reshape",toggleToolOnClick:!1})});var r=g(e.graphic);l.emit("draw:create",r),a({type:"SET_FEATURE",payload:{tempFeature:r}}),p.remove()}});c.polygonSymbol=b(r.mapStyle.mapColorScheme),c.create("polygon"),a({type:"SET_MODE",payload:"new-polygon"})},editFeature:function(e,t){var r=e.pluginState,n=e.mapProvider,o=r.dispatch,i=n.sketchViewModel,a=n.sketchLayer,c=a.graphics.items.find(function(e){return e.attributes.id===t}),u=c.geometry.extent,l=[u.xmin,u.ymin,u.xmax,u.ymax];n.fitToBounds(l),i.layer=a,i.update(c,{tool:"reshape",toggleToolOnClick:!1,enableRotation:!1,enableScaling:!1}),o({type:"SET_FEATURE",payload:{feature:g(c)}}),o({type:"SET_MODE",payload:"edit-feature"})},addFeature:function(e,t){var r=e.pluginState,n=e.mapState,o=e.mapProvider,i=e.services,a=r.dispatch,c=n.mapStyle,u=o.sketchViewModel,l=o.sketchLayer,p=o.emptySketchLayer,s=i.eventBus,f=h(t.id,t.geometry.coordinates,c.mapColorScheme);l.add(f),u.layer=p,a({type:"SET_FEATURE",payload:{feature:t}}),s.emit("draw:add",t)},deleteFeature:function(e,t){var r=e.pluginState,n=e.mapProvider,o=e.services,i=r.dispatch,a=n.sketchViewModel,c=n.sketchLayer,u=n.emptySketchLayer,l=o.eventBus,p=c.graphics.items.find(function(e){return e.attributes.id===t});a.cancel(),c.remove(p),a.layer=u,i({type:"SET_FEATURE",payload:{feature:null,tempFeature:null}}),l.emit("draw:delete",{featureId:t}),i({type:"SET_MODE",payload:null})}}}}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! For license information please see index.js.LICENSE.txt */
|
|
2
|
+
import*as r from"@arcgis/core/Graphic.js";import*as e from"@arcgis/core/geometry/operators/simplifyOperator.js";import*as t from"@arcgis/core/layers/GraphicsLayer.js";import*as o from"@arcgis/core/widgets/Sketch/SketchViewModel.js";import*as n from"react";var i,a,c={"@arcgis/core/Graphic.js"(e,t,o){var n,i;e.exports=(n={default:()=>r.default},i={},o.d(i,n),i)},"@arcgis/core/geometry/operators/simplifyOperator.js"(r,t,o){var n,i;r.exports=(n={isSimple:()=>e.isSimple},i={},o.d(i,n),i)},"@arcgis/core/layers/GraphicsLayer.js"(r,e,o){var n,i;r.exports=(n={default:()=>t.default},i={},o.d(i,n),i)},"@arcgis/core/widgets/Sketch/SketchViewModel.js"(r,e,t){var n,i;r.exports=(n={default:()=>o.default},i={},t.d(i,n),i)},react(r,e,t){var o,i;r.exports=(o={useEffect:()=>n.useEffect},i={},t.d(i,o),i)}},u={};function s(r){var e=u[r];if(void 0!==e)return e.exports;var t=u[r]={exports:{}};return c[r](t,t.exports,s),t.exports}s.m=c,s.d=(r,e)=>{for(var t in e)s.o(e,t)&&!s.o(r,t)&&Object.defineProperty(r,t,{enumerable:!0,get:e[t]})},s.f={},s.e=r=>Promise.all(Object.keys(s.f).reduce((e,t)=>(s.f[t](r,e),e),[])),s.u=r=>"../esm/"+r+".js",s.miniCssF=r=>{},s.o=(r,e)=>Object.prototype.hasOwnProperty.call(r,e),s.r=r=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(r,"__esModule",{value:!0})},(()=>{var r;if("string"==typeof import.meta.url&&(r=import.meta.url),!r)throw new Error("Automatic publicPath is not supported in this browser");r=r.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),s.p=r+"../css/"})(),i={index:0},a=r=>{var e,t,{__webpack_esm_ids__:o,__webpack_esm_modules__:n,__webpack_esm_runtime__:a}=r,c=0;for(e in n)s.o(n,e)&&(s.m[e]=n[e]);for(a&&a(s);c<o.length;c++)t=o[c],s.o(i,t)&&i[t]&&i[t][0](),i[o[c]]=0},s.f.j=(r,e)=>{var t=s.o(i,r)?i[r]:void 0;if(0!==t)if(t)e.push(t[1]);else{var o=import("../css/"+s.u(r)).then(a,e=>{throw 0!==i[r]&&(i[r]=void 0),e});o=Promise.race([o,new Promise(e=>t=i[r]=[e])]),e.push(t[1]=o)}};var f={};function p(r){return p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(r){return typeof r}:function(r){return r&&"function"==typeof Symbol&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},p(r)}function l(){var r,e,t="function"==typeof Symbol?Symbol:{},o=t.iterator||"@@iterator",n=t.toStringTag||"@@toStringTag";function i(t,o,n,i){var u=o&&o.prototype instanceof c?o:c,s=Object.create(u.prototype);return y(s,"_invoke",function(t,o,n){var i,c,u,s=0,f=n||[],p=!1,l={p:0,n:0,v:r,a:y,f:y.bind(r,4),d:function(e,t){return i=e,c=0,u=r,l.n=t,a}};function y(t,o){for(c=t,u=o,e=0;!p&&s&&!n&&e<f.length;e++){var n,i=f[e],y=l.p,m=i[2];t>3?(n=m===o)&&(u=i[(c=i[4])?5:(c=3,3)],i[4]=i[5]=r):i[0]<=y&&((n=t<2&&y<i[1])?(c=0,l.v=o,l.n=i[1]):y<m&&(n=t<3||i[0]>o||o>m)&&(i[4]=t,i[5]=o,l.n=m,c=0))}if(n||t>1)return a;throw p=!0,o}return function(n,f,m){if(s>1)throw TypeError("Generator is already running");for(p&&1===f&&y(f,m),c=f,u=m;(e=c<2?r:u)||!p;){i||(c?c<3?(c>1&&(l.n=-1),y(c,u)):l.n=u:l.v=u);try{if(s=2,i){if(c||(n="next"),e=i[n]){if(!(e=e.call(i,u)))throw TypeError("iterator result is not an object");if(!e.done)return e;u=e.value,c<2&&(c=0)}else 1===c&&(e=i.return)&&e.call(i),c<2&&(u=TypeError("The iterator does not provide a '"+n+"' method"),c=1);i=r}else if((e=(p=l.n<0)?u:t.call(o,l))!==a)break}catch(e){i=r,c=1,u=e}finally{s=1}}return{value:e,done:p}}}(t,n,i),!0),s}var a={};function c(){}function u(){}function s(){}e=Object.getPrototypeOf;var f=[][o]?e(e([][o]())):(y(e={},o,function(){return this}),e),p=s.prototype=c.prototype=Object.create(f);function m(r){return Object.setPrototypeOf?Object.setPrototypeOf(r,s):(r.__proto__=s,y(r,n,"GeneratorFunction")),r.prototype=Object.create(p),r}return u.prototype=s,y(p,"constructor",s),y(s,"constructor",u),u.displayName="GeneratorFunction",y(s,n,"GeneratorFunction"),y(p),y(p,n,"Generator"),y(p,o,function(){return this}),y(p,"toString",function(){return"[object Generator]"}),(l=function(){return{w:i,m}})()}function y(r,e,t,o){var n=Object.defineProperty;try{n({},"",{})}catch(r){n=0}y=function(r,e,t,o){function i(e,t){y(r,e,function(r){return this._invoke(e,t,r)})}e?n?n(r,e,{value:t,enumerable:!o,configurable:!o,writable:!o}):r[e]=t:(i("next",0),i("throw",1),i("return",2))},y(r,e,t,o)}function m(r,e,t,o,n,i,a){try{var c=r[i](a),u=c.value}catch(r){return void t(r)}c.done?e(u):Promise.resolve(u).then(o,n)}function b(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(r);e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})),t.push.apply(t,o)}return t}function v(r){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?b(Object(t),!0).forEach(function(e){d(r,e,t[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):b(Object(t)).forEach(function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(t,e))})}return r}function d(r,e,t){return(e=function(r){var e=function(r){if("object"!=p(r)||!r)return r;var e=r[Symbol.toPrimitive];if(void 0!==e){var t=e.call(r,"string");if("object"!=p(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(r)}(r);return"symbol"==p(e)?e:e+""}(e))in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function h(){var r,e;return v(v({},arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),{},{id:"draw",load:(r=l().m(function r(){var e;return l().w(function(r){for(;;)switch(r.n){case 0:return r.n=1,s.e("im-draw-es-plugin").then(s.bind(s,"./plugins/beta/draw-es/src/manifest.js"));case 1:return e=r.v.manifest,r.a(2,e)}},r)}),e=function(){var e=this,t=arguments;return new Promise(function(o,n){var i=r.apply(e,t);function a(r){m(i,o,n,a,c,"next",r)}function c(r){m(i,o,n,a,c,"throw",r)}a(void 0)})},function(){return e.apply(this,arguments)})})}s.d(f,{A:()=>h});const g=f.A;export{g as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.touch-vertex-target circle{fill:var(--map-overlay-foreground-color)}.touch-vertex-target path{fill:var(--map-overlay-halo-color)}.im-c-actions .im-c-button-wrapper--draw-done,.im-c-actions .im-c-button-wrapper--draw-menu,.im-c-actions .im-c-button-wrapper--draw-cancel{width:33.33%}.im-o-app--tablet .im-c-actions .im-c-button-wrapper--draw-done,.im-o-app--tablet .im-c-actions .im-c-button-wrapper--draw-menu,.im-o-app--tablet .im-c-actions .im-c-button-wrapper--draw-cancel,.im-o-app--desktop .im-c-actions .im-c-button-wrapper--draw-done,.im-o-app--desktop .im-c-actions .im-c-button-wrapper--draw-menu,.im-o-app--desktop .im-c-actions .im-c-button-wrapper--draw-cancel{width:100px}.im-c-button-wrapper--draw-add-point{position:absolute;bottom:calc(100% + var(--primary-gap))}
|
|
1
|
+
.touch-vertex-target circle{fill:var(--map-overlay-foreground-color)}.touch-vertex-target path{fill:var(--map-overlay-halo-color)}.im-c-actions .im-c-button-wrapper--draw-done,.im-c-actions .im-c-button-wrapper--draw-menu,.im-c-actions .im-c-button-wrapper--draw-cancel{width:33.33%}.im-o-app--tablet .im-c-actions .im-c-button-wrapper--draw-done,.im-o-app--tablet .im-c-actions .im-c-button-wrapper--draw-menu,.im-o-app--tablet .im-c-actions .im-c-button-wrapper--draw-cancel,.im-o-app--desktop .im-c-actions .im-c-button-wrapper--draw-done,.im-o-app--desktop .im-c-actions .im-c-button-wrapper--draw-menu,.im-o-app--desktop .im-c-actions .im-c-button-wrapper--draw-cancel{width:100px}.im-c-button-wrapper--draw-add-point{position:absolute;bottom:calc(100% + var(--primary-gap));z-index:0}
|