@opengis/cms 0.0.57 → 0.0.59

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 (56) hide show
  1. package/README.md +1 -1
  2. package/dist/AddNewItemInTree-05PSSEFi.js +76 -0
  3. package/dist/ArticlesPage-BjYzvTWM.js +298 -0
  4. package/dist/CollectionsBreadcrumb-HePNJb-d.js +4 -0
  5. package/dist/CollectionsBreadcrumb.vue_vue_type_script_setup_true_lang-BJh-tjam.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-CXkg_pk8.js +358 -0
  9. package/dist/EditCollectionPage-CqYHpEON.js +187 -0
  10. package/dist/{EmptyData-DaZt_nAm.js → EmptyData-DxPrSXhV.js} +1 -1
  11. package/dist/{MenuAddPage-Bf48Z-ah.js → MenuAddPage-QTnwCoGh.js} +40 -35
  12. package/dist/MenuBody-Bi0ONVZf.js +125 -0
  13. package/dist/MenuItemPage-B7Y9KFyb.js +1027 -0
  14. package/dist/MenuList-BLIpeqSd.js +172 -0
  15. package/dist/MenuPage-3W6jZ15H.js +107 -0
  16. package/dist/MenuWrapper-OrOv6sOb.js +12 -0
  17. package/dist/MonacoEditor-ByPT8pnv.js +4 -0
  18. package/dist/MonacoEditor.vue_vue_type_script_setup_true_lang-C8cip9Ci.js +84 -0
  19. package/dist/{UniversalTable.vue_vue_type_script_setup_true_lang-CJGTsd1V.js → UniversalTable-GBd_pStq.js} +81 -81
  20. package/dist/{UniversalTablePagination.vue_vue_type_script_setup_true_lang-GYZd_gkA.js → UniversalTablePagination-Dw2hc0nc.js} +47 -47
  21. package/dist/VsFormTags-CMjiu9sY.js +114 -0
  22. package/dist/VsPreview-DwETkOpb.js +63 -0
  23. package/dist/contentForm-Buku-lel.js +489 -0
  24. package/dist/getField-CpwVE28P.js +179 -0
  25. package/dist/index.d.ts +8 -0
  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-Cw-f19gc.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/locales/en.json +1 -0
  41. package/locales/uk.json +1 -0
  42. package/package.json +69 -68
  43. package/server/functions/utils/mock.reply.js +7 -7
  44. package/server/routes/cms/controllers/getPermissions.js +15 -15
  45. package/server/routes/cms/controllers/setPermissions.js +49 -49
  46. package/server/templates/select/core.user_mentioned.sql +1 -1
  47. package/dist/ArticlesPage-BcR1hbds.js +0 -286
  48. package/dist/BuilderPage-CK_osM89.js +0 -386
  49. package/dist/CollectionsBreadcrumb.vue_vue_type_script_setup_true_lang-CnOe9ORD.js +0 -45
  50. package/dist/CollectionsPage-JfmrHNR_.js +0 -110
  51. package/dist/EditCollectionPage-Cw3GQYRe.js +0 -809
  52. package/dist/MenuItemPage-CXn5HC8j.js +0 -1366
  53. package/dist/MenuPage-tJZtK46W.js +0 -106
  54. package/dist/MonacoEditor.vue_vue_type_script_setup_true_lang-B1DrxmQX.js +0 -84
  55. package/dist/contentForm-B6gHgGkz.js +0 -586
  56. package/dist/getField-Y5WXnRR0.js +0 -2948
