@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.
Files changed (149) hide show
  1. package/README.md +131 -131
  2. package/dist/AddNewItemInTree-05PSSEFi.js +76 -0
  3. package/dist/ArticlesPage-CFjE_cw_.js +298 -0
  4. package/dist/CollectionsBreadcrumb-BCxeRikP.js +4 -0
  5. package/dist/CollectionsBreadcrumb.vue_vue_type_script_setup_true_lang-umRzB5mY.js +53 -0
  6. package/dist/CollectionsPage-DHfPNql6.js +124 -0
  7. package/dist/{CreateForm-BMOBeP4G.js → CreateForm-5FvT45vH.js} +1 -1
  8. package/dist/Dashboard-C1eGscNd.js +358 -0
  9. package/dist/EditCollectionPage-DIr1tdtn.js +187 -0
  10. package/dist/{EmptyData-DaZt_nAm.js → EmptyData-DxPrSXhV.js} +1 -1
  11. package/dist/{MenuAddPage-Bf48Z-ah.js → MenuAddPage-D-p3gFgm.js} +40 -35
  12. package/dist/MenuBody-rN5j4YBu.js +125 -0
  13. package/dist/MenuItemPage-BoJw885D.js +1027 -0
  14. package/dist/MenuList-DFEBS0NB.js +172 -0
  15. package/dist/MenuPage-BCZB_S8j.js +107 -0
  16. package/dist/MenuWrapper-AZ_8s-zd.js +12 -0
  17. package/dist/MonacoEditor-Db-3Jc3E.js +4 -0
  18. package/dist/{UniversalTable.vue_vue_type_script_setup_true_lang-CJGTsd1V.js → UniversalTable-CzqPG-tY.js} +12 -12
  19. package/dist/{UniversalTablePagination.vue_vue_type_script_setup_true_lang-GYZd_gkA.js → UniversalTablePagination-4gL47A7I.js} +1 -1
  20. package/dist/VsFormTags-CMjiu9sY.js +114 -0
  21. package/dist/VsPreview-DwETkOpb.js +63 -0
  22. package/dist/contentForm-CtMhQTG0.js +489 -0
  23. package/dist/getField-CpwVE28P.js +179 -0
  24. package/dist/index.d.ts +8 -0
  25. package/dist/index.html +29 -29
  26. package/dist/index.js +72 -71
  27. package/dist/style.css +1 -1
  28. package/dist/vs-builder-edit-D-q1o8tF.js +604 -0
  29. package/dist/vs-builder-monaco-B3Jj0V31.js +33 -0
  30. package/dist/vs-builder-preview-BH4VAM3a.js +44 -0
  31. package/dist/vs-form-custom-datatable-BDZo48w3.js +317 -0
  32. package/dist/vs-form-integer-BZ855R3g.js +61 -0
  33. package/dist/vs-form-media-select-NY27EaG1.js +837 -0
  34. package/dist/vs-form-reference-list-Dtv8fJJU.js +1536 -0
  35. package/dist/vs-form-reletion-link-BhzNQszm.js +34 -0
  36. package/dist/vs-form-tiptap-DDFQjRjY.js +4 -0
  37. package/dist/vs-form-tiptap.vue_vue_type_script_setup_true_lang-DGgsqXwg.js +11 -0
  38. package/dist/vs-richtext-md-C098v_6Q.js +4 -0
  39. package/dist/vs-richtext-md.vue_vue_type_script_setup_true_lang-Ct8uTV-J.js +14 -0
  40. package/input-types.json +9 -9
  41. package/locales/en.json +815 -814
  42. package/locales/uk.json +813 -812
  43. package/module/cms/cls/content.status.json +17 -17
  44. package/module/cms/cls/user_type.json +9 -9
  45. package/module/cms/form/admin.users.form.json +77 -77
  46. package/module/cms/select/cms.page_type.sql +1 -1
  47. package/module/cms/select/news_tag_id.sql +11 -11
  48. package/module/cms/table/admin.users.table.json +53 -53
  49. package/module/cms/table/collection.default.table.json +96 -96
  50. package/module/cms/table/single.default.table.json +116 -116
  51. package/package.json +68 -68
  52. package/plugin.js +43 -43
  53. package/server/app.js +35 -35
  54. package/server/config.js +4 -4
  55. package/server/functions/getContent.js +45 -45
  56. package/server/functions/getDraftKey.js +22 -22
  57. package/server/functions/getSearchData.js +31 -31
  58. package/server/functions/getTags.js +30 -30
  59. package/server/functions/getUser.js +27 -27
  60. package/server/functions/utils/mock.reply.js +55 -55
  61. package/server/index.js +22 -22
  62. package/server/migrations/fixes.sql +129 -129
  63. package/server/migrations/site.sql +595 -595
  64. package/server/plugins/adminHook.js +78 -78
  65. package/server/plugins/hook.js +59 -59
  66. package/server/plugins/vite.js +75 -75
  67. package/server/routes/category/controllers/cms.category.delete.js +21 -21
  68. package/server/routes/category/controllers/cms.category.get.js +17 -17
  69. package/server/routes/category/controllers/cms.category.list.js +16 -16
  70. package/server/routes/category/controllers/cms.category.post.js +21 -21
  71. package/server/routes/category/controllers/cms.category.put.js +23 -23
  72. package/server/routes/category/index.mjs +22 -22
  73. package/server/routes/cms/controllers/cmsStat.js +55 -55
  74. package/server/routes/cms/controllers/cmsSuggest.js +57 -57
  75. package/server/routes/cms/controllers/deleteContent.js +113 -113
  76. package/server/routes/cms/controllers/deleteMedia.js +76 -76
  77. package/server/routes/cms/controllers/downloadMedia.js +84 -84
  78. package/server/routes/cms/controllers/getContent.js +113 -113
  79. package/server/routes/cms/controllers/getContentBySlug.js +93 -93
  80. package/server/routes/cms/controllers/insertContent.js +217 -217
  81. package/server/routes/cms/controllers/listMedia.js +155 -155
  82. package/server/routes/cms/controllers/metadataMedia.js +39 -39
  83. package/server/routes/cms/controllers/properties.get.js +18 -18
  84. package/server/routes/cms/controllers/properties.post.js +99 -99
  85. package/server/routes/cms/controllers/searchContent.js +214 -214
  86. package/server/routes/cms/controllers/translate.js +89 -89
  87. package/server/routes/cms/controllers/updateContent.js +266 -266
  88. package/server/routes/cms/controllers/uploadMedia.js +79 -79
  89. package/server/routes/cms/functions/getSettings.js +48 -48
  90. package/server/routes/cms/index.mjs +112 -112
  91. package/server/routes/cms/utils/additionalData.js +35 -35
  92. package/server/routes/cms/utils/getCollection.js +89 -89
  93. package/server/routes/cms/utils/getSingle.js +188 -188
  94. package/server/routes/cms/utils/inputTypes.js +5 -5
  95. package/server/routes/cms/utils/insertContentLocalization.js +104 -104
  96. package/server/routes/cms/utils/requestTranslation.js +85 -85
  97. package/server/routes/cms/utils/updateLocalization.js +47 -47
  98. package/server/routes/cmsSpace/controllers/deleteSpace.js +25 -25
  99. package/server/routes/cmsSpace/controllers/getSpaces.js +27 -27
  100. package/server/routes/cmsSpace/controllers/insertSpace.js +21 -21
  101. package/server/routes/cmsSpace/controllers/updateSpace.js +23 -23
  102. package/server/routes/cmsSpace/index.mjs +20 -20
  103. package/server/routes/contentType/controllers/addContentType.js +160 -160
  104. package/server/routes/contentType/controllers/contentTypeList.js +54 -54
  105. package/server/routes/contentType/controllers/delContentType.js +75 -75
  106. package/server/routes/contentType/controllers/editContentType.js +88 -88
  107. package/server/routes/contentType/controllers/getContentType.js +65 -65
  108. package/server/routes/contentType/index.mjs +35 -35
  109. package/server/routes/contentType/utils/updateContents.js +44 -44
  110. package/server/routes/contentType/utils/updateCustomContentTable.js +53 -53
  111. package/server/routes/feedback/controllers/email.list.js +24 -24
  112. package/server/routes/feedback/controllers/feedback.js +48 -48
  113. package/server/routes/feedback/controllers/feedback.list.js +37 -37
  114. package/server/routes/feedback/controllers/news.subscriptions.js +44 -44
  115. package/server/routes/feedback/index.mjs +71 -71
  116. package/server/routes/logs/controllers/export.user.logs.js +77 -77
  117. package/server/routes/logs/controllers/user.logs.js +44 -44
  118. package/server/routes/logs/index.mjs +9 -9
  119. package/server/routes/menu/controllers/addMenu.js +37 -37
  120. package/server/routes/menu/controllers/delMenu.js +31 -31
  121. package/server/routes/menu/controllers/editMenu.js +41 -41
  122. package/server/routes/menu/controllers/getMenu.js +24 -24
  123. package/server/routes/menu/functions/getMenu.js +50 -50
  124. package/server/routes/menu/index.mjs +13 -13
  125. package/server/routes/migration/controllers/collectionToCustom.js +137 -137
  126. package/server/routes/migration/index.mjs +8 -8
  127. package/server/routes/root.mjs +8 -8
  128. package/server/routes/tags/controllers/add.tags.js +24 -24
  129. package/server/routes/tags/controllers/del.tags.js +19 -19
  130. package/server/routes/tags/controllers/edit.tags.js +25 -25
  131. package/server/routes/tags/controllers/get.tags.js +15 -15
  132. package/server/routes/tags/index.mjs +14 -14
  133. package/server/templates/cls/cms.category_type.json +9 -9
  134. package/server/templates/cls/cms.content_review_status.json +9 -9
  135. package/server/templates/cls/cms.content_status.json +9 -9
  136. package/server/templates/cls/cms.content_type.json +9 -9
  137. package/server/templates/cls/cms.lang.json +9 -9
  138. package/server/templates/page/login.html +126 -126
  139. package/utils.d.ts +52 -52
  140. package/utils.js +8 -8
  141. package/dist/ArticlesPage-BcR1hbds.js +0 -286
  142. package/dist/BuilderPage-CK_osM89.js +0 -386
  143. package/dist/CollectionsBreadcrumb.vue_vue_type_script_setup_true_lang-CnOe9ORD.js +0 -45
  144. package/dist/CollectionsPage-JfmrHNR_.js +0 -110
  145. package/dist/EditCollectionPage-Cw3GQYRe.js +0 -809
  146. package/dist/MenuItemPage-CXn5HC8j.js +0 -1366
  147. package/dist/MenuPage-tJZtK46W.js +0 -106
  148. package/dist/contentForm-B6gHgGkz.js +0 -586
  149. 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
- };