@opengis/gis 0.2.105 → 0.2.106
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.js
CHANGED
|
@@ -95,7 +95,7 @@ const Ds = ({ size: e, strokeWidth: t = 2, absoluteStrokeWidth: n, color: r, ico
|
|
|
95
95
|
),
|
|
96
96
|
...a
|
|
97
97
|
},
|
|
98
|
-
[...l.map((
|
|
98
|
+
[...l.map((v) => Io(...v)), ...p.default ? [p.default()] : []]
|
|
99
99
|
);
|
|
100
100
|
/**
|
|
101
101
|
* @license lucide-vue-next v0.514.0 - ISC
|
|
@@ -606,7 +606,7 @@ const ln = Re("x", [
|
|
|
606
606
|
},
|
|
607
607
|
{ deep: !0 }
|
|
608
608
|
);
|
|
609
|
-
const p = () => l.value = l.value.filter((b, d) => d !== r.index),
|
|
609
|
+
const p = () => l.value = l.value.filter((b, d) => d !== r.index), v = async () => {
|
|
610
610
|
const b = s.value.validate();
|
|
611
611
|
if (b) {
|
|
612
612
|
je({ type: "warning", title: "Validation", message: Object.entries(b).map(([d, h]) => `${d}: ${h}`).join(`
|
|
@@ -646,7 +646,7 @@ const ln = Re("x", [
|
|
|
646
646
|
}, " Скасувати "),
|
|
647
647
|
o("button", {
|
|
648
648
|
class: "py-2 px-3 inline-flex items-center gap-x-2 text-sm whitespace-nowrap text-white bg-blue-500 rounded-lg !border-gray-200 hover:bg-blue-700 duration-300",
|
|
649
|
-
onClick:
|
|
649
|
+
onClick: v
|
|
650
650
|
}, " Зберегти ")
|
|
651
651
|
])
|
|
652
652
|
]),
|
|
@@ -1164,7 +1164,7 @@ const ka = /* @__PURE__ */ Te(ba, [["render", _a]]), yr = {
|
|
|
1164
1164
|
function n(C) {
|
|
1165
1165
|
return C.charAt(0).toUpperCase() + C.slice(1);
|
|
1166
1166
|
}
|
|
1167
|
-
const r = vt(() => import("@opengis/core").then((C) => C.VsModal)), l = vt(() => import("@opengis/form")), i = Nt(e, "modelValue"), s = e, a = T({}), p = T(!1),
|
|
1167
|
+
const r = vt(() => import("@opengis/core").then((C) => C.VsModal)), l = vt(() => import("@opengis/form")), i = Nt(e, "modelValue"), s = e, a = T({}), p = T(!1), v = T({}), b = T(null), d = ks(), h = (C) => !!(C && d[C]);
|
|
1168
1168
|
t({
|
|
1169
1169
|
openCreateDialog: () => {
|
|
1170
1170
|
p.value = !0;
|
|
@@ -1192,9 +1192,9 @@ const ka = /* @__PURE__ */ Te(ba, [["render", _a]]), yr = {
|
|
|
1192
1192
|
] : s.columnsScheme;
|
|
1193
1193
|
});
|
|
1194
1194
|
function y() {
|
|
1195
|
-
p.value = !1,
|
|
1195
|
+
p.value = !1, v.value = {}, b.value = null;
|
|
1196
1196
|
}
|
|
1197
|
-
async function
|
|
1197
|
+
async function m() {
|
|
1198
1198
|
const C = a.value.validate();
|
|
1199
1199
|
if (C) {
|
|
1200
1200
|
je({
|
|
@@ -1206,10 +1206,10 @@ const ka = /* @__PURE__ */ Te(ba, [["render", _a]]), yr = {
|
|
|
1206
1206
|
return;
|
|
1207
1207
|
}
|
|
1208
1208
|
if (b.value === null)
|
|
1209
|
-
u.value = [...u.value, { ...
|
|
1209
|
+
u.value = [...u.value, { ...v.value }];
|
|
1210
1210
|
else {
|
|
1211
1211
|
const $ = [...u.value];
|
|
1212
|
-
$[b.value] = { ...
|
|
1212
|
+
$[b.value] = { ...v.value }, u.value = $;
|
|
1213
1213
|
}
|
|
1214
1214
|
y();
|
|
1215
1215
|
}
|
|
@@ -1360,7 +1360,7 @@ const ka = /* @__PURE__ */ Te(ba, [["render", _a]]), yr = {
|
|
|
1360
1360
|
}, " Скасувати "),
|
|
1361
1361
|
o("button", {
|
|
1362
1362
|
type: "button",
|
|
1363
|
-
onClick:
|
|
1363
|
+
onClick: m,
|
|
1364
1364
|
class: "px-4 py-2 rounded bg-blue-600 text-white"
|
|
1365
1365
|
}, " Зберегти1 ")
|
|
1366
1366
|
])
|
|
@@ -1369,8 +1369,8 @@ const ka = /* @__PURE__ */ Te(ba, [["render", _a]]), yr = {
|
|
|
1369
1369
|
ne(se(l), {
|
|
1370
1370
|
ref_key: "form",
|
|
1371
1371
|
ref: a,
|
|
1372
|
-
modelValue:
|
|
1373
|
-
"onUpdate:modelValue": $[2] || ($[2] = (A) =>
|
|
1372
|
+
modelValue: v.value,
|
|
1373
|
+
"onUpdate:modelValue": $[2] || ($[2] = (A) => v.value = A),
|
|
1374
1374
|
schema: e.formScheme
|
|
1375
1375
|
}, null, 8, ["modelValue", "schema"])
|
|
1376
1376
|
]),
|
|
@@ -1401,14 +1401,14 @@ const ka = /* @__PURE__ */ Te(ba, [["render", _a]]), yr = {
|
|
|
1401
1401
|
() => import("@opengis/core").then((E) => E.VsModal)
|
|
1402
1402
|
), a = P(
|
|
1403
1403
|
() => Array.isArray(l.fields) ? l.fields.filter(Boolean) : []
|
|
1404
|
-
), p = (E) => (E == null ? void 0 : E.name) ?? (E == null ? void 0 : E.id) ?? (E == null ? void 0 : E.key) ?? (E == null ? void 0 : E.code) ?? (E == null ? void 0 : E.field) ?? (E == null ? void 0 : E.value) ?? "",
|
|
1404
|
+
), p = (E) => (E == null ? void 0 : E.name) ?? (E == null ? void 0 : E.id) ?? (E == null ? void 0 : E.key) ?? (E == null ? void 0 : E.code) ?? (E == null ? void 0 : E.field) ?? (E == null ? void 0 : E.value) ?? "", v = (E) => String(p(E) ?? "").trim(), b = (E) => (E == null ? void 0 : E.title) ?? (E == null ? void 0 : E.label) ?? v(E), d = (E) => String((E == null ? void 0 : E.type) ?? "").trim(), h = P(
|
|
1405
1405
|
() => new Set(r.value.map((E) => String(E ?? "").trim()))
|
|
1406
|
-
), u = (E) => h.value.has(
|
|
1407
|
-
const L =
|
|
1406
|
+
), u = (E) => h.value.has(v(E)), f = (E) => {
|
|
1407
|
+
const L = v(E);
|
|
1408
1408
|
if (!L) return;
|
|
1409
1409
|
const k = new Set(h.value);
|
|
1410
1410
|
k.has(L) ? k.delete(L) : k.add(L), r.value = Array.from(k);
|
|
1411
|
-
}, y = P(() => l.confirmText || "Імпортувати"),
|
|
1411
|
+
}, y = P(() => l.confirmText || "Імпортувати"), m = P(() => l.cancelText || "Скасувати"), g = () => {
|
|
1412
1412
|
n.value = !1, i("cancel");
|
|
1413
1413
|
}, _ = () => {
|
|
1414
1414
|
i("confirm"), n.value = !1;
|
|
@@ -1425,7 +1425,7 @@ const ka = /* @__PURE__ */ Te(ba, [["render", _a]]), yr = {
|
|
|
1425
1425
|
o("button", {
|
|
1426
1426
|
onClick: g,
|
|
1427
1427
|
class: "px-4 py-2 rounded bg-gray-100 text-gray-700"
|
|
1428
|
-
}, V(
|
|
1428
|
+
}, V(m.value), 1),
|
|
1429
1429
|
o("button", {
|
|
1430
1430
|
onClick: _,
|
|
1431
1431
|
class: "px-4 py-2 rounded bg-blue-600 text-white"
|
|
@@ -1436,12 +1436,12 @@ const ka = /* @__PURE__ */ Te(ba, [["render", _a]]), yr = {
|
|
|
1436
1436
|
o("div", qa, [
|
|
1437
1437
|
o("div", Ha, [
|
|
1438
1438
|
(c(!0), x(ie, null, he(a.value, (k) => (c(), x("label", {
|
|
1439
|
-
key:
|
|
1439
|
+
key: v(k),
|
|
1440
1440
|
class: "flex items-center hover:bg-gray-100 rounded p-2 cursor-pointer"
|
|
1441
1441
|
}, [
|
|
1442
1442
|
o("input", {
|
|
1443
1443
|
type: "checkbox",
|
|
1444
|
-
id: `${e.idPrefix}-${
|
|
1444
|
+
id: `${e.idPrefix}-${v(k)}`,
|
|
1445
1445
|
checked: u(k),
|
|
1446
1446
|
onChange: (C) => f(k)
|
|
1447
1447
|
}, null, 40, Wa),
|
|
@@ -1453,7 +1453,7 @@ const ka = /* @__PURE__ */ Te(ba, [["render", _a]]), yr = {
|
|
|
1453
1453
|
(c(), fe(Qt(`icon-${k.type}`), { class: "w-4 h-4" }))
|
|
1454
1454
|
], 2)) : X("", !0),
|
|
1455
1455
|
o("div", null, [
|
|
1456
|
-
o("p", Za, V(
|
|
1456
|
+
o("p", Za, V(v(k)), 1),
|
|
1457
1457
|
o("p", Ga, V(b(k)), 1),
|
|
1458
1458
|
d(k) ? (c(), x("p", Ka, V(d(k)), 1)) : X("", !0)
|
|
1459
1459
|
])
|
|
@@ -1482,16 +1482,16 @@ function Mn(e, t, n) {
|
|
|
1482
1482
|
}
|
|
1483
1483
|
if (a.size === 0)
|
|
1484
1484
|
return [];
|
|
1485
|
-
const p = (d) => Cn(s(d)),
|
|
1485
|
+
const p = (d) => Cn(s(d)), v = [], b = /* @__PURE__ */ new Set();
|
|
1486
1486
|
for (const d of r) {
|
|
1487
1487
|
const h = p(d);
|
|
1488
|
-
!h || !a.has(h) || (
|
|
1488
|
+
!h || !a.has(h) || (v.push(d), b.add(h));
|
|
1489
1489
|
}
|
|
1490
1490
|
for (const d of l) {
|
|
1491
1491
|
const h = p(d);
|
|
1492
|
-
!h || b.has(h) || !a.has(h) || (
|
|
1492
|
+
!h || b.has(h) || !a.has(h) || (v.push(d), b.add(h));
|
|
1493
1493
|
}
|
|
1494
|
-
return
|
|
1494
|
+
return v;
|
|
1495
1495
|
}
|
|
1496
1496
|
const Qa = { class: "vs-form" }, Ja = { class: "vs-form__body auto-rows-max container" }, eu = { class: "flex flex-wrap" }, tu = { class: "h-fit w-full mb-6 bg-white border border-gray-200 rounded-lg p-6" }, nu = { class: "h-fit w-full flex flex-wrap" }, ou = { class: "w-full" }, ru = /* @__PURE__ */ me({
|
|
1497
1497
|
__name: "list-tab",
|
|
@@ -1505,9 +1505,9 @@ const Qa = { class: "vs-form" }, Ja = { class: "vs-form__body auto-rows-max cont
|
|
|
1505
1505
|
}),
|
|
1506
1506
|
emits: ["update:data", "update:form"],
|
|
1507
1507
|
setup(e) {
|
|
1508
|
-
const t = Nt(e, "data"), n = Nt(e, "form"), r = e, l = P(() => Array.isArray(r.fields) ? r.fields : []), i = (_) => nn(_ || {}), s = vt(() => import("@opengis/form")), a = T(), p = T(!1),
|
|
1508
|
+
const t = Nt(e, "data"), n = Nt(e, "form"), r = e, l = P(() => Array.isArray(r.fields) ? r.fields : []), i = (_) => nn(_ || {}), s = vt(() => import("@opengis/form")), a = T(), p = T(!1), v = T([]), b = () => {
|
|
1509
1509
|
const _ = h.value.map((E) => i(E)).filter((E) => E.length > 0);
|
|
1510
|
-
|
|
1510
|
+
v.value = [..._], p.value = !0;
|
|
1511
1511
|
}, d = P(
|
|
1512
1512
|
() => {
|
|
1513
1513
|
var _, E;
|
|
@@ -1537,11 +1537,11 @@ const Qa = { class: "vs-form" }, Ja = { class: "vs-form__body auto-rows-max cont
|
|
|
1537
1537
|
},
|
|
1538
1538
|
{ immediate: !0 }
|
|
1539
1539
|
), le(p, (_) => {
|
|
1540
|
-
_ || (
|
|
1540
|
+
_ || (v.value = []);
|
|
1541
1541
|
});
|
|
1542
1542
|
const f = () => {
|
|
1543
1543
|
const _ = new Set(
|
|
1544
|
-
|
|
1544
|
+
v.value.map((k) => Cn(k)).filter((k) => k.length > 0)
|
|
1545
1545
|
), E = Array.isArray(h.value) ? [...h.value] : [], L = l.value.filter((k) => _.has(i(k))).map((k) => {
|
|
1546
1546
|
const C = i(k), $ = k.title ?? k.label ?? C;
|
|
1547
1547
|
return {
|
|
@@ -1553,9 +1553,9 @@ const Qa = { class: "vs-form" }, Ja = { class: "vs-form__body auto-rows-max cont
|
|
|
1553
1553
|
};
|
|
1554
1554
|
});
|
|
1555
1555
|
h.value = Mn(E, L, {
|
|
1556
|
-
selectedKeys:
|
|
1556
|
+
selectedKeys: v.value,
|
|
1557
1557
|
resolveKey: i
|
|
1558
|
-
}), p.value = !1,
|
|
1558
|
+
}), p.value = !1, v.value = [];
|
|
1559
1559
|
}, y = {
|
|
1560
1560
|
table_name: {
|
|
1561
1561
|
type: "select",
|
|
@@ -1592,7 +1592,7 @@ const Qa = { class: "vs-form" }, Ja = { class: "vs-form__body auto-rows-max cont
|
|
|
1592
1592
|
placeholder: "Опис",
|
|
1593
1593
|
col: 12
|
|
1594
1594
|
}
|
|
1595
|
-
},
|
|
1595
|
+
}, m = [
|
|
1596
1596
|
{ key: "name", label: "Name", type: "text" },
|
|
1597
1597
|
{ key: "label", label: "Назва", type: "text" },
|
|
1598
1598
|
// { key: "format", label: "Format", type: "text" },
|
|
@@ -1695,7 +1695,7 @@ const Qa = { class: "vs-form" }, Ja = { class: "vs-form__body auto-rows-max cont
|
|
|
1695
1695
|
ne(sn, {
|
|
1696
1696
|
modelValue: h.value,
|
|
1697
1697
|
"onUpdate:modelValue": E[1] || (E[1] = (L) => h.value = L),
|
|
1698
|
-
"columns-scheme":
|
|
1698
|
+
"columns-scheme": m,
|
|
1699
1699
|
"form-scheme": g,
|
|
1700
1700
|
"main-col-width": "250px",
|
|
1701
1701
|
"add-button": !1
|
|
@@ -1707,8 +1707,8 @@ const Qa = { class: "vs-form" }, Ja = { class: "vs-form__body auto-rows-max cont
|
|
|
1707
1707
|
ne(Ln, {
|
|
1708
1708
|
visible: p.value,
|
|
1709
1709
|
"onUpdate:visible": E[2] || (E[2] = (L) => p.value = L),
|
|
1710
|
-
selection:
|
|
1711
|
-
"onUpdate:selection": E[3] || (E[3] = (L) =>
|
|
1710
|
+
selection: v.value,
|
|
1711
|
+
"onUpdate:selection": E[3] || (E[3] = (L) => v.value = L),
|
|
1712
1712
|
fields: l.value,
|
|
1713
1713
|
title: "Імпорт колонок",
|
|
1714
1714
|
"id-prefix": "import-column",
|
|
@@ -1729,9 +1729,9 @@ const Qa = { class: "vs-form" }, Ja = { class: "vs-form__body auto-rows-max cont
|
|
|
1729
1729
|
emits: ["update:data", "update:form"],
|
|
1730
1730
|
setup(e) {
|
|
1731
1731
|
const t = Nt(e, "data"), n = Nt(e, "form"), r = e, l = P(() => Array.isArray(r.fields) ? r.fields : []), i = (u) => nn(u || {}), s = T(!1), a = T([]), p = () => {
|
|
1732
|
-
const u =
|
|
1732
|
+
const u = v.value.map((f) => i(f)).filter((f) => f.length > 0);
|
|
1733
1733
|
a.value = [...u], s.value = !0;
|
|
1734
|
-
},
|
|
1734
|
+
}, v = P({
|
|
1735
1735
|
get: () => (t.value || (t.value = {}), Array.isArray(t.value.filters) || (t.value.filters = []), t.value.filters),
|
|
1736
1736
|
set: (u) => {
|
|
1737
1737
|
t.value || (t.value = {}), t.value.filters = Array.isArray(u) ? u : [];
|
|
@@ -1742,13 +1742,13 @@ const Qa = { class: "vs-form" }, Ja = { class: "vs-form__body auto-rows-max cont
|
|
|
1742
1742
|
});
|
|
1743
1743
|
const b = () => {
|
|
1744
1744
|
const u = new Set(
|
|
1745
|
-
a.value.map((
|
|
1746
|
-
), f = Array.isArray(
|
|
1747
|
-
name: i(
|
|
1748
|
-
label:
|
|
1749
|
-
type:
|
|
1745
|
+
a.value.map((m) => Cn(m)).filter((m) => m.length > 0)
|
|
1746
|
+
), f = Array.isArray(v.value) ? [...v.value] : [], y = l.value.filter((m) => u.has(i(m))).map((m) => ({
|
|
1747
|
+
name: i(m),
|
|
1748
|
+
label: m.title ?? m.label ?? i(m),
|
|
1749
|
+
type: m.type || "text"
|
|
1750
1750
|
}));
|
|
1751
|
-
|
|
1751
|
+
v.value = Mn(f, y, {
|
|
1752
1752
|
selectedKeys: a.value,
|
|
1753
1753
|
resolveKey: i
|
|
1754
1754
|
}), s.value = !1, a.value = [];
|
|
@@ -1827,8 +1827,8 @@ const Qa = { class: "vs-form" }, Ja = { class: "vs-form__body auto-rows-max cont
|
|
|
1827
1827
|
]),
|
|
1828
1828
|
o("div", uu, [
|
|
1829
1829
|
ne(sn, {
|
|
1830
|
-
modelValue:
|
|
1831
|
-
"onUpdate:modelValue": f[0] || (f[0] = (y) =>
|
|
1830
|
+
modelValue: v.value,
|
|
1831
|
+
"onUpdate:modelValue": f[0] || (f[0] = (y) => v.value = y),
|
|
1832
1832
|
"columns-scheme": d,
|
|
1833
1833
|
"form-scheme": h,
|
|
1834
1834
|
"main-col-width": "250px",
|
|
@@ -1863,9 +1863,9 @@ const Qa = { class: "vs-form" }, Ja = { class: "vs-form__body auto-rows-max cont
|
|
|
1863
1863
|
emits: ["update:data", "update:form"],
|
|
1864
1864
|
setup(e) {
|
|
1865
1865
|
const t = Nt(e, "data"), n = Nt(e, "form"), r = e, l = P(() => Array.isArray(r.fields) ? r.fields : []), i = (u) => nn(u || {}), s = T(!1), a = T([]), p = () => {
|
|
1866
|
-
const u =
|
|
1866
|
+
const u = v.value.map((f) => i(f)).filter((f) => f.length > 0);
|
|
1867
1867
|
a.value = [...u], s.value = !0;
|
|
1868
|
-
},
|
|
1868
|
+
}, v = P({
|
|
1869
1869
|
get: () => t.value.card,
|
|
1870
1870
|
set: (u) => {
|
|
1871
1871
|
t.value || (t.value = {}), t.value.card = Array.isArray(u) ? u : [];
|
|
@@ -1874,24 +1874,24 @@ const Qa = { class: "vs-form" }, Ja = { class: "vs-form__body auto-rows-max cont
|
|
|
1874
1874
|
le(s, (u) => {
|
|
1875
1875
|
var f;
|
|
1876
1876
|
if (u) {
|
|
1877
|
-
const y = ((f =
|
|
1877
|
+
const y = ((f = v.value) == null ? void 0 : f.map((m) => m.name)) || [];
|
|
1878
1878
|
a.value = [...y];
|
|
1879
1879
|
}
|
|
1880
1880
|
});
|
|
1881
1881
|
const b = () => {
|
|
1882
1882
|
const u = new Set(
|
|
1883
|
-
a.value.map((
|
|
1884
|
-
), f = Array.isArray(
|
|
1885
|
-
const g = i(
|
|
1883
|
+
a.value.map((m) => Cn(m)).filter((m) => m.length > 0)
|
|
1884
|
+
), f = Array.isArray(v.value) ? [...v.value] : [], y = l.value.filter((m) => u.has(i(m))).map((m) => {
|
|
1885
|
+
const g = i(m), _ = m.title ?? m.label ?? g;
|
|
1886
1886
|
return {
|
|
1887
|
-
...
|
|
1887
|
+
...m,
|
|
1888
1888
|
name: g,
|
|
1889
1889
|
label: _,
|
|
1890
|
-
format:
|
|
1891
|
-
meta:
|
|
1890
|
+
format: m.format || m.type || "text",
|
|
1891
|
+
meta: m.meta || "title"
|
|
1892
1892
|
};
|
|
1893
1893
|
});
|
|
1894
|
-
|
|
1894
|
+
v.value = Mn(f, y, {
|
|
1895
1895
|
selectedKeys: a.value,
|
|
1896
1896
|
resolveKey: i
|
|
1897
1897
|
}), s.value = !1, a.value = [];
|
|
@@ -1982,8 +1982,8 @@ const Qa = { class: "vs-form" }, Ja = { class: "vs-form__body auto-rows-max cont
|
|
|
1982
1982
|
]),
|
|
1983
1983
|
o("div", vu, [
|
|
1984
1984
|
ne(sn, {
|
|
1985
|
-
modelValue:
|
|
1986
|
-
"onUpdate:modelValue": f[0] || (f[0] = (y) =>
|
|
1985
|
+
modelValue: v.value,
|
|
1986
|
+
"onUpdate:modelValue": f[0] || (f[0] = (y) => v.value = y),
|
|
1987
1987
|
"columns-scheme": d,
|
|
1988
1988
|
"form-scheme": h,
|
|
1989
1989
|
"main-col-width": "250px",
|
|
@@ -2029,7 +2029,7 @@ function Yn(e) {
|
|
|
2029
2029
|
const s = parseInt(l, 10), a = yu[s] || l;
|
|
2030
2030
|
let p = `${parseInt(i, 10)} ${a} ${r}`;
|
|
2031
2031
|
if (n) {
|
|
2032
|
-
const
|
|
2032
|
+
const v = n.split(".")[0], [b, d, h] = v.split(":");
|
|
2033
2033
|
b && d && h ? p += `, ${b}:${d}:${h}` : b && d ? p += `, ${b}:${d}` : b && (p += `, ${b}`);
|
|
2034
2034
|
}
|
|
2035
2035
|
return p;
|
|
@@ -2067,7 +2067,7 @@ const hu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
|
|
|
2067
2067
|
const t = e, n = P(() => t.items && t.items.length || t.items ? t.items : t.item != null ? [t.item] : []), r = (d) => (d == null ? void 0 : d.service_id) && (d == null ? void 0 : d.is_map) && d[t.id_key] && (d == null ? void 0 : d.geom), l = P(() => t.columns.find((d) => d.meta === "title")), i = P(() => t.columns.filter((d) => d.meta === "category")), s = P(() => t.columns.filter((d) => d.meta === "tags")), a = P(() => t.columns.filter((d) => d.meta !== "title")), p = (d, h) => {
|
|
2068
2068
|
if (h)
|
|
2069
2069
|
return d[h];
|
|
2070
|
-
},
|
|
2070
|
+
}, v = (d) => {
|
|
2071
2071
|
const h = p(d, t.id_key);
|
|
2072
2072
|
return `${t.path}?id=${h}`;
|
|
2073
2073
|
}, b = (d, h) => {
|
|
@@ -2075,7 +2075,7 @@ const hu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
|
|
|
2075
2075
|
return `/map?layers=${h}&info=${h},${u}`;
|
|
2076
2076
|
};
|
|
2077
2077
|
return (d, h) => (c(!0), x(ie, null, he(n.value, (u) => {
|
|
2078
|
-
var f, y,
|
|
2078
|
+
var f, y, m;
|
|
2079
2079
|
return c(), x("div", {
|
|
2080
2080
|
key: u.id,
|
|
2081
2081
|
class: "rounded-lg border bg-card text-card-foreground overflow-hidden border-none shadow-md relative",
|
|
@@ -2084,7 +2084,7 @@ const hu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
|
|
|
2084
2084
|
o("div", hu, [
|
|
2085
2085
|
o("div", xu, [
|
|
2086
2086
|
o("div", bu, [
|
|
2087
|
-
o("h2", wu, V(u[`${(f = l.value) == null ? void 0 : f.name}_text`] || u[(y = l.value) == null ? void 0 : y.name] || u[(
|
|
2087
|
+
o("h2", wu, V(u[`${(f = l.value) == null ? void 0 : f.name}_text`] || u[(y = l.value) == null ? void 0 : y.name] || u[(m = l.value) == null ? void 0 : m.label] || "Не вказано"), 1),
|
|
2088
2088
|
Array.isArray(i.value) && i.value.length ? (c(), x("div", _u, [
|
|
2089
2089
|
(c(!0), x(ie, null, he(i.value, (g) => (c(), x(ie, {
|
|
2090
2090
|
key: g.name
|
|
@@ -2154,7 +2154,7 @@ const hu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
|
|
|
2154
2154
|
])], 8, Tu)) : X("", !0),
|
|
2155
2155
|
e.hideDetailsButton ? X("", !0) : (c(), x("a", {
|
|
2156
2156
|
key: 1,
|
|
2157
|
-
href:
|
|
2157
|
+
href: v(u),
|
|
2158
2158
|
class: "inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 border border-input bg-background hover:bg-accent hover:text-accent-foreground h-9 rounded-md px-3"
|
|
2159
2159
|
}, [...h[1] || (h[1] = [
|
|
2160
2160
|
Ce(" Детальніше ", -1),
|
|
@@ -2203,7 +2203,7 @@ const hu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
|
|
|
2203
2203
|
const t = e, n = P(() => t.items && t.items.length || t.items ? t.items : t.item != null ? [t.item] : []), r = (d) => (d == null ? void 0 : d.service_id) && (d == null ? void 0 : d.is_map) && d[t.id_key] && (d == null ? void 0 : d.geom), l = P(() => t.columns.find((d) => d.meta === "title")), i = P(() => t.columns.filter((d) => d.meta === "category")), s = P(() => t.columns.filter((d) => d.meta === "tags")), a = P(() => t.columns.filter((d) => d.meta !== "title")), p = (d, h) => {
|
|
2204
2204
|
if (h)
|
|
2205
2205
|
return d[h];
|
|
2206
|
-
},
|
|
2206
|
+
}, v = (d) => {
|
|
2207
2207
|
const h = p(d, t.id_key);
|
|
2208
2208
|
return `${t.path}?id=${h}`;
|
|
2209
2209
|
}, b = (d, h) => {
|
|
@@ -2211,7 +2211,7 @@ const hu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
|
|
|
2211
2211
|
return `/map?layers=${h}&info=${h},${u}`;
|
|
2212
2212
|
};
|
|
2213
2213
|
return (d, h) => (c(!0), x(ie, null, he(n.value, (u) => {
|
|
2214
|
-
var f, y,
|
|
2214
|
+
var f, y, m;
|
|
2215
2215
|
return c(), x("div", {
|
|
2216
2216
|
key: u.id,
|
|
2217
2217
|
class: "rounded-lg border bg-card text-card-foreground shadow-sm overflow-hidden",
|
|
@@ -2221,7 +2221,7 @@ const hu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
|
|
|
2221
2221
|
o("div", zu, [
|
|
2222
2222
|
o("div", Nu, [
|
|
2223
2223
|
o("div", Pu, [
|
|
2224
|
-
o("h2", Ru, V(u[`${(f = l.value) == null ? void 0 : f.name}_text`] || u[(y = l.value) == null ? void 0 : y.name] || u[(
|
|
2224
|
+
o("h2", Ru, V(u[`${(f = l.value) == null ? void 0 : f.name}_text`] || u[(y = l.value) == null ? void 0 : y.name] || u[(m = l.value) == null ? void 0 : m.label] || "Не вказано"), 1),
|
|
2225
2225
|
Array.isArray(i.value) && i.value.length ? (c(!0), x(ie, { key: 0 }, he(i.value, (g) => (c(), x(ie, {
|
|
2226
2226
|
key: g.name
|
|
2227
2227
|
}, [
|
|
@@ -2285,7 +2285,7 @@ const hu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
|
|
|
2285
2285
|
])], 8, Wu)) : X("", !0),
|
|
2286
2286
|
e.hideDetailsButton ? X("", !0) : (c(), x("a", {
|
|
2287
2287
|
key: 1,
|
|
2288
|
-
href:
|
|
2288
|
+
href: v(u),
|
|
2289
2289
|
class: "inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 hover:bg-accent hover:text-accent-foreground h-9 rounded-md px-3"
|
|
2290
2290
|
}, [...h[1] || (h[1] = [
|
|
2291
2291
|
Ce(" Детальніше ", -1),
|
|
@@ -2337,19 +2337,19 @@ const hu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
|
|
|
2337
2337
|
hideDetailsButton: { type: Boolean, default: !1 }
|
|
2338
2338
|
},
|
|
2339
2339
|
setup(e) {
|
|
2340
|
-
const t = e, n = P(() => t.items && t.items.length || t.items ? t.items : t.item != null ? [t.item] : []), r = (h) => (h == null ? void 0 : h.service_id) && (h == null ? void 0 : h.is_map) && h[t.id_key] && (h == null ? void 0 : h.geom), l = P(() => t.columns.find((h) => h.meta === "title")), i = P(() => t.columns.filter((h) => h.meta === "category")), s = P(() => t.columns.filter((h) => h.meta === "tags")), a = P(() => t.columns.filter((h) => h.meta !== "title")), p = P(() => "bg-blue-500"),
|
|
2340
|
+
const t = e, n = P(() => t.items && t.items.length || t.items ? t.items : t.item != null ? [t.item] : []), r = (h) => (h == null ? void 0 : h.service_id) && (h == null ? void 0 : h.is_map) && h[t.id_key] && (h == null ? void 0 : h.geom), l = P(() => t.columns.find((h) => h.meta === "title")), i = P(() => t.columns.filter((h) => h.meta === "category")), s = P(() => t.columns.filter((h) => h.meta === "tags")), a = P(() => t.columns.filter((h) => h.meta !== "title")), p = P(() => "bg-blue-500"), v = (h, u) => {
|
|
2341
2341
|
if (u)
|
|
2342
2342
|
return h[u];
|
|
2343
2343
|
}, b = (h) => {
|
|
2344
|
-
const u =
|
|
2344
|
+
const u = v(h, t.id_key);
|
|
2345
2345
|
return `${t.path}?id=${u}`;
|
|
2346
2346
|
}, d = (h, u) => {
|
|
2347
|
-
const f =
|
|
2347
|
+
const f = v(h, t.id_key);
|
|
2348
2348
|
return `/map?layers=${u}&info=${u},${f}`;
|
|
2349
2349
|
};
|
|
2350
2350
|
return (h, u) => (c(), x("div", Gu, [
|
|
2351
2351
|
(c(!0), x(ie, null, he(n.value, (f) => {
|
|
2352
|
-
var y,
|
|
2352
|
+
var y, m, g;
|
|
2353
2353
|
return c(), x("div", {
|
|
2354
2354
|
key: f.id,
|
|
2355
2355
|
class: "border-b border-slate-200 hover:bg-slate-50 transition-colors"
|
|
@@ -2363,7 +2363,7 @@ const hu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
|
|
|
2363
2363
|
class: Ae(["w-1 h-6 lg:h-8 rounded-full mr-2 lg:mr-3 mt-1", p.value])
|
|
2364
2364
|
}, null, 2),
|
|
2365
2365
|
o("div", tc, [
|
|
2366
|
-
o("p", nc, V(f[`${(y = l.value) == null ? void 0 : y.name}_text`] || f[(
|
|
2366
|
+
o("p", nc, V(f[`${(y = l.value) == null ? void 0 : y.name}_text`] || f[(m = l.value) == null ? void 0 : m.name] || f[(g = l.value) == null ? void 0 : g.label] || "Не вказано"), 1),
|
|
2367
2367
|
Array.isArray(i.value) && i.value.length ? (c(), x("div", oc, [
|
|
2368
2368
|
(c(!0), x(ie, null, he(i.value, (_) => (c(), x(ie, {
|
|
2369
2369
|
key: _.name
|
|
@@ -2478,7 +2478,7 @@ const hu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
|
|
|
2478
2478
|
const t = e, n = P(() => t.items && t.items.length || t.items ? t.items : t.item != null ? [t.item] : []), r = (d) => (d == null ? void 0 : d.service_id) && (d == null ? void 0 : d.is_map) && d[t.id_key] && (d == null ? void 0 : d.geom), l = P(() => t.columns.find((d) => d.meta === "title")), i = P(() => t.columns.filter((d) => d.meta === "category")), s = P(() => t.columns.filter((d) => d.meta === "tags")), a = P(() => t.columns.filter((d) => d.meta !== "title")), p = (d, h) => {
|
|
2479
2479
|
if (h)
|
|
2480
2480
|
return d[h];
|
|
2481
|
-
},
|
|
2481
|
+
}, v = (d) => {
|
|
2482
2482
|
const h = p(d, t.id_key);
|
|
2483
2483
|
return `${t.path}?id=${h}`;
|
|
2484
2484
|
}, b = (d, h) => {
|
|
@@ -2486,7 +2486,7 @@ const hu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
|
|
|
2486
2486
|
return `/map?layers=${h}&info=${h},${u}`;
|
|
2487
2487
|
};
|
|
2488
2488
|
return (d, h) => (c(!0), x(ie, null, he(n.value, (u) => {
|
|
2489
|
-
var f, y,
|
|
2489
|
+
var f, y, m;
|
|
2490
2490
|
return c(), x("div", {
|
|
2491
2491
|
key: u.id,
|
|
2492
2492
|
class: "rounded-lg border bg-card text-card-foreground shadow-sm border-l-4 border-l-blue-600",
|
|
@@ -2494,7 +2494,7 @@ const hu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
|
|
|
2494
2494
|
}, [
|
|
2495
2495
|
o("div", vc, [
|
|
2496
2496
|
o("div", gc, [
|
|
2497
|
-
o("h3", yc, V(u[`${(f = l.value) == null ? void 0 : f.name}_text`] || u[(y = l.value) == null ? void 0 : y.name] || u[(
|
|
2497
|
+
o("h3", yc, V(u[`${(f = l.value) == null ? void 0 : f.name}_text`] || u[(y = l.value) == null ? void 0 : y.name] || u[(m = l.value) == null ? void 0 : m.label] || "Не вказано"), 1),
|
|
2498
2498
|
Array.isArray(i.value) && i.value.length ? (c(!0), x(ie, { key: 0 }, he(i.value, (g) => (c(), x(ie, {
|
|
2499
2499
|
key: g.name
|
|
2500
2500
|
}, [
|
|
@@ -2544,7 +2544,7 @@ const hu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
|
|
|
2544
2544
|
}, " На карті ", 8, Sc)) : X("", !0),
|
|
2545
2545
|
e.hideDetailsButton ? X("", !0) : (c(), x("a", {
|
|
2546
2546
|
key: 1,
|
|
2547
|
-
href:
|
|
2547
|
+
href: v(u),
|
|
2548
2548
|
class: "inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 border bg-background h-10 px-4 py-2 rounded-md text-black border-black hover:bg-gray-100 hover:text-black"
|
|
2549
2549
|
}, " Детальніше ", 8, Ac))
|
|
2550
2550
|
])
|
|
@@ -2578,7 +2578,7 @@ const hu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
|
|
|
2578
2578
|
hideDetailsButton: { type: Boolean, default: !1 }
|
|
2579
2579
|
},
|
|
2580
2580
|
setup(e) {
|
|
2581
|
-
const t = e, n = P(() => 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 = P(() => t.columns.find((u) => u.meta === "title")), i = P(() => t.columns.filter((u) => u.meta === "category")), s = P(() => t.columns.filter((u) => u.meta === "tags")), a = P(() => t.columns.filter((u) => u.meta !== "title")), p = P(() => t.columns.find((u) => u.meta === "image")),
|
|
2581
|
+
const t = e, n = P(() => 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 = P(() => t.columns.find((u) => u.meta === "title")), i = P(() => t.columns.filter((u) => u.meta === "category")), s = P(() => t.columns.filter((u) => u.meta === "tags")), a = P(() => t.columns.filter((u) => u.meta !== "title")), p = P(() => t.columns.find((u) => u.meta === "image")), v = P(
|
|
2582
2582
|
() => t.columns.find((u) => u.meta === "desc") || t.columns.find((u) => u.name === "description")
|
|
2583
2583
|
), b = (u, f) => {
|
|
2584
2584
|
if (f)
|
|
@@ -2591,14 +2591,14 @@ const hu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
|
|
|
2591
2591
|
return `/map?layers=${f}&info=${f},${y}`;
|
|
2592
2592
|
};
|
|
2593
2593
|
return (u, f) => (c(!0), x(ie, null, he(n.value, (y) => {
|
|
2594
|
-
var
|
|
2594
|
+
var m, g, _, E, L, k, C, $, A;
|
|
2595
2595
|
return c(), x("div", {
|
|
2596
2596
|
key: y.id,
|
|
2597
2597
|
class: "bg-white border border-gray-200 rounded-lg overflow-hidden transition-all duration-200 hover:shadow-md"
|
|
2598
2598
|
}, [
|
|
2599
2599
|
o("div", Mc, [
|
|
2600
2600
|
p.value ? (c(), x("div", Ec, [
|
|
2601
|
-
y[(
|
|
2601
|
+
y[(m = p.value) == null ? void 0 : m.name] ? (c(), x("img", {
|
|
2602
2602
|
key: 0,
|
|
2603
2603
|
src: y[(g = p.value) == null ? void 0 : g.name],
|
|
2604
2604
|
alt: "image",
|
|
@@ -2622,7 +2622,7 @@ const hu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
|
|
|
2622
2622
|
], 64))), 128)) : X("", !0)
|
|
2623
2623
|
])
|
|
2624
2624
|
]),
|
|
2625
|
-
o("p", Rc, V(((C = y[((k =
|
|
2625
|
+
o("p", Rc, V(((C = y[((k = v.value) == null ? void 0 : k.name) + "_data"]) == null ? void 0 : C.text) || y[(($ = v.value) == null ? void 0 : $.name) + "_text"] || y[(A = v.value) == null ? void 0 : A.name]), 1),
|
|
2626
2626
|
o("div", Oc, [
|
|
2627
2627
|
(c(!0), x(ie, null, he(a.value, (N) => {
|
|
2628
2628
|
var D;
|
|
@@ -2738,7 +2738,7 @@ const hu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
|
|
|
2738
2738
|
if (!b) return "template1";
|
|
2739
2739
|
const d = r.find((u) => u.id === b);
|
|
2740
2740
|
return (d == null ? void 0 : d.text) || b;
|
|
2741
|
-
}),
|
|
2741
|
+
}), v = P(() => (Array.isArray(n.value.tableData) ? n.value.tableData : []).slice(0, 5).map((d) => {
|
|
2742
2742
|
var h, u;
|
|
2743
2743
|
return {
|
|
2744
2744
|
...d,
|
|
@@ -2757,14 +2757,14 @@ const hu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
|
|
|
2757
2757
|
]),
|
|
2758
2758
|
o("h2", td, " Превʼю таблиці (" + V(p.value) + ") ", 1),
|
|
2759
2759
|
o("div", nd, [
|
|
2760
|
-
a.value &&
|
|
2761
|
-
items:
|
|
2760
|
+
a.value && v.value.length && i.value.length ? (c(), fe(Qt(a.value), {
|
|
2761
|
+
items: v.value,
|
|
2762
2762
|
columns: i.value,
|
|
2763
2763
|
path: "#",
|
|
2764
2764
|
id_key: "id",
|
|
2765
2765
|
"hide-details-button": e.hideDetailsButton,
|
|
2766
2766
|
key: s.value
|
|
2767
|
-
}, null, 8, ["items", "columns", "hide-details-button"])) :
|
|
2767
|
+
}, null, 8, ["items", "columns", "hide-details-button"])) : v.value.length ? (c(), x("div", rd, " Додайте колонки та виберіть вигляд для перегляду ")) : (c(), x("div", od, " Немає даних для превʼю "))
|
|
2768
2768
|
])
|
|
2769
2769
|
]));
|
|
2770
2770
|
}
|
|
@@ -2789,14 +2789,14 @@ const hu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
|
|
|
2789
2789
|
filters: cu,
|
|
2790
2790
|
card: gu,
|
|
2791
2791
|
preview: ld
|
|
2792
|
-
},
|
|
2792
|
+
}, v = a.map((y) => y.id), b = T({
|
|
2793
2793
|
columns: [],
|
|
2794
2794
|
filters: [],
|
|
2795
2795
|
card: [],
|
|
2796
2796
|
tableData: []
|
|
2797
2797
|
}), d = T([]), h = async () => {
|
|
2798
|
-
var
|
|
2799
|
-
if (!((
|
|
2798
|
+
var m;
|
|
2799
|
+
if (!((m = b.value) == null ? void 0 : m.token)) {
|
|
2800
2800
|
je({
|
|
2801
2801
|
type: "error",
|
|
2802
2802
|
title: "Помилка",
|
|
@@ -2830,11 +2830,11 @@ const hu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
|
|
|
2830
2830
|
try {
|
|
2831
2831
|
const g = await (await fetch(`/api/gis-registry/${y}`)).json(), _ = Array.isArray(g == null ? void 0 : g.rows) ? g.rows : [];
|
|
2832
2832
|
b.value.tableData = _.slice(0, 3);
|
|
2833
|
-
} catch (
|
|
2834
|
-
console.error("Помилка завантаження превʼю:",
|
|
2833
|
+
} catch (m) {
|
|
2834
|
+
console.error("Помилка завантаження превʼю:", m);
|
|
2835
2835
|
}
|
|
2836
2836
|
}, f = async () => {
|
|
2837
|
-
var y,
|
|
2837
|
+
var y, m;
|
|
2838
2838
|
try {
|
|
2839
2839
|
const _ = await (await fetch(`/api/data/gis.registers.table/${t.params.id}`)).json(), E = ((y = _ == null ? void 0 : _.rows) == null ? void 0 : y[0]) || {};
|
|
2840
2840
|
s.value = E.register_key || "", b.value = {
|
|
@@ -2843,14 +2843,14 @@ const hu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
|
|
|
2843
2843
|
filters: Array.isArray(E.filters) ? E.filters : [],
|
|
2844
2844
|
card: Array.isArray(E.card) ? E.card : [],
|
|
2845
2845
|
tableData: Array.isArray(E.tableData) ? E.tableData : []
|
|
2846
|
-
}, (
|
|
2846
|
+
}, (m = _ == null ? void 0 : _.tokens) != null && m.edit && (b.value.token = _.tokens.edit), d.value = Array.isArray(_ == null ? void 0 : _.fields) ? _.fields : [];
|
|
2847
2847
|
} catch (g) {
|
|
2848
2848
|
console.error("Помилка завантаження даних:", g);
|
|
2849
2849
|
}
|
|
2850
2850
|
};
|
|
2851
2851
|
return Ue(async () => {
|
|
2852
2852
|
const y = t.query.tab;
|
|
2853
|
-
typeof y == "string" &&
|
|
2853
|
+
typeof y == "string" && v.includes(y) && (i.value = y), await f(), s.value && await u(s.value);
|
|
2854
2854
|
}), le(i, (y) => {
|
|
2855
2855
|
t.query.tab !== y && n.replace({
|
|
2856
2856
|
query: { ...t.query, tab: y }
|
|
@@ -2858,9 +2858,9 @@ const hu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
|
|
|
2858
2858
|
}), le(
|
|
2859
2859
|
() => t.query.tab,
|
|
2860
2860
|
(y) => {
|
|
2861
|
-
typeof y == "string" &&
|
|
2861
|
+
typeof y == "string" && v.includes(y) && i.value !== y && (i.value = y);
|
|
2862
2862
|
}
|
|
2863
|
-
), (y,
|
|
2863
|
+
), (y, m) => {
|
|
2864
2864
|
const g = el("router-link");
|
|
2865
2865
|
return c(), x("div", sd, [
|
|
2866
2866
|
ne(nl, {
|
|
@@ -2887,12 +2887,12 @@ const hu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
|
|
|
2887
2887
|
], 64)) : X("", !0),
|
|
2888
2888
|
o("span", ad, V(b.value.name), 1)
|
|
2889
2889
|
]),
|
|
2890
|
-
description: Oe(() => [...
|
|
2890
|
+
description: Oe(() => [...m[2] || (m[2] = [
|
|
2891
2891
|
Ce("Налаштування реєстру", -1)
|
|
2892
2892
|
])]),
|
|
2893
2893
|
actions: Oe(() => [
|
|
2894
2894
|
o("button", {
|
|
2895
|
-
onClick:
|
|
2895
|
+
onClick: m[0] || (m[0] = (_) => se(n).back()),
|
|
2896
2896
|
class: "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium border h-10 px-4 py-2 border-gray-300 text-gray-700 hover:bg-gray-50"
|
|
2897
2897
|
}, " Повернутися "),
|
|
2898
2898
|
o("button", {
|
|
@@ -2917,7 +2917,7 @@ const hu = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
|
|
|
2917
2917
|
o("div", fd, [
|
|
2918
2918
|
(c(), fe(Qt(p[i.value]), {
|
|
2919
2919
|
data: b.value,
|
|
2920
|
-
"onUpdate:data":
|
|
2920
|
+
"onUpdate:data": m[1] || (m[1] = (_) => b.value = _),
|
|
2921
2921
|
fields: d.value,
|
|
2922
2922
|
"hide-details-button": e.hideDetailsButton,
|
|
2923
2923
|
key: i.value
|
|
@@ -2993,26 +2993,26 @@ function $d(e, t) {
|
|
|
2993
2993
|
for (var n = /\r?\n|\r|\0/g, r = [0], l = [], i, s = -1; i = n.exec(e.buffer); )
|
|
2994
2994
|
l.push(i.index), r.push(i.index + i[0].length), e.position <= i.index && s < 0 && (s = r.length - 2);
|
|
2995
2995
|
s < 0 && (s = r.length - 1);
|
|
2996
|
-
var a = "", p,
|
|
2996
|
+
var a = "", p, v, b = Math.min(e.line + t.linesAfter, l.length).toString().length, d = t.maxLength - (t.indent + b + 3);
|
|
2997
2997
|
for (p = 1; p <= t.linesBefore && !(s - p < 0); p++)
|
|
2998
|
-
|
|
2998
|
+
v = $o(
|
|
2999
2999
|
e.buffer,
|
|
3000
3000
|
r[s - p],
|
|
3001
3001
|
l[s - p],
|
|
3002
3002
|
e.position - (r[s] - r[s - p]),
|
|
3003
3003
|
d
|
|
3004
|
-
), a = pt.repeat(" ", t.indent) + Co((e.line - p + 1).toString(), b) + " | " +
|
|
3004
|
+
), a = pt.repeat(" ", t.indent) + Co((e.line - p + 1).toString(), b) + " | " + v.str + `
|
|
3005
3005
|
` + a;
|
|
3006
|
-
for (
|
|
3007
|
-
`, a += pt.repeat("-", t.indent + b + 3 +
|
|
3006
|
+
for (v = $o(e.buffer, r[s], l[s], e.position, d), a += pt.repeat(" ", t.indent) + Co((e.line + 1).toString(), b) + " | " + v.str + `
|
|
3007
|
+
`, a += pt.repeat("-", t.indent + b + 3 + v.pos) + `^
|
|
3008
3008
|
`, p = 1; p <= t.linesAfter && !(s + p >= l.length); p++)
|
|
3009
|
-
|
|
3009
|
+
v = $o(
|
|
3010
3010
|
e.buffer,
|
|
3011
3011
|
r[s + p],
|
|
3012
3012
|
l[s + p],
|
|
3013
3013
|
e.position - (r[s] - r[s + p]),
|
|
3014
3014
|
d
|
|
3015
|
-
), a += pt.repeat(" ", t.indent) + Co((e.line + p + 1).toString(), b) + " | " +
|
|
3015
|
+
), a += pt.repeat(" ", t.indent) + Co((e.line + p + 1).toString(), b) + " | " + v.str + `
|
|
3016
3016
|
`;
|
|
3017
3017
|
return a.replace(/\n$/, "");
|
|
3018
3018
|
}
|
|
@@ -3356,7 +3356,7 @@ function Gd(e) {
|
|
|
3356
3356
|
return e === null ? !1 : $l.exec(e) !== null || Cl.exec(e) !== null;
|
|
3357
3357
|
}
|
|
3358
3358
|
function Kd(e) {
|
|
3359
|
-
var t, n, r, l, i, s, a, p = 0,
|
|
3359
|
+
var t, n, r, l, i, s, a, p = 0, v = null, b, d, h;
|
|
3360
3360
|
if (t = $l.exec(e), t === null && (t = Cl.exec(e)), t === null) throw new Error("Date resolve error");
|
|
3361
3361
|
if (n = +t[1], r = +t[2] - 1, l = +t[3], !t[4])
|
|
3362
3362
|
return new Date(Date.UTC(n, r, l));
|
|
@@ -3365,7 +3365,7 @@ function Kd(e) {
|
|
|
3365
3365
|
p += "0";
|
|
3366
3366
|
p = +p;
|
|
3367
3367
|
}
|
|
3368
|
-
return t[9] && (b = +t[10], d = +(t[11] || 0),
|
|
3368
|
+
return t[9] && (b = +t[10], d = +(t[11] || 0), v = (b * 60 + d) * 6e4, t[9] === "-" && (v = -v)), h = new Date(Date.UTC(n, r, l, i, s, a, p)), v && h.setTime(h.getTime() - v), h;
|
|
3369
3369
|
}
|
|
3370
3370
|
function Xd(e) {
|
|
3371
3371
|
return e.toISOString();
|
|
@@ -3578,14 +3578,14 @@ function $r(e, t, n, r) {
|
|
|
3578
3578
|
i = l[s], on.call(t, i) || (t[i] = n[i], r[i] = !0);
|
|
3579
3579
|
}
|
|
3580
3580
|
function kn(e, t, n, r, l, i, s, a, p) {
|
|
3581
|
-
var
|
|
3581
|
+
var v, b;
|
|
3582
3582
|
if (Array.isArray(l))
|
|
3583
|
-
for (l = Array.prototype.slice.call(l),
|
|
3584
|
-
Array.isArray(l[
|
|
3583
|
+
for (l = Array.prototype.slice.call(l), v = 0, b = l.length; v < b; v += 1)
|
|
3584
|
+
Array.isArray(l[v]) && Le(e, "nested arrays are not supported inside keys"), typeof l == "object" && wr(l[v]) === "[object Object]" && (l[v] = "[object Object]");
|
|
3585
3585
|
if (typeof l == "object" && wr(l) === "[object Object]" && (l = "[object Object]"), l = String(l), t === null && (t = {}), r === "tag:yaml.org,2002:merge")
|
|
3586
3586
|
if (Array.isArray(i))
|
|
3587
|
-
for (
|
|
3588
|
-
$r(e, t, i[
|
|
3587
|
+
for (v = 0, b = i.length; v < b; v += 1)
|
|
3588
|
+
$r(e, t, i[v], n);
|
|
3589
3589
|
else
|
|
3590
3590
|
$r(e, t, i, n);
|
|
3591
3591
|
else
|
|
@@ -3626,7 +3626,7 @@ function Go(e, t) {
|
|
|
3626
3626
|
`, t - 1));
|
|
3627
3627
|
}
|
|
3628
3628
|
function kf(e, t, n) {
|
|
3629
|
-
var r, l, i, s, a, p,
|
|
3629
|
+
var r, l, i, s, a, p, v, b, d = e.kind, h = e.result, u;
|
|
3630
3630
|
if (u = e.input.charCodeAt(e.position), At(u) || _n(u) || u === 35 || u === 38 || u === 42 || u === 33 || u === 124 || u === 62 || u === 39 || u === 34 || u === 37 || u === 64 || u === 96 || (u === 63 || u === 45) && (l = e.input.charCodeAt(e.position + 1), At(l) || n && _n(l)))
|
|
3631
3631
|
return !1;
|
|
3632
3632
|
for (e.kind = "scalar", e.result = "", i = s = e.position, a = !1; u !== 0; ) {
|
|
@@ -3640,11 +3640,11 @@ function kf(e, t, n) {
|
|
|
3640
3640
|
if (e.position === e.lineStart && ho(e) || n && _n(u))
|
|
3641
3641
|
break;
|
|
3642
3642
|
if (Vt(u))
|
|
3643
|
-
if (p = e.line,
|
|
3643
|
+
if (p = e.line, v = e.lineStart, b = e.lineIndent, dt(e, !1, -1), e.lineIndent >= t) {
|
|
3644
3644
|
a = !0, u = e.input.charCodeAt(e.position);
|
|
3645
3645
|
continue;
|
|
3646
3646
|
} else {
|
|
3647
|
-
e.position = s, e.line = p, e.lineStart =
|
|
3647
|
+
e.position = s, e.line = p, e.lineStart = v, e.lineIndent = b;
|
|
3648
3648
|
break;
|
|
3649
3649
|
}
|
|
3650
3650
|
}
|
|
@@ -3689,7 +3689,7 @@ function Cf(e, t) {
|
|
|
3689
3689
|
Le(e, "unexpected end of the stream within a double quoted scalar");
|
|
3690
3690
|
}
|
|
3691
3691
|
function Sf(e, t) {
|
|
3692
|
-
var n = !0, r, l, i, s = e.tag, a, p = e.anchor,
|
|
3692
|
+
var n = !0, r, l, i, s = e.tag, a, p = e.anchor, v, b, d, h, u, f = /* @__PURE__ */ Object.create(null), y, m, g, _;
|
|
3693
3693
|
if (_ = e.input.charCodeAt(e.position), _ === 91)
|
|
3694
3694
|
b = 93, u = !1, a = [];
|
|
3695
3695
|
else if (_ === 123)
|
|
@@ -3699,12 +3699,12 @@ function Sf(e, t) {
|
|
|
3699
3699
|
for (e.anchor !== null && (e.anchorMap[e.anchor] = a), _ = e.input.charCodeAt(++e.position); _ !== 0; ) {
|
|
3700
3700
|
if (dt(e, !0, t), _ = e.input.charCodeAt(e.position), _ === b)
|
|
3701
3701
|
return e.position++, e.tag = s, e.anchor = p, e.kind = u ? "mapping" : "sequence", e.result = a, !0;
|
|
3702
|
-
n ? _ === 44 && Le(e, "expected the node content, but found ','") : Le(e, "missed comma between flow collection entries"),
|
|
3702
|
+
n ? _ === 44 && Le(e, "expected the node content, but found ','") : Le(e, "missed comma between flow collection entries"), m = y = g = null, d = h = !1, _ === 63 && (v = e.input.charCodeAt(e.position + 1), At(v) && (d = h = !0, e.position++, dt(e, !0, t))), r = e.line, l = e.lineStart, i = e.position, Sn(e, t, uo, !1, !0), m = e.tag, y = e.result, dt(e, !0, t), _ = e.input.charCodeAt(e.position), (h || e.line === r) && _ === 58 && (d = !0, _ = e.input.charCodeAt(++e.position), dt(e, !0, t), Sn(e, t, uo, !1, !0), g = e.result), u ? kn(e, a, f, m, y, g, r, l, i) : d ? a.push(kn(e, null, f, m, y, g, r, l, i)) : a.push(y), dt(e, !0, t), _ = e.input.charCodeAt(e.position), _ === 44 ? (n = !0, _ = e.input.charCodeAt(++e.position)) : n = !1;
|
|
3703
3703
|
}
|
|
3704
3704
|
Le(e, "unexpected end of the stream within a flow collection");
|
|
3705
3705
|
}
|
|
3706
3706
|
function Af(e, t) {
|
|
3707
|
-
var n, r, l = So, i = !1, s = !1, a = t, p = 0,
|
|
3707
|
+
var n, r, l = So, i = !1, s = !1, a = t, p = 0, v = !1, b, d;
|
|
3708
3708
|
if (d = e.input.charCodeAt(e.position), d === 124)
|
|
3709
3709
|
r = !1;
|
|
3710
3710
|
else if (d === 62)
|
|
@@ -3740,8 +3740,8 @@ function Af(e, t) {
|
|
|
3740
3740
|
`);
|
|
3741
3741
|
break;
|
|
3742
3742
|
}
|
|
3743
|
-
for (r ? fn(d) ? (
|
|
3744
|
-
`, i ? 1 + p : p)) :
|
|
3743
|
+
for (r ? fn(d) ? (v = !0, e.result += pt.repeat(`
|
|
3744
|
+
`, i ? 1 + p : p)) : v ? (v = !1, e.result += pt.repeat(`
|
|
3745
3745
|
`, p + 1)) : p === 0 ? i && (e.result += " ") : e.result += pt.repeat(`
|
|
3746
3746
|
`, p) : e.result += pt.repeat(`
|
|
3747
3747
|
`, i ? 1 + p : p), i = !0, s = !0, p = 0, n = e.position; !Vt(d) && d !== 0; )
|
|
@@ -3766,11 +3766,11 @@ function Cr(e, t) {
|
|
|
3766
3766
|
return a ? (e.tag = r, e.anchor = l, e.kind = "sequence", e.result = i, !0) : !1;
|
|
3767
3767
|
}
|
|
3768
3768
|
function Lf(e, t, n) {
|
|
3769
|
-
var r, l, i, s, a, p,
|
|
3769
|
+
var r, l, i, s, a, p, v = e.tag, b = e.anchor, d = {}, h = /* @__PURE__ */ Object.create(null), u = null, f = null, y = null, m = !1, g = !1, _;
|
|
3770
3770
|
if (e.firstTabInLine !== -1) return !1;
|
|
3771
3771
|
for (e.anchor !== null && (e.anchorMap[e.anchor] = d), _ = e.input.charCodeAt(e.position); _ !== 0; ) {
|
|
3772
|
-
if (!
|
|
3773
|
-
_ === 63 ? (
|
|
3772
|
+
if (!m && e.firstTabInLine !== -1 && (e.position = e.firstTabInLine, Le(e, "tab characters must not be used in indentation")), r = e.input.charCodeAt(e.position + 1), i = e.line, (_ === 63 || _ === 58) && At(r))
|
|
3773
|
+
_ === 63 ? (m && (kn(e, d, h, u, f, null, s, a, p), u = f = y = null), g = !0, m = !0, l = !0) : m ? (m = !1, l = !0) : Le(e, "incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"), e.position += 1, _ = r;
|
|
3774
3774
|
else {
|
|
3775
3775
|
if (s = e.line, a = e.lineStart, p = e.position, !Sn(e, n, Fl, !1, !0))
|
|
3776
3776
|
break;
|
|
@@ -3778,22 +3778,22 @@ function Lf(e, t, n) {
|
|
|
3778
3778
|
for (_ = e.input.charCodeAt(e.position); fn(_); )
|
|
3779
3779
|
_ = e.input.charCodeAt(++e.position);
|
|
3780
3780
|
if (_ === 58)
|
|
3781
|
-
_ = e.input.charCodeAt(++e.position), At(_) || Le(e, "a whitespace character is expected after the key-value separator within a block mapping"),
|
|
3781
|
+
_ = e.input.charCodeAt(++e.position), At(_) || Le(e, "a whitespace character is expected after the key-value separator within a block mapping"), m && (kn(e, d, h, u, f, null, s, a, p), u = f = y = null), g = !0, m = !1, l = !1, u = e.tag, f = e.result;
|
|
3782
3782
|
else if (g)
|
|
3783
3783
|
Le(e, "can not read an implicit mapping pair; a colon is missed");
|
|
3784
3784
|
else
|
|
3785
|
-
return e.tag =
|
|
3785
|
+
return e.tag = v, e.anchor = b, !0;
|
|
3786
3786
|
} else if (g)
|
|
3787
3787
|
Le(e, "can not read a block mapping entry; a multiline key may not be an implicit key");
|
|
3788
3788
|
else
|
|
3789
|
-
return e.tag =
|
|
3789
|
+
return e.tag = v, e.anchor = b, !0;
|
|
3790
3790
|
}
|
|
3791
|
-
if ((e.line === i || e.lineIndent > t) && (
|
|
3791
|
+
if ((e.line === i || e.lineIndent > t) && (m && (s = e.line, a = e.lineStart, p = e.position), Sn(e, t, co, !0, l) && (m ? f = e.result : y = e.result), m || (kn(e, d, h, u, f, y, s, a, p), u = f = y = null), dt(e, !0, -1), _ = e.input.charCodeAt(e.position)), (e.line === i || e.lineIndent > t) && _ !== 0)
|
|
3792
3792
|
Le(e, "bad indentation of a mapping entry");
|
|
3793
3793
|
else if (e.lineIndent < t)
|
|
3794
3794
|
break;
|
|
3795
3795
|
}
|
|
3796
|
-
return
|
|
3796
|
+
return m && kn(e, d, h, u, f, null, s, a, p), g && (e.tag = v, e.anchor = b, e.kind = "mapping", e.result = d), g;
|
|
3797
3797
|
}
|
|
3798
3798
|
function Mf(e) {
|
|
3799
3799
|
var t, n = !1, r = !1, l, i, s;
|
|
@@ -3831,11 +3831,11 @@ function Tf(e) {
|
|
|
3831
3831
|
return e.position === t && Le(e, "name of an alias node must contain at least one character"), n = e.input.slice(t, e.position), on.call(e.anchorMap, n) || Le(e, 'unidentified alias "' + n + '"'), e.result = e.anchorMap[n], dt(e, !0, -1), !0;
|
|
3832
3832
|
}
|
|
3833
3833
|
function Sn(e, t, n, r, l) {
|
|
3834
|
-
var i, s, a, p = 1,
|
|
3835
|
-
if (e.listener !== null && e.listener("open", e), e.tag = null, e.anchor = null, e.kind = null, e.result = null, i = s = a = co === n || Il === n, r && dt(e, !0, -1) && (
|
|
3834
|
+
var i, s, a, p = 1, v = !1, b = !1, d, h, u, f, y, m;
|
|
3835
|
+
if (e.listener !== null && e.listener("open", e), e.tag = null, e.anchor = null, e.kind = null, e.result = null, i = s = a = co === n || Il === n, r && dt(e, !0, -1) && (v = !0, e.lineIndent > t ? p = 1 : e.lineIndent === t ? p = 0 : e.lineIndent < t && (p = -1)), p === 1)
|
|
3836
3836
|
for (; Mf(e) || Ef(e); )
|
|
3837
|
-
dt(e, !0, -1) ? (
|
|
3838
|
-
if (a && (a =
|
|
3837
|
+
dt(e, !0, -1) ? (v = !0, a = i, e.lineIndent > t ? p = 1 : e.lineIndent === t ? p = 0 : e.lineIndent < t && (p = -1)) : a = !1;
|
|
3838
|
+
if (a && (a = v || l), (p === 1 || co === n) && (uo === n || Fl === n ? y = t : y = t + 1, m = e.position - e.lineStart, p === 1 ? a && (Cr(e, m) || Lf(e, m, y)) || Sf(e, y) ? b = !0 : (s && Af(e, y) || $f(e, y) || Cf(e, y) ? b = !0 : Tf(e) ? (b = !0, (e.tag !== null || e.anchor !== null) && Le(e, "alias node should not have any properties")) : kf(e, y, uo === n) && (b = !0, e.tag === null && (e.tag = "?")), e.anchor !== null && (e.anchorMap[e.anchor] = e.result)) : p === 0 && (b = a && Cr(e, m))), e.tag === null)
|
|
3839
3839
|
e.anchor !== null && (e.anchorMap[e.anchor] = e.result);
|
|
3840
3840
|
else if (e.tag === "?") {
|
|
3841
3841
|
for (e.result !== null && e.kind !== "scalar" && Le(e, 'unacceptable node kind for !<?> tag; it should be "scalar", not "' + e.kind + '"'), d = 0, h = e.implicitTypes.length; d < h; d += 1)
|
|
@@ -4025,21 +4025,21 @@ function Zl(e) {
|
|
|
4025
4025
|
}
|
|
4026
4026
|
var Gl = 1, Po = 2, Kl = 3, Xl = 4, wn = 5;
|
|
4027
4027
|
function ap(e, t, n, r, l, i, s, a) {
|
|
4028
|
-
var p,
|
|
4028
|
+
var p, v = 0, b = null, d = !1, h = !1, u = r !== -1, f = -1, y = sp(Vn(e, 0)) && ip(Vn(e, e.length - 1));
|
|
4029
4029
|
if (t || s)
|
|
4030
|
-
for (p = 0; p < e.length;
|
|
4031
|
-
if (
|
|
4030
|
+
for (p = 0; p < e.length; v >= 65536 ? p += 2 : p++) {
|
|
4031
|
+
if (v = Vn(e, p), !Wn(v))
|
|
4032
4032
|
return wn;
|
|
4033
|
-
y = y && Lr(
|
|
4033
|
+
y = y && Lr(v, b, a), b = v;
|
|
4034
4034
|
}
|
|
4035
4035
|
else {
|
|
4036
|
-
for (p = 0; p < e.length;
|
|
4037
|
-
if (
|
|
4036
|
+
for (p = 0; p < e.length; v >= 65536 ? p += 2 : p++) {
|
|
4037
|
+
if (v = Vn(e, p), v === qn)
|
|
4038
4038
|
d = !0, u && (h = h || // Foldable line = too long, and not more-indented.
|
|
4039
4039
|
p - f - 1 > r && e[f + 1] !== " ", f = p);
|
|
4040
|
-
else if (!Wn(
|
|
4040
|
+
else if (!Wn(v))
|
|
4041
4041
|
return wn;
|
|
4042
|
-
y = y && Lr(
|
|
4042
|
+
y = y && Lr(v, b, a), b = v;
|
|
4043
4043
|
}
|
|
4044
4044
|
h = h || u && p - f - 1 > r && e[f + 1] !== " ";
|
|
4045
4045
|
}
|
|
@@ -4052,8 +4052,8 @@ function up(e, t, n, r, l) {
|
|
|
4052
4052
|
if (!e.noCompatMode && (Jf.indexOf(t) !== -1 || ep.test(t)))
|
|
4053
4053
|
return e.quotingType === Hn ? '"' + t + '"' : "'" + t + "'";
|
|
4054
4054
|
var i = e.indent * Math.max(1, n), s = e.lineWidth === -1 ? -1 : Math.max(Math.min(e.lineWidth, 40), e.lineWidth - i), a = r || e.flowLevel > -1 && n >= e.flowLevel;
|
|
4055
|
-
function p(
|
|
4056
|
-
return lp(e,
|
|
4055
|
+
function p(v) {
|
|
4056
|
+
return lp(e, v);
|
|
4057
4057
|
}
|
|
4058
4058
|
switch (ap(
|
|
4059
4059
|
t,
|
|
@@ -4094,9 +4094,9 @@ function Er(e) {
|
|
|
4094
4094
|
}
|
|
4095
4095
|
function cp(e, t) {
|
|
4096
4096
|
for (var n = /(\n+)([^\n]*)/g, r = (function() {
|
|
4097
|
-
var
|
|
4097
|
+
var v = e.indexOf(`
|
|
4098
4098
|
`);
|
|
4099
|
-
return
|
|
4099
|
+
return v = v !== -1 ? v : e.length, n.lastIndex = v, Tr(e.slice(0, v), t);
|
|
4100
4100
|
})(), l = e[0] === `
|
|
4101
4101
|
` || e[0] === " ", i, s; s = n.exec(e); ) {
|
|
4102
4102
|
var a = s[1], p = s[2];
|
|
@@ -4132,13 +4132,13 @@ function Fr(e, t, n, r) {
|
|
|
4132
4132
|
e.tag = i, e.dump = l || "[]";
|
|
4133
4133
|
}
|
|
4134
4134
|
function pp(e, t, n) {
|
|
4135
|
-
var r = "", l = e.tag, i = Object.keys(n), s, a, p,
|
|
4135
|
+
var r = "", l = e.tag, i = Object.keys(n), s, a, p, v, b;
|
|
4136
4136
|
for (s = 0, a = i.length; s < a; s += 1)
|
|
4137
|
-
b = "", r !== "" && (b += ", "), e.condenseFlow && (b += '"'), p = i[s],
|
|
4137
|
+
b = "", r !== "" && (b += ", "), e.condenseFlow && (b += '"'), p = i[s], v = n[p], e.replacer && (v = e.replacer.call(n, p, v)), Xt(e, t, p, !1, !1) && (e.dump.length > 1024 && (b += "? "), b += e.dump + (e.condenseFlow ? '"' : "") + ":" + (e.condenseFlow ? "" : " "), Xt(e, t, v, !1, !1) && (b += e.dump, r += b));
|
|
4138
4138
|
e.tag = l, e.dump = "{" + r + "}";
|
|
4139
4139
|
}
|
|
4140
4140
|
function mp(e, t, n, r) {
|
|
4141
|
-
var l = "", i = e.tag, s = Object.keys(n), a, p,
|
|
4141
|
+
var l = "", i = e.tag, s = Object.keys(n), a, p, v, b, d, h;
|
|
4142
4142
|
if (e.sortKeys === !0)
|
|
4143
4143
|
s.sort();
|
|
4144
4144
|
else if (typeof e.sortKeys == "function")
|
|
@@ -4146,7 +4146,7 @@ function mp(e, t, n, r) {
|
|
|
4146
4146
|
else if (e.sortKeys)
|
|
4147
4147
|
throw new kt("sortKeys must be a boolean or a function");
|
|
4148
4148
|
for (a = 0, p = s.length; a < p; a += 1)
|
|
4149
|
-
h = "", (!r || l !== "") && (h += No(e, t)),
|
|
4149
|
+
h = "", (!r || l !== "") && (h += No(e, t)), v = s[a], b = n[v], e.replacer && (b = e.replacer.call(n, v, b)), Xt(e, t + 1, v, !0, !0, !0) && (d = e.tag !== null && e.tag !== "?" || e.dump && e.dump.length > 1024, d && (e.dump && qn === e.dump.charCodeAt(0) ? h += "?" : h += "? "), h += e.dump, d && (h += No(e, t)), Xt(e, t + 1, b, !0, d) && (e.dump && qn === e.dump.charCodeAt(0) ? h += ":" : h += ": ", h += e.dump, l += h));
|
|
4150
4150
|
e.tag = i, e.dump = l || "{}";
|
|
4151
4151
|
}
|
|
4152
4152
|
function Ir(e, t, n) {
|
|
@@ -4168,7 +4168,7 @@ function Ir(e, t, n) {
|
|
|
4168
4168
|
}
|
|
4169
4169
|
function Xt(e, t, n, r, l, i, s) {
|
|
4170
4170
|
e.tag = null, e.dump = n, Ir(e, n, !1) || Ir(e, n, !0);
|
|
4171
|
-
var a = Vl.call(e.dump), p = r,
|
|
4171
|
+
var a = Vl.call(e.dump), p = r, v;
|
|
4172
4172
|
r && (r = e.flowLevel < 0 || e.flowLevel > t);
|
|
4173
4173
|
var b = a === "[object Object]" || a === "[object Array]", d, h;
|
|
4174
4174
|
if (b && (d = e.duplicates.indexOf(n), h = d !== -1), (e.tag !== null && e.tag !== "?" || h || e.indent !== 2 && t > 0) && (l = !1), h && e.usedDuplicates[d])
|
|
@@ -4186,9 +4186,9 @@ function Xt(e, t, n, r, l, i, s) {
|
|
|
4186
4186
|
if (e.skipInvalid) return !1;
|
|
4187
4187
|
throw new kt("unacceptable kind of an object to dump " + a);
|
|
4188
4188
|
}
|
|
4189
|
-
e.tag !== null && e.tag !== "?" && (
|
|
4189
|
+
e.tag !== null && e.tag !== "?" && (v = encodeURI(
|
|
4190
4190
|
e.tag[0] === "!" ? e.tag.slice(1) : e.tag
|
|
4191
|
-
).replace(/!/g, "%21"), e.tag[0] === "!" ?
|
|
4191
|
+
).replace(/!/g, "%21"), e.tag[0] === "!" ? v = "!" + v : v.slice(0, 18) === "tag:yaml.org,2002:" ? v = "!!" + v.slice(18) : v = "!<" + v + ">", e.dump = v + " " + e.dump);
|
|
4192
4192
|
}
|
|
4193
4193
|
return !0;
|
|
4194
4194
|
}
|
|
@@ -4452,14 +4452,14 @@ const Jp = /* @__PURE__ */ Te(Kp, [["render", Qp]]), Jo = /* @__PURE__ */ me({
|
|
|
4452
4452
|
return zt;
|
|
4453
4453
|
}
|
|
4454
4454
|
}
|
|
4455
|
-
function
|
|
4455
|
+
function v(k) {
|
|
4456
4456
|
return typeof (k == null ? void 0 : k.is_active) == "boolean" ? k.is_active ? "Активний" : "Неактивний" : typeof (k == null ? void 0 : k.enabled) == "boolean" ? k.enabled ? "Активний" : "Неактивний" : zt;
|
|
4457
4457
|
}
|
|
4458
4458
|
function b(k) {
|
|
4459
4459
|
return typeof (k == null ? void 0 : k.is_public) != "boolean" ? zt : k.is_public ? "Публічний" : "Приватний";
|
|
4460
4460
|
}
|
|
4461
4461
|
const d = P(() => {
|
|
4462
|
-
const k = l.data, C = (k == null ? void 0 : k.group_name) ?? s.value ?? ((k == null ? void 0 : k.group_id) != null ? String(k.group_id) : zt), $ =
|
|
4462
|
+
const k = l.data, C = (k == null ? void 0 : k.group_name) ?? s.value ?? ((k == null ? void 0 : k.group_id) != null ? String(k.group_id) : zt), $ = v(k), A = b(k), N = k != null && k.created_at ? p(k.created_at) : zt;
|
|
4463
4463
|
return [
|
|
4464
4464
|
{ label: "Група", value: C },
|
|
4465
4465
|
{ label: "Статус", value: $ },
|
|
@@ -4478,7 +4478,7 @@ const Jp = /* @__PURE__ */ Te(Kp, [["render", Qp]]), Jo = /* @__PURE__ */ me({
|
|
|
4478
4478
|
{ label: "Рік", value: A },
|
|
4479
4479
|
{ label: "Ключові слова", value: N }
|
|
4480
4480
|
];
|
|
4481
|
-
}), f = T(!1), y = T({}),
|
|
4481
|
+
}), f = T(!1), y = T({}), m = T(null), g = T(!1), _ = [
|
|
4482
4482
|
{
|
|
4483
4483
|
name: "description",
|
|
4484
4484
|
type: "textarea",
|
|
@@ -4543,13 +4543,13 @@ const Jp = /* @__PURE__ */ Te(Kp, [["render", Qp]]), Jo = /* @__PURE__ */ me({
|
|
|
4543
4543
|
keywords: Array.isArray(k == null ? void 0 : k.keywords) ? [...k.keywords] : [],
|
|
4544
4544
|
is_public: (k == null ? void 0 : k.is_public) ?? !1,
|
|
4545
4545
|
is_active: typeof (k == null ? void 0 : k.is_active) == "boolean" ? k.is_active : (k == null ? void 0 : k.enabled) ?? !1
|
|
4546
|
-
},
|
|
4546
|
+
}, m.value = null, f.value = !0;
|
|
4547
4547
|
}
|
|
4548
4548
|
async function L() {
|
|
4549
4549
|
var k, C;
|
|
4550
4550
|
if (!(!l.entityId || !l.entityType)) {
|
|
4551
|
-
if (
|
|
4552
|
-
const $ = (C = (k =
|
|
4551
|
+
if (m.value) {
|
|
4552
|
+
const $ = (C = (k = m.value).validate) == null ? void 0 : C.call(k);
|
|
4553
4553
|
if ($) {
|
|
4554
4554
|
je({
|
|
4555
4555
|
type: "warning",
|
|
@@ -4657,8 +4657,8 @@ const Jp = /* @__PURE__ */ Te(Kp, [["render", Qp]]), Jo = /* @__PURE__ */ me({
|
|
|
4657
4657
|
ne(se(r), {
|
|
4658
4658
|
values: y.value,
|
|
4659
4659
|
"onUpdate:values": C[0] || (C[0] = ($) => y.value = $),
|
|
4660
|
-
form:
|
|
4661
|
-
"onUpdate:form": C[1] || (C[1] = ($) =>
|
|
4660
|
+
form: m.value,
|
|
4661
|
+
"onUpdate:form": C[1] || (C[1] = ($) => m.value = $),
|
|
4662
4662
|
schema: _
|
|
4663
4663
|
}, null, 8, ["values", "form"])
|
|
4664
4664
|
]),
|
|
@@ -4956,8 +4956,8 @@ function xm(e, t) {
|
|
|
4956
4956
|
const n = /[a-zA-Z_-]+\s*:/g;
|
|
4957
4957
|
let r;
|
|
4958
4958
|
for (; (r = n.exec(e)) !== null; ) {
|
|
4959
|
-
const l = r[0].replace(/\s*:$/, "").trim(), i = r.index + 1, s = r.index + r[0].length, p = e.substring(s).indexOf(";"),
|
|
4960
|
-
if (t >= i && t <=
|
|
4959
|
+
const l = r[0].replace(/\s*:$/, "").trim(), i = r.index + 1, s = r.index + r[0].length, p = e.substring(s).indexOf(";"), v = p >= 0 ? s + p + 1 : e.length + 1;
|
|
4960
|
+
if (t >= i && t <= v)
|
|
4961
4961
|
return ns.includes(l) ? l : null;
|
|
4962
4962
|
}
|
|
4963
4963
|
return null;
|
|
@@ -5010,15 +5010,15 @@ const Gn = /* @__PURE__ */ me({
|
|
|
5010
5010
|
if (window.monaco)
|
|
5011
5011
|
return s = window.monaco, b(s);
|
|
5012
5012
|
const h = (f) => {
|
|
5013
|
-
if ([...document.styleSheets].some((
|
|
5013
|
+
if ([...document.styleSheets].some((m) => {
|
|
5014
5014
|
var g;
|
|
5015
|
-
return (g =
|
|
5015
|
+
return (g = m == null ? void 0 : m.href) == null ? void 0 : g.includes(f);
|
|
5016
5016
|
})) return;
|
|
5017
5017
|
const y = document.createElement("link");
|
|
5018
5018
|
y.rel = "stylesheet", y.href = f, document.head.appendChild(y);
|
|
5019
|
-
}, u = (f) => new Promise((y,
|
|
5019
|
+
}, u = (f) => new Promise((y, m) => {
|
|
5020
5020
|
const g = document.createElement("script");
|
|
5021
|
-
g.src = f, g.onload = () => y(!0), g.onerror =
|
|
5021
|
+
g.src = f, g.onload = () => y(!0), g.onerror = m, document.body.appendChild(g);
|
|
5022
5022
|
});
|
|
5023
5023
|
h("https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.52.0/min/vs/editor/editor.main.min.css"), u("https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.52.0/min/vs/loader.min.js").then(() => {
|
|
5024
5024
|
window.require.config({
|
|
@@ -5029,7 +5029,7 @@ const Gn = /* @__PURE__ */ me({
|
|
|
5029
5029
|
}).catch(d);
|
|
5030
5030
|
});
|
|
5031
5031
|
}
|
|
5032
|
-
function
|
|
5032
|
+
function v() {
|
|
5033
5033
|
var d, h;
|
|
5034
5034
|
if (!l.value || !s) return;
|
|
5035
5035
|
i && i.dispose(), i = s.editor.create(l.value, {
|
|
@@ -5060,7 +5060,7 @@ const Gn = /* @__PURE__ */ me({
|
|
|
5060
5060
|
), le(() => n.theme, (b) => {
|
|
5061
5061
|
i && s && s.editor.setTheme(b || "vs-light");
|
|
5062
5062
|
}), Ue(async () => {
|
|
5063
|
-
await p(), bm(s),
|
|
5063
|
+
await p(), bm(s), v();
|
|
5064
5064
|
}), Ve(() => {
|
|
5065
5065
|
i && i.dispose();
|
|
5066
5066
|
}), (b, d) => (c(), x("div", {
|
|
@@ -5082,20 +5082,20 @@ const Gn = /* @__PURE__ */ me({
|
|
|
5082
5082
|
le(
|
|
5083
5083
|
() => n.styleText,
|
|
5084
5084
|
(p) => {
|
|
5085
|
-
const
|
|
5086
|
-
l.value !==
|
|
5085
|
+
const v = p ?? "";
|
|
5086
|
+
l.value !== v && (l.value = v);
|
|
5087
5087
|
},
|
|
5088
5088
|
{ immediate: !0 }
|
|
5089
5089
|
), le(l, async (p) => {
|
|
5090
5090
|
var b, d;
|
|
5091
|
-
const
|
|
5092
|
-
n.styleText !==
|
|
5091
|
+
const v = p ?? "";
|
|
5092
|
+
n.styleText !== v && r("update:style-text", v);
|
|
5093
5093
|
try {
|
|
5094
5094
|
const h = p ? Ql(p) : null;
|
|
5095
5095
|
if ((b = h == null ? void 0 : h.colorAttr) != null && b.length && ((d = n.styleYaml) == null ? void 0 : d.colorAttr) !== h.colorAttr) {
|
|
5096
5096
|
const u = await i(h.colorAttr);
|
|
5097
5097
|
h.colors = u.reduce(
|
|
5098
|
-
(y,
|
|
5098
|
+
(y, m, g) => ({ ...y, [m.id.toString()]: s[g] }),
|
|
5099
5099
|
{}
|
|
5100
5100
|
);
|
|
5101
5101
|
const f = Jl(h);
|
|
@@ -5128,11 +5128,11 @@ const Gn = /* @__PURE__ */ me({
|
|
|
5128
5128
|
headers: { "Content-Type": "application/json" },
|
|
5129
5129
|
body: JSON.stringify({ style: p })
|
|
5130
5130
|
}), r("update"), je({ type: "success", title: "Успіх", message: "Стилі збережено" });
|
|
5131
|
-
} catch (
|
|
5132
|
-
je({ type: "error", title: "Помилка", message: "Не вдалося зберегти стилі" }), console.log(
|
|
5131
|
+
} catch (v) {
|
|
5132
|
+
je({ type: "error", title: "Помилка", message: "Не вдалося зберегти стилі" }), console.log(v);
|
|
5133
5133
|
}
|
|
5134
5134
|
};
|
|
5135
|
-
return (p,
|
|
5135
|
+
return (p, v) => (c(), x("div", wm, [
|
|
5136
5136
|
o("div", _m, [
|
|
5137
5137
|
o("a", {
|
|
5138
5138
|
target: "_blank",
|
|
@@ -5142,7 +5142,7 @@ const Gn = /* @__PURE__ */ me({
|
|
|
5142
5142
|
o("button", {
|
|
5143
5143
|
onClick: a,
|
|
5144
5144
|
class: "inline-flex items-center justify-center gap-1 px-3 py-1.5 rounded-md bg-sky-100 hover:bg-sky-200 text-sky-700 font-medium text-sm transition disabled:opacity-70 disabled:cursor-not-allowed"
|
|
5145
|
-
}, [...
|
|
5145
|
+
}, [...v[1] || (v[1] = [
|
|
5146
5146
|
o("svg", {
|
|
5147
5147
|
xmlns: "http://www.w3.org/2000/svg",
|
|
5148
5148
|
width: "24",
|
|
@@ -5164,13 +5164,13 @@ const Gn = /* @__PURE__ */ me({
|
|
|
5164
5164
|
]),
|
|
5165
5165
|
o("div", $m, [
|
|
5166
5166
|
o("div", Cm, [
|
|
5167
|
-
|
|
5167
|
+
v[2] || (v[2] = o("div", { class: "bg-gradient-to-r from-gray-50 to-gray-100 px-4 py-2 border-b border-gray-200 flex items-center justify-between" }, [
|
|
5168
5168
|
o("div", { class: "text-xs text-gray-400" }, "YAML")
|
|
5169
5169
|
], -1)),
|
|
5170
5170
|
o("div", Sm, [
|
|
5171
5171
|
ne(Gn, {
|
|
5172
5172
|
modelValue: l.value,
|
|
5173
|
-
"onUpdate:modelValue":
|
|
5173
|
+
"onUpdate:modelValue": v[0] || (v[0] = (b) => l.value = b),
|
|
5174
5174
|
language: "yaml",
|
|
5175
5175
|
theme: "vs-light"
|
|
5176
5176
|
}, null, 8, ["modelValue"])
|
|
@@ -5221,12 +5221,12 @@ function Lm(e) {
|
|
|
5221
5221
|
if (u == null) return f;
|
|
5222
5222
|
const y = Number(typeof u == "string" ? u.trim() : u);
|
|
5223
5223
|
return Number.isFinite(y) ? y : f;
|
|
5224
|
-
},
|
|
5224
|
+
}, v = (u) => {
|
|
5225
5225
|
if (!t.value || !u) return;
|
|
5226
5226
|
const f = pn(u.center);
|
|
5227
5227
|
f && t.value.setCenter(f);
|
|
5228
|
-
const y = t.value.getZoom(),
|
|
5229
|
-
if (
|
|
5228
|
+
const y = t.value.getZoom(), m = p(u.zoom, y);
|
|
5229
|
+
if (m !== y && t.value.setZoom(m), typeof t.value.getMaxZoom == "function" && typeof t.value.setMaxZoom == "function") {
|
|
5230
5230
|
const g = t.value.getMaxZoom(), _ = p(u.maxZoom, g);
|
|
5231
5231
|
_ !== g && t.value.setMaxZoom(_);
|
|
5232
5232
|
}
|
|
@@ -5240,11 +5240,11 @@ function Lm(e) {
|
|
|
5240
5240
|
if (typeof window > "u" || t.value) return;
|
|
5241
5241
|
const u = s();
|
|
5242
5242
|
if (!u) throw new Error("Map container not found");
|
|
5243
|
-
const f = se(e.settings) || null, y = pn((L = f == null ? void 0 : f.map) == null ? void 0 : L.center) || [30, 50],
|
|
5243
|
+
const f = se(e.settings) || null, y = pn((L = f == null ? void 0 : f.map) == null ? void 0 : L.center) || [30, 50], m = p((k = f == null ? void 0 : f.map) == null ? void 0 : k.zoom, 7), g = p((C = f == null ? void 0 : f.map) == null ? void 0 : C.maxZoom, 20), E = {
|
|
5244
5244
|
...{
|
|
5245
5245
|
attributionControl: !1,
|
|
5246
5246
|
center: y,
|
|
5247
|
-
zoom:
|
|
5247
|
+
zoom: m,
|
|
5248
5248
|
maxZoom: g,
|
|
5249
5249
|
minZoom: 4
|
|
5250
5250
|
},
|
|
@@ -5265,7 +5265,7 @@ function Lm(e) {
|
|
|
5265
5265
|
typeof e.controls.geolocate == "object" ? e.controls.geolocate : {}
|
|
5266
5266
|
), "top-right"), t.value.once("load", () => {
|
|
5267
5267
|
var K;
|
|
5268
|
-
|
|
5268
|
+
v((K = se(e.settings)) == null ? void 0 : K.map), n.value = !0, i();
|
|
5269
5269
|
});
|
|
5270
5270
|
};
|
|
5271
5271
|
le(
|
|
@@ -5274,7 +5274,7 @@ function Lm(e) {
|
|
|
5274
5274
|
return (u = se(e.settings)) == null ? void 0 : u.map;
|
|
5275
5275
|
},
|
|
5276
5276
|
(u) => {
|
|
5277
|
-
|
|
5277
|
+
v(u);
|
|
5278
5278
|
},
|
|
5279
5279
|
{ deep: !0 }
|
|
5280
5280
|
);
|
|
@@ -5310,8 +5310,8 @@ function Lm(e) {
|
|
|
5310
5310
|
return (f = t.value) == null ? void 0 : f.removeControl(u);
|
|
5311
5311
|
},
|
|
5312
5312
|
on: (u, f, y) => {
|
|
5313
|
-
var
|
|
5314
|
-
return typeof f == "string" ? ((
|
|
5313
|
+
var m, g;
|
|
5314
|
+
return typeof f == "string" ? ((m = t.value) == null || m.on(u, f, y), () => {
|
|
5315
5315
|
var _;
|
|
5316
5316
|
return (_ = t.value) == null ? void 0 : _.off(u, f, y);
|
|
5317
5317
|
}) : ((g = t.value) == null || g.on(u, f), () => {
|
|
@@ -5320,8 +5320,8 @@ function Lm(e) {
|
|
|
5320
5320
|
});
|
|
5321
5321
|
},
|
|
5322
5322
|
off: (u, f, y) => {
|
|
5323
|
-
var
|
|
5324
|
-
typeof f == "string" ? (
|
|
5323
|
+
var m, g;
|
|
5324
|
+
typeof f == "string" ? (m = t.value) == null || m.off(u, f, y) : (g = t.value) == null || g.off(u, f);
|
|
5325
5325
|
},
|
|
5326
5326
|
project: (u) => {
|
|
5327
5327
|
var f;
|
|
@@ -5391,12 +5391,12 @@ function Pm(e, t = {}) {
|
|
|
5391
5391
|
if (!n) return [];
|
|
5392
5392
|
const r = zm(n);
|
|
5393
5393
|
if (!r) return [];
|
|
5394
|
-
const l = r, i = (t.geometry || e.type || "point").toString().toLowerCase(), s = ct(e, ["text-font", "textFont"]), a = Ao(ct(e, ["text-size", "textSize"]), Em), p = ct(e, ["text-allow-overlap", "textAllowOverlap"]),
|
|
5394
|
+
const l = r, i = (t.geometry || e.type || "point").toString().toLowerCase(), s = ct(e, ["text-font", "textFont"]), a = Ao(ct(e, ["text-size", "textSize"]), Em), p = ct(e, ["text-allow-overlap", "textAllowOverlap"]), v = ct(e, [
|
|
5395
5395
|
"text-minzoom",
|
|
5396
5396
|
"textMinZoom",
|
|
5397
5397
|
"textZoom",
|
|
5398
5398
|
"text-zoom"
|
|
5399
|
-
]), b = ct(e, ["text-maxzoom", "textMaxZoom", "maxzoom"]), d = ct(e, ["text-color", "textColor"]) || Tm, h = ct(e, ["text-halo-color", "textHaloColor"]) || Fm, u = ct(e, ["text-halo-width", "textHaloWidth"]), f = ct(e, ["text-halo-blur", "textHaloBlur"]), y = ct(e, ["text-offset", "textOffset"]),
|
|
5399
|
+
]), b = ct(e, ["text-maxzoom", "textMaxZoom", "maxzoom"]), d = ct(e, ["text-color", "textColor"]) || Tm, h = ct(e, ["text-halo-color", "textHaloColor"]) || Fm, u = ct(e, ["text-halo-width", "textHaloWidth"]), f = ct(e, ["text-halo-blur", "textHaloBlur"]), y = ct(e, ["text-offset", "textOffset"]), m = ct(e, ["text-anchor", "textAnchor"]), g = ct(e, ["text-justify", "textJustify"]), _ = ct(e, ["text-letter-spacing", "textLetterSpacing"]), E = ct(e, ["text-transform", "textTransform"]), L = ct(e, ["symbol-placement", "symbolPlacement"]), k = ct(e, ["symbol-spacing", "symbolSpacing"]), C = ct(e, [
|
|
5400
5400
|
"text-rotation-alignment",
|
|
5401
5401
|
"textRotationAlignment"
|
|
5402
5402
|
]), $ = ct(e, ["text-pitch-alignment", "textPitchAlignment"]), A = ct(e, ["text-opacity", "textOpacity"]), N = {
|
|
@@ -5405,7 +5405,7 @@ function Pm(e, t = {}) {
|
|
|
5405
5405
|
"text-size": a,
|
|
5406
5406
|
"text-allow-overlap": p ?? !1
|
|
5407
5407
|
};
|
|
5408
|
-
y && (N["text-offset"] = y), i !== "line" && (N["text-anchor"] =
|
|
5408
|
+
y && (N["text-offset"] = y), i !== "line" && (N["text-anchor"] = m ?? "center"), g && (N["text-justify"] = g), _ !== void 0 && (N["text-letter-spacing"] = _), E && (N["text-transform"] = E), k !== void 0 && (N["symbol-spacing"] = k), i === "line" ? (N["symbol-placement"] = L || "line", N["text-rotation-alignment"] = C || "map", N["text-pitch-alignment"] = $ || "map") : (C && (N["text-rotation-alignment"] = C), $ && (N["text-pitch-alignment"] = $), L && (N["symbol-placement"] = L)), m && i === "line" && (N["text-anchor"] = m);
|
|
5409
5409
|
const D = {
|
|
5410
5410
|
"text-color": d,
|
|
5411
5411
|
"text-opacity": A ?? 1
|
|
@@ -5415,7 +5415,7 @@ function Pm(e, t = {}) {
|
|
|
5415
5415
|
type: "symbol",
|
|
5416
5416
|
layout: N,
|
|
5417
5417
|
paint: D
|
|
5418
|
-
}, oe = Ao(
|
|
5418
|
+
}, oe = Ao(v, Im);
|
|
5419
5419
|
if (K.minzoom = oe, b !== void 0) {
|
|
5420
5420
|
const Q = Ao(b, void 0);
|
|
5421
5421
|
Q !== void 0 && (K.maxzoom = Q);
|
|
@@ -5459,7 +5459,7 @@ function bn(e, t) {
|
|
|
5459
5459
|
function Om(e, t) {
|
|
5460
5460
|
const n = (e == null ? void 0 : e.clusterZoom) ?? (e == null ? void 0 : e.pointZoom) ?? (e == null ? void 0 : e.iconZoom) ?? 12, r = Number(n);
|
|
5461
5461
|
if (!Number.isFinite(r)) return null;
|
|
5462
|
-
const l = ["get", "point_count"], i = ["has", "point_count"], s = ["!", i],
|
|
5462
|
+
const l = ["get", "point_count"], i = ["has", "point_count"], s = ["!", i], v = {
|
|
5463
5463
|
type: "circle",
|
|
5464
5464
|
maxzoom: r,
|
|
5465
5465
|
filter: i,
|
|
@@ -5520,7 +5520,7 @@ function Om(e, t) {
|
|
|
5520
5520
|
...t,
|
|
5521
5521
|
filter: ["all", s, t.filter || !0]
|
|
5522
5522
|
};
|
|
5523
|
-
return [
|
|
5523
|
+
return [v, b, d];
|
|
5524
5524
|
}
|
|
5525
5525
|
function Nr(e, t) {
|
|
5526
5526
|
const n = tr(e);
|
|
@@ -5637,10 +5637,10 @@ function Xe(e, t, n) {
|
|
|
5637
5637
|
if (!t) return Mo[e];
|
|
5638
5638
|
const { map: r, ready: l = () => Promise.resolve() } = it(n), i = e || ((oe = t.layer) == null ? void 0 : oe.id), s = t.sourceId ?? e, a = { ...t };
|
|
5639
5639
|
a.point && (a.source = qm(a.point)), !a.layer && ((ae = a.source) == null ? void 0 : ae.type) === "raster" && (a.layer = { id: s, type: "raster", source: s }), a.layer && !a.layer.source && Object.assign(a.layer, { source: s });
|
|
5640
|
-
let p = !1,
|
|
5640
|
+
let p = !1, v = !1;
|
|
5641
5641
|
const b = () => {
|
|
5642
5642
|
var Q, ue, Y, R, O, re, F, S, I, B;
|
|
5643
|
-
if (!(
|
|
5643
|
+
if (!(v || !r.value)) {
|
|
5644
5644
|
if (a.source && !r.value.getSource(s) && r.value.addSource(s, a.source), !r.value.getLayer(i)) {
|
|
5645
5645
|
const U = a.beforeId === 0 ? (ue = (Q = r.value.getStyle().layers) == null ? void 0 : Q[0]) == null ? void 0 : ue.id : a.beforeId;
|
|
5646
5646
|
(R = (Y = a.layer) == null ? void 0 : Y.style) != null && R.icon && Or(r.value, a.layer.style.icon, a.layer.style.colors);
|
|
@@ -5685,7 +5685,7 @@ function Xe(e, t, n) {
|
|
|
5685
5685
|
if (!r.value) return;
|
|
5686
5686
|
(((O = (R = (Y = r.value).getStyle) == null ? void 0 : R.call(Y)) == null ? void 0 : O.layers) ?? []).filter((re) => re.source === i).forEach((re) => {
|
|
5687
5687
|
r.value.removeLayer(re.id);
|
|
5688
|
-
}),
|
|
5688
|
+
}), v = !0, a.source && Q && r.value.getSource(s) && r.value.removeSource(s);
|
|
5689
5689
|
}, f = async (Q) => {
|
|
5690
5690
|
var O, re, F, S, I;
|
|
5691
5691
|
if (!r.value) return;
|
|
@@ -5708,7 +5708,7 @@ function Xe(e, t, n) {
|
|
|
5708
5708
|
r.value && Object.entries(Q).forEach(([ue, Y]) => {
|
|
5709
5709
|
r.value.setPaintProperty(i, ue, Y);
|
|
5710
5710
|
});
|
|
5711
|
-
},
|
|
5711
|
+
}, m = (Q, ue, Y) => {
|
|
5712
5712
|
const R = r.value;
|
|
5713
5713
|
if (R)
|
|
5714
5714
|
switch (ue) {
|
|
@@ -5750,10 +5750,10 @@ function Xe(e, t, n) {
|
|
|
5750
5750
|
const Y = (((R = r.value.getStyle()) == null ? void 0 : R.layers) || []).filter((O) => O.source === s);
|
|
5751
5751
|
if (!Y.length) {
|
|
5752
5752
|
const O = r.value.getLayer(i);
|
|
5753
|
-
O &&
|
|
5753
|
+
O && m(i, O.type, Q);
|
|
5754
5754
|
return;
|
|
5755
5755
|
}
|
|
5756
|
-
Y.forEach((O) =>
|
|
5756
|
+
Y.forEach((O) => m(O.id, O.type, Q));
|
|
5757
5757
|
},
|
|
5758
5758
|
setData: (Q) => {
|
|
5759
5759
|
if (!r.value) return;
|
|
@@ -5826,7 +5826,7 @@ const Hm = { class: "flex flex-col flex-1 min-h-0" }, Wm = { class: "flex flex-c
|
|
|
5826
5826
|
// { key: "ua", label: "UA" },
|
|
5827
5827
|
// { key: "format", label: "Format" },
|
|
5828
5828
|
// { key: "meta", label: "Meta" },
|
|
5829
|
-
],
|
|
5829
|
+
], v = {
|
|
5830
5830
|
name: { type: "text", label: "Назва", disabled: !0, validators: ["required"] },
|
|
5831
5831
|
label: { type: "text", label: "Найменування", validators: ["required"] },
|
|
5832
5832
|
// format: { type: "text", label: "Format", disabled: true, hidden: true },
|
|
@@ -5847,11 +5847,11 @@ const Hm = { class: "flex flex-col flex-1 min-h-0" }, Wm = { class: "flex flex-c
|
|
|
5847
5847
|
}
|
|
5848
5848
|
function d() {
|
|
5849
5849
|
var g;
|
|
5850
|
-
const f = [...l.value], y = ((g = n.fields) == null ? void 0 : g.filter((_) => a.value.includes(_.name))) || [],
|
|
5850
|
+
const f = [...l.value], y = ((g = n.fields) == null ? void 0 : g.filter((_) => a.value.includes(_.name))) || [], m = Mn(f, y, {
|
|
5851
5851
|
selectedKeys: a.value,
|
|
5852
5852
|
resolveKey: (_) => nn(_)
|
|
5853
5853
|
});
|
|
5854
|
-
l.value =
|
|
5854
|
+
l.value = m, s.value = !1, a.value = [];
|
|
5855
5855
|
}
|
|
5856
5856
|
function h() {
|
|
5857
5857
|
s.value = !1, a.value = [];
|
|
@@ -5875,18 +5875,18 @@ const Hm = { class: "flex flex-col flex-1 min-h-0" }, Wm = { class: "flex flex-c
|
|
|
5875
5875
|
i.value === "list" ? (c(), fe(sn, {
|
|
5876
5876
|
key: 0,
|
|
5877
5877
|
modelValue: l.value,
|
|
5878
|
-
"onUpdate:modelValue": y[0] || (y[0] = (
|
|
5878
|
+
"onUpdate:modelValue": y[0] || (y[0] = (m) => l.value = m),
|
|
5879
5879
|
"columns-scheme": p,
|
|
5880
|
-
"form-scheme":
|
|
5880
|
+
"form-scheme": v,
|
|
5881
5881
|
"main-col-width": "250px",
|
|
5882
5882
|
"add-button": !1
|
|
5883
5883
|
}, null, 8, ["modelValue"])) : X("", !0)
|
|
5884
5884
|
]),
|
|
5885
5885
|
ne(Ln, {
|
|
5886
5886
|
visible: s.value,
|
|
5887
|
-
"onUpdate:visible": y[1] || (y[1] = (
|
|
5887
|
+
"onUpdate:visible": y[1] || (y[1] = (m) => s.value = m),
|
|
5888
5888
|
selection: a.value,
|
|
5889
|
-
"onUpdate:selection": y[2] || (y[2] = (
|
|
5889
|
+
"onUpdate:selection": y[2] || (y[2] = (m) => a.value = m),
|
|
5890
5890
|
fields: e.fields,
|
|
5891
5891
|
title: "Імпорт полів",
|
|
5892
5892
|
"id-prefix": "import-popup",
|
|
@@ -5921,7 +5921,7 @@ const Hm = { class: "flex flex-col flex-1 min-h-0" }, Wm = { class: "flex flex-c
|
|
|
5921
5921
|
), p = [
|
|
5922
5922
|
{ key: "name", label: "Назва" },
|
|
5923
5923
|
{ key: "color", label: "Колір", type: "color" }
|
|
5924
|
-
],
|
|
5924
|
+
], v = {
|
|
5925
5925
|
name: { type: "text", label: "Назва", validators: ["required"] },
|
|
5926
5926
|
color: { type: "color", label: "Колір", validators: ["required"] }
|
|
5927
5927
|
};
|
|
@@ -5961,7 +5961,7 @@ const Hm = { class: "flex flex-col flex-1 min-h-0" }, Wm = { class: "flex flex-c
|
|
|
5961
5961
|
return (f, y) => (c(), x("div", Zm, [
|
|
5962
5962
|
o("div", Gm, [
|
|
5963
5963
|
o("button", {
|
|
5964
|
-
onClick: y[0] || (y[0] = (
|
|
5964
|
+
onClick: y[0] || (y[0] = (m) => i.value = !0),
|
|
5965
5965
|
class: "inline-flex items-center justify-center gap-1 px-3 py-1.5 rounded-md bg-sky-100 hover:bg-sky-200 text-sky-700 font-medium text-sm transition disabled:opacity-70 disabled:cursor-not-allowed"
|
|
5966
5966
|
}, " Додати "),
|
|
5967
5967
|
o("button", {
|
|
@@ -5971,9 +5971,9 @@ const Hm = { class: "flex flex-col flex-1 min-h-0" }, Wm = { class: "flex flex-c
|
|
|
5971
5971
|
]),
|
|
5972
5972
|
ne(sn, {
|
|
5973
5973
|
modelValue: l.value,
|
|
5974
|
-
"onUpdate:modelValue": y[1] || (y[1] = (
|
|
5974
|
+
"onUpdate:modelValue": y[1] || (y[1] = (m) => l.value = m),
|
|
5975
5975
|
"columns-scheme": p,
|
|
5976
|
-
"form-scheme":
|
|
5976
|
+
"form-scheme": v,
|
|
5977
5977
|
"main-col-width": "250px",
|
|
5978
5978
|
"add-button": !1
|
|
5979
5979
|
}, null, 8, ["modelValue"]),
|
|
@@ -5988,7 +5988,7 @@ const Hm = { class: "flex flex-col flex-1 min-h-0" }, Wm = { class: "flex flex-c
|
|
|
5988
5988
|
o("button", {
|
|
5989
5989
|
type: "button",
|
|
5990
5990
|
class: "inline-flex items-center justify-center gap-1 px-3 py-1.5 rounded-md bg-sky-100 hover:bg-sky-200 text-sky-700 font-medium text-sm transition disabled:opacity-70 disabled:cursor-not-allowed",
|
|
5991
|
-
onClick: y[5] || (y[5] = (
|
|
5991
|
+
onClick: y[5] || (y[5] = (m) => b(!1))
|
|
5992
5992
|
}, " Скасувати "),
|
|
5993
5993
|
o("button", {
|
|
5994
5994
|
type: "button",
|
|
@@ -6002,7 +6002,7 @@ const Hm = { class: "flex flex-col flex-1 min-h-0" }, Wm = { class: "flex flex-c
|
|
|
6002
6002
|
o("div", Xm, [
|
|
6003
6003
|
y[6] || (y[6] = o("label", { class: "block text-xs font-medium text-gray-500 uppercase tracking-wide" }, " Назва ", -1)),
|
|
6004
6004
|
Be(o("input", {
|
|
6005
|
-
"onUpdate:modelValue": y[2] || (y[2] = (
|
|
6005
|
+
"onUpdate:modelValue": y[2] || (y[2] = (m) => s.value.name = m),
|
|
6006
6006
|
type: "text",
|
|
6007
6007
|
class: "w-full rounded-md border border-gray-300 px-3 py-2 text-sm focus:border-blue-500 focus:outline-none focus:ring-2 focus:ring-blue-200",
|
|
6008
6008
|
placeholder: "Наприклад, Житлова зона"
|
|
@@ -6014,14 +6014,14 @@ const Hm = { class: "flex flex-col flex-1 min-h-0" }, Wm = { class: "flex flex-c
|
|
|
6014
6014
|
y[7] || (y[7] = o("label", { class: "block text-xs font-medium text-gray-500 uppercase tracking-wide" }, " Колір ", -1)),
|
|
6015
6015
|
o("div", Jm, [
|
|
6016
6016
|
Be(o("input", {
|
|
6017
|
-
"onUpdate:modelValue": y[3] || (y[3] = (
|
|
6017
|
+
"onUpdate:modelValue": y[3] || (y[3] = (m) => s.value.color = m),
|
|
6018
6018
|
type: "color",
|
|
6019
6019
|
class: "h-10 w-16 rounded border border-gray-300"
|
|
6020
6020
|
}, null, 512), [
|
|
6021
6021
|
[gt, s.value.color]
|
|
6022
6022
|
]),
|
|
6023
6023
|
Be(o("input", {
|
|
6024
|
-
"onUpdate:modelValue": y[4] || (y[4] = (
|
|
6024
|
+
"onUpdate:modelValue": y[4] || (y[4] = (m) => s.value.color = m),
|
|
6025
6025
|
type: "text",
|
|
6026
6026
|
class: "flex-1 rounded-md border border-gray-300 px-3 py-2 text-sm focus:border-blue-500 focus:outline-none focus:ring-2 focus:ring-blue-200",
|
|
6027
6027
|
placeholder: "#FFFFFF"
|
|
@@ -6058,7 +6058,7 @@ const Hm = { class: "flex flex-col flex-1 min-h-0" }, Wm = { class: "flex flex-c
|
|
|
6058
6058
|
}, [
|
|
6059
6059
|
(c(!0), x(ie, null, he(se(i), (p) => (c(), x("div", {
|
|
6060
6060
|
key: p.value,
|
|
6061
|
-
onClick: (
|
|
6061
|
+
onClick: (v) => l(p.value),
|
|
6062
6062
|
class: Ae(["flex items-center justify-center space-x-2 rounded-lg p-2 border transition-all duration-300 cursor-pointer", [
|
|
6063
6063
|
e.modelValue === p.value ? "bg-gradient-to-r from-sky-200 to-blue-200 border-transparent shadow-sm" : "bg-white border-gray-100 hover:border-sky-200 hover:shadow-sm"
|
|
6064
6064
|
]])
|
|
@@ -6109,25 +6109,25 @@ const Hm = { class: "flex flex-col flex-1 min-h-0" }, Wm = { class: "flex flex-c
|
|
|
6109
6109
|
const n = e, r = t, l = T(n.columns || []);
|
|
6110
6110
|
le(
|
|
6111
6111
|
() => n.columns,
|
|
6112
|
-
(
|
|
6112
|
+
(m) => l.value = m || [],
|
|
6113
6113
|
{ immediate: !0 }
|
|
6114
|
-
), le(l, (
|
|
6114
|
+
), le(l, (m) => r("update:columns", m));
|
|
6115
6115
|
const i = T(n.viewMode ?? "list");
|
|
6116
6116
|
le(
|
|
6117
6117
|
() => n.viewMode,
|
|
6118
|
-
(
|
|
6119
|
-
|
|
6118
|
+
(m) => {
|
|
6119
|
+
m && m !== i.value && (i.value = m);
|
|
6120
6120
|
}
|
|
6121
6121
|
);
|
|
6122
6122
|
const s = T(n.html ?? "");
|
|
6123
6123
|
le(
|
|
6124
6124
|
() => n.html,
|
|
6125
|
-
(
|
|
6126
|
-
typeof
|
|
6125
|
+
(m) => {
|
|
6126
|
+
typeof m == "string" && m !== s.value && (s.value = m);
|
|
6127
6127
|
},
|
|
6128
6128
|
{ immediate: !0 }
|
|
6129
6129
|
);
|
|
6130
|
-
const a = T(!1), p = T([]),
|
|
6130
|
+
const a = T(!1), p = T([]), v = [
|
|
6131
6131
|
{ key: "name", label: "Name", type: "main" }
|
|
6132
6132
|
// { key: "ua", label: "UA" },
|
|
6133
6133
|
// { key: 'format', label: 'Format' },
|
|
@@ -6172,17 +6172,17 @@ const Hm = { class: "flex flex-col flex-1 min-h-0" }, Wm = { class: "flex flex-c
|
|
|
6172
6172
|
}, */
|
|
6173
6173
|
};
|
|
6174
6174
|
function d() {
|
|
6175
|
-
p.value = i.value === "html" ? [] : l.value.map((
|
|
6175
|
+
p.value = i.value === "html" ? [] : l.value.map((m) => m.name || m.id), a.value = !0;
|
|
6176
6176
|
}
|
|
6177
6177
|
function h() {
|
|
6178
6178
|
var E;
|
|
6179
|
-
const
|
|
6179
|
+
const m = [...l.value], g = ((E = n.fields) == null ? void 0 : E.filter((L) => p.value.includes(L.name)).map((L) => {
|
|
6180
6180
|
const { type: k, format: C, ...$ } = L;
|
|
6181
6181
|
return {
|
|
6182
6182
|
...$,
|
|
6183
6183
|
format: C ?? k ?? "text"
|
|
6184
6184
|
};
|
|
6185
|
-
})) || [], _ = Mn(
|
|
6185
|
+
})) || [], _ = Mn(m, g, {
|
|
6186
6186
|
selectedKeys: p.value,
|
|
6187
6187
|
resolveKey: (L) => nn(L)
|
|
6188
6188
|
});
|
|
@@ -6202,10 +6202,10 @@ ${L}` : L;
|
|
|
6202
6202
|
a.value = !1, p.value = [];
|
|
6203
6203
|
}
|
|
6204
6204
|
function f() {
|
|
6205
|
-
const
|
|
6206
|
-
card_mode:
|
|
6205
|
+
const m = i.value === "html" ? "html" : "list", g = {
|
|
6206
|
+
card_mode: m
|
|
6207
6207
|
};
|
|
6208
|
-
|
|
6208
|
+
m === "html" ? g.html = s.value : m === "list" && (g.list = l.value), r("save", "card", g);
|
|
6209
6209
|
}
|
|
6210
6210
|
const y = [
|
|
6211
6211
|
{ value: "all", label: "Всі" },
|
|
@@ -6213,7 +6213,7 @@ ${L}` : L;
|
|
|
6213
6213
|
{ value: "none", label: "Жодне" },
|
|
6214
6214
|
{ value: "html", label: "HTML" }
|
|
6215
6215
|
];
|
|
6216
|
-
return (
|
|
6216
|
+
return (m, g) => (c(), x("div", iv, [
|
|
6217
6217
|
o("div", { class: "flex justify-between mb-3 gap-2" }, [
|
|
6218
6218
|
o("button", {
|
|
6219
6219
|
onClick: d,
|
|
@@ -6234,7 +6234,7 @@ ${L}` : L;
|
|
|
6234
6234
|
key: 0,
|
|
6235
6235
|
modelValue: l.value,
|
|
6236
6236
|
"onUpdate:modelValue": g[1] || (g[1] = (_) => l.value = _),
|
|
6237
|
-
"columns-scheme":
|
|
6237
|
+
"columns-scheme": v,
|
|
6238
6238
|
"form-scheme": b,
|
|
6239
6239
|
"main-col-width": "250px",
|
|
6240
6240
|
"add-button": !1
|
|
@@ -6280,7 +6280,7 @@ ${L}` : L;
|
|
|
6280
6280
|
{ key: "id", label: "Name" },
|
|
6281
6281
|
{ key: "label", label: "UA" }
|
|
6282
6282
|
// { key: "type", label: "Тип" },
|
|
6283
|
-
],
|
|
6283
|
+
], v = {
|
|
6284
6284
|
name: { type: "text", label: "Name", disabled: !0, validators: ["required"] },
|
|
6285
6285
|
label: { type: "text", label: "UA", validators: ["required"] },
|
|
6286
6286
|
type: {
|
|
@@ -6312,11 +6312,11 @@ ${L}` : L;
|
|
|
6312
6312
|
}
|
|
6313
6313
|
function d() {
|
|
6314
6314
|
var g;
|
|
6315
|
-
const f = [...l.value], y = ((g = n.fields) == null ? void 0 : g.filter((_) => a.value.includes(_.name))) || [],
|
|
6315
|
+
const f = [...l.value], y = ((g = n.fields) == null ? void 0 : g.filter((_) => a.value.includes(_.name))) || [], m = Mn(f, y, {
|
|
6316
6316
|
selectedKeys: a.value,
|
|
6317
6317
|
resolveKey: (_) => nn(_)
|
|
6318
6318
|
});
|
|
6319
|
-
l.value =
|
|
6319
|
+
l.value = m, s.value = !1, a.value = [];
|
|
6320
6320
|
}
|
|
6321
6321
|
function h() {
|
|
6322
6322
|
s.value = !1, a.value = [];
|
|
@@ -6339,17 +6339,17 @@ ${L}` : L;
|
|
|
6339
6339
|
i.value === "list" ? (c(), fe(sn, {
|
|
6340
6340
|
key: 0,
|
|
6341
6341
|
modelValue: l.value,
|
|
6342
|
-
"onUpdate:modelValue": y[0] || (y[0] = (
|
|
6342
|
+
"onUpdate:modelValue": y[0] || (y[0] = (m) => l.value = m),
|
|
6343
6343
|
"columns-scheme": p,
|
|
6344
|
-
"form-scheme":
|
|
6344
|
+
"form-scheme": v,
|
|
6345
6345
|
"main-col-width": "250px",
|
|
6346
6346
|
"add-button": !1
|
|
6347
6347
|
}, null, 8, ["modelValue"])) : X("", !0),
|
|
6348
6348
|
ne(Ln, {
|
|
6349
6349
|
visible: s.value,
|
|
6350
|
-
"onUpdate:visible": y[1] || (y[1] = (
|
|
6350
|
+
"onUpdate:visible": y[1] || (y[1] = (m) => s.value = m),
|
|
6351
6351
|
selection: a.value,
|
|
6352
|
-
"onUpdate:selection": y[2] || (y[2] = (
|
|
6352
|
+
"onUpdate:selection": y[2] || (y[2] = (m) => a.value = m),
|
|
6353
6353
|
fields: e.fields,
|
|
6354
6354
|
title: "Імпорт полів",
|
|
6355
6355
|
"id-prefix": "import-filter",
|
|
@@ -6394,8 +6394,8 @@ const fv = /* @__PURE__ */ me({
|
|
|
6394
6394
|
async function s() {
|
|
6395
6395
|
var b;
|
|
6396
6396
|
await st();
|
|
6397
|
-
const
|
|
6398
|
-
|
|
6397
|
+
const v = (b = i.map) == null ? void 0 : b.value;
|
|
6398
|
+
v != null && v.resize && v.resize();
|
|
6399
6399
|
}
|
|
6400
6400
|
function a() {
|
|
6401
6401
|
typeof ResizeObserver > "u" || r.value || !n.value || (r.value = new ResizeObserver(() => {
|
|
@@ -6403,19 +6403,19 @@ const fv = /* @__PURE__ */ me({
|
|
|
6403
6403
|
}), r.value.observe(n.value));
|
|
6404
6404
|
}
|
|
6405
6405
|
function p() {
|
|
6406
|
-
var
|
|
6407
|
-
(
|
|
6406
|
+
var v;
|
|
6407
|
+
(v = r.value) == null || v.disconnect(), r.value = null;
|
|
6408
6408
|
}
|
|
6409
6409
|
return Ue(() => {
|
|
6410
6410
|
s(), a(), window.addEventListener("resize", s);
|
|
6411
6411
|
}), Ve(() => {
|
|
6412
6412
|
window.removeEventListener("resize", s), p();
|
|
6413
|
-
}), t({ ctx: i }), (
|
|
6413
|
+
}), t({ ctx: i }), (v, b) => (c(), x("div", {
|
|
6414
6414
|
ref_key: "el",
|
|
6415
6415
|
ref: n,
|
|
6416
6416
|
class: "map-view-root w-full h-full rounded-xl overflow-hidden"
|
|
6417
6417
|
}, [
|
|
6418
|
-
Zt(
|
|
6418
|
+
Zt(v.$slots, "default", {}, void 0, !0)
|
|
6419
6419
|
], 512));
|
|
6420
6420
|
}
|
|
6421
6421
|
}), xo = /* @__PURE__ */ Te(fv, [["__scopeId", "data-v-d6e61166"]]), pv = /* @__PURE__ */ me({
|
|
@@ -6427,10 +6427,10 @@ const fv = /* @__PURE__ */ me({
|
|
|
6427
6427
|
autoCenter: { type: [Boolean, null] }
|
|
6428
6428
|
},
|
|
6429
6429
|
setup(e, { expose: t }) {
|
|
6430
|
-
var f, y,
|
|
6430
|
+
var f, y, m, g;
|
|
6431
6431
|
const { map: n, flyTo: r, setZoom: l } = it(), i = ((y = (f = rn()) == null ? void 0 : f.appContext.config.globalProperties) == null ? void 0 : y.$settings) || null, s = e, a = s.id;
|
|
6432
6432
|
String(s.id);
|
|
6433
|
-
const p = `${location.origin}/api/vtile/${s.id}/ua/{z}/{x}/{y}.vmt?all=1`,
|
|
6433
|
+
const p = `${location.origin}/api/vtile/${s.id}/ua/{z}/{x}/{y}.vmt?all=1`, v = Xe(a, {
|
|
6434
6434
|
source: {
|
|
6435
6435
|
type: "vector",
|
|
6436
6436
|
tiles: [p],
|
|
@@ -6442,19 +6442,19 @@ const fv = /* @__PURE__ */ me({
|
|
|
6442
6442
|
// id: layerId,
|
|
6443
6443
|
// source: sourceId,
|
|
6444
6444
|
// 'source-layer': props.id,
|
|
6445
|
-
style: (
|
|
6445
|
+
style: (m = s.layer) == null ? void 0 : m.style
|
|
6446
6446
|
/* paint: {
|
|
6447
6447
|
'circle-radius': 6,
|
|
6448
6448
|
'circle-color': 'red',
|
|
6449
6449
|
} */
|
|
6450
6450
|
}
|
|
6451
6451
|
});
|
|
6452
|
-
t({ layerHandle:
|
|
6452
|
+
t({ layerHandle: v }), (s.autoCenter ?? !0) && r({ center: s.layer.center || ((g = i == null ? void 0 : i.map) == null ? void 0 : g.center) || [30, 50], animate: !1 });
|
|
6453
6453
|
let b = null;
|
|
6454
6454
|
function d() {
|
|
6455
|
-
if (!(
|
|
6455
|
+
if (!(v != null && v.setTiles)) return;
|
|
6456
6456
|
const _ = p.includes("?") ? "&" : "?", E = `${p}${_}_=${Date.now()}`;
|
|
6457
|
-
|
|
6457
|
+
v.setTiles([E]);
|
|
6458
6458
|
}
|
|
6459
6459
|
function h() {
|
|
6460
6460
|
b && clearTimeout(b), b = setTimeout(() => {
|
|
@@ -6462,10 +6462,10 @@ const fv = /* @__PURE__ */ me({
|
|
|
6462
6462
|
}, 300);
|
|
6463
6463
|
}
|
|
6464
6464
|
async function u() {
|
|
6465
|
-
n.value && (d(),
|
|
6465
|
+
n.value && (d(), v.setStyle(s.styleSpec ?? null));
|
|
6466
6466
|
}
|
|
6467
6467
|
return le(() => s.styleSpec, h, { deep: !0 }), Ve(() => {
|
|
6468
|
-
|
|
6468
|
+
v.remove();
|
|
6469
6469
|
}), (_, E) => null;
|
|
6470
6470
|
}
|
|
6471
6471
|
}), Bn = T(null);
|
|
@@ -6509,7 +6509,7 @@ const gv = { class: "map-filter" }, yv = { class: "map-filter__header" }, hv = {
|
|
|
6509
6509
|
isOpen: i,
|
|
6510
6510
|
close: s,
|
|
6511
6511
|
toggle: a
|
|
6512
|
-
} = vv(l), p = It({ top: 0, left: 0, transform: "translateX(-50%)" }),
|
|
6512
|
+
} = vv(l), p = It({ top: 0, left: 0, transform: "translateX(-50%)" }), v = T(null), b = T(null);
|
|
6513
6513
|
let d = null;
|
|
6514
6514
|
const h = T({}), u = It({
|
|
6515
6515
|
visible: !1,
|
|
@@ -6519,7 +6519,7 @@ const gv = { class: "map-filter" }, yv = { class: "map-filter__header" }, hv = {
|
|
|
6519
6519
|
}), f = P(() => i.value), y = P(() => {
|
|
6520
6520
|
var F;
|
|
6521
6521
|
return Array.isArray((F = n.layer) == null ? void 0 : F.filters) ? n.layer.filters : [];
|
|
6522
|
-
}),
|
|
6522
|
+
}), m = P(() => y.value.length > 0), g = P(() => {
|
|
6523
6523
|
var F;
|
|
6524
6524
|
return ((F = n.layer) == null ? void 0 : F.name) ?? "";
|
|
6525
6525
|
}), _ = P(() => y.value), E = T(null), L = P(() => y.value.length), k = P(() => L.value <= 2), C = P(() => k.value ? "body" : typeof window > "u" || E.value ? Eo : "body"), $ = P(() => {
|
|
@@ -6546,8 +6546,8 @@ const gv = { class: "map-filter" }, yv = { class: "map-filter__header" }, hv = {
|
|
|
6546
6546
|
}
|
|
6547
6547
|
function D() {
|
|
6548
6548
|
var ge, xe, Fe;
|
|
6549
|
-
if (!
|
|
6550
|
-
const F =
|
|
6549
|
+
if (!v.value || !k.value) return;
|
|
6550
|
+
const F = v.value.getBoundingClientRect(), S = window.scrollX + 8, I = window.scrollX + window.innerWidth - 8, B = ((ge = b.value) == null ? void 0 : ge.offsetWidth) || 280, U = ((xe = b.value) == null ? void 0 : xe.offsetHeight) || 0;
|
|
6551
6551
|
let te = 0, pe = 0;
|
|
6552
6552
|
if ((Fe = n.catalogAnchor) != null && Fe.value) {
|
|
6553
6553
|
const Ne = n.catalogAnchor.value.getBoundingClientRect(), H = Ne.top + window.scrollY;
|
|
@@ -6624,11 +6624,11 @@ const gv = { class: "map-filter" }, yv = { class: "map-filter__header" }, hv = {
|
|
|
6624
6624
|
function re() {
|
|
6625
6625
|
typeof window > "u" || typeof document > "u" || (E.value = document.querySelector(Eo));
|
|
6626
6626
|
}
|
|
6627
|
-
return (F, S) =>
|
|
6627
|
+
return (F, S) => m.value ? (c(), x("div", {
|
|
6628
6628
|
key: 0,
|
|
6629
6629
|
class: "mapLayer-filter",
|
|
6630
6630
|
ref_key: "anchor",
|
|
6631
|
-
ref:
|
|
6631
|
+
ref: v
|
|
6632
6632
|
}, [
|
|
6633
6633
|
o("a", {
|
|
6634
6634
|
class: Ae(["mapLayer-filter__trigger", { "mapLayer-filter__trigger--disabled": n.disabled }]),
|
|
@@ -6754,7 +6754,7 @@ const gv = { class: "map-filter" }, yv = { class: "map-filter__header" }, hv = {
|
|
|
6754
6754
|
C = `${L}-${$}`, $ += 1;
|
|
6755
6755
|
return C;
|
|
6756
6756
|
}
|
|
6757
|
-
const i = rn(), s = (g = i == null ? void 0 : i.appContext.config.globalProperties) == null ? void 0 : g.$settings, a = s == null ? void 0 : s.map, p = Lt(),
|
|
6757
|
+
const i = rn(), s = (g = i == null ? void 0 : i.appContext.config.globalProperties) == null ? void 0 : g.$settings, a = s == null ? void 0 : s.map, p = Lt(), v = Pt();
|
|
6758
6758
|
function b() {
|
|
6759
6759
|
const L = p == null ? void 0 : p.query;
|
|
6760
6760
|
return !L || typeof L != "object" ? null : typeof L.basemap == "string" ? L.basemap : null;
|
|
@@ -6783,7 +6783,7 @@ const gv = { class: "map-filter" }, yv = { class: "map-filter__header" }, hv = {
|
|
|
6783
6783
|
},
|
|
6784
6784
|
beforeId: 0
|
|
6785
6785
|
});
|
|
6786
|
-
function
|
|
6786
|
+
function m(L) {
|
|
6787
6787
|
if (!u.value[L]) return;
|
|
6788
6788
|
f.value = L;
|
|
6789
6789
|
const k = u.value[L];
|
|
@@ -6791,7 +6791,7 @@ const gv = { class: "map-filter" }, yv = { class: "map-filter__header" }, hv = {
|
|
|
6791
6791
|
y.setVisible(!1);
|
|
6792
6792
|
return;
|
|
6793
6793
|
}
|
|
6794
|
-
y.setVisible(!0), y.setTiles([k.url]), typeof window < "u" && b() !== L &&
|
|
6794
|
+
y.setVisible(!0), y.setTiles([k.url]), typeof window < "u" && b() !== L && v.replace({ query: { ...p == null ? void 0 : p.query, basemap: L } }).catch(() => {
|
|
6795
6795
|
});
|
|
6796
6796
|
}
|
|
6797
6797
|
return le(
|
|
@@ -6818,7 +6818,7 @@ const gv = { class: "map-filter" }, yv = { class: "map-filter__header" }, hv = {
|
|
|
6818
6818
|
), (L, k) => (c(), x("div", kv, [
|
|
6819
6819
|
(c(!0), x(ie, null, he(u.value, (C, $) => (c(), x("div", {
|
|
6820
6820
|
key: $,
|
|
6821
|
-
onClick: (A) =>
|
|
6821
|
+
onClick: (A) => m($)
|
|
6822
6822
|
}, [
|
|
6823
6823
|
$ !== "none" && C.url ? (c(), x("div", {
|
|
6824
6824
|
key: 0,
|
|
@@ -6884,17 +6884,17 @@ const gv = { class: "map-filter" }, yv = { class: "map-filter__header" }, hv = {
|
|
|
6884
6884
|
const d = (h = b.getStyle) == null ? void 0 : h.call(b);
|
|
6885
6885
|
l.value = a(d);
|
|
6886
6886
|
}
|
|
6887
|
-
function
|
|
6887
|
+
function v() {
|
|
6888
6888
|
n.value && (i == null || i());
|
|
6889
6889
|
}
|
|
6890
6890
|
return le(
|
|
6891
6891
|
() => t.items,
|
|
6892
6892
|
async (b) => {
|
|
6893
|
-
b != null ? (l.value = s(b), i == null || i()) : (await r(),
|
|
6893
|
+
b != null ? (l.value = s(b), i == null || i()) : (await r(), v(), p());
|
|
6894
6894
|
},
|
|
6895
6895
|
{ immediate: !0, deep: !0 }
|
|
6896
6896
|
), Ue(async () => {
|
|
6897
|
-
(t.items === void 0 || t.items === null) && (await r(),
|
|
6897
|
+
(t.items === void 0 || t.items === null) && (await r(), v(), p());
|
|
6898
6898
|
}), Ve(() => {
|
|
6899
6899
|
i == null || i(), i = null;
|
|
6900
6900
|
}), (b, d) => l.value.length ? (c(), x("div", Sv, [
|
|
@@ -6924,7 +6924,7 @@ function Mv() {
|
|
|
6924
6924
|
const p = (u) => {
|
|
6925
6925
|
const f = (u == null ? void 0 : u.properties) || {};
|
|
6926
6926
|
return !!(f.cluster || f.point_count || f.point_count_abbreviated);
|
|
6927
|
-
},
|
|
6927
|
+
}, v = (u) => {
|
|
6928
6928
|
var g, _;
|
|
6929
6929
|
n.value = [u.point.x, u.point.y];
|
|
6930
6930
|
const f = e.value.queryRenderedFeatures(u.point);
|
|
@@ -6937,13 +6937,13 @@ function Mv() {
|
|
|
6937
6937
|
b();
|
|
6938
6938
|
return;
|
|
6939
6939
|
}
|
|
6940
|
-
const
|
|
6941
|
-
|
|
6940
|
+
const m = Xe(y.source) || Xe((g = y.layer) == null ? void 0 : g.id);
|
|
6941
|
+
m != null && m.popup && (r.value = ((_ = m.popup) == null ? void 0 : _.fields) || m.popup, i.value = y.properties);
|
|
6942
6942
|
}, b = () => {
|
|
6943
6943
|
r.value = null, i.value = null, n.value = null;
|
|
6944
6944
|
};
|
|
6945
6945
|
async function d() {
|
|
6946
|
-
await t(), e.value && (a(), e.value.on("mousemove",
|
|
6946
|
+
await t(), e.value && (a(), e.value.on("mousemove", v), e.value.on("mouseleave", b));
|
|
6947
6947
|
}
|
|
6948
6948
|
function h() {
|
|
6949
6949
|
a(), r.value = null, i.value = null, n.value = null;
|
|
@@ -6967,33 +6967,33 @@ const Ev = { class: "min-w-[200px] max-w-[280px] rounded-lg border border-slate-
|
|
|
6967
6967
|
} = Mv(), { map: i } = it(), s = T(null), a = T({ left: "-9999px", top: "-9999px" }), p = new Intl.NumberFormat("uk-UA", {
|
|
6968
6968
|
maximumFractionDigits: 2
|
|
6969
6969
|
});
|
|
6970
|
-
function
|
|
6971
|
-
if (
|
|
6970
|
+
function v(y, m) {
|
|
6971
|
+
if (m == null || m === "") return m;
|
|
6972
6972
|
if ((y == null ? void 0 : y.type) === "number") {
|
|
6973
|
-
const g = typeof
|
|
6973
|
+
const g = typeof m == "number" ? m : Number(m);
|
|
6974
6974
|
if (Number.isFinite(g))
|
|
6975
6975
|
return p.format(g);
|
|
6976
6976
|
}
|
|
6977
|
-
return
|
|
6977
|
+
return m;
|
|
6978
6978
|
}
|
|
6979
|
-
function b(y,
|
|
6980
|
-
const _ = y.name || y.label || y.title || `field-${g}`, E = y.label || y.title || y.name || _, L = y.name ?
|
|
6979
|
+
function b(y, m, g) {
|
|
6980
|
+
const _ = y.name || y.label || y.title || `field-${g}`, E = y.label || y.title || y.name || _, L = y.name ? m[y.name] : void 0, C = (y.name ? m[`${y.name}_text`] : void 0) ?? L ?? y.value ?? null;
|
|
6981
6981
|
return {
|
|
6982
6982
|
key: _,
|
|
6983
6983
|
label: E,
|
|
6984
|
-
value:
|
|
6984
|
+
value: v(y, C)
|
|
6985
6985
|
};
|
|
6986
6986
|
}
|
|
6987
6987
|
const d = P(() => {
|
|
6988
|
-
const y = n.value || [],
|
|
6989
|
-
return y.filter((g) => (g == null ? void 0 : g.meta) !== "title").map((g, _) => b(g,
|
|
6988
|
+
const y = n.value || [], m = r.value || {};
|
|
6989
|
+
return y.filter((g) => (g == null ? void 0 : g.meta) !== "title").map((g, _) => b(g, m, _)).filter((g) => g.label);
|
|
6990
6990
|
}), h = P(() => {
|
|
6991
|
-
const y = n.value || [],
|
|
6992
|
-
return g ? b(g,
|
|
6991
|
+
const y = n.value || [], m = r.value || {}, g = y.find((_) => (_ == null ? void 0 : _.meta) === "title");
|
|
6992
|
+
return g ? b(g, m, 0) : null;
|
|
6993
6993
|
}), u = P(() => {
|
|
6994
|
-
var
|
|
6994
|
+
var m;
|
|
6995
6995
|
const y = d.value;
|
|
6996
|
-
return (
|
|
6996
|
+
return (m = h.value) != null && m.value ? [
|
|
6997
6997
|
{ ...h.value, key: `${h.value.key}-title`, label: "Назва" },
|
|
6998
6998
|
...y
|
|
6999
6999
|
] : y;
|
|
@@ -7004,7 +7004,7 @@ const Ev = { class: "min-w-[200px] max-w-[280px] rounded-lg border border-slate-
|
|
|
7004
7004
|
a.value = { left: "-9999px", top: "-9999px" };
|
|
7005
7005
|
return;
|
|
7006
7006
|
}
|
|
7007
|
-
const y = s.value,
|
|
7007
|
+
const y = s.value, m = y.offsetParent || null, g = (m == null ? void 0 : m.getBoundingClientRect()) ?? {
|
|
7008
7008
|
left: 0,
|
|
7009
7009
|
top: 0,
|
|
7010
7010
|
width: window.innerWidth,
|
|
@@ -7021,7 +7021,7 @@ const Ev = { class: "min-w-[200px] max-w-[280px] rounded-lg border border-slate-
|
|
|
7021
7021
|
window.addEventListener("resize", f);
|
|
7022
7022
|
}), Ve(() => {
|
|
7023
7023
|
window.removeEventListener("resize", f), l();
|
|
7024
|
-
}), (y,
|
|
7024
|
+
}), (y, m) => u.value.length ? (c(), x("div", {
|
|
7025
7025
|
key: 0,
|
|
7026
7026
|
ref_key: "popupRef",
|
|
7027
7027
|
ref: s,
|
|
@@ -7043,10 +7043,10 @@ const Ev = { class: "min-w-[200px] max-w-[280px] rounded-lg border border-slate-
|
|
|
7043
7043
|
}
|
|
7044
7044
|
});
|
|
7045
7045
|
function jv() {
|
|
7046
|
-
const { map: e, ready: t } = it(), n = Lt(), r = Pt(), l = T(null), i = T(null), s = T(null), a = T(!1), p = T([]),
|
|
7046
|
+
const { map: e, ready: t } = it(), n = Lt(), r = Pt(), l = T(null), i = T(null), s = T(null), a = T(!1), p = T([]), v = T(0), b = P(() => p.value.length), d = P(() => a.value || !!l.value || !!s.value);
|
|
7047
7047
|
let h = null, u = !1;
|
|
7048
7048
|
function f() {
|
|
7049
|
-
l.value = null, i.value = null, s.value = null, a.value = !1, p.value = [],
|
|
7049
|
+
l.value = null, i.value = null, s.value = null, a.value = !1, p.value = [], v.value = 0;
|
|
7050
7050
|
}
|
|
7051
7051
|
function y() {
|
|
7052
7052
|
if (h) {
|
|
@@ -7057,7 +7057,7 @@ function jv() {
|
|
|
7057
7057
|
h = null;
|
|
7058
7058
|
}
|
|
7059
7059
|
}
|
|
7060
|
-
async function
|
|
7060
|
+
async function m() {
|
|
7061
7061
|
await t();
|
|
7062
7062
|
const oe = e.value;
|
|
7063
7063
|
oe && (y(), f(), oe.on("click", g), h = () => oe.off("click", g), K(A()));
|
|
@@ -7073,20 +7073,20 @@ function jv() {
|
|
|
7073
7073
|
f(), D(null);
|
|
7074
7074
|
return;
|
|
7075
7075
|
}
|
|
7076
|
-
p.value = Q,
|
|
7076
|
+
p.value = Q, v.value = 0, _(v.value);
|
|
7077
7077
|
}
|
|
7078
7078
|
function _(oe) {
|
|
7079
7079
|
const ae = p.value[oe];
|
|
7080
7080
|
if (!ae) return;
|
|
7081
|
-
|
|
7081
|
+
v.value = oe;
|
|
7082
7082
|
const Q = Xe(ae.source);
|
|
7083
7083
|
k(ae, Q == null ? void 0 : Q.card);
|
|
7084
7084
|
}
|
|
7085
7085
|
function E() {
|
|
7086
|
-
|
|
7086
|
+
v.value >= p.value.length - 1 || _(v.value + 1);
|
|
7087
7087
|
}
|
|
7088
7088
|
function L() {
|
|
7089
|
-
|
|
7089
|
+
v.value <= 0 || _(v.value - 1);
|
|
7090
7090
|
}
|
|
7091
7091
|
async function k(oe, ae) {
|
|
7092
7092
|
var Y, R, O, re;
|
|
@@ -7134,7 +7134,7 @@ function jv() {
|
|
|
7134
7134
|
function $() {
|
|
7135
7135
|
y(), f();
|
|
7136
7136
|
}
|
|
7137
|
-
t().then(
|
|
7137
|
+
t().then(m), Ve(() => $());
|
|
7138
7138
|
function A() {
|
|
7139
7139
|
const oe = Array.isArray(n.query.info) ? n.query.info[0] : n.query.info;
|
|
7140
7140
|
return typeof oe != "string" ? null : oe.trim() || null;
|
|
@@ -7169,7 +7169,7 @@ function jv() {
|
|
|
7169
7169
|
source: ue,
|
|
7170
7170
|
properties: { id: Y }
|
|
7171
7171
|
};
|
|
7172
|
-
p.value = [R],
|
|
7172
|
+
p.value = [R], v.value = 0;
|
|
7173
7173
|
const O = Xe(ue);
|
|
7174
7174
|
await k(R, O == null ? void 0 : O.card);
|
|
7175
7175
|
} finally {
|
|
@@ -7193,11 +7193,11 @@ function jv() {
|
|
|
7193
7193
|
next: E,
|
|
7194
7194
|
prev: L,
|
|
7195
7195
|
count: b,
|
|
7196
|
-
index:
|
|
7196
|
+
index: v
|
|
7197
7197
|
};
|
|
7198
7198
|
}
|
|
7199
7199
|
function zv() {
|
|
7200
|
-
const { map: e, ready: t } = it(), n = T([]), r = T(0), l = T(0), i = T(!1), s = T(null), a = T({}), p = T(null),
|
|
7200
|
+
const { map: e, ready: t } = it(), n = T([]), r = T(0), l = T(0), i = T(!1), s = T(null), a = T({}), p = T(null), v = T([]), b = P(() => n.value[l.value] || null), d = P(() => n.value.length > 0);
|
|
7201
7201
|
let h = null;
|
|
7202
7202
|
const u = () => {
|
|
7203
7203
|
h == null || h.remove(), h = null;
|
|
@@ -7209,7 +7209,7 @@ function zv() {
|
|
|
7209
7209
|
color: "#0a57ff",
|
|
7210
7210
|
width: 4,
|
|
7211
7211
|
opacity: 0.95
|
|
7212
|
-
}),
|
|
7212
|
+
}), m = (A) => Number(A.toFixed(5)), g = async (A) => {
|
|
7213
7213
|
if (await t(), !e.value) return;
|
|
7214
7214
|
const N = f(A);
|
|
7215
7215
|
N && (u(), h = Xe(
|
|
@@ -7222,8 +7222,8 @@ function zv() {
|
|
|
7222
7222
|
));
|
|
7223
7223
|
}, _ = async (A, N, D) => {
|
|
7224
7224
|
var ae, Q;
|
|
7225
|
-
const [K, oe] = [
|
|
7226
|
-
p.value = { x: K, y: oe },
|
|
7225
|
+
const [K, oe] = [m(A), m(N)];
|
|
7226
|
+
p.value = { x: K, y: oe }, v.value = D, i.value = !0, s.value = null, n.value = [], a.value = {}, l.value = 0;
|
|
7227
7227
|
try {
|
|
7228
7228
|
const ue = D.map(async (F) => {
|
|
7229
7229
|
const S = `/api/map-info-point?x=${K}&y=${oe}&layers=${F}`, I = await fetch(S);
|
|
@@ -7248,12 +7248,12 @@ function zv() {
|
|
|
7248
7248
|
i.value = !1;
|
|
7249
7249
|
}
|
|
7250
7250
|
}, E = async (A) => {
|
|
7251
|
-
if (!p.value || !
|
|
7251
|
+
if (!p.value || !v.value.length) return;
|
|
7252
7252
|
if (a.value[A]) {
|
|
7253
7253
|
n.value[A] = a.value[A];
|
|
7254
7254
|
return;
|
|
7255
7255
|
}
|
|
7256
|
-
const { x: N, y: D } = p.value, K =
|
|
7256
|
+
const { x: N, y: D } = p.value, K = v.value.join(","), oe = `/api/map-info-point?x=${N}&y=${D}&index=${A}&layers=${K}`;
|
|
7257
7257
|
try {
|
|
7258
7258
|
i.value = !0;
|
|
7259
7259
|
const ae = await fetch(oe);
|
|
@@ -7270,7 +7270,7 @@ function zv() {
|
|
|
7270
7270
|
}, k = async () => {
|
|
7271
7271
|
l.value > 0 && (l.value -= 1, a.value[l.value] || await E(l.value));
|
|
7272
7272
|
}, C = () => {
|
|
7273
|
-
n.value = [], r.value = 0, l.value = 0, a.value = {}, p.value = null,
|
|
7273
|
+
n.value = [], r.value = 0, l.value = 0, a.value = {}, p.value = null, v.value = [], u();
|
|
7274
7274
|
};
|
|
7275
7275
|
le(l, async () => {
|
|
7276
7276
|
var N, D;
|
|
@@ -7327,15 +7327,15 @@ const Vr = /* @__PURE__ */ me({
|
|
|
7327
7327
|
emits: ["activate"],
|
|
7328
7328
|
setup(e, { emit: t }) {
|
|
7329
7329
|
const n = e, r = t;
|
|
7330
|
-
function l(
|
|
7331
|
-
const b =
|
|
7330
|
+
function l(v) {
|
|
7331
|
+
const b = v.normalize("NFKD").replace(/[\u0300-\u036f]/g, "").replace(/[^a-zA-Z0-9]+/g, "-").replace(/^-+|-+$/g, "").toLowerCase();
|
|
7332
7332
|
if (b) return b;
|
|
7333
|
-
const d = Array.from(
|
|
7333
|
+
const d = Array.from(v).map((h) => h.charCodeAt(0).toString(16)).join("").slice(0, 8);
|
|
7334
7334
|
return d ? `layer-${d}` : "layer-temp";
|
|
7335
7335
|
}
|
|
7336
7336
|
const i = P(() => {
|
|
7337
|
-
var
|
|
7338
|
-
return ((
|
|
7337
|
+
var v;
|
|
7338
|
+
return ((v = n.id) == null ? void 0 : v.trim()) || l(n.title);
|
|
7339
7339
|
}), s = P(() => n.buttonText || "Показати шар");
|
|
7340
7340
|
function a() {
|
|
7341
7341
|
return {
|
|
@@ -7347,12 +7347,12 @@ const Vr = /* @__PURE__ */ me({
|
|
|
7347
7347
|
function p() {
|
|
7348
7348
|
r("activate", a());
|
|
7349
7349
|
}
|
|
7350
|
-
return (
|
|
7350
|
+
return (v, b) => (c(), x("button", {
|
|
7351
7351
|
type: "button",
|
|
7352
7352
|
class: "flex items-center justify-center bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded w-full",
|
|
7353
7353
|
onClick: p
|
|
7354
7354
|
}, [
|
|
7355
|
-
Zt(
|
|
7355
|
+
Zt(v.$slots, "default", {}, () => [
|
|
7356
7356
|
Ce(V(s.value), 1)
|
|
7357
7357
|
])
|
|
7358
7358
|
]));
|
|
@@ -7387,18 +7387,18 @@ function Rv(e) {
|
|
|
7387
7387
|
}
|
|
7388
7388
|
}
|
|
7389
7389
|
function or(e) {
|
|
7390
|
-
function t(s, a = {}, p,
|
|
7390
|
+
function t(s, a = {}, p, v) {
|
|
7391
7391
|
var E, L;
|
|
7392
7392
|
const b = to(s == null ? void 0 : s.id), d = ((E = s == null ? void 0 : s.title) == null ? void 0 : E.trim()) || b, h = ((L = s == null ? void 0 : s.url) == null ? void 0 : L.trim()) || "";
|
|
7393
7393
|
if (!b || !h) return;
|
|
7394
7394
|
const u = Nv(h, a);
|
|
7395
7395
|
if (!u) return;
|
|
7396
|
-
const f =
|
|
7396
|
+
const f = v ?? e;
|
|
7397
7397
|
if (!f) return;
|
|
7398
7398
|
const y = Pv(f);
|
|
7399
7399
|
if (!y) return;
|
|
7400
|
-
const
|
|
7401
|
-
|
|
7400
|
+
const m = Tt.value.findIndex((k) => k.id === b);
|
|
7401
|
+
m !== -1 && (To(Tt.value[m]), Tt.value.splice(m, 1));
|
|
7402
7402
|
let g = null;
|
|
7403
7403
|
const _ = s.beforeId ?? Rv(y);
|
|
7404
7404
|
try {
|
|
@@ -7440,19 +7440,19 @@ function or(e) {
|
|
|
7440
7440
|
function n(s, a) {
|
|
7441
7441
|
const p = to(s);
|
|
7442
7442
|
if (!p) return;
|
|
7443
|
-
const
|
|
7443
|
+
const v = Tt.value.findIndex(
|
|
7444
7444
|
(d) => d.id === p && (!a || d.owner === a)
|
|
7445
7445
|
);
|
|
7446
|
-
if (
|
|
7447
|
-
const [b] = Tt.value.splice(
|
|
7446
|
+
if (v === -1) return;
|
|
7447
|
+
const [b] = Tt.value.splice(v, 1);
|
|
7448
7448
|
To(b);
|
|
7449
7449
|
}
|
|
7450
7450
|
function r(s, a, p) {
|
|
7451
7451
|
var d;
|
|
7452
|
-
const
|
|
7453
|
-
if (!
|
|
7452
|
+
const v = to(s);
|
|
7453
|
+
if (!v) return;
|
|
7454
7454
|
const b = Tt.value.find(
|
|
7455
|
-
(h) => h.id ===
|
|
7455
|
+
(h) => h.id === v && (!p || h.owner === p)
|
|
7456
7456
|
);
|
|
7457
7457
|
(d = b == null ? void 0 : b.handle) != null && d.setOpacity && b.handle.setOpacity(a);
|
|
7458
7458
|
}
|
|
@@ -7466,7 +7466,7 @@ function or(e) {
|
|
|
7466
7466
|
function i(s, a) {
|
|
7467
7467
|
const p = to(s);
|
|
7468
7468
|
return p ? Tt.value.some(
|
|
7469
|
-
(
|
|
7469
|
+
(v) => v.id === p && (!a || v.owner === a)
|
|
7470
7470
|
) : !1;
|
|
7471
7471
|
}
|
|
7472
7472
|
return {
|
|
@@ -7540,10 +7540,10 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
|
|
|
7540
7540
|
}), Ve(() => {
|
|
7541
7541
|
typeof window > "u" || window.removeEventListener(Bo, p);
|
|
7542
7542
|
});
|
|
7543
|
-
const
|
|
7543
|
+
const v = P(() => r.active.value), b = P(() => v.value || n.isOpen.value || s.value), d = P(() => v.value ? r.loading.value : n.cardLoading.value), h = P(() => v.value ? r.error.value : n.cardError.value), u = P(() => {
|
|
7544
7544
|
var M, j;
|
|
7545
|
-
return
|
|
7546
|
-
}), f = it(), y = nr(),
|
|
7545
|
+
return v.value ? ((M = r.current.value) == null ? void 0 : M.html) || null : s.value ? l.value : ((j = n.card.value) == null ? void 0 : j.html) || null;
|
|
7546
|
+
}), f = it(), y = nr(), m = P(() => {
|
|
7547
7547
|
var M, j;
|
|
7548
7548
|
return ((j = (M = y.value) == null ? void 0 : M.map) == null ? void 0 : j.cardHideEmpty) ?? null;
|
|
7549
7549
|
}), g = Lt(), {
|
|
@@ -7708,12 +7708,12 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
|
|
|
7708
7708
|
};
|
|
7709
7709
|
}
|
|
7710
7710
|
const Fe = P(() => {
|
|
7711
|
-
if (
|
|
7711
|
+
if (v.value && r.current.value)
|
|
7712
7712
|
return r.current.value.data ?? {};
|
|
7713
7713
|
const M = n.card.value;
|
|
7714
7714
|
return (M == null ? void 0 : M.rows) ?? {};
|
|
7715
7715
|
}), Ne = P(() => {
|
|
7716
|
-
if (
|
|
7716
|
+
if (v.value && r.current.value)
|
|
7717
7717
|
return r.current.value.fields ?? [];
|
|
7718
7718
|
const M = n.card.value;
|
|
7719
7719
|
if (!M) return [];
|
|
@@ -7802,11 +7802,11 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
|
|
|
7802
7802
|
le(
|
|
7803
7803
|
rt,
|
|
7804
7804
|
(M) => {
|
|
7805
|
-
et(typeof M == "string" ? M :
|
|
7805
|
+
et(typeof M == "string" ? M : m.value);
|
|
7806
7806
|
},
|
|
7807
7807
|
{ immediate: !0 }
|
|
7808
7808
|
), le(
|
|
7809
|
-
|
|
7809
|
+
m,
|
|
7810
7810
|
(M) => {
|
|
7811
7811
|
_t.value || et(M);
|
|
7812
7812
|
},
|
|
@@ -7967,7 +7967,7 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
|
|
|
7967
7967
|
prev: jn,
|
|
7968
7968
|
count: W,
|
|
7969
7969
|
index: de
|
|
7970
|
-
} = r, Ee = P(() => n.count.value), qe = P(() => n.index.value), $e = P(() => Ee.value > 1), Ge = P(() =>
|
|
7970
|
+
} = r, Ee = P(() => n.count.value), qe = P(() => n.index.value), $e = P(() => Ee.value > 1), Ge = P(() => v.value ? W.value : Ee.value), He = P(() => v.value ? de.value : qe.value), _e = n.next, Ye = n.prev;
|
|
7971
7971
|
function Ke() {
|
|
7972
7972
|
const M = yn();
|
|
7973
7973
|
M && (L(M), C({ action: "clear", owner: M }), D.value = null);
|
|
@@ -8153,7 +8153,7 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
|
|
|
8153
8153
|
const j = oe.value;
|
|
8154
8154
|
if (a())
|
|
8155
8155
|
return;
|
|
8156
|
-
if (!M ||
|
|
8156
|
+
if (!M || v.value) {
|
|
8157
8157
|
ot();
|
|
8158
8158
|
return;
|
|
8159
8159
|
}
|
|
@@ -8179,9 +8179,9 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
|
|
|
8179
8179
|
), le(
|
|
8180
8180
|
() => n.index.value,
|
|
8181
8181
|
() => {
|
|
8182
|
-
|
|
8182
|
+
v.value || zn(n.cardFeature.value);
|
|
8183
8183
|
}
|
|
8184
|
-
), le(
|
|
8184
|
+
), le(v, (M) => {
|
|
8185
8185
|
if (M) {
|
|
8186
8186
|
s.value || ot();
|
|
8187
8187
|
return;
|
|
@@ -8196,7 +8196,7 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
|
|
|
8196
8196
|
a();
|
|
8197
8197
|
return;
|
|
8198
8198
|
}
|
|
8199
|
-
!
|
|
8199
|
+
!v.value && n.cardFeature.value && zn(n.cardFeature.value);
|
|
8200
8200
|
}), le(Pe, (M) => {
|
|
8201
8201
|
a() || (M ? zn(n.cardFeature.value) : ot());
|
|
8202
8202
|
}), le(
|
|
@@ -8214,7 +8214,7 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
|
|
|
8214
8214
|
o("div", Vv, [
|
|
8215
8215
|
o("div", Bv, [
|
|
8216
8216
|
o("p", Uv, [
|
|
8217
|
-
|
|
8217
|
+
v.value ? (c(), x(ie, { key: 1 }, [
|
|
8218
8218
|
Ce(" Об’єкт " + V(He.value + 1) + " / " + V(Ge.value), 1)
|
|
8219
8219
|
], 64)) : (c(), x(ie, { key: 0 }, [
|
|
8220
8220
|
$e.value ? (c(), x(ie, { key: 0 }, [
|
|
@@ -8225,7 +8225,7 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
|
|
|
8225
8225
|
], 64))
|
|
8226
8226
|
])
|
|
8227
8227
|
]),
|
|
8228
|
-
|
|
8228
|
+
v.value && se(W) > 1 ? (c(), x("div", qv, [
|
|
8229
8229
|
o("button", {
|
|
8230
8230
|
onClick: j[0] || (j[0] = //@ts-ignore
|
|
8231
8231
|
(...Z) => se(jn) && se(jn)(...Z)),
|
|
@@ -8242,7 +8242,7 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
|
|
|
8242
8242
|
}, [
|
|
8243
8243
|
ne(se(vr), { class: "h-4 w-4" })
|
|
8244
8244
|
], 8, Wv)
|
|
8245
|
-
])) : !
|
|
8245
|
+
])) : !v.value && $e.value ? (c(), x("div", Yv, [
|
|
8246
8246
|
o("button", {
|
|
8247
8247
|
onClick: j[2] || (j[2] = //@ts-ignore
|
|
8248
8248
|
(...Z) => se(Ye) && se(Ye)(...Z)),
|
|
@@ -8416,18 +8416,18 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
|
|
|
8416
8416
|
opacity: ((((E = (_ = (g = f == null ? void 0 : f.features) == null ? void 0 : g[0]) == null ? void 0 : _.geometry) == null ? void 0 : E.type) || "").includes("Polygon"), 0.95)
|
|
8417
8417
|
};
|
|
8418
8418
|
}
|
|
8419
|
-
async function
|
|
8419
|
+
async function v(f) {
|
|
8420
8420
|
const y = await fetch(f);
|
|
8421
8421
|
if (!y.ok) throw new Error(String(y.status));
|
|
8422
8422
|
return y.json();
|
|
8423
8423
|
}
|
|
8424
8424
|
async function b(f, y) {
|
|
8425
8425
|
if (f) {
|
|
8426
|
-
const
|
|
8426
|
+
const m = /^https?:\/\//.test(f) ? f : new URL(f, location.origin).toString(), g = await v(m).catch(() => null), _ = a(g);
|
|
8427
8427
|
if (_) return _;
|
|
8428
8428
|
}
|
|
8429
8429
|
if (y) {
|
|
8430
|
-
const
|
|
8430
|
+
const m = await v(`https://data.gki.com.ua/api-user/atu/${encodeURIComponent(y)}`).catch(() => null), g = a(m);
|
|
8431
8431
|
if (g) return g;
|
|
8432
8432
|
}
|
|
8433
8433
|
return null;
|
|
@@ -8445,14 +8445,14 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
|
|
|
8445
8445
|
s();
|
|
8446
8446
|
return;
|
|
8447
8447
|
}
|
|
8448
|
-
const
|
|
8449
|
-
if (!
|
|
8448
|
+
const m = await b(f, y);
|
|
8449
|
+
if (!m) {
|
|
8450
8450
|
s();
|
|
8451
8451
|
return;
|
|
8452
8452
|
}
|
|
8453
8453
|
s(), i = Xe(`${t.layerId}-boundary`, {
|
|
8454
|
-
source: { type: "geojson", data:
|
|
8455
|
-
style: p(
|
|
8454
|
+
source: { type: "geojson", data: m },
|
|
8455
|
+
style: p(m)
|
|
8456
8456
|
}, r);
|
|
8457
8457
|
}
|
|
8458
8458
|
return le(
|
|
@@ -8481,7 +8481,7 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
|
|
|
8481
8481
|
targetAriaLabel: {}
|
|
8482
8482
|
},
|
|
8483
8483
|
setup(e) {
|
|
8484
|
-
const t = e, { map: n, ready: r } = it(), l = T(null), i = T(null), s = T(null), a = T(null), p = nr(),
|
|
8484
|
+
const t = e, { map: n, ready: r } = it(), l = T(null), i = T(null), s = T(null), a = T(null), p = nr(), v = P(() => {
|
|
8485
8485
|
var _;
|
|
8486
8486
|
return ((_ = p.value) == null ? void 0 : _.map) ?? null;
|
|
8487
8487
|
});
|
|
@@ -8537,7 +8537,7 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
|
|
|
8537
8537
|
), le(
|
|
8538
8538
|
() => {
|
|
8539
8539
|
var _;
|
|
8540
|
-
return (_ =
|
|
8540
|
+
return (_ = v.value) == null ? void 0 : _.center;
|
|
8541
8541
|
},
|
|
8542
8542
|
(_) => {
|
|
8543
8543
|
d(_);
|
|
@@ -8546,7 +8546,7 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
|
|
|
8546
8546
|
), le(
|
|
8547
8547
|
() => {
|
|
8548
8548
|
var _;
|
|
8549
|
-
return (_ =
|
|
8549
|
+
return (_ = v.value) == null ? void 0 : _.zoom;
|
|
8550
8550
|
},
|
|
8551
8551
|
(_) => {
|
|
8552
8552
|
h(_);
|
|
@@ -8568,7 +8568,7 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
|
|
|
8568
8568
|
i.value == null && (i.value = _.getZoom());
|
|
8569
8569
|
}
|
|
8570
8570
|
});
|
|
8571
|
-
function
|
|
8571
|
+
function m() {
|
|
8572
8572
|
const _ = n.value;
|
|
8573
8573
|
if (!_) return;
|
|
8574
8574
|
const E = l.value || (() => {
|
|
@@ -8590,7 +8590,7 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
|
|
|
8590
8590
|
type: "button",
|
|
8591
8591
|
class: "group relative flex items-center justify-center w-9 h-9 rounded-xl shadow-lg transition-transform transition-shadow duration-200 bg-white text-gray-700 hover:bg-gray-50 hover:scale-105 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-400/60 focus-visible:ring-offset-2",
|
|
8592
8592
|
"aria-label": "Повернути центр",
|
|
8593
|
-
onClick: nt(
|
|
8593
|
+
onClick: nt(m, ["stop"])
|
|
8594
8594
|
}, [
|
|
8595
8595
|
E[0] || (E[0] = o("span", {
|
|
8596
8596
|
class: "absolute right-full mr-3 px-1.5 py-0.5 bg-gray-700 text-white text-[0.75rem] font-medium rounded-md opacity-0 group-hover:opacity-100 group-focus-visible:opacity-100 pointer-events-none transition-opacity duration-200 whitespace-nowrap",
|
|
@@ -8621,7 +8621,7 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
|
|
|
8621
8621
|
},
|
|
8622
8622
|
setup(e) {
|
|
8623
8623
|
var H, ce;
|
|
8624
|
-
const n = As(e, "hideServiceKey"), r = Lt(), l = Pt(), { id: i } = r.params, s = T(null), a = T(null), p = T({}),
|
|
8624
|
+
const n = As(e, "hideServiceKey"), r = Lt(), l = Pt(), { id: i } = r.params, s = T(null), a = T(null), p = T({}), v = T(null), b = ((ce = (H = rn()) == null ? void 0 : H.appContext.config.globalProperties) == null ? void 0 : ce.$settings) || null;
|
|
8625
8625
|
function d(w) {
|
|
8626
8626
|
typeof document > "u" || (document.title = w ? `${w} — Сервіс` : U0);
|
|
8627
8627
|
}
|
|
@@ -8637,7 +8637,7 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
|
|
|
8637
8637
|
const z = typeof w == "number" ? w : Number(w.trim());
|
|
8638
8638
|
return Number.isFinite(z) ? z : null;
|
|
8639
8639
|
}
|
|
8640
|
-
function
|
|
8640
|
+
function m(w, z) {
|
|
8641
8641
|
return w.toFixed(z);
|
|
8642
8642
|
}
|
|
8643
8643
|
function g(w, z, ee) {
|
|
@@ -8662,9 +8662,9 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
|
|
|
8662
8662
|
if (!z || ee == null) return;
|
|
8663
8663
|
const ye = {
|
|
8664
8664
|
...r.query,
|
|
8665
|
-
z:
|
|
8666
|
-
x:
|
|
8667
|
-
y:
|
|
8665
|
+
z: m(ee, Ur),
|
|
8666
|
+
x: m(z.lng, no),
|
|
8667
|
+
y: m(z.lat, no)
|
|
8668
8668
|
};
|
|
8669
8669
|
r.query.z === ye.z && r.query.x === ye.x && r.query.y === ye.y || l.replace({ query: ye });
|
|
8670
8670
|
}
|
|
@@ -8672,12 +8672,12 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
|
|
|
8672
8672
|
let ae = null;
|
|
8673
8673
|
const Q = P(() => {
|
|
8674
8674
|
var w, z;
|
|
8675
|
-
return ((w =
|
|
8675
|
+
return ((w = v.value) == null ? void 0 : w.id) ?? ((z = v.value) == null ? void 0 : z.service_id) ?? null;
|
|
8676
8676
|
}), ue = P(() => {
|
|
8677
8677
|
const w = (b == null ? void 0 : b.map) || null, z = (w == null ? void 0 : w.boundary) ?? null, ee = (w == null ? void 0 : w.katottg) ?? null;
|
|
8678
8678
|
return !z && !ee ? null : { boundary: z, katottg: ee };
|
|
8679
8679
|
}), Y = P(() => {
|
|
8680
|
-
const w =
|
|
8680
|
+
const w = v.value;
|
|
8681
8681
|
if (!w) return "";
|
|
8682
8682
|
const z = [];
|
|
8683
8683
|
!n.value && w.service_key && z.push(`Сервіс: ${w.service_key}`), w.description && z.push(w.description);
|
|
@@ -8722,7 +8722,7 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
|
|
|
8722
8722
|
), le(
|
|
8723
8723
|
() => {
|
|
8724
8724
|
var w;
|
|
8725
|
-
return (w =
|
|
8725
|
+
return (w = v.value) == null ? void 0 : w.name;
|
|
8726
8726
|
},
|
|
8727
8727
|
(w) => d(w),
|
|
8728
8728
|
{ immediate: !0 }
|
|
@@ -8754,10 +8754,10 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
|
|
|
8754
8754
|
}
|
|
8755
8755
|
function U() {
|
|
8756
8756
|
var z;
|
|
8757
|
-
if (!
|
|
8757
|
+
if (!v.value) return;
|
|
8758
8758
|
const w = I(L.value);
|
|
8759
|
-
B(w, ((z =
|
|
8760
|
-
...
|
|
8759
|
+
B(w, ((z = v.value) == null ? void 0 : z.style) ?? null) || (v.value = {
|
|
8760
|
+
...v.value,
|
|
8761
8761
|
style: w
|
|
8762
8762
|
});
|
|
8763
8763
|
}
|
|
@@ -8773,7 +8773,7 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
|
|
|
8773
8773
|
const z = await w.json();
|
|
8774
8774
|
p.value = z || {}, a.value = i;
|
|
8775
8775
|
const ee = I(z.style);
|
|
8776
|
-
|
|
8776
|
+
v.value = z ? { ...z, style: S(ee) } : null, L.value = ee, k.value = typeof (z == null ? void 0 : z.style) == "string" ? z.style : ee ? jr.dump(ee) : "", $.value = (z == null ? void 0 : z.popup) || [], N.value = z.card_mode === "html" ? "html" : "list", A.value = z.card, D.value = z.html, C.value = (z == null ? void 0 : z.legend) || [], K.value = (z == null ? void 0 : z.filters) || [];
|
|
8777
8777
|
} catch (w) {
|
|
8778
8778
|
console.error("Failed to fetch map info", w);
|
|
8779
8779
|
}
|
|
@@ -8781,7 +8781,7 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
|
|
|
8781
8781
|
le(
|
|
8782
8782
|
() => {
|
|
8783
8783
|
var w;
|
|
8784
|
-
return (w =
|
|
8784
|
+
return (w = v.value) == null ? void 0 : w.style;
|
|
8785
8785
|
},
|
|
8786
8786
|
(w) => {
|
|
8787
8787
|
L.value = I(w);
|
|
@@ -8801,11 +8801,11 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
|
|
|
8801
8801
|
}
|
|
8802
8802
|
function xe() {
|
|
8803
8803
|
const w = S(L.value);
|
|
8804
|
-
|
|
8804
|
+
v.value = v.value ? { ...v.value, style: w } : v.value;
|
|
8805
8805
|
}
|
|
8806
8806
|
async function Fe(w, z) {
|
|
8807
|
-
if (
|
|
8808
|
-
...
|
|
8807
|
+
if (v.value = {
|
|
8808
|
+
...v.value || {},
|
|
8809
8809
|
...w
|
|
8810
8810
|
}, typeof w.html < "u" && (p.value = {
|
|
8811
8811
|
...p.value || {},
|
|
@@ -8862,14 +8862,14 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
|
|
|
8862
8862
|
Ce(" Назад ", -1)
|
|
8863
8863
|
])]),
|
|
8864
8864
|
o("div", null, [
|
|
8865
|
-
o("div", L0, V((ee =
|
|
8865
|
+
o("div", L0, V((ee = v.value) == null ? void 0 : ee.name), 1),
|
|
8866
8866
|
Y.value ? (c(), x("div", M0, V(Y.value), 1)) : X("", !0)
|
|
8867
8867
|
])
|
|
8868
8868
|
]),
|
|
8869
8869
|
o("div", {
|
|
8870
8870
|
class: "max-w-xl text-xs text-gray-600 truncate",
|
|
8871
|
-
title: (ye =
|
|
8872
|
-
}, V((Me =
|
|
8871
|
+
title: (ye = v.value) == null ? void 0 : ye.description
|
|
8872
|
+
}, V((Me = v.value) == null ? void 0 : Me.description), 9, E0)
|
|
8873
8873
|
])
|
|
8874
8874
|
]),
|
|
8875
8875
|
o("div", T0, [
|
|
@@ -8881,18 +8881,18 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
|
|
|
8881
8881
|
default: Oe(() => {
|
|
8882
8882
|
var we, We, Ze, rt, et, at, _t;
|
|
8883
8883
|
return [
|
|
8884
|
-
(we =
|
|
8884
|
+
(we = v.value) != null && we.service_id ? (c(), fe(pv, {
|
|
8885
8885
|
key: 0,
|
|
8886
|
-
id: (We =
|
|
8887
|
-
layer:
|
|
8888
|
-
"style-spec": ((Ze =
|
|
8886
|
+
id: (We = v.value) == null ? void 0 : We.service_id,
|
|
8887
|
+
layer: v.value,
|
|
8888
|
+
"style-spec": ((Ze = v.value) == null ? void 0 : Ze.style) || null,
|
|
8889
8889
|
autoCenter: !1
|
|
8890
8890
|
}, null, 8, ["id", "layer", "style-spec"])) : X("", !0),
|
|
8891
8891
|
Q.value ? (c(), fe(ls, {
|
|
8892
8892
|
key: 1,
|
|
8893
8893
|
"layer-id": Q.value,
|
|
8894
|
-
boundary: ((rt =
|
|
8895
|
-
katottg: ((at =
|
|
8894
|
+
boundary: ((rt = v.value) == null ? void 0 : rt.boundary) || ((et = ue.value) == null ? void 0 : et.boundary) || null,
|
|
8895
|
+
katottg: ((at = v.value) == null ? void 0 : at.katottg) || ((_t = ue.value) == null ? void 0 : _t.katottg) || null
|
|
8896
8896
|
}, null, 8, ["layer-id", "boundary", "katottg"])) : X("", !0),
|
|
8897
8897
|
o("div", I0, [
|
|
8898
8898
|
Q.value ? (c(), fe(Do, {
|
|
@@ -8995,7 +8995,7 @@ const Bo = "map-card:external-payload", Ov = (e) => e ? typeof e.html == "string
|
|
|
8995
8995
|
onSave: z[10] || (z[10] = (we) => ge("filters", we))
|
|
8996
8996
|
}, null, 8, ["token", "fields", "columns"])) : re.value === "metadata" ? (c(), fe(er, {
|
|
8997
8997
|
key: 5,
|
|
8998
|
-
data:
|
|
8998
|
+
data: v.value,
|
|
8999
8999
|
"entity-id": String(se(i)),
|
|
9000
9000
|
"entity-type": "service",
|
|
9001
9001
|
onSaved: pe
|
|
@@ -9205,15 +9205,15 @@ const kg = /* @__PURE__ */ Te(bg, [["render", _g]]), $g = { class: "absolute top
|
|
|
9205
9205
|
},
|
|
9206
9206
|
{ immediate: !0 }
|
|
9207
9207
|
);
|
|
9208
|
-
let p = null,
|
|
9208
|
+
let p = null, v = !1;
|
|
9209
9209
|
le(
|
|
9210
9210
|
() => t.extent,
|
|
9211
9211
|
(d) => {
|
|
9212
9212
|
if (!d || d.length !== 4) return;
|
|
9213
9213
|
const h = d.join(",");
|
|
9214
9214
|
if (h !== p) {
|
|
9215
|
-
if (p = h, !
|
|
9216
|
-
|
|
9215
|
+
if (p = h, !v) {
|
|
9216
|
+
v = !0;
|
|
9217
9217
|
return;
|
|
9218
9218
|
}
|
|
9219
9219
|
s == null || s([[d[0], d[1]], [d[2], d[3]]], {
|
|
@@ -9272,8 +9272,8 @@ const kg = /* @__PURE__ */ Te(bg, [["render", _g]]), $g = { class: "absolute top
|
|
|
9272
9272
|
const t = e, n = t.layerId || "extent-outline-layer", r = `${n}-source`, l = P(() => {
|
|
9273
9273
|
const a = t.extent;
|
|
9274
9274
|
if (!a || a.length !== 4) return null;
|
|
9275
|
-
const [p,
|
|
9276
|
-
return [p,
|
|
9275
|
+
const [p, v, b, d] = a;
|
|
9276
|
+
return [p, v, b, d].some(
|
|
9277
9277
|
(h) => typeof h != "number" || Number.isNaN(h)
|
|
9278
9278
|
) ? null : {
|
|
9279
9279
|
type: "FeatureCollection",
|
|
@@ -9284,11 +9284,11 @@ const kg = /* @__PURE__ */ Te(bg, [["render", _g]]), $g = { class: "absolute top
|
|
|
9284
9284
|
geometry: {
|
|
9285
9285
|
type: "Polygon",
|
|
9286
9286
|
coordinates: [[
|
|
9287
|
-
[p,
|
|
9288
|
-
[b,
|
|
9287
|
+
[p, v],
|
|
9288
|
+
[b, v],
|
|
9289
9289
|
[b, d],
|
|
9290
9290
|
[p, d],
|
|
9291
|
-
[p,
|
|
9291
|
+
[p, v]
|
|
9292
9292
|
]]
|
|
9293
9293
|
}
|
|
9294
9294
|
}
|
|
@@ -9313,13 +9313,13 @@ const kg = /* @__PURE__ */ Te(bg, [["render", _g]]), $g = { class: "absolute top
|
|
|
9313
9313
|
return le(
|
|
9314
9314
|
() => l.value,
|
|
9315
9315
|
(a) => {
|
|
9316
|
-
var
|
|
9316
|
+
var v;
|
|
9317
9317
|
if (!a) {
|
|
9318
9318
|
s.setVisible(!1), s.setData({ type: "FeatureCollection", features: [] });
|
|
9319
9319
|
return;
|
|
9320
9320
|
}
|
|
9321
9321
|
s.setVisible(!0), s.setData(a);
|
|
9322
|
-
const p = (
|
|
9322
|
+
const p = (v = i.map) == null ? void 0 : v.value;
|
|
9323
9323
|
p != null && p.moveLayer && p.getLayer(n) && p.moveLayer(n);
|
|
9324
9324
|
},
|
|
9325
9325
|
{ immediate: !0 }
|
|
@@ -9345,7 +9345,7 @@ const kg = /* @__PURE__ */ Te(bg, [["render", _g]]), $g = { class: "absolute top
|
|
|
9345
9345
|
},
|
|
9346
9346
|
emits: ["saved"],
|
|
9347
9347
|
setup(e, { emit: t }) {
|
|
9348
|
-
const n = e, r = t, l = vt(() => import("@opengis/core").then((U) => U.VsModal)), i = vt(() => import("@opengis/form")), s = T(!1), a = T(null), p = T(null),
|
|
9348
|
+
const n = e, r = t, l = vt(() => import("@opengis/core").then((U) => U.VsModal)), i = vt(() => import("@opengis/form")), s = T(!1), a = T(null), p = T(null), v = T(null), b = T(null), d = P(() => b.value ? {
|
|
9349
9349
|
position: "fixed",
|
|
9350
9350
|
top: `${b.value.top}px`,
|
|
9351
9351
|
left: `${b.value.left}px`
|
|
@@ -9353,7 +9353,7 @@ const kg = /* @__PURE__ */ Te(bg, [["render", _g]]), $g = { class: "absolute top
|
|
|
9353
9353
|
le(s, (U) => {
|
|
9354
9354
|
U && st(O);
|
|
9355
9355
|
});
|
|
9356
|
-
const h = T(!1), u = T(null), f = T({}), y = T(null),
|
|
9356
|
+
const h = T(!1), u = T(null), f = T({}), y = T(null), m = T(""), g = T(!1), _ = T(!1), E = T(null), L = P(() => n.entityId || ""), k = (U, te) => U ? typeof U == "function" ? U(te) : typeof U != "string" ? "" : U.includes(":id") ? te ? U.replace(":id", encodeURIComponent(te)) : "" : U : "", C = P(() => {
|
|
9357
9357
|
var U;
|
|
9358
9358
|
return (U = n.table) == null ? void 0 : U.trim();
|
|
9359
9359
|
}), $ = P(() => {
|
|
@@ -9380,7 +9380,7 @@ const kg = /* @__PURE__ */ Te(bg, [["render", _g]]), $g = { class: "absolute top
|
|
|
9380
9380
|
function O() {
|
|
9381
9381
|
var w;
|
|
9382
9382
|
if (typeof window > "u" || !p.value) return;
|
|
9383
|
-
const U = p.value.getBoundingClientRect(), te = window.innerWidth, pe = window.innerHeight, ge = U.left, xe = Math.max(te - Rg - Rn, Rn), Fe = Math.min(Math.max(ge, Rn), xe), Ne = ((w =
|
|
9383
|
+
const U = p.value.getBoundingClientRect(), te = window.innerWidth, pe = window.innerHeight, ge = U.left, xe = Math.max(te - Rg - Rn, Rn), Fe = Math.min(Math.max(ge, Rn), xe), Ne = ((w = v.value) == null ? void 0 : w.offsetHeight) ?? 0, H = U.bottom + qr;
|
|
9384
9384
|
let ce = H;
|
|
9385
9385
|
if (Ne && H + Ne > pe - Rn) {
|
|
9386
9386
|
const z = U.top - qr - Ne;
|
|
@@ -9390,9 +9390,9 @@ const kg = /* @__PURE__ */ Te(bg, [["render", _g]]), $g = { class: "absolute top
|
|
|
9390
9390
|
}
|
|
9391
9391
|
function re(U) {
|
|
9392
9392
|
var pe, ge;
|
|
9393
|
-
if (!a.value && !
|
|
9393
|
+
if (!a.value && !v.value) return;
|
|
9394
9394
|
const te = U.target;
|
|
9395
|
-
te && ((pe = a.value) != null && pe.contains(te) || (ge =
|
|
9395
|
+
te && ((pe = a.value) != null && pe.contains(te) || (ge = v.value) != null && ge.contains(te)) || (s.value = !1);
|
|
9396
9396
|
}
|
|
9397
9397
|
function F() {
|
|
9398
9398
|
s.value && O();
|
|
@@ -9405,7 +9405,7 @@ const kg = /* @__PURE__ */ Te(bg, [["render", _g]]), $g = { class: "absolute top
|
|
|
9405
9405
|
async function S() {
|
|
9406
9406
|
var U, te, pe;
|
|
9407
9407
|
if (!(!L.value || !N.value)) {
|
|
9408
|
-
R(), h.value = !0, g.value = !0,
|
|
9408
|
+
R(), h.value = !0, g.value = !0, m.value = "", u.value = null, f.value = {}, E.value = null;
|
|
9409
9409
|
try {
|
|
9410
9410
|
const ge = await fetch(N.value);
|
|
9411
9411
|
if (!ge.ok)
|
|
@@ -9415,14 +9415,14 @@ const kg = /* @__PURE__ */ Te(bg, [["render", _g]]), $g = { class: "absolute top
|
|
|
9415
9415
|
const Fe = typeof (xe == null ? void 0 : xe.token) == "string" && xe.token || typeof ((U = xe == null ? void 0 : xe.tokens) == null ? void 0 : U.edit) == "string" && xe.tokens.edit || typeof ((te = xe == null ? void 0 : xe.tokens) == null ? void 0 : te.edit_token) == "string" && xe.tokens.edit_token || typeof ((pe = xe == null ? void 0 : xe.data) == null ? void 0 : pe.token) == "string" && xe.data.token || null;
|
|
9416
9416
|
E.value = Fe, y.value = null;
|
|
9417
9417
|
} catch (ge) {
|
|
9418
|
-
console.error("Failed to load edit form", ge),
|
|
9418
|
+
console.error("Failed to load edit form", ge), m.value = "Не вдалося завантажити форму редагування";
|
|
9419
9419
|
} finally {
|
|
9420
9420
|
g.value = !1;
|
|
9421
9421
|
}
|
|
9422
9422
|
}
|
|
9423
9423
|
}
|
|
9424
9424
|
function I() {
|
|
9425
|
-
h.value = !1, u.value = null,
|
|
9425
|
+
h.value = !1, u.value = null, m.value = "", E.value = null;
|
|
9426
9426
|
}
|
|
9427
9427
|
async function B() {
|
|
9428
9428
|
var U, te;
|
|
@@ -9495,7 +9495,7 @@ const kg = /* @__PURE__ */ Te(bg, [["render", _g]]), $g = { class: "absolute top
|
|
|
9495
9495
|
s.value ? (c(), x("div", {
|
|
9496
9496
|
key: 0,
|
|
9497
9497
|
ref_key: "menuContainer",
|
|
9498
|
-
ref:
|
|
9498
|
+
ref: v,
|
|
9499
9499
|
style: ft(d.value),
|
|
9500
9500
|
class: "absolute top-0 left-0 mt-2 w-48 rounded-xl border border-gray-200 bg-white shadow-lg text-sm z-[1000]"
|
|
9501
9501
|
}, [
|
|
@@ -9563,7 +9563,7 @@ const kg = /* @__PURE__ */ Te(bg, [["render", _g]]), $g = { class: "absolute top
|
|
|
9563
9563
|
])
|
|
9564
9564
|
]),
|
|
9565
9565
|
default: Oe(() => [
|
|
9566
|
-
g.value ? (c(), x("div", Ig, " Завантаження форми редагування… ")) :
|
|
9566
|
+
g.value ? (c(), x("div", Ig, " Завантаження форми редагування… ")) : m.value ? (c(), x("div", jg, V(m.value), 1)) : (c(), fe(se(i), {
|
|
9567
9567
|
key: 2,
|
|
9568
9568
|
values: f.value,
|
|
9569
9569
|
"onUpdate:values": te[0] || (te[0] = (pe) => f.value = pe),
|
|
@@ -9597,7 +9597,7 @@ const kg = /* @__PURE__ */ Te(bg, [["render", _g]]), $g = { class: "absolute top
|
|
|
9597
9597
|
var z;
|
|
9598
9598
|
const w = (z = r.params) == null ? void 0 : z.id;
|
|
9599
9599
|
return typeof w == "string" ? w : void 0;
|
|
9600
|
-
}), s = T(null), a = T(!1), p = T(!1),
|
|
9600
|
+
}), s = T(null), a = T(!1), p = T(!1), v = T(null), b = T(!0);
|
|
9601
9601
|
let d = null;
|
|
9602
9602
|
const h = T(!1);
|
|
9603
9603
|
function u(w) {
|
|
@@ -9613,13 +9613,13 @@ const kg = /* @__PURE__ */ Te(bg, [["render", _g]]), $g = { class: "absolute top
|
|
|
9613
9613
|
const ye = 0.5 * 10 ** -ee;
|
|
9614
9614
|
return Math.abs(w - z) > ye;
|
|
9615
9615
|
}
|
|
9616
|
-
function
|
|
9616
|
+
function m() {
|
|
9617
9617
|
var w;
|
|
9618
9618
|
return (w = l.value) == null ? void 0 : w.ctx;
|
|
9619
9619
|
}
|
|
9620
9620
|
function g() {
|
|
9621
9621
|
var Ze, rt, et, at;
|
|
9622
|
-
const w = (rt = (Ze =
|
|
9622
|
+
const w = (rt = (Ze = m()) == null ? void 0 : Ze.map) == null ? void 0 : rt.value;
|
|
9623
9623
|
if (!w) return;
|
|
9624
9624
|
const z = u(r.query.z), ee = u(r.query.x), ye = u(r.query.y);
|
|
9625
9625
|
if (z == null || ee == null || ye == null) return;
|
|
@@ -9629,7 +9629,7 @@ const kg = /* @__PURE__ */ Te(bg, [["render", _g]]), $g = { class: "absolute top
|
|
|
9629
9629
|
function _() {
|
|
9630
9630
|
var Me, we, We, Ze;
|
|
9631
9631
|
if (h.value) return;
|
|
9632
|
-
const w = (we = (Me =
|
|
9632
|
+
const w = (we = (Me = m()) == null ? void 0 : Me.map) == null ? void 0 : we.value;
|
|
9633
9633
|
if (!w) return;
|
|
9634
9634
|
const z = (We = w.getCenter) == null ? void 0 : We.call(w), ee = (Ze = w.getZoom) == null ? void 0 : Ze.call(w);
|
|
9635
9635
|
if (!z || ee == null) return;
|
|
@@ -9704,7 +9704,7 @@ const kg = /* @__PURE__ */ Te(bg, [["render", _g]]), $g = { class: "absolute top
|
|
|
9704
9704
|
);
|
|
9705
9705
|
async function re() {
|
|
9706
9706
|
var ye;
|
|
9707
|
-
const w =
|
|
9707
|
+
const w = m();
|
|
9708
9708
|
if (!(w != null && w.ready)) return;
|
|
9709
9709
|
await w.ready(), g();
|
|
9710
9710
|
const z = (ye = w.map) == null ? void 0 : ye.value;
|
|
@@ -9733,10 +9733,10 @@ const kg = /* @__PURE__ */ Te(bg, [["render", _g]]), $g = { class: "absolute top
|
|
|
9733
9733
|
async function S() {
|
|
9734
9734
|
const w = i.value;
|
|
9735
9735
|
if (!w) {
|
|
9736
|
-
s.value = null,
|
|
9736
|
+
s.value = null, v.value = null;
|
|
9737
9737
|
return;
|
|
9738
9738
|
}
|
|
9739
|
-
a.value = !0,
|
|
9739
|
+
a.value = !0, v.value = null;
|
|
9740
9740
|
try {
|
|
9741
9741
|
const z = await fetch(`/api/gis-raster/${encodeURIComponent(w)}`);
|
|
9742
9742
|
if (!z.ok)
|
|
@@ -9744,7 +9744,7 @@ const kg = /* @__PURE__ */ Te(bg, [["render", _g]]), $g = { class: "absolute top
|
|
|
9744
9744
|
const ee = await z.json();
|
|
9745
9745
|
ee.xml && (p.value = !0), s.value = ee, ee.xml || (je({ title: "XML not found", type: "info", message: "йде створення xml ... зачекайте" }), await I(`/api/gis-xml/${encodeURIComponent(w)}`), je({ title: "XML created", type: "info", message: "карта створена" }), fetch(`/api/gis-raster/${encodeURIComponent(w)}?nocache=1`), p.value = !0);
|
|
9746
9746
|
} catch (z) {
|
|
9747
|
-
console.error("Failed to load raster info", z), s.value = null,
|
|
9747
|
+
console.error("Failed to load raster info", z), s.value = null, v.value = z instanceof Error ? z.message : String(z);
|
|
9748
9748
|
} finally {
|
|
9749
9749
|
a.value = !1;
|
|
9750
9750
|
}
|
|
@@ -9975,7 +9975,7 @@ const kg = /* @__PURE__ */ Te(bg, [["render", _g]]), $g = { class: "absolute top
|
|
|
9975
9975
|
])
|
|
9976
9976
|
]),
|
|
9977
9977
|
o("div", ly, [
|
|
9978
|
-
a.value ? (c(), x("div", sy, " Завантаження метаданих растру… ")) :
|
|
9978
|
+
a.value ? (c(), x("div", sy, " Завантаження метаданих растру… ")) : v.value ? (c(), x("div", iy, " Не вдалося отримати дані: " + V(v.value), 1)) : X("", !0),
|
|
9979
9979
|
ue.value === "files" ? (c(), fe(vg, {
|
|
9980
9980
|
key: 2,
|
|
9981
9981
|
files: R.value
|
|
@@ -10099,7 +10099,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
10099
10099
|
maxzoom: "",
|
|
10100
10100
|
proj4text: "",
|
|
10101
10101
|
active: !0
|
|
10102
|
-
}),
|
|
10102
|
+
}), v = {
|
|
10103
10103
|
table: { type: "text", label: "Таблиця", validators: ["required"] },
|
|
10104
10104
|
key: { type: "text", label: "Ключ", validators: ["required"] },
|
|
10105
10105
|
query: { type: "text", label: "Query" },
|
|
@@ -10127,8 +10127,8 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
10127
10127
|
a.value = !1;
|
|
10128
10128
|
}
|
|
10129
10129
|
function h() {
|
|
10130
|
-
var
|
|
10131
|
-
const f = (
|
|
10130
|
+
var m, g;
|
|
10131
|
+
const f = (m = p.value.table) == null ? void 0 : m.trim(), y = (g = p.value.key) == null ? void 0 : g.trim();
|
|
10132
10132
|
if (!f || !y) {
|
|
10133
10133
|
je({
|
|
10134
10134
|
type: "warning",
|
|
@@ -10144,8 +10144,8 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
10144
10144
|
}
|
|
10145
10145
|
function u(f, y) {
|
|
10146
10146
|
var g;
|
|
10147
|
-
const
|
|
10148
|
-
f.active =
|
|
10147
|
+
const m = ((g = y == null ? void 0 : y.target) == null ? void 0 : g.checked) ?? !1;
|
|
10148
|
+
f.active = m, i.value = Array.isArray(i.value) ? [...i.value] : [];
|
|
10149
10149
|
}
|
|
10150
10150
|
return (f, y) => (c(), x("div", gy, [
|
|
10151
10151
|
o("div", yy, [
|
|
@@ -10157,42 +10157,42 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
10157
10157
|
o("button", {
|
|
10158
10158
|
type: "button",
|
|
10159
10159
|
class: "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md font-medium bg-gradient-to-r from-sky-400 to-blue-400 hover:from-sky-500 hover:to-blue-500 text-white shadow-sm px-4 py-2 h-9 text-xs transition-all duration-300",
|
|
10160
|
-
onClick: y[0] || (y[0] = (
|
|
10160
|
+
onClick: y[0] || (y[0] = (m) => s("save"))
|
|
10161
10161
|
}, " Зберегти ")
|
|
10162
10162
|
]),
|
|
10163
10163
|
ne(sn, {
|
|
10164
10164
|
modelValue: i.value,
|
|
10165
|
-
"onUpdate:modelValue": y[1] || (y[1] = (
|
|
10165
|
+
"onUpdate:modelValue": y[1] || (y[1] = (m) => i.value = m),
|
|
10166
10166
|
"columns-scheme": n,
|
|
10167
|
-
"form-scheme":
|
|
10167
|
+
"form-scheme": v,
|
|
10168
10168
|
"add-button": !1,
|
|
10169
10169
|
"main-col-width": "260px"
|
|
10170
10170
|
}, {
|
|
10171
|
-
datasetCell: Oe(({ row:
|
|
10171
|
+
datasetCell: Oe(({ row: m }) => [
|
|
10172
10172
|
o("div", hy, [
|
|
10173
|
-
o("div", xy, V(
|
|
10174
|
-
o("div", by, V(
|
|
10173
|
+
o("div", xy, V(m.table), 1),
|
|
10174
|
+
o("div", by, V(m.key), 1)
|
|
10175
10175
|
])
|
|
10176
10176
|
]),
|
|
10177
|
-
activeCell: Oe(({ row:
|
|
10177
|
+
activeCell: Oe(({ row: m }) => [
|
|
10178
10178
|
o("label", wy, [
|
|
10179
10179
|
o("input", {
|
|
10180
10180
|
type: "checkbox",
|
|
10181
10181
|
class: "h-4 w-4 text-sky-500 border-gray-300 rounded focus:ring-sky-300",
|
|
10182
|
-
checked:
|
|
10183
|
-
onChange: (g) => u(
|
|
10182
|
+
checked: m.active,
|
|
10183
|
+
onChange: (g) => u(m, g)
|
|
10184
10184
|
}, null, 40, _y)
|
|
10185
10185
|
])
|
|
10186
10186
|
]),
|
|
10187
|
-
zoomCell: Oe(({ row:
|
|
10188
|
-
o("div", ky, V(
|
|
10187
|
+
zoomCell: Oe(({ row: m }) => [
|
|
10188
|
+
o("div", ky, V(m.zoom), 1)
|
|
10189
10189
|
]),
|
|
10190
10190
|
_: 1
|
|
10191
10191
|
}, 8, ["modelValue"]),
|
|
10192
10192
|
ne(se(r), {
|
|
10193
10193
|
teleport: "#modal",
|
|
10194
10194
|
visible: a.value,
|
|
10195
|
-
"onUpdate:visible": y[3] || (y[3] = (
|
|
10195
|
+
"onUpdate:visible": y[3] || (y[3] = (m) => a.value = m),
|
|
10196
10196
|
title: "Нова таблиця CartoCSS"
|
|
10197
10197
|
}, {
|
|
10198
10198
|
footer: Oe(() => [
|
|
@@ -10212,8 +10212,8 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
10212
10212
|
default: Oe(() => [
|
|
10213
10213
|
ne(se(l), {
|
|
10214
10214
|
values: p.value,
|
|
10215
|
-
"onUpdate:values": y[2] || (y[2] = (
|
|
10216
|
-
schema:
|
|
10215
|
+
"onUpdate:values": y[2] || (y[2] = (m) => p.value = m),
|
|
10216
|
+
schema: v
|
|
10217
10217
|
}, null, 8, ["values"])
|
|
10218
10218
|
]),
|
|
10219
10219
|
_: 1
|
|
@@ -10235,13 +10235,13 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
10235
10235
|
card_table: l.value
|
|
10236
10236
|
});
|
|
10237
10237
|
}
|
|
10238
|
-
return (p,
|
|
10238
|
+
return (p, v) => (c(), x("div", Cy, [
|
|
10239
10239
|
o("div", { class: "flex items-center justify-end gap-3" }, [
|
|
10240
10240
|
o("button", {
|
|
10241
10241
|
type: "button",
|
|
10242
10242
|
class: "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md font-medium bg-gradient-to-r from-sky-400 to-blue-400 hover:from-sky-500 hover:to-blue-500 text-white shadow-sm px-4 py-2 h-9 text-xs transition-all duration-300",
|
|
10243
10243
|
onClick: a
|
|
10244
|
-
}, [...
|
|
10244
|
+
}, [...v[2] || (v[2] = [
|
|
10245
10245
|
o("svg", {
|
|
10246
10246
|
xmlns: "http://www.w3.org/2000/svg",
|
|
10247
10247
|
width: "24",
|
|
@@ -10264,13 +10264,13 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
10264
10264
|
o("div", null, [
|
|
10265
10265
|
ne(se(s), {
|
|
10266
10266
|
modelValue: l.value,
|
|
10267
|
-
"onUpdate:modelValue":
|
|
10267
|
+
"onUpdate:modelValue": v[0] || (v[0] = (b) => l.value = b)
|
|
10268
10268
|
}, null, 8, ["modelValue"])
|
|
10269
10269
|
]),
|
|
10270
10270
|
o("div", Sy, [
|
|
10271
10271
|
ne(Gn, {
|
|
10272
10272
|
modelValue: i.value,
|
|
10273
|
-
"onUpdate:modelValue":
|
|
10273
|
+
"onUpdate:modelValue": v[1] || (v[1] = (b) => i.value = b),
|
|
10274
10274
|
language: "html",
|
|
10275
10275
|
theme: "vs-light",
|
|
10276
10276
|
class: "h-full w-full rounded-md"
|
|
@@ -10299,7 +10299,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
10299
10299
|
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}` : "";
|
|
10300
10300
|
});
|
|
10301
10301
|
let a = "", p = "";
|
|
10302
|
-
function
|
|
10302
|
+
function v() {
|
|
10303
10303
|
const b = t.active && !!s.value;
|
|
10304
10304
|
a && (!b || a !== t.layerId) && (l(a, p || void 0), a = "", p = ""), b && (r(
|
|
10305
10305
|
{
|
|
@@ -10314,7 +10314,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
10314
10314
|
}
|
|
10315
10315
|
return le(
|
|
10316
10316
|
() => [t.layerId, s.value, t.active, t.owner],
|
|
10317
|
-
|
|
10317
|
+
v,
|
|
10318
10318
|
{ immediate: !0 }
|
|
10319
10319
|
), le(
|
|
10320
10320
|
() => t.opacity,
|
|
@@ -10343,7 +10343,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
10343
10343
|
throw new Error(`API returned ${f.status}`);
|
|
10344
10344
|
return f.json();
|
|
10345
10345
|
};
|
|
10346
|
-
let p = null,
|
|
10346
|
+
let p = null, v = null;
|
|
10347
10347
|
const b = (u) => {
|
|
10348
10348
|
if (!u) return null;
|
|
10349
10349
|
if (typeof u == "string")
|
|
@@ -10354,14 +10354,14 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
10354
10354
|
}
|
|
10355
10355
|
return u;
|
|
10356
10356
|
}, d = async (u, f) => {
|
|
10357
|
-
var
|
|
10357
|
+
var m;
|
|
10358
10358
|
const y = new URLSearchParams({
|
|
10359
10359
|
layer: n.value ?? "",
|
|
10360
10360
|
id: String(u)
|
|
10361
10361
|
});
|
|
10362
10362
|
try {
|
|
10363
10363
|
const g = await a(y), _ = typeof g.html == "string" ? g.html : null, E = b(
|
|
10364
|
-
((
|
|
10364
|
+
((m = g == null ? void 0 : g.data) == null ? void 0 : m.geom) ?? (g == null ? void 0 : g.geom) ?? null
|
|
10365
10365
|
);
|
|
10366
10366
|
(_ || E) && s({
|
|
10367
10367
|
html: _,
|
|
@@ -10383,13 +10383,13 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
10383
10383
|
}
|
|
10384
10384
|
const f = (g = u == null ? void 0 : u.lngLat) == null ? void 0 : g.lng, y = (_ = u == null ? void 0 : u.lngLat) == null ? void 0 : _.lat;
|
|
10385
10385
|
if (typeof f != "number" || typeof y != "number") return;
|
|
10386
|
-
const
|
|
10386
|
+
const m = new URLSearchParams({
|
|
10387
10387
|
layer: n.value,
|
|
10388
10388
|
lat: y.toFixed(6),
|
|
10389
10389
|
lng: f.toFixed(6)
|
|
10390
10390
|
});
|
|
10391
10391
|
try {
|
|
10392
|
-
const k = await a(
|
|
10392
|
+
const k = await a(m), C = b(
|
|
10393
10393
|
((E = k == null ? void 0 : k.data) == null ? void 0 : E.geom) ?? (k == null ? void 0 : k.geom) ?? null
|
|
10394
10394
|
), $ = ((L = k == null ? void 0 : k.data) == null ? void 0 : L.id) ?? (k == null ? void 0 : k.id);
|
|
10395
10395
|
if ($ != null) {
|
|
@@ -10405,9 +10405,9 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
10405
10405
|
}
|
|
10406
10406
|
};
|
|
10407
10407
|
return i().then(() => {
|
|
10408
|
-
|
|
10408
|
+
v = l.value, v && (v.on("click", h), p = () => v == null ? void 0 : v.off("click", h));
|
|
10409
10409
|
}), Ve(() => {
|
|
10410
|
-
p == null || p(), p = null,
|
|
10410
|
+
p == null || p(), p = null, v = null;
|
|
10411
10411
|
}), () => {
|
|
10412
10412
|
};
|
|
10413
10413
|
}
|
|
@@ -10430,7 +10430,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
10430
10430
|
{ key: "card", label: "Картка", icon: ts }
|
|
10431
10431
|
], i = l.map((H) => H.key), s = T(
|
|
10432
10432
|
i.includes(n.query.tab) ? n.query.tab : "css"
|
|
10433
|
-
), a = T(!0), p = T(null),
|
|
10433
|
+
), a = T(!0), p = T(null), v = P(() => {
|
|
10434
10434
|
var H;
|
|
10435
10435
|
return (H = p.value) != null && H.source_path ? l.filter((ce) => ce.key === "card" || ce.key === "metadata") : l;
|
|
10436
10436
|
}), b = P(
|
|
@@ -10451,7 +10451,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
10451
10451
|
function y(H, ce) {
|
|
10452
10452
|
return H.toFixed(ce);
|
|
10453
10453
|
}
|
|
10454
|
-
function
|
|
10454
|
+
function m(H, ce, w) {
|
|
10455
10455
|
const z = 0.5 * 10 ** -w;
|
|
10456
10456
|
return Math.abs(H - ce) > z;
|
|
10457
10457
|
}
|
|
@@ -10466,7 +10466,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
10466
10466
|
const ce = f(n.query.z), w = f(n.query.x), z = f(n.query.y);
|
|
10467
10467
|
if (ce == null || w == null || z == null) return;
|
|
10468
10468
|
const ee = (Ze = H.getCenter) == null ? void 0 : Ze.call(H), ye = (rt = H.getZoom) == null ? void 0 : rt.call(H);
|
|
10469
|
-
(!ee ||
|
|
10469
|
+
(!ee || m(ee.lng, w, ro) || m(ee.lat, z, ro) || m(ye ?? 0, ce, Wr)) && (u.value = !0, H.jumpTo({ center: [w, z], zoom: ce }), u.value = !1);
|
|
10470
10470
|
}
|
|
10471
10471
|
function E() {
|
|
10472
10472
|
var ee, ye, Me, we;
|
|
@@ -10563,16 +10563,16 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
10563
10563
|
}), le(
|
|
10564
10564
|
() => n.query.tab,
|
|
10565
10565
|
(H) => {
|
|
10566
|
-
H &&
|
|
10566
|
+
H && v.value.some((ce) => ce.key === H) && s.value !== H && (s.value = H);
|
|
10567
10567
|
}
|
|
10568
10568
|
), le(
|
|
10569
|
-
|
|
10569
|
+
v,
|
|
10570
10570
|
(H) => {
|
|
10571
10571
|
H.length && !H.some((ce) => ce.key === s.value) && (s.value = H[0].key);
|
|
10572
10572
|
},
|
|
10573
10573
|
{ immediate: !0 }
|
|
10574
10574
|
), le(s, (H) => {
|
|
10575
|
-
n.query.tab !== H &&
|
|
10575
|
+
n.query.tab !== H && v.value.some((ce) => ce.key === H) && t.replace({ query: { ...n.query, tab: H } });
|
|
10576
10576
|
}), le(
|
|
10577
10577
|
() => p.value,
|
|
10578
10578
|
(H) => {
|
|
@@ -10801,9 +10801,9 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
10801
10801
|
class: Ae(["bg-white border-l border-gray-100 flex flex-col overflow-hidden shadow-lg flex-shrink-0 transition-[width] duration-100 ease-in-out", a.value ? "w-[650px]" : "w-0"])
|
|
10802
10802
|
}, [
|
|
10803
10803
|
o("div", Zy, [
|
|
10804
|
-
|
|
10804
|
+
v.value.length > 1 ? (c(), x("div", Gy, [
|
|
10805
10805
|
o("div", Ky, [
|
|
10806
|
-
(c(!0), x(ie, null, he(
|
|
10806
|
+
(c(!0), x(ie, null, he(v.value, (w) => (c(), x("button", {
|
|
10807
10807
|
key: w.key,
|
|
10808
10808
|
type: "button",
|
|
10809
10809
|
role: "tab",
|
|
@@ -10899,9 +10899,9 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
10899
10899
|
key: 0,
|
|
10900
10900
|
schema: e.schema,
|
|
10901
10901
|
values: i.value,
|
|
10902
|
-
"onUpdate:values": p[0] || (p[0] = (
|
|
10902
|
+
"onUpdate:values": p[0] || (p[0] = (v) => i.value = v),
|
|
10903
10903
|
form: s.value,
|
|
10904
|
-
"onUpdate:form": p[1] || (p[1] = (
|
|
10904
|
+
"onUpdate:form": p[1] || (p[1] = (v) => s.value = v)
|
|
10905
10905
|
}, null, 8, ["schema", "values", "form"]))
|
|
10906
10906
|
]));
|
|
10907
10907
|
}
|
|
@@ -10954,30 +10954,30 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
10954
10954
|
h();
|
|
10955
10955
|
return;
|
|
10956
10956
|
}
|
|
10957
|
-
const
|
|
10957
|
+
const m = y.currentTarget, g = m == null ? void 0 : m.closest(".mapLayer-info");
|
|
10958
10958
|
if (!g) {
|
|
10959
10959
|
h();
|
|
10960
10960
|
return;
|
|
10961
10961
|
}
|
|
10962
10962
|
l.value = g, r.open = !0, st(() => {
|
|
10963
|
-
|
|
10964
|
-
|
|
10963
|
+
v(), u(), requestAnimationFrame(() => {
|
|
10964
|
+
v();
|
|
10965
10965
|
});
|
|
10966
10966
|
});
|
|
10967
10967
|
}
|
|
10968
|
-
function
|
|
10968
|
+
function v() {
|
|
10969
10969
|
if (!r.open || !l.value || !i.value) return;
|
|
10970
|
-
const y = l.value.getBoundingClientRect(),
|
|
10970
|
+
const y = l.value.getBoundingClientRect(), m = 12, g = window.scrollX + m, _ = window.scrollX + window.innerWidth - m, E = window.scrollY + m, L = window.scrollY + window.innerHeight - m, k = i.value.offsetWidth || Math.min(300, window.innerWidth - 24), C = i.value.offsetHeight || 0;
|
|
10971
10971
|
let $ = y.left + window.scrollX + (y.width - k) / 2;
|
|
10972
10972
|
$ < g && ($ = g), $ + k > _ && ($ = Math.max(g, _ - k)), r.left = $;
|
|
10973
|
-
let A = y.bottom + window.scrollY +
|
|
10974
|
-
A + C > L && (A = y.top + window.scrollY - C -
|
|
10973
|
+
let A = y.bottom + window.scrollY + m;
|
|
10974
|
+
A + C > L && (A = y.top + window.scrollY - C - m, A < E && (A = Math.max(E, L - C))), A < E && (A = E), A + C > L && (A = Math.max(E, L - C)), r.top = A, r.transform = "none";
|
|
10975
10975
|
}
|
|
10976
10976
|
function b(y) {
|
|
10977
10977
|
var g, _;
|
|
10978
10978
|
if (!r.open) return;
|
|
10979
|
-
const
|
|
10980
|
-
(g = l.value) != null && g.contains(
|
|
10979
|
+
const m = y.target;
|
|
10980
|
+
(g = l.value) != null && g.contains(m) || (_ = i.value) != null && _.contains(m) || h();
|
|
10981
10981
|
}
|
|
10982
10982
|
function d(y) {
|
|
10983
10983
|
y.key === "Escape" && h();
|
|
@@ -10987,23 +10987,23 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
10987
10987
|
}
|
|
10988
10988
|
function u() {
|
|
10989
10989
|
f(), i.value && (s = new ResizeObserver(() => {
|
|
10990
|
-
|
|
10990
|
+
v();
|
|
10991
10991
|
}), s.observe(i.value));
|
|
10992
10992
|
}
|
|
10993
10993
|
function f() {
|
|
10994
10994
|
s && (s.disconnect(), s = null);
|
|
10995
10995
|
}
|
|
10996
10996
|
return Ue(() => {
|
|
10997
|
-
document.addEventListener("click", b, !0), document.addEventListener("keydown", d), window.addEventListener("scroll",
|
|
10997
|
+
document.addEventListener("click", b, !0), document.addEventListener("keydown", d), window.addEventListener("scroll", v, !0), window.addEventListener("resize", v);
|
|
10998
10998
|
}), Ve(() => {
|
|
10999
|
-
document.removeEventListener("click", b, !0), document.removeEventListener("keydown", d), window.removeEventListener("scroll",
|
|
10999
|
+
document.removeEventListener("click", b, !0), document.removeEventListener("keydown", d), window.removeEventListener("scroll", v, !0), window.removeEventListener("resize", v), f();
|
|
11000
11000
|
}), le(
|
|
11001
11001
|
() => n.items,
|
|
11002
11002
|
() => {
|
|
11003
|
-
r.open && st(() =>
|
|
11003
|
+
r.open && st(() => v());
|
|
11004
11004
|
},
|
|
11005
11005
|
{ deep: !0 }
|
|
11006
|
-
), t({ close: h }), (y,
|
|
11006
|
+
), t({ close: h }), (y, m) => (c(), x("div", {
|
|
11007
11007
|
class: "mapLayer-info",
|
|
11008
11008
|
ref_key: "anchorEl",
|
|
11009
11009
|
ref: l
|
|
@@ -11012,7 +11012,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
11012
11012
|
class: "mapLayer-info__trigger",
|
|
11013
11013
|
href: "#",
|
|
11014
11014
|
onClick: nt(p, ["prevent", "stop"])
|
|
11015
|
-
}, [...
|
|
11015
|
+
}, [...m[1] || (m[1] = [
|
|
11016
11016
|
vn('<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)
|
|
11017
11017
|
])]),
|
|
11018
11018
|
(c(), fe(Ot, { to: "body" }, [
|
|
@@ -11022,7 +11022,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
11022
11022
|
style: ft(a.value),
|
|
11023
11023
|
ref_key: "popoverEl",
|
|
11024
11024
|
ref: i,
|
|
11025
|
-
onClick:
|
|
11025
|
+
onClick: m[0] || (m[0] = nt(() => {
|
|
11026
11026
|
}, ["stop"]))
|
|
11027
11027
|
}, [
|
|
11028
11028
|
o("div", dh, [
|
|
@@ -11058,7 +11058,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
11058
11058
|
setup(e) {
|
|
11059
11059
|
const t = e, n = T(null), r = T(!1), l = T(null), i = T(null), s = T({ top: 0, left: 0 });
|
|
11060
11060
|
Pt();
|
|
11061
|
-
const a = T(!0), p = T(!1),
|
|
11061
|
+
const a = T(!0), p = T(!1), v = P(() => Array.isArray(t.links) ? t.links.filter((L) => (L == null ? void 0 : L.name) && (L == null ? void 0 : L.slug)) : []), b = P(() => ({
|
|
11062
11062
|
top: `${s.value.top}px`,
|
|
11063
11063
|
left: `${s.value.left}px`
|
|
11064
11064
|
})), d = P(() => {
|
|
@@ -11072,7 +11072,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
11072
11072
|
function y(L) {
|
|
11073
11073
|
L.stopPropagation(), r.value = !r.value;
|
|
11074
11074
|
}
|
|
11075
|
-
function
|
|
11075
|
+
function m() {
|
|
11076
11076
|
const L = l.value;
|
|
11077
11077
|
if (!L || !i.value) return;
|
|
11078
11078
|
const k = L.getBoundingClientRect(), C = 12, $ = 8, A = window.scrollX + C, N = window.scrollX + window.innerWidth - C, D = window.scrollY + C, K = window.scrollY + window.innerHeight - C, oe = i.value.offsetWidth || 160, ae = i.value.offsetHeight || 0;
|
|
@@ -11093,10 +11093,10 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
11093
11093
|
}
|
|
11094
11094
|
le(r, (L) => {
|
|
11095
11095
|
L ? st(() => {
|
|
11096
|
-
|
|
11097
|
-
|
|
11098
|
-
}), window.addEventListener("scroll",
|
|
11099
|
-
}) : (window.removeEventListener("scroll",
|
|
11096
|
+
m(), requestAnimationFrame(() => {
|
|
11097
|
+
m();
|
|
11098
|
+
}), window.addEventListener("scroll", m, !0), window.addEventListener("resize", m);
|
|
11099
|
+
}) : (window.removeEventListener("scroll", m, !0), window.removeEventListener("resize", m));
|
|
11100
11100
|
});
|
|
11101
11101
|
function _() {
|
|
11102
11102
|
a.value = !a.value;
|
|
@@ -11107,20 +11107,20 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
11107
11107
|
return Ue(() => {
|
|
11108
11108
|
document.addEventListener("click", g, !0), E(), f.value ? p.value && (a.value = !1) : a.value = !1, window.addEventListener("resize", E);
|
|
11109
11109
|
}), Ve(() => {
|
|
11110
|
-
document.removeEventListener("click", g, !0), window.removeEventListener("scroll",
|
|
11110
|
+
document.removeEventListener("click", g, !0), window.removeEventListener("scroll", m, !0), window.removeEventListener("resize", m), window.removeEventListener("resize", E);
|
|
11111
11111
|
}), (L, k) => (c(), x("div", {
|
|
11112
11112
|
class: "map-info legend-widget flex flex-col bg-white border border-stone-200 shadow-2xs rounded-xl z-10 relative widget",
|
|
11113
11113
|
ref_key: "container",
|
|
11114
11114
|
ref: n
|
|
11115
11115
|
}, [
|
|
11116
|
-
e.title ||
|
|
11116
|
+
e.title || v.value.length || d.value.length ? (c(), x("div", {
|
|
11117
11117
|
key: 0,
|
|
11118
11118
|
class: "map-info__header",
|
|
11119
11119
|
style: ft([u.value ? "" : "padding-bottom: 20px"])
|
|
11120
11120
|
}, [
|
|
11121
11121
|
e.title ? (c(), x("h2", mh, V(e.title), 1)) : X("", !0),
|
|
11122
11122
|
o("div", vh, [
|
|
11123
|
-
|
|
11123
|
+
v.value.length ? (c(), x("div", gh, [
|
|
11124
11124
|
o("button", {
|
|
11125
11125
|
ref_key: "menuButton",
|
|
11126
11126
|
ref: l,
|
|
@@ -11166,7 +11166,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
11166
11166
|
onClick: k[0] || (k[0] = nt(() => {
|
|
11167
11167
|
}, ["stop"]))
|
|
11168
11168
|
}, [
|
|
11169
|
-
(c(!0), x(ie, null, he(
|
|
11169
|
+
(c(!0), x(ie, null, he(v.value, (C) => (c(), x("a", {
|
|
11170
11170
|
key: C.slug || C.name,
|
|
11171
11171
|
href: `/maps/${C.slug}`,
|
|
11172
11172
|
class: "map-info__popover-link"
|
|
@@ -11222,14 +11222,14 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
11222
11222
|
var k;
|
|
11223
11223
|
const d = (k = i.value) == null ? void 0 : k.querySelector("button");
|
|
11224
11224
|
if (!d || !l.value) return;
|
|
11225
|
-
const h = d.getBoundingClientRect(), u = 260, f = l.value.offsetHeight || 60, y = 8,
|
|
11225
|
+
const h = d.getBoundingClientRect(), u = 260, f = l.value.offsetHeight || 60, y = 8, m = 12, g = window.innerWidth, _ = window.innerHeight;
|
|
11226
11226
|
let E = h.bottom + y + window.scrollY, L = h.left + window.scrollX;
|
|
11227
|
-
L + u > g -
|
|
11227
|
+
L + u > g - m && (L = g - u - m + window.scrollX), L < m + window.scrollX && (L = m + window.scrollX), E + f > _ + window.scrollY - m && (E = h.top - f - y + window.scrollY, E < m + window.scrollY && (E = _ - f - m + window.scrollY)), s.top = E, s.left = L;
|
|
11228
11228
|
}
|
|
11229
11229
|
function p() {
|
|
11230
11230
|
n.value = !n.value, n.value && st(a);
|
|
11231
11231
|
}
|
|
11232
|
-
function
|
|
11232
|
+
function v() {
|
|
11233
11233
|
var f;
|
|
11234
11234
|
const d = Xe(t.layerId), h = (r.value ?? 100) / 100;
|
|
11235
11235
|
if (d != null && d.setOpacity) {
|
|
@@ -11298,7 +11298,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
11298
11298
|
step: "1",
|
|
11299
11299
|
"onUpdate:modelValue": h[0] || (h[0] = (u) => r.value = u),
|
|
11300
11300
|
class: "opacity-popover__range",
|
|
11301
|
-
onInput:
|
|
11301
|
+
onInput: v
|
|
11302
11302
|
}, null, 544), [
|
|
11303
11303
|
[gt, r.value]
|
|
11304
11304
|
]),
|
|
@@ -11322,7 +11322,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
11322
11322
|
const n = e, r = T({}), l = T(!0), i = T(!1), s = it(), {
|
|
11323
11323
|
temporaryLayers: a,
|
|
11324
11324
|
activateTemporaryLayer: p,
|
|
11325
|
-
deactivateTemporaryLayer:
|
|
11325
|
+
deactivateTemporaryLayer: v,
|
|
11326
11326
|
clearTemporaryLayers: b
|
|
11327
11327
|
} = or(s.map), d = P(() => {
|
|
11328
11328
|
const F = n.layers.map((I) => ({
|
|
@@ -11353,7 +11353,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
11353
11353
|
() => d.value.filter((F) => L(F.id)).length
|
|
11354
11354
|
), f = P(
|
|
11355
11355
|
() => h.value > 0 && u.value === h.value
|
|
11356
|
-
), y = P(() => a.value.length > 0),
|
|
11356
|
+
), y = P(() => a.value.length > 0), m = t;
|
|
11357
11357
|
function g() {
|
|
11358
11358
|
var F;
|
|
11359
11359
|
for (let S = 0; S < n.layers.length; S++) {
|
|
@@ -11466,7 +11466,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
11466
11466
|
p(I, F.context || {}, S), r.value[I.id] = !0;
|
|
11467
11467
|
return;
|
|
11468
11468
|
}
|
|
11469
|
-
F.action === "deactivate" && (
|
|
11469
|
+
F.action === "deactivate" && (v(I.id, S), delete r.value[I.id]);
|
|
11470
11470
|
}
|
|
11471
11471
|
}
|
|
11472
11472
|
function $(F) {
|
|
@@ -11488,7 +11488,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
11488
11488
|
var B, U, te;
|
|
11489
11489
|
if (F.isTemporary) {
|
|
11490
11490
|
if (!S) {
|
|
11491
|
-
|
|
11491
|
+
v(F.id, F.owner || void 0), delete r.value[F.id];
|
|
11492
11492
|
return;
|
|
11493
11493
|
}
|
|
11494
11494
|
r.value[F.id] = !0;
|
|
@@ -11693,7 +11693,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
11693
11693
|
type: "button",
|
|
11694
11694
|
class: "layers-panel__action",
|
|
11695
11695
|
innerHTML: U.icon,
|
|
11696
|
-
onClick: (te) =>
|
|
11696
|
+
onClick: (te) => m("action", { layerId: U.widget })
|
|
11697
11697
|
}, null, 8, Dh))), 128))
|
|
11698
11698
|
])) : X("", !0)
|
|
11699
11699
|
]);
|
|
@@ -11736,7 +11736,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
11736
11736
|
}).sort((L, k) => a.compare(y(L), y(k)));
|
|
11737
11737
|
return { ..._, layers: E };
|
|
11738
11738
|
}).filter((_) => _.layers.length > 0).sort((_, E) => a.compare(_.name, E.name));
|
|
11739
|
-
}),
|
|
11739
|
+
}), v = P({
|
|
11740
11740
|
get: () => n.search,
|
|
11741
11741
|
set: (g) => r("update:search", g)
|
|
11742
11742
|
});
|
|
@@ -11761,9 +11761,9 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
11761
11761
|
}
|
|
11762
11762
|
function f(g) {
|
|
11763
11763
|
return [
|
|
11764
|
-
{ label: "Назва", value:
|
|
11765
|
-
{ label: "Сервіс", value:
|
|
11766
|
-
{ label: "Посилання", value:
|
|
11764
|
+
{ label: "Назва", value: m(g.name) },
|
|
11765
|
+
{ label: "Сервіс", value: m(g.service) },
|
|
11766
|
+
{ label: "Посилання", value: m(g.url), breakLine: !0 }
|
|
11767
11767
|
// { label: 'Джерело', value: valueOrNull(layer.source_path), breakLine: true },
|
|
11768
11768
|
// { label: 'Popup', value: collectionSummary(layer.popup, 'полів') },
|
|
11769
11769
|
// { label: 'Картка', value: collectionSummary(layer.card, 'полів') },
|
|
@@ -11773,7 +11773,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
11773
11773
|
function y(g) {
|
|
11774
11774
|
return typeof (g == null ? void 0 : g.name) == "string" ? g.name.trim() : "";
|
|
11775
11775
|
}
|
|
11776
|
-
function
|
|
11776
|
+
function m(g) {
|
|
11777
11777
|
return g == null || g === "" ? null : String(g);
|
|
11778
11778
|
}
|
|
11779
11779
|
return le(
|
|
@@ -11788,12 +11788,12 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
11788
11788
|
}, [
|
|
11789
11789
|
o("div", Uh, [
|
|
11790
11790
|
Be(o("input", {
|
|
11791
|
-
"onUpdate:modelValue": _[0] || (_[0] = (E) =>
|
|
11791
|
+
"onUpdate:modelValue": _[0] || (_[0] = (E) => v.value = E),
|
|
11792
11792
|
type: "text",
|
|
11793
11793
|
placeholder: "Введіть назву шару...",
|
|
11794
11794
|
class: "py-[7px] pl-8 pe-8 block w-full bg-gray-100 border-transparent rounded-lg text-sm focus:bg-white focus:border-blue-500 focus:ring-blue-500"
|
|
11795
11795
|
}, null, 512), [
|
|
11796
|
-
[gt,
|
|
11796
|
+
[gt, v.value]
|
|
11797
11797
|
]),
|
|
11798
11798
|
(c(), x("svg", qh, [..._[1] || (_[1] = [
|
|
11799
11799
|
o("path", {
|
|
@@ -11944,24 +11944,24 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
11944
11944
|
return;
|
|
11945
11945
|
}
|
|
11946
11946
|
r.open = !0, st(() => {
|
|
11947
|
-
|
|
11948
|
-
|
|
11947
|
+
v(), u(), requestAnimationFrame(() => {
|
|
11948
|
+
v();
|
|
11949
11949
|
});
|
|
11950
11950
|
});
|
|
11951
11951
|
}
|
|
11952
|
-
function
|
|
11952
|
+
function v() {
|
|
11953
11953
|
if (!r.open || !l.value || !i.value) return;
|
|
11954
|
-
const y = l.value.getBoundingClientRect(),
|
|
11954
|
+
const y = l.value.getBoundingClientRect(), m = 12, g = window.scrollX + m, _ = window.scrollX + window.innerWidth - m, E = window.scrollY + m, L = window.scrollY + window.innerHeight - m, k = i.value.offsetWidth || Math.min(460, window.innerWidth - 24), C = i.value.offsetHeight || 0;
|
|
11955
11955
|
let $ = y.left + window.scrollX + (y.width - k) / 2;
|
|
11956
11956
|
$ < g && ($ = g), $ + k > _ && ($ = Math.max(g, _ - k)), r.left = $;
|
|
11957
|
-
let A = y.bottom + window.scrollY +
|
|
11958
|
-
A + C > L && (A = y.top + window.scrollY - C -
|
|
11957
|
+
let A = y.bottom + window.scrollY + m;
|
|
11958
|
+
A + C > L && (A = y.top + window.scrollY - C - m, A < E && (A = Math.max(E, L - C))), A < E && (A = E), A + C > L && (A = Math.max(E, L - C)), r.top = A, r.transform = "none";
|
|
11959
11959
|
}
|
|
11960
11960
|
function b(y) {
|
|
11961
11961
|
var g, _;
|
|
11962
11962
|
if (!r.open) return;
|
|
11963
|
-
const
|
|
11964
|
-
(g = l.value) != null && g.contains(
|
|
11963
|
+
const m = y.target;
|
|
11964
|
+
(g = l.value) != null && g.contains(m) || (_ = i.value) != null && _.contains(m) || h();
|
|
11965
11965
|
}
|
|
11966
11966
|
function d(y) {
|
|
11967
11967
|
y.key === "Escape" && h();
|
|
@@ -11971,23 +11971,23 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
11971
11971
|
}
|
|
11972
11972
|
function u() {
|
|
11973
11973
|
f(), i.value && (s = new ResizeObserver(() => {
|
|
11974
|
-
|
|
11974
|
+
v();
|
|
11975
11975
|
}), s.observe(i.value));
|
|
11976
11976
|
}
|
|
11977
11977
|
function f() {
|
|
11978
11978
|
s && (s.disconnect(), s = null);
|
|
11979
11979
|
}
|
|
11980
11980
|
return Ue(() => {
|
|
11981
|
-
document.addEventListener("click", b, !0), document.addEventListener("keydown", d), window.addEventListener("scroll",
|
|
11981
|
+
document.addEventListener("click", b, !0), document.addEventListener("keydown", d), window.addEventListener("scroll", v, !0), window.addEventListener("resize", v);
|
|
11982
11982
|
}), Ve(() => {
|
|
11983
|
-
document.removeEventListener("click", b, !0), document.removeEventListener("keydown", d), window.removeEventListener("scroll",
|
|
11983
|
+
document.removeEventListener("click", b, !0), document.removeEventListener("keydown", d), window.removeEventListener("scroll", v, !0), window.removeEventListener("resize", v), f();
|
|
11984
11984
|
}), le(
|
|
11985
11985
|
() => n.items,
|
|
11986
11986
|
() => {
|
|
11987
|
-
r.open && st(() =>
|
|
11987
|
+
r.open && st(() => v());
|
|
11988
11988
|
},
|
|
11989
11989
|
{ deep: !0 }
|
|
11990
|
-
), t({ close: h }), (y,
|
|
11990
|
+
), t({ close: h }), (y, m) => (c(), x("div", {
|
|
11991
11991
|
class: "inline-flex relative",
|
|
11992
11992
|
ref_key: "anchorEl",
|
|
11993
11993
|
ref: l
|
|
@@ -12004,7 +12004,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
12004
12004
|
style: ft(a.value),
|
|
12005
12005
|
ref_key: "popoverEl",
|
|
12006
12006
|
ref: i,
|
|
12007
|
-
onClick:
|
|
12007
|
+
onClick: m[0] || (m[0] = nt(() => {
|
|
12008
12008
|
}, ["stop"]))
|
|
12009
12009
|
}, [
|
|
12010
12010
|
o("div", o1, [
|
|
@@ -12033,7 +12033,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
12033
12033
|
},
|
|
12034
12034
|
emits: ["select-layer", "reorder", "remove", "toggle-layer"],
|
|
12035
12035
|
setup(e, { emit: t }) {
|
|
12036
|
-
const n = e, r = t, l = It({}), i = T(null), s = T(null), a = /* @__PURE__ */ new Map(), p = It({ top: 0, left: 0 }),
|
|
12036
|
+
const n = e, r = t, l = It({}), i = T(null), s = T(null), a = /* @__PURE__ */ new Map(), p = It({ top: 0, left: 0 }), v = T(null), b = It({ top: 0, left: 0 }), d = T(null), h = /* @__PURE__ */ new Map(), u = It({});
|
|
12037
12037
|
function f(F) {
|
|
12038
12038
|
var S;
|
|
12039
12039
|
for (const I of ((S = n.catalog) == null ? void 0 : S.groups) ?? []) {
|
|
@@ -12042,7 +12042,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
12042
12042
|
}
|
|
12043
12043
|
return null;
|
|
12044
12044
|
}
|
|
12045
|
-
const y = new Intl.Collator("uk", { sensitivity: "base" }),
|
|
12045
|
+
const y = new Intl.Collator("uk", { sensitivity: "base" }), m = P(() => [...n.selected].sort((F, S) => {
|
|
12046
12046
|
var U, te;
|
|
12047
12047
|
const I = ((U = f(F)) == null ? void 0 : U.name) ?? "", B = ((te = f(S)) == null ? void 0 : te.name) ?? "";
|
|
12048
12048
|
return y.compare(I, B);
|
|
@@ -12073,7 +12073,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
12073
12073
|
S ? h.set(F, S) : h.delete(F);
|
|
12074
12074
|
}
|
|
12075
12075
|
function L(F) {
|
|
12076
|
-
|
|
12076
|
+
v.value = v.value === F ? null : F, v.value && st(() => {
|
|
12077
12077
|
k(F), requestAnimationFrame(() => {
|
|
12078
12078
|
k(F);
|
|
12079
12079
|
});
|
|
@@ -12088,10 +12088,10 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
12088
12088
|
}
|
|
12089
12089
|
function C(F) {
|
|
12090
12090
|
const S = Xe(F);
|
|
12091
|
-
S && S.remove(), r("remove", F),
|
|
12091
|
+
S && S.remove(), r("remove", F), v.value = null;
|
|
12092
12092
|
}
|
|
12093
12093
|
function $(F) {
|
|
12094
|
-
const S = F.target, I = i.value, B =
|
|
12094
|
+
const S = F.target, I = i.value, B = v.value;
|
|
12095
12095
|
if (I) {
|
|
12096
12096
|
const U = s.value, te = a.get(I);
|
|
12097
12097
|
if (U && U.contains(S) || te && te.contains(S)) return;
|
|
@@ -12100,11 +12100,11 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
12100
12100
|
if (B) {
|
|
12101
12101
|
const U = d.value, te = h.get(B);
|
|
12102
12102
|
if (U && U.contains(S) || te && te.contains(S)) return;
|
|
12103
|
-
|
|
12103
|
+
v.value = null;
|
|
12104
12104
|
}
|
|
12105
12105
|
}
|
|
12106
12106
|
function A() {
|
|
12107
|
-
i.value && g(),
|
|
12107
|
+
i.value && g(), v.value && k(v.value);
|
|
12108
12108
|
}
|
|
12109
12109
|
Ue(() => {
|
|
12110
12110
|
document.addEventListener("click", $), window.addEventListener("resize", A), window.addEventListener("scroll", A, !0);
|
|
@@ -12124,11 +12124,11 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
12124
12124
|
N.value.fitBounds([
|
|
12125
12125
|
[xe, Fe],
|
|
12126
12126
|
[Ne, H]
|
|
12127
|
-
], { padding: 40 }),
|
|
12127
|
+
], { padding: 40 }), v.value = null;
|
|
12128
12128
|
return;
|
|
12129
12129
|
}
|
|
12130
12130
|
}
|
|
12131
|
-
(pe = S == null ? void 0 : S.getSource) != null && pe.call(S) && (
|
|
12131
|
+
(pe = S == null ? void 0 : S.getSource) != null && pe.call(S) && (v.value = null);
|
|
12132
12132
|
}
|
|
12133
12133
|
const K = T(null), oe = T(null);
|
|
12134
12134
|
function ae(F, S) {
|
|
@@ -12142,7 +12142,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
12142
12142
|
K.value = null, oe.value = null;
|
|
12143
12143
|
return;
|
|
12144
12144
|
}
|
|
12145
|
-
const B = [...
|
|
12145
|
+
const B = [...m.value], [U] = B.splice(K.value, 1);
|
|
12146
12146
|
B.splice(S, 0, U), r("reorder", B), K.value = null, oe.value = null;
|
|
12147
12147
|
}
|
|
12148
12148
|
function Y() {
|
|
@@ -12195,7 +12195,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
12195
12195
|
]),
|
|
12196
12196
|
e.selected.length ? (c(), x("div", a1, [
|
|
12197
12197
|
o("div", null, [
|
|
12198
|
-
(c(!0), x(ie, null, he(
|
|
12198
|
+
(c(!0), x(ie, null, he(m.value, (I, B) => {
|
|
12199
12199
|
var U;
|
|
12200
12200
|
return c(), x("div", {
|
|
12201
12201
|
key: I,
|
|
@@ -12265,7 +12265,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
12265
12265
|
])
|
|
12266
12266
|
])) : X("", !0),
|
|
12267
12267
|
(c(), fe(Ot, { to: "body" }, [
|
|
12268
|
-
|
|
12268
|
+
v.value ? (c(), x("div", {
|
|
12269
12269
|
key: 0,
|
|
12270
12270
|
ref_key: "menuEl",
|
|
12271
12271
|
ref: d,
|
|
@@ -12275,7 +12275,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
12275
12275
|
o("div", g1, [
|
|
12276
12276
|
o("button", {
|
|
12277
12277
|
class: "selected-tab__menu-item",
|
|
12278
|
-
onClick: S[1] || (S[1] = (I) => D(
|
|
12278
|
+
onClick: S[1] || (S[1] = (I) => D(v.value))
|
|
12279
12279
|
}, [...S[6] || (S[6] = [
|
|
12280
12280
|
o("svg", {
|
|
12281
12281
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -12316,7 +12316,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
12316
12316
|
Ce(" Збільшити до шару ", -1)
|
|
12317
12317
|
])]),
|
|
12318
12318
|
ne(l1, {
|
|
12319
|
-
items: re(
|
|
12319
|
+
items: re(v.value)
|
|
12320
12320
|
}, {
|
|
12321
12321
|
default: Oe(() => [...S[7] || (S[7] = [
|
|
12322
12322
|
o("button", { class: "selected-tab__menu-item" }, [
|
|
@@ -12348,7 +12348,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
12348
12348
|
S[9] || (S[9] = o("hr", null, null, -1)),
|
|
12349
12349
|
o("button", {
|
|
12350
12350
|
class: "selected-tab__menu-item selected-tab__menu-item--danger",
|
|
12351
|
-
onClick: S[2] || (S[2] = (I) => C(
|
|
12351
|
+
onClick: S[2] || (S[2] = (I) => C(v.value))
|
|
12352
12352
|
}, [...S[8] || (S[8] = [
|
|
12353
12353
|
o("svg", {
|
|
12354
12354
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -12409,7 +12409,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
12409
12409
|
function a(p) {
|
|
12410
12410
|
l("change", p.data);
|
|
12411
12411
|
}
|
|
12412
|
-
return (p,
|
|
12412
|
+
return (p, v) => (c(), x("div", x1, [
|
|
12413
12413
|
e.layer && s.value ? (c(), x("div", b1, [
|
|
12414
12414
|
o("div", null, [
|
|
12415
12415
|
o("p", w1, V(e.layer.name), 1)
|
|
@@ -12423,10 +12423,10 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
12423
12423
|
value: e.value,
|
|
12424
12424
|
limit: 5,
|
|
12425
12425
|
class: "rounded-md pb-0",
|
|
12426
|
-
onChange:
|
|
12426
|
+
onChange: v[0] || (v[0] = (b) => a(b))
|
|
12427
12427
|
}, null, 8, ["schema", "value"])
|
|
12428
12428
|
])
|
|
12429
|
-
])) : (c(), x("div", $1, [...
|
|
12429
|
+
])) : (c(), x("div", $1, [...v[1] || (v[1] = [
|
|
12430
12430
|
o("p", { class: "filter-tab__empty-title" }, "Немає доступних фільтрів", -1),
|
|
12431
12431
|
o("p", { class: "filter-tab__empty-text" }, " Оберіть шар із фільтрами у каталозі, щоб налаштувати відбір даних. ", -1)
|
|
12432
12432
|
])]))
|
|
@@ -12443,7 +12443,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
12443
12443
|
const R = t.query["catalog-tab"];
|
|
12444
12444
|
return (Array.isArray(R) ? R[0] : R) === "selected" ? "selected" : "catalog";
|
|
12445
12445
|
}
|
|
12446
|
-
const l = T(r()), i = T({ groups: [] }), s = T([]), a = T(""), { map: p } = it(),
|
|
12446
|
+
const l = T(r()), i = T({ groups: [] }), s = T([]), a = T(""), { map: p } = it(), v = It({}), b = T(null), d = T(!0), h = T(!1);
|
|
12447
12447
|
function u(R) {
|
|
12448
12448
|
return i.value.groups.map((O) => O.layers.find((re) => re.id === R)).find(Boolean) || null;
|
|
12449
12449
|
}
|
|
@@ -12453,19 +12453,19 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
12453
12453
|
function y() {
|
|
12454
12454
|
const R = b.value;
|
|
12455
12455
|
if (!R) return;
|
|
12456
|
-
delete
|
|
12456
|
+
delete v[R];
|
|
12457
12457
|
const O = Xe(R);
|
|
12458
12458
|
O != null && O.setFilter && O.setFilter("");
|
|
12459
12459
|
}
|
|
12460
|
-
function
|
|
12460
|
+
function m(R, O) {
|
|
12461
12461
|
const re = Xe(R);
|
|
12462
|
-
if (
|
|
12462
|
+
if (v[R] = { ...O }, !(re != null && re.setFilter)) return;
|
|
12463
12463
|
const F = Object.entries(O).filter(([, S]) => S != null && S !== "").map(([S, I]) => `${S}=${I}`);
|
|
12464
12464
|
re.setFilter(F.join("|"));
|
|
12465
12465
|
}
|
|
12466
12466
|
function g(R) {
|
|
12467
12467
|
const O = b.value;
|
|
12468
|
-
O &&
|
|
12468
|
+
O && m(O, R);
|
|
12469
12469
|
}
|
|
12470
12470
|
function _(R) {
|
|
12471
12471
|
const O = R.url;
|
|
@@ -12545,14 +12545,14 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
12545
12545
|
});
|
|
12546
12546
|
}
|
|
12547
12547
|
function C(R) {
|
|
12548
|
-
!R || !Array.isArray(R.filters) || R.filters.length === 0 || s.value.includes(R.id) && (b.value = R.id,
|
|
12548
|
+
!R || !Array.isArray(R.filters) || R.filters.length === 0 || s.value.includes(R.id) && (b.value = R.id, v[R.id] || (v[R.id] = {}), l.value = "filter");
|
|
12549
12549
|
}
|
|
12550
12550
|
function $() {
|
|
12551
12551
|
l.value = "catalog";
|
|
12552
12552
|
}
|
|
12553
12553
|
const A = P(() => b.value ? u(b.value) : null), N = P(() => {
|
|
12554
12554
|
const R = b.value;
|
|
12555
|
-
return R ?
|
|
12555
|
+
return R ? v[R] ?? {} : {};
|
|
12556
12556
|
}), D = P(() => i.value.groups.reduce(
|
|
12557
12557
|
(R, O) => R + O.layers.filter(f).length,
|
|
12558
12558
|
0
|
|
@@ -12732,7 +12732,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
12732
12732
|
config: {}
|
|
12733
12733
|
},
|
|
12734
12734
|
setup(e) {
|
|
12735
|
-
const t = ["#3a7a57", "#d970d5", "#8e997b", "#b4c039", "#a855f7", "#71823a", "#f79d92", "#8b5cf6", "#a6514e", "#6b7280"], n = e, r = T(!0), l = T(!1), i = T([]), s = T(null), a = T(null), p = T(null),
|
|
12735
|
+
const t = ["#3a7a57", "#d970d5", "#8e997b", "#b4c039", "#a855f7", "#71823a", "#f79d92", "#8b5cf6", "#a6514e", "#6b7280"], n = e, r = T(!0), l = T(!1), i = T([]), s = T(null), a = T(null), p = T(null), v = T(null), b = T(null), d = T({}), h = T(null);
|
|
12736
12736
|
function u(Y) {
|
|
12737
12737
|
return Y && JSON.parse(JSON.stringify(Y));
|
|
12738
12738
|
}
|
|
@@ -12757,7 +12757,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
12757
12757
|
return [{ id: O, text: null }];
|
|
12758
12758
|
}
|
|
12759
12759
|
throw new Error("MapAttributeWidget: `attribute` or `list` must be provided");
|
|
12760
|
-
}),
|
|
12760
|
+
}), m = P(() => y.value.map((Y) => ({
|
|
12761
12761
|
id: Y.id,
|
|
12762
12762
|
label: Y.text || d.value[Y.id] || Y.id
|
|
12763
12763
|
})));
|
|
@@ -12778,14 +12778,14 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
12778
12778
|
});
|
|
12779
12779
|
le(f, () => {
|
|
12780
12780
|
var Y, R;
|
|
12781
|
-
(R = (Y = a.value) == null ? void 0 : Y.remove) == null || R.call(Y), a.value = null, p.value = null,
|
|
12781
|
+
(R = (Y = a.value) == null ? void 0 : Y.remove) == null || R.call(Y), a.value = null, p.value = null, v.value = null, b.value = null, d.value = {};
|
|
12782
12782
|
});
|
|
12783
12783
|
const _ = P(() => {
|
|
12784
12784
|
var Y;
|
|
12785
|
-
return (Y =
|
|
12785
|
+
return (Y = v.value) != null && Y.length ? {
|
|
12786
12786
|
id: f.value,
|
|
12787
12787
|
name: p.value,
|
|
12788
|
-
filters:
|
|
12788
|
+
filters: v.value
|
|
12789
12789
|
} : null;
|
|
12790
12790
|
}), E = P(() => {
|
|
12791
12791
|
var Y, R;
|
|
@@ -12804,7 +12804,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
12804
12804
|
throw new Error(F);
|
|
12805
12805
|
}
|
|
12806
12806
|
const O = await R.json();
|
|
12807
|
-
return p.value = (O == null ? void 0 : O.name) || null,
|
|
12807
|
+
return p.value = (O == null ? void 0 : O.name) || null, v.value = Array.isArray(O == null ? void 0 : O.filters) ? O.filters : null, b.value = u((O == null ? void 0 : O.style) || {}), d.value = ((O == null ? void 0 : O.attributes) || []).reduce((F, S) => {
|
|
12808
12808
|
const I = typeof (S == null ? void 0 : S.name) == "string" ? S.name.trim() : "", B = typeof (S == null ? void 0 : S.ua) == "string" ? S.ua.trim() : "";
|
|
12809
12809
|
return I && (F[I] = B || I), F;
|
|
12810
12810
|
}, {}), O;
|
|
@@ -12912,7 +12912,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
12912
12912
|
const oe = P(() => "Набори даних"), ae = P(() => i.value.reduce((Y, R) => Y + R.count, 0)), Q = P(() => {
|
|
12913
12913
|
var O;
|
|
12914
12914
|
const Y = g.value;
|
|
12915
|
-
return ((O =
|
|
12915
|
+
return ((O = m.value.find((re) => re.id === Y)) == null ? void 0 : O.label) || null || s.value || Y || null;
|
|
12916
12916
|
});
|
|
12917
12917
|
function ue(Y) {
|
|
12918
12918
|
return ae.value ? `${(Y / ae.value * 100).toFixed(2)}%` : "0.00%";
|
|
@@ -12924,7 +12924,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
12924
12924
|
o("div", P1, [
|
|
12925
12925
|
o("div", null, [
|
|
12926
12926
|
o("h2", R1, V(oe.value), 1),
|
|
12927
|
-
Q.value &&
|
|
12927
|
+
Q.value && m.value.length === 1 ? (c(), x("p", O1, V(Q.value), 1)) : X("", !0)
|
|
12928
12928
|
]),
|
|
12929
12929
|
o("div", D1, [
|
|
12930
12930
|
_.value ? (c(), fe(bo, {
|
|
@@ -12954,9 +12954,9 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
12954
12954
|
])
|
|
12955
12955
|
]),
|
|
12956
12956
|
o("div", V1, [
|
|
12957
|
-
|
|
12957
|
+
m.value.length > 1 ? (c(), x("div", B1, [
|
|
12958
12958
|
o("div", U1, [
|
|
12959
|
-
(c(!0), x(ie, null, he(
|
|
12959
|
+
(c(!0), x(ie, null, he(m.value, (O) => (c(), x("label", {
|
|
12960
12960
|
key: O.id,
|
|
12961
12961
|
class: "inline-flex items-center gap-2 text-sm text-gray-700"
|
|
12962
12962
|
}, [
|
|
@@ -13063,9 +13063,9 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
13063
13063
|
const G = i(), be = (De = G == null ? void 0 : G.map) == null ? void 0 : De.addressSuggest;
|
|
13064
13064
|
if (typeof be == "string" && be.trim()) return be.trim();
|
|
13065
13065
|
}
|
|
13066
|
-
const p = !!a(),
|
|
13066
|
+
const p = !!a(), v = !!s(), b = P(() => {
|
|
13067
13067
|
const q = ["xy", "parcel"];
|
|
13068
|
-
return p && q.push("address"),
|
|
13068
|
+
return p && q.push("address"), v && q.push("nominatim"), q;
|
|
13069
13069
|
}), d = P(() => {
|
|
13070
13070
|
var G, be;
|
|
13071
13071
|
const q = b.value, J = (be = (G = n.config) == null ? void 0 : G.tools) == null ? void 0 : be.filter((Se) => q.includes(Se));
|
|
@@ -13077,7 +13077,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
13077
13077
|
le(d, (q) => {
|
|
13078
13078
|
q.includes(u.value) || (u.value = q[0]);
|
|
13079
13079
|
});
|
|
13080
|
-
const f = T(""), y = T(!1),
|
|
13080
|
+
const f = T(""), y = T(!1), m = T(null), g = T(null), _ = T(null), E = T(null), L = T([]), k = T(null), C = T(!1), $ = T([]), A = P(
|
|
13081
13081
|
() => (u.value === "address" || u.value === "nominatim") && C.value
|
|
13082
13082
|
), N = P(() => {
|
|
13083
13083
|
var q;
|
|
@@ -13220,7 +13220,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
13220
13220
|
var be;
|
|
13221
13221
|
const J = [];
|
|
13222
13222
|
g.value && J.push(g.value), q instanceof HTMLElement && J.push(q);
|
|
13223
|
-
const G = (be =
|
|
13223
|
+
const G = (be = m.value) == null ? void 0 : be.querySelectorAll("li");
|
|
13224
13224
|
G == null || G.forEach((Se) => {
|
|
13225
13225
|
J.push(Se);
|
|
13226
13226
|
}), J.forEach((Se) => {
|
|
@@ -13239,7 +13239,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
13239
13239
|
function z(q) {
|
|
13240
13240
|
const J = q.target;
|
|
13241
13241
|
if (y.value) {
|
|
13242
|
-
const G =
|
|
13242
|
+
const G = m.value;
|
|
13243
13243
|
G && !G.contains(J) && (Ne(J), y.value = !1);
|
|
13244
13244
|
}
|
|
13245
13245
|
if (A.value) {
|
|
@@ -13491,7 +13491,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
13491
13491
|
d.value.length > 1 ? (c(), x("div", {
|
|
13492
13492
|
key: 0,
|
|
13493
13493
|
ref_key: "dropdownRef",
|
|
13494
|
-
ref:
|
|
13494
|
+
ref: m,
|
|
13495
13495
|
class: "relative search-type w-[100px]"
|
|
13496
13496
|
}, [
|
|
13497
13497
|
o("button", {
|
|
@@ -13646,7 +13646,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
13646
13646
|
__name: "MapPrintControl",
|
|
13647
13647
|
setup(e) {
|
|
13648
13648
|
const { map: t, ready: n, addControl: r, removeControl: l } = it(), i = T(null), s = T(null), a = T(null), p = T(null);
|
|
13649
|
-
let
|
|
13649
|
+
let v = null;
|
|
13650
13650
|
function b() {
|
|
13651
13651
|
!window.mapboxgl && window.maplibregl && (window.mapboxgl = window.maplibregl);
|
|
13652
13652
|
}
|
|
@@ -13706,10 +13706,10 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
13706
13706
|
"opacity-0 group-hover:opacity-100 group-focus-visible:opacity-100",
|
|
13707
13707
|
"pointer-events-none transition-opacity duration-200 whitespace-nowrap"
|
|
13708
13708
|
].join(" "), A.textContent = "Друк карти", A.setAttribute("aria-hidden", "true"), C.appendChild($), C.appendChild(A), C.addEventListener("click", (N) => {
|
|
13709
|
-
N.stopPropagation(),
|
|
13709
|
+
N.stopPropagation(), m();
|
|
13710
13710
|
}), p.value = C, C;
|
|
13711
13711
|
}
|
|
13712
|
-
function
|
|
13712
|
+
function m() {
|
|
13713
13713
|
if (!a.value) return;
|
|
13714
13714
|
a.value.style.display === "block" ? _() : g();
|
|
13715
13715
|
}
|
|
@@ -13793,11 +13793,11 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
13793
13793
|
return setTimeout(() => K && k(K), 50), K;
|
|
13794
13794
|
};
|
|
13795
13795
|
}
|
|
13796
|
-
r ? r(A, "top-right") : C.addControl(A, "top-right"),
|
|
13796
|
+
r ? r(A, "top-right") : C.addControl(A, "top-right"), v = (N) => {
|
|
13797
13797
|
N.key === "Escape" && _();
|
|
13798
|
-
}, document.addEventListener("keyup",
|
|
13798
|
+
}, document.addEventListener("keyup", v);
|
|
13799
13799
|
}), Ve(() => {
|
|
13800
|
-
_(),
|
|
13800
|
+
_(), v && (document.removeEventListener("keyup", v), v = null);
|
|
13801
13801
|
const C = t.value;
|
|
13802
13802
|
if (s.value)
|
|
13803
13803
|
try {
|
|
@@ -13835,7 +13835,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
13835
13835
|
function p($, A) {
|
|
13836
13836
|
return typeof $ == "number" && Number.isFinite($) ? $ : A;
|
|
13837
13837
|
}
|
|
13838
|
-
const
|
|
13838
|
+
const v = P(() => {
|
|
13839
13839
|
var K, oe;
|
|
13840
13840
|
const $ = (K = t.options) == null ? void 0 : K.width, A = (oe = t.options) == null ? void 0 : oe.height, N = p(t.width ?? $, 210), D = p(t.height ?? A, 150);
|
|
13841
13841
|
return {
|
|
@@ -13886,21 +13886,21 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
13886
13886
|
...t.options ?? {}
|
|
13887
13887
|
};
|
|
13888
13888
|
D.container = N.container, i.value = new maplibregl.Map(D), i.value.on("load", () => {
|
|
13889
|
-
f(),
|
|
13889
|
+
f(), m();
|
|
13890
13890
|
});
|
|
13891
13891
|
}
|
|
13892
13892
|
function u() {
|
|
13893
13893
|
if (!i.value) return;
|
|
13894
13894
|
const $ = b();
|
|
13895
13895
|
$ && (i.value.once("styledata", () => {
|
|
13896
|
-
f(),
|
|
13896
|
+
f(), m();
|
|
13897
13897
|
}), i.value.setStyle($));
|
|
13898
13898
|
}
|
|
13899
13899
|
function f() {
|
|
13900
13900
|
if (i.value) {
|
|
13901
13901
|
if (typeof i.value.isStyleLoaded == "function" && !i.value.isStyleLoaded()) {
|
|
13902
13902
|
i.value.once("styledata", () => {
|
|
13903
|
-
f(),
|
|
13903
|
+
f(), m();
|
|
13904
13904
|
});
|
|
13905
13905
|
return;
|
|
13906
13906
|
}
|
|
@@ -13940,13 +13940,13 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
13940
13940
|
return ($ = i.value) == null ? void 0 : $.resize();
|
|
13941
13941
|
});
|
|
13942
13942
|
}
|
|
13943
|
-
function
|
|
13943
|
+
function m() {
|
|
13944
13944
|
var ae, Q;
|
|
13945
13945
|
const $ = (Q = (ae = t.mapContext) == null ? void 0 : ae.map) == null ? void 0 : Q.value;
|
|
13946
13946
|
if (!i.value || !$ || !$.getBounds) return;
|
|
13947
13947
|
if (typeof i.value.isStyleLoaded == "function" && !i.value.isStyleLoaded()) {
|
|
13948
13948
|
i.value.once("styledata", () => {
|
|
13949
|
-
|
|
13949
|
+
m();
|
|
13950
13950
|
});
|
|
13951
13951
|
return;
|
|
13952
13952
|
}
|
|
@@ -13977,7 +13977,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
13977
13977
|
function g() {
|
|
13978
13978
|
var N;
|
|
13979
13979
|
const $ = t.mapContext, A = (N = $ == null ? void 0 : $.map) == null ? void 0 : N.value;
|
|
13980
|
-
!($ != null && $.on) || !A || (d == null || d(), d = $.on("move",
|
|
13980
|
+
!($ != null && $.on) || !A || (d == null || d(), d = $.on("move", m), m());
|
|
13981
13981
|
}
|
|
13982
13982
|
async function _() {
|
|
13983
13983
|
const $ = t.mapContext;
|
|
@@ -13996,7 +13996,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
13996
13996
|
}), le(
|
|
13997
13997
|
() => t.mapContext,
|
|
13998
13998
|
() => {
|
|
13999
|
-
_(),
|
|
13999
|
+
_(), m();
|
|
14000
14000
|
}
|
|
14001
14001
|
), le(
|
|
14002
14002
|
() => {
|
|
@@ -14007,7 +14007,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
14007
14007
|
i.value && (u(), _());
|
|
14008
14008
|
}
|
|
14009
14009
|
), le(
|
|
14010
|
-
|
|
14010
|
+
v,
|
|
14011
14011
|
() => {
|
|
14012
14012
|
i.value && st(() => {
|
|
14013
14013
|
var $;
|
|
@@ -14044,7 +14044,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
14044
14044
|
ref_key: "minimapRoot",
|
|
14045
14045
|
ref: l,
|
|
14046
14046
|
class: "mapboxgl-ctrl-minimap mapboxgl-ctrl mapboxgl-map",
|
|
14047
|
-
style: ft(
|
|
14047
|
+
style: ft(v.value),
|
|
14048
14048
|
id: "mapboxgl-minimap"
|
|
14049
14049
|
}, null, 4)
|
|
14050
14050
|
], 512), [
|
|
@@ -14059,19 +14059,19 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
14059
14059
|
__name: "AddCoordinates",
|
|
14060
14060
|
emits: ["submit", "cancel"],
|
|
14061
14061
|
setup(e, { emit: t }) {
|
|
14062
|
-
const n = t, r = T(null), l = T(null), i = (p,
|
|
14062
|
+
const n = t, r = T(null), l = T(null), i = (p, v, b) => Math.min(Math.max(p, v), b), s = () => {
|
|
14063
14063
|
if (r.value === null || l.value === null || !Number.isFinite(r.value) || !Number.isFinite(l.value))
|
|
14064
14064
|
return;
|
|
14065
|
-
const p = i(r.value, -90, 90),
|
|
14066
|
-
n("submit", { lat: p, lng:
|
|
14065
|
+
const p = i(r.value, -90, 90), v = i(l.value, -180, 180);
|
|
14066
|
+
n("submit", { lat: p, lng: v }), r.value = null, l.value = null;
|
|
14067
14067
|
}, a = () => {
|
|
14068
14068
|
r.value = null, l.value = null, n("cancel");
|
|
14069
14069
|
};
|
|
14070
|
-
return (p,
|
|
14071
|
-
|
|
14070
|
+
return (p, v) => (c(), x("div", Mx, [
|
|
14071
|
+
v[2] || (v[2] = o("p", { class: "text-xs text-gray-600 mb-1" }, "Додати точку за координатами:", -1)),
|
|
14072
14072
|
o("div", Ex, [
|
|
14073
14073
|
Be(o("input", {
|
|
14074
|
-
"onUpdate:modelValue":
|
|
14074
|
+
"onUpdate:modelValue": v[0] || (v[0] = (b) => r.value = b),
|
|
14075
14075
|
type: "number",
|
|
14076
14076
|
step: "0.0001",
|
|
14077
14077
|
class: "w-full px-2 py-1 text-xs border border-gray-300 rounded focus:outline-none focus:border-blue-500",
|
|
@@ -14085,7 +14085,7 @@ const fy = /* @__PURE__ */ Te(uy, [["render", dy]]), py = { class: "flex flex-co
|
|
|
14085
14085
|
]
|
|
14086
14086
|
]),
|
|
14087
14087
|
Be(o("input", {
|
|
14088
|
-
"onUpdate:modelValue":
|
|
14088
|
+
"onUpdate:modelValue": v[1] || (v[1] = (b) => l.value = b),
|
|
14089
14089
|
type: "number",
|
|
14090
14090
|
step: "0.0001",
|
|
14091
14091
|
class: "w-full px-2 py-1 text-xs border border-gray-300 rounded focus:outline-none focus:border-blue-500",
|
|
@@ -14193,7 +14193,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
14193
14193
|
},
|
|
14194
14194
|
{ deep: !0, immediate: !0 }
|
|
14195
14195
|
);
|
|
14196
|
-
const p = (h, u, f) => Math.min(Math.max(h, u), f),
|
|
14196
|
+
const p = (h, u, f) => Math.min(Math.max(h, u), f), v = () => {
|
|
14197
14197
|
i.value = !0;
|
|
14198
14198
|
}, b = () => {
|
|
14199
14199
|
if (!Number.isFinite(s.value) || !Number.isFinite(a.value))
|
|
@@ -14252,7 +14252,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
14252
14252
|
key: 2,
|
|
14253
14253
|
class: "text-blue-500 hover:text-blue-600 px-0.5",
|
|
14254
14254
|
type: "button",
|
|
14255
|
-
onClick:
|
|
14255
|
+
onClick: v
|
|
14256
14256
|
}, " ✎ ")),
|
|
14257
14257
|
o("button", {
|
|
14258
14258
|
class: "text-rose-500 hover:text-rose-600 px-0.5",
|
|
@@ -14309,7 +14309,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
14309
14309
|
], i = () => {
|
|
14310
14310
|
n.value = !n.value;
|
|
14311
14311
|
}, s = (f, y) => {
|
|
14312
|
-
const
|
|
14312
|
+
const m = (N) => N * Math.PI / 180, g = m(y.lat - f.lat), _ = m(y.lng - f.lng), E = m(f.lat), L = m(y.lat), k = Math.sin(g / 2), C = Math.sin(_ / 2);
|
|
14313
14313
|
return 6371e3 * (2 * Math.asin(
|
|
14314
14314
|
Math.sqrt(
|
|
14315
14315
|
k * k + Math.cos(E) * Math.cos(L) * C * C
|
|
@@ -14325,11 +14325,11 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
14325
14325
|
t.points[0].coords
|
|
14326
14326
|
)), f;
|
|
14327
14327
|
}), p = P(() => a.value >= 1e3 ? `${dn(a.value / 1e3)} км` : `${dn(a.value)} м`);
|
|
14328
|
-
function
|
|
14328
|
+
function v(f) {
|
|
14329
14329
|
if (f.length < 3) return 0;
|
|
14330
|
-
const y = f[0].lat,
|
|
14330
|
+
const y = f[0].lat, m = f[0].lng, g = (E, L) => {
|
|
14331
14331
|
const k = (E - y) * 110574;
|
|
14332
|
-
return { x: (L -
|
|
14332
|
+
return { x: (L - m) * 111320 * Math.cos(y * Math.PI / 180), y: k };
|
|
14333
14333
|
};
|
|
14334
14334
|
let _ = 0;
|
|
14335
14335
|
for (let E = 0; E < f.length; E++) {
|
|
@@ -14341,17 +14341,17 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
14341
14341
|
const b = P(() => {
|
|
14342
14342
|
if (!t.isShapeClosed || t.points.length < 3) return 0;
|
|
14343
14343
|
const f = t.points.map((y) => y.coords);
|
|
14344
|
-
return
|
|
14344
|
+
return v(f);
|
|
14345
14345
|
}), d = P(() => b.value > 0), h = P(() => {
|
|
14346
14346
|
const f = b.value;
|
|
14347
14347
|
if (f === 0) return "—";
|
|
14348
14348
|
if (r.value === "km2") {
|
|
14349
|
-
const
|
|
14350
|
-
return `${dn(
|
|
14349
|
+
const m = f / 1e6;
|
|
14350
|
+
return `${dn(m)} км²`;
|
|
14351
14351
|
}
|
|
14352
14352
|
if (r.value === "ha") {
|
|
14353
|
-
const
|
|
14354
|
-
return `${dn(
|
|
14353
|
+
const m = f / 1e4;
|
|
14354
|
+
return `${dn(m)} га`;
|
|
14355
14355
|
}
|
|
14356
14356
|
const y = f >= 1 ? Math.round(f) : f;
|
|
14357
14357
|
return `${dn(y)} м²`;
|
|
@@ -14385,17 +14385,17 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
14385
14385
|
]),
|
|
14386
14386
|
y[2] || (y[2] = o("span", { class: "text-xs font-medium text-gray-600 flex-1" }, "Площа", -1)),
|
|
14387
14387
|
o("div", Yx, [
|
|
14388
|
-
(c(), x(ie, null, he(l, (
|
|
14389
|
-
key:
|
|
14388
|
+
(c(), x(ie, null, he(l, (m, g) => o("button", {
|
|
14389
|
+
key: m.id,
|
|
14390
14390
|
type: "button",
|
|
14391
14391
|
class: Ae([
|
|
14392
14392
|
"px-2.5 py-1 text-xs font-medium transition-colors border-r border-gray-200 last:border-r-0",
|
|
14393
14393
|
g === 0 && "rounded-l-md",
|
|
14394
14394
|
g === l.length - 1 && "rounded-r-md",
|
|
14395
|
-
r.value ===
|
|
14395
|
+
r.value === m.id ? "bg-white text-green-600 font-semibold shadow-sm" : "text-gray-600 hover:bg-gray-50"
|
|
14396
14396
|
]),
|
|
14397
|
-
onClick: nt((_) => r.value =
|
|
14398
|
-
}, V(
|
|
14397
|
+
onClick: nt((_) => r.value = m.id, ["stop"])
|
|
14398
|
+
}, V(m.label), 11, Zx)), 64))
|
|
14399
14399
|
])
|
|
14400
14400
|
]),
|
|
14401
14401
|
o("div", Gx, [
|
|
@@ -14417,13 +14417,13 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
14417
14417
|
}, " Координати ")
|
|
14418
14418
|
]),
|
|
14419
14419
|
n.value ? (c(), x("div", tb, [
|
|
14420
|
-
(c(!0), x(ie, null, he(e.points, (
|
|
14421
|
-
key:
|
|
14422
|
-
id:
|
|
14420
|
+
(c(!0), x(ie, null, he(e.points, (m, g) => (c(), fe(Ox, {
|
|
14421
|
+
key: m.id,
|
|
14422
|
+
id: m.id,
|
|
14423
14423
|
index: g + 1,
|
|
14424
|
-
coords:
|
|
14424
|
+
coords: m.coords,
|
|
14425
14425
|
onUpdate: y[0] || (y[0] = (_) => f.$emit("update-point", _)),
|
|
14426
|
-
onDelete: (_) => f.$emit("delete-point",
|
|
14426
|
+
onDelete: (_) => f.$emit("delete-point", m.id)
|
|
14427
14427
|
}, null, 8, ["id", "index", "coords", "onDelete"]))), 128))
|
|
14428
14428
|
])) : X("", !0)
|
|
14429
14429
|
]));
|
|
@@ -14454,10 +14454,10 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
14454
14454
|
setup(e) {
|
|
14455
14455
|
const t = e;
|
|
14456
14456
|
function n(i, s) {
|
|
14457
|
-
const a = (u) => u * Math.PI / 180, p = a(s.lat - i.lat),
|
|
14457
|
+
const a = (u) => u * Math.PI / 180, p = a(s.lat - i.lat), v = a(s.lng - i.lng), b = a(i.lat), d = a(s.lat);
|
|
14458
14458
|
return 6371e3 * (2 * Math.asin(
|
|
14459
14459
|
Math.sqrt(
|
|
14460
|
-
Math.sin(p / 2) ** 2 + Math.cos(b) * Math.cos(d) * Math.sin(
|
|
14460
|
+
Math.sin(p / 2) ** 2 + Math.cos(b) * Math.cos(d) * Math.sin(v / 2) ** 2
|
|
14461
14461
|
)
|
|
14462
14462
|
));
|
|
14463
14463
|
}
|
|
@@ -14470,11 +14470,11 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
14470
14470
|
for (let a = 0; a < s.length; a++) {
|
|
14471
14471
|
const p = a === s.length - 1 && t.isShapeClosed ? 0 : a + 1;
|
|
14472
14472
|
if (p >= s.length) break;
|
|
14473
|
-
const
|
|
14473
|
+
const v = n(s[a].coords, s[p].coords);
|
|
14474
14474
|
i.push({
|
|
14475
14475
|
from: a + 1,
|
|
14476
14476
|
to: p + 1,
|
|
14477
|
-
label: r(
|
|
14477
|
+
label: r(v)
|
|
14478
14478
|
});
|
|
14479
14479
|
}
|
|
14480
14480
|
return i;
|
|
@@ -14511,7 +14511,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
14511
14511
|
],
|
|
14512
14512
|
setup(e, { expose: t, emit: n }) {
|
|
14513
14513
|
const r = n, l = T([]), i = P(() => l.value.length > 0), s = T(!1), a = T(!1), p = T("general");
|
|
14514
|
-
function
|
|
14514
|
+
function v(K) {
|
|
14515
14515
|
p.value = K, r("tab-change", K);
|
|
14516
14516
|
}
|
|
14517
14517
|
Ue(() => {
|
|
@@ -14531,7 +14531,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
14531
14531
|
...l.value,
|
|
14532
14532
|
{ id: f(), coords: { lat: K.lat, lng: K.lng } }
|
|
14533
14533
|
], u();
|
|
14534
|
-
},
|
|
14534
|
+
}, m = ({
|
|
14535
14535
|
id: K,
|
|
14536
14536
|
coords: oe
|
|
14537
14537
|
}) => {
|
|
@@ -14544,7 +14544,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
14544
14544
|
}, _ = () => {
|
|
14545
14545
|
l.value = [], a.value && (a.value = !1, r("shape-closed-change", !1)), u();
|
|
14546
14546
|
}, E = (K) => {
|
|
14547
|
-
|
|
14547
|
+
m(K);
|
|
14548
14548
|
}, L = (K) => {
|
|
14549
14549
|
g(K);
|
|
14550
14550
|
}, k = () => {
|
|
@@ -14600,7 +14600,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
14600
14600
|
"flex-1 px-3 py-2 text-xs font-medium transition-colors",
|
|
14601
14601
|
p.value === "general" ? "text-blue-600 border-b-2 border-blue-500 bg-blue-50/50" : "text-gray-500 hover:text-gray-700"
|
|
14602
14602
|
]),
|
|
14603
|
-
onClick: oe[0] || (oe[0] = (ae) =>
|
|
14603
|
+
onClick: oe[0] || (oe[0] = (ae) => v("general"))
|
|
14604
14604
|
}, " Загальна ", 2),
|
|
14605
14605
|
o("button", {
|
|
14606
14606
|
type: "button",
|
|
@@ -14608,7 +14608,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
14608
14608
|
"flex-1 px-3 py-2 text-xs font-medium transition-colors",
|
|
14609
14609
|
p.value === "topoint" ? "text-blue-600 border-b-2 border-blue-500 bg-blue-50/50" : "text-gray-500 hover:text-gray-700"
|
|
14610
14610
|
]),
|
|
14611
|
-
onClick: oe[1] || (oe[1] = (ae) =>
|
|
14611
|
+
onClick: oe[1] || (oe[1] = (ae) => v("topoint"))
|
|
14612
14612
|
}, " До точки ", 2)
|
|
14613
14613
|
]),
|
|
14614
14614
|
p.value === "general" ? (c(), x(ie, { key: 0 }, [
|
|
@@ -14658,32 +14658,32 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
14658
14658
|
labelMode: {}
|
|
14659
14659
|
},
|
|
14660
14660
|
setup(e) {
|
|
14661
|
-
function t(
|
|
14662
|
-
const _ = (A) => A * Math.PI / 180, E = _(g.lat -
|
|
14661
|
+
function t(m, g) {
|
|
14662
|
+
const _ = (A) => A * Math.PI / 180, E = _(g.lat - m.lat), L = _(g.lng - m.lng), k = _(m.lat), C = _(g.lat);
|
|
14663
14663
|
return 6371e3 * (2 * Math.asin(
|
|
14664
14664
|
Math.sqrt(
|
|
14665
14665
|
Math.sin(E / 2) ** 2 + Math.cos(k) * Math.cos(C) * Math.sin(L / 2) ** 2
|
|
14666
14666
|
)
|
|
14667
14667
|
));
|
|
14668
14668
|
}
|
|
14669
|
-
function n(
|
|
14670
|
-
return us(
|
|
14669
|
+
function n(m) {
|
|
14670
|
+
return us(m);
|
|
14671
14671
|
}
|
|
14672
14672
|
const r = e, { map: l, ready: i } = it();
|
|
14673
14673
|
function s() {
|
|
14674
14674
|
return { type: "FeatureCollection", features: [] };
|
|
14675
14675
|
}
|
|
14676
|
-
function a(
|
|
14676
|
+
function a(m, g, _) {
|
|
14677
14677
|
const E = _ ?? "general", L = [];
|
|
14678
14678
|
let k = 0;
|
|
14679
14679
|
L.push(0);
|
|
14680
|
-
for (let C = 1; C <
|
|
14681
|
-
k += t(
|
|
14682
|
-
return g &&
|
|
14680
|
+
for (let C = 1; C < m.length; C++)
|
|
14681
|
+
k += t(m[C - 1].coords, m[C].coords), L.push(k);
|
|
14682
|
+
return g && m.length >= 2 && (k += t(m[m.length - 1].coords, m[0].coords)), {
|
|
14683
14683
|
type: "FeatureCollection",
|
|
14684
|
-
features:
|
|
14684
|
+
features: m.map((C, $) => {
|
|
14685
14685
|
const A = E === "general" ? $ === 0 ? "0" : n(L[$]) : $ === 0 ? "0" : n(
|
|
14686
|
-
t(
|
|
14686
|
+
t(m[$ - 1].coords, m[$].coords)
|
|
14687
14687
|
);
|
|
14688
14688
|
return {
|
|
14689
14689
|
type: "Feature",
|
|
@@ -14696,13 +14696,13 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
14696
14696
|
})
|
|
14697
14697
|
};
|
|
14698
14698
|
}
|
|
14699
|
-
function p(
|
|
14700
|
-
if (
|
|
14699
|
+
function p(m, g) {
|
|
14700
|
+
if (m.length < 2) return s();
|
|
14701
14701
|
const _ = [];
|
|
14702
|
-
for (let E = 0; E <
|
|
14703
|
-
const L = E ===
|
|
14704
|
-
if (L >=
|
|
14705
|
-
const k =
|
|
14702
|
+
for (let E = 0; E < m.length; E++) {
|
|
14703
|
+
const L = E === m.length - 1 && g ? 0 : E + 1;
|
|
14704
|
+
if (L >= m.length) break;
|
|
14705
|
+
const k = m[E].coords, C = m[L].coords, $ = t(k, C);
|
|
14706
14706
|
_.push({
|
|
14707
14707
|
type: "Feature",
|
|
14708
14708
|
geometry: {
|
|
@@ -14717,9 +14717,9 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
14717
14717
|
}
|
|
14718
14718
|
return { type: "FeatureCollection", features: _ };
|
|
14719
14719
|
}
|
|
14720
|
-
function m
|
|
14721
|
-
if (
|
|
14722
|
-
const _ =
|
|
14720
|
+
function v(m, g) {
|
|
14721
|
+
if (m.length < 2) return s();
|
|
14722
|
+
const _ = m.map((E) => [E.coords.lng, E.coords.lat]);
|
|
14723
14723
|
return g && _.push(_[0]), {
|
|
14724
14724
|
type: "FeatureCollection",
|
|
14725
14725
|
features: [
|
|
@@ -14731,9 +14731,9 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
14731
14731
|
]
|
|
14732
14732
|
};
|
|
14733
14733
|
}
|
|
14734
|
-
function b(
|
|
14735
|
-
if (
|
|
14736
|
-
const g =
|
|
14734
|
+
function b(m) {
|
|
14735
|
+
if (m.length < 3) return s();
|
|
14736
|
+
const g = m.map((_) => [_.coords.lng, _.coords.lat]);
|
|
14737
14737
|
return g.push(g[0]), {
|
|
14738
14738
|
type: "FeatureCollection",
|
|
14739
14739
|
features: [
|
|
@@ -14746,11 +14746,11 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
14746
14746
|
};
|
|
14747
14747
|
}
|
|
14748
14748
|
let d = !1;
|
|
14749
|
-
function h(
|
|
14750
|
-
|
|
14749
|
+
function h(m) {
|
|
14750
|
+
m.getSource(Ft) || (m.addSource(Ft, {
|
|
14751
14751
|
type: "geojson",
|
|
14752
14752
|
data: s()
|
|
14753
|
-
}),
|
|
14753
|
+
}), m.addLayer({
|
|
14754
14754
|
id: `${Ft}-circle`,
|
|
14755
14755
|
type: "circle",
|
|
14756
14756
|
source: Ft,
|
|
@@ -14760,7 +14760,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
14760
14760
|
"circle-stroke-width": 2,
|
|
14761
14761
|
"circle-stroke-color": "#ffffff"
|
|
14762
14762
|
}
|
|
14763
|
-
}),
|
|
14763
|
+
}), m.addLayer({
|
|
14764
14764
|
id: `${Ft}-labels`,
|
|
14765
14765
|
type: "symbol",
|
|
14766
14766
|
source: Ft,
|
|
@@ -14774,10 +14774,10 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
14774
14774
|
"text-halo-color": "#ffffff",
|
|
14775
14775
|
"text-halo-width": 1
|
|
14776
14776
|
}
|
|
14777
|
-
})),
|
|
14777
|
+
})), m.getSource(Wt) || (m.addSource(Wt, {
|
|
14778
14778
|
type: "geojson",
|
|
14779
14779
|
data: s()
|
|
14780
|
-
}),
|
|
14780
|
+
}), m.addLayer({
|
|
14781
14781
|
id: `${Wt}-labels`,
|
|
14782
14782
|
type: "symbol",
|
|
14783
14783
|
source: Wt,
|
|
@@ -14793,10 +14793,10 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
14793
14793
|
"text-halo-color": "#ffffff",
|
|
14794
14794
|
"text-halo-width": 1.5
|
|
14795
14795
|
}
|
|
14796
|
-
})),
|
|
14796
|
+
})), m.getSource(qt) || (m.addSource(qt, {
|
|
14797
14797
|
type: "geojson",
|
|
14798
14798
|
data: s()
|
|
14799
|
-
}),
|
|
14799
|
+
}), m.addLayer({
|
|
14800
14800
|
id: `${qt}-layer`,
|
|
14801
14801
|
type: "line",
|
|
14802
14802
|
source: qt,
|
|
@@ -14804,10 +14804,10 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
14804
14804
|
"line-color": "#3b82f6",
|
|
14805
14805
|
"line-width": 2
|
|
14806
14806
|
}
|
|
14807
|
-
})),
|
|
14807
|
+
})), m.getSource(Ht) || (m.addSource(Ht, {
|
|
14808
14808
|
type: "geojson",
|
|
14809
14809
|
data: s()
|
|
14810
|
-
}),
|
|
14810
|
+
}), m.addLayer({
|
|
14811
14811
|
id: `${Ht}-layer`,
|
|
14812
14812
|
type: "fill",
|
|
14813
14813
|
source: Ht,
|
|
@@ -14817,28 +14817,28 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
14817
14817
|
}
|
|
14818
14818
|
})), d = !0;
|
|
14819
14819
|
}
|
|
14820
|
-
function u(
|
|
14821
|
-
if (
|
|
14820
|
+
function u(m) {
|
|
14821
|
+
if (m) {
|
|
14822
14822
|
try {
|
|
14823
|
-
|
|
14823
|
+
m.getLayer(`${Ht}-layer`) && m.removeLayer(`${Ht}-layer`), m.getSource(Ht) && m.removeSource(Ht), m.getLayer(`${qt}-layer`) && m.removeLayer(`${qt}-layer`), m.getSource(qt) && m.removeSource(qt), m.getLayer(`${Wt}-labels`) && m.removeLayer(`${Wt}-labels`), m.getSource(Wt) && m.removeSource(Wt), m.getLayer(`${Ft}-labels`) && m.removeLayer(`${Ft}-labels`), m.getLayer(`${Ft}-circle`) && m.removeLayer(`${Ft}-circle`), m.getSource(Ft) && m.removeSource(Ft);
|
|
14824
14824
|
} catch {
|
|
14825
14825
|
}
|
|
14826
14826
|
d = !1;
|
|
14827
14827
|
}
|
|
14828
14828
|
}
|
|
14829
|
-
function f(
|
|
14830
|
-
if (!
|
|
14831
|
-
const g =
|
|
14829
|
+
function f(m) {
|
|
14830
|
+
if (!m) return;
|
|
14831
|
+
const g = m.getSource(Ft), _ = m.getSource(qt), E = m.getSource(Ht), L = m.getSource(Wt), k = r.points, C = r.labelMode ?? "general";
|
|
14832
14832
|
g && g.setData(
|
|
14833
14833
|
a(k, r.isShapeClosed, C)
|
|
14834
|
-
), _ && _.setData(
|
|
14834
|
+
), _ && _.setData(v(k, r.isShapeClosed)), E && E.setData(b(k)), L && L.setData(
|
|
14835
14835
|
C === "topoint" ? p(k, r.isShapeClosed) : s()
|
|
14836
14836
|
);
|
|
14837
14837
|
}
|
|
14838
14838
|
function y() {
|
|
14839
14839
|
i().then(() => {
|
|
14840
|
-
const
|
|
14841
|
-
|
|
14840
|
+
const m = l.value;
|
|
14841
|
+
m && (d || h(m), f(m));
|
|
14842
14842
|
});
|
|
14843
14843
|
}
|
|
14844
14844
|
return le(
|
|
@@ -14847,7 +14847,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
14847
14847
|
{ deep: !0, immediate: !0 }
|
|
14848
14848
|
), Ve(() => {
|
|
14849
14849
|
i().then(() => u(l.value));
|
|
14850
|
-
}), (
|
|
14850
|
+
}), (m, g) => null;
|
|
14851
14851
|
}
|
|
14852
14852
|
}), kb = { class: "geolocation-panel-wrap absolute bottom-12 right-0 z-20 animate-slide-up flex items-end gap-2" }, $b = { class: "bg-white rounded-xl shadow-2xl border border-gray-200 overflow-hidden w-72" }, Cb = { class: "bg-gradient-to-r from-blue-400 to-blue-500 px-3 py-2 flex items-center justify-between" }, Sb = { class: "flex items-center gap-2" }, Ab = ["disabled"], Lb = { class: "px-3 py-3 border-t border-gray-100 flex items-center justify-between gap-3" }, Mb = { class: "text-sm font-mono text-slate-700" }, Eb = { class: "flex items-center gap-2 shrink-0" }, Tb = {
|
|
14853
14853
|
key: 0,
|
|
@@ -14871,7 +14871,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
14871
14871
|
}, 600);
|
|
14872
14872
|
});
|
|
14873
14873
|
}
|
|
14874
|
-
function
|
|
14874
|
+
function v() {
|
|
14875
14875
|
r("close");
|
|
14876
14876
|
}
|
|
14877
14877
|
function b() {
|
|
@@ -14900,7 +14900,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
14900
14900
|
type: "button",
|
|
14901
14901
|
class: "w-5 h-5 flex items-center justify-center rounded hover:bg-white/20 transition-colors",
|
|
14902
14902
|
"aria-label": "Закрити",
|
|
14903
|
-
onClick:
|
|
14903
|
+
onClick: v
|
|
14904
14904
|
}, [
|
|
14905
14905
|
ne(se(ln), {
|
|
14906
14906
|
size: 14,
|
|
@@ -14982,7 +14982,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
14982
14982
|
}
|
|
14983
14983
|
l = !1;
|
|
14984
14984
|
}
|
|
14985
|
-
function
|
|
14985
|
+
function v(d) {
|
|
14986
14986
|
const h = d.getSource(Yt);
|
|
14987
14987
|
if (h) {
|
|
14988
14988
|
if (t.position == null) {
|
|
@@ -15003,7 +15003,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
15003
15003
|
l && p(d);
|
|
15004
15004
|
return;
|
|
15005
15005
|
}
|
|
15006
|
-
l || a(d),
|
|
15006
|
+
l || a(d), v(d);
|
|
15007
15007
|
}
|
|
15008
15008
|
});
|
|
15009
15009
|
}
|
|
@@ -15028,7 +15028,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
15028
15028
|
{ id: "polygon", icon: gr, title: "Полігон" },
|
|
15029
15029
|
{ id: "paint", icon: ti, title: "Балончик" },
|
|
15030
15030
|
{ id: "eraser", icon: Ks, title: "Стирачка" }
|
|
15031
|
-
], i = T("pen"), s = T("#2563eb"), a = T(3), p = () => r("update:stroke-color", s.value),
|
|
15031
|
+
], i = T("pen"), s = T("#2563eb"), a = T(3), p = () => r("update:stroke-color", s.value), v = () => r("update:stroke-width", a.value);
|
|
15032
15032
|
le(i, (y) => r("update:tool", y)), le(s, (y) => r("update:stroke-color", y)), le(a, (y) => r("update:stroke-width", y));
|
|
15033
15033
|
function b() {
|
|
15034
15034
|
r("close");
|
|
@@ -15049,7 +15049,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
15049
15049
|
tool: i,
|
|
15050
15050
|
strokeColor: s,
|
|
15051
15051
|
strokeWidth: a
|
|
15052
|
-
}), (y,
|
|
15052
|
+
}), (y, m) => (c(), x("div", jb, [
|
|
15053
15053
|
o("div", zb, [
|
|
15054
15054
|
o("div", Nb, [
|
|
15055
15055
|
o("div", Pb, [
|
|
@@ -15060,7 +15060,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
15060
15060
|
class: "text-white"
|
|
15061
15061
|
})
|
|
15062
15062
|
]),
|
|
15063
|
-
|
|
15063
|
+
m[2] || (m[2] = o("h3", { class: "text-white font-semibold text-xs" }, "Малювання", -1))
|
|
15064
15064
|
]),
|
|
15065
15065
|
o("button", {
|
|
15066
15066
|
type: "button",
|
|
@@ -15076,7 +15076,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
15076
15076
|
])
|
|
15077
15077
|
]),
|
|
15078
15078
|
o("section", Ob, [
|
|
15079
|
-
|
|
15079
|
+
m[3] || (m[3] = o("span", { class: "block text-[11px] font-semibold text-gray-500 uppercase tracking-wider mb-2" }, " Інструмент ", -1)),
|
|
15080
15080
|
o("div", Db, [
|
|
15081
15081
|
(c(), x(ie, null, he(l, (g) => o("button", {
|
|
15082
15082
|
key: g.id,
|
|
@@ -15096,12 +15096,12 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
15096
15096
|
])
|
|
15097
15097
|
]),
|
|
15098
15098
|
o("section", Bb, [
|
|
15099
|
-
|
|
15099
|
+
m[6] || (m[6] = o("span", { class: "block text-[11px] font-semibold text-gray-500 uppercase tracking-wider mb-2" }, " Стиль ", -1)),
|
|
15100
15100
|
o("div", Ub, [
|
|
15101
15101
|
o("label", qb, [
|
|
15102
|
-
|
|
15102
|
+
m[4] || (m[4] = o("span", { class: "text-xs font-medium text-gray-600" }, "Колір", -1)),
|
|
15103
15103
|
Be(o("input", {
|
|
15104
|
-
"onUpdate:modelValue":
|
|
15104
|
+
"onUpdate:modelValue": m[0] || (m[0] = (g) => s.value = g),
|
|
15105
15105
|
type: "color",
|
|
15106
15106
|
class: "w-9 h-9 p-0.5 border-2 border-gray-200 rounded-lg cursor-pointer bg-white [&::-webkit-color-swatch-wrapper]:p-0 [&::-webkit-color-swatch]:border-none [&::-webkit-color-swatch]:rounded-md",
|
|
15107
15107
|
onChange: p
|
|
@@ -15110,14 +15110,14 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
15110
15110
|
])
|
|
15111
15111
|
]),
|
|
15112
15112
|
o("label", Hb, [
|
|
15113
|
-
|
|
15113
|
+
m[5] || (m[5] = o("span", { class: "text-xs font-medium text-gray-600 shrink-0 w-14" }, "Товщина", -1)),
|
|
15114
15114
|
Be(o("input", {
|
|
15115
|
-
"onUpdate:modelValue":
|
|
15115
|
+
"onUpdate:modelValue": m[1] || (m[1] = (g) => a.value = g),
|
|
15116
15116
|
type: "range",
|
|
15117
15117
|
min: "1",
|
|
15118
15118
|
max: "12",
|
|
15119
15119
|
class: "drawing-panel-range w-full min-w-[100px] h-2 bg-gray-200 rounded-full appearance-none cursor-pointer",
|
|
15120
|
-
onInput:
|
|
15120
|
+
onInput: v
|
|
15121
15121
|
}, null, 544), [
|
|
15122
15122
|
[
|
|
15123
15123
|
gt,
|
|
@@ -15152,7 +15152,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
15152
15152
|
size: 14,
|
|
15153
15153
|
"stroke-width": 2
|
|
15154
15154
|
}),
|
|
15155
|
-
|
|
15155
|
+
m[7] || (m[7] = Ce(" Очистити ", -1))
|
|
15156
15156
|
])
|
|
15157
15157
|
]),
|
|
15158
15158
|
i.value === "polygon" ? (c(), x("button", {
|
|
@@ -15165,7 +15165,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
15165
15165
|
size: 14,
|
|
15166
15166
|
"stroke-width": 2
|
|
15167
15167
|
}),
|
|
15168
|
-
|
|
15168
|
+
m[8] || (m[8] = Ce(" Замкнути полігон ", -1))
|
|
15169
15169
|
])) : X("", !0),
|
|
15170
15170
|
o("button", {
|
|
15171
15171
|
type: "button",
|
|
@@ -15176,7 +15176,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
15176
15176
|
size: 14,
|
|
15177
15177
|
"stroke-width": 2
|
|
15178
15178
|
}),
|
|
15179
|
-
|
|
15179
|
+
m[9] || (m[9] = Ce(" Завантажити як фото ", -1))
|
|
15180
15180
|
])
|
|
15181
15181
|
])
|
|
15182
15182
|
])
|
|
@@ -15191,7 +15191,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
15191
15191
|
strokeWidth: { default: 3 }
|
|
15192
15192
|
},
|
|
15193
15193
|
setup(e, { expose: t }) {
|
|
15194
|
-
const n = T(null), r = T(null), l = T(null), i = T({ x: 0, y: 0 }), s = T(!1), a = e, p = P(() => Math.max(a.strokeWidth * 3, 12)),
|
|
15194
|
+
const n = T(null), r = T(null), l = T(null), i = T({ x: 0, y: 0 }), s = T(!1), a = e, p = P(() => Math.max(a.strokeWidth * 3, 12)), v = P(() => {
|
|
15195
15195
|
const S = p.value * 2;
|
|
15196
15196
|
return {
|
|
15197
15197
|
width: `${S}px`,
|
|
@@ -15202,7 +15202,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
15202
15202
|
marginTop: `-${p.value}px`
|
|
15203
15203
|
};
|
|
15204
15204
|
}), { ready: b } = it(), d = T(!1), h = T([]), u = T([]);
|
|
15205
|
-
let f = 0, y = 0,
|
|
15205
|
+
let f = 0, y = 0, m = 0, g = 0, _ = null;
|
|
15206
15206
|
function E() {
|
|
15207
15207
|
const S = r.value, I = l.value, B = n.value;
|
|
15208
15208
|
if (!S || !B) return;
|
|
@@ -15246,18 +15246,18 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
15246
15246
|
const S = C();
|
|
15247
15247
|
if (S) {
|
|
15248
15248
|
if ($(), S.globalCompositeOperation = "source-over", S.strokeStyle = a.strokeColor, S.lineWidth = a.strokeWidth, S.lineCap = "round", S.lineJoin = "round", a.tool === "line")
|
|
15249
|
-
S.beginPath(), S.moveTo(f, y), S.lineTo(
|
|
15249
|
+
S.beginPath(), S.moveTo(f, y), S.lineTo(m, g), S.stroke();
|
|
15250
15250
|
else if (a.tool === "rect") {
|
|
15251
|
-
const I = Math.min(f,
|
|
15251
|
+
const I = Math.min(f, m), B = Math.min(y, g), U = Math.abs(m - f), te = Math.abs(g - y);
|
|
15252
15252
|
S.strokeRect(I, B, U, te);
|
|
15253
15253
|
} else if (a.tool === "circle") {
|
|
15254
|
-
const I = Math.sqrt((
|
|
15254
|
+
const I = Math.sqrt((m - f) ** 2 + (g - y) ** 2);
|
|
15255
15255
|
S.beginPath(), S.arc(f, y, Math.max(I, 1), 0, 2 * Math.PI), S.stroke();
|
|
15256
15256
|
} else if (a.tool === "polygon" && h.value.length > 0) {
|
|
15257
15257
|
const I = h.value;
|
|
15258
15258
|
S.beginPath(), S.moveTo(I[0].x, I[0].y);
|
|
15259
15259
|
for (let B = 1; B < I.length; B++) S.lineTo(I[B].x, I[B].y);
|
|
15260
|
-
S.lineTo(
|
|
15260
|
+
S.lineTo(m, g), S.stroke();
|
|
15261
15261
|
}
|
|
15262
15262
|
}
|
|
15263
15263
|
}
|
|
@@ -15275,7 +15275,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
15275
15275
|
function K(S) {
|
|
15276
15276
|
if (!r.value) return;
|
|
15277
15277
|
const { x: I, y: B } = L(S);
|
|
15278
|
-
f = I, y = B,
|
|
15278
|
+
f = I, y = B, m = I, g = B;
|
|
15279
15279
|
const U = k();
|
|
15280
15280
|
if (U) {
|
|
15281
15281
|
if (a.tool === "pen" || a.tool === "eraser") {
|
|
@@ -15291,14 +15291,14 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
15291
15291
|
return;
|
|
15292
15292
|
}
|
|
15293
15293
|
if (a.tool === "polygon") {
|
|
15294
|
-
h.value = [...h.value, { x: I, y: B }],
|
|
15294
|
+
h.value = [...h.value, { x: I, y: B }], m = I, g = B, A();
|
|
15295
15295
|
return;
|
|
15296
15296
|
}
|
|
15297
15297
|
}
|
|
15298
15298
|
}
|
|
15299
15299
|
function oe(S) {
|
|
15300
15300
|
const { x: I, y: B } = L(S);
|
|
15301
|
-
|
|
15301
|
+
m = I, g = B, a.tool === "eraser" && (i.value = { x: S.clientX, y: S.clientY }, s.value = !0);
|
|
15302
15302
|
const U = k();
|
|
15303
15303
|
if (U) {
|
|
15304
15304
|
if (a.tool === "pen" && d.value) {
|
|
@@ -15341,14 +15341,14 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
15341
15341
|
return;
|
|
15342
15342
|
}
|
|
15343
15343
|
if (a.tool === "line")
|
|
15344
|
-
S.globalCompositeOperation = "source-over", N(S), S.beginPath(), S.moveTo(f, y), S.lineTo(
|
|
15344
|
+
S.globalCompositeOperation = "source-over", N(S), S.beginPath(), S.moveTo(f, y), S.lineTo(m, g), S.stroke();
|
|
15345
15345
|
else if (a.tool === "rect") {
|
|
15346
15346
|
S.globalCompositeOperation = "source-over", N(S);
|
|
15347
|
-
const I = Math.min(f,
|
|
15347
|
+
const I = Math.min(f, m), B = Math.min(y, g), U = Math.abs(m - f), te = Math.abs(g - y);
|
|
15348
15348
|
S.strokeRect(I, B, U, te);
|
|
15349
15349
|
} else if (a.tool === "circle") {
|
|
15350
15350
|
S.globalCompositeOperation = "source-over", N(S);
|
|
15351
|
-
const I = Math.sqrt((
|
|
15351
|
+
const I = Math.sqrt((m - f) ** 2 + (g - y) ** 2);
|
|
15352
15352
|
S.beginPath(), S.arc(f, y, Math.max(I, 1), 0, 2 * Math.PI), S.stroke();
|
|
15353
15353
|
}
|
|
15354
15354
|
$(), d.value = !1, S.globalCompositeOperation = "source-over";
|
|
@@ -15420,7 +15420,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
15420
15420
|
}, null, 512),
|
|
15421
15421
|
Be(o("div", {
|
|
15422
15422
|
class: "drawing-canvas__eraser-cursor",
|
|
15423
|
-
style: ft(
|
|
15423
|
+
style: ft(v.value)
|
|
15424
15424
|
}, null, 4), [
|
|
15425
15425
|
[Gt, e.tool === "eraser" && s.value]
|
|
15426
15426
|
])
|
|
@@ -15468,7 +15468,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
15468
15468
|
},
|
|
15469
15469
|
setup(e) {
|
|
15470
15470
|
var Xn, yn, In, jn;
|
|
15471
|
-
const t = e, n = Lt(), r = Pt(), l = T(null), i = T({}), s = T(null), a = T(!1), p = T(null),
|
|
15471
|
+
const t = e, n = Lt(), r = Pt(), l = T(null), i = T({}), s = T(null), a = T(!1), p = T(null), v = T(!1), b = T([]), d = T(null), h = P(() => d.value === "ruler"), u = P(() => d.value === "draw"), f = P(() => d.value === "geolocation"), y = T("general"), m = T(null), g = T(null), _ = T(null), E = T("pen"), L = T("#2563eb"), k = T(3), C = T([]), $ = T(!1), A = T(null), N = T(!1), D = T(null), K = P(() => t.id || "main"), oe = P(() => {
|
|
15472
15472
|
var W, de;
|
|
15473
15473
|
return {
|
|
15474
15474
|
height: ((W = t.height) == null ? void 0 : W.trim()) || ((de = i.value) == null ? void 0 : de.height) || "calc(100vh - 65px)"
|
|
@@ -15626,11 +15626,11 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
15626
15626
|
var Ee;
|
|
15627
15627
|
if (!b.value.includes("ruler") || !h.value) return;
|
|
15628
15628
|
const de = W == null ? void 0 : W.lngLat;
|
|
15629
|
-
de && ((Ee =
|
|
15629
|
+
de && ((Ee = m.value) == null || Ee.addPoint({ lat: de.lat, lng: de.lng }));
|
|
15630
15630
|
}
|
|
15631
15631
|
function Tn() {
|
|
15632
15632
|
var W;
|
|
15633
|
-
d.value === "ruler" ? (C.value = [], $.value = !1, (W =
|
|
15633
|
+
d.value === "ruler" ? (C.value = [], $.value = !1, (W = m.value) == null || W.clearPoints(), d.value = null) : (A.value = null, D.value = null, d.value = "ruler");
|
|
15634
15634
|
}
|
|
15635
15635
|
function Jt() {
|
|
15636
15636
|
d.value = null, C.value = [], $.value = !1;
|
|
@@ -15732,7 +15732,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
15732
15732
|
});
|
|
15733
15733
|
async function $t(W = !1) {
|
|
15734
15734
|
var Ee, qe;
|
|
15735
|
-
|
|
15735
|
+
v.value = !1, p.value = null, O.value = null;
|
|
15736
15736
|
const de = W || !t.data;
|
|
15737
15737
|
a.value = de;
|
|
15738
15738
|
try {
|
|
@@ -15742,7 +15742,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
15742
15742
|
throw new Error(`Помилка завантаження (${Ke.status})`);
|
|
15743
15743
|
return Ke.json();
|
|
15744
15744
|
})() : t.data;
|
|
15745
|
-
de || (
|
|
15745
|
+
de || (v.value = !0);
|
|
15746
15746
|
const Ge = pn($e.center) ?? te, He = Fe($e.layers).map((Ke) => I(Ke)), _e = U($e.zoom) ?? pe;
|
|
15747
15747
|
i.value = {
|
|
15748
15748
|
...$e,
|
|
@@ -15752,7 +15752,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
15752
15752
|
widgets: $e.widgets
|
|
15753
15753
|
}, b.value = $e.tools || ["home", "print", "ruler", "draw"];
|
|
15754
15754
|
const Ye = await ee();
|
|
15755
|
-
Ye && (Ge && ((Ee = Ye.setCenter) == null || Ee.call(Ye, Ge)), _e != null && ((qe = Ye.setZoom) == null || qe.call(Ye, _e)), s.value || await We()), await we(), await et(), await Mt(),
|
|
15755
|
+
Ye && (Ge && ((Ee = Ye.setCenter) == null || Ee.call(Ye, Ge)), _e != null && ((qe = Ye.setZoom) == null || qe.call(Ye, _e)), s.value || await We()), await we(), await et(), await Mt(), v.value = !0;
|
|
15756
15756
|
} catch ($e) {
|
|
15757
15757
|
p.value = ($e == null ? void 0 : $e.message) || "Не вдалося завантажити карту";
|
|
15758
15758
|
} finally {
|
|
@@ -15856,7 +15856,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
15856
15856
|
b.value.includes("ruler") && h.value ? (c(), fe(wb, {
|
|
15857
15857
|
key: 1,
|
|
15858
15858
|
ref_key: "rulerPanelRef",
|
|
15859
|
-
ref:
|
|
15859
|
+
ref: m,
|
|
15860
15860
|
onClose: Jt,
|
|
15861
15861
|
onTabChange: de[4] || (de[4] = (He) => y.value = He),
|
|
15862
15862
|
onPointsChange: be,
|
|
@@ -15917,17 +15917,17 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
15917
15917
|
ne(se(ao), { class: "w-4 h-4" })
|
|
15918
15918
|
], 10, l2)) : X("", !0)
|
|
15919
15919
|
]),
|
|
15920
|
-
|
|
15920
|
+
v.value && h.value && C.value.length > 0 ? (c(), fe(_b, {
|
|
15921
15921
|
key: 4,
|
|
15922
15922
|
points: C.value,
|
|
15923
15923
|
"is-shape-closed": $.value,
|
|
15924
15924
|
"label-mode": y.value
|
|
15925
15925
|
}, null, 8, ["points", "is-shape-closed", "label-mode"])) : X("", !0),
|
|
15926
|
-
|
|
15926
|
+
v.value && A.value != null ? (c(), fe(Ib, {
|
|
15927
15927
|
key: 5,
|
|
15928
15928
|
position: A.value
|
|
15929
15929
|
}, null, 8, ["position"])) : X("", !0),
|
|
15930
|
-
|
|
15930
|
+
v.value && u.value ? (c(), fe(Xb, {
|
|
15931
15931
|
key: 6,
|
|
15932
15932
|
ref_key: "drawingCanvasRef",
|
|
15933
15933
|
ref: _,
|
|
@@ -15935,7 +15935,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
15935
15935
|
"stroke-color": L.value,
|
|
15936
15936
|
"stroke-width": k.value
|
|
15937
15937
|
}, null, 8, ["tool", "stroke-color", "stroke-width"])) : X("", !0),
|
|
15938
|
-
|
|
15938
|
+
v.value ? (c(), x(ie, { key: 7 }, [
|
|
15939
15939
|
o("div", i2, [
|
|
15940
15940
|
(c(), x(ie, null, he(ce, (He) => o("div", {
|
|
15941
15941
|
key: He,
|
|
@@ -16097,8 +16097,8 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
16097
16097
|
}
|
|
16098
16098
|
try {
|
|
16099
16099
|
JSON.parse(p), i.value = null;
|
|
16100
|
-
} catch (
|
|
16101
|
-
i.value =
|
|
16100
|
+
} catch (v) {
|
|
16101
|
+
i.value = v.message;
|
|
16102
16102
|
}
|
|
16103
16103
|
}), le(
|
|
16104
16104
|
() => n.modelValue,
|
|
@@ -16106,8 +16106,8 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
16106
16106
|
setTimeout(() => {
|
|
16107
16107
|
const { monaco: p } = window;
|
|
16108
16108
|
if (p && p.editor) {
|
|
16109
|
-
const
|
|
16110
|
-
|
|
16109
|
+
const v = p.editor.getEditors();
|
|
16110
|
+
v.length > 0 && v[v.length - 1].updateOptions({ wordWrap: "on" });
|
|
16111
16111
|
}
|
|
16112
16112
|
}, 300);
|
|
16113
16113
|
},
|
|
@@ -16125,14 +16125,14 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
16125
16125
|
console.error("Failed to parse JSON", p);
|
|
16126
16126
|
}
|
|
16127
16127
|
}
|
|
16128
|
-
return (p,
|
|
16128
|
+
return (p, v) => e.modelValue !== null ? (c(), x("div", {
|
|
16129
16129
|
key: 0,
|
|
16130
16130
|
class: "fixed inset-0 flex items-center justify-center bg-black/50 backdrop-blur-sm",
|
|
16131
16131
|
onClick: nt(s, ["self"])
|
|
16132
16132
|
}, [
|
|
16133
16133
|
o("div", x2, [
|
|
16134
16134
|
o("div", b2, [
|
|
16135
|
-
|
|
16135
|
+
v[1] || (v[1] = o("h3", { class: "text-lg font-semibold text-gray-800" }, " Редагування конфігурації (JSON) ", -1)),
|
|
16136
16136
|
o("button", {
|
|
16137
16137
|
onClick: s,
|
|
16138
16138
|
class: "text-gray-500 hover:text-gray-700 transition-colors"
|
|
@@ -16144,7 +16144,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
16144
16144
|
o("div", _2, [
|
|
16145
16145
|
ne(Gn, {
|
|
16146
16146
|
modelValue: l.value,
|
|
16147
|
-
"onUpdate:modelValue":
|
|
16147
|
+
"onUpdate:modelValue": v[0] || (v[0] = (b) => l.value = b),
|
|
16148
16148
|
language: "json",
|
|
16149
16149
|
theme: "vs-light",
|
|
16150
16150
|
class: "w-full h-full"
|
|
@@ -16195,7 +16195,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
16195
16195
|
"bottom-left",
|
|
16196
16196
|
"bottom-right"
|
|
16197
16197
|
], s = T(null), a = T(-1), p = P(() => n.modelValue || []);
|
|
16198
|
-
function
|
|
16198
|
+
function v() {
|
|
16199
16199
|
const g = [
|
|
16200
16200
|
...p.value,
|
|
16201
16201
|
{
|
|
@@ -16241,7 +16241,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
16241
16241
|
}
|
|
16242
16242
|
});
|
|
16243
16243
|
}
|
|
16244
|
-
function
|
|
16244
|
+
function m(g) {
|
|
16245
16245
|
a.value > -1 && d(a.value, "config", g), s.value = null, a.value = -1;
|
|
16246
16246
|
}
|
|
16247
16247
|
return (g, _) => {
|
|
@@ -16250,7 +16250,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
16250
16250
|
o("div", { class: "flex items-center justify-between mb-4" }, [
|
|
16251
16251
|
_[1] || (_[1] = o("h2", { class: "text-lg font-semibold text-gray-800" }, "Віджети", -1)),
|
|
16252
16252
|
o("button", {
|
|
16253
|
-
onClick:
|
|
16253
|
+
onClick: v,
|
|
16254
16254
|
class: "px-3 py-1.5 text-sm bg-blue-600 text-white rounded-md hover:bg-blue-700 transition-colors"
|
|
16255
16255
|
}, " + Додати віджет ")
|
|
16256
16256
|
]),
|
|
@@ -16349,7 +16349,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
16349
16349
|
teleport: "#modal",
|
|
16350
16350
|
modelValue: s.value,
|
|
16351
16351
|
"onUpdate:modelValue": _[0] || (_[0] = (L) => s.value = L),
|
|
16352
|
-
onSave:
|
|
16352
|
+
onSave: m
|
|
16353
16353
|
}, null, 8, ["modelValue"])
|
|
16354
16354
|
]);
|
|
16355
16355
|
};
|
|
@@ -16373,15 +16373,15 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
16373
16373
|
{ name: "Шари", id: "layers" },
|
|
16374
16374
|
{ name: "Віджети", id: "widgets" },
|
|
16375
16375
|
{ name: "Карта", id: "map" }
|
|
16376
|
-
],
|
|
16376
|
+
], v = p.map(($) => $.id), b = ($) => $ ? Array.isArray($) ? $[0] : $ : null, d = (() => {
|
|
16377
16377
|
const $ = b(n.query.tab);
|
|
16378
|
-
return $ &&
|
|
16378
|
+
return $ && v.includes($) ? $ : "general";
|
|
16379
16379
|
})(), h = T(d);
|
|
16380
16380
|
le(
|
|
16381
16381
|
() => n.query.tab,
|
|
16382
16382
|
($) => {
|
|
16383
16383
|
const A = b($);
|
|
16384
|
-
A &&
|
|
16384
|
+
A && v.includes(A) && h.value !== A && (h.value = A);
|
|
16385
16385
|
}
|
|
16386
16386
|
), le(h, ($) => {
|
|
16387
16387
|
n.query.tab !== $ && t.replace({ query: { ...n.query, tab: $ } });
|
|
@@ -16407,7 +16407,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
16407
16407
|
id: $.id,
|
|
16408
16408
|
text: $.name || $.id
|
|
16409
16409
|
}))
|
|
16410
|
-
),
|
|
16410
|
+
), m = P({
|
|
16411
16411
|
get: () => f.value.map(($) => {
|
|
16412
16412
|
const A = y.value.find((N) => N.id === $);
|
|
16413
16413
|
return A ? A.text : $;
|
|
@@ -16626,8 +16626,8 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
16626
16626
|
options: y.value,
|
|
16627
16627
|
layerIDs: f.value,
|
|
16628
16628
|
"onUpdate:layerIDs": A[4] || (A[4] = (D) => f.value = D),
|
|
16629
|
-
layerNames:
|
|
16630
|
-
"onUpdate:layerNames": A[5] || (A[5] = (D) =>
|
|
16629
|
+
layerNames: m.value,
|
|
16630
|
+
"onUpdate:layerNames": A[5] || (A[5] = (D) => m.value = D)
|
|
16631
16631
|
}, null, 8, ["options", "layerIDs", "layerNames"])
|
|
16632
16632
|
], 512), [
|
|
16633
16633
|
[Gt, h.value === "layers"]
|
|
@@ -16642,7 +16642,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
16642
16642
|
ne(h2, {
|
|
16643
16643
|
"center-display": g.value,
|
|
16644
16644
|
"zoom-display": _.value,
|
|
16645
|
-
"layer-names":
|
|
16645
|
+
"layer-names": m.value,
|
|
16646
16646
|
id: se(n).params.id
|
|
16647
16647
|
}, null, 8, ["center-display", "zoom-display", "layer-names", "id"])
|
|
16648
16648
|
], 512), [
|
|
@@ -16678,11 +16678,11 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
16678
16678
|
},
|
|
16679
16679
|
emits: ["update:counts"],
|
|
16680
16680
|
setup(e, { expose: t, emit: n }) {
|
|
16681
|
-
const r = e, l = n, i = Pt(), s = Lt(), a = T(Number(s.query.page) || 1), p = T(!1),
|
|
16681
|
+
const r = e, l = n, i = Pt(), s = Lt(), a = T(Number(s.query.page) || 1), p = T(!1), v = T(0), b = T([]), d = P(() => {
|
|
16682
16682
|
const $ = (a.value - 1) * Fo, A = $ + Fo;
|
|
16683
16683
|
return b.value.slice($, A);
|
|
16684
16684
|
}), h = T(!0), u = T(null), f = T(null);
|
|
16685
|
-
let y = null,
|
|
16685
|
+
let y = null, m = null;
|
|
16686
16686
|
const g = ($ = "", A = "") => {
|
|
16687
16687
|
const N = new URLSearchParams(), D = $.trim();
|
|
16688
16688
|
D && N.set("search", D);
|
|
@@ -16698,17 +16698,17 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
16698
16698
|
throw new Error(`HTTP error: ${D.status}`);
|
|
16699
16699
|
const K = await D.json();
|
|
16700
16700
|
if (b.value = K.data, !$.trim())
|
|
16701
|
-
|
|
16702
|
-
else if (
|
|
16701
|
+
v.value = K.data.length;
|
|
16702
|
+
else if (v.value === 0) {
|
|
16703
16703
|
const oe = await fetch(g("", A));
|
|
16704
16704
|
if (oe.ok) {
|
|
16705
16705
|
const ae = await oe.json();
|
|
16706
|
-
|
|
16706
|
+
v.value = ae.data.length;
|
|
16707
16707
|
}
|
|
16708
16708
|
}
|
|
16709
16709
|
l("update:counts", {
|
|
16710
16710
|
filtered: b.value.length,
|
|
16711
|
-
total:
|
|
16711
|
+
total: v.value
|
|
16712
16712
|
});
|
|
16713
16713
|
} catch (N) {
|
|
16714
16714
|
u.value = N instanceof Error ? N.message : "Failed to load classifiers", console.error("Error fetching classifiers:", N);
|
|
@@ -16735,7 +16735,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
16735
16735
|
_(r.search, r.type ?? "");
|
|
16736
16736
|
}, k = async ($) => {
|
|
16737
16737
|
try {
|
|
16738
|
-
await navigator.clipboard.writeText($), f.value = $,
|
|
16738
|
+
await navigator.clipboard.writeText($), f.value = $, m && clearTimeout(m), m = setTimeout(() => {
|
|
16739
16739
|
f.value = null;
|
|
16740
16740
|
}, 500);
|
|
16741
16741
|
} catch (A) {
|
|
@@ -17046,7 +17046,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
17046
17046
|
}, n_ = ["disabled"], o_ = ["disabled"], r_ = { class: "flex items-center gap-3" }, l_ = { class: "bg-white rounded-lg shadow-sm border border-gray-200 p-4 mb-4" }, s_ = { class: "relative max-w-md" }, i_ = { class: "vs-form-text relative w-full border-transparent text-sm focus:bg-white focus:border-blue-500 focus:ring-blue-500 rounded-sm" }, a_ = { class: "absolute bottom-2/4 translate-y-2/4 cursor-pointer left-3" }, u_ = /* @__PURE__ */ me({
|
|
17047
17047
|
__name: "DictionaryDetails",
|
|
17048
17048
|
setup(e) {
|
|
17049
|
-
const t = Pt(), n = Lt(), r = P(() => n.params.name), l = T(!1), i = T(null), s = T(null), a = T(""), p = T(""),
|
|
17049
|
+
const t = Pt(), n = Lt(), r = P(() => n.params.name), l = T(!1), i = T(null), s = T(null), a = T(""), p = T(""), v = T(""), b = T(!1), d = T(!1), h = T(null), u = async () => {
|
|
17050
17050
|
var E;
|
|
17051
17051
|
try {
|
|
17052
17052
|
const L = await fetch(
|
|
@@ -17059,20 +17059,20 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
17059
17059
|
console.error("Error fetching classifier details:", L);
|
|
17060
17060
|
}
|
|
17061
17061
|
}, f = () => {
|
|
17062
|
-
|
|
17062
|
+
v.value = p.value, b.value = !0, st(() => {
|
|
17063
17063
|
var E;
|
|
17064
17064
|
(E = h.value) == null || E.focus();
|
|
17065
17065
|
});
|
|
17066
17066
|
}, y = () => {
|
|
17067
|
-
b.value = !1,
|
|
17068
|
-
},
|
|
17067
|
+
b.value = !1, v.value = "";
|
|
17068
|
+
}, m = async () => {
|
|
17069
17069
|
try {
|
|
17070
17070
|
d.value = !0;
|
|
17071
17071
|
const k = (await (await fetch(
|
|
17072
17072
|
`/api/suggest/${encodeURIComponent(r.value)}`
|
|
17073
17073
|
)).json()).data || [], C = {
|
|
17074
17074
|
name: r.value,
|
|
17075
|
-
description:
|
|
17075
|
+
description: v.value.trim() || null,
|
|
17076
17076
|
data: k
|
|
17077
17077
|
}, $ = await fetch(
|
|
17078
17078
|
`/api/user-cls/${encodeURIComponent(r.value)}`,
|
|
@@ -17086,7 +17086,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
17086
17086
|
);
|
|
17087
17087
|
if (!$.ok)
|
|
17088
17088
|
throw new Error(`HTTP error: ${$.status}`);
|
|
17089
|
-
p.value =
|
|
17089
|
+
p.value = v.value, b.value = !1;
|
|
17090
17090
|
} catch (E) {
|
|
17091
17091
|
console.error("Error saving description:", E);
|
|
17092
17092
|
} finally {
|
|
@@ -17120,19 +17120,19 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
17120
17120
|
Be(o("input", {
|
|
17121
17121
|
ref_key: "editInputRef",
|
|
17122
17122
|
ref: h,
|
|
17123
|
-
"onUpdate:modelValue": L[1] || (L[1] = (k) =>
|
|
17123
|
+
"onUpdate:modelValue": L[1] || (L[1] = (k) => v.value = k),
|
|
17124
17124
|
type: "text",
|
|
17125
17125
|
class: "text-sm text-gray-600 border-b-2 border-sky-500 focus:outline-none bg-transparent w-full py-0.5",
|
|
17126
17126
|
onKeydown: [
|
|
17127
|
-
dr(
|
|
17127
|
+
dr(m, ["enter"]),
|
|
17128
17128
|
dr(y, ["esc"])
|
|
17129
17129
|
],
|
|
17130
17130
|
placeholder: "Введіть опис"
|
|
17131
17131
|
}, null, 544), [
|
|
17132
|
-
[gt,
|
|
17132
|
+
[gt, v.value]
|
|
17133
17133
|
]),
|
|
17134
17134
|
o("button", {
|
|
17135
|
-
onClick:
|
|
17135
|
+
onClick: m,
|
|
17136
17136
|
disabled: d.value,
|
|
17137
17137
|
class: "p-1.5 text-green-600 hover:bg-green-50 rounded transition-colors disabled:opacity-50"
|
|
17138
17138
|
}, [
|
|
@@ -17228,14 +17228,14 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
17228
17228
|
var p;
|
|
17229
17229
|
(p = l.value) == null || p.refetch();
|
|
17230
17230
|
};
|
|
17231
|
-
return (p,
|
|
17231
|
+
return (p, v) => (c(), x("div", c_, [
|
|
17232
17232
|
o("div", d_, [
|
|
17233
17233
|
se(t).params.name ? X("", !0) : (c(), fe(zw, {
|
|
17234
17234
|
key: 0,
|
|
17235
17235
|
modelValue: n.value,
|
|
17236
|
-
"onUpdate:modelValue":
|
|
17236
|
+
"onUpdate:modelValue": v[0] || (v[0] = (b) => n.value = b),
|
|
17237
17237
|
filter: r.value,
|
|
17238
|
-
"onUpdate:filter":
|
|
17238
|
+
"onUpdate:filter": v[1] || (v[1] = (b) => r.value = b),
|
|
17239
17239
|
counts: i.value,
|
|
17240
17240
|
onRefresh: a
|
|
17241
17241
|
}, null, 8, ["modelValue", "filter", "counts"])),
|
|
@@ -17248,7 +17248,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
17248
17248
|
"onUpdate:counts": s
|
|
17249
17249
|
}, null, 8, ["search", "type"]))
|
|
17250
17250
|
]),
|
|
17251
|
-
|
|
17251
|
+
v[2] || (v[2] = o("div", {
|
|
17252
17252
|
id: "pagination",
|
|
17253
17253
|
class: "bg-gray-100"
|
|
17254
17254
|
}, null, -1))
|
|
@@ -17286,7 +17286,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
17286
17286
|
},
|
|
17287
17287
|
{ immediate: !0 }
|
|
17288
17288
|
);
|
|
17289
|
-
const
|
|
17289
|
+
const v = P(() => {
|
|
17290
17290
|
var L, k;
|
|
17291
17291
|
return ((k = (L = r.data) == null ? void 0 : L.routers) == null ? void 0 : k.map((C) => {
|
|
17292
17292
|
if (C != null && C.menu && Array.isArray(C.menu)) {
|
|
@@ -17341,13 +17341,13 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
17341
17341
|
return L.path || L.table || L.ua || JSON.stringify(L);
|
|
17342
17342
|
}
|
|
17343
17343
|
function f(L) {
|
|
17344
|
-
return L.
|
|
17344
|
+
return L.id || L.name || L.ua;
|
|
17345
17345
|
}
|
|
17346
17346
|
function y(L) {
|
|
17347
17347
|
const k = f(L);
|
|
17348
17348
|
return a.value[k] === !0;
|
|
17349
17349
|
}
|
|
17350
|
-
function
|
|
17350
|
+
function m(L) {
|
|
17351
17351
|
const k = f(L);
|
|
17352
17352
|
a.value[k] = !y(L);
|
|
17353
17353
|
}
|
|
@@ -17386,14 +17386,14 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
17386
17386
|
])
|
|
17387
17387
|
]),
|
|
17388
17388
|
o("tbody", v_, [
|
|
17389
|
-
(c(!0), x(ie, null, he(
|
|
17389
|
+
(c(!0), x(ie, null, he(v.value, (C) => (c(), x(ie, {
|
|
17390
17390
|
key: (C == null ? void 0 : C.path) || (C == null ? void 0 : C.ua)
|
|
17391
17391
|
}, [
|
|
17392
17392
|
o("tr", g_, [
|
|
17393
17393
|
C != null && C.menu ? (c(), x("td", {
|
|
17394
17394
|
key: 0,
|
|
17395
17395
|
class: "px-6 py-3.5 cursor-pointer",
|
|
17396
|
-
onClick: ($) =>
|
|
17396
|
+
onClick: ($) => m(C)
|
|
17397
17397
|
}, [
|
|
17398
17398
|
o("button", h_, [
|
|
17399
17399
|
ne(se(ol), {
|
|
@@ -17455,21 +17455,21 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
17455
17455
|
])
|
|
17456
17456
|
]));
|
|
17457
17457
|
}
|
|
17458
|
-
}), F_ = { class: "flex flex-col gap-4" }, I_ = { class: "flex items-center gap-3" }, j_ = { class: "flex-1 relative" }, H_ = /* @__PURE__ */ me({
|
|
17458
|
+
}), F_ = { class: "flex flex-col gap-4 mt-2 mx-2" }, I_ = { class: "flex items-center gap-3" }, j_ = { class: "flex-1 relative" }, H_ = /* @__PURE__ */ me({
|
|
17459
17459
|
__name: "VsPermissions",
|
|
17460
17460
|
setup(e) {
|
|
17461
17461
|
const t = Lt(), n = T(""), r = T(null), l = T({ categories: [], layers: [] }), i = T([]), s = T(["edit"]), a = P(() => {
|
|
17462
17462
|
const d = n.value.toLowerCase().trim(), h = p(l.value);
|
|
17463
17463
|
return d ? h.map((u) => {
|
|
17464
|
-
const f = String(u.ua || "").toLowerCase().includes(d), y = (u.menu || []).filter((
|
|
17464
|
+
const f = String(u.ua || "").toLowerCase().includes(d), y = (u.menu || []).filter((m) => String(m.ua || "").toLowerCase().includes(d));
|
|
17465
17465
|
return f ? { ...u, menu: y } : y.length ? { ...u, menu: y } : null;
|
|
17466
17466
|
}).filter(Boolean) : h;
|
|
17467
17467
|
}), p = (d) => {
|
|
17468
|
-
const h = d.categories || [], u = d.layers || []
|
|
17469
|
-
|
|
17470
|
-
|
|
17471
|
-
ua:
|
|
17472
|
-
path: String(
|
|
17468
|
+
const h = d.categories || [], u = d.layers || [], f = h.map((m) => {
|
|
17469
|
+
const g = u.filter((_) => _.category_id === m.category_id).map((_) => ({
|
|
17470
|
+
id: String(_.layer_id),
|
|
17471
|
+
ua: _.name,
|
|
17472
|
+
path: String(_.layer_id),
|
|
17473
17473
|
perms: {
|
|
17474
17474
|
view: !1,
|
|
17475
17475
|
add: !1,
|
|
@@ -17477,9 +17477,20 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
17477
17477
|
del: !1
|
|
17478
17478
|
}
|
|
17479
17479
|
}));
|
|
17480
|
-
return
|
|
17481
|
-
}).filter(Boolean)
|
|
17482
|
-
|
|
17480
|
+
return g.length ? { ua: m.name, menu: g, id: m.category_id } : null;
|
|
17481
|
+
}).filter(Boolean), y = u.filter((m) => !m.category_id).map((m) => ({
|
|
17482
|
+
ua: m.name,
|
|
17483
|
+
id: String(m.layer_id),
|
|
17484
|
+
path: String(m.layer_id),
|
|
17485
|
+
perms: {
|
|
17486
|
+
view: !1,
|
|
17487
|
+
add: !1,
|
|
17488
|
+
edit: !1,
|
|
17489
|
+
del: !1
|
|
17490
|
+
}
|
|
17491
|
+
}));
|
|
17492
|
+
return y.length && f.push({ ua: "Без категорії", menu: y, id: "noCategory" }), f;
|
|
17493
|
+
}, v = async () => {
|
|
17483
17494
|
const [d, h] = await Promise.all([
|
|
17484
17495
|
fetch("/api/catalog").then((u) => u.json()),
|
|
17485
17496
|
fetch(`/api/catalog-permissions/${t.params.id}`).then((u) => u.json())
|
|
@@ -17491,8 +17502,8 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
17491
17502
|
}, b = async () => {
|
|
17492
17503
|
var u, f;
|
|
17493
17504
|
const h = (((f = (u = r.value) == null ? void 0 : u.getSelected) == null ? void 0 : f.call(u)) || i.value).filter((y) => {
|
|
17494
|
-
var
|
|
17495
|
-
return (
|
|
17505
|
+
var m;
|
|
17506
|
+
return (m = y.actions) == null ? void 0 : m.length;
|
|
17496
17507
|
}).map((y) => ({
|
|
17497
17508
|
service_id: y.id,
|
|
17498
17509
|
actions: y.actions
|
|
@@ -17511,7 +17522,7 @@ const Nx = { class: "flex items-center gap-1.5 text-xs bg-gray-50 rounded p-1.5"
|
|
|
17511
17522
|
je({ title: "Помилка", message: y.message, type: "error" });
|
|
17512
17523
|
});
|
|
17513
17524
|
};
|
|
17514
|
-
return Ue(
|
|
17525
|
+
return Ue(v), (d, h) => (c(), x("div", F_, [
|
|
17515
17526
|
o("div", I_, [
|
|
17516
17527
|
o("div", j_, [
|
|
17517
17528
|
Be(o("input", {
|