@opengis/gis 0.2.93 → 0.2.94
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/README.md +5 -5
- package/dist/index.css +1 -1
- package/dist/index.js +858 -852
- package/dist/index.umd.cjs +11 -11
- package/module/cls.json +6 -6
- package/module/gis/card/gis.metadata.table/index.yml +22 -22
- package/module/gis/card/gis.metadata.table/main_info.hbs +20 -20
- package/module/gis/card/gis.metadata.table/metadata_info.hbs +27 -27
- package/module/gis/card/gis.metadata.table/other.hbs +25 -25
- package/module/gis/card/gis.rasters.table/index.yml +11 -11
- package/module/gis/card/gis.rasters.table/main_info.hbs +27 -27
- package/module/gis/card/gis.registers.table/cls.hbs +36 -36
- package/module/gis/card/gis.registers.table/columns.hbs +89 -89
- package/module/gis/card/gis.registers.table/filters.hbs +80 -80
- package/module/gis/card/gis.registers.table/index.yml +23 -23
- package/module/gis/card/gis.registers.table/main_info.hbs +35 -35
- package/module/gis/card/gis.registers.table/source.hbs +45 -45
- package/module/gis/card/gis.services.table/attributes.hbs +91 -91
- package/module/gis/card/gis.services.table/filters.hbs +83 -83
- package/module/gis/card/gis.services.table/index.yml +25 -25
- package/module/gis/card/gis.services.table/main_info.hbs +27 -27
- package/module/gis/card/gis.services.table/source.hbs +25 -25
- package/module/gis/cls/bool.yes_no.json +12 -12
- package/module/gis/cls/encoding.json +14 -14
- package/module/gis/cls/geom_type.json +14 -14
- package/module/gis/cls/gis.column_type.json +34 -34
- package/module/gis/cls/gis.column_view_type.json +26 -26
- package/module/gis/cls/gis.filter_type.json +22 -22
- package/module/gis/cls/language.json +10 -10
- package/module/gis/cls/meta.service_type.json +42 -42
- package/module/gis/cls/ogc.service.json +21 -21
- package/module/gis/cls/service_type.json +42 -42
- package/module/gis/cls/source_type.json +10 -10
- package/module/gis/cls/standarts.json +6 -6
- package/module/gis/cls/topic_category.json +106 -106
- package/module/gis/cls/update_frequency.json +29 -29
- package/module/gis/cls/view.json +21 -21
- package/module/gis/form/gis.cartocss.form.json +39 -39
- package/module/gis/form/gis.group_list.form.json +17 -17
- package/module/gis/form/gis.maps.form.json +61 -61
- package/module/gis/form/gis.metadata.form.json +240 -240
- package/module/gis/form/gis.ogc_service.form.json +45 -45
- package/module/gis/form/gis.rasters.form.json +76 -76
- package/module/gis/form/gis.registers.form.json +124 -124
- package/module/gis/form/gis.registers_column.form.json +84 -84
- package/module/gis/form/gis.registers_filter.form.json +65 -65
- package/module/gis/form/gis.services.form.json +111 -111
- package/module/gis/form/gis.services_attributes.form.json +75 -75
- package/module/gis/form/gis.services_filter.form.json +65 -65
- package/module/gis/menu.json +43 -43
- package/module/gis/select/admin.cls.name.sql +2 -2
- package/module/gis/select/pg.columns.parent.sql +6 -6
- package/module/gis/select/pg.table_name.sql +17 -17
- package/module/gis/select/service_id.sql +1 -1
- package/module/gis/table/gis.cartocss.table.json +74 -74
- package/module/gis/table/gis.group_list.table.json +58 -58
- package/module/gis/table/gis.maps.table.json +111 -111
- package/module/gis/table/gis.metadata.table.json +70 -70
- package/module/gis/table/gis.ogc_service.table.json +100 -100
- package/module/gis/table/gis.rasters.table.json +101 -101
- package/module/gis/table/gis.registers.table.json +144 -144
- package/module/gis/table/gis.services.table.json +121 -121
- package/module/gis/table/site.gis.registers.table.json +88 -88
- package/module/gis/table/site.gis.services.table.json +106 -106
- package/module/gis/templates/ISO19136_2017_gml_template.xml +330 -330
- package/module/gis/tokens.yml +5 -5
- package/module/permissions/form/permissions.users.form.json +151 -151
- package/module/permissions/table/gis.permissions.table.json +98 -98
- package/module/test/cls/bp_build_type.json +37 -37
- package/module/test/cls/doc_status.json +31 -31
- package/module/test/cls/ts.temp_status.json +18 -18
- package/module/test/cls/ts.temp_structure.ts_class.json +49 -49
- package/module/test/cls/ts.temp_type.json +9 -9
- package/module/test/layer/bp.json +59 -59
- package/module/test/layer/bp1.yml +33 -33
- package/module/test/layer/individual.yml +53 -53
- package/module/test/layer/ts.linking_passport.yml +55 -55
- package/module/test/layer/ts.temp_structure.yml +50 -50
- package/module/test/map/addr.yml +21 -21
- package/module/test/map/bp_myo.json +43 -43
- package/module/test/map/bpf.json +43 -43
- package/module/test/map/main.json +36 -36
- package/module/test/map/mbd.json +91 -91
- package/module/test/map/ts.json +52 -52
- package/module/test/select/address_id.json +2 -2
- package/module/test/select/address_id.sql +7 -7
- package/module/test/select/core.user_uid.sql +1 -1
- package/module/test/table/data_address.street.table.json +69 -69
- package/module/test/table/data_bp_myo.bp.table.json +122 -122
- package/package.json +76 -76
- package/plugin.js +49 -49
- package/server/migrations/array_intersect.sql +13 -13
- package/server/migrations/cartocss.sql +25 -25
- package/server/migrations/group_list.sql +74 -74
- package/server/migrations/maps.sql +30 -30
- package/server/migrations/metadata.sql +415 -415
- package/server/migrations/ogc.sql +106 -106
- package/server/migrations/rasters.sql +265 -265
- package/server/migrations/services.sql +247 -247
- package/server/migrations/services_users_rel.sql +22 -22
- package/server/migrations/widgets.sql +20 -20
- package/server/plugins/crons.js +21 -21
- package/server/plugins/mapnik/funcs/checkRasterFile.js +108 -108
- package/server/plugins/mapnik/funcs/mapnik.js +146 -146
- package/server/plugins/mapnik/funcs/rootFolder.mjs +8 -8
- package/server/plugins/mapnik/map.proto +231 -231
- package/server/plugins/vite.js +75 -75
- package/server/routes/gis/cartocss/add.cartocss.js +39 -39
- package/server/routes/gis/cartocss/get.cartocss.js +49 -49
- package/server/routes/gis/checkXML.js +118 -118
- package/server/routes/gis/dashboard.js +29 -29
- package/server/routes/gis/index.mjs +87 -87
- package/server/routes/gis/metadata/editMetadata.js +34 -34
- package/server/routes/gis/metadata/metadataXML.js +13 -13
- package/server/routes/gis/ogc/map.info.point.js +124 -124
- package/server/routes/gis/registers/add.registry.js +35 -35
- package/server/routes/gis/registers/del.registry.js +14 -14
- package/server/routes/gis/registers/funcs/classifiers.js +100 -100
- package/server/routes/gis/registers/funcs/columns.js +4 -4
- package/server/routes/gis/registers/funcs/content.type.js +9 -9
- package/server/routes/gis/registers/funcs/get.info.js +89 -89
- package/server/routes/gis/registers/funcs/handleRegistryRequest.js +146 -146
- package/server/routes/gis/registers/gis.export.js +148 -148
- package/server/routes/gis/registers/gis.registry.js +64 -64
- package/server/routes/gis/registers/gis.registry.list.js +59 -59
- package/server/routes/gis/registers/insert.columns.js +107 -107
- package/server/routes/gis/registers/insert.filters.js +110 -110
- package/server/routes/gis/registers/map.registry.js +79 -79
- package/server/routes/gis/services/add.service.js +64 -64
- package/server/routes/gis/services/del.service.js +12 -12
- package/server/routes/gis/services/get.layer.geom.js +27 -27
- package/server/routes/gis/services/get.services.col.js +33 -33
- package/server/routes/gis/services/get.services.js +84 -84
- package/server/routes/gis/services/legend.auto.js +77 -77
- package/server/routes/map/controllers/geojson.js +187 -187
- package/server/routes/map/controllers/jsonData.js +205 -205
- package/server/routes/map/controllers/layerList.js +103 -103
- package/server/routes/map/controllers/map.js +123 -123
- package/server/routes/map/controllers/mapCatalog.js +72 -72
- package/server/routes/map/controllers/mapCatalogAttribute.js +55 -55
- package/server/routes/map/controllers/mapFeatures.js +128 -128
- package/server/routes/map/controllers/mapFormat.js +225 -225
- package/server/routes/map/controllers/mapTiles.js +152 -152
- package/server/routes/map/controllers/maps.js +15 -15
- package/server/routes/map/controllers/marker_icon.js +43 -43
- package/server/routes/map/controllers/vtile.js +172 -172
- package/server/routes/map/index.mjs +142 -142
- package/server/routes/map/maps/add.map.js +43 -43
- package/server/routes/map/maps/del.map.js +18 -18
- package/server/routes/map/maps/get.map.js +112 -112
- package/server/routes/map/vtile1.js +176 -176
- package/server/routes/map/widgets/add.widget.js +38 -38
- package/server/routes/map/widgets/del.widget.js +22 -22
- package/server/routes/map/widgets/get.widget.js +40 -40
- package/server/routes/mapnik/controllers/clearTiles.js +94 -94
- package/server/routes/mapnik/controllers/createXml.js +66 -66
- package/server/routes/mapnik/controllers/createXmlMulti.js +75 -75
- package/server/routes/mapnik/controllers/fileSearch.js +34 -34
- package/server/routes/mapnik/controllers/fileStat.js +27 -27
- package/server/routes/mapnik/controllers/mapnikLogger.js +29 -29
- package/server/routes/mapnik/controllers/mapnikStat.js +20 -20
- package/server/routes/mapnik/controllers/rasterInfo.js +50 -50
- package/server/routes/mapnik/controllers/readDir.js +19 -19
- package/server/routes/mapnik/controllers/rtile.js +122 -122
- package/server/routes/mapnik/controllers/uploadRaster.js +157 -157
- package/server/routes/mapnik/functions/cartoBounds.js +23 -23
- package/server/routes/mapnik/functions/uploadXML.js +110 -110
- package/server/routes/mapnik/index.js +28 -28
- package/server/routes/permissions/controllers/catalog.permissions.edit.js +22 -22
- package/server/routes/permissions/controllers/catalog.permissions.js +7 -7
- package/server/routes/permissions/controllers/gis.catalog.js +80 -80
- package/server/routes/permissions/controllers/utils/get.permissions.js +43 -43
- package/server/routes/permissions/index.mjs +18 -18
- package/server/routes/root.mjs +3 -3
- package/utils.js +13 -13
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { defineComponent as ve, computed as O, openBlock as d, createElementBlock as h, normalizeClass as Le, renderSlot as wt, createCommentVNode as X, createElementVNode as o, createTextVNode as Ae, toDisplayString as U, h as Kn, defineAsyncComponent as rt, useModel as pt, ref as M, watch as ee, createVNode as
|
|
1
|
+
import { defineComponent as ve, computed as O, openBlock as d, createElementBlock as h, normalizeClass as Le, renderSlot as wt, createCommentVNode as X, createElementVNode as o, createTextVNode as Ae, toDisplayString as U, h as Kn, mergeModels as _t, defineAsyncComponent as rt, useModel as pt, ref as M, watch as ee, createVNode as ie, unref as ce, withCtx as je, createStaticVNode as Dt, useSlots as ss, Fragment as te, renderList as ge, normalizeStyle as Qe, withModifiers as Je, createBlock as me, resolveDynamicComponent as Tt, withDirectives as Ue, onBeforeUnmount as ze, onMounted as Ne, resolveComponent as Lr, shallowRef as Er, onUnmounted as Sn, provide as is, inject as as, vModelText as vt, getCurrentInstance as Mt, nextTick as Ye, reactive as ft, Teleport as gt, Transition as so, createSlots as us, toRef as cs, resolveDirective as ds, vShow as At, vModelRadio as fs, vModelSelect as Ro, withKeys as Po } from "vue";
|
|
2
2
|
import { useRoute as ut, useRouter as mt } from "vue-router";
|
|
3
|
-
import { notify as Me, TooltipDirective as ps, confirm as
|
|
3
|
+
import { notify as Me, TooltipDirective as ps, confirm as Do, VsPagination as ms } from "@opengis/core";
|
|
4
4
|
import { VsInputArraySelect as vs, VsInputMask as gs } from "@opengis/form";
|
|
5
5
|
const ys = {
|
|
6
6
|
key: 0,
|
|
@@ -51,7 +51,7 @@ const ys = {
|
|
|
51
51
|
* This source code is licensed under the ISC license.
|
|
52
52
|
* See the LICENSE file in the root directory of this source tree.
|
|
53
53
|
*/
|
|
54
|
-
const
|
|
54
|
+
const Vo = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), bs = (e) => e.replace(
|
|
55
55
|
/^([A-Z])|[\s-_]+(\w)/g,
|
|
56
56
|
(t, n, r) => r ? r.toUpperCase() : n.toLowerCase()
|
|
57
57
|
), ws = (e) => {
|
|
@@ -91,7 +91,7 @@ const ks = ({ size: e, strokeWidth: t = 2, absoluteStrokeWidth: n, color: r, ico
|
|
|
91
91
|
"stroke-width": n ? Number(t) * 24 / Number(e) : t,
|
|
92
92
|
class: _s(
|
|
93
93
|
"lucide",
|
|
94
|
-
...i ? [`lucide-${
|
|
94
|
+
...i ? [`lucide-${Vo(ws(i))}-icon`, `lucide-${Vo(i)}`] : ["lucide-icon"]
|
|
95
95
|
),
|
|
96
96
|
...a
|
|
97
97
|
},
|
|
@@ -434,7 +434,7 @@ const Ps = Be("trash-2", [
|
|
|
434
434
|
* This source code is licensed under the ISC license.
|
|
435
435
|
* See the LICENSE file in the root directory of this source tree.
|
|
436
436
|
*/
|
|
437
|
-
const
|
|
437
|
+
const Ds = Be("trash", [
|
|
438
438
|
["path", { d: "M3 6h18", key: "d0wm0j" }],
|
|
439
439
|
["path", { d: "M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6", key: "4alrt4" }],
|
|
440
440
|
["path", { d: "M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2", key: "v07s0e" }]
|
|
@@ -448,7 +448,7 @@ const Vs = Be("trash", [
|
|
|
448
448
|
const dn = Be("x", [
|
|
449
449
|
["path", { d: "M18 6 6 18", key: "1bl5f8" }],
|
|
450
450
|
["path", { d: "m6 6 12 12", key: "d8bk6v" }]
|
|
451
|
-
]),
|
|
451
|
+
]), Vs = { class: "flex items-center justify-center col-span-3 gap-2" }, Bs = { class: "flex justify-end p-[20px] gap-[10px] border-t w-full" }, Us = /* @__PURE__ */ ve({
|
|
452
452
|
__name: "vs-datatable-controls",
|
|
453
453
|
props: /* @__PURE__ */ _t({
|
|
454
454
|
index: {},
|
|
@@ -480,22 +480,22 @@ const dn = Be("x", [
|
|
|
480
480
|
}
|
|
481
481
|
l.value[r.index] = a.value, i.value = !1;
|
|
482
482
|
};
|
|
483
|
-
return (v, c) => (d(), h("div",
|
|
483
|
+
return (v, c) => (d(), h("div", Vs, [
|
|
484
484
|
o("button", {
|
|
485
485
|
onClick: c[0] || (c[0] = (g) => {
|
|
486
486
|
i.value = !0;
|
|
487
487
|
}),
|
|
488
488
|
class: "inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 hover:text-accent-foreground h-8 w-8 rounded-full hover:bg-gray-100"
|
|
489
489
|
}, [
|
|
490
|
-
|
|
490
|
+
ie(ce(jr), { class: "w-4 h-4" })
|
|
491
491
|
]),
|
|
492
492
|
o("button", {
|
|
493
493
|
onClick: f,
|
|
494
494
|
class: "inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 h-8 w-8 rounded-full hover:bg-red-100 text-red-600 hover:text-red-700"
|
|
495
495
|
}, [
|
|
496
|
-
|
|
496
|
+
ie(ce(Ds), { class: "w-4 h-4" })
|
|
497
497
|
]),
|
|
498
|
-
|
|
498
|
+
ie(ce(n), {
|
|
499
499
|
teleport: "#modal",
|
|
500
500
|
size: "lg",
|
|
501
501
|
visible: i.value,
|
|
@@ -516,7 +516,7 @@ const dn = Be("x", [
|
|
|
516
516
|
])
|
|
517
517
|
]),
|
|
518
518
|
default: je(() => [
|
|
519
|
-
|
|
519
|
+
ie(ce(t), {
|
|
520
520
|
values: a.value,
|
|
521
521
|
"onUpdate:values": c[1] || (c[1] = (g) => a.value = g),
|
|
522
522
|
schema: e.scheme,
|
|
@@ -778,7 +778,7 @@ const gi = /* @__PURE__ */ Se(pi, [["render", vi]]), yi = {}, hi = {
|
|
|
778
778
|
};
|
|
779
779
|
function xi(e, t) {
|
|
780
780
|
return d(), h("svg", hi, [...t[0] || (t[0] = [
|
|
781
|
-
|
|
781
|
+
Dt('<path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"></path><path d="M14 2v4a2 2 0 0 0 2 2h4"></path><path d="M10 9H8"></path><path d="M16 13H8"></path><path d="M16 17H8"></path>', 5)
|
|
782
782
|
])]);
|
|
783
783
|
}
|
|
784
784
|
const bi = /* @__PURE__ */ Se(yi, [["render", xi]]), wi = {}, _i = {
|
|
@@ -827,7 +827,7 @@ const $i = /* @__PURE__ */ Se(wi, [["render", ki]]), Ci = {}, Ai = {
|
|
|
827
827
|
};
|
|
828
828
|
function Si(e, t) {
|
|
829
829
|
return d(), h("svg", Ai, [...t[0] || (t[0] = [
|
|
830
|
-
|
|
830
|
+
Dt('<line x1="8" x2="21" y1="6" y2="6"></line><line x1="8" x2="21" y1="12" y2="12"></line><line x1="8" x2="21" y1="18" y2="18"></line><line x1="3" x2="3.01" y1="6" y2="6"></line><line x1="3" x2="3.01" y1="12" y2="12"></line><line x1="3" x2="3.01" y1="18" y2="18"></line>', 6)
|
|
831
831
|
])]);
|
|
832
832
|
}
|
|
833
833
|
const Li = /* @__PURE__ */ Se(Ci, [["render", Si]]), Ei = {}, Ti = {
|
|
@@ -845,7 +845,7 @@ const Li = /* @__PURE__ */ Se(Ci, [["render", Si]]), Ei = {}, Ti = {
|
|
|
845
845
|
};
|
|
846
846
|
function Mi(e, t) {
|
|
847
847
|
return d(), h("svg", Ti, [...t[0] || (t[0] = [
|
|
848
|
-
|
|
848
|
+
Dt('<line x1="8" x2="21" y1="6" y2="6"></line><line x1="8" x2="21" y1="12" y2="12"></line><line x1="8" x2="21" y1="18" y2="18"></line><line x1="3" x2="3.01" y1="6" y2="6"></line><line x1="3" x2="3.01" y1="12" y2="12"></line><line x1="3" x2="3.01" y1="18" y2="18"></line>', 6)
|
|
849
849
|
])]);
|
|
850
850
|
}
|
|
851
851
|
const Fi = /* @__PURE__ */ Se(Ei, [["render", Mi]]), Ii = {}, ji = {
|
|
@@ -888,10 +888,10 @@ const Ni = /* @__PURE__ */ Se(Ii, [["render", zi]]), Oi = {}, Ri = {
|
|
|
888
888
|
};
|
|
889
889
|
function Pi(e, t) {
|
|
890
890
|
return d(), h("svg", Ri, [...t[0] || (t[0] = [
|
|
891
|
-
|
|
891
|
+
Dt('<line x1="8" x2="21" y1="6" y2="6"></line><line x1="8" x2="21" y1="12" y2="12"></line><line x1="8" x2="21" y1="18" y2="18"></line><line x1="3" x2="3.01" y1="6" y2="6"></line><line x1="3" x2="3.01" y1="12" y2="12"></line><line x1="3" x2="3.01" y1="18" y2="18"></line>', 6)
|
|
892
892
|
])]);
|
|
893
893
|
}
|
|
894
|
-
const
|
|
894
|
+
const Di = /* @__PURE__ */ Se(Oi, [["render", Pi]]), Vi = {}, Bi = {
|
|
895
895
|
xmlns: "http://www.w3.org/2000/svg",
|
|
896
896
|
width: "24",
|
|
897
897
|
height: "24",
|
|
@@ -916,7 +916,7 @@ function Ui(e, t) {
|
|
|
916
916
|
}, null, -1)
|
|
917
917
|
])]);
|
|
918
918
|
}
|
|
919
|
-
const qi = /* @__PURE__ */ Se(
|
|
919
|
+
const qi = /* @__PURE__ */ Se(Vi, [["render", Ui]]), Hi = {}, Yi = {
|
|
920
920
|
xmlns: "http://www.w3.org/2000/svg",
|
|
921
921
|
width: "24",
|
|
922
922
|
height: "24",
|
|
@@ -931,7 +931,7 @@ const qi = /* @__PURE__ */ Se(Di, [["render", Ui]]), Hi = {}, Yi = {
|
|
|
931
931
|
};
|
|
932
932
|
function Wi(e, t) {
|
|
933
933
|
return d(), h("svg", Yi, [...t[0] || (t[0] = [
|
|
934
|
-
|
|
934
|
+
Dt('<line x1="8" x2="21" y1="6" y2="6"></line><line x1="8" x2="21" y1="12" y2="12"></line><line x1="8" x2="21" y1="18" y2="18"></line><line x1="3" x2="3.01" y1="6" y2="6"></line><line x1="3" x2="3.01" y1="12" y2="12"></line><line x1="3" x2="3.01" y1="18" y2="18"></line>', 6)
|
|
935
935
|
])]);
|
|
936
936
|
}
|
|
937
937
|
const Zi = /* @__PURE__ */ Se(Hi, [["render", Wi]]), Gi = {}, Ki = {
|
|
@@ -993,7 +993,7 @@ const na = /* @__PURE__ */ Se(Ji, [["render", ta]]), qo = {
|
|
|
993
993
|
IconArray: Li,
|
|
994
994
|
IconSelect: Fi,
|
|
995
995
|
IconSlug: Ni,
|
|
996
|
-
IconDatalist:
|
|
996
|
+
IconDatalist: Di,
|
|
997
997
|
IconReference: qi,
|
|
998
998
|
IconReferenceList: Zi,
|
|
999
999
|
IconBadge: Qi,
|
|
@@ -1191,7 +1191,7 @@ const na = /* @__PURE__ */ Se(Ji, [["render", ta]]), qo = {
|
|
|
1191
1191
|
], 64))
|
|
1192
1192
|
]))), 128)),
|
|
1193
1193
|
o("td", xa, [
|
|
1194
|
-
|
|
1194
|
+
ie(Us, {
|
|
1195
1195
|
columns: u.value,
|
|
1196
1196
|
"onUpdate:columns": k[1] || (k[1] = (B) => u.value = B),
|
|
1197
1197
|
data: C,
|
|
@@ -1209,7 +1209,7 @@ const na = /* @__PURE__ */ Se(Ji, [["render", ta]]), qo = {
|
|
|
1209
1209
|
])
|
|
1210
1210
|
])
|
|
1211
1211
|
]),
|
|
1212
|
-
|
|
1212
|
+
ie(ce(r), {
|
|
1213
1213
|
teleport: "#modal",
|
|
1214
1214
|
title: "Створити поле",
|
|
1215
1215
|
size: "lg",
|
|
@@ -1231,7 +1231,7 @@ const na = /* @__PURE__ */ Se(Ji, [["render", ta]]), qo = {
|
|
|
1231
1231
|
])
|
|
1232
1232
|
]),
|
|
1233
1233
|
default: je(() => [
|
|
1234
|
-
|
|
1234
|
+
ie(ce(l), {
|
|
1235
1235
|
ref_key: "form",
|
|
1236
1236
|
ref: a,
|
|
1237
1237
|
modelValue: p.value,
|
|
@@ -1243,7 +1243,7 @@ const na = /* @__PURE__ */ Se(Ji, [["render", ta]]), qo = {
|
|
|
1243
1243
|
}, 8, ["visible"])
|
|
1244
1244
|
], 64));
|
|
1245
1245
|
}
|
|
1246
|
-
}), Ft = /* @__PURE__ */ Se(_a, [["__scopeId", "data-v-
|
|
1246
|
+
}), Ft = /* @__PURE__ */ Se(_a, [["__scopeId", "data-v-93fedaf0"]]), ka = { class: "p-4 text-[13px]" }, $a = { class: "grid grid-cols-2 gap-x-6 gap-y-2" }, Ca = ["id", "checked", "onChange"], Aa = { class: "ml-2 flex-1 min-w-0 flex items-center gap-2" }, Sa = { class: "font-medium text-gray-900 truncate" }, La = { class: "text-xs text-gray-500" }, Ea = {
|
|
1247
1247
|
key: 0,
|
|
1248
1248
|
class: "text-xs text-[#B2C9D6]"
|
|
1249
1249
|
}, Ta = { class: "flex justify-end gap-2 p-4 border-t w-full" }, Xt = /* @__PURE__ */ ve({
|
|
@@ -1557,7 +1557,7 @@ const Ma = { class: "vs-form" }, Fa = { class: "vs-form__body auto-rows-max cont
|
|
|
1557
1557
|
])])
|
|
1558
1558
|
]),
|
|
1559
1559
|
o("div", Na, [
|
|
1560
|
-
|
|
1560
|
+
ie(Ft, {
|
|
1561
1561
|
modelValue: g.value,
|
|
1562
1562
|
"onUpdate:modelValue": E[1] || (E[1] = (L) => g.value = L),
|
|
1563
1563
|
"columns-scheme": w,
|
|
@@ -1569,7 +1569,7 @@ const Ma = { class: "vs-form" }, Fa = { class: "vs-form__body auto-rows-max cont
|
|
|
1569
1569
|
])
|
|
1570
1570
|
])
|
|
1571
1571
|
]),
|
|
1572
|
-
|
|
1572
|
+
ie(Xt, {
|
|
1573
1573
|
visible: f.value,
|
|
1574
1574
|
"onUpdate:visible": E[2] || (E[2] = (L) => f.value = L),
|
|
1575
1575
|
selection: p.value,
|
|
@@ -1581,7 +1581,7 @@ const Ma = { class: "vs-form" }, Fa = { class: "vs-form__body auto-rows-max cont
|
|
|
1581
1581
|
}, null, 8, ["visible", "selection", "fields"])
|
|
1582
1582
|
]));
|
|
1583
1583
|
}
|
|
1584
|
-
}), Ra = { class: "vs-form" }, Pa = { class: "vs-form__body auto-rows-max container" },
|
|
1584
|
+
}), Ra = { class: "vs-form" }, Pa = { class: "vs-form__body auto-rows-max container" }, Da = { class: "flex flex-wrap" }, Va = { class: "h-fit w-full flex flex-wrap" }, Ba = { class: "w-full" }, Ua = /* @__PURE__ */ ve({
|
|
1585
1585
|
__name: "filter-tab",
|
|
1586
1586
|
props: /* @__PURE__ */ _t({
|
|
1587
1587
|
fields: {}
|
|
@@ -1661,11 +1661,11 @@ const Ma = { class: "vs-form" }, Fa = { class: "vs-form__body auto-rows-max cont
|
|
|
1661
1661
|
n.value = null;
|
|
1662
1662
|
}), (u, m) => (d(), h("div", Ra, [
|
|
1663
1663
|
o("div", Pa, [
|
|
1664
|
-
o("div",
|
|
1664
|
+
o("div", Da, [
|
|
1665
1665
|
m[4] || (m[4] = o("div", { class: "h-fit w-full flex flex-wrap mb-6 px-2" }, [
|
|
1666
1666
|
o("p", { class: "text-sm text-gray-600" }, " Налаштуйте фільтри реєстру. Оберіть поля для імпорту або відредагуйте властивості вручну. ")
|
|
1667
1667
|
], -1)),
|
|
1668
|
-
o("div",
|
|
1668
|
+
o("div", Va, [
|
|
1669
1669
|
o("div", { class: "flex justify-end mb-3 gap-2 w-full" }, [
|
|
1670
1670
|
o("button", {
|
|
1671
1671
|
onClick: f,
|
|
@@ -1691,7 +1691,7 @@ const Ma = { class: "vs-form" }, Fa = { class: "vs-form__body auto-rows-max cont
|
|
|
1691
1691
|
])])
|
|
1692
1692
|
]),
|
|
1693
1693
|
o("div", Ba, [
|
|
1694
|
-
|
|
1694
|
+
ie(Ft, {
|
|
1695
1695
|
modelValue: p.value,
|
|
1696
1696
|
"onUpdate:modelValue": m[0] || (m[0] = (y) => p.value = y),
|
|
1697
1697
|
"columns-scheme": c,
|
|
@@ -1703,7 +1703,7 @@ const Ma = { class: "vs-form" }, Fa = { class: "vs-form__body auto-rows-max cont
|
|
|
1703
1703
|
])
|
|
1704
1704
|
])
|
|
1705
1705
|
]),
|
|
1706
|
-
|
|
1706
|
+
ie(Xt, {
|
|
1707
1707
|
visible: s.value,
|
|
1708
1708
|
"onUpdate:visible": m[1] || (m[1] = (y) => s.value = y),
|
|
1709
1709
|
selection: a.value,
|
|
@@ -1846,7 +1846,7 @@ const Ma = { class: "vs-form" }, Fa = { class: "vs-form__body auto-rows-max cont
|
|
|
1846
1846
|
])])
|
|
1847
1847
|
]),
|
|
1848
1848
|
o("div", Za, [
|
|
1849
|
-
|
|
1849
|
+
ie(Ft, {
|
|
1850
1850
|
modelValue: p.value,
|
|
1851
1851
|
"onUpdate:modelValue": m[0] || (m[0] = (y) => p.value = y),
|
|
1852
1852
|
"columns-scheme": c,
|
|
@@ -1858,7 +1858,7 @@ const Ma = { class: "vs-form" }, Fa = { class: "vs-form__body auto-rows-max cont
|
|
|
1858
1858
|
])
|
|
1859
1859
|
])
|
|
1860
1860
|
]),
|
|
1861
|
-
|
|
1861
|
+
ie(Xt, {
|
|
1862
1862
|
visible: s.value,
|
|
1863
1863
|
"onUpdate:visible": m[1] || (m[1] = (y) => s.value = y),
|
|
1864
1864
|
selection: a.value,
|
|
@@ -2190,7 +2190,7 @@ const Xa = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
|
|
|
2190
2190
|
}, Pu = {
|
|
2191
2191
|
key: 0,
|
|
2192
2192
|
class: "inline-flex items-center rounded-full bg-gray-100 text-gray-800 text-[10px] lg:text-xs px-2 py-0.5 font-semibold"
|
|
2193
|
-
},
|
|
2193
|
+
}, Du = { class: "col-span-1 lg:col-span-7 mt-2 lg:mt-0" }, Vu = { class: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-2 lg:gap-3" }, Bu = { class: "text-[9px] lg:text-[10px] text-gray-500 mb-1" }, Uu = { class: "truncate font-medium text-xs lg:text-sm" }, qu = { class: "flex items-center justify-center gap-2 mt-3 lg:mt-0" }, Hu = ["href"], Yu = ["href"], Wu = /* @__PURE__ */ ve({
|
|
2194
2194
|
__name: "template-3",
|
|
2195
2195
|
props: {
|
|
2196
2196
|
items: {},
|
|
@@ -2246,8 +2246,8 @@ const Xa = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
|
|
|
2246
2246
|
])
|
|
2247
2247
|
])
|
|
2248
2248
|
]),
|
|
2249
|
-
o("div",
|
|
2250
|
-
o("div",
|
|
2249
|
+
o("div", Du, [
|
|
2250
|
+
o("div", Vu, [
|
|
2251
2251
|
(d(!0), h(te, null, ge(a.value, (_) => {
|
|
2252
2252
|
var E;
|
|
2253
2253
|
return d(), h("div", {
|
|
@@ -2504,10 +2504,10 @@ const Xa = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
|
|
|
2504
2504
|
o("span", wc, U((N == null ? void 0 : N.ua) || N.label || N.name) + ":", 1)
|
|
2505
2505
|
]),
|
|
2506
2506
|
o("span", _c, [
|
|
2507
|
-
Array.isArray(y[N == null ? void 0 : N.name]) ? (d(!0), h(te, { key: 0 }, ge(y[N == null ? void 0 : N.name], (
|
|
2508
|
-
key:
|
|
2507
|
+
Array.isArray(y[N == null ? void 0 : N.name]) ? (d(!0), h(te, { key: 0 }, ge(y[N == null ? void 0 : N.name], (ne, le) => (d(), h("span", {
|
|
2508
|
+
key: le,
|
|
2509
2509
|
class: "bg-gray-200 px-1 py-0.5 rounded-lg mr-1 inline-block"
|
|
2510
|
-
}, U(
|
|
2510
|
+
}, U(ne), 1))), 128)) : (d(), h(te, { key: 1 }, [
|
|
2511
2511
|
N.format === "date" ? (d(), h(te, { key: 0 }, [
|
|
2512
2512
|
Ae(U(ce(pn)(y[N == null ? void 0 : N.name]) || "Немає даних"), 1)
|
|
2513
2513
|
], 64)) : N.type === "date" ? (d(), h(te, { key: 1 }, [
|
|
@@ -2633,7 +2633,7 @@ const Xa = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
|
|
|
2633
2633
|
])
|
|
2634
2634
|
]));
|
|
2635
2635
|
}
|
|
2636
|
-
}), Pc = { class: "relative h-full flex flex-col flex-1 min-h-0 overflow-hidden mx-auto w-full" },
|
|
2636
|
+
}), Pc = { class: "relative h-full flex flex-col flex-1 min-h-0 overflow-hidden mx-auto w-full" }, Dc = { class: "mx-1" }, Vc = { class: "text-gray-900 font-semibold" }, Bc = { class: "w-full flex-shrink-0 mb-6 px-[24px]" }, Uc = { class: "flex items-center w-full h-10 max-w-md grid-cols-3 p-1 bg-white border border-gray-200 rounded-md text-muted-foreground" }, qc = ["onClick"], Hc = { class: "flex-1 min-h-0 overflow-y-auto px-[24px]" }, B2 = /* @__PURE__ */ ve({
|
|
2637
2637
|
__name: "register",
|
|
2638
2638
|
props: {
|
|
2639
2639
|
hideDetailsButton: { type: Boolean, default: !1 }
|
|
@@ -2728,13 +2728,13 @@ const Xa = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
|
|
|
2728
2728
|
), (y, w) => {
|
|
2729
2729
|
const x = Lr("router-link");
|
|
2730
2730
|
return d(), h("div", Pc, [
|
|
2731
|
-
|
|
2731
|
+
ie(Tr, {
|
|
2732
2732
|
variant: "form",
|
|
2733
2733
|
title: v.value.name
|
|
2734
2734
|
}, {
|
|
2735
2735
|
breadcrumbs: je(() => [
|
|
2736
2736
|
r.value ? (d(), h(te, { key: 0 }, [
|
|
2737
|
-
|
|
2737
|
+
ie(x, {
|
|
2738
2738
|
to: r.value,
|
|
2739
2739
|
class: "text-gray-500 hover:text-gray-700"
|
|
2740
2740
|
}, {
|
|
@@ -2743,14 +2743,14 @@ const Xa = { class: "flex flex-col md:flex-row md:justify-between lg:flex-row lg
|
|
|
2743
2743
|
]),
|
|
2744
2744
|
_: 1
|
|
2745
2745
|
}, 8, ["to"]),
|
|
2746
|
-
o("span",
|
|
2747
|
-
|
|
2746
|
+
o("span", Dc, [
|
|
2747
|
+
ie(ce(io), {
|
|
2748
2748
|
size: 16,
|
|
2749
2749
|
class: "shrink-0"
|
|
2750
2750
|
})
|
|
2751
2751
|
])
|
|
2752
2752
|
], 64)) : X("", !0),
|
|
2753
|
-
o("span",
|
|
2753
|
+
o("span", Vc, U(v.value.name), 1)
|
|
2754
2754
|
]),
|
|
2755
2755
|
description: je(() => [...w[2] || (w[2] = [
|
|
2756
2756
|
Ae("Налаштування реєстру", -1)
|
|
@@ -2841,7 +2841,7 @@ sn.prototype.toString = function(t) {
|
|
|
2841
2841
|
return this.name + ": " + Rr(this, t);
|
|
2842
2842
|
};
|
|
2843
2843
|
var st = sn;
|
|
2844
|
-
function
|
|
2844
|
+
function Vn(e, t, n, r, l) {
|
|
2845
2845
|
var i = "", s = "", a = Math.floor(l / 2) - 1;
|
|
2846
2846
|
return r - t > a && (i = " ... ", t = r - a + i.length), n - r > a && (s = " ...", n = r + a - s.length), {
|
|
2847
2847
|
str: i + e.slice(t, n).replace(/\t/g, "→") + s,
|
|
@@ -2860,7 +2860,7 @@ function od(e, t) {
|
|
|
2860
2860
|
s < 0 && (s = r.length - 1);
|
|
2861
2861
|
var a = "", f, p, v = Math.min(e.line + t.linesAfter, l.length).toString().length, c = t.maxLength - (t.indent + v + 3);
|
|
2862
2862
|
for (f = 1; f <= t.linesBefore && !(s - f < 0); f++)
|
|
2863
|
-
p =
|
|
2863
|
+
p = Vn(
|
|
2864
2864
|
e.buffer,
|
|
2865
2865
|
r[s - f],
|
|
2866
2866
|
l[s - f],
|
|
@@ -2868,10 +2868,10 @@ function od(e, t) {
|
|
|
2868
2868
|
c
|
|
2869
2869
|
), a = Xe.repeat(" ", t.indent) + Bn((e.line - f + 1).toString(), v) + " | " + p.str + `
|
|
2870
2870
|
` + a;
|
|
2871
|
-
for (p =
|
|
2871
|
+
for (p = Vn(e.buffer, r[s], l[s], e.position, c), a += Xe.repeat(" ", t.indent) + Bn((e.line + 1).toString(), v) + " | " + p.str + `
|
|
2872
2872
|
`, a += Xe.repeat("-", t.indent + v + 3 + p.pos) + `^
|
|
2873
2873
|
`, f = 1; f <= t.linesAfter && !(s + f >= l.length); f++)
|
|
2874
|
-
p =
|
|
2874
|
+
p = Vn(
|
|
2875
2875
|
e.buffer,
|
|
2876
2876
|
r[s + f],
|
|
2877
2877
|
l[s + f],
|
|
@@ -2973,12 +2973,12 @@ Xn.prototype.extend = function(t) {
|
|
|
2973
2973
|
var l = Object.create(Xn.prototype);
|
|
2974
2974
|
return l.implicit = (this.implicit || []).concat(n), l.explicit = (this.explicit || []).concat(r), l.compiledImplicit = Yo(l, "implicit"), l.compiledExplicit = Yo(l, "explicit"), l.compiledTypeMap = ud(l.compiledImplicit, l.compiledExplicit), l;
|
|
2975
2975
|
};
|
|
2976
|
-
var Pr = Xn,
|
|
2976
|
+
var Pr = Xn, Dr = new tt("tag:yaml.org,2002:str", {
|
|
2977
2977
|
kind: "scalar",
|
|
2978
2978
|
construct: function(e) {
|
|
2979
2979
|
return e !== null ? e : "";
|
|
2980
2980
|
}
|
|
2981
|
-
}),
|
|
2981
|
+
}), Vr = new tt("tag:yaml.org,2002:seq", {
|
|
2982
2982
|
kind: "sequence",
|
|
2983
2983
|
construct: function(e) {
|
|
2984
2984
|
return e !== null ? e : [];
|
|
@@ -2990,8 +2990,8 @@ var Pr = Xn, Vr = new tt("tag:yaml.org,2002:str", {
|
|
|
2990
2990
|
}
|
|
2991
2991
|
}), Ur = new Pr({
|
|
2992
2992
|
explicit: [
|
|
2993
|
-
Vr,
|
|
2994
2993
|
Dr,
|
|
2994
|
+
Vr,
|
|
2995
2995
|
Br
|
|
2996
2996
|
]
|
|
2997
2997
|
});
|
|
@@ -3304,12 +3304,12 @@ var tl = new tt("tag:yaml.org,2002:omap", {
|
|
|
3304
3304
|
kind: "sequence",
|
|
3305
3305
|
resolve: Rd,
|
|
3306
3306
|
construct: Pd
|
|
3307
|
-
}),
|
|
3308
|
-
function
|
|
3307
|
+
}), Dd = Object.prototype.toString;
|
|
3308
|
+
function Vd(e) {
|
|
3309
3309
|
if (e === null) return !0;
|
|
3310
3310
|
var t, n, r, l, i, s = e;
|
|
3311
3311
|
for (i = new Array(s.length), t = 0, n = s.length; t < n; t += 1) {
|
|
3312
|
-
if (r = s[t],
|
|
3312
|
+
if (r = s[t], Dd.call(r) !== "[object Object]" || (l = Object.keys(r), l.length !== 1)) return !1;
|
|
3313
3313
|
i[t] = [l[0], r[l[0]]];
|
|
3314
3314
|
}
|
|
3315
3315
|
return !0;
|
|
@@ -3323,7 +3323,7 @@ function Bd(e) {
|
|
|
3323
3323
|
}
|
|
3324
3324
|
var nl = new tt("tag:yaml.org,2002:pairs", {
|
|
3325
3325
|
kind: "sequence",
|
|
3326
|
-
resolve:
|
|
3326
|
+
resolve: Vd,
|
|
3327
3327
|
construct: Bd
|
|
3328
3328
|
}), Ud = Object.prototype.hasOwnProperty;
|
|
3329
3329
|
function qd(e) {
|
|
@@ -3389,8 +3389,8 @@ function Jd(e) {
|
|
|
3389
3389
|
);
|
|
3390
3390
|
}
|
|
3391
3391
|
var al = new Array(256), ul = new Array(256);
|
|
3392
|
-
for (var
|
|
3393
|
-
al[
|
|
3392
|
+
for (var Vt = 0; Vt < 256; Vt++)
|
|
3393
|
+
al[Vt] = Go(Vt) ? 1 : 0, ul[Vt] = Go(Vt);
|
|
3394
3394
|
function ef(e, t) {
|
|
3395
3395
|
this.input = e, this.filename = t.filename || null, this.schema = t.schema || co, this.onWarning = t.onWarning || null, this.legacy = t.legacy || !1, this.json = t.json || !1, this.listener = t.listener || null, this.implicitTypes = this.schema.compiledImplicit, this.typeMap = this.schema.compiledTypeMap, this.length = e.length, this.position = 0, this.line = 0, this.lineStart = 0, this.lineIndent = 0, this.firstTabInLine = -1, this.documents = [];
|
|
3396
3396
|
}
|
|
@@ -3877,7 +3877,7 @@ function tr(e, t, n) {
|
|
|
3877
3877
|
function Pf(e) {
|
|
3878
3878
|
return cn(e) && e !== mo && !An(e) && e !== Cf && e !== Lf && e !== Cn && e !== vl && e !== gl && e !== yl && e !== hl && e !== xl && e !== Qn && e !== _f && e !== $f && e !== xf && e !== Mf && e !== Af && e !== Sf && e !== kf && e !== bf && e !== wf && e !== Ef && e !== Tf;
|
|
3879
3879
|
}
|
|
3880
|
-
function
|
|
3880
|
+
function Df(e) {
|
|
3881
3881
|
return !An(e) && e !== Cn;
|
|
3882
3882
|
}
|
|
3883
3883
|
function rn(e, t) {
|
|
@@ -3889,8 +3889,8 @@ function bl(e) {
|
|
|
3889
3889
|
return t.test(e);
|
|
3890
3890
|
}
|
|
3891
3891
|
var wl = 1, eo = 2, _l = 3, kl = 4, qt = 5;
|
|
3892
|
-
function
|
|
3893
|
-
var f, p = 0, v = null, c = !1, g = !1, u = r !== -1, m = -1, y = Pf(rn(e, 0)) &&
|
|
3892
|
+
function Vf(e, t, n, r, l, i, s, a) {
|
|
3893
|
+
var f, p = 0, v = null, c = !1, g = !1, u = r !== -1, m = -1, y = Pf(rn(e, 0)) && Df(rn(e, e.length - 1));
|
|
3894
3894
|
if (t || s)
|
|
3895
3895
|
for (f = 0; f < e.length; p >= 65536 ? f += 2 : f++) {
|
|
3896
3896
|
if (p = rn(e, f), !cn(p))
|
|
@@ -3920,7 +3920,7 @@ function Bf(e, t, n, r, l) {
|
|
|
3920
3920
|
function f(p) {
|
|
3921
3921
|
return Rf(e, p);
|
|
3922
3922
|
}
|
|
3923
|
-
switch (
|
|
3923
|
+
switch (Vf(
|
|
3924
3924
|
t,
|
|
3925
3925
|
a,
|
|
3926
3926
|
e.indent,
|
|
@@ -4103,8 +4103,8 @@ var Qf = tt, Jf = Pr, ep = Ur, tp = Zr, np = Gr, op = co, $l = fl.load, rp = fl.
|
|
|
4103
4103
|
int: Yr,
|
|
4104
4104
|
merge: Jr,
|
|
4105
4105
|
omap: tl,
|
|
4106
|
-
seq:
|
|
4107
|
-
str:
|
|
4106
|
+
seq: Vr,
|
|
4107
|
+
str: Dr
|
|
4108
4108
|
}, ip = vo("safeLoad", "load"), ap = vo("safeLoadAll", "loadAll"), up = vo("safeDump", "dump"), ir = {
|
|
4109
4109
|
Type: Qf,
|
|
4110
4110
|
Schema: Jf,
|
|
@@ -4163,7 +4163,7 @@ const pp = /* @__PURE__ */ Se(cp, [["render", fp]]), mp = ["aria-label"], go = /
|
|
|
4163
4163
|
]),
|
|
4164
4164
|
"aria-label": e.open ? "Закрити панель" : "Відкрити панель"
|
|
4165
4165
|
}, [
|
|
4166
|
-
|
|
4166
|
+
ie(pp, { class: "h-3 w-3" })
|
|
4167
4167
|
], 10, mp));
|
|
4168
4168
|
}
|
|
4169
4169
|
}), vp = {}, gp = {
|
|
@@ -4273,7 +4273,7 @@ const Fp = /* @__PURE__ */ Se(Ep, [["render", Mp]]), yo = /* @__PURE__ */ ve({
|
|
|
4273
4273
|
class: "lucide lucide-settings"
|
|
4274
4274
|
}));
|
|
4275
4275
|
}
|
|
4276
|
-
}), Ip = { class: "flex-1 overflow-y-auto p-4" }, jp = { class: "space-y-4" }, zp = { class: "border border-gray-200 rounded-lg p-4" }, Np = { class: "grid grid-cols-2 gap-2" }, Op = { class: "text-xs text-gray-500 mb-1" }, Rp = { class: "text-sm font-semibold text-gray-900" }, Pp = { class: "border border-gray-200 rounded-lg p-4" },
|
|
4276
|
+
}), Ip = { class: "flex-1 overflow-y-auto p-4" }, jp = { class: "space-y-4" }, zp = { class: "border border-gray-200 rounded-lg p-4" }, Np = { class: "grid grid-cols-2 gap-2" }, Op = { class: "text-xs text-gray-500 mb-1" }, Rp = { class: "text-sm font-semibold text-gray-900" }, Pp = { class: "border border-gray-200 rounded-lg p-4" }, Dp = { class: "text-sm text-gray-700 leading-relaxed" }, Vp = { class: "border border-gray-200 rounded-lg p-4" }, Bp = { class: "grid grid-cols-2 gap-2" }, Up = { class: "text-xs text-gray-500 mb-1" }, qp = {
|
|
4277
4277
|
key: 0,
|
|
4278
4278
|
class: "text-sm font-semibold text-gray-900"
|
|
4279
4279
|
}, Hp = ["href"], Yp = {
|
|
@@ -4363,9 +4363,9 @@ const Fp = /* @__PURE__ */ Se(Ep, [["render", Mp]]), yo = /* @__PURE__ */ ve({
|
|
|
4363
4363
|
]),
|
|
4364
4364
|
o("div", Pp, [
|
|
4365
4365
|
c[1] || (c[1] = o("h2", { class: "text-xs font-semibold text-gray-500 uppercase tracking-wider mb-3" }, " Повний опис ", -1)),
|
|
4366
|
-
o("p",
|
|
4366
|
+
o("p", Dp, U(f.value), 1)
|
|
4367
4367
|
]),
|
|
4368
|
-
o("div",
|
|
4368
|
+
o("div", Vp, [
|
|
4369
4369
|
c[2] || (c[2] = o("h2", { class: "text-xs font-semibold text-gray-500 uppercase tracking-wider mb-3" }, " Метадані ", -1)),
|
|
4370
4370
|
o("div", Bp, [
|
|
4371
4371
|
(d(!0), h(te, null, ge(p.value, (g) => (d(), h("div", {
|
|
@@ -4842,7 +4842,7 @@ const mn = /* @__PURE__ */ ve({
|
|
|
4842
4842
|
o("div", { class: "text-xs text-gray-400" }, "YAML")
|
|
4843
4843
|
], -1)),
|
|
4844
4844
|
o("div", tm, [
|
|
4845
|
-
|
|
4845
|
+
ie(mn, {
|
|
4846
4846
|
modelValue: l.value,
|
|
4847
4847
|
"onUpdate:modelValue": p[0] || (p[0] = (v) => l.value = v),
|
|
4848
4848
|
language: "yaml",
|
|
@@ -4925,15 +4925,21 @@ function om(e) {
|
|
|
4925
4925
|
...e.mapOptions || {},
|
|
4926
4926
|
container: u
|
|
4927
4927
|
};
|
|
4928
|
-
E.maxZoom == null && (E.maxZoom = x), t.value = new maplibregl.Map(E), (k = e.controls) != null && k.navigation && t.value.addControl(new maplibregl.NavigationControl(
|
|
4928
|
+
E.maxZoom == null && (E.maxZoom = x), t.value = new maplibregl.Map(E), (k = e.controls) != null && k.navigation && (t.value.addControl(new maplibregl.NavigationControl(
|
|
4929
4929
|
typeof e.controls.navigation == "object" ? e.controls.navigation : {}
|
|
4930
|
-
), "top-right"),
|
|
4930
|
+
), "top-right"), t.value.once("load", () => {
|
|
4931
|
+
var ae;
|
|
4932
|
+
const ne = t.value.getContainer(), le = (ae = ne == null ? void 0 : ne.querySelector) == null ? void 0 : ae.call(ne, ".maplibregl-ctrl-compass, .mapboxgl-ctrl-compass");
|
|
4933
|
+
le && typeof t.value.easeTo == "function" && le.addEventListener("click", (Z) => {
|
|
4934
|
+
Z.preventDefault(), Z.stopPropagation(), t.value.easeTo({ bearing: 0, pitch: 0 });
|
|
4935
|
+
}, !0);
|
|
4936
|
+
})), (C = e.controls) != null && C.scale && t.value.addControl(new maplibregl.ScaleControl(
|
|
4931
4937
|
typeof e.controls.scale == "object" ? e.controls.scale : {}
|
|
4932
4938
|
), "bottom-left"), (N = e.controls) != null && N.fullscreen && t.value.addControl(new maplibregl.FullscreenControl(), "top-right"), (B = e.controls) != null && B.geolocate && t.value.addControl(new maplibregl.GeolocateControl(
|
|
4933
4939
|
typeof e.controls.geolocate == "object" ? e.controls.geolocate : {}
|
|
4934
4940
|
), "top-right"), t.value.once("load", () => {
|
|
4935
|
-
var
|
|
4936
|
-
p((
|
|
4941
|
+
var ne;
|
|
4942
|
+
p((ne = ce(e.settings)) == null ? void 0 : ne.map), n.value = !0, i();
|
|
4937
4943
|
});
|
|
4938
4944
|
};
|
|
4939
4945
|
ee(
|
|
@@ -5079,17 +5085,17 @@ function fm(e, t = {}) {
|
|
|
5079
5085
|
"text-opacity": C ?? 1
|
|
5080
5086
|
};
|
|
5081
5087
|
B["text-halo-color"] = g, u !== void 0 && (B["text-halo-width"] = u), m !== void 0 && (B["text-halo-blur"] = m);
|
|
5082
|
-
const
|
|
5088
|
+
const ne = {
|
|
5083
5089
|
type: "symbol",
|
|
5084
5090
|
layout: N,
|
|
5085
5091
|
paint: B
|
|
5086
|
-
},
|
|
5087
|
-
if (
|
|
5092
|
+
}, le = qn(p, am);
|
|
5093
|
+
if (ne.minzoom = le, v !== void 0) {
|
|
5088
5094
|
const Z = qn(v, void 0);
|
|
5089
|
-
Z !== void 0 && (
|
|
5095
|
+
Z !== void 0 && (ne.maxzoom = Z);
|
|
5090
5096
|
}
|
|
5091
5097
|
const ae = dm(t.filter, t.excludeClusters);
|
|
5092
|
-
return ae && (
|
|
5098
|
+
return ae && (ne.filter = ae), [ne];
|
|
5093
5099
|
}
|
|
5094
5100
|
const Hn = /* @__PURE__ */ new Map(), Yn = {};
|
|
5095
5101
|
function xo(e) {
|
|
@@ -5300,86 +5306,86 @@ async function pr(e, t, n) {
|
|
|
5300
5306
|
}
|
|
5301
5307
|
}
|
|
5302
5308
|
function Re(e, t, n) {
|
|
5303
|
-
var
|
|
5309
|
+
var le, ae;
|
|
5304
5310
|
if (!e) return Yn;
|
|
5305
5311
|
if (!t) return Yn[e];
|
|
5306
|
-
const { map: r, ready: l = () => Promise.resolve() } = et(n), i = e || ((
|
|
5312
|
+
const { map: r, ready: l = () => Promise.resolve() } = et(n), i = e || ((le = t.layer) == null ? void 0 : le.id), s = t.sourceId ?? e, a = { ...t };
|
|
5307
5313
|
a.point && (a.source = xm(a.point)), !a.layer && ((ae = a.source) == null ? void 0 : ae.type) === "raster" && (a.layer = { id: s, type: "raster", source: s }), a.layer && !a.layer.source && Object.assign(a.layer, { source: s });
|
|
5308
5314
|
let f = !1, p = !1;
|
|
5309
5315
|
const v = () => {
|
|
5310
|
-
var Z,
|
|
5316
|
+
var Z, se, R, P, j, V, S, D, H, J;
|
|
5311
5317
|
if (!(p || !r.value)) {
|
|
5312
5318
|
if (a.source && !r.value.getSource(s) && r.value.addSource(s, a.source), !r.value.getLayer(i)) {
|
|
5313
|
-
const Q = a.beforeId === 0 ? (
|
|
5319
|
+
const Q = a.beforeId === 0 ? (se = (Z = r.value.getStyle().layers) == null ? void 0 : Z[0]) == null ? void 0 : se.id : a.beforeId;
|
|
5314
5320
|
(P = (R = a.layer) == null ? void 0 : R.style) != null && P.icon && pr(r.value, a.layer.style.icon, a.layer.style.colors);
|
|
5315
|
-
const
|
|
5316
|
-
sourceType:
|
|
5321
|
+
const oe = ((j = a.source) == null ? void 0 : j.type) || ((V = a.layer) == null ? void 0 : V.type), ue = a.layer && (a.layer.type || a.layer.ref) ? a.layer : null, he = (S = a.layer) == null ? void 0 : S.style, ye = ((D = a.layer) == null ? void 0 : D["source-layer"]) || ((H = a.source) == null ? void 0 : H["source-layer"]) || a.sourceLayer || s, Te = a.style || he, W = fr(Te, {
|
|
5322
|
+
sourceType: oe,
|
|
5317
5323
|
filter: (J = a.layer) == null ? void 0 : J.filter,
|
|
5318
5324
|
allowFallback: !ue
|
|
5319
5325
|
});
|
|
5320
5326
|
if (!W.length) {
|
|
5321
5327
|
if (ue) {
|
|
5322
|
-
const
|
|
5328
|
+
const re = {
|
|
5323
5329
|
...ue,
|
|
5324
5330
|
id: ue.id || i,
|
|
5325
5331
|
source: ue.source || s
|
|
5326
5332
|
};
|
|
5327
|
-
|
|
5333
|
+
oe === "vector" && ye && (re["source-layer"] = re["source-layer"] || ye), r.value.addLayer(re, Q);
|
|
5328
5334
|
}
|
|
5329
5335
|
return;
|
|
5330
5336
|
}
|
|
5331
|
-
W.forEach((
|
|
5332
|
-
const F = { ...
|
|
5333
|
-
|
|
5337
|
+
W.forEach((re, b) => {
|
|
5338
|
+
const F = { ...re, id: `${i}${b || ""}`, source: s };
|
|
5339
|
+
oe === "vector" && ye && (F["source-layer"] = ye), r.value.addLayer(F, Q);
|
|
5334
5340
|
});
|
|
5335
5341
|
}
|
|
5336
5342
|
f = !0;
|
|
5337
5343
|
}
|
|
5338
5344
|
};
|
|
5339
5345
|
l().then(v);
|
|
5340
|
-
const c = (Z,
|
|
5346
|
+
const c = (Z, se) => r.value ? (r.value.on(Z, i, se), () => {
|
|
5341
5347
|
var R;
|
|
5342
|
-
return (R = r.value) == null ? void 0 : R.off(Z, i,
|
|
5348
|
+
return (R = r.value) == null ? void 0 : R.off(Z, i, se);
|
|
5343
5349
|
}) : () => {
|
|
5344
5350
|
}, g = (Z) => {
|
|
5345
|
-
const
|
|
5346
|
-
if (!
|
|
5347
|
-
const R =
|
|
5351
|
+
const se = r.value;
|
|
5352
|
+
if (!se) return;
|
|
5353
|
+
const R = se.getStyle(), P = R == null ? void 0 : R.layers;
|
|
5348
5354
|
P != null && P.length && P.filter((j) => j.source === i).forEach((j) => {
|
|
5349
|
-
|
|
5355
|
+
se.setLayoutProperty(j.id, "visibility", Z ? "visible" : "none");
|
|
5350
5356
|
});
|
|
5351
5357
|
}, u = (Z = !0) => {
|
|
5352
5358
|
var R, P, j;
|
|
5353
5359
|
if (!r.value) return;
|
|
5354
|
-
(((j = (P = (R = r.value).getStyle) == null ? void 0 : P.call(R)) == null ? void 0 : j.layers) ?? []).filter((
|
|
5355
|
-
r.value.removeLayer(
|
|
5360
|
+
(((j = (P = (R = r.value).getStyle) == null ? void 0 : P.call(R)) == null ? void 0 : j.layers) ?? []).filter((V) => V.source === i).forEach((V) => {
|
|
5361
|
+
r.value.removeLayer(V.id);
|
|
5356
5362
|
}), p = !0, a.source && Z && r.value.getSource(s) && r.value.removeSource(s);
|
|
5357
5363
|
}, m = async (Z) => {
|
|
5358
|
-
var j,
|
|
5364
|
+
var j, V, S, D, H;
|
|
5359
5365
|
if (!r.value) return;
|
|
5360
5366
|
Z != null && Z.icon && pr(r.value, Z.icon, Z.colors);
|
|
5361
|
-
const
|
|
5362
|
-
sourceType:
|
|
5367
|
+
const se = ((j = a.source) == null ? void 0 : j.type) || ((V = a.layer) == null ? void 0 : V.type), R = ((S = a.layer) == null ? void 0 : S["source-layer"]) || ((D = a.source) == null ? void 0 : D["source-layer"]) || a.sourceLayer || s, P = fr(Z, {
|
|
5368
|
+
sourceType: se,
|
|
5363
5369
|
filter: (H = a.layer) == null ? void 0 : H.filter,
|
|
5364
5370
|
allowFallback: !0
|
|
5365
5371
|
});
|
|
5366
5372
|
u(!1), P.forEach((J, Q) => {
|
|
5367
5373
|
var ue;
|
|
5368
|
-
const
|
|
5374
|
+
const oe = {
|
|
5369
5375
|
...J,
|
|
5370
5376
|
id: `${i}${Q}`,
|
|
5371
5377
|
source: ((ue = a.layer) == null ? void 0 : ue.source) || s
|
|
5372
5378
|
};
|
|
5373
|
-
|
|
5379
|
+
se === "vector" && R && (oe["source-layer"] = oe["source-layer"] || R), r.value.addLayer(oe);
|
|
5374
5380
|
});
|
|
5375
5381
|
}, y = (Z) => {
|
|
5376
|
-
r.value && Object.entries(Z).forEach(([
|
|
5377
|
-
r.value.setPaintProperty(i,
|
|
5382
|
+
r.value && Object.entries(Z).forEach(([se, R]) => {
|
|
5383
|
+
r.value.setPaintProperty(i, se, R);
|
|
5378
5384
|
});
|
|
5379
|
-
}, w = (Z,
|
|
5385
|
+
}, w = (Z, se, R) => {
|
|
5380
5386
|
const P = r.value;
|
|
5381
5387
|
if (P)
|
|
5382
|
-
switch (
|
|
5388
|
+
switch (se) {
|
|
5383
5389
|
case "raster":
|
|
5384
5390
|
P.setPaintProperty(Z, "raster-opacity", R);
|
|
5385
5391
|
break;
|
|
@@ -5405,8 +5411,8 @@ function Re(e, t, n) {
|
|
|
5405
5411
|
setVisible: g,
|
|
5406
5412
|
updatePaint: y,
|
|
5407
5413
|
updateLayout: (Z) => {
|
|
5408
|
-
r.value && Object.entries(Z).forEach(([
|
|
5409
|
-
r.value.setLayoutProperty(i,
|
|
5414
|
+
r.value && Object.entries(Z).forEach(([se, R]) => {
|
|
5415
|
+
r.value.setLayoutProperty(i, se, R);
|
|
5410
5416
|
});
|
|
5411
5417
|
},
|
|
5412
5418
|
updateFilter: (Z) => {
|
|
@@ -5425,29 +5431,29 @@ function Re(e, t, n) {
|
|
|
5425
5431
|
},
|
|
5426
5432
|
setData: (Z) => {
|
|
5427
5433
|
if (!r.value) return;
|
|
5428
|
-
const
|
|
5429
|
-
|
|
5434
|
+
const se = r.value.getSource(s);
|
|
5435
|
+
se && "setData" in se && se.setData(Z);
|
|
5430
5436
|
},
|
|
5431
5437
|
setTiles: (Z) => {
|
|
5432
5438
|
if (!r.value) return;
|
|
5433
|
-
const
|
|
5434
|
-
|
|
5439
|
+
const se = r.value.getSource(s);
|
|
5440
|
+
se && "setTiles" in se && se.setTiles(Z);
|
|
5435
5441
|
},
|
|
5436
5442
|
setStyle: m,
|
|
5437
5443
|
setFilter: (Z) => {
|
|
5438
5444
|
var R, P;
|
|
5439
5445
|
if (!r.value) return;
|
|
5440
|
-
const
|
|
5441
|
-
if (
|
|
5446
|
+
const se = r.value.getSource(s);
|
|
5447
|
+
if (se && "setTiles" in se && ((P = (R = a.source) == null ? void 0 : R.tiles) != null && P[0])) {
|
|
5442
5448
|
const j = a.source.tiles[0];
|
|
5443
|
-
|
|
5449
|
+
se.setTiles([`${j}${j.includes("?") ? "&" : "?"}filter=${Z}`]);
|
|
5444
5450
|
}
|
|
5445
5451
|
},
|
|
5446
|
-
setFeatureState: (Z,
|
|
5447
|
-
r.value && r.value.setFeatureState({ source: s, ...Z },
|
|
5452
|
+
setFeatureState: (Z, se) => {
|
|
5453
|
+
r.value && r.value.setFeatureState({ source: s, ...Z }, se);
|
|
5448
5454
|
},
|
|
5449
|
-
removeFeatureState: (Z,
|
|
5450
|
-
r.value && r.value.removeFeatureState({ source: s, ...Z },
|
|
5455
|
+
removeFeatureState: (Z, se) => {
|
|
5456
|
+
r.value && r.value.removeFeatureState({ source: s, ...Z }, se ? { key: se } : void 0);
|
|
5451
5457
|
},
|
|
5452
5458
|
remove: u,
|
|
5453
5459
|
card: a.card,
|
|
@@ -5466,9 +5472,9 @@ function Re(e, t, n) {
|
|
|
5466
5472
|
Hn.set(i, N);
|
|
5467
5473
|
const B = () => {
|
|
5468
5474
|
Hn.get(i) === N && Hn.delete(i);
|
|
5469
|
-
},
|
|
5475
|
+
}, ne = N.remove;
|
|
5470
5476
|
return N.remove = () => {
|
|
5471
|
-
B(),
|
|
5477
|
+
B(), ne();
|
|
5472
5478
|
}, ze(N.remove), Yn[e] = N, N;
|
|
5473
5479
|
}
|
|
5474
5480
|
const bm = { class: "flex flex-col flex-1 min-h-0" }, wm = { class: "flex flex-col flex-1 min-h-0" }, _m = /* @__PURE__ */ ve({
|
|
@@ -5550,7 +5556,7 @@ const bm = { class: "flex flex-col flex-1 min-h-0" }, wm = { class: "flex flex-c
|
|
|
5550
5556
|
"add-button": !1
|
|
5551
5557
|
}, null, 8, ["modelValue"])) : X("", !0)
|
|
5552
5558
|
]),
|
|
5553
|
-
|
|
5559
|
+
ie(Xt, {
|
|
5554
5560
|
visible: s.value,
|
|
5555
5561
|
"onUpdate:visible": y[1] || (y[1] = (w) => s.value = w),
|
|
5556
5562
|
selection: a.value,
|
|
@@ -5637,7 +5643,7 @@ const bm = { class: "flex flex-col flex-1 min-h-0" }, wm = { class: "flex flex-c
|
|
|
5637
5643
|
class: "inline-flex items-center justify-center gap-1 px-3 py-1.5 rounded-md bg-sky-100 hover:bg-sky-200 text-sky-700 font-medium text-sm transition disabled:opacity-70 disabled:cursor-not-allowed"
|
|
5638
5644
|
}, " Зберегти легенду ")
|
|
5639
5645
|
]),
|
|
5640
|
-
|
|
5646
|
+
ie(Ft, {
|
|
5641
5647
|
modelValue: l.value,
|
|
5642
5648
|
"onUpdate:modelValue": y[1] || (y[1] = (w) => l.value = w),
|
|
5643
5649
|
"columns-scheme": f,
|
|
@@ -5645,7 +5651,7 @@ const bm = { class: "flex flex-col flex-1 min-h-0" }, wm = { class: "flex flex-c
|
|
|
5645
5651
|
"main-col-width": "250px",
|
|
5646
5652
|
"add-button": !1
|
|
5647
5653
|
}, null, 8, ["modelValue"]),
|
|
5648
|
-
|
|
5654
|
+
ie(ce(a), {
|
|
5649
5655
|
teleport: "#modal",
|
|
5650
5656
|
visible: i.value,
|
|
5651
5657
|
title: "Новий елемент легенди",
|
|
@@ -5892,7 +5898,7 @@ ${L}` : L;
|
|
|
5892
5898
|
class: "inline-flex items-center justify-center gap-1 px-3 py-1.5 rounded-md bg-sky-100 hover:bg-sky-200 text-sky-700 font-medium text-sm transition disabled:opacity-70 disabled:cursor-not-allowed"
|
|
5893
5899
|
}, " Зберегти ")
|
|
5894
5900
|
]),
|
|
5895
|
-
|
|
5901
|
+
ie(zm, {
|
|
5896
5902
|
modelValue: i.value,
|
|
5897
5903
|
"onUpdate:modelValue": x[0] || (x[0] = (_) => i.value = _),
|
|
5898
5904
|
options: y
|
|
@@ -5915,7 +5921,7 @@ ${L}` : L;
|
|
|
5915
5921
|
class: "flex-1 min-h-0"
|
|
5916
5922
|
}, null, 8, ["modelValue"])) : X("", !0)
|
|
5917
5923
|
]),
|
|
5918
|
-
|
|
5924
|
+
ie(Xt, {
|
|
5919
5925
|
visible: a.value,
|
|
5920
5926
|
"onUpdate:visible": x[3] || (x[3] = (_) => a.value = _),
|
|
5921
5927
|
selection: f.value,
|
|
@@ -5928,7 +5934,7 @@ ${L}` : L;
|
|
|
5928
5934
|
}, null, 8, ["visible", "selection", "fields"])
|
|
5929
5935
|
]));
|
|
5930
5936
|
}
|
|
5931
|
-
}), Pm = { class: "flex flex-col flex-1 min-h-0" },
|
|
5937
|
+
}), Pm = { class: "flex flex-col flex-1 min-h-0" }, Dm = /* @__PURE__ */ ve({
|
|
5932
5938
|
__name: "vs-tab-filter",
|
|
5933
5939
|
props: {
|
|
5934
5940
|
fields: {},
|
|
@@ -6013,7 +6019,7 @@ ${L}` : L;
|
|
|
6013
6019
|
"main-col-width": "250px",
|
|
6014
6020
|
"add-button": !1
|
|
6015
6021
|
}, null, 8, ["modelValue"])) : X("", !0),
|
|
6016
|
-
|
|
6022
|
+
ie(Xt, {
|
|
6017
6023
|
visible: s.value,
|
|
6018
6024
|
"onUpdate:visible": y[1] || (y[1] = (w) => s.value = w),
|
|
6019
6025
|
selection: a.value,
|
|
@@ -6085,7 +6091,7 @@ const En = /* @__PURE__ */ ve({
|
|
|
6085
6091
|
wt(p.$slots, "default")
|
|
6086
6092
|
], 512));
|
|
6087
6093
|
}
|
|
6088
|
-
}),
|
|
6094
|
+
}), Vm = /* @__PURE__ */ ve({
|
|
6089
6095
|
__name: "MapDataLayer",
|
|
6090
6096
|
props: {
|
|
6091
6097
|
id: {},
|
|
@@ -6206,47 +6212,47 @@ const qm = { class: "map-filter" }, Hm = { class: "map-filter__header" }, Ym = {
|
|
|
6206
6212
|
function C() {
|
|
6207
6213
|
s();
|
|
6208
6214
|
}
|
|
6209
|
-
function N(S,
|
|
6215
|
+
function N(S, D, H = 8) {
|
|
6210
6216
|
const J = window.scrollY + H, Q = window.scrollY + window.innerHeight - H;
|
|
6211
|
-
let
|
|
6212
|
-
return
|
|
6217
|
+
let oe = S;
|
|
6218
|
+
return oe + D > Q && (oe = Q - D), oe < J && (oe = J), oe;
|
|
6213
6219
|
}
|
|
6214
6220
|
function B() {
|
|
6215
6221
|
var he, ye, Te;
|
|
6216
6222
|
if (!p.value || !I.value) return;
|
|
6217
|
-
const S = p.value.getBoundingClientRect(),
|
|
6218
|
-
let
|
|
6223
|
+
const S = p.value.getBoundingClientRect(), D = window.scrollX + 8, H = window.scrollX + window.innerWidth - 8, J = ((he = v.value) == null ? void 0 : he.offsetWidth) || 280, Q = ((ye = v.value) == null ? void 0 : ye.offsetHeight) || 0;
|
|
6224
|
+
let oe = 0, ue = 0;
|
|
6219
6225
|
if ((Te = n.catalogAnchor) != null && Te.value) {
|
|
6220
|
-
const W = n.catalogAnchor.value.getBoundingClientRect(),
|
|
6221
|
-
|
|
6222
|
-
const b = W.right + window.scrollX + 12, F = H - J, K =
|
|
6226
|
+
const W = n.catalogAnchor.value.getBoundingClientRect(), re = W.top + window.scrollY;
|
|
6227
|
+
oe = N(re, Q, 8);
|
|
6228
|
+
const b = W.right + window.scrollX + 12, F = H - J, K = D;
|
|
6223
6229
|
ue = Math.min(Math.max(b, K), Math.max(K, F));
|
|
6224
6230
|
} else {
|
|
6225
6231
|
const W = S.bottom + window.scrollY + 8;
|
|
6226
|
-
|
|
6227
|
-
let
|
|
6228
|
-
|
|
6232
|
+
oe = N(W, Q, 8);
|
|
6233
|
+
let re = S.left + window.scrollX;
|
|
6234
|
+
re < D && (re = D), re + J > H && (re = Math.max(D, H - J)), ue = re;
|
|
6229
6235
|
}
|
|
6230
|
-
f.left = ue, f.top =
|
|
6236
|
+
f.left = ue, f.top = oe, f.transform = "none";
|
|
6231
6237
|
}
|
|
6232
|
-
function
|
|
6233
|
-
I.value ||
|
|
6238
|
+
function ne() {
|
|
6239
|
+
I.value || V(), a(), i.value && I.value && Ye(() => {
|
|
6234
6240
|
B(), P(), requestAnimationFrame(() => B());
|
|
6235
6241
|
});
|
|
6236
6242
|
}
|
|
6237
|
-
function
|
|
6238
|
-
n.disabled ||
|
|
6243
|
+
function le() {
|
|
6244
|
+
n.disabled || ne();
|
|
6239
6245
|
}
|
|
6240
6246
|
ee(m, (S) => {
|
|
6241
6247
|
S && I.value ? Ye(() => {
|
|
6242
6248
|
B(), P(), requestAnimationFrame(() => B());
|
|
6243
|
-
}) : (j(), I.value ||
|
|
6249
|
+
}) : (j(), I.value || V());
|
|
6244
6250
|
}), ee(_, () => {
|
|
6245
6251
|
!m.value || !I.value || Ye(() => B());
|
|
6246
6252
|
}, { deep: !0 }), ee(I, (S) => {
|
|
6247
6253
|
m.value && (S ? Ye(() => {
|
|
6248
6254
|
B(), P();
|
|
6249
|
-
}) : (j(),
|
|
6255
|
+
}) : (j(), V()));
|
|
6250
6256
|
}), ee(
|
|
6251
6257
|
() => n.disabled,
|
|
6252
6258
|
(S) => {
|
|
@@ -6257,26 +6263,26 @@ const qm = { class: "map-filter" }, Hm = { class: "map-filter__header" }, Ym = {
|
|
|
6257
6263
|
!m.value || !I.value || B();
|
|
6258
6264
|
}
|
|
6259
6265
|
function Z(S) {
|
|
6260
|
-
const
|
|
6261
|
-
if (!
|
|
6262
|
-
const H = Re(
|
|
6266
|
+
const D = r.value;
|
|
6267
|
+
if (!D) return;
|
|
6268
|
+
const H = Re(D);
|
|
6263
6269
|
if (!(H != null && H.setFilter)) return;
|
|
6264
6270
|
g.value = S;
|
|
6265
|
-
const J = Object.entries(S).map(([Q,
|
|
6271
|
+
const J = Object.entries(S).map(([Q, oe]) => `${Q}=${oe}`).join("|");
|
|
6266
6272
|
H.setFilter(J);
|
|
6267
6273
|
}
|
|
6268
|
-
function
|
|
6274
|
+
function se(S) {
|
|
6269
6275
|
if (!n.disabled) return;
|
|
6270
|
-
const
|
|
6271
|
-
if (!
|
|
6272
|
-
const H =
|
|
6276
|
+
const D = S.currentTarget;
|
|
6277
|
+
if (!D) return;
|
|
6278
|
+
const H = D.getBoundingClientRect();
|
|
6273
6279
|
u.left = H.left + H.width / 2 + window.scrollX, u.top = H.bottom + 8 + window.scrollY, u.visible = !0;
|
|
6274
6280
|
}
|
|
6275
6281
|
function R() {
|
|
6276
6282
|
u.visible = !1;
|
|
6277
6283
|
}
|
|
6278
6284
|
Ne(() => {
|
|
6279
|
-
|
|
6285
|
+
V(), window.addEventListener("resize", ae), window.addEventListener("scroll", ae, !0);
|
|
6280
6286
|
}), ze(() => {
|
|
6281
6287
|
window.removeEventListener("resize", ae), window.removeEventListener("scroll", ae, !0), j();
|
|
6282
6288
|
});
|
|
@@ -6288,10 +6294,10 @@ const qm = { class: "map-filter" }, Hm = { class: "map-filter__header" }, Ym = {
|
|
|
6288
6294
|
function j() {
|
|
6289
6295
|
c && (c.disconnect(), c = null);
|
|
6290
6296
|
}
|
|
6291
|
-
function
|
|
6297
|
+
function V() {
|
|
6292
6298
|
typeof window > "u" || typeof document > "u" || (E.value = document.querySelector(Wn));
|
|
6293
6299
|
}
|
|
6294
|
-
return (S,
|
|
6300
|
+
return (S, D) => w.value ? (d(), h("div", {
|
|
6295
6301
|
key: 0,
|
|
6296
6302
|
class: "mapLayer-filter",
|
|
6297
6303
|
ref_key: "anchor",
|
|
@@ -6300,12 +6306,12 @@ const qm = { class: "map-filter" }, Hm = { class: "map-filter__header" }, Ym = {
|
|
|
6300
6306
|
o("a", {
|
|
6301
6307
|
class: Le(["mapLayer-filter__trigger", { "mapLayer-filter__trigger--disabled": n.disabled }]),
|
|
6302
6308
|
href: "#",
|
|
6303
|
-
onClick: Je(
|
|
6304
|
-
onMouseenter:
|
|
6309
|
+
onClick: Je(le, ["prevent", "stop"]),
|
|
6310
|
+
onMouseenter: se,
|
|
6305
6311
|
onMouseleave: R,
|
|
6306
|
-
onFocus:
|
|
6312
|
+
onFocus: se,
|
|
6307
6313
|
onBlur: R
|
|
6308
|
-
}, [...
|
|
6314
|
+
}, [...D[2] || (D[2] = [
|
|
6309
6315
|
o("div", { class: "mapLayer-filter__icon" }, [
|
|
6310
6316
|
o("svg", {
|
|
6311
6317
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -6331,7 +6337,7 @@ const qm = { class: "map-filter" }, Hm = { class: "map-filter__header" }, Ym = {
|
|
|
6331
6337
|
style: Qe(k.value),
|
|
6332
6338
|
ref_key: "panel",
|
|
6333
6339
|
ref: v,
|
|
6334
|
-
onClick:
|
|
6340
|
+
onClick: D[1] || (D[1] = Je(() => {
|
|
6335
6341
|
}, ["stop"]))
|
|
6336
6342
|
}, [
|
|
6337
6343
|
o("div", qm, [
|
|
@@ -6343,17 +6349,17 @@ const qm = { class: "map-filter" }, Hm = { class: "map-filter__header" }, Ym = {
|
|
|
6343
6349
|
onClick: C
|
|
6344
6350
|
}, [
|
|
6345
6351
|
o("span", Wm, [
|
|
6346
|
-
|
|
6352
|
+
ie(ce(dn), { class: "h-4 w-4" })
|
|
6347
6353
|
]),
|
|
6348
|
-
|
|
6354
|
+
D[3] || (D[3] = o("span", { class: "sr-only" }, "Закрити", -1))
|
|
6349
6355
|
])
|
|
6350
6356
|
]),
|
|
6351
|
-
|
|
6357
|
+
ie(ce(t), {
|
|
6352
6358
|
view: "inline",
|
|
6353
6359
|
schema: _.value,
|
|
6354
6360
|
value: g.value,
|
|
6355
6361
|
limit: 10,
|
|
6356
|
-
onChange:
|
|
6362
|
+
onChange: D[0] || (D[0] = (H) => Z(H.data)),
|
|
6357
6363
|
width: 250
|
|
6358
6364
|
}, null, 8, ["schema", "value"])
|
|
6359
6365
|
])
|
|
@@ -6371,7 +6377,7 @@ const qm = { class: "map-filter" }, Hm = { class: "map-filter__header" }, Ym = {
|
|
|
6371
6377
|
]))
|
|
6372
6378
|
], 512)) : X("", !0);
|
|
6373
6379
|
}
|
|
6374
|
-
}), Tn = /* @__PURE__ */ Se(Zm, [["__scopeId", "data-v-
|
|
6380
|
+
}), Tn = /* @__PURE__ */ Se(Zm, [["__scopeId", "data-v-cc1f0579"]]), Gm = {
|
|
6375
6381
|
key: 0,
|
|
6376
6382
|
class: "flex justify-center items-center h-[40px] w-[40px] bg-white text-sm border border-gray-200 text-gray-600 hover:bg-gray-100 rounded-full"
|
|
6377
6383
|
}, Km = /* @__PURE__ */ ve({
|
|
@@ -6384,7 +6390,7 @@ const qm = { class: "map-filter" }, Hm = { class: "map-filter__header" }, Ym = {
|
|
|
6384
6390
|
setup(e) {
|
|
6385
6391
|
return (t, n) => (d(), h("div", null, [
|
|
6386
6392
|
e.filters.length > 0 ? (d(), h("div", Gm, [
|
|
6387
|
-
|
|
6393
|
+
ie(Tn, {
|
|
6388
6394
|
layer: {
|
|
6389
6395
|
filters: e.filters,
|
|
6390
6396
|
id: e.layerId
|
|
@@ -6394,7 +6400,7 @@ const qm = { class: "map-filter" }, Hm = { class: "map-filter__header" }, Ym = {
|
|
|
6394
6400
|
])) : X("", !0)
|
|
6395
6401
|
]));
|
|
6396
6402
|
}
|
|
6397
|
-
}), oo = /* @__PURE__ */ Se(Km, [["__scopeId", "data-v-
|
|
6403
|
+
}), oo = /* @__PURE__ */ Se(Km, [["__scopeId", "data-v-98772410"]]), Xm = { class: "flex flex-row gap-x-3 z-10 relative widget" }, Qm = ["onClick"], Jm = ["src", "alt"], Wt = /* @__PURE__ */ ve({
|
|
6398
6404
|
__name: "BaseMaps",
|
|
6399
6405
|
setup(e) {
|
|
6400
6406
|
var x, _, E;
|
|
@@ -6431,10 +6437,10 @@ const qm = { class: "map-filter" }, Hm = { class: "map-filter__header" }, Ym = {
|
|
|
6431
6437
|
if (!L.length) return {};
|
|
6432
6438
|
const I = {};
|
|
6433
6439
|
return L.forEach((A, k) => {
|
|
6434
|
-
const C = A.name ?? A.title ?? `basemap-${k}`, N = (A.id ?? C ?? `basemap-${k}`).toString().toLowerCase().replace(/\s+/g, "-").replace(/[^a-z0-9-]/g, ""), B = l(N || `basemap-${k}`, I),
|
|
6440
|
+
const C = A.name ?? A.title ?? `basemap-${k}`, N = (A.id ?? C ?? `basemap-${k}`).toString().toLowerCase().replace(/\s+/g, "-").replace(/[^a-z0-9-]/g, ""), B = l(N || `basemap-${k}`, I), ne = A.preview || (A.url ? r(A.url) : void 0);
|
|
6435
6441
|
I[B] = {
|
|
6436
6442
|
url: A.url,
|
|
6437
|
-
preview:
|
|
6443
|
+
preview: ne,
|
|
6438
6444
|
title: C
|
|
6439
6445
|
};
|
|
6440
6446
|
}), I;
|
|
@@ -6501,7 +6507,7 @@ const qm = { class: "map-filter" }, Hm = { class: "map-filter__header" }, Ym = {
|
|
|
6501
6507
|
key: 1,
|
|
6502
6508
|
class: Le(["lg:w-14 lg:h-14 w-10 h-10 flex items-center justify-center bg-gray-200/80 rounded-xl shadow-2xs cursor-pointer transition-all border-4", m.value === k ? "border-blue-500" : "border-gray-200"])
|
|
6503
6509
|
}, [
|
|
6504
|
-
|
|
6510
|
+
ie(ce(Ms), { class: "w-4 h-4 text-gray-500" })
|
|
6505
6511
|
], 2))
|
|
6506
6512
|
], 8, Qm))), 128))
|
|
6507
6513
|
]));
|
|
@@ -6666,7 +6672,7 @@ const rv = { class: "min-w-[200px] max-w-[280px] rounded-lg border border-slate-
|
|
|
6666
6672
|
] : y;
|
|
6667
6673
|
});
|
|
6668
6674
|
function m() {
|
|
6669
|
-
var j,
|
|
6675
|
+
var j, V;
|
|
6670
6676
|
if (!u.value.length || !t.value || !s.value) {
|
|
6671
6677
|
a.value = { left: "-9999px", top: "-9999px" };
|
|
6672
6678
|
return;
|
|
@@ -6676,11 +6682,11 @@ const rv = { class: "min-w-[200px] max-w-[280px] rounded-lg border border-slate-
|
|
|
6676
6682
|
top: 0,
|
|
6677
6683
|
width: window.innerWidth,
|
|
6678
6684
|
height: window.innerHeight
|
|
6679
|
-
}, _ = ((
|
|
6680
|
-
let
|
|
6681
|
-
|
|
6682
|
-
const Z = N,
|
|
6683
|
-
|
|
6685
|
+
}, _ = ((V = (j = i.value) == null ? void 0 : j.getContainer) == null ? void 0 : V.call(j)) || void 0, E = (_ == null ? void 0 : _.getBoundingClientRect()) ?? x, L = E.left - x.left, I = E.top - x.top, A = y.offsetWidth || 0, k = y.offsetHeight || 0, C = 12, N = 8, [B, ne] = t.value;
|
|
6686
|
+
let le = L + B + C, ae = I + ne + C;
|
|
6687
|
+
le + A + N > x.width && (le = L + B - A - C), ae + k + N > x.height && (ae = I + ne - k - C);
|
|
6688
|
+
const Z = N, se = N, R = Math.max(N, x.width - A - N), P = Math.max(N, x.height - k - N);
|
|
6689
|
+
le = Math.min(Math.max(le, Z), R), ae = Math.min(Math.max(ae, se), P), a.value = { left: `${le}px`, top: `${ae}px` };
|
|
6684
6690
|
}
|
|
6685
6691
|
return ee([t, u], () => {
|
|
6686
6692
|
Ye(() => m());
|
|
@@ -6726,15 +6732,15 @@ function av() {
|
|
|
6726
6732
|
}
|
|
6727
6733
|
async function w() {
|
|
6728
6734
|
await t();
|
|
6729
|
-
const
|
|
6730
|
-
|
|
6735
|
+
const le = e.value;
|
|
6736
|
+
le && (y(), m(), le.on("click", x), g = () => le.off("click", x), ne(C()));
|
|
6731
6737
|
}
|
|
6732
|
-
function x(
|
|
6738
|
+
function x(le) {
|
|
6733
6739
|
const ae = e.value;
|
|
6734
6740
|
if (!ae) return;
|
|
6735
|
-
const Z = (ae.queryRenderedFeatures(
|
|
6741
|
+
const Z = (ae.queryRenderedFeatures(le.point) || []).filter((se) => {
|
|
6736
6742
|
var R;
|
|
6737
|
-
return (R =
|
|
6743
|
+
return (R = se == null ? void 0 : se.properties) == null ? void 0 : R.id;
|
|
6738
6744
|
});
|
|
6739
6745
|
if (!Z.length) {
|
|
6740
6746
|
m(), B(null);
|
|
@@ -6742,10 +6748,10 @@ function av() {
|
|
|
6742
6748
|
}
|
|
6743
6749
|
f.value = Z, p.value = 0, _(p.value);
|
|
6744
6750
|
}
|
|
6745
|
-
function _(
|
|
6746
|
-
const ae = f.value[
|
|
6751
|
+
function _(le) {
|
|
6752
|
+
const ae = f.value[le];
|
|
6747
6753
|
if (!ae) return;
|
|
6748
|
-
p.value =
|
|
6754
|
+
p.value = le;
|
|
6749
6755
|
const Z = Re(ae.source);
|
|
6750
6756
|
I(ae, Z == null ? void 0 : Z.card);
|
|
6751
6757
|
}
|
|
@@ -6755,37 +6761,37 @@ function av() {
|
|
|
6755
6761
|
function L() {
|
|
6756
6762
|
p.value <= 0 || _(p.value - 1);
|
|
6757
6763
|
}
|
|
6758
|
-
async function I(
|
|
6759
|
-
var R, P, j,
|
|
6760
|
-
if (!((R =
|
|
6764
|
+
async function I(le, ae) {
|
|
6765
|
+
var R, P, j, V;
|
|
6766
|
+
if (!((R = le == null ? void 0 : le.properties) != null && R.id)) return;
|
|
6761
6767
|
const Z = new URLSearchParams();
|
|
6762
|
-
Z.set("layer",
|
|
6763
|
-
const
|
|
6764
|
-
a.value =
|
|
6768
|
+
Z.set("layer", le.source), Z.set("id", String((P = le.properties) == null ? void 0 : P.id));
|
|
6769
|
+
const se = Array.isArray(ae) && ae.length > 0;
|
|
6770
|
+
a.value = se, s.value = null, l.value = null, i.value = le || null;
|
|
6765
6771
|
try {
|
|
6766
6772
|
const S = await fetch(`/api/map-format?${Z.toString()}`);
|
|
6767
6773
|
if (!S.ok) throw new Error(`Failed (${S.status})`);
|
|
6768
|
-
const
|
|
6774
|
+
const D = await S.json(), H = Array.isArray(D.columns) ? D.columns : [], J = Array.isArray(ae) ? ae : [];
|
|
6769
6775
|
if (!H.length && !J.length) {
|
|
6770
6776
|
console.error("Configure layer in admin"), A();
|
|
6771
6777
|
return;
|
|
6772
6778
|
}
|
|
6773
6779
|
l.value = {
|
|
6774
|
-
rows:
|
|
6780
|
+
rows: D.rows || {},
|
|
6775
6781
|
fields: J,
|
|
6776
6782
|
columns: H,
|
|
6777
|
-
html:
|
|
6783
|
+
html: D.html || null
|
|
6778
6784
|
}, u || B(i.value);
|
|
6779
|
-
const Q = (j =
|
|
6785
|
+
const Q = (j = D.rows) == null ? void 0 : j.geom;
|
|
6780
6786
|
if (Q) {
|
|
6781
|
-
const
|
|
6782
|
-
|
|
6787
|
+
const oe = typeof Q == "string" ? JSON.parse(Q) : Q;
|
|
6788
|
+
oe && (i.value = {
|
|
6783
6789
|
...i.value,
|
|
6784
|
-
geometry:
|
|
6790
|
+
geometry: oe,
|
|
6785
6791
|
properties: {
|
|
6786
|
-
...((
|
|
6787
|
-
geom:
|
|
6788
|
-
geom_4326:
|
|
6792
|
+
...((V = i.value) == null ? void 0 : V.properties) || {},
|
|
6793
|
+
geom: oe,
|
|
6794
|
+
geom_4326: oe
|
|
6789
6795
|
}
|
|
6790
6796
|
});
|
|
6791
6797
|
}
|
|
@@ -6803,41 +6809,41 @@ function av() {
|
|
|
6803
6809
|
}
|
|
6804
6810
|
t().then(w), ze(() => k());
|
|
6805
6811
|
function C() {
|
|
6806
|
-
const
|
|
6807
|
-
return typeof
|
|
6812
|
+
const le = Array.isArray(n.query.info) ? n.query.info[0] : n.query.info;
|
|
6813
|
+
return typeof le != "string" ? null : le.trim() || null;
|
|
6808
6814
|
}
|
|
6809
|
-
function N(
|
|
6815
|
+
function N(le) {
|
|
6810
6816
|
var R, P;
|
|
6811
|
-
const ae = (
|
|
6817
|
+
const ae = (le == null ? void 0 : le.source) ?? ((R = le == null ? void 0 : le.layer) == null ? void 0 : R.id), Z = (P = le == null ? void 0 : le.properties) == null ? void 0 : P.id;
|
|
6812
6818
|
return !ae || Z === void 0 || Z === null ? null : `${ae},${Z}`.trim() || null;
|
|
6813
6819
|
}
|
|
6814
|
-
function B(
|
|
6815
|
-
const ae = N(
|
|
6820
|
+
function B(le) {
|
|
6821
|
+
const ae = N(le), Z = C();
|
|
6816
6822
|
if (ae === Z) return;
|
|
6817
|
-
const
|
|
6818
|
-
ae ?
|
|
6823
|
+
const se = { ...n.query };
|
|
6824
|
+
ae ? se.info = ae : delete se.info, r.push({ query: se }).catch(() => {
|
|
6819
6825
|
});
|
|
6820
6826
|
}
|
|
6821
|
-
async function
|
|
6822
|
-
if (!
|
|
6827
|
+
async function ne(le) {
|
|
6828
|
+
if (!le) {
|
|
6823
6829
|
m();
|
|
6824
6830
|
return;
|
|
6825
6831
|
}
|
|
6826
|
-
if (
|
|
6832
|
+
if (le === N(i.value))
|
|
6827
6833
|
return;
|
|
6828
|
-
const [ae, Z] =
|
|
6829
|
-
if (!
|
|
6834
|
+
const [ae, Z] = le.split(","), se = ae == null ? void 0 : ae.trim(), R = Z == null ? void 0 : Z.trim();
|
|
6835
|
+
if (!se || !R) {
|
|
6830
6836
|
m(), B(null);
|
|
6831
6837
|
return;
|
|
6832
6838
|
}
|
|
6833
6839
|
u = !0;
|
|
6834
6840
|
try {
|
|
6835
6841
|
const P = {
|
|
6836
|
-
source:
|
|
6842
|
+
source: se,
|
|
6837
6843
|
properties: { id: R }
|
|
6838
6844
|
};
|
|
6839
6845
|
f.value = [P], p.value = 0;
|
|
6840
|
-
const j = Re(
|
|
6846
|
+
const j = Re(se);
|
|
6841
6847
|
await I(P, j == null ? void 0 : j.card);
|
|
6842
6848
|
} finally {
|
|
6843
6849
|
u = !1;
|
|
@@ -6845,8 +6851,8 @@ function av() {
|
|
|
6845
6851
|
}
|
|
6846
6852
|
return ee(
|
|
6847
6853
|
() => C(),
|
|
6848
|
-
(
|
|
6849
|
-
|
|
6854
|
+
(le) => {
|
|
6855
|
+
le !== N(i.value) && (u = !0, ne(le).finally(() => {
|
|
6850
6856
|
u = !1;
|
|
6851
6857
|
}));
|
|
6852
6858
|
}
|
|
@@ -6889,28 +6895,28 @@ function uv() {
|
|
|
6889
6895
|
));
|
|
6890
6896
|
}, _ = async (C, N, B) => {
|
|
6891
6897
|
var ae, Z;
|
|
6892
|
-
const [
|
|
6893
|
-
f.value = { x:
|
|
6898
|
+
const [ne, le] = [w(C), w(N)];
|
|
6899
|
+
f.value = { x: ne, y: le }, p.value = B, i.value = !0, s.value = null, n.value = [], a.value = {}, l.value = 0;
|
|
6894
6900
|
try {
|
|
6895
|
-
const
|
|
6896
|
-
const
|
|
6901
|
+
const se = B.map(async (S) => {
|
|
6902
|
+
const D = `/api/map-info-point?x=${ne}&y=${le}&layers=${S}`, H = await fetch(D);
|
|
6897
6903
|
if (!H.ok) return null;
|
|
6898
6904
|
const J = await H.json();
|
|
6899
6905
|
if (!J.count) return null;
|
|
6900
|
-
const
|
|
6901
|
-
return { layerId: S, data:
|
|
6902
|
-
}), P = (await Promise.all(
|
|
6906
|
+
const oe = await (await fetch(`${D}&index=0`)).json();
|
|
6907
|
+
return { layerId: S, data: oe, count: J.count };
|
|
6908
|
+
}), P = (await Promise.all(se)).filter(Boolean);
|
|
6903
6909
|
if (P.length === 0) {
|
|
6904
6910
|
r.value = 0;
|
|
6905
6911
|
return;
|
|
6906
6912
|
}
|
|
6907
6913
|
n.value = P.map((S) => S.data);
|
|
6908
6914
|
const [j] = n.value;
|
|
6909
|
-
r.value = P.reduce((S,
|
|
6910
|
-
const
|
|
6911
|
-
await x(
|
|
6912
|
-
} catch (
|
|
6913
|
-
s.value =
|
|
6915
|
+
r.value = P.reduce((S, D) => S + (D.count || 0), 0), a.value[0] = j;
|
|
6916
|
+
const V = ((ae = j == null ? void 0 : j.data) == null ? void 0 : ae.geom_4326) ?? ((Z = j == null ? void 0 : j.data) == null ? void 0 : Z.geom);
|
|
6917
|
+
await x(V);
|
|
6918
|
+
} catch (se) {
|
|
6919
|
+
s.value = se.message;
|
|
6914
6920
|
} finally {
|
|
6915
6921
|
i.value = !1;
|
|
6916
6922
|
}
|
|
@@ -6920,10 +6926,10 @@ function uv() {
|
|
|
6920
6926
|
n.value[C] = a.value[C];
|
|
6921
6927
|
return;
|
|
6922
6928
|
}
|
|
6923
|
-
const { x: N, y: B } = f.value,
|
|
6929
|
+
const { x: N, y: B } = f.value, ne = p.value.join(","), le = `/api/map-info-point?x=${N}&y=${B}&index=${C}&layers=${ne}`;
|
|
6924
6930
|
try {
|
|
6925
6931
|
i.value = !0;
|
|
6926
|
-
const ae = await fetch(
|
|
6932
|
+
const ae = await fetch(le);
|
|
6927
6933
|
if (!ae.ok) throw new Error("Failed to fetch feature by index");
|
|
6928
6934
|
const Z = await ae.json();
|
|
6929
6935
|
n.value[C] = Z, a.value[C] = Z;
|
|
@@ -6943,19 +6949,19 @@ function uv() {
|
|
|
6943
6949
|
var N, B;
|
|
6944
6950
|
const C = v.value;
|
|
6945
6951
|
if (C) {
|
|
6946
|
-
const
|
|
6947
|
-
await x(
|
|
6952
|
+
const ne = ((N = C == null ? void 0 : C.data) == null ? void 0 : N.geom_4326) ?? ((B = C == null ? void 0 : C.data) == null ? void 0 : B.geom);
|
|
6953
|
+
await x(ne);
|
|
6948
6954
|
}
|
|
6949
6955
|
});
|
|
6950
6956
|
let k = null;
|
|
6951
6957
|
return Ne(async () => {
|
|
6952
6958
|
await t(), e.value && (k = async (C) => {
|
|
6953
|
-
const { lng: N, lat: B } = C.lngLat,
|
|
6954
|
-
var R, P, j,
|
|
6959
|
+
const { lng: N, lat: B } = C.lngLat, ne = Re(), ae = Object.entries(ne).map(([Z, se]) => {
|
|
6960
|
+
var R, P, j, V;
|
|
6955
6961
|
return {
|
|
6956
6962
|
id: Z,
|
|
6957
|
-
service: ((R =
|
|
6958
|
-
count: ((
|
|
6963
|
+
service: ((R = se == null ? void 0 : se.opts) == null ? void 0 : R.service) ?? ((j = (P = se == null ? void 0 : se.opts) == null ? void 0 : P.source) == null ? void 0 : j.service) ?? null,
|
|
6964
|
+
count: ((V = se == null ? void 0 : se.opts) == null ? void 0 : V.count) ?? null,
|
|
6959
6965
|
visible: (() => {
|
|
6960
6966
|
var S;
|
|
6961
6967
|
try {
|
|
@@ -7178,7 +7184,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
|
|
|
7178
7184
|
}, Nv = { class: "text-xs tracking-[0.02em] leading-none" }, Ov = {
|
|
7179
7185
|
key: 4,
|
|
7180
7186
|
class: "space-y-3 border-t border-slate-200 pt-3"
|
|
7181
|
-
}, Rv = { class: "space-y-1" }, Pv = { class: "flex items-center cursor-pointer gap-2 flex-1" },
|
|
7187
|
+
}, Rv = { class: "space-y-1" }, Pv = { class: "flex items-center cursor-pointer gap-2 flex-1" }, Dv = ["checked", "onChange"], Vv = { class: "text-[13px] text-gray-600" }, Bv = {
|
|
7182
7188
|
key: 0,
|
|
7183
7189
|
class: "text-right text-xs text-gray-400 truncate max-w-[40%]"
|
|
7184
7190
|
}, Uv = {
|
|
@@ -7229,13 +7235,13 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
|
|
|
7229
7235
|
var pe, _e;
|
|
7230
7236
|
const $ = n.cardFeature.value, T = ($ == null ? void 0 : $.source) || ((pe = $ == null ? void 0 : $.layer) == null ? void 0 : pe.id), Y = ((_e = $ == null ? void 0 : $.properties) == null ? void 0 : _e.id) ?? ($ == null ? void 0 : $.id);
|
|
7231
7237
|
return T && Y != null ? `${T}:${Y}` : null;
|
|
7232
|
-
}), B = M(null),
|
|
7238
|
+
}), B = M(null), ne = M(null), le = M(0), ae = /* @__PURE__ */ new Map();
|
|
7233
7239
|
function Z() {
|
|
7234
7240
|
if (typeof window > "u") return null;
|
|
7235
7241
|
const T = (window.location.pathname || "").match(/\/maps?\/([^/]+)/i);
|
|
7236
7242
|
return T && T[1] ? T[1] : null;
|
|
7237
7243
|
}
|
|
7238
|
-
const
|
|
7244
|
+
const se = O(() => {
|
|
7239
7245
|
const $ = typeof t.mapId == "string" ? t.mapId.trim() : "";
|
|
7240
7246
|
if ($.length) return $;
|
|
7241
7247
|
const T = typeof x.params.slug == "string" ? x.params.slug.trim() : "";
|
|
@@ -7243,7 +7249,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
|
|
|
7243
7249
|
const Y = typeof x.query.slug == "string" ? x.query.slug.trim() : "";
|
|
7244
7250
|
return Y.length ? Y : Z();
|
|
7245
7251
|
}), R = M(null), P = M(null), j = /* @__PURE__ */ new Map();
|
|
7246
|
-
function
|
|
7252
|
+
function V($) {
|
|
7247
7253
|
const T = $.normalize("NFKD").replace(/[\u0300-\u036f]/g, "").replace(/[^a-zA-Z0-9]+/g, "-").replace(/^-+|-+$/g, "").toLowerCase();
|
|
7248
7254
|
if (T) return T;
|
|
7249
7255
|
const Y = Array.from($).map((pe) => pe.charCodeAt(0).toString(16)).join("").slice(0, 8);
|
|
@@ -7259,10 +7265,10 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
|
|
|
7259
7265
|
const Y = typeof window < "u" ? window.location.origin : "";
|
|
7260
7266
|
return T.startsWith("/") ? Y ? `${Y}${T}` : T : Y ? `${Y}/${T}` : T;
|
|
7261
7267
|
}
|
|
7262
|
-
function
|
|
7268
|
+
function D($) {
|
|
7263
7269
|
if ($ == null) return [];
|
|
7264
7270
|
if (Array.isArray($))
|
|
7265
|
-
return $.flatMap((T) =>
|
|
7271
|
+
return $.flatMap((T) => D(T));
|
|
7266
7272
|
if (typeof $ == "number")
|
|
7267
7273
|
return Number.isFinite($) ? [$] : [];
|
|
7268
7274
|
if (typeof $ == "string") {
|
|
@@ -7272,7 +7278,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
|
|
|
7272
7278
|
return [];
|
|
7273
7279
|
}
|
|
7274
7280
|
function H($) {
|
|
7275
|
-
const T =
|
|
7281
|
+
const T = D($);
|
|
7276
7282
|
if (T.length < 4) return null;
|
|
7277
7283
|
const [Y, pe, _e, Ee] = T;
|
|
7278
7284
|
return [Y, pe, _e, Ee].every((Pe) => Number.isFinite(Pe)) ? [Y, pe, _e, Ee] : null;
|
|
@@ -7300,7 +7306,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
|
|
|
7300
7306
|
}
|
|
7301
7307
|
return T;
|
|
7302
7308
|
}
|
|
7303
|
-
function
|
|
7309
|
+
function oe($, T) {
|
|
7304
7310
|
for (const Y of T)
|
|
7305
7311
|
if ($[Y] != null && String($[Y]).trim().length)
|
|
7306
7312
|
return String($[Y]).trim();
|
|
@@ -7315,24 +7321,24 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
|
|
|
7315
7321
|
if (typeof $ != "string" || !$.length) return [];
|
|
7316
7322
|
const T = [], Y = /<LayerSwitcher\b([^>]*)>([\s\S]*?)<\/LayerSwitcher>/gi;
|
|
7317
7323
|
let pe = 0, _e;
|
|
7318
|
-
const Ee = /* @__PURE__ */ new Set(), Pe = (
|
|
7319
|
-
let We =
|
|
7324
|
+
const Ee = /* @__PURE__ */ new Set(), Pe = (De) => {
|
|
7325
|
+
let We = De, nt = 2;
|
|
7320
7326
|
for (; Ee.has(We); )
|
|
7321
|
-
We = `${
|
|
7327
|
+
We = `${De}-${nt}`, nt += 1;
|
|
7322
7328
|
return Ee.add(We), We;
|
|
7323
7329
|
};
|
|
7324
7330
|
for (; (_e = Y.exec($)) !== null; ) {
|
|
7325
|
-
const [
|
|
7331
|
+
const [De, We = "", nt = ""] = _e, He = _e.index;
|
|
7326
7332
|
if (He > pe) {
|
|
7327
7333
|
const Oo = $.slice(pe, He);
|
|
7328
7334
|
Oo.trim().length && T.push({ type: "html", content: Oo });
|
|
7329
7335
|
}
|
|
7330
|
-
const ot = Q(We), it =
|
|
7336
|
+
const ot = Q(We), it = oe(ot, ["title"]) || "Тимчасовий шар", Ct = S(oe(ot, ["url"]));
|
|
7331
7337
|
if (!Ct) {
|
|
7332
|
-
T.push({ type: "html", content:
|
|
7338
|
+
T.push({ type: "html", content: De }), pe = He + De.length;
|
|
7333
7339
|
continue;
|
|
7334
7340
|
}
|
|
7335
|
-
const en =
|
|
7341
|
+
const en = oe(ot, ["id"]), Rn = oe(ot, ["button-text", "buttonText", "show", "show-label", "showLabel"]), Ql = ue(oe(ot, ["tile-size", "tileSize"])), Jl = ue(oe(ot, ["minzoom", "minZoom"])), es = ue(oe(ot, ["maxzoom", "maxZoom"])), ts = ue(oe(ot, ["opacity"])), ns = J(oe(ot, ["bounds", "data-bounds", "bbox"])), os = en || V(`${it}-${Ct}`) || V(it), zo = Pe(os || `layer-${T.length + 1}`), Pn = nt.trim(), No = /<[^>]+>/.test(Pn), rs = No ? Pn : null, Dn = No ? null : Pn, ls = Rn && Rn.trim().length ? Rn.trim() : Dn && Dn.trim().length ? Dn.trim() : void 0;
|
|
7336
7342
|
T.push({
|
|
7337
7343
|
type: "layer",
|
|
7338
7344
|
spec: {
|
|
@@ -7352,11 +7358,11 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
|
|
|
7352
7358
|
buttonText: ls
|
|
7353
7359
|
},
|
|
7354
7360
|
slotText: rs
|
|
7355
|
-
}), pe = He +
|
|
7361
|
+
}), pe = He + De.length;
|
|
7356
7362
|
}
|
|
7357
7363
|
if (pe < $.length) {
|
|
7358
|
-
const
|
|
7359
|
-
|
|
7364
|
+
const De = $.slice(pe);
|
|
7365
|
+
De.trim().length && T.push({ type: "html", content: De });
|
|
7360
7366
|
}
|
|
7361
7367
|
return !T.length && $.trim().length && T.push({ type: "html", content: $ }), T;
|
|
7362
7368
|
}
|
|
@@ -7386,7 +7392,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
|
|
|
7386
7392
|
if (!$) return [];
|
|
7387
7393
|
const T = Array.isArray($.columns) ? $.columns : [];
|
|
7388
7394
|
return T.length ? T : Array.isArray($.fields) ? $.fields : [];
|
|
7389
|
-
}),
|
|
7395
|
+
}), re = O(() => {
|
|
7390
7396
|
const $ = W.value;
|
|
7391
7397
|
if (!$.length) return [];
|
|
7392
7398
|
const T = Te.value;
|
|
@@ -7480,8 +7486,8 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
|
|
|
7480
7486
|
{ immediate: !0 }
|
|
7481
7487
|
);
|
|
7482
7488
|
const Ce = O(
|
|
7483
|
-
() =>
|
|
7484
|
-
), Fe = O(() => Oe.value && !Ie.value ?
|
|
7489
|
+
() => re.value.filter(($) => ke($.value)).length
|
|
7490
|
+
), Fe = O(() => Oe.value && !Ie.value ? re.value.filter(($) => !ke($.value)) : re.value);
|
|
7485
7491
|
function fe($) {
|
|
7486
7492
|
const T = typeof $ == "string" ? $ : "";
|
|
7487
7493
|
if (!T.length) return { sanitized: "", hiddenCount: 0 };
|
|
@@ -7491,14 +7497,14 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
|
|
|
7491
7497
|
let _e = 0;
|
|
7492
7498
|
return pe.querySelectorAll("dd").forEach((Ee) => {
|
|
7493
7499
|
var We;
|
|
7494
|
-
const Pe = ((We = Ee.textContent) == null ? void 0 : We.trim()) ?? "",
|
|
7500
|
+
const Pe = ((We = Ee.textContent) == null ? void 0 : We.trim()) ?? "", De = Ee.closest("div");
|
|
7495
7501
|
if (ke(Pe)) {
|
|
7496
|
-
_e += 1,
|
|
7502
|
+
_e += 1, De ? De.remove() : Ee.remove();
|
|
7497
7503
|
return;
|
|
7498
7504
|
}
|
|
7499
7505
|
}), { sanitized: pe.body.innerHTML, hiddenCount: _e };
|
|
7500
7506
|
}
|
|
7501
|
-
const
|
|
7507
|
+
const Ve = O(() => fe(u.value)), qe = O(() => u.value ? Ve.value.hiddenCount : 0), Ke = O(() => Ce.value + qe.value), yt = O(
|
|
7502
7508
|
() => {
|
|
7503
7509
|
var $;
|
|
7504
7510
|
return Oe.value && !Ie.value && !!(($ = u.value) != null && $.trim());
|
|
@@ -7512,19 +7518,19 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
|
|
|
7512
7518
|
Ie.value = !Ie.value;
|
|
7513
7519
|
}
|
|
7514
7520
|
const $t = O(() => {
|
|
7515
|
-
const $ = yt.value ?
|
|
7521
|
+
const $ = yt.value ? Ve.value.sanitized : u.value ?? "";
|
|
7516
7522
|
return he($);
|
|
7517
7523
|
}), Mn = O(() => $t.value.filter(($) => $.type === "layer"));
|
|
7518
7524
|
function Nl($) {
|
|
7519
7525
|
return Array.isArray($) ? $.map((T, Y) => {
|
|
7520
|
-
const pe = S(typeof (T == null ? void 0 : T.url) == "string" ? T.url : ""), _e = typeof (T == null ? void 0 : T.geohub) == "string" && T.geohub.trim().length ? `/api-hub/tms/${T.geohub.trim()}/ua/{z}/{x}/{y}.png` : "", Ee = ((T == null ? void 0 : T.name) || (T == null ? void 0 : T.title) || (T == null ? void 0 : T.label) || `Шар ${Y + 1}`).toString(), Pe = (T == null ? void 0 : T.id) != null ? String(T.id) :
|
|
7526
|
+
const pe = S(typeof (T == null ? void 0 : T.url) == "string" ? T.url : ""), _e = typeof (T == null ? void 0 : T.geohub) == "string" && T.geohub.trim().length ? `/api-hub/tms/${T.geohub.trim()}/ua/{z}/{x}/{y}.png` : "", Ee = ((T == null ? void 0 : T.name) || (T == null ? void 0 : T.title) || (T == null ? void 0 : T.label) || `Шар ${Y + 1}`).toString(), Pe = (T == null ? void 0 : T.id) != null ? String(T.id) : V(`${Ee}-${Y + 1}`), De = (T == null ? void 0 : T.buttonText) || (T == null ? void 0 : T.button_text) || null, We = (T == null ? void 0 : T.description) || (T == null ? void 0 : T.subtitle) || null, nt = pe || S(_e) || "";
|
|
7521
7527
|
if (!nt) return null;
|
|
7522
7528
|
const He = {
|
|
7523
7529
|
id: Pe,
|
|
7524
7530
|
title: Ee,
|
|
7525
7531
|
url: nt,
|
|
7526
7532
|
subtitle: We,
|
|
7527
|
-
buttonText:
|
|
7533
|
+
buttonText: De || void 0
|
|
7528
7534
|
};
|
|
7529
7535
|
typeof (T == null ? void 0 : T.tileSize) == "number" && (He.tileSize = T.tileSize), typeof (T == null ? void 0 : T.tile_size) == "number" && (He.tileSize = T.tile_size), typeof (T == null ? void 0 : T.minzoom) == "number" && (He.minzoom = T.minzoom), typeof (T == null ? void 0 : T.maxzoom) == "number" && (He.maxzoom = T.maxzoom), typeof (T == null ? void 0 : T.opacity) == "number" && (He.opacity = T.opacity);
|
|
7530
7536
|
const ot = H((T == null ? void 0 : T.bounds) ?? (T == null ? void 0 : T.bbox) ?? null);
|
|
@@ -7546,7 +7552,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
|
|
|
7546
7552
|
}
|
|
7547
7553
|
return [];
|
|
7548
7554
|
}), Ol = O(
|
|
7549
|
-
() => $t.value.length > 0 ||
|
|
7555
|
+
() => $t.value.length > 0 || re.value.length > 0 || vn.value.length > 0
|
|
7550
7556
|
), $o = O(() => !n.cardLoading.value && !!n.card.value);
|
|
7551
7557
|
function Rl() {
|
|
7552
7558
|
const $ = {}, T = R.value;
|
|
@@ -7581,7 +7587,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
|
|
|
7581
7587
|
async function Fn($) {
|
|
7582
7588
|
if (!($ != null && $.id)) return;
|
|
7583
7589
|
await Pl();
|
|
7584
|
-
const T = Rl(), Y = Mn.value.find((
|
|
7590
|
+
const T = Rl(), Y = Mn.value.find((De) => De.spec.id === $.id), pe = vn.value.find((De) => De.id === $.id), _e = (Y == null ? void 0 : Y.spec) || ye(pe) || ye($), Ee = (Y == null ? void 0 : Y.spec.bounds) ?? (pe == null ? void 0 : pe.bounds);
|
|
7585
7591
|
if (!_e || I(_e.id, C.value))
|
|
7586
7592
|
return;
|
|
7587
7593
|
const Pe = C.value || void 0;
|
|
@@ -7590,9 +7596,9 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
|
|
|
7590
7596
|
owner: Pe,
|
|
7591
7597
|
spec: _e,
|
|
7592
7598
|
context: T
|
|
7593
|
-
}),
|
|
7599
|
+
}), Dl(Ee);
|
|
7594
7600
|
}
|
|
7595
|
-
async function
|
|
7601
|
+
async function Dl($) {
|
|
7596
7602
|
var Ee;
|
|
7597
7603
|
if (!($ != null && $.length)) return;
|
|
7598
7604
|
const [T, Y, pe, _e] = $;
|
|
@@ -7604,7 +7610,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
|
|
|
7604
7610
|
{ padding: 48, maxZoom: 18 }
|
|
7605
7611
|
));
|
|
7606
7612
|
}
|
|
7607
|
-
function
|
|
7613
|
+
function Vl($) {
|
|
7608
7614
|
if (!$) return;
|
|
7609
7615
|
const T = In() || void 0;
|
|
7610
7616
|
E($, T), A({
|
|
@@ -7618,7 +7624,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
|
|
|
7618
7624
|
}
|
|
7619
7625
|
function Ul($, T) {
|
|
7620
7626
|
const Y = T.target;
|
|
7621
|
-
!!(Y != null && Y.checked) ? Fn($) :
|
|
7627
|
+
!!(Y != null && Y.checked) ? Fn($) : Vl($.id);
|
|
7622
7628
|
}
|
|
7623
7629
|
function In() {
|
|
7624
7630
|
return B.value || C.value || null;
|
|
@@ -7670,7 +7676,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
|
|
|
7670
7676
|
}
|
|
7671
7677
|
function ct() {
|
|
7672
7678
|
var $, T;
|
|
7673
|
-
(T = ($ =
|
|
7679
|
+
(T = ($ = ne.value) == null ? void 0 : $.remove) == null || T.call($), ne.value = null;
|
|
7674
7680
|
}
|
|
7675
7681
|
function Yl($) {
|
|
7676
7682
|
var Y, pe, _e;
|
|
@@ -7725,9 +7731,9 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
|
|
|
7725
7731
|
}
|
|
7726
7732
|
}
|
|
7727
7733
|
function Zl($) {
|
|
7728
|
-
var
|
|
7734
|
+
var De, We;
|
|
7729
7735
|
if (!$) return null;
|
|
7730
|
-
const T = $.type === "FeatureCollection" ? (We = (
|
|
7736
|
+
const T = $.type === "FeatureCollection" ? (We = (De = $.features) == null ? void 0 : De[0]) == null ? void 0 : We.geometry : $.type === "Feature" ? $.geometry : $, Y = [];
|
|
7731
7737
|
if (yn(T, Y), !Y.length) return null;
|
|
7732
7738
|
let pe = Y[0][0], _e = Y[0][0], Ee = Y[0][1], Pe = Y[0][1];
|
|
7733
7739
|
return Y.forEach(([nt, He]) => {
|
|
@@ -7758,7 +7764,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
|
|
|
7758
7764
|
};
|
|
7759
7765
|
ct();
|
|
7760
7766
|
const pe = Yl($);
|
|
7761
|
-
if (
|
|
7767
|
+
if (ne.value = Re("feature-card-highlight", {
|
|
7762
7768
|
source: { type: "geojson", data: Y },
|
|
7763
7769
|
layer: {
|
|
7764
7770
|
id: "feature-card-highlight",
|
|
@@ -7778,10 +7784,10 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
|
|
|
7778
7784
|
}) : setTimeout(Ee, 0);
|
|
7779
7785
|
};
|
|
7780
7786
|
Pe();
|
|
7781
|
-
const
|
|
7782
|
-
T.once("styledata",
|
|
7787
|
+
const De = () => Pe();
|
|
7788
|
+
T.once("styledata", De);
|
|
7783
7789
|
const We = () => {
|
|
7784
|
-
Pe(), T.off("styledata",
|
|
7790
|
+
Pe(), T.off("styledata", De), T.off("idle", We);
|
|
7785
7791
|
};
|
|
7786
7792
|
T.on("idle", We);
|
|
7787
7793
|
}
|
|
@@ -7792,7 +7798,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
|
|
|
7792
7798
|
return `${T}:${Y}`;
|
|
7793
7799
|
}
|
|
7794
7800
|
async function Xl($) {
|
|
7795
|
-
var Ee, Pe,
|
|
7801
|
+
var Ee, Pe, De, We, nt;
|
|
7796
7802
|
if (!$) return null;
|
|
7797
7803
|
const T = Hl($);
|
|
7798
7804
|
if (T) return T;
|
|
@@ -7801,13 +7807,13 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
|
|
|
7801
7807
|
const pe = Kl($);
|
|
7802
7808
|
if (ae.has(pe))
|
|
7803
7809
|
return ae.get(pe);
|
|
7804
|
-
const _e = [
|
|
7810
|
+
const _e = [se.value, $ == null ? void 0 : $.source, (Pe = $ == null ? void 0 : $.layer) == null ? void 0 : Pe.id].map((He) => typeof He == "string" ? He.trim() : "").filter(Boolean);
|
|
7805
7811
|
for (const He of _e)
|
|
7806
7812
|
try {
|
|
7807
7813
|
const ot = await fetch(`/api/map-features/${encodeURIComponent(He)}/${encodeURIComponent(String(Y))}`);
|
|
7808
7814
|
if (!ot.ok)
|
|
7809
7815
|
continue;
|
|
7810
|
-
const it = await ot.json(), Ct = ((
|
|
7816
|
+
const it = await ot.json(), Ct = ((De = it == null ? void 0 : it.data) == null ? void 0 : De.geom) || ((We = it == null ? void 0 : it.data) == null ? void 0 : We.geometry) || ((nt = it == null ? void 0 : it.data) == null ? void 0 : nt.geom_4326) || null, en = typeof Ct == "string" ? JSON.parse(Ct) : Ct;
|
|
7811
7817
|
if (en)
|
|
7812
7818
|
return ae.set(pe, en), en;
|
|
7813
7819
|
} catch {
|
|
@@ -7816,8 +7822,8 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
|
|
|
7816
7822
|
return null;
|
|
7817
7823
|
}
|
|
7818
7824
|
async function Jt($) {
|
|
7819
|
-
|
|
7820
|
-
const T =
|
|
7825
|
+
le.value += 1;
|
|
7826
|
+
const T = le.value;
|
|
7821
7827
|
if (a())
|
|
7822
7828
|
return;
|
|
7823
7829
|
if (!$ || p.value) {
|
|
@@ -7829,7 +7835,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
|
|
|
7829
7835
|
return;
|
|
7830
7836
|
}
|
|
7831
7837
|
const Y = await Xl($);
|
|
7832
|
-
if (T ===
|
|
7838
|
+
if (T === le.value) {
|
|
7833
7839
|
if (!Y) {
|
|
7834
7840
|
ct();
|
|
7835
7841
|
return;
|
|
@@ -7858,7 +7864,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
|
|
|
7858
7864
|
return;
|
|
7859
7865
|
}
|
|
7860
7866
|
Jt(n.cardFeature.value);
|
|
7861
|
-
}), ee(
|
|
7867
|
+
}), ee(se, () => {
|
|
7862
7868
|
if (s.value) {
|
|
7863
7869
|
a();
|
|
7864
7870
|
return;
|
|
@@ -7899,7 +7905,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
|
|
|
7899
7905
|
disabled: ce(gn) === 0,
|
|
7900
7906
|
class: "border p-1 rounded text-xs disabled:opacity-40"
|
|
7901
7907
|
}, [
|
|
7902
|
-
|
|
7908
|
+
ie(ce(Bo), { class: "h-4 w-4" })
|
|
7903
7909
|
], 8, xv),
|
|
7904
7910
|
o("button", {
|
|
7905
7911
|
onClick: T[1] || (T[1] = //@ts-ignore
|
|
@@ -7907,7 +7913,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
|
|
|
7907
7913
|
disabled: ce(gn) === ce(jn) - 1,
|
|
7908
7914
|
class: "border p-1 rounded text-xs disabled:opacity-40"
|
|
7909
7915
|
}, [
|
|
7910
|
-
|
|
7916
|
+
ie(ce(Uo), { class: "h-4 w-4" })
|
|
7911
7917
|
], 8, bv)
|
|
7912
7918
|
])) : !p.value && So.value ? (d(), h("div", wv, [
|
|
7913
7919
|
o("button", {
|
|
@@ -7916,7 +7922,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
|
|
|
7916
7922
|
disabled: Nn.value === 0,
|
|
7917
7923
|
class: "border p-1 rounded text-xs disabled:opacity-40"
|
|
7918
7924
|
}, [
|
|
7919
|
-
|
|
7925
|
+
ie(ce(Bo), { class: "h-4 w-4" })
|
|
7920
7926
|
], 8, _v),
|
|
7921
7927
|
o("button", {
|
|
7922
7928
|
onClick: T[3] || (T[3] = //@ts-ignore
|
|
@@ -7924,7 +7930,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
|
|
|
7924
7930
|
disabled: Nn.value === zn.value - 1,
|
|
7925
7931
|
class: "border p-1 rounded text-xs disabled:opacity-40"
|
|
7926
7932
|
}, [
|
|
7927
|
-
|
|
7933
|
+
ie(ce(Uo), { class: "h-4 w-4" })
|
|
7928
7934
|
], 8, kv)
|
|
7929
7935
|
])) : X("", !0),
|
|
7930
7936
|
o("button", {
|
|
@@ -7935,7 +7941,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
|
|
|
7935
7941
|
]),
|
|
7936
7942
|
o("div", $v, [
|
|
7937
7943
|
c.value ? (d(), h("div", Cv, " Завантаження даних… ")) : g.value ? (d(), h("div", Av, U(g.value), 1)) : (d(), h(te, { key: 2 }, [
|
|
7938
|
-
|
|
7944
|
+
re.value.length ? (d(), h("div", Sv, [
|
|
7939
7945
|
o("dl", Lv, [
|
|
7940
7946
|
(d(!0), h(te, null, ge(Fe.value, (Y) => (d(), h("div", {
|
|
7941
7947
|
key: Y.key,
|
|
@@ -8014,7 +8020,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
|
|
|
8014
8020
|
class: "peer hidden",
|
|
8015
8021
|
checked: Bl(Y.id),
|
|
8016
8022
|
onChange: (pe) => Ul(Y, pe)
|
|
8017
|
-
}, null, 40,
|
|
8023
|
+
}, null, 40, Dv),
|
|
8018
8024
|
T[4] || (T[4] = o("div", { class: "w-4 h-4 rounded border border-blue-800 flex items-center justify-center peer-checked:bg-blue-600 peer-checked:border-blue-600" }, [
|
|
8019
8025
|
o("svg", {
|
|
8020
8026
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -8032,7 +8038,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
|
|
|
8032
8038
|
})
|
|
8033
8039
|
])
|
|
8034
8040
|
], -1)),
|
|
8035
|
-
o("span",
|
|
8041
|
+
o("span", Vv, U(Y.title), 1)
|
|
8036
8042
|
]),
|
|
8037
8043
|
Y.subtitle ? (d(), h("div", Bv, U(Y.subtitle), 1)) : X("", !0)
|
|
8038
8044
|
]))), 128))
|
|
@@ -8046,7 +8052,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
|
|
|
8046
8052
|
_: 1
|
|
8047
8053
|
}));
|
|
8048
8054
|
}
|
|
8049
|
-
}), _o = /* @__PURE__ */ Se(Yv, [["__scopeId", "data-v-
|
|
8055
|
+
}), _o = /* @__PURE__ */ Se(Yv, [["__scopeId", "data-v-b7e977e7"]]), Ml = /* @__PURE__ */ ve({
|
|
8050
8056
|
__name: "MapBoundaryLayer",
|
|
8051
8057
|
props: {
|
|
8052
8058
|
layerId: {},
|
|
@@ -8263,7 +8269,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
|
|
|
8263
8269
|
class: "absolute right-full mr-3 px-1.5 py-0.5 bg-gray-700 text-white text-[0.75rem] font-medium rounded-md opacity-0 group-hover:opacity-100 group-focus-visible:opacity-100 pointer-events-none transition-opacity duration-200 whitespace-nowrap",
|
|
8264
8270
|
"aria-hidden": "true"
|
|
8265
8271
|
}, "Центр мапи", -1)),
|
|
8266
|
-
|
|
8272
|
+
ie(ce(Fs), { class: "w-4 h-4" })
|
|
8267
8273
|
])),
|
|
8268
8274
|
y.value ? (d(), h("button", {
|
|
8269
8275
|
key: 1,
|
|
@@ -8274,11 +8280,11 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
|
|
|
8274
8280
|
onClick: Je(x, ["stop"])
|
|
8275
8281
|
}, [
|
|
8276
8282
|
o("span", Gv, U(u.value), 1),
|
|
8277
|
-
|
|
8283
|
+
ie(ce(js), { class: "w-4 h-4" })
|
|
8278
8284
|
], 8, Zv)) : X("", !0)
|
|
8279
8285
|
]));
|
|
8280
8286
|
}
|
|
8281
|
-
}), Pt = /* @__PURE__ */ Se(Kv, [["__scopeId", "data-v-
|
|
8287
|
+
}), Pt = /* @__PURE__ */ Se(Kv, [["__scopeId", "data-v-03fa94f6"]]), Xv = { class: "flex h-full bg-gradient-to-br from-slate-50 to-white" }, Qv = { class: "flex-1 relative overflow-hidden" }, Jv = { class: "absolute top-0 left-0 w-full z-20" }, e0 = { class: "flex items-center justify-between bg-white/80 backdrop-blur border-b border-gray-200 px-6 py-3 shadow-sm gap-4" }, t0 = { class: "flex items-center gap-3 h-[2.75rem]" }, n0 = { class: "font-semibold text-lg text-gray-800 line-clamp-1" }, o0 = {
|
|
8282
8288
|
key: 0,
|
|
8283
8289
|
class: "text-xs text-gray-500 truncate"
|
|
8284
8290
|
}, r0 = ["title"], l0 = { class: "w-full h-full bg-gradient-to-br from-sky-50 via-white to-blue-50 flex items-center justify-center relative pt-[64px]" }, s0 = { class: "relative w-full h-full" }, i0 = { style: { top: "17px", left: "230px", position: "absolute", "z-index": "1" } }, a0 = { class: "absolute top-4 left-4 z-20" }, u0 = { class: "absolute top-[6.5rem] right-2 space-y-1 z-20" }, c0 = { class: "absolute bottom-4 left-4 z-20" }, d0 = { class: "flex-1 flex flex-col h-full" }, f0 = { class: "px-3 pt-3 pb-2 border-b border-gray-100" }, p0 = { class: "items-center justify-center text-muted-foreground grid w-full grid-cols-6 h-12 p-1 bg-gray-50 rounded-xl shadow-sm" }, m0 = ["aria-selected", "onClick"], v0 = { class: "leading-none" }, g0 = { class: "flex flex-col flex-1 overflow-y-hidden p-3" }, y0 = "OpenGIS", h0 = 2, yr = 5, x0 = 1e3, b0 = /* @__PURE__ */ ve({
|
|
@@ -8287,8 +8293,8 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
|
|
|
8287
8293
|
hideServiceKey: { type: Boolean, default: !1 }
|
|
8288
8294
|
},
|
|
8289
8295
|
setup(e) {
|
|
8290
|
-
var W,
|
|
8291
|
-
const n = cs(e, "hideServiceKey"), r = ut(), l = mt(), { id: i } = r.params, s = M(null), a = M(null), f = M({}), p = M(null), v = ((
|
|
8296
|
+
var W, re;
|
|
8297
|
+
const n = cs(e, "hideServiceKey"), r = ut(), l = mt(), { id: i } = r.params, s = M(null), a = M(null), f = M({}), p = M(null), v = ((re = (W = Mt()) == null ? void 0 : W.appContext.config.globalProperties) == null ? void 0 : re.$settings) || null;
|
|
8292
8298
|
function c(b) {
|
|
8293
8299
|
typeof document > "u" || (document.title = b ? `${b} — Сервіс` : y0);
|
|
8294
8300
|
}
|
|
@@ -8331,15 +8337,15 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
|
|
|
8331
8337
|
};
|
|
8332
8338
|
r.query.z === xe.z && r.query.x === xe.x && r.query.y === xe.y || l.replace({ query: xe });
|
|
8333
8339
|
}
|
|
8334
|
-
const E = M(null), L = M(""), I = M([]), A = M([]), k = M([]), C = M("list"), N = M(""), B = M([]),
|
|
8335
|
-
let
|
|
8340
|
+
const E = M(null), L = M(""), I = M([]), A = M([]), k = M([]), C = M("list"), N = M(""), B = M([]), ne = M(!0);
|
|
8341
|
+
let le = null;
|
|
8336
8342
|
const ae = O(() => {
|
|
8337
8343
|
var b, F;
|
|
8338
8344
|
return ((b = p.value) == null ? void 0 : b.id) ?? ((F = p.value) == null ? void 0 : F.service_id) ?? null;
|
|
8339
8345
|
}), Z = O(() => {
|
|
8340
8346
|
const b = (v == null ? void 0 : v.map) || null, F = (b == null ? void 0 : b.boundary) ?? null, K = (b == null ? void 0 : b.katottg) ?? null;
|
|
8341
8347
|
return !F && !K ? null : { boundary: F, katottg: K };
|
|
8342
|
-
}),
|
|
8348
|
+
}), se = O(() => {
|
|
8343
8349
|
const b = p.value;
|
|
8344
8350
|
if (!b) return "";
|
|
8345
8351
|
const F = [];
|
|
@@ -8356,9 +8362,9 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
|
|
|
8356
8362
|
], P = R.map((b) => b.key), j = M("style");
|
|
8357
8363
|
Ne(async () => {
|
|
8358
8364
|
const b = r.query.tab;
|
|
8359
|
-
b && P.includes(b) && (j.value = b), await
|
|
8365
|
+
b && P.includes(b) && (j.value = b), await oe(), V();
|
|
8360
8366
|
});
|
|
8361
|
-
async function
|
|
8367
|
+
async function V() {
|
|
8362
8368
|
var xe;
|
|
8363
8369
|
const b = m();
|
|
8364
8370
|
if (!(b != null && b.ready)) return;
|
|
@@ -8398,7 +8404,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
|
|
|
8398
8404
|
return console.warn("Failed to clone style", F), null;
|
|
8399
8405
|
}
|
|
8400
8406
|
}
|
|
8401
|
-
function
|
|
8407
|
+
function D(b) {
|
|
8402
8408
|
if (!b) return null;
|
|
8403
8409
|
if (typeof b == "string")
|
|
8404
8410
|
try {
|
|
@@ -8418,24 +8424,24 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
|
|
|
8418
8424
|
function J() {
|
|
8419
8425
|
var F;
|
|
8420
8426
|
if (!p.value) return;
|
|
8421
|
-
const b =
|
|
8427
|
+
const b = D(E.value);
|
|
8422
8428
|
H(b, ((F = p.value) == null ? void 0 : F.style) ?? null) || (p.value = {
|
|
8423
8429
|
...p.value,
|
|
8424
8430
|
style: b
|
|
8425
8431
|
});
|
|
8426
8432
|
}
|
|
8427
8433
|
function Q() {
|
|
8428
|
-
|
|
8429
|
-
|
|
8434
|
+
le && clearTimeout(le), le = setTimeout(() => {
|
|
8435
|
+
le = null, J();
|
|
8430
8436
|
}, x0);
|
|
8431
8437
|
}
|
|
8432
|
-
const
|
|
8438
|
+
const oe = async () => {
|
|
8433
8439
|
try {
|
|
8434
8440
|
const b = await fetch(`/api/gis-service/${i}`);
|
|
8435
8441
|
if (!b.ok) throw new Error(`${b.status}`);
|
|
8436
8442
|
const F = await b.json();
|
|
8437
8443
|
f.value = F || {}, a.value = i;
|
|
8438
|
-
const K =
|
|
8444
|
+
const K = D(F.style);
|
|
8439
8445
|
p.value = F ? { ...F, style: S(K) } : null, E.value = K, L.value = typeof (F == null ? void 0 : F.style) == "string" ? F.style : K ? ir.dump(K) : "", A.value = (F == null ? void 0 : F.popup) || [], C.value = F.card_mode === "html" ? "html" : "list", k.value = F.card, N.value = F.html, I.value = (F == null ? void 0 : F.legend) || [], B.value = (F == null ? void 0 : F.filters) || [];
|
|
8440
8446
|
} catch (b) {
|
|
8441
8447
|
console.error("Failed to fetch map info", b);
|
|
@@ -8447,7 +8453,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
|
|
|
8447
8453
|
return (b = p.value) == null ? void 0 : b.style;
|
|
8448
8454
|
},
|
|
8449
8455
|
(b) => {
|
|
8450
|
-
E.value =
|
|
8456
|
+
E.value = D(b);
|
|
8451
8457
|
},
|
|
8452
8458
|
{ deep: !0 }
|
|
8453
8459
|
), ee(
|
|
@@ -8457,7 +8463,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
|
|
|
8457
8463
|
},
|
|
8458
8464
|
{ deep: !0 }
|
|
8459
8465
|
), ze(() => {
|
|
8460
|
-
|
|
8466
|
+
le && (clearTimeout(le), le = null), g == null || g(), g = null;
|
|
8461
8467
|
});
|
|
8462
8468
|
async function ue(b, F) {
|
|
8463
8469
|
await ye({ [b]: F }, b);
|
|
@@ -8480,7 +8486,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
|
|
|
8480
8486
|
headers: { "Content-Type": "application/json" },
|
|
8481
8487
|
body: JSON.stringify(b)
|
|
8482
8488
|
})).ok) throw new Error("Save failed");
|
|
8483
|
-
Me({ type: "success", title: "Успіх", message: `${F} saved` }), await
|
|
8489
|
+
Me({ type: "success", title: "Успіх", message: `${F} saved` }), await oe();
|
|
8484
8490
|
} catch (K) {
|
|
8485
8491
|
Me({ type: "error", title: "Помилка", message: `Failed to save ${F}` }), console.error(K);
|
|
8486
8492
|
}
|
|
@@ -8526,7 +8532,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
|
|
|
8526
8532
|
])]),
|
|
8527
8533
|
o("div", null, [
|
|
8528
8534
|
o("div", n0, U((K = p.value) == null ? void 0 : K.name), 1),
|
|
8529
|
-
|
|
8535
|
+
se.value ? (d(), h("div", o0, U(se.value), 1)) : X("", !0)
|
|
8530
8536
|
])
|
|
8531
8537
|
]),
|
|
8532
8538
|
o("div", {
|
|
@@ -8537,14 +8543,14 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
|
|
|
8537
8543
|
]),
|
|
8538
8544
|
o("div", l0, [
|
|
8539
8545
|
o("div", s0, [
|
|
8540
|
-
|
|
8546
|
+
ie(En, {
|
|
8541
8547
|
ref_key: "mapViewRef",
|
|
8542
8548
|
ref: s
|
|
8543
8549
|
}, {
|
|
8544
8550
|
default: je(() => {
|
|
8545
8551
|
var be, Oe, Ie, z, q, G, we;
|
|
8546
8552
|
return [
|
|
8547
|
-
(be = p.value) != null && be.service_id ? (d(), me(
|
|
8553
|
+
(be = p.value) != null && be.service_id ? (d(), me(Vm, {
|
|
8548
8554
|
key: 0,
|
|
8549
8555
|
id: (Oe = p.value) == null ? void 0 : Oe.service_id,
|
|
8550
8556
|
layer: p.value,
|
|
@@ -8569,10 +8575,10 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
|
|
|
8569
8575
|
class: "map-widget__filter-host"
|
|
8570
8576
|
}, null, -1)),
|
|
8571
8577
|
o("div", a0, [
|
|
8572
|
-
|
|
8578
|
+
ie(Wt)
|
|
8573
8579
|
]),
|
|
8574
8580
|
o("div", u0, [
|
|
8575
|
-
|
|
8581
|
+
ie(Pt),
|
|
8576
8582
|
f.value.center ? (d(), me(Pt, {
|
|
8577
8583
|
key: 0,
|
|
8578
8584
|
targetCenter: f.value.center,
|
|
@@ -8580,12 +8586,12 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
|
|
|
8580
8586
|
}, null, 8, ["targetCenter"])) : X("", !0)
|
|
8581
8587
|
]),
|
|
8582
8588
|
o("div", c0, [
|
|
8583
|
-
|
|
8589
|
+
ie(ro, {
|
|
8584
8590
|
items: I.value || null
|
|
8585
8591
|
}, null, 8, ["items"])
|
|
8586
8592
|
]),
|
|
8587
|
-
|
|
8588
|
-
|
|
8593
|
+
ie(Tl),
|
|
8594
|
+
ie(_o, {
|
|
8589
8595
|
html: f.value.html
|
|
8590
8596
|
}, null, 8, ["html"])
|
|
8591
8597
|
];
|
|
@@ -8594,13 +8600,13 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
|
|
|
8594
8600
|
}, 512)
|
|
8595
8601
|
])
|
|
8596
8602
|
]),
|
|
8597
|
-
|
|
8598
|
-
open:
|
|
8599
|
-
onToggle: F[1] || (F[1] = (be) =>
|
|
8603
|
+
ie(go, {
|
|
8604
|
+
open: ne.value,
|
|
8605
|
+
onToggle: F[1] || (F[1] = (be) => ne.value = !ne.value)
|
|
8600
8606
|
}, null, 8, ["open"])
|
|
8601
8607
|
]),
|
|
8602
8608
|
o("div", {
|
|
8603
|
-
class: Le(["bg-white border-l border-gray-100 flex flex-col overflow-hidden shadow-lg flex-shrink-0 transition-[width] duration-100 ease-in-out",
|
|
8609
|
+
class: Le(["bg-white border-l border-gray-100 flex flex-col overflow-hidden shadow-lg flex-shrink-0 transition-[width] duration-100 ease-in-out", ne.value ? "w-[650px]" : "w-0"])
|
|
8604
8610
|
}, [
|
|
8605
8611
|
o("div", d0, [
|
|
8606
8612
|
o("div", f0, [
|
|
@@ -8649,7 +8655,7 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
|
|
|
8649
8655
|
html: N.value,
|
|
8650
8656
|
"onUpdate:columns": F[8] || (F[8] = (be) => k.value = be),
|
|
8651
8657
|
onSave: Te
|
|
8652
|
-
}, null, 8, ["token", "columns", "fields", "view-mode", "html"])) : j.value === "filter" ? (d(), me(
|
|
8658
|
+
}, null, 8, ["token", "columns", "fields", "view-mode", "html"])) : j.value === "filter" ? (d(), me(Dm, {
|
|
8653
8659
|
key: 4,
|
|
8654
8660
|
token: ae.value,
|
|
8655
8661
|
fields: f.value.fields,
|
|
@@ -8666,13 +8672,13 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
|
|
|
8666
8672
|
]);
|
|
8667
8673
|
};
|
|
8668
8674
|
}
|
|
8669
|
-
}), U2 = /* @__PURE__ */ Se(b0, [["__scopeId", "data-v-
|
|
8675
|
+
}), U2 = /* @__PURE__ */ Se(b0, [["__scopeId", "data-v-9f7ac26a"]]), w0 = { class: "flex-1 overflow-y-auto p-4 sm:p-6" }, _0 = { class: "space-y-3" }, k0 = { class: "bg-white p-3 rounded-xl border border-gray-200 shadow-sm" }, $0 = { class: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-2" }, C0 = { class: "text-xs text-gray-500 mb-1" }, A0 = {
|
|
8670
8676
|
key: 0,
|
|
8671
8677
|
class: "text-base text-md font-semibold text-gray-900"
|
|
8672
8678
|
}, S0 = {
|
|
8673
8679
|
key: 1,
|
|
8674
8680
|
class: "text-base text-md font-semibold text-gray-900"
|
|
8675
|
-
}, L0 = { class: "bg-white p-3 rounded-xl border border-gray-200 shadow-sm" }, E0 = { class: "space-y-2" }, T0 = { class: "bg-gradient-to-br from-blue-50 to-blue-100/30 p-4 rounded-lg border border-blue-200" }, M0 = { class: "text-sm font-semibold text-gray-900" }, F0 = { class: "text-xs text-gray-600 mt-1" }, I0 = { class: "grid grid-cols-2 gap-3" }, j0 = { class: "text-xs text-gray-500 mb-1" }, z0 = { class: "text-sm font-semibold text-gray-900" }, N0 = { class: "bg-gray-50 p-4 rounded-lg" }, O0 = { class: "grid grid-cols-2 gap-4" }, R0 = { class: "text-xs text-gray-500 mb-1" }, P0 = { class: "text-sm font-semibold text-gray-900" },
|
|
8681
|
+
}, L0 = { class: "bg-white p-3 rounded-xl border border-gray-200 shadow-sm" }, E0 = { class: "space-y-2" }, T0 = { class: "bg-gradient-to-br from-blue-50 to-blue-100/30 p-4 rounded-lg border border-blue-200" }, M0 = { class: "text-sm font-semibold text-gray-900" }, F0 = { class: "text-xs text-gray-600 mt-1" }, I0 = { class: "grid grid-cols-2 gap-3" }, j0 = { class: "text-xs text-gray-500 mb-1" }, z0 = { class: "text-sm font-semibold text-gray-900" }, N0 = { class: "bg-gray-50 p-4 rounded-lg" }, O0 = { class: "grid grid-cols-2 gap-4" }, R0 = { class: "text-xs text-gray-500 mb-1" }, P0 = { class: "text-sm font-semibold text-gray-900" }, D0 = /* @__PURE__ */ ve({
|
|
8676
8682
|
directives: {
|
|
8677
8683
|
tooltip: ps
|
|
8678
8684
|
},
|
|
@@ -8743,13 +8749,13 @@ const lo = "map-card:external-payload", pv = (e) => e ? typeof e.html == "string
|
|
|
8743
8749
|
]);
|
|
8744
8750
|
};
|
|
8745
8751
|
}
|
|
8746
|
-
}),
|
|
8752
|
+
}), V0 = { class: "flex-1 overflow-y-auto space-y-3 pr-1" }, B0 = { class: "font-medium text-sm text-gray-800" }, U0 = { class: "text-xs text-gray-500" }, q0 = /* @__PURE__ */ ve({
|
|
8747
8753
|
__name: "raster-files-tab",
|
|
8748
8754
|
props: {
|
|
8749
8755
|
files: {}
|
|
8750
8756
|
},
|
|
8751
8757
|
setup(e) {
|
|
8752
|
-
return (t, n) => (d(), h("div",
|
|
8758
|
+
return (t, n) => (d(), h("div", V0, [
|
|
8753
8759
|
(d(!0), h(te, null, ge(e.files, (r) => (d(), h("div", {
|
|
8754
8760
|
key: r.name,
|
|
8755
8761
|
class: "border border-gray-100 rounded-xl p-4 shadow-sm bg-white flex items-start justify-between"
|
|
@@ -9013,7 +9019,7 @@ const Q0 = /* @__PURE__ */ Se(G0, [["render", X0]]), J0 = { class: "absolute top
|
|
|
9013
9019
|
ee(s, (Q) => {
|
|
9014
9020
|
Q && Ye(j);
|
|
9015
9021
|
});
|
|
9016
|
-
const g = M(!1), u = M(null), m = M({}), y = M(null), w = M(""), x = M(!1), _ = M(!1), E = M(null), L = O(() => n.entityId || ""), I = (Q,
|
|
9022
|
+
const g = M(!1), u = M(null), m = M({}), y = M(null), w = M(""), x = M(!1), _ = M(!1), E = M(null), L = O(() => n.entityId || ""), I = (Q, oe) => Q ? typeof Q == "function" ? Q(oe) : typeof Q != "string" ? "" : Q.includes(":id") ? oe ? Q.replace(":id", encodeURIComponent(oe)) : "" : Q : "", A = O(() => {
|
|
9017
9023
|
var Q;
|
|
9018
9024
|
return (Q = n.table) == null ? void 0 : Q.trim();
|
|
9019
9025
|
}), k = O(() => {
|
|
@@ -9024,13 +9030,13 @@ const Q0 = /* @__PURE__ */ Se(G0, [["render", X0]]), J0 = { class: "absolute top
|
|
|
9024
9030
|
if (n.saveEndpoint) return n.saveEndpoint;
|
|
9025
9031
|
if (A.value)
|
|
9026
9032
|
return (Q) => `/api/table/${Q}`;
|
|
9027
|
-
}), N = O(() => I(k.value, L.value)), B = O(() => n.saveEndpoint ? I(n.saveEndpoint, L.value) : E.value ? `/api/table/${encodeURIComponent(E.value)}` : I(C.value, L.value)),
|
|
9033
|
+
}), N = O(() => I(k.value, L.value)), B = O(() => n.saveEndpoint ? I(n.saveEndpoint, L.value) : E.value ? `/api/table/${encodeURIComponent(E.value)}` : I(C.value, L.value)), ne = O(() => I("/api/gis-clear-rtile/:id", L.value)), le = O(() => I("/api/gis-xml/:id", L.value)), ae = O(() => {
|
|
9028
9034
|
var ue, he, ye;
|
|
9029
9035
|
const Q = (he = (ue = n.entityInfo) == null ? void 0 : ue.name) == null ? void 0 : he.trim();
|
|
9030
9036
|
if (Q) return `Редагування ${Q}`;
|
|
9031
|
-
const
|
|
9032
|
-
return
|
|
9033
|
-
}), Z = O(() => n.editButtonText || "Редагувати"),
|
|
9037
|
+
const oe = (ye = n.entityLabel) == null ? void 0 : ye.trim();
|
|
9038
|
+
return oe ? `Редагування ${oe}` : "Редагування";
|
|
9039
|
+
}), Z = O(() => n.editButtonText || "Редагувати"), se = O(() => (n.saveMethod || "POST").toUpperCase());
|
|
9034
9040
|
function R() {
|
|
9035
9041
|
s.value || j(), s.value = !s.value;
|
|
9036
9042
|
}
|
|
@@ -9040,30 +9046,30 @@ const Q0 = /* @__PURE__ */ Se(G0, [["render", X0]]), J0 = { class: "absolute top
|
|
|
9040
9046
|
function j() {
|
|
9041
9047
|
var F;
|
|
9042
9048
|
if (typeof window > "u" || !f.value) return;
|
|
9043
|
-
const Q = f.value.getBoundingClientRect(),
|
|
9044
|
-
let b =
|
|
9045
|
-
if (W &&
|
|
9049
|
+
const Q = f.value.getBoundingClientRect(), oe = window.innerWidth, ue = window.innerHeight, he = Q.left, ye = Math.max(oe - pg - tn, tn), Te = Math.min(Math.max(he, tn), ye), W = ((F = p.value) == null ? void 0 : F.offsetHeight) ?? 0, re = Q.bottom + hr;
|
|
9050
|
+
let b = re;
|
|
9051
|
+
if (W && re + W > ue - tn) {
|
|
9046
9052
|
const K = Q.top - hr - W;
|
|
9047
9053
|
b = Math.max(K, tn);
|
|
9048
9054
|
}
|
|
9049
9055
|
v.value = { top: b, left: Te };
|
|
9050
9056
|
}
|
|
9051
|
-
function
|
|
9057
|
+
function V(Q) {
|
|
9052
9058
|
var ue, he;
|
|
9053
9059
|
if (!a.value && !p.value) return;
|
|
9054
|
-
const
|
|
9055
|
-
|
|
9060
|
+
const oe = Q.target;
|
|
9061
|
+
oe && ((ue = a.value) != null && ue.contains(oe) || (he = p.value) != null && he.contains(oe)) || (s.value = !1);
|
|
9056
9062
|
}
|
|
9057
9063
|
function S() {
|
|
9058
9064
|
s.value && j();
|
|
9059
9065
|
}
|
|
9060
9066
|
Ne(() => {
|
|
9061
|
-
window.addEventListener("click",
|
|
9067
|
+
window.addEventListener("click", V), window.addEventListener("resize", S), window.addEventListener("scroll", S, !0);
|
|
9062
9068
|
}), Sn(() => {
|
|
9063
|
-
window.removeEventListener("click",
|
|
9069
|
+
window.removeEventListener("click", V), window.removeEventListener("resize", S), window.removeEventListener("scroll", S, !0);
|
|
9064
9070
|
});
|
|
9065
|
-
async function
|
|
9066
|
-
var Q,
|
|
9071
|
+
async function D() {
|
|
9072
|
+
var Q, oe, ue;
|
|
9067
9073
|
if (!(!L.value || !N.value)) {
|
|
9068
9074
|
P(), g.value = !0, x.value = !0, w.value = "", u.value = null, m.value = {}, E.value = null;
|
|
9069
9075
|
try {
|
|
@@ -9072,7 +9078,7 @@ const Q0 = /* @__PURE__ */ Se(G0, [["render", X0]]), J0 = { class: "absolute top
|
|
|
9072
9078
|
throw new Error(`Failed to load form: ${he.status}`);
|
|
9073
9079
|
const ye = await he.json();
|
|
9074
9080
|
m.value = (ye == null ? void 0 : ye.data) || {}, u.value = (ye == null ? void 0 : ye.schema) || null;
|
|
9075
|
-
const Te = typeof (ye == null ? void 0 : ye.token) == "string" && ye.token || typeof ((Q = ye == null ? void 0 : ye.tokens) == null ? void 0 : Q.edit) == "string" && ye.tokens.edit || typeof ((
|
|
9081
|
+
const Te = typeof (ye == null ? void 0 : ye.token) == "string" && ye.token || typeof ((Q = ye == null ? void 0 : ye.tokens) == null ? void 0 : Q.edit) == "string" && ye.tokens.edit || typeof ((oe = ye == null ? void 0 : ye.tokens) == null ? void 0 : oe.edit_token) == "string" && ye.tokens.edit_token || typeof ((ue = ye == null ? void 0 : ye.data) == null ? void 0 : ue.token) == "string" && ye.data.token || null;
|
|
9076
9082
|
E.value = Te, y.value = null;
|
|
9077
9083
|
} catch (he) {
|
|
9078
9084
|
console.error("Failed to load edit form", he), w.value = "Не вдалося завантажити форму редагування";
|
|
@@ -9085,10 +9091,10 @@ const Q0 = /* @__PURE__ */ Se(G0, [["render", X0]]), J0 = { class: "absolute top
|
|
|
9085
9091
|
g.value = !1, u.value = null, w.value = "", E.value = null;
|
|
9086
9092
|
}
|
|
9087
9093
|
async function J() {
|
|
9088
|
-
var Q,
|
|
9094
|
+
var Q, oe;
|
|
9089
9095
|
if (!(!L.value || !B.value)) {
|
|
9090
9096
|
if (y.value) {
|
|
9091
|
-
const ue = (
|
|
9097
|
+
const ue = (oe = (Q = y.value).validate) == null ? void 0 : oe.call(Q);
|
|
9092
9098
|
if (ue) {
|
|
9093
9099
|
Me({
|
|
9094
9100
|
type: "warning",
|
|
@@ -9102,7 +9108,7 @@ const Q0 = /* @__PURE__ */ Se(G0, [["render", X0]]), J0 = { class: "absolute top
|
|
|
9102
9108
|
_.value = !0;
|
|
9103
9109
|
try {
|
|
9104
9110
|
const ue = await fetch(B.value, {
|
|
9105
|
-
method:
|
|
9111
|
+
method: se.value,
|
|
9106
9112
|
headers: { "Content-Type": "application/json" },
|
|
9107
9113
|
body: JSON.stringify(m.value)
|
|
9108
9114
|
});
|
|
@@ -9123,7 +9129,7 @@ const Q0 = /* @__PURE__ */ Se(G0, [["render", X0]]), J0 = { class: "absolute top
|
|
|
9123
9129
|
}
|
|
9124
9130
|
}
|
|
9125
9131
|
}
|
|
9126
|
-
return (Q,
|
|
9132
|
+
return (Q, oe) => (d(), h("div", {
|
|
9127
9133
|
ref_key: "root",
|
|
9128
9134
|
ref: a,
|
|
9129
9135
|
class: "relative flex items-center"
|
|
@@ -9135,7 +9141,7 @@ const Q0 = /* @__PURE__ */ Se(G0, [["render", X0]]), J0 = { class: "absolute top
|
|
|
9135
9141
|
onClick: Je(R, ["stop"]),
|
|
9136
9142
|
class: "flex items-center justify-center w-9 h-9 hover:rounded-md hover:border hover:border-gray-200 bg-white text-gray-600 hover:bg-gray-50 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-sky-500",
|
|
9137
9143
|
"aria-label": "Дії"
|
|
9138
|
-
}, [...
|
|
9144
|
+
}, [...oe[3] || (oe[3] = [
|
|
9139
9145
|
o("svg", {
|
|
9140
9146
|
xmlns: "http://www.w3.org/2000/svg",
|
|
9141
9147
|
class: "h-5 w-5",
|
|
@@ -9159,39 +9165,39 @@ const Q0 = /* @__PURE__ */ Se(G0, [["render", X0]]), J0 = { class: "absolute top
|
|
|
9159
9165
|
style: Qe(c.value),
|
|
9160
9166
|
class: "absolute top-0 left-0 mt-2 w-48 rounded-xl border border-gray-200 bg-white shadow-lg text-sm z-[1000]"
|
|
9161
9167
|
}, [
|
|
9162
|
-
|
|
9168
|
+
ne.value ? (d(), h("a", {
|
|
9163
9169
|
key: 0,
|
|
9164
|
-
href:
|
|
9170
|
+
href: ne.value,
|
|
9165
9171
|
target: "_blank",
|
|
9166
9172
|
rel: "noreferrer",
|
|
9167
9173
|
class: "flex items-center gap-2 px-4 py-2 text-left text-gray-700 hover:bg-slate-50 hover:rounded-t-xl",
|
|
9168
9174
|
onClick: P
|
|
9169
9175
|
}, [
|
|
9170
|
-
|
|
9176
|
+
ie(ce(Cs), {
|
|
9171
9177
|
size: 16,
|
|
9172
9178
|
class: "lucide lucide-brush-cleaning text-gray-500"
|
|
9173
9179
|
}),
|
|
9174
|
-
|
|
9180
|
+
oe[4] || (oe[4] = o("span", null, "Очистити тайли", -1))
|
|
9175
9181
|
], 8, sg)) : X("", !0),
|
|
9176
9182
|
o("a", {
|
|
9177
|
-
href:
|
|
9183
|
+
href: le.value,
|
|
9178
9184
|
target: "_blank",
|
|
9179
9185
|
rel: "noreferrer",
|
|
9180
9186
|
class: "flex items-center gap-2 px-4 py-2 text-left text-gray-700 hover:bg-slate-50 hover:rounded-t-xl",
|
|
9181
9187
|
onClick: P
|
|
9182
9188
|
}, [
|
|
9183
|
-
|
|
9189
|
+
ie(ce(Rs), {
|
|
9184
9190
|
size: 16,
|
|
9185
9191
|
class: "lucide lucide-square-code text-gray-500"
|
|
9186
9192
|
}),
|
|
9187
|
-
|
|
9193
|
+
oe[5] || (oe[5] = o("span", null, "Створити XML", -1))
|
|
9188
9194
|
], 8, ig),
|
|
9189
9195
|
o("button", {
|
|
9190
9196
|
type: "button",
|
|
9191
9197
|
class: "flex items-center gap-2 w-full px-4 py-2 text-left text-gray-700 hover:bg-slate-50 hover:rounded-b-xl",
|
|
9192
|
-
onClick:
|
|
9198
|
+
onClick: D
|
|
9193
9199
|
}, [
|
|
9194
|
-
|
|
9200
|
+
ie(ce(Ns), {
|
|
9195
9201
|
size: 16,
|
|
9196
9202
|
class: "lucide lucide-pencil text-gray-500"
|
|
9197
9203
|
}),
|
|
@@ -9199,10 +9205,10 @@ const Q0 = /* @__PURE__ */ Se(G0, [["render", X0]]), J0 = { class: "absolute top
|
|
|
9199
9205
|
])
|
|
9200
9206
|
], 4)) : X("", !0)
|
|
9201
9207
|
])),
|
|
9202
|
-
|
|
9208
|
+
ie(ce(l), {
|
|
9203
9209
|
teleport: "#modal",
|
|
9204
9210
|
visible: g.value,
|
|
9205
|
-
"onUpdate:visible":
|
|
9211
|
+
"onUpdate:visible": oe[2] || (oe[2] = (ue) => g.value = ue),
|
|
9206
9212
|
title: ae.value,
|
|
9207
9213
|
size: "lg"
|
|
9208
9214
|
}, {
|
|
@@ -9226,9 +9232,9 @@ const Q0 = /* @__PURE__ */ Se(G0, [["render", X0]]), J0 = { class: "absolute top
|
|
|
9226
9232
|
x.value ? (d(), h("div", ag, " Завантаження форми редагування… ")) : w.value ? (d(), h("div", ug, U(w.value), 1)) : (d(), me(ce(i), {
|
|
9227
9233
|
key: 2,
|
|
9228
9234
|
values: m.value,
|
|
9229
|
-
"onUpdate:values":
|
|
9235
|
+
"onUpdate:values": oe[0] || (oe[0] = (ue) => m.value = ue),
|
|
9230
9236
|
form: y.value,
|
|
9231
|
-
"onUpdate:form":
|
|
9237
|
+
"onUpdate:form": oe[1] || (oe[1] = (ue) => y.value = ue),
|
|
9232
9238
|
schema: u.value
|
|
9233
9239
|
}, null, 8, ["values", "form", "schema"]))
|
|
9234
9240
|
]),
|
|
@@ -9327,12 +9333,12 @@ const Q0 = /* @__PURE__ */ Se(G0, [["render", X0]]), J0 = { class: "absolute top
|
|
|
9327
9333
|
id: i.value ?? "—",
|
|
9328
9334
|
name: (b == null ? void 0 : b.name) || ((be = (ke = b == null ? void 0 : b.files) == null ? void 0 : ke[0]) == null ? void 0 : be.name),
|
|
9329
9335
|
description: b != null && b.extension ? `Формат ${b.extension.toUpperCase()}` : "Попередній перегляд растрового шару. Реальні метадані підвантажуються.",
|
|
9330
|
-
coverage: F && F.length === 4 ? `${
|
|
9336
|
+
coverage: F && F.length === 4 ? `${re(F[0])}, ${re(F[1])} → ${re(F[2])}, ${re(F[3])}` : "Покриття уточнюється",
|
|
9331
9337
|
crs: b != null && b.srid ? `EPSG:${b.srid}` : "EPSG:4326",
|
|
9332
9338
|
source: b != null && b.proj4 ? b.proj4 : "Джерело: Mapnik",
|
|
9333
9339
|
updatedAt: b != null && b.cache ? "Дані кешовано" : "Нові дані"
|
|
9334
9340
|
};
|
|
9335
|
-
}),
|
|
9341
|
+
}), ne = O(() => {
|
|
9336
9342
|
const b = s.value;
|
|
9337
9343
|
return b ? [
|
|
9338
9344
|
b.source_path,
|
|
@@ -9340,11 +9346,11 @@ const Q0 = /* @__PURE__ */ Se(G0, [["render", X0]]), J0 = { class: "absolute top
|
|
|
9340
9346
|
b.is_public ? "Публічна" : "Не публічна",
|
|
9341
9347
|
b.is_active ? "Архівна" : "Активна"
|
|
9342
9348
|
].filter((F) => F).join(", ") : "";
|
|
9343
|
-
}),
|
|
9349
|
+
}), le = [
|
|
9344
9350
|
{ key: "info", label: "Інформація", icon: Q0 },
|
|
9345
9351
|
{ key: "files", label: "Файли", icon: Z0 },
|
|
9346
9352
|
{ key: "metadata", label: "Метадані", icon: yo }
|
|
9347
|
-
], ae =
|
|
9353
|
+
], ae = le.map((b) => b.key), Z = M(ae.includes(r.query.tab) ? r.query.tab : "info"), se = M(!0);
|
|
9348
9354
|
ee(() => r.query.tab, (b) => {
|
|
9349
9355
|
b && ae.includes(b) && Z.value !== b && (Z.value = b);
|
|
9350
9356
|
}), ee(Z, (b) => {
|
|
@@ -9382,9 +9388,9 @@ const Q0 = /* @__PURE__ */ Se(G0, [["render", X0]]), J0 = { class: "absolute top
|
|
|
9382
9388
|
}), ee(i, () => {
|
|
9383
9389
|
S();
|
|
9384
9390
|
}, { immediate: !0 });
|
|
9385
|
-
async function
|
|
9391
|
+
async function V(b) {
|
|
9386
9392
|
var F;
|
|
9387
|
-
S(), ((F = s.value) == null ? void 0 : F.srid) !== b.srid && (Me({ title: "XML start", type: "info", message: "зміна системи координат, оновлюємо карту ..." }), await
|
|
9393
|
+
S(), ((F = s.value) == null ? void 0 : F.srid) !== b.srid && (Me({ title: "XML start", type: "info", message: "зміна системи координат, оновлюємо карту ..." }), await D(`/api/gis-xml/${encodeURIComponent(i.value)}`), Me({ title: "XML created", type: "info", message: "карта створена" }), location.reload());
|
|
9388
9394
|
}
|
|
9389
9395
|
async function S() {
|
|
9390
9396
|
const b = i.value;
|
|
@@ -9398,14 +9404,14 @@ const Q0 = /* @__PURE__ */ Se(G0, [["render", X0]]), J0 = { class: "absolute top
|
|
|
9398
9404
|
if (!F.ok)
|
|
9399
9405
|
throw new Error(`HTTP ${F.status}`);
|
|
9400
9406
|
const K = await F.json();
|
|
9401
|
-
K.xml && (f.value = !0), s.value = K, K.xml || (Me({ title: "XML not found", type: "info", message: "йде створення xml ... зачекайте" }), await
|
|
9407
|
+
K.xml && (f.value = !0), s.value = K, K.xml || (Me({ title: "XML not found", type: "info", message: "йде створення xml ... зачекайте" }), await D(`/api/gis-xml/${encodeURIComponent(b)}`), Me({ title: "XML created", type: "info", message: "карта створена" }), fetch(`/api/gis-raster/${encodeURIComponent(b)}?nocache=1`), f.value = !0);
|
|
9402
9408
|
} catch (F) {
|
|
9403
9409
|
console.error("Failed to load raster info", F), s.value = null, p.value = F instanceof Error ? F.message : String(F);
|
|
9404
9410
|
} finally {
|
|
9405
9411
|
a.value = !1;
|
|
9406
9412
|
}
|
|
9407
9413
|
}
|
|
9408
|
-
function
|
|
9414
|
+
function D(b) {
|
|
9409
9415
|
return new Promise((F, K) => {
|
|
9410
9416
|
const xe = new EventSource(b), ke = [];
|
|
9411
9417
|
xe.onmessage = (be) => {
|
|
@@ -9446,7 +9452,7 @@ const Q0 = /* @__PURE__ */ Se(G0, [["render", X0]]), J0 = { class: "absolute top
|
|
|
9446
9452
|
technical: W(b)
|
|
9447
9453
|
} : null;
|
|
9448
9454
|
}
|
|
9449
|
-
function
|
|
9455
|
+
function oe(b) {
|
|
9450
9456
|
return b != null && b.length ? b.map((K) => {
|
|
9451
9457
|
var ke;
|
|
9452
9458
|
if (!K) return "";
|
|
@@ -9456,7 +9462,7 @@ const Q0 = /* @__PURE__ */ Se(G0, [["render", X0]]), J0 = { class: "absolute top
|
|
|
9456
9462
|
}
|
|
9457
9463
|
function ue(b) {
|
|
9458
9464
|
var be, Oe;
|
|
9459
|
-
const F = b.bands_count ?? ((be = b.bands) == null ? void 0 : be.length) ?? "—", K =
|
|
9465
|
+
const F = b.bands_count ?? ((be = b.bands) == null ? void 0 : be.length) ?? "—", K = oe(b.bands), xe = (b.bands ?? []).map((Ie) => Ie.trim()).filter((Ie) => Ie.length > 0), ke = xe.length ? xe.join(", ") : void 0;
|
|
9460
9466
|
return [
|
|
9461
9467
|
{
|
|
9462
9468
|
label: "Розмір растру, px",
|
|
@@ -9475,10 +9481,10 @@ const Q0 = /* @__PURE__ */ Se(G0, [["render", X0]]), J0 = { class: "absolute top
|
|
|
9475
9481
|
}
|
|
9476
9482
|
function he(b) {
|
|
9477
9483
|
return !b || b.length !== 4 ? [] : [
|
|
9478
|
-
{ label: "Північ", value:
|
|
9479
|
-
{ label: "Схід", value:
|
|
9480
|
-
{ label: "Південь", value:
|
|
9481
|
-
{ label: "Захід", value:
|
|
9484
|
+
{ label: "Північ", value: re(b[3], "N") },
|
|
9485
|
+
{ label: "Схід", value: re(b[2], "E") },
|
|
9486
|
+
{ label: "Південь", value: re(b[1], "S") },
|
|
9487
|
+
{ label: "Захід", value: re(b[0], "W") }
|
|
9482
9488
|
];
|
|
9483
9489
|
}
|
|
9484
9490
|
function ye(b) {
|
|
@@ -9514,7 +9520,7 @@ const Q0 = /* @__PURE__ */ Se(G0, [["render", X0]]), J0 = { class: "absolute top
|
|
|
9514
9520
|
{ label: "URL тайла", value: b.url || "—" }
|
|
9515
9521
|
];
|
|
9516
9522
|
}
|
|
9517
|
-
function
|
|
9523
|
+
function re(b, F) {
|
|
9518
9524
|
if (b == null || Number.isNaN(b)) return "—";
|
|
9519
9525
|
const K = `${b.toFixed(5)}°`;
|
|
9520
9526
|
return F ? `${K} ${F}` : K;
|
|
@@ -9547,7 +9553,7 @@ const Q0 = /* @__PURE__ */ Se(G0, [["render", X0]]), J0 = { class: "absolute top
|
|
|
9547
9553
|
])]),
|
|
9548
9554
|
o("div", xg, [
|
|
9549
9555
|
o("div", bg, U(B.value.name), 1),
|
|
9550
|
-
|
|
9556
|
+
ne.value ? (d(), h("div", wg, U(ne.value), 1)) : X("", !0)
|
|
9551
9557
|
])
|
|
9552
9558
|
]),
|
|
9553
9559
|
o("div", _g, [
|
|
@@ -9557,21 +9563,21 @@ const Q0 = /* @__PURE__ */ Se(G0, [["render", X0]]), J0 = { class: "absolute top
|
|
|
9557
9563
|
title: B.value.description
|
|
9558
9564
|
}, U(B.value.description), 9, $g)
|
|
9559
9565
|
]),
|
|
9560
|
-
|
|
9566
|
+
ie(Il, {
|
|
9561
9567
|
"entity-id": i.value || "",
|
|
9562
9568
|
"entity-info": { name: B.value.name },
|
|
9563
9569
|
table: "gis.rasters.table",
|
|
9564
9570
|
"entity-label": "Растер",
|
|
9565
9571
|
"save-method": "put",
|
|
9566
9572
|
"edit-button-text": "Редагувати",
|
|
9567
|
-
onSaved:
|
|
9573
|
+
onSaved: V
|
|
9568
9574
|
}, null, 8, ["entity-id", "entity-info"])
|
|
9569
9575
|
])
|
|
9570
9576
|
])
|
|
9571
9577
|
]),
|
|
9572
9578
|
o("div", Cg, [
|
|
9573
9579
|
o("div", Ag, [
|
|
9574
|
-
|
|
9580
|
+
ie(En, {
|
|
9575
9581
|
ref_key: "mapViewRef",
|
|
9576
9582
|
ref: l
|
|
9577
9583
|
}, {
|
|
@@ -9584,15 +9590,15 @@ const Q0 = /* @__PURE__ */ Se(G0, [["render", X0]]), J0 = { class: "absolute top
|
|
|
9584
9590
|
"show-raster-extent": v.value,
|
|
9585
9591
|
onToggleExtent: F[1] || (F[1] = (K) => v.value = K)
|
|
9586
9592
|
}, null, 8, ["tile-url", "extent", "layer-id", "show-raster-extent"])) : X("", !0),
|
|
9587
|
-
|
|
9593
|
+
ie(Fl, {
|
|
9588
9594
|
extent: v.value ? L.value : null,
|
|
9589
9595
|
"layer-id": A.value
|
|
9590
9596
|
}, null, 8, ["extent", "layer-id"]),
|
|
9591
9597
|
o("div", Sg, [
|
|
9592
|
-
|
|
9598
|
+
ie(Wt)
|
|
9593
9599
|
]),
|
|
9594
9600
|
o("div", Lg, [
|
|
9595
|
-
|
|
9601
|
+
ie(Pt),
|
|
9596
9602
|
N.value ? (d(), me(Pt, {
|
|
9597
9603
|
key: 0,
|
|
9598
9604
|
targetCenter: N.value,
|
|
@@ -9605,19 +9611,19 @@ const Q0 = /* @__PURE__ */ Se(G0, [["render", X0]]), J0 = { class: "absolute top
|
|
|
9605
9611
|
}, 512)
|
|
9606
9612
|
])
|
|
9607
9613
|
]),
|
|
9608
|
-
|
|
9609
|
-
open:
|
|
9614
|
+
ie(go, {
|
|
9615
|
+
open: se.value,
|
|
9610
9616
|
"top-class": "top-3",
|
|
9611
|
-
onToggle: F[2] || (F[2] = (K) =>
|
|
9617
|
+
onToggle: F[2] || (F[2] = (K) => se.value = !se.value)
|
|
9612
9618
|
}, null, 8, ["open"])
|
|
9613
9619
|
]),
|
|
9614
9620
|
o("div", {
|
|
9615
|
-
class: Le(["bg-white border-l border-gray-100 flex flex-col overflow-hidden shadow-lg flex-shrink-0 transition-[width] duration-100 ease-in-out",
|
|
9621
|
+
class: Le(["bg-white border-l border-gray-100 flex flex-col overflow-hidden shadow-lg flex-shrink-0 transition-[width] duration-100 ease-in-out", se.value ? "w-[520px]" : "w-0"])
|
|
9616
9622
|
}, [
|
|
9617
9623
|
o("div", Eg, [
|
|
9618
9624
|
o("div", Tg, [
|
|
9619
9625
|
o("div", Mg, [
|
|
9620
|
-
(d(), h(te, null, ge(
|
|
9626
|
+
(d(), h(te, null, ge(le, (K) => o("button", {
|
|
9621
9627
|
key: K.key,
|
|
9622
9628
|
type: "button",
|
|
9623
9629
|
role: "tab",
|
|
@@ -9638,7 +9644,7 @@ const Q0 = /* @__PURE__ */ Se(G0, [["render", X0]]), J0 = { class: "absolute top
|
|
|
9638
9644
|
}, null, 8, ["files"])) : Z.value === "metadata" ? (d(), me(ho, {
|
|
9639
9645
|
key: 3,
|
|
9640
9646
|
data: s.value
|
|
9641
|
-
}, null, 8, ["data"])) : P.value ? (d(), me(
|
|
9647
|
+
}, null, 8, ["data"])) : P.value ? (d(), me(D0, {
|
|
9642
9648
|
key: 4,
|
|
9643
9649
|
details: P.value
|
|
9644
9650
|
}, null, 8, ["details"])) : X("", !0)
|
|
@@ -9647,7 +9653,7 @@ const Q0 = /* @__PURE__ */ Se(G0, [["render", X0]]), J0 = { class: "absolute top
|
|
|
9647
9653
|
], 2)
|
|
9648
9654
|
]));
|
|
9649
9655
|
}
|
|
9650
|
-
}), Pg = {},
|
|
9656
|
+
}), Pg = {}, Dg = {
|
|
9651
9657
|
xmlns: "http://www.w3.org/2000/svg",
|
|
9652
9658
|
width: "24",
|
|
9653
9659
|
height: "24",
|
|
@@ -9659,8 +9665,8 @@ const Q0 = /* @__PURE__ */ Se(G0, [["render", X0]]), J0 = { class: "absolute top
|
|
|
9659
9665
|
"stroke-linejoin": "round",
|
|
9660
9666
|
class: "lucide lucide-table"
|
|
9661
9667
|
};
|
|
9662
|
-
function
|
|
9663
|
-
return d(), h("svg",
|
|
9668
|
+
function Vg(e, t) {
|
|
9669
|
+
return d(), h("svg", Dg, [...t[0] || (t[0] = [
|
|
9664
9670
|
o("path", { d: "M12 3v18" }, null, -1),
|
|
9665
9671
|
o("rect", {
|
|
9666
9672
|
width: "18",
|
|
@@ -9673,7 +9679,7 @@ function Dg(e, t) {
|
|
|
9673
9679
|
o("path", { d: "M3 15h18" }, null, -1)
|
|
9674
9680
|
])]);
|
|
9675
9681
|
}
|
|
9676
|
-
const Bg = /* @__PURE__ */ Se(Pg, [["render",
|
|
9682
|
+
const Bg = /* @__PURE__ */ Se(Pg, [["render", Vg]]), Ug = { class: "flex flex-col h-full" }, qg = { class: "flex justify-end mb-3 gap-2" }, Hg = /* @__PURE__ */ ve({
|
|
9677
9683
|
__name: "cartocss-css-tab",
|
|
9678
9684
|
props: {
|
|
9679
9685
|
modelValue: {}
|
|
@@ -9710,7 +9716,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
9710
9716
|
Ae(" Зберегти ", -1)
|
|
9711
9717
|
])])
|
|
9712
9718
|
]),
|
|
9713
|
-
|
|
9719
|
+
ie(mn, {
|
|
9714
9720
|
modelValue: l.value,
|
|
9715
9721
|
"onUpdate:modelValue": s[1] || (s[1] = (a) => l.value = a),
|
|
9716
9722
|
language: "css",
|
|
@@ -9814,7 +9820,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
9814
9820
|
onClick: y[0] || (y[0] = (w) => s("save"))
|
|
9815
9821
|
}, " Зберегти ")
|
|
9816
9822
|
]),
|
|
9817
|
-
|
|
9823
|
+
ie(Ft, {
|
|
9818
9824
|
modelValue: i.value,
|
|
9819
9825
|
"onUpdate:modelValue": y[1] || (y[1] = (w) => i.value = w),
|
|
9820
9826
|
"columns-scheme": n,
|
|
@@ -9843,7 +9849,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
9843
9849
|
]),
|
|
9844
9850
|
_: 1
|
|
9845
9851
|
}, 8, ["modelValue"]),
|
|
9846
|
-
|
|
9852
|
+
ie(ce(r), {
|
|
9847
9853
|
teleport: "#modal",
|
|
9848
9854
|
visible: a.value,
|
|
9849
9855
|
"onUpdate:visible": y[3] || (y[3] = (w) => a.value = w),
|
|
@@ -9864,7 +9870,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
9864
9870
|
])
|
|
9865
9871
|
]),
|
|
9866
9872
|
default: je(() => [
|
|
9867
|
-
|
|
9873
|
+
ie(ce(l), {
|
|
9868
9874
|
values: f.value,
|
|
9869
9875
|
"onUpdate:values": y[2] || (y[2] = (w) => f.value = w),
|
|
9870
9876
|
schema: p
|
|
@@ -9916,13 +9922,13 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
9916
9922
|
])])
|
|
9917
9923
|
]),
|
|
9918
9924
|
o("div", null, [
|
|
9919
|
-
|
|
9925
|
+
ie(ce(s), {
|
|
9920
9926
|
modelValue: l.value,
|
|
9921
9927
|
"onUpdate:modelValue": p[0] || (p[0] = (v) => l.value = v)
|
|
9922
9928
|
}, null, 8, ["modelValue"])
|
|
9923
9929
|
]),
|
|
9924
9930
|
o("div", ny, [
|
|
9925
|
-
|
|
9931
|
+
ie(mn, {
|
|
9926
9932
|
modelValue: i.value,
|
|
9927
9933
|
"onUpdate:modelValue": p[1] || (p[1] = (v) => i.value = v),
|
|
9928
9934
|
language: "html",
|
|
@@ -10080,7 +10086,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
10080
10086
|
i.includes(n.query.tab) ? n.query.tab : "css"
|
|
10081
10087
|
), a = M(!0), f = M(null), p = O(() => {
|
|
10082
10088
|
var W;
|
|
10083
|
-
return (W = f.value) != null && W.source_path ? l.filter((
|
|
10089
|
+
return (W = f.value) != null && W.source_path ? l.filter((re) => re.key === "card" || re.key === "metadata") : l;
|
|
10084
10090
|
}), v = O(
|
|
10085
10091
|
() => n.params.id || My
|
|
10086
10092
|
), c = M({
|
|
@@ -10093,11 +10099,11 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
10093
10099
|
function m(W) {
|
|
10094
10100
|
if (Array.isArray(W)) return m(W[0]);
|
|
10095
10101
|
if (typeof W != "string" && typeof W != "number") return null;
|
|
10096
|
-
const
|
|
10097
|
-
return Number.isFinite(
|
|
10102
|
+
const re = typeof W == "number" ? W : Number(W.trim());
|
|
10103
|
+
return Number.isFinite(re) ? re : null;
|
|
10098
10104
|
}
|
|
10099
|
-
function y(W,
|
|
10100
|
-
return W.toFixed(
|
|
10105
|
+
function y(W, re) {
|
|
10106
|
+
return W.toFixed(re);
|
|
10101
10107
|
}
|
|
10102
10108
|
function w() {
|
|
10103
10109
|
var W;
|
|
@@ -10107,23 +10113,23 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
10107
10113
|
var be, Oe, Ie, z;
|
|
10108
10114
|
const W = (Oe = (be = w()) == null ? void 0 : be.map) == null ? void 0 : Oe.value;
|
|
10109
10115
|
if (!W) return;
|
|
10110
|
-
const
|
|
10111
|
-
if (
|
|
10116
|
+
const re = m(n.query.z), b = m(n.query.x), F = m(n.query.y);
|
|
10117
|
+
if (re == null || b == null || F == null) return;
|
|
10112
10118
|
const K = (Ie = W.getCenter) == null ? void 0 : Ie.call(W), xe = (z = W.getZoom) == null ? void 0 : z.call(W);
|
|
10113
|
-
(!K || Math.abs(K.lng - b) > 1e-6 || Math.abs(K.lat - F) > 1e-6 || Math.abs((xe ?? 0) -
|
|
10119
|
+
(!K || Math.abs(K.lng - b) > 1e-6 || Math.abs(K.lat - F) > 1e-6 || Math.abs((xe ?? 0) - re) > 1e-6) && (u.value = !0, W.jumpTo({ center: [b, F], zoom: re }), u.value = !1);
|
|
10114
10120
|
}
|
|
10115
10121
|
function _() {
|
|
10116
10122
|
var K, xe, ke, be;
|
|
10117
10123
|
if (u.value) return;
|
|
10118
10124
|
const W = (xe = (K = w()) == null ? void 0 : K.map) == null ? void 0 : xe.value;
|
|
10119
10125
|
if (!W) return;
|
|
10120
|
-
const
|
|
10121
|
-
if (!
|
|
10126
|
+
const re = (ke = W.getCenter) == null ? void 0 : ke.call(W), b = (be = W.getZoom) == null ? void 0 : be.call(W);
|
|
10127
|
+
if (!re || b == null) return;
|
|
10122
10128
|
const F = {
|
|
10123
10129
|
...n.query,
|
|
10124
10130
|
z: y(b, Iy),
|
|
10125
|
-
x: y(
|
|
10126
|
-
y: y(
|
|
10131
|
+
x: y(re.lng, br),
|
|
10132
|
+
y: y(re.lat, br)
|
|
10127
10133
|
};
|
|
10128
10134
|
n.query.z === F.z && n.query.x === F.x && n.query.y === F.y || t.replace({ query: F });
|
|
10129
10135
|
}
|
|
@@ -10132,34 +10138,34 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
10132
10138
|
}
|
|
10133
10139
|
const L = M("");
|
|
10134
10140
|
M("");
|
|
10135
|
-
const I = M([]), A = M(!1), k = M(!1), C = M(""), N = M(0), B = M(!1),
|
|
10141
|
+
const I = M([]), A = M(!1), k = M(!1), C = M(""), N = M(0), B = M(!1), ne = M(1), le = M(!0), ae = O(() => `cartocss-layer-${v.value}`), Z = O(() => `${Math.round(ne.value * 100)}%`), se = O(() => `cartocss-extent-${v.value}`), R = O(() => {
|
|
10136
10142
|
var K;
|
|
10137
10143
|
const W = (K = C.value) == null ? void 0 : K.trim();
|
|
10138
10144
|
if (!W) return "";
|
|
10139
|
-
const
|
|
10140
|
-
return F ? `${W}${
|
|
10145
|
+
const re = W.includes("?") ? "&" : "?", b = `${W}${re}nottl=1`, F = N.value;
|
|
10146
|
+
return F ? `${W}${re}ts=${F}&nocache=1` : b;
|
|
10141
10147
|
});
|
|
10142
10148
|
O(() => {
|
|
10143
10149
|
const W = f.value;
|
|
10144
10150
|
return W ? W.cartocss_key || W.source_path || v.value || "" : v.value || "";
|
|
10145
10151
|
});
|
|
10146
|
-
const P = M(""), j = M(""),
|
|
10152
|
+
const P = M(""), j = M(""), V = O(() => {
|
|
10147
10153
|
var xe;
|
|
10148
10154
|
const W = (xe = f.value) == null ? void 0 : xe.bounds;
|
|
10149
10155
|
if (!Array.isArray(W) || W.length < 4) return null;
|
|
10150
|
-
const [
|
|
10151
|
-
return [
|
|
10156
|
+
const [re, b, F, K] = W;
|
|
10157
|
+
return [re, b, F, K].some(
|
|
10152
10158
|
(ke) => typeof ke != "number" || Number.isNaN(ke)
|
|
10153
|
-
) ? null : [(
|
|
10159
|
+
) ? null : [(re + F) / 2, (b + K) / 2];
|
|
10154
10160
|
}), S = O(() => {
|
|
10155
10161
|
var xe;
|
|
10156
10162
|
const W = (xe = f.value) == null ? void 0 : xe.bounds;
|
|
10157
10163
|
if (!Array.isArray(W) || W.length < 4) return null;
|
|
10158
|
-
const [
|
|
10159
|
-
return [
|
|
10164
|
+
const [re, b, F, K] = W;
|
|
10165
|
+
return [re, b, F, K].some(
|
|
10160
10166
|
(ke) => typeof ke != "number" || Number.isNaN(ke)
|
|
10161
|
-
) ? null : [
|
|
10162
|
-
}),
|
|
10167
|
+
) ? null : [re, b, F, K];
|
|
10168
|
+
}), D = O(() => {
|
|
10163
10169
|
const W = f.value;
|
|
10164
10170
|
return W ? (I.value.map((b) => b == null ? void 0 : b.table).filter(Boolean), [
|
|
10165
10171
|
W.description,
|
|
@@ -10188,11 +10194,11 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
10188
10194
|
const W = w();
|
|
10189
10195
|
if (!(W != null && W.ready)) return;
|
|
10190
10196
|
await W.ready(), x();
|
|
10191
|
-
const
|
|
10192
|
-
if (!
|
|
10197
|
+
const re = (F = W.map) == null ? void 0 : F.value;
|
|
10198
|
+
if (!re) return;
|
|
10193
10199
|
const b = () => _();
|
|
10194
|
-
|
|
10195
|
-
|
|
10200
|
+
re.on("moveend", b), re.on("zoomend", b), g = () => {
|
|
10201
|
+
re.off("moveend", b), re.off("zoomend", b);
|
|
10196
10202
|
};
|
|
10197
10203
|
}
|
|
10198
10204
|
ee(
|
|
@@ -10207,28 +10213,28 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
10207
10213
|
}), ee(
|
|
10208
10214
|
() => n.query.tab,
|
|
10209
10215
|
(W) => {
|
|
10210
|
-
W && p.value.some((
|
|
10216
|
+
W && p.value.some((re) => re.key === W) && s.value !== W && (s.value = W);
|
|
10211
10217
|
}
|
|
10212
10218
|
), ee(
|
|
10213
10219
|
p,
|
|
10214
10220
|
(W) => {
|
|
10215
|
-
W.length && !W.some((
|
|
10221
|
+
W.length && !W.some((re) => re.key === s.value) && (s.value = W[0].key);
|
|
10216
10222
|
},
|
|
10217
10223
|
{ immediate: !0 }
|
|
10218
10224
|
), ee(s, (W) => {
|
|
10219
|
-
n.query.tab !== W && p.value.some((
|
|
10225
|
+
n.query.tab !== W && p.value.some((re) => re.key === W) && t.replace({ query: { ...n.query, tab: W } });
|
|
10220
10226
|
}), ee(
|
|
10221
10227
|
() => f.value,
|
|
10222
10228
|
(W) => {
|
|
10223
|
-
const
|
|
10224
|
-
P.value =
|
|
10229
|
+
const re = W == null ? void 0 : W.card_html;
|
|
10230
|
+
P.value = re, j.value = W == null ? void 0 : W.card_table;
|
|
10225
10231
|
},
|
|
10226
10232
|
{ immediate: !0 }
|
|
10227
10233
|
);
|
|
10228
10234
|
function J() {
|
|
10229
10235
|
v.value && he(v.value, { bustCache: !0 });
|
|
10230
10236
|
}
|
|
10231
|
-
async function Q(W,
|
|
10237
|
+
async function Q(W, re) {
|
|
10232
10238
|
if (v.value) {
|
|
10233
10239
|
k.value = !0;
|
|
10234
10240
|
try {
|
|
@@ -10238,7 +10244,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
10238
10244
|
body: JSON.stringify(W)
|
|
10239
10245
|
});
|
|
10240
10246
|
if (!b.ok) throw new Error(`Failed to save cartocss: ${b.status}`);
|
|
10241
|
-
Me({ type: "success", title: "Збережено", message:
|
|
10247
|
+
Me({ type: "success", title: "Збережено", message: re }), await he(v.value, { bustCache: !0 });
|
|
10242
10248
|
} catch (b) {
|
|
10243
10249
|
console.error("Failed to save CartoCSS", b), Me({ type: "error", title: "Помилка", message: "Не вдалося зберегти CartoCSS" });
|
|
10244
10250
|
} finally {
|
|
@@ -10246,19 +10252,19 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
10246
10252
|
}
|
|
10247
10253
|
}
|
|
10248
10254
|
}
|
|
10249
|
-
function
|
|
10255
|
+
function oe(W) {
|
|
10250
10256
|
if (!W) return null;
|
|
10251
10257
|
if (typeof W == "string")
|
|
10252
10258
|
try {
|
|
10253
10259
|
return JSON.parse(W);
|
|
10254
|
-
} catch (
|
|
10255
|
-
return console.warn("Failed to parse CartoCSS config",
|
|
10260
|
+
} catch (re) {
|
|
10261
|
+
return console.warn("Failed to parse CartoCSS config", re), null;
|
|
10256
10262
|
}
|
|
10257
10263
|
return typeof W == "object" ? W : null;
|
|
10258
10264
|
}
|
|
10259
10265
|
function ue(W) {
|
|
10260
|
-
const
|
|
10261
|
-
return Array.isArray(
|
|
10266
|
+
const re = Array.isArray(W) ? W : W == null ? void 0 : W.datasets;
|
|
10267
|
+
return Array.isArray(re) ? re.map((b, F) => ({
|
|
10262
10268
|
table: (b == null ? void 0 : b.table) || (b == null ? void 0 : b.id) || `dataset_${F + 1}`,
|
|
10263
10269
|
query: (b == null ? void 0 : b.query) || "",
|
|
10264
10270
|
srid: (b == null ? void 0 : b.srid) || "",
|
|
@@ -10270,7 +10276,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
10270
10276
|
proj4text: (b == null ? void 0 : b.proj4text) || ""
|
|
10271
10277
|
})) : [];
|
|
10272
10278
|
}
|
|
10273
|
-
async function he(W,
|
|
10279
|
+
async function he(W, re) {
|
|
10274
10280
|
A.value = !0;
|
|
10275
10281
|
try {
|
|
10276
10282
|
const b = await fetch(`/api/gis-css/${W}`);
|
|
@@ -10281,10 +10287,10 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
10281
10287
|
name: K.name || c.value.name,
|
|
10282
10288
|
description: K.description || c.value.description
|
|
10283
10289
|
}, L.value = typeof K.style == "string" ? K.style : "";
|
|
10284
|
-
const xe =
|
|
10290
|
+
const xe = oe(K.config ?? []);
|
|
10285
10291
|
I.value = ue(xe);
|
|
10286
10292
|
const ke = typeof K.url == "string" ? K.url : "";
|
|
10287
|
-
C.value = ke, B.value = !!(ke && K.enabled !== !1), N.value =
|
|
10293
|
+
C.value = ke, B.value = !!(ke && K.enabled !== !1), N.value = re != null && re.bustCache ? Date.now() : 0;
|
|
10288
10294
|
} catch (b) {
|
|
10289
10295
|
console.error("Failed to fetch CartoCSS", b), B.value = !1, C.value = "", N.value = 0, f.value = null;
|
|
10290
10296
|
} finally {
|
|
@@ -10301,24 +10307,24 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
10301
10307
|
);
|
|
10302
10308
|
}
|
|
10303
10309
|
async function Te(W) {
|
|
10304
|
-
const
|
|
10310
|
+
const re = await fetch(`/api/gis-css/${v.value}`, {
|
|
10305
10311
|
method: "POST",
|
|
10306
10312
|
headers: { "Content-Type": "application/json" },
|
|
10307
10313
|
body: JSON.stringify(W)
|
|
10308
10314
|
});
|
|
10309
|
-
if (!
|
|
10315
|
+
if (!re.ok) throw new Error(`Failed to save cartocss: ${re.status}`);
|
|
10310
10316
|
Me({ type: "success", title: "Збережено", message: "Картка CartoCSS оновлена" });
|
|
10311
10317
|
}
|
|
10312
|
-
return (W,
|
|
10318
|
+
return (W, re) => (d(), h("div", sy, [
|
|
10313
10319
|
o("div", iy, [
|
|
10314
10320
|
o("div", ay, [
|
|
10315
10321
|
o("div", uy, [
|
|
10316
10322
|
o("div", cy, [
|
|
10317
10323
|
o("button", {
|
|
10318
10324
|
type: "button",
|
|
10319
|
-
onClick:
|
|
10325
|
+
onClick: re[0] || (re[0] = (b) => ce(t).back()),
|
|
10320
10326
|
class: "inline-flex items-center px-3 py-1.5 rounded-md bg-sky-100 hover:bg-sky-200 text-sky-700 font-medium text-sm transition"
|
|
10321
|
-
}, [...
|
|
10327
|
+
}, [...re[6] || (re[6] = [
|
|
10322
10328
|
o("svg", {
|
|
10323
10329
|
xmlns: "http://www.w3.org/2000/svg",
|
|
10324
10330
|
class: "h-4 w-4 mr-1",
|
|
@@ -10337,10 +10343,10 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
10337
10343
|
])]),
|
|
10338
10344
|
o("div", dy, [
|
|
10339
10345
|
o("div", fy, U(c.value.name), 1),
|
|
10340
|
-
|
|
10346
|
+
D.value ? (d(), h("div", py, U(D.value), 1)) : X("", !0)
|
|
10341
10347
|
])
|
|
10342
10348
|
]),
|
|
10343
|
-
|
|
10349
|
+
ie(Il, {
|
|
10344
10350
|
"entity-id": v.value,
|
|
10345
10351
|
"entity-info": c.value,
|
|
10346
10352
|
"form-endpoint": (b) => `/api/form/gis.cartocss.table/${b}`,
|
|
@@ -10353,7 +10359,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
10353
10359
|
]),
|
|
10354
10360
|
o("div", my, [
|
|
10355
10361
|
o("div", vy, [
|
|
10356
|
-
|
|
10362
|
+
ie(En, {
|
|
10357
10363
|
ref_key: "mapViewRef",
|
|
10358
10364
|
ref: r
|
|
10359
10365
|
}, {
|
|
@@ -10363,9 +10369,9 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
10363
10369
|
o("div", gy, [
|
|
10364
10370
|
o("div", yy, [
|
|
10365
10371
|
o("div", hy, [
|
|
10366
|
-
|
|
10372
|
+
re[7] || (re[7] = o("span", null, "Прозорість:", -1)),
|
|
10367
10373
|
Ue(o("input", {
|
|
10368
|
-
"onUpdate:modelValue":
|
|
10374
|
+
"onUpdate:modelValue": re[1] || (re[1] = (K) => ne.value = K),
|
|
10369
10375
|
type: "range",
|
|
10370
10376
|
min: "0",
|
|
10371
10377
|
max: "1",
|
|
@@ -10375,7 +10381,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
10375
10381
|
}, null, 512), [
|
|
10376
10382
|
[
|
|
10377
10383
|
vt,
|
|
10378
|
-
|
|
10384
|
+
ne.value,
|
|
10379
10385
|
void 0,
|
|
10380
10386
|
{ number: !0 }
|
|
10381
10387
|
]
|
|
@@ -10388,21 +10394,21 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
10388
10394
|
o("input", {
|
|
10389
10395
|
type: "checkbox",
|
|
10390
10396
|
class: "h-3.5 w-3.5 rounded border-slate-300 text-blue-600 focus:ring-blue-200",
|
|
10391
|
-
checked:
|
|
10392
|
-
onChange:
|
|
10397
|
+
checked: le.value,
|
|
10398
|
+
onChange: re[2] || (re[2] = (K) => le.value = K.target.checked)
|
|
10393
10399
|
}, null, 40, wy),
|
|
10394
|
-
|
|
10400
|
+
re[8] || (re[8] = o("span", null, "Межі css", -1))
|
|
10395
10401
|
])
|
|
10396
10402
|
])
|
|
10397
10403
|
]),
|
|
10398
10404
|
o("div", _y, [
|
|
10399
|
-
|
|
10405
|
+
ie(Wt)
|
|
10400
10406
|
]),
|
|
10401
10407
|
o("div", ky, [
|
|
10402
|
-
|
|
10403
|
-
|
|
10408
|
+
ie(Pt),
|
|
10409
|
+
V.value ? (d(), me(Pt, {
|
|
10404
10410
|
key: 0,
|
|
10405
|
-
targetCenter:
|
|
10411
|
+
targetCenter: V.value,
|
|
10406
10412
|
targetLabel: "Центр даних",
|
|
10407
10413
|
targetAriaLabel: "Перейти до центру даних"
|
|
10408
10414
|
}, null, 8, ["targetCenter"])) : X("", !0)
|
|
@@ -10412,21 +10418,21 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
10412
10418
|
"layer-id": ae.value,
|
|
10413
10419
|
"tile-url": R.value,
|
|
10414
10420
|
active: B.value,
|
|
10415
|
-
opacity:
|
|
10421
|
+
opacity: ne.value,
|
|
10416
10422
|
title: c.value.name,
|
|
10417
10423
|
owner: v.value
|
|
10418
10424
|
}, null, 8, ["layer-id", "tile-url", "active", "opacity", "title", "owner"])) : X("", !0),
|
|
10419
|
-
|
|
10420
|
-
extent:
|
|
10421
|
-
"layer-id":
|
|
10425
|
+
ie(Fl, {
|
|
10426
|
+
extent: le.value ? S.value : null,
|
|
10427
|
+
"layer-id": se.value
|
|
10422
10428
|
}, null, 8, ["extent", "layer-id"]),
|
|
10423
|
-
|
|
10429
|
+
ie(ly, {
|
|
10424
10430
|
"cartocss-id": v.value,
|
|
10425
10431
|
bounds: ((b = f.value) == null ? void 0 : b.bounds) ?? null,
|
|
10426
10432
|
active: B.value,
|
|
10427
10433
|
"info-enabled": (F = f.value) == null ? void 0 : F.info
|
|
10428
10434
|
}, null, 8, ["cartocss-id", "bounds", "active", "info-enabled"]),
|
|
10429
|
-
|
|
10435
|
+
ie(_o, { "map-id": v.value }, null, 8, ["map-id"])
|
|
10430
10436
|
];
|
|
10431
10437
|
}),
|
|
10432
10438
|
_: 1
|
|
@@ -10437,7 +10443,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
10437
10443
|
key: 0,
|
|
10438
10444
|
open: a.value,
|
|
10439
10445
|
"top-class": "top-4",
|
|
10440
|
-
onToggle:
|
|
10446
|
+
onToggle: re[3] || (re[3] = (b) => a.value = !a.value)
|
|
10441
10447
|
}, null, 8, ["open"])) : X("", !0)
|
|
10442
10448
|
]),
|
|
10443
10449
|
f.value ? (d(), h("div", {
|
|
@@ -10468,13 +10474,13 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
10468
10474
|
s.value === "css" ? (d(), me(Hg, {
|
|
10469
10475
|
key: 0,
|
|
10470
10476
|
modelValue: L.value,
|
|
10471
|
-
"onUpdate:modelValue":
|
|
10477
|
+
"onUpdate:modelValue": re[4] || (re[4] = (b) => L.value = b),
|
|
10472
10478
|
class: "flex-1 min-h-0",
|
|
10473
10479
|
onSave: ye
|
|
10474
10480
|
}, null, 8, ["modelValue"])) : s.value === "data" ? (d(), me(ey, {
|
|
10475
10481
|
key: 1,
|
|
10476
10482
|
modelValue: I.value,
|
|
10477
|
-
"onUpdate:modelValue":
|
|
10483
|
+
"onUpdate:modelValue": re[5] || (re[5] = (b) => I.value = b),
|
|
10478
10484
|
class: "flex-1 min-h-0 flex flex-col",
|
|
10479
10485
|
onSave: ye
|
|
10480
10486
|
}, null, 8, ["modelValue"])) : s.value === "card" ? (d(), me(oy, {
|
|
@@ -10546,7 +10552,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
10546
10552
|
}, null, 8, ["schema", "values", "form"]))
|
|
10547
10553
|
]));
|
|
10548
10554
|
}
|
|
10549
|
-
}),
|
|
10555
|
+
}), Dy = { class: "rounded-lg border border-gray-200 bg-[rgba(252,252,252,0.8)] p-6" }, Vy = /* @__PURE__ */ ve({
|
|
10550
10556
|
__name: "LayerSettings",
|
|
10551
10557
|
props: {
|
|
10552
10558
|
layerIDs: {},
|
|
@@ -10562,10 +10568,10 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
10562
10568
|
return O({
|
|
10563
10569
|
get: () => n.layerNames,
|
|
10564
10570
|
set: (i) => r("update:layerNames", i)
|
|
10565
|
-
}), (i, s) => (d(), h("section",
|
|
10571
|
+
}), (i, s) => (d(), h("section", Dy, [
|
|
10566
10572
|
s[1] || (s[1] = o("h2", { class: "text-lg font-semibold text-gray-800 mb-4" }, "Шари", -1)),
|
|
10567
10573
|
s[2] || (s[2] = o("label", { class: "block text-sm font-medium text-gray-700 mb-2" }, "Доступні шари", -1)),
|
|
10568
|
-
|
|
10574
|
+
ie(ce(vs), {
|
|
10569
10575
|
options: e.options,
|
|
10570
10576
|
modelValue: l.value,
|
|
10571
10577
|
"onUpdate:modelValue": s[0] || (s[0] = (a) => l.value = a),
|
|
@@ -10654,7 +10660,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
10654
10660
|
href: "#",
|
|
10655
10661
|
onClick: Je(f, ["prevent", "stop"])
|
|
10656
10662
|
}, [...w[1] || (w[1] = [
|
|
10657
|
-
|
|
10663
|
+
Dt('<div class="mapLayer-info__icon" data-v-cc1cc7bf><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" data-v-cc1cc7bf><circle cx="12" cy="12" r="10" data-v-cc1cc7bf></circle><line x1="12" y1="16" x2="12" y2="12" data-v-cc1cc7bf></line><line x1="12" y1="8" x2="12.01" y2="8" data-v-cc1cc7bf></line></svg></div>', 1)
|
|
10658
10664
|
])]),
|
|
10659
10665
|
(d(), me(gt, { to: "body" }, [
|
|
10660
10666
|
r.open ? (d(), h("div", {
|
|
@@ -10681,7 +10687,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
10681
10687
|
]))
|
|
10682
10688
|
], 512));
|
|
10683
10689
|
}
|
|
10684
|
-
}), ko = /* @__PURE__ */ Se(qy, [["__scopeId", "data-v-
|
|
10690
|
+
}), ko = /* @__PURE__ */ Se(qy, [["__scopeId", "data-v-cc1cc7bf"]]), Hy = {
|
|
10685
10691
|
key: 0,
|
|
10686
10692
|
class: "map-info__title"
|
|
10687
10693
|
}, Yy = { class: "map-info__actions" }, Wy = {
|
|
@@ -10716,11 +10722,11 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
10716
10722
|
function w() {
|
|
10717
10723
|
const L = l.value;
|
|
10718
10724
|
if (!L || !i.value) return;
|
|
10719
|
-
const I = L.getBoundingClientRect(), A = 12, k = 8, C = window.scrollX + A, N = window.scrollX + window.innerWidth - A, B = window.scrollY + A,
|
|
10720
|
-
let Z = I.bottom + window.scrollY + k,
|
|
10721
|
-
|
|
10725
|
+
const I = L.getBoundingClientRect(), A = 12, k = 8, C = window.scrollX + A, N = window.scrollX + window.innerWidth - A, B = window.scrollY + A, ne = window.scrollY + window.innerHeight - A, le = i.value.offsetWidth || 160, ae = i.value.offsetHeight || 0;
|
|
10726
|
+
let Z = I.bottom + window.scrollY + k, se = I.left + window.scrollX;
|
|
10727
|
+
se + le > N && (se = I.right + window.scrollX - le, se < C && (se = C)), se < C && (se = C), Z + ae > ne && (Z = I.top + window.scrollY - ae - k, Z < B && (Z = Math.max(B, ne - ae))), Z < B && (Z = B), Z + ae > ne && (Z = Math.max(B, ne - ae)), s.value = {
|
|
10722
10728
|
top: Z,
|
|
10723
|
-
left:
|
|
10729
|
+
left: se
|
|
10724
10730
|
};
|
|
10725
10731
|
}
|
|
10726
10732
|
function x(L) {
|
|
@@ -10852,7 +10858,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
10852
10858
|
}, null, 10, Gy)) : X("", !0)
|
|
10853
10859
|
], 512));
|
|
10854
10860
|
}
|
|
10855
|
-
}), wr = /* @__PURE__ */ Se(Ky, [["__scopeId", "data-v-
|
|
10861
|
+
}), wr = /* @__PURE__ */ Se(Ky, [["__scopeId", "data-v-813e24fb"]]), Xy = { class: "opacity-popover__content" }, Qy = { class: "opacity-popover__value" }, Jy = /* @__PURE__ */ ve({
|
|
10856
10862
|
__name: "LayerOpacityPopover",
|
|
10857
10863
|
props: {
|
|
10858
10864
|
layerId: {}
|
|
@@ -10949,7 +10955,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
10949
10955
|
]))
|
|
10950
10956
|
], 512));
|
|
10951
10957
|
}
|
|
10952
|
-
}), jl = /* @__PURE__ */ Se(Jy, [["__scopeId", "data-v-
|
|
10958
|
+
}), jl = /* @__PURE__ */ Se(Jy, [["__scopeId", "data-v-b278347a"]]), eh = { class: "layers-panel" }, th = { class: "layers-panel__header" }, nh = { class: "layers-panel__heading" }, oh = { class: "layers-panel__heading-title" }, rh = { class: "layers-panel__title" }, lh = { class: "layers-panel__count" }, sh = {
|
|
10953
10959
|
key: 0,
|
|
10954
10960
|
class: "layers-panel__description"
|
|
10955
10961
|
}, ih = { class: "layers-panel__header-actions" }, ah = { class: "layers-panel__bulk-actions" }, uh = { class: "layers-panel__header-controls" }, ch = { class: "layers-panel__label" }, dh = { class: "layers-panel__label-row" }, fh = ["checked", "onChange"], ph = { class: "layers-panel__title-block" }, mh = { class: "layers-panel__name" }, vh = { class: "layers-panel__meta text-slate-500" }, gh = ["onClick"], yh = { class: "inline-flex items-center justify-center w-[18px] h-[18px] text-slate-500 transition-colors duration-200 hover:text-blue-700" }, hh = {
|
|
@@ -10974,7 +10980,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
10974
10980
|
isTemporary: !1,
|
|
10975
10981
|
owner: null,
|
|
10976
10982
|
visible: H.visible !== !1
|
|
10977
|
-
})),
|
|
10983
|
+
})), D = a.value.map((H) => ({
|
|
10978
10984
|
id: H.id,
|
|
10979
10985
|
name: H.title,
|
|
10980
10986
|
visible: r.value[H.id] ?? !0,
|
|
@@ -10990,28 +10996,28 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
10990
10996
|
count: null,
|
|
10991
10997
|
holder: null
|
|
10992
10998
|
}));
|
|
10993
|
-
return [...S, ...
|
|
10999
|
+
return [...S, ...D];
|
|
10994
11000
|
}), g = O(() => c.value.length), u = O(() => c.value.filter((S) => L(S.id)).length), m = O(
|
|
10995
11001
|
() => g.value > 0 && u.value === g.value
|
|
10996
11002
|
), y = O(() => a.value.length > 0), w = t;
|
|
10997
11003
|
function x() {
|
|
10998
11004
|
var S;
|
|
10999
|
-
for (let
|
|
11000
|
-
const H = n.layers[
|
|
11005
|
+
for (let D = 0; D < n.layers.length; D++) {
|
|
11006
|
+
const H = n.layers[D], J = _(H);
|
|
11001
11007
|
if (!J)
|
|
11002
11008
|
continue;
|
|
11003
|
-
const Q = Re(H.id, J),
|
|
11004
|
-
r.value[H.id] =
|
|
11009
|
+
const Q = Re(H.id, J), oe = H.visible !== !1;
|
|
11010
|
+
r.value[H.id] = oe, oe || (S = Q == null ? void 0 : Q.setVisible) == null || S.call(Q, !1);
|
|
11005
11011
|
}
|
|
11006
11012
|
}
|
|
11007
11013
|
function _(S) {
|
|
11008
|
-
const
|
|
11009
|
-
if (!
|
|
11014
|
+
const D = S.id;
|
|
11015
|
+
if (!D) return null;
|
|
11010
11016
|
const H = (S.type || S.service_type || S.service || "").toString().toLowerCase(), J = S.service_url || S.url || null;
|
|
11011
11017
|
if (!!J && (H === "tms" || H === "wmts" || H === "wms" || H === "ogc")) {
|
|
11012
11018
|
const ue = E(J);
|
|
11013
11019
|
return ue ? {
|
|
11014
|
-
sourceId:
|
|
11020
|
+
sourceId: D,
|
|
11015
11021
|
source: {
|
|
11016
11022
|
type: "raster",
|
|
11017
11023
|
tiles: [ue],
|
|
@@ -11022,18 +11028,18 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
11022
11028
|
scheme: S.scheme || "xyz"
|
|
11023
11029
|
},
|
|
11024
11030
|
layer: {
|
|
11025
|
-
id:
|
|
11031
|
+
id: D,
|
|
11026
11032
|
type: "raster",
|
|
11027
|
-
source:
|
|
11033
|
+
source: D
|
|
11028
11034
|
},
|
|
11029
11035
|
card: S.card,
|
|
11030
11036
|
popup: S.popup
|
|
11031
11037
|
} : null;
|
|
11032
11038
|
}
|
|
11033
11039
|
if (H === "cartocss") {
|
|
11034
|
-
const ue = S.url ? E(S.url) : `${location.origin}/api/gis-rtile/${
|
|
11040
|
+
const ue = S.url ? E(S.url) : `${location.origin}/api/gis-rtile/${D}/{z}/{x}/{y}.png`;
|
|
11035
11041
|
return ue ? {
|
|
11036
|
-
sourceId:
|
|
11042
|
+
sourceId: D,
|
|
11037
11043
|
source: {
|
|
11038
11044
|
type: "raster",
|
|
11039
11045
|
tiles: [ue],
|
|
@@ -11042,27 +11048,27 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
11042
11048
|
maxzoom: S.maxzoom ?? 22
|
|
11043
11049
|
},
|
|
11044
11050
|
layer: {
|
|
11045
|
-
id:
|
|
11051
|
+
id: D,
|
|
11046
11052
|
type: "raster",
|
|
11047
|
-
source:
|
|
11053
|
+
source: D
|
|
11048
11054
|
},
|
|
11049
11055
|
card: S.card,
|
|
11050
11056
|
popup: S.popup
|
|
11051
11057
|
} : null;
|
|
11052
11058
|
}
|
|
11053
|
-
const
|
|
11059
|
+
const oe = `${location.origin}/api/vtile/${D}/ua/{z}/{x}/{y}.vmt`;
|
|
11054
11060
|
return {
|
|
11055
|
-
sourceId:
|
|
11061
|
+
sourceId: D,
|
|
11056
11062
|
source: {
|
|
11057
11063
|
type: "vector",
|
|
11058
|
-
tiles: [
|
|
11064
|
+
tiles: [oe],
|
|
11059
11065
|
minZoom: 4,
|
|
11060
11066
|
maxZoom: 14
|
|
11061
11067
|
},
|
|
11062
11068
|
layer: {
|
|
11063
|
-
id:
|
|
11064
|
-
source:
|
|
11065
|
-
"source-layer":
|
|
11069
|
+
id: D,
|
|
11070
|
+
source: D,
|
|
11071
|
+
"source-layer": D,
|
|
11066
11072
|
style: S.style
|
|
11067
11073
|
},
|
|
11068
11074
|
card: S.card,
|
|
@@ -11073,16 +11079,16 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
11073
11079
|
return S ? /^https?:\/\//i.test(S) ? S : S.startsWith("//") ? `${window.location.protocol}${S}` : S.startsWith("/") ? `${location.origin}${S}` : `${location.origin}/${S}` : null;
|
|
11074
11080
|
}
|
|
11075
11081
|
function L(S) {
|
|
11076
|
-
const
|
|
11077
|
-
return
|
|
11082
|
+
const D = r.value[S];
|
|
11083
|
+
return D ?? !0;
|
|
11078
11084
|
}
|
|
11079
11085
|
function I(S) {
|
|
11080
11086
|
var J, Q;
|
|
11081
11087
|
if (!(S != null && S.id)) return null;
|
|
11082
|
-
const
|
|
11083
|
-
return !
|
|
11088
|
+
const D = (J = S.title) == null ? void 0 : J.trim(), H = (Q = S.url) == null ? void 0 : Q.trim();
|
|
11089
|
+
return !D || !H ? null : {
|
|
11084
11090
|
id: S.id,
|
|
11085
|
-
title:
|
|
11091
|
+
title: D,
|
|
11086
11092
|
url: H,
|
|
11087
11093
|
tileSize: S.tileSize,
|
|
11088
11094
|
minzoom: S.minzoom,
|
|
@@ -11092,10 +11098,10 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
11092
11098
|
}
|
|
11093
11099
|
function A(S) {
|
|
11094
11100
|
if (!S) return;
|
|
11095
|
-
const
|
|
11101
|
+
const D = S.owner;
|
|
11096
11102
|
if (S.action === "clear") {
|
|
11097
|
-
const J = a.value.filter((Q) => !
|
|
11098
|
-
v(
|
|
11103
|
+
const J = a.value.filter((Q) => !D || Q.owner === D).map((Q) => Q.id);
|
|
11104
|
+
v(D), J.forEach((Q) => {
|
|
11099
11105
|
Q in r.value && delete r.value[Q];
|
|
11100
11106
|
});
|
|
11101
11107
|
return;
|
|
@@ -11103,10 +11109,10 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
11103
11109
|
const H = I(S.spec);
|
|
11104
11110
|
if (H) {
|
|
11105
11111
|
if (S.action === "activate") {
|
|
11106
|
-
f(H, S.context || {},
|
|
11112
|
+
f(H, S.context || {}, D), r.value[H.id] = !0;
|
|
11107
11113
|
return;
|
|
11108
11114
|
}
|
|
11109
|
-
S.action === "deactivate" && (p(H.id,
|
|
11115
|
+
S.action === "deactivate" && (p(H.id, D), delete r.value[H.id]);
|
|
11110
11116
|
}
|
|
11111
11117
|
}
|
|
11112
11118
|
function k(S) {
|
|
@@ -11114,8 +11120,8 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
11114
11120
|
}
|
|
11115
11121
|
ee(
|
|
11116
11122
|
() => a.value.map((S) => S.id),
|
|
11117
|
-
(S,
|
|
11118
|
-
const H = new Set(
|
|
11123
|
+
(S, D) => {
|
|
11124
|
+
const H = new Set(D || []), J = new Set(S);
|
|
11119
11125
|
S.forEach((Q) => {
|
|
11120
11126
|
Q in r.value || (r.value[Q] = !0);
|
|
11121
11127
|
}), H.forEach((Q) => {
|
|
@@ -11124,10 +11130,10 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
11124
11130
|
},
|
|
11125
11131
|
{ immediate: !0 }
|
|
11126
11132
|
);
|
|
11127
|
-
function C(S,
|
|
11128
|
-
var J, Q,
|
|
11133
|
+
function C(S, D) {
|
|
11134
|
+
var J, Q, oe;
|
|
11129
11135
|
if (S.isTemporary) {
|
|
11130
|
-
if (!
|
|
11136
|
+
if (!D) {
|
|
11131
11137
|
p(S.id, S.owner || void 0), delete r.value[S.id];
|
|
11132
11138
|
return;
|
|
11133
11139
|
}
|
|
@@ -11136,21 +11142,21 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
11136
11142
|
(Q = ue == null ? void 0 : ue.setVisible) == null || Q.call(ue, !0);
|
|
11137
11143
|
return;
|
|
11138
11144
|
}
|
|
11139
|
-
r.value[S.id] =
|
|
11145
|
+
r.value[S.id] = D;
|
|
11140
11146
|
const H = Re(S.id);
|
|
11141
|
-
(
|
|
11147
|
+
(oe = H == null ? void 0 : H.setVisible) == null || oe.call(H, D);
|
|
11142
11148
|
}
|
|
11143
|
-
function N(S,
|
|
11144
|
-
const H =
|
|
11149
|
+
function N(S, D) {
|
|
11150
|
+
const H = D.target;
|
|
11145
11151
|
C(S, H.checked);
|
|
11146
11152
|
}
|
|
11147
11153
|
function B(S) {
|
|
11148
|
-
c.value.forEach((
|
|
11154
|
+
c.value.forEach((D) => C(D, S));
|
|
11149
11155
|
}
|
|
11150
|
-
function
|
|
11156
|
+
function ne() {
|
|
11151
11157
|
B(!m.value);
|
|
11152
11158
|
}
|
|
11153
|
-
function
|
|
11159
|
+
function le(S) {
|
|
11154
11160
|
return S.isTemporary ? [
|
|
11155
11161
|
{ label: "Назва", value: S.name ?? null },
|
|
11156
11162
|
{ label: "Тип", value: "Тимчасовий шар" },
|
|
@@ -11163,11 +11169,11 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
11163
11169
|
];
|
|
11164
11170
|
}
|
|
11165
11171
|
function ae(S) {
|
|
11166
|
-
const
|
|
11167
|
-
return
|
|
11172
|
+
const D = S.trim();
|
|
11173
|
+
return D ? !!(/^#[\da-fA-F]{3,8}$/.test(D) || /^rgb\s*\(/.test(D) || /^rgba\s*\(/.test(D) || /^hsl\s*\(/.test(D) || /^hsla\s*\(/.test(D) || /^[a-zA-Z]+$/.test(D) && D.length < 25) : !1;
|
|
11168
11174
|
}
|
|
11169
11175
|
function Z(S) {
|
|
11170
|
-
var
|
|
11176
|
+
var D, H, J, Q, oe, ue;
|
|
11171
11177
|
if (!S) return null;
|
|
11172
11178
|
if (typeof S == "string") {
|
|
11173
11179
|
const he = S.trim();
|
|
@@ -11183,44 +11189,44 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
11183
11189
|
if (typeof S == "object") {
|
|
11184
11190
|
const he = S;
|
|
11185
11191
|
return Z(
|
|
11186
|
-
he.color ?? he.fill ?? he.stroke ?? he.lineColor ?? he.fillColor ?? ((
|
|
11192
|
+
he.color ?? he.fill ?? he.stroke ?? he.lineColor ?? he.fillColor ?? ((D = he.paint) == null ? void 0 : D["fill-color"]) ?? ((H = he.paint) == null ? void 0 : H["line-color"]) ?? ((J = he.paint) == null ? void 0 : J["circle-color"]) ?? ((Q = he.paint) == null ? void 0 : Q.color) ?? ((oe = he.paint) == null ? void 0 : oe.lineColor) ?? ((ue = he.paint) == null ? void 0 : ue.fillColor) ?? he.paint ?? he.value
|
|
11187
11193
|
);
|
|
11188
11194
|
}
|
|
11189
11195
|
return null;
|
|
11190
11196
|
}
|
|
11191
|
-
function
|
|
11192
|
-
const
|
|
11197
|
+
function se(S) {
|
|
11198
|
+
const D = Array.isArray(S == null ? void 0 : S.legend) ? S.legend[0] : S == null ? void 0 : S.legend, H = Z(D);
|
|
11193
11199
|
return H || Z(S == null ? void 0 : S.style) || bh;
|
|
11194
11200
|
}
|
|
11195
11201
|
function R(S) {
|
|
11196
11202
|
return {
|
|
11197
|
-
"--layers-panel-checkbox-color":
|
|
11203
|
+
"--layers-panel-checkbox-color": se(S)
|
|
11198
11204
|
};
|
|
11199
11205
|
}
|
|
11200
11206
|
function P() {
|
|
11201
11207
|
if (!a.value.length) return;
|
|
11202
|
-
const S = a.value.map((
|
|
11203
|
-
v(), S.forEach((
|
|
11208
|
+
const S = a.value.map((D) => D.id);
|
|
11209
|
+
v(), S.forEach((D) => delete r.value[D]);
|
|
11204
11210
|
}
|
|
11205
11211
|
function j() {
|
|
11206
11212
|
l.value = !l.value;
|
|
11207
11213
|
}
|
|
11208
|
-
function
|
|
11214
|
+
function V() {
|
|
11209
11215
|
i.value = window.innerWidth <= 768;
|
|
11210
11216
|
}
|
|
11211
11217
|
return Ne(() => {
|
|
11212
|
-
x(), window.addEventListener(_r, k),
|
|
11218
|
+
x(), window.addEventListener(_r, k), V(), i.value && (l.value = !1), window.addEventListener("resize", V);
|
|
11213
11219
|
}), ee(
|
|
11214
11220
|
() => {
|
|
11215
11221
|
var S;
|
|
11216
11222
|
return ((S = n.layers) == null ? void 0 : S.length) ?? 0;
|
|
11217
11223
|
},
|
|
11218
|
-
(S,
|
|
11219
|
-
S > 0 &&
|
|
11224
|
+
(S, D) => {
|
|
11225
|
+
S > 0 && D === 0 && x();
|
|
11220
11226
|
}
|
|
11221
11227
|
), ze(() => {
|
|
11222
|
-
window.removeEventListener(_r, k), window.removeEventListener("resize",
|
|
11223
|
-
}), (S,
|
|
11228
|
+
window.removeEventListener(_r, k), window.removeEventListener("resize", V);
|
|
11229
|
+
}), (S, D) => {
|
|
11224
11230
|
var H, J;
|
|
11225
11231
|
return d(), h("div", eh, [
|
|
11226
11232
|
o("div", th, [
|
|
@@ -11239,7 +11245,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
11239
11245
|
key: 0,
|
|
11240
11246
|
type: "button",
|
|
11241
11247
|
class: "layers-panel__header-link",
|
|
11242
|
-
onClick:
|
|
11248
|
+
onClick: ne
|
|
11243
11249
|
}, U(m.value ? "Вимкнути всі" : "Увімкнути всі"), 1)) : X("", !0)
|
|
11244
11250
|
]),
|
|
11245
11251
|
o("div", uh, [
|
|
@@ -11257,7 +11263,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
11257
11263
|
fill: "none",
|
|
11258
11264
|
xmlns: "http://www.w3.org/2000/svg",
|
|
11259
11265
|
class: Le({ "layers-panel__toggle-icon--rotated": l.value })
|
|
11260
|
-
}, [...
|
|
11266
|
+
}, [...D[0] || (D[0] = [
|
|
11261
11267
|
o("path", {
|
|
11262
11268
|
d: "M6 9L12 15L18 9",
|
|
11263
11269
|
stroke: "#000000",
|
|
@@ -11280,7 +11286,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
11280
11286
|
class: Le(["layers-panel__content", { "layers-panel__content--collapsed": !l.value }])
|
|
11281
11287
|
}, [
|
|
11282
11288
|
(d(!0), h(te, null, ge(c.value, (Q) => {
|
|
11283
|
-
var
|
|
11289
|
+
var oe;
|
|
11284
11290
|
return d(), h("div", {
|
|
11285
11291
|
key: Q.id,
|
|
11286
11292
|
class: "layers-panel__item"
|
|
@@ -11299,7 +11305,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
11299
11305
|
]),
|
|
11300
11306
|
o("div", vh, [
|
|
11301
11307
|
L(Q.id) && !Q.isTemporary ? (d(), h(te, { key: 0 }, [
|
|
11302
|
-
|
|
11308
|
+
ie(jl, {
|
|
11303
11309
|
"layer-id": Q.id,
|
|
11304
11310
|
class: "flex"
|
|
11305
11311
|
}, {
|
|
@@ -11309,24 +11315,24 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
11309
11315
|
onClick: Je(ue, ["prevent", "stop"])
|
|
11310
11316
|
}, [
|
|
11311
11317
|
o("div", yh, [
|
|
11312
|
-
|
|
11318
|
+
ie(ce(Ts))
|
|
11313
11319
|
])
|
|
11314
11320
|
], 8, gh)
|
|
11315
11321
|
]),
|
|
11316
11322
|
_: 1
|
|
11317
11323
|
}, 8, ["layer-id"]),
|
|
11318
|
-
|
|
11324
|
+
ie(Tn, {
|
|
11319
11325
|
count: Array.isArray(Q.filters) ? Q.filters.length : 0,
|
|
11320
11326
|
layer: Q
|
|
11321
11327
|
}, null, 8, ["count", "layer"])
|
|
11322
11328
|
], 64)) : X("", !0),
|
|
11323
|
-
|
|
11324
|
-
items:
|
|
11329
|
+
ie(ko, {
|
|
11330
|
+
items: le(Q)
|
|
11325
11331
|
}, null, 8, ["items"])
|
|
11326
11332
|
])
|
|
11327
11333
|
])
|
|
11328
11334
|
]),
|
|
11329
|
-
(
|
|
11335
|
+
(oe = Q.actions) != null && oe.length ? (d(), h("div", hh, [
|
|
11330
11336
|
(d(!0), h(te, null, ge(Q.actions, (ue) => (d(), h("button", {
|
|
11331
11337
|
key: ue.widget || ue.id || ue.icon,
|
|
11332
11338
|
type: "button",
|
|
@@ -11341,7 +11347,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
11341
11347
|
]);
|
|
11342
11348
|
};
|
|
11343
11349
|
}
|
|
11344
|
-
}), kr = /* @__PURE__ */ Se(wh, [["__scopeId", "data-v-
|
|
11350
|
+
}), kr = /* @__PURE__ */ Se(wh, [["__scopeId", "data-v-9b1b17e7"]]), _h = { class: "catalog-tab__search relative mt-[10px]" }, kh = {
|
|
11345
11351
|
width: "24",
|
|
11346
11352
|
height: "24",
|
|
11347
11353
|
viewBox: "0 0 24 24",
|
|
@@ -11474,7 +11480,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
11474
11480
|
]),
|
|
11475
11481
|
o("div", Eh, U(x.layers.length), 1)
|
|
11476
11482
|
], 8, Ah),
|
|
11477
|
-
|
|
11483
|
+
ie(so, { name: "out-in" }, {
|
|
11478
11484
|
default: je(() => [
|
|
11479
11485
|
Ue(o("div", null, [
|
|
11480
11486
|
(d(!0), h(te, null, ge(x.layers, (_) => (d(), h("div", {
|
|
@@ -11517,7 +11523,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
11517
11523
|
onFocus: (E) => c(E, _.id),
|
|
11518
11524
|
onBlur: g
|
|
11519
11525
|
}, null, 8, ["count", "layer", "disabled", "onMouseenter", "onFocus"])) : X("", !0),
|
|
11520
|
-
|
|
11526
|
+
ie(ko, {
|
|
11521
11527
|
items: u(_)
|
|
11522
11528
|
}, null, 8, ["items"])
|
|
11523
11529
|
])
|
|
@@ -11542,7 +11548,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
11542
11548
|
]))
|
|
11543
11549
|
], 512));
|
|
11544
11550
|
}
|
|
11545
|
-
}), zh = /* @__PURE__ */ Se(jh, [["__scopeId", "data-v-
|
|
11551
|
+
}), zh = /* @__PURE__ */ Se(jh, [["__scopeId", "data-v-f68d8bda"]]), Nh = { class: "flex flex-col gap-0" }, Oh = { class: "text-xs text-slate-600 font-semibold" }, Rh = /* @__PURE__ */ ve({
|
|
11546
11552
|
__name: "MapLayerPopover",
|
|
11547
11553
|
props: {
|
|
11548
11554
|
items: {}
|
|
@@ -11656,7 +11662,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
11656
11662
|
]))
|
|
11657
11663
|
], 512));
|
|
11658
11664
|
}
|
|
11659
|
-
}), Ph = { class: "selected-tab" },
|
|
11665
|
+
}), Ph = { class: "selected-tab" }, Dh = { class: "selected-tab__actions" }, Vh = {
|
|
11660
11666
|
key: 0,
|
|
11661
11667
|
class: "selected-tab__scroll"
|
|
11662
11668
|
}, Bh = ["onDragstart", "onDragover", "onDrop"], Uh = { class: "selected-tab__item-header" }, qh = { class: "selected-tab__item-info" }, Hh = ["checked", "onChange"], Yh = { class: "selected-tab__item-name" }, Wh = { class: "selected-tab__item-controls" }, Zh = ["onClick"], Gh = { class: "selected-tab__menu-inner" }, Kh = /* @__PURE__ */ ve({
|
|
@@ -11669,37 +11675,37 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
11669
11675
|
setup(e, { emit: t }) {
|
|
11670
11676
|
const n = e, r = t, l = ft({}), i = M(null), s = M(null), a = /* @__PURE__ */ new Map(), f = ft({ top: 0, left: 0 }), p = M(null), v = ft({ top: 0, left: 0 }), c = M(null), g = /* @__PURE__ */ new Map(), u = ft({});
|
|
11671
11677
|
function m(j) {
|
|
11672
|
-
var
|
|
11673
|
-
for (const S of ((
|
|
11674
|
-
const
|
|
11675
|
-
if (
|
|
11678
|
+
var V;
|
|
11679
|
+
for (const S of ((V = n.catalog) == null ? void 0 : V.groups) ?? []) {
|
|
11680
|
+
const D = S.layers.find((H) => H.id === j);
|
|
11681
|
+
if (D) return D;
|
|
11676
11682
|
}
|
|
11677
11683
|
return null;
|
|
11678
11684
|
}
|
|
11679
11685
|
ee(() => n.selected, (j) => {
|
|
11680
|
-
j.forEach((
|
|
11681
|
-
l[
|
|
11686
|
+
j.forEach((V) => {
|
|
11687
|
+
l[V] == null && (l[V] = 100);
|
|
11682
11688
|
});
|
|
11683
11689
|
}, { immediate: !0 });
|
|
11684
11690
|
function y() {
|
|
11685
11691
|
if (!i.value) return;
|
|
11686
11692
|
const j = a.get(i.value);
|
|
11687
11693
|
if (!j) return;
|
|
11688
|
-
const
|
|
11689
|
-
f.top =
|
|
11694
|
+
const V = j.getBoundingClientRect();
|
|
11695
|
+
f.top = V.bottom + 8 + window.scrollY, f.left = V.left + window.scrollX;
|
|
11690
11696
|
}
|
|
11691
11697
|
ee(() => n.selected, (j) => {
|
|
11692
|
-
j.forEach((
|
|
11693
|
-
u[
|
|
11698
|
+
j.forEach((V) => {
|
|
11699
|
+
u[V] == null && (u[V] = !0);
|
|
11694
11700
|
});
|
|
11695
11701
|
}, { immediate: !0 });
|
|
11696
|
-
function w(j,
|
|
11697
|
-
u[j] =
|
|
11702
|
+
function w(j, V) {
|
|
11703
|
+
u[j] = V;
|
|
11698
11704
|
const S = Re(j);
|
|
11699
|
-
S && S.setVisible(
|
|
11705
|
+
S && S.setVisible(V);
|
|
11700
11706
|
}
|
|
11701
|
-
function x(j,
|
|
11702
|
-
|
|
11707
|
+
function x(j, V) {
|
|
11708
|
+
V ? g.set(j, V) : g.delete(j);
|
|
11703
11709
|
}
|
|
11704
11710
|
function _(j) {
|
|
11705
11711
|
p.value = p.value === j ? null : j, p.value && Ye(() => {
|
|
@@ -11709,26 +11715,26 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
11709
11715
|
});
|
|
11710
11716
|
}
|
|
11711
11717
|
function E(j) {
|
|
11712
|
-
const
|
|
11713
|
-
if (!
|
|
11714
|
-
const S =
|
|
11718
|
+
const V = g.get(j);
|
|
11719
|
+
if (!V || !c.value) return;
|
|
11720
|
+
const S = V.getBoundingClientRect(), D = 12, H = 6, J = window.scrollX + D, Q = window.scrollX + window.innerWidth - D, oe = window.scrollY + D, ue = window.scrollY + window.innerHeight - D, he = c.value.offsetWidth || 190, ye = c.value.offsetHeight || 0;
|
|
11715
11721
|
let Te = S.bottom + window.scrollY + H, W = S.left + window.scrollX;
|
|
11716
|
-
W + he > Q && (W = S.right + window.scrollX - he, W < J && (W = J)), W < J && (W = J), Te + ye > ue && (Te = S.top + window.scrollY - ye - H, Te <
|
|
11722
|
+
W + he > Q && (W = S.right + window.scrollX - he, W < J && (W = J)), W < J && (W = J), Te + ye > ue && (Te = S.top + window.scrollY - ye - H, Te < oe && (Te = Math.max(oe, ue - ye))), Te < oe && (Te = oe), Te + ye > ue && (Te = Math.max(oe, ue - ye)), v.top = Te, v.left = W;
|
|
11717
11723
|
}
|
|
11718
11724
|
function L(j) {
|
|
11719
|
-
const
|
|
11720
|
-
|
|
11725
|
+
const V = Re(j);
|
|
11726
|
+
V && V.remove(), r("remove", j), p.value = null;
|
|
11721
11727
|
}
|
|
11722
11728
|
function I(j) {
|
|
11723
|
-
const
|
|
11729
|
+
const V = j.target, S = i.value, D = p.value;
|
|
11724
11730
|
if (S) {
|
|
11725
11731
|
const H = s.value, J = a.get(S);
|
|
11726
|
-
if (H && H.contains(
|
|
11732
|
+
if (H && H.contains(V) || J && J.contains(V)) return;
|
|
11727
11733
|
i.value = null;
|
|
11728
11734
|
}
|
|
11729
|
-
if (
|
|
11730
|
-
const H = c.value, J = g.get(
|
|
11731
|
-
if (H && H.contains(
|
|
11735
|
+
if (D) {
|
|
11736
|
+
const H = c.value, J = g.get(D);
|
|
11737
|
+
if (H && H.contains(V) || J && J.contains(V)) return;
|
|
11732
11738
|
p.value = null;
|
|
11733
11739
|
}
|
|
11734
11740
|
}
|
|
@@ -11744,12 +11750,12 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
11744
11750
|
function C(j) {
|
|
11745
11751
|
var H, J, Q;
|
|
11746
11752
|
if (!j) return;
|
|
11747
|
-
const
|
|
11748
|
-
if (!
|
|
11753
|
+
const V = Re(j), S = m(j);
|
|
11754
|
+
if (!V && !S) return;
|
|
11749
11755
|
if (((H = S == null ? void 0 : S.extent) == null ? void 0 : H.length) === 4 && ((J = k.value) != null && J.fitBounds)) {
|
|
11750
|
-
const
|
|
11751
|
-
if (
|
|
11752
|
-
const [ue, he, ye, Te] =
|
|
11756
|
+
const oe = S.extent.map((ue) => Number(ue));
|
|
11757
|
+
if (oe.every((ue) => Number.isFinite(ue))) {
|
|
11758
|
+
const [ue, he, ye, Te] = oe;
|
|
11753
11759
|
k.value.fitBounds([
|
|
11754
11760
|
[ue, he],
|
|
11755
11761
|
[ye, Te]
|
|
@@ -11757,53 +11763,53 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
11757
11763
|
return;
|
|
11758
11764
|
}
|
|
11759
11765
|
}
|
|
11760
|
-
(Q =
|
|
11766
|
+
(Q = V == null ? void 0 : V.getSource) != null && Q.call(V) && (p.value = null);
|
|
11761
11767
|
}
|
|
11762
11768
|
const N = M(null), B = M(null);
|
|
11763
|
-
function
|
|
11764
|
-
N.value =
|
|
11769
|
+
function ne(j, V) {
|
|
11770
|
+
N.value = V, B.value = V, j.dataTransfer && (j.dataTransfer.effectAllowed = "move", j.dataTransfer.setData("text/plain", String(V)));
|
|
11765
11771
|
}
|
|
11766
|
-
function
|
|
11772
|
+
function le(j) {
|
|
11767
11773
|
B.value = j;
|
|
11768
11774
|
}
|
|
11769
|
-
function ae(j,
|
|
11770
|
-
if (j.preventDefault(), N.value === null || N.value ===
|
|
11775
|
+
function ae(j, V) {
|
|
11776
|
+
if (j.preventDefault(), N.value === null || N.value === V) {
|
|
11771
11777
|
N.value = null, B.value = null;
|
|
11772
11778
|
return;
|
|
11773
11779
|
}
|
|
11774
|
-
const S = [...n.selected], [
|
|
11775
|
-
S.splice(
|
|
11780
|
+
const S = [...n.selected], [D] = S.splice(N.value, 1);
|
|
11781
|
+
S.splice(V, 0, D), r("reorder", S), N.value = null, B.value = null;
|
|
11776
11782
|
}
|
|
11777
11783
|
function Z() {
|
|
11778
11784
|
N.value = null, B.value = null;
|
|
11779
11785
|
}
|
|
11780
|
-
function
|
|
11786
|
+
function se(j) {
|
|
11781
11787
|
return j == null || j === "" ? null : String(j);
|
|
11782
11788
|
}
|
|
11783
|
-
function R(j,
|
|
11784
|
-
return !Array.isArray(j) || j.length === 0 ? null : `${j.length} ${
|
|
11789
|
+
function R(j, V) {
|
|
11790
|
+
return !Array.isArray(j) || j.length === 0 ? null : `${j.length} ${V}`;
|
|
11785
11791
|
}
|
|
11786
11792
|
function P(j) {
|
|
11787
|
-
var Te, W,
|
|
11788
|
-
const
|
|
11789
|
-
if (!
|
|
11790
|
-
const
|
|
11793
|
+
var Te, W, re, b, F, K;
|
|
11794
|
+
const V = Re(j), S = m(j);
|
|
11795
|
+
if (!V && !S) return [];
|
|
11796
|
+
const D = (S == null ? void 0 : S.name) || ((W = (Te = V == null ? void 0 : V.opts) == null ? void 0 : Te.layer) == null ? void 0 : W.name) || null, H = (S == null ? void 0 : S.service) || ((re = V == null ? void 0 : V.opts) == null ? void 0 : re.service) || null, J = (b = V == null ? void 0 : V.getSource) == null ? void 0 : b.call(V), Q = J && "tiles" in J ? (F = J.tiles) == null ? void 0 : F[0] : (S == null ? void 0 : S.url) || null, oe = (S == null ? void 0 : S.source_path) || null, ue = (V == null ? void 0 : V.popup) || (S == null ? void 0 : S.popup), he = (V == null ? void 0 : V.card) || (S == null ? void 0 : S.card), ye = (S == null ? void 0 : S.filters) || ((K = V == null ? void 0 : V.opts) == null ? void 0 : K.filters);
|
|
11791
11797
|
return [
|
|
11792
|
-
{ label: "Назва", value:
|
|
11793
|
-
{ label: "Сервіс", value:
|
|
11794
|
-
{ label: "Посилання", value:
|
|
11795
|
-
{ label: "Джерело", value:
|
|
11798
|
+
{ label: "Назва", value: se(D) },
|
|
11799
|
+
{ label: "Сервіс", value: se(H) },
|
|
11800
|
+
{ label: "Посилання", value: se(Q), breakLine: !0 },
|
|
11801
|
+
{ label: "Джерело", value: se(oe), breakLine: !0 },
|
|
11796
11802
|
{ label: "Popup", value: R(ue, "полів") },
|
|
11797
11803
|
{ label: "Картка", value: R(he, "полів") },
|
|
11798
11804
|
{ label: "Фільтри", value: R(ye, "фільтрів") }
|
|
11799
11805
|
];
|
|
11800
11806
|
}
|
|
11801
|
-
return (j,
|
|
11802
|
-
o("div",
|
|
11807
|
+
return (j, V) => (d(), h("div", Ph, [
|
|
11808
|
+
o("div", Dh, [
|
|
11803
11809
|
o("button", {
|
|
11804
11810
|
class: "selected-tab__add",
|
|
11805
|
-
onClick:
|
|
11806
|
-
}, [...
|
|
11811
|
+
onClick: V[0] || (V[0] = (S) => r("select-layer"))
|
|
11812
|
+
}, [...V[3] || (V[3] = [
|
|
11807
11813
|
o("svg", {
|
|
11808
11814
|
xmlns: "http://www.w3.org/2000/svg",
|
|
11809
11815
|
width: "16",
|
|
@@ -11822,25 +11828,25 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
11822
11828
|
o("span", null, "Вибрати шар", -1)
|
|
11823
11829
|
])])
|
|
11824
11830
|
]),
|
|
11825
|
-
e.selected.length ? (d(), h("div",
|
|
11831
|
+
e.selected.length ? (d(), h("div", Vh, [
|
|
11826
11832
|
o("div", null, [
|
|
11827
|
-
(d(!0), h(te, null, ge(e.selected, (S,
|
|
11833
|
+
(d(!0), h(te, null, ge(e.selected, (S, D) => {
|
|
11828
11834
|
var H;
|
|
11829
11835
|
return d(), h("div", {
|
|
11830
11836
|
key: S,
|
|
11831
11837
|
class: Le(["selected-tab__item", {
|
|
11832
|
-
"selected-tab__item--dragging": N.value ===
|
|
11833
|
-
"selected-tab__item--over": B.value ===
|
|
11838
|
+
"selected-tab__item--dragging": N.value === D,
|
|
11839
|
+
"selected-tab__item--over": B.value === D
|
|
11834
11840
|
}]),
|
|
11835
11841
|
draggable: "true",
|
|
11836
|
-
onDragstart: (J) =>
|
|
11837
|
-
onDragover: Je((J) =>
|
|
11838
|
-
onDrop: (J) => ae(J,
|
|
11842
|
+
onDragstart: (J) => ne(J, D),
|
|
11843
|
+
onDragover: Je((J) => le(D), ["prevent"]),
|
|
11844
|
+
onDrop: (J) => ae(J, D),
|
|
11839
11845
|
onDragend: Z
|
|
11840
11846
|
}, [
|
|
11841
11847
|
o("div", Uh, [
|
|
11842
11848
|
o("div", qh, [
|
|
11843
|
-
|
|
11849
|
+
V[4] || (V[4] = o("span", { class: "selected-tab__item-handle" }, "☰", -1)),
|
|
11844
11850
|
o("input", {
|
|
11845
11851
|
type: "checkbox",
|
|
11846
11852
|
class: "selected-tab__item-checkbox",
|
|
@@ -11850,14 +11856,14 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
11850
11856
|
o("span", Yh, U(((H = m(S)) == null ? void 0 : H.name) || "Шар"), 1)
|
|
11851
11857
|
]),
|
|
11852
11858
|
o("div", Wh, [
|
|
11853
|
-
|
|
11859
|
+
ie(jl, { "layer-id": S }, null, 8, ["layer-id"]),
|
|
11854
11860
|
o("button", {
|
|
11855
11861
|
type: "button",
|
|
11856
11862
|
class: "selected-tab__item-menu",
|
|
11857
11863
|
ref_for: !0,
|
|
11858
11864
|
ref: (J) => x(S, J),
|
|
11859
11865
|
onClick: Je((J) => _(S), ["stop"])
|
|
11860
|
-
}, [...
|
|
11866
|
+
}, [...V[5] || (V[5] = [
|
|
11861
11867
|
o("svg", {
|
|
11862
11868
|
xmlns: "http://www.w3.org/2000/svg",
|
|
11863
11869
|
width: "18",
|
|
@@ -11904,8 +11910,8 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
11904
11910
|
o("div", Gh, [
|
|
11905
11911
|
o("button", {
|
|
11906
11912
|
class: "selected-tab__menu-item",
|
|
11907
|
-
onClick:
|
|
11908
|
-
}, [...
|
|
11913
|
+
onClick: V[1] || (V[1] = (S) => C(p.value))
|
|
11914
|
+
}, [...V[6] || (V[6] = [
|
|
11909
11915
|
o("svg", {
|
|
11910
11916
|
xmlns: "http://www.w3.org/2000/svg",
|
|
11911
11917
|
width: "16",
|
|
@@ -11944,10 +11950,10 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
11944
11950
|
], -1),
|
|
11945
11951
|
Ae(" Збільшити до шару ", -1)
|
|
11946
11952
|
])]),
|
|
11947
|
-
|
|
11953
|
+
ie(Rh, {
|
|
11948
11954
|
items: P(p.value)
|
|
11949
11955
|
}, {
|
|
11950
|
-
default: je(() => [...
|
|
11956
|
+
default: je(() => [...V[7] || (V[7] = [
|
|
11951
11957
|
o("button", { class: "selected-tab__menu-item" }, [
|
|
11952
11958
|
o("svg", {
|
|
11953
11959
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -11974,11 +11980,11 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
11974
11980
|
])]),
|
|
11975
11981
|
_: 1
|
|
11976
11982
|
}, 8, ["items"]),
|
|
11977
|
-
|
|
11983
|
+
V[9] || (V[9] = o("hr", null, null, -1)),
|
|
11978
11984
|
o("button", {
|
|
11979
11985
|
class: "selected-tab__menu-item selected-tab__menu-item--danger",
|
|
11980
|
-
onClick:
|
|
11981
|
-
}, [...
|
|
11986
|
+
onClick: V[2] || (V[2] = (S) => L(p.value))
|
|
11987
|
+
}, [...V[8] || (V[8] = [
|
|
11982
11988
|
o("svg", {
|
|
11983
11989
|
xmlns: "http://www.w3.org/2000/svg",
|
|
11984
11990
|
width: "16",
|
|
@@ -12014,7 +12020,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
12014
12020
|
]))
|
|
12015
12021
|
]));
|
|
12016
12022
|
}
|
|
12017
|
-
}), Xh = /* @__PURE__ */ Se(Kh, [["__scopeId", "data-v-
|
|
12023
|
+
}), Xh = /* @__PURE__ */ Se(Kh, [["__scopeId", "data-v-39b6f281"]]), Qh = { class: "filter-tab" }, Jh = {
|
|
12018
12024
|
key: 0,
|
|
12019
12025
|
class: "filter-tab__header"
|
|
12020
12026
|
}, e1 = { class: "filter-tab__title" }, t1 = {
|
|
@@ -12046,7 +12052,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
12046
12052
|
])) : X("", !0),
|
|
12047
12053
|
e.layer && s.value ? (d(), h("div", t1, [
|
|
12048
12054
|
o("div", n1, [
|
|
12049
|
-
|
|
12055
|
+
ie(ce(n), {
|
|
12050
12056
|
view: "vertical",
|
|
12051
12057
|
schema: i.value,
|
|
12052
12058
|
value: e.value,
|
|
@@ -12061,7 +12067,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
12061
12067
|
])]))
|
|
12062
12068
|
]));
|
|
12063
12069
|
}
|
|
12064
|
-
}), l1 = /* @__PURE__ */ Se(r1, [["__scopeId", "data-v-
|
|
12070
|
+
}), l1 = /* @__PURE__ */ Se(r1, [["__scopeId", "data-v-c6632fbd"]]), s1 = { class: "flex items-center justify-between mb-1" }, i1 = { class: "flex items-center gap-2" }, a1 = { class: "text-lg font-semibold text-gray-800" }, u1 = { key: 0 }, c1 = {
|
|
12065
12071
|
key: 1,
|
|
12066
12072
|
class: "block text-sm font-normal text-gray-500"
|
|
12067
12073
|
}, d1 = { class: "flex items-center gap-2" }, f1 = { class: "flex mb-4 border-b border-gray-200" }, p1 = { class: "map-catalog-widget__body" }, m1 = /* @__PURE__ */ ve({
|
|
@@ -12086,8 +12092,8 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
12086
12092
|
function y(R, P) {
|
|
12087
12093
|
const j = Re(R);
|
|
12088
12094
|
if (p[R] = { ...P }, !(j != null && j.setFilter)) return;
|
|
12089
|
-
const
|
|
12090
|
-
j.setFilter(
|
|
12095
|
+
const V = Object.entries(P).filter(([, S]) => S != null && S !== "").map(([S, D]) => `${S}=${D}`);
|
|
12096
|
+
j.setFilter(V.join("|"));
|
|
12091
12097
|
}
|
|
12092
12098
|
function w(R) {
|
|
12093
12099
|
const P = v.value;
|
|
@@ -12097,9 +12103,9 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
12097
12103
|
const P = R.url;
|
|
12098
12104
|
let j = null;
|
|
12099
12105
|
if (P && (j = P.startsWith("http") ? P : `${window.location.origin}${P}`), !j) return null;
|
|
12100
|
-
const
|
|
12101
|
-
return
|
|
12102
|
-
service:
|
|
12106
|
+
const V = (R.service || "").toString().toLowerCase(), S = R.count ?? null;
|
|
12107
|
+
return V && V !== "vtile" ? {
|
|
12108
|
+
service: V,
|
|
12103
12109
|
count: S,
|
|
12104
12110
|
source: {
|
|
12105
12111
|
type: "raster",
|
|
@@ -12109,7 +12115,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
12109
12115
|
maxzoom: 20
|
|
12110
12116
|
}
|
|
12111
12117
|
} : {
|
|
12112
|
-
service:
|
|
12118
|
+
service: V,
|
|
12113
12119
|
count: S,
|
|
12114
12120
|
source: {
|
|
12115
12121
|
type: "vector",
|
|
@@ -12124,13 +12130,13 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
12124
12130
|
}
|
|
12125
12131
|
function _(R, P, j) {
|
|
12126
12132
|
var H;
|
|
12127
|
-
const
|
|
12128
|
-
if (!
|
|
12129
|
-
const S = x(
|
|
12133
|
+
const V = j ?? u(R);
|
|
12134
|
+
if (!V) return;
|
|
12135
|
+
const S = x(V);
|
|
12130
12136
|
if (!S) return;
|
|
12131
|
-
const
|
|
12132
|
-
if (
|
|
12133
|
-
if (
|
|
12137
|
+
const D = Re(V.id, S, f);
|
|
12138
|
+
if (D)
|
|
12139
|
+
if (D.setVisible(P), P) {
|
|
12134
12140
|
if (!s.value.includes(R) && (s.value.push(R), (H = f.value) != null && H.getLayer(R)))
|
|
12135
12141
|
try {
|
|
12136
12142
|
f.value.moveLayer(R);
|
|
@@ -12152,15 +12158,15 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
12152
12158
|
if (!f.value) return;
|
|
12153
12159
|
const P = ((S = f.value.getStyle()) == null ? void 0 : S.layers) ?? [];
|
|
12154
12160
|
let j;
|
|
12155
|
-
const
|
|
12161
|
+
const V = (D) => P.filter((H) => {
|
|
12156
12162
|
var J, Q;
|
|
12157
|
-
return (H == null ? void 0 : H.source) ===
|
|
12163
|
+
return (H == null ? void 0 : H.source) === D || (H == null ? void 0 : H.id) === D || ((Q = (J = H == null ? void 0 : H.id) == null ? void 0 : J.startsWith) == null ? void 0 : Q.call(J, `${D}`));
|
|
12158
12164
|
}).map((H) => H.id);
|
|
12159
|
-
for (let
|
|
12160
|
-
const H = R[
|
|
12165
|
+
for (let D = R.length - 1; D >= 0; D -= 1) {
|
|
12166
|
+
const H = R[D], J = V(H);
|
|
12161
12167
|
J.length && (J.forEach((Q) => {
|
|
12162
|
-
var
|
|
12163
|
-
if ((
|
|
12168
|
+
var oe;
|
|
12169
|
+
if ((oe = f.value) != null && oe.getLayer(Q))
|
|
12164
12170
|
try {
|
|
12165
12171
|
f.value.moveLayer(Q, j);
|
|
12166
12172
|
} catch (ue) {
|
|
@@ -12179,25 +12185,25 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
12179
12185
|
const k = O(() => v.value ? u(v.value) : null), C = O(() => {
|
|
12180
12186
|
const R = v.value;
|
|
12181
12187
|
return R ? p[R] ?? {} : {};
|
|
12182
|
-
}), N = O(() => i.value.groups.reduce((R, P) => R + P.layers.length, 0)), B = O(() => l.value === "selected" ? "Вибрані шари" : l.value === "filter" ? "Фільтр шарів" : "Каталог"),
|
|
12188
|
+
}), N = O(() => i.value.groups.reduce((R, P) => R + P.layers.length, 0)), B = O(() => l.value === "selected" ? "Вибрані шари" : l.value === "filter" ? "Фільтр шарів" : "Каталог"), ne = O(() => l.value === "selected" ? s.value.length : l.value === "catalog" ? N.value : null), le = O(() => {
|
|
12183
12189
|
var R;
|
|
12184
12190
|
return l.value === "filter" ? ((R = k.value) == null ? void 0 : R.name) ?? "" : "";
|
|
12185
12191
|
});
|
|
12186
12192
|
async function ae() {
|
|
12187
12193
|
const P = await (await fetch("/api/gis-layer-list")).json(), j = /* @__PURE__ */ new Map();
|
|
12188
|
-
P.forEach((
|
|
12189
|
-
const H =
|
|
12194
|
+
P.forEach((D) => {
|
|
12195
|
+
const H = D.group_id ?? "other";
|
|
12190
12196
|
j.has(H) || j.set(H, {
|
|
12191
12197
|
id: H,
|
|
12192
|
-
name:
|
|
12198
|
+
name: D.group_name || "Інші шари",
|
|
12193
12199
|
layers: []
|
|
12194
|
-
}), j.get(H).layers.push(
|
|
12200
|
+
}), j.get(H).layers.push(D);
|
|
12195
12201
|
}), i.value = { groups: Array.from(j.values()) };
|
|
12196
|
-
const
|
|
12197
|
-
if (!
|
|
12198
|
-
const S = Array.isArray(
|
|
12199
|
-
typeof S == "string" && S.split(",").forEach((
|
|
12200
|
-
const H =
|
|
12202
|
+
const V = t.query.layers;
|
|
12203
|
+
if (!V) return;
|
|
12204
|
+
const S = Array.isArray(V) ? V[0] : V;
|
|
12205
|
+
typeof S == "string" && S.split(",").forEach((D) => {
|
|
12206
|
+
const H = D.trim();
|
|
12201
12207
|
if (!H) return;
|
|
12202
12208
|
const J = u(H);
|
|
12203
12209
|
J && _(H, !0, J);
|
|
@@ -12219,15 +12225,15 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
12219
12225
|
function Z() {
|
|
12220
12226
|
c.value = !c.value;
|
|
12221
12227
|
}
|
|
12222
|
-
function
|
|
12228
|
+
function se() {
|
|
12223
12229
|
g.value = window.innerWidth <= 768;
|
|
12224
12230
|
}
|
|
12225
12231
|
return Ne(() => {
|
|
12226
|
-
ae(),
|
|
12232
|
+
ae(), se(), g.value && (c.value = !1), window.addEventListener("resize", se);
|
|
12227
12233
|
}), ze(() => {
|
|
12228
|
-
window.removeEventListener("resize",
|
|
12234
|
+
window.removeEventListener("resize", se);
|
|
12229
12235
|
}), (R, P) => (d(), h("div", {
|
|
12230
|
-
class: Le(["map-catalog-widget w-full max-w-md mx-auto p-4 bg-white border border-gray-200 rounded-lg shadow-sm widget",
|
|
12236
|
+
class: Le(["map-catalog-widget w-full max-w-md mx-auto p-4 bg-white border border-gray-200 rounded-lg shadow-sm widget", ne.value > 1 ? "min-h-[250px]" : "min-h-[0px]"])
|
|
12231
12237
|
}, [
|
|
12232
12238
|
o("div", s1, [
|
|
12233
12239
|
o("div", i1, [
|
|
@@ -12249,8 +12255,8 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
12249
12255
|
], -1)),
|
|
12250
12256
|
o("h2", a1, [
|
|
12251
12257
|
Ae(U(B.value) + " ", 1),
|
|
12252
|
-
|
|
12253
|
-
|
|
12258
|
+
ne.value !== null ? (d(), h("span", u1, "(" + U(ne.value) + ")", 1)) : X("", !0),
|
|
12259
|
+
le.value ? (d(), h("span", c1, U(le.value), 1)) : X("", !0)
|
|
12254
12260
|
])
|
|
12255
12261
|
]),
|
|
12256
12262
|
o("div", d1, [
|
|
@@ -12259,7 +12265,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
12259
12265
|
class: "p-1 rounded-full hover:bg-gray-200 transition-colors",
|
|
12260
12266
|
"aria-label": "Reset layers"
|
|
12261
12267
|
}, [...P[6] || (P[6] = [
|
|
12262
|
-
|
|
12268
|
+
Dt('<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-0023ade8><path d="M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8" data-v-0023ade8></path><path d="M21 3v5h-5" data-v-0023ade8></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-0023ade8></path><path d="M8 16H3v5" data-v-0023ade8></path></svg>', 1)
|
|
12263
12269
|
])]),
|
|
12264
12270
|
o("button", {
|
|
12265
12271
|
type: "button",
|
|
@@ -12322,7 +12328,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
12322
12328
|
onToggleLayer: _,
|
|
12323
12329
|
onSelectLayer: P[3] || (P[3] = (j) => l.value = "catalog"),
|
|
12324
12330
|
onReorder: L,
|
|
12325
|
-
onRemove: P[4] || (P[4] = (j) => s.value = s.value.filter((
|
|
12331
|
+
onRemove: P[4] || (P[4] = (j) => s.value = s.value.filter((V) => V !== j))
|
|
12326
12332
|
}, null, 8, ["catalog", "selected"])) : (d(), me(l1, {
|
|
12327
12333
|
key: 2,
|
|
12328
12334
|
layer: k.value,
|
|
@@ -12334,7 +12340,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
12334
12340
|
], 2)
|
|
12335
12341
|
], 2));
|
|
12336
12342
|
}
|
|
12337
|
-
}), $r = /* @__PURE__ */ Se(m1, [["__scopeId", "data-v-
|
|
12343
|
+
}), $r = /* @__PURE__ */ Se(m1, [["__scopeId", "data-v-0023ade8"]]), v1 = {
|
|
12338
12344
|
key: 1,
|
|
12339
12345
|
class: "flex flex-col bg-white border border-stone-200 shadow-2xs rounded-xl z-10 relative widget"
|
|
12340
12346
|
}, g1 = { class: "flex items-start justify-between gap-3 p-5 pb-3" }, y1 = { class: "inline-block text-xl font-semibold text-gray-800" }, h1 = {
|
|
@@ -12415,31 +12421,31 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
12415
12421
|
return ((P = (R = _.value) == null ? void 0 : R.filters) == null ? void 0 : P.length) || 0;
|
|
12416
12422
|
});
|
|
12417
12423
|
async function L(R) {
|
|
12418
|
-
var
|
|
12424
|
+
var V;
|
|
12419
12425
|
const P = await fetch(`/api/gis-service/${encodeURIComponent(R)}`);
|
|
12420
12426
|
if (!P.ok) {
|
|
12421
12427
|
let S = "Не вдалося завантажити налаштування шару";
|
|
12422
12428
|
try {
|
|
12423
|
-
const
|
|
12424
|
-
S = ((
|
|
12429
|
+
const D = await P.json();
|
|
12430
|
+
S = ((V = D == null ? void 0 : D.message) == null ? void 0 : V.error) || (D == null ? void 0 : D.message) || S;
|
|
12425
12431
|
} catch {
|
|
12426
12432
|
}
|
|
12427
12433
|
throw new Error(S);
|
|
12428
12434
|
}
|
|
12429
12435
|
const j = await P.json();
|
|
12430
|
-
return f.value = (j == null ? void 0 : j.name) || null, p.value = Array.isArray(j == null ? void 0 : j.filters) ? j.filters : null, v.value = u((j == null ? void 0 : j.style) || {}), c.value = ((j == null ? void 0 : j.attributes) || []).reduce((S,
|
|
12431
|
-
const H = typeof (
|
|
12436
|
+
return f.value = (j == null ? void 0 : j.name) || null, p.value = Array.isArray(j == null ? void 0 : j.filters) ? j.filters : null, v.value = u((j == null ? void 0 : j.style) || {}), c.value = ((j == null ? void 0 : j.attributes) || []).reduce((S, D) => {
|
|
12437
|
+
const H = typeof (D == null ? void 0 : D.name) == "string" ? D.name.trim() : "", J = typeof (D == null ? void 0 : D.ua) == "string" ? D.ua.trim() : "";
|
|
12432
12438
|
return H && (S[H] = J || H), S;
|
|
12433
12439
|
}, {}), j;
|
|
12434
12440
|
}
|
|
12435
12441
|
function I(R, P) {
|
|
12436
12442
|
let j = Re(R);
|
|
12437
12443
|
if (!j) {
|
|
12438
|
-
const
|
|
12444
|
+
const V = `${location.origin}/api/vtile/${R}/ua/{z}/{x}/{y}.vmt`;
|
|
12439
12445
|
j = Re(R, {
|
|
12440
12446
|
source: {
|
|
12441
12447
|
type: "vector",
|
|
12442
|
-
tiles: [
|
|
12448
|
+
tiles: [V],
|
|
12443
12449
|
minzoom: 0,
|
|
12444
12450
|
maxzoom: 14
|
|
12445
12451
|
},
|
|
@@ -12457,54 +12463,54 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
12457
12463
|
}
|
|
12458
12464
|
async function A(R, P) {
|
|
12459
12465
|
var S;
|
|
12460
|
-
const j = `/api/gis-service/${encodeURIComponent(R)}/${encodeURIComponent(P)}`,
|
|
12461
|
-
if (!
|
|
12462
|
-
let
|
|
12466
|
+
const j = `/api/gis-service/${encodeURIComponent(R)}/${encodeURIComponent(P)}`, V = await fetch(j);
|
|
12467
|
+
if (!V.ok) {
|
|
12468
|
+
let D = "Не вдалося отримати статистику";
|
|
12463
12469
|
try {
|
|
12464
|
-
const H = await
|
|
12465
|
-
|
|
12470
|
+
const H = await V.json();
|
|
12471
|
+
D = ((S = H == null ? void 0 : H.message) == null ? void 0 : S.error) || (H == null ? void 0 : H.message) || D;
|
|
12466
12472
|
} catch {
|
|
12467
12473
|
}
|
|
12468
|
-
throw new Error(
|
|
12474
|
+
throw new Error(D);
|
|
12469
12475
|
}
|
|
12470
|
-
return
|
|
12476
|
+
return V.json();
|
|
12471
12477
|
}
|
|
12472
12478
|
function k(R) {
|
|
12473
12479
|
const P = /* @__PURE__ */ new Map();
|
|
12474
|
-
return R && (R.rules || []).forEach((
|
|
12475
|
-
const S = (
|
|
12476
|
-
S != null && P.set(String(S),
|
|
12480
|
+
return R && (R.rules || []).forEach((V) => {
|
|
12481
|
+
const S = (V == null ? void 0 : V.value) ?? (V == null ? void 0 : V.id);
|
|
12482
|
+
S != null && P.set(String(S), V);
|
|
12477
12483
|
}), P;
|
|
12478
12484
|
}
|
|
12479
|
-
function C(R, P, j,
|
|
12485
|
+
function C(R, P, j, V, S) {
|
|
12480
12486
|
if (typeof (P == null ? void 0 : P.color) == "string" && P.color.trim()) return P.color.trim();
|
|
12481
|
-
const
|
|
12482
|
-
if (
|
|
12487
|
+
const D = n.config.colors || {};
|
|
12488
|
+
if (D[R]) return D[R];
|
|
12483
12489
|
const J = k(j == null ? void 0 : j.style).get(R);
|
|
12484
12490
|
return typeof (J == null ? void 0 : J.color) == "string" && J.color.trim() ? J.color.trim() : t[S % t.length];
|
|
12485
12491
|
}
|
|
12486
|
-
function N(R, P, j,
|
|
12492
|
+
function N(R, P, j, V) {
|
|
12487
12493
|
var S;
|
|
12488
|
-
return (P == null ? void 0 : P.text) || (P == null ? void 0 : P.label) || (P == null ? void 0 : P.name) || (P == null ? void 0 : P[`${
|
|
12494
|
+
return (P == null ? void 0 : P.text) || (P == null ? void 0 : P.label) || (P == null ? void 0 : P.name) || (P == null ? void 0 : P[`${V}_text`]) || ((S = k(j == null ? void 0 : j.style).get(R)) == null ? void 0 : S.label) || R;
|
|
12489
12495
|
}
|
|
12490
|
-
function B(R, P, j,
|
|
12496
|
+
function B(R, P, j, V) {
|
|
12491
12497
|
if (!R) return;
|
|
12492
|
-
const S = u((P == null ? void 0 : P.style) || v.value) || {},
|
|
12493
|
-
if (!
|
|
12498
|
+
const S = u((P == null ? void 0 : P.style) || v.value) || {}, D = V.trim();
|
|
12499
|
+
if (!D) return;
|
|
12494
12500
|
const H = { ...S.colors || {}, ...n.config.colors || {} };
|
|
12495
|
-
|
|
12501
|
+
D === V && j.forEach((J) => {
|
|
12496
12502
|
J.color.trim() && (H[J.id] = J.color);
|
|
12497
12503
|
}), R.setStyle({
|
|
12498
12504
|
...S,
|
|
12499
12505
|
type: S.type || "polygon",
|
|
12500
|
-
colorAttr:
|
|
12506
|
+
colorAttr: D,
|
|
12501
12507
|
opacity: 0.8,
|
|
12502
12508
|
colors: H
|
|
12503
12509
|
// rules: Object.entries(colors).map(([value, color]) => ({ value, color })),
|
|
12504
12510
|
});
|
|
12505
12511
|
}
|
|
12506
|
-
async function
|
|
12507
|
-
var
|
|
12512
|
+
async function ne() {
|
|
12513
|
+
var D, H;
|
|
12508
12514
|
i.value = [], s.value = null;
|
|
12509
12515
|
const R = m.value, P = x.value;
|
|
12510
12516
|
if (!P)
|
|
@@ -12512,8 +12518,8 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
12512
12518
|
l.value = !0;
|
|
12513
12519
|
const j = await L(R);
|
|
12514
12520
|
I(R, j);
|
|
12515
|
-
const
|
|
12516
|
-
const
|
|
12521
|
+
const V = await A(R, P), S = Array.isArray(V == null ? void 0 : V.rows) ? V.rows.map((J, Q) => {
|
|
12522
|
+
const oe = (J == null ? void 0 : J.id) ?? (J == null ? void 0 : J.value), ue = oe != null ? String(oe) : "";
|
|
12517
12523
|
if (!ue) return null;
|
|
12518
12524
|
const he = N(ue, J, j, P), ye = Number((J == null ? void 0 : J.count) ?? 0) || 0, Te = C(ue, J, j, P, Q);
|
|
12519
12525
|
return {
|
|
@@ -12523,21 +12529,21 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
12523
12529
|
color: Te
|
|
12524
12530
|
};
|
|
12525
12531
|
}).filter(Boolean) : [];
|
|
12526
|
-
i.value = S, s.value = ((
|
|
12532
|
+
i.value = S, s.value = ((D = V == null ? void 0 : V.field) == null ? void 0 : D.label) || ((H = V == null ? void 0 : V.field) == null ? void 0 : H.name) || null, B(a.value, j, S, P), l.value = !1;
|
|
12527
12533
|
}
|
|
12528
12534
|
ee(
|
|
12529
12535
|
() => [m.value, x.value],
|
|
12530
12536
|
() => {
|
|
12531
|
-
|
|
12537
|
+
ne();
|
|
12532
12538
|
},
|
|
12533
12539
|
{ immediate: !0 }
|
|
12534
12540
|
);
|
|
12535
|
-
const
|
|
12541
|
+
const le = O(() => "Набори даних"), ae = O(() => i.value.reduce((R, P) => R + P.count, 0)), Z = O(() => {
|
|
12536
12542
|
var j;
|
|
12537
12543
|
const R = x.value;
|
|
12538
|
-
return ((j = w.value.find((
|
|
12544
|
+
return ((j = w.value.find((V) => V.id === R)) == null ? void 0 : j.label) || null || s.value || R || null;
|
|
12539
12545
|
});
|
|
12540
|
-
function
|
|
12546
|
+
function se(R) {
|
|
12541
12547
|
return ae.value ? `${(R / ae.value * 100).toFixed(2)}%` : "0.00%";
|
|
12542
12548
|
}
|
|
12543
12549
|
return ze(() => {
|
|
@@ -12546,7 +12552,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
12546
12552
|
}), (R, P) => r.value ? (d(), h("div", v1, [
|
|
12547
12553
|
o("div", g1, [
|
|
12548
12554
|
o("div", null, [
|
|
12549
|
-
o("h2", y1, U(
|
|
12555
|
+
o("h2", y1, U(le.value), 1),
|
|
12550
12556
|
Z.value && w.value.length === 1 ? (d(), h("p", h1, U(Z.value), 1)) : X("", !0)
|
|
12551
12557
|
]),
|
|
12552
12558
|
o("div", x1, [
|
|
@@ -12587,7 +12593,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
12587
12593
|
type: "radio",
|
|
12588
12594
|
class: "text-sky-600 focus:ring-sky-500",
|
|
12589
12595
|
value: j.id,
|
|
12590
|
-
"onUpdate:modelValue": P[2] || (P[2] = (
|
|
12596
|
+
"onUpdate:modelValue": P[2] || (P[2] = (V) => g.value = V)
|
|
12591
12597
|
}, null, 8, k1), [
|
|
12592
12598
|
[fs, g.value]
|
|
12593
12599
|
]),
|
|
@@ -12611,7 +12617,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
12611
12617
|
]),
|
|
12612
12618
|
o("div", T1, [
|
|
12613
12619
|
o("span", M1, U(j.count), 1),
|
|
12614
|
-
o("span", F1, U(
|
|
12620
|
+
o("span", F1, U(se(j.count)), 1)
|
|
12615
12621
|
])
|
|
12616
12622
|
]))), 128))
|
|
12617
12623
|
])
|
|
@@ -12623,10 +12629,10 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
12623
12629
|
onClick: P[0] || (P[0] = (j) => r.value = !0)
|
|
12624
12630
|
}, " Набори даних "));
|
|
12625
12631
|
}
|
|
12626
|
-
}), Cr = /* @__PURE__ */ Se(I1, [["__scopeId", "data-v-
|
|
12632
|
+
}), Cr = /* @__PURE__ */ Se(I1, [["__scopeId", "data-v-9686ce7b"]]), j1 = ["title"], z1 = {
|
|
12627
12633
|
key: 0,
|
|
12628
12634
|
class: "vs-select__options absolute z-50 mt-1 w-auto min-w-full bg-white border border-gray-300 shadow-lg rounded-lg text-sm text-gray-900"
|
|
12629
|
-
}, N1 = ["onClick"], O1 = ["placeholder"], R1 = { class: "absolute inset-y-0 right-2 flex items-center gap-1" }, P1 = { class: "flex items-center justify-between gap-2 px-3 py-2 border-b border-gray-100" },
|
|
12635
|
+
}, N1 = ["onClick"], O1 = ["placeholder"], R1 = { class: "absolute inset-y-0 right-2 flex items-center gap-1" }, P1 = { class: "flex items-center justify-between gap-2 px-3 py-2 border-b border-gray-100" }, D1 = { class: "text-xs font-semibold uppercase tracking-wide text-gray-500" }, V1 = { class: "max-h-[60vh] overflow-auto" }, B1 = {
|
|
12630
12636
|
key: 0,
|
|
12631
12637
|
class: "divide-y divide-gray-100"
|
|
12632
12638
|
}, U1 = ["onClick"], q1 = {
|
|
@@ -12668,7 +12674,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
12668
12674
|
});
|
|
12669
12675
|
let A = null;
|
|
12670
12676
|
const k = M(!1), C = O(() => c.value.trim().length > 0 ? w.value : E.value), N = O(() => c.value.trim().length ? `Знайдено ${w.value.length}` : "Історія пошуку"), B = O(() => c.value.trim().length ? "Нічого не знайдено" : "Історія порожня");
|
|
12671
|
-
function
|
|
12677
|
+
function ne() {
|
|
12672
12678
|
var z, q;
|
|
12673
12679
|
if (typeof window > "u") return [];
|
|
12674
12680
|
try {
|
|
@@ -12680,16 +12686,16 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
12680
12686
|
return [];
|
|
12681
12687
|
}
|
|
12682
12688
|
}
|
|
12683
|
-
function
|
|
12689
|
+
function le(z) {
|
|
12684
12690
|
var q, G;
|
|
12685
12691
|
typeof window > "u" || (G = (q = window.localStorage) == null ? void 0 : q.setItem) == null || G.call(q, Ar, JSON.stringify(z));
|
|
12686
12692
|
}
|
|
12687
12693
|
function ae(z) {
|
|
12688
12694
|
const G = [z, ...E.value.filter((we) => we.id !== z.id)].slice(0, 10);
|
|
12689
|
-
E.value = G,
|
|
12695
|
+
E.value = G, le(G);
|
|
12690
12696
|
}
|
|
12691
12697
|
let Z = null;
|
|
12692
|
-
function
|
|
12698
|
+
function se() {
|
|
12693
12699
|
Z && (Z.remove(), Z = null);
|
|
12694
12700
|
}
|
|
12695
12701
|
function R() {
|
|
@@ -12702,7 +12708,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
12702
12708
|
if (!((de = t.config) != null && de.showMarker) || !z) return;
|
|
12703
12709
|
const q = (Ce = n.map) == null ? void 0 : Ce.value;
|
|
12704
12710
|
if (!q) return;
|
|
12705
|
-
R(),
|
|
12711
|
+
R(), V();
|
|
12706
12712
|
const G = {
|
|
12707
12713
|
type: "Feature",
|
|
12708
12714
|
geometry: z,
|
|
@@ -12733,22 +12739,22 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
12733
12739
|
}), S(q);
|
|
12734
12740
|
}
|
|
12735
12741
|
let j = null;
|
|
12736
|
-
function
|
|
12742
|
+
function V() {
|
|
12737
12743
|
j && (cancelAnimationFrame(j), j = null);
|
|
12738
12744
|
}
|
|
12739
12745
|
function S(z) {
|
|
12740
12746
|
const G = performance.now();
|
|
12741
12747
|
function we(de) {
|
|
12742
12748
|
if (!z.getLayer(on)) return;
|
|
12743
|
-
const Fe = (de - G) % 1200 / 1200, fe = Math.sin(Fe * Math.PI),
|
|
12744
|
-
z.setPaintProperty(on, "fill-opacity",
|
|
12749
|
+
const Fe = (de - G) % 1200 / 1200, fe = Math.sin(Fe * Math.PI), Ve = 0.2 + fe * 0.3, qe = 1 + fe * 1;
|
|
12750
|
+
z.setPaintProperty(on, "fill-opacity", Ve), z.setPaintProperty(bn, "line-width", qe), j = requestAnimationFrame(we);
|
|
12745
12751
|
}
|
|
12746
12752
|
j = requestAnimationFrame(we);
|
|
12747
12753
|
}
|
|
12748
|
-
function
|
|
12754
|
+
function D(z, q) {
|
|
12749
12755
|
var de, Ce, Fe;
|
|
12750
12756
|
if (!((de = t.config) != null && de.showMarker)) return;
|
|
12751
|
-
|
|
12757
|
+
se(), R();
|
|
12752
12758
|
const G = (Ce = n.map) == null ? void 0 : Ce.value;
|
|
12753
12759
|
if (!G) return;
|
|
12754
12760
|
if (q) {
|
|
@@ -12774,25 +12780,25 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
12774
12780
|
const Q = () => {
|
|
12775
12781
|
L.value && J();
|
|
12776
12782
|
};
|
|
12777
|
-
function
|
|
12783
|
+
function oe() {
|
|
12778
12784
|
A && (clearTimeout(A), A = null);
|
|
12779
12785
|
}
|
|
12780
12786
|
ee(v, () => {
|
|
12781
|
-
c.value = "", g.value = !1, w.value = [], _.value = !1,
|
|
12787
|
+
c.value = "", g.value = !1, w.value = [], _.value = !1, oe(), k.value = !1, se(), R();
|
|
12782
12788
|
}), ee(L, (z) => {
|
|
12783
12789
|
z ? Ye(() => {
|
|
12784
12790
|
J();
|
|
12785
12791
|
}) : H.display = "none";
|
|
12786
12792
|
}), ee(c, (z) => {
|
|
12787
12793
|
if (v.value !== "address") {
|
|
12788
|
-
w.value = [],
|
|
12794
|
+
w.value = [], oe();
|
|
12789
12795
|
return;
|
|
12790
12796
|
}
|
|
12791
12797
|
if (!z.trim()) {
|
|
12792
|
-
w.value = [], _.value = E.value.length > 0,
|
|
12798
|
+
w.value = [], _.value = E.value.length > 0, oe();
|
|
12793
12799
|
return;
|
|
12794
12800
|
}
|
|
12795
|
-
|
|
12801
|
+
oe(), _.value = !0, A = window.setTimeout(() => {
|
|
12796
12802
|
K(z).catch((q) => {
|
|
12797
12803
|
const G = (q == null ? void 0 : q.message) || "Помилка пошуку адреси";
|
|
12798
12804
|
Me({ type: "error", title: "Пошук адреси", message: G });
|
|
@@ -12803,7 +12809,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
12803
12809
|
v.value = z;
|
|
12804
12810
|
}
|
|
12805
12811
|
function he() {
|
|
12806
|
-
c.value = "", w.value = [], _.value = !1, k.value = !1,
|
|
12812
|
+
c.value = "", w.value = [], _.value = !1, k.value = !1, se(), R();
|
|
12807
12813
|
}
|
|
12808
12814
|
function ye(z) {
|
|
12809
12815
|
const q = z.target;
|
|
@@ -12817,9 +12823,9 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
12817
12823
|
}
|
|
12818
12824
|
}
|
|
12819
12825
|
Ne(() => {
|
|
12820
|
-
E.value =
|
|
12826
|
+
E.value = ne(), window.addEventListener("click", ye, !0), window.addEventListener("scroll", Q, !0), window.addEventListener("resize", Q);
|
|
12821
12827
|
}), ze(() => {
|
|
12822
|
-
window.removeEventListener("click", ye, !0), window.removeEventListener("scroll", Q, !0), window.removeEventListener("resize", Q),
|
|
12828
|
+
window.removeEventListener("click", ye, !0), window.removeEventListener("scroll", Q, !0), window.removeEventListener("resize", Q), oe(), se(), R();
|
|
12823
12829
|
});
|
|
12824
12830
|
function Te(z) {
|
|
12825
12831
|
return z === "xy" ? "Координати" : z === "parcel" ? "Кадастр" : "Адреси";
|
|
@@ -12832,15 +12838,15 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
12832
12838
|
const we = G.slice(0, 2).map(Number);
|
|
12833
12839
|
if (!we.every((Ke) => Number.isFinite(Ke))) return null;
|
|
12834
12840
|
let [de, Ce] = we, Fe = de, fe = Ce;
|
|
12835
|
-
const
|
|
12836
|
-
if (!
|
|
12837
|
-
if (
|
|
12841
|
+
const Ve = (Ke) => Math.abs(Ke) <= 90, qe = (Ke) => Math.abs(Ke) <= 180;
|
|
12842
|
+
if (!Ve(Fe) || !qe(fe))
|
|
12843
|
+
if (Ve(fe) && qe(Fe))
|
|
12838
12844
|
Fe = Ce, fe = de;
|
|
12839
12845
|
else
|
|
12840
12846
|
return null;
|
|
12841
12847
|
return { lat: Fe, lng: fe };
|
|
12842
12848
|
}
|
|
12843
|
-
function
|
|
12849
|
+
function re(z) {
|
|
12844
12850
|
return ((z == null ? void 0 : z.items) || []).map((G, we) => {
|
|
12845
12851
|
var de, Ce, Fe;
|
|
12846
12852
|
return {
|
|
@@ -12872,12 +12878,12 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
12872
12878
|
var Ke, yt, ht;
|
|
12873
12879
|
const de = (Ke = G == null ? void 0 : G.geometry) == null ? void 0 : Ke.coordinates, Ce = Number(de == null ? void 0 : de[0]), Fe = Number(de == null ? void 0 : de[1]);
|
|
12874
12880
|
if (!Number.isFinite(Fe) || !Number.isFinite(Ce)) return null;
|
|
12875
|
-
const fe = (G == null ? void 0 : G.properties) || {},
|
|
12876
|
-
return { id: String(((ht = fe == null ? void 0 : fe.geocoding) == null ? void 0 : ht.place_id) || (fe == null ? void 0 : fe.place_id) || we), title:
|
|
12881
|
+
const fe = (G == null ? void 0 : G.properties) || {}, Ve = ((yt = fe == null ? void 0 : fe.geocoding) == null ? void 0 : yt.label) || (fe == null ? void 0 : fe.display_name) || (fe == null ? void 0 : fe.label) || "Адреса";
|
|
12882
|
+
return { id: String(((ht = fe == null ? void 0 : fe.geocoding) == null ? void 0 : ht.place_id) || (fe == null ? void 0 : fe.place_id) || we), title: Ve, lat: Fe, lng: Ce };
|
|
12877
12883
|
}).filter((G) => !!G);
|
|
12878
12884
|
}
|
|
12879
12885
|
async function K(z) {
|
|
12880
|
-
w.value = [],
|
|
12886
|
+
w.value = [], oe();
|
|
12881
12887
|
const q = new URL(Z1);
|
|
12882
12888
|
q.searchParams.set("format", "geojson"), q.searchParams.set("q", z), q.searchParams.set("addressdetails", "1"), q.searchParams.set("bounded", "1");
|
|
12883
12889
|
const G = i();
|
|
@@ -12908,7 +12914,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
12908
12914
|
function Oe(z) {
|
|
12909
12915
|
var G, we;
|
|
12910
12916
|
const q = ((G = t.config) == null ? void 0 : G.zoom) ?? 17;
|
|
12911
|
-
(we = n.flyTo) == null || we.call(n, { center: [z.lng, z.lat], zoom: q }),
|
|
12917
|
+
(we = n.flyTo) == null || we.call(n, { center: [z.lng, z.lat], zoom: q }), D(z, z.geom), k.value = !0;
|
|
12912
12918
|
}
|
|
12913
12919
|
async function Ie() {
|
|
12914
12920
|
const z = c.value.trim();
|
|
@@ -12944,7 +12950,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
12944
12950
|
}
|
|
12945
12951
|
const G = await fetch(q.toString());
|
|
12946
12952
|
if (!G.ok) throw new Error(`HTTP ${G.status}`);
|
|
12947
|
-
const we = await G.json(), de = v.value === "here" ?
|
|
12953
|
+
const we = await G.json(), de = v.value === "here" ? re(we) : b(we);
|
|
12948
12954
|
if (!de.length)
|
|
12949
12955
|
Me({ type: "warning", title: "Пошук", message: "Не знайдено результатів" });
|
|
12950
12956
|
else {
|
|
@@ -13087,7 +13093,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
13087
13093
|
style: Qe(H)
|
|
13088
13094
|
}, [
|
|
13089
13095
|
o("div", P1, [
|
|
13090
|
-
o("span",
|
|
13096
|
+
o("span", D1, U(N.value), 1),
|
|
13091
13097
|
o("button", {
|
|
13092
13098
|
type: "button",
|
|
13093
13099
|
class: "text-gray-400 hover:text-gray-600",
|
|
@@ -13095,7 +13101,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
13095
13101
|
onClick: q[3] || (q[3] = (G) => _.value = !1)
|
|
13096
13102
|
}, " ✕ ")
|
|
13097
13103
|
]),
|
|
13098
|
-
o("div",
|
|
13104
|
+
o("div", V1, [
|
|
13099
13105
|
C.value.length ? (d(), h("ul", B1, [
|
|
13100
13106
|
(d(!0), h(te, null, ge(C.value, (G) => (d(), h("li", {
|
|
13101
13107
|
key: G.id,
|
|
@@ -13110,7 +13116,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
13110
13116
|
], 32)
|
|
13111
13117
|
], 512));
|
|
13112
13118
|
}
|
|
13113
|
-
}), Sr = /* @__PURE__ */ Se(G1, [["__scopeId", "data-v-
|
|
13119
|
+
}), Sr = /* @__PURE__ */ Se(G1, [["__scopeId", "data-v-9c08b770"]]), K1 = "https://watergis.github.io/mapbox-gl-export/mapbox-gl-export.css", X1 = "https://watergis.github.io/mapbox-gl-export/mapbox-gl-export.js", Q1 = /* @__PURE__ */ ve({
|
|
13114
13120
|
__name: "MapPrintControl",
|
|
13115
13121
|
setup(e) {
|
|
13116
13122
|
const { map: t, ready: n, addControl: r, removeControl: l } = et(), i = M(null), s = M(null), a = M(null), f = M(null);
|
|
@@ -13128,7 +13134,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
13128
13134
|
}
|
|
13129
13135
|
function g(A) {
|
|
13130
13136
|
return new Promise((k, C) => {
|
|
13131
|
-
const N = Array.from(document.scripts).find((
|
|
13137
|
+
const N = Array.from(document.scripts).find((ne) => ne.src === A);
|
|
13132
13138
|
if (N) {
|
|
13133
13139
|
if (N._loaded) return k();
|
|
13134
13140
|
N.addEventListener("load", () => k()), N.addEventListener("error", () => C(new Error(`Failed ${A}`)));
|
|
@@ -13154,8 +13160,8 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
13154
13160
|
{ d: "M7 13m0 2a2 2 0 0 1 2 -2h6a2 2 0 0 1 2 2v4a2 2 0 0 1 -2 2h-6a2 2 0 0 1 -2 -2z" }
|
|
13155
13161
|
].forEach((C, N) => {
|
|
13156
13162
|
const B = document.createElementNS("http://www.w3.org/2000/svg", "path");
|
|
13157
|
-
Object.entries(C).forEach(([
|
|
13158
|
-
B.setAttribute(
|
|
13163
|
+
Object.entries(C).forEach(([ne, le]) => {
|
|
13164
|
+
B.setAttribute(ne, le);
|
|
13159
13165
|
}), A.appendChild(B);
|
|
13160
13166
|
}), A;
|
|
13161
13167
|
}
|
|
@@ -13209,8 +13215,8 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
13209
13215
|
"Page Orientation": "Орієнтація"
|
|
13210
13216
|
};
|
|
13211
13217
|
A.querySelectorAll("label, option").forEach((N) => {
|
|
13212
|
-
var
|
|
13213
|
-
const B = (
|
|
13218
|
+
var ne;
|
|
13219
|
+
const B = (ne = N.textContent) == null ? void 0 : ne.trim();
|
|
13214
13220
|
B && k[B] && (N.textContent = k[B]);
|
|
13215
13221
|
});
|
|
13216
13222
|
const C = A.querySelector("button");
|
|
@@ -13228,7 +13234,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
13228
13234
|
k.style.display = "none";
|
|
13229
13235
|
const N = "_printControlBound";
|
|
13230
13236
|
if (!k[N]) {
|
|
13231
|
-
const B = (
|
|
13237
|
+
const B = (ne) => ne.stopPropagation();
|
|
13232
13238
|
k.addEventListener("click", B), k.addEventListener("mousedown", B), k[N] = !0;
|
|
13233
13239
|
}
|
|
13234
13240
|
i.value.appendChild(k), L(k);
|
|
@@ -13257,8 +13263,8 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
13257
13263
|
if (s.value = C, typeof C.onAdd == "function") {
|
|
13258
13264
|
const N = C.onAdd.bind(C);
|
|
13259
13265
|
C.onAdd = (B) => {
|
|
13260
|
-
const
|
|
13261
|
-
return setTimeout(() =>
|
|
13266
|
+
const ne = N(B);
|
|
13267
|
+
return setTimeout(() => ne && I(ne), 50), ne;
|
|
13262
13268
|
};
|
|
13263
13269
|
}
|
|
13264
13270
|
r ? r(C, "top-right") : A.addControl(C, "top-right"), p = (N) => {
|
|
@@ -13279,7 +13285,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
13279
13285
|
class: "map-print-control"
|
|
13280
13286
|
}, null, 512));
|
|
13281
13287
|
}
|
|
13282
|
-
}), J1 = /* @__PURE__ */ Se(Q1, [["__scopeId", "data-v-
|
|
13288
|
+
}), J1 = /* @__PURE__ */ Se(Q1, [["__scopeId", "data-v-4fae7635"]]), ex = { class: "cursor-coordinates" }, tx = { class: "cursor-coordinates__text" }, nx = /* @__PURE__ */ ve({
|
|
13283
13289
|
__name: "MapCursorCoordinates",
|
|
13284
13290
|
props: {
|
|
13285
13291
|
coordinates: {}
|
|
@@ -13289,7 +13295,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
13289
13295
|
o("span", tx, U(e.coordinates), 1)
|
|
13290
13296
|
]));
|
|
13291
13297
|
}
|
|
13292
|
-
}), ox = /* @__PURE__ */ Se(nx, [["__scopeId", "data-v-
|
|
13298
|
+
}), ox = /* @__PURE__ */ Se(nx, [["__scopeId", "data-v-334315d9"]]), rx = { class: "minimap__wrapper" }, wn = "minimap-viewport", lx = "minimap-viewport-layer", sx = /* @__PURE__ */ ve({
|
|
13293
13299
|
__name: "MapMiniMap",
|
|
13294
13300
|
props: {
|
|
13295
13301
|
mapContext: {},
|
|
@@ -13304,8 +13310,8 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
13304
13310
|
return typeof k == "number" && Number.isFinite(k) ? k : C;
|
|
13305
13311
|
}
|
|
13306
13312
|
const p = O(() => {
|
|
13307
|
-
var
|
|
13308
|
-
const k = (
|
|
13313
|
+
var ne, le;
|
|
13314
|
+
const k = (ne = t.options) == null ? void 0 : ne.width, C = (le = t.options) == null ? void 0 : le.height, N = f(t.width ?? k, 210), B = f(t.height ?? C, 150);
|
|
13309
13315
|
return {
|
|
13310
13316
|
width: `${N}px`,
|
|
13311
13317
|
height: `${B}px`
|
|
@@ -13324,7 +13330,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
13324
13330
|
}
|
|
13325
13331
|
let c = null;
|
|
13326
13332
|
function g() {
|
|
13327
|
-
var
|
|
13333
|
+
var ne;
|
|
13328
13334
|
if (typeof window > "u" || i.value || !l.value) return;
|
|
13329
13335
|
const k = v(), C = r, N = {
|
|
13330
13336
|
container: l.value,
|
|
@@ -13346,7 +13352,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
13346
13352
|
]
|
|
13347
13353
|
},
|
|
13348
13354
|
center: C,
|
|
13349
|
-
zoom: ((
|
|
13355
|
+
zoom: ((ne = t.options) == null ? void 0 : ne.zoom) ?? 3,
|
|
13350
13356
|
interactive: !1,
|
|
13351
13357
|
attributionControl: !1
|
|
13352
13358
|
}, B = {
|
|
@@ -13422,22 +13428,22 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
13422
13428
|
if (!C) return;
|
|
13423
13429
|
const N = C.getNorthEast(), B = C.getSouthWest();
|
|
13424
13430
|
if (!N || !B) return;
|
|
13425
|
-
const
|
|
13431
|
+
const ne = [
|
|
13426
13432
|
[B.lng, N.lat],
|
|
13427
13433
|
[N.lng, N.lat],
|
|
13428
13434
|
[N.lng, B.lat],
|
|
13429
13435
|
[B.lng, B.lat],
|
|
13430
13436
|
[B.lng, N.lat]
|
|
13431
|
-
],
|
|
13432
|
-
if (!
|
|
13437
|
+
], le = i.value.getSource(wn);
|
|
13438
|
+
if (!le) {
|
|
13433
13439
|
m();
|
|
13434
13440
|
return;
|
|
13435
13441
|
}
|
|
13436
|
-
|
|
13442
|
+
le.setData({
|
|
13437
13443
|
type: "Feature",
|
|
13438
13444
|
geometry: {
|
|
13439
13445
|
type: "Polygon",
|
|
13440
|
-
coordinates: [
|
|
13446
|
+
coordinates: [ne]
|
|
13441
13447
|
},
|
|
13442
13448
|
properties: {}
|
|
13443
13449
|
});
|
|
@@ -13503,9 +13509,9 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
13503
13509
|
class: "minimap__button",
|
|
13504
13510
|
onClick: y
|
|
13505
13511
|
}, [
|
|
13506
|
-
|
|
13512
|
+
ie(ce($s))
|
|
13507
13513
|
]),
|
|
13508
|
-
|
|
13514
|
+
ie(so, { name: "minimap-slide" }, {
|
|
13509
13515
|
default: je(() => [
|
|
13510
13516
|
Ue(o("div", rx, [
|
|
13511
13517
|
o("div", {
|
|
@@ -13523,7 +13529,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
13523
13529
|
})
|
|
13524
13530
|
], 2));
|
|
13525
13531
|
}
|
|
13526
|
-
}), ix = /* @__PURE__ */ Se(sx, [["__scopeId", "data-v-
|
|
13532
|
+
}), ix = /* @__PURE__ */ Se(sx, [["__scopeId", "data-v-bc754c89"]]), ax = {
|
|
13527
13533
|
key: 2,
|
|
13528
13534
|
class: "absolute bottom-4 right-4 z-[80] flex items-end gap-2"
|
|
13529
13535
|
}, ux = { class: "absolute top-[103px] right-[6.5px] z-[80] flex flex-col items-end gap-1" }, cx = { class: "map-widget__overlay-grid" }, dx = {
|
|
@@ -13597,11 +13603,11 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
13597
13603
|
const q = Number(typeof z == "string" ? z.trim() : z);
|
|
13598
13604
|
return Number.isFinite(q) ? q : null;
|
|
13599
13605
|
}
|
|
13600
|
-
const N = Rt((Oe = k == null ? void 0 : k.map) == null ? void 0 : Oe.center), B = C((Ie = k == null ? void 0 : k.map) == null ? void 0 : Ie.zoom),
|
|
13606
|
+
const N = Rt((Oe = k == null ? void 0 : k.map) == null ? void 0 : Oe.center), B = C((Ie = k == null ? void 0 : k.map) == null ? void 0 : Ie.zoom), ne = O(() => {
|
|
13601
13607
|
const z = (k == null ? void 0 : k.map) || null, q = (z == null ? void 0 : z.boundary) ?? null, G = (z == null ? void 0 : z.katottg) ?? null;
|
|
13602
13608
|
return !q && !G ? null : { boundary: q, katottg: G };
|
|
13603
13609
|
});
|
|
13604
|
-
function
|
|
13610
|
+
function le(z) {
|
|
13605
13611
|
return typeof z == "string" && z.trim() ? z.trim().toLowerCase() : "top-left";
|
|
13606
13612
|
}
|
|
13607
13613
|
function ae(z) {
|
|
@@ -13610,7 +13616,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
13610
13616
|
const Z = O(() => {
|
|
13611
13617
|
var z;
|
|
13612
13618
|
return ae((z = i.value) == null ? void 0 : z.widgets);
|
|
13613
|
-
}),
|
|
13619
|
+
}), se = O(() => Z.value.some((z) => (z == null ? void 0 : z.type) === "basemaps")), R = ["left", "right"], P = O(() => {
|
|
13614
13620
|
const z = {
|
|
13615
13621
|
left: { top: [], bottom: [] },
|
|
13616
13622
|
right: { top: [], bottom: [] }
|
|
@@ -13621,14 +13627,14 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
13621
13627
|
"bottom-right": { side: "right", align: "bottom" }
|
|
13622
13628
|
};
|
|
13623
13629
|
return Z.value.forEach((G) => {
|
|
13624
|
-
const we =
|
|
13630
|
+
const we = le(G.position), de = q[we] ?? { side: "left", align: "top" };
|
|
13625
13631
|
z[de.side][de.align].push(G);
|
|
13626
13632
|
}), z;
|
|
13627
13633
|
});
|
|
13628
13634
|
function j(z) {
|
|
13629
13635
|
return Array.isArray(z) ? z[0] ?? null : typeof z == "string" ? z : null;
|
|
13630
13636
|
}
|
|
13631
|
-
async function
|
|
13637
|
+
async function V() {
|
|
13632
13638
|
var q;
|
|
13633
13639
|
await Ye();
|
|
13634
13640
|
const z = (q = l.value) == null ? void 0 : q.ctx;
|
|
@@ -13638,7 +13644,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
13638
13644
|
var z, q, G;
|
|
13639
13645
|
return ((G = (q = (z = l.value) == null ? void 0 : z.ctx) == null ? void 0 : q.map) == null ? void 0 : G.value) ?? null;
|
|
13640
13646
|
}
|
|
13641
|
-
function
|
|
13647
|
+
function D() {
|
|
13642
13648
|
const z = S();
|
|
13643
13649
|
if (!z) return null;
|
|
13644
13650
|
const q = z.getCenter();
|
|
@@ -13650,38 +13656,38 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
13650
13656
|
}
|
|
13651
13657
|
async function H() {
|
|
13652
13658
|
var G;
|
|
13653
|
-
const z = await
|
|
13659
|
+
const z = await V(), q = (G = z == null ? void 0 : z.map) == null ? void 0 : G.value;
|
|
13654
13660
|
q && (typeof w.value == "number" && q.setMinZoom(w.value), typeof x.value == "number" && q.setMaxZoom(x.value));
|
|
13655
13661
|
}
|
|
13656
13662
|
async function J() {
|
|
13657
13663
|
var de;
|
|
13658
13664
|
if (s.value) return;
|
|
13659
|
-
const z = await
|
|
13665
|
+
const z = await V(), q = (de = z == null ? void 0 : z.map) == null ? void 0 : de.value;
|
|
13660
13666
|
if (!q) return;
|
|
13661
13667
|
const G = q.getCenter(), we = q.getZoom();
|
|
13662
13668
|
s.value = { center: [G.lng, G.lat], zoom: we };
|
|
13663
13669
|
}
|
|
13664
13670
|
function Q() {
|
|
13665
|
-
const z =
|
|
13671
|
+
const z = D();
|
|
13666
13672
|
if (!z) return;
|
|
13667
13673
|
const q = j(n.query.x), G = j(n.query.y), we = j(n.query.z);
|
|
13668
13674
|
q === z.x && G === z.y && we === z.z || r.replace({ query: { ...n.query, ...z } }).catch(() => {
|
|
13669
13675
|
});
|
|
13670
13676
|
}
|
|
13671
|
-
function
|
|
13677
|
+
function oe(z, q, G = 1e-6) {
|
|
13672
13678
|
return Math.abs(z - q) <= G;
|
|
13673
13679
|
}
|
|
13674
13680
|
async function ue() {
|
|
13675
13681
|
var qe;
|
|
13676
|
-
const z = await
|
|
13682
|
+
const z = await V(), q = (qe = z == null ? void 0 : z.map) == null ? void 0 : qe.value;
|
|
13677
13683
|
if (!z || !q) return;
|
|
13678
13684
|
const G = parseFloat(j(n.query.x) ?? ""), we = parseFloat(j(n.query.y) ?? ""), de = parseFloat(j(n.query.z) ?? ""), Ce = !Number.isNaN(G), Fe = !Number.isNaN(we), fe = !Number.isNaN(de);
|
|
13679
|
-
let
|
|
13685
|
+
let Ve = !1;
|
|
13680
13686
|
if (Ce && Fe) {
|
|
13681
13687
|
const Ke = q.getCenter();
|
|
13682
|
-
(!
|
|
13688
|
+
(!oe(Ke.lng, G) || !oe(Ke.lat, we)) && (q.setCenter([G, we]), Ve = !0);
|
|
13683
13689
|
}
|
|
13684
|
-
fe && q.setZoom(de), (!Ce || !Fe || !fe ||
|
|
13690
|
+
fe && q.setZoom(de), (!Ce || !Fe || !fe || Ve) && Q();
|
|
13685
13691
|
}
|
|
13686
13692
|
let he = null, ye = null;
|
|
13687
13693
|
function Te(z) {
|
|
@@ -13689,13 +13695,13 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
13689
13695
|
q && (_.value = { lng: q.lng, lat: q.lat });
|
|
13690
13696
|
}
|
|
13691
13697
|
async function W() {
|
|
13692
|
-
const z = await
|
|
13698
|
+
const z = await V();
|
|
13693
13699
|
z != null && z.on && (he == null || he(), he = z.on("moveend", Q), ye == null || ye(), ye = z.on("mousemove", Te));
|
|
13694
13700
|
}
|
|
13695
13701
|
Sn(() => {
|
|
13696
13702
|
he == null || he(), he = null, ye == null || ye(), ye = null;
|
|
13697
13703
|
});
|
|
13698
|
-
async function
|
|
13704
|
+
async function re(z = !1) {
|
|
13699
13705
|
var G, we;
|
|
13700
13706
|
p.value = !1, f.value = null, _.value = null;
|
|
13701
13707
|
const q = z || !t.data;
|
|
@@ -13716,8 +13722,8 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
13716
13722
|
layers: Fe,
|
|
13717
13723
|
widgets: de.widgets
|
|
13718
13724
|
}, v.value = de.tools || ["home", "print"];
|
|
13719
|
-
const
|
|
13720
|
-
|
|
13725
|
+
const Ve = await V();
|
|
13726
|
+
Ve && (Ce && ((G = Ve.setCenter) == null || G.call(Ve, Ce)), fe != null && ((we = Ve.setZoom) == null || we.call(Ve, fe)), s.value || await J()), await H(), await ue(), await W(), p.value = !0;
|
|
13721
13727
|
} catch (de) {
|
|
13722
13728
|
f.value = (de == null ? void 0 : de.message) || "Не вдалося завантажити карту";
|
|
13723
13729
|
} finally {
|
|
@@ -13756,14 +13762,14 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
13756
13762
|
return ee([w, x], () => {
|
|
13757
13763
|
H();
|
|
13758
13764
|
}, { immediate: !0 }), ee(c, () => {
|
|
13759
|
-
|
|
13765
|
+
re(!0);
|
|
13760
13766
|
}), ee(
|
|
13761
13767
|
() => t.data,
|
|
13762
13768
|
(z) => {
|
|
13763
|
-
z &&
|
|
13769
|
+
z && re();
|
|
13764
13770
|
}
|
|
13765
13771
|
), Ne(() => {
|
|
13766
|
-
|
|
13772
|
+
re();
|
|
13767
13773
|
}), ee(
|
|
13768
13774
|
() => [n.query.x, n.query.y, n.query.z],
|
|
13769
13775
|
() => {
|
|
@@ -13777,7 +13783,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
13777
13783
|
id: "map-filter-popover-host",
|
|
13778
13784
|
class: "map-widget__filter-host"
|
|
13779
13785
|
}, null, -1)),
|
|
13780
|
-
|
|
13786
|
+
ie(En, {
|
|
13781
13787
|
ref_key: "mapViewRef",
|
|
13782
13788
|
ref: l,
|
|
13783
13789
|
class: "map-widget__view"
|
|
@@ -13785,22 +13791,22 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
13785
13791
|
default: je(() => {
|
|
13786
13792
|
var G, we, de, Ce;
|
|
13787
13793
|
return [
|
|
13788
|
-
|
|
13794
|
+
se.value ? X("", !0) : (d(), me(Wt, {
|
|
13789
13795
|
key: 0,
|
|
13790
13796
|
class: "hidden"
|
|
13791
13797
|
})),
|
|
13792
|
-
|
|
13798
|
+
ne.value ? (d(), me(Ml, {
|
|
13793
13799
|
key: 1,
|
|
13794
13800
|
"layer-id": "app-boundary",
|
|
13795
|
-
boundary:
|
|
13796
|
-
katottg:
|
|
13801
|
+
boundary: ne.value.boundary,
|
|
13802
|
+
katottg: ne.value.katottg
|
|
13797
13803
|
}, null, 8, ["boundary", "katottg"])) : X("", !0),
|
|
13798
13804
|
L.value ? (d(), h("div", ax, [
|
|
13799
13805
|
E.value ? (d(), me(ox, {
|
|
13800
13806
|
key: 0,
|
|
13801
13807
|
coordinates: E.value
|
|
13802
13808
|
}, null, 8, ["coordinates"])) : X("", !0),
|
|
13803
|
-
|
|
13809
|
+
ie(ix, {
|
|
13804
13810
|
"map-context": L.value,
|
|
13805
13811
|
options: I.value
|
|
13806
13812
|
}, null, 8, ["map-context", "options"])
|
|
@@ -13823,14 +13829,14 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
13823
13829
|
P.value[Fe].top.length ? (d(), h("div", fx, [
|
|
13824
13830
|
o("div", px, [
|
|
13825
13831
|
(d(!0), h(te, null, ge(P.value[Fe].top, (fe) => {
|
|
13826
|
-
var
|
|
13832
|
+
var Ve, qe, Ke, yt, ht, It, jt, zt;
|
|
13827
13833
|
return Ue((d(), h("div", {
|
|
13828
13834
|
key: fe.id || fe.type,
|
|
13829
13835
|
class: "map-overlay__item"
|
|
13830
13836
|
}, [
|
|
13831
13837
|
fe.type === "info" ? (d(), me(wr, {
|
|
13832
13838
|
key: 0,
|
|
13833
|
-
title: ((
|
|
13839
|
+
title: ((Ve = fe.config) == null ? void 0 : Ve.title) || fe.title || null,
|
|
13834
13840
|
content: ((qe = fe.config) == null ? void 0 : qe.content) || "",
|
|
13835
13841
|
links: y.value,
|
|
13836
13842
|
"map-name": u.value,
|
|
@@ -13871,14 +13877,14 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
13871
13877
|
P.value[Fe].bottom.length ? (d(), h("div", mx, [
|
|
13872
13878
|
o("div", vx, [
|
|
13873
13879
|
(d(!0), h(te, null, ge(P.value[Fe].bottom, (fe) => {
|
|
13874
|
-
var
|
|
13880
|
+
var Ve, qe, Ke, yt, ht, It, jt, zt;
|
|
13875
13881
|
return Ue((d(), h("div", {
|
|
13876
13882
|
key: fe.id || fe.type,
|
|
13877
13883
|
class: "map-overlay__item"
|
|
13878
13884
|
}, [
|
|
13879
13885
|
fe.type === "info" ? (d(), me(wr, {
|
|
13880
13886
|
key: 0,
|
|
13881
|
-
title: ((
|
|
13887
|
+
title: ((Ve = fe.config) == null ? void 0 : Ve.title) || fe.title || null,
|
|
13882
13888
|
content: ((qe = fe.config) == null ? void 0 : qe.content) || "",
|
|
13883
13889
|
links: y.value,
|
|
13884
13890
|
"map-name": u.value,
|
|
@@ -13918,8 +13924,8 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
13918
13924
|
])) : X("", !0)
|
|
13919
13925
|
], 2)), 64))
|
|
13920
13926
|
]),
|
|
13921
|
-
|
|
13922
|
-
|
|
13927
|
+
ie(Tl),
|
|
13928
|
+
ie(_o, { "map-id": c.value }, null, 8, ["map-id"])
|
|
13923
13929
|
], 64)) : X("", !0)
|
|
13924
13930
|
];
|
|
13925
13931
|
}),
|
|
@@ -13928,7 +13934,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
13928
13934
|
a.value ? (d(), h("div", gx, "Завантаження карти…")) : f.value ? (d(), h("div", yx, U(f.value), 1)) : X("", !0)
|
|
13929
13935
|
], 4));
|
|
13930
13936
|
}
|
|
13931
|
-
}), zl = /* @__PURE__ */ Se(hx, [["__scopeId", "data-v-
|
|
13937
|
+
}), zl = /* @__PURE__ */ Se(hx, [["__scopeId", "data-v-362a1a19"]]), xx = { class: "rounded-lg border border-gray-200 bg-gray-50 p-6" }, bx = { class: "rounded-xl border border-gray-200 overflow-hidden bg-white" }, wx = /* @__PURE__ */ ve({
|
|
13932
13938
|
__name: "MapPreview",
|
|
13933
13939
|
props: {
|
|
13934
13940
|
id: {}
|
|
@@ -13937,7 +13943,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
13937
13943
|
return (t, n) => (d(), h("section", xx, [
|
|
13938
13944
|
n[0] || (n[0] = o("h2", { class: "text-lg font-semibold text-gray-800 mb-4" }, " Попередній перегляд карти ", -1)),
|
|
13939
13945
|
o("div", bx, [
|
|
13940
|
-
|
|
13946
|
+
ie(zl, {
|
|
13941
13947
|
class: "w-full h-[360px]",
|
|
13942
13948
|
id: e.id
|
|
13943
13949
|
}, null, 8, ["id"])
|
|
@@ -14015,12 +14021,12 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
14015
14021
|
onClick: s,
|
|
14016
14022
|
class: "text-gray-500 hover:text-gray-700 transition-colors"
|
|
14017
14023
|
}, [
|
|
14018
|
-
|
|
14024
|
+
ie(ce(dn), { size: 20 })
|
|
14019
14025
|
])
|
|
14020
14026
|
]),
|
|
14021
14027
|
i.value ? (d(), h("div", $x, " Помилка JSON: " + U(i.value), 1)) : X("", !0),
|
|
14022
14028
|
o("div", Cx, [
|
|
14023
|
-
|
|
14029
|
+
ie(mn, {
|
|
14024
14030
|
modelValue: l.value,
|
|
14025
14031
|
"onUpdate:modelValue": p[0] || (p[0] = (v) => l.value = v),
|
|
14026
14032
|
language: "json",
|
|
@@ -14048,7 +14054,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
14048
14054
|
}, Tx = {
|
|
14049
14055
|
key: 1,
|
|
14050
14056
|
class: "rounded-lg border border-gray-200 overflow-hidden"
|
|
14051
|
-
}, Mx = { class: "w-full text-sm" }, Fx = { class: "divide-y divide-gray-200" }, Ix = { class: "px-4 py-3" }, jx = ["onUpdate:modelValue", "onChange"], zx = ["value"], Nx = { class: "px-4 py-3" }, Ox = ["onUpdate:modelValue", "onChange"], Rx = ["value"], Px = { class: "px-4 py-3 text-center" },
|
|
14057
|
+
}, Mx = { class: "w-full text-sm" }, Fx = { class: "divide-y divide-gray-200" }, Ix = { class: "px-4 py-3" }, jx = ["onUpdate:modelValue", "onChange"], zx = ["value"], Nx = { class: "px-4 py-3" }, Ox = ["onUpdate:modelValue", "onChange"], Rx = ["value"], Px = { class: "px-4 py-3 text-center" }, Dx = ["checked", "onChange"], Vx = { class: "px-4 py-3" }, Bx = {
|
|
14052
14058
|
key: 0,
|
|
14053
14059
|
class: "flex items-center gap-2"
|
|
14054
14060
|
}, Ux = ["onClick"], qx = ["onClick"], Hx = { key: 1 }, Yx = ["onClick"], Wx = { class: "px-4 py-3 text-right" }, Zx = ["onClick"], Gx = /* @__PURE__ */ ve({
|
|
@@ -14086,7 +14092,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
14086
14092
|
r("update:modelValue", x);
|
|
14087
14093
|
}
|
|
14088
14094
|
function v(x) {
|
|
14089
|
-
|
|
14095
|
+
Do({
|
|
14090
14096
|
title: "Видалити віджет?",
|
|
14091
14097
|
message: "Ви впевнені, що хочете видалити цей віджет?",
|
|
14092
14098
|
type: "warning",
|
|
@@ -14110,7 +14116,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
14110
14116
|
u(x, {});
|
|
14111
14117
|
}
|
|
14112
14118
|
function y(x) {
|
|
14113
|
-
|
|
14119
|
+
Do({
|
|
14114
14120
|
title: "Видалити конфігурацію?",
|
|
14115
14121
|
message: "Ви впевнені, що хочете видалити конфігурацію цього віджета?",
|
|
14116
14122
|
type: "warning",
|
|
@@ -14182,23 +14188,23 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
14182
14188
|
checked: L.visible !== !1,
|
|
14183
14189
|
onChange: (A) => c(I, "visible", A.target.checked),
|
|
14184
14190
|
class: "w-4 h-4 text-blue-600 border-gray-300 rounded focus:ring-blue-500"
|
|
14185
|
-
}, null, 40,
|
|
14191
|
+
}, null, 40, Dx)
|
|
14186
14192
|
]),
|
|
14187
|
-
o("td",
|
|
14193
|
+
o("td", Vx, [
|
|
14188
14194
|
g(L.config) ? (d(), h("div", Bx, [
|
|
14189
14195
|
o("button", {
|
|
14190
14196
|
onClick: (A) => u(I, L.config),
|
|
14191
14197
|
class: "p-1 text-blue-600 hover:text-blue-800 hover:bg-blue-50 rounded transition-colors",
|
|
14192
14198
|
title: "Редагувати конфігурацію"
|
|
14193
14199
|
}, [
|
|
14194
|
-
|
|
14200
|
+
ie(ce(zs), { size: 16 })
|
|
14195
14201
|
], 8, Ux),
|
|
14196
14202
|
o("button", {
|
|
14197
14203
|
onClick: (A) => y(I),
|
|
14198
14204
|
class: "p-1 text-red-500 hover:text-red-700 hover:bg-red-50 rounded transition-colors",
|
|
14199
14205
|
title: "Видалити конфігурацію"
|
|
14200
14206
|
}, [
|
|
14201
|
-
|
|
14207
|
+
ie(ce(dn), { size: 16 })
|
|
14202
14208
|
], 8, qx)
|
|
14203
14209
|
])) : (d(), h("div", Hx, [
|
|
14204
14210
|
o("button", {
|
|
@@ -14206,7 +14212,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
14206
14212
|
class: "p-1 text-green-600 hover:text-green-800 hover:bg-green-50 rounded transition-colors",
|
|
14207
14213
|
title: "Додати конфігурацію"
|
|
14208
14214
|
}, [
|
|
14209
|
-
|
|
14215
|
+
ie(ce(ao), { size: 16 })
|
|
14210
14216
|
], 8, Yx)
|
|
14211
14217
|
]))
|
|
14212
14218
|
]),
|
|
@@ -14216,14 +14222,14 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
14216
14222
|
class: "p-1 text-gray-400 hover:text-red-500 transition-colors",
|
|
14217
14223
|
title: "Видалити віджет"
|
|
14218
14224
|
}, [
|
|
14219
|
-
|
|
14225
|
+
ie(ce(Ps), { size: 16 })
|
|
14220
14226
|
], 8, Zx)
|
|
14221
14227
|
])
|
|
14222
14228
|
]))), 128))
|
|
14223
14229
|
])
|
|
14224
14230
|
])
|
|
14225
14231
|
])) : (d(), h("div", Ex, " Немає віджетів. Додайте перший віджет. ")),
|
|
14226
|
-
|
|
14232
|
+
ie(Lx, {
|
|
14227
14233
|
teleport: "#modal",
|
|
14228
14234
|
modelValue: s.value,
|
|
14229
14235
|
"onUpdate:modelValue": _[0] || (_[0] = (L) => s.value = L),
|
|
@@ -14292,7 +14298,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
14292
14298
|
}),
|
|
14293
14299
|
set: (k) => {
|
|
14294
14300
|
const C = k.map((N) => {
|
|
14295
|
-
const B = y.value.find((
|
|
14301
|
+
const B = y.value.find((ne) => ne.text === N);
|
|
14296
14302
|
return B ? B.id : null;
|
|
14297
14303
|
}).filter((N) => N !== null);
|
|
14298
14304
|
m.value = C;
|
|
@@ -14414,7 +14420,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
14414
14420
|
Me({
|
|
14415
14421
|
type: "warning",
|
|
14416
14422
|
title: "Валідація",
|
|
14417
|
-
message: Object.entries(k).map(([B,
|
|
14423
|
+
message: Object.entries(k).map(([B, ne]) => `${B}: ${ne}`).join(`
|
|
14418
14424
|
`)
|
|
14419
14425
|
});
|
|
14420
14426
|
return;
|
|
@@ -14441,12 +14447,12 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
14441
14447
|
}), (k, C) => {
|
|
14442
14448
|
const N = Lr("router-link");
|
|
14443
14449
|
return d(), h("div", Kx, [
|
|
14444
|
-
|
|
14450
|
+
ie(Tr, {
|
|
14445
14451
|
variant: "form",
|
|
14446
14452
|
title: u.value.name || "Налаштування карти"
|
|
14447
14453
|
}, {
|
|
14448
14454
|
breadcrumbs: je(() => [
|
|
14449
|
-
|
|
14455
|
+
ie(N, {
|
|
14450
14456
|
to: "/maps",
|
|
14451
14457
|
class: "text-gray-500 hover:text-gray-700"
|
|
14452
14458
|
}, {
|
|
@@ -14456,7 +14462,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
14456
14462
|
_: 1
|
|
14457
14463
|
}),
|
|
14458
14464
|
o("span", Xx, [
|
|
14459
|
-
|
|
14465
|
+
ie(ce(io), {
|
|
14460
14466
|
size: 16,
|
|
14461
14467
|
class: "shrink-0"
|
|
14462
14468
|
})
|
|
@@ -14482,13 +14488,13 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
14482
14488
|
l.value ? (d(), h("div", eb, [...C[8] || (C[8] = [
|
|
14483
14489
|
o("p", { class: "text-gray-500" }, "Завантаження...", -1)
|
|
14484
14490
|
])])) : (d(), h("div", tb, [
|
|
14485
|
-
|
|
14491
|
+
ie(Oy, {
|
|
14486
14492
|
tabs: f,
|
|
14487
14493
|
activeTab: g.value,
|
|
14488
14494
|
"onUpdate:activeTab": C[1] || (C[1] = (B) => g.value = B)
|
|
14489
14495
|
}, null, 8, ["activeTab"]),
|
|
14490
14496
|
Ue(o("div", nb, [
|
|
14491
|
-
|
|
14497
|
+
ie(Py, {
|
|
14492
14498
|
schema: E,
|
|
14493
14499
|
loading: l.value,
|
|
14494
14500
|
modelValue: u.value,
|
|
@@ -14500,7 +14506,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
14500
14506
|
[At, g.value === "general"]
|
|
14501
14507
|
]),
|
|
14502
14508
|
Ue(o("div", ob, [
|
|
14503
|
-
|
|
14509
|
+
ie(Vy, {
|
|
14504
14510
|
options: y.value,
|
|
14505
14511
|
layerIDs: m.value,
|
|
14506
14512
|
"onUpdate:layerIDs": C[4] || (C[4] = (B) => m.value = B),
|
|
@@ -14510,14 +14516,14 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
14510
14516
|
], 512), [
|
|
14511
14517
|
[At, g.value === "layers"]
|
|
14512
14518
|
]),
|
|
14513
|
-
Ue(
|
|
14519
|
+
Ue(ie(Gx, {
|
|
14514
14520
|
modelValue: u.value.widgets,
|
|
14515
14521
|
"onUpdate:modelValue": C[6] || (C[6] = (B) => u.value.widgets = B)
|
|
14516
14522
|
}, null, 8, ["modelValue"]), [
|
|
14517
14523
|
[At, g.value === "widgets"]
|
|
14518
14524
|
]),
|
|
14519
14525
|
Ue(o("div", rb, [
|
|
14520
|
-
|
|
14526
|
+
ie(wx, {
|
|
14521
14527
|
"center-display": x.value,
|
|
14522
14528
|
"zoom-display": _.value,
|
|
14523
14529
|
"layer-names": w.value,
|
|
@@ -14530,7 +14536,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
14530
14536
|
]);
|
|
14531
14537
|
};
|
|
14532
14538
|
}
|
|
14533
|
-
}), Y2 = /* @__PURE__ */ Se(lb, [["__scopeId", "data-v-
|
|
14539
|
+
}), Y2 = /* @__PURE__ */ Se(lb, [["__scopeId", "data-v-84ec8129"]]), sb = { class: "flex-1 overflow-y-auto p-0 overflow-x-hidden max-h-[70%] lg:max-h-[80%] xl:max-h-[83%] 2xl:max-h-[95%]" }, ib = { class: "pt-0 mt-0" }, ab = {
|
|
14534
14540
|
key: 0,
|
|
14535
14541
|
class: "flex items-center justify-center py-12"
|
|
14536
14542
|
}, ub = {
|
|
@@ -14564,23 +14570,23 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
14564
14570
|
const x = (k = "", C = "") => {
|
|
14565
14571
|
const N = new URLSearchParams(), B = k.trim();
|
|
14566
14572
|
B && N.set("search", B);
|
|
14567
|
-
const
|
|
14568
|
-
|
|
14569
|
-
const
|
|
14570
|
-
return
|
|
14573
|
+
const ne = (C || "").trim();
|
|
14574
|
+
ne && N.set("type", ne);
|
|
14575
|
+
const le = N.toString();
|
|
14576
|
+
return le ? `/api/user-cls?${le}` : "/api/user-cls";
|
|
14571
14577
|
}, _ = async (k = "", C = "") => {
|
|
14572
14578
|
try {
|
|
14573
14579
|
g.value = !0, u.value = null;
|
|
14574
14580
|
const N = x(k, C), B = await fetch(N);
|
|
14575
14581
|
if (!B.ok)
|
|
14576
14582
|
throw new Error(`HTTP error: ${B.status}`);
|
|
14577
|
-
const
|
|
14578
|
-
if (v.value =
|
|
14579
|
-
p.value =
|
|
14583
|
+
const ne = await B.json();
|
|
14584
|
+
if (v.value = ne.data, !k.trim())
|
|
14585
|
+
p.value = ne.data.length;
|
|
14580
14586
|
else if (p.value === 0) {
|
|
14581
|
-
const
|
|
14582
|
-
if (
|
|
14583
|
-
const ae = await
|
|
14587
|
+
const le = await fetch(x("", C));
|
|
14588
|
+
if (le.ok) {
|
|
14589
|
+
const ae = await le.json();
|
|
14584
14590
|
p.value = ae.data.length;
|
|
14585
14591
|
}
|
|
14586
14592
|
}
|
|
@@ -14631,7 +14637,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
14631
14637
|
return (k, C) => (d(), h("div", sb, [
|
|
14632
14638
|
o("div", ib, [
|
|
14633
14639
|
g.value ? (d(), h("div", ab, [
|
|
14634
|
-
|
|
14640
|
+
ie(ce(Fr), {
|
|
14635
14641
|
width: 32,
|
|
14636
14642
|
height: 32,
|
|
14637
14643
|
"stroke-width": 2,
|
|
@@ -14642,7 +14648,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
14642
14648
|
(d(!0), h(te, null, ge(c.value, (N, B) => (d(), h("div", {
|
|
14643
14649
|
key: B,
|
|
14644
14650
|
class: "w-full border border-gray-200 bg-white rounded-lg p-4 text-left hover:shadow-md transition-all hover:border-gray-300 cursor-pointer",
|
|
14645
|
-
onClick: (
|
|
14651
|
+
onClick: (ne) => E(N)
|
|
14646
14652
|
}, [
|
|
14647
14653
|
o("div", pb, [
|
|
14648
14654
|
o("div", mb, [
|
|
@@ -14662,15 +14668,15 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
14662
14668
|
o("div", vb, [
|
|
14663
14669
|
o("div", gb, [
|
|
14664
14670
|
o("h4", {
|
|
14665
|
-
onClick: Je((
|
|
14671
|
+
onClick: Je((ne) => I(N.name), ["stop"]),
|
|
14666
14672
|
class: "text-sm font-semibold text-gray-800 mb-0 hover:border-b hover:border-gray-300 cursor-pointer"
|
|
14667
14673
|
}, U(N.name), 9, yb),
|
|
14668
14674
|
o("div", hb, [
|
|
14669
14675
|
o("button", {
|
|
14670
|
-
onClick: Je((
|
|
14676
|
+
onClick: Je((ne) => I(N.name), ["stop"]),
|
|
14671
14677
|
class: "pt-1 mt-0.5 text-gray-400 hover:text-gray-600 hover:bg-gray-100 rounded transition-colors"
|
|
14672
14678
|
}, [
|
|
14673
|
-
|
|
14679
|
+
ie(ce(Ls), {
|
|
14674
14680
|
width: 14,
|
|
14675
14681
|
height: 14,
|
|
14676
14682
|
"stroke-width": 2
|
|
@@ -14684,7 +14690,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
14684
14690
|
]),
|
|
14685
14691
|
o("div", _b, [
|
|
14686
14692
|
N.type != "sql" ? (d(), h("span", kb, U(N.count) + " записів ", 1)) : X("", !0),
|
|
14687
|
-
|
|
14693
|
+
ie(ce(io), {
|
|
14688
14694
|
width: 16,
|
|
14689
14695
|
height: 16,
|
|
14690
14696
|
"stroke-width": 2,
|
|
@@ -14700,7 +14706,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
14700
14706
|
to: "#pagination"
|
|
14701
14707
|
}, [
|
|
14702
14708
|
o("div", $b, [
|
|
14703
|
-
|
|
14709
|
+
ie(ce(ms), {
|
|
14704
14710
|
total: v.value.length,
|
|
14705
14711
|
page: a.value,
|
|
14706
14712
|
"page-size": Gn,
|
|
@@ -14715,7 +14721,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
14715
14721
|
])) : X("", !0)
|
|
14716
14722
|
]));
|
|
14717
14723
|
}
|
|
14718
|
-
}), Ab = /* @__PURE__ */ Se(Cb, [["__scopeId", "data-v-
|
|
14724
|
+
}), Ab = /* @__PURE__ */ Se(Cb, [["__scopeId", "data-v-e728e68b"]]), Sb = { class: "flex flex-col 2xl:flex-row 2xl:items-center 2xl:justify-between" }, Lb = { class: "" }, Eb = { class: "text-2xl font-bold mb-2 flex items-center gap-2" }, Tb = {
|
|
14719
14725
|
key: 0,
|
|
14720
14726
|
class: "text-sm font-normal text-gray-500 mt-2 ml-1"
|
|
14721
14727
|
}, Mb = { class: "flex flex-col gap-3 mt-4 lg:mt-5 lg:flex-row lg:items-center" }, Fb = { class: "w-full md:w-auto" }, Ib = ["value"], jb = { class: "relative w-full lg:w-[16rem]" }, zb = { class: "bg-white focus:bg-white focus:border-blue-500 focus:ring-blue-500 rounded-lg" }, Nb = { class: "absolute bottom-2/4 translate-y-2/4 cursor-pointer left-3" }, Ob = ["value"], Rb = /* @__PURE__ */ ve({
|
|
@@ -14759,7 +14765,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
14759
14765
|
o("div", jb, [
|
|
14760
14766
|
o("div", zb, [
|
|
14761
14767
|
o("div", Nb, [
|
|
14762
|
-
|
|
14768
|
+
ie(ce(Ir), {
|
|
14763
14769
|
width: 14,
|
|
14764
14770
|
height: 14,
|
|
14765
14771
|
"stroke-width": 2,
|
|
@@ -14781,7 +14787,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
14781
14787
|
class: "absolute top-1/2 -translate-y-1/2 right-3 cursor-pointer text-gray-400 hover:text-gray-600",
|
|
14782
14788
|
onClick: a[1] || (a[1] = (f) => s.$emit("update:modelValue", ""))
|
|
14783
14789
|
}, [
|
|
14784
|
-
|
|
14790
|
+
ie(ce(dn), {
|
|
14785
14791
|
width: 14,
|
|
14786
14792
|
height: 14,
|
|
14787
14793
|
"stroke-width": 2
|
|
@@ -14793,7 +14799,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
14793
14799
|
onClick: a[2] || (a[2] = (f) => i.value = !0),
|
|
14794
14800
|
class: "w-full md:w-auto flex items-center justify-center gap-2 px-4 py-2 bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition-all duration-200 transform hover:scale-105 text-sm font-medium"
|
|
14795
14801
|
}, [
|
|
14796
|
-
|
|
14802
|
+
ie(ce(ao), {
|
|
14797
14803
|
width: 16,
|
|
14798
14804
|
height: 16,
|
|
14799
14805
|
"stroke-width": 2,
|
|
@@ -14804,10 +14810,10 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
14804
14810
|
])
|
|
14805
14811
|
]));
|
|
14806
14812
|
}
|
|
14807
|
-
}), Pb = { class: "bg-white rounded-lg shadow-sm border border-gray-200 overflow-x-auto" },
|
|
14813
|
+
}), Pb = { class: "bg-white rounded-lg shadow-sm border border-gray-200 overflow-x-auto" }, Db = {
|
|
14808
14814
|
key: 0,
|
|
14809
14815
|
class: "flex items-center justify-center py-12"
|
|
14810
|
-
},
|
|
14816
|
+
}, Vb = {
|
|
14811
14817
|
key: 1,
|
|
14812
14818
|
class: "bg-red-50 border border-red-200 text-red-700 rounded-lg p-4 text-sm m-4"
|
|
14813
14819
|
}, Bb = {
|
|
@@ -14881,14 +14887,14 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
14881
14887
|
f(n.classifierName);
|
|
14882
14888
|
}
|
|
14883
14889
|
}), (v, c) => (d(), h("div", Pb, [
|
|
14884
|
-
i.value ? (d(), h("div",
|
|
14885
|
-
|
|
14890
|
+
i.value ? (d(), h("div", Db, [
|
|
14891
|
+
ie(ce(Fr), {
|
|
14886
14892
|
width: 32,
|
|
14887
14893
|
height: 32,
|
|
14888
14894
|
"stroke-width": 2,
|
|
14889
14895
|
class: "text-sky-600 animate-spin"
|
|
14890
14896
|
})
|
|
14891
|
-
])) : s.value ? (d(), h("div",
|
|
14897
|
+
])) : s.value ? (d(), h("div", Vb, U(s.value), 1)) : l.value.length === 0 ? (d(), h("div", Bb, " Записи відсутні ")) : (d(), h("table", Ub, [
|
|
14892
14898
|
o("thead", qb, [
|
|
14893
14899
|
o("tr", null, [
|
|
14894
14900
|
(d(), h(te, null, ge(r, (g) => o("th", {
|
|
@@ -15014,7 +15020,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
15014
15020
|
disabled: c.value,
|
|
15015
15021
|
class: "p-1.5 text-green-600 hover:bg-green-50 rounded transition-colors disabled:opacity-50"
|
|
15016
15022
|
}, [
|
|
15017
|
-
|
|
15023
|
+
ie(ce(As), {
|
|
15018
15024
|
width: 18,
|
|
15019
15025
|
height: 18,
|
|
15020
15026
|
"stroke-width": 2
|
|
@@ -15025,7 +15031,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
15025
15031
|
disabled: c.value,
|
|
15026
15032
|
class: "p-1.5 text-gray-400 hover:text-red-500 hover:bg-red-50 rounded transition-colors"
|
|
15027
15033
|
}, [
|
|
15028
|
-
|
|
15034
|
+
ie(ce(dn), {
|
|
15029
15035
|
width: 18,
|
|
15030
15036
|
height: 18,
|
|
15031
15037
|
"stroke-width": 2
|
|
@@ -15038,7 +15044,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
15038
15044
|
class: "p-1 text-gray-400 hover:text-sky-600 transition-all rounded hover:bg-sky-50",
|
|
15039
15045
|
title: "Редагувати опис"
|
|
15040
15046
|
}, [
|
|
15041
|
-
|
|
15047
|
+
ie(ce(jr), {
|
|
15042
15048
|
width: 16,
|
|
15043
15049
|
height: 16,
|
|
15044
15050
|
"stroke-width": 2
|
|
@@ -15051,7 +15057,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
15051
15057
|
onClick: x,
|
|
15052
15058
|
class: "w-full md:w-auto flex items-center justify-center gap-2 px-4 py-2 bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition-all duration-200 transform hover:scale-105 text-sm font-medium"
|
|
15053
15059
|
}, [
|
|
15054
|
-
|
|
15060
|
+
ie(ce(ao), {
|
|
15055
15061
|
width: 16,
|
|
15056
15062
|
height: 16,
|
|
15057
15063
|
"stroke-width": 2,
|
|
@@ -15070,7 +15076,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
15070
15076
|
o("div", u2, [
|
|
15071
15077
|
o("div", c2, [
|
|
15072
15078
|
o("div", d2, [
|
|
15073
|
-
|
|
15079
|
+
ie(ce(Ir), {
|
|
15074
15080
|
width: 18,
|
|
15075
15081
|
height: 18,
|
|
15076
15082
|
"stroke-width": 2,
|
|
@@ -15088,7 +15094,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
15088
15094
|
])
|
|
15089
15095
|
])
|
|
15090
15096
|
]),
|
|
15091
|
-
|
|
15097
|
+
ie(Gb, {
|
|
15092
15098
|
ref_key: "detailsTableRef",
|
|
15093
15099
|
ref: s,
|
|
15094
15100
|
"classifier-name": r.value,
|
|
@@ -15241,8 +15247,8 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
15241
15247
|
if ((k = L.menu) != null && k.length) {
|
|
15242
15248
|
const C = { ...f.value };
|
|
15243
15249
|
L.menu.forEach((N) => {
|
|
15244
|
-
const B = u(N),
|
|
15245
|
-
A ?
|
|
15250
|
+
const B = u(N), ne = new Set(C[B] || []);
|
|
15251
|
+
A ? ne.add(I) : ne.delete(I), C[B] = ne;
|
|
15246
15252
|
}), f.value = C, g();
|
|
15247
15253
|
}
|
|
15248
15254
|
}
|
|
@@ -15274,7 +15280,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
15274
15280
|
onClick: (k) => w(A)
|
|
15275
15281
|
}, [
|
|
15276
15282
|
o("button", w2, [
|
|
15277
|
-
|
|
15283
|
+
ie(ce(Mr), {
|
|
15278
15284
|
class: Le(["text-gray-600 w-4 h-4", { "rotate-180": y(A) }])
|
|
15279
15285
|
}, null, 8, ["class"]),
|
|
15280
15286
|
Ae(" " + U(A.ua), 1)
|
|
@@ -15410,7 +15416,7 @@ const Bg = /* @__PURE__ */ Se(Pg, [["render", Dg]]), Ug = { class: "flex flex-co
|
|
|
15410
15416
|
onClick: v
|
|
15411
15417
|
}, " Зберегти ")
|
|
15412
15418
|
]),
|
|
15413
|
-
|
|
15419
|
+
ie(j2, {
|
|
15414
15420
|
ref_key: "accessRef",
|
|
15415
15421
|
ref: r,
|
|
15416
15422
|
data: { routers: a.value },
|