adminizer 4.2.0-build.49 → 4.2.0-build.51

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 (81) hide show
  1. package/assets/{VanillaJSONEditor-XGIlS4LL.js → VanillaJSONEditor-BsNSMuiI.js} +1 -1
  2. package/assets/add-BOrwsLPk.js +1 -0
  3. package/assets/{add-form-BLdLojfl.js → add-form-GQVVok4z.js} +1 -1
  4. package/assets/add-group-ClEk5H3m.js +1 -0
  5. package/assets/{add-group-form-_VEBFz_S.js → add-group-form-9dIdiUu3.js} +1 -1
  6. package/assets/add-user-BCfcjTsJ.js +1 -0
  7. package/assets/{add-user-form-BFAFyXuz.js → add-user-form-CKEPuXAX.js} +1 -1
  8. package/assets/{app-CXlohNEv.css → app-DcyaNUqI.css} +1 -1
  9. package/assets/{app-layout-NMKA6xAa.js → app-layout-MF9D28sb.js} +1 -1
  10. package/assets/{app-sidebar-C4Y6TSY3.js → app-sidebar-CBCrH_5b.js} +1 -1
  11. package/assets/app-sidebar-header-CT58bBx6.js +1 -0
  12. package/assets/app.js +2 -2
  13. package/assets/{breadcrumbs-D0gGjNVI.js → breadcrumbs-DXFXn-ln.js} +1 -1
  14. package/assets/{catalog-CEVSwmj8.js → catalog-h5-oFEgK.js} +2 -2
  15. package/assets/{dashboard-jLbWzL7K.js → dashboard-Ca0PxrpJ.js} +2 -2
  16. package/assets/{date-picker-SAfAWPoh.js → date-picker-lh34xHZl.js} +1 -1
  17. package/assets/{del-modal-Dj3n8iVJ.js → del-modal-CwKNFb9U.js} +1 -1
  18. package/assets/{field-renderer-BlBZuSiD.css → field-renderer-BkNaSbkZ.css} +1 -1
  19. package/assets/field-renderer-C-zyBIEM.js +411 -0
  20. package/assets/{form-CYsLdORv.js → form-B30gc4iL.js} +1 -1
  21. package/assets/form-xJzl5esP.js +1 -0
  22. package/assets/{handsontable-Dxb-hF7-.js → handsontable-CpTuVOqA.js} +1 -1
  23. package/assets/home-BrMSrnA_.js +2 -0
  24. package/assets/{icon-DQL8h8HI.js → icon-CS1X91Nz.js} +1 -1
  25. package/assets/{init-user-DZtnQ7VL.js → init-user--38KZHls.js} +1 -1
  26. package/assets/{input-error-BztTAmHq.js → input-error-BkhNs96U.js} +1 -1
  27. package/assets/list-Da5LZQoi.js +1 -0
  28. package/assets/{list-table-Du8TTXit.js → list-table-CSB-cBZ7.js} +1 -1
  29. package/assets/{login-2THGmUHc.js → login-BsyYLvZs.js} +1 -1
  30. package/assets/manifest.json +102 -80
  31. package/assets/{material-icon-CPvFwV5P.js → material-icon-08xik4mg.js} +1 -1
  32. package/assets/module-DF806s6D.js +1 -0
  33. package/assets/{monaco-editor-9fDiyfuW.js → monaco-editor-Cp_1Q01C.js} +1 -1
  34. package/assets/{multi-select-e4PqgWYn.js → multi-select-Dd_ADH13.js} +1 -1
  35. package/assets/nav-footer-CiLx5SB9.js +1 -0
  36. package/assets/nav-main-DgWcOcOI.js +1 -0
  37. package/assets/{nav-user-BWl2j-y-.js → nav-user-Cud95A62.js} +1 -1
  38. package/assets/{pagination-render-D6MBqi0B.js → pagination-render-CsKj8TwQ.js} +1 -1
  39. package/assets/{register-Dks3YdiZ.js → register-CQhM1bKw.js} +1 -1
  40. package/assets/theme-switcher-BJSJk_M4.js +1 -0
  41. package/assets/{toast-editor-1Pul3oMs.js → toast-editor-B9DGyj0_.js} +1 -1
  42. package/assets/use-appearance-CXP5cHaQ.js +1 -0
  43. package/assets/{user-info-DTsggabP.js → user-info-BSOJr6JQ.js} +1 -1
  44. package/assets/{user-menu-content-Dnh2qpwQ.js → user-menu-content-BcKOjCpg.js} +1 -1
  45. package/assets/welcome-Dq1qVeCh.js +1 -0
  46. package/helpers/inertiaAddHelper.d.ts +1 -1
  47. package/helpers/inertiaAddHelper.js +4 -0
  48. package/lib/Adminizer.js +2 -2
  49. package/lib/media-manager/DefaultMediaManager.d.ts +18 -0
  50. package/lib/media-manager/DefaultMediaManager.js +96 -125
  51. package/lib/media-manager/Items.d.ts +45 -0
  52. package/lib/media-manager/Items.js +273 -334
  53. package/lib/v4/DataAccessor.d.ts +1 -0
  54. package/lib/v4/DataAccessor.js +15 -8
  55. package/lib/v4/inertia/inertiaAdapter.js +1 -1
  56. package/lib/v4/model/adapter/sequelize.js +28 -19
  57. package/lib/v4/model/adapter/waterline.js +12 -4
  58. package/lib/v4/widgets/abstractCustom.d.ts +1 -1
  59. package/models/MediaManagerAP.d.ts +62 -0
  60. package/models/MediaManagerAP.js +45 -0
  61. package/models/MediaManagerAssociationsAP.d.ts +38 -0
  62. package/models/MediaManagerAssociationsAP.js +27 -0
  63. package/models/MediaManagerMetaAP.d.ts +30 -0
  64. package/models/MediaManagerMetaAP.js +21 -0
  65. package/package.json +10 -5
  66. package/system/bindMediaManager.d.ts +2 -0
  67. package/system/bindMediaManager.js +14 -20
  68. package/system/bindModels.js +3 -3
  69. package/assets/add-BzeOQ-DB.js +0 -1
  70. package/assets/add-group-Bx2s4UXM.js +0 -1
  71. package/assets/add-user-C3BY-sey.js +0 -1
  72. package/assets/app-sidebar-header-DQnbMxfM.js +0 -1
  73. package/assets/field-renderer-C7qCVvAC.js +0 -407
  74. package/assets/form-DjAQC5zI.js +0 -1
  75. package/assets/home-DfUM0yKC.js +0 -2
  76. package/assets/list-B1FodBkq.js +0 -1
  77. package/assets/module-D55s6p7N.js +0 -1
  78. package/assets/nav-footer-B7wjmsPb.js +0 -1
  79. package/assets/nav-main-Cx1BkIzi.js +0 -1
  80. package/assets/use-appearance-J8J2w43p.js +0 -1
  81. package/assets/welcome-HFROxPwP.js +0 -1