@@ -0,0 +1,34 @@
1
+ import { mergeModels as u, useModel as m, ref as i, onMounted as c, openBlock as d, createBlock as p, unref as f, createCommentVNode as V } from "vue";
2
+ import { VsInputSelect as v } from "@opengis/form";
3
+ const h = {
4
+ __name: "vs-form-reletion-link",
5
+ props: /* @__PURE__ */ u({
6
+ relation: {
7
+ type: String,
8
+ required: !0
9
+ }
10
+ }, {
11
+ modelValue: {},
12
+ modelModifiers: {}
13
+ }),
14
+ emits: ["update:modelValue"],
15
+ setup(t) {
16
+ const l = m(t, "modelValue"), s = t, o = i([]);
17
+ return c(async () => {
18
+ const e = await (await fetch(`/api/cms-suggest/${s.relation}`)).json();
19
+ o.value = e == null ? void 0 : e.data;
20
+ }), (r, e) => {
21
+ var n;
22
+ return (n = o.value) != null && n.length ? (d(), p(f(v), {
23
+ key: 0,
24
+ mode: "combo",
25
+ modelValue: l.value,
26
+ "onUpdate:modelValue": e[0] || (e[0] = (a) => l.value = a),
27
+ options: o.value
28
+ }, null, 8, ["modelValue", "options"])) : V("", !0);
29
+ };
30
+ }
31
+ };
32
+ export {
33
+ h as default
34
+ };
@@ -0,0 +1,4 @@
1
+ import { _ as f } from "./vs-form-tiptap.vue_vue_type_script_setup_true_lang-DGgsqXwg.js";
2
+ export {
3
+ f as default
4
+ };
@@ -0,0 +1,11 @@
1
+ import { defineComponent as n, defineAsyncComponent as o, openBlock as c, createBlock as p, unref as r } from "vue";
2
+ const m = /* @__PURE__ */ n({
3
+ __name: "vs-form-tiptap",
4
+ setup(s) {
5
+ const e = o(() => import("@opengis/form").then((t) => t.VsInputRichtext));
6
+ return (t, _) => (c(), p(r(e), { class: "w-full" }));
7
+ }
8
+ });
9
+ export {
10
+ m as _
11
+ };
@@ -0,0 +1,4 @@
1
+ import { _ as f } from "./vs-richtext-md.vue_vue_type_script_setup_true_lang-Ct8uTV-J.js";
2
+ export {
3
+ f as default
4
+ };
@@ -0,0 +1,14 @@
1
+ import { defineComponent as n, defineAsyncComponent as o, openBlock as c, createBlock as r, unref as p } from "vue";
2
+ const i = /* @__PURE__ */ n({
3
+ __name: "vs-richtext-md",
4
+ setup(s) {
5
+ const e = o(() => import("@opengis/form").then((t) => t.VsInputRichtext));
6
+ return (t, m) => (c(), r(p(e), {
7
+ class: "w-full h-[300px]",
8
+ format: "md"
9
+ }));
10
+ }
11
+ });
12
+ export {
13
+ i as _
14
+ };
package/locales/en.json CHANGED
@@ -128,6 +128,7 @@
128
128
  "collectionCreationFailed": "Error creating collection",
129
129
  "pinPublication": "Pin Publication",
130
130
  "enLocalization": "EN localization",
131
+ "translating": "Localizing...",
131
132
  "translateContentSuccess": "Content translated successfully",
132
133
  "translateContentError": "Error translating content"
133
134
  },
package/locales/uk.json CHANGED
@@ -128,6 +128,7 @@
128
128
  "collectionCreationFailed": "Помилка при створенні колекції",
129
129
  "pinPublication": "Закріпити публікацію",
130
130
  "enLocalization": "EN локалізація",
131
+ "translating": "Локалізація...",
131
132
  "translateContentSuccess": "Контент успішно перекладений",
132
133
  "translateContentError": "Помилка при перекладі контенту"
133
134
  },
