@opengis/gis 0.2.146 → 0.2.148
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 +181 -181
- package/dist/{CardIcon-BCll_4SB.js → CardIcon-W_l68cRE.js} +1 -1
- package/dist/{EntityCreatePage-Ch8NU_Yw.js → EntityCreatePage-Da8XgBKU.js} +14 -14
- package/dist/{EntityEditPage-CRRcW7FL.js → EntityEditPage-QktKEAxz.js} +27 -27
- package/dist/{EntityTablePage-DXJPsOx8.js → EntityTablePage-D2D20a-F.js} +26 -26
- package/dist/{ExtentOutlineLayer.vue_vue_type_script_setup_true_lang-BJ-zsrml.js → ExtentOutlineLayer.vue_vue_type_script_setup_true_lang-uGKlHK_4.js} +1 -1
- package/dist/{HeaderActions.vue_vue_type_script_setup_true_lang-EZGjVDor.js → HeaderActions.vue_vue_type_script_setup_true_lang-BmxOpklh.js} +5 -5
- package/dist/{MapSettings-CG7u4F4i.js → MapSettings-CD2hH9-H.js} +33 -33
- package/dist/{RastersTablePage-CN5hfj6F.js → RastersTablePage-BVBgFivV.js} +29 -29
- package/dist/{cartocss-BNVXz6oJ.js → cartocss-CEpv1-ob.js} +12 -12
- package/dist/{import-utils-BwcMU3Gp.js → import-utils-vyDDgOA7.js} +33 -33
- package/dist/index-CtOBLkqk.js +10673 -0
- package/dist/index.css +1 -1
- package/dist/index.js +1 -1
- package/dist/index.umd.cjs +38 -38
- package/dist/{raster-BN1gB-NS.js → raster-j-ZXs4tZ.js} +126 -126
- package/dist/{register-DZ24Z6dC.js → register-CCSOTqns.js} +8 -8
- package/dist/{service-DXLa4AiW.js → service-CQxATpxS.js} +340 -343
- package/dist/{vs-datatable-DVC6-2mA.js → vs-datatable-B8qaPSDU.js} +28 -28
- 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/feedback.answer.form.json +10 -10
- package/module/gis/form/gis.cartocss.form.json +64 -64
- 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.metadata_new.form.json +195 -195
- package/module/gis/form/gis.ogc_service.form.json +51 -51
- 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 +9 -9
- package/module/gis/select/layer_list.sql +7 -7
- package/module/gis/select/layer_list_text.sql +7 -7
- package/module/gis/select/pg.column_name.geometry.sql +12 -12
- 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 +110 -110
- package/module/gis/table/gis.metadata.table.json +70 -70
- package/module/gis/table/gis.metadata_new.table.json +137 -137
- 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 +143 -143
- package/module/gis/table/gis.services.table.json +120 -120
- 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 +97 -97
- 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 +37 -37
- package/module/test/map/mbd.json +92 -92
- package/module/test/map/ts.json +53 -53
- 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 +75 -75
- package/plugin.js +55 -55
- package/server/migrations/array_intersect.sql +13 -13
- package/server/migrations/cartocss.sql +27 -27
- 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 +109 -109
- package/server/plugins/mapnik/funcs/mapnik.js +151 -151
- package/server/plugins/mapnik/funcs/rootFolder.mjs +8 -8
- package/server/plugins/mapnik/map.proto +230 -230
- package/server/plugins/vite.js +74 -74
- package/server/routes/gis/cartocss/add.cartocss.js +42 -42
- package/server/routes/gis/cartocss/get.cartocss.js +59 -59
- package/server/routes/gis/checkXML.js +117 -117
- 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 +3 -3
- 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 +153 -153
- 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/clearTiles.js +34 -34
- 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 +102 -102
- 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 +234 -234
- 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 +169 -169
- 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 +118 -118
- package/server/routes/map/vtile1.js +179 -179
- 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 +106 -106
- package/server/routes/mapnik/controllers/createXml.js +67 -67
- package/server/routes/mapnik/controllers/createXmlMulti.js +76 -76
- package/server/routes/mapnik/controllers/fileSearch.js +38 -38
- package/server/routes/mapnik/controllers/fileStat.js +28 -28
- package/server/routes/mapnik/controllers/mapnikLogger.js +29 -29
- package/server/routes/mapnik/controllers/mapnikStat.js +19 -19
- package/server/routes/mapnik/controllers/pretile.js +144 -144
- package/server/routes/mapnik/controllers/rasterInfo.js +57 -57
- package/server/routes/mapnik/controllers/readDir.js +22 -22
- package/server/routes/mapnik/controllers/rtile.js +150 -150
- package/server/routes/mapnik/controllers/uploadRaster.js +157 -157
- package/server/routes/mapnik/functions/cartoBounds.js +32 -32
- package/server/routes/mapnik/functions/convertBoundToTile.js +27 -27
- package/server/routes/mapnik/functions/uploadXML.js +113 -113
- package/server/routes/mapnik/index.js +40 -40
- 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 +59 -59
- package/server/routes/permissions/index.mjs +18 -18
- package/server/routes/root.mjs +3 -3
- package/utils.js +13 -13
- package/dist/index-8aAArh78.js +0 -10616
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { defineComponent as te, resolveDirective as We, openBlock as u, createElementBlock as m, createElementVNode as n, Fragment as W, renderList as X, toDisplayString as d, withDirectives as we, createTextVNode as Xe, normalizeClass as ae, ref as $, watch as S, computed as h, vModelText as Ke, onMounted as Ye, onBeforeUnmount as Ze, createCommentVNode as q, createVNode as B, withCtx as He, createBlock as F, resolveDynamicComponent as Je } from "vue";
|
|
2
2
|
import { useRouter as et, useRoute as tt } from "vue-router";
|
|
3
3
|
import { TooltipDirective as st, notify as M } from "@opengis/core";
|
|
4
|
-
import { _ as nt, u as
|
|
5
|
-
import { _ as ut, a as ct, b as dt, c as ft } from "./HeaderActions.vue_vue_type_script_setup_true_lang-
|
|
6
|
-
import { _ as he } from "./ExtentOutlineLayer.vue_vue_type_script_setup_true_lang-
|
|
7
|
-
const mt = { class: "flex-1 overflow-y-auto p-4 sm:p-6" }, pt = { class: "space-y-3" }, gt = { class: "bg-white p-3 rounded-xl border border-gray-200 shadow-sm" },
|
|
4
|
+
import { _ as nt, u as lt, f as rt, M as ot, i as it, j as be, F as at } from "./index-CtOBLkqk.js";
|
|
5
|
+
import { _ as ut, a as ct, b as dt, c as ft } from "./HeaderActions.vue_vue_type_script_setup_true_lang-BmxOpklh.js";
|
|
6
|
+
import { _ as he } from "./ExtentOutlineLayer.vue_vue_type_script_setup_true_lang-uGKlHK_4.js";
|
|
7
|
+
const mt = { class: "flex-1 overflow-y-auto p-4 sm:p-6" }, pt = { class: "space-y-3" }, gt = { class: "bg-white p-3 rounded-xl border border-gray-200 shadow-sm" }, yt = { class: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-2" }, vt = { class: "text-xs text-gray-500 mb-1" }, xt = {
|
|
8
8
|
key: 0,
|
|
9
9
|
class: "text-base text-md font-semibold text-gray-900"
|
|
10
10
|
}, bt = {
|
|
@@ -19,42 +19,42 @@ const mt = { class: "flex-1 overflow-y-auto p-4 sm:p-6" }, pt = { class: "space-
|
|
|
19
19
|
details: {}
|
|
20
20
|
},
|
|
21
21
|
setup(_) {
|
|
22
|
-
return (
|
|
23
|
-
const
|
|
22
|
+
return (y, v) => {
|
|
23
|
+
const o = We("tooltip");
|
|
24
24
|
return u(), m("div", mt, [
|
|
25
25
|
n("div", pt, [
|
|
26
26
|
n("div", gt, [
|
|
27
|
-
|
|
27
|
+
v[0] || (v[0] = n("div", { class: "mb-4" }, [
|
|
28
28
|
n("h4", { class: "text-sm font-semibold text-gray-900 uppercase tracking-wide" }, "Основні параметри")
|
|
29
29
|
], -1)),
|
|
30
|
-
n("div",
|
|
30
|
+
n("div", yt, [
|
|
31
31
|
(u(!0), m(W, null, X(_.details.baseParams, (f) => (u(), m("div", {
|
|
32
32
|
key: f.label,
|
|
33
33
|
class: "bg-gray-50 p-2 rounded-lg"
|
|
34
34
|
}, [
|
|
35
|
-
n("p",
|
|
35
|
+
n("p", vt, d(f.label), 1),
|
|
36
36
|
f.tooltip ? we((u(), m("p", xt, [
|
|
37
37
|
Xe(d(f.value), 1)
|
|
38
38
|
])), [
|
|
39
|
-
[
|
|
39
|
+
[o, f.tooltip]
|
|
40
40
|
]) : (u(), m("p", bt, d(f.value), 1))
|
|
41
41
|
]))), 128))
|
|
42
42
|
])
|
|
43
43
|
]),
|
|
44
44
|
n("div", ht, [
|
|
45
|
-
|
|
45
|
+
v[3] || (v[3] = n("div", { class: "mb-2" }, [
|
|
46
46
|
n("h4", { class: "text-sm font-semibold text-gray-900 uppercase tracking-wide" }, "Просторова інформація")
|
|
47
47
|
], -1)),
|
|
48
48
|
n("div", _t, [
|
|
49
49
|
n("div", null, [
|
|
50
|
-
|
|
50
|
+
v[1] || (v[1] = n("p", { class: "text-xs text-gray-500 mb-2" }, "Система координат", -1)),
|
|
51
51
|
n("div", wt, [
|
|
52
52
|
n("p", $t, d(_.details.spatial.crs.code), 1),
|
|
53
53
|
n("p", kt, d(_.details.spatial.crs.description), 1)
|
|
54
54
|
])
|
|
55
55
|
]),
|
|
56
56
|
n("div", null, [
|
|
57
|
-
|
|
57
|
+
v[2] || (v[2] = n("p", { class: "text-xs text-gray-500 mb-2" }, "Межі покриття", -1)),
|
|
58
58
|
n("div", Ct, [
|
|
59
59
|
(u(!0), m(W, null, X(_.details.spatial.bounds, (f) => (u(), m("div", {
|
|
60
60
|
key: f.label,
|
|
@@ -87,18 +87,18 @@ const mt = { class: "flex-1 overflow-y-auto p-4 sm:p-6" }, pt = { class: "space-
|
|
|
87
87
|
files: {}
|
|
88
88
|
},
|
|
89
89
|
setup(_) {
|
|
90
|
-
return (
|
|
91
|
-
(u(!0), m(W, null, X(_.files, (
|
|
92
|
-
key:
|
|
90
|
+
return (y, v) => (u(), m("div", zt, [
|
|
91
|
+
(u(!0), m(W, null, X(_.files, (o) => (u(), m("div", {
|
|
92
|
+
key: o.name,
|
|
93
93
|
class: "border border-gray-100 rounded-xl p-4 shadow-sm bg-white flex items-start justify-between"
|
|
94
94
|
}, [
|
|
95
95
|
n("div", null, [
|
|
96
|
-
n("p", Bt, d(
|
|
97
|
-
n("p", Pt, d(
|
|
96
|
+
n("p", Bt, d(o.name), 1),
|
|
97
|
+
n("p", Pt, d(o.resolution) + " • " + d(o.size) + "MB", 1)
|
|
98
98
|
]),
|
|
99
99
|
n("span", {
|
|
100
|
-
class: ae(["text-[11px] font-semibold px-2 py-0.5 rounded-full",
|
|
101
|
-
}, d(
|
|
100
|
+
class: ae(["text-[11px] font-semibold px-2 py-0.5 rounded-full", o.statusClass])
|
|
101
|
+
}, d(o.status), 3)
|
|
102
102
|
]))), 128))
|
|
103
103
|
]));
|
|
104
104
|
}
|
|
@@ -113,8 +113,8 @@ const mt = { class: "flex-1 overflow-y-auto p-4 sm:p-6" }, pt = { class: "space-
|
|
|
113
113
|
"stroke-linecap": "round",
|
|
114
114
|
"stroke-linejoin": "round"
|
|
115
115
|
};
|
|
116
|
-
function Tt(_,
|
|
117
|
-
return u(), m("svg", Ut, [...
|
|
116
|
+
function Tt(_, y) {
|
|
117
|
+
return u(), m("svg", Ut, [...y[0] || (y[0] = [
|
|
118
118
|
n("circle", {
|
|
119
119
|
cx: "12",
|
|
120
120
|
cy: "12",
|
|
@@ -140,23 +140,23 @@ const qt = /* @__PURE__ */ nt(Dt, [["render", Tt]]), Ft = { class: "absolute top
|
|
|
140
140
|
},
|
|
141
141
|
emits: ["toggle-extent"],
|
|
142
142
|
setup(_) {
|
|
143
|
-
const
|
|
144
|
-
sourceId:
|
|
143
|
+
const y = _, v = y.layerId || "raster-preview-layer", o = `${v}-source`, f = y.extent && y.extent.length === 4 ? [...y.extent] : void 0, P = lt(v, {
|
|
144
|
+
sourceId: o,
|
|
145
145
|
source: {
|
|
146
146
|
type: "raster",
|
|
147
|
-
tiles:
|
|
147
|
+
tiles: y.tileUrl ? [y.tileUrl + "?nottl=1"] : [],
|
|
148
148
|
tileSize: 256,
|
|
149
149
|
...f ? { bounds: f } : {}
|
|
150
150
|
},
|
|
151
151
|
layer: {
|
|
152
|
-
id: `${
|
|
152
|
+
id: `${v}-raster`,
|
|
153
153
|
type: "raster",
|
|
154
154
|
paint: { "raster-opacity": 1 }
|
|
155
155
|
},
|
|
156
|
-
beforeId:
|
|
157
|
-
}), { fitBounds: V } =
|
|
156
|
+
beforeId: y.beforeId ?? null
|
|
157
|
+
}), { fitBounds: V } = rt(), N = $(1);
|
|
158
158
|
S(
|
|
159
|
-
() =>
|
|
159
|
+
() => y.tileUrl,
|
|
160
160
|
(p) => {
|
|
161
161
|
if (!p) {
|
|
162
162
|
P.setVisible(!1);
|
|
@@ -174,7 +174,7 @@ const qt = /* @__PURE__ */ nt(Dt, [["render", Tt]]), Ft = { class: "absolute top
|
|
|
174
174
|
);
|
|
175
175
|
let x = null, c = !1;
|
|
176
176
|
S(
|
|
177
|
-
() =>
|
|
177
|
+
() => y.extent,
|
|
178
178
|
(p) => {
|
|
179
179
|
if (!p || p.length !== 4) return;
|
|
180
180
|
const b = p.join(",");
|
|
@@ -228,10 +228,10 @@ const qt = /* @__PURE__ */ nt(Dt, [["render", Tt]]), Ft = { class: "absolute top
|
|
|
228
228
|
])
|
|
229
229
|
]));
|
|
230
230
|
}
|
|
231
|
-
}), Xt = { class: "flex h-full bg-gradient-to-br from-slate-50 to-white" }, Kt = { class: "flex-1 relative overflow-hidden" }, Yt = { class: "absolute top-0 left-0 w-full z-20" }, Zt = { class: "px-4 sm:px-6 py-4 border-b border-gray-200 bg-white shadow-sm" }, Ht = { class: "flex items-start justify-between gap-4" }, Jt = { class: "flex-1 min-w-0" }, es = { class: "flex items-center text-sm text-gray-500 mb-3" }, ts = { class: "text-gray-900 font-medium truncate max-w-xs" }, ss = { class: "flex items-center justify-between gap-4" }, ns = { class: "flex-1 min-w-0" },
|
|
231
|
+
}), Xt = { class: "flex h-full bg-gradient-to-br from-slate-50 to-white" }, Kt = { class: "flex-1 relative overflow-hidden" }, Yt = { class: "absolute top-0 left-0 w-full z-20" }, Zt = { class: "px-4 sm:px-6 py-4 border-b border-gray-200 bg-white shadow-sm" }, Ht = { class: "flex items-start justify-between gap-4" }, Jt = { class: "flex-1 min-w-0" }, es = { class: "flex items-center text-sm text-gray-500 mb-3" }, ts = { class: "text-gray-900 font-medium truncate max-w-xs" }, ss = { class: "flex items-center justify-between gap-4" }, ns = { class: "flex-1 min-w-0" }, ls = { class: "flex items-center gap-3 mb-1" }, rs = { class: "text-base font-semibold text-gray-900 truncate" }, os = ["title"], is = { class: "flex items-center gap-4 min-w-0" }, as = { class: "flex-1 min-w-0" }, us = ["title"], cs = { class: "w-full h-full bg-gradient-to-br from-sky-50 via-white to-blue-50 flex items-center justify-center relative pt-[105px]" }, ds = { class: "relative w-full h-full" }, fs = { class: "absolute top-4 left-4 z-20" }, ms = {
|
|
232
232
|
key: 1,
|
|
233
233
|
class: "absolute bottom-4 left-1/2 z-30 -translate-x-1/2 rounded-2xl border border-sky-200 bg-white/95 px-4 py-2 text-xs font-medium text-slate-700 shadow-lg backdrop-blur"
|
|
234
|
-
}, ps = { class: "absolute top-[6.5rem] right-2 space-y-1 z-20" }, gs = { class: "flex-1 flex flex-col h-full" },
|
|
234
|
+
}, ps = { class: "absolute top-[6.5rem] right-2 space-y-1 z-20" }, gs = { class: "flex-1 flex flex-col h-full" }, ys = { class: "px-3 pt-3 pb-2 border-b border-gray-100" }, vs = { class: "items-center justify-center text-muted-foreground grid w-full grid-cols-3 h-12 p-1 bg-gray-50 rounded-xl shadow-sm" }, xs = ["aria-selected", "onClick"], bs = { class: "leading-none" }, hs = { class: "flex flex-col flex-1 overflow-y-hidden p-3" }, _s = {
|
|
235
235
|
key: 0,
|
|
236
236
|
class: "mb-3 text-xs text-slate-500"
|
|
237
237
|
}, ws = {
|
|
@@ -240,26 +240,26 @@ const qt = /* @__PURE__ */ nt(Dt, [["render", Tt]]), Ft = { class: "absolute top
|
|
|
240
240
|
}, $s = "OpenGIS", _e = 2, ee = 5, ks = 5, js = /* @__PURE__ */ te({
|
|
241
241
|
__name: "raster",
|
|
242
242
|
setup(_) {
|
|
243
|
-
const
|
|
243
|
+
const y = [
|
|
244
244
|
{ cardClass: "bg-gradient-to-br from-green-50 to-green-100/30 border-green-200", titleClass: "text-green-900" },
|
|
245
245
|
{ cardClass: "bg-gradient-to-br from-blue-50 to-blue-100/30 border-blue-200", titleClass: "text-blue-900" },
|
|
246
246
|
{ cardClass: "bg-gradient-to-br from-purple-50 to-purple-100/30 border-purple-200", titleClass: "text-purple-900" },
|
|
247
247
|
{ cardClass: "bg-gradient-to-br from-gray-50 to-gray-100/30 border-gray-200", titleClass: "text-gray-900" }
|
|
248
|
-
],
|
|
248
|
+
], v = et(), o = tt(), f = $(null), P = h(() => {
|
|
249
249
|
var s;
|
|
250
|
-
const e = (s =
|
|
251
|
-
return (typeof e == "string" && e ? e :
|
|
250
|
+
const e = (s = o.matched[o.matched.length - 1]) == null ? void 0 : s.path;
|
|
251
|
+
return (typeof e == "string" && e ? e : o.path).replace(/\/:id\??$/, "") || "/";
|
|
252
252
|
}), V = h(() => {
|
|
253
253
|
var t;
|
|
254
|
-
const e = (t =
|
|
254
|
+
const e = (t = o.meta) == null ? void 0 : t.title;
|
|
255
255
|
return typeof e == "string" && e.trim() ? e : "Растри";
|
|
256
256
|
});
|
|
257
257
|
function N() {
|
|
258
|
-
|
|
258
|
+
v.push(P.value);
|
|
259
259
|
}
|
|
260
260
|
const x = h(() => {
|
|
261
261
|
var t;
|
|
262
|
-
const e = (t =
|
|
262
|
+
const e = (t = o.params) == null ? void 0 : t.id;
|
|
263
263
|
return typeof e == "string" ? e : void 0;
|
|
264
264
|
}), c = $(null), A = $(!1), p = $(!1), b = $(null), I = $(!0), C = $(!1), O = $(null);
|
|
265
265
|
let G = null, D = null;
|
|
@@ -274,9 +274,9 @@ const qt = /* @__PURE__ */ nt(Dt, [["render", Tt]]), Ft = { class: "absolute top
|
|
|
274
274
|
function ne(e, t) {
|
|
275
275
|
return e.toFixed(t);
|
|
276
276
|
}
|
|
277
|
-
function
|
|
278
|
-
const
|
|
279
|
-
return Math.abs(e - t) >
|
|
277
|
+
function le(e, t, s) {
|
|
278
|
+
const l = 0.5 * 10 ** -s;
|
|
279
|
+
return Math.abs(e - t) > l;
|
|
280
280
|
}
|
|
281
281
|
function z() {
|
|
282
282
|
var e;
|
|
@@ -286,25 +286,25 @@ const qt = /* @__PURE__ */ nt(Dt, [["render", Tt]]), Ft = { class: "absolute top
|
|
|
286
286
|
var a, g, R, k;
|
|
287
287
|
const e = (g = (a = z()) == null ? void 0 : a.map) == null ? void 0 : g.value;
|
|
288
288
|
if (!e) return;
|
|
289
|
-
const t = K(
|
|
290
|
-
if (t == null || s == null ||
|
|
291
|
-
const
|
|
292
|
-
(!
|
|
289
|
+
const t = K(o.query.z), s = K(o.query.x), l = K(o.query.y);
|
|
290
|
+
if (t == null || s == null || l == null) return;
|
|
291
|
+
const r = (R = e.getCenter) == null ? void 0 : R.call(e), i = (k = e.getZoom) == null ? void 0 : k.call(e);
|
|
292
|
+
(!r || le(r.lng, s, ee) || le(r.lat, l, ee) || le(i ?? 0, t, _e)) && (se.value = !0, e.jumpTo({ center: [s, l], zoom: t }), se.value = !1);
|
|
293
293
|
}
|
|
294
294
|
function $e() {
|
|
295
|
-
var
|
|
295
|
+
var r, i, w, a;
|
|
296
296
|
if (se.value) return;
|
|
297
|
-
const e = (i = (
|
|
297
|
+
const e = (i = (r = z()) == null ? void 0 : r.map) == null ? void 0 : i.value;
|
|
298
298
|
if (!e) return;
|
|
299
299
|
const t = (w = e.getCenter) == null ? void 0 : w.call(e), s = (a = e.getZoom) == null ? void 0 : a.call(e);
|
|
300
300
|
if (!t || s == null) return;
|
|
301
|
-
const
|
|
302
|
-
...
|
|
301
|
+
const l = {
|
|
302
|
+
...o.query,
|
|
303
303
|
z: ne(s, _e),
|
|
304
304
|
x: ne(t.lng, ee),
|
|
305
305
|
y: ne(t.lat, ee)
|
|
306
306
|
};
|
|
307
|
-
|
|
307
|
+
o.query.z === l.z && o.query.x === l.x && o.query.y === l.y || v.replace({ query: l });
|
|
308
308
|
}
|
|
309
309
|
function ke() {
|
|
310
310
|
var t;
|
|
@@ -316,41 +316,41 @@ const qt = /* @__PURE__ */ nt(Dt, [["render", Tt]]), Ft = { class: "absolute top
|
|
|
316
316
|
return Number(e.toFixed(ks));
|
|
317
317
|
}
|
|
318
318
|
function ce(e, t) {
|
|
319
|
-
const [s,
|
|
319
|
+
const [s, l] = e, [r, i] = t;
|
|
320
320
|
return [
|
|
321
|
-
Y(Math.min(s,
|
|
322
|
-
Y(Math.min(
|
|
323
|
-
Y(Math.max(s,
|
|
324
|
-
Y(Math.max(
|
|
321
|
+
Y(Math.min(s, r)),
|
|
322
|
+
Y(Math.min(l, i)),
|
|
323
|
+
Y(Math.max(s, r)),
|
|
324
|
+
Y(Math.max(l, i))
|
|
325
325
|
];
|
|
326
326
|
}
|
|
327
327
|
function Ce(e) {
|
|
328
|
-
const [t, s,
|
|
328
|
+
const [t, s, l, r] = e;
|
|
329
329
|
return {
|
|
330
330
|
type: "Polygon",
|
|
331
331
|
coordinates: [[
|
|
332
332
|
[t, s],
|
|
333
|
-
[
|
|
334
|
-
[
|
|
335
|
-
[t,
|
|
333
|
+
[l, s],
|
|
334
|
+
[l, r],
|
|
335
|
+
[t, r],
|
|
336
336
|
[t, s]
|
|
337
337
|
]]
|
|
338
338
|
};
|
|
339
339
|
}
|
|
340
|
-
function
|
|
341
|
-
var
|
|
342
|
-
const t = (
|
|
340
|
+
function re(e) {
|
|
341
|
+
var l, r, i;
|
|
342
|
+
const t = (r = (l = z()) == null ? void 0 : l.map) == null ? void 0 : r.value, s = (i = t == null ? void 0 : t.getCanvas) == null ? void 0 : i.call(t);
|
|
343
343
|
s != null && s.style && (s.style.cursor = e);
|
|
344
344
|
}
|
|
345
345
|
async function Ee(e, t) {
|
|
346
346
|
if (!(!x.value || !c.value))
|
|
347
347
|
try {
|
|
348
|
-
const s = Ce(e),
|
|
348
|
+
const s = Ce(e), l = await fetch(`/api/gis-metadata/raster/${encodeURIComponent(x.value)}`, {
|
|
349
349
|
method: "POST",
|
|
350
350
|
headers: { "Content-Type": "application/json" },
|
|
351
351
|
body: JSON.stringify({ geom: s })
|
|
352
352
|
});
|
|
353
|
-
if (!
|
|
353
|
+
if (!l.ok) throw new Error(`Failed to save raster metadata geom: ${l.status}`);
|
|
354
354
|
M({
|
|
355
355
|
type: "success",
|
|
356
356
|
title: "Extent збережено",
|
|
@@ -368,18 +368,18 @@ const qt = /* @__PURE__ */ nt(Dt, [["render", Tt]]), Ft = { class: "absolute top
|
|
|
368
368
|
}
|
|
369
369
|
}
|
|
370
370
|
function de(e) {
|
|
371
|
-
var s,
|
|
372
|
-
const t = (
|
|
373
|
-
if ((
|
|
371
|
+
var s, l, r;
|
|
372
|
+
const t = (l = (s = z()) == null ? void 0 : s.map) == null ? void 0 : l.value;
|
|
373
|
+
if ((r = t == null ? void 0 : t.dragPan) != null && r.enable && t.dragPan.enable(), (e == null ? void 0 : e.length) === 4 && c.value) {
|
|
374
374
|
const i = Array.isArray(c.value.extent) ? [...c.value.extent] : null;
|
|
375
375
|
c.value = {
|
|
376
376
|
...c.value,
|
|
377
377
|
extent: [...e]
|
|
378
378
|
}, Ee(e, i);
|
|
379
379
|
}
|
|
380
|
-
j = null, Q = !1, O.value = null, C.value = !1,
|
|
380
|
+
j = null, Q = !1, O.value = null, C.value = !1, re("");
|
|
381
381
|
}
|
|
382
|
-
function
|
|
382
|
+
function oe() {
|
|
383
383
|
de(null);
|
|
384
384
|
}
|
|
385
385
|
function Le() {
|
|
@@ -395,11 +395,11 @@ const qt = /* @__PURE__ */ nt(Dt, [["render", Tt]]), Ft = { class: "absolute top
|
|
|
395
395
|
if (!C.value || !Q || !j) return;
|
|
396
396
|
const g = a == null ? void 0 : a.lngLat;
|
|
397
397
|
g && (O.value = ce(j, [g.lng, g.lat]));
|
|
398
|
-
},
|
|
398
|
+
}, l = (a) => {
|
|
399
399
|
if (!C.value || !Q || !j) return;
|
|
400
400
|
const g = a == null ? void 0 : a.lngLat;
|
|
401
401
|
if (!g) {
|
|
402
|
-
|
|
402
|
+
oe();
|
|
403
403
|
return;
|
|
404
404
|
}
|
|
405
405
|
const R = ce(j, [g.lng, g.lat]), [k, J, Ge, Qe] = R;
|
|
@@ -408,22 +408,22 @@ const qt = /* @__PURE__ */ nt(Dt, [["render", Tt]]), Ft = { class: "absolute top
|
|
|
408
408
|
type: "warning",
|
|
409
409
|
title: "Bounds не змінено",
|
|
410
410
|
message: "Потрібно протягнути прямокутник з ненульовою площею."
|
|
411
|
-
}),
|
|
411
|
+
}), oe();
|
|
412
412
|
return;
|
|
413
413
|
}
|
|
414
414
|
de(R);
|
|
415
|
-
},
|
|
416
|
-
C.value && a.key === "Escape" && (a.preventDefault(),
|
|
415
|
+
}, r = (a) => {
|
|
416
|
+
C.value && a.key === "Escape" && (a.preventDefault(), oe());
|
|
417
417
|
};
|
|
418
|
-
e.on("mousedown", t), e.on("mousemove", s), e.on("mouseup",
|
|
419
|
-
e.off("mousedown", t), e.off("mousemove", s), e.off("mouseup",
|
|
418
|
+
e.on("mousedown", t), e.on("mousemove", s), e.on("mouseup", l), window.addEventListener("keydown", r), D = () => {
|
|
419
|
+
e.off("mousedown", t), e.off("mousemove", s), e.off("mouseup", l), window.removeEventListener("keydown", r);
|
|
420
420
|
};
|
|
421
421
|
}
|
|
422
422
|
async function Re() {
|
|
423
423
|
var s;
|
|
424
424
|
if (C.value) return;
|
|
425
425
|
const e = z();
|
|
426
|
-
!(e != null && e.ready) || (await e.ready(), !((s = e.map) == null ? void 0 : s.value)) || (D || Le(), C.value = !0, Q = !1, j = null, O.value = null,
|
|
426
|
+
!(e != null && e.ready) || (await e.ready(), !((s = e.map) == null ? void 0 : s.value)) || (D || Le(), C.value = !0, Q = !1, j = null, O.value = null, re("crosshair"), M({
|
|
427
427
|
type: "info",
|
|
428
428
|
title: "Редагування Bounds",
|
|
429
429
|
message: "Протягніть прямокутник на карті, щоб задати нові межі."
|
|
@@ -442,20 +442,20 @@ const qt = /* @__PURE__ */ nt(Dt, [["render", Tt]]), Ft = { class: "absolute top
|
|
|
442
442
|
}), je = h(() => !!fe.value), pe = h(() => {
|
|
443
443
|
const e = U.value;
|
|
444
444
|
if (!e || e.length !== 4) return null;
|
|
445
|
-
const [t, s,
|
|
446
|
-
return [t, s,
|
|
445
|
+
const [t, s, l, r] = e;
|
|
446
|
+
return [t, s, l, r].some(
|
|
447
447
|
(i) => typeof i != "number" || Number.isNaN(i)
|
|
448
|
-
) ? null : [(t +
|
|
448
|
+
) ? null : [(t + l) / 2, (s + r) / 2];
|
|
449
449
|
}), T = h(() => {
|
|
450
450
|
var i, w;
|
|
451
|
-
const e = c.value, t = e == null ? void 0 : e.extent,
|
|
451
|
+
const e = c.value, t = e == null ? void 0 : e.extent, l = x.value ?? "—", r = [
|
|
452
452
|
e != null && e.extension ? `Формат ${String(e.extension).toUpperCase()}` : null,
|
|
453
453
|
(e == null ? void 0 : e.resolution) || null
|
|
454
454
|
].filter(Boolean).join(", ");
|
|
455
455
|
return {
|
|
456
|
-
id:
|
|
456
|
+
id: l,
|
|
457
457
|
name: (e == null ? void 0 : e.name) || ((w = (i = e == null ? void 0 : e.files) == null ? void 0 : i[0]) == null ? void 0 : w.name),
|
|
458
|
-
description: (e == null ? void 0 : e.description) ||
|
|
458
|
+
description: (e == null ? void 0 : e.description) || r || "Попередній перегляд растрового шару.",
|
|
459
459
|
coverage: t && t.length === 4 ? `${L(t[0])}, ${L(t[1])} → ${L(t[2])}, ${L(t[3])}` : "Покриття уточнюється",
|
|
460
460
|
crs: e != null && e.srid ? `EPSG:${e.srid}` : "EPSG:4326",
|
|
461
461
|
source: e != null && e.proj4 ? e.proj4 : "Джерело: Mapnik",
|
|
@@ -472,15 +472,15 @@ const qt = /* @__PURE__ */ nt(Dt, [["render", Tt]]), Ft = { class: "absolute top
|
|
|
472
472
|
].filter((t) => t).join(", ") : "";
|
|
473
473
|
}), ge = [
|
|
474
474
|
{ key: "info", label: "Інформація", icon: qt },
|
|
475
|
-
{ key: "files", label: "Файли", icon:
|
|
476
|
-
{ key: "metadata", label: "Метадані", icon:
|
|
477
|
-
],
|
|
478
|
-
S(() =>
|
|
479
|
-
e &&
|
|
475
|
+
{ key: "files", label: "Файли", icon: at },
|
|
476
|
+
{ key: "metadata", label: "Метадані", icon: ft }
|
|
477
|
+
], ye = ge.map((e) => e.key), E = $(ye.includes(o.query.tab) ? o.query.tab : "info"), Z = $(!0);
|
|
478
|
+
S(() => o.query.tab, (e) => {
|
|
479
|
+
e && ye.includes(e) && E.value !== e && (E.value = e);
|
|
480
480
|
}), S(E, (e) => {
|
|
481
|
-
|
|
481
|
+
o.query.tab !== e && v.replace({ query: { ...o.query, tab: e } });
|
|
482
482
|
});
|
|
483
|
-
const ze = h(() => Ne(c.value)),
|
|
483
|
+
const ze = h(() => Ne(c.value)), ve = h(() => Ue(c.value));
|
|
484
484
|
S(
|
|
485
485
|
() => c.value,
|
|
486
486
|
() => {
|
|
@@ -489,11 +489,11 @@ const qt = /* @__PURE__ */ nt(Dt, [["render", Tt]]), Ft = { class: "absolute top
|
|
|
489
489
|
{ immediate: !0 }
|
|
490
490
|
);
|
|
491
491
|
async function Be() {
|
|
492
|
-
var
|
|
492
|
+
var l;
|
|
493
493
|
const e = z();
|
|
494
494
|
if (!(e != null && e.ready)) return;
|
|
495
495
|
await e.ready(), ue();
|
|
496
|
-
const t = (
|
|
496
|
+
const t = (l = e.map) == null ? void 0 : l.value;
|
|
497
497
|
if (!t) return;
|
|
498
498
|
const s = () => $e();
|
|
499
499
|
t.on("moveend", s), t.on("zoomend", s), G = () => {
|
|
@@ -501,14 +501,14 @@ const qt = /* @__PURE__ */ nt(Dt, [["render", Tt]]), Ft = { class: "absolute top
|
|
|
501
501
|
};
|
|
502
502
|
}
|
|
503
503
|
S(
|
|
504
|
-
() => [
|
|
504
|
+
() => [o.query.z, o.query.x, o.query.y],
|
|
505
505
|
() => {
|
|
506
506
|
ue();
|
|
507
507
|
}
|
|
508
508
|
), Ye(() => {
|
|
509
509
|
Be();
|
|
510
510
|
}), Ze(() => {
|
|
511
|
-
G == null || G(), G = null, D == null || D(), D = null,
|
|
511
|
+
G == null || G(), G = null, D == null || D(), D = null, re("");
|
|
512
512
|
}), S(x, () => {
|
|
513
513
|
H();
|
|
514
514
|
}, { immediate: !0 });
|
|
@@ -537,13 +537,13 @@ const qt = /* @__PURE__ */ nt(Dt, [["render", Tt]]), Ft = { class: "absolute top
|
|
|
537
537
|
}
|
|
538
538
|
function xe(e) {
|
|
539
539
|
return new Promise((t, s) => {
|
|
540
|
-
const
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
},
|
|
544
|
-
|
|
545
|
-
}),
|
|
546
|
-
|
|
540
|
+
const l = new EventSource(e), r = [];
|
|
541
|
+
l.onmessage = (i) => {
|
|
542
|
+
r.push(i.data), console.log("Received:", i.data);
|
|
543
|
+
}, l.addEventListener("end", () => {
|
|
544
|
+
l.close(), t(r);
|
|
545
|
+
}), l.onerror = (i) => {
|
|
546
|
+
l.close(), t(i);
|
|
547
547
|
};
|
|
548
548
|
});
|
|
549
549
|
}
|
|
@@ -578,15 +578,15 @@ const qt = /* @__PURE__ */ nt(Dt, [["render", Tt]]), Ft = { class: "absolute top
|
|
|
578
578
|
}
|
|
579
579
|
function Te(e) {
|
|
580
580
|
return e != null && e.length ? e.map((s) => {
|
|
581
|
-
var
|
|
581
|
+
var r;
|
|
582
582
|
if (!s) return "";
|
|
583
|
-
const
|
|
584
|
-
return ((
|
|
583
|
+
const l = s.trim().split(/\s+/)[0];
|
|
584
|
+
return ((r = l == null ? void 0 : l[0]) == null ? void 0 : r.toUpperCase()) || "";
|
|
585
585
|
}).filter(Boolean).join("") : "";
|
|
586
586
|
}
|
|
587
587
|
function qe(e) {
|
|
588
588
|
var i, w;
|
|
589
|
-
const t = e.bands_count ?? ((i = e.bands) == null ? void 0 : i.length) ?? "—", s = Te(e.bands),
|
|
589
|
+
const t = e.bands_count ?? ((i = e.bands) == null ? void 0 : i.length) ?? "—", s = Te(e.bands), l = (e.bands ?? []).map((a) => a.trim()).filter((a) => a.length > 0), r = l.length ? l.join(", ") : void 0;
|
|
590
590
|
return [
|
|
591
591
|
{
|
|
592
592
|
label: "Розмір растру, px",
|
|
@@ -597,7 +597,7 @@ const qt = /* @__PURE__ */ nt(Dt, [["render", Tt]]), Ft = { class: "absolute top
|
|
|
597
597
|
{
|
|
598
598
|
label: "Кількість каналів",
|
|
599
599
|
value: typeof t == "number" ? `${t}${s ? ` (${s})` : ""}` : `${t}${s ? ` (${s})` : ""}`,
|
|
600
|
-
tooltip:
|
|
600
|
+
tooltip: r
|
|
601
601
|
},
|
|
602
602
|
{ label: "Глибина кольору", value: e.color_depth ? `${e.color_depth} біт/канал` : "—" },
|
|
603
603
|
{ label: "Стиснення", value: e.compression || "—" }
|
|
@@ -619,14 +619,14 @@ const qt = /* @__PURE__ */ nt(Dt, [["render", Tt]]), Ft = { class: "absolute top
|
|
|
619
619
|
}
|
|
620
620
|
function Ae(e) {
|
|
621
621
|
var t;
|
|
622
|
-
return (t = e.bands) != null && t.length ? e.bands.map((s,
|
|
623
|
-
const
|
|
622
|
+
return (t = e.bands) != null && t.length ? e.bands.map((s, l) => {
|
|
623
|
+
const r = y[l % y.length];
|
|
624
624
|
return {
|
|
625
|
-
label: `Канал ${
|
|
626
|
-
cardClass:
|
|
627
|
-
titleClass:
|
|
625
|
+
label: `Канал ${l + 1}${s ? ` (${s})` : ""}`,
|
|
626
|
+
cardClass: r.cardClass,
|
|
627
|
+
titleClass: r.titleClass,
|
|
628
628
|
metrics: [
|
|
629
|
-
{ label: "Назва", value: s || `Канал ${
|
|
629
|
+
{ label: "Назва", value: s || `Канал ${l + 1}` },
|
|
630
630
|
{ label: "Глибина", value: e.color_depth ? `${e.color_depth} біт` : "—" },
|
|
631
631
|
{ label: "Статус", value: e.cache ? "Кешовано" : "Готово" }
|
|
632
632
|
]
|
|
@@ -679,14 +679,14 @@ const qt = /* @__PURE__ */ nt(Dt, [["render", Tt]]), Ft = { class: "absolute top
|
|
|
679
679
|
]),
|
|
680
680
|
n("div", ss, [
|
|
681
681
|
n("div", ns, [
|
|
682
|
-
n("div",
|
|
683
|
-
n("h1",
|
|
682
|
+
n("div", ls, [
|
|
683
|
+
n("h1", rs, d(T.value.name || "Растер"), 1)
|
|
684
684
|
]),
|
|
685
685
|
ie.value ? (u(), m("p", {
|
|
686
686
|
key: 0,
|
|
687
687
|
class: "text-xs text-gray-500 truncate",
|
|
688
688
|
title: ie.value
|
|
689
|
-
}, d(ie.value), 9,
|
|
689
|
+
}, d(ie.value), 9, os)) : q("", !0)
|
|
690
690
|
])
|
|
691
691
|
])
|
|
692
692
|
]),
|
|
@@ -697,7 +697,7 @@ const qt = /* @__PURE__ */ nt(Dt, [["render", Tt]]), Ft = { class: "absolute top
|
|
|
697
697
|
title: T.value.description
|
|
698
698
|
}, d(T.value.description), 9, us)
|
|
699
699
|
]),
|
|
700
|
-
B(
|
|
700
|
+
B(ut, {
|
|
701
701
|
"entity-id": x.value || "",
|
|
702
702
|
"entity-info": { name: T.value.name },
|
|
703
703
|
table: "gis.rasters.table",
|
|
@@ -712,7 +712,7 @@ const qt = /* @__PURE__ */ nt(Dt, [["render", Tt]]), Ft = { class: "absolute top
|
|
|
712
712
|
]),
|
|
713
713
|
n("div", cs, [
|
|
714
714
|
n("div", ds, [
|
|
715
|
-
B(
|
|
715
|
+
B(ot, {
|
|
716
716
|
ref_key: "mapViewRef",
|
|
717
717
|
ref: f
|
|
718
718
|
}, {
|
|
@@ -736,7 +736,7 @@ const qt = /* @__PURE__ */ nt(Dt, [["render", Tt]]), Ft = { class: "absolute top
|
|
|
736
736
|
"line-width": 3
|
|
737
737
|
}, null, 8, ["extent", "layer-id"]),
|
|
738
738
|
n("div", fs, [
|
|
739
|
-
B(
|
|
739
|
+
B(it)
|
|
740
740
|
]),
|
|
741
741
|
C.value ? (u(), m("div", ms, " Потягніть на карті, щоб намалювати нові Bounds. Esc скасовує редагування. ")) : q("", !0),
|
|
742
742
|
n("div", ps, [
|
|
@@ -753,7 +753,7 @@ const qt = /* @__PURE__ */ nt(Dt, [["render", Tt]]), Ft = { class: "absolute top
|
|
|
753
753
|
}, 512)
|
|
754
754
|
])
|
|
755
755
|
]),
|
|
756
|
-
B(
|
|
756
|
+
B(ct, {
|
|
757
757
|
open: Z.value,
|
|
758
758
|
onToggle: t[1] || (t[1] = (s) => Z.value = !Z.value)
|
|
759
759
|
}, null, 8, ["open"])
|
|
@@ -762,15 +762,15 @@ const qt = /* @__PURE__ */ nt(Dt, [["render", Tt]]), Ft = { class: "absolute top
|
|
|
762
762
|
class: ae(["bg-white border-l border-gray-100 flex flex-col overflow-hidden shadow-lg flex-shrink-0 transition-[width] duration-100 ease-in-out", Z.value ? "w-[650px]" : "w-0"])
|
|
763
763
|
}, [
|
|
764
764
|
n("div", gs, [
|
|
765
|
-
n("div",
|
|
766
|
-
n("div",
|
|
765
|
+
n("div", ys, [
|
|
766
|
+
n("div", vs, [
|
|
767
767
|
(u(), m(W, null, X(ge, (s) => n("button", {
|
|
768
768
|
key: s.key,
|
|
769
769
|
type: "button",
|
|
770
770
|
role: "tab",
|
|
771
771
|
"aria-selected": E.value === s.key,
|
|
772
772
|
class: ae(["whitespace-nowrap flex flex-col items-center justify-center gap-0.5 py-1 px-1 text-[9px] font-medium transition-all duration-300 hover:bg-white/70 rounded-lg group", E.value === s.key ? "bg-white shadow-sm text-gray-700" : ""]),
|
|
773
|
-
onClick: (
|
|
773
|
+
onClick: (l) => E.value = s.key
|
|
774
774
|
}, [
|
|
775
775
|
(u(), F(Je(s.icon), { class: "h-3.5 w-3.5 mb-0.5" })),
|
|
776
776
|
n("span", bs, d(s.label), 1)
|
|
@@ -782,16 +782,16 @@ const qt = /* @__PURE__ */ nt(Dt, [["render", Tt]]), Ft = { class: "absolute top
|
|
|
782
782
|
E.value === "files" ? (u(), F(Nt, {
|
|
783
783
|
key: 2,
|
|
784
784
|
files: ze.value
|
|
785
|
-
}, null, 8, ["files"])) : E.value === "metadata" ? (u(), F(
|
|
785
|
+
}, null, 8, ["files"])) : E.value === "metadata" ? (u(), F(dt, {
|
|
786
786
|
key: 3,
|
|
787
787
|
data: c.value,
|
|
788
788
|
"entity-id": x.value,
|
|
789
789
|
"entity-type": "raster",
|
|
790
790
|
onSaved: H,
|
|
791
791
|
onEditCssBounds: Re
|
|
792
|
-
}, null, 8, ["data", "entity-id"])) :
|
|
792
|
+
}, null, 8, ["data", "entity-id"])) : ve.value ? (u(), F(jt, {
|
|
793
793
|
key: 4,
|
|
794
|
-
details:
|
|
794
|
+
details: ve.value
|
|
795
795
|
}, null, 8, ["details"])) : q("", !0)
|
|
796
796
|
])
|
|
797
797
|
])
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { defineComponent as B, useModel as S, computed as h, defineAsyncComponent as O, ref as $, watch as D, onBeforeUnmount as K, openBlock as k, createElementBlock as C, createElementVNode as l, createBlock as T, unref as U, createTextVNode as q, createVNode as V,
|
|
1
|
+
import { defineComponent as B, mergeModels as j, useModel as S, computed as h, defineAsyncComponent as O, ref as $, watch as D, onBeforeUnmount as K, openBlock as k, createElementBlock as C, createElementVNode as l, createBlock as T, unref as U, createTextVNode as q, createVNode as V, toDisplayString as M, resolveDynamicComponent as J, onMounted as G, resolveComponent as W, withCtx as I, Fragment as X, createCommentVNode as Y } from "vue";
|
|
2
2
|
import { useRoute as Z, useRouter as ee } from "vue-router";
|
|
3
3
|
import { notify as F } from "@opengis/core";
|
|
4
4
|
import { _ as te } from "./TableFormHeader.vue_vue_type_script_setup_true_lang-Mci_tseM.js";
|
|
5
|
-
import { V as N } from "./vs-datatable-
|
|
6
|
-
import { _ as z, n as R, m as E, r as H } from "./import-utils-
|
|
7
|
-
import { a as ae, b as le, c as se, d as oe, e as ie } from "./index-
|
|
5
|
+
import { V as N } from "./vs-datatable-B8qaPSDU.js";
|
|
6
|
+
import { _ as z, n as R, m as E, r as H } from "./import-utils-vyDDgOA7.js";
|
|
7
|
+
import { a as ae, b as le, c as se, d as oe, e as ie } from "./index-CtOBLkqk.js";
|
|
8
8
|
import { LucideChevronRight as re } from "lucide-vue-next";
|
|
9
9
|
import { _ as ne } from "./MapSettingsTabs.vue_vue_type_script_setup_true_lang-CKCK3NqY.js";
|
|
10
10
|
const ue = { class: "vs-form" }, de = { class: "vs-form__body auto-rows-max container" }, ce = { class: "flex flex-wrap" }, me = { class: "h-fit w-full mb-6 bg-white border border-gray-200 rounded-lg p-6" }, ve = { class: "h-fit w-full flex flex-wrap" }, pe = { class: "w-full" }, fe = /* @__PURE__ */ B({
|
|
@@ -521,11 +521,11 @@ const ue = { class: "vs-form" }, de = { class: "vs-form__body auto-rows-max cont
|
|
|
521
521
|
]));
|
|
522
522
|
}
|
|
523
523
|
}), P = {
|
|
524
|
-
template1:
|
|
525
|
-
template2:
|
|
524
|
+
template1: ae,
|
|
525
|
+
template2: le,
|
|
526
526
|
template3: se,
|
|
527
|
-
template4:
|
|
528
|
-
template5:
|
|
527
|
+
template4: oe,
|
|
528
|
+
template5: ie
|
|
529
529
|
}, De = { class: "space-y-4" }, Se = { class: "flex items-center gap-4 bg-white border border-gray-200 rounded-lg px-6 py-4" }, qe = { class: "text-lg font-semibold mb-4" }, Be = { class: "bg-white" }, Ie = {
|
|
530
530
|
key: 1,
|
|
531
531
|
class: "text-gray-400 text-center py-12"
|