@@ -1,125 +1,96 @@
1
- "use strict";
2
- // import {
3
- // AbstractMediaManager,
4
- // MediaManagerItem,
5
- // File,
6
- // MediaManagerWidgetItem,
7
- // MediaManagerWidgetData,
8
- // MediaManagerWidgetClientItem,
9
- // SortCriteria,
10
- // } from "./AbstractMediaManager";
11
- // import {populateVariants} from "./helpers/MediaManagerHelper";
12
- // import {ApplicationItem, ImageItem, TextItem, VideoItem} from "./Items";
13
- // import {Adminizer} from "../Adminizer";
14
- //
15
- //
16
- // export class DefaultMediaManager extends AbstractMediaManager {
17
- // public readonly itemTypes: File<MediaManagerItem>[] = [];
18
- // public model: string = "mediamanagerap";
19
- // public modelAssoc: string = "mediamanagerassociationsap";
20
- // id: string;
21
- // path: string;
22
- // protected readonly adminizer: Adminizer;
23
- //
24
- // constructor(adminizer: Adminizer, id: string, urlPathPrefix: string, fileStoragePath: string) {
25
- // super(adminizer);
26
- // this.id = id;
27
- // this.path = urlPathPrefix;
28
- // this.dir = fileStoragePath;
29
- // this.itemTypes.push(new ImageItem(adminizer, urlPathPrefix, fileStoragePath));
30
- // this.itemTypes.push(new TextItem(adminizer, urlPathPrefix, fileStoragePath));
31
- // this.itemTypes.push(new ApplicationItem(adminizer, urlPathPrefix, fileStoragePath));
32
- // this.itemTypes.push(new VideoItem(adminizer, urlPathPrefix, fileStoragePath));
33
- // this.adminizer = adminizer;
34
- // }
35
- //
36
- // public async getAll(limit: number, skip: number, sort: SortCriteria, group: string): Promise<{
37
- // data: MediaManagerItem[];
38
- // next: boolean
39
- // }> {
40
- // // TODO refactor CRUD functions for DataAccessor usage
41
- // let data: MediaManagerItem[] = await this.adminizer.modelHandler.model.get(this.model)["_find"]({
42
- // where: {parent: null, group: group},
43
- // limit: limit,
44
- // skip: skip,
45
- // sort: sort,
46
- // }, {populate: [["variants", {sort: sort}], ["meta", {}]]})
47
- //
48
- // let next = await this.adminizer.modelHandler.model.get(this.model).count({
49
- // where: {parent: null, group: group},
50
- // limit: limit,
51
- // skip: skip === 0 ? limit : skip + limit,
52
- // sort: sort,
53
- // })
54
- //
55
- // for (let elem of data) {
56
- // elem.variants = await populateVariants(this.adminizer, elem.variants, this.model)
57
- // }
58
- //
59
- // return {
60
- // data: data,
61
- // next: !!next,
62
- // };
63
- // }
64
- //
65
- // public async searchAll(s: string, group: string): Promise<MediaManagerItem[]> {
66
- // // TODO refactor CRUD functions for DataAccessor usage
67
- // let data: MediaManagerItem[] = await this.adminizer.modelHandler.model.get(this.model)["_find"]({
68
- // where: {filename: {contains: s}, parent: null, group: group},
69
- // sort: "createdAt DESC",
70
- // }, {
71
- // populate: [["variants", {sort: "createdAt DESC"}], ["meta", {}]],
72
- // // This limitation is made strictly, if your code solves this please make a PR
73
- // limit: 1000
74
- // })
75
- //
76
- //
77
- // for (let elem of data) {
78
- // elem.variants = await populateVariants(this.adminizer, elem.variants, this.model)
79
- // }
80
- //
81
- // return data;
82
- // }
83
- //
84
- // public async setRelations(data: MediaManagerWidgetData, model: string, modelId: string, widgetName: string,): Promise<void> {
85
- // // TODO refactor CRUD functions for DataAccessor usage
86
- // let modelAssociations = await this.adminizer.modelHandler.model.get(this.modelAssoc)["_find"]({
87
- // where: {modelId: modelId, model: model, widgetName: widgetName},
88
- // });
89
- //
90
- // for (const modelAssociation of modelAssociations) {
91
- // // TODO refactor CRUD functions for DataAccessor usage
92
- // await this.adminizer.modelHandler.model.get(this.modelAssoc)["_destroy"](modelAssociation.id)
93
- // }
94
- //
95
- // for (const [key, widgetItem] of data.list.entries()) {
96
- // // TODO refactor CRUD functions for DataAccessor usage
97
- // await this.adminizer.modelHandler.model.get(this.modelAssoc)["_create"]({
98
- // mediaManagerId: this.id,
99
- // model: model,
100
- // modelId: modelId,
101
- // file: widgetItem.id,
102
- // widgetName: widgetName,
103
- // sortOrder: key + 1,
104
- // });
105
- // }
106
- // }
107
- //
108
- // public async getRelations(items: MediaManagerWidgetItem[],): Promise<MediaManagerWidgetClientItem[]> {
109
- // let widgetItems: MediaManagerWidgetClientItem[] = [];
110
- // for (const item of items) {
111
- // // TODO refactor CRUD functions for DataAccessor usage
112
- // let file: MediaManagerItem = (await this.adminizer.modelHandler.model.get(this.model)["_find"]({
113
- // where: {id: item.id}
114
- // }, {populate: [["variants", {sort: "createdAt DESC"}]]}))[0]
115
- //
116
- // widgetItems.push({
117
- // id: file.id,
118
- // mimeType: file.mimeType,
119
- // url: file.url,
120
- // variants: file.variants,
121
- // });
122
- // }
123
- // return widgetItems;
124
- // }
125
- // }
1
+ import { AbstractMediaManager, } from "./AbstractMediaManager";
2
+ import { populateVariants } from "./helpers/MediaManagerHelper";
3
+ import { ApplicationItem, ImageItem, TextItem, VideoItem } from "./Items";
4
+ export class DefaultMediaManager extends AbstractMediaManager {
5
+ itemTypes = [];
6
+ model = "mediamanagerap";
7
+ modelAssoc = "mediamanagerassociationsap";
8
+ id;
9
+ path;
10
+ adminizer;
11
+ constructor(adminizer, id, urlPathPrefix, fileStoragePath) {
12
+ super(adminizer);
13
+ this.id = id;
14
+ this.path = urlPathPrefix;
15
+ this.dir = fileStoragePath;
16
+ this.itemTypes.push(new ImageItem(adminizer, urlPathPrefix, fileStoragePath));
17
+ this.itemTypes.push(new TextItem(adminizer, urlPathPrefix, fileStoragePath));
18
+ this.itemTypes.push(new ApplicationItem(adminizer, urlPathPrefix, fileStoragePath));
19
+ this.itemTypes.push(new VideoItem(adminizer, urlPathPrefix, fileStoragePath));
20
+ this.adminizer = adminizer;
21
+ }
22
+ async getAll(limit, skip, sort, group) {
23
+ // TODO refactor CRUD functions for DataAccessor usage
24
+ let data = await this.adminizer.modelHandler.model.get(this.model)["_find"]({
25
+ where: { parent: null, group: group },
26
+ limit: limit,
27
+ skip: skip,
28
+ sort: sort,
29
+ }, { populate: [["variants", { sort: sort }], ["meta", {}]] });
30
+ let next = await this.adminizer.modelHandler.model.get(this.model)["_count"]({
31
+ where: { parent: null, group: group },
32
+ limit: limit,
33
+ skip: skip === 0 ? limit : skip + limit,
34
+ sort: sort,
35
+ });
36
+ for (let elem of data) {
37
+ elem.variants = await populateVariants(this.adminizer, elem.variants, this.model);
38
+ }
39
+ return {
40
+ data: data,
41
+ next: !!next,
42
+ };
43
+ }
44
+ async searchAll(s, group) {
45
+ // TODO refactor CRUD functions for DataAccessor usage
46
+ let data = await this.adminizer.modelHandler.model.get(this.model)["_find"]({
47
+ where: { filename: { contains: s }, parent: null, group: group },
48
+ sort: "createdAt DESC",
49
+ }, {
50
+ populate: [["variants", { sort: "createdAt DESC" }], ["meta", {}]],
51
+ // This limitation is made strictly, if your code solves this please make a PR
52
+ limit: 1000
53
+ });
54
+ for (let elem of data) {
55
+ elem.variants = await populateVariants(this.adminizer, elem.variants, this.model);
56
+ }
57
+ return data;
58
+ }
59
+ async setRelations(data, model, modelId, widgetName) {
60
+ // TODO refactor CRUD functions for DataAccessor usage
61
+ let modelAssociations = await this.adminizer.modelHandler.model.get(this.modelAssoc)["_find"]({
62
+ where: { modelId: modelId, model: model, widgetName: widgetName },
63
+ });
64
+ for (const modelAssociation of modelAssociations) {
65
+ // TODO refactor CRUD functions for DataAccessor usage
66
+ await this.adminizer.modelHandler.model.get(this.modelAssoc)["_destroy"](modelAssociation.id);
67
+ }
68
+ for (const [key, widgetItem] of data.list.entries()) {
69
+ // TODO refactor CRUD functions for DataAccessor usage
70
+ await this.adminizer.modelHandler.model.get(this.modelAssoc)["_create"]({
71
+ mediaManagerId: this.id,
72
+ model: model,
73
+ modelId: modelId,
74
+ file: widgetItem.id,
75
+ widgetName: widgetName,
76
+ sortOrder: key + 1,
77
+ });
78
+ }
79
+ }
80
+ async getRelations(items) {
81
+ let widgetItems = [];
82
+ for (const item of items) {
83
+ // TODO refactor CRUD functions for DataAccessor usage
84
+ let file = (await this.adminizer.modelHandler.model.get(this.model)["_find"]({
85
+ where: { id: item.id }
86
+ }, { populate: [["variants", { sort: "createdAt DESC" }]] }))[0];
87
+ widgetItems.push({
88
+ id: file.id,
89
+ mimeType: file.mimeType,
90
+ url: file.url,
91
+ variants: file.variants,
92
+ });
93
+ }
94
+ return widgetItems;
95
+ }
96
+ }
@@ -0,0 +1,45 @@
1
+ import { File, MediaFileType, MediaManagerItem, SortCriteria, UploaderFile } from "./AbstractMediaManager";
2
+ import sharp from "sharp";
3
+ import { Adminizer } from "../Adminizer";
4
+ export declare class ImageItem extends File<MediaManagerItem> {
5
+ type: MediaFileType;
6
+ model: string;
7
+ metaModel: string;
8
+ imageSizes: any;
9
+ protected readonly adminizer: Adminizer;
10
+ constructor(adminizer: Adminizer, urlPathPrefix: string, fileStoragePath: string);
11
+ getItems(limit: number, skip: number, sort: SortCriteria, group: string): Promise<{
12
+ data: MediaManagerItem[];
13
+ next: boolean;
14
+ }>;
15
+ search(s: string, group: string): Promise<MediaManagerItem[]>;
16
+ upload(file: UploaderFile, filename: string, origFileName: string, group: string): Promise<MediaManagerItem[]>;
17
+ getVariants(id: string): Promise<MediaManagerItem[]>;
18
+ protected createVariants(file: UploaderFile, parent: MediaManagerItem, filename: string, group: string): Promise<void>;
19
+ getOrigin(id: string): Promise<string>;
20
+ protected createMeta(id: string): Promise<void>;
21
+ protected addFileMeta(file: string, id: string): Promise<void>;
22
+ getMeta(id: string): Promise<{
23
+ key: string;
24
+ value: string;
25
+ }[]>;
26
+ setMeta(id: string, data: {
27
+ [p: string]: string;
28
+ }): Promise<void>;
29
+ protected resizeImage(input: string, output: string, width: number, height: number): Promise<sharp.OutputInfo>;
30
+ uploadVariant(parent: MediaManagerItem, file: UploaderFile, filename: string, group: string, localeId: string): Promise<MediaManagerItem>;
31
+ delete(id: string): Promise<void>;
32
+ }
33
+ export declare class TextItem extends ImageItem {
34
+ type: MediaFileType;
35
+ upload(file: UploaderFile, filename: string, origFileName: string, group: string): Promise<MediaManagerItem[]>;
36
+ getvariants(): Promise<MediaManagerItem[]>;
37
+ uploadVariant(parent: MediaManagerItem, file: UploaderFile, filename: string, group: string, localeId: string): Promise<MediaManagerItem>;
38
+ getVariants(id: string): Promise<MediaManagerItem[]>;
39
+ }
40
+ export declare class ApplicationItem extends TextItem {
41
+ type: MediaFileType;
42
+ }
43
+ export declare class VideoItem extends TextItem {
44
+ type: MediaFileType;
45
+ }