@firestitch/list 9.12.3 → 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/pagination-controller.d.ts +10 -6
- 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 +5 -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 +2159 -2130
- 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 +16 -4
- package/esm2015/app/classes/pagination-controller.js +40 -40
- 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 +13 -0
- 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 +140 -64
- 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 +5 -1
- package/fesm2015/firestitch-list.js +1385 -1488
- 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 +4 -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 -771
- package/esm5/app/classes/pagination-controller.js +0 -568
- 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/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 -149
- 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 -40
- package/fesm5/firestitch-list.js +0 -6055
- 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, take, map, debounceTime, switchMap, mapTo, catchError,
|
|
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
|
|
@@ -1179,9 +1196,8 @@ var PaginationStrategy;
|
|
|
1179
1196
|
PaginationStrategy["None"] = "none";
|
|
1180
1197
|
})(PaginationStrategy || (PaginationStrategy = {}));
|
|
1181
1198
|
|
|
1182
|
-
class PaginationController
|
|
1199
|
+
class PaginationController {
|
|
1183
1200
|
constructor() {
|
|
1184
|
-
super();
|
|
1185
1201
|
this.limit = 25;
|
|
1186
1202
|
this.manual = false;
|
|
1187
1203
|
this.page = 1; // Active page
|
|
@@ -1207,7 +1223,8 @@ class PaginationController extends Model {
|
|
|
1207
1223
|
return this._pages$.getValue();
|
|
1208
1224
|
}
|
|
1209
1225
|
get pages$() {
|
|
1210
|
-
return this._pages
|
|
1226
|
+
return this._pages$
|
|
1227
|
+
.pipe(distinctUntilChanged());
|
|
1211
1228
|
}
|
|
1212
1229
|
/**
|
|
1213
1230
|
* Fire if page was changed
|
|
@@ -1255,6 +1272,18 @@ class PaginationController extends Model {
|
|
|
1255
1272
|
}
|
|
1256
1273
|
return {};
|
|
1257
1274
|
}
|
|
1275
|
+
get loadMoreQuery() {
|
|
1276
|
+
switch (this.strategy) {
|
|
1277
|
+
case PaginationStrategy.Page:
|
|
1278
|
+
return this.query;
|
|
1279
|
+
case PaginationStrategy.Offset:
|
|
1280
|
+
const query = this.queryOffsetStrategy;
|
|
1281
|
+
query.limit = query.offset + query.limit;
|
|
1282
|
+
query.offset = 0;
|
|
1283
|
+
return query;
|
|
1284
|
+
}
|
|
1285
|
+
return {};
|
|
1286
|
+
}
|
|
1258
1287
|
/**
|
|
1259
1288
|
* Query for Page Strategy
|
|
1260
1289
|
*/
|
|
@@ -1361,12 +1390,6 @@ class PaginationController extends Model {
|
|
|
1361
1390
|
const to = Math.min(this.records, current + this.limit);
|
|
1362
1391
|
return `${from}-${to}`;
|
|
1363
1392
|
}
|
|
1364
|
-
_fromJSON(value) {
|
|
1365
|
-
super._fromJSON(value);
|
|
1366
|
-
if (!value.limit) {
|
|
1367
|
-
this.limit = 25;
|
|
1368
|
-
}
|
|
1369
|
-
}
|
|
1370
1393
|
initWithConfig(config, loadMore, infinityScrollEnabled = false) {
|
|
1371
1394
|
if (config) {
|
|
1372
1395
|
if (config.limits) {
|
|
@@ -1375,12 +1398,12 @@ class PaginationController extends Model {
|
|
|
1375
1398
|
if (config.limit) {
|
|
1376
1399
|
this.limit = config.limit;
|
|
1377
1400
|
}
|
|
1378
|
-
if (loadMore) {
|
|
1379
|
-
this.setLoadMore(loadMore);
|
|
1380
|
-
}
|
|
1381
|
-
this._infinityScrollEnabled = infinityScrollEnabled;
|
|
1382
1401
|
this.strategy = config.strategy;
|
|
1383
1402
|
}
|
|
1403
|
+
if (loadMore) {
|
|
1404
|
+
this.setLoadMore(loadMore);
|
|
1405
|
+
}
|
|
1406
|
+
this._infinityScrollEnabled = infinityScrollEnabled;
|
|
1384
1407
|
}
|
|
1385
1408
|
/**
|
|
1386
1409
|
* If pagination has prev page when Page Strategy
|
|
@@ -1409,13 +1432,13 @@ class PaginationController extends Model {
|
|
|
1409
1432
|
/**
|
|
1410
1433
|
* Update paging config and all related fields
|
|
1411
1434
|
* @param config
|
|
1412
|
-
* @param
|
|
1413
|
-
* @param
|
|
1435
|
+
* @param displayedRecords
|
|
1436
|
+
* @param loadMoreOperation
|
|
1414
1437
|
*/
|
|
1415
|
-
updatePaging(config,
|
|
1416
|
-
if (!
|
|
1417
|
-
this.
|
|
1418
|
-
this.displayed =
|
|
1438
|
+
updatePaging(config, displayedRecords = 0, loadMoreOperation = false) {
|
|
1439
|
+
if (!loadMoreOperation) {
|
|
1440
|
+
this._fromParams(config);
|
|
1441
|
+
this.displayed = displayedRecords;
|
|
1419
1442
|
}
|
|
1420
1443
|
else {
|
|
1421
1444
|
this.records = config.records;
|
|
@@ -1602,6 +1625,19 @@ class PaginationController extends Model {
|
|
|
1602
1625
|
this._onDestroy$.next();
|
|
1603
1626
|
this._onDestroy$.complete();
|
|
1604
1627
|
}
|
|
1628
|
+
/**
|
|
1629
|
+
* Update paging state
|
|
1630
|
+
* @param params
|
|
1631
|
+
*/
|
|
1632
|
+
_fromParams(params) {
|
|
1633
|
+
var _a;
|
|
1634
|
+
if (!this.loadMoreEnabled) {
|
|
1635
|
+
this.limit = (_a = params.limit) !== null && _a !== void 0 ? _a : 25;
|
|
1636
|
+
}
|
|
1637
|
+
this.records = params.records;
|
|
1638
|
+
this.manual = params.manual;
|
|
1639
|
+
this.pages = params.pages || 0;
|
|
1640
|
+
}
|
|
1605
1641
|
/**
|
|
1606
1642
|
* Calc and update offset
|
|
1607
1643
|
*/
|
|
@@ -1615,23 +1651,6 @@ class PaginationController extends Model {
|
|
|
1615
1651
|
this.pages = Math.ceil(this.records / this.limit);
|
|
1616
1652
|
}
|
|
1617
1653
|
}
|
|
1618
|
-
__decorate([
|
|
1619
|
-
Alias(),
|
|
1620
|
-
__metadata("design:type", Object)
|
|
1621
|
-
], PaginationController.prototype, "limit", void 0);
|
|
1622
|
-
__decorate([
|
|
1623
|
-
Alias(),
|
|
1624
|
-
__metadata("design:type", Number)
|
|
1625
|
-
], PaginationController.prototype, "records", void 0);
|
|
1626
|
-
__decorate([
|
|
1627
|
-
Alias(),
|
|
1628
|
-
__metadata("design:type", Object)
|
|
1629
|
-
], PaginationController.prototype, "manual", void 0);
|
|
1630
|
-
__decorate([
|
|
1631
|
-
Alias('pages'),
|
|
1632
|
-
__metadata("design:type", Number),
|
|
1633
|
-
__metadata("design:paramtypes", [Number])
|
|
1634
|
-
], PaginationController.prototype, "pages", null);
|
|
1635
1654
|
|
|
1636
1655
|
var SelectionChangeType;
|
|
1637
1656
|
(function (SelectionChangeType) {
|
|
@@ -1761,6 +1780,7 @@ class SelectionController {
|
|
|
1761
1780
|
selectAll: this.selectAll,
|
|
1762
1781
|
allCount: this._totalRecordsCount,
|
|
1763
1782
|
actions: [...this.actions],
|
|
1783
|
+
// selectAll: this.sele
|
|
1764
1784
|
});
|
|
1765
1785
|
this._subscribeToSelection();
|
|
1766
1786
|
}
|
|
@@ -1827,11 +1847,11 @@ class SelectionController {
|
|
|
1827
1847
|
}
|
|
1828
1848
|
updateConfig({ actions, actionSelected, allSelected, cancelled, selectionChanged, selectAll }) {
|
|
1829
1849
|
this.actions = actions ? [...actions] : this.actions;
|
|
1830
|
-
this.actionSelectedFn =
|
|
1831
|
-
this.allSelectedFn =
|
|
1832
|
-
this.cancelledFn =
|
|
1833
|
-
this.selectionChangedFn =
|
|
1834
|
-
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;
|
|
1835
1855
|
}
|
|
1836
1856
|
// Reset actions to default set
|
|
1837
1857
|
resetActions() {
|
|
@@ -2327,20 +2347,18 @@ class ExternalParamsController {
|
|
|
2327
2347
|
this._destroy$.complete();
|
|
2328
2348
|
}
|
|
2329
2349
|
_restorePaginationParams(values) {
|
|
2330
|
-
|
|
2331
|
-
if ((_a = values) === null || _a === void 0 ? void 0 : _a.page) {
|
|
2350
|
+
if (values === null || values === void 0 ? void 0 : values.page) {
|
|
2332
2351
|
this._externalParams.page = +values.page;
|
|
2333
2352
|
}
|
|
2334
|
-
if (
|
|
2353
|
+
if (values === null || values === void 0 ? void 0 : values.limit) {
|
|
2335
2354
|
this._externalParams.limit = +values.limit;
|
|
2336
2355
|
}
|
|
2337
2356
|
}
|
|
2338
2357
|
_restoreSortingParams(values) {
|
|
2339
|
-
|
|
2340
|
-
if ((_a = values) === null || _a === void 0 ? void 0 : _a.sortName) {
|
|
2358
|
+
if (values === null || values === void 0 ? void 0 : values.sortName) {
|
|
2341
2359
|
this._externalParams.sortName = values.sortName;
|
|
2342
2360
|
}
|
|
2343
|
-
if (
|
|
2361
|
+
if (values === null || values === void 0 ? void 0 : values.sortDirection) {
|
|
2344
2362
|
this._externalParams.sortDirection = values.sortDirection;
|
|
2345
2363
|
}
|
|
2346
2364
|
}
|
|
@@ -2759,9 +2777,20 @@ class List extends Model {
|
|
|
2759
2777
|
var _a;
|
|
2760
2778
|
(_a = this.selection) === null || _a === void 0 ? void 0 : _a.closeSelectionDialog();
|
|
2761
2779
|
}), map((params) => {
|
|
2762
|
-
|
|
2763
|
-
|
|
2764
|
-
|
|
2780
|
+
let query = Object.assign({}, this.filtersQuery);
|
|
2781
|
+
if (this.paging.hasOffsetStrategy && params && params.loadOffset) {
|
|
2782
|
+
query = Object.assign(query, this.paging.loadDeletedOffsetQuery);
|
|
2783
|
+
}
|
|
2784
|
+
else {
|
|
2785
|
+
const allRecordsRangeNeeded = (this.initialFetch
|
|
2786
|
+
|| this.dataController.operation === FsListState.Reload) && this.paging.loadMoreEnabled;
|
|
2787
|
+
if (allRecordsRangeNeeded) {
|
|
2788
|
+
query = Object.assign(query, this.paging.loadMoreQuery);
|
|
2789
|
+
}
|
|
2790
|
+
else {
|
|
2791
|
+
query = Object.assign(query, this.paging.query);
|
|
2792
|
+
}
|
|
2793
|
+
}
|
|
2765
2794
|
if (this.sorting.sortingColumn) {
|
|
2766
2795
|
Object.assign(query, {
|
|
2767
2796
|
order: `${this.sorting.sortingColumn.name},${this.sorting.sortingColumn.direction}`
|
|
@@ -2788,6 +2817,7 @@ class List extends Model {
|
|
|
2788
2817
|
return source$;
|
|
2789
2818
|
}), takeUntil(this.onDestroy$))
|
|
2790
2819
|
.subscribe((response) => {
|
|
2820
|
+
this.initialFetch = false;
|
|
2791
2821
|
this.completeFetch(response);
|
|
2792
2822
|
});
|
|
2793
2823
|
}
|
|
@@ -3142,7 +3172,7 @@ var ReorderStrategy;
|
|
|
3142
3172
|
ReorderStrategy["Manual"] = "manual";
|
|
3143
3173
|
ReorderStrategy["Custom"] = "custom";
|
|
3144
3174
|
})(ReorderStrategy || (ReorderStrategy = {}));
|
|
3145
|
-
|
|
3175
|
+
class ReorderController {
|
|
3146
3176
|
constructor() {
|
|
3147
3177
|
this._enabled$ = new BehaviorSubject(false);
|
|
3148
3178
|
this._manualReorderActivated$ = new BehaviorSubject(false);
|
|
@@ -3190,10 +3220,10 @@ let ReorderController = class ReorderController {
|
|
|
3190
3220
|
if (!data) {
|
|
3191
3221
|
return;
|
|
3192
3222
|
}
|
|
3193
|
-
this.menu = (_a = data.menu
|
|
3194
|
-
this.position = (_b = data.position
|
|
3195
|
-
this.strategy = (_c = data.strategy
|
|
3196
|
-
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;
|
|
3197
3227
|
this.label = data.label;
|
|
3198
3228
|
this.startCallback = data.start;
|
|
3199
3229
|
this.movedCallback = data.moved;
|
|
@@ -3290,75 +3320,73 @@ let ReorderController = class ReorderController {
|
|
|
3290
3320
|
this._numberOfActiveFilters = activeFilters;
|
|
3291
3321
|
this.enabled = this.enabled;
|
|
3292
3322
|
}
|
|
3293
|
-
}
|
|
3294
|
-
ReorderController =
|
|
3295
|
-
|
|
3296
|
-
|
|
3297
|
-
|
|
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 []; } });
|
|
3298
3329
|
|
|
3299
|
-
|
|
3300
|
-
}
|
|
3301
|
-
|
|
3302
|
-
|
|
3303
|
-
|
|
3304
|
-
|
|
3305
|
-
|
|
3306
|
-
|
|
3307
|
-
|
|
3308
|
-
],
|
|
3309
|
-
|
|
3310
|
-
|
|
3311
|
-
|
|
3312
|
-
]
|
|
3313
|
-
|
|
3314
|
-
Directive({ selector: '[fs-list-header]' })
|
|
3315
|
-
], 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
|
+
}] } });
|
|
3316
3345
|
|
|
3317
|
-
|
|
3318
|
-
}
|
|
3319
|
-
|
|
3320
|
-
|
|
3321
|
-
|
|
3322
|
-
|
|
3323
|
-
|
|
3324
|
-
|
|
3325
|
-
|
|
3326
|
-
],
|
|
3327
|
-
|
|
3328
|
-
|
|
3329
|
-
|
|
3330
|
-
]
|
|
3331
|
-
|
|
3332
|
-
Directive({ selector: '[fs-list-cell]' })
|
|
3333
|
-
], 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
|
+
}] } });
|
|
3334
3361
|
|
|
3335
|
-
|
|
3336
|
-
}
|
|
3337
|
-
|
|
3338
|
-
|
|
3339
|
-
|
|
3340
|
-
|
|
3341
|
-
|
|
3342
|
-
|
|
3343
|
-
|
|
3344
|
-
],
|
|
3345
|
-
|
|
3346
|
-
|
|
3347
|
-
|
|
3348
|
-
]
|
|
3349
|
-
|
|
3350
|
-
Directive({ selector: '[fs-list-footer]' })
|
|
3351
|
-
], 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
|
+
}] } });
|
|
3352
3377
|
|
|
3353
|
-
|
|
3354
|
-
}
|
|
3355
|
-
FsListGroupCellDirective =
|
|
3356
|
-
|
|
3357
|
-
|
|
3358
|
-
|
|
3359
|
-
|
|
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
|
+
}] });
|
|
3360
3388
|
|
|
3361
|
-
|
|
3389
|
+
class GroupExpandNotifierService {
|
|
3362
3390
|
constructor() {
|
|
3363
3391
|
this._expandStatusChanged$ = new Subject();
|
|
3364
3392
|
this._destroy$ = new Subject();
|
|
@@ -3373,12 +3401,14 @@ let GroupExpandNotifierService = class GroupExpandNotifierService {
|
|
|
3373
3401
|
this._destroy$.next();
|
|
3374
3402
|
this._destroy$.complete();
|
|
3375
3403
|
}
|
|
3376
|
-
}
|
|
3377
|
-
GroupExpandNotifierService =
|
|
3378
|
-
|
|
3379
|
-
|
|
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
|
+
}] });
|
|
3380
3410
|
|
|
3381
|
-
|
|
3411
|
+
class FsListGroupExpandTriggerDirective {
|
|
3382
3412
|
constructor(_expandNotifier) {
|
|
3383
3413
|
this._expandNotifier = _expandNotifier;
|
|
3384
3414
|
}
|
|
@@ -3387,125 +3417,97 @@ let FsListGroupExpandTriggerDirective = class FsListGroupExpandTriggerDirective
|
|
|
3387
3417
|
event.stopPropagation();
|
|
3388
3418
|
this._expandNotifier.toggleExpandStatus(this.row);
|
|
3389
3419
|
}
|
|
3390
|
-
}
|
|
3391
|
-
FsListGroupExpandTriggerDirective
|
|
3392
|
-
|
|
3393
|
-
|
|
3394
|
-
|
|
3395
|
-
|
|
3396
|
-
|
|
3397
|
-
|
|
3398
|
-
|
|
3399
|
-
],
|
|
3400
|
-
|
|
3401
|
-
|
|
3402
|
-
__metadata("design:type", Object)
|
|
3403
|
-
], FsListGroupExpandTriggerDirective.prototype, "row", void 0);
|
|
3404
|
-
FsListGroupExpandTriggerDirective = __decorate([
|
|
3405
|
-
Directive({ selector: '[fsListGroupExpandTrigger]' }),
|
|
3406
|
-
__metadata("design:paramtypes", [GroupExpandNotifierService])
|
|
3407
|
-
], 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
|
+
}] } });
|
|
3408
3432
|
|
|
3409
|
-
|
|
3433
|
+
class FsListColumnDirective {
|
|
3410
3434
|
constructor() {
|
|
3411
3435
|
this.show = true;
|
|
3412
3436
|
this.customize = true;
|
|
3413
3437
|
}
|
|
3414
|
-
}
|
|
3415
|
-
|
|
3416
|
-
|
|
3417
|
-
|
|
3418
|
-
|
|
3419
|
-
|
|
3420
|
-
|
|
3421
|
-
|
|
3422
|
-
],
|
|
3423
|
-
|
|
3424
|
-
|
|
3425
|
-
|
|
3426
|
-
],
|
|
3427
|
-
|
|
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
|
-
__decorate([
|
|
3472
|
-
ContentChildren(FsListGroupExpandTriggerDirective, { descendants: true }),
|
|
3473
|
-
__metadata("design:type", QueryList)
|
|
3474
|
-
], FsListColumnDirective.prototype, "expandTrigger", void 0);
|
|
3475
|
-
__decorate([
|
|
3476
|
-
ContentChild(FsListCellDirective, { read: TemplateRef, static: true }),
|
|
3477
|
-
__metadata("design:type", TemplateRef)
|
|
3478
|
-
], FsListColumnDirective.prototype, "cellTemplate", void 0);
|
|
3479
|
-
__decorate([
|
|
3480
|
-
ContentChild(FsListCellDirective, { static: true }),
|
|
3481
|
-
__metadata("design:type", Object)
|
|
3482
|
-
], FsListColumnDirective.prototype, "cellConfigs", void 0);
|
|
3483
|
-
__decorate([
|
|
3484
|
-
ContentChild(FsListFooterDirective, { read: TemplateRef, static: true }),
|
|
3485
|
-
__metadata("design:type", TemplateRef)
|
|
3486
|
-
], FsListColumnDirective.prototype, "footerTemplate", void 0);
|
|
3487
|
-
__decorate([
|
|
3488
|
-
ContentChild(FsListFooterDirective, { static: true }),
|
|
3489
|
-
__metadata("design:type", Object)
|
|
3490
|
-
], FsListColumnDirective.prototype, "footerConfigs", void 0);
|
|
3491
|
-
FsListColumnDirective = __decorate([
|
|
3492
|
-
Directive({
|
|
3493
|
-
selector: 'fs-list-column'
|
|
3494
|
-
})
|
|
3495
|
-
], 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
|
+
}] } });
|
|
3496
3495
|
|
|
3497
|
-
|
|
3498
|
-
}
|
|
3499
|
-
FsListEmptyStateDirective =
|
|
3500
|
-
|
|
3501
|
-
|
|
3502
|
-
|
|
3503
|
-
|
|
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
|
+
}] });
|
|
3504
3506
|
|
|
3505
3507
|
const FS_LIST_DEFAULT_CONFIG = new InjectionToken('fs-list.default-config');
|
|
3506
3508
|
const FS_LIST_CONFIG = new InjectionToken('fs-list.config');
|
|
3507
3509
|
|
|
3508
|
-
|
|
3510
|
+
class CustomizeColsDialogComponent {
|
|
3509
3511
|
constructor(data, _dialog) {
|
|
3510
3512
|
this._dialog = _dialog;
|
|
3511
3513
|
this.columns = [];
|
|
@@ -3551,385 +3553,312 @@ let CustomizeColsDialogComponent = class CustomizeColsDialogComponent {
|
|
|
3551
3553
|
cancel() {
|
|
3552
3554
|
this._dialog.close();
|
|
3553
3555
|
}
|
|
3554
|
-
}
|
|
3555
|
-
CustomizeColsDialogComponent
|
|
3556
|
-
{ type:
|
|
3557
|
-
|
|
3558
|
-
|
|
3559
|
-
|
|
3560
|
-
|
|
3561
|
-
|
|
3562
|
-
|
|
3563
|
-
|
|
3564
|
-
|
|
3565
|
-
|
|
3566
|
-
|
|
3567
|
-
],
|
|
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 }]; } });
|
|
3568
3570
|
|
|
3569
3571
|
const FILTER_STORE_KEY = 'fs-list-persist';
|
|
3570
|
-
|
|
3572
|
+
class PersistanceController extends FsPersistanceStore {
|
|
3571
3573
|
constructor(_store, _route) {
|
|
3572
3574
|
super(_store, _route);
|
|
3573
3575
|
this.STORE_KEY = FILTER_STORE_KEY;
|
|
3574
3576
|
}
|
|
3575
|
-
}
|
|
3576
|
-
PersistanceController
|
|
3577
|
-
|
|
3578
|
-
|
|
3579
|
-
|
|
3580
|
-
|
|
3581
|
-
Injectable(),
|
|
3582
|
-
__metadata("design:paramtypes", [FsStore,
|
|
3583
|
-
ActivatedRoute])
|
|
3584
|
-
], 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 }]; } });
|
|
3585
3583
|
|
|
3586
|
-
|
|
3587
|
-
|
|
3588
|
-
|
|
3589
|
-
this.
|
|
3590
|
-
this.
|
|
3591
|
-
this.
|
|
3592
|
-
this.selectionDialog = selectionDialog;
|
|
3593
|
-
this.dialog = dialog;
|
|
3594
|
-
this.cdRef = cdRef;
|
|
3595
|
-
this._groupExpandNotifier = _groupExpandNotifier;
|
|
3596
|
-
this._router = _router;
|
|
3597
|
-
this._route = _route;
|
|
3598
|
-
this._persistance = _persistance;
|
|
3599
|
-
this._location = _location;
|
|
3600
|
-
this._dialogRef = _dialogRef;
|
|
3601
|
-
this._drawerRef = _drawerRef;
|
|
3602
|
-
this.classFsList = true;
|
|
3603
|
-
this.loaderLines = 3;
|
|
3604
|
-
this.filtersReady = new EventEmitter();
|
|
3605
|
-
// Event will fired if action remove: true will clicked
|
|
3606
|
-
this.rowRemoved = new EventEmitter();
|
|
3607
|
-
this.firstLoad = true;
|
|
3608
|
-
this._filterParamsReady = false;
|
|
3609
|
-
this._inDialog = !!this._dialogRef || !!this._drawerRef;
|
|
3610
|
-
this._destroy = new Subject();
|
|
3611
|
-
}
|
|
3612
|
-
set config(config) {
|
|
3613
|
-
this._initWithConfig(config);
|
|
3614
|
-
}
|
|
3615
|
-
set filterReference(component) {
|
|
3616
|
-
this._filterRef = component;
|
|
3617
|
-
this.list.actions.setFilterRef(component);
|
|
3618
|
-
this._emitFiltersReadyEvent();
|
|
3619
|
-
}
|
|
3620
|
-
/**
|
|
3621
|
-
* Set columns to config
|
|
3622
|
-
* Create Column Model instances
|
|
3623
|
-
*
|
|
3624
|
-
*/
|
|
3625
|
-
set columnTemplates(listColumnDirectives) {
|
|
3626
|
-
this.listColumnDirectives = listColumnDirectives;
|
|
3627
|
-
if (this.list) {
|
|
3628
|
-
this.list.tranformTemplatesToColumns(listColumnDirectives);
|
|
3629
|
-
}
|
|
3630
|
-
}
|
|
3631
|
-
set _emptyStateTemplate(template) {
|
|
3632
|
-
if (this.list) {
|
|
3633
|
-
this.list.emptyStateTemplate = template;
|
|
3634
|
-
}
|
|
3635
|
-
}
|
|
3636
|
-
/**
|
|
3637
|
-
* Return reference for filter
|
|
3638
|
-
*/
|
|
3639
|
-
get filterRef() {
|
|
3640
|
-
return this._filterRef;
|
|
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;
|
|
3641
3590
|
}
|
|
3642
|
-
get
|
|
3643
|
-
return this.
|
|
3591
|
+
get savedFiltersEnabled$() {
|
|
3592
|
+
return this._externalParams.savedFiltersController.enabled$;
|
|
3644
3593
|
}
|
|
3645
|
-
|
|
3646
|
-
|
|
3647
|
-
|
|
3648
|
-
|
|
3649
|
-
&& !this.list.emptyStateEnabled
|
|
3650
|
-
&& this.list.dataController.visibleRowsCount > 0
|
|
3651
|
-
&& this.list.paging.pages > 1;
|
|
3594
|
+
showManageDialog() {
|
|
3595
|
+
// this._dialog.open(FsListManageSavedFiltersComponent, {
|
|
3596
|
+
// viewContainerRef: this._vcRef,
|
|
3597
|
+
// });
|
|
3652
3598
|
}
|
|
3653
|
-
|
|
3654
|
-
|
|
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();
|
|
3655
3614
|
}
|
|
3656
3615
|
ngOnInit() {
|
|
3657
|
-
this.
|
|
3658
|
-
|
|
3616
|
+
this.sorting.sortingChanged$
|
|
3617
|
+
.pipe(takeUntil(this._destroy$))
|
|
3618
|
+
.subscribe(() => {
|
|
3619
|
+
this._cdRef.markForCheck();
|
|
3620
|
+
});
|
|
3659
3621
|
}
|
|
3660
3622
|
ngOnDestroy() {
|
|
3661
|
-
|
|
3662
|
-
|
|
3663
|
-
}
|
|
3664
|
-
this._destroy.next();
|
|
3665
|
-
this._destroy.complete();
|
|
3666
|
-
}
|
|
3667
|
-
nextPage() {
|
|
3668
|
-
this.list.paging.goNext();
|
|
3669
|
-
}
|
|
3670
|
-
prevPage() {
|
|
3671
|
-
this.list.paging.goPrev();
|
|
3672
|
-
}
|
|
3673
|
-
firstPage() {
|
|
3674
|
-
this.list.paging.goFirst();
|
|
3623
|
+
this._destroy$.next();
|
|
3624
|
+
this._destroy$.complete();
|
|
3675
3625
|
}
|
|
3676
|
-
|
|
3677
|
-
this.
|
|
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
|
+
}
|
|
3678
3633
|
}
|
|
3679
|
-
|
|
3680
|
-
this.
|
|
3634
|
+
setSortableColumn(column) {
|
|
3635
|
+
if (this.sorting.sortingColumn !== column) {
|
|
3636
|
+
this.sorting.sortBy(column);
|
|
3637
|
+
}
|
|
3681
3638
|
}
|
|
3682
|
-
|
|
3683
|
-
|
|
3639
|
+
setLimit(limit) {
|
|
3640
|
+
this.paging.setLimit(limit);
|
|
3684
3641
|
}
|
|
3685
|
-
|
|
3686
|
-
|
|
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();
|
|
3687
3680
|
}
|
|
3688
|
-
|
|
3689
|
-
|
|
3681
|
+
ngOnInit() {
|
|
3682
|
+
this._initCellContext();
|
|
3683
|
+
this._initCellTemplate();
|
|
3684
|
+
this._listenGroupOpen();
|
|
3690
3685
|
}
|
|
3691
|
-
|
|
3692
|
-
|
|
3686
|
+
ngOnChanges(changes) {
|
|
3687
|
+
if (changes.rowIndex) {
|
|
3688
|
+
this.cellContext.index = this.rowIndex;
|
|
3689
|
+
}
|
|
3693
3690
|
}
|
|
3694
|
-
|
|
3695
|
-
this.
|
|
3691
|
+
ngOnDestroy() {
|
|
3692
|
+
this._destroy$.next();
|
|
3693
|
+
this._destroy$.complete();
|
|
3696
3694
|
}
|
|
3697
|
-
|
|
3698
|
-
this.
|
|
3699
|
-
|
|
3700
|
-
|
|
3701
|
-
|
|
3702
|
-
|
|
3703
|
-
|
|
3704
|
-
|
|
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
|
+
}
|
|
3705
3712
|
}
|
|
3706
|
-
|
|
3707
|
-
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
|
+
}
|
|
3708
3720
|
}
|
|
3709
|
-
|
|
3710
|
-
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
|
+
}
|
|
3711
3729
|
}
|
|
3712
|
-
|
|
3713
|
-
|
|
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();
|
|
3714
3761
|
}
|
|
3715
|
-
|
|
3716
|
-
if (
|
|
3717
|
-
this.
|
|
3718
|
-
this.list.actions.setActions(actions);
|
|
3762
|
+
ngDoCheck() {
|
|
3763
|
+
if (this._columnDiffer.diff(this.column)) {
|
|
3764
|
+
this.cdRef.markForCheck();
|
|
3719
3765
|
}
|
|
3720
3766
|
}
|
|
3721
|
-
|
|
3722
|
-
this.
|
|
3723
|
-
this._filterParamsReady = true;
|
|
3724
|
-
this._emitFiltersReadyEvent();
|
|
3767
|
+
initCellContext() {
|
|
3768
|
+
this.cellContext.value = this.column.title;
|
|
3725
3769
|
}
|
|
3726
|
-
|
|
3727
|
-
|
|
3728
|
-
|
|
3729
|
-
|
|
3730
|
-
|
|
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();
|
|
3731
3790
|
}
|
|
3732
|
-
|
|
3733
|
-
|
|
3734
|
-
|
|
3735
|
-
columnsVisibility(columns) {
|
|
3736
|
-
this.list.columns.updateVisibilityForCols(columns);
|
|
3791
|
+
ngOnInit() {
|
|
3792
|
+
this.initSorting();
|
|
3793
|
+
this.initSelection();
|
|
3737
3794
|
}
|
|
3738
|
-
|
|
3739
|
-
|
|
3740
|
-
|
|
3741
|
-
}
|
|
3795
|
+
ngOnDestroy() {
|
|
3796
|
+
this._destroy$.next();
|
|
3797
|
+
this._destroy$.complete();
|
|
3742
3798
|
}
|
|
3743
3799
|
/**
|
|
3744
|
-
*
|
|
3745
|
-
* @param
|
|
3800
|
+
* Select All Visible Rows
|
|
3801
|
+
* @param event
|
|
3746
3802
|
*/
|
|
3747
|
-
|
|
3748
|
-
|
|
3749
|
-
this.list.destroy();
|
|
3750
|
-
}
|
|
3751
|
-
const defaultOpts = this._defaultOptions
|
|
3752
|
-
? cloneDeep(this._defaultOptions)
|
|
3753
|
-
: {};
|
|
3754
|
-
const listConfig = mergeWith(defaultOpts, config, this._configMergeCustomizer);
|
|
3755
|
-
if (listConfig.persist !== false) {
|
|
3756
|
-
this._restorePersistance(listConfig.persist);
|
|
3757
|
-
}
|
|
3758
|
-
this._updateCustomizeAction(listConfig.actions);
|
|
3759
|
-
this.list = new List(this._el, listConfig, this.fsScroll, this.selectionDialog, this._router, this._route, this._persistance, this._inDialog);
|
|
3760
|
-
this._waitFirstLoad();
|
|
3761
|
-
this._listenFiltersQueryChange();
|
|
3762
|
-
this.reorderController.initWithConfig(config.reorder, this.list.dataController, this.list.actions);
|
|
3763
|
-
if (this.listColumnDirectives) {
|
|
3764
|
-
this.list.tranformTemplatesToColumns(this.listColumnDirectives);
|
|
3765
|
-
}
|
|
3766
|
-
this._listenSortingChange();
|
|
3803
|
+
selectAll(event) {
|
|
3804
|
+
this.selection.selectAllVisibleRows(event.checked);
|
|
3767
3805
|
}
|
|
3768
3806
|
/**
|
|
3769
|
-
*
|
|
3770
|
-
* @param
|
|
3807
|
+
* Track By for improve change detection
|
|
3808
|
+
* @param index
|
|
3771
3809
|
*/
|
|
3772
|
-
|
|
3773
|
-
|
|
3774
|
-
const customizeAction = (_a = actions) === null || _a === void 0 ? void 0 : _a.find((action) => action.customize);
|
|
3775
|
-
if (customizeAction) {
|
|
3776
|
-
const actionClickFn = customizeAction.click;
|
|
3777
|
-
customizeAction.click = () => {
|
|
3778
|
-
if (actionClickFn) {
|
|
3779
|
-
actionClickFn(null);
|
|
3780
|
-
}
|
|
3781
|
-
const dialogRef = this.dialog.open(CustomizeColsDialogComponent, {
|
|
3782
|
-
data: {
|
|
3783
|
-
columns: this.list.columns.columnsForDialog,
|
|
3784
|
-
changeFn: this.list.columns.changeFn,
|
|
3785
|
-
},
|
|
3786
|
-
});
|
|
3787
|
-
dialogRef
|
|
3788
|
-
.afterClosed()
|
|
3789
|
-
.pipe(takeUntil(this.list.onDestroy$), takeUntil(this._destroy))
|
|
3790
|
-
.subscribe((data) => {
|
|
3791
|
-
if (data) {
|
|
3792
|
-
this.list.columns.updateVisibilityForCols(data);
|
|
3793
|
-
this.cdRef.markForCheck();
|
|
3794
|
-
}
|
|
3795
|
-
});
|
|
3796
|
-
};
|
|
3797
|
-
}
|
|
3810
|
+
trackByFn(index) {
|
|
3811
|
+
return index;
|
|
3798
3812
|
}
|
|
3799
3813
|
/**
|
|
3800
|
-
*
|
|
3814
|
+
* Subscribe to sorting change
|
|
3801
3815
|
*/
|
|
3802
|
-
|
|
3803
|
-
this.
|
|
3804
|
-
.
|
|
3805
|
-
.pipe(takeUntil(this.list.onDestroy$), takeUntil(this._destroy))
|
|
3806
|
-
.subscribe((sort) => {
|
|
3807
|
-
this._filterRef.updateSort(sort);
|
|
3808
|
-
});
|
|
3809
|
-
}
|
|
3810
|
-
_subscribeToRemoveRow() {
|
|
3811
|
-
this.rowRemoved
|
|
3812
|
-
.pipe(takeUntil(this._destroy))
|
|
3813
|
-
.subscribe((row) => {
|
|
3814
|
-
this.list.dataController.removeData(row);
|
|
3815
|
-
});
|
|
3816
|
-
}
|
|
3817
|
-
_subscribeToGroupExpandStatusChange() {
|
|
3818
|
-
if (this.list.dataController.hasGroups) {
|
|
3819
|
-
this._groupExpandNotifier.expandStatusChange$
|
|
3820
|
-
.pipe(takeUntil(this._destroy))
|
|
3821
|
-
.subscribe((row) => {
|
|
3822
|
-
this.list.dataController.toggleRowGroup(row);
|
|
3823
|
-
});
|
|
3824
|
-
}
|
|
3825
|
-
}
|
|
3826
|
-
_waitFirstLoad() {
|
|
3827
|
-
this.list.loading$
|
|
3828
|
-
.pipe(skip(1), filter((value) => value === false), take(1), takeUntil(this.list.onDestroy$), takeUntil(this._destroy))
|
|
3816
|
+
initSorting() {
|
|
3817
|
+
this.sorting.sortingChanged$
|
|
3818
|
+
.pipe(takeUntil(this._destroy$))
|
|
3829
3819
|
.subscribe(() => {
|
|
3830
|
-
this.
|
|
3831
|
-
this.cdRef.markForCheck();
|
|
3832
|
-
});
|
|
3833
|
-
}
|
|
3834
|
-
_listenFiltersQueryChange() {
|
|
3835
|
-
this.list.filtersQuery$
|
|
3836
|
-
.pipe(takeUntil(this.list.onDestroy$), takeUntil(this._destroy))
|
|
3837
|
-
.subscribe((value) => {
|
|
3838
|
-
if (value) {
|
|
3839
|
-
const activeFilters = Object.keys(value).length;
|
|
3840
|
-
this.reorderController.setNunberOfActiveFilters(activeFilters);
|
|
3841
|
-
}
|
|
3820
|
+
this.cdRef.detectChanges();
|
|
3842
3821
|
});
|
|
3843
3822
|
}
|
|
3844
|
-
|
|
3845
|
-
|
|
3846
|
-
|
|
3823
|
+
/**
|
|
3824
|
+
* Subscribe to selection change
|
|
3825
|
+
*/
|
|
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();
|
|
3835
|
+
});
|
|
3847
3836
|
}
|
|
3848
3837
|
}
|
|
3849
|
-
|
|
3850
|
-
|
|
3851
|
-
|
|
3852
|
-
|
|
3853
|
-
|
|
3854
|
-
|
|
3855
|
-
|
|
3856
|
-
|
|
3857
|
-
|
|
3858
|
-
|
|
3859
|
-
|
|
3860
|
-
|
|
3861
|
-
|
|
3862
|
-
|
|
3863
|
-
|
|
3864
|
-
|
|
3865
|
-
|
|
3866
|
-
|
|
3867
|
-
|
|
3868
|
-
|
|
3869
|
-
]
|
|
3870
|
-
|
|
3871
|
-
HostBinding('class.fs-list'),
|
|
3872
|
-
__metadata("design:type", Object)
|
|
3873
|
-
], FsListComponent.prototype, "classFsList", void 0);
|
|
3874
|
-
__decorate([
|
|
3875
|
-
Input('config'),
|
|
3876
|
-
__metadata("design:type", Object),
|
|
3877
|
-
__metadata("design:paramtypes", [Object])
|
|
3878
|
-
], FsListComponent.prototype, "config", null);
|
|
3879
|
-
__decorate([
|
|
3880
|
-
Input(),
|
|
3881
|
-
__metadata("design:type", Object)
|
|
3882
|
-
], FsListComponent.prototype, "loaderLines", void 0);
|
|
3883
|
-
__decorate([
|
|
3884
|
-
Output(),
|
|
3885
|
-
__metadata("design:type", Object)
|
|
3886
|
-
], FsListComponent.prototype, "filtersReady", void 0);
|
|
3887
|
-
__decorate([
|
|
3888
|
-
ViewChild(FilterComponent),
|
|
3889
|
-
__metadata("design:type", Object),
|
|
3890
|
-
__metadata("design:paramtypes", [Object])
|
|
3891
|
-
], FsListComponent.prototype, "filterReference", null);
|
|
3892
|
-
__decorate([
|
|
3893
|
-
ContentChildren(FsListColumnDirective),
|
|
3894
|
-
__metadata("design:type", QueryList),
|
|
3895
|
-
__metadata("design:paramtypes", [QueryList])
|
|
3896
|
-
], FsListComponent.prototype, "columnTemplates", null);
|
|
3897
|
-
__decorate([
|
|
3898
|
-
ContentChild(FsListEmptyStateDirective, { read: TemplateRef }),
|
|
3899
|
-
__metadata("design:type", TemplateRef),
|
|
3900
|
-
__metadata("design:paramtypes", [TemplateRef])
|
|
3901
|
-
], FsListComponent.prototype, "_emptyStateTemplate", null);
|
|
3902
|
-
FsListComponent = __decorate([
|
|
3903
|
-
Component({
|
|
3904
|
-
selector: 'fs-list',
|
|
3905
|
-
template: "<div class=\"fs-list-container\"\r\n [ngClass]=\"{ 'has-filter-input': list.filterInput,\r\n 'has-filters': list.filterConfig?.items.length,\r\n 'has-heading': list.heading,\r\n 'has-status': list.status,\r\n 'has-chips': list.chips,\r\n 'has-actions': list.actions.hasActions,\r\n 'first-load': firstLoad,\r\n 'loading': list.loading$ | async }\">\r\n <ng-template [ngTemplateOutlet]=\"listContainerContent\"></ng-template>\r\n</div>\r\n\r\n<ng-template #listContainerContent>\r\n <ng-container *ngIf=\"list.dataController.visibleRows$ | async as listData\">\r\n <!-- Header -->\r\n <div class=\"fs-list-header-container\">\r\n\r\n <div class=\"fs-list-header\"\r\n [ngClass]=\"{ 'no-wrap': reorderController.manualReorderActivated$ || !list.filterConfig?.items.length }\">\r\n <div class=\"heading-container\">\r\n <h2 class=\"heading\" *ngIf=\"list.heading\">{{list.heading}}</h2>\r\n <span class=\"subheading\" *ngIf=\"list.subheading\">{{list.subheading}}</span>\r\n </div>\r\n <fs-filter\r\n class=\"fs-list-filter\"\r\n *ngIf=\"list.filterConfig\"\r\n [filter]=\"list.filterConfig\"\r\n [showSortBy]=\"!list.status\"\r\n [showFilterInput]=\"list.filterInput\"\r\n (ready)=\"filterReady()\">\r\n\r\n <ng-template fsFilterStatusBar>\r\n <ng-container *ngIf=\"\r\n list.paging &&\r\n !(reorderController.manualReorderActivated$ | async) &&\r\n (!reorderController.enabled || reorderController.status) &&\r\n ((list.scrollable && list.scrollable.status) || !list.scrollable)\">\r\n <!-- Status -->\r\n <fs-list-status\r\n class=\"fs-list-status\"\r\n [ngClass]=\"{ 'hidden-mobile': !list.status }\"\r\n [rows]=\"listData\"\r\n [sorting]=\"list.sorting\"\r\n [paging]=\"list.paging\"\r\n [firstLoad]=\"firstLoad\"\r\n [scrollable]=\"list.scrollable\">\r\n </fs-list-status>\r\n </ng-container>\r\n </ng-template>\r\n </fs-filter>\r\n </div>\r\n </div>\r\n\r\n <!-- Table implementation -->\r\n <div class=\"fs-list-table-container\">\r\n <table class=\"fs-list-table\" role=\"grid\" *ngIf=\"!firstLoad && listData.length > 0 && !list.emptyStateEnabled\">\r\n <thead fs-list-head\r\n class=\"fs-list-head\"\r\n role=\"rowgroup\"\r\n *ngIf=\"list.columns.hasHeader\"\r\n [ngClass]=\"list.columns.theadClass\"\r\n [columns]=\"list.columns.visibleColumns\"\r\n [sorting]=\"list.sorting\"\r\n [selection]=\"list.selection\"\r\n [hasRowActions]=\"list.hasRowActions\"\r\n >\r\n </thead>\r\n\r\n <tbody fs-list-body\r\n fsListDraggableList\r\n class=\"fs-list-body\"\r\n role=\"rowgroup\"\r\n [class.disabled]=\"!!(reorderController.reorderDisabled$ | async)\"\r\n [rows]=\"listData\"\r\n [rowActionsRaw]=\"list.rowActionsRaw\"\r\n [groupActionsRaw]=\"list.groupActionsRaw\"\r\n [hasRowActions]=\"list.hasRowActions\"\r\n [rowEvents]=\"list.rowEvents\"\r\n [rowClass]=\"list.rowClass\"\r\n [columns]=\"list.columns.visibleColumns\"\r\n [restoreMode]=\"list.restoreMode\"\r\n [selection]=\"list.selection\"\r\n [rowRemoved]=\"rowRemoved\"\r\n >\r\n </tbody>\r\n\r\n <tfoot fs-list-footer\r\n class=\"fs-list-footer\"\r\n *ngIf=\"list.columns.hasFooter\"\r\n [columns]=\"list.columns.visibleColumns\"\r\n [selection]=\"list.selection\"\r\n [hasRowActions]=\"list.hasRowActions\">\r\n </tfoot>\r\n </table>\r\n <fs-list-loader\r\n *ngIf=\"firstLoad\"\r\n [columns]=\"list.columns.columns\"\r\n [loaderLines]=\"loaderLines\">\r\n </fs-list-loader>\r\n </div>\r\n\r\n <fs-list-pagination\r\n *ngIf=\"paginatorVisible\"\r\n class=\"fs-list-pagination\"\r\n [rows]=\"listData\"\r\n [pagination]=\"list.paging\">\r\n </fs-list-pagination>\r\n\r\n\r\n <ng-container *ngIf=\"!firstLoad\">\r\n <div \r\n *ngIf=\"listData.length === 0\" \r\n class=\"fs-list-no-results-container\">\r\n <div \r\n *ngIf=\"list.noResults?.message && !list.emptyStateEnabled\"\r\n class=\"fs-list-no-results\">\r\n {{ list.noResults?.message }}\r\n </div>\r\n <ng-container *ngIf=\"list.emptyStateEnabled\">\r\n <ng-template [ngTemplateOutlet]=\"list.emptyStateTemplate\"></ng-template>\r\n </ng-container> \r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n</ng-template>\r\n\r\n",
|
|
3906
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
3907
|
-
providers: [
|
|
3908
|
-
GroupExpandNotifierService,
|
|
3909
|
-
PersistanceController,
|
|
3910
|
-
ReorderController,
|
|
3911
|
-
],
|
|
3912
|
-
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}}"]
|
|
3913
|
-
}),
|
|
3914
|
-
__param(2, Optional()), __param(2, Inject(FS_LIST_DEFAULT_CONFIG)),
|
|
3915
|
-
__param(3, Optional()),
|
|
3916
|
-
__param(12, Optional()),
|
|
3917
|
-
__param(13, Optional()),
|
|
3918
|
-
__metadata("design:paramtypes", [ReorderController,
|
|
3919
|
-
ElementRef, Object, FsScrollService,
|
|
3920
|
-
SelectionDialog,
|
|
3921
|
-
MatDialog,
|
|
3922
|
-
ChangeDetectorRef,
|
|
3923
|
-
GroupExpandNotifierService,
|
|
3924
|
-
Router,
|
|
3925
|
-
ActivatedRoute,
|
|
3926
|
-
PersistanceController,
|
|
3927
|
-
Location,
|
|
3928
|
-
MatDialogRef,
|
|
3929
|
-
DrawerRef])
|
|
3930
|
-
], 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
|
+
}] } });
|
|
3931
3860
|
|
|
3932
|
-
|
|
3861
|
+
class FsListDraggableListDirective {
|
|
3933
3862
|
constructor(_cdRef, _zone, _containerElement, _reorderController) {
|
|
3934
3863
|
this._cdRef = _cdRef;
|
|
3935
3864
|
this._zone = _zone;
|
|
@@ -4166,50 +4095,186 @@ let FsListDraggableListDirective = class FsListDraggableListDirective {
|
|
|
4166
4095
|
e.preventDefault();
|
|
4167
4096
|
}
|
|
4168
4097
|
}
|
|
4169
|
-
}
|
|
4170
|
-
FsListDraggableListDirective
|
|
4171
|
-
|
|
4172
|
-
|
|
4173
|
-
|
|
4174
|
-
|
|
4175
|
-
]
|
|
4176
|
-
|
|
4177
|
-
|
|
4178
|
-
|
|
4179
|
-
]
|
|
4180
|
-
|
|
4181
|
-
Directive({
|
|
4182
|
-
selector: '[fsListDraggableList]',
|
|
4183
|
-
}),
|
|
4184
|
-
__metadata("design:paramtypes", [ChangeDetectorRef,
|
|
4185
|
-
NgZone,
|
|
4186
|
-
ElementRef,
|
|
4187
|
-
ReorderController])
|
|
4188
|
-
], 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
|
+
}] } });
|
|
4189
4110
|
|
|
4190
|
-
|
|
4191
|
-
constructor(
|
|
4192
|
-
this.
|
|
4193
|
-
this.
|
|
4194
|
-
this.
|
|
4195
|
-
|
|
4196
|
-
|
|
4197
|
-
this.
|
|
4198
|
-
|
|
4199
|
-
|
|
4200
|
-
this.
|
|
4201
|
-
|
|
4202
|
-
|
|
4203
|
-
|
|
4204
|
-
|
|
4205
|
-
|
|
4206
|
-
|
|
4207
|
-
|
|
4208
|
-
|
|
4209
|
-
|
|
4210
|
-
|
|
4211
|
-
|
|
4212
|
-
|
|
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;
|
|
4171
|
+
this.restoreMode = false;
|
|
4172
|
+
this.rowActions = [];
|
|
4173
|
+
this.menuRowActions = [];
|
|
4174
|
+
this.inlineRowActions = [];
|
|
4175
|
+
this._destroy$ = new Subject();
|
|
4176
|
+
}
|
|
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();
|
|
4213
4278
|
this._rowDiffer = _differs.find({}).create();
|
|
4214
4279
|
}
|
|
4215
4280
|
get rowCssClass() {
|
|
@@ -4364,87 +4429,114 @@ let FsRowComponent = class FsRowComponent {
|
|
|
4364
4429
|
}
|
|
4365
4430
|
});
|
|
4366
4431
|
}
|
|
4367
|
-
}
|
|
4368
|
-
FsRowComponent
|
|
4369
|
-
{ type:
|
|
4370
|
-
|
|
4371
|
-
|
|
4372
|
-
|
|
4373
|
-
|
|
4374
|
-
|
|
4375
|
-
|
|
4376
|
-
|
|
4377
|
-
|
|
4378
|
-
|
|
4379
|
-
|
|
4380
|
-
|
|
4381
|
-
|
|
4382
|
-
|
|
4383
|
-
|
|
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
|
-
|
|
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
|
+
}] } });
|
|
4446
4538
|
|
|
4447
|
-
|
|
4539
|
+
class FsBodyComponent {
|
|
4448
4540
|
constructor(reorderContoller, el, cdRef, differs) {
|
|
4449
4541
|
this.reorderContoller = reorderContoller;
|
|
4450
4542
|
this.el = el;
|
|
@@ -4469,680 +4561,502 @@ let FsBodyComponent = class FsBodyComponent {
|
|
|
4469
4561
|
this._destroy$.next();
|
|
4470
4562
|
this._destroy$.complete();
|
|
4471
4563
|
}
|
|
4472
|
-
}
|
|
4473
|
-
FsBodyComponent
|
|
4474
|
-
|
|
4475
|
-
|
|
4476
|
-
|
|
4477
|
-
|
|
4478
|
-
]
|
|
4479
|
-
|
|
4480
|
-
|
|
4481
|
-
|
|
4482
|
-
],
|
|
4483
|
-
|
|
4484
|
-
|
|
4485
|
-
|
|
4486
|
-
],
|
|
4487
|
-
|
|
4488
|
-
|
|
4489
|
-
|
|
4490
|
-
],
|
|
4491
|
-
|
|
4492
|
-
|
|
4493
|
-
|
|
4494
|
-
],
|
|
4495
|
-
|
|
4496
|
-
|
|
4497
|
-
|
|
4498
|
-
],
|
|
4499
|
-
|
|
4500
|
-
|
|
4501
|
-
|
|
4502
|
-
],
|
|
4503
|
-
|
|
4504
|
-
|
|
4505
|
-
|
|
4506
|
-
|
|
4507
|
-
|
|
4508
|
-
|
|
4509
|
-
|
|
4510
|
-
]
|
|
4511
|
-
__decorate([
|
|
4512
|
-
Input(),
|
|
4513
|
-
__metadata("design:type", SelectionController)
|
|
4514
|
-
], FsBodyComponent.prototype, "selection", void 0);
|
|
4515
|
-
__decorate([
|
|
4516
|
-
Input(),
|
|
4517
|
-
__metadata("design:type", Object)
|
|
4518
|
-
], FsBodyComponent.prototype, "restoreMode", void 0);
|
|
4519
|
-
__decorate([
|
|
4520
|
-
Input(),
|
|
4521
|
-
__metadata("design:type", EventEmitter)
|
|
4522
|
-
], FsBodyComponent.prototype, "rowRemoved", void 0);
|
|
4523
|
-
__decorate([
|
|
4524
|
-
ViewChild('rowsContainer', { read: ViewContainerRef, static: true }),
|
|
4525
|
-
__metadata("design:type", Object)
|
|
4526
|
-
], FsBodyComponent.prototype, "rowsContainer", void 0);
|
|
4527
|
-
__decorate([
|
|
4528
|
-
ContentChild(FsRowComponent, { read: TemplateRef, static: true }),
|
|
4529
|
-
__metadata("design:type", TemplateRef)
|
|
4530
|
-
], FsBodyComponent.prototype, "headerTemplate", void 0);
|
|
4531
|
-
FsBodyComponent = __decorate([
|
|
4532
|
-
Component({
|
|
4533
|
-
selector: '[fs-list-body]',
|
|
4534
|
-
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",
|
|
4535
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
4536
|
-
}),
|
|
4537
|
-
__metadata("design:paramtypes", [ReorderController,
|
|
4538
|
-
ElementRef,
|
|
4539
|
-
ChangeDetectorRef,
|
|
4540
|
-
IterableDiffers])
|
|
4541
|
-
], 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
|
+
}] } });
|
|
4542
4603
|
|
|
4543
|
-
|
|
4604
|
+
class FsFooterCellComponent extends FsCellComponent {
|
|
4544
4605
|
constructor() {
|
|
4545
|
-
|
|
4546
|
-
|
|
4547
|
-
|
|
4548
|
-
|
|
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 = [];
|
|
4549
4667
|
}
|
|
4550
4668
|
ngOnInit() {
|
|
4551
|
-
this.
|
|
4552
|
-
this.
|
|
4553
|
-
|
|
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
|
+
}
|
|
4554
4679
|
}
|
|
4555
4680
|
ngOnChanges(changes) {
|
|
4556
|
-
if (changes.
|
|
4557
|
-
this.
|
|
4681
|
+
if (changes.loaderLines) {
|
|
4682
|
+
this.rows = new Array(this.loaderLines);
|
|
4558
4683
|
}
|
|
4559
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
|
+
}
|
|
4560
4716
|
ngOnDestroy() {
|
|
4561
4717
|
this._destroy$.next();
|
|
4562
4718
|
this._destroy$.complete();
|
|
4563
4719
|
}
|
|
4564
|
-
|
|
4565
|
-
|
|
4566
|
-
|
|
4567
|
-
|
|
4568
|
-
|
|
4569
|
-
|
|
4570
|
-
|
|
4571
|
-
|
|
4572
|
-
|
|
4573
|
-
|
|
4574
|
-
|
|
4575
|
-
|
|
4576
|
-
|
|
4577
|
-
|
|
4578
|
-
|
|
4579
|
-
|
|
4580
|
-
|
|
4581
|
-
|
|
4582
|
-
_initCellTemplate() {
|
|
4583
|
-
if (this.row && this.row.isGroup) {
|
|
4584
|
-
this.cellTemplate = this.column.groupCellTemplate || this.column.cellTemplate;
|
|
4585
|
-
}
|
|
4586
|
-
else {
|
|
4587
|
-
this.cellTemplate = this.column.cellTemplate;
|
|
4588
|
-
}
|
|
4589
|
-
}
|
|
4590
|
-
_listenGroupOpen() {
|
|
4591
|
-
if (this.row && this.row.isGroup) {
|
|
4592
|
-
this.row.expanded$
|
|
4593
|
-
.pipe(takeUntil(this._destroy$))
|
|
4594
|
-
.subscribe((status) => {
|
|
4595
|
-
this.cellContext.expanded = status;
|
|
4596
|
-
});
|
|
4597
|
-
}
|
|
4598
|
-
}
|
|
4599
|
-
};
|
|
4600
|
-
__decorate([
|
|
4601
|
-
HostBinding('class.fs-list-col'),
|
|
4602
|
-
__metadata("design:type", Object)
|
|
4603
|
-
], FsCellComponent.prototype, "isColl", void 0);
|
|
4604
|
-
__decorate([
|
|
4605
|
-
HostBinding('attr.role'),
|
|
4606
|
-
__metadata("design:type", Object)
|
|
4607
|
-
], FsCellComponent.prototype, "role", void 0);
|
|
4608
|
-
__decorate([
|
|
4609
|
-
Input(),
|
|
4610
|
-
__metadata("design:type", Column)
|
|
4611
|
-
], FsCellComponent.prototype, "column", void 0);
|
|
4612
|
-
__decorate([
|
|
4613
|
-
Input(),
|
|
4614
|
-
__metadata("design:type", Row)
|
|
4615
|
-
], FsCellComponent.prototype, "row", void 0);
|
|
4616
|
-
__decorate([
|
|
4617
|
-
Input(),
|
|
4618
|
-
__metadata("design:type", Number)
|
|
4619
|
-
], FsCellComponent.prototype, "rowIndex", void 0);
|
|
4620
|
-
FsCellComponent = __decorate([
|
|
4621
|
-
Component({
|
|
4622
|
-
selector: '[fs-cell]',
|
|
4623
|
-
template: "<ng-template [ngTemplateOutlet]=\"cellTemplate || defaultCellTemplate\" [ngTemplateOutletContext]=\"cellContext\"></ng-template>\n\n<ng-template #defaultCellTemplate let-value=\"value\">\n {{value}}\n</ng-template>\n",
|
|
4624
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
4625
|
-
}),
|
|
4626
|
-
__metadata("design:paramtypes", [])
|
|
4627
|
-
], 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
|
+
}] } });
|
|
4628
4738
|
|
|
4629
|
-
|
|
4630
|
-
constructor(reorderController, cdRef) {
|
|
4739
|
+
class FsListComponent {
|
|
4740
|
+
constructor(reorderController, _el, _defaultOptions, fsScroll, selectionDialog, dialog, cdRef, _groupExpandNotifier, _router, _route, _persistance, _location, _dialogRef, _drawerRef) {
|
|
4631
4741
|
this.reorderController = reorderController;
|
|
4742
|
+
this._el = _el;
|
|
4743
|
+
this._defaultOptions = _defaultOptions;
|
|
4744
|
+
this.fsScroll = fsScroll;
|
|
4745
|
+
this.selectionDialog = selectionDialog;
|
|
4746
|
+
this.dialog = dialog;
|
|
4632
4747
|
this.cdRef = cdRef;
|
|
4633
|
-
this.
|
|
4634
|
-
this.
|
|
4635
|
-
this.
|
|
4636
|
-
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();
|
|
4637
4764
|
}
|
|
4638
|
-
|
|
4639
|
-
this.
|
|
4640
|
-
this.initSelection();
|
|
4765
|
+
set config(config) {
|
|
4766
|
+
this._initWithConfig(config);
|
|
4641
4767
|
}
|
|
4642
|
-
|
|
4643
|
-
this.
|
|
4644
|
-
this.
|
|
4768
|
+
set filterReference(component) {
|
|
4769
|
+
this._filterRef = component;
|
|
4770
|
+
this.list.actions.setFilterRef(component);
|
|
4771
|
+
this._emitFiltersReadyEvent();
|
|
4645
4772
|
}
|
|
4646
4773
|
/**
|
|
4647
|
-
*
|
|
4648
|
-
*
|
|
4774
|
+
* Set columns to config
|
|
4775
|
+
* Create Column Model instances
|
|
4776
|
+
*
|
|
4649
4777
|
*/
|
|
4650
|
-
|
|
4651
|
-
this.
|
|
4778
|
+
set columnTemplates(listColumnDirectives) {
|
|
4779
|
+
this.listColumnDirectives = listColumnDirectives;
|
|
4780
|
+
if (this.list) {
|
|
4781
|
+
this.list.tranformTemplatesToColumns(listColumnDirectives);
|
|
4782
|
+
}
|
|
4652
4783
|
}
|
|
4653
|
-
|
|
4654
|
-
|
|
4655
|
-
|
|
4656
|
-
|
|
4657
|
-
trackByFn(index) {
|
|
4658
|
-
return index;
|
|
4784
|
+
set _emptyStateTemplate(template) {
|
|
4785
|
+
if (this.list) {
|
|
4786
|
+
this.list.emptyStateTemplate = template;
|
|
4787
|
+
}
|
|
4659
4788
|
}
|
|
4660
4789
|
/**
|
|
4661
|
-
*
|
|
4790
|
+
* Return reference for filter
|
|
4662
4791
|
*/
|
|
4663
|
-
|
|
4664
|
-
this.
|
|
4665
|
-
.pipe(takeUntil(this._destroy$))
|
|
4666
|
-
.subscribe(() => {
|
|
4667
|
-
this.cdRef.detectChanges();
|
|
4668
|
-
});
|
|
4792
|
+
get filterRef() {
|
|
4793
|
+
return this._filterRef;
|
|
4669
4794
|
}
|
|
4670
|
-
|
|
4671
|
-
|
|
4672
|
-
*/
|
|
4673
|
-
initSelection() {
|
|
4674
|
-
if (this.selection) {
|
|
4675
|
-
this.selection.selectionChange$
|
|
4676
|
-
.pipe(filter(({ type }) => (type === SelectionChangeType.AllVisibleSelectionChange
|
|
4677
|
-
|| type === SelectionChangeType.SelectedAll
|
|
4678
|
-
|| type === SelectionChangeType.RowSelectionChange)), takeUntil(this._destroy$))
|
|
4679
|
-
.subscribe(({ type, payload: status }) => {
|
|
4680
|
-
this.selectedAll = status;
|
|
4681
|
-
this.cdRef.markForCheck();
|
|
4682
|
-
});
|
|
4683
|
-
}
|
|
4795
|
+
get groupEnabled() {
|
|
4796
|
+
return this.list.dataController.groupEnabled;
|
|
4684
4797
|
}
|
|
4685
|
-
|
|
4686
|
-
|
|
4687
|
-
|
|
4688
|
-
|
|
4689
|
-
|
|
4690
|
-
|
|
4691
|
-
|
|
4692
|
-
__metadata("design:type", SortingController)
|
|
4693
|
-
], FsHeadComponent.prototype, "sorting", void 0);
|
|
4694
|
-
__decorate([
|
|
4695
|
-
Input(),
|
|
4696
|
-
__metadata("design:type", Array)
|
|
4697
|
-
], FsHeadComponent.prototype, "columns", void 0);
|
|
4698
|
-
__decorate([
|
|
4699
|
-
Input(),
|
|
4700
|
-
__metadata("design:type", Boolean)
|
|
4701
|
-
], FsHeadComponent.prototype, "hasRowActions", void 0);
|
|
4702
|
-
__decorate([
|
|
4703
|
-
Input(),
|
|
4704
|
-
__metadata("design:type", SelectionController)
|
|
4705
|
-
], FsHeadComponent.prototype, "selection", void 0);
|
|
4706
|
-
__decorate([
|
|
4707
|
-
ViewChild('rowsContainer', { read: ViewContainerRef, static: true }),
|
|
4708
|
-
__metadata("design:type", Object)
|
|
4709
|
-
], FsHeadComponent.prototype, "rowsContainer", void 0);
|
|
4710
|
-
FsHeadComponent = __decorate([
|
|
4711
|
-
Component({
|
|
4712
|
-
selector: '[fs-list-head]',
|
|
4713
|
-
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",
|
|
4714
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
4715
|
-
}),
|
|
4716
|
-
__metadata("design:paramtypes", [ReorderController,
|
|
4717
|
-
ChangeDetectorRef])
|
|
4718
|
-
], FsHeadComponent);
|
|
4719
|
-
|
|
4720
|
-
let FsHeadCellComponent = class FsHeadCellComponent extends FsCellComponent {
|
|
4721
|
-
constructor(cdRef, differs) {
|
|
4722
|
-
super();
|
|
4723
|
-
this.cdRef = cdRef;
|
|
4724
|
-
this.differs = differs;
|
|
4725
|
-
this.cellContext = {};
|
|
4726
|
-
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;
|
|
4727
4805
|
}
|
|
4728
|
-
|
|
4729
|
-
|
|
4730
|
-
|
|
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();
|
|
4731
4816
|
}
|
|
4817
|
+
this._destroy.next();
|
|
4818
|
+
this._destroy.complete();
|
|
4732
4819
|
}
|
|
4733
|
-
|
|
4734
|
-
this.
|
|
4820
|
+
nextPage() {
|
|
4821
|
+
this.list.paging.goNext();
|
|
4735
4822
|
}
|
|
4736
|
-
|
|
4737
|
-
|
|
4738
|
-
{ type: ChangeDetectorRef },
|
|
4739
|
-
{ type: KeyValueDiffers }
|
|
4740
|
-
];
|
|
4741
|
-
FsHeadCellComponent = __decorate([
|
|
4742
|
-
Component({
|
|
4743
|
-
selector: '[fs-head-cell]',
|
|
4744
|
-
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",
|
|
4745
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
4746
|
-
}),
|
|
4747
|
-
__metadata("design:paramtypes", [ChangeDetectorRef,
|
|
4748
|
-
KeyValueDiffers])
|
|
4749
|
-
], FsHeadCellComponent);
|
|
4750
|
-
|
|
4751
|
-
let FsFooterComponent = class FsFooterComponent {
|
|
4752
|
-
constructor() {
|
|
4753
|
-
this.columns = [];
|
|
4823
|
+
prevPage() {
|
|
4824
|
+
this.list.paging.goPrev();
|
|
4754
4825
|
}
|
|
4755
|
-
|
|
4756
|
-
|
|
4757
|
-
Input(),
|
|
4758
|
-
__metadata("design:type", Boolean)
|
|
4759
|
-
], FsFooterComponent.prototype, "hasRowActions", void 0);
|
|
4760
|
-
__decorate([
|
|
4761
|
-
Input(),
|
|
4762
|
-
__metadata("design:type", Array)
|
|
4763
|
-
], FsFooterComponent.prototype, "columns", void 0);
|
|
4764
|
-
__decorate([
|
|
4765
|
-
Input(),
|
|
4766
|
-
__metadata("design:type", SelectionController)
|
|
4767
|
-
], FsFooterComponent.prototype, "selection", void 0);
|
|
4768
|
-
FsFooterComponent = __decorate([
|
|
4769
|
-
Component({
|
|
4770
|
-
selector: '[fs-list-footer]',
|
|
4771
|
-
template: "<tr fs-list-footer-row\n [columns]=\"columns\"\n [hasRowActions]=\"hasRowActions\"\n [selection]=\"selection\"\n></tr>\n",
|
|
4772
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
4773
|
-
}),
|
|
4774
|
-
__metadata("design:paramtypes", [])
|
|
4775
|
-
], FsFooterComponent);
|
|
4776
|
-
|
|
4777
|
-
let FsFooterRowComponent = class FsFooterRowComponent extends FsRowComponent {
|
|
4778
|
-
constructor(el, reorderController, cdRef, differs, renderer) {
|
|
4779
|
-
super(el, reorderController, cdRef, differs, renderer, null);
|
|
4780
|
-
this.ReorderPosition = ReorderPosition;
|
|
4826
|
+
firstPage() {
|
|
4827
|
+
this.list.paging.goFirst();
|
|
4781
4828
|
}
|
|
4782
|
-
|
|
4783
|
-
|
|
4784
|
-
{ type: ElementRef },
|
|
4785
|
-
{ type: ReorderController },
|
|
4786
|
-
{ type: ChangeDetectorRef },
|
|
4787
|
-
{ type: KeyValueDiffers },
|
|
4788
|
-
{ type: Renderer2 }
|
|
4789
|
-
];
|
|
4790
|
-
__decorate([
|
|
4791
|
-
Input(),
|
|
4792
|
-
__metadata("design:type", Boolean)
|
|
4793
|
-
], FsFooterRowComponent.prototype, "hasRowActions", void 0);
|
|
4794
|
-
FsFooterRowComponent = __decorate([
|
|
4795
|
-
Component({
|
|
4796
|
-
selector: '[fs-list-footer-row]',
|
|
4797
|
-
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",
|
|
4798
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
4799
|
-
}),
|
|
4800
|
-
__metadata("design:paramtypes", [ElementRef,
|
|
4801
|
-
ReorderController,
|
|
4802
|
-
ChangeDetectorRef,
|
|
4803
|
-
KeyValueDiffers,
|
|
4804
|
-
Renderer2])
|
|
4805
|
-
], FsFooterRowComponent);
|
|
4806
|
-
|
|
4807
|
-
let FsFooterCellComponent = class FsFooterCellComponent extends FsCellComponent {
|
|
4808
|
-
constructor() {
|
|
4809
|
-
super();
|
|
4829
|
+
lastPage() {
|
|
4830
|
+
this.list.paging.goLast();
|
|
4810
4831
|
}
|
|
4811
|
-
|
|
4812
|
-
|
|
4813
|
-
Component({
|
|
4814
|
-
selector: '[fs-list-footer-cell]',
|
|
4815
|
-
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",
|
|
4816
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
4817
|
-
}),
|
|
4818
|
-
__metadata("design:paramtypes", [])
|
|
4819
|
-
], FsFooterCellComponent);
|
|
4820
|
-
|
|
4821
|
-
let FsStatusComponent = class FsStatusComponent {
|
|
4822
|
-
constructor(_cdRef) {
|
|
4823
|
-
this._cdRef = _cdRef;
|
|
4824
|
-
this._destroy$ = new Subject();
|
|
4832
|
+
reload() {
|
|
4833
|
+
this.list.reload();
|
|
4825
4834
|
}
|
|
4826
|
-
|
|
4827
|
-
this.
|
|
4828
|
-
.pipe(takeUntil(this._destroy$))
|
|
4829
|
-
.subscribe(() => {
|
|
4830
|
-
this._cdRef.markForCheck();
|
|
4831
|
-
});
|
|
4835
|
+
getData(trackBy) {
|
|
4836
|
+
return this.list.getData(trackBy);
|
|
4832
4837
|
}
|
|
4833
|
-
|
|
4834
|
-
this.
|
|
4835
|
-
this._destroy$.complete();
|
|
4838
|
+
hasData(trackBy) {
|
|
4839
|
+
return this.list.hasData(trackBy);
|
|
4836
4840
|
}
|
|
4837
|
-
|
|
4838
|
-
|
|
4839
|
-
this.sorting.sortDirection(SortingDirection.desc);
|
|
4840
|
-
}
|
|
4841
|
-
else {
|
|
4842
|
-
this.sorting.sortDirection(SortingDirection.asc);
|
|
4843
|
-
}
|
|
4841
|
+
updateData(rows, trackBy) {
|
|
4842
|
+
return this.list.dataController.updateData(rows, trackBy);
|
|
4844
4843
|
}
|
|
4845
|
-
|
|
4846
|
-
|
|
4847
|
-
this.sorting.sortBy(column);
|
|
4848
|
-
}
|
|
4844
|
+
replaceRow(row, trackBy) {
|
|
4845
|
+
return this.list.dataController.replaceData(row, trackBy);
|
|
4849
4846
|
}
|
|
4850
|
-
|
|
4851
|
-
this.
|
|
4847
|
+
updateSelectionConfig(config) {
|
|
4848
|
+
this.list.selection.updateConfig(config);
|
|
4852
4849
|
}
|
|
4853
|
-
|
|
4854
|
-
|
|
4855
|
-
{ type: ChangeDetectorRef }
|
|
4856
|
-
];
|
|
4857
|
-
__decorate([
|
|
4858
|
-
Input(),
|
|
4859
|
-
__metadata("design:type", PaginationController)
|
|
4860
|
-
], FsStatusComponent.prototype, "paging", void 0);
|
|
4861
|
-
__decorate([
|
|
4862
|
-
Input(),
|
|
4863
|
-
__metadata("design:type", SortingController)
|
|
4864
|
-
], FsStatusComponent.prototype, "sorting", void 0);
|
|
4865
|
-
__decorate([
|
|
4866
|
-
Input(),
|
|
4867
|
-
__metadata("design:type", Object)
|
|
4868
|
-
], FsStatusComponent.prototype, "rows", void 0);
|
|
4869
|
-
__decorate([
|
|
4870
|
-
Input(),
|
|
4871
|
-
__metadata("design:type", Object)
|
|
4872
|
-
], FsStatusComponent.prototype, "scrollable", void 0);
|
|
4873
|
-
__decorate([
|
|
4874
|
-
Input(),
|
|
4875
|
-
HostBinding('class.first-load'),
|
|
4876
|
-
HostBinding('class.fs-skeleton-placeholder'),
|
|
4877
|
-
__metadata("design:type", Boolean)
|
|
4878
|
-
], FsStatusComponent.prototype, "firstLoad", void 0);
|
|
4879
|
-
FsStatusComponent = __decorate([
|
|
4880
|
-
Component({
|
|
4881
|
-
selector: 'fs-list-status',
|
|
4882
|
-
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",
|
|
4883
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
4884
|
-
preserveWhitespaces: true,
|
|
4885
|
-
styles: [":host{display:inline-block}:host.first-load .status{visibility:hidden}.order-toggle{white-space:nowrap}a{cursor:pointer}"]
|
|
4886
|
-
}),
|
|
4887
|
-
__metadata("design:paramtypes", [ChangeDetectorRef])
|
|
4888
|
-
], FsStatusComponent);
|
|
4889
|
-
|
|
4890
|
-
let FsPaginationComponent = class FsPaginationComponent {
|
|
4891
|
-
constructor(cdRef) {
|
|
4892
|
-
this.cdRef = cdRef;
|
|
4893
|
-
this._destroy$ = new Subject();
|
|
4850
|
+
resetSelectionActions() {
|
|
4851
|
+
this.list.selection.resetActions();
|
|
4894
4852
|
}
|
|
4895
|
-
|
|
4896
|
-
|
|
4897
|
-
.pipe(takeUntil(this._destroy$))
|
|
4898
|
-
.subscribe(() => {
|
|
4899
|
-
this.cdRef.markForCheck();
|
|
4900
|
-
});
|
|
4853
|
+
removeData(data) {
|
|
4854
|
+
return this.list.dataController.removeData(data);
|
|
4901
4855
|
}
|
|
4902
|
-
|
|
4903
|
-
this.
|
|
4904
|
-
this._destroy$.complete();
|
|
4856
|
+
setHeading(heading) {
|
|
4857
|
+
this.list.heading = heading;
|
|
4905
4858
|
}
|
|
4906
|
-
|
|
4907
|
-
|
|
4908
|
-
{ type: ChangeDetectorRef }
|
|
4909
|
-
];
|
|
4910
|
-
__decorate([
|
|
4911
|
-
Input(),
|
|
4912
|
-
__metadata("design:type", PaginationController)
|
|
4913
|
-
], FsPaginationComponent.prototype, "pagination", void 0);
|
|
4914
|
-
__decorate([
|
|
4915
|
-
Input(),
|
|
4916
|
-
__metadata("design:type", Object)
|
|
4917
|
-
], FsPaginationComponent.prototype, "rows", void 0);
|
|
4918
|
-
FsPaginationComponent = __decorate([
|
|
4919
|
-
Component({
|
|
4920
|
-
selector: 'fs-list-pagination',
|
|
4921
|
-
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",
|
|
4922
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
4923
|
-
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}"]
|
|
4924
|
-
}),
|
|
4925
|
-
__metadata("design:paramtypes", [ChangeDetectorRef])
|
|
4926
|
-
], FsPaginationComponent);
|
|
4927
|
-
|
|
4928
|
-
let FsListLoaderComponent = class FsListLoaderComponent {
|
|
4929
|
-
constructor() {
|
|
4930
|
-
this.placeholderWidths = [[], [], []];
|
|
4931
|
-
this.widths = [];
|
|
4932
|
-
this.cols = [];
|
|
4933
|
-
this.rows = [];
|
|
4859
|
+
setSubheading(subheading) {
|
|
4860
|
+
this.list.subheading = subheading;
|
|
4934
4861
|
}
|
|
4935
|
-
|
|
4936
|
-
this.
|
|
4937
|
-
|
|
4938
|
-
|
|
4939
|
-
|
|
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();
|
|
4940
4903
|
}
|
|
4941
|
-
|
|
4942
|
-
|
|
4943
|
-
|
|
4944
|
-
|
|
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);
|
|
4945
4910
|
}
|
|
4946
|
-
|
|
4947
|
-
|
|
4948
|
-
|
|
4949
|
-
|
|
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);
|
|
4950
4918
|
}
|
|
4919
|
+
this._listenSortingChange();
|
|
4951
4920
|
}
|
|
4952
|
-
|
|
4953
|
-
|
|
4954
|
-
|
|
4955
|
-
|
|
4956
|
-
|
|
4957
|
-
|
|
4958
|
-
|
|
4959
|
-
|
|
4960
|
-
|
|
4961
|
-
|
|
4962
|
-
|
|
4963
|
-
|
|
4964
|
-
|
|
4965
|
-
|
|
4966
|
-
|
|
4967
|
-
|
|
4968
|
-
], FsListLoaderComponent);
|
|
4969
|
-
|
|
4970
|
-
let FsRowActionsComponent = class FsRowActionsComponent {
|
|
4971
|
-
constructor(_fsPrompt) {
|
|
4972
|
-
this._fsPrompt = _fsPrompt;
|
|
4973
|
-
this.restoreMode = false;
|
|
4974
|
-
this.rowActions = [];
|
|
4975
|
-
this.menuRowActions = [];
|
|
4976
|
-
this.inlineRowActions = [];
|
|
4977
|
-
this._destroy$ = new Subject();
|
|
4978
|
-
}
|
|
4979
|
-
actionClick(action, row, event, menuRef) {
|
|
4980
|
-
if (action.remove) {
|
|
4981
|
-
if (typeof action.remove === 'boolean') {
|
|
4982
|
-
this.removeAction(action, row.data, event, this.index);
|
|
4983
|
-
}
|
|
4984
|
-
else {
|
|
4985
|
-
this._fsPrompt.confirm({
|
|
4986
|
-
title: action.remove.title,
|
|
4987
|
-
template: action.remove.template,
|
|
4988
|
-
}).pipe(take(1), takeUntil(this._destroy$)).subscribe({
|
|
4989
|
-
next: () => {
|
|
4990
|
-
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,
|
|
4991
4937
|
},
|
|
4992
|
-
error: () => { },
|
|
4993
4938
|
});
|
|
4994
|
-
|
|
4995
|
-
|
|
4996
|
-
|
|
4997
|
-
|
|
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
|
+
};
|
|
4998
4949
|
}
|
|
4999
4950
|
}
|
|
5000
4951
|
/**
|
|
5001
|
-
*
|
|
5002
|
-
* @param index
|
|
4952
|
+
* Update sorting in filter
|
|
5003
4953
|
*/
|
|
5004
|
-
|
|
5005
|
-
|
|
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
|
+
});
|
|
5006
4961
|
}
|
|
5007
|
-
|
|
5008
|
-
|
|
5009
|
-
|
|
5010
|
-
.
|
|
4962
|
+
_subscribeToRemoveRow() {
|
|
4963
|
+
this.rowRemoved
|
|
4964
|
+
.pipe(takeUntil(this._destroy))
|
|
4965
|
+
.subscribe((row) => {
|
|
4966
|
+
this.list.dataController.removeData(row);
|
|
4967
|
+
});
|
|
5011
4968
|
}
|
|
5012
|
-
|
|
5013
|
-
|
|
5014
|
-
|
|
5015
|
-
|
|
5016
|
-
|
|
5017
|
-
|
|
5018
|
-
*/
|
|
5019
|
-
removeAction(action, row, event, index) {
|
|
5020
|
-
const removeObservable = action.click(row, event, index);
|
|
5021
|
-
if (removeObservable && removeObservable instanceof Observable) {
|
|
5022
|
-
removeObservable
|
|
5023
|
-
.pipe(take(1), takeUntil(this._destroy$))
|
|
5024
|
-
.subscribe(() => {
|
|
5025
|
-
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);
|
|
5026
4975
|
});
|
|
5027
4976
|
}
|
|
5028
4977
|
}
|
|
5029
|
-
|
|
5030
|
-
|
|
5031
|
-
|
|
5032
|
-
|
|
5033
|
-
|
|
5034
|
-
|
|
5035
|
-
|
|
5036
|
-
], FsRowActionsComponent.prototype, "row", void 0);
|
|
5037
|
-
__decorate([
|
|
5038
|
-
Input(),
|
|
5039
|
-
__metadata("design:type", Number)
|
|
5040
|
-
], FsRowActionsComponent.prototype, "index", void 0);
|
|
5041
|
-
__decorate([
|
|
5042
|
-
Input(),
|
|
5043
|
-
__metadata("design:type", Object)
|
|
5044
|
-
], FsRowActionsComponent.prototype, "restoreMode", void 0);
|
|
5045
|
-
__decorate([
|
|
5046
|
-
Input(),
|
|
5047
|
-
__metadata("design:type", Array)
|
|
5048
|
-
], FsRowActionsComponent.prototype, "rowActions", void 0);
|
|
5049
|
-
__decorate([
|
|
5050
|
-
Input(),
|
|
5051
|
-
__metadata("design:type", EventEmitter)
|
|
5052
|
-
], FsRowActionsComponent.prototype, "rowRemoved", void 0);
|
|
5053
|
-
__decorate([
|
|
5054
|
-
Input(),
|
|
5055
|
-
__metadata("design:type", Array)
|
|
5056
|
-
], FsRowActionsComponent.prototype, "menuRowActions", void 0);
|
|
5057
|
-
__decorate([
|
|
5058
|
-
Input(),
|
|
5059
|
-
__metadata("design:type", Array)
|
|
5060
|
-
], FsRowActionsComponent.prototype, "inlineRowActions", void 0);
|
|
5061
|
-
__decorate([
|
|
5062
|
-
Input(),
|
|
5063
|
-
__metadata("design:type", RowAction)
|
|
5064
|
-
], FsRowActionsComponent.prototype, "restoreAction", void 0);
|
|
5065
|
-
FsRowActionsComponent = __decorate([
|
|
5066
|
-
Component({
|
|
5067
|
-
selector: 'fs-list-row-actions',
|
|
5068
|
-
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",
|
|
5069
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
5070
|
-
}),
|
|
5071
|
-
__metadata("design:paramtypes", [FsPrompt])
|
|
5072
|
-
], FsRowActionsComponent);
|
|
5073
|
-
|
|
5074
|
-
let FsRowInlineActionComponent = class FsRowInlineActionComponent {
|
|
5075
|
-
constructor(_fsPrompt) {
|
|
5076
|
-
this._fsPrompt = _fsPrompt;
|
|
5077
|
-
this.clicked = new EventEmitter();
|
|
5078
|
-
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
|
+
});
|
|
5079
4985
|
}
|
|
5080
|
-
|
|
5081
|
-
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
|
+
});
|
|
5082
4995
|
}
|
|
5083
|
-
|
|
5084
|
-
|
|
4996
|
+
_configMergeCustomizer(objValue, srcValue) {
|
|
4997
|
+
if (Array.isArray(objValue)) {
|
|
4998
|
+
return objValue;
|
|
4999
|
+
}
|
|
5085
5000
|
}
|
|
5086
|
-
|
|
5087
|
-
|
|
5088
|
-
|
|
5089
|
-
];
|
|
5090
|
-
__decorate([
|
|
5091
|
-
Input(),
|
|
5092
|
-
__metadata("design:type", RowAction)
|
|
5093
|
-
], FsRowInlineActionComponent.prototype, "action", void 0);
|
|
5094
|
-
__decorate([
|
|
5095
|
-
Output(),
|
|
5096
|
-
__metadata("design:type", Object)
|
|
5097
|
-
], FsRowInlineActionComponent.prototype, "clicked", void 0);
|
|
5098
|
-
__decorate([
|
|
5099
|
-
Output(),
|
|
5100
|
-
__metadata("design:type", Object)
|
|
5101
|
-
], FsRowInlineActionComponent.prototype, "fileSelect", void 0);
|
|
5102
|
-
FsRowInlineActionComponent = __decorate([
|
|
5103
|
-
Component({
|
|
5104
|
-
selector: 'fs-list-row-inline-action',
|
|
5105
|
-
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",
|
|
5106
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
5107
|
-
}),
|
|
5108
|
-
__metadata("design:paramtypes", [FsPrompt])
|
|
5109
|
-
], FsRowInlineActionComponent);
|
|
5110
|
-
|
|
5111
|
-
let FsRowMenuActionComponent = class FsRowMenuActionComponent {
|
|
5112
|
-
constructor() {
|
|
5113
|
-
this.fileSelect = new EventEmitter();
|
|
5114
|
-
this.fileError = new EventEmitter();
|
|
5001
|
+
_restorePersistance(persistConfig) {
|
|
5002
|
+
const namespace = getNormalizedPath(this._location);
|
|
5003
|
+
this._persistance.setConfig(persistConfig, namespace, this._inDialog);
|
|
5115
5004
|
}
|
|
5116
|
-
}
|
|
5117
|
-
|
|
5118
|
-
|
|
5119
|
-
|
|
5120
|
-
|
|
5121
|
-
|
|
5122
|
-
Input(),
|
|
5123
|
-
|
|
5124
|
-
|
|
5125
|
-
|
|
5126
|
-
|
|
5127
|
-
|
|
5128
|
-
|
|
5129
|
-
|
|
5130
|
-
|
|
5131
|
-
|
|
5132
|
-
|
|
5133
|
-
|
|
5134
|
-
|
|
5135
|
-
|
|
5136
|
-
]
|
|
5137
|
-
|
|
5138
|
-
|
|
5139
|
-
|
|
5140
|
-
|
|
5141
|
-
|
|
5142
|
-
|
|
5143
|
-
],
|
|
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
|
+
}] } });
|
|
5144
5058
|
|
|
5145
|
-
|
|
5059
|
+
class FsListManageSavedFiltersComponent {
|
|
5146
5060
|
constructor(_externalParams) {
|
|
5147
5061
|
this._externalParams = _externalParams;
|
|
5148
5062
|
this._reorderReady = true;
|
|
@@ -5200,125 +5114,31 @@ let FsListManageSavedFiltersComponent = class FsListManageSavedFiltersComponent
|
|
|
5200
5114
|
}
|
|
5201
5115
|
};
|
|
5202
5116
|
}
|
|
5203
|
-
}
|
|
5204
|
-
FsListManageSavedFiltersComponent
|
|
5205
|
-
{ type:
|
|
5206
|
-
|
|
5207
|
-
|
|
5208
|
-
|
|
5209
|
-
|
|
5210
|
-
|
|
5211
|
-
|
|
5212
|
-
], FsListManageSavedFiltersComponent);
|
|
5213
|
-
|
|
5214
|
-
let FsListSavedFiltersComponent = class FsListSavedFiltersComponent {
|
|
5215
|
-
constructor(_dialog, _externalParams, _vcRef) {
|
|
5216
|
-
this._dialog = _dialog;
|
|
5217
|
-
this._externalParams = _externalParams;
|
|
5218
|
-
this._vcRef = _vcRef;
|
|
5219
|
-
}
|
|
5220
|
-
get savedFiltersEnabled$() {
|
|
5221
|
-
return this._externalParams.savedFiltersController.enabled$;
|
|
5222
|
-
}
|
|
5223
|
-
showManageDialog() {
|
|
5224
|
-
this._dialog.open(FsListManageSavedFiltersComponent, {
|
|
5225
|
-
viewContainerRef: this._vcRef,
|
|
5226
|
-
});
|
|
5227
|
-
}
|
|
5228
|
-
};
|
|
5229
|
-
FsListSavedFiltersComponent.ctorParameters = () => [
|
|
5230
|
-
{ type: MatDialog },
|
|
5231
|
-
{ type: ExternalParamsController$1 },
|
|
5232
|
-
{ type: ViewContainerRef }
|
|
5233
|
-
];
|
|
5234
|
-
FsListSavedFiltersComponent = __decorate([
|
|
5235
|
-
Component({
|
|
5236
|
-
selector: 'fs-list-saved-filters',
|
|
5237
|
-
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"
|
|
5238
|
-
}),
|
|
5239
|
-
__metadata("design:paramtypes", [MatDialog,
|
|
5240
|
-
ExternalParamsController$1,
|
|
5241
|
-
ViewContainerRef])
|
|
5242
|
-
], FsListSavedFiltersComponent);
|
|
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 }]; } });
|
|
5243
5126
|
|
|
5244
|
-
|
|
5245
|
-
|
|
5246
|
-
|
|
5247
|
-
|
|
5248
|
-
|
|
5249
|
-
|
|
5250
|
-
|
|
5251
|
-
|
|
5252
|
-
|
|
5253
|
-
|
|
5254
|
-
this._listenDragEvents();
|
|
5255
|
-
}
|
|
5256
|
-
}
|
|
5257
|
-
ngOnDestroy() {
|
|
5258
|
-
this._destroy$.next();
|
|
5259
|
-
this._destroy$.complete();
|
|
5260
|
-
}
|
|
5261
|
-
_listenDragEvents() {
|
|
5262
|
-
this._draggableList
|
|
5263
|
-
.dragStart$
|
|
5264
|
-
.pipe(takeUntil(this._destroy$))
|
|
5265
|
-
.subscribe(() => {
|
|
5266
|
-
this._markReadyToSwapRows();
|
|
5267
|
-
});
|
|
5268
|
-
this._draggableList
|
|
5269
|
-
.dragEnd$
|
|
5270
|
-
.pipe(takeUntil(this._destroy$))
|
|
5271
|
-
.subscribe(() => {
|
|
5272
|
-
this._unmarkRows();
|
|
5273
|
-
});
|
|
5274
|
-
}
|
|
5275
|
-
_markReadyToSwapRows() {
|
|
5276
|
-
var _a, _b, _c, _d, _e, _f;
|
|
5277
|
-
const currentEl = this.row;
|
|
5278
|
-
const targetEl = this._draggableList.draggableItem;
|
|
5279
|
-
const currentElGroup = (currentEl.isChild && currentEl.parent) || currentEl;
|
|
5280
|
-
const targetElGroup = (targetEl.isChild && targetEl.parent) || targetEl;
|
|
5281
|
-
this.row.readyToSwap = this._reorderController.moveDropCallback({
|
|
5282
|
-
row1: (_a = currentEl) === null || _a === void 0 ? void 0 : _a.data,
|
|
5283
|
-
row2: (_b = targetEl) === null || _b === void 0 ? void 0 : _b.data,
|
|
5284
|
-
group1: (_d = (_c = currentEl) === null || _c === void 0 ? void 0 : _c.parent) === null || _d === void 0 ? void 0 : _d.data,
|
|
5285
|
-
group2: (_f = (_e = targetEl) === null || _e === void 0 ? void 0 : _e.parent) === null || _f === void 0 ? void 0 : _f.data
|
|
5286
|
-
});
|
|
5287
|
-
if (!this.row.readyToSwap) {
|
|
5288
|
-
this._renderer.addClass(this._el.nativeElement, 'fs-list-swap-restricted');
|
|
5289
|
-
}
|
|
5290
|
-
}
|
|
5291
|
-
_unmarkRows() {
|
|
5292
|
-
if (!this.row.readyToSwap) {
|
|
5293
|
-
this._renderer.removeClass(this._el.nativeElement, 'fs-list-swap-restricted');
|
|
5294
|
-
}
|
|
5295
|
-
}
|
|
5296
|
-
};
|
|
5297
|
-
FsListDraggableRowDirective.ctorParameters = () => [
|
|
5298
|
-
{ type: ElementRef },
|
|
5299
|
-
{ type: Renderer2 },
|
|
5300
|
-
{ type: ReorderController },
|
|
5301
|
-
{ type: FsListDraggableListDirective }
|
|
5302
|
-
];
|
|
5303
|
-
__decorate([
|
|
5304
|
-
Input(),
|
|
5305
|
-
__metadata("design:type", Row)
|
|
5306
|
-
], FsListDraggableRowDirective.prototype, "row", void 0);
|
|
5307
|
-
FsListDraggableRowDirective = __decorate([
|
|
5308
|
-
Directive({
|
|
5309
|
-
selector: '[fsListDraggableRow]',
|
|
5310
|
-
}),
|
|
5311
|
-
__metadata("design:paramtypes", [ElementRef,
|
|
5312
|
-
Renderer2,
|
|
5313
|
-
ReorderController,
|
|
5314
|
-
FsListDraggableListDirective])
|
|
5315
|
-
], FsListDraggableRowDirective);
|
|
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
|
+
}] });
|
|
5316
5137
|
|
|
5317
|
-
|
|
5318
|
-
let FsListModule = FsListModule_1 = class FsListModule {
|
|
5138
|
+
class FsListModule {
|
|
5319
5139
|
static forRoot(config = {}) {
|
|
5320
5140
|
return {
|
|
5321
|
-
ngModule:
|
|
5141
|
+
ngModule: FsListModule,
|
|
5322
5142
|
providers: [
|
|
5323
5143
|
{ provide: FS_LIST_CONFIG, useValue: config },
|
|
5324
5144
|
{
|
|
@@ -5329,10 +5149,68 @@ let FsListModule = FsListModule_1 = class FsListModule {
|
|
|
5329
5149
|
]
|
|
5330
5150
|
};
|
|
5331
5151
|
}
|
|
5332
|
-
}
|
|
5333
|
-
FsListModule =
|
|
5334
|
-
|
|
5335
|
-
|
|
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: [[
|
|
5336
5214
|
CommonModule,
|
|
5337
5215
|
RouterModule,
|
|
5338
5216
|
MatButtonModule,
|
|
@@ -5349,60 +5227,79 @@ FsListModule = FsListModule_1 = __decorate([
|
|
|
5349
5227
|
MatDialogModule,
|
|
5350
5228
|
MatTooltipModule,
|
|
5351
5229
|
FsFileModule,
|
|
5352
|
-
]
|
|
5353
|
-
|
|
5354
|
-
|
|
5355
|
-
|
|
5356
|
-
|
|
5357
|
-
|
|
5358
|
-
|
|
5359
|
-
|
|
5360
|
-
|
|
5361
|
-
|
|
5362
|
-
|
|
5363
|
-
|
|
5364
|
-
|
|
5365
|
-
|
|
5366
|
-
|
|
5367
|
-
|
|
5368
|
-
|
|
5369
|
-
|
|
5370
|
-
|
|
5371
|
-
|
|
5372
|
-
|
|
5373
|
-
|
|
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
|
-
|
|
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
|
+
}] });
|
|
5406
5303
|
function FsListConfigFactory(config) {
|
|
5407
5304
|
return merge$1({ noResults: { message: 'No Results Found' } }, config);
|
|
5408
5305
|
}
|
|
@@ -5415,5 +5312,5 @@ function FsListConfigFactory(config) {
|
|
|
5415
5312
|
* Generated bundle index. Do not edit.
|
|
5416
5313
|
*/
|
|
5417
5314
|
|
|
5418
|
-
export { ActionType, Column, FS_LIST_CONFIG, FS_LIST_DEFAULT_CONFIG, FsBodyComponent, FsCellComponent, FsFooterCellComponent, FsFooterComponent, FsFooterRowComponent, FsHeadCellComponent, FsHeadComponent, FsListCellDirective, FsListColumnDirective, FsListComponent, FsListEmptyStateDirective, FsListFooterDirective, FsListHeaderDirective, FsListModule, FsListState, FsPaginationComponent, FsRowComponent, FsStatusComponent, List, PaginationController, PaginationStrategy, ReorderController, ReorderPosition, ReorderStrategy, RowAction, RowType, SelectionChangeType, SelectionController, SortingController, SortingDirection, StyleConfig
|
|
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 };
|
|
5419
5316
|
//# sourceMappingURL=firestitch-list.js.map
|