@firestitch/filter 9.9.5 → 9.10.0

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 (28) hide show
  1. package/app/components/filter/filter.component.d.ts +5 -2
  2. package/app/interfaces/action.interface.d.ts +6 -0
  3. package/app/models/action.model.d.ts +7 -0
  4. package/app/services/external-params-controller.service.d.ts +1 -0
  5. package/bundles/firestitch-filter.umd.js +43 -22
  6. package/bundles/firestitch-filter.umd.js.map +1 -1
  7. package/bundles/firestitch-filter.umd.min.js +2 -2
  8. package/bundles/firestitch-filter.umd.min.js.map +1 -1
  9. package/esm2015/app/components/action-button/action-button.component.js +2 -2
  10. package/esm2015/app/components/action-kebab-actions/action-kebab-actions.component.js +2 -2
  11. package/esm2015/app/components/actions/actions.component.js +2 -2
  12. package/esm2015/app/components/filter/filter.component.js +17 -6
  13. package/esm2015/app/interfaces/action.interface.js +1 -1
  14. package/esm2015/app/models/action.model.js +8 -1
  15. package/esm2015/app/services/external-params-controller.service.js +16 -13
  16. package/esm5/app/components/action-button/action-button.component.js +2 -2
  17. package/esm5/app/components/action-kebab-actions/action-kebab-actions.component.js +2 -2
  18. package/esm5/app/components/actions/actions.component.js +2 -2
  19. package/esm5/app/components/filter/filter.component.js +17 -6
  20. package/esm5/app/interfaces/action.interface.js +1 -1
  21. package/esm5/app/models/action.model.js +8 -1
  22. package/esm5/app/services/external-params-controller.service.js +18 -15
  23. package/fesm2015/firestitch-filter.js +41 -20
  24. package/fesm2015/firestitch-filter.js.map +1 -1
  25. package/fesm5/firestitch-filter.js +43 -22
  26. package/fesm5/firestitch-filter.js.map +1 -1
  27. package/firestitch-filter.metadata.json +1 -1
  28. package/package.json +1 -1
@@ -2454,11 +2454,27 @@ var ExternalParamsController = /** @class */ (function () {
2454
2454
  this._destroy$.complete();
2455
2455
  };
2456
2456
  ExternalParamsController.prototype.setConfig = function (config) {
2457
- var _this = this;
2458
2457
  this._config = config;
2459
2458
  this._initPersistance();
2460
2459
  this._initQueryParams();
2461
2460
  this._initSavedFilters();
2461
+ this.initItems();
2462
+ };
2463
+ ExternalParamsController.prototype.setActiveSavedFilter = function (savedFilter) {
2464
+ this.savedFiltersController.setActiveFilter(savedFilter);
2465
+ if (savedFilter) {
2466
+ this.reloadFiltersWithValues(savedFilter.filters, false);
2467
+ }
2468
+ };
2469
+ ExternalParamsController.prototype.reloadFiltersWithValues = function (params, shouldResetSavedFilters) {
2470
+ if (shouldResetSavedFilters === void 0) { shouldResetSavedFilters = true; }
2471
+ this._shouldResetSavedFilters = shouldResetSavedFilters;
2472
+ this._itemsStore.updateItemsWithValues(params);
2473
+ this._saveQueryParams();
2474
+ this._savePersistedParams();
2475
+ };
2476
+ ExternalParamsController.prototype.initItems = function () {
2477
+ var _this = this;
2462
2478
  this._pending$.next(true);
2463
2479
  if (this._savedFilters.enabled) {
2464
2480
  this._savedFilters
@@ -2477,19 +2493,6 @@ var ExternalParamsController = /** @class */ (function () {
2477
2493
  }
2478
2494
  this._listenItemsChange();
2479
2495
  };
2480
- ExternalParamsController.prototype.setActiveSavedFilter = function (savedFilter) {
2481
- this.savedFiltersController.setActiveFilter(savedFilter);
2482
- if (savedFilter) {
2483
- this.reloadFiltersWithValues(savedFilter.filters, false);
2484
- }
2485
- };
2486
- ExternalParamsController.prototype.reloadFiltersWithValues = function (params, shouldResetSavedFilters) {
2487
- if (shouldResetSavedFilters === void 0) { shouldResetSavedFilters = true; }
2488
- this._shouldResetSavedFilters = shouldResetSavedFilters;
2489
- this._itemsStore.updateItemsWithValues(params);
2490
- this._saveQueryParams();
2491
- this._savePersistedParams();
2492
- };
2493
2496
  ExternalParamsController.prototype._initItemsValues = function () {
2494
2497
  this._itemsStore.initItemValues(this.params);
2495
2498
  this._saveQueryParams();
@@ -3039,6 +3042,7 @@ var Action = /** @class */ (function () {
3039
3042
  this.label = config.label;
3040
3043
  this.mode = config.mode;
3041
3044
  this.icon = config.icon;
3045
+ this.iconPlacement = config.iconPlacement;
3042
3046
  this._showFn = config.show;
3043
3047
  this.tabIndex = (_d = config.tabIndex) !== null && _d !== void 0 ? _d : 0;
3044
3048
  if (config.multiple !== undefined) {
@@ -3073,6 +3077,12 @@ var Action = /** @class */ (function () {
3073
3077
  {
3074
3078
  this.fileSelected = config.select;
3075
3079
  this.fileError = config.error;
3080
+ this.accept = config.accept;
3081
+ this.imageQuality = config.imageQuality;
3082
+ this.minWidth = config.minWidth;
3083
+ this.minHeight = config.minHeight;
3084
+ this.maxWidth = config.maxWidth;
3085
+ this.maxHeight = config.maxHeight;
3076
3086
  this.click = (_f = config.click) !== null && _f !== void 0 ? _f : (function () { });
3077
3087
  this._disabledFn = config.disabled;
3078
3088
  this.updateDisabledState();
@@ -3675,6 +3685,14 @@ var FilterComponent = /** @class */ (function () {
3675
3685
  FilterComponent.prototype.updateDisabledState = function () {
3676
3686
  this._actions.updateDisabledState();
3677
3687
  };
3688
+ FilterComponent.prototype.setItems = function (items) {
3689
+ this._filterItems.destroyItems();
3690
+ this.config.items = items;
3691
+ this._filterItems.setConfig(this._config);
3692
+ this._externalParams.initItems();
3693
+ this._syncSearchInputWithKeyword();
3694
+ this._listenKeywordItemClear();
3695
+ };
3678
3696
  FilterComponent.prototype._initFilterWithConfig = function (config) {
3679
3697
  if (this.config) {
3680
3698
  this._filterItems.destroyItems();
@@ -3684,11 +3702,7 @@ var FilterComponent = /** @class */ (function () {
3684
3702
  this._actions.initActions(this._config.actions);
3685
3703
  this._filterItems.setConfig(this._config);
3686
3704
  this._externalParams.setConfig(this._config);
3687
- var keywordItem = this._filterItems.keywordItem;
3688
- if (keywordItem) {
3689
- this.searchText.setValue(keywordItem.model);
3690
- this.searchPlaceholder = keywordItem.label || 'Search';
3691
- }
3705
+ this._syncSearchInputWithKeyword();
3692
3706
  if (!!this.config.reloadWhenConfigChanged) {
3693
3707
  this.change();
3694
3708
  }
@@ -3762,6 +3776,13 @@ var FilterComponent = /** @class */ (function () {
3762
3776
  });
3763
3777
  });
3764
3778
  };
3779
+ FilterComponent.prototype._syncSearchInputWithKeyword = function () {
3780
+ var keywordItem = this._filterItems.keywordItem;
3781
+ if (keywordItem) {
3782
+ this.searchText.setValue(keywordItem.model);
3783
+ this.searchPlaceholder = keywordItem.label || 'Search';
3784
+ }
3785
+ };
3765
3786
  FilterComponent.prototype._listenKeywordItemClear = function () {
3766
3787
  var _this = this;
3767
3788
  var _a;
@@ -4949,7 +4970,7 @@ var FsFilterActionsComponent = /** @class */ (function () {
4949
4970
  FsFilterActionsComponent = __decorate([
4950
4971
  Component({
4951
4972
  selector: 'fs-filter-actions',
4952
- template: "<!-- Buttons -->\n<ng-container *ngFor=\"let action of actions\">\n\n <ng-container [ngSwitch]=\"action.mode\">\n <ng-container *ngSwitchCase=\"'button'\">\n <fs-filter-action-button [action]=\"action\"></fs-filter-action-button>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'menu'\">\n <fs-filter-action-button\n [action]=\"action\"\n [fsMenuTriggerFor]=\"someRef\">\n </fs-filter-action-button>\n\n <fs-menu #someRef>\n <ng-container *ngFor=\"let childAction of action.items\">\n <ng-container *ngIf=\"childAction.isGroup else simpleMenuItem\">\n <fs-menu-group [label]=\"childAction.label\">\n <ng-container *ngFor=\"let subAction of childAction.items\">\n <ng-template fs-menu-item\n [link]=\"subAction.routerLink?.link\"\n [queryParams]=\"subAction.routerLink?.queryParams\"\n [hidden]=\"!(subAction.visible$ | async)\"\n (click)=\"subAction.click($event)\">\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]=\"childAction.routerLink?.link\"\n [queryParams]=\"childAction.routerLink?.queryParams\"\n [hidden]=\"!(childAction.visible$ | async)\"\n (click)=\"childAction.click($event);\">\n <mat-icon *ngIf=\"childAction.icon\">{{childAction.icon}}</mat-icon>\n {{childAction.label}}\n </ng-template>\n </ng-template>\n </ng-container>\n </fs-menu>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'file'\">\n <fs-file\n class=\"action-button\"\n [multiple]=\"action.multiple\"\n (select)=\"action.fileSelected($event)\"\n (error)=\"action.fileError($event)\"\n (clicked)=\"action.click($event)\">\n <fs-filter-action-button [action]=\"action\"></fs-filter-action-button>\n </fs-file>\n </ng-container>\n </ng-container>\n</ng-container>\n<!-- /Buttons -->\n\n<!-- menu -->\n<ng-container *ngIf=\"kebabActions?.length\">\n <fs-filter-action-kebab-actions [kebabActions]=\"kebabActions\"></fs-filter-action-kebab-actions>\n</ng-container>\n",
4973
+ template: "<!-- Buttons -->\n<ng-container *ngFor=\"let action of actions\">\n\n <ng-container [ngSwitch]=\"action.mode\">\n <ng-container *ngSwitchCase=\"'button'\">\n <fs-filter-action-button [action]=\"action\"></fs-filter-action-button>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'menu'\">\n <fs-filter-action-button\n [action]=\"action\"\n [fsMenuTriggerFor]=\"someRef\">\n </fs-filter-action-button>\n\n <fs-menu #someRef>\n <ng-container *ngFor=\"let childAction of action.items\">\n <ng-container *ngIf=\"childAction.isGroup else simpleMenuItem\">\n <fs-menu-group [label]=\"childAction.label\">\n <ng-container *ngFor=\"let subAction of childAction.items\">\n <ng-template fs-menu-item\n [link]=\"subAction.routerLink?.link\"\n [queryParams]=\"subAction.routerLink?.queryParams\"\n [hidden]=\"!(subAction.visible$ | async)\"\n (click)=\"subAction.click($event)\">\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]=\"childAction.routerLink?.link\"\n [queryParams]=\"childAction.routerLink?.queryParams\"\n [hidden]=\"!(childAction.visible$ | async)\"\n (click)=\"childAction.click($event);\">\n <mat-icon *ngIf=\"childAction.icon\">{{childAction.icon}}</mat-icon>\n {{childAction.label}}\n </ng-template>\n </ng-template>\n </ng-container>\n </fs-menu>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'file'\">\n <fs-file\n class=\"action-button\"\n [accept]=\"action.accept || '*'\"\n [multiple]=\"action.multiple\"\n [minWidth]=\"action.minWidth\"\n [minHeight]=\"action.minHeight\"\n [imageWidth]=\"action.maxWidth\"\n [imageHeight]=\"action.maxHeight\"\n (select)=\"action.fileSelected($event)\"\n (error)=\"action.fileError($event)\"\n (clicked)=\"action.click($event)\">\n <fs-filter-action-button [action]=\"action\"></fs-filter-action-button>\n </fs-file>\n </ng-container>\n </ng-container>\n</ng-container>\n<!-- /Buttons -->\n\n<!-- menu -->\n<ng-container *ngIf=\"kebabActions?.length\">\n <fs-filter-action-kebab-actions [kebabActions]=\"kebabActions\"></fs-filter-action-kebab-actions>\n</ng-container>\n",
4953
4974
  changeDetection: ChangeDetectionStrategy.OnPush,
4954
4975
  styles: [":host{display:inline-flex}.action-button{display:block}.action-button+.action-button,fs-menu+.action-button{margin-left:5px}.menu-button{width:36px;height:36px;line-height:36px}"]
4955
4976
  })
@@ -4967,7 +4988,7 @@ var FsFilterActionButtonComponent = /** @class */ (function () {
4967
4988
  FsFilterActionButtonComponent = __decorate([
4968
4989
  Component({
4969
4990
  selector: 'fs-filter-action-button',
4970
- template: "<ng-container [ngSwitch]=\"action.type\">\n <!-- Basic button -->\n <button type=\"button\"\n *ngSwitchCase=\"'basic'\"\n mat-button\n (click)=\"action.click && action.click($event)\"\n [color]=\"action.color\"\n [ngClass]=\"action.classArray\"\n [disabled]=\"action.disabled$ | async\"\n [tabIndex]=\"action.tabIndex\"\n >\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n\n <!-- Raised button -->\n <button type=\"button\"\n *ngSwitchDefault\n mat-raised-button\n (click)=\"action.click && action.click($event)\"\n [color]=\"action.color\"\n [ngClass]=\"action.classArray\"\n [disabled]=\"action.disabled$ | async\"\n [tabIndex]=\"action.tabIndex\"\n >\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n\n <!-- Icon button -->\n <button type=\"button\"\n *ngSwitchCase=\"'icon'\"\n mat-icon-button\n (click)=\"action.click && action.click($event)\"\n [color]=\"action.color\"\n [ngClass]=\"action.classArray\"\n [disabled]=\"action.disabled$ | async\"\n [tabIndex]=\"action.tabIndex\"\n >\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n\n <!-- Fab button -->\n <button type=\"button\"\n *ngSwitchCase=\"'fab'\"\n mat-fab\n (click)=\"action.click && action.click($event)\"\n [color]=\"action.color\"\n [ngClass]=\"action.classArray\"\n [disabled]=\"action.disabled$ | async\"\n [tabIndex]=\"action.tabIndex\"\n >\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n\n <!-- Mini Fab button -->\n <button type=\"button\"\n *ngSwitchCase=\"'mini-fab'\"\n mat-mini-fab\n (click)=\"action.click && action.click($event)\"\n [color]=\"action.color\"\n [ngClass]=\"action.classArray\"\n [disabled]=\"action.disabled$ | async\"\n [tabIndex]=\"action.tabIndex\"\n >\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n\n <ng-template #buttonContent>\n <mat-icon *ngIf=\"action.icon\">{{action.icon}}</mat-icon> {{action.label}}\n </ng-template>\n</ng-container>\n",
4991
+ template: "<ng-container [ngSwitch]=\"action.type\">\n <!-- Basic button -->\n <button type=\"button\"\n *ngSwitchCase=\"'basic'\"\n mat-button\n (click)=\"action.click && action.click($event)\"\n [color]=\"action.color\"\n [ngClass]=\"action.classArray\"\n [disabled]=\"action.disabled$ | async\"\n [tabIndex]=\"action.tabIndex\"\n >\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n\n <!-- Raised button -->\n <button type=\"button\"\n *ngSwitchDefault\n mat-raised-button\n (click)=\"action.click && action.click($event)\"\n [color]=\"action.color\"\n [ngClass]=\"action.classArray\"\n [disabled]=\"action.disabled$ | async\"\n [tabIndex]=\"action.tabIndex\"\n >\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n\n <!-- Icon button -->\n <button type=\"button\"\n *ngSwitchCase=\"'icon'\"\n mat-icon-button\n (click)=\"action.click && action.click($event)\"\n [color]=\"action.color\"\n [ngClass]=\"action.classArray\"\n [disabled]=\"action.disabled$ | async\"\n [tabIndex]=\"action.tabIndex\"\n >\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n\n <!-- Fab button -->\n <button type=\"button\"\n *ngSwitchCase=\"'fab'\"\n mat-fab\n (click)=\"action.click && action.click($event)\"\n [color]=\"action.color\"\n [ngClass]=\"action.classArray\"\n [disabled]=\"action.disabled$ | async\"\n [tabIndex]=\"action.tabIndex\"\n >\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n\n <!-- Mini Fab button -->\n <button type=\"button\"\n *ngSwitchCase=\"'mini-fab'\"\n mat-mini-fab\n (click)=\"action.click && action.click($event)\"\n [color]=\"action.color\"\n [ngClass]=\"action.classArray\"\n [disabled]=\"action.disabled$ | async\"\n [tabIndex]=\"action.tabIndex\"\n >\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n\n <ng-template #buttonContent>\n <ng-container *ngIf=\"!action.icon else withIcon\">\n {{action.label}}\n </ng-container>\n\n <ng-template #withIcon>\n <mat-icon *ngIf=\"!action.iconPlacement || action.iconPlacement === 'left'\">{{action.icon}}</mat-icon>\n {{action.label}}\n <mat-icon *ngIf=\"action.iconPlacement === 'right'\">{{action.icon}}</mat-icon>\n </ng-template>\n </ng-template>\n</ng-container>\n",
4971
4992
  host: {
4972
4993
  class: 'action-button',
4973
4994
  },
@@ -4987,7 +5008,7 @@ var FsFilterActionKebabActionsComponent = /** @class */ (function () {
4987
5008
  FsFilterActionKebabActionsComponent = __decorate([
4988
5009
  Component({
4989
5010
  selector: 'fs-filter-action-kebab-actions',
4990
- template: "<button type=\"button\"\n mat-icon-button\n class=\"menu-button\"\n [fsMenuTriggerFor]=\"kebabActionsMenu\">\n <mat-icon>more_vert</mat-icon>\n</button>\n<fs-menu #kebabActionsMenu>\n <ng-container *ngFor=\"let action of kebabActions\">\n <ng-container [ngSwitch]=\"action.mode\">\n <!-- Case when actions was collapsed from action with mode = 'menu'-->\n <ng-container *ngSwitchCase=\"'menu'\">\n <ng-container *ngFor=\"let childAction of action.items\">\n <ng-container *ngIf=\"childAction.isGroup else simpleMenuItem\">\n <fs-menu-group>\n <ng-template fs-group-menu-item-template>\n {{ action.label }} <mat-icon style=\"margin: 0;\">arrow_right</mat-icon> {{childAction.label}}\n </ng-template>\n <ng-container *ngFor=\"let subAction of childAction.items\">\n <ng-template fs-menu-item\n [link]=\"subAction.routerLink?.link\"\n [queryParams]=\"subAction.routerLink?.queryParams\"\n [hidden]=\"!(subAction.visible$ | async)\"\n (click)=\"subAction.click($event)\">\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]=\"childAction.routerLink?.link\"\n [queryParams]=\"childAction.routerLink?.queryParams\"\n [hidden]=\"!(childAction.visible$ | async)\"\n (click)=\"childAction.click($event);\">\n <mat-icon *ngIf=\"childAction.icon\">{{childAction.icon}}</mat-icon>\n {{ action.label }} <mat-icon style=\"margin: 0;\">arrow_right</mat-icon>{{ childAction.label }}\n </ng-template>\n </ng-template>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'file'\">\n <ng-template fs-menu-item\n [fsClass]=\"action.classArray\"\n >\n <fs-file\n class=\"action-button\"\n [multiple]=\"action.multiple\"\n (select)=\"action.fileSelected($event)\"\n (error)=\"action.fileError($event)\"\n (clicked)=\"action.click($event)\">\n <mat-icon *ngIf=\"action.icon\">{{action.icon}}</mat-icon> {{action.label}}\n </fs-file>\n </ng-template>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <ng-template fs-menu-item\n (click)=\"action.click($event)\"\n [fsClass]=\"action.classArray\"\n >\n <mat-icon *ngIf=\"action.icon\">{{action.icon}}</mat-icon> {{action.label}}\n </ng-template>\n </ng-container>\n\n </ng-container>\n </ng-container>\n</fs-menu>\n",
5011
+ template: "<button type=\"button\"\n mat-icon-button\n class=\"menu-button\"\n [fsMenuTriggerFor]=\"kebabActionsMenu\">\n <mat-icon>more_vert</mat-icon>\n</button>\n<fs-menu #kebabActionsMenu>\n <ng-container *ngFor=\"let action of kebabActions\">\n <ng-container [ngSwitch]=\"action.mode\">\n <!-- Case when actions was collapsed from action with mode = 'menu'-->\n <ng-container *ngSwitchCase=\"'menu'\">\n <ng-container *ngFor=\"let childAction of action.items\">\n <ng-container *ngIf=\"childAction.isGroup else simpleMenuItem\">\n <fs-menu-group>\n <ng-template fs-group-menu-item-template>\n {{ action.label }} <mat-icon style=\"margin: 0;\">arrow_right</mat-icon> {{childAction.label}}\n </ng-template>\n <ng-container *ngFor=\"let subAction of childAction.items\">\n <ng-template fs-menu-item\n [link]=\"subAction.routerLink?.link\"\n [queryParams]=\"subAction.routerLink?.queryParams\"\n [hidden]=\"!(subAction.visible$ | async)\"\n (click)=\"subAction.click($event)\">\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]=\"childAction.routerLink?.link\"\n [queryParams]=\"childAction.routerLink?.queryParams\"\n [hidden]=\"!(childAction.visible$ | async)\"\n (click)=\"childAction.click($event);\">\n <mat-icon *ngIf=\"childAction.icon\">{{childAction.icon}}</mat-icon>\n {{ action.label }} <mat-icon style=\"margin: 0;\">arrow_right</mat-icon>{{ childAction.label }}\n </ng-template>\n </ng-template>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'file'\">\n <ng-template fs-menu-item\n [fsClass]=\"action.classArray\"\n >\n <fs-file\n class=\"action-button\"\n [accept]=\"action.accept || '*'\"\n [multiple]=\"action.multiple\"\n [minWidth]=\"action.minWidth\"\n [minHeight]=\"action.minHeight\"\n [imageWidth]=\"action.maxWidth\"\n [imageHeight]=\"action.maxHeight\"\n (select)=\"action.fileSelected($event)\"\n (error)=\"action.fileError($event)\"\n (clicked)=\"action.click($event)\">\n <mat-icon *ngIf=\"action.icon\">{{action.icon}}</mat-icon> {{action.label}}\n </fs-file>\n </ng-template>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <ng-template fs-menu-item\n (click)=\"action.click($event)\"\n [fsClass]=\"action.classArray\"\n >\n <mat-icon *ngIf=\"action.icon\">{{action.icon}}</mat-icon> {{action.label}}\n </ng-template>\n </ng-container>\n\n </ng-container>\n </ng-container>\n</fs-menu>\n",
4991
5012
  changeDetection: ChangeDetectionStrategy.OnPush,
4992
5013
  styles: [".menu-button{width:36px;height:36px;line-height:36px}"]
4993
5014
  })