@tager/admin-blog 0.3.21 → 0.3.25

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 (86) hide show
  1. package/dist/index.esm.js +3452 -612
  2. package/dist/index.umd.js +3454 -619
  3. package/package.json +13 -7
  4. package/src/constants/menu.ts +0 -2
  5. package/src/constants/paths.ts +0 -5
  6. package/src/constants/routes.ts +5 -18
  7. package/src/constants/scopes.ts +11 -0
  8. package/src/dev.ts +11 -44
  9. package/src/hooks/index.ts +6 -0
  10. package/src/hooks/useBlogCategoryList.ts +3 -5
  11. package/src/hooks/useBlogPostList.ts +2 -4
  12. package/src/hooks/useModuleConfig.ts +4 -8
  13. package/src/hooks/useStore.ts +8 -0
  14. package/src/hooks/useUserPermission.ts +16 -0
  15. package/src/hooks/useUserProfile.ts +13 -0
  16. package/src/locales/en.ts +17 -5
  17. package/src/locales/ru.ts +17 -4
  18. package/src/router/index.ts +39 -0
  19. package/src/services/requests.ts +33 -43
  20. package/src/store/index.ts +21 -0
  21. package/src/store/user.ts +109 -0
  22. package/src/typings/common.ts +1 -0
  23. package/src/typings/model.ts +62 -38
  24. package/src/utils/common.ts +23 -0
  25. package/src/views/App.vue +10 -4
  26. package/src/views/{BlogCategoryForm/BlogCategoryForm.helpers.ts → Categories/CategoryForm/CategoryForm.helpers.ts} +22 -7
  27. package/src/views/{BlogCategoryForm/BlogCategoryForm.vue → Categories/CategoryForm/CategoryForm.vue} +140 -63
  28. package/src/views/Categories/CategoryForm/index.ts +1 -0
  29. package/src/views/Categories/CategoryList/CategoryList.helpers.ts +91 -0
  30. package/src/views/Categories/CategoryList/CategoryList.vue +269 -0
  31. package/src/views/Categories/CategoryList/hooks/index.ts +1 -0
  32. package/src/views/Categories/CategoryList/hooks/useAdvancedSearch.ts +95 -0
  33. package/src/views/Categories/CategoryList/index.ts +1 -0
  34. package/src/views/Home.vue +2 -9
  35. package/src/views/Posts/PostForm/PostForm.helpers.ts +150 -0
  36. package/src/views/Posts/PostForm/PostForm.vue +550 -0
  37. package/src/views/{BlogPostForm → Posts/PostForm}/components/TabList/TabList.types.ts +0 -0
  38. package/src/views/{BlogPostForm → Posts/PostForm}/components/TabList/TabList.vue +1 -1
  39. package/src/views/{BlogPostForm → Posts/PostForm}/components/TabList/index.ts +0 -0
  40. package/src/views/Posts/PostForm/index.ts +1 -0
  41. package/src/views/{BlogPostList/BlogPostList.helpers.ts → Posts/PostList/PostList.helpers.ts} +10 -18
  42. package/src/views/Posts/PostList/PostList.vue +361 -0
  43. package/src/views/Posts/PostList/hooks/index.ts +1 -0
  44. package/src/views/Posts/PostList/hooks/useAdvancedSearch.ts +250 -0
  45. package/src/views/Posts/PostList/index.ts +1 -0
  46. package/dist/constants/menu.d.ts +0 -5
  47. package/dist/constants/paths.d.ts +0 -16
  48. package/dist/constants/routes.d.ts +0 -6
  49. package/dist/dev.d.ts +0 -3
  50. package/dist/hooks/useBlogCategoryList.d.ts +0 -7
  51. package/dist/hooks/useBlogPostList.d.ts +0 -7
  52. package/dist/hooks/useModuleConfig.d.ts +0 -7
  53. package/dist/locales/en.d.ts +0 -63
  54. package/dist/locales/ru.d.ts +0 -3
  55. package/dist/main.d.ts +0 -4
  56. package/dist/services/requests.d.ts +0 -68
  57. package/dist/typings/model.d.ts +0 -74
  58. package/dist/views/BlogCategoryForm/BlogCategoryForm.helpers.d.ts +0 -16
  59. package/dist/views/BlogCategoryForm/BlogCategoryForm.vue.d.ts +0 -86
  60. package/dist/views/BlogCategoryForm/index.d.ts +0 -1
  61. package/dist/views/BlogCategoryList/BlogCategoryList.helpers.d.ts +0 -6
  62. package/dist/views/BlogCategoryList/BlogCategoryList.vue.d.ts +0 -3
  63. package/dist/views/BlogCategoryList/index.d.ts +0 -1
  64. package/dist/views/BlogPostForm/BlogPostForm.helpers.d.ts +0 -27
  65. package/dist/views/BlogPostForm/BlogPostForm.vue.d.ts +0 -9320
  66. package/dist/views/BlogPostForm/components/TabList/TabList.types.d.ts +0 -5
  67. package/dist/views/BlogPostForm/components/TabList/index.d.ts +0 -2
  68. package/dist/views/BlogPostForm/index.d.ts +0 -1
  69. package/dist/views/BlogPostList/BlogPostList.helpers.d.ts +0 -6
  70. package/dist/views/BlogPostList/BlogPostList.vue.d.ts +0 -45
  71. package/dist/views/BlogPostList/index.d.ts +0 -1
  72. package/dist/views/BlogSettings/BlogSettings.helpers.d.ts +0 -6
  73. package/dist/views/BlogSettings/BlogSettings.vue.d.ts +0 -9132
  74. package/dist/views/BlogSettings/index.d.ts +0 -1
  75. package/src/views/BlogCategoryForm/index.ts +0 -1
  76. package/src/views/BlogCategoryList/BlogCategoryList.helpers.ts +0 -82
  77. package/src/views/BlogCategoryList/BlogCategoryList.vue +0 -196
  78. package/src/views/BlogCategoryList/index.ts +0 -1
  79. package/src/views/BlogPostForm/BlogPostForm.helpers.ts +0 -152
  80. package/src/views/BlogPostForm/BlogPostForm.vue +0 -534
  81. package/src/views/BlogPostForm/index.ts +0 -1
  82. package/src/views/BlogPostList/BlogPostList.vue +0 -174
  83. package/src/views/BlogPostList/index.ts +0 -1
  84. package/src/views/BlogSettings/BlogSettings.helpers.ts +0 -25
  85. package/src/views/BlogSettings/BlogSettings.vue +0 -110
  86. package/src/views/BlogSettings/index.ts +0 -1
