@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.
- package/README.md +47 -0
- package/esm2022/extensions/index.mjs +2 -0
- package/esm2022/extensions/lib/extensions.module.mjs +35 -0
- package/esm2022/extensions/lib/extensions.service.mjs +44 -0
- package/esm2022/extensions/lib/object-config.defaults.mjs +19 -0
- package/esm2022/extensions/yuuvis-app-drive-extensions.mjs +5 -0
- package/esm2022/index.mjs +5 -0
- package/esm2022/lib/actions/copy-link/copy-link.action.mjs +40 -0
- package/esm2022/lib/actions/index.mjs +7 -0
- package/esm2022/lib/actions/manage-versions/manage-versions.action.mjs +33 -0
- package/esm2022/lib/actions/manage-versions/manage-versions.component.mjs +105 -0
- package/esm2022/lib/actions/paste/paste.action.mjs +41 -0
- package/esm2022/lib/actions/rename/rename.action.mjs +31 -0
- package/esm2022/lib/actions/rename/rename.component.mjs +42 -0
- package/esm2022/lib/actions/rename/rename.validator.mjs +23 -0
- package/esm2022/lib/actions/updateContent/update.content.action.mjs +52 -0
- package/esm2022/lib/components/add-button/add-button-overlay/add-button-overlay.component.mjs +109 -0
- package/esm2022/lib/components/add-button/add-button.component.mjs +39 -0
- package/esm2022/lib/components/breadcrumb/breadcrumb.component.mjs +74 -0
- package/esm2022/lib/components/folder-tree/folder-tree.component.mjs +89 -0
- package/esm2022/lib/components/index.mjs +10 -0
- package/esm2022/lib/components/object-name/object-name.component.mjs +60 -0
- package/esm2022/lib/components/overlay/create-folder/create-folder.component.mjs +48 -0
- package/esm2022/lib/components/paste-from-clipboard/paste-from-clipboard.component.mjs +28 -0
- package/esm2022/lib/components/ribbon/ribbon.component.mjs +102 -0
- package/esm2022/lib/components/search-filter/date-range-picker/date-range-picker.component.mjs +38 -0
- package/esm2022/lib/components/search-filter/search-filter.component.mjs +429 -0
- package/esm2022/lib/components/sort/sort.component.mjs +156 -0
- package/esm2022/lib/components/versions-list/tile/tile.component.mjs +60 -0
- package/esm2022/lib/components/versions-list/versions-list.component.mjs +94 -0
- package/esm2022/lib/container/drive/drive.component.mjs +116 -0
- package/esm2022/lib/drive.icons.mjs +16 -0
- package/esm2022/lib/drive.schema.mjs +49 -0
- package/esm2022/lib/lib.routes.mjs +17 -0
- package/esm2022/lib/pages/files/files.component.mjs +377 -0
- package/esm2022/lib/pages/object/object.component.mjs +200 -0
- package/esm2022/lib/services/drive/drive.interface.mjs +14 -0
- package/esm2022/lib/services/drive/drive.service.mjs +437 -0
- package/esm2022/lib/services/drive/resolve-name-conflicts/resolve-name-conflicts.component.mjs +158 -0
- package/esm2022/lib/services/drive/resolve-name-conflicts/resolve-name-conflicts.interface.mjs +2 -0
- package/esm2022/lib/services/drive/versions/versions.mapping.mjs +42 -0
- package/esm2022/lib/services/index.mjs +5 -0
- package/esm2022/lib/services/providers/drive.providers.mjs +10 -0
- package/esm2022/lib/services/resolver/files.resolver.mjs +12 -0
- package/esm2022/lib/services/resolver/index.mjs +3 -0
- package/esm2022/lib/services/resolver/versions.route.resolver.mjs +10 -0
- package/esm2022/lib/services/stored-query/stored-query.data.mjs +25 -0
- package/esm2022/lib/services/stored-query/stored-query.interface.mjs +2 -0
- package/esm2022/lib/services/stored-query/stored-query.service.mjs +41 -0
- package/esm2022/lib/services/tokens/breadcrumb-max-depth.token.mjs +3 -0
- package/esm2022/lib/services/tokens/index.mjs +2 -0
- package/esm2022/yuuvis-app-drive.mjs +5 -0
- package/extensions/README.md +3 -0
- package/extensions/index.d.ts +1 -0
- package/extensions/lib/extensions.module.d.ts +6 -0
- package/extensions/lib/extensions.service.d.ts +7 -0
- package/extensions/lib/object-config.defaults.d.ts +2 -0
- package/fesm2022/yuuvis-app-drive-extensions.mjs +99 -0
- package/fesm2022/yuuvis-app-drive-extensions.mjs.map +1 -0
- package/fesm2022/yuuvis-app-drive.mjs +2945 -0
- package/fesm2022/yuuvis-app-drive.mjs.map +1 -0
- package/index.d.ts +4 -0
- package/lib/actions/copy-link/copy-link.action.d.ts +18 -0
- package/lib/actions/index.d.ts +6 -0
- package/lib/actions/manage-versions/manage-versions.action.d.ts +17 -0
- package/lib/actions/manage-versions/manage-versions.component.d.ts +32 -0
- package/lib/actions/paste/paste.action.d.ts +17 -0
- package/lib/actions/rename/rename.action.d.ts +17 -0
- package/lib/actions/rename/rename.component.d.ts +12 -0
- package/lib/actions/rename/rename.validator.d.ts +5 -0
- package/lib/actions/updateContent/update.content.action.d.ts +18 -0
- package/lib/components/add-button/add-button-overlay/add-button-overlay.component.d.ts +26 -0
- package/lib/components/add-button/add-button.component.d.ts +12 -0
- package/lib/components/breadcrumb/breadcrumb.component.d.ts +25 -0
- package/lib/components/folder-tree/folder-tree.component.d.ts +13 -0
- package/lib/components/index.d.ts +8 -0
- package/lib/components/object-name/object-name.component.d.ts +21 -0
- package/lib/components/overlay/create-folder/create-folder.component.d.ts +12 -0
- package/lib/components/paste-from-clipboard/paste-from-clipboard.component.d.ts +13 -0
- package/lib/components/ribbon/ribbon.component.d.ts +24 -0
- package/lib/components/search-filter/date-range-picker/date-range-picker.component.d.ts +13 -0
- package/lib/components/search-filter/search-filter.component.d.ts +23 -0
- package/lib/components/sort/sort.component.d.ts +31 -0
- package/lib/components/versions-list/tile/tile.component.d.ts +14 -0
- package/lib/components/versions-list/versions-list.component.d.ts +17 -0
- package/lib/container/drive/drive.component.d.ts +36 -0
- package/lib/drive.icons.d.ts +15 -0
- package/lib/drive.schema.d.ts +23 -0
- package/lib/lib.routes.d.ts +2 -0
- package/lib/pages/files/files.component.d.ts +101 -0
- package/lib/pages/object/object.component.d.ts +35 -0
- package/lib/services/drive/drive.interface.d.ts +62 -0
- package/lib/services/drive/drive.service.d.ts +64 -0
- package/lib/services/drive/resolve-name-conflicts/resolve-name-conflicts.component.d.ts +31 -0
- package/lib/services/drive/resolve-name-conflicts/resolve-name-conflicts.interface.d.ts +8 -0
- package/lib/services/drive/versions/versions.mapping.d.ts +2 -0
- package/lib/services/index.d.ts +4 -0
- package/lib/services/providers/drive.providers.d.ts +7 -0
- package/lib/services/resolver/files.resolver.d.ts +2 -0
- package/lib/services/resolver/index.d.ts +2 -0
- package/lib/services/resolver/versions.route.resolver.d.ts +2 -0
- package/lib/services/stored-query/stored-query.data.d.ts +5 -0
- package/lib/services/stored-query/stored-query.interface.d.ts +5 -0
- package/lib/services/stored-query/stored-query.service.d.ts +10 -0
- package/lib/services/tokens/breadcrumb-max-depth.token.d.ts +2 -0
- package/lib/services/tokens/index.d.ts +1 -0
- 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==
|