package/package.json CHANGED
@@ -1,68 +1,69 @@
1
- {
2
- "name": "@opengis/cms",
3
- "version": "0.0.57",
4
- "description": "cms",
5
- "type": "module",
6
- "author": "Softpro",
7
- "main": "./dist/index.js",
8
- "license": "EULA",
9
- "files": [
10
- "module",
11
- "locales",
12
- "dist",
13
- "server",
14
- "plugin.js",
15
- "utils.js",
16
- "utils.d.ts",
17
- "input-types.json"
18
- ],
19
- "scripts": {
20
- "patch": "npm version patch && git push && npm publish",
21
- "test": "node --test test/**/*.test.js",
22
- "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore",
23
- "dev": "NODE_ENV=dev bun --env-file=.env.ip server ",
24
- "admin": "vite admin",
25
- "build": "vite build && vite build admin",
26
- "build:lib": "vite build",
27
- "proxy": "vite dev admin",
28
- "start": "bun --env-file=.env.ip server",
29
- "prod": "NODE_ENV=production bun --env-file=.env.ip server ",
30
- "ip": "bun --env-file=.env.ip server",
31
- "demo": "node --env-file=.env.demo --env-file=.env server",
32
- "i18n:sync": "node i18n-sync.cjs",
33
- "prepublishOnly": "bun build:lib",
34
- "softpro": "bun --env-file=.env.softpro server",
35
- "softpro1": "NODE_ENV=production bun --env-file=.env.prod-softpro.local server"
36
- },
37
- "dependencies": {},
38
- "resolutions": {
39
- "rollup": "4.30.0"
40
- },
41
- "devDependencies": {
42
- "@fastify/compress": "^8.1.0",
43
- "@opengis/core": "^0.0.30",
44
- "@opengis/fastify-table": "^2.0.147",
45
- "@opengis/filter": "^0.1.31",
46
- "@opengis/form": "^0.0.109",
47
- "@opengis/richtext": "0.0.45",
48
- "@vueuse/head": "2.0.0",
49
- "js-yaml": "^4.1.0",
50
- "lucide-vue-next": "0.344.0",
51
- "vite": "5.1.4",
52
- "vue": "^3.5.17",
53
- "vue-i18n": "11.1.5",
54
- "vue-router": "4.4.3",
55
- "vuedraggable": "4.1.0",
56
- "@tailwindcss/typography": "0.5.10",
57
- "@tsconfig/node22": "^22.0.2",
58
- "@vitejs/plugin-vue": "5.0.4",
59
- "autoprefixer": "10.4.18",
60
- "eslint": "8.49.0",
61
- "postcss": "8.4.35",
62
- "sass": "^1.92.1",
63
- "tailwindcss": "3.4.1",
64
- "typescript": "~5.8.0",
65
- "vitest": "3.2.4",
66
- "vue-tsc": "^2.2.10"
67
- }
68
- }
1
+ {
2
+ "name": "@opengis/cms",
3
+ "version": "0.0.59",
4
+ "description": "cms",
5
+ "type": "module",
6
+ "author": "Softpro",
7
+ "main": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "license": "EULA",
10
+ "files": [
11
+ "module",
12
+ "locales",
13
+ "dist",
14
+ "server",
15
+ "plugin.js",
16
+ "utils.js",
17
+ "utils.d.ts",
18
+ "input-types.json"
19
+ ],
20
+ "scripts": {
21
+ "patch": "npm version patch && git push && npm publish",
22
+ "test": "node --test test/**/*.test.js",
23
+ "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore",
24
+ "dev": "NODE_ENV=dev bun --env-file=.env.ip server ",
25
+ "admin": "vite admin",
26
+ "build": "vite build admin",
27
+ "build:lib": "vue-tsc -p tsconfig.build.json --noEmit && vite build && npm run build:types",
28
+ "build:types": "vue-tsc -p tsconfig.types.json",
29
+ "proxy": "vite dev admin",
30
+ "start": "bun --env-file=.env.ip server",
31
+ "prod": "NODE_ENV=production bun --env-file=.env.ip server ",
32
+ "ip": "bun --env-file=.env.ip server",
33
+ "lemken": "bun --env-file=.env.local-lemken server",
34
+ "demo": "node --env-file=.env.demo --env-file=.env server",
35
+ "i18n:sync": "node i18n-sync.cjs",
36
+ "prepublishOnly": "bun build:lib",
37
+ "softpro": "bun --env-file=.env.softpro server",
38
+ "softpro1": "NODE_ENV=production bun --env-file=.env.prod-softpro.local server"
39
+ },
40
+ "resolutions": {
41
+ "rollup": "4.30.0"
42
+ },
43
+ "devDependencies": {
44
+ "@fastify/compress": "^8.1.0",
45
+ "@opengis/core": "^0.0.30",
46
+ "@opengis/fastify-table": "^2.0.147",
47
+ "@opengis/filter": "^0.1.31",
48
+ "@opengis/form": "^0.0.121",
49
+ "@tailwindcss/typography": "0.5.10",
50
+ "@tsconfig/node22": "^22.0.2",
51
+ "@vitejs/plugin-vue": "5.0.4",
52
+ "@vueuse/head": "2.0.0",
53
+ "autoprefixer": "10.4.18",
54
+ "eslint": "8.49.0",
55
+ "js-yaml": "^4.1.0",
56
+ "lucide-vue-next": "^0.564.0",
57
+ "postcss": "8.4.35",
58
+ "sass": "^1.92.1",
59
+ "tailwindcss": "3.4.1",
60
+ "typescript": "~5.8.0",
61
+ "vite": "5.1.4",
62
+ "vitest": "3.2.4",
63
+ "vue": "^3.5.17",
64
+ "vue-i18n": "11.1.5",
65
+ "vue-router": "4.4.3",
66
+ "vue-tsc": "^2.2.10",
67
+ "vuedraggable": "4.1.0"
68
+ }
69
+ }
@@ -18,8 +18,8 @@
18
18
  */
19
19
  export function createMockReply() {
20
20
  /** @type {MockReplyResponse<any>} */
21
-
22
- let response = {};
21
+
22
+ const response = {};
23
23
 
24
24
  return {
25
25
  /**
@@ -43,14 +43,14 @@ export function createMockReply() {
43
43
  * @returns {MockReplyResponse<T>}
44
44
  */
45
45
  send(result) {
46
- response = {
46
+
47
+ if (typeof result !== 'object') return { ...response, message: result }
48
+
49
+ return {
47
50
  ...response,
48
- ...(typeof result === 'object'
49
- ? { data: result }
50
- : { message: result }),
51
+ ...result
51
52
  };
52
53
 
53
- return response;
54
54
  },
55
55
  };
56
56
  }
@@ -1,16 +1,16 @@
1
- import { pgClients } from '@opengis/fastify-table/utils.js';
2
-
3
- export default async function getPermissions(req, reply) {
4
- const { pg = pgClients.client, params = {}, user = {} } = req;
5
-
6
- if (!user?.uid) {
7
- return reply.status(401).send('unauthorized');
8
- }
9
-
10
- const { rows = [] } = await pg.query(
11
- `select * from site.permissions where ${params.id ? 'user_id=$1' : 'true'}`,
12
- [params.id].filter(Boolean),
13
- );
14
-
15
- return { permissions: rows };
1
+ import { pgClients } from '@opengis/fastify-table/utils.js';
2
+
3
+ export default async function getPermissions(req, reply) {
4
+ const { pg = pgClients.client, params = {}, user = {} } = req;
5
+
6
+ if (!user?.uid) {
7
+ return reply.status(401).send('unauthorized');
8
+ }
9
+
10
+ const { rows = [] } = await pg.query(
11
+ `select * from site.permissions where ${params.id ? 'user_id=$1' : 'true'}`,
12
+ [params.id].filter(Boolean),
13
+ );
14
+
15
+ return { permissions: rows };
16
16
  }
@@ -1,50 +1,50 @@
1
- import { logger, pgClients, dataInsert } from '@opengis/fastify-table/utils.js';
2
-
3
- export default async function setPermissions(req, reply) {
4
- const { pg = pgClients.client, params = {}, user = {}, body = {} } = req;
5
-
6
- if (!user?.uid) {
7
- return reply.status(401).send('unauthorized');
8
- }
9
-
10
- if (!params.id) {
11
- return reply.status(400).send('not enough params: id');
12
- }
13
-
14
- const client = await pg.connect()
15
- const result = {};
16
- try {
17
- await client.query('BEGIN');
18
-
19
- const { rowCount = 0 } = await client.query(
20
- `delete from site.permissions where user_id=$1`,
21
- [params.id].filter(Boolean),
22
- );
23
-
24
- Object.assign(result, { deleted: rowCount });
25
-
26
- if (Array.isArray(body.permissions) && body.permissions?.length) {
27
- body.permissions.forEach((el) => {
28
- Object.assign(el, { user_id: el.user_id || params.id });
29
- });
30
-
31
- await Promise.all(body.permissions.map(async (el) => dataInsert({
32
- pg: client,
33
- table: 'site.permissions',
34
- data: el,
35
- uid: user.uid,
36
- })));
37
-
38
- Object.assign(result, { inserted: body.permissions.length });
39
- }
40
-
41
- await client.query('COMMIT');
42
- return reply.status(200).send(result);
43
- } catch (err) {
44
- await client.query('ROLLBACK');
45
- logger.file('cms/permissions', { error: err.toString(), stack: err.stack });
46
- return reply.status(500).send('set permissions error');
47
- } finally {
48
- client.release();
49
- }
1
+ import { logger, pgClients, dataInsert } from '@opengis/fastify-table/utils.js';
2
+
3
+ export default async function setPermissions(req, reply) {
4
+ const { pg = pgClients.client, params = {}, user = {}, body = {} } = req;
5
+
6
+ if (!user?.uid) {
7
+ return reply.status(401).send('unauthorized');
8
+ }
9
+
10
+ if (!params.id) {
11
+ return reply.status(400).send('not enough params: id');
12
+ }
13
+
14
+ const client = await pg.connect()
15
+ const result = {};
16
+ try {
17
+ await client.query('BEGIN');
18
+
19
+ const { rowCount = 0 } = await client.query(
20
+ `delete from site.permissions where user_id=$1`,
21
+ [params.id].filter(Boolean),
22
+ );
23
+
24
+ Object.assign(result, { deleted: rowCount });
25
+
26
+ if (Array.isArray(body.permissions) && body.permissions?.length) {
27
+ body.permissions.forEach((el) => {
28
+ Object.assign(el, { user_id: el.user_id || params.id });
29
+ });
30
+
31
+ await Promise.all(body.permissions.map(async (el) => dataInsert({
32
+ pg: client,
33
+ table: 'site.permissions',
34
+ data: el,
35
+ uid: user.uid,
36
+ })));
37
+
38
+ Object.assign(result, { inserted: body.permissions.length });
39
+ }
40
+
41
+ await client.query('COMMIT');
42
+ return reply.status(200).send(result);
43
+ } catch (err) {
44
+ await client.query('ROLLBACK');
45
+ logger.file('cms/permissions', { error: err.toString(), stack: err.stack });
46
+ return reply.status(500).send('set permissions error');
47
+ } finally {
48
+ client.release();
49
+ }
50
50
  }
@@ -1,2 +1,2 @@
1
- select uid, coalesce(sur_name,'')||coalesce(' '||user_name,'') as text, email from admin.users
1
+ select uid, coalesce(sur_name,'')||coalesce(' '||user_name,'') as text, email from admin.users
2
2
  where enabled order by coalesce(sur_name,'')||coalesce(' '||user_name,'')