@dartcom/ui-kit 10.2.34 → 10.3.0
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/components/card/card.d.ts +2 -2
- package/dist/components/card/card.d.ts.map +1 -1
- package/dist/components/card/types.d.ts +1 -1
- package/dist/components/card/types.d.ts.map +1 -1
- package/dist/components/layers/leaflet/config/constants.d.ts +1 -1
- package/dist/components/layers/leaflet/config/constants.d.ts.map +1 -1
- package/dist/constants/schema.d.ts +2 -2
- package/dist/constants/schema.d.ts.map +1 -1
- package/dist/index.cjs +1142 -100
- package/dist/index.cjs.map +1 -1
- package/dist/index.esm.js +11 -5
- package/dist/index.esm.js.map +1 -1
- package/dist/lib/hooks/index.d.ts +1 -1
- package/dist/lib/hooks/index.d.ts.map +1 -1
- package/dist/lib/hooks/useSignIn.d.ts.map +1 -1
- package/dist/lib/hooks/useSignOut.d.ts +4 -0
- package/dist/lib/hooks/useSignOut.d.ts.map +1 -0
- package/dist/pages/auth/auth.d.ts.map +1 -1
- package/dist/pages/auth/auth.stories.d.ts.map +1 -1
- package/dist/pages/auth/constants.d.ts +3 -0
- package/dist/pages/auth/constants.d.ts.map +1 -0
- package/dist/pages/auth/schema.d.ts +5 -6
- package/dist/pages/auth/schema.d.ts.map +1 -1
- package/dist/pages/auth/types.d.ts +2 -1
- package/dist/pages/auth/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -41,6 +41,21 @@ function _interopNamespaceDefault(e) {
|
|
|
41
41
|
return Object.freeze(n);
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
+
function _mergeNamespaces(n, m) {
|
|
45
|
+
m.forEach(function (e) {
|
|
46
|
+
e && typeof e !== 'string' && !Array.isArray(e) && Object.keys(e).forEach(function (k) {
|
|
47
|
+
if (k !== 'default' && !(k in n)) {
|
|
48
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
49
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
50
|
+
enumerable: true,
|
|
51
|
+
get: function () { return e[k]; }
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
return Object.freeze(n);
|
|
57
|
+
}
|
|
58
|
+
|
|
44
59
|
var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
|
|
45
60
|
|
|
46
61
|
exports.Operations = void 0;
|
|
@@ -14633,10 +14648,11 @@ function requireLeafletSrc () {
|
|
|
14633
14648
|
}
|
|
14634
14649
|
|
|
14635
14650
|
var leafletSrcExports = requireLeafletSrc();
|
|
14651
|
+
var s$3 = /*@__PURE__*/getDefaultExportFromCjs(leafletSrcExports);
|
|
14636
14652
|
|
|
14637
|
-
function r$
|
|
14653
|
+
function r$2(e){var t,f,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(f=r$2(e[t]))&&(n&&(n+=" "),n+=f);else for(t in e)e[t]&&(n&&(n+=" "),n+=t);return n}function clsx$1(){for(var e,t,f=0,n="";f<arguments.length;)(e=arguments[f++])&&(t=r$2(e))&&(n&&(n+=" "),n+=t);return n}
|
|
14638
14654
|
|
|
14639
|
-
let e$1={data:""},t=t=>{if("object"==typeof window){let e=(t?t.querySelector("#_goober"):window._goober)||Object.assign(document.createElement("style"),{innerHTML:" ",id:"_goober"});return e.nonce=window.__nonce__,e.parentNode||(t||document.head).appendChild(e),e.firstChild}return t||e$1},l=/(?:([\u0080-\uFFFF\w-%@]+) *:? *([^{;]+?);|([^;}{]*?) *{)|(}\s*)/g,a=/\/\*[^]*?\*\/| +/g,n$1=/\n+/g,o$2=(e,t)=>{let r="",l="",a="";for(let n in e){let c=e[n];"@"==n[0]?"i"==n[1]?r=n+" "+c+";":l+="f"==n[1]?o$2(c,n):n+"{"+o$2(c,"k"==n[1]?"":t)+"}":"object"==typeof c?l+=o$2(c,t?t.replace(/([^,])+/g,e=>n.replace(/([^,]*:\S+\([^)]*\))|([^,])+/g,t=>/&/.test(t)?t.replace(/&/g,e):e?e+" "+t:t)):n):null!=c&&(n=/^--/.test(n)?n:n.replace(/[A-Z]/g,"-$&").toLowerCase(),a+=o$2.p?o$2.p(n,c):n+":"+c+";");}return r+(t&&a?t+"{"+a+"}":a)+l},c$1={},s$2=e=>{if("object"==typeof e){let t="";for(let r in e)t+=r+s$2(e[r]);return t}return e},i$2=(e,t,r,i,p)=>{let u=s$2(e),d=c$1[u]||(c$1[u]=(e=>{let t=0,r=11;for(;t<e.length;)r=101*r+e.charCodeAt(t++)>>>0;return "go"+r})(u));if(!c$1[d]){let t=u!==e?e:(e=>{let t,r,o=[{}];for(;t=l.exec(e.replace(a,""));)t[4]?o.shift():t[3]?(r=t[3].replace(n$1," ").trim(),o.unshift(o[0][r]=o[0][r]||{})):o[0][t[1]]=t[2].replace(n$1," ").trim();return o[0]})(e);c$1[d]=o$2(p?{["@keyframes "+d]:t}:t,r?"":"."+d);}let f=r&&c$1.g?c$1.g:null;return r&&(c$1.g=c$1[d]),((e,t,r,l)=>{l?t.data=t.data.replace(l,e):-1===t.data.indexOf(e)&&(t.data=r?e+t.data:t.data+e);})(c$1[d],t,i,f),d},p=(e,t,r)=>e.reduce((e,l,a)=>{let n=t[a];if(n&&n.call){let e=n(r),t=e&&e.props&&e.props.className||/^go/.test(e)&&e;n=t?"."+t:e&&"object"==typeof e?e.props?"":o$2(e,""):false===e?"":e;}return e+l+(null==n?"":n)},"");function u(e){let r=this||{},l=e.call?e(r.p):e;return i$2(l.unshift?l.raw?p(l,[].slice.call(arguments,1),r.p):l.reduce((e,t)=>Object.assign(e,t&&t.call?t(r.p):t),{}):l,t(r.target),r.g,r.o,r.k)}u.bind({g:1});u.bind({k:1});
|
|
14655
|
+
let e$1={data:""},t=t=>{if("object"==typeof window){let e=(t?t.querySelector("#_goober"):window._goober)||Object.assign(document.createElement("style"),{innerHTML:" ",id:"_goober"});return e.nonce=window.__nonce__,e.parentNode||(t||document.head).appendChild(e),e.firstChild}return t||e$1},l$1=/(?:([\u0080-\uFFFF\w-%@]+) *:? *([^{;]+?);|([^;}{]*?) *{)|(}\s*)/g,a=/\/\*[^]*?\*\/| +/g,n$1=/\n+/g,o$2=(e,t)=>{let r="",l="",a="";for(let n in e){let c=e[n];"@"==n[0]?"i"==n[1]?r=n+" "+c+";":l+="f"==n[1]?o$2(c,n):n+"{"+o$2(c,"k"==n[1]?"":t)+"}":"object"==typeof c?l+=o$2(c,t?t.replace(/([^,])+/g,e=>n.replace(/([^,]*:\S+\([^)]*\))|([^,])+/g,t=>/&/.test(t)?t.replace(/&/g,e):e?e+" "+t:t)):n):null!=c&&(n=/^--/.test(n)?n:n.replace(/[A-Z]/g,"-$&").toLowerCase(),a+=o$2.p?o$2.p(n,c):n+":"+c+";");}return r+(t&&a?t+"{"+a+"}":a)+l},c$1={},s$2=e=>{if("object"==typeof e){let t="";for(let r in e)t+=r+s$2(e[r]);return t}return e},i$2=(e,t,r,i,p)=>{let u=s$2(e),d=c$1[u]||(c$1[u]=(e=>{let t=0,r=11;for(;t<e.length;)r=101*r+e.charCodeAt(t++)>>>0;return "go"+r})(u));if(!c$1[d]){let t=u!==e?e:(e=>{let t,r,o=[{}];for(;t=l$1.exec(e.replace(a,""));)t[4]?o.shift():t[3]?(r=t[3].replace(n$1," ").trim(),o.unshift(o[0][r]=o[0][r]||{})):o[0][t[1]]=t[2].replace(n$1," ").trim();return o[0]})(e);c$1[d]=o$2(p?{["@keyframes "+d]:t}:t,r?"":"."+d);}let f=r&&c$1.g?c$1.g:null;return r&&(c$1.g=c$1[d]),((e,t,r,l)=>{l?t.data=t.data.replace(l,e):-1===t.data.indexOf(e)&&(t.data=r?e+t.data:t.data+e);})(c$1[d],t,i,f),d},p=(e,t,r)=>e.reduce((e,l,a)=>{let n=t[a];if(n&&n.call){let e=n(r),t=e&&e.props&&e.props.className||/^go/.test(e)&&e;n=t?"."+t:e&&"object"==typeof e?e.props?"":o$2(e,""):false===e?"":e;}return e+l+(null==n?"":n)},"");function u(e){let r=this||{},l=e.call?e(r.p):e;return i$2(l.unshift?l.raw?p(l,[].slice.call(arguments,1),r.p):l.reduce((e,t)=>Object.assign(e,t&&t.call?t(r.p):t),{}):l,t(r.target),r.g,r.o,r.k)}u.bind({g:1});u.bind({k:1});
|
|
14640
14656
|
|
|
14641
14657
|
function _defineProperties$1(target, props) {
|
|
14642
14658
|
for (var i = 0; i < props.length; i++) {
|
|
@@ -16515,7 +16531,7 @@ const getEntityNames = ({ entity, names, }) => {
|
|
|
16515
16531
|
return layerNames;
|
|
16516
16532
|
};
|
|
16517
16533
|
const getImageSrc = (path) => {
|
|
16518
|
-
const imageSrc = `${"
|
|
16534
|
+
const imageSrc = `${"$VITE_API_HOST/api-image/images"}/${path}`;
|
|
16519
16535
|
return imageSrc;
|
|
16520
16536
|
};
|
|
16521
16537
|
|
|
@@ -24962,6 +24978,69 @@ const useGetUser = () => {
|
|
|
24962
24978
|
});
|
|
24963
24979
|
};
|
|
24964
24980
|
|
|
24981
|
+
const useShowSnackbar = () => {
|
|
24982
|
+
const { enqueueSnackbar } = useSnackbar();
|
|
24983
|
+
const showSnackbar = ({ variant, message, }) => {
|
|
24984
|
+
enqueueSnackbar({
|
|
24985
|
+
variant,
|
|
24986
|
+
message,
|
|
24987
|
+
anchorOrigin: {
|
|
24988
|
+
vertical: 'top',
|
|
24989
|
+
horizontal: 'right',
|
|
24990
|
+
},
|
|
24991
|
+
autoHideDuration: 3000,
|
|
24992
|
+
hideIconVariant: true,
|
|
24993
|
+
});
|
|
24994
|
+
};
|
|
24995
|
+
return showSnackbar;
|
|
24996
|
+
};
|
|
24997
|
+
|
|
24998
|
+
const useShowErrorSnackbar = () => {
|
|
24999
|
+
const showSnackbar = useShowSnackbar();
|
|
25000
|
+
const showErrorSnackbar = (error) => {
|
|
25001
|
+
const { response } = error;
|
|
25002
|
+
if (response) {
|
|
25003
|
+
const { data } = response;
|
|
25004
|
+
if (data) {
|
|
25005
|
+
const { detail } = data;
|
|
25006
|
+
if (detail) {
|
|
25007
|
+
detail.forEach((message) => {
|
|
25008
|
+
showSnackbar({
|
|
25009
|
+
variant: 'error',
|
|
25010
|
+
message,
|
|
25011
|
+
});
|
|
25012
|
+
});
|
|
25013
|
+
}
|
|
25014
|
+
}
|
|
25015
|
+
}
|
|
25016
|
+
};
|
|
25017
|
+
return showErrorSnackbar;
|
|
25018
|
+
};
|
|
25019
|
+
|
|
25020
|
+
const useSignIn = () => {
|
|
25021
|
+
const mutation = useMutation({
|
|
25022
|
+
mutationKey: ['sign-in-mutation'],
|
|
25023
|
+
mutationFn: async ({ body: { username, password } }) => {
|
|
25024
|
+
const body = getUrlencodedBody({
|
|
25025
|
+
username,
|
|
25026
|
+
password: encodeString(password),
|
|
25027
|
+
});
|
|
25028
|
+
const response = await GlobalConfig.instance.apiService.post({
|
|
25029
|
+
url: 'token',
|
|
25030
|
+
body,
|
|
25031
|
+
config: {
|
|
25032
|
+
withCredentials: true,
|
|
25033
|
+
headers: {
|
|
25034
|
+
'Content-Type': 'application/x-www-form-urlencoded',
|
|
25035
|
+
},
|
|
25036
|
+
},
|
|
25037
|
+
});
|
|
25038
|
+
return response;
|
|
25039
|
+
},
|
|
25040
|
+
});
|
|
25041
|
+
return mutation;
|
|
25042
|
+
};
|
|
25043
|
+
|
|
24965
25044
|
if (!React.useState) {
|
|
24966
25045
|
throw new Error("mobx-react-lite requires React with Hooks support");
|
|
24967
25046
|
}
|
|
@@ -26622,12 +26701,12 @@ const MapProvider = ({ children }) => {
|
|
|
26622
26701
|
const [isReady, setIsReady] = React__namespace.useState(false);
|
|
26623
26702
|
const init = async () => {
|
|
26624
26703
|
try {
|
|
26625
|
-
// await import('leaflet-rotatedmarker');
|
|
26626
|
-
// await import('leaflet-polylineoffset');
|
|
26627
|
-
// await import('leaflet-area-select');
|
|
26628
|
-
// await import('leaflet-path-drag');
|
|
26629
|
-
// await import('./library/leaflet-arrows');
|
|
26630
26704
|
await Promise.resolve().then(function () { return tangram_min; });
|
|
26705
|
+
await Promise.resolve().then(function () { return leaflet_rotatedMarker; });
|
|
26706
|
+
await Promise.resolve().then(function () { return leaflet_polylineoffset$1; });
|
|
26707
|
+
await Promise.resolve().then(function () { return index$1; });
|
|
26708
|
+
await Promise.resolve().then(function () { return index; });
|
|
26709
|
+
await Promise.resolve().then(function () { return leafletArrows$1; });
|
|
26631
26710
|
setIsReady(true);
|
|
26632
26711
|
}
|
|
26633
26712
|
catch {
|
|
@@ -26654,46 +26733,7 @@ const DartcomProviders = ({ children, configOptions, themeOptions }) => {
|
|
|
26654
26733
|
return (jsxRuntime.jsx(SnackbarProvider, { children: jsxRuntime.jsx(QueryProvider, { children: jsxRuntime.jsx(DartcomMobxProvider, { children: jsxRuntime.jsx(DartcomThemeProvider, { themeOptions: themeOptions, children: jsxRuntime.jsx(Provider, { children: jsxRuntime.jsx(MapProvider, { children: jsxRuntime.jsx(DartcomInitializeProvider, { configOptions: configOptions, children: children }) }) }) }) }) }) }));
|
|
26655
26734
|
};
|
|
26656
26735
|
|
|
26657
|
-
const
|
|
26658
|
-
const { enqueueSnackbar } = useSnackbar();
|
|
26659
|
-
const showSnackbar = ({ variant, message, }) => {
|
|
26660
|
-
enqueueSnackbar({
|
|
26661
|
-
variant,
|
|
26662
|
-
message,
|
|
26663
|
-
anchorOrigin: {
|
|
26664
|
-
vertical: 'top',
|
|
26665
|
-
horizontal: 'right',
|
|
26666
|
-
},
|
|
26667
|
-
autoHideDuration: 3000,
|
|
26668
|
-
hideIconVariant: true,
|
|
26669
|
-
});
|
|
26670
|
-
};
|
|
26671
|
-
return showSnackbar;
|
|
26672
|
-
};
|
|
26673
|
-
|
|
26674
|
-
const useShowErrorSnackbar = () => {
|
|
26675
|
-
const showSnackbar = useShowSnackbar();
|
|
26676
|
-
const showErrorSnackbar = (error) => {
|
|
26677
|
-
const { response } = error;
|
|
26678
|
-
if (response) {
|
|
26679
|
-
const { data } = response;
|
|
26680
|
-
if (data) {
|
|
26681
|
-
const { detail } = data;
|
|
26682
|
-
if (detail) {
|
|
26683
|
-
detail.forEach((message) => {
|
|
26684
|
-
showSnackbar({
|
|
26685
|
-
variant: 'error',
|
|
26686
|
-
message,
|
|
26687
|
-
});
|
|
26688
|
-
});
|
|
26689
|
-
}
|
|
26690
|
-
}
|
|
26691
|
-
}
|
|
26692
|
-
};
|
|
26693
|
-
return showErrorSnackbar;
|
|
26694
|
-
};
|
|
26695
|
-
|
|
26696
|
-
const useLogout = () => {
|
|
26736
|
+
const useSignOut = () => {
|
|
26697
26737
|
const showErrorSnackbar = useShowErrorSnackbar();
|
|
26698
26738
|
return useMutation({
|
|
26699
26739
|
mutationKey: ['logout-mutation'],
|
|
@@ -26712,28 +26752,6 @@ const useLogout = () => {
|
|
|
26712
26752
|
});
|
|
26713
26753
|
};
|
|
26714
26754
|
|
|
26715
|
-
const useSignIn = () => {
|
|
26716
|
-
return useMutation({
|
|
26717
|
-
mutationKey: ['sign-in-mutation'],
|
|
26718
|
-
mutationFn: async ({ body: { username, password } }) => {
|
|
26719
|
-
const body = getUrlencodedBody({
|
|
26720
|
-
username,
|
|
26721
|
-
password: encodeString(password),
|
|
26722
|
-
});
|
|
26723
|
-
const response = await GlobalConfig.instance.apiService.post({
|
|
26724
|
-
url: 'token',
|
|
26725
|
-
body,
|
|
26726
|
-
config: {
|
|
26727
|
-
headers: {
|
|
26728
|
-
'Content-Type': 'application/x-www-form-urlencoded',
|
|
26729
|
-
},
|
|
26730
|
-
},
|
|
26731
|
-
});
|
|
26732
|
-
return response;
|
|
26733
|
-
},
|
|
26734
|
-
});
|
|
26735
|
-
};
|
|
26736
|
-
|
|
26737
26755
|
exports.API_METHODS = void 0;
|
|
26738
26756
|
(function (API_METHODS) {
|
|
26739
26757
|
API_METHODS["GET"] = "GET";
|
|
@@ -29506,12 +29524,11 @@ var alertDialog = observer(AlertDialog);
|
|
|
29506
29524
|
|
|
29507
29525
|
const CustomCard = ({ children, sx, ...props }) => {
|
|
29508
29526
|
return (jsxRuntime.jsx(material.Box, { ...props, sx: (theme) => {
|
|
29509
|
-
const { spacing } = theme;
|
|
29527
|
+
const { spacing, shadows } = theme;
|
|
29510
29528
|
return {
|
|
29511
|
-
|
|
29512
|
-
|
|
29513
|
-
|
|
29514
|
-
boxShadow: '0px 8px 24px 0px rgba(0,0,0,0.3)',
|
|
29529
|
+
p: spacing(2),
|
|
29530
|
+
borderRadius: '12px',
|
|
29531
|
+
boxShadow: shadows,
|
|
29515
29532
|
maxHeight: '85vh',
|
|
29516
29533
|
maxWidth: '85vw',
|
|
29517
29534
|
overflowX: 'auto',
|
|
@@ -39301,9 +39318,9 @@ const loggerService = new LoggerService();
|
|
|
39301
39318
|
|
|
39302
39319
|
const tile_size = 256;
|
|
39303
39320
|
const sourceUrl = {
|
|
39304
|
-
[exports.TangramSourceNames.TILE]: `${"
|
|
39305
|
-
[exports.TangramSourceNames.NATURE_TILE]: `${"
|
|
39306
|
-
[exports.TangramSourceNames.MSK]: `${"$VITE_API_HOST
|
|
39321
|
+
[exports.TangramSourceNames.TILE]: `${"$VITE_API_HOST/api"}/tiles/get_tile/{z}/{x}/{y}.mvt`,
|
|
39322
|
+
[exports.TangramSourceNames.NATURE_TILE]: `${"$VITE_API_HOST/api"}/tiles/get_nature_tile/{z}/{x}/{y}.mvt`,
|
|
39323
|
+
[exports.TangramSourceNames.MSK]: `${"$VITE_API_HOST/api"}/tiles/get_tile/{z}/{x}/{y}.mvt`,
|
|
39307
39324
|
};
|
|
39308
39325
|
|
|
39309
39326
|
var data = { global:{ links:{ getIsConstruction:"function (feature) {\n const { construction } = feature;\n\n return construction;\n}\n",
|
|
@@ -44328,10 +44345,10 @@ function requirePapaparse_min () {
|
|
|
44328
44345
|
var papaparse_minExports = requirePapaparse_min();
|
|
44329
44346
|
var e = /*@__PURE__*/getDefaultExportFromCjs(papaparse_minExports);
|
|
44330
44347
|
|
|
44331
|
-
"function"==typeof SuppressedError&&SuppressedError;function P(n,t){return e.parse(n,t)}function x$1(n,t){e.parse(n,Object.assign({},{download:true},t));}function O(n,t){return void 0===t&&(t={}),e.unparse(n,t)}function S(){return {readString:P,readRemoteFile:x$1,jsonToCSV:O}}e.BAD_DELIMITERS;e.RECORD_SEP;e.UNIT_SEP;e.WORKERS_SUPPORTED;e.LocalChunkSize;e.DefaultDelimiter;
|
|
44348
|
+
"function"==typeof SuppressedError&&SuppressedError;function P(n,t){return e.parse(n,t)}function x$1(n,t){e.parse(n,Object.assign({},{download:true},t));}function O(n,t){return void 0===t&&(t={}),e.unparse(n,t)}function S$1(){return {readString:P,readRemoteFile:x$1,jsonToCSV:O}}e.BAD_DELIMITERS;e.RECORD_SEP;e.UNIT_SEP;e.WORKERS_SUPPORTED;e.LocalChunkSize;e.DefaultDelimiter;
|
|
44332
44349
|
|
|
44333
44350
|
const CSVUploader = ({ onDataParsed, onError, delimiter = ',', header = true, dynamicTyping = true, skipEmptyLines = true, worker = false, }) => {
|
|
44334
|
-
const { readString } = S();
|
|
44351
|
+
const { readString } = S$1();
|
|
44335
44352
|
const [loading, setLoading] = React__namespace.useState(false);
|
|
44336
44353
|
const [error, setError] = React__namespace.useState(null);
|
|
44337
44354
|
return (jsxRuntime.jsx(UploadButton, { accept: ".csv", loading: loading, error: error, onFilesLoad: ({ files }) => {
|
|
@@ -46778,37 +46795,39 @@ const AuthLayout = ({ children }) => {
|
|
|
46778
46795
|
}, children: jsxRuntime.jsx(CustomCard, { children: children }) }) }));
|
|
46779
46796
|
};
|
|
46780
46797
|
|
|
46781
|
-
const
|
|
46782
|
-
username:
|
|
46783
|
-
password:
|
|
46784
|
-
}
|
|
46798
|
+
const defaultValues = {
|
|
46799
|
+
username: '',
|
|
46800
|
+
password: '',
|
|
46801
|
+
};
|
|
46785
46802
|
|
|
46786
|
-
const r=(t,r,o)=>{if(t&&"reportValidity"in t){const s=get(o,r);t.setCustomValidity(s&&s.message||""),t.reportValidity();}},o$1=(e,t)=>{for(const o in t.fields){const s=t.fields[o];s&&s.ref&&"reportValidity"in s.ref?r(s.ref,o,e):s&&s.refs&&s.refs.forEach(t=>r(t,o,e));}},s=(r,s)=>{s.shouldUseNativeValidation&&o$1(r,s);const n={};for(const o in r){const f=get(s.fields,o),c=Object.assign(r[o]||{},{ref:f&&f.ref});if(i(s.names||Object.keys(r),o)){const r=Object.assign({},get(n,o));set(r,"root",c),set(n,o,r);}else set(n,o,c);}return n},i=(e,t)=>{const r=n(t);return e.some(e=>n(e).match(`^${r}\\.\\d+`))};function n(e){return e.replace(/\]|\[/g,"")}
|
|
46803
|
+
const r$1=(t,r,o)=>{if(t&&"reportValidity"in t){const s=get(o,r);t.setCustomValidity(s&&s.message||""),t.reportValidity();}},o$1=(e,t)=>{for(const o in t.fields){const s=t.fields[o];s&&s.ref&&"reportValidity"in s.ref?r$1(s.ref,o,e):s&&s.refs&&s.refs.forEach(t=>r$1(t,o,e));}},s=(r,s)=>{s.shouldUseNativeValidation&&o$1(r,s);const n={};for(const o in r){const f=get(s.fields,o),c=Object.assign(r[o]||{},{ref:f&&f.ref});if(i(s.names||Object.keys(r),o)){const r=Object.assign({},get(n,o));set(r,"root",c),set(n,o,r);}else set(n,o,c);}return n},i=(e,t)=>{const r=n(t);return e.some(e=>n(e).match(`^${r}\\.\\d+`))};function n(e){return e.replace(/\]|\[/g,"")}
|
|
46787
46804
|
|
|
46788
46805
|
function o(o,n,s$1){return void 0===s$1&&(s$1={}),function(a,i,c){try{return Promise.resolve(function(t,r){try{var u=(null!=n&&n.context&&"development"===process.env.NODE_ENV&&console.warn("You should not used the yup options context. Please, use the 'useForm' context object instead"),Promise.resolve(o["sync"===s$1.mode?"validateSync":"validate"](a,Object.assign({abortEarly:!1},n,{context:i}))).then(function(t){return c.shouldUseNativeValidation&&o$1({},c),{values:s$1.raw?Object.assign({},a):t,errors:{}}}));}catch(e){return r(e)}return u&&u.then?u.then(void 0,r):u}(0,function(e){if(!e.inner)throw e;return {values:{},errors:s((o=e,n=!c.shouldUseNativeValidation&&"all"===c.criteriaMode,(o.inner||[]).reduce(function(e,t){if(e[t.path]||(e[t.path]={message:t.message,type:t.type}),n){var o=e[t.path].types,s=o&&o[t.type];e[t.path]=appendErrors(t.path,n,e,t.type,s?[].concat(s,t.message):t.message);}return e},{})),c)};var o,n;}))}catch(e){return Promise.reject(e)}}}
|
|
46789
46806
|
|
|
46790
|
-
const
|
|
46791
|
-
|
|
46807
|
+
const usernameSchema = getStringRequiredSchema();
|
|
46808
|
+
const passwordSchema = getStringRequiredSchema();
|
|
46809
|
+
const schema = create$3().shape({
|
|
46810
|
+
username: usernameSchema,
|
|
46811
|
+
password: passwordSchema,
|
|
46812
|
+
});
|
|
46813
|
+
const resolver = o(schema);
|
|
46814
|
+
|
|
46815
|
+
const AuthPage = ({ onSuccess, onError }) => {
|
|
46792
46816
|
const signIn = useSignIn();
|
|
46793
46817
|
const showSnackbar = useShowSnackbar();
|
|
46794
46818
|
const form = useForm({
|
|
46795
|
-
defaultValues
|
|
46796
|
-
|
|
46797
|
-
password: '',
|
|
46798
|
-
},
|
|
46799
|
-
resolver: o(schema),
|
|
46819
|
+
defaultValues,
|
|
46820
|
+
resolver,
|
|
46800
46821
|
});
|
|
46801
46822
|
const { register, formState: { isValid }, } = form;
|
|
46802
|
-
const onSubmit = (body) => {
|
|
46823
|
+
const onSubmit = React__namespace.useCallback((body) => {
|
|
46803
46824
|
signIn.mutate({
|
|
46804
46825
|
body,
|
|
46805
46826
|
});
|
|
46806
|
-
};
|
|
46807
|
-
React__namespace.useEffect(() => {
|
|
46808
|
-
logout.mutate();
|
|
46809
|
-
}, []);
|
|
46827
|
+
}, [signIn]);
|
|
46810
46828
|
React__namespace.useEffect(() => {
|
|
46811
46829
|
if (signIn.error) {
|
|
46830
|
+
onError(signIn.error);
|
|
46812
46831
|
const { response } = signIn.error;
|
|
46813
46832
|
if (response) {
|
|
46814
46833
|
const { data: { detail }, } = response;
|
|
@@ -46821,7 +46840,7 @@ const AuthPage = ({ onSuccessSignIn }) => {
|
|
|
46821
46840
|
}, [signIn.error]);
|
|
46822
46841
|
React__namespace.useEffect(() => {
|
|
46823
46842
|
if (signIn.data) {
|
|
46824
|
-
|
|
46843
|
+
onSuccess(signIn.data);
|
|
46825
46844
|
}
|
|
46826
46845
|
}, [signIn.data]);
|
|
46827
46846
|
return (jsxRuntime.jsx(AuthLayout, { children: jsxRuntime.jsxs(CustomForm, { form: form, onSubmit: onSubmit, sx: {
|
|
@@ -46829,7 +46848,7 @@ const AuthPage = ({ onSuccessSignIn }) => {
|
|
|
46829
46848
|
justifyItems: 'center',
|
|
46830
46849
|
alignContent: 'center',
|
|
46831
46850
|
alignItems: 'center',
|
|
46832
|
-
}, children: [jsxRuntime.jsx(material.Typography, { variant: "h4", children: "
|
|
46851
|
+
}, children: [jsxRuntime.jsx(material.Typography, { variant: "h4", children: "\u0410\u0432\u0442\u043E\u0440\u0438\u0437\u0430\u0446\u0438\u044F" }), jsxRuntime.jsx(CustomInput, { ...register('username'), label: "\u041B\u043E\u0433\u0438\u043D", placeholder: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043B\u043E\u0433\u0438\u043D" }), jsxRuntime.jsx(CustomInput, { ...register('password'), label: "\u041F\u0430\u0440\u043E\u043B\u044C", placeholder: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043F\u0430\u0440\u043E\u043B\u044C", type: "password" }), jsxRuntime.jsx(Button, { type: "submit", disabled: !isValid, children: "\u0412\u043E\u0439\u0442\u0438" })] }) }));
|
|
46833
46852
|
};
|
|
46834
46853
|
|
|
46835
46854
|
// define() gets called for each chunk generated by the first Rollup pass.
|
|
@@ -46889,6 +46908,1029 @@ var tangram_min = /*#__PURE__*/Object.freeze({
|
|
|
46889
46908
|
default: Tangram$1
|
|
46890
46909
|
});
|
|
46891
46910
|
|
|
46911
|
+
(function() {
|
|
46912
|
+
// save these original methods before they are overwritten
|
|
46913
|
+
var proto_initIcon = L.Marker.prototype._initIcon;
|
|
46914
|
+
var proto_setPos = L.Marker.prototype._setPos;
|
|
46915
|
+
|
|
46916
|
+
var oldIE = (L.DomUtil.TRANSFORM === 'msTransform');
|
|
46917
|
+
|
|
46918
|
+
L.Marker.addInitHook(function () {
|
|
46919
|
+
var iconOptions = this.options.icon && this.options.icon.options;
|
|
46920
|
+
var iconAnchor = iconOptions && this.options.icon.options.iconAnchor;
|
|
46921
|
+
if (iconAnchor) {
|
|
46922
|
+
iconAnchor = (iconAnchor[0] + 'px ' + iconAnchor[1] + 'px');
|
|
46923
|
+
}
|
|
46924
|
+
this.options.rotationOrigin = this.options.rotationOrigin || iconAnchor || 'center bottom' ;
|
|
46925
|
+
this.options.rotationAngle = this.options.rotationAngle || 0;
|
|
46926
|
+
|
|
46927
|
+
// Ensure marker keeps rotated during dragging
|
|
46928
|
+
this.on('drag', function(e) { e.target._applyRotation(); });
|
|
46929
|
+
});
|
|
46930
|
+
|
|
46931
|
+
L.Marker.include({
|
|
46932
|
+
_initIcon: function() {
|
|
46933
|
+
proto_initIcon.call(this);
|
|
46934
|
+
},
|
|
46935
|
+
|
|
46936
|
+
_setPos: function (pos) {
|
|
46937
|
+
proto_setPos.call(this, pos);
|
|
46938
|
+
this._applyRotation();
|
|
46939
|
+
},
|
|
46940
|
+
|
|
46941
|
+
_applyRotation: function () {
|
|
46942
|
+
if(this.options.rotationAngle) {
|
|
46943
|
+
this._icon.style[L.DomUtil.TRANSFORM+'Origin'] = this.options.rotationOrigin;
|
|
46944
|
+
|
|
46945
|
+
if(oldIE) {
|
|
46946
|
+
// for IE 9, use the 2D rotation
|
|
46947
|
+
this._icon.style[L.DomUtil.TRANSFORM] = 'rotate(' + this.options.rotationAngle + 'deg)';
|
|
46948
|
+
} else {
|
|
46949
|
+
// for modern browsers, prefer the 3D accelerated version
|
|
46950
|
+
this._icon.style[L.DomUtil.TRANSFORM] += ' rotateZ(' + this.options.rotationAngle + 'deg)';
|
|
46951
|
+
}
|
|
46952
|
+
}
|
|
46953
|
+
},
|
|
46954
|
+
|
|
46955
|
+
setRotationAngle: function(angle) {
|
|
46956
|
+
this.options.rotationAngle = angle;
|
|
46957
|
+
this.update();
|
|
46958
|
+
return this;
|
|
46959
|
+
},
|
|
46960
|
+
|
|
46961
|
+
setRotationOrigin: function(origin) {
|
|
46962
|
+
this.options.rotationOrigin = origin;
|
|
46963
|
+
this.update();
|
|
46964
|
+
return this;
|
|
46965
|
+
}
|
|
46966
|
+
});
|
|
46967
|
+
})();
|
|
46968
|
+
|
|
46969
|
+
var leaflet_rotatedMarker = /*#__PURE__*/Object.freeze({
|
|
46970
|
+
__proto__: null
|
|
46971
|
+
});
|
|
46972
|
+
|
|
46973
|
+
var leaflet_polylineoffset$2 = {exports: {}};
|
|
46974
|
+
|
|
46975
|
+
var hasRequiredLeaflet_polylineoffset;
|
|
46976
|
+
|
|
46977
|
+
function requireLeaflet_polylineoffset () {
|
|
46978
|
+
if (hasRequiredLeaflet_polylineoffset) return leaflet_polylineoffset$2.exports;
|
|
46979
|
+
hasRequiredLeaflet_polylineoffset = 1;
|
|
46980
|
+
(function (module, exports$1) {
|
|
46981
|
+
(function (factory, window) {
|
|
46982
|
+
{
|
|
46983
|
+
module.exports = factory(requireLeafletSrc());
|
|
46984
|
+
}
|
|
46985
|
+
if (typeof window !== 'undefined' && window.L) {
|
|
46986
|
+
window.L.PolylineOffset = factory(L);
|
|
46987
|
+
}
|
|
46988
|
+
}(function (L) {
|
|
46989
|
+
|
|
46990
|
+
function forEachPair(list, callback) {
|
|
46991
|
+
if (!list || list.length < 1) { return; }
|
|
46992
|
+
for (var i = 1, l = list.length; i < l; i++) {
|
|
46993
|
+
callback(list[i-1], list[i]);
|
|
46994
|
+
}
|
|
46995
|
+
}
|
|
46996
|
+
|
|
46997
|
+
/**
|
|
46998
|
+
Find the coefficients (a,b) of a line of equation y = a.x + b,
|
|
46999
|
+
or the constant x for vertical lines
|
|
47000
|
+
Return null if there's no equation possible
|
|
47001
|
+
*/
|
|
47002
|
+
function lineEquation(pt1, pt2) {
|
|
47003
|
+
if (pt1.x === pt2.x) {
|
|
47004
|
+
return pt1.y === pt2.y ? null : { x: pt1.x };
|
|
47005
|
+
}
|
|
47006
|
+
|
|
47007
|
+
var a = (pt2.y - pt1.y) / (pt2.x - pt1.x);
|
|
47008
|
+
return {
|
|
47009
|
+
a: a,
|
|
47010
|
+
b: pt1.y - a * pt1.x,
|
|
47011
|
+
};
|
|
47012
|
+
}
|
|
47013
|
+
|
|
47014
|
+
/**
|
|
47015
|
+
Return the intersection point of two lines defined by two points each
|
|
47016
|
+
Return null when there's no unique intersection
|
|
47017
|
+
*/
|
|
47018
|
+
function intersection(l1a, l1b, l2a, l2b) {
|
|
47019
|
+
var line1 = lineEquation(l1a, l1b);
|
|
47020
|
+
var line2 = lineEquation(l2a, l2b);
|
|
47021
|
+
|
|
47022
|
+
if (line1 === null || line2 === null) {
|
|
47023
|
+
return null;
|
|
47024
|
+
}
|
|
47025
|
+
|
|
47026
|
+
if (line1.hasOwnProperty('x')) {
|
|
47027
|
+
return line2.hasOwnProperty('x')
|
|
47028
|
+
? null
|
|
47029
|
+
: {
|
|
47030
|
+
x: line1.x,
|
|
47031
|
+
y: line2.a * line1.x + line2.b,
|
|
47032
|
+
};
|
|
47033
|
+
}
|
|
47034
|
+
if (line2.hasOwnProperty('x')) {
|
|
47035
|
+
return {
|
|
47036
|
+
x: line2.x,
|
|
47037
|
+
y: line1.a * line2.x + line1.b,
|
|
47038
|
+
};
|
|
47039
|
+
}
|
|
47040
|
+
|
|
47041
|
+
if (line1.a === line2.a) {
|
|
47042
|
+
return null;
|
|
47043
|
+
}
|
|
47044
|
+
|
|
47045
|
+
var x = (line2.b - line1.b) / (line1.a - line2.a);
|
|
47046
|
+
return {
|
|
47047
|
+
x: x,
|
|
47048
|
+
y: line1.a * x + line1.b,
|
|
47049
|
+
};
|
|
47050
|
+
}
|
|
47051
|
+
|
|
47052
|
+
function translatePoint(pt, dist, heading) {
|
|
47053
|
+
return {
|
|
47054
|
+
x: pt.x + dist * Math.cos(heading),
|
|
47055
|
+
y: pt.y + dist * Math.sin(heading),
|
|
47056
|
+
};
|
|
47057
|
+
}
|
|
47058
|
+
|
|
47059
|
+
var PolylineOffset = {
|
|
47060
|
+
offsetPointLine: function(points, distance) {
|
|
47061
|
+
var offsetSegments = [];
|
|
47062
|
+
|
|
47063
|
+
forEachPair(points, L.bind(function(a, b) {
|
|
47064
|
+
if (a.x === b.x && a.y === b.y) { return; }
|
|
47065
|
+
|
|
47066
|
+
// angles in (-PI, PI]
|
|
47067
|
+
var segmentAngle = Math.atan2(a.y - b.y, a.x - b.x);
|
|
47068
|
+
var offsetAngle = segmentAngle - Math.PI/2;
|
|
47069
|
+
|
|
47070
|
+
offsetSegments.push({
|
|
47071
|
+
offsetAngle: offsetAngle,
|
|
47072
|
+
original: [a, b],
|
|
47073
|
+
offset: [
|
|
47074
|
+
translatePoint(a, distance, offsetAngle),
|
|
47075
|
+
translatePoint(b, distance, offsetAngle)
|
|
47076
|
+
]
|
|
47077
|
+
});
|
|
47078
|
+
}, this));
|
|
47079
|
+
|
|
47080
|
+
return offsetSegments;
|
|
47081
|
+
},
|
|
47082
|
+
|
|
47083
|
+
offsetPoints: function(pts, offset) {
|
|
47084
|
+
var offsetSegments = this.offsetPointLine(pts, offset);
|
|
47085
|
+
return this.joinLineSegments(offsetSegments, offset);
|
|
47086
|
+
},
|
|
47087
|
+
|
|
47088
|
+
/**
|
|
47089
|
+
Join 2 line segments defined by 2 points each with a circular arc
|
|
47090
|
+
*/
|
|
47091
|
+
joinSegments: function(s1, s2, offset) {
|
|
47092
|
+
// TODO: different join styles
|
|
47093
|
+
return this.circularArc(s1, s2, offset)
|
|
47094
|
+
.filter(function(x) { return x; })
|
|
47095
|
+
},
|
|
47096
|
+
|
|
47097
|
+
joinLineSegments: function(segments, offset) {
|
|
47098
|
+
var joinedPoints = [];
|
|
47099
|
+
var first = segments[0];
|
|
47100
|
+
var last = segments[segments.length - 1];
|
|
47101
|
+
|
|
47102
|
+
if (first && last) {
|
|
47103
|
+
joinedPoints.push(first.offset[0]);
|
|
47104
|
+
forEachPair(segments, L.bind(function(s1, s2) {
|
|
47105
|
+
joinedPoints = joinedPoints.concat(this.joinSegments(s1, s2, offset));
|
|
47106
|
+
}, this));
|
|
47107
|
+
joinedPoints.push(last.offset[1]);
|
|
47108
|
+
}
|
|
47109
|
+
|
|
47110
|
+
return joinedPoints;
|
|
47111
|
+
},
|
|
47112
|
+
|
|
47113
|
+
segmentAsVector: function(s) {
|
|
47114
|
+
return {
|
|
47115
|
+
x: s[1].x - s[0].x,
|
|
47116
|
+
y: s[1].y - s[0].y,
|
|
47117
|
+
};
|
|
47118
|
+
},
|
|
47119
|
+
|
|
47120
|
+
getSignedAngle: function(s1, s2) {
|
|
47121
|
+
const a = this.segmentAsVector(s1);
|
|
47122
|
+
const b = this.segmentAsVector(s2);
|
|
47123
|
+
return Math.atan2(a.x * b.y - a.y * b.x, a.x * b.x + a.y * b.y);
|
|
47124
|
+
},
|
|
47125
|
+
|
|
47126
|
+
/**
|
|
47127
|
+
Interpolates points between two offset segments in a circular form
|
|
47128
|
+
*/
|
|
47129
|
+
circularArc: function(s1, s2, distance) {
|
|
47130
|
+
// if the segments are the same angle,
|
|
47131
|
+
// there should be a single join point
|
|
47132
|
+
if (s1.offsetAngle === s2.offsetAngle) {
|
|
47133
|
+
return [s1.offset[1]];
|
|
47134
|
+
}
|
|
47135
|
+
|
|
47136
|
+
const signedAngle = this.getSignedAngle(s1.offset, s2.offset);
|
|
47137
|
+
// for inner angles, just find the offset segments intersection
|
|
47138
|
+
if ((signedAngle * distance > 0) &&
|
|
47139
|
+
(signedAngle * this.getSignedAngle(s1.offset, [s1.offset[0], s2.offset[1]]) > 0)) {
|
|
47140
|
+
return [intersection(s1.offset[0], s1.offset[1], s2.offset[0], s2.offset[1])];
|
|
47141
|
+
}
|
|
47142
|
+
|
|
47143
|
+
// draws a circular arc with R = offset distance, C = original meeting point
|
|
47144
|
+
var points = [];
|
|
47145
|
+
var center = s1.original[1];
|
|
47146
|
+
// ensure angles go in the anti-clockwise direction
|
|
47147
|
+
var rightOffset = distance > 0;
|
|
47148
|
+
var startAngle = rightOffset ? s2.offsetAngle : s1.offsetAngle;
|
|
47149
|
+
var endAngle = rightOffset ? s1.offsetAngle : s2.offsetAngle;
|
|
47150
|
+
// and that the end angle is bigger than the start angle
|
|
47151
|
+
if (endAngle < startAngle) {
|
|
47152
|
+
endAngle += Math.PI * 2;
|
|
47153
|
+
}
|
|
47154
|
+
var step = Math.PI / 8;
|
|
47155
|
+
for (var alpha = startAngle; alpha < endAngle; alpha += step) {
|
|
47156
|
+
points.push(translatePoint(center, distance, alpha));
|
|
47157
|
+
}
|
|
47158
|
+
points.push(translatePoint(center, distance, endAngle));
|
|
47159
|
+
|
|
47160
|
+
return rightOffset ? points.reverse() : points;
|
|
47161
|
+
}
|
|
47162
|
+
};
|
|
47163
|
+
|
|
47164
|
+
// Modify the L.Polyline class by overwriting the projection function
|
|
47165
|
+
L.Polyline.include({
|
|
47166
|
+
_projectLatlngs: function (latlngs, result, projectedBounds) {
|
|
47167
|
+
var isFlat = latlngs.length > 0 && latlngs[0] instanceof L.LatLng;
|
|
47168
|
+
|
|
47169
|
+
if (isFlat) {
|
|
47170
|
+
var ring = latlngs.map(L.bind(function(ll) {
|
|
47171
|
+
var point = this._map.latLngToLayerPoint(ll);
|
|
47172
|
+
if (projectedBounds) {
|
|
47173
|
+
projectedBounds.extend(point);
|
|
47174
|
+
}
|
|
47175
|
+
return point;
|
|
47176
|
+
}, this));
|
|
47177
|
+
|
|
47178
|
+
// Offset management hack ---
|
|
47179
|
+
if (this.options.offset) {
|
|
47180
|
+
ring = L.PolylineOffset.offsetPoints(ring, this.options.offset);
|
|
47181
|
+
}
|
|
47182
|
+
// Offset management hack END ---
|
|
47183
|
+
|
|
47184
|
+
result.push(ring.map(function (xy) {
|
|
47185
|
+
return L.point(xy.x, xy.y);
|
|
47186
|
+
}));
|
|
47187
|
+
} else {
|
|
47188
|
+
latlngs.forEach(L.bind(function(ll) {
|
|
47189
|
+
this._projectLatlngs(ll, result, projectedBounds);
|
|
47190
|
+
}, this));
|
|
47191
|
+
}
|
|
47192
|
+
}
|
|
47193
|
+
});
|
|
47194
|
+
|
|
47195
|
+
L.Polyline.include({
|
|
47196
|
+
setOffset: function(offset) {
|
|
47197
|
+
this.options.offset = offset;
|
|
47198
|
+
this.redraw();
|
|
47199
|
+
return this;
|
|
47200
|
+
}
|
|
47201
|
+
});
|
|
47202
|
+
|
|
47203
|
+
return PolylineOffset;
|
|
47204
|
+
|
|
47205
|
+
}, window));
|
|
47206
|
+
} (leaflet_polylineoffset$2));
|
|
47207
|
+
return leaflet_polylineoffset$2.exports;
|
|
47208
|
+
}
|
|
47209
|
+
|
|
47210
|
+
var leaflet_polylineoffsetExports = requireLeaflet_polylineoffset();
|
|
47211
|
+
var leaflet_polylineoffset = /*@__PURE__*/getDefaultExportFromCjs(leaflet_polylineoffsetExports);
|
|
47212
|
+
|
|
47213
|
+
var leaflet_polylineoffset$1 = /*#__PURE__*/_mergeNamespaces({
|
|
47214
|
+
__proto__: null,
|
|
47215
|
+
default: leaflet_polylineoffset
|
|
47216
|
+
}, [leaflet_polylineoffsetExports]);
|
|
47217
|
+
|
|
47218
|
+
/**
|
|
47219
|
+
* L.Map.SelectArea - Area selection tool for leaflet
|
|
47220
|
+
*
|
|
47221
|
+
* @author Alexander Milevski <info@w8r.name>
|
|
47222
|
+
* @see https://github.com/w8r/leaflet-area-select
|
|
47223
|
+
* @license MIT
|
|
47224
|
+
* @preserve
|
|
47225
|
+
*/
|
|
47226
|
+
var r = function() {
|
|
47227
|
+
return true;
|
|
47228
|
+
};
|
|
47229
|
+
s$3.Map.SelectArea = s$3.Map.BoxZoom.extend({
|
|
47230
|
+
statics: {
|
|
47231
|
+
/**
|
|
47232
|
+
* @static
|
|
47233
|
+
* @type {String}
|
|
47234
|
+
*/
|
|
47235
|
+
SELECT_AREA_SELECTED: "selectarea:selected",
|
|
47236
|
+
/**
|
|
47237
|
+
* @static
|
|
47238
|
+
* @type {String}
|
|
47239
|
+
*/
|
|
47240
|
+
SELECT_AREA_START: "selectarea:start",
|
|
47241
|
+
/**
|
|
47242
|
+
* @static
|
|
47243
|
+
* @type {String}
|
|
47244
|
+
*/
|
|
47245
|
+
SELECT_AREA_TOGGLED: "selectarea:toggled"
|
|
47246
|
+
},
|
|
47247
|
+
options: {
|
|
47248
|
+
shiftKey: false,
|
|
47249
|
+
ctrlKey: true,
|
|
47250
|
+
validate: r,
|
|
47251
|
+
autoDisable: false,
|
|
47252
|
+
cursor: "crosshair"
|
|
47253
|
+
},
|
|
47254
|
+
/**
|
|
47255
|
+
* @param {L.Map} map
|
|
47256
|
+
* @constructor
|
|
47257
|
+
*/
|
|
47258
|
+
initialize: function(t, e) {
|
|
47259
|
+
s$3.Util.setOptions(this, e || {}), s$3.Map.BoxZoom.prototype.initialize.call(this, t), this._validate = null, this._moved = false, this._autoDisable = !this.options.ctrlKey && this.options.autoDisable, this._lastLayerPoint = null, this._beforeCursor = null, this.setValidate(this.options.validate), this.setAutoDisable(this.options.autoDisable);
|
|
47260
|
+
},
|
|
47261
|
+
/**
|
|
47262
|
+
* @param {Function=} validate
|
|
47263
|
+
* @return {SelectArea}
|
|
47264
|
+
*/
|
|
47265
|
+
setValidate: function(t) {
|
|
47266
|
+
var e = this;
|
|
47267
|
+
return typeof t != "function" && (t = r), this._validate = function(i) {
|
|
47268
|
+
return t.call(e, i);
|
|
47269
|
+
}, this;
|
|
47270
|
+
},
|
|
47271
|
+
/**
|
|
47272
|
+
* @param {Boolean} autoDisable
|
|
47273
|
+
*/
|
|
47274
|
+
setAutoDisable: function(t) {
|
|
47275
|
+
this._autoDisable = !!t;
|
|
47276
|
+
},
|
|
47277
|
+
/**
|
|
47278
|
+
* @param {Boolean} on
|
|
47279
|
+
*/
|
|
47280
|
+
setControlKey: function(t) {
|
|
47281
|
+
var e = this._enabled;
|
|
47282
|
+
e && this.disable(), this.options.ctrlKey = !!t, t && (this.options.shiftKey = false), e && this.enable();
|
|
47283
|
+
},
|
|
47284
|
+
/**
|
|
47285
|
+
* @param {Boolean} on
|
|
47286
|
+
*/
|
|
47287
|
+
setShiftKey: function(t) {
|
|
47288
|
+
var e = this._enabled;
|
|
47289
|
+
e && this.disable(), this.options.shiftKey = !!t, t && (this.options.ctrlKey = false), e && this.enable();
|
|
47290
|
+
},
|
|
47291
|
+
/**
|
|
47292
|
+
* Disable dragging or zoombox
|
|
47293
|
+
* @param {Function=} validate
|
|
47294
|
+
* @param {Boolean=} autoDisable
|
|
47295
|
+
*/
|
|
47296
|
+
enable: function(t, e) {
|
|
47297
|
+
this.options.shiftKey ? this._map.boxZoom && this._map.boxZoom.disable() : this.options.ctrlKey || this._map.dragging.disable(), s$3.Map.BoxZoom.prototype.enable.call(this), this.options.ctrlKey || this._setCursor(), t && this.setValidate(t), this.setAutoDisable(e), this._map.fire(s$3.Map.SelectArea.SELECT_AREA_TOGGLED);
|
|
47298
|
+
},
|
|
47299
|
+
/**
|
|
47300
|
+
* Re-enable box zoom or dragging
|
|
47301
|
+
*/
|
|
47302
|
+
disable: function() {
|
|
47303
|
+
s$3.Map.BoxZoom.prototype.disable.call(this), this.options.ctrlKey || this._restoreCursor(), this.options.shiftKey ? this._map.boxZoom && this._map.boxZoom.enable() : this._map.dragging.enable(), this._map.fire(s$3.Map.SelectArea.SELECT_AREA_TOGGLED);
|
|
47304
|
+
},
|
|
47305
|
+
/**
|
|
47306
|
+
* Also listen to ESC to cancel interaction
|
|
47307
|
+
* @override
|
|
47308
|
+
*/
|
|
47309
|
+
addHooks: function() {
|
|
47310
|
+
s$3.Map.BoxZoom.prototype.addHooks.call(this), s$3.DomEvent.on(document, "keyup", this._onKeyUp, this).on(document, "keydown", this._onKeyPress, this).on(document, "contextmenu", this._onMouseDown, this).on(window, "blur", this._onBlur, this), this._map.on("dragstart", this._onMouseDown, this);
|
|
47311
|
+
},
|
|
47312
|
+
/**
|
|
47313
|
+
* @override
|
|
47314
|
+
*/
|
|
47315
|
+
removeHooks: function() {
|
|
47316
|
+
s$3.Map.BoxZoom.prototype.removeHooks.call(this), s$3.DomEvent.off(document, "keyup", this._onKeyUp, this).off(document, "keydown", this._onKeyPress, this).off(document, "contextmenu", this._onMouseDown, this).off(window, "blur", this._onBlur, this), this._map.off("dragstart", this._onMouseDown, this);
|
|
47317
|
+
},
|
|
47318
|
+
/**
|
|
47319
|
+
* @override
|
|
47320
|
+
*/
|
|
47321
|
+
_onMouseDown: function(t) {
|
|
47322
|
+
if (this._moved = false, this._lastLayerPoint = null, this.options.shiftKey && !t.shiftKey || this.options.ctrlKey && !t.ctrlKey || t.which !== 1 && t.button !== 1)
|
|
47323
|
+
return false;
|
|
47324
|
+
s$3.DomEvent.stop(t);
|
|
47325
|
+
var e = this._map.mouseEventToLayerPoint(t);
|
|
47326
|
+
if (!this._validate(e)) return false;
|
|
47327
|
+
s$3.DomUtil.disableTextSelection(), s$3.DomUtil.disableImageDrag(), this._startLayerPoint = e, s$3.DomEvent.on(document, "mousemove", this._onMouseMove, this).on(document, "mouseup", this._onMouseUp, this).on(document, "keydown", this._onKeyDown, this);
|
|
47328
|
+
},
|
|
47329
|
+
/**
|
|
47330
|
+
* @override
|
|
47331
|
+
*/
|
|
47332
|
+
_onMouseMove: function(t) {
|
|
47333
|
+
this._moved || (this._box = s$3.DomUtil.create("div", "leaflet-zoom-box", this._pane), s$3.DomUtil.setPosition(this._box, this._startLayerPoint), this._map.fire(s$3.Map.SelectArea.SELECT_AREA_START));
|
|
47334
|
+
var e = this._startLayerPoint, i = this._box, o = this._map.mouseEventToLayerPoint(t), a = o.subtract(e);
|
|
47335
|
+
if (this._validate(o)) {
|
|
47336
|
+
this._lastLayerPoint = o;
|
|
47337
|
+
var n = new s$3.Point(
|
|
47338
|
+
Math.min(o.x, e.x),
|
|
47339
|
+
Math.min(o.y, e.y)
|
|
47340
|
+
);
|
|
47341
|
+
s$3.DomUtil.setPosition(i, n), this._moved = true, i.style.width = Math.max(0, Math.abs(a.x) - 4) + "px", i.style.height = Math.max(0, Math.abs(a.y) - 4) + "px";
|
|
47342
|
+
}
|
|
47343
|
+
},
|
|
47344
|
+
/**
|
|
47345
|
+
* General on/off toggle
|
|
47346
|
+
* @param {KeyboardEvent} e
|
|
47347
|
+
*/
|
|
47348
|
+
_onKeyUp: function(t) {
|
|
47349
|
+
t.keyCode === 27 ? this._moved && this._box && this._finish() : this.options.ctrlKey && (this._restoreCursor(), this._map.dragging.enable());
|
|
47350
|
+
},
|
|
47351
|
+
/**
|
|
47352
|
+
* Key down listener to enable on ctrl-press
|
|
47353
|
+
* @param {KeyboardEvent} e
|
|
47354
|
+
*/
|
|
47355
|
+
_onKeyPress: function(t) {
|
|
47356
|
+
this.options.ctrlKey && (t.ctrlKey || t.type === "dragstart") && this._beforeCursor === null && (this._setCursor(), this._map.dragging._draggable._onUp(t), this._map.dragging.disable());
|
|
47357
|
+
},
|
|
47358
|
+
/**
|
|
47359
|
+
* Window blur listener to restore state
|
|
47360
|
+
* @param {Event} e
|
|
47361
|
+
*/
|
|
47362
|
+
_onBlur: function(t) {
|
|
47363
|
+
this._restoreCursor(), this._map.dragging.enable();
|
|
47364
|
+
},
|
|
47365
|
+
/**
|
|
47366
|
+
* Set crosshair cursor
|
|
47367
|
+
*/
|
|
47368
|
+
_setCursor: function() {
|
|
47369
|
+
this._beforeCursor = this._container.style.cursor, this._container.style.cursor = this.options.cursor;
|
|
47370
|
+
},
|
|
47371
|
+
/**
|
|
47372
|
+
* Restore status quo cursor
|
|
47373
|
+
*/
|
|
47374
|
+
_restoreCursor: function() {
|
|
47375
|
+
this._container.style.cursor = this._beforeCursor, this._beforeCursor = null;
|
|
47376
|
+
},
|
|
47377
|
+
/**
|
|
47378
|
+
* @override
|
|
47379
|
+
*/
|
|
47380
|
+
_onMouseUp: function(t) {
|
|
47381
|
+
this._finish();
|
|
47382
|
+
var e = this._map, i = this._lastLayerPoint;
|
|
47383
|
+
if (!(!i || this._startLayerPoint.equals(i))) {
|
|
47384
|
+
s$3.DomEvent.stop(t);
|
|
47385
|
+
var o = e.layerPointToLatLng(this._startLayerPoint), a = e.layerPointToLatLng(i), n = new s$3.LatLngBounds(o, a);
|
|
47386
|
+
this._autoDisable ? this.disable() : this._restoreCursor(), this._moved = false, s$3.Util.requestAnimFrame(function() {
|
|
47387
|
+
e.fire(s$3.Map.SelectArea.SELECT_AREA_SELECTED, {
|
|
47388
|
+
bounds: n,
|
|
47389
|
+
start: o,
|
|
47390
|
+
end: a
|
|
47391
|
+
});
|
|
47392
|
+
});
|
|
47393
|
+
}
|
|
47394
|
+
}
|
|
47395
|
+
});
|
|
47396
|
+
s$3.Map.mergeOptions({
|
|
47397
|
+
selectArea: false
|
|
47398
|
+
});
|
|
47399
|
+
s$3.Map.addInitHook("addHandler", "selectArea", s$3.Map.SelectArea);
|
|
47400
|
+
const l = s$3.Map.SelectArea;
|
|
47401
|
+
|
|
47402
|
+
var index$1 = /*#__PURE__*/Object.freeze({
|
|
47403
|
+
__proto__: null,
|
|
47404
|
+
default: l
|
|
47405
|
+
});
|
|
47406
|
+
|
|
47407
|
+
leafletSrcExports.SVG.include({
|
|
47408
|
+
/**
|
|
47409
|
+
* Reset transform matrix
|
|
47410
|
+
*/
|
|
47411
|
+
_resetTransformPath: function(t) {
|
|
47412
|
+
t._path.setAttributeNS(null, "transform", "");
|
|
47413
|
+
},
|
|
47414
|
+
/**
|
|
47415
|
+
* Applies matrix transformation to SVG
|
|
47416
|
+
* @param {L.Path} layer
|
|
47417
|
+
* @param {Array.<Number>} matrix
|
|
47418
|
+
*/
|
|
47419
|
+
transformPath: function(t, i) {
|
|
47420
|
+
t._path.setAttributeNS(
|
|
47421
|
+
null,
|
|
47422
|
+
"transform",
|
|
47423
|
+
"matrix(" + i.join(" ") + ")"
|
|
47424
|
+
);
|
|
47425
|
+
}
|
|
47426
|
+
});
|
|
47427
|
+
leafletSrcExports.SVG.include(
|
|
47428
|
+
leafletSrcExports.Browser.vml ? {
|
|
47429
|
+
/**
|
|
47430
|
+
* Reset transform matrix
|
|
47431
|
+
*/
|
|
47432
|
+
_resetTransformPath: function(t) {
|
|
47433
|
+
t._skew && (t._skew.on = false, t._path.removeChild(t._skew), t._skew = null);
|
|
47434
|
+
},
|
|
47435
|
+
/**
|
|
47436
|
+
* Applies matrix transformation to VML
|
|
47437
|
+
* @param {L.Path} layer
|
|
47438
|
+
* @param {Array.<Number>} matrix
|
|
47439
|
+
*/
|
|
47440
|
+
transformPath: function(t, i) {
|
|
47441
|
+
let n = t._skew;
|
|
47442
|
+
n || (n = leafletSrcExports.SVG.create("skew"), t._path.appendChild(n), n.style.behavior = "url(#default#VML)", t._skew = n);
|
|
47443
|
+
const a = i[0].toFixed(8) + " " + i[1].toFixed(8) + " " + i[2].toFixed(8) + " " + i[3].toFixed(8) + " 0 0", r = Math.floor(i[4]).toFixed() + ", " + Math.floor(i[5]).toFixed(), s = this._path.style;
|
|
47444
|
+
let e = parseFloat(s.left), o = parseFloat(s.top), _ = parseFloat(s.width), p = parseFloat(s.height);
|
|
47445
|
+
isNaN(e) && (e = 0), isNaN(o) && (o = 0), (isNaN(_) || !_) && (_ = 1), (isNaN(p) || !p) && (p = 1);
|
|
47446
|
+
const u = (-e / _ - 0.5).toFixed(8) + " " + (-o / p - 0.5).toFixed(8);
|
|
47447
|
+
n.on = "f", n.matrix = a, n.origin = u, n.offset = r, n.on = true;
|
|
47448
|
+
}
|
|
47449
|
+
} : {}
|
|
47450
|
+
);
|
|
47451
|
+
function E() {
|
|
47452
|
+
return true;
|
|
47453
|
+
}
|
|
47454
|
+
leafletSrcExports.Canvas.include({
|
|
47455
|
+
/**
|
|
47456
|
+
* Do nothing
|
|
47457
|
+
* @param {L.Path} layer
|
|
47458
|
+
*/
|
|
47459
|
+
_resetTransformPath: function(t) {
|
|
47460
|
+
this._containerCopy && (delete this._containerCopy, t._containsPoint_ && (t._containsPoint = t._containsPoint_, delete t._containsPoint_, this._requestRedraw(t)));
|
|
47461
|
+
},
|
|
47462
|
+
/**
|
|
47463
|
+
* Algorithm outline:
|
|
47464
|
+
*
|
|
47465
|
+
* 1. pre-transform - clear the path out of the canvas, copy canvas state
|
|
47466
|
+
* 2. at every frame:
|
|
47467
|
+
* 2.1. save
|
|
47468
|
+
* 2.2. redraw the canvas from saved one
|
|
47469
|
+
* 2.3. transform
|
|
47470
|
+
* 2.4. draw path
|
|
47471
|
+
* 2.5. restore
|
|
47472
|
+
* 3. Repeat
|
|
47473
|
+
*
|
|
47474
|
+
* @param {L.Path} layer
|
|
47475
|
+
* @param {Array.<Number>} matrix
|
|
47476
|
+
*/
|
|
47477
|
+
transformPath: function(t, i) {
|
|
47478
|
+
let n = this._containerCopy;
|
|
47479
|
+
const a = this._ctx;
|
|
47480
|
+
let r;
|
|
47481
|
+
const s = leafletSrcExports.Browser.retina ? 2 : 1, e = this._bounds, o = e.getSize(), _ = e.min;
|
|
47482
|
+
n || (n = this._containerCopy = document.createElement("canvas"), r = n.getContext("2d"), n.width = s * o.x, n.height = s * o.y, this._removePath(t), this._redraw(), r.translate(s * e.min.x, s * e.min.y), r.drawImage(this._container, 0, 0), this._initPath(t), t._containsPoint_ = t._containsPoint, t._containsPoint = E), a.save(), a.clearRect(_.x, _.y, o.x * s, o.y * s), a.setTransform(1, 0, 0, 1, 0, 0), a.restore(), a.save(), a.drawImage(this._containerCopy, 0, 0, o.x, o.y), a.transform.apply(a, i), this._drawing = true, t._updatePath(), this._drawing = false, a.restore();
|
|
47483
|
+
}
|
|
47484
|
+
});
|
|
47485
|
+
/**
|
|
47486
|
+
* Leaflet vector features drag functionality
|
|
47487
|
+
* @author Alexander Milevski <info@w8r.name>
|
|
47488
|
+
* @preserve
|
|
47489
|
+
*/
|
|
47490
|
+
leafletSrcExports.Path.include({
|
|
47491
|
+
/**
|
|
47492
|
+
* Applies matrix transformation to SVG
|
|
47493
|
+
* @param {Array.<Number>?} matrix
|
|
47494
|
+
*/
|
|
47495
|
+
_transform: function(t) {
|
|
47496
|
+
return this._renderer && (t ? this._renderer.transformPath(this, t) : (this._renderer._resetTransformPath(this), this._update())), this;
|
|
47497
|
+
},
|
|
47498
|
+
/**
|
|
47499
|
+
* Check if the feature was dragged, that'll supress the click event
|
|
47500
|
+
* on mouseup. That fixes popups for example
|
|
47501
|
+
*
|
|
47502
|
+
* @param {MouseEvent} e
|
|
47503
|
+
*/
|
|
47504
|
+
_onMouseClick: function(t) {
|
|
47505
|
+
this.dragging && this.dragging.moved() || this._map.dragging && this._map.dragging.moved() || this._fireMouseEvent(t);
|
|
47506
|
+
}
|
|
47507
|
+
});
|
|
47508
|
+
const S = {
|
|
47509
|
+
mousedown: "mouseup",
|
|
47510
|
+
touchstart: "touchend",
|
|
47511
|
+
pointerdown: "touchend",
|
|
47512
|
+
MSPointerDown: "touchend"
|
|
47513
|
+
}, M = {
|
|
47514
|
+
mousedown: "mousemove",
|
|
47515
|
+
touchstart: "touchmove",
|
|
47516
|
+
pointerdown: "touchmove",
|
|
47517
|
+
MSPointerDown: "touchmove"
|
|
47518
|
+
};
|
|
47519
|
+
function k(t, i) {
|
|
47520
|
+
const n = t.x - i.x, a = t.y - i.y;
|
|
47521
|
+
return Math.sqrt(n * n + a * a);
|
|
47522
|
+
}
|
|
47523
|
+
leafletSrcExports.Handler.PathDrag = leafletSrcExports.Handler.extend(
|
|
47524
|
+
/** @lends L.Path.Drag.prototype */
|
|
47525
|
+
{
|
|
47526
|
+
statics: {
|
|
47527
|
+
DRAGGING_CLS: "leaflet-path-draggable"
|
|
47528
|
+
},
|
|
47529
|
+
/**
|
|
47530
|
+
* @param {L.Path} path
|
|
47531
|
+
* @constructor
|
|
47532
|
+
*/
|
|
47533
|
+
initialize: function(t) {
|
|
47534
|
+
this._path = t, this._matrix = null, this._startPoint = null, this._dragStartPoint = null, this._mapDraggingWasEnabled = false, this._path._dragMoved = false;
|
|
47535
|
+
},
|
|
47536
|
+
/**
|
|
47537
|
+
* Enable dragging
|
|
47538
|
+
*/
|
|
47539
|
+
addHooks: function() {
|
|
47540
|
+
this._path.on("mousedown", this._onDragStart, this), this._path.options.className = this._path.options.className ? this._path.options.className + " " + leafletSrcExports.Handler.PathDrag.DRAGGING_CLS : leafletSrcExports.Handler.PathDrag.DRAGGING_CLS, this._path._path && leafletSrcExports.DomUtil.addClass(this._path._path, leafletSrcExports.Handler.PathDrag.DRAGGING_CLS);
|
|
47541
|
+
},
|
|
47542
|
+
/**
|
|
47543
|
+
* Disable dragging
|
|
47544
|
+
*/
|
|
47545
|
+
removeHooks: function() {
|
|
47546
|
+
this._path.off("mousedown", this._onDragStart, this), this._path.options.className = this._path.options.className.replace(
|
|
47547
|
+
new RegExp("\\s+" + leafletSrcExports.Handler.PathDrag.DRAGGING_CLS),
|
|
47548
|
+
""
|
|
47549
|
+
), this._path._path && leafletSrcExports.DomUtil.removeClass(this._path._path, leafletSrcExports.Handler.PathDrag.DRAGGING_CLS);
|
|
47550
|
+
},
|
|
47551
|
+
/**
|
|
47552
|
+
* @return {Boolean}
|
|
47553
|
+
*/
|
|
47554
|
+
moved: function() {
|
|
47555
|
+
return this._path._dragMoved;
|
|
47556
|
+
},
|
|
47557
|
+
/**
|
|
47558
|
+
* Start drag
|
|
47559
|
+
* @param {L.MouseEvent} evt
|
|
47560
|
+
*/
|
|
47561
|
+
_onDragStart: function(t) {
|
|
47562
|
+
const i = t.originalEvent._simulated ? "touchstart" : t.originalEvent.type;
|
|
47563
|
+
this._mapDraggingWasEnabled = false, this._startPoint = t.containerPoint.clone(), this._dragStartPoint = t.containerPoint.clone(), this._matrix = [1, 0, 0, 1, 0, 0], leafletSrcExports.DomEvent.stop(t.originalEvent), leafletSrcExports.DomUtil.addClass(this._path._renderer._container, "leaflet-interactive"), leafletSrcExports.DomEvent.on(document, M[i], this._onDrag, this).on(
|
|
47564
|
+
document,
|
|
47565
|
+
S[i],
|
|
47566
|
+
this._onDragEnd,
|
|
47567
|
+
this
|
|
47568
|
+
), this._path._map.dragging.enabled() && (this._path._map.dragging.disable(), this._mapDraggingWasEnabled = true), this._path._dragMoved = false, this._path._popup && this._path._popup.close(), this._replaceCoordGetters(t);
|
|
47569
|
+
},
|
|
47570
|
+
/**
|
|
47571
|
+
* Dragging
|
|
47572
|
+
* @param {L.MouseEvent} evt
|
|
47573
|
+
*/
|
|
47574
|
+
_onDrag: function(t) {
|
|
47575
|
+
leafletSrcExports.DomEvent.stop(t);
|
|
47576
|
+
const i = t.touches && t.touches.length >= 1 ? t.touches[0] : t, n = this._path._map.mouseEventToContainerPoint(i);
|
|
47577
|
+
if (t.type === "touchmove" && !this._path._dragMoved && this._dragStartPoint.distanceTo(n) <= this._path._map.options.tapTolerance)
|
|
47578
|
+
return;
|
|
47579
|
+
const a = n.x, r = n.y, s = a - this._startPoint.x, e = r - this._startPoint.y;
|
|
47580
|
+
(s || e) && (this._path._dragMoved || (this._path._dragMoved = true, this._path.options.interactive = false, this._path._map.dragging._draggable._moved = true, this._path.fire("dragstart", t), this._path.bringToFront()), this._matrix[4] += s, this._matrix[5] += e, this._startPoint.x = a, this._startPoint.y = r, this._path.fire("predrag", t), this._path._transform(this._matrix), this._path.fire("drag", t));
|
|
47581
|
+
},
|
|
47582
|
+
/**
|
|
47583
|
+
* Dragging stopped, apply
|
|
47584
|
+
* @param {L.MouseEvent} evt
|
|
47585
|
+
*/
|
|
47586
|
+
_onDragEnd: function(t) {
|
|
47587
|
+
const i = this._path._map.mouseEventToContainerPoint(t), n = this.moved();
|
|
47588
|
+
if (n && (this._transformPoints(this._matrix), this._path._updatePath(), this._path._project(), this._path._transform(null), leafletSrcExports.DomEvent.stop(t)), leafletSrcExports.DomEvent.off(document, "mousemove touchmove", this._onDrag, this), leafletSrcExports.DomEvent.off(document, "mouseup touchend", this._onDragEnd, this), this._restoreCoordGetters(), n) {
|
|
47589
|
+
this._path.fire("dragend", {
|
|
47590
|
+
distance: k(this._dragStartPoint, i)
|
|
47591
|
+
});
|
|
47592
|
+
const a = this._path._containsPoint;
|
|
47593
|
+
this._path._containsPoint = leafletSrcExports.Util.falseFn, leafletSrcExports.Util.requestAnimFrame(function() {
|
|
47594
|
+
this._path._dragMoved = false, this._path.options.interactive = true, this._path._containsPoint = a;
|
|
47595
|
+
}, this);
|
|
47596
|
+
}
|
|
47597
|
+
this._mapDraggingWasEnabled && this._path._map.dragging.enable();
|
|
47598
|
+
},
|
|
47599
|
+
/**
|
|
47600
|
+
* Applies transformation, does it in one sweep for performance,
|
|
47601
|
+
* so don't be surprised about the code repetition.
|
|
47602
|
+
*
|
|
47603
|
+
* [ x ] [ a b tx ] [ x ] [ a * x + b * y + tx ]
|
|
47604
|
+
* [ y ] = [ c d ty ] [ y ] = [ c * x + d * y + ty ]
|
|
47605
|
+
*
|
|
47606
|
+
* @param {Array.<Number>} matrix
|
|
47607
|
+
*/
|
|
47608
|
+
_transformPoints: function(t, i) {
|
|
47609
|
+
const n = this._path, a = L.point(t[4], t[5]), r = n._map.options.crs, s = r.transformation, e = r.scale(n._map.getZoom()), o = r.projection, _ = s.untransform(a, e).subtract(s.untransform(leafletSrcExports.point(0, 0), e)), p = !i;
|
|
47610
|
+
if (n._bounds = new leafletSrcExports.LatLngBounds(), n._point)
|
|
47611
|
+
i = o.unproject(
|
|
47612
|
+
o.project(n._latlng)._add(_)
|
|
47613
|
+
), p && (n._latlng = i, n._point._add(a));
|
|
47614
|
+
else if (n._rings || n._parts) {
|
|
47615
|
+
const u = n._rings || n._parts;
|
|
47616
|
+
let c = n._latlngs;
|
|
47617
|
+
i = i || c, leafletSrcExports.Util.isArray(c[0]) || (c = [c], i = [i]);
|
|
47618
|
+
for (let g = 0, w = u.length; g < w; g++) {
|
|
47619
|
+
i[g] = i[g] || [];
|
|
47620
|
+
for (let d = 0, v = u[g].length; d < v; d++) {
|
|
47621
|
+
const b = c[g][d];
|
|
47622
|
+
i[g][d] = o.unproject(
|
|
47623
|
+
o.project(b)._add(_)
|
|
47624
|
+
), p && (n._bounds.extend(c[g][d]), u[g][d]._add(a));
|
|
47625
|
+
}
|
|
47626
|
+
}
|
|
47627
|
+
}
|
|
47628
|
+
return i;
|
|
47629
|
+
},
|
|
47630
|
+
/**
|
|
47631
|
+
* If you want to read the latlngs during the drag - your right,
|
|
47632
|
+
* but they have to be transformed
|
|
47633
|
+
*/
|
|
47634
|
+
_replaceCoordGetters: function() {
|
|
47635
|
+
this._path.getLatLng ? (this._path.getLatLng_ = this._path.getLatLng, this._path.getLatLng = leafletSrcExports.Util.bind(function() {
|
|
47636
|
+
return this.dragging._transformPoints(this.dragging._matrix, {});
|
|
47637
|
+
}, this._path)) : this._path.getLatLngs && (this._path.getLatLngs_ = this._path.getLatLngs, this._path.getLatLngs = leafletSrcExports.Util.bind(function() {
|
|
47638
|
+
return this.dragging._transformPoints(this.dragging._matrix, []);
|
|
47639
|
+
}, this._path));
|
|
47640
|
+
},
|
|
47641
|
+
/**
|
|
47642
|
+
* Put back the getters
|
|
47643
|
+
*/
|
|
47644
|
+
_restoreCoordGetters: function() {
|
|
47645
|
+
this._path.getLatLng_ ? (this._path.getLatLng = this._path.getLatLng_, delete this._path.getLatLng_) : this._path.getLatLngs_ && (this._path.getLatLngs = this._path.getLatLngs_, delete this._path.getLatLngs_);
|
|
47646
|
+
}
|
|
47647
|
+
}
|
|
47648
|
+
);
|
|
47649
|
+
leafletSrcExports.Handler.PathDrag.makeDraggable = function(t) {
|
|
47650
|
+
return t.dragging = new leafletSrcExports.Handler.PathDrag(t), t;
|
|
47651
|
+
};
|
|
47652
|
+
leafletSrcExports.Path.prototype.makeDraggable = function() {
|
|
47653
|
+
return leafletSrcExports.Handler.PathDrag.makeDraggable(this);
|
|
47654
|
+
};
|
|
47655
|
+
leafletSrcExports.Path.addInitHook(function() {
|
|
47656
|
+
this.options.draggable ? (this.options.interactive = true, this.dragging ? this.dragging.enable() : (leafletSrcExports.Handler.PathDrag.makeDraggable(this), this.dragging.enable())) : this.dragging && this.dragging.disable();
|
|
47657
|
+
});
|
|
47658
|
+
const T = leafletSrcExports.Handler.PathDrag;
|
|
47659
|
+
|
|
47660
|
+
var index = /*#__PURE__*/Object.freeze({
|
|
47661
|
+
__proto__: null,
|
|
47662
|
+
default: T
|
|
47663
|
+
});
|
|
47664
|
+
|
|
47665
|
+
var leafletArrows$2 = {exports: {}};
|
|
47666
|
+
|
|
47667
|
+
var hasRequiredLeafletArrows;
|
|
47668
|
+
|
|
47669
|
+
function requireLeafletArrows () {
|
|
47670
|
+
if (hasRequiredLeafletArrows) return leafletArrows$2.exports;
|
|
47671
|
+
hasRequiredLeafletArrows = 1;
|
|
47672
|
+
(function (module, exports$1) {
|
|
47673
|
+
// Leaflet Arrows by Meteotest
|
|
47674
|
+
// https://github.com/meteotest/leaflet-arrows
|
|
47675
|
+
// Module Loader Boilerplate
|
|
47676
|
+
(function (factory, window) {
|
|
47677
|
+
// define an AMD module that relies on 'leaflet'
|
|
47678
|
+
{
|
|
47679
|
+
module.exports = factory(requireLeafletSrc());
|
|
47680
|
+
}
|
|
47681
|
+
// attach your plugin to the global 'L' variable
|
|
47682
|
+
if (typeof window !== 'undefined' && window.L) {
|
|
47683
|
+
window.L.Arrow = factory(L);
|
|
47684
|
+
}
|
|
47685
|
+
})(function (L) {
|
|
47686
|
+
// beware! the arrow factory
|
|
47687
|
+
const Arrow = L.FeatureGroup.extend({
|
|
47688
|
+
options: {
|
|
47689
|
+
distanceUnit: 'km', // can be [px,km]
|
|
47690
|
+
stretchFactor: 1, // should the distance be stretched?
|
|
47691
|
+
arrowheadLength: 4, // in distance unit
|
|
47692
|
+
arrowheadClosingLine: false, // should a closing third line be drawn?
|
|
47693
|
+
arrowheadDegree: 155, // degree of arrowhead
|
|
47694
|
+
clickableWidth: 10, // defines the width in pixels of the "phantom" path to capture click events on a line
|
|
47695
|
+
//optional: popupContent: function(data) {},
|
|
47696
|
+
// add your own custom validator, probably not needed...
|
|
47697
|
+
// the validator gets the bound data object as argument
|
|
47698
|
+
validator: function (data) {
|
|
47699
|
+
return (typeof data.latlng !== 'undefined' &&
|
|
47700
|
+
typeof data.distance !== 'undefined' &&
|
|
47701
|
+
!isNaN(data.distance));
|
|
47702
|
+
}, // validator is a callback function that takes the data object of the current point and returns whether it is 'valid'. Invalid arrows will be drawn gray
|
|
47703
|
+
colorScheme: function () {
|
|
47704
|
+
return this.color;
|
|
47705
|
+
}, // add own colorscheme callback
|
|
47706
|
+
circleRadiusInvalidPoint: 1000, // Radius of the circle to display missing or '0'-value
|
|
47707
|
+
// path options
|
|
47708
|
+
color: '#333',
|
|
47709
|
+
opacity: 0.9, // stroke opacity
|
|
47710
|
+
fillOpacity: 0.9,
|
|
47711
|
+
weight: 4, // the width of the arrow
|
|
47712
|
+
smoothFactor: 0,
|
|
47713
|
+
radius: 5, // default radius, when distance is 0
|
|
47714
|
+
defaultPointOptions: {
|
|
47715
|
+
stroke: false,
|
|
47716
|
+
fillOpacity: 0.8,
|
|
47717
|
+
fillColor: '#111',
|
|
47718
|
+
radius: 7,
|
|
47719
|
+
},
|
|
47720
|
+
invalidPointOptions: {
|
|
47721
|
+
stroke: false,
|
|
47722
|
+
fillOpacity: 0.8,
|
|
47723
|
+
fillColor: 'red',
|
|
47724
|
+
radius: 7,
|
|
47725
|
+
},
|
|
47726
|
+
drawSourceMarker: false,
|
|
47727
|
+
sourceMarkerOptions: {
|
|
47728
|
+
stroke: false,
|
|
47729
|
+
fillOpacity: 1,
|
|
47730
|
+
fillColor: '#333',
|
|
47731
|
+
radius: 5,
|
|
47732
|
+
},
|
|
47733
|
+
},
|
|
47734
|
+
/**
|
|
47735
|
+
* The data opject needs at least following properties:
|
|
47736
|
+
* - latlng : L.LatLng
|
|
47737
|
+
* - degree : float
|
|
47738
|
+
* - distance: float
|
|
47739
|
+
*/
|
|
47740
|
+
initialize: function (data, options) {
|
|
47741
|
+
L.Util.setOptions(this, options);
|
|
47742
|
+
this.setData(data);
|
|
47743
|
+
},
|
|
47744
|
+
onAdd: function (map) {
|
|
47745
|
+
this._map = map;
|
|
47746
|
+
this.redraw();
|
|
47747
|
+
// add a viewreset event listener for updating layer's position
|
|
47748
|
+
map.on('viewreset', this._reset, this);
|
|
47749
|
+
},
|
|
47750
|
+
onRemove: function () {
|
|
47751
|
+
// remove layer's DOM elements and listeners
|
|
47752
|
+
for (const i in this._layers) {
|
|
47753
|
+
if (this._layers.hasOwnProperty(i)) {
|
|
47754
|
+
this._map.removeLayer(this._layers[i]);
|
|
47755
|
+
}
|
|
47756
|
+
}
|
|
47757
|
+
if (typeof this._sourceMarker !== 'undefined') {
|
|
47758
|
+
this._map.removeLayer(this._sourceMarker);
|
|
47759
|
+
}
|
|
47760
|
+
this._map.off('viewreset', this._reset, this);
|
|
47761
|
+
},
|
|
47762
|
+
// draw
|
|
47763
|
+
redraw: function () {
|
|
47764
|
+
// only draw when on map
|
|
47765
|
+
if (!this._map) {
|
|
47766
|
+
return;
|
|
47767
|
+
}
|
|
47768
|
+
this._layers = {};
|
|
47769
|
+
// bind popup to the whole feature group
|
|
47770
|
+
if (typeof this.options.popupContent === 'function') {
|
|
47771
|
+
this.bindPopup(this.options.popupContent(this._data));
|
|
47772
|
+
}
|
|
47773
|
+
if (this._data.valid && typeof this.options.colorScheme === 'function') {
|
|
47774
|
+
this.options.color = this.options.colorScheme(this._data);
|
|
47775
|
+
}
|
|
47776
|
+
this._data.distance = parseFloat(this._data.distance);
|
|
47777
|
+
// if distance or degree is falsy/Zero then draw a point instead of an arrow
|
|
47778
|
+
if (!this._data.valid || !this._data.distance || !this._data.angle) {
|
|
47779
|
+
let circle;
|
|
47780
|
+
const pathOptions = this._data.valid
|
|
47781
|
+
? this.options.defaultPointOptions
|
|
47782
|
+
: this.options.invalidPointOptions;
|
|
47783
|
+
if (this.options.distanceUnit.toLowerCase() === 'km') {
|
|
47784
|
+
// use a tenth of the supplied radius (usally used in the circlemarker)
|
|
47785
|
+
circle = L.circle(this._data.latlng, this.options.radius / 10, pathOptions);
|
|
47786
|
+
}
|
|
47787
|
+
else {
|
|
47788
|
+
circle = L.circleMarker(this._data.latlng, pathOptions);
|
|
47789
|
+
}
|
|
47790
|
+
this.addLayer(circle);
|
|
47791
|
+
}
|
|
47792
|
+
else {
|
|
47793
|
+
const theLine = [
|
|
47794
|
+
this._data.latlng,
|
|
47795
|
+
this._calculateEndPoint(this._data.latlng, this._data.distance, this._data.angle),
|
|
47796
|
+
];
|
|
47797
|
+
const theArrow = this._calculateArrowArray(theLine[1]);
|
|
47798
|
+
const backgroundPathOption = L.Util.setOptions({}, this.pathOptions);
|
|
47799
|
+
backgroundPathOption.opacity = 0;
|
|
47800
|
+
backgroundPathOption.weight = this.options.clickableWidth;
|
|
47801
|
+
const invisibleBackgroundPolyline = new L.Polyline([theLine, theArrow], backgroundPathOption);
|
|
47802
|
+
const polyline = new L.Polyline([theLine, theArrow], this.options);
|
|
47803
|
+
this.addLayer(invisibleBackgroundPolyline);
|
|
47804
|
+
this.addLayer(polyline);
|
|
47805
|
+
// that special case, where a circle has to be drawn on the source of the arrow
|
|
47806
|
+
if (this.options.drawSourceMarker) {
|
|
47807
|
+
if (typeof this._sourceMarker === 'undefined') {
|
|
47808
|
+
// use the same coloar as the arrow does
|
|
47809
|
+
this.options.sourceMarkerOptions.fillColor = this.color;
|
|
47810
|
+
this._sourceMarker = L.circleMarker(this._data.latlng, this.options.sourceMarkerOptions);
|
|
47811
|
+
}
|
|
47812
|
+
else {
|
|
47813
|
+
// there is a chance, that the latlng values have been changed by the setData-function
|
|
47814
|
+
this._sourceMarker.setLatLng(this._data.latlng);
|
|
47815
|
+
}
|
|
47816
|
+
}
|
|
47817
|
+
}
|
|
47818
|
+
},
|
|
47819
|
+
// custom methods
|
|
47820
|
+
// just change the angle of the arrow
|
|
47821
|
+
setAngle: function (angle) {
|
|
47822
|
+
if (isNaN(angle)) {
|
|
47823
|
+
this._data.angle = 0; // undefined direction.
|
|
47824
|
+
}
|
|
47825
|
+
else {
|
|
47826
|
+
if (this.options.isWindDegree) {
|
|
47827
|
+
this._data.angle = angle - 180;
|
|
47828
|
+
if (this.options.distanceUnit.toLowerCase() === 'px') {
|
|
47829
|
+
this._data.angle -= 90;
|
|
47830
|
+
}
|
|
47831
|
+
}
|
|
47832
|
+
else {
|
|
47833
|
+
this._data.angle = angle;
|
|
47834
|
+
}
|
|
47835
|
+
}
|
|
47836
|
+
this.redraw();
|
|
47837
|
+
},
|
|
47838
|
+
// just change the length of the arrow
|
|
47839
|
+
setDistance: function (distance) {
|
|
47840
|
+
if (isNaN(distance)) {
|
|
47841
|
+
this._data.distance = 0;
|
|
47842
|
+
}
|
|
47843
|
+
else {
|
|
47844
|
+
this._data.distance = parseFloat(distance);
|
|
47845
|
+
}
|
|
47846
|
+
this.redraw();
|
|
47847
|
+
},
|
|
47848
|
+
// use this method to update the whole dataset that corresponds to the arrow
|
|
47849
|
+
setData: function (data) {
|
|
47850
|
+
this._data = data;
|
|
47851
|
+
if (this.options.validator(this._data)) {
|
|
47852
|
+
this._data.valid = true;
|
|
47853
|
+
this.setAngle(data.degree);
|
|
47854
|
+
}
|
|
47855
|
+
else {
|
|
47856
|
+
this._data.valid = false;
|
|
47857
|
+
this._data.distance = NaN;
|
|
47858
|
+
this._data.degree = NaN;
|
|
47859
|
+
}
|
|
47860
|
+
},
|
|
47861
|
+
// private methods
|
|
47862
|
+
// When using Screen Pixels as unit, the arrows have to be
|
|
47863
|
+
// recalculated after the zoom level has changed
|
|
47864
|
+
_reset: function () {
|
|
47865
|
+
if (this.options.distanceUnit.toLowerCase() === 'px') {
|
|
47866
|
+
this.redraw();
|
|
47867
|
+
}
|
|
47868
|
+
},
|
|
47869
|
+
_calculateEndPoint: function (latlng, dist, degree) {
|
|
47870
|
+
/*
|
|
47871
|
+
* http://www.codeguru.com/cpp/cpp/algorithms/article.php/c5115/Geographic-Distance-and-Azimuth-Calculations.htm
|
|
47872
|
+
*/
|
|
47873
|
+
// don't use this._data here.
|
|
47874
|
+
// this function is also used to find the points of the arrow
|
|
47875
|
+
let distance = dist * this.options.stretchFactor, d2r = Math.PI / 180, // degree 2 radius
|
|
47876
|
+
r2d = 180 / Math.PI;
|
|
47877
|
+
if (this.options.distanceUnit.toLowerCase() === 'km') {
|
|
47878
|
+
const R = 6378.137, // earth radius in kmeters
|
|
47879
|
+
bearing = degree * d2r;
|
|
47880
|
+
distance = distance / R;
|
|
47881
|
+
const a = Math.acos(Math.cos(distance) * Math.cos((90 - latlng.lat) * d2r) +
|
|
47882
|
+
Math.sin((90 - latlng.lat) * d2r) *
|
|
47883
|
+
Math.sin(distance) *
|
|
47884
|
+
Math.cos(bearing));
|
|
47885
|
+
const B = Math.asin((Math.sin(distance) * Math.sin(bearing)) / Math.sin(a));
|
|
47886
|
+
return new L.LatLng(90 - a * r2d, B * r2d + latlng.lng);
|
|
47887
|
+
}
|
|
47888
|
+
else if (this.options.distanceUnit.toLowerCase() === 'px') {
|
|
47889
|
+
const sourcePoint = this._map.latLngToLayerPoint(latlng);
|
|
47890
|
+
const rad = degree * d2r;
|
|
47891
|
+
const vector = L.point(Math.cos(rad) * distance, Math.sin(rad) * distance);
|
|
47892
|
+
const targetPoint = sourcePoint.add(vector);
|
|
47893
|
+
return this._map.layerPointToLatLng(targetPoint);
|
|
47894
|
+
}
|
|
47895
|
+
else {
|
|
47896
|
+
throw Error('calculate end point undefined for distanceUnit: ' +
|
|
47897
|
+
this.options.distanceUnit);
|
|
47898
|
+
}
|
|
47899
|
+
},
|
|
47900
|
+
_calculateArrowArray: function (latlng) {
|
|
47901
|
+
// calculates the Array for the arrow
|
|
47902
|
+
// latlng is the position, where the arrow is added
|
|
47903
|
+
const degree = this._data.angle;
|
|
47904
|
+
if (latlng.length !== undefined) {
|
|
47905
|
+
latlng = new L.LatLng(latlng);
|
|
47906
|
+
}
|
|
47907
|
+
const firstEdge = this._calculateEndPoint(latlng, this.options.arrowheadLength, degree - this.options.arrowheadDegree);
|
|
47908
|
+
const arr = [
|
|
47909
|
+
firstEdge,
|
|
47910
|
+
latlng,
|
|
47911
|
+
this._calculateEndPoint(latlng, this.options.arrowheadLength, degree + this.options.arrowheadDegree),
|
|
47912
|
+
];
|
|
47913
|
+
if (this.options.arrowheadClosingLine) {
|
|
47914
|
+
arr.push(firstEdge);
|
|
47915
|
+
}
|
|
47916
|
+
return arr;
|
|
47917
|
+
},
|
|
47918
|
+
});
|
|
47919
|
+
return Arrow;
|
|
47920
|
+
}, window);
|
|
47921
|
+
|
|
47922
|
+
} (leafletArrows$2));
|
|
47923
|
+
return leafletArrows$2.exports;
|
|
47924
|
+
}
|
|
47925
|
+
|
|
47926
|
+
var leafletArrowsExports = requireLeafletArrows();
|
|
47927
|
+
var leafletArrows = /*@__PURE__*/getDefaultExportFromCjs(leafletArrowsExports);
|
|
47928
|
+
|
|
47929
|
+
var leafletArrows$1 = /*#__PURE__*/_mergeNamespaces({
|
|
47930
|
+
__proto__: null,
|
|
47931
|
+
default: leafletArrows
|
|
47932
|
+
}, [leafletArrowsExports]);
|
|
47933
|
+
|
|
46892
47934
|
exports.Accordion = Accordion;
|
|
46893
47935
|
exports.AlertDialog = alertDialog;
|
|
46894
47936
|
exports.AlertStore = AlertStore;
|
|
@@ -47002,8 +48044,8 @@ exports.trafficSignsDop = trafficSignsDop;
|
|
|
47002
48044
|
exports.useFormContext = useFormContext;
|
|
47003
48045
|
exports.useGetLeafletLayer = useGetLeafletLayer;
|
|
47004
48046
|
exports.useGetUser = useGetUser;
|
|
47005
|
-
exports.useLogout = useLogout;
|
|
47006
48047
|
exports.useShowErrorSnackbar = useShowErrorSnackbar;
|
|
47007
48048
|
exports.useShowSnackbar = useShowSnackbar;
|
|
47008
48049
|
exports.useSignIn = useSignIn;
|
|
48050
|
+
exports.useSignOut = useSignOut;
|
|
47009
48051
|
//# sourceMappingURL=index.cjs.map
|