@yuuvis/app-drive 0.7.3

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 (107) hide show
  1. package/README.md +47 -0
  2. package/esm2022/extensions/index.mjs +2 -0
  3. package/esm2022/extensions/lib/extensions.module.mjs +35 -0
  4. package/esm2022/extensions/lib/extensions.service.mjs +44 -0
  5. package/esm2022/extensions/lib/object-config.defaults.mjs +19 -0
  6. package/esm2022/extensions/yuuvis-app-drive-extensions.mjs +5 -0
  7. package/esm2022/index.mjs +5 -0
  8. package/esm2022/lib/actions/copy-link/copy-link.action.mjs +40 -0
  9. package/esm2022/lib/actions/index.mjs +7 -0
  10. package/esm2022/lib/actions/manage-versions/manage-versions.action.mjs +33 -0
  11. package/esm2022/lib/actions/manage-versions/manage-versions.component.mjs +105 -0
  12. package/esm2022/lib/actions/paste/paste.action.mjs +41 -0
  13. package/esm2022/lib/actions/rename/rename.action.mjs +31 -0
  14. package/esm2022/lib/actions/rename/rename.component.mjs +42 -0
  15. package/esm2022/lib/actions/rename/rename.validator.mjs +23 -0
  16. package/esm2022/lib/actions/updateContent/update.content.action.mjs +52 -0
  17. package/esm2022/lib/components/add-button/add-button-overlay/add-button-overlay.component.mjs +109 -0
  18. package/esm2022/lib/components/add-button/add-button.component.mjs +39 -0
  19. package/esm2022/lib/components/breadcrumb/breadcrumb.component.mjs +74 -0
  20. package/esm2022/lib/components/folder-tree/folder-tree.component.mjs +89 -0
  21. package/esm2022/lib/components/index.mjs +10 -0
  22. package/esm2022/lib/components/object-name/object-name.component.mjs +60 -0
  23. package/esm2022/lib/components/overlay/create-folder/create-folder.component.mjs +48 -0
  24. package/esm2022/lib/components/paste-from-clipboard/paste-from-clipboard.component.mjs +28 -0
  25. package/esm2022/lib/components/ribbon/ribbon.component.mjs +102 -0
  26. package/esm2022/lib/components/search-filter/date-range-picker/date-range-picker.component.mjs +38 -0
  27. package/esm2022/lib/components/search-filter/search-filter.component.mjs +429 -0
  28. package/esm2022/lib/components/sort/sort.component.mjs +156 -0
  29. package/esm2022/lib/components/versions-list/tile/tile.component.mjs +60 -0
  30. package/esm2022/lib/components/versions-list/versions-list.component.mjs +94 -0
  31. package/esm2022/lib/container/drive/drive.component.mjs +116 -0
  32. package/esm2022/lib/drive.icons.mjs +16 -0
  33. package/esm2022/lib/drive.schema.mjs +49 -0
  34. package/esm2022/lib/lib.routes.mjs +17 -0
  35. package/esm2022/lib/pages/files/files.component.mjs +377 -0
  36. package/esm2022/lib/pages/object/object.component.mjs +200 -0
  37. package/esm2022/lib/services/drive/drive.interface.mjs +14 -0
  38. package/esm2022/lib/services/drive/drive.service.mjs +437 -0
  39. package/esm2022/lib/services/drive/resolve-name-conflicts/resolve-name-conflicts.component.mjs +158 -0
  40. package/esm2022/lib/services/drive/resolve-name-conflicts/resolve-name-conflicts.interface.mjs +2 -0
  41. package/esm2022/lib/services/drive/versions/versions.mapping.mjs +42 -0
  42. package/esm2022/lib/services/index.mjs +5 -0
  43. package/esm2022/lib/services/providers/drive.providers.mjs +10 -0
  44. package/esm2022/lib/services/resolver/files.resolver.mjs +12 -0
  45. package/esm2022/lib/services/resolver/index.mjs +3 -0
  46. package/esm2022/lib/services/resolver/versions.route.resolver.mjs +10 -0
  47. package/esm2022/lib/services/stored-query/stored-query.data.mjs +25 -0
  48. package/esm2022/lib/services/stored-query/stored-query.interface.mjs +2 -0
  49. package/esm2022/lib/services/stored-query/stored-query.service.mjs +41 -0
  50. package/esm2022/lib/services/tokens/breadcrumb-max-depth.token.mjs +3 -0
  51. package/esm2022/lib/services/tokens/index.mjs +2 -0
  52. package/esm2022/yuuvis-app-drive.mjs +5 -0
  53. package/extensions/README.md +3 -0
  54. package/extensions/index.d.ts +1 -0
  55. package/extensions/lib/extensions.module.d.ts +6 -0
  56. package/extensions/lib/extensions.service.d.ts +7 -0
  57. package/extensions/lib/object-config.defaults.d.ts +2 -0
  58. package/fesm2022/yuuvis-app-drive-extensions.mjs +99 -0
  59. package/fesm2022/yuuvis-app-drive-extensions.mjs.map +1 -0
  60. package/fesm2022/yuuvis-app-drive.mjs +2945 -0
  61. package/fesm2022/yuuvis-app-drive.mjs.map +1 -0
  62. package/index.d.ts +4 -0
  63. package/lib/actions/copy-link/copy-link.action.d.ts +18 -0
  64. package/lib/actions/index.d.ts +6 -0
  65. package/lib/actions/manage-versions/manage-versions.action.d.ts +17 -0
  66. package/lib/actions/manage-versions/manage-versions.component.d.ts +32 -0
  67. package/lib/actions/paste/paste.action.d.ts +17 -0
  68. package/lib/actions/rename/rename.action.d.ts +17 -0
  69. package/lib/actions/rename/rename.component.d.ts +12 -0
  70. package/lib/actions/rename/rename.validator.d.ts +5 -0
  71. package/lib/actions/updateContent/update.content.action.d.ts +18 -0
  72. package/lib/components/add-button/add-button-overlay/add-button-overlay.component.d.ts +26 -0
  73. package/lib/components/add-button/add-button.component.d.ts +12 -0
  74. package/lib/components/breadcrumb/breadcrumb.component.d.ts +25 -0
  75. package/lib/components/folder-tree/folder-tree.component.d.ts +13 -0
  76. package/lib/components/index.d.ts +8 -0
  77. package/lib/components/object-name/object-name.component.d.ts +21 -0
  78. package/lib/components/overlay/create-folder/create-folder.component.d.ts +12 -0
  79. package/lib/components/paste-from-clipboard/paste-from-clipboard.component.d.ts +13 -0
  80. package/lib/components/ribbon/ribbon.component.d.ts +24 -0
  81. package/lib/components/search-filter/date-range-picker/date-range-picker.component.d.ts +13 -0
  82. package/lib/components/search-filter/search-filter.component.d.ts +23 -0
  83. package/lib/components/sort/sort.component.d.ts +31 -0
  84. package/lib/components/versions-list/tile/tile.component.d.ts +14 -0
  85. package/lib/components/versions-list/versions-list.component.d.ts +17 -0
  86. package/lib/container/drive/drive.component.d.ts +36 -0
  87. package/lib/drive.icons.d.ts +15 -0
  88. package/lib/drive.schema.d.ts +23 -0
  89. package/lib/lib.routes.d.ts +2 -0
  90. package/lib/pages/files/files.component.d.ts +101 -0
  91. package/lib/pages/object/object.component.d.ts +35 -0
  92. package/lib/services/drive/drive.interface.d.ts +62 -0
  93. package/lib/services/drive/drive.service.d.ts +64 -0
  94. package/lib/services/drive/resolve-name-conflicts/resolve-name-conflicts.component.d.ts +31 -0
  95. package/lib/services/drive/resolve-name-conflicts/resolve-name-conflicts.interface.d.ts +8 -0
  96. package/lib/services/drive/versions/versions.mapping.d.ts +2 -0
  97. package/lib/services/index.d.ts +4 -0
  98. package/lib/services/providers/drive.providers.d.ts +7 -0
  99. package/lib/services/resolver/files.resolver.d.ts +2 -0
  100. package/lib/services/resolver/index.d.ts +2 -0
  101. package/lib/services/resolver/versions.route.resolver.d.ts +2 -0
  102. package/lib/services/stored-query/stored-query.data.d.ts +5 -0
  103. package/lib/services/stored-query/stored-query.interface.d.ts +5 -0
  104. package/lib/services/stored-query/stored-query.service.d.ts +10 -0
  105. package/lib/services/tokens/breadcrumb-max-depth.token.d.ts +2 -0
  106. package/lib/services/tokens/index.d.ts +1 -0
  107. package/package.json +41 -0
@@ -0,0 +1,158 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, inject } from '@angular/core';
3
+ import { YvcOverlayRef } from '@yuuvis/components/overlay';
4
+ import { DriveService } from '../drive.service';
5
+ import { ClipboardService, TranslateModule, TranslateService } from '@yuuvis/client-core';
6
+ import { FS_PROPERTIES } from '../../../drive.schema';
7
+ import { tap } from 'rxjs';
8
+ import { DRIVE_EVENT } from '../drive.interface';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@yuuvis/client-core";
11
+ /**
12
+ * Component to resolve name conflicts. Based on its mode, it
13
+ * will handle files or objects that are about to be uploaded,
14
+ * copied or moved.
15
+ */
16
+ export class ResolveNameConflictsComponent {
17
+ constructor() {
18
+ this.#oRef = inject(YvcOverlayRef);
19
+ this.#drive = inject(DriveService);
20
+ this.#clipboard = inject(ClipboardService);
21
+ this.translate = inject(TranslateService);
22
+ this.validItems = [];
23
+ this.existingFileNames = [];
24
+ this.invalidFileNames = [];
25
+ this.content = {
26
+ headline: '',
27
+ message: '',
28
+ messageValid: '',
29
+ proceed: ''
30
+ };
31
+ }
32
+ #oRef;
33
+ #drive;
34
+ #clipboard;
35
+ proceed() {
36
+ if (!this.payload)
37
+ return;
38
+ switch (this.payload.mode) {
39
+ case 'upload': {
40
+ this.#upload(this.validItems.map((i) => i.item));
41
+ break;
42
+ }
43
+ case 'copy': {
44
+ this.#copy(this.validItems.map((i) => i.item));
45
+ break;
46
+ }
47
+ case 'move': {
48
+ this.#move(this.validItems.map((i) => i.item));
49
+ break;
50
+ }
51
+ }
52
+ }
53
+ #upload(files) {
54
+ this.#drive.upload(files, this.payload?.data).subscribe();
55
+ // upload errors and progress are handled by the upload progress component
56
+ this.#oRef.close();
57
+ }
58
+ #copy(objects) {
59
+ this.#drive.setBusy(true);
60
+ this.#oRef.close();
61
+ this.#drive
62
+ .copyToCurrentFolder(objects, false)
63
+ .pipe(tap((res) => {
64
+ res && this.#drive.emitEvent(DRIVE_EVENT.refresh);
65
+ this.#clipboard.clear();
66
+ }))
67
+ .subscribe({
68
+ complete: () => {
69
+ this.#drive.setBusy(false);
70
+ }
71
+ });
72
+ }
73
+ #move(objects) {
74
+ this.#drive.setBusy(true);
75
+ this.#oRef.close();
76
+ this.#drive
77
+ .moveToCurrentFolder(objects)
78
+ .pipe(tap((res) => {
79
+ res && this.#drive.emitEvent(DRIVE_EVENT.refresh);
80
+ this.#clipboard.clear();
81
+ }))
82
+ .subscribe({
83
+ complete: () => {
84
+ this.#drive.setBusy(false);
85
+ }
86
+ });
87
+ }
88
+ cancel() {
89
+ this.#oRef.close();
90
+ }
91
+ #setupValidItems() {
92
+ if (!this.payload)
93
+ return;
94
+ if (this.payload?.mode === 'upload') {
95
+ this.validItems = this.payload.items
96
+ .filter((f) => !this.existingFileNames.includes(f.name))
97
+ .map((item) => ({
98
+ name: item.name,
99
+ item
100
+ }));
101
+ }
102
+ else {
103
+ this.validItems = this.payload.items
104
+ .filter((o) => !this.existingFileNames.includes(o.data[FS_PROPERTIES.name]))
105
+ .map((item) => ({
106
+ name: item.data[FS_PROPERTIES.name],
107
+ item
108
+ }));
109
+ }
110
+ }
111
+ #setupContent() {
112
+ if (!this.payload)
113
+ return;
114
+ switch (this.payload.mode) {
115
+ case 'upload': {
116
+ this.content = {
117
+ headline: this.translate.instant('yuv.app.drive.name.conflict.upload.headline'),
118
+ message: this.translate.instant('yuv.app.drive.name.conflict.upload.message'),
119
+ messageValid: this.translate.instant('yuv.app.drive.name.conflict.upload.messageValid'),
120
+ proceed: this.translate.instant('yuv.app.drive.name.conflict.upload.proceed')
121
+ };
122
+ break;
123
+ }
124
+ case 'copy': {
125
+ this.content = {
126
+ headline: this.translate.instant('yuv.app.drive.name.conflict.copy.headline'),
127
+ message: this.translate.instant('yuv.app.drive.name.conflict.copy.message'),
128
+ messageValid: this.translate.instant('yuv.app.drive.name.conflict.copy.messageValid'),
129
+ proceed: this.translate.instant('yuv.app.drive.name.conflict.copy.proceed')
130
+ };
131
+ break;
132
+ }
133
+ case 'move': {
134
+ this.content = {
135
+ headline: this.translate.instant('yuv.app.drive.name.conflict.move.headline'),
136
+ message: this.translate.instant('yuv.app.drive.name.conflict.move.message'),
137
+ messageValid: this.translate.instant('yuv.app.drive.name.conflict.move.messageValid'),
138
+ proceed: this.translate.instant('yuv.app.drive.name.conflict.move.proceed')
139
+ };
140
+ break;
141
+ }
142
+ }
143
+ }
144
+ ngOnInit() {
145
+ this.payload = this.#oRef.data;
146
+ this.existingFileNames = this.payload.existingFileNames;
147
+ this.invalidFileNames = this.payload.invalidFileNames;
148
+ this.#setupValidItems();
149
+ this.#setupContent();
150
+ }
151
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ResolveNameConflictsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
152
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ResolveNameConflictsComponent, isStandalone: true, selector: "ymd-resolve-name-conflicts", ngImport: i0, template: "<h2>{{ content.headline }}</h2>\n<p>{{ content.message }}</p>\n\n<ul>\n @for (ef of existingFileNames; track $index) {\n <li>{{ ef }}</li>\n }\n</ul>\n\n@if (validItems.length) {\n <p>{{ content.messageValid }}</p>\n <ul>\n @for (f of validItems; track $index) {\n <li>{{ f.name }}</li>\n }\n </ul>\n}\n\n<footer>\n @if (validItems.length) {\n <button class=\"primary\" (click)=\"proceed()\">{{ content.proceed }}</button>\n }\n <button class=\"secondary\" (click)=\"cancel()\">{{ 'yuv.app.drive.name.conflict.cancel' | translate }}</button>\n</footer>\n", styles: ["@charset \"UTF-8\";:host{display:block;padding:var(--app-pane-padding);position:relative}:host .yuv-loader-linear{position:absolute;inset:0}:host h2{margin:0 0 2em;font-size:var(--font-title);font-weight:400}:host ul{font-weight:700;list-style:none;padding:0 1em}:host ul li{padding:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host ul li:before{content:\"\\2022\";margin-inline-end:.5rem}:host footer{margin-block-start:calc(var(--app-pane-padding) * 2);display:flex;flex-flow:row-reverse;gap:calc(var(--app-pane-padding) / 4)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] }); }
153
+ }
154
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ResolveNameConflictsComponent, decorators: [{
155
+ type: Component,
156
+ args: [{ selector: 'ymd-resolve-name-conflicts', standalone: true, imports: [CommonModule, TranslateModule], template: "<h2>{{ content.headline }}</h2>\n<p>{{ content.message }}</p>\n\n<ul>\n @for (ef of existingFileNames; track $index) {\n <li>{{ ef }}</li>\n }\n</ul>\n\n@if (validItems.length) {\n <p>{{ content.messageValid }}</p>\n <ul>\n @for (f of validItems; track $index) {\n <li>{{ f.name }}</li>\n }\n </ul>\n}\n\n<footer>\n @if (validItems.length) {\n <button class=\"primary\" (click)=\"proceed()\">{{ content.proceed }}</button>\n }\n <button class=\"secondary\" (click)=\"cancel()\">{{ 'yuv.app.drive.name.conflict.cancel' | translate }}</button>\n</footer>\n", styles: ["@charset \"UTF-8\";:host{display:block;padding:var(--app-pane-padding);position:relative}:host .yuv-loader-linear{position:absolute;inset:0}:host h2{margin:0 0 2em;font-size:var(--font-title);font-weight:400}:host ul{font-weight:700;list-style:none;padding:0 1em}:host ul li{padding:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host ul li:before{content:\"\\2022\";margin-inline-end:.5rem}:host footer{margin-block-start:calc(var(--app-pane-padding) * 2);display:flex;flex-flow:row-reverse;gap:calc(var(--app-pane-padding) / 4)}\n"] }]
157
+ }] });
158
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZS1uYW1lLWNvbmZsaWN0cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcHMvZHJpdmUvc3JjL2xpYi9zZXJ2aWNlcy9kcml2ZS9yZXNvbHZlLW5hbWUtY29uZmxpY3RzL3Jlc29sdmUtbmFtZS1jb25mbGljdHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcHBzL2RyaXZlL3NyYy9saWIvc2VydmljZXMvZHJpdmUvcmVzb2x2ZS1uYW1lLWNvbmZsaWN0cy9yZXNvbHZlLW5hbWUtY29uZmxpY3RzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWhELE9BQU8sRUFBRSxnQkFBZ0IsRUFBYSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFRLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7OztBQUVqRDs7OztHQUlHO0FBUUgsTUFBTSxPQUFPLDZCQUE2QjtJQVAxQztRQVFFLFVBQUssR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDOUIsV0FBTSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM5QixlQUFVLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFD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QUksQ0FBQyxPQUFPLEdBQUc7b0JBQ2IsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLDJDQUEyQyxDQUFDO29CQUM3RSxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsMENBQTBDLENBQUM7b0JBQzNFLFlBQVksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQywrQ0FBK0MsQ0FBQztvQkFDckYsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLDBDQUEwQyxDQUFDO2lCQUM1RSxDQUFDO2dCQUNGLE1BQU07WUFDUixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQW1DLENBQUM7UUFDOUQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUM7UUFDeEQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUM7UUFDdEQsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7K0dBOUlVLDZCQUE2QjttR0FBN0IsNkJBQTZCLHNGQ3RCMUMscWtCQXdCQSxnbUJETlksWUFBWSw4QkFBRSxlQUFlOzs0RkFJNUIsNkJBQTZCO2tCQVB6QyxTQUFTOytCQUNFLDRCQUE0QixjQUMxQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFl2Y092ZXJsYXlSZWYgfSBmcm9tICdAeXV1dmlzL2NvbXBvbmVudHMvb3ZlcmxheSc7XG5pbXBvcnQgeyBEcml2ZVNlcnZpY2UgfSBmcm9tICcuLi9kcml2ZS5zZXJ2aWNlJztcbmltcG9ydCB7IFJlc29sdmVOYW1lQ29uZmxpY3RzUGF5bG9hZCB9IGZyb20gJy4vcmVzb2x2ZS1uYW1lLWNvbmZsaWN0cy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ2xpcGJvYXJkU2VydmljZSwgRG1zT2JqZWN0LCBUcmFuc2xhdGVNb2R1bGUsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAeXV1dmlzL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IEZTX1BST1BFUlRJRVMgfSBmcm9tICcuLi8uLi8uLi9kcml2ZS5zY2hlbWEnO1xuaW1wb3J0IHsgcGlwZSwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEUklWRV9FVkVOVCB9IGZyb20gJy4uL2RyaXZlLmludGVyZmFjZSc7XG5cbi8qKlxuICogQ29tcG9uZW50IHRvIHJlc29sdmUgbmFtZSBjb25mbGljdHMuIEJhc2VkIG9uIGl0cyBtb2RlLCBpdFxuICogd2lsbCBoYW5kbGUgZmlsZXMgb3Igb2JqZWN0cyB0aGF0IGFyZSBhYm91dCB0byBiZSB1cGxvYWRlZCxcbiAqIGNvcGllZCBvciBtb3ZlZC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAneW1kLXJlc29sdmUtbmFtZS1jb25mbGljdHMnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVzb2x2ZS1uYW1lLWNvbmZsaWN0cy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9yZXNvbHZlLW5hbWUtY29uZmxpY3RzLmNvbXBvbmVudC5zY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBSZXNvbHZlTmFtZUNvbmZsaWN0c0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICNvUmVmID0gaW5qZWN0KFl2Y092ZXJsYXlSZWYpO1xuICAjZHJpdmUgPSBpbmplY3QoRHJpdmVTZXJ2aWNlKTtcbiAgI2NsaXBib2FyZCA9IGluamVjdChDbGlwYm9hcmRTZXJ2aWNlKTtcbiAgdHJhbnNsYXRlID0gaW5qZWN0KFRyYW5zbGF0ZVNlcnZpY2UpO1xuXG4gIHBheWxvYWQ/OiBSZXNvbHZlTmFtZUNvbmZsaWN0c1BheWxvYWQ7XG4gIHZhbGlkSXRlbXM6IHsgbmFtZTogc3RyaW5nOyBpdGVtOiBEbXNPYmplY3QgfCBGaWxlIH1bXSA9IFtdO1xuICBleGlzdGluZ0ZpbGVOYW1lczogc3RyaW5nW10gPSBbXTtcbiAgaW52YWxpZEZpbGVOYW1lczogc3RyaW5nW10gPSBbXTtcblxuICBjb250ZW50ID0ge1xuICAgIGhlYWRsaW5lOiAnJyxcbiAgICBtZXNzYWdlOiAnJyxcbiAgICBtZXNzYWdlVmFsaWQ6ICcnLFxuICAgIHByb2NlZWQ6ICcnXG4gIH07XG5cbiAgcHJvY2VlZCgpIHtcbiAgICBpZiAoIXRoaXMucGF5bG9hZCkgcmV0dXJuO1xuXG4gICAgc3dpdGNoICh0aGlzLnBheWxvYWQubW9kZSkge1xuICAgICAgY2FzZSAndXBsb2FkJzoge1xuICAgICAgICB0aGlzLiN1cGxvYWQodGhpcy52YWxpZEl0ZW1zLm1hcCgoaSkgPT4gaS5pdGVtKSBhcyBGaWxlW10pO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ2NvcHknOiB7XG4gICAgICAgIHRoaXMuI2NvcHkodGhpcy52YWxpZEl0ZW1zLm1hcCgoaSkgPT4gaS5pdGVtKSBhcyBEbXNPYmplY3RbXSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnbW92ZSc6IHtcbiAgICAgICAgdGhpcy4jbW92ZSh0aGlzLnZhbGlkSXRlbXMubWFwKChpKSA9PiBpLml0ZW0pIGFzIERtc09iamVjdFtdKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI3VwbG9hZChmaWxlczogRmlsZVtdKSB7XG4gICAgdGhpcy4jZHJpdmUudXBsb2FkKGZpbGVzLCB0aGlzLnBheWxvYWQ/LmRhdGEpLnN1YnNjcmliZSgpO1xuICAgIC8vIHVwbG9hZCBlcnJvcnMgYW5kIHByb2dyZXNzIGFyZSBoYW5kbGVkIGJ5IHRoZSB1cGxvYWQgcHJvZ3Jlc3MgY29tcG9uZW50XG4gICAgdGhpcy4jb1JlZi5jbG9zZSgpO1xuICB9XG5cbiAgI2NvcHkob2JqZWN0czogRG1zT2JqZWN0W10pIHtcbiAgICB0aGlzLiNkcml2ZS5zZXRCdXN5KHRydWUpO1xuICAgIHRoaXMuI29SZWYuY2xvc2UoKTtcbiAgICB0aGlzLiNkcml2ZVxuICAgICAgLmNvcHlUb0N1cnJlbnRGb2xkZXIob2JqZWN0cywgZmFsc2UpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKChyZXMpID0+IHtcbiAgICAgICAgICByZXMgJiYgdGhpcy4jZHJpdmUuZW1pdEV2ZW50KERSSVZFX0VWRU5ULnJlZnJlc2gpO1xuICAgICAgICAgIHRoaXMuI2NsaXBib2FyZC5jbGVhcigpO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy4jZHJpdmUuc2V0QnVzeShmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgI21vdmUob2JqZWN0czogRG1zT2JqZWN0W10pIHtcbiAgICB0aGlzLiNkcml2ZS5zZXRCdXN5KHRydWUpO1xuICAgIHRoaXMuI29SZWYuY2xvc2UoKTtcbiAgICB0aGlzLiNkcml2ZVxuICAgICAgLm1vdmVUb0N1cnJlbnRGb2xkZXIob2JqZWN0cylcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKHJlcykgPT4ge1xuICAgICAgICAgIHJlcyAmJiB0aGlzLiNkcml2ZS5lbWl0RXZlbnQoRFJJVkVfRVZFTlQucmVmcmVzaCk7XG4gICAgICAgICAgdGhpcy4jY2xpcGJvYXJkLmNsZWFyKCk7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgY29tcGxldGU6ICgpID0+IHtcbiAgICAgICAgICB0aGlzLiNkcml2ZS5zZXRCdXN5KGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBjYW5jZWwoKSB7XG4gICAgdGhpcy4jb1JlZi5jbG9zZSgpO1xuICB9XG5cbiAgI3NldHVwVmFsaWRJdGVtcygpIHtcbiAgICBpZiAoIXRoaXMucGF5bG9hZCkgcmV0dXJuO1xuICAgIGlmICh0aGlzLnBheWxvYWQ/Lm1vZGUgPT09ICd1cGxvYWQnKSB7XG4gICAgICB0aGlzLnZhbGlkSXRlbXMgPSAodGhpcy5wYXlsb2FkLml0ZW1zIGFzIEZpbGVbXSlcbiAgICAgICAgLmZpbHRlcigoZikgPT4gIXRoaXMuZXhpc3RpbmdGaWxlTmFtZXMuaW5jbHVkZXMoZi5uYW1lKSlcbiAgICAgICAgLm1hcCgoaXRlbSkgPT4gKHtcbiAgICAgICAgICBuYW1lOiBpdGVtLm5hbWUsXG4gICAgICAgICAgaXRlbVxuICAgICAgICB9KSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmFsaWRJdGVtcyA9ICh0aGlzLnBheWxvYWQuaXRlbXMgYXMgRG1zT2JqZWN0W10pXG4gICAgICAgIC5maWx0ZXIoKG8pID0+ICF0aGlzLmV4aXN0aW5nRmlsZU5hbWVzLmluY2x1ZGVzKG8uZGF0YVtGU19QUk9QRVJUSUVTLm5hbWVdIGFzIHN0cmluZykpXG4gICAgICAgIC5tYXAoKGl0ZW0pID0+ICh7XG4gICAgICAgICAgbmFtZTogaXRlbS5kYXRhW0ZTX1BST1BFUlRJRVMubmFtZV0gYXMgc3RyaW5nLFxuICAgICAgICAgIGl0ZW1cbiAgICAgICAgfSkpO1xuICAgIH1cbiAgfVxuXG4gICNzZXR1cENvbnRlbnQoKSB7XG4gICAgaWYgKCF0aGlzLnBheWxvYWQpIHJldHVybjtcblxuICAgIHN3aXRjaCAodGhpcy5wYXlsb2FkLm1vZGUpIHtcbiAgICAgIGNhc2UgJ3VwbG9hZCc6IHtcbiAgICAgICAgdGhpcy5jb250ZW50ID0ge1xuICAgICAgICAgIGhlYWRsaW5lOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYuYXBwLmRyaXZlLm5hbWUuY29uZmxpY3QudXBsb2FkLmhlYWRsaW5lJyksXG4gICAgICAgICAgbWVzc2FnZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgneXV2LmFwcC5kcml2ZS5uYW1lLmNvbmZsaWN0LnVwbG9hZC5tZXNzYWdlJyksXG4gICAgICAgICAgbWVzc2FnZVZhbGlkOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYuYXBwLmRyaXZlLm5hbWUuY29uZmxpY3QudXBsb2FkLm1lc3NhZ2VWYWxpZCcpLFxuICAgICAgICAgIHByb2NlZWQ6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5hcHAuZHJpdmUubmFtZS5jb25mbGljdC51cGxvYWQucHJvY2VlZCcpXG4gICAgICAgIH07XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnY29weSc6IHtcbiAgICAgICAgdGhpcy5jb250ZW50ID0ge1xuICAgICAgICAgIGhlYWRsaW5lOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYuYXBwLmRyaXZlLm5hbWUuY29uZmxpY3QuY29weS5oZWFkbGluZScpLFxuICAgICAgICAgIG1lc3NhZ2U6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5hcHAuZHJpdmUubmFtZS5jb25mbGljdC5jb3B5Lm1lc3NhZ2UnKSxcbiAgICAgICAgICBtZXNzYWdlVmFsaWQ6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5hcHAuZHJpdmUubmFtZS5jb25mbGljdC5jb3B5Lm1lc3NhZ2VWYWxpZCcpLFxuICAgICAgICAgIHByb2NlZWQ6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5hcHAuZHJpdmUubmFtZS5jb25mbGljdC5jb3B5LnByb2NlZWQnKVxuICAgICAgICB9O1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ21vdmUnOiB7XG4gICAgICAgIHRoaXMuY29udGVudCA9IHtcbiAgICAgICAgICBoZWFkbGluZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgneXV2LmFwcC5kcml2ZS5uYW1lLmNvbmZsaWN0Lm1vdmUuaGVhZGxpbmUnKSxcbiAgICAgICAgICBtZXNzYWdlOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYuYXBwLmRyaXZlLm5hbWUuY29uZmxpY3QubW92ZS5tZXNzYWdlJyksXG4gICAgICAgICAgbWVzc2FnZVZhbGlkOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYuYXBwLmRyaXZlLm5hbWUuY29uZmxpY3QubW92ZS5tZXNzYWdlVmFsaWQnKSxcbiAgICAgICAgICBwcm9jZWVkOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYuYXBwLmRyaXZlLm5hbWUuY29uZmxpY3QubW92ZS5wcm9jZWVkJylcbiAgICAgICAgfTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5wYXlsb2FkID0gdGhpcy4jb1JlZi5kYXRhIGFzIFJlc29sdmVOYW1lQ29uZmxpY3RzUGF5bG9hZDtcbiAgICB0aGlzLmV4aXN0aW5nRmlsZU5hbWVzID0gdGhpcy5wYXlsb2FkLmV4aXN0aW5nRmlsZU5hbWVzO1xuICAgIHRoaXMuaW52YWxpZEZpbGVOYW1lcyA9IHRoaXMucGF5bG9hZC5pbnZhbGlkRmlsZU5hbWVzO1xuICAgIHRoaXMuI3NldHVwVmFsaWRJdGVtcygpO1xuICAgIHRoaXMuI3NldHVwQ29udGVudCgpO1xuICB9XG59XG4iLCI8aDI+e3sgY29udGVudC5oZWFkbGluZSB9fTwvaDI+XG48cD57eyBjb250ZW50Lm1lc3NhZ2UgfX08L3A+XG5cbjx1bD5cbiAgQGZvciAoZWYgb2YgZXhpc3RpbmdGaWxlTmFtZXM7IHRyYWNrICRpbmRleCkge1xuICAgIDxsaT57eyBlZiB9fTwvbGk+XG4gIH1cbjwvdWw+XG5cbkBpZiAodmFsaWRJdGVtcy5sZW5ndGgpIHtcbiAgPHA+e3sgY29udGVudC5tZXNzYWdlVmFsaWQgfX08L3A+XG4gIDx1bD5cbiAgICBAZm9yIChmIG9mIHZhbGlkSXRlbXM7IHRyYWNrICRpbmRleCkge1xuICAgICAgPGxpPnt7IGYubmFtZSB9fTwvbGk+XG4gICAgfVxuICA8L3VsPlxufVxuXG48Zm9vdGVyPlxuICBAaWYgKHZhbGlkSXRlbXMubGVuZ3RoKSB7XG4gICAgPGJ1dHRvbiBjbGFzcz1cInByaW1hcnlcIiAoY2xpY2spPVwicHJvY2VlZCgpXCI+e3sgY29udGVudC5wcm9jZWVkIH19PC9idXR0b24+XG4gIH1cbiAgPGJ1dHRvbiBjbGFzcz1cInNlY29uZGFyeVwiIChjbGljayk9XCJjYW5jZWwoKVwiPnt7ICd5dXYuYXBwLmRyaXZlLm5hbWUuY29uZmxpY3QuY2FuY2VsJyB8IHRyYW5zbGF0ZSB9fTwvYnV0dG9uPlxuPC9mb290ZXI+XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZS1uYW1lLWNvbmZsaWN0cy5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcHMvZHJpdmUvc3JjL2xpYi9zZXJ2aWNlcy9kcml2ZS9yZXNvbHZlLW5hbWUtY29uZmxpY3RzL3Jlc29sdmUtbmFtZS1jb25mbGljdHMuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEbXNPYmplY3QgfSBmcm9tIFwiQHl1dXZpcy9jbGllbnQtY29yZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlc29sdmVOYW1lQ29uZmxpY3RzUGF5bG9hZCB7XG4gIGV4aXN0aW5nRmlsZU5hbWVzOiBzdHJpbmdbXTtcbiAgaW52YWxpZEZpbGVOYW1lczogc3RyaW5nW107XG4gIG1vZGU6ICd1cGxvYWQnIHwgJ2NvcHknIHwgJ21vdmUnO1xuICBpdGVtczogRmlsZVtdIHwgRG1zT2JqZWN0W107XG4gIGRhdGE/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbn1cbiJdfQ==
@@ -0,0 +1,42 @@
1
+ import { BaseObjectTypeField } from '@yuuvis/client-core';
2
+ import { FS_PROPERTIES } from '../../../drive.schema';
3
+ const getResolvedObjectConfigItem = (propertyName, instanceData) => {
4
+ const item = {
5
+ propertyName: propertyName,
6
+ value: instanceData[propertyName]
7
+ };
8
+ // Meta data are considered properties that start with the property name followed by an underscore.
9
+ // Organization fields for example have an additional property 'xyz_title' that contains the resolved
10
+ // name of a user while the value itself is the users ID.
11
+ const metaData = Object.keys(instanceData)
12
+ .filter((key) => key.startsWith(propertyName + '_'))
13
+ .map((key) => ({ [key.substring(key.indexOf('_') + 1)]: instanceData[key] }));
14
+ // If there are meta data properties, they'll be merged into a Record where the
15
+ // key is the property name without the underscore and the actual properties name.
16
+ // So { 'xyz_title': 'John Doe' } will be merged into { title: 'John Doe' }
17
+ if (metaData.length) {
18
+ const meta = metaData.reduce((acc, cur) => ({ ...acc, ...cur }), {});
19
+ item.meta = meta;
20
+ }
21
+ return item;
22
+ };
23
+ const mapToTileData = (objects) => {
24
+ return objects.map((dmsObject) => {
25
+ const sots = dmsObject.sots || [];
26
+ const tli = {
27
+ objectTypeId: dmsObject.objectTypeId,
28
+ id: dmsObject.id,
29
+ actions: undefined,
30
+ badges: undefined,
31
+ instanceData: dmsObject.data,
32
+ dmsObject,
33
+ title: { rendererType: 'text', propertyName: BaseObjectTypeField.PARENT_OBJECT_TYPE_ID, value: dmsObject.data[FS_PROPERTIES.name] }
34
+ };
35
+ tli.icon = { rendererType: 'icon', propertyName: BaseObjectTypeField.OBJECT_TYPE_ID, value: BaseObjectTypeField.OBJECT_TYPE_ID };
36
+ return tli;
37
+ });
38
+ };
39
+ export const mapSearchResult = (res) => {
40
+ return mapToTileData(res);
41
+ };
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbnMubWFwcGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwcy9kcml2ZS9zcmMvbGliL3NlcnZpY2VzL2RyaXZlL3ZlcnNpb25zL3ZlcnNpb25zLm1hcHBpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUF1QyxNQUFNLHFCQUFxQixDQUFDO0FBRS9GLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV0RCxNQUFNLDJCQUEyQixHQUFHLENBQUMsWUFBb0IsRUFBRSxZQUFxQyxFQUE0QixFQUFFO0lBQzVILE1BQU0sSUFBSSxHQUE2QjtRQUNyQyxZQUFZLEVBQUUsWUFBWTtRQUMxQixLQUFLLEVBQUUsWUFBWSxDQUFDLFlBQVksQ0FBQztLQUNsQyxDQUFDO0lBQ0YsbUdBQW1HO0lBQ25HLHFHQUFxRztJQUNyRyx5REFBeUQ7SUFDekQsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7U0FDdkMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLFlBQVksR0FBRyxHQUFHLENBQUMsQ0FBQztTQUNuRCxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUVoRiwrRUFBK0U7SUFDL0Usa0ZBQWtGO0lBQ2xGLDJFQUEyRTtJQUMzRSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNwQixNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsR0FBRyxFQUFFLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNyRSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUM7QUFFRixNQUFNLGFBQWEsR0FBRyxDQUFDLE9BQW9CLEVBQWMsRUFBRTtJQUN6RCxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtRQUMvQixNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUVsQyxNQUFNLEdBQUcsR0FBYTtZQUNwQixZQUFZLEVBQUUsU0FBUyxDQUFDLFlBQVk7WUFDcEMsRUFBRSxFQUFFLFNBQVMsQ0FBQyxFQUFFO1lBQ2hCLE9BQU8sRUFBRSxTQUFTO1lBQ2xCLE1BQU0sRUFBRSxTQUFTO1lBQ2pCLFlBQVksRUFBRSxTQUFTLENBQUMsSUFBSTtZQUM1QixTQUFTO1lBQ1QsS0FBSyxFQUFFLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsbUJBQW1CLENBQUMscUJBQXFCLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFO1NBQ3BJLENBQUM7UUFFRixHQUFHLENBQUMsSUFBSSxHQUFHLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsbUJBQW1CLENBQUMsY0FBYyxFQUFFLEtBQUssRUFBRSxtQkFBbUIsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUVqSSxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQUMsR0FBUSxFQUFjLEVBQUU7SUFDdEQsT0FBTyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDNUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZU9iamVjdFR5cGVGaWVsZCwgRG1zT2JqZWN0LCBSZXNvbHZlZE9iamVjdENvbmZpZ0l0ZW0gfSBmcm9tICdAeXV1dmlzL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IFRpbGVEYXRhIH0gZnJvbSAnQHl1dXZpcy9jbGllbnQtZnJhbWV3b3JrL3RpbGUtbGlzdCc7XG5pbXBvcnQgeyBGU19QUk9QRVJUSUVTIH0gZnJvbSAnLi4vLi4vLi4vZHJpdmUuc2NoZW1hJztcblxuY29uc3QgZ2V0UmVzb2x2ZWRPYmplY3RDb25maWdJdGVtID0gKHByb3BlcnR5TmFtZTogc3RyaW5nLCBpbnN0YW5jZURhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogUmVzb2x2ZWRPYmplY3RDb25maWdJdGVtID0+IHtcbiAgY29uc3QgaXRlbTogUmVzb2x2ZWRPYmplY3RDb25maWdJdGVtID0ge1xuICAgIHByb3BlcnR5TmFtZTogcHJvcGVydHlOYW1lLFxuICAgIHZhbHVlOiBpbnN0YW5jZURhdGFbcHJvcGVydHlOYW1lXVxuICB9O1xuICAvLyBNZXRhIGRhdGEgYXJlIGNvbnNpZGVyZWQgcHJvcGVydGllcyB0aGF0IHN0YXJ0IHdpdGggdGhlIHByb3BlcnR5IG5hbWUgZm9sbG93ZWQgYnkgYW4gdW5kZXJzY29yZS5cbiAgLy8gT3JnYW5pemF0aW9uIGZpZWxkcyBmb3IgZXhhbXBsZSBoYXZlIGFuIGFkZGl0aW9uYWwgcHJvcGVydHkgJ3h5el90aXRsZScgdGhhdCBjb250YWlucyB0aGUgcmVzb2x2ZWRcbiAgLy8gbmFtZSBvZiBhIHVzZXIgd2hpbGUgdGhlIHZhbHVlIGl0c2VsZiBpcyB0aGUgdXNlcnMgSUQuXG4gIGNvbnN0IG1ldGFEYXRhID0gT2JqZWN0LmtleXMoaW5zdGFuY2VEYXRhKVxuICAgIC5maWx0ZXIoKGtleSkgPT4ga2V5LnN0YXJ0c1dpdGgocHJvcGVydHlOYW1lICsgJ18nKSlcbiAgICAubWFwKChrZXkpID0+ICh7IFtrZXkuc3Vic3RyaW5nKGtleS5pbmRleE9mKCdfJykgKyAxKV06IGluc3RhbmNlRGF0YVtrZXldIH0pKTtcblxuICAvLyBJZiB0aGVyZSBhcmUgbWV0YSBkYXRhIHByb3BlcnRpZXMsIHRoZXknbGwgYmUgbWVyZ2VkIGludG8gYSBSZWNvcmQgd2hlcmUgdGhlXG4gIC8vIGtleSBpcyB0aGUgcHJvcGVydHkgbmFtZSB3aXRob3V0IHRoZSB1bmRlcnNjb3JlIGFuZCB0aGUgYWN0dWFsIHByb3BlcnRpZXMgbmFtZS5cbiAgLy8gU28geyAneHl6X3RpdGxlJzogJ0pvaG4gRG9lJyB9IHdpbGwgYmUgbWVyZ2VkIGludG8geyB0aXRsZTogJ0pvaG4gRG9lJyB9XG4gIGlmIChtZXRhRGF0YS5sZW5ndGgpIHtcbiAgICBjb25zdCBtZXRhID0gbWV0YURhdGEucmVkdWNlKChhY2MsIGN1cikgPT4gKHsgLi4uYWNjLCAuLi5jdXIgfSksIHt9KTtcbiAgICBpdGVtLm1ldGEgPSBtZXRhO1xuICB9XG5cbiAgcmV0dXJuIGl0ZW07XG59O1xuXG5jb25zdCBtYXBUb1RpbGVEYXRhID0gKG9iamVjdHM6IERtc09iamVjdFtdKTogVGlsZURhdGFbXSA9PiB7XG4gIHJldHVybiBvYmplY3RzLm1hcCgoZG1zT2JqZWN0KSA9PiB7XG4gICAgY29uc3Qgc290cyA9IGRtc09iamVjdC5zb3RzIHx8IFtdO1xuXG4gICAgY29uc3QgdGxpOiBUaWxlRGF0YSA9IHtcbiAgICAgIG9iamVjdFR5cGVJZDogZG1zT2JqZWN0Lm9iamVjdFR5cGVJZCxcbiAgICAgIGlkOiBkbXNPYmplY3QuaWQsXG4gICAgICBhY3Rpb25zOiB1bmRlZmluZWQsXG4gICAgICBiYWRnZXM6IHVuZGVmaW5lZCxcbiAgICAgIGluc3RhbmNlRGF0YTogZG1zT2JqZWN0LmRhdGEsXG4gICAgICBkbXNPYmplY3QsXG4gICAgICB0aXRsZTogeyByZW5kZXJlclR5cGU6ICd0ZXh0JywgcHJvcGVydHlOYW1lOiBCYXNlT2JqZWN0VHlwZUZpZWxkLlBBUkVOVF9PQkpFQ1RfVFlQRV9JRCwgdmFsdWU6IGRtc09iamVjdC5kYXRhW0ZTX1BST1BFUlRJRVMubmFtZV0gfVxuICAgIH07XG5cbiAgICB0bGkuaWNvbiA9IHsgcmVuZGVyZXJUeXBlOiAnaWNvbicsIHByb3BlcnR5TmFtZTogQmFzZU9iamVjdFR5cGVGaWVsZC5PQkpFQ1RfVFlQRV9JRCwgdmFsdWU6IEJhc2VPYmplY3RUeXBlRmllbGQuT0JKRUNUX1RZUEVfSUQgfTtcblxuICAgIHJldHVybiB0bGk7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IG1hcFNlYXJjaFJlc3VsdCA9IChyZXM6IGFueSk6IFRpbGVEYXRhW10gPT4ge1xuICByZXR1cm4gbWFwVG9UaWxlRGF0YShyZXMpO1xufTtcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ export * from './drive/drive.service';
2
+ export * from './drive/drive.interface';
3
+ export * from './tokens';
4
+ export * from './providers/drive.providers';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcHMvZHJpdmUvc3JjL2xpYi9zZXJ2aWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZHJpdmUvZHJpdmUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2RyaXZlL2RyaXZlLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL3Rva2Vucyc7XG5leHBvcnQgKiBmcm9tICcuL3Byb3ZpZGVycy9kcml2ZS5wcm92aWRlcnMnO1xuIl19
@@ -0,0 +1,10 @@
1
+ import { DRIVE_APP_BREADCRUMB_MAX_DEPTH } from '../tokens';
2
+ /**
3
+ *
4
+ * @param breadkrumbMaxDepth default 3
5
+ * @returns
6
+ */
7
+ export const provideDrive = (breadkrumbMaxDepth = 3) => {
8
+ return { provide: DRIVE_APP_BREADCRUMB_MAX_DEPTH, useValue: breadkrumbMaxDepth };
9
+ };
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJpdmUucHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcHBzL2RyaXZlL3NyYy9saWIvc2VydmljZXMvcHJvdmlkZXJzL2RyaXZlLnByb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFM0Q7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLGtCQUFrQixHQUFHLENBQUMsRUFBWSxFQUFFO0lBQy9ELE9BQU8sRUFBRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFFLENBQUM7QUFDbkYsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERSSVZFX0FQUF9CUkVBRENSVU1CX01BWF9ERVBUSCB9IGZyb20gJy4uL3Rva2Vucyc7XG5cbi8qKlxuICpcbiAqIEBwYXJhbSBicmVhZGtydW1iTWF4RGVwdGggZGVmYXVsdCAzXG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgY29uc3QgcHJvdmlkZURyaXZlID0gKGJyZWFka3J1bWJNYXhEZXB0aCA9IDMpOiBQcm92aWRlciA9PiB7XG4gIHJldHVybiB7IHByb3ZpZGU6IERSSVZFX0FQUF9CUkVBRENSVU1CX01BWF9ERVBUSCwgdXNlVmFsdWU6IGJyZWFka3J1bWJNYXhEZXB0aCB9O1xufTtcbiJdfQ==
@@ -0,0 +1,12 @@
1
+ import { inject } from '@angular/core';
2
+ import { of } from 'rxjs';
3
+ import { DriveService } from '../drive/drive.service';
4
+ import { DRIVE_QUERY_FOLDER_ID } from '../drive/drive.interface';
5
+ export const filesResolver = (route) => {
6
+ const id = route.params['id'];
7
+ const driveStore = inject(DriveService);
8
+ if (id !== DRIVE_QUERY_FOLDER_ID)
9
+ driveStore.resolveFilesState(id).subscribe(console.log);
10
+ return of(true);
11
+ };
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZXMucmVzb2x2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcHMvZHJpdmUvc3JjL2xpYi9zZXJ2aWNlcy9yZXNvbHZlci9maWxlcy5yZXNvbHZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZDLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRWpFLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBdUIsQ0FBQyxLQUE2QixFQUFFLEVBQUU7SUFDakYsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDeEMsSUFBSSxFQUFFLEtBQUsscUJBQXFCO1FBQUUsVUFBVSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFMUYsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDbEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBSZXNvbHZlRm4gfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERyaXZlU2VydmljZSB9IGZyb20gJy4uL2RyaXZlL2RyaXZlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRFJJVkVfUVVFUllfRk9MREVSX0lEIH0gZnJvbSAnLi4vZHJpdmUvZHJpdmUuaW50ZXJmYWNlJztcblxuZXhwb3J0IGNvbnN0IGZpbGVzUmVzb2x2ZXI6IFJlc29sdmVGbjxib29sZWFuPiA9IChyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCkgPT4ge1xuICBjb25zdCBpZCA9IHJvdXRlLnBhcmFtc1snaWQnXTtcbiAgY29uc3QgZHJpdmVTdG9yZSA9IGluamVjdChEcml2ZVNlcnZpY2UpO1xuICBpZiAoaWQgIT09IERSSVZFX1FVRVJZX0ZPTERFUl9JRCkgZHJpdmVTdG9yZS5yZXNvbHZlRmlsZXNTdGF0ZShpZCkuc3Vic2NyaWJlKGNvbnNvbGUubG9nKTtcblxuICByZXR1cm4gb2YodHJ1ZSk7XG59O1xuIl19
@@ -0,0 +1,3 @@
1
+ export * from './files.resolver';
2
+ export * from './versions.route.resolver';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcHMvZHJpdmUvc3JjL2xpYi9zZXJ2aWNlcy9yZXNvbHZlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ZpbGVzLnJlc29sdmVyJztcbmV4cG9ydCAqIGZyb20gJy4vdmVyc2lvbnMucm91dGUucmVzb2x2ZXInO1xuIl19
@@ -0,0 +1,10 @@
1
+ import { inject } from '@angular/core';
2
+ import { of, forkJoin } from 'rxjs';
3
+ import { DriveService } from '../drive/drive.service';
4
+ export const versionsResolver = (route) => {
5
+ const id = route.params['id'];
6
+ const driveStore = inject(DriveService);
7
+ forkJoin([driveStore.getVersions(id), driveStore.getSelectedDmsObject(id)]).subscribe();
8
+ return of(true);
9
+ };
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbnMucm91dGUucmVzb2x2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcHMvZHJpdmUvc3JjL2xpYi9zZXJ2aWNlcy9yZXNvbHZlci92ZXJzaW9ucy5yb3V0ZS5yZXNvbHZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZDLE9BQU8sRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV0RCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBdUIsQ0FBQyxLQUE2QixFQUFFLEVBQUU7SUFDcEYsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFFeEMsUUFBUSxDQUFDLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsRUFBRSxVQUFVLENBQUMsb0JBQW9CLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBRXhGLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2xCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgUmVzb2x2ZUZuIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IG9mLCBmb3JrSm9pbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRHJpdmVTZXJ2aWNlIH0gZnJvbSAnLi4vZHJpdmUvZHJpdmUuc2VydmljZSc7XG5cbmV4cG9ydCBjb25zdCB2ZXJzaW9uc1Jlc29sdmVyOiBSZXNvbHZlRm48Ym9vbGVhbj4gPSAocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpID0+IHtcbiAgY29uc3QgaWQgPSByb3V0ZS5wYXJhbXNbJ2lkJ107XG4gIGNvbnN0IGRyaXZlU3RvcmUgPSBpbmplY3QoRHJpdmVTZXJ2aWNlKTtcblxuICBmb3JrSm9pbihbZHJpdmVTdG9yZS5nZXRWZXJzaW9ucyhpZCksIGRyaXZlU3RvcmUuZ2V0U2VsZWN0ZWREbXNPYmplY3QoaWQpXSkuc3Vic2NyaWJlKCk7XG5cbiAgcmV0dXJuIG9mKHRydWUpO1xufTtcbiJdfQ==
@@ -0,0 +1,25 @@
1
+ import { marker } from '@colsen1991/ngx-translate-extract-marker';
2
+ // prefix for stored query ids (every stored query id should start with this prefix)
3
+ export const STORED_QUERY_ID_PREFIX = 'ymsq';
4
+ // add a tranlation marker for the key the stored query is stored under
5
+ // this is used to display the stored query title in the UI
6
+ marker('ymsq.ymd.recent.modified.by.me');
7
+ marker('ymsq.ymd.recent.added.by.me');
8
+ // marker('ymsq.ymd.recent.modified');
9
+ // marker('ymsq.ymd.recent.added');
10
+ // default stored queries
11
+ export const STORED_QUERIES = {
12
+ // 'ymsq.ymd.recent.modified': {
13
+ // query: '{"filters":[{"f":"system:lastModifiedBy","o":"eq","v1":"##me##"}],"sort":[{"field":"system:lastModificationDate","order":"desc"}]}'
14
+ // },
15
+ 'ymsq.ymd.recent.modified.by.me': {
16
+ query: '{"filters":[{"f":"system:baseTypeId","o":"eq","v1":"system:document"}, { "f": "system:secondaryObjectTypeIds", "o": "in", "v1": ["appOsdrive:file"] }, {"f":"system:lastModifiedBy","o":"eq","v1":"##me##"}],"sort":[{"field":"system:lastModificationDate","order":"desc"}]}'
17
+ },
18
+ // 'ymsq.ymd.recent.added': {
19
+ // query: '{"sort":[{"field":"system:creationDate","order":"desc"}]}'
20
+ // },
21
+ 'ymsq.ymd.recent.added.by.me': {
22
+ query: '{"filters":[{"f":"system:baseTypeId","o":"eq","v1":"system:document"}, { "f": "system:secondaryObjectTypeIds", "o": "in", "v1": ["appOsdrive:file"] }, {"f":"system:lastModifiedBy","o":"eq","v1":"##me##"}],"sort":[{"field":"system:creationDate","order":"desc"}]}'
23
+ }
24
+ };
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmVkLXF1ZXJ5LmRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcHMvZHJpdmUvc3JjL2xpYi9zZXJ2aWNlcy9zdG9yZWQtcXVlcnkvc3RvcmVkLXF1ZXJ5LmRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRWxFLG9GQUFvRjtBQUNwRixNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxNQUFNLENBQUM7QUFFN0MsdUVBQXVFO0FBQ3ZFLDJEQUEyRDtBQUMzRCxNQUFNLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztBQUN6QyxNQUFNLENBQUMsNkJBQTZCLENBQUMsQ0FBQztBQUN0QyxzQ0FBc0M7QUFDdEMsbUNBQW1DO0FBRW5DLHlCQUF5QjtBQUN6QixNQUFNLENBQUMsTUFBTSxjQUFjLEdBTXZCO0lBQ0YsZ0NBQWdDO0lBQ2hDLGdKQUFnSjtJQUNoSixLQUFLO0lBQ0wsZ0NBQWdDLEVBQUU7UUFDaEMsS0FBSyxFQUFFLCtRQUErUTtLQUN2UjtJQUNELDZCQUE2QjtJQUM3Qix1RUFBdUU7SUFDdkUsS0FBSztJQUNMLDZCQUE2QixFQUFFO1FBQzdCLEtBQUssRUFBRSx1UUFBdVE7S0FDL1E7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbWFya2VyIH0gZnJvbSAnQGNvbHNlbjE5OTEvbmd4LXRyYW5zbGF0ZS1leHRyYWN0LW1hcmtlcic7XG5cbi8vIHByZWZpeCBmb3Igc3RvcmVkIHF1ZXJ5IGlkcyAoZXZlcnkgc3RvcmVkIHF1ZXJ5IGlkIHNob3VsZCBzdGFydCB3aXRoIHRoaXMgcHJlZml4KVxuZXhwb3J0IGNvbnN0IFNUT1JFRF9RVUVSWV9JRF9QUkVGSVggPSAneW1zcSc7XG5cbi8vIGFkZCBhIHRyYW5sYXRpb24gbWFya2VyIGZvciB0aGUga2V5IHRoZSBzdG9yZWQgcXVlcnkgaXMgc3RvcmVkIHVuZGVyXG4vLyB0aGlzIGlzIHVzZWQgdG8gZGlzcGxheSB0aGUgc3RvcmVkIHF1ZXJ5IHRpdGxlIGluIHRoZSBVSVxubWFya2VyKCd5bXNxLnltZC5yZWNlbnQubW9kaWZpZWQuYnkubWUnKTtcbm1hcmtlcigneW1zcS55bWQucmVjZW50LmFkZGVkLmJ5Lm1lJyk7XG4vLyBtYXJrZXIoJ3ltc3EueW1kLnJlY2VudC5tb2RpZmllZCcpO1xuLy8gbWFya2VyKCd5bXNxLnltZC5yZWNlbnQuYWRkZWQnKTtcblxuLy8gZGVmYXVsdCBzdG9yZWQgcXVlcmllc1xuZXhwb3J0IGNvbnN0IFNUT1JFRF9RVUVSSUVTOiBSZWNvcmQ8XG4gIHN0cmluZyxcbiAge1xuICAgIGxhYmVsPzogc3RyaW5nO1xuICAgIHF1ZXJ5OiBzdHJpbmc7XG4gIH1cbj4gPSB7XG4gIC8vICd5bXNxLnltZC5yZWNlbnQubW9kaWZpZWQnOiB7XG4gIC8vICAgcXVlcnk6ICd7XCJmaWx0ZXJzXCI6W3tcImZcIjpcInN5c3RlbTpsYXN0TW9kaWZpZWRCeVwiLFwib1wiOlwiZXFcIixcInYxXCI6XCIjI21lIyNcIn1dLFwic29ydFwiOlt7XCJmaWVsZFwiOlwic3lzdGVtOmxhc3RNb2RpZmljYXRpb25EYXRlXCIsXCJvcmRlclwiOlwiZGVzY1wifV19J1xuICAvLyB9LFxuICAneW1zcS55bWQucmVjZW50Lm1vZGlmaWVkLmJ5Lm1lJzoge1xuICAgIHF1ZXJ5OiAne1wiZmlsdGVyc1wiOlt7XCJmXCI6XCJzeXN0ZW06YmFzZVR5cGVJZFwiLFwib1wiOlwiZXFcIixcInYxXCI6XCJzeXN0ZW06ZG9jdW1lbnRcIn0sIHsgXCJmXCI6IFwic3lzdGVtOnNlY29uZGFyeU9iamVjdFR5cGVJZHNcIiwgXCJvXCI6IFwiaW5cIiwgXCJ2MVwiOiBbXCJhcHBPc2RyaXZlOmZpbGVcIl0gfSwge1wiZlwiOlwic3lzdGVtOmxhc3RNb2RpZmllZEJ5XCIsXCJvXCI6XCJlcVwiLFwidjFcIjpcIiMjbWUjI1wifV0sXCJzb3J0XCI6W3tcImZpZWxkXCI6XCJzeXN0ZW06bGFzdE1vZGlmaWNhdGlvbkRhdGVcIixcIm9yZGVyXCI6XCJkZXNjXCJ9XX0nXG4gIH0sXG4gIC8vICd5bXNxLnltZC5yZWNlbnQuYWRkZWQnOiB7XG4gIC8vICAgcXVlcnk6ICd7XCJzb3J0XCI6W3tcImZpZWxkXCI6XCJzeXN0ZW06Y3JlYXRpb25EYXRlXCIsXCJvcmRlclwiOlwiZGVzY1wifV19J1xuICAvLyB9LFxuICAneW1zcS55bWQucmVjZW50LmFkZGVkLmJ5Lm1lJzoge1xuICAgIHF1ZXJ5OiAne1wiZmlsdGVyc1wiOlt7XCJmXCI6XCJzeXN0ZW06YmFzZVR5cGVJZFwiLFwib1wiOlwiZXFcIixcInYxXCI6XCJzeXN0ZW06ZG9jdW1lbnRcIn0sIHsgXCJmXCI6IFwic3lzdGVtOnNlY29uZGFyeU9iamVjdFR5cGVJZHNcIiwgXCJvXCI6IFwiaW5cIiwgXCJ2MVwiOiBbXCJhcHBPc2RyaXZlOmZpbGVcIl0gfSwge1wiZlwiOlwic3lzdGVtOmxhc3RNb2RpZmllZEJ5XCIsXCJvXCI6XCJlcVwiLFwidjFcIjpcIiMjbWUjI1wifV0sXCJzb3J0XCI6W3tcImZpZWxkXCI6XCJzeXN0ZW06Y3JlYXRpb25EYXRlXCIsXCJvcmRlclwiOlwiZGVzY1wifV19J1xuICB9XG59O1xuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmVkLXF1ZXJ5LmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwcy9kcml2ZS9zcmMvbGliL3NlcnZpY2VzL3N0b3JlZC1xdWVyeS9zdG9yZWQtcXVlcnkuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWFyY2hRdWVyeSB9IGZyb20gXCJAeXV1dmlzL2NsaWVudC1jb3JlXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RvcmVkUXVlcnkge1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgcXVlcnk6IFNlYXJjaFF1ZXJ5O1xufSJdfQ==
@@ -0,0 +1,41 @@
1
+ import { Injectable, inject } from '@angular/core';
2
+ import { TranslateService, UserService } from '@yuuvis/client-core';
3
+ import { STORED_QUERIES } from './stored-query.data';
4
+ import * as i0 from "@angular/core";
5
+ export class StoredQueryService {
6
+ constructor() {
7
+ this.userService = inject(UserService);
8
+ this.translate = inject(TranslateService);
9
+ }
10
+ getStoredQuery(id) {
11
+ const q = STORED_QUERIES[id];
12
+ if (!q)
13
+ return undefined;
14
+ try {
15
+ // if query has no label try to resolve from language resources
16
+ return {
17
+ label: q.label || this.translate.instant(id),
18
+ query: JSON.parse(this._replaceVars(q.query))
19
+ };
20
+ }
21
+ catch (e) {
22
+ return undefined;
23
+ }
24
+ }
25
+ _replaceVars(str) {
26
+ const vars = [{ placeholder: '##me##', replace: this.userService.getCurrentUser().id }];
27
+ vars.forEach((v) => {
28
+ str = str.replaceAll(v.placeholder, v.replace);
29
+ });
30
+ return str;
31
+ }
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StoredQueryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
33
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StoredQueryService, providedIn: 'root' }); }
34
+ }
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StoredQueryService, decorators: [{
36
+ type: Injectable,
37
+ args: [{
38
+ providedIn: 'root'
39
+ }]
40
+ }] });
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmVkLXF1ZXJ5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcHMvZHJpdmUvc3JjL2xpYi9zZXJ2aWNlcy9zdG9yZWQtcXVlcnkvc3RvcmVkLXF1ZXJ5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFNckQsTUFBTSxPQUFPLGtCQUFrQjtJQUgvQjtRQUlVLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2xDLGNBQVMsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztLQTJCOUM7SUF2QkMsY0FBYyxDQUFDLEVBQVU7UUFDdkIsTUFBTSxDQUFDLEdBQUcsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRTdCLElBQUksQ0FBQyxDQUFDO1lBQUUsT0FBTyxTQUFTLENBQUM7UUFFekIsSUFBSSxDQUFDO1lBQ0gsK0RBQStEO1lBQy9ELE9BQU87Z0JBQ0wsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUM1QyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUM5QyxDQUFDO1FBQ0osQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO0lBQ0gsQ0FBQztJQUVPLFlBQVksQ0FBQyxHQUFXO1FBQzlCLE1BQU0sSUFBSSxHQUFHLENBQUMsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDeEYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2pCLEdBQUcsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pELENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDOytHQTVCVSxrQkFBa0I7bUhBQWxCLGtCQUFrQixjQUZqQixNQUFNOzs0RkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlLCBVc2VyU2VydmljZSB9IGZyb20gJ0B5dXV2aXMvY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgU1RPUkVEX1FVRVJJRVMgfSBmcm9tICcuL3N0b3JlZC1xdWVyeS5kYXRhJztcbmltcG9ydCB7IFN0b3JlZFF1ZXJ5IH0gZnJvbSAnLi9zdG9yZWQtcXVlcnkuaW50ZXJmYWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU3RvcmVkUXVlcnlTZXJ2aWNlIHtcbiAgcHJpdmF0ZSB1c2VyU2VydmljZSA9IGluamVjdChVc2VyU2VydmljZSk7XG4gIHByaXZhdGUgdHJhbnNsYXRlID0gaW5qZWN0KFRyYW5zbGF0ZVNlcnZpY2UpO1xuXG4gIFxuXG4gIGdldFN0b3JlZFF1ZXJ5KGlkOiBzdHJpbmcpOiBTdG9yZWRRdWVyeSB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgcSA9IFNUT1JFRF9RVUVSSUVTW2lkXTtcblxuICAgIGlmICghcSkgcmV0dXJuIHVuZGVmaW5lZDtcblxuICAgIHRyeSB7XG4gICAgICAvLyBpZiBxdWVyeSBoYXMgbm8gbGFiZWwgdHJ5IHRvIHJlc29sdmUgZnJvbSBsYW5ndWFnZSByZXNvdXJjZXNcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGxhYmVsOiBxLmxhYmVsIHx8IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoaWQpLFxuICAgICAgICBxdWVyeTogSlNPTi5wYXJzZSh0aGlzLl9yZXBsYWNlVmFycyhxLnF1ZXJ5KSlcbiAgICAgIH07XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9yZXBsYWNlVmFycyhzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgdmFycyA9IFt7IHBsYWNlaG9sZGVyOiAnIyNtZSMjJywgcmVwbGFjZTogdGhpcy51c2VyU2VydmljZS5nZXRDdXJyZW50VXNlcigpLmlkIH1dO1xuICAgIHZhcnMuZm9yRWFjaCgodikgPT4ge1xuICAgICAgc3RyID0gc3RyLnJlcGxhY2VBbGwodi5wbGFjZWhvbGRlciwgdi5yZXBsYWNlKTtcbiAgICB9KTtcbiAgICByZXR1cm4gc3RyO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,3 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export const DRIVE_APP_BREADCRUMB_MAX_DEPTH = new InjectionToken('Max depth of the folder strukture in the Breadcrumb', { factory: () => 3 });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi1tYXgtZGVwdGgudG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcHMvZHJpdmUvc3JjL2xpYi9zZXJ2aWNlcy90b2tlbnMvYnJlYWRjcnVtYi1tYXgtZGVwdGgudG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvQyxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBRyxJQUFJLGNBQWMsQ0FBUyxxREFBcUQsRUFBRSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGNvbnN0IERSSVZFX0FQUF9CUkVBRENSVU1CX01BWF9ERVBUSCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxudW1iZXI+KCdNYXggZGVwdGggb2YgdGhlIGZvbGRlciBzdHJ1a3R1cmUgaW4gdGhlIEJyZWFkY3J1bWInLCB7IGZhY3Rvcnk6ICgpID0+IDMgfSk7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './breadcrumb-max-depth.token';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcHMvZHJpdmUvc3JjL2xpYi9zZXJ2aWNlcy90b2tlbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw4QkFBOEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYnJlYWRjcnVtYi1tYXgtZGVwdGgudG9rZW4nO1xuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieXV1dmlzLWFwcC1kcml2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwcy9kcml2ZS9zcmMveXV1dmlzLWFwcC1kcml2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -0,0 +1,3 @@
1
+ # @yuuvis/app-drive/extensions
2
+
3
+ Secondary entry point of `@yuuvis/app-drive`. It can be used by importing from `@yuuvis/app-drive/extensions`.
@@ -0,0 +1 @@
1
+ export * from './lib/extensions.module';
@@ -0,0 +1,6 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class AppDriveExtensionsModule {
3
+ static ɵfac: i0.ɵɵFactoryDeclaration<AppDriveExtensionsModule, never>;
4
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AppDriveExtensionsModule, never, never, never>;
5
+ static ɵinj: i0.ɵɵInjectorDeclaration<AppDriveExtensionsModule>;
6
+ }
@@ -0,0 +1,7 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class ExtensionsService {
3
+ #private;
4
+ init(): Promise<any>;
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<ExtensionsService, never>;
6
+ static ɵprov: i0.ɵɵInjectableDeclaration<ExtensionsService>;
7
+ }
@@ -0,0 +1,2 @@
1
+ import { ObjectConfigRecord } from '@yuuvis/client-core';
2
+ export declare const OC_DEFAULTS: ObjectConfigRecord;
@@ -0,0 +1,99 @@
1
+ import * as i0 from '@angular/core';
2
+ import { inject, Injectable, APP_INITIALIZER, NgModule } from '@angular/core';
3
+ import { FS_PROPERTIES, APP_SCHEMA, APP_ID } from '@yuuvis/app-drive';
4
+ import { ContentStreamField, BaseObjectTypeField, ObjectConfigService } from '@yuuvis/client-core';
5
+ import { ActionsService } from '@yuuvis/client-framework/actions';
6
+ import { ShellService } from '@yuuvis/client-shell-core';
7
+ import { ManageFlavorsAction } from '@yuuvis/client-shell';
8
+
9
+ const OC_DEFAULTS = {
10
+ 'io.yuuvis.app.drive.file': {
11
+ actions: [{ id: 'yuv.base.download' }, { id: 'yuv.base.delete' }],
12
+ title: { label: 'Filename', propertyName: FS_PROPERTIES.name },
13
+ description: { label: 'Size', propertyName: ContentStreamField.LENGTH },
14
+ aside: { label: 'Modified', propertyName: BaseObjectTypeField.MODIFICATION_DATE },
15
+ icon: { svg: APP_SCHEMA.types['file'].icon },
16
+ badges: [],
17
+ objectTypeId: `${APP_ID}.file`
18
+ },
19
+ 'io.yuuvis.app.drive.folder': {
20
+ icon: { svg: APP_SCHEMA.types['folder'].icon },
21
+ objectTypeId: `${APP_ID}.folder`,
22
+ title: { label: 'Name', propertyName: FS_PROPERTIES.name }
23
+ }
24
+ };
25
+
26
+ class ExtensionsService {
27
+ #shell = inject(ShellService);
28
+ #actionsService = inject(ActionsService);
29
+ #objectConfig = inject(ObjectConfigService);
30
+ init() {
31
+ this.#shell.registerApp(APP_SCHEMA);
32
+ // TODO: Dummy setting for drive app to integrate into shell settings page
33
+ // this.#shell.registerAppSettings(APP_SCHEMA.id, {
34
+ // appID: APP_SCHEMA.id,
35
+ // label: APP_SCHEMA.name,
36
+ // properties: [
37
+ // {
38
+ // label: 'Max items',
39
+ // name: 'maxItems',
40
+ // type: 'number',
41
+ // value: 10
42
+ // }
43
+ // ]
44
+ // });
45
+ // register a default object config for the types handled by the drive app
46
+ this.#objectConfig.registerDefaults(OC_DEFAULTS, APP_SCHEMA.id);
47
+ this.#actionsService.registerActions([
48
+ {
49
+ id: 'yuv.base.manage-flavor',
50
+ action: ManageFlavorsAction
51
+ }
52
+ ]);
53
+ return Promise.resolve();
54
+ }
55
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ExtensionsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
56
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ExtensionsService }); }
57
+ }
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ExtensionsService, decorators: [{
59
+ type: Injectable
60
+ }] });
61
+
62
+ class AppDriveExtensionsModule {
63
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppDriveExtensionsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
64
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: AppDriveExtensionsModule }); }
65
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppDriveExtensionsModule, providers: [
66
+ ExtensionsService,
67
+ {
68
+ provide: APP_INITIALIZER,
69
+ useFactory: (ext) => function () {
70
+ return ext.init();
71
+ },
72
+ deps: [ExtensionsService],
73
+ multi: true
74
+ }
75
+ ] }); }
76
+ }
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppDriveExtensionsModule, decorators: [{
78
+ type: NgModule,
79
+ args: [{
80
+ providers: [
81
+ ExtensionsService,
82
+ {
83
+ provide: APP_INITIALIZER,
84
+ useFactory: (ext) => function () {
85
+ return ext.init();
86
+ },
87
+ deps: [ExtensionsService],
88
+ multi: true
89
+ }
90
+ ]
91
+ }]
92
+ }] });
93
+
94
+ /**
95
+ * Generated bundle index. Do not edit.
96
+ */
97
+
98
+ export { AppDriveExtensionsModule };
99
+ //# sourceMappingURL=yuuvis-app-drive-extensions.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yuuvis-app-drive-extensions.mjs","sources":["../../../../../libs/apps/drive/extensions/src/lib/object-config.defaults.ts","../../../../../libs/apps/drive/extensions/src/lib/extensions.service.ts","../../../../../libs/apps/drive/extensions/src/lib/extensions.module.ts","../../../../../libs/apps/drive/extensions/src/yuuvis-app-drive-extensions.ts"],"sourcesContent":["import { APP_ID, APP_SCHEMA, FS_PROPERTIES } from '@yuuvis/app-drive';\nimport { BaseObjectTypeField, ContentStreamField, ObjectConfigRecord } from '@yuuvis/client-core';\n\nexport const OC_DEFAULTS: ObjectConfigRecord = {\n 'io.yuuvis.app.drive.file': {\n actions: [{ id: 'yuv.base.download' }, { id: 'yuv.base.delete' }],\n title: { label: 'Filename', propertyName: FS_PROPERTIES.name },\n description: { label: 'Size', propertyName: ContentStreamField.LENGTH },\n aside: { label: 'Modified', propertyName: BaseObjectTypeField.MODIFICATION_DATE },\n icon: { svg: APP_SCHEMA.types['file'].icon! },\n badges: [],\n\n objectTypeId: `${APP_ID}.file`\n },\n 'io.yuuvis.app.drive.folder': {\n icon: { svg: APP_SCHEMA.types['folder'].icon! },\n objectTypeId: `${APP_ID}.folder`,\n title: { label: 'Name', propertyName: FS_PROPERTIES.name }\n } \n};\n","import { Injectable, inject } from '@angular/core';\nimport { APP_SCHEMA } from '@yuuvis/app-drive';\nimport { ObjectConfigService } from '@yuuvis/client-core';\nimport { ActionsService } from '@yuuvis/client-framework/actions';\nimport { ShellService } from '@yuuvis/client-shell-core';\nimport { OC_DEFAULTS } from './object-config.defaults';\nimport { ManageFlavorsAction } from '@yuuvis/client-shell';\n\n@Injectable()\nexport class ExtensionsService {\n #shell = inject(ShellService);\n #actionsService = inject(ActionsService);\n #objectConfig = inject(ObjectConfigService);\n\n init(): Promise<any> {\n this.#shell.registerApp(APP_SCHEMA);\n\n // TODO: Dummy setting for drive app to integrate into shell settings page\n // this.#shell.registerAppSettings(APP_SCHEMA.id, {\n // appID: APP_SCHEMA.id,\n // label: APP_SCHEMA.name,\n // properties: [\n // {\n // label: 'Max items',\n // name: 'maxItems',\n // type: 'number',\n // value: 10\n // }\n // ]\n // });\n\n // register a default object config for the types handled by the drive app\n this.#objectConfig.registerDefaults(OC_DEFAULTS, APP_SCHEMA.id);\n this.#actionsService.registerActions([\n {\n id: 'yuv.base.manage-flavor',\n action: ManageFlavorsAction\n }\n ]);\n return Promise.resolve();\n }\n}\n","import { APP_INITIALIZER, NgModule } from '@angular/core';\nimport { ExtensionsService } from './extensions.service';\n\n@NgModule({\n providers: [\n ExtensionsService,\n {\n provide: APP_INITIALIZER,\n useFactory: (ext: ExtensionsService) =>\n function () {\n return ext.init();\n },\n deps: [ExtensionsService],\n multi: true\n }\n ]\n})\nexport class AppDriveExtensionsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}