@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
package/README.md ADDED
@@ -0,0 +1,47 @@
1
+ # @yuuvis/app-drive
2
+
3
+ @yuuvis/app-drive is a yuuvis® MOMENTUM client app that implements the drive scenario and is provided for use in custom client projects.
4
+
5
+ ## Installation
6
+
7
+ The app can be installed in a custom client project as follows:
8
+
9
+ ```sh
10
+ npm install @yuuvis/app-drive --save
11
+ ```
12
+
13
+ ## Enable extension
14
+ In your `app.config.ts` add the `AppDriveExensionModule` to the providers:
15
+
16
+ ```ts
17
+ import { AppDriveExtensionsModule } from '@yuuvis/app-drive/extensions';
18
+ import { provideDrive } from '@yuuvis/app-drive';
19
+
20
+ export const appConfig: ApplicationConfig = {
21
+ providers: [
22
+ importShellExtentions([
23
+ AppDriveExtensionsModule
24
+ ]),
25
+ provideDrive()
26
+ ]
27
+ }
28
+ ```
29
+
30
+
31
+ ## Enable app
32
+ In your `app.routes.ts` add a new lazy loaded route for the `@yuuvis/app-drive` package:
33
+
34
+ ```ts
35
+
36
+ export const app: App[] = [
37
+ {
38
+ id: 'io.yuuvis.app.drive',
39
+ title: 'Drive',
40
+ path: 'drive',
41
+ icon: '<svg ... />',
42
+ loadChildren: () => import('@yuuvis/app-drive').then((m) => m.YuuvisDriveRoutes)
43
+ },
44
+ ]
45
+
46
+ ```
47
+
@@ -0,0 +1,2 @@
1
+ export * from './lib/extensions.module';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcHMvZHJpdmUvZXh0ZW5zaW9ucy9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2V4dGVuc2lvbnMubW9kdWxlJztcbiJdfQ==
@@ -0,0 +1,35 @@
1
+ import { APP_INITIALIZER, NgModule } from '@angular/core';
2
+ import { ExtensionsService } from './extensions.service';
3
+ import * as i0 from "@angular/core";
4
+ export class AppDriveExtensionsModule {
5
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppDriveExtensionsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: AppDriveExtensionsModule }); }
7
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppDriveExtensionsModule, providers: [
8
+ ExtensionsService,
9
+ {
10
+ provide: APP_INITIALIZER,
11
+ useFactory: (ext) => function () {
12
+ return ext.init();
13
+ },
14
+ deps: [ExtensionsService],
15
+ multi: true
16
+ }
17
+ ] }); }
18
+ }
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppDriveExtensionsModule, decorators: [{
20
+ type: NgModule,
21
+ args: [{
22
+ providers: [
23
+ ExtensionsService,
24
+ {
25
+ provide: APP_INITIALIZER,
26
+ useFactory: (ext) => function () {
27
+ return ext.init();
28
+ },
29
+ deps: [ExtensionsService],
30
+ multi: true
31
+ }
32
+ ]
33
+ }]
34
+ }] });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5zaW9ucy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcHMvZHJpdmUvZXh0ZW5zaW9ucy9zcmMvbGliL2V4dGVuc2lvbnMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQWdCekQsTUFBTSxPQUFPLHdCQUF3QjsrR0FBeEIsd0JBQXdCO2dIQUF4Qix3QkFBd0I7Z0hBQXhCLHdCQUF3QixhQWJ4QjtZQUNULGlCQUFpQjtZQUNqQjtnQkFDRSxPQUFPLEVBQUUsZUFBZTtnQkFDeEIsVUFBVSxFQUFFLENBQUMsR0FBc0IsRUFBRSxFQUFFLENBQ3JDO29CQUNFLE9BQU8sR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNwQixDQUFDO2dCQUNILElBQUksRUFBRSxDQUFDLGlCQUFpQixDQUFDO2dCQUN6QixLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0Y7OzRGQUVVLHdCQUF3QjtrQkFkcEMsUUFBUTttQkFBQztvQkFDUixTQUFTLEVBQUU7d0JBQ1QsaUJBQWlCO3dCQUNqQjs0QkFDRSxPQUFPLEVBQUUsZUFBZTs0QkFDeEIsVUFBVSxFQUFFLENBQUMsR0FBc0IsRUFBRSxFQUFFLENBQ3JDO2dDQUNFLE9BQU8sR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDOzRCQUNwQixDQUFDOzRCQUNILElBQUksRUFBRSxDQUFDLGlCQUFpQixDQUFDOzRCQUN6QixLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFQUF9JTklUSUFMSVpFUiwgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEV4dGVuc2lvbnNTZXJ2aWNlIH0gZnJvbSAnLi9leHRlbnNpb25zLnNlcnZpY2UnO1xuXG5ATmdNb2R1bGUoe1xuICBwcm92aWRlcnM6IFtcbiAgICBFeHRlbnNpb25zU2VydmljZSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXG4gICAgICB1c2VGYWN0b3J5OiAoZXh0OiBFeHRlbnNpb25zU2VydmljZSkgPT5cbiAgICAgICAgZnVuY3Rpb24gKCkge1xuICAgICAgICAgIHJldHVybiBleHQuaW5pdCgpO1xuICAgICAgICB9LFxuICAgICAgZGVwczogW0V4dGVuc2lvbnNTZXJ2aWNlXSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEFwcERyaXZlRXh0ZW5zaW9uc01vZHVsZSB7fVxuIl19
@@ -0,0 +1,44 @@
1
+ import { Injectable, inject } from '@angular/core';
2
+ import { APP_SCHEMA } from '@yuuvis/app-drive';
3
+ import { ObjectConfigService } from '@yuuvis/client-core';
4
+ import { ActionsService } from '@yuuvis/client-framework/actions';
5
+ import { ShellService } from '@yuuvis/client-shell-core';
6
+ import { OC_DEFAULTS } from './object-config.defaults';
7
+ import { ManageFlavorsAction } from '@yuuvis/client-shell';
8
+ import * as i0 from "@angular/core";
9
+ export class ExtensionsService {
10
+ #shell = inject(ShellService);
11
+ #actionsService = inject(ActionsService);
12
+ #objectConfig = inject(ObjectConfigService);
13
+ init() {
14
+ this.#shell.registerApp(APP_SCHEMA);
15
+ // TODO: Dummy setting for drive app to integrate into shell settings page
16
+ // this.#shell.registerAppSettings(APP_SCHEMA.id, {
17
+ // appID: APP_SCHEMA.id,
18
+ // label: APP_SCHEMA.name,
19
+ // properties: [
20
+ // {
21
+ // label: 'Max items',
22
+ // name: 'maxItems',
23
+ // type: 'number',
24
+ // value: 10
25
+ // }
26
+ // ]
27
+ // });
28
+ // register a default object config for the types handled by the drive app
29
+ this.#objectConfig.registerDefaults(OC_DEFAULTS, APP_SCHEMA.id);
30
+ this.#actionsService.registerActions([
31
+ {
32
+ id: 'yuv.base.manage-flavor',
33
+ action: ManageFlavorsAction
34
+ }
35
+ ]);
36
+ return Promise.resolve();
37
+ }
38
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ExtensionsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
39
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ExtensionsService }); }
40
+ }
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ExtensionsService, decorators: [{
42
+ type: Injectable
43
+ }] });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5zaW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcHBzL2RyaXZlL2V4dGVuc2lvbnMvc3JjL2xpYi9leHRlbnNpb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUczRCxNQUFNLE9BQU8saUJBQWlCO0lBQzVCLE1BQU0sR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDOUIsZUFBZSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN6QyxhQUFhLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFFNUMsSUFBSTtRQUNGLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXBDLDBFQUEwRTtRQUMxRSxtREFBbUQ7UUFDbkQsMEJBQTBCO1FBQzFCLDRCQUE0QjtRQUM1QixrQkFBa0I7UUFDbEIsUUFBUTtRQUNSLDRCQUE0QjtRQUM1QiwwQkFBMEI7UUFDMUIsd0JBQXdCO1FBQ3hCLGtCQUFrQjtRQUNsQixRQUFRO1FBQ1IsTUFBTTtRQUNOLE1BQU07UUFFTiwwRUFBMEU7UUFDMUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxlQUFlLENBQUMsZUFBZSxDQUFDO1lBQ25DO2dCQUNFLEVBQUUsRUFBRSx3QkFBd0I7Z0JBQzVCLE1BQU0sRUFBRSxtQkFBbUI7YUFDNUI7U0FDRixDQUFDLENBQUM7UUFDSCxPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMzQixDQUFDOytHQS9CVSxpQkFBaUI7bUhBQWpCLGlCQUFpQjs7NEZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVBQX1NDSEVNQSB9IGZyb20gJ0B5dXV2aXMvYXBwLWRyaXZlJztcbmltcG9ydCB7IE9iamVjdENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAeXV1dmlzL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IEFjdGlvbnNTZXJ2aWNlIH0gZnJvbSAnQHl1dXZpcy9jbGllbnQtZnJhbWV3b3JrL2FjdGlvbnMnO1xuaW1wb3J0IHsgU2hlbGxTZXJ2aWNlIH0gZnJvbSAnQHl1dXZpcy9jbGllbnQtc2hlbGwtY29yZSc7XG5pbXBvcnQgeyBPQ19ERUZBVUxUUyB9IGZyb20gJy4vb2JqZWN0LWNvbmZpZy5kZWZhdWx0cyc7XG5pbXBvcnQgeyBNYW5hZ2VGbGF2b3JzQWN0aW9uIH0gZnJvbSAnQHl1dXZpcy9jbGllbnQtc2hlbGwnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRXh0ZW5zaW9uc1NlcnZpY2Uge1xuICAjc2hlbGwgPSBpbmplY3QoU2hlbGxTZXJ2aWNlKTtcbiAgI2FjdGlvbnNTZXJ2aWNlID0gaW5qZWN0KEFjdGlvbnNTZXJ2aWNlKTtcbiAgI29iamVjdENvbmZpZyA9IGluamVjdChPYmplY3RDb25maWdTZXJ2aWNlKTtcblxuICBpbml0KCk6IFByb21pc2U8YW55PiB7XG4gICAgdGhpcy4jc2hlbGwucmVnaXN0ZXJBcHAoQVBQX1NDSEVNQSk7XG5cbiAgICAvLyBUT0RPOiBEdW1teSBzZXR0aW5nIGZvciBkcml2ZSBhcHAgdG8gaW50ZWdyYXRlIGludG8gc2hlbGwgc2V0dGluZ3MgcGFnZVxuICAgIC8vIHRoaXMuI3NoZWxsLnJlZ2lzdGVyQXBwU2V0dGluZ3MoQVBQX1NDSEVNQS5pZCwge1xuICAgIC8vICAgYXBwSUQ6IEFQUF9TQ0hFTUEuaWQsXG4gICAgLy8gICBsYWJlbDogQVBQX1NDSEVNQS5uYW1lLFxuICAgIC8vICAgcHJvcGVydGllczogW1xuICAgIC8vICAgICB7XG4gICAgLy8gICAgICAgbGFiZWw6ICdNYXggaXRlbXMnLFxuICAgIC8vICAgICAgIG5hbWU6ICdtYXhJdGVtcycsXG4gICAgLy8gICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgLy8gICAgICAgdmFsdWU6IDEwXG4gICAgLy8gICAgIH1cbiAgICAvLyAgIF1cbiAgICAvLyB9KTtcblxuICAgIC8vIHJlZ2lzdGVyIGEgZGVmYXVsdCBvYmplY3QgY29uZmlnIGZvciB0aGUgdHlwZXMgaGFuZGxlZCBieSB0aGUgZHJpdmUgYXBwXG4gICAgdGhpcy4jb2JqZWN0Q29uZmlnLnJlZ2lzdGVyRGVmYXVsdHMoT0NfREVGQVVMVFMsIEFQUF9TQ0hFTUEuaWQpO1xuICAgIHRoaXMuI2FjdGlvbnNTZXJ2aWNlLnJlZ2lzdGVyQWN0aW9ucyhbXG4gICAgICB7XG4gICAgICAgIGlkOiAneXV2LmJhc2UubWFuYWdlLWZsYXZvcicsXG4gICAgICAgIGFjdGlvbjogTWFuYWdlRmxhdm9yc0FjdGlvblxuICAgICAgfVxuICAgIF0pO1xuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,19 @@
1
+ import { APP_ID, APP_SCHEMA, FS_PROPERTIES } from '@yuuvis/app-drive';
2
+ import { BaseObjectTypeField, ContentStreamField } from '@yuuvis/client-core';
3
+ export const OC_DEFAULTS = {
4
+ 'io.yuuvis.app.drive.file': {
5
+ actions: [{ id: 'yuv.base.download' }, { id: 'yuv.base.delete' }],
6
+ title: { label: 'Filename', propertyName: FS_PROPERTIES.name },
7
+ description: { label: 'Size', propertyName: ContentStreamField.LENGTH },
8
+ aside: { label: 'Modified', propertyName: BaseObjectTypeField.MODIFICATION_DATE },
9
+ icon: { svg: APP_SCHEMA.types['file'].icon },
10
+ badges: [],
11
+ objectTypeId: `${APP_ID}.file`
12
+ },
13
+ 'io.yuuvis.app.drive.folder': {
14
+ icon: { svg: APP_SCHEMA.types['folder'].icon },
15
+ objectTypeId: `${APP_ID}.folder`,
16
+ title: { label: 'Name', propertyName: FS_PROPERTIES.name }
17
+ }
18
+ };
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LWNvbmZpZy5kZWZhdWx0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwcy9kcml2ZS9leHRlbnNpb25zL3NyYy9saWIvb2JqZWN0LWNvbmZpZy5kZWZhdWx0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQXNCLE1BQU0scUJBQXFCLENBQUM7QUFFbEcsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUF1QjtJQUM3QywwQkFBMEIsRUFBRTtRQUMxQixPQUFPLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxtQkFBbUIsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLGlCQUFpQixFQUFFLENBQUM7UUFDakUsS0FBSyxFQUFFLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsYUFBYSxDQUFDLElBQUksRUFBRTtRQUM5RCxXQUFXLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxrQkFBa0IsQ0FBQyxNQUFNLEVBQUU7UUFDdkUsS0FBSyxFQUFFLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsbUJBQW1CLENBQUMsaUJBQWlCLEVBQUU7UUFDakYsSUFBSSxFQUFFLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSyxFQUFFO1FBQzdDLE1BQU0sRUFBRSxFQUFFO1FBRVYsWUFBWSxFQUFFLEdBQUcsTUFBTSxPQUFPO0tBQy9CO0lBQ0QsNEJBQTRCLEVBQUU7UUFDNUIsSUFBSSxFQUFFLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSyxFQUFFO1FBQy9DLFlBQVksRUFBRSxHQUFHLE1BQU0sU0FBUztRQUNoQyxLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxhQUFhLENBQUMsSUFBSSxFQUFFO0tBQzNEO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFQUF9JRCwgQVBQX1NDSEVNQSwgRlNfUFJPUEVSVElFUyB9IGZyb20gJ0B5dXV2aXMvYXBwLWRyaXZlJztcbmltcG9ydCB7IEJhc2VPYmplY3RUeXBlRmllbGQsIENvbnRlbnRTdHJlYW1GaWVsZCwgT2JqZWN0Q29uZmlnUmVjb3JkIH0gZnJvbSAnQHl1dXZpcy9jbGllbnQtY29yZSc7XG5cbmV4cG9ydCBjb25zdCBPQ19ERUZBVUxUUzogT2JqZWN0Q29uZmlnUmVjb3JkID0ge1xuICAnaW8ueXV1dmlzLmFwcC5kcml2ZS5maWxlJzoge1xuICAgIGFjdGlvbnM6IFt7IGlkOiAneXV2LmJhc2UuZG93bmxvYWQnIH0sIHsgaWQ6ICd5dXYuYmFzZS5kZWxldGUnIH1dLFxuICAgIHRpdGxlOiB7IGxhYmVsOiAnRmlsZW5hbWUnLCBwcm9wZXJ0eU5hbWU6IEZTX1BST1BFUlRJRVMubmFtZSB9LFxuICAgIGRlc2NyaXB0aW9uOiB7IGxhYmVsOiAnU2l6ZScsIHByb3BlcnR5TmFtZTogQ29udGVudFN0cmVhbUZpZWxkLkxFTkdUSCB9LFxuICAgIGFzaWRlOiB7IGxhYmVsOiAnTW9kaWZpZWQnLCBwcm9wZXJ0eU5hbWU6IEJhc2VPYmplY3RUeXBlRmllbGQuTU9ESUZJQ0FUSU9OX0RBVEUgfSxcbiAgICBpY29uOiB7IHN2ZzogQVBQX1NDSEVNQS50eXBlc1snZmlsZSddLmljb24hIH0sXG4gICAgYmFkZ2VzOiBbXSxcblxuICAgIG9iamVjdFR5cGVJZDogYCR7QVBQX0lEfS5maWxlYFxuICB9LFxuICAnaW8ueXV1dmlzLmFwcC5kcml2ZS5mb2xkZXInOiB7XG4gICAgaWNvbjogeyBzdmc6IEFQUF9TQ0hFTUEudHlwZXNbJ2ZvbGRlciddLmljb24hIH0sXG4gICAgb2JqZWN0VHlwZUlkOiBgJHtBUFBfSUR9LmZvbGRlcmAsXG4gICAgdGl0bGU6IHsgbGFiZWw6ICdOYW1lJywgcHJvcGVydHlOYW1lOiBGU19QUk9QRVJUSUVTLm5hbWUgfVxuICB9IFxufTtcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieXV1dmlzLWFwcC1kcml2ZS1leHRlbnNpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcHBzL2RyaXZlL2V4dGVuc2lvbnMvc3JjL3l1dXZpcy1hcHAtZHJpdmUtZXh0ZW5zaW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ export * from './lib/lib.routes';
2
+ export * from './lib/drive.schema';
3
+ export * from './lib/components/search-filter/search-filter.component';
4
+ export * from './lib/services/providers/drive.providers';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2FwcHMvZHJpdmUvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxvQkFBb0IsQ0FBQztBQUVuQyxjQUFjLHdEQUF3RCxDQUFDO0FBRXZFLGNBQWMsMENBQTBDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9saWIucm91dGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyaXZlLnNjaGVtYSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvc2VhcmNoLWZpbHRlci9zZWFyY2gtZmlsdGVyLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3Byb3ZpZGVycy9kcml2ZS5wcm92aWRlcnMnO1xuIl19
@@ -0,0 +1,40 @@
1
+ import { inject } from '@angular/core';
2
+ import { TranslateService } from '@ngx-translate/core';
3
+ import { NotificationService, Utils } from '@yuuvis/client-core';
4
+ import { AbstractContextAction, SelectionRange } from '@yuuvis/client-framework/actions';
5
+ import { ShellService } from '@yuuvis/client-shell-core';
6
+ import { catchError, from, map, of } from 'rxjs';
7
+ import { APP_ID } from '../../drive.schema';
8
+ export class CopyLinkAction extends AbstractContextAction {
9
+ constructor() {
10
+ super(...arguments);
11
+ this.translate = inject(TranslateService);
12
+ this.#notification = inject(NotificationService);
13
+ this.#shell = inject(ShellService);
14
+ this.id = 'app.drive.action.copy-link';
15
+ this.label = this.translate.instant('yuv.app.drive.action.copy-link');
16
+ this.description = this.translate.instant('yuv.app.drive.action.copy-link.description');
17
+ this.priority = 2;
18
+ this.icon = '<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#e8eaed"><path d="m678-134 46-46-64-64-46 46q-14 14-14 32t14 32q14 14 32 14t32-14Zm102-102 46-46q14-14 14-32t-14-32q-14-14-32-14t-32 14l-46 46 64 64ZM735-77q-37 37-89 37t-89-37q-37-37-37-89t37-89l148-148q37-37 89-37t89 37q37 37 37 89t-37 89L735-77ZM200-200v-560 560Zm0 80q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h168q13-36 43.5-58t68.5-22q38 0 68.5 22t43.5 58h168q33 0 56.5 23.5T840-760v245q-20-5-40-5t-40 3v-243H200v560h243q-3 20-3 40t5 40H200Zm280-670q13 0 21.5-8.5T510-820q0-13-8.5-21.5T480-850q-13 0-21.5 8.5T450-820q0 13 8.5 21.5T480-790ZM280-600v-80h400v80H280Zm0 160v-80h400v34q-8 5-15.5 11.5T649-460l-20 20H280Zm0 160v-80h269l-49 49q-8 8-14.5 15.5T474-280H280Z"/></svg>';
19
+ this.group = 'common';
20
+ this.range = SelectionRange.SINGLE_SELECT;
21
+ this.supports = {};
22
+ }
23
+ #notification;
24
+ #shell;
25
+ isExecutable(selection) {
26
+ return from(navigator.permissions.query({ name: 'clipboard-write' })).pipe(catchError(() => of({ state: 'denied' })), map((result) => (result.state === 'granted' || result.state === 'prompt') && selection.length === 1));
27
+ }
28
+ run(selection) {
29
+ const o = selection[0];
30
+ const uri = `${window.location.origin}${Utils.getBaseHref(true)}/${this.#shell.appBaseRoutes[APP_ID]}/${o.isFolder ? 'files' : 'object'}/${selection[0].id}`;
31
+ navigator.clipboard
32
+ .writeText(uri)
33
+ .then(() => this.#notification.info(this.translate.instant('yuv.app.drive.action.copy-link.success')))
34
+ .catch(() => {
35
+ //
36
+ });
37
+ return of(true);
38
+ }
39
+ }
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weS1saW5rLmFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwcy9kcml2ZS9zcmMvbGliL2FjdGlvbnMvY29weS1saW5rL2NvcHktbGluay5hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQWEsbUJBQW1CLEVBQUUsS0FBSyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDNUUsT0FBTyxFQUFFLHFCQUFxQixFQUF5QixjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNoSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFNUMsTUFBTSxPQUFPLGNBQWUsU0FBUSxxQkFBcUI7SUFBekQ7O1FBQ0UsY0FBUyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3JDLGtCQUFhLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDNUMsV0FBTSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUU5QixPQUFFLEdBQUcsNEJBQTRCLENBQUM7UUFDbEMsVUFBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7UUFDakUsZ0JBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDO1FBQ25GLGFBQVEsR0FBRyxDQUFDLENBQUM7UUFDYixTQUFJLEdBQ0Ysb3hCQUFveEIsQ0FBQztRQUV2eEIsVUFBSyxHQUFHLFFBQVEsQ0FBQztRQUNqQixVQUFLLEdBQUcsY0FBYyxDQUFDLGFBQWEsQ0FBQztRQUNyQyxhQUFRLEdBQWtCLEVBQUUsQ0FBQztJQXNCL0IsQ0FBQztJQWxDQyxhQUFhLENBQStCO0lBQzVDLE1BQU0sQ0FBd0I7SUFhOUIsWUFBWSxDQUFDLFNBQXNCO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDL0UsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQ3pDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxLQUFLLFNBQVMsSUFBSSxNQUFNLENBQUMsS0FBSyxLQUFLLFFBQVEsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQ3JHLENBQUM7SUFDSixDQUFDO0lBRUQsR0FBRyxDQUFDLFNBQXNCO1FBQ3hCLE1BQU0sQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2QixNQUFNLEdBQUcsR0FBRyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxRQUFRLElBQUksU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBRTdKLFNBQVMsQ0FBQyxTQUFTO2FBQ2hCLFNBQVMsQ0FBQyxHQUFHLENBQUM7YUFDZCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsd0NBQXdDLENBQUMsQ0FBQyxDQUFDO2FBQ3JHLEtBQUssQ0FBQyxHQUFHLEVBQUU7WUFDVixFQUFFO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFFTCxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IERtc09iamVjdCwgTm90aWZpY2F0aW9uU2VydmljZSwgVXRpbHMgfSBmcm9tICdAeXV1dmlzL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udGV4dEFjdGlvbiwgQWN0aW9uLCBBY3Rpb25TdXBwb3J0LCBTZWxlY3Rpb25SYW5nZSB9IGZyb20gJ0B5dXV2aXMvY2xpZW50LWZyYW1ld29yay9hY3Rpb25zJztcbmltcG9ydCB7IFNoZWxsU2VydmljZSB9IGZyb20gJ0B5dXV2aXMvY2xpZW50LXNoZWxsLWNvcmUnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZnJvbSwgbWFwLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQVBQX0lEIH0gZnJvbSAnLi4vLi4vZHJpdmUuc2NoZW1hJztcblxuZXhwb3J0IGNsYXNzIENvcHlMaW5rQWN0aW9uIGV4dGVuZHMgQWJzdHJhY3RDb250ZXh0QWN0aW9uIGltcGxlbWVudHMgQWN0aW9uIHtcbiAgdHJhbnNsYXRlID0gaW5qZWN0KFRyYW5zbGF0ZVNlcnZpY2UpO1xuICAjbm90aWZpY2F0aW9uID0gaW5qZWN0KE5vdGlmaWNhdGlvblNlcnZpY2UpO1xuICAjc2hlbGwgPSBpbmplY3QoU2hlbGxTZXJ2aWNlKTtcblxuICBpZCA9ICdhcHAuZHJpdmUuYWN0aW9uLmNvcHktbGluayc7XG4gIGxhYmVsID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgneXV2LmFwcC5kcml2ZS5hY3Rpb24uY29weS1saW5rJyk7XG4gIGRlc2NyaXB0aW9uID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgneXV2LmFwcC5kcml2ZS5hY3Rpb24uY29weS1saW5rLmRlc2NyaXB0aW9uJyk7XG4gIHByaW9yaXR5ID0gMjtcbiAgaWNvbiA9XG4gICAgJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGhlaWdodD1cIjI0cHhcIiB2aWV3Qm94PVwiMCAtOTYwIDk2MCA5NjBcIiB3aWR0aD1cIjI0cHhcIiBmaWxsPVwiI2U4ZWFlZFwiPjxwYXRoIGQ9XCJtNjc4LTEzNCA0Ni00Ni02NC02NC00NiA0NnEtMTQgMTQtMTQgMzJ0MTQgMzJxMTQgMTQgMzIgMTR0MzItMTRabTEwMi0xMDIgNDYtNDZxMTQtMTQgMTQtMzJ0LTE0LTMycS0xNC0xNC0zMi0xNHQtMzIgMTRsLTQ2IDQ2IDY0IDY0Wk03MzUtNzdxLTM3IDM3LTg5IDM3dC04OS0zN3EtMzctMzctMzctODl0MzctODlsMTQ4LTE0OHEzNy0zNyA4OS0zN3Q4OSAzN3EzNyAzNyAzNyA4OXQtMzcgODlMNzM1LTc3Wk0yMDAtMjAwdi01NjAgNTYwWm0wIDgwcS0zMyAwLTU2LjUtMjMuNVQxMjAtMjAwdi01NjBxMC0zMyAyMy41LTU2LjVUMjAwLTg0MGgxNjhxMTMtMzYgNDMuNS01OHQ2OC41LTIycTM4IDAgNjguNSAyMnQ0My41IDU4aDE2OHEzMyAwIDU2LjUgMjMuNVQ4NDAtNzYwdjI0NXEtMjAtNS00MC01dC00MCAzdi0yNDNIMjAwdjU2MGgyNDNxLTMgMjAtMyA0MHQ1IDQwSDIwMFptMjgwLTY3MHExMyAwIDIxLjUtOC41VDUxMC04MjBxMC0xMy04LjUtMjEuNVQ0ODAtODUwcS0xMyAwLTIxLjUgOC41VDQ1MC04MjBxMCAxMyA4LjUgMjEuNVQ0ODAtNzkwWk0yODAtNjAwdi04MGg0MDB2ODBIMjgwWm0wIDE2MHYtODBoNDAwdjM0cS04IDUtMTUuNSAxMS41VDY0OS00NjBsLTIwIDIwSDI4MFptMCAxNjB2LTgwaDI2OWwtNDkgNDlxLTggOC0xNC41IDE1LjVUNDc0LTI4MEgyODBaXCIvPjwvc3ZnPic7XG5cbiAgZ3JvdXAgPSAnY29tbW9uJztcbiAgcmFuZ2UgPSBTZWxlY3Rpb25SYW5nZS5TSU5HTEVfU0VMRUNUO1xuICBzdXBwb3J0czogQWN0aW9uU3VwcG9ydCA9IHt9O1xuXG4gIGlzRXhlY3V0YWJsZShzZWxlY3Rpb246IERtc09iamVjdFtdKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIGZyb20obmF2aWdhdG9yLnBlcm1pc3Npb25zLnF1ZXJ5KHsgbmFtZTogJ2NsaXBib2FyZC13cml0ZScgfSBhcyBhbnkpKS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZih7IHN0YXRlOiAnZGVuaWVkJyB9KSksXG4gICAgICBtYXAoKHJlc3VsdCkgPT4gKHJlc3VsdC5zdGF0ZSA9PT0gJ2dyYW50ZWQnIHx8IHJlc3VsdC5zdGF0ZSA9PT0gJ3Byb21wdCcpICYmIHNlbGVjdGlvbi5sZW5ndGggPT09IDEpXG4gICAgKTtcbiAgfVxuXG4gIHJ1bihzZWxlY3Rpb246IERtc09iamVjdFtdKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgY29uc3QgbyA9IHNlbGVjdGlvblswXTtcbiAgICBjb25zdCB1cmkgPSBgJHt3aW5kb3cubG9jYXRpb24ub3JpZ2lufSR7VXRpbHMuZ2V0QmFzZUhyZWYodHJ1ZSl9LyR7dGhpcy4jc2hlbGwuYXBwQmFzZVJvdXRlc1tBUFBfSURdfS8ke28uaXNGb2xkZXIgPyAnZmlsZXMnIDogJ29iamVjdCd9LyR7c2VsZWN0aW9uWzBdLmlkfWA7XG5cbiAgICBuYXZpZ2F0b3IuY2xpcGJvYXJkXG4gICAgICAud3JpdGVUZXh0KHVyaSlcbiAgICAgIC50aGVuKCgpID0+IHRoaXMuI25vdGlmaWNhdGlvbi5pbmZvKHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5hcHAuZHJpdmUuYWN0aW9uLmNvcHktbGluay5zdWNjZXNzJykpKVxuICAgICAgLmNhdGNoKCgpID0+IHtcbiAgICAgICAgLy9cbiAgICAgIH0pO1xuXG4gICAgcmV0dXJuIG9mKHRydWUpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,7 @@
1
+ export * from './paste/paste.action';
2
+ export * from './rename/rename.component';
3
+ export * from './rename/rename.action';
4
+ export * from './copy-link/copy-link.action';
5
+ export * from './updateContent/update.content.action';
6
+ export * from './manage-versions/manage-versions.action';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcHMvZHJpdmUvc3JjL2xpYi9hY3Rpb25zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLDBDQUEwQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wYXN0ZS9wYXN0ZS5hY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9yZW5hbWUvcmVuYW1lLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3JlbmFtZS9yZW5hbWUuYWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vY29weS1saW5rL2NvcHktbGluay5hY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi91cGRhdGVDb250ZW50L3VwZGF0ZS5jb250ZW50LmFjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL21hbmFnZS12ZXJzaW9ucy9tYW5hZ2UtdmVyc2lvbnMuYWN0aW9uJztcbiJdfQ==
@@ -0,0 +1,33 @@
1
+ import { inject } from '@angular/core';
2
+ import { TranslateService } from '@yuuvis/client-core';
3
+ import { AbstractContextAction, SelectionRange } from '@yuuvis/client-framework/actions';
4
+ import { YvcOverlayService } from '@yuuvis/components/overlay';
5
+ import { of } from 'rxjs';
6
+ import { ManageVersionsComponent } from './manage-versions.component';
7
+ export class ManageVersionsAction extends AbstractContextAction {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.translate = inject(TranslateService);
11
+ this.overlay = inject(YvcOverlayService);
12
+ this.id = 'app.drive.action.manage-versions';
13
+ this.label = this.translate.instant('yuv.app.drive.action.manage-versions.label');
14
+ this.description = this.translate.instant('yuv.app.drive.action.manage-versions.description');
15
+ this.priority = 2;
16
+ this.icon = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="#5f6368" viewBox="0 -960 960 960"><path d="M120-560v-240h80v94q51-64 124.5-99T480-840q150 0 255 105t105 255h-80q0-117-81.5-198.5T480-760q-69 0-129 32t-101 88h110v80H120Zm2 120h82q12 93 76.5 157.5T435-204l48 84q-138 0-242-91.5T122-440Zm412 70-94-94v-216h80v184l56 56-42 70ZM719 0l-12-60q-12-5-22.5-10.5T663-84l-58 18-40-68 46-40q-2-13-2-26t2-26l-46-40 40-68 58 18q11-8 21.5-13.5T707-340l12-60h80l12 60q12 5 23 11.5t21 14.5l58-20 40 70-46 40q2 13 2 25t-2 25l46 40-40 68-58-18q-11 8-21.5 13.5T811-60L799 0h-80Zm40-120q33 0 56.5-23.5T839-200q0-33-23.5-56.5T759-280q-33 0-56.5 23.5T679-200q0 33 23.5 56.5T759-120Z"/></svg>';
17
+ this.group = 'common';
18
+ this.range = SelectionRange.SINGLE_SELECT;
19
+ this.supports = {};
20
+ }
21
+ isExecutable(selection) {
22
+ return of(selection && selection[0] && selection[0].version > 1 && !selection[0].isFolder);
23
+ }
24
+ run(selection) {
25
+ this.overlay.open(ManageVersionsComponent, selection[0], {
26
+ width: '60vw',
27
+ maxWidth: '80vw',
28
+ height: '80vh'
29
+ });
30
+ return of(true);
31
+ }
32
+ }
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuYWdlLXZlcnNpb25zLmFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwcy9kcml2ZS9zcmMvbGliL2FjdGlvbnMvbWFuYWdlLXZlcnNpb25zL21hbmFnZS12ZXJzaW9ucy5hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQWEsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUscUJBQXFCLEVBQXlCLGNBQWMsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2hILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFdEUsTUFBTSxPQUFPLG9CQUFxQixTQUFRLHFCQUFxQjtJQUEvRDs7UUFDVyxjQUFTLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDdEMsWUFBTyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRTVDLE9BQUUsR0FBRyxrQ0FBa0MsQ0FBQztRQUN4QyxVQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsNENBQTRDLENBQUMsQ0FBQztRQUM3RSxnQkFBVyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLGtEQUFrRCxDQUFDLENBQUM7UUFDekYsYUFBUSxHQUFHLENBQUMsQ0FBQztRQUNiLFNBQUksR0FDRixnckJBQWdyQixDQUFDO1FBRW5yQixVQUFLLEdBQUcsUUFBUSxDQUFDO1FBQ2pCLFVBQUssR0FBRyxjQUFjLENBQUMsYUFBYSxDQUFDO1FBQ3JDLGFBQVEsR0FBa0IsRUFBRSxDQUFDO0lBYy9CLENBQUM7SUFaQyxZQUFZLENBQUMsU0FBc0I7UUFDakMsT0FBTyxFQUFFLENBQUMsU0FBUyxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM3RixDQUFDO0lBRUQsR0FBRyxDQUFDLFNBQXNCO1FBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLHVCQUF1QixFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN2RCxLQUFLLEVBQUUsTUFBTTtZQUNiLFFBQVEsRUFBRSxNQUFNO1lBQ2hCLE1BQU0sRUFBRSxNQUFNO1NBQ2YsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEbXNPYmplY3QsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAeXV1dmlzL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udGV4dEFjdGlvbiwgQWN0aW9uLCBBY3Rpb25TdXBwb3J0LCBTZWxlY3Rpb25SYW5nZSB9IGZyb20gJ0B5dXV2aXMvY2xpZW50LWZyYW1ld29yay9hY3Rpb25zJztcbmltcG9ydCB7IFl2Y092ZXJsYXlTZXJ2aWNlIH0gZnJvbSAnQHl1dXZpcy9jb21wb25lbnRzL292ZXJsYXknO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE1hbmFnZVZlcnNpb25zQ29tcG9uZW50IH0gZnJvbSAnLi9tYW5hZ2UtdmVyc2lvbnMuY29tcG9uZW50JztcblxuZXhwb3J0IGNsYXNzIE1hbmFnZVZlcnNpb25zQWN0aW9uIGV4dGVuZHMgQWJzdHJhY3RDb250ZXh0QWN0aW9uIGltcGxlbWVudHMgQWN0aW9uIHtcbiAgcmVhZG9ubHkgdHJhbnNsYXRlID0gaW5qZWN0KFRyYW5zbGF0ZVNlcnZpY2UpO1xuICBwcml2YXRlIG92ZXJsYXkgPSBpbmplY3QoWXZjT3ZlcmxheVNlcnZpY2UpO1xuXG4gIGlkID0gJ2FwcC5kcml2ZS5hY3Rpb24ubWFuYWdlLXZlcnNpb25zJztcbiAgbGFiZWwgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYuYXBwLmRyaXZlLmFjdGlvbi5tYW5hZ2UtdmVyc2lvbnMubGFiZWwnKTtcbiAgZGVzY3JpcHRpb24gPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYuYXBwLmRyaXZlLmFjdGlvbi5tYW5hZ2UtdmVyc2lvbnMuZGVzY3JpcHRpb24nKTtcbiAgcHJpb3JpdHkgPSAyO1xuICBpY29uID1cbiAgICAnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgZmlsbD1cIiM1ZjYzNjhcIiB2aWV3Qm94PVwiMCAtOTYwIDk2MCA5NjBcIj48cGF0aCBkPVwiTTEyMC01NjB2LTI0MGg4MHY5NHE1MS02NCAxMjQuNS05OVQ0ODAtODQwcTE1MCAwIDI1NSAxMDV0MTA1IDI1NWgtODBxMC0xMTctODEuNS0xOTguNVQ0ODAtNzYwcS02OSAwLTEyOSAzMnQtMTAxIDg4aDExMHY4MEgxMjBabTIgMTIwaDgycTEyIDkzIDc2LjUgMTU3LjVUNDM1LTIwNGw0OCA4NHEtMTM4IDAtMjQyLTkxLjVUMTIyLTQ0MFptNDEyIDcwLTk0LTk0di0yMTZoODB2MTg0bDU2IDU2LTQyIDcwWk03MTkgMGwtMTItNjBxLTEyLTUtMjIuNS0xMC41VDY2My04NGwtNTggMTgtNDAtNjggNDYtNDBxLTItMTMtMi0yNnQyLTI2bC00Ni00MCA0MC02OCA1OCAxOHExMS04IDIxLjUtMTMuNVQ3MDctMzQwbDEyLTYwaDgwbDEyIDYwcTEyIDUgMjMgMTEuNXQyMSAxNC41bDU4LTIwIDQwIDcwLTQ2IDQwcTIgMTMgMiAyNXQtMiAyNWw0NiA0MC00MCA2OC01OC0xOHEtMTEgOC0yMS41IDEzLjVUODExLTYwTDc5OSAwaC04MFptNDAtMTIwcTMzIDAgNTYuNS0yMy41VDgzOS0yMDBxMC0zMy0yMy41LTU2LjVUNzU5LTI4MHEtMzMgMC01Ni41IDIzLjVUNjc5LTIwMHEwIDMzIDIzLjUgNTYuNVQ3NTktMTIwWlwiLz48L3N2Zz4nO1xuXG4gIGdyb3VwID0gJ2NvbW1vbic7XG4gIHJhbmdlID0gU2VsZWN0aW9uUmFuZ2UuU0lOR0xFX1NFTEVDVDtcbiAgc3VwcG9ydHM6IEFjdGlvblN1cHBvcnQgPSB7fTtcblxuICBpc0V4ZWN1dGFibGUoc2VsZWN0aW9uOiBEbXNPYmplY3RbXSkge1xuICAgIHJldHVybiBvZihzZWxlY3Rpb24gJiYgc2VsZWN0aW9uWzBdICYmIHNlbGVjdGlvblswXS52ZXJzaW9uID4gMSAmJiAhc2VsZWN0aW9uWzBdLmlzRm9sZGVyKTtcbiAgfVxuXG4gIHJ1bihzZWxlY3Rpb246IERtc09iamVjdFtdKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgdGhpcy5vdmVybGF5Lm9wZW4oTWFuYWdlVmVyc2lvbnNDb21wb25lbnQsIHNlbGVjdGlvblswXSwge1xuICAgICAgd2lkdGg6ICc2MHZ3JyxcbiAgICAgIG1heFdpZHRoOiAnODB2dycsXG4gICAgICBoZWlnaHQ6ICc4MHZoJ1xuICAgIH0pO1xuICAgIHJldHVybiBvZih0cnVlKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,105 @@
1
+ import { ChangeDetectionStrategy, Component, computed, inject } from '@angular/core';
2
+ import { BaseObjectTypeField, TranslateModule } from '@yuuvis/client-core';
3
+ import { YUV_ICONS } from '@yuuvis/client-framework/icons';
4
+ import { ObjectPreviewComponent } from '@yuuvis/client-framework/object-preview';
5
+ import { ObjectSummaryDataComponent } from '@yuuvis/client-framework/object-summary';
6
+ import { ShellService } from '@yuuvis/client-shell-core';
7
+ import { YvcIconModule } from '@yuuvis/components/icon';
8
+ import { YvcOverlayRef } from '@yuuvis/components/overlay';
9
+ import { YvcSplitViewModule } from '@yuuvis/components/split-view';
10
+ import { YvcTabsModule } from '@yuuvis/components/tabs';
11
+ import { finalize, forkJoin } from 'rxjs';
12
+ import { VersionsListComponent } from '../../components';
13
+ import { APP_SCHEMA, FS_PROPERTIES, FS_SOTS } from '../../drive.schema';
14
+ import { DriveService } from '../../services';
15
+ import { ICONS } from '@yuuvis/components/icon';
16
+ import * as i0 from "@angular/core";
17
+ import * as i1 from "@yuuvis/components/icon";
18
+ import * as i2 from "@yuuvis/components/tabs";
19
+ import * as i3 from "@yuuvis/components/split-view";
20
+ import * as i4 from "@yuuvis/client-core";
21
+ const COMPONENTS = [VersionsListComponent, ObjectSummaryDataComponent, ObjectPreviewComponent];
22
+ const MODULES = [YvcIconModule, YvcTabsModule, YvcSplitViewModule, TranslateModule];
23
+ export class ManageVersionsComponent {
24
+ constructor() {
25
+ this.overlayRef = inject(YvcOverlayRef);
26
+ this.#drive = inject(DriveService);
27
+ this.#shellService = inject(ShellService);
28
+ this.versionsList = this.#drive.state$.versions.versionsList;
29
+ this.selectedVersion = this.#drive.state$.versions.selectedVersion;
30
+ this.selectedDmsObject = this.#drive.state$.selectedDmsObject;
31
+ this.isLoading = this.#drive.state$.busy;
32
+ this.item = this.overlayRef.data;
33
+ this.layoutSettingIdBase = 'app.drive.versions.';
34
+ this.dmsObject = computed(() => {
35
+ const dmsObject = this.selectedDmsObject();
36
+ return dmsObject
37
+ ? { id: dmsObject.data[BaseObjectTypeField.OBJECT_ID], name: dmsObject.data[FS_PROPERTIES.name] }
38
+ : { id: null, name: '' };
39
+ });
40
+ this.id = computed(() => {
41
+ const version = this.selectedVersion();
42
+ return version ? version[0].id : null;
43
+ });
44
+ this.flavoredDmsObject = computed(() => {
45
+ const o = this.selectedVersion();
46
+ return o
47
+ ? {
48
+ object: o[0],
49
+ flavors: [
50
+ {
51
+ id: APP_SCHEMA.types['file']['id'],
52
+ icon: APP_SCHEMA.types['file']['icon'],
53
+ sot: FS_SOTS.object
54
+ },
55
+ ...this.#shellService.getAppliedObjectFlavors(o[0]).applied
56
+ ]
57
+ }
58
+ : undefined;
59
+ });
60
+ this.disabledRestore = computed(() => {
61
+ const selectedVersion = this.selectedVersion();
62
+ const list = this.versionsList();
63
+ return !(selectedVersion && selectedVersion[0].version !== list.length);
64
+ });
65
+ this.icons = {
66
+ refresh: YUV_ICONS.refresh,
67
+ close: ICONS.clear
68
+ };
69
+ }
70
+ #drive;
71
+ #shellService;
72
+ #loadList() {
73
+ this.#drive.setBusy(true);
74
+ return forkJoin([
75
+ this.#drive.getVersions(this.item.id),
76
+ this.#drive.getSelectedDmsObject(this.item.id)
77
+ ]).pipe(finalize(() => this.#drive.setBusy(false)));
78
+ }
79
+ close() {
80
+ this.overlayRef.close();
81
+ }
82
+ reloadList() {
83
+ this.#loadList().subscribe();
84
+ }
85
+ setNewVersion() {
86
+ this.#drive.setBusy(true);
87
+ this.#drive
88
+ .setNewVersion()
89
+ .pipe(finalize(() => this.#drive.setBusy(false)))
90
+ .subscribe();
91
+ }
92
+ ngOnInit() {
93
+ this.#loadList().subscribe();
94
+ }
95
+ ngOnDestroy() {
96
+ this.#drive.clearVersions();
97
+ }
98
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ManageVersionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
99
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ManageVersionsComponent, isStandalone: true, selector: "ymd-manage-versions", ngImport: i0, template: "@if (isLoading()) {\n <div class=\"yuv-loader-linear loader\"></div>\n}\n<yvc-split-view [gutterSize]=\"1\" [layoutSettingsID]=\"layoutSettingIdBase + 'split'\">\n <!-- Versions -->\n <ng-template yvcSplitArea [size]=\"60\">\n <div class=\"version-details\">\n <header>\n <span>{{ dmsObject().name }}</span>\n </header>\n <div class=\"details\">\n @let selected = selectedVersion();\n @if (selected && selected.length === 1) {\n <yvc-tabs [layoutSettingsID]=\"layoutSettingIdBase + 'tabs'\" class=\"versions-details\">\n <ng-template [yvcTab]=\"{ id: 'content', label: 'yuv.app.drive.object-metadata.tabs.content.title' | translate }\">\n <yuv-object-preview [dmsObject]=\"selected[0]\" [version]=\"selected[0].version\"></yuv-object-preview>\n </ng-template>\n <ng-template [yvcTab]=\"{ id: 'indexdata', label: 'yuv.app.drive.object-metadata.tabs.indexdata.title' | translate }\">\n <yuv-object-summary-data [dmsObject]=\"selected[0]\"></yuv-object-summary-data>\n </ng-template>\n </yvc-tabs>\n }\n </div>\n </div>\n </ng-template>\n <!-- Details -->\n <ng-template yvcSplitArea [size]=\"40\">\n <div class=\"versions\">\n <header>\n <h2>{{ 'yuv.app.drive.versions.header.label' | translate }}</h2>\n <div class=\"actions\">\n <button class=\"refresh\" title=\"refresh\" (click)=\"reloadList()\"><yvc-icon [svg]=\"icons.refresh\"></yvc-icon></button>\n <button class=\"close\" title=\"close\" (click)=\"close()\"><yvc-icon [svg]=\"icons.close\"></yvc-icon></button>\n </div>\n </header>\n <ymd-versions-list\n class=\"staggered\"\n [attr.aria-label]=\"'yuv.app.drive.files.content.aria.label' | translate\"\n [attr.aria-busy]=\"isLoading()\"\n [attr.role]=\"'listbox'\"\n [id]=\"id()\"\n > \n </ymd-versions-list>\n </div>\n </ng-template>\n</yvc-split-view>\n<footer>\n <div class=\"actions\">\n <button class=\"secondary\" [disabled]=\"disabledRestore()\" (click)=\"setNewVersion()\">{{ 'yuv.app.drive.action.set.new.versions.label' | translate }}</button>\n </div>\n</footer>\n", styles: [":host{height:100%;display:grid;grid-auto-columns:1fr;grid-auto-rows:1fr;grid-template-columns:1.7fr;grid-template-rows:.1px 2.7fr .2fr;gap:0px 0px;grid-template-areas:\"loader\" \"content\" \"footer\"}:host .loader{grid-area:loader}:host yvc-split-view{grid-area:content;height:100%}:host header{display:grid;grid-template-columns:2fr max-content;grid-template-rows:1fr max-content;gap:0px 0px;grid-auto-flow:row;grid-template-areas:\"label actions\" \"title title\";padding:var(--app-pane-padding);align-items:center}:host header span{font-size:var(--font-headline);font-weight:var(--font-weight-bold)}:host .versions,:host .version-details{display:flex;flex-flow:column;height:100%}:host .version-details .details{flex:1;overflow-y:hidden}:host .versions header{border-bottom:1px solid var(--panel-divider-color);padding-top:0}:host .versions .label{grid-area:label}:host .versions .actions{grid-area:actions;display:flex;justify-content:center;align-items:center}:host .versions .actions button{padding:0}:host .versions .title{grid-area:title}:host .versions .staggered{flex:1;overflow-y:scroll}:host .versions-details{height:100%}:host footer{grid-area:footer;display:flex;justify-content:flex-end;align-items:center;background:var(--panel-background);border-top:1px solid var(--panel-divider-color);gap:calc(var(--app-pane-padding) / 4);padding:calc(var(--app-pane-padding) / 2)}\n"], dependencies: [{ kind: "ngmodule", type: YvcIconModule }, { kind: "component", type: i1.Icon, selector: "yvc-icon", inputs: ["label", "svg", "svgSrc"] }, { kind: "ngmodule", type: YvcTabsModule }, { kind: "component", type: i2.Tabs, selector: "yvc-tabs", inputs: ["tabs", "layoutSettingsID", "panelOrder", "panelOrderIncludeUnmentioned", "cacheViews", "tabSplitEnabled", "tabRemoveEnabled"], outputs: ["tabSplit", "tabRemove", "tabChange"] }, { kind: "directive", type: i2.YvcTabDirective, selector: "[yvcTab]", inputs: ["yvcTab"] }, { kind: "ngmodule", type: YvcSplitViewModule }, { kind: "component", type: i3.SplitViewComponent, selector: "yvc-split-view", inputs: ["direction", "gutterSize", "restrictMove", "disabled", "gutterDblClickDuration", "layoutSettingsID"], outputs: ["layoutSettingsChange", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"] }, { kind: "directive", type: i3.SplitAreaDirective, selector: "[yvcSplitArea]", inputs: ["size", "order", "minSize", "maxSize", "panelClass", "visible"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "component", type: VersionsListComponent, selector: "ymd-versions-list" }, { kind: "component", type: ObjectSummaryDataComponent, selector: "yuv-object-summary-data", inputs: ["dmsObject"] }, { kind: "component", type: ObjectPreviewComponent, selector: "yuv-object-preview", inputs: ["objectId", "dmsObject", "version"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
100
+ }
101
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ManageVersionsComponent, decorators: [{
102
+ type: Component,
103
+ args: [{ selector: 'ymd-manage-versions', standalone: true, imports: [...MODULES, ...COMPONENTS], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (isLoading()) {\n <div class=\"yuv-loader-linear loader\"></div>\n}\n<yvc-split-view [gutterSize]=\"1\" [layoutSettingsID]=\"layoutSettingIdBase + 'split'\">\n <!-- Versions -->\n <ng-template yvcSplitArea [size]=\"60\">\n <div class=\"version-details\">\n <header>\n <span>{{ dmsObject().name }}</span>\n </header>\n <div class=\"details\">\n @let selected = selectedVersion();\n @if (selected && selected.length === 1) {\n <yvc-tabs [layoutSettingsID]=\"layoutSettingIdBase + 'tabs'\" class=\"versions-details\">\n <ng-template [yvcTab]=\"{ id: 'content', label: 'yuv.app.drive.object-metadata.tabs.content.title' | translate }\">\n <yuv-object-preview [dmsObject]=\"selected[0]\" [version]=\"selected[0].version\"></yuv-object-preview>\n </ng-template>\n <ng-template [yvcTab]=\"{ id: 'indexdata', label: 'yuv.app.drive.object-metadata.tabs.indexdata.title' | translate }\">\n <yuv-object-summary-data [dmsObject]=\"selected[0]\"></yuv-object-summary-data>\n </ng-template>\n </yvc-tabs>\n }\n </div>\n </div>\n </ng-template>\n <!-- Details -->\n <ng-template yvcSplitArea [size]=\"40\">\n <div class=\"versions\">\n <header>\n <h2>{{ 'yuv.app.drive.versions.header.label' | translate }}</h2>\n <div class=\"actions\">\n <button class=\"refresh\" title=\"refresh\" (click)=\"reloadList()\"><yvc-icon [svg]=\"icons.refresh\"></yvc-icon></button>\n <button class=\"close\" title=\"close\" (click)=\"close()\"><yvc-icon [svg]=\"icons.close\"></yvc-icon></button>\n </div>\n </header>\n <ymd-versions-list\n class=\"staggered\"\n [attr.aria-label]=\"'yuv.app.drive.files.content.aria.label' | translate\"\n [attr.aria-busy]=\"isLoading()\"\n [attr.role]=\"'listbox'\"\n [id]=\"id()\"\n > \n </ymd-versions-list>\n </div>\n </ng-template>\n</yvc-split-view>\n<footer>\n <div class=\"actions\">\n <button class=\"secondary\" [disabled]=\"disabledRestore()\" (click)=\"setNewVersion()\">{{ 'yuv.app.drive.action.set.new.versions.label' | translate }}</button>\n </div>\n</footer>\n", styles: [":host{height:100%;display:grid;grid-auto-columns:1fr;grid-auto-rows:1fr;grid-template-columns:1.7fr;grid-template-rows:.1px 2.7fr .2fr;gap:0px 0px;grid-template-areas:\"loader\" \"content\" \"footer\"}:host .loader{grid-area:loader}:host yvc-split-view{grid-area:content;height:100%}:host header{display:grid;grid-template-columns:2fr max-content;grid-template-rows:1fr max-content;gap:0px 0px;grid-auto-flow:row;grid-template-areas:\"label actions\" \"title title\";padding:var(--app-pane-padding);align-items:center}:host header span{font-size:var(--font-headline);font-weight:var(--font-weight-bold)}:host .versions,:host .version-details{display:flex;flex-flow:column;height:100%}:host .version-details .details{flex:1;overflow-y:hidden}:host .versions header{border-bottom:1px solid var(--panel-divider-color);padding-top:0}:host .versions .label{grid-area:label}:host .versions .actions{grid-area:actions;display:flex;justify-content:center;align-items:center}:host .versions .actions button{padding:0}:host .versions .title{grid-area:title}:host .versions .staggered{flex:1;overflow-y:scroll}:host .versions-details{height:100%}:host footer{grid-area:footer;display:flex;justify-content:flex-end;align-items:center;background:var(--panel-background);border-top:1px solid var(--panel-divider-color);gap:calc(var(--app-pane-padding) / 4);padding:calc(var(--app-pane-padding) / 2)}\n"] }]
104
+ }] });
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuYWdlLXZlcnNpb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwcy9kcml2ZS9zcmMvbGliL2FjdGlvbnMvbWFuYWdlLXZlcnNpb25zL21hbmFnZS12ZXJzaW9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcHMvZHJpdmUvc3JjL2xpYi9hY3Rpb25zL21hbmFnZS12ZXJzaW9ucy9tYW5hZ2UtdmVyc2lvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUN4RyxPQUFPLEVBQUUsbUJBQW1CLEVBQTRDLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JILE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNqRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNyRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDekQsT0FBTyxFQUFF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LENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQzthQUNoRCxTQUFTLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDOUIsQ0FBQzsrR0FwRlUsdUJBQXVCO21HQUF2Qix1QkFBdUIsK0VDNUJwQywwc0VBbURBLG82Q0RqQ2lCLGFBQWEsOEhBQUUsYUFBYSwrV0FBRSxrQkFBa0IsbWRBQUUsZUFBZSw0RkFEOUQscUJBQXFCLDhEQUFFLDBCQUEwQiwyRkFBRSxzQkFBc0I7OzRGQVdoRix1QkFBdUI7a0JBUm5DLFNBQVM7K0JBQ0UscUJBQXFCLGNBQ25CLElBQUksV0FDUCxDQUFDLEdBQUcsT0FBTyxFQUFFLEdBQUcsVUFBVSxDQUFDLG1CQUduQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQsIGluamVjdCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhc2VPYmplY3RUeXBlRmllbGQsIERtc09iamVjdCwgRG1zU2VydmljZSwgRmxhdm9yZWREbXNPYmplY3QsIFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0B5dXV2aXMvY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgWVVWX0lDT05TIH0gZnJvbSAnQHl1dXZpcy9jbGllbnQtZnJhbWV3b3JrL2ljb25zJztcbmltcG9ydCB7IE9iamVjdFByZXZpZXdDb21wb25lbnQgfSBmcm9tICdAeXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvb2JqZWN0LXByZXZpZXcnO1xuaW1wb3J0IHsgT2JqZWN0U3VtbWFyeURhdGFDb21wb25lbnQgfSBmcm9tICdAeXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvb2JqZWN0LXN1bW1hcnknO1xuaW1wb3J0IHsgU2hlbGxTZXJ2aWNlIH0gZnJvbSAnQHl1dXZpcy9jbGllbnQtc2hlbGwtY29yZSc7XG5pbXBvcnQgeyBZdmNJY29uTW9kdWxlIH0gZnJvbSAnQHl1dXZpcy9jb21wb25lbnRzL2ljb24nO1xuaW1wb3J0IHsgWXZjT3ZlcmxheVJlZiB9IGZyb20gJ0B5dXV2aXMvY29tcG9uZW50cy9vdmVybGF5JztcbmltcG9ydCB7IFl2Y1NwbGl0Vmlld01vZHVsZSB9IGZyb20gJ0B5dXV2aXMvY29tcG9uZW50cy9zcGxpdC12aWV3JztcbmltcG9ydCB7IFl2Y1RhYnNNb2R1bGUgfSBmcm9tICdAeXV1dmlzL2NvbXBvbmVudHMvdGFicyc7XG5pbXBvcnQgeyBmaW5hbGl6ZSwgZm9ya0pvaW4gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFZlcnNpb25zTGlzdENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgQVBQX1NDSEVNQSwgRlNfUFJPUEVSVElFUywgRlNfU09UUyB9IGZyb20gJy4uLy4uL2RyaXZlLnNjaGVtYSc7XG5pbXBvcnQgeyBEcml2ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5cbmltcG9ydCB7IElDT05TIH0gZnJvbSAnQHl1dXZpcy9jb21wb25lbnRzL2ljb24nO1xuXG5jb25zdCBDT01QT05FTlRTID0gW1ZlcnNpb25zTGlzdENvbXBvbmVudCwgT2JqZWN0U3VtbWFyeURhdGFDb21wb25lbnQsIE9iamVjdFByZXZpZXdDb21wb25lbnRdO1xuY29uc3QgTU9EVUxFUyA9IFtZdmNJY29uTW9kdWxlLCBZdmNUYWJzTW9kdWxlLCBZdmNTcGxpdFZpZXdNb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZV07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ltZC1tYW5hZ2UtdmVyc2lvbnMnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbLi4uTU9EVUxFUywgLi4uQ09NUE9ORU5UU10sXG4gIHRlbXBsYXRlVXJsOiBgLi9tYW5hZ2UtdmVyc2lvbnMuY29tcG9uZW50Lmh0bWxgLFxuICBzdHlsZVVybHM6IFtgLi9tYW5hZ2UtdmVyc2lvbnMuY29tcG9uZW50LnNjc3NgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTWFuYWdlVmVyc2lvbnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHB1YmxpYyByZWFkb25seSBvdmVybGF5UmVmID0gaW5qZWN0KFl2Y092ZXJsYXlSZWYpO1xuICByZWFkb25seSAjZHJpdmUgPSBpbmplY3QoRHJpdmVTZXJ2aWNlKTtcbiAgI3NoZWxsU2VydmljZSA9IGluamVjdChTaGVsbFNlcnZpY2UpO1xuXG4gIHZlcnNpb25zTGlzdCA9IHRoaXMuI2RyaXZlLnN0YXRlJC52ZXJzaW9ucy52ZXJzaW9uc0xpc3Q7XG4gIHNlbGVjdGVkVmVyc2lvbiA9IHRoaXMuI2RyaXZlLnN0YXRlJC52ZXJzaW9ucy5zZWxlY3RlZFZlcnNpb247XG4gIHNlbGVjdGVkRG1zT2JqZWN0ID0gdGhpcy4jZHJpdmUuc3RhdGUkLnNlbGVjdGVkRG1zT2JqZWN0O1xuXG4gIGlzTG9hZGluZyA9IHRoaXMuI2RyaXZlLnN0YXRlJC5idXN5O1xuXG4gIGl0ZW06IERtc09iamVjdCA9IHRoaXMub3ZlcmxheVJlZi5kYXRhO1xuICBsYXlvdXRTZXR0aW5nSWRCYXNlID0gJ2FwcC5kcml2ZS52ZXJzaW9ucy4nO1xuXG4gIGRtc09iamVjdCA9IGNvbXB1dGVkPHsgaWQ6IHN0cmluZyB8IG51bGw7IG5hbWU6IHN0cmluZyB9PigoKSA9PiB7XG4gICAgY29uc3QgZG1zT2JqZWN0ID0gdGhpcy5zZWxlY3RlZERtc09iamVjdCgpO1xuICAgIHJldHVybiBkbXNPYmplY3RcbiAgICAgID8geyBpZDogZG1zT2JqZWN0LmRhdGFbQmFzZU9iamVjdFR5cGVGaWVsZC5PQkpFQ1RfSURdIGFzIHN0cmluZywgbmFtZTogZG1zT2JqZWN0LmRhdGFbRlNfUFJPUEVSVElFUy5uYW1lXSBhcyBzdHJpbmcgfVxuICAgICAgOiB7IGlkOiBudWxsLCBuYW1lOiAnJyB9O1xuICB9KTtcblxuICBpZCA9IGNvbXB1dGVkPHN0cmluZyB8IG51bGw+KCgpID0+IHtcbiAgICBjb25zdCB2ZXJzaW9uID0gdGhpcy5zZWxlY3RlZFZlcnNpb24oKTtcbiAgICByZXR1cm4gdmVyc2lvbiA/IHZlcnNpb25bMF0uaWQgOiBudWxsO1xuICB9KTtcblxuICBmbGF2b3JlZERtc09iamVjdCA9IGNvbXB1dGVkPEZsYXZvcmVkRG1zT2JqZWN0IHwgdW5kZWZpbmVkPigoKSA9PiB7XG4gICAgY29uc3QgbyA9IHRoaXMuc2VsZWN0ZWRWZXJzaW9uKCk7XG4gICAgcmV0dXJuIG9cbiAgICAgID8ge1xuICAgICAgICAgIG9iamVjdDogb1swXSxcbiAgICAgICAgICBmbGF2b3JzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlkOiBBUFBfU0NIRU1BLnR5cGVzWydmaWxlJ11bJ2lkJ10sXG4gICAgICAgICAgICAgIGljb246IEFQUF9TQ0hFTUEudHlwZXNbJ2ZpbGUnXVsnaWNvbiddLFxuICAgICAgICAgICAgICBzb3Q6IEZTX1NPVFMub2JqZWN0XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgLi4udGhpcy4jc2hlbGxTZXJ2aWNlLmdldEFwcGxpZWRPYmplY3RGbGF2b3JzKG9bMF0pLmFwcGxpZWRcbiAgICAgICAgICBdXG4gICAgICAgIH1cbiAgICAgIDogdW5kZWZpbmVkO1xuICB9KTtcblxuICBkaXNhYmxlZFJlc3RvcmUgPSBjb21wdXRlZDxib29sZWFuPigoKSA9PiB7XG4gICAgY29uc3Qgc2VsZWN0ZWRWZXJzaW9uID0gdGhpcy5zZWxlY3RlZFZlcnNpb24oKTtcbiAgICBjb25zdCBsaXN0ID0gdGhpcy52ZXJzaW9uc0xpc3QoKTtcbiAgICByZXR1cm4gIShzZWxlY3RlZFZlcnNpb24gJiYgc2VsZWN0ZWRWZXJzaW9uWzBdLnZlcnNpb24gIT09IGxpc3QubGVuZ3RoKTtcbiAgfSk7XG5cbiAgaWNvbnMgPSB7XG4gICAgcmVmcmVzaDogWVVWX0lDT05TLnJlZnJlc2gsXG4gICAgY2xvc2U6IElDT05TLmNsZWFyXG4gIH07XG5cbiAgI2xvYWRMaXN0KCkge1xuICAgIHRoaXMuI2RyaXZlLnNldEJ1c3kodHJ1ZSk7XG4gICAgcmV0dXJuIGZvcmtKb2luKFtcbiAgICAgIHRoaXMuI2RyaXZlLmdldFZlcnNpb25zKHRoaXMuaXRlbS5pZCksIFxuICAgICAgdGhpcy4jZHJpdmUuZ2V0U2VsZWN0ZWREbXNPYmplY3QodGhpcy5pdGVtLmlkKV1cbiAgICApLnBpcGUoZmluYWxpemUoKCkgPT4gdGhpcy4jZHJpdmUuc2V0QnVzeShmYWxzZSkpKTtcbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIHRoaXMub3ZlcmxheVJlZi5jbG9zZSgpO1xuICB9XG5cbiAgcmVsb2FkTGlzdCgpIHtcbiAgICB0aGlzLiNsb2FkTGlzdCgpLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgc2V0TmV3VmVyc2lvbigpIHtcbiAgICB0aGlzLiNkcml2ZS5zZXRCdXN5KHRydWUpO1xuICAgIHRoaXMuI2RyaXZlXG4gICAgICAuc2V0TmV3VmVyc2lvbigpXG4gICAgICAucGlwZShmaW5hbGl6ZSgoKSA9PiB0aGlzLiNkcml2ZS5zZXRCdXN5KGZhbHNlKSkpXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLiNsb2FkTGlzdCgpLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jZHJpdmUuY2xlYXJWZXJzaW9ucygpO1xuICB9XG59XG4iLCJAaWYgKGlzTG9hZGluZygpKSB7XG4gIDxkaXYgY2xhc3M9XCJ5dXYtbG9hZGVyLWxpbmVhciBsb2FkZXJcIj48L2Rpdj5cbn1cbjx5dmMtc3BsaXQtdmlldyBbZ3V0dGVyU2l6ZV09XCIxXCIgW2xheW91dFNldHRpbmdzSURdPVwibGF5b3V0U2V0dGluZ0lkQmFzZSArICdzcGxpdCdcIj5cbiAgPCEtLSBWZXJzaW9ucyAtLT5cbiAgPG5nLXRlbXBsYXRlIHl2Y1NwbGl0QXJlYSBbc2l6ZV09XCI2MFwiPlxuICAgIDxkaXYgY2xhc3M9XCJ2ZXJzaW9uLWRldGFpbHNcIj5cbiAgICAgIDxoZWFkZXI+XG4gICAgICAgIDxzcGFuPnt7IGRtc09iamVjdCgpLm5hbWUgfX08L3NwYW4+XG4gICAgICA8L2hlYWRlcj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkZXRhaWxzXCI+XG4gICAgICAgIEBsZXQgc2VsZWN0ZWQgPSBzZWxlY3RlZFZlcnNpb24oKTtcbiAgICAgICAgQGlmIChzZWxlY3RlZCAmJiBzZWxlY3RlZC5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICA8eXZjLXRhYnMgW2xheW91dFNldHRpbmdzSURdPVwibGF5b3V0U2V0dGluZ0lkQmFzZSArICd0YWJzJ1wiIGNsYXNzPVwidmVyc2lvbnMtZGV0YWlsc1wiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFt5dmNUYWJdPVwieyBpZDogJ2NvbnRlbnQnLCBsYWJlbDogJ3l1di5hcHAuZHJpdmUub2JqZWN0LW1ldGFkYXRhLnRhYnMuY29udGVudC50aXRsZScgfCB0cmFuc2xhdGUgfVwiPlxuICAgICAgICAgICAgICA8eXV2LW9iamVjdC1wcmV2aWV3IFtkbXNPYmplY3RdPVwic2VsZWN0ZWRbMF1cIiBbdmVyc2lvbl09XCJzZWxlY3RlZFswXS52ZXJzaW9uXCI+PC95dXYtb2JqZWN0LXByZXZpZXc+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFt5dmNUYWJdPVwieyBpZDogJ2luZGV4ZGF0YScsIGxhYmVsOiAneXV2LmFwcC5kcml2ZS5vYmplY3QtbWV0YWRhdGEudGFicy5pbmRleGRhdGEudGl0bGUnIHwgdHJhbnNsYXRlIH1cIj5cbiAgICAgICAgICAgICAgPHl1di1vYmplY3Qtc3VtbWFyeS1kYXRhIFtkbXNPYmplY3RdPVwic2VsZWN0ZWRbMF1cIj48L3l1di1vYmplY3Qtc3VtbWFyeS1kYXRhPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L3l2Yy10YWJzPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbiAgPCEtLSBEZXRhaWxzIC0tPlxuICA8bmctdGVtcGxhdGUgeXZjU3BsaXRBcmVhIFtzaXplXT1cIjQwXCI+XG4gICAgPGRpdiBjbGFzcz1cInZlcnNpb25zXCI+XG4gICAgICA8aGVhZGVyPlxuICAgICAgICA8aDI+e3sgJ3l1di5hcHAuZHJpdmUudmVyc2lvbnMuaGVhZGVyLmxhYmVsJyB8IHRyYW5zbGF0ZSB9fTwvaDI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpb25zXCI+XG4gICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInJlZnJlc2hcIiB0aXRsZT1cInJlZnJlc2hcIiAoY2xpY2spPVwicmVsb2FkTGlzdCgpXCI+PHl2Yy1pY29uIFtzdmddPVwiaWNvbnMucmVmcmVzaFwiPjwveXZjLWljb24+PC9idXR0b24+XG4gICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImNsb3NlXCIgdGl0bGU9XCJjbG9zZVwiIChjbGljayk9XCJjbG9zZSgpXCI+PHl2Yy1pY29uIFtzdmddPVwiaWNvbnMuY2xvc2VcIj48L3l2Yy1pY29uPjwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvaGVhZGVyPlxuICAgICAgPHltZC12ZXJzaW9ucy1saXN0XG4gICAgICAgIGNsYXNzPVwic3RhZ2dlcmVkXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCIneXV2LmFwcC5kcml2ZS5maWxlcy5jb250ZW50LmFyaWEubGFiZWwnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgW2F0dHIuYXJpYS1idXN5XT1cImlzTG9hZGluZygpXCJcbiAgICAgICAgW2F0dHIucm9sZV09XCInbGlzdGJveCdcIlxuICAgICAgICBbaWRdPVwiaWQoKVwiXG4gICAgICA+ICAgICAgICBcbiAgICAgIDwveW1kLXZlcnNpb25zLWxpc3Q+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L3l2Yy1zcGxpdC12aWV3PlxuPGZvb3Rlcj5cbiAgPGRpdiBjbGFzcz1cImFjdGlvbnNcIj5cbiAgICA8YnV0dG9uIGNsYXNzPVwic2Vjb25kYXJ5XCIgW2Rpc2FibGVkXT1cImRpc2FibGVkUmVzdG9yZSgpXCIgKGNsaWNrKT1cInNldE5ld1ZlcnNpb24oKVwiPnt7ICd5dXYuYXBwLmRyaXZlLmFjdGlvbi5zZXQubmV3LnZlcnNpb25zLmxhYmVsJyB8IHRyYW5zbGF0ZSB9fTwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZm9vdGVyPlxuIl19
@@ -0,0 +1,41 @@
1
+ import { inject } from '@angular/core';
2
+ import { ClipboardService, TranslateService } from '@yuuvis/client-core';
3
+ import { AbstractContextAction, SelectionRange } from '@yuuvis/client-framework/actions';
4
+ import { finalize, of } from 'rxjs';
5
+ import { DriveService } from '../../services';
6
+ import { ActivatedRoute } from '@angular/router';
7
+ import { APP_ID } from '../../drive.schema';
8
+ export class PasteAction extends AbstractContextAction {
9
+ constructor() {
10
+ super(...arguments);
11
+ this.translate = inject(TranslateService);
12
+ this.#clipboardService = inject(ClipboardService);
13
+ this.#drive = inject(DriveService);
14
+ this.#route = inject(ActivatedRoute);
15
+ this.id = 'app.drive.action.paste';
16
+ this.label = this.translate.instant('yuv.app.drive.action.paste.label');
17
+ this.description = this.translate.instant('yuv.app.drive.action.paste.description');
18
+ this.priority = 2;
19
+ this.icon = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="#5f6368" viewBox="0 -960 960 960"><path d="M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h167q11-35 43-57.5t70-22.5q40 0 71.5 22.5T594-840h166q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm0-80h560v-560h-80v120H280v-120h-80v560Zm280-560q17 0 28.5-11.5T520-800q0-17-11.5-28.5T480-840q-17 0-28.5 11.5T440-800q0 17 11.5 28.5T480-760Z"/></svg>';
20
+ this.group = 'common';
21
+ this.range = SelectionRange.SINGLE_SELECT;
22
+ this.supports = {};
23
+ }
24
+ #clipboardService;
25
+ #drive;
26
+ #route;
27
+ isExecutable(items) {
28
+ const canWrite = !!items[0]?.permissions?.writeIndexData;
29
+ const cd = this.#clipboardService.getClipboardData(APP_ID);
30
+ return of(canWrite && !!cd?.objects && cd.objects.length > 0);
31
+ }
32
+ run(items) {
33
+ this.#drive.setBusy(true);
34
+ this.#drive
35
+ .pasteFromClipboard(items[0])
36
+ .pipe(finalize(() => this.#drive.setBusy(false)))
37
+ .subscribe();
38
+ return of(true);
39
+ }
40
+ }
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzdGUuYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcHBzL2RyaXZlL3NyYy9saWIvYWN0aW9ucy9wYXN0ZS9wYXN0ZS5hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQWEsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRixPQUFPLEVBQUUscUJBQXFCLEVBQXlCLGNBQWMsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2hILE9BQU8sRUFBRSxRQUFRLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTVDLE1BQU0sT0FBTyxXQUFZLFNBQVEscUJBQXFCO0lBQXREOztRQUNXLGNBQVMsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNyQyxzQkFBaUIsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUM3QyxXQUFNLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzlCLFdBQU0sR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFekMsT0FBRSxHQUFHLHdCQUF3QixDQUFDO1FBQzlCLFVBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1FBQ25FLGdCQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsd0NBQXdDLENBQUMsQ0FBQztRQUMvRSxhQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2IsU0FBSSxHQUNGLGliQUFpYixDQUFDO1FBRXBiLFVBQUssR0FBRyxRQUFRLENBQUM7UUFDakIsVUFBSyxHQUFHLGNBQWMsQ0FBQyxhQUFhLENBQUM7UUFDckMsYUFBUSxHQUFrQixFQUFFLENBQUM7SUFnQi9CLENBQUM7SUE3QlUsaUJBQWlCLENBQTRCO0lBQzdDLE1BQU0sQ0FBd0I7SUFDOUIsTUFBTSxDQUEwQjtJQWF6QyxZQUFZLENBQUMsS0FBa0I7UUFDN0IsTUFBTSxRQUFRLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsY0FBYyxDQUFDO1FBQ3pELE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzRCxPQUFPLEVBQUUsQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxPQUFPLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELEdBQUcsQ0FBQyxLQUFrQjtRQUNwQixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsTUFBTTthQUNSLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUM1QixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7YUFDaEQsU0FBUyxFQUFFLENBQUM7UUFDZixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENsaXBib2FyZFNlcnZpY2UsIERtc09iamVjdCwgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0B5dXV2aXMvY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250ZXh0QWN0aW9uLCBBY3Rpb24sIEFjdGlvblN1cHBvcnQsIFNlbGVjdGlvblJhbmdlIH0gZnJvbSAnQHl1dXZpcy9jbGllbnQtZnJhbWV3b3JrL2FjdGlvbnMnO1xuaW1wb3J0IHsgZmluYWxpemUsIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEcml2ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBBUFBfSUQgfSBmcm9tICcuLi8uLi9kcml2ZS5zY2hlbWEnO1xuXG5leHBvcnQgY2xhc3MgUGFzdGVBY3Rpb24gZXh0ZW5kcyBBYnN0cmFjdENvbnRleHRBY3Rpb24gaW1wbGVtZW50cyBBY3Rpb24ge1xuICByZWFkb25seSB0cmFuc2xhdGUgPSBpbmplY3QoVHJhbnNsYXRlU2VydmljZSk7XG4gIHJlYWRvbmx5ICNjbGlwYm9hcmRTZXJ2aWNlID0gaW5qZWN0KENsaXBib2FyZFNlcnZpY2UpO1xuICByZWFkb25seSAjZHJpdmUgPSBpbmplY3QoRHJpdmVTZXJ2aWNlKTtcbiAgcmVhZG9ubHkgI3JvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcblxuICBpZCA9ICdhcHAuZHJpdmUuYWN0aW9uLnBhc3RlJztcbiAgbGFiZWwgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYuYXBwLmRyaXZlLmFjdGlvbi5wYXN0ZS5sYWJlbCcpO1xuICBkZXNjcmlwdGlvbiA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5hcHAuZHJpdmUuYWN0aW9uLnBhc3RlLmRlc2NyaXB0aW9uJyk7XG4gIHByaW9yaXR5ID0gMjtcbiAgaWNvbiA9XG4gICAgJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIGZpbGw9XCIjNWY2MzY4XCIgdmlld0JveD1cIjAgLTk2MCA5NjAgOTYwXCI+PHBhdGggZD1cIk0yMDAtMTIwcS0zMyAwLTU2LjUtMjMuNVQxMjAtMjAwdi01NjBxMC0zMyAyMy41LTU2LjVUMjAwLTg0MGgxNjdxMTEtMzUgNDMtNTcuNXQ3MC0yMi41cTQwIDAgNzEuNSAyMi41VDU5NC04NDBoMTY2cTMzIDAgNTYuNSAyMy41VDg0MC03NjB2NTYwcTAgMzMtMjMuNSA1Ni41VDc2MC0xMjBIMjAwWm0wLTgwaDU2MHYtNTYwaC04MHYxMjBIMjgwdi0xMjBoLTgwdjU2MFptMjgwLTU2MHExNyAwIDI4LjUtMTEuNVQ1MjAtODAwcTAtMTctMTEuNS0yOC41VDQ4MC04NDBxLTE3IDAtMjguNSAxMS41VDQ0MC04MDBxMCAxNyAxMS41IDI4LjVUNDgwLTc2MFpcIi8+PC9zdmc+JztcblxuICBncm91cCA9ICdjb21tb24nO1xuICByYW5nZSA9IFNlbGVjdGlvblJhbmdlLlNJTkdMRV9TRUxFQ1Q7XG4gIHN1cHBvcnRzOiBBY3Rpb25TdXBwb3J0ID0ge307XG5cbiAgaXNFeGVjdXRhYmxlKGl0ZW1zOiBEbXNPYmplY3RbXSkge1xuICAgIGNvbnN0IGNhbldyaXRlID0gISFpdGVtc1swXT8ucGVybWlzc2lvbnM/LndyaXRlSW5kZXhEYXRhO1xuICAgIGNvbnN0IGNkID0gdGhpcy4jY2xpcGJvYXJkU2VydmljZS5nZXRDbGlwYm9hcmREYXRhKEFQUF9JRCk7XG4gICAgcmV0dXJuIG9mKGNhbldyaXRlICYmICEhY2Q/Lm9iamVjdHMgJiYgY2Qub2JqZWN0cy5sZW5ndGggPiAwKTtcbiAgfVxuXG4gIHJ1bihpdGVtczogRG1zT2JqZWN0W10pOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICB0aGlzLiNkcml2ZS5zZXRCdXN5KHRydWUpO1xuICAgIHRoaXMuI2RyaXZlXG4gICAgICAucGFzdGVGcm9tQ2xpcGJvYXJkKGl0ZW1zWzBdKVxuICAgICAgLnBpcGUoZmluYWxpemUoKCkgPT4gdGhpcy4jZHJpdmUuc2V0QnVzeShmYWxzZSkpKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICAgIHJldHVybiBvZih0cnVlKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,31 @@
1
+ import { inject } from '@angular/core';
2
+ import { TranslateService } from '@ngx-translate/core';
3
+ import { SelectionRange } from '@yuuvis/client-framework/actions';
4
+ import { YvcOverlayService } from '@yuuvis/components/overlay';
5
+ import { of } from 'rxjs';
6
+ import { RenameComponent } from './rename.component';
7
+ export class RenameAction {
8
+ constructor() {
9
+ this.translate = inject(TranslateService);
10
+ this.overlay = inject(YvcOverlayService);
11
+ this.id = 'app.drive.action.rename';
12
+ this.label = this.translate.instant('yuv.app.drive.action.rename.label');
13
+ this.description = this.translate.instant('yuv.app.drive.action.rename.description');
14
+ this.priority = 2;
15
+ this.icon = '<svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 -960 960 960" width="20px" fill="#e8eaed"><path d="M480.28-96Q401-96 331-126t-122.5-82.5Q156-261 126-330.96t-30-149.5Q96-560 126-629.5q30-69.5 82.5-122T330.96-834q69.96-30 149.5-30t149.04 30q69.5 30 122 82.5T834-629.28q30 69.73 30 149Q864-401 834-331t-82.5 122.5Q699-156 629.28-126q-69.73 30-149 30Zm-.28-72q130 0 221-91t91-221q0-130-91-221t-221-91q-130 0-221 91t-91 221q0 130 91 221t221 91ZM336-336v-113l210-209q7.26-7.41 16.13-10.71Q571-672 579.76-672q9.55 0 18.31 3.5Q606.83-665 614-658l44 45q6.59 7.26 10.29 16.13Q672-588 672-579.24t-3.29 17.92q-3.3 9.15-10.71 16.32L449-336H336Zm288-243-45-45 45 45ZM384-384h45l115-115-22-23-22-22-116 115v45Zm138-138-22-22 44 45-22-23Z"/></svg>';
16
+ this.group = 'common';
17
+ this.range = SelectionRange.SINGLE_SELECT;
18
+ this.supports = {};
19
+ }
20
+ isExecutable(selection) {
21
+ return of(selection?.length === 1 && !!selection[0].permissions?.writeIndexData);
22
+ }
23
+ run(selection) {
24
+ this.overlay.open(RenameComponent, selection[0], {
25
+ width: '400px',
26
+ maxWidth: '90vw',
27
+ });
28
+ return of(true);
29
+ }
30
+ }
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuYW1lLmFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwcy9kcml2ZS9zcmMvbGliL2FjdGlvbnMvcmVuYW1lL3JlbmFtZS5hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV2RCxPQUFPLEVBQXlCLGNBQWMsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXJELE1BQU0sT0FBTyxZQUFZO0lBQXpCO1FBQ1UsY0FBUyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3JDLFlBQU8sR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUU1QyxPQUFFLEdBQUcseUJBQXlCLENBQUM7UUFDL0IsVUFBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLG1DQUFtQyxDQUFDLENBQUM7UUFDcEUsZ0JBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO1FBQ2hGLGFBQVEsR0FBRyxDQUFDLENBQUM7UUFDYixTQUFJLEdBQ0YsOHVCQUE4dUIsQ0FBQztRQUVqdkIsVUFBSyxHQUFHLFFBQVEsQ0FBQztRQUNqQixVQUFLLEdBQUcsY0FBYyxDQUFDLGFBQWEsQ0FBQztRQUNyQyxhQUFRLEdBQWtCLEVBQUUsQ0FBQztJQWEvQixDQUFDO0lBWEMsWUFBWSxDQUFDLFNBQXNCO1FBQ2pDLE9BQU8sRUFBRSxDQUFDLFNBQVMsRUFBRSxNQUFNLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFFRCxHQUFHLENBQUMsU0FBc0I7UUFDeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUMvQyxLQUFLLEVBQUUsT0FBTztZQUNkLFFBQVEsRUFBRSxNQUFNO1NBQ2pCLENBQUMsQ0FBQztRQUNILE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgRG1zT2JqZWN0IH0gZnJvbSAnQHl1dXZpcy9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyBBY3Rpb24sIEFjdGlvblN1cHBvcnQsIFNlbGVjdGlvblJhbmdlIH0gZnJvbSAnQHl1dXZpcy9jbGllbnQtZnJhbWV3b3JrL2FjdGlvbnMnO1xuaW1wb3J0IHsgWXZjT3ZlcmxheVNlcnZpY2UgfSBmcm9tICdAeXV1dmlzL2NvbXBvbmVudHMvb3ZlcmxheSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUmVuYW1lQ29tcG9uZW50IH0gZnJvbSAnLi9yZW5hbWUuY29tcG9uZW50JztcblxuZXhwb3J0IGNsYXNzIFJlbmFtZUFjdGlvbiBpbXBsZW1lbnRzIEFjdGlvbiB7XG4gIHByaXZhdGUgdHJhbnNsYXRlID0gaW5qZWN0KFRyYW5zbGF0ZVNlcnZpY2UpO1xuICBwcml2YXRlIG92ZXJsYXkgPSBpbmplY3QoWXZjT3ZlcmxheVNlcnZpY2UpO1xuXG4gIGlkID0gJ2FwcC5kcml2ZS5hY3Rpb24ucmVuYW1lJztcbiAgbGFiZWwgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYuYXBwLmRyaXZlLmFjdGlvbi5yZW5hbWUubGFiZWwnKTtcbiAgZGVzY3JpcHRpb24gPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYuYXBwLmRyaXZlLmFjdGlvbi5yZW5hbWUuZGVzY3JpcHRpb24nKTtcbiAgcHJpb3JpdHkgPSAyO1xuICBpY29uID1cbiAgICAnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiMjBweFwiIHZpZXdCb3g9XCIwIC05NjAgOTYwIDk2MFwiIHdpZHRoPVwiMjBweFwiIGZpbGw9XCIjZThlYWVkXCI+PHBhdGggZD1cIk00ODAuMjgtOTZRNDAxLTk2IDMzMS0xMjZ0LTEyMi41LTgyLjVRMTU2LTI2MSAxMjYtMzMwLjk2dC0zMC0xNDkuNVE5Ni01NjAgMTI2LTYyOS41cTMwLTY5LjUgODIuNS0xMjJUMzMwLjk2LTgzNHE2OS45Ni0zMCAxNDkuNS0zMHQxNDkuMDQgMzBxNjkuNSAzMCAxMjIgODIuNVQ4MzQtNjI5LjI4cTMwIDY5LjczIDMwIDE0OVE4NjQtNDAxIDgzNC0zMzF0LTgyLjUgMTIyLjVRNjk5LTE1NiA2MjkuMjgtMTI2cS02OS43MyAzMC0xNDkgMzBabS0uMjgtNzJxMTMwIDAgMjIxLTkxdDkxLTIyMXEwLTEzMC05MS0yMjF0LTIyMS05MXEtMTMwIDAtMjIxIDkxdC05MSAyMjFxMCAxMzAgOTEgMjIxdDIyMSA5MVpNMzM2LTMzNnYtMTEzbDIxMC0yMDlxNy4yNi03LjQxIDE2LjEzLTEwLjcxUTU3MS02NzIgNTc5Ljc2LTY3MnE5LjU1IDAgMTguMzEgMy41UTYwNi44My02NjUgNjE0LTY1OGw0NCA0NXE2LjU5IDcuMjYgMTAuMjkgMTYuMTNRNjcyLTU4OCA2NzItNTc5LjI0dC0zLjI5IDE3LjkycS0zLjMgOS4xNS0xMC43MSAxNi4zMkw0NDktMzM2SDMzNlptMjg4LTI0My00NS00NSA0NSA0NVpNMzg0LTM4NGg0NWwxMTUtMTE1LTIyLTIzLTIyLTIyLTExNiAxMTV2NDVabTEzOC0xMzgtMjItMjIgNDQgNDUtMjItMjNaXCIvPjwvc3ZnPic7XG4gICAgXG4gIGdyb3VwID0gJ2NvbW1vbic7XG4gIHJhbmdlID0gU2VsZWN0aW9uUmFuZ2UuU0lOR0xFX1NFTEVDVDtcbiAgc3VwcG9ydHM6IEFjdGlvblN1cHBvcnQgPSB7fTtcblxuICBpc0V4ZWN1dGFibGUoc2VsZWN0aW9uOiBEbXNPYmplY3RbXSkge1xuICAgIHJldHVybiBvZihzZWxlY3Rpb24/Lmxlbmd0aCA9PT0gMSAmJiAhIXNlbGVjdGlvblswXS5wZXJtaXNzaW9ucz8ud3JpdGVJbmRleERhdGEpO1xuICB9XG5cbiAgcnVuKHNlbGVjdGlvbjogRG1zT2JqZWN0W10pOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICB0aGlzLm92ZXJsYXkub3BlbihSZW5hbWVDb21wb25lbnQsIHNlbGVjdGlvblswXSwge1xuICAgICAgd2lkdGg6ICc0MDBweCcsXG4gICAgICBtYXhXaWR0aDogJzkwdncnLFxuICAgIH0pO1xuICAgIHJldHVybiBvZih0cnVlKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,42 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, inject, signal } from '@angular/core';
3
+ import { DmsService, TranslateModule } from '@yuuvis/client-core';
4
+ import { YvcOverlayRef } from '@yuuvis/components/overlay';
5
+ import { ObjectNameComponent } from '../../components/object-name/object-name.component';
6
+ import { DRIVE_EVENT } from '../../services/drive/drive.interface';
7
+ import { DriveService } from '../../services/drive/drive.service';
8
+ import { FS_PROPERTIES } from '../../drive.schema';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@yuuvis/client-core";
11
+ export class RenameComponent {
12
+ constructor() {
13
+ this.overlayRef = inject(YvcOverlayRef);
14
+ this.#drive = inject(DriveService);
15
+ this.#dmsService = inject(DmsService);
16
+ this.item = this.overlayRef.data;
17
+ this.busy = signal(false);
18
+ }
19
+ #drive;
20
+ #dmsService;
21
+ rename(name) {
22
+ this.busy.set(true);
23
+ const data = {};
24
+ data[FS_PROPERTIES.name] = name;
25
+ this.#dmsService.updateDmsObject(this.item.id, data).subscribe({
26
+ next: () => {
27
+ this.overlayRef.close();
28
+ this.#drive.emitEvent(DRIVE_EVENT.refresh);
29
+ },
30
+ complete: () => this.busy.set(false)
31
+ });
32
+ }
33
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RenameComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
34
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: RenameComponent, isStandalone: true, selector: "ymd-rename", host: { properties: { "class.busy": "busy()" } }, ngImport: i0, template: "<div class=\"yuv-loader-linear\"></div>\n<ymd-object-name\n [item]=\"item\"\n [isRename]=\"true\"\n [isFile]=\"!item.isFolder\"\n [headline]=\"'yuv.app.drive.action.rename.headline' | translate\"\n [submitButton]=\"'yuv.app.drive.action.rename.submit' | translate\"\n [cancelButton]=\"'yuv.app.drive.action.rename.cancel' | translate\"\n (nameChange)=\"rename($event)\"\n (onClose)=\"overlayRef.close()\"\n></ymd-object-name>\n", styles: [":host{display:block;position:relative}:host ymd-object-name{padding:var(--app-pane-padding);display:block}:host .yuv-loader-linear{position:absolute;inset-block-start:0;inset-inline-start:0;inset-inline-end:0}:host:not(.busy) .yuv-loader-linear{display:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ObjectNameComponent, selector: "ymd-object-name", inputs: ["headline", "submitButton", "cancelButton", "isFile", "isRename", "item", "disabled"], outputs: ["nameChange", "onClose"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] }); }
35
+ }
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RenameComponent, decorators: [{
37
+ type: Component,
38
+ args: [{ selector: 'ymd-rename', standalone: true, imports: [CommonModule, ObjectNameComponent, TranslateModule], host: {
39
+ '[class.busy]': 'busy()'
40
+ }, template: "<div class=\"yuv-loader-linear\"></div>\n<ymd-object-name\n [item]=\"item\"\n [isRename]=\"true\"\n [isFile]=\"!item.isFolder\"\n [headline]=\"'yuv.app.drive.action.rename.headline' | translate\"\n [submitButton]=\"'yuv.app.drive.action.rename.submit' | translate\"\n [cancelButton]=\"'yuv.app.drive.action.rename.cancel' | translate\"\n (nameChange)=\"rename($event)\"\n (onClose)=\"overlayRef.close()\"\n></ymd-object-name>\n", styles: [":host{display:block;position:relative}:host ymd-object-name{padding:var(--app-pane-padding);display:block}:host .yuv-loader-linear{position:absolute;inset-block-start:0;inset-inline-start:0;inset-inline-end:0}:host:not(.busy) .yuv-loader-linear{display:none}\n"] }]
41
+ }] });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuYW1lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwcy9kcml2ZS9zcmMvbGliL2FjdGlvbnMvcmVuYW1lL3JlbmFtZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcHMvZHJpdmUvc3JjL2xpYi9hY3Rpb25zL3JlbmFtZS9yZW5hbWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQWEsVUFBVSxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUN6RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBWW5ELE1BQU0sT0FBTyxlQUFlO0lBVjVCO1FBV2tCLGVBQVUsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDMUMsV0FBTSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM5QixnQkFBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUUxQyxTQUFJLEdBQWMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7UUFDdkMsU0FBSSxHQUFHLE1BQU0sQ0FBVSxLQUFLLENBQUMsQ0FBQztLQWMvQjtJQWxCVSxNQUFNLENBQXdCO0lBQzlCLFdBQVcsQ0FBc0I7SUFLMUMsTUFBTSxDQUFDLElBQVk7UUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEIsTUFBTSxJQUFJLEdBQXdCLEVBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQztRQUNoQyxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDN0QsSUFBSSxFQUFFLEdBQUcsRUFBRTtnQkFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDN0MsQ0FBQztZQUNELFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7U0FDckMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0FuQlUsZUFBZTttR0FBZixlQUFlLHdIQ25CNUIscWJBV0EsNlREQ1ksWUFBWSwrQkFBRSxtQkFBbUIsK0xBQUUsZUFBZTs7NEZBT2pELGVBQWU7a0JBVjNCLFNBQVM7K0JBQ0UsWUFBWSxjQUNWLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxlQUFlLENBQUMsUUFHdkQ7d0JBQ0osY0FBYyxFQUFFLFFBQVE7cUJBQ3pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERtc09iamVjdCwgRG1zU2VydmljZSwgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQHl1dXZpcy9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyBZdmNPdmVybGF5UmVmIH0gZnJvbSAnQHl1dXZpcy9jb21wb25lbnRzL292ZXJsYXknO1xuaW1wb3J0IHsgT2JqZWN0TmFtZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvb2JqZWN0LW5hbWUvb2JqZWN0LW5hbWUuY29tcG9uZW50JztcbmltcG9ydCB7IERSSVZFX0VWRU5UIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZHJpdmUvZHJpdmUuaW50ZXJmYWNlJztcbmltcG9ydCB7IERyaXZlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2RyaXZlL2RyaXZlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRlNfUFJPUEVSVElFUyB9IGZyb20gJy4uLy4uL2RyaXZlLnNjaGVtYSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ltZC1yZW5hbWUnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBPYmplY3ROYW1lQ29tcG9uZW50LCBUcmFuc2xhdGVNb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVuYW1lLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3JlbmFtZS5jb21wb25lbnQuc2NzcycsXG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLmJ1c3ldJzogJ2J1c3koKSdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBSZW5hbWVDb21wb25lbnQge1xuICBwdWJsaWMgcmVhZG9ubHkgb3ZlcmxheVJlZiA9IGluamVjdChZdmNPdmVybGF5UmVmKTtcbiAgcmVhZG9ubHkgI2RyaXZlID0gaW5qZWN0KERyaXZlU2VydmljZSk7XG4gIHJlYWRvbmx5ICNkbXNTZXJ2aWNlID0gaW5qZWN0KERtc1NlcnZpY2UpO1xuXG4gIGl0ZW06IERtc09iamVjdCA9IHRoaXMub3ZlcmxheVJlZi5kYXRhO1xuICBidXN5ID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcblxuICByZW5hbWUobmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5idXN5LnNldCh0cnVlKTtcbiAgICBjb25zdCBkYXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XG4gICAgZGF0YVtGU19QUk9QRVJUSUVTLm5hbWVdID0gbmFtZTtcbiAgICB0aGlzLiNkbXNTZXJ2aWNlLnVwZGF0ZURtc09iamVjdCh0aGlzLml0ZW0uaWQsIGRhdGEpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAoKSA9PiB7XG4gICAgICAgIHRoaXMub3ZlcmxheVJlZi5jbG9zZSgpO1xuICAgICAgICB0aGlzLiNkcml2ZS5lbWl0RXZlbnQoRFJJVkVfRVZFTlQucmVmcmVzaCk7XG4gICAgICB9LFxuICAgICAgY29tcGxldGU6ICgpID0+IHRoaXMuYnVzeS5zZXQoZmFsc2UpXG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ5dXYtbG9hZGVyLWxpbmVhclwiPjwvZGl2PlxuPHltZC1vYmplY3QtbmFtZVxuICBbaXRlbV09XCJpdGVtXCJcbiAgW2lzUmVuYW1lXT1cInRydWVcIlxuICBbaXNGaWxlXT1cIiFpdGVtLmlzRm9sZGVyXCJcbiAgW2hlYWRsaW5lXT1cIid5dXYuYXBwLmRyaXZlLmFjdGlvbi5yZW5hbWUuaGVhZGxpbmUnIHwgdHJhbnNsYXRlXCJcbiAgW3N1Ym1pdEJ1dHRvbl09XCIneXV2LmFwcC5kcml2ZS5hY3Rpb24ucmVuYW1lLnN1Ym1pdCcgfCB0cmFuc2xhdGVcIlxuICBbY2FuY2VsQnV0dG9uXT1cIid5dXYuYXBwLmRyaXZlLmFjdGlvbi5yZW5hbWUuY2FuY2VsJyB8IHRyYW5zbGF0ZVwiXG4gIChuYW1lQ2hhbmdlKT1cInJlbmFtZSgkZXZlbnQpXCJcbiAgKG9uQ2xvc2UpPVwib3ZlcmxheVJlZi5jbG9zZSgpXCJcbj48L3ltZC1vYmplY3QtbmFtZT5cbiJdfQ==