@opengis/gis 0.2.118 → 0.2.120
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 +148 -148
- package/dist/{CardIcon-FxpK90rl.js → CardIcon-Dx_myDwM.js} +1 -1
- package/dist/{EntityCreatePage-Da8XgBKU.js → EntityCreatePage-Ch8NU_Yw.js} +14 -14
- package/dist/{EntityEditPage-QktKEAxz.js → EntityEditPage-CRRcW7FL.js} +27 -27
- package/dist/EntityTablePage-DY9v1aWL.js +282 -0
- package/dist/{ExtentOutlineLayer.vue_vue_type_script_setup_true_lang-Bl5ZwNQX.js → ExtentOutlineLayer.vue_vue_type_script_setup_true_lang-DgQHLSak.js} +1 -1
- package/dist/{HeaderActions.vue_vue_type_script_setup_true_lang-CKEep8BL.js → HeaderActions.vue_vue_type_script_setup_true_lang-BQ32ioLC.js} +30 -30
- package/dist/{MapSettings-CjJ7WWkn.js → MapSettings-CaGPr5uG.js} +34 -34
- package/dist/{MonacoEditor.vue_vue_type_script_setup_true_lang-Bs7gz6Lt.js → MonacoEditor.vue_vue_type_script_setup_true_lang-D3ZPeXMw.js} +92 -73
- package/dist/RastersTablePage-CJyO2DoI.js +247 -0
- package/dist/{cartocss-C_O8qG3h.js → cartocss-Bhat1m61.js} +297 -295
- package/dist/{import-utils-BbZ1gVp-.js → import-utils-BxeYqcn7.js} +33 -33
- package/dist/index-Ba6SE4TN.js +10203 -0
- package/dist/index.css +1 -1
- package/dist/index.js +1 -1
- package/dist/index.umd.cjs +41 -41
- package/dist/{raster-Du8ZMtjf.js → raster-Cbs1xR5Y.js} +120 -121
- package/dist/{register-B2gF-GzA.js → register-D0AsH83v.js} +8 -8
- package/dist/{service-BnPCDVwm.js → service-C4nt_DBO.js} +11 -11
- package/dist/{vs-datatable-QKks38xL.js → vs-datatable-QG5b0CCL.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 +54 -54
- 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 +2 -2
- 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/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/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 -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 +234 -234
- 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 +50 -50
- 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 +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 +222 -222
- 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 +112 -112
- 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 -98
- package/server/routes/mapnik/controllers/createXml.js +67 -66
- package/server/routes/mapnik/controllers/createXmlMulti.js +76 -75
- 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 +20 -20
- package/server/routes/mapnik/controllers/rasterInfo.js +54 -53
- 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 +28 -28
- package/server/routes/mapnik/functions/uploadXML.js +110 -110
- package/server/routes/mapnik/index.js +27 -27
- 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/EntityTablePage-ii-Wz0YZ.js +0 -286
- package/dist/FileEdit-C7tteUeG.js +0 -37
- package/dist/RastersTablePage-DpKkFOyo.js +0 -359
- package/dist/index-4aSsUBB8.js +0 -10020
package/README.md
CHANGED
|
@@ -1,148 +1,148 @@
|
|
|
1
|
-
<!--  -->
|
|
2
|
-
|
|
3
|
-
# @opengis/gis
|
|
4
|
-
|
|
5
|
-
[](https://www.npmjs.com/package/@opengis/gis)
|
|
6
|
-
[]()
|
|
7
|
-
[]()
|
|
8
|
-
[](http://standardjs.com/)
|
|
9
|
-
|
|
10
|
-
Tools for mapping, geodata management, and integration into modern web services.
|
|
11
|
-
|
|
12
|
-
## Features
|
|
13
|
-
|
|
14
|
-
- **Interactive Web Maps** – View and explore geographic data online.
|
|
15
|
-
- **Dataset Management** – Upload and manage spatial data (Shapefile, GeoJSON, CSV, etc.).
|
|
16
|
-
- **Raster Visualization** – Display satellite images and raster layers.
|
|
17
|
-
- **Layer Control** – Add, remove, and organize map layers.
|
|
18
|
-
- **User & Admin Management** – Control access and permissions.
|
|
19
|
-
- **API & OGC Standards Support** – Supports WMS, WFS, WMTS services.
|
|
20
|
-
- **Cloud Access** – Use the GIS platform from any device via the web.
|
|
21
|
-
- **High-Performance Processing** – Handles large spatial datasets efficiently.
|
|
22
|
-
|
|
23
|
-
## Install
|
|
24
|
-
|
|
25
|
-
```bash
|
|
26
|
-
npm i @opengis/gis
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
## Usage Portal
|
|
30
|
-
|
|
31
|
-
```vue
|
|
32
|
-
<template>
|
|
33
|
-
<!--$route.params.id-->
|
|
34
|
-
<MapWidget :id="'home'" />
|
|
35
|
-
</template>
|
|
36
|
-
|
|
37
|
-
<script setup lang="ts">
|
|
38
|
-
const MapWidget = defineAsyncComponent(() =>
|
|
39
|
-
import("@opengis/gis").then((m) => m.MapWidget),
|
|
40
|
-
);
|
|
41
|
-
</script>
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
## Usage Admin
|
|
45
|
-
|
|
46
|
-
```js
|
|
47
|
-
// router.config
|
|
48
|
-
export default [
|
|
49
|
-
{
|
|
50
|
-
path: "/gis.registers/:id?",
|
|
51
|
-
component: () => import("@opengis/gis").then((m) => m.Register),
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
path: "/gis.services/:id?",
|
|
55
|
-
component: () => import("@opengis/gis").then((m) => m.Service),
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
path: "/gis.rasters/:id?",
|
|
59
|
-
component: () => import("@opengis/gis").then((m) => m.Raster),
|
|
60
|
-
},
|
|
61
|
-
{
|
|
62
|
-
path: "/gis.cartocss/:id?",
|
|
63
|
-
component: () => import("@opengis/gis").then((m) => m.CartoCSS),
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
path: "/gis.maps/:id?",
|
|
67
|
-
component: () => import("@opengis/gis").then((m) => m.MapSettings),
|
|
68
|
-
},
|
|
69
|
-
];
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
## Config
|
|
73
|
-
|
|
74
|
-
```js
|
|
75
|
-
// main.ts
|
|
76
|
-
app.config.globalProperties.$settings = {
|
|
77
|
-
map: {
|
|
78
|
-
center: [34.71, 48.51],
|
|
79
|
-
zoom: 14,
|
|
80
|
-
basemaps: [
|
|
81
|
-
{
|
|
82
|
-
name: "Оглядова карта",
|
|
83
|
-
url: "https://data.gki.com.ua/api-user/rtile/voyager/ua/{z}/{x}/{y}.png",
|
|
84
|
-
},
|
|
85
|
-
{
|
|
86
|
-
name: "Ортофото 1:10K",
|
|
87
|
-
url: "https://data.gki.com.ua/api-user/rtile/orto10/ua/{z}/{x}/{y}.png",
|
|
88
|
-
},
|
|
89
|
-
{
|
|
90
|
-
name: "Open Street Maps",
|
|
91
|
-
url: "https://tile.openstreetmap.org.ua/styles/osm-bright/{z}/{x}/{y}.png",
|
|
92
|
-
},
|
|
93
|
-
{
|
|
94
|
-
name: "Топографічна карта 1:2000",
|
|
95
|
-
url: "/api/gis-rtile/3830082297432900636/{z}/{x}/{y}.png",
|
|
96
|
-
preview: "/api/gis-rtile/3830082297432900636/17/78138/45286.png",
|
|
97
|
-
},
|
|
98
|
-
],
|
|
99
|
-
},
|
|
100
|
-
};
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
## Documentation
|
|
104
|
-
|
|
105
|
-
For a detailed understanding of `cms`, its features, and how to use them, refer to our [Documentation](https://gis.opengis.info/).
|
|
106
|
-
|
|
107
|
-
## Technology stack
|
|
108
|
-
|
|
109
|
-
<a href="https://fastify.dev/" target="_blank">
|
|
110
|
-
<img src="https://img.shields.io/badge/Fastify-323330?style=for-the-badge&logo=fastify" /></a>
|
|
111
|
-
|
|
112
|
-
<a href="https://vuejs.org/" target="_blank">
|
|
113
|
-
<img src="https://img.shields.io/badge/Vue%20js-323330?style=for-the-badge&logo=vuedotjs&logoColor=4FC08D" /></a>
|
|
114
|
-
|
|
115
|
-
<a href="https://vite.dev/" target="_blank">
|
|
116
|
-
<img src="https://img.shields.io/badge/Vite-323330?style=for-the-badge&logo=vite" /></a>
|
|
117
|
-
|
|
118
|
-
<a href="https://www.postgresql.org/" target="_blank">
|
|
119
|
-
<img src="https://img.shields.io/badge/PostgreSQL-323330?style=for-the-badge&logo=postgresql&logoColor=white" /></a>
|
|
120
|
-
|
|
121
|
-
<a href="https://redis.io/" target="_blank">
|
|
122
|
-
<img src="https://img.shields.io/badge/redis-323330.svg?&style=for-the-badge&logo=redis&logoColor=%23DD0031" /></a>
|
|
123
|
-
|
|
124
|
-
<a href="https://nodejs.org/" target="_blank">
|
|
125
|
-
<img src="https://img.shields.io/badge/Node.js-323330?style=for-the-badge&logo=node.js&logoColor=white" /></a>
|
|
126
|
-
|
|
127
|
-
## Contribute
|
|
128
|
-
|
|
129
|
-
Feel free to contact us through our website [SOFTPRO.UA](https://softpro.ua) or email <info@softpro.ua>
|
|
130
|
-
|
|
131
|
-
- Report bugs
|
|
132
|
-
- Share your ideas
|
|
133
|
-
- Ask questions
|
|
134
|
-
|
|
135
|
-
## Follow Us
|
|
136
|
-
|
|
137
|
-
[Official site](https://softpro.ua)
|
|
138
|
-
|
|
139
|
-
<p>
|
|
140
|
-
<a href="https://www.instagram.com/gissoftpro/" target="_blank"><img src="https://cdn.softpro.ua/data/npm/instagram.png" alt="Softpro Instagram" title="oftpro Instagram"></a>
|
|
141
|
-
<a href="https://www.facebook.com/gissoftpro" target="_blank"><img src="https://cdn.softpro.ua/data/npm/facebook.png" alt="Softpro Facebook" title="Softpro Facebook"></a>
|
|
142
|
-
<a href="https://t.me/softprogis" target="_blank"><img src="https://cdn.softpro.ua/data/npm/telegram.png" alt="Softpro Telegram" title="Softpro Telegram"></a>
|
|
143
|
-
<a href="https://www.linkedin.com/in/softpro-ukraine-a8876b282/recent-activity/all/" target="_blank"><img src="https://cdn.softpro.ua/data/npm/social/linkedin.png" alt="Softpro Linkedin" title="Softpro LinkedIn"></a>
|
|
144
|
-
</p>
|
|
145
|
-
|
|
146
|
-
## License
|
|
147
|
-
|
|
148
|
-
Copyright © SOFTPRO. All rights reserved.
|
|
1
|
+
<!--  -->
|
|
2
|
+
|
|
3
|
+
# @opengis/gis
|
|
4
|
+
|
|
5
|
+
[](https://www.npmjs.com/package/@opengis/gis)
|
|
6
|
+
[]()
|
|
7
|
+
[]()
|
|
8
|
+
[](http://standardjs.com/)
|
|
9
|
+
|
|
10
|
+
Tools for mapping, geodata management, and integration into modern web services.
|
|
11
|
+
|
|
12
|
+
## Features
|
|
13
|
+
|
|
14
|
+
- **Interactive Web Maps** – View and explore geographic data online.
|
|
15
|
+
- **Dataset Management** – Upload and manage spatial data (Shapefile, GeoJSON, CSV, etc.).
|
|
16
|
+
- **Raster Visualization** – Display satellite images and raster layers.
|
|
17
|
+
- **Layer Control** – Add, remove, and organize map layers.
|
|
18
|
+
- **User & Admin Management** – Control access and permissions.
|
|
19
|
+
- **API & OGC Standards Support** – Supports WMS, WFS, WMTS services.
|
|
20
|
+
- **Cloud Access** – Use the GIS platform from any device via the web.
|
|
21
|
+
- **High-Performance Processing** – Handles large spatial datasets efficiently.
|
|
22
|
+
|
|
23
|
+
## Install
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
npm i @opengis/gis
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Usage Portal
|
|
30
|
+
|
|
31
|
+
```vue
|
|
32
|
+
<template>
|
|
33
|
+
<!--$route.params.id-->
|
|
34
|
+
<MapWidget :id="'home'" />
|
|
35
|
+
</template>
|
|
36
|
+
|
|
37
|
+
<script setup lang="ts">
|
|
38
|
+
const MapWidget = defineAsyncComponent(() =>
|
|
39
|
+
import("@opengis/gis").then((m) => m.MapWidget),
|
|
40
|
+
);
|
|
41
|
+
</script>
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Usage Admin
|
|
45
|
+
|
|
46
|
+
```js
|
|
47
|
+
// router.config
|
|
48
|
+
export default [
|
|
49
|
+
{
|
|
50
|
+
path: "/gis.registers/:id?",
|
|
51
|
+
component: () => import("@opengis/gis").then((m) => m.Register),
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
path: "/gis.services/:id?",
|
|
55
|
+
component: () => import("@opengis/gis").then((m) => m.Service),
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
path: "/gis.rasters/:id?",
|
|
59
|
+
component: () => import("@opengis/gis").then((m) => m.Raster),
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
path: "/gis.cartocss/:id?",
|
|
63
|
+
component: () => import("@opengis/gis").then((m) => m.CartoCSS),
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
path: "/gis.maps/:id?",
|
|
67
|
+
component: () => import("@opengis/gis").then((m) => m.MapSettings),
|
|
68
|
+
},
|
|
69
|
+
];
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Config
|
|
73
|
+
|
|
74
|
+
```js
|
|
75
|
+
// main.ts
|
|
76
|
+
app.config.globalProperties.$settings = {
|
|
77
|
+
map: {
|
|
78
|
+
center: [34.71, 48.51],
|
|
79
|
+
zoom: 14,
|
|
80
|
+
basemaps: [
|
|
81
|
+
{
|
|
82
|
+
name: "Оглядова карта",
|
|
83
|
+
url: "https://data.gki.com.ua/api-user/rtile/voyager/ua/{z}/{x}/{y}.png",
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
name: "Ортофото 1:10K",
|
|
87
|
+
url: "https://data.gki.com.ua/api-user/rtile/orto10/ua/{z}/{x}/{y}.png",
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
name: "Open Street Maps",
|
|
91
|
+
url: "https://tile.openstreetmap.org.ua/styles/osm-bright/{z}/{x}/{y}.png",
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
name: "Топографічна карта 1:2000",
|
|
95
|
+
url: "/api/gis-rtile/3830082297432900636/{z}/{x}/{y}.png",
|
|
96
|
+
preview: "/api/gis-rtile/3830082297432900636/17/78138/45286.png",
|
|
97
|
+
},
|
|
98
|
+
],
|
|
99
|
+
},
|
|
100
|
+
};
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## Documentation
|
|
104
|
+
|
|
105
|
+
For a detailed understanding of `cms`, its features, and how to use them, refer to our [Documentation](https://gis.opengis.info/).
|
|
106
|
+
|
|
107
|
+
## Technology stack
|
|
108
|
+
|
|
109
|
+
<a href="https://fastify.dev/" target="_blank">
|
|
110
|
+
<img src="https://img.shields.io/badge/Fastify-323330?style=for-the-badge&logo=fastify" /></a>
|
|
111
|
+
|
|
112
|
+
<a href="https://vuejs.org/" target="_blank">
|
|
113
|
+
<img src="https://img.shields.io/badge/Vue%20js-323330?style=for-the-badge&logo=vuedotjs&logoColor=4FC08D" /></a>
|
|
114
|
+
|
|
115
|
+
<a href="https://vite.dev/" target="_blank">
|
|
116
|
+
<img src="https://img.shields.io/badge/Vite-323330?style=for-the-badge&logo=vite" /></a>
|
|
117
|
+
|
|
118
|
+
<a href="https://www.postgresql.org/" target="_blank">
|
|
119
|
+
<img src="https://img.shields.io/badge/PostgreSQL-323330?style=for-the-badge&logo=postgresql&logoColor=white" /></a>
|
|
120
|
+
|
|
121
|
+
<a href="https://redis.io/" target="_blank">
|
|
122
|
+
<img src="https://img.shields.io/badge/redis-323330.svg?&style=for-the-badge&logo=redis&logoColor=%23DD0031" /></a>
|
|
123
|
+
|
|
124
|
+
<a href="https://nodejs.org/" target="_blank">
|
|
125
|
+
<img src="https://img.shields.io/badge/Node.js-323330?style=for-the-badge&logo=node.js&logoColor=white" /></a>
|
|
126
|
+
|
|
127
|
+
## Contribute
|
|
128
|
+
|
|
129
|
+
Feel free to contact us through our website [SOFTPRO.UA](https://softpro.ua) or email <info@softpro.ua>
|
|
130
|
+
|
|
131
|
+
- Report bugs
|
|
132
|
+
- Share your ideas
|
|
133
|
+
- Ask questions
|
|
134
|
+
|
|
135
|
+
## Follow Us
|
|
136
|
+
|
|
137
|
+
[Official site](https://softpro.ua)
|
|
138
|
+
|
|
139
|
+
<p>
|
|
140
|
+
<a href="https://www.instagram.com/gissoftpro/" target="_blank"><img src="https://cdn.softpro.ua/data/npm/instagram.png" alt="Softpro Instagram" title="oftpro Instagram"></a>
|
|
141
|
+
<a href="https://www.facebook.com/gissoftpro" target="_blank"><img src="https://cdn.softpro.ua/data/npm/facebook.png" alt="Softpro Facebook" title="Softpro Facebook"></a>
|
|
142
|
+
<a href="https://t.me/softprogis" target="_blank"><img src="https://cdn.softpro.ua/data/npm/telegram.png" alt="Softpro Telegram" title="Softpro Telegram"></a>
|
|
143
|
+
<a href="https://www.linkedin.com/in/softpro-ukraine-a8876b282/recent-activity/all/" target="_blank"><img src="https://cdn.softpro.ua/data/npm/social/linkedin.png" alt="Softpro Linkedin" title="Softpro LinkedIn"></a>
|
|
144
|
+
</p>
|
|
145
|
+
|
|
146
|
+
## License
|
|
147
|
+
|
|
148
|
+
Copyright © SOFTPRO. All rights reserved.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { defineComponent as O, defineAsyncComponent as z, ref as s, computed as u, onMounted as D, resolveComponent as I, openBlock as h, createElementBlock as C, Fragment as $, createVNode as c, createSlots as K, withCtx as n,
|
|
1
|
+
import { defineComponent as O, defineAsyncComponent as z, ref as s, computed as u, onMounted as D, resolveComponent as I, openBlock as h, createElementBlock as C, Fragment as $, createVNode as c, createSlots as K, withCtx as n, createElementVNode as o, unref as y, toDisplayString as k, createTextVNode as j, createCommentVNode as E, createBlock as L } from "vue";
|
|
2
2
|
import { notify as d } from "@opengis/core";
|
|
3
3
|
import { useRouter as P, useRoute as R } from "vue-router";
|
|
4
|
-
import {
|
|
4
|
+
import { ArrowLeft as A, LucideChevronRight as F } from "lucide-vue-next";
|
|
5
5
|
import { _ as U } from "./TableFormHeader.vue_vue_type_script_setup_true_lang-Mci_tseM.js";
|
|
6
6
|
const J = { class: "mx-1" }, M = { class: "flex items-center gap-2 mt-[0.4rem]" }, q = { class: "flex-1 px-4 sm:px-6 pb-4 overflow-y-auto" }, G = { class: "bg-white rounded-lg shadow-sm border border-gray-200 overflow-hidden" }, H = { class: "w-full relative overflow-auto p-5 [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar:horizontal]:h-[8px] [&::-webkit-scrollbar-track]:bg-gray-100 [&::-webkit-scrollbar-thumb]:bg-gray-300 dark:[&::-webkit-scrollbar-track]:bg-neutral-700 dark:[&::-webkit-scrollbar-thumb]:bg-neutral-500" }, Q = { class: "vs-form w-full" }, te = /* @__PURE__ */ O({
|
|
7
7
|
__name: "EntityCreatePage",
|
|
@@ -9,15 +9,15 @@ const J = { class: "mx-1" }, M = { class: "flex items-center gap-2 mt-[0.4rem]"
|
|
|
9
9
|
entityKey: { default: "" }
|
|
10
10
|
},
|
|
11
11
|
setup(S) {
|
|
12
|
-
const V = z(() => import("@opengis/form")), m = s({}), p = s(null), b = s(null),
|
|
12
|
+
const V = z(() => import("@opengis/form")), m = s({}), p = s(null), b = s(null), v = P(), f = R(), N = S, g = s({}), w = s(""), l = u(() => f.path.replace(/\/(add|new)$/, "")), i = u(() => {
|
|
13
13
|
var t;
|
|
14
|
-
return ((t =
|
|
14
|
+
return ((t = v.resolve(l.value).meta) == null ? void 0 : t.title) ?? "";
|
|
15
15
|
}), T = u(() => i.value ? `Додати в ${i.value.toLowerCase()}` : "Додати"), x = u(() => {
|
|
16
16
|
var t;
|
|
17
|
-
return ((t =
|
|
17
|
+
return ((t = f.meta) == null ? void 0 : t.description) ?? "";
|
|
18
18
|
});
|
|
19
19
|
function _() {
|
|
20
|
-
|
|
20
|
+
v.push(l.value || "/");
|
|
21
21
|
}
|
|
22
22
|
async function B() {
|
|
23
23
|
if (!b.value) {
|
|
@@ -49,10 +49,10 @@ const J = { class: "mx-1" }, M = { class: "flex items-center gap-2 mt-[0.4rem]"
|
|
|
49
49
|
});
|
|
50
50
|
return;
|
|
51
51
|
}
|
|
52
|
-
await e.json(), d({ title: "Success!", message: "Object created." }),
|
|
52
|
+
await e.json(), d({ title: "Success!", message: "Object created." }), v.back();
|
|
53
53
|
}
|
|
54
54
|
return D(async () => {
|
|
55
|
-
const t = N.entityKey || String(
|
|
55
|
+
const t = N.entityKey || String(f.name ?? "").split("-")[0], e = await fetch(`/api/form/gis.${t}.table`).then((r) => r.json());
|
|
56
56
|
b.value = e.token, w.value = e.id, p.value = e.schema, document.title = T.value;
|
|
57
57
|
}), (t, e) => {
|
|
58
58
|
const r = I("router-link");
|
|
@@ -65,12 +65,12 @@ const J = { class: "mx-1" }, M = { class: "flex items-center gap-2 mt-[0.4rem]"
|
|
|
65
65
|
class: "text-gray-500 hover:text-gray-700"
|
|
66
66
|
}, {
|
|
67
67
|
default: n(() => [
|
|
68
|
-
j(
|
|
68
|
+
j(k(i.value), 1)
|
|
69
69
|
]),
|
|
70
70
|
_: 1
|
|
71
71
|
}, 8, ["to"]),
|
|
72
72
|
o("span", J, [
|
|
73
|
-
c(
|
|
73
|
+
c(y(F), {
|
|
74
74
|
size: 16,
|
|
75
75
|
class: "shrink-0"
|
|
76
76
|
})
|
|
@@ -86,12 +86,12 @@ const J = { class: "mx-1" }, M = { class: "flex items-center gap-2 mt-[0.4rem]"
|
|
|
86
86
|
onClick: _,
|
|
87
87
|
"aria-label": "Назад"
|
|
88
88
|
}, [
|
|
89
|
-
c(
|
|
89
|
+
c(y(A), {
|
|
90
90
|
size: 20,
|
|
91
91
|
class: "shrink-0"
|
|
92
92
|
})
|
|
93
93
|
]),
|
|
94
|
-
o("span", null,
|
|
94
|
+
o("span", null, k(i.value || "Створення"), 1)
|
|
95
95
|
])
|
|
96
96
|
]),
|
|
97
97
|
actions: n(() => [
|
|
@@ -109,7 +109,7 @@ const J = { class: "mx-1" }, M = { class: "flex items-center gap-2 mt-[0.4rem]"
|
|
|
109
109
|
x.value ? {
|
|
110
110
|
name: "description",
|
|
111
111
|
fn: n(() => [
|
|
112
|
-
j(
|
|
112
|
+
j(k(x.value), 1)
|
|
113
113
|
]),
|
|
114
114
|
key: "0"
|
|
115
115
|
} : void 0
|
|
@@ -118,7 +118,7 @@ const J = { class: "mx-1" }, M = { class: "flex items-center gap-2 mt-[0.4rem]"
|
|
|
118
118
|
o("div", G, [
|
|
119
119
|
o("div", H, [
|
|
120
120
|
o("div", Q, [
|
|
121
|
-
p.value ? (h(), L(
|
|
121
|
+
p.value ? (h(), L(y(V), {
|
|
122
122
|
key: 0,
|
|
123
123
|
values: m.value,
|
|
124
124
|
"onUpdate:values": e[0] || (e[0] = (a) => m.value = a),
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { defineComponent as D, defineAsyncComponent as R, ref as i, computed as p, onMounted as U, resolveComponent as A, openBlock as d, createElementBlock as w, Fragment as _, createVNode as s, createSlots as F, withCtx as n,
|
|
1
|
+
import { defineComponent as D, defineAsyncComponent as R, ref as i, computed as p, onMounted as U, resolveComponent as A, openBlock as d, createElementBlock as w, Fragment as _, createVNode as s, createSlots as F, withCtx as n, createElementVNode as o, unref as v, toDisplayString as b, createTextVNode as C, createCommentVNode as $, createBlock as K } from "vue";
|
|
2
2
|
import { notify as f } from "@opengis/core";
|
|
3
3
|
import { useRoute as L, useRouter as O } from "vue-router";
|
|
4
|
-
import {
|
|
4
|
+
import { ArrowLeft as J, LucideChevronRight as j } from "lucide-vue-next";
|
|
5
5
|
import { _ as M } from "./TableFormHeader.vue_vue_type_script_setup_true_lang-Mci_tseM.js";
|
|
6
6
|
const Y = { class: "mx-1" }, q = { class: "mx-1" }, G = { class: "flex items-center gap-2 mt-[0.4rem]" }, H = { class: "flex-1 px-4 sm:px-6 pb-4 overflow-y-auto" }, I = { class: "bg-white rounded-lg shadow-sm border border-gray-200 overflow-hidden" }, Q = { class: "w-full relative overflow-auto p-5 [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar:horizontal]:h-[8px] [&::-webkit-scrollbar-track]:bg-gray-100 [&::-webkit-scrollbar-thumb]:bg-gray-300 dark:[&::-webkit-scrollbar-track]:bg-neutral-700 dark:[&::-webkit-scrollbar-thumb]:bg-neutral-500" }, W = { class: "vs-form w-full" }, ae = /* @__PURE__ */ D({
|
|
7
7
|
__name: "EntityEditPage",
|
|
@@ -9,17 +9,17 @@ const Y = { class: "mx-1" }, q = { class: "mx-1" }, G = { class: "flex items-cen
|
|
|
9
9
|
entityKey: { default: "" }
|
|
10
10
|
},
|
|
11
11
|
setup(N) {
|
|
12
|
-
const T = R(() => import("@opengis/form")), u = i({}), g = i(null), h = i(null), y = i({}), c = i(""), m = L(), k = O(), z = N.entityKey || String(m.name ?? "").split("-")[0], { id: x } = m.params,
|
|
12
|
+
const T = R(() => import("@opengis/form")), u = i({}), g = i(null), h = i(null), y = i({}), c = i(""), m = L(), k = O(), z = N.entityKey || String(m.name ?? "").split("-")[0], { id: x } = m.params, r = p(
|
|
13
13
|
() => m.path.replace(/\/edit\/[^/]+$/, "").replace(/\/[^/]+\/edit$/, "")
|
|
14
|
-
), B = p(() => x ? `${
|
|
14
|
+
), B = p(() => x ? `${r.value}/${x}` : r.value || "/"), E = p(() => {
|
|
15
15
|
var t;
|
|
16
|
-
return ((t = k.resolve(
|
|
16
|
+
return ((t = k.resolve(r.value).meta) == null ? void 0 : t.title) ?? "";
|
|
17
17
|
}), S = p(() => {
|
|
18
18
|
var t;
|
|
19
19
|
return ((t = m.meta) == null ? void 0 : t.description) ?? "";
|
|
20
20
|
});
|
|
21
21
|
function V() {
|
|
22
|
-
k.push(
|
|
22
|
+
k.push(r.value || "/");
|
|
23
23
|
}
|
|
24
24
|
async function P() {
|
|
25
25
|
const t = y.value.validate();
|
|
@@ -69,18 +69,18 @@ const Y = { class: "mx-1" }, q = { class: "mx-1" }, G = { class: "flex items-cen
|
|
|
69
69
|
return d(), w(_, null, [
|
|
70
70
|
s(M, { variant: "form" }, F({
|
|
71
71
|
breadcrumbs: n(() => [
|
|
72
|
-
|
|
72
|
+
r.value ? (d(), w(_, { key: 0 }, [
|
|
73
73
|
s(a, {
|
|
74
|
-
to:
|
|
74
|
+
to: r.value,
|
|
75
75
|
class: "text-gray-500 hover:text-gray-700"
|
|
76
76
|
}, {
|
|
77
77
|
default: n(() => [
|
|
78
|
-
C(
|
|
78
|
+
C(b(E.value), 1)
|
|
79
79
|
]),
|
|
80
80
|
_: 1
|
|
81
81
|
}, 8, ["to"]),
|
|
82
|
-
|
|
83
|
-
s(
|
|
82
|
+
o("span", Y, [
|
|
83
|
+
s(v(j), {
|
|
84
84
|
size: 16,
|
|
85
85
|
class: "shrink-0"
|
|
86
86
|
})
|
|
@@ -92,41 +92,41 @@ const Y = { class: "mx-1" }, q = { class: "mx-1" }, G = { class: "flex items-cen
|
|
|
92
92
|
class: "text-gray-500 hover:text-gray-700"
|
|
93
93
|
}, {
|
|
94
94
|
default: n(() => [
|
|
95
|
-
C(
|
|
95
|
+
C(b(c.value), 1)
|
|
96
96
|
]),
|
|
97
97
|
_: 1
|
|
98
98
|
}, 8, ["to"]),
|
|
99
|
-
|
|
100
|
-
s(
|
|
99
|
+
o("span", q, [
|
|
100
|
+
s(v(j), {
|
|
101
101
|
size: 16,
|
|
102
102
|
class: "shrink-0"
|
|
103
103
|
})
|
|
104
104
|
])
|
|
105
105
|
], 64)) : $("", !0),
|
|
106
|
-
e[2] || (e[2] =
|
|
106
|
+
e[2] || (e[2] = o("span", { class: "text-gray-900 font-semibold" }, "Редагування", -1))
|
|
107
107
|
]),
|
|
108
108
|
title: n(() => [
|
|
109
|
-
|
|
110
|
-
|
|
109
|
+
o("div", G, [
|
|
110
|
+
o("button", {
|
|
111
111
|
type: "button",
|
|
112
112
|
class: "p-0 m-0 border-0 bg-transparent cursor-pointer text-inherit hover:opacity-80",
|
|
113
113
|
onClick: V,
|
|
114
114
|
"aria-label": "Назад"
|
|
115
115
|
}, [
|
|
116
|
-
s(
|
|
116
|
+
s(v(J), {
|
|
117
117
|
size: 20,
|
|
118
118
|
class: "shrink-0"
|
|
119
119
|
})
|
|
120
120
|
]),
|
|
121
|
-
|
|
121
|
+
o("span", null, b(c.value || E.value || "Редагування"), 1)
|
|
122
122
|
])
|
|
123
123
|
]),
|
|
124
124
|
actions: n(() => [
|
|
125
|
-
|
|
125
|
+
o("button", {
|
|
126
126
|
class: "cursor-pointer flex items-center px-3 py-2 text-sm font-medium text-gray-800 duration-300 bg-white border border-gray-100 rounded-lg shadow gap-x-2 focus:outline-none hover:bg-gray-50 hover:border-gray-100",
|
|
127
127
|
onClick: V
|
|
128
128
|
}, " Назад "),
|
|
129
|
-
|
|
129
|
+
o("button", {
|
|
130
130
|
onClick: P,
|
|
131
131
|
class: "cursor-pointer inline-flex items-center px-3 py-2 text-sm font-medium text-white duration-300 bg-blue-600 hover:bg-blue-700 border border-transparent rounded-lg gap-x-2 hover:text-white"
|
|
132
132
|
}, " Зберегти ")
|
|
@@ -136,16 +136,16 @@ const Y = { class: "mx-1" }, q = { class: "mx-1" }, G = { class: "flex items-cen
|
|
|
136
136
|
S.value ? {
|
|
137
137
|
name: "description",
|
|
138
138
|
fn: n(() => [
|
|
139
|
-
C(
|
|
139
|
+
C(b(S.value), 1)
|
|
140
140
|
]),
|
|
141
141
|
key: "0"
|
|
142
142
|
} : void 0
|
|
143
143
|
]), 1024),
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
g.value ? (d(), K(
|
|
144
|
+
o("div", H, [
|
|
145
|
+
o("div", I, [
|
|
146
|
+
o("div", Q, [
|
|
147
|
+
o("div", W, [
|
|
148
|
+
g.value ? (d(), K(v(T), {
|
|
149
149
|
key: 0,
|
|
150
150
|
schema: g.value,
|
|
151
151
|
values: u.value,
|