@opengis/cms 0.0.44 → 0.0.45
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 +98 -98
- package/dist/{en-OTy187va.js → en-sWmaB9uu.js} +3 -1
- package/dist/index.html +29 -29
- package/dist/index.js +4208 -4125
- package/dist/index.umd.cjs +70 -65
- package/dist/{uk-Dy2psXBp.js → uk-rH4IPxG5.js} +4 -2
- package/input-types.json +9 -9
- 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 +3 -3
- package/plugin.js +43 -43
- package/server/app.js +35 -35
- package/server/config.js +4 -4
- package/server/functions/getDraftKey.js +22 -22
- package/server/index.js +22 -22
- package/server/migrations/fixes.sql +124 -124
- 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 -49
- package/server/routes/cms/controllers/getContent.js +110 -110
- 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 +108 -94
- package/server/routes/cms/controllers/metadataMedia.js +39 -39
- package/server/routes/cms/controllers/properties.get.js +53 -53
- package/server/routes/cms/controllers/properties.post.js +99 -99
- package/server/routes/cms/controllers/searchContent.js +205 -205
- 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 +238 -238
- package/server/routes/cms/controllers/uploadMedia.js +79 -79
- package/server/routes/cms/index.mjs +112 -112
- package/server/routes/cms/utils/additionalData.js +35 -35
- package/server/routes/cms/utils/getCollection.js +82 -82
- package/server/routes/cms/utils/getSingle.js +187 -187
- package/server/routes/cms/utils/inputTypes.js +5 -5
- package/server/routes/cms/utils/insertContentLocalization.js +86 -86
- package/server/routes/cms/utils/requestTranslation.js +85 -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 +162 -162
- 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 +61 -61
- package/server/routes/contentType/controllers/getContentType.js +37 -37
- package/server/routes/contentType/index.mjs +35 -35
- package/server/routes/contentType/utils/updateContents.js +28 -28
- 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 +42 -42
- 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
|
@@ -43,7 +43,8 @@ const e = {
|
|
|
43
43
|
general: "Основні",
|
|
44
44
|
apiKeys: "API ключі",
|
|
45
45
|
appearance: "Вигляд",
|
|
46
|
-
logs: "Логи"
|
|
46
|
+
logs: "Логи",
|
|
47
|
+
cms: "ЦМС"
|
|
47
48
|
},
|
|
48
49
|
dashboard: {
|
|
49
50
|
title: "Панель керування",
|
|
@@ -316,7 +317,8 @@ const e = {
|
|
|
316
317
|
localization: "Локалізація",
|
|
317
318
|
actions: "Дії",
|
|
318
319
|
noColumnsFound: "Немає колонок",
|
|
319
|
-
editCollection: "Редагувати
|
|
320
|
+
editCollection: "Редагувати структуру",
|
|
321
|
+
editPage: "Редагувати сторінку",
|
|
320
322
|
editContentForYourSite: "Редагувати контент для вашого сайту",
|
|
321
323
|
deleteObject: "Ви впевнені, що хочете видалити цей об'єкт?",
|
|
322
324
|
editField: "Редагувати поле",
|
package/input-types.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
{
|
|
2
|
-
"reference-list": "json",
|
|
3
|
-
"reference": "json",
|
|
4
|
-
"datalist": "json",
|
|
5
|
-
"array": "json",
|
|
6
|
-
"slug": "text",
|
|
7
|
-
"filelist": "json",
|
|
8
|
-
"FileList": "json",
|
|
9
|
-
"multiselect": "json"
|
|
1
|
+
{
|
|
2
|
+
"reference-list": "json",
|
|
3
|
+
"reference": "json",
|
|
4
|
+
"datalist": "json",
|
|
5
|
+
"array": "json",
|
|
6
|
+
"slug": "text",
|
|
7
|
+
"filelist": "json",
|
|
8
|
+
"FileList": "json",
|
|
9
|
+
"multiselect": "json"
|
|
10
10
|
}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
[
|
|
2
|
-
{
|
|
3
|
-
"id": "draft",
|
|
4
|
-
"text": "Чернетка"
|
|
5
|
-
},
|
|
6
|
-
{
|
|
7
|
-
"id": "published",
|
|
8
|
-
"text": "Опубліковано"
|
|
9
|
-
},
|
|
10
|
-
{
|
|
11
|
-
"id": "archived",
|
|
12
|
-
"text": "Архівовано"
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
"id": "delayPublished",
|
|
16
|
-
"text": "Затримка публікації"
|
|
17
|
-
}
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"id": "draft",
|
|
4
|
+
"text": "Чернетка"
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
"id": "published",
|
|
8
|
+
"text": "Опубліковано"
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"id": "archived",
|
|
12
|
+
"text": "Архівовано"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"id": "delayPublished",
|
|
16
|
+
"text": "Затримка публікації"
|
|
17
|
+
}
|
|
18
18
|
]
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
[
|
|
2
|
-
{
|
|
3
|
-
"id": "regular",
|
|
4
|
-
"text": "Звичайний"
|
|
5
|
-
},
|
|
6
|
-
{
|
|
7
|
-
"id": "admin",
|
|
8
|
-
"text": "Admin"
|
|
9
|
-
}
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"id": "regular",
|
|
4
|
+
"text": "Звичайний"
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
"id": "admin",
|
|
8
|
+
"text": "Admin"
|
|
9
|
+
}
|
|
10
10
|
]
|
|
@@ -1,78 +1,78 @@
|
|
|
1
|
-
{
|
|
2
|
-
"schema": {
|
|
3
|
-
"user_name": {
|
|
4
|
-
"type": "Text",
|
|
5
|
-
"rules": [
|
|
6
|
-
"required"
|
|
7
|
-
],
|
|
8
|
-
"ua": "Ім'я",
|
|
9
|
-
"i": "Вноситься ім'я користувача, що буде відображатися у системі"
|
|
10
|
-
},
|
|
11
|
-
"sur_name": {
|
|
12
|
-
"type": "Text",
|
|
13
|
-
"rules": [
|
|
14
|
-
"required"
|
|
15
|
-
],
|
|
16
|
-
"ua": "Прізвище",
|
|
17
|
-
"i": "Вноситься прізвище користувача, що буде відображатися у системі"
|
|
18
|
-
},
|
|
19
|
-
"father_name": {
|
|
20
|
-
"ua": "По-батькові",
|
|
21
|
-
"type": "Text"
|
|
22
|
-
},
|
|
23
|
-
"phone": {
|
|
24
|
-
"type": "Text",
|
|
25
|
-
"mask": "+389999999999",
|
|
26
|
-
"ua": "Телефон",
|
|
27
|
-
"i": "Вноситься телефон користувача"
|
|
28
|
-
},
|
|
29
|
-
"email": {
|
|
30
|
-
"type": "Text",
|
|
31
|
-
"ua": "E-mail",
|
|
32
|
-
"i": "Вноситься електронна адреса користувача",
|
|
33
|
-
"rules": [
|
|
34
|
-
"email"
|
|
35
|
-
]
|
|
36
|
-
},
|
|
37
|
-
"login": {
|
|
38
|
-
"type": "Text",
|
|
39
|
-
"ua": "Логін",
|
|
40
|
-
"i": "Вноситься довільний логін користувача латинськими літерами, що буде використовуватися для входу в систему",
|
|
41
|
-
"rules": [
|
|
42
|
-
"required"
|
|
43
|
-
]
|
|
44
|
-
},
|
|
45
|
-
"password": {
|
|
46
|
-
"type": "Text",
|
|
47
|
-
"ua": "Пароль",
|
|
48
|
-
"rules": [
|
|
49
|
-
"required",
|
|
50
|
-
{
|
|
51
|
-
"type": "regexp",
|
|
52
|
-
"pattern": "^.{8,}$",
|
|
53
|
-
"message": "Пароль повинен бути більше 8 символів"
|
|
54
|
-
}
|
|
55
|
-
],
|
|
56
|
-
"i": "Вноситься пароль, що буде використовуватися для входу в систему (рекомендоване використання складних паролів)"
|
|
57
|
-
},
|
|
58
|
-
"avatar": {
|
|
59
|
-
"type": "File",
|
|
60
|
-
"ua": "Аватар",
|
|
61
|
-
"i": "Додається зображення, що буде відображено в системі у якості аватара цього користувача"
|
|
62
|
-
},
|
|
63
|
-
"user_type": {
|
|
64
|
-
"type": "Select",
|
|
65
|
-
"ua": "Тип користувача",
|
|
66
|
-
"i": "Вноситься тип користувача",
|
|
67
|
-
"data": "user_type"
|
|
68
|
-
},
|
|
69
|
-
"enabled": {
|
|
70
|
-
"type": "Switcher",
|
|
71
|
-
"label": "Доступ"
|
|
72
|
-
},
|
|
73
|
-
"twofa": {
|
|
74
|
-
"type": "Switcher",
|
|
75
|
-
"label": "Двофакторна авторизація"
|
|
76
|
-
}
|
|
77
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"schema": {
|
|
3
|
+
"user_name": {
|
|
4
|
+
"type": "Text",
|
|
5
|
+
"rules": [
|
|
6
|
+
"required"
|
|
7
|
+
],
|
|
8
|
+
"ua": "Ім'я",
|
|
9
|
+
"i": "Вноситься ім'я користувача, що буде відображатися у системі"
|
|
10
|
+
},
|
|
11
|
+
"sur_name": {
|
|
12
|
+
"type": "Text",
|
|
13
|
+
"rules": [
|
|
14
|
+
"required"
|
|
15
|
+
],
|
|
16
|
+
"ua": "Прізвище",
|
|
17
|
+
"i": "Вноситься прізвище користувача, що буде відображатися у системі"
|
|
18
|
+
},
|
|
19
|
+
"father_name": {
|
|
20
|
+
"ua": "По-батькові",
|
|
21
|
+
"type": "Text"
|
|
22
|
+
},
|
|
23
|
+
"phone": {
|
|
24
|
+
"type": "Text",
|
|
25
|
+
"mask": "+389999999999",
|
|
26
|
+
"ua": "Телефон",
|
|
27
|
+
"i": "Вноситься телефон користувача"
|
|
28
|
+
},
|
|
29
|
+
"email": {
|
|
30
|
+
"type": "Text",
|
|
31
|
+
"ua": "E-mail",
|
|
32
|
+
"i": "Вноситься електронна адреса користувача",
|
|
33
|
+
"rules": [
|
|
34
|
+
"email"
|
|
35
|
+
]
|
|
36
|
+
},
|
|
37
|
+
"login": {
|
|
38
|
+
"type": "Text",
|
|
39
|
+
"ua": "Логін",
|
|
40
|
+
"i": "Вноситься довільний логін користувача латинськими літерами, що буде використовуватися для входу в систему",
|
|
41
|
+
"rules": [
|
|
42
|
+
"required"
|
|
43
|
+
]
|
|
44
|
+
},
|
|
45
|
+
"password": {
|
|
46
|
+
"type": "Text",
|
|
47
|
+
"ua": "Пароль",
|
|
48
|
+
"rules": [
|
|
49
|
+
"required",
|
|
50
|
+
{
|
|
51
|
+
"type": "regexp",
|
|
52
|
+
"pattern": "^.{8,}$",
|
|
53
|
+
"message": "Пароль повинен бути більше 8 символів"
|
|
54
|
+
}
|
|
55
|
+
],
|
|
56
|
+
"i": "Вноситься пароль, що буде використовуватися для входу в систему (рекомендоване використання складних паролів)"
|
|
57
|
+
},
|
|
58
|
+
"avatar": {
|
|
59
|
+
"type": "File",
|
|
60
|
+
"ua": "Аватар",
|
|
61
|
+
"i": "Додається зображення, що буде відображено в системі у якості аватара цього користувача"
|
|
62
|
+
},
|
|
63
|
+
"user_type": {
|
|
64
|
+
"type": "Select",
|
|
65
|
+
"ua": "Тип користувача",
|
|
66
|
+
"i": "Вноситься тип користувача",
|
|
67
|
+
"data": "user_type"
|
|
68
|
+
},
|
|
69
|
+
"enabled": {
|
|
70
|
+
"type": "Switcher",
|
|
71
|
+
"label": "Доступ"
|
|
72
|
+
},
|
|
73
|
+
"twofa": {
|
|
74
|
+
"type": "Switcher",
|
|
75
|
+
"label": "Двофакторна авторизація"
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
78
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
select content_type_id, name || ' (' || title || ')' from site.content_types
|
|
1
|
+
select content_type_id, name || ' (' || title || ')' from site.content_types
|
|
2
2
|
WHERE type = 'single'
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
select a.id, a.title, tags from data.news a
|
|
2
|
-
left join lateral(select array_agg(tag_id) as tags from site.tag_data b where a.id=b.data_id)b on 1=1
|
|
3
|
-
|
|
4
|
-
where
|
|
5
|
-
case when '{{parent}}'<> ''
|
|
6
|
-
then '{{parent}}'=any(b.tags)
|
|
7
|
-
else true
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
and status='published'
|
|
11
|
-
|
|
1
|
+
select a.id, a.title, tags from data.news a
|
|
2
|
+
left join lateral(select array_agg(tag_id) as tags from site.tag_data b where a.id=b.data_id)b on 1=1
|
|
3
|
+
|
|
4
|
+
where
|
|
5
|
+
case when '{{parent}}'<> ''
|
|
6
|
+
then '{{parent}}'=any(b.tags)
|
|
7
|
+
else true
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
and status='published'
|
|
11
|
+
|
|
12
12
|
order by a.updated_at
|
|
@@ -1,54 +1,54 @@
|
|
|
1
|
-
{
|
|
2
|
-
"ua": "Користувачі",
|
|
3
|
-
"key": "uid",
|
|
4
|
-
"order": "cdate desc",
|
|
5
|
-
"access": "admin",
|
|
6
|
-
"sqlColumns": "*",
|
|
7
|
-
"form": "admin.users.form",
|
|
8
|
-
"table": "admin.users",
|
|
9
|
-
"sql": [
|
|
10
|
-
{
|
|
11
|
-
"name": "social_auth_sql",
|
|
12
|
-
"sql": "select social_auth_obj,social_auth_date from admin.users_social_auth where uid=t.uid limit 1"
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
"sql": "SELECT coalesce(sur_name, '') || ' ' || coalesce(user_name, '') || ' ' || coalesce(father_name, '') as full_name FROM admin.users WHERE uid = t.uid",
|
|
16
|
-
"name": "full_name_sql"
|
|
17
|
-
}
|
|
18
|
-
],
|
|
19
|
-
"columns": [
|
|
20
|
-
{
|
|
21
|
-
"ua": "ПІБ",
|
|
22
|
-
"name": "full_name",
|
|
23
|
-
"format": "select",
|
|
24
|
-
"data": "full_name_sql"
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
"ua": "Тип користувача",
|
|
28
|
-
"name": "user_type_text",
|
|
29
|
-
"format": "select",
|
|
30
|
-
"data": "user_type_text"
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
"ua": "Статус доступу",
|
|
34
|
-
"name": "enabled"
|
|
35
|
-
}
|
|
36
|
-
],
|
|
37
|
-
"filters": [
|
|
38
|
-
{
|
|
39
|
-
"label": "Тип користувача",
|
|
40
|
-
"type": "Check",
|
|
41
|
-
"name": "user_type",
|
|
42
|
-
"data": "user_type"
|
|
43
|
-
}
|
|
44
|
-
],
|
|
45
|
-
"meta": {
|
|
46
|
-
"title": "full_name",
|
|
47
|
-
"search": "user_name,user_rnokpp"
|
|
48
|
-
},
|
|
49
|
-
"actions": [
|
|
50
|
-
"edit",
|
|
51
|
-
"del",
|
|
52
|
-
"add"
|
|
53
|
-
]
|
|
1
|
+
{
|
|
2
|
+
"ua": "Користувачі",
|
|
3
|
+
"key": "uid",
|
|
4
|
+
"order": "cdate desc",
|
|
5
|
+
"access": "admin",
|
|
6
|
+
"sqlColumns": "*",
|
|
7
|
+
"form": "admin.users.form",
|
|
8
|
+
"table": "admin.users",
|
|
9
|
+
"sql": [
|
|
10
|
+
{
|
|
11
|
+
"name": "social_auth_sql",
|
|
12
|
+
"sql": "select social_auth_obj,social_auth_date from admin.users_social_auth where uid=t.uid limit 1"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"sql": "SELECT coalesce(sur_name, '') || ' ' || coalesce(user_name, '') || ' ' || coalesce(father_name, '') as full_name FROM admin.users WHERE uid = t.uid",
|
|
16
|
+
"name": "full_name_sql"
|
|
17
|
+
}
|
|
18
|
+
],
|
|
19
|
+
"columns": [
|
|
20
|
+
{
|
|
21
|
+
"ua": "ПІБ",
|
|
22
|
+
"name": "full_name",
|
|
23
|
+
"format": "select",
|
|
24
|
+
"data": "full_name_sql"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"ua": "Тип користувача",
|
|
28
|
+
"name": "user_type_text",
|
|
29
|
+
"format": "select",
|
|
30
|
+
"data": "user_type_text"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"ua": "Статус доступу",
|
|
34
|
+
"name": "enabled"
|
|
35
|
+
}
|
|
36
|
+
],
|
|
37
|
+
"filters": [
|
|
38
|
+
{
|
|
39
|
+
"label": "Тип користувача",
|
|
40
|
+
"type": "Check",
|
|
41
|
+
"name": "user_type",
|
|
42
|
+
"data": "user_type"
|
|
43
|
+
}
|
|
44
|
+
],
|
|
45
|
+
"meta": {
|
|
46
|
+
"title": "full_name",
|
|
47
|
+
"search": "user_name,user_rnokpp"
|
|
48
|
+
},
|
|
49
|
+
"actions": [
|
|
50
|
+
"edit",
|
|
51
|
+
"del",
|
|
52
|
+
"add"
|
|
53
|
+
]
|
|
54
54
|
}
|
|
@@ -1,96 +1,96 @@
|
|
|
1
|
-
{
|
|
2
|
-
"table": "site.contents",
|
|
3
|
-
"columns": [
|
|
4
|
-
{
|
|
5
|
-
"label": "Заголовок",
|
|
6
|
-
"name": "title",
|
|
7
|
-
"required": true,
|
|
8
|
-
"type": "text",
|
|
9
|
-
"localization": true
|
|
10
|
-
},
|
|
11
|
-
{
|
|
12
|
-
"label": "Посилання",
|
|
13
|
-
"name": "slug",
|
|
14
|
-
"parent": "title",
|
|
15
|
-
"required": true,
|
|
16
|
-
"type": "slug"
|
|
17
|
-
},
|
|
18
|
-
{
|
|
19
|
-
"label": "Статус",
|
|
20
|
-
"name": "status",
|
|
21
|
-
"type": "select",
|
|
22
|
-
"data": "content.status",
|
|
23
|
-
"options": [
|
|
24
|
-
{
|
|
25
|
-
"id": "draft",
|
|
26
|
-
"text": "Чернетка"
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
"id": "published",
|
|
30
|
-
"text": "Опубліковано"
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
"id": "archived",
|
|
34
|
-
"text": "Архівовано"
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
"id": "delayPublished",
|
|
38
|
-
"text": "Відкладена публікація"
|
|
39
|
-
}
|
|
40
|
-
],
|
|
41
|
-
"required": true
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
"label": "Дата публікації",
|
|
45
|
-
"name": "published_at",
|
|
46
|
-
"required": true,
|
|
47
|
-
"type": "datetime"
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
"label": "Зображення",
|
|
51
|
-
"name": "main_image",
|
|
52
|
-
"type": "mediaselect"
|
|
53
|
-
}
|
|
54
|
-
],
|
|
55
|
-
"filters": [
|
|
56
|
-
{
|
|
57
|
-
"extra": false,
|
|
58
|
-
"id": "status",
|
|
59
|
-
"name": "status",
|
|
60
|
-
"title": "Статус",
|
|
61
|
-
"type": "Check",
|
|
62
|
-
"data": "content.status",
|
|
63
|
-
"ua": "Статус"
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
"extra": false,
|
|
67
|
-
"label": "Publish at",
|
|
68
|
-
"name": "published_at",
|
|
69
|
-
"type": "Date"
|
|
70
|
-
},
|
|
71
|
-
{
|
|
72
|
-
"extra": false,
|
|
73
|
-
"name": "tag_list",
|
|
74
|
-
"type": "Tags",
|
|
75
|
-
"sql": "id in (select b.data_id from site.tags a left join site.tag_data b on a.tag_id=b.tag_id where a.tag_id=any($1))",
|
|
76
|
-
"label": "Теги"
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
"extra": false,
|
|
80
|
-
"columns": "slug,title",
|
|
81
|
-
"id": "search",
|
|
82
|
-
"name": "search",
|
|
83
|
-
"placeholder": "Пошук по тексту",
|
|
84
|
-
"title": "Пошук по тексту",
|
|
85
|
-
"type": "Text"
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
"extra": false,
|
|
89
|
-
"id": "created_at",
|
|
90
|
-
"name": "created_at",
|
|
91
|
-
"title": "Дата створення",
|
|
92
|
-
"type": "Date",
|
|
93
|
-
"ua": "Дата створення"
|
|
94
|
-
}
|
|
95
|
-
]
|
|
96
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"table": "site.contents",
|
|
3
|
+
"columns": [
|
|
4
|
+
{
|
|
5
|
+
"label": "Заголовок",
|
|
6
|
+
"name": "title",
|
|
7
|
+
"required": true,
|
|
8
|
+
"type": "text",
|
|
9
|
+
"localization": true
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"label": "Посилання",
|
|
13
|
+
"name": "slug",
|
|
14
|
+
"parent": "title",
|
|
15
|
+
"required": true,
|
|
16
|
+
"type": "slug"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"label": "Статус",
|
|
20
|
+
"name": "status",
|
|
21
|
+
"type": "select",
|
|
22
|
+
"data": "content.status",
|
|
23
|
+
"options": [
|
|
24
|
+
{
|
|
25
|
+
"id": "draft",
|
|
26
|
+
"text": "Чернетка"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"id": "published",
|
|
30
|
+
"text": "Опубліковано"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"id": "archived",
|
|
34
|
+
"text": "Архівовано"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"id": "delayPublished",
|
|
38
|
+
"text": "Відкладена публікація"
|
|
39
|
+
}
|
|
40
|
+
],
|
|
41
|
+
"required": true
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"label": "Дата публікації",
|
|
45
|
+
"name": "published_at",
|
|
46
|
+
"required": true,
|
|
47
|
+
"type": "datetime"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"label": "Зображення",
|
|
51
|
+
"name": "main_image",
|
|
52
|
+
"type": "mediaselect"
|
|
53
|
+
}
|
|
54
|
+
],
|
|
55
|
+
"filters": [
|
|
56
|
+
{
|
|
57
|
+
"extra": false,
|
|
58
|
+
"id": "status",
|
|
59
|
+
"name": "status",
|
|
60
|
+
"title": "Статус",
|
|
61
|
+
"type": "Check",
|
|
62
|
+
"data": "content.status",
|
|
63
|
+
"ua": "Статус"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"extra": false,
|
|
67
|
+
"label": "Publish at",
|
|
68
|
+
"name": "published_at",
|
|
69
|
+
"type": "Date"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"extra": false,
|
|
73
|
+
"name": "tag_list",
|
|
74
|
+
"type": "Tags",
|
|
75
|
+
"sql": "id in (select b.data_id from site.tags a left join site.tag_data b on a.tag_id=b.tag_id where a.tag_id=any($1))",
|
|
76
|
+
"label": "Теги"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"extra": false,
|
|
80
|
+
"columns": "slug,title",
|
|
81
|
+
"id": "search",
|
|
82
|
+
"name": "search",
|
|
83
|
+
"placeholder": "Пошук по тексту",
|
|
84
|
+
"title": "Пошук по тексту",
|
|
85
|
+
"type": "Text"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"extra": false,
|
|
89
|
+
"id": "created_at",
|
|
90
|
+
"name": "created_at",
|
|
91
|
+
"title": "Дата створення",
|
|
92
|
+
"type": "Date",
|
|
93
|
+
"ua": "Дата створення"
|
|
94
|
+
}
|
|
95
|
+
]
|
|
96
|
+
}
|