@firestitch/list 9.11.2 → 9.12.2

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 (34) hide show
  1. package/app/components/body/row/inline-action/inline-action.component.d.ts +3 -0
  2. package/app/components/body/row/menu-action/menu-action.component.d.ts +9 -0
  3. package/app/interfaces/listconfig.interface.d.ts +16 -0
  4. package/app/models/row-action.model.d.ts +2 -1
  5. package/bundles/firestitch-list.umd.js +72 -16
  6. package/bundles/firestitch-list.umd.js.map +1 -1
  7. package/bundles/firestitch-list.umd.min.js +2 -2
  8. package/bundles/firestitch-list.umd.min.js.map +1 -1
  9. package/esm2015/app/classes/reorder-controller.js +5 -5
  10. package/esm2015/app/components/body/row/actions/actions.component.js +2 -2
  11. package/esm2015/app/components/body/row/inline-action/inline-action.component.js +10 -2
  12. package/esm2015/app/components/body/row/menu-action/menu-action.component.js +37 -0
  13. package/esm2015/app/fs-list.module.js +5 -1
  14. package/esm2015/app/interfaces/listconfig.interface.js +1 -1
  15. package/esm2015/app/models/row-action.model.js +12 -2
  16. package/esm2015/firestitch-list.js +7 -6
  17. package/esm2015/public_api.js +1 -1
  18. package/esm5/app/classes/reorder-controller.js +5 -5
  19. package/esm5/app/components/body/row/actions/actions.component.js +2 -2
  20. package/esm5/app/components/body/row/inline-action/inline-action.component.js +10 -2
  21. package/esm5/app/components/body/row/menu-action/menu-action.component.js +38 -0
  22. package/esm5/app/fs-list.module.js +5 -1
  23. package/esm5/app/interfaces/listconfig.interface.js +1 -1
  24. package/esm5/app/models/row-action.model.js +13 -3
  25. package/esm5/firestitch-list.js +7 -6
  26. package/esm5/public_api.js +1 -1
  27. package/fesm2015/firestitch-list.js +63 -8
  28. package/fesm2015/firestitch-list.js.map +1 -1
  29. package/fesm5/firestitch-list.js +64 -8
  30. package/fesm5/firestitch-list.js.map +1 -1
  31. package/firestitch-list.d.ts +7 -6
  32. package/firestitch-list.metadata.json +1 -1
  33. package/package.json +1 -1
  34. package/public_api.d.ts +1 -1
@@ -15,6 +15,7 @@ import { ItemType, FilterComponent, ExternalParamsController as ExternalParamsCo
15
15
  import { FsScrollService, FsScrollModule } from '@firestitch/scroll';
16
16
  import { FsMenuModule } from '@firestitch/menu';
17
17
  import { FsPrompt, FsPromptModule } from '@firestitch/prompt';
18
+ import { FsFileModule } from '@firestitch/file';
18
19
  import { isString, isObject, isBoolean, isNumber, isFunction, get, cloneDeep, mergeWith, random, merge as merge$1 } from 'lodash-es';
19
20
  import { Subject, BehaviorSubject, Observable, merge, from, combineLatest, of } from 'rxjs';
20
21
  import { takeUntil, tap, take, map, debounceTime, switchMap, mapTo, catchError, distinctUntilChanged, shareReplay, skip, filter } from 'rxjs/operators';
@@ -356,6 +357,15 @@ var RowAction = /** @class */ (function (_super) {
356
357
  return _this.clickEvent(row, event, index, rowActionsRef, clickFn);
357
358
  };
358
359
  this._linkFn = value.link;
360
+ if (value.file) {
361
+ this.fileConfig = __assign({}, value.file);
362
+ if (this.fileConfig.select) {
363
+ var selectFn_1 = this.fileConfig.select;
364
+ this.fileConfig.select = function (selection, row, index) {
365
+ selectFn_1(selection, row, index);
366
+ };
367
+ }
368
+ }
359
369
  if (typeof value.label === 'function') {
360
370
  this._labelFn = value.label;
361
371
  this.label = '';
@@ -375,7 +385,8 @@ var RowAction = /** @class */ (function (_super) {
375
385
  this.rowActions.forEach(function (action) {
376
386
  action.checkShowStatus(row, index);
377
387
  });
378
- this.isShown = this.rowActions.some(function (action) { return action.isShown; });
388
+ var groupVisible = !this.show || this.show(row, index);
389
+ this.isShown = groupVisible && this.rowActions.some(function (action) { return action.isShown; });
379
390
  }
380
391
  else if (this.show) {
381
392
  this.isShown = this.show(row, index);
@@ -3615,8 +3626,8 @@ var ReorderController = /** @class */ (function () {
3615
3626
  return this._enabled$
3616
3627
  .pipe(map(function (enabled) {
3617
3628
  return enabled && _this.position === ReorderPosition.Left;
3618
- }), map(function () {
3619
- return _this._numberOfActiveFilters === 0;
3629
+ }), map(function (enabled) {
3630
+ return enabled && _this._numberOfActiveFilters === 0;
3620
3631
  }), distinctUntilChanged(), shareReplay());
3621
3632
  },
3622
3633
  enumerable: true,
@@ -3628,8 +3639,8 @@ var ReorderController = /** @class */ (function () {
3628
3639
  return this._enabled$
3629
3640
  .pipe(map(function (enabled) {
3630
3641
  return enabled && _this.position === ReorderPosition.Right;
3631
- }), map(function () {
3632
- return _this._numberOfActiveFilters === 0;
3642
+ }), map(function (enabled) {
3643
+ return enabled && _this._numberOfActiveFilters === 0;
3633
3644
  }), distinctUntilChanged(), shareReplay());
3634
3645
  },
3635
3646
  enumerable: true,
@@ -5668,7 +5679,7 @@ var FsRowActionsComponent = /** @class */ (function () {
5668
5679
  FsRowActionsComponent = __decorate([
5669
5680
  Component({
5670
5681
  selector: 'fs-list-row-actions',
5671
- template: "<ng-container *ngIf=\"!restoreMode || (restoreMode && !restoreAction)\">\n <ng-container *ngFor=\"let action of inlineRowActions; trackBy: trackByFn\">\n <fs-list-row-inline-action class=\"row-inline-action row-inline-action-{{action.type}}\"\n [action]=\"action\"\n [ngClass]=\"{'mobile-hide': action.menu === undefined}\"\n (clicked)=\"actionClick(action, row, $event)\">\n </fs-list-row-inline-action>\n </ng-container>\n</ng-container>\n\n<!-- Menu -->\n<fs-menu class=\"row-menu-action\"\n *ngIf=\"menuRowActions.length || (restoreMode && restoreAction)\"\n (click)=\"clickOnTrigger($event)\"\n #menuRef\n>\n <!-- Case when we have usual menu actions -->\n <ng-container *ngIf=\"!restoreMode || (restoreMode && !restoreAction)\">\n <ng-container *ngFor=\"let action of inlineRowActions; trackBy: trackByFn\">\n <ng-template class=\"hidden-mobile-menu-action\"\n fs-menu-item\n [link]=\"action.routerLink?.link\"\n [queryParams]=\"action.routerLink?.queryParams\"\n [target]=\"action.routerLink?.target\"\n [hidden]=\"action.menu !== undefined && !action.isShown\">\n <mat-icon *ngIf=\"action.icon\">{{action.icon}}</mat-icon>\n {{action.label}}\n </ng-template>\n </ng-container>\n\n <ng-container *ngFor=\"let action of menuRowActions; trackBy: trackByFn\">\n <ng-container *ngIf=\"action.isGroup else simpleMenuItem\">\n <fs-menu-group [label]=\"action.label\">\n <ng-container *ngFor=\"let subAction of action.rowActions\">\n <ng-template fs-menu-item\n [link]=\"subAction.routerLink?.link\"\n [queryParams]=\"subAction.routerLink?.queryParams\"\n [target]=\"subAction.routerLink?.target\"\n [hidden]=\"!subAction.isShown\"\n (click)=\"actionClick(subAction, row, $event, menuRef);\">\n <mat-icon *ngIf=\"subAction.icon\">{{subAction.icon}}</mat-icon>\n {{subAction.label}}\n </ng-template>\n </ng-container>\n </fs-menu-group>\n </ng-container>\n <ng-template #simpleMenuItem>\n <ng-template fs-menu-item\n [link]=\"action.routerLink?.link\"\n [queryParams]=\"action.routerLink?.queryParams\"\n [target]=\"action.routerLink?.target\"\n [hidden]=\"!action.isShown\"\n (click)=\"actionClick(action, row, $event, menuRef);\">\n <mat-icon *ngIf=\"action.icon\">{{action.icon}}</mat-icon>\n {{action.label}}\n </ng-template>\n </ng-template>\n </ng-container>\n </ng-container>\n\n <!-- Case when we have restore mode enabled and must hide menu actions -->\n <ng-container *ngIf=\"restoreMode && restoreAction\">\n <ng-template fs-menu-item (click)=\"actionClick(restoreAction, row, $event, menuRef)\">\n <mat-icon *ngIf=\"restoreAction.icon\">{{restoreAction.icon}}</mat-icon>\n {{restoreAction.label}}\n </ng-template>\n </ng-container>\n</fs-menu>\n",
5682
+ template: "<ng-container *ngIf=\"!restoreMode || (restoreMode && !restoreAction)\">\n <ng-container *ngFor=\"let action of inlineRowActions; trackBy: trackByFn\">\n <fs-list-row-inline-action class=\"row-inline-action row-inline-action-{{action.type}}\"\n [action]=\"action\"\n [ngClass]=\"{'mobile-hide': action.menu === undefined}\"\n (clicked)=\"actionClick(action, row, $event)\"\n (fileSelect)=\"action.fileConfig.select($event, row, index)\">\n </fs-list-row-inline-action>\n </ng-container>\n</ng-container>\n\n<!-- Menu -->\n<fs-menu class=\"row-menu-action\"\n *ngIf=\"menuRowActions.length || (restoreMode && restoreAction)\"\n (click)=\"clickOnTrigger($event)\"\n #menuRef\n>\n <!-- Case when we have usual menu actions -->\n <ng-container *ngIf=\"!restoreMode || (restoreMode && !restoreAction)\">\n <ng-container *ngFor=\"let action of inlineRowActions; trackBy: trackByFn\">\n <ng-template class=\"hidden-mobile-menu-action\"\n fs-menu-item\n [link]=\"action.routerLink?.link\"\n [queryParams]=\"action.routerLink?.queryParams\"\n [target]=\"action.routerLink?.target\"\n [hidden]=\"action.menu !== undefined && !action.isShown\">\n <fs-list-row-menu-action\n [icon]=\"action.icon\"\n [label]=\"action.label\"\n [file]=\"action.fileConfig\"\n (fileSelect)=\"action.fileConfig.select($event, row, index)\"\n (fileError)=\"action.fileConfig.error && action.fileConfig.error($event)\">\n </fs-list-row-menu-action>\n </ng-template>\n </ng-container>\n\n <ng-container *ngFor=\"let action of menuRowActions; trackBy: trackByFn\">\n <ng-container *ngIf=\"action.isGroup else simpleMenuItem\">\n <fs-menu-group [label]=\"action.label\">\n <ng-container *ngFor=\"let subAction of action.rowActions\">\n <ng-template fs-menu-item\n [link]=\"subAction.routerLink?.link\"\n [queryParams]=\"subAction.routerLink?.queryParams\"\n [target]=\"subAction.routerLink?.target\"\n [hidden]=\"!subAction.isShown\"\n (click)=\"actionClick(subAction, row, $event, menuRef);\">\n <fs-list-row-menu-action\n [icon]=\"subAction.icon\"\n [label]=\"subAction.label\"\n [file]=\"subAction.fileConfig\"\n (fileSelect)=\"subAction.fileConfig.select($event, row, index)\"\n (fileError)=\"subAction.fileConfig.error && subAction.fileConfig.error($event)\">\n </fs-list-row-menu-action>\n </ng-template>\n </ng-container>\n </fs-menu-group>\n </ng-container>\n <ng-template #simpleMenuItem>\n <ng-template fs-menu-item\n [link]=\"action.routerLink?.link\"\n [queryParams]=\"action.routerLink?.queryParams\"\n [target]=\"action.routerLink?.target\"\n [hidden]=\"!action.isShown\"\n (click)=\"actionClick(action, row, $event, menuRef);\">\n <fs-list-row-menu-action\n [icon]=\"action.icon\"\n [label]=\"action.label\"\n [file]=\"action.fileConfig\"\n (fileSelect)=\"action.fileConfig.select($event, row, index)\"\n (fileError)=\"action.fileConfig.error && action.fileConfig.error($event)\">\n </fs-list-row-menu-action>\n </ng-template>\n </ng-template>\n </ng-container>\n </ng-container>\n\n <!-- Case when we have restore mode enabled and must hide menu actions -->\n <ng-container *ngIf=\"restoreMode && restoreAction\">\n <ng-template fs-menu-item (click)=\"actionClick(restoreAction, row, $event, menuRef)\">\n <mat-icon *ngIf=\"restoreAction.icon\">{{restoreAction.icon}}</mat-icon>\n {{restoreAction.label}}\n </ng-template>\n </ng-container>\n</fs-menu>\n",
5672
5683
  changeDetection: ChangeDetectionStrategy.OnPush
5673
5684
  }),
5674
5685
  __metadata("design:paramtypes", [FsPrompt])
@@ -5680,10 +5691,14 @@ var FsRowInlineActionComponent = /** @class */ (function () {
5680
5691
  function FsRowInlineActionComponent(_fsPrompt) {
5681
5692
  this._fsPrompt = _fsPrompt;
5682
5693
  this.clicked = new EventEmitter();
5694
+ this.fileSelect = new EventEmitter();
5683
5695
  }
5684
5696
  FsRowInlineActionComponent.prototype.actionClick = function (event) {
5685
5697
  this.clicked.emit(event);
5686
5698
  };
5699
+ FsRowInlineActionComponent.prototype.fileSelected = function (event) {
5700
+ this.fileSelect.emit(event);
5701
+ };
5687
5702
  FsRowInlineActionComponent.ctorParameters = function () { return [
5688
5703
  { type: FsPrompt }
5689
5704
  ]; };
@@ -5695,10 +5710,14 @@ var FsRowInlineActionComponent = /** @class */ (function () {
5695
5710
  Output(),
5696
5711
  __metadata("design:type", Object)
5697
5712
  ], FsRowInlineActionComponent.prototype, "clicked", void 0);
5713
+ __decorate([
5714
+ Output(),
5715
+ __metadata("design:type", Object)
5716
+ ], FsRowInlineActionComponent.prototype, "fileSelect", void 0);
5698
5717
  FsRowInlineActionComponent = __decorate([
5699
5718
  Component({
5700
5719
  selector: 'fs-list-row-inline-action',
5701
- template: "<ng-container *ngIf=\"action.isShown\" [ngSwitch]=\"action.type\">\n <!-- Basic button -->\n <ng-container *ngSwitchCase=\"'basic'\">\n <ng-container *ngIf=\"!action.routerLink; else link\">\n <button type=\"button\"\n mat-button\n (click)=\"actionClick($event)\"\n [ngClass]=\"action.classArray\"\n >\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n </ng-container>\n <ng-template #link>\n <a mat-button\n [routerLink]=\"action.routerLink.link\"\n [queryParams]=\"action.routerLink.queryParams\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </a>\n </ng-template>\n </ng-container>\n\n <!-- Raised button -->\n <ng-container *ngSwitchCase=\"'raised'\">\n <ng-container *ngIf=\"!action.routerLink; else link\">\n <button type=\"button\"\n mat-raised-button\n (click)=\"actionClick($event)\"\n [ngClass]=\"action.classArray\"\n >\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n </ng-container>\n <ng-template #link>\n <a mat-raised-button\n [routerLink]=\"action.routerLink.link\"\n [queryParams]=\"action.routerLink.queryParams\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </a>\n </ng-template>\n </ng-container>\n\n <!-- Icon button -->\n <ng-container *ngSwitchCase=\"'icon'\">\n <ng-container *ngIf=\"!action.routerLink; else link\">\n <button type=\"button\"\n mat-icon-button\n (click)=\"actionClick($event)\"\n [ngClass]=\"action.classArray\"\n >\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n </ng-container>\n <ng-template #link>\n <a mat-icon-button\n [routerLink]=\"action.routerLink.link\"\n [queryParams]=\"action.routerLink.queryParams\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </a>\n </ng-template>\n </ng-container>\n\n <!-- Fab button -->\n <ng-container *ngSwitchCase=\"'fab'\">\n <ng-container *ngIf=\"!action.routerLink; else link\">\n <button type=\"button\"\n mat-fab\n (click)=\"actionClick($event)\"\n [ngClass]=\"action.classArray\"\n >\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n </ng-container>\n <ng-template #link>\n <a mat-fab\n [routerLink]=\"action.routerLink.link\"\n [queryParams]=\"action.routerLink.queryParams\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </a>\n </ng-template>\n </ng-container>\n\n <!-- Mini Fab button -->\n <ng-container *ngSwitchCase=\"'mini-fab'\">\n <ng-container *ngIf=\"!action.routerLink; else link\">\n <button type=\"button\"\n mat-mini-fab\n (click)=\"actionClick($event)\"\n [ngClass]=\"action.classArray\"\n >\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n </ng-container>\n <ng-template #link>\n <a mat-mini-fab\n [routerLink]=\"action.routerLink.link\"\n [queryParams]=\"action.routerLink.queryParams\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </a>\n </ng-template>\n </ng-container>\n\n <ng-template #buttonContent let-value=\"value\">\n <mat-icon *ngIf=\"action.icon\">{{action.icon}}</mat-icon>\n {{action.label}}\n </ng-template>\n</ng-container>\n",
5720
+ template: "<ng-container *ngIf=\"action.isShown\" [ngSwitch]=\"action.type\">\n <!-- Basic button -->\n <ng-container *ngSwitchCase=\"'basic'\">\n <ng-container *ngIf=\"!action.routerLink; else link\">\n <button type=\"button\"\n mat-button\n (click)=\"actionClick($event)\"\n [ngClass]=\"action.classArray\"\n >\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n </ng-container>\n <ng-template #link>\n <a mat-button\n [routerLink]=\"action.routerLink.link\"\n [queryParams]=\"action.routerLink.queryParams\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </a>\n </ng-template>\n </ng-container>\n\n <!-- Raised button -->\n <ng-container *ngSwitchCase=\"'raised'\">\n <ng-container *ngIf=\"!action.routerLink; else link\">\n <button type=\"button\"\n mat-raised-button\n (click)=\"actionClick($event)\"\n [ngClass]=\"action.classArray\"\n >\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n </ng-container>\n <ng-template #link>\n <a mat-raised-button\n [routerLink]=\"action.routerLink.link\"\n [queryParams]=\"action.routerLink.queryParams\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </a>\n </ng-template>\n </ng-container>\n\n <!-- Icon button -->\n <ng-container *ngSwitchCase=\"'icon'\">\n <ng-container *ngIf=\"!action.routerLink; else link\">\n <button type=\"button\"\n mat-icon-button\n (click)=\"actionClick($event)\"\n [ngClass]=\"action.classArray\"\n >\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n </ng-container>\n <ng-template #link>\n <a mat-icon-button\n [routerLink]=\"action.routerLink.link\"\n [queryParams]=\"action.routerLink.queryParams\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </a>\n </ng-template>\n </ng-container>\n\n <!-- Fab button -->\n <ng-container *ngSwitchCase=\"'fab'\">\n <ng-container *ngIf=\"!action.routerLink; else link\">\n <button type=\"button\"\n mat-fab\n (click)=\"actionClick($event)\"\n [ngClass]=\"action.classArray\"\n >\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n </ng-container>\n <ng-template #link>\n <a mat-fab\n [routerLink]=\"action.routerLink.link\"\n [queryParams]=\"action.routerLink.queryParams\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </a>\n </ng-template>\n </ng-container>\n\n <!-- Mini Fab button -->\n <ng-container *ngSwitchCase=\"'mini-fab'\">\n <ng-container *ngIf=\"!action.routerLink; else link\">\n <button type=\"button\"\n mat-mini-fab\n (click)=\"actionClick($event)\"\n [ngClass]=\"action.classArray\"\n >\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n </ng-container>\n <ng-template #link>\n <a mat-mini-fab\n [routerLink]=\"action.routerLink.link\"\n [queryParams]=\"action.routerLink.queryParams\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </a>\n </ng-template>\n </ng-container>\n\n <ng-template #buttonContent>\n <ng-container *ngIf=\"!action.fileConfig else uploadFileBtn\">\n <mat-icon *ngIf=\"action.icon\">{{action.icon}}</mat-icon>\n {{action.label}}\n </ng-container>\n\n <ng-template #uploadFileBtn>\n <fs-file\n class=\"action-button\"\n [accept]=\"action.fileConfig.accept || '*'\"\n [multiple]=\"action.fileConfig.multiple\"\n [minWidth]=\"action.fileConfig.minWidth\"\n [minHeight]=\"action.fileConfig.minHeight\"\n [imageWidth]=\"action.fileConfig.maxWidth\"\n [imageHeight]=\"action.fileConfig.maxHeight\"\n (select)=\"fileSelected($event)\"\n (error)=\"action.fileConfig.error && action.fileConfig.error($event)\">\n <mat-icon *ngIf=\"action.icon\">{{action.icon}}</mat-icon>\n {{action.label}}\n </fs-file>\n </ng-template>\n </ng-template>\n</ng-container>\n",
5702
5721
  changeDetection: ChangeDetectionStrategy.OnPush
5703
5722
  }),
5704
5723
  __metadata("design:paramtypes", [FsPrompt])
@@ -5706,6 +5725,41 @@ var FsRowInlineActionComponent = /** @class */ (function () {
5706
5725
  return FsRowInlineActionComponent;
5707
5726
  }());
5708
5727
 
5728
+ var FsRowMenuActionComponent = /** @class */ (function () {
5729
+ function FsRowMenuActionComponent() {
5730
+ this.fileSelect = new EventEmitter();
5731
+ this.fileError = new EventEmitter();
5732
+ }
5733
+ __decorate([
5734
+ Input(),
5735
+ __metadata("design:type", String)
5736
+ ], FsRowMenuActionComponent.prototype, "icon", void 0);
5737
+ __decorate([
5738
+ Input(),
5739
+ __metadata("design:type", String)
5740
+ ], FsRowMenuActionComponent.prototype, "label", void 0);
5741
+ __decorate([
5742
+ Input(),
5743
+ __metadata("design:type", Object)
5744
+ ], FsRowMenuActionComponent.prototype, "file", void 0);
5745
+ __decorate([
5746
+ Output(),
5747
+ __metadata("design:type", Object)
5748
+ ], FsRowMenuActionComponent.prototype, "fileSelect", void 0);
5749
+ __decorate([
5750
+ Output(),
5751
+ __metadata("design:type", Object)
5752
+ ], FsRowMenuActionComponent.prototype, "fileError", void 0);
5753
+ FsRowMenuActionComponent = __decorate([
5754
+ Component({
5755
+ selector: 'fs-list-row-menu-action',
5756
+ template: "<ng-container *ngIf=\"!file else withFile\">\n <mat-icon *ngIf=\"icon\">{{icon}}</mat-icon>\n {{label}}\n</ng-container>\n\n<ng-template #withFile>\n <fs-file\n class=\"action-button\"\n [accept]=\"file.accept || '*'\"\n [multiple]=\"file.multiple\"\n [minWidth]=\"file.minWidth\"\n [minHeight]=\"file.minHeight\"\n [imageWidth]=\"file.maxWidth\"\n [imageHeight]=\"file.maxHeight\"\n (select)=\"fileSelect.emit($event)\"\n (error)=\"fileError.emit($event)\">\n <mat-icon *ngIf=\"icon\">{{icon}}</mat-icon>\n {{label}}\n </fs-file>\n</ng-template>\n",
5757
+ changeDetection: ChangeDetectionStrategy.OnPush
5758
+ })
5759
+ ], FsRowMenuActionComponent);
5760
+ return FsRowMenuActionComponent;
5761
+ }());
5762
+
5709
5763
  var FsListManageSavedFiltersComponent = /** @class */ (function () {
5710
5764
  function FsListManageSavedFiltersComponent(_externalParams) {
5711
5765
  this._externalParams = _externalParams;
@@ -5928,6 +5982,7 @@ var FsListModule = /** @class */ (function () {
5928
5982
  FsPromptModule,
5929
5983
  MatDialogModule,
5930
5984
  MatTooltipModule,
5985
+ FsFileModule,
5931
5986
  ],
5932
5987
  declarations: [
5933
5988
  // Components
@@ -5935,6 +5990,7 @@ var FsListModule = /** @class */ (function () {
5935
5990
  FsRowComponent,
5936
5991
  FsRowActionsComponent,
5937
5992
  FsRowInlineActionComponent,
5993
+ FsRowMenuActionComponent,
5938
5994
  FsCellComponent,
5939
5995
  FsFooterRowComponent,
5940
5996
  FsFooterCellComponent,
@@ -5995,5 +6051,5 @@ function FsListConfigFactory(config) {
5995
6051
  * Generated bundle index. Do not edit.
5996
6052
  */
5997
6053
 
5998
- export { ActionType, Column, FS_LIST_CONFIG, FS_LIST_DEFAULT_CONFIG, FsBodyComponent, FsCellComponent, FsFooterCellComponent, FsFooterComponent, FsFooterRowComponent, FsHeadCellComponent, FsHeadComponent, FsListCellDirective, FsListColumnDirective, FsListComponent, FsListEmptyStateDirective, FsListFooterDirective, FsListHeaderDirective, FsListModule, FsListState, FsPaginationComponent, FsRowComponent, FsStatusComponent, List, PaginationController, PaginationStrategy, ReorderController, ReorderPosition, ReorderStrategy, RowAction, RowType, SelectionChangeType, SelectionController, SortingController, SortingDirection, StyleConfig, FsListConfigFactory as ɵa, GroupExpandNotifierService as ɵb, PersistanceController as ɵc, FsListGroupCellDirective as ɵd, FsListGroupExpandTriggerDirective as ɵe, FsListDraggableListDirective as ɵf, FsRowActionsComponent as ɵg, FsRowInlineActionComponent as ɵh, FsListLoaderComponent as ɵi, FsListSavedFiltersComponent as ɵj, FsListManageSavedFiltersComponent as ɵk, FsListDraggableRowDirective as ɵl, CustomizeColsDialogComponent as ɵm };
6054
+ export { ActionType, Column, FS_LIST_CONFIG, FS_LIST_DEFAULT_CONFIG, FsBodyComponent, FsCellComponent, FsFooterCellComponent, FsFooterComponent, FsFooterRowComponent, FsHeadCellComponent, FsHeadComponent, FsListCellDirective, FsListColumnDirective, FsListComponent, FsListEmptyStateDirective, FsListFooterDirective, FsListHeaderDirective, FsListModule, FsListState, FsPaginationComponent, FsRowComponent, FsStatusComponent, List, PaginationController, PaginationStrategy, ReorderController, ReorderPosition, ReorderStrategy, RowAction, RowType, SelectionChangeType, SelectionController, SortingController, SortingDirection, StyleConfig, FsListConfigFactory as ɵa, GroupExpandNotifierService as ɵb, PersistanceController as ɵc, FsListGroupCellDirective as ɵd, FsListGroupExpandTriggerDirective as ɵe, FsListDraggableListDirective as ɵf, FsRowActionsComponent as ɵg, FsRowInlineActionComponent as ɵh, FsRowMenuActionComponent as ɵi, FsListLoaderComponent as ɵj, FsListSavedFiltersComponent as ɵk, FsListManageSavedFiltersComponent as ɵl, FsListDraggableRowDirective as ɵm, CustomizeColsDialogComponent as ɵn };
5999
6055
  //# sourceMappingURL=firestitch-list.js.map