@opengis/gis 0.2.102 → 0.2.104
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/index.css +1 -1
- package/dist/index.js +506 -506
- package/dist/index.umd.cjs +18 -18
- package/package.json +4 -4
- package/plugin.js +7 -1
- package/server/routes/gis/cartocss/add.cartocss.js +9 -6
- package/server/routes/gis/cartocss/get.cartocss.js +4 -3
- package/server/routes/map/controllers/mapFormat.js +1 -1
- package/server/routes/mapnik/functions/cartoBounds.js +9 -4
- package/server/routes/mapnik/functions/uploadXML.js +3 -3
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent as ve, computed as
|
|
1
|
+
import { defineComponent as ve, computed as R, openBlock as c, createElementBlock as h, normalizeClass as Ee, renderSlot as Ut, createCommentVNode as Q, createElementVNode as o, createTextVNode as Se, toDisplayString as B, h as Co, mergeModels as Ht, defineAsyncComponent as ft, useModel as jt, ref as F, watch as re, createVNode as oe, unref as ae, withCtx as Ve, createStaticVNode as an, useSlots as _s, Fragment as se, renderList as ye, normalizeStyle as ct, withModifiers as nt, createBlock as pe, resolveDynamicComponent as Yt, withDirectives as Ue, onBeforeUnmount as qe, onMounted as He, resolveComponent as Zr, shallowRef as Gr, onUnmounted as so, provide as ks, inject as $s, vModelText as pt, getCurrentInstance as Jt, nextTick as lt, reactive as Tt, Teleport as Rt, Transition as zo, createSlots as Cs, toRef as Ss, resolveDirective as As, vShow as qt, vModelRadio as Ls, vModelSelect as rr, withKeys as lr } from "vue";
|
|
2
2
|
import { useRoute as St, useRouter as zt } from "vue-router";
|
|
3
3
|
import { notify as je, TooltipDirective as Ms, confirm as sr, VsPagination as Es } from "@opengis/core";
|
|
4
4
|
import { VsInputArraySelect as Ts, VsInputMask as Fs } from "@opengis/form";
|
|
@@ -18,7 +18,7 @@ const Is = {
|
|
|
18
18
|
title: { default: "" }
|
|
19
19
|
},
|
|
20
20
|
setup(e) {
|
|
21
|
-
const t = e, n =
|
|
21
|
+
const t = e, n = R(() => t.variant === "table" ? "px-6 pb-4 pt-0 mt-0 flex flex-col gap-0 px-[25px] pt-[24px]" : "px-6 pb-4 pt-0 mt-0 flex flex-col gap-0 px-[25px] pt-[16px]"), r = R(() => t.variant === "form" ? "font-medium" : "");
|
|
22
22
|
return (l, i) => (c(), h("header", {
|
|
23
23
|
class: Ee([n.value, "flex-shrink-0 pt"])
|
|
24
24
|
}, [
|
|
@@ -54,10 +54,10 @@ const Is = {
|
|
|
54
54
|
const ir = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), Ns = (e) => e.replace(
|
|
55
55
|
/^([A-Z])|[\s-_]+(\w)/g,
|
|
56
56
|
(t, n, r) => r ? r.toUpperCase() : n.toLowerCase()
|
|
57
|
-
),
|
|
57
|
+
), Rs = (e) => {
|
|
58
58
|
const t = Ns(e);
|
|
59
59
|
return t.charAt(0).toUpperCase() + t.slice(1);
|
|
60
|
-
},
|
|
60
|
+
}, Ps = (...e) => e.filter((t, n, r) => !!t && t.trim() !== "" && r.indexOf(t) === n).join(" ").trim();
|
|
61
61
|
/**
|
|
62
62
|
* @license lucide-vue-next v0.514.0 - ISC
|
|
63
63
|
*
|
|
@@ -89,9 +89,9 @@ const Os = ({ size: e, strokeWidth: t = 2, absoluteStrokeWidth: n, color: r, ico
|
|
|
89
89
|
height: e || Wn.height,
|
|
90
90
|
stroke: r || Wn.stroke,
|
|
91
91
|
"stroke-width": n ? Number(t) * 24 / Number(e) : t,
|
|
92
|
-
class:
|
|
92
|
+
class: Ps(
|
|
93
93
|
"lucide",
|
|
94
|
-
...i ? [`lucide-${ir(
|
|
94
|
+
...i ? [`lucide-${ir(Rs(i))}-icon`, `lucide-${ir(i)}`] : ["lucide-icon"]
|
|
95
95
|
),
|
|
96
96
|
...a
|
|
97
97
|
},
|
|
@@ -533,7 +533,7 @@ const oi = Oe("square", [
|
|
|
533
533
|
* This source code is licensed under the ISC license.
|
|
534
534
|
* See the LICENSE file in the root directory of this source tree.
|
|
535
535
|
*/
|
|
536
|
-
const
|
|
536
|
+
const Ro = Oe("trash-2", [
|
|
537
537
|
["path", { d: "M3 6h18", key: "d0wm0j" }],
|
|
538
538
|
["path", { d: "M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6", key: "4alrt4" }],
|
|
539
539
|
["path", { d: "M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2", key: "v07s0e" }],
|
|
@@ -885,7 +885,7 @@ function ji(e, t) {
|
|
|
885
885
|
}, null, -1)
|
|
886
886
|
])]);
|
|
887
887
|
}
|
|
888
|
-
const zi = /* @__PURE__ */ Fe(Fi, [["render", ji]]), Ni = {},
|
|
888
|
+
const zi = /* @__PURE__ */ Fe(Fi, [["render", ji]]), Ni = {}, Ri = {
|
|
889
889
|
xmlns: "http://www.w3.org/2000/svg",
|
|
890
890
|
width: "24",
|
|
891
891
|
height: "24",
|
|
@@ -898,12 +898,12 @@ const zi = /* @__PURE__ */ Fe(Fi, [["render", ji]]), Ni = {}, Pi = {
|
|
|
898
898
|
class: "w-4 h-4 text-gray-700 lucide lucide-file-text",
|
|
899
899
|
__v0_r: "0,5361,5384"
|
|
900
900
|
};
|
|
901
|
-
function
|
|
902
|
-
return c(), h("svg",
|
|
901
|
+
function Pi(e, t) {
|
|
902
|
+
return c(), h("svg", Ri, [...t[0] || (t[0] = [
|
|
903
903
|
an('<path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"></path><path d="M14 2v4a2 2 0 0 0 2 2h4"></path><path d="M10 9H8"></path><path d="M16 13H8"></path><path d="M16 17H8"></path>', 5)
|
|
904
904
|
])]);
|
|
905
905
|
}
|
|
906
|
-
const Oi = /* @__PURE__ */ Fe(Ni, [["render",
|
|
906
|
+
const Oi = /* @__PURE__ */ Fe(Ni, [["render", Pi]]), Di = {}, Vi = {
|
|
907
907
|
xmlns: "http://www.w3.org/2000/svg",
|
|
908
908
|
width: "24",
|
|
909
909
|
height: "24",
|
|
@@ -1135,7 +1135,7 @@ const wa = /* @__PURE__ */ Fe(ha, [["render", ba]]), dr = {
|
|
|
1135
1135
|
}, Na = {
|
|
1136
1136
|
key: 1,
|
|
1137
1137
|
class: "text-gray-500 text-sm"
|
|
1138
|
-
},
|
|
1138
|
+
}, Ra = { key: 3 }, Pa = { class: "px-6 py-4" }, Oa = { key: 1 }, Da = ["colspan"], Va = /* @__PURE__ */ ve({
|
|
1139
1139
|
__name: "vs-datatable",
|
|
1140
1140
|
props: /* @__PURE__ */ Ht({
|
|
1141
1141
|
columnsScheme: {},
|
|
@@ -1157,14 +1157,14 @@ const wa = /* @__PURE__ */ Fe(ha, [["render", ba]]), dr = {
|
|
|
1157
1157
|
p.value = !0;
|
|
1158
1158
|
}
|
|
1159
1159
|
});
|
|
1160
|
-
const u =
|
|
1160
|
+
const u = R({
|
|
1161
1161
|
get() {
|
|
1162
1162
|
return Array.isArray(i.value) ? i.value : i.value && Array.isArray(i.value.columns) ? i.value.columns : [];
|
|
1163
1163
|
},
|
|
1164
1164
|
set($) {
|
|
1165
1165
|
Array.isArray(i.value) ? i.value = $ : i.value && Array.isArray(i.value.columns) && (i.value.columns = $);
|
|
1166
1166
|
}
|
|
1167
|
-
}), f =
|
|
1167
|
+
}), f = R(() => {
|
|
1168
1168
|
const $ = s.columnsScheme.map((C) => C.key);
|
|
1169
1169
|
return $.includes("name") && $.includes("label") || $.includes("id") && $.includes("label") ? [
|
|
1170
1170
|
{
|
|
@@ -1294,7 +1294,7 @@ const wa = /* @__PURE__ */ Fe(ha, [["render", ba]]), dr = {
|
|
|
1294
1294
|
])), [
|
|
1295
1295
|
[ae(ui)]
|
|
1296
1296
|
]),
|
|
1297
|
-
o("p", Ia, B(A.
|
|
1297
|
+
o("p", Ia, B(A.ua || A.label || A.name || A.id), 1)
|
|
1298
1298
|
])
|
|
1299
1299
|
])) : (c(), h(se, { key: 1 }, [
|
|
1300
1300
|
V.slot && x(V.slot) ? Ut($.$slots, V.slot, {
|
|
@@ -1309,10 +1309,10 @@ const wa = /* @__PURE__ */ Fe(ha, [["render", ba]]), dr = {
|
|
|
1309
1309
|
}, null, 2)
|
|
1310
1310
|
])) : ["format", "type", "meta"].includes(V.key) ? (c(), h(se, { key: 2 }, [
|
|
1311
1311
|
A[V.key] ? (c(), h("span", za, B(A[V.key]), 1)) : (c(), h("span", Na, "Не вказано"))
|
|
1312
|
-
], 64)) : (c(), h("span",
|
|
1312
|
+
], 64)) : (c(), h("span", Ra, B(A[V.key]), 1))
|
|
1313
1313
|
], 64))
|
|
1314
1314
|
]))), 128)),
|
|
1315
|
-
o("td",
|
|
1315
|
+
o("td", Pa, [
|
|
1316
1316
|
oe(ai, {
|
|
1317
1317
|
columns: u.value,
|
|
1318
1318
|
"onUpdate:columns": C[1] || (C[1] = (V) => u.value = V),
|
|
@@ -1365,7 +1365,7 @@ const wa = /* @__PURE__ */ Fe(ha, [["render", ba]]), dr = {
|
|
|
1365
1365
|
}, 8, ["visible"])
|
|
1366
1366
|
], 64));
|
|
1367
1367
|
}
|
|
1368
|
-
}), en = /* @__PURE__ */ Fe(Va, [["__scopeId", "data-v-
|
|
1368
|
+
}), en = /* @__PURE__ */ Fe(Va, [["__scopeId", "data-v-25566600"]]), Ba = { class: "p-4 text-[13px]" }, Ua = { class: "grid grid-cols-2 gap-x-6 gap-y-2" }, qa = ["id", "checked", "onChange"], Ha = { class: "ml-2 flex-1 min-w-0 flex items-center gap-2" }, Wa = { class: "font-medium text-gray-900 truncate" }, Ya = { class: "text-xs text-gray-500" }, Za = {
|
|
1369
1369
|
key: 0,
|
|
1370
1370
|
class: "text-xs text-[#B2C9D6]"
|
|
1371
1371
|
}, Ga = { class: "flex justify-end gap-2 p-4 border-t w-full" }, wn = /* @__PURE__ */ ve({
|
|
@@ -1386,16 +1386,16 @@ const wa = /* @__PURE__ */ Fe(ha, [["render", ba]]), dr = {
|
|
|
1386
1386
|
setup(e, { emit: t }) {
|
|
1387
1387
|
const n = jt(e, "visible"), r = jt(e, "selection"), l = e, i = t, s = ft(
|
|
1388
1388
|
() => import("@opengis/core").then((M) => M.VsModal)
|
|
1389
|
-
), a =
|
|
1389
|
+
), a = R(
|
|
1390
1390
|
() => Array.isArray(l.fields) ? l.fields.filter(Boolean) : []
|
|
1391
|
-
), p = (M) => (M == null ? void 0 : M.name) ?? (M == null ? void 0 : M.id) ?? (M == null ? void 0 : M.key) ?? (M == null ? void 0 : M.code) ?? (M == null ? void 0 : M.field) ?? (M == null ? void 0 : M.value) ?? "", v = (M) => String(p(M) ?? "").trim(), b = (M) => (M == null ? void 0 : M.title) ?? (M == null ? void 0 : M.label) ?? v(M), m = (M) => String((M == null ? void 0 : M.type) ?? "").trim(), x =
|
|
1391
|
+
), p = (M) => (M == null ? void 0 : M.name) ?? (M == null ? void 0 : M.id) ?? (M == null ? void 0 : M.key) ?? (M == null ? void 0 : M.code) ?? (M == null ? void 0 : M.field) ?? (M == null ? void 0 : M.value) ?? "", v = (M) => String(p(M) ?? "").trim(), b = (M) => (M == null ? void 0 : M.title) ?? (M == null ? void 0 : M.label) ?? v(M), m = (M) => String((M == null ? void 0 : M.type) ?? "").trim(), x = R(
|
|
1392
1392
|
() => new Set(r.value.map((M) => String(M ?? "").trim()))
|
|
1393
1393
|
), u = (M) => x.value.has(v(M)), f = (M) => {
|
|
1394
1394
|
const L = v(M);
|
|
1395
1395
|
if (!L) return;
|
|
1396
1396
|
const k = new Set(x.value);
|
|
1397
1397
|
k.has(L) ? k.delete(L) : k.add(L), r.value = Array.from(k);
|
|
1398
|
-
}, y =
|
|
1398
|
+
}, y = R(() => l.confirmText || "Імпортувати"), d = R(() => l.cancelText || "Скасувати"), g = () => {
|
|
1399
1399
|
n.value = !1, i("cancel");
|
|
1400
1400
|
}, _ = () => {
|
|
1401
1401
|
i("confirm"), n.value = !1;
|
|
@@ -1492,20 +1492,20 @@ const Ka = { class: "vs-form" }, Xa = { class: "vs-form__body auto-rows-max cont
|
|
|
1492
1492
|
}),
|
|
1493
1493
|
emits: ["update:data", "update:form"],
|
|
1494
1494
|
setup(e) {
|
|
1495
|
-
const t = jt(e, "data"), n = jt(e, "form"), r = e, l =
|
|
1495
|
+
const t = jt(e, "data"), n = jt(e, "form"), r = e, l = R(() => Array.isArray(r.fields) ? r.fields : []), i = (_) => Xt(_ || {}), s = ft(() => import("@opengis/form")), a = F(), p = F(!1), v = F([]), b = () => {
|
|
1496
1496
|
const _ = x.value.map((M) => i(M)).filter((M) => M.length > 0);
|
|
1497
1497
|
v.value = [..._], p.value = !0;
|
|
1498
|
-
}, m =
|
|
1498
|
+
}, m = R(
|
|
1499
1499
|
() => {
|
|
1500
1500
|
var _, M;
|
|
1501
1501
|
return ((_ = t.value) == null ? void 0 : _.token) || ((M = t.value) == null ? void 0 : M.id) || "register-form";
|
|
1502
1502
|
}
|
|
1503
|
-
), x =
|
|
1503
|
+
), x = R({
|
|
1504
1504
|
get: () => (t.value || (t.value = {}), Array.isArray(t.value.columns) || (t.value.columns = []), t.value.columns),
|
|
1505
1505
|
set: (_) => {
|
|
1506
1506
|
t.value || (t.value = {}), t.value.columns = Array.isArray(_) ? _ : [];
|
|
1507
1507
|
}
|
|
1508
|
-
}), u =
|
|
1508
|
+
}), u = R({
|
|
1509
1509
|
get: () => t.value || {},
|
|
1510
1510
|
set: (_) => {
|
|
1511
1511
|
var L;
|
|
@@ -1715,10 +1715,10 @@ const Ka = { class: "vs-form" }, Xa = { class: "vs-form__body auto-rows-max cont
|
|
|
1715
1715
|
}),
|
|
1716
1716
|
emits: ["update:data", "update:form"],
|
|
1717
1717
|
setup(e) {
|
|
1718
|
-
const t = jt(e, "data"), n = jt(e, "form"), r = e, l =
|
|
1718
|
+
const t = jt(e, "data"), n = jt(e, "form"), r = e, l = R(() => Array.isArray(r.fields) ? r.fields : []), i = (u) => Xt(u || {}), s = F(!1), a = F([]), p = () => {
|
|
1719
1719
|
const u = v.value.map((f) => i(f)).filter((f) => f.length > 0);
|
|
1720
1720
|
a.value = [...u], s.value = !0;
|
|
1721
|
-
}, v =
|
|
1721
|
+
}, v = R({
|
|
1722
1722
|
get: () => (t.value || (t.value = {}), Array.isArray(t.value.filters) || (t.value.filters = []), t.value.filters),
|
|
1723
1723
|
set: (u) => {
|
|
1724
1724
|
t.value || (t.value = {}), t.value.filters = Array.isArray(u) ? u : [];
|
|
@@ -1761,11 +1761,11 @@ const Ka = { class: "vs-form" }, Xa = { class: "vs-form__body auto-rows-max cont
|
|
|
1761
1761
|
validators: ["required"],
|
|
1762
1762
|
position: "horizontal",
|
|
1763
1763
|
options: [
|
|
1764
|
-
{ text: "Check", id: "
|
|
1765
|
-
{ text: "Range", id: "
|
|
1766
|
-
{ text: "Date", id: "
|
|
1767
|
-
{ text: "Text", id: "
|
|
1768
|
-
{ text: "Select", id: "
|
|
1764
|
+
{ text: "Check", id: "Check" },
|
|
1765
|
+
{ text: "Range", id: "Range" },
|
|
1766
|
+
{ text: "Date", id: "Date" },
|
|
1767
|
+
{ text: "Text", id: "Text" },
|
|
1768
|
+
{ text: "Select", id: "Select" }
|
|
1769
1769
|
]
|
|
1770
1770
|
},
|
|
1771
1771
|
hidden: {
|
|
@@ -1849,10 +1849,10 @@ const Ka = { class: "vs-form" }, Xa = { class: "vs-form__body auto-rows-max cont
|
|
|
1849
1849
|
}),
|
|
1850
1850
|
emits: ["update:data", "update:form"],
|
|
1851
1851
|
setup(e) {
|
|
1852
|
-
const t = jt(e, "data"), n = jt(e, "form"), r = e, l =
|
|
1852
|
+
const t = jt(e, "data"), n = jt(e, "form"), r = e, l = R(() => Array.isArray(r.fields) ? r.fields : []), i = (u) => Xt(u || {}), s = F(!1), a = F([]), p = () => {
|
|
1853
1853
|
const u = v.value.map((f) => i(f)).filter((f) => f.length > 0);
|
|
1854
1854
|
a.value = [...u], s.value = !0;
|
|
1855
|
-
}, v =
|
|
1855
|
+
}, v = R({
|
|
1856
1856
|
get: () => t.value.card,
|
|
1857
1857
|
set: (u) => {
|
|
1858
1858
|
t.value || (t.value = {}), t.value.card = Array.isArray(u) ? u : [];
|
|
@@ -2051,7 +2051,7 @@ const gu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
|
|
|
2051
2051
|
hideDetailsButton: { type: Boolean, default: !1 }
|
|
2052
2052
|
},
|
|
2053
2053
|
setup(e) {
|
|
2054
|
-
const t = e, n =
|
|
2054
|
+
const t = e, n = R(() => t.items && t.items.length || t.items ? t.items : t.item != null ? [t.item] : []), r = (m) => (m == null ? void 0 : m.service_id) && (m == null ? void 0 : m.is_map) && m[t.id_key] && (m == null ? void 0 : m.geom), l = R(() => t.columns.find((m) => m.meta === "title")), i = R(() => t.columns.filter((m) => m.meta === "category")), s = R(() => t.columns.filter((m) => m.meta === "tags")), a = R(() => t.columns.filter((m) => m.meta !== "title")), p = (m, x) => {
|
|
2055
2055
|
if (x)
|
|
2056
2056
|
return m[x];
|
|
2057
2057
|
}, v = (m) => {
|
|
@@ -2165,11 +2165,11 @@ const gu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
|
|
|
2165
2165
|
]);
|
|
2166
2166
|
}), 128));
|
|
2167
2167
|
}
|
|
2168
|
-
}), Fu = { class: "p-0" }, Iu = { class: "border-l-4 border-l-slate-400" }, ju = { class: "p-4" }, zu = { class: "flex flex-wrap items-center gap-2 mb-3" }, Nu = { class: "text-lg font-bold" },
|
|
2168
|
+
}), Fu = { class: "p-0" }, Iu = { class: "border-l-4 border-l-slate-400" }, ju = { class: "p-4" }, zu = { class: "flex flex-wrap items-center gap-2 mb-3" }, Nu = { class: "text-lg font-bold" }, Ru = {
|
|
2169
2169
|
key: 0,
|
|
2170
2170
|
class: "inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent bg-green-100 text-green-800 hover:bg-green-100",
|
|
2171
2171
|
"data-v0-t": "badge"
|
|
2172
|
-
},
|
|
2172
|
+
}, Pu = {
|
|
2173
2173
|
key: 1,
|
|
2174
2174
|
class: "flex"
|
|
2175
2175
|
}, Ou = {
|
|
@@ -2187,7 +2187,7 @@ const gu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
|
|
|
2187
2187
|
hideDetailsButton: { type: Boolean, default: !1 }
|
|
2188
2188
|
},
|
|
2189
2189
|
setup(e) {
|
|
2190
|
-
const t = e, n =
|
|
2190
|
+
const t = e, n = R(() => t.items && t.items.length || t.items ? t.items : t.item != null ? [t.item] : []), r = (m) => (m == null ? void 0 : m.service_id) && (m == null ? void 0 : m.is_map) && m[t.id_key] && (m == null ? void 0 : m.geom), l = R(() => t.columns.find((m) => m.meta === "title")), i = R(() => t.columns.filter((m) => m.meta === "category")), s = R(() => t.columns.filter((m) => m.meta === "tags")), a = R(() => t.columns.filter((m) => m.meta !== "title")), p = (m, x) => {
|
|
2191
2191
|
if (x)
|
|
2192
2192
|
return m[x];
|
|
2193
2193
|
}, v = (m) => {
|
|
@@ -2212,9 +2212,9 @@ const gu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
|
|
|
2212
2212
|
Array.isArray(i.value) && i.value.length ? (c(!0), h(se, { key: 0 }, ye(i.value, (g) => (c(), h(se, {
|
|
2213
2213
|
key: g.name
|
|
2214
2214
|
}, [
|
|
2215
|
-
u[g.name] ? (c(), h("div",
|
|
2215
|
+
u[g.name] ? (c(), h("div", Ru, B(u[`${g.name}_text`] || u[g.name]), 1)) : Q("", !0)
|
|
2216
2216
|
], 64))), 128)) : Q("", !0),
|
|
2217
|
-
Array.isArray(s.value) && s.value.length ? (c(), h("div",
|
|
2217
|
+
Array.isArray(s.value) && s.value.length ? (c(), h("div", Pu, [
|
|
2218
2218
|
(c(!0), h(se, null, ye(s.value, (g) => (c(), h("div", {
|
|
2219
2219
|
key: g.name,
|
|
2220
2220
|
class: "flex flex-wrap gap-1 ml-2"
|
|
@@ -2324,7 +2324,7 @@ const gu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
|
|
|
2324
2324
|
hideDetailsButton: { type: Boolean, default: !1 }
|
|
2325
2325
|
},
|
|
2326
2326
|
setup(e) {
|
|
2327
|
-
const t = e, n =
|
|
2327
|
+
const t = e, n = R(() => t.items && t.items.length || t.items ? t.items : t.item != null ? [t.item] : []), r = (x) => (x == null ? void 0 : x.service_id) && (x == null ? void 0 : x.is_map) && x[t.id_key] && (x == null ? void 0 : x.geom), l = R(() => t.columns.find((x) => x.meta === "title")), i = R(() => t.columns.filter((x) => x.meta === "category")), s = R(() => t.columns.filter((x) => x.meta === "tags")), a = R(() => t.columns.filter((x) => x.meta !== "title")), p = R(() => "bg-blue-500"), v = (x, u) => {
|
|
2328
2328
|
if (u)
|
|
2329
2329
|
return x[u];
|
|
2330
2330
|
}, b = (x) => {
|
|
@@ -2462,7 +2462,7 @@ const gu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
|
|
|
2462
2462
|
hideDetailsButton: { type: Boolean, default: !1 }
|
|
2463
2463
|
},
|
|
2464
2464
|
setup(e) {
|
|
2465
|
-
const t = e, n =
|
|
2465
|
+
const t = e, n = R(() => t.items && t.items.length || t.items ? t.items : t.item != null ? [t.item] : []), r = (m) => (m == null ? void 0 : m.service_id) && (m == null ? void 0 : m.is_map) && m[t.id_key] && (m == null ? void 0 : m.geom), l = R(() => t.columns.find((m) => m.meta === "title")), i = R(() => t.columns.filter((m) => m.meta === "category")), s = R(() => t.columns.filter((m) => m.meta === "tags")), a = R(() => t.columns.filter((m) => m.meta !== "title")), p = (m, x) => {
|
|
2466
2466
|
if (x)
|
|
2467
2467
|
return m[x];
|
|
2468
2468
|
}, v = (m) => {
|
|
@@ -2547,7 +2547,7 @@ const gu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
|
|
|
2547
2547
|
}, Tc = { class: "col-span-1 lg:col-span-7 p-4 lg:p-4" }, Fc = { class: "flex flex-col mb-3 lg:flex-row lg:items-center lg:mb-1" }, Ic = { class: "text-base lg:text-base font-bold text-gray-900 mb-2 lg:mr-2 lg:mb-0" }, jc = { class: "flex flex-wrap gap-2 lg:gap-0" }, zc = {
|
|
2548
2548
|
key: 0,
|
|
2549
2549
|
class: "inline-flex items-center rounded-full px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent hover:bg-primary/80 bg-blue-100 text-blue-800 border-0 text-xs lg:ml-2"
|
|
2550
|
-
}, Nc = { class: "text-sm text-gray-600 line-clamp-2 lg:line-clamp-1 mb-3 lg:mb-2" },
|
|
2550
|
+
}, Nc = { class: "text-sm text-gray-600 line-clamp-2 lg:line-clamp-1 mb-3 lg:mb-2" }, Rc = { class: "grid grid-cols-1 md:grid-cols-2 gap-y-3 md:gap-x-4 md:gap-y-1 text-sm" }, Pc = { class: "flex items-center mb-1 md:mb-0 md:mr-1 max-w-[50%]" }, Oc = ["innerHTML"], Dc = { class: "text-gray-500 font-medium md:font-normal" }, Vc = { class: "text-gray-600 break-words line-clamp-2" }, Bc = { class: "col-span-1 lg:col-span-2 p-4 lg:p-3 bg-gray-50 flex flex-col justify-center border-t lg:border-t-0 lg:border-l border-gray-100" }, Uc = { class: "text-xs text-gray-500 mb-2 lg:mb-1.5" }, qc = {
|
|
2551
2551
|
key: 0,
|
|
2552
2552
|
class: "flex flex-wrap gap-1.5 lg:gap-1"
|
|
2553
2553
|
}, Hc = {
|
|
@@ -2565,7 +2565,7 @@ const gu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
|
|
|
2565
2565
|
hideDetailsButton: { type: Boolean, default: !1 }
|
|
2566
2566
|
},
|
|
2567
2567
|
setup(e) {
|
|
2568
|
-
const t = e, n =
|
|
2568
|
+
const t = e, n = R(() => t.items && t.items.length || t.items ? t.items : t.item != null ? [t.item] : []), r = (u) => (u == null ? void 0 : u.service_id) && (u == null ? void 0 : u.is_map) && u[t.id_key] && (u == null ? void 0 : u.geom), l = R(() => t.columns.find((u) => u.meta === "title")), i = R(() => t.columns.filter((u) => u.meta === "category")), s = R(() => t.columns.filter((u) => u.meta === "tags")), a = R(() => t.columns.filter((u) => u.meta !== "title")), p = R(() => t.columns.find((u) => u.meta === "image")), v = R(
|
|
2569
2569
|
() => t.columns.find((u) => u.meta === "desc") || t.columns.find((u) => u.name === "description")
|
|
2570
2570
|
), b = (u, f) => {
|
|
2571
2571
|
if (f)
|
|
@@ -2610,14 +2610,14 @@ const gu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
|
|
|
2610
2610
|
])
|
|
2611
2611
|
]),
|
|
2612
2612
|
o("p", Nc, B((($ = y[((k = v.value) == null ? void 0 : k.name) + "_data"]) == null ? void 0 : $.text) || y[((C = v.value) == null ? void 0 : C.name) + "_text"] || y[(A = v.value) == null ? void 0 : A.name]), 1),
|
|
2613
|
-
o("div",
|
|
2613
|
+
o("div", Rc, [
|
|
2614
2614
|
(c(!0), h(se, null, ye(a.value, (z) => {
|
|
2615
2615
|
var V;
|
|
2616
2616
|
return c(), h("div", {
|
|
2617
2617
|
key: z.name,
|
|
2618
2618
|
class: "flex flex-col md:flex-row md:items-center"
|
|
2619
2619
|
}, [
|
|
2620
|
-
o("div",
|
|
2620
|
+
o("div", Pc, [
|
|
2621
2621
|
z.icon ? (c(), h("span", {
|
|
2622
2622
|
key: 0,
|
|
2623
2623
|
class: "mr-1 flex-shrink-0",
|
|
@@ -2709,23 +2709,23 @@ const gu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
|
|
|
2709
2709
|
options: r,
|
|
2710
2710
|
col: 12
|
|
2711
2711
|
}
|
|
2712
|
-
}, i =
|
|
2712
|
+
}, i = R(
|
|
2713
2713
|
() => {
|
|
2714
2714
|
var b;
|
|
2715
2715
|
return Array.isArray((b = n.value) == null ? void 0 : b.columns) ? n.value.columns : [];
|
|
2716
2716
|
}
|
|
2717
|
-
), s =
|
|
2717
|
+
), s = R(() => {
|
|
2718
2718
|
var b;
|
|
2719
2719
|
return ((b = n.value) == null ? void 0 : b.view) || "template1";
|
|
2720
|
-
}), a =
|
|
2720
|
+
}), a = R(
|
|
2721
2721
|
() => fr[s.value] || fr.template1
|
|
2722
|
-
), p =
|
|
2722
|
+
), p = R(() => {
|
|
2723
2723
|
var x;
|
|
2724
2724
|
const b = (x = n.value) == null ? void 0 : x.view;
|
|
2725
2725
|
if (!b) return "template1";
|
|
2726
2726
|
const m = r.find((u) => u.id === b);
|
|
2727
2727
|
return (m == null ? void 0 : m.text) || b;
|
|
2728
|
-
}), v =
|
|
2728
|
+
}), v = R(() => (Array.isArray(n.value.tableData) ? n.value.tableData : []).slice(0, 5).map((m) => {
|
|
2729
2729
|
var x, u;
|
|
2730
2730
|
return {
|
|
2731
2731
|
...m,
|
|
@@ -2761,7 +2761,7 @@ const gu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
|
|
|
2761
2761
|
hideDetailsButton: { type: Boolean, default: !1 }
|
|
2762
2762
|
},
|
|
2763
2763
|
setup(e) {
|
|
2764
|
-
const t = St(), n = zt(), r =
|
|
2764
|
+
const t = St(), n = zt(), r = R(() => t.path.replace(/\/[^/]+$/, "")), l = R(
|
|
2765
2765
|
() => {
|
|
2766
2766
|
var y;
|
|
2767
2767
|
return ((y = n.resolve(r.value).meta) == null ? void 0 : y.title) ?? "";
|
|
@@ -2954,15 +2954,15 @@ function il(e, t) {
|
|
|
2954
2954
|
|
|
2955
2955
|
` + e.mark.snippet), r + " " + n) : r;
|
|
2956
2956
|
}
|
|
2957
|
-
function
|
|
2957
|
+
function Pn(e, t) {
|
|
2958
2958
|
Error.call(this), this.name = "YAMLException", this.reason = e, this.mark = t, this.message = il(this, !1), Error.captureStackTrace ? Error.captureStackTrace(this, this.constructor) : this.stack = new Error().stack || "";
|
|
2959
2959
|
}
|
|
2960
|
-
|
|
2961
|
-
|
|
2962
|
-
|
|
2960
|
+
Pn.prototype = Object.create(Error.prototype);
|
|
2961
|
+
Pn.prototype.constructor = Pn;
|
|
2962
|
+
Pn.prototype.toString = function(t) {
|
|
2963
2963
|
return this.name + ": " + il(this, t);
|
|
2964
2964
|
};
|
|
2965
|
-
var wt =
|
|
2965
|
+
var wt = Pn;
|
|
2966
2966
|
function go(e, t, n, r, l) {
|
|
2967
2967
|
var i = "", s = "", a = Math.floor(l / 2) - 1;
|
|
2968
2968
|
return r - t > a && (i = " ... ", t = r - a + i.length), n - r > a && (s = " ...", n = r + a - s.length), {
|
|
@@ -3187,10 +3187,10 @@ function zd(e) {
|
|
|
3187
3187
|
function Nd(e) {
|
|
3188
3188
|
return 48 <= e && e <= 55;
|
|
3189
3189
|
}
|
|
3190
|
-
function
|
|
3190
|
+
function Rd(e) {
|
|
3191
3191
|
return 48 <= e && e <= 57;
|
|
3192
3192
|
}
|
|
3193
|
-
function
|
|
3193
|
+
function Pd(e) {
|
|
3194
3194
|
if (e === null) return !1;
|
|
3195
3195
|
var t = e.length, n = 0, r = !1, l;
|
|
3196
3196
|
if (!t) return !1;
|
|
@@ -3224,7 +3224,7 @@ function Rd(e) {
|
|
|
3224
3224
|
if (l === "_") return !1;
|
|
3225
3225
|
for (; n < t; n++)
|
|
3226
3226
|
if (l = e[n], l !== "_") {
|
|
3227
|
-
if (!
|
|
3227
|
+
if (!Rd(e.charCodeAt(n)))
|
|
3228
3228
|
return !1;
|
|
3229
3229
|
r = !0;
|
|
3230
3230
|
}
|
|
@@ -3245,7 +3245,7 @@ function Dd(e) {
|
|
|
3245
3245
|
}
|
|
3246
3246
|
var vl = new mt("tag:yaml.org,2002:int", {
|
|
3247
3247
|
kind: "scalar",
|
|
3248
|
-
resolve:
|
|
3248
|
+
resolve: Pd,
|
|
3249
3249
|
construct: Od,
|
|
3250
3250
|
predicate: Dd,
|
|
3251
3251
|
represent: {
|
|
@@ -3370,11 +3370,11 @@ function Kd(e) {
|
|
|
3370
3370
|
var _l = new mt("tag:yaml.org,2002:merge", {
|
|
3371
3371
|
kind: "scalar",
|
|
3372
3372
|
resolve: Kd
|
|
3373
|
-
}),
|
|
3373
|
+
}), Po = `ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
|
|
3374
3374
|
\r`;
|
|
3375
3375
|
function Xd(e) {
|
|
3376
3376
|
if (e === null) return !1;
|
|
3377
|
-
var t, n, r = 0, l = e.length, i =
|
|
3377
|
+
var t, n, r = 0, l = e.length, i = Po;
|
|
3378
3378
|
for (n = 0; n < l; n++)
|
|
3379
3379
|
if (t = i.indexOf(e.charAt(n)), !(t > 64)) {
|
|
3380
3380
|
if (t < 0) return !1;
|
|
@@ -3383,13 +3383,13 @@ function Xd(e) {
|
|
|
3383
3383
|
return r % 8 === 0;
|
|
3384
3384
|
}
|
|
3385
3385
|
function Qd(e) {
|
|
3386
|
-
var t, n, r = e.replace(/[\r\n=]/g, ""), l = r.length, i =
|
|
3386
|
+
var t, n, r = e.replace(/[\r\n=]/g, ""), l = r.length, i = Po, s = 0, a = [];
|
|
3387
3387
|
for (t = 0; t < l; t++)
|
|
3388
3388
|
t % 4 === 0 && t && (a.push(s >> 16 & 255), a.push(s >> 8 & 255), a.push(s & 255)), s = s << 6 | i.indexOf(r.charAt(t));
|
|
3389
3389
|
return n = l % 4 * 6, n === 0 ? (a.push(s >> 16 & 255), a.push(s >> 8 & 255), a.push(s & 255)) : n === 18 ? (a.push(s >> 10 & 255), a.push(s >> 2 & 255)) : n === 12 && a.push(s >> 4 & 255), new Uint8Array(a);
|
|
3390
3390
|
}
|
|
3391
3391
|
function Jd(e) {
|
|
3392
|
-
var t = "", n = 0, r, l, i = e.length, s =
|
|
3392
|
+
var t = "", n = 0, r, l, i = e.length, s = Po;
|
|
3393
3393
|
for (r = 0; r < i; r++)
|
|
3394
3394
|
r % 3 === 0 && r && (t += s[n >> 18 & 63], t += s[n >> 12 & 63], t += s[n >> 6 & 63], t += s[n & 63]), n = (n << 8) + e[r];
|
|
3395
3395
|
return l = i % 3, l === 0 ? (t += s[n >> 18 & 63], t += s[n >> 12 & 63], t += s[n >> 6 & 63], t += s[n & 63]) : l === 2 ? (t += s[n >> 10 & 63], t += s[n >> 4 & 63], t += s[n << 2 & 63], t += s[64]) : l === 1 && (t += s[n >> 2 & 63], t += s[n << 4 & 63], t += s[64], t += s[64]), t;
|
|
@@ -3478,7 +3478,7 @@ var Sl = new mt("tag:yaml.org,2002:set", {
|
|
|
3478
3478
|
function vr(e) {
|
|
3479
3479
|
return Object.prototype.toString.call(e);
|
|
3480
3480
|
}
|
|
3481
|
-
function
|
|
3481
|
+
function Pt(e) {
|
|
3482
3482
|
return e === 10 || e === 13;
|
|
3483
3483
|
}
|
|
3484
3484
|
function rn(e) {
|
|
@@ -3596,7 +3596,7 @@ function ut(e, t, n) {
|
|
|
3596
3596
|
do
|
|
3597
3597
|
l = e.input.charCodeAt(++e.position);
|
|
3598
3598
|
while (l !== 10 && l !== 13 && l !== 0);
|
|
3599
|
-
if (
|
|
3599
|
+
if (Pt(l))
|
|
3600
3600
|
for (Do(e), l = e.input.charCodeAt(e.position), r++, e.lineIndent = 0; l === 32; )
|
|
3601
3601
|
e.lineIndent++, l = e.input.charCodeAt(++e.position);
|
|
3602
3602
|
else
|
|
@@ -3626,7 +3626,7 @@ function wf(e, t, n) {
|
|
|
3626
3626
|
} else {
|
|
3627
3627
|
if (e.position === e.lineStart && ao(e) || n && vn(u))
|
|
3628
3628
|
break;
|
|
3629
|
-
if (
|
|
3629
|
+
if (Pt(u))
|
|
3630
3630
|
if (p = e.line, v = e.lineStart, b = e.lineIndent, ut(e, !1, -1), e.lineIndent >= t) {
|
|
3631
3631
|
a = !0, u = e.input.charCodeAt(e.position);
|
|
3632
3632
|
continue;
|
|
@@ -3649,7 +3649,7 @@ function _f(e, t) {
|
|
|
3649
3649
|
r = e.position, e.position++, l = e.position;
|
|
3650
3650
|
else
|
|
3651
3651
|
return !0;
|
|
3652
|
-
else
|
|
3652
|
+
else Pt(n) ? (Kt(e, r, l, !0), Vo(e, ut(e, !1, t)), r = l = e.position) : e.position === e.lineStart && ao(e) ? Me(e, "unexpected end of the document within a single quoted scalar") : (e.position++, l = e.position);
|
|
3653
3653
|
Me(e, "unexpected end of the stream within a single quoted scalar");
|
|
3654
3654
|
}
|
|
3655
3655
|
function kf(e, t) {
|
|
@@ -3660,7 +3660,7 @@ function kf(e, t) {
|
|
|
3660
3660
|
if (a === 34)
|
|
3661
3661
|
return Kt(e, n, e.position, !0), e.position++, !0;
|
|
3662
3662
|
if (a === 92) {
|
|
3663
|
-
if (Kt(e, n, e.position, !0), a = e.input.charCodeAt(++e.position),
|
|
3663
|
+
if (Kt(e, n, e.position, !0), a = e.input.charCodeAt(++e.position), Pt(a))
|
|
3664
3664
|
ut(e, !1, t);
|
|
3665
3665
|
else if (a < 256 && Tl[a])
|
|
3666
3666
|
e.result += Fl[a], e.position++;
|
|
@@ -3671,7 +3671,7 @@ function kf(e, t) {
|
|
|
3671
3671
|
} else
|
|
3672
3672
|
Me(e, "unknown escape sequence");
|
|
3673
3673
|
n = r = e.position;
|
|
3674
|
-
} else
|
|
3674
|
+
} else Pt(a) ? (Kt(e, n, r, !0), Vo(e, ut(e, !1, t)), n = r = e.position) : e.position === e.lineStart && ao(e) ? Me(e, "unexpected end of the document within a double quoted scalar") : (e.position++, r = e.position);
|
|
3675
3675
|
}
|
|
3676
3676
|
Me(e, "unexpected end of the stream within a double quoted scalar");
|
|
3677
3677
|
}
|
|
@@ -3712,12 +3712,12 @@ function Cf(e, t) {
|
|
|
3712
3712
|
if (m === 35)
|
|
3713
3713
|
do
|
|
3714
3714
|
m = e.input.charCodeAt(++e.position);
|
|
3715
|
-
while (!
|
|
3715
|
+
while (!Pt(m) && m !== 0);
|
|
3716
3716
|
}
|
|
3717
3717
|
for (; m !== 0; ) {
|
|
3718
3718
|
for (Do(e), e.lineIndent = 0, m = e.input.charCodeAt(e.position); (!s || e.lineIndent < a) && m === 32; )
|
|
3719
3719
|
e.lineIndent++, m = e.input.charCodeAt(++e.position);
|
|
3720
|
-
if (!s && e.lineIndent > a && (a = e.lineIndent),
|
|
3720
|
+
if (!s && e.lineIndent > a && (a = e.lineIndent), Pt(m)) {
|
|
3721
3721
|
p++;
|
|
3722
3722
|
continue;
|
|
3723
3723
|
}
|
|
@@ -3731,7 +3731,7 @@ function Cf(e, t) {
|
|
|
3731
3731
|
`, i ? 1 + p : p)) : v ? (v = !1, e.result += dt.repeat(`
|
|
3732
3732
|
`, p + 1)) : p === 0 ? i && (e.result += " ") : e.result += dt.repeat(`
|
|
3733
3733
|
`, p) : e.result += dt.repeat(`
|
|
3734
|
-
`, i ? 1 + p : p), i = !0, s = !0, p = 0, n = e.position; !
|
|
3734
|
+
`, i ? 1 + p : p), i = !0, s = !0, p = 0, n = e.position; !Pt(m) && m !== 0; )
|
|
3735
3735
|
m = e.input.charCodeAt(++e.position);
|
|
3736
3736
|
Kt(e, n, e.position, !1);
|
|
3737
3737
|
}
|
|
@@ -3854,10 +3854,10 @@ function Ef(e) {
|
|
|
3854
3854
|
if (s === 35) {
|
|
3855
3855
|
do
|
|
3856
3856
|
s = e.input.charCodeAt(++e.position);
|
|
3857
|
-
while (s !== 0 && !
|
|
3857
|
+
while (s !== 0 && !Pt(s));
|
|
3858
3858
|
break;
|
|
3859
3859
|
}
|
|
3860
|
-
if (
|
|
3860
|
+
if (Pt(s)) break;
|
|
3861
3861
|
for (n = e.position; s !== 0 && !Ct(s); )
|
|
3862
3862
|
s = e.input.charCodeAt(++e.position);
|
|
3863
3863
|
l.push(e.input.slice(n, e.position));
|
|
@@ -3902,7 +3902,7 @@ function Ff(e, t) {
|
|
|
3902
3902
|
var If = Tf, jf = Ff, zl = {
|
|
3903
3903
|
loadAll: If,
|
|
3904
3904
|
load: jf
|
|
3905
|
-
}, Nl = Object.prototype.toString,
|
|
3905
|
+
}, Nl = Object.prototype.toString, Rl = Object.prototype.hasOwnProperty, Bo = 65279, zf = 9, On = 10, Nf = 13, Rf = 32, Pf = 33, Of = 34, Ao = 35, Df = 37, Vf = 38, Bf = 39, Uf = 42, Pl = 44, qf = 45, ro = 58, Hf = 61, Wf = 62, Yf = 63, Zf = 64, Ol = 91, Dl = 93, Gf = 96, Vl = 123, Kf = 124, Bl = 125, yt = {};
|
|
3906
3906
|
yt[0] = "\\0";
|
|
3907
3907
|
yt[7] = "\\a";
|
|
3908
3908
|
yt[8] = "\\b";
|
|
@@ -3940,7 +3940,7 @@ function Jf(e, t) {
|
|
|
3940
3940
|
var n, r, l, i, s, a, p;
|
|
3941
3941
|
if (t === null) return {};
|
|
3942
3942
|
for (n = {}, r = Object.keys(t), l = 0, i = r.length; l < i; l += 1)
|
|
3943
|
-
s = r[l], a = String(t[s]), s.slice(0, 2) === "!!" && (s = "tag:yaml.org,2002:" + s.slice(2)), p = e.compiledTypeMap.fallback[s], p &&
|
|
3943
|
+
s = r[l], a = String(t[s]), s.slice(0, 2) === "!!" && (s = "tag:yaml.org,2002:" + s.slice(2)), p = e.compiledTypeMap.fallback[s], p && Rl.call(p.styleAliases, a) && (a = p.styleAliases[a]), n[s] = a;
|
|
3944
3944
|
return n;
|
|
3945
3945
|
}
|
|
3946
3946
|
function ep(e) {
|
|
@@ -3978,7 +3978,7 @@ function op(e, t) {
|
|
|
3978
3978
|
return !1;
|
|
3979
3979
|
}
|
|
3980
3980
|
function lo(e) {
|
|
3981
|
-
return e ===
|
|
3981
|
+
return e === Rf || e === zf;
|
|
3982
3982
|
}
|
|
3983
3983
|
function Vn(e) {
|
|
3984
3984
|
return 32 <= e && e <= 126 || 161 <= e && e <= 55295 && e !== 8232 && e !== 8233 || 57344 <= e && e <= 65533 && e !== Bo || 65536 <= e && e <= 1114111;
|
|
@@ -3993,11 +3993,11 @@ function _r(e, t, n) {
|
|
|
3993
3993
|
(n ? (
|
|
3994
3994
|
// c = flow-in
|
|
3995
3995
|
r
|
|
3996
|
-
) : r && e !==
|
|
3996
|
+
) : r && e !== Pl && e !== Ol && e !== Dl && e !== Vl && e !== Bl) && e !== Ao && !(t === ro && !l) || wr(t) && !lo(t) && e === Ao || t === ro && l
|
|
3997
3997
|
);
|
|
3998
3998
|
}
|
|
3999
3999
|
function rp(e) {
|
|
4000
|
-
return Vn(e) && e !== Bo && !lo(e) && e !== qf && e !== Yf && e !== ro && e !==
|
|
4000
|
+
return Vn(e) && e !== Bo && !lo(e) && e !== qf && e !== Yf && e !== ro && e !== Pl && e !== Ol && e !== Dl && e !== Vl && e !== Bl && e !== Ao && e !== Vf && e !== Uf && e !== Pf && e !== Kf && e !== Hf && e !== Wf && e !== Bf && e !== Of && e !== Df && e !== Zf && e !== Gf;
|
|
4001
4001
|
}
|
|
4002
4002
|
function lp(e) {
|
|
4003
4003
|
return !lo(e) && e !== ro;
|
|
@@ -4143,7 +4143,7 @@ function Ar(e, t, n) {
|
|
|
4143
4143
|
if (n ? a.multi && a.representName ? e.tag = a.representName(t) : e.tag = a.tag : e.tag = "?", a.represent) {
|
|
4144
4144
|
if (p = e.styleMap[a.tag] || a.defaultStyle, Nl.call(a.represent) === "[object Function]")
|
|
4145
4145
|
r = a.represent(t, p);
|
|
4146
|
-
else if (
|
|
4146
|
+
else if (Rl.call(a.represent, p))
|
|
4147
4147
|
r = a.represent[p](t, p);
|
|
4148
4148
|
else
|
|
4149
4149
|
throw new wt("!<" + a.tag + '> tag resolver accepts not "' + p + '" style');
|
|
@@ -4310,7 +4310,7 @@ function Np(e, t) {
|
|
|
4310
4310
|
}, null, -1)
|
|
4311
4311
|
])]);
|
|
4312
4312
|
}
|
|
4313
|
-
const Gl = /* @__PURE__ */ Fe(jp, [["render", Np]]),
|
|
4313
|
+
const Gl = /* @__PURE__ */ Fe(jp, [["render", Np]]), Rp = {}, Pp = {
|
|
4314
4314
|
xmlns: "http://www.w3.org/2000/svg",
|
|
4315
4315
|
width: "24",
|
|
4316
4316
|
height: "24",
|
|
@@ -4323,13 +4323,13 @@ const Gl = /* @__PURE__ */ Fe(jp, [["render", Np]]), Pp = {}, Rp = {
|
|
|
4323
4323
|
class: "lucide lucide-layers"
|
|
4324
4324
|
};
|
|
4325
4325
|
function Op(e, t) {
|
|
4326
|
-
return c(), h("svg",
|
|
4326
|
+
return c(), h("svg", Pp, [...t[0] || (t[0] = [
|
|
4327
4327
|
o("path", { d: "m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z" }, null, -1),
|
|
4328
4328
|
o("path", { d: "m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65" }, null, -1),
|
|
4329
4329
|
o("path", { d: "m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65" }, null, -1)
|
|
4330
4330
|
])]);
|
|
4331
4331
|
}
|
|
4332
|
-
const Dp = /* @__PURE__ */ Fe(
|
|
4332
|
+
const Dp = /* @__PURE__ */ Fe(Rp, [["render", Op]]), Vp = {}, Bp = {
|
|
4333
4333
|
xmlns: "http://www.w3.org/2000/svg",
|
|
4334
4334
|
width: "24",
|
|
4335
4335
|
height: "24",
|
|
@@ -4445,7 +4445,7 @@ const Xp = /* @__PURE__ */ Fe(Zp, [["render", Kp]]), Ho = /* @__PURE__ */ ve({
|
|
|
4445
4445
|
function b(k) {
|
|
4446
4446
|
return typeof (k == null ? void 0 : k.is_public) != "boolean" ? It : k.is_public ? "Публічний" : "Приватний";
|
|
4447
4447
|
}
|
|
4448
|
-
const m =
|
|
4448
|
+
const m = R(() => {
|
|
4449
4449
|
const k = l.data, $ = (k == null ? void 0 : k.group_name) ?? s.value ?? ((k == null ? void 0 : k.group_id) != null ? String(k.group_id) : It), C = v(k), A = b(k), z = k != null && k.created_at ? p(k.created_at) : It;
|
|
4450
4450
|
return [
|
|
4451
4451
|
{ label: "Група", value: $ },
|
|
@@ -4453,11 +4453,11 @@ const Xp = /* @__PURE__ */ Fe(Zp, [["render", Kp]]), Ho = /* @__PURE__ */ ve({
|
|
|
4453
4453
|
{ label: "Видимість", value: A },
|
|
4454
4454
|
{ label: "Створено", value: z }
|
|
4455
4455
|
];
|
|
4456
|
-
}), x =
|
|
4456
|
+
}), x = R(() => {
|
|
4457
4457
|
var $;
|
|
4458
4458
|
const k = ($ = l.data) == null ? void 0 : $.description;
|
|
4459
4459
|
return k != null && k !== "" ? k : It;
|
|
4460
|
-
}), u =
|
|
4460
|
+
}), u = R(() => {
|
|
4461
4461
|
const k = l.data, $ = (k == null ? void 0 : k.holder) ?? (k == null ? void 0 : k.producer) ?? It, C = (k == null ? void 0 : k.license) ?? It, A = (k == null ? void 0 : k.year) != null ? String(k.year) : It, z = Array.isArray(k == null ? void 0 : k.keywords) && k.keywords.length > 0 ? k.keywords.join(", ") : It;
|
|
4462
4462
|
return [
|
|
4463
4463
|
{ label: "Виробник", value: $ },
|
|
@@ -5443,7 +5443,7 @@ function Nm(e) {
|
|
|
5443
5443
|
function pn(e, t) {
|
|
5444
5444
|
t && (Array.isArray(t) ? e.push(...t) : e.push(t));
|
|
5445
5445
|
}
|
|
5446
|
-
function
|
|
5446
|
+
function Rm(e, t) {
|
|
5447
5447
|
const n = (e == null ? void 0 : e.clusterZoom) ?? (e == null ? void 0 : e.pointZoom) ?? (e == null ? void 0 : e.iconZoom) ?? 12, r = Number(n);
|
|
5448
5448
|
if (!Number.isFinite(r)) return null;
|
|
5449
5449
|
const l = ["get", "point_count"], i = ["has", "point_count"], s = ["!", i], v = {
|
|
@@ -5522,10 +5522,10 @@ function Er(e, t) {
|
|
|
5522
5522
|
"circle-stroke-width": e.width || 1,
|
|
5523
5523
|
"circle-radius": e.radius || 5
|
|
5524
5524
|
}
|
|
5525
|
-
}, l =
|
|
5525
|
+
}, l = Rm(e, r);
|
|
5526
5526
|
return l || r;
|
|
5527
5527
|
}
|
|
5528
|
-
function
|
|
5528
|
+
function Pm(e) {
|
|
5529
5529
|
const t = Yo(e);
|
|
5530
5530
|
return {
|
|
5531
5531
|
type: "fill",
|
|
@@ -5564,7 +5564,7 @@ function Tr(e, t = {}) {
|
|
|
5564
5564
|
if (!e) return [];
|
|
5565
5565
|
if (!Vm(e)) return [];
|
|
5566
5566
|
const n = [];
|
|
5567
|
-
e.icon && pn(n, Dm(e)), e.pointZoom && pn(n, Er(e, e.pointZoom)), e.type === "polygon" ? pn(n,
|
|
5567
|
+
e.icon && pn(n, Dm(e)), e.pointZoom && pn(n, Er(e, e.pointZoom)), e.type === "polygon" ? pn(n, Pm(e)) : e.type === "line" ? pn(n, Om(e)) : pn(n, Er(e));
|
|
5568
5568
|
const l = t.sourceType !== "raster" ? zm(e, {
|
|
5569
5569
|
geometry: e.type || "point",
|
|
5570
5570
|
filter: e.filter,
|
|
@@ -5626,12 +5626,12 @@ function Ge(e, t, n) {
|
|
|
5626
5626
|
a.point && (a.source = Bm(a.point)), !a.layer && ((ie = a.source) == null ? void 0 : ie.type) === "raster" && (a.layer = { id: s, type: "raster", source: s }), a.layer && !a.layer.source && Object.assign(a.layer, { source: s });
|
|
5627
5627
|
let p = !1, v = !1;
|
|
5628
5628
|
const b = () => {
|
|
5629
|
-
var X, ue, Y, O, j, D, T, E,
|
|
5629
|
+
var X, ue, Y, O, j, D, T, E, P, U;
|
|
5630
5630
|
if (!(v || !r.value)) {
|
|
5631
5631
|
if (a.source && !r.value.getSource(s) && r.value.addSource(s, a.source), !r.value.getLayer(i)) {
|
|
5632
5632
|
const H = a.beforeId === 0 ? (ue = (X = r.value.getStyle().layers) == null ? void 0 : X[0]) == null ? void 0 : ue.id : a.beforeId;
|
|
5633
5633
|
(O = (Y = a.layer) == null ? void 0 : Y.style) != null && O.icon && Ir(r.value, a.layer.style.icon, a.layer.style.colors);
|
|
5634
|
-
const le = ((j = a.source) == null ? void 0 : j.type) || ((D = a.layer) == null ? void 0 : D.type), de = a.layer && (a.layer.type || a.layer.ref) ? a.layer : null, ge = (T = a.layer) == null ? void 0 : T.style, he = ((E = a.layer) == null ? void 0 : E["source-layer"]) || ((
|
|
5634
|
+
const le = ((j = a.source) == null ? void 0 : j.type) || ((D = a.layer) == null ? void 0 : D.type), de = a.layer && (a.layer.type || a.layer.ref) ? a.layer : null, ge = (T = a.layer) == null ? void 0 : T.style, he = ((E = a.layer) == null ? void 0 : E["source-layer"]) || ((P = a.source) == null ? void 0 : P["source-layer"]) || a.sourceLayer || s, Ae = a.style || ge, ze = Fr(Ae, {
|
|
5635
5635
|
sourceType: le,
|
|
5636
5636
|
filter: (U = a.layer) == null ? void 0 : U.filter,
|
|
5637
5637
|
allowFallback: !de
|
|
@@ -5674,12 +5674,12 @@ function Ge(e, t, n) {
|
|
|
5674
5674
|
r.value.removeLayer(D.id);
|
|
5675
5675
|
}), v = !0, a.source && X && r.value.getSource(s) && r.value.removeSource(s);
|
|
5676
5676
|
}, f = async (X) => {
|
|
5677
|
-
var j, D, T, E,
|
|
5677
|
+
var j, D, T, E, P;
|
|
5678
5678
|
if (!r.value) return;
|
|
5679
5679
|
X != null && X.icon && Ir(r.value, X.icon, X.colors);
|
|
5680
5680
|
const ue = ((j = a.source) == null ? void 0 : j.type) || ((D = a.layer) == null ? void 0 : D.type), Y = ((T = a.layer) == null ? void 0 : T["source-layer"]) || ((E = a.source) == null ? void 0 : E["source-layer"]) || a.sourceLayer || s, O = Fr(X, {
|
|
5681
5681
|
sourceType: ue,
|
|
5682
|
-
filter: (
|
|
5682
|
+
filter: (P = a.layer) == null ? void 0 : P.filter,
|
|
5683
5683
|
allowFallback: !0
|
|
5684
5684
|
});
|
|
5685
5685
|
u(!1), O.forEach((U, H) => {
|
|
@@ -6455,20 +6455,20 @@ const cv = /* @__PURE__ */ ve({
|
|
|
6455
6455
|
v.remove();
|
|
6456
6456
|
}), (_, M) => null;
|
|
6457
6457
|
}
|
|
6458
|
-
}),
|
|
6458
|
+
}), Rn = F(null);
|
|
6459
6459
|
function fv() {
|
|
6460
|
-
|
|
6460
|
+
Rn.value = null;
|
|
6461
6461
|
}
|
|
6462
6462
|
function pv(e) {
|
|
6463
6463
|
const t = F(!1), n = () => typeof e == "string" ? e : e.value;
|
|
6464
|
-
re(
|
|
6464
|
+
re(Rn, (s) => {
|
|
6465
6465
|
s !== n() && t.value && (t.value = !1);
|
|
6466
6466
|
});
|
|
6467
6467
|
function r() {
|
|
6468
|
-
|
|
6468
|
+
Rn.value = n(), t.value = !0;
|
|
6469
6469
|
}
|
|
6470
6470
|
function l() {
|
|
6471
|
-
|
|
6471
|
+
Rn.value === n() && (Rn.value = null), t.value = !1;
|
|
6472
6472
|
}
|
|
6473
6473
|
function i() {
|
|
6474
6474
|
t.value ? l() : r();
|
|
@@ -6489,10 +6489,10 @@ const mv = { class: "map-filter" }, vv = { class: "map-filter__header" }, gv = {
|
|
|
6489
6489
|
disabled: { type: Boolean }
|
|
6490
6490
|
},
|
|
6491
6491
|
setup(e) {
|
|
6492
|
-
const t = ft(() => import("@opengis/filter")), n = e, r =
|
|
6492
|
+
const t = ft(() => import("@opengis/filter")), n = e, r = R(() => {
|
|
6493
6493
|
var T;
|
|
6494
6494
|
return ((T = n.layer) == null ? void 0 : T.id) ?? "";
|
|
6495
|
-
}), l =
|
|
6495
|
+
}), l = R(() => `filter-popover-${r.value}`), {
|
|
6496
6496
|
isOpen: i,
|
|
6497
6497
|
close: s,
|
|
6498
6498
|
toggle: a
|
|
@@ -6503,16 +6503,16 @@ const mv = { class: "map-filter" }, vv = { class: "map-filter__header" }, gv = {
|
|
|
6503
6503
|
text: "Спочатку активуйте шар, щоб застосувати фільтр",
|
|
6504
6504
|
top: 0,
|
|
6505
6505
|
left: 0
|
|
6506
|
-
}), f =
|
|
6506
|
+
}), f = R(() => i.value), y = R(() => {
|
|
6507
6507
|
var T;
|
|
6508
6508
|
return Array.isArray((T = n.layer) == null ? void 0 : T.filters) ? n.layer.filters : [];
|
|
6509
|
-
}), d =
|
|
6509
|
+
}), d = R(() => y.value.length > 0), g = R(() => {
|
|
6510
6510
|
var T;
|
|
6511
6511
|
return ((T = n.layer) == null ? void 0 : T.name) ?? "";
|
|
6512
|
-
}), _ =
|
|
6512
|
+
}), _ = R(() => y.value), M = F(null), L = R(() => y.value.length), k = R(() => L.value <= 2), $ = R(() => k.value ? "body" : typeof window > "u" || M.value ? _o : "body"), C = R(() => {
|
|
6513
6513
|
if (!f.value || !k.value)
|
|
6514
6514
|
return {};
|
|
6515
|
-
const T = typeof window < "u" ? window.innerWidth : 280,
|
|
6515
|
+
const T = typeof window < "u" ? window.innerWidth : 280, P = Math.max(280, T - 16 * 2);
|
|
6516
6516
|
return {
|
|
6517
6517
|
position: "absolute",
|
|
6518
6518
|
top: `${p.top}px`,
|
|
@@ -6520,32 +6520,32 @@ const mv = { class: "map-filter" }, vv = { class: "map-filter__header" }, gv = {
|
|
|
6520
6520
|
transform: p.transform,
|
|
6521
6521
|
zIndex: 1e3,
|
|
6522
6522
|
width: "280px",
|
|
6523
|
-
maxWidth: `${
|
|
6523
|
+
maxWidth: `${P}px`
|
|
6524
6524
|
};
|
|
6525
6525
|
});
|
|
6526
6526
|
function A() {
|
|
6527
6527
|
s();
|
|
6528
6528
|
}
|
|
6529
|
-
function z(T, E,
|
|
6530
|
-
const U = window.scrollY +
|
|
6529
|
+
function z(T, E, P = 8) {
|
|
6530
|
+
const U = window.scrollY + P, H = window.scrollY + window.innerHeight - P;
|
|
6531
6531
|
let le = T;
|
|
6532
6532
|
return le + E > H && (le = H - E), le < U && (le = U), le;
|
|
6533
6533
|
}
|
|
6534
6534
|
function V() {
|
|
6535
6535
|
var ge, he, Ae;
|
|
6536
6536
|
if (!v.value || !k.value) return;
|
|
6537
|
-
const T = v.value.getBoundingClientRect(), E = window.scrollX + 8,
|
|
6537
|
+
const T = v.value.getBoundingClientRect(), E = window.scrollX + 8, P = window.scrollX + window.innerWidth - 8, U = ((ge = b.value) == null ? void 0 : ge.offsetWidth) || 280, H = ((he = b.value) == null ? void 0 : he.offsetHeight) || 0;
|
|
6538
6538
|
let le = 0, de = 0;
|
|
6539
6539
|
if ((Ae = n.catalogAnchor) != null && Ae.value) {
|
|
6540
6540
|
const ze = n.catalogAnchor.value.getBoundingClientRect(), K = ze.top + window.scrollY;
|
|
6541
6541
|
le = z(K, H, 8);
|
|
6542
|
-
const fe = ze.right + window.scrollX + 12, w =
|
|
6542
|
+
const fe = ze.right + window.scrollX + 12, w = P - U, N = E;
|
|
6543
6543
|
de = Math.min(Math.max(fe, N), Math.max(N, w));
|
|
6544
6544
|
} else {
|
|
6545
6545
|
const ze = T.bottom + window.scrollY + 8;
|
|
6546
6546
|
le = z(ze, H, 8);
|
|
6547
6547
|
let K = T.left + window.scrollX;
|
|
6548
|
-
K < E && (K = E), K + U >
|
|
6548
|
+
K < E && (K = E), K + U > P && (K = Math.max(E, P - U)), de = K;
|
|
6549
6549
|
}
|
|
6550
6550
|
p.left = de, p.top = le, p.transform = "none";
|
|
6551
6551
|
}
|
|
@@ -6579,18 +6579,18 @@ const mv = { class: "map-filter" }, vv = { class: "map-filter__header" }, gv = {
|
|
|
6579
6579
|
function X(T) {
|
|
6580
6580
|
const E = r.value;
|
|
6581
6581
|
if (!E) return;
|
|
6582
|
-
const
|
|
6583
|
-
if (!(
|
|
6582
|
+
const P = Ge(E);
|
|
6583
|
+
if (!(P != null && P.setFilter)) return;
|
|
6584
6584
|
x.value = T;
|
|
6585
6585
|
const U = Object.entries(T).map(([H, le]) => `${H}=${le}`).join("|");
|
|
6586
|
-
|
|
6586
|
+
P.setFilter(U);
|
|
6587
6587
|
}
|
|
6588
6588
|
function ue(T) {
|
|
6589
6589
|
if (!n.disabled) return;
|
|
6590
6590
|
const E = T.currentTarget;
|
|
6591
6591
|
if (!E) return;
|
|
6592
|
-
const
|
|
6593
|
-
u.left =
|
|
6592
|
+
const P = E.getBoundingClientRect();
|
|
6593
|
+
u.left = P.left + P.width / 2 + window.scrollX, u.top = P.bottom + 8 + window.scrollY, u.visible = !0;
|
|
6594
6594
|
}
|
|
6595
6595
|
function Y() {
|
|
6596
6596
|
u.visible = !1;
|
|
@@ -6642,7 +6642,7 @@ const mv = { class: "map-filter" }, vv = { class: "map-filter__header" }, gv = {
|
|
|
6642
6642
|
])
|
|
6643
6643
|
], -1)
|
|
6644
6644
|
])], 34),
|
|
6645
|
-
f.value ? (c(), pe(
|
|
6645
|
+
f.value ? (c(), pe(Rt, {
|
|
6646
6646
|
key: 0,
|
|
6647
6647
|
to: $.value
|
|
6648
6648
|
}, [
|
|
@@ -6673,13 +6673,13 @@ const mv = { class: "map-filter" }, vv = { class: "map-filter__header" }, gv = {
|
|
|
6673
6673
|
schema: _.value,
|
|
6674
6674
|
value: x.value,
|
|
6675
6675
|
limit: 10,
|
|
6676
|
-
onChange: E[0] || (E[0] = (
|
|
6676
|
+
onChange: E[0] || (E[0] = (P) => X(P.data)),
|
|
6677
6677
|
width: 250
|
|
6678
6678
|
}, null, 8, ["schema", "value"])
|
|
6679
6679
|
])
|
|
6680
6680
|
], 6)
|
|
6681
6681
|
], 8, ["to"])) : Q("", !0),
|
|
6682
|
-
(c(), pe(
|
|
6682
|
+
(c(), pe(Rt, { to: "body" }, [
|
|
6683
6683
|
u.visible ? (c(), h("div", {
|
|
6684
6684
|
key: 0,
|
|
6685
6685
|
class: "filter-badge__hint",
|
|
@@ -6746,7 +6746,7 @@ const mv = { class: "map-filter" }, vv = { class: "map-filter__header" }, gv = {
|
|
|
6746
6746
|
const L = p == null ? void 0 : p.query;
|
|
6747
6747
|
return !L || typeof L != "object" ? null : typeof L.basemap == "string" ? L.basemap : null;
|
|
6748
6748
|
}
|
|
6749
|
-
const m =
|
|
6749
|
+
const m = R(() => b()), x = R(() => {
|
|
6750
6750
|
const L = Array.isArray(a == null ? void 0 : a.basemaps) ? a == null ? void 0 : a.basemaps : [];
|
|
6751
6751
|
if (!L.length) return {};
|
|
6752
6752
|
const k = {};
|
|
@@ -6758,7 +6758,7 @@ const mv = { class: "map-filter" }, vv = { class: "map-filter__header" }, gv = {
|
|
|
6758
6758
|
title: A
|
|
6759
6759
|
};
|
|
6760
6760
|
}), k;
|
|
6761
|
-
}), u =
|
|
6761
|
+
}), u = R(() => {
|
|
6762
6762
|
const L = x.value;
|
|
6763
6763
|
return Object.keys(L).length ? L : t;
|
|
6764
6764
|
}), f = F(
|
|
@@ -6971,13 +6971,13 @@ const Lv = { class: "min-w-[200px] max-w-[280px] rounded-lg border border-slate-
|
|
|
6971
6971
|
value: v(y, $)
|
|
6972
6972
|
};
|
|
6973
6973
|
}
|
|
6974
|
-
const m =
|
|
6974
|
+
const m = R(() => {
|
|
6975
6975
|
const y = n.value || [], d = r.value || {};
|
|
6976
6976
|
return y.filter((g) => (g == null ? void 0 : g.meta) !== "title").map((g, _) => b(g, d, _)).filter((g) => g.label);
|
|
6977
|
-
}), x =
|
|
6977
|
+
}), x = R(() => {
|
|
6978
6978
|
const y = n.value || [], d = r.value || {}, g = y.find((_) => (_ == null ? void 0 : _.meta) === "title");
|
|
6979
6979
|
return g ? b(g, d, 0) : null;
|
|
6980
|
-
}), u =
|
|
6980
|
+
}), u = R(() => {
|
|
6981
6981
|
var d;
|
|
6982
6982
|
const y = m.value;
|
|
6983
6983
|
return (d = x.value) != null && d.value ? [
|
|
@@ -7030,7 +7030,7 @@ const Lv = { class: "min-w-[200px] max-w-[280px] rounded-lg border border-slate-
|
|
|
7030
7030
|
}
|
|
7031
7031
|
});
|
|
7032
7032
|
function Fv() {
|
|
7033
|
-
const { map: e, ready: t } = st(), n = St(), r = zt(), l = F(null), i = F(null), s = F(null), a = F(!1), p = F([]), v = F(0), b =
|
|
7033
|
+
const { map: e, ready: t } = st(), n = St(), r = zt(), l = F(null), i = F(null), s = F(null), a = F(!1), p = F([]), v = F(0), b = R(() => p.value.length), m = R(() => a.value || !!l.value || !!s.value);
|
|
7034
7034
|
let x = null, u = !1;
|
|
7035
7035
|
function f() {
|
|
7036
7036
|
l.value = null, i.value = null, s.value = null, a.value = !1, p.value = [], v.value = 0;
|
|
@@ -7085,15 +7085,15 @@ function Fv() {
|
|
|
7085
7085
|
try {
|
|
7086
7086
|
const T = await fetch(`/api/map-format?${X.toString()}`);
|
|
7087
7087
|
if (!T.ok) throw new Error(`Failed (${T.status})`);
|
|
7088
|
-
const E = await T.json(),
|
|
7089
|
-
if (!
|
|
7088
|
+
const E = await T.json(), P = Array.isArray(E.columns) ? E.columns : [], U = Array.isArray(ie) ? ie : [];
|
|
7089
|
+
if (!P.length && !U.length) {
|
|
7090
7090
|
console.error("Configure layer in admin"), $();
|
|
7091
7091
|
return;
|
|
7092
7092
|
}
|
|
7093
7093
|
l.value = {
|
|
7094
7094
|
rows: E.rows || {},
|
|
7095
7095
|
fields: U,
|
|
7096
|
-
columns:
|
|
7096
|
+
columns: P,
|
|
7097
7097
|
html: E.html || null
|
|
7098
7098
|
}, u || V(i.value);
|
|
7099
7099
|
const H = (j = E.rows) == null ? void 0 : j.geom;
|
|
@@ -7184,7 +7184,7 @@ function Fv() {
|
|
|
7184
7184
|
};
|
|
7185
7185
|
}
|
|
7186
7186
|
function Iv() {
|
|
7187
|
-
const { map: e, ready: t } = st(), n = F([]), r = F(0), l = F(0), i = F(!1), s = F(null), a = F({}), p = F(null), v = F([]), b =
|
|
7187
|
+
const { map: e, ready: t } = st(), n = F([]), r = F(0), l = F(0), i = F(!1), s = F(null), a = F({}), p = F(null), v = F([]), b = R(() => n.value[l.value] || null), m = R(() => n.value.length > 0);
|
|
7188
7188
|
let x = null;
|
|
7189
7189
|
const u = () => {
|
|
7190
7190
|
x == null || x.remove(), x = null;
|
|
@@ -7213,9 +7213,9 @@ function Iv() {
|
|
|
7213
7213
|
p.value = { x: J, y: ne }, v.value = V, i.value = !0, s.value = null, n.value = [], a.value = {}, l.value = 0;
|
|
7214
7214
|
try {
|
|
7215
7215
|
const ue = V.map(async (T) => {
|
|
7216
|
-
const E = `/api/map-info-point?x=${J}&y=${ne}&layers=${T}`,
|
|
7217
|
-
if (!
|
|
7218
|
-
const U = await
|
|
7216
|
+
const E = `/api/map-info-point?x=${J}&y=${ne}&layers=${T}`, P = await fetch(E);
|
|
7217
|
+
if (!P.ok) return null;
|
|
7218
|
+
const U = await P.json();
|
|
7219
7219
|
if (!U.count) return null;
|
|
7220
7220
|
const le = await (await fetch(`${E}&index=0`)).json();
|
|
7221
7221
|
return { layerId: T, data: le, count: U.count };
|
|
@@ -7320,10 +7320,10 @@ const zr = /* @__PURE__ */ ve({
|
|
|
7320
7320
|
const m = Array.from(v).map((x) => x.charCodeAt(0).toString(16)).join("").slice(0, 8);
|
|
7321
7321
|
return m ? `layer-${m}` : "layer-temp";
|
|
7322
7322
|
}
|
|
7323
|
-
const i =
|
|
7323
|
+
const i = R(() => {
|
|
7324
7324
|
var v;
|
|
7325
7325
|
return ((v = n.id) == null ? void 0 : v.trim()) || l(n.title);
|
|
7326
|
-
}), s =
|
|
7326
|
+
}), s = R(() => n.buttonText || "Показати шар");
|
|
7327
7327
|
function a() {
|
|
7328
7328
|
return {
|
|
7329
7329
|
id: i.value,
|
|
@@ -7465,7 +7465,7 @@ function Go(e) {
|
|
|
7465
7465
|
isTemporaryLayerActive: i
|
|
7466
7466
|
};
|
|
7467
7467
|
}
|
|
7468
|
-
const jo = "map-card:external-payload",
|
|
7468
|
+
const jo = "map-card:external-payload", Rv = (e) => e ? typeof e.html == "string" && e.html.trim().length > 0 : !1, Pv = {
|
|
7469
7469
|
key: 0,
|
|
7470
7470
|
class: "card absolute top-4 lg:left-auto right-11 md:left-4 z-[82] w-[calc(100%-36px)] md:w-[400px] max-h-[80%] overflow-hidden rounded-2xl border border-slate-200 bg-white/95 shadow-2xl backdrop-blur-md flex flex-col"
|
|
7471
7471
|
}, Ov = { class: "flex items-start justify-between gap-3 border-b border-slate-200 px-4 py-3" }, Dv = { class: "min-w-0 flex-1" }, Vv = { class: "text-base font-semibold text-slate-900 truncate" }, Bv = {
|
|
@@ -7510,7 +7510,7 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
|
|
|
7510
7510
|
mapId: {}
|
|
7511
7511
|
},
|
|
7512
7512
|
setup(e) {
|
|
7513
|
-
const t = e, n = Fv(), r = Iv(), l = F(null), i = F(null), s =
|
|
7513
|
+
const t = e, n = Fv(), r = Iv(), l = F(null), i = F(null), s = R(() => {
|
|
7514
7514
|
var S;
|
|
7515
7515
|
return !!((S = l.value) != null && S.trim());
|
|
7516
7516
|
});
|
|
@@ -7527,10 +7527,10 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
|
|
|
7527
7527
|
}), qe(() => {
|
|
7528
7528
|
typeof window > "u" || window.removeEventListener(jo, p);
|
|
7529
7529
|
});
|
|
7530
|
-
const v =
|
|
7530
|
+
const v = R(() => r.active.value), b = R(() => v.value || n.isOpen.value || s.value), m = R(() => v.value ? r.loading.value : n.cardLoading.value), x = R(() => v.value ? r.error.value : n.cardError.value), u = R(() => {
|
|
7531
7531
|
var S, I;
|
|
7532
7532
|
return v.value ? ((S = r.current.value) == null ? void 0 : S.html) || null : s.value ? l.value : ((I = n.card.value) == null ? void 0 : I.html) || null;
|
|
7533
|
-
}), f = st(), y = Zo(), d =
|
|
7533
|
+
}), f = st(), y = Zo(), d = R(() => {
|
|
7534
7534
|
var S, I;
|
|
7535
7535
|
return ((I = (S = y.value) == null ? void 0 : S.map) == null ? void 0 : I.cardHideEmpty) ?? null;
|
|
7536
7536
|
}), g = St(), {
|
|
@@ -7542,10 +7542,10 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
|
|
|
7542
7542
|
function $(S) {
|
|
7543
7543
|
window.dispatchEvent(new CustomEvent(m0, { detail: S }));
|
|
7544
7544
|
}
|
|
7545
|
-
const C =
|
|
7545
|
+
const C = R(() => {
|
|
7546
7546
|
var S;
|
|
7547
7547
|
return ((S = n.cardFeature.value) == null ? void 0 : S.source) ?? null;
|
|
7548
|
-
}), A =
|
|
7548
|
+
}), A = R(() => C.value ? `map-card:${C.value}` : "map-card"), z = R(() => {
|
|
7549
7549
|
var me, ke;
|
|
7550
7550
|
const S = n.cardFeature.value, I = (S == null ? void 0 : S.source) || ((me = S == null ? void 0 : S.layer) == null ? void 0 : me.id), G = ((ke = S == null ? void 0 : S.properties) == null ? void 0 : ke.id) ?? (S == null ? void 0 : S.id);
|
|
7551
7551
|
return I && G != null ? `${I}:${G}` : null;
|
|
@@ -7555,7 +7555,7 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
|
|
|
7555
7555
|
const I = (window.location.pathname || "").match(/\/maps?\/([^/]+)/i);
|
|
7556
7556
|
return I && I[1] ? I[1] : null;
|
|
7557
7557
|
}
|
|
7558
|
-
const ue =
|
|
7558
|
+
const ue = R(() => {
|
|
7559
7559
|
const S = typeof t.mapId == "string" ? t.mapId.trim() : "";
|
|
7560
7560
|
if (S.length) return S;
|
|
7561
7561
|
const I = typeof g.params.slug == "string" ? g.params.slug.trim() : "";
|
|
@@ -7591,7 +7591,7 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
|
|
|
7591
7591
|
}
|
|
7592
7592
|
return [];
|
|
7593
7593
|
}
|
|
7594
|
-
function
|
|
7594
|
+
function P(S) {
|
|
7595
7595
|
const I = E(S);
|
|
7596
7596
|
if (I.length < 4) return null;
|
|
7597
7597
|
const [G, me, ke, Ne] = I;
|
|
@@ -7602,7 +7602,7 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
|
|
|
7602
7602
|
const I = S.trim();
|
|
7603
7603
|
if (!I.length) return null;
|
|
7604
7604
|
try {
|
|
7605
|
-
const ke = JSON.parse(I), Ne =
|
|
7605
|
+
const ke = JSON.parse(I), Ne = P(ke);
|
|
7606
7606
|
if (Ne) return Ne;
|
|
7607
7607
|
} catch {
|
|
7608
7608
|
}
|
|
@@ -7694,19 +7694,19 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
|
|
|
7694
7694
|
bounds: S.bounds
|
|
7695
7695
|
};
|
|
7696
7696
|
}
|
|
7697
|
-
const Ae =
|
|
7697
|
+
const Ae = R(() => {
|
|
7698
7698
|
if (v.value && r.current.value)
|
|
7699
7699
|
return r.current.value.data ?? {};
|
|
7700
7700
|
const S = n.card.value;
|
|
7701
7701
|
return (S == null ? void 0 : S.rows) ?? {};
|
|
7702
|
-
}), ze =
|
|
7702
|
+
}), ze = R(() => {
|
|
7703
7703
|
if (v.value && r.current.value)
|
|
7704
7704
|
return r.current.value.fields ?? [];
|
|
7705
7705
|
const S = n.card.value;
|
|
7706
7706
|
if (!S) return [];
|
|
7707
7707
|
const I = Array.isArray(S.columns) ? S.columns : [];
|
|
7708
7708
|
return I.length ? I : Array.isArray(S.fields) ? S.fields : [];
|
|
7709
|
-
}), K =
|
|
7709
|
+
}), K = R(() => {
|
|
7710
7710
|
const S = ze.value;
|
|
7711
7711
|
if (!S.length) return [];
|
|
7712
7712
|
const I = Ae.value;
|
|
@@ -7768,12 +7768,12 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
|
|
|
7768
7768
|
}
|
|
7769
7769
|
return [];
|
|
7770
7770
|
}
|
|
7771
|
-
const be = F(!1),
|
|
7771
|
+
const be = F(!1), Pe = F(!0), ot = F((() => {
|
|
7772
7772
|
var S, I;
|
|
7773
7773
|
return typeof window > "u" ? null : ((I = (S = window.localStorage) == null ? void 0 : S.getItem) == null ? void 0 : I.call(S, Nr)) ?? null;
|
|
7774
7774
|
})()), et = (S) => {
|
|
7775
7775
|
const I = typeof S == "string" && S.toLowerCase() === "true";
|
|
7776
|
-
be.value = I,
|
|
7776
|
+
be.value = I, Pe.value = !I;
|
|
7777
7777
|
}, _t = (S) => {
|
|
7778
7778
|
ot.value = S;
|
|
7779
7779
|
};
|
|
@@ -7785,7 +7785,7 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
|
|
|
7785
7785
|
window.removeEventListener("storage", S);
|
|
7786
7786
|
});
|
|
7787
7787
|
}
|
|
7788
|
-
const ht =
|
|
7788
|
+
const ht = R(() => typeof ot.value == "string");
|
|
7789
7789
|
re(
|
|
7790
7790
|
ot,
|
|
7791
7791
|
(S) => {
|
|
@@ -7799,9 +7799,9 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
|
|
|
7799
7799
|
},
|
|
7800
7800
|
{ immediate: !0 }
|
|
7801
7801
|
);
|
|
7802
|
-
const kn =
|
|
7802
|
+
const kn = R(
|
|
7803
7803
|
() => K.value.filter((S) => xe(S.value)).length
|
|
7804
|
-
), $n =
|
|
7804
|
+
), $n = R(() => be.value && !Pe.value ? K.value.filter((S) => !xe(S.value)) : K.value);
|
|
7805
7805
|
function cn(S) {
|
|
7806
7806
|
const I = typeof S == "string" ? S : "";
|
|
7807
7807
|
if (!I.length) return { sanitized: "", hiddenCount: 0 };
|
|
@@ -7818,23 +7818,23 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
|
|
|
7818
7818
|
}
|
|
7819
7819
|
}), { sanitized: me.body.innerHTML, hiddenCount: ke };
|
|
7820
7820
|
}
|
|
7821
|
-
const tn =
|
|
7821
|
+
const tn = R(() => cn(u.value)), Cn = R(() => u.value ? tn.value.hiddenCount : 0), Sn = R(() => kn.value + Cn.value), An = R(
|
|
7822
7822
|
() => {
|
|
7823
7823
|
var S;
|
|
7824
|
-
return be.value && !
|
|
7824
|
+
return be.value && !Pe.value && !!((S = u.value) != null && S.trim());
|
|
7825
7825
|
}
|
|
7826
|
-
), Zt =
|
|
7826
|
+
), Zt = R(
|
|
7827
7827
|
() => be.value && Sn.value > 0
|
|
7828
|
-
), Ln =
|
|
7829
|
-
() =>
|
|
7830
|
-
), q =
|
|
7828
|
+
), Ln = R(
|
|
7829
|
+
() => Pe.value ? "Приховати пусті значення" : "Показати пусті значення"
|
|
7830
|
+
), q = R(() => Pe.value ? Us : Xr);
|
|
7831
7831
|
function ee() {
|
|
7832
|
-
|
|
7832
|
+
Pe.value = !Pe.value;
|
|
7833
7833
|
}
|
|
7834
|
-
const Z =
|
|
7834
|
+
const Z = R(() => {
|
|
7835
7835
|
const S = An.value ? tn.value.sanitized : u.value ?? "";
|
|
7836
7836
|
return ge(S);
|
|
7837
|
-
}), we =
|
|
7837
|
+
}), we = R(() => Z.value.filter((S) => S.type === "layer"));
|
|
7838
7838
|
function $e(S) {
|
|
7839
7839
|
return Array.isArray(S) ? S.map((I, G) => {
|
|
7840
7840
|
const me = T(typeof (I == null ? void 0 : I.url) == "string" ? I.url : ""), ke = typeof (I == null ? void 0 : I.geohub) == "string" && I.geohub.trim().length ? `/api-hub/tms/${I.geohub.trim()}/ua/{z}/{x}/{y}.png` : "", Ne = ((I == null ? void 0 : I.name) || (I == null ? void 0 : I.title) || (I == null ? void 0 : I.label) || `Шар ${G + 1}`).toString(), Qe = (I == null ? void 0 : I.id) != null ? String(I.id) : D(`${Ne}-${G + 1}`), Je = (I == null ? void 0 : I.buttonText) || (I == null ? void 0 : I.button_text) || null, it = (I == null ? void 0 : I.description) || (I == null ? void 0 : I.subtitle) || null, vt = me || T(ke) || "";
|
|
@@ -7847,11 +7847,11 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
|
|
|
7847
7847
|
buttonText: Je || void 0
|
|
7848
7848
|
};
|
|
7849
7849
|
typeof (I == null ? void 0 : I.tileSize) == "number" && (rt.tileSize = I.tileSize), typeof (I == null ? void 0 : I.tile_size) == "number" && (rt.tileSize = I.tile_size), typeof (I == null ? void 0 : I.minzoom) == "number" && (rt.minzoom = I.minzoom), typeof (I == null ? void 0 : I.maxzoom) == "number" && (rt.maxzoom = I.maxzoom), typeof (I == null ? void 0 : I.opacity) == "number" && (rt.opacity = I.opacity);
|
|
7850
|
-
const gt =
|
|
7850
|
+
const gt = P((I == null ? void 0 : I.bounds) ?? (I == null ? void 0 : I.bbox) ?? null);
|
|
7851
7851
|
return gt && (rt.bounds = gt), rt;
|
|
7852
7852
|
}).filter(Boolean) : [];
|
|
7853
7853
|
}
|
|
7854
|
-
const Ie =
|
|
7854
|
+
const Ie = R(() => {
|
|
7855
7855
|
var me, ke;
|
|
7856
7856
|
const S = n.card.value, I = r.current.value, G = [
|
|
7857
7857
|
(me = S == null ? void 0 : S.rows) == null ? void 0 : me.layers,
|
|
@@ -7865,9 +7865,9 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
|
|
|
7865
7865
|
return Qe;
|
|
7866
7866
|
}
|
|
7867
7867
|
return [];
|
|
7868
|
-
}), De =
|
|
7868
|
+
}), De = R(
|
|
7869
7869
|
() => Z.value.length > 0 || K.value.length > 0 || Ie.value.length > 0
|
|
7870
|
-
),
|
|
7870
|
+
), Re = R(() => !n.cardLoading.value && !!n.card.value);
|
|
7871
7871
|
function kt() {
|
|
7872
7872
|
const S = {}, I = Y.value;
|
|
7873
7873
|
if (I && typeof I == "object" && Object.entries(I).forEach(([G, me]) => {
|
|
@@ -7954,7 +7954,7 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
|
|
|
7954
7954
|
prev: We,
|
|
7955
7955
|
count: tt,
|
|
7956
7956
|
index: Ze
|
|
7957
|
-
} = r, xt =
|
|
7957
|
+
} = r, xt = R(() => n.count.value), At = R(() => n.index.value), Ft = R(() => xt.value > 1), Nt = R(() => v.value ? tt.value : xt.value), bt = R(() => v.value ? Ze.value : At.value), Ot = n.next, Mn = n.prev;
|
|
7958
7958
|
function nn() {
|
|
7959
7959
|
const S = Be();
|
|
7960
7960
|
S && (L(S), $({ action: "clear", owner: S }), V.value = null);
|
|
@@ -8144,7 +8144,7 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
|
|
|
8144
8144
|
Lt();
|
|
8145
8145
|
return;
|
|
8146
8146
|
}
|
|
8147
|
-
if (!
|
|
8147
|
+
if (!Re.value) {
|
|
8148
8148
|
Lt();
|
|
8149
8149
|
return;
|
|
8150
8150
|
}
|
|
@@ -8184,7 +8184,7 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
|
|
|
8184
8184
|
return;
|
|
8185
8185
|
}
|
|
8186
8186
|
!v.value && n.cardFeature.value && En(n.cardFeature.value);
|
|
8187
|
-
}), re(
|
|
8187
|
+
}), re(Re, (S) => {
|
|
8188
8188
|
a() || (S ? En(n.cardFeature.value) : Lt());
|
|
8189
8189
|
}), re(
|
|
8190
8190
|
() => Jo(),
|
|
@@ -8197,7 +8197,7 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
|
|
|
8197
8197
|
nn(), Lt();
|
|
8198
8198
|
}), (S, I) => (c(), pe(zo, { name: "fade" }, {
|
|
8199
8199
|
default: Ve(() => [
|
|
8200
|
-
b.value ? (c(), h("div",
|
|
8200
|
+
b.value ? (c(), h("div", Pv, [
|
|
8201
8201
|
o("div", Ov, [
|
|
8202
8202
|
o("div", Dv, [
|
|
8203
8203
|
o("p", Vv, [
|
|
@@ -8468,7 +8468,7 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
|
|
|
8468
8468
|
targetAriaLabel: {}
|
|
8469
8469
|
},
|
|
8470
8470
|
setup(e) {
|
|
8471
|
-
const t = e, { map: n, ready: r } = st(), l = F(null), i = F(null), s = F(null), a = F(null), p = Zo(), v =
|
|
8471
|
+
const t = e, { map: n, ready: r } = st(), l = F(null), i = F(null), s = F(null), a = F(null), p = Zo(), v = R(() => {
|
|
8472
8472
|
var _;
|
|
8473
8473
|
return ((_ = p.value) == null ? void 0 : _.map) ?? null;
|
|
8474
8474
|
});
|
|
@@ -8540,10 +8540,10 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
|
|
|
8540
8540
|
},
|
|
8541
8541
|
{ immediate: !0 }
|
|
8542
8542
|
);
|
|
8543
|
-
const u =
|
|
8543
|
+
const u = R(() => {
|
|
8544
8544
|
var _;
|
|
8545
8545
|
return ((_ = t.targetLabel) == null ? void 0 : _.trim()) || "Точка";
|
|
8546
|
-
}), f =
|
|
8546
|
+
}), f = R(() => t.targetAriaLabel || "Перейти до точки"), y = R(() => !!s.value);
|
|
8547
8547
|
He(async () => {
|
|
8548
8548
|
await (r == null ? void 0 : r());
|
|
8549
8549
|
const _ = n.value;
|
|
@@ -8601,7 +8601,7 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
|
|
|
8601
8601
|
}), sn = /* @__PURE__ */ Fe(b0, [["__scopeId", "data-v-03fa94f6"]]), w0 = { class: "flex h-full bg-gradient-to-br from-slate-50 to-white" }, _0 = { class: "flex-1 relative overflow-hidden" }, k0 = { class: "absolute top-0 left-0 w-full z-20" }, $0 = { class: "flex items-center justify-between bg-white/80 backdrop-blur border-b border-gray-200 px-6 py-3 shadow-sm gap-4" }, C0 = { class: "flex items-center gap-3 h-[2.75rem]" }, S0 = { class: "font-semibold text-lg text-gray-800 line-clamp-1" }, A0 = {
|
|
8602
8602
|
key: 0,
|
|
8603
8603
|
class: "text-xs text-gray-500 truncate"
|
|
8604
|
-
}, L0 = ["title"], M0 = { class: "w-full h-full bg-gradient-to-br from-sky-50 via-white to-blue-50 flex items-center justify-center relative pt-[64px]" }, E0 = { class: "relative w-full h-full" }, T0 = { style: { top: "17px", left: "230px", position: "absolute", "z-index": "1" } }, F0 = { class: "absolute top-4 left-4 z-20" }, I0 = { class: "absolute top-[6.5rem] right-2 space-y-1 z-20" }, j0 = { class: "absolute bottom-4 left-4 z-20" }, z0 = { class: "flex-1 flex flex-col h-full" }, N0 = { class: "px-3 pt-3 pb-2 border-b border-gray-100" },
|
|
8604
|
+
}, L0 = ["title"], M0 = { class: "w-full h-full bg-gradient-to-br from-sky-50 via-white to-blue-50 flex items-center justify-center relative pt-[64px]" }, E0 = { class: "relative w-full h-full" }, T0 = { style: { top: "17px", left: "230px", position: "absolute", "z-index": "1" } }, F0 = { class: "absolute top-4 left-4 z-20" }, I0 = { class: "absolute top-[6.5rem] right-2 space-y-1 z-20" }, j0 = { class: "absolute bottom-4 left-4 z-20" }, z0 = { class: "flex-1 flex flex-col h-full" }, N0 = { class: "px-3 pt-3 pb-2 border-b border-gray-100" }, R0 = { class: "items-center justify-center text-muted-foreground grid w-full grid-cols-6 h-12 p-1 bg-gray-50 rounded-xl shadow-sm" }, P0 = ["aria-selected", "onClick"], O0 = { class: "leading-none" }, D0 = { class: "flex flex-col flex-1 overflow-y-hidden p-3" }, V0 = "OpenGIS", Rr = 2, Zn = 5, B0 = 1e3, U0 = /* @__PURE__ */ ve({
|
|
8605
8605
|
__name: "service",
|
|
8606
8606
|
props: {
|
|
8607
8607
|
hideServiceKey: { type: Boolean, default: !1 }
|
|
@@ -8638,18 +8638,18 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
|
|
|
8638
8638
|
const N = y(r.query.z), te = y(r.query.x), xe = y(r.query.y);
|
|
8639
8639
|
if (N == null || te == null || xe == null) return;
|
|
8640
8640
|
const Le = (et = w.getCenter) == null ? void 0 : et.call(w), be = (_t = w.getZoom) == null ? void 0 : _t.call(w);
|
|
8641
|
-
(!Le || g(Le.lng, te, Zn) || g(Le.lat, xe, Zn) || g(be ?? 0, N,
|
|
8641
|
+
(!Le || g(Le.lng, te, Zn) || g(Le.lat, xe, Zn) || g(be ?? 0, N, Rr)) && (u.value = !0, w.jumpTo({ center: [te, xe], zoom: N }), u.value = !1);
|
|
8642
8642
|
}
|
|
8643
8643
|
function M() {
|
|
8644
|
-
var Le, be,
|
|
8644
|
+
var Le, be, Pe, Ye;
|
|
8645
8645
|
if (u.value) return;
|
|
8646
8646
|
const w = (be = (Le = f()) == null ? void 0 : Le.map) == null ? void 0 : be.value;
|
|
8647
8647
|
if (!w) return;
|
|
8648
|
-
const N = (
|
|
8648
|
+
const N = (Pe = w.getCenter) == null ? void 0 : Pe.call(w), te = (Ye = w.getZoom) == null ? void 0 : Ye.call(w);
|
|
8649
8649
|
if (!N || te == null) return;
|
|
8650
8650
|
const xe = {
|
|
8651
8651
|
...r.query,
|
|
8652
|
-
z: d(te,
|
|
8652
|
+
z: d(te, Rr),
|
|
8653
8653
|
x: d(N.lng, Zn),
|
|
8654
8654
|
y: d(N.lat, Zn)
|
|
8655
8655
|
};
|
|
@@ -8657,13 +8657,13 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
|
|
|
8657
8657
|
}
|
|
8658
8658
|
const L = F(null), k = F(""), $ = F([]), C = F([]), A = F([]), z = F("list"), V = F(""), J = F([]), ne = F(!0);
|
|
8659
8659
|
let ie = null;
|
|
8660
|
-
const X =
|
|
8660
|
+
const X = R(() => {
|
|
8661
8661
|
var w, N;
|
|
8662
8662
|
return ((w = v.value) == null ? void 0 : w.id) ?? ((N = v.value) == null ? void 0 : N.service_id) ?? null;
|
|
8663
|
-
}), ue =
|
|
8663
|
+
}), ue = R(() => {
|
|
8664
8664
|
const w = (b == null ? void 0 : b.map) || null, N = (w == null ? void 0 : w.boundary) ?? null, te = (w == null ? void 0 : w.katottg) ?? null;
|
|
8665
8665
|
return !N && !te ? null : { boundary: N, katottg: te };
|
|
8666
|
-
}), Y =
|
|
8666
|
+
}), Y = R(() => {
|
|
8667
8667
|
const w = v.value;
|
|
8668
8668
|
if (!w) return "";
|
|
8669
8669
|
const N = [];
|
|
@@ -8722,7 +8722,7 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
|
|
|
8722
8722
|
return console.warn("Failed to clone style", N), null;
|
|
8723
8723
|
}
|
|
8724
8724
|
}
|
|
8725
|
-
function
|
|
8725
|
+
function P(w) {
|
|
8726
8726
|
if (!w) return null;
|
|
8727
8727
|
if (typeof w == "string")
|
|
8728
8728
|
try {
|
|
@@ -8742,7 +8742,7 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
|
|
|
8742
8742
|
function H() {
|
|
8743
8743
|
var N;
|
|
8744
8744
|
if (!v.value) return;
|
|
8745
|
-
const w =
|
|
8745
|
+
const w = P(L.value);
|
|
8746
8746
|
U(w, ((N = v.value) == null ? void 0 : N.style) ?? null) || (v.value = {
|
|
8747
8747
|
...v.value,
|
|
8748
8748
|
style: w
|
|
@@ -8759,7 +8759,7 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
|
|
|
8759
8759
|
if (!w.ok) throw new Error(`${w.status}`);
|
|
8760
8760
|
const N = await w.json();
|
|
8761
8761
|
p.value = N || {}, a.value = i;
|
|
8762
|
-
const te =
|
|
8762
|
+
const te = P(N.style);
|
|
8763
8763
|
v.value = N ? { ...N, style: E(te) } : null, L.value = te, k.value = typeof (N == null ? void 0 : N.style) == "string" ? N.style : te ? Lr.dump(te) : "", C.value = (N == null ? void 0 : N.popup) || [], z.value = N.card_mode === "html" ? "html" : "list", A.value = N.card, V.value = N.html, $.value = (N == null ? void 0 : N.legend) || [], J.value = (N == null ? void 0 : N.filters) || [];
|
|
8764
8764
|
} catch (w) {
|
|
8765
8765
|
console.error("Failed to fetch map info", w);
|
|
@@ -8771,7 +8771,7 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
|
|
|
8771
8771
|
return (w = v.value) == null ? void 0 : w.style;
|
|
8772
8772
|
},
|
|
8773
8773
|
(w) => {
|
|
8774
|
-
L.value =
|
|
8774
|
+
L.value = P(w);
|
|
8775
8775
|
},
|
|
8776
8776
|
{ deep: !0 }
|
|
8777
8777
|
), re(
|
|
@@ -8866,11 +8866,11 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
|
|
|
8866
8866
|
ref: s
|
|
8867
8867
|
}, {
|
|
8868
8868
|
default: Ve(() => {
|
|
8869
|
-
var be,
|
|
8869
|
+
var be, Pe, Ye, ot, et, _t, ht;
|
|
8870
8870
|
return [
|
|
8871
8871
|
(be = v.value) != null && be.service_id ? (c(), pe(dv, {
|
|
8872
8872
|
key: 0,
|
|
8873
|
-
id: (
|
|
8873
|
+
id: (Pe = v.value) == null ? void 0 : Pe.service_id,
|
|
8874
8874
|
layer: v.value,
|
|
8875
8875
|
"style-spec": ((Ye = v.value) == null ? void 0 : Ye.style) || null,
|
|
8876
8876
|
autoCenter: !1
|
|
@@ -8928,18 +8928,18 @@ const jo = "map-card:external-payload", Pv = (e) => e ? typeof e.html == "string
|
|
|
8928
8928
|
}, [
|
|
8929
8929
|
o("div", z0, [
|
|
8930
8930
|
o("div", N0, [
|
|
8931
|
-
o("div",
|
|
8931
|
+
o("div", R0, [
|
|
8932
8932
|
(c(), h(se, null, ye(O, (be) => o("button", {
|
|
8933
8933
|
key: be.key,
|
|
8934
8934
|
type: "button",
|
|
8935
8935
|
role: "tab",
|
|
8936
8936
|
"aria-selected": D.value === be.key,
|
|
8937
8937
|
class: Ee(["whitespace-nowrap flex flex-col items-center justify-center gap-0.5 py-1 px-1 text-[9px] font-medium transition-all duration-300 hover:bg-white/70 rounded-lg group", D.value === be.key ? "bg-white shadow-sm text-gray-700" : ""]),
|
|
8938
|
-
onClick: (
|
|
8938
|
+
onClick: (Pe) => D.value = be.key
|
|
8939
8939
|
}, [
|
|
8940
8940
|
(c(), pe(Yt(be.icon), { class: "h-3.5 w-3.5 mb-0.5" })),
|
|
8941
8941
|
o("span", O0, B(be.label), 1)
|
|
8942
|
-
], 10,
|
|
8942
|
+
], 10, P0)), 64))
|
|
8943
8943
|
])
|
|
8944
8944
|
]),
|
|
8945
8945
|
o("div", D0, [
|
|
@@ -9211,7 +9211,7 @@ const wg = /* @__PURE__ */ Fe(hg, [["render", bg]]), _g = { class: "absolute top
|
|
|
9211
9211
|
},
|
|
9212
9212
|
{ immediate: !0 }
|
|
9213
9213
|
);
|
|
9214
|
-
const b =
|
|
9214
|
+
const b = R(() => `${Math.round(a.value * 100)}%`);
|
|
9215
9215
|
return (m, x) => (c(), h("div", _g, [
|
|
9216
9216
|
o("div", kg, [
|
|
9217
9217
|
o("div", $g, [
|
|
@@ -9256,7 +9256,7 @@ const wg = /* @__PURE__ */ Fe(hg, [["render", bg]]), _g = { class: "absolute top
|
|
|
9256
9256
|
beforeId: {}
|
|
9257
9257
|
},
|
|
9258
9258
|
setup(e) {
|
|
9259
|
-
const t = e, n = t.layerId || "extent-outline-layer", r = `${n}-source`, l =
|
|
9259
|
+
const t = e, n = t.layerId || "extent-outline-layer", r = `${n}-source`, l = R(() => {
|
|
9260
9260
|
const a = t.extent;
|
|
9261
9261
|
if (!a || a.length !== 4) return null;
|
|
9262
9262
|
const [p, v, b, m] = a;
|
|
@@ -9318,7 +9318,7 @@ const wg = /* @__PURE__ */ Fe(hg, [["render", bg]]), _g = { class: "absolute top
|
|
|
9318
9318
|
}, Fg = {
|
|
9319
9319
|
key: 1,
|
|
9320
9320
|
class: "py-6 px-4 text-sm text-red-600"
|
|
9321
|
-
}, Ig = { class: "flex justify-end gap-2 px-4 py-3 border-t border-gray-100 w-full" }, jg = ["disabled"], zg = ["disabled"], Ng = 192,
|
|
9321
|
+
}, Ig = { class: "flex justify-end gap-2 px-4 py-3 border-t border-gray-100 w-full" }, jg = ["disabled"], zg = ["disabled"], Ng = 192, Pr = 8, In = 8, ns = /* @__PURE__ */ ve({
|
|
9322
9322
|
__name: "HeaderActions",
|
|
9323
9323
|
props: {
|
|
9324
9324
|
entityId: {},
|
|
@@ -9332,7 +9332,7 @@ const wg = /* @__PURE__ */ Fe(hg, [["render", bg]]), _g = { class: "absolute top
|
|
|
9332
9332
|
},
|
|
9333
9333
|
emits: ["saved"],
|
|
9334
9334
|
setup(e, { emit: t }) {
|
|
9335
|
-
const n = e, r = t, l = ft(() => import("@opengis/core").then((H) => H.VsModal)), i = ft(() => import("@opengis/form")), s = F(!1), a = F(null), p = F(null), v = F(null), b = F(null), m =
|
|
9335
|
+
const n = e, r = t, l = ft(() => import("@opengis/core").then((H) => H.VsModal)), i = ft(() => import("@opengis/form")), s = F(!1), a = F(null), p = F(null), v = F(null), b = F(null), m = R(() => b.value ? {
|
|
9336
9336
|
position: "fixed",
|
|
9337
9337
|
top: `${b.value.top}px`,
|
|
9338
9338
|
left: `${b.value.left}px`
|
|
@@ -9340,24 +9340,24 @@ const wg = /* @__PURE__ */ Fe(hg, [["render", bg]]), _g = { class: "absolute top
|
|
|
9340
9340
|
re(s, (H) => {
|
|
9341
9341
|
H && lt(j);
|
|
9342
9342
|
});
|
|
9343
|
-
const x = F(!1), u = F(null), f = F({}), y = F(null), d = F(""), g = F(!1), _ = F(!1), M = F(null), L =
|
|
9343
|
+
const x = F(!1), u = F(null), f = F({}), y = F(null), d = F(""), g = F(!1), _ = F(!1), M = F(null), L = R(() => n.entityId || ""), k = (H, le) => H ? typeof H == "function" ? H(le) : typeof H != "string" ? "" : H.includes(":id") ? le ? H.replace(":id", encodeURIComponent(le)) : "" : H : "", $ = R(() => {
|
|
9344
9344
|
var H;
|
|
9345
9345
|
return (H = n.table) == null ? void 0 : H.trim();
|
|
9346
|
-
}), C =
|
|
9346
|
+
}), C = R(() => {
|
|
9347
9347
|
if (n.formEndpoint) return n.formEndpoint;
|
|
9348
9348
|
if ($.value)
|
|
9349
9349
|
return (H) => `/api/form/${$.value}/${H}`;
|
|
9350
|
-
}), A =
|
|
9350
|
+
}), A = R(() => {
|
|
9351
9351
|
if (n.saveEndpoint) return n.saveEndpoint;
|
|
9352
9352
|
if ($.value)
|
|
9353
9353
|
return (H) => `/api/table/${H}`;
|
|
9354
|
-
}), z =
|
|
9354
|
+
}), z = R(() => k(C.value, L.value)), V = R(() => n.saveEndpoint ? k(n.saveEndpoint, L.value) : M.value ? `/api/table/${encodeURIComponent(M.value)}` : k(A.value, L.value)), J = R(() => k("/api/gis-clear-rtile/:id", L.value)), ne = R(() => k("/api/gis-xml/:id", L.value)), ie = R(() => {
|
|
9355
9355
|
var de, ge, he;
|
|
9356
9356
|
const H = (ge = (de = n.entityInfo) == null ? void 0 : de.name) == null ? void 0 : ge.trim();
|
|
9357
9357
|
if (H) return `Редагування ${H}`;
|
|
9358
9358
|
const le = (he = n.entityLabel) == null ? void 0 : he.trim();
|
|
9359
9359
|
return le ? `Редагування ${le}` : "Редагування";
|
|
9360
|
-
}), X =
|
|
9360
|
+
}), X = R(() => n.editButtonText || "Редагувати"), ue = R(() => (n.saveMethod || "POST").toUpperCase());
|
|
9361
9361
|
function Y() {
|
|
9362
9362
|
s.value || j(), s.value = !s.value;
|
|
9363
9363
|
}
|
|
@@ -9367,10 +9367,10 @@ const wg = /* @__PURE__ */ Fe(hg, [["render", bg]]), _g = { class: "absolute top
|
|
|
9367
9367
|
function j() {
|
|
9368
9368
|
var w;
|
|
9369
9369
|
if (typeof window > "u" || !p.value) return;
|
|
9370
|
-
const H = p.value.getBoundingClientRect(), le = window.innerWidth, de = window.innerHeight, ge = H.left, he = Math.max(le - Ng - In, In), Ae = Math.min(Math.max(ge, In), he), ze = ((w = v.value) == null ? void 0 : w.offsetHeight) ?? 0, K = H.bottom +
|
|
9370
|
+
const H = p.value.getBoundingClientRect(), le = window.innerWidth, de = window.innerHeight, ge = H.left, he = Math.max(le - Ng - In, In), Ae = Math.min(Math.max(ge, In), he), ze = ((w = v.value) == null ? void 0 : w.offsetHeight) ?? 0, K = H.bottom + Pr;
|
|
9371
9371
|
let fe = K;
|
|
9372
9372
|
if (ze && K + ze > de - In) {
|
|
9373
|
-
const N = H.top -
|
|
9373
|
+
const N = H.top - Pr - ze;
|
|
9374
9374
|
fe = Math.max(N, In);
|
|
9375
9375
|
}
|
|
9376
9376
|
b.value = { top: fe, left: Ae };
|
|
@@ -9408,7 +9408,7 @@ const wg = /* @__PURE__ */ Fe(hg, [["render", bg]]), _g = { class: "absolute top
|
|
|
9408
9408
|
}
|
|
9409
9409
|
}
|
|
9410
9410
|
}
|
|
9411
|
-
function
|
|
9411
|
+
function P() {
|
|
9412
9412
|
x.value = !1, u.value = null, d.value = "", M.value = null;
|
|
9413
9413
|
}
|
|
9414
9414
|
async function U() {
|
|
@@ -9438,7 +9438,7 @@ const wg = /* @__PURE__ */ Fe(hg, [["render", bg]]), _g = { class: "absolute top
|
|
|
9438
9438
|
type: "success",
|
|
9439
9439
|
title: "Збережено",
|
|
9440
9440
|
message: "Зміни збережено"
|
|
9441
|
-
}), r("saved", f.value),
|
|
9441
|
+
}), r("saved", f.value), P();
|
|
9442
9442
|
} catch (de) {
|
|
9443
9443
|
console.error("Failed to save edit form", de), je({
|
|
9444
9444
|
type: "error",
|
|
@@ -9478,7 +9478,7 @@ const wg = /* @__PURE__ */ Fe(hg, [["render", bg]]), _g = { class: "absolute top
|
|
|
9478
9478
|
})
|
|
9479
9479
|
], -1)
|
|
9480
9480
|
])], 512),
|
|
9481
|
-
(c(), pe(
|
|
9481
|
+
(c(), pe(Rt, { to: "body" }, [
|
|
9482
9482
|
s.value ? (c(), h("div", {
|
|
9483
9483
|
key: 0,
|
|
9484
9484
|
ref_key: "menuContainer",
|
|
@@ -9538,7 +9538,7 @@ const wg = /* @__PURE__ */ Fe(hg, [["render", bg]]), _g = { class: "absolute top
|
|
|
9538
9538
|
o("button", {
|
|
9539
9539
|
type: "button",
|
|
9540
9540
|
class: "px-4 py-2 rounded bg-gray-100 text-gray-700",
|
|
9541
|
-
onClick:
|
|
9541
|
+
onClick: P,
|
|
9542
9542
|
disabled: _.value
|
|
9543
9543
|
}, " Скасувати ", 8, jg),
|
|
9544
9544
|
o("button", {
|
|
@@ -9563,7 +9563,7 @@ const wg = /* @__PURE__ */ Fe(hg, [["render", bg]]), _g = { class: "absolute top
|
|
|
9563
9563
|
}, 8, ["visible", "title"])
|
|
9564
9564
|
], 512));
|
|
9565
9565
|
}
|
|
9566
|
-
}),
|
|
9566
|
+
}), Rg = { class: "flex h-full bg-gradient-to-br from-slate-50 to-white" }, Pg = { class: "flex-1 relative overflow-hidden" }, Og = { class: "absolute top-0 left-0 w-full z-20" }, Dg = { class: "flex items-center justify-between bg-white/80 backdrop-blur border-b border-gray-200 px-6 py-3 shadow-sm gap-4" }, Vg = { class: "flex items-center gap-3 min-w-0" }, Bg = { class: "flex flex-col min-w-0" }, Ug = { class: "font-semibold text-lg text-gray-800 line-clamp-1" }, qg = {
|
|
9567
9567
|
key: 0,
|
|
9568
9568
|
class: "text-xs text-gray-500 truncate"
|
|
9569
9569
|
}, Hg = { class: "flex items-center gap-4" }, Wg = { class: "flex-1 min-w-0" }, Yg = ["title"], Zg = { class: "w-full h-full bg-gradient-to-br from-sky-50 via-white to-blue-50 flex items-center justify-center relative pt-[64px]" }, Gg = { class: "relative w-full h-full" }, Kg = { class: "absolute top-4 left-4 z-20" }, Xg = { class: "absolute top-[6.5rem] right-2 space-y-1 z-20" }, Qg = { class: "flex-1 flex flex-col h-full" }, Jg = { class: "px-3 pt-3 pb-2 border-b border-gray-100" }, ey = { class: "items-center justify-center text-muted-foreground grid w-full grid-cols-3 h-12 p-1 bg-gray-50 rounded-xl shadow-sm" }, ty = ["aria-selected", "onClick"], ny = { class: "leading-none" }, oy = { class: "flex flex-col flex-1 overflow-y-hidden p-4" }, ry = {
|
|
@@ -9580,7 +9580,7 @@ const wg = /* @__PURE__ */ Fe(hg, [["render", bg]]), _g = { class: "absolute top
|
|
|
9580
9580
|
{ cardClass: "bg-gradient-to-br from-blue-50 to-blue-100/30 border-blue-200", titleClass: "text-blue-900" },
|
|
9581
9581
|
{ cardClass: "bg-gradient-to-br from-purple-50 to-purple-100/30 border-purple-200", titleClass: "text-purple-900" },
|
|
9582
9582
|
{ cardClass: "bg-gradient-to-br from-gray-50 to-gray-100/30 border-gray-200", titleClass: "text-gray-900" }
|
|
9583
|
-
], n = zt(), r = St(), l = F(null), i =
|
|
9583
|
+
], n = zt(), r = St(), l = F(null), i = R(() => {
|
|
9584
9584
|
var N;
|
|
9585
9585
|
const w = (N = r.params) == null ? void 0 : N.id;
|
|
9586
9586
|
return typeof w == "string" ? w : void 0;
|
|
@@ -9614,11 +9614,11 @@ const wg = /* @__PURE__ */ Fe(hg, [["render", bg]]), _g = { class: "absolute top
|
|
|
9614
9614
|
(!Le || y(Le.lng, te, Gn) || y(Le.lat, xe, Gn) || y(be ?? 0, N, Or)) && (x.value = !0, w.jumpTo({ center: [te, xe], zoom: N }), x.value = !1);
|
|
9615
9615
|
}
|
|
9616
9616
|
function _() {
|
|
9617
|
-
var Le, be,
|
|
9617
|
+
var Le, be, Pe, Ye;
|
|
9618
9618
|
if (x.value) return;
|
|
9619
9619
|
const w = (be = (Le = d()) == null ? void 0 : Le.map) == null ? void 0 : be.value;
|
|
9620
9620
|
if (!w) return;
|
|
9621
|
-
const N = (
|
|
9621
|
+
const N = (Pe = w.getCenter) == null ? void 0 : Pe.call(w), te = (Ye = w.getZoom) == null ? void 0 : Ye.call(w);
|
|
9622
9622
|
if (!N || te == null) return;
|
|
9623
9623
|
const xe = {
|
|
9624
9624
|
...r.query,
|
|
@@ -9634,24 +9634,24 @@ const wg = /* @__PURE__ */ Fe(hg, [["render", bg]]), _g = { class: "absolute top
|
|
|
9634
9634
|
const w = (N = J.value) == null ? void 0 : N.name;
|
|
9635
9635
|
document.title = w ? `${w} — Растер` : sy;
|
|
9636
9636
|
}
|
|
9637
|
-
const L =
|
|
9637
|
+
const L = R(() => {
|
|
9638
9638
|
var N;
|
|
9639
9639
|
const w = (N = s.value) == null ? void 0 : N.url;
|
|
9640
9640
|
return w ? /^https?:\/\//i.test(w) || typeof window > "u" || typeof location > "u" ? w : `${location.origin}${w}` : "";
|
|
9641
|
-
}), k =
|
|
9641
|
+
}), k = R(() => {
|
|
9642
9642
|
var w;
|
|
9643
9643
|
return ((w = s.value) == null ? void 0 : w.extent) ?? null;
|
|
9644
|
-
}), $ =
|
|
9644
|
+
}), $ = R(() => i.value ? `raster-${i.value}` : void 0), C = R(() => i.value ? `raster-extent-${i.value}` : "raster-extent"), A = R(() => {
|
|
9645
9645
|
const w = $.value ?? "raster", N = k.value && k.value.length === 4 ? k.value.join(",") : "no-extent";
|
|
9646
9646
|
return `${w}-${N}`;
|
|
9647
|
-
}), z =
|
|
9647
|
+
}), z = R(() => !!L.value), V = R(() => {
|
|
9648
9648
|
const w = k.value;
|
|
9649
9649
|
if (!w || w.length !== 4) return null;
|
|
9650
9650
|
const [N, te, xe, Le] = w;
|
|
9651
9651
|
return [N, te, xe, Le].some(
|
|
9652
9652
|
(be) => typeof be != "number" || Number.isNaN(be)
|
|
9653
9653
|
) ? null : [(N + xe) / 2, (te + Le) / 2];
|
|
9654
|
-
}), J =
|
|
9654
|
+
}), J = R(() => {
|
|
9655
9655
|
var Le, be;
|
|
9656
9656
|
const w = s.value, N = w == null ? void 0 : w.extent;
|
|
9657
9657
|
return {
|
|
@@ -9663,7 +9663,7 @@ const wg = /* @__PURE__ */ Fe(hg, [["render", bg]]), _g = { class: "absolute top
|
|
|
9663
9663
|
source: w != null && w.proj4 ? w.proj4 : "Джерело: Mapnik",
|
|
9664
9664
|
updatedAt: w != null && w.cache ? "Дані кешовано" : "Нові дані"
|
|
9665
9665
|
};
|
|
9666
|
-
}), ne =
|
|
9666
|
+
}), ne = R(() => {
|
|
9667
9667
|
const w = s.value;
|
|
9668
9668
|
return w ? [
|
|
9669
9669
|
w.source_path,
|
|
@@ -9681,7 +9681,7 @@ const wg = /* @__PURE__ */ Fe(hg, [["render", bg]]), _g = { class: "absolute top
|
|
|
9681
9681
|
}), re(ue, (w) => {
|
|
9682
9682
|
r.query.tab !== w && n.replace({ query: { ...r.query, tab: w } });
|
|
9683
9683
|
});
|
|
9684
|
-
const O =
|
|
9684
|
+
const O = R(() => U(s.value)), j = R(() => le(s.value));
|
|
9685
9685
|
re(
|
|
9686
9686
|
() => s.value,
|
|
9687
9687
|
() => {
|
|
@@ -9715,7 +9715,7 @@ const wg = /* @__PURE__ */ Fe(hg, [["render", bg]]), _g = { class: "absolute top
|
|
|
9715
9715
|
}, { immediate: !0 });
|
|
9716
9716
|
async function T(w) {
|
|
9717
9717
|
var N;
|
|
9718
|
-
E(), ((N = s.value) == null ? void 0 : N.srid) !== w.srid && (je({ title: "XML start", type: "info", message: "зміна системи координат, оновлюємо карту ..." }), await
|
|
9718
|
+
E(), ((N = s.value) == null ? void 0 : N.srid) !== w.srid && (je({ title: "XML start", type: "info", message: "зміна системи координат, оновлюємо карту ..." }), await P(`/api/gis-xml/${encodeURIComponent(i.value)}`), je({ title: "XML created", type: "info", message: "карта створена" }), location.reload());
|
|
9719
9719
|
}
|
|
9720
9720
|
async function E() {
|
|
9721
9721
|
const w = i.value;
|
|
@@ -9729,14 +9729,14 @@ const wg = /* @__PURE__ */ Fe(hg, [["render", bg]]), _g = { class: "absolute top
|
|
|
9729
9729
|
if (!N.ok)
|
|
9730
9730
|
throw new Error(`HTTP ${N.status}`);
|
|
9731
9731
|
const te = await N.json();
|
|
9732
|
-
te.xml && (p.value = !0), s.value = te, te.xml || (je({ title: "XML not found", type: "info", message: "йде створення xml ... зачекайте" }), await
|
|
9732
|
+
te.xml && (p.value = !0), s.value = te, te.xml || (je({ title: "XML not found", type: "info", message: "йде створення xml ... зачекайте" }), await P(`/api/gis-xml/${encodeURIComponent(w)}`), je({ title: "XML created", type: "info", message: "карта створена" }), fetch(`/api/gis-raster/${encodeURIComponent(w)}?nocache=1`), p.value = !0);
|
|
9733
9733
|
} catch (N) {
|
|
9734
9734
|
console.error("Failed to load raster info", N), s.value = null, v.value = N instanceof Error ? N.message : String(N);
|
|
9735
9735
|
} finally {
|
|
9736
9736
|
a.value = !1;
|
|
9737
9737
|
}
|
|
9738
9738
|
}
|
|
9739
|
-
function
|
|
9739
|
+
function P(w) {
|
|
9740
9740
|
return new Promise((N, te) => {
|
|
9741
9741
|
const xe = new EventSource(w), Le = [];
|
|
9742
9742
|
xe.onmessage = (be) => {
|
|
@@ -9786,14 +9786,14 @@ const wg = /* @__PURE__ */ Fe(hg, [["render", bg]]), _g = { class: "absolute top
|
|
|
9786
9786
|
}).filter(Boolean).join("") : "";
|
|
9787
9787
|
}
|
|
9788
9788
|
function ge(w) {
|
|
9789
|
-
var be,
|
|
9789
|
+
var be, Pe;
|
|
9790
9790
|
const N = w.bands_count ?? ((be = w.bands) == null ? void 0 : be.length) ?? "—", te = de(w.bands), xe = (w.bands ?? []).map((Ye) => Ye.trim()).filter((Ye) => Ye.length > 0), Le = xe.length ? xe.join(", ") : void 0;
|
|
9791
9791
|
return [
|
|
9792
9792
|
{
|
|
9793
9793
|
label: "Розмір растру, px",
|
|
9794
9794
|
value: w.width && w.height ? `${w.width}×${w.height}` : "—"
|
|
9795
9795
|
},
|
|
9796
|
-
{ label: "Формат файлу", value: ((
|
|
9796
|
+
{ label: "Формат файлу", value: ((Pe = w.extension) == null ? void 0 : Pe.toUpperCase()) ?? "—" },
|
|
9797
9797
|
{ label: "Розмір файлу, mb", value: w.total_size ? `${w.total_size}` : "—" },
|
|
9798
9798
|
{
|
|
9799
9799
|
label: "Кількість каналів",
|
|
@@ -9850,8 +9850,8 @@ const wg = /* @__PURE__ */ Fe(hg, [["render", bg]]), _g = { class: "absolute top
|
|
|
9850
9850
|
const te = `${w.toFixed(5)}°`;
|
|
9851
9851
|
return N ? `${te} ${N}` : te;
|
|
9852
9852
|
}
|
|
9853
|
-
return (w, N) => (c(), h("div",
|
|
9854
|
-
o("div",
|
|
9853
|
+
return (w, N) => (c(), h("div", Rg, [
|
|
9854
|
+
o("div", Pg, [
|
|
9855
9855
|
o("div", Og, [
|
|
9856
9856
|
o("div", Dg, [
|
|
9857
9857
|
o("div", Vg, [
|
|
@@ -10014,7 +10014,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
10014
10014
|
},
|
|
10015
10015
|
emits: ["update:modelValue", "save"],
|
|
10016
10016
|
setup(e, { emit: t }) {
|
|
10017
|
-
const n = e, r = t, l =
|
|
10017
|
+
const n = e, r = t, l = R({
|
|
10018
10018
|
get: () => n.modelValue,
|
|
10019
10019
|
set: (i) => r("update:modelValue", i)
|
|
10020
10020
|
});
|
|
@@ -10280,7 +10280,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
10280
10280
|
activateTemporaryLayer: r,
|
|
10281
10281
|
deactivateTemporaryLayer: l,
|
|
10282
10282
|
setTemporaryLayerOpacity: i
|
|
10283
|
-
} = Go(n.map), s =
|
|
10283
|
+
} = Go(n.map), s = R(() => {
|
|
10284
10284
|
var m;
|
|
10285
10285
|
const b = `${(m = t == null ? void 0 : t.tileUrl) == null ? void 0 : m.trim()}`;
|
|
10286
10286
|
return b ? typeof window > "u" || typeof location > "u" || /^https?:\/\//i.test(b) ? b : b.startsWith("//") ? `${window.location.protocol}${b}` : b.startsWith("/") ? `${location.origin}${b}` : `${location.origin}/${b}` : "";
|
|
@@ -10320,7 +10320,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
10320
10320
|
infoEnabled: { type: [Boolean, null] }
|
|
10321
10321
|
},
|
|
10322
10322
|
setup(e) {
|
|
10323
|
-
const t = e, n =
|
|
10323
|
+
const t = e, n = R(() => t.cartocssId ?? null), r = R(() => !!t.infoEnabled), { map: l, ready: i } = st(), s = (u) => {
|
|
10324
10324
|
!u || typeof window > "u" || window.dispatchEvent(
|
|
10325
10325
|
new CustomEvent(jo, { detail: u })
|
|
10326
10326
|
);
|
|
@@ -10383,7 +10383,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
10383
10383
|
await m(C, $);
|
|
10384
10384
|
return;
|
|
10385
10385
|
}
|
|
10386
|
-
|
|
10386
|
+
Rv({ html: k == null ? void 0 : k.html }) && s({
|
|
10387
10387
|
html: k == null ? void 0 : k.html,
|
|
10388
10388
|
geometry: $
|
|
10389
10389
|
});
|
|
@@ -10401,7 +10401,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
10401
10401
|
}), Ly = { class: "flex h-full bg-gradient-to-br from-slate-50 to-white" }, My = { class: "flex-1 relative overflow-hidden" }, Ey = { class: "absolute top-0 left-0 w-full z-20" }, Ty = { class: "flex items-center justify-between bg-white/80 backdrop-blur border-b border-gray-200 px-6 py-3 shadow-sm gap-4" }, Fy = { class: "flex items-center gap-3 min-w-0" }, Iy = { class: "flex flex-col min-w-0" }, jy = { class: "font-semibold text-lg text-gray-800 line-clamp-1" }, zy = {
|
|
10402
10402
|
key: 0,
|
|
10403
10403
|
class: "text-xs text-gray-500 truncate"
|
|
10404
|
-
}, Ny = { class: "w-full h-full bg-gradient-to-br from-sky-50 via-white to-blue-50 flex items-center justify-center relative pt-[64px]" },
|
|
10404
|
+
}, Ny = { class: "w-full h-full bg-gradient-to-br from-sky-50 via-white to-blue-50 flex items-center justify-center relative pt-[64px]" }, Ry = { class: "relative w-full h-full" }, Py = { class: "absolute top-[5.5rem] left-4 z-30 flex flex-col items-start gap-2" }, Oy = { class: "rounded-2xl bg-white/90 px-3 py-2 text-xs font-medium text-slate-600 shadow-sm backdrop-blur" }, Dy = { class: "flex items-center gap-2" }, Vy = { class: "rounded-2xl bg-white/90 px-3 py-2 text-xs font-medium text-slate-600 shadow-sm backdrop-blur" }, By = { class: "inline-flex items-center gap-2 text-[11px] text-slate-600" }, Uy = ["checked"], qy = { class: "absolute top-4 left-4 z-20" }, Hy = { class: "absolute top-[6.5rem] right-2 space-y-1 z-20" }, Wy = { class: "flex-1 flex flex-col h-full" }, Yy = {
|
|
10405
10405
|
key: 0,
|
|
10406
10406
|
class: "px-3 pt-3 pb-2 border-b border-gray-100"
|
|
10407
10407
|
}, Zy = { class: "items-center justify-center text-muted-foreground grid w-full grid-cols-4 h-12 p-1 bg-gray-50 rounded-xl shadow-sm" }, Gy = ["aria-selected", "onClick"], Ky = { class: "leading-none" }, Xy = { class: "flex flex-col flex-1 overflow-y-hidden p-4" }, Qy = {
|
|
@@ -10417,10 +10417,10 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
10417
10417
|
{ key: "card", label: "Картка", icon: Kl }
|
|
10418
10418
|
], i = l.map((K) => K.key), s = F(
|
|
10419
10419
|
i.includes(n.query.tab) ? n.query.tab : "css"
|
|
10420
|
-
), a = F(!0), p = F(null), v =
|
|
10420
|
+
), a = F(!0), p = F(null), v = R(() => {
|
|
10421
10421
|
var K;
|
|
10422
10422
|
return (K = p.value) != null && K.source_path ? l.filter((fe) => fe.key === "card" || fe.key === "metadata") : l;
|
|
10423
|
-
}), b =
|
|
10423
|
+
}), b = R(
|
|
10424
10424
|
() => n.params.id || Jy
|
|
10425
10425
|
), m = F({
|
|
10426
10426
|
id: b.value,
|
|
@@ -10447,8 +10447,8 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
10447
10447
|
return (K = r.value) == null ? void 0 : K.ctx;
|
|
10448
10448
|
}
|
|
10449
10449
|
function _() {
|
|
10450
|
-
var be,
|
|
10451
|
-
const K = (
|
|
10450
|
+
var be, Pe, Ye, ot;
|
|
10451
|
+
const K = (Pe = (be = g()) == null ? void 0 : be.map) == null ? void 0 : Pe.value;
|
|
10452
10452
|
if (!K) return;
|
|
10453
10453
|
const fe = f(n.query.z), w = f(n.query.x), N = f(n.query.y);
|
|
10454
10454
|
if (fe == null || w == null || N == null) return;
|
|
@@ -10475,18 +10475,18 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
10475
10475
|
}
|
|
10476
10476
|
const k = F("");
|
|
10477
10477
|
F("");
|
|
10478
|
-
const $ = F([]), C = F(!1), A = F(!1), z = F(""), V = F(0), J = F(!1), ne = F(1), ie = F(!0), X =
|
|
10478
|
+
const $ = F([]), C = F(!1), A = F(!1), z = F(""), V = F(0), J = F(!1), ne = F(1), ie = F(!0), X = R(() => `cartocss-layer-${b.value}`), ue = R(() => `${Math.round(ne.value * 100)}%`), Y = R(() => `cartocss-extent-${b.value}`), O = R(() => {
|
|
10479
10479
|
var te;
|
|
10480
10480
|
const K = (te = z.value) == null ? void 0 : te.trim();
|
|
10481
10481
|
if (!K) return "";
|
|
10482
10482
|
const fe = K.includes("?") ? "&" : "?", w = `${K}${fe}nottl=1`, N = V.value;
|
|
10483
10483
|
return N ? `${K}${fe}ts=${N}&nocache=1` : w;
|
|
10484
10484
|
});
|
|
10485
|
-
|
|
10485
|
+
R(() => {
|
|
10486
10486
|
const K = p.value;
|
|
10487
10487
|
return K ? K.cartocss_key || K.source_path || b.value || "" : b.value || "";
|
|
10488
10488
|
});
|
|
10489
|
-
const j = F(""), D = F(""), T =
|
|
10489
|
+
const j = F(""), D = F(""), T = R(() => {
|
|
10490
10490
|
var xe;
|
|
10491
10491
|
const K = (xe = p.value) == null ? void 0 : xe.bounds;
|
|
10492
10492
|
if (!Array.isArray(K) || K.length < 4) return null;
|
|
@@ -10494,7 +10494,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
10494
10494
|
return [fe, w, N, te].some(
|
|
10495
10495
|
(Le) => typeof Le != "number" || Number.isNaN(Le)
|
|
10496
10496
|
) ? null : [(fe + N) / 2, (w + te) / 2];
|
|
10497
|
-
}), E =
|
|
10497
|
+
}), E = R(() => {
|
|
10498
10498
|
var xe;
|
|
10499
10499
|
const K = (xe = p.value) == null ? void 0 : xe.bounds;
|
|
10500
10500
|
if (!Array.isArray(K) || K.length < 4) return null;
|
|
@@ -10502,7 +10502,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
10502
10502
|
return [fe, w, N, te].some(
|
|
10503
10503
|
(Le) => typeof Le != "number" || Number.isNaN(Le)
|
|
10504
10504
|
) ? null : [fe, w, N, te];
|
|
10505
|
-
}),
|
|
10505
|
+
}), P = R(() => {
|
|
10506
10506
|
const K = p.value;
|
|
10507
10507
|
return K ? ($.value.map((w) => w == null ? void 0 : w.table).filter(Boolean), [
|
|
10508
10508
|
K.description,
|
|
@@ -10680,7 +10680,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
10680
10680
|
])]),
|
|
10681
10681
|
o("div", Iy, [
|
|
10682
10682
|
o("div", jy, B(m.value.name), 1),
|
|
10683
|
-
|
|
10683
|
+
P.value ? (c(), h("div", zy, B(P.value), 1)) : Q("", !0)
|
|
10684
10684
|
])
|
|
10685
10685
|
]),
|
|
10686
10686
|
oe(ns, {
|
|
@@ -10695,7 +10695,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
10695
10695
|
])
|
|
10696
10696
|
]),
|
|
10697
10697
|
o("div", Ny, [
|
|
10698
|
-
o("div",
|
|
10698
|
+
o("div", Ry, [
|
|
10699
10699
|
oe(uo, {
|
|
10700
10700
|
ref_key: "mapViewRef",
|
|
10701
10701
|
ref: r
|
|
@@ -10703,7 +10703,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
10703
10703
|
default: Ve(() => {
|
|
10704
10704
|
var w, N;
|
|
10705
10705
|
return [
|
|
10706
|
-
o("div",
|
|
10706
|
+
o("div", Py, [
|
|
10707
10707
|
o("div", Oy, [
|
|
10708
10708
|
o("div", Dy, [
|
|
10709
10709
|
fe[7] || (fe[7] = o("span", null, "Прозорість:", -1)),
|
|
@@ -10873,10 +10873,10 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
10873
10873
|
},
|
|
10874
10874
|
emits: ["update:modelValue", "update:form"],
|
|
10875
10875
|
setup(e, { emit: t }) {
|
|
10876
|
-
const n = ft(() => import("@opengis/form")), r = e, l = t, i =
|
|
10876
|
+
const n = ft(() => import("@opengis/form")), r = e, l = t, i = R({
|
|
10877
10877
|
get: () => r.modelValue,
|
|
10878
10878
|
set: (a) => l("update:modelValue", a)
|
|
10879
|
-
}), s =
|
|
10879
|
+
}), s = R({
|
|
10880
10880
|
get: () => r.form,
|
|
10881
10881
|
set: (a) => l("update:form", a)
|
|
10882
10882
|
});
|
|
@@ -10901,11 +10901,11 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
10901
10901
|
},
|
|
10902
10902
|
emits: ["update:layerIDs", "update:layerNames"],
|
|
10903
10903
|
setup(e, { emit: t }) {
|
|
10904
|
-
const n = e, r = t, l =
|
|
10904
|
+
const n = e, r = t, l = R({
|
|
10905
10905
|
get: () => n.layerIDs,
|
|
10906
10906
|
set: (i) => r("update:layerIDs", i)
|
|
10907
10907
|
});
|
|
10908
|
-
return
|
|
10908
|
+
return R({
|
|
10909
10909
|
get: () => n.layerNames,
|
|
10910
10910
|
set: (i) => r("update:layerNames", i)
|
|
10911
10911
|
}), (i, s) => (c(), h("section", ih, [
|
|
@@ -10927,7 +10927,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
10927
10927
|
setup(e, { expose: t }) {
|
|
10928
10928
|
const n = e, r = Tt({ open: !1, top: 0, left: 0, transform: "translateX(-50%)" }), l = F(null), i = F(null);
|
|
10929
10929
|
let s = null;
|
|
10930
|
-
const a =
|
|
10930
|
+
const a = R(() => r.open ? {
|
|
10931
10931
|
position: "absolute",
|
|
10932
10932
|
width: "auto",
|
|
10933
10933
|
maxWidth: `${Math.min(300, window.innerWidth - 24)}px`,
|
|
@@ -11002,7 +11002,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
11002
11002
|
}, [...d[1] || (d[1] = [
|
|
11003
11003
|
an('<div class="mapLayer-info__icon" data-v-cc1cc7bf><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" data-v-cc1cc7bf><circle cx="12" cy="12" r="10" data-v-cc1cc7bf></circle><line x1="12" y1="16" x2="12" y2="12" data-v-cc1cc7bf></line><line x1="12" y1="8" x2="12.01" y2="8" data-v-cc1cc7bf></line></svg></div>', 1)
|
|
11004
11004
|
])]),
|
|
11005
|
-
(c(), pe(
|
|
11005
|
+
(c(), pe(Rt, { to: "body" }, [
|
|
11006
11006
|
r.open ? (c(), h("div", {
|
|
11007
11007
|
key: 0,
|
|
11008
11008
|
class: "vst-popover__content inline-block z-[81] py-3 px-4 bg-white text-sm text-gray-500 rounded-md shadow-lg bottom mapLayer-info__popover",
|
|
@@ -11045,17 +11045,17 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
11045
11045
|
setup(e) {
|
|
11046
11046
|
const t = e, n = F(null), r = F(!1), l = F(null), i = F(null), s = F({ top: 0, left: 0 });
|
|
11047
11047
|
zt();
|
|
11048
|
-
const a = F(!0), p = F(!1), v =
|
|
11048
|
+
const a = F(!0), p = F(!1), v = R(() => Array.isArray(t.links) ? t.links.filter((L) => (L == null ? void 0 : L.name) && (L == null ? void 0 : L.slug)) : []), b = R(() => ({
|
|
11049
11049
|
top: `${s.value.top}px`,
|
|
11050
11050
|
left: `${s.value.left}px`
|
|
11051
|
-
})), m =
|
|
11051
|
+
})), m = R(() => {
|
|
11052
11052
|
const L = [];
|
|
11053
11053
|
return t.mapName && L.push({ label: "Назва карти", value: t.mapName }), t.mapDescription && L.push({ label: "Опис", value: t.mapDescription, breakLine: !0 }), L;
|
|
11054
11054
|
});
|
|
11055
11055
|
function x(L) {
|
|
11056
11056
|
return L == null ? !1 : L.replace(/<[^>]*>/g, "").trim().length > 0;
|
|
11057
11057
|
}
|
|
11058
|
-
const u =
|
|
11058
|
+
const u = R(() => x(t.content)), f = R(() => u.value);
|
|
11059
11059
|
function y(L) {
|
|
11060
11060
|
L.stopPropagation(), r.value = !r.value;
|
|
11061
11061
|
}
|
|
@@ -11143,7 +11143,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
11143
11143
|
})
|
|
11144
11144
|
], -1)
|
|
11145
11145
|
])], 512),
|
|
11146
|
-
(c(), pe(
|
|
11146
|
+
(c(), pe(Rt, { to: "body" }, [
|
|
11147
11147
|
r.value ? (c(), h("div", {
|
|
11148
11148
|
key: 0,
|
|
11149
11149
|
ref_key: "menuPopover",
|
|
@@ -11268,7 +11268,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
11268
11268
|
onClick: nt(p, ["stop"])
|
|
11269
11269
|
}, B(r.value) + "% ", 1)
|
|
11270
11270
|
], !0),
|
|
11271
|
-
(c(), pe(
|
|
11271
|
+
(c(), pe(Rt, { to: "body" }, [
|
|
11272
11272
|
n.value ? (c(), h("div", {
|
|
11273
11273
|
key: 0,
|
|
11274
11274
|
ref_key: "popoverEl",
|
|
@@ -11295,10 +11295,10 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
11295
11295
|
]))
|
|
11296
11296
|
], 512));
|
|
11297
11297
|
}
|
|
11298
|
-
}), os = /* @__PURE__ */ Fe(bh, [["__scopeId", "data-v-b278347a"]]), wh = { class: "layers-panel" }, _h = { class: "layers-panel__header" }, kh = { class: "layers-panel__heading" }, $h = { class: "layers-panel__heading-title" }, Ch = { class: "layers-panel__count" }, Sh = { class: "layers-panel__bulk-actions" }, Ah = { class: "layers-panel__header-actions" }, Lh = { class: "layers-panel__header-controls" }, Mh = { class: "layers-panel__label" }, Eh = { class: "layers-panel__label-row" }, Th = ["checked", "onChange"], Fh = { class: "layers-panel__title-block" }, Ih = { class: "layers-panel__name" }, jh = { class: "layers-panel__meta text-slate-500" }, zh = ["onClick"], Nh = { class: "inline-flex items-center justify-center w-[18px] h-[18px] text-slate-500 transition-colors duration-200 hover:text-blue-700" },
|
|
11298
|
+
}), os = /* @__PURE__ */ Fe(bh, [["__scopeId", "data-v-b278347a"]]), wh = { class: "layers-panel" }, _h = { class: "layers-panel__header" }, kh = { class: "layers-panel__heading" }, $h = { class: "layers-panel__heading-title" }, Ch = { class: "layers-panel__count" }, Sh = { class: "layers-panel__bulk-actions" }, Ah = { class: "layers-panel__header-actions" }, Lh = { class: "layers-panel__header-controls" }, Mh = { class: "layers-panel__label" }, Eh = { class: "layers-panel__label-row" }, Th = ["checked", "onChange"], Fh = { class: "layers-panel__title-block" }, Ih = { class: "layers-panel__name" }, jh = { class: "layers-panel__meta text-slate-500" }, zh = ["onClick"], Nh = { class: "inline-flex items-center justify-center w-[18px] h-[18px] text-slate-500 transition-colors duration-200 hover:text-blue-700" }, Rh = {
|
|
11299
11299
|
key: 0,
|
|
11300
11300
|
class: "layers-panel__actions"
|
|
11301
|
-
},
|
|
11301
|
+
}, Ph = ["innerHTML", "onClick"], Br = "map:temporary-layer-request", Oh = "#5763ba", Dh = /* @__PURE__ */ ve({
|
|
11302
11302
|
__name: "MapDataLayersWidget",
|
|
11303
11303
|
props: {
|
|
11304
11304
|
layers: {},
|
|
@@ -11311,51 +11311,51 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
11311
11311
|
activateTemporaryLayer: p,
|
|
11312
11312
|
deactivateTemporaryLayer: v,
|
|
11313
11313
|
clearTemporaryLayers: b
|
|
11314
|
-
} = Go(s.map), m =
|
|
11315
|
-
const T = n.layers.map((
|
|
11316
|
-
...
|
|
11314
|
+
} = Go(s.map), m = R(() => {
|
|
11315
|
+
const T = n.layers.map((P) => ({
|
|
11316
|
+
...P,
|
|
11317
11317
|
isTemporary: !1,
|
|
11318
11318
|
owner: null,
|
|
11319
|
-
visible:
|
|
11319
|
+
visible: P.visible !== !1
|
|
11320
11320
|
})), E = a.value.map(
|
|
11321
|
-
(
|
|
11322
|
-
id:
|
|
11323
|
-
name:
|
|
11324
|
-
visible: r.value[
|
|
11321
|
+
(P) => ({
|
|
11322
|
+
id: P.id,
|
|
11323
|
+
name: P.title,
|
|
11324
|
+
visible: r.value[P.id] ?? !0,
|
|
11325
11325
|
actions: [],
|
|
11326
11326
|
filters: null,
|
|
11327
11327
|
isTemporary: !0,
|
|
11328
|
-
owner:
|
|
11329
|
-
handle:
|
|
11330
|
-
card:
|
|
11331
|
-
popup:
|
|
11332
|
-
style:
|
|
11328
|
+
owner: P.owner ?? null,
|
|
11329
|
+
handle: P.handle ?? null,
|
|
11330
|
+
card: P.card ?? null,
|
|
11331
|
+
popup: P.popup ?? null,
|
|
11332
|
+
style: P.style ?? null,
|
|
11333
11333
|
group_name: null,
|
|
11334
11334
|
count: null,
|
|
11335
11335
|
holder: null
|
|
11336
11336
|
})
|
|
11337
11337
|
);
|
|
11338
11338
|
return [...T, ...E];
|
|
11339
|
-
}), x =
|
|
11339
|
+
}), x = R(() => m.value.length), u = R(
|
|
11340
11340
|
() => m.value.filter((T) => L(T.id)).length
|
|
11341
|
-
), f =
|
|
11341
|
+
), f = R(
|
|
11342
11342
|
() => x.value > 0 && u.value === x.value
|
|
11343
|
-
), y =
|
|
11343
|
+
), y = R(() => a.value.length > 0), d = t;
|
|
11344
11344
|
function g() {
|
|
11345
11345
|
var T;
|
|
11346
11346
|
for (let E = 0; E < n.layers.length; E++) {
|
|
11347
|
-
const
|
|
11347
|
+
const P = n.layers[E], U = _(P);
|
|
11348
11348
|
if (!U)
|
|
11349
11349
|
continue;
|
|
11350
|
-
const H = Ge(
|
|
11351
|
-
r.value[
|
|
11350
|
+
const H = Ge(P.id, U), le = P.visible !== !1;
|
|
11351
|
+
r.value[P.id] = le, le || (T = H == null ? void 0 : H.setVisible) == null || T.call(H, !1);
|
|
11352
11352
|
}
|
|
11353
11353
|
}
|
|
11354
11354
|
function _(T) {
|
|
11355
11355
|
const E = T.id;
|
|
11356
11356
|
if (!E) return null;
|
|
11357
|
-
const
|
|
11358
|
-
if (!!U && (
|
|
11357
|
+
const P = (T.type || T.service_type || T.service || "").toString().toLowerCase(), U = T.service_url || T.url || null;
|
|
11358
|
+
if (!!U && (P === "tms" || P === "wmts" || P === "wms" || P === "ogc")) {
|
|
11359
11359
|
const de = M(U);
|
|
11360
11360
|
return de ? {
|
|
11361
11361
|
sourceId: E,
|
|
@@ -11377,7 +11377,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
11377
11377
|
popup: T.popup
|
|
11378
11378
|
} : null;
|
|
11379
11379
|
}
|
|
11380
|
-
if (
|
|
11380
|
+
if (P === "cartocss") {
|
|
11381
11381
|
const de = T.url ? M(T.url) : `${location.origin}/api/gis-rtile/${E}/{z}/{x}/{y}.png`;
|
|
11382
11382
|
return de ? {
|
|
11383
11383
|
sourceId: E,
|
|
@@ -11426,11 +11426,11 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
11426
11426
|
function k(T) {
|
|
11427
11427
|
var U, H;
|
|
11428
11428
|
if (!(T != null && T.id)) return null;
|
|
11429
|
-
const E = (U = T.title) == null ? void 0 : U.trim(),
|
|
11430
|
-
return !E || !
|
|
11429
|
+
const E = (U = T.title) == null ? void 0 : U.trim(), P = (H = T.url) == null ? void 0 : H.trim();
|
|
11430
|
+
return !E || !P ? null : {
|
|
11431
11431
|
id: T.id,
|
|
11432
11432
|
title: E,
|
|
11433
|
-
url:
|
|
11433
|
+
url: P,
|
|
11434
11434
|
tileSize: T.tileSize,
|
|
11435
11435
|
minzoom: T.minzoom,
|
|
11436
11436
|
maxzoom: T.maxzoom,
|
|
@@ -11447,13 +11447,13 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
11447
11447
|
});
|
|
11448
11448
|
return;
|
|
11449
11449
|
}
|
|
11450
|
-
const
|
|
11451
|
-
if (
|
|
11450
|
+
const P = k(T.spec);
|
|
11451
|
+
if (P) {
|
|
11452
11452
|
if (T.action === "activate") {
|
|
11453
|
-
p(
|
|
11453
|
+
p(P, T.context || {}, E), r.value[P.id] = !0;
|
|
11454
11454
|
return;
|
|
11455
11455
|
}
|
|
11456
|
-
T.action === "deactivate" && (v(
|
|
11456
|
+
T.action === "deactivate" && (v(P.id, E), delete r.value[P.id]);
|
|
11457
11457
|
}
|
|
11458
11458
|
}
|
|
11459
11459
|
function C(T) {
|
|
@@ -11462,10 +11462,10 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
11462
11462
|
re(
|
|
11463
11463
|
() => a.value.map((T) => T.id),
|
|
11464
11464
|
(T, E) => {
|
|
11465
|
-
const
|
|
11465
|
+
const P = new Set(E || []), U = new Set(T);
|
|
11466
11466
|
T.forEach((H) => {
|
|
11467
11467
|
H in r.value || (r.value[H] = !0);
|
|
11468
|
-
}),
|
|
11468
|
+
}), P.forEach((H) => {
|
|
11469
11469
|
U.has(H) || delete r.value[H];
|
|
11470
11470
|
});
|
|
11471
11471
|
},
|
|
@@ -11484,12 +11484,12 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
11484
11484
|
return;
|
|
11485
11485
|
}
|
|
11486
11486
|
r.value[T.id] = E;
|
|
11487
|
-
const
|
|
11488
|
-
(le =
|
|
11487
|
+
const P = Ge(T.id);
|
|
11488
|
+
(le = P == null ? void 0 : P.setVisible) == null || le.call(P, E);
|
|
11489
11489
|
}
|
|
11490
11490
|
function z(T, E) {
|
|
11491
|
-
const
|
|
11492
|
-
A(T,
|
|
11491
|
+
const P = E.target;
|
|
11492
|
+
A(T, P.checked);
|
|
11493
11493
|
}
|
|
11494
11494
|
function V(T) {
|
|
11495
11495
|
m.value.forEach((E) => A(E, T));
|
|
@@ -11514,7 +11514,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
11514
11514
|
return E ? !!(/^#[\da-fA-F]{3,8}$/.test(E) || /^rgb\s*\(/.test(E) || /^rgba\s*\(/.test(E) || /^hsl\s*\(/.test(E) || /^hsla\s*\(/.test(E) || /^[a-zA-Z]+$/.test(E) && E.length < 25) : !1;
|
|
11515
11515
|
}
|
|
11516
11516
|
function X(T) {
|
|
11517
|
-
var E,
|
|
11517
|
+
var E, P, U, H, le, de;
|
|
11518
11518
|
if (!T) return null;
|
|
11519
11519
|
if (typeof T == "string") {
|
|
11520
11520
|
const ge = T.trim();
|
|
@@ -11530,14 +11530,14 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
11530
11530
|
if (typeof T == "object") {
|
|
11531
11531
|
const ge = T;
|
|
11532
11532
|
return X(
|
|
11533
|
-
ge.color ?? ge.fill ?? ge.stroke ?? ge.lineColor ?? ge.fillColor ?? ((E = ge.paint) == null ? void 0 : E["fill-color"]) ?? ((
|
|
11533
|
+
ge.color ?? ge.fill ?? ge.stroke ?? ge.lineColor ?? ge.fillColor ?? ((E = ge.paint) == null ? void 0 : E["fill-color"]) ?? ((P = ge.paint) == null ? void 0 : P["line-color"]) ?? ((U = ge.paint) == null ? void 0 : U["circle-color"]) ?? ((H = ge.paint) == null ? void 0 : H.color) ?? ((le = ge.paint) == null ? void 0 : le.lineColor) ?? ((de = ge.paint) == null ? void 0 : de.fillColor) ?? ge.paint ?? ge.value
|
|
11534
11534
|
);
|
|
11535
11535
|
}
|
|
11536
11536
|
return null;
|
|
11537
11537
|
}
|
|
11538
11538
|
function ue(T) {
|
|
11539
|
-
const E = Array.isArray(T == null ? void 0 : T.legend) ? T.legend[0] : T == null ? void 0 : T.legend,
|
|
11540
|
-
return
|
|
11539
|
+
const E = Array.isArray(T == null ? void 0 : T.legend) ? T.legend[0] : T == null ? void 0 : T.legend, P = X(E);
|
|
11540
|
+
return P || X(T == null ? void 0 : T.style) || Oh;
|
|
11541
11541
|
}
|
|
11542
11542
|
function Y(T) {
|
|
11543
11543
|
return {
|
|
@@ -11627,10 +11627,10 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
11627
11627
|
o("div", {
|
|
11628
11628
|
class: Ee(["layers-panel__content", { "layers-panel__content--collapsed": !l.value }])
|
|
11629
11629
|
}, [
|
|
11630
|
-
(c(!0), h(se, null, ye(m.value, (
|
|
11630
|
+
(c(!0), h(se, null, ye(m.value, (P) => {
|
|
11631
11631
|
var U;
|
|
11632
11632
|
return c(), h("div", {
|
|
11633
|
-
key:
|
|
11633
|
+
key: P.id,
|
|
11634
11634
|
class: "layers-panel__item"
|
|
11635
11635
|
}, [
|
|
11636
11636
|
o("label", Mh, [
|
|
@@ -11638,17 +11638,17 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
11638
11638
|
o("input", {
|
|
11639
11639
|
type: "checkbox",
|
|
11640
11640
|
class: "layers-panel__checkbox",
|
|
11641
|
-
checked: L(
|
|
11642
|
-
style: ct(Y(
|
|
11643
|
-
onChange: (H) => z(
|
|
11641
|
+
checked: L(P.id),
|
|
11642
|
+
style: ct(Y(P)),
|
|
11643
|
+
onChange: (H) => z(P, H)
|
|
11644
11644
|
}, null, 44, Th),
|
|
11645
11645
|
o("div", Fh, [
|
|
11646
|
-
o("span", Ih, B(
|
|
11646
|
+
o("span", Ih, B(P.name), 1)
|
|
11647
11647
|
]),
|
|
11648
11648
|
o("div", jh, [
|
|
11649
|
-
L(
|
|
11649
|
+
L(P.id) && !P.isTemporary ? (c(), h(se, { key: 0 }, [
|
|
11650
11650
|
oe(os, {
|
|
11651
|
-
"layer-id":
|
|
11651
|
+
"layer-id": P.id,
|
|
11652
11652
|
class: "flex"
|
|
11653
11653
|
}, {
|
|
11654
11654
|
trigger: Ve(({ toggle: H }) => [
|
|
@@ -11664,24 +11664,24 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
11664
11664
|
_: 1
|
|
11665
11665
|
}, 8, ["layer-id"]),
|
|
11666
11666
|
oe(co, {
|
|
11667
|
-
count: Array.isArray(
|
|
11668
|
-
layer:
|
|
11667
|
+
count: Array.isArray(P.filters) ? P.filters.length : 0,
|
|
11668
|
+
layer: P
|
|
11669
11669
|
}, null, 8, ["count", "layer"])
|
|
11670
11670
|
], 64)) : Q("", !0),
|
|
11671
11671
|
oe(Xo, {
|
|
11672
|
-
items: ne(
|
|
11672
|
+
items: ne(P)
|
|
11673
11673
|
}, null, 8, ["items"])
|
|
11674
11674
|
])
|
|
11675
11675
|
])
|
|
11676
11676
|
]),
|
|
11677
|
-
(U =
|
|
11678
|
-
(c(!0), h(se, null, ye(
|
|
11677
|
+
(U = P.actions) != null && U.length ? (c(), h("div", Rh, [
|
|
11678
|
+
(c(!0), h(se, null, ye(P.actions, (H) => (c(), h("button", {
|
|
11679
11679
|
key: H.widget || H.id || H.icon,
|
|
11680
11680
|
type: "button",
|
|
11681
11681
|
class: "layers-panel__action",
|
|
11682
11682
|
innerHTML: H.icon,
|
|
11683
11683
|
onClick: (le) => d("action", { layerId: H.widget })
|
|
11684
|
-
}, null, 8,
|
|
11684
|
+
}, null, 8, Ph))), 128))
|
|
11685
11685
|
])) : Q("", !0)
|
|
11686
11686
|
]);
|
|
11687
11687
|
}), 128))
|
|
@@ -11714,7 +11714,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
11714
11714
|
top: 0,
|
|
11715
11715
|
left: 0,
|
|
11716
11716
|
layerId: null
|
|
11717
|
-
}), a =
|
|
11717
|
+
}), a = R(() => {
|
|
11718
11718
|
const d = n.search.trim().toLowerCase();
|
|
11719
11719
|
return n.catalog.groups.map((g) => {
|
|
11720
11720
|
const _ = g.layers.filter((M) => {
|
|
@@ -11723,7 +11723,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
11723
11723
|
});
|
|
11724
11724
|
return { ...g, layers: _ };
|
|
11725
11725
|
}).filter((g) => g.layers.length > 0);
|
|
11726
|
-
}), p =
|
|
11726
|
+
}), p = R({
|
|
11727
11727
|
get: () => n.search,
|
|
11728
11728
|
set: (d) => r("update:search", d)
|
|
11729
11729
|
});
|
|
@@ -11883,7 +11883,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
11883
11883
|
}, 1024)
|
|
11884
11884
|
]))), 128))
|
|
11885
11885
|
]),
|
|
11886
|
-
(c(), pe(
|
|
11886
|
+
(c(), pe(Rt, { to: "body" }, [
|
|
11887
11887
|
s.visible ? (c(), h("div", {
|
|
11888
11888
|
key: 0,
|
|
11889
11889
|
class: "filter-badge__hint",
|
|
@@ -11908,7 +11908,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
11908
11908
|
transform: "translateX(-50%)"
|
|
11909
11909
|
}), l = F(null), i = F(null);
|
|
11910
11910
|
let s = null;
|
|
11911
|
-
const a =
|
|
11911
|
+
const a = R(() => {
|
|
11912
11912
|
if (!r.open) return { display: "none" };
|
|
11913
11913
|
const y = Math.min(460, window.innerWidth - 24);
|
|
11914
11914
|
return {
|
|
@@ -11984,7 +11984,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
11984
11984
|
}, [
|
|
11985
11985
|
Ut(y.$slots, "default")
|
|
11986
11986
|
]),
|
|
11987
|
-
(c(), pe(
|
|
11987
|
+
(c(), pe(Rt, { to: "body" }, [
|
|
11988
11988
|
r.open ? (c(), h("div", {
|
|
11989
11989
|
key: 0,
|
|
11990
11990
|
class: "vst-popover__content inline-block z-[103] py-3 px-4 bg-white text-sm text-gray-500 rounded-md shadow-lg bottom absolute min-w-[200px]",
|
|
@@ -12024,7 +12024,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
12024
12024
|
function f(j) {
|
|
12025
12025
|
var D;
|
|
12026
12026
|
for (const T of ((D = n.catalog) == null ? void 0 : D.groups) ?? []) {
|
|
12027
|
-
const E = T.layers.find((
|
|
12027
|
+
const E = T.layers.find((P) => P.id === j);
|
|
12028
12028
|
if (E) return E;
|
|
12029
12029
|
}
|
|
12030
12030
|
return null;
|
|
@@ -12064,9 +12064,9 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
12064
12064
|
function M(j) {
|
|
12065
12065
|
const D = x.get(j);
|
|
12066
12066
|
if (!D || !m.value) return;
|
|
12067
|
-
const T = D.getBoundingClientRect(), E = 12,
|
|
12068
|
-
let Ae = T.bottom + window.scrollY +
|
|
12069
|
-
ze + ge > H && (ze = T.right + window.scrollX - ge, ze < U && (ze = U)), ze < U && (ze = U), Ae + he > de && (Ae = T.top + window.scrollY - he -
|
|
12067
|
+
const T = D.getBoundingClientRect(), E = 12, P = 6, U = window.scrollX + E, H = window.scrollX + window.innerWidth - E, le = window.scrollY + E, de = window.scrollY + window.innerHeight - E, ge = m.value.offsetWidth || 190, he = m.value.offsetHeight || 0;
|
|
12068
|
+
let Ae = T.bottom + window.scrollY + P, ze = T.left + window.scrollX;
|
|
12069
|
+
ze + ge > H && (ze = T.right + window.scrollX - ge, ze < U && (ze = U)), ze < U && (ze = U), Ae + he > de && (Ae = T.top + window.scrollY - he - P, Ae < le && (Ae = Math.max(le, de - he))), Ae < le && (Ae = le), Ae + he > de && (Ae = Math.max(le, de - he)), b.top = Ae, b.left = ze;
|
|
12070
12070
|
}
|
|
12071
12071
|
function L(j) {
|
|
12072
12072
|
const D = Ge(j);
|
|
@@ -12075,13 +12075,13 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
12075
12075
|
function k(j) {
|
|
12076
12076
|
const D = j.target, T = i.value, E = v.value;
|
|
12077
12077
|
if (T) {
|
|
12078
|
-
const
|
|
12079
|
-
if (
|
|
12078
|
+
const P = s.value, U = a.get(T);
|
|
12079
|
+
if (P && P.contains(D) || U && U.contains(D)) return;
|
|
12080
12080
|
i.value = null;
|
|
12081
12081
|
}
|
|
12082
12082
|
if (E) {
|
|
12083
|
-
const
|
|
12084
|
-
if (
|
|
12083
|
+
const P = m.value, U = x.get(E);
|
|
12084
|
+
if (P && P.contains(D) || U && U.contains(D)) return;
|
|
12085
12085
|
v.value = null;
|
|
12086
12086
|
}
|
|
12087
12087
|
}
|
|
@@ -12095,11 +12095,11 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
12095
12095
|
});
|
|
12096
12096
|
const { map: C } = st();
|
|
12097
12097
|
function A(j) {
|
|
12098
|
-
var
|
|
12098
|
+
var P, U, H;
|
|
12099
12099
|
if (!j) return;
|
|
12100
12100
|
const D = Ge(j), T = f(j);
|
|
12101
12101
|
if (!D && !T) return;
|
|
12102
|
-
if (((
|
|
12102
|
+
if (((P = T == null ? void 0 : T.extent) == null ? void 0 : P.length) === 4 && ((U = C.value) != null && U.fitBounds)) {
|
|
12103
12103
|
const le = T.extent.map((de) => Number(de));
|
|
12104
12104
|
if (le.every((de) => Number.isFinite(de))) {
|
|
12105
12105
|
const [de, ge, he, Ae] = le;
|
|
@@ -12140,10 +12140,10 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
12140
12140
|
var Ae, ze, K, fe, w, N;
|
|
12141
12141
|
const D = Ge(j), T = f(j);
|
|
12142
12142
|
if (!D && !T) return [];
|
|
12143
|
-
const E = (T == null ? void 0 : T.name) || ((ze = (Ae = D == null ? void 0 : D.opts) == null ? void 0 : Ae.layer) == null ? void 0 : ze.name) || null,
|
|
12143
|
+
const E = (T == null ? void 0 : T.name) || ((ze = (Ae = D == null ? void 0 : D.opts) == null ? void 0 : Ae.layer) == null ? void 0 : ze.name) || null, P = (T == null ? void 0 : T.service) || ((K = D == null ? void 0 : D.opts) == null ? void 0 : K.service) || null, U = (fe = D == null ? void 0 : D.getSource) == null ? void 0 : fe.call(D), H = U && "tiles" in U ? (w = U.tiles) == null ? void 0 : w[0] : (T == null ? void 0 : T.url) || null, le = (T == null ? void 0 : T.source_path) || null, de = (D == null ? void 0 : D.popup) || (T == null ? void 0 : T.popup), ge = (D == null ? void 0 : D.card) || (T == null ? void 0 : T.card), he = (T == null ? void 0 : T.filters) || ((N = D == null ? void 0 : D.opts) == null ? void 0 : N.filters);
|
|
12144
12144
|
return [
|
|
12145
12145
|
{ label: "Назва", value: ue(E) },
|
|
12146
|
-
{ label: "Сервіс", value: ue(
|
|
12146
|
+
{ label: "Сервіс", value: ue(P) },
|
|
12147
12147
|
{ label: "Посилання", value: ue(H), breakLine: !0 },
|
|
12148
12148
|
{ label: "Джерело", value: ue(le), breakLine: !0 },
|
|
12149
12149
|
{ label: "Popup", value: Y(de, "полів") },
|
|
@@ -12178,7 +12178,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
12178
12178
|
e.selected.length ? (c(), h("div", s1, [
|
|
12179
12179
|
o("div", null, [
|
|
12180
12180
|
(c(!0), h(se, null, ye(e.selected, (T, E) => {
|
|
12181
|
-
var
|
|
12181
|
+
var P;
|
|
12182
12182
|
return c(), h("div", {
|
|
12183
12183
|
key: T,
|
|
12184
12184
|
class: Ee(["selected-tab__item", {
|
|
@@ -12200,7 +12200,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
12200
12200
|
checked: u[T] ?? !0,
|
|
12201
12201
|
onChange: (U) => d(T, U.target.checked)
|
|
12202
12202
|
}, null, 40, c1),
|
|
12203
|
-
o("span", d1, B(((
|
|
12203
|
+
o("span", d1, B(((P = f(T)) == null ? void 0 : P.name) || "Шар"), 1)
|
|
12204
12204
|
]),
|
|
12205
12205
|
o("div", f1, [
|
|
12206
12206
|
oe(os, { "layer-id": T }, null, 8, ["layer-id"]),
|
|
@@ -12246,7 +12246,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
12246
12246
|
}), 128))
|
|
12247
12247
|
])
|
|
12248
12248
|
])) : Q("", !0),
|
|
12249
|
-
(c(), pe(
|
|
12249
|
+
(c(), pe(Rt, { to: "body" }, [
|
|
12250
12250
|
v.value ? (c(), h("div", {
|
|
12251
12251
|
key: 0,
|
|
12252
12252
|
ref_key: "menuEl",
|
|
@@ -12384,10 +12384,10 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
12384
12384
|
},
|
|
12385
12385
|
emits: ["change"],
|
|
12386
12386
|
setup(e, { emit: t }) {
|
|
12387
|
-
const n = ft(() => import("@opengis/filter")), r = e, l = t, i =
|
|
12387
|
+
const n = ft(() => import("@opengis/filter")), r = e, l = t, i = R(() => {
|
|
12388
12388
|
var p;
|
|
12389
12389
|
return ((p = r.layer) == null ? void 0 : p.filters) ?? [];
|
|
12390
|
-
}), s =
|
|
12390
|
+
}), s = R(() => i.value.length > 0);
|
|
12391
12391
|
function a(p) {
|
|
12392
12392
|
l("change", p.data);
|
|
12393
12393
|
}
|
|
@@ -12442,7 +12442,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
12442
12442
|
function d(O, j) {
|
|
12443
12443
|
const D = Ge(O);
|
|
12444
12444
|
if (v[O] = { ...j }, !(D != null && D.setFilter)) return;
|
|
12445
|
-
const T = Object.entries(j).filter(([, E]) => E != null && E !== "").map(([E,
|
|
12445
|
+
const T = Object.entries(j).filter(([, E]) => E != null && E !== "").map(([E, P]) => `${E}=${P}`);
|
|
12446
12446
|
D.setFilter(T.join("|"));
|
|
12447
12447
|
}
|
|
12448
12448
|
function g(O) {
|
|
@@ -12484,9 +12484,9 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
12484
12484
|
if (!T) return;
|
|
12485
12485
|
const E = _(T);
|
|
12486
12486
|
if (!E) return;
|
|
12487
|
-
const
|
|
12488
|
-
if (
|
|
12489
|
-
if (
|
|
12487
|
+
const P = Ge(T.id, E, p);
|
|
12488
|
+
if (P)
|
|
12489
|
+
if (P.setVisible(j), j) {
|
|
12490
12490
|
if (!s.value.includes(O) && (s.value.push(O), (U = p.value) != null && U.getLayer(O)))
|
|
12491
12491
|
try {
|
|
12492
12492
|
p.value.moveLayer(O);
|
|
@@ -12508,12 +12508,12 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
12508
12508
|
if (!p.value) return;
|
|
12509
12509
|
const j = ((E = p.value.getStyle()) == null ? void 0 : E.layers) ?? [];
|
|
12510
12510
|
let D;
|
|
12511
|
-
const T = (
|
|
12511
|
+
const T = (P) => j.filter((U) => {
|
|
12512
12512
|
var H, le;
|
|
12513
|
-
return (U == null ? void 0 : U.source) ===
|
|
12513
|
+
return (U == null ? void 0 : U.source) === P || (U == null ? void 0 : U.id) === P || ((le = (H = U == null ? void 0 : U.id) == null ? void 0 : H.startsWith) == null ? void 0 : le.call(H, `${P}`));
|
|
12514
12514
|
}).map((U) => U.id);
|
|
12515
|
-
for (let
|
|
12516
|
-
const U = O[
|
|
12515
|
+
for (let P = O.length - 1; P >= 0; P -= 1) {
|
|
12516
|
+
const U = O[P], H = T(U);
|
|
12517
12517
|
H.length && (H.forEach((le) => {
|
|
12518
12518
|
var de;
|
|
12519
12519
|
if ((de = p.value) != null && de.getLayer(le))
|
|
@@ -12532,31 +12532,31 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
12532
12532
|
function C() {
|
|
12533
12533
|
l.value = "catalog";
|
|
12534
12534
|
}
|
|
12535
|
-
const A =
|
|
12535
|
+
const A = R(() => b.value ? u(b.value) : null), z = R(() => {
|
|
12536
12536
|
const O = b.value;
|
|
12537
12537
|
return O ? v[O] ?? {} : {};
|
|
12538
|
-
}), V =
|
|
12538
|
+
}), V = R(() => i.value.groups.reduce(
|
|
12539
12539
|
(O, j) => O + j.layers.filter(f).length,
|
|
12540
12540
|
0
|
|
12541
|
-
)), J =
|
|
12541
|
+
)), J = R(() => l.value === "selected" ? "Вибрані шари" : l.value === "filter" ? "Фільтр шарів" : "Каталог"), ne = R(() => l.value === "selected" ? s.value.length : l.value === "catalog" ? V.value : null), ie = R(() => {
|
|
12542
12542
|
var O;
|
|
12543
12543
|
return l.value === "filter" ? ((O = A.value) == null ? void 0 : O.name) ?? "" : "";
|
|
12544
12544
|
});
|
|
12545
12545
|
async function X() {
|
|
12546
12546
|
const j = await (await fetch("/api/gis-layer-list")).json(), D = /* @__PURE__ */ new Map();
|
|
12547
|
-
j.forEach((
|
|
12548
|
-
const U =
|
|
12547
|
+
j.forEach((P) => {
|
|
12548
|
+
const U = P.group_id ?? "other";
|
|
12549
12549
|
D.has(U) || D.set(U, {
|
|
12550
12550
|
id: U,
|
|
12551
|
-
name:
|
|
12551
|
+
name: P.group_name || "Інші шари",
|
|
12552
12552
|
layers: []
|
|
12553
|
-
}), D.get(U).layers.push(
|
|
12553
|
+
}), D.get(U).layers.push(P);
|
|
12554
12554
|
}), i.value = { groups: Array.from(D.values()) };
|
|
12555
12555
|
const T = t.query.layers;
|
|
12556
12556
|
if (!T) return;
|
|
12557
12557
|
const E = Array.isArray(T) ? T[0] : T;
|
|
12558
|
-
typeof E == "string" && E.split(",").forEach((
|
|
12559
|
-
const U =
|
|
12558
|
+
typeof E == "string" && E.split(",").forEach((P) => {
|
|
12559
|
+
const U = P.trim();
|
|
12560
12560
|
if (!U) return;
|
|
12561
12561
|
const H = u(U);
|
|
12562
12562
|
H && M(U, !0, H);
|
|
@@ -12696,10 +12696,10 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
12696
12696
|
}), qr = /* @__PURE__ */ Fe(I1, [["__scopeId", "data-v-5f0baf27"]]), j1 = {
|
|
12697
12697
|
key: 1,
|
|
12698
12698
|
class: "flex flex-col bg-white border border-stone-200 shadow-2xs rounded-xl z-10 relative widget"
|
|
12699
|
-
}, z1 = { class: "flex items-start justify-between gap-3 p-5 pb-3" }, N1 = { class: "inline-block text-xl font-semibold text-gray-800" },
|
|
12699
|
+
}, z1 = { class: "flex items-start justify-between gap-3 p-5 pb-3" }, N1 = { class: "inline-block text-xl font-semibold text-gray-800" }, R1 = {
|
|
12700
12700
|
key: 0,
|
|
12701
12701
|
class: "mt-1 text-sm text-gray-500"
|
|
12702
|
-
},
|
|
12702
|
+
}, P1 = { class: "flex items-center gap-[6px]" }, O1 = { class: "px-5 pb-5 space-y-6" }, D1 = {
|
|
12703
12703
|
key: 0,
|
|
12704
12704
|
class: "space-y-2"
|
|
12705
12705
|
}, V1 = { class: "flex flex-wrap gap-4" }, B1 = ["value"], U1 = {
|
|
@@ -12718,13 +12718,13 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
12718
12718
|
function u(Y) {
|
|
12719
12719
|
return Y && JSON.parse(JSON.stringify(Y));
|
|
12720
12720
|
}
|
|
12721
|
-
const f =
|
|
12721
|
+
const f = R(() => {
|
|
12722
12722
|
const Y = n.config.layer;
|
|
12723
12723
|
if (typeof Y != "string") throw new Error("MapAttributeWidget: `layer` must be a string");
|
|
12724
12724
|
const O = Y.trim();
|
|
12725
12725
|
if (!O) throw new Error("MapAttributeWidget: `layer` must be non-empty");
|
|
12726
12726
|
return O;
|
|
12727
|
-
}), y =
|
|
12727
|
+
}), y = R(() => {
|
|
12728
12728
|
const { list: Y, attribute: O } = n.config;
|
|
12729
12729
|
if (Array.isArray(Y) && Y.length)
|
|
12730
12730
|
return Y.map((j) => ({
|
|
@@ -12739,7 +12739,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
12739
12739
|
return [{ id: j, text: null }];
|
|
12740
12740
|
}
|
|
12741
12741
|
throw new Error("MapAttributeWidget: `attribute` or `list` must be provided");
|
|
12742
|
-
}), d =
|
|
12742
|
+
}), d = R(() => y.value.map((Y) => ({
|
|
12743
12743
|
id: Y.id,
|
|
12744
12744
|
label: Y.text || m.value[Y.id] || Y.id
|
|
12745
12745
|
})));
|
|
@@ -12754,7 +12754,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
12754
12754
|
},
|
|
12755
12755
|
{ immediate: !0 }
|
|
12756
12756
|
);
|
|
12757
|
-
const g =
|
|
12757
|
+
const g = R(() => {
|
|
12758
12758
|
var Y;
|
|
12759
12759
|
return x.value || ((Y = y.value[0]) == null ? void 0 : Y.id) || null;
|
|
12760
12760
|
});
|
|
@@ -12762,14 +12762,14 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
12762
12762
|
var Y, O;
|
|
12763
12763
|
(O = (Y = a.value) == null ? void 0 : Y.remove) == null || O.call(Y), a.value = null, p.value = null, v.value = null, b.value = null, m.value = {};
|
|
12764
12764
|
});
|
|
12765
|
-
const _ =
|
|
12765
|
+
const _ = R(() => {
|
|
12766
12766
|
var Y;
|
|
12767
12767
|
return (Y = v.value) != null && Y.length ? {
|
|
12768
12768
|
id: f.value,
|
|
12769
12769
|
name: p.value,
|
|
12770
12770
|
filters: v.value
|
|
12771
12771
|
} : null;
|
|
12772
|
-
}), M =
|
|
12772
|
+
}), M = R(() => {
|
|
12773
12773
|
var Y, O;
|
|
12774
12774
|
return ((O = (Y = _.value) == null ? void 0 : Y.filters) == null ? void 0 : O.length) || 0;
|
|
12775
12775
|
});
|
|
@@ -12787,8 +12787,8 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
12787
12787
|
}
|
|
12788
12788
|
const j = await O.json();
|
|
12789
12789
|
return p.value = (j == null ? void 0 : j.name) || null, v.value = Array.isArray(j == null ? void 0 : j.filters) ? j.filters : null, b.value = u((j == null ? void 0 : j.style) || {}), m.value = ((j == null ? void 0 : j.attributes) || []).reduce((T, E) => {
|
|
12790
|
-
const
|
|
12791
|
-
return
|
|
12790
|
+
const P = typeof (E == null ? void 0 : E.name) == "string" ? E.name.trim() : "", U = typeof (E == null ? void 0 : E.ua) == "string" ? E.ua.trim() : "";
|
|
12791
|
+
return P && (T[P] = U || P), T;
|
|
12792
12792
|
}, {}), j;
|
|
12793
12793
|
}
|
|
12794
12794
|
function k(Y, O) {
|
|
@@ -12820,8 +12820,8 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
12820
12820
|
if (!D.ok) {
|
|
12821
12821
|
let E = "Не вдалося отримати статистику";
|
|
12822
12822
|
try {
|
|
12823
|
-
const
|
|
12824
|
-
E = ((T =
|
|
12823
|
+
const P = await D.json();
|
|
12824
|
+
E = ((T = P == null ? void 0 : P.message) == null ? void 0 : T.error) || (P == null ? void 0 : P.message) || E;
|
|
12825
12825
|
} catch {
|
|
12826
12826
|
}
|
|
12827
12827
|
throw new Error(E);
|
|
@@ -12850,20 +12850,20 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
12850
12850
|
if (!Y) return;
|
|
12851
12851
|
const T = u((O == null ? void 0 : O.style) || b.value) || {}, E = D.trim();
|
|
12852
12852
|
if (!E) return;
|
|
12853
|
-
const
|
|
12853
|
+
const P = { ...T.colors || {}, ...n.config.colors || {} };
|
|
12854
12854
|
E === D && j.forEach((U) => {
|
|
12855
|
-
U.color.trim() && (
|
|
12855
|
+
U.color.trim() && (P[U.id] = U.color);
|
|
12856
12856
|
}), Y.setStyle({
|
|
12857
12857
|
...T,
|
|
12858
12858
|
type: T.type || "polygon",
|
|
12859
12859
|
colorAttr: E,
|
|
12860
12860
|
opacity: 0.8,
|
|
12861
|
-
colors:
|
|
12861
|
+
colors: P
|
|
12862
12862
|
// rules: Object.entries(colors).map(([value, color]) => ({ value, color })),
|
|
12863
12863
|
});
|
|
12864
12864
|
}
|
|
12865
12865
|
async function J() {
|
|
12866
|
-
var E,
|
|
12866
|
+
var E, P;
|
|
12867
12867
|
i.value = [], s.value = null;
|
|
12868
12868
|
const Y = f.value, O = g.value;
|
|
12869
12869
|
if (!O)
|
|
@@ -12882,7 +12882,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
12882
12882
|
color: Ae
|
|
12883
12883
|
};
|
|
12884
12884
|
}).filter(Boolean) : [];
|
|
12885
|
-
i.value = T, s.value = ((E = D == null ? void 0 : D.field) == null ? void 0 : E.label) || ((
|
|
12885
|
+
i.value = T, s.value = ((E = D == null ? void 0 : D.field) == null ? void 0 : E.label) || ((P = D == null ? void 0 : D.field) == null ? void 0 : P.name) || null, V(a.value, j, T, O), l.value = !1;
|
|
12886
12886
|
}
|
|
12887
12887
|
re(
|
|
12888
12888
|
() => [f.value, g.value],
|
|
@@ -12891,7 +12891,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
12891
12891
|
},
|
|
12892
12892
|
{ immediate: !0 }
|
|
12893
12893
|
);
|
|
12894
|
-
const ne =
|
|
12894
|
+
const ne = R(() => "Набори даних"), ie = R(() => i.value.reduce((Y, O) => Y + O.count, 0)), X = R(() => {
|
|
12895
12895
|
var j;
|
|
12896
12896
|
const Y = g.value;
|
|
12897
12897
|
return ((j = d.value.find((D) => D.id === Y)) == null ? void 0 : j.label) || null || s.value || Y || null;
|
|
@@ -12906,9 +12906,9 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
12906
12906
|
o("div", z1, [
|
|
12907
12907
|
o("div", null, [
|
|
12908
12908
|
o("h2", N1, B(ne.value), 1),
|
|
12909
|
-
X.value && d.value.length === 1 ? (c(), h("p",
|
|
12909
|
+
X.value && d.value.length === 1 ? (c(), h("p", R1, B(X.value), 1)) : Q("", !0)
|
|
12910
12910
|
]),
|
|
12911
|
-
o("div",
|
|
12911
|
+
o("div", P1, [
|
|
12912
12912
|
_.value ? (c(), pe(co, {
|
|
12913
12913
|
key: 0,
|
|
12914
12914
|
class: "flex justify-center items-center h-[36px] w-[36px] text-sm border border-gray-200 text-gray-600 hover:bg-gray-100 rounded-full",
|
|
@@ -13015,8 +13015,8 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
13015
13015
|
pointerEvents: "none",
|
|
13016
13016
|
zIndex: "9999"
|
|
13017
13017
|
}), document.body.appendChild(Z);
|
|
13018
|
-
const
|
|
13019
|
-
Z.style.left = `${
|
|
13018
|
+
const Re = q.getBoundingClientRect();
|
|
13019
|
+
Z.style.left = `${Re.right + window.scrollX + we}px`, Z.style.top = `${Re.top + window.scrollY + (Re.height - Z.offsetHeight) / 2}px`;
|
|
13020
13020
|
}, Ie = () => {
|
|
13021
13021
|
Z != null && Z.parentNode && Z.parentNode.removeChild(Z), Z = null;
|
|
13022
13022
|
};
|
|
@@ -13045,28 +13045,28 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
13045
13045
|
const Z = i(), we = (De = Z == null ? void 0 : Z.map) == null ? void 0 : De.addressSuggest;
|
|
13046
13046
|
if (typeof we == "string" && we.trim()) return we.trim();
|
|
13047
13047
|
}
|
|
13048
|
-
const p = !!a(), v = !!s(), b =
|
|
13048
|
+
const p = !!a(), v = !!s(), b = R(() => {
|
|
13049
13049
|
const q = ["xy", "parcel"];
|
|
13050
13050
|
return p && q.push("address"), v && q.push("nominatim"), q;
|
|
13051
|
-
}), m =
|
|
13051
|
+
}), m = R(() => {
|
|
13052
13052
|
var Z, we;
|
|
13053
13053
|
const q = b.value, ee = (we = (Z = n.config) == null ? void 0 : Z.tools) == null ? void 0 : we.filter(($e) => q.includes($e));
|
|
13054
13054
|
return ee && ee.length ? ee : q;
|
|
13055
|
-
}), x =
|
|
13055
|
+
}), x = R(() => {
|
|
13056
13056
|
var q, ee;
|
|
13057
13057
|
return ((ee = (q = n.config) == null ? void 0 : q.placeholder) == null ? void 0 : ee.trim()) || "Пошук…";
|
|
13058
13058
|
}), u = F(m.value[0]);
|
|
13059
13059
|
re(m, (q) => {
|
|
13060
13060
|
q.includes(u.value) || (u.value = q[0]);
|
|
13061
13061
|
});
|
|
13062
|
-
const f = F(""), y = F(!1), d = F(null), g = F(null), _ = F(null), M = F(null), L = F([]), k = F(null), $ = F(!1), C = F([]), A =
|
|
13062
|
+
const f = F(""), y = F(!1), d = F(null), g = F(null), _ = F(null), M = F(null), L = F([]), k = F(null), $ = F(!1), C = F([]), A = R(
|
|
13063
13063
|
() => (u.value === "address" || u.value === "nominatim") && $.value
|
|
13064
|
-
), z =
|
|
13064
|
+
), z = R(() => {
|
|
13065
13065
|
var q;
|
|
13066
13066
|
return ((q = n.config) == null ? void 0 : q.addressDebounceMs) ?? 1e3;
|
|
13067
13067
|
});
|
|
13068
13068
|
let V = null;
|
|
13069
|
-
const J = F(!1), ne =
|
|
13069
|
+
const J = F(!1), ne = R(() => f.value.trim().length > 0 ? L.value : C.value), ie = R(() => f.value.trim().length ? `Знайдено ${L.value.length}` : "Історія пошуку"), X = R(() => f.value.trim().length ? "Нічого не знайдено" : "Історія порожня");
|
|
13070
13070
|
function ue() {
|
|
13071
13071
|
var q, ee;
|
|
13072
13072
|
if (typeof window > "u") return [];
|
|
@@ -13097,7 +13097,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
13097
13097
|
q && (q.getLayer(zn) && q.removeLayer(zn), q.getLayer(Xn) && q.removeLayer(Xn), q.getSource(jn) && q.removeSource(jn));
|
|
13098
13098
|
}
|
|
13099
13099
|
function E(q) {
|
|
13100
|
-
var $e, Ie, De,
|
|
13100
|
+
var $e, Ie, De, Re;
|
|
13101
13101
|
if (!(($e = n.config) != null && $e.showMarker) || !q) return;
|
|
13102
13102
|
const ee = (Ie = r.map) == null ? void 0 : Ie.value;
|
|
13103
13103
|
if (!ee) return;
|
|
@@ -13111,7 +13111,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
13111
13111
|
type: "geojson",
|
|
13112
13112
|
data: Z
|
|
13113
13113
|
});
|
|
13114
|
-
const we = ((De = n.config) == null ? void 0 : De.geometryColor) || ((
|
|
13114
|
+
const we = ((De = n.config) == null ? void 0 : De.geometryColor) || ((Re = n.config) == null ? void 0 : Re.markerColor) || "#3B82F6";
|
|
13115
13115
|
ee.addLayer({
|
|
13116
13116
|
id: zn,
|
|
13117
13117
|
type: "fill",
|
|
@@ -13131,18 +13131,18 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
13131
13131
|
}
|
|
13132
13132
|
}), H(ee);
|
|
13133
13133
|
}
|
|
13134
|
-
let
|
|
13134
|
+
let P = null;
|
|
13135
13135
|
function U() {
|
|
13136
|
-
|
|
13136
|
+
P && (cancelAnimationFrame(P), P = null);
|
|
13137
13137
|
}
|
|
13138
13138
|
function H(q) {
|
|
13139
13139
|
const Z = performance.now();
|
|
13140
13140
|
function we($e) {
|
|
13141
13141
|
if (!q.getLayer(zn)) return;
|
|
13142
|
-
const De = ($e - Z) % 1200 / 1200,
|
|
13143
|
-
q.setPaintProperty(zn, "fill-opacity", kt), q.setPaintProperty(Xn, "line-width", W),
|
|
13142
|
+
const De = ($e - Z) % 1200 / 1200, Re = Math.sin(De * Math.PI), kt = 0.2 + Re * 0.3, W = 1 + Re * 1;
|
|
13143
|
+
q.setPaintProperty(zn, "fill-opacity", kt), q.setPaintProperty(Xn, "line-width", W), P = requestAnimationFrame(we);
|
|
13144
13144
|
}
|
|
13145
|
-
|
|
13145
|
+
P = requestAnimationFrame(we);
|
|
13146
13146
|
}
|
|
13147
13147
|
function le(q, ee) {
|
|
13148
13148
|
var $e, Ie, De;
|
|
@@ -13258,14 +13258,14 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
13258
13258
|
if (Z.length < 2) return null;
|
|
13259
13259
|
const we = Z.slice(0, 2).map(Number);
|
|
13260
13260
|
if (!we.every((ce) => Number.isFinite(ce))) return null;
|
|
13261
|
-
let [$e, Ie] = we, De = $e,
|
|
13261
|
+
let [$e, Ie] = we, De = $e, Re = Ie;
|
|
13262
13262
|
const kt = (ce) => Math.abs(ce) <= 90, W = (ce) => Math.abs(ce) <= 180;
|
|
13263
|
-
if (!kt(De) || !W(
|
|
13264
|
-
if (kt(
|
|
13265
|
-
De = Ie,
|
|
13263
|
+
if (!kt(De) || !W(Re))
|
|
13264
|
+
if (kt(Re) && W(De))
|
|
13265
|
+
De = Ie, Re = $e;
|
|
13266
13266
|
else
|
|
13267
13267
|
return null;
|
|
13268
|
-
return { lat: De, lng:
|
|
13268
|
+
return { lat: De, lng: Re };
|
|
13269
13269
|
}
|
|
13270
13270
|
function be(q) {
|
|
13271
13271
|
return ((q == null ? void 0 : q.items) || []).map((Z, we) => {
|
|
@@ -13278,7 +13278,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
13278
13278
|
};
|
|
13279
13279
|
});
|
|
13280
13280
|
}
|
|
13281
|
-
function
|
|
13281
|
+
function Pe(q) {
|
|
13282
13282
|
const ee = (q == null ? void 0 : q.result) || (q == null ? void 0 : q.data) || q;
|
|
13283
13283
|
if (!ee) return [];
|
|
13284
13284
|
const Z = ee.geom_centroid;
|
|
@@ -13299,8 +13299,8 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
13299
13299
|
var ce, Te, Ke;
|
|
13300
13300
|
const $e = (ce = Z == null ? void 0 : Z.geometry) == null ? void 0 : ce.coordinates, Ie = Number($e == null ? void 0 : $e[0]), De = Number($e == null ? void 0 : $e[1]);
|
|
13301
13301
|
if (!Number.isFinite(De) || !Number.isFinite(Ie)) return null;
|
|
13302
|
-
const
|
|
13303
|
-
return { id: String(((Ke =
|
|
13302
|
+
const Re = (Z == null ? void 0 : Z.properties) || {}, kt = ((Te = Re == null ? void 0 : Re.geocoding) == null ? void 0 : Te.label) || (Re == null ? void 0 : Re.display_name) || (Re == null ? void 0 : Re.label) || "Адреса";
|
|
13303
|
+
return { id: String(((Ke = Re == null ? void 0 : Re.geocoding) == null ? void 0 : Ke.place_id) || (Re == null ? void 0 : Re.place_id) || we), title: kt, lat: De, lng: Ie };
|
|
13304
13304
|
}).filter((Z) => !!Z);
|
|
13305
13305
|
}
|
|
13306
13306
|
function ot(q) {
|
|
@@ -13311,11 +13311,11 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
13311
13311
|
return Number.isFinite(ee) ? ee : null;
|
|
13312
13312
|
}
|
|
13313
13313
|
function _t(q) {
|
|
13314
|
-
var $e, Ie, De,
|
|
13314
|
+
var $e, Ie, De, Re, kt, W;
|
|
13315
13315
|
const ee = et(q.lng) ?? et(q.lon) ?? et(q.longitude) ?? et(q.x), Z = et(q.lat) ?? et(q.latitude) ?? et(q.y);
|
|
13316
13316
|
if (ee != null && Z != null)
|
|
13317
13317
|
return { lat: Z, lng: ee };
|
|
13318
|
-
const we = (($e = q == null ? void 0 : q.geometry) == null ? void 0 : $e.coordinates) ?? ((Ie = q == null ? void 0 : q.geom_centroid) == null ? void 0 : Ie.coordinates) ?? ((De = q == null ? void 0 : q.centroid) == null ? void 0 : De.coordinates) ?? ((kt = (
|
|
13318
|
+
const we = (($e = q == null ? void 0 : q.geometry) == null ? void 0 : $e.coordinates) ?? ((Ie = q == null ? void 0 : q.geom_centroid) == null ? void 0 : Ie.coordinates) ?? ((De = q == null ? void 0 : q.centroid) == null ? void 0 : De.coordinates) ?? ((kt = (Re = q == null ? void 0 : q.geojson) == null ? void 0 : Re.geometry) == null ? void 0 : kt.coordinates) ?? ((W = q == null ? void 0 : q.geom) == null ? void 0 : W.coordinates);
|
|
13319
13319
|
if (Array.isArray(we) && we.length >= 2) {
|
|
13320
13320
|
const ce = et(we[0]), Te = et(we[1]);
|
|
13321
13321
|
if (ce != null && Te != null) return { lat: Te, lng: ce };
|
|
@@ -13448,7 +13448,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
13448
13448
|
}
|
|
13449
13449
|
const Z = await fetch(ee.toString());
|
|
13450
13450
|
if (!Z.ok) throw new Error(`HTTP ${Z.status}`);
|
|
13451
|
-
const we = await Z.json(), $e = u.value === "here" ? be(we) :
|
|
13451
|
+
const we = await Z.json(), $e = u.value === "here" ? be(we) : Pe(we);
|
|
13452
13452
|
if (!$e.length)
|
|
13453
13453
|
je({ type: "warning", title: "Пошук", message: "Не знайдено результатів" });
|
|
13454
13454
|
else {
|
|
@@ -13590,7 +13590,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
13590
13590
|
])
|
|
13591
13591
|
], -1))
|
|
13592
13592
|
]),
|
|
13593
|
-
A.value ? (c(), pe(
|
|
13593
|
+
A.value ? (c(), pe(Rt, {
|
|
13594
13594
|
key: 2,
|
|
13595
13595
|
to: "body"
|
|
13596
13596
|
}, [
|
|
@@ -13817,7 +13817,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
13817
13817
|
function p(C, A) {
|
|
13818
13818
|
return typeof C == "number" && Number.isFinite(C) ? C : A;
|
|
13819
13819
|
}
|
|
13820
|
-
const v =
|
|
13820
|
+
const v = R(() => {
|
|
13821
13821
|
var J, ne;
|
|
13822
13822
|
const C = (J = t.options) == null ? void 0 : J.width, A = (ne = t.options) == null ? void 0 : ne.height, z = p(t.width ?? C, 210), V = p(t.height ?? A, 150);
|
|
13823
13823
|
return {
|
|
@@ -14118,7 +14118,7 @@ const cy = /* @__PURE__ */ Fe(iy, [["render", uy]]), dy = { class: "flex flex-co
|
|
|
14118
14118
|
class: "w-full px-2 py-1.5 bg-rose-500 hover:bg-rose-600 text-white text-xs font-medium rounded transition-colors duration-150 flex items-center justify-center gap-1",
|
|
14119
14119
|
onClick: n[0] || (n[0] = (r) => t.$emit("click"))
|
|
14120
14120
|
}, [
|
|
14121
|
-
oe(ae(
|
|
14121
|
+
oe(ae(Ro), {
|
|
14122
14122
|
size: 12,
|
|
14123
14123
|
"stroke-width": 2
|
|
14124
14124
|
}),
|
|
@@ -14156,7 +14156,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
14156
14156
|
}, Nx = {
|
|
14157
14157
|
key: 1,
|
|
14158
14158
|
class: "flex-1 font-mono text-gray-700"
|
|
14159
|
-
},
|
|
14159
|
+
}, Rx = /* @__PURE__ */ ve({
|
|
14160
14160
|
__name: "DotListItem",
|
|
14161
14161
|
props: {
|
|
14162
14162
|
id: {},
|
|
@@ -14165,7 +14165,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
14165
14165
|
},
|
|
14166
14166
|
emits: ["update", "delete"],
|
|
14167
14167
|
setup(e, { emit: t }) {
|
|
14168
|
-
const n = e, r = t, l =
|
|
14168
|
+
const n = e, r = t, l = R(
|
|
14169
14169
|
() => `${n.coords.lat.toFixed(4)}°, ${n.coords.lng.toFixed(4)}°`
|
|
14170
14170
|
), i = F(!1), s = F(n.coords.lat), a = F(n.coords.lng);
|
|
14171
14171
|
re(
|
|
@@ -14243,7 +14243,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
14243
14243
|
}, " ✕ ")
|
|
14244
14244
|
]));
|
|
14245
14245
|
}
|
|
14246
|
-
}),
|
|
14246
|
+
}), Px = { class: "ruler-control px-3 py-2.5 space-y-2" }, Ox = {
|
|
14247
14247
|
type: "button",
|
|
14248
14248
|
class: "ruler-row w-full flex items-center gap-2 cursor-pointer group text-left"
|
|
14249
14249
|
}, Dx = {
|
|
@@ -14297,7 +14297,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
14297
14297
|
k * k + Math.cos(M) * Math.cos(L) * $ * $
|
|
14298
14298
|
)
|
|
14299
14299
|
));
|
|
14300
|
-
}, a =
|
|
14300
|
+
}, a = R(() => {
|
|
14301
14301
|
if (t.points.length < 2) return 0;
|
|
14302
14302
|
let f = 0;
|
|
14303
14303
|
for (let y = 1; y < t.points.length; y += 1)
|
|
@@ -14306,7 +14306,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
14306
14306
|
t.points[t.points.length - 1].coords,
|
|
14307
14307
|
t.points[0].coords
|
|
14308
14308
|
)), f;
|
|
14309
|
-
}), p =
|
|
14309
|
+
}), p = R(() => a.value >= 1e3 ? `${on(a.value / 1e3)} км` : `${on(a.value)} м`);
|
|
14310
14310
|
function v(f) {
|
|
14311
14311
|
if (f.length < 3) return 0;
|
|
14312
14312
|
const y = f[0].lat, d = f[0].lng, g = (M, L) => {
|
|
@@ -14320,11 +14320,11 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
14320
14320
|
}
|
|
14321
14321
|
return Math.abs(_) * 0.5;
|
|
14322
14322
|
}
|
|
14323
|
-
const b =
|
|
14323
|
+
const b = R(() => {
|
|
14324
14324
|
if (!t.isShapeClosed || t.points.length < 3) return 0;
|
|
14325
14325
|
const f = t.points.map((y) => y.coords);
|
|
14326
14326
|
return v(f);
|
|
14327
|
-
}), m =
|
|
14327
|
+
}), m = R(() => b.value > 0), x = R(() => {
|
|
14328
14328
|
const f = b.value;
|
|
14329
14329
|
if (f === 0) return "—";
|
|
14330
14330
|
if (r.value === "km2") {
|
|
@@ -14337,7 +14337,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
14337
14337
|
}
|
|
14338
14338
|
const y = f >= 1 ? Math.round(f) : f;
|
|
14339
14339
|
return `${on(y)} м²`;
|
|
14340
|
-
}), u =
|
|
14340
|
+
}), u = R(() => {
|
|
14341
14341
|
const f = t.points.length;
|
|
14342
14342
|
return f === 1 ? "1 точка" : f >= 2 && f <= 4 ? `${f} точки` : `${f} точок`;
|
|
14343
14343
|
});
|
|
@@ -14346,7 +14346,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
14346
14346
|
() => {
|
|
14347
14347
|
t.points.length === 0 && (n.value = !1);
|
|
14348
14348
|
}
|
|
14349
|
-
), (f, y) => (c(), h("div",
|
|
14349
|
+
), (f, y) => (c(), h("div", Px, [
|
|
14350
14350
|
o("button", Ox, [
|
|
14351
14351
|
o("span", Dx, [
|
|
14352
14352
|
oe(ae(Jn), {
|
|
@@ -14399,7 +14399,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
14399
14399
|
}, " Координати ")
|
|
14400
14400
|
]),
|
|
14401
14401
|
n.value ? (c(), h("div", Jx, [
|
|
14402
|
-
(c(!0), h(se, null, ye(e.points, (d, g) => (c(), pe(
|
|
14402
|
+
(c(!0), h(se, null, ye(e.points, (d, g) => (c(), pe(Rx, {
|
|
14403
14403
|
key: d.id,
|
|
14404
14404
|
id: d.id,
|
|
14405
14405
|
index: g + 1,
|
|
@@ -14446,7 +14446,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
14446
14446
|
function r(i) {
|
|
14447
14447
|
return rs(i);
|
|
14448
14448
|
}
|
|
14449
|
-
const l =
|
|
14449
|
+
const l = R(() => {
|
|
14450
14450
|
const i = [], s = t.points;
|
|
14451
14451
|
if (s.length < 2) return i;
|
|
14452
14452
|
for (let a = 0; a < s.length; a++) {
|
|
@@ -14492,14 +14492,14 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
14492
14492
|
"shape-closed-change"
|
|
14493
14493
|
],
|
|
14494
14494
|
setup(e, { expose: t, emit: n }) {
|
|
14495
|
-
const r = n, l = F([]), i =
|
|
14495
|
+
const r = n, l = F([]), i = R(() => l.value.length > 0), s = F(!1), a = F(!1), p = F("general");
|
|
14496
14496
|
function v(J) {
|
|
14497
14497
|
p.value = J, r("tab-change", J);
|
|
14498
14498
|
}
|
|
14499
14499
|
He(() => {
|
|
14500
14500
|
r("tab-change", p.value);
|
|
14501
14501
|
});
|
|
14502
|
-
const b =
|
|
14502
|
+
const b = R(
|
|
14503
14503
|
() => l.value.length >= 3 && !a.value
|
|
14504
14504
|
);
|
|
14505
14505
|
let m = 1;
|
|
@@ -14964,7 +14964,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
14964
14964
|
class: "flex-1 flex items-center justify-center gap-1.5 px-2 py-2 text-xs font-medium rounded-lg bg-red-50 text-red-600 hover:bg-red-100 hover:text-red-700 transition-colors",
|
|
14965
14965
|
onClick: u
|
|
14966
14966
|
}, [
|
|
14967
|
-
oe(ae(
|
|
14967
|
+
oe(ae(Ro), {
|
|
14968
14968
|
size: 14,
|
|
14969
14969
|
"stroke-width": 2
|
|
14970
14970
|
}),
|
|
@@ -14998,7 +14998,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
14998
14998
|
])
|
|
14999
14999
|
]));
|
|
15000
15000
|
}
|
|
15001
|
-
}), Nb = /* @__PURE__ */ Fe(zb, [["__scopeId", "data-v-4cee5a30"]]),
|
|
15001
|
+
}), Nb = /* @__PURE__ */ Fe(zb, [["__scopeId", "data-v-4cee5a30"]]), Rb = /* @__PURE__ */ ve({
|
|
15002
15002
|
name: "DrawingCanvas",
|
|
15003
15003
|
__name: "DrawingCanvas",
|
|
15004
15004
|
props: {
|
|
@@ -15007,7 +15007,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
15007
15007
|
strokeWidth: { default: 3 }
|
|
15008
15008
|
},
|
|
15009
15009
|
setup(e, { expose: t }) {
|
|
15010
|
-
const n = F(null), r = F(null), l = F(null), i = F({ x: 0, y: 0 }), s = F(!1), a = e, p =
|
|
15010
|
+
const n = F(null), r = F(null), l = F(null), i = F({ x: 0, y: 0 }), s = F(!1), a = e, p = R(() => Math.max(a.strokeWidth * 3, 12)), v = R(() => {
|
|
15011
15011
|
const E = p.value * 2;
|
|
15012
15012
|
return {
|
|
15013
15013
|
width: `${E}px`,
|
|
@@ -15020,7 +15020,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
15020
15020
|
}), { ready: b } = st(), m = F(!1), x = F([]), u = F([]);
|
|
15021
15021
|
let f = 0, y = 0, d = 0, g = 0, _ = null;
|
|
15022
15022
|
function M() {
|
|
15023
|
-
const E = r.value,
|
|
15023
|
+
const E = r.value, P = l.value, U = n.value;
|
|
15024
15024
|
if (!E || !U) return;
|
|
15025
15025
|
const H = U.parentElement;
|
|
15026
15026
|
if (!H) return;
|
|
@@ -15029,16 +15029,16 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
15029
15029
|
const ge = window.devicePixelRatio || 1;
|
|
15030
15030
|
E.width = le * ge, E.height = de * ge, E.style.width = `${le}px`, E.style.height = `${de}px`;
|
|
15031
15031
|
const he = E.getContext("2d");
|
|
15032
|
-
if (he && he.scale(ge, ge),
|
|
15033
|
-
|
|
15034
|
-
const Ae =
|
|
15032
|
+
if (he && he.scale(ge, ge), P) {
|
|
15033
|
+
P.width = le * ge, P.height = de * ge, P.style.width = `${le}px`, P.style.height = `${de}px`;
|
|
15034
|
+
const Ae = P.getContext("2d");
|
|
15035
15035
|
Ae && Ae.scale(ge, ge);
|
|
15036
15036
|
}
|
|
15037
15037
|
}
|
|
15038
15038
|
function L(E) {
|
|
15039
|
-
const
|
|
15040
|
-
if (!
|
|
15041
|
-
const U =
|
|
15039
|
+
const P = r.value;
|
|
15040
|
+
if (!P) return { x: 0, y: 0 };
|
|
15041
|
+
const U = P.getBoundingClientRect();
|
|
15042
15042
|
return {
|
|
15043
15043
|
x: E.clientX - U.left,
|
|
15044
15044
|
y: E.clientY - U.top
|
|
@@ -15055,8 +15055,8 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
15055
15055
|
function C() {
|
|
15056
15056
|
const E = l.value;
|
|
15057
15057
|
if (!E) return;
|
|
15058
|
-
const
|
|
15059
|
-
U && U.clearRect(0, 0, E.width /
|
|
15058
|
+
const P = window.devicePixelRatio || 1, U = E.getContext("2d");
|
|
15059
|
+
U && U.clearRect(0, 0, E.width / P, E.height / P);
|
|
15060
15060
|
}
|
|
15061
15061
|
function A() {
|
|
15062
15062
|
const E = $();
|
|
@@ -15064,15 +15064,15 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
15064
15064
|
if (C(), E.globalCompositeOperation = "source-over", E.strokeStyle = a.strokeColor, E.lineWidth = a.strokeWidth, E.lineCap = "round", E.lineJoin = "round", a.tool === "line")
|
|
15065
15065
|
E.beginPath(), E.moveTo(f, y), E.lineTo(d, g), E.stroke();
|
|
15066
15066
|
else if (a.tool === "rect") {
|
|
15067
|
-
const
|
|
15068
|
-
E.strokeRect(
|
|
15067
|
+
const P = Math.min(f, d), U = Math.min(y, g), H = Math.abs(d - f), le = Math.abs(g - y);
|
|
15068
|
+
E.strokeRect(P, U, H, le);
|
|
15069
15069
|
} else if (a.tool === "circle") {
|
|
15070
|
-
const
|
|
15071
|
-
E.beginPath(), E.arc(f, y, Math.max(
|
|
15070
|
+
const P = Math.sqrt((d - f) ** 2 + (g - y) ** 2);
|
|
15071
|
+
E.beginPath(), E.arc(f, y, Math.max(P, 1), 0, 2 * Math.PI), E.stroke();
|
|
15072
15072
|
} else if (a.tool === "polygon" && x.value.length > 0) {
|
|
15073
|
-
const
|
|
15074
|
-
E.beginPath(), E.moveTo(
|
|
15075
|
-
for (let U = 1; U <
|
|
15073
|
+
const P = x.value;
|
|
15074
|
+
E.beginPath(), E.moveTo(P[0].x, P[0].y);
|
|
15075
|
+
for (let U = 1; U < P.length; U++) E.lineTo(P[U].x, P[U].y);
|
|
15076
15076
|
E.lineTo(d, g), E.stroke();
|
|
15077
15077
|
}
|
|
15078
15078
|
}
|
|
@@ -15083,23 +15083,23 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
15083
15083
|
function V() {
|
|
15084
15084
|
const E = r.value;
|
|
15085
15085
|
if (!E) return;
|
|
15086
|
-
const
|
|
15087
|
-
if (!
|
|
15088
|
-
const U =
|
|
15086
|
+
const P = E.getContext("2d");
|
|
15087
|
+
if (!P) return;
|
|
15088
|
+
const U = P.getImageData(0, 0, E.width, E.height);
|
|
15089
15089
|
u.value = [...u.value.slice(-19), U];
|
|
15090
15090
|
}
|
|
15091
15091
|
function J(E) {
|
|
15092
15092
|
if (!r.value) return;
|
|
15093
|
-
const { x:
|
|
15094
|
-
f =
|
|
15093
|
+
const { x: P, y: U } = L(E);
|
|
15094
|
+
f = P, y = U, d = P, g = U;
|
|
15095
15095
|
const H = k();
|
|
15096
15096
|
if (H) {
|
|
15097
15097
|
if (a.tool === "pen" || a.tool === "eraser") {
|
|
15098
|
-
V(), m.value = !0, a.tool === "eraser" ? (H.globalCompositeOperation = "destination-out", H.lineWidth = Math.max(a.strokeWidth * 3, 12)) : (H.globalCompositeOperation = "source-over", z(H)), H.beginPath(), H.moveTo(
|
|
15098
|
+
V(), m.value = !0, a.tool === "eraser" ? (H.globalCompositeOperation = "destination-out", H.lineWidth = Math.max(a.strokeWidth * 3, 12)) : (H.globalCompositeOperation = "source-over", z(H)), H.beginPath(), H.moveTo(P, U);
|
|
15099
15099
|
return;
|
|
15100
15100
|
}
|
|
15101
15101
|
if (a.tool === "paint") {
|
|
15102
|
-
V(), m.value = !0, H.globalCompositeOperation = "source-over", H.fillStyle = a.strokeColor, ue(H,
|
|
15102
|
+
V(), m.value = !0, H.globalCompositeOperation = "source-over", H.fillStyle = a.strokeColor, ue(H, P, U);
|
|
15103
15103
|
return;
|
|
15104
15104
|
}
|
|
15105
15105
|
if (a.tool === "line" || a.tool === "rect" || a.tool === "circle") {
|
|
@@ -15107,26 +15107,26 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
15107
15107
|
return;
|
|
15108
15108
|
}
|
|
15109
15109
|
if (a.tool === "polygon") {
|
|
15110
|
-
x.value = [...x.value, { x:
|
|
15110
|
+
x.value = [...x.value, { x: P, y: U }], d = P, g = U, A();
|
|
15111
15111
|
return;
|
|
15112
15112
|
}
|
|
15113
15113
|
}
|
|
15114
15114
|
}
|
|
15115
15115
|
function ne(E) {
|
|
15116
|
-
const { x:
|
|
15117
|
-
d =
|
|
15116
|
+
const { x: P, y: U } = L(E);
|
|
15117
|
+
d = P, g = U, a.tool === "eraser" && (i.value = { x: E.clientX, y: E.clientY }, s.value = !0);
|
|
15118
15118
|
const H = k();
|
|
15119
15119
|
if (H) {
|
|
15120
15120
|
if (a.tool === "pen" && m.value) {
|
|
15121
|
-
H.globalCompositeOperation = "source-over", z(H), H.lineTo(
|
|
15121
|
+
H.globalCompositeOperation = "source-over", z(H), H.lineTo(P, U), H.stroke();
|
|
15122
15122
|
return;
|
|
15123
15123
|
}
|
|
15124
15124
|
if (a.tool === "eraser" && m.value) {
|
|
15125
|
-
H.globalCompositeOperation = "destination-out", H.lineWidth = Math.max(a.strokeWidth * 3, 12), H.lineTo(
|
|
15125
|
+
H.globalCompositeOperation = "destination-out", H.lineWidth = Math.max(a.strokeWidth * 3, 12), H.lineTo(P, U), H.stroke();
|
|
15126
15126
|
return;
|
|
15127
15127
|
}
|
|
15128
15128
|
if (a.tool === "paint" && m.value) {
|
|
15129
|
-
H.globalCompositeOperation = "source-over", H.fillStyle = a.strokeColor, ue(H,
|
|
15129
|
+
H.globalCompositeOperation = "source-over", H.fillStyle = a.strokeColor, ue(H, P, U);
|
|
15130
15130
|
return;
|
|
15131
15131
|
}
|
|
15132
15132
|
m.value && (a.tool === "line" || a.tool === "rect" || a.tool === "circle") && A(), a.tool === "polygon" && x.value.length > 0 && A();
|
|
@@ -15138,10 +15138,10 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
15138
15138
|
function X() {
|
|
15139
15139
|
a.tool === "polygon" && O();
|
|
15140
15140
|
}
|
|
15141
|
-
function ue(E,
|
|
15141
|
+
function ue(E, P, U) {
|
|
15142
15142
|
const H = Math.max(a.strokeWidth * 2.5, 8), le = 12 + Math.floor(a.strokeWidth);
|
|
15143
15143
|
for (let de = 0; de < le; de++) {
|
|
15144
|
-
const ge = Math.random() * 2 * Math.PI, he = H * Math.random(), Ae =
|
|
15144
|
+
const ge = Math.random() * 2 * Math.PI, he = H * Math.random(), Ae = P + Math.cos(ge) * he, ze = U + Math.sin(ge) * he, K = 1 + Math.random() * 2;
|
|
15145
15145
|
E.beginPath(), E.arc(Ae, ze, K, 0, 2 * Math.PI), E.fill();
|
|
15146
15146
|
}
|
|
15147
15147
|
}
|
|
@@ -15160,59 +15160,59 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
15160
15160
|
E.globalCompositeOperation = "source-over", z(E), E.beginPath(), E.moveTo(f, y), E.lineTo(d, g), E.stroke();
|
|
15161
15161
|
else if (a.tool === "rect") {
|
|
15162
15162
|
E.globalCompositeOperation = "source-over", z(E);
|
|
15163
|
-
const
|
|
15164
|
-
E.strokeRect(
|
|
15163
|
+
const P = Math.min(f, d), U = Math.min(y, g), H = Math.abs(d - f), le = Math.abs(g - y);
|
|
15164
|
+
E.strokeRect(P, U, H, le);
|
|
15165
15165
|
} else if (a.tool === "circle") {
|
|
15166
15166
|
E.globalCompositeOperation = "source-over", z(E);
|
|
15167
|
-
const
|
|
15168
|
-
E.beginPath(), E.arc(f, y, Math.max(
|
|
15167
|
+
const P = Math.sqrt((d - f) ** 2 + (g - y) ** 2);
|
|
15168
|
+
E.beginPath(), E.arc(f, y, Math.max(P, 1), 0, 2 * Math.PI), E.stroke();
|
|
15169
15169
|
}
|
|
15170
15170
|
C(), m.value = !1, E.globalCompositeOperation = "source-over";
|
|
15171
15171
|
}
|
|
15172
15172
|
function O() {
|
|
15173
|
-
const E = k(),
|
|
15174
|
-
if (!E ||
|
|
15173
|
+
const E = k(), P = x.value;
|
|
15174
|
+
if (!E || P.length < 2) {
|
|
15175
15175
|
x.value = [], C();
|
|
15176
15176
|
return;
|
|
15177
15177
|
}
|
|
15178
|
-
V(), E.globalCompositeOperation = "source-over", z(E), E.beginPath(), E.moveTo(
|
|
15179
|
-
for (let U = 1; U <
|
|
15178
|
+
V(), E.globalCompositeOperation = "source-over", z(E), E.beginPath(), E.moveTo(P[0].x, P[0].y);
|
|
15179
|
+
for (let U = 1; U < P.length; U++) E.lineTo(P[U].x, P[U].y);
|
|
15180
15180
|
E.closePath(), E.stroke(), x.value = [], C(), E.globalCompositeOperation = "source-over";
|
|
15181
15181
|
}
|
|
15182
15182
|
function j() {
|
|
15183
15183
|
const E = r.value;
|
|
15184
15184
|
if (!E || u.value.length === 0) return;
|
|
15185
|
-
const
|
|
15186
|
-
if (!
|
|
15185
|
+
const P = E.getContext("2d");
|
|
15186
|
+
if (!P) return;
|
|
15187
15187
|
const U = u.value[u.value.length - 1];
|
|
15188
|
-
u.value = u.value.slice(0, -1),
|
|
15188
|
+
u.value = u.value.slice(0, -1), P.putImageData(U, 0, 0);
|
|
15189
15189
|
}
|
|
15190
15190
|
function D() {
|
|
15191
15191
|
const E = r.value;
|
|
15192
15192
|
if (!E) return;
|
|
15193
|
-
const
|
|
15194
|
-
if (!
|
|
15193
|
+
const P = E.getContext("2d");
|
|
15194
|
+
if (!P) return;
|
|
15195
15195
|
const U = window.devicePixelRatio || 1;
|
|
15196
|
-
|
|
15196
|
+
P.clearRect(0, 0, E.width / U, E.height / U), x.value = [], u.value = [], C();
|
|
15197
15197
|
}
|
|
15198
15198
|
function T() {
|
|
15199
15199
|
return r.value;
|
|
15200
15200
|
}
|
|
15201
15201
|
return re(
|
|
15202
15202
|
() => a.tool,
|
|
15203
|
-
(E,
|
|
15204
|
-
|
|
15203
|
+
(E, P) => {
|
|
15204
|
+
P === "polygon" && E !== "polygon" && (x.value = [], C());
|
|
15205
15205
|
}
|
|
15206
15206
|
), He(() => {
|
|
15207
15207
|
b().then(() => {
|
|
15208
|
-
var
|
|
15208
|
+
var P;
|
|
15209
15209
|
M();
|
|
15210
|
-
const E = (
|
|
15210
|
+
const E = (P = n.value) == null ? void 0 : P.parentElement;
|
|
15211
15211
|
E && typeof ResizeObserver < "u" && (_ = new ResizeObserver(M), _.observe(E));
|
|
15212
15212
|
});
|
|
15213
15213
|
}), qe(() => {
|
|
15214
15214
|
_ == null || _.disconnect(), _ = null;
|
|
15215
|
-
}), t({ clear: D, getCanvas: T, finishPolygon: O, undo: j, canUndo: () => u.value.length > 0 }), (E,
|
|
15215
|
+
}), t({ clear: D, getCanvas: T, finishPolygon: O, undo: j, canUndo: () => u.value.length > 0 }), (E, P) => (c(), h("div", {
|
|
15216
15216
|
ref_key: "wrapRef",
|
|
15217
15217
|
ref: n,
|
|
15218
15218
|
class: Ee(["drawing-canvas-wrap", { "drawing-canvas-wrap--eraser": e.tool === "eraser" }]),
|
|
@@ -15220,7 +15220,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
15220
15220
|
onMousemove: ne,
|
|
15221
15221
|
onMouseup: Y,
|
|
15222
15222
|
onDblclick: X,
|
|
15223
|
-
onMouseleave:
|
|
15223
|
+
onMouseleave: P[0] || (P[0] = () => {
|
|
15224
15224
|
ie(), Y();
|
|
15225
15225
|
})
|
|
15226
15226
|
}, [
|
|
@@ -15242,7 +15242,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
15242
15242
|
])
|
|
15243
15243
|
], 34));
|
|
15244
15244
|
}
|
|
15245
|
-
}),
|
|
15245
|
+
}), Pb = /* @__PURE__ */ Fe(Rb, [["__scopeId", "data-v-ed2688bc"]]), Ob = {
|
|
15246
15246
|
key: 2,
|
|
15247
15247
|
class: "absolute bottom-16 right-4 z-[100] pointer-events-auto"
|
|
15248
15248
|
}, Db = {
|
|
@@ -15280,37 +15280,37 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
15280
15280
|
data: {}
|
|
15281
15281
|
},
|
|
15282
15282
|
setup(e) {
|
|
15283
|
-
var Ie, De,
|
|
15284
|
-
const t = e, n = St(), r = zt(), l = F(null), i = F({}), s = F(null), a = F(!1), p = F(null), v = F(!1), b = F([]), m = F(!1), x = F("general"), u = F(null), f = F(!1), y = F(null), d = F(null), g = F("pen"), _ = F("#2563eb"), M = F(3), L = F([]), k = F(!1), $ =
|
|
15283
|
+
var Ie, De, Re, kt;
|
|
15284
|
+
const t = e, n = St(), r = zt(), l = F(null), i = F({}), s = F(null), a = F(!1), p = F(null), v = F(!1), b = F([]), m = F(!1), x = F("general"), u = F(null), f = F(!1), y = F(null), d = F(null), g = F("pen"), _ = F("#2563eb"), M = F(3), L = F([]), k = F(!1), $ = R(() => t.id || "main"), C = R(() => {
|
|
15285
15285
|
var W, ce;
|
|
15286
15286
|
return {
|
|
15287
15287
|
height: ((W = t.height) == null ? void 0 : W.trim()) || ((ce = i.value) == null ? void 0 : ce.height) || "calc(100vh - 65px)"
|
|
15288
15288
|
};
|
|
15289
|
-
}), A =
|
|
15289
|
+
}), A = R(() => {
|
|
15290
15290
|
var W;
|
|
15291
15291
|
return ((W = i.value) == null ? void 0 : W.name) ?? null;
|
|
15292
|
-
}), z =
|
|
15292
|
+
}), z = R(() => {
|
|
15293
15293
|
var W;
|
|
15294
15294
|
return ((W = i.value) == null ? void 0 : W.description) ?? null;
|
|
15295
|
-
}), V =
|
|
15295
|
+
}), V = R(() => {
|
|
15296
15296
|
var W;
|
|
15297
15297
|
return H((W = i.value) == null ? void 0 : W.maps);
|
|
15298
|
-
}), J =
|
|
15298
|
+
}), J = R(() => {
|
|
15299
15299
|
var ce, Te;
|
|
15300
15300
|
const W = ((ce = i.value) == null ? void 0 : ce.minZoom) ?? ((Te = i.value) == null ? void 0 : Te.minzoom) ?? null;
|
|
15301
15301
|
return typeof W == "number" ? W : null;
|
|
15302
|
-
}), ne =
|
|
15302
|
+
}), ne = R(() => {
|
|
15303
15303
|
var ce, Te;
|
|
15304
15304
|
const W = ((ce = i.value) == null ? void 0 : ce.maxZoom) ?? ((Te = i.value) == null ? void 0 : Te.maxzoom) ?? null;
|
|
15305
15305
|
return typeof W == "number" ? W : typeof t.maxZoom == "number" ? t.maxZoom : 20;
|
|
15306
|
-
}), ie = F(null), X =
|
|
15306
|
+
}), ie = F(null), X = R(() => {
|
|
15307
15307
|
if (!ie.value) return null;
|
|
15308
15308
|
const { lng: W, lat: ce } = ie.value;
|
|
15309
15309
|
return `${ce.toFixed(6)}, ${W.toFixed(6)}`;
|
|
15310
|
-
}), ue =
|
|
15310
|
+
}), ue = R(() => {
|
|
15311
15311
|
var W;
|
|
15312
15312
|
return ((W = l.value) == null ? void 0 : W.ctx) ?? null;
|
|
15313
|
-
}), Y =
|
|
15313
|
+
}), Y = R(() => {
|
|
15314
15314
|
var W;
|
|
15315
15315
|
return ((W = i.value) == null ? void 0 : W.minimap) ?? null;
|
|
15316
15316
|
});
|
|
@@ -15325,7 +15325,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
15325
15325
|
const ce = Number(typeof W == "string" ? W.trim() : W);
|
|
15326
15326
|
return Number.isFinite(ce) ? ce : null;
|
|
15327
15327
|
}
|
|
15328
|
-
const T = ln((
|
|
15328
|
+
const T = ln((Re = j == null ? void 0 : j.map) == null ? void 0 : Re.center), E = D((kt = j == null ? void 0 : j.map) == null ? void 0 : kt.zoom), P = R(() => {
|
|
15329
15329
|
const W = (j == null ? void 0 : j.map) || null, ce = (W == null ? void 0 : W.boundary) ?? null, Te = (W == null ? void 0 : W.katottg) ?? null;
|
|
15330
15330
|
return !ce && !Te ? null : { boundary: ce, katottg: Te };
|
|
15331
15331
|
});
|
|
@@ -15335,10 +15335,10 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
15335
15335
|
function H(W) {
|
|
15336
15336
|
return Array.isArray(W) ? W : W && typeof W == "object" ? Object.values(W).filter(Boolean) : [];
|
|
15337
15337
|
}
|
|
15338
|
-
const le =
|
|
15338
|
+
const le = R(() => {
|
|
15339
15339
|
var W;
|
|
15340
15340
|
return H((W = i.value) == null ? void 0 : W.widgets);
|
|
15341
|
-
}), de =
|
|
15341
|
+
}), de = R(() => le.value.some((W) => (W == null ? void 0 : W.type) === "basemaps")), ge = ["left", "right"], he = R(() => {
|
|
15342
15342
|
const W = {
|
|
15343
15343
|
left: { top: [], bottom: [] },
|
|
15344
15344
|
right: { top: [], bottom: [] }
|
|
@@ -15422,7 +15422,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
15422
15422
|
Ye.value = !1;
|
|
15423
15423
|
}
|
|
15424
15424
|
}
|
|
15425
|
-
let be = null,
|
|
15425
|
+
let be = null, Pe = null;
|
|
15426
15426
|
const Ye = F(!1), ot = F(null);
|
|
15427
15427
|
function et() {
|
|
15428
15428
|
const W = ot.value;
|
|
@@ -15504,10 +15504,10 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
15504
15504
|
}
|
|
15505
15505
|
async function Ln() {
|
|
15506
15506
|
const W = await ze();
|
|
15507
|
-
W != null && W.on && (be == null || be(), be = W.on("moveend", te),
|
|
15507
|
+
W != null && W.on && (be == null || be(), be = W.on("moveend", te), Pe == null || Pe(), Pe = W.on("mousemove", _t), ht == null || ht(), ht = W.on("click", kn));
|
|
15508
15508
|
}
|
|
15509
15509
|
so(() => {
|
|
15510
|
-
be == null || be(), be = null,
|
|
15510
|
+
be == null || be(), be = null, Pe == null || Pe(), Pe = null, ht == null || ht(), ht = null;
|
|
15511
15511
|
});
|
|
15512
15512
|
async function q(W = !1) {
|
|
15513
15513
|
var Te, Ke;
|
|
@@ -15538,7 +15538,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
15538
15538
|
ce && (a.value = !1);
|
|
15539
15539
|
}
|
|
15540
15540
|
}
|
|
15541
|
-
const ee =
|
|
15541
|
+
const ee = R(() => {
|
|
15542
15542
|
var Ke;
|
|
15543
15543
|
const W = /* @__PURE__ */ new Map();
|
|
15544
15544
|
return H((Ke = i.value) == null ? void 0 : Ke.layers).forEach((Ce) => {
|
|
@@ -15566,7 +15566,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
15566
15566
|
function we(W) {
|
|
15567
15567
|
Z.value.includes(W) ? Z.value = Z.value.filter((ce) => ce !== W) : Z.value.push(W);
|
|
15568
15568
|
}
|
|
15569
|
-
const $e =
|
|
15569
|
+
const $e = R(() => (W) => Z.value.includes(W.id));
|
|
15570
15570
|
return re([J, ne], () => {
|
|
15571
15571
|
w();
|
|
15572
15572
|
}, { immediate: !0 }), re($, () => {
|
|
@@ -15603,11 +15603,11 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
15603
15603
|
key: 0,
|
|
15604
15604
|
class: "hidden"
|
|
15605
15605
|
})),
|
|
15606
|
-
|
|
15606
|
+
P.value ? (c(), pe(es, {
|
|
15607
15607
|
key: 1,
|
|
15608
15608
|
"layer-id": "app-boundary",
|
|
15609
|
-
boundary:
|
|
15610
|
-
katottg:
|
|
15609
|
+
boundary: P.value.boundary,
|
|
15610
|
+
katottg: P.value.katottg
|
|
15611
15611
|
}, null, 8, ["boundary", "katottg"])) : Q("", !0),
|
|
15612
15612
|
ue.value && b.value.includes("draw") && f.value ? (c(), h("div", Ob, [
|
|
15613
15613
|
oe(Nb, {
|
|
@@ -15682,7 +15682,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
15682
15682
|
"is-shape-closed": k.value,
|
|
15683
15683
|
"label-mode": x.value
|
|
15684
15684
|
}, null, 8, ["points", "is-shape-closed", "label-mode"])) : Q("", !0),
|
|
15685
|
-
v.value && f.value ? (c(), pe(
|
|
15685
|
+
v.value && f.value ? (c(), pe(Pb, {
|
|
15686
15686
|
key: 5,
|
|
15687
15687
|
ref_key: "drawingCanvasRef",
|
|
15688
15688
|
ref: d,
|
|
@@ -15949,7 +15949,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
15949
15949
|
"top-right",
|
|
15950
15950
|
"bottom-left",
|
|
15951
15951
|
"bottom-right"
|
|
15952
|
-
], s = F(null), a = F(-1), p =
|
|
15952
|
+
], s = F(null), a = F(-1), p = R(() => n.modelValue || []);
|
|
15953
15953
|
function v() {
|
|
15954
15954
|
const g = [
|
|
15955
15955
|
...p.value,
|
|
@@ -16093,7 +16093,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
16093
16093
|
class: "p-1 text-gray-400 hover:text-red-500 transition-colors",
|
|
16094
16094
|
title: "Видалити віджет"
|
|
16095
16095
|
}, [
|
|
16096
|
-
oe(ae(
|
|
16096
|
+
oe(ae(Ro), { size: 16 })
|
|
16097
16097
|
], 8, E2)
|
|
16098
16098
|
])
|
|
16099
16099
|
]))), 128))
|
|
@@ -16112,13 +16112,13 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
16112
16112
|
}), F2 = { class: "relative h-full flex flex-col flex-1 min-h-0 overflow-hidden mx-auto w-full" }, I2 = { class: "mx-1" }, j2 = { class: "text-gray-900 font-semibold" }, z2 = ["disabled"], N2 = {
|
|
16113
16113
|
key: 0,
|
|
16114
16114
|
class: "text-center py-12 mt-6 px-[24px]"
|
|
16115
|
-
},
|
|
16115
|
+
}, R2 = {
|
|
16116
16116
|
key: 1,
|
|
16117
16117
|
class: "px-[24px] overflow-y-auto"
|
|
16118
|
-
},
|
|
16118
|
+
}, P2 = { class: "space-y-6" }, O2 = { class: "space-y-6" }, D2 = { class: "space-y-6" }, V2 = /* @__PURE__ */ ve({
|
|
16119
16119
|
__name: "MapSettings",
|
|
16120
16120
|
setup(e) {
|
|
16121
|
-
const t = zt(), n = St(), r =
|
|
16121
|
+
const t = zt(), n = St(), r = R(
|
|
16122
16122
|
() => {
|
|
16123
16123
|
var C;
|
|
16124
16124
|
return ((C = t.resolve("/maps").meta) == null ? void 0 : C.title) ?? "Карти";
|
|
@@ -16152,17 +16152,17 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
16152
16152
|
zoom: 11,
|
|
16153
16153
|
widgets: [],
|
|
16154
16154
|
layers: []
|
|
16155
|
-
}), f =
|
|
16155
|
+
}), f = R({
|
|
16156
16156
|
get: () => (u.value.layers || []).map((C) => C.id || C),
|
|
16157
16157
|
set: (C) => {
|
|
16158
16158
|
u.value.layers = C;
|
|
16159
16159
|
}
|
|
16160
|
-
}), y =
|
|
16160
|
+
}), y = R(
|
|
16161
16161
|
() => s.value.map((C) => ({
|
|
16162
16162
|
id: C.id,
|
|
16163
16163
|
text: C.name || C.id
|
|
16164
16164
|
}))
|
|
16165
|
-
), d =
|
|
16165
|
+
), d = R({
|
|
16166
16166
|
get: () => f.value.map((C) => {
|
|
16167
16167
|
const A = y.value.find((z) => z.id === C);
|
|
16168
16168
|
return A ? A.text : C;
|
|
@@ -16174,12 +16174,12 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
16174
16174
|
}).filter((z) => z !== null);
|
|
16175
16175
|
f.value = A;
|
|
16176
16176
|
}
|
|
16177
|
-
}), g =
|
|
16177
|
+
}), g = R(() => {
|
|
16178
16178
|
const C = u.value.center;
|
|
16179
16179
|
if (!Array.isArray(C) || C.length < 2) return "Не задано";
|
|
16180
16180
|
const [A, z] = C;
|
|
16181
16181
|
return A === void 0 || z === void 0 || A === null || z === null || Number.isNaN(Number(A)) || Number.isNaN(Number(z)) ? "Не задано" : `Lng ${Number(A).toFixed(6)}, Lat ${Number(z).toFixed(6)}`;
|
|
16182
|
-
}), _ =
|
|
16182
|
+
}), _ = R(() => {
|
|
16183
16183
|
const C = u.value.zoom;
|
|
16184
16184
|
if (C == null || C === "")
|
|
16185
16185
|
return "Не задано";
|
|
@@ -16358,13 +16358,13 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
16358
16358
|
}, 8, ["title"]),
|
|
16359
16359
|
l.value ? (c(), h("div", N2, [...A[8] || (A[8] = [
|
|
16360
16360
|
o("p", { class: "text-gray-500" }, "Завантаження...", -1)
|
|
16361
|
-
])])) : (c(), h("div",
|
|
16361
|
+
])])) : (c(), h("div", R2, [
|
|
16362
16362
|
oe(rh, {
|
|
16363
16363
|
tabs: p,
|
|
16364
16364
|
activeTab: x.value,
|
|
16365
16365
|
"onUpdate:activeTab": A[1] || (A[1] = (V) => x.value = V)
|
|
16366
16366
|
}, null, 8, ["activeTab"]),
|
|
16367
|
-
Ue(o("div",
|
|
16367
|
+
Ue(o("div", P2, [
|
|
16368
16368
|
oe(sh, {
|
|
16369
16369
|
schema: M,
|
|
16370
16370
|
loading: l.value,
|
|
@@ -16433,7 +16433,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
16433
16433
|
},
|
|
16434
16434
|
emits: ["update:counts"],
|
|
16435
16435
|
setup(e, { expose: t, emit: n }) {
|
|
16436
|
-
const r = e, l = n, i = zt(), s = St(), a = F(Number(s.query.page) || 1), p = F(!1), v = F(0), b = F([]), m =
|
|
16436
|
+
const r = e, l = n, i = zt(), s = St(), a = F(Number(s.query.page) || 1), p = F(!1), v = F(0), b = F([]), m = R(() => {
|
|
16437
16437
|
const C = (a.value - 1) * $o, A = C + $o;
|
|
16438
16438
|
return b.value.slice(C, A);
|
|
16439
16439
|
}), x = F(!0), u = F(null), f = F(null);
|
|
@@ -16572,7 +16572,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
16572
16572
|
], 8, Z2))), 128))
|
|
16573
16573
|
])) : Q("", !0)
|
|
16574
16574
|
]),
|
|
16575
|
-
p.value ? (c(), pe(
|
|
16575
|
+
p.value ? (c(), pe(Rt, {
|
|
16576
16576
|
key: 0,
|
|
16577
16577
|
to: "#pagination"
|
|
16578
16578
|
}, [
|
|
@@ -16719,7 +16719,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
16719
16719
|
width: "w-4/12",
|
|
16720
16720
|
align: "text-left"
|
|
16721
16721
|
}
|
|
16722
|
-
], l = F([]), i = F(!0), s = F(null), a =
|
|
16722
|
+
], l = F([]), i = F(!0), s = F(null), a = R(() => {
|
|
16723
16723
|
var m;
|
|
16724
16724
|
if (!((m = n.search) != null && m.trim()))
|
|
16725
16725
|
return l.value;
|
|
@@ -16792,7 +16792,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
16792
16792
|
]))
|
|
16793
16793
|
]));
|
|
16794
16794
|
}
|
|
16795
|
-
}), Fw = { class: "space-y-6 flex-1 overflow-y-auto p-0" }, Iw = { class: "flex items-center gap-2 text-sm text-gray-600 mb-4" }, jw = { class: "text-gray-900" }, zw = { class: "flex items-start justify-between mb-6" }, Nw = { class: "flex-1 mr-4" },
|
|
16795
|
+
}), Fw = { class: "space-y-6 flex-1 overflow-y-auto p-0" }, Iw = { class: "flex items-center gap-2 text-sm text-gray-600 mb-4" }, jw = { class: "text-gray-900" }, zw = { class: "flex items-start justify-between mb-6" }, Nw = { class: "flex-1 mr-4" }, Rw = { class: "text-2xl font-bold text-gray-900" }, Pw = {
|
|
16796
16796
|
key: 0,
|
|
16797
16797
|
class: "flex items-center gap-2 group mt-1"
|
|
16798
16798
|
}, Ow = { class: "text-sm text-gray-500" }, Dw = {
|
|
@@ -16801,7 +16801,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
16801
16801
|
}, Vw = ["disabled"], Bw = ["disabled"], Uw = { class: "flex items-center gap-3" }, qw = { class: "bg-white rounded-lg shadow-sm border border-gray-200 p-4 mb-4" }, Hw = { class: "relative max-w-md" }, Ww = { class: "vs-form-text relative w-full border-transparent text-sm focus:bg-white focus:border-blue-500 focus:ring-blue-500 rounded-sm" }, Yw = { class: "absolute bottom-2/4 translate-y-2/4 cursor-pointer left-3" }, Zw = /* @__PURE__ */ ve({
|
|
16802
16802
|
__name: "DictionaryDetails",
|
|
16803
16803
|
setup(e) {
|
|
16804
|
-
const t = zt(), n = St(), r =
|
|
16804
|
+
const t = zt(), n = St(), r = R(() => n.params.name), l = F(!1), i = F(null), s = F(null), a = F(""), p = F(""), v = F(""), b = F(!1), m = F(!1), x = F(null), u = async () => {
|
|
16805
16805
|
var M;
|
|
16806
16806
|
try {
|
|
16807
16807
|
const L = await fetch(
|
|
@@ -16870,7 +16870,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
16870
16870
|
]),
|
|
16871
16871
|
o("div", zw, [
|
|
16872
16872
|
o("div", Nw, [
|
|
16873
|
-
o("h1",
|
|
16873
|
+
o("h1", Rw, B(r.value), 1),
|
|
16874
16874
|
b.value ? (c(), h("div", Dw, [
|
|
16875
16875
|
Ue(o("input", {
|
|
16876
16876
|
ref_key: "editInputRef",
|
|
@@ -16908,7 +16908,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
16908
16908
|
"stroke-width": 2
|
|
16909
16909
|
})
|
|
16910
16910
|
], 8, Bw)
|
|
16911
|
-
])) : (c(), h("div",
|
|
16911
|
+
])) : (c(), h("div", Pw, [
|
|
16912
16912
|
o("p", Ow, B(p.value || "Опис відсутній"), 1),
|
|
16913
16913
|
o("button", {
|
|
16914
16914
|
onClick: f,
|
|
@@ -17024,7 +17024,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
17024
17024
|
},
|
|
17025
17025
|
emits: ["update:modelValue"],
|
|
17026
17026
|
setup(e, { expose: t, emit: n }) {
|
|
17027
|
-
const r = e, l = n, i =
|
|
17027
|
+
const r = e, l = n, i = R(() => r.actions && r.actions.length ? r.actions : ["view"]), s = F(0), a = F({}), p = F({});
|
|
17028
17028
|
re(
|
|
17029
17029
|
() => r.modelValue,
|
|
17030
17030
|
(L) => {
|
|
@@ -17041,7 +17041,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
17041
17041
|
},
|
|
17042
17042
|
{ immediate: !0 }
|
|
17043
17043
|
);
|
|
17044
|
-
const v =
|
|
17044
|
+
const v = R(() => {
|
|
17045
17045
|
var L, k;
|
|
17046
17046
|
return ((k = (L = r.data) == null ? void 0 : L.routers) == null ? void 0 : k.map(($) => {
|
|
17047
17047
|
if ($ != null && $.menu && Array.isArray($.menu)) {
|
|
@@ -17213,7 +17213,7 @@ const jx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
17213
17213
|
}), y_ = { class: "flex flex-col gap-4" }, h_ = { class: "flex items-center gap-3" }, x_ = { class: "flex-1 relative" }, E_ = /* @__PURE__ */ ve({
|
|
17214
17214
|
__name: "VsPermissions",
|
|
17215
17215
|
setup(e) {
|
|
17216
|
-
const t = St(), n = F(""), r = F(null), l = F({ categories: [], layers: [] }), i = F([]), s = F(["edit"]), a =
|
|
17216
|
+
const t = St(), n = F(""), r = F(null), l = F({ categories: [], layers: [] }), i = F([]), s = F(["edit"]), a = R(() => {
|
|
17217
17217
|
const m = n.value.toLowerCase().trim(), x = p(l.value);
|
|
17218
17218
|
return m ? x.map((u) => {
|
|
17219
17219
|
const f = String(u.ua || "").toLowerCase().includes(m), y = (u.menu || []).filter((d) => String(d.ua || "").toLowerCase().includes(m));
|