@opengis/cms 0.0.57 → 0.0.58
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 +131 -131
- package/dist/AddNewItemInTree-05PSSEFi.js +76 -0
- package/dist/ArticlesPage-CFjE_cw_.js +298 -0
- package/dist/CollectionsBreadcrumb-BCxeRikP.js +4 -0
- package/dist/CollectionsBreadcrumb.vue_vue_type_script_setup_true_lang-umRzB5mY.js +53 -0
- package/dist/CollectionsPage-DHfPNql6.js +124 -0
- package/dist/{CreateForm-BMOBeP4G.js → CreateForm-5FvT45vH.js} +1 -1
- package/dist/Dashboard-C1eGscNd.js +358 -0
- package/dist/EditCollectionPage-DIr1tdtn.js +187 -0
- package/dist/{EmptyData-DaZt_nAm.js → EmptyData-DxPrSXhV.js} +1 -1
- package/dist/{MenuAddPage-Bf48Z-ah.js → MenuAddPage-D-p3gFgm.js} +40 -35
- package/dist/MenuBody-rN5j4YBu.js +125 -0
- package/dist/MenuItemPage-BoJw885D.js +1027 -0
- package/dist/MenuList-DFEBS0NB.js +172 -0
- package/dist/MenuPage-BCZB_S8j.js +107 -0
- package/dist/MenuWrapper-AZ_8s-zd.js +12 -0
- package/dist/MonacoEditor-Db-3Jc3E.js +4 -0
- package/dist/{UniversalTable.vue_vue_type_script_setup_true_lang-CJGTsd1V.js → UniversalTable-CzqPG-tY.js} +12 -12
- package/dist/{UniversalTablePagination.vue_vue_type_script_setup_true_lang-GYZd_gkA.js → UniversalTablePagination-4gL47A7I.js} +1 -1
- package/dist/VsFormTags-CMjiu9sY.js +114 -0
- package/dist/VsPreview-DwETkOpb.js +63 -0
- package/dist/contentForm-CtMhQTG0.js +489 -0
- package/dist/getField-CpwVE28P.js +179 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.html +29 -29
- package/dist/index.js +72 -71
- package/dist/style.css +1 -1
- package/dist/vs-builder-edit-D-q1o8tF.js +604 -0
- package/dist/vs-builder-monaco-B3Jj0V31.js +33 -0
- package/dist/vs-builder-preview-BH4VAM3a.js +44 -0
- package/dist/vs-form-custom-datatable-BDZo48w3.js +317 -0
- package/dist/vs-form-integer-BZ855R3g.js +61 -0
- package/dist/vs-form-media-select-NY27EaG1.js +837 -0
- package/dist/vs-form-reference-list-Dtv8fJJU.js +1536 -0
- package/dist/vs-form-reletion-link-BhzNQszm.js +34 -0
- package/dist/vs-form-tiptap-DDFQjRjY.js +4 -0
- package/dist/vs-form-tiptap.vue_vue_type_script_setup_true_lang-DGgsqXwg.js +11 -0
- package/dist/vs-richtext-md-C098v_6Q.js +4 -0
- package/dist/vs-richtext-md.vue_vue_type_script_setup_true_lang-Ct8uTV-J.js +14 -0
- package/input-types.json +9 -9
- package/locales/en.json +815 -814
- package/locales/uk.json +813 -812
- package/module/cms/cls/content.status.json +17 -17
- package/module/cms/cls/user_type.json +9 -9
- package/module/cms/form/admin.users.form.json +77 -77
- package/module/cms/select/cms.page_type.sql +1 -1
- package/module/cms/select/news_tag_id.sql +11 -11
- package/module/cms/table/admin.users.table.json +53 -53
- package/module/cms/table/collection.default.table.json +96 -96
- package/module/cms/table/single.default.table.json +116 -116
- package/package.json +68 -68
- package/plugin.js +43 -43
- package/server/app.js +35 -35
- package/server/config.js +4 -4
- package/server/functions/getContent.js +45 -45
- package/server/functions/getDraftKey.js +22 -22
- package/server/functions/getSearchData.js +31 -31
- package/server/functions/getTags.js +30 -30
- package/server/functions/getUser.js +27 -27
- package/server/functions/utils/mock.reply.js +55 -55
- package/server/index.js +22 -22
- package/server/migrations/fixes.sql +129 -129
- package/server/migrations/site.sql +595 -595
- package/server/plugins/adminHook.js +78 -78
- package/server/plugins/hook.js +59 -59
- package/server/plugins/vite.js +75 -75
- package/server/routes/category/controllers/cms.category.delete.js +21 -21
- package/server/routes/category/controllers/cms.category.get.js +17 -17
- package/server/routes/category/controllers/cms.category.list.js +16 -16
- package/server/routes/category/controllers/cms.category.post.js +21 -21
- package/server/routes/category/controllers/cms.category.put.js +23 -23
- package/server/routes/category/index.mjs +22 -22
- package/server/routes/cms/controllers/cmsStat.js +55 -55
- package/server/routes/cms/controllers/cmsSuggest.js +57 -57
- package/server/routes/cms/controllers/deleteContent.js +113 -113
- package/server/routes/cms/controllers/deleteMedia.js +76 -76
- package/server/routes/cms/controllers/downloadMedia.js +84 -84
- package/server/routes/cms/controllers/getContent.js +113 -113
- package/server/routes/cms/controllers/getContentBySlug.js +93 -93
- package/server/routes/cms/controllers/insertContent.js +217 -217
- package/server/routes/cms/controllers/listMedia.js +155 -155
- package/server/routes/cms/controllers/metadataMedia.js +39 -39
- package/server/routes/cms/controllers/properties.get.js +18 -18
- package/server/routes/cms/controllers/properties.post.js +99 -99
- package/server/routes/cms/controllers/searchContent.js +214 -214
- package/server/routes/cms/controllers/translate.js +89 -89
- package/server/routes/cms/controllers/updateContent.js +266 -266
- package/server/routes/cms/controllers/uploadMedia.js +79 -79
- package/server/routes/cms/functions/getSettings.js +48 -48
- package/server/routes/cms/index.mjs +112 -112
- package/server/routes/cms/utils/additionalData.js +35 -35
- package/server/routes/cms/utils/getCollection.js +89 -89
- package/server/routes/cms/utils/getSingle.js +188 -188
- package/server/routes/cms/utils/inputTypes.js +5 -5
- package/server/routes/cms/utils/insertContentLocalization.js +104 -104
- package/server/routes/cms/utils/requestTranslation.js +85 -85
- package/server/routes/cms/utils/updateLocalization.js +47 -47
- package/server/routes/cmsSpace/controllers/deleteSpace.js +25 -25
- package/server/routes/cmsSpace/controllers/getSpaces.js +27 -27
- package/server/routes/cmsSpace/controllers/insertSpace.js +21 -21
- package/server/routes/cmsSpace/controllers/updateSpace.js +23 -23
- package/server/routes/cmsSpace/index.mjs +20 -20
- package/server/routes/contentType/controllers/addContentType.js +160 -160
- package/server/routes/contentType/controllers/contentTypeList.js +54 -54
- package/server/routes/contentType/controllers/delContentType.js +75 -75
- package/server/routes/contentType/controllers/editContentType.js +88 -88
- package/server/routes/contentType/controllers/getContentType.js +65 -65
- package/server/routes/contentType/index.mjs +35 -35
- package/server/routes/contentType/utils/updateContents.js +44 -44
- package/server/routes/contentType/utils/updateCustomContentTable.js +53 -53
- package/server/routes/feedback/controllers/email.list.js +24 -24
- package/server/routes/feedback/controllers/feedback.js +48 -48
- package/server/routes/feedback/controllers/feedback.list.js +37 -37
- package/server/routes/feedback/controllers/news.subscriptions.js +44 -44
- package/server/routes/feedback/index.mjs +71 -71
- package/server/routes/logs/controllers/export.user.logs.js +77 -77
- package/server/routes/logs/controllers/user.logs.js +44 -44
- package/server/routes/logs/index.mjs +9 -9
- package/server/routes/menu/controllers/addMenu.js +37 -37
- package/server/routes/menu/controllers/delMenu.js +31 -31
- package/server/routes/menu/controllers/editMenu.js +41 -41
- package/server/routes/menu/controllers/getMenu.js +24 -24
- package/server/routes/menu/functions/getMenu.js +50 -50
- package/server/routes/menu/index.mjs +13 -13
- package/server/routes/migration/controllers/collectionToCustom.js +137 -137
- package/server/routes/migration/index.mjs +8 -8
- package/server/routes/root.mjs +8 -8
- package/server/routes/tags/controllers/add.tags.js +24 -24
- package/server/routes/tags/controllers/del.tags.js +19 -19
- package/server/routes/tags/controllers/edit.tags.js +25 -25
- package/server/routes/tags/controllers/get.tags.js +15 -15
- package/server/routes/tags/index.mjs +14 -14
- package/server/templates/cls/cms.category_type.json +9 -9
- package/server/templates/cls/cms.content_review_status.json +9 -9
- package/server/templates/cls/cms.content_status.json +9 -9
- package/server/templates/cls/cms.content_type.json +9 -9
- package/server/templates/cls/cms.lang.json +9 -9
- package/server/templates/page/login.html +126 -126
- package/utils.d.ts +52 -52
- package/utils.js +8 -8
- package/dist/ArticlesPage-BcR1hbds.js +0 -286
- package/dist/BuilderPage-CK_osM89.js +0 -386
- package/dist/CollectionsBreadcrumb.vue_vue_type_script_setup_true_lang-CnOe9ORD.js +0 -45
- package/dist/CollectionsPage-JfmrHNR_.js +0 -110
- package/dist/EditCollectionPage-Cw3GQYRe.js +0 -809
- package/dist/MenuItemPage-CXn5HC8j.js +0 -1366
- package/dist/MenuPage-tJZtK46W.js +0 -106
- package/dist/contentForm-B6gHgGkz.js +0 -586
- package/dist/getField-Y5WXnRR0.js +0 -2948
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { defineComponent as b, openBlock as e, createElementBlock as t, createElementVNode as l, createVNode as h, unref as r, toDisplayString as i, createBlock as m, createCommentVNode as d, Fragment as u, renderList as k } from "vue";
|
|
2
|
-
import { Layers as p, ChevronRight as x } from "lucide-vue-next";
|
|
3
|
-
const g = { class: "flex items-center space-x-1 mb-4 overflow-hidden" }, f = { class: "truncate block max-w-[12rem]" }, w = ["onClick"], v = { class: "truncate block max-w-[20rem]" }, y = {
|
|
4
|
-
key: 1,
|
|
5
|
-
class: "flex gap-x-1 items-center px-2 py-1 rounded text-sm font-medium text-slate-700 dark:text-slate-300 min-w-0 overflow-hidden whitespace-nowrap text-ellipsis"
|
|
6
|
-
}, _ = { class: "truncate block max-w-[20rem]" }, N = /* @__PURE__ */ b({
|
|
7
|
-
__name: "CollectionsBreadcrumb",
|
|
8
|
-
props: {
|
|
9
|
-
items: {}
|
|
10
|
-
},
|
|
11
|
-
emits: ["navigate"],
|
|
12
|
-
setup(s) {
|
|
13
|
-
return (a, c) => (e(), t("div", g, [
|
|
14
|
-
l("button", {
|
|
15
|
-
class: "flex gap-x-1 items-center px-2 py-1 rounded text-sm font-medium transition-all duration-200 text-blue-600 dark:text-blue-400 bg-blue-50 dark:bg-blue-900/20 hover:bg-blue-100 dark:hover:bg-blue-900/30 min-w-0 overflow-hidden whitespace-nowrap text-ellipsis",
|
|
16
|
-
onClick: c[0] || (c[0] = (n) => a.$emit("navigate", "collections"))
|
|
17
|
-
}, [
|
|
18
|
-
h(r(p), { class: "w-3 h-3 flex-shrink-0" }),
|
|
19
|
-
l("span", f, i(a.$t("cms.navigation.collections")), 1)
|
|
20
|
-
]),
|
|
21
|
-
s.items.length > 0 ? (e(), m(r(x), {
|
|
22
|
-
key: 0,
|
|
23
|
-
class: "w-3 h-3 text-slate-400 dark:text-slate-500 flex-shrink-0"
|
|
24
|
-
})) : d("", !0),
|
|
25
|
-
(e(!0), t(u, null, k(s.items, (n, o) => (e(), t(u, { key: o }, [
|
|
26
|
-
o < s.items.length - 1 ? (e(), t("button", {
|
|
27
|
-
key: 0,
|
|
28
|
-
class: "flex gap-x-1 items-center px-2 py-1 rounded text-sm font-medium transition-all duration-200 text-blue-700 dark:text-blue-300 bg-blue-50 dark:bg-blue-900/20 hover:bg-blue-100 dark:hover:bg-blue-900/30 min-w-0 overflow-hidden whitespace-nowrap text-ellipsis",
|
|
29
|
-
onClick: (C) => a.$emit("navigate", n.route)
|
|
30
|
-
}, [
|
|
31
|
-
l("span", v, i(n.label), 1)
|
|
32
|
-
], 8, w)) : (e(), t("span", y, [
|
|
33
|
-
l("span", _, i(n.label), 1)
|
|
34
|
-
])),
|
|
35
|
-
o < s.items.length - 1 ? (e(), m(r(x), {
|
|
36
|
-
key: 2,
|
|
37
|
-
class: "w-3 h-3 text-slate-400 dark:text-slate-500 flex-shrink-0"
|
|
38
|
-
})) : d("", !0)
|
|
39
|
-
], 64))), 128))
|
|
40
|
-
]));
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
export {
|
|
44
|
-
N as _
|
|
45
|
-
};
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
import { defineComponent as w, inject as b, ref as p, computed as k, onMounted as C, openBlock as r, createElementBlock as n, createElementVNode as e, toDisplayString as a, unref as i, createVNode as c, withDirectives as $, vModelText as j, Fragment as B, renderList as E, createBlock as m } from "vue";
|
|
2
|
-
import { useRouter as L } from "vue-router";
|
|
3
|
-
import { HelpCircle as V, Search as F, File as A, Layers as D, ChevronRight as M } from "lucide-vue-next";
|
|
4
|
-
import { useI18n as N } from "vue-i18n";
|
|
5
|
-
import { _ as R } from "./EmptyData-DaZt_nAm.js";
|
|
6
|
-
import { _ as S } from "./CreateForm-BMOBeP4G.js";
|
|
7
|
-
const T = { class: "space-y-6 mx-auto max-w-[90%]" }, q = { class: "flex items-center justify-between mb-8" }, H = { class: "flex gap-4" }, I = { class: "text-3xl font-bold text-slate-800 dark:text-slate-100 mb-2" }, P = { class: "text-slate-600 dark:text-slate-300" }, Q = ["href", "title"], U = { class: "flex items-center gap-3" }, z = { class: "relative w-full max-w-sm" }, G = { class: "absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none" }, J = ["placeholder"], K = { key: 0 }, O = { class: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4 mb-6" }, W = ["onClick"], X = { class: "flex items-start justify-between" }, Y = { class: "flex items-start gap-3" }, Z = { class: "text-sm font-semibold text-gray-800 mb-1" }, ee = { class: "flex items-center gap-2" }, te = { class: "text-xs text-gray-500 whitespace-nowrap" }, se = { class: "pl-8 text-xs text-gray-600 line-clamp-2" }, oe = {
|
|
8
|
-
key: 1,
|
|
9
|
-
class: "flex items-center justify-center min-h-[400px]"
|
|
10
|
-
}, ue = /* @__PURE__ */ w({
|
|
11
|
-
__name: "CollectionsPage",
|
|
12
|
-
setup(le) {
|
|
13
|
-
const { t: re, locale: f } = N(), _ = L();
|
|
14
|
-
b("fetchContentTypes");
|
|
15
|
-
const d = p([]), h = p(""), g = k(() => {
|
|
16
|
-
const s = d.value.filter(
|
|
17
|
-
(t) => t.type !== "single"
|
|
18
|
-
), l = h.value.trim().toLowerCase();
|
|
19
|
-
return [...l ? s.filter((t) => [t == null ? void 0 : t.title, t == null ? void 0 : t.name, t == null ? void 0 : t.id, t == null ? void 0 : t.description].filter(Boolean).join(" ").toLowerCase().includes(l)) : s].sort((t, u) => t.id === "pages" ? -1 : u.id === "pages" ? 1 : 0);
|
|
20
|
-
});
|
|
21
|
-
async function y() {
|
|
22
|
-
try {
|
|
23
|
-
const s = await fetch("/api/cms-type?type=collection");
|
|
24
|
-
if (!s.ok)
|
|
25
|
-
throw new Error("Failed to fetch collections");
|
|
26
|
-
const l = await s.json();
|
|
27
|
-
d.value = l.rows || [];
|
|
28
|
-
} catch (s) {
|
|
29
|
-
console.error("Error fetching collections:", s);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
const x = (s) => {
|
|
33
|
-
_.push(`/collections/${s.id}`);
|
|
34
|
-
};
|
|
35
|
-
return C(() => {
|
|
36
|
-
y();
|
|
37
|
-
}), (s, l) => (r(), n("div", T, [
|
|
38
|
-
e("div", q, [
|
|
39
|
-
e("div", H, [
|
|
40
|
-
e("div", null, [
|
|
41
|
-
e("h1", I, a(s.$t("cms.navigation.collections")), 1),
|
|
42
|
-
e("p", P, a(s.$t("cms.collections.selectCollection")), 1)
|
|
43
|
-
]),
|
|
44
|
-
e("a", {
|
|
45
|
-
href: `https://cms.opengis.info/${i(f)}/guides/collections/`,
|
|
46
|
-
target: "_blank",
|
|
47
|
-
title: s.$t("cms.guide.collections"),
|
|
48
|
-
class: "mt-2"
|
|
49
|
-
}, [
|
|
50
|
-
c(i(V), { class: "w-5 h-5" })
|
|
51
|
-
], 8, Q)
|
|
52
|
-
]),
|
|
53
|
-
e("div", U, [
|
|
54
|
-
e("div", z, [
|
|
55
|
-
e("div", G, [
|
|
56
|
-
c(i(F), { class: "w-5 h-5 text-gray-400" })
|
|
57
|
-
]),
|
|
58
|
-
$(e("input", {
|
|
59
|
-
"onUpdate:modelValue": l[0] || (l[0] = (o) => h.value = o),
|
|
60
|
-
type: "text",
|
|
61
|
-
class: "block w-full py-2 pl-10 pr-3 leading-5 text-gray-900 placeholder-gray-500 transition-colors bg-white border border-gray-300 rounded-md dark:border-gray-600 dark:bg-gray-700 dark:placeholder-gray-400 focus:outline-none focus:ring-sky-500 focus:border-sky-500 dark:text-white sm:text-sm",
|
|
62
|
-
placeholder: s.$t("cms.collections.searchCollections")
|
|
63
|
-
}, null, 8, J), [
|
|
64
|
-
[j, h.value]
|
|
65
|
-
])
|
|
66
|
-
]),
|
|
67
|
-
c(S, {
|
|
68
|
-
redirectAfterCreate: (o) => `/collections/${o.id}`
|
|
69
|
-
}, null, 8, ["redirectAfterCreate"])
|
|
70
|
-
])
|
|
71
|
-
]),
|
|
72
|
-
d.value.length > 0 ? (r(), n("div", K, [
|
|
73
|
-
e("div", O, [
|
|
74
|
-
(r(!0), n(B, null, E(g.value, (o) => (r(), n("button", {
|
|
75
|
-
key: o.id,
|
|
76
|
-
onClick: (v) => x(o),
|
|
77
|
-
class: "w-full border border-gray-200 bg-white rounded-lg p-4 text-left hover:shadow-md transition-all hover:border-gray-300"
|
|
78
|
-
}, [
|
|
79
|
-
e("div", null, [
|
|
80
|
-
e("div", X, [
|
|
81
|
-
e("div", Y, [
|
|
82
|
-
o.id === "pages" ? (r(), m(i(A), {
|
|
83
|
-
key: 0,
|
|
84
|
-
class: "shrink-0 lucide lucide-page w-5 h-5 text-blue-600"
|
|
85
|
-
})) : (r(), m(i(D), {
|
|
86
|
-
key: 1,
|
|
87
|
-
class: "shrink-0 lucide lucide-layers w-5 h-5 text-blue-600"
|
|
88
|
-
})),
|
|
89
|
-
e("div", null, [
|
|
90
|
-
e("h4", Z, a(o.title), 1)
|
|
91
|
-
])
|
|
92
|
-
]),
|
|
93
|
-
e("div", ee, [
|
|
94
|
-
e("span", te, a(o.entries) + " записів", 1),
|
|
95
|
-
c(i(M), { class: "w-4 h-4 text-gray-400" })
|
|
96
|
-
])
|
|
97
|
-
]),
|
|
98
|
-
e("p", se, a(o.description || "Опис відсутній"), 1)
|
|
99
|
-
])
|
|
100
|
-
], 8, W))), 128))
|
|
101
|
-
])
|
|
102
|
-
])) : (r(), n("div", oe, [
|
|
103
|
-
c(R)
|
|
104
|
-
]))
|
|
105
|
-
]));
|
|
106
|
-
}
|
|
107
|
-
});
|
|
108
|
-
export {
|
|
109
|
-
ue as default
|
|
110
|
-
};
|