@opengis/gis 0.1.77 → 0.1.78
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 +577 -577
- package/dist/index.umd.cjs +4 -4
- package/module/test/cls/doc_status.json +31 -31
- package/module/test/select/core.user_uid.sql +1 -1
- package/package.json +61 -58
- package/server/plugins/mapnik/funcs/map.proto +241 -241
- package/server/routes/gis/registers/funcs/classifiers.js +47 -1
- package/server/routes/gis/registers/funcs/handleRegistryRequest.js +9 -1
package/dist/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { computed as
|
|
1
|
+
import { computed as P, createElementBlock as p, openBlock as c, normalizeStyle as he, createCommentVNode as j, createElementVNode as s, toDisplayString as S, Fragment as z, renderList as q, normalizeClass as K, ref as T, onMounted as ke, resolveDirective as pt, withDirectives as se, watch as fe, createVNode as Z, vModelText as He, vModelCheckbox as Ze, defineComponent as We, reactive as ht, onBeforeUnmount as ft, createBlock as X, renderSlot as Re, Teleport as Qe, Transition as gt, withCtx as G, vShow as Fe, nextTick as Ee, resolveComponent as J, unref as Ne, createTextVNode as ne, createStaticVNode as Ae, withModifiers as vt, resolveDynamicComponent as Be, withKeys as mt, onUnmounted as yt, getCurrentInstance as bt, mergeProps as wt } from "vue";
|
|
2
2
|
import xt from "@opengis/filter";
|
|
3
3
|
const N = (e, t) => {
|
|
4
4
|
const r = e.__vccOpts || e;
|
|
5
|
-
for (const [o,
|
|
6
|
-
r[o] =
|
|
5
|
+
for (const [o, n] of t)
|
|
6
|
+
r[o] = n;
|
|
7
7
|
return r;
|
|
8
8
|
}, _t = {
|
|
9
9
|
key: 0,
|
|
@@ -20,20 +20,20 @@ const N = (e, t) => {
|
|
|
20
20
|
}
|
|
21
21
|
},
|
|
22
22
|
setup(e) {
|
|
23
|
-
const t = e, r =
|
|
24
|
-
var
|
|
25
|
-
return ((
|
|
26
|
-
}), o =
|
|
27
|
-
var
|
|
28
|
-
return ((
|
|
23
|
+
const t = e, r = P(() => {
|
|
24
|
+
var n;
|
|
25
|
+
return ((n = t.config) == null ? void 0 : n.items) || [];
|
|
26
|
+
}), o = P(() => {
|
|
27
|
+
var n;
|
|
28
|
+
return ((n = t.config) == null ? void 0 : n.title) || "";
|
|
29
29
|
});
|
|
30
|
-
return (
|
|
30
|
+
return (n, i) => (c(), p("div", {
|
|
31
31
|
class: "legend-widget flex flex-col bg-white border border-stone-200 shadow-2xs rounded-xl z-10 relative",
|
|
32
32
|
style: he({ width: e.config.width || "100%" })
|
|
33
33
|
}, [
|
|
34
34
|
o.value ? (c(), p("div", _t, [
|
|
35
35
|
s("h2", kt, S(o.value), 1)
|
|
36
|
-
])) :
|
|
36
|
+
])) : j("", !0),
|
|
37
37
|
s("div", Lt, [
|
|
38
38
|
(c(!0), p(z, null, q(r.value, (m) => (c(), p("div", {
|
|
39
39
|
class: "flex items-center",
|
|
@@ -50,13 +50,13 @@ const N = (e, t) => {
|
|
|
50
50
|
}, null, 6),
|
|
51
51
|
s("span", Ct, [
|
|
52
52
|
s("span", null, S(m.label), 1),
|
|
53
|
-
m.count !== void 0 ? (c(), p("span", $t, " (" + S(m.count) + ") ", 1)) :
|
|
53
|
+
m.count !== void 0 ? (c(), p("span", $t, " (" + S(m.count) + ") ", 1)) : j("", !0)
|
|
54
54
|
])
|
|
55
55
|
]))), 128))
|
|
56
56
|
])
|
|
57
57
|
], 4));
|
|
58
58
|
}
|
|
59
|
-
}, Vt = /* @__PURE__ */ N(It, [["__scopeId", "data-v-dd12cf90"]]), St = { class: "flex flex-row gap-x-3 z-10 relative" },
|
|
59
|
+
}, Vt = /* @__PURE__ */ N(It, [["__scopeId", "data-v-dd12cf90"]]), St = { class: "flex flex-row gap-x-3 z-10 relative" }, jt = ["onClick"], Ft = ["src", "alt"], Et = {
|
|
60
60
|
__name: "vs-basemaps-widget",
|
|
61
61
|
props: {
|
|
62
62
|
map: {
|
|
@@ -73,19 +73,19 @@ const N = (e, t) => {
|
|
|
73
73
|
}
|
|
74
74
|
},
|
|
75
75
|
setup(e) {
|
|
76
|
-
const t = e, r = T("voyager"), o =
|
|
76
|
+
const t = e, r = T("voyager"), o = P(() => {
|
|
77
77
|
var g;
|
|
78
78
|
if (!((g = t.config) != null && g.layers)) return [];
|
|
79
|
-
const h = t.config.layers.map((
|
|
80
|
-
id:
|
|
81
|
-
title:
|
|
82
|
-
url:
|
|
83
|
-
service:
|
|
79
|
+
const h = t.config.layers.map((a) => ({
|
|
80
|
+
id: a.id,
|
|
81
|
+
title: a.label || a.title,
|
|
82
|
+
url: a.url,
|
|
83
|
+
service: a.type,
|
|
84
84
|
category: "Базові карти",
|
|
85
|
-
attribution:
|
|
86
|
-
image:
|
|
85
|
+
attribution: a.attribution,
|
|
86
|
+
image: a.image,
|
|
87
87
|
enabled: !0,
|
|
88
|
-
owner:
|
|
88
|
+
owner: a.owner || "Unknown"
|
|
89
89
|
}));
|
|
90
90
|
return h.push({
|
|
91
91
|
id: "__none__",
|
|
@@ -98,7 +98,7 @@ const N = (e, t) => {
|
|
|
98
98
|
owner: ""
|
|
99
99
|
}), h;
|
|
100
100
|
});
|
|
101
|
-
function
|
|
101
|
+
function n(h) {
|
|
102
102
|
return {
|
|
103
103
|
version: 8,
|
|
104
104
|
sources: {
|
|
@@ -118,11 +118,11 @@ const N = (e, t) => {
|
|
|
118
118
|
]
|
|
119
119
|
};
|
|
120
120
|
}
|
|
121
|
-
const
|
|
121
|
+
const i = (h) => {
|
|
122
122
|
if (!t.map) return;
|
|
123
|
-
const g = t.map.getStyle(),
|
|
123
|
+
const g = t.map.getStyle(), a = o.value.map((u) => u.id), d = g.layers.filter((u) => !a.includes(u.id)), v = {};
|
|
124
124
|
for (const u in g.sources)
|
|
125
|
-
|
|
125
|
+
a.includes(u) || (v[u] = g.sources[u]);
|
|
126
126
|
if (h.id === "__none__") {
|
|
127
127
|
const u = {
|
|
128
128
|
version: 8,
|
|
@@ -132,8 +132,8 @@ const N = (e, t) => {
|
|
|
132
132
|
t.map.setStyle(u);
|
|
133
133
|
return;
|
|
134
134
|
}
|
|
135
|
-
const
|
|
136
|
-
t.map.setStyle(
|
|
135
|
+
const l = n(h);
|
|
136
|
+
t.map.setStyle(l), t.map.once("styledata", () => {
|
|
137
137
|
for (const [u, f] of Object.entries(v))
|
|
138
138
|
t.map.getSource(u) || t.map.addSource(u, f);
|
|
139
139
|
for (const u of d)
|
|
@@ -141,14 +141,14 @@ const N = (e, t) => {
|
|
|
141
141
|
});
|
|
142
142
|
}, m = (h) => {
|
|
143
143
|
r.value = h;
|
|
144
|
-
const g = o.value.find((
|
|
145
|
-
g && t.map &&
|
|
144
|
+
const g = o.value.find((a) => a.id === h);
|
|
145
|
+
g && t.map && i(g);
|
|
146
146
|
};
|
|
147
147
|
return ke(() => {
|
|
148
148
|
var h;
|
|
149
149
|
(h = t.config) != null && h.default && (r.value = t.config.default), m(r.value);
|
|
150
150
|
}), (h, g) => {
|
|
151
|
-
const
|
|
151
|
+
const a = pt("tooltip");
|
|
152
152
|
return c(), p("div", St, [
|
|
153
153
|
(c(!0), p(z, null, q(o.value, (d) => se((c(), p("div", {
|
|
154
154
|
trigger: "hover",
|
|
@@ -167,10 +167,10 @@ const N = (e, t) => {
|
|
|
167
167
|
src: d.image,
|
|
168
168
|
alt: d.title,
|
|
169
169
|
class: K(["object-cover rounded-lg", d.id === "__none__" ? "w-10 h-10" : "w-12 h-12"])
|
|
170
|
-
}, null, 10,
|
|
171
|
-
], 10,
|
|
170
|
+
}, null, 10, Ft)) : j("", !0)
|
|
171
|
+
], 10, jt)
|
|
172
172
|
])), [
|
|
173
|
-
[
|
|
173
|
+
[a, d.title]
|
|
174
174
|
])), 128))
|
|
175
175
|
]);
|
|
176
176
|
};
|
|
@@ -185,7 +185,7 @@ function Ie(e) {
|
|
|
185
185
|
]);
|
|
186
186
|
return t.push(e.color || "#ccc"), ["case", ...t.flat()];
|
|
187
187
|
}
|
|
188
|
-
function
|
|
188
|
+
function Pt(e) {
|
|
189
189
|
if (!e.attrType || e.attrType !== "icon-by-attribute" || !e.attribute || !e.rules)
|
|
190
190
|
return e.default_icon || null;
|
|
191
191
|
const t = e.rules.map((r) => [
|
|
@@ -361,16 +361,16 @@ function Ke(e) {
|
|
|
361
361
|
var r, o;
|
|
362
362
|
if (!e) return null;
|
|
363
363
|
if (e.attrType === "icon-by-attribute" && e.iconZoom) {
|
|
364
|
-
const
|
|
364
|
+
const n = Pt(e), i = Array.isArray(n) && n[0] === "case" ? n : [
|
|
365
365
|
"case",
|
|
366
366
|
["==", ["get", e.attribute], ((o = (r = e.rules) == null ? void 0 : r[0]) == null ? void 0 : o.value) || ""],
|
|
367
|
-
|
|
368
|
-
|
|
367
|
+
n,
|
|
368
|
+
n
|
|
369
369
|
], m = At(e, void 0, +e.iconZoom), h = {
|
|
370
370
|
type: "symbol",
|
|
371
371
|
minzoom: +e.iconZoom,
|
|
372
372
|
layout: {
|
|
373
|
-
"icon-image":
|
|
373
|
+
"icon-image": i,
|
|
374
374
|
"icon-size": (e == null ? void 0 : e.icon_size) || 1,
|
|
375
375
|
"icon-allow-overlap": !0,
|
|
376
376
|
"icon-anchor": (e == null ? void 0 : e.icon_anchor) || "bottom"
|
|
@@ -392,31 +392,31 @@ function Ot(e) {
|
|
|
392
392
|
id: t,
|
|
393
393
|
sourceLayer: r,
|
|
394
394
|
url: o,
|
|
395
|
-
bounds:
|
|
396
|
-
title:
|
|
395
|
+
bounds: n,
|
|
396
|
+
title: i,
|
|
397
397
|
style: m,
|
|
398
398
|
service: h,
|
|
399
399
|
service_type: g,
|
|
400
|
-
source_type:
|
|
400
|
+
source_type: a,
|
|
401
401
|
data: d
|
|
402
|
-
} = e, v = Bt(o),
|
|
403
|
-
switch (
|
|
402
|
+
} = e, v = Bt(o), l = g || h || a || "vector";
|
|
403
|
+
switch (l) {
|
|
404
404
|
case "vtile":
|
|
405
405
|
case "vector":
|
|
406
406
|
return Ut(
|
|
407
407
|
t,
|
|
408
408
|
r,
|
|
409
409
|
v,
|
|
410
|
-
i,
|
|
411
410
|
n,
|
|
411
|
+
i,
|
|
412
412
|
m
|
|
413
413
|
);
|
|
414
414
|
case "raster":
|
|
415
|
-
return Rt(t, v,
|
|
415
|
+
return Rt(t, v, n, i, m);
|
|
416
416
|
case "geojson":
|
|
417
|
-
return Ht(t, d || v,
|
|
417
|
+
return Ht(t, d || v, n, i, m);
|
|
418
418
|
default:
|
|
419
|
-
throw new Error(`Unsupported layer service type: ${
|
|
419
|
+
throw new Error(`Unsupported layer service type: ${l}`);
|
|
420
420
|
}
|
|
421
421
|
}
|
|
422
422
|
function Dt(e) {
|
|
@@ -430,32 +430,32 @@ function Dt(e) {
|
|
|
430
430
|
return { type: "point", color: "#3388ff", radius: 6, opacity: 1 };
|
|
431
431
|
}
|
|
432
432
|
}
|
|
433
|
-
function Ut(e, t, r, o,
|
|
433
|
+
function Ut(e, t, r, o, n, i) {
|
|
434
434
|
const m = t || (r.match(/\/vtile\/([^/]+)/) || [])[1] || e, h = {
|
|
435
435
|
type: "vector",
|
|
436
436
|
tiles: [r],
|
|
437
437
|
...o && { bounds: o }
|
|
438
|
-
}, d = Ke(
|
|
438
|
+
}, d = Ke(i || {}).map((v, l) => ({
|
|
439
439
|
...v,
|
|
440
|
-
id: `${e}-${
|
|
440
|
+
id: `${e}-${l}`,
|
|
441
441
|
"source-layer": m,
|
|
442
442
|
source: e
|
|
443
443
|
}));
|
|
444
444
|
return {
|
|
445
445
|
id: e,
|
|
446
|
-
title:
|
|
446
|
+
title: n,
|
|
447
447
|
source: h,
|
|
448
448
|
layers: d,
|
|
449
449
|
visible: !0
|
|
450
450
|
};
|
|
451
451
|
}
|
|
452
|
-
function Rt(e, t, r, o,
|
|
453
|
-
const
|
|
452
|
+
function Rt(e, t, r, o, n) {
|
|
453
|
+
const i = {
|
|
454
454
|
type: "raster",
|
|
455
455
|
tiles: [t],
|
|
456
456
|
tileSize: 256,
|
|
457
457
|
...r && { bounds: r }
|
|
458
|
-
}, m =
|
|
458
|
+
}, m = n || {}, h = {
|
|
459
459
|
id: e,
|
|
460
460
|
type: "raster",
|
|
461
461
|
source: e,
|
|
@@ -467,14 +467,14 @@ function Rt(e, t, r, o, i) {
|
|
|
467
467
|
return {
|
|
468
468
|
id: e,
|
|
469
469
|
title: o,
|
|
470
|
-
source:
|
|
470
|
+
source: i,
|
|
471
471
|
layers: [h],
|
|
472
472
|
visible: !0
|
|
473
473
|
};
|
|
474
474
|
}
|
|
475
|
-
function Ht(e, t, r, o,
|
|
475
|
+
function Ht(e, t, r, o, n) {
|
|
476
476
|
var d;
|
|
477
|
-
const
|
|
477
|
+
const i = {
|
|
478
478
|
type: "geojson",
|
|
479
479
|
data: t,
|
|
480
480
|
...r && { bounds: r }
|
|
@@ -484,16 +484,16 @@ function Ht(e, t, r, o, i) {
|
|
|
484
484
|
const v = (d = t.features[0].geometry) == null ? void 0 : d.type;
|
|
485
485
|
v === "Polygon" || v === "MultiPolygon" ? m = "polygon" : v === "LineString" || v === "MultiLineString" ? m = "line" : m = "point";
|
|
486
486
|
}
|
|
487
|
-
const h =
|
|
487
|
+
const h = n || Dt(m), a = Ke(h).map((v, l) => ({
|
|
488
488
|
...v,
|
|
489
|
-
id: `${e}-${
|
|
489
|
+
id: `${e}-${l}`,
|
|
490
490
|
source: e
|
|
491
491
|
}));
|
|
492
492
|
return {
|
|
493
493
|
id: e,
|
|
494
494
|
title: o,
|
|
495
|
-
source:
|
|
496
|
-
layers:
|
|
495
|
+
source: i,
|
|
496
|
+
layers: a,
|
|
497
497
|
visible: !0
|
|
498
498
|
};
|
|
499
499
|
}
|
|
@@ -515,39 +515,39 @@ function Zt(e) {
|
|
|
515
515
|
return e && e["icon-image"] && r(e["icon-image"]), Array.from(t);
|
|
516
516
|
}
|
|
517
517
|
async function Xe(e, t) {
|
|
518
|
-
const r = t.map(async ({ name: o, url:
|
|
519
|
-
const
|
|
520
|
-
return { name: o, data:
|
|
518
|
+
const r = t.map(async ({ name: o, url: n }) => {
|
|
519
|
+
const i = await e.loadImage(n);
|
|
520
|
+
return { name: o, data: i.data };
|
|
521
521
|
});
|
|
522
522
|
try {
|
|
523
523
|
const o = await Promise.all(r);
|
|
524
|
-
for (const { name:
|
|
525
|
-
e.hasImage(
|
|
524
|
+
for (const { name: n, data: i } of o)
|
|
525
|
+
e.hasImage(n) || e.addImage(n, i);
|
|
526
526
|
} catch (o) {
|
|
527
527
|
console.error("Failed to load icons:", o);
|
|
528
528
|
}
|
|
529
529
|
}
|
|
530
530
|
function Wt(e, t, r = "/icons/") {
|
|
531
|
-
const
|
|
532
|
-
return Xe(e,
|
|
531
|
+
const n = Zt(t).map((i) => ({ name: i, url: r + i }));
|
|
532
|
+
return Xe(e, n);
|
|
533
533
|
}
|
|
534
534
|
async function _e(e, t) {
|
|
535
535
|
const r = Ot(t), o = Nt(t.style);
|
|
536
536
|
o.length > 0 && await Xe(e, o), t.layout && t.layout["icon-image"] && await Wt(e, t.layout), e.getSource(r.id) || e.addSource(r.id, r.source);
|
|
537
|
-
for (const
|
|
538
|
-
t.visible !== void 0 && (
|
|
539
|
-
...
|
|
537
|
+
for (const n of r.layers)
|
|
538
|
+
t.visible !== void 0 && (n.layout = {
|
|
539
|
+
...n.layout,
|
|
540
540
|
visibility: t.visible ? "visible" : "none"
|
|
541
|
-
}), e.getLayer(
|
|
542
|
-
|
|
541
|
+
}), e.getLayer(n.id) ? e.setLayoutProperty(
|
|
542
|
+
n.id,
|
|
543
543
|
"visibility",
|
|
544
544
|
t.visible ? "visible" : "none"
|
|
545
|
-
) : await e.addLayer(
|
|
545
|
+
) : await e.addLayer(n);
|
|
546
546
|
return r;
|
|
547
547
|
}
|
|
548
548
|
function $e(e, t) {
|
|
549
|
-
e.getStyle().layers.filter((
|
|
550
|
-
e.removeLayer(
|
|
549
|
+
e.getStyle().layers.filter((n) => n.source === t).forEach((n) => {
|
|
550
|
+
e.removeLayer(n.id);
|
|
551
551
|
}), e.getSource(t) && e.removeSource(t);
|
|
552
552
|
}
|
|
553
553
|
const qt = {}, Gt = {
|
|
@@ -579,7 +579,7 @@ const et = /* @__PURE__ */ N(qt, [["render", Jt]]), Qt = { class: "w-full flex f
|
|
|
579
579
|
}, Xt = {
|
|
580
580
|
key: 1,
|
|
581
581
|
class: "mb-4"
|
|
582
|
-
}, eo = { class: "" }, to = { class: "space-y-2" }, oo = { class: "flex items-center gap-[10px] text-gray-500" }, ro = { class: "dataset-checkbox-container flex" }, so = ["onUpdate:modelValue", "onChange"],
|
|
582
|
+
}, eo = { class: "" }, to = { class: "space-y-2" }, oo = { class: "flex items-center gap-[10px] text-gray-500" }, ro = { class: "dataset-checkbox-container flex" }, so = ["onUpdate:modelValue", "onChange"], io = { class: "text-sm" }, no = ["onClick"], lo = ["innerHTML"], ao = {
|
|
583
583
|
key: 0,
|
|
584
584
|
class: "text-sm text-gray-500 text-center py-2"
|
|
585
585
|
}, co = {
|
|
@@ -612,7 +612,7 @@ const et = /* @__PURE__ */ N(qt, [["render", Jt]]), Qt = { class: "w-full flex f
|
|
|
612
612
|
},
|
|
613
613
|
emits: ["set-filter-layer", "update:enabledLayerIds"],
|
|
614
614
|
setup(e, { emit: t }) {
|
|
615
|
-
const r = e, o = t,
|
|
615
|
+
const r = e, o = t, n = T(""), i = T([]);
|
|
616
616
|
function m() {
|
|
617
617
|
const f = new URLSearchParams(window.location.search).get("layers");
|
|
618
618
|
return f ? f.split(",") : [];
|
|
@@ -625,31 +625,31 @@ const et = /* @__PURE__ */ N(qt, [["render", Jt]]), Qt = { class: "w-full flex f
|
|
|
625
625
|
}
|
|
626
626
|
ke(() => {
|
|
627
627
|
let u = [];
|
|
628
|
-
r.history && (u = m()), u.length > 0 ?
|
|
628
|
+
r.history && (u = m()), u.length > 0 ? i.value = r.config.layers.map((f) => ({
|
|
629
629
|
...f,
|
|
630
630
|
visible: u.includes(String(f.id))
|
|
631
|
-
})) :
|
|
631
|
+
})) : i.value = r.config.layers.map((f) => ({
|
|
632
632
|
...f,
|
|
633
633
|
visible: f.visible ?? !1
|
|
634
|
-
})),
|
|
634
|
+
})), i.value.forEach((f) => {
|
|
635
635
|
f.visible && _e(r.map, f);
|
|
636
636
|
}), o("update:enabledLayerIds", d());
|
|
637
637
|
});
|
|
638
|
-
const g =
|
|
639
|
-
if (!
|
|
640
|
-
const u =
|
|
641
|
-
return
|
|
642
|
-
}),
|
|
643
|
-
u.visible ? _e(r.map, u) : ($e(r.map, u.id), o("set-filter-layer", null)), r.map.getStyle().layers.filter((
|
|
638
|
+
const g = P(() => {
|
|
639
|
+
if (!n.value) return i.value;
|
|
640
|
+
const u = n.value.toLowerCase();
|
|
641
|
+
return i.value.filter((f) => (f.title || f.name || f.label || "").toLowerCase().includes(u));
|
|
642
|
+
}), a = P(() => i.value.every((u) => u.visible)), d = () => i.value.filter((u) => u.visible).map((u) => u.id), v = (u) => {
|
|
643
|
+
u.visible ? _e(r.map, u) : ($e(r.map, u.id), o("set-filter-layer", null)), r.map.getStyle().layers.filter((F) => F.source === u.id).forEach((F) => {
|
|
644
644
|
r.map.setLayoutProperty(
|
|
645
|
-
|
|
645
|
+
F.id,
|
|
646
646
|
"visibility",
|
|
647
647
|
u.visible ? "visible" : "none"
|
|
648
648
|
);
|
|
649
649
|
}), o("update:enabledLayerIds", d());
|
|
650
|
-
},
|
|
651
|
-
const u = !
|
|
652
|
-
|
|
650
|
+
}, l = () => {
|
|
651
|
+
const u = !a.value;
|
|
652
|
+
i.value.forEach((f) => {
|
|
653
653
|
f.visible = u, u ? _e(r.map, f) : $e(r.map, f.id);
|
|
654
654
|
}), u || o("set-filter-layer", null), o("update:enabledLayerIds", d());
|
|
655
655
|
};
|
|
@@ -667,20 +667,20 @@ const et = /* @__PURE__ */ N(qt, [["render", Jt]]), Qt = { class: "w-full flex f
|
|
|
667
667
|
e.config.search ? (c(), p("div", Kt, [
|
|
668
668
|
se(s("input", {
|
|
669
669
|
type: "text",
|
|
670
|
-
"onUpdate:modelValue": f[0] || (f[0] = (L) =>
|
|
670
|
+
"onUpdate:modelValue": f[0] || (f[0] = (L) => n.value = L),
|
|
671
671
|
placeholder: "Введіть назву шару...",
|
|
672
672
|
class: "py-[7px] ps-8 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 disabled:opacity-50 disabled:pointer-events-none"
|
|
673
673
|
}, null, 512), [
|
|
674
|
-
[He,
|
|
674
|
+
[He, n.value]
|
|
675
675
|
]),
|
|
676
676
|
Z(et)
|
|
677
|
-
])) :
|
|
677
|
+
])) : j("", !0),
|
|
678
678
|
e.config.allow_toggle_all ? (c(), p("div", Xt, [
|
|
679
679
|
s("button", {
|
|
680
|
-
onClick:
|
|
680
|
+
onClick: l,
|
|
681
681
|
class: "w-full py-[7px] bg-blue-500 text-white rounded-lg hover:bg-blue-600 transition-colors"
|
|
682
|
-
}, S(
|
|
683
|
-
])) :
|
|
682
|
+
}, S(a.value ? "Вимкнути всі" : "Увімкнути всі"), 1)
|
|
683
|
+
])) : j("", !0),
|
|
684
684
|
s("div", eo, [
|
|
685
685
|
s("ul", to, [
|
|
686
686
|
(c(!0), p(z, null, q(g.value, (L) => (c(), p("li", {
|
|
@@ -692,28 +692,28 @@ const et = /* @__PURE__ */ N(qt, [["render", Jt]]), Qt = { class: "w-full flex f
|
|
|
692
692
|
se(s("input", {
|
|
693
693
|
class: "dataset-checkbox",
|
|
694
694
|
type: "checkbox",
|
|
695
|
-
"onUpdate:modelValue": (
|
|
695
|
+
"onUpdate:modelValue": (F) => L.visible = F,
|
|
696
696
|
onChange: () => v(L)
|
|
697
697
|
}, null, 40, so), [
|
|
698
698
|
[Ze, L.visible]
|
|
699
699
|
])
|
|
700
700
|
]),
|
|
701
|
-
s("span",
|
|
701
|
+
s("span", io, S(L.title || L.name || L.label), 1)
|
|
702
702
|
]),
|
|
703
|
-
L.actions && L.visible ? (c(!0), p(z, { key: 0 }, q(L.actions, (
|
|
704
|
-
key:
|
|
703
|
+
L.actions && L.visible ? (c(!0), p(z, { key: 0 }, q(L.actions, (F) => (c(), p("div", {
|
|
704
|
+
key: F.id
|
|
705
705
|
}, [
|
|
706
706
|
s("button", {
|
|
707
707
|
class: "text-sm text-gray-500",
|
|
708
|
-
onClick: (B) => u.$emit("show-widget",
|
|
708
|
+
onClick: (B) => u.$emit("show-widget", F.widget)
|
|
709
709
|
}, [
|
|
710
710
|
s("div", {
|
|
711
|
-
innerHTML:
|
|
712
|
-
}, null, 8,
|
|
713
|
-
], 8,
|
|
714
|
-
]))), 128)) :
|
|
711
|
+
innerHTML: F.icon
|
|
712
|
+
}, null, 8, lo)
|
|
713
|
+
], 8, no)
|
|
714
|
+
]))), 128)) : j("", !0)
|
|
715
715
|
]))), 128)),
|
|
716
|
-
|
|
716
|
+
n.value && g.value.length === 0 ? (c(), p("li", ao, " Шарів не знайдено ")) : j("", !0)
|
|
717
717
|
])
|
|
718
718
|
])
|
|
719
719
|
])
|
|
@@ -761,48 +761,48 @@ We({
|
|
|
761
761
|
}
|
|
762
762
|
}
|
|
763
763
|
});
|
|
764
|
-
const
|
|
765
|
-
var L,
|
|
764
|
+
const je = async (e, t, r, o = 10) => {
|
|
765
|
+
var L, F, B, k;
|
|
766
766
|
if (!t || !r) return;
|
|
767
|
-
await
|
|
768
|
-
const
|
|
769
|
-
if (!
|
|
770
|
-
const m = await parseInt((L = t == null ? void 0 : t.getBoundingClientRect()) == null ? void 0 : L.height), h = await parseInt((
|
|
771
|
-
let
|
|
772
|
-
const f =
|
|
767
|
+
await Ee();
|
|
768
|
+
const n = await (r == null ? void 0 : r.getBoundingClientRect()), i = await (t == null ? void 0 : t.getBoundingClientRect());
|
|
769
|
+
if (!i || !n) return;
|
|
770
|
+
const m = await parseInt((L = t == null ? void 0 : t.getBoundingClientRect()) == null ? void 0 : L.height), h = await parseInt((F = t == null ? void 0 : t.getBoundingClientRect()) == null ? void 0 : F.width), g = await parseInt((B = r == null ? void 0 : r.getBoundingClientRect()) == null ? void 0 : B.height), a = await parseInt((k = r == null ? void 0 : r.getBoundingClientRect()) == null ? void 0 : k.width), d = await window.innerHeight, v = await window.innerWidth;
|
|
771
|
+
let l = 0, u = 0;
|
|
772
|
+
const f = i.bottom + o + g;
|
|
773
773
|
switch (e) {
|
|
774
774
|
case "top":
|
|
775
|
-
|
|
775
|
+
i.top - n.height - o < 0 ? l = i.top - n.height + o + g + m : l = i.top - n.height - o, v > a + i.right + 30 ? u = i.left - n.width / 2 + i.width / 2 : u = v - 30 - a;
|
|
776
776
|
break;
|
|
777
777
|
case "bottom":
|
|
778
|
-
d > f ?
|
|
778
|
+
d > f ? l = i.bottom + o : l = i.bottom - o - g - m, u = i.left - n.width / 2 + i.width / 2;
|
|
779
779
|
break;
|
|
780
780
|
case "left":
|
|
781
|
-
|
|
781
|
+
l = i.top - n.height / 2 + i.height / 2, i.left - n.width - o > 0 ? u = i.left - n.width - o : u = 10;
|
|
782
782
|
break;
|
|
783
783
|
case "right":
|
|
784
|
-
|
|
784
|
+
l = i.top - n.height / 2 + i.height / 2, v - h > a ? u = i.right + o : u = v - 30 - a;
|
|
785
785
|
break;
|
|
786
786
|
case "top-right":
|
|
787
|
-
|
|
787
|
+
i.top - n.height - o < 0 ? l = i.top - n.height + o + g + m : l = i.top - n.height - o, v - h > a ? u = i.right + o : u = v - 30 - a;
|
|
788
788
|
break;
|
|
789
789
|
case "top-left":
|
|
790
|
-
|
|
790
|
+
i.top - n.height - o < 0 ? l = i.top - n.height + o + g + m : l = i.top - n.height - o, i.left - n.width - o > 0 ? u = i.left - n.width - o : u = 10;
|
|
791
791
|
break;
|
|
792
792
|
case "top-start":
|
|
793
|
-
|
|
793
|
+
i.top - n.height - o < 0 ? l = i.top - n.height + o + g + m : l = i.top - n.height - o, i.left > 0 ? u = i.left : u = 10;
|
|
794
794
|
break;
|
|
795
795
|
case "bottom-right":
|
|
796
|
-
d > f ?
|
|
796
|
+
d > f ? l = i.bottom + o : l = i.bottom - o - g - m, v - h > a ? u = i.left : u = v - 30 - a;
|
|
797
797
|
break;
|
|
798
798
|
case "bottom-left":
|
|
799
|
-
d > f ?
|
|
799
|
+
d > f ? l = i.bottom + o : l = i.bottom - o - g - m, i.left > 0 ? u = i.right - a : u = 10;
|
|
800
800
|
break;
|
|
801
801
|
case "bottom-start":
|
|
802
|
-
d > f ?
|
|
802
|
+
d > f ? l = i.bottom + o : l = i.bottom - o - g - m, i.left > 0 ? u = i.left : u = 10;
|
|
803
803
|
break;
|
|
804
804
|
}
|
|
805
|
-
|
|
805
|
+
l + g > d ? l = d - g - o : l < 0 && (l = o), u + a > v ? u = v - a - o : u < 0 && (u = o), r instanceof HTMLElement && (r.style.top = `${l}px`, r.style.left = `${u}px`, r.style.position = "fixed");
|
|
806
806
|
}, uo = { class: "text-center" }, po = { class: "py-2 px-4 w-full text-sm text-stone-800 bg-white shadow-[0_10px_40px_10px_rgba(0,0,0,0.08)] rounded-lg focus:outline-none focus:bg-stone-100 dark:bg-neutral-900 dark:text-neutral-200 dark:focus:bg-neutral-800 after:h-4 after:absolute after:-bottom-4 after:start-0 after:w-full before:h-4 before:absolute before:-top-4 before:start-0 before:w-full" }, Ve = /* @__PURE__ */ We({
|
|
807
807
|
__name: "vs-popover",
|
|
808
808
|
props: {
|
|
@@ -816,42 +816,42 @@ const Fe = async (e, t, r, o = 10) => {
|
|
|
816
816
|
},
|
|
817
817
|
emits: ["isvisible"],
|
|
818
818
|
setup(e, { expose: t, emit: r }) {
|
|
819
|
-
const o = e,
|
|
820
|
-
var A,
|
|
819
|
+
const o = e, n = r, i = T(!1), m = T([]), h = T(null), g = T(null), a = T(null), d = (_) => {
|
|
820
|
+
var A, le;
|
|
821
821
|
if (!_) {
|
|
822
|
-
|
|
822
|
+
i.value = !1;
|
|
823
823
|
return;
|
|
824
824
|
}
|
|
825
|
-
(A = g.value) != null && A.contains(_.target) || (
|
|
825
|
+
(A = g.value) != null && A.contains(_.target) || (le = a.value) != null && le.contains(_.target) || (i.value = !1);
|
|
826
826
|
}, v = (_) => {
|
|
827
|
-
|
|
828
|
-
},
|
|
829
|
-
|
|
827
|
+
i.value && a.value && !a.value.contains(_.target) && (i.value = !1);
|
|
828
|
+
}, l = () => {
|
|
829
|
+
i.value = !1;
|
|
830
830
|
}, u = () => {
|
|
831
|
-
|
|
831
|
+
i.value && (i.value = !1);
|
|
832
832
|
}, f = () => {
|
|
833
833
|
let _ = h.value;
|
|
834
834
|
for (; _ && _ !== document.body; )
|
|
835
|
-
(_.scrollHeight > _.clientHeight || _.scrollWidth > _.clientWidth) && (_.addEventListener("scroll",
|
|
836
|
-
document.body && (document.body.addEventListener("scroll",
|
|
835
|
+
(_.scrollHeight > _.clientHeight || _.scrollWidth > _.clientWidth) && (_.addEventListener("scroll", l), m.value.push(_)), _ = _.parentElement;
|
|
836
|
+
document.body && (document.body.addEventListener("scroll", l), m.value.push(document.body));
|
|
837
837
|
}, L = () => {
|
|
838
838
|
m.value.forEach((_) => {
|
|
839
|
-
_.removeEventListener("scroll",
|
|
839
|
+
_.removeEventListener("scroll", l);
|
|
840
840
|
}), m.value = [];
|
|
841
841
|
};
|
|
842
|
-
fe(
|
|
843
|
-
_ ? (f(), window.addEventListener("resize", () =>
|
|
842
|
+
fe(i, (_) => {
|
|
843
|
+
_ ? (f(), window.addEventListener("resize", () => je(o.placement, g.value, a.value)), je(o.placement, g.value, a.value)) : window.removeEventListener("resize", () => je(o.placement, g.value, a.value)), n("isvisible", _);
|
|
844
844
|
}), ke(() => {
|
|
845
845
|
window.addEventListener("click", d), window.addEventListener("popstate", u), window.addEventListener("scroll", v, !0), f();
|
|
846
846
|
}), ft(() => {
|
|
847
847
|
window.removeEventListener("click", d), window.removeEventListener("popstate", u), L();
|
|
848
848
|
});
|
|
849
|
-
const
|
|
850
|
-
|
|
849
|
+
const F = () => {
|
|
850
|
+
i.value = !0, je(o.placement, g.value, a.value);
|
|
851
851
|
}, B = () => {
|
|
852
|
-
|
|
852
|
+
i.value = !1;
|
|
853
853
|
}, k = async () => {
|
|
854
|
-
await
|
|
854
|
+
await je(o.placement, g.value, a.value), i.value = !i.value;
|
|
855
855
|
};
|
|
856
856
|
return t({
|
|
857
857
|
togglePopover: k
|
|
@@ -871,26 +871,26 @@ const Fe = async (e, t, r, o = 10) => {
|
|
|
871
871
|
Re(_.$slots, "reference", {}, () => [
|
|
872
872
|
A[0] || (A[0] = s("button", null, "Click me!", -1))
|
|
873
873
|
])
|
|
874
|
-
], 2)) :
|
|
874
|
+
], 2)) : j("", !0),
|
|
875
875
|
_.trigger === "hover" ? (c(), p("div", {
|
|
876
876
|
key: 1,
|
|
877
877
|
ref_key: "popoverRef",
|
|
878
878
|
ref: g,
|
|
879
|
-
onMouseover:
|
|
879
|
+
onMouseover: F,
|
|
880
880
|
onMouseleave: B,
|
|
881
881
|
class: K({ "pointer-events-none": _.disabled })
|
|
882
882
|
}, [
|
|
883
883
|
Re(_.$slots, "reference", {}, () => [
|
|
884
884
|
A[1] || (A[1] = s("button", null, "Click me!", -1))
|
|
885
885
|
])
|
|
886
|
-
], 34)) :
|
|
886
|
+
], 34)) : j("", !0),
|
|
887
887
|
(c(), X(Qe, { to: _.teleport }, [
|
|
888
888
|
Z(gt, { name: "fade" }, {
|
|
889
889
|
default: G(() => [
|
|
890
890
|
se(s("div", {
|
|
891
891
|
class: K(["vsTailwind vs-popover__content", _.placement]),
|
|
892
892
|
ref_key: "contentPop",
|
|
893
|
-
ref:
|
|
893
|
+
ref: a,
|
|
894
894
|
style: he({
|
|
895
895
|
width: _.width ? _.width + "px" : "fit-content",
|
|
896
896
|
zIndex: 10002
|
|
@@ -902,7 +902,7 @@ const Fe = async (e, t, r, o = 10) => {
|
|
|
902
902
|
])
|
|
903
903
|
])
|
|
904
904
|
], 6), [
|
|
905
|
-
[
|
|
905
|
+
[Fe, i.value]
|
|
906
906
|
])
|
|
907
907
|
]),
|
|
908
908
|
_: 3
|
|
@@ -925,23 +925,23 @@ const ho = { class: "legend-widget flex flex-col bg-white border border-stone-20
|
|
|
925
925
|
}
|
|
926
926
|
},
|
|
927
927
|
setup(e) {
|
|
928
|
-
const t = e, r =
|
|
929
|
-
var
|
|
930
|
-
return ((
|
|
931
|
-
}), o =
|
|
932
|
-
var
|
|
933
|
-
return ((
|
|
934
|
-
}),
|
|
935
|
-
var
|
|
936
|
-
return ((
|
|
928
|
+
const t = e, r = P(() => {
|
|
929
|
+
var i;
|
|
930
|
+
return ((i = t.config) == null ? void 0 : i.title) || "";
|
|
931
|
+
}), o = P(() => {
|
|
932
|
+
var i;
|
|
933
|
+
return ((i = t.config) == null ? void 0 : i.content) || "";
|
|
934
|
+
}), n = P(() => {
|
|
935
|
+
var i;
|
|
936
|
+
return ((i = t.config) == null ? void 0 : i.goTo) || [];
|
|
937
937
|
});
|
|
938
|
-
return (
|
|
939
|
-
var g,
|
|
938
|
+
return (i, m) => {
|
|
939
|
+
var g, a;
|
|
940
940
|
const h = J("router-link");
|
|
941
941
|
return c(), p("div", ho, [
|
|
942
|
-
r.value || (g =
|
|
942
|
+
r.value || (g = n.value) != null && g.length ? (c(), p("div", fo, [
|
|
943
943
|
s("h2", go, S(r.value), 1),
|
|
944
|
-
(
|
|
944
|
+
(a = n.value) != null && a.length ? (c(), X(Ne(Ve), {
|
|
945
945
|
key: 0,
|
|
946
946
|
placement: "bottom"
|
|
947
947
|
}, {
|
|
@@ -981,14 +981,14 @@ const ho = { class: "legend-widget flex flex-col bg-white border border-stone-20
|
|
|
981
981
|
], -1)
|
|
982
982
|
])]),
|
|
983
983
|
default: G(() => [
|
|
984
|
-
m[1] || (m[1] =
|
|
984
|
+
m[1] || (m[1] = ne(" Перейти на карту ", -1))
|
|
985
985
|
]),
|
|
986
986
|
_: 1
|
|
987
987
|
})
|
|
988
988
|
]),
|
|
989
989
|
default: G(() => [
|
|
990
990
|
s("div", vo, [
|
|
991
|
-
(c(!0), p(z, null, q(
|
|
991
|
+
(c(!0), p(z, null, q(n.value, (d) => (c(), p("div", {
|
|
992
992
|
key: d.label
|
|
993
993
|
}, [
|
|
994
994
|
d.url ? (c(), X(h, {
|
|
@@ -997,16 +997,16 @@ const ho = { class: "legend-widget flex flex-col bg-white border border-stone-20
|
|
|
997
997
|
class: "text-sm text-gray-800 dark:text-neutral-200 hover:bg-gray-100 hover:text-blue-600 transition-colors rounded px-2 py-1 block"
|
|
998
998
|
}, {
|
|
999
999
|
default: G(() => [
|
|
1000
|
-
|
|
1000
|
+
ne(S(d.label), 1)
|
|
1001
1001
|
]),
|
|
1002
1002
|
_: 2
|
|
1003
|
-
}, 1032, ["to"])) :
|
|
1003
|
+
}, 1032, ["to"])) : j("", !0)
|
|
1004
1004
|
]))), 128))
|
|
1005
1005
|
])
|
|
1006
1006
|
]),
|
|
1007
1007
|
_: 1
|
|
1008
|
-
})) :
|
|
1009
|
-
])) :
|
|
1008
|
+
})) : j("", !0)
|
|
1009
|
+
])) : j("", !0),
|
|
1010
1010
|
s("div", mo, [
|
|
1011
1011
|
s("div", { innerHTML: o.value }, null, 8, yo)
|
|
1012
1012
|
])
|
|
@@ -1022,10 +1022,10 @@ const ho = { class: "legend-widget flex flex-col bg-white border border-stone-20
|
|
|
1022
1022
|
}, Co = { class: "flex items-center mx-[8px]" }, $o = { class: "min-h-[34px] max-h-[34px] overflow-hidden min-w-[34px] flex justify-center items-center bg-stone-100 text-stone-800 py-2 px-3 text-sm rounded-lg" }, Io = { class: "min-h-[34px] flex justify-center items-center text-stone-500 py-2 px-1.5 text-sm" }, Vo = { class: "flex flex-col justify-between pb-5 px-5 h-full overflow-y-auto flex-1 [&::-webkit-scrollbar]:h-1.5 [&::-webkit-scrollbar]:w-1.5 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-thumb]:bg-gray-300 [&::-webkit-scrollbar-track]:bg-transparent" }, So = {
|
|
1023
1023
|
key: 0,
|
|
1024
1024
|
class: "text-center"
|
|
1025
|
-
},
|
|
1025
|
+
}, jo = {
|
|
1026
1026
|
key: 1,
|
|
1027
1027
|
class: "text-red-500"
|
|
1028
|
-
},
|
|
1028
|
+
}, Fo = { key: 2 }, Eo = ["innerHTML"], Po = {
|
|
1029
1029
|
key: 1,
|
|
1030
1030
|
class: "flow-root"
|
|
1031
1031
|
}, Mo = { class: "-my-3 divide-y divide-gray-100 text-sm" }, To = { class: "font-medium text-gray-900" }, zo = { class: "text-gray-700 sm:col-span-2" }, Ao = {
|
|
@@ -1048,60 +1048,60 @@ const ho = { class: "legend-widget flex flex-col bg-white border border-stone-20
|
|
|
1048
1048
|
},
|
|
1049
1049
|
emits: ["close", "content-resize"],
|
|
1050
1050
|
setup(e, { emit: t }) {
|
|
1051
|
-
const r = e, o = t,
|
|
1051
|
+
const r = e, o = t, n = P(() => {
|
|
1052
1052
|
var B;
|
|
1053
1053
|
return ((B = r.config) == null ? void 0 : B.title) || "";
|
|
1054
|
-
}),
|
|
1054
|
+
}), i = P(
|
|
1055
1055
|
() => !!(typeof window.app == "object" && window.app && window.app.config)
|
|
1056
|
-
), m = T([]), h = T(!1), g = T(null),
|
|
1056
|
+
), m = T([]), h = T(!1), g = T(null), a = T(0), d = P(() => a.value + 1), v = P(() => {
|
|
1057
1057
|
var B;
|
|
1058
1058
|
return ((B = r.info) == null ? void 0 : B.length) || 0;
|
|
1059
|
-
}),
|
|
1060
|
-
if (!
|
|
1061
|
-
const { rows: B, columns: k } =
|
|
1059
|
+
}), l = P(() => m.value[a.value]), u = P(() => {
|
|
1060
|
+
if (!l.value) return {};
|
|
1061
|
+
const { rows: B, columns: k } = l.value;
|
|
1062
1062
|
return !B || !k ? {} : k.reduce((_, A) => (!A.hide && !["geom", "geodata", "id"].includes(A.name) && (_[A.ua] = B[A.name] ?? "-"), _), {});
|
|
1063
1063
|
});
|
|
1064
1064
|
async function f() {
|
|
1065
|
-
var B, k, _, A,
|
|
1065
|
+
var B, k, _, A, le, ge;
|
|
1066
1066
|
h.value = !0, g.value = null;
|
|
1067
1067
|
try {
|
|
1068
1068
|
const pe = {
|
|
1069
1069
|
id: (B = r.cardValues) == null ? void 0 : B.id,
|
|
1070
|
-
layer: typeof ((k = r.cardValues) == null ? void 0 : k.layer) == "object" ? (A = (_ = r.cardValues) == null ? void 0 : _.layer) == null ? void 0 : A.id : (
|
|
1070
|
+
layer: typeof ((k = r.cardValues) == null ? void 0 : k.layer) == "object" ? (A = (_ = r.cardValues) == null ? void 0 : _.layer) == null ? void 0 : A.id : (le = r.cardValues) == null ? void 0 : le.layer,
|
|
1071
1071
|
map: (ge = r.cardValues) == null ? void 0 : ge.map
|
|
1072
|
-
},
|
|
1073
|
-
m.value[
|
|
1072
|
+
}, ae = await fetch("/api/map-format?" + new URLSearchParams(pe)).then((Oe) => Oe.json());
|
|
1073
|
+
m.value[a.value] = ae;
|
|
1074
1074
|
} catch (pe) {
|
|
1075
1075
|
g.value = (pe == null ? void 0 : pe.message) || "Помилка запиту";
|
|
1076
1076
|
} finally {
|
|
1077
|
-
h.value = !1, await
|
|
1077
|
+
h.value = !1, await Ee(), o("content-resize");
|
|
1078
1078
|
}
|
|
1079
1079
|
}
|
|
1080
1080
|
function L() {
|
|
1081
|
-
|
|
1081
|
+
a.value < r.info.length - 1 && (a.value += 1, m.value[a.value] || f());
|
|
1082
1082
|
}
|
|
1083
|
-
function
|
|
1084
|
-
|
|
1083
|
+
function F() {
|
|
1084
|
+
a.value > 0 && (a.value -= 1, m.value[a.value] || f());
|
|
1085
1085
|
}
|
|
1086
1086
|
return ke(async () => {
|
|
1087
|
-
await
|
|
1087
|
+
await Ee(), f();
|
|
1088
1088
|
}), fe(
|
|
1089
1089
|
() => r.info,
|
|
1090
1090
|
() => {
|
|
1091
|
-
|
|
1091
|
+
a.value = 0, f(), o("content-resize");
|
|
1092
1092
|
},
|
|
1093
1093
|
{ deep: !0 }
|
|
1094
1094
|
), fe([() => r.cardValues, () => r.config], async () => {
|
|
1095
|
-
await
|
|
1095
|
+
await Ee(), f(), o("content-resize");
|
|
1096
1096
|
}), (B, k) => {
|
|
1097
1097
|
var _, A;
|
|
1098
1098
|
return c(), p("div", xo, [
|
|
1099
|
-
|
|
1100
|
-
s("h2", ko, S(
|
|
1099
|
+
n.value ? (c(), p("div", _o, [
|
|
1100
|
+
s("h2", ko, S(n.value), 1),
|
|
1101
1101
|
s("button", {
|
|
1102
1102
|
type: "button",
|
|
1103
1103
|
class: "size-8 inline-flex justify-center items-center gap-x-2 rounded-full border border-transparent bg-gray-100 text-gray-800 hover:bg-gray-200 focus:outline-none focus:bg-gray-200 disabled:opacity-50 disabled:pointer-events-none dark:bg-neutral-700 dark:hover:bg-neutral-600 dark:text-neutral-400 dark:focus:bg-neutral-600 ml-2",
|
|
1104
|
-
onClick: k[0] || (k[0] = (
|
|
1104
|
+
onClick: k[0] || (k[0] = (le) => o("close"))
|
|
1105
1105
|
}, [...k[1] || (k[1] = [
|
|
1106
1106
|
s("svg", {
|
|
1107
1107
|
class: "shrink-0 size-4 cursor-pointer",
|
|
@@ -1119,14 +1119,14 @@ const ho = { class: "legend-widget flex flex-col bg-white border border-stone-20
|
|
|
1119
1119
|
s("path", { d: "m6 6 12 12" })
|
|
1120
1120
|
], -1)
|
|
1121
1121
|
])])
|
|
1122
|
-
])) :
|
|
1122
|
+
])) : j("", !0),
|
|
1123
1123
|
v.value > 1 ? (c(), p("div", Lo, [
|
|
1124
1124
|
s("button", {
|
|
1125
1125
|
type: "button",
|
|
1126
1126
|
class: K([{
|
|
1127
1127
|
"opacity-flex items-center justify-between border-b px-[16px] py-[8px]50 pointer-events-none": d.value === 1
|
|
1128
1128
|
}, "min-h-[34px] min-w-[34px] py-2 px-2.5 inline-flex justify-center items-center gap-x-2 text-sm rounded-lg text-stone-800 hover:bg-stone-100 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-stone-100"]),
|
|
1129
|
-
onClick:
|
|
1129
|
+
onClick: F
|
|
1130
1130
|
}, " ◀ ", 2),
|
|
1131
1131
|
s("div", Co, [
|
|
1132
1132
|
s("span", $o, S(d.value), 1),
|
|
@@ -1140,32 +1140,32 @@ const ho = { class: "legend-widget flex flex-col bg-white border border-stone-20
|
|
|
1140
1140
|
"opacity-50 pointer-events-none": d.value === v.value
|
|
1141
1141
|
}, "min-h-[34px] min-w-[34px] py-2 px-2.5 inline-flex justify-center items-center gap-x-2 text-sm rounded-lg text-stone-800 hover:bg-stone-100 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-stone-100"])
|
|
1142
1142
|
}, " ▶ ", 2)
|
|
1143
|
-
])) :
|
|
1143
|
+
])) : j("", !0),
|
|
1144
1144
|
s("div", Vo, [
|
|
1145
|
-
h.value ? (c(), p("div", So, "Завантаження даних...")) : g.value ? (c(), p("div",
|
|
1146
|
-
(_ =
|
|
1145
|
+
h.value ? (c(), p("div", So, "Завантаження даних...")) : g.value ? (c(), p("div", jo, " Помилка завантаження даних ")) : (c(), p("div", Fo, [
|
|
1146
|
+
(_ = l.value) != null && _.html ? (c(), p("div", {
|
|
1147
1147
|
key: 0,
|
|
1148
|
-
innerHTML:
|
|
1148
|
+
innerHTML: l.value.html,
|
|
1149
1149
|
class: "custom-table-html border-b"
|
|
1150
|
-
}, null, 8,
|
|
1150
|
+
}, null, 8, Eo)) : Object.keys(u.value).length ? (c(), p("div", Po, [
|
|
1151
1151
|
s("dl", Mo, [
|
|
1152
|
-
(c(!0), p(z, null, q(u.value, (
|
|
1152
|
+
(c(!0), p(z, null, q(u.value, (le, ge) => (c(), p("div", {
|
|
1153
1153
|
key: ge,
|
|
1154
1154
|
class: "grid grid-cols-1 gap-1 py-3 even:bg-gray-50 sm:grid-cols-3 sm:gap-4"
|
|
1155
1155
|
}, [
|
|
1156
1156
|
s("dt", To, S(ge), 1),
|
|
1157
|
-
s("dd", zo, S(
|
|
1157
|
+
s("dd", zo, S(le), 1)
|
|
1158
1158
|
]))), 128))
|
|
1159
1159
|
])
|
|
1160
1160
|
])) : (c(), p("div", Ao, "Даних не знайдено."))
|
|
1161
1161
|
])),
|
|
1162
|
-
(A =
|
|
1162
|
+
(A = l.value) != null && A.cardInterface && i.value ? (c(), p("div", Bo, [
|
|
1163
1163
|
s("a", {
|
|
1164
|
-
href: `/card/${
|
|
1164
|
+
href: `/card/${l.value.cardInterface}/${l.value.id}`,
|
|
1165
1165
|
target: "_blank",
|
|
1166
1166
|
class: "w-full !cursor-pointer text-center gap-2 px-3 py-1.5 bg-blue-600 text-white rounded hover:bg-blue-700 transition text-sm font-medium"
|
|
1167
1167
|
}, " Перейти в реєстр ", 8, Oo)
|
|
1168
|
-
])) :
|
|
1168
|
+
])) : j("", !0)
|
|
1169
1169
|
])
|
|
1170
1170
|
]);
|
|
1171
1171
|
};
|
|
@@ -1197,22 +1197,22 @@ const ho = { class: "legend-widget flex flex-col bg-white border border-stone-20
|
|
|
1197
1197
|
}
|
|
1198
1198
|
},
|
|
1199
1199
|
setup(e) {
|
|
1200
|
-
const t = e, r =
|
|
1200
|
+
const t = e, r = P(() => {
|
|
1201
1201
|
var g;
|
|
1202
1202
|
return ((g = t.config) == null ? void 0 : g.title) || "";
|
|
1203
|
-
}), o = T([]),
|
|
1203
|
+
}), o = T([]), n = P(() => t.config.layer.style.rules.some(
|
|
1204
1204
|
(g) => g.count !== void 0
|
|
1205
|
-
)),
|
|
1206
|
-
(g,
|
|
1205
|
+
)), i = P(() => t.config.layer.style.rules.reduce(
|
|
1206
|
+
(g, a) => g + (a.count || 0),
|
|
1207
1207
|
0
|
|
1208
|
-
)), m = (g) => !g ||
|
|
1209
|
-
const
|
|
1208
|
+
)), m = (g) => !g || i.value === 0 ? 0 : Math.round(g / i.value * 100), h = () => {
|
|
1209
|
+
const a = t.config.layer.style.rules.filter(
|
|
1210
1210
|
(d, v) => o.value[v]
|
|
1211
1211
|
).map((d) => d.id || d.value).join(",");
|
|
1212
1212
|
if (t.config.layer.id) {
|
|
1213
1213
|
const d = t.map.getSource(t.config.layer.id);
|
|
1214
1214
|
if (d) {
|
|
1215
|
-
const
|
|
1215
|
+
const l = d.tiles[0].split("?filter=")[0], u = a ? `${l}?filter=${t.config.layer.style.attribute}=${a}` : l;
|
|
1216
1216
|
d.setTiles([u]);
|
|
1217
1217
|
}
|
|
1218
1218
|
}
|
|
@@ -1222,16 +1222,16 @@ const ho = { class: "legend-widget flex flex-col bg-white border border-stone-20
|
|
|
1222
1222
|
(g = t.config) != null && g.layer && (_e(t.map, t.config.layer), o.value = new Array(t.config.layer.style.rules.length).fill(
|
|
1223
1223
|
!1
|
|
1224
1224
|
));
|
|
1225
|
-
}), (g,
|
|
1225
|
+
}), (g, a) => (c(), p("div", Do, [
|
|
1226
1226
|
r.value ? (c(), p("div", Uo, [
|
|
1227
1227
|
s("div", null, [
|
|
1228
1228
|
s("h2", Ro, S(r.value), 1)
|
|
1229
1229
|
])
|
|
1230
|
-
])) :
|
|
1230
|
+
])) : j("", !0),
|
|
1231
1231
|
s("div", Ho, [
|
|
1232
1232
|
s("div", No, [
|
|
1233
1233
|
s("div", Zo, [
|
|
1234
|
-
|
|
1234
|
+
n.value ? (c(), p("div", Wo, [
|
|
1235
1235
|
(c(!0), p(z, null, q(e.config.layer.style.rules, (d, v) => (c(), p("div", {
|
|
1236
1236
|
key: v,
|
|
1237
1237
|
class: "flex flex-col justify-center overflow-hidden text-xs text-white text-center whitespace-nowrap",
|
|
@@ -1244,7 +1244,7 @@ const ho = { class: "legend-widget flex flex-col bg-white border border-stone-20
|
|
|
1244
1244
|
"aria-valuemin": "0",
|
|
1245
1245
|
"aria-valuemax": "100"
|
|
1246
1246
|
}, null, 12, qo))), 128))
|
|
1247
|
-
])) :
|
|
1247
|
+
])) : j("", !0),
|
|
1248
1248
|
s("ul", null, [
|
|
1249
1249
|
(c(!0), p(z, null, q(e.config.layer.style.rules, (d, v) => (c(), p("li", { key: v }, [
|
|
1250
1250
|
s("div", Go, [
|
|
@@ -1259,12 +1259,12 @@ const ho = { class: "legend-widget flex flex-col bg-white border border-stone-20
|
|
|
1259
1259
|
borderColor: o.value[v] ? d.color || "#2563eb" : d.color || "#d9d9d9"
|
|
1260
1260
|
})
|
|
1261
1261
|
}, [
|
|
1262
|
-
o.value[v] ? (c(), p("img", Qo)) :
|
|
1262
|
+
o.value[v] ? (c(), p("img", Qo)) : j("", !0)
|
|
1263
1263
|
], 4),
|
|
1264
1264
|
se(s("input", {
|
|
1265
1265
|
type: "checkbox",
|
|
1266
1266
|
id: `filter-${v}`,
|
|
1267
|
-
"onUpdate:modelValue": (
|
|
1267
|
+
"onUpdate:modelValue": (l) => o.value[v] = l,
|
|
1268
1268
|
onChange: h,
|
|
1269
1269
|
class: "hidden",
|
|
1270
1270
|
disabled: !1
|
|
@@ -1272,7 +1272,7 @@ const ho = { class: "legend-widget flex flex-col bg-white border border-stone-20
|
|
|
1272
1272
|
[Ze, o.value[v]]
|
|
1273
1273
|
]),
|
|
1274
1274
|
s("span", Ko, S(d.label || d.text), 1),
|
|
1275
|
-
|
|
1275
|
+
n.value ? (c(), p("span", Xo, "(" + S(d.count) + ")", 1)) : j("", !0)
|
|
1276
1276
|
], 8, Jo)
|
|
1277
1277
|
])
|
|
1278
1278
|
]))), 128))
|
|
@@ -1300,7 +1300,7 @@ function rr(e, t) {
|
|
|
1300
1300
|
s("path", { d: "m6 6 12 12" }, null, -1)
|
|
1301
1301
|
])]);
|
|
1302
1302
|
}
|
|
1303
|
-
const ot = /* @__PURE__ */ N(tr, [["render", rr]]), sr = { class: "hover:bg-gray-100 rounded-lg flex items-center ml-[20px] py-[8px] px-[8px]" },
|
|
1303
|
+
const ot = /* @__PURE__ */ N(tr, [["render", rr]]), sr = { class: "hover:bg-gray-100 rounded-lg flex items-center ml-[20px] py-[8px] px-[8px]" }, ir = ["for"], nr = { class: "custom-checkbox-wrapper" }, lr = ["id", "checked"], ar = { class: "custom-checkbox" }, cr = {
|
|
1304
1304
|
key: 0,
|
|
1305
1305
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1306
1306
|
width: "12",
|
|
@@ -1328,45 +1328,45 @@ const ot = /* @__PURE__ */ N(tr, [["render", rr]]), sr = { class: "hover:bg-gray
|
|
|
1328
1328
|
},
|
|
1329
1329
|
emits: ["select", "remove"],
|
|
1330
1330
|
setup(e, { emit: t }) {
|
|
1331
|
-
const r = e, o = t,
|
|
1331
|
+
const r = e, o = t, n = P(() => r.selectedLayers.some((h) => h.id === r.layer.id)), i = (h) => Intl.NumberFormat("uk", {
|
|
1332
1332
|
notation: "compact"
|
|
1333
1333
|
}).format(h), m = (h) => {
|
|
1334
1334
|
o(h ? "select" : "remove", r.layer);
|
|
1335
1335
|
};
|
|
1336
1336
|
return (h, g) => {
|
|
1337
|
-
var
|
|
1337
|
+
var a, d, v, l, u;
|
|
1338
1338
|
return c(), p("div", sr, [
|
|
1339
1339
|
s("label", {
|
|
1340
1340
|
class: "flex items-center w-full cursor-pointer",
|
|
1341
1341
|
for: e.layer.id
|
|
1342
1342
|
}, [
|
|
1343
|
-
s("div",
|
|
1343
|
+
s("div", nr, [
|
|
1344
1344
|
s("input", {
|
|
1345
1345
|
id: e.layer.id,
|
|
1346
1346
|
type: "checkbox",
|
|
1347
|
-
checked:
|
|
1347
|
+
checked: n.value,
|
|
1348
1348
|
onChange: g[0] || (g[0] = (f) => m(f.target.checked)),
|
|
1349
1349
|
class: "custom-checkbox-input"
|
|
1350
|
-
}, null, 40,
|
|
1351
|
-
s("div",
|
|
1352
|
-
|
|
1350
|
+
}, null, 40, lr),
|
|
1351
|
+
s("div", ar, [
|
|
1352
|
+
n.value ? (c(), p("svg", cr, [...g[1] || (g[1] = [
|
|
1353
1353
|
s("path", {
|
|
1354
1354
|
d: "M10.6663 1L4.24967 7.41667L1.33301 4.5",
|
|
1355
1355
|
stroke: "#fff",
|
|
1356
1356
|
"stroke-linecap": "round",
|
|
1357
1357
|
"stroke-linejoin": "round"
|
|
1358
1358
|
}, null, -1)
|
|
1359
|
-
])])) :
|
|
1359
|
+
])])) : j("", !0)
|
|
1360
1360
|
])
|
|
1361
1361
|
]),
|
|
1362
1362
|
s("div", dr, [
|
|
1363
1363
|
s("div", {
|
|
1364
1364
|
class: "whitespace-nowrap text text-ellipsis max-w-[260px] overflow-hidden text-[13px] text-[#4b5563]",
|
|
1365
|
-
title: (
|
|
1365
|
+
title: (a = e.layer) == null ? void 0 : a.name
|
|
1366
1366
|
}, S(((d = e.layer) == null ? void 0 : d.name) || ((v = e.layer) == null ? void 0 : v.title)), 9, ur),
|
|
1367
|
-
isNaN(
|
|
1367
|
+
isNaN(i((l = e.layer) == null ? void 0 : l.count)) ? j("", !0) : (c(), p("div", pr, S(i((u = e.layer) == null ? void 0 : u.count)), 1))
|
|
1368
1368
|
])
|
|
1369
|
-
], 8,
|
|
1369
|
+
], 8, ir)
|
|
1370
1370
|
]);
|
|
1371
1371
|
};
|
|
1372
1372
|
}
|
|
@@ -1475,7 +1475,7 @@ function Sr(e, t) {
|
|
|
1475
1475
|
Ae('<path d="M3 6h18"></path><path d="M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"></path><path d="M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2"></path><line x1="10" x2="10" y1="11" y2="17"></line><line x1="14" x2="14" y1="11" y2="17"></line>', 5)
|
|
1476
1476
|
])]);
|
|
1477
1477
|
}
|
|
1478
|
-
const
|
|
1478
|
+
const jr = /* @__PURE__ */ N(Ir, [["render", Sr]]), Fr = {}, Er = {
|
|
1479
1479
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1480
1480
|
width: "18",
|
|
1481
1481
|
height: "18",
|
|
@@ -1487,8 +1487,8 @@ const Fr = /* @__PURE__ */ N(Ir, [["render", Sr]]), jr = {}, Pr = {
|
|
|
1487
1487
|
"stroke-linejoin": "round",
|
|
1488
1488
|
class: "lucide lucide-more-vertical text-gray-600"
|
|
1489
1489
|
};
|
|
1490
|
-
function
|
|
1491
|
-
return c(), p("svg",
|
|
1490
|
+
function Pr(e, t) {
|
|
1491
|
+
return c(), p("svg", Er, [...t[0] || (t[0] = [
|
|
1492
1492
|
s("circle", {
|
|
1493
1493
|
cx: "12",
|
|
1494
1494
|
cy: "12",
|
|
@@ -1506,7 +1506,7 @@ function Er(e, t) {
|
|
|
1506
1506
|
}, null, -1)
|
|
1507
1507
|
])]);
|
|
1508
1508
|
}
|
|
1509
|
-
const Mr = /* @__PURE__ */ N(
|
|
1509
|
+
const Mr = /* @__PURE__ */ N(Fr, [["render", Pr]]), Tr = {}, zr = {
|
|
1510
1510
|
width: "6",
|
|
1511
1511
|
height: "10",
|
|
1512
1512
|
viewBox: "0 0 6 10",
|
|
@@ -1553,7 +1553,7 @@ const Zr = {
|
|
|
1553
1553
|
ZoomInIcon: yr,
|
|
1554
1554
|
InfoIcon: _r,
|
|
1555
1555
|
TableIcon: $r,
|
|
1556
|
-
TrashIcon:
|
|
1556
|
+
TrashIcon: jr,
|
|
1557
1557
|
DotsIcon: Mr,
|
|
1558
1558
|
ChevronRightIcon: Br,
|
|
1559
1559
|
FilterIcon: Rr,
|
|
@@ -1735,8 +1735,8 @@ const Zr = {
|
|
|
1735
1735
|
async handleFilterChange({ url: e }, t) {
|
|
1736
1736
|
const r = this.map.getSource(t.id);
|
|
1737
1737
|
if (r) {
|
|
1738
|
-
const
|
|
1739
|
-
r.setTiles([
|
|
1738
|
+
const n = r.tiles[0].split("?filter=")[0], i = e ? `${n}?filter=${e}` : n;
|
|
1739
|
+
r.setTiles([i]);
|
|
1740
1740
|
}
|
|
1741
1741
|
},
|
|
1742
1742
|
popoverActions(e) {
|
|
@@ -1793,8 +1793,8 @@ const Zr = {
|
|
|
1793
1793
|
if (this.selectedLayers.splice(this.draggedLayerIndex, 1), this.selectedLayers.splice(e, 0, t), this.draggedLayerIndex = null, this.map && this.selectedLayers.length > 1)
|
|
1794
1794
|
for (let r = this.selectedLayers.length - 1; r >= 0; r--) {
|
|
1795
1795
|
const o = this.selectedLayers[r];
|
|
1796
|
-
o.visible && this.map.getStyle().layers.find((
|
|
1797
|
-
|
|
1796
|
+
o.visible && this.map.getStyle().layers.find((n) => n.id.includes(o.id)) && this.map.getStyle().layers.forEach((n) => {
|
|
1797
|
+
n.id.includes(o.id) && this.map.moveLayer(n.id);
|
|
1798
1798
|
});
|
|
1799
1799
|
}
|
|
1800
1800
|
},
|
|
@@ -1805,7 +1805,7 @@ const Zr = {
|
|
|
1805
1805
|
}, Wr = { class: "w-full max-w-md mx-auto p-4 bg-white border border-gray-200 rounded-lg shadow-sm" }, qr = { class: "flex items-center justify-between mb-4" }, Gr = { class: "flex items-center gap-2" }, Jr = { class: "text-lg font-semibold text-gray-800" }, Qr = { key: 0 }, Yr = { key: 1 }, Kr = { class: "flex mb-4 border-b border-gray-200" }, Xr = { key: 0 }, es = { class: "mb-4" }, ts = {
|
|
1806
1806
|
key: 0,
|
|
1807
1807
|
class: "space-y-2 max-h-[400px] overflow-y-auto pr-1 [&::-webkit-scrollbar]:h-1.5 [&::-webkit-scrollbar]:w-1.5 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-thumb]:bg-gray-300 [&::-webkit-scrollbar-track]:bg-transparent"
|
|
1808
|
-
}, os = ["onDragstart", "onDragover", "onDrop"], rs = { class: "flex items-center justify-between" }, ss = { class: "flex items-center gap-2 cursor-move" },
|
|
1808
|
+
}, os = ["onDragstart", "onDragover", "onDrop"], rs = { class: "flex items-center justify-between" }, ss = { class: "flex items-center gap-2 cursor-move" }, is = ["onUpdate:modelValue", "onChange"], ns = { class: "text-gray-800" }, ls = { class: "flex items-center gap-2" }, as = { class: "relative" }, cs = { class: "flex items-center gap-2" }, ds = ["onUpdate:modelValue", "onInput"], us = { class: "text-xs text-gray-600 whitespace-nowrap" }, ps = ["onClick"], hs = { class: "relative" }, fs = { class: "w-48" }, gs = {
|
|
1809
1809
|
key: 0,
|
|
1810
1810
|
class: "my-1 border-gray-200"
|
|
1811
1811
|
}, vs = ["disabled", "onClick"], ms = {
|
|
@@ -1827,9 +1827,9 @@ const Zr = {
|
|
|
1827
1827
|
key: 0,
|
|
1828
1828
|
class: "text-center text-[14px] text-[#4b5563]"
|
|
1829
1829
|
}, Cs = ["onClick"], $s = { class: "flex items-center gap-x-3" }, Is = ["title"], Vs = { class: "text-xs opacity-60 text-[#4b5563]" };
|
|
1830
|
-
function Ss(e, t, r, o,
|
|
1830
|
+
function Ss(e, t, r, o, n, i) {
|
|
1831
1831
|
var u;
|
|
1832
|
-
const m = J("VsPopover"), h = J("DotsIcon"), g = J("VsFilter"),
|
|
1832
|
+
const m = J("VsPopover"), h = J("DotsIcon"), g = J("VsFilter"), a = J("searchIcon"), d = J("closeIcon"), v = J("VsLayersItem"), l = J("chevronRightIcon");
|
|
1833
1833
|
return c(), p("div", Wr, [
|
|
1834
1834
|
s("div", qr, [
|
|
1835
1835
|
s("div", Gr, [
|
|
@@ -1850,14 +1850,14 @@ function Ss(e, t, r, o, i, n) {
|
|
|
1850
1850
|
s("path", { d: "m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65" })
|
|
1851
1851
|
], -1)),
|
|
1852
1852
|
s("h2", Jr, [
|
|
1853
|
-
|
|
1854
|
-
|
|
1853
|
+
ne(S(n.activeView === "catalog" ? "Каталог" : "Вибрані шари") + " ", 1),
|
|
1854
|
+
n.activeView === "catalog" ? (c(), p("span", Qr, "(" + S(((u = n.layers) == null ? void 0 : u.length) || 0) + ")", 1)) : (c(), p("span", Yr, "(" + S(n.selectedLayers.length) + ")", 1))
|
|
1855
1855
|
])
|
|
1856
1856
|
]),
|
|
1857
1857
|
s("button", {
|
|
1858
1858
|
class: "p-1 rounded-full hover:bg-gray-200 transition-colors",
|
|
1859
1859
|
"aria-label": "Reset layers",
|
|
1860
|
-
onClick: t[0] || (t[0] = (...f) =>
|
|
1860
|
+
onClick: t[0] || (t[0] = (...f) => i.clearSelectedLayers && i.clearSelectedLayers(...f))
|
|
1861
1861
|
}, [...t[8] || (t[8] = [
|
|
1862
1862
|
Ae('<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-refresh-cw text-gray-600" data-v-e9e7021a><path d="M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8" data-v-e9e7021a></path><path d="M21 3v5h-5" data-v-e9e7021a></path><path d="M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16" data-v-e9e7021a></path><path d="M8 16H3v5" data-v-e9e7021a></path></svg>', 1)
|
|
1863
1863
|
])])
|
|
@@ -1866,23 +1866,23 @@ function Ss(e, t, r, o, i, n) {
|
|
|
1866
1866
|
s("button", {
|
|
1867
1867
|
class: K([
|
|
1868
1868
|
"px-4 py-2 text-sm font-medium",
|
|
1869
|
-
|
|
1869
|
+
n.activeView === "catalog" ? "text-blue-600 border-b-2 border-blue-600" : "text-gray-600 hover:text-gray-800"
|
|
1870
1870
|
]),
|
|
1871
|
-
onClick: t[1] || (t[1] = (f) =>
|
|
1871
|
+
onClick: t[1] || (t[1] = (f) => n.activeView = "catalog")
|
|
1872
1872
|
}, " Каталог ", 2),
|
|
1873
1873
|
s("button", {
|
|
1874
1874
|
class: K([
|
|
1875
1875
|
"px-4 py-2 text-sm font-medium",
|
|
1876
|
-
|
|
1876
|
+
n.activeView === "selected" ? "text-blue-600 border-b-2 border-blue-600" : "text-gray-600 hover:text-gray-800"
|
|
1877
1877
|
]),
|
|
1878
|
-
onClick: t[2] || (t[2] = (f) =>
|
|
1878
|
+
onClick: t[2] || (t[2] = (f) => n.activeView = "selected")
|
|
1879
1879
|
}, " Вибрані шари ", 2)
|
|
1880
1880
|
]),
|
|
1881
|
-
|
|
1881
|
+
n.activeView === "selected" ? (c(), p("div", Xr, [
|
|
1882
1882
|
s("div", es, [
|
|
1883
1883
|
s("button", {
|
|
1884
1884
|
class: "flex items-center gap-2 text-blue-600 hover:text-blue-700 transition-colors px-3 py-2 rounded-md bg-blue-50 hover:bg-blue-100 w-full justify-center",
|
|
1885
|
-
onClick: t[3] || (t[3] = (f) =>
|
|
1885
|
+
onClick: t[3] || (t[3] = (f) => n.activeView = "catalog")
|
|
1886
1886
|
}, [...t[9] || (t[9] = [
|
|
1887
1887
|
s("svg", {
|
|
1888
1888
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -1902,17 +1902,17 @@ function Ss(e, t, r, o, i, n) {
|
|
|
1902
1902
|
s("span", null, "Вибрати шар", -1)
|
|
1903
1903
|
])])
|
|
1904
1904
|
]),
|
|
1905
|
-
|
|
1906
|
-
(c(!0), p(z, null, q(
|
|
1907
|
-
var
|
|
1905
|
+
n.mounted ? (c(), p("div", ts, [
|
|
1906
|
+
(c(!0), p(z, null, q(n.selectedLayers, (f, L) => {
|
|
1907
|
+
var F, B;
|
|
1908
1908
|
return c(), p("div", {
|
|
1909
1909
|
key: f.id || L,
|
|
1910
|
-
class: K(["border border-gray-200 rounded-md p-3 mb-2 bg-white shadow-sm text-[13px] text-[#4b5563]", { dragging:
|
|
1910
|
+
class: K(["border border-gray-200 rounded-md p-3 mb-2 bg-white shadow-sm text-[13px] text-[#4b5563]", { dragging: n.draggedLayerIndex === L }]),
|
|
1911
1911
|
draggable: "true",
|
|
1912
|
-
onDragstart: (k) =>
|
|
1913
|
-
onDragover: vt((k) =>
|
|
1914
|
-
onDrop: (k) =>
|
|
1915
|
-
onDragend: t[4] || (t[4] = (...k) =>
|
|
1912
|
+
onDragstart: (k) => i.onDragStart(L),
|
|
1913
|
+
onDragover: vt((k) => i.onDragOver(L), ["prevent"]),
|
|
1914
|
+
onDrop: (k) => i.onDrop(L),
|
|
1915
|
+
onDragend: t[4] || (t[4] = (...k) => i.onDragEnd && i.onDragEnd(...k))
|
|
1916
1916
|
}, [
|
|
1917
1917
|
s("div", rs, [
|
|
1918
1918
|
s("div", ss, [
|
|
@@ -1921,19 +1921,19 @@ function Ss(e, t, r, o, i, n) {
|
|
|
1921
1921
|
type: "checkbox",
|
|
1922
1922
|
class: "w-4 h-4 text-blue-600 rounded focus:ring-blue-500",
|
|
1923
1923
|
"onUpdate:modelValue": (k) => f.visible = k,
|
|
1924
|
-
onChange: (k) =>
|
|
1925
|
-
}, null, 40,
|
|
1924
|
+
onChange: (k) => i.toggleLayerVisibility(f)
|
|
1925
|
+
}, null, 40, is), [
|
|
1926
1926
|
[Ze, f.visible]
|
|
1927
1927
|
]),
|
|
1928
|
-
s("span",
|
|
1928
|
+
s("span", ns, S(f.name || f.title || f.label), 1)
|
|
1929
1929
|
]),
|
|
1930
|
-
s("div",
|
|
1931
|
-
s("div",
|
|
1930
|
+
s("div", ls, [
|
|
1931
|
+
s("div", as, [
|
|
1932
1932
|
Z(m, { placement: "bottom" }, {
|
|
1933
1933
|
reference: G(() => [
|
|
1934
1934
|
s("div", {
|
|
1935
1935
|
class: "text-sm text-gray-600 hover:text-gray-800 transition-colors px-2 py-1 rounded hover:bg-gray-100 cursor-pointer",
|
|
1936
|
-
onClick: (k) =>
|
|
1936
|
+
onClick: (k) => i.updateLayerOpacity(f)
|
|
1937
1937
|
}, S(f.opacity || 100) + "% ", 9, ps)
|
|
1938
1938
|
]),
|
|
1939
1939
|
default: G(() => [
|
|
@@ -1945,7 +1945,7 @@ function Ss(e, t, r, o, i, n) {
|
|
|
1945
1945
|
max: "100",
|
|
1946
1946
|
step: "1",
|
|
1947
1947
|
"onUpdate:modelValue": (k) => f.opacity = k,
|
|
1948
|
-
onInput: (k) =>
|
|
1948
|
+
onInput: (k) => i.onLayerOpacityChange(f),
|
|
1949
1949
|
class: "h-2 w-full accent-blue-600 rounded-lg cursor-pointer bg-gray-200"
|
|
1950
1950
|
}, null, 40, ds), [
|
|
1951
1951
|
[He, f.opacity]
|
|
@@ -1965,7 +1965,7 @@ function Ss(e, t, r, o, i, n) {
|
|
|
1965
1965
|
]),
|
|
1966
1966
|
default: G(() => [
|
|
1967
1967
|
s("div", fs, [
|
|
1968
|
-
(c(!0), p(z, null, q(
|
|
1968
|
+
(c(!0), p(z, null, q(i.popoverActions(f), (k, _) => (c(), p(z, { key: _ }, [
|
|
1969
1969
|
k.divider ? (c(), p("hr", gs)) : (c(), p("button", {
|
|
1970
1970
|
key: 1,
|
|
1971
1971
|
class: K(
|
|
@@ -1975,7 +1975,7 @@ function Ss(e, t, r, o, i, n) {
|
|
|
1975
1975
|
onClick: (A) => !k.disabled && e.$options.methods[k.handler].call(this, f)
|
|
1976
1976
|
}, [
|
|
1977
1977
|
(c(), X(Be(k.icon), { class: "lucide" })),
|
|
1978
|
-
|
|
1978
|
+
ne(" " + S(k.label), 1)
|
|
1979
1979
|
], 10, vs))
|
|
1980
1980
|
], 64))), 128))
|
|
1981
1981
|
])
|
|
@@ -1995,67 +1995,67 @@ function Ss(e, t, r, o, i, n) {
|
|
|
1995
1995
|
urlSeparator: "true",
|
|
1996
1996
|
view: "plain",
|
|
1997
1997
|
name: "filter",
|
|
1998
|
-
onFilterChange: (k) =>
|
|
1998
|
+
onFilterChange: (k) => i.handleFilterChange(k, f)
|
|
1999
1999
|
}, null, 8, ["scheme", "onFilterChange"]), [
|
|
2000
|
-
[
|
|
2000
|
+
[Fe, (F = f.filters) == null ? void 0 : F.length]
|
|
2001
2001
|
]),
|
|
2002
2002
|
se(s("div", null, [...t[12] || (t[12] = [
|
|
2003
2003
|
s("div", { class: "px-2 text-[14px] text-[#4b5563]" }, " Фільтри для шару відсутні ", -1)
|
|
2004
2004
|
])], 512), [
|
|
2005
|
-
[
|
|
2005
|
+
[Fe, !((B = f.filters) != null && B.length)]
|
|
2006
2006
|
])
|
|
2007
|
-
])) :
|
|
2007
|
+
])) : j("", !0)
|
|
2008
2008
|
], 42, os);
|
|
2009
2009
|
}), 128)),
|
|
2010
|
-
|
|
2010
|
+
n.selectedLayers.length === 0 ? (c(), p("div", ws, [...t[13] || (t[13] = [
|
|
2011
2011
|
s("p", null, 'Щоб додати шар, натисніть на кнопку "Вибрати шар".', -1)
|
|
2012
|
-
])])) :
|
|
2013
|
-
])) :
|
|
2012
|
+
])])) : j("", !0)
|
|
2013
|
+
])) : j("", !0)
|
|
2014
2014
|
])) : (c(), p(z, { key: 1 }, [
|
|
2015
2015
|
s("div", xs, [
|
|
2016
2016
|
se(s("input", {
|
|
2017
2017
|
title: "value",
|
|
2018
2018
|
placeholder: "Введіть назву шару...",
|
|
2019
|
-
"onUpdate:modelValue": t[5] || (t[5] = (f) =>
|
|
2019
|
+
"onUpdate:modelValue": t[5] || (t[5] = (f) => n.search = f),
|
|
2020
2020
|
type: "text",
|
|
2021
2021
|
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 disabled:opacity-50 disabled:pointer-events-none dark:bg-neutral-700 dark:border-transparent dark:text-neutral-400 dark:placeholder:text-neutral-400 dark:focus:bg-neutral-800 dark:focus:ring-neutral-600",
|
|
2022
|
-
onKeyup: t[6] || (t[6] = mt((...f) =>
|
|
2022
|
+
onKeyup: t[6] || (t[6] = mt((...f) => i.onEnter && i.onEnter(...f), ["enter"]))
|
|
2023
2023
|
}, null, 544), [
|
|
2024
|
-
[He,
|
|
2024
|
+
[He, n.search]
|
|
2025
2025
|
]),
|
|
2026
|
-
Z(
|
|
2026
|
+
Z(a, {
|
|
2027
2027
|
class: "absolute top-1/2 left-[8px] w-[16px] h-[16px]",
|
|
2028
2028
|
style: { transform: "translate(0, -50%)" }
|
|
2029
2029
|
}),
|
|
2030
|
-
|
|
2030
|
+
n.search ? (c(), X(d, {
|
|
2031
2031
|
key: 0,
|
|
2032
2032
|
class: "absolute top-1/2 right-[10px] w-[16px] h-[16px] cursor-pointer",
|
|
2033
2033
|
style: { transform: "translate(0, -50%)" },
|
|
2034
|
-
onClick:
|
|
2035
|
-
}, null, 8, ["onClick"])) :
|
|
2034
|
+
onClick: i.clearSearch
|
|
2035
|
+
}, null, 8, ["onClick"])) : j("", !0)
|
|
2036
2036
|
]),
|
|
2037
|
-
|
|
2038
|
-
|
|
2039
|
-
(c(!0), p(z, null, q(
|
|
2037
|
+
n.categories ? (c(), p("div", _s, [
|
|
2038
|
+
n.search ? (c(), p(z, { key: 0 }, [
|
|
2039
|
+
(c(!0), p(z, null, q(i.searchedLayers, (f, L) => (c(), X(v, {
|
|
2040
2040
|
key: L,
|
|
2041
2041
|
layer: f,
|
|
2042
2042
|
map: r.map,
|
|
2043
|
-
selectedLayers:
|
|
2044
|
-
onSelect:
|
|
2045
|
-
onRemove:
|
|
2043
|
+
selectedLayers: n.selectedLayers,
|
|
2044
|
+
onSelect: i.addToSelected,
|
|
2045
|
+
onRemove: i.handleRemoveFromCatalog
|
|
2046
2046
|
}, null, 8, ["layer", "map", "selectedLayers", "onSelect", "onRemove"]))), 128)),
|
|
2047
|
-
|
|
2047
|
+
i.searchedLayers.length === 0 ? (c(), p("div", ks, " Нічого не знайдено ")) : j("", !0)
|
|
2048
2048
|
], 64)) : (c(), p(z, { key: 1 }, [
|
|
2049
|
-
!
|
|
2049
|
+
!n.categories || Object.keys(n.categories).length === 0 ? (c(), p("div", Ls, " Каталог порожній ")) : (c(!0), p(z, { key: 1 }, q(Object.keys(n.categories), (f) => (c(), p("div", { key: f }, [
|
|
2050
2050
|
s("div", {
|
|
2051
2051
|
class: "hover:bg-gray-100 focus:bg-gray-100 px-2.5 cursor-pointer p-[8px] rounded-lg flex justify-between items-center",
|
|
2052
|
-
onClick: (L) =>
|
|
2052
|
+
onClick: (L) => i.selectCategory(f)
|
|
2053
2053
|
}, [
|
|
2054
2054
|
s("div", $s, [
|
|
2055
|
-
Z(
|
|
2055
|
+
Z(l, {
|
|
2056
2056
|
class: K({
|
|
2057
|
-
"rotate-up": f ===
|
|
2058
|
-
"rotate-down": f !==
|
|
2057
|
+
"rotate-up": f === n.selectedCategory,
|
|
2058
|
+
"rotate-down": f !== n.selectedCategory
|
|
2059
2059
|
})
|
|
2060
2060
|
}, null, 8, ["class"]),
|
|
2061
2061
|
s("div", {
|
|
@@ -2063,33 +2063,33 @@ function Ss(e, t, r, o, i, n) {
|
|
|
2063
2063
|
title: f
|
|
2064
2064
|
}, S(f), 9, Is)
|
|
2065
2065
|
]),
|
|
2066
|
-
s("div", Vs, S(
|
|
2066
|
+
s("div", Vs, S(i.formatNumber(n.categories[f].length)), 1)
|
|
2067
2067
|
], 8, Cs),
|
|
2068
2068
|
se(s("div", null, [
|
|
2069
|
-
(c(!0), p(z, null, q(
|
|
2070
|
-
key:
|
|
2069
|
+
(c(!0), p(z, null, q(n.categories[f], (L, F) => (c(), X(v, {
|
|
2070
|
+
key: F,
|
|
2071
2071
|
layer: L,
|
|
2072
2072
|
map: r.map,
|
|
2073
|
-
selectedLayers:
|
|
2074
|
-
onSelect:
|
|
2075
|
-
onRemove:
|
|
2073
|
+
selectedLayers: n.selectedLayers,
|
|
2074
|
+
onSelect: i.addToSelected,
|
|
2075
|
+
onRemove: i.handleRemoveFromCatalog
|
|
2076
2076
|
}, null, 8, ["layer", "map", "selectedLayers", "onSelect", "onRemove"]))), 128))
|
|
2077
2077
|
], 512), [
|
|
2078
|
-
[
|
|
2078
|
+
[Fe, f === n.selectedCategory]
|
|
2079
2079
|
])
|
|
2080
2080
|
]))), 128))
|
|
2081
2081
|
], 64))
|
|
2082
|
-
])) :
|
|
2082
|
+
])) : j("", !0)
|
|
2083
2083
|
], 64))
|
|
2084
2084
|
]);
|
|
2085
2085
|
}
|
|
2086
|
-
const
|
|
2086
|
+
const js = /* @__PURE__ */ N(Zr, [["render", Ss], ["__scopeId", "data-v-e9e7021a"]]), Fs = {
|
|
2087
2087
|
key: 0,
|
|
2088
2088
|
class: "w-full flex flex-col bg-white border border-stone-200 shadow-2xs rounded-xl z-10 relative widget"
|
|
2089
|
-
},
|
|
2089
|
+
}, Es = {
|
|
2090
2090
|
key: 0,
|
|
2091
2091
|
class: "p-5 pb-3 flex justify-between items-center"
|
|
2092
|
-
},
|
|
2092
|
+
}, Ps = { class: "inline-block font-semibold text-lg text-gray-800 dark:text-neutral-200" }, Ms = { class: "flex flex-col justify-between h-full" }, Ts = {
|
|
2093
2093
|
__name: "vs-filters-widget",
|
|
2094
2094
|
props: {
|
|
2095
2095
|
config: {
|
|
@@ -2106,39 +2106,39 @@ const Fs = /* @__PURE__ */ N(Zr, [["render", Ss], ["__scopeId", "data-v-e9e7021a
|
|
|
2106
2106
|
}
|
|
2107
2107
|
},
|
|
2108
2108
|
setup(e) {
|
|
2109
|
-
const t = e, r =
|
|
2109
|
+
const t = e, r = P(() => {
|
|
2110
2110
|
var m;
|
|
2111
2111
|
return ((m = t.config) == null ? void 0 : m.filters) || [];
|
|
2112
|
-
}), o =
|
|
2112
|
+
}), o = P(() => r.value), n = P(() => {
|
|
2113
2113
|
var h;
|
|
2114
2114
|
const m = (h = t.config) == null ? void 0 : h.conditions;
|
|
2115
2115
|
return !m || !m.layers ? !0 : t.enabledLayerIds.some((g) => m.layers.includes(g));
|
|
2116
|
-
}),
|
|
2116
|
+
}), i = async ({ data: m }) => {
|
|
2117
2117
|
var v;
|
|
2118
|
-
const h = Object.entries(m).map((
|
|
2119
|
-
(
|
|
2118
|
+
const h = Object.entries(m).map((l) => l.join("=")).join("|"), g = (v = t.config) == null ? void 0 : v.conditions, a = (g == null ? void 0 : g.layers) || [], d = t.enabledLayerIds.filter(
|
|
2119
|
+
(l) => a.includes(l)
|
|
2120
2120
|
);
|
|
2121
|
-
d.length && d.forEach((
|
|
2122
|
-
const u = t.map.getSource(
|
|
2121
|
+
d.length && d.forEach((l) => {
|
|
2122
|
+
const u = t.map.getSource(l);
|
|
2123
2123
|
if (u) {
|
|
2124
|
-
const L = u.tiles[0].split("?filter=")[0],
|
|
2125
|
-
u.setTiles([
|
|
2124
|
+
const L = u.tiles[0].split("?filter=")[0], F = h ? `${L}?filter=${h}` : L;
|
|
2125
|
+
u.setTiles([F]);
|
|
2126
2126
|
}
|
|
2127
2127
|
});
|
|
2128
2128
|
};
|
|
2129
|
-
return (m, h) =>
|
|
2130
|
-
e.config.title ? (c(), p("div",
|
|
2131
|
-
s("h2",
|
|
2132
|
-
])) :
|
|
2129
|
+
return (m, h) => n.value ? (c(), p("div", Fs, [
|
|
2130
|
+
e.config.title ? (c(), p("div", Es, [
|
|
2131
|
+
s("h2", Ps, S(e.config.title), 1)
|
|
2132
|
+
])) : j("", !0),
|
|
2133
2133
|
s("div", Ms, [
|
|
2134
2134
|
Z(Ne(xt), {
|
|
2135
2135
|
ref: "filter",
|
|
2136
2136
|
schema: o.value,
|
|
2137
2137
|
view: "vertical",
|
|
2138
|
-
onChange:
|
|
2138
|
+
onChange: i
|
|
2139
2139
|
}, null, 8, ["schema"])
|
|
2140
2140
|
])
|
|
2141
|
-
])) :
|
|
2141
|
+
])) : j("", !0);
|
|
2142
2142
|
}
|
|
2143
2143
|
}, zs = {
|
|
2144
2144
|
type: "button",
|
|
@@ -2163,67 +2163,67 @@ const Fs = /* @__PURE__ */ N(Zr, [["render", Ss], ["__scopeId", "data-v-e9e7021a
|
|
|
2163
2163
|
}
|
|
2164
2164
|
},
|
|
2165
2165
|
setup(e) {
|
|
2166
|
-
const t = e, r = T(0), o = T(null),
|
|
2167
|
-
var
|
|
2168
|
-
return ((
|
|
2169
|
-
}),
|
|
2170
|
-
...
|
|
2171
|
-
id:
|
|
2172
|
-
}))), m =
|
|
2166
|
+
const t = e, r = T(0), o = T(null), n = P(() => {
|
|
2167
|
+
var a;
|
|
2168
|
+
return ((a = t.config) == null ? void 0 : a.filters) || [];
|
|
2169
|
+
}), i = P(() => n.value.map((a) => ({
|
|
2170
|
+
...a,
|
|
2171
|
+
id: a.name
|
|
2172
|
+
}))), m = P(() => {
|
|
2173
2173
|
var d;
|
|
2174
|
-
const
|
|
2175
|
-
return !
|
|
2176
|
-
}), h =
|
|
2177
|
-
var
|
|
2174
|
+
const a = (d = t.config) == null ? void 0 : d.conditions;
|
|
2175
|
+
return !a || !a.layers ? !0 : t.enabledLayerIds.some((v) => a.layers.includes(v));
|
|
2176
|
+
}), h = P(() => {
|
|
2177
|
+
var a;
|
|
2178
2178
|
if (t.enabledLayerIds && t.enabledLayerIds.length) {
|
|
2179
|
-
const v = (((
|
|
2179
|
+
const v = (((a = t.config) == null ? void 0 : a.layers) || []).find((l) => l.id === t.enabledLayerIds[0]);
|
|
2180
2180
|
return (v == null ? void 0 : v.title) || (v == null ? void 0 : v.name) || (v == null ? void 0 : v.label) || t.enabledLayerIds[0];
|
|
2181
2181
|
}
|
|
2182
2182
|
return "";
|
|
2183
|
-
}), g = async ({ url:
|
|
2183
|
+
}), g = async ({ url: a }) => {
|
|
2184
2184
|
var u, f;
|
|
2185
2185
|
const d = (u = t.config) == null ? void 0 : u.conditions;
|
|
2186
2186
|
if (!d) {
|
|
2187
2187
|
const L = (f = t.config) == null ? void 0 : f.layer_id;
|
|
2188
2188
|
if (!L) return;
|
|
2189
|
-
const
|
|
2190
|
-
if (
|
|
2191
|
-
const k =
|
|
2192
|
-
|
|
2189
|
+
const F = t.map.getSource(L);
|
|
2190
|
+
if (F) {
|
|
2191
|
+
const k = F.tiles[0].split("?filter=")[0], _ = a ? `${k}?filter=${a}` : k;
|
|
2192
|
+
F.setTiles([_]);
|
|
2193
2193
|
}
|
|
2194
2194
|
return;
|
|
2195
2195
|
}
|
|
2196
|
-
const v = (d == null ? void 0 : d.layers) || [],
|
|
2197
|
-
|
|
2198
|
-
const
|
|
2199
|
-
if (
|
|
2200
|
-
const k =
|
|
2201
|
-
|
|
2196
|
+
const v = (d == null ? void 0 : d.layers) || [], l = t.enabledLayerIds.filter((L) => v.includes(L));
|
|
2197
|
+
l.length && l.forEach((L) => {
|
|
2198
|
+
const F = t.map.getSource(L);
|
|
2199
|
+
if (F) {
|
|
2200
|
+
const k = F.tiles[0].split("?filter=")[0], _ = a ? `${k}?filter=${a}` : k;
|
|
2201
|
+
F.setTiles([_]);
|
|
2202
2202
|
}
|
|
2203
2203
|
});
|
|
2204
2204
|
};
|
|
2205
2205
|
return fe(
|
|
2206
2206
|
() => t.enabledLayerIds,
|
|
2207
|
-
(
|
|
2208
|
-
(!
|
|
2207
|
+
(a) => {
|
|
2208
|
+
(!a || !a.length) && o.value && (o.value.activeFilters = {}, r.value = 0);
|
|
2209
2209
|
}
|
|
2210
2210
|
), fe(
|
|
2211
2211
|
() => {
|
|
2212
|
-
var
|
|
2213
|
-
return (
|
|
2212
|
+
var a;
|
|
2213
|
+
return (a = o.value) == null ? void 0 : a.activeFilters;
|
|
2214
2214
|
},
|
|
2215
|
-
(
|
|
2216
|
-
r.value = Object.keys(
|
|
2215
|
+
(a) => {
|
|
2216
|
+
r.value = Object.keys(a || {}).length;
|
|
2217
2217
|
},
|
|
2218
2218
|
{ deep: !0 }
|
|
2219
|
-
), (
|
|
2220
|
-
const v = J("VsPopover"),
|
|
2221
|
-
return m.value &&
|
|
2219
|
+
), (a, d) => {
|
|
2220
|
+
const v = J("VsPopover"), l = J("VsFilterList");
|
|
2221
|
+
return m.value && i.value.length ? (c(), X(l, {
|
|
2222
2222
|
key: 0,
|
|
2223
2223
|
ref_key: "filter",
|
|
2224
2224
|
ref: o,
|
|
2225
2225
|
isDialog: e.config.dialog ?? !0,
|
|
2226
|
-
scheme:
|
|
2226
|
+
scheme: i.value,
|
|
2227
2227
|
urlSeparator: "true",
|
|
2228
2228
|
view: "plain",
|
|
2229
2229
|
name: "filter",
|
|
@@ -2265,18 +2265,18 @@ const Fs = /* @__PURE__ */ N(Zr, [["render", Ss], ["__scopeId", "data-v-e9e7021a
|
|
|
2265
2265
|
})
|
|
2266
2266
|
], -1)),
|
|
2267
2267
|
s("span", Bs, S(h.value), 1),
|
|
2268
|
-
r.value ? (c(), p("span", Os, S(r.value), 1)) :
|
|
2268
|
+
r.value ? (c(), p("span", Os, S(r.value), 1)) : j("", !0)
|
|
2269
2269
|
])
|
|
2270
2270
|
])
|
|
2271
2271
|
]),
|
|
2272
2272
|
default: G(() => [
|
|
2273
|
-
d[1] || (d[1] =
|
|
2273
|
+
d[1] || (d[1] = ne(" Відкрити бокову панель ", -1))
|
|
2274
2274
|
]),
|
|
2275
2275
|
_: 1
|
|
2276
2276
|
})
|
|
2277
2277
|
]),
|
|
2278
2278
|
_: 1
|
|
2279
|
-
}, 8, ["isDialog", "scheme"])) :
|
|
2279
|
+
}, 8, ["isDialog", "scheme"])) : j("", !0);
|
|
2280
2280
|
};
|
|
2281
2281
|
}
|
|
2282
2282
|
}, Us = {
|
|
@@ -2343,17 +2343,17 @@ const Fs = /* @__PURE__ */ N(Zr, [["render", Ss], ["__scopeId", "data-v-e9e7021a
|
|
|
2343
2343
|
key: 1,
|
|
2344
2344
|
class: "text-center text-slate-400"
|
|
2345
2345
|
};
|
|
2346
|
-
function Ks(e, t, r, o,
|
|
2346
|
+
function Ks(e, t, r, o, n, i) {
|
|
2347
2347
|
var h;
|
|
2348
2348
|
const m = J("VsPagination");
|
|
2349
2349
|
return c(), p("div", Rs, [
|
|
2350
2350
|
t[0] || (t[0] = s("h2", { class: "text-xl font-semibold mb-4" }, "Список", -1)),
|
|
2351
|
-
((h =
|
|
2351
|
+
((h = n.items) == null ? void 0 : h.length) > 0 ? (c(), p("div", Hs, [
|
|
2352
2352
|
s("div", Ns, [
|
|
2353
|
-
(c(!0), p(z, null, q(
|
|
2353
|
+
(c(!0), p(z, null, q(n.items, (g) => (c(), p("div", {
|
|
2354
2354
|
key: g.id,
|
|
2355
2355
|
class: "py-4 border-b last:border-b-0 hover:bg-gray-50",
|
|
2356
|
-
onClick: (
|
|
2356
|
+
onClick: (a) => e.$emit("cardValuesId", g.id)
|
|
2357
2357
|
}, [
|
|
2358
2358
|
s("h3", Ws, S(g.name), 1),
|
|
2359
2359
|
s("div", qs, [
|
|
@@ -2363,47 +2363,47 @@ function Ks(e, t, r, o, i, n) {
|
|
|
2363
2363
|
"bg-green-100 text-green-800": g.status_data.color === "green",
|
|
2364
2364
|
"bg-red-100 text-red-800": g.status_data.color === "red"
|
|
2365
2365
|
}])
|
|
2366
|
-
}, S(g.status_data.text), 3)) :
|
|
2367
|
-
g.class_mbd_id_data ? (c(), p("span", Gs, S(g.class_mbd_id_data.text), 1)) :
|
|
2366
|
+
}, S(g.status_data.text), 3)) : j("", !0),
|
|
2367
|
+
g.class_mbd_id_data ? (c(), p("span", Gs, S(g.class_mbd_id_data.text), 1)) : j("", !0)
|
|
2368
2368
|
])
|
|
2369
2369
|
], 8, Zs))), 128))
|
|
2370
2370
|
]),
|
|
2371
|
-
|
|
2371
|
+
n.total > n.limit ? (c(), p("div", Js, [
|
|
2372
2372
|
s("div", Qs, [
|
|
2373
2373
|
Z(m, {
|
|
2374
|
-
total:
|
|
2374
|
+
total: n.total,
|
|
2375
2375
|
maxPages: 4,
|
|
2376
|
-
defaultPage:
|
|
2377
|
-
pageSize:
|
|
2376
|
+
defaultPage: n.currentPage,
|
|
2377
|
+
pageSize: n.limit,
|
|
2378
2378
|
goTo: !1,
|
|
2379
2379
|
size: "medium",
|
|
2380
|
-
onPageChange:
|
|
2380
|
+
onPageChange: i.handlePageChange,
|
|
2381
2381
|
backgroundColor: "#e5e7eb",
|
|
2382
2382
|
borderedCellSelected: !0,
|
|
2383
2383
|
pageSizes: [16, 32, 48, 64],
|
|
2384
|
-
onPageSizeChange:
|
|
2384
|
+
onPageSizeChange: i.changeLimit
|
|
2385
2385
|
}, null, 8, ["total", "defaultPage", "pageSize", "onPageChange", "onPageSizeChange"])
|
|
2386
2386
|
])
|
|
2387
|
-
])) :
|
|
2387
|
+
])) : j("", !0)
|
|
2388
2388
|
])) : (c(), p("div", Ys, "Немає даних"))
|
|
2389
2389
|
], 512);
|
|
2390
2390
|
}
|
|
2391
|
-
const Xs = /* @__PURE__ */ N(Us, [["render", Ks]]),
|
|
2391
|
+
const Xs = /* @__PURE__ */ N(Us, [["render", Ks]]), ei = { class: "map-skeleton-loader" }, ti = {
|
|
2392
2392
|
__name: "vs-skeleton-loader",
|
|
2393
2393
|
setup(e) {
|
|
2394
|
-
return (t, r) => (c(), p("div",
|
|
2394
|
+
return (t, r) => (c(), p("div", ei, [...r[0] || (r[0] = [
|
|
2395
2395
|
s("div", { class: "dot-pulse" }, null, -1)
|
|
2396
2396
|
])]));
|
|
2397
2397
|
}
|
|
2398
|
-
},
|
|
2398
|
+
}, oi = /* @__PURE__ */ N(ti, [["__scopeId", "data-v-954c1e03"]]), ri = {}, si = {
|
|
2399
2399
|
width: "24",
|
|
2400
2400
|
height: "24",
|
|
2401
2401
|
viewBox: "0 0 24 24",
|
|
2402
2402
|
fill: "none",
|
|
2403
2403
|
xmlns: "http://www.w3.org/2000/svg"
|
|
2404
2404
|
};
|
|
2405
|
-
function
|
|
2406
|
-
return c(), p("svg",
|
|
2405
|
+
function ii(e, t) {
|
|
2406
|
+
return c(), p("svg", si, [...t[0] || (t[0] = [
|
|
2407
2407
|
s("title", null, "Globe Icon", -1),
|
|
2408
2408
|
s("desc", null, " A circular representation of a globe with horizontal and vertical lines ", -1),
|
|
2409
2409
|
s("path", {
|
|
@@ -2429,9 +2429,9 @@ function nn(e, t) {
|
|
|
2429
2429
|
}, null, -1)
|
|
2430
2430
|
])]);
|
|
2431
2431
|
}
|
|
2432
|
-
const
|
|
2432
|
+
const ni = /* @__PURE__ */ N(ri, [["render", ii]]), li = {
|
|
2433
2433
|
components: {
|
|
2434
|
-
homeIcon:
|
|
2434
|
+
homeIcon: ni
|
|
2435
2435
|
},
|
|
2436
2436
|
name: "vs-homezoom",
|
|
2437
2437
|
props: {
|
|
@@ -2445,7 +2445,7 @@ const an = /* @__PURE__ */ N(rn, [["render", nn]]), ln = {
|
|
|
2445
2445
|
},
|
|
2446
2446
|
computed: {}
|
|
2447
2447
|
};
|
|
2448
|
-
function
|
|
2448
|
+
function ai(e, t, r, o, n, i) {
|
|
2449
2449
|
const m = J("homeIcon"), h = J("VsPopover");
|
|
2450
2450
|
return c(), p("div", null, [
|
|
2451
2451
|
Z(h, {
|
|
@@ -2456,7 +2456,7 @@ function cn(e, t, r, o, i, n) {
|
|
|
2456
2456
|
}, {
|
|
2457
2457
|
reference: G(() => [
|
|
2458
2458
|
Z(m, {
|
|
2459
|
-
onClick:
|
|
2459
|
+
onClick: i.homeZoom,
|
|
2460
2460
|
class: "w-full h-auto p-[9px] [transition:.3s] hover:[transition:.3s] text-[24px] hover:bg-[#DBEAFE] flex font-normal cursor-pointer text-[#1E40AF] bg-[#fff] rounded-[4px] border-[1px] border-solid border-[#E5E7EB]"
|
|
2461
2461
|
}, null, 8, ["onClick"])
|
|
2462
2462
|
]),
|
|
@@ -2467,15 +2467,15 @@ function cn(e, t, r, o, i, n) {
|
|
|
2467
2467
|
})
|
|
2468
2468
|
]);
|
|
2469
2469
|
}
|
|
2470
|
-
const
|
|
2470
|
+
const ci = /* @__PURE__ */ N(li, [["render", ai]]), di = {}, ui = {
|
|
2471
2471
|
width: "24",
|
|
2472
2472
|
height: "24",
|
|
2473
2473
|
viewBox: "0 0 24 24",
|
|
2474
2474
|
fill: "none",
|
|
2475
2475
|
xmlns: "http://www.w3.org/2000/svg"
|
|
2476
2476
|
};
|
|
2477
|
-
function
|
|
2478
|
-
return c(), p("svg",
|
|
2477
|
+
function pi(e, t) {
|
|
2478
|
+
return c(), p("svg", ui, [...t[0] || (t[0] = [
|
|
2479
2479
|
s("title", null, "Document with Two Sections Icon", -1),
|
|
2480
2480
|
s("desc", null, "A document icon with a split design indicating two sections", -1),
|
|
2481
2481
|
s("path", {
|
|
@@ -2501,9 +2501,9 @@ function hn(e, t) {
|
|
|
2501
2501
|
}, null, -1)
|
|
2502
2502
|
])]);
|
|
2503
2503
|
}
|
|
2504
|
-
const
|
|
2504
|
+
const hi = /* @__PURE__ */ N(di, [["render", pi]]), fi = {
|
|
2505
2505
|
components: {
|
|
2506
|
-
printIcon:
|
|
2506
|
+
printIcon: hi,
|
|
2507
2507
|
VsPopover: Ve
|
|
2508
2508
|
},
|
|
2509
2509
|
props: {
|
|
@@ -2588,13 +2588,13 @@ const fn = /* @__PURE__ */ N(un, [["render", hn]]), gn = {
|
|
|
2588
2588
|
return;
|
|
2589
2589
|
}
|
|
2590
2590
|
window.mapboxgl.accessToken = "pk.eyJ1Ijoia3Jpemhhbm92c2t5IiwiYSI6ImNsemkxNWtkODA5dDcycnNhMWZzYWM0MTAifQ.6fEpgfd_2mA4UYuflDewpQ";
|
|
2591
|
-
const { MapboxExportControl: e, Size: t, PageOrientation: r, Format: o, DPI:
|
|
2591
|
+
const { MapboxExportControl: e, Size: t, PageOrientation: r, Format: o, DPI: n } = window.MapboxExportControl;
|
|
2592
2592
|
this.map.addControl(
|
|
2593
2593
|
new e({
|
|
2594
2594
|
PageSize: t.A3,
|
|
2595
2595
|
PageOrientation: r.Portrait,
|
|
2596
2596
|
Format: o.PNG,
|
|
2597
|
-
DPI:
|
|
2597
|
+
DPI: n[96],
|
|
2598
2598
|
Crosshair: !0,
|
|
2599
2599
|
PrintableArea: !0,
|
|
2600
2600
|
Local: "uk"
|
|
@@ -2618,7 +2618,7 @@ const fn = /* @__PURE__ */ N(un, [["render", hn]]), gn = {
|
|
|
2618
2618
|
}
|
|
2619
2619
|
}
|
|
2620
2620
|
};
|
|
2621
|
-
function
|
|
2621
|
+
function gi(e, t, r, o, n, i) {
|
|
2622
2622
|
const m = J("printIcon"), h = J("VsPopover");
|
|
2623
2623
|
return c(), X(h, {
|
|
2624
2624
|
trigger: "hover",
|
|
@@ -2627,8 +2627,8 @@ function vn(e, t, r, o, i, n) {
|
|
|
2627
2627
|
}, {
|
|
2628
2628
|
reference: G(() => [
|
|
2629
2629
|
Z(m, {
|
|
2630
|
-
onClick:
|
|
2631
|
-
class: K([
|
|
2630
|
+
onClick: i.togglePrint,
|
|
2631
|
+
class: K([i.modalButtonClasses, "print-button w-full h-auto p-[9px] [transition:.3s] hover:[transition:.3s] text-[24px] hover:bg-[#DBEAFE] flex font-normal cursor-pointer text-[#1E40AF] bg-[#fff] rounded-[4px] border-[1px] border-solid border-[#E5E7EB]"])
|
|
2632
2632
|
}, null, 8, ["onClick", "class"])
|
|
2633
2633
|
]),
|
|
2634
2634
|
default: G(() => [
|
|
@@ -2637,7 +2637,7 @@ function vn(e, t, r, o, i, n) {
|
|
|
2637
2637
|
_: 1
|
|
2638
2638
|
});
|
|
2639
2639
|
}
|
|
2640
|
-
const
|
|
2640
|
+
const vi = /* @__PURE__ */ N(fi, [["render", gi]]), mi = {
|
|
2641
2641
|
props: {
|
|
2642
2642
|
map: {
|
|
2643
2643
|
type: Object,
|
|
@@ -2675,7 +2675,7 @@ const mn = /* @__PURE__ */ N(gn, [["render", vn]]), yn = {
|
|
|
2675
2675
|
}
|
|
2676
2676
|
}
|
|
2677
2677
|
};
|
|
2678
|
-
function
|
|
2678
|
+
function yi(e, t, r, o, n, i) {
|
|
2679
2679
|
const m = J("VsPopover");
|
|
2680
2680
|
return c(), X(m, {
|
|
2681
2681
|
trigger: "hover",
|
|
@@ -2686,8 +2686,8 @@ function bn(e, t, r, o, i, n) {
|
|
|
2686
2686
|
reference: G(() => [
|
|
2687
2687
|
s("div", {
|
|
2688
2688
|
class: "font-light w-full h-[44px] p-[9px] [transition:.3s] hover:[transition:.3s] text-[19px] hover:bg-[#DBEAFE] flex cursor-pointer text-[#1E40AF] bg-[#fff] rounded-[4px] border-[1px] border-solid border-[#E5E7EB]",
|
|
2689
|
-
onClick: t[0] || (t[0] = (...h) =>
|
|
2690
|
-
}, S(
|
|
2689
|
+
onClick: t[0] || (t[0] = (...h) => i.toggleView && i.toggleView(...h))
|
|
2690
|
+
}, S(n.is3D ? "2D" : "3D"), 1)
|
|
2691
2691
|
]),
|
|
2692
2692
|
default: G(() => [
|
|
2693
2693
|
t[1] || (t[1] = s("div", null, "Перемикач виду", -1))
|
|
@@ -2695,22 +2695,22 @@ function bn(e, t, r, o, i, n) {
|
|
|
2695
2695
|
_: 1
|
|
2696
2696
|
});
|
|
2697
2697
|
}
|
|
2698
|
-
const
|
|
2698
|
+
const bi = /* @__PURE__ */ N(mi, [["render", yi]]), wi = {
|
|
2699
2699
|
props: {
|
|
2700
2700
|
bgColor: {
|
|
2701
2701
|
type: String,
|
|
2702
2702
|
default: "#1E40AF"
|
|
2703
2703
|
}
|
|
2704
2704
|
}
|
|
2705
|
-
},
|
|
2705
|
+
}, xi = {
|
|
2706
2706
|
width: "24",
|
|
2707
2707
|
height: "24",
|
|
2708
2708
|
viewBox: "0 0 24 24",
|
|
2709
2709
|
fill: "none",
|
|
2710
2710
|
xmlns: "http://www.w3.org/2000/svg"
|
|
2711
|
-
},
|
|
2712
|
-
function
|
|
2713
|
-
return c(), p("svg",
|
|
2711
|
+
}, _i = ["stroke"], ki = ["stroke"], Li = ["stroke"], Ci = ["stroke"], $i = ["stroke"], Ii = ["stroke"];
|
|
2712
|
+
function Vi(e, t, r, o, n, i) {
|
|
2713
|
+
return c(), p("svg", xi, [
|
|
2714
2714
|
t[0] || (t[0] = s("title", null, "Target Icon", -1)),
|
|
2715
2715
|
t[1] || (t[1] = s("desc", null, "A target icon with a circular pattern inside a rounded square", -1)),
|
|
2716
2716
|
s("path", {
|
|
@@ -2719,47 +2719,47 @@ function Sn(e, t, r, o, i, n) {
|
|
|
2719
2719
|
"stroke-width": "1",
|
|
2720
2720
|
"stroke-linecap": "round",
|
|
2721
2721
|
"stroke-linejoin": "round"
|
|
2722
|
-
}, null, 8,
|
|
2722
|
+
}, null, 8, _i),
|
|
2723
2723
|
s("path", {
|
|
2724
2724
|
d: "M19 12H22",
|
|
2725
2725
|
stroke: r.bgColor,
|
|
2726
2726
|
"stroke-width": "1",
|
|
2727
2727
|
"stroke-linecap": "round",
|
|
2728
2728
|
"stroke-linejoin": "round"
|
|
2729
|
-
}, null, 8,
|
|
2729
|
+
}, null, 8, ki),
|
|
2730
2730
|
s("path", {
|
|
2731
2731
|
d: "M12 2V5",
|
|
2732
2732
|
stroke: r.bgColor,
|
|
2733
2733
|
"stroke-width": "1",
|
|
2734
2734
|
"stroke-linecap": "round",
|
|
2735
2735
|
"stroke-linejoin": "round"
|
|
2736
|
-
}, null, 8,
|
|
2736
|
+
}, null, 8, Li),
|
|
2737
2737
|
s("path", {
|
|
2738
2738
|
d: "M12 19V22",
|
|
2739
2739
|
stroke: r.bgColor,
|
|
2740
2740
|
"stroke-width": "1",
|
|
2741
2741
|
"stroke-linecap": "round",
|
|
2742
2742
|
"stroke-linejoin": "round"
|
|
2743
|
-
}, null, 8,
|
|
2743
|
+
}, null, 8, Ci),
|
|
2744
2744
|
s("path", {
|
|
2745
2745
|
d: "M12 19C15.866 19 19 15.866 19 12C19 8.13401 15.866 5 12 5C8.13401 5 5 8.13401 5 12C5 15.866 8.13401 19 12 19Z",
|
|
2746
2746
|
stroke: r.bgColor,
|
|
2747
2747
|
"stroke-width": "1",
|
|
2748
2748
|
"stroke-linecap": "round",
|
|
2749
2749
|
"stroke-linejoin": "round"
|
|
2750
|
-
}, null, 8,
|
|
2750
|
+
}, null, 8, $i),
|
|
2751
2751
|
s("path", {
|
|
2752
2752
|
d: "M12 15C13.6569 15 15 13.6569 15 12C15 10.3431 13.6569 9 12 9C10.3431 9 9 10.3431 9 12C9 13.6569 10.3431 15 12 15Z",
|
|
2753
2753
|
stroke: r.bgColor,
|
|
2754
2754
|
"stroke-width": "1",
|
|
2755
2755
|
"stroke-linecap": "round",
|
|
2756
2756
|
"stroke-linejoin": "round"
|
|
2757
|
-
}, null, 8,
|
|
2757
|
+
}, null, 8, Ii)
|
|
2758
2758
|
]);
|
|
2759
2759
|
}
|
|
2760
|
-
const
|
|
2760
|
+
const Si = /* @__PURE__ */ N(wi, [["render", Vi]]), ji = {
|
|
2761
2761
|
components: {
|
|
2762
|
-
geoIcon:
|
|
2762
|
+
geoIcon: Si,
|
|
2763
2763
|
VsPopover: Ve,
|
|
2764
2764
|
closeIcon: ot
|
|
2765
2765
|
},
|
|
@@ -2814,11 +2814,11 @@ const Fn = /* @__PURE__ */ N(xn, [["render", Sn]]), jn = {
|
|
|
2814
2814
|
`https://nominatim.openstreetmap.org/reverse?format=json&lat=${this.location.latitude}&lon=${this.location.longitude}`
|
|
2815
2815
|
)).json();
|
|
2816
2816
|
this.data = r.address;
|
|
2817
|
-
const o = [this.location.longitude, this.location.latitude],
|
|
2817
|
+
const o = [this.location.longitude, this.location.latitude], n = [
|
|
2818
2818
|
[parseFloat(r.boundingbox[2]), parseFloat(r.boundingbox[0])],
|
|
2819
2819
|
[parseFloat(r.boundingbox[3]), parseFloat(r.boundingbox[1])]
|
|
2820
2820
|
];
|
|
2821
|
-
this.map.fitBounds(
|
|
2821
|
+
this.map.fitBounds(n, {
|
|
2822
2822
|
padding: 200,
|
|
2823
2823
|
maxZoom: 16
|
|
2824
2824
|
}), this.marker || (this.marker = new Marker({
|
|
@@ -2836,49 +2836,49 @@ const Fn = /* @__PURE__ */ N(xn, [["render", Sn]]), jn = {
|
|
|
2836
2836
|
}), this.$emit("close");
|
|
2837
2837
|
}
|
|
2838
2838
|
}
|
|
2839
|
-
},
|
|
2839
|
+
}, Fi = {
|
|
2840
2840
|
key: 0,
|
|
2841
2841
|
class: "max-w-[412px] absolute w-full top-[20px] right-[70px] bg-white border rounded-[15px] p-4 z-10"
|
|
2842
|
-
},
|
|
2843
|
-
function
|
|
2844
|
-
var
|
|
2842
|
+
}, Ei = { class: "flex justify-between items-center border-b pb-[16px]" }, Pi = { class: "d-flex" }, Mi = { class: "pt-[16px]" };
|
|
2843
|
+
function Ti(e, t, r, o, n, i) {
|
|
2844
|
+
var a, d, v, l, u, f;
|
|
2845
2845
|
const m = J("closeIcon"), h = J("geoIcon"), g = J("VsPopover");
|
|
2846
2846
|
return c(), p("div", null, [
|
|
2847
2847
|
(c(), X(Qe, { to: "#maplibre-demo-map" }, [
|
|
2848
|
-
|
|
2849
|
-
s("div",
|
|
2848
|
+
n.location ? (c(), p("div", Fi, [
|
|
2849
|
+
s("div", Ei, [
|
|
2850
2850
|
t[0] || (t[0] = s("div", { class: "text-lg font-semibold" }, "Ваша геолокація", -1)),
|
|
2851
|
-
s("div",
|
|
2852
|
-
Z(m, { onClick:
|
|
2851
|
+
s("div", Pi, [
|
|
2852
|
+
Z(m, { onClick: i.closeGeolocation }, null, 8, ["onClick"])
|
|
2853
2853
|
])
|
|
2854
2854
|
]),
|
|
2855
|
-
s("div",
|
|
2855
|
+
s("div", Mi, [
|
|
2856
2856
|
s("div", null, [
|
|
2857
2857
|
t[1] || (t[1] = s("strong", null, "Широта:", -1)),
|
|
2858
|
-
|
|
2858
|
+
ne(" " + S((a = n.location) == null ? void 0 : a.latitude), 1)
|
|
2859
2859
|
]),
|
|
2860
2860
|
s("div", null, [
|
|
2861
2861
|
t[2] || (t[2] = s("strong", null, "Довгота:", -1)),
|
|
2862
|
-
|
|
2862
|
+
ne(" " + S((d = n.location) == null ? void 0 : d.longitude), 1)
|
|
2863
2863
|
]),
|
|
2864
2864
|
s("div", null, [
|
|
2865
2865
|
t[3] || (t[3] = s("strong", null, "КраЇна:", -1)),
|
|
2866
|
-
|
|
2866
|
+
ne(" " + S((v = n.data) == null ? void 0 : v.country), 1)
|
|
2867
2867
|
]),
|
|
2868
2868
|
s("div", null, [
|
|
2869
2869
|
t[4] || (t[4] = s("strong", null, "Код країни:", -1)),
|
|
2870
|
-
|
|
2870
|
+
ne(" " + S((l = n.data) == null ? void 0 : l.country_code), 1)
|
|
2871
2871
|
]),
|
|
2872
2872
|
s("div", null, [
|
|
2873
2873
|
t[5] || (t[5] = s("strong", null, "Місто:", -1)),
|
|
2874
|
-
|
|
2874
|
+
ne(" " + S((u = n.data) == null ? void 0 : u.city), 1)
|
|
2875
2875
|
]),
|
|
2876
2876
|
s("div", null, [
|
|
2877
2877
|
t[6] || (t[6] = s("strong", null, "Поштовий індекс:", -1)),
|
|
2878
|
-
|
|
2878
|
+
ne(" " + S((f = n.data) == null ? void 0 : f.postcode), 1)
|
|
2879
2879
|
])
|
|
2880
2880
|
])
|
|
2881
|
-
])) :
|
|
2881
|
+
])) : j("", !0)
|
|
2882
2882
|
])),
|
|
2883
2883
|
Z(g, {
|
|
2884
2884
|
trigger: "hover",
|
|
@@ -2888,8 +2888,8 @@ function zn(e, t, r, o, i, n) {
|
|
|
2888
2888
|
}, {
|
|
2889
2889
|
reference: G(() => [
|
|
2890
2890
|
Z(h, {
|
|
2891
|
-
onClick:
|
|
2892
|
-
class: K([
|
|
2891
|
+
onClick: i.togleGeolocation,
|
|
2892
|
+
class: K([i.modalButtonClasses, "w-full h-auto p-[9px] [transition:.3s] hover:[transition:.3s] text-[24px] hover:bg-[#DBEAFE] flex font-normal cursor-pointer text-[#1E40AF] bg-[#fff] rounded-[4px] border-[1px] border-solid border-[#E5E7EB]"])
|
|
2893
2893
|
}, null, 8, ["onClick", "class"])
|
|
2894
2894
|
]),
|
|
2895
2895
|
default: G(() => [
|
|
@@ -2899,7 +2899,7 @@ function zn(e, t, r, o, i, n) {
|
|
|
2899
2899
|
})
|
|
2900
2900
|
]);
|
|
2901
2901
|
}
|
|
2902
|
-
const
|
|
2902
|
+
const zi = /* @__PURE__ */ N(ji, [["render", Ti]]), ze = {
|
|
2903
2903
|
__name: "vs-map-widget-column",
|
|
2904
2904
|
props: {
|
|
2905
2905
|
position: String,
|
|
@@ -2924,29 +2924,29 @@ const An = /* @__PURE__ */ N(jn, [["render", zn]]), ze = {
|
|
|
2924
2924
|
"content-resize"
|
|
2925
2925
|
],
|
|
2926
2926
|
setup(e, { expose: t, emit: r }) {
|
|
2927
|
-
const o = r,
|
|
2928
|
-
|
|
2927
|
+
const o = r, n = e, i = T(
|
|
2928
|
+
n.widgets.map((a) => {
|
|
2929
2929
|
var d;
|
|
2930
2930
|
return {
|
|
2931
|
-
...
|
|
2932
|
-
config: { ...
|
|
2931
|
+
...a,
|
|
2932
|
+
config: { ...a.config, visible: ((d = a.config) == null ? void 0 : d.visible) !== !1 }
|
|
2933
2933
|
};
|
|
2934
2934
|
})
|
|
2935
2935
|
);
|
|
2936
2936
|
fe(
|
|
2937
|
-
() =>
|
|
2937
|
+
() => n.widgets.map((a) => a.id || a.type).join(","),
|
|
2938
2938
|
() => {
|
|
2939
|
-
|
|
2939
|
+
i.value = n.widgets.map((a) => {
|
|
2940
2940
|
var d;
|
|
2941
2941
|
return {
|
|
2942
|
-
...
|
|
2943
|
-
config: { ...
|
|
2942
|
+
...a,
|
|
2943
|
+
config: { ...a.config, visible: ((d = a.config) == null ? void 0 : d.visible) !== !1 }
|
|
2944
2944
|
};
|
|
2945
2945
|
});
|
|
2946
2946
|
}
|
|
2947
2947
|
);
|
|
2948
|
-
function m(
|
|
2949
|
-
const d =
|
|
2948
|
+
function m(a) {
|
|
2949
|
+
const d = i.value.find((v) => v.id === a);
|
|
2950
2950
|
d && d.config && (d.config.visible = !d.config.visible, setTimeout(() => {
|
|
2951
2951
|
o("content-resize");
|
|
2952
2952
|
}, 30));
|
|
@@ -2956,8 +2956,8 @@ const An = /* @__PURE__ */ N(jn, [["render", zn]]), ze = {
|
|
|
2956
2956
|
let g = null;
|
|
2957
2957
|
return ke(() => {
|
|
2958
2958
|
g = new MutationObserver(() => {
|
|
2959
|
-
var
|
|
2960
|
-
clearTimeout((
|
|
2959
|
+
var a;
|
|
2960
|
+
clearTimeout((a = h.value) == null ? void 0 : a._resizeTimeout), h.value._resizeTimeout = setTimeout(() => {
|
|
2961
2961
|
o("content-resize");
|
|
2962
2962
|
}, 30);
|
|
2963
2963
|
}), h.value && g.observe(h.value, {
|
|
@@ -2967,7 +2967,7 @@ const An = /* @__PURE__ */ N(jn, [["render", zn]]), ze = {
|
|
|
2967
2967
|
});
|
|
2968
2968
|
}), yt(() => {
|
|
2969
2969
|
g && g.disconnect();
|
|
2970
|
-
}), (
|
|
2970
|
+
}), (a, d) => e.mapLoaded ? (c(), p("div", {
|
|
2971
2971
|
key: 0,
|
|
2972
2972
|
class: "widget-column",
|
|
2973
2973
|
ref_key: "columnRef",
|
|
@@ -2977,8 +2977,8 @@ const An = /* @__PURE__ */ N(jn, [["render", zn]]), ze = {
|
|
|
2977
2977
|
paddingRight: e.rightColumnOffset
|
|
2978
2978
|
})
|
|
2979
2979
|
}, [
|
|
2980
|
-
(c(!0), p(z, null, q(
|
|
2981
|
-
var
|
|
2980
|
+
(c(!0), p(z, null, q(i.value, (v) => {
|
|
2981
|
+
var l;
|
|
2982
2982
|
return c(), p(z, {
|
|
2983
2983
|
key: v.id || v.type
|
|
2984
2984
|
}, [
|
|
@@ -2990,27 +2990,27 @@ const An = /* @__PURE__ */ N(jn, [["render", zn]]), ze = {
|
|
|
2990
2990
|
currentLayer: e.currentFilterLayer,
|
|
2991
2991
|
enabledLayerIds: e.enabledLayerIds,
|
|
2992
2992
|
history: e.history,
|
|
2993
|
-
onSetFilterLayer: d[0] || (d[0] = (u) =>
|
|
2994
|
-
"onUpdate:enabledLayerIds": d[1] || (d[1] = (u) =>
|
|
2995
|
-
onCardValuesId: d[2] || (d[2] = (u) =>
|
|
2993
|
+
onSetFilterLayer: d[0] || (d[0] = (u) => a.$emit("set-filter-layer", u)),
|
|
2994
|
+
"onUpdate:enabledLayerIds": d[1] || (d[1] = (u) => a.$emit("update:enabledLayerIds", u)),
|
|
2995
|
+
onCardValuesId: d[2] || (d[2] = (u) => a.$emit("cardValuesId", u)),
|
|
2996
2996
|
onShowWidget: m,
|
|
2997
|
-
onCatalogLayers: d[3] || (d[3] = (u) =>
|
|
2997
|
+
onCatalogLayers: d[3] || (d[3] = (u) => a.$emit("catalog-layers", u)),
|
|
2998
2998
|
class: "widget"
|
|
2999
2999
|
}, null, 40, ["map", "config", "hasFilters", "currentLayer", "enabledLayerIds", "history"])), [
|
|
3000
|
-
[
|
|
3001
|
-
]) :
|
|
3000
|
+
[Fe, ((l = v.config) == null ? void 0 : l.visible) !== !1]
|
|
3001
|
+
]) : j("", !0),
|
|
3002
3002
|
e.cardValues && v.type === "card" ? (c(), X(tt, {
|
|
3003
3003
|
key: 1,
|
|
3004
3004
|
config: v.config,
|
|
3005
3005
|
cardValues: e.cardValues,
|
|
3006
3006
|
class: "widget",
|
|
3007
|
-
onClose: d[4] || (d[4] = (u) =>
|
|
3008
|
-
}, null, 8, ["config", "cardValues"])) :
|
|
3007
|
+
onClose: d[4] || (d[4] = (u) => a.$emit("closeCard"))
|
|
3008
|
+
}, null, 8, ["config", "cardValues"])) : j("", !0)
|
|
3009
3009
|
], 64);
|
|
3010
3010
|
}), 128))
|
|
3011
|
-
], 4)) :
|
|
3011
|
+
], 4)) : j("", !0);
|
|
3012
3012
|
}
|
|
3013
|
-
},
|
|
3013
|
+
}, Ai = { class: "map-widgets-flex" }, Bi = { class: "widgets-left" }, Oi = { class: "widgets-top" }, Di = { class: "widgets-bottom" }, Ui = { class: "widgets-right" }, Ri = { class: "widgets-top" }, Hi = { class: "widgets-bottom" }, Ni = { class: "absolute top-[180px] right-2 z-10 flex flex-col gap-[5px]" }, Zi = /* @__PURE__ */ We({
|
|
3014
3014
|
__name: "vs-map",
|
|
3015
3015
|
props: {
|
|
3016
3016
|
table: {},
|
|
@@ -3018,25 +3018,25 @@ const An = /* @__PURE__ */ N(jn, [["render", zn]]), ze = {
|
|
|
3018
3018
|
height: {}
|
|
3019
3019
|
},
|
|
3020
3020
|
setup(e) {
|
|
3021
|
-
const t = bt(), r = e, o = T(null),
|
|
3022
|
-
let
|
|
3023
|
-
const m = T(null), h = T(null), g = T([]),
|
|
3021
|
+
const t = bt(), r = e, o = T(null), n = T(!1);
|
|
3022
|
+
let i = null;
|
|
3023
|
+
const m = T(null), h = T(null), g = T([]), a = T([]), d = T(null), v = T(null), l = T(null), u = T([]);
|
|
3024
3024
|
let f = null;
|
|
3025
3025
|
function L(b) {
|
|
3026
|
-
return !
|
|
3027
|
-
...
|
|
3026
|
+
return !l.value || !l.value.widgets ? [] : b === "center" ? [
|
|
3027
|
+
...l.value.widgets.filter(
|
|
3028
3028
|
(x) => (x.position || {}) === "center"
|
|
3029
3029
|
) || [],
|
|
3030
|
-
...
|
|
3031
|
-
] :
|
|
3030
|
+
...a.value.filter((x) => x.position === "center")
|
|
3031
|
+
] : l.value.widgets.filter(
|
|
3032
3032
|
(y) => (y.position || {}) === b
|
|
3033
3033
|
) || [];
|
|
3034
3034
|
}
|
|
3035
|
-
const
|
|
3036
|
-
const C =
|
|
3035
|
+
const F = (b, y, x) => y[b] || b, B = (b, y, x, $, w) => {
|
|
3036
|
+
const C = F(b, $), E = y ? F(y, $) : "";
|
|
3037
3037
|
let V = "";
|
|
3038
3038
|
return x != null && x.length && (V = x.map((H) => {
|
|
3039
|
-
const O =
|
|
3039
|
+
const O = F(H.value, $);
|
|
3040
3040
|
return `
|
|
3041
3041
|
<tr class="flex justify-between items-center">
|
|
3042
3042
|
<td class="font-medium mr-1.5 flex items-center">${H.label}</td>
|
|
@@ -3050,7 +3050,7 @@ const An = /* @__PURE__ */ N(jn, [["render", zn]]), ze = {
|
|
|
3050
3050
|
<h3>${C}</h3>
|
|
3051
3051
|
</div>
|
|
3052
3052
|
` : ""}
|
|
3053
|
-
${y ? `<div class="text-sm px-2 py-1 break-words">${
|
|
3053
|
+
${y ? `<div class="text-sm px-2 py-1 break-words">${E}</div>` : ""}
|
|
3054
3054
|
${x != null && x.length && !y ? `
|
|
3055
3055
|
<div class="text-xs px-2 py-0.5 text-gray-500">
|
|
3056
3056
|
<table class="w-full">
|
|
@@ -3062,19 +3062,19 @@ const An = /* @__PURE__ */ N(jn, [["render", zn]]), ze = {
|
|
|
3062
3062
|
`;
|
|
3063
3063
|
}, k = (b) => ({
|
|
3064
3064
|
legend: Vt,
|
|
3065
|
-
basemaps:
|
|
3065
|
+
basemaps: Et,
|
|
3066
3066
|
layers: co,
|
|
3067
3067
|
info: wo,
|
|
3068
3068
|
attribute: er,
|
|
3069
|
-
catalog:
|
|
3069
|
+
catalog: js,
|
|
3070
3070
|
filters: Ts,
|
|
3071
3071
|
"inline-filters": Ds,
|
|
3072
3072
|
list: Xs,
|
|
3073
3073
|
card: tt
|
|
3074
|
-
})[b], _ =
|
|
3074
|
+
})[b], _ = P(() => !!l.value && Array.isArray(l.value.widgets) && l.value.widgets.some((b) => b.type === "filters")), A = (b) => {
|
|
3075
3075
|
m.value = b;
|
|
3076
3076
|
};
|
|
3077
|
-
function
|
|
3077
|
+
function le() {
|
|
3078
3078
|
const b = new URLSearchParams(window.location.search), y = parseFloat(b.get("x")), x = parseFloat(b.get("y")), $ = parseFloat(b.get("z")), w = parseFloat(b.get("bearing")), C = parseFloat(b.get("pitch"));
|
|
3079
3079
|
return {
|
|
3080
3080
|
center: isFinite(y) && isFinite(x) ? [y, x] : null,
|
|
@@ -3090,17 +3090,17 @@ const An = /* @__PURE__ */ N(jn, [["render", zn]]), ze = {
|
|
|
3090
3090
|
window.history.replaceState({}, "", C);
|
|
3091
3091
|
}
|
|
3092
3092
|
const pe = () => {
|
|
3093
|
-
var
|
|
3094
|
-
if (!
|
|
3093
|
+
var E, V, H;
|
|
3094
|
+
if (!l.value || !l.value.map) return;
|
|
3095
3095
|
const b = {
|
|
3096
3096
|
version: 8,
|
|
3097
3097
|
glyphs: "https://cdn.softpro.ua/data/fonts/{fontstack}/{range}.pbf",
|
|
3098
3098
|
sources: {},
|
|
3099
3099
|
layers: []
|
|
3100
3100
|
}, y = (t == null ? void 0 : t.appContext.config.globalProperties.$settings) || {};
|
|
3101
|
-
let x =
|
|
3102
|
-
if (
|
|
3103
|
-
const O =
|
|
3101
|
+
let x = l.value.map.center || y.center || [50, 30], $ = l.value.map.zoom || y.zoom || 10, w = l.value.map.bearing || 0, C = l.value.map.pitch || 0;
|
|
3102
|
+
if (l.value.history) {
|
|
3103
|
+
const O = le();
|
|
3104
3104
|
O.center && (x = O.center), O.zoom !== null && ($ = O.zoom), O.bearing !== null && (w = O.bearing), O.pitch !== null && (C = O.pitch);
|
|
3105
3105
|
}
|
|
3106
3106
|
o.value = new maplibregl.Map({
|
|
@@ -3113,11 +3113,11 @@ const An = /* @__PURE__ */ N(jn, [["render", zn]]), ze = {
|
|
|
3113
3113
|
maxZoom: 19,
|
|
3114
3114
|
minZoom: 5
|
|
3115
3115
|
// maxBounds: [18.0856083513, 40.3614785833, 58.0807890155, 56.3350745713],
|
|
3116
|
-
}), console.log({ center: x, zoom: $ }), (H = (V = (
|
|
3116
|
+
}), console.log({ center: x, zoom: $ }), (H = (V = (E = l == null ? void 0 : l.value) == null ? void 0 : E.interactions) == null ? void 0 : V.navigation) != null && H.enabled && !f && (f = new maplibregl.NavigationControl(), o.value.addControl(f, "top-right")), o.value.on("load", async () => {
|
|
3117
3117
|
var me, Y, Ce, U;
|
|
3118
|
-
if (
|
|
3118
|
+
if (n.value = !0, await (async () => {
|
|
3119
3119
|
var R, I, oe, te, ee;
|
|
3120
|
-
const W = ((ee = (te = (oe = (I = (R =
|
|
3120
|
+
const W = ((ee = (te = (oe = (I = (R = l.value) == null ? void 0 : R.widgets) == null ? void 0 : I.find((M) => M.type === "layers")) == null ? void 0 : oe.config) == null ? void 0 : te.layers) == null ? void 0 : ee.filter(
|
|
3121
3121
|
(M) => {
|
|
3122
3122
|
var ce;
|
|
3123
3123
|
return ((ce = M.style) == null ? void 0 : ce.attrType) === "icon-by-attribute";
|
|
@@ -3135,7 +3135,7 @@ const An = /* @__PURE__ */ N(jn, [["render", zn]]), ze = {
|
|
|
3135
3135
|
console.error(`Failed to load icon: ${re}`, de);
|
|
3136
3136
|
}
|
|
3137
3137
|
}
|
|
3138
|
-
})(), (Ce = (Y = (me =
|
|
3138
|
+
})(), (Ce = (Y = (me = l.value) == null ? void 0 : me.interactions) == null ? void 0 : Y.hover) != null && Ce.enabled && (o.value.on("mousemove", (W) => {
|
|
3139
3139
|
var ce, ye, be, we, re, de, xe, Se, Q, Te;
|
|
3140
3140
|
const R = o.value.queryRenderedFeatures(W.point);
|
|
3141
3141
|
if (o.value && o.value.getCanvas && (o.value.getCanvas().style.cursor = R.length ? "pointer" : ""), !R.length) {
|
|
@@ -3150,7 +3150,7 @@ const An = /* @__PURE__ */ N(jn, [["render", zn]]), ze = {
|
|
|
3150
3150
|
{ hovered: !1 }
|
|
3151
3151
|
), h.value = null;
|
|
3152
3152
|
}
|
|
3153
|
-
|
|
3153
|
+
i && (i.remove(), i = null);
|
|
3154
3154
|
return;
|
|
3155
3155
|
}
|
|
3156
3156
|
const I = R[0];
|
|
@@ -3171,23 +3171,23 @@ const An = /* @__PURE__ */ N(jn, [["render", zn]]), ze = {
|
|
|
3171
3171
|
hovered: !0
|
|
3172
3172
|
}), h.value = { source: I.layer.source, id: I.id };
|
|
3173
3173
|
}
|
|
3174
|
-
const oe = (re = (we =
|
|
3174
|
+
const oe = (re = (we = l.value) == null ? void 0 : we.widgets) == null ? void 0 : re.find(
|
|
3175
3175
|
(D) => D.type === "layers"
|
|
3176
|
-
), te = (xe = (de =
|
|
3176
|
+
), te = (xe = (de = l.value) == null ? void 0 : de.widgets) == null ? void 0 : xe.find(
|
|
3177
3177
|
(D) => D.type === "attribute"
|
|
3178
3178
|
);
|
|
3179
3179
|
let ee = null;
|
|
3180
3180
|
if (oe && (ee = oe.config.layers.find(
|
|
3181
3181
|
(D) => D.id === I.layer.source
|
|
3182
|
-
)), (Q = (Se =
|
|
3182
|
+
)), (Q = (Se = l.value) == null ? void 0 : Se.widgets) == null ? void 0 : Q.find(
|
|
3183
3183
|
(D) => D.type === "catalog"
|
|
3184
3184
|
)) {
|
|
3185
3185
|
if (!R.length) {
|
|
3186
|
-
|
|
3186
|
+
i && (i.style.display = "none");
|
|
3187
3187
|
return;
|
|
3188
3188
|
}
|
|
3189
3189
|
const D = R[0];
|
|
3190
|
-
|
|
3190
|
+
i = ut(D, W, i);
|
|
3191
3191
|
return;
|
|
3192
3192
|
}
|
|
3193
3193
|
if (!ee && te && te.config.layer.id === I.layer.source && (ee = te.config.layer), (Te = ee == null ? void 0 : ee.style) != null && Te.popup) {
|
|
@@ -3195,17 +3195,17 @@ const An = /* @__PURE__ */ N(jn, [["render", zn]]), ze = {
|
|
|
3195
3195
|
let De = D.title, Ue = "";
|
|
3196
3196
|
D.mode === "markdown" ? Ue = Array.isArray(D.content) ? D.content.join(`
|
|
3197
3197
|
|
|
3198
|
-
`) : "" : Ue = Array.isArray(D.content) ? D.content.join("") : "",
|
|
3198
|
+
`) : "" : Ue = Array.isArray(D.content) ? D.content.join("") : "", i || (i = document.createElement("div"), o.value.getContainer().appendChild(i)), i.innerHTML = B(
|
|
3199
3199
|
De,
|
|
3200
3200
|
Ue,
|
|
3201
3201
|
D.fields,
|
|
3202
3202
|
I.properties,
|
|
3203
3203
|
D.mode
|
|
3204
|
-
), Je(
|
|
3204
|
+
), Je(i, W);
|
|
3205
3205
|
}
|
|
3206
3206
|
}), o.value.on("mouseleave", () => {
|
|
3207
3207
|
var W;
|
|
3208
|
-
if (
|
|
3208
|
+
if (i && (i.remove(), i = null), h.value) {
|
|
3209
3209
|
const R = (W = o.value.getSource(
|
|
3210
3210
|
h.value.source
|
|
3211
3211
|
)) == null ? void 0 : W.type;
|
|
@@ -3219,14 +3219,14 @@ const An = /* @__PURE__ */ N(jn, [["render", zn]]), ze = {
|
|
|
3219
3219
|
o.value && o.value.getCanvas && (o.value.getCanvas().style.cursor = "");
|
|
3220
3220
|
})), o.value.on("click", async (W) => {
|
|
3221
3221
|
var ye, be, we, re, de, xe, Se;
|
|
3222
|
-
if (
|
|
3222
|
+
if (ae(), ["length", "area", "print"].includes(v.value)) return;
|
|
3223
3223
|
const R = o.value.queryRenderedFeatures(W.point);
|
|
3224
3224
|
if (!R.length) return;
|
|
3225
|
-
const I = R[0], oe = (be = (ye =
|
|
3225
|
+
const I = R[0], oe = (be = (ye = l.value) == null ? void 0 : ye.widgets) == null ? void 0 : be.find(
|
|
3226
3226
|
(Q) => Q.type === "layers"
|
|
3227
|
-
), te = (re = (we =
|
|
3227
|
+
), te = (re = (we = l.value) == null ? void 0 : we.widgets) == null ? void 0 : re.find(
|
|
3228
3228
|
(Q) => Q.type === "attribute"
|
|
3229
|
-
), ee = (xe = (de =
|
|
3229
|
+
), ee = (xe = (de = l.value) == null ? void 0 : de.widgets) == null ? void 0 : xe.find(
|
|
3230
3230
|
(Q) => Q.type === "catalog"
|
|
3231
3231
|
);
|
|
3232
3232
|
let M;
|
|
@@ -3249,9 +3249,9 @@ const An = /* @__PURE__ */ N(jn, [["render", zn]]), ze = {
|
|
|
3249
3249
|
};
|
|
3250
3250
|
}), o.value.on("dblclick", (W) => {
|
|
3251
3251
|
var oe, te, ee;
|
|
3252
|
-
if (
|
|
3253
|
-
|
|
3254
|
-
const R = (te = (oe =
|
|
3252
|
+
if (ae(), ["length", "area", "print"].includes(v.value)) return;
|
|
3253
|
+
lt([W.lngLat.lng, W.lngLat.lat]);
|
|
3254
|
+
const R = (te = (oe = l.value) == null ? void 0 : oe.widgets) == null ? void 0 : te.find(
|
|
3255
3255
|
(M) => M.type === "layers"
|
|
3256
3256
|
);
|
|
3257
3257
|
let I = null;
|
|
@@ -3265,7 +3265,7 @@ const An = /* @__PURE__ */ N(jn, [["render", zn]]), ze = {
|
|
|
3265
3265
|
id: "",
|
|
3266
3266
|
title: (I == null ? void 0 : I.title) || ""
|
|
3267
3267
|
});
|
|
3268
|
-
}), o.value.resize(), (U =
|
|
3268
|
+
}), o.value.resize(), (U = l == null ? void 0 : l.value) != null && U.history) {
|
|
3269
3269
|
const W = () => {
|
|
3270
3270
|
const R = o.value.getCenter();
|
|
3271
3271
|
ge({
|
|
@@ -3278,7 +3278,7 @@ const An = /* @__PURE__ */ N(jn, [["render", zn]]), ze = {
|
|
|
3278
3278
|
o.value.on("moveend", W), o.value.on("rotate", W), o.value.on("pitch", W);
|
|
3279
3279
|
}
|
|
3280
3280
|
});
|
|
3281
|
-
},
|
|
3281
|
+
}, ae = () => {
|
|
3282
3282
|
qe(), g.value.forEach((b) => {
|
|
3283
3283
|
o.value && ve(o.value, b.source, b.id, {
|
|
3284
3284
|
selected: !1
|
|
@@ -3286,48 +3286,48 @@ const An = /* @__PURE__ */ N(jn, [["render", zn]]), ze = {
|
|
|
3286
3286
|
}), g.value = [], d.value = null;
|
|
3287
3287
|
};
|
|
3288
3288
|
ke(async () => {
|
|
3289
|
-
await rt(), await
|
|
3289
|
+
await rt(), await Ee(), pe();
|
|
3290
3290
|
const b = document.getElementById("maplibre-demo-map");
|
|
3291
3291
|
b && b.addEventListener("mouseleave", () => {
|
|
3292
|
-
|
|
3292
|
+
i && (i.remove(), i = null);
|
|
3293
3293
|
});
|
|
3294
3294
|
});
|
|
3295
|
-
const Oe =
|
|
3295
|
+
const Oe = P(() => ({
|
|
3296
3296
|
height: (r == null ? void 0 : r.height) || "100vh",
|
|
3297
3297
|
width: "100%"
|
|
3298
3298
|
})), rt = async () => {
|
|
3299
3299
|
const b = await fetch(`/api/map/${r.name || r.table || "main"}`).then((y) => y.json());
|
|
3300
|
-
|
|
3301
|
-
},
|
|
3302
|
-
if (!
|
|
3303
|
-
const y =
|
|
3300
|
+
l.value = b;
|
|
3301
|
+
}, Pe = (b) => {
|
|
3302
|
+
if (!l.value || !l.value.widgets) return "400px";
|
|
3303
|
+
const y = l.value.widgets.find((x) => x.position === b);
|
|
3304
3304
|
return (y == null ? void 0 : y.width) || "400px";
|
|
3305
|
-
},
|
|
3305
|
+
}, ie = T([]);
|
|
3306
3306
|
fe(
|
|
3307
|
-
() =>
|
|
3307
|
+
() => l.value,
|
|
3308
3308
|
(b) => {
|
|
3309
|
-
b && b.map && (
|
|
3309
|
+
b && b.map && (ie.value = st(), pe());
|
|
3310
3310
|
}
|
|
3311
3311
|
);
|
|
3312
3312
|
const st = () => {
|
|
3313
3313
|
var y;
|
|
3314
|
-
if (!
|
|
3315
|
-
const b =
|
|
3314
|
+
if (!l.value || !l.value.widgets) return [];
|
|
3315
|
+
const b = l.value.widgets.find((x) => x.type === "layers");
|
|
3316
3316
|
return (y = b == null ? void 0 : b.config) != null && y.layers ? b.config.layers.map((x) => ({ ...x, visible: x.visible ?? !1 })).filter((x) => x.visible).map((x) => x.id) : [];
|
|
3317
3317
|
};
|
|
3318
3318
|
function ve(b, y, x, $) {
|
|
3319
3319
|
b.getStyle().layers.filter((C) => C.source === y).forEach((C) => {
|
|
3320
3320
|
var V;
|
|
3321
|
-
const
|
|
3322
|
-
((V = b.getSource(y)) == null ? void 0 : V.type) === "vector" && C["source-layer"] && (
|
|
3321
|
+
const E = { source: y, id: x };
|
|
3322
|
+
((V = b.getSource(y)) == null ? void 0 : V.type) === "vector" && C["source-layer"] && (E.sourceLayer = C["source-layer"]), b.setFeatureState(E, $);
|
|
3323
3323
|
});
|
|
3324
3324
|
}
|
|
3325
|
-
const
|
|
3325
|
+
const it = P(() => !!l.value && !!l.value.interactions && !!l.value.interactions.navigation && l.value.interactions.navigation.enabled), nt = P(() => !!l.value && Array.isArray(l.value.tools) && l.value.tools.length > 0), Me = P(() => it.value || nt.value ? "40px" : "20px");
|
|
3326
3326
|
function qe() {
|
|
3327
3327
|
o.value && (o.value.getLayer("layer-with-pulsing-dot") && o.value.removeLayer("layer-with-pulsing-dot"), o.value.getSource("dot-point") && o.value.removeSource("dot-point"), o.value.hasImage && o.value.hasImage("pulsing-dot") && o.value.removeImage("pulsing-dot"));
|
|
3328
3328
|
}
|
|
3329
|
-
function
|
|
3330
|
-
var $, w, C,
|
|
3329
|
+
function lt(b) {
|
|
3330
|
+
var $, w, C, E;
|
|
3331
3331
|
qe();
|
|
3332
3332
|
const y = 80, x = {
|
|
3333
3333
|
width: y,
|
|
@@ -3357,7 +3357,7 @@ const An = /* @__PURE__ */ N(jn, [["render", zn]]), ze = {
|
|
|
3357
3357
|
type: "Feature",
|
|
3358
3358
|
geometry: { type: "Point", coordinates: b }
|
|
3359
3359
|
}
|
|
3360
|
-
}), (
|
|
3360
|
+
}), (E = o.value) == null || E.addLayer({
|
|
3361
3361
|
id: "layer-with-pulsing-dot",
|
|
3362
3362
|
type: "symbol",
|
|
3363
3363
|
source: "dot-point",
|
|
@@ -3365,28 +3365,28 @@ const An = /* @__PURE__ */ N(jn, [["render", zn]]), ze = {
|
|
|
3365
3365
|
paint: { "icon-opacity": 0.6 }
|
|
3366
3366
|
});
|
|
3367
3367
|
}
|
|
3368
|
-
const
|
|
3369
|
-
var b, y, x, $, w, C,
|
|
3368
|
+
const at = P(() => {
|
|
3369
|
+
var b, y, x, $, w, C, E, V, H, O;
|
|
3370
3370
|
return {
|
|
3371
|
-
center: (y = (b =
|
|
3372
|
-
zoom: ($ = (x =
|
|
3373
|
-
pitch: ((C = (w =
|
|
3374
|
-
bearing: ((V = (
|
|
3375
|
-
bbox: ((O = (H =
|
|
3371
|
+
center: (y = (b = l == null ? void 0 : l.value) == null ? void 0 : b.map) == null ? void 0 : y.center,
|
|
3372
|
+
zoom: ($ = (x = l == null ? void 0 : l.value) == null ? void 0 : x.map) == null ? void 0 : $.zoom,
|
|
3373
|
+
pitch: ((C = (w = l == null ? void 0 : l.value) == null ? void 0 : w.map) == null ? void 0 : C.pitch) || 0,
|
|
3374
|
+
bearing: ((V = (E = l == null ? void 0 : l.value) == null ? void 0 : E.map) == null ? void 0 : V.bearing) || 0,
|
|
3375
|
+
bbox: ((O = (H = l == null ? void 0 : l.value) == null ? void 0 : H.map) == null ? void 0 : O.bbox) || null
|
|
3376
3376
|
};
|
|
3377
3377
|
}), Ge = {
|
|
3378
|
-
home:
|
|
3379
|
-
print:
|
|
3380
|
-
geolocation:
|
|
3381
|
-
pitch:
|
|
3378
|
+
home: ci,
|
|
3379
|
+
print: vi,
|
|
3380
|
+
geolocation: zi,
|
|
3381
|
+
pitch: bi
|
|
3382
3382
|
// length: VsLengthMeasure,
|
|
3383
3383
|
// area: VsAreaMeasure,
|
|
3384
3384
|
}, ct = (b) => {
|
|
3385
3385
|
v.value = b;
|
|
3386
3386
|
};
|
|
3387
3387
|
function Le(b) {
|
|
3388
|
-
if (!
|
|
3389
|
-
const y =
|
|
3388
|
+
if (!l.value || !l.value.widgets) return;
|
|
3389
|
+
const y = l.value.widgets.find((w) => w.type === "list");
|
|
3390
3390
|
if (!y || !y.config) return;
|
|
3391
3391
|
const { map_key: x, service_key: $ } = y.config;
|
|
3392
3392
|
x && $ && (d.value = {
|
|
@@ -3395,8 +3395,8 @@ const An = /* @__PURE__ */ N(jn, [["render", zn]]), ze = {
|
|
|
3395
3395
|
layer: $
|
|
3396
3396
|
});
|
|
3397
3397
|
}
|
|
3398
|
-
const dt =
|
|
3399
|
-
() =>
|
|
3398
|
+
const dt = P(
|
|
3399
|
+
() => l.value && l.value.widgets ? l.value.widgets.filter((b) => b.position === "absolute") : []
|
|
3400
3400
|
);
|
|
3401
3401
|
function ut(b, y, x) {
|
|
3402
3402
|
const $ = b.properties, w = u.value.find(
|
|
@@ -3443,8 +3443,8 @@ const An = /* @__PURE__ */ N(jn, [["render", zn]]), ze = {
|
|
|
3443
3443
|
return x || (x = document.createElement("div"), x.className = "custom-popup absolute z-50", document.body.appendChild(x)), x.innerHTML = Ce, Je(x, y), x;
|
|
3444
3444
|
}
|
|
3445
3445
|
function Je(b, y) {
|
|
3446
|
-
const x = b.offsetWidth, $ = b.offsetHeight, w = document.getElementById("maplibre-demo-map"), C = w.getBoundingClientRect(),
|
|
3447
|
-
let H =
|
|
3446
|
+
const x = b.offsetWidth, $ = b.offsetHeight, w = document.getElementById("maplibre-demo-map"), C = w.getBoundingClientRect(), E = y.originalEvent.clientX - C.left, V = y.originalEvent.clientY - C.top;
|
|
3447
|
+
let H = E - x / 2;
|
|
3448
3448
|
H = Math.max(10, Math.min(H, C.width - x - 10));
|
|
3449
3449
|
let O;
|
|
3450
3450
|
V - $ - 10 > 0 ? O = V - $ - 5 : V + $ + 10 < C.height ? O = V + 10 : O = Math.max(10, C.height - $ - 10), b.style.position = "absolute", b.style.left = `${H + 20}px`, b.style.top = `${O + 10}px`, b.parentNode !== w && w.appendChild(b);
|
|
@@ -3456,107 +3456,107 @@ const An = /* @__PURE__ */ N(jn, [["render", zn]]), ze = {
|
|
|
3456
3456
|
style: he(Oe.value)
|
|
3457
3457
|
}, [
|
|
3458
3458
|
y[10] || (y[10] = s("div", { id: "maplibre-demo-map" }, null, -1)),
|
|
3459
|
-
|
|
3460
|
-
s("div",
|
|
3461
|
-
s("div",
|
|
3462
|
-
s("div",
|
|
3459
|
+
n.value ? (c(), p(z, { key: 1 }, [
|
|
3460
|
+
s("div", Ai, [
|
|
3461
|
+
s("div", Bi, [
|
|
3462
|
+
s("div", Oi, [
|
|
3463
3463
|
(c(), p(z, null, q(["top-left"], (w) => {
|
|
3464
|
-
var C,
|
|
3464
|
+
var C, E;
|
|
3465
3465
|
return Z(ze, {
|
|
3466
3466
|
key: w,
|
|
3467
3467
|
position: w,
|
|
3468
3468
|
widgets: L(w),
|
|
3469
3469
|
map: o.value,
|
|
3470
|
-
mapLoaded:
|
|
3470
|
+
mapLoaded: n.value,
|
|
3471
3471
|
cardValues: d.value,
|
|
3472
3472
|
hasFilters: _.value,
|
|
3473
|
-
history: (
|
|
3473
|
+
history: (E = (C = l.value) == null ? void 0 : C.value) == null ? void 0 : E.history,
|
|
3474
3474
|
currentFilterLayer: m.value,
|
|
3475
|
-
enabledLayerIds:
|
|
3475
|
+
enabledLayerIds: ie.value,
|
|
3476
3476
|
getWidgetComponent: k,
|
|
3477
|
-
getColumnWidth:
|
|
3477
|
+
getColumnWidth: Pe,
|
|
3478
3478
|
rightColumnOffset: w === "top-right" ? Me.value : void 0,
|
|
3479
3479
|
onSetFilterLayer: A,
|
|
3480
|
-
"onUpdate:enabledLayerIds": y[0] || (y[0] = (V) =>
|
|
3480
|
+
"onUpdate:enabledLayerIds": y[0] || (y[0] = (V) => ie.value = V),
|
|
3481
3481
|
onCardValuesId: Le,
|
|
3482
|
-
onCloseCard:
|
|
3482
|
+
onCloseCard: ae,
|
|
3483
3483
|
onCatalogLayers: y[1] || (y[1] = (V) => u.value = V)
|
|
3484
3484
|
}, null, 8, ["position", "widgets", "map", "mapLoaded", "cardValues", "hasFilters", "history", "currentFilterLayer", "enabledLayerIds", "rightColumnOffset"]);
|
|
3485
3485
|
}), 64))
|
|
3486
3486
|
]),
|
|
3487
|
-
s("div",
|
|
3487
|
+
s("div", Di, [
|
|
3488
3488
|
(c(), p(z, null, q(["bottom-left"], (w) => {
|
|
3489
|
-
var C,
|
|
3489
|
+
var C, E;
|
|
3490
3490
|
return Z(ze, {
|
|
3491
3491
|
key: w,
|
|
3492
3492
|
position: w,
|
|
3493
3493
|
widgets: L(w),
|
|
3494
3494
|
map: o.value,
|
|
3495
|
-
mapLoaded:
|
|
3495
|
+
mapLoaded: n.value,
|
|
3496
3496
|
cardValues: d.value,
|
|
3497
3497
|
hasFilters: _.value,
|
|
3498
|
-
history: (
|
|
3498
|
+
history: (E = (C = l.value) == null ? void 0 : C.value) == null ? void 0 : E.history,
|
|
3499
3499
|
currentFilterLayer: m.value,
|
|
3500
|
-
enabledLayerIds:
|
|
3500
|
+
enabledLayerIds: ie.value,
|
|
3501
3501
|
getWidgetComponent: k,
|
|
3502
|
-
getColumnWidth:
|
|
3502
|
+
getColumnWidth: Pe,
|
|
3503
3503
|
rightColumnOffset: w === "top-right" ? Me.value : void 0,
|
|
3504
3504
|
onSetFilterLayer: A,
|
|
3505
|
-
"onUpdate:enabledLayerIds": y[2] || (y[2] = (V) =>
|
|
3505
|
+
"onUpdate:enabledLayerIds": y[2] || (y[2] = (V) => ie.value = V),
|
|
3506
3506
|
onCardValuesId: Le,
|
|
3507
|
-
onCloseCard:
|
|
3507
|
+
onCloseCard: ae,
|
|
3508
3508
|
onCatalogLayers: y[3] || (y[3] = (V) => u.value = V)
|
|
3509
3509
|
}, null, 8, ["position", "widgets", "map", "mapLoaded", "cardValues", "hasFilters", "history", "currentFilterLayer", "enabledLayerIds", "rightColumnOffset"]);
|
|
3510
3510
|
}), 64))
|
|
3511
3511
|
])
|
|
3512
3512
|
]),
|
|
3513
|
-
s("div",
|
|
3514
|
-
s("div",
|
|
3513
|
+
s("div", Ui, [
|
|
3514
|
+
s("div", Ri, [
|
|
3515
3515
|
(c(), p(z, null, q(["top-right"], (w) => {
|
|
3516
|
-
var C,
|
|
3516
|
+
var C, E;
|
|
3517
3517
|
return Z(ze, {
|
|
3518
3518
|
key: w,
|
|
3519
3519
|
position: w,
|
|
3520
3520
|
widgets: L(w),
|
|
3521
3521
|
map: o.value,
|
|
3522
|
-
mapLoaded:
|
|
3522
|
+
mapLoaded: n.value,
|
|
3523
3523
|
cardValues: d.value,
|
|
3524
3524
|
hasFilters: _.value,
|
|
3525
|
-
history: (
|
|
3525
|
+
history: (E = (C = l.value) == null ? void 0 : C.value) == null ? void 0 : E.history,
|
|
3526
3526
|
currentFilterLayer: m.value,
|
|
3527
|
-
enabledLayerIds:
|
|
3527
|
+
enabledLayerIds: ie.value,
|
|
3528
3528
|
getWidgetComponent: k,
|
|
3529
|
-
getColumnWidth:
|
|
3529
|
+
getColumnWidth: Pe,
|
|
3530
3530
|
rightColumnOffset: w === "top-right" ? Me.value : void 0,
|
|
3531
3531
|
onSetFilterLayer: A,
|
|
3532
|
-
"onUpdate:enabledLayerIds": y[4] || (y[4] = (V) =>
|
|
3532
|
+
"onUpdate:enabledLayerIds": y[4] || (y[4] = (V) => ie.value = V),
|
|
3533
3533
|
onCardValuesId: Le,
|
|
3534
|
-
onCloseCard:
|
|
3534
|
+
onCloseCard: ae,
|
|
3535
3535
|
onCatalogLayers: y[5] || (y[5] = (V) => u.value = V)
|
|
3536
3536
|
}, null, 8, ["position", "widgets", "map", "mapLoaded", "cardValues", "hasFilters", "history", "currentFilterLayer", "enabledLayerIds", "rightColumnOffset"]);
|
|
3537
3537
|
}), 64))
|
|
3538
3538
|
]),
|
|
3539
|
-
s("div",
|
|
3539
|
+
s("div", Hi, [
|
|
3540
3540
|
(c(), p(z, null, q(["bottom-right"], (w) => {
|
|
3541
|
-
var C,
|
|
3541
|
+
var C, E;
|
|
3542
3542
|
return Z(ze, {
|
|
3543
3543
|
key: w,
|
|
3544
3544
|
position: w,
|
|
3545
3545
|
widgets: L(w),
|
|
3546
3546
|
map: o.value,
|
|
3547
|
-
mapLoaded:
|
|
3547
|
+
mapLoaded: n.value,
|
|
3548
3548
|
cardValues: d.value,
|
|
3549
3549
|
hasFilters: _.value,
|
|
3550
|
-
history: (
|
|
3550
|
+
history: (E = (C = l.value) == null ? void 0 : C.value) == null ? void 0 : E.history,
|
|
3551
3551
|
currentFilterLayer: m.value,
|
|
3552
|
-
enabledLayerIds:
|
|
3552
|
+
enabledLayerIds: ie.value,
|
|
3553
3553
|
getWidgetComponent: k,
|
|
3554
|
-
getColumnWidth:
|
|
3554
|
+
getColumnWidth: Pe,
|
|
3555
3555
|
rightColumnOffset: w === "top-right" ? Me.value : void 0,
|
|
3556
3556
|
onSetFilterLayer: A,
|
|
3557
|
-
"onUpdate:enabledLayerIds": y[6] || (y[6] = (V) =>
|
|
3557
|
+
"onUpdate:enabledLayerIds": y[6] || (y[6] = (V) => ie.value = V),
|
|
3558
3558
|
onCardValuesId: Le,
|
|
3559
|
-
onCloseCard:
|
|
3559
|
+
onCloseCard: ae,
|
|
3560
3560
|
onCatalogLayers: y[7] || (y[7] = (V) => u.value = V)
|
|
3561
3561
|
}, null, 8, ["position", "widgets", "map", "mapLoaded", "cardValues", "hasFilters", "history", "currentFilterLayer", "enabledLayerIds", "rightColumnOffset"]);
|
|
3562
3562
|
}), 64))
|
|
@@ -3573,35 +3573,35 @@ const An = /* @__PURE__ */ N(jn, [["render", zn]]), ze = {
|
|
|
3573
3573
|
config: w.config,
|
|
3574
3574
|
hasFilters: _.value,
|
|
3575
3575
|
currentFilterLayer: m.value,
|
|
3576
|
-
enabledLayerIds:
|
|
3576
|
+
enabledLayerIds: ie.value,
|
|
3577
3577
|
cardValues: d.value,
|
|
3578
3578
|
onSetFilterLayer: A,
|
|
3579
|
-
"onUpdate:enabledLayerIds": y[8] || (y[8] = (
|
|
3579
|
+
"onUpdate:enabledLayerIds": y[8] || (y[8] = (E) => ie.value = E),
|
|
3580
3580
|
onCardValuesId: Le,
|
|
3581
|
-
onCloseCard:
|
|
3582
|
-
onCatalogLayers: y[9] || (y[9] = (
|
|
3581
|
+
onCloseCard: ae,
|
|
3582
|
+
onCatalogLayers: y[9] || (y[9] = (E) => u.value = E)
|
|
3583
3583
|
}, null, 40, ["map", "config", "hasFilters", "currentFilterLayer", "enabledLayerIds", "cardValues"]))
|
|
3584
3584
|
], 4))), 128)),
|
|
3585
|
-
s("div",
|
|
3586
|
-
(c(!0), p(z, null, q(($ = (x =
|
|
3587
|
-
|
|
3585
|
+
s("div", Ni, [
|
|
3586
|
+
(c(!0), p(z, null, q(($ = (x = l.value) == null ? void 0 : x.value) == null ? void 0 : $.tools, (w) => (c(), p(z, { key: w }, [
|
|
3587
|
+
n.value && Ge[w] ? (c(), X(Be(Ge[w]), wt({
|
|
3588
3588
|
key: 0,
|
|
3589
3589
|
map: o.value,
|
|
3590
3590
|
activeTool: v.value,
|
|
3591
3591
|
setActiveTool: ct
|
|
3592
|
-
}, { ref_for: !0 }, w === "home" ? { initialView:
|
|
3592
|
+
}, { ref_for: !0 }, w === "home" ? { initialView: at.value } : {}, { onCardValuesId: Le }), null, 16, ["map", "activeTool"])) : j("", !0)
|
|
3593
3593
|
], 64))), 128))
|
|
3594
3594
|
])
|
|
3595
|
-
], 64)) : (c(), X(
|
|
3595
|
+
], 64)) : (c(), X(oi, { key: 0 }))
|
|
3596
3596
|
], 4);
|
|
3597
3597
|
};
|
|
3598
3598
|
}
|
|
3599
|
-
}),
|
|
3600
|
-
function
|
|
3601
|
-
e.component("MapCustom",
|
|
3599
|
+
}), Wi = /* @__PURE__ */ N(Zi, [["__scopeId", "data-v-22436345"]]);
|
|
3600
|
+
function Ji(e) {
|
|
3601
|
+
e.component("MapCustom", Wi);
|
|
3602
3602
|
}
|
|
3603
3603
|
export {
|
|
3604
|
-
|
|
3605
|
-
|
|
3606
|
-
|
|
3604
|
+
Wi as MapCustom,
|
|
3605
|
+
Wi as default,
|
|
3606
|
+
Ji as install
|
|
3607
3607
|
};
|