@opengis/cms 0.0.21 → 0.0.22

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 (183) hide show
  1. package/package.json +2 -2
  2. package/src/App.css +52 -0
  3. package/src/App.vue +62 -0
  4. package/src/assets/image.png +0 -0
  5. package/src/assets/main.css +3 -0
  6. package/src/assets/tailwind-3.4.17.js +113 -0
  7. package/src/components/LanguageSwitcher.vue +73 -0
  8. package/src/components/SettingsCard.vue +40 -0
  9. package/src/components/builder/CreateForm.vue +128 -0
  10. package/src/components/builder/formTypeSchema.js +145 -0
  11. package/src/components/builder/tabs/index.ts +9 -0
  12. package/src/components/builder/tabs/vs-builder-edit.vue +133 -0
  13. package/src/components/builder/tabs/vs-builder-monaco.vue +29 -0
  14. package/src/components/builder/tabs/vs-builder-preview.vue +39 -0
  15. package/src/components/builder/vs-builder-datatable-controls.vue +138 -0
  16. package/src/components/builder/vs-builder-datatable-form.vue +80 -0
  17. package/src/components/builder/vs-builder-datatable.vue +191 -0
  18. package/src/components/builder/vs-builder-list-item.vue +110 -0
  19. package/src/components/collections/CollectionsBreadcrumb.vue +52 -0
  20. package/src/components/collections/CollectionsGrid.vue +176 -0
  21. package/src/components/collections/ContentBlock.vue +75 -0
  22. package/src/components/collections/formWrapper.vue +156 -0
  23. package/src/components/dashboard/ContentItem.vue +82 -0
  24. package/src/components/dashboard/DashboardHeader.vue +33 -0
  25. package/src/components/dashboard/QuickActions.vue +84 -0
  26. package/src/components/dashboard/RecentContent.vue +54 -0
  27. package/src/components/dashboard/StatCard.vue +63 -0
  28. package/src/components/dashboard/StatsGrid.vue +28 -0
  29. package/src/components/form-components/MonacoEditor.vue +104 -0
  30. package/src/components/form-components/VsFormMeta.vue +40 -0
  31. package/src/components/form-components/VsFormTags.vue +150 -0
  32. package/src/components/form-components/custom-datatable/vs-form-custom-datatable-add.vue +84 -0
  33. package/src/components/form-components/custom-datatable/vs-form-custom-datatable-controls.vue +106 -0
  34. package/src/components/form-components/index.js +23 -0
  35. package/src/components/form-components/reference/vs-form-reference-add.vue +92 -0
  36. package/src/components/form-components/reference/vs-form-reference-controls.vue +101 -0
  37. package/src/components/form-components/reference-list/referenceOptionList.js +78 -0
  38. package/src/components/form-components/reference-list/vs-form-reference-add.vue +145 -0
  39. package/src/components/form-components/reference-list/vs-form-reference-choce.vue +39 -0
  40. package/src/components/form-components/reference-list/vs-form-reference-controls.vue +110 -0
  41. package/src/components/form-components/reference-skeleton/about-skeleton.vue +37 -0
  42. package/src/components/form-components/reference-skeleton/banner-skeleton.vue +29 -0
  43. package/src/components/form-components/reference-skeleton/body-skeleton.vue +56 -0
  44. package/src/components/form-components/reference-skeleton/cards-skeleton.vue +47 -0
  45. package/src/components/form-components/reference-skeleton/documents-skeleton.vue +64 -0
  46. package/src/components/form-components/reference-skeleton/faq-skeleton.vue +64 -0
  47. package/src/components/form-components/reference-skeleton/form-skeleton.vue +41 -0
  48. package/src/components/form-components/reference-skeleton/index.js +36 -0
  49. package/src/components/form-components/reference-skeleton/infoLine-skeleton.vue +37 -0
  50. package/src/components/form-components/reference-skeleton/news-skeleton.vue +54 -0
  51. package/src/components/form-components/reference-skeleton/slider-skeleton.vue +41 -0
  52. package/src/components/form-components/reference-skeleton/tabs-skeleton.vue +40 -0
  53. package/src/components/form-components/reference-skeleton/team-skeleton.vue +103 -0
  54. package/src/components/form-components/reference-skeleton/usefulLinks-skeleton.vue +52 -0
  55. package/src/components/form-components/reference-skeleton/video-skeleton.vue +36 -0
  56. package/src/components/form-components/testReferenceTypes.js +773 -0
  57. package/src/components/form-components/vs-form-color-picker.vue +29 -0
  58. package/src/components/form-components/vs-form-custom-datatable.vue +214 -0
  59. package/src/components/form-components/vs-form-integer.vue +86 -0
  60. package/src/components/form-components/vs-form-key-value.vue +201 -0
  61. package/src/components/form-components/vs-form-marcdown-md.vue +3 -0
  62. package/src/components/form-components/vs-form-media-select.vue +780 -0
  63. package/src/components/form-components/vs-form-reference-list.vue +97 -0
  64. package/src/components/form-components/vs-form-reference.vue +59 -0
  65. package/src/components/form-components/vs-form-relation.vue +30 -0
  66. package/src/components/form-components/vs-form-reletion-link.vue +34 -0
  67. package/src/components/form-components/vs-form-select-collection.vue +0 -0
  68. package/src/components/form-components/vs-form-slug.vue +72 -0
  69. package/src/components/form-components/vs-form-tiptap.vue +7 -0
  70. package/src/components/form-components/vs-richtext-md.vue +3 -0
  71. package/src/components/icons/BellIcon.vue +17 -0
  72. package/src/components/icons/GlobeIcon.vue +18 -0
  73. package/src/components/icons/KeyIcon.vue +20 -0
  74. package/src/components/icons/PaletteIcon.vue +22 -0
  75. package/src/components/icons/SettingsIcon.vue +19 -0
  76. package/src/components/icons/ShieldIcon.vue +18 -0
  77. package/src/components/icons/UsersIcon.vue +19 -0
  78. package/src/components/icons/icon-chevron-right.vue +16 -0
  79. package/src/components/icons/icon-drag.vue +20 -0
  80. package/src/components/icons/icon-file-text.vue +21 -0
  81. package/src/components/icons/icon-folder.vue +18 -0
  82. package/src/components/icons/icon-grid.vue +17 -0
  83. package/src/components/icons/icon-group.vue +19 -0
  84. package/src/components/icons/icon-home.vue +16 -0
  85. package/src/components/icons/icon-image.vue +18 -0
  86. package/src/components/icons/icon-list.vue +20 -0
  87. package/src/components/icons/icon-more.vue +17 -0
  88. package/src/components/icons/icon-plus.vue +17 -0
  89. package/src/components/icons-types/icon-array.vue +22 -0
  90. package/src/components/icons-types/icon-boolean.vue +18 -0
  91. package/src/components/icons-types/icon-datalist.vue +22 -0
  92. package/src/components/icons-types/icon-date.vue +20 -0
  93. package/src/components/icons-types/icon-datetime.vue +20 -0
  94. package/src/components/icons-types/icon-file.vue +21 -0
  95. package/src/components/icons-types/icon-gallery.vue +18 -0
  96. package/src/components/icons-types/icon-image.vue +19 -0
  97. package/src/components/icons-types/icon-integer.vue +20 -0
  98. package/src/components/icons-types/icon-merkdown.vue +18 -0
  99. package/src/components/icons-types/icon-multiselect.vue +22 -0
  100. package/src/components/icons-types/icon-number.vue +20 -0
  101. package/src/components/icons-types/icon-radio.vue +22 -0
  102. package/src/components/icons-types/icon-reference-list.vue +22 -0
  103. package/src/components/icons-types/icon-reference.vue +20 -0
  104. package/src/components/icons-types/icon-relation.vue +22 -0
  105. package/src/components/icons-types/icon-richtext.vue +18 -0
  106. package/src/components/icons-types/icon-select.vue +22 -0
  107. package/src/components/icons-types/icon-slug.vue +19 -0
  108. package/src/components/icons-types/icon-text.vue +19 -0
  109. package/src/components/icons-types/index.js +43 -0
  110. package/src/components/layout/Layout.vue +67 -0
  111. package/src/components/layout/Sidebar.vue +128 -0
  112. package/src/components/media/FileUploadProgress.vue +29 -0
  113. package/src/components/media/MediaBreadcrumb.vue +42 -0
  114. package/src/components/media/MediaCreateFolder.vue +59 -0
  115. package/src/components/media/MediaFileInfo.vue +148 -0
  116. package/src/components/media/MediaGrid.vue +148 -0
  117. package/src/components/media/MediaList.vue +148 -0
  118. package/src/components/media/MediaViewControls.vue +38 -0
  119. package/src/components/media/TypeTag.vue +23 -0
  120. package/src/components/menu/AddNewItemInTree.vue +75 -0
  121. package/src/components/menu/MenuBody.vue +149 -0
  122. package/src/components/menu/MenuItem.vue +73 -0
  123. package/src/components/menu/MenuList.vue +101 -0
  124. package/src/components/referencec/index.ts +7 -0
  125. package/src/components/referencec/vs-reference-faq.vue +61 -0
  126. package/src/components/referencec/vs-reference-user-card.vue +40 -0
  127. package/src/components/settings/NotificationSettings.vue +32 -0
  128. package/src/components/settings/SettingsTable.vue +50 -0
  129. package/src/components/settings/SettingsTitle.vue +33 -0
  130. package/src/components/settings/SettingsToggleItem.vue +25 -0
  131. package/src/components/sidebar/DropdownMenu.vue +34 -0
  132. package/src/components/sidebar/SettingsSidebar.vue +121 -0
  133. package/src/components/sidebar/SidebarFooter.vue +52 -0
  134. package/src/components/sidebar/SidebarHeader.vue +57 -0
  135. package/src/components/sidebar/SidebarMenu.vue +78 -0
  136. package/src/components/ui/EmptyData.vue +76 -0
  137. package/src/components/ui/UniversalTable.vue +310 -0
  138. package/src/components/ui/UniversalTableFilters.vue +0 -0
  139. package/src/components/ui/UniversalTablePagination.vue +118 -0
  140. package/src/components/ui/VsPreview.vue +75 -0
  141. package/src/composables/useCollectionView.ts +21 -0
  142. package/src/composables/useDebounce.ts +26 -0
  143. package/src/composables/useMonaco.ts +28 -0
  144. package/src/composables/useTheme.ts +40 -0
  145. package/src/content/test-slug/metadata.json +1 -0
  146. package/src/i18n.ts +75 -0
  147. package/src/index.css +3 -0
  148. package/src/locales/en.json +778 -0
  149. package/src/locales/uk.json +797 -0
  150. package/src/main.ts +41 -0
  151. package/src/pages/Dashboard.vue +168 -0
  152. package/src/pages/EmailPage.vue +183 -0
  153. package/src/pages/FeedbackPage.vue +232 -0
  154. package/src/pages/MediaPage.vue +372 -0
  155. package/src/pages/TagsPage.vue +207 -0
  156. package/src/pages/builder/BuilderPage.vue +195 -0
  157. package/src/pages/builder/EditCollectionPage.vue +163 -0
  158. package/src/pages/collections/ArticlesPage.vue +385 -0
  159. package/src/pages/collections/CollectionsPage.vue +146 -0
  160. package/src/pages/collections/SingletonsPage.vue +119 -0
  161. package/src/pages/collections/contentForm.vue +484 -0
  162. package/src/pages/collections/schema/seo.ts +27 -0
  163. package/src/pages/menu/MenuAddPage.vue +123 -0
  164. package/src/pages/menu/MenuItemPage.vue +183 -0
  165. package/src/pages/menu/MenuPage.vue +133 -0
  166. package/src/pages/settings/ApiKeys.vue +75 -0
  167. package/src/pages/settings/Appearance.vue +80 -0
  168. package/src/pages/settings/Logs.vue +260 -0
  169. package/src/pages/settings/PermissionsPage.vue +237 -0
  170. package/src/pages/settings/Settings.vue +186 -0
  171. package/src/pages/settings/Users.vue +109 -0
  172. package/src/pages/settings/general.vue +154 -0
  173. package/src/pages/settings/generalScheme.js +132 -0
  174. package/src/pages/users/AddUser.vue +106 -0
  175. package/src/pages/users/UsersPage.vue +98 -0
  176. package/src/props/builder.ts +67 -0
  177. package/src/props/content.ts +56 -0
  178. package/src/props/media.ts +63 -0
  179. package/src/router/index.ts +181 -0
  180. package/src/types/fastify-auth.d.ts +4 -0
  181. package/src/utils/getField.js +270 -0
  182. package/src/utils/translit.js +19 -0
  183. package/src/vite-env.d.ts +1 -0