@@ -1,63 +0,0 @@
1
- declare const EN: {
2
- yes: string;
3
- no: string;
4
- blog: string;
5
- posts: string;
6
- categories: string;
7
- createPost: string;
8
- createCategory: string;
9
- settings: string;
10
- home: string;
11
- allPosts: string;
12
- postForm: string;
13
- allCategories: string;
14
- categoryForm: string;
15
- blogSettings: string;
16
- success: string;
17
- blogSettingsHaveBeenSuccessfullyUpdated: string;
18
- error: string;
19
- blogSettingsUpdateHasBeenFailed: string;
20
- newPost: string;
21
- edit: string;
22
- remove: string;
23
- postsByCategory: string;
24
- name: string;
25
- image: string;
26
- language: string;
27
- date: string;
28
- actions: string;
29
- updatePost: string;
30
- title: string;
31
- URLAlias: string;
32
- excerpt: string;
33
- body: string;
34
- defaultCategory: string;
35
- coverImage: string;
36
- innerImage: string;
37
- innerImageMobile: string;
38
- tags: string;
39
- relatedPosts: string;
40
- blogPostWasSuccessfullyCreated: string;
41
- blogPostWasSuccessfullyUpdated: string;
42
- blogPostCreationWasFailed: string;
43
- blogPostUpdateWasFailed: string;
44
- common: string;
45
- images: string;
46
- relations: string;
47
- additionalFields: string;
48
- viewPost: string;
49
- blogCategories: string;
50
- newCategory: string;
51
- moveUp: string;
52
- moveDown: string;
53
- createBlogCategory: string;
54
- updateBlogCategory: string;
55
- pageTitle: string;
56
- pageDescription: string;
57
- openGraphImage: string;
58
- blogCategoryWasSuccessfullyCreated: string;
59
- blogCategoryWasSuccessfullyUpdated: string;
60
- blogCategoryCreationWasFailed: string;
61
- blogCategoryUpdateWasFailed: string;
62
- };
63
- export default EN;
@@ -1,3 +0,0 @@
1
- import EN from './en';
2
- declare const RU: typeof EN;
3
- export default RU;
package/dist/main.d.ts DELETED
@@ -1,4 +0,0 @@
1
- export * from './constants/routes';
2
- export * from './constants/menu';
3
- export * from './constants/paths';
4
- export * from './services/requests';
@@ -1,68 +0,0 @@
1
- import { Nullable, ResponseBody } from '@tager/admin-services';
2
- import { FieldShortType, OutgoingValueUnion } from '@tager/admin-dynamic-field';
3
- import { BlogCategory, BlogModuleConfigType, PostShort, PostFull, SettingItemType } from '../typings/model';
4
- /** Blog Posts */
5
- export declare function getBlogPostList(params?: {
6
- query?: string;
7
- pageNumber?: number;
8
- pageSize?: number;
9
- }): Promise<ResponseBody<Array<PostShort>>>;
10
- export declare function getBlogPostCount(): Promise<ResponseBody<{
11
- count: number;
12
- }>>;
13
- export declare function getBlogPost(postId: number | string): Promise<ResponseBody<PostFull>>;
14
- export declare type PostCreationPayload = {
15
- title: string;
16
- urlAlias: string;
17
- excerpt: string;
18
- body: string;
19
- date: string;
20
- coverImage: Nullable<string>;
21
- image: Nullable<string>;
22
- imageMobile: Nullable<string>;
23
- status: string;
24
- pageTitle: string;
25
- pageDescription: string;
26
- openGraphImage: Nullable<string>;
27
- categories: Array<number>;
28
- language: Nullable<string>;
29
- relatedPosts: Array<number>;
30
- tags: Array<string>;
31
- additionalFields: Array<FieldShortType<OutgoingValueUnion>>;
32
- };
33
- export declare function createBlogPost(payload: PostCreationPayload): Promise<ResponseBody<PostFull>>;
34
- export declare type PostUpdatePayload = PostCreationPayload & {
35
- urlAlias: string;
36
- };
37
- export declare function updateBlogPost(postId: number | string, payload: PostUpdatePayload): Promise<ResponseBody<PostFull>>;
38
- export declare function deleteBlogPost(postId: number | string): Promise<{
39
- success: boolean;
40
- }>;
41
- /** Blog Categories */
42
- export declare function getBlogCategoryList(): Promise<ResponseBody<Array<BlogCategory>>>;
43
- export declare function getBlogCategory(categoryId: number | string): Promise<ResponseBody<BlogCategory>>;
44
- export declare type BlogCategoryCreationPayload = {
45
- name: string;
46
- isDefault: boolean;
47
- pageTitle: Nullable<string>;
48
- language: Nullable<string>;
49
- pageDescription: Nullable<string>;
50
- openGraphImage: Nullable<string>;
51
- };
52
- export declare function createBlogCategory(payload: BlogCategoryCreationPayload): Promise<ResponseBody<BlogCategory>>;
53
- export declare type BlogCategoryUpdatePayload = BlogCategoryCreationPayload & {
54
- urlAlias: string;
55
- };
56
- export declare function updateBlogCategory(categoryId: number | string, payload: BlogCategoryUpdatePayload): Promise<ResponseBody<BlogCategory>>;
57
- export declare function deleteBlogCategory(categoryId: number | string): Promise<{
58
- success: boolean;
59
- }>;
60
- export declare function moveBlogCategory(categoryId: number | string, direction: 'up' | 'down'): Promise<{
61
- success: boolean;
62
- }>;
63
- export declare function getBlogModuleConfig(): Promise<ResponseBody<BlogModuleConfigType>>;
64
- export declare function getBlogSettingList(): Promise<ResponseBody<Array<SettingItemType>>>;
65
- export declare type SettingsUpdatePayload = {
66
- values: Array<FieldShortType<OutgoingValueUnion>>;
67
- };
68
- export declare function updateBlogSettingList(payload: SettingsUpdatePayload): Promise<ResponseBody<Array<SettingItemType>>>;
@@ -1,74 +0,0 @@
1
- import { Nullable, FileType } from '@tager/admin-services';
2
- import { FieldConfigUnion, FieldShortType, IncomingValueUnion } from '@tager/admin-dynamic-field';
3
- import { ShortCodeItemType } from '@tager/admin-ui';
4
- export declare type SeoInfo = {
5
- readonly pageTitle: Nullable<string>;
6
- readonly pageDescription: Nullable<string>;
7
- readonly openGraphImage: Nullable<FileType>;
8
- };
9
- export declare type BlogCategory = {
10
- readonly id: number;
11
- readonly name: string;
12
- readonly isDefault: boolean;
13
- readonly language: string;
14
- readonly url: string;
15
- readonly urlTemplate: string;
16
- readonly urlAlias: string;
17
- readonly postsCount: string;
18
- } & SeoInfo;
19
- export declare type PostShort = {
20
- readonly id: number;
21
- readonly title: string;
22
- readonly url: string;
23
- readonly excerpt: string;
24
- readonly status: string;
25
- readonly language: string;
26
- readonly categories: Array<BlogCategory>;
27
- readonly date: string;
28
- readonly image: Nullable<FileType>;
29
- };
30
- export declare type PostFull = {
31
- readonly id: number;
32
- readonly language: string;
33
- readonly title: string;
34
- readonly url: string;
35
- readonly urlTemplate: string;
36
- readonly urlAlias: string;
37
- readonly date: string;
38
- readonly status: string;
39
- readonly excerpt: string;
40
- readonly image: Nullable<FileType>;
41
- readonly imageMobile: Nullable<FileType>;
42
- readonly categories: Array<BlogCategory>;
43
- readonly body: string;
44
- readonly coverImage: Nullable<FileType>;
45
- readonly relatedPosts: Array<Pick<PostShort, 'id' | 'title'>>;
46
- readonly tags: Array<string>;
47
- readonly additionalFields: Array<FieldShortType<IncomingValueUnion>>;
48
- } & SeoInfo;
49
- export declare type BlogModuleConfigType = {
50
- readonly urlPostTemplate: Nullable<string>;
51
- readonly urlCategoryTemplate: Nullable<string>;
52
- readonly languages: Array<{
53
- id: string;
54
- name: string;
55
- }>;
56
- defaultCategories: Array<{
57
- id: number;
58
- name: string;
59
- language: string;
60
- }>;
61
- readonly fields: Array<FieldConfigUnion>;
62
- readonly shortcodes: Array<ShortCodeItemType>;
63
- readonly fileScenarios: {
64
- cover: Nullable<string>;
65
- image: Nullable<string>;
66
- imageMobile: Nullable<string>;
67
- content: Nullable<string>;
68
- openGraph: Nullable<string>;
69
- };
70
- };
71
- export declare type SettingItemType = {
72
- field: FieldConfigUnion;
73
- value: IncomingValueUnion;
74
- };
@@ -1,16 +0,0 @@
1
- import { Nullable } from '@tager/admin-services';
2
- import { OptionType, SingleFileInputValueType } from '@tager/admin-ui';
3
- import { BlogCategory } from '../../typings/model';
4
- import { BlogCategoryCreationPayload, BlogCategoryUpdatePayload } from '../../services/requests';
5
- export declare type CategoryFormValues = {
6
- name: string;
7
- isDefault: boolean;
8
- pageTitle: string;
9
- pageDescription: string;
10
- openGraphImage: Nullable<SingleFileInputValueType>;
11
- urlAlias: string;
12
- language: Nullable<OptionType>;
13
- };
14
- export declare function convertCategoryToFormValues(category: Nullable<BlogCategory>, languageOptionList: Array<OptionType>): CategoryFormValues;
15
- export declare function convertCategoryFormValuesToCreationPayload(values: CategoryFormValues): BlogCategoryCreationPayload;
16
- export declare function convertCategoryFormValuesToUpdatePayload(values: CategoryFormValues): BlogCategoryUpdatePayload;
@@ -1,86 +0,0 @@
1
- import { Nullable } from '@tager/admin-services';
2
- import { OptionType, TagerFormSubmitEvent } from '@tager/admin-ui';
3
- declare const _default: import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<{
4
- isCreation: import("@vue/composition-api").ComputedRef<boolean>;
5
- isContentLoading: import("@vue/composition-api").ComputedRef<boolean>;
6
- values: import("@vue/composition-api").Ref<{
7
- name: string;
8
- isDefault: boolean;
9
- pageTitle: string;
10
- pageDescription: string;
11
- openGraphImage: {
12
- id: string;
13
- file: {
14
- id: string;
15
- mime: string;
16
- name: string;
17
- size: number;
18
- url: string;
19
- };
20
- caption?: string | null | undefined;
21
- } | null;
22
- urlAlias: string;
23
- language: {
24
- value: string;
25
- label: string;
26
- disabled?: boolean | undefined;
27
- } | null;
28
- }>;
29
- errors: import("@vue/composition-api").Ref<{
30
- [x: string]: string;
31
- }>;
32
- isLangSpecific: import("@vue/composition-api").ComputedRef<boolean>;
33
- languageOptionList: import("@vue/composition-api").ComputedRef<OptionType<string>[]>;
34
- pagePath: import("@vue/composition-api").ComputedRef<string>;
35
- categoryListUrl: "/blog/categories";
36
- submitForm: (event: TagerFormSubmitEvent) => void;
37
- isSubmitting: import("@vue/composition-api").Ref<boolean>;
38
- moduleConfig: import("@vue/composition-api").Ref<Nullable<import("../../typings/model").BlogModuleConfigType>>;
39
- }> & {
40
- [key: string]: unknown;
41
- }, {}, {}, unknown, {
42
- [x: string]: any;
43
- }> & import("vue").VueConstructor<import("vue").default> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{
44
- [x: string]: any;
45
- }, import("@vue/composition-api").ShallowUnwrapRef<{
46
- isCreation: import("@vue/composition-api").ComputedRef<boolean>;
47
- isContentLoading: import("@vue/composition-api").ComputedRef<boolean>;
48
- values: import("@vue/composition-api").Ref<{
49
- name: string;
50
- isDefault: boolean;
51
- pageTitle: string;
52
- pageDescription: string;
53
- openGraphImage: {
54
- id: string;
55
- file: {
56
- id: string;
57
- mime: string;
58
- name: string;
59
- size: number;
60
- url: string;
61
- };
62
- caption?: string | null | undefined;
63
- } | null;
64
- urlAlias: string;
65
- language: {
66
- value: string;
67
- label: string;
68
- disabled?: boolean | undefined;
69
- } | null;
70
- }>;
71
- errors: import("@vue/composition-api").Ref<{
72
- [x: string]: string;
73
- }>;
74
- isLangSpecific: import("@vue/composition-api").ComputedRef<boolean>;
75
- languageOptionList: import("@vue/composition-api").ComputedRef<OptionType<string>[]>;
76
- pagePath: import("@vue/composition-api").ComputedRef<string>;
77
- categoryListUrl: "/blog/categories";
78
- submitForm: (event: TagerFormSubmitEvent) => void;
79
- isSubmitting: import("@vue/composition-api").Ref<boolean>;
80
- moduleConfig: import("@vue/composition-api").Ref<Nullable<import("../../typings/model").BlogModuleConfigType>>;
81
- }>, {
82
- [x: string]: any;
83
- }, {}, {}, {
84
- [x: string]: any;
85
- }>);
86
- export default _default;
@@ -1 +0,0 @@
1
- export { default } from './BlogCategoryForm.vue';
@@ -1,6 +0,0 @@
1
- import { TFunction } from 'i18next';
2
- import { Nullable } from '@tager/admin-services';
3
- import { ColumnDefinition } from '@tager/admin-ui';
4
- import { BlogCategory, BlogModuleConfigType } from '../../typings/model';
5
- export declare function convertCategoryList(categoryList: Array<BlogCategory>, languages: BlogModuleConfigType['languages']): Array<BlogCategory>;
6
- export declare function getCategoryTableColumnDefs(moduleConfig: Nullable<BlogModuleConfigType>, t: TFunction): Array<ColumnDefinition<BlogCategory>>;
@@ -1,3 +0,0 @@
1
- import Vue from 'vue';
2
- declare const _default: import("vue/types/vue").ExtendedVue<Vue, unknown, unknown, unknown, Record<never, any>>;
3
- export default _default;
@@ -1 +0,0 @@
1
- export { default } from './BlogCategoryList.vue';
@@ -1,27 +0,0 @@
1
- import { Nullable } from '@tager/admin-services';
2
- import { OptionType, SingleFileInputValueType } from '@tager/admin-ui';
3
- import { FieldConfigUnion, FieldUnion } from '@tager/admin-dynamic-field';
4
- import { BlogCategory, PostFull } from '../../typings/model';
5
- import { PostCreationPayload, PostUpdatePayload } from '../../services/requests';
6
- export declare type FormValues = {
7
- title: string;
8
- excerpt: string;
9
- body: string;
10
- date: string;
11
- coverImage: Nullable<SingleFileInputValueType>;
12
- image: Nullable<SingleFileInputValueType>;
13
- imageMobile: Nullable<SingleFileInputValueType>;
14
- pageTitle: string;
15
- pageDescription: string;
16
- openGraphImage: Nullable<SingleFileInputValueType>;
17
- urlAlias: string;
18
- categories: Array<OptionType<number>>;
19
- language: Nullable<OptionType>;
20
- relatedPosts: Array<OptionType<number>>;
21
- tags: string;
22
- additionalFields: Array<FieldUnion>;
23
- };
24
- export declare function convertPostToFormValues(post: Nullable<PostFull>, languageOptionList: Array<OptionType>, postOptionList: Array<OptionType<number>>, additionalFieldList: Array<FieldConfigUnion>): FormValues;
25
- export declare function convertFormValuesToCreationPayload(values: FormValues): PostCreationPayload;
26
- export declare function convertFormValuesToUpdatePayload(values: FormValues): PostUpdatePayload;
27
- export declare function convertCategoryListToOptions(categoryList: Array<BlogCategory>, languageId: Nullable<string>): Array<OptionType<number>>;