@fundamental-ngx/platform 0.43.16 → 0.43.17

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 (68) hide show
  1. package/esm2020/approval-flow/approval-flow-team-list/approval-flow-team-list.component.mjs +1 -1
  2. package/esm2020/approval-flow/approval-flow-user-list/approval-flow-user-list.component.mjs +1 -1
  3. package/esm2020/form/combobox/combobox/combobox.component.mjs +7 -7
  4. package/esm2020/form/combobox/commons/base-combobox.mjs +12 -1
  5. package/esm2020/form/multi-combobox/commons/base-multi-combobox.mjs +5 -2
  6. package/esm2020/form/multi-combobox/multi-combobox/multi-combobox.component.mjs +28 -30
  7. package/esm2020/form/multi-input/base-multi-input.mjs +5 -1
  8. package/esm2020/form/multi-input/multi-input.component.mjs +3 -3
  9. package/esm2020/form/select/select/select.component.mjs +3 -3
  10. package/esm2020/list/list.component.mjs +11 -3
  11. package/esm2020/search-field/search-field.component.mjs +3 -3
  12. package/esm2020/shared/domain/data-source.mjs +3 -2
  13. package/esm2020/shared/form/base.input.mjs +13 -9
  14. package/esm2020/table/components/table-cell-header-popover/table-cell-header-popover.component.mjs +1 -1
  15. package/esm2020/table/components/table-header-cell-content/table-header-cell-content.component.mjs +3 -3
  16. package/esm2020/table/components/table-header-row/table-header-row.component.mjs +7 -4
  17. package/esm2020/table/components/table-row/table-row.component.mjs +3 -3
  18. package/esm2020/table/table.component.mjs +13 -12
  19. package/esm2020/table-helpers/pipes/column-sorting-direction.pipe.mjs +27 -0
  20. package/esm2020/table-helpers/pipes/index.mjs +2 -1
  21. package/esm2020/table-helpers/table-helpers.module.mjs +9 -6
  22. package/esm2020/upload-collection/upload-collection/upload-collection.component.mjs +1 -1
  23. package/fesm2015/fundamental-ngx-platform-approval-flow.mjs +2 -2
  24. package/fesm2015/fundamental-ngx-platform-approval-flow.mjs.map +1 -1
  25. package/fesm2015/fundamental-ngx-platform-form.mjs +140 -125
  26. package/fesm2015/fundamental-ngx-platform-form.mjs.map +1 -1
  27. package/fesm2015/fundamental-ngx-platform-list.mjs +9 -2
  28. package/fesm2015/fundamental-ngx-platform-list.mjs.map +1 -1
  29. package/fesm2015/fundamental-ngx-platform-search-field.mjs +2 -2
  30. package/fesm2015/fundamental-ngx-platform-search-field.mjs.map +1 -1
  31. package/fesm2015/fundamental-ngx-platform-shared.mjs +12 -7
  32. package/fesm2015/fundamental-ngx-platform-shared.mjs.map +1 -1
  33. package/fesm2015/fundamental-ngx-platform-table-helpers.mjs +32 -4
  34. package/fesm2015/fundamental-ngx-platform-table-helpers.mjs.map +1 -1
  35. package/fesm2015/fundamental-ngx-platform-table.mjs +21 -17
  36. package/fesm2015/fundamental-ngx-platform-table.mjs.map +1 -1
  37. package/fesm2015/fundamental-ngx-platform-upload-collection.mjs +1 -1
  38. package/fesm2015/fundamental-ngx-platform-upload-collection.mjs.map +1 -1
  39. package/fesm2020/fundamental-ngx-platform-approval-flow.mjs +2 -2
  40. package/fesm2020/fundamental-ngx-platform-approval-flow.mjs.map +1 -1
  41. package/fesm2020/fundamental-ngx-platform-form.mjs +144 -128
  42. package/fesm2020/fundamental-ngx-platform-form.mjs.map +1 -1
  43. package/fesm2020/fundamental-ngx-platform-list.mjs +10 -2
  44. package/fesm2020/fundamental-ngx-platform-list.mjs.map +1 -1
  45. package/fesm2020/fundamental-ngx-platform-search-field.mjs +2 -2
  46. package/fesm2020/fundamental-ngx-platform-search-field.mjs.map +1 -1
  47. package/fesm2020/fundamental-ngx-platform-shared.mjs +12 -7
  48. package/fesm2020/fundamental-ngx-platform-shared.mjs.map +1 -1
  49. package/fesm2020/fundamental-ngx-platform-table-helpers.mjs +32 -4
  50. package/fesm2020/fundamental-ngx-platform-table-helpers.mjs.map +1 -1
  51. package/fesm2020/fundamental-ngx-platform-table.mjs +21 -17
  52. package/fesm2020/fundamental-ngx-platform-table.mjs.map +1 -1
  53. package/fesm2020/fundamental-ngx-platform-upload-collection.mjs +1 -1
  54. package/fesm2020/fundamental-ngx-platform-upload-collection.mjs.map +1 -1
  55. package/form/combobox/combobox/combobox.component.d.ts +2 -2
  56. package/form/combobox/commons/base-combobox.d.ts +2 -0
  57. package/form/multi-combobox/multi-combobox/multi-combobox.component.d.ts +7 -7
  58. package/fundamental-ngx-platform-v0.43.17.tgz +0 -0
  59. package/list/list.component.d.ts +3 -1
  60. package/package.json +4 -4
  61. package/schematics/ng-add/index.js +1 -1
  62. package/shared/form/base.input.d.ts +5 -4
  63. package/table/components/table-header-row/table-header-row.component.d.ts +3 -1
  64. package/table/table.component.d.ts +4 -3
  65. package/table-helpers/pipes/column-sorting-direction.pipe.d.ts +12 -0
  66. package/table-helpers/pipes/index.d.ts +1 -0
  67. package/table-helpers/table-helpers.module.d.ts +2 -1
  68. package/fundamental-ngx-platform-v0.43.16.tgz +0 -0
@@ -0,0 +1,27 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export const ARIA_SORT = {
4
+ none: 'none',
5
+ asc: 'ascending',
6
+ desc: 'descending'
7
+ };
8
+ export class TableColumnSortingDirectionPipe {
9
+ /** @hidden */
10
+ transform(sorting) {
11
+ if (!sorting) {
12
+ return 'none';
13
+ }
14
+ return ARIA_SORT[sorting.direction];
15
+ }
16
+ }
17
+ TableColumnSortingDirectionPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableColumnSortingDirectionPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
18
+ TableColumnSortingDirectionPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: TableColumnSortingDirectionPipe, isStandalone: true, name: "fdpTableColumnSortingDirection" });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableColumnSortingDirectionPipe, decorators: [{
20
+ type: Pipe,
21
+ args: [{
22
+ pure: true,
23
+ standalone: true,
24
+ name: 'fdpTableColumnSortingDirection'
25
+ }]
26
+ }] });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXNvcnRpbmctZGlyZWN0aW9uLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvdGFibGUtaGVscGVycy9waXBlcy9jb2x1bW4tc29ydGluZy1kaXJlY3Rpb24ucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFLcEQsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUF1QztJQUN6RCxJQUFJLEVBQUUsTUFBTTtJQUNaLEdBQUcsRUFBRSxXQUFXO0lBQ2hCLElBQUksRUFBRSxZQUFZO0NBQ3JCLENBQUM7QUFPRixNQUFNLE9BQU8sK0JBQStCO0lBQ3hDLGNBQWM7SUFDZCxTQUFTLENBQUMsT0FBaUM7UUFDdkMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNWLE9BQU8sTUFBTSxDQUFDO1NBQ2pCO1FBRUQsT0FBTyxTQUFTLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7OzRIQVJRLCtCQUErQjswSEFBL0IsK0JBQStCOzJGQUEvQiwrQkFBK0I7a0JBTDNDLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLElBQUk7b0JBQ1YsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRSxnQ0FBZ0M7aUJBQ3pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTnVsbGFibGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBTb3J0RGlyZWN0aW9uIH0gZnJvbSAnLi4vZW51bXMnO1xuaW1wb3J0IHsgQ29sbGVjdGlvblNvcnQgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcblxuZXhwb3J0IGNvbnN0IEFSSUFfU09SVDogUmVjb3JkPGAke1NvcnREaXJlY3Rpb259YCwgc3RyaW5nPiA9IHtcbiAgICBub25lOiAnbm9uZScsXG4gICAgYXNjOiAnYXNjZW5kaW5nJyxcbiAgICBkZXNjOiAnZGVzY2VuZGluZydcbn07XG5cbkBQaXBlKHtcbiAgICBwdXJlOiB0cnVlLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ2ZkcFRhYmxlQ29sdW1uU29ydGluZ0RpcmVjdGlvbidcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVDb2x1bW5Tb3J0aW5nRGlyZWN0aW9uUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgdHJhbnNmb3JtKHNvcnRpbmc6IE51bGxhYmxlPENvbGxlY3Rpb25Tb3J0Pik6IHN0cmluZyB7XG4gICAgICAgIGlmICghc29ydGluZykge1xuICAgICAgICAgICAgcmV0dXJuICdub25lJztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBBUklBX1NPUlRbc29ydGluZy5kaXJlY3Rpb25dO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,5 +1,6 @@
1
1
  export * from './cell-styles.pipe';
2
2
  export * from './column-resizable-side.pipe';
3
+ export * from './column-sorting-direction.pipe';
3
4
  export * from './row-classes.pipe';
4
5
  export * from './selection-cell-styles.pipe';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvdGFibGUtaGVscGVycy9waXBlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLDhCQUE4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jZWxsLXN0eWxlcy5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vY29sdW1uLXJlc2l6YWJsZS1zaWRlLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9yb3ctY2xhc3Nlcy5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0aW9uLWNlbGwtc3R5bGVzLnBpcGUnO1xuIl19
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvdGFibGUtaGVscGVycy9waXBlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsOEJBQThCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NlbGwtc3R5bGVzLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb2x1bW4tcmVzaXphYmxlLXNpZGUucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbHVtbi1zb3J0aW5nLWRpcmVjdGlvbi5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vcm93LWNsYXNzZXMucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlbGVjdGlvbi1jZWxsLXN0eWxlcy5waXBlJztcbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  import { NgModule } from '@angular/core';
2
- import { FdpCellSelectableDirective, FdpTableCell, FdpTableHeader, FdpViewSettingsFilterCustomDef, PlatformTableCellResizableDirective, PlatformTableColumnResponsiveDirective, TableCellHeaderPopoverDirective, TableDataSourceDirective, TableHeaderResizerDirective, TableScrollableDirective, TableDraggableDirective, TableInitialStateDirective, TableVirtualScrollDirective, FdpCellDef, FdpEditableCellFormDirective, FdpEditableCellDef, FdpHeaderCellDef } from './directives';
3
- import { ColumnResizableSidePipe, RowClassesPipe, SelectionCellStylesPipe, TableCellStylesPipe } from './pipes';
2
+ import { FdpCellDef, FdpCellSelectableDirective, FdpEditableCellDef, FdpEditableCellFormDirective, FdpHeaderCellDef, FdpTableCell, FdpTableHeader, FdpViewSettingsFilterCustomDef, PlatformTableCellResizableDirective, PlatformTableColumnResponsiveDirective, TableCellHeaderPopoverDirective, TableDataSourceDirective, TableDraggableDirective, TableHeaderResizerDirective, TableInitialStateDirective, TableScrollableDirective, TableVirtualScrollDirective } from './directives';
3
+ import { ColumnResizableSidePipe, RowClassesPipe, SelectionCellStylesPipe, TableCellStylesPipe, TableColumnSortingDirectionPipe } from './pipes';
4
4
  import * as i0 from "@angular/core";
5
5
  const importExports = [
6
6
  TableInitialStateDirective,
@@ -26,7 +26,8 @@ const importExports = [
26
26
  SelectionCellStylesPipe,
27
27
  TableCellStylesPipe,
28
28
  ColumnResizableSidePipe,
29
- RowClassesPipe
29
+ RowClassesPipe,
30
+ TableColumnSortingDirectionPipe
30
31
  ];
31
32
  export class TableHelpersModule {
32
33
  }
@@ -54,7 +55,8 @@ TableHelpersModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", vers
54
55
  SelectionCellStylesPipe,
55
56
  TableCellStylesPipe,
56
57
  ColumnResizableSidePipe,
57
- RowClassesPipe], exports: [TableInitialStateDirective,
58
+ RowClassesPipe,
59
+ TableColumnSortingDirectionPipe], exports: [TableInitialStateDirective,
58
60
  TableDraggableDirective,
59
61
  TableVirtualScrollDirective,
60
62
  PlatformTableColumnResponsiveDirective,
@@ -77,7 +79,8 @@ TableHelpersModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", vers
77
79
  SelectionCellStylesPipe,
78
80
  TableCellStylesPipe,
79
81
  ColumnResizableSidePipe,
80
- RowClassesPipe] });
82
+ RowClassesPipe,
83
+ TableColumnSortingDirectionPipe] });
81
84
  TableHelpersModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableHelpersModule });
82
85
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableHelpersModule, decorators: [{
83
86
  type: NgModule,
@@ -86,4 +89,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
86
89
  exports: [...importExports]
87
90
  }]
88
91
  }] });
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtaGVscGVycy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvdGFibGUtaGVscGVycy90YWJsZS1oZWxwZXJzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDSCwwQkFBMEIsRUFDMUIsWUFBWSxFQUNaLGNBQWMsRUFDZCw4QkFBOEIsRUFDOUIsbUNBQW1DLEVBQ25DLHNDQUFzQyxFQUN0QywrQkFBK0IsRUFDL0Isd0JBQXdCLEVBQ3hCLDJCQUEyQixFQUMzQix3QkFBd0IsRUFDeEIsdUJBQXVCLEVBQ3ZCLDBCQUEwQixFQUMxQiwyQkFBMkIsRUFDM0IsVUFBVSxFQUNWLDRCQUE0QixFQUM1QixrQkFBa0IsRUFDbEIsZ0JBQWdCLEVBQ25CLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxjQUFjLEVBQUUsdUJBQXVCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxTQUFTLENBQUM7O0FBRWhILE1BQU0sYUFBYSxHQUFHO0lBQ2xCLDBCQUEwQjtJQUMxQix1QkFBdUI7SUFDdkIsMkJBQTJCO0lBQzNCLHNDQUFzQztJQUN0QyxZQUFZO0lBQ1osK0JBQStCO0lBQy9CLG1DQUFtQztJQUNuQywwQkFBMEI7SUFDMUIsd0JBQXdCO0lBQ3hCLHVCQUF1QjtJQUN2QixjQUFjO0lBQ2QsMkJBQTJCO0lBQzNCLDBCQUEwQjtJQUMxQix3QkFBd0I7SUFDeEIsVUFBVTtJQUNWLGtCQUFrQjtJQUNsQiw0QkFBNEI7SUFDNUIsOEJBQThCO0lBQzlCLDJCQUEyQjtJQUMzQixnQkFBZ0I7SUFDaEIsdUJBQXVCO0lBQ3ZCLG1CQUFtQjtJQUNuQix1QkFBdUI7SUFDdkIsY0FBYztDQUNqQixDQUFDO0FBTUYsTUFBTSxPQUFPLGtCQUFrQjs7K0dBQWxCLGtCQUFrQjtnSEFBbEIsa0JBQWtCLFlBOUIzQiwwQkFBMEI7UUFDMUIsdUJBQXVCO1FBQ3ZCLDJCQUEyQjtRQUMzQixzQ0FBc0M7UUFDdEMsWUFBWTtRQUNaLCtCQUErQjtRQUMvQixtQ0FBbUM7UUFDbkMsMEJBQTBCO1FBQzFCLHdCQUF3QjtRQUN4Qix1QkFBdUI7UUFDdkIsY0FBYztRQUNkLDJCQUEyQjtRQUMzQiwwQkFBMEI7UUFDMUIsd0JBQXdCO1FBQ3hCLFVBQVU7UUFDVixrQkFBa0I7UUFDbEIsNEJBQTRCO1FBQzVCLDhCQUE4QjtRQUM5QiwyQkFBMkI7UUFDM0IsZ0JBQWdCO1FBQ2hCLHVCQUF1QjtRQUN2QixtQkFBbUI7UUFDbkIsdUJBQXVCO1FBQ3ZCLGNBQWMsYUF2QmQsMEJBQTBCO1FBQzFCLHVCQUF1QjtRQUN2QiwyQkFBMkI7UUFDM0Isc0NBQXNDO1FBQ3RDLFlBQVk7UUFDWiwrQkFBK0I7UUFDL0IsbUNBQW1DO1FBQ25DLDBCQUEwQjtRQUMxQix3QkFBd0I7UUFDeEIsdUJBQXVCO1FBQ3ZCLGNBQWM7UUFDZCwyQkFBMkI7UUFDM0IsMEJBQTBCO1FBQzFCLHdCQUF3QjtRQUN4QixVQUFVO1FBQ1Ysa0JBQWtCO1FBQ2xCLDRCQUE0QjtRQUM1Qiw4QkFBOEI7UUFDOUIsMkJBQTJCO1FBQzNCLGdCQUFnQjtRQUNoQix1QkFBdUI7UUFDdkIsbUJBQW1CO1FBQ25CLHVCQUF1QjtRQUN2QixjQUFjO2dIQU9MLGtCQUFrQjsyRkFBbEIsa0JBQWtCO2tCQUo5QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLEdBQUcsYUFBYSxDQUFDO29CQUMzQixPQUFPLEVBQUUsQ0FBQyxHQUFHLGFBQWEsQ0FBQztpQkFDOUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBGZHBDZWxsU2VsZWN0YWJsZURpcmVjdGl2ZSxcbiAgICBGZHBUYWJsZUNlbGwsXG4gICAgRmRwVGFibGVIZWFkZXIsXG4gICAgRmRwVmlld1NldHRpbmdzRmlsdGVyQ3VzdG9tRGVmLFxuICAgIFBsYXRmb3JtVGFibGVDZWxsUmVzaXphYmxlRGlyZWN0aXZlLFxuICAgIFBsYXRmb3JtVGFibGVDb2x1bW5SZXNwb25zaXZlRGlyZWN0aXZlLFxuICAgIFRhYmxlQ2VsbEhlYWRlclBvcG92ZXJEaXJlY3RpdmUsXG4gICAgVGFibGVEYXRhU291cmNlRGlyZWN0aXZlLFxuICAgIFRhYmxlSGVhZGVyUmVzaXplckRpcmVjdGl2ZSxcbiAgICBUYWJsZVNjcm9sbGFibGVEaXJlY3RpdmUsXG4gICAgVGFibGVEcmFnZ2FibGVEaXJlY3RpdmUsXG4gICAgVGFibGVJbml0aWFsU3RhdGVEaXJlY3RpdmUsXG4gICAgVGFibGVWaXJ0dWFsU2Nyb2xsRGlyZWN0aXZlLFxuICAgIEZkcENlbGxEZWYsXG4gICAgRmRwRWRpdGFibGVDZWxsRm9ybURpcmVjdGl2ZSxcbiAgICBGZHBFZGl0YWJsZUNlbGxEZWYsXG4gICAgRmRwSGVhZGVyQ2VsbERlZlxufSBmcm9tICcuL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgQ29sdW1uUmVzaXphYmxlU2lkZVBpcGUsIFJvd0NsYXNzZXNQaXBlLCBTZWxlY3Rpb25DZWxsU3R5bGVzUGlwZSwgVGFibGVDZWxsU3R5bGVzUGlwZSB9IGZyb20gJy4vcGlwZXMnO1xuXG5jb25zdCBpbXBvcnRFeHBvcnRzID0gW1xuICAgIFRhYmxlSW5pdGlhbFN0YXRlRGlyZWN0aXZlLFxuICAgIFRhYmxlRHJhZ2dhYmxlRGlyZWN0aXZlLFxuICAgIFRhYmxlVmlydHVhbFNjcm9sbERpcmVjdGl2ZSxcbiAgICBQbGF0Zm9ybVRhYmxlQ29sdW1uUmVzcG9uc2l2ZURpcmVjdGl2ZSxcbiAgICBGZHBUYWJsZUNlbGwsXG4gICAgVGFibGVDZWxsSGVhZGVyUG9wb3ZlckRpcmVjdGl2ZSxcbiAgICBQbGF0Zm9ybVRhYmxlQ2VsbFJlc2l6YWJsZURpcmVjdGl2ZSxcbiAgICBGZHBDZWxsU2VsZWN0YWJsZURpcmVjdGl2ZSxcbiAgICBUYWJsZURhdGFTb3VyY2VEaXJlY3RpdmUsXG4gICAgVGFibGVEcmFnZ2FibGVEaXJlY3RpdmUsXG4gICAgRmRwVGFibGVIZWFkZXIsXG4gICAgVGFibGVIZWFkZXJSZXNpemVyRGlyZWN0aXZlLFxuICAgIFRhYmxlSW5pdGlhbFN0YXRlRGlyZWN0aXZlLFxuICAgIFRhYmxlU2Nyb2xsYWJsZURpcmVjdGl2ZSxcbiAgICBGZHBDZWxsRGVmLFxuICAgIEZkcEVkaXRhYmxlQ2VsbERlZixcbiAgICBGZHBFZGl0YWJsZUNlbGxGb3JtRGlyZWN0aXZlLFxuICAgIEZkcFZpZXdTZXR0aW5nc0ZpbHRlckN1c3RvbURlZixcbiAgICBUYWJsZVZpcnR1YWxTY3JvbGxEaXJlY3RpdmUsXG4gICAgRmRwSGVhZGVyQ2VsbERlZixcbiAgICBTZWxlY3Rpb25DZWxsU3R5bGVzUGlwZSxcbiAgICBUYWJsZUNlbGxTdHlsZXNQaXBlLFxuICAgIENvbHVtblJlc2l6YWJsZVNpZGVQaXBlLFxuICAgIFJvd0NsYXNzZXNQaXBlXG5dO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFsuLi5pbXBvcnRFeHBvcnRzXSxcbiAgICBleHBvcnRzOiBbLi4uaW1wb3J0RXhwb3J0c11cbn0pXG5leHBvcnQgY2xhc3MgVGFibGVIZWxwZXJzTW9kdWxlIHt9XG4iXX0=
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtaGVscGVycy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvdGFibGUtaGVscGVycy90YWJsZS1oZWxwZXJzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDSCxVQUFVLEVBQ1YsMEJBQTBCLEVBQzFCLGtCQUFrQixFQUNsQiw0QkFBNEIsRUFDNUIsZ0JBQWdCLEVBQ2hCLFlBQVksRUFDWixjQUFjLEVBQ2QsOEJBQThCLEVBQzlCLG1DQUFtQyxFQUNuQyxzQ0FBc0MsRUFDdEMsK0JBQStCLEVBQy9CLHdCQUF3QixFQUN4Qix1QkFBdUIsRUFDdkIsMkJBQTJCLEVBQzNCLDBCQUEwQixFQUMxQix3QkFBd0IsRUFDeEIsMkJBQTJCLEVBQzlCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsY0FBYyxFQUNkLHVCQUF1QixFQUN2QixtQkFBbUIsRUFDbkIsK0JBQStCLEVBQ2xDLE1BQU0sU0FBUyxDQUFDOztBQUVqQixNQUFNLGFBQWEsR0FBRztJQUNsQiwwQkFBMEI7SUFDMUIsdUJBQXVCO0lBQ3ZCLDJCQUEyQjtJQUMzQixzQ0FBc0M7SUFDdEMsWUFBWTtJQUNaLCtCQUErQjtJQUMvQixtQ0FBbUM7SUFDbkMsMEJBQTBCO0lBQzFCLHdCQUF3QjtJQUN4Qix1QkFBdUI7SUFDdkIsY0FBYztJQUNkLDJCQUEyQjtJQUMzQiwwQkFBMEI7SUFDMUIsd0JBQXdCO0lBQ3hCLFVBQVU7SUFDVixrQkFBa0I7SUFDbEIsNEJBQTRCO0lBQzVCLDhCQUE4QjtJQUM5QiwyQkFBMkI7SUFDM0IsZ0JBQWdCO0lBQ2hCLHVCQUF1QjtJQUN2QixtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLGNBQWM7SUFDZCwrQkFBK0I7Q0FDbEMsQ0FBQztBQU1GLE1BQU0sT0FBTyxrQkFBa0I7OytHQUFsQixrQkFBa0I7Z0hBQWxCLGtCQUFrQixZQS9CM0IsMEJBQTBCO1FBQzFCLHVCQUF1QjtRQUN2QiwyQkFBMkI7UUFDM0Isc0NBQXNDO1FBQ3RDLFlBQVk7UUFDWiwrQkFBK0I7UUFDL0IsbUNBQW1DO1FBQ25DLDBCQUEwQjtRQUMxQix3QkFBd0I7UUFDeEIsdUJBQXVCO1FBQ3ZCLGNBQWM7UUFDZCwyQkFBMkI7UUFDM0IsMEJBQTBCO1FBQzFCLHdCQUF3QjtRQUN4QixVQUFVO1FBQ1Ysa0JBQWtCO1FBQ2xCLDRCQUE0QjtRQUM1Qiw4QkFBOEI7UUFDOUIsMkJBQTJCO1FBQzNCLGdCQUFnQjtRQUNoQix1QkFBdUI7UUFDdkIsbUJBQW1CO1FBQ25CLHVCQUF1QjtRQUN2QixjQUFjO1FBQ2QsK0JBQStCLGFBeEIvQiwwQkFBMEI7UUFDMUIsdUJBQXVCO1FBQ3ZCLDJCQUEyQjtRQUMzQixzQ0FBc0M7UUFDdEMsWUFBWTtRQUNaLCtCQUErQjtRQUMvQixtQ0FBbUM7UUFDbkMsMEJBQTBCO1FBQzFCLHdCQUF3QjtRQUN4Qix1QkFBdUI7UUFDdkIsY0FBYztRQUNkLDJCQUEyQjtRQUMzQiwwQkFBMEI7UUFDMUIsd0JBQXdCO1FBQ3hCLFVBQVU7UUFDVixrQkFBa0I7UUFDbEIsNEJBQTRCO1FBQzVCLDhCQUE4QjtRQUM5QiwyQkFBMkI7UUFDM0IsZ0JBQWdCO1FBQ2hCLHVCQUF1QjtRQUN2QixtQkFBbUI7UUFDbkIsdUJBQXVCO1FBQ3ZCLGNBQWM7UUFDZCwrQkFBK0I7Z0hBT3RCLGtCQUFrQjsyRkFBbEIsa0JBQWtCO2tCQUo5QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLEdBQUcsYUFBYSxDQUFDO29CQUMzQixPQUFPLEVBQUUsQ0FBQyxHQUFHLGFBQWEsQ0FBQztpQkFDOUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBGZHBDZWxsRGVmLFxuICAgIEZkcENlbGxTZWxlY3RhYmxlRGlyZWN0aXZlLFxuICAgIEZkcEVkaXRhYmxlQ2VsbERlZixcbiAgICBGZHBFZGl0YWJsZUNlbGxGb3JtRGlyZWN0aXZlLFxuICAgIEZkcEhlYWRlckNlbGxEZWYsXG4gICAgRmRwVGFibGVDZWxsLFxuICAgIEZkcFRhYmxlSGVhZGVyLFxuICAgIEZkcFZpZXdTZXR0aW5nc0ZpbHRlckN1c3RvbURlZixcbiAgICBQbGF0Zm9ybVRhYmxlQ2VsbFJlc2l6YWJsZURpcmVjdGl2ZSxcbiAgICBQbGF0Zm9ybVRhYmxlQ29sdW1uUmVzcG9uc2l2ZURpcmVjdGl2ZSxcbiAgICBUYWJsZUNlbGxIZWFkZXJQb3BvdmVyRGlyZWN0aXZlLFxuICAgIFRhYmxlRGF0YVNvdXJjZURpcmVjdGl2ZSxcbiAgICBUYWJsZURyYWdnYWJsZURpcmVjdGl2ZSxcbiAgICBUYWJsZUhlYWRlclJlc2l6ZXJEaXJlY3RpdmUsXG4gICAgVGFibGVJbml0aWFsU3RhdGVEaXJlY3RpdmUsXG4gICAgVGFibGVTY3JvbGxhYmxlRGlyZWN0aXZlLFxuICAgIFRhYmxlVmlydHVhbFNjcm9sbERpcmVjdGl2ZVxufSBmcm9tICcuL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHtcbiAgICBDb2x1bW5SZXNpemFibGVTaWRlUGlwZSxcbiAgICBSb3dDbGFzc2VzUGlwZSxcbiAgICBTZWxlY3Rpb25DZWxsU3R5bGVzUGlwZSxcbiAgICBUYWJsZUNlbGxTdHlsZXNQaXBlLFxuICAgIFRhYmxlQ29sdW1uU29ydGluZ0RpcmVjdGlvblBpcGVcbn0gZnJvbSAnLi9waXBlcyc7XG5cbmNvbnN0IGltcG9ydEV4cG9ydHMgPSBbXG4gICAgVGFibGVJbml0aWFsU3RhdGVEaXJlY3RpdmUsXG4gICAgVGFibGVEcmFnZ2FibGVEaXJlY3RpdmUsXG4gICAgVGFibGVWaXJ0dWFsU2Nyb2xsRGlyZWN0aXZlLFxuICAgIFBsYXRmb3JtVGFibGVDb2x1bW5SZXNwb25zaXZlRGlyZWN0aXZlLFxuICAgIEZkcFRhYmxlQ2VsbCxcbiAgICBUYWJsZUNlbGxIZWFkZXJQb3BvdmVyRGlyZWN0aXZlLFxuICAgIFBsYXRmb3JtVGFibGVDZWxsUmVzaXphYmxlRGlyZWN0aXZlLFxuICAgIEZkcENlbGxTZWxlY3RhYmxlRGlyZWN0aXZlLFxuICAgIFRhYmxlRGF0YVNvdXJjZURpcmVjdGl2ZSxcbiAgICBUYWJsZURyYWdnYWJsZURpcmVjdGl2ZSxcbiAgICBGZHBUYWJsZUhlYWRlcixcbiAgICBUYWJsZUhlYWRlclJlc2l6ZXJEaXJlY3RpdmUsXG4gICAgVGFibGVJbml0aWFsU3RhdGVEaXJlY3RpdmUsXG4gICAgVGFibGVTY3JvbGxhYmxlRGlyZWN0aXZlLFxuICAgIEZkcENlbGxEZWYsXG4gICAgRmRwRWRpdGFibGVDZWxsRGVmLFxuICAgIEZkcEVkaXRhYmxlQ2VsbEZvcm1EaXJlY3RpdmUsXG4gICAgRmRwVmlld1NldHRpbmdzRmlsdGVyQ3VzdG9tRGVmLFxuICAgIFRhYmxlVmlydHVhbFNjcm9sbERpcmVjdGl2ZSxcbiAgICBGZHBIZWFkZXJDZWxsRGVmLFxuICAgIFNlbGVjdGlvbkNlbGxTdHlsZXNQaXBlLFxuICAgIFRhYmxlQ2VsbFN0eWxlc1BpcGUsXG4gICAgQ29sdW1uUmVzaXphYmxlU2lkZVBpcGUsXG4gICAgUm93Q2xhc3Nlc1BpcGUsXG4gICAgVGFibGVDb2x1bW5Tb3J0aW5nRGlyZWN0aW9uUGlwZVxuXTtcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbLi4uaW1wb3J0RXhwb3J0c10sXG4gICAgZXhwb3J0czogWy4uLmltcG9ydEV4cG9ydHNdXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlSGVscGVyc01vZHVsZSB7fVxuIl19
@@ -832,7 +832,7 @@ export class UploadCollectionComponent {
832
832
  }
833
833
  }
834
834
  UploadCollectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UploadCollectionComponent, deps: [{ token: i1.DialogService }, { token: i2.FilesValidatorService }, { token: i0.ChangeDetectorRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
835
- UploadCollectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: UploadCollectionComponent, selector: "fdp-upload-collection", inputs: { id: "id", itemsPerPage: "itemsPerPage", dataSource: "dataSource", fileTypes: "fileTypes", maxFileSize: "maxFileSize", maxFilenameLength: "maxFilenameLength", mimeTypes: "mimeTypes", noDataText: "noDataText", noDataDescription: "noDataDescription", disabled: "disabled", readonly: "readonly", hierarchy: "hierarchy", enablePagination: "enablePagination", terminationEnabled: "terminationEnabled", multiple: "multiple", showSearch: "showSearch", sameFileNameAllowed: "sameFileNameAllowed" }, outputs: { typeMismatch: "typeMismatch", filenameLengthExceed: "filenameLengthExceed", fileSizeExceed: "fileSizeExceed" }, viewQueries: [{ propertyName: "_uploadFilesRef", first: true, predicate: ["fileInput"], descendants: true }, { propertyName: "_updateVersionRef", first: true, predicate: ["updateVersionInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div [id]=\"id\" class=\"fdp-upload-collection\">\n <!-- Message strip -->\n <fd-message-strip *ngIf=\"_message\" [type]=\"_message.messageStripType\" (onDismiss)=\"_messageStripDismiss()\">\n <ng-container\n [ngTemplateOutlet]=\"message\"\n [ngTemplateOutletContext]=\"{\n messageType: _message.messageType,\n payload: _message.payload,\n messageStripType: _message.messageStripType,\n count: _message.count\n }\"\n ></ng-container>\n </fd-message-strip>\n\n <!-- Toolbar -->\n <fd-toolbar class=\"fdp-upload-collection__toolbar\">\n <div style=\"flex: 1 auto\">\n <fd-breadcrumb [id]=\"id + '-breadcrumb'\">\n <fd-breadcrumb-item>\n <ng-template #multipleBreadcrumbs>\n <a href=\"#\" fd-link (click)=\"_breadcrumbGoTo($event)\">\n {{ 'platformUploadCollection.breadcrumbLabelAllFiles' | fdTranslate }}\n </a>\n </ng-template>\n <ng-template #singleBreadcrumb>\n <span>\n {{\n 'platformUploadCollection.breadcrumbLabelAllFilesWithTotal'\n | fdTranslate : { total: _totalItems }\n }}\n </span>\n </ng-template>\n <ng-container\n *ngTemplateOutlet=\"_breadcrumbList.length > 0 ? multipleBreadcrumbs : singleBreadcrumb\"\n ></ng-container>\n </fd-breadcrumb-item>\n <fd-breadcrumb-item *ngFor=\"let item of _breadcrumbList; let i = index\">\n <ng-template #clickableBreadcrumb>\n <a href=\"#\" fd-link (click)=\"_breadcrumbGoTo($event, i)\">{{ item.folderName }}</a>\n </ng-template>\n <ng-template #textBreadcrumb>\n <span>{{ item.folderName }} ({{ _totalItems }})</span>\n </ng-template>\n <ng-container\n *ngTemplateOutlet=\"item.clikable ? clickableBreadcrumb : textBreadcrumb\"\n ></ng-container>\n </fd-breadcrumb-item>\n </fd-breadcrumb>\n </div>\n\n <fd-toolbar-spacer style=\"max-width: 3rem\"></fd-toolbar-spacer>\n <ng-container *ngIf=\"readonly || selectedItems.length === 0\">\n <fd-input-group\n *ngIf=\"showSearch\"\n [(ngModel)]=\"_searchText\"\n (ngModelChange)=\"_searchInputChanged()\"\n glyph=\"search\"\n [ariaLabelledBy]=\"id + '-breadcrumb'\"\n [placeholder]=\"'platformUploadCollection.searchPlaceholder' | fdTranslate\"\n ></fd-input-group>\n\n <ng-container *ngIf=\"!readonly\">\n <button\n fd-toolbar-item\n fd-button\n (click)=\"_openUploadFiles()\"\n fdType=\"ghost\"\n [disabled]=\"disabled\"\n [label]=\"'platformUploadCollection.addBtnLabel' | fdTranslate\"\n [title]=\"'platformUploadCollection.addBtnLabel' | fdTranslate\"\n ></button>\n\n <button\n fd-toolbar-item\n fd-button\n (click)=\"_openNewFolderDialog()\"\n *ngIf=\"hierarchy\"\n [disabled]=\"disabled\"\n fdType=\"transparent\"\n [label]=\"'platformUploadCollection.newFolderBtnLabel' | fdTranslate\"\n [title]=\"'platformUploadCollection.newFolderBtnLabel' | fdTranslate\"\n ></button>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"!readonly && selectedItems.length > 0\">\n <button\n fd-toolbar-item\n fd-button\n (click)=\"_moveToClicked(true)\"\n fdType=\"ghost\"\n [disabled]=\"disabled\"\n [label]=\"'platformUploadCollection.moveToBtnLabel' | fdTranslate\"\n [title]=\"'platformUploadCollection.moveToBtnLabel' | fdTranslate\"\n ></button>\n <button\n fd-toolbar-item\n fd-button\n (click)=\"_downloadClicked(true)\"\n fdType=\"ghost\"\n [disabled]=\"disabled\"\n *ngIf=\"_showIfSelectedOnlyFiles()\"\n [label]=\"'platformUploadCollection.downloadBtnLabel' | fdTranslate\"\n [title]=\"'platformUploadCollection.downloadBtnLabel' | fdTranslate\"\n ></button>\n <button\n fd-toolbar-item\n fd-button\n (click)=\"_remove(true)\"\n fdType=\"ghost\"\n [disabled]=\"disabled\"\n [label]=\"'platformUploadCollection.removeBtnLabel' | fdTranslate\"\n [title]=\"'platformUploadCollection.removeBtnLabel' | fdTranslate\"\n ></button>\n </ng-container>\n </fd-toolbar>\n\n <div class=\"fdp-upload-collection__table--wrapper\">\n <div\n class=\"fdp-upload-collection__table\"\n fdpUploadCollectionDragnDrop\n [fileTypes]=\"fileTypes\"\n [maxFilenameLength]=\"maxFilenameLength\"\n [maxFileSize]=\"maxFileSize\"\n [mimeTypes]=\"mimeTypes\"\n [dragndrop]=\"!readonly\"\n [disabled]=\"disabled\"\n [multiple]=\"multiple\"\n (fileChanged)=\"_handleDrop($event)\"\n (cancel)=\"_dragDropCancel()\"\n (onDropzone)=\"_onDropzone($event)\"\n >\n <!-- Table -->\n <fdp-table\n *ngIf=\"_visibleList$.value.length > 0\"\n [dataSource]=\"_visibleList$\"\n [loading]=\"dataSource.isDataLoading\"\n selectionMode=\"multiple\"\n emptyTableMessage=\"\"\n [noHorizontalBorders]=\"true\"\n [trackBy]=\"_trackByDocumentId\"\n (rowSelectionChange)=\"_onRowSelectionChange($event)\"\n >\n <fdp-column name=\"name\" label=\"Name\" width=\"8rem\">\n <fdp-table-cell *fdpCellDef=\"let item\">\n <div class=\"fdp-upload-collection__vertical-align-center\">\n <fd-icon\n class=\"fdp-upload-collection__fd-icon\"\n *ngIf=\"item.type === 'folder'\"\n glyph=\"folder-blank\"\n [title]=\"'platformUploadCollection.folderIconTitle' | fdTranslate\"\n ></fd-icon>\n <fd-icon\n class=\"fdp-upload-collection__fd-icon\"\n *ngIf=\"item.type === 'file'\"\n [glyph]=\"_getIconByType(item)\"\n [title]=\"'platformUploadCollection.fileIconTitle' | fdTranslate\"\n ></fd-icon>\n\n <ng-container *ngIf=\"disabled || readonly || !_isSelectedItem(item); else editMode\">\n <span\n [class.fdp-upload-collection__cursor]=\"item.type === 'folder'\"\n (click)=\"_openFolder(item)\"\n >{{ item.name }}</span\n >\n </ng-container>\n </div>\n\n <ng-template #editMode>\n <div fd-form-item>\n <fd-form-input-message-group [triggers]=\"[]\" [isOpen]=\"!!item.sameFilenameState\">\n <div class=\"fdp-upload-collection__vertical-align-center\">\n <input\n fd-form-control\n [value]=\"_getItemName(item)\"\n (blur)=\"_fileNameChange($event, item)\"\n (input)=\"_checkName($event, item)\"\n type=\"text\"\n [placeholder]=\"\n 'platformUploadCollection.editFileNameInputPlaceholder' | fdTranslate\n \"\n [state]=\"item.sameFilenameState\"\n />\n <span class=\"fdp-upload-collection__item_extension\">{{\n _getItemExtension(item)\n }}</span>\n </div>\n\n <fd-form-message [type]=\"item.sameFilenameState\">\n {{\n (item.type === 'file'\n ? 'platformUploadCollection.editFileNameFileAlreadyExistsError'\n : 'platformUploadCollection.editFileNameFolderAlreadyExistsError'\n ) | fdTranslate\n }}\n </fd-form-message>\n </fd-form-input-message-group>\n </div>\n </ng-template>\n </fdp-table-cell>\n </fdp-column>\n\n <fdp-column name=\"uploadedBy\" label=\"Uploaded by\" width=\"5rem\">\n <fdp-table-cell *fdpCellDef=\"let item\">{{ item.uploadedBy.name }}</fdp-table-cell>\n </fdp-column>\n\n <fdp-column name=\"uploadedOn\" label=\"Uploaded on\" width=\"5rem\">\n <fdp-table-cell *fdpCellDef=\"let item\">{{ item.uploadedOn | date : 'shortDate' }}</fdp-table-cell>\n </fdp-column>\n\n <fdp-column name=\"size\" label=\"File size\" width=\"5rem\">\n <fdp-table-cell *fdpCellDef=\"let item\">{{ item.fileSize | convertBytes }}</fdp-table-cell>\n </fdp-column>\n\n <fdp-column name=\"version\" label=\"Version\" width=\"5rem\">\n <fdp-table-cell *fdpCellDef=\"let item\">{{ item.version || '' }}</fdp-table-cell>\n </fdp-column>\n\n <fdp-column name=\"status\" label=\"Status\" width=\"5rem\">\n <fdp-table-cell *fdpCellDef=\"let item\">\n <fd-busy-indicator\n *ngIf=\"item.status === _uploadCollectionItemStatus.LOADING\"\n [loading]=\"true\"\n ariaLabel=\"Status: Loading\"\n ariaLive=\"polite\"\n size=\"s\"\n ></fd-busy-indicator>\n <span\n *ngIf=\"item.status === _uploadCollectionItemStatus.SUCCESSFUL\"\n fd-object-status\n status=\"positive\"\n >\n {{ 'platformUploadCollection.itemStatusSuccessful' | fdTranslate }}\n </span>\n <span\n *ngIf=\"item.status === _uploadCollectionItemStatus.UNSUCCESSFUL\"\n fd-object-status\n status=\"negative\"\n >\n {{ 'platformUploadCollection.itemStatusUnsuccessful' | fdTranslate }}\n </span>\n </fdp-table-cell>\n </fdp-column>\n\n <fdp-column name=\"action\" *ngIf=\"!readonly\" width=\"5rem\" align=\"end\">\n <fdp-table-header *fdpHeaderCellDef>Action</fdp-table-header>\n <fdp-table-cell *fdpCellDef=\"let item\">\n <div class=\"fdp-upload-collection__actions\">\n <div class=\"fdp-upload-collection__actions--status\">\n <button\n fd-button\n [label]=\"'platformUploadCollection.uploadNewFileAfterFailAction' | fdTranslate\"\n [title]=\"'platformUploadCollection.uploadNewFileAfterFailAction' | fdTranslate\"\n (click)=\"_runUploadNewFileAfterFail(item)\"\n fdType=\"ghost\"\n [disabled]=\"disabled\"\n *ngIf=\"item.status === _uploadCollectionItemStatus.UNSUCCESSFUL\"\n ></button>\n\n <button\n fd-button\n [label]=\"'platformUploadCollection.cancelUploadNewFileAction' | fdTranslate\"\n [title]=\"'platformUploadCollection.cancelUploadNewFileAction' | fdTranslate\"\n fdType=\"ghost\"\n [disabled]=\"disabled\"\n (click)=\"_cancelUploadNewFile(item)\"\n *ngIf=\"terminationEnabled && item.status === _uploadCollectionItemStatus.LOADING\"\n ></button>\n </div>\n\n <fdp-menu-button\n icon=\"overflow\"\n [disabled]=\"disabled\"\n type=\"transparent\"\n [title]=\"'platformUploadCollection.itemMenuBtnTitle' | fdTranslate\"\n [fdpMenuTriggerFor]=\"menuActions\"\n (buttonClicked)=\"_actionButton(item)\"\n >\n </fdp-menu-button>\n </div>\n </fdp-table-cell>\n </fdp-column>\n </fdp-table>\n\n <!-- Dragdrop area -->\n <div\n class=\"fdp-upload-collection__dragdrop-area\"\n *ngIf=\"_showDragDropArea\"\n [class.active]=\"_onDragDropArea\"\n >\n <fd-icon class=\"fdp-upload-collection__dragdrop-area--icon\" glyph=\"upload-to-cloud\"></fd-icon>\n <p class=\"fdp-upload-collection__dragdrop-area--text\">\n {{ 'platformUploadCollection.dragDropAreaText' | fdTranslate }}\n </p>\n </div>\n\n <!-- No data -->\n <div\n class=\"fdp-upload-collection__no-data\"\n *ngIf=\"_visibleList$.value.length === 0\"\n [class.invisible]=\"_showDragDropArea\"\n >\n <fd-icon glyph=\"document\"></fd-icon>\n <h3>{{ noDataText || ('platformUploadCollection.noDataText' | fdTranslate) }}</h3>\n <p>{{ noDataDescription || ('platformUploadCollection.noDataDescription' | fdTranslate) }}</p>\n </div>\n </div>\n\n <!-- Table footer -->\n <div class=\"fdp-upload-collection__table-footer\" *ngIf=\"enablePagination\">\n <!-- Pagination -->\n <div class=\"fdp-upload-collection__pagination\">\n <span [id]=\"id + '-pagination'\" class=\"fdp-upload-collection__pagination--total\">\n {{\n 'platformUploadCollection.paginationTotal'\n | fdTranslate : { from: _countShowedItems, to: _countNotShowedItems, total: _totalItems }\n }}\n </span>\n <fd-pagination\n [totalItems]=\"_totalItems\"\n [displayTotalItems]=\"false\"\n (pageChangeStart)=\"_pageChanged($event)\"\n [itemsPerPage]=\"_itemsPerPage\"\n [currentPage]=\"_currentPage\"\n [attr.aria-labelledby]=\"id + '-pagination'\"\n ></fd-pagination>\n </div>\n\n <!-- Results per page -->\n <div class=\"fdp-upload-collection__results\">\n <span class=\"fdp-upload-collection__results--title\">\n <span [id]=\"id + '-results'\">\n {{ 'platformUploadCollection.resultsPerPage' | fdTranslate }}\n </span>\n <span *ngIf=\"_itemsPerPageOptions.length === 0\">{{ _itemsPerPage }}</span>\n </span>\n <fdp-menu-button\n *ngIf=\"_itemsPerPageOptions.length > 0\"\n type=\"ghost\"\n [ariaLabelledBy]=\"id + '-results'\"\n [fdpMenuTriggerFor]=\"itemsPerPageMenu\"\n [label]=\"_itemsPerPage + ''\"\n >\n </fdp-menu-button>\n </div>\n </div>\n </div>\n</div>\n\n<fdp-menu #itemsPerPageMenu xPosition=\"before\">\n <fdp-menu-item\n *ngFor=\"let value of _itemsPerPageOptions\"\n (itemSelect)=\"_itemsPerPageChange(value.label)\"\n [attr.title]=\"'Results per page: ' + value.label\"\n >\n <span>{{ value.label }}</span>\n </fdp-menu-item>\n</fdp-menu>\n\n<fdp-menu #menuActions xPosition=\"before\">\n <fdp-menu-item (itemSelect)=\"_moveToClicked()\">\n <fd-icon\n class=\"fdp-upload-collection__fd-icon\"\n glyph=\"folder-blank\"\n [title]=\"'platformUploadCollection.moveToBtnLabel' | fdTranslate\"\n ></fd-icon>\n <span>\n {{ 'platformUploadCollection.moveToBtnLabel' | fdTranslate }}\n </span>\n </fdp-menu-item>\n <ng-container *ngIf=\"_activeItem?.type === 'file'\">\n <fdp-menu-item (itemSelect)=\"_downloadClicked()\">\n <fd-icon\n class=\"fdp-upload-collection__fd-icon\"\n glyph=\"download\"\n [title]=\"'platformUploadCollection.downloadBtnLabel' | fdTranslate\"\n ></fd-icon>\n <span>\n {{ 'platformUploadCollection.downloadBtnLabel' | fdTranslate }}\n </span>\n </fdp-menu-item>\n <fdp-menu-item (itemSelect)=\"_openUpdateFileVersion()\">\n <fd-icon\n class=\"fdp-upload-collection__fd-icon\"\n glyph=\"drill-up\"\n [title]=\"'platformUploadCollection.updateVersionBtnLabel' | fdTranslate\"\n ></fd-icon>\n <span>\n {{ 'platformUploadCollection.updateVersionBtnLabel' | fdTranslate }}\n </span>\n </fdp-menu-item>\n </ng-container>\n <fdp-menu-item (itemSelect)=\"_remove()\">\n <fd-icon\n class=\"fdp-upload-collection__fd-icon\"\n glyph=\"delete\"\n [title]=\"'platformUploadCollection.removeBtnLabel' | fdTranslate\"\n ></fd-icon>\n <span>\n {{ 'platformUploadCollection.removeBtnLabel' | fdTranslate }}\n </span>\n </fdp-menu-item>\n</fdp-menu>\n\n<input\n #fileInput\n class=\"fdp-upload-collection__hidden\"\n type=\"file\"\n (fileSelected)=\"_selectHandler($event)\"\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n fdFileSelect\n/>\n\n<input\n #updateVersionInput\n class=\"fdp-upload-collection__hidden\"\n type=\"file\"\n (fileSelected)=\"_selectHandler($event)\"\n [disabled]=\"disabled\"\n [multiple]=\"false\"\n fdFileSelect\n/>\n\n<ng-template\n let-messageType=\"messageType\"\n let-payload=\"payload\"\n let-messageStripType=\"messageStripType\"\n let-count=\"count\"\n #message\n>\n <ng-container *ngIf=\"_message\" [ngSwitch]=\"messageType\">\n <ng-container\n *ngSwitchCase=\"_messageType.CREATE\"\n [ngTemplateOutlet]=\"messageNewFolder\"\n [ngTemplateOutletContext]=\"{\n messageStripType: _message.messageStripType,\n payload: _message.payload\n }\"\n ></ng-container>\n\n <ng-container\n *ngSwitchCase=\"_messageType.UPDATE_VERSION\"\n [ngTemplateOutlet]=\"messageUpdateVersion\"\n [ngTemplateOutletContext]=\"{\n messageStripType: _message.messageStripType,\n payload: _message.payload\n }\"\n ></ng-container>\n\n <ng-container\n *ngSwitchCase=\"_messageType.FILE_RENAME\"\n [ngTemplateOutlet]=\"messageFileRename\"\n [ngTemplateOutletContext]=\"{\n messageStripType: _message.messageStripType,\n payload: _message.payload\n }\"\n ></ng-container>\n\n <ng-container\n *ngSwitchCase=\"_messageType.REMOVE\"\n [ngTemplateOutlet]=\"messageRemove\"\n [ngTemplateOutletContext]=\"{\n payload: _message.payload,\n messageStripType: _message.messageStripType,\n count: _message.count\n }\"\n ></ng-container>\n\n <ng-container\n *ngSwitchCase=\"_messageType.MOVE\"\n [ngTemplateOutlet]=\"messageMove\"\n [ngTemplateOutletContext]=\"{\n payload: _message.payload,\n messageStripType: _message.messageStripType,\n count: _message.count\n }\"\n ></ng-container>\n\n <ng-container\n *ngSwitchCase=\"_messageType.TYPE_MISMATCH\"\n [ngTemplateOutlet]=\"messageTypeMismatch\"\n [ngTemplateOutletContext]=\"{\n payload: _message.payload,\n messageStripType: _message.messageStripType,\n count: _message.count\n }\"\n ></ng-container>\n\n <ng-container\n *ngSwitchCase=\"_messageType.FILE_SIZE\"\n [ngTemplateOutlet]=\"messageFileSize\"\n [ngTemplateOutletContext]=\"{\n payload: _message.payload,\n messageStripType: _message.messageStripType,\n count: _message.count\n }\"\n ></ng-container>\n\n <ng-container\n *ngSwitchCase=\"_messageType.FILE_NAME_LENGTH\"\n [ngTemplateOutlet]=\"messageFilenameLength\"\n [ngTemplateOutletContext]=\"{\n payload: _message.payload,\n messageStripType: _message.messageStripType,\n count: _message.count\n }\"\n ></ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #messageNewFolder let-payload=\"payload\" let-messageStripType=\"messageStripType\">\n <ng-container *ngIf=\"messageStripType === 'error'; else foldersCreated\">\n {{ 'platformUploadCollection.messageCreateFailed' | fdTranslate : { folderName: payload.folder.name } }}\n </ng-container>\n <ng-template #foldersCreated>\n {{ 'platformUploadCollection.messageCreateSuccess' | fdTranslate : { folderName: payload.folder.name } }}\n </ng-template>\n</ng-template>\n\n<ng-template #messageUpdateVersion let-payload=\"payload\" let-messageStripType=\"messageStripType\">\n <ng-container *ngIf=\"messageStripType === 'error'; else versionUpdated\">\n {{ 'platformUploadCollection.messageUpdateVersionFailed' | fdTranslate : { folderName: payload.item.name } }}\n </ng-container>\n <ng-template #versionUpdated>\n {{ 'platformUploadCollection.messageUpdateVersionSuccess' | fdTranslate : { folderName: payload.item.name } }}\n </ng-template>\n</ng-template>\n\n<ng-template #messageFileRename let-payload=\"payload\" let-messageStripType=\"messageStripType\">\n <ng-container *ngIf=\"messageStripType === 'error'; else fileRenamed\">\n {{\n 'platformUploadCollection.messageFileRenameFailed'\n | fdTranslate : { from: payload.item.name, to: payload.fileName }\n }}\n </ng-container>\n <ng-template #fileRenamed>\n {{\n 'platformUploadCollection.messageFileRenameSuccess'\n | fdTranslate : { from: payload.item.name, to: payload.fileName }\n }}\n </ng-template>\n</ng-template>\n\n<ng-template #messageRemove let-payload=\"payload\" let-messageStripType=\"messageStripType\" let-count=\"count\">\n <ng-container *ngIf=\"payload.items.length > 1 && count.folder && count.file\">\n <ng-container *ngIf=\"messageStripType === 'error'; else foldersAndFilesRemoved\">\n {{\n 'platformUploadCollection.messageRemoveFoldersAndFilesFailed'\n | fdTranslate : { foldersCount: count.folder, filesCount: count.file }\n }}\n </ng-container>\n <ng-template #foldersAndFilesRemoved>\n {{\n 'platformUploadCollection.messageRemoveFoldersAndFilesSuccess'\n | fdTranslate : { foldersCount: count.folder, filesCount: count.file }\n }}\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"payload.items.length > 1 && count.folder && !count.file\">\n <ng-container *ngIf=\"messageStripType === 'error'; else foldersRemoved\">\n {{ 'platformUploadCollection.messageRemoveFoldersFailed' | fdTranslate : { foldersCount: count.folder } }}\n </ng-container>\n <ng-template #foldersRemoved>\n {{ 'platformUploadCollection.messageRemoveFoldersSuccess' | fdTranslate : { foldersCount: count.folder } }}\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"payload.items.length > 1 && count.file && !count.folder\">\n <ng-container *ngIf=\"messageStripType === 'error'; else filesRemoved\">\n {{ 'platformUploadCollection.messageRemoveFilesFailed' | fdTranslate : { filesCount: count.file } }}\n </ng-container>\n <ng-template #filesRemoved>\n {{ 'platformUploadCollection.messageRemoveFilesSuccess' | fdTranslate : { filesCount: count.file } }}\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"payload.items.length === 1\">\n <ng-container *ngIf=\"messageStripType === 'error'; else oneItemRemoved\">\n {{\n 'platformUploadCollection.messageRemoveFileOrFolderFailed'\n | fdTranslate : { name: payload.items[0].name }\n }}\n </ng-container>\n <ng-template #oneItemRemoved>\n {{\n 'platformUploadCollection.messageRemoveFileOrFolderSuccess'\n | fdTranslate : { name: payload.items[0].name }\n }}\n </ng-template>\n </ng-container>\n</ng-template>\n\n<ng-template #messageMove let-payload=\"payload\" let-messageStripType=\"messageStripType\" let-count=\"count\">\n <ng-container *ngIf=\"payload.items.length > 1 && count.folder && count.file\">\n <ng-container *ngIf=\"messageStripType === 'error'; else filesAndFoldersMovedTo\">\n {{\n (payload.to\n ? 'platformUploadCollection.messageMoveFoldersAndFilesFailed'\n : 'platformUploadCollection.messageMoveRootFoldersAndFilesFailed'\n ) | fdTranslate : { foldersCount: count.folder, filesCount: count.file, to: payload.to?.name }\n }}\n </ng-container>\n <ng-template #filesAndFoldersMovedTo>\n {{\n (payload.to\n ? 'platformUploadCollection.messageMoveFoldersAndFilesSuccess'\n : 'platformUploadCollection.messageMoveRootFoldersAndFilesSuccess'\n ) | fdTranslate : { foldersCount: count.folder, filesCount: count.file, to: payload.to?.name }\n }}\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"payload.items.length > 1 && count.folder && !count.file\">\n <ng-container *ngIf=\"messageStripType === 'error'; else foldersMovedTo\">\n {{\n (payload.to\n ? 'platformUploadCollection.messageMoveFoldersFailed'\n : 'platformUploadCollection.messageMoveRootFoldersFailed'\n ) | fdTranslate : { foldersCount: count.folder, to: payload.to?.name }\n }}\n </ng-container>\n <ng-template #foldersMovedTo>\n {{\n (payload.to\n ? 'platformUploadCollection.messageMoveFoldersSuccess'\n : 'platformUploadCollection.messageMoveRootFoldersSuccess'\n ) | fdTranslate : { foldersCount: count.folder, to: payload.to?.name }\n }}\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"payload.items.length > 1 && count.file && !count.folder\">\n <ng-container *ngIf=\"messageStripType === 'error'; else filesMovedTo\">\n {{\n (payload.to\n ? 'platformUploadCollection.messageMoveFilesFailed'\n : 'platformUploadCollection.messageMoveRootFilesFailed'\n ) | fdTranslate : { filesCount: count.file, to: payload.to?.name }\n }}\n </ng-container>\n <ng-template #filesMovedTo>\n {{\n (payload.to\n ? 'platformUploadCollection.messageMoveFilesSuccess'\n : 'platformUploadCollection.messageMoveRootFilesSuccess'\n ) | fdTranslate : { filesCount: count.file, to: payload.to?.name }\n }}\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"payload.items.length === 1\">\n <ng-container *ngIf=\"messageStripType === 'error'; else oneItemMovedTo\">\n {{\n (payload.to\n ? 'platformUploadCollection.messageMoveFileOrFolderFailed'\n : 'platformUploadCollection.messageMoveRootFileOrFolderFailed'\n ) | fdTranslate : { name: payload.items[0].name, to: payload.to?.name }\n }}\n </ng-container>\n <ng-template #oneItemMovedTo>\n {{\n (payload.to\n ? 'platformUploadCollection.messageMoveFileOrFolderSuccess'\n : 'platformUploadCollection.messageMoveRootFileOrFolderSuccess'\n ) | fdTranslate : { name: payload.items[0].name, to: payload.to?.name }\n }}\n </ng-template>\n </ng-container>\n</ng-template>\n\n<ng-template #messageTypeMismatch let-payload=\"payload\" let-messageStripType=\"messageStripType\" let-count=\"count\">\n <ng-container *ngIf=\"payload.items.length > 1\">\n {{\n 'platformUploadCollection.messageFileTypeMismatchPlural'\n | fdTranslate : { filesCount: payload.items.length, allowedTypes: _getAllowedTypes() }\n }}\n </ng-container>\n\n <ng-container *ngIf=\"payload.items.length === 1\">\n {{\n 'platformUploadCollection.messageFileTypeMismatchSingular'\n | fdTranslate : { fileName: payload.items[0].name, allowedTypes: _getAllowedTypes() }\n }}\n </ng-container>\n</ng-template>\n\n<ng-template #messageFileSize let-payload=\"payload\" let-messageStripType=\"messageStripType\" let-count=\"count\">\n <ng-container *ngIf=\"payload.items.length > 1\">\n {{\n 'platformUploadCollection.messageFileSizeExceededPlural'\n | fdTranslate : { filesCount: payload.items.length, maxFileSize: maxFileSize || 0 }\n }}\n </ng-container>\n\n <ng-container *ngIf=\"payload.items.length === 1\">\n {{\n 'platformUploadCollection.messageFileSizeExceededSingular'\n | fdTranslate : { fileName: payload.items[0].name, maxFileSize: maxFileSize || 0 }\n }}\n </ng-container>\n</ng-template>\n\n<ng-template #messageFilenameLength let-payload=\"payload\" let-messageStripType=\"messageStripType\" let-count=\"count\">\n <ng-container *ngIf=\"payload.items.length > 1\">\n {{\n 'platformUploadCollection.messageFileNameLengthExceededPlural'\n | fdTranslate : { filesCount: payload.items.length, maxFilenameLength: maxFilenameLength || 0 }\n }}\n </ng-container>\n\n <ng-container *ngIf=\"payload.items.length === 1\">\n {{\n 'platformUploadCollection.messageFileNameLengthExceededSingular'\n | fdTranslate : { fileName: payload.items[0].name, maxFilenameLength: maxFilenameLength || 0 }\n }}\n </ng-container>\n</ng-template>\n", styles: [".fdp-upload-collection__fd-icon{color:#0854a0!important;color:var(--sapHighlightColor)!important;margin-right:.625rem!important;font-size:1rem!important}.fdp-upload-collection fd-message-strip{margin-bottom:.625rem}.fdp-upload-collection__toolbar .fd-toolbar{margin-bottom:.625rem;border:0}.fdp-upload-collection__toolbar .fd-toolbar fd-input-group .sap-icon--search{color:#0854a0;color:var(--sapHighlightColor)}.fdp-upload-collection__no-data{text-align:center;min-height:230px;display:flex;align-items:center;flex-direction:column;justify-content:center}.fdp-upload-collection__no-data fd-icon{font-size:3rem;line-height:3rem;margin:0;color:#6a6d70;color:var(--sapContent_LabelColor)}.fdp-upload-collection__no-data h3{font-size:1.125rem;font-size:var(--sapFontHeader4Size);line-height:1rem;margin:8px 0}.fdp-upload-collection__no-data p{font-size:.875rem;font-size:var(--sapFontSize);line-height:1rem;color:#6a6d70;color:var(--sapContent_LabelColor);margin:0}.fdp-upload-collection__no-data.invisible{opacity:0}.fdp-upload-collection__table{position:relative}.fdp-upload-collection__table-footer{display:flex;justify-content:space-between;align-items:center;margin-top:.625rem}.fdp-upload-collection__table-footer .fdp-upload-collection__results--title,.fdp-upload-collection__table-footer .fdp-upload-collection__pagination--total{line-height:1.4;line-height:var(--sapContent_LineHeight);color:#32363a;color:var(--sapTextColor);font-family:\"72\",\"72full\",Arial,Helvetica,sans-serif;font-family:var(--sapFontFamily);font-weight:400;-webkit-font-smoothing:antialiased;box-sizing:border-box;padding:0;margin:0;border:0;font-size:.875rem;font-size:var(--sapFontSize);color:#6a6d70;color:var(--sapContent_LabelColor);margin-right:.5rem}.fdp-upload-collection__table-footer .fdp-upload-collection__results--title:before,.fdp-upload-collection__table-footer .fdp-upload-collection__results--title:after,.fdp-upload-collection__table-footer .fdp-upload-collection__pagination--total:before,.fdp-upload-collection__table-footer .fdp-upload-collection__pagination--total:after{box-sizing:inherit;font-size:inherit}[dir=rtl] .fdp-upload-collection__table-footer .fdp-upload-collection__results--title,.fdp-upload-collection__table-footer .fdp-upload-collection__results--title[dir=rtl],[dir=rtl] .fdp-upload-collection__table-footer .fdp-upload-collection__pagination--total,.fdp-upload-collection__table-footer .fdp-upload-collection__pagination--total[dir=rtl]{margin-right:0;margin-left:.5rem}.fdp-upload-collection__table-footer .fdp-upload-collection__pagination--total{width:100%;align-self:center}.fdp-upload-collection__table-footer .fdp-upload-collection__pagination{font-size:.875rem;font-size:var(--sapFontSize);line-height:1.4;line-height:var(--sapContent_LineHeight);color:#32363a;color:var(--sapTextColor);font-family:\"72\",\"72full\",Arial,Helvetica,sans-serif;font-family:var(--sapFontFamily);font-weight:400;-webkit-font-smoothing:antialiased;box-sizing:border-box;padding:0;margin:0;border:0;display:flex}.fdp-upload-collection__table-footer .fdp-upload-collection__pagination:before,.fdp-upload-collection__table-footer .fdp-upload-collection__pagination:after{box-sizing:inherit;font-size:inherit}.fdp-upload-collection__hidden{display:none}.fdp-upload-collection__vertical-align-center{display:flex;align-items:center}.fdp-upload-collection__cursor{cursor:pointer}.fdp-upload-collection__item_extension{white-space:nowrap}.fdp-upload-collection__actions{display:flex;justify-content:space-between;align-items:center}.fdp-upload-collection__actions .sap-icon--slim-arrow-down{display:none}.fdp-upload-collection__dragdrop-area{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;background:rgba(255,255,255,.5);outline:2px dashed transparent;outline-color:#89919a;outline-color:var(--sapField_BorderColor);outline-offset:-4px;box-sizing:border-box}.fdp-upload-collection__dragdrop-area fd-icon{font-size:3rem;line-height:3rem;margin-bottom:1rem;color:#6a6d70;color:var(--sapContent_LabelColor)}.fdp-upload-collection__dragdrop-area p{font-size:1rem;line-height:1.125rem;color:#6a6d70;color:var(--sapContent_LabelColor)}.fdp-upload-collection__dragdrop-area.active{outline-color:#0854a0;outline-color:var(--sapContent_DragAndDropActiveColor);background:rgba(8,84,160,.08)}.fdp-upload-collection__dragdrop-area.active fd-icon,.fdp-upload-collection__dragdrop-area.active p{color:#0854a0;color:var(--sapContent_DragAndDropActiveColor)}.fdp-upload-collection .fd-form-item{align-items:center;flex-direction:row}.fdp-upload-collection-dialig-no-bg{background-color:transparent!important}[dir=rtl] .fdp-upload-collection fd-icon{margin-right:0;margin-left:.625rem}.fd-menu__list .disabled{background-color:#fff!important;background-color:var(--sapList_Background)!important;cursor:not-allowed}.fd-menu__list .disabled .fd-menu__title{color:#32363a!important;color:var(--sapList_TextColor)!important}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i4.TableComponent, selector: "fdp-table", inputs: ["name", "id", "enableDragResize", "fixed", "freezeColumnsTo", "freezeEndColumnsTo", "pageScrolling", "pageSize", "pageScrollingThreshold", "bodyHeight", "emptyTableMessage", "noVisibleColumnsMessage", "noHorizontalBorders", "noVerticalBorders", "noBorders", "noBodyBorders", "noOuterBorders", "noBorderX", "noBorderY", "relationKey", "expandedStateKey", "hasChildrenKey", "rowNavigatable", "highlightNavigatedRow", "rowsActivable", "selectedKey", "selectableKey", "trackBy", "rowComparator", "rowsClass", "editableRowSkeleton", "expandOnInit", "rowHeight", "loadPagesBefore", "selectionMode", "enableTristateMode", "semanticHighlighting", "forceCheckedAllState", "ariaLabelledBy", "loading"], outputs: ["presetChanged", "rowSelectionChange", "sortChange", "filterChange", "groupChange", "columnsChange", "pageChange", "columnFreeze", "rowToggleOpenState", "rowActivate", "rowNavigate", "emptyRowAdded", "save", "cancel", "tableScrolled", "tableRowsSet", "allRowsExpanded", "allRowsCollapsed"] }, { kind: "component", type: i4.TableColumnComponent, selector: "fdp-column", inputs: ["name", "key", "label", "align", "sortable", "filterable", "visible", "dataType", "groupable", "freezable", "endFreezable", "width", "noWrap", "applyText", "role"] }, { kind: "directive", type: i5.TableInitialStateDirective, selector: "[fdpTableInitialState], fdp-table", inputs: ["initialVisibleColumns", "initialSortBy", "initialFilterBy", "initialGroupBy", "initialPage", "state"] }, { kind: "directive", type: i5.FdpTableCell, selector: "fdp-table-cell" }, { kind: "directive", type: i5.FdpTableHeader, selector: "fdp-table-header" }, { kind: "directive", type: i5.FdpCellDef, selector: "[fdpCellDef]", inputs: ["fdpCellDefAs"] }, { kind: "directive", type: i5.FdpHeaderCellDef, selector: "[fdpHeaderCellDef]" }, { kind: "component", type: i6.ToolbarComponent, selector: "fd-toolbar", inputs: ["titleId", "class", "shouldOverflow", "fdType", "hasTitle", "title", "active", "clearBorder", "forceOverflow", "tabindex"] }, { kind: "directive", type: i6.ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "directive", type: i6.ToolbarSpacerDirective, selector: "fd-toolbar-spacer", inputs: ["width", "class", "fixed"] }, { kind: "component", type: i7.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i8.InputGroupComponent, selector: "fd-input-group", inputs: ["inputTemplate", "placement", "required", "inline", "placeholder", "addOnText", "buttonFocusable", "type", "glyph", "button", "disabled", "readonly", "state", "isControl", "showFocus", "isExpanded", "glyphAriaLabel", "iconTitle", "ariaLabelledby", "ariaLabelledBy"], outputs: ["addOnButtonClicked", "search"] }, { kind: "component", type: i9.FormControlComponent, selector: "[fd-form-control]", inputs: ["state", "type", "class", "ariaLabel", "ariaLabelledBy"] }, { kind: "directive", type: i9.InputFormControlDirective, selector: "input[fd-form-control]" }, { kind: "component", type: i9.FormItemComponent, selector: "[fd-form-item]", inputs: ["isInline", "horizontal"] }, { kind: "component", type: i9.FormMessageComponent, selector: "fd-form-message", inputs: ["type", "static", "embedded", "class"] }, { kind: "component", type: i9.FormInputMessageGroupComponent, selector: "fd-form-input-message-group", inputs: ["triggers", "closeOnOutsideClick", "fillControlMode", "noArrow", "closeOnEscapeKey", "placement", "placementContainer", "isOpen"], outputs: ["isOpenChange"] }, { kind: "directive", type: i10.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i10.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i11.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "component", type: i12.BreadcrumbComponent, selector: "fd-breadcrumb", inputs: ["containerElement", "reverse", "tabIndex"], outputs: ["visibleItemsCount", "hiddenItemsCount"] }, { kind: "component", type: i12.BreadcrumbItemComponent, selector: "fd-breadcrumb-item" }, { kind: "component", type: i13.LinkComponent, selector: "[fdLink], [fd-link], [fd-breadcrumb-link]", inputs: ["class", "emphasized", "disabled", "inverted", "subtle", "undecorated"] }, { kind: "component", type: i14.PaginationComponent, selector: "fd-pagination", inputs: ["id", "mobile", "totalItems", "currentPage", "itemsPerPage", "itemsPerPageTemplate", "itemsPerPageLabel", "itemsPerPageOptions", "displayTotalItems", "displayTextTemplate", "firstLabel", "previousLabel", "nextLabel", "lastLabel", "ariaLabel", "pageLabel", "currentPageAriaLabel", "labelBeforeInputMobile", "labelAfterInputMobile", "inputAriaLabel"], outputs: ["pageChangeStart", "itemsPerPageChange"] }, { kind: "component", type: i15.BusyIndicatorComponent, selector: "fd-busy-indicator", inputs: ["loading", "size", "block", "ariaLabel", "title", "label", "ariaLive"] }, { kind: "component", type: i16.ObjectStatusComponent, selector: "[fd-object-status]", inputs: ["class", "status", "glyph", "label", "glyphAriaLabel", "indicationColor", "clickable", "inverted", "large"] }, { kind: "component", type: i17.MenuComponent, selector: "fdp-menu", inputs: ["id", "openByArrowKeys", "xPosition"], outputs: ["close"] }, { kind: "component", type: i17.MenuItemComponent, selector: "fdp-menu-item", inputs: ["disabled", "cascadeDirection"], outputs: ["itemSelect"] }, { kind: "directive", type: i17.MenuTriggerDirective, selector: "[fdpMenuTriggerFor]", inputs: ["fdpMenuTriggerFor"] }, { kind: "component", type: i18.MessageStripComponent, selector: "fd-message-strip", inputs: ["class", "dismissible", "noIcon", "type", "id", "ariaLabelledBy", "ariaLabel", "dismissLabel", "width", "minWidth", "marginBottom"], outputs: ["onDismiss"] }, { kind: "directive", type: i19.FileUploaderSelectDirective, selector: "[fdFileSelect]", inputs: ["multiple"], outputs: ["fileSelected"] }, { kind: "component", type: i20.MenuButtonComponent, selector: "fdp-menu-button", inputs: ["label", "title", "icon", "type"], outputs: ["buttonClicked"] }, { kind: "directive", type: i21.UploadCollectionDragnDropDirective, selector: "[fdpUploadCollectionDragnDrop]", inputs: ["multiple", "fileTypes", "maxFileSize", "maxFilenameLength", "mimeTypes", "disabled", "dragndrop"], outputs: ["fileChanged", "cancel", "onDropzone"] }, { kind: "pipe", type: i3.DatePipe, name: "date" }, { kind: "pipe", type: i22.FdTranslatePipe, name: "fdTranslate" }, { kind: "pipe", type: i23.ConvertBytesPipe, name: "convertBytes" }], encapsulation: i0.ViewEncapsulation.None });
835
+ UploadCollectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: UploadCollectionComponent, selector: "fdp-upload-collection", inputs: { id: "id", itemsPerPage: "itemsPerPage", dataSource: "dataSource", fileTypes: "fileTypes", maxFileSize: "maxFileSize", maxFilenameLength: "maxFilenameLength", mimeTypes: "mimeTypes", noDataText: "noDataText", noDataDescription: "noDataDescription", disabled: "disabled", readonly: "readonly", hierarchy: "hierarchy", enablePagination: "enablePagination", terminationEnabled: "terminationEnabled", multiple: "multiple", showSearch: "showSearch", sameFileNameAllowed: "sameFileNameAllowed" }, outputs: { typeMismatch: "typeMismatch", filenameLengthExceed: "filenameLengthExceed", fileSizeExceed: "fileSizeExceed" }, viewQueries: [{ propertyName: "_uploadFilesRef", first: true, predicate: ["fileInput"], descendants: true }, { propertyName: "_updateVersionRef", first: true, predicate: ["updateVersionInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div [id]=\"id\" class=\"fdp-upload-collection\">\n <!-- Message strip -->\n <fd-message-strip *ngIf=\"_message\" [type]=\"_message.messageStripType\" (onDismiss)=\"_messageStripDismiss()\">\n <ng-container\n [ngTemplateOutlet]=\"message\"\n [ngTemplateOutletContext]=\"{\n messageType: _message.messageType,\n payload: _message.payload,\n messageStripType: _message.messageStripType,\n count: _message.count\n }\"\n ></ng-container>\n </fd-message-strip>\n\n <!-- Toolbar -->\n <fd-toolbar class=\"fdp-upload-collection__toolbar\">\n <div style=\"flex: 1 auto\">\n <fd-breadcrumb [id]=\"id + '-breadcrumb'\">\n <fd-breadcrumb-item>\n <ng-template #multipleBreadcrumbs>\n <a href=\"#\" fd-link (click)=\"_breadcrumbGoTo($event)\">\n {{ 'platformUploadCollection.breadcrumbLabelAllFiles' | fdTranslate }}\n </a>\n </ng-template>\n <ng-template #singleBreadcrumb>\n <span>\n {{\n 'platformUploadCollection.breadcrumbLabelAllFilesWithTotal'\n | fdTranslate : { total: _totalItems }\n }}\n </span>\n </ng-template>\n <ng-container\n *ngTemplateOutlet=\"_breadcrumbList.length > 0 ? multipleBreadcrumbs : singleBreadcrumb\"\n ></ng-container>\n </fd-breadcrumb-item>\n <fd-breadcrumb-item *ngFor=\"let item of _breadcrumbList; let i = index\">\n <ng-template #clickableBreadcrumb>\n <a href=\"#\" fd-link (click)=\"_breadcrumbGoTo($event, i)\">{{ item.folderName }}</a>\n </ng-template>\n <ng-template #textBreadcrumb>\n <span>{{ item.folderName }} ({{ _totalItems }})</span>\n </ng-template>\n <ng-container\n *ngTemplateOutlet=\"item.clikable ? clickableBreadcrumb : textBreadcrumb\"\n ></ng-container>\n </fd-breadcrumb-item>\n </fd-breadcrumb>\n </div>\n\n <fd-toolbar-spacer style=\"max-width: 3rem\"></fd-toolbar-spacer>\n <ng-container *ngIf=\"readonly || selectedItems.length === 0\">\n <fd-input-group\n *ngIf=\"showSearch\"\n [(ngModel)]=\"_searchText\"\n (ngModelChange)=\"_searchInputChanged()\"\n glyph=\"search\"\n [ariaLabelledBy]=\"id + '-breadcrumb'\"\n [placeholder]=\"'platformUploadCollection.searchPlaceholder' | fdTranslate\"\n ></fd-input-group>\n\n <ng-container *ngIf=\"!readonly\">\n <button\n fd-toolbar-item\n fd-button\n (click)=\"_openUploadFiles()\"\n fdType=\"ghost\"\n [disabled]=\"disabled\"\n [label]=\"'platformUploadCollection.addBtnLabel' | fdTranslate\"\n [title]=\"'platformUploadCollection.addBtnLabel' | fdTranslate\"\n ></button>\n\n <button\n fd-toolbar-item\n fd-button\n (click)=\"_openNewFolderDialog()\"\n *ngIf=\"hierarchy\"\n [disabled]=\"disabled\"\n fdType=\"transparent\"\n [label]=\"'platformUploadCollection.newFolderBtnLabel' | fdTranslate\"\n [title]=\"'platformUploadCollection.newFolderBtnLabel' | fdTranslate\"\n ></button>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"!readonly && selectedItems.length > 0\">\n <button\n fd-toolbar-item\n fd-button\n (click)=\"_moveToClicked(true)\"\n fdType=\"ghost\"\n [disabled]=\"disabled\"\n [label]=\"'platformUploadCollection.moveToBtnLabel' | fdTranslate\"\n [title]=\"'platformUploadCollection.moveToBtnLabel' | fdTranslate\"\n ></button>\n <button\n fd-toolbar-item\n fd-button\n (click)=\"_downloadClicked(true)\"\n fdType=\"ghost\"\n [disabled]=\"disabled\"\n *ngIf=\"_showIfSelectedOnlyFiles()\"\n [label]=\"'platformUploadCollection.downloadBtnLabel' | fdTranslate\"\n [title]=\"'platformUploadCollection.downloadBtnLabel' | fdTranslate\"\n ></button>\n <button\n fd-toolbar-item\n fd-button\n (click)=\"_remove(true)\"\n fdType=\"ghost\"\n [disabled]=\"disabled\"\n [label]=\"'platformUploadCollection.removeBtnLabel' | fdTranslate\"\n [title]=\"'platformUploadCollection.removeBtnLabel' | fdTranslate\"\n ></button>\n </ng-container>\n </fd-toolbar>\n\n <div class=\"fdp-upload-collection__table--wrapper\">\n <div\n class=\"fdp-upload-collection__table\"\n fdpUploadCollectionDragnDrop\n [fileTypes]=\"fileTypes\"\n [maxFilenameLength]=\"maxFilenameLength\"\n [maxFileSize]=\"maxFileSize\"\n [mimeTypes]=\"mimeTypes\"\n [dragndrop]=\"!readonly\"\n [disabled]=\"disabled\"\n [multiple]=\"multiple\"\n (fileChanged)=\"_handleDrop($event)\"\n (cancel)=\"_dragDropCancel()\"\n (onDropzone)=\"_onDropzone($event)\"\n >\n <!-- Table -->\n <fdp-table\n *ngIf=\"_visibleList$.value.length > 0\"\n [dataSource]=\"_visibleList$\"\n [loading]=\"dataSource.isDataLoading\"\n selectionMode=\"multiple\"\n emptyTableMessage=\"\"\n [noHorizontalBorders]=\"true\"\n [trackBy]=\"_trackByDocumentId\"\n (rowSelectionChange)=\"_onRowSelectionChange($event)\"\n >\n <fdp-column name=\"name\" label=\"Name\" width=\"8rem\">\n <fdp-table-cell *fdpCellDef=\"let item\">\n <div class=\"fdp-upload-collection__vertical-align-center\">\n <fd-icon\n class=\"fdp-upload-collection__fd-icon\"\n *ngIf=\"item.type === 'folder'\"\n glyph=\"folder-blank\"\n [title]=\"'platformUploadCollection.folderIconTitle' | fdTranslate\"\n ></fd-icon>\n <fd-icon\n class=\"fdp-upload-collection__fd-icon\"\n *ngIf=\"item.type === 'file'\"\n [glyph]=\"_getIconByType(item)\"\n [title]=\"'platformUploadCollection.fileIconTitle' | fdTranslate\"\n ></fd-icon>\n\n <ng-container *ngIf=\"disabled || readonly || !_isSelectedItem(item); else editMode\">\n <span\n [class.fdp-upload-collection__cursor]=\"item.type === 'folder'\"\n (click)=\"_openFolder(item)\"\n >{{ item.name }}</span\n >\n </ng-container>\n </div>\n\n <ng-template #editMode>\n <div fd-form-item>\n <fd-form-input-message-group [triggers]=\"[]\" [isOpen]=\"!!item.sameFilenameState\">\n <div class=\"fdp-upload-collection__vertical-align-center\">\n <input\n fd-form-control\n [value]=\"_getItemName(item)\"\n (blur)=\"_fileNameChange($event, item)\"\n (input)=\"_checkName($event, item)\"\n type=\"text\"\n [placeholder]=\"\n 'platformUploadCollection.editFileNameInputPlaceholder' | fdTranslate\n \"\n [state]=\"item.sameFilenameState\"\n />\n <span class=\"fdp-upload-collection__item_extension\">{{\n _getItemExtension(item)\n }}</span>\n </div>\n\n <fd-form-message [type]=\"item.sameFilenameState\">\n {{\n (item.type === 'file'\n ? 'platformUploadCollection.editFileNameFileAlreadyExistsError'\n : 'platformUploadCollection.editFileNameFolderAlreadyExistsError'\n ) | fdTranslate\n }}\n </fd-form-message>\n </fd-form-input-message-group>\n </div>\n </ng-template>\n </fdp-table-cell>\n </fdp-column>\n\n <fdp-column name=\"uploadedBy\" label=\"Uploaded by\" width=\"5rem\">\n <fdp-table-cell *fdpCellDef=\"let item\">{{ item.uploadedBy.name }}</fdp-table-cell>\n </fdp-column>\n\n <fdp-column name=\"uploadedOn\" label=\"Uploaded on\" width=\"5rem\">\n <fdp-table-cell *fdpCellDef=\"let item\">{{ item.uploadedOn | date : 'shortDate' }}</fdp-table-cell>\n </fdp-column>\n\n <fdp-column name=\"size\" label=\"File size\" width=\"5rem\">\n <fdp-table-cell *fdpCellDef=\"let item\">{{ item.fileSize | convertBytes }}</fdp-table-cell>\n </fdp-column>\n\n <fdp-column name=\"version\" label=\"Version\" width=\"5rem\">\n <fdp-table-cell *fdpCellDef=\"let item\">{{ item.version || '' }}</fdp-table-cell>\n </fdp-column>\n\n <fdp-column name=\"status\" label=\"Status\" width=\"5rem\">\n <fdp-table-cell *fdpCellDef=\"let item\">\n <fd-busy-indicator\n *ngIf=\"item.status === _uploadCollectionItemStatus.LOADING\"\n [loading]=\"true\"\n ariaLabel=\"Status: Loading\"\n ariaLive=\"polite\"\n size=\"s\"\n ></fd-busy-indicator>\n <span\n *ngIf=\"item.status === _uploadCollectionItemStatus.SUCCESSFUL\"\n fd-object-status\n status=\"positive\"\n >\n {{ 'platformUploadCollection.itemStatusSuccessful' | fdTranslate }}\n </span>\n <span\n *ngIf=\"item.status === _uploadCollectionItemStatus.UNSUCCESSFUL\"\n fd-object-status\n status=\"negative\"\n >\n {{ 'platformUploadCollection.itemStatusUnsuccessful' | fdTranslate }}\n </span>\n </fdp-table-cell>\n </fdp-column>\n\n <fdp-column name=\"action\" *ngIf=\"!readonly\" width=\"5rem\" align=\"end\">\n <fdp-table-header *fdpHeaderCellDef>Action</fdp-table-header>\n <fdp-table-cell *fdpCellDef=\"let item\">\n <div class=\"fdp-upload-collection__actions\">\n <div class=\"fdp-upload-collection__actions--status\">\n <button\n fd-button\n [label]=\"'platformUploadCollection.uploadNewFileAfterFailAction' | fdTranslate\"\n [title]=\"'platformUploadCollection.uploadNewFileAfterFailAction' | fdTranslate\"\n (click)=\"_runUploadNewFileAfterFail(item)\"\n fdType=\"ghost\"\n [disabled]=\"disabled\"\n *ngIf=\"item.status === _uploadCollectionItemStatus.UNSUCCESSFUL\"\n ></button>\n\n <button\n fd-button\n [label]=\"'platformUploadCollection.cancelUploadNewFileAction' | fdTranslate\"\n [title]=\"'platformUploadCollection.cancelUploadNewFileAction' | fdTranslate\"\n fdType=\"ghost\"\n [disabled]=\"disabled\"\n (click)=\"_cancelUploadNewFile(item)\"\n *ngIf=\"terminationEnabled && item.status === _uploadCollectionItemStatus.LOADING\"\n ></button>\n </div>\n\n <fdp-menu-button\n icon=\"overflow\"\n [disabled]=\"disabled\"\n type=\"transparent\"\n [title]=\"'platformUploadCollection.itemMenuBtnTitle' | fdTranslate\"\n [fdpMenuTriggerFor]=\"menuActions\"\n (buttonClicked)=\"_actionButton(item)\"\n >\n </fdp-menu-button>\n </div>\n </fdp-table-cell>\n </fdp-column>\n </fdp-table>\n\n <!-- Dragdrop area -->\n <div\n class=\"fdp-upload-collection__dragdrop-area\"\n *ngIf=\"_showDragDropArea\"\n [class.active]=\"_onDragDropArea\"\n >\n <fd-icon class=\"fdp-upload-collection__dragdrop-area--icon\" glyph=\"upload-to-cloud\"></fd-icon>\n <p class=\"fdp-upload-collection__dragdrop-area--text\">\n {{ 'platformUploadCollection.dragDropAreaText' | fdTranslate }}\n </p>\n </div>\n\n <!-- No data -->\n <div\n class=\"fdp-upload-collection__no-data\"\n *ngIf=\"_visibleList$.value.length === 0\"\n [class.invisible]=\"_showDragDropArea\"\n >\n <fd-icon glyph=\"document\"></fd-icon>\n <h3>{{ noDataText || ('platformUploadCollection.noDataText' | fdTranslate) }}</h3>\n <p>{{ noDataDescription || ('platformUploadCollection.noDataDescription' | fdTranslate) }}</p>\n </div>\n </div>\n\n <!-- Table footer -->\n <div class=\"fdp-upload-collection__table-footer\" *ngIf=\"enablePagination\">\n <!-- Pagination -->\n <div class=\"fdp-upload-collection__pagination\">\n <span [id]=\"id + '-pagination'\" class=\"fdp-upload-collection__pagination--total\">\n {{\n 'platformUploadCollection.paginationTotal'\n | fdTranslate : { from: _countShowedItems, to: _countNotShowedItems, total: _totalItems }\n }}\n </span>\n <fd-pagination\n [totalItems]=\"_totalItems\"\n [displayTotalItems]=\"false\"\n (pageChangeStart)=\"_pageChanged($event)\"\n [itemsPerPage]=\"_itemsPerPage\"\n [currentPage]=\"_currentPage\"\n [attr.aria-labelledby]=\"id + '-pagination'\"\n ></fd-pagination>\n </div>\n\n <!-- Results per page -->\n <div class=\"fdp-upload-collection__results\">\n <span class=\"fdp-upload-collection__results--title\">\n <span [id]=\"id + '-results'\">\n {{ 'platformUploadCollection.resultsPerPage' | fdTranslate }}\n </span>\n <span *ngIf=\"_itemsPerPageOptions.length === 0\">{{ _itemsPerPage }}</span>\n </span>\n <fdp-menu-button\n *ngIf=\"_itemsPerPageOptions.length > 0\"\n type=\"ghost\"\n [ariaLabelledBy]=\"id + '-results'\"\n [fdpMenuTriggerFor]=\"itemsPerPageMenu\"\n [label]=\"_itemsPerPage + ''\"\n >\n </fdp-menu-button>\n </div>\n </div>\n </div>\n</div>\n\n<fdp-menu #itemsPerPageMenu xPosition=\"before\">\n <fdp-menu-item\n *ngFor=\"let value of _itemsPerPageOptions\"\n (itemSelect)=\"_itemsPerPageChange(value.label)\"\n [attr.title]=\"'Results per page: ' + value.label\"\n >\n <span>{{ value.label }}</span>\n </fdp-menu-item>\n</fdp-menu>\n\n<fdp-menu #menuActions xPosition=\"before\">\n <fdp-menu-item (itemSelect)=\"_moveToClicked()\">\n <fd-icon\n class=\"fdp-upload-collection__fd-icon\"\n glyph=\"folder-blank\"\n [title]=\"'platformUploadCollection.moveToBtnLabel' | fdTranslate\"\n ></fd-icon>\n <span>\n {{ 'platformUploadCollection.moveToBtnLabel' | fdTranslate }}\n </span>\n </fdp-menu-item>\n <ng-container *ngIf=\"_activeItem?.type === 'file'\">\n <fdp-menu-item (itemSelect)=\"_downloadClicked()\">\n <fd-icon\n class=\"fdp-upload-collection__fd-icon\"\n glyph=\"download\"\n [title]=\"'platformUploadCollection.downloadBtnLabel' | fdTranslate\"\n ></fd-icon>\n <span>\n {{ 'platformUploadCollection.downloadBtnLabel' | fdTranslate }}\n </span>\n </fdp-menu-item>\n <fdp-menu-item (itemSelect)=\"_openUpdateFileVersion()\">\n <fd-icon\n class=\"fdp-upload-collection__fd-icon\"\n glyph=\"drill-up\"\n [title]=\"'platformUploadCollection.updateVersionBtnLabel' | fdTranslate\"\n ></fd-icon>\n <span>\n {{ 'platformUploadCollection.updateVersionBtnLabel' | fdTranslate }}\n </span>\n </fdp-menu-item>\n </ng-container>\n <fdp-menu-item (itemSelect)=\"_remove()\">\n <fd-icon\n class=\"fdp-upload-collection__fd-icon\"\n glyph=\"delete\"\n [title]=\"'platformUploadCollection.removeBtnLabel' | fdTranslate\"\n ></fd-icon>\n <span>\n {{ 'platformUploadCollection.removeBtnLabel' | fdTranslate }}\n </span>\n </fdp-menu-item>\n</fdp-menu>\n\n<input\n #fileInput\n class=\"fdp-upload-collection__hidden\"\n type=\"file\"\n (fileSelected)=\"_selectHandler($event)\"\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n fdFileSelect\n/>\n\n<input\n #updateVersionInput\n class=\"fdp-upload-collection__hidden\"\n type=\"file\"\n (fileSelected)=\"_selectHandler($event)\"\n [disabled]=\"disabled\"\n [multiple]=\"false\"\n fdFileSelect\n/>\n\n<ng-template\n let-messageType=\"messageType\"\n let-payload=\"payload\"\n let-messageStripType=\"messageStripType\"\n let-count=\"count\"\n #message\n>\n <ng-container *ngIf=\"_message\" [ngSwitch]=\"messageType\">\n <ng-container\n *ngSwitchCase=\"_messageType.CREATE\"\n [ngTemplateOutlet]=\"messageNewFolder\"\n [ngTemplateOutletContext]=\"{\n messageStripType: _message.messageStripType,\n payload: _message.payload\n }\"\n ></ng-container>\n\n <ng-container\n *ngSwitchCase=\"_messageType.UPDATE_VERSION\"\n [ngTemplateOutlet]=\"messageUpdateVersion\"\n [ngTemplateOutletContext]=\"{\n messageStripType: _message.messageStripType,\n payload: _message.payload\n }\"\n ></ng-container>\n\n <ng-container\n *ngSwitchCase=\"_messageType.FILE_RENAME\"\n [ngTemplateOutlet]=\"messageFileRename\"\n [ngTemplateOutletContext]=\"{\n messageStripType: _message.messageStripType,\n payload: _message.payload\n }\"\n ></ng-container>\n\n <ng-container\n *ngSwitchCase=\"_messageType.REMOVE\"\n [ngTemplateOutlet]=\"messageRemove\"\n [ngTemplateOutletContext]=\"{\n payload: _message.payload,\n messageStripType: _message.messageStripType,\n count: _message.count\n }\"\n ></ng-container>\n\n <ng-container\n *ngSwitchCase=\"_messageType.MOVE\"\n [ngTemplateOutlet]=\"messageMove\"\n [ngTemplateOutletContext]=\"{\n payload: _message.payload,\n messageStripType: _message.messageStripType,\n count: _message.count\n }\"\n ></ng-container>\n\n <ng-container\n *ngSwitchCase=\"_messageType.TYPE_MISMATCH\"\n [ngTemplateOutlet]=\"messageTypeMismatch\"\n [ngTemplateOutletContext]=\"{\n payload: _message.payload,\n messageStripType: _message.messageStripType,\n count: _message.count\n }\"\n ></ng-container>\n\n <ng-container\n *ngSwitchCase=\"_messageType.FILE_SIZE\"\n [ngTemplateOutlet]=\"messageFileSize\"\n [ngTemplateOutletContext]=\"{\n payload: _message.payload,\n messageStripType: _message.messageStripType,\n count: _message.count\n }\"\n ></ng-container>\n\n <ng-container\n *ngSwitchCase=\"_messageType.FILE_NAME_LENGTH\"\n [ngTemplateOutlet]=\"messageFilenameLength\"\n [ngTemplateOutletContext]=\"{\n payload: _message.payload,\n messageStripType: _message.messageStripType,\n count: _message.count\n }\"\n ></ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #messageNewFolder let-payload=\"payload\" let-messageStripType=\"messageStripType\">\n <ng-container *ngIf=\"messageStripType === 'error'; else foldersCreated\">\n {{ 'platformUploadCollection.messageCreateFailed' | fdTranslate : { folderName: payload.folder.name } }}\n </ng-container>\n <ng-template #foldersCreated>\n {{ 'platformUploadCollection.messageCreateSuccess' | fdTranslate : { folderName: payload.folder.name } }}\n </ng-template>\n</ng-template>\n\n<ng-template #messageUpdateVersion let-payload=\"payload\" let-messageStripType=\"messageStripType\">\n <ng-container *ngIf=\"messageStripType === 'error'; else versionUpdated\">\n {{ 'platformUploadCollection.messageUpdateVersionFailed' | fdTranslate : { folderName: payload.item.name } }}\n </ng-container>\n <ng-template #versionUpdated>\n {{ 'platformUploadCollection.messageUpdateVersionSuccess' | fdTranslate : { folderName: payload.item.name } }}\n </ng-template>\n</ng-template>\n\n<ng-template #messageFileRename let-payload=\"payload\" let-messageStripType=\"messageStripType\">\n <ng-container *ngIf=\"messageStripType === 'error'; else fileRenamed\">\n {{\n 'platformUploadCollection.messageFileRenameFailed'\n | fdTranslate : { from: payload.item.name, to: payload.fileName }\n }}\n </ng-container>\n <ng-template #fileRenamed>\n {{\n 'platformUploadCollection.messageFileRenameSuccess'\n | fdTranslate : { from: payload.item.name, to: payload.fileName }\n }}\n </ng-template>\n</ng-template>\n\n<ng-template #messageRemove let-payload=\"payload\" let-messageStripType=\"messageStripType\" let-count=\"count\">\n <ng-container *ngIf=\"payload.items.length > 1 && count.folder && count.file\">\n <ng-container *ngIf=\"messageStripType === 'error'; else foldersAndFilesRemoved\">\n {{\n 'platformUploadCollection.messageRemoveFoldersAndFilesFailed'\n | fdTranslate : { foldersCount: count.folder, filesCount: count.file }\n }}\n </ng-container>\n <ng-template #foldersAndFilesRemoved>\n {{\n 'platformUploadCollection.messageRemoveFoldersAndFilesSuccess'\n | fdTranslate : { foldersCount: count.folder, filesCount: count.file }\n }}\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"payload.items.length > 1 && count.folder && !count.file\">\n <ng-container *ngIf=\"messageStripType === 'error'; else foldersRemoved\">\n {{ 'platformUploadCollection.messageRemoveFoldersFailed' | fdTranslate : { foldersCount: count.folder } }}\n </ng-container>\n <ng-template #foldersRemoved>\n {{ 'platformUploadCollection.messageRemoveFoldersSuccess' | fdTranslate : { foldersCount: count.folder } }}\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"payload.items.length > 1 && count.file && !count.folder\">\n <ng-container *ngIf=\"messageStripType === 'error'; else filesRemoved\">\n {{ 'platformUploadCollection.messageRemoveFilesFailed' | fdTranslate : { filesCount: count.file } }}\n </ng-container>\n <ng-template #filesRemoved>\n {{ 'platformUploadCollection.messageRemoveFilesSuccess' | fdTranslate : { filesCount: count.file } }}\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"payload.items.length === 1\">\n <ng-container *ngIf=\"messageStripType === 'error'; else oneItemRemoved\">\n {{\n 'platformUploadCollection.messageRemoveFileOrFolderFailed'\n | fdTranslate : { name: payload.items[0].name }\n }}\n </ng-container>\n <ng-template #oneItemRemoved>\n {{\n 'platformUploadCollection.messageRemoveFileOrFolderSuccess'\n | fdTranslate : { name: payload.items[0].name }\n }}\n </ng-template>\n </ng-container>\n</ng-template>\n\n<ng-template #messageMove let-payload=\"payload\" let-messageStripType=\"messageStripType\" let-count=\"count\">\n <ng-container *ngIf=\"payload.items.length > 1 && count.folder && count.file\">\n <ng-container *ngIf=\"messageStripType === 'error'; else filesAndFoldersMovedTo\">\n {{\n (payload.to\n ? 'platformUploadCollection.messageMoveFoldersAndFilesFailed'\n : 'platformUploadCollection.messageMoveRootFoldersAndFilesFailed'\n ) | fdTranslate : { foldersCount: count.folder, filesCount: count.file, to: payload.to?.name }\n }}\n </ng-container>\n <ng-template #filesAndFoldersMovedTo>\n {{\n (payload.to\n ? 'platformUploadCollection.messageMoveFoldersAndFilesSuccess'\n : 'platformUploadCollection.messageMoveRootFoldersAndFilesSuccess'\n ) | fdTranslate : { foldersCount: count.folder, filesCount: count.file, to: payload.to?.name }\n }}\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"payload.items.length > 1 && count.folder && !count.file\">\n <ng-container *ngIf=\"messageStripType === 'error'; else foldersMovedTo\">\n {{\n (payload.to\n ? 'platformUploadCollection.messageMoveFoldersFailed'\n : 'platformUploadCollection.messageMoveRootFoldersFailed'\n ) | fdTranslate : { foldersCount: count.folder, to: payload.to?.name }\n }}\n </ng-container>\n <ng-template #foldersMovedTo>\n {{\n (payload.to\n ? 'platformUploadCollection.messageMoveFoldersSuccess'\n : 'platformUploadCollection.messageMoveRootFoldersSuccess'\n ) | fdTranslate : { foldersCount: count.folder, to: payload.to?.name }\n }}\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"payload.items.length > 1 && count.file && !count.folder\">\n <ng-container *ngIf=\"messageStripType === 'error'; else filesMovedTo\">\n {{\n (payload.to\n ? 'platformUploadCollection.messageMoveFilesFailed'\n : 'platformUploadCollection.messageMoveRootFilesFailed'\n ) | fdTranslate : { filesCount: count.file, to: payload.to?.name }\n }}\n </ng-container>\n <ng-template #filesMovedTo>\n {{\n (payload.to\n ? 'platformUploadCollection.messageMoveFilesSuccess'\n : 'platformUploadCollection.messageMoveRootFilesSuccess'\n ) | fdTranslate : { filesCount: count.file, to: payload.to?.name }\n }}\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"payload.items.length === 1\">\n <ng-container *ngIf=\"messageStripType === 'error'; else oneItemMovedTo\">\n {{\n (payload.to\n ? 'platformUploadCollection.messageMoveFileOrFolderFailed'\n : 'platformUploadCollection.messageMoveRootFileOrFolderFailed'\n ) | fdTranslate : { name: payload.items[0].name, to: payload.to?.name }\n }}\n </ng-container>\n <ng-template #oneItemMovedTo>\n {{\n (payload.to\n ? 'platformUploadCollection.messageMoveFileOrFolderSuccess'\n : 'platformUploadCollection.messageMoveRootFileOrFolderSuccess'\n ) | fdTranslate : { name: payload.items[0].name, to: payload.to?.name }\n }}\n </ng-template>\n </ng-container>\n</ng-template>\n\n<ng-template #messageTypeMismatch let-payload=\"payload\" let-messageStripType=\"messageStripType\" let-count=\"count\">\n <ng-container *ngIf=\"payload.items.length > 1\">\n {{\n 'platformUploadCollection.messageFileTypeMismatchPlural'\n | fdTranslate : { filesCount: payload.items.length, allowedTypes: _getAllowedTypes() }\n }}\n </ng-container>\n\n <ng-container *ngIf=\"payload.items.length === 1\">\n {{\n 'platformUploadCollection.messageFileTypeMismatchSingular'\n | fdTranslate : { fileName: payload.items[0].name, allowedTypes: _getAllowedTypes() }\n }}\n </ng-container>\n</ng-template>\n\n<ng-template #messageFileSize let-payload=\"payload\" let-messageStripType=\"messageStripType\" let-count=\"count\">\n <ng-container *ngIf=\"payload.items.length > 1\">\n {{\n 'platformUploadCollection.messageFileSizeExceededPlural'\n | fdTranslate : { filesCount: payload.items.length, maxFileSize: maxFileSize || 0 }\n }}\n </ng-container>\n\n <ng-container *ngIf=\"payload.items.length === 1\">\n {{\n 'platformUploadCollection.messageFileSizeExceededSingular'\n | fdTranslate : { fileName: payload.items[0].name, maxFileSize: maxFileSize || 0 }\n }}\n </ng-container>\n</ng-template>\n\n<ng-template #messageFilenameLength let-payload=\"payload\" let-messageStripType=\"messageStripType\" let-count=\"count\">\n <ng-container *ngIf=\"payload.items.length > 1\">\n {{\n 'platformUploadCollection.messageFileNameLengthExceededPlural'\n | fdTranslate : { filesCount: payload.items.length, maxFilenameLength: maxFilenameLength || 0 }\n }}\n </ng-container>\n\n <ng-container *ngIf=\"payload.items.length === 1\">\n {{\n 'platformUploadCollection.messageFileNameLengthExceededSingular'\n | fdTranslate : { fileName: payload.items[0].name, maxFilenameLength: maxFilenameLength || 0 }\n }}\n </ng-container>\n</ng-template>\n", styles: [".fdp-upload-collection__fd-icon{color:#0854a0!important;color:var(--sapHighlightColor)!important;margin-right:.625rem!important;font-size:1rem!important}.fdp-upload-collection fd-message-strip{margin-bottom:.625rem}.fdp-upload-collection__toolbar .fd-toolbar{margin-bottom:.625rem;border:0}.fdp-upload-collection__toolbar .fd-toolbar fd-input-group .sap-icon--search{color:#0854a0;color:var(--sapHighlightColor)}.fdp-upload-collection__no-data{text-align:center;min-height:230px;display:flex;align-items:center;flex-direction:column;justify-content:center}.fdp-upload-collection__no-data fd-icon{font-size:3rem;line-height:3rem;margin:0;color:#6a6d70;color:var(--sapContent_LabelColor)}.fdp-upload-collection__no-data h3{font-size:1.125rem;font-size:var(--sapFontHeader4Size);line-height:1rem;margin:8px 0}.fdp-upload-collection__no-data p{font-size:.875rem;font-size:var(--sapFontSize);line-height:1rem;color:#6a6d70;color:var(--sapContent_LabelColor);margin:0}.fdp-upload-collection__no-data.invisible{opacity:0}.fdp-upload-collection__table{position:relative}.fdp-upload-collection__table-footer{display:flex;justify-content:space-between;align-items:center;margin-top:.625rem}.fdp-upload-collection__table-footer .fdp-upload-collection__results--title,.fdp-upload-collection__table-footer .fdp-upload-collection__pagination--total{line-height:1.4;line-height:var(--sapContent_LineHeight);color:#32363a;color:var(--sapTextColor);font-family:\"72\",\"72full\",Arial,Helvetica,sans-serif;font-family:var(--sapFontFamily);font-weight:400;-webkit-font-smoothing:antialiased;box-sizing:border-box;padding:0;margin:0;border:0;font-size:.875rem;font-size:var(--sapFontSize);color:#6a6d70;color:var(--sapContent_LabelColor);margin-right:.5rem}.fdp-upload-collection__table-footer .fdp-upload-collection__results--title:before,.fdp-upload-collection__table-footer .fdp-upload-collection__results--title:after,.fdp-upload-collection__table-footer .fdp-upload-collection__pagination--total:before,.fdp-upload-collection__table-footer .fdp-upload-collection__pagination--total:after{box-sizing:inherit;font-size:inherit}[dir=rtl] .fdp-upload-collection__table-footer .fdp-upload-collection__results--title,.fdp-upload-collection__table-footer .fdp-upload-collection__results--title[dir=rtl],[dir=rtl] .fdp-upload-collection__table-footer .fdp-upload-collection__pagination--total,.fdp-upload-collection__table-footer .fdp-upload-collection__pagination--total[dir=rtl]{margin-right:0;margin-left:.5rem}.fdp-upload-collection__table-footer .fdp-upload-collection__pagination--total{width:100%;align-self:center}.fdp-upload-collection__table-footer .fdp-upload-collection__pagination{font-size:.875rem;font-size:var(--sapFontSize);line-height:1.4;line-height:var(--sapContent_LineHeight);color:#32363a;color:var(--sapTextColor);font-family:\"72\",\"72full\",Arial,Helvetica,sans-serif;font-family:var(--sapFontFamily);font-weight:400;-webkit-font-smoothing:antialiased;box-sizing:border-box;padding:0;margin:0;border:0;display:flex}.fdp-upload-collection__table-footer .fdp-upload-collection__pagination:before,.fdp-upload-collection__table-footer .fdp-upload-collection__pagination:after{box-sizing:inherit;font-size:inherit}.fdp-upload-collection__hidden{display:none}.fdp-upload-collection__vertical-align-center{display:flex;align-items:center}.fdp-upload-collection__cursor{cursor:pointer}.fdp-upload-collection__item_extension{white-space:nowrap}.fdp-upload-collection__actions{display:flex;justify-content:space-between;align-items:center}.fdp-upload-collection__actions .sap-icon--slim-arrow-down{display:none}.fdp-upload-collection__dragdrop-area{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;background:rgba(255,255,255,.5);outline:2px dashed transparent;outline-color:#89919a;outline-color:var(--sapField_BorderColor);outline-offset:-4px;box-sizing:border-box}.fdp-upload-collection__dragdrop-area fd-icon{font-size:3rem;line-height:3rem;margin-bottom:1rem;color:#6a6d70;color:var(--sapContent_LabelColor)}.fdp-upload-collection__dragdrop-area p{font-size:1rem;line-height:1.125rem;color:#6a6d70;color:var(--sapContent_LabelColor)}.fdp-upload-collection__dragdrop-area.active{outline-color:#0854a0;outline-color:var(--sapContent_DragAndDropActiveColor);background:rgba(8,84,160,.08)}.fdp-upload-collection__dragdrop-area.active fd-icon,.fdp-upload-collection__dragdrop-area.active p{color:#0854a0;color:var(--sapContent_DragAndDropActiveColor)}.fdp-upload-collection .fd-form-item{align-items:center;flex-direction:row}.fdp-upload-collection-dialig-no-bg{background-color:transparent!important}[dir=rtl] .fdp-upload-collection fd-icon{margin-right:0;margin-left:.625rem}.fd-menu__list .disabled{background-color:#fff!important;background-color:var(--sapList_Background)!important;cursor:not-allowed}.fd-menu__list .disabled .fd-menu__title{color:#32363a!important;color:var(--sapList_TextColor)!important}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i4.TableComponent, selector: "fdp-table", inputs: ["name", "id", "enableDragResize", "fixed", "freezeColumnsTo", "freezeEndColumnsTo", "pageScrolling", "pageSize", "pageScrollingThreshold", "bodyHeight", "emptyTableMessage", "noVisibleColumnsMessage", "noHorizontalBorders", "noVerticalBorders", "noBorders", "noBodyBorders", "noOuterBorders", "noBorderX", "noBorderY", "relationKey", "expandedStateKey", "hasChildrenKey", "rowNavigatable", "highlightNavigatedRow", "rowsActivable", "selectedKey", "selectableKey", "trackBy", "rowComparator", "rowsClass", "editableRowSkeleton", "expandOnInit", "rowHeight", "loadPagesBefore", "selectionMode", "enableTristateMode", "semanticHighlighting", "forceCheckedAllState", "ariaLabelledBy", "loading"], outputs: ["presetChanged", "rowSelectionChange", "sortChange", "filterChange", "groupChange", "columnsChange", "pageChange", "columnFreeze", "rowToggleOpenState", "rowActivate", "rowNavigate", "emptyRowAdded", "save", "cancel", "tableScrolled", "tableRowsSet", "allRowsExpanded", "allRowsCollapsed"] }, { kind: "component", type: i4.TableColumnComponent, selector: "fdp-column", inputs: ["name", "key", "label", "align", "sortable", "filterable", "visible", "dataType", "groupable", "freezable", "endFreezable", "width", "noWrap", "applyText", "role"] }, { kind: "directive", type: i5.TableInitialStateDirective, selector: "[fdpTableInitialState], fdp-table", inputs: ["initialVisibleColumns", "initialSortBy", "initialFilterBy", "initialGroupBy", "initialPage", "state"] }, { kind: "directive", type: i5.FdpTableCell, selector: "fdp-table-cell" }, { kind: "directive", type: i5.FdpTableHeader, selector: "fdp-table-header" }, { kind: "directive", type: i5.FdpCellDef, selector: "[fdpCellDef]", inputs: ["fdpCellDefAs"] }, { kind: "directive", type: i5.FdpHeaderCellDef, selector: "[fdpHeaderCellDef]" }, { kind: "component", type: i6.ToolbarComponent, selector: "fd-toolbar", inputs: ["titleId", "class", "shouldOverflow", "fdType", "hasTitle", "title", "active", "clearBorder", "forceOverflow", "tabindex"] }, { kind: "directive", type: i6.ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "directive", type: i6.ToolbarSpacerDirective, selector: "fd-toolbar-spacer", inputs: ["width", "class", "fixed"] }, { kind: "component", type: i7.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i8.InputGroupComponent, selector: "fd-input-group", inputs: ["inputTemplate", "placement", "required", "inline", "placeholder", "addOnText", "buttonFocusable", "type", "glyph", "button", "disabled", "readonly", "state", "isControl", "showFocus", "isExpanded", "glyphAriaLabel", "addonButtonAriaHidden", "iconTitle", "ariaLabelledby", "ariaLabelledBy"], outputs: ["addOnButtonClicked", "search"] }, { kind: "component", type: i9.FormControlComponent, selector: "[fd-form-control]", inputs: ["state", "type", "class", "ariaLabel", "ariaLabelledBy"] }, { kind: "directive", type: i9.InputFormControlDirective, selector: "input[fd-form-control]" }, { kind: "component", type: i9.FormItemComponent, selector: "[fd-form-item]", inputs: ["isInline", "horizontal"] }, { kind: "component", type: i9.FormMessageComponent, selector: "fd-form-message", inputs: ["type", "static", "embedded", "class"] }, { kind: "component", type: i9.FormInputMessageGroupComponent, selector: "fd-form-input-message-group", inputs: ["triggers", "closeOnOutsideClick", "fillControlMode", "noArrow", "closeOnEscapeKey", "placement", "placementContainer", "isOpen"], outputs: ["isOpenChange"] }, { kind: "directive", type: i10.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i10.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i11.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "component", type: i12.BreadcrumbComponent, selector: "fd-breadcrumb", inputs: ["containerElement", "reverse", "tabIndex"], outputs: ["visibleItemsCount", "hiddenItemsCount"] }, { kind: "component", type: i12.BreadcrumbItemComponent, selector: "fd-breadcrumb-item" }, { kind: "component", type: i13.LinkComponent, selector: "[fdLink], [fd-link], [fd-breadcrumb-link]", inputs: ["class", "emphasized", "disabled", "inverted", "subtle", "undecorated"] }, { kind: "component", type: i14.PaginationComponent, selector: "fd-pagination", inputs: ["id", "mobile", "totalItems", "currentPage", "itemsPerPage", "itemsPerPageTemplate", "itemsPerPageLabel", "itemsPerPageOptions", "displayTotalItems", "displayTextTemplate", "firstLabel", "previousLabel", "nextLabel", "lastLabel", "ariaLabel", "pageLabel", "currentPageAriaLabel", "labelBeforeInputMobile", "labelAfterInputMobile", "inputAriaLabel"], outputs: ["pageChangeStart", "itemsPerPageChange"] }, { kind: "component", type: i15.BusyIndicatorComponent, selector: "fd-busy-indicator", inputs: ["loading", "size", "block", "ariaLabel", "title", "label", "ariaLive"] }, { kind: "component", type: i16.ObjectStatusComponent, selector: "[fd-object-status]", inputs: ["class", "status", "glyph", "label", "glyphAriaLabel", "indicationColor", "clickable", "inverted", "large"] }, { kind: "component", type: i17.MenuComponent, selector: "fdp-menu", inputs: ["id", "openByArrowKeys", "xPosition"], outputs: ["close"] }, { kind: "component", type: i17.MenuItemComponent, selector: "fdp-menu-item", inputs: ["disabled", "cascadeDirection"], outputs: ["itemSelect"] }, { kind: "directive", type: i17.MenuTriggerDirective, selector: "[fdpMenuTriggerFor]", inputs: ["fdpMenuTriggerFor"] }, { kind: "component", type: i18.MessageStripComponent, selector: "fd-message-strip", inputs: ["class", "dismissible", "noIcon", "type", "id", "ariaLabelledBy", "ariaLabel", "dismissLabel", "width", "minWidth", "marginBottom"], outputs: ["onDismiss"] }, { kind: "directive", type: i19.FileUploaderSelectDirective, selector: "[fdFileSelect]", inputs: ["multiple"], outputs: ["fileSelected"] }, { kind: "component", type: i20.MenuButtonComponent, selector: "fdp-menu-button", inputs: ["label", "title", "icon", "type"], outputs: ["buttonClicked"] }, { kind: "directive", type: i21.UploadCollectionDragnDropDirective, selector: "[fdpUploadCollectionDragnDrop]", inputs: ["multiple", "fileTypes", "maxFileSize", "maxFilenameLength", "mimeTypes", "disabled", "dragndrop"], outputs: ["fileChanged", "cancel", "onDropzone"] }, { kind: "pipe", type: i3.DatePipe, name: "date" }, { kind: "pipe", type: i22.FdTranslatePipe, name: "fdTranslate" }, { kind: "pipe", type: i23.ConvertBytesPipe, name: "convertBytes" }], encapsulation: i0.ViewEncapsulation.None });
836
836
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UploadCollectionComponent, decorators: [{
837
837
  type: Component,
838
838
  args: [{ selector: 'fdp-upload-collection', encapsulation: ViewEncapsulation.None, template: "<div [id]=\"id\" class=\"fdp-upload-collection\">\n <!-- Message strip -->\n <fd-message-strip *ngIf=\"_message\" [type]=\"_message.messageStripType\" (onDismiss)=\"_messageStripDismiss()\">\n <ng-container\n [ngTemplateOutlet]=\"message\"\n [ngTemplateOutletContext]=\"{\n messageType: _message.messageType,\n payload: _message.payload,\n messageStripType: _message.messageStripType,\n count: _message.count\n }\"\n ></ng-container>\n </fd-message-strip>\n\n <!-- Toolbar -->\n <fd-toolbar class=\"fdp-upload-collection__toolbar\">\n <div style=\"flex: 1 auto\">\n <fd-breadcrumb [id]=\"id + '-breadcrumb'\">\n <fd-breadcrumb-item>\n <ng-template #multipleBreadcrumbs>\n <a href=\"#\" fd-link (click)=\"_breadcrumbGoTo($event)\">\n {{ 'platformUploadCollection.breadcrumbLabelAllFiles' | fdTranslate }}\n </a>\n </ng-template>\n <ng-template #singleBreadcrumb>\n <span>\n {{\n 'platformUploadCollection.breadcrumbLabelAllFilesWithTotal'\n | fdTranslate : { total: _totalItems }\n }}\n </span>\n </ng-template>\n <ng-container\n *ngTemplateOutlet=\"_breadcrumbList.length > 0 ? multipleBreadcrumbs : singleBreadcrumb\"\n ></ng-container>\n </fd-breadcrumb-item>\n <fd-breadcrumb-item *ngFor=\"let item of _breadcrumbList; let i = index\">\n <ng-template #clickableBreadcrumb>\n <a href=\"#\" fd-link (click)=\"_breadcrumbGoTo($event, i)\">{{ item.folderName }}</a>\n </ng-template>\n <ng-template #textBreadcrumb>\n <span>{{ item.folderName }} ({{ _totalItems }})</span>\n </ng-template>\n <ng-container\n *ngTemplateOutlet=\"item.clikable ? clickableBreadcrumb : textBreadcrumb\"\n ></ng-container>\n </fd-breadcrumb-item>\n </fd-breadcrumb>\n </div>\n\n <fd-toolbar-spacer style=\"max-width: 3rem\"></fd-toolbar-spacer>\n <ng-container *ngIf=\"readonly || selectedItems.length === 0\">\n <fd-input-group\n *ngIf=\"showSearch\"\n [(ngModel)]=\"_searchText\"\n (ngModelChange)=\"_searchInputChanged()\"\n glyph=\"search\"\n [ariaLabelledBy]=\"id + '-breadcrumb'\"\n [placeholder]=\"'platformUploadCollection.searchPlaceholder' | fdTranslate\"\n ></fd-input-group>\n\n <ng-container *ngIf=\"!readonly\">\n <button\n fd-toolbar-item\n fd-button\n (click)=\"_openUploadFiles()\"\n fdType=\"ghost\"\n [disabled]=\"disabled\"\n [label]=\"'platformUploadCollection.addBtnLabel' | fdTranslate\"\n [title]=\"'platformUploadCollection.addBtnLabel' | fdTranslate\"\n ></button>\n\n <button\n fd-toolbar-item\n fd-button\n (click)=\"_openNewFolderDialog()\"\n *ngIf=\"hierarchy\"\n [disabled]=\"disabled\"\n fdType=\"transparent\"\n [label]=\"'platformUploadCollection.newFolderBtnLabel' | fdTranslate\"\n [title]=\"'platformUploadCollection.newFolderBtnLabel' | fdTranslate\"\n ></button>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"!readonly && selectedItems.length > 0\">\n <button\n fd-toolbar-item\n fd-button\n (click)=\"_moveToClicked(true)\"\n fdType=\"ghost\"\n [disabled]=\"disabled\"\n [label]=\"'platformUploadCollection.moveToBtnLabel' | fdTranslate\"\n [title]=\"'platformUploadCollection.moveToBtnLabel' | fdTranslate\"\n ></button>\n <button\n fd-toolbar-item\n fd-button\n (click)=\"_downloadClicked(true)\"\n fdType=\"ghost\"\n [disabled]=\"disabled\"\n *ngIf=\"_showIfSelectedOnlyFiles()\"\n [label]=\"'platformUploadCollection.downloadBtnLabel' | fdTranslate\"\n [title]=\"'platformUploadCollection.downloadBtnLabel' | fdTranslate\"\n ></button>\n <button\n fd-toolbar-item\n fd-button\n (click)=\"_remove(true)\"\n fdType=\"ghost\"\n [disabled]=\"disabled\"\n [label]=\"'platformUploadCollection.removeBtnLabel' | fdTranslate\"\n [title]=\"'platformUploadCollection.removeBtnLabel' | fdTranslate\"\n ></button>\n </ng-container>\n </fd-toolbar>\n\n <div class=\"fdp-upload-collection__table--wrapper\">\n <div\n class=\"fdp-upload-collection__table\"\n fdpUploadCollectionDragnDrop\n [fileTypes]=\"fileTypes\"\n [maxFilenameLength]=\"maxFilenameLength\"\n [maxFileSize]=\"maxFileSize\"\n [mimeTypes]=\"mimeTypes\"\n [dragndrop]=\"!readonly\"\n [disabled]=\"disabled\"\n [multiple]=\"multiple\"\n (fileChanged)=\"_handleDrop($event)\"\n (cancel)=\"_dragDropCancel()\"\n (onDropzone)=\"_onDropzone($event)\"\n >\n <!-- Table -->\n <fdp-table\n *ngIf=\"_visibleList$.value.length > 0\"\n [dataSource]=\"_visibleList$\"\n [loading]=\"dataSource.isDataLoading\"\n selectionMode=\"multiple\"\n emptyTableMessage=\"\"\n [noHorizontalBorders]=\"true\"\n [trackBy]=\"_trackByDocumentId\"\n (rowSelectionChange)=\"_onRowSelectionChange($event)\"\n >\n <fdp-column name=\"name\" label=\"Name\" width=\"8rem\">\n <fdp-table-cell *fdpCellDef=\"let item\">\n <div class=\"fdp-upload-collection__vertical-align-center\">\n <fd-icon\n class=\"fdp-upload-collection__fd-icon\"\n *ngIf=\"item.type === 'folder'\"\n glyph=\"folder-blank\"\n [title]=\"'platformUploadCollection.folderIconTitle' | fdTranslate\"\n ></fd-icon>\n <fd-icon\n class=\"fdp-upload-collection__fd-icon\"\n *ngIf=\"item.type === 'file'\"\n [glyph]=\"_getIconByType(item)\"\n [title]=\"'platformUploadCollection.fileIconTitle' | fdTranslate\"\n ></fd-icon>\n\n <ng-container *ngIf=\"disabled || readonly || !_isSelectedItem(item); else editMode\">\n <span\n [class.fdp-upload-collection__cursor]=\"item.type === 'folder'\"\n (click)=\"_openFolder(item)\"\n >{{ item.name }}</span\n >\n </ng-container>\n </div>\n\n <ng-template #editMode>\n <div fd-form-item>\n <fd-form-input-message-group [triggers]=\"[]\" [isOpen]=\"!!item.sameFilenameState\">\n <div class=\"fdp-upload-collection__vertical-align-center\">\n <input\n fd-form-control\n [value]=\"_getItemName(item)\"\n (blur)=\"_fileNameChange($event, item)\"\n (input)=\"_checkName($event, item)\"\n type=\"text\"\n [placeholder]=\"\n 'platformUploadCollection.editFileNameInputPlaceholder' | fdTranslate\n \"\n [state]=\"item.sameFilenameState\"\n />\n <span class=\"fdp-upload-collection__item_extension\">{{\n _getItemExtension(item)\n }}</span>\n </div>\n\n <fd-form-message [type]=\"item.sameFilenameState\">\n {{\n (item.type === 'file'\n ? 'platformUploadCollection.editFileNameFileAlreadyExistsError'\n : 'platformUploadCollection.editFileNameFolderAlreadyExistsError'\n ) | fdTranslate\n }}\n </fd-form-message>\n </fd-form-input-message-group>\n </div>\n </ng-template>\n </fdp-table-cell>\n </fdp-column>\n\n <fdp-column name=\"uploadedBy\" label=\"Uploaded by\" width=\"5rem\">\n <fdp-table-cell *fdpCellDef=\"let item\">{{ item.uploadedBy.name }}</fdp-table-cell>\n </fdp-column>\n\n <fdp-column name=\"uploadedOn\" label=\"Uploaded on\" width=\"5rem\">\n <fdp-table-cell *fdpCellDef=\"let item\">{{ item.uploadedOn | date : 'shortDate' }}</fdp-table-cell>\n </fdp-column>\n\n <fdp-column name=\"size\" label=\"File size\" width=\"5rem\">\n <fdp-table-cell *fdpCellDef=\"let item\">{{ item.fileSize | convertBytes }}</fdp-table-cell>\n </fdp-column>\n\n <fdp-column name=\"version\" label=\"Version\" width=\"5rem\">\n <fdp-table-cell *fdpCellDef=\"let item\">{{ item.version || '' }}</fdp-table-cell>\n </fdp-column>\n\n <fdp-column name=\"status\" label=\"Status\" width=\"5rem\">\n <fdp-table-cell *fdpCellDef=\"let item\">\n <fd-busy-indicator\n *ngIf=\"item.status === _uploadCollectionItemStatus.LOADING\"\n [loading]=\"true\"\n ariaLabel=\"Status: Loading\"\n ariaLive=\"polite\"\n size=\"s\"\n ></fd-busy-indicator>\n <span\n *ngIf=\"item.status === _uploadCollectionItemStatus.SUCCESSFUL\"\n fd-object-status\n status=\"positive\"\n >\n {{ 'platformUploadCollection.itemStatusSuccessful' | fdTranslate }}\n </span>\n <span\n *ngIf=\"item.status === _uploadCollectionItemStatus.UNSUCCESSFUL\"\n fd-object-status\n status=\"negative\"\n >\n {{ 'platformUploadCollection.itemStatusUnsuccessful' | fdTranslate }}\n </span>\n </fdp-table-cell>\n </fdp-column>\n\n <fdp-column name=\"action\" *ngIf=\"!readonly\" width=\"5rem\" align=\"end\">\n <fdp-table-header *fdpHeaderCellDef>Action</fdp-table-header>\n <fdp-table-cell *fdpCellDef=\"let item\">\n <div class=\"fdp-upload-collection__actions\">\n <div class=\"fdp-upload-collection__actions--status\">\n <button\n fd-button\n [label]=\"'platformUploadCollection.uploadNewFileAfterFailAction' | fdTranslate\"\n [title]=\"'platformUploadCollection.uploadNewFileAfterFailAction' | fdTranslate\"\n (click)=\"_runUploadNewFileAfterFail(item)\"\n fdType=\"ghost\"\n [disabled]=\"disabled\"\n *ngIf=\"item.status === _uploadCollectionItemStatus.UNSUCCESSFUL\"\n ></button>\n\n <button\n fd-button\n [label]=\"'platformUploadCollection.cancelUploadNewFileAction' | fdTranslate\"\n [title]=\"'platformUploadCollection.cancelUploadNewFileAction' | fdTranslate\"\n fdType=\"ghost\"\n [disabled]=\"disabled\"\n (click)=\"_cancelUploadNewFile(item)\"\n *ngIf=\"terminationEnabled && item.status === _uploadCollectionItemStatus.LOADING\"\n ></button>\n </div>\n\n <fdp-menu-button\n icon=\"overflow\"\n [disabled]=\"disabled\"\n type=\"transparent\"\n [title]=\"'platformUploadCollection.itemMenuBtnTitle' | fdTranslate\"\n [fdpMenuTriggerFor]=\"menuActions\"\n (buttonClicked)=\"_actionButton(item)\"\n >\n </fdp-menu-button>\n </div>\n </fdp-table-cell>\n </fdp-column>\n </fdp-table>\n\n <!-- Dragdrop area -->\n <div\n class=\"fdp-upload-collection__dragdrop-area\"\n *ngIf=\"_showDragDropArea\"\n [class.active]=\"_onDragDropArea\"\n >\n <fd-icon class=\"fdp-upload-collection__dragdrop-area--icon\" glyph=\"upload-to-cloud\"></fd-icon>\n <p class=\"fdp-upload-collection__dragdrop-area--text\">\n {{ 'platformUploadCollection.dragDropAreaText' | fdTranslate }}\n </p>\n </div>\n\n <!-- No data -->\n <div\n class=\"fdp-upload-collection__no-data\"\n *ngIf=\"_visibleList$.value.length === 0\"\n [class.invisible]=\"_showDragDropArea\"\n >\n <fd-icon glyph=\"document\"></fd-icon>\n <h3>{{ noDataText || ('platformUploadCollection.noDataText' | fdTranslate) }}</h3>\n <p>{{ noDataDescription || ('platformUploadCollection.noDataDescription' | fdTranslate) }}</p>\n </div>\n </div>\n\n <!-- Table footer -->\n <div class=\"fdp-upload-collection__table-footer\" *ngIf=\"enablePagination\">\n <!-- Pagination -->\n <div class=\"fdp-upload-collection__pagination\">\n <span [id]=\"id + '-pagination'\" class=\"fdp-upload-collection__pagination--total\">\n {{\n 'platformUploadCollection.paginationTotal'\n | fdTranslate : { from: _countShowedItems, to: _countNotShowedItems, total: _totalItems }\n }}\n </span>\n <fd-pagination\n [totalItems]=\"_totalItems\"\n [displayTotalItems]=\"false\"\n (pageChangeStart)=\"_pageChanged($event)\"\n [itemsPerPage]=\"_itemsPerPage\"\n [currentPage]=\"_currentPage\"\n [attr.aria-labelledby]=\"id + '-pagination'\"\n ></fd-pagination>\n </div>\n\n <!-- Results per page -->\n <div class=\"fdp-upload-collection__results\">\n <span class=\"fdp-upload-collection__results--title\">\n <span [id]=\"id + '-results'\">\n {{ 'platformUploadCollection.resultsPerPage' | fdTranslate }}\n </span>\n <span *ngIf=\"_itemsPerPageOptions.length === 0\">{{ _itemsPerPage }}</span>\n </span>\n <fdp-menu-button\n *ngIf=\"_itemsPerPageOptions.length > 0\"\n type=\"ghost\"\n [ariaLabelledBy]=\"id + '-results'\"\n [fdpMenuTriggerFor]=\"itemsPerPageMenu\"\n [label]=\"_itemsPerPage + ''\"\n >\n </fdp-menu-button>\n </div>\n </div>\n </div>\n</div>\n\n<fdp-menu #itemsPerPageMenu xPosition=\"before\">\n <fdp-menu-item\n *ngFor=\"let value of _itemsPerPageOptions\"\n (itemSelect)=\"_itemsPerPageChange(value.label)\"\n [attr.title]=\"'Results per page: ' + value.label\"\n >\n <span>{{ value.label }}</span>\n </fdp-menu-item>\n</fdp-menu>\n\n<fdp-menu #menuActions xPosition=\"before\">\n <fdp-menu-item (itemSelect)=\"_moveToClicked()\">\n <fd-icon\n class=\"fdp-upload-collection__fd-icon\"\n glyph=\"folder-blank\"\n [title]=\"'platformUploadCollection.moveToBtnLabel' | fdTranslate\"\n ></fd-icon>\n <span>\n {{ 'platformUploadCollection.moveToBtnLabel' | fdTranslate }}\n </span>\n </fdp-menu-item>\n <ng-container *ngIf=\"_activeItem?.type === 'file'\">\n <fdp-menu-item (itemSelect)=\"_downloadClicked()\">\n <fd-icon\n class=\"fdp-upload-collection__fd-icon\"\n glyph=\"download\"\n [title]=\"'platformUploadCollection.downloadBtnLabel' | fdTranslate\"\n ></fd-icon>\n <span>\n {{ 'platformUploadCollection.downloadBtnLabel' | fdTranslate }}\n </span>\n </fdp-menu-item>\n <fdp-menu-item (itemSelect)=\"_openUpdateFileVersion()\">\n <fd-icon\n class=\"fdp-upload-collection__fd-icon\"\n glyph=\"drill-up\"\n [title]=\"'platformUploadCollection.updateVersionBtnLabel' | fdTranslate\"\n ></fd-icon>\n <span>\n {{ 'platformUploadCollection.updateVersionBtnLabel' | fdTranslate }}\n </span>\n </fdp-menu-item>\n </ng-container>\n <fdp-menu-item (itemSelect)=\"_remove()\">\n <fd-icon\n class=\"fdp-upload-collection__fd-icon\"\n glyph=\"delete\"\n [title]=\"'platformUploadCollection.removeBtnLabel' | fdTranslate\"\n ></fd-icon>\n <span>\n {{ 'platformUploadCollection.removeBtnLabel' | fdTranslate }}\n </span>\n </fdp-menu-item>\n</fdp-menu>\n\n<input\n #fileInput\n class=\"fdp-upload-collection__hidden\"\n type=\"file\"\n (fileSelected)=\"_selectHandler($event)\"\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n fdFileSelect\n/>\n\n<input\n #updateVersionInput\n class=\"fdp-upload-collection__hidden\"\n type=\"file\"\n (fileSelected)=\"_selectHandler($event)\"\n [disabled]=\"disabled\"\n [multiple]=\"false\"\n fdFileSelect\n/>\n\n<ng-template\n let-messageType=\"messageType\"\n let-payload=\"payload\"\n let-messageStripType=\"messageStripType\"\n let-count=\"count\"\n #message\n>\n <ng-container *ngIf=\"_message\" [ngSwitch]=\"messageType\">\n <ng-container\n *ngSwitchCase=\"_messageType.CREATE\"\n [ngTemplateOutlet]=\"messageNewFolder\"\n [ngTemplateOutletContext]=\"{\n messageStripType: _message.messageStripType,\n payload: _message.payload\n }\"\n ></ng-container>\n\n <ng-container\n *ngSwitchCase=\"_messageType.UPDATE_VERSION\"\n [ngTemplateOutlet]=\"messageUpdateVersion\"\n [ngTemplateOutletContext]=\"{\n messageStripType: _message.messageStripType,\n payload: _message.payload\n }\"\n ></ng-container>\n\n <ng-container\n *ngSwitchCase=\"_messageType.FILE_RENAME\"\n [ngTemplateOutlet]=\"messageFileRename\"\n [ngTemplateOutletContext]=\"{\n messageStripType: _message.messageStripType,\n payload: _message.payload\n }\"\n ></ng-container>\n\n <ng-container\n *ngSwitchCase=\"_messageType.REMOVE\"\n [ngTemplateOutlet]=\"messageRemove\"\n [ngTemplateOutletContext]=\"{\n payload: _message.payload,\n messageStripType: _message.messageStripType,\n count: _message.count\n }\"\n ></ng-container>\n\n <ng-container\n *ngSwitchCase=\"_messageType.MOVE\"\n [ngTemplateOutlet]=\"messageMove\"\n [ngTemplateOutletContext]=\"{\n payload: _message.payload,\n messageStripType: _message.messageStripType,\n count: _message.count\n }\"\n ></ng-container>\n\n <ng-container\n *ngSwitchCase=\"_messageType.TYPE_MISMATCH\"\n [ngTemplateOutlet]=\"messageTypeMismatch\"\n [ngTemplateOutletContext]=\"{\n payload: _message.payload,\n messageStripType: _message.messageStripType,\n count: _message.count\n }\"\n ></ng-container>\n\n <ng-container\n *ngSwitchCase=\"_messageType.FILE_SIZE\"\n [ngTemplateOutlet]=\"messageFileSize\"\n [ngTemplateOutletContext]=\"{\n payload: _message.payload,\n messageStripType: _message.messageStripType,\n count: _message.count\n }\"\n ></ng-container>\n\n <ng-container\n *ngSwitchCase=\"_messageType.FILE_NAME_LENGTH\"\n [ngTemplateOutlet]=\"messageFilenameLength\"\n [ngTemplateOutletContext]=\"{\n payload: _message.payload,\n messageStripType: _message.messageStripType,\n count: _message.count\n }\"\n ></ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #messageNewFolder let-payload=\"payload\" let-messageStripType=\"messageStripType\">\n <ng-container *ngIf=\"messageStripType === 'error'; else foldersCreated\">\n {{ 'platformUploadCollection.messageCreateFailed' | fdTranslate : { folderName: payload.folder.name } }}\n </ng-container>\n <ng-template #foldersCreated>\n {{ 'platformUploadCollection.messageCreateSuccess' | fdTranslate : { folderName: payload.folder.name } }}\n </ng-template>\n</ng-template>\n\n<ng-template #messageUpdateVersion let-payload=\"payload\" let-messageStripType=\"messageStripType\">\n <ng-container *ngIf=\"messageStripType === 'error'; else versionUpdated\">\n {{ 'platformUploadCollection.messageUpdateVersionFailed' | fdTranslate : { folderName: payload.item.name } }}\n </ng-container>\n <ng-template #versionUpdated>\n {{ 'platformUploadCollection.messageUpdateVersionSuccess' | fdTranslate : { folderName: payload.item.name } }}\n </ng-template>\n</ng-template>\n\n<ng-template #messageFileRename let-payload=\"payload\" let-messageStripType=\"messageStripType\">\n <ng-container *ngIf=\"messageStripType === 'error'; else fileRenamed\">\n {{\n 'platformUploadCollection.messageFileRenameFailed'\n | fdTranslate : { from: payload.item.name, to: payload.fileName }\n }}\n </ng-container>\n <ng-template #fileRenamed>\n {{\n 'platformUploadCollection.messageFileRenameSuccess'\n | fdTranslate : { from: payload.item.name, to: payload.fileName }\n }}\n </ng-template>\n</ng-template>\n\n<ng-template #messageRemove let-payload=\"payload\" let-messageStripType=\"messageStripType\" let-count=\"count\">\n <ng-container *ngIf=\"payload.items.length > 1 && count.folder && count.file\">\n <ng-container *ngIf=\"messageStripType === 'error'; else foldersAndFilesRemoved\">\n {{\n 'platformUploadCollection.messageRemoveFoldersAndFilesFailed'\n | fdTranslate : { foldersCount: count.folder, filesCount: count.file }\n }}\n </ng-container>\n <ng-template #foldersAndFilesRemoved>\n {{\n 'platformUploadCollection.messageRemoveFoldersAndFilesSuccess'\n | fdTranslate : { foldersCount: count.folder, filesCount: count.file }\n }}\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"payload.items.length > 1 && count.folder && !count.file\">\n <ng-container *ngIf=\"messageStripType === 'error'; else foldersRemoved\">\n {{ 'platformUploadCollection.messageRemoveFoldersFailed' | fdTranslate : { foldersCount: count.folder } }}\n </ng-container>\n <ng-template #foldersRemoved>\n {{ 'platformUploadCollection.messageRemoveFoldersSuccess' | fdTranslate : { foldersCount: count.folder } }}\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"payload.items.length > 1 && count.file && !count.folder\">\n <ng-container *ngIf=\"messageStripType === 'error'; else filesRemoved\">\n {{ 'platformUploadCollection.messageRemoveFilesFailed' | fdTranslate : { filesCount: count.file } }}\n </ng-container>\n <ng-template #filesRemoved>\n {{ 'platformUploadCollection.messageRemoveFilesSuccess' | fdTranslate : { filesCount: count.file } }}\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"payload.items.length === 1\">\n <ng-container *ngIf=\"messageStripType === 'error'; else oneItemRemoved\">\n {{\n 'platformUploadCollection.messageRemoveFileOrFolderFailed'\n | fdTranslate : { name: payload.items[0].name }\n }}\n </ng-container>\n <ng-template #oneItemRemoved>\n {{\n 'platformUploadCollection.messageRemoveFileOrFolderSuccess'\n | fdTranslate : { name: payload.items[0].name }\n }}\n </ng-template>\n </ng-container>\n</ng-template>\n\n<ng-template #messageMove let-payload=\"payload\" let-messageStripType=\"messageStripType\" let-count=\"count\">\n <ng-container *ngIf=\"payload.items.length > 1 && count.folder && count.file\">\n <ng-container *ngIf=\"messageStripType === 'error'; else filesAndFoldersMovedTo\">\n {{\n (payload.to\n ? 'platformUploadCollection.messageMoveFoldersAndFilesFailed'\n : 'platformUploadCollection.messageMoveRootFoldersAndFilesFailed'\n ) | fdTranslate : { foldersCount: count.folder, filesCount: count.file, to: payload.to?.name }\n }}\n </ng-container>\n <ng-template #filesAndFoldersMovedTo>\n {{\n (payload.to\n ? 'platformUploadCollection.messageMoveFoldersAndFilesSuccess'\n : 'platformUploadCollection.messageMoveRootFoldersAndFilesSuccess'\n ) | fdTranslate : { foldersCount: count.folder, filesCount: count.file, to: payload.to?.name }\n }}\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"payload.items.length > 1 && count.folder && !count.file\">\n <ng-container *ngIf=\"messageStripType === 'error'; else foldersMovedTo\">\n {{\n (payload.to\n ? 'platformUploadCollection.messageMoveFoldersFailed'\n : 'platformUploadCollection.messageMoveRootFoldersFailed'\n ) | fdTranslate : { foldersCount: count.folder, to: payload.to?.name }\n }}\n </ng-container>\n <ng-template #foldersMovedTo>\n {{\n (payload.to\n ? 'platformUploadCollection.messageMoveFoldersSuccess'\n : 'platformUploadCollection.messageMoveRootFoldersSuccess'\n ) | fdTranslate : { foldersCount: count.folder, to: payload.to?.name }\n }}\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"payload.items.length > 1 && count.file && !count.folder\">\n <ng-container *ngIf=\"messageStripType === 'error'; else filesMovedTo\">\n {{\n (payload.to\n ? 'platformUploadCollection.messageMoveFilesFailed'\n : 'platformUploadCollection.messageMoveRootFilesFailed'\n ) | fdTranslate : { filesCount: count.file, to: payload.to?.name }\n }}\n </ng-container>\n <ng-template #filesMovedTo>\n {{\n (payload.to\n ? 'platformUploadCollection.messageMoveFilesSuccess'\n : 'platformUploadCollection.messageMoveRootFilesSuccess'\n ) | fdTranslate : { filesCount: count.file, to: payload.to?.name }\n }}\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"payload.items.length === 1\">\n <ng-container *ngIf=\"messageStripType === 'error'; else oneItemMovedTo\">\n {{\n (payload.to\n ? 'platformUploadCollection.messageMoveFileOrFolderFailed'\n : 'platformUploadCollection.messageMoveRootFileOrFolderFailed'\n ) | fdTranslate : { name: payload.items[0].name, to: payload.to?.name }\n }}\n </ng-container>\n <ng-template #oneItemMovedTo>\n {{\n (payload.to\n ? 'platformUploadCollection.messageMoveFileOrFolderSuccess'\n : 'platformUploadCollection.messageMoveRootFileOrFolderSuccess'\n ) | fdTranslate : { name: payload.items[0].name, to: payload.to?.name }\n }}\n </ng-template>\n </ng-container>\n</ng-template>\n\n<ng-template #messageTypeMismatch let-payload=\"payload\" let-messageStripType=\"messageStripType\" let-count=\"count\">\n <ng-container *ngIf=\"payload.items.length > 1\">\n {{\n 'platformUploadCollection.messageFileTypeMismatchPlural'\n | fdTranslate : { filesCount: payload.items.length, allowedTypes: _getAllowedTypes() }\n }}\n </ng-container>\n\n <ng-container *ngIf=\"payload.items.length === 1\">\n {{\n 'platformUploadCollection.messageFileTypeMismatchSingular'\n | fdTranslate : { fileName: payload.items[0].name, allowedTypes: _getAllowedTypes() }\n }}\n </ng-container>\n</ng-template>\n\n<ng-template #messageFileSize let-payload=\"payload\" let-messageStripType=\"messageStripType\" let-count=\"count\">\n <ng-container *ngIf=\"payload.items.length > 1\">\n {{\n 'platformUploadCollection.messageFileSizeExceededPlural'\n | fdTranslate : { filesCount: payload.items.length, maxFileSize: maxFileSize || 0 }\n }}\n </ng-container>\n\n <ng-container *ngIf=\"payload.items.length === 1\">\n {{\n 'platformUploadCollection.messageFileSizeExceededSingular'\n | fdTranslate : { fileName: payload.items[0].name, maxFileSize: maxFileSize || 0 }\n }}\n </ng-container>\n</ng-template>\n\n<ng-template #messageFilenameLength let-payload=\"payload\" let-messageStripType=\"messageStripType\" let-count=\"count\">\n <ng-container *ngIf=\"payload.items.length > 1\">\n {{\n 'platformUploadCollection.messageFileNameLengthExceededPlural'\n | fdTranslate : { filesCount: payload.items.length, maxFilenameLength: maxFilenameLength || 0 }\n }}\n </ng-container>\n\n <ng-container *ngIf=\"payload.items.length === 1\">\n {{\n 'platformUploadCollection.messageFileNameLengthExceededSingular'\n | fdTranslate : { fileName: payload.items[0].name, maxFilenameLength: maxFilenameLength || 0 }\n }}\n </ng-container>\n</ng-template>\n", styles: [".fdp-upload-collection__fd-icon{color:#0854a0!important;color:var(--sapHighlightColor)!important;margin-right:.625rem!important;font-size:1rem!important}.fdp-upload-collection fd-message-strip{margin-bottom:.625rem}.fdp-upload-collection__toolbar .fd-toolbar{margin-bottom:.625rem;border:0}.fdp-upload-collection__toolbar .fd-toolbar fd-input-group .sap-icon--search{color:#0854a0;color:var(--sapHighlightColor)}.fdp-upload-collection__no-data{text-align:center;min-height:230px;display:flex;align-items:center;flex-direction:column;justify-content:center}.fdp-upload-collection__no-data fd-icon{font-size:3rem;line-height:3rem;margin:0;color:#6a6d70;color:var(--sapContent_LabelColor)}.fdp-upload-collection__no-data h3{font-size:1.125rem;font-size:var(--sapFontHeader4Size);line-height:1rem;margin:8px 0}.fdp-upload-collection__no-data p{font-size:.875rem;font-size:var(--sapFontSize);line-height:1rem;color:#6a6d70;color:var(--sapContent_LabelColor);margin:0}.fdp-upload-collection__no-data.invisible{opacity:0}.fdp-upload-collection__table{position:relative}.fdp-upload-collection__table-footer{display:flex;justify-content:space-between;align-items:center;margin-top:.625rem}.fdp-upload-collection__table-footer .fdp-upload-collection__results--title,.fdp-upload-collection__table-footer .fdp-upload-collection__pagination--total{line-height:1.4;line-height:var(--sapContent_LineHeight);color:#32363a;color:var(--sapTextColor);font-family:\"72\",\"72full\",Arial,Helvetica,sans-serif;font-family:var(--sapFontFamily);font-weight:400;-webkit-font-smoothing:antialiased;box-sizing:border-box;padding:0;margin:0;border:0;font-size:.875rem;font-size:var(--sapFontSize);color:#6a6d70;color:var(--sapContent_LabelColor);margin-right:.5rem}.fdp-upload-collection__table-footer .fdp-upload-collection__results--title:before,.fdp-upload-collection__table-footer .fdp-upload-collection__results--title:after,.fdp-upload-collection__table-footer .fdp-upload-collection__pagination--total:before,.fdp-upload-collection__table-footer .fdp-upload-collection__pagination--total:after{box-sizing:inherit;font-size:inherit}[dir=rtl] .fdp-upload-collection__table-footer .fdp-upload-collection__results--title,.fdp-upload-collection__table-footer .fdp-upload-collection__results--title[dir=rtl],[dir=rtl] .fdp-upload-collection__table-footer .fdp-upload-collection__pagination--total,.fdp-upload-collection__table-footer .fdp-upload-collection__pagination--total[dir=rtl]{margin-right:0;margin-left:.5rem}.fdp-upload-collection__table-footer .fdp-upload-collection__pagination--total{width:100%;align-self:center}.fdp-upload-collection__table-footer .fdp-upload-collection__pagination{font-size:.875rem;font-size:var(--sapFontSize);line-height:1.4;line-height:var(--sapContent_LineHeight);color:#32363a;color:var(--sapTextColor);font-family:\"72\",\"72full\",Arial,Helvetica,sans-serif;font-family:var(--sapFontFamily);font-weight:400;-webkit-font-smoothing:antialiased;box-sizing:border-box;padding:0;margin:0;border:0;display:flex}.fdp-upload-collection__table-footer .fdp-upload-collection__pagination:before,.fdp-upload-collection__table-footer .fdp-upload-collection__pagination:after{box-sizing:inherit;font-size:inherit}.fdp-upload-collection__hidden{display:none}.fdp-upload-collection__vertical-align-center{display:flex;align-items:center}.fdp-upload-collection__cursor{cursor:pointer}.fdp-upload-collection__item_extension{white-space:nowrap}.fdp-upload-collection__actions{display:flex;justify-content:space-between;align-items:center}.fdp-upload-collection__actions .sap-icon--slim-arrow-down{display:none}.fdp-upload-collection__dragdrop-area{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;background:rgba(255,255,255,.5);outline:2px dashed transparent;outline-color:#89919a;outline-color:var(--sapField_BorderColor);outline-offset:-4px;box-sizing:border-box}.fdp-upload-collection__dragdrop-area fd-icon{font-size:3rem;line-height:3rem;margin-bottom:1rem;color:#6a6d70;color:var(--sapContent_LabelColor)}.fdp-upload-collection__dragdrop-area p{font-size:1rem;line-height:1.125rem;color:#6a6d70;color:var(--sapContent_LabelColor)}.fdp-upload-collection__dragdrop-area.active{outline-color:#0854a0;outline-color:var(--sapContent_DragAndDropActiveColor);background:rgba(8,84,160,.08)}.fdp-upload-collection__dragdrop-area.active fd-icon,.fdp-upload-collection__dragdrop-area.active p{color:#0854a0;color:var(--sapContent_DragAndDropActiveColor)}.fdp-upload-collection .fd-form-item{align-items:center;flex-direction:row}.fdp-upload-collection-dialig-no-bg{background-color:transparent!important}[dir=rtl] .fdp-upload-collection fd-icon{margin-right:0;margin-left:.625rem}.fd-menu__list .disabled{background-color:#fff!important;background-color:var(--sapList_Background)!important;cursor:not-allowed}.fd-menu__list .disabled .fd-menu__title{color:#32363a!important;color:var(--sapList_TextColor)!important}\n"] }]
@@ -219,7 +219,7 @@ class ApprovalFlowUserListComponent {
219
219
  }
220
220
  }
221
221
  ApprovalFlowUserListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ApprovalFlowUserListComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
222
- ApprovalFlowUserListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ApprovalFlowUserListComponent, selector: "fdp-approval-flow-user-list", inputs: { users: "users", selectedUsers: "selectedUsers", isSelectable: "isSelectable" }, outputs: { onUserClick: "onUserClick", onSelectionChange: "onSelectionChange" }, host: { classAttribute: "fdp-approval-flow-user-list" }, viewQueries: [{ propertyName: "list", first: true, predicate: ListComponent, descendants: true }, { propertyName: "listItems", predicate: StandardListItemComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"fdp-approval-flow-user-list__selected-count\" *ngIf=\"_selectedItems.length\">\n <ng-container *ngIf=\"_selectedItems.length === 1; else multipleItems\">\n {{ 'platformApprovalFlow.userListSelectedItemsCountSingular' | fdTranslate }}\n </ng-container>\n\n <ng-template #multipleItems>\n {{ 'platformApprovalFlow.userListSelectedItemsCountPlural' | fdTranslate: { count: _selectedItems.length } }}\n </ng-template>\n</div>\n\n<fdp-list\n [selectionMode]=\"isSelectable ? 'multi' : 'none'\"\n [selection]=\"isSelectable\"\n [navigationIndicator]=\"true\"\n [hasByLine]=\"true\"\n [(ngModel)]=\"_selectedItems\"\n [selectedItems]=\"_selectedItems\"\n (selectedItemChange)=\"_onSelect($event)\"\n>\n <fdp-standard-list-item\n *ngFor=\"let _user of _displayUsers; trackBy: _trackByFn\"\n [attr.id]=\"_idPrefix + _user.id\"\n [avatarSrc]=\"_user.imgUrl\"\n [avatarTitle]=\"_user.name\"\n [description]=\"_user.description\"\n [ariaLabel]=\"_user.name\"\n [title]=\"_user.name\"\n (click)=\"$event.stopPropagation(); onUserClick.emit(_user)\"\n ></fdp-standard-list-item>\n</fdp-list>\n", styles: [".fdp-approval-flow-user-list{display:block;margin-top:-1rem}.fdp-approval-flow-user-list__selected-count{line-height:2rem;margin:0 -1rem;padding:0 1rem;background:#f2f2f2;background:var(--sapList_HeaderBackground, #f2f2f2)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.ListComponent, selector: "fdp-list", inputs: ["selectedItems", "ariaSetsize", "ariaMultiselectable", "loadTitle", "loadingLabel", "delayTime", "itemSize", "loadMore", "loadOnScroll", "role", "listType", "maxHeight", "noBorder", "scrollOffsetPercentage", "selection", "selectionMode", "value", "rowSelection", "dataSource", "navigated", "navigationIndicator", "hasByLine", "hasObject", "unreadIndicator"], outputs: ["selectedItemChange"] }, { kind: "component", type: i3.StandardListItemComponent, selector: "fdp-standard-list-item" }, { kind: "pipe", type: i10.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
222
+ ApprovalFlowUserListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ApprovalFlowUserListComponent, selector: "fdp-approval-flow-user-list", inputs: { users: "users", selectedUsers: "selectedUsers", isSelectable: "isSelectable" }, outputs: { onUserClick: "onUserClick", onSelectionChange: "onSelectionChange" }, host: { classAttribute: "fdp-approval-flow-user-list" }, viewQueries: [{ propertyName: "list", first: true, predicate: ListComponent, descendants: true }, { propertyName: "listItems", predicate: StandardListItemComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"fdp-approval-flow-user-list__selected-count\" *ngIf=\"_selectedItems.length\">\n <ng-container *ngIf=\"_selectedItems.length === 1; else multipleItems\">\n {{ 'platformApprovalFlow.userListSelectedItemsCountSingular' | fdTranslate }}\n </ng-container>\n\n <ng-template #multipleItems>\n {{ 'platformApprovalFlow.userListSelectedItemsCountPlural' | fdTranslate: { count: _selectedItems.length } }}\n </ng-template>\n</div>\n\n<fdp-list\n [selectionMode]=\"isSelectable ? 'multi' : 'none'\"\n [selection]=\"isSelectable\"\n [navigationIndicator]=\"true\"\n [hasByLine]=\"true\"\n [(ngModel)]=\"_selectedItems\"\n [selectedItems]=\"_selectedItems\"\n (selectedItemChange)=\"_onSelect($event)\"\n>\n <fdp-standard-list-item\n *ngFor=\"let _user of _displayUsers; trackBy: _trackByFn\"\n [attr.id]=\"_idPrefix + _user.id\"\n [avatarSrc]=\"_user.imgUrl\"\n [avatarTitle]=\"_user.name\"\n [description]=\"_user.description\"\n [ariaLabel]=\"_user.name\"\n [title]=\"_user.name\"\n (click)=\"$event.stopPropagation(); onUserClick.emit(_user)\"\n ></fdp-standard-list-item>\n</fdp-list>\n", styles: [".fdp-approval-flow-user-list{display:block;margin-top:-1rem}.fdp-approval-flow-user-list__selected-count{line-height:2rem;margin:0 -1rem;padding:0 1rem;background:#f2f2f2;background:var(--sapList_HeaderBackground, #f2f2f2)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.ListComponent, selector: "fdp-list", inputs: ["selectedItems", "ariaSetsize", "ariaMultiselectable", "loadTitle", "loadingLabel", "delayTime", "itemSize", "loadMore", "loadOnScroll", "role", "listType", "maxHeight", "noBorder", "scrollOffsetPercentage", "selection", "selectionMode", "value", "rowSelection", "dataSource", "navigated", "navigationIndicator", "hasByLine", "hasObject", "unreadIndicator", "interceptTabKey"], outputs: ["selectedItemChange"] }, { kind: "component", type: i3.StandardListItemComponent, selector: "fdp-standard-list-item" }, { kind: "pipe", type: i10.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
223
223
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ApprovalFlowUserListComponent, decorators: [{
224
224
  type: Component,
225
225
  args: [{ selector: 'fdp-approval-flow-user-list', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
@@ -803,7 +803,7 @@ class ApprovalFlowTeamListComponent {
803
803
  }
804
804
  }
805
805
  ApprovalFlowTeamListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ApprovalFlowTeamListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
806
- ApprovalFlowTeamListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ApprovalFlowTeamListComponent, selector: "fdp-approval-flow-team-list", inputs: { teams: "teams", isRtl: "isRtl", selectedTeamId: "selectedTeamId" }, outputs: { onTeamClick: "onTeamClick", onTeamRadioClick: "onTeamRadioClick" }, host: { classAttribute: "fdp-approval-flow-team-list" }, ngImport: i0, template: "<fdp-list [hasByLine]=\"true\" fdCompact>\n <fd-form-group>\n <div *ngFor=\"let team of teams; let i = index; trackBy: _trackByFn\" fd-form-item>\n <fd-radio-button\n [value]=\"team.id\"\n [attr.id]=\"'team-radio' + i\"\n [name]=\"'team-radio' + i\"\n [(ngModel)]=\"selectedTeamId\"\n (click)=\"onTeamRadioClick.emit(team)\"\n >\n </fd-radio-button>\n\n <fdp-standard-list-item\n [attr.id]=\"'approval-team-' + team.id\"\n [avatarSrc]=\"''\"\n [avatarTitle]=\"team.name\"\n [description]=\"team.description || team.members.length + ' members'\"\n [title]=\"team.name\"\n (click)=\"_showTeamDetails(team)\"\n >\n </fdp-standard-list-item>\n\n <fd-icon [glyph]=\"'navigation-' + (isRtl ? 'left' : 'right') + '-arrow'\"></fd-icon>\n </div>\n </fd-form-group>\n</fdp-list>\n", styles: [".fdp-approval-flow-team-list .fd-form-item{position:relative;margin-bottom:0}.fdp-approval-flow-team-list .fd-form-item fd-radio-button{position:absolute;z-index:1;top:1.4rem}.fdp-approval-flow-team-list .fd-form-item .fd-list__item{padding-left:2rem!important;cursor:pointer}.fdp-approval-flow-team-list .fd-form-item fd-icon{position:absolute;right:1rem;top:2rem;color:#0854a0;color:var(--sapButton_IconColor, #0854a0);cursor:pointer}.fdp-approval-flow-team-list .fd-form-item fd-avatar{color:#fff;color:var(--sapBaseColor, #fff)}[dir=rtl] .fdp-approval-flow-team-list .fd-form-item fd-icon,.fdp-approval-flow-team-list[dir=rtl] .fd-form-item fd-icon{right:auto;left:1rem}[dir=rtl] .fdp-approval-flow-team-list .fd-list__item,.fdp-approval-flow-team-list[dir=rtl] .fd-list__item{padding-right:2rem!important;padding-left:0!important}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3$1.ContentDensityDirective, selector: "[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]), [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]), [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]), [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])", inputs: ["fdContentDensity", "fdCompact", "fdCondensed", "fdCozy"], exportAs: ["fdContentDensity"] }, { kind: "component", type: i5.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "component", type: i3.ListComponent, selector: "fdp-list", inputs: ["selectedItems", "ariaSetsize", "ariaMultiselectable", "loadTitle", "loadingLabel", "delayTime", "itemSize", "loadMore", "loadOnScroll", "role", "listType", "maxHeight", "noBorder", "scrollOffsetPercentage", "selection", "selectionMode", "value", "rowSelection", "dataSource", "navigated", "navigationIndicator", "hasByLine", "hasObject", "unreadIndicator"], outputs: ["selectedItemChange"] }, { kind: "component", type: i3.StandardListItemComponent, selector: "fdp-standard-list-item" }, { kind: "component", type: i6$2.FormItemComponent, selector: "[fd-form-item]", inputs: ["isInline", "horizontal"] }, { kind: "component", type: i6$2.FormGroupComponent, selector: "fd-form-group", inputs: ["isInline"] }, { kind: "component", type: i7$1.RadioButtonComponent, selector: "fd-radio-button", inputs: ["ariaLabel", "ariaLabelledBy", "ariaDescribedBy", "title", "tabIndex", "state", "disabled", "selectedValue", "name", "id", "value", "required", "standalone"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
806
+ ApprovalFlowTeamListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ApprovalFlowTeamListComponent, selector: "fdp-approval-flow-team-list", inputs: { teams: "teams", isRtl: "isRtl", selectedTeamId: "selectedTeamId" }, outputs: { onTeamClick: "onTeamClick", onTeamRadioClick: "onTeamRadioClick" }, host: { classAttribute: "fdp-approval-flow-team-list" }, ngImport: i0, template: "<fdp-list [hasByLine]=\"true\" fdCompact>\n <fd-form-group>\n <div *ngFor=\"let team of teams; let i = index; trackBy: _trackByFn\" fd-form-item>\n <fd-radio-button\n [value]=\"team.id\"\n [attr.id]=\"'team-radio' + i\"\n [name]=\"'team-radio' + i\"\n [(ngModel)]=\"selectedTeamId\"\n (click)=\"onTeamRadioClick.emit(team)\"\n >\n </fd-radio-button>\n\n <fdp-standard-list-item\n [attr.id]=\"'approval-team-' + team.id\"\n [avatarSrc]=\"''\"\n [avatarTitle]=\"team.name\"\n [description]=\"team.description || team.members.length + ' members'\"\n [title]=\"team.name\"\n (click)=\"_showTeamDetails(team)\"\n >\n </fdp-standard-list-item>\n\n <fd-icon [glyph]=\"'navigation-' + (isRtl ? 'left' : 'right') + '-arrow'\"></fd-icon>\n </div>\n </fd-form-group>\n</fdp-list>\n", styles: [".fdp-approval-flow-team-list .fd-form-item{position:relative;margin-bottom:0}.fdp-approval-flow-team-list .fd-form-item fd-radio-button{position:absolute;z-index:1;top:1.4rem}.fdp-approval-flow-team-list .fd-form-item .fd-list__item{padding-left:2rem!important;cursor:pointer}.fdp-approval-flow-team-list .fd-form-item fd-icon{position:absolute;right:1rem;top:2rem;color:#0854a0;color:var(--sapButton_IconColor, #0854a0);cursor:pointer}.fdp-approval-flow-team-list .fd-form-item fd-avatar{color:#fff;color:var(--sapBaseColor, #fff)}[dir=rtl] .fdp-approval-flow-team-list .fd-form-item fd-icon,.fdp-approval-flow-team-list[dir=rtl] .fd-form-item fd-icon{right:auto;left:1rem}[dir=rtl] .fdp-approval-flow-team-list .fd-list__item,.fdp-approval-flow-team-list[dir=rtl] .fd-list__item{padding-right:2rem!important;padding-left:0!important}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3$1.ContentDensityDirective, selector: "[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]), [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]), [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]), [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])", inputs: ["fdContentDensity", "fdCompact", "fdCondensed", "fdCozy"], exportAs: ["fdContentDensity"] }, { kind: "component", type: i5.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "component", type: i3.ListComponent, selector: "fdp-list", inputs: ["selectedItems", "ariaSetsize", "ariaMultiselectable", "loadTitle", "loadingLabel", "delayTime", "itemSize", "loadMore", "loadOnScroll", "role", "listType", "maxHeight", "noBorder", "scrollOffsetPercentage", "selection", "selectionMode", "value", "rowSelection", "dataSource", "navigated", "navigationIndicator", "hasByLine", "hasObject", "unreadIndicator", "interceptTabKey"], outputs: ["selectedItemChange"] }, { kind: "component", type: i3.StandardListItemComponent, selector: "fdp-standard-list-item" }, { kind: "component", type: i6$2.FormItemComponent, selector: "[fd-form-item]", inputs: ["isInline", "horizontal"] }, { kind: "component", type: i6$2.FormGroupComponent, selector: "fd-form-group", inputs: ["isInline"] }, { kind: "component", type: i7$1.RadioButtonComponent, selector: "fd-radio-button", inputs: ["ariaLabel", "ariaLabelledBy", "ariaDescribedBy", "title", "tabIndex", "state", "disabled", "selectedValue", "name", "id", "value", "required", "standalone"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
807
807
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ApprovalFlowTeamListComponent, decorators: [{
808
808
  type: Component,
809
809
  args: [{ selector: 'fdp-approval-flow-team-list', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {