@opengis/cms 0.0.3 → 0.0.4
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/dist/cms.js +5900 -0
- package/dist/cms.umd.cjs +19 -0
- package/package.json +4 -1
- package/.gitlab-ci.yml +0 -36
- package/config.example +0 -21
- package/docs/.vitepress/abbr.mjs +0 -26
- package/docs/.vitepress/config.mjs +0 -119
- package/docs/.vitepress/navigation.mjs +0 -82
- package/docs/.vitepress/theme/Layout.vue +0 -17
- package/docs/.vitepress/theme/components/NavigationLinks.vue +0 -102
- package/docs/.vitepress/theme/components/Panzoom.vue +0 -169
- package/docs/.vitepress/theme/index.mjs +0 -15
- package/docs/.vitepress/theme/style.scss +0 -136
- package/docs/abbr.json +0 -4
- package/docs/api/builder/cms.builder.delete.md +0 -65
- package/docs/api/builder/cms.builder.get.md +0 -70
- package/docs/api/builder/cms.builder.list.md +0 -98
- package/docs/api/builder/cms.builder.post.md +0 -72
- package/docs/api/builder/cms.builder.put.md +0 -88
- package/docs/api/category/cms.category.delete.md +0 -60
- package/docs/api/category/cms.category.get.md +0 -61
- package/docs/api/category/cms.category.list.md +0 -77
- package/docs/api/category/cms.category.post.md +0 -62
- package/docs/api/category/cms.category.put.md +0 -78
- package/docs/api/index.md +0 -50
- package/docs/api/manager/cms.manager.delete.md +0 -64
- package/docs/api/manager/cms.manager.get.md +0 -72
- package/docs/api/manager/cms.manager.list.md +0 -96
- package/docs/api/manager/cms.manager.post.md +0 -70
- package/docs/api/manager/cms.manager.put.md +0 -86
- package/docs/api/media/del.md +0 -64
- package/docs/api/media/edit.md +0 -92
- package/docs/api/media/list.md +0 -70
- package/docs/api/media/metadata.md +0 -57
- package/docs/api/media/preview.md +0 -33
- package/docs/api/media/upload.md +0 -84
- package/docs/db/erd.md +0 -173
- package/docs/db/index.md +0 -7
- package/docs/index.md +0 -39
- package/docs/public/logo-dark.svg +0 -24
- package/docs/public/logo-light.svg +0 -24
- package/docs/public/logo-short.svg +0 -15
- package/docs/public/logo.svg +0 -19
- package/docs/readme/index.md +0 -6
- package/docs/src/vs-button.vue +0 -157
- package/docs/vue/basic/button.md +0 -144
- package/docs/vue/index.md +0 -9
- package/index.html +0 -14
- package/server/app.js +0 -25
- package/server/config.js +0 -5
- package/server/index.js +0 -23
- package/server/migrations/media.sql +0 -30
- package/server/plugins/hook.js +0 -91
- package/server/plugins/vite.js +0 -80
- package/server/routes/builder/controllers/cms.builder.delete.js +0 -21
- package/server/routes/builder/controllers/cms.builder.get.js +0 -17
- package/server/routes/builder/controllers/cms.builder.list.js +0 -16
- package/server/routes/builder/controllers/cms.builder.post.js +0 -21
- package/server/routes/builder/controllers/cms.builder.put.js +0 -23
- package/server/routes/builder/index.mjs +0 -22
- package/server/routes/category/controllers/cms.category.delete.js +0 -21
- package/server/routes/category/controllers/cms.category.get.js +0 -17
- package/server/routes/category/controllers/cms.category.list.js +0 -16
- package/server/routes/category/controllers/cms.category.post.js +0 -21
- package/server/routes/category/controllers/cms.category.put.js +0 -23
- package/server/routes/category/index.mjs +0 -22
- package/server/routes/manager/controllers/cms.manager.delete.js +0 -22
- package/server/routes/manager/controllers/cms.manager.get.js +0 -21
- package/server/routes/manager/controllers/cms.manager.list.js +0 -31
- package/server/routes/manager/controllers/cms.manager.post.js +0 -28
- package/server/routes/manager/controllers/cms.manager.put.js +0 -23
- package/server/routes/manager/index.mjs +0 -22
- package/server/routes/media/controllers/delete.js +0 -59
- package/server/routes/media/controllers/edit.js +0 -94
- package/server/routes/media/controllers/list.js +0 -74
- package/server/routes/media/controllers/metadata.js +0 -51
- package/server/routes/media/controllers/preview.js +0 -47
- package/server/routes/media/controllers/upload.js +0 -79
- package/server/routes/media/index.mjs +0 -16
- package/server/routes/root.mjs +0 -15
- package/server/templates/cls/cms.category_type.json +0 -10
- package/server/templates/cls/cms.content_review_status.json +0 -10
- package/server/templates/cls/cms.content_status.json +0 -10
- package/server/templates/cls/cms.content_type.json +0 -10
- package/server/templates/cls/cms.lang.json +0 -10
- package/server/templates/page/login.html +0 -59
- package/server/templates/select/cms.category_id.sql +0 -1
- package/server/templates/select/cms.type_id.sql +0 -1
- package/src/App.vue +0 -4
- package/src/assets/tailwind/tailwind.js +0 -62
- package/src/assets/vue.svg +0 -1
- package/src/components/builder/vs-builder-content.vue +0 -163
- package/src/components/builder/vs-builder-menu.vue +0 -142
- package/src/components/formats/index.js +0 -8
- package/src/components/formats/vs-manager-table-date.vue +0 -29
- package/src/components/formats/vs-manager-table-switch.vue +0 -16
- package/src/components/icons/icon-actions.vue +0 -24
- package/src/components/icons/icon-arrow-left.vue +0 -19
- package/src/components/icons/icon-check.vue +0 -23
- package/src/components/icons/icon-chewron-right.vue +0 -16
- package/src/components/icons/icon-close.vue +0 -22
- package/src/components/icons/icon-edit.vue +0 -22
- package/src/components/icons/icon-folder.vue +0 -18
- package/src/components/icons/icon-folder2.vue +0 -17
- package/src/components/icons/icon-home.vue +0 -16
- package/src/components/icons/icon-image.vue +0 -18
- package/src/components/icons/icon-logo.vue +0 -22
- package/src/components/icons/icon-media.vue +0 -22
- package/src/components/icons/icon-point.vue +0 -11
- package/src/components/icons/icon-search.vue +0 -22
- package/src/components/icons/icon-table.vue +0 -22
- package/src/components/icons/icon-users.vue +0 -18
- package/src/components/icons/icon.plus.vue +0 -18
- package/src/components/manager/children/vs-manager-collection-content.vue +0 -55
- package/src/components/manager/children/vs-manager-collection-item-content.vue +0 -116
- package/src/components/manager/children/vs-manager-single-content.vue +0 -112
- package/src/components/manager/manager-table/vs-manager-colection-table-add.vue +0 -84
- package/src/components/manager/manager-table/vs-manager-collection-table.vue +0 -59
- package/src/components/manager/vs-manager-menu.vue +0 -73
- package/src/components/media/Breadcrumb.vue +0 -73
- package/src/components/shared-components/vs-not-data.vue +0 -213
- package/src/components/vs-main-menu.vue +0 -53
- package/src/helpers/debounce.js +0 -10
- package/src/helpers/translite.js +0 -19
- package/src/main.js +0 -30
- package/src/misc/import-file.js +0 -32
- package/src/pages/vs-builder.vue +0 -22
- package/src/pages/vs-layout.vue +0 -17
- package/src/pages/vs-manager.vue +0 -30
- package/src/pages/vs-media.vue +0 -398
- package/src/router/router.js +0 -9
- package/src/router/routes.config.js +0 -40
- package/src/style.css +0 -0
- package/src/templates/form-columns.js +0 -70
- package/src/templates/form-template.js +0 -22
- package/test/config.js +0 -17
- package/test/files/eye.svg +0 -4
- package/test/helper.js +0 -30
- package/test/routes/builder.test.js +0 -99
- package/test/routes/category.test.js +0 -97
- package/test/routes/manager.test.js +0 -103
- package/test/routes/media.test.js +0 -252
- package/vite.config.js +0 -37
- /package/{public → dist}/vite.svg +0 -0
|
@@ -1,213 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="w-full">
|
|
3
|
-
<div
|
|
4
|
-
class="p-5 min-h-[500px] flex flex-col justify-center items-center text-center"
|
|
5
|
-
>
|
|
6
|
-
<svg
|
|
7
|
-
class="w-48 mx-auto"
|
|
8
|
-
viewBox="0 0 178 90"
|
|
9
|
-
fill="none"
|
|
10
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
11
|
-
>
|
|
12
|
-
<rect
|
|
13
|
-
x="27"
|
|
14
|
-
y="50.5"
|
|
15
|
-
width="124"
|
|
16
|
-
height="39"
|
|
17
|
-
rx="7.5"
|
|
18
|
-
fill="currentColor"
|
|
19
|
-
class="fill-white dark:fill-neutral-800"
|
|
20
|
-
></rect>
|
|
21
|
-
<rect
|
|
22
|
-
x="27"
|
|
23
|
-
y="50.5"
|
|
24
|
-
width="124"
|
|
25
|
-
height="39"
|
|
26
|
-
rx="7.5"
|
|
27
|
-
stroke="currentColor"
|
|
28
|
-
class="stroke-gray-50 dark:stroke-neutral-700/10"
|
|
29
|
-
></rect>
|
|
30
|
-
<rect
|
|
31
|
-
x="34.5"
|
|
32
|
-
y="58"
|
|
33
|
-
width="24"
|
|
34
|
-
height="24"
|
|
35
|
-
rx="4"
|
|
36
|
-
fill="currentColor"
|
|
37
|
-
class="fill-gray-50 dark:fill-neutral-700/30"
|
|
38
|
-
></rect>
|
|
39
|
-
<rect
|
|
40
|
-
x="66.5"
|
|
41
|
-
y="61"
|
|
42
|
-
width="60"
|
|
43
|
-
height="6"
|
|
44
|
-
rx="3"
|
|
45
|
-
fill="currentColor"
|
|
46
|
-
class="fill-gray-50 dark:fill-neutral-700/30"
|
|
47
|
-
></rect>
|
|
48
|
-
<rect
|
|
49
|
-
x="66.5"
|
|
50
|
-
y="73"
|
|
51
|
-
width="77"
|
|
52
|
-
height="6"
|
|
53
|
-
rx="3"
|
|
54
|
-
fill="currentColor"
|
|
55
|
-
class="fill-gray-50 dark:fill-neutral-700/30"
|
|
56
|
-
></rect>
|
|
57
|
-
<rect
|
|
58
|
-
x="19.5"
|
|
59
|
-
y="28.5"
|
|
60
|
-
width="139"
|
|
61
|
-
height="39"
|
|
62
|
-
rx="7.5"
|
|
63
|
-
fill="currentColor"
|
|
64
|
-
class="fill-white dark:fill-neutral-800"
|
|
65
|
-
></rect>
|
|
66
|
-
<rect
|
|
67
|
-
x="19.5"
|
|
68
|
-
y="28.5"
|
|
69
|
-
width="139"
|
|
70
|
-
height="39"
|
|
71
|
-
rx="7.5"
|
|
72
|
-
stroke="currentColor"
|
|
73
|
-
class="stroke-gray-100 dark:stroke-neutral-700/30"
|
|
74
|
-
></rect>
|
|
75
|
-
<rect
|
|
76
|
-
x="27"
|
|
77
|
-
y="36"
|
|
78
|
-
width="24"
|
|
79
|
-
height="24"
|
|
80
|
-
rx="4"
|
|
81
|
-
fill="currentColor"
|
|
82
|
-
class="fill-gray-100 dark:fill-neutral-700/70"
|
|
83
|
-
></rect>
|
|
84
|
-
<rect
|
|
85
|
-
x="59"
|
|
86
|
-
y="39"
|
|
87
|
-
width="60"
|
|
88
|
-
height="6"
|
|
89
|
-
rx="3"
|
|
90
|
-
fill="currentColor"
|
|
91
|
-
class="fill-gray-100 dark:fill-neutral-700/70"
|
|
92
|
-
></rect>
|
|
93
|
-
<rect
|
|
94
|
-
x="59"
|
|
95
|
-
y="51"
|
|
96
|
-
width="92"
|
|
97
|
-
height="6"
|
|
98
|
-
rx="3"
|
|
99
|
-
fill="currentColor"
|
|
100
|
-
class="fill-gray-100 dark:fill-neutral-700/70"
|
|
101
|
-
></rect>
|
|
102
|
-
<g filter="url(#filter1)">
|
|
103
|
-
<rect
|
|
104
|
-
x="12"
|
|
105
|
-
y="6"
|
|
106
|
-
width="154"
|
|
107
|
-
height="40"
|
|
108
|
-
rx="8"
|
|
109
|
-
fill="currentColor"
|
|
110
|
-
class="fill-white dark:fill-neutral-800"
|
|
111
|
-
shape-rendering="crispEdges"
|
|
112
|
-
></rect>
|
|
113
|
-
<rect
|
|
114
|
-
x="12.5"
|
|
115
|
-
y="6.5"
|
|
116
|
-
width="153"
|
|
117
|
-
height="39"
|
|
118
|
-
rx="7.5"
|
|
119
|
-
stroke="currentColor"
|
|
120
|
-
class="stroke-gray-100 dark:stroke-neutral-700/60"
|
|
121
|
-
shape-rendering="crispEdges"
|
|
122
|
-
></rect>
|
|
123
|
-
<rect
|
|
124
|
-
x="20"
|
|
125
|
-
y="14"
|
|
126
|
-
width="24"
|
|
127
|
-
height="24"
|
|
128
|
-
rx="4"
|
|
129
|
-
fill="currentColor"
|
|
130
|
-
class="fill-gray-200 dark:fill-neutral-700"
|
|
131
|
-
></rect>
|
|
132
|
-
<rect
|
|
133
|
-
x="52"
|
|
134
|
-
y="17"
|
|
135
|
-
width="60"
|
|
136
|
-
height="6"
|
|
137
|
-
rx="3"
|
|
138
|
-
fill="currentColor"
|
|
139
|
-
class="fill-gray-200 dark:fill-neutral-700"
|
|
140
|
-
></rect>
|
|
141
|
-
<rect
|
|
142
|
-
x="52"
|
|
143
|
-
y="29"
|
|
144
|
-
width="106"
|
|
145
|
-
height="6"
|
|
146
|
-
rx="3"
|
|
147
|
-
fill="currentColor"
|
|
148
|
-
class="fill-gray-200 dark:fill-neutral-700"
|
|
149
|
-
></rect>
|
|
150
|
-
</g>
|
|
151
|
-
<defs>
|
|
152
|
-
<filter
|
|
153
|
-
id="filter1"
|
|
154
|
-
x="0"
|
|
155
|
-
y="0"
|
|
156
|
-
width="178"
|
|
157
|
-
height="64"
|
|
158
|
-
filterUnits="userSpaceOnUse"
|
|
159
|
-
color-interpolation-filters="sRGB"
|
|
160
|
-
>
|
|
161
|
-
<feFlood flood-opacity="0" result="BackgroundImageFix"></feFlood>
|
|
162
|
-
<feColorMatrix
|
|
163
|
-
in="SourceAlpha"
|
|
164
|
-
type="matrix"
|
|
165
|
-
values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"
|
|
166
|
-
result="hardAlpha"
|
|
167
|
-
></feColorMatrix>
|
|
168
|
-
<feOffset dy="6"></feOffset>
|
|
169
|
-
<feGaussianBlur stdDeviation="6"></feGaussianBlur>
|
|
170
|
-
<feComposite in2="hardAlpha" operator="out"></feComposite>
|
|
171
|
-
<feColorMatrix
|
|
172
|
-
type="matrix"
|
|
173
|
-
values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.03 0"
|
|
174
|
-
></feColorMatrix>
|
|
175
|
-
<feBlend
|
|
176
|
-
mode="normal"
|
|
177
|
-
in2="BackgroundImageFix"
|
|
178
|
-
result="effect1_dropShadow_1187_14810"
|
|
179
|
-
></feBlend>
|
|
180
|
-
<feBlend
|
|
181
|
-
mode="normal"
|
|
182
|
-
in="SourceGraphic"
|
|
183
|
-
in2="effect1_dropShadow_1187_14810"
|
|
184
|
-
result="shape"
|
|
185
|
-
></feBlend>
|
|
186
|
-
</filter>
|
|
187
|
-
</defs>
|
|
188
|
-
</svg>
|
|
189
|
-
<div class="max-w-sm mx-auto mt-6">
|
|
190
|
-
<p class="font-medium text-gray-800 dark:text-neutral-200">
|
|
191
|
-
{{ title }}
|
|
192
|
-
</p>
|
|
193
|
-
<p class="mt-2 text-sm text-gray-500 dark:text-neutral-500">
|
|
194
|
-
{{ text }}
|
|
195
|
-
</p>
|
|
196
|
-
</div>
|
|
197
|
-
</div>
|
|
198
|
-
</div>
|
|
199
|
-
</template>
|
|
200
|
-
|
|
201
|
-
<script>
|
|
202
|
-
export default {
|
|
203
|
-
props: {
|
|
204
|
-
title: { type: String, default: () => "Дані для відображення відсутні" },
|
|
205
|
-
text: {
|
|
206
|
-
type: String,
|
|
207
|
-
default: () => "Змініть параметри пошуку або спробуйте пізніше",
|
|
208
|
-
},
|
|
209
|
-
},
|
|
210
|
-
};
|
|
211
|
-
</script>
|
|
212
|
-
|
|
213
|
-
<style lang="scss" scoped></style>
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<nav class="w-[60px] border-r">
|
|
3
|
-
<div class="h-[60px] w-[60px] flex items-center justify-center">
|
|
4
|
-
<IconLogo />
|
|
5
|
-
</div>
|
|
6
|
-
<ul class="flex flex-col gap-2 items-center">
|
|
7
|
-
<li v-for="item in navList" :key="item?.name">
|
|
8
|
-
<VsPopover trigger="hover" placement="right">
|
|
9
|
-
<template #reference>
|
|
10
|
-
<router-link
|
|
11
|
-
:to="item?.path"
|
|
12
|
-
:class="[$route?.name?.includes(item?.name) ? 'bg-gray-200' : '']"
|
|
13
|
-
class="h-[40px] w-[40px] rounded-xl hover:bg-gray-200 text-gray-500 flex items-center justify-center duration-300"
|
|
14
|
-
>
|
|
15
|
-
<component :is="item?.icon" heigth="20" width="20" />
|
|
16
|
-
</router-link>
|
|
17
|
-
</template>
|
|
18
|
-
{{ item?.ua }}
|
|
19
|
-
</VsPopover>
|
|
20
|
-
</li>
|
|
21
|
-
</ul>
|
|
22
|
-
</nav>
|
|
23
|
-
</template>
|
|
24
|
-
|
|
25
|
-
<script setup>
|
|
26
|
-
import IconLogo from "./icons/icon-logo.vue";
|
|
27
|
-
import IconEdit from "./icons/icon-edit.vue";
|
|
28
|
-
import IconMedia from "./icons/icon-media.vue";
|
|
29
|
-
import IconTable from "./icons/icon-table.vue";
|
|
30
|
-
|
|
31
|
-
const navList = [
|
|
32
|
-
{
|
|
33
|
-
ua: "Менеджер контенту",
|
|
34
|
-
icon: IconEdit,
|
|
35
|
-
path: "/cms/manager",
|
|
36
|
-
name: "manager",
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
ua: "Генератор контенту",
|
|
40
|
-
icon: IconTable,
|
|
41
|
-
path: "/cms/builder",
|
|
42
|
-
name: "builder",
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
ua: "Медіатека",
|
|
46
|
-
icon: IconMedia,
|
|
47
|
-
path: "/cms/media",
|
|
48
|
-
name: "media",
|
|
49
|
-
},
|
|
50
|
-
];
|
|
51
|
-
</script>
|
|
52
|
-
|
|
53
|
-
<style lang="scss" scoped></style>
|
package/src/helpers/debounce.js
DELETED
package/src/helpers/translite.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
export const translit = (str) => {
|
|
2
|
-
const map = {
|
|
3
|
-
'а': 'a', 'б': 'b', 'в': 'v', 'г': 'g', 'д': 'd', 'е': 'e', 'ё': 'e', 'ж': 'zh',
|
|
4
|
-
'з': 'z', 'и': 'i', 'й': 'y', 'к': 'k', 'л': 'l', 'м': 'm', 'н': 'n', 'о': 'o',
|
|
5
|
-
'п': 'p', 'р': 'r', 'с': 's', 'т': 't', 'у': 'u', 'ф': 'f', 'х': 'kh', 'ц': 'ts',
|
|
6
|
-
'ч': 'ch', 'ш': 'sh', 'щ': 'shch', 'ы': 'y', 'э': 'e', 'ю': 'yu', 'я': 'ya',
|
|
7
|
-
'ь': '', 'ъ': '', 'є': 'ye', 'і': 'i', 'ї': 'yi', 'ґ': 'g'
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
return str
|
|
11
|
-
.toLowerCase()
|
|
12
|
-
.split('')
|
|
13
|
-
.map(char => map[char] || char)
|
|
14
|
-
.join('')
|
|
15
|
-
.replace(/[^a-z0-9\s-]/g, '')
|
|
16
|
-
.replace(/\s+/g, '-')
|
|
17
|
-
.replace(/-+/g, '-')
|
|
18
|
-
.trim('-');
|
|
19
|
-
}
|
package/src/main.js
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { createApp } from 'vue'
|
|
2
|
-
import './style.css'
|
|
3
|
-
import router from './router/router'
|
|
4
|
-
import App from './App.vue'
|
|
5
|
-
import './assets/tailwind/tailwind.js';
|
|
6
|
-
import v3core from '@opengis/v3-core';
|
|
7
|
-
|
|
8
|
-
import '@opengis/v3-core/dist/style.css';
|
|
9
|
-
|
|
10
|
-
window.tailwind = {
|
|
11
|
-
config: {
|
|
12
|
-
darkMode: 'class'
|
|
13
|
-
}
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
const app = createApp(App);
|
|
17
|
-
v3core.install(app, createApp);
|
|
18
|
-
|
|
19
|
-
// async function run() {
|
|
20
|
-
// const res = await fetch("/user");
|
|
21
|
-
// const data = await res.json();
|
|
22
|
-
// app.config.globalProperties.$settings = data.settings;
|
|
23
|
-
// app.config.globalProperties.$user = data.user;
|
|
24
|
-
|
|
25
|
-
// }
|
|
26
|
-
// run();
|
|
27
|
-
|
|
28
|
-
window.app = { router };
|
|
29
|
-
app.use(router);
|
|
30
|
-
app.mount('#app');
|
package/src/misc/import-file.js
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import VsBuilderContent from "../components/builder/vs-builder-content.vue";
|
|
2
|
-
import VsManagerCollectionContent from "../components/manager/children/vs-manager-collection-content.vue";
|
|
3
|
-
import VsManagerCollectionItemContent from "../components/manager/children/vs-manager-collection-item-content.vue";
|
|
4
|
-
import VsManagerSingleContent from "../components/manager/children/vs-manager-single-content.vue";
|
|
5
|
-
import VsBuilder from "../pages/vs-builder.vue";
|
|
6
|
-
import VsManager from "../pages/vs-manager.vue";
|
|
7
|
-
import VsMedia from "../pages/vs-media.vue";
|
|
8
|
-
|
|
9
|
-
const components = {
|
|
10
|
-
"vs-builder": VsBuilder,
|
|
11
|
-
"vs-builder-content": VsBuilderContent,
|
|
12
|
-
"vs-manager": VsManager,
|
|
13
|
-
"vs-manager-collection-content": VsManagerCollectionContent,
|
|
14
|
-
"vs-manager-collection-item-content": VsManagerCollectionItemContent,
|
|
15
|
-
"vs-manager-single-content": VsManagerSingleContent,
|
|
16
|
-
"vs-media": VsMedia
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
const install = (app) => {
|
|
20
|
-
Object.entries(components)?.forEach(([name, component])=> app.component(name, component))
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
const library = {
|
|
24
|
-
install,
|
|
25
|
-
components
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
if (typeof window !== 'undefined') {
|
|
29
|
-
window.v3Cms = library;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
export default library;
|
package/src/pages/vs-builder.vue
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="w-full bg-[#f6f6f9] h-full h-[calc(100vh-60px)]">
|
|
3
|
-
<div class="flex h-full">
|
|
4
|
-
<VsBuilderMenu v-model:UPDATE="UPDATE" />
|
|
5
|
-
<router-view v-slot="{ Component }">
|
|
6
|
-
<component v-if="Component" :is="Component" :UPDATE />
|
|
7
|
-
<VsNotData
|
|
8
|
-
class="pt-[100px]"
|
|
9
|
-
v-else
|
|
10
|
-
text="Оберіть один з існуючих пунктів меню, або створіть новий"
|
|
11
|
-
/>
|
|
12
|
-
</router-view>
|
|
13
|
-
</div>
|
|
14
|
-
</div>
|
|
15
|
-
</template>
|
|
16
|
-
<script setup>
|
|
17
|
-
import { ref } from "vue";
|
|
18
|
-
import VsBuilderMenu from "../components/builder/vs-builder-menu.vue";
|
|
19
|
-
import VsNotData from "../components/shared-components/vs-not-data.vue";
|
|
20
|
-
|
|
21
|
-
const UPDATE = ref({});
|
|
22
|
-
</script>
|
package/src/pages/vs-layout.vue
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="relative h-[100vh] w-[100vw] flex">
|
|
3
|
-
<VsMainMenu/>
|
|
4
|
-
<router-view/>
|
|
5
|
-
</div>
|
|
6
|
-
</template>
|
|
7
|
-
<script>
|
|
8
|
-
import VsMainMenu from '../components/vs-main-menu.vue'
|
|
9
|
-
export default{
|
|
10
|
-
components:{
|
|
11
|
-
VsMainMenu
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
</script>
|
|
15
|
-
<style lang="scss" scoped>
|
|
16
|
-
|
|
17
|
-
</style>
|
package/src/pages/vs-manager.vue
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="w-full bg-[#f6f6f9] h-[calc(100vh-60px)]">
|
|
3
|
-
<div class="flex">
|
|
4
|
-
<VsManagerMenu />
|
|
5
|
-
<div class="w-full flex justify-center">
|
|
6
|
-
<div class="p-[20px] w-full max-w-[1440px]">
|
|
7
|
-
<button
|
|
8
|
-
@click="$router.back()"
|
|
9
|
-
class="text-blue-500 flex gap-2 items-center hover:text-blue-700 duration-300"
|
|
10
|
-
>
|
|
11
|
-
<IconArrowLeft :template /> Повернутися назад
|
|
12
|
-
</button>
|
|
13
|
-
<router-view v-slot="{ Component }">
|
|
14
|
-
<component v-if="Component" :is="Component" />
|
|
15
|
-
<VsNotData
|
|
16
|
-
class="pt-[100px]"
|
|
17
|
-
v-else
|
|
18
|
-
text="Оберіть один з існуючих пунктів меню, або створіть новий"
|
|
19
|
-
/>
|
|
20
|
-
</router-view>
|
|
21
|
-
</div>
|
|
22
|
-
</div>
|
|
23
|
-
</div>
|
|
24
|
-
</div>
|
|
25
|
-
</template>
|
|
26
|
-
<script setup>
|
|
27
|
-
import VsManagerMenu from "../components/manager/vs-manager-menu.vue";
|
|
28
|
-
import VsNotData from "../components/shared-components/vs-not-data.vue";
|
|
29
|
-
import IconArrowLeft from "../components/icons/icon-arrow-left.vue";
|
|
30
|
-
</script>
|