@tager/admin-blog 1.0.2 → 1.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.
Files changed (39) hide show
  1. package/dist/dev/App.vue.d.ts +4 -3
  2. package/dist/hooks/useFetchCategories.d.ts +2 -2
  3. package/dist/hooks/useFetchCategory.d.ts +3 -3
  4. package/dist/hooks/useFetchModuleConfig.d.ts +2 -2
  5. package/dist/hooks/useFetchPosts.d.ts +2 -2
  6. package/dist/index.mjs +1403 -1642
  7. package/dist/services/requests.d.ts +4 -4
  8. package/dist/style.css +1 -1
  9. package/dist/typings/common.d.ts +1 -1
  10. package/dist/typings/model.d.ts +3 -3
  11. package/dist/views/Categories/CategoryForm/CategoryForm.helpers.d.ts +4 -4
  12. package/dist/views/Categories/CategoryForm/CategoryForm.vue.d.ts +8 -7
  13. package/dist/views/Categories/CategoryList/CategoryList.helpers.d.ts +4 -4
  14. package/dist/views/Categories/CategoryList/CategoryList.vue.d.ts +5 -4
  15. package/dist/views/Categories/CategoryList/hooks/useAdvancedSearch.d.ts +5 -5
  16. package/dist/views/Posts/PostForm/PostForm.helpers.d.ts +6 -6
  17. package/dist/views/Posts/PostForm/PostForm.vue.d.ts +1900 -417
  18. package/dist/views/Posts/PostList/PostList.helpers.d.ts +4 -4
  19. package/dist/views/Posts/PostList/PostList.vue.d.ts +6 -5
  20. package/dist/views/Posts/PostList/hooks/useAdvancedSearch.d.ts +5 -5
  21. package/package.json +24 -28
  22. package/src/dev/App.vue +1 -1
  23. package/src/dev/env.ts +11 -11
  24. package/src/hooks/useFetchCategories.ts +2 -2
  25. package/src/hooks/useFetchCategory.ts +3 -3
  26. package/src/hooks/useFetchModuleConfig.ts +2 -2
  27. package/src/hooks/useFetchPosts.ts +2 -2
  28. package/src/services/requests.ts +7 -7
  29. package/src/typings/model.ts +7 -7
  30. package/src/views/Categories/CategoryForm/CategoryForm.helpers.ts +6 -6
  31. package/src/views/Categories/CategoryForm/CategoryForm.vue +7 -7
  32. package/src/views/Categories/CategoryList/CategoryList.helpers.ts +4 -4
  33. package/src/views/Categories/CategoryList/CategoryList.vue +1 -1
  34. package/src/views/Categories/CategoryList/hooks/useAdvancedSearch.ts +6 -6
  35. package/src/views/Posts/PostForm/PostForm.helpers.ts +8 -8
  36. package/src/views/Posts/PostForm/PostForm.vue +12 -13
  37. package/src/views/Posts/PostList/PostList.helpers.ts +7 -7
  38. package/src/views/Posts/PostList/PostList.vue +7 -7
  39. package/src/views/Posts/PostList/hooks/useAdvancedSearch.ts +6 -6
package/dist/index.mjs CHANGED
@@ -1,14 +1,14 @@
1
- import { i18n, request, useResource, createId, notEmpty, isNotNullish, useI18n, useResourceDelete, useResourceClone, useToast, navigateBack, convertRequestErrorToMap, urlTranslit, getWebsiteOrigin } from "@tager/admin-services";
2
- import { onMounted, watch, computed, ref, defineComponent, resolveComponent, openBlock, createBlock, withCtx, createVNode, createElementVNode, createCommentVNode, toDisplayString, createElementBlock, createTextVNode, withModifiers, Fragment, renderList, createSlots } from "vue";
3
- import isEqual from "lodash.isequal";
4
- import pick from "lodash.pick";
5
- import { useRoute, useRouter } from "vue-router";
6
- import { getFilterParamAsStringArray, getFilterParamAsString, getFilterParams, DeleteIcon, ContentCopyIcon, EditIcon, BaseButton, FormField, FormFieldMultiSelect, AdvancedSearch, DataTable, useDataTable, formatDateTime, SeoFieldGroup, FormFieldFileInput, FormFieldRichTextInput, FormFieldCheckbox, FormFieldUrlAliasInput, FormFieldSelect, TabList, ShortCodeConstructor, FormFooter, formatDate, createTabErrorFinder, SouthIcon, NorthIcon, CountButton } from "@tager/admin-ui";
7
- import { Page } from "@tager/admin-layout";
8
- import { universalFieldUtils, DynamicField } from "@tager/admin-dynamic-field";
9
- import { compile } from "path-to-regexp";
1
+ import { i18n as Ue, request as R, useResource as te, createId as ee, notEmpty as ke, isNotNullish as Fe, useI18n as ue, useResourceDelete as Re, useResourceClone as sa, useToast as we, urlTranslit as Me, navigateBack as Ge, convertRequestErrorToMap as Ne, getWebsiteOrigin as qe } from "@tager/admin-services";
2
+ import { useRoute as ge, useRouter as de } from "vue-router";
3
+ import { onMounted as oe, watch as G, computed as r, ref as E, defineComponent as pe, resolveComponent as y, openBlock as T, createBlock as M, withCtx as A, createVNode as p, createElementVNode as Y, toDisplayString as x, createElementBlock as Q, createTextVNode as Se, createCommentVNode as B, withModifiers as Ve, Fragment as J, renderList as ra, createSlots as ia } from "vue";
4
+ import We from "lodash.isequal";
5
+ import ua from "lodash.pick";
6
+ import { getFilterParamAsStringArray as ie, getFilterParamAsString as Be, getFilterParams as He, DataTable as ze, AdvancedSearch as Ye, FormFieldMultiSelect as Le, FormField as Te, BaseButton as Qe, EditIcon as Ke, ContentCopyIcon as ga, DeleteIcon as je, useDataTable as Ze, formatDateTime as da, FormFooter as Je, ShortCodeConstructor as pa, FormFieldSelect as Xe, FormFieldUrlAliasInput as _e, FormFieldCheckbox as xe, FormFieldRichTextInput as ma, FormFieldFileInput as ca, SeoFieldGroup as ea, formatDate as ba, createTabErrorFinder as va, CountButton as fa, NorthIcon as ya, SouthIcon as ha, TabList as Ca } from "@tager/admin-ui";
7
+ import { Page as me } from "@tager/admin-layout";
8
+ import { universalFieldUtils as De, DynamicField as Fa } from "@tager/admin-dynamic-field";
9
+ import { compile as aa } from "path-to-regexp";
10
10
  import "i18next";
11
- const EN = {
11
+ const Sa = {
12
12
  yes: "Yes",
13
13
  no: "no",
14
14
  blog: "Blog",
@@ -99,244 +99,230 @@ const EN = {
99
99
  sortTitleAsc: "Title - A-Z",
100
100
  sortTitleDesc: "Title - Z-A",
101
101
  sortStatus: "Status"
102
- };
103
- const RU = {
104
- yes: "\u0414\u0430",
105
- no: "\u041D\u0435\u0442",
106
- blog: "\u0411\u043B\u043E\u0433",
107
- posts: "\u041F\u043E\u0441\u0442\u044B",
108
- categories: "\u041A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u0438",
109
- createPost: "\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u043F\u043E\u0441\u0442",
110
- createCategory: "\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u044E",
111
- home: "\u0413\u043B\u0430\u0432\u043D\u0430\u044F",
112
- allPosts: "\u0412\u0441\u0435 \u043F\u043E\u0441\u0442\u044B",
113
- postForm: "\u0424\u043E\u0440\u043C\u0430 \u043F\u043E\u0441\u0442\u0430",
114
- allCategories: "\u0412\u0441\u0435 \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u0438",
115
- categoryForm: "\u0424\u043E\u0440\u043C\u0430 \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u0438",
116
- success: "\u0423\u0441\u043F\u0435\u0445",
117
- error: "\u041E\u0448\u0438\u0431\u043A\u0430",
118
- newPost: "\u041D\u043E\u0432\u044B\u0439 \u043F\u043E\u0441\u0442",
119
- edit: "\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C",
120
- remove: "\u0423\u0434\u0430\u043B\u0438\u0442\u044C",
121
- postsByCategory: "\u041F\u043E\u0441\u0442\u044B \u043F\u043E \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u044F\u043C",
122
- name: "\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A",
123
- image: "\u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435",
124
- language: "\u042F\u0437\u044B\u043A",
125
- languages: "\u042F\u0437\u044B\u043A\u0438",
126
- date: "\u0414\u0430\u0442\u0430",
127
- dateOfPublication: "\u0414\u0430\u0442\u0430 \u043F\u0443\u0431\u043B\u0438\u043A\u0430\u0446\u0438\u0438",
128
- dateOfPublicationFrom: "\u0414\u0430\u0442\u0430 \u043F\u0443\u0431\u043B\u0438\u043A\u0430\u0446\u0438\u0438 - \u041E\u0442",
129
- dateOfPublicationTo: "\u0414\u0430\u0442\u0430 \u043F\u0443\u0431\u043B\u0438\u043A\u0430\u0446\u0438\u0438 - \u0414\u043E",
130
- from: "\u043E\u0442",
131
- to: "\u0434\u043E",
132
- From: "\u041E\u0442",
133
- To: "\u0414\u043E",
134
- category: "\u041A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u044F",
135
- actions: "\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u044F",
136
- updatePost: "\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u043F\u043E\u0441\u0442",
137
- title: "\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A",
138
- link: "\u0421\u0441\u044B\u043B\u043A\u0430",
139
- excerpt: "\u041A\u0440\u0430\u0442\u043A\u043E\u0435 \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u0435",
140
- defaultCategory: "\u041A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u044F \u043F\u043E-\u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E",
141
- body: "\u0421\u043E\u0434\u0435\u0440\u0436\u0430\u043D\u0438\u0435",
142
- coverImage: "\u041E\u0431\u043B\u043E\u0436\u043A\u0430",
143
- innerImage: "\u041A\u0430\u0440\u0442\u0438\u043D\u043A\u0430 \u043F\u043E\u0441\u0442\u0430",
144
- innerImageMobile: "\u041A\u0430\u0440\u0442\u0438\u043D\u043A\u0430 \u043F\u043E\u0441\u0442\u0430 (Mobile)",
145
- tags: "\u0422\u0435\u0433\u0438",
146
- relatedPosts: "\u041F\u043E\u0445\u043E\u0436\u0438\u0435 \u043F\u043E\u0441\u0442\u044B",
147
- blogPostWasSuccessfullyCreated: "\u0417\u0430\u043F\u0438\u0441\u044C \u0432 \u0431\u043B\u043E\u0433\u0435 \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u0441\u043E\u0437\u0434\u0430\u043D\u0430",
148
- blogPostWasSuccessfullyUpdated: "\u0417\u0430\u043F\u0438\u0441\u044C \u0432 \u0431\u043B\u043E\u0433\u0435 \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u043E",
149
- blogPostCreationWasFailed: "\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0441\u043E\u0437\u0434\u0430\u0442\u044C \u0437\u0430\u043F\u0438\u0441\u044C \u0432 \u0431\u043B\u043E\u0433\u0435",
150
- blogPostUpdateWasFailed: "\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0437\u0430\u043F\u0438\u0441\u044C \u0432 \u0431\u043B\u043E\u0433\u0435",
151
- common: "\u041E\u0431\u0449\u0438\u0435",
152
- images: "\u041A\u0430\u0440\u0442\u0438\u043D\u043A\u0438",
153
- relations: "\u0421\u0432\u044F\u0437\u0438",
154
- additionalFields: "\u0414\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u043F\u043E\u043B\u044F",
155
- viewPost: "\u041F\u043E\u0441\u043C\u043E\u0442\u0440\u0435\u0442\u044C \u043F\u043E\u0441\u0442",
156
- blogCategories: "\u041A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u0438",
157
- newCategory: "\u041D\u043E\u0432\u0430\u044F \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u044F",
158
- moveUp: "\u0414\u0432\u0438\u0433\u0430\u0442\u044C\u0441\u044F \u0432\u0432\u0435\u0440\u0445",
159
- moveDown: "\u0414\u0432\u0438\u0433\u0430\u0442\u044C\u0441\u044F \u0432\u043D\u0438\u0437",
160
- createBlogCategory: "\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u044E \u0431\u043B\u043E\u0433\u0430",
161
- updateBlogCategory: "\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u044E \u0431\u043B\u043E\u0433\u0430",
162
- pageTitle: "\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B",
163
- pageDescription: "\u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B",
164
- openGraphImage: "\u041A\u0430\u0440\u0442\u0438\u043D\u043A\u0430 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B",
165
- blogCategoryWasSuccessfullyCreated: "\u041A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u044F \u0431\u043B\u043E\u0433\u0430 \u0431\u044B\u043B\u0430 \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u0441\u043E\u0437\u0434\u0430\u043D\u0430",
166
- blogCategoryWasSuccessfullyUpdated: "\u041A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u044F \u0431\u043B\u043E\u0433\u0430 \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0430",
167
- blogCategoryCreationWasFailed: "\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0441\u043E\u0437\u0434\u0430\u0442\u044C \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u044E \u0431\u043B\u043E\u0433\u0430",
168
- blogCategoryUpdateWasFailed: "\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u044E \u0431\u043B\u043E\u0433\u0430",
169
- clone: "\u041A\u043B\u043E\u043D\u0438\u0440\u043E\u0432\u0430\u0442\u044C",
170
- cloneConfirm: "\u0412\u044B \u0443\u0432\u0435\u0440\u0435\u043D\u044B, \u0447\u0442\u043E \u0445\u043E\u0442\u0438\u0442\u0435 \u0441\u043E\u0437\u0434\u0430\u0442\u044C \u043A\u043E\u043F\u0438\u044E \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B?",
171
- cloneSuccess: "\u041A\u043E\u043F\u0438\u044F \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u0441\u043E\u0437\u0434\u0430\u043D\u0430",
172
- cloneFailure: "\u041E\u0448\u0438\u0431\u043A\u0430 \u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B",
102
+ }, Da = {
103
+ yes: "Да",
104
+ no: "Нет",
105
+ blog: "Блог",
106
+ posts: "Посты",
107
+ categories: "Категории",
108
+ createPost: "Создать пост",
109
+ createCategory: "Создать категорию",
110
+ home: "Главная",
111
+ allPosts: "Все посты",
112
+ postForm: "Форма поста",
113
+ allCategories: "Все категории",
114
+ categoryForm: "Форма категории",
115
+ success: "Успех",
116
+ error: "Ошибка",
117
+ newPost: "Новый пост",
118
+ edit: "Редактировать",
119
+ remove: "Удалить",
120
+ postsByCategory: "Посты по категориям",
121
+ name: "Заголовок",
122
+ image: "Изображение",
123
+ language: "Язык",
124
+ languages: "Языки",
125
+ date: "Дата",
126
+ dateOfPublication: "Дата публикации",
127
+ dateOfPublicationFrom: "Дата публикации - От",
128
+ dateOfPublicationTo: "Дата публикации - До",
129
+ from: "от",
130
+ to: "до",
131
+ From: "От",
132
+ To: "До",
133
+ category: "Категория",
134
+ actions: "Действия",
135
+ updatePost: "Обновить пост",
136
+ title: "Заголовок",
137
+ link: "Ссылка",
138
+ excerpt: "Краткое описание",
139
+ defaultCategory: "Категория по-умолчанию",
140
+ body: "Содержание",
141
+ coverImage: "Обложка",
142
+ innerImage: "Картинка поста",
143
+ innerImageMobile: "Картинка поста (Mobile)",
144
+ tags: "Теги",
145
+ relatedPosts: "Похожие посты",
146
+ blogPostWasSuccessfullyCreated: "Запись в блоге успешно создана",
147
+ blogPostWasSuccessfullyUpdated: "Запись в блоге успешно обновлено",
148
+ blogPostCreationWasFailed: "Не удалось создать запись в блоге",
149
+ blogPostUpdateWasFailed: "Не удалось обновить запись в блоге",
150
+ common: "Общие",
151
+ images: "Картинки",
152
+ relations: "Связи",
153
+ additionalFields: "Дополнительные поля",
154
+ viewPost: "Посмотреть пост",
155
+ blogCategories: "Категории",
156
+ newCategory: "Новая категория",
157
+ moveUp: "Двигаться вверх",
158
+ moveDown: "Двигаться вниз",
159
+ createBlogCategory: "Создать категорию блога",
160
+ updateBlogCategory: "Обновить категорию блога",
161
+ pageTitle: "Заголовок страницы",
162
+ pageDescription: "Описание страницы",
163
+ openGraphImage: "Картинка страницы",
164
+ blogCategoryWasSuccessfullyCreated: "Категория блога была успешно создана",
165
+ blogCategoryWasSuccessfullyUpdated: "Категория блога успешно обновлена",
166
+ blogCategoryCreationWasFailed: "Не удалось создать категорию блога",
167
+ blogCategoryUpdateWasFailed: "Не удалось обновить категорию блога",
168
+ clone: "Клонировать",
169
+ cloneConfirm: "Вы уверены, что хотите создать копию страницы?",
170
+ cloneSuccess: "Копия страницы успешно создана",
171
+ cloneFailure: "Ошибка копирования страницы",
173
172
  tabs: {
174
- common: "\u041E\u0431\u0449\u0438\u0435",
173
+ common: "Общие",
175
174
  seo: "SEO"
176
175
  },
177
- parentCategory: "\u0420\u043E\u0434\u0438\u0442\u0435\u043B\u044C\u0441\u043A\u0430\u044F \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u044F",
178
- noParent: "\u041D\u0435\u0442 \u0440\u043E\u0434\u0438\u0442\u0435\u043B\u044C\u0441\u043A\u043E\u0439",
179
- status: "\u0421\u0442\u0430\u0442\u0443\u0441",
180
- statusPublished: "\u041E\u043F\u0443\u0431\u043B\u0438\u043A\u043E\u0432\u0430\u043D",
181
- statusDraft: "\u0427\u0435\u0440\u043D\u043E\u0432\u0438\u043A",
182
- statusArchived: "\u0412 \u0430\u0440\u0445\u0438\u0432\u0435",
183
- scheduleArchive: "\u0417\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u0435\u0440\u0435\u043D\u043E\u0441 \u0432 \u0430\u0440\u0445\u0438\u0432",
184
- schedulePublish: "\u0417\u0430\u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u0443\u0431\u043B\u0438\u043A\u0430\u0446\u0438\u044E",
185
- archiveAt: "\u041F\u0435\u0440\u0435\u043D\u0435\u0441\u0442\u0438 \u0432 \u0430\u0440\u0445\u0438\u0432 \u0432",
186
- publishAt: "\u041E\u043F\u0443\u0431\u043B\u0438\u043A\u043E\u0432\u0430\u0442\u044C \u0432",
187
- archiveAtLabel: "\u041F\u0435\u0440\u0435\u043D\u043E\u0441 \u0432 \u0430\u0440\u0445\u0438\u0432",
188
- publishAtLabel: "\u041F\u0443\u0431\u043B\u0438\u043A\u0430\u0446\u0438\u044F",
189
- sortDateTimeAsc: "\u0414\u0430\u0442\u0435 - \u041F\u043E \u0432\u043E\u0437\u0440\u0430\u0441\u0442\u0430\u043D\u0438\u044E",
190
- sortDateTimeDesc: "\u0414\u0430\u0442\u0435 - \u041F\u043E \u0443\u0431\u044B\u0432\u0430\u043D\u0438\u044E",
191
- sortTitleAsc: "\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043A\u0443 - \u0410-\u042F",
192
- sortTitleDesc: "\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043A\u0443 - \u042F-\u0410",
193
- sortStatus: "\u0421\u0442\u0430\u0442\u0443\u0441\u0443"
176
+ parentCategory: "Родительская категория",
177
+ noParent: "Нет родительской",
178
+ status: "Статус",
179
+ statusPublished: "Опубликован",
180
+ statusDraft: "Черновик",
181
+ statusArchived: "В архиве",
182
+ scheduleArchive: "Запланировать перенос в архив",
183
+ schedulePublish: "Запланировать публикацию",
184
+ archiveAt: "Перенести в архив в",
185
+ publishAt: "Опубликовать в",
186
+ archiveAtLabel: "Перенос в архив",
187
+ publishAtLabel: "Публикация",
188
+ sortDateTimeAsc: "Дате - По возрастанию",
189
+ sortDateTimeDesc: "Дате - По убыванию",
190
+ sortTitleAsc: "Заголовку - А-Я",
191
+ sortTitleDesc: "Заголовку - Я-А",
192
+ sortStatus: "Статусу"
194
193
  };
195
- function applyTranslations() {
196
- i18n.addTranslations("en", "blog", EN);
197
- i18n.addTranslations("ru", "blog", RU);
194
+ function Pa() {
195
+ Ue.addTranslations("en", "blog", Sa), Ue.addTranslations("ru", "blog", Da);
198
196
  }
199
- function getPosts(params) {
200
- return request.get({ path: "/admin/blog/posts", params });
197
+ function ta(e) {
198
+ return R.get({ path: "/admin/blog/posts", params: e });
201
199
  }
202
- function getBlogPostCount() {
203
- return request.get({ path: "/admin/blog/posts/count" });
200
+ function Ot() {
201
+ return R.get({ path: "/admin/blog/posts/count" });
204
202
  }
205
- function getPost(postId) {
206
- return request.get({ path: `/admin/blog/posts/${postId}` });
203
+ function La(e) {
204
+ return R.get({ path: `/admin/blog/posts/${e}` });
207
205
  }
208
- function clonePost(postId) {
209
- return request.post({ path: `/admin/blog/posts/${postId}/clone` });
206
+ function Ta(e) {
207
+ return R.post({ path: `/admin/blog/posts/${e}/clone` });
210
208
  }
211
- function createBlogPost(payload) {
212
- return request.post({ path: "/admin/blog/posts", body: payload });
209
+ function Ia(e) {
210
+ return R.post({ path: "/admin/blog/posts", body: e });
213
211
  }
214
- function updateBlogPost(postId, payload) {
215
- return request.put({ path: `/admin/blog/posts/${postId}`, body: payload });
212
+ function Aa(e, a) {
213
+ return R.put({ path: `/admin/blog/posts/${e}`, body: a });
216
214
  }
217
- function deleteBlogPost(postId) {
218
- return request.delete({ path: `/admin/blog/posts/${postId}` });
215
+ function $a(e) {
216
+ return R.delete({ path: `/admin/blog/posts/${e}` });
219
217
  }
220
- function getCategories(params) {
221
- return request.get({ path: "/admin/blog/categories", params });
218
+ function oa(e) {
219
+ return R.get({ path: "/admin/blog/categories", params: e });
222
220
  }
223
- function getCategory(categoryId) {
224
- return request.get({ path: `/admin/blog/categories/${categoryId}` });
221
+ function Oa(e) {
222
+ return R.get({ path: `/admin/blog/categories/${e}` });
225
223
  }
226
- function createCategory(payload) {
227
- return request.post({ path: "/admin/blog/categories", body: payload });
224
+ function Ua(e) {
225
+ return R.post({ path: "/admin/blog/categories", body: e });
228
226
  }
229
- function updateCategory(categoryId, payload) {
230
- return request.put({
231
- path: `/admin/blog/categories/${categoryId}`,
232
- body: payload
227
+ function Ba(e, a) {
228
+ return R.put({
229
+ path: `/admin/blog/categories/${e}`,
230
+ body: a
233
231
  });
234
232
  }
235
- function deleteCategory(categoryId) {
236
- return request.delete({
237
- path: `/admin/blog/categories/${categoryId}`
233
+ function Ea(e) {
234
+ return R.delete({
235
+ path: `/admin/blog/categories/${e}`
238
236
  });
239
237
  }
240
- function moveCategory(categoryId, direction) {
241
- return request.post({
242
- path: `/admin/blog/categories/move/${categoryId}/${direction}`
238
+ function ka(e, a) {
239
+ return R.post({
240
+ path: `/admin/blog/categories/move/${e}/${a}`
243
241
  });
244
242
  }
245
- function getModuleConfig() {
246
- return request.get({
247
- path: `/admin/blog/module-info`
243
+ function Ra() {
244
+ return R.get({
245
+ path: "/admin/blog/module-info"
248
246
  });
249
247
  }
250
- function useFetchPosts() {
251
- const [fetchPosts, resource] = useResource({
252
- fetchResource: () => getPosts({ pageNumber: 1, pageSize: 99999, sort: "status" }),
248
+ function wa() {
249
+ const [e, a] = te({
250
+ fetchResource: () => ta({ pageNumber: 1, pageSize: 99999, sort: "status" }),
253
251
  initialValue: [],
254
252
  resourceName: "Blog posts"
255
253
  });
256
- onMounted(() => {
257
- fetchPosts();
258
- });
259
- return resource;
254
+ return oe(() => {
255
+ e();
256
+ }), a;
260
257
  }
261
- function useFetchCategory({
262
- categoryId,
263
- isCreation
258
+ function Ma({
259
+ categoryId: e,
260
+ isCreation: a
264
261
  }) {
265
- const [fetchCategory, resource] = useResource({
266
- fetchResource: () => getCategory(categoryId.value),
262
+ const [n, o] = te({
263
+ fetchResource: () => Oa(e.value),
267
264
  initialValue: null,
268
265
  resourceName: "Blog category"
269
266
  });
270
- onMounted(() => {
271
- if (isCreation.value || !categoryId.value) {
272
- return;
273
- }
274
- fetchCategory();
275
- });
276
- watch(categoryId, () => {
277
- if (isCreation.value || !categoryId.value) {
278
- return;
279
- }
280
- fetchCategory();
281
- });
282
- return resource;
267
+ return oe(() => {
268
+ a.value || !e.value || n();
269
+ }), G(e, () => {
270
+ a.value || !e.value || n();
271
+ }), o;
283
272
  }
284
- function useFetchCategories() {
285
- const [fetchCategories, resource] = useResource({
286
- fetchResource: getCategories,
273
+ function Ie() {
274
+ const [e, a] = te({
275
+ fetchResource: oa,
287
276
  initialValue: [],
288
277
  resourceName: "Blog categories"
289
278
  });
290
- onMounted(() => {
291
- fetchCategories();
292
- });
293
- return resource;
279
+ return oe(() => {
280
+ e();
281
+ }), a;
294
282
  }
295
- function useFetchModuleConfig() {
296
- const [fetchModuleConfig, resource] = useResource({
297
- fetchResource: getModuleConfig,
283
+ function ce() {
284
+ const [e, a] = te({
285
+ fetchResource: Ra,
298
286
  initialValue: null,
299
287
  resourceName: "Module configuration"
300
288
  });
301
- onMounted(() => {
302
- fetchModuleConfig();
303
- });
304
- return resource;
289
+ return oe(() => {
290
+ e();
291
+ }), a;
305
292
  }
306
- const BLOG_ROUTE_PATHS = {
293
+ const N = {
307
294
  POST_LIST: "/blog/posts",
308
295
  POST_FORM: "/blog/posts/:postId",
309
296
  CATEGORY_LIST: "/blog/categories",
310
297
  CATEGORY_FORM: "/blog/categories/:categoryId"
311
298
  };
312
- function getBlogPostListUrl() {
313
- return BLOG_ROUTE_PATHS.POST_LIST;
299
+ function Pe() {
300
+ return N.POST_LIST;
314
301
  }
315
- function getBlogPostFormUrl(params) {
316
- return compile(BLOG_ROUTE_PATHS.POST_FORM)({ postId: params.postId });
302
+ function Ae(e) {
303
+ return aa(N.POST_FORM)({ postId: e.postId });
317
304
  }
318
- function getBlogCategoryListUrl() {
319
- return BLOG_ROUTE_PATHS.CATEGORY_LIST;
305
+ function Ee() {
306
+ return N.CATEGORY_LIST;
320
307
  }
321
- function getBlogCategoryFormUrl(params) {
322
- return compile(BLOG_ROUTE_PATHS.CATEGORY_FORM)({
323
- categoryId: params.categoryId
308
+ function $e(e) {
309
+ return aa(N.CATEGORY_FORM)({
310
+ categoryId: e.categoryId
324
311
  });
325
312
  }
326
- function generateNumberArray(length) {
327
- return Array.from({ length }, (_, index) => index);
313
+ function Ga(e) {
314
+ return Array.from({ length: e }, (a, n) => n);
328
315
  }
329
- function getNameWithDepth(name, depth) {
330
- return generateNumberArray(depth).map(() => "\u2014").join(" ") + " " + name;
316
+ function ae(e, a) {
317
+ return Ga(a).map(() => "—").join(" ") + " " + e;
331
318
  }
332
- const getStatusOptions = (t) => [
333
- { label: t("blog:statusPublished"), value: "PUBLISHED" },
334
- { label: t("blog:statusDraft"), value: "DRAFT" },
335
- { label: t("blog:statusArchived"), value: "ARCHIVED" }
319
+ const la = (e) => [
320
+ { label: e("blog:statusPublished"), value: "PUBLISHED" },
321
+ { label: e("blog:statusDraft"), value: "DRAFT" },
322
+ { label: e("blog:statusArchived"), value: "ARCHIVED" }
336
323
  ];
337
- function convertPostToFormValues(post, languageOptionList, postOptionList, additionalFieldList, statusOptions) {
338
- var _a, _b, _c;
339
- if (!post) {
324
+ function he(e, a, n, o, t) {
325
+ if (!e)
340
326
  return {
341
327
  title: "",
342
328
  excerpt: "",
@@ -353,119 +339,116 @@ function convertPostToFormValues(post, languageOptionList, postOptionList, addit
353
339
  language: null,
354
340
  relatedPosts: [],
355
341
  tags: "",
356
- additionalFields: additionalFieldList.map(
357
- (fieldConfig) => universalFieldUtils.createFormField(fieldConfig, null)
342
+ additionalFields: o.map(
343
+ (s) => De.createFormField(s, null)
358
344
  ),
359
- status: statusOptions[0],
360
- statusDateEnabled: false,
345
+ status: t[0],
346
+ statusDateEnabled: !1,
361
347
  statusDate: null
362
348
  };
363
- }
364
- const currentLangOption = languageOptionList.find(
365
- (option) => option.value === post.language
366
- );
367
- const selectedPostOptionList = postOptionList.filter(
368
- (option) => post.relatedPosts.some((relatedPost) => relatedPost.id === option.value)
369
- );
370
- const foundStatus = (_a = statusOptions.find(({ value }) => value === post.status)) != null ? _a : statusOptions[0];
349
+ const d = a.find(
350
+ (s) => s.value === e.language
351
+ ), c = n.filter(
352
+ (s) => e.relatedPosts.some((b) => b.id === s.value)
353
+ ), C = t.find(({ value: s }) => s === e.status) ?? t[0];
371
354
  return {
372
- title: post.title,
373
- excerpt: post.excerpt,
374
- body: post.body,
375
- datetime: post.datetime ? post.datetime.substr(0, 10) : "",
376
- coverImage: post.coverImage ? { id: createId(), file: post.coverImage } : null,
377
- image: post.image ? { id: createId(), file: post.image } : null,
378
- imageMobile: post.imageMobile ? { id: createId(), file: post.imageMobile } : null,
379
- pageTitle: (_b = post.pageTitle) != null ? _b : "",
380
- pageDescription: (_c = post.pageDescription) != null ? _c : "",
381
- openGraphImage: post.openGraphImage ? { id: createId(), file: post.openGraphImage } : null,
382
- urlAlias: post.urlAlias,
383
- categories: post.categories.map((category) => ({
384
- value: category.id,
385
- label: category.name
355
+ title: e.title,
356
+ excerpt: e.excerpt,
357
+ body: e.body,
358
+ datetime: e.datetime ? e.datetime.substr(0, 10) : "",
359
+ coverImage: e.coverImage ? { id: ee(), file: e.coverImage } : null,
360
+ image: e.image ? { id: ee(), file: e.image } : null,
361
+ imageMobile: e.imageMobile ? { id: ee(), file: e.imageMobile } : null,
362
+ pageTitle: e.pageTitle ?? "",
363
+ pageDescription: e.pageDescription ?? "",
364
+ openGraphImage: e.openGraphImage ? { id: ee(), file: e.openGraphImage } : null,
365
+ urlAlias: e.urlAlias,
366
+ categories: e.categories.map((s) => ({
367
+ value: s.id,
368
+ label: s.name
386
369
  })),
387
- language: currentLangOption != null ? currentLangOption : null,
388
- relatedPosts: selectedPostOptionList,
389
- tags: post.tags.join(","),
390
- additionalFields: additionalFieldList.map((fieldConfig) => {
391
- const postAdditionalField = post.additionalFields.find(
392
- ({ name }) => name === fieldConfig.name
370
+ language: d ?? null,
371
+ relatedPosts: c,
372
+ tags: e.tags.join(","),
373
+ additionalFields: o.map((s) => {
374
+ const b = e.additionalFields.find(
375
+ ({ name: v }) => v === s.name
393
376
  );
394
- return universalFieldUtils.createFormField(
395
- fieldConfig,
396
- postAdditionalField == null ? void 0 : postAdditionalField.value
377
+ return De.createFormField(
378
+ s,
379
+ b == null ? void 0 : b.value
397
380
  );
398
381
  }),
399
- status: foundStatus,
400
- statusDateEnabled: post.status === "PUBLISHED" ? !!post.archiveAt : post.status === "DRAFT" ? !!post.publishAt : false,
401
- statusDate: post.status === "PUBLISHED" && post.archiveAt ? post.archiveAt.substr(0, 10) : post.status === "DRAFT" && post.publishAt ? post.publishAt.substr(0, 10) : null
382
+ status: C,
383
+ statusDateEnabled: e.status === "PUBLISHED" ? !!e.archiveAt : e.status === "DRAFT" ? !!e.publishAt : !1,
384
+ statusDate: e.status === "PUBLISHED" && e.archiveAt ? e.archiveAt.substr(0, 10) : e.status === "DRAFT" && e.publishAt ? e.publishAt.substr(0, 10) : null
402
385
  };
403
386
  }
404
- function convertFormValuesToCreationPayload(values) {
405
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
387
+ function na(e) {
388
+ var a, n, o, t, d;
406
389
  return {
407
- title: values.title,
408
- excerpt: values.excerpt,
409
- urlAlias: values.urlAlias,
410
- body: values.body,
411
- datetime: values.datetime,
412
- coverImage: (_b = (_a = values.coverImage) == null ? void 0 : _a.file.id) != null ? _b : null,
413
- image: (_d = (_c = values.image) == null ? void 0 : _c.file.id) != null ? _d : null,
414
- imageMobile: (_f = (_e = values.imageMobile) == null ? void 0 : _e.file.id) != null ? _f : null,
415
- pageTitle: values.pageTitle,
416
- pageDescription: values.pageDescription,
417
- openGraphImage: (_h = (_g = values.openGraphImage) == null ? void 0 : _g.file.id) != null ? _h : null,
418
- categories: values.categories.map((option) => option.value),
419
- language: (_j = (_i = values.language) == null ? void 0 : _i.value) != null ? _j : null,
420
- relatedPosts: values.relatedPosts.map(
421
- (relatedPostOption) => relatedPostOption.value
390
+ title: e.title,
391
+ excerpt: e.excerpt,
392
+ urlAlias: e.urlAlias,
393
+ body: e.body,
394
+ datetime: e.datetime,
395
+ coverImage: ((a = e.coverImage) == null ? void 0 : a.file.id) ?? null,
396
+ image: ((n = e.image) == null ? void 0 : n.file.id) ?? null,
397
+ imageMobile: ((o = e.imageMobile) == null ? void 0 : o.file.id) ?? null,
398
+ pageTitle: e.pageTitle,
399
+ pageDescription: e.pageDescription,
400
+ openGraphImage: ((t = e.openGraphImage) == null ? void 0 : t.file.id) ?? null,
401
+ categories: e.categories.map((c) => c.value),
402
+ language: ((d = e.language) == null ? void 0 : d.value) ?? null,
403
+ relatedPosts: e.relatedPosts.map(
404
+ (c) => c.value
422
405
  ),
423
- tags: values.tags.split(",").filter((tag) => tag.trim().length > 0),
424
- additionalFields: values.additionalFields.map((field) => ({
425
- name: field.config.name,
426
- value: universalFieldUtils.getOutgoingValue(field)
406
+ tags: e.tags.split(",").filter((c) => c.trim().length > 0),
407
+ additionalFields: e.additionalFields.map((c) => ({
408
+ name: c.config.name,
409
+ value: De.getOutgoingValue(c)
427
410
  })),
428
- status: values.status.value,
429
- archiveAt: values.status.value === "PUBLISHED" && values.statusDateEnabled && values.statusDate ? values.statusDate : null,
430
- publishAt: values.status.value === "DRAFT" && values.statusDateEnabled && values.statusDate ? values.statusDate : null
411
+ status: e.status.value,
412
+ archiveAt: e.status.value === "PUBLISHED" && e.statusDateEnabled && e.statusDate ? e.statusDate : null,
413
+ publishAt: e.status.value === "DRAFT" && e.statusDateEnabled && e.statusDate ? e.statusDate : null
431
414
  };
432
415
  }
433
- function convertFormValuesToUpdatePayload(values) {
416
+ function Na(e) {
434
417
  return {
435
- ...convertFormValuesToCreationPayload(values),
436
- urlAlias: values.urlAlias
418
+ ...na(e),
419
+ urlAlias: e.urlAlias
437
420
  };
438
421
  }
439
- function convertCategoryListToOptions$1(categoryList, languageId) {
440
- return categoryList.filter(({ language }) => languageId ? language === languageId : true).map(({ id, name, depth }) => ({
441
- value: id,
442
- label: getNameWithDepth(name, depth)
422
+ function qa(e, a) {
423
+ return e.filter(({ language: n }) => a ? n === a : !0).map(({ id: n, name: o, depth: t }) => ({
424
+ value: n,
425
+ label: ae(o, t)
443
426
  }));
444
427
  }
445
- function convertPostList(postList, selectedCategory, languages) {
446
- return postList.filter(
447
- (post) => selectedCategory ? post.categories.some(({ id }) => id === selectedCategory.id) : true
448
- ).map((post) => {
449
- if (languages.length > 0) {
450
- const foundLanguage = languages.find(({ id }) => id === post.language);
428
+ function Va(e, a, n) {
429
+ return e.filter(
430
+ (o) => a ? o.categories.some(({ id: t }) => t === a.id) : !0
431
+ ).map((o) => {
432
+ if (n.length > 0) {
433
+ const t = n.find(({ id: d }) => d === o.language);
451
434
  return {
452
- ...post,
453
- language: foundLanguage ? foundLanguage.name : post.language
435
+ ...o,
436
+ language: t ? t.name : o.language
454
437
  };
455
438
  }
456
- return post;
439
+ return o;
457
440
  });
458
441
  }
459
- function getStatuses(t) {
442
+ function Wa(e) {
460
443
  return {
461
- PUBLISHED: t("blog:statusPublished"),
462
- DRAFT: t("blog:statusDraft"),
463
- ARCHIVED: t("blog:statusArchived")
444
+ PUBLISHED: e("blog:statusPublished"),
445
+ DRAFT: e("blog:statusDraft"),
446
+ ARCHIVED: e("blog:statusArchived")
464
447
  };
465
448
  }
466
- function getPostTableColumnDefs(moduleConfig, t) {
467
- const isLangSpecific = moduleConfig ? moduleConfig.languages.length > 0 : false;
468
- const COLUMN_DEFS = [
449
+ function Ha(e, a) {
450
+ const n = e ? e.languages.length > 0 : !1;
451
+ return [
469
452
  {
470
453
  id: 1,
471
454
  name: "ID",
@@ -475,586 +458,511 @@ function getPostTableColumnDefs(moduleConfig, t) {
475
458
  },
476
459
  {
477
460
  id: 2,
478
- name: t("blog:status"),
461
+ name: a("blog:status"),
479
462
  field: "status",
480
463
  style: { width: "140px" },
481
464
  headStyle: { width: "140px" }
482
465
  },
483
466
  {
484
467
  id: 3,
485
- name: t("blog:name"),
468
+ name: a("blog:name"),
486
469
  field: "name",
487
470
  type: "name",
488
- format: ({ row }) => ({
471
+ format: ({ row: t }) => ({
489
472
  adminLink: {
490
- text: row.title,
491
- url: getBlogPostFormUrl({ postId: row.id })
473
+ text: t.title,
474
+ url: Ae({ postId: t.id })
492
475
  },
493
476
  websiteLink: {
494
- text: row.url,
477
+ text: t.url,
495
478
  url: [
496
- {}.VUE_APP_WEBSITE_URL || window.location.origin,
497
- row.url
479
+ process.env.VUE_APP_WEBSITE_URL || window.location.origin,
480
+ t.url
498
481
  ].join("")
499
482
  }
500
483
  })
501
484
  },
502
485
  {
503
486
  id: 4,
504
- name: t("blog:image"),
487
+ name: a("blog:image"),
505
488
  field: "image",
506
489
  type: "image",
507
490
  style: { width: "250px" },
508
491
  headStyle: { width: "250px" }
509
492
  },
510
- isLangSpecific ? { id: 5, name: t("blog:language"), field: "language" } : null,
493
+ n ? { id: 5, name: a("blog:language"), field: "language" } : null,
511
494
  {
512
495
  id: 6,
513
- name: t("blog:date"),
496
+ name: a("blog:date"),
514
497
  field: "datetime",
515
498
  type: "datetime",
516
- options: { ignoreStartOfDayTime: true }
499
+ options: { ignoreStartOfDayTime: !0 }
517
500
  },
518
501
  {
519
502
  id: 7,
520
- name: t("blog:categories"),
503
+ name: a("blog:categories"),
521
504
  field: "categories",
522
- format: ({ row }) => row.categories.map((category) => category.name).join(", ")
505
+ format: ({ row: t }) => t.categories.map((d) => d.name).join(", ")
523
506
  },
524
507
  {
525
508
  id: 8,
526
- name: t("blog:actions"),
509
+ name: a("blog:actions"),
527
510
  field: "actions",
528
511
  style: { whiteSpace: "nowrap", width: "120px" },
529
512
  headStyle: { whiteSpace: "nowrap", width: "120px" }
530
513
  }
531
- ];
532
- return COLUMN_DEFS.filter(notEmpty);
514
+ ].filter(ke);
533
515
  }
534
- function getPostTableSortOptions(t) {
516
+ function za(e) {
535
517
  return [
536
518
  {
537
519
  value: "datetime_desc",
538
- label: t("blog:sortDateTimeDesc")
520
+ label: e("blog:sortDateTimeDesc")
539
521
  },
540
522
  {
541
523
  value: "datetime_asc",
542
- label: t("blog:sortDateTimeAsc")
524
+ label: e("blog:sortDateTimeAsc")
543
525
  },
544
526
  {
545
527
  value: "title_asc",
546
- label: t("blog:sortTitleAsc")
528
+ label: e("blog:sortTitleAsc")
547
529
  },
548
530
  {
549
531
  value: "title_desc",
550
- label: t("blog:sortTitleDesc")
532
+ label: e("blog:sortTitleDesc")
551
533
  },
552
534
  {
553
535
  value: "status",
554
- label: t("blog:sortStatus")
536
+ label: e("blog:sortStatus")
555
537
  }
556
538
  ];
557
539
  }
558
- const dateFormat = (date) => date.split("-").reverse().join(".");
559
- function useAdvancedSearch$1({
560
- t,
561
- route,
562
- categoryList,
563
- languageList,
564
- statusOptionList
540
+ const re = (e) => e.split("-").reverse().join(".");
541
+ function Ya({
542
+ t: e,
543
+ route: a,
544
+ categoryList: n,
545
+ languageList: o,
546
+ statusOptionList: t
565
547
  }) {
566
- const categoryOptionList = computed(
567
- () => categoryList.value.map(({ id, name, depth }) => ({
568
- value: String(id),
569
- label: getNameWithDepth(name, depth)
548
+ const d = r(
549
+ () => n.value.map(({ id: l, name: m, depth: $ }) => ({
550
+ value: String(l),
551
+ label: ae(m, $)
570
552
  }))
571
- );
572
- const initialCategoryFilter = computed(() => {
573
- const queryValue = getFilterParamAsStringArray(
574
- route.query,
553
+ ), c = r(() => {
554
+ const l = ie(
555
+ a.query,
575
556
  "category"
557
+ /* CATEGORY */
576
558
  );
577
- return categoryOptionList.value.filter(
578
- ({ value }) => queryValue.some((selected) => selected === value)
559
+ return d.value.filter(
560
+ ({ value: m }) => l.some(($) => $ === m)
579
561
  );
562
+ }), C = E(c.value);
563
+ G(c, () => {
564
+ C.value = c.value;
580
565
  });
581
- const categoryFilter = ref(initialCategoryFilter.value);
582
- watch(initialCategoryFilter, () => {
583
- categoryFilter.value = initialCategoryFilter.value;
584
- });
585
- const languageOptionList = computed(
586
- () => languageList.value.map(({ id, name }) => ({ value: id, label: name }))
587
- );
588
- const initialLanguageFilter = computed(() => {
589
- const queryValue = getFilterParamAsStringArray(
590
- route.query,
566
+ const s = r(
567
+ () => o.value.map(({ id: l, name: m }) => ({ value: l, label: m }))
568
+ ), b = r(() => {
569
+ const l = ie(
570
+ a.query,
591
571
  "language"
572
+ /* LANGUAGE */
592
573
  );
593
- return languageOptionList.value.filter(
594
- ({ value }) => queryValue.some((selected) => selected === value)
574
+ return s.value.filter(
575
+ ({ value: m }) => l.some(($) => $ === m)
595
576
  );
577
+ }), v = E(b.value);
578
+ G(b, () => {
579
+ v.value = b.value;
596
580
  });
597
- const languageFilter = ref(initialLanguageFilter.value);
598
- watch(initialLanguageFilter, () => {
599
- languageFilter.value = initialLanguageFilter.value;
581
+ const L = r(
582
+ () => Be(
583
+ a.query,
584
+ "from-date"
585
+ /* FROM_DATE */
586
+ ) ?? ""
587
+ ), F = E(L.value);
588
+ G(L, () => {
589
+ F.value = L.value;
600
590
  });
601
- const initialFromDateFilter = computed(
602
- () => {
603
- var _a;
604
- return (_a = getFilterParamAsString(route.query, "from-date")) != null ? _a : "";
605
- }
606
- );
607
- const fromDateFilter = ref(initialFromDateFilter.value);
608
- watch(initialFromDateFilter, () => {
609
- fromDateFilter.value = initialFromDateFilter.value;
610
- });
611
- const initialToDateFilter = computed(
612
- () => {
613
- var _a;
614
- return (_a = getFilterParamAsString(route.query, "to-date")) != null ? _a : "";
615
- }
616
- );
617
- const toDateFilter = ref(initialToDateFilter.value);
618
- watch(initialToDateFilter, () => {
619
- toDateFilter.value = initialToDateFilter.value;
591
+ const I = r(
592
+ () => Be(
593
+ a.query,
594
+ "to-date"
595
+ /* TO_DATE */
596
+ ) ?? ""
597
+ ), g = E(I.value);
598
+ G(I, () => {
599
+ g.value = I.value;
620
600
  });
621
- const date = computed(() => {
622
- if (!fromDateFilter.value && !toDateFilter.value) {
601
+ const f = r(() => {
602
+ if (!F.value && !g.value)
623
603
  return null;
624
- }
625
- let label = "";
626
- if (fromDateFilter.value && toDateFilter.value) {
627
- label = `${dateFormat(fromDateFilter.value)} - ${dateFormat(
628
- toDateFilter.value
629
- )}`;
630
- }
631
- if (fromDateFilter.value && !toDateFilter.value) {
632
- label = `${t("blog:from")} ${dateFormat(fromDateFilter.value)}`;
633
- }
634
- if (!fromDateFilter.value && toDateFilter.value) {
635
- label = `${t("blog:to")} ${dateFormat(toDateFilter.value)}`;
636
- }
637
- return {
604
+ let l = "";
605
+ return F.value && g.value && (l = `${re(F.value)} - ${re(
606
+ g.value
607
+ )}`), F.value && !g.value && (l = `${e("blog:from")} ${re(F.value)}`), !F.value && g.value && (l = `${e("blog:to")} ${re(g.value)}`), {
638
608
  value: "",
639
- label,
609
+ label: l,
640
610
  name: "from-date",
641
- title: t("blog:dateOfPublication")
611
+ title: e("blog:dateOfPublication")
642
612
  };
643
- });
644
- const initialStatusFilter = computed(() => {
645
- const queryValue = getFilterParamAsStringArray(
646
- route.query,
613
+ }), h = r(() => {
614
+ const l = ie(
615
+ a.query,
647
616
  "status"
617
+ /* STATUS */
648
618
  );
649
- return statusOptionList.value.filter(
650
- ({ value }) => queryValue.some((selected) => selected === value)
619
+ return t.value.filter(
620
+ ({ value: m }) => l.some(($) => $ === m)
651
621
  );
622
+ }), D = E(h.value);
623
+ G(h, () => {
624
+ D.value = h.value;
652
625
  });
653
- const statusFilter = ref(initialStatusFilter.value);
654
- watch(initialStatusFilter, () => {
655
- statusFilter.value = initialStatusFilter.value;
656
- });
657
- const filterParams = computed(() => {
658
- const filters = {
659
- ["category"]: categoryFilter.value.map(({ value }) => value),
660
- ["language"]: languageFilter.value.map(({ value }) => value),
661
- ["status"]: statusFilter.value.map(({ value }) => value)
626
+ const u = r(() => {
627
+ const l = {
628
+ category: C.value.map(({ value: m }) => m),
629
+ language: v.value.map(({ value: m }) => m),
630
+ status: D.value.map(({ value: m }) => m)
662
631
  };
663
- if (fromDateFilter.value) {
664
- filters["from-date"] = fromDateFilter.value;
665
- }
666
- if (toDateFilter.value) {
667
- filters["to-date"] = toDateFilter.value;
668
- }
669
- return getFilterParams(filters);
632
+ return F.value && (l[
633
+ "from-date"
634
+ /* FROM_DATE */
635
+ ] = F.value), g.value && (l[
636
+ "to-date"
637
+ /* TO_DATE */
638
+ ] = g.value), He(l);
670
639
  });
671
- function tagRemovalHandler(event) {
672
- if (event.name === "category") {
673
- categoryFilter.value = categoryFilter.value.filter(
674
- ({ value }) => value !== event.value
675
- );
676
- }
677
- if (event.name === "language") {
678
- languageFilter.value = languageFilter.value.filter(
679
- ({ value }) => value !== event.value
680
- );
681
- }
682
- if (event.name === "from-date") {
683
- fromDateFilter.value = "";
684
- toDateFilter.value = "";
685
- }
686
- if (event.name === "status") {
687
- statusFilter.value = statusFilter.value.filter(
688
- ({ value }) => value !== event.value
689
- );
690
- }
640
+ function V(l) {
641
+ l.name === "category" && (C.value = C.value.filter(
642
+ ({ value: m }) => m !== l.value
643
+ )), l.name === "language" && (v.value = v.value.filter(
644
+ ({ value: m }) => m !== l.value
645
+ )), l.name === "from-date" && (F.value = "", g.value = ""), l.name === "status" && (D.value = D.value.filter(
646
+ ({ value: m }) => m !== l.value
647
+ ));
691
648
  }
692
- const tags = computed(
649
+ const w = r(
693
650
  () => [
694
- ...categoryFilter.value.map(({ value, label }) => ({
695
- value,
696
- label,
651
+ ...C.value.map(({ value: l, label: m }) => ({
652
+ value: l,
653
+ label: m,
697
654
  name: "category",
698
- title: t("blog:category")
655
+ title: e("blog:category")
699
656
  })),
700
- ...languageFilter.value.map(({ value, label }) => ({
701
- value,
702
- label,
657
+ ...v.value.map(({ value: l, label: m }) => ({
658
+ value: l,
659
+ label: m,
703
660
  name: "language",
704
- title: t("blog:language")
661
+ title: e("blog:language")
705
662
  })),
706
- date.value,
707
- ...statusFilter.value.map(({ value, label }) => ({
708
- value,
709
- label,
663
+ f.value,
664
+ ...D.value.map(({ value: l, label: m }) => ({
665
+ value: l,
666
+ label: m,
710
667
  name: "status",
711
- title: t("blog:status")
668
+ title: e("blog:status")
712
669
  }))
713
- ].filter(isNotNullish)
714
- );
715
- const selectedCategoryOptionList = computed(() => {
716
- if (languageFilter.value.length === 0) {
717
- return categoryOptionList.value;
718
- }
719
- const selectedList = categoryList.value.filter(
720
- ({ language }) => languageFilter.value.some(({ value }) => value === language)
721
- );
722
- return selectedList.map(({ id, name, depth }) => ({
723
- value: String(id),
724
- label: getNameWithDepth(name, depth)
725
- }));
726
- });
670
+ ].filter(Fe)
671
+ ), W = r(() => v.value.length === 0 ? d.value : n.value.filter(
672
+ ({ language: m }) => v.value.some(({ value: $ }) => $ === m)
673
+ ).map(({ id: m, name: $, depth: q }) => ({
674
+ value: String(m),
675
+ label: ae($, q)
676
+ })));
727
677
  return {
728
- categoryFilter,
729
- categoryOptionList: selectedCategoryOptionList,
730
- languageFilter,
731
- languageOptionList,
732
- fromDateFilter,
733
- toDateFilter,
734
- statusFilter,
735
- tagRemovalHandler,
736
- tags,
737
- filterParams
678
+ categoryFilter: C,
679
+ categoryOptionList: W,
680
+ languageFilter: v,
681
+ languageOptionList: s,
682
+ fromDateFilter: F,
683
+ toDateFilter: g,
684
+ statusFilter: D,
685
+ tagRemovalHandler: V,
686
+ tags: w,
687
+ filterParams: u
738
688
  };
739
689
  }
740
- var PostList_vue_vue_type_style_index_0_scoped_true_lang = "";
741
- var _export_sfc = (sfc, props) => {
742
- const target = sfc.__vccOpts || sfc;
743
- for (const [key, val] of props) {
744
- target[key] = val;
745
- }
746
- return target;
747
- };
748
- const _sfc_main$3 = defineComponent({
690
+ const Qa = pe({
749
691
  name: "PostList",
750
692
  components: {
751
- DeleteIcon,
752
- ContentCopyIcon,
753
- EditIcon,
754
- BaseButton,
755
- FormField,
756
- FormFieldMultiSelect,
757
- AdvancedSearch,
758
- Page,
759
- DataTable
693
+ DeleteIcon: je,
694
+ ContentCopyIcon: ga,
695
+ EditIcon: Ke,
696
+ BaseButton: Qe,
697
+ FormField: Te,
698
+ FormFieldMultiSelect: Le,
699
+ AdvancedSearch: Ye,
700
+ Page: me,
701
+ DataTable: ze
760
702
  },
761
703
  setup() {
762
- const { t } = useI18n();
763
- const route = useRoute();
764
- const router = useRouter();
765
- const categoryId = computed(() => {
766
- var _a;
767
- return Array.isArray(route.query.category) ? (_a = route.query.category[0]) != null ? _a : "" : route.query.category;
768
- });
769
- const statusOptionList = computed(() => getStatusOptions(t));
770
- const { data: moduleConfig, loading: isModuleConfigLoading } = useFetchModuleConfig();
771
- const languageList = computed(
772
- () => {
773
- var _a, _b;
774
- return (_b = (_a = moduleConfig.value) == null ? void 0 : _a.languages) != null ? _b : [];
775
- }
776
- );
777
- const { data: categoryList, loading: isCategoryListLoading } = useFetchCategories();
778
- const selectedCategory = computed(
704
+ const { t: e } = ue(), a = ge(), n = de(), o = r(() => Array.isArray(a.query.category) ? a.query.category[0] ?? "" : a.query.category), t = r(() => la(e)), { data: d, loading: c } = ce(), C = r(
779
705
  () => {
780
- var _a;
781
- return categoryId.value ? (_a = categoryList.value.find(
782
- ({ id }) => String(id) === String(categoryId.value)
783
- )) != null ? _a : null : null;
706
+ var P;
707
+ return ((P = d.value) == null ? void 0 : P.languages) ?? [];
784
708
  }
785
- );
786
- const pageTitle = computed(() => {
787
- return selectedCategory.value ? `${t("blog:postsByCategory")} "${selectedCategory.value.name}"` : t("blog:posts");
788
- });
789
- const isLangSpecific = computed(
790
- () => languageOptionList.value.length > 1
791
- );
792
- const {
793
- categoryFilter,
794
- categoryOptionList,
795
- languageFilter,
796
- languageOptionList,
797
- fromDateFilter,
798
- toDateFilter,
799
- filterParams,
800
- tags,
801
- tagRemovalHandler,
802
- statusFilter
803
- } = useAdvancedSearch$1({
804
- t,
805
- route,
806
- categoryList,
807
- languageList,
808
- statusOptionList
809
- });
810
- const sortOptions = getPostTableSortOptions(t);
811
- const {
812
- fetchEntityList: fetchPostList,
813
- isLoading: isPostLoading,
814
- rowData: postList,
815
- errorMessage,
816
- searchQuery,
817
- handleChange,
818
- pageNumber,
819
- pageCount,
820
- pageSize,
821
- sort
822
- } = useDataTable({
823
- fetchEntityList: (params) => getPosts({
824
- query: params.searchQuery,
825
- pageNumber: params.pageNumber,
826
- pageSize: params.pageSize,
827
- sort: params.sort || void 0,
828
- ...filterParams.value
709
+ ), { data: s, loading: b } = Ie(), v = r(
710
+ () => o.value ? s.value.find(
711
+ ({ id: P }) => String(P) === String(o.value)
712
+ ) ?? null : null
713
+ ), L = r(() => v.value ? `${e("blog:postsByCategory")} "${v.value.name}"` : e("blog:posts")), F = r(
714
+ () => h.value.length > 1
715
+ ), {
716
+ categoryFilter: I,
717
+ categoryOptionList: g,
718
+ languageFilter: f,
719
+ languageOptionList: h,
720
+ fromDateFilter: D,
721
+ toDateFilter: u,
722
+ filterParams: V,
723
+ tags: w,
724
+ tagRemovalHandler: W,
725
+ statusFilter: l
726
+ } = Ya({
727
+ t: e,
728
+ route: a,
729
+ categoryList: s,
730
+ languageList: C,
731
+ statusOptionList: t
732
+ }), m = za(e), {
733
+ fetchEntityList: $,
734
+ isLoading: q,
735
+ rowData: j,
736
+ errorMessage: X,
737
+ searchQuery: U,
738
+ handleChange: S,
739
+ pageNumber: k,
740
+ pageCount: _,
741
+ pageSize: K,
742
+ sort: ve
743
+ } = Ze({
744
+ fetchEntityList: (P) => ta({
745
+ query: P.searchQuery,
746
+ pageNumber: P.pageNumber,
747
+ pageSize: P.pageSize,
748
+ sort: P.sort || void 0,
749
+ ...V.value
829
750
  }),
830
751
  initialValue: [],
831
752
  resourceName: "Blog post list",
832
753
  pageSize: 100,
833
- defaultSort: sortOptions[0].value
754
+ defaultSort: m[0].value
834
755
  });
835
- watch(filterParams, () => {
836
- if (isModuleConfigLoading.value || isCategoryListLoading.value) {
756
+ G(V, () => {
757
+ if (c.value || b.value)
837
758
  return;
838
- }
839
- const newQuery = {
840
- ...pick(route.query, ["query", "pageNumber", "sort"]),
841
- ...filterParams.value
759
+ const P = {
760
+ ...ua(a.query, ["query", "pageNumber", "sort"]),
761
+ ...V.value
842
762
  };
843
- if (!isEqual(route.query, newQuery)) {
844
- router.replace({ query: newQuery });
845
- fetchPostList();
846
- }
763
+ We(a.query, P) || (n.replace({ query: P }), $());
847
764
  });
848
- const displayedPostList = computed(
765
+ const fe = r(
849
766
  () => {
850
- var _a, _b;
851
- return convertPostList(
852
- postList.value,
853
- selectedCategory.value,
854
- (_b = (_a = moduleConfig.value) == null ? void 0 : _a.languages) != null ? _b : []
767
+ var P;
768
+ return Va(
769
+ j.value,
770
+ v.value,
771
+ ((P = d.value) == null ? void 0 : P.languages) ?? []
855
772
  );
856
773
  }
857
- );
858
- const isRowDataLoading = computed(
859
- () => isCategoryListLoading.value || isPostLoading.value || isModuleConfigLoading.value
860
- );
861
- const { isDeleting, handleResourceDelete } = useResourceDelete({
862
- deleteResource: deleteBlogPost,
774
+ ), le = r(
775
+ () => b.value || q.value || c.value
776
+ ), { isDeleting: ne, handleResourceDelete: se } = Re({
777
+ deleteResource: $a,
863
778
  resourceName: "Post",
864
- onSuccess: fetchPostList
779
+ onSuccess: $
780
+ }), { isCloning: i, handleResourceClone: O } = sa({
781
+ cloneResource: Ta,
782
+ confirmMessage: e("blog:cloneConfirm"),
783
+ successMessage: e("blog:cloneSuccess"),
784
+ failureMessage: e("blog:cloneFailure"),
785
+ onSuccessRedirectTo: (P) => `/blog/posts/${P.id}`
865
786
  });
866
- const { isCloning, handleResourceClone } = useResourceClone({
867
- cloneResource: clonePost,
868
- confirmMessage: t("blog:cloneConfirm"),
869
- successMessage: t("blog:cloneSuccess"),
870
- failureMessage: t("blog:cloneFailure"),
871
- onSuccessRedirectTo: (data) => `/blog/posts/${data.id}`
872
- });
873
- function isBusy(postId) {
874
- return isDeleting(postId) || isCloning(postId) || isRowDataLoading.value;
787
+ function H(P) {
788
+ return ne(P) || i(P) || le.value;
875
789
  }
876
- const columnDefs = computed(
877
- () => getPostTableColumnDefs(moduleConfig.value, t)
790
+ const z = r(
791
+ () => Ha(d.value, e)
878
792
  );
879
793
  return {
880
- t,
881
- formatDateTime,
882
- columnDefs,
883
- sortOptions,
884
- sortValue: sort,
885
- rowData: displayedPostList,
886
- handleResourceDelete,
887
- isDeleting,
888
- categoryList,
889
- isRowDataLoading,
890
- errorMessage,
891
- getBlogPostFormUrl,
892
- pageTitle,
893
- searchQuery,
894
- handleChange,
895
- pageNumber,
896
- pageCount,
897
- pageSize,
898
- categoryFilter,
899
- categoryOptionList,
900
- isLangSpecific,
901
- languageFilter,
902
- languageOptionList,
903
- fromDateFilter,
904
- toDateFilter,
905
- statusFilter,
906
- statusOptionList,
907
- tags,
908
- tagRemovalHandler,
909
- getStatuses,
910
- handleResourceClone,
911
- isBusy
794
+ t: e,
795
+ formatDateTime: da,
796
+ columnDefs: z,
797
+ sortOptions: m,
798
+ sortValue: ve,
799
+ rowData: fe,
800
+ handleResourceDelete: se,
801
+ isDeleting: ne,
802
+ categoryList: s,
803
+ isRowDataLoading: le,
804
+ errorMessage: X,
805
+ getBlogPostFormUrl: Ae,
806
+ pageTitle: L,
807
+ searchQuery: U,
808
+ handleChange: S,
809
+ pageNumber: k,
810
+ pageCount: _,
811
+ pageSize: K,
812
+ // Advanced search
813
+ categoryFilter: I,
814
+ categoryOptionList: g,
815
+ isLangSpecific: F,
816
+ languageFilter: f,
817
+ languageOptionList: h,
818
+ fromDateFilter: D,
819
+ toDateFilter: u,
820
+ statusFilter: l,
821
+ statusOptionList: t,
822
+ tags: w,
823
+ tagRemovalHandler: W,
824
+ getStatuses: Wa,
825
+ // Clone
826
+ handleResourceClone: O,
827
+ isBusy: H
912
828
  };
913
829
  }
914
- });
915
- const _hoisted_1$2 = { class: "filters" };
916
- const _hoisted_2$1 = { class: "filters" };
917
- const _hoisted_3$1 = { class: "status" };
918
- const _hoisted_4$1 = { key: 0 };
919
- const _hoisted_5 = { key: 1 };
920
- function _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {
921
- const _component_FormFieldMultiSelect = resolveComponent("FormFieldMultiSelect");
922
- const _component_FormField = resolveComponent("FormField");
923
- const _component_AdvancedSearch = resolveComponent("AdvancedSearch");
924
- const _component_EditIcon = resolveComponent("EditIcon");
925
- const _component_BaseButton = resolveComponent("BaseButton");
926
- const _component_ContentCopyIcon = resolveComponent("ContentCopyIcon");
927
- const _component_DeleteIcon = resolveComponent("DeleteIcon");
928
- const _component_DataTable = resolveComponent("DataTable");
929
- const _component_Page = resolveComponent("Page");
930
- return openBlock(), createBlock(_component_Page, {
931
- title: _ctx.pageTitle,
830
+ }), be = (e, a) => {
831
+ const n = e.__vccOpts || e;
832
+ for (const [o, t] of a)
833
+ n[o] = t;
834
+ return n;
835
+ }, Ka = { class: "filters" }, ja = { class: "filters" }, Za = { class: "status" }, Ja = { key: 0 }, Xa = { key: 1 };
836
+ function _a(e, a, n, o, t, d) {
837
+ const c = y("FormFieldMultiSelect"), C = y("FormField"), s = y("AdvancedSearch"), b = y("EditIcon"), v = y("BaseButton"), L = y("ContentCopyIcon"), F = y("DeleteIcon"), I = y("DataTable"), g = y("Page");
838
+ return T(), M(g, {
839
+ title: e.pageTitle,
932
840
  "header-buttons": [
933
841
  {
934
- text: _ctx.$i18n.t("blog:newPost"),
935
- href: _ctx.getBlogPostFormUrl({ postId: "create" })
842
+ text: e.$i18n.t("blog:newPost"),
843
+ href: e.getBlogPostFormUrl({ postId: "create" })
936
844
  }
937
845
  ]
938
846
  }, {
939
- content: withCtx(() => [
940
- createVNode(_component_DataTable, {
941
- "column-defs": _ctx.columnDefs,
942
- "row-data": _ctx.rowData,
943
- loading: _ctx.isRowDataLoading,
944
- "error-message": _ctx.errorMessage,
945
- "search-query": _ctx.searchQuery,
847
+ content: A(() => [
848
+ p(I, {
849
+ "column-defs": e.columnDefs,
850
+ "row-data": e.rowData,
851
+ loading: e.isRowDataLoading,
852
+ "error-message": e.errorMessage,
853
+ "search-query": e.searchQuery,
946
854
  pagination: {
947
- pageNumber: _ctx.pageNumber,
948
- pageCount: _ctx.pageCount,
949
- pageSize: _ctx.pageSize,
950
- disabled: _ctx.isRowDataLoading
855
+ pageNumber: e.pageNumber,
856
+ pageCount: e.pageCount,
857
+ pageSize: e.pageSize,
858
+ disabled: e.isRowDataLoading
951
859
  },
952
- sort: { options: _ctx.sortOptions, value: _ctx.sortValue },
860
+ sort: { options: e.sortOptions, value: e.sortValue },
953
861
  "data-table": "blog-post",
954
- onChange: _ctx.handleChange
862
+ onChange: e.handleChange
955
863
  }, {
956
- filters: withCtx(() => [
957
- createVNode(_component_AdvancedSearch, {
958
- tags: _ctx.tags,
959
- "onClick:tag": _ctx.tagRemovalHandler
864
+ filters: A(() => [
865
+ p(s, {
866
+ tags: e.tags,
867
+ "onClick:tag": e.tagRemovalHandler
960
868
  }, {
961
- default: withCtx(() => [
962
- createElementVNode("div", _hoisted_1$2, [
963
- createVNode(_component_FormFieldMultiSelect, {
964
- "selected-options": _ctx.categoryFilter,
965
- "onUpdate:selected-options": _cache[0] || (_cache[0] = ($event) => _ctx.categoryFilter = $event),
966
- options: _ctx.categoryOptionList,
869
+ default: A(() => [
870
+ Y("div", Ka, [
871
+ p(c, {
872
+ "selected-options": e.categoryFilter,
873
+ "onUpdate:selected-options": a[0] || (a[0] = (f) => e.categoryFilter = f),
874
+ options: e.categoryOptionList,
967
875
  name: "categoryFilter",
968
- searchable: true,
969
- label: _ctx.$i18n.t("blog:category"),
876
+ searchable: !0,
877
+ label: e.$i18n.t("blog:category"),
970
878
  class: "filter"
971
879
  }, null, 8, ["selected-options", "options", "label"]),
972
- _ctx.isLangSpecific ? (openBlock(), createBlock(_component_FormFieldMultiSelect, {
880
+ e.isLangSpecific ? (T(), M(c, {
973
881
  key: 0,
974
- "selected-options": _ctx.languageFilter,
975
- "onUpdate:selected-options": _cache[1] || (_cache[1] = ($event) => _ctx.languageFilter = $event),
976
- options: _ctx.languageOptionList,
882
+ "selected-options": e.languageFilter,
883
+ "onUpdate:selected-options": a[1] || (a[1] = (f) => e.languageFilter = f),
884
+ options: e.languageOptionList,
977
885
  name: "languageFilter",
978
- searchable: true,
979
- label: _ctx.$i18n.t("blog:language"),
886
+ searchable: !0,
887
+ label: e.$i18n.t("blog:language"),
980
888
  class: "filter"
981
- }, null, 8, ["selected-options", "options", "label"])) : createCommentVNode("", true),
982
- createVNode(_component_FormFieldMultiSelect, {
983
- "selected-options": _ctx.statusFilter,
984
- "onUpdate:selected-options": _cache[2] || (_cache[2] = ($event) => _ctx.statusFilter = $event),
985
- options: _ctx.statusOptionList,
889
+ }, null, 8, ["selected-options", "options", "label"])) : B("", !0),
890
+ p(c, {
891
+ "selected-options": e.statusFilter,
892
+ "onUpdate:selected-options": a[2] || (a[2] = (f) => e.statusFilter = f),
893
+ options: e.statusOptionList,
986
894
  name: "statusFilter",
987
- searchable: true,
988
- label: _ctx.$i18n.t("blog:status"),
895
+ searchable: !0,
896
+ label: e.$i18n.t("blog:status"),
989
897
  class: "filter"
990
898
  }, null, 8, ["selected-options", "options", "label"])
991
899
  ]),
992
- createElementVNode("div", _hoisted_2$1, [
993
- createVNode(_component_FormField, {
994
- value: _ctx.fromDateFilter,
995
- "onUpdate:value": _cache[3] || (_cache[3] = ($event) => _ctx.fromDateFilter = $event),
996
- label: _ctx.$i18n.t("blog:dateOfPublicationFrom"),
900
+ Y("div", ja, [
901
+ p(C, {
902
+ value: e.fromDateFilter,
903
+ "onUpdate:value": a[3] || (a[3] = (f) => e.fromDateFilter = f),
904
+ label: e.$i18n.t("blog:dateOfPublicationFrom"),
997
905
  name: "fromDateFilter",
998
906
  type: "date",
999
- max: _ctx.toDateFilter
907
+ max: e.toDateFilter
1000
908
  }, null, 8, ["value", "label", "max"]),
1001
- createVNode(_component_FormField, {
1002
- value: _ctx.toDateFilter,
1003
- "onUpdate:value": _cache[4] || (_cache[4] = ($event) => _ctx.toDateFilter = $event),
1004
- label: _ctx.$i18n.t("blog:dateOfPublicationTo"),
909
+ p(C, {
910
+ value: e.toDateFilter,
911
+ "onUpdate:value": a[4] || (a[4] = (f) => e.toDateFilter = f),
912
+ label: e.$i18n.t("blog:dateOfPublicationTo"),
1005
913
  name: "toDateFilter",
1006
914
  type: "date",
1007
- min: _ctx.fromDateFilter
915
+ min: e.fromDateFilter
1008
916
  }, null, 8, ["value", "label", "min"])
1009
917
  ])
1010
918
  ]),
1011
919
  _: 1
1012
920
  }, 8, ["tags", "onClick:tag"])
1013
921
  ]),
1014
- "cell(status)": withCtx(({ row }) => [
1015
- createElementVNode("div", _hoisted_3$1, [
1016
- createElementVNode("span", null, toDisplayString(_ctx.getStatuses(_ctx.$i18n.t)[row.status]), 1),
1017
- row.status === "PUBLISHED" && row.archiveAt ? (openBlock(), createElementBlock("span", _hoisted_4$1, [
1018
- createTextVNode(toDisplayString(_ctx.$i18n.t("blog:archiveAtLabel")) + ": ", 1),
1019
- createElementVNode("i", null, toDisplayString(_ctx.formatDateTime(new Date(row.archiveAt), true)), 1)
1020
- ])) : createCommentVNode("", true),
1021
- row.status === "DRAFT" && row.publishAt ? (openBlock(), createElementBlock("span", _hoisted_5, [
1022
- createTextVNode(toDisplayString(_ctx.$i18n.t("blog:publishAtLabel")) + ": ", 1),
1023
- createElementVNode("i", null, toDisplayString(_ctx.formatDateTime(new Date(row.publishAt), true)), 1)
1024
- ])) : createCommentVNode("", true)
922
+ "cell(status)": A(({ row: f }) => [
923
+ Y("div", Za, [
924
+ Y("span", null, x(e.getStatuses(e.$i18n.t)[f.status]), 1),
925
+ f.status === "PUBLISHED" && f.archiveAt ? (T(), Q("span", Ja, [
926
+ Se(x(e.$i18n.t("blog:archiveAtLabel")) + ": ", 1),
927
+ Y("i", null, x(e.formatDateTime(new Date(f.archiveAt), !0)), 1)
928
+ ])) : B("", !0),
929
+ f.status === "DRAFT" && f.publishAt ? (T(), Q("span", Xa, [
930
+ Se(x(e.$i18n.t("blog:publishAtLabel")) + ": ", 1),
931
+ Y("i", null, x(e.formatDateTime(new Date(f.publishAt), !0)), 1)
932
+ ])) : B("", !0)
1025
933
  ])
1026
934
  ]),
1027
- "cell(actions)": withCtx(({ row }) => [
1028
- createVNode(_component_BaseButton, {
935
+ "cell(actions)": A(({ row: f }) => [
936
+ p(v, {
1029
937
  variant: "icon",
1030
- title: _ctx.$i18n.t("blog:edit"),
1031
- disabled: _ctx.isBusy(row.id),
1032
- href: _ctx.getBlogPostFormUrl({ postId: row.id })
938
+ title: e.$i18n.t("blog:edit"),
939
+ disabled: e.isBusy(f.id),
940
+ href: e.getBlogPostFormUrl({ postId: f.id })
1033
941
  }, {
1034
- default: withCtx(() => [
1035
- createVNode(_component_EditIcon)
942
+ default: A(() => [
943
+ p(b)
1036
944
  ]),
1037
945
  _: 2
1038
946
  }, 1032, ["title", "disabled", "href"]),
1039
- createVNode(_component_BaseButton, {
947
+ p(v, {
1040
948
  variant: "icon",
1041
- title: _ctx.$i18n.t("blog:clone"),
1042
- disabled: _ctx.isBusy(row.id),
1043
- onClick: ($event) => _ctx.handleResourceClone(row.id)
949
+ title: e.$i18n.t("blog:clone"),
950
+ disabled: e.isBusy(f.id),
951
+ onClick: (h) => e.handleResourceClone(f.id)
1044
952
  }, {
1045
- default: withCtx(() => [
1046
- createVNode(_component_ContentCopyIcon)
953
+ default: A(() => [
954
+ p(L)
1047
955
  ]),
1048
956
  _: 2
1049
957
  }, 1032, ["title", "disabled", "onClick"]),
1050
- createVNode(_component_BaseButton, {
958
+ p(v, {
1051
959
  variant: "icon",
1052
- title: _ctx.$i18n.t("blog:remove"),
1053
- disabled: _ctx.isBusy(row.id),
1054
- onClick: ($event) => _ctx.handleResourceDelete(row.id)
960
+ title: e.$i18n.t("blog:remove"),
961
+ disabled: e.isBusy(f.id),
962
+ onClick: (h) => e.handleResourceDelete(f.id)
1055
963
  }, {
1056
- default: withCtx(() => [
1057
- createVNode(_component_DeleteIcon)
964
+ default: A(() => [
965
+ p(F)
1058
966
  ]),
1059
967
  _: 2
1060
968
  }, 1032, ["title", "disabled", "onClick"])
@@ -1065,185 +973,140 @@ function _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {
1065
973
  _: 1
1066
974
  }, 8, ["title", "header-buttons"]);
1067
975
  }
1068
- var BlogPostList = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["render", _sfc_render$3], ["__scopeId", "data-v-02162423"]]);
1069
- var PostForm_vue_vue_type_style_index_0_scoped_true_lang = "";
1070
- const _sfc_main$2 = defineComponent({
976
+ const xa = /* @__PURE__ */ be(Qa, [["render", _a], ["__scopeId", "data-v-7b6e97da"]]), et = pe({
1071
977
  name: "BlogPostForm",
1072
978
  components: {
1073
- SeoFieldGroup,
1074
- FormFieldMultiSelect,
1075
- FormFieldFileInput,
1076
- FormFieldRichTextInput,
1077
- FormFieldCheckbox,
1078
- FormFieldUrlAliasInput,
1079
- FormField,
1080
- FormFieldSelect,
1081
- TabList,
1082
- Page,
1083
- DynamicField,
1084
- ShortCodeConstructor,
1085
- FormFooter
979
+ SeoFieldGroup: ea,
980
+ FormFieldMultiSelect: Le,
981
+ FormFieldFileInput: ca,
982
+ FormFieldRichTextInput: ma,
983
+ FormFieldCheckbox: xe,
984
+ FormFieldUrlAliasInput: _e,
985
+ FormField: Te,
986
+ FormFieldSelect: Xe,
987
+ Page: me,
988
+ DynamicField: Fa,
989
+ ShortCodeConstructor: pa,
990
+ FormFooter: Je
1086
991
  },
1087
992
  setup() {
1088
- var _a, _b;
1089
- const route = useRoute();
1090
- const router = useRouter();
1091
- const toast = useToast();
1092
- const { t } = useI18n();
1093
- const postId = computed(() => route.params.postId);
1094
- const isCreation = computed(() => postId.value === "create");
1095
- const urlAliasChanged = ref(false);
1096
- const statusOptions = computed(() => getStatusOptions(t));
1097
- const { data: moduleConfig, loading: isModuleConfigLoading } = useFetchModuleConfig();
1098
- const languageList = computed(
993
+ var se;
994
+ const e = ge(), a = de(), n = we(), { t: o } = ue(), t = r(() => e.params.postId), d = r(() => t.value === "create"), c = E(!1), C = r(() => la(o)), { data: s, loading: b } = ce(), v = r(
1099
995
  () => {
1100
- var _a2, _b2;
1101
- return (_b2 = (_a2 = moduleConfig.value) == null ? void 0 : _a2.languages) != null ? _b2 : [];
996
+ var i;
997
+ return ((i = s.value) == null ? void 0 : i.languages) ?? [];
1102
998
  }
1103
- );
1104
- const languageOptionList = computed(
1105
- () => languageList.value.map(({ id, name }) => ({
1106
- value: id,
1107
- label: name
999
+ ), L = r(
1000
+ () => v.value.map(({ id: i, name: O }) => ({
1001
+ value: i,
1002
+ label: O
1108
1003
  }))
1109
- );
1110
- const isLangSpecific = computed(() => languageOptionList.value.length > 0);
1111
- const { data: categoryList, loading: isCategoryListLoading } = useFetchCategories();
1112
- const [fetchPost, { data: post, loading: isPostLoading }] = useResource({
1113
- fetchResource: () => postId.value ? getPost(postId.value) : new Promise(() => null),
1004
+ ), F = r(() => L.value.length > 0), { data: I, loading: g } = Ie(), [f, { data: h, loading: D }] = te({
1005
+ fetchResource: () => t.value ? La(t.value) : new Promise(() => null),
1114
1006
  initialValue: null,
1115
1007
  resourceName: "Post"
1116
1008
  });
1117
- onMounted(() => {
1118
- if (isCreation.value)
1119
- return;
1120
- fetchPost();
1121
- });
1122
- watch(postId, () => {
1123
- if (isCreation.value)
1124
- return;
1125
- fetchPost();
1009
+ oe(() => {
1010
+ d.value || f();
1011
+ }), G(t, () => {
1012
+ d.value || f();
1126
1013
  });
1127
- const { data: postList, loading: isPostListLoading } = useFetchPosts();
1128
- const postOptionList = computed(
1129
- () => postList.value.filter((relatedPost) => {
1130
- var _a2;
1131
- return relatedPost.id !== ((_a2 = post.value) == null ? void 0 : _a2.id);
1132
- }).map((post2) => ({
1133
- value: post2.id,
1134
- label: (post2.status === "ARCHIVED" ? `${t("blog:statusArchived")} - ` : post2.status === "DRAFT" ? `${t("blog:statusDraft")} - ` : post2.datetime ? formatDate(new Date(post2.datetime)) + " - " : "") + post2.title
1014
+ const { data: u, loading: V } = wa(), w = r(
1015
+ () => u.value.filter((i) => {
1016
+ var O;
1017
+ return i.id !== ((O = h.value) == null ? void 0 : O.id);
1018
+ }).map((i) => ({
1019
+ value: i.id,
1020
+ label: (i.status === "ARCHIVED" ? `${o("blog:statusArchived")} - ` : i.status === "DRAFT" ? `${o("blog:statusDraft")} - ` : i.datetime ? ba(new Date(i.datetime)) + " - " : "") + i.title
1135
1021
  }))
1136
- );
1137
- const isSubmitting = ref(false);
1138
- const values = ref(
1139
- convertPostToFormValues(
1140
- post.value,
1141
- languageOptionList.value,
1142
- postOptionList.value,
1143
- (_b = (_a = moduleConfig.value) == null ? void 0 : _a.fields) != null ? _b : [],
1144
- statusOptions.value
1022
+ ), W = E(!1), l = E(
1023
+ he(
1024
+ h.value,
1025
+ L.value,
1026
+ w.value,
1027
+ ((se = s.value) == null ? void 0 : se.fields) ?? [],
1028
+ C.value
1145
1029
  )
1146
- );
1147
- const errors = ref({});
1148
- watch([post, languageOptionList, postOptionList, moduleConfig], () => {
1149
- var _a2, _b2;
1150
- values.value = convertPostToFormValues(
1151
- post.value,
1152
- languageOptionList.value,
1153
- postOptionList.value,
1154
- (_b2 = (_a2 = moduleConfig.value) == null ? void 0 : _a2.fields) != null ? _b2 : [],
1155
- statusOptions.value
1030
+ ), m = E({});
1031
+ G([h, L, w, s], () => {
1032
+ var i;
1033
+ l.value = he(
1034
+ h.value,
1035
+ L.value,
1036
+ w.value,
1037
+ ((i = s.value) == null ? void 0 : i.fields) ?? [],
1038
+ C.value
1156
1039
  );
1157
1040
  });
1158
- function submitForm(event) {
1159
- isSubmitting.value = true;
1160
- const creationBody = convertFormValuesToCreationPayload(values.value);
1161
- const updateBody = convertFormValuesToUpdatePayload(values.value);
1162
- const requestPromise = isCreation.value ? createBlogPost(creationBody) : updateBlogPost(postId.value, updateBody);
1163
- requestPromise.then(({ data }) => {
1164
- var _a2, _b2;
1165
- errors.value = {};
1166
- if (event.type === "create") {
1167
- router.push(getBlogPostFormUrl({ postId: String(data.id) }));
1168
- }
1169
- if (event.type === "create_exit" || event.type === "save_exit") {
1170
- navigateBack(router, getBlogPostListUrl());
1171
- }
1172
- if (event.type === "create_create-another") {
1173
- values.value = convertPostToFormValues(
1174
- null,
1175
- languageOptionList.value,
1176
- postOptionList.value,
1177
- (_b2 = (_a2 = moduleConfig.value) == null ? void 0 : _a2.fields) != null ? _b2 : [],
1178
- statusOptions.value
1179
- );
1180
- }
1181
- toast.show({
1041
+ function $(i) {
1042
+ W.value = !0;
1043
+ const O = na(l.value), H = Na(l.value);
1044
+ (d.value ? Ia(O) : Aa(t.value, H)).then(({ data: P }) => {
1045
+ var Z;
1046
+ m.value = {}, i.type === "create" && a.push(Ae({ postId: String(P.id) })), (i.type === "create_exit" || i.type === "save_exit") && Ge(a, Pe()), i.type === "create_create-another" && (l.value = he(
1047
+ null,
1048
+ L.value,
1049
+ w.value,
1050
+ ((Z = s.value) == null ? void 0 : Z.fields) ?? [],
1051
+ C.value
1052
+ )), n.show({
1182
1053
  variant: "success",
1183
- title: t("blog:success"),
1184
- body: isCreation.value ? t("blog:blogPostWasSuccessfullyCreated") : t("blog:blogPostWasSuccessfullyUpdated")
1054
+ title: o("blog:success"),
1055
+ body: d.value ? o("blog:blogPostWasSuccessfullyCreated") : o("blog:blogPostWasSuccessfullyUpdated")
1185
1056
  });
1186
- }).catch((error) => {
1187
- console.error(error);
1188
- errors.value = convertRequestErrorToMap(error);
1189
- toast.show({
1057
+ }).catch((P) => {
1058
+ console.error(P), m.value = Ne(P), n.show({
1190
1059
  variant: "danger",
1191
- title: t("blog:error"),
1192
- body: isCreation.value ? t("blog:blogPostCreationWasFailed") : t("blog:blogPostUpdateWasFailed")
1060
+ title: o("blog:error"),
1061
+ body: d.value ? o("blog:blogPostCreationWasFailed") : o("blog:blogPostUpdateWasFailed")
1193
1062
  });
1194
1063
  }).finally(() => {
1195
- isSubmitting.value = false;
1064
+ W.value = !1;
1196
1065
  });
1197
1066
  }
1198
- const categoryOptionList = computed(
1067
+ const q = r(
1199
1068
  () => {
1200
- var _a2, _b2;
1201
- return convertCategoryListToOptions$1(
1202
- categoryList.value,
1203
- (_b2 = (_a2 = values.value.language) == null ? void 0 : _a2.value) != null ? _b2 : null
1069
+ var i;
1070
+ return qa(
1071
+ I.value,
1072
+ ((i = l.value.language) == null ? void 0 : i.value) ?? null
1204
1073
  );
1205
1074
  }
1206
1075
  );
1207
- watch([categoryOptionList, moduleConfig], () => {
1208
- var _a2;
1209
- function isOptionExist(selectedCategoryOption) {
1210
- return categoryOptionList.value.some(
1211
- (option) => option.value === selectedCategoryOption.value
1076
+ G([q, s], () => {
1077
+ var O;
1078
+ function i(H) {
1079
+ return q.value.some(
1080
+ (z) => z.value === H.value
1212
1081
  );
1213
1082
  }
1214
- if (isCreation.value) {
1215
- if ((_a2 = moduleConfig == null ? void 0 : moduleConfig.value) == null ? void 0 : _a2.defaultCategories) {
1216
- const defaultIds = moduleConfig.value.defaultCategories.map(
1217
- (item) => item.id
1218
- );
1219
- values.value.categories = categoryOptionList.value.filter(
1220
- (item) => {
1221
- return defaultIds.indexOf(item.value) !== -1;
1222
- }
1223
- );
1224
- }
1083
+ if (d.value && (O = s == null ? void 0 : s.value) != null && O.defaultCategories) {
1084
+ const H = s.value.defaultCategories.map(
1085
+ (z) => z.id
1086
+ );
1087
+ l.value.categories = q.value.filter(
1088
+ (z) => H.indexOf(z.value) !== -1
1089
+ );
1225
1090
  }
1226
- values.value.categories = values.value.categories.filter(isOptionExist);
1091
+ l.value.categories = l.value.categories.filter(i);
1227
1092
  });
1228
- const isContentLoading = computed(
1229
- () => isPostLoading.value || isCategoryListLoading.value || isPostListLoading.value || isModuleConfigLoading.value
1093
+ const j = r(
1094
+ () => D.value || g.value || V.value || b.value
1230
1095
  );
1231
- function getUploadAdapterOptions() {
1232
- var _a2;
1233
- return { uploadScenario: (_a2 = moduleConfig.value) == null ? void 0 : _a2.fileScenarios.content };
1096
+ function X() {
1097
+ var i;
1098
+ return { uploadScenario: (i = s.value) == null ? void 0 : i.fileScenarios.content };
1234
1099
  }
1235
- const blogPagePath = computed(() => {
1236
- var _a2, _b2;
1237
- const origin = {}.VUE_APP_WEBSITE_URL || window.location.origin;
1238
- return origin + ((_b2 = (_a2 = post.value) == null ? void 0 : _a2.urlTemplate) != null ? _b2 : "");
1239
- });
1240
- const tabList = computed(() => {
1241
- const hasErrors = createTabErrorFinder(errors.value);
1100
+ const U = r(() => {
1101
+ var O;
1102
+ return (process.env.VUE_APP_WEBSITE_URL || window.location.origin) + (((O = h.value) == null ? void 0 : O.urlTemplate) ?? "");
1103
+ }), S = r(() => {
1104
+ const i = va(m.value);
1242
1105
  return [
1243
1106
  {
1244
1107
  id: "common",
1245
- label: t("blog:common"),
1246
- hasErrors: hasErrors([
1108
+ label: o("blog:common"),
1109
+ hasErrors: i([
1247
1110
  "title",
1248
1111
  "language",
1249
1112
  "urlAlias",
@@ -1254,693 +1117,619 @@ const _sfc_main$2 = defineComponent({
1254
1117
  },
1255
1118
  {
1256
1119
  id: "images",
1257
- label: t("blog:images"),
1258
- hasErrors: hasErrors(["coverImage", "image"])
1120
+ label: o("blog:images"),
1121
+ hasErrors: i(["coverImage", "image"])
1259
1122
  },
1260
1123
  {
1261
1124
  id: "relations",
1262
- label: t("blog:relations"),
1263
- hasErrors: hasErrors(["categories", "relatedPosts", "tags"])
1125
+ label: o("blog:relations"),
1126
+ hasErrors: i(["categories", "relatedPosts", "tags"])
1264
1127
  },
1265
- values.value.additionalFields.length > 0 ? {
1128
+ l.value.additionalFields.length > 0 ? {
1266
1129
  id: "additional",
1267
- label: t("blog:additionalFields"),
1268
- hasErrors: hasErrors([])
1130
+ label: o("blog:additionalFields"),
1131
+ hasErrors: i([])
1269
1132
  } : null,
1270
1133
  {
1271
1134
  id: "seo",
1272
1135
  label: "SEO",
1273
- hasErrors: hasErrors([
1136
+ hasErrors: i([
1274
1137
  "pageTitle",
1275
1138
  "pageDescription",
1276
1139
  "openGraphImage"
1277
1140
  ])
1278
1141
  }
1279
- ].filter(isNotNullish);
1280
- });
1281
- const selectedTabId = ref(tabList.value[0].id);
1282
- const headerButtonList = computed(
1142
+ ].filter(Fe);
1143
+ }), k = E(S.value[0].id), _ = r(
1283
1144
  () => [
1284
- post.value ? {
1285
- text: t("blog:viewPost"),
1286
- href: {}.VUE_APP_WEBSITE_URL + post.value.url,
1145
+ h.value ? {
1146
+ text: o("blog:viewPost"),
1147
+ href: process.env.VUE_APP_WEBSITE_URL + h.value.url,
1287
1148
  target: "_blank"
1288
1149
  } : null
1289
- ].filter(isNotNullish)
1150
+ ].filter(Fe)
1290
1151
  );
1291
- function handleSeoFieldGroupChange({
1292
- title,
1293
- description,
1294
- image
1152
+ function K({
1153
+ title: i,
1154
+ description: O,
1155
+ image: H
1295
1156
  }) {
1296
- values.value.pageTitle = title;
1297
- values.value.pageDescription = description;
1298
- values.value.openGraphImage = image;
1157
+ l.value.pageTitle = i, l.value.pageDescription = O, l.value.openGraphImage = H;
1299
1158
  }
1300
- function handleTitleChange(value) {
1301
- if (isCreation.value && urlAliasChanged.value === false) {
1302
- values.value.urlAlias = urlTranslit(value);
1303
- }
1159
+ function ve(i) {
1160
+ d.value && c.value === !1 && (l.value.urlAlias = Me(i));
1304
1161
  }
1305
- function handleAliasChange() {
1306
- urlAliasChanged.value = true;
1162
+ function fe() {
1163
+ c.value = !0;
1307
1164
  }
1308
- const urlAliasTemplate = computed(() => {
1309
- if (!moduleConfig.value || !moduleConfig.value.urlPostTemplate) {
1165
+ const le = r(() => {
1166
+ if (!s.value || !s.value.urlPostTemplate)
1310
1167
  return "";
1311
- }
1312
- let result = moduleConfig.value.urlPostTemplate;
1313
- if (values.value.language) {
1314
- result = result.replace("{language}", values.value.language.value);
1315
- }
1316
- if (postId.value !== "create") {
1317
- result = result.replace("{id}", postId.value);
1318
- }
1319
- return result;
1320
- });
1321
- const handleCategoriesChange = (selectedOptions) => {
1322
- const newSelectedOptions = [];
1323
- selectedOptions.forEach((selectedOption) => {
1324
- const findTreeSelectedCategory = (categoryId) => {
1325
- const foundSelectedCategory = categoryList.value.find(
1326
- ({ id }) => id === categoryId
1168
+ let i = s.value.urlPostTemplate;
1169
+ return l.value.language && (i = i.replace("{language}", l.value.language.value)), t.value !== "create" && (i = i.replace("{id}", t.value)), i;
1170
+ }), ne = (i) => {
1171
+ const O = [];
1172
+ i.forEach((H) => {
1173
+ const z = (P) => {
1174
+ const Z = I.value.find(
1175
+ ({ id: ye }) => ye === P
1327
1176
  );
1328
- if (!foundSelectedCategory) {
1177
+ if (!Z)
1329
1178
  return;
1330
- }
1331
- const newSelectedOption = {
1332
- value: foundSelectedCategory.id,
1333
- label: foundSelectedCategory.name
1179
+ const Oe = {
1180
+ value: Z.id,
1181
+ label: Z.name
1334
1182
  };
1335
- if (!newSelectedOptions.some(
1336
- ({ value }) => value === newSelectedOption.value
1337
- )) {
1338
- newSelectedOptions.push(newSelectedOption);
1339
- }
1340
- if (foundSelectedCategory.parent) {
1341
- findTreeSelectedCategory(foundSelectedCategory.parent.id);
1342
- }
1183
+ O.some(
1184
+ ({ value: ye }) => ye === Oe.value
1185
+ ) || O.push(Oe), Z.parent && z(Z.parent.id);
1343
1186
  };
1344
- findTreeSelectedCategory(selectedOption.value);
1345
- });
1346
- values.value.categories = newSelectedOptions;
1187
+ z(H.value);
1188
+ }), l.value.categories = O;
1347
1189
  };
1348
1190
  return {
1349
- isCreation,
1350
- postId,
1351
- pagePath: blogPagePath,
1352
- categoryOptionList,
1353
- values,
1354
- errors,
1355
- isContentLoading,
1356
- postListUrl: getBlogPostListUrl(),
1357
- submitForm,
1358
- isLangSpecific,
1359
- languageOptionList,
1360
- isSubmitting,
1361
- moduleConfig,
1362
- postOptionList,
1363
- getUploadAdapterOptions,
1364
- tabList,
1365
- selectedTabId,
1366
- headerButtonList,
1367
- handleSeoFieldGroupChange,
1368
- handleTitleChange,
1369
- handleAliasChange,
1370
- urlAliasTemplate,
1371
- handleCategoriesChange,
1372
- statusOptions
1191
+ isCreation: d,
1192
+ postId: t,
1193
+ pagePath: U,
1194
+ categoryOptionList: q,
1195
+ values: l,
1196
+ errors: m,
1197
+ isContentLoading: j,
1198
+ postListUrl: Pe(),
1199
+ submitForm: $,
1200
+ isLangSpecific: F,
1201
+ languageOptionList: L,
1202
+ isSubmitting: W,
1203
+ moduleConfig: s,
1204
+ postOptionList: w,
1205
+ getUploadAdapterOptions: X,
1206
+ tabList: S,
1207
+ selectedTabId: k,
1208
+ headerButtonList: _,
1209
+ handleSeoFieldGroupChange: K,
1210
+ handleTitleChange: ve,
1211
+ handleAliasChange: fe,
1212
+ urlAliasTemplate: le,
1213
+ handleCategoriesChange: ne,
1214
+ statusOptions: C
1373
1215
  };
1374
1216
  }
1375
- });
1376
- const _hoisted_1$1 = { class: "status" };
1377
- const _hoisted_2 = { class: "status-value" };
1378
- const _hoisted_3 = {
1217
+ }), at = { class: "status" }, tt = { class: "status-value" }, ot = {
1379
1218
  key: 0,
1380
1219
  class: "status-checkbox"
1381
- };
1382
- const _hoisted_4 = {
1220
+ }, lt = {
1383
1221
  key: 1,
1384
1222
  class: "status-date"
1385
1223
  };
1386
- function _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {
1387
- const _component_TabList = resolveComponent("TabList");
1388
- const _component_FormFieldSelect = resolveComponent("FormFieldSelect");
1389
- const _component_FormField = resolveComponent("FormField");
1390
- const _component_FormFieldUrlAliasInput = resolveComponent("FormFieldUrlAliasInput");
1391
- const _component_FormFieldCheckbox = resolveComponent("FormFieldCheckbox");
1392
- const _component_FormFieldRichTextInput = resolveComponent("FormFieldRichTextInput");
1393
- const _component_ShortCodeConstructor = resolveComponent("ShortCodeConstructor");
1394
- const _component_FormFieldFileInput = resolveComponent("FormFieldFileInput");
1395
- const _component_FormFieldMultiSelect = resolveComponent("FormFieldMultiSelect");
1396
- const _component_DynamicField = resolveComponent("DynamicField");
1397
- const _component_SeoFieldGroup = resolveComponent("SeoFieldGroup");
1398
- const _component_FormFooter = resolveComponent("FormFooter");
1399
- const _component_Page = resolveComponent("Page");
1400
- return openBlock(), createBlock(_component_Page, {
1401
- title: _ctx.isCreation ? _ctx.$i18n.t("blog:createPost") : _ctx.$i18n.t("blog:updatePost"),
1402
- "is-content-loading": _ctx.isContentLoading,
1403
- "header-buttons": _ctx.headerButtonList,
1224
+ function nt(e, a, n, o, t, d) {
1225
+ const c = y("FormFieldSelect"), C = y("FormField"), s = y("FormFieldUrlAliasInput"), b = y("FormFieldCheckbox"), v = y("FormFieldRichTextInput"), L = y("ShortCodeConstructor"), F = y("FormFieldFileInput"), I = y("FormFieldMultiSelect"), g = y("DynamicField"), f = y("SeoFieldGroup"), h = y("FormFooter"), D = y("Page");
1226
+ return T(), M(D, {
1227
+ "tab-id": e.selectedTabId,
1228
+ "onUpdate:tab-id": a[16] || (a[16] = (u) => e.selectedTabId = u),
1229
+ title: e.isCreation ? e.$i18n.t("blog:createPost") : e.$i18n.t("blog:updatePost"),
1230
+ "is-content-loading": e.isContentLoading,
1231
+ "header-buttons": e.headerButtonList,
1404
1232
  footer: {
1405
- backHref: _ctx.postListUrl,
1406
- onSubmit: _ctx.submitForm,
1407
- isSubmitting: _ctx.isSubmitting
1408
- }
1233
+ backHref: e.postListUrl,
1234
+ onSubmit: e.submitForm,
1235
+ isSubmitting: e.isSubmitting
1236
+ },
1237
+ tabs: e.tabList
1409
1238
  }, {
1410
- content: withCtx(() => [
1411
- createElementVNode("form", {
1239
+ content: A(() => [
1240
+ Y("form", {
1412
1241
  novalidate: "",
1413
- onSubmit: _cache[16] || (_cache[16] = withModifiers((...args) => _ctx.submitForm && _ctx.submitForm(...args), ["prevent"]))
1242
+ onSubmit: a[15] || (a[15] = Ve(() => {
1243
+ }, ["prevent"]))
1414
1244
  }, [
1415
- createVNode(_component_TabList, {
1416
- "tab-id": _ctx.selectedTabId,
1417
- "onUpdate:tab-id": _cache[0] || (_cache[0] = ($event) => _ctx.selectedTabId = $event),
1418
- "tab-list": _ctx.tabList
1419
- }, null, 8, ["tab-id", "tab-list"]),
1420
- _ctx.selectedTabId === "common" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
1421
- _ctx.isCreation && _ctx.isLangSpecific ? (openBlock(), createBlock(_component_FormFieldSelect, {
1245
+ e.selectedTabId === "common" ? (T(), Q(J, { key: 0 }, [
1246
+ e.isCreation && e.isLangSpecific ? (T(), M(c, {
1422
1247
  key: 0,
1423
- value: _ctx.values.language,
1424
- "onUpdate:value": _cache[1] || (_cache[1] = ($event) => _ctx.values.language = $event),
1248
+ value: e.values.language,
1249
+ "onUpdate:value": a[0] || (a[0] = (u) => e.values.language = u),
1425
1250
  name: "language",
1426
- label: _ctx.$i18n.t("blog:language"),
1427
- options: _ctx.languageOptionList,
1428
- error: _ctx.errors.language
1429
- }, null, 8, ["value", "label", "options", "error"])) : createCommentVNode("", true),
1430
- createVNode(_component_FormField, {
1431
- value: _ctx.values.title,
1432
- "onUpdate:value": _cache[2] || (_cache[2] = ($event) => _ctx.values.title = $event),
1251
+ label: e.$i18n.t("blog:language"),
1252
+ options: e.languageOptionList,
1253
+ error: e.errors.language
1254
+ }, null, 8, ["value", "label", "options", "error"])) : B("", !0),
1255
+ p(C, {
1256
+ value: e.values.title,
1257
+ "onUpdate:value": a[1] || (a[1] = (u) => e.values.title = u),
1433
1258
  name: "title",
1434
- label: _ctx.$i18n.t("blog:title"),
1435
- error: _ctx.errors.title,
1436
- onInput: _ctx.handleTitleChange
1259
+ label: e.$i18n.t("blog:title"),
1260
+ error: e.errors.title,
1261
+ onInput: e.handleTitleChange
1437
1262
  }, null, 8, ["value", "label", "error", "onInput"]),
1438
- createVNode(_component_FormFieldUrlAliasInput, {
1263
+ p(s, {
1439
1264
  id: "urlAlias",
1440
- value: _ctx.values.urlAlias,
1441
- "onUpdate:value": _cache[3] || (_cache[3] = ($event) => _ctx.values.urlAlias = $event),
1265
+ value: e.values.urlAlias,
1266
+ "onUpdate:value": a[2] || (a[2] = (u) => e.values.urlAlias = u),
1442
1267
  name: "urlAlias",
1443
- label: _ctx.$i18n.t("blog:link"),
1444
- "url-template": _ctx.urlAliasTemplate,
1445
- error: _ctx.errors.urlAlias,
1446
- onChange: _ctx.handleAliasChange
1268
+ label: e.$i18n.t("blog:link"),
1269
+ "url-template": e.urlAliasTemplate,
1270
+ error: e.errors.urlAlias,
1271
+ onChange: e.handleAliasChange
1447
1272
  }, null, 8, ["value", "label", "url-template", "error", "onChange"]),
1448
- createElementVNode("div", _hoisted_1$1, [
1449
- createElementVNode("div", _hoisted_2, [
1450
- createVNode(_component_FormFieldSelect, {
1451
- value: _ctx.values.status,
1452
- "onUpdate:value": _cache[4] || (_cache[4] = ($event) => _ctx.values.status = $event),
1273
+ Y("div", at, [
1274
+ Y("div", tt, [
1275
+ p(c, {
1276
+ value: e.values.status,
1277
+ "onUpdate:value": a[3] || (a[3] = (u) => e.values.status = u),
1453
1278
  name: "status",
1454
- error: _ctx.errors.status,
1455
- label: _ctx.$i18n.t("blog:status"),
1456
- "no-options-message": _ctx.$i18n.t("blog:noTemplates"),
1457
- options: _ctx.statusOptions
1279
+ error: e.errors.status,
1280
+ label: e.$i18n.t("blog:status"),
1281
+ "no-options-message": e.$i18n.t("blog:noTemplates"),
1282
+ options: e.statusOptions
1458
1283
  }, null, 8, ["value", "error", "label", "no-options-message", "options"])
1459
1284
  ]),
1460
- _ctx.values.status.value === "PUBLISHED" || _ctx.values.status.value === "DRAFT" ? (openBlock(), createElementBlock("div", _hoisted_3, [
1461
- createVNode(_component_FormFieldCheckbox, {
1462
- checked: _ctx.values.statusDateEnabled,
1463
- "onUpdate:checked": _cache[5] || (_cache[5] = ($event) => _ctx.values.statusDateEnabled = $event),
1285
+ e.values.status.value === "PUBLISHED" || e.values.status.value === "DRAFT" ? (T(), Q("div", ot, [
1286
+ p(b, {
1287
+ checked: e.values.statusDateEnabled,
1288
+ "onUpdate:checked": a[4] || (a[4] = (u) => e.values.statusDateEnabled = u),
1464
1289
  name: "statusDateEnabled",
1465
- label: _ctx.$i18n.t(
1466
- _ctx.values.status.value === "PUBLISHED" ? "blog:scheduleArchive" : "blog:schedulePublish"
1290
+ label: e.$i18n.t(
1291
+ e.values.status.value === "PUBLISHED" ? "blog:scheduleArchive" : "blog:schedulePublish"
1467
1292
  ),
1468
- error: _ctx.errors.status
1293
+ error: e.errors.status
1469
1294
  }, null, 8, ["checked", "label", "error"])
1470
- ])) : createCommentVNode("", true),
1471
- _ctx.values.statusDateEnabled && (_ctx.values.status.value === "PUBLISHED" || _ctx.values.status.value === "DRAFT") ? (openBlock(), createElementBlock("div", _hoisted_4, [
1472
- createVNode(_component_FormField, {
1473
- value: _ctx.values.statusDate,
1474
- "onUpdate:value": _cache[6] || (_cache[6] = ($event) => _ctx.values.statusDate = $event),
1295
+ ])) : B("", !0),
1296
+ e.values.statusDateEnabled && (e.values.status.value === "PUBLISHED" || e.values.status.value === "DRAFT") ? (T(), Q("div", lt, [
1297
+ p(C, {
1298
+ value: e.values.statusDate,
1299
+ "onUpdate:value": a[5] || (a[5] = (u) => e.values.statusDate = u),
1475
1300
  name: "statusDate",
1476
1301
  type: "date",
1477
- label: _ctx.$i18n.t(
1478
- _ctx.values.status.value === "PUBLISHED" ? "blog:archiveAt" : "blog:publishAt"
1302
+ label: e.$i18n.t(
1303
+ e.values.status.value === "PUBLISHED" ? "blog:archiveAt" : "blog:publishAt"
1479
1304
  ),
1480
- error: _ctx.errors.statusDate
1305
+ error: e.errors.statusDate
1481
1306
  }, null, 8, ["value", "label", "error"])
1482
- ])) : createCommentVNode("", true)
1307
+ ])) : B("", !0)
1483
1308
  ]),
1484
- createVNode(_component_FormField, {
1485
- value: _ctx.values.datetime,
1486
- "onUpdate:value": _cache[7] || (_cache[7] = ($event) => _ctx.values.datetime = $event),
1309
+ p(C, {
1310
+ value: e.values.datetime,
1311
+ "onUpdate:value": a[6] || (a[6] = (u) => e.values.datetime = u),
1487
1312
  name: "datetime",
1488
- label: _ctx.$i18n.t("blog:date"),
1313
+ label: e.$i18n.t("blog:date"),
1489
1314
  type: "date",
1490
- error: _ctx.errors.datetime
1315
+ error: e.errors.datetime
1491
1316
  }, null, 8, ["value", "label", "error"]),
1492
- createVNode(_component_FormField, {
1493
- value: _ctx.values.excerpt,
1494
- "onUpdate:value": _cache[8] || (_cache[8] = ($event) => _ctx.values.excerpt = $event),
1317
+ p(C, {
1318
+ value: e.values.excerpt,
1319
+ "onUpdate:value": a[7] || (a[7] = (u) => e.values.excerpt = u),
1495
1320
  name: "excerpt",
1496
- label: _ctx.$i18n.t("blog:excerpt"),
1321
+ label: e.$i18n.t("blog:excerpt"),
1497
1322
  type: "textarea",
1498
- error: _ctx.errors.excerpt
1323
+ error: e.errors.excerpt
1499
1324
  }, null, 8, ["value", "label", "error"]),
1500
- createVNode(_component_FormFieldRichTextInput, {
1501
- value: _ctx.values.body,
1502
- "onUpdate:value": _cache[9] || (_cache[9] = ($event) => _ctx.values.body = $event),
1325
+ p(v, {
1326
+ value: e.values.body,
1327
+ "onUpdate:value": a[8] || (a[8] = (u) => e.values.body = u),
1503
1328
  name: "body",
1504
- label: _ctx.$i18n.t("blog:body"),
1505
- error: _ctx.errors.body,
1506
- "get-upload-adapter-options": _ctx.getUploadAdapterOptions
1329
+ label: e.$i18n.t("blog:body"),
1330
+ error: e.errors.body,
1331
+ "get-upload-adapter-options": e.getUploadAdapterOptions
1507
1332
  }, null, 8, ["value", "label", "error", "get-upload-adapter-options"]),
1508
- createVNode(_component_ShortCodeConstructor, {
1509
- "short-code-config-list": _ctx.moduleConfig ? _ctx.moduleConfig.shortcodes : []
1333
+ p(L, {
1334
+ "short-code-config-list": e.moduleConfig ? e.moduleConfig.shortcodes : []
1510
1335
  }, null, 8, ["short-code-config-list"])
1511
- ], 64)) : createCommentVNode("", true),
1512
- _ctx.selectedTabId === "images" ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
1513
- createVNode(_component_FormFieldFileInput, {
1514
- value: _ctx.values.coverImage,
1515
- "onUpdate:value": _cache[10] || (_cache[10] = ($event) => _ctx.values.coverImage = $event),
1516
- label: _ctx.$i18n.t("blog:coverImage"),
1336
+ ], 64)) : B("", !0),
1337
+ e.selectedTabId === "images" ? (T(), Q(J, { key: 1 }, [
1338
+ p(F, {
1339
+ value: e.values.coverImage,
1340
+ "onUpdate:value": a[9] || (a[9] = (u) => e.values.coverImage = u),
1341
+ label: e.$i18n.t("blog:coverImage"),
1517
1342
  name: "coverImage",
1518
1343
  "file-type": "image",
1519
- scenario: _ctx.moduleConfig ? _ctx.moduleConfig.fileScenarios.cover : null
1344
+ scenario: e.moduleConfig ? e.moduleConfig.fileScenarios.cover : null
1520
1345
  }, null, 8, ["value", "label", "scenario"]),
1521
- createVNode(_component_FormFieldFileInput, {
1522
- value: _ctx.values.image,
1523
- "onUpdate:value": _cache[11] || (_cache[11] = ($event) => _ctx.values.image = $event),
1346
+ p(F, {
1347
+ value: e.values.image,
1348
+ "onUpdate:value": a[10] || (a[10] = (u) => e.values.image = u),
1524
1349
  name: "image",
1525
- label: _ctx.$i18n.t("blog:innerImage"),
1350
+ label: e.$i18n.t("blog:innerImage"),
1526
1351
  "file-type": "image",
1527
- scenario: _ctx.moduleConfig ? _ctx.moduleConfig.fileScenarios.image : null
1352
+ scenario: e.moduleConfig ? e.moduleConfig.fileScenarios.image : null
1528
1353
  }, null, 8, ["value", "label", "scenario"]),
1529
- createVNode(_component_FormFieldFileInput, {
1530
- value: _ctx.values.imageMobile,
1531
- "onUpdate:value": _cache[12] || (_cache[12] = ($event) => _ctx.values.imageMobile = $event),
1354
+ p(F, {
1355
+ value: e.values.imageMobile,
1356
+ "onUpdate:value": a[11] || (a[11] = (u) => e.values.imageMobile = u),
1532
1357
  name: "imageMobile",
1533
- label: _ctx.$i18n.t("blog:innerImageMobile"),
1358
+ label: e.$i18n.t("blog:innerImageMobile"),
1534
1359
  "file-type": "image",
1535
- scenario: _ctx.moduleConfig ? _ctx.moduleConfig.fileScenarios.imageMobile : null
1360
+ scenario: e.moduleConfig ? e.moduleConfig.fileScenarios.imageMobile : null
1536
1361
  }, null, 8, ["value", "label", "scenario"])
1537
- ], 64)) : createCommentVNode("", true),
1538
- _ctx.selectedTabId === "relations" ? (openBlock(), createElementBlock(Fragment, { key: 2 }, [
1539
- createVNode(_component_FormField, {
1540
- value: _ctx.values.tags,
1541
- "onUpdate:value": _cache[13] || (_cache[13] = ($event) => _ctx.values.tags = $event),
1362
+ ], 64)) : B("", !0),
1363
+ e.selectedTabId === "relations" ? (T(), Q(J, { key: 2 }, [
1364
+ p(C, {
1365
+ value: e.values.tags,
1366
+ "onUpdate:value": a[12] || (a[12] = (u) => e.values.tags = u),
1542
1367
  name: "tags",
1543
- label: _ctx.$i18n.t("blog:tags"),
1544
- error: _ctx.errors.tags
1368
+ label: e.$i18n.t("blog:tags"),
1369
+ error: e.errors.tags
1545
1370
  }, null, 8, ["value", "label", "error"]),
1546
- createVNode(_component_FormFieldMultiSelect, {
1547
- "selected-options": _ctx.values.categories,
1548
- "onUpdate:selected-options": _cache[14] || (_cache[14] = ($event) => _ctx.values.categories = $event),
1371
+ p(I, {
1372
+ "selected-options": e.values.categories,
1373
+ "onUpdate:selected-options": a[13] || (a[13] = (u) => e.values.categories = u),
1549
1374
  name: "categories",
1550
- label: _ctx.$i18n.t("blog:categories"),
1551
- options: _ctx.categoryOptionList,
1552
- error: _ctx.errors.categories,
1553
- onChange: _ctx.handleCategoriesChange
1375
+ label: e.$i18n.t("blog:categories"),
1376
+ options: e.categoryOptionList,
1377
+ error: e.errors.categories,
1378
+ onChange: e.handleCategoriesChange
1554
1379
  }, null, 8, ["selected-options", "label", "options", "error", "onChange"]),
1555
- createVNode(_component_FormFieldMultiSelect, {
1556
- "selected-options": _ctx.values.relatedPosts,
1557
- "onUpdate:selected-options": _cache[15] || (_cache[15] = ($event) => _ctx.values.relatedPosts = $event),
1380
+ p(I, {
1381
+ "selected-options": e.values.relatedPosts,
1382
+ "onUpdate:selected-options": a[14] || (a[14] = (u) => e.values.relatedPosts = u),
1558
1383
  name: "relatedPosts",
1559
- label: _ctx.$i18n.t("blog:relatedPosts"),
1560
- options: _ctx.postOptionList,
1561
- error: _ctx.errors.relatedPosts,
1562
- searchable: true
1384
+ label: e.$i18n.t("blog:relatedPosts"),
1385
+ options: e.postOptionList,
1386
+ error: e.errors.relatedPosts,
1387
+ searchable: !0
1563
1388
  }, null, 8, ["selected-options", "label", "options", "error"])
1564
- ], 64)) : createCommentVNode("", true),
1565
- _ctx.selectedTabId === "additional" ? (openBlock(true), createElementBlock(Fragment, { key: 3 }, renderList(_ctx.values.additionalFields, (field) => {
1566
- return openBlock(), createBlock(_component_DynamicField, {
1567
- key: field.name,
1568
- field
1569
- }, null, 8, ["field"]);
1570
- }), 128)) : createCommentVNode("", true),
1571
- _ctx.selectedTabId === "seo" ? (openBlock(), createBlock(_component_SeoFieldGroup, {
1389
+ ], 64)) : B("", !0),
1390
+ e.selectedTabId === "additional" ? (T(!0), Q(J, { key: 3 }, ra(e.values.additionalFields, (u) => (T(), M(g, {
1391
+ key: u.id,
1392
+ field: u
1393
+ }, null, 8, ["field"]))), 128)) : B("", !0),
1394
+ e.selectedTabId === "seo" ? (T(), M(f, {
1572
1395
  key: 4,
1573
- title: _ctx.values.pageTitle,
1574
- "title-error-message": _ctx.errors.pageTitle,
1575
- "title-label": _ctx.$i18n.t("blog:pageTitle"),
1576
- description: _ctx.values.pageDescription,
1577
- "description-error-message": _ctx.errors.pageDescription,
1578
- "description-label": _ctx.$i18n.t("blog:pageDescription"),
1579
- image: _ctx.values.openGraphImage,
1580
- "image-error-message": _ctx.errors.openGraphImage,
1581
- "image-label": _ctx.$i18n.t("blog:openGraphImage"),
1582
- "image-scenario": _ctx.moduleConfig ? _ctx.moduleConfig.fileScenarios.openGraph : null,
1583
- onChange: _ctx.handleSeoFieldGroupChange
1584
- }, null, 8, ["title", "title-error-message", "title-label", "description", "description-error-message", "description-label", "image", "image-error-message", "image-label", "image-scenario", "onChange"])) : createCommentVNode("", true)
1396
+ title: e.values.pageTitle,
1397
+ "title-error-message": e.errors.pageTitle,
1398
+ "title-label": e.$i18n.t("blog:pageTitle"),
1399
+ description: e.values.pageDescription,
1400
+ "description-error-message": e.errors.pageDescription,
1401
+ "description-label": e.$i18n.t("blog:pageDescription"),
1402
+ image: e.values.openGraphImage,
1403
+ "image-error-message": e.errors.openGraphImage,
1404
+ "image-label": e.$i18n.t("blog:openGraphImage"),
1405
+ "image-scenario": e.moduleConfig ? e.moduleConfig.fileScenarios.openGraph : null,
1406
+ onChange: e.handleSeoFieldGroupChange
1407
+ }, null, 8, ["title", "title-error-message", "title-label", "description", "description-error-message", "description-label", "image", "image-error-message", "image-label", "image-scenario", "onChange"])) : B("", !0)
1585
1408
  ], 32)
1586
1409
  ]),
1587
- footer: withCtx(() => [
1588
- createVNode(_component_FormFooter, {
1589
- "back-href": _ctx.postListUrl,
1590
- "is-submitting": _ctx.isSubmitting,
1591
- "is-creation": _ctx.isCreation,
1592
- "can-create-another": _ctx.isCreation,
1593
- onSubmit: _ctx.submitForm
1410
+ footer: A(() => [
1411
+ p(h, {
1412
+ "back-href": e.postListUrl,
1413
+ "is-submitting": e.isSubmitting,
1414
+ "is-creation": e.isCreation,
1415
+ "can-create-another": e.isCreation,
1416
+ onSubmit: e.submitForm
1594
1417
  }, null, 8, ["back-href", "is-submitting", "is-creation", "can-create-another", "onSubmit"])
1595
1418
  ]),
1596
1419
  _: 1
1597
- }, 8, ["title", "is-content-loading", "header-buttons", "footer"]);
1420
+ }, 8, ["tab-id", "title", "is-content-loading", "header-buttons", "footer", "tabs"]);
1598
1421
  }
1599
- var BlogPostForm = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["render", _sfc_render$2], ["__scopeId", "data-v-22282a12"]]);
1600
- function convertCategoryList(categoryList, languages) {
1601
- return categoryList.map((category) => {
1602
- if (languages.length > 0) {
1603
- const foundLanguage = languages.find(
1604
- ({ id }) => category.language === id
1422
+ const st = /* @__PURE__ */ be(et, [["render", nt], ["__scopeId", "data-v-be9f92cf"]]);
1423
+ function rt(e, a) {
1424
+ return e.map((n) => {
1425
+ if (a.length > 0) {
1426
+ const o = a.find(
1427
+ ({ id: t }) => n.language === t
1605
1428
  );
1606
1429
  return {
1607
- ...category,
1608
- language: foundLanguage ? foundLanguage.name : category.language
1430
+ ...n,
1431
+ language: o ? o.name : n.language
1609
1432
  };
1610
1433
  }
1611
- return category;
1434
+ return n;
1612
1435
  });
1613
1436
  }
1614
- function getCategoryTableColumnDefs(moduleConfig, t) {
1615
- const isLangSpecific = moduleConfig ? moduleConfig.languages.length > 0 : false;
1616
- const COLUMN_DEFS = [
1437
+ function it(e, a) {
1438
+ const n = e ? e.languages.length > 0 : !1;
1439
+ return [
1617
1440
  {
1618
1441
  id: 1,
1619
- name: t("blog:name"),
1442
+ name: a("blog:name"),
1620
1443
  field: "name",
1621
1444
  type: "name",
1622
- format: ({ row }) => ({
1445
+ format: ({ row: t }) => ({
1623
1446
  adminLink: {
1624
- url: getBlogCategoryFormUrl({ categoryId: row.id }),
1625
- text: getNameWithDepth(row.name, row.depth)
1447
+ url: $e({ categoryId: t.id }),
1448
+ text: ae(t.name, t.depth)
1626
1449
  },
1627
- paramList: row.isDefault ? [{ name: t("blog:defaultCategory"), value: t("blog:yes") }] : []
1450
+ paramList: t.isDefault ? [{ name: a("blog:defaultCategory"), value: a("blog:yes") }] : []
1628
1451
  })
1629
1452
  },
1630
1453
  {
1631
1454
  id: 2,
1632
- name: t("blog:link"),
1455
+ name: a("blog:link"),
1633
1456
  field: "path",
1634
1457
  type: "link",
1635
- format: ({ row }) => ({
1636
- url: `${getWebsiteOrigin()}${row.url}`,
1637
- text: row.url
1458
+ format: ({ row: t }) => ({
1459
+ url: `${qe()}${t.url}`,
1460
+ text: t.url
1638
1461
  }),
1639
1462
  options: {
1640
- shouldOpenNewTab: true
1463
+ shouldOpenNewTab: !0
1641
1464
  }
1642
1465
  },
1643
- isLangSpecific ? { id: 3, name: t("blog:language"), field: "language" } : null,
1466
+ n ? { id: 3, name: a("blog:language"), field: "language" } : null,
1644
1467
  {
1645
1468
  id: 4,
1646
- name: t("blog:posts"),
1469
+ name: a("blog:posts"),
1647
1470
  field: "linkToPosts",
1648
1471
  style: { whiteSpace: "nowrap", width: "130px" }
1649
1472
  },
1650
1473
  {
1651
1474
  id: 5,
1652
- name: t("blog:actions"),
1475
+ name: a("blog:actions"),
1653
1476
  field: "actions",
1654
1477
  style: { whiteSpace: "nowrap", width: "170px" },
1655
1478
  headStyle: { whiteSpace: "nowrap", width: "170px" },
1656
1479
  class: "actions-cell"
1657
1480
  }
1658
- ];
1659
- return COLUMN_DEFS.filter(notEmpty);
1481
+ ].filter(ke);
1660
1482
  }
1661
- function getLinkToPostsByCategory(categoryId) {
1662
- return `${getBlogPostListUrl()}?filter[category]=${categoryId}`;
1483
+ function ut(e) {
1484
+ return `${Pe()}?filter[category]=${e}`;
1663
1485
  }
1664
- function useAdvancedSearch({ languageList, route, t }) {
1665
- const languageOptionList = computed(
1666
- () => languageList.value.map(({ id, name }) => ({ value: id, label: name }))
1667
- );
1668
- const initialLanguageFilter = computed(() => {
1669
- const queryValue = getFilterParamAsStringArray(
1670
- route.query,
1486
+ function gt({ languageList: e, route: a, t: n }) {
1487
+ const o = r(
1488
+ () => e.value.map(({ id: b, name: v }) => ({ value: b, label: v }))
1489
+ ), t = r(() => {
1490
+ const b = ie(
1491
+ a.query,
1671
1492
  "language"
1493
+ /* LANGUAGE */
1672
1494
  );
1673
- return languageOptionList.value.filter(
1674
- ({ value }) => queryValue.some((selected) => selected === value)
1495
+ return o.value.filter(
1496
+ ({ value: v }) => b.some((L) => L === v)
1675
1497
  );
1498
+ }), d = E(t.value);
1499
+ G(t, () => {
1500
+ d.value = t.value;
1676
1501
  });
1677
- const languageFilter = ref(initialLanguageFilter.value);
1678
- watch(initialLanguageFilter, () => {
1679
- languageFilter.value = initialLanguageFilter.value;
1680
- });
1681
- const filterParams = computed(
1682
- () => getFilterParams({
1683
- ["language"]: languageFilter.value.map(({ value }) => value)
1502
+ const c = r(
1503
+ () => He({
1504
+ language: d.value.map(({ value: b }) => b)
1684
1505
  })
1685
1506
  );
1686
- function tagRemovalHandler(event) {
1687
- if (event.name === "language") {
1688
- languageFilter.value = languageFilter.value.filter(
1689
- ({ value }) => value !== event.value
1690
- );
1691
- }
1507
+ function C(b) {
1508
+ b.name === "language" && (d.value = d.value.filter(
1509
+ ({ value: v }) => v !== b.value
1510
+ ));
1692
1511
  }
1693
- const tags = computed(() => [
1694
- ...languageFilter.value.map(({ value, label }) => ({
1695
- value,
1696
- label,
1512
+ const s = r(() => [
1513
+ ...d.value.map(({ value: b, label: v }) => ({
1514
+ value: b,
1515
+ label: v,
1697
1516
  name: "language",
1698
- title: t("blog:language")
1517
+ title: n("blog:language")
1699
1518
  }))
1700
1519
  ]);
1701
1520
  return {
1702
- languageFilter,
1703
- languageOptionList,
1704
- tagRemovalHandler,
1705
- tags,
1706
- filterParams
1521
+ languageFilter: d,
1522
+ languageOptionList: o,
1523
+ tagRemovalHandler: C,
1524
+ tags: s,
1525
+ filterParams: c
1707
1526
  };
1708
1527
  }
1709
- const _sfc_main$1 = defineComponent({
1528
+ const dt = pe({
1710
1529
  name: "BlogCategoryList",
1711
1530
  components: {
1712
- DeleteIcon,
1713
- SouthIcon,
1714
- NorthIcon,
1715
- EditIcon,
1716
- BaseButton,
1717
- CountButton,
1718
- FormFieldMultiSelect,
1719
- AdvancedSearch,
1720
- Page,
1721
- DataTable
1531
+ DeleteIcon: je,
1532
+ SouthIcon: ha,
1533
+ NorthIcon: ya,
1534
+ EditIcon: Ke,
1535
+ BaseButton: Qe,
1536
+ CountButton: fa,
1537
+ FormFieldMultiSelect: Le,
1538
+ AdvancedSearch: Ye,
1539
+ Page: me,
1540
+ DataTable: ze
1722
1541
  },
1723
1542
  setup() {
1724
- const { t } = useI18n();
1725
- const route = useRoute();
1726
- const router = useRouter();
1727
- const { data: moduleConfig, loading: isModuleConfigLoading } = useFetchModuleConfig();
1728
- const languageList = computed(
1543
+ const { t: e } = ue(), a = ge(), n = de(), { data: o, loading: t } = ce(), d = r(
1729
1544
  () => {
1730
- var _a, _b;
1731
- return (_b = (_a = moduleConfig.value) == null ? void 0 : _a.languages) != null ? _b : [];
1545
+ var U;
1546
+ return ((U = o.value) == null ? void 0 : U.languages) ?? [];
1732
1547
  }
1733
- );
1734
- const {
1735
- languageFilter,
1736
- languageOptionList,
1737
- filterParams,
1738
- tags,
1739
- tagRemovalHandler
1740
- } = useAdvancedSearch({ languageList, route, t });
1741
- const isLangSpecific = computed(
1742
- () => languageOptionList.value.length > 1
1743
- );
1744
- const {
1745
- fetchEntityList: fetchCategoryList,
1746
- isLoading: isCategoryListLoading,
1747
- rowData: categoryList,
1748
- errorMessage,
1749
- searchQuery,
1750
- handleChange,
1751
- pageNumber,
1752
- pageCount,
1753
- pageSize
1754
- } = useDataTable({
1755
- fetchEntityList: (params) => getCategories({
1756
- query: params.searchQuery,
1757
- pageNumber: params.pageNumber,
1758
- pageSize: params.pageSize,
1759
- ...filterParams.value
1548
+ ), {
1549
+ languageFilter: c,
1550
+ languageOptionList: C,
1551
+ filterParams: s,
1552
+ tags: b,
1553
+ tagRemovalHandler: v
1554
+ } = gt({ languageList: d, route: a, t: e }), L = r(
1555
+ () => C.value.length > 1
1556
+ ), {
1557
+ fetchEntityList: F,
1558
+ isLoading: I,
1559
+ rowData: g,
1560
+ errorMessage: f,
1561
+ searchQuery: h,
1562
+ handleChange: D,
1563
+ pageNumber: u,
1564
+ pageCount: V,
1565
+ pageSize: w
1566
+ } = Ze({
1567
+ fetchEntityList: (U) => oa({
1568
+ query: U.searchQuery,
1569
+ pageNumber: U.pageNumber,
1570
+ pageSize: U.pageSize,
1571
+ ...s.value
1760
1572
  }),
1761
1573
  initialValue: [],
1762
1574
  resourceName: "Blog categories",
1763
1575
  pageSize: 100
1764
1576
  });
1765
- watch(filterParams, () => {
1766
- var _a;
1767
- if (isModuleConfigLoading.value || isCategoryListLoading.value) {
1768
- return;
1769
- }
1770
- if (route.path !== BLOG_ROUTE_PATHS.CATEGORY_LIST) {
1577
+ G(s, () => {
1578
+ if (t.value || I.value || a.path !== N.CATEGORY_LIST)
1771
1579
  return;
1772
- }
1773
- const newQuery = {
1774
- ...filterParams.value,
1775
- query: (_a = route.query.query) != null ? _a : ""
1580
+ const U = {
1581
+ ...s.value,
1582
+ query: a.query.query ?? ""
1776
1583
  };
1777
- if (!isEqual(route.query, newQuery)) {
1778
- router.replace({ query: newQuery });
1779
- fetchCategoryList();
1780
- }
1584
+ We(a.query, U) || (n.replace({ query: U }), F());
1781
1585
  });
1782
- const { isDeleting, handleResourceDelete: handleCategoryDelete } = useResourceDelete({
1783
- deleteResource: deleteCategory,
1586
+ const { isDeleting: W, handleResourceDelete: l } = Re({
1587
+ deleteResource: Ea,
1784
1588
  resourceName: "Post",
1785
- onSuccess: fetchCategoryList
1786
- });
1787
- const isCategoryMoving = ref(false);
1788
- function startMoveCategory(categoryId, direction) {
1789
- isCategoryMoving.value = true;
1790
- moveCategory(categoryId, direction).then((response) => {
1791
- if (response.success) {
1792
- return fetchCategoryList();
1793
- }
1589
+ onSuccess: F
1590
+ }), m = E(!1);
1591
+ function $(U, S) {
1592
+ m.value = !0, ka(U, S).then((k) => {
1593
+ if (k.success)
1594
+ return F();
1794
1595
  }).catch(console.error).finally(() => {
1795
- isCategoryMoving.value = false;
1596
+ m.value = !1;
1796
1597
  });
1797
1598
  }
1798
- const isRowDataLoading = computed(
1799
- () => isCategoryListLoading.value || isModuleConfigLoading.value
1800
- );
1801
- const displayedCategoryList = computed(
1802
- () => convertCategoryList(categoryList.value, languageList.value)
1803
- );
1804
- const columnDefs = computed(
1805
- () => getCategoryTableColumnDefs(moduleConfig.value, t)
1599
+ const q = r(
1600
+ () => I.value || t.value
1601
+ ), j = r(
1602
+ () => rt(g.value, d.value)
1806
1603
  );
1807
1604
  return {
1808
- columnDefs,
1809
- rowData: displayedCategoryList,
1810
- isRowDataLoading,
1811
- errorMessage,
1812
- isLangSpecific,
1813
- handleCategoryDelete,
1814
- isDeleting,
1815
- getBlogCategoryFormUrl,
1816
- getLinkToPostsByCategory,
1817
- startMoveCategory,
1818
- isCategoryMoving,
1819
- searchQuery,
1820
- handleChange,
1821
- pageNumber,
1822
- pageCount,
1823
- pageSize,
1824
- languageFilter,
1825
- languageOptionList,
1826
- tags,
1827
- tagRemovalHandler
1605
+ columnDefs: r(
1606
+ () => it(o.value, e)
1607
+ ),
1608
+ rowData: j,
1609
+ isRowDataLoading: q,
1610
+ errorMessage: f,
1611
+ isLangSpecific: L,
1612
+ handleCategoryDelete: l,
1613
+ isDeleting: W,
1614
+ getBlogCategoryFormUrl: $e,
1615
+ getLinkToPostsByCategory: ut,
1616
+ startMoveCategory: $,
1617
+ isCategoryMoving: m,
1618
+ searchQuery: h,
1619
+ handleChange: D,
1620
+ pageNumber: u,
1621
+ pageCount: V,
1622
+ pageSize: w,
1623
+ languageFilter: c,
1624
+ languageOptionList: C,
1625
+ tags: b,
1626
+ tagRemovalHandler: v
1828
1627
  };
1829
1628
  }
1830
- });
1831
- const _hoisted_1 = { class: "filters" };
1832
- function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
1833
- const _component_FormFieldMultiSelect = resolveComponent("FormFieldMultiSelect");
1834
- const _component_AdvancedSearch = resolveComponent("AdvancedSearch");
1835
- const _component_CountButton = resolveComponent("CountButton");
1836
- const _component_EditIcon = resolveComponent("EditIcon");
1837
- const _component_BaseButton = resolveComponent("BaseButton");
1838
- const _component_NorthIcon = resolveComponent("NorthIcon");
1839
- const _component_SouthIcon = resolveComponent("SouthIcon");
1840
- const _component_DeleteIcon = resolveComponent("DeleteIcon");
1841
- const _component_DataTable = resolveComponent("DataTable");
1842
- const _component_Page = resolveComponent("Page");
1843
- return openBlock(), createBlock(_component_Page, {
1844
- title: _ctx.$i18n.t("blog:blogCategories"),
1629
+ }), pt = { class: "filters" };
1630
+ function mt(e, a, n, o, t, d) {
1631
+ const c = y("FormFieldMultiSelect"), C = y("AdvancedSearch"), s = y("CountButton"), b = y("EditIcon"), v = y("BaseButton"), L = y("NorthIcon"), F = y("SouthIcon"), I = y("DeleteIcon"), g = y("DataTable"), f = y("Page");
1632
+ return T(), M(f, {
1633
+ title: e.$i18n.t("blog:blogCategories"),
1845
1634
  "header-buttons": [
1846
1635
  {
1847
- text: _ctx.$i18n.t("blog:newCategory"),
1848
- href: _ctx.getBlogCategoryFormUrl({ categoryId: "create" })
1636
+ text: e.$i18n.t("blog:newCategory"),
1637
+ href: e.getBlogCategoryFormUrl({ categoryId: "create" })
1849
1638
  }
1850
1639
  ]
1851
1640
  }, {
1852
- content: withCtx(() => [
1853
- createVNode(_component_DataTable, {
1854
- "column-defs": _ctx.columnDefs,
1855
- "row-data": _ctx.rowData,
1856
- loading: _ctx.isRowDataLoading,
1857
- "error-message": _ctx.errorMessage,
1858
- "search-query": _ctx.searchQuery,
1641
+ content: A(() => [
1642
+ p(g, {
1643
+ "column-defs": e.columnDefs,
1644
+ "row-data": e.rowData,
1645
+ loading: e.isRowDataLoading,
1646
+ "error-message": e.errorMessage,
1647
+ "search-query": e.searchQuery,
1859
1648
  pagination: {
1860
- pageNumber: _ctx.pageNumber,
1861
- pageCount: _ctx.pageCount,
1862
- pageSize: _ctx.pageSize,
1863
- disabled: _ctx.isRowDataLoading
1649
+ pageNumber: e.pageNumber,
1650
+ pageCount: e.pageCount,
1651
+ pageSize: e.pageSize,
1652
+ disabled: e.isRowDataLoading
1864
1653
  },
1865
1654
  "data-table": "blog-category",
1866
- onChange: _ctx.handleChange
1867
- }, createSlots({
1868
- "cell(link-to-posts)": withCtx(({ row }) => [
1869
- createVNode(_component_CountButton, {
1870
- href: _ctx.getLinkToPostsByCategory(row.id),
1655
+ onChange: e.handleChange
1656
+ }, ia({
1657
+ "cell(link-to-posts)": A(({ row: h }) => [
1658
+ p(s, {
1659
+ href: e.getLinkToPostsByCategory(h.id),
1871
1660
  variant: "outline-secondary",
1872
- count: row.postsCount
1661
+ count: h.postsCount
1873
1662
  }, {
1874
- default: withCtx(() => [
1875
- createTextVNode(toDisplayString(_ctx.$i18n.t("blog:posts")), 1)
1663
+ default: A(() => [
1664
+ Se(x(e.$i18n.t("blog:posts")), 1)
1876
1665
  ]),
1877
1666
  _: 2
1878
1667
  }, 1032, ["href", "count"])
1879
1668
  ]),
1880
- "cell(actions)": withCtx(({ row, rowIndex }) => [
1881
- createVNode(_component_BaseButton, {
1669
+ "cell(actions)": A(({ row: h, rowIndex: D }) => [
1670
+ p(v, {
1882
1671
  variant: "icon",
1883
- title: _ctx.$i18n.t("blog:edit"),
1884
- disabled: _ctx.isDeleting(row.id),
1885
- href: _ctx.getBlogCategoryFormUrl({ categoryId: row.id })
1672
+ title: e.$i18n.t("blog:edit"),
1673
+ disabled: e.isDeleting(h.id),
1674
+ href: e.getBlogCategoryFormUrl({ categoryId: h.id })
1886
1675
  }, {
1887
- default: withCtx(() => [
1888
- createVNode(_component_EditIcon)
1676
+ default: A(() => [
1677
+ p(b)
1889
1678
  ]),
1890
1679
  _: 2
1891
1680
  }, 1032, ["title", "disabled", "href"]),
1892
- createVNode(_component_BaseButton, {
1681
+ p(v, {
1893
1682
  variant: "icon",
1894
- title: _ctx.$i18n.t("blog:moveUp"),
1895
- disabled: rowIndex === 0 || _ctx.isCategoryMoving,
1896
- onClick: ($event) => _ctx.startMoveCategory(row.id, "up")
1683
+ title: e.$i18n.t("blog:moveUp"),
1684
+ disabled: D === 0 || e.isCategoryMoving,
1685
+ onClick: (u) => e.startMoveCategory(h.id, "up")
1897
1686
  }, {
1898
- default: withCtx(() => [
1899
- createVNode(_component_NorthIcon)
1687
+ default: A(() => [
1688
+ p(L)
1900
1689
  ]),
1901
1690
  _: 2
1902
1691
  }, 1032, ["title", "disabled", "onClick"]),
1903
- createVNode(_component_BaseButton, {
1692
+ p(v, {
1904
1693
  variant: "icon",
1905
- title: _ctx.$i18n.t("blog:moveDown"),
1906
- disabled: rowIndex === _ctx.rowData.length - 1 || _ctx.isCategoryMoving,
1907
- onClick: ($event) => _ctx.startMoveCategory(row.id, "down")
1694
+ title: e.$i18n.t("blog:moveDown"),
1695
+ disabled: D === e.rowData.length - 1 || e.isCategoryMoving,
1696
+ onClick: (u) => e.startMoveCategory(h.id, "down")
1908
1697
  }, {
1909
- default: withCtx(() => [
1910
- createVNode(_component_SouthIcon)
1698
+ default: A(() => [
1699
+ p(F)
1911
1700
  ]),
1912
1701
  _: 2
1913
1702
  }, 1032, ["title", "disabled", "onClick"]),
1914
- createVNode(_component_BaseButton, {
1703
+ p(v, {
1915
1704
  variant: "icon",
1916
- title: _ctx.$i18n.t("blog:remove"),
1917
- disabled: _ctx.isDeleting(row.id) || row.postsCount > 0,
1918
- onClick: ($event) => _ctx.handleCategoryDelete(row.id)
1705
+ title: e.$i18n.t("blog:remove"),
1706
+ disabled: e.isDeleting(h.id) || h.postsCount > 0,
1707
+ onClick: (u) => e.handleCategoryDelete(h.id)
1919
1708
  }, {
1920
- default: withCtx(() => [
1921
- createVNode(_component_DeleteIcon)
1709
+ default: A(() => [
1710
+ p(I)
1922
1711
  ]),
1923
1712
  _: 2
1924
1713
  }, 1032, ["title", "disabled", "onClick"])
1925
1714
  ]),
1926
1715
  _: 2
1927
1716
  }, [
1928
- _ctx.isLangSpecific ? {
1717
+ e.isLangSpecific ? {
1929
1718
  name: "filters",
1930
- fn: withCtx(() => [
1931
- createVNode(_component_AdvancedSearch, {
1932
- tags: _ctx.tags,
1933
- "onClick:tag": _ctx.tagRemovalHandler
1719
+ fn: A(() => [
1720
+ p(C, {
1721
+ tags: e.tags,
1722
+ "onClick:tag": e.tagRemovalHandler
1934
1723
  }, {
1935
- default: withCtx(() => [
1936
- createElementVNode("div", _hoisted_1, [
1937
- createVNode(_component_FormFieldMultiSelect, {
1938
- values: _ctx.languageFilter,
1939
- "onUpdate:values": _cache[0] || (_cache[0] = ($event) => _ctx.languageFilter = $event),
1940
- options: _ctx.languageOptionList,
1724
+ default: A(() => [
1725
+ Y("div", pt, [
1726
+ p(c, {
1727
+ values: e.languageFilter,
1728
+ "onUpdate:values": a[0] || (a[0] = (h) => e.languageFilter = h),
1729
+ options: e.languageOptionList,
1941
1730
  name: "languageFilter",
1942
- searchable: true,
1943
- label: _ctx.$i18n.t("blog:language"),
1731
+ searchable: !0,
1732
+ label: e.$i18n.t("blog:language"),
1944
1733
  class: "filter"
1945
1734
  }, null, 8, ["values", "options", "label"])
1946
1735
  ])
@@ -1955,401 +1744,373 @@ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
1955
1744
  _: 1
1956
1745
  }, 8, ["title", "header-buttons"]);
1957
1746
  }
1958
- var BlogCategoryList = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render$1]]);
1959
- function convertCategoryToFormValues(category, languageOptionList, t) {
1960
- var _a, _b, _c, _d, _e;
1961
- const currentLangOption = languageOptionList.find(
1962
- ({ value }) => value === (category == null ? void 0 : category.language)
1747
+ const ct = /* @__PURE__ */ be(dt, [["render", mt]]);
1748
+ function Ce(e, a, n) {
1749
+ const o = a.find(
1750
+ ({ value: t }) => t === (e == null ? void 0 : e.language)
1963
1751
  );
1964
- if (!category) {
1965
- return {
1966
- language: currentLangOption != null ? currentLangOption : null,
1967
- name: "",
1968
- parent: { value: null, label: t("blog:noParent") },
1969
- urlAlias: "",
1970
- isDefault: false,
1971
- pageTitle: "",
1972
- pageDescription: "",
1973
- pageKeywords: "",
1974
- openGraphTitle: "",
1975
- openGraphDescription: "",
1976
- openGraphImage: null
1977
- };
1978
- }
1979
- return {
1980
- language: currentLangOption != null ? currentLangOption : null,
1981
- isDefault: category.isDefault,
1982
- name: category.name,
1983
- parent: category.parent ? { value: category.parent.id, label: category.parent.name } : { value: null, label: t("blog:noParent") },
1984
- urlAlias: category.urlAlias,
1985
- pageTitle: (_a = category.pageTitle) != null ? _a : "",
1986
- pageDescription: (_b = category.pageDescription) != null ? _b : "",
1987
- pageKeywords: (_c = category.pageKeywords) != null ? _c : "",
1988
- openGraphTitle: (_d = category.openGraphTitle) != null ? _d : "",
1989
- openGraphDescription: (_e = category.openGraphDescription) != null ? _e : "",
1990
- openGraphImage: category.openGraphImage ? { id: createId(), file: category.openGraphImage } : null
1752
+ return e ? {
1753
+ language: o ?? null,
1754
+ isDefault: e.isDefault,
1755
+ name: e.name,
1756
+ parent: e.parent ? { value: e.parent.id, label: e.parent.name } : { value: null, label: n("blog:noParent") },
1757
+ urlAlias: e.urlAlias,
1758
+ pageTitle: e.pageTitle ?? "",
1759
+ pageDescription: e.pageDescription ?? "",
1760
+ pageKeywords: e.pageKeywords ?? "",
1761
+ openGraphTitle: e.openGraphTitle ?? "",
1762
+ openGraphDescription: e.openGraphDescription ?? "",
1763
+ openGraphImage: e.openGraphImage ? { id: ee(), file: e.openGraphImage } : null
1764
+ } : {
1765
+ language: o ?? null,
1766
+ name: "",
1767
+ parent: { value: null, label: n("blog:noParent") },
1768
+ urlAlias: "",
1769
+ isDefault: !1,
1770
+ pageTitle: "",
1771
+ pageDescription: "",
1772
+ pageKeywords: "",
1773
+ openGraphTitle: "",
1774
+ openGraphDescription: "",
1775
+ openGraphImage: null
1991
1776
  };
1992
1777
  }
1993
- function convertCategoryFormValuesToPayload(values) {
1994
- var _a, _b, _c, _d;
1778
+ function bt(e) {
1779
+ var a, n;
1995
1780
  return {
1996
- language: (_b = (_a = values.language) == null ? void 0 : _a.value) != null ? _b : null,
1997
- name: values.name,
1998
- parent: values.parent.value,
1999
- urlAlias: values.urlAlias,
2000
- isDefault: values.isDefault,
2001
- pageTitle: values.pageTitle,
2002
- pageDescription: values.pageDescription,
2003
- openGraphImage: (_d = (_c = values.openGraphImage) == null ? void 0 : _c.file.id) != null ? _d : null
1781
+ language: ((a = e.language) == null ? void 0 : a.value) ?? null,
1782
+ name: e.name,
1783
+ parent: e.parent.value,
1784
+ urlAlias: e.urlAlias,
1785
+ isDefault: e.isDefault,
1786
+ pageTitle: e.pageTitle,
1787
+ pageDescription: e.pageDescription,
1788
+ openGraphImage: ((n = e.openGraphImage) == null ? void 0 : n.file.id) ?? null
2004
1789
  };
2005
1790
  }
2006
- function convertCategoryListToOptions(categoryList, languageId, t) {
1791
+ function vt(e, a, n) {
2007
1792
  return [
2008
- { value: null, label: t("blog:noParent") },
2009
- ...categoryList.filter(({ language }) => languageId ? language === languageId : true).map(({ id, name, depth }) => ({
2010
- value: id,
2011
- label: getNameWithDepth(name, depth)
1793
+ { value: null, label: n("blog:noParent") },
1794
+ ...e.filter(({ language: o }) => a ? o === a : !0).map(({ id: o, name: t, depth: d }) => ({
1795
+ value: o,
1796
+ label: ae(t, d)
2012
1797
  }))
2013
1798
  ];
2014
1799
  }
2015
- const _sfc_main = defineComponent({
1800
+ const ft = pe({
2016
1801
  name: "CategoryForm",
2017
1802
  components: {
2018
- Page,
2019
- SeoFieldGroup,
2020
- FormFieldCheckbox,
2021
- TabList,
2022
- FormFieldUrlAliasInput,
2023
- FormField,
2024
- FormFieldSelect,
2025
- FormFooter
1803
+ Page: me,
1804
+ SeoFieldGroup: ea,
1805
+ FormFieldCheckbox: xe,
1806
+ TabList: Ca,
1807
+ FormFieldUrlAliasInput: _e,
1808
+ FormField: Te,
1809
+ FormFieldSelect: Xe,
1810
+ FormFooter: Je
2026
1811
  },
2027
1812
  setup() {
2028
- const { t } = useI18n();
2029
- const router = useRouter();
2030
- const route = useRoute();
2031
- const toast = useToast();
2032
- const categoryId = computed(
2033
- () => route.params.categoryId
2034
- );
2035
- const isCreation = computed(() => categoryId.value === "create");
2036
- const { data: moduleConfig, loading: isModuleConfigLoading } = useFetchModuleConfig();
2037
- const languageList = computed(
1813
+ const { t: e } = ue(), a = de(), n = ge(), o = we(), t = r(
1814
+ () => n.params.categoryId
1815
+ ), d = r(() => t.value === "create"), { data: c, loading: C } = ce(), s = r(
2038
1816
  () => {
2039
- var _a, _b;
2040
- return (_b = (_a = moduleConfig.value) == null ? void 0 : _a.languages) != null ? _b : [];
1817
+ var S;
1818
+ return ((S = c.value) == null ? void 0 : S.languages) ?? [];
2041
1819
  }
2042
- );
2043
- const languageOptionList = computed(
2044
- () => languageList.value.map(({ id, name }) => ({ value: id, label: name }))
2045
- );
2046
- const isLangSpecific = computed(
2047
- () => languageOptionList.value.length > 0
2048
- );
2049
- const imageScenario = computed(
1820
+ ), b = r(
1821
+ () => s.value.map(({ id: S, name: k }) => ({ value: S, label: k }))
1822
+ ), v = r(
1823
+ () => b.value.length > 0
1824
+ ), L = r(
2050
1825
  () => {
2051
- var _a, _b, _c;
2052
- return (_c = (_b = (_a = moduleConfig.value) == null ? void 0 : _a.fileScenarios) == null ? void 0 : _b.openGraph) != null ? _c : null;
1826
+ var S, k;
1827
+ return ((k = (S = c.value) == null ? void 0 : S.fileScenarios) == null ? void 0 : k.openGraph) ?? null;
2053
1828
  }
2054
- );
2055
- const { data: categories, loading: isCategoriesLoading } = useFetchCategories();
2056
- const { data: category, loading: isCategoryLoading } = useFetchCategory({
2057
- categoryId,
2058
- isCreation
2059
- });
2060
- const isSubmitting = ref(false);
2061
- const values = ref(
2062
- convertCategoryToFormValues(category.value, languageOptionList.value, t)
2063
- );
2064
- const errors = ref({});
2065
- watch([category, languageOptionList], () => {
2066
- values.value = convertCategoryToFormValues(
2067
- category.value,
2068
- languageOptionList.value,
2069
- t
1829
+ ), { data: F, loading: I } = Ie(), { data: g, loading: f } = Ma({
1830
+ categoryId: t,
1831
+ isCreation: d
1832
+ }), h = E(!1), D = E(
1833
+ Ce(g.value, b.value, e)
1834
+ ), u = E({});
1835
+ G([g, b], () => {
1836
+ D.value = Ce(
1837
+ g.value,
1838
+ b.value,
1839
+ e
2070
1840
  );
2071
1841
  });
2072
- function submitForm(event) {
2073
- isSubmitting.value = true;
2074
- const body = convertCategoryFormValuesToPayload(values.value);
2075
- const requestPromise = isCreation.value ? createCategory(body) : updateCategory(categoryId.value, body);
2076
- requestPromise.then(({ data }) => {
2077
- errors.value = {};
2078
- if (event.type === "create") {
2079
- router.push(
2080
- getBlogCategoryFormUrl({ categoryId: String(data.id) })
2081
- );
2082
- }
2083
- if (event.type === "create_exit" || event.type === "save_exit") {
2084
- navigateBack(router, getBlogCategoryListUrl());
2085
- }
2086
- if (event.type === "create_create-another") {
2087
- values.value = convertCategoryToFormValues(
2088
- null,
2089
- languageOptionList.value,
2090
- t
2091
- );
2092
- }
2093
- toast.show({
1842
+ function V(S) {
1843
+ h.value = !0;
1844
+ const k = bt(D.value);
1845
+ (d.value ? Ua(k) : Ba(t.value, k)).then(({ data: K }) => {
1846
+ u.value = {}, S.type === "create" && a.push(
1847
+ $e({ categoryId: String(K.id) })
1848
+ ), (S.type === "create_exit" || S.type === "save_exit") && Ge(a, Ee()), S.type === "create_create-another" && (D.value = Ce(
1849
+ null,
1850
+ b.value,
1851
+ e
1852
+ )), o.show({
2094
1853
  variant: "success",
2095
- title: t("blog:success"),
2096
- body: isCreation.value ? t("blog:blogCategoryWasSuccessfullyCreated") : t("blog:blogCategoryWasSuccessfullyUpdated")
1854
+ title: e("blog:success"),
1855
+ body: d.value ? e("blog:blogCategoryWasSuccessfullyCreated") : e("blog:blogCategoryWasSuccessfullyUpdated")
2097
1856
  });
2098
- }).catch((error) => {
2099
- console.error(error);
2100
- errors.value = convertRequestErrorToMap(error);
2101
- toast.show({
1857
+ }).catch((K) => {
1858
+ console.error(K), u.value = Ne(K), o.show({
2102
1859
  variant: "danger",
2103
- title: t("blog:error"),
2104
- body: isCreation.value ? t("blog:blogCategoryCreationWasFailed") : t("blog:blogCategoryUpdateWasFailed")
1860
+ title: e("blog:error"),
1861
+ body: d.value ? e("blog:blogCategoryCreationWasFailed") : e("blog:blogCategoryUpdateWasFailed")
2105
1862
  });
2106
1863
  }).finally(() => {
2107
- isSubmitting.value = false;
1864
+ h.value = !1;
2108
1865
  });
2109
1866
  }
2110
- const parentCategoryOptionList = computed(
1867
+ const w = r(
2111
1868
  () => {
2112
- var _a, _b;
2113
- return convertCategoryListToOptions(
2114
- categories.value,
2115
- (_b = (_a = values.value.language) == null ? void 0 : _a.value) != null ? _b : null,
2116
- t
1869
+ var S;
1870
+ return vt(
1871
+ F.value,
1872
+ ((S = D.value.language) == null ? void 0 : S.value) ?? null,
1873
+ e
2117
1874
  );
2118
1875
  }
2119
- );
2120
- const isContentLoading = computed(
2121
- () => isCategoryLoading.value || isModuleConfigLoading.value || isCategoriesLoading.value
2122
- );
2123
- const categoryPagePath = computed(() => {
2124
- var _a, _b;
2125
- return `${getWebsiteOrigin()}${(_b = (_a = category.value) == null ? void 0 : _a.urlTemplate) != null ? _b : ""}`;
1876
+ ), W = r(
1877
+ () => f.value || C.value || I.value
1878
+ ), l = r(() => {
1879
+ var S;
1880
+ return `${qe()}${((S = g.value) == null ? void 0 : S.urlTemplate) ?? ""}`;
2126
1881
  });
2127
- function handleSeoFieldGroupChange({
2128
- title,
2129
- description,
2130
- keywords,
2131
- image
1882
+ function m({
1883
+ title: S,
1884
+ description: k,
1885
+ keywords: _,
1886
+ image: K
2132
1887
  }) {
2133
- values.value.pageTitle = title;
2134
- values.value.pageDescription = description;
2135
- values.value.pageKeywords = keywords;
2136
- values.value.openGraphImage = image;
1888
+ D.value.pageTitle = S, D.value.pageDescription = k, D.value.pageKeywords = _, D.value.openGraphImage = K;
2137
1889
  }
2138
- const tabList = computed(() => [
2139
- { id: "common", label: t("blog:tabs.common") },
2140
- { id: "seo", label: t("blog:tabs.seo") }
2141
- ]);
2142
- const selectedTabId = ref(tabList.value[0].id);
2143
- const urlAliasChanged = ref(false);
2144
- const handleNameChange = (value) => {
2145
- if (isCreation.value && !urlAliasChanged.value) {
2146
- values.value.urlAlias = urlTranslit(value);
2147
- }
2148
- };
2149
- const handleAliasChange = () => {
2150
- urlAliasChanged.value = true;
1890
+ const $ = r(() => [
1891
+ { id: "common", label: e("blog:tabs.common") },
1892
+ { id: "seo", label: e("blog:tabs.seo") }
1893
+ ]), q = E($.value[0].id), j = E(!1), X = (S) => {
1894
+ d.value && !j.value && (D.value.urlAlias = Me(S));
1895
+ }, U = () => {
1896
+ j.value = !0;
2151
1897
  };
2152
1898
  return {
2153
- isCreation,
2154
- isContentLoading,
2155
- values,
2156
- errors,
2157
- isLangSpecific,
2158
- languageOptionList,
2159
- pagePath: categoryPagePath,
2160
- categoryListUrl: getBlogCategoryListUrl(),
2161
- submitForm,
2162
- isSubmitting,
2163
- moduleConfig,
2164
- parentCategoryOptionList,
2165
- handleNameChange,
2166
- handleAliasChange,
2167
- imageScenario,
2168
- handleSeoFieldGroupChange,
2169
- tabList,
2170
- selectedTabId
1899
+ isCreation: d,
1900
+ isContentLoading: W,
1901
+ values: D,
1902
+ errors: u,
1903
+ isLangSpecific: v,
1904
+ languageOptionList: b,
1905
+ pagePath: l,
1906
+ categoryListUrl: Ee(),
1907
+ submitForm: V,
1908
+ isSubmitting: h,
1909
+ moduleConfig: c,
1910
+ parentCategoryOptionList: w,
1911
+ handleNameChange: X,
1912
+ handleAliasChange: U,
1913
+ // SEO
1914
+ imageScenario: L,
1915
+ handleSeoFieldGroupChange: m,
1916
+ // Tabs
1917
+ tabList: $,
1918
+ selectedTabId: q
2171
1919
  };
2172
1920
  }
2173
1921
  });
2174
- function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
2175
- const _component_FormFieldSelect = resolveComponent("FormFieldSelect");
2176
- const _component_FormField = resolveComponent("FormField");
2177
- const _component_FormFieldUrlAliasInput = resolveComponent("FormFieldUrlAliasInput");
2178
- const _component_TabList = resolveComponent("TabList");
2179
- const _component_FormFieldCheckbox = resolveComponent("FormFieldCheckbox");
2180
- const _component_SeoFieldGroup = resolveComponent("SeoFieldGroup");
2181
- const _component_FormFooter = resolveComponent("FormFooter");
2182
- const _component_Page = resolveComponent("Page");
2183
- return openBlock(), createBlock(_component_Page, {
2184
- title: _ctx.isCreation ? _ctx.$i18n.t("blog:createBlogCategory") : _ctx.$i18n.t("blog:updateBlogCategory"),
2185
- "is-content-loading": _ctx.isContentLoading
1922
+ function yt(e, a, n, o, t, d) {
1923
+ const c = y("FormFieldSelect"), C = y("FormField"), s = y("FormFieldUrlAliasInput"), b = y("TabList"), v = y("FormFieldCheckbox"), L = y("SeoFieldGroup"), F = y("FormFooter"), I = y("Page");
1924
+ return T(), M(I, {
1925
+ title: e.isCreation ? e.$i18n.t("blog:createBlogCategory") : e.$i18n.t("blog:updateBlogCategory"),
1926
+ "is-content-loading": e.isContentLoading
2186
1927
  }, {
2187
- content: withCtx(() => [
2188
- createElementVNode("form", {
1928
+ content: A(() => [
1929
+ Y("form", {
2189
1930
  novalidate: "",
2190
- onSubmit: _cache[10] || (_cache[10] = withModifiers((...args) => _ctx.submitForm && _ctx.submitForm(...args), ["prevent"]))
1931
+ onSubmit: a[10] || (a[10] = Ve(() => {
1932
+ }, ["prevent"]))
2191
1933
  }, [
2192
- _ctx.isCreation ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
2193
- _ctx.isLangSpecific ? (openBlock(), createBlock(_component_FormFieldSelect, {
1934
+ e.isCreation ? (T(), Q(J, { key: 0 }, [
1935
+ e.isLangSpecific ? (T(), M(c, {
2194
1936
  key: 0,
2195
- value: _ctx.values.language,
2196
- "onUpdate:value": _cache[0] || (_cache[0] = ($event) => _ctx.values.language = $event),
1937
+ value: e.values.language,
1938
+ "onUpdate:value": a[0] || (a[0] = (g) => e.values.language = g),
2197
1939
  name: "language",
2198
- label: _ctx.$i18n.t("blog:language"),
2199
- options: _ctx.languageOptionList,
2200
- error: _ctx.errors.language
2201
- }, null, 8, ["value", "label", "options", "error"])) : createCommentVNode("", true),
2202
- createVNode(_component_FormField, {
2203
- value: _ctx.values.name,
2204
- "onUpdate:value": _cache[1] || (_cache[1] = ($event) => _ctx.values.name = $event),
1940
+ label: e.$i18n.t("blog:language"),
1941
+ options: e.languageOptionList,
1942
+ error: e.errors.language
1943
+ }, null, 8, ["value", "label", "options", "error"])) : B("", !0),
1944
+ p(C, {
1945
+ value: e.values.name,
1946
+ "onUpdate:value": a[1] || (a[1] = (g) => e.values.name = g),
2205
1947
  name: "name",
2206
- label: _ctx.$i18n.t("blog:name"),
2207
- error: _ctx.errors.name,
2208
- onInput: _ctx.handleNameChange
1948
+ label: e.$i18n.t("blog:name"),
1949
+ error: e.errors.name,
1950
+ onInput: e.handleNameChange
2209
1951
  }, null, 8, ["value", "label", "error", "onInput"]),
2210
- !_ctx.isLangSpecific || _ctx.values.language ? (openBlock(), createBlock(_component_FormFieldSelect, {
1952
+ !e.isLangSpecific || e.values.language ? (T(), M(c, {
2211
1953
  key: 1,
2212
- value: _ctx.values.parent,
2213
- "onUpdate:value": _cache[2] || (_cache[2] = ($event) => _ctx.values.parent = $event),
1954
+ value: e.values.parent,
1955
+ "onUpdate:value": a[2] || (a[2] = (g) => e.values.parent = g),
2214
1956
  name: "parentCategory",
2215
- label: _ctx.$i18n.t("blog:parentCategory"),
2216
- options: _ctx.parentCategoryOptionList,
2217
- error: _ctx.errors.parent
2218
- }, null, 8, ["value", "label", "options", "error"])) : createCommentVNode("", true),
2219
- createVNode(_component_FormFieldUrlAliasInput, {
1957
+ label: e.$i18n.t("blog:parentCategory"),
1958
+ options: e.parentCategoryOptionList,
1959
+ error: e.errors.parent
1960
+ }, null, 8, ["value", "label", "options", "error"])) : B("", !0),
1961
+ p(s, {
2220
1962
  id: "urlAlias",
2221
- value: _ctx.values.urlAlias,
2222
- "onUpdate:value": _cache[3] || (_cache[3] = ($event) => _ctx.values.urlAlias = $event),
1963
+ value: e.values.urlAlias,
1964
+ "onUpdate:value": a[3] || (a[3] = (g) => e.values.urlAlias = g),
2223
1965
  name: "urlAlias",
2224
- label: _ctx.$i18n.t("blog:link"),
2225
- "url-template": _ctx.pagePath,
2226
- error: _ctx.errors.urlAlias,
2227
- onChange: _ctx.handleAliasChange
1966
+ label: e.$i18n.t("blog:link"),
1967
+ "url-template": e.pagePath,
1968
+ error: e.errors.urlAlias,
1969
+ onChange: e.handleAliasChange
2228
1970
  }, null, 8, ["value", "label", "url-template", "error", "onChange"])
2229
- ], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
2230
- createVNode(_component_TabList, {
2231
- "tab-id": _ctx.selectedTabId,
2232
- "onUpdate:tab-id": _cache[4] || (_cache[4] = ($event) => _ctx.selectedTabId = $event),
2233
- "tab-list": _ctx.tabList
1971
+ ], 64)) : (T(), Q(J, { key: 1 }, [
1972
+ p(b, {
1973
+ "tab-id": e.selectedTabId,
1974
+ "onUpdate:tab-id": a[4] || (a[4] = (g) => e.selectedTabId = g),
1975
+ "tab-list": e.tabList
2234
1976
  }, null, 8, ["tab-id", "tab-list"]),
2235
- _ctx.selectedTabId === "common" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
2236
- _ctx.isLangSpecific ? (openBlock(), createBlock(_component_FormFieldSelect, {
1977
+ e.selectedTabId === "common" ? (T(), Q(J, { key: 0 }, [
1978
+ e.isLangSpecific ? (T(), M(c, {
2237
1979
  key: 0,
2238
- value: _ctx.values.language,
2239
- "onUpdate:value": _cache[5] || (_cache[5] = ($event) => _ctx.values.language = $event),
1980
+ value: e.values.language,
1981
+ "onUpdate:value": a[5] || (a[5] = (g) => e.values.language = g),
2240
1982
  name: "language",
2241
- label: _ctx.$i18n.t("blog:language"),
2242
- options: _ctx.languageOptionList,
2243
- error: _ctx.errors.language
2244
- }, null, 8, ["value", "label", "options", "error"])) : createCommentVNode("", true),
2245
- createVNode(_component_FormFieldCheckbox, {
2246
- checked: _ctx.values.isDefault,
2247
- "onUpdate:checked": _cache[6] || (_cache[6] = ($event) => _ctx.values.isDefault = $event),
1983
+ label: e.$i18n.t("blog:language"),
1984
+ options: e.languageOptionList,
1985
+ error: e.errors.language
1986
+ }, null, 8, ["value", "label", "options", "error"])) : B("", !0),
1987
+ p(v, {
1988
+ checked: e.values.isDefault,
1989
+ "onUpdate:checked": a[6] || (a[6] = (g) => e.values.isDefault = g),
2248
1990
  name: "isDefault",
2249
- label: _ctx.$i18n.t("blog:defaultCategory"),
2250
- error: _ctx.errors.isDefault
1991
+ label: e.$i18n.t("blog:defaultCategory"),
1992
+ error: e.errors.isDefault
2251
1993
  }, null, 8, ["checked", "label", "error"]),
2252
- createVNode(_component_FormField, {
2253
- value: _ctx.values.name,
2254
- "onUpdate:value": _cache[7] || (_cache[7] = ($event) => _ctx.values.name = $event),
1994
+ p(C, {
1995
+ value: e.values.name,
1996
+ "onUpdate:value": a[7] || (a[7] = (g) => e.values.name = g),
2255
1997
  name: "name",
2256
- label: _ctx.$i18n.t("blog:name"),
2257
- error: _ctx.errors.name
1998
+ label: e.$i18n.t("blog:name"),
1999
+ error: e.errors.name
2258
2000
  }, null, 8, ["value", "label", "error"]),
2259
- !_ctx.isLangSpecific || _ctx.values.language ? (openBlock(), createBlock(_component_FormFieldSelect, {
2001
+ !e.isLangSpecific || e.values.language ? (T(), M(c, {
2260
2002
  key: 1,
2261
- value: _ctx.values.parent,
2262
- "onUpdate:value": _cache[8] || (_cache[8] = ($event) => _ctx.values.parent = $event),
2003
+ value: e.values.parent,
2004
+ "onUpdate:value": a[8] || (a[8] = (g) => e.values.parent = g),
2263
2005
  name: "parentCategory",
2264
- label: _ctx.$i18n.t("blog:parentCategory"),
2265
- options: _ctx.parentCategoryOptionList,
2266
- error: _ctx.errors.parent
2267
- }, null, 8, ["value", "label", "options", "error"])) : createCommentVNode("", true),
2268
- createVNode(_component_FormFieldUrlAliasInput, {
2006
+ label: e.$i18n.t("blog:parentCategory"),
2007
+ options: e.parentCategoryOptionList,
2008
+ error: e.errors.parent
2009
+ }, null, 8, ["value", "label", "options", "error"])) : B("", !0),
2010
+ p(s, {
2269
2011
  id: "urlAlias",
2270
- value: _ctx.values.urlAlias,
2271
- "onUpdate:value": _cache[9] || (_cache[9] = ($event) => _ctx.values.urlAlias = $event),
2012
+ value: e.values.urlAlias,
2013
+ "onUpdate:value": a[9] || (a[9] = (g) => e.values.urlAlias = g),
2272
2014
  name: "urlAlias",
2273
- label: _ctx.$i18n.t("blog:link"),
2274
- "url-template": _ctx.pagePath,
2275
- error: _ctx.errors.urlAlias
2015
+ label: e.$i18n.t("blog:link"),
2016
+ "url-template": e.pagePath,
2017
+ error: e.errors.urlAlias
2276
2018
  }, null, 8, ["value", "label", "url-template", "error"])
2277
- ], 64)) : createCommentVNode("", true),
2278
- _ctx.selectedTabId === "seo" ? (openBlock(), createBlock(_component_SeoFieldGroup, {
2019
+ ], 64)) : B("", !0),
2020
+ e.selectedTabId === "seo" ? (T(), M(L, {
2279
2021
  key: 1,
2280
- title: _ctx.values.pageTitle,
2281
- "title-error-message": _ctx.errors.pageTitle,
2282
- description: _ctx.values.pageDescription,
2283
- "description-error-message": _ctx.errors.pageDescription,
2284
- "should-display-keywords": false,
2285
- keywords: _ctx.values.pageKeywords,
2286
- "keywords-error-message": _ctx.errors.pageKeywords,
2287
- image: _ctx.values.openGraphImage,
2288
- "image-scenario": _ctx.imageScenario,
2289
- "image-error-message": _ctx.errors.openGraphImage,
2290
- onChange: _ctx.handleSeoFieldGroupChange
2291
- }, null, 8, ["title", "title-error-message", "description", "description-error-message", "keywords", "keywords-error-message", "image", "image-scenario", "image-error-message", "onChange"])) : createCommentVNode("", true)
2022
+ title: e.values.pageTitle,
2023
+ "title-error-message": e.errors.pageTitle,
2024
+ description: e.values.pageDescription,
2025
+ "description-error-message": e.errors.pageDescription,
2026
+ "should-display-keywords": !1,
2027
+ keywords: e.values.pageKeywords,
2028
+ "keywords-error-message": e.errors.pageKeywords,
2029
+ image: e.values.openGraphImage,
2030
+ "image-scenario": e.imageScenario,
2031
+ "image-error-message": e.errors.openGraphImage,
2032
+ onChange: e.handleSeoFieldGroupChange
2033
+ }, null, 8, ["title", "title-error-message", "description", "description-error-message", "keywords", "keywords-error-message", "image", "image-scenario", "image-error-message", "onChange"])) : B("", !0)
2292
2034
  ], 64))
2293
2035
  ], 32)
2294
2036
  ]),
2295
- footer: withCtx(() => [
2296
- createVNode(_component_FormFooter, {
2297
- "back-href": _ctx.categoryListUrl,
2298
- "is-submitting": _ctx.isSubmitting,
2299
- "is-creation": _ctx.isCreation,
2300
- "can-create-another": _ctx.isCreation,
2301
- onSubmit: _ctx.submitForm
2037
+ footer: A(() => [
2038
+ p(F, {
2039
+ "back-href": e.categoryListUrl,
2040
+ "is-submitting": e.isSubmitting,
2041
+ "is-creation": e.isCreation,
2042
+ "can-create-another": e.isCreation,
2043
+ onSubmit: e.submitForm
2302
2044
  }, null, 8, ["back-href", "is-submitting", "is-creation", "can-create-another", "onSubmit"])
2303
2045
  ]),
2304
2046
  _: 1
2305
2047
  }, 8, ["title", "is-content-loading"]);
2306
2048
  }
2307
- var BlogCategoryForm = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
2308
- const BLOG_POST_LIST_ROUTE = {
2309
- path: BLOG_ROUTE_PATHS.POST_LIST,
2310
- component: BlogPostList,
2049
+ const ht = /* @__PURE__ */ be(ft, [["render", yt]]), Ut = {
2050
+ path: N.POST_LIST,
2051
+ component: xa,
2311
2052
  name: "All posts",
2312
2053
  meta: {
2313
- getBreadcrumbs: (route, { t }) => [
2314
- { url: "/", text: t("blog:home") },
2315
- { url: BLOG_ROUTE_PATHS.POST_LIST, text: t("blog:allPosts") }
2054
+ getBreadcrumbs: (e, { t: a }) => [
2055
+ { url: "/", text: a("blog:home") },
2056
+ { url: N.POST_LIST, text: a("blog:allPosts") }
2316
2057
  ]
2317
2058
  }
2318
- };
2319
- const BLOG_POST_FORM_ROUTE = {
2320
- path: BLOG_ROUTE_PATHS.POST_FORM,
2321
- component: BlogPostForm,
2059
+ }, Bt = {
2060
+ path: N.POST_FORM,
2061
+ component: st,
2322
2062
  name: "Post Form",
2323
2063
  meta: {
2324
- getBreadcrumbs: (route, { t }) => [
2325
- { url: "/", text: t("blog:home") },
2326
- { url: BLOG_ROUTE_PATHS.POST_LIST, text: t("blog:allPosts") },
2327
- { url: route.path, text: t("blog:postForm") }
2064
+ getBreadcrumbs: (e, { t: a }) => [
2065
+ { url: "/", text: a("blog:home") },
2066
+ { url: N.POST_LIST, text: a("blog:allPosts") },
2067
+ { url: e.path, text: a("blog:postForm") }
2328
2068
  ]
2329
2069
  }
2330
- };
2331
- const BLOG_CATEGORY_LIST_ROUTE = {
2332
- path: BLOG_ROUTE_PATHS.CATEGORY_LIST,
2333
- component: BlogCategoryList,
2070
+ }, Et = {
2071
+ path: N.CATEGORY_LIST,
2072
+ component: ct,
2334
2073
  name: "All categories",
2335
2074
  meta: {
2336
- getBreadcrumbs: (route, { t }) => [
2337
- { url: "/", text: t("blog:home") },
2338
- { url: BLOG_ROUTE_PATHS.CATEGORY_LIST, text: t("blog:allCategories") }
2075
+ getBreadcrumbs: (e, { t: a }) => [
2076
+ { url: "/", text: a("blog:home") },
2077
+ { url: N.CATEGORY_LIST, text: a("blog:allCategories") }
2339
2078
  ]
2340
2079
  }
2341
- };
2342
- const BLOG_CATEGORY_FORM_ROUTE = {
2343
- path: BLOG_ROUTE_PATHS.CATEGORY_FORM,
2344
- component: BlogCategoryForm,
2080
+ }, kt = {
2081
+ path: N.CATEGORY_FORM,
2082
+ component: ht,
2345
2083
  name: "Category Form",
2346
2084
  meta: {
2347
- getBreadcrumbs: (route, { t }) => [
2348
- { url: "/", text: t("blog:home") },
2349
- { url: BLOG_ROUTE_PATHS.CATEGORY_LIST, text: t("blog:allCategories") },
2350
- { url: route.path, text: t("blog:categoryForm") }
2085
+ getBreadcrumbs: (e, { t: a }) => [
2086
+ { url: "/", text: a("blog:home") },
2087
+ { url: N.CATEGORY_LIST, text: a("blog:allCategories") },
2088
+ { url: e.path, text: a("blog:categoryForm") }
2351
2089
  ]
2352
2090
  }
2353
2091
  };
2354
- applyTranslations();
2355
- export { BLOG_CATEGORY_FORM_ROUTE, BLOG_CATEGORY_LIST_ROUTE, BLOG_POST_FORM_ROUTE, BLOG_POST_LIST_ROUTE, clonePost, createBlogPost, createCategory, deleteBlogPost, deleteCategory, getBlogCategoryFormUrl, getBlogCategoryListUrl, getBlogPostCount, getBlogPostFormUrl, getBlogPostListUrl, getCategories, getCategory, getModuleConfig, getPost, getPosts, moveCategory, updateBlogPost, updateCategory };
2092
+ Pa();
2093
+ export {
2094
+ kt as BLOG_CATEGORY_FORM_ROUTE,
2095
+ Et as BLOG_CATEGORY_LIST_ROUTE,
2096
+ Bt as BLOG_POST_FORM_ROUTE,
2097
+ Ut as BLOG_POST_LIST_ROUTE,
2098
+ Ta as clonePost,
2099
+ Ia as createBlogPost,
2100
+ Ua as createCategory,
2101
+ $a as deleteBlogPost,
2102
+ Ea as deleteCategory,
2103
+ $e as getBlogCategoryFormUrl,
2104
+ Ee as getBlogCategoryListUrl,
2105
+ Ot as getBlogPostCount,
2106
+ Ae as getBlogPostFormUrl,
2107
+ Pe as getBlogPostListUrl,
2108
+ oa as getCategories,
2109
+ Oa as getCategory,
2110
+ Ra as getModuleConfig,
2111
+ La as getPost,
2112
+ ta as getPosts,
2113
+ ka as moveCategory,
2114
+ Aa as updateBlogPost,
2115
+ Ba as updateCategory
2116
+ };