@firestitch/list 9.11.0 → 9.12.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.
- package/app/classes/list-controller.d.ts +4 -2
- package/app/classes/reorder-controller.d.ts +2 -0
- package/app/components/body/row/inline-action/inline-action.component.d.ts +3 -0
- package/app/components/body/row/menu-action/menu-action.component.d.ts +9 -0
- package/app/components/list/list.component.d.ts +1 -0
- package/app/interfaces/listconfig.interface.d.ts +9 -0
- package/app/models/row-action.model.d.ts +4 -1
- package/bundles/firestitch-list.umd.js +111 -16
- package/bundles/firestitch-list.umd.js.map +1 -1
- package/bundles/firestitch-list.umd.min.js +2 -2
- package/bundles/firestitch-list.umd.min.js.map +1 -1
- package/esm2015/app/classes/list-controller.js +11 -4
- package/esm2015/app/classes/reorder-controller.js +12 -3
- package/esm2015/app/components/body/row/actions/actions.component.js +2 -2
- package/esm2015/app/components/body/row/inline-action/inline-action.component.js +10 -2
- package/esm2015/app/components/body/row/menu-action/menu-action.component.js +41 -0
- package/esm2015/app/components/list/list.component.js +12 -1
- package/esm2015/app/fs-list.module.js +5 -1
- package/esm2015/app/interfaces/listconfig.interface.js +1 -1
- package/esm2015/app/models/row-action.model.js +10 -1
- package/esm2015/firestitch-list.js +7 -6
- package/esm2015/public_api.js +1 -1
- package/esm5/app/classes/list-controller.js +19 -4
- package/esm5/app/classes/reorder-controller.js +12 -3
- package/esm5/app/components/body/row/actions/actions.component.js +2 -2
- package/esm5/app/components/body/row/inline-action/inline-action.component.js +10 -2
- package/esm5/app/components/body/row/menu-action/menu-action.component.js +42 -0
- package/esm5/app/components/list/list.component.js +13 -1
- package/esm5/app/fs-list.module.js +5 -1
- package/esm5/app/interfaces/listconfig.interface.js +1 -1
- package/esm5/app/models/row-action.model.js +10 -1
- package/esm5/firestitch-list.js +7 -6
- package/esm5/public_api.js +1 -1
- package/fesm2015/firestitch-list.js +93 -8
- package/fesm2015/firestitch-list.js.map +1 -1
- package/fesm5/firestitch-list.js +103 -8
- package/fesm5/firestitch-list.js.map +1 -1
- package/firestitch-list.d.ts +7 -6
- package/firestitch-list.metadata.json +1 -1
- package/package.json +1 -1
- package/public_api.d.ts +1 -1
package/fesm5/firestitch-list.js
CHANGED
|
@@ -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
|
+
if (value.file.select) {
|
|
362
|
+
this.fileUploadFn = function (selection, row, index) {
|
|
363
|
+
value.file.select(selection, row, index);
|
|
364
|
+
};
|
|
365
|
+
}
|
|
366
|
+
this.fileUploadErrorFn = value.file.error;
|
|
367
|
+
this.fileMultiple = value.file.multiple;
|
|
368
|
+
}
|
|
359
369
|
if (typeof value.label === 'function') {
|
|
360
370
|
this._labelFn = value.label;
|
|
361
371
|
this.label = '';
|
|
@@ -2850,6 +2860,7 @@ var List = /** @class */ (function (_super) {
|
|
|
2850
2860
|
// Empty state
|
|
2851
2861
|
_this.emptyStateEnabled = false;
|
|
2852
2862
|
_this.onDestroy$ = new Subject();
|
|
2863
|
+
_this._filtersQuery = new BehaviorSubject(null);
|
|
2853
2864
|
_this._fromJSON(config);
|
|
2854
2865
|
_this.initialize(config);
|
|
2855
2866
|
_this._headerConfig = new StyleConfig(config.header);
|
|
@@ -2871,6 +2882,20 @@ var List = /** @class */ (function (_super) {
|
|
|
2871
2882
|
enumerable: true,
|
|
2872
2883
|
configurable: true
|
|
2873
2884
|
});
|
|
2885
|
+
Object.defineProperty(List.prototype, "filtersQuery", {
|
|
2886
|
+
get: function () {
|
|
2887
|
+
return this._filtersQuery.getValue();
|
|
2888
|
+
},
|
|
2889
|
+
enumerable: true,
|
|
2890
|
+
configurable: true
|
|
2891
|
+
});
|
|
2892
|
+
Object.defineProperty(List.prototype, "filtersQuery$", {
|
|
2893
|
+
get: function () {
|
|
2894
|
+
return this._filtersQuery.asObservable();
|
|
2895
|
+
},
|
|
2896
|
+
enumerable: true,
|
|
2897
|
+
configurable: true
|
|
2898
|
+
});
|
|
2874
2899
|
List.prototype.fetchRemote = function (query) {
|
|
2875
2900
|
var options = {
|
|
2876
2901
|
state: this.dataController.operation,
|
|
@@ -3161,7 +3186,7 @@ var List = /** @class */ (function (_super) {
|
|
|
3161
3186
|
var _this = this;
|
|
3162
3187
|
var fetch$ = this.fetch$.asObservable();
|
|
3163
3188
|
// Should wait until saved filters not loaded
|
|
3164
|
-
if (!!this.filters
|
|
3189
|
+
if (!!this.filters) {
|
|
3165
3190
|
fetch$ = combineLatest([fetch$, this.filtersReady$])
|
|
3166
3191
|
.pipe(map(function (_a) {
|
|
3167
3192
|
var _b = __read(_a, 1), params = _b[0];
|
|
@@ -3334,7 +3359,7 @@ var List = /** @class */ (function (_super) {
|
|
|
3334
3359
|
if (this.filterInitCb) {
|
|
3335
3360
|
this.filterInitCb(filters);
|
|
3336
3361
|
}
|
|
3337
|
-
this.
|
|
3362
|
+
this._filtersQuery.next(filters);
|
|
3338
3363
|
this.checkRestoreFilter();
|
|
3339
3364
|
};
|
|
3340
3365
|
/**
|
|
@@ -3346,7 +3371,7 @@ var List = /** @class */ (function (_super) {
|
|
|
3346
3371
|
if (this.filterChangeCb) {
|
|
3347
3372
|
this.filterChangeCb(filterQuery, filterSort);
|
|
3348
3373
|
}
|
|
3349
|
-
this.
|
|
3374
|
+
this._filtersQuery.next(filterQuery);
|
|
3350
3375
|
this.restoreMode = false;
|
|
3351
3376
|
// Restore option
|
|
3352
3377
|
this.checkRestoreFilter();
|
|
@@ -3566,6 +3591,7 @@ var ReorderController = /** @class */ (function () {
|
|
|
3566
3591
|
this._enabled$ = new BehaviorSubject(false);
|
|
3567
3592
|
this._manualReorderActivated$ = new BehaviorSubject(false);
|
|
3568
3593
|
this._reorderDisabled$ = new BehaviorSubject(false);
|
|
3594
|
+
this._numberOfActiveFilters = 0;
|
|
3569
3595
|
this._destroy$ = new Subject();
|
|
3570
3596
|
}
|
|
3571
3597
|
Object.defineProperty(ReorderController.prototype, "enabled", {
|
|
@@ -3599,7 +3625,9 @@ var ReorderController = /** @class */ (function () {
|
|
|
3599
3625
|
return this._enabled$
|
|
3600
3626
|
.pipe(map(function (enabled) {
|
|
3601
3627
|
return enabled && _this.position === ReorderPosition.Left;
|
|
3602
|
-
}),
|
|
3628
|
+
}), map(function (enabled) {
|
|
3629
|
+
return enabled && _this._numberOfActiveFilters === 0;
|
|
3630
|
+
}), distinctUntilChanged(), shareReplay());
|
|
3603
3631
|
},
|
|
3604
3632
|
enumerable: true,
|
|
3605
3633
|
configurable: true
|
|
@@ -3610,7 +3638,9 @@ var ReorderController = /** @class */ (function () {
|
|
|
3610
3638
|
return this._enabled$
|
|
3611
3639
|
.pipe(map(function (enabled) {
|
|
3612
3640
|
return enabled && _this.position === ReorderPosition.Right;
|
|
3613
|
-
}),
|
|
3641
|
+
}), map(function (enabled) {
|
|
3642
|
+
return enabled && _this._numberOfActiveFilters === 0;
|
|
3643
|
+
}), distinctUntilChanged(), shareReplay());
|
|
3614
3644
|
},
|
|
3615
3645
|
enumerable: true,
|
|
3616
3646
|
configurable: true
|
|
@@ -3733,6 +3763,10 @@ var ReorderController = /** @class */ (function () {
|
|
|
3733
3763
|
this._reorderDisabled$.next(true);
|
|
3734
3764
|
this._actionsController.updateDisabledState();
|
|
3735
3765
|
};
|
|
3766
|
+
ReorderController.prototype.setNunberOfActiveFilters = function (activeFilters) {
|
|
3767
|
+
this._numberOfActiveFilters = activeFilters;
|
|
3768
|
+
this.enabled = this.enabled;
|
|
3769
|
+
};
|
|
3736
3770
|
ReorderController = __decorate([
|
|
3737
3771
|
Injectable(),
|
|
3738
3772
|
__metadata("design:paramtypes", [])
|
|
@@ -4259,6 +4293,7 @@ var FsListComponent = /** @class */ (function () {
|
|
|
4259
4293
|
this._updateCustomizeAction(listConfig.actions);
|
|
4260
4294
|
this.list = new List(this._el, listConfig, this.fsScroll, this.selectionDialog, this._router, this._route, this._persistance, this._inDialog);
|
|
4261
4295
|
this._waitFirstLoad();
|
|
4296
|
+
this._listenFiltersQueryChange();
|
|
4262
4297
|
this.reorderController.initWithConfig(config.reorder, this.list.dataController, this.list.actions);
|
|
4263
4298
|
if (this.listColumnDirectives) {
|
|
4264
4299
|
this.list.tranformTemplatesToColumns(this.listColumnDirectives);
|
|
@@ -4336,6 +4371,17 @@ var FsListComponent = /** @class */ (function () {
|
|
|
4336
4371
|
_this.cdRef.markForCheck();
|
|
4337
4372
|
});
|
|
4338
4373
|
};
|
|
4374
|
+
FsListComponent.prototype._listenFiltersQueryChange = function () {
|
|
4375
|
+
var _this = this;
|
|
4376
|
+
this.list.filtersQuery$
|
|
4377
|
+
.pipe(takeUntil(this.list.onDestroy$), takeUntil(this._destroy))
|
|
4378
|
+
.subscribe(function (value) {
|
|
4379
|
+
if (value) {
|
|
4380
|
+
var activeFilters = Object.keys(value).length;
|
|
4381
|
+
_this.reorderController.setNunberOfActiveFilters(activeFilters);
|
|
4382
|
+
}
|
|
4383
|
+
});
|
|
4384
|
+
};
|
|
4339
4385
|
FsListComponent.prototype._configMergeCustomizer = function (objValue, srcValue) {
|
|
4340
4386
|
if (Array.isArray(objValue)) {
|
|
4341
4387
|
return objValue;
|
|
@@ -5632,7 +5678,7 @@ var FsRowActionsComponent = /** @class */ (function () {
|
|
|
5632
5678
|
FsRowActionsComponent = __decorate([
|
|
5633
5679
|
Component({
|
|
5634
5680
|
selector: 'fs-list-row-actions',
|
|
5635
|
-
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 <
|
|
5681
|
+
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.fileUploadFn($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.fileUploadFn\"\n [fileMultiple]=\"action.fileMultiple\"\n (fileSelect)=\"action.fileUploadFn($event, row, index)\"\n (fileError)=\"action.fileUploadErrorFn && action.fileUploadErrorFn($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.fileUploadFn\"\n [fileMultiple]=\"subAction.fileMultiple\"\n (fileSelect)=\"subAction.fileUploadFn($event, row, index)\"\n (fileError)=\"subAction.fileUploadErrorFn && subAction.fileUploadErrorFn($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.fileUploadFn\"\n [fileMultiple]=\"action.fileMultiple\"\n (fileSelect)=\"action.fileUploadFn($event, row, index)\"\n (fileError)=\"action.fileUploadErrorFn && action.fileUploadErrorFn($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",
|
|
5636
5682
|
changeDetection: ChangeDetectionStrategy.OnPush
|
|
5637
5683
|
}),
|
|
5638
5684
|
__metadata("design:paramtypes", [FsPrompt])
|
|
@@ -5644,10 +5690,14 @@ var FsRowInlineActionComponent = /** @class */ (function () {
|
|
|
5644
5690
|
function FsRowInlineActionComponent(_fsPrompt) {
|
|
5645
5691
|
this._fsPrompt = _fsPrompt;
|
|
5646
5692
|
this.clicked = new EventEmitter();
|
|
5693
|
+
this.fileSelect = new EventEmitter();
|
|
5647
5694
|
}
|
|
5648
5695
|
FsRowInlineActionComponent.prototype.actionClick = function (event) {
|
|
5649
5696
|
this.clicked.emit(event);
|
|
5650
5697
|
};
|
|
5698
|
+
FsRowInlineActionComponent.prototype.fileSelected = function (event) {
|
|
5699
|
+
this.fileSelect.emit(event);
|
|
5700
|
+
};
|
|
5651
5701
|
FsRowInlineActionComponent.ctorParameters = function () { return [
|
|
5652
5702
|
{ type: FsPrompt }
|
|
5653
5703
|
]; };
|
|
@@ -5659,10 +5709,14 @@ var FsRowInlineActionComponent = /** @class */ (function () {
|
|
|
5659
5709
|
Output(),
|
|
5660
5710
|
__metadata("design:type", Object)
|
|
5661
5711
|
], FsRowInlineActionComponent.prototype, "clicked", void 0);
|
|
5712
|
+
__decorate([
|
|
5713
|
+
Output(),
|
|
5714
|
+
__metadata("design:type", Object)
|
|
5715
|
+
], FsRowInlineActionComponent.prototype, "fileSelect", void 0);
|
|
5662
5716
|
FsRowInlineActionComponent = __decorate([
|
|
5663
5717
|
Component({
|
|
5664
5718
|
selector: 'fs-list-row-inline-action',
|
|
5665
|
-
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
|
|
5719
|
+
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.fileUploadFn 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 [multiple]=\"action.fileMultiple\"\n (select)=\"fileSelected($event)\"\n (error)=\"action.fileUploadErrorFn && action.fileUploadErrorFn($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",
|
|
5666
5720
|
changeDetection: ChangeDetectionStrategy.OnPush
|
|
5667
5721
|
}),
|
|
5668
5722
|
__metadata("design:paramtypes", [FsPrompt])
|
|
@@ -5670,6 +5724,45 @@ var FsRowInlineActionComponent = /** @class */ (function () {
|
|
|
5670
5724
|
return FsRowInlineActionComponent;
|
|
5671
5725
|
}());
|
|
5672
5726
|
|
|
5727
|
+
var FsRowMenuActionComponent = /** @class */ (function () {
|
|
5728
|
+
function FsRowMenuActionComponent() {
|
|
5729
|
+
this.fileSelect = new EventEmitter();
|
|
5730
|
+
this.fileError = new EventEmitter();
|
|
5731
|
+
}
|
|
5732
|
+
__decorate([
|
|
5733
|
+
Input(),
|
|
5734
|
+
__metadata("design:type", String)
|
|
5735
|
+
], FsRowMenuActionComponent.prototype, "icon", void 0);
|
|
5736
|
+
__decorate([
|
|
5737
|
+
Input(),
|
|
5738
|
+
__metadata("design:type", String)
|
|
5739
|
+
], FsRowMenuActionComponent.prototype, "label", void 0);
|
|
5740
|
+
__decorate([
|
|
5741
|
+
Input(),
|
|
5742
|
+
__metadata("design:type", Boolean)
|
|
5743
|
+
], FsRowMenuActionComponent.prototype, "file", void 0);
|
|
5744
|
+
__decorate([
|
|
5745
|
+
Input(),
|
|
5746
|
+
__metadata("design:type", Boolean)
|
|
5747
|
+
], FsRowMenuActionComponent.prototype, "fileMultiple", void 0);
|
|
5748
|
+
__decorate([
|
|
5749
|
+
Output(),
|
|
5750
|
+
__metadata("design:type", Object)
|
|
5751
|
+
], FsRowMenuActionComponent.prototype, "fileSelect", void 0);
|
|
5752
|
+
__decorate([
|
|
5753
|
+
Output(),
|
|
5754
|
+
__metadata("design:type", Object)
|
|
5755
|
+
], FsRowMenuActionComponent.prototype, "fileError", void 0);
|
|
5756
|
+
FsRowMenuActionComponent = __decorate([
|
|
5757
|
+
Component({
|
|
5758
|
+
selector: 'fs-list-row-menu-action',
|
|
5759
|
+
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 [multiple]=\"fileMultiple\"\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",
|
|
5760
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
5761
|
+
})
|
|
5762
|
+
], FsRowMenuActionComponent);
|
|
5763
|
+
return FsRowMenuActionComponent;
|
|
5764
|
+
}());
|
|
5765
|
+
|
|
5673
5766
|
var FsListManageSavedFiltersComponent = /** @class */ (function () {
|
|
5674
5767
|
function FsListManageSavedFiltersComponent(_externalParams) {
|
|
5675
5768
|
this._externalParams = _externalParams;
|
|
@@ -5892,6 +5985,7 @@ var FsListModule = /** @class */ (function () {
|
|
|
5892
5985
|
FsPromptModule,
|
|
5893
5986
|
MatDialogModule,
|
|
5894
5987
|
MatTooltipModule,
|
|
5988
|
+
FsFileModule,
|
|
5895
5989
|
],
|
|
5896
5990
|
declarations: [
|
|
5897
5991
|
// Components
|
|
@@ -5899,6 +5993,7 @@ var FsListModule = /** @class */ (function () {
|
|
|
5899
5993
|
FsRowComponent,
|
|
5900
5994
|
FsRowActionsComponent,
|
|
5901
5995
|
FsRowInlineActionComponent,
|
|
5996
|
+
FsRowMenuActionComponent,
|
|
5902
5997
|
FsCellComponent,
|
|
5903
5998
|
FsFooterRowComponent,
|
|
5904
5999
|
FsFooterCellComponent,
|
|
@@ -5959,5 +6054,5 @@ function FsListConfigFactory(config) {
|
|
|
5959
6054
|
* Generated bundle index. Do not edit.
|
|
5960
6055
|
*/
|
|
5961
6056
|
|
|
5962
|
-
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,
|
|
6057
|
+
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 };
|
|
5963
6058
|
//# sourceMappingURL=firestitch-list.js.map
|