@firestitch/list 9.12.5 → 12.0.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/persistance-controller.d.ts +3 -0
- package/app/classes/reorder-controller.d.ts +3 -0
- package/app/components/body/body.component.d.ts +3 -0
- package/app/components/body/row/actions/actions.component.d.ts +3 -0
- package/app/components/body/row/cell/cell.component.d.ts +3 -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 +3 -0
- package/app/components/body/row/row.component.d.ts +3 -0
- package/app/components/customize-cols/customize-cols.component.d.ts +3 -0
- package/app/components/footer/footer-row/footer-cell/footer-cell.component.d.ts +3 -0
- package/app/components/footer/footer-row/footer-row.component.d.ts +3 -0
- package/app/components/footer/footer.component.d.ts +3 -0
- package/app/components/head/head-cell/head-cell.component.d.ts +3 -0
- package/app/components/head/head.component.d.ts +3 -0
- package/app/components/list/list.component.d.ts +3 -0
- package/app/components/loader/loader.component.d.ts +3 -0
- package/app/components/manage-saved-filters/manage-saved-filters.component.d.ts +3 -0
- package/app/components/pagination/pagination.component.d.ts +3 -0
- package/app/components/saved-filters/saved-filters.component.d.ts +3 -0
- package/app/components/status/status.component.d.ts +3 -0
- package/app/directives/cell/cell.directive.d.ts +3 -0
- package/app/directives/column/column.directive.d.ts +3 -0
- package/app/directives/content/content.directive.d.ts +3 -0
- package/app/directives/draggable-list/draggable-list.directive.d.ts +3 -0
- package/app/directives/draggable-row/draggable-row.directive.d.ts +3 -0
- package/app/directives/empty-state/empty-state.directive.d.ts +3 -0
- package/app/directives/footer/footer.directive.d.ts +3 -0
- package/app/directives/group-cell/group-cell.directive.d.ts +3 -0
- package/app/directives/group-expand-trigger/group-expand-trigger.directive.d.ts +3 -0
- package/app/directives/header/header.directive.d.ts +3 -0
- package/app/fs-list.module.d.ts +48 -0
- package/app/services/group-expand-notifier.service.d.ts +3 -0
- package/bundles/firestitch-list.umd.js +2087 -2088
- package/bundles/firestitch-list.umd.js.map +1 -1
- package/esm2015/app/classes/actions-controller.js +1 -1
- package/esm2015/app/classes/columns-controller.js +1 -1
- package/esm2015/app/classes/data-controller.js +2 -2
- package/esm2015/app/classes/external-params-controller.js +5 -7
- package/esm2015/app/classes/index.js +1 -1
- package/esm2015/app/classes/list-controller.js +1 -1
- package/esm2015/app/classes/pagination-controller.js +2 -2
- package/esm2015/app/classes/persistance-controller.js +11 -14
- package/esm2015/app/classes/reorder-controller.js +13 -13
- package/esm2015/app/classes/selection-controller.js +7 -6
- package/esm2015/app/classes/sorting-controller.js +1 -1
- package/esm2015/app/components/body/body.component.js +48 -75
- package/esm2015/app/components/body/row/actions/actions.component.js +37 -48
- package/esm2015/app/components/body/row/cell/cell.component.js +27 -33
- package/esm2015/app/components/body/row/inline-action/inline-action.component.js +27 -28
- package/esm2015/app/components/body/row/menu-action/menu-action.component.js +27 -32
- package/esm2015/app/components/body/row/row.component.js +54 -84
- package/esm2015/app/components/customize-cols/customize-cols.component.js +23 -18
- package/esm2015/app/components/footer/footer-row/footer-cell/footer-cell.component.js +15 -13
- package/esm2015/app/components/footer/footer-row/footer-row.component.js +20 -28
- package/esm2015/app/components/footer/footer.component.js +21 -25
- package/esm2015/app/components/head/head-cell/head-cell.component.js +17 -19
- package/esm2015/app/components/head/head.component.js +31 -39
- package/esm2015/app/components/list/list.component.js +75 -83
- package/esm2015/app/components/loader/loader.component.js +22 -21
- package/esm2015/app/components/manage-saved-filters/manage-saved-filters.component.js +19 -15
- package/esm2015/app/components/pagination/pagination.component.js +26 -26
- package/esm2015/app/components/saved-filters/saved-filters.component.js +20 -23
- package/esm2015/app/components/status/status.component.js +38 -41
- package/esm2015/app/directives/cell/cell.directive.js +17 -20
- package/esm2015/app/directives/column/column.directive.js +60 -86
- package/esm2015/app/directives/content/content.directive.js +12 -10
- package/esm2015/app/directives/draggable-list/draggable-list.directive.js +16 -24
- package/esm2015/app/directives/draggable-row/draggable-row.directive.js +22 -30
- package/esm2015/app/directives/empty-state/empty-state.directive.js +12 -10
- package/esm2015/app/directives/footer/footer.directive.js +17 -20
- package/esm2015/app/directives/group-cell/group-cell.directive.js +12 -10
- package/esm2015/app/directives/group-expand-trigger/group-expand-trigger.directive.js +16 -22
- package/esm2015/app/directives/header/header.directive.js +17 -20
- package/esm2015/app/enums/button-type.enum.js +1 -1
- package/esm2015/app/enums/page-change-type.enum.js +1 -1
- package/esm2015/app/enums/pagination-strategy.enum.js +1 -1
- package/esm2015/app/enums/row-type.enum.js +1 -1
- package/esm2015/app/enums/state.enum.js +1 -1
- package/esm2015/app/fs-list.module.js +139 -66
- package/esm2015/app/fs-list.providers.js +1 -1
- package/esm2015/app/interfaces/cellconfig.interface.js +2 -1
- package/esm2015/app/interfaces/draggable-list.interface.js +2 -1
- package/esm2015/app/interfaces/external-params.interface.js +2 -1
- package/esm2015/app/interfaces/index.js +4 -1
- package/esm2015/app/interfaces/listconfig.interface.js +2 -1
- package/esm2015/app/interfaces/pagination.interface.js +2 -1
- package/esm2015/app/models/column.model.js +1 -1
- package/esm2015/app/models/row/base-row.js +1 -1
- package/esm2015/app/models/row/child-row.js +1 -1
- package/esm2015/app/models/row/group-row.js +1 -1
- package/esm2015/app/models/row/simple-row.js +1 -1
- package/esm2015/app/models/row-action.model.js +1 -1
- package/esm2015/app/models/row.js +1 -1
- package/esm2015/app/models/styleConfig.model.js +1 -1
- package/esm2015/app/services/group-expand-notifier.service.js +9 -8
- package/esm2015/firestitch-list.js +1 -15
- package/esm2015/public_api.js +4 -1
- package/fesm2015/firestitch-list.js +1342 -1469
- package/fesm2015/firestitch-list.js.map +1 -1
- package/firestitch-list.d.ts +1 -15
- package/package.json +5 -8
- package/public_api.d.ts +3 -0
- package/bundles/firestitch-list.umd.min.js +0 -16
- package/bundles/firestitch-list.umd.min.js.map +0 -1
- package/esm5/app/classes/actions-controller.js +0 -71
- package/esm5/app/classes/columns-controller.js +0 -236
- package/esm5/app/classes/data-controller.js +0 -374
- package/esm5/app/classes/external-params-controller.js +0 -185
- package/esm5/app/classes/index.js +0 -3
- package/esm5/app/classes/list-controller.js +0 -783
- package/esm5/app/classes/pagination-controller.js +0 -570
- package/esm5/app/classes/persistance-controller.js +0 -25
- package/esm5/app/classes/reorder-controller.js +0 -204
- package/esm5/app/classes/selection-controller.js +0 -465
- package/esm5/app/classes/sorting-controller.js +0 -204
- package/esm5/app/components/body/body.component.js +0 -104
- package/esm5/app/components/body/row/actions/actions.component.js +0 -116
- package/esm5/app/components/body/row/cell/cell.component.js +0 -95
- package/esm5/app/components/body/row/inline-action/inline-action.component.js +0 -43
- package/esm5/app/components/body/row/menu-action/menu-action.component.js +0 -38
- package/esm5/app/components/body/row/row.component.js +0 -295
- package/esm5/app/components/customize-cols/customize-cols.component.js +0 -69
- package/esm5/app/components/footer/footer-row/footer-cell/footer-cell.component.js +0 -20
- package/esm5/app/components/footer/footer-row/footer-row.component.js +0 -38
- package/esm5/app/components/footer/footer.component.js +0 -31
- package/esm5/app/components/head/head-cell/head-cell.component.js +0 -38
- package/esm5/app/components/head/head.component.js +0 -106
- package/esm5/app/components/list/list.component.js +0 -403
- package/esm5/app/components/loader/loader.component.js +0 -47
- package/esm5/app/components/manage-saved-filters/manage-saved-filters.component.js +0 -81
- package/esm5/app/components/pagination/pagination.component.js +0 -46
- package/esm5/app/components/saved-filters/saved-filters.component.js +0 -41
- package/esm5/app/components/status/status.component.js +0 -79
- package/esm5/app/directives/cell/cell.directive.js +0 -24
- package/esm5/app/directives/column/column.directive.js +0 -98
- package/esm5/app/directives/content/content.directive.js +0 -14
- package/esm5/app/directives/draggable-list/draggable-list.directive.js +0 -281
- package/esm5/app/directives/draggable-row/draggable-row.directive.js +0 -83
- package/esm5/app/directives/empty-state/empty-state.directive.js +0 -14
- package/esm5/app/directives/footer/footer.directive.js +0 -24
- package/esm5/app/directives/group-cell/group-cell.directive.js +0 -17
- package/esm5/app/directives/group-expand-trigger/group-expand-trigger.directive.js +0 -33
- package/esm5/app/directives/header/header.directive.js +0 -24
- package/esm5/app/enums/button-type.enum.js +0 -9
- package/esm5/app/enums/page-change-type.enum.js +0 -6
- package/esm5/app/enums/pagination-strategy.enum.js +0 -7
- package/esm5/app/enums/row-type.enum.js +0 -7
- package/esm5/app/enums/state.enum.js +0 -11
- package/esm5/app/fs-list.module.js +0 -152
- package/esm5/app/fs-list.providers.js +0 -4
- package/esm5/app/interfaces/cellconfig.interface.js +0 -1
- package/esm5/app/interfaces/draggable-list.interface.js +0 -1
- package/esm5/app/interfaces/external-params.interface.js +0 -1
- package/esm5/app/interfaces/index.js +0 -1
- package/esm5/app/interfaces/listconfig.interface.js +0 -1
- package/esm5/app/interfaces/pagination.interface.js +0 -1
- package/esm5/app/models/column.model.js +0 -204
- package/esm5/app/models/row/base-row.js +0 -35
- package/esm5/app/models/row/child-row.js +0 -43
- package/esm5/app/models/row/group-row.js +0 -61
- package/esm5/app/models/row/simple-row.js +0 -15
- package/esm5/app/models/row-action.model.js +0 -153
- package/esm5/app/models/row.js +0 -126
- package/esm5/app/models/styleConfig.model.js +0 -91
- package/esm5/app/services/group-expand-notifier.service.js +0 -30
- package/esm5/firestitch-list.js +0 -19
- package/esm5/public_api.js +0 -41
- package/fesm5/firestitch-list.js +0 -6084
- package/fesm5/firestitch-list.js.map +0 -1
- package/firestitch-list.metadata.json +0 -1
|
@@ -1,29 +1,46 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { TemplateRef, Injectable,
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { TemplateRef, Injectable, Directive, Input, HostListener, ContentChild, ContentChildren, InjectionToken, Component, ChangeDetectionStrategy, Inject, HostBinding, ViewContainerRef, ViewChild, EventEmitter, Output, ViewChildren, Optional, NgModule } from '@angular/core';
|
|
3
|
+
import * as i3$1 from '@angular/common';
|
|
4
|
+
import { CommonModule } from '@angular/common';
|
|
5
|
+
import * as i6$1 from '@angular/router';
|
|
6
|
+
import { RouterModule } from '@angular/router';
|
|
7
|
+
import * as i2$1 from '@angular/material/button';
|
|
5
8
|
import { MatButtonModule } from '@angular/material/button';
|
|
9
|
+
import * as i2 from '@angular/material/checkbox';
|
|
6
10
|
import { MatCheckboxModule } from '@angular/material/checkbox';
|
|
11
|
+
import * as i4$2 from '@angular/material/core';
|
|
7
12
|
import { MatRippleModule } from '@angular/material/core';
|
|
8
|
-
import
|
|
13
|
+
import * as i4 from '@angular/material/dialog';
|
|
14
|
+
import { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
|
|
15
|
+
import * as i3 from '@angular/material/icon';
|
|
9
16
|
import { MatIconModule } from '@angular/material/icon';
|
|
10
17
|
import { MatMenuModule } from '@angular/material/menu';
|
|
18
|
+
import * as i6 from '@angular/material/tooltip';
|
|
11
19
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
12
20
|
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
13
21
|
import { FlexLayoutModule } from '@angular/flex-layout';
|
|
14
|
-
import
|
|
15
|
-
import {
|
|
22
|
+
import * as i2$2 from '@firestitch/filter';
|
|
23
|
+
import { ItemType, FilterComponent, FsFilterModule } from '@firestitch/filter';
|
|
24
|
+
import * as i2$4 from '@firestitch/scroll';
|
|
25
|
+
import { FsScrollModule } from '@firestitch/scroll';
|
|
26
|
+
import * as i2$3 from '@firestitch/menu';
|
|
16
27
|
import { FsMenuModule } from '@firestitch/menu';
|
|
17
|
-
import
|
|
28
|
+
import * as i1$1 from '@firestitch/prompt';
|
|
29
|
+
import { FsPromptModule } from '@firestitch/prompt';
|
|
30
|
+
import * as i4$1 from '@firestitch/file';
|
|
18
31
|
import { FsFileModule } from '@firestitch/file';
|
|
19
|
-
import { isString, isObject, isBoolean, isNumber, isFunction, get, cloneDeep,
|
|
32
|
+
import { isString, isObject, isBoolean, isNumber, isFunction, get, cloneDeep, random, mergeWith, merge as merge$1 } from 'lodash-es';
|
|
20
33
|
import { Subject, BehaviorSubject, Observable, merge, from, combineLatest, of } from 'rxjs';
|
|
21
|
-
import { takeUntil, tap, distinctUntilChanged, take, map, debounceTime, switchMap, mapTo, catchError, shareReplay,
|
|
22
|
-
import
|
|
34
|
+
import { takeUntil, tap, distinctUntilChanged, take, map, debounceTime, switchMap, mapTo, catchError, shareReplay, filter, skip } from 'rxjs/operators';
|
|
35
|
+
import * as i3$3 from '@firestitch/selection';
|
|
23
36
|
import { getNormalizedPath } from '@firestitch/common';
|
|
24
|
-
import
|
|
37
|
+
import * as i9 from '@firestitch/drawer';
|
|
38
|
+
import { __decorate, __metadata } from 'tslib';
|
|
25
39
|
import { Model, Alias } from 'tsmodels';
|
|
26
|
-
import
|
|
40
|
+
import * as i1 from '@firestitch/store';
|
|
41
|
+
import { FsPersistanceStore } from '@firestitch/store';
|
|
42
|
+
import * as i5 from '@angular/flex-layout/extended';
|
|
43
|
+
import * as i3$2 from '@angular/flex-layout/flex';
|
|
27
44
|
|
|
28
45
|
class StyleConfig extends Model {
|
|
29
46
|
constructor(config = {}) {
|
|
@@ -923,7 +940,7 @@ class DataController {
|
|
|
923
940
|
if (group) {
|
|
924
941
|
this._groupByFn = group.groupBy;
|
|
925
942
|
this._compareByFn = group.compareBy;
|
|
926
|
-
this._initialExpand = (_a = group.initialExpand
|
|
943
|
+
this._initialExpand = (_a = group.initialExpand) !== null && _a !== void 0 ? _a : true;
|
|
927
944
|
// group mode enabled by default
|
|
928
945
|
this._groupEnabled = (group.enabled !== void 0)
|
|
929
946
|
? group.enabled
|
|
@@ -1615,7 +1632,7 @@ class PaginationController {
|
|
|
1615
1632
|
_fromParams(params) {
|
|
1616
1633
|
var _a;
|
|
1617
1634
|
if (!this.loadMoreEnabled) {
|
|
1618
|
-
this.limit = (_a = params.limit
|
|
1635
|
+
this.limit = (_a = params.limit) !== null && _a !== void 0 ? _a : 25;
|
|
1619
1636
|
}
|
|
1620
1637
|
this.records = params.records;
|
|
1621
1638
|
this.manual = params.manual;
|
|
@@ -1763,6 +1780,7 @@ class SelectionController {
|
|
|
1763
1780
|
selectAll: this.selectAll,
|
|
1764
1781
|
allCount: this._totalRecordsCount,
|
|
1765
1782
|
actions: [...this.actions],
|
|
1783
|
+
// selectAll: this.sele
|
|
1766
1784
|
});
|
|
1767
1785
|
this._subscribeToSelection();
|
|
1768
1786
|
}
|
|
@@ -1829,11 +1847,11 @@ class SelectionController {
|
|
|
1829
1847
|
}
|
|
1830
1848
|
updateConfig({ actions, actionSelected, allSelected, cancelled, selectionChanged, selectAll }) {
|
|
1831
1849
|
this.actions = actions ? [...actions] : this.actions;
|
|
1832
|
-
this.actionSelectedFn =
|
|
1833
|
-
this.allSelectedFn =
|
|
1834
|
-
this.cancelledFn =
|
|
1835
|
-
this.selectionChangedFn =
|
|
1836
|
-
this.selectAll =
|
|
1850
|
+
this.actionSelectedFn = actionSelected !== null && actionSelected !== void 0 ? actionSelected : this.actionSelectedFn;
|
|
1851
|
+
this.allSelectedFn = allSelected !== null && allSelected !== void 0 ? allSelected : this.allSelectedFn;
|
|
1852
|
+
this.cancelledFn = cancelled !== null && cancelled !== void 0 ? cancelled : this.cancelledFn;
|
|
1853
|
+
this.selectionChangedFn = selectionChanged !== null && selectionChanged !== void 0 ? selectionChanged : this.selectionChangedFn;
|
|
1854
|
+
this.selectAll = selectAll !== null && selectAll !== void 0 ? selectAll : this.selectAll;
|
|
1837
1855
|
}
|
|
1838
1856
|
// Reset actions to default set
|
|
1839
1857
|
resetActions() {
|
|
@@ -2329,20 +2347,18 @@ class ExternalParamsController {
|
|
|
2329
2347
|
this._destroy$.complete();
|
|
2330
2348
|
}
|
|
2331
2349
|
_restorePaginationParams(values) {
|
|
2332
|
-
|
|
2333
|
-
if ((_a = values) === null || _a === void 0 ? void 0 : _a.page) {
|
|
2350
|
+
if (values === null || values === void 0 ? void 0 : values.page) {
|
|
2334
2351
|
this._externalParams.page = +values.page;
|
|
2335
2352
|
}
|
|
2336
|
-
if (
|
|
2353
|
+
if (values === null || values === void 0 ? void 0 : values.limit) {
|
|
2337
2354
|
this._externalParams.limit = +values.limit;
|
|
2338
2355
|
}
|
|
2339
2356
|
}
|
|
2340
2357
|
_restoreSortingParams(values) {
|
|
2341
|
-
|
|
2342
|
-
if ((_a = values) === null || _a === void 0 ? void 0 : _a.sortName) {
|
|
2358
|
+
if (values === null || values === void 0 ? void 0 : values.sortName) {
|
|
2343
2359
|
this._externalParams.sortName = values.sortName;
|
|
2344
2360
|
}
|
|
2345
|
-
if (
|
|
2361
|
+
if (values === null || values === void 0 ? void 0 : values.sortDirection) {
|
|
2346
2362
|
this._externalParams.sortDirection = values.sortDirection;
|
|
2347
2363
|
}
|
|
2348
2364
|
}
|
|
@@ -3156,7 +3172,7 @@ var ReorderStrategy;
|
|
|
3156
3172
|
ReorderStrategy["Manual"] = "manual";
|
|
3157
3173
|
ReorderStrategy["Custom"] = "custom";
|
|
3158
3174
|
})(ReorderStrategy || (ReorderStrategy = {}));
|
|
3159
|
-
|
|
3175
|
+
class ReorderController {
|
|
3160
3176
|
constructor() {
|
|
3161
3177
|
this._enabled$ = new BehaviorSubject(false);
|
|
3162
3178
|
this._manualReorderActivated$ = new BehaviorSubject(false);
|
|
@@ -3204,10 +3220,10 @@ let ReorderController = class ReorderController {
|
|
|
3204
3220
|
if (!data) {
|
|
3205
3221
|
return;
|
|
3206
3222
|
}
|
|
3207
|
-
this.menu = (_a = data.menu
|
|
3208
|
-
this.position = (_b = data.position
|
|
3209
|
-
this.strategy = (_c = data.strategy
|
|
3210
|
-
this.status = (_d = data.status
|
|
3223
|
+
this.menu = (_a = data.menu) !== null && _a !== void 0 ? _a : true;
|
|
3224
|
+
this.position = (_b = data.position) !== null && _b !== void 0 ? _b : ReorderPosition.Left;
|
|
3225
|
+
this.strategy = (_c = data.strategy) !== null && _c !== void 0 ? _c : ReorderStrategy.Manual;
|
|
3226
|
+
this.status = (_d = data.status) !== null && _d !== void 0 ? _d : true;
|
|
3211
3227
|
this.label = data.label;
|
|
3212
3228
|
this.startCallback = data.start;
|
|
3213
3229
|
this.movedCallback = data.moved;
|
|
@@ -3304,75 +3320,73 @@ let ReorderController = class ReorderController {
|
|
|
3304
3320
|
this._numberOfActiveFilters = activeFilters;
|
|
3305
3321
|
this.enabled = this.enabled;
|
|
3306
3322
|
}
|
|
3307
|
-
}
|
|
3308
|
-
ReorderController =
|
|
3309
|
-
|
|
3310
|
-
|
|
3311
|
-
|
|
3323
|
+
}
|
|
3324
|
+
ReorderController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ReorderController, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3325
|
+
ReorderController.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ReorderController });
|
|
3326
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ReorderController, decorators: [{
|
|
3327
|
+
type: Injectable
|
|
3328
|
+
}], ctorParameters: function () { return []; } });
|
|
3312
3329
|
|
|
3313
|
-
|
|
3314
|
-
}
|
|
3315
|
-
|
|
3316
|
-
|
|
3317
|
-
|
|
3318
|
-
|
|
3319
|
-
|
|
3320
|
-
|
|
3321
|
-
|
|
3322
|
-
],
|
|
3323
|
-
|
|
3324
|
-
|
|
3325
|
-
|
|
3326
|
-
]
|
|
3327
|
-
|
|
3328
|
-
Directive({ selector: '[fs-list-header]' })
|
|
3329
|
-
], FsListHeaderDirective);
|
|
3330
|
+
class FsListHeaderDirective {
|
|
3331
|
+
}
|
|
3332
|
+
FsListHeaderDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListHeaderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
3333
|
+
FsListHeaderDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: FsListHeaderDirective, selector: "[fs-list-header]", inputs: { colspan: "colspan", align: "align", className: ["class", "className"] }, ngImport: i0 });
|
|
3334
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListHeaderDirective, decorators: [{
|
|
3335
|
+
type: Directive,
|
|
3336
|
+
args: [{ selector: '[fs-list-header]' }]
|
|
3337
|
+
}], propDecorators: { colspan: [{
|
|
3338
|
+
type: Input
|
|
3339
|
+
}], align: [{
|
|
3340
|
+
type: Input
|
|
3341
|
+
}], className: [{
|
|
3342
|
+
type: Input,
|
|
3343
|
+
args: ['class']
|
|
3344
|
+
}] } });
|
|
3330
3345
|
|
|
3331
|
-
|
|
3332
|
-
}
|
|
3333
|
-
|
|
3334
|
-
|
|
3335
|
-
|
|
3336
|
-
|
|
3337
|
-
|
|
3338
|
-
|
|
3339
|
-
|
|
3340
|
-
],
|
|
3341
|
-
|
|
3342
|
-
|
|
3343
|
-
|
|
3344
|
-
]
|
|
3345
|
-
|
|
3346
|
-
Directive({ selector: '[fs-list-cell]' })
|
|
3347
|
-
], FsListCellDirective);
|
|
3346
|
+
class FsListCellDirective {
|
|
3347
|
+
}
|
|
3348
|
+
FsListCellDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListCellDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
3349
|
+
FsListCellDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: FsListCellDirective, selector: "[fs-list-cell]", inputs: { colspan: "colspan", align: "align", className: ["class", "className"] }, ngImport: i0 });
|
|
3350
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListCellDirective, decorators: [{
|
|
3351
|
+
type: Directive,
|
|
3352
|
+
args: [{ selector: '[fs-list-cell]' }]
|
|
3353
|
+
}], propDecorators: { colspan: [{
|
|
3354
|
+
type: Input
|
|
3355
|
+
}], align: [{
|
|
3356
|
+
type: Input
|
|
3357
|
+
}], className: [{
|
|
3358
|
+
type: Input,
|
|
3359
|
+
args: ['class']
|
|
3360
|
+
}] } });
|
|
3348
3361
|
|
|
3349
|
-
|
|
3350
|
-
}
|
|
3351
|
-
|
|
3352
|
-
|
|
3353
|
-
|
|
3354
|
-
|
|
3355
|
-
|
|
3356
|
-
|
|
3357
|
-
|
|
3358
|
-
],
|
|
3359
|
-
|
|
3360
|
-
|
|
3361
|
-
|
|
3362
|
-
]
|
|
3363
|
-
|
|
3364
|
-
Directive({ selector: '[fs-list-footer]' })
|
|
3365
|
-
], FsListFooterDirective);
|
|
3362
|
+
class FsListFooterDirective {
|
|
3363
|
+
}
|
|
3364
|
+
FsListFooterDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListFooterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
3365
|
+
FsListFooterDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: FsListFooterDirective, selector: "[fs-list-footer]", inputs: { colspan: "colspan", align: "align", className: ["class", "className"] }, ngImport: i0 });
|
|
3366
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListFooterDirective, decorators: [{
|
|
3367
|
+
type: Directive,
|
|
3368
|
+
args: [{ selector: '[fs-list-footer]' }]
|
|
3369
|
+
}], propDecorators: { colspan: [{
|
|
3370
|
+
type: Input
|
|
3371
|
+
}], align: [{
|
|
3372
|
+
type: Input
|
|
3373
|
+
}], className: [{
|
|
3374
|
+
type: Input,
|
|
3375
|
+
args: ['class']
|
|
3376
|
+
}] } });
|
|
3366
3377
|
|
|
3367
|
-
|
|
3368
|
-
}
|
|
3369
|
-
FsListGroupCellDirective =
|
|
3370
|
-
|
|
3371
|
-
|
|
3372
|
-
|
|
3373
|
-
|
|
3378
|
+
class FsListGroupCellDirective extends FsListCellDirective {
|
|
3379
|
+
}
|
|
3380
|
+
FsListGroupCellDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListGroupCellDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
3381
|
+
FsListGroupCellDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: FsListGroupCellDirective, selector: "[fs-list-group-cell]", usesInheritance: true, ngImport: i0 });
|
|
3382
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListGroupCellDirective, decorators: [{
|
|
3383
|
+
type: Directive,
|
|
3384
|
+
args: [{
|
|
3385
|
+
selector: '[fs-list-group-cell]'
|
|
3386
|
+
}]
|
|
3387
|
+
}] });
|
|
3374
3388
|
|
|
3375
|
-
|
|
3389
|
+
class GroupExpandNotifierService {
|
|
3376
3390
|
constructor() {
|
|
3377
3391
|
this._expandStatusChanged$ = new Subject();
|
|
3378
3392
|
this._destroy$ = new Subject();
|
|
@@ -3387,12 +3401,14 @@ let GroupExpandNotifierService = class GroupExpandNotifierService {
|
|
|
3387
3401
|
this._destroy$.next();
|
|
3388
3402
|
this._destroy$.complete();
|
|
3389
3403
|
}
|
|
3390
|
-
}
|
|
3391
|
-
GroupExpandNotifierService =
|
|
3392
|
-
|
|
3393
|
-
|
|
3404
|
+
}
|
|
3405
|
+
GroupExpandNotifierService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: GroupExpandNotifierService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3406
|
+
GroupExpandNotifierService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: GroupExpandNotifierService });
|
|
3407
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: GroupExpandNotifierService, decorators: [{
|
|
3408
|
+
type: Injectable
|
|
3409
|
+
}] });
|
|
3394
3410
|
|
|
3395
|
-
|
|
3411
|
+
class FsListGroupExpandTriggerDirective {
|
|
3396
3412
|
constructor(_expandNotifier) {
|
|
3397
3413
|
this._expandNotifier = _expandNotifier;
|
|
3398
3414
|
}
|
|
@@ -3401,125 +3417,97 @@ let FsListGroupExpandTriggerDirective = class FsListGroupExpandTriggerDirective
|
|
|
3401
3417
|
event.stopPropagation();
|
|
3402
3418
|
this._expandNotifier.toggleExpandStatus(this.row);
|
|
3403
3419
|
}
|
|
3404
|
-
}
|
|
3405
|
-
FsListGroupExpandTriggerDirective
|
|
3406
|
-
|
|
3407
|
-
|
|
3408
|
-
|
|
3409
|
-
|
|
3410
|
-
|
|
3411
|
-
|
|
3412
|
-
|
|
3413
|
-
],
|
|
3414
|
-
|
|
3415
|
-
|
|
3416
|
-
__metadata("design:type", Object)
|
|
3417
|
-
], FsListGroupExpandTriggerDirective.prototype, "row", void 0);
|
|
3418
|
-
FsListGroupExpandTriggerDirective = __decorate([
|
|
3419
|
-
Directive({ selector: '[fsListGroupExpandTrigger]' }),
|
|
3420
|
-
__metadata("design:paramtypes", [GroupExpandNotifierService])
|
|
3421
|
-
], FsListGroupExpandTriggerDirective);
|
|
3420
|
+
}
|
|
3421
|
+
FsListGroupExpandTriggerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListGroupExpandTriggerDirective, deps: [{ token: GroupExpandNotifierService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
3422
|
+
FsListGroupExpandTriggerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: FsListGroupExpandTriggerDirective, selector: "[fsListGroupExpandTrigger]", inputs: { row: "row" }, host: { listeners: { "click": "click($event)" } }, ngImport: i0 });
|
|
3423
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListGroupExpandTriggerDirective, decorators: [{
|
|
3424
|
+
type: Directive,
|
|
3425
|
+
args: [{ selector: '[fsListGroupExpandTrigger]' }]
|
|
3426
|
+
}], ctorParameters: function () { return [{ type: GroupExpandNotifierService }]; }, propDecorators: { click: [{
|
|
3427
|
+
type: HostListener,
|
|
3428
|
+
args: ['click', ['$event']]
|
|
3429
|
+
}], row: [{
|
|
3430
|
+
type: Input
|
|
3431
|
+
}] } });
|
|
3422
3432
|
|
|
3423
|
-
|
|
3433
|
+
class FsListColumnDirective {
|
|
3424
3434
|
constructor() {
|
|
3425
3435
|
this.show = true;
|
|
3426
3436
|
this.customize = true;
|
|
3427
3437
|
}
|
|
3428
|
-
}
|
|
3429
|
-
|
|
3430
|
-
|
|
3431
|
-
|
|
3432
|
-
|
|
3433
|
-
|
|
3434
|
-
|
|
3435
|
-
|
|
3436
|
-
],
|
|
3437
|
-
|
|
3438
|
-
|
|
3439
|
-
|
|
3440
|
-
],
|
|
3441
|
-
|
|
3442
|
-
|
|
3443
|
-
|
|
3444
|
-
],
|
|
3445
|
-
|
|
3446
|
-
|
|
3447
|
-
|
|
3448
|
-
],
|
|
3449
|
-
|
|
3450
|
-
|
|
3451
|
-
|
|
3452
|
-
],
|
|
3453
|
-
|
|
3454
|
-
|
|
3455
|
-
|
|
3456
|
-
]
|
|
3457
|
-
|
|
3458
|
-
|
|
3459
|
-
|
|
3460
|
-
],
|
|
3461
|
-
|
|
3462
|
-
|
|
3463
|
-
|
|
3464
|
-
|
|
3465
|
-
|
|
3466
|
-
|
|
3467
|
-
|
|
3468
|
-
|
|
3469
|
-
|
|
3470
|
-
|
|
3471
|
-
|
|
3472
|
-
],
|
|
3473
|
-
|
|
3474
|
-
|
|
3475
|
-
|
|
3476
|
-
|
|
3477
|
-
|
|
3478
|
-
|
|
3479
|
-
|
|
3480
|
-
|
|
3481
|
-
|
|
3482
|
-
|
|
3483
|
-
|
|
3484
|
-
]
|
|
3485
|
-
__decorate([
|
|
3486
|
-
ContentChildren(FsListGroupExpandTriggerDirective, { descendants: true }),
|
|
3487
|
-
__metadata("design:type", QueryList)
|
|
3488
|
-
], FsListColumnDirective.prototype, "expandTrigger", void 0);
|
|
3489
|
-
__decorate([
|
|
3490
|
-
ContentChild(FsListCellDirective, { read: TemplateRef, static: true }),
|
|
3491
|
-
__metadata("design:type", TemplateRef)
|
|
3492
|
-
], FsListColumnDirective.prototype, "cellTemplate", void 0);
|
|
3493
|
-
__decorate([
|
|
3494
|
-
ContentChild(FsListCellDirective, { static: true }),
|
|
3495
|
-
__metadata("design:type", Object)
|
|
3496
|
-
], FsListColumnDirective.prototype, "cellConfigs", void 0);
|
|
3497
|
-
__decorate([
|
|
3498
|
-
ContentChild(FsListFooterDirective, { read: TemplateRef, static: true }),
|
|
3499
|
-
__metadata("design:type", TemplateRef)
|
|
3500
|
-
], FsListColumnDirective.prototype, "footerTemplate", void 0);
|
|
3501
|
-
__decorate([
|
|
3502
|
-
ContentChild(FsListFooterDirective, { static: true }),
|
|
3503
|
-
__metadata("design:type", Object)
|
|
3504
|
-
], FsListColumnDirective.prototype, "footerConfigs", void 0);
|
|
3505
|
-
FsListColumnDirective = __decorate([
|
|
3506
|
-
Directive({
|
|
3507
|
-
selector: 'fs-list-column'
|
|
3508
|
-
})
|
|
3509
|
-
], FsListColumnDirective);
|
|
3438
|
+
}
|
|
3439
|
+
FsListColumnDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListColumnDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
3440
|
+
FsListColumnDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: FsListColumnDirective, selector: "fs-list-column", inputs: { title: "title", name: "name", show: "show", customize: "customize", sortable: "sortable", sortableDefault: "sortableDefault", direction: "direction", align: "align", width: "width", className: ["class", "className"] }, queries: [{ propertyName: "headerTemplate", first: true, predicate: FsListHeaderDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "headerConfigs", first: true, predicate: FsListHeaderDirective, descendants: true, static: true }, { propertyName: "groupCellTemplate", first: true, predicate: FsListGroupCellDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "groupCellConfigs", first: true, predicate: FsListGroupCellDirective, descendants: true, static: true }, { propertyName: "cellTemplate", first: true, predicate: FsListCellDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "cellConfigs", first: true, predicate: FsListCellDirective, descendants: true, static: true }, { propertyName: "footerTemplate", first: true, predicate: FsListFooterDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "footerConfigs", first: true, predicate: FsListFooterDirective, descendants: true, static: true }, { propertyName: "expandTrigger", predicate: FsListGroupExpandTriggerDirective, descendants: true }], ngImport: i0 });
|
|
3441
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListColumnDirective, decorators: [{
|
|
3442
|
+
type: Directive,
|
|
3443
|
+
args: [{
|
|
3444
|
+
selector: 'fs-list-column'
|
|
3445
|
+
}]
|
|
3446
|
+
}], propDecorators: { title: [{
|
|
3447
|
+
type: Input
|
|
3448
|
+
}], name: [{
|
|
3449
|
+
type: Input
|
|
3450
|
+
}], show: [{
|
|
3451
|
+
type: Input
|
|
3452
|
+
}], customize: [{
|
|
3453
|
+
type: Input
|
|
3454
|
+
}], sortable: [{
|
|
3455
|
+
type: Input
|
|
3456
|
+
}], sortableDefault: [{
|
|
3457
|
+
type: Input
|
|
3458
|
+
}], direction: [{
|
|
3459
|
+
type: Input
|
|
3460
|
+
}], align: [{
|
|
3461
|
+
type: Input
|
|
3462
|
+
}], width: [{
|
|
3463
|
+
type: Input
|
|
3464
|
+
}], className: [{
|
|
3465
|
+
type: Input,
|
|
3466
|
+
args: ['class']
|
|
3467
|
+
}], headerTemplate: [{
|
|
3468
|
+
type: ContentChild,
|
|
3469
|
+
args: [FsListHeaderDirective, { read: TemplateRef, static: true }]
|
|
3470
|
+
}], headerConfigs: [{
|
|
3471
|
+
type: ContentChild,
|
|
3472
|
+
args: [FsListHeaderDirective, { static: true }]
|
|
3473
|
+
}], groupCellTemplate: [{
|
|
3474
|
+
type: ContentChild,
|
|
3475
|
+
args: [FsListGroupCellDirective, { read: TemplateRef, static: true }]
|
|
3476
|
+
}], groupCellConfigs: [{
|
|
3477
|
+
type: ContentChild,
|
|
3478
|
+
args: [FsListGroupCellDirective, { static: true }]
|
|
3479
|
+
}], expandTrigger: [{
|
|
3480
|
+
type: ContentChildren,
|
|
3481
|
+
args: [FsListGroupExpandTriggerDirective, { descendants: true }]
|
|
3482
|
+
}], cellTemplate: [{
|
|
3483
|
+
type: ContentChild,
|
|
3484
|
+
args: [FsListCellDirective, { read: TemplateRef, static: true }]
|
|
3485
|
+
}], cellConfigs: [{
|
|
3486
|
+
type: ContentChild,
|
|
3487
|
+
args: [FsListCellDirective, { static: true }]
|
|
3488
|
+
}], footerTemplate: [{
|
|
3489
|
+
type: ContentChild,
|
|
3490
|
+
args: [FsListFooterDirective, { read: TemplateRef, static: true }]
|
|
3491
|
+
}], footerConfigs: [{
|
|
3492
|
+
type: ContentChild,
|
|
3493
|
+
args: [FsListFooterDirective, { static: true }]
|
|
3494
|
+
}] } });
|
|
3510
3495
|
|
|
3511
|
-
|
|
3512
|
-
}
|
|
3513
|
-
FsListEmptyStateDirective =
|
|
3514
|
-
|
|
3515
|
-
|
|
3516
|
-
|
|
3517
|
-
|
|
3496
|
+
class FsListEmptyStateDirective {
|
|
3497
|
+
}
|
|
3498
|
+
FsListEmptyStateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListEmptyStateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
3499
|
+
FsListEmptyStateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: FsListEmptyStateDirective, selector: "[fs-list-empty-state]", ngImport: i0 });
|
|
3500
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListEmptyStateDirective, decorators: [{
|
|
3501
|
+
type: Directive,
|
|
3502
|
+
args: [{
|
|
3503
|
+
selector: '[fs-list-empty-state]',
|
|
3504
|
+
}]
|
|
3505
|
+
}] });
|
|
3518
3506
|
|
|
3519
3507
|
const FS_LIST_DEFAULT_CONFIG = new InjectionToken('fs-list.default-config');
|
|
3520
3508
|
const FS_LIST_CONFIG = new InjectionToken('fs-list.config');
|
|
3521
3509
|
|
|
3522
|
-
|
|
3510
|
+
class CustomizeColsDialogComponent {
|
|
3523
3511
|
constructor(data, _dialog) {
|
|
3524
3512
|
this._dialog = _dialog;
|
|
3525
3513
|
this.columns = [];
|
|
@@ -3565,385 +3553,312 @@ let CustomizeColsDialogComponent = class CustomizeColsDialogComponent {
|
|
|
3565
3553
|
cancel() {
|
|
3566
3554
|
this._dialog.close();
|
|
3567
3555
|
}
|
|
3568
|
-
}
|
|
3569
|
-
CustomizeColsDialogComponent
|
|
3570
|
-
{ type:
|
|
3571
|
-
|
|
3572
|
-
|
|
3573
|
-
|
|
3574
|
-
|
|
3575
|
-
|
|
3576
|
-
|
|
3577
|
-
|
|
3578
|
-
|
|
3579
|
-
|
|
3580
|
-
|
|
3581
|
-
],
|
|
3556
|
+
}
|
|
3557
|
+
CustomizeColsDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: CustomizeColsDialogComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i4.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
3558
|
+
CustomizeColsDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: CustomizeColsDialogComponent, selector: "ng-component", ngImport: i0, template: "<h1 matDialogTitle>Customize Columns</h1>\n<mat-dialog-content>\n <div *ngFor=\"let column of columns\">\n <mat-checkbox [checked]=\"column.show\" (change)=\"visibilityChange($event, column)\" [disabled]=\"column.disabled\">\n <ng-container *ngIf=\"!column.title; else titleLable\">\n <ng-template [ngTemplateOutlet]=\"column.template\"></ng-template>\n </ng-container>\n <ng-template #titleLable>\n {{ column.title }}\n </ng-template>\n\n <ng-container *ngIf=\"column.tooltip\">\n <mat-icon [matTooltip]=\"column.tooltip\">\n help\n </mat-icon>\n </ng-container>\n </mat-checkbox>\n </div>\n</mat-dialog-content>\n<mat-dialog-actions>\n <button type=\"button\" mat-button color=\"primary\" (click)=\"save()\" [disabled]=\"saveDisabled\">Save</button>\n <button type=\"button\" mat-button (click)=\"cancel()\">Cancel</button>\n</mat-dialog-actions>\n", styles: [".mat-checkbox{min-height:32px;display:block}.mat-icon{font-size:14px;height:14px;width:14px;vertical-align:middle}\n"], components: [{ type: i2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i2$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i4.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i4.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i3$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i6.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i4.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3559
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: CustomizeColsDialogComponent, decorators: [{
|
|
3560
|
+
type: Component,
|
|
3561
|
+
args: [{
|
|
3562
|
+
templateUrl: 'customize-cols.component.html',
|
|
3563
|
+
styleUrls: ['customize-cols.component.scss'],
|
|
3564
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
3565
|
+
}]
|
|
3566
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
3567
|
+
type: Inject,
|
|
3568
|
+
args: [MAT_DIALOG_DATA]
|
|
3569
|
+
}] }, { type: i4.MatDialogRef }]; } });
|
|
3582
3570
|
|
|
3583
3571
|
const FILTER_STORE_KEY = 'fs-list-persist';
|
|
3584
|
-
|
|
3572
|
+
class PersistanceController extends FsPersistanceStore {
|
|
3585
3573
|
constructor(_store, _route) {
|
|
3586
3574
|
super(_store, _route);
|
|
3587
3575
|
this.STORE_KEY = FILTER_STORE_KEY;
|
|
3588
3576
|
}
|
|
3589
|
-
}
|
|
3590
|
-
PersistanceController
|
|
3591
|
-
|
|
3592
|
-
|
|
3593
|
-
|
|
3594
|
-
|
|
3595
|
-
Injectable(),
|
|
3596
|
-
__metadata("design:paramtypes", [FsStore,
|
|
3597
|
-
ActivatedRoute])
|
|
3598
|
-
], PersistanceController);
|
|
3577
|
+
}
|
|
3578
|
+
PersistanceController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PersistanceController, deps: [{ token: i1.FsStore }, { token: i6$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3579
|
+
PersistanceController.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PersistanceController });
|
|
3580
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PersistanceController, decorators: [{
|
|
3581
|
+
type: Injectable
|
|
3582
|
+
}], ctorParameters: function () { return [{ type: i1.FsStore }, { type: i6$1.ActivatedRoute }]; } });
|
|
3599
3583
|
|
|
3600
|
-
|
|
3601
|
-
|
|
3602
|
-
|
|
3603
|
-
this.
|
|
3604
|
-
this.
|
|
3605
|
-
this.
|
|
3606
|
-
this.selectionDialog = selectionDialog;
|
|
3607
|
-
this.dialog = dialog;
|
|
3608
|
-
this.cdRef = cdRef;
|
|
3609
|
-
this._groupExpandNotifier = _groupExpandNotifier;
|
|
3610
|
-
this._router = _router;
|
|
3611
|
-
this._route = _route;
|
|
3612
|
-
this._persistance = _persistance;
|
|
3613
|
-
this._location = _location;
|
|
3614
|
-
this._dialogRef = _dialogRef;
|
|
3615
|
-
this._drawerRef = _drawerRef;
|
|
3616
|
-
this.classFsList = true;
|
|
3617
|
-
this.loaderLines = 3;
|
|
3618
|
-
this.filtersReady = new EventEmitter();
|
|
3619
|
-
// Event will fired if action remove: true will clicked
|
|
3620
|
-
this.rowRemoved = new EventEmitter();
|
|
3621
|
-
this.firstLoad = true;
|
|
3622
|
-
this._filterParamsReady = false;
|
|
3623
|
-
this._inDialog = !!this._dialogRef || !!this._drawerRef;
|
|
3624
|
-
this._destroy = new Subject();
|
|
3584
|
+
// import { FsListManageSavedFiltersComponent } from '../manage-saved-filters/manage-saved-filters.component';
|
|
3585
|
+
class FsListSavedFiltersComponent {
|
|
3586
|
+
constructor(_dialog, _externalParams, _vcRef) {
|
|
3587
|
+
this._dialog = _dialog;
|
|
3588
|
+
this._externalParams = _externalParams;
|
|
3589
|
+
this._vcRef = _vcRef;
|
|
3625
3590
|
}
|
|
3626
|
-
|
|
3627
|
-
this.
|
|
3591
|
+
get savedFiltersEnabled$() {
|
|
3592
|
+
return this._externalParams.savedFiltersController.enabled$;
|
|
3628
3593
|
}
|
|
3629
|
-
|
|
3630
|
-
this.
|
|
3631
|
-
this.
|
|
3632
|
-
|
|
3594
|
+
showManageDialog() {
|
|
3595
|
+
// this._dialog.open(FsListManageSavedFiltersComponent, {
|
|
3596
|
+
// viewContainerRef: this._vcRef,
|
|
3597
|
+
// });
|
|
3633
3598
|
}
|
|
3634
|
-
|
|
3635
|
-
|
|
3636
|
-
|
|
3637
|
-
|
|
3638
|
-
|
|
3639
|
-
|
|
3640
|
-
|
|
3641
|
-
|
|
3642
|
-
|
|
3643
|
-
}
|
|
3599
|
+
}
|
|
3600
|
+
FsListSavedFiltersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListSavedFiltersComponent, deps: [{ token: i4.MatDialog }, { token: i2$2.ExternalParamsController }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
3601
|
+
FsListSavedFiltersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsListSavedFiltersComponent, selector: "fs-list-saved-filters", ngImport: i0, template: "<ng-container *ngIf=\"savedFiltersEnabled$ | async\"><!--\n -->, saved filter\n <fs-filter-saved-filters-menu (manage)=\"showManageDialog()\"></fs-filter-saved-filters-menu>\n</ng-container>\n", components: [{ type: i2$2.FsSavedFiltersMenuComponent, selector: "fs-filter-saved-filters-menu", outputs: ["select", "clear", "manage"] }], directives: [{ type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i3$1.AsyncPipe } });
|
|
3602
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListSavedFiltersComponent, decorators: [{
|
|
3603
|
+
type: Component,
|
|
3604
|
+
args: [{
|
|
3605
|
+
selector: 'fs-list-saved-filters',
|
|
3606
|
+
templateUrl: 'saved-filters.component.html',
|
|
3607
|
+
}]
|
|
3608
|
+
}], ctorParameters: function () { return [{ type: i4.MatDialog }, { type: i2$2.ExternalParamsController }, { type: i0.ViewContainerRef }]; } });
|
|
3609
|
+
|
|
3610
|
+
class FsStatusComponent {
|
|
3611
|
+
constructor(_cdRef) {
|
|
3612
|
+
this._cdRef = _cdRef;
|
|
3613
|
+
this._destroy$ = new Subject();
|
|
3644
3614
|
}
|
|
3645
|
-
|
|
3646
|
-
|
|
3647
|
-
this.
|
|
3648
|
-
|
|
3615
|
+
ngOnInit() {
|
|
3616
|
+
this.sorting.sortingChanged$
|
|
3617
|
+
.pipe(takeUntil(this._destroy$))
|
|
3618
|
+
.subscribe(() => {
|
|
3619
|
+
this._cdRef.markForCheck();
|
|
3620
|
+
});
|
|
3649
3621
|
}
|
|
3650
|
-
|
|
3651
|
-
|
|
3652
|
-
|
|
3653
|
-
get filterRef() {
|
|
3654
|
-
return this._filterRef;
|
|
3622
|
+
ngOnDestroy() {
|
|
3623
|
+
this._destroy$.next();
|
|
3624
|
+
this._destroy$.complete();
|
|
3655
3625
|
}
|
|
3656
|
-
|
|
3657
|
-
|
|
3626
|
+
toggleDirection() {
|
|
3627
|
+
if (this.sorting.sortingColumn.direction === 'asc') {
|
|
3628
|
+
this.sorting.sortDirection(SortingDirection.desc);
|
|
3629
|
+
}
|
|
3630
|
+
else {
|
|
3631
|
+
this.sorting.sortDirection(SortingDirection.asc);
|
|
3632
|
+
}
|
|
3658
3633
|
}
|
|
3659
|
-
|
|
3660
|
-
|
|
3661
|
-
|
|
3662
|
-
|
|
3663
|
-
&& !this.list.emptyStateEnabled
|
|
3664
|
-
&& this.list.dataController.visibleRowsCount > 0
|
|
3665
|
-
&& this.list.paging.pages > 1;
|
|
3634
|
+
setSortableColumn(column) {
|
|
3635
|
+
if (this.sorting.sortingColumn !== column) {
|
|
3636
|
+
this.sorting.sortBy(column);
|
|
3637
|
+
}
|
|
3666
3638
|
}
|
|
3667
|
-
|
|
3668
|
-
this.
|
|
3639
|
+
setLimit(limit) {
|
|
3640
|
+
this.paging.setLimit(limit);
|
|
3641
|
+
}
|
|
3642
|
+
}
|
|
3643
|
+
FsStatusComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsStatusComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
3644
|
+
FsStatusComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsStatusComponent, selector: "fs-list-status", inputs: { paging: "paging", sorting: "sorting", rows: "rows", scrollable: "scrollable", firstLoad: "firstLoad" }, host: { properties: { "class.first-load": "this.firstLoad", "class.fs-skeleton-placeholder": "this.firstLoad" } }, ngImport: i0, template: "<div class=\"status\">\n <ng-container *ngIf=\"paging.enabled && !scrollable\">\n <ng-container *ngIf=\"paging.records > 0; else emptyResults\">\n Showing <a [fsMenuTriggerFor]=\"limitsMenu\">{{ paging.statusLabel }}</a> of {{ paging.records | number:'1.0':'en-US' }} results\n </ng-container>\n <ng-template #emptyResults>\n Showing <a [fsMenuTriggerFor]=\"limitsMenu\">0</a> results\n </ng-template>\n <ng-container *ngTemplateOutlet=\"sortedBy\"></ng-container><!--\n--></ng-container><!--\n\n--><ng-container *ngIf=\"(!paging.enabled || scrollable) && paging.displayed > 0\">\n <ng-container *ngIf=\"!scrollable; else scrollable\">\n Showing\n <span *ngIf=\"paging.displayed == 1\">{{ paging.displayed }} result </span>\n <span *ngIf=\"paging.displayed > 1\">{{ paging.displayed | number:'1.0':'en-US' }} results </span>\n </ng-container>\n\n <ng-template #scrollable>\n <span *ngIf=\"paging.records == 1\">{{ paging.records }} result </span>\n <span *ngIf=\"paging.records > 1\">{{ paging.records | number:'1.0':'en-US' }} results </span>\n </ng-template>\n <ng-container *ngTemplateOutlet=\"sortedBy\"></ng-container><!--\n--></ng-container><!--\n\n--><fs-list-saved-filters class=\"saved-filters\"></fs-list-saved-filters>\n\n <fs-menu [hidden]=\"!paging.enabled || scrollable\" #limitsMenu>\n <ng-template\n ngFor\n let-limit\n [ngForOf]=\"paging.limits\"\n >\n <ng-template fs-menu-item (click)=\"setLimit(limit)\">\n {{ limit }}\n </ng-template>\n </ng-template>\n </fs-menu>\n\n <fs-menu [hidden]=\"!sorting.sortingColumn || paging.displayed === 0\" #orderColumnsMenu>\n <!-- Real sorting columns -->\n <ng-template\n ngFor\n let-column\n [ngForOf]=\"sorting.sortingColumns\"\n >\n <ng-template fs-menu-item (click)=\"setSortableColumn(column)\">\n <ng-container *ngIf=\"column.title; else sortByTemplate\">\n {{ column.title }}\n </ng-container>\n <ng-template #sortByTemplate>\n <ng-template [ngTemplateOutlet]=\"column.headerTemplate\"></ng-template>\n </ng-template>\n </ng-template>\n </ng-template>\n\n <!-- Fake sorting columns -->\n <ng-template\n ngFor\n let-column\n [ngForOf]=\"sorting.fakeSortingColumns\"\n >\n <ng-template fs-menu-item (click)=\"setSortableColumn(column)\">\n {{ column.title }}\n </ng-template>\n </ng-template>\n </fs-menu>\n\n <ng-template #sortedBy>\n <ng-container *ngIf=\"sorting.sortingColumn\">\n sorted by\n <ng-container *ngIf=\"sorting.sortingColumn.title; else sortByTemplate\">\n <a class=\"order-toggle\" [fsMenuTriggerFor]=\"orderColumnsMenu\">{{ sorting.sortingColumn.title }}</a>,\n </ng-container>\n <ng-template #sortByTemplate>\n <a class=\"order-toggle\" [fsMenuTriggerFor]=\"orderColumnsMenu\">\n <ng-template [ngTemplateOutlet]=\"sorting.sortingColumn.headerTemplate\"></ng-template>\n </a>,\n </ng-template>\n <a class=\"order-toggle\" (click)=\"toggleDirection()\">{{ sorting.sortingColumn.fullNameDirection }}</a><!--\n --></ng-container><!--\n--></ng-template>\n</div>\n", styles: [":host{display:inline-block}:host.first-load .status{visibility:hidden}.order-toggle{white-space:nowrap}a{cursor:pointer}\n"], components: [{ type: FsListSavedFiltersComponent, selector: "fs-list-saved-filters" }, { type: i2$3.FsMenuComponent, selector: "fs-menu", inputs: ["class", "buttonClass"], outputs: ["opened", "closed"] }], directives: [{ type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$3.FsMenuTriggerDirective, selector: "[fsMenuTriggerFor]", inputs: ["fsMenuTriggerFor"] }, { type: i3$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2$3.FsMenuItemDirective, selector: "fs-menu-group,[fs-menu-item]", inputs: ["fsClass", "class", "id", "label", "hidden", "groupHidden", "dismissAfterClick", "link", "target", "queryParams"], outputs: ["click"] }], pipes: { "number": i3$1.DecimalPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, preserveWhitespaces: true });
|
|
3645
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsStatusComponent, decorators: [{
|
|
3646
|
+
type: Component,
|
|
3647
|
+
args: [{
|
|
3648
|
+
selector: 'fs-list-status',
|
|
3649
|
+
templateUrl: 'status.component.html',
|
|
3650
|
+
styleUrls: [
|
|
3651
|
+
'./status.component.scss',
|
|
3652
|
+
],
|
|
3653
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
3654
|
+
preserveWhitespaces: true
|
|
3655
|
+
}]
|
|
3656
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { paging: [{
|
|
3657
|
+
type: Input
|
|
3658
|
+
}], sorting: [{
|
|
3659
|
+
type: Input
|
|
3660
|
+
}], rows: [{
|
|
3661
|
+
type: Input
|
|
3662
|
+
}], scrollable: [{
|
|
3663
|
+
type: Input
|
|
3664
|
+
}], firstLoad: [{
|
|
3665
|
+
type: Input
|
|
3666
|
+
}, {
|
|
3667
|
+
type: HostBinding,
|
|
3668
|
+
args: ['class.first-load']
|
|
3669
|
+
}, {
|
|
3670
|
+
type: HostBinding,
|
|
3671
|
+
args: ['class.fs-skeleton-placeholder']
|
|
3672
|
+
}] } });
|
|
3673
|
+
|
|
3674
|
+
class FsCellComponent {
|
|
3675
|
+
constructor() {
|
|
3676
|
+
this.isColl = true;
|
|
3677
|
+
this.role = 'gridcell';
|
|
3678
|
+
this.cellContext = {};
|
|
3679
|
+
this._destroy$ = new Subject();
|
|
3669
3680
|
}
|
|
3670
3681
|
ngOnInit() {
|
|
3671
|
-
this.
|
|
3672
|
-
this.
|
|
3682
|
+
this._initCellContext();
|
|
3683
|
+
this._initCellTemplate();
|
|
3684
|
+
this._listenGroupOpen();
|
|
3673
3685
|
}
|
|
3674
|
-
|
|
3675
|
-
if (
|
|
3676
|
-
this.
|
|
3686
|
+
ngOnChanges(changes) {
|
|
3687
|
+
if (changes.rowIndex) {
|
|
3688
|
+
this.cellContext.index = this.rowIndex;
|
|
3677
3689
|
}
|
|
3678
|
-
this._destroy.next();
|
|
3679
|
-
this._destroy.complete();
|
|
3680
|
-
}
|
|
3681
|
-
nextPage() {
|
|
3682
|
-
this.list.paging.goNext();
|
|
3683
3690
|
}
|
|
3684
|
-
|
|
3685
|
-
this.
|
|
3691
|
+
ngOnDestroy() {
|
|
3692
|
+
this._destroy$.next();
|
|
3693
|
+
this._destroy$.complete();
|
|
3686
3694
|
}
|
|
3687
|
-
|
|
3688
|
-
this.
|
|
3695
|
+
_initCellContext() {
|
|
3696
|
+
this.cellContext.index = this.rowIndex;
|
|
3697
|
+
if (this.row) {
|
|
3698
|
+
if (this.row.isGroup) {
|
|
3699
|
+
this.cellContext.groupIndex = this.row.index;
|
|
3700
|
+
}
|
|
3701
|
+
else if (this.row.isChild) {
|
|
3702
|
+
this.cellContext.groupChildIndex = this.row.index;
|
|
3703
|
+
}
|
|
3704
|
+
}
|
|
3705
|
+
this.cellContext.column = this.column;
|
|
3706
|
+
if (this.row) {
|
|
3707
|
+
this.cellContext.$implicit = this.row.data;
|
|
3708
|
+
this.cellContext.row = this.row.data;
|
|
3709
|
+
this.cellContext.value = this.row.data[this.column.name];
|
|
3710
|
+
this.cellContext.expanded = this.row.expanded;
|
|
3711
|
+
}
|
|
3689
3712
|
}
|
|
3690
|
-
|
|
3691
|
-
this.
|
|
3713
|
+
_initCellTemplate() {
|
|
3714
|
+
if (this.row && this.row.isGroup) {
|
|
3715
|
+
this.cellTemplate = this.column.groupCellTemplate || this.column.cellTemplate;
|
|
3716
|
+
}
|
|
3717
|
+
else {
|
|
3718
|
+
this.cellTemplate = this.column.cellTemplate;
|
|
3719
|
+
}
|
|
3692
3720
|
}
|
|
3693
|
-
|
|
3694
|
-
this.
|
|
3721
|
+
_listenGroupOpen() {
|
|
3722
|
+
if (this.row && this.row.isGroup) {
|
|
3723
|
+
this.row.expanded$
|
|
3724
|
+
.pipe(takeUntil(this._destroy$))
|
|
3725
|
+
.subscribe((status) => {
|
|
3726
|
+
this.cellContext.expanded = status;
|
|
3727
|
+
});
|
|
3728
|
+
}
|
|
3695
3729
|
}
|
|
3696
|
-
|
|
3697
|
-
|
|
3730
|
+
}
|
|
3731
|
+
FsCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3732
|
+
FsCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsCellComponent, selector: "[fs-cell]", inputs: { column: "column", row: "row", rowIndex: "rowIndex" }, host: { properties: { "class.fs-list-col": "this.isColl", "attr.role": "this.role" } }, usesOnChanges: true, ngImport: i0, template: "<ng-template [ngTemplateOutlet]=\"cellTemplate || defaultCellTemplate\" [ngTemplateOutletContext]=\"cellContext\"></ng-template>\n\n<ng-template #defaultCellTemplate let-value=\"value\">\n {{value}}\n</ng-template>\n", directives: [{ type: i3$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3733
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsCellComponent, decorators: [{
|
|
3734
|
+
type: Component,
|
|
3735
|
+
args: [{
|
|
3736
|
+
selector: '[fs-cell]',
|
|
3737
|
+
templateUrl: 'cell.component.html',
|
|
3738
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
3739
|
+
}]
|
|
3740
|
+
}], ctorParameters: function () { return []; }, propDecorators: { isColl: [{
|
|
3741
|
+
type: HostBinding,
|
|
3742
|
+
args: ['class.fs-list-col']
|
|
3743
|
+
}], role: [{
|
|
3744
|
+
type: HostBinding,
|
|
3745
|
+
args: ['attr.role']
|
|
3746
|
+
}], column: [{
|
|
3747
|
+
type: Input
|
|
3748
|
+
}], row: [{
|
|
3749
|
+
type: Input
|
|
3750
|
+
}], rowIndex: [{
|
|
3751
|
+
type: Input
|
|
3752
|
+
}] } });
|
|
3753
|
+
|
|
3754
|
+
class FsHeadCellComponent extends FsCellComponent {
|
|
3755
|
+
constructor(cdRef, differs) {
|
|
3756
|
+
super();
|
|
3757
|
+
this.cdRef = cdRef;
|
|
3758
|
+
this.differs = differs;
|
|
3759
|
+
this.cellContext = {};
|
|
3760
|
+
this._columnDiffer = differs.find({}).create();
|
|
3698
3761
|
}
|
|
3699
|
-
|
|
3700
|
-
|
|
3762
|
+
ngDoCheck() {
|
|
3763
|
+
if (this._columnDiffer.diff(this.column)) {
|
|
3764
|
+
this.cdRef.markForCheck();
|
|
3765
|
+
}
|
|
3701
3766
|
}
|
|
3702
|
-
|
|
3703
|
-
|
|
3767
|
+
initCellContext() {
|
|
3768
|
+
this.cellContext.value = this.column.title;
|
|
3704
3769
|
}
|
|
3705
|
-
|
|
3706
|
-
|
|
3707
|
-
}
|
|
3708
|
-
|
|
3709
|
-
|
|
3710
|
-
|
|
3711
|
-
|
|
3712
|
-
|
|
3713
|
-
|
|
3714
|
-
|
|
3715
|
-
return
|
|
3716
|
-
|
|
3717
|
-
|
|
3718
|
-
|
|
3719
|
-
|
|
3720
|
-
|
|
3721
|
-
this.
|
|
3722
|
-
|
|
3723
|
-
|
|
3724
|
-
this.
|
|
3725
|
-
}
|
|
3726
|
-
reorderFinish() {
|
|
3727
|
-
this.reorderController.disableReorder();
|
|
3728
|
-
}
|
|
3729
|
-
setActions(actions) {
|
|
3730
|
-
if (actions) {
|
|
3731
|
-
this.list.actions.clearActions();
|
|
3732
|
-
this.list.actions.setActions(actions);
|
|
3733
|
-
}
|
|
3770
|
+
}
|
|
3771
|
+
FsHeadCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsHeadCellComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.KeyValueDiffers }], target: i0.ɵɵFactoryTarget.Component });
|
|
3772
|
+
FsHeadCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsHeadCellComponent, selector: "[fs-head-cell]", usesInheritance: true, ngImport: i0, template: "<div class=\"wrap\">\n <span class=\"title\">\n <ng-template [ngIf]=\"!column.headerTemplate\">{{column.title}}</ng-template>\n <ng-template\n [ngIf]=\"column.headerTemplate\"\n [ngTemplateOutlet]=\"column.headerTemplate\"\n [ngTemplateOutletContext]=\"cellContext\">\n </ng-template>\n </span>\n <div class=\"direction\" *ngIf=\"column.ordered\" [ngSwitch]=\"column.sortingDirection\">\n <mat-icon class=\"material-icons\" role=\"img\" aria-label=\"arrow_downward\" *ngSwitchCase=\"'asc'\">arrow_downward</mat-icon>\n <mat-icon class=\"material-icons\" role=\"img\" aria-label=\"arrow_upward\" *ngSwitchCase=\"'desc'\">arrow_upward</mat-icon>\n </div>\n</div>\n", components: [{ type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i3$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3773
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsHeadCellComponent, decorators: [{
|
|
3774
|
+
type: Component,
|
|
3775
|
+
args: [{
|
|
3776
|
+
selector: '[fs-head-cell]',
|
|
3777
|
+
templateUrl: 'head-cell.component.html',
|
|
3778
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
3779
|
+
}]
|
|
3780
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.KeyValueDiffers }]; } });
|
|
3781
|
+
|
|
3782
|
+
class FsHeadComponent {
|
|
3783
|
+
constructor(reorderController, cdRef) {
|
|
3784
|
+
this.reorderController = reorderController;
|
|
3785
|
+
this.cdRef = cdRef;
|
|
3786
|
+
this.selectedAll = false;
|
|
3787
|
+
this.ReorderPosition = ReorderPosition;
|
|
3788
|
+
this.ReorderStrategy = ReorderStrategy;
|
|
3789
|
+
this._destroy$ = new Subject();
|
|
3734
3790
|
}
|
|
3735
|
-
|
|
3736
|
-
this.
|
|
3737
|
-
this.
|
|
3738
|
-
this._emitFiltersReadyEvent();
|
|
3791
|
+
ngOnInit() {
|
|
3792
|
+
this.initSorting();
|
|
3793
|
+
this.initSelection();
|
|
3739
3794
|
}
|
|
3740
|
-
|
|
3741
|
-
|
|
3742
|
-
|
|
3743
|
-
columnVisibility(name, show) {
|
|
3744
|
-
this.columnsVisibility([{ name, show }]);
|
|
3795
|
+
ngOnDestroy() {
|
|
3796
|
+
this._destroy$.next();
|
|
3797
|
+
this._destroy$.complete();
|
|
3745
3798
|
}
|
|
3746
3799
|
/**
|
|
3747
|
-
*
|
|
3800
|
+
* Select All Visible Rows
|
|
3801
|
+
* @param event
|
|
3748
3802
|
*/
|
|
3749
|
-
|
|
3750
|
-
this.
|
|
3751
|
-
}
|
|
3752
|
-
_emitFiltersReadyEvent() {
|
|
3753
|
-
if (!!this.filterRef && this._filterParamsReady) {
|
|
3754
|
-
this.filtersReady.emit();
|
|
3755
|
-
}
|
|
3803
|
+
selectAll(event) {
|
|
3804
|
+
this.selection.selectAllVisibleRows(event.checked);
|
|
3756
3805
|
}
|
|
3757
3806
|
/**
|
|
3758
|
-
*
|
|
3759
|
-
* @param
|
|
3807
|
+
* Track By for improve change detection
|
|
3808
|
+
* @param index
|
|
3760
3809
|
*/
|
|
3761
|
-
|
|
3762
|
-
|
|
3763
|
-
this.list.destroy();
|
|
3764
|
-
}
|
|
3765
|
-
const defaultOpts = this._defaultOptions
|
|
3766
|
-
? cloneDeep(this._defaultOptions)
|
|
3767
|
-
: {};
|
|
3768
|
-
const listConfig = mergeWith(defaultOpts, config, this._configMergeCustomizer);
|
|
3769
|
-
if (listConfig.persist !== false) {
|
|
3770
|
-
this._restorePersistance(listConfig.persist);
|
|
3771
|
-
}
|
|
3772
|
-
this._updateCustomizeAction(listConfig.actions);
|
|
3773
|
-
this.list = new List(this._el, listConfig, this.fsScroll, this.selectionDialog, this._router, this._route, this._persistance, this._inDialog);
|
|
3774
|
-
this._waitFirstLoad();
|
|
3775
|
-
this._listenFiltersQueryChange();
|
|
3776
|
-
this.reorderController.initWithConfig(config.reorder, this.list.dataController, this.list.actions);
|
|
3777
|
-
if (this.listColumnDirectives) {
|
|
3778
|
-
this.list.tranformTemplatesToColumns(this.listColumnDirectives);
|
|
3779
|
-
}
|
|
3780
|
-
this._listenSortingChange();
|
|
3810
|
+
trackByFn(index) {
|
|
3811
|
+
return index;
|
|
3781
3812
|
}
|
|
3782
3813
|
/**
|
|
3783
|
-
*
|
|
3784
|
-
* @param actions
|
|
3814
|
+
* Subscribe to sorting change
|
|
3785
3815
|
*/
|
|
3786
|
-
|
|
3787
|
-
|
|
3788
|
-
|
|
3789
|
-
|
|
3790
|
-
|
|
3791
|
-
|
|
3792
|
-
if (actionClickFn) {
|
|
3793
|
-
actionClickFn(null);
|
|
3794
|
-
}
|
|
3795
|
-
const dialogRef = this.dialog.open(CustomizeColsDialogComponent, {
|
|
3796
|
-
data: {
|
|
3797
|
-
columns: this.list.columns.columnsForDialog,
|
|
3798
|
-
changeFn: this.list.columns.changeFn,
|
|
3799
|
-
},
|
|
3800
|
-
});
|
|
3801
|
-
dialogRef
|
|
3802
|
-
.afterClosed()
|
|
3803
|
-
.pipe(takeUntil(this.list.onDestroy$), takeUntil(this._destroy))
|
|
3804
|
-
.subscribe((data) => {
|
|
3805
|
-
if (data) {
|
|
3806
|
-
this.list.columns.updateVisibilityForCols(data);
|
|
3807
|
-
this.cdRef.markForCheck();
|
|
3808
|
-
}
|
|
3809
|
-
});
|
|
3810
|
-
};
|
|
3811
|
-
}
|
|
3816
|
+
initSorting() {
|
|
3817
|
+
this.sorting.sortingChanged$
|
|
3818
|
+
.pipe(takeUntil(this._destroy$))
|
|
3819
|
+
.subscribe(() => {
|
|
3820
|
+
this.cdRef.detectChanges();
|
|
3821
|
+
});
|
|
3812
3822
|
}
|
|
3813
3823
|
/**
|
|
3814
|
-
*
|
|
3824
|
+
* Subscribe to selection change
|
|
3815
3825
|
*/
|
|
3816
|
-
|
|
3817
|
-
this.
|
|
3818
|
-
.
|
|
3819
|
-
|
|
3820
|
-
|
|
3821
|
-
|
|
3822
|
-
|
|
3823
|
-
|
|
3824
|
-
|
|
3825
|
-
this.rowRemoved
|
|
3826
|
-
.pipe(takeUntil(this._destroy))
|
|
3827
|
-
.subscribe((row) => {
|
|
3828
|
-
this.list.dataController.removeData(row);
|
|
3829
|
-
});
|
|
3830
|
-
}
|
|
3831
|
-
_subscribeToGroupExpandStatusChange() {
|
|
3832
|
-
if (this.list.dataController.hasGroups) {
|
|
3833
|
-
this._groupExpandNotifier.expandStatusChange$
|
|
3834
|
-
.pipe(takeUntil(this._destroy))
|
|
3835
|
-
.subscribe((row) => {
|
|
3836
|
-
this.list.dataController.toggleRowGroup(row);
|
|
3826
|
+
initSelection() {
|
|
3827
|
+
if (this.selection) {
|
|
3828
|
+
this.selection.selectionChange$
|
|
3829
|
+
.pipe(filter(({ type }) => (type === SelectionChangeType.AllVisibleSelectionChange
|
|
3830
|
+
|| type === SelectionChangeType.SelectedAll
|
|
3831
|
+
|| type === SelectionChangeType.RowSelectionChange)), takeUntil(this._destroy$))
|
|
3832
|
+
.subscribe(({ type, payload: status }) => {
|
|
3833
|
+
this.selectedAll = status;
|
|
3834
|
+
this.cdRef.markForCheck();
|
|
3837
3835
|
});
|
|
3838
3836
|
}
|
|
3839
3837
|
}
|
|
3840
|
-
|
|
3841
|
-
|
|
3842
|
-
|
|
3843
|
-
|
|
3844
|
-
|
|
3845
|
-
|
|
3846
|
-
|
|
3847
|
-
|
|
3848
|
-
|
|
3849
|
-
|
|
3850
|
-
|
|
3851
|
-
|
|
3852
|
-
|
|
3853
|
-
|
|
3854
|
-
|
|
3855
|
-
|
|
3856
|
-
|
|
3857
|
-
|
|
3858
|
-
|
|
3859
|
-
|
|
3860
|
-
|
|
3861
|
-
|
|
3862
|
-
}
|
|
3863
|
-
_restorePersistance(persistConfig) {
|
|
3864
|
-
const namespace = getNormalizedPath(this._location);
|
|
3865
|
-
this._persistance.setConfig(persistConfig, namespace, this._inDialog);
|
|
3866
|
-
}
|
|
3867
|
-
};
|
|
3868
|
-
FsListComponent.ctorParameters = () => [
|
|
3869
|
-
{ type: ReorderController },
|
|
3870
|
-
{ type: ElementRef },
|
|
3871
|
-
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [FS_LIST_DEFAULT_CONFIG,] }] },
|
|
3872
|
-
{ type: FsScrollService, decorators: [{ type: Optional }] },
|
|
3873
|
-
{ type: SelectionDialog },
|
|
3874
|
-
{ type: MatDialog },
|
|
3875
|
-
{ type: ChangeDetectorRef },
|
|
3876
|
-
{ type: GroupExpandNotifierService },
|
|
3877
|
-
{ type: Router },
|
|
3878
|
-
{ type: ActivatedRoute },
|
|
3879
|
-
{ type: PersistanceController },
|
|
3880
|
-
{ type: Location },
|
|
3881
|
-
{ type: MatDialogRef, decorators: [{ type: Optional }] },
|
|
3882
|
-
{ type: DrawerRef, decorators: [{ type: Optional }] }
|
|
3883
|
-
];
|
|
3884
|
-
__decorate([
|
|
3885
|
-
HostBinding('class.fs-list'),
|
|
3886
|
-
__metadata("design:type", Object)
|
|
3887
|
-
], FsListComponent.prototype, "classFsList", void 0);
|
|
3888
|
-
__decorate([
|
|
3889
|
-
Input('config'),
|
|
3890
|
-
__metadata("design:type", Object),
|
|
3891
|
-
__metadata("design:paramtypes", [Object])
|
|
3892
|
-
], FsListComponent.prototype, "config", null);
|
|
3893
|
-
__decorate([
|
|
3894
|
-
Input(),
|
|
3895
|
-
__metadata("design:type", Object)
|
|
3896
|
-
], FsListComponent.prototype, "loaderLines", void 0);
|
|
3897
|
-
__decorate([
|
|
3898
|
-
Output(),
|
|
3899
|
-
__metadata("design:type", Object)
|
|
3900
|
-
], FsListComponent.prototype, "filtersReady", void 0);
|
|
3901
|
-
__decorate([
|
|
3902
|
-
ViewChild(FilterComponent),
|
|
3903
|
-
__metadata("design:type", Object),
|
|
3904
|
-
__metadata("design:paramtypes", [Object])
|
|
3905
|
-
], FsListComponent.prototype, "filterReference", null);
|
|
3906
|
-
__decorate([
|
|
3907
|
-
ContentChildren(FsListColumnDirective),
|
|
3908
|
-
__metadata("design:type", QueryList),
|
|
3909
|
-
__metadata("design:paramtypes", [QueryList])
|
|
3910
|
-
], FsListComponent.prototype, "columnTemplates", null);
|
|
3911
|
-
__decorate([
|
|
3912
|
-
ContentChild(FsListEmptyStateDirective, { read: TemplateRef }),
|
|
3913
|
-
__metadata("design:type", TemplateRef),
|
|
3914
|
-
__metadata("design:paramtypes", [TemplateRef])
|
|
3915
|
-
], FsListComponent.prototype, "_emptyStateTemplate", null);
|
|
3916
|
-
FsListComponent = __decorate([
|
|
3917
|
-
Component({
|
|
3918
|
-
selector: 'fs-list',
|
|
3919
|
-
template: "<div class=\"fs-list-container\"\n [ngClass]=\"{ 'has-filter-input': list.filterInput,\n 'has-filters': list.filterConfig?.items.length,\n 'has-heading': list.heading,\n 'has-status': list.status,\n 'has-chips': list.chips,\n 'has-actions': list.actions.hasActions,\n 'first-load': firstLoad,\n 'loading': list.loading$ | async }\">\n <ng-template [ngTemplateOutlet]=\"listContainerContent\"></ng-template>\n</div>\n\n<ng-template #listContainerContent>\n <ng-container *ngIf=\"list.dataController.visibleRows$ | async as listData\">\n <!-- Header -->\n <div class=\"fs-list-header-container\">\n\n <div class=\"fs-list-header\"\n [ngClass]=\"{ 'no-wrap': reorderController.manualReorderActivated$ || !list.filterConfig?.items.length }\">\n <div class=\"heading-container\">\n <h2 class=\"heading\" *ngIf=\"list.heading\">{{list.heading}}</h2>\n <span class=\"subheading\" *ngIf=\"list.subheading\">{{list.subheading}}</span>\n </div>\n <fs-filter\n class=\"fs-list-filter\"\n *ngIf=\"list.filterConfig\"\n [filter]=\"list.filterConfig\"\n [showSortBy]=\"!list.status\"\n [showFilterInput]=\"list.filterInput\"\n (ready)=\"filterReady()\">\n\n <ng-template fsFilterStatusBar>\n <ng-container *ngIf=\"\n list.paging &&\n !(reorderController.manualReorderActivated$ | async) &&\n (!reorderController.enabled || reorderController.status) &&\n ((list.scrollable && list.scrollable.status) || !list.scrollable)\">\n <!-- Status -->\n <fs-list-status\n class=\"fs-list-status\"\n [ngClass]=\"{ 'hidden-mobile': !list.status }\"\n [rows]=\"listData\"\n [sorting]=\"list.sorting\"\n [paging]=\"list.paging\"\n [firstLoad]=\"firstLoad\"\n [scrollable]=\"list.scrollable\">\n </fs-list-status>\n </ng-container>\n </ng-template>\n </fs-filter>\n </div>\n </div>\n\n <ng-content select=\"[fs-list-content]\"></ng-content>\n\n <!-- Table implementation -->\n <div class=\"fs-list-table-container\">\n <table class=\"fs-list-table\" role=\"grid\" *ngIf=\"!firstLoad && listData.length > 0 && !list.emptyStateEnabled\">\n <thead fs-list-head\n class=\"fs-list-head\"\n role=\"rowgroup\"\n *ngIf=\"list.columns.hasHeader\"\n [ngClass]=\"list.columns.theadClass\"\n [columns]=\"list.columns.visibleColumns\"\n [sorting]=\"list.sorting\"\n [selection]=\"list.selection\"\n [hasRowActions]=\"list.hasRowActions\"\n >\n </thead>\n\n <tbody fs-list-body\n fsListDraggableList\n class=\"fs-list-body\"\n role=\"rowgroup\"\n [class.disabled]=\"!!(reorderController.reorderDisabled$ | async)\"\n [rows]=\"listData\"\n [rowActionsRaw]=\"list.rowActionsRaw\"\n [groupActionsRaw]=\"list.groupActionsRaw\"\n [hasRowActions]=\"list.hasRowActions\"\n [rowEvents]=\"list.rowEvents\"\n [rowClass]=\"list.rowClass\"\n [columns]=\"list.columns.visibleColumns\"\n [restoreMode]=\"list.restoreMode\"\n [selection]=\"list.selection\"\n [rowRemoved]=\"rowRemoved\"\n >\n </tbody>\n\n <tfoot fs-list-footer\n class=\"fs-list-footer\"\n *ngIf=\"list.columns.hasFooter\"\n [columns]=\"list.columns.visibleColumns\"\n [selection]=\"list.selection\"\n [hasRowActions]=\"list.hasRowActions\">\n </tfoot>\n </table>\n <fs-list-loader\n *ngIf=\"firstLoad\"\n [columns]=\"list.columns.columns\"\n [loaderLines]=\"loaderLines\">\n </fs-list-loader>\n </div>\n\n <fs-list-pagination\n *ngIf=\"paginatorVisible\"\n class=\"fs-list-pagination\"\n [rows]=\"listData\"\n [pagination]=\"list.paging\">\n </fs-list-pagination>\n\n\n <ng-container *ngIf=\"!firstLoad\">\n <div\n *ngIf=\"listData.length === 0\"\n class=\"fs-list-no-results-container\">\n <div\n *ngIf=\"list.noResults?.message && !list.emptyStateEnabled\"\n class=\"fs-list-no-results\">\n {{ list.noResults?.message }}\n </div>\n <ng-container *ngIf=\"list.emptyStateEnabled\">\n <ng-template [ngTemplateOutlet]=\"list.emptyStateTemplate\"></ng-template>\n </ng-container>\n </div>\n </ng-container>\n </ng-container>\n</ng-template>\n\n",
|
|
3920
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
3921
|
-
providers: [
|
|
3922
|
-
GroupExpandNotifierService,
|
|
3923
|
-
PersistanceController,
|
|
3924
|
-
ReorderController,
|
|
3925
|
-
],
|
|
3926
|
-
styles: ["::ng-deep .fs-list{display:block;width:100%}::ng-deep .fs-list .fs-list-swap-restricted{opacity:.5}::ng-deep .fs-list .fs-list-no-drop{cursor:no-drop}::ng-deep .fs-list .fs-filter{margin-bottom:0;position:initial!important;display:block}::ng-deep .fs-list .fs-list-container.first-load .filter-chips,::ng-deep .fs-list .fs-list-container.first-load .fs-list-body,::ng-deep .fs-list .fs-list-container.first-load .fs-list-no-results-container,::ng-deep .fs-list .fs-list-container.first-load .fs-list-status,::ng-deep .fs-list .fs-list-container.first-load fs-list-pagination,::ng-deep .fs-list .fs-list-container.loading .filter-chips,::ng-deep .fs-list .fs-list-container.loading .fs-list-body,::ng-deep .fs-list .fs-list-container.loading .fs-list-no-results-container,::ng-deep .fs-list .fs-list-container.loading .fs-list-status,::ng-deep .fs-list .fs-list-container.loading fs-list-pagination{opacity:.4;pointer-events:none}::ng-deep .fs-list .fs-list-container.first-load ::ng-deep fs-filter-chips .fs-chip{color:transparent}::ng-deep .fs-list .fs-list-container.first-load ::ng-deep fs-filter-chips .fs-chip .remove{visibility:hidden}::ng-deep .fs-list .fs-list-container.has-actions .fs-list-actions{margin-left:5px}::ng-deep .fs-list .fs-list-table-container{width:100%;overflow:auto}::ng-deep .fs-list .fs-list-table,::ng-deep .fs-list table{border-spacing:0;display:table;width:100%;border-collapse:collapse}::ng-deep .fs-list .fs-list-no-results-container .fs-list-no-results{text-align:center;color:#999;padding:10px 0}::ng-deep .fs-list .hidden{display:none}::ng-deep .fs-list .fs-list-head,::ng-deep .fs-list thead{display:table-header-group}::ng-deep .fs-list .fs-list-head .fs-list-col,::ng-deep .fs-list .fs-list-head th,::ng-deep .fs-list thead .fs-list-col,::ng-deep .fs-list thead th{padding:8px;font-weight:400;font-size:13px;color:#8f8f8f}::ng-deep .fs-list .fs-list-head .fs-list-col.fs-list-col-selection,::ng-deep .fs-list .fs-list-head th.fs-list-col-selection,::ng-deep .fs-list thead .fs-list-col.fs-list-col-selection,::ng-deep .fs-list thead th.fs-list-col-selection{width:1%;text-align:left}::ng-deep .fs-list .fs-list-head .fs-list-col.sorting,::ng-deep .fs-list .fs-list-head th.sorting,::ng-deep .fs-list thead .fs-list-col.sorting,::ng-deep .fs-list thead th.sorting{cursor:pointer;background-image:none}::ng-deep .fs-list .fs-list-head .fs-list-col.sorting:hover,::ng-deep .fs-list .fs-list-head th.sorting:hover,::ng-deep .fs-list thead .fs-list-col.sorting:hover,::ng-deep .fs-list thead th.sorting:hover{background-color:#f6f6f6}::ng-deep .fs-list .fs-list-head .fs-list-col .wrap,::ng-deep .fs-list .fs-list-head th .wrap,::ng-deep .fs-list thead .fs-list-col .wrap,::ng-deep .fs-list thead th .wrap{display:inline-flex;vertical-align:middle;white-space:nowrap}::ng-deep .fs-list .fs-list-head .fs-list-col .wrap mat-icon,::ng-deep .fs-list .fs-list-head th .wrap mat-icon,::ng-deep .fs-list thead .fs-list-col .wrap mat-icon,::ng-deep .fs-list thead th .wrap mat-icon{font-size:14px;display:block;height:14px;width:14px}::ng-deep .fs-list .fs-list-head .fs-list-col .wrap .direction,::ng-deep .fs-list .fs-list-head th .wrap .direction,::ng-deep .fs-list thead .fs-list-col .wrap .direction,::ng-deep .fs-list thead th .wrap .direction{margin-left:5px}::ng-deep .fs-list .fs-list-body,::ng-deep .fs-list tbody{display:table-row-group;position:relative}::ng-deep .fs-list .fs-list-body.disabled,::ng-deep .fs-list tbody.disabled{opacity:.4;pointer-events:none}::ng-deep .fs-list .fs-list-body .fs-list-col,::ng-deep .fs-list .fs-list-body td,::ng-deep .fs-list tbody .fs-list-col,::ng-deep .fs-list tbody td{box-sizing:border-box}::ng-deep .fs-list .fs-list-body .fs-list-row:hover .fs-list-col,::ng-deep .fs-list .fs-list-body tr:hover td,::ng-deep .fs-list tbody .fs-list-row:hover .fs-list-col,::ng-deep .fs-list tbody tr:hover td{background-color:#f6f6f6}::ng-deep .fs-list .fs-list-body .fs-list-row:hover .fs-list-col,::ng-deep .fs-list .fs-list-body .fs-list-row:hover td,::ng-deep .fs-list .fs-list-body tr:hover .fs-list-col,::ng-deep .fs-list .fs-list-body tr:hover td,::ng-deep .fs-list tbody .fs-list-row:hover .fs-list-col,::ng-deep .fs-list tbody .fs-list-row:hover td,::ng-deep .fs-list tbody tr:hover .fs-list-col,::ng-deep .fs-list tbody tr:hover td{background-color:#f6f6f6}::ng-deep .fs-list .fs-list-body tr:first-child td,::ng-deep .fs-list tbody tr:first-child td{border-top:2px solid #ddd}::ng-deep .fs-list .fs-list-body tr:last-child td,::ng-deep .fs-list tbody tr:last-child td{border-bottom:2px solid #ddd}::ng-deep .fs-list .fs-list-body td,::ng-deep .fs-list tbody td{border-top:1px solid #ddd}::ng-deep .fs-list .fs-list-body .fs-list-row,::ng-deep .fs-list .fs-list-body tr,::ng-deep .fs-list .fs-list-footer .fs-list-row,::ng-deep .fs-list .fs-list-footer tr,::ng-deep .fs-list .fs-list-head .fs-list-row,::ng-deep .fs-list .fs-list-head tr,::ng-deep .fs-list tbody .fs-list-row,::ng-deep .fs-list tbody tr,::ng-deep .fs-list tfoot .fs-list-row,::ng-deep .fs-list tfoot tr,::ng-deep .fs-list thead .fs-list-row,::ng-deep .fs-list thead tr{display:table-row}::ng-deep .fs-list .fs-list-body .fs-list-row .fs-list-col,::ng-deep .fs-list .fs-list-body .fs-list-row td,::ng-deep .fs-list .fs-list-body .fs-list-row th,::ng-deep .fs-list .fs-list-body tr .fs-list-col,::ng-deep .fs-list .fs-list-body tr td,::ng-deep .fs-list .fs-list-body tr th,::ng-deep .fs-list .fs-list-footer .fs-list-row .fs-list-col,::ng-deep .fs-list .fs-list-footer .fs-list-row td,::ng-deep .fs-list .fs-list-footer .fs-list-row th,::ng-deep .fs-list .fs-list-footer tr .fs-list-col,::ng-deep .fs-list .fs-list-footer tr td,::ng-deep .fs-list .fs-list-footer tr th,::ng-deep .fs-list .fs-list-head .fs-list-row .fs-list-col,::ng-deep .fs-list .fs-list-head .fs-list-row td,::ng-deep .fs-list .fs-list-head .fs-list-row th,::ng-deep .fs-list .fs-list-head tr .fs-list-col,::ng-deep .fs-list .fs-list-head tr td,::ng-deep .fs-list .fs-list-head tr th,::ng-deep .fs-list tbody .fs-list-row .fs-list-col,::ng-deep .fs-list tbody .fs-list-row td,::ng-deep .fs-list tbody .fs-list-row th,::ng-deep .fs-list tbody tr .fs-list-col,::ng-deep .fs-list tbody tr td,::ng-deep .fs-list tbody tr th,::ng-deep .fs-list tfoot .fs-list-row .fs-list-col,::ng-deep .fs-list tfoot .fs-list-row td,::ng-deep .fs-list tfoot .fs-list-row th,::ng-deep .fs-list tfoot tr .fs-list-col,::ng-deep .fs-list tfoot tr td,::ng-deep .fs-list tfoot tr th,::ng-deep .fs-list thead .fs-list-row .fs-list-col,::ng-deep .fs-list thead .fs-list-row td,::ng-deep .fs-list thead .fs-list-row th,::ng-deep .fs-list thead tr .fs-list-col,::ng-deep .fs-list thead tr td,::ng-deep .fs-list thead tr th{display:table-cell;padding:8px;vertical-align:middle;outline:0}::ng-deep .fs-list .fs-list-body .fs-list-row .fs-list-col.drag-col,::ng-deep .fs-list .fs-list-body .fs-list-row td.drag-col,::ng-deep .fs-list .fs-list-body .fs-list-row th.drag-col,::ng-deep .fs-list .fs-list-body tr .fs-list-col.drag-col,::ng-deep .fs-list .fs-list-body tr td.drag-col,::ng-deep .fs-list .fs-list-body tr th.drag-col,::ng-deep .fs-list .fs-list-footer .fs-list-row .fs-list-col.drag-col,::ng-deep .fs-list .fs-list-footer .fs-list-row td.drag-col,::ng-deep .fs-list .fs-list-footer .fs-list-row th.drag-col,::ng-deep .fs-list .fs-list-footer tr .fs-list-col.drag-col,::ng-deep .fs-list .fs-list-footer tr td.drag-col,::ng-deep .fs-list .fs-list-footer tr th.drag-col,::ng-deep .fs-list .fs-list-head .fs-list-row .fs-list-col.drag-col,::ng-deep .fs-list .fs-list-head .fs-list-row td.drag-col,::ng-deep .fs-list .fs-list-head .fs-list-row th.drag-col,::ng-deep .fs-list .fs-list-head tr .fs-list-col.drag-col,::ng-deep .fs-list .fs-list-head tr td.drag-col,::ng-deep .fs-list .fs-list-head tr th.drag-col,::ng-deep .fs-list tbody .fs-list-row .fs-list-col.drag-col,::ng-deep .fs-list tbody .fs-list-row td.drag-col,::ng-deep .fs-list tbody .fs-list-row th.drag-col,::ng-deep .fs-list tbody tr .fs-list-col.drag-col,::ng-deep .fs-list tbody tr td.drag-col,::ng-deep .fs-list tbody tr th.drag-col,::ng-deep .fs-list tfoot .fs-list-row .fs-list-col.drag-col,::ng-deep .fs-list tfoot .fs-list-row td.drag-col,::ng-deep .fs-list tfoot .fs-list-row th.drag-col,::ng-deep .fs-list tfoot tr .fs-list-col.drag-col,::ng-deep .fs-list tfoot tr td.drag-col,::ng-deep .fs-list tfoot tr th.drag-col,::ng-deep .fs-list thead .fs-list-row .fs-list-col.drag-col,::ng-deep .fs-list thead .fs-list-row td.drag-col,::ng-deep .fs-list thead .fs-list-row th.drag-col,::ng-deep .fs-list thead tr .fs-list-col.drag-col,::ng-deep .fs-list thead tr td.drag-col,::ng-deep .fs-list thead tr th.drag-col{width:24px;text-align:center;cursor:-webkit-grab;cursor:grab}::ng-deep .fs-list .fs-list-body .fs-list-row .fs-list-col.drag-col mat-icon,::ng-deep .fs-list .fs-list-body .fs-list-row td.drag-col mat-icon,::ng-deep .fs-list .fs-list-body .fs-list-row th.drag-col mat-icon,::ng-deep .fs-list .fs-list-body tr .fs-list-col.drag-col mat-icon,::ng-deep .fs-list .fs-list-body tr td.drag-col mat-icon,::ng-deep .fs-list .fs-list-body tr th.drag-col mat-icon,::ng-deep .fs-list .fs-list-footer .fs-list-row .fs-list-col.drag-col mat-icon,::ng-deep .fs-list .fs-list-footer .fs-list-row td.drag-col mat-icon,::ng-deep .fs-list .fs-list-footer .fs-list-row th.drag-col mat-icon,::ng-deep .fs-list .fs-list-footer tr .fs-list-col.drag-col mat-icon,::ng-deep .fs-list .fs-list-footer tr td.drag-col mat-icon,::ng-deep .fs-list .fs-list-footer tr th.drag-col mat-icon,::ng-deep .fs-list .fs-list-head .fs-list-row .fs-list-col.drag-col mat-icon,::ng-deep .fs-list .fs-list-head .fs-list-row td.drag-col mat-icon,::ng-deep .fs-list .fs-list-head .fs-list-row th.drag-col mat-icon,::ng-deep .fs-list .fs-list-head tr .fs-list-col.drag-col mat-icon,::ng-deep .fs-list .fs-list-head tr td.drag-col mat-icon,::ng-deep .fs-list .fs-list-head tr th.drag-col mat-icon,::ng-deep .fs-list tbody .fs-list-row .fs-list-col.drag-col mat-icon,::ng-deep .fs-list tbody .fs-list-row td.drag-col mat-icon,::ng-deep .fs-list tbody .fs-list-row th.drag-col mat-icon,::ng-deep .fs-list tbody tr .fs-list-col.drag-col mat-icon,::ng-deep .fs-list tbody tr td.drag-col mat-icon,::ng-deep .fs-list tbody tr th.drag-col mat-icon,::ng-deep .fs-list tfoot .fs-list-row .fs-list-col.drag-col mat-icon,::ng-deep .fs-list tfoot .fs-list-row td.drag-col mat-icon,::ng-deep .fs-list tfoot .fs-list-row th.drag-col mat-icon,::ng-deep .fs-list tfoot tr .fs-list-col.drag-col mat-icon,::ng-deep .fs-list tfoot tr td.drag-col mat-icon,::ng-deep .fs-list tfoot tr th.drag-col mat-icon,::ng-deep .fs-list thead .fs-list-row .fs-list-col.drag-col mat-icon,::ng-deep .fs-list thead .fs-list-row td.drag-col mat-icon,::ng-deep .fs-list thead .fs-list-row th.drag-col mat-icon,::ng-deep .fs-list thead tr .fs-list-col.drag-col mat-icon,::ng-deep .fs-list thead tr td.drag-col mat-icon,::ng-deep .fs-list thead tr th.drag-col mat-icon{display:flex}::ng-deep .fs-list .fs-list-body .fs-list-row .fs-list-col.row-actions,::ng-deep .fs-list .fs-list-body .fs-list-row td.row-actions,::ng-deep .fs-list .fs-list-body .fs-list-row th.row-actions,::ng-deep .fs-list .fs-list-body tr .fs-list-col.row-actions,::ng-deep .fs-list .fs-list-body tr td.row-actions,::ng-deep .fs-list .fs-list-body tr th.row-actions,::ng-deep .fs-list .fs-list-footer .fs-list-row .fs-list-col.row-actions,::ng-deep .fs-list .fs-list-footer .fs-list-row td.row-actions,::ng-deep .fs-list .fs-list-footer .fs-list-row th.row-actions,::ng-deep .fs-list .fs-list-footer tr .fs-list-col.row-actions,::ng-deep .fs-list .fs-list-footer tr td.row-actions,::ng-deep .fs-list .fs-list-footer tr th.row-actions,::ng-deep .fs-list .fs-list-head .fs-list-row .fs-list-col.row-actions,::ng-deep .fs-list .fs-list-head .fs-list-row td.row-actions,::ng-deep .fs-list .fs-list-head .fs-list-row th.row-actions,::ng-deep .fs-list .fs-list-head tr .fs-list-col.row-actions,::ng-deep .fs-list .fs-list-head tr td.row-actions,::ng-deep .fs-list .fs-list-head tr th.row-actions,::ng-deep .fs-list tbody .fs-list-row .fs-list-col.row-actions,::ng-deep .fs-list tbody .fs-list-row td.row-actions,::ng-deep .fs-list tbody .fs-list-row th.row-actions,::ng-deep .fs-list tbody tr .fs-list-col.row-actions,::ng-deep .fs-list tbody tr td.row-actions,::ng-deep .fs-list tbody tr th.row-actions,::ng-deep .fs-list tfoot .fs-list-row .fs-list-col.row-actions,::ng-deep .fs-list tfoot .fs-list-row td.row-actions,::ng-deep .fs-list tfoot .fs-list-row th.row-actions,::ng-deep .fs-list tfoot tr .fs-list-col.row-actions,::ng-deep .fs-list tfoot tr td.row-actions,::ng-deep .fs-list tfoot tr th.row-actions,::ng-deep .fs-list thead .fs-list-row .fs-list-col.row-actions,::ng-deep .fs-list thead .fs-list-row td.row-actions,::ng-deep .fs-list thead .fs-list-row th.row-actions,::ng-deep .fs-list thead tr .fs-list-col.row-actions,::ng-deep .fs-list thead tr td.row-actions,::ng-deep .fs-list thead tr th.row-actions{width:1%;white-space:nowrap;padding-right:10px;overflow:hidden}::ng-deep .fs-list .fs-list-body .fs-list-row .fs-list-col.row-actions .row-inline-action,::ng-deep .fs-list .fs-list-body .fs-list-row td.row-actions .row-inline-action,::ng-deep .fs-list .fs-list-body .fs-list-row th.row-actions .row-inline-action,::ng-deep .fs-list .fs-list-body tr .fs-list-col.row-actions .row-inline-action,::ng-deep .fs-list .fs-list-body tr td.row-actions .row-inline-action,::ng-deep .fs-list .fs-list-body tr th.row-actions .row-inline-action,::ng-deep .fs-list .fs-list-footer .fs-list-row .fs-list-col.row-actions .row-inline-action,::ng-deep .fs-list .fs-list-footer .fs-list-row td.row-actions .row-inline-action,::ng-deep .fs-list .fs-list-footer .fs-list-row th.row-actions .row-inline-action,::ng-deep .fs-list .fs-list-footer tr .fs-list-col.row-actions .row-inline-action,::ng-deep .fs-list .fs-list-footer tr td.row-actions .row-inline-action,::ng-deep .fs-list .fs-list-footer tr th.row-actions .row-inline-action,::ng-deep .fs-list .fs-list-head .fs-list-row .fs-list-col.row-actions .row-inline-action,::ng-deep .fs-list .fs-list-head .fs-list-row td.row-actions .row-inline-action,::ng-deep .fs-list .fs-list-head .fs-list-row th.row-actions .row-inline-action,::ng-deep .fs-list .fs-list-head tr .fs-list-col.row-actions .row-inline-action,::ng-deep .fs-list .fs-list-head tr td.row-actions .row-inline-action,::ng-deep .fs-list .fs-list-head tr th.row-actions .row-inline-action,::ng-deep .fs-list tbody .fs-list-row .fs-list-col.row-actions .row-inline-action,::ng-deep .fs-list tbody .fs-list-row td.row-actions .row-inline-action,::ng-deep .fs-list tbody .fs-list-row th.row-actions .row-inline-action,::ng-deep .fs-list tbody tr .fs-list-col.row-actions .row-inline-action,::ng-deep .fs-list tbody tr td.row-actions .row-inline-action,::ng-deep .fs-list tbody tr th.row-actions .row-inline-action,::ng-deep .fs-list tfoot .fs-list-row .fs-list-col.row-actions .row-inline-action,::ng-deep .fs-list tfoot .fs-list-row td.row-actions .row-inline-action,::ng-deep .fs-list tfoot .fs-list-row th.row-actions .row-inline-action,::ng-deep .fs-list tfoot tr .fs-list-col.row-actions .row-inline-action,::ng-deep .fs-list tfoot tr td.row-actions .row-inline-action,::ng-deep .fs-list tfoot tr th.row-actions .row-inline-action,::ng-deep .fs-list thead .fs-list-row .fs-list-col.row-actions .row-inline-action,::ng-deep .fs-list thead .fs-list-row td.row-actions .row-inline-action,::ng-deep .fs-list thead .fs-list-row th.row-actions .row-inline-action,::ng-deep .fs-list thead tr .fs-list-col.row-actions .row-inline-action,::ng-deep .fs-list thead tr td.row-actions .row-inline-action,::ng-deep .fs-list thead tr th.row-actions .row-inline-action{margin-left:12px;display:inline-block}::ng-deep .fs-list .fs-list-body .fs-list-row .fs-list-col.row-actions .row-inline-action:first-child,::ng-deep .fs-list .fs-list-body .fs-list-row td.row-actions .row-inline-action:first-child,::ng-deep .fs-list .fs-list-body .fs-list-row th.row-actions .row-inline-action:first-child,::ng-deep .fs-list .fs-list-body tr .fs-list-col.row-actions .row-inline-action:first-child,::ng-deep .fs-list .fs-list-body tr td.row-actions .row-inline-action:first-child,::ng-deep .fs-list .fs-list-body tr th.row-actions .row-inline-action:first-child,::ng-deep .fs-list .fs-list-footer .fs-list-row .fs-list-col.row-actions .row-inline-action:first-child,::ng-deep .fs-list .fs-list-footer .fs-list-row td.row-actions .row-inline-action:first-child,::ng-deep .fs-list .fs-list-footer .fs-list-row th.row-actions .row-inline-action:first-child,::ng-deep .fs-list .fs-list-footer tr .fs-list-col.row-actions .row-inline-action:first-child,::ng-deep .fs-list .fs-list-footer tr td.row-actions .row-inline-action:first-child,::ng-deep .fs-list .fs-list-footer tr th.row-actions .row-inline-action:first-child,::ng-deep .fs-list .fs-list-head .fs-list-row .fs-list-col.row-actions .row-inline-action:first-child,::ng-deep .fs-list .fs-list-head .fs-list-row td.row-actions .row-inline-action:first-child,::ng-deep .fs-list .fs-list-head .fs-list-row th.row-actions .row-inline-action:first-child,::ng-deep .fs-list .fs-list-head tr .fs-list-col.row-actions .row-inline-action:first-child,::ng-deep .fs-list .fs-list-head tr td.row-actions .row-inline-action:first-child,::ng-deep .fs-list .fs-list-head tr th.row-actions .row-inline-action:first-child,::ng-deep .fs-list tbody .fs-list-row .fs-list-col.row-actions .row-inline-action:first-child,::ng-deep .fs-list tbody .fs-list-row td.row-actions .row-inline-action:first-child,::ng-deep .fs-list tbody .fs-list-row th.row-actions .row-inline-action:first-child,::ng-deep .fs-list tbody tr .fs-list-col.row-actions .row-inline-action:first-child,::ng-deep .fs-list tbody tr td.row-actions .row-inline-action:first-child,::ng-deep .fs-list tbody tr th.row-actions .row-inline-action:first-child,::ng-deep .fs-list tfoot .fs-list-row .fs-list-col.row-actions .row-inline-action:first-child,::ng-deep .fs-list tfoot .fs-list-row td.row-actions .row-inline-action:first-child,::ng-deep .fs-list tfoot .fs-list-row th.row-actions .row-inline-action:first-child,::ng-deep .fs-list tfoot tr .fs-list-col.row-actions .row-inline-action:first-child,::ng-deep .fs-list tfoot tr td.row-actions .row-inline-action:first-child,::ng-deep .fs-list tfoot tr th.row-actions .row-inline-action:first-child,::ng-deep .fs-list thead .fs-list-row .fs-list-col.row-actions .row-inline-action:first-child,::ng-deep .fs-list thead .fs-list-row td.row-actions .row-inline-action:first-child,::ng-deep .fs-list thead .fs-list-row th.row-actions .row-inline-action:first-child,::ng-deep .fs-list thead tr .fs-list-col.row-actions .row-inline-action:first-child,::ng-deep .fs-list thead tr td.row-actions .row-inline-action:first-child,::ng-deep .fs-list thead tr th.row-actions .row-inline-action:first-child{margin-left:0}::ng-deep .fs-list .fs-list-body .fs-list-row .fs-list-col.row-actions .row-inline-action-fab,::ng-deep .fs-list .fs-list-body .fs-list-row .fs-list-col.row-actions .row-inline-action-icon,::ng-deep .fs-list .fs-list-body .fs-list-row .fs-list-col.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list .fs-list-body .fs-list-row .fs-list-col.row-actions .row-menu-action,::ng-deep .fs-list .fs-list-body .fs-list-row td.row-actions .row-inline-action-fab,::ng-deep .fs-list .fs-list-body .fs-list-row td.row-actions .row-inline-action-icon,::ng-deep .fs-list .fs-list-body .fs-list-row td.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list .fs-list-body .fs-list-row td.row-actions .row-menu-action,::ng-deep .fs-list .fs-list-body .fs-list-row th.row-actions .row-inline-action-fab,::ng-deep .fs-list .fs-list-body .fs-list-row th.row-actions .row-inline-action-icon,::ng-deep .fs-list .fs-list-body .fs-list-row th.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list .fs-list-body .fs-list-row th.row-actions .row-menu-action,::ng-deep .fs-list .fs-list-body tr .fs-list-col.row-actions .row-inline-action-fab,::ng-deep .fs-list .fs-list-body tr .fs-list-col.row-actions .row-inline-action-icon,::ng-deep .fs-list .fs-list-body tr .fs-list-col.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list .fs-list-body tr .fs-list-col.row-actions .row-menu-action,::ng-deep .fs-list .fs-list-body tr td.row-actions .row-inline-action-fab,::ng-deep .fs-list .fs-list-body tr td.row-actions .row-inline-action-icon,::ng-deep .fs-list .fs-list-body tr td.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list .fs-list-body tr td.row-actions .row-menu-action,::ng-deep .fs-list .fs-list-body tr th.row-actions .row-inline-action-fab,::ng-deep .fs-list .fs-list-body tr th.row-actions .row-inline-action-icon,::ng-deep .fs-list .fs-list-body tr th.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list .fs-list-body tr th.row-actions .row-menu-action,::ng-deep .fs-list .fs-list-footer .fs-list-row .fs-list-col.row-actions .row-inline-action-fab,::ng-deep .fs-list .fs-list-footer .fs-list-row .fs-list-col.row-actions .row-inline-action-icon,::ng-deep .fs-list .fs-list-footer .fs-list-row .fs-list-col.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list .fs-list-footer .fs-list-row .fs-list-col.row-actions .row-menu-action,::ng-deep .fs-list .fs-list-footer .fs-list-row td.row-actions .row-inline-action-fab,::ng-deep .fs-list .fs-list-footer .fs-list-row td.row-actions .row-inline-action-icon,::ng-deep .fs-list .fs-list-footer .fs-list-row td.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list .fs-list-footer .fs-list-row td.row-actions .row-menu-action,::ng-deep .fs-list .fs-list-footer .fs-list-row th.row-actions .row-inline-action-fab,::ng-deep .fs-list .fs-list-footer .fs-list-row th.row-actions .row-inline-action-icon,::ng-deep .fs-list .fs-list-footer .fs-list-row th.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list .fs-list-footer .fs-list-row th.row-actions .row-menu-action,::ng-deep .fs-list .fs-list-footer tr .fs-list-col.row-actions .row-inline-action-fab,::ng-deep .fs-list .fs-list-footer tr .fs-list-col.row-actions .row-inline-action-icon,::ng-deep .fs-list .fs-list-footer tr .fs-list-col.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list .fs-list-footer tr .fs-list-col.row-actions .row-menu-action,::ng-deep .fs-list .fs-list-footer tr td.row-actions .row-inline-action-fab,::ng-deep .fs-list .fs-list-footer tr td.row-actions .row-inline-action-icon,::ng-deep .fs-list .fs-list-footer tr td.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list .fs-list-footer tr td.row-actions .row-menu-action,::ng-deep .fs-list .fs-list-footer tr th.row-actions .row-inline-action-fab,::ng-deep .fs-list .fs-list-footer tr th.row-actions .row-inline-action-icon,::ng-deep .fs-list .fs-list-footer tr th.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list .fs-list-footer tr th.row-actions .row-menu-action,::ng-deep .fs-list .fs-list-head .fs-list-row .fs-list-col.row-actions .row-inline-action-fab,::ng-deep .fs-list .fs-list-head .fs-list-row .fs-list-col.row-actions .row-inline-action-icon,::ng-deep .fs-list .fs-list-head .fs-list-row .fs-list-col.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list .fs-list-head .fs-list-row .fs-list-col.row-actions .row-menu-action,::ng-deep .fs-list .fs-list-head .fs-list-row td.row-actions .row-inline-action-fab,::ng-deep .fs-list .fs-list-head .fs-list-row td.row-actions .row-inline-action-icon,::ng-deep .fs-list .fs-list-head .fs-list-row td.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list .fs-list-head .fs-list-row td.row-actions .row-menu-action,::ng-deep .fs-list .fs-list-head .fs-list-row th.row-actions .row-inline-action-fab,::ng-deep .fs-list .fs-list-head .fs-list-row th.row-actions .row-inline-action-icon,::ng-deep .fs-list .fs-list-head .fs-list-row th.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list .fs-list-head .fs-list-row th.row-actions .row-menu-action,::ng-deep .fs-list .fs-list-head tr .fs-list-col.row-actions .row-inline-action-fab,::ng-deep .fs-list .fs-list-head tr .fs-list-col.row-actions .row-inline-action-icon,::ng-deep .fs-list .fs-list-head tr .fs-list-col.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list .fs-list-head tr .fs-list-col.row-actions .row-menu-action,::ng-deep .fs-list .fs-list-head tr td.row-actions .row-inline-action-fab,::ng-deep .fs-list .fs-list-head tr td.row-actions .row-inline-action-icon,::ng-deep .fs-list .fs-list-head tr td.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list .fs-list-head tr td.row-actions .row-menu-action,::ng-deep .fs-list .fs-list-head tr th.row-actions .row-inline-action-fab,::ng-deep .fs-list .fs-list-head tr th.row-actions .row-inline-action-icon,::ng-deep .fs-list .fs-list-head tr th.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list .fs-list-head tr th.row-actions .row-menu-action,::ng-deep .fs-list tbody .fs-list-row .fs-list-col.row-actions .row-inline-action-fab,::ng-deep .fs-list tbody .fs-list-row .fs-list-col.row-actions .row-inline-action-icon,::ng-deep .fs-list tbody .fs-list-row .fs-list-col.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list tbody .fs-list-row .fs-list-col.row-actions .row-menu-action,::ng-deep .fs-list tbody .fs-list-row td.row-actions .row-inline-action-fab,::ng-deep .fs-list tbody .fs-list-row td.row-actions .row-inline-action-icon,::ng-deep .fs-list tbody .fs-list-row td.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list tbody .fs-list-row td.row-actions .row-menu-action,::ng-deep .fs-list tbody .fs-list-row th.row-actions .row-inline-action-fab,::ng-deep .fs-list tbody .fs-list-row th.row-actions .row-inline-action-icon,::ng-deep .fs-list tbody .fs-list-row th.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list tbody .fs-list-row th.row-actions .row-menu-action,::ng-deep .fs-list tbody tr .fs-list-col.row-actions .row-inline-action-fab,::ng-deep .fs-list tbody tr .fs-list-col.row-actions .row-inline-action-icon,::ng-deep .fs-list tbody tr .fs-list-col.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list tbody tr .fs-list-col.row-actions .row-menu-action,::ng-deep .fs-list tbody tr td.row-actions .row-inline-action-fab,::ng-deep .fs-list tbody tr td.row-actions .row-inline-action-icon,::ng-deep .fs-list tbody tr td.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list tbody tr td.row-actions .row-menu-action,::ng-deep .fs-list tbody tr th.row-actions .row-inline-action-fab,::ng-deep .fs-list tbody tr th.row-actions .row-inline-action-icon,::ng-deep .fs-list tbody tr th.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list tbody tr th.row-actions .row-menu-action,::ng-deep .fs-list tfoot .fs-list-row .fs-list-col.row-actions .row-inline-action-fab,::ng-deep .fs-list tfoot .fs-list-row .fs-list-col.row-actions .row-inline-action-icon,::ng-deep .fs-list tfoot .fs-list-row .fs-list-col.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list tfoot .fs-list-row .fs-list-col.row-actions .row-menu-action,::ng-deep .fs-list tfoot .fs-list-row td.row-actions .row-inline-action-fab,::ng-deep .fs-list tfoot .fs-list-row td.row-actions .row-inline-action-icon,::ng-deep .fs-list tfoot .fs-list-row td.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list tfoot .fs-list-row td.row-actions .row-menu-action,::ng-deep .fs-list tfoot .fs-list-row th.row-actions .row-inline-action-fab,::ng-deep .fs-list tfoot .fs-list-row th.row-actions .row-inline-action-icon,::ng-deep .fs-list tfoot .fs-list-row th.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list tfoot .fs-list-row th.row-actions .row-menu-action,::ng-deep .fs-list tfoot tr .fs-list-col.row-actions .row-inline-action-fab,::ng-deep .fs-list tfoot tr .fs-list-col.row-actions .row-inline-action-icon,::ng-deep .fs-list tfoot tr .fs-list-col.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list tfoot tr .fs-list-col.row-actions .row-menu-action,::ng-deep .fs-list tfoot tr td.row-actions .row-inline-action-fab,::ng-deep .fs-list tfoot tr td.row-actions .row-inline-action-icon,::ng-deep .fs-list tfoot tr td.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list tfoot tr td.row-actions .row-menu-action,::ng-deep .fs-list tfoot tr th.row-actions .row-inline-action-fab,::ng-deep .fs-list tfoot tr th.row-actions .row-inline-action-icon,::ng-deep .fs-list tfoot tr th.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list tfoot tr th.row-actions .row-menu-action,::ng-deep .fs-list thead .fs-list-row .fs-list-col.row-actions .row-inline-action-fab,::ng-deep .fs-list thead .fs-list-row .fs-list-col.row-actions .row-inline-action-icon,::ng-deep .fs-list thead .fs-list-row .fs-list-col.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list thead .fs-list-row .fs-list-col.row-actions .row-menu-action,::ng-deep .fs-list thead .fs-list-row td.row-actions .row-inline-action-fab,::ng-deep .fs-list thead .fs-list-row td.row-actions .row-inline-action-icon,::ng-deep .fs-list thead .fs-list-row td.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list thead .fs-list-row td.row-actions .row-menu-action,::ng-deep .fs-list thead .fs-list-row th.row-actions .row-inline-action-fab,::ng-deep .fs-list thead .fs-list-row th.row-actions .row-inline-action-icon,::ng-deep .fs-list thead .fs-list-row th.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list thead .fs-list-row th.row-actions .row-menu-action,::ng-deep .fs-list thead tr .fs-list-col.row-actions .row-inline-action-fab,::ng-deep .fs-list thead tr .fs-list-col.row-actions .row-inline-action-icon,::ng-deep .fs-list thead tr .fs-list-col.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list thead tr .fs-list-col.row-actions .row-menu-action,::ng-deep .fs-list thead tr td.row-actions .row-inline-action-fab,::ng-deep .fs-list thead tr td.row-actions .row-inline-action-icon,::ng-deep .fs-list thead tr td.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list thead tr td.row-actions .row-menu-action,::ng-deep .fs-list thead tr th.row-actions .row-inline-action-fab,::ng-deep .fs-list thead tr th.row-actions .row-inline-action-icon,::ng-deep .fs-list thead tr th.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list thead tr th.row-actions .row-menu-action{width:35px;justify-content:center;align-items:center}::ng-deep .fs-list .fs-list-body .fs-list-row .fs-list-col.left,::ng-deep .fs-list .fs-list-body .fs-list-row td.left,::ng-deep .fs-list .fs-list-body .fs-list-row th.left,::ng-deep .fs-list .fs-list-body tr .fs-list-col.left,::ng-deep .fs-list .fs-list-body tr td.left,::ng-deep .fs-list .fs-list-body tr th.left,::ng-deep .fs-list .fs-list-footer .fs-list-row .fs-list-col.left,::ng-deep .fs-list .fs-list-footer .fs-list-row td.left,::ng-deep .fs-list .fs-list-footer .fs-list-row th.left,::ng-deep .fs-list .fs-list-footer tr .fs-list-col.left,::ng-deep .fs-list .fs-list-footer tr td.left,::ng-deep .fs-list .fs-list-footer tr th.left,::ng-deep .fs-list .fs-list-head .fs-list-row .fs-list-col.left,::ng-deep .fs-list .fs-list-head .fs-list-row td.left,::ng-deep .fs-list .fs-list-head .fs-list-row th.left,::ng-deep .fs-list .fs-list-head tr .fs-list-col.left,::ng-deep .fs-list .fs-list-head tr td.left,::ng-deep .fs-list .fs-list-head tr th.left,::ng-deep .fs-list tbody .fs-list-row .fs-list-col.left,::ng-deep .fs-list tbody .fs-list-row td.left,::ng-deep .fs-list tbody .fs-list-row th.left,::ng-deep .fs-list tbody tr .fs-list-col.left,::ng-deep .fs-list tbody tr td.left,::ng-deep .fs-list tbody tr th.left,::ng-deep .fs-list tfoot .fs-list-row .fs-list-col.left,::ng-deep .fs-list tfoot .fs-list-row td.left,::ng-deep .fs-list tfoot .fs-list-row th.left,::ng-deep .fs-list tfoot tr .fs-list-col.left,::ng-deep .fs-list tfoot tr td.left,::ng-deep .fs-list tfoot tr th.left,::ng-deep .fs-list thead .fs-list-row .fs-list-col.left,::ng-deep .fs-list thead .fs-list-row td.left,::ng-deep .fs-list thead .fs-list-row th.left,::ng-deep .fs-list thead tr .fs-list-col.left,::ng-deep .fs-list thead tr td.left,::ng-deep .fs-list thead tr th.left{text-align:left}::ng-deep .fs-list .fs-list-body .fs-list-row .fs-list-col.center,::ng-deep .fs-list .fs-list-body .fs-list-row td.center,::ng-deep .fs-list .fs-list-body .fs-list-row th.center,::ng-deep .fs-list .fs-list-body tr .fs-list-col.center,::ng-deep .fs-list .fs-list-body tr td.center,::ng-deep .fs-list .fs-list-body tr th.center,::ng-deep .fs-list .fs-list-footer .fs-list-row .fs-list-col.center,::ng-deep .fs-list .fs-list-footer .fs-list-row td.center,::ng-deep .fs-list .fs-list-footer .fs-list-row th.center,::ng-deep .fs-list .fs-list-footer tr .fs-list-col.center,::ng-deep .fs-list .fs-list-footer tr td.center,::ng-deep .fs-list .fs-list-footer tr th.center,::ng-deep .fs-list .fs-list-head .fs-list-row .fs-list-col.center,::ng-deep .fs-list .fs-list-head .fs-list-row td.center,::ng-deep .fs-list .fs-list-head .fs-list-row th.center,::ng-deep .fs-list .fs-list-head tr .fs-list-col.center,::ng-deep .fs-list .fs-list-head tr td.center,::ng-deep .fs-list .fs-list-head tr th.center,::ng-deep .fs-list tbody .fs-list-row .fs-list-col.center,::ng-deep .fs-list tbody .fs-list-row td.center,::ng-deep .fs-list tbody .fs-list-row th.center,::ng-deep .fs-list tbody tr .fs-list-col.center,::ng-deep .fs-list tbody tr td.center,::ng-deep .fs-list tbody tr th.center,::ng-deep .fs-list tfoot .fs-list-row .fs-list-col.center,::ng-deep .fs-list tfoot .fs-list-row td.center,::ng-deep .fs-list tfoot .fs-list-row th.center,::ng-deep .fs-list tfoot tr .fs-list-col.center,::ng-deep .fs-list tfoot tr td.center,::ng-deep .fs-list tfoot tr th.center,::ng-deep .fs-list thead .fs-list-row .fs-list-col.center,::ng-deep .fs-list thead .fs-list-row td.center,::ng-deep .fs-list thead .fs-list-row th.center,::ng-deep .fs-list thead tr .fs-list-col.center,::ng-deep .fs-list thead tr td.center,::ng-deep .fs-list thead tr th.center{text-align:center}::ng-deep .fs-list .fs-list-body .fs-list-row .fs-list-col.right,::ng-deep .fs-list .fs-list-body .fs-list-row td.right,::ng-deep .fs-list .fs-list-body .fs-list-row th.right,::ng-deep .fs-list .fs-list-body tr .fs-list-col.right,::ng-deep .fs-list .fs-list-body tr td.right,::ng-deep .fs-list .fs-list-body tr th.right,::ng-deep .fs-list .fs-list-footer .fs-list-row .fs-list-col.right,::ng-deep .fs-list .fs-list-footer .fs-list-row td.right,::ng-deep .fs-list .fs-list-footer .fs-list-row th.right,::ng-deep .fs-list .fs-list-footer tr .fs-list-col.right,::ng-deep .fs-list .fs-list-footer tr td.right,::ng-deep .fs-list .fs-list-footer tr th.right,::ng-deep .fs-list .fs-list-head .fs-list-row .fs-list-col.right,::ng-deep .fs-list .fs-list-head .fs-list-row td.right,::ng-deep .fs-list .fs-list-head .fs-list-row th.right,::ng-deep .fs-list .fs-list-head tr .fs-list-col.right,::ng-deep .fs-list .fs-list-head tr td.right,::ng-deep .fs-list .fs-list-head tr th.right,::ng-deep .fs-list tbody .fs-list-row .fs-list-col.right,::ng-deep .fs-list tbody .fs-list-row td.right,::ng-deep .fs-list tbody .fs-list-row th.right,::ng-deep .fs-list tbody tr .fs-list-col.right,::ng-deep .fs-list tbody tr td.right,::ng-deep .fs-list tbody tr th.right,::ng-deep .fs-list tfoot .fs-list-row .fs-list-col.right,::ng-deep .fs-list tfoot .fs-list-row td.right,::ng-deep .fs-list tfoot .fs-list-row th.right,::ng-deep .fs-list tfoot tr .fs-list-col.right,::ng-deep .fs-list tfoot tr td.right,::ng-deep .fs-list tfoot tr th.right,::ng-deep .fs-list thead .fs-list-row .fs-list-col.right,::ng-deep .fs-list thead .fs-list-row td.right,::ng-deep .fs-list thead .fs-list-row th.right,::ng-deep .fs-list thead tr .fs-list-col.right,::ng-deep .fs-list thead tr td.right,::ng-deep .fs-list thead tr th.right{text-align:right}::ng-deep .fs-list .fs-list-body .fs-list-row.draggable,::ng-deep .fs-list .fs-list-body tr.draggable,::ng-deep .fs-list .fs-list-footer .fs-list-row.draggable,::ng-deep .fs-list .fs-list-footer tr.draggable,::ng-deep .fs-list .fs-list-head .fs-list-row.draggable,::ng-deep .fs-list .fs-list-head tr.draggable,::ng-deep .fs-list tbody .fs-list-row.draggable,::ng-deep .fs-list tbody tr.draggable,::ng-deep .fs-list tfoot .fs-list-row.draggable,::ng-deep .fs-list tfoot tr.draggable,::ng-deep .fs-list thead .fs-list-row.draggable,::ng-deep .fs-list thead tr.draggable{position:fixed;z-index:9999;box-shadow:2px 2px 2px 0 rgba(158,158,158,.65);border-radius:5px}::ng-deep .fs-list .fs-list-body .fs-list-row.draggable .fs-list-col,::ng-deep .fs-list .fs-list-body .fs-list-row.draggable td,::ng-deep .fs-list .fs-list-body tr.draggable .fs-list-col,::ng-deep .fs-list .fs-list-body tr.draggable td,::ng-deep .fs-list .fs-list-footer .fs-list-row.draggable .fs-list-col,::ng-deep .fs-list .fs-list-footer .fs-list-row.draggable td,::ng-deep .fs-list .fs-list-footer tr.draggable .fs-list-col,::ng-deep .fs-list .fs-list-footer tr.draggable td,::ng-deep .fs-list .fs-list-head .fs-list-row.draggable .fs-list-col,::ng-deep .fs-list .fs-list-head .fs-list-row.draggable td,::ng-deep .fs-list .fs-list-head tr.draggable .fs-list-col,::ng-deep .fs-list .fs-list-head tr.draggable td,::ng-deep .fs-list tbody .fs-list-row.draggable .fs-list-col,::ng-deep .fs-list tbody .fs-list-row.draggable td,::ng-deep .fs-list tbody tr.draggable .fs-list-col,::ng-deep .fs-list tbody tr.draggable td,::ng-deep .fs-list tfoot .fs-list-row.draggable .fs-list-col,::ng-deep .fs-list tfoot .fs-list-row.draggable td,::ng-deep .fs-list tfoot tr.draggable .fs-list-col,::ng-deep .fs-list tfoot tr.draggable td,::ng-deep .fs-list thead .fs-list-row.draggable .fs-list-col,::ng-deep .fs-list thead .fs-list-row.draggable td,::ng-deep .fs-list thead tr.draggable .fs-list-col,::ng-deep .fs-list thead tr.draggable td{background-color:#f6f6f6;border:none}::ng-deep .fs-list .fs-list-header .heading-container{font-weight:600;font-size:18px;color:#212537;display:flex;flex-direction:column;justify-content:center}::ng-deep .fs-list .fs-list-header .heading{margin:0;line-height:36px}::ng-deep .fs-list .fs-list-header .subheading{display:block;font-size:14px;color:#929292;font-weight:400}::ng-deep .fs-list .fs-list-header .fs-list-actions{white-space:nowrap;float:right}::ng-deep .fs-list .fs-list-header .fs-list-actions .menu-button{width:36px;height:36px;line-height:36px}::ng-deep .fs-list .fs-list-header .action-button{margin-left:5px}::ng-deep .fs-list .fs-list-header .action-button:first-child{margin-left:0}::ng-deep .fs-list .fs-list-header .mat-button{margin-top:0;margin-bottom:0;margin-right:0}::ng-deep .fs-list .fs-list-container{width:100%}::ng-deep .fs-list .fs-list-container:not(.has-filters):not(.has-actions):not(.has-heading) .fs-list-header-container{display:none}::ng-deep .fs-list .fs-list-container.has-dragging thead th{border-bottom:2px solid #ddd}::ng-deep .fs-list .fs-list-container.has-dragging tbody tr:nth-child(2) td{border-top:none}::ng-deep .fs-list tfoot td{padding:8px}::ng-deep .reorder-in-progress{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}::ng-deep .draggable-elem td{opacity:.2}::ng-deep .hidden-mobile-menu-action{display:none!important}::ng-deep .hidden-mobile{display:none!important}@media only screen and (max-width:600px){::ng-deep .fs-list-filter .inline-actions{top:initial!important;position:initial!important}::ng-deep .fs-list-filter .inline-actions .action-filter{margin-bottom:0!important}::ng-deep .fs-list-header .filter-input-field .mat-form-field-wrapper{padding:0!important}::ng-deep .fs-list-header.has-filters{flex-flow:row wrap}}@media only screen and (max-width:768px){::ng-deep .show-mobile{display:inline-block!important}::ng-deep .fs-list-actions .action-button{display:none}::ng-deep .row-inline-action.mobile-hide{display:none}::ng-deep .hidden-mobile-menu-action{display:block!important}}"]
|
|
3927
|
-
}),
|
|
3928
|
-
__param(2, Optional()), __param(2, Inject(FS_LIST_DEFAULT_CONFIG)),
|
|
3929
|
-
__param(3, Optional()),
|
|
3930
|
-
__param(12, Optional()),
|
|
3931
|
-
__param(13, Optional()),
|
|
3932
|
-
__metadata("design:paramtypes", [ReorderController,
|
|
3933
|
-
ElementRef, Object, FsScrollService,
|
|
3934
|
-
SelectionDialog,
|
|
3935
|
-
MatDialog,
|
|
3936
|
-
ChangeDetectorRef,
|
|
3937
|
-
GroupExpandNotifierService,
|
|
3938
|
-
Router,
|
|
3939
|
-
ActivatedRoute,
|
|
3940
|
-
PersistanceController,
|
|
3941
|
-
Location,
|
|
3942
|
-
MatDialogRef,
|
|
3943
|
-
DrawerRef])
|
|
3944
|
-
], FsListComponent);
|
|
3838
|
+
}
|
|
3839
|
+
FsHeadComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsHeadComponent, deps: [{ token: ReorderController }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
3840
|
+
FsHeadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsHeadComponent, selector: "[fs-list-head]", inputs: { sorting: "sorting", columns: "columns", hasRowActions: "hasRowActions", selection: "selection" }, viewQueries: [{ propertyName: "rowsContainer", first: true, predicate: ["rowsContainer"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<tr class=\"fs-list-row\">\n <!-- Drag -->\n <th *ngIf=\"reorderController.leftReorderActivated$ | async\" class=\"fs-list-col drag-col\"></th>\n\n <!-- Selection -->\n <th *ngIf=\"selection\" class=\"fs-list-col fs-list-col-selection\">\n <mat-checkbox (change)=\"selectAll($event)\" [checked]=\"selectedAll\"></mat-checkbox>\n </th>\n\n <!-- Content -->\n <th fs-head-cell *ngFor=\"let column of columns; trackBy: trackByFn\"\n (click)=\"$event.stopPropagation(); sorting.sortBy(column)\"\n [column]=\"column\"\n [class.sorting]=\"column.sortable\"\n [ngClass]=\"column.headerConfigs.classesArray\"\n [attr.colspan]=\"column.headerConfigs.colspan\"\n [attr.width]=\"column.width\"></th>\n\n <!-- Drag -->\n <th *ngIf=\"reorderController.rightReorderActivated$ | async\" class=\"fs-list-col drag-col\"></th>\n\n <!-- Row Actions -->\n <th *ngIf=\"hasRowActions && !(reorderController.manualReorderActivated$ | async)\" class=\"fs-list-col row-actions\"></th>\n</tr>\n", components: [{ type: i2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: FsHeadCellComponent, selector: "[fs-head-cell]" }], directives: [{ type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }], pipes: { "async": i3$1.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3841
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsHeadComponent, decorators: [{
|
|
3842
|
+
type: Component,
|
|
3843
|
+
args: [{
|
|
3844
|
+
selector: '[fs-list-head]',
|
|
3845
|
+
templateUrl: 'head.component.html',
|
|
3846
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
3847
|
+
}]
|
|
3848
|
+
}], ctorParameters: function () { return [{ type: ReorderController }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { sorting: [{
|
|
3849
|
+
type: Input
|
|
3850
|
+
}], columns: [{
|
|
3851
|
+
type: Input
|
|
3852
|
+
}], hasRowActions: [{
|
|
3853
|
+
type: Input
|
|
3854
|
+
}], selection: [{
|
|
3855
|
+
type: Input
|
|
3856
|
+
}], rowsContainer: [{
|
|
3857
|
+
type: ViewChild,
|
|
3858
|
+
args: ['rowsContainer', { read: ViewContainerRef, static: true }]
|
|
3859
|
+
}] } });
|
|
3945
3860
|
|
|
3946
|
-
|
|
3861
|
+
class FsListDraggableListDirective {
|
|
3947
3862
|
constructor(_cdRef, _zone, _containerElement, _reorderController) {
|
|
3948
3863
|
this._cdRef = _cdRef;
|
|
3949
3864
|
this._zone = _zone;
|
|
@@ -4180,64 +4095,200 @@ let FsListDraggableListDirective = class FsListDraggableListDirective {
|
|
|
4180
4095
|
e.preventDefault();
|
|
4181
4096
|
}
|
|
4182
4097
|
}
|
|
4183
|
-
}
|
|
4184
|
-
FsListDraggableListDirective
|
|
4185
|
-
|
|
4186
|
-
|
|
4187
|
-
|
|
4188
|
-
|
|
4189
|
-
]
|
|
4190
|
-
|
|
4191
|
-
|
|
4192
|
-
|
|
4193
|
-
]
|
|
4194
|
-
|
|
4195
|
-
Directive({
|
|
4196
|
-
selector: '[fsListDraggableList]',
|
|
4197
|
-
}),
|
|
4198
|
-
__metadata("design:paramtypes", [ChangeDetectorRef,
|
|
4199
|
-
NgZone,
|
|
4200
|
-
ElementRef,
|
|
4201
|
-
ReorderController])
|
|
4202
|
-
], FsListDraggableListDirective);
|
|
4098
|
+
}
|
|
4099
|
+
FsListDraggableListDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListDraggableListDirective, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i0.ElementRef }, { token: ReorderController }], target: i0.ɵɵFactoryTarget.Directive });
|
|
4100
|
+
FsListDraggableListDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: FsListDraggableListDirective, selector: "[fsListDraggableList]", inputs: { _rows: ["rows", "_rows"] }, ngImport: i0 });
|
|
4101
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListDraggableListDirective, decorators: [{
|
|
4102
|
+
type: Directive,
|
|
4103
|
+
args: [{
|
|
4104
|
+
selector: '[fsListDraggableList]',
|
|
4105
|
+
}]
|
|
4106
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i0.ElementRef }, { type: ReorderController }]; }, propDecorators: { _rows: [{
|
|
4107
|
+
type: Input,
|
|
4108
|
+
args: ['rows']
|
|
4109
|
+
}] } });
|
|
4203
4110
|
|
|
4204
|
-
|
|
4205
|
-
constructor(
|
|
4206
|
-
this.
|
|
4207
|
-
this.
|
|
4208
|
-
this.
|
|
4209
|
-
|
|
4210
|
-
|
|
4211
|
-
this.
|
|
4212
|
-
|
|
4213
|
-
|
|
4214
|
-
this.
|
|
4215
|
-
|
|
4216
|
-
|
|
4111
|
+
class FsRowInlineActionComponent {
|
|
4112
|
+
constructor(_fsPrompt) {
|
|
4113
|
+
this._fsPrompt = _fsPrompt;
|
|
4114
|
+
this.clicked = new EventEmitter();
|
|
4115
|
+
this.fileSelect = new EventEmitter();
|
|
4116
|
+
}
|
|
4117
|
+
actionClick(event) {
|
|
4118
|
+
this.clicked.emit(event);
|
|
4119
|
+
}
|
|
4120
|
+
fileSelected(event) {
|
|
4121
|
+
this.fileSelect.emit(event);
|
|
4122
|
+
}
|
|
4123
|
+
}
|
|
4124
|
+
FsRowInlineActionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsRowInlineActionComponent, deps: [{ token: i1$1.FsPrompt }], target: i0.ɵɵFactoryTarget.Component });
|
|
4125
|
+
FsRowInlineActionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsRowInlineActionComponent, selector: "fs-list-row-inline-action", inputs: { action: "action" }, outputs: { clicked: "clicked", fileSelect: "fileSelect" }, ngImport: i0, 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", components: [{ type: i2$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i2$1.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-icon-button], a[mat-fab], a[mat-mini-fab], a[mat-stroked-button], a[mat-flat-button]", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matButton", "matAnchor"] }, { type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i4$1.FsFileComponent, selector: "fs-file", inputs: ["minHeight", "minWidth", "multiple", "capture", "allowClick", "allowDrop", "accept", "disabled", "imageWidth", "imageHeight", "imageQuality"], outputs: ["select", "error", "clicked", "declined"] }], directives: [{ type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i3$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i3$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { type: i3$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i6$1.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
4126
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsRowInlineActionComponent, decorators: [{
|
|
4127
|
+
type: Component,
|
|
4128
|
+
args: [{
|
|
4129
|
+
selector: 'fs-list-row-inline-action',
|
|
4130
|
+
templateUrl: './inline-action.component.html',
|
|
4131
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
4132
|
+
}]
|
|
4133
|
+
}], ctorParameters: function () { return [{ type: i1$1.FsPrompt }]; }, propDecorators: { action: [{
|
|
4134
|
+
type: Input
|
|
4135
|
+
}], clicked: [{
|
|
4136
|
+
type: Output
|
|
4137
|
+
}], fileSelect: [{
|
|
4138
|
+
type: Output
|
|
4139
|
+
}] } });
|
|
4140
|
+
|
|
4141
|
+
class FsRowMenuActionComponent {
|
|
4142
|
+
constructor() {
|
|
4143
|
+
this.fileSelect = new EventEmitter();
|
|
4144
|
+
this.fileError = new EventEmitter();
|
|
4145
|
+
}
|
|
4146
|
+
}
|
|
4147
|
+
FsRowMenuActionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsRowMenuActionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4148
|
+
FsRowMenuActionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsRowMenuActionComponent, selector: "fs-list-row-menu-action", inputs: { icon: "icon", label: "label", file: "file" }, outputs: { fileSelect: "fileSelect", fileError: "fileError" }, ngImport: i0, 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", components: [{ type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i4$1.FsFileComponent, selector: "fs-file", inputs: ["minHeight", "minWidth", "multiple", "capture", "allowClick", "allowDrop", "accept", "disabled", "imageWidth", "imageHeight", "imageQuality"], outputs: ["select", "error", "clicked", "declined"] }], directives: [{ type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
4149
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsRowMenuActionComponent, decorators: [{
|
|
4150
|
+
type: Component,
|
|
4151
|
+
args: [{
|
|
4152
|
+
selector: 'fs-list-row-menu-action',
|
|
4153
|
+
templateUrl: './menu-action.component.html',
|
|
4154
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
4155
|
+
}]
|
|
4156
|
+
}], propDecorators: { icon: [{
|
|
4157
|
+
type: Input
|
|
4158
|
+
}], label: [{
|
|
4159
|
+
type: Input
|
|
4160
|
+
}], file: [{
|
|
4161
|
+
type: Input
|
|
4162
|
+
}], fileSelect: [{
|
|
4163
|
+
type: Output
|
|
4164
|
+
}], fileError: [{
|
|
4165
|
+
type: Output
|
|
4166
|
+
}] } });
|
|
4167
|
+
|
|
4168
|
+
class FsRowActionsComponent {
|
|
4169
|
+
constructor(_fsPrompt) {
|
|
4170
|
+
this._fsPrompt = _fsPrompt;
|
|
4217
4171
|
this.restoreMode = false;
|
|
4218
|
-
this.ReorderPosition = ReorderPosition;
|
|
4219
|
-
this.ReorderStrategy = ReorderStrategy;
|
|
4220
4172
|
this.rowActions = [];
|
|
4221
4173
|
this.menuRowActions = [];
|
|
4222
4174
|
this.inlineRowActions = [];
|
|
4223
|
-
this.selected = false;
|
|
4224
|
-
this.indeterminateSelected = false;
|
|
4225
|
-
this._eventListeners = [];
|
|
4226
4175
|
this._destroy$ = new Subject();
|
|
4227
|
-
this._rowDiffer = _differs.find({}).create();
|
|
4228
4176
|
}
|
|
4229
|
-
|
|
4230
|
-
|
|
4231
|
-
|
|
4232
|
-
|
|
4233
|
-
|
|
4234
|
-
|
|
4235
|
-
|
|
4236
|
-
|
|
4237
|
-
|
|
4238
|
-
|
|
4239
|
-
|
|
4240
|
-
|
|
4177
|
+
actionClick(action, row, event, menuRef) {
|
|
4178
|
+
if (action.remove) {
|
|
4179
|
+
if (typeof action.remove === 'boolean') {
|
|
4180
|
+
this.removeAction(action, row.data, event, this.index);
|
|
4181
|
+
}
|
|
4182
|
+
else {
|
|
4183
|
+
this._fsPrompt.confirm({
|
|
4184
|
+
title: action.remove.title,
|
|
4185
|
+
template: action.remove.template,
|
|
4186
|
+
}).pipe(take(1), takeUntil(this._destroy$)).subscribe({
|
|
4187
|
+
next: () => {
|
|
4188
|
+
this.removeAction(action, row.data, event, this.index);
|
|
4189
|
+
},
|
|
4190
|
+
error: () => { },
|
|
4191
|
+
});
|
|
4192
|
+
}
|
|
4193
|
+
}
|
|
4194
|
+
else {
|
|
4195
|
+
action.click(row.data, event, this.index, menuRef);
|
|
4196
|
+
}
|
|
4197
|
+
}
|
|
4198
|
+
/**
|
|
4199
|
+
* Track By for improve change detection
|
|
4200
|
+
* @param index
|
|
4201
|
+
*/
|
|
4202
|
+
trackByFn(index) {
|
|
4203
|
+
return index;
|
|
4204
|
+
}
|
|
4205
|
+
clickOnTrigger(event) {
|
|
4206
|
+
event.stopPropagation();
|
|
4207
|
+
this.rowActions
|
|
4208
|
+
.forEach((action) => action.updateLabel(this.row.data));
|
|
4209
|
+
}
|
|
4210
|
+
/**
|
|
4211
|
+
* Emit that some row must be removed
|
|
4212
|
+
* @param action
|
|
4213
|
+
* @param row
|
|
4214
|
+
* @param event
|
|
4215
|
+
* @param index
|
|
4216
|
+
*/
|
|
4217
|
+
removeAction(action, row, event, index) {
|
|
4218
|
+
const removeObservable = action.click(row, event, index);
|
|
4219
|
+
if (removeObservable && removeObservable instanceof Observable) {
|
|
4220
|
+
removeObservable
|
|
4221
|
+
.pipe(take(1), takeUntil(this._destroy$))
|
|
4222
|
+
.subscribe(() => {
|
|
4223
|
+
this.rowRemoved.emit(row);
|
|
4224
|
+
});
|
|
4225
|
+
}
|
|
4226
|
+
}
|
|
4227
|
+
}
|
|
4228
|
+
FsRowActionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsRowActionsComponent, deps: [{ token: i1$1.FsPrompt }], target: i0.ɵɵFactoryTarget.Component });
|
|
4229
|
+
FsRowActionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsRowActionsComponent, selector: "fs-list-row-actions", inputs: { row: "row", index: "index", restoreMode: "restoreMode", rowActions: "rowActions", rowRemoved: "rowRemoved", menuRowActions: "menuRowActions", inlineRowActions: "inlineRowActions", restoreAction: "restoreAction" }, ngImport: i0, 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", components: [{ type: FsRowInlineActionComponent, selector: "fs-list-row-inline-action", inputs: ["action"], outputs: ["clicked", "fileSelect"] }, { type: i2$3.FsMenuComponent, selector: "fs-menu", inputs: ["class", "buttonClass"], outputs: ["opened", "closed"] }, { type: FsRowMenuActionComponent, selector: "fs-list-row-menu-action", inputs: ["icon", "label", "file"], outputs: ["fileSelect", "fileError"] }, { type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { type: i2$3.FsMenuItemDirective, selector: "fs-menu-group,[fs-menu-item]", inputs: ["fsClass", "class", "id", "label", "hidden", "groupHidden", "dismissAfterClick", "link", "target", "queryParams"], outputs: ["click"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
4230
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsRowActionsComponent, decorators: [{
|
|
4231
|
+
type: Component,
|
|
4232
|
+
args: [{
|
|
4233
|
+
selector: 'fs-list-row-actions',
|
|
4234
|
+
templateUrl: './actions.component.html',
|
|
4235
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
4236
|
+
}]
|
|
4237
|
+
}], ctorParameters: function () { return [{ type: i1$1.FsPrompt }]; }, propDecorators: { row: [{
|
|
4238
|
+
type: Input
|
|
4239
|
+
}], index: [{
|
|
4240
|
+
type: Input
|
|
4241
|
+
}], restoreMode: [{
|
|
4242
|
+
type: Input
|
|
4243
|
+
}], rowActions: [{
|
|
4244
|
+
type: Input
|
|
4245
|
+
}], rowRemoved: [{
|
|
4246
|
+
type: Input
|
|
4247
|
+
}], menuRowActions: [{
|
|
4248
|
+
type: Input
|
|
4249
|
+
}], inlineRowActions: [{
|
|
4250
|
+
type: Input
|
|
4251
|
+
}], restoreAction: [{
|
|
4252
|
+
type: Input
|
|
4253
|
+
}] } });
|
|
4254
|
+
|
|
4255
|
+
class FsRowComponent {
|
|
4256
|
+
constructor(el, reorderController, _cdRef, _differs, _renderer, _draggableList) {
|
|
4257
|
+
this.el = el;
|
|
4258
|
+
this.reorderController = reorderController;
|
|
4259
|
+
this._cdRef = _cdRef;
|
|
4260
|
+
this._differs = _differs;
|
|
4261
|
+
this._renderer = _renderer;
|
|
4262
|
+
this._draggableList = _draggableList;
|
|
4263
|
+
this.role = 'row';
|
|
4264
|
+
this.rowActionsRaw = [];
|
|
4265
|
+
this.groupActionsRaw = [];
|
|
4266
|
+
this.hasRowActions = false;
|
|
4267
|
+
this.rowEvents = {};
|
|
4268
|
+
this.restoreMode = false;
|
|
4269
|
+
this.ReorderPosition = ReorderPosition;
|
|
4270
|
+
this.ReorderStrategy = ReorderStrategy;
|
|
4271
|
+
this.rowActions = [];
|
|
4272
|
+
this.menuRowActions = [];
|
|
4273
|
+
this.inlineRowActions = [];
|
|
4274
|
+
this.selected = false;
|
|
4275
|
+
this.indeterminateSelected = false;
|
|
4276
|
+
this._eventListeners = [];
|
|
4277
|
+
this._destroy$ = new Subject();
|
|
4278
|
+
this._rowDiffer = _differs.find({}).create();
|
|
4279
|
+
}
|
|
4280
|
+
get rowCssClass() {
|
|
4281
|
+
let cls = 'fs-list-row';
|
|
4282
|
+
if (this.rowIndex % 2 !== 0)
|
|
4283
|
+
cls += ' fs-list-row-odd';
|
|
4284
|
+
if (this.rowIndex % 2 === 0)
|
|
4285
|
+
cls += ' fs-list-row-even';
|
|
4286
|
+
if (this.row && this.row.isGroup)
|
|
4287
|
+
cls += ' fs-list-row-group';
|
|
4288
|
+
if (this.rowClass) {
|
|
4289
|
+
const resultClass = this.rowClass(this.row.data);
|
|
4290
|
+
if (typeof resultClass === 'string') {
|
|
4291
|
+
cls += ` ${resultClass}`;
|
|
4241
4292
|
}
|
|
4242
4293
|
else if (typeof resultClass === 'object') {
|
|
4243
4294
|
const keys = Object.keys(resultClass);
|
|
@@ -4378,87 +4429,114 @@ let FsRowComponent = class FsRowComponent {
|
|
|
4378
4429
|
}
|
|
4379
4430
|
});
|
|
4380
4431
|
}
|
|
4381
|
-
}
|
|
4382
|
-
FsRowComponent
|
|
4383
|
-
{ type:
|
|
4384
|
-
|
|
4385
|
-
|
|
4386
|
-
|
|
4387
|
-
|
|
4388
|
-
|
|
4389
|
-
|
|
4390
|
-
|
|
4391
|
-
|
|
4392
|
-
|
|
4393
|
-
|
|
4394
|
-
|
|
4395
|
-
|
|
4396
|
-
|
|
4397
|
-
|
|
4398
|
-
|
|
4399
|
-
|
|
4400
|
-
|
|
4401
|
-
|
|
4402
|
-
|
|
4403
|
-
|
|
4404
|
-
|
|
4405
|
-
|
|
4406
|
-
|
|
4407
|
-
|
|
4408
|
-
|
|
4409
|
-
|
|
4410
|
-
|
|
4411
|
-
|
|
4412
|
-
|
|
4413
|
-
|
|
4414
|
-
|
|
4415
|
-
|
|
4416
|
-
|
|
4417
|
-
|
|
4418
|
-
|
|
4419
|
-
|
|
4420
|
-
|
|
4421
|
-
]
|
|
4422
|
-
|
|
4423
|
-
|
|
4424
|
-
|
|
4425
|
-
|
|
4426
|
-
|
|
4427
|
-
|
|
4428
|
-
|
|
4429
|
-
|
|
4430
|
-
|
|
4431
|
-
|
|
4432
|
-
|
|
4433
|
-
|
|
4434
|
-
|
|
4435
|
-
|
|
4436
|
-
|
|
4437
|
-
|
|
4438
|
-
|
|
4439
|
-
|
|
4440
|
-
|
|
4441
|
-
|
|
4442
|
-
|
|
4443
|
-
|
|
4444
|
-
|
|
4445
|
-
|
|
4446
|
-
|
|
4447
|
-
|
|
4448
|
-
|
|
4449
|
-
|
|
4450
|
-
|
|
4451
|
-
|
|
4452
|
-
|
|
4453
|
-
|
|
4454
|
-
|
|
4455
|
-
|
|
4456
|
-
|
|
4457
|
-
|
|
4458
|
-
|
|
4459
|
-
|
|
4432
|
+
}
|
|
4433
|
+
FsRowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsRowComponent, deps: [{ token: i0.ElementRef }, { token: ReorderController }, { token: i0.ChangeDetectorRef }, { token: i0.KeyValueDiffers }, { token: i0.Renderer2 }, { token: FsListDraggableListDirective }], target: i0.ɵɵFactoryTarget.Component });
|
|
4434
|
+
FsRowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsRowComponent, selector: "[fs-list-row]", inputs: { row: "row", rowActionsRaw: "rowActionsRaw", groupActionsRaw: "groupActionsRaw", hasRowActions: "hasRowActions", rowEvents: "rowEvents", rowClass: "rowClass", restoreMode: "restoreMode", rowIndex: "rowIndex", columns: "columns", selection: "selection", rowRemoved: "rowRemoved" }, host: { properties: { "attr.role": "this.role", "class": "this.rowCssClass" } }, viewQueries: [{ propertyName: "cellRefs", predicate: ["td"], descendants: true }], ngImport: i0, template: "<!-- Drag -->\n<ng-container *ngIf=\"reorderController.leftReorderActivated$ | async\">\n <ng-container *ngTemplateOutlet=\"dragCell\"></ng-container>\n</ng-container>\n\n<!-- Selection -->\n<ng-container *ngIf=\"selection\">\n <td class=\"fs-list-col fs-list-col-selection\">\n <mat-checkbox (change)=\"selectRow($event)\"\n [checked]=\"selected\"\n [indeterminate]=\"indeterminateSelected\">\n </mat-checkbox>\n </td>\n</ng-container>\n\n<!-- Content -->\n<ng-container *ngFor=\"let column of columns; trackBy: trackByFn; let isFirst = first\">\n <td fs-cell\n *ngIf=\"(row.isGroup && !column.groupCellColspanned) || (!row.isGroup && !column.cellColspanned)\"\n [column]=\"column\"\n [row]=\"row\"\n [rowIndex]=\"rowIndex\"\n [class]=\"column.cellConfigs.classesString\"\n [ngClass]=\"{ 'primary-col': isFirst }\"\n [attr.colspan]=\"(row.isGroup && column.groupCellConfigs.colspan) || column.cellConfigs.colspan\"\n [attr.width]=\"column.width\"\n >\n </td>\n</ng-container>\n\n<!-- Drag -->\n<ng-container *ngIf=\"reorderController.rightReorderActivated$ | async\">\n <ng-container *ngTemplateOutlet=\"dragCell\"></ng-container>\n</ng-container>\n\n<!-- Row Actions -->\n<td *ngIf=\"hasRowActions && !(reorderController.manualReorderActivated$ | async)\" class=\"fs-list-col row-actions\">\n <fs-list-row-actions [row]=\"row\"\n [index]=\"rowIndex\"\n [rowActions]=\"rowActions\"\n [menuRowActions]=\"menuRowActions\"\n [inlineRowActions]=\"inlineRowActions\"\n [restoreAction]=\"restoreAction\"\n [restoreMode]=\"restoreMode\"\n [rowRemoved]=\"rowRemoved\"\n ></fs-list-row-actions>\n</td>\n\n<ng-template #dragCell>\n <ng-container *ngIf=\"dragCellVisible; else emptyCell\">\n <td class=\"fs-list-col drag-col\"\n (mousedown)=\"dragStart($event)\"\n (touchstart)=\"dragStart($event)\"\n >\n <mat-icon>drag_handle</mat-icon>\n </td>\n </ng-container>\n <ng-template #emptyCell>\n <td class=\"fs-list-col drag-col\"></td>\n </ng-template>\n</ng-template>\n", components: [{ type: i2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: FsCellComponent, selector: "[fs-cell]", inputs: ["column", "row", "rowIndex"] }, { type: FsRowActionsComponent, selector: "fs-list-row-actions", inputs: ["row", "index", "restoreMode", "rowActions", "rowRemoved", "menuRowActions", "inlineRowActions", "restoreAction"] }, { type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }], pipes: { "async": i3$1.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
4435
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsRowComponent, decorators: [{
|
|
4436
|
+
type: Component,
|
|
4437
|
+
args: [{
|
|
4438
|
+
selector: '[fs-list-row]',
|
|
4439
|
+
templateUrl: 'row.component.html',
|
|
4440
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
4441
|
+
}]
|
|
4442
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: ReorderController }, { type: i0.ChangeDetectorRef }, { type: i0.KeyValueDiffers }, { type: i0.Renderer2 }, { type: FsListDraggableListDirective }]; }, propDecorators: { role: [{
|
|
4443
|
+
type: HostBinding,
|
|
4444
|
+
args: ['attr.role']
|
|
4445
|
+
}], row: [{
|
|
4446
|
+
type: Input
|
|
4447
|
+
}], rowActionsRaw: [{
|
|
4448
|
+
type: Input
|
|
4449
|
+
}], groupActionsRaw: [{
|
|
4450
|
+
type: Input
|
|
4451
|
+
}], hasRowActions: [{
|
|
4452
|
+
type: Input
|
|
4453
|
+
}], rowEvents: [{
|
|
4454
|
+
type: Input
|
|
4455
|
+
}], rowClass: [{
|
|
4456
|
+
type: Input
|
|
4457
|
+
}], restoreMode: [{
|
|
4458
|
+
type: Input
|
|
4459
|
+
}], rowIndex: [{
|
|
4460
|
+
type: Input
|
|
4461
|
+
}], columns: [{
|
|
4462
|
+
type: Input
|
|
4463
|
+
}], selection: [{
|
|
4464
|
+
type: Input
|
|
4465
|
+
}], rowRemoved: [{
|
|
4466
|
+
type: Input
|
|
4467
|
+
}], cellRefs: [{
|
|
4468
|
+
type: ViewChildren,
|
|
4469
|
+
args: ['td']
|
|
4470
|
+
}], rowCssClass: [{
|
|
4471
|
+
type: HostBinding,
|
|
4472
|
+
args: ['class']
|
|
4473
|
+
}] } });
|
|
4474
|
+
|
|
4475
|
+
class FsListDraggableRowDirective {
|
|
4476
|
+
constructor(_el, _renderer, _reorderController, _draggableList) {
|
|
4477
|
+
this._el = _el;
|
|
4478
|
+
this._renderer = _renderer;
|
|
4479
|
+
this._reorderController = _reorderController;
|
|
4480
|
+
this._draggableList = _draggableList;
|
|
4481
|
+
this._destroy$ = new Subject();
|
|
4482
|
+
}
|
|
4483
|
+
ngOnInit() {
|
|
4484
|
+
if (this._reorderController.moveDropCallback) {
|
|
4485
|
+
this._listenDragEvents();
|
|
4486
|
+
}
|
|
4487
|
+
}
|
|
4488
|
+
ngOnDestroy() {
|
|
4489
|
+
this._destroy$.next();
|
|
4490
|
+
this._destroy$.complete();
|
|
4491
|
+
}
|
|
4492
|
+
_listenDragEvents() {
|
|
4493
|
+
this._draggableList
|
|
4494
|
+
.dragStart$
|
|
4495
|
+
.pipe(takeUntil(this._destroy$))
|
|
4496
|
+
.subscribe(() => {
|
|
4497
|
+
this._markReadyToSwapRows();
|
|
4498
|
+
});
|
|
4499
|
+
this._draggableList
|
|
4500
|
+
.dragEnd$
|
|
4501
|
+
.pipe(takeUntil(this._destroy$))
|
|
4502
|
+
.subscribe(() => {
|
|
4503
|
+
this._unmarkRows();
|
|
4504
|
+
});
|
|
4505
|
+
}
|
|
4506
|
+
_markReadyToSwapRows() {
|
|
4507
|
+
var _a, _b;
|
|
4508
|
+
const currentEl = this.row;
|
|
4509
|
+
const targetEl = this._draggableList.draggableItem;
|
|
4510
|
+
const currentElGroup = (currentEl.isChild && currentEl.parent) || currentEl;
|
|
4511
|
+
const targetElGroup = (targetEl.isChild && targetEl.parent) || targetEl;
|
|
4512
|
+
this.row.readyToSwap = this._reorderController.moveDropCallback({
|
|
4513
|
+
row1: currentEl === null || currentEl === void 0 ? void 0 : currentEl.data,
|
|
4514
|
+
row2: targetEl === null || targetEl === void 0 ? void 0 : targetEl.data,
|
|
4515
|
+
group1: (_a = currentEl === null || currentEl === void 0 ? void 0 : currentEl.parent) === null || _a === void 0 ? void 0 : _a.data,
|
|
4516
|
+
group2: (_b = targetEl === null || targetEl === void 0 ? void 0 : targetEl.parent) === null || _b === void 0 ? void 0 : _b.data
|
|
4517
|
+
});
|
|
4518
|
+
if (!this.row.readyToSwap) {
|
|
4519
|
+
this._renderer.addClass(this._el.nativeElement, 'fs-list-swap-restricted');
|
|
4520
|
+
}
|
|
4521
|
+
}
|
|
4522
|
+
_unmarkRows() {
|
|
4523
|
+
if (!this.row.readyToSwap) {
|
|
4524
|
+
this._renderer.removeClass(this._el.nativeElement, 'fs-list-swap-restricted');
|
|
4525
|
+
}
|
|
4526
|
+
}
|
|
4527
|
+
}
|
|
4528
|
+
FsListDraggableRowDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListDraggableRowDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: ReorderController }, { token: FsListDraggableListDirective }], target: i0.ɵɵFactoryTarget.Directive });
|
|
4529
|
+
FsListDraggableRowDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: FsListDraggableRowDirective, selector: "[fsListDraggableRow]", inputs: { row: "row" }, ngImport: i0 });
|
|
4530
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListDraggableRowDirective, decorators: [{
|
|
4531
|
+
type: Directive,
|
|
4532
|
+
args: [{
|
|
4533
|
+
selector: '[fsListDraggableRow]',
|
|
4534
|
+
}]
|
|
4535
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: ReorderController }, { type: FsListDraggableListDirective }]; }, propDecorators: { row: [{
|
|
4536
|
+
type: Input
|
|
4537
|
+
}] } });
|
|
4460
4538
|
|
|
4461
|
-
|
|
4539
|
+
class FsBodyComponent {
|
|
4462
4540
|
constructor(reorderContoller, el, cdRef, differs) {
|
|
4463
4541
|
this.reorderContoller = reorderContoller;
|
|
4464
4542
|
this.el = el;
|
|
@@ -4483,680 +4561,502 @@ let FsBodyComponent = class FsBodyComponent {
|
|
|
4483
4561
|
this._destroy$.next();
|
|
4484
4562
|
this._destroy$.complete();
|
|
4485
4563
|
}
|
|
4486
|
-
}
|
|
4487
|
-
FsBodyComponent
|
|
4488
|
-
|
|
4489
|
-
|
|
4490
|
-
|
|
4491
|
-
|
|
4492
|
-
]
|
|
4493
|
-
|
|
4494
|
-
|
|
4495
|
-
|
|
4496
|
-
],
|
|
4497
|
-
|
|
4498
|
-
|
|
4499
|
-
|
|
4500
|
-
],
|
|
4501
|
-
|
|
4502
|
-
|
|
4503
|
-
|
|
4504
|
-
],
|
|
4505
|
-
|
|
4506
|
-
|
|
4507
|
-
|
|
4508
|
-
],
|
|
4509
|
-
|
|
4510
|
-
|
|
4511
|
-
|
|
4512
|
-
],
|
|
4513
|
-
|
|
4514
|
-
|
|
4515
|
-
|
|
4516
|
-
],
|
|
4517
|
-
|
|
4518
|
-
|
|
4519
|
-
|
|
4520
|
-
|
|
4521
|
-
|
|
4522
|
-
|
|
4523
|
-
|
|
4524
|
-
]
|
|
4525
|
-
__decorate([
|
|
4526
|
-
Input(),
|
|
4527
|
-
__metadata("design:type", SelectionController)
|
|
4528
|
-
], FsBodyComponent.prototype, "selection", void 0);
|
|
4529
|
-
__decorate([
|
|
4530
|
-
Input(),
|
|
4531
|
-
__metadata("design:type", Object)
|
|
4532
|
-
], FsBodyComponent.prototype, "restoreMode", void 0);
|
|
4533
|
-
__decorate([
|
|
4534
|
-
Input(),
|
|
4535
|
-
__metadata("design:type", EventEmitter)
|
|
4536
|
-
], FsBodyComponent.prototype, "rowRemoved", void 0);
|
|
4537
|
-
__decorate([
|
|
4538
|
-
ViewChild('rowsContainer', { read: ViewContainerRef, static: true }),
|
|
4539
|
-
__metadata("design:type", Object)
|
|
4540
|
-
], FsBodyComponent.prototype, "rowsContainer", void 0);
|
|
4541
|
-
__decorate([
|
|
4542
|
-
ContentChild(FsRowComponent, { read: TemplateRef, static: true }),
|
|
4543
|
-
__metadata("design:type", TemplateRef)
|
|
4544
|
-
], FsBodyComponent.prototype, "headerTemplate", void 0);
|
|
4545
|
-
FsBodyComponent = __decorate([
|
|
4546
|
-
Component({
|
|
4547
|
-
selector: '[fs-list-body]',
|
|
4548
|
-
template: "<ng-container *ngFor=\"let row of rows; let i = index;\">\n <tr fs-list-row\n fsListDraggableRow\n [row]=\"row\"\n [rowIndex]=\"i\"\n [columns]=\"columns\"\n [rowActionsRaw]=\"rowActionsRaw\"\n [groupActionsRaw]=\"groupActionsRaw\"\n [hasRowActions]=\"hasRowActions\"\n [rowEvents]=\"rowEvents\"\n [rowClass]=\"rowClass\"\n [selection]=\"selection\"\n [restoreMode]=\"restoreMode\"\n [ngClass]=\"{ 'drag-row': reorderContoller.enabled }\"\n [rowRemoved]=\"rowRemoved\"\n #activeRow>\n </tr>\n</ng-container>\n",
|
|
4549
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
4550
|
-
}),
|
|
4551
|
-
__metadata("design:paramtypes", [ReorderController,
|
|
4552
|
-
ElementRef,
|
|
4553
|
-
ChangeDetectorRef,
|
|
4554
|
-
IterableDiffers])
|
|
4555
|
-
], FsBodyComponent);
|
|
4564
|
+
}
|
|
4565
|
+
FsBodyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsBodyComponent, deps: [{ token: ReorderController }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Component });
|
|
4566
|
+
FsBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsBodyComponent, selector: "[fs-list-body]", inputs: { rows: "rows", columns: "columns", hasFooter: "hasFooter", rowActionsRaw: "rowActionsRaw", groupActionsRaw: "groupActionsRaw", rowEvents: "rowEvents", rowClass: "rowClass", hasRowActions: "hasRowActions", selection: "selection", restoreMode: "restoreMode", rowRemoved: "rowRemoved" }, queries: [{ propertyName: "headerTemplate", first: true, predicate: FsRowComponent, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "rowsContainer", first: true, predicate: ["rowsContainer"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<ng-container *ngFor=\"let row of rows; let i = index;\">\n <tr fs-list-row\n fsListDraggableRow\n [row]=\"row\"\n [rowIndex]=\"i\"\n [columns]=\"columns\"\n [rowActionsRaw]=\"rowActionsRaw\"\n [groupActionsRaw]=\"groupActionsRaw\"\n [hasRowActions]=\"hasRowActions\"\n [rowEvents]=\"rowEvents\"\n [rowClass]=\"rowClass\"\n [selection]=\"selection\"\n [restoreMode]=\"restoreMode\"\n [ngClass]=\"{ 'drag-row': reorderContoller.enabled }\"\n [rowRemoved]=\"rowRemoved\"\n #activeRow>\n </tr>\n</ng-container>\n", components: [{ type: FsRowComponent, selector: "[fs-list-row]", inputs: ["row", "rowActionsRaw", "groupActionsRaw", "hasRowActions", "rowEvents", "rowClass", "restoreMode", "rowIndex", "columns", "selection", "rowRemoved"] }], directives: [{ type: i3$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: FsListDraggableRowDirective, selector: "[fsListDraggableRow]", inputs: ["row"] }, { type: i3$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
4567
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsBodyComponent, decorators: [{
|
|
4568
|
+
type: Component,
|
|
4569
|
+
args: [{
|
|
4570
|
+
selector: '[fs-list-body]',
|
|
4571
|
+
templateUrl: 'body.component.html',
|
|
4572
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
4573
|
+
}]
|
|
4574
|
+
}], ctorParameters: function () { return [{ type: ReorderController }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.IterableDiffers }]; }, propDecorators: { rows: [{
|
|
4575
|
+
type: Input
|
|
4576
|
+
}], columns: [{
|
|
4577
|
+
type: Input
|
|
4578
|
+
}], hasFooter: [{
|
|
4579
|
+
type: Input
|
|
4580
|
+
}], rowActionsRaw: [{
|
|
4581
|
+
type: Input
|
|
4582
|
+
}], groupActionsRaw: [{
|
|
4583
|
+
type: Input
|
|
4584
|
+
}], rowEvents: [{
|
|
4585
|
+
type: Input
|
|
4586
|
+
}], rowClass: [{
|
|
4587
|
+
type: Input
|
|
4588
|
+
}], hasRowActions: [{
|
|
4589
|
+
type: Input
|
|
4590
|
+
}], selection: [{
|
|
4591
|
+
type: Input
|
|
4592
|
+
}], restoreMode: [{
|
|
4593
|
+
type: Input
|
|
4594
|
+
}], rowRemoved: [{
|
|
4595
|
+
type: Input
|
|
4596
|
+
}], rowsContainer: [{
|
|
4597
|
+
type: ViewChild,
|
|
4598
|
+
args: ['rowsContainer', { read: ViewContainerRef, static: true }]
|
|
4599
|
+
}], headerTemplate: [{
|
|
4600
|
+
type: ContentChild,
|
|
4601
|
+
args: [FsRowComponent, { read: TemplateRef, static: true }]
|
|
4602
|
+
}] } });
|
|
4556
4603
|
|
|
4557
|
-
|
|
4604
|
+
class FsFooterCellComponent extends FsCellComponent {
|
|
4558
4605
|
constructor() {
|
|
4559
|
-
|
|
4560
|
-
|
|
4561
|
-
|
|
4562
|
-
|
|
4606
|
+
super();
|
|
4607
|
+
}
|
|
4608
|
+
}
|
|
4609
|
+
FsFooterCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsFooterCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4610
|
+
FsFooterCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsFooterCellComponent, selector: "[fs-list-footer-cell]", usesInheritance: true, ngImport: i0, template: "<ng-template [ngTemplateOutlet]=\"column.footerTemplate || cell\" [ngTemplateOutletContext]=\"cellContext\"></ng-template>\n\n<ng-template #cell let-value=\"value\">\n {{value}}\n</ng-template>\n", directives: [{ type: i3$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
4611
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsFooterCellComponent, decorators: [{
|
|
4612
|
+
type: Component,
|
|
4613
|
+
args: [{
|
|
4614
|
+
selector: '[fs-list-footer-cell]',
|
|
4615
|
+
templateUrl: 'footer-cell.component.html',
|
|
4616
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
4617
|
+
}]
|
|
4618
|
+
}], ctorParameters: function () { return []; } });
|
|
4619
|
+
|
|
4620
|
+
class FsFooterRowComponent extends FsRowComponent {
|
|
4621
|
+
constructor(el, reorderController, cdRef, differs, renderer) {
|
|
4622
|
+
super(el, reorderController, cdRef, differs, renderer, null);
|
|
4623
|
+
this.ReorderPosition = ReorderPosition;
|
|
4624
|
+
}
|
|
4625
|
+
}
|
|
4626
|
+
FsFooterRowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsFooterRowComponent, deps: [{ token: i0.ElementRef }, { token: ReorderController }, { token: i0.ChangeDetectorRef }, { token: i0.KeyValueDiffers }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
4627
|
+
FsFooterRowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsFooterRowComponent, selector: "[fs-list-footer-row]", inputs: { hasRowActions: "hasRowActions" }, usesInheritance: true, ngImport: i0, template: "<td *ngIf=\"reorderController.leftReorderActivated$ | async\" class=\"fs-list-col drag-col\"></td>\n\n<td *ngIf=\"selection\" class=\"fs-list-col fs-list-col-selection\"></td>\n<ng-container *ngFor=\"let column of columns; trackBy: trackByFn\">\n <td fs-list-footer-cell\n *ngIf=\"!column.footerColspanned\"\n [column]=\"column\"\n [row]=\"row\"\n [rowIndex]=\"rowIndex\"\n [ngClass]=\"column.footerConfigs.classesArray\"\n [attr.colspan]=\"column.footerConfigs.colspan\"\n [attr.width]=\"column.width\">\n </td>\n</ng-container>\n\n<!-- Drag -->\n<td *ngIf=\"reorderController.rightReorderActivated$ | async\" class=\"fs-list-col row-actions\"></td>\n\n<!-- Row Actions -->\n<td *ngIf=\"hasRowActions && !(reorderController.enabled && reorderController.strategy === ReorderStrategy.Manual)\" class=\"fs-list-col drag-col\"></td>\n", components: [{ type: FsFooterCellComponent, selector: "[fs-list-footer-cell]" }], directives: [{ type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }], pipes: { "async": i3$1.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
4628
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsFooterRowComponent, decorators: [{
|
|
4629
|
+
type: Component,
|
|
4630
|
+
args: [{
|
|
4631
|
+
selector: '[fs-list-footer-row]',
|
|
4632
|
+
templateUrl: 'footer-row.component.html',
|
|
4633
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
4634
|
+
}]
|
|
4635
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: ReorderController }, { type: i0.ChangeDetectorRef }, { type: i0.KeyValueDiffers }, { type: i0.Renderer2 }]; }, propDecorators: { hasRowActions: [{
|
|
4636
|
+
type: Input
|
|
4637
|
+
}] } });
|
|
4638
|
+
|
|
4639
|
+
class FsFooterComponent {
|
|
4640
|
+
constructor() {
|
|
4641
|
+
this.columns = [];
|
|
4642
|
+
}
|
|
4643
|
+
}
|
|
4644
|
+
FsFooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4645
|
+
FsFooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsFooterComponent, selector: "[fs-list-footer]", inputs: { hasRowActions: "hasRowActions", columns: "columns", selection: "selection" }, ngImport: i0, template: "<tr fs-list-footer-row\n [columns]=\"columns\"\n [hasRowActions]=\"hasRowActions\"\n [selection]=\"selection\"\n></tr>\n", components: [{ type: FsFooterRowComponent, selector: "[fs-list-footer-row]", inputs: ["hasRowActions"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
4646
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsFooterComponent, decorators: [{
|
|
4647
|
+
type: Component,
|
|
4648
|
+
args: [{
|
|
4649
|
+
selector: '[fs-list-footer]',
|
|
4650
|
+
templateUrl: 'footer.component.html',
|
|
4651
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
4652
|
+
}]
|
|
4653
|
+
}], ctorParameters: function () { return []; }, propDecorators: { hasRowActions: [{
|
|
4654
|
+
type: Input
|
|
4655
|
+
}], columns: [{
|
|
4656
|
+
type: Input
|
|
4657
|
+
}], selection: [{
|
|
4658
|
+
type: Input
|
|
4659
|
+
}] } });
|
|
4660
|
+
|
|
4661
|
+
class FsListLoaderComponent {
|
|
4662
|
+
constructor() {
|
|
4663
|
+
this.placeholderWidths = [[], [], []];
|
|
4664
|
+
this.widths = [];
|
|
4665
|
+
this.cols = [];
|
|
4666
|
+
this.rows = [];
|
|
4563
4667
|
}
|
|
4564
4668
|
ngOnInit() {
|
|
4565
|
-
this.
|
|
4566
|
-
this.
|
|
4567
|
-
|
|
4669
|
+
this.cols = this.columns > 5 ? this.columns.splice(0, 5) : this.columns;
|
|
4670
|
+
const length = this.cols.length;
|
|
4671
|
+
for (let w = length; w >= 0; w--) {
|
|
4672
|
+
this.widths[w] = w ? random(15, 100 / length, false) : 0;
|
|
4673
|
+
}
|
|
4674
|
+
for (let r = 0; r < 3; r++) {
|
|
4675
|
+
for (let c = 0; c < length; c++) {
|
|
4676
|
+
this.placeholderWidths[r].push(random(50, 90));
|
|
4677
|
+
}
|
|
4678
|
+
}
|
|
4568
4679
|
}
|
|
4569
4680
|
ngOnChanges(changes) {
|
|
4570
|
-
if (changes.
|
|
4571
|
-
this.
|
|
4681
|
+
if (changes.loaderLines) {
|
|
4682
|
+
this.rows = new Array(this.loaderLines);
|
|
4572
4683
|
}
|
|
4573
4684
|
}
|
|
4685
|
+
}
|
|
4686
|
+
FsListLoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListLoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4687
|
+
FsListLoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsListLoaderComponent, selector: "fs-list-loader", inputs: { columns: "columns", loaderLines: "loaderLines" }, usesOnChanges: true, ngImport: i0, template: "<table>\n <thead>\n <tr>\n <th *ngFor=\"let col of cols; let column = index\" [width]=\"widths[column] + '%'\">\n <div class=\"fs-skeleton-placeholder\" [style.width]=\"(placeholderWidths[0][column]/2) + '%'\"></div>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let row of rows; let index=index\">\n <td *ngFor=\"let col of cols; let column = index\">\n <div class=\"fs-skeleton-placeholder\" [style.width]=\"placeholderWidths[index][column] + '%'\"></div>\n </td>\n </tr>\n </tbody>\n</table>\n", styles: ["table{width:100%;border-spacing:0}.fs-skeleton-placeholder{opacity:.5}:host ::ng-deep tbody tr:hover td{background:transparent}\n"], directives: [{ type: i3$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
4688
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListLoaderComponent, decorators: [{
|
|
4689
|
+
type: Component,
|
|
4690
|
+
args: [{
|
|
4691
|
+
selector: 'fs-list-loader',
|
|
4692
|
+
templateUrl: './loader.component.html',
|
|
4693
|
+
styleUrls: [
|
|
4694
|
+
'./loader.component.scss',
|
|
4695
|
+
],
|
|
4696
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
4697
|
+
}]
|
|
4698
|
+
}], propDecorators: { columns: [{
|
|
4699
|
+
type: Input
|
|
4700
|
+
}], loaderLines: [{
|
|
4701
|
+
type: Input
|
|
4702
|
+
}] } });
|
|
4703
|
+
|
|
4704
|
+
class FsPaginationComponent {
|
|
4705
|
+
constructor(cdRef) {
|
|
4706
|
+
this.cdRef = cdRef;
|
|
4707
|
+
this._destroy$ = new Subject();
|
|
4708
|
+
}
|
|
4709
|
+
ngOnInit() {
|
|
4710
|
+
merge(this.pagination.pageChanged$, this.pagination.pages$)
|
|
4711
|
+
.pipe(takeUntil(this._destroy$))
|
|
4712
|
+
.subscribe(() => {
|
|
4713
|
+
this.cdRef.markForCheck();
|
|
4714
|
+
});
|
|
4715
|
+
}
|
|
4574
4716
|
ngOnDestroy() {
|
|
4575
4717
|
this._destroy$.next();
|
|
4576
4718
|
this._destroy$.complete();
|
|
4577
4719
|
}
|
|
4578
|
-
|
|
4579
|
-
|
|
4580
|
-
|
|
4581
|
-
|
|
4582
|
-
|
|
4583
|
-
|
|
4584
|
-
|
|
4585
|
-
|
|
4586
|
-
|
|
4587
|
-
|
|
4588
|
-
|
|
4589
|
-
|
|
4590
|
-
|
|
4591
|
-
|
|
4592
|
-
|
|
4593
|
-
|
|
4594
|
-
|
|
4595
|
-
|
|
4596
|
-
_initCellTemplate() {
|
|
4597
|
-
if (this.row && this.row.isGroup) {
|
|
4598
|
-
this.cellTemplate = this.column.groupCellTemplate || this.column.cellTemplate;
|
|
4599
|
-
}
|
|
4600
|
-
else {
|
|
4601
|
-
this.cellTemplate = this.column.cellTemplate;
|
|
4602
|
-
}
|
|
4603
|
-
}
|
|
4604
|
-
_listenGroupOpen() {
|
|
4605
|
-
if (this.row && this.row.isGroup) {
|
|
4606
|
-
this.row.expanded$
|
|
4607
|
-
.pipe(takeUntil(this._destroy$))
|
|
4608
|
-
.subscribe((status) => {
|
|
4609
|
-
this.cellContext.expanded = status;
|
|
4610
|
-
});
|
|
4611
|
-
}
|
|
4612
|
-
}
|
|
4613
|
-
};
|
|
4614
|
-
__decorate([
|
|
4615
|
-
HostBinding('class.fs-list-col'),
|
|
4616
|
-
__metadata("design:type", Object)
|
|
4617
|
-
], FsCellComponent.prototype, "isColl", void 0);
|
|
4618
|
-
__decorate([
|
|
4619
|
-
HostBinding('attr.role'),
|
|
4620
|
-
__metadata("design:type", Object)
|
|
4621
|
-
], FsCellComponent.prototype, "role", void 0);
|
|
4622
|
-
__decorate([
|
|
4623
|
-
Input(),
|
|
4624
|
-
__metadata("design:type", Column)
|
|
4625
|
-
], FsCellComponent.prototype, "column", void 0);
|
|
4626
|
-
__decorate([
|
|
4627
|
-
Input(),
|
|
4628
|
-
__metadata("design:type", Row)
|
|
4629
|
-
], FsCellComponent.prototype, "row", void 0);
|
|
4630
|
-
__decorate([
|
|
4631
|
-
Input(),
|
|
4632
|
-
__metadata("design:type", Number)
|
|
4633
|
-
], FsCellComponent.prototype, "rowIndex", void 0);
|
|
4634
|
-
FsCellComponent = __decorate([
|
|
4635
|
-
Component({
|
|
4636
|
-
selector: '[fs-cell]',
|
|
4637
|
-
template: "<ng-template [ngTemplateOutlet]=\"cellTemplate || defaultCellTemplate\" [ngTemplateOutletContext]=\"cellContext\"></ng-template>\n\n<ng-template #defaultCellTemplate let-value=\"value\">\n {{value}}\n</ng-template>\n",
|
|
4638
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
4639
|
-
}),
|
|
4640
|
-
__metadata("design:paramtypes", [])
|
|
4641
|
-
], FsCellComponent);
|
|
4720
|
+
}
|
|
4721
|
+
FsPaginationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsPaginationComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
4722
|
+
FsPaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsPaginationComponent, selector: "fs-list-pagination", inputs: { pagination: "pagination", rows: "rows" }, ngImport: i0, template: "<ng-container *ngIf=\"!pagination.loadMoreEnabled; else loadMoreButton\">\n <div class=\"paging\" *ngIf=\"pagination?.pages\">\n <div class=\"records\"></div>\n <div fxFlex>\n <div class=\"pages\">\n <a matRipple matRippleRadius=\"15\" [matRippleCentered]=\"true\" class=\"first\" [class.disabled]=\"!pagination.hasPrevPage\" (click)=\"pagination.goFirst()\">\n <i class=\"material-icons\">first_page</i>\n </a>\n\n <a matRipple matRippleRadius=\"15\" [matRippleCentered]=\"true\" class=\"previous\" [class.disabled]=\"!pagination.hasPrevPage\" (click)=\"pagination.goPrev()\">\n <i class=\"material-icons\">keyboard_arrow_left</i>\n </a>\n\n <div class=\"number\">\n {{ pagination.page }} of {{ pagination.pages }}\n </div>\n\n <a matRipple matRippleRadius=\"15\" [matRippleCentered]=\"true\" class=\"next\" [class.disabled]=\"!pagination.hasNextPage\" (click)=\"pagination.goNext()\">\n <i class=\"material-icons\">keyboard_arrow_right</i>\n </a>\n\n <a matRipple matRippleRadius=\"15\" [matRippleCentered]=\"true\" class=\"last\" [class.disabled]=\"!pagination.hasNextPage\" (click)=\"pagination.goLast()\">\n <i class=\"material-icons\">last_page</i>\n </a>\n\n </div>\n </div>\n </div>\n</ng-container>\n\n<ng-template #loadMoreButton>\n <div class=\"fs-list-load-more\" *ngIf=\"pagination.hasNextPage\">\n <button mat-button (click)=\"pagination.goNext()\">{{ pagination.loadMoreText }}</button>\n </div>\n</ng-template>\n", styles: [":host{display:block}.paging{display:flex}.paging .pages{display:flex;justify-content:center;align-items:center;-webkit-user-select:none;user-select:none}.paging .pages a{text-align:center;color:#000000de;text-decoration:none;font-size:15px;cursor:pointer;display:flex}.paging .pages a:not(.page){padding:10px}.paging .pages a.disabled{pointer-events:none;cursor:default;color:#d8d8d8}.paging .pages .number{font-size:90%}.fs-list-load-more button{width:100%;margin-top:10px}\n"], components: [{ type: i2$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$2.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i4$2.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleRadius", "matRippleDisabled", "matRippleTrigger", "matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleAnimation"], exportAs: ["matRipple"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
4723
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsPaginationComponent, decorators: [{
|
|
4724
|
+
type: Component,
|
|
4725
|
+
args: [{
|
|
4726
|
+
selector: 'fs-list-pagination',
|
|
4727
|
+
templateUrl: 'pagination.component.html',
|
|
4728
|
+
styleUrls: [
|
|
4729
|
+
'./pagination.component.scss'
|
|
4730
|
+
],
|
|
4731
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
4732
|
+
}]
|
|
4733
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { pagination: [{
|
|
4734
|
+
type: Input
|
|
4735
|
+
}], rows: [{
|
|
4736
|
+
type: Input
|
|
4737
|
+
}] } });
|
|
4642
4738
|
|
|
4643
|
-
|
|
4644
|
-
constructor(reorderController, cdRef) {
|
|
4739
|
+
class FsListComponent {
|
|
4740
|
+
constructor(reorderController, _el, _defaultOptions, fsScroll, selectionDialog, dialog, cdRef, _groupExpandNotifier, _router, _route, _persistance, _location, _dialogRef, _drawerRef) {
|
|
4645
4741
|
this.reorderController = reorderController;
|
|
4742
|
+
this._el = _el;
|
|
4743
|
+
this._defaultOptions = _defaultOptions;
|
|
4744
|
+
this.fsScroll = fsScroll;
|
|
4745
|
+
this.selectionDialog = selectionDialog;
|
|
4746
|
+
this.dialog = dialog;
|
|
4646
4747
|
this.cdRef = cdRef;
|
|
4647
|
-
this.
|
|
4648
|
-
this.
|
|
4649
|
-
this.
|
|
4650
|
-
this.
|
|
4748
|
+
this._groupExpandNotifier = _groupExpandNotifier;
|
|
4749
|
+
this._router = _router;
|
|
4750
|
+
this._route = _route;
|
|
4751
|
+
this._persistance = _persistance;
|
|
4752
|
+
this._location = _location;
|
|
4753
|
+
this._dialogRef = _dialogRef;
|
|
4754
|
+
this._drawerRef = _drawerRef;
|
|
4755
|
+
this.classFsList = true;
|
|
4756
|
+
this.loaderLines = 3;
|
|
4757
|
+
this.filtersReady = new EventEmitter();
|
|
4758
|
+
// Event will fired if action remove: true will clicked
|
|
4759
|
+
this.rowRemoved = new EventEmitter();
|
|
4760
|
+
this.firstLoad = true;
|
|
4761
|
+
this._filterParamsReady = false;
|
|
4762
|
+
this._inDialog = !!this._dialogRef || !!this._drawerRef;
|
|
4763
|
+
this._destroy = new Subject();
|
|
4651
4764
|
}
|
|
4652
|
-
|
|
4653
|
-
this.
|
|
4654
|
-
this.initSelection();
|
|
4765
|
+
set config(config) {
|
|
4766
|
+
this._initWithConfig(config);
|
|
4655
4767
|
}
|
|
4656
|
-
|
|
4657
|
-
this.
|
|
4658
|
-
this.
|
|
4768
|
+
set filterReference(component) {
|
|
4769
|
+
this._filterRef = component;
|
|
4770
|
+
this.list.actions.setFilterRef(component);
|
|
4771
|
+
this._emitFiltersReadyEvent();
|
|
4659
4772
|
}
|
|
4660
4773
|
/**
|
|
4661
|
-
*
|
|
4662
|
-
*
|
|
4774
|
+
* Set columns to config
|
|
4775
|
+
* Create Column Model instances
|
|
4776
|
+
*
|
|
4663
4777
|
*/
|
|
4664
|
-
|
|
4665
|
-
this.
|
|
4778
|
+
set columnTemplates(listColumnDirectives) {
|
|
4779
|
+
this.listColumnDirectives = listColumnDirectives;
|
|
4780
|
+
if (this.list) {
|
|
4781
|
+
this.list.tranformTemplatesToColumns(listColumnDirectives);
|
|
4782
|
+
}
|
|
4666
4783
|
}
|
|
4667
|
-
|
|
4668
|
-
|
|
4669
|
-
|
|
4670
|
-
|
|
4671
|
-
trackByFn(index) {
|
|
4672
|
-
return index;
|
|
4784
|
+
set _emptyStateTemplate(template) {
|
|
4785
|
+
if (this.list) {
|
|
4786
|
+
this.list.emptyStateTemplate = template;
|
|
4787
|
+
}
|
|
4673
4788
|
}
|
|
4674
4789
|
/**
|
|
4675
|
-
*
|
|
4790
|
+
* Return reference for filter
|
|
4676
4791
|
*/
|
|
4677
|
-
|
|
4678
|
-
this.
|
|
4679
|
-
.pipe(takeUntil(this._destroy$))
|
|
4680
|
-
.subscribe(() => {
|
|
4681
|
-
this.cdRef.detectChanges();
|
|
4682
|
-
});
|
|
4792
|
+
get filterRef() {
|
|
4793
|
+
return this._filterRef;
|
|
4683
4794
|
}
|
|
4684
|
-
|
|
4685
|
-
|
|
4686
|
-
*/
|
|
4687
|
-
initSelection() {
|
|
4688
|
-
if (this.selection) {
|
|
4689
|
-
this.selection.selectionChange$
|
|
4690
|
-
.pipe(filter(({ type }) => (type === SelectionChangeType.AllVisibleSelectionChange
|
|
4691
|
-
|| type === SelectionChangeType.SelectedAll
|
|
4692
|
-
|| type === SelectionChangeType.RowSelectionChange)), takeUntil(this._destroy$))
|
|
4693
|
-
.subscribe(({ type, payload: status }) => {
|
|
4694
|
-
this.selectedAll = status;
|
|
4695
|
-
this.cdRef.markForCheck();
|
|
4696
|
-
});
|
|
4697
|
-
}
|
|
4795
|
+
get groupEnabled() {
|
|
4796
|
+
return this.list.dataController.groupEnabled;
|
|
4698
4797
|
}
|
|
4699
|
-
|
|
4700
|
-
|
|
4701
|
-
|
|
4702
|
-
|
|
4703
|
-
|
|
4704
|
-
|
|
4705
|
-
|
|
4706
|
-
__metadata("design:type", SortingController)
|
|
4707
|
-
], FsHeadComponent.prototype, "sorting", void 0);
|
|
4708
|
-
__decorate([
|
|
4709
|
-
Input(),
|
|
4710
|
-
__metadata("design:type", Array)
|
|
4711
|
-
], FsHeadComponent.prototype, "columns", void 0);
|
|
4712
|
-
__decorate([
|
|
4713
|
-
Input(),
|
|
4714
|
-
__metadata("design:type", Boolean)
|
|
4715
|
-
], FsHeadComponent.prototype, "hasRowActions", void 0);
|
|
4716
|
-
__decorate([
|
|
4717
|
-
Input(),
|
|
4718
|
-
__metadata("design:type", SelectionController)
|
|
4719
|
-
], FsHeadComponent.prototype, "selection", void 0);
|
|
4720
|
-
__decorate([
|
|
4721
|
-
ViewChild('rowsContainer', { read: ViewContainerRef, static: true }),
|
|
4722
|
-
__metadata("design:type", Object)
|
|
4723
|
-
], FsHeadComponent.prototype, "rowsContainer", void 0);
|
|
4724
|
-
FsHeadComponent = __decorate([
|
|
4725
|
-
Component({
|
|
4726
|
-
selector: '[fs-list-head]',
|
|
4727
|
-
template: "<tr class=\"fs-list-row\">\n <!-- Drag -->\n <th *ngIf=\"reorderController.leftReorderActivated$ | async\" class=\"fs-list-col drag-col\"></th>\n\n <!-- Selection -->\n <th *ngIf=\"selection\" class=\"fs-list-col fs-list-col-selection\">\n <mat-checkbox (change)=\"selectAll($event)\" [checked]=\"selectedAll\"></mat-checkbox>\n </th>\n\n <!-- Content -->\n <th fs-head-cell *ngFor=\"let column of columns; trackBy: trackByFn\"\n (click)=\"$event.stopPropagation(); sorting.sortBy(column)\"\n [column]=\"column\"\n [class.sorting]=\"column.sortable\"\n [ngClass]=\"column.headerConfigs.classesArray\"\n [attr.colspan]=\"column.headerConfigs.colspan\"\n [attr.width]=\"column.width\"></th>\n\n <!-- Drag -->\n <th *ngIf=\"reorderController.rightReorderActivated$ | async\" class=\"fs-list-col drag-col\"></th>\n\n <!-- Row Actions -->\n <th *ngIf=\"hasRowActions && !(reorderController.manualReorderActivated$ | async)\" class=\"fs-list-col row-actions\"></th>\n</tr>\n",
|
|
4728
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
4729
|
-
}),
|
|
4730
|
-
__metadata("design:paramtypes", [ReorderController,
|
|
4731
|
-
ChangeDetectorRef])
|
|
4732
|
-
], FsHeadComponent);
|
|
4733
|
-
|
|
4734
|
-
let FsHeadCellComponent = class FsHeadCellComponent extends FsCellComponent {
|
|
4735
|
-
constructor(cdRef, differs) {
|
|
4736
|
-
super();
|
|
4737
|
-
this.cdRef = cdRef;
|
|
4738
|
-
this.differs = differs;
|
|
4739
|
-
this.cellContext = {};
|
|
4740
|
-
this._columnDiffer = differs.find({}).create();
|
|
4798
|
+
get paginatorVisible() {
|
|
4799
|
+
return this.list.paging.enabled
|
|
4800
|
+
&& !this.firstLoad
|
|
4801
|
+
&& !this.list.scrollable
|
|
4802
|
+
&& !this.list.emptyStateEnabled
|
|
4803
|
+
&& this.list.dataController.visibleRowsCount > 0
|
|
4804
|
+
&& this.list.paging.pages > 1;
|
|
4741
4805
|
}
|
|
4742
|
-
|
|
4743
|
-
|
|
4744
|
-
|
|
4806
|
+
set groupEnabled(value) {
|
|
4807
|
+
this.list.groupEnabled(value);
|
|
4808
|
+
}
|
|
4809
|
+
ngOnInit() {
|
|
4810
|
+
this._subscribeToRemoveRow();
|
|
4811
|
+
this._subscribeToGroupExpandStatusChange();
|
|
4812
|
+
}
|
|
4813
|
+
ngOnDestroy() {
|
|
4814
|
+
if (this.list) {
|
|
4815
|
+
this.list.destroy();
|
|
4745
4816
|
}
|
|
4817
|
+
this._destroy.next();
|
|
4818
|
+
this._destroy.complete();
|
|
4746
4819
|
}
|
|
4747
|
-
|
|
4748
|
-
this.
|
|
4820
|
+
nextPage() {
|
|
4821
|
+
this.list.paging.goNext();
|
|
4749
4822
|
}
|
|
4750
|
-
|
|
4751
|
-
|
|
4752
|
-
{ type: ChangeDetectorRef },
|
|
4753
|
-
{ type: KeyValueDiffers }
|
|
4754
|
-
];
|
|
4755
|
-
FsHeadCellComponent = __decorate([
|
|
4756
|
-
Component({
|
|
4757
|
-
selector: '[fs-head-cell]',
|
|
4758
|
-
template: "<div class=\"wrap\">\n <span class=\"title\">\n <ng-template [ngIf]=\"!column.headerTemplate\">{{column.title}}</ng-template>\n <ng-template\n [ngIf]=\"column.headerTemplate\"\n [ngTemplateOutlet]=\"column.headerTemplate\"\n [ngTemplateOutletContext]=\"cellContext\">\n </ng-template>\n </span>\n <div class=\"direction\" *ngIf=\"column.ordered\" [ngSwitch]=\"column.sortingDirection\">\n <mat-icon class=\"material-icons\" role=\"img\" aria-label=\"arrow_downward\" *ngSwitchCase=\"'asc'\">arrow_downward</mat-icon>\n <mat-icon class=\"material-icons\" role=\"img\" aria-label=\"arrow_upward\" *ngSwitchCase=\"'desc'\">arrow_upward</mat-icon>\n </div>\n</div>\n",
|
|
4759
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
4760
|
-
}),
|
|
4761
|
-
__metadata("design:paramtypes", [ChangeDetectorRef,
|
|
4762
|
-
KeyValueDiffers])
|
|
4763
|
-
], FsHeadCellComponent);
|
|
4764
|
-
|
|
4765
|
-
let FsFooterComponent = class FsFooterComponent {
|
|
4766
|
-
constructor() {
|
|
4767
|
-
this.columns = [];
|
|
4823
|
+
prevPage() {
|
|
4824
|
+
this.list.paging.goPrev();
|
|
4768
4825
|
}
|
|
4769
|
-
|
|
4770
|
-
|
|
4771
|
-
Input(),
|
|
4772
|
-
__metadata("design:type", Boolean)
|
|
4773
|
-
], FsFooterComponent.prototype, "hasRowActions", void 0);
|
|
4774
|
-
__decorate([
|
|
4775
|
-
Input(),
|
|
4776
|
-
__metadata("design:type", Array)
|
|
4777
|
-
], FsFooterComponent.prototype, "columns", void 0);
|
|
4778
|
-
__decorate([
|
|
4779
|
-
Input(),
|
|
4780
|
-
__metadata("design:type", SelectionController)
|
|
4781
|
-
], FsFooterComponent.prototype, "selection", void 0);
|
|
4782
|
-
FsFooterComponent = __decorate([
|
|
4783
|
-
Component({
|
|
4784
|
-
selector: '[fs-list-footer]',
|
|
4785
|
-
template: "<tr fs-list-footer-row\n [columns]=\"columns\"\n [hasRowActions]=\"hasRowActions\"\n [selection]=\"selection\"\n></tr>\n",
|
|
4786
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
4787
|
-
}),
|
|
4788
|
-
__metadata("design:paramtypes", [])
|
|
4789
|
-
], FsFooterComponent);
|
|
4790
|
-
|
|
4791
|
-
let FsFooterRowComponent = class FsFooterRowComponent extends FsRowComponent {
|
|
4792
|
-
constructor(el, reorderController, cdRef, differs, renderer) {
|
|
4793
|
-
super(el, reorderController, cdRef, differs, renderer, null);
|
|
4794
|
-
this.ReorderPosition = ReorderPosition;
|
|
4826
|
+
firstPage() {
|
|
4827
|
+
this.list.paging.goFirst();
|
|
4795
4828
|
}
|
|
4796
|
-
|
|
4797
|
-
|
|
4798
|
-
{ type: ElementRef },
|
|
4799
|
-
{ type: ReorderController },
|
|
4800
|
-
{ type: ChangeDetectorRef },
|
|
4801
|
-
{ type: KeyValueDiffers },
|
|
4802
|
-
{ type: Renderer2 }
|
|
4803
|
-
];
|
|
4804
|
-
__decorate([
|
|
4805
|
-
Input(),
|
|
4806
|
-
__metadata("design:type", Boolean)
|
|
4807
|
-
], FsFooterRowComponent.prototype, "hasRowActions", void 0);
|
|
4808
|
-
FsFooterRowComponent = __decorate([
|
|
4809
|
-
Component({
|
|
4810
|
-
selector: '[fs-list-footer-row]',
|
|
4811
|
-
template: "<td *ngIf=\"reorderController.leftReorderActivated$ | async\" class=\"fs-list-col drag-col\"></td>\n\n<td *ngIf=\"selection\" class=\"fs-list-col fs-list-col-selection\"></td>\n<ng-container *ngFor=\"let column of columns; trackBy: trackByFn\">\n <td fs-list-footer-cell\n *ngIf=\"!column.footerColspanned\"\n [column]=\"column\"\n [row]=\"row\"\n [rowIndex]=\"rowIndex\"\n [ngClass]=\"column.footerConfigs.classesArray\"\n [attr.colspan]=\"column.footerConfigs.colspan\"\n [attr.width]=\"column.width\">\n </td>\n</ng-container>\n\n<!-- Drag -->\n<td *ngIf=\"reorderController.rightReorderActivated$ | async\" class=\"fs-list-col row-actions\"></td>\n\n<!-- Row Actions -->\n<td *ngIf=\"hasRowActions && !(reorderController.enabled && reorderController.strategy === ReorderStrategy.Manual)\" class=\"fs-list-col drag-col\"></td>\n",
|
|
4812
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
4813
|
-
}),
|
|
4814
|
-
__metadata("design:paramtypes", [ElementRef,
|
|
4815
|
-
ReorderController,
|
|
4816
|
-
ChangeDetectorRef,
|
|
4817
|
-
KeyValueDiffers,
|
|
4818
|
-
Renderer2])
|
|
4819
|
-
], FsFooterRowComponent);
|
|
4820
|
-
|
|
4821
|
-
let FsFooterCellComponent = class FsFooterCellComponent extends FsCellComponent {
|
|
4822
|
-
constructor() {
|
|
4823
|
-
super();
|
|
4829
|
+
lastPage() {
|
|
4830
|
+
this.list.paging.goLast();
|
|
4824
4831
|
}
|
|
4825
|
-
|
|
4826
|
-
|
|
4827
|
-
Component({
|
|
4828
|
-
selector: '[fs-list-footer-cell]',
|
|
4829
|
-
template: "<ng-template [ngTemplateOutlet]=\"column.footerTemplate || cell\" [ngTemplateOutletContext]=\"cellContext\"></ng-template>\n\n<ng-template #cell let-value=\"value\">\n {{value}}\n</ng-template>\n",
|
|
4830
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
4831
|
-
}),
|
|
4832
|
-
__metadata("design:paramtypes", [])
|
|
4833
|
-
], FsFooterCellComponent);
|
|
4834
|
-
|
|
4835
|
-
let FsStatusComponent = class FsStatusComponent {
|
|
4836
|
-
constructor(_cdRef) {
|
|
4837
|
-
this._cdRef = _cdRef;
|
|
4838
|
-
this._destroy$ = new Subject();
|
|
4832
|
+
reload() {
|
|
4833
|
+
this.list.reload();
|
|
4839
4834
|
}
|
|
4840
|
-
|
|
4841
|
-
this.
|
|
4842
|
-
.pipe(takeUntil(this._destroy$))
|
|
4843
|
-
.subscribe(() => {
|
|
4844
|
-
this._cdRef.markForCheck();
|
|
4845
|
-
});
|
|
4835
|
+
getData(trackBy) {
|
|
4836
|
+
return this.list.getData(trackBy);
|
|
4846
4837
|
}
|
|
4847
|
-
|
|
4848
|
-
this.
|
|
4849
|
-
this._destroy$.complete();
|
|
4838
|
+
hasData(trackBy) {
|
|
4839
|
+
return this.list.hasData(trackBy);
|
|
4850
4840
|
}
|
|
4851
|
-
|
|
4852
|
-
|
|
4853
|
-
this.sorting.sortDirection(SortingDirection.desc);
|
|
4854
|
-
}
|
|
4855
|
-
else {
|
|
4856
|
-
this.sorting.sortDirection(SortingDirection.asc);
|
|
4857
|
-
}
|
|
4841
|
+
updateData(rows, trackBy) {
|
|
4842
|
+
return this.list.dataController.updateData(rows, trackBy);
|
|
4858
4843
|
}
|
|
4859
|
-
|
|
4860
|
-
|
|
4861
|
-
this.sorting.sortBy(column);
|
|
4862
|
-
}
|
|
4844
|
+
replaceRow(row, trackBy) {
|
|
4845
|
+
return this.list.dataController.replaceData(row, trackBy);
|
|
4863
4846
|
}
|
|
4864
|
-
|
|
4865
|
-
this.
|
|
4847
|
+
updateSelectionConfig(config) {
|
|
4848
|
+
this.list.selection.updateConfig(config);
|
|
4866
4849
|
}
|
|
4867
|
-
|
|
4868
|
-
|
|
4869
|
-
{ type: ChangeDetectorRef }
|
|
4870
|
-
];
|
|
4871
|
-
__decorate([
|
|
4872
|
-
Input(),
|
|
4873
|
-
__metadata("design:type", PaginationController)
|
|
4874
|
-
], FsStatusComponent.prototype, "paging", void 0);
|
|
4875
|
-
__decorate([
|
|
4876
|
-
Input(),
|
|
4877
|
-
__metadata("design:type", SortingController)
|
|
4878
|
-
], FsStatusComponent.prototype, "sorting", void 0);
|
|
4879
|
-
__decorate([
|
|
4880
|
-
Input(),
|
|
4881
|
-
__metadata("design:type", Object)
|
|
4882
|
-
], FsStatusComponent.prototype, "rows", void 0);
|
|
4883
|
-
__decorate([
|
|
4884
|
-
Input(),
|
|
4885
|
-
__metadata("design:type", Object)
|
|
4886
|
-
], FsStatusComponent.prototype, "scrollable", void 0);
|
|
4887
|
-
__decorate([
|
|
4888
|
-
Input(),
|
|
4889
|
-
HostBinding('class.first-load'),
|
|
4890
|
-
HostBinding('class.fs-skeleton-placeholder'),
|
|
4891
|
-
__metadata("design:type", Boolean)
|
|
4892
|
-
], FsStatusComponent.prototype, "firstLoad", void 0);
|
|
4893
|
-
FsStatusComponent = __decorate([
|
|
4894
|
-
Component({
|
|
4895
|
-
selector: 'fs-list-status',
|
|
4896
|
-
template: "<div class=\"status\">\n <ng-container *ngIf=\"paging.enabled && !scrollable\">\n <ng-container *ngIf=\"paging.records > 0; else emptyResults\">\n Showing <a [fsMenuTriggerFor]=\"limitsMenu\">{{ paging.statusLabel }}</a> of {{ paging.records | number:'1.0':'en-US' }} results\n </ng-container>\n <ng-template #emptyResults>\n Showing <a [fsMenuTriggerFor]=\"limitsMenu\">0</a> results\n </ng-template>\n <ng-container *ngTemplateOutlet=\"sortedBy\"></ng-container><!--\n--></ng-container><!--\n\n--><ng-container *ngIf=\"(!paging.enabled || scrollable) && paging.displayed > 0\">\n <ng-container *ngIf=\"!scrollable; else scrollable\">\n Showing\n <span *ngIf=\"paging.displayed == 1\">{{ paging.displayed }} result </span>\n <span *ngIf=\"paging.displayed > 1\">{{ paging.displayed | number:'1.0':'en-US' }} results </span>\n </ng-container>\n\n <ng-template #scrollable>\n <span *ngIf=\"paging.records == 1\">{{ paging.records }} result </span>\n <span *ngIf=\"paging.records > 1\">{{ paging.records | number:'1.0':'en-US' }} results </span>\n </ng-template>\n <ng-container *ngTemplateOutlet=\"sortedBy\"></ng-container><!--\n--></ng-container><!--\n\n--><fs-list-saved-filters class=\"saved-filters\"></fs-list-saved-filters>\n\n <fs-menu [hidden]=\"!paging.enabled || scrollable\" #limitsMenu>\n <ng-template\n ngFor\n let-limit\n [ngForOf]=\"paging.limits\"\n >\n <ng-template fs-menu-item (click)=\"setLimit(limit)\">\n {{ limit }}\n </ng-template>\n </ng-template>\n </fs-menu>\n\n <fs-menu [hidden]=\"!sorting.sortingColumn || paging.displayed === 0\" #orderColumnsMenu>\n <!-- Real sorting columns -->\n <ng-template\n ngFor\n let-column\n [ngForOf]=\"sorting.sortingColumns\"\n >\n <ng-template fs-menu-item (click)=\"setSortableColumn(column)\">\n <ng-container *ngIf=\"column.title; else sortByTemplate\">\n {{ column.title }}\n </ng-container>\n <ng-template #sortByTemplate>\n <ng-template [ngTemplateOutlet]=\"column.headerTemplate\"></ng-template>\n </ng-template>\n </ng-template>\n </ng-template>\n\n <!-- Fake sorting columns -->\n <ng-template\n ngFor\n let-column\n [ngForOf]=\"sorting.fakeSortingColumns\"\n >\n <ng-template fs-menu-item (click)=\"setSortableColumn(column)\">\n {{ column.title }}\n </ng-template>\n </ng-template>\n </fs-menu>\n\n <ng-template #sortedBy>\n <ng-container *ngIf=\"sorting.sortingColumn\">\n sorted by\n <ng-container *ngIf=\"sorting.sortingColumn.title; else sortByTemplate\">\n <a class=\"order-toggle\" [fsMenuTriggerFor]=\"orderColumnsMenu\">{{ sorting.sortingColumn.title }}</a>,\n </ng-container>\n <ng-template #sortByTemplate>\n <a class=\"order-toggle\" [fsMenuTriggerFor]=\"orderColumnsMenu\">\n <ng-template [ngTemplateOutlet]=\"sorting.sortingColumn.headerTemplate\"></ng-template>\n </a>,\n </ng-template>\n <a class=\"order-toggle\" (click)=\"toggleDirection()\">{{ sorting.sortingColumn.fullNameDirection }}</a><!--\n --></ng-container><!--\n--></ng-template>\n</div>\n",
|
|
4897
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
4898
|
-
preserveWhitespaces: true,
|
|
4899
|
-
styles: [":host{display:inline-block}:host.first-load .status{visibility:hidden}.order-toggle{white-space:nowrap}a{cursor:pointer}"]
|
|
4900
|
-
}),
|
|
4901
|
-
__metadata("design:paramtypes", [ChangeDetectorRef])
|
|
4902
|
-
], FsStatusComponent);
|
|
4903
|
-
|
|
4904
|
-
let FsPaginationComponent = class FsPaginationComponent {
|
|
4905
|
-
constructor(cdRef) {
|
|
4906
|
-
this.cdRef = cdRef;
|
|
4907
|
-
this._destroy$ = new Subject();
|
|
4850
|
+
resetSelectionActions() {
|
|
4851
|
+
this.list.selection.resetActions();
|
|
4908
4852
|
}
|
|
4909
|
-
|
|
4910
|
-
|
|
4911
|
-
.pipe(takeUntil(this._destroy$))
|
|
4912
|
-
.subscribe(() => {
|
|
4913
|
-
this.cdRef.markForCheck();
|
|
4914
|
-
});
|
|
4853
|
+
removeData(data) {
|
|
4854
|
+
return this.list.dataController.removeData(data);
|
|
4915
4855
|
}
|
|
4916
|
-
|
|
4917
|
-
this.
|
|
4918
|
-
this._destroy$.complete();
|
|
4856
|
+
setHeading(heading) {
|
|
4857
|
+
this.list.heading = heading;
|
|
4919
4858
|
}
|
|
4920
|
-
|
|
4921
|
-
|
|
4922
|
-
{ type: ChangeDetectorRef }
|
|
4923
|
-
];
|
|
4924
|
-
__decorate([
|
|
4925
|
-
Input(),
|
|
4926
|
-
__metadata("design:type", PaginationController)
|
|
4927
|
-
], FsPaginationComponent.prototype, "pagination", void 0);
|
|
4928
|
-
__decorate([
|
|
4929
|
-
Input(),
|
|
4930
|
-
__metadata("design:type", Object)
|
|
4931
|
-
], FsPaginationComponent.prototype, "rows", void 0);
|
|
4932
|
-
FsPaginationComponent = __decorate([
|
|
4933
|
-
Component({
|
|
4934
|
-
selector: 'fs-list-pagination',
|
|
4935
|
-
template: "<ng-container *ngIf=\"!pagination.loadMoreEnabled; else loadMoreButton\">\n <div class=\"paging\" *ngIf=\"pagination?.pages\">\n <div class=\"records\"></div>\n <div fxFlex>\n <div class=\"pages\">\n <a matRipple matRippleRadius=\"15\" [matRippleCentered]=\"true\" class=\"first\" [class.disabled]=\"!pagination.hasPrevPage\" (click)=\"pagination.goFirst()\">\n <i class=\"material-icons\">first_page</i>\n </a>\n\n <a matRipple matRippleRadius=\"15\" [matRippleCentered]=\"true\" class=\"previous\" [class.disabled]=\"!pagination.hasPrevPage\" (click)=\"pagination.goPrev()\">\n <i class=\"material-icons\">keyboard_arrow_left</i>\n </a>\n\n <div class=\"number\">\n {{ pagination.page }} of {{ pagination.pages }}\n </div>\n\n <a matRipple matRippleRadius=\"15\" [matRippleCentered]=\"true\" class=\"next\" [class.disabled]=\"!pagination.hasNextPage\" (click)=\"pagination.goNext()\">\n <i class=\"material-icons\">keyboard_arrow_right</i>\n </a>\n\n <a matRipple matRippleRadius=\"15\" [matRippleCentered]=\"true\" class=\"last\" [class.disabled]=\"!pagination.hasNextPage\" (click)=\"pagination.goLast()\">\n <i class=\"material-icons\">last_page</i>\n </a>\n\n </div>\n </div>\n </div>\n</ng-container>\n\n<ng-template #loadMoreButton>\n <div class=\"fs-list-load-more\" *ngIf=\"pagination.hasNextPage\">\n <button mat-button (click)=\"pagination.goNext()\">{{ pagination.loadMoreText }}</button>\n </div>\n</ng-template>\n",
|
|
4936
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
4937
|
-
styles: [":host{display:block}.paging{display:flex}.paging .pages{display:flex;justify-content:center;align-items:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.paging .pages a{text-align:center;color:rgba(0,0,0,.87);text-decoration:none;font-size:15px;cursor:pointer;display:flex}.paging .pages a:not(.page){padding:10px}.paging .pages a.disabled{pointer-events:none;cursor:default;color:#d8d8d8}.paging .pages .number{font-size:90%}.fs-list-load-more button{width:100%;margin-top:10px}"]
|
|
4938
|
-
}),
|
|
4939
|
-
__metadata("design:paramtypes", [ChangeDetectorRef])
|
|
4940
|
-
], FsPaginationComponent);
|
|
4941
|
-
|
|
4942
|
-
let FsListLoaderComponent = class FsListLoaderComponent {
|
|
4943
|
-
constructor() {
|
|
4944
|
-
this.placeholderWidths = [[], [], []];
|
|
4945
|
-
this.widths = [];
|
|
4946
|
-
this.cols = [];
|
|
4947
|
-
this.rows = [];
|
|
4859
|
+
setSubheading(subheading) {
|
|
4860
|
+
this.list.subheading = subheading;
|
|
4948
4861
|
}
|
|
4949
|
-
|
|
4950
|
-
this.
|
|
4951
|
-
|
|
4952
|
-
|
|
4953
|
-
|
|
4862
|
+
reorderStart() {
|
|
4863
|
+
this.reorderController.enableReorder();
|
|
4864
|
+
}
|
|
4865
|
+
reorderFinish() {
|
|
4866
|
+
this.reorderController.disableReorder();
|
|
4867
|
+
}
|
|
4868
|
+
setActions(actions) {
|
|
4869
|
+
if (actions) {
|
|
4870
|
+
this.list.actions.clearActions();
|
|
4871
|
+
this.list.actions.setActions(actions);
|
|
4872
|
+
}
|
|
4873
|
+
}
|
|
4874
|
+
filterReady() {
|
|
4875
|
+
this.list.filtersReady$.next();
|
|
4876
|
+
this._filterParamsReady = true;
|
|
4877
|
+
this._emitFiltersReadyEvent();
|
|
4878
|
+
}
|
|
4879
|
+
/**
|
|
4880
|
+
* Update visibility for specific column
|
|
4881
|
+
*/
|
|
4882
|
+
columnVisibility(name, show) {
|
|
4883
|
+
this.columnsVisibility([{ name, show }]);
|
|
4884
|
+
}
|
|
4885
|
+
/**
|
|
4886
|
+
* Update visibility for list of specific columns
|
|
4887
|
+
*/
|
|
4888
|
+
columnsVisibility(columns) {
|
|
4889
|
+
this.list.columns.updateVisibilityForCols(columns);
|
|
4890
|
+
}
|
|
4891
|
+
_emitFiltersReadyEvent() {
|
|
4892
|
+
if (!!this.filterRef && this._filterParamsReady) {
|
|
4893
|
+
this.filtersReady.emit();
|
|
4894
|
+
}
|
|
4895
|
+
}
|
|
4896
|
+
/**
|
|
4897
|
+
* Initialize config for list
|
|
4898
|
+
* @param config
|
|
4899
|
+
*/
|
|
4900
|
+
_initWithConfig(config) {
|
|
4901
|
+
if (this.list) {
|
|
4902
|
+
this.list.destroy();
|
|
4954
4903
|
}
|
|
4955
|
-
|
|
4956
|
-
|
|
4957
|
-
|
|
4958
|
-
|
|
4904
|
+
const defaultOpts = this._defaultOptions
|
|
4905
|
+
? cloneDeep(this._defaultOptions)
|
|
4906
|
+
: {};
|
|
4907
|
+
const listConfig = mergeWith(defaultOpts, config, this._configMergeCustomizer);
|
|
4908
|
+
if (listConfig.persist !== false) {
|
|
4909
|
+
this._restorePersistance(listConfig.persist);
|
|
4959
4910
|
}
|
|
4960
|
-
|
|
4961
|
-
|
|
4962
|
-
|
|
4963
|
-
|
|
4911
|
+
this._updateCustomizeAction(listConfig.actions);
|
|
4912
|
+
this.list = new List(this._el, listConfig, this.fsScroll, this.selectionDialog, this._router, this._route, this._persistance, this._inDialog);
|
|
4913
|
+
this._waitFirstLoad();
|
|
4914
|
+
this._listenFiltersQueryChange();
|
|
4915
|
+
this.reorderController.initWithConfig(config.reorder, this.list.dataController, this.list.actions);
|
|
4916
|
+
if (this.listColumnDirectives) {
|
|
4917
|
+
this.list.tranformTemplatesToColumns(this.listColumnDirectives);
|
|
4964
4918
|
}
|
|
4919
|
+
this._listenSortingChange();
|
|
4965
4920
|
}
|
|
4966
|
-
|
|
4967
|
-
|
|
4968
|
-
|
|
4969
|
-
|
|
4970
|
-
|
|
4971
|
-
|
|
4972
|
-
|
|
4973
|
-
|
|
4974
|
-
|
|
4975
|
-
|
|
4976
|
-
|
|
4977
|
-
|
|
4978
|
-
|
|
4979
|
-
|
|
4980
|
-
|
|
4981
|
-
|
|
4982
|
-
], FsListLoaderComponent);
|
|
4983
|
-
|
|
4984
|
-
let FsRowActionsComponent = class FsRowActionsComponent {
|
|
4985
|
-
constructor(_fsPrompt) {
|
|
4986
|
-
this._fsPrompt = _fsPrompt;
|
|
4987
|
-
this.restoreMode = false;
|
|
4988
|
-
this.rowActions = [];
|
|
4989
|
-
this.menuRowActions = [];
|
|
4990
|
-
this.inlineRowActions = [];
|
|
4991
|
-
this._destroy$ = new Subject();
|
|
4992
|
-
}
|
|
4993
|
-
actionClick(action, row, event, menuRef) {
|
|
4994
|
-
if (action.remove) {
|
|
4995
|
-
if (typeof action.remove === 'boolean') {
|
|
4996
|
-
this.removeAction(action, row.data, event, this.index);
|
|
4997
|
-
}
|
|
4998
|
-
else {
|
|
4999
|
-
this._fsPrompt.confirm({
|
|
5000
|
-
title: action.remove.title,
|
|
5001
|
-
template: action.remove.template,
|
|
5002
|
-
}).pipe(take(1), takeUntil(this._destroy$)).subscribe({
|
|
5003
|
-
next: () => {
|
|
5004
|
-
this.removeAction(action, row.data, event, this.index);
|
|
4921
|
+
/**
|
|
4922
|
+
* Find action with customize flag and re-declare click function for CustomizeColsDialog
|
|
4923
|
+
* @param actions
|
|
4924
|
+
*/
|
|
4925
|
+
_updateCustomizeAction(actions) {
|
|
4926
|
+
const customizeAction = actions === null || actions === void 0 ? void 0 : actions.find((action) => action.customize);
|
|
4927
|
+
if (customizeAction) {
|
|
4928
|
+
const actionClickFn = customizeAction.click;
|
|
4929
|
+
customizeAction.click = () => {
|
|
4930
|
+
if (actionClickFn) {
|
|
4931
|
+
actionClickFn(null);
|
|
4932
|
+
}
|
|
4933
|
+
const dialogRef = this.dialog.open(CustomizeColsDialogComponent, {
|
|
4934
|
+
data: {
|
|
4935
|
+
columns: this.list.columns.columnsForDialog,
|
|
4936
|
+
changeFn: this.list.columns.changeFn,
|
|
5005
4937
|
},
|
|
5006
|
-
error: () => { },
|
|
5007
4938
|
});
|
|
5008
|
-
|
|
5009
|
-
|
|
5010
|
-
|
|
5011
|
-
|
|
4939
|
+
dialogRef
|
|
4940
|
+
.afterClosed()
|
|
4941
|
+
.pipe(takeUntil(this.list.onDestroy$), takeUntil(this._destroy))
|
|
4942
|
+
.subscribe((data) => {
|
|
4943
|
+
if (data) {
|
|
4944
|
+
this.list.columns.updateVisibilityForCols(data);
|
|
4945
|
+
this.cdRef.markForCheck();
|
|
4946
|
+
}
|
|
4947
|
+
});
|
|
4948
|
+
};
|
|
5012
4949
|
}
|
|
5013
4950
|
}
|
|
5014
4951
|
/**
|
|
5015
|
-
*
|
|
5016
|
-
* @param index
|
|
4952
|
+
* Update sorting in filter
|
|
5017
4953
|
*/
|
|
5018
|
-
|
|
5019
|
-
|
|
4954
|
+
_listenSortingChange() {
|
|
4955
|
+
this.list.sorting
|
|
4956
|
+
.sortingChanged$
|
|
4957
|
+
.pipe(takeUntil(this.list.onDestroy$), takeUntil(this._destroy))
|
|
4958
|
+
.subscribe((sort) => {
|
|
4959
|
+
this._filterRef.updateSort(sort);
|
|
4960
|
+
});
|
|
5020
4961
|
}
|
|
5021
|
-
|
|
5022
|
-
|
|
5023
|
-
|
|
5024
|
-
.
|
|
4962
|
+
_subscribeToRemoveRow() {
|
|
4963
|
+
this.rowRemoved
|
|
4964
|
+
.pipe(takeUntil(this._destroy))
|
|
4965
|
+
.subscribe((row) => {
|
|
4966
|
+
this.list.dataController.removeData(row);
|
|
4967
|
+
});
|
|
5025
4968
|
}
|
|
5026
|
-
|
|
5027
|
-
|
|
5028
|
-
|
|
5029
|
-
|
|
5030
|
-
|
|
5031
|
-
|
|
5032
|
-
*/
|
|
5033
|
-
removeAction(action, row, event, index) {
|
|
5034
|
-
const removeObservable = action.click(row, event, index);
|
|
5035
|
-
if (removeObservable && removeObservable instanceof Observable) {
|
|
5036
|
-
removeObservable
|
|
5037
|
-
.pipe(take(1), takeUntil(this._destroy$))
|
|
5038
|
-
.subscribe(() => {
|
|
5039
|
-
this.rowRemoved.emit(row);
|
|
4969
|
+
_subscribeToGroupExpandStatusChange() {
|
|
4970
|
+
if (this.list.dataController.hasGroups) {
|
|
4971
|
+
this._groupExpandNotifier.expandStatusChange$
|
|
4972
|
+
.pipe(takeUntil(this._destroy))
|
|
4973
|
+
.subscribe((row) => {
|
|
4974
|
+
this.list.dataController.toggleRowGroup(row);
|
|
5040
4975
|
});
|
|
5041
4976
|
}
|
|
5042
4977
|
}
|
|
5043
|
-
|
|
5044
|
-
|
|
5045
|
-
|
|
5046
|
-
|
|
5047
|
-
|
|
5048
|
-
|
|
5049
|
-
|
|
5050
|
-
], FsRowActionsComponent.prototype, "row", void 0);
|
|
5051
|
-
__decorate([
|
|
5052
|
-
Input(),
|
|
5053
|
-
__metadata("design:type", Number)
|
|
5054
|
-
], FsRowActionsComponent.prototype, "index", void 0);
|
|
5055
|
-
__decorate([
|
|
5056
|
-
Input(),
|
|
5057
|
-
__metadata("design:type", Object)
|
|
5058
|
-
], FsRowActionsComponent.prototype, "restoreMode", void 0);
|
|
5059
|
-
__decorate([
|
|
5060
|
-
Input(),
|
|
5061
|
-
__metadata("design:type", Array)
|
|
5062
|
-
], FsRowActionsComponent.prototype, "rowActions", void 0);
|
|
5063
|
-
__decorate([
|
|
5064
|
-
Input(),
|
|
5065
|
-
__metadata("design:type", EventEmitter)
|
|
5066
|
-
], FsRowActionsComponent.prototype, "rowRemoved", void 0);
|
|
5067
|
-
__decorate([
|
|
5068
|
-
Input(),
|
|
5069
|
-
__metadata("design:type", Array)
|
|
5070
|
-
], FsRowActionsComponent.prototype, "menuRowActions", void 0);
|
|
5071
|
-
__decorate([
|
|
5072
|
-
Input(),
|
|
5073
|
-
__metadata("design:type", Array)
|
|
5074
|
-
], FsRowActionsComponent.prototype, "inlineRowActions", void 0);
|
|
5075
|
-
__decorate([
|
|
5076
|
-
Input(),
|
|
5077
|
-
__metadata("design:type", RowAction)
|
|
5078
|
-
], FsRowActionsComponent.prototype, "restoreAction", void 0);
|
|
5079
|
-
FsRowActionsComponent = __decorate([
|
|
5080
|
-
Component({
|
|
5081
|
-
selector: 'fs-list-row-actions',
|
|
5082
|
-
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",
|
|
5083
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
5084
|
-
}),
|
|
5085
|
-
__metadata("design:paramtypes", [FsPrompt])
|
|
5086
|
-
], FsRowActionsComponent);
|
|
5087
|
-
|
|
5088
|
-
let FsRowInlineActionComponent = class FsRowInlineActionComponent {
|
|
5089
|
-
constructor(_fsPrompt) {
|
|
5090
|
-
this._fsPrompt = _fsPrompt;
|
|
5091
|
-
this.clicked = new EventEmitter();
|
|
5092
|
-
this.fileSelect = new EventEmitter();
|
|
4978
|
+
_waitFirstLoad() {
|
|
4979
|
+
this.list.loading$
|
|
4980
|
+
.pipe(skip(1), filter((value) => value === false), take(1), takeUntil(this.list.onDestroy$), takeUntil(this._destroy))
|
|
4981
|
+
.subscribe(() => {
|
|
4982
|
+
this.firstLoad = false;
|
|
4983
|
+
this.cdRef.markForCheck();
|
|
4984
|
+
});
|
|
5093
4985
|
}
|
|
5094
|
-
|
|
5095
|
-
this.
|
|
4986
|
+
_listenFiltersQueryChange() {
|
|
4987
|
+
this.list.filtersQuery$
|
|
4988
|
+
.pipe(takeUntil(this.list.onDestroy$), takeUntil(this._destroy))
|
|
4989
|
+
.subscribe((value) => {
|
|
4990
|
+
if (value) {
|
|
4991
|
+
const activeFilters = Object.keys(value).length;
|
|
4992
|
+
this.reorderController.setNunberOfActiveFilters(activeFilters);
|
|
4993
|
+
}
|
|
4994
|
+
});
|
|
5096
4995
|
}
|
|
5097
|
-
|
|
5098
|
-
|
|
4996
|
+
_configMergeCustomizer(objValue, srcValue) {
|
|
4997
|
+
if (Array.isArray(objValue)) {
|
|
4998
|
+
return objValue;
|
|
4999
|
+
}
|
|
5099
5000
|
}
|
|
5100
|
-
|
|
5101
|
-
|
|
5102
|
-
|
|
5103
|
-
];
|
|
5104
|
-
__decorate([
|
|
5105
|
-
Input(),
|
|
5106
|
-
__metadata("design:type", RowAction)
|
|
5107
|
-
], FsRowInlineActionComponent.prototype, "action", void 0);
|
|
5108
|
-
__decorate([
|
|
5109
|
-
Output(),
|
|
5110
|
-
__metadata("design:type", Object)
|
|
5111
|
-
], FsRowInlineActionComponent.prototype, "clicked", void 0);
|
|
5112
|
-
__decorate([
|
|
5113
|
-
Output(),
|
|
5114
|
-
__metadata("design:type", Object)
|
|
5115
|
-
], FsRowInlineActionComponent.prototype, "fileSelect", void 0);
|
|
5116
|
-
FsRowInlineActionComponent = __decorate([
|
|
5117
|
-
Component({
|
|
5118
|
-
selector: 'fs-list-row-inline-action',
|
|
5119
|
-
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",
|
|
5120
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
5121
|
-
}),
|
|
5122
|
-
__metadata("design:paramtypes", [FsPrompt])
|
|
5123
|
-
], FsRowInlineActionComponent);
|
|
5124
|
-
|
|
5125
|
-
let FsRowMenuActionComponent = class FsRowMenuActionComponent {
|
|
5126
|
-
constructor() {
|
|
5127
|
-
this.fileSelect = new EventEmitter();
|
|
5128
|
-
this.fileError = new EventEmitter();
|
|
5001
|
+
_restorePersistance(persistConfig) {
|
|
5002
|
+
const namespace = getNormalizedPath(this._location);
|
|
5003
|
+
this._persistance.setConfig(persistConfig, namespace, this._inDialog);
|
|
5129
5004
|
}
|
|
5130
|
-
}
|
|
5131
|
-
|
|
5132
|
-
|
|
5133
|
-
|
|
5134
|
-
|
|
5135
|
-
|
|
5136
|
-
Input(),
|
|
5137
|
-
|
|
5138
|
-
|
|
5139
|
-
|
|
5140
|
-
|
|
5141
|
-
|
|
5142
|
-
|
|
5143
|
-
|
|
5144
|
-
|
|
5145
|
-
|
|
5146
|
-
|
|
5147
|
-
|
|
5148
|
-
|
|
5149
|
-
|
|
5150
|
-
]
|
|
5151
|
-
|
|
5152
|
-
|
|
5153
|
-
|
|
5154
|
-
|
|
5155
|
-
|
|
5156
|
-
|
|
5157
|
-
],
|
|
5005
|
+
}
|
|
5006
|
+
FsListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListComponent, deps: [{ token: ReorderController }, { token: i0.ElementRef }, { token: FS_LIST_DEFAULT_CONFIG, optional: true }, { token: i2$4.FsScrollService, optional: true }, { token: i3$3.SelectionDialog }, { token: i4.MatDialog }, { token: i0.ChangeDetectorRef }, { token: GroupExpandNotifierService }, { token: i6$1.Router }, { token: i6$1.ActivatedRoute }, { token: PersistanceController }, { token: i3$1.Location }, { token: i4.MatDialogRef, optional: true }, { token: i9.DrawerRef, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
5007
|
+
FsListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsListComponent, selector: "fs-list", inputs: { config: "config", loaderLines: "loaderLines" }, outputs: { filtersReady: "filtersReady" }, host: { properties: { "class.fs-list": "this.classFsList" } }, providers: [
|
|
5008
|
+
GroupExpandNotifierService,
|
|
5009
|
+
PersistanceController,
|
|
5010
|
+
ReorderController,
|
|
5011
|
+
], queries: [{ propertyName: "_emptyStateTemplate", first: true, predicate: FsListEmptyStateDirective, descendants: true, read: TemplateRef }, { propertyName: "columnTemplates", predicate: FsListColumnDirective }], viewQueries: [{ propertyName: "filterReference", first: true, predicate: FilterComponent, descendants: true }], ngImport: i0, template: "<div class=\"fs-list-container\"\n [ngClass]=\"{ 'has-filter-input': list.filterInput,\n 'has-filters': list.filterConfig?.items.length,\n 'has-heading': list.heading,\n 'has-status': list.status,\n 'has-chips': list.chips,\n 'has-actions': list.actions.hasActions,\n 'first-load': firstLoad,\n 'loading': list.loading$ | async }\">\n <ng-template [ngTemplateOutlet]=\"listContainerContent\"></ng-template>\n</div>\n\n<ng-template #listContainerContent>\n <ng-container *ngIf=\"list.dataController.visibleRows$ | async as listData\">\n <!-- Header -->\n <div class=\"fs-list-header-container\">\n\n <div class=\"fs-list-header\"\n [ngClass]=\"{ 'no-wrap': reorderController.manualReorderActivated$ || !list.filterConfig?.items.length }\">\n <div class=\"heading-container\">\n <h2 class=\"heading\" *ngIf=\"list.heading\">{{list.heading}}</h2>\n <span class=\"subheading\" *ngIf=\"list.subheading\">{{list.subheading}}</span>\n </div>\n <fs-filter\n class=\"fs-list-filter\"\n *ngIf=\"list.filterConfig\"\n [filter]=\"list.filterConfig\"\n [showSortBy]=\"!list.status\"\n [showFilterInput]=\"list.filterInput\"\n (ready)=\"filterReady()\">\n\n <ng-template fsFilterStatusBar>\n <ng-container *ngIf=\"\n list.paging &&\n !(reorderController.manualReorderActivated$ | async) &&\n (!reorderController.enabled || reorderController.status) &&\n ((list.scrollable && list.scrollable.status) || !list.scrollable)\">\n <!-- Status -->\n <fs-list-status\n class=\"fs-list-status\"\n [ngClass]=\"{ 'hidden-mobile': !list.status }\"\n [rows]=\"listData\"\n [sorting]=\"list.sorting\"\n [paging]=\"list.paging\"\n [firstLoad]=\"firstLoad\"\n [scrollable]=\"list.scrollable\">\n </fs-list-status>\n </ng-container>\n </ng-template>\n </fs-filter>\n </div>\n </div>\n\n <ng-content select=\"[fs-list-content]\"></ng-content>\n\n <!-- Table implementation -->\n <div class=\"fs-list-table-container\">\n <table class=\"fs-list-table\" role=\"grid\" *ngIf=\"!firstLoad && listData.length > 0 && !list.emptyStateEnabled\">\n <thead fs-list-head\n class=\"fs-list-head\"\n role=\"rowgroup\"\n *ngIf=\"list.columns.hasHeader\"\n [ngClass]=\"list.columns.theadClass\"\n [columns]=\"list.columns.visibleColumns\"\n [sorting]=\"list.sorting\"\n [selection]=\"list.selection\"\n [hasRowActions]=\"list.hasRowActions\"\n >\n </thead>\n\n <tbody fs-list-body\n fsListDraggableList\n class=\"fs-list-body\"\n role=\"rowgroup\"\n [class.disabled]=\"!!(reorderController.reorderDisabled$ | async)\"\n [rows]=\"listData\"\n [rowActionsRaw]=\"list.rowActionsRaw\"\n [groupActionsRaw]=\"list.groupActionsRaw\"\n [hasRowActions]=\"list.hasRowActions\"\n [rowEvents]=\"list.rowEvents\"\n [rowClass]=\"list.rowClass\"\n [columns]=\"list.columns.visibleColumns\"\n [restoreMode]=\"list.restoreMode\"\n [selection]=\"list.selection\"\n [rowRemoved]=\"rowRemoved\"\n >\n </tbody>\n\n <tfoot fs-list-footer\n class=\"fs-list-footer\"\n *ngIf=\"list.columns.hasFooter\"\n [columns]=\"list.columns.visibleColumns\"\n [selection]=\"list.selection\"\n [hasRowActions]=\"list.hasRowActions\">\n </tfoot>\n </table>\n <fs-list-loader\n *ngIf=\"firstLoad\"\n [columns]=\"list.columns.columns\"\n [loaderLines]=\"loaderLines\">\n </fs-list-loader>\n </div>\n\n <fs-list-pagination\n *ngIf=\"paginatorVisible\"\n class=\"fs-list-pagination\"\n [rows]=\"listData\"\n [pagination]=\"list.paging\">\n </fs-list-pagination>\n\n\n <ng-container *ngIf=\"!firstLoad\">\n <div\n *ngIf=\"listData.length === 0\"\n class=\"fs-list-no-results-container\">\n <div\n *ngIf=\"list.noResults?.message && !list.emptyStateEnabled\"\n class=\"fs-list-no-results\">\n {{ list.noResults?.message }}\n </div>\n <ng-container *ngIf=\"list.emptyStateEnabled\">\n <ng-template [ngTemplateOutlet]=\"list.emptyStateTemplate\"></ng-template>\n </ng-container>\n </div>\n </ng-container>\n </ng-container>\n</ng-template>\n\n", styles: ["::ng-deep .fs-list{display:block;width:100%}::ng-deep .fs-list .fs-list-swap-restricted{opacity:.5}::ng-deep .fs-list .fs-list-no-drop{cursor:no-drop}::ng-deep .fs-list .fs-filter{margin-bottom:0;position:initial!important;display:block}::ng-deep .fs-list .fs-list-container.loading .fs-list-status,::ng-deep .fs-list .fs-list-container.loading .fs-list-body,::ng-deep .fs-list .fs-list-container.loading fs-list-pagination,::ng-deep .fs-list .fs-list-container.loading .filter-chips,::ng-deep .fs-list .fs-list-container.loading .fs-list-no-results-container,::ng-deep .fs-list .fs-list-container.first-load .fs-list-status,::ng-deep .fs-list .fs-list-container.first-load .fs-list-body,::ng-deep .fs-list .fs-list-container.first-load fs-list-pagination,::ng-deep .fs-list .fs-list-container.first-load .filter-chips,::ng-deep .fs-list .fs-list-container.first-load .fs-list-no-results-container{opacity:.4;pointer-events:none}::ng-deep .fs-list .fs-list-container.first-load ::ng-deep fs-filter-chips .fs-chip{color:transparent}::ng-deep .fs-list .fs-list-container.first-load ::ng-deep fs-filter-chips .fs-chip .remove{visibility:hidden}::ng-deep .fs-list .fs-list-container.has-actions .fs-list-actions{margin-left:5px}::ng-deep .fs-list .fs-list-table-container{width:100%;overflow:auto}::ng-deep .fs-list table,::ng-deep .fs-list .fs-list-table{border-spacing:0;display:table;width:100%;border-collapse:collapse}::ng-deep .fs-list .fs-list-no-results-container .fs-list-no-results{text-align:center;color:#999;padding:10px 0}::ng-deep .fs-list .hidden{display:none}::ng-deep .fs-list thead,::ng-deep .fs-list .fs-list-head{display:table-header-group}::ng-deep .fs-list thead th,::ng-deep .fs-list thead .fs-list-col,::ng-deep .fs-list .fs-list-head th,::ng-deep .fs-list .fs-list-head .fs-list-col{color:#999;padding:8px;font-weight:normal;font-size:13px;color:#8f8f8f}::ng-deep .fs-list thead th.fs-list-col-selection,::ng-deep .fs-list thead .fs-list-col.fs-list-col-selection,::ng-deep .fs-list .fs-list-head th.fs-list-col-selection,::ng-deep .fs-list .fs-list-head .fs-list-col.fs-list-col-selection{width:1%;text-align:left}::ng-deep .fs-list thead th.sorting,::ng-deep .fs-list thead .fs-list-col.sorting,::ng-deep .fs-list .fs-list-head th.sorting,::ng-deep .fs-list .fs-list-head .fs-list-col.sorting{cursor:pointer}::ng-deep .fs-list thead th.sorting:hover,::ng-deep .fs-list thead .fs-list-col.sorting:hover,::ng-deep .fs-list .fs-list-head th.sorting:hover,::ng-deep .fs-list .fs-list-head .fs-list-col.sorting:hover{background-color:#f6f6f6}::ng-deep .fs-list thead th .wrap,::ng-deep .fs-list thead .fs-list-col .wrap,::ng-deep .fs-list .fs-list-head th .wrap,::ng-deep .fs-list .fs-list-head .fs-list-col .wrap{display:inline-flex;vertical-align:middle;white-space:nowrap}::ng-deep .fs-list thead th .wrap mat-icon,::ng-deep .fs-list thead .fs-list-col .wrap mat-icon,::ng-deep .fs-list .fs-list-head th .wrap mat-icon,::ng-deep .fs-list .fs-list-head .fs-list-col .wrap mat-icon{font-size:14px;display:block;height:14px;width:14px}::ng-deep .fs-list thead th .wrap .direction,::ng-deep .fs-list thead .fs-list-col .wrap .direction,::ng-deep .fs-list .fs-list-head th .wrap .direction,::ng-deep .fs-list .fs-list-head .fs-list-col .wrap .direction{margin-left:5px}::ng-deep .fs-list thead th.sorting,::ng-deep .fs-list thead .fs-list-col.sorting,::ng-deep .fs-list .fs-list-head th.sorting,::ng-deep .fs-list .fs-list-head .fs-list-col.sorting{background-image:none}::ng-deep .fs-list tbody,::ng-deep .fs-list .fs-list-body{display:table-row-group;position:relative}::ng-deep .fs-list tbody.disabled,::ng-deep .fs-list .fs-list-body.disabled{opacity:.4;pointer-events:none}::ng-deep .fs-list tbody td,::ng-deep .fs-list tbody .fs-list-col,::ng-deep .fs-list .fs-list-body td,::ng-deep .fs-list .fs-list-body .fs-list-col{box-sizing:border-box}::ng-deep .fs-list tbody tr:hover td,::ng-deep .fs-list tbody .fs-list-row:hover .fs-list-col,::ng-deep .fs-list .fs-list-body tr:hover td,::ng-deep .fs-list .fs-list-body .fs-list-row:hover .fs-list-col{background-color:#f6f6f6}::ng-deep .fs-list tbody tr:hover td,::ng-deep .fs-list tbody tr:hover .fs-list-col,::ng-deep .fs-list tbody .fs-list-row:hover td,::ng-deep .fs-list tbody .fs-list-row:hover .fs-list-col,::ng-deep .fs-list .fs-list-body tr:hover td,::ng-deep .fs-list .fs-list-body tr:hover .fs-list-col,::ng-deep .fs-list .fs-list-body .fs-list-row:hover td,::ng-deep .fs-list .fs-list-body .fs-list-row:hover .fs-list-col{background-color:#f6f6f6}::ng-deep .fs-list tbody tr:first-child td,::ng-deep .fs-list .fs-list-body tr:first-child td{border-top:2px solid #ddd}::ng-deep .fs-list tbody tr:last-child td,::ng-deep .fs-list .fs-list-body tr:last-child td{border-bottom:2px solid #ddd}::ng-deep .fs-list tbody td,::ng-deep .fs-list .fs-list-body td{border-top:1px solid #ddd}::ng-deep .fs-list thead tr,::ng-deep .fs-list thead .fs-list-row,::ng-deep .fs-list tbody tr,::ng-deep .fs-list tbody .fs-list-row,::ng-deep .fs-list tfoot tr,::ng-deep .fs-list tfoot .fs-list-row,::ng-deep .fs-list .fs-list-head tr,::ng-deep .fs-list .fs-list-head .fs-list-row,::ng-deep .fs-list .fs-list-body tr,::ng-deep .fs-list .fs-list-body .fs-list-row,::ng-deep .fs-list .fs-list-footer tr,::ng-deep .fs-list .fs-list-footer .fs-list-row{display:table-row}::ng-deep .fs-list thead tr td,::ng-deep .fs-list thead tr th,::ng-deep .fs-list thead tr .fs-list-col,::ng-deep .fs-list thead .fs-list-row td,::ng-deep .fs-list thead .fs-list-row th,::ng-deep .fs-list thead .fs-list-row .fs-list-col,::ng-deep .fs-list tbody tr td,::ng-deep .fs-list tbody tr th,::ng-deep .fs-list tbody tr .fs-list-col,::ng-deep .fs-list tbody .fs-list-row td,::ng-deep .fs-list tbody .fs-list-row th,::ng-deep .fs-list tbody .fs-list-row .fs-list-col,::ng-deep .fs-list tfoot tr td,::ng-deep .fs-list tfoot tr th,::ng-deep .fs-list tfoot tr .fs-list-col,::ng-deep .fs-list tfoot .fs-list-row td,::ng-deep .fs-list tfoot .fs-list-row th,::ng-deep .fs-list tfoot .fs-list-row .fs-list-col,::ng-deep .fs-list .fs-list-head tr td,::ng-deep .fs-list .fs-list-head tr th,::ng-deep .fs-list .fs-list-head tr .fs-list-col,::ng-deep .fs-list .fs-list-head .fs-list-row td,::ng-deep .fs-list .fs-list-head .fs-list-row th,::ng-deep .fs-list .fs-list-head .fs-list-row .fs-list-col,::ng-deep .fs-list .fs-list-body tr td,::ng-deep .fs-list .fs-list-body tr th,::ng-deep .fs-list .fs-list-body tr .fs-list-col,::ng-deep .fs-list .fs-list-body .fs-list-row td,::ng-deep .fs-list .fs-list-body .fs-list-row th,::ng-deep .fs-list .fs-list-body .fs-list-row .fs-list-col,::ng-deep .fs-list .fs-list-footer tr td,::ng-deep .fs-list .fs-list-footer tr th,::ng-deep .fs-list .fs-list-footer tr .fs-list-col,::ng-deep .fs-list .fs-list-footer .fs-list-row td,::ng-deep .fs-list .fs-list-footer .fs-list-row th,::ng-deep .fs-list .fs-list-footer .fs-list-row .fs-list-col{display:table-cell;padding:8px;vertical-align:middle;outline:none}::ng-deep .fs-list thead tr td.drag-col,::ng-deep .fs-list thead tr th.drag-col,::ng-deep .fs-list thead tr .fs-list-col.drag-col,::ng-deep .fs-list thead .fs-list-row td.drag-col,::ng-deep .fs-list thead .fs-list-row th.drag-col,::ng-deep .fs-list thead .fs-list-row .fs-list-col.drag-col,::ng-deep .fs-list tbody tr td.drag-col,::ng-deep .fs-list tbody tr th.drag-col,::ng-deep .fs-list tbody tr .fs-list-col.drag-col,::ng-deep .fs-list tbody .fs-list-row td.drag-col,::ng-deep .fs-list tbody .fs-list-row th.drag-col,::ng-deep .fs-list tbody .fs-list-row .fs-list-col.drag-col,::ng-deep .fs-list tfoot tr td.drag-col,::ng-deep .fs-list tfoot tr th.drag-col,::ng-deep .fs-list tfoot tr .fs-list-col.drag-col,::ng-deep .fs-list tfoot .fs-list-row td.drag-col,::ng-deep .fs-list tfoot .fs-list-row th.drag-col,::ng-deep .fs-list tfoot .fs-list-row .fs-list-col.drag-col,::ng-deep .fs-list .fs-list-head tr td.drag-col,::ng-deep .fs-list .fs-list-head tr th.drag-col,::ng-deep .fs-list .fs-list-head tr .fs-list-col.drag-col,::ng-deep .fs-list .fs-list-head .fs-list-row td.drag-col,::ng-deep .fs-list .fs-list-head .fs-list-row th.drag-col,::ng-deep .fs-list .fs-list-head .fs-list-row .fs-list-col.drag-col,::ng-deep .fs-list .fs-list-body tr td.drag-col,::ng-deep .fs-list .fs-list-body tr th.drag-col,::ng-deep .fs-list .fs-list-body tr .fs-list-col.drag-col,::ng-deep .fs-list .fs-list-body .fs-list-row td.drag-col,::ng-deep .fs-list .fs-list-body .fs-list-row th.drag-col,::ng-deep .fs-list .fs-list-body .fs-list-row .fs-list-col.drag-col,::ng-deep .fs-list .fs-list-footer tr td.drag-col,::ng-deep .fs-list .fs-list-footer tr th.drag-col,::ng-deep .fs-list .fs-list-footer tr .fs-list-col.drag-col,::ng-deep .fs-list .fs-list-footer .fs-list-row td.drag-col,::ng-deep .fs-list .fs-list-footer .fs-list-row th.drag-col,::ng-deep .fs-list .fs-list-footer .fs-list-row .fs-list-col.drag-col{width:24px;text-align:center;cursor:grab}::ng-deep .fs-list thead tr td.drag-col mat-icon,::ng-deep .fs-list thead tr th.drag-col mat-icon,::ng-deep .fs-list thead tr .fs-list-col.drag-col mat-icon,::ng-deep .fs-list thead .fs-list-row td.drag-col mat-icon,::ng-deep .fs-list thead .fs-list-row th.drag-col mat-icon,::ng-deep .fs-list thead .fs-list-row .fs-list-col.drag-col mat-icon,::ng-deep .fs-list tbody tr td.drag-col mat-icon,::ng-deep .fs-list tbody tr th.drag-col mat-icon,::ng-deep .fs-list tbody tr .fs-list-col.drag-col mat-icon,::ng-deep .fs-list tbody .fs-list-row td.drag-col mat-icon,::ng-deep .fs-list tbody .fs-list-row th.drag-col mat-icon,::ng-deep .fs-list tbody .fs-list-row .fs-list-col.drag-col mat-icon,::ng-deep .fs-list tfoot tr td.drag-col mat-icon,::ng-deep .fs-list tfoot tr th.drag-col mat-icon,::ng-deep .fs-list tfoot tr .fs-list-col.drag-col mat-icon,::ng-deep .fs-list tfoot .fs-list-row td.drag-col mat-icon,::ng-deep .fs-list tfoot .fs-list-row th.drag-col mat-icon,::ng-deep .fs-list tfoot .fs-list-row .fs-list-col.drag-col mat-icon,::ng-deep .fs-list .fs-list-head tr td.drag-col mat-icon,::ng-deep .fs-list .fs-list-head tr th.drag-col mat-icon,::ng-deep .fs-list .fs-list-head tr .fs-list-col.drag-col mat-icon,::ng-deep .fs-list .fs-list-head .fs-list-row td.drag-col mat-icon,::ng-deep .fs-list .fs-list-head .fs-list-row th.drag-col mat-icon,::ng-deep .fs-list .fs-list-head .fs-list-row .fs-list-col.drag-col mat-icon,::ng-deep .fs-list .fs-list-body tr td.drag-col mat-icon,::ng-deep .fs-list .fs-list-body tr th.drag-col mat-icon,::ng-deep .fs-list .fs-list-body tr .fs-list-col.drag-col mat-icon,::ng-deep .fs-list .fs-list-body .fs-list-row td.drag-col mat-icon,::ng-deep .fs-list .fs-list-body .fs-list-row th.drag-col mat-icon,::ng-deep .fs-list .fs-list-body .fs-list-row .fs-list-col.drag-col mat-icon,::ng-deep .fs-list .fs-list-footer tr td.drag-col mat-icon,::ng-deep .fs-list .fs-list-footer tr th.drag-col mat-icon,::ng-deep .fs-list .fs-list-footer tr .fs-list-col.drag-col mat-icon,::ng-deep .fs-list .fs-list-footer .fs-list-row td.drag-col mat-icon,::ng-deep .fs-list .fs-list-footer .fs-list-row th.drag-col mat-icon,::ng-deep .fs-list .fs-list-footer .fs-list-row .fs-list-col.drag-col mat-icon{display:flex}::ng-deep .fs-list thead tr td.row-actions,::ng-deep .fs-list thead tr th.row-actions,::ng-deep .fs-list thead tr .fs-list-col.row-actions,::ng-deep .fs-list thead .fs-list-row td.row-actions,::ng-deep .fs-list thead .fs-list-row th.row-actions,::ng-deep .fs-list thead .fs-list-row .fs-list-col.row-actions,::ng-deep .fs-list tbody tr td.row-actions,::ng-deep .fs-list tbody tr th.row-actions,::ng-deep .fs-list tbody tr .fs-list-col.row-actions,::ng-deep .fs-list tbody .fs-list-row td.row-actions,::ng-deep .fs-list tbody .fs-list-row th.row-actions,::ng-deep .fs-list tbody .fs-list-row .fs-list-col.row-actions,::ng-deep .fs-list tfoot tr td.row-actions,::ng-deep .fs-list tfoot tr th.row-actions,::ng-deep .fs-list tfoot tr .fs-list-col.row-actions,::ng-deep .fs-list tfoot .fs-list-row td.row-actions,::ng-deep .fs-list tfoot .fs-list-row th.row-actions,::ng-deep .fs-list tfoot .fs-list-row .fs-list-col.row-actions,::ng-deep .fs-list .fs-list-head tr td.row-actions,::ng-deep .fs-list .fs-list-head tr th.row-actions,::ng-deep .fs-list .fs-list-head tr .fs-list-col.row-actions,::ng-deep .fs-list .fs-list-head .fs-list-row td.row-actions,::ng-deep .fs-list .fs-list-head .fs-list-row th.row-actions,::ng-deep .fs-list .fs-list-head .fs-list-row .fs-list-col.row-actions,::ng-deep .fs-list .fs-list-body tr td.row-actions,::ng-deep .fs-list .fs-list-body tr th.row-actions,::ng-deep .fs-list .fs-list-body tr .fs-list-col.row-actions,::ng-deep .fs-list .fs-list-body .fs-list-row td.row-actions,::ng-deep .fs-list .fs-list-body .fs-list-row th.row-actions,::ng-deep .fs-list .fs-list-body .fs-list-row .fs-list-col.row-actions,::ng-deep .fs-list .fs-list-footer tr td.row-actions,::ng-deep .fs-list .fs-list-footer tr th.row-actions,::ng-deep .fs-list .fs-list-footer tr .fs-list-col.row-actions,::ng-deep .fs-list .fs-list-footer .fs-list-row td.row-actions,::ng-deep .fs-list .fs-list-footer .fs-list-row th.row-actions,::ng-deep .fs-list .fs-list-footer .fs-list-row .fs-list-col.row-actions{width:1%;white-space:nowrap;padding-right:10px;overflow:hidden}::ng-deep .fs-list thead tr td.row-actions .row-inline-action,::ng-deep .fs-list thead tr th.row-actions .row-inline-action,::ng-deep .fs-list thead tr .fs-list-col.row-actions .row-inline-action,::ng-deep .fs-list thead .fs-list-row td.row-actions .row-inline-action,::ng-deep .fs-list thead .fs-list-row th.row-actions .row-inline-action,::ng-deep .fs-list thead .fs-list-row .fs-list-col.row-actions .row-inline-action,::ng-deep .fs-list tbody tr td.row-actions .row-inline-action,::ng-deep .fs-list tbody tr th.row-actions .row-inline-action,::ng-deep .fs-list tbody tr .fs-list-col.row-actions .row-inline-action,::ng-deep .fs-list tbody .fs-list-row td.row-actions .row-inline-action,::ng-deep .fs-list tbody .fs-list-row th.row-actions .row-inline-action,::ng-deep .fs-list tbody .fs-list-row .fs-list-col.row-actions .row-inline-action,::ng-deep .fs-list tfoot tr td.row-actions .row-inline-action,::ng-deep .fs-list tfoot tr th.row-actions .row-inline-action,::ng-deep .fs-list tfoot tr .fs-list-col.row-actions .row-inline-action,::ng-deep .fs-list tfoot .fs-list-row td.row-actions .row-inline-action,::ng-deep .fs-list tfoot .fs-list-row th.row-actions .row-inline-action,::ng-deep .fs-list tfoot .fs-list-row .fs-list-col.row-actions .row-inline-action,::ng-deep .fs-list .fs-list-head tr td.row-actions .row-inline-action,::ng-deep .fs-list .fs-list-head tr th.row-actions .row-inline-action,::ng-deep .fs-list .fs-list-head tr .fs-list-col.row-actions .row-inline-action,::ng-deep .fs-list .fs-list-head .fs-list-row td.row-actions .row-inline-action,::ng-deep .fs-list .fs-list-head .fs-list-row th.row-actions .row-inline-action,::ng-deep .fs-list .fs-list-head .fs-list-row .fs-list-col.row-actions .row-inline-action,::ng-deep .fs-list .fs-list-body tr td.row-actions .row-inline-action,::ng-deep .fs-list .fs-list-body tr th.row-actions .row-inline-action,::ng-deep .fs-list .fs-list-body tr .fs-list-col.row-actions .row-inline-action,::ng-deep .fs-list .fs-list-body .fs-list-row td.row-actions .row-inline-action,::ng-deep .fs-list .fs-list-body .fs-list-row th.row-actions .row-inline-action,::ng-deep .fs-list .fs-list-body .fs-list-row .fs-list-col.row-actions .row-inline-action,::ng-deep .fs-list .fs-list-footer tr td.row-actions .row-inline-action,::ng-deep .fs-list .fs-list-footer tr th.row-actions .row-inline-action,::ng-deep .fs-list .fs-list-footer tr .fs-list-col.row-actions .row-inline-action,::ng-deep .fs-list .fs-list-footer .fs-list-row td.row-actions .row-inline-action,::ng-deep .fs-list .fs-list-footer .fs-list-row th.row-actions .row-inline-action,::ng-deep .fs-list .fs-list-footer .fs-list-row .fs-list-col.row-actions .row-inline-action{margin-left:12px;display:inline-block}::ng-deep .fs-list thead tr td.row-actions .row-inline-action:first-child,::ng-deep .fs-list thead tr th.row-actions .row-inline-action:first-child,::ng-deep .fs-list thead tr .fs-list-col.row-actions .row-inline-action:first-child,::ng-deep .fs-list thead .fs-list-row td.row-actions .row-inline-action:first-child,::ng-deep .fs-list thead .fs-list-row th.row-actions .row-inline-action:first-child,::ng-deep .fs-list thead .fs-list-row .fs-list-col.row-actions .row-inline-action:first-child,::ng-deep .fs-list tbody tr td.row-actions .row-inline-action:first-child,::ng-deep .fs-list tbody tr th.row-actions .row-inline-action:first-child,::ng-deep .fs-list tbody tr .fs-list-col.row-actions .row-inline-action:first-child,::ng-deep .fs-list tbody .fs-list-row td.row-actions .row-inline-action:first-child,::ng-deep .fs-list tbody .fs-list-row th.row-actions .row-inline-action:first-child,::ng-deep .fs-list tbody .fs-list-row .fs-list-col.row-actions .row-inline-action:first-child,::ng-deep .fs-list tfoot tr td.row-actions .row-inline-action:first-child,::ng-deep .fs-list tfoot tr th.row-actions .row-inline-action:first-child,::ng-deep .fs-list tfoot tr .fs-list-col.row-actions .row-inline-action:first-child,::ng-deep .fs-list tfoot .fs-list-row td.row-actions .row-inline-action:first-child,::ng-deep .fs-list tfoot .fs-list-row th.row-actions .row-inline-action:first-child,::ng-deep .fs-list tfoot .fs-list-row .fs-list-col.row-actions .row-inline-action:first-child,::ng-deep .fs-list .fs-list-head tr td.row-actions .row-inline-action:first-child,::ng-deep .fs-list .fs-list-head tr th.row-actions .row-inline-action:first-child,::ng-deep .fs-list .fs-list-head tr .fs-list-col.row-actions .row-inline-action:first-child,::ng-deep .fs-list .fs-list-head .fs-list-row td.row-actions .row-inline-action:first-child,::ng-deep .fs-list .fs-list-head .fs-list-row th.row-actions .row-inline-action:first-child,::ng-deep .fs-list .fs-list-head .fs-list-row .fs-list-col.row-actions .row-inline-action:first-child,::ng-deep .fs-list .fs-list-body tr td.row-actions .row-inline-action:first-child,::ng-deep .fs-list .fs-list-body tr th.row-actions .row-inline-action:first-child,::ng-deep .fs-list .fs-list-body tr .fs-list-col.row-actions .row-inline-action:first-child,::ng-deep .fs-list .fs-list-body .fs-list-row td.row-actions .row-inline-action:first-child,::ng-deep .fs-list .fs-list-body .fs-list-row th.row-actions .row-inline-action:first-child,::ng-deep .fs-list .fs-list-body .fs-list-row .fs-list-col.row-actions .row-inline-action:first-child,::ng-deep .fs-list .fs-list-footer tr td.row-actions .row-inline-action:first-child,::ng-deep .fs-list .fs-list-footer tr th.row-actions .row-inline-action:first-child,::ng-deep .fs-list .fs-list-footer tr .fs-list-col.row-actions .row-inline-action:first-child,::ng-deep .fs-list .fs-list-footer .fs-list-row td.row-actions .row-inline-action:first-child,::ng-deep .fs-list .fs-list-footer .fs-list-row th.row-actions .row-inline-action:first-child,::ng-deep .fs-list .fs-list-footer .fs-list-row .fs-list-col.row-actions .row-inline-action:first-child{margin-left:0}::ng-deep .fs-list thead tr td.row-actions .row-inline-action-icon,::ng-deep .fs-list thead tr td.row-actions .row-inline-action-fab,::ng-deep .fs-list thead tr td.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list thead tr td.row-actions .row-menu-action,::ng-deep .fs-list thead tr th.row-actions .row-inline-action-icon,::ng-deep .fs-list thead tr th.row-actions .row-inline-action-fab,::ng-deep .fs-list thead tr th.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list thead tr th.row-actions .row-menu-action,::ng-deep .fs-list thead tr .fs-list-col.row-actions .row-inline-action-icon,::ng-deep .fs-list thead tr .fs-list-col.row-actions .row-inline-action-fab,::ng-deep .fs-list thead tr .fs-list-col.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list thead tr .fs-list-col.row-actions .row-menu-action,::ng-deep .fs-list thead .fs-list-row td.row-actions .row-inline-action-icon,::ng-deep .fs-list thead .fs-list-row td.row-actions .row-inline-action-fab,::ng-deep .fs-list thead .fs-list-row td.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list thead .fs-list-row td.row-actions .row-menu-action,::ng-deep .fs-list thead .fs-list-row th.row-actions .row-inline-action-icon,::ng-deep .fs-list thead .fs-list-row th.row-actions .row-inline-action-fab,::ng-deep .fs-list thead .fs-list-row th.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list thead .fs-list-row th.row-actions .row-menu-action,::ng-deep .fs-list thead .fs-list-row .fs-list-col.row-actions .row-inline-action-icon,::ng-deep .fs-list thead .fs-list-row .fs-list-col.row-actions .row-inline-action-fab,::ng-deep .fs-list thead .fs-list-row .fs-list-col.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list thead .fs-list-row .fs-list-col.row-actions .row-menu-action,::ng-deep .fs-list tbody tr td.row-actions .row-inline-action-icon,::ng-deep .fs-list tbody tr td.row-actions .row-inline-action-fab,::ng-deep .fs-list tbody tr td.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list tbody tr td.row-actions .row-menu-action,::ng-deep .fs-list tbody tr th.row-actions .row-inline-action-icon,::ng-deep .fs-list tbody tr th.row-actions .row-inline-action-fab,::ng-deep .fs-list tbody tr th.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list tbody tr th.row-actions .row-menu-action,::ng-deep .fs-list tbody tr .fs-list-col.row-actions .row-inline-action-icon,::ng-deep .fs-list tbody tr .fs-list-col.row-actions .row-inline-action-fab,::ng-deep .fs-list tbody tr .fs-list-col.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list tbody tr .fs-list-col.row-actions .row-menu-action,::ng-deep .fs-list tbody .fs-list-row td.row-actions .row-inline-action-icon,::ng-deep .fs-list tbody .fs-list-row td.row-actions .row-inline-action-fab,::ng-deep .fs-list tbody .fs-list-row td.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list tbody .fs-list-row td.row-actions .row-menu-action,::ng-deep .fs-list tbody .fs-list-row th.row-actions .row-inline-action-icon,::ng-deep .fs-list tbody .fs-list-row th.row-actions .row-inline-action-fab,::ng-deep .fs-list tbody .fs-list-row th.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list tbody .fs-list-row th.row-actions .row-menu-action,::ng-deep .fs-list tbody .fs-list-row .fs-list-col.row-actions .row-inline-action-icon,::ng-deep .fs-list tbody .fs-list-row .fs-list-col.row-actions .row-inline-action-fab,::ng-deep .fs-list tbody .fs-list-row .fs-list-col.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list tbody .fs-list-row .fs-list-col.row-actions .row-menu-action,::ng-deep .fs-list tfoot tr td.row-actions .row-inline-action-icon,::ng-deep .fs-list tfoot tr td.row-actions .row-inline-action-fab,::ng-deep .fs-list tfoot tr td.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list tfoot tr td.row-actions .row-menu-action,::ng-deep .fs-list tfoot tr th.row-actions .row-inline-action-icon,::ng-deep .fs-list tfoot tr th.row-actions .row-inline-action-fab,::ng-deep .fs-list tfoot tr th.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list tfoot tr th.row-actions .row-menu-action,::ng-deep .fs-list tfoot tr .fs-list-col.row-actions .row-inline-action-icon,::ng-deep .fs-list tfoot tr .fs-list-col.row-actions .row-inline-action-fab,::ng-deep .fs-list tfoot tr .fs-list-col.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list tfoot tr .fs-list-col.row-actions .row-menu-action,::ng-deep .fs-list tfoot .fs-list-row td.row-actions .row-inline-action-icon,::ng-deep .fs-list tfoot .fs-list-row td.row-actions .row-inline-action-fab,::ng-deep .fs-list tfoot .fs-list-row td.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list tfoot .fs-list-row td.row-actions .row-menu-action,::ng-deep .fs-list tfoot .fs-list-row th.row-actions .row-inline-action-icon,::ng-deep .fs-list tfoot .fs-list-row th.row-actions .row-inline-action-fab,::ng-deep .fs-list tfoot .fs-list-row th.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list tfoot .fs-list-row th.row-actions .row-menu-action,::ng-deep .fs-list tfoot .fs-list-row .fs-list-col.row-actions .row-inline-action-icon,::ng-deep .fs-list tfoot .fs-list-row .fs-list-col.row-actions .row-inline-action-fab,::ng-deep .fs-list tfoot .fs-list-row .fs-list-col.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list tfoot .fs-list-row .fs-list-col.row-actions .row-menu-action,::ng-deep .fs-list .fs-list-head tr td.row-actions .row-inline-action-icon,::ng-deep .fs-list .fs-list-head tr td.row-actions .row-inline-action-fab,::ng-deep .fs-list .fs-list-head tr td.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list .fs-list-head tr td.row-actions .row-menu-action,::ng-deep .fs-list .fs-list-head tr th.row-actions .row-inline-action-icon,::ng-deep .fs-list .fs-list-head tr th.row-actions .row-inline-action-fab,::ng-deep .fs-list .fs-list-head tr th.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list .fs-list-head tr th.row-actions .row-menu-action,::ng-deep .fs-list .fs-list-head tr .fs-list-col.row-actions .row-inline-action-icon,::ng-deep .fs-list .fs-list-head tr .fs-list-col.row-actions .row-inline-action-fab,::ng-deep .fs-list .fs-list-head tr .fs-list-col.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list .fs-list-head tr .fs-list-col.row-actions .row-menu-action,::ng-deep .fs-list .fs-list-head .fs-list-row td.row-actions .row-inline-action-icon,::ng-deep .fs-list .fs-list-head .fs-list-row td.row-actions .row-inline-action-fab,::ng-deep .fs-list .fs-list-head .fs-list-row td.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list .fs-list-head .fs-list-row td.row-actions .row-menu-action,::ng-deep .fs-list .fs-list-head .fs-list-row th.row-actions .row-inline-action-icon,::ng-deep .fs-list .fs-list-head .fs-list-row th.row-actions .row-inline-action-fab,::ng-deep .fs-list .fs-list-head .fs-list-row th.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list .fs-list-head .fs-list-row th.row-actions .row-menu-action,::ng-deep .fs-list .fs-list-head .fs-list-row .fs-list-col.row-actions .row-inline-action-icon,::ng-deep .fs-list .fs-list-head .fs-list-row .fs-list-col.row-actions .row-inline-action-fab,::ng-deep .fs-list .fs-list-head .fs-list-row .fs-list-col.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list .fs-list-head .fs-list-row .fs-list-col.row-actions .row-menu-action,::ng-deep .fs-list .fs-list-body tr td.row-actions .row-inline-action-icon,::ng-deep .fs-list .fs-list-body tr td.row-actions .row-inline-action-fab,::ng-deep .fs-list .fs-list-body tr td.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list .fs-list-body tr td.row-actions .row-menu-action,::ng-deep .fs-list .fs-list-body tr th.row-actions .row-inline-action-icon,::ng-deep .fs-list .fs-list-body tr th.row-actions .row-inline-action-fab,::ng-deep .fs-list .fs-list-body tr th.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list .fs-list-body tr th.row-actions .row-menu-action,::ng-deep .fs-list .fs-list-body tr .fs-list-col.row-actions .row-inline-action-icon,::ng-deep .fs-list .fs-list-body tr .fs-list-col.row-actions .row-inline-action-fab,::ng-deep .fs-list .fs-list-body tr .fs-list-col.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list .fs-list-body tr .fs-list-col.row-actions .row-menu-action,::ng-deep .fs-list .fs-list-body .fs-list-row td.row-actions .row-inline-action-icon,::ng-deep .fs-list .fs-list-body .fs-list-row td.row-actions .row-inline-action-fab,::ng-deep .fs-list .fs-list-body .fs-list-row td.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list .fs-list-body .fs-list-row td.row-actions .row-menu-action,::ng-deep .fs-list .fs-list-body .fs-list-row th.row-actions .row-inline-action-icon,::ng-deep .fs-list .fs-list-body .fs-list-row th.row-actions .row-inline-action-fab,::ng-deep .fs-list .fs-list-body .fs-list-row th.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list .fs-list-body .fs-list-row th.row-actions .row-menu-action,::ng-deep .fs-list .fs-list-body .fs-list-row .fs-list-col.row-actions .row-inline-action-icon,::ng-deep .fs-list .fs-list-body .fs-list-row .fs-list-col.row-actions .row-inline-action-fab,::ng-deep .fs-list .fs-list-body .fs-list-row .fs-list-col.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list .fs-list-body .fs-list-row .fs-list-col.row-actions .row-menu-action,::ng-deep .fs-list .fs-list-footer tr td.row-actions .row-inline-action-icon,::ng-deep .fs-list .fs-list-footer tr td.row-actions .row-inline-action-fab,::ng-deep .fs-list .fs-list-footer tr td.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list .fs-list-footer tr td.row-actions .row-menu-action,::ng-deep .fs-list .fs-list-footer tr th.row-actions .row-inline-action-icon,::ng-deep .fs-list .fs-list-footer tr th.row-actions .row-inline-action-fab,::ng-deep .fs-list .fs-list-footer tr th.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list .fs-list-footer tr th.row-actions .row-menu-action,::ng-deep .fs-list .fs-list-footer tr .fs-list-col.row-actions .row-inline-action-icon,::ng-deep .fs-list .fs-list-footer tr .fs-list-col.row-actions .row-inline-action-fab,::ng-deep .fs-list .fs-list-footer tr .fs-list-col.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list .fs-list-footer tr .fs-list-col.row-actions .row-menu-action,::ng-deep .fs-list .fs-list-footer .fs-list-row td.row-actions .row-inline-action-icon,::ng-deep .fs-list .fs-list-footer .fs-list-row td.row-actions .row-inline-action-fab,::ng-deep .fs-list .fs-list-footer .fs-list-row td.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list .fs-list-footer .fs-list-row td.row-actions .row-menu-action,::ng-deep .fs-list .fs-list-footer .fs-list-row th.row-actions .row-inline-action-icon,::ng-deep .fs-list .fs-list-footer .fs-list-row th.row-actions .row-inline-action-fab,::ng-deep .fs-list .fs-list-footer .fs-list-row th.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list .fs-list-footer .fs-list-row th.row-actions .row-menu-action,::ng-deep .fs-list .fs-list-footer .fs-list-row .fs-list-col.row-actions .row-inline-action-icon,::ng-deep .fs-list .fs-list-footer .fs-list-row .fs-list-col.row-actions .row-inline-action-fab,::ng-deep .fs-list .fs-list-footer .fs-list-row .fs-list-col.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list .fs-list-footer .fs-list-row .fs-list-col.row-actions .row-menu-action{width:35px;justify-content:center;align-items:center}::ng-deep .fs-list thead tr td.left,::ng-deep .fs-list thead tr th.left,::ng-deep .fs-list thead tr .fs-list-col.left,::ng-deep .fs-list thead .fs-list-row td.left,::ng-deep .fs-list thead .fs-list-row th.left,::ng-deep .fs-list thead .fs-list-row .fs-list-col.left,::ng-deep .fs-list tbody tr td.left,::ng-deep .fs-list tbody tr th.left,::ng-deep .fs-list tbody tr .fs-list-col.left,::ng-deep .fs-list tbody .fs-list-row td.left,::ng-deep .fs-list tbody .fs-list-row th.left,::ng-deep .fs-list tbody .fs-list-row .fs-list-col.left,::ng-deep .fs-list tfoot tr td.left,::ng-deep .fs-list tfoot tr th.left,::ng-deep .fs-list tfoot tr .fs-list-col.left,::ng-deep .fs-list tfoot .fs-list-row td.left,::ng-deep .fs-list tfoot .fs-list-row th.left,::ng-deep .fs-list tfoot .fs-list-row .fs-list-col.left,::ng-deep .fs-list .fs-list-head tr td.left,::ng-deep .fs-list .fs-list-head tr th.left,::ng-deep .fs-list .fs-list-head tr .fs-list-col.left,::ng-deep .fs-list .fs-list-head .fs-list-row td.left,::ng-deep .fs-list .fs-list-head .fs-list-row th.left,::ng-deep .fs-list .fs-list-head .fs-list-row .fs-list-col.left,::ng-deep .fs-list .fs-list-body tr td.left,::ng-deep .fs-list .fs-list-body tr th.left,::ng-deep .fs-list .fs-list-body tr .fs-list-col.left,::ng-deep .fs-list .fs-list-body .fs-list-row td.left,::ng-deep .fs-list .fs-list-body .fs-list-row th.left,::ng-deep .fs-list .fs-list-body .fs-list-row .fs-list-col.left,::ng-deep .fs-list .fs-list-footer tr td.left,::ng-deep .fs-list .fs-list-footer tr th.left,::ng-deep .fs-list .fs-list-footer tr .fs-list-col.left,::ng-deep .fs-list .fs-list-footer .fs-list-row td.left,::ng-deep .fs-list .fs-list-footer .fs-list-row th.left,::ng-deep .fs-list .fs-list-footer .fs-list-row .fs-list-col.left{text-align:left}::ng-deep .fs-list thead tr td.center,::ng-deep .fs-list thead tr th.center,::ng-deep .fs-list thead tr .fs-list-col.center,::ng-deep .fs-list thead .fs-list-row td.center,::ng-deep .fs-list thead .fs-list-row th.center,::ng-deep .fs-list thead .fs-list-row .fs-list-col.center,::ng-deep .fs-list tbody tr td.center,::ng-deep .fs-list tbody tr th.center,::ng-deep .fs-list tbody tr .fs-list-col.center,::ng-deep .fs-list tbody .fs-list-row td.center,::ng-deep .fs-list tbody .fs-list-row th.center,::ng-deep .fs-list tbody .fs-list-row .fs-list-col.center,::ng-deep .fs-list tfoot tr td.center,::ng-deep .fs-list tfoot tr th.center,::ng-deep .fs-list tfoot tr .fs-list-col.center,::ng-deep .fs-list tfoot .fs-list-row td.center,::ng-deep .fs-list tfoot .fs-list-row th.center,::ng-deep .fs-list tfoot .fs-list-row .fs-list-col.center,::ng-deep .fs-list .fs-list-head tr td.center,::ng-deep .fs-list .fs-list-head tr th.center,::ng-deep .fs-list .fs-list-head tr .fs-list-col.center,::ng-deep .fs-list .fs-list-head .fs-list-row td.center,::ng-deep .fs-list .fs-list-head .fs-list-row th.center,::ng-deep .fs-list .fs-list-head .fs-list-row .fs-list-col.center,::ng-deep .fs-list .fs-list-body tr td.center,::ng-deep .fs-list .fs-list-body tr th.center,::ng-deep .fs-list .fs-list-body tr .fs-list-col.center,::ng-deep .fs-list .fs-list-body .fs-list-row td.center,::ng-deep .fs-list .fs-list-body .fs-list-row th.center,::ng-deep .fs-list .fs-list-body .fs-list-row .fs-list-col.center,::ng-deep .fs-list .fs-list-footer tr td.center,::ng-deep .fs-list .fs-list-footer tr th.center,::ng-deep .fs-list .fs-list-footer tr .fs-list-col.center,::ng-deep .fs-list .fs-list-footer .fs-list-row td.center,::ng-deep .fs-list .fs-list-footer .fs-list-row th.center,::ng-deep .fs-list .fs-list-footer .fs-list-row .fs-list-col.center{text-align:center}::ng-deep .fs-list thead tr td.right,::ng-deep .fs-list thead tr th.right,::ng-deep .fs-list thead tr .fs-list-col.right,::ng-deep .fs-list thead .fs-list-row td.right,::ng-deep .fs-list thead .fs-list-row th.right,::ng-deep .fs-list thead .fs-list-row .fs-list-col.right,::ng-deep .fs-list tbody tr td.right,::ng-deep .fs-list tbody tr th.right,::ng-deep .fs-list tbody tr .fs-list-col.right,::ng-deep .fs-list tbody .fs-list-row td.right,::ng-deep .fs-list tbody .fs-list-row th.right,::ng-deep .fs-list tbody .fs-list-row .fs-list-col.right,::ng-deep .fs-list tfoot tr td.right,::ng-deep .fs-list tfoot tr th.right,::ng-deep .fs-list tfoot tr .fs-list-col.right,::ng-deep .fs-list tfoot .fs-list-row td.right,::ng-deep .fs-list tfoot .fs-list-row th.right,::ng-deep .fs-list tfoot .fs-list-row .fs-list-col.right,::ng-deep .fs-list .fs-list-head tr td.right,::ng-deep .fs-list .fs-list-head tr th.right,::ng-deep .fs-list .fs-list-head tr .fs-list-col.right,::ng-deep .fs-list .fs-list-head .fs-list-row td.right,::ng-deep .fs-list .fs-list-head .fs-list-row th.right,::ng-deep .fs-list .fs-list-head .fs-list-row .fs-list-col.right,::ng-deep .fs-list .fs-list-body tr td.right,::ng-deep .fs-list .fs-list-body tr th.right,::ng-deep .fs-list .fs-list-body tr .fs-list-col.right,::ng-deep .fs-list .fs-list-body .fs-list-row td.right,::ng-deep .fs-list .fs-list-body .fs-list-row th.right,::ng-deep .fs-list .fs-list-body .fs-list-row .fs-list-col.right,::ng-deep .fs-list .fs-list-footer tr td.right,::ng-deep .fs-list .fs-list-footer tr th.right,::ng-deep .fs-list .fs-list-footer tr .fs-list-col.right,::ng-deep .fs-list .fs-list-footer .fs-list-row td.right,::ng-deep .fs-list .fs-list-footer .fs-list-row th.right,::ng-deep .fs-list .fs-list-footer .fs-list-row .fs-list-col.right{text-align:right}::ng-deep .fs-list thead tr.draggable,::ng-deep .fs-list thead .fs-list-row.draggable,::ng-deep .fs-list tbody tr.draggable,::ng-deep .fs-list tbody .fs-list-row.draggable,::ng-deep .fs-list tfoot tr.draggable,::ng-deep .fs-list tfoot .fs-list-row.draggable,::ng-deep .fs-list .fs-list-head tr.draggable,::ng-deep .fs-list .fs-list-head .fs-list-row.draggable,::ng-deep .fs-list .fs-list-body tr.draggable,::ng-deep .fs-list .fs-list-body .fs-list-row.draggable,::ng-deep .fs-list .fs-list-footer tr.draggable,::ng-deep .fs-list .fs-list-footer .fs-list-row.draggable{position:fixed;z-index:9999;box-shadow:2px 2px 2px #9e9e9ea6;border-radius:5px}::ng-deep .fs-list thead tr.draggable td,::ng-deep .fs-list thead tr.draggable .fs-list-col,::ng-deep .fs-list thead .fs-list-row.draggable td,::ng-deep .fs-list thead .fs-list-row.draggable .fs-list-col,::ng-deep .fs-list tbody tr.draggable td,::ng-deep .fs-list tbody tr.draggable .fs-list-col,::ng-deep .fs-list tbody .fs-list-row.draggable td,::ng-deep .fs-list tbody .fs-list-row.draggable .fs-list-col,::ng-deep .fs-list tfoot tr.draggable td,::ng-deep .fs-list tfoot tr.draggable .fs-list-col,::ng-deep .fs-list tfoot .fs-list-row.draggable td,::ng-deep .fs-list tfoot .fs-list-row.draggable .fs-list-col,::ng-deep .fs-list .fs-list-head tr.draggable td,::ng-deep .fs-list .fs-list-head tr.draggable .fs-list-col,::ng-deep .fs-list .fs-list-head .fs-list-row.draggable td,::ng-deep .fs-list .fs-list-head .fs-list-row.draggable .fs-list-col,::ng-deep .fs-list .fs-list-body tr.draggable td,::ng-deep .fs-list .fs-list-body tr.draggable .fs-list-col,::ng-deep .fs-list .fs-list-body .fs-list-row.draggable td,::ng-deep .fs-list .fs-list-body .fs-list-row.draggable .fs-list-col,::ng-deep .fs-list .fs-list-footer tr.draggable td,::ng-deep .fs-list .fs-list-footer tr.draggable .fs-list-col,::ng-deep .fs-list .fs-list-footer .fs-list-row.draggable td,::ng-deep .fs-list .fs-list-footer .fs-list-row.draggable .fs-list-col{background-color:#f6f6f6;border:none}::ng-deep .fs-list .fs-list-header .heading-container{font-weight:600;font-size:18px;color:#212537;display:flex;flex-direction:column;justify-content:center}::ng-deep .fs-list .fs-list-header .heading{margin:0;line-height:36px}::ng-deep .fs-list .fs-list-header .subheading{display:block;font-size:14px;color:#929292;font-weight:400}::ng-deep .fs-list .fs-list-header .fs-list-actions{white-space:nowrap;float:right}::ng-deep .fs-list .fs-list-header .fs-list-actions .menu-button{width:36px;height:36px;line-height:36px}::ng-deep .fs-list .fs-list-header .action-button{margin-left:5px}::ng-deep .fs-list .fs-list-header .action-button:first-child{margin-left:0}::ng-deep .fs-list .fs-list-header .mat-button{margin-top:0;margin-bottom:0;margin-right:0}::ng-deep .fs-list .fs-list-container{width:100%}::ng-deep .fs-list .fs-list-container:not(.has-filters):not(.has-actions):not(.has-heading) .fs-list-header-container{display:none}::ng-deep .fs-list .fs-list-container.has-dragging thead th{border-bottom:2px solid #ddd}::ng-deep .fs-list .fs-list-container.has-dragging tbody tr:nth-child(2) td{border-top:none}::ng-deep .fs-list tfoot td{padding:8px}::ng-deep .reorder-in-progress{-webkit-user-select:none;user-select:none}::ng-deep .draggable-elem td{opacity:.2}::ng-deep .hidden-mobile-menu-action{display:none!important}::ng-deep .hidden-mobile{display:none!important}@media only screen and (max-width: 600px){::ng-deep .fs-list-filter .inline-actions{top:initial!important;position:initial!important}::ng-deep .fs-list-filter .inline-actions .action-filter{margin-bottom:0!important}::ng-deep .fs-list-header .filter-input-field .mat-form-field-wrapper{padding:0!important}::ng-deep .fs-list-header.has-filters{flex-flow:row wrap}}@media only screen and (max-width: 768px){::ng-deep .show-mobile{display:inline-block!important}::ng-deep .fs-list-actions .action-button{display:none}::ng-deep .row-inline-action.mobile-hide{display:none}::ng-deep .hidden-mobile-menu-action{display:block!important}}\n"], components: [{ type: i2$2.FilterComponent, selector: "fs-filter", inputs: ["config", "filter", "showSortBy", "showFilterInput"], outputs: ["closed", "opened", "ready"] }, { type: FsStatusComponent, selector: "fs-list-status", inputs: ["paging", "sorting", "rows", "scrollable", "firstLoad"] }, { type: FsHeadComponent, selector: "[fs-list-head]", inputs: ["sorting", "columns", "hasRowActions", "selection"] }, { type: FsBodyComponent, selector: "[fs-list-body]", inputs: ["rows", "columns", "hasFooter", "rowActionsRaw", "groupActionsRaw", "rowEvents", "rowClass", "hasRowActions", "selection", "restoreMode", "rowRemoved"] }, { type: FsFooterComponent, selector: "[fs-list-footer]", inputs: ["hasRowActions", "columns", "selection"] }, { type: FsListLoaderComponent, selector: "fs-list-loader", inputs: ["columns", "loaderLines"] }, { type: FsPaginationComponent, selector: "fs-list-pagination", inputs: ["pagination", "rows"] }], directives: [{ type: i3$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { type: i3$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$2.FilterStatusBarDirective, selector: "[fsFilterStatusBar]" }, { type: FsListDraggableListDirective, selector: "[fsListDraggableList]", inputs: ["rows"] }, { type: FsListFooterDirective, selector: "[fs-list-footer]", inputs: ["colspan", "align", "class"] }], pipes: { "async": i3$1.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
5012
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListComponent, decorators: [{
|
|
5013
|
+
type: Component,
|
|
5014
|
+
args: [{
|
|
5015
|
+
selector: 'fs-list',
|
|
5016
|
+
templateUrl: 'list.component.html',
|
|
5017
|
+
styleUrls: [
|
|
5018
|
+
'./list.component.scss',
|
|
5019
|
+
],
|
|
5020
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
5021
|
+
providers: [
|
|
5022
|
+
GroupExpandNotifierService,
|
|
5023
|
+
PersistanceController,
|
|
5024
|
+
ReorderController,
|
|
5025
|
+
]
|
|
5026
|
+
}]
|
|
5027
|
+
}], ctorParameters: function () { return [{ type: ReorderController }, { type: i0.ElementRef }, { type: undefined, decorators: [{
|
|
5028
|
+
type: Optional
|
|
5029
|
+
}, {
|
|
5030
|
+
type: Inject,
|
|
5031
|
+
args: [FS_LIST_DEFAULT_CONFIG]
|
|
5032
|
+
}] }, { type: i2$4.FsScrollService, decorators: [{
|
|
5033
|
+
type: Optional
|
|
5034
|
+
}] }, { type: i3$3.SelectionDialog }, { type: i4.MatDialog }, { type: i0.ChangeDetectorRef }, { type: GroupExpandNotifierService }, { type: i6$1.Router }, { type: i6$1.ActivatedRoute }, { type: PersistanceController }, { type: i3$1.Location }, { type: i4.MatDialogRef, decorators: [{
|
|
5035
|
+
type: Optional
|
|
5036
|
+
}] }, { type: i9.DrawerRef, decorators: [{
|
|
5037
|
+
type: Optional
|
|
5038
|
+
}] }]; }, propDecorators: { classFsList: [{
|
|
5039
|
+
type: HostBinding,
|
|
5040
|
+
args: ['class.fs-list']
|
|
5041
|
+
}], config: [{
|
|
5042
|
+
type: Input,
|
|
5043
|
+
args: ['config']
|
|
5044
|
+
}], loaderLines: [{
|
|
5045
|
+
type: Input
|
|
5046
|
+
}], filtersReady: [{
|
|
5047
|
+
type: Output
|
|
5048
|
+
}], filterReference: [{
|
|
5049
|
+
type: ViewChild,
|
|
5050
|
+
args: [FilterComponent]
|
|
5051
|
+
}], columnTemplates: [{
|
|
5052
|
+
type: ContentChildren,
|
|
5053
|
+
args: [FsListColumnDirective]
|
|
5054
|
+
}], _emptyStateTemplate: [{
|
|
5055
|
+
type: ContentChild,
|
|
5056
|
+
args: [FsListEmptyStateDirective, { read: TemplateRef }]
|
|
5057
|
+
}] } });
|
|
5158
5058
|
|
|
5159
|
-
|
|
5059
|
+
class FsListManageSavedFiltersComponent {
|
|
5160
5060
|
constructor(_externalParams) {
|
|
5161
5061
|
this._externalParams = _externalParams;
|
|
5162
5062
|
this._reorderReady = true;
|
|
@@ -5214,133 +5114,31 @@ let FsListManageSavedFiltersComponent = class FsListManageSavedFiltersComponent
|
|
|
5214
5114
|
}
|
|
5215
5115
|
};
|
|
5216
5116
|
}
|
|
5217
|
-
}
|
|
5218
|
-
FsListManageSavedFiltersComponent
|
|
5219
|
-
{ type:
|
|
5220
|
-
|
|
5221
|
-
|
|
5222
|
-
|
|
5223
|
-
|
|
5224
|
-
|
|
5225
|
-
|
|
5226
|
-
], FsListManageSavedFiltersComponent);
|
|
5227
|
-
|
|
5228
|
-
let FsListSavedFiltersComponent = class FsListSavedFiltersComponent {
|
|
5229
|
-
constructor(_dialog, _externalParams, _vcRef) {
|
|
5230
|
-
this._dialog = _dialog;
|
|
5231
|
-
this._externalParams = _externalParams;
|
|
5232
|
-
this._vcRef = _vcRef;
|
|
5233
|
-
}
|
|
5234
|
-
get savedFiltersEnabled$() {
|
|
5235
|
-
return this._externalParams.savedFiltersController.enabled$;
|
|
5236
|
-
}
|
|
5237
|
-
showManageDialog() {
|
|
5238
|
-
this._dialog.open(FsListManageSavedFiltersComponent, {
|
|
5239
|
-
viewContainerRef: this._vcRef,
|
|
5240
|
-
});
|
|
5241
|
-
}
|
|
5242
|
-
};
|
|
5243
|
-
FsListSavedFiltersComponent.ctorParameters = () => [
|
|
5244
|
-
{ type: MatDialog },
|
|
5245
|
-
{ type: ExternalParamsController$1 },
|
|
5246
|
-
{ type: ViewContainerRef }
|
|
5247
|
-
];
|
|
5248
|
-
FsListSavedFiltersComponent = __decorate([
|
|
5249
|
-
Component({
|
|
5250
|
-
selector: 'fs-list-saved-filters',
|
|
5251
|
-
template: "<ng-container *ngIf=\"savedFiltersEnabled$ | async\"><!--\n -->, saved filter\n <fs-filter-saved-filters-menu (manage)=\"showManageDialog()\"></fs-filter-saved-filters-menu>\n</ng-container>\n"
|
|
5252
|
-
}),
|
|
5253
|
-
__metadata("design:paramtypes", [MatDialog,
|
|
5254
|
-
ExternalParamsController$1,
|
|
5255
|
-
ViewContainerRef])
|
|
5256
|
-
], FsListSavedFiltersComponent);
|
|
5257
|
-
|
|
5258
|
-
let FsListDraggableRowDirective = class FsListDraggableRowDirective {
|
|
5259
|
-
constructor(_el, _renderer, _reorderController, _draggableList) {
|
|
5260
|
-
this._el = _el;
|
|
5261
|
-
this._renderer = _renderer;
|
|
5262
|
-
this._reorderController = _reorderController;
|
|
5263
|
-
this._draggableList = _draggableList;
|
|
5264
|
-
this._destroy$ = new Subject();
|
|
5265
|
-
}
|
|
5266
|
-
ngOnInit() {
|
|
5267
|
-
if (this._reorderController.moveDropCallback) {
|
|
5268
|
-
this._listenDragEvents();
|
|
5269
|
-
}
|
|
5270
|
-
}
|
|
5271
|
-
ngOnDestroy() {
|
|
5272
|
-
this._destroy$.next();
|
|
5273
|
-
this._destroy$.complete();
|
|
5274
|
-
}
|
|
5275
|
-
_listenDragEvents() {
|
|
5276
|
-
this._draggableList
|
|
5277
|
-
.dragStart$
|
|
5278
|
-
.pipe(takeUntil(this._destroy$))
|
|
5279
|
-
.subscribe(() => {
|
|
5280
|
-
this._markReadyToSwapRows();
|
|
5281
|
-
});
|
|
5282
|
-
this._draggableList
|
|
5283
|
-
.dragEnd$
|
|
5284
|
-
.pipe(takeUntil(this._destroy$))
|
|
5285
|
-
.subscribe(() => {
|
|
5286
|
-
this._unmarkRows();
|
|
5287
|
-
});
|
|
5288
|
-
}
|
|
5289
|
-
_markReadyToSwapRows() {
|
|
5290
|
-
var _a, _b, _c, _d, _e, _f;
|
|
5291
|
-
const currentEl = this.row;
|
|
5292
|
-
const targetEl = this._draggableList.draggableItem;
|
|
5293
|
-
const currentElGroup = (currentEl.isChild && currentEl.parent) || currentEl;
|
|
5294
|
-
const targetElGroup = (targetEl.isChild && targetEl.parent) || targetEl;
|
|
5295
|
-
this.row.readyToSwap = this._reorderController.moveDropCallback({
|
|
5296
|
-
row1: (_a = currentEl) === null || _a === void 0 ? void 0 : _a.data,
|
|
5297
|
-
row2: (_b = targetEl) === null || _b === void 0 ? void 0 : _b.data,
|
|
5298
|
-
group1: (_d = (_c = currentEl) === null || _c === void 0 ? void 0 : _c.parent) === null || _d === void 0 ? void 0 : _d.data,
|
|
5299
|
-
group2: (_f = (_e = targetEl) === null || _e === void 0 ? void 0 : _e.parent) === null || _f === void 0 ? void 0 : _f.data
|
|
5300
|
-
});
|
|
5301
|
-
if (!this.row.readyToSwap) {
|
|
5302
|
-
this._renderer.addClass(this._el.nativeElement, 'fs-list-swap-restricted');
|
|
5303
|
-
}
|
|
5304
|
-
}
|
|
5305
|
-
_unmarkRows() {
|
|
5306
|
-
if (!this.row.readyToSwap) {
|
|
5307
|
-
this._renderer.removeClass(this._el.nativeElement, 'fs-list-swap-restricted');
|
|
5308
|
-
}
|
|
5309
|
-
}
|
|
5310
|
-
};
|
|
5311
|
-
FsListDraggableRowDirective.ctorParameters = () => [
|
|
5312
|
-
{ type: ElementRef },
|
|
5313
|
-
{ type: Renderer2 },
|
|
5314
|
-
{ type: ReorderController },
|
|
5315
|
-
{ type: FsListDraggableListDirective }
|
|
5316
|
-
];
|
|
5317
|
-
__decorate([
|
|
5318
|
-
Input(),
|
|
5319
|
-
__metadata("design:type", Row)
|
|
5320
|
-
], FsListDraggableRowDirective.prototype, "row", void 0);
|
|
5321
|
-
FsListDraggableRowDirective = __decorate([
|
|
5322
|
-
Directive({
|
|
5323
|
-
selector: '[fsListDraggableRow]',
|
|
5324
|
-
}),
|
|
5325
|
-
__metadata("design:paramtypes", [ElementRef,
|
|
5326
|
-
Renderer2,
|
|
5327
|
-
ReorderController,
|
|
5328
|
-
FsListDraggableListDirective])
|
|
5329
|
-
], FsListDraggableRowDirective);
|
|
5117
|
+
}
|
|
5118
|
+
FsListManageSavedFiltersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListManageSavedFiltersComponent, deps: [{ token: i2$2.ExternalParamsController }], target: i0.ɵɵFactoryTarget.Component });
|
|
5119
|
+
FsListManageSavedFiltersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsListManageSavedFiltersComponent, selector: "ng-component", ngImport: i0, template: "<h1 mat-dialog-title>\n Manage Saved Filters\n</h1>\n<div mat-dialog-content>\n <fs-list [config]=\"config\">\n <fs-list-column name=\"name\" title=\"Name\">\n <ng-template fs-list-cell let-row=\"row\">\n {{ row.name }}\n </ng-template>\n </fs-list-column>\n </fs-list>\n</div>\n<div mat-dialog-actions>\n <button mat-button\n [mat-dialog-close]=\"null\"\n type=\"button\"\n color=\"primary\">\n Done\n </button>\n</div>\n", components: [{ type: FsListComponent, selector: "fs-list", inputs: ["config", "loaderLines"], outputs: ["filtersReady"] }, { type: i2$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i4.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i4.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: FsListColumnDirective, selector: "fs-list-column", inputs: ["title", "name", "show", "customize", "sortable", "sortableDefault", "direction", "align", "width", "class"] }, { type: FsListCellDirective, selector: "[fs-list-cell]", inputs: ["colspan", "align", "class"] }, { type: i4.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i4.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }] });
|
|
5120
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListManageSavedFiltersComponent, decorators: [{
|
|
5121
|
+
type: Component,
|
|
5122
|
+
args: [{
|
|
5123
|
+
templateUrl: 'manage-saved-filters.component.html',
|
|
5124
|
+
}]
|
|
5125
|
+
}], ctorParameters: function () { return [{ type: i2$2.ExternalParamsController }]; } });
|
|
5330
5126
|
|
|
5331
|
-
|
|
5332
|
-
}
|
|
5333
|
-
FsListContentDirective =
|
|
5334
|
-
|
|
5335
|
-
|
|
5336
|
-
|
|
5337
|
-
|
|
5127
|
+
class FsListContentDirective {
|
|
5128
|
+
}
|
|
5129
|
+
FsListContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
5130
|
+
FsListContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: FsListContentDirective, selector: "[fs-list-content]", ngImport: i0 });
|
|
5131
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListContentDirective, decorators: [{
|
|
5132
|
+
type: Directive,
|
|
5133
|
+
args: [{
|
|
5134
|
+
selector: '[fs-list-content]',
|
|
5135
|
+
}]
|
|
5136
|
+
}] });
|
|
5338
5137
|
|
|
5339
|
-
|
|
5340
|
-
let FsListModule = FsListModule_1 = class FsListModule {
|
|
5138
|
+
class FsListModule {
|
|
5341
5139
|
static forRoot(config = {}) {
|
|
5342
5140
|
return {
|
|
5343
|
-
ngModule:
|
|
5141
|
+
ngModule: FsListModule,
|
|
5344
5142
|
providers: [
|
|
5345
5143
|
{ provide: FS_LIST_CONFIG, useValue: config },
|
|
5346
5144
|
{
|
|
@@ -5351,10 +5149,68 @@ let FsListModule = FsListModule_1 = class FsListModule {
|
|
|
5351
5149
|
]
|
|
5352
5150
|
};
|
|
5353
5151
|
}
|
|
5354
|
-
}
|
|
5355
|
-
FsListModule =
|
|
5356
|
-
|
|
5357
|
-
|
|
5152
|
+
}
|
|
5153
|
+
FsListModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5154
|
+
FsListModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListModule, declarations: [
|
|
5155
|
+
// Components
|
|
5156
|
+
FsListComponent,
|
|
5157
|
+
FsRowComponent,
|
|
5158
|
+
FsRowActionsComponent,
|
|
5159
|
+
FsRowInlineActionComponent,
|
|
5160
|
+
FsRowMenuActionComponent,
|
|
5161
|
+
FsCellComponent,
|
|
5162
|
+
FsFooterRowComponent,
|
|
5163
|
+
FsFooterCellComponent,
|
|
5164
|
+
FsStatusComponent,
|
|
5165
|
+
FsListLoaderComponent,
|
|
5166
|
+
FsListSavedFiltersComponent,
|
|
5167
|
+
FsListManageSavedFiltersComponent,
|
|
5168
|
+
// Internal Components
|
|
5169
|
+
FsHeadComponent,
|
|
5170
|
+
FsHeadCellComponent,
|
|
5171
|
+
FsBodyComponent,
|
|
5172
|
+
FsFooterComponent,
|
|
5173
|
+
FsPaginationComponent,
|
|
5174
|
+
// Directives
|
|
5175
|
+
FsListColumnDirective,
|
|
5176
|
+
FsListCellDirective,
|
|
5177
|
+
FsListHeaderDirective,
|
|
5178
|
+
FsListFooterDirective,
|
|
5179
|
+
FsListGroupCellDirective,
|
|
5180
|
+
FsListGroupExpandTriggerDirective,
|
|
5181
|
+
FsListDraggableListDirective,
|
|
5182
|
+
FsListDraggableRowDirective,
|
|
5183
|
+
FsListEmptyStateDirective,
|
|
5184
|
+
FsListContentDirective,
|
|
5185
|
+
// Dialog
|
|
5186
|
+
CustomizeColsDialogComponent], imports: [CommonModule,
|
|
5187
|
+
RouterModule,
|
|
5188
|
+
MatButtonModule,
|
|
5189
|
+
MatIconModule,
|
|
5190
|
+
MatMenuModule,
|
|
5191
|
+
MatProgressSpinnerModule,
|
|
5192
|
+
MatCheckboxModule,
|
|
5193
|
+
MatRippleModule,
|
|
5194
|
+
FsFilterModule,
|
|
5195
|
+
FsMenuModule,
|
|
5196
|
+
FlexLayoutModule,
|
|
5197
|
+
FsScrollModule,
|
|
5198
|
+
FsPromptModule,
|
|
5199
|
+
MatDialogModule,
|
|
5200
|
+
MatTooltipModule,
|
|
5201
|
+
FsFileModule], exports: [FsListComponent,
|
|
5202
|
+
FsRowComponent,
|
|
5203
|
+
FsCellComponent,
|
|
5204
|
+
FsListLoaderComponent,
|
|
5205
|
+
FsListColumnDirective,
|
|
5206
|
+
FsListCellDirective,
|
|
5207
|
+
FsListHeaderDirective,
|
|
5208
|
+
FsListFooterDirective,
|
|
5209
|
+
FsListGroupCellDirective,
|
|
5210
|
+
FsListGroupExpandTriggerDirective,
|
|
5211
|
+
FsListEmptyStateDirective,
|
|
5212
|
+
FsListContentDirective] });
|
|
5213
|
+
FsListModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListModule, providers: [], imports: [[
|
|
5358
5214
|
CommonModule,
|
|
5359
5215
|
RouterModule,
|
|
5360
5216
|
MatButtonModule,
|
|
@@ -5371,62 +5227,79 @@ FsListModule = FsListModule_1 = __decorate([
|
|
|
5371
5227
|
MatDialogModule,
|
|
5372
5228
|
MatTooltipModule,
|
|
5373
5229
|
FsFileModule,
|
|
5374
|
-
]
|
|
5375
|
-
|
|
5376
|
-
|
|
5377
|
-
|
|
5378
|
-
|
|
5379
|
-
|
|
5380
|
-
|
|
5381
|
-
|
|
5382
|
-
|
|
5383
|
-
|
|
5384
|
-
|
|
5385
|
-
|
|
5386
|
-
|
|
5387
|
-
|
|
5388
|
-
|
|
5389
|
-
|
|
5390
|
-
|
|
5391
|
-
|
|
5392
|
-
|
|
5393
|
-
|
|
5394
|
-
|
|
5395
|
-
|
|
5396
|
-
|
|
5397
|
-
|
|
5398
|
-
|
|
5399
|
-
|
|
5400
|
-
|
|
5401
|
-
|
|
5402
|
-
|
|
5403
|
-
|
|
5404
|
-
|
|
5405
|
-
|
|
5406
|
-
|
|
5407
|
-
|
|
5408
|
-
|
|
5409
|
-
|
|
5410
|
-
|
|
5411
|
-
|
|
5412
|
-
|
|
5413
|
-
|
|
5414
|
-
|
|
5415
|
-
|
|
5416
|
-
|
|
5417
|
-
|
|
5418
|
-
|
|
5419
|
-
|
|
5420
|
-
|
|
5421
|
-
|
|
5422
|
-
|
|
5423
|
-
|
|
5424
|
-
|
|
5425
|
-
|
|
5426
|
-
|
|
5427
|
-
|
|
5428
|
-
|
|
5429
|
-
],
|
|
5230
|
+
]] });
|
|
5231
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListModule, decorators: [{
|
|
5232
|
+
type: NgModule,
|
|
5233
|
+
args: [{
|
|
5234
|
+
imports: [
|
|
5235
|
+
CommonModule,
|
|
5236
|
+
RouterModule,
|
|
5237
|
+
MatButtonModule,
|
|
5238
|
+
MatIconModule,
|
|
5239
|
+
MatMenuModule,
|
|
5240
|
+
MatProgressSpinnerModule,
|
|
5241
|
+
MatCheckboxModule,
|
|
5242
|
+
MatRippleModule,
|
|
5243
|
+
FsFilterModule,
|
|
5244
|
+
FsMenuModule,
|
|
5245
|
+
FlexLayoutModule,
|
|
5246
|
+
FsScrollModule,
|
|
5247
|
+
FsPromptModule,
|
|
5248
|
+
MatDialogModule,
|
|
5249
|
+
MatTooltipModule,
|
|
5250
|
+
FsFileModule,
|
|
5251
|
+
],
|
|
5252
|
+
declarations: [
|
|
5253
|
+
// Components
|
|
5254
|
+
FsListComponent,
|
|
5255
|
+
FsRowComponent,
|
|
5256
|
+
FsRowActionsComponent,
|
|
5257
|
+
FsRowInlineActionComponent,
|
|
5258
|
+
FsRowMenuActionComponent,
|
|
5259
|
+
FsCellComponent,
|
|
5260
|
+
FsFooterRowComponent,
|
|
5261
|
+
FsFooterCellComponent,
|
|
5262
|
+
FsStatusComponent,
|
|
5263
|
+
FsListLoaderComponent,
|
|
5264
|
+
FsListSavedFiltersComponent,
|
|
5265
|
+
FsListManageSavedFiltersComponent,
|
|
5266
|
+
// Internal Components
|
|
5267
|
+
FsHeadComponent,
|
|
5268
|
+
FsHeadCellComponent,
|
|
5269
|
+
FsBodyComponent,
|
|
5270
|
+
FsFooterComponent,
|
|
5271
|
+
FsPaginationComponent,
|
|
5272
|
+
// Directives
|
|
5273
|
+
FsListColumnDirective,
|
|
5274
|
+
FsListCellDirective,
|
|
5275
|
+
FsListHeaderDirective,
|
|
5276
|
+
FsListFooterDirective,
|
|
5277
|
+
FsListGroupCellDirective,
|
|
5278
|
+
FsListGroupExpandTriggerDirective,
|
|
5279
|
+
FsListDraggableListDirective,
|
|
5280
|
+
FsListDraggableRowDirective,
|
|
5281
|
+
FsListEmptyStateDirective,
|
|
5282
|
+
FsListContentDirective,
|
|
5283
|
+
// Dialog
|
|
5284
|
+
CustomizeColsDialogComponent,
|
|
5285
|
+
],
|
|
5286
|
+
providers: [],
|
|
5287
|
+
exports: [
|
|
5288
|
+
FsListComponent,
|
|
5289
|
+
FsRowComponent,
|
|
5290
|
+
FsCellComponent,
|
|
5291
|
+
FsListLoaderComponent,
|
|
5292
|
+
FsListColumnDirective,
|
|
5293
|
+
FsListCellDirective,
|
|
5294
|
+
FsListHeaderDirective,
|
|
5295
|
+
FsListFooterDirective,
|
|
5296
|
+
FsListGroupCellDirective,
|
|
5297
|
+
FsListGroupExpandTriggerDirective,
|
|
5298
|
+
FsListEmptyStateDirective,
|
|
5299
|
+
FsListContentDirective,
|
|
5300
|
+
],
|
|
5301
|
+
}]
|
|
5302
|
+
}] });
|
|
5430
5303
|
function FsListConfigFactory(config) {
|
|
5431
5304
|
return merge$1({ noResults: { message: 'No Results Found' } }, config);
|
|
5432
5305
|
}
|
|
@@ -5439,5 +5312,5 @@ function FsListConfigFactory(config) {
|
|
|
5439
5312
|
* Generated bundle index. Do not edit.
|
|
5440
5313
|
*/
|
|
5441
5314
|
|
|
5442
|
-
export { ActionType, Column, FS_LIST_CONFIG, FS_LIST_DEFAULT_CONFIG, FsBodyComponent, FsCellComponent, FsFooterCellComponent, FsFooterComponent, FsFooterRowComponent, FsHeadCellComponent, FsHeadComponent, FsListCellDirective, FsListColumnDirective, FsListComponent, FsListContentDirective, FsListEmptyStateDirective, FsListFooterDirective, FsListHeaderDirective, FsListModule, FsListState, FsPaginationComponent, FsRowComponent, FsStatusComponent, List, PaginationController, PaginationStrategy, ReorderController, ReorderPosition, ReorderStrategy, RowAction, RowType, SelectionChangeType, SelectionController, SortingController, SortingDirection, StyleConfig
|
|
5315
|
+
export { ActionType, Column, FS_LIST_CONFIG, FS_LIST_DEFAULT_CONFIG, FsBodyComponent, FsCellComponent, FsFooterCellComponent, FsFooterComponent, FsFooterRowComponent, FsHeadCellComponent, FsHeadComponent, FsListCellDirective, FsListColumnDirective, FsListComponent, FsListContentDirective, FsListEmptyStateDirective, FsListFooterDirective, FsListGroupCellDirective, FsListGroupExpandTriggerDirective, FsListHeaderDirective, FsListLoaderComponent, FsListModule, FsListState, FsPaginationComponent, FsRowComponent, FsStatusComponent, List, PaginationController, PaginationStrategy, ReorderController, ReorderPosition, ReorderStrategy, RowAction, RowType, SelectionChangeType, SelectionController, SortingController, SortingDirection, StyleConfig };
|
|
5443
5316
|
//# sourceMappingURL=firestitch-list.js.map
|