@opengis/cms 0.0.58 → 0.0.60
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/{ArticlesPage-CFjE_cw_.js → ArticlesPage-BjYzvTWM.js} +3 -3
- package/dist/{CollectionsBreadcrumb-BCxeRikP.js → CollectionsBreadcrumb-HePNJb-d.js} +1 -1
- package/dist/CollectionsBreadcrumb.vue_vue_type_script_setup_true_lang-BJh-tjam.js +53 -0
- package/dist/{Dashboard-C1eGscNd.js → Dashboard-CXkg_pk8.js} +132 -132
- package/dist/EditCollectionPage-BycuD920.js +188 -0
- package/dist/{MenuAddPage-D-p3gFgm.js → MenuAddPage-QTnwCoGh.js} +1 -1
- package/dist/{MenuBody-rN5j4YBu.js → MenuBody-Bi0ONVZf.js} +2 -2
- package/dist/{MenuItemPage-BoJw885D.js → MenuItemPage-B7Y9KFyb.js} +3 -3
- package/dist/{MenuList-DFEBS0NB.js → MenuList-BLIpeqSd.js} +53 -53
- package/dist/{MenuPage-BCZB_S8j.js → MenuPage-3W6jZ15H.js} +1 -1
- package/dist/{MenuWrapper-AZ_8s-zd.js → MenuWrapper-OrOv6sOb.js} +1 -1
- package/dist/{MonacoEditor-Db-3Jc3E.js → MonacoEditor-ByPT8pnv.js} +1 -1
- package/dist/MonacoEditor.vue_vue_type_script_setup_true_lang-C8cip9Ci.js +84 -0
- package/dist/{UniversalTable-CzqPG-tY.js → UniversalTable-GBd_pStq.js} +80 -80
- package/dist/{UniversalTablePagination-4gL47A7I.js → UniversalTablePagination-Dw2hc0nc.js} +46 -46
- package/dist/{contentForm-CtMhQTG0.js → contentForm-yMn63kza.js} +48 -48
- package/dist/index.js +5 -5
- package/dist/{vs-builder-monaco-B3Jj0V31.js → vs-builder-monaco-Cw-f19gc.js} +1 -1
- package/input-types.json +9 -9
- package/locales/en.json +815 -815
- package/locales/uk.json +813 -813
- 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 +2 -1
- 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/getPermissions.js +15 -15
- 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/setPermissions.js +49 -49
- 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 +113 -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/server/templates/select/core.user_mentioned.sql +1 -1
- package/utils.d.ts +52 -52
- package/utils.js +8 -8
- package/dist/CollectionsBreadcrumb.vue_vue_type_script_setup_true_lang-umRzB5mY.js +0 -53
- package/dist/EditCollectionPage-DIr1tdtn.js +0 -187
- package/dist/MonacoEditor.vue_vue_type_script_setup_true_lang-B1DrxmQX.js +0 -84
- package/dist/images/logo.png +0 -0
- package/dist/index.html +0 -29
- package/dist/vite.svg +0 -1
package/README.md
CHANGED
|
@@ -1,131 +1,131 @@
|
|
|
1
|
-
<!--  -->
|
|
2
|
-
# @opengis/cms
|
|
3
|
-
|
|
4
|
-
[](https://www.npmjs.com/package/@opengis/cms)
|
|
5
|
-
[]()
|
|
6
|
-
[]()
|
|
7
|
-
[](http://standardjs.com/)
|
|
8
|
-
|
|
9
|
-
This package standardizes static website content management process. Built using the **Fastify** and **Vite** frameworks for reactive, component-driven development.
|
|
10
|
-
|
|
11
|
-
## Features
|
|
12
|
-
|
|
13
|
-
- **Real-time Editing** - Update content without stopping or reloading the website.
|
|
14
|
-
- **Page Templates** - Use pre-created templates to quickly start your website.
|
|
15
|
-
- **Dashboard** - Control panel for quick evaluation of key metrics.
|
|
16
|
-
- **Multi-user mode** - Work together with a team on content in real time.
|
|
17
|
-
- **User Settings** - Includes functionality for managing user settings, creating user groups, and defining roles with interface permissions.
|
|
18
|
-
|
|
19
|
-
## Install
|
|
20
|
-
|
|
21
|
-
```bash
|
|
22
|
-
npm i @opengis/cms
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
## Usage Astro
|
|
26
|
-
|
|
27
|
-
```js
|
|
28
|
-
---
|
|
29
|
-
import Layout from "@/layouts/Layout.astro";
|
|
30
|
-
|
|
31
|
-
// get posts
|
|
32
|
-
import { getContents } from "@/utils/cms";
|
|
33
|
-
const postsData = await getContents({ collection: "posts"});
|
|
34
|
-
const { lang } = Astro.params;
|
|
35
|
-
---
|
|
36
|
-
|
|
37
|
-
<Layout
|
|
38
|
-
title={lang === "uk" ? "Про нас" : "About us"}
|
|
39
|
-
>
|
|
40
|
-
{ postsData }
|
|
41
|
-
</Layout>
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
## Usage CMS
|
|
45
|
-
|
|
46
|
-
```js
|
|
47
|
-
// main.ts
|
|
48
|
-
app.config.globalProperties.$settings = {
|
|
49
|
-
cms: {
|
|
50
|
-
locale: 'uk', // мова сайту по замовчуванню
|
|
51
|
-
locales: ['uk', 'en'], // доступні варіанти перекладу
|
|
52
|
-
previewUrl: 'http://site.ua' // адреса перегляду контенту з редактора
|
|
53
|
-
}
|
|
54
|
-
};
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
```js
|
|
58
|
-
// router.config
|
|
59
|
-
export default [
|
|
60
|
-
{
|
|
61
|
-
path: '/cms.dashboard',
|
|
62
|
-
component: () => import('@opengis/cms').then(el => el.Dashboard),
|
|
63
|
-
},
|
|
64
|
-
{
|
|
65
|
-
path: '/cms.content/:type?/:id?',
|
|
66
|
-
component: () => import('@opengis/cms').then(el => el.Content),
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
path: '/cms.menu/:id?',
|
|
70
|
-
component: () => import('@opengis/cms').then(el => el.Menu),
|
|
71
|
-
},
|
|
72
|
-
]
|
|
73
|
-
```
|
|
74
|
-
## Start
|
|
75
|
-
|
|
76
|
-
Configure **pg**, **redis** and **s3** connections in `.env` file
|
|
77
|
-
|
|
78
|
-
```bash
|
|
79
|
-
node --env-file=.env.ip server
|
|
80
|
-
bun --env-file=.env.ip server
|
|
81
|
-
pm2 start server --name api -- --env-file=.env.ip
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
## Documentation
|
|
85
|
-
|
|
86
|
-
For a detailed understanding of `cms`, its features, and how to use them, refer to our [Documentation](https://apidocs.softpro.ua/cms/).
|
|
87
|
-
|
|
88
|
-
## Technology stack
|
|
89
|
-
|
|
90
|
-
<a href="https://fastify.dev/" target="_blank">
|
|
91
|
-
<img src="https://img.shields.io/badge/Fastify-323330?style=for-the-badge&logo=fastify" /></a>
|
|
92
|
-
|
|
93
|
-
<a href="https://vuejs.org/" target="_blank">
|
|
94
|
-
<img src="https://img.shields.io/badge/Vue%20js-323330?style=for-the-badge&logo=vuedotjs&logoColor=4FC08D" /></a>
|
|
95
|
-
|
|
96
|
-
<a href="https://vite.dev/" target="_blank">
|
|
97
|
-
<img src="https://img.shields.io/badge/Vite-323330?style=for-the-badge&logo=vite" /></a>
|
|
98
|
-
|
|
99
|
-
<a href="https://www.postgresql.org/" target="_blank">
|
|
100
|
-
<img src="https://img.shields.io/badge/PostgreSQL-323330?style=for-the-badge&logo=postgresql&logoColor=white" /></a>
|
|
101
|
-
|
|
102
|
-
<a href="https://redis.io/" target="_blank">
|
|
103
|
-
<img src="https://img.shields.io/badge/redis-323330.svg?&style=for-the-badge&logo=redis&logoColor=%23DD0031" /></a>
|
|
104
|
-
|
|
105
|
-
<a href="https://nodejs.org/" target="_blank">
|
|
106
|
-
<img src="https://img.shields.io/badge/Node.js-323330?style=for-the-badge&logo=node.js&logoColor=white" /></a>
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
## Contribute
|
|
111
|
-
|
|
112
|
-
Feel free to contact us through our website [SOFTPRO.UA](https://softpro.ua) or email <info@softpro.ua>
|
|
113
|
-
|
|
114
|
-
- Report bugs
|
|
115
|
-
- Share your ideas
|
|
116
|
-
- Ask questions
|
|
117
|
-
|
|
118
|
-
## Follow Us
|
|
119
|
-
|
|
120
|
-
[Official site](https://softpro.ua)
|
|
121
|
-
|
|
122
|
-
<p>
|
|
123
|
-
<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>
|
|
124
|
-
<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>
|
|
125
|
-
<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>
|
|
126
|
-
<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>
|
|
127
|
-
</p>
|
|
128
|
-
|
|
129
|
-
## License
|
|
130
|
-
|
|
131
|
-
Copyright © SOFTPRO. All rights reserved.
|
|
1
|
+
<!--  -->
|
|
2
|
+
# @opengis/cms
|
|
3
|
+
|
|
4
|
+
[](https://www.npmjs.com/package/@opengis/cms)
|
|
5
|
+
[]()
|
|
6
|
+
[]()
|
|
7
|
+
[](http://standardjs.com/)
|
|
8
|
+
|
|
9
|
+
This package standardizes static website content management process. Built using the **Fastify** and **Vite** frameworks for reactive, component-driven development.
|
|
10
|
+
|
|
11
|
+
## Features
|
|
12
|
+
|
|
13
|
+
- **Real-time Editing** - Update content without stopping or reloading the website.
|
|
14
|
+
- **Page Templates** - Use pre-created templates to quickly start your website.
|
|
15
|
+
- **Dashboard** - Control panel for quick evaluation of key metrics.
|
|
16
|
+
- **Multi-user mode** - Work together with a team on content in real time.
|
|
17
|
+
- **User Settings** - Includes functionality for managing user settings, creating user groups, and defining roles with interface permissions.
|
|
18
|
+
|
|
19
|
+
## Install
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
npm i @opengis/cms
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Usage Astro
|
|
26
|
+
|
|
27
|
+
```js
|
|
28
|
+
---
|
|
29
|
+
import Layout from "@/layouts/Layout.astro";
|
|
30
|
+
|
|
31
|
+
// get posts
|
|
32
|
+
import { getContents } from "@/utils/cms";
|
|
33
|
+
const postsData = await getContents({ collection: "posts"});
|
|
34
|
+
const { lang } = Astro.params;
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
<Layout
|
|
38
|
+
title={lang === "uk" ? "Про нас" : "About us"}
|
|
39
|
+
>
|
|
40
|
+
{ postsData }
|
|
41
|
+
</Layout>
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Usage CMS
|
|
45
|
+
|
|
46
|
+
```js
|
|
47
|
+
// main.ts
|
|
48
|
+
app.config.globalProperties.$settings = {
|
|
49
|
+
cms: {
|
|
50
|
+
locale: 'uk', // мова сайту по замовчуванню
|
|
51
|
+
locales: ['uk', 'en'], // доступні варіанти перекладу
|
|
52
|
+
previewUrl: 'http://site.ua' // адреса перегляду контенту з редактора
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
```js
|
|
58
|
+
// router.config
|
|
59
|
+
export default [
|
|
60
|
+
{
|
|
61
|
+
path: '/cms.dashboard',
|
|
62
|
+
component: () => import('@opengis/cms').then(el => el.Dashboard),
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
path: '/cms.content/:type?/:id?',
|
|
66
|
+
component: () => import('@opengis/cms').then(el => el.Content),
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
path: '/cms.menu/:id?',
|
|
70
|
+
component: () => import('@opengis/cms').then(el => el.Menu),
|
|
71
|
+
},
|
|
72
|
+
]
|
|
73
|
+
```
|
|
74
|
+
## Start
|
|
75
|
+
|
|
76
|
+
Configure **pg**, **redis** and **s3** connections in `.env` file
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
node --env-file=.env.ip server
|
|
80
|
+
bun --env-file=.env.ip server
|
|
81
|
+
pm2 start server --name api -- --env-file=.env.ip
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## Documentation
|
|
85
|
+
|
|
86
|
+
For a detailed understanding of `cms`, its features, and how to use them, refer to our [Documentation](https://apidocs.softpro.ua/cms/).
|
|
87
|
+
|
|
88
|
+
## Technology stack
|
|
89
|
+
|
|
90
|
+
<a href="https://fastify.dev/" target="_blank">
|
|
91
|
+
<img src="https://img.shields.io/badge/Fastify-323330?style=for-the-badge&logo=fastify" /></a>
|
|
92
|
+
|
|
93
|
+
<a href="https://vuejs.org/" target="_blank">
|
|
94
|
+
<img src="https://img.shields.io/badge/Vue%20js-323330?style=for-the-badge&logo=vuedotjs&logoColor=4FC08D" /></a>
|
|
95
|
+
|
|
96
|
+
<a href="https://vite.dev/" target="_blank">
|
|
97
|
+
<img src="https://img.shields.io/badge/Vite-323330?style=for-the-badge&logo=vite" /></a>
|
|
98
|
+
|
|
99
|
+
<a href="https://www.postgresql.org/" target="_blank">
|
|
100
|
+
<img src="https://img.shields.io/badge/PostgreSQL-323330?style=for-the-badge&logo=postgresql&logoColor=white" /></a>
|
|
101
|
+
|
|
102
|
+
<a href="https://redis.io/" target="_blank">
|
|
103
|
+
<img src="https://img.shields.io/badge/redis-323330.svg?&style=for-the-badge&logo=redis&logoColor=%23DD0031" /></a>
|
|
104
|
+
|
|
105
|
+
<a href="https://nodejs.org/" target="_blank">
|
|
106
|
+
<img src="https://img.shields.io/badge/Node.js-323330?style=for-the-badge&logo=node.js&logoColor=white" /></a>
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
## Contribute
|
|
111
|
+
|
|
112
|
+
Feel free to contact us through our website [SOFTPRO.UA](https://softpro.ua) or email <info@softpro.ua>
|
|
113
|
+
|
|
114
|
+
- Report bugs
|
|
115
|
+
- Share your ideas
|
|
116
|
+
- Ask questions
|
|
117
|
+
|
|
118
|
+
## Follow Us
|
|
119
|
+
|
|
120
|
+
[Official site](https://softpro.ua)
|
|
121
|
+
|
|
122
|
+
<p>
|
|
123
|
+
<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>
|
|
124
|
+
<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>
|
|
125
|
+
<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>
|
|
126
|
+
<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>
|
|
127
|
+
</p>
|
|
128
|
+
|
|
129
|
+
## License
|
|
130
|
+
|
|
131
|
+
Copyright © SOFTPRO. All rights reserved.
|
|
@@ -21,13 +21,13 @@ const $e = { class: "space-y-6 mx-auto max-w-[90%]" }, Ae = { class: "flex flex-
|
|
|
21
21
|
__name: "ArticlesPage",
|
|
22
22
|
setup(Se) {
|
|
23
23
|
const K = D(
|
|
24
|
-
() => import("./UniversalTable-
|
|
24
|
+
() => import("./UniversalTable-GBd_pStq.js")
|
|
25
25
|
), Q = D(
|
|
26
|
-
() => import("./UniversalTablePagination-
|
|
26
|
+
() => import("./UniversalTablePagination-Dw2hc0nc.js")
|
|
27
27
|
), J = D(
|
|
28
28
|
() => import("./EmptyData-DxPrSXhV.js")
|
|
29
29
|
), W = D(
|
|
30
|
-
() => import("./CollectionsBreadcrumb-
|
|
30
|
+
() => import("./CollectionsBreadcrumb-HePNJb-d.js")
|
|
31
31
|
), s = ve(), m = fe(), c = o(null), X = o(""), { t: y, locale: Y } = _e(), E = o([]), Z = ue("cms.menu") || [], T = o(""), v = o(""), U = o(null), j = o(1), w = o(!1), p = o(["title", "slug", "author", "publish_at", "published_at", "status"]), q = o([]), x = o([]), F = o([]), k = o({}), V = o(0), C = o(!1), S = () => {
|
|
32
32
|
var l;
|
|
33
33
|
let t = (l = c.value) == null ? void 0 : l.columns.filter((e) => {
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { defineComponent as k, openBlock as e, createElementBlock as s, createElementVNode as a, createVNode as m, unref as n, toDisplayString as u, Fragment as r, createBlock as c, createCommentVNode as p, renderList as b } from "vue";
|
|
2
|
+
import { Layers as x, ChevronRight as i } from "lucide-vue-next";
|
|
3
|
+
const h = { class: "flex items-center space-x-1 mb-4 overflow-hidden" }, g = { class: "truncate block max-w-[12rem]" }, w = ["onClick"], f = { class: "truncate block max-w-[20rem]" }, v = {
|
|
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
|
+
}, y = { class: "truncate block max-w-[20rem]" }, N = /* @__PURE__ */ k({
|
|
7
|
+
__name: "CollectionsBreadcrumb",
|
|
8
|
+
props: {
|
|
9
|
+
items: {},
|
|
10
|
+
loading: { type: Boolean }
|
|
11
|
+
},
|
|
12
|
+
emits: ["navigate"],
|
|
13
|
+
setup(C) {
|
|
14
|
+
return (t, l) => (e(), s("div", h, [
|
|
15
|
+
a("button", {
|
|
16
|
+
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",
|
|
17
|
+
onClick: l[0] || (l[0] = (o) => t.$emit("navigate", "collections"))
|
|
18
|
+
}, [
|
|
19
|
+
m(n(x), { class: "w-3 h-3 flex-shrink-0" }),
|
|
20
|
+
a("span", g, u(t.$t("cms.navigation.collections")), 1)
|
|
21
|
+
]),
|
|
22
|
+
t.loading ? (e(), s(r, { key: 0 }, [
|
|
23
|
+
m(n(i), { class: "w-3 h-3 text-slate-400 dark:text-slate-500 flex-shrink-0" }),
|
|
24
|
+
l[1] || (l[1] = a("div", { class: "h-7 w-24 rounded bg-slate-200 dark:bg-slate-700 animate-pulse" }, null, -1)),
|
|
25
|
+
m(n(i), { class: "w-3 h-3 text-slate-400 dark:text-slate-500 flex-shrink-0" }),
|
|
26
|
+
l[2] || (l[2] = a("div", { class: "h-7 w-20 rounded bg-slate-200 dark:bg-slate-700 animate-pulse" }, null, -1))
|
|
27
|
+
], 64)) : (e(), s(r, { key: 1 }, [
|
|
28
|
+
t.items.length > 0 ? (e(), c(n(i), {
|
|
29
|
+
key: 0,
|
|
30
|
+
class: "w-3 h-3 text-slate-400 dark:text-slate-500 flex-shrink-0"
|
|
31
|
+
})) : p("", !0),
|
|
32
|
+
(e(!0), s(r, null, b(t.items, (o, d) => (e(), s(r, { key: d }, [
|
|
33
|
+
d < t.items.length - 1 ? (e(), s("button", {
|
|
34
|
+
key: 0,
|
|
35
|
+
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",
|
|
36
|
+
onClick: (_) => t.$emit("navigate", o.route)
|
|
37
|
+
}, [
|
|
38
|
+
a("span", f, u(o.label), 1)
|
|
39
|
+
], 8, w)) : (e(), s("span", v, [
|
|
40
|
+
a("span", y, u(o.label), 1)
|
|
41
|
+
])),
|
|
42
|
+
d < t.items.length - 1 ? (e(), c(n(i), {
|
|
43
|
+
key: 2,
|
|
44
|
+
class: "w-3 h-3 text-slate-400 dark:text-slate-500 flex-shrink-0"
|
|
45
|
+
})) : p("", !0)
|
|
46
|
+
], 64))), 128))
|
|
47
|
+
], 64))
|
|
48
|
+
]));
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
export {
|
|
52
|
+
N as _
|
|
53
|
+
};
|