@@ -0,0 +1,773 @@
1
+ export const testReferenceTypes = {
2
+ faq: {
3
+ schema:{
4
+ title:{
5
+ type:"text",
6
+ label:"Назва",
7
+ placeholder:"Назва",
8
+ },
9
+ show_dots: {
10
+ type:"switcher",
11
+ label:"Показувати точки",
12
+ },
13
+ show_index:{
14
+ type:"switcher",
15
+ conditions: ["show_dots", "==", "true"],
16
+ label:"Показувати нумерацію",
17
+ },
18
+ index_type:{
19
+ type:"combobox",
20
+ conditions: ["show_index", "==", "true"],
21
+ label:"Тип нумерації",
22
+ options: [
23
+ { id: 'decimal', text: 'Десятковий' },
24
+ { id: 'upper-alpha', text: 'Латинські великі букви' },
25
+ { id: 'lower-alpha', text: 'Латинські маленькі букви' },
26
+ { id: 'upper-roman', text: 'Римські великі цифри' },
27
+ { id: 'lower-roman', text: 'Римські маленькі цифри' },
28
+ { id: 'upper-cyrillic', text: 'Кириличні великі букви' },
29
+ { id: 'lower-cyrillic', text: 'Кириличні маленькі букви' },
30
+ ],
31
+ },
32
+ openfirst:{
33
+ type:"switcher",
34
+ label:"Відкрити перший елемент?",
35
+ },
36
+ collapse_mode:{
37
+ type:"switcher",
38
+ label:"Не згортати попередній елемент?",
39
+ },
40
+ data:{
41
+ type:"DataTable",
42
+ colModel:[
43
+ {
44
+ key:"title",
45
+ ua:"Назва",
46
+ type:"text",
47
+ required: true,
48
+ validators: ["required"],
49
+ },
50
+ {
51
+ key:"is_section",
52
+ type:"Radio",
53
+ label:"Заповнити секціями",
54
+ options: [
55
+ { id: 'yes', text: 'Так' },
56
+ { id: 'no', text: 'Ні' }
57
+ ],
58
+ required: true,
59
+ validators: ["required"],
60
+ },
61
+ {
62
+ key:"section",
63
+ type:"reference",
64
+ label:"Вкладений контент",
65
+ placeholder:"Ваш контент",
66
+ conditions: ["is_section", "==", "yes"],
67
+ required: true,
68
+ validators: ["required"],
69
+ },
70
+ {
71
+ key:"body",
72
+ type:"tiptap-editor",
73
+ label:"Тіло вкладки",
74
+ placeholder:"Ваш контент",
75
+ conditions: ["is_section", "==", "no"],
76
+ required: true,
77
+ validators: ["required"],
78
+ }
79
+ ]
80
+ }
81
+ }
82
+ },
83
+ banner: {
84
+ schema:{
85
+ title:{
86
+ type:"text",
87
+ label:"Назва",
88
+ placeholder:"Назва",
89
+ },
90
+ image:{
91
+ type:"file",
92
+ label:"Зображення",
93
+ placeholder:"Зображення",
94
+ },
95
+ },
96
+ },
97
+ photoGrid: {
98
+ schema:{
99
+ columns:{
100
+ type:"number",
101
+ label:"Кількість колонок",
102
+ placeholder:"Кількість колонок",
103
+ default: 3,
104
+ },
105
+ data:{
106
+ type:"DataTable",
107
+ colModel:[
108
+ {
109
+ key:"image",
110
+ ua:"Зображення",
111
+ type:"file",
112
+ },
113
+ {key:"caption",
114
+ ua:"Заголовок",
115
+ type:"text",
116
+ }
117
+ ],
118
+ },
119
+ },
120
+ },
121
+ slider: {
122
+ schema:{
123
+ autoplay:{
124
+ type:"switcher",
125
+ label:"Автоматичне гортання?",
126
+ default: true,
127
+ },
128
+ autoplaySpeed:{
129
+ type:"number",
130
+ label:"Швидкість автоматичного гортання(мс)",
131
+ placeholder:"Швидкість автоматичного гортання(мс)",
132
+ default: 3000,
133
+ },
134
+ show_navigation:{
135
+ type:"switcher",
136
+ label:"Показувати кнопки навігації?",
137
+ },
138
+ data:{
139
+ type:"DataTable",
140
+ colModel:[
141
+ {
142
+ key:"title",
143
+ ua:"Назва",
144
+ type:"text",
145
+ },
146
+ {
147
+ key:"link",
148
+ ua:"Посилання",
149
+ type:"text",
150
+ },
151
+ {
152
+ key:"image",
153
+ ua:"Зображення",
154
+ type:"file",
155
+ },
156
+ {key:"image_width",
157
+ ua:"Ширина зображення(px)",
158
+ type:"number",
159
+ placeholder:"Ширина зображення",
160
+ },
161
+ {key:"image_height",
162
+ ua:"Висота зображення(px)",
163
+ type:"number",
164
+ placeholder:"Висота зображення",
165
+ },
166
+ { ua:"Розтягувати по ширині",
167
+ key:"stretch",
168
+ type:"switcher",
169
+ },
170
+ {
171
+ key:"target_blank",
172
+ ua:"Відкривати в новій вкладці?",
173
+ type:"switcher",
174
+ },
175
+ ]
176
+ }
177
+ },
178
+ },
179
+ video: {
180
+ schema:{
181
+ file:{
182
+ type:"file",
183
+ max_size:50,
184
+ description:"Максимальний розмір файлу 50MB",
185
+ label:"Завантажити відео",
186
+ placeholder:"Завантажити відео",
187
+ },
188
+ hidden_gif:{
189
+ type:"switcher",
190
+ label:"Сховати GIF",
191
+ },
192
+ preview:{
193
+ type:"file",
194
+ label:"Прев'ю для відео",
195
+ },
196
+ link:{
197
+ type:"text",
198
+ label:"Посилання",
199
+ placeholder:"Посилання",
200
+ },
201
+ }
202
+ },
203
+ about: {
204
+ schema:{
205
+ title:{
206
+ type:"text",
207
+ label:"Заголовок",
208
+ placeholder:"Заголовок",
209
+ },
210
+ text:{
211
+ type:"tiptap-editor",
212
+ label:"Текст",
213
+ placeholder:"Текст",
214
+ },
215
+ url:{
216
+ type:"file",
217
+ label:"Зображення / відео",
218
+ placeholder:"Посилання",
219
+ },
220
+ }
221
+ },
222
+ cards: {
223
+ schema:{
224
+ title:{
225
+ type:"text",
226
+ label:"Заголовок",
227
+ placeholder:"Заголовок",
228
+ },
229
+ data:{
230
+ type:"DataTable",
231
+ colModel:[
232
+ {
233
+ key:"title",
234
+ ua:"Назва",
235
+ type:"text",
236
+ },
237
+ {
238
+ key:"img",
239
+ ua:"Зображення",
240
+ type:"file",
241
+ },
242
+ {
243
+ key:"link",
244
+ ua:"Посилання",
245
+ type:"text",
246
+ },
247
+ {
248
+ key:"description",
249
+ ua:"Опис",
250
+ type:"text",
251
+ },
252
+ ]
253
+ }
254
+ }
255
+ },
256
+ usefulLinks: {
257
+ schema:{
258
+ title:{
259
+ type:"text",
260
+ label:"Заголовок",
261
+ placeholder:"Заголовок",
262
+ },
263
+ data:{
264
+ type:"DataTable",
265
+ colModel:[
266
+ {
267
+ key:"text",
268
+ ua:"Назва",
269
+ type:"text",
270
+ },
271
+ {
272
+ key:"url",
273
+ ua:"Посилання",
274
+ type:"text",
275
+ },
276
+ {
277
+ key:"target_blank",
278
+ ua:"Відкривати в новій вкладці?",
279
+ type:"switcher",
280
+ },
281
+ ]
282
+ }
283
+ }
284
+ },
285
+ team: {
286
+ schema:{
287
+ data:{
288
+ type:"DataTable",
289
+ colModel: [
290
+ {
291
+ key: "avatar",
292
+ ua: "Аватар",
293
+ type: "file",
294
+ },
295
+ {
296
+ key: "title",
297
+ ua: "Ім'я/ПІБ",
298
+ type: "text",
299
+ },
300
+ {
301
+ key: "description",
302
+ ua: "Опис",
303
+ type: "textarea",
304
+ optional: true,
305
+ },
306
+ {
307
+ key: "position",
308
+ ua: "Посада",
309
+ type: "text",
310
+ tooltip: true,
311
+ },
312
+ {
313
+ key: "email",
314
+ ua: "Email",
315
+ type: "text",
316
+ optional: true,
317
+ },
318
+ {
319
+ key: "tel",
320
+ ua: "Телефон",
321
+ type: "text",
322
+ optional: true,
323
+ },
324
+ {
325
+ key: "schedule",
326
+ ua: "Графік прийому",
327
+ type: "text",
328
+ optional: true,
329
+ },
330
+ {
331
+ key: "isinfo",
332
+ type: "switcher",
333
+ label: "Відображати кнопку 'Детальніше'",
334
+ },
335
+ {
336
+ key: "slug",
337
+ ua: "Slug",
338
+ type: "text",
339
+ label: "Унікальний ідентифікатор",
340
+ },
341
+ ]
342
+ }
343
+ }
344
+ },
345
+ body: {
346
+ schema:{
347
+ background_color:{
348
+ type:"switcher",
349
+ label:"Додати білий фон?",
350
+ },
351
+ content:{
352
+ type:"tiptap-editor",
353
+ label:"Текст",
354
+ placeholder:"Текст",
355
+ }
356
+ }
357
+ },
358
+ news: {
359
+ schema: {
360
+ title:{
361
+ type:"text",
362
+ label:"Заголовок",
363
+ placeholder:"Заголовок",
364
+ },
365
+ buttonText:{
366
+ type:"text",
367
+ label:"Текст кнопки",
368
+ placeholder:"Текст кнопки",
369
+ },
370
+ buttonLink:{
371
+ type:"text",
372
+ label:"Посилання кнопки",
373
+ placeholder:"Посилання кнопки",
374
+ },
375
+ tag:{
376
+ type:"select",
377
+ label:"Тег",
378
+ placeholder:"Тег",
379
+ data: 'tag_id',
380
+ },
381
+ news_list:{
382
+ type:"select",
383
+ label:"Список новин",
384
+ multiple: true,
385
+ placeholder:"Список новин",
386
+ parent: 'tag',
387
+ data: 'news_tag_id',
388
+ },
389
+ }
390
+ },
391
+ form:{
392
+ schema:{
393
+ title:{
394
+ type:"text",
395
+ label:"Заголовок",
396
+ placeholder:"Заголовок",
397
+ },
398
+ formUrl:{
399
+ type:"text",
400
+ label:"Посилання для відправки форми",
401
+ placeholder:"Посилання",
402
+ },
403
+ schema:{
404
+ label:"Схема форми",
405
+ type:"DataTable",
406
+ colModel:[
407
+ {
408
+ key:"name",
409
+ ua:"Name",
410
+ type:"text",
411
+ placeholder: "Name",
412
+ },
413
+ {
414
+ key:"label",
415
+ ua:"Title",
416
+ type:"text",
417
+ placeholder: "Title",
418
+ },
419
+ {
420
+ key:"type",
421
+ ua:"Type",
422
+ type:"combobox",
423
+ options: [
424
+ {
425
+ text: "Text",
426
+ id: "text",
427
+ },
428
+ {
429
+ text: "Textarea",
430
+ id: "textarea"
431
+ },
432
+ {
433
+ text: "switcher",
434
+ id: "switcher",
435
+ },
436
+ {
437
+ text: "Email",
438
+ id: "email",
439
+ },
440
+ {
441
+ text: "Mask",
442
+ id: "mask",
443
+ },
444
+ {
445
+ text: "Number",
446
+ id: "number",
447
+ },
448
+ {
449
+ text: "Date",
450
+ id: "date",
451
+ },
452
+ {
453
+ text: "Datetime",
454
+ id: "datetime",
455
+ },
456
+ ],
457
+ },
458
+ {
459
+ key:"mask",
460
+ ua:"Маска",
461
+ type:"text",
462
+ conditions: ["type", "==", "mask"],
463
+ placeholder: "Маска",
464
+ },
465
+ {
466
+ key:"placeholder",
467
+ ua:"Плейсхолдер",
468
+ type:"text",
469
+ placeholder: "Placeholder",
470
+ },
471
+ {
472
+ key:"required",
473
+ ua:"Required",
474
+ type:"switcher",
475
+ },
476
+ ],
477
+ }
478
+ }
479
+ },
480
+ tabs:{
481
+ schema:{
482
+ title:{
483
+ type:"text",
484
+ label:"Заголовок",
485
+ placeholder:"Заголовок",
486
+ },
487
+ description:{
488
+ type:"textarea",
489
+ label:"Опис",
490
+ placeholder:"Опис",
491
+ },
492
+ history_mode:{
493
+ type:"switcher",
494
+ label:"Використовувати історію сторінки?",
495
+ },
496
+ data:{
497
+ type:"DataTable",
498
+ colModel:[
499
+ {
500
+ key:"slug",
501
+ type:"slug",
502
+ label:"Slug",
503
+ parent: "title",
504
+ placeholder:"Slug",
505
+ },
506
+ {
507
+ key:"title",
508
+ ua:"Назва",
509
+ type:"text",
510
+ required: true,
511
+ validators: ["required"],
512
+ },
513
+ {
514
+ key:"is_section",
515
+ type:"Radio",
516
+ label:"Заповнити секціями",
517
+ options: [
518
+ { id: 'yes', text: 'Так' },
519
+ { id: 'no', text: 'Ні' }
520
+ ],
521
+ required: true,
522
+ validators: ["required"],
523
+ },
524
+ {
525
+ key:"section",
526
+ type:"reference",
527
+ label:"Тіло вкладки",
528
+ placeholder:"Ваш контент",
529
+ conditions: ["is_section", "==", "yes"],
530
+ required: true,
531
+ validators: ["required"],
532
+ },
533
+ {
534
+ key:"body",
535
+ type:"tiptap-editor",
536
+ label:"Тіло вкладки",
537
+ placeholder:"Ваш контент",
538
+ conditions: ["is_section", "==", "no"],
539
+ required: true,
540
+ validators: ["required"],
541
+ }
542
+ ]
543
+ }
544
+ }
545
+ },
546
+ vertical_tabs:{
547
+ schema:{
548
+ title:{
549
+ type:"text",
550
+ label:"Заголовок",
551
+ placeholder:"Заголовок",
552
+ },
553
+ history_mode:{
554
+ type:"switcher",
555
+ label:"Використовувати історію сторінки?",
556
+ },
557
+ data:{
558
+ type:"DataTable",
559
+ colModel:[
560
+ {
561
+ key:"slug",
562
+ type:"slug",
563
+ label:"Slug",
564
+ parent: "title",
565
+ placeholder:"Slug",
566
+ },
567
+ {
568
+ key:"title",
569
+ ua:"Назва",
570
+ type:"text",
571
+ required: true,
572
+ validators: ["required"],
573
+ },
574
+ {
575
+ key:"is_section",
576
+ type:"Radio",
577
+ label:"Заповнити секціями",
578
+ options: [
579
+ { id: 'yes', text: 'Так' },
580
+ { id: 'no', text: 'Ні' },
581
+ { id: 'slug', text: 'Привязати сторінку' }
582
+ ],
583
+ required: true,
584
+ validators: ["required"],
585
+ },
586
+ {
587
+ key:"slug",
588
+ type:"text",
589
+ label:"Slug",
590
+ placeholder:"Slug",
591
+ conditions: ["is_section", "==", "slug"],
592
+ },
593
+ {
594
+ key:"section",
595
+ type:"reference",
596
+ label:"Тіло вкладки",
597
+ placeholder:"Ваш контент",
598
+ conditions: ["is_section", "==", "yes"],
599
+ required: true,
600
+ validators: ["required"],
601
+ },
602
+ {
603
+ key:"body",
604
+ type:"tiptap-editor",
605
+ label:"Тіло вкладки",
606
+ placeholder:"Ваш контент",
607
+ conditions: ["is_section", "==", "no"],
608
+ required: true,
609
+ validators: ["required"],
610
+ }
611
+ ]
612
+ }
613
+ }
614
+ },
615
+ documents: {
616
+ schema:{
617
+ title:{
618
+ type:"text",
619
+ label:"Заголовок",
620
+ placeholder:"Заголовок",
621
+ },
622
+ icon:{
623
+ type:"file",
624
+ label:"Завантажити іконку",
625
+ placeholder:"Завантажити іконку",
626
+ },
627
+ show_icon:{
628
+ type:"switcher",
629
+ label:"Показувати іконку?",
630
+ },
631
+ documents:{
632
+ type:"DataTable",
633
+ colModel:[
634
+ {
635
+ key:"title",
636
+ ua:"Назва",
637
+ type:"text",
638
+ },
639
+ {
640
+ key:"file",
641
+ info: "Прев'ю доступно тільки для документів у форматі pdf, html, txt. Інші формати одразу завантажуються.",
642
+ ua:"Файл",
643
+ type:"file",
644
+ },
645
+ ]
646
+ }
647
+ }
648
+ },
649
+ infoLine: {
650
+ schema:{
651
+ divider:{
652
+ type:"file",
653
+ label:"Завантажити розподілювач",
654
+ },
655
+ speed:{
656
+ type:"number",
657
+ label:"Швидкість автоматичного гортання(с)",
658
+ placeholder:"Швидкість автоматичного гортання(с)",
659
+ default: 20,
660
+ },
661
+ data:{
662
+ type:"DataTable",
663
+ colModel:[
664
+ {
665
+ key:"title",
666
+ ua:"Текст",
667
+ type:"text",
668
+ },
669
+ ]
670
+ }
671
+ }
672
+ },
673
+ interested:{
674
+ schema:{
675
+ title:{
676
+ type:"text",
677
+ label:"Заголовок",
678
+ placeholder:"Заголовок",
679
+ },
680
+ data:{
681
+ type:"DataTable",
682
+ colModel:[
683
+ {
684
+ key:"title",
685
+ ua:"Заголовок",
686
+ type:"text",
687
+ },
688
+ {
689
+ key:"link",
690
+ ua:"Посилання",
691
+ type:"text",
692
+ },
693
+ {
694
+ key:"target_blank",
695
+ ua:"Відкривати в новій вкладці?",
696
+ type:"switcher",
697
+ },
698
+ {
699
+ key:"color",
700
+ ua:"Колір фону",
701
+ type:"color",
702
+ },
703
+ ]
704
+ }
705
+ }
706
+ },
707
+ contact: {
708
+ schema:{
709
+ title:{
710
+ type:"text",
711
+ label:"Заголовок",
712
+ placeholder:"Заголовок",
713
+ },
714
+ data:{
715
+ type:"DataTable",
716
+ colModel:[
717
+ {
718
+ key:"type",
719
+ ua:"Тип",
720
+ type:"combobox",
721
+ options: [
722
+ { id: 'email', text: 'Email' },
723
+ { id: 'tel', text: 'Телефон' },
724
+ { id: 'address', text: 'Адреса' },
725
+ ],
726
+ },
727
+ {
728
+ key:"title",
729
+ ua:"Пошта",
730
+ type:"text",
731
+ conditions: ["type", "==", "email"],
732
+ },
733
+ {
734
+ key:"title",
735
+ ua:"Телефон",
736
+ type:"text",
737
+ conditions: ["type", "==", "tel"],
738
+ },
739
+ {
740
+ key:"title",
741
+ ua:"Адреса",
742
+ type:"text",
743
+ conditions: ["type", "==", "address"],
744
+ },
745
+ {
746
+ key:"description",
747
+ ua:"Опис",
748
+ type:"text",
749
+ },
750
+ ]
751
+ }
752
+ }
753
+ },
754
+ iframe: {
755
+ schema:{
756
+ link:{
757
+ type:"text",
758
+ label:"Посилання",
759
+ placeholder:"Посилання",
760
+ },
761
+ file:{
762
+ type:"file",
763
+ label:"Завантажити файл",
764
+ placeholder:"Завантажити файл",
765
+ },
766
+ height:{
767
+ type:"text",
768
+ label:"Висота iframe(px)",
769
+ placeholder:"Висота iframe(px)",
770
+ }
771
+ }
772
+ }
773
+ };