@firestitch/list 9.12.5 → 12.1.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/columns-controller.d.ts +8 -2
- package/app/classes/list-controller.d.ts +2 -1
- 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 +17 -10
- package/app/directives/content/content.directive.d.ts +3 -0
- package/app/directives/content-init/content-init.directive.d.ts +9 -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 +49 -0
- package/app/interfaces/column-config.interface.d.ts +2 -0
- package/app/interfaces/listconfig.interface.d.ts +2 -0
- package/app/models/column-async-attribute.d.ts +5 -0
- package/app/models/column-attributes.d.ts +38 -0
- package/app/models/column.model.d.ts +22 -15
- package/app/services/group-expand-notifier.service.d.ts +3 -0
- package/bundles/firestitch-list.umd.js +2461 -2146
- 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 +30 -10
- 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 +7 -2
- package/esm2015/app/classes/pagination-controller.js +2 -2
- package/esm2015/app/classes/persistance-controller.js +11 -14
- package/esm2015/app/classes/reorder-controller.js +13 -13
- package/esm2015/app/classes/selection-controller.js +7 -6
- package/esm2015/app/classes/sorting-controller.js +6 -2
- 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 +76 -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 +96 -88
- package/esm2015/app/directives/content/content.directive.js +12 -10
- package/esm2015/app/directives/content-init/content-init.directive.js +22 -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 +142 -66
- package/esm2015/app/fs-list.providers.js +1 -1
- package/esm2015/app/interfaces/cellconfig.interface.js +2 -1
- package/esm2015/app/interfaces/column-config.interface.js +2 -0
- 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-async-attribute.js +14 -0
- package/esm2015/app/models/column-attributes.js +112 -0
- package/esm2015/app/models/column.model.js +55 -86
- package/esm2015/app/models/row/base-row.js +1 -1
- package/esm2015/app/models/row/child-row.js +1 -1
- package/esm2015/app/models/row/group-row.js +1 -1
- package/esm2015/app/models/row/simple-row.js +1 -1
- package/esm2015/app/models/row-action.model.js +1 -1
- package/esm2015/app/models/row.js +1 -1
- package/esm2015/app/models/styleConfig.model.js +1 -1
- package/esm2015/app/services/group-expand-notifier.service.js +9 -8
- package/esm2015/firestitch-list.js +1 -15
- package/esm2015/public_api.js +4 -1
- package/fesm2015/firestitch-list.js +1605 -1553
- package/fesm2015/firestitch-list.js.map +1 -1
- package/firestitch-list.d.ts +1 -15
- package/package.json +5 -8
- package/public_api.d.ts +3 -0
- package/bundles/firestitch-list.umd.min.js +0 -16
- package/bundles/firestitch-list.umd.min.js.map +0 -1
- package/esm5/app/classes/actions-controller.js +0 -71
- package/esm5/app/classes/columns-controller.js +0 -236
- package/esm5/app/classes/data-controller.js +0 -374
- package/esm5/app/classes/external-params-controller.js +0 -185
- package/esm5/app/classes/index.js +0 -3
- package/esm5/app/classes/list-controller.js +0 -783
- package/esm5/app/classes/pagination-controller.js +0 -570
- package/esm5/app/classes/persistance-controller.js +0 -25
- package/esm5/app/classes/reorder-controller.js +0 -204
- package/esm5/app/classes/selection-controller.js +0 -465
- package/esm5/app/classes/sorting-controller.js +0 -204
- package/esm5/app/components/body/body.component.js +0 -104
- package/esm5/app/components/body/row/actions/actions.component.js +0 -116
- package/esm5/app/components/body/row/cell/cell.component.js +0 -95
- package/esm5/app/components/body/row/inline-action/inline-action.component.js +0 -43
- package/esm5/app/components/body/row/menu-action/menu-action.component.js +0 -38
- package/esm5/app/components/body/row/row.component.js +0 -295
- package/esm5/app/components/customize-cols/customize-cols.component.js +0 -69
- package/esm5/app/components/footer/footer-row/footer-cell/footer-cell.component.js +0 -20
- package/esm5/app/components/footer/footer-row/footer-row.component.js +0 -38
- package/esm5/app/components/footer/footer.component.js +0 -31
- package/esm5/app/components/head/head-cell/head-cell.component.js +0 -38
- package/esm5/app/components/head/head.component.js +0 -106
- package/esm5/app/components/list/list.component.js +0 -403
- package/esm5/app/components/loader/loader.component.js +0 -47
- package/esm5/app/components/manage-saved-filters/manage-saved-filters.component.js +0 -81
- package/esm5/app/components/pagination/pagination.component.js +0 -46
- package/esm5/app/components/saved-filters/saved-filters.component.js +0 -41
- package/esm5/app/components/status/status.component.js +0 -79
- package/esm5/app/directives/cell/cell.directive.js +0 -24
- package/esm5/app/directives/column/column.directive.js +0 -98
- package/esm5/app/directives/content/content.directive.js +0 -14
- package/esm5/app/directives/draggable-list/draggable-list.directive.js +0 -281
- package/esm5/app/directives/draggable-row/draggable-row.directive.js +0 -83
- package/esm5/app/directives/empty-state/empty-state.directive.js +0 -14
- package/esm5/app/directives/footer/footer.directive.js +0 -24
- package/esm5/app/directives/group-cell/group-cell.directive.js +0 -17
- package/esm5/app/directives/group-expand-trigger/group-expand-trigger.directive.js +0 -33
- package/esm5/app/directives/header/header.directive.js +0 -24
- package/esm5/app/enums/button-type.enum.js +0 -9
- package/esm5/app/enums/page-change-type.enum.js +0 -6
- package/esm5/app/enums/pagination-strategy.enum.js +0 -7
- package/esm5/app/enums/row-type.enum.js +0 -7
- package/esm5/app/enums/state.enum.js +0 -11
- package/esm5/app/fs-list.module.js +0 -152
- package/esm5/app/fs-list.providers.js +0 -4
- package/esm5/app/interfaces/cellconfig.interface.js +0 -1
- package/esm5/app/interfaces/draggable-list.interface.js +0 -1
- package/esm5/app/interfaces/external-params.interface.js +0 -1
- package/esm5/app/interfaces/index.js +0 -1
- package/esm5/app/interfaces/listconfig.interface.js +0 -1
- package/esm5/app/interfaces/pagination.interface.js +0 -1
- package/esm5/app/models/column.model.js +0 -204
- package/esm5/app/models/row/base-row.js +0 -35
- package/esm5/app/models/row/child-row.js +0 -43
- package/esm5/app/models/row/group-row.js +0 -61
- package/esm5/app/models/row/simple-row.js +0 -15
- package/esm5/app/models/row-action.model.js +0 -153
- package/esm5/app/models/row.js +0 -126
- package/esm5/app/models/styleConfig.model.js +0 -91
- package/esm5/app/services/group-expand-notifier.service.js +0 -30
- package/esm5/firestitch-list.js +0 -19
- package/esm5/public_api.js +0 -41
- package/fesm5/firestitch-list.js +0 -6084
- package/fesm5/firestitch-list.js.map +0 -1
- package/firestitch-list.metadata.json +0 -1
|
@@ -1,29 +1,46 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Injectable, Directive, Input, HostListener, TemplateRef, 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,
|
|
20
|
-
import { Subject,
|
|
21
|
-
import { takeUntil, tap, distinctUntilChanged, take, map, debounceTime, switchMap, mapTo, catchError, shareReplay,
|
|
22
|
-
import
|
|
32
|
+
import { isString, isObject, isBoolean, isNumber, isFunction, get, cloneDeep, random, mergeWith, merge as merge$1 } from 'lodash-es';
|
|
33
|
+
import { BehaviorSubject, Subject, merge, Observable, from, combineLatest, of } from 'rxjs';
|
|
34
|
+
import { takeUntil, tap, skip, distinctUntilChanged, take, map, debounceTime, switchMap, mapTo, catchError, shareReplay, filter } 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 = {}) {
|
|
@@ -119,9 +136,8 @@ const ALLOWED_DEFAULTS = [
|
|
|
119
136
|
'align',
|
|
120
137
|
'class'
|
|
121
138
|
];
|
|
122
|
-
class Column
|
|
123
|
-
constructor(colConfig
|
|
124
|
-
super();
|
|
139
|
+
class Column {
|
|
140
|
+
constructor(colConfig, colDefaults = false) {
|
|
125
141
|
this.headerConfigs = new StyleConfig();
|
|
126
142
|
this.groupCellConfigs = new StyleConfig();
|
|
127
143
|
this.cellConfigs = new StyleConfig();
|
|
@@ -131,10 +147,46 @@ class Column extends Model {
|
|
|
131
147
|
this.cellColspanned = false;
|
|
132
148
|
this.footerColspanned = false;
|
|
133
149
|
this._ordered = false;
|
|
134
|
-
this.
|
|
150
|
+
this._parseConfig(colConfig);
|
|
135
151
|
this.colStyles = new StyleConfig(colConfig);
|
|
136
152
|
this.mergeWithColumnDefaults(colDefaults);
|
|
137
153
|
}
|
|
154
|
+
set title(value) {
|
|
155
|
+
this._attributes.title = value;
|
|
156
|
+
}
|
|
157
|
+
get title() {
|
|
158
|
+
return this._attributes.title;
|
|
159
|
+
}
|
|
160
|
+
get name() {
|
|
161
|
+
return this._attributes.name;
|
|
162
|
+
}
|
|
163
|
+
get customize() {
|
|
164
|
+
return this._attributes.customize;
|
|
165
|
+
}
|
|
166
|
+
get width() {
|
|
167
|
+
return this._attributes.width;
|
|
168
|
+
}
|
|
169
|
+
set sortable(value) {
|
|
170
|
+
this._attributes.sortable = value;
|
|
171
|
+
}
|
|
172
|
+
get sortable() {
|
|
173
|
+
return this._attributes.sortable;
|
|
174
|
+
}
|
|
175
|
+
get sortableDefault() {
|
|
176
|
+
return this._attributes.sortableDefault;
|
|
177
|
+
}
|
|
178
|
+
set sortingDirection(value) {
|
|
179
|
+
this._attributes.direction = value;
|
|
180
|
+
}
|
|
181
|
+
get sortingDirection() {
|
|
182
|
+
return this._attributes.direction;
|
|
183
|
+
}
|
|
184
|
+
get visible() {
|
|
185
|
+
return this._attributes.visible;
|
|
186
|
+
}
|
|
187
|
+
get visible$() {
|
|
188
|
+
return this._attributes.visible$;
|
|
189
|
+
}
|
|
138
190
|
get direction() {
|
|
139
191
|
return (this.sortingDirection === SortingDirection.asc) ? 'asc' : 'desc';
|
|
140
192
|
}
|
|
@@ -150,12 +202,6 @@ class Column extends Model {
|
|
|
150
202
|
this.sortingDirection = SortingDirection.asc;
|
|
151
203
|
}
|
|
152
204
|
}
|
|
153
|
-
_fromJSON(value) {
|
|
154
|
-
super._fromJSON(value);
|
|
155
|
-
if (this.sortableDefault) {
|
|
156
|
-
this.sortable = true;
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
205
|
/**
|
|
160
206
|
* Merge with defaults with existing config
|
|
161
207
|
* @param defaults
|
|
@@ -214,79 +260,22 @@ class Column extends Model {
|
|
|
214
260
|
this.sortingDirection = SortingDirection.asc;
|
|
215
261
|
}
|
|
216
262
|
}
|
|
263
|
+
updateVisibility(value) {
|
|
264
|
+
this._attributes.visible = value;
|
|
265
|
+
}
|
|
266
|
+
_parseConfig(config) {
|
|
267
|
+
this._attributes = config.attributes;
|
|
268
|
+
this.headerTemplate = config.headerTemplate;
|
|
269
|
+
this.groupCellTemplate = config.groupCellTemplate;
|
|
270
|
+
this.cellTemplate = config.cellTemplate;
|
|
271
|
+
this.footerTemplate = config.footerTemplate;
|
|
272
|
+
this.headerConfigs = new StyleConfig(config.headerConfigs);
|
|
273
|
+
this.groupCellConfigs = new StyleConfig(config.groupCellConfigs);
|
|
274
|
+
this.cellConfigs = new StyleConfig(config.cellConfigs);
|
|
275
|
+
this.footerConfigs = new StyleConfig(config.footerConfigs);
|
|
276
|
+
this.expandTrigger = config.expandTrigger;
|
|
277
|
+
}
|
|
217
278
|
}
|
|
218
|
-
__decorate([
|
|
219
|
-
Alias(),
|
|
220
|
-
__metadata("design:type", String)
|
|
221
|
-
], Column.prototype, "title", void 0);
|
|
222
|
-
__decorate([
|
|
223
|
-
Alias(),
|
|
224
|
-
__metadata("design:type", String)
|
|
225
|
-
], Column.prototype, "name", void 0);
|
|
226
|
-
__decorate([
|
|
227
|
-
Alias(),
|
|
228
|
-
__metadata("design:type", Boolean)
|
|
229
|
-
], Column.prototype, "show", void 0);
|
|
230
|
-
__decorate([
|
|
231
|
-
Alias(),
|
|
232
|
-
__metadata("design:type", Boolean)
|
|
233
|
-
], Column.prototype, "customize", void 0);
|
|
234
|
-
__decorate([
|
|
235
|
-
Alias(),
|
|
236
|
-
__metadata("design:type", String)
|
|
237
|
-
], Column.prototype, "width", void 0);
|
|
238
|
-
__decorate([
|
|
239
|
-
Alias(),
|
|
240
|
-
__metadata("design:type", Boolean)
|
|
241
|
-
], Column.prototype, "sortable", void 0);
|
|
242
|
-
__decorate([
|
|
243
|
-
Alias(),
|
|
244
|
-
__metadata("design:type", Boolean)
|
|
245
|
-
], Column.prototype, "sortableDefault", void 0);
|
|
246
|
-
__decorate([
|
|
247
|
-
Alias(),
|
|
248
|
-
__metadata("design:type", TemplateRef)
|
|
249
|
-
], Column.prototype, "headerTemplate", void 0);
|
|
250
|
-
__decorate([
|
|
251
|
-
Alias(),
|
|
252
|
-
__metadata("design:type", TemplateRef)
|
|
253
|
-
], Column.prototype, "groupCellTemplate", void 0);
|
|
254
|
-
__decorate([
|
|
255
|
-
Alias(),
|
|
256
|
-
__metadata("design:type", TemplateRef)
|
|
257
|
-
], Column.prototype, "cellTemplate", void 0);
|
|
258
|
-
__decorate([
|
|
259
|
-
Alias(),
|
|
260
|
-
__metadata("design:type", TemplateRef)
|
|
261
|
-
], Column.prototype, "footerTemplate", void 0);
|
|
262
|
-
__decorate([
|
|
263
|
-
Alias(),
|
|
264
|
-
__metadata("design:type", TemplateRef)
|
|
265
|
-
], Column.prototype, "expandTrigger", void 0);
|
|
266
|
-
__decorate([
|
|
267
|
-
Alias(),
|
|
268
|
-
__metadata("design:type", TemplateRef)
|
|
269
|
-
], Column.prototype, "superTriger", void 0);
|
|
270
|
-
__decorate([
|
|
271
|
-
Alias('headerConfigs', StyleConfig),
|
|
272
|
-
__metadata("design:type", StyleConfig)
|
|
273
|
-
], Column.prototype, "headerConfigs", void 0);
|
|
274
|
-
__decorate([
|
|
275
|
-
Alias('groupCellConfigs', StyleConfig),
|
|
276
|
-
__metadata("design:type", StyleConfig)
|
|
277
|
-
], Column.prototype, "groupCellConfigs", void 0);
|
|
278
|
-
__decorate([
|
|
279
|
-
Alias('cellConfigs', StyleConfig),
|
|
280
|
-
__metadata("design:type", StyleConfig)
|
|
281
|
-
], Column.prototype, "cellConfigs", void 0);
|
|
282
|
-
__decorate([
|
|
283
|
-
Alias('footerConfigs', StyleConfig),
|
|
284
|
-
__metadata("design:type", StyleConfig)
|
|
285
|
-
], Column.prototype, "footerConfigs", void 0);
|
|
286
|
-
__decorate([
|
|
287
|
-
Alias('direction'),
|
|
288
|
-
__metadata("design:type", String)
|
|
289
|
-
], Column.prototype, "sortingDirection", void 0);
|
|
290
279
|
|
|
291
280
|
var ActionType;
|
|
292
281
|
(function (ActionType) {
|
|
@@ -438,7 +427,8 @@ __decorate([
|
|
|
438
427
|
|
|
439
428
|
class ColumnsController {
|
|
440
429
|
constructor() {
|
|
441
|
-
this.
|
|
430
|
+
this._visibleColumns$ = new BehaviorSubject([]);
|
|
431
|
+
this._visibleColumnsShared$ = this._visibleColumns$.pipe();
|
|
442
432
|
this._theadClass = '';
|
|
443
433
|
this._isConfigured = false;
|
|
444
434
|
this._loadFnConfigured = false;
|
|
@@ -447,11 +437,18 @@ class ColumnsController {
|
|
|
447
437
|
this._hasHeader = false;
|
|
448
438
|
this._hasFooter = false;
|
|
449
439
|
this._columns = [];
|
|
440
|
+
this._columnsUpdated$ = new Subject();
|
|
450
441
|
this._destroy$ = new Subject();
|
|
451
442
|
}
|
|
452
443
|
get columns() {
|
|
453
444
|
return this._columns.slice();
|
|
454
445
|
}
|
|
446
|
+
get visibleColumns() {
|
|
447
|
+
return this._visibleColumns$.getValue();
|
|
448
|
+
}
|
|
449
|
+
get visibleColumns$() {
|
|
450
|
+
return this._visibleColumnsShared$;
|
|
451
|
+
}
|
|
455
452
|
get columnsForDialog() {
|
|
456
453
|
const hasCustomTitle = !!this._customizeFieldTitleFn;
|
|
457
454
|
const hasCustomDisabledStatus = !!this._customizeFieldDisabledFn;
|
|
@@ -466,12 +463,12 @@ class ColumnsController {
|
|
|
466
463
|
? this._customizeFieldDisabledFn(column.name)
|
|
467
464
|
: false;
|
|
468
465
|
const tooltip = hasCustomTooltip
|
|
469
|
-
? this._columnTooltipFn(column.name, column.
|
|
466
|
+
? this._columnTooltipFn(column.name, column.visible, disabled)
|
|
470
467
|
: void 0;
|
|
471
468
|
return {
|
|
472
469
|
template: column.headerTemplate,
|
|
473
470
|
name: column.name,
|
|
474
|
-
show: column.
|
|
471
|
+
show: column.visible,
|
|
475
472
|
title: title,
|
|
476
473
|
disabled: disabled,
|
|
477
474
|
tooltip: tooltip,
|
|
@@ -558,6 +555,7 @@ class ColumnsController {
|
|
|
558
555
|
this._updateColspans('cellConfigs', 'cellColspanned');
|
|
559
556
|
this._updateColspans('footerConfigs', 'footerColspanned');
|
|
560
557
|
this.updateVisibleColumns();
|
|
558
|
+
this._listenColumnVisibilityUpdates();
|
|
561
559
|
}
|
|
562
560
|
/**
|
|
563
561
|
* Load visiblity config for columns from remote
|
|
@@ -573,8 +571,7 @@ class ColumnsController {
|
|
|
573
571
|
* Set visible columns based on current columns show status
|
|
574
572
|
*/
|
|
575
573
|
updateVisibleColumns() {
|
|
576
|
-
this.
|
|
577
|
-
this._columns.filter((column) => column.show) || [];
|
|
574
|
+
this._visibleColumns$.next(this._columns.filter((column) => column.visible) || []);
|
|
578
575
|
}
|
|
579
576
|
/**
|
|
580
577
|
* Update visibility based on passed config
|
|
@@ -585,7 +582,7 @@ class ColumnsController {
|
|
|
585
582
|
const col = this._columns
|
|
586
583
|
.find((column) => column.name === columnConfig.name);
|
|
587
584
|
if (col) {
|
|
588
|
-
col.
|
|
585
|
+
col.updateVisibility(columnConfig.show);
|
|
589
586
|
}
|
|
590
587
|
});
|
|
591
588
|
this.updateVisibleColumns();
|
|
@@ -593,12 +590,24 @@ class ColumnsController {
|
|
|
593
590
|
destroy() {
|
|
594
591
|
this._destroy$.next();
|
|
595
592
|
this._destroy$.complete();
|
|
593
|
+
this._columnsUpdated$.complete();
|
|
596
594
|
this._columns = void 0;
|
|
597
|
-
this.
|
|
595
|
+
this._visibleColumns$ = void 0;
|
|
598
596
|
this._defaultConfigs = void 0;
|
|
599
597
|
this._loadFn = void 0;
|
|
600
598
|
this._changeFn = void 0;
|
|
601
599
|
}
|
|
600
|
+
_listenColumnVisibilityUpdates() {
|
|
601
|
+
this._columnsUpdated$.next();
|
|
602
|
+
const columnsVisibility = this._columns.map((column) => {
|
|
603
|
+
return column.visible$.pipe(skip(1));
|
|
604
|
+
});
|
|
605
|
+
merge(...columnsVisibility)
|
|
606
|
+
.pipe(takeUntil(this._columnsUpdated$), takeUntil(this._destroy$))
|
|
607
|
+
.subscribe(() => {
|
|
608
|
+
this.updateVisibleColumns();
|
|
609
|
+
});
|
|
610
|
+
}
|
|
602
611
|
_updateColspans(config, updateFlag) {
|
|
603
612
|
this._columns.forEach((col, index) => {
|
|
604
613
|
if (col[config].colspan !== void 0) {
|
|
@@ -923,7 +932,7 @@ class DataController {
|
|
|
923
932
|
if (group) {
|
|
924
933
|
this._groupByFn = group.groupBy;
|
|
925
934
|
this._compareByFn = group.compareBy;
|
|
926
|
-
this._initialExpand = (_a = group.initialExpand
|
|
935
|
+
this._initialExpand = (_a = group.initialExpand) !== null && _a !== void 0 ? _a : true;
|
|
927
936
|
// group mode enabled by default
|
|
928
937
|
this._groupEnabled = (group.enabled !== void 0)
|
|
929
938
|
? group.enabled
|
|
@@ -1615,7 +1624,7 @@ class PaginationController {
|
|
|
1615
1624
|
_fromParams(params) {
|
|
1616
1625
|
var _a;
|
|
1617
1626
|
if (!this.loadMoreEnabled) {
|
|
1618
|
-
this.limit = (_a = params.limit
|
|
1627
|
+
this.limit = (_a = params.limit) !== null && _a !== void 0 ? _a : 25;
|
|
1619
1628
|
}
|
|
1620
1629
|
this.records = params.records;
|
|
1621
1630
|
this.manual = params.manual;
|
|
@@ -1763,6 +1772,7 @@ class SelectionController {
|
|
|
1763
1772
|
selectAll: this.selectAll,
|
|
1764
1773
|
allCount: this._totalRecordsCount,
|
|
1765
1774
|
actions: [...this.actions],
|
|
1775
|
+
// selectAll: this.sele
|
|
1766
1776
|
});
|
|
1767
1777
|
this._subscribeToSelection();
|
|
1768
1778
|
}
|
|
@@ -1829,11 +1839,11 @@ class SelectionController {
|
|
|
1829
1839
|
}
|
|
1830
1840
|
updateConfig({ actions, actionSelected, allSelected, cancelled, selectionChanged, selectAll }) {
|
|
1831
1841
|
this.actions = actions ? [...actions] : this.actions;
|
|
1832
|
-
this.actionSelectedFn =
|
|
1833
|
-
this.allSelectedFn =
|
|
1834
|
-
this.cancelledFn =
|
|
1835
|
-
this.selectionChangedFn =
|
|
1836
|
-
this.selectAll =
|
|
1842
|
+
this.actionSelectedFn = actionSelected !== null && actionSelected !== void 0 ? actionSelected : this.actionSelectedFn;
|
|
1843
|
+
this.allSelectedFn = allSelected !== null && allSelected !== void 0 ? allSelected : this.allSelectedFn;
|
|
1844
|
+
this.cancelledFn = cancelled !== null && cancelled !== void 0 ? cancelled : this.cancelledFn;
|
|
1845
|
+
this.selectionChangedFn = selectionChanged !== null && selectionChanged !== void 0 ? selectionChanged : this.selectionChangedFn;
|
|
1846
|
+
this.selectAll = selectAll !== null && selectAll !== void 0 ? selectAll : this.selectAll;
|
|
1837
1847
|
}
|
|
1838
1848
|
// Reset actions to default set
|
|
1839
1849
|
resetActions() {
|
|
@@ -2076,6 +2086,130 @@ class SelectionController {
|
|
|
2076
2086
|
}
|
|
2077
2087
|
}
|
|
2078
2088
|
|
|
2089
|
+
class ColumnAsyncAttribute extends BehaviorSubject {
|
|
2090
|
+
constructor(value) {
|
|
2091
|
+
super(Object.freeze(value));
|
|
2092
|
+
}
|
|
2093
|
+
next(value) {
|
|
2094
|
+
const newValue = value;
|
|
2095
|
+
const oldValue = this.getValue();
|
|
2096
|
+
if (newValue !== oldValue) {
|
|
2097
|
+
super.next(Object.freeze(value));
|
|
2098
|
+
}
|
|
2099
|
+
}
|
|
2100
|
+
}
|
|
2101
|
+
|
|
2102
|
+
class ColumnAttributes {
|
|
2103
|
+
constructor(attrs = {}) {
|
|
2104
|
+
this._customize = true;
|
|
2105
|
+
this._visible$ = new ColumnAsyncAttribute(true);
|
|
2106
|
+
this._init(attrs);
|
|
2107
|
+
}
|
|
2108
|
+
// title
|
|
2109
|
+
set title(value) {
|
|
2110
|
+
this._title = value;
|
|
2111
|
+
}
|
|
2112
|
+
get title() {
|
|
2113
|
+
return this._title;
|
|
2114
|
+
}
|
|
2115
|
+
// name
|
|
2116
|
+
set name(value) {
|
|
2117
|
+
this._name = value;
|
|
2118
|
+
}
|
|
2119
|
+
get name() {
|
|
2120
|
+
return this._name;
|
|
2121
|
+
}
|
|
2122
|
+
// customize
|
|
2123
|
+
set customize(value) {
|
|
2124
|
+
this._customize = value;
|
|
2125
|
+
}
|
|
2126
|
+
get customize() {
|
|
2127
|
+
return this._customize;
|
|
2128
|
+
}
|
|
2129
|
+
// sortable
|
|
2130
|
+
set sortable(value) {
|
|
2131
|
+
this._sortable = value;
|
|
2132
|
+
}
|
|
2133
|
+
get sortable() {
|
|
2134
|
+
return this._sortable;
|
|
2135
|
+
}
|
|
2136
|
+
// sortableDefault
|
|
2137
|
+
set sortableDefault(value) {
|
|
2138
|
+
this._sortableDefault = value;
|
|
2139
|
+
if (this.sortableDefault) {
|
|
2140
|
+
this.sortable = true;
|
|
2141
|
+
}
|
|
2142
|
+
}
|
|
2143
|
+
get sortableDefault() {
|
|
2144
|
+
return this._sortableDefault;
|
|
2145
|
+
}
|
|
2146
|
+
// direction
|
|
2147
|
+
set direction(value) {
|
|
2148
|
+
this._direction = value;
|
|
2149
|
+
}
|
|
2150
|
+
get direction() {
|
|
2151
|
+
return this._direction;
|
|
2152
|
+
}
|
|
2153
|
+
// align
|
|
2154
|
+
set align(value) {
|
|
2155
|
+
this._align = value;
|
|
2156
|
+
}
|
|
2157
|
+
get align() {
|
|
2158
|
+
return this._align;
|
|
2159
|
+
}
|
|
2160
|
+
// width
|
|
2161
|
+
set width(value) {
|
|
2162
|
+
this._width = value;
|
|
2163
|
+
}
|
|
2164
|
+
get width() {
|
|
2165
|
+
return this._width;
|
|
2166
|
+
}
|
|
2167
|
+
// className
|
|
2168
|
+
set className(value) {
|
|
2169
|
+
this._className = value;
|
|
2170
|
+
}
|
|
2171
|
+
get className() {
|
|
2172
|
+
return this._className;
|
|
2173
|
+
}
|
|
2174
|
+
// visibility
|
|
2175
|
+
set visible(value) {
|
|
2176
|
+
this._visible$.next(value);
|
|
2177
|
+
}
|
|
2178
|
+
get visible() {
|
|
2179
|
+
return this._visible$.getValue();
|
|
2180
|
+
}
|
|
2181
|
+
get visible$() {
|
|
2182
|
+
return this._visible$.asObservable();
|
|
2183
|
+
}
|
|
2184
|
+
_init(attrs) {
|
|
2185
|
+
Object.keys(attrs)
|
|
2186
|
+
.forEach((key) => {
|
|
2187
|
+
switch (key) {
|
|
2188
|
+
case 'title':
|
|
2189
|
+
{
|
|
2190
|
+
this.title = attrs[key];
|
|
2191
|
+
}
|
|
2192
|
+
break;
|
|
2193
|
+
case 'name':
|
|
2194
|
+
{
|
|
2195
|
+
this.name = attrs[key];
|
|
2196
|
+
}
|
|
2197
|
+
break;
|
|
2198
|
+
case 'align':
|
|
2199
|
+
{
|
|
2200
|
+
this.align = attrs[key];
|
|
2201
|
+
}
|
|
2202
|
+
break;
|
|
2203
|
+
case 'direction':
|
|
2204
|
+
{
|
|
2205
|
+
this.direction = attrs[key];
|
|
2206
|
+
}
|
|
2207
|
+
break;
|
|
2208
|
+
}
|
|
2209
|
+
});
|
|
2210
|
+
}
|
|
2211
|
+
}
|
|
2212
|
+
|
|
2079
2213
|
class SortingController {
|
|
2080
2214
|
constructor() {
|
|
2081
2215
|
this.sortingColumns = [];
|
|
@@ -2154,12 +2288,15 @@ class SortingController {
|
|
|
2154
2288
|
*/
|
|
2155
2289
|
initFakeColumns(columns) {
|
|
2156
2290
|
columns.forEach((column) => {
|
|
2157
|
-
const
|
|
2291
|
+
const attributes = new ColumnAttributes({
|
|
2158
2292
|
title: column.name,
|
|
2159
2293
|
name: column.value,
|
|
2160
2294
|
sortable: true,
|
|
2161
2295
|
direction: column.direction,
|
|
2162
2296
|
});
|
|
2297
|
+
const fakeColumn = new Column({
|
|
2298
|
+
attributes,
|
|
2299
|
+
});
|
|
2163
2300
|
this.fakeSortingColumns.push(fakeColumn);
|
|
2164
2301
|
});
|
|
2165
2302
|
}
|
|
@@ -2329,20 +2466,18 @@ class ExternalParamsController {
|
|
|
2329
2466
|
this._destroy$.complete();
|
|
2330
2467
|
}
|
|
2331
2468
|
_restorePaginationParams(values) {
|
|
2332
|
-
|
|
2333
|
-
if ((_a = values) === null || _a === void 0 ? void 0 : _a.page) {
|
|
2469
|
+
if (values === null || values === void 0 ? void 0 : values.page) {
|
|
2334
2470
|
this._externalParams.page = +values.page;
|
|
2335
2471
|
}
|
|
2336
|
-
if (
|
|
2472
|
+
if (values === null || values === void 0 ? void 0 : values.limit) {
|
|
2337
2473
|
this._externalParams.limit = +values.limit;
|
|
2338
2474
|
}
|
|
2339
2475
|
}
|
|
2340
2476
|
_restoreSortingParams(values) {
|
|
2341
|
-
|
|
2342
|
-
if ((_a = values) === null || _a === void 0 ? void 0 : _a.sortName) {
|
|
2477
|
+
if (values === null || values === void 0 ? void 0 : values.sortName) {
|
|
2343
2478
|
this._externalParams.sortName = values.sortName;
|
|
2344
2479
|
}
|
|
2345
|
-
if (
|
|
2480
|
+
if (values === null || values === void 0 ? void 0 : values.sortDirection) {
|
|
2346
2481
|
this._externalParams.sortDirection = values.sortDirection;
|
|
2347
2482
|
}
|
|
2348
2483
|
}
|
|
@@ -2495,7 +2630,7 @@ class List extends Model {
|
|
|
2495
2630
|
// Set sortBy default column
|
|
2496
2631
|
this.sorting.clearSortableColumns();
|
|
2497
2632
|
this.columns.columns
|
|
2498
|
-
.filter((column) => column.sortable && column.
|
|
2633
|
+
.filter((column) => column.sortable && column.visible)
|
|
2499
2634
|
.forEach((column) => {
|
|
2500
2635
|
this.sorting.addSortableColumn(column);
|
|
2501
2636
|
});
|
|
@@ -2676,6 +2811,11 @@ class List extends Model {
|
|
|
2676
2811
|
if (!config.trackBy) {
|
|
2677
2812
|
this.trackBy = 'id';
|
|
2678
2813
|
}
|
|
2814
|
+
if (config.afterContentInit) {
|
|
2815
|
+
this.afterContentInit = () => {
|
|
2816
|
+
config.afterContentInit(this.paging.query, this.dataController.visibleRows);
|
|
2817
|
+
};
|
|
2818
|
+
}
|
|
2679
2819
|
}
|
|
2680
2820
|
/**
|
|
2681
2821
|
* Init restore row action and append Show Deleted option into filters
|
|
@@ -3156,7 +3296,7 @@ var ReorderStrategy;
|
|
|
3156
3296
|
ReorderStrategy["Manual"] = "manual";
|
|
3157
3297
|
ReorderStrategy["Custom"] = "custom";
|
|
3158
3298
|
})(ReorderStrategy || (ReorderStrategy = {}));
|
|
3159
|
-
|
|
3299
|
+
class ReorderController {
|
|
3160
3300
|
constructor() {
|
|
3161
3301
|
this._enabled$ = new BehaviorSubject(false);
|
|
3162
3302
|
this._manualReorderActivated$ = new BehaviorSubject(false);
|
|
@@ -3204,10 +3344,10 @@ let ReorderController = class ReorderController {
|
|
|
3204
3344
|
if (!data) {
|
|
3205
3345
|
return;
|
|
3206
3346
|
}
|
|
3207
|
-
this.menu = (_a = data.menu
|
|
3208
|
-
this.position = (_b = data.position
|
|
3209
|
-
this.strategy = (_c = data.strategy
|
|
3210
|
-
this.status = (_d = data.status
|
|
3347
|
+
this.menu = (_a = data.menu) !== null && _a !== void 0 ? _a : true;
|
|
3348
|
+
this.position = (_b = data.position) !== null && _b !== void 0 ? _b : ReorderPosition.Left;
|
|
3349
|
+
this.strategy = (_c = data.strategy) !== null && _c !== void 0 ? _c : ReorderStrategy.Manual;
|
|
3350
|
+
this.status = (_d = data.status) !== null && _d !== void 0 ? _d : true;
|
|
3211
3351
|
this.label = data.label;
|
|
3212
3352
|
this.startCallback = data.start;
|
|
3213
3353
|
this.movedCallback = data.moved;
|
|
@@ -3304,75 +3444,73 @@ let ReorderController = class ReorderController {
|
|
|
3304
3444
|
this._numberOfActiveFilters = activeFilters;
|
|
3305
3445
|
this.enabled = this.enabled;
|
|
3306
3446
|
}
|
|
3307
|
-
}
|
|
3308
|
-
ReorderController =
|
|
3309
|
-
|
|
3310
|
-
|
|
3311
|
-
|
|
3447
|
+
}
|
|
3448
|
+
ReorderController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ReorderController, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3449
|
+
ReorderController.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ReorderController });
|
|
3450
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ReorderController, decorators: [{
|
|
3451
|
+
type: Injectable
|
|
3452
|
+
}], ctorParameters: function () { return []; } });
|
|
3312
3453
|
|
|
3313
|
-
|
|
3314
|
-
}
|
|
3315
|
-
|
|
3316
|
-
|
|
3317
|
-
|
|
3318
|
-
|
|
3319
|
-
|
|
3320
|
-
|
|
3321
|
-
|
|
3322
|
-
],
|
|
3323
|
-
|
|
3324
|
-
|
|
3325
|
-
|
|
3326
|
-
]
|
|
3327
|
-
|
|
3328
|
-
Directive({ selector: '[fs-list-header]' })
|
|
3329
|
-
], FsListHeaderDirective);
|
|
3454
|
+
class FsListHeaderDirective {
|
|
3455
|
+
}
|
|
3456
|
+
FsListHeaderDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListHeaderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
3457
|
+
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 });
|
|
3458
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListHeaderDirective, decorators: [{
|
|
3459
|
+
type: Directive,
|
|
3460
|
+
args: [{ selector: '[fs-list-header]' }]
|
|
3461
|
+
}], propDecorators: { colspan: [{
|
|
3462
|
+
type: Input
|
|
3463
|
+
}], align: [{
|
|
3464
|
+
type: Input
|
|
3465
|
+
}], className: [{
|
|
3466
|
+
type: Input,
|
|
3467
|
+
args: ['class']
|
|
3468
|
+
}] } });
|
|
3330
3469
|
|
|
3331
|
-
|
|
3332
|
-
}
|
|
3333
|
-
|
|
3334
|
-
|
|
3335
|
-
|
|
3336
|
-
|
|
3337
|
-
|
|
3338
|
-
|
|
3339
|
-
|
|
3340
|
-
],
|
|
3341
|
-
|
|
3342
|
-
|
|
3343
|
-
|
|
3344
|
-
]
|
|
3345
|
-
|
|
3346
|
-
Directive({ selector: '[fs-list-cell]' })
|
|
3347
|
-
], FsListCellDirective);
|
|
3470
|
+
class FsListCellDirective {
|
|
3471
|
+
}
|
|
3472
|
+
FsListCellDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListCellDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
3473
|
+
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 });
|
|
3474
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListCellDirective, decorators: [{
|
|
3475
|
+
type: Directive,
|
|
3476
|
+
args: [{ selector: '[fs-list-cell]' }]
|
|
3477
|
+
}], propDecorators: { colspan: [{
|
|
3478
|
+
type: Input
|
|
3479
|
+
}], align: [{
|
|
3480
|
+
type: Input
|
|
3481
|
+
}], className: [{
|
|
3482
|
+
type: Input,
|
|
3483
|
+
args: ['class']
|
|
3484
|
+
}] } });
|
|
3348
3485
|
|
|
3349
|
-
|
|
3350
|
-
}
|
|
3351
|
-
|
|
3352
|
-
|
|
3353
|
-
|
|
3354
|
-
|
|
3355
|
-
|
|
3356
|
-
|
|
3357
|
-
|
|
3358
|
-
],
|
|
3359
|
-
|
|
3360
|
-
|
|
3361
|
-
|
|
3362
|
-
]
|
|
3363
|
-
|
|
3364
|
-
Directive({ selector: '[fs-list-footer]' })
|
|
3365
|
-
], FsListFooterDirective);
|
|
3486
|
+
class FsListFooterDirective {
|
|
3487
|
+
}
|
|
3488
|
+
FsListFooterDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListFooterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
3489
|
+
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 });
|
|
3490
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListFooterDirective, decorators: [{
|
|
3491
|
+
type: Directive,
|
|
3492
|
+
args: [{ selector: '[fs-list-footer]' }]
|
|
3493
|
+
}], propDecorators: { colspan: [{
|
|
3494
|
+
type: Input
|
|
3495
|
+
}], align: [{
|
|
3496
|
+
type: Input
|
|
3497
|
+
}], className: [{
|
|
3498
|
+
type: Input,
|
|
3499
|
+
args: ['class']
|
|
3500
|
+
}] } });
|
|
3366
3501
|
|
|
3367
|
-
|
|
3368
|
-
}
|
|
3369
|
-
FsListGroupCellDirective =
|
|
3370
|
-
|
|
3371
|
-
|
|
3372
|
-
|
|
3373
|
-
|
|
3502
|
+
class FsListGroupCellDirective extends FsListCellDirective {
|
|
3503
|
+
}
|
|
3504
|
+
FsListGroupCellDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListGroupCellDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
3505
|
+
FsListGroupCellDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: FsListGroupCellDirective, selector: "[fs-list-group-cell]", usesInheritance: true, ngImport: i0 });
|
|
3506
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListGroupCellDirective, decorators: [{
|
|
3507
|
+
type: Directive,
|
|
3508
|
+
args: [{
|
|
3509
|
+
selector: '[fs-list-group-cell]'
|
|
3510
|
+
}]
|
|
3511
|
+
}] });
|
|
3374
3512
|
|
|
3375
|
-
|
|
3513
|
+
class GroupExpandNotifierService {
|
|
3376
3514
|
constructor() {
|
|
3377
3515
|
this._expandStatusChanged$ = new Subject();
|
|
3378
3516
|
this._destroy$ = new Subject();
|
|
@@ -3387,12 +3525,14 @@ let GroupExpandNotifierService = class GroupExpandNotifierService {
|
|
|
3387
3525
|
this._destroy$.next();
|
|
3388
3526
|
this._destroy$.complete();
|
|
3389
3527
|
}
|
|
3390
|
-
}
|
|
3391
|
-
GroupExpandNotifierService =
|
|
3392
|
-
|
|
3393
|
-
|
|
3528
|
+
}
|
|
3529
|
+
GroupExpandNotifierService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: GroupExpandNotifierService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3530
|
+
GroupExpandNotifierService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: GroupExpandNotifierService });
|
|
3531
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: GroupExpandNotifierService, decorators: [{
|
|
3532
|
+
type: Injectable
|
|
3533
|
+
}] });
|
|
3394
3534
|
|
|
3395
|
-
|
|
3535
|
+
class FsListGroupExpandTriggerDirective {
|
|
3396
3536
|
constructor(_expandNotifier) {
|
|
3397
3537
|
this._expandNotifier = _expandNotifier;
|
|
3398
3538
|
}
|
|
@@ -3401,125 +3541,130 @@ let FsListGroupExpandTriggerDirective = class FsListGroupExpandTriggerDirective
|
|
|
3401
3541
|
event.stopPropagation();
|
|
3402
3542
|
this._expandNotifier.toggleExpandStatus(this.row);
|
|
3403
3543
|
}
|
|
3404
|
-
}
|
|
3405
|
-
FsListGroupExpandTriggerDirective
|
|
3406
|
-
|
|
3407
|
-
|
|
3408
|
-
|
|
3409
|
-
|
|
3410
|
-
|
|
3411
|
-
|
|
3412
|
-
|
|
3413
|
-
],
|
|
3414
|
-
|
|
3415
|
-
|
|
3416
|
-
__metadata("design:type", Object)
|
|
3417
|
-
], FsListGroupExpandTriggerDirective.prototype, "row", void 0);
|
|
3418
|
-
FsListGroupExpandTriggerDirective = __decorate([
|
|
3419
|
-
Directive({ selector: '[fsListGroupExpandTrigger]' }),
|
|
3420
|
-
__metadata("design:paramtypes", [GroupExpandNotifierService])
|
|
3421
|
-
], FsListGroupExpandTriggerDirective);
|
|
3544
|
+
}
|
|
3545
|
+
FsListGroupExpandTriggerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListGroupExpandTriggerDirective, deps: [{ token: GroupExpandNotifierService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
3546
|
+
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 });
|
|
3547
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListGroupExpandTriggerDirective, decorators: [{
|
|
3548
|
+
type: Directive,
|
|
3549
|
+
args: [{ selector: '[fsListGroupExpandTrigger]' }]
|
|
3550
|
+
}], ctorParameters: function () { return [{ type: GroupExpandNotifierService }]; }, propDecorators: { click: [{
|
|
3551
|
+
type: HostListener,
|
|
3552
|
+
args: ['click', ['$event']]
|
|
3553
|
+
}], row: [{
|
|
3554
|
+
type: Input
|
|
3555
|
+
}] } });
|
|
3422
3556
|
|
|
3423
|
-
|
|
3557
|
+
class FsListColumnDirective {
|
|
3424
3558
|
constructor() {
|
|
3425
|
-
this.
|
|
3426
|
-
this.customize = true;
|
|
3559
|
+
this._columnAttributes = new ColumnAttributes();
|
|
3427
3560
|
}
|
|
3428
|
-
|
|
3429
|
-
|
|
3430
|
-
|
|
3431
|
-
|
|
3432
|
-
|
|
3433
|
-
|
|
3434
|
-
|
|
3435
|
-
|
|
3436
|
-
|
|
3437
|
-
|
|
3438
|
-
|
|
3439
|
-
|
|
3440
|
-
|
|
3441
|
-
|
|
3442
|
-
|
|
3443
|
-
|
|
3444
|
-
|
|
3445
|
-
|
|
3446
|
-
|
|
3447
|
-
|
|
3448
|
-
|
|
3449
|
-
|
|
3450
|
-
|
|
3451
|
-
|
|
3452
|
-
|
|
3453
|
-
|
|
3454
|
-
|
|
3455
|
-
|
|
3456
|
-
|
|
3457
|
-
|
|
3458
|
-
|
|
3459
|
-
|
|
3460
|
-
|
|
3461
|
-
|
|
3462
|
-
|
|
3463
|
-
|
|
3464
|
-
|
|
3465
|
-
|
|
3466
|
-
|
|
3467
|
-
|
|
3468
|
-
]
|
|
3469
|
-
|
|
3470
|
-
|
|
3471
|
-
|
|
3472
|
-
],
|
|
3473
|
-
|
|
3474
|
-
|
|
3475
|
-
|
|
3476
|
-
|
|
3477
|
-
|
|
3478
|
-
|
|
3479
|
-
|
|
3480
|
-
|
|
3481
|
-
|
|
3482
|
-
|
|
3483
|
-
|
|
3484
|
-
],
|
|
3485
|
-
|
|
3486
|
-
|
|
3487
|
-
|
|
3488
|
-
|
|
3489
|
-
|
|
3490
|
-
|
|
3491
|
-
|
|
3492
|
-
|
|
3493
|
-
|
|
3494
|
-
|
|
3495
|
-
|
|
3496
|
-
],
|
|
3497
|
-
|
|
3498
|
-
|
|
3499
|
-
|
|
3500
|
-
|
|
3501
|
-
|
|
3502
|
-
|
|
3503
|
-
|
|
3504
|
-
|
|
3505
|
-
|
|
3506
|
-
|
|
3507
|
-
|
|
3508
|
-
|
|
3509
|
-
],
|
|
3561
|
+
get attributes() {
|
|
3562
|
+
return this._columnAttributes;
|
|
3563
|
+
}
|
|
3564
|
+
set visible(value) {
|
|
3565
|
+
this._columnAttributes.visible = value;
|
|
3566
|
+
}
|
|
3567
|
+
set title(value) {
|
|
3568
|
+
this._columnAttributes.title = value;
|
|
3569
|
+
}
|
|
3570
|
+
set name(value) {
|
|
3571
|
+
this._columnAttributes.name = value;
|
|
3572
|
+
}
|
|
3573
|
+
set customize(value) {
|
|
3574
|
+
this._columnAttributes.customize = value;
|
|
3575
|
+
}
|
|
3576
|
+
set sortable(value) {
|
|
3577
|
+
this._columnAttributes.sortable = value;
|
|
3578
|
+
}
|
|
3579
|
+
set sortableDefault(value) {
|
|
3580
|
+
this._columnAttributes.sortableDefault = value;
|
|
3581
|
+
}
|
|
3582
|
+
set direction(value) {
|
|
3583
|
+
this._columnAttributes.direction = value;
|
|
3584
|
+
}
|
|
3585
|
+
set align(value) {
|
|
3586
|
+
this._columnAttributes.align = value;
|
|
3587
|
+
}
|
|
3588
|
+
set width(value) {
|
|
3589
|
+
this._columnAttributes.width = value;
|
|
3590
|
+
}
|
|
3591
|
+
set className(value) {
|
|
3592
|
+
this._columnAttributes.className = value;
|
|
3593
|
+
}
|
|
3594
|
+
}
|
|
3595
|
+
FsListColumnDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListColumnDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
3596
|
+
FsListColumnDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: FsListColumnDirective, selector: "fs-list-column", inputs: { visible: ["show", "visible"], title: "title", name: "name", 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 });
|
|
3597
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListColumnDirective, decorators: [{
|
|
3598
|
+
type: Directive,
|
|
3599
|
+
args: [{
|
|
3600
|
+
selector: 'fs-list-column'
|
|
3601
|
+
}]
|
|
3602
|
+
}], ctorParameters: function () { return []; }, propDecorators: { headerTemplate: [{
|
|
3603
|
+
type: ContentChild,
|
|
3604
|
+
args: [FsListHeaderDirective, { read: TemplateRef, static: true }]
|
|
3605
|
+
}], headerConfigs: [{
|
|
3606
|
+
type: ContentChild,
|
|
3607
|
+
args: [FsListHeaderDirective, { static: true }]
|
|
3608
|
+
}], groupCellTemplate: [{
|
|
3609
|
+
type: ContentChild,
|
|
3610
|
+
args: [FsListGroupCellDirective, { read: TemplateRef, static: true }]
|
|
3611
|
+
}], groupCellConfigs: [{
|
|
3612
|
+
type: ContentChild,
|
|
3613
|
+
args: [FsListGroupCellDirective, { static: true }]
|
|
3614
|
+
}], expandTrigger: [{
|
|
3615
|
+
type: ContentChildren,
|
|
3616
|
+
args: [FsListGroupExpandTriggerDirective, { descendants: true }]
|
|
3617
|
+
}], cellTemplate: [{
|
|
3618
|
+
type: ContentChild,
|
|
3619
|
+
args: [FsListCellDirective, { read: TemplateRef, static: true }]
|
|
3620
|
+
}], cellConfigs: [{
|
|
3621
|
+
type: ContentChild,
|
|
3622
|
+
args: [FsListCellDirective, { static: true }]
|
|
3623
|
+
}], footerTemplate: [{
|
|
3624
|
+
type: ContentChild,
|
|
3625
|
+
args: [FsListFooterDirective, { read: TemplateRef, static: true }]
|
|
3626
|
+
}], footerConfigs: [{
|
|
3627
|
+
type: ContentChild,
|
|
3628
|
+
args: [FsListFooterDirective, { static: true }]
|
|
3629
|
+
}], visible: [{
|
|
3630
|
+
type: Input,
|
|
3631
|
+
args: ['show']
|
|
3632
|
+
}], title: [{
|
|
3633
|
+
type: Input
|
|
3634
|
+
}], name: [{
|
|
3635
|
+
type: Input
|
|
3636
|
+
}], customize: [{
|
|
3637
|
+
type: Input
|
|
3638
|
+
}], sortable: [{
|
|
3639
|
+
type: Input
|
|
3640
|
+
}], sortableDefault: [{
|
|
3641
|
+
type: Input
|
|
3642
|
+
}], direction: [{
|
|
3643
|
+
type: Input
|
|
3644
|
+
}], align: [{
|
|
3645
|
+
type: Input
|
|
3646
|
+
}], width: [{
|
|
3647
|
+
type: Input
|
|
3648
|
+
}], className: [{
|
|
3649
|
+
type: Input,
|
|
3650
|
+
args: ['class']
|
|
3651
|
+
}] } });
|
|
3510
3652
|
|
|
3511
|
-
|
|
3512
|
-
}
|
|
3513
|
-
FsListEmptyStateDirective =
|
|
3514
|
-
|
|
3515
|
-
|
|
3516
|
-
|
|
3517
|
-
|
|
3653
|
+
class FsListEmptyStateDirective {
|
|
3654
|
+
}
|
|
3655
|
+
FsListEmptyStateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListEmptyStateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
3656
|
+
FsListEmptyStateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: FsListEmptyStateDirective, selector: "[fs-list-empty-state]", ngImport: i0 });
|
|
3657
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListEmptyStateDirective, decorators: [{
|
|
3658
|
+
type: Directive,
|
|
3659
|
+
args: [{
|
|
3660
|
+
selector: '[fs-list-empty-state]',
|
|
3661
|
+
}]
|
|
3662
|
+
}] });
|
|
3518
3663
|
|
|
3519
3664
|
const FS_LIST_DEFAULT_CONFIG = new InjectionToken('fs-list.default-config');
|
|
3520
3665
|
const FS_LIST_CONFIG = new InjectionToken('fs-list.config');
|
|
3521
3666
|
|
|
3522
|
-
|
|
3667
|
+
class CustomizeColsDialogComponent {
|
|
3523
3668
|
constructor(data, _dialog) {
|
|
3524
3669
|
this._dialog = _dialog;
|
|
3525
3670
|
this.columns = [];
|
|
@@ -3565,385 +3710,312 @@ let CustomizeColsDialogComponent = class CustomizeColsDialogComponent {
|
|
|
3565
3710
|
cancel() {
|
|
3566
3711
|
this._dialog.close();
|
|
3567
3712
|
}
|
|
3568
|
-
}
|
|
3569
|
-
CustomizeColsDialogComponent
|
|
3570
|
-
{ type:
|
|
3571
|
-
|
|
3572
|
-
|
|
3573
|
-
|
|
3574
|
-
|
|
3575
|
-
|
|
3576
|
-
|
|
3577
|
-
|
|
3578
|
-
|
|
3579
|
-
|
|
3580
|
-
|
|
3581
|
-
],
|
|
3713
|
+
}
|
|
3714
|
+
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 });
|
|
3715
|
+
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 });
|
|
3716
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: CustomizeColsDialogComponent, decorators: [{
|
|
3717
|
+
type: Component,
|
|
3718
|
+
args: [{
|
|
3719
|
+
templateUrl: 'customize-cols.component.html',
|
|
3720
|
+
styleUrls: ['customize-cols.component.scss'],
|
|
3721
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
3722
|
+
}]
|
|
3723
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
3724
|
+
type: Inject,
|
|
3725
|
+
args: [MAT_DIALOG_DATA]
|
|
3726
|
+
}] }, { type: i4.MatDialogRef }]; } });
|
|
3582
3727
|
|
|
3583
3728
|
const FILTER_STORE_KEY = 'fs-list-persist';
|
|
3584
|
-
|
|
3729
|
+
class PersistanceController extends FsPersistanceStore {
|
|
3585
3730
|
constructor(_store, _route) {
|
|
3586
3731
|
super(_store, _route);
|
|
3587
3732
|
this.STORE_KEY = FILTER_STORE_KEY;
|
|
3588
3733
|
}
|
|
3589
|
-
}
|
|
3590
|
-
PersistanceController
|
|
3591
|
-
|
|
3592
|
-
|
|
3593
|
-
|
|
3594
|
-
|
|
3595
|
-
Injectable(),
|
|
3596
|
-
__metadata("design:paramtypes", [FsStore,
|
|
3597
|
-
ActivatedRoute])
|
|
3598
|
-
], PersistanceController);
|
|
3734
|
+
}
|
|
3735
|
+
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 });
|
|
3736
|
+
PersistanceController.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PersistanceController });
|
|
3737
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PersistanceController, decorators: [{
|
|
3738
|
+
type: Injectable
|
|
3739
|
+
}], ctorParameters: function () { return [{ type: i1.FsStore }, { type: i6$1.ActivatedRoute }]; } });
|
|
3599
3740
|
|
|
3600
|
-
|
|
3601
|
-
|
|
3602
|
-
|
|
3603
|
-
this.
|
|
3604
|
-
this.
|
|
3605
|
-
this.
|
|
3606
|
-
this.selectionDialog = selectionDialog;
|
|
3607
|
-
this.dialog = dialog;
|
|
3608
|
-
this.cdRef = cdRef;
|
|
3609
|
-
this._groupExpandNotifier = _groupExpandNotifier;
|
|
3610
|
-
this._router = _router;
|
|
3611
|
-
this._route = _route;
|
|
3612
|
-
this._persistance = _persistance;
|
|
3613
|
-
this._location = _location;
|
|
3614
|
-
this._dialogRef = _dialogRef;
|
|
3615
|
-
this._drawerRef = _drawerRef;
|
|
3616
|
-
this.classFsList = true;
|
|
3617
|
-
this.loaderLines = 3;
|
|
3618
|
-
this.filtersReady = new EventEmitter();
|
|
3619
|
-
// Event will fired if action remove: true will clicked
|
|
3620
|
-
this.rowRemoved = new EventEmitter();
|
|
3621
|
-
this.firstLoad = true;
|
|
3622
|
-
this._filterParamsReady = false;
|
|
3623
|
-
this._inDialog = !!this._dialogRef || !!this._drawerRef;
|
|
3624
|
-
this._destroy = new Subject();
|
|
3625
|
-
}
|
|
3626
|
-
set config(config) {
|
|
3627
|
-
this._initWithConfig(config);
|
|
3741
|
+
// import { FsListManageSavedFiltersComponent } from '../manage-saved-filters/manage-saved-filters.component';
|
|
3742
|
+
class FsListSavedFiltersComponent {
|
|
3743
|
+
constructor(_dialog, _externalParams, _vcRef) {
|
|
3744
|
+
this._dialog = _dialog;
|
|
3745
|
+
this._externalParams = _externalParams;
|
|
3746
|
+
this._vcRef = _vcRef;
|
|
3628
3747
|
}
|
|
3629
|
-
|
|
3630
|
-
this.
|
|
3631
|
-
this.list.actions.setFilterRef(component);
|
|
3632
|
-
this._emitFiltersReadyEvent();
|
|
3748
|
+
get savedFiltersEnabled$() {
|
|
3749
|
+
return this._externalParams.savedFiltersController.enabled$;
|
|
3633
3750
|
}
|
|
3634
|
-
|
|
3635
|
-
|
|
3636
|
-
|
|
3637
|
-
|
|
3638
|
-
*/
|
|
3639
|
-
set columnTemplates(listColumnDirectives) {
|
|
3640
|
-
this.listColumnDirectives = listColumnDirectives;
|
|
3641
|
-
if (this.list) {
|
|
3642
|
-
this.list.tranformTemplatesToColumns(listColumnDirectives);
|
|
3643
|
-
}
|
|
3751
|
+
showManageDialog() {
|
|
3752
|
+
// this._dialog.open(FsListManageSavedFiltersComponent, {
|
|
3753
|
+
// viewContainerRef: this._vcRef,
|
|
3754
|
+
// });
|
|
3644
3755
|
}
|
|
3645
|
-
|
|
3646
|
-
|
|
3647
|
-
|
|
3648
|
-
|
|
3649
|
-
|
|
3650
|
-
|
|
3651
|
-
|
|
3652
|
-
|
|
3653
|
-
|
|
3654
|
-
return
|
|
3655
|
-
|
|
3656
|
-
|
|
3657
|
-
|
|
3658
|
-
|
|
3659
|
-
|
|
3660
|
-
return this.list.paging.enabled
|
|
3661
|
-
&& !this.firstLoad
|
|
3662
|
-
&& !this.list.scrollable
|
|
3663
|
-
&& !this.list.emptyStateEnabled
|
|
3664
|
-
&& this.list.dataController.visibleRowsCount > 0
|
|
3665
|
-
&& this.list.paging.pages > 1;
|
|
3666
|
-
}
|
|
3667
|
-
set groupEnabled(value) {
|
|
3668
|
-
this.list.groupEnabled(value);
|
|
3756
|
+
}
|
|
3757
|
+
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 });
|
|
3758
|
+
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 } });
|
|
3759
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListSavedFiltersComponent, decorators: [{
|
|
3760
|
+
type: Component,
|
|
3761
|
+
args: [{
|
|
3762
|
+
selector: 'fs-list-saved-filters',
|
|
3763
|
+
templateUrl: 'saved-filters.component.html',
|
|
3764
|
+
}]
|
|
3765
|
+
}], ctorParameters: function () { return [{ type: i4.MatDialog }, { type: i2$2.ExternalParamsController }, { type: i0.ViewContainerRef }]; } });
|
|
3766
|
+
|
|
3767
|
+
class FsStatusComponent {
|
|
3768
|
+
constructor(_cdRef) {
|
|
3769
|
+
this._cdRef = _cdRef;
|
|
3770
|
+
this._destroy$ = new Subject();
|
|
3669
3771
|
}
|
|
3670
3772
|
ngOnInit() {
|
|
3671
|
-
this.
|
|
3672
|
-
|
|
3773
|
+
this.sorting.sortingChanged$
|
|
3774
|
+
.pipe(takeUntil(this._destroy$))
|
|
3775
|
+
.subscribe(() => {
|
|
3776
|
+
this._cdRef.markForCheck();
|
|
3777
|
+
});
|
|
3673
3778
|
}
|
|
3674
3779
|
ngOnDestroy() {
|
|
3675
|
-
|
|
3676
|
-
|
|
3677
|
-
}
|
|
3678
|
-
this._destroy.next();
|
|
3679
|
-
this._destroy.complete();
|
|
3680
|
-
}
|
|
3681
|
-
nextPage() {
|
|
3682
|
-
this.list.paging.goNext();
|
|
3683
|
-
}
|
|
3684
|
-
prevPage() {
|
|
3685
|
-
this.list.paging.goPrev();
|
|
3686
|
-
}
|
|
3687
|
-
firstPage() {
|
|
3688
|
-
this.list.paging.goFirst();
|
|
3689
|
-
}
|
|
3690
|
-
lastPage() {
|
|
3691
|
-
this.list.paging.goLast();
|
|
3692
|
-
}
|
|
3693
|
-
reload() {
|
|
3694
|
-
this.list.reload();
|
|
3780
|
+
this._destroy$.next();
|
|
3781
|
+
this._destroy$.complete();
|
|
3695
3782
|
}
|
|
3696
|
-
|
|
3697
|
-
|
|
3783
|
+
toggleDirection() {
|
|
3784
|
+
if (this.sorting.sortingColumn.direction === 'asc') {
|
|
3785
|
+
this.sorting.sortDirection(SortingDirection.desc);
|
|
3786
|
+
}
|
|
3787
|
+
else {
|
|
3788
|
+
this.sorting.sortDirection(SortingDirection.asc);
|
|
3789
|
+
}
|
|
3698
3790
|
}
|
|
3699
|
-
|
|
3700
|
-
|
|
3791
|
+
setSortableColumn(column) {
|
|
3792
|
+
if (this.sorting.sortingColumn !== column) {
|
|
3793
|
+
this.sorting.sortBy(column);
|
|
3794
|
+
}
|
|
3701
3795
|
}
|
|
3702
|
-
|
|
3703
|
-
|
|
3796
|
+
setLimit(limit) {
|
|
3797
|
+
this.paging.setLimit(limit);
|
|
3704
3798
|
}
|
|
3705
|
-
|
|
3706
|
-
|
|
3799
|
+
}
|
|
3800
|
+
FsStatusComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsStatusComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
3801
|
+
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 });
|
|
3802
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsStatusComponent, decorators: [{
|
|
3803
|
+
type: Component,
|
|
3804
|
+
args: [{
|
|
3805
|
+
selector: 'fs-list-status',
|
|
3806
|
+
templateUrl: 'status.component.html',
|
|
3807
|
+
styleUrls: [
|
|
3808
|
+
'./status.component.scss',
|
|
3809
|
+
],
|
|
3810
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
3811
|
+
preserveWhitespaces: true
|
|
3812
|
+
}]
|
|
3813
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { paging: [{
|
|
3814
|
+
type: Input
|
|
3815
|
+
}], sorting: [{
|
|
3816
|
+
type: Input
|
|
3817
|
+
}], rows: [{
|
|
3818
|
+
type: Input
|
|
3819
|
+
}], scrollable: [{
|
|
3820
|
+
type: Input
|
|
3821
|
+
}], firstLoad: [{
|
|
3822
|
+
type: Input
|
|
3823
|
+
}, {
|
|
3824
|
+
type: HostBinding,
|
|
3825
|
+
args: ['class.first-load']
|
|
3826
|
+
}, {
|
|
3827
|
+
type: HostBinding,
|
|
3828
|
+
args: ['class.fs-skeleton-placeholder']
|
|
3829
|
+
}] } });
|
|
3830
|
+
|
|
3831
|
+
class FsCellComponent {
|
|
3832
|
+
constructor() {
|
|
3833
|
+
this.isColl = true;
|
|
3834
|
+
this.role = 'gridcell';
|
|
3835
|
+
this.cellContext = {};
|
|
3836
|
+
this._destroy$ = new Subject();
|
|
3707
3837
|
}
|
|
3708
|
-
|
|
3709
|
-
this.
|
|
3838
|
+
ngOnInit() {
|
|
3839
|
+
this._initCellContext();
|
|
3840
|
+
this._initCellTemplate();
|
|
3841
|
+
this._listenGroupOpen();
|
|
3710
3842
|
}
|
|
3711
|
-
|
|
3712
|
-
|
|
3843
|
+
ngOnChanges(changes) {
|
|
3844
|
+
if (changes.rowIndex) {
|
|
3845
|
+
this.cellContext.index = this.rowIndex;
|
|
3846
|
+
}
|
|
3713
3847
|
}
|
|
3714
|
-
|
|
3715
|
-
|
|
3848
|
+
ngOnDestroy() {
|
|
3849
|
+
this._destroy$.next();
|
|
3850
|
+
this._destroy$.complete();
|
|
3716
3851
|
}
|
|
3717
|
-
|
|
3718
|
-
this.
|
|
3852
|
+
_initCellContext() {
|
|
3853
|
+
this.cellContext.index = this.rowIndex;
|
|
3854
|
+
if (this.row) {
|
|
3855
|
+
if (this.row.isGroup) {
|
|
3856
|
+
this.cellContext.groupIndex = this.row.index;
|
|
3857
|
+
}
|
|
3858
|
+
else if (this.row.isChild) {
|
|
3859
|
+
this.cellContext.groupChildIndex = this.row.index;
|
|
3860
|
+
}
|
|
3861
|
+
}
|
|
3862
|
+
this.cellContext.column = this.column;
|
|
3863
|
+
if (this.row) {
|
|
3864
|
+
this.cellContext.$implicit = this.row.data;
|
|
3865
|
+
this.cellContext.row = this.row.data;
|
|
3866
|
+
this.cellContext.value = this.row.data[this.column.name];
|
|
3867
|
+
this.cellContext.expanded = this.row.expanded;
|
|
3868
|
+
}
|
|
3719
3869
|
}
|
|
3720
|
-
|
|
3721
|
-
this.
|
|
3870
|
+
_initCellTemplate() {
|
|
3871
|
+
if (this.row && this.row.isGroup) {
|
|
3872
|
+
this.cellTemplate = this.column.groupCellTemplate || this.column.cellTemplate;
|
|
3873
|
+
}
|
|
3874
|
+
else {
|
|
3875
|
+
this.cellTemplate = this.column.cellTemplate;
|
|
3876
|
+
}
|
|
3722
3877
|
}
|
|
3723
|
-
|
|
3724
|
-
this.
|
|
3878
|
+
_listenGroupOpen() {
|
|
3879
|
+
if (this.row && this.row.isGroup) {
|
|
3880
|
+
this.row.expanded$
|
|
3881
|
+
.pipe(takeUntil(this._destroy$))
|
|
3882
|
+
.subscribe((status) => {
|
|
3883
|
+
this.cellContext.expanded = status;
|
|
3884
|
+
});
|
|
3885
|
+
}
|
|
3725
3886
|
}
|
|
3726
|
-
|
|
3727
|
-
|
|
3887
|
+
}
|
|
3888
|
+
FsCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3889
|
+
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 });
|
|
3890
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsCellComponent, decorators: [{
|
|
3891
|
+
type: Component,
|
|
3892
|
+
args: [{
|
|
3893
|
+
selector: '[fs-cell]',
|
|
3894
|
+
templateUrl: 'cell.component.html',
|
|
3895
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
3896
|
+
}]
|
|
3897
|
+
}], ctorParameters: function () { return []; }, propDecorators: { isColl: [{
|
|
3898
|
+
type: HostBinding,
|
|
3899
|
+
args: ['class.fs-list-col']
|
|
3900
|
+
}], role: [{
|
|
3901
|
+
type: HostBinding,
|
|
3902
|
+
args: ['attr.role']
|
|
3903
|
+
}], column: [{
|
|
3904
|
+
type: Input
|
|
3905
|
+
}], row: [{
|
|
3906
|
+
type: Input
|
|
3907
|
+
}], rowIndex: [{
|
|
3908
|
+
type: Input
|
|
3909
|
+
}] } });
|
|
3910
|
+
|
|
3911
|
+
class FsHeadCellComponent extends FsCellComponent {
|
|
3912
|
+
constructor(cdRef, differs) {
|
|
3913
|
+
super();
|
|
3914
|
+
this.cdRef = cdRef;
|
|
3915
|
+
this.differs = differs;
|
|
3916
|
+
this.cellContext = {};
|
|
3917
|
+
this._columnDiffer = differs.find({}).create();
|
|
3728
3918
|
}
|
|
3729
|
-
|
|
3730
|
-
if (
|
|
3731
|
-
this.
|
|
3732
|
-
this.list.actions.setActions(actions);
|
|
3919
|
+
ngDoCheck() {
|
|
3920
|
+
if (this._columnDiffer.diff(this.column)) {
|
|
3921
|
+
this.cdRef.markForCheck();
|
|
3733
3922
|
}
|
|
3734
3923
|
}
|
|
3735
|
-
|
|
3736
|
-
this.
|
|
3737
|
-
this._filterParamsReady = true;
|
|
3738
|
-
this._emitFiltersReadyEvent();
|
|
3924
|
+
initCellContext() {
|
|
3925
|
+
this.cellContext.value = this.column.title;
|
|
3739
3926
|
}
|
|
3740
|
-
|
|
3741
|
-
|
|
3742
|
-
|
|
3743
|
-
|
|
3744
|
-
|
|
3927
|
+
}
|
|
3928
|
+
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 });
|
|
3929
|
+
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 });
|
|
3930
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsHeadCellComponent, decorators: [{
|
|
3931
|
+
type: Component,
|
|
3932
|
+
args: [{
|
|
3933
|
+
selector: '[fs-head-cell]',
|
|
3934
|
+
templateUrl: 'head-cell.component.html',
|
|
3935
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
3936
|
+
}]
|
|
3937
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.KeyValueDiffers }]; } });
|
|
3938
|
+
|
|
3939
|
+
class FsHeadComponent {
|
|
3940
|
+
constructor(reorderController, cdRef) {
|
|
3941
|
+
this.reorderController = reorderController;
|
|
3942
|
+
this.cdRef = cdRef;
|
|
3943
|
+
this.selectedAll = false;
|
|
3944
|
+
this.ReorderPosition = ReorderPosition;
|
|
3945
|
+
this.ReorderStrategy = ReorderStrategy;
|
|
3946
|
+
this._destroy$ = new Subject();
|
|
3745
3947
|
}
|
|
3746
|
-
|
|
3747
|
-
|
|
3748
|
-
|
|
3749
|
-
columnsVisibility(columns) {
|
|
3750
|
-
this.list.columns.updateVisibilityForCols(columns);
|
|
3948
|
+
ngOnInit() {
|
|
3949
|
+
this.initSorting();
|
|
3950
|
+
this.initSelection();
|
|
3751
3951
|
}
|
|
3752
|
-
|
|
3753
|
-
|
|
3754
|
-
|
|
3755
|
-
}
|
|
3952
|
+
ngOnDestroy() {
|
|
3953
|
+
this._destroy$.next();
|
|
3954
|
+
this._destroy$.complete();
|
|
3756
3955
|
}
|
|
3757
3956
|
/**
|
|
3758
|
-
*
|
|
3759
|
-
* @param
|
|
3957
|
+
* Select All Visible Rows
|
|
3958
|
+
* @param event
|
|
3760
3959
|
*/
|
|
3761
|
-
|
|
3762
|
-
|
|
3763
|
-
this.list.destroy();
|
|
3764
|
-
}
|
|
3765
|
-
const defaultOpts = this._defaultOptions
|
|
3766
|
-
? cloneDeep(this._defaultOptions)
|
|
3767
|
-
: {};
|
|
3768
|
-
const listConfig = mergeWith(defaultOpts, config, this._configMergeCustomizer);
|
|
3769
|
-
if (listConfig.persist !== false) {
|
|
3770
|
-
this._restorePersistance(listConfig.persist);
|
|
3771
|
-
}
|
|
3772
|
-
this._updateCustomizeAction(listConfig.actions);
|
|
3773
|
-
this.list = new List(this._el, listConfig, this.fsScroll, this.selectionDialog, this._router, this._route, this._persistance, this._inDialog);
|
|
3774
|
-
this._waitFirstLoad();
|
|
3775
|
-
this._listenFiltersQueryChange();
|
|
3776
|
-
this.reorderController.initWithConfig(config.reorder, this.list.dataController, this.list.actions);
|
|
3777
|
-
if (this.listColumnDirectives) {
|
|
3778
|
-
this.list.tranformTemplatesToColumns(this.listColumnDirectives);
|
|
3779
|
-
}
|
|
3780
|
-
this._listenSortingChange();
|
|
3960
|
+
selectAll(event) {
|
|
3961
|
+
this.selection.selectAllVisibleRows(event.checked);
|
|
3781
3962
|
}
|
|
3782
3963
|
/**
|
|
3783
|
-
*
|
|
3784
|
-
* @param
|
|
3964
|
+
* Track By for improve change detection
|
|
3965
|
+
* @param index
|
|
3785
3966
|
*/
|
|
3786
|
-
|
|
3787
|
-
|
|
3788
|
-
const customizeAction = (_a = actions) === null || _a === void 0 ? void 0 : _a.find((action) => action.customize);
|
|
3789
|
-
if (customizeAction) {
|
|
3790
|
-
const actionClickFn = customizeAction.click;
|
|
3791
|
-
customizeAction.click = () => {
|
|
3792
|
-
if (actionClickFn) {
|
|
3793
|
-
actionClickFn(null);
|
|
3794
|
-
}
|
|
3795
|
-
const dialogRef = this.dialog.open(CustomizeColsDialogComponent, {
|
|
3796
|
-
data: {
|
|
3797
|
-
columns: this.list.columns.columnsForDialog,
|
|
3798
|
-
changeFn: this.list.columns.changeFn,
|
|
3799
|
-
},
|
|
3800
|
-
});
|
|
3801
|
-
dialogRef
|
|
3802
|
-
.afterClosed()
|
|
3803
|
-
.pipe(takeUntil(this.list.onDestroy$), takeUntil(this._destroy))
|
|
3804
|
-
.subscribe((data) => {
|
|
3805
|
-
if (data) {
|
|
3806
|
-
this.list.columns.updateVisibilityForCols(data);
|
|
3807
|
-
this.cdRef.markForCheck();
|
|
3808
|
-
}
|
|
3809
|
-
});
|
|
3810
|
-
};
|
|
3811
|
-
}
|
|
3967
|
+
trackByFn(index) {
|
|
3968
|
+
return index;
|
|
3812
3969
|
}
|
|
3813
3970
|
/**
|
|
3814
|
-
*
|
|
3971
|
+
* Subscribe to sorting change
|
|
3815
3972
|
*/
|
|
3816
|
-
|
|
3817
|
-
this.
|
|
3818
|
-
.
|
|
3819
|
-
.pipe(takeUntil(this.list.onDestroy$), takeUntil(this._destroy))
|
|
3820
|
-
.subscribe((sort) => {
|
|
3821
|
-
this._filterRef.updateSort(sort);
|
|
3822
|
-
});
|
|
3823
|
-
}
|
|
3824
|
-
_subscribeToRemoveRow() {
|
|
3825
|
-
this.rowRemoved
|
|
3826
|
-
.pipe(takeUntil(this._destroy))
|
|
3827
|
-
.subscribe((row) => {
|
|
3828
|
-
this.list.dataController.removeData(row);
|
|
3829
|
-
});
|
|
3830
|
-
}
|
|
3831
|
-
_subscribeToGroupExpandStatusChange() {
|
|
3832
|
-
if (this.list.dataController.hasGroups) {
|
|
3833
|
-
this._groupExpandNotifier.expandStatusChange$
|
|
3834
|
-
.pipe(takeUntil(this._destroy))
|
|
3835
|
-
.subscribe((row) => {
|
|
3836
|
-
this.list.dataController.toggleRowGroup(row);
|
|
3837
|
-
});
|
|
3838
|
-
}
|
|
3839
|
-
}
|
|
3840
|
-
_waitFirstLoad() {
|
|
3841
|
-
this.list.loading$
|
|
3842
|
-
.pipe(skip(1), filter((value) => value === false), take(1), takeUntil(this.list.onDestroy$), takeUntil(this._destroy))
|
|
3973
|
+
initSorting() {
|
|
3974
|
+
this.sorting.sortingChanged$
|
|
3975
|
+
.pipe(takeUntil(this._destroy$))
|
|
3843
3976
|
.subscribe(() => {
|
|
3844
|
-
this.
|
|
3845
|
-
this.cdRef.markForCheck();
|
|
3846
|
-
});
|
|
3847
|
-
}
|
|
3848
|
-
_listenFiltersQueryChange() {
|
|
3849
|
-
this.list.filtersQuery$
|
|
3850
|
-
.pipe(takeUntil(this.list.onDestroy$), takeUntil(this._destroy))
|
|
3851
|
-
.subscribe((value) => {
|
|
3852
|
-
if (value) {
|
|
3853
|
-
const activeFilters = Object.keys(value).length;
|
|
3854
|
-
this.reorderController.setNunberOfActiveFilters(activeFilters);
|
|
3855
|
-
}
|
|
3977
|
+
this.cdRef.detectChanges();
|
|
3856
3978
|
});
|
|
3857
3979
|
}
|
|
3858
|
-
|
|
3859
|
-
|
|
3860
|
-
|
|
3980
|
+
/**
|
|
3981
|
+
* Subscribe to selection change
|
|
3982
|
+
*/
|
|
3983
|
+
initSelection() {
|
|
3984
|
+
if (this.selection) {
|
|
3985
|
+
this.selection.selectionChange$
|
|
3986
|
+
.pipe(filter(({ type }) => (type === SelectionChangeType.AllVisibleSelectionChange
|
|
3987
|
+
|| type === SelectionChangeType.SelectedAll
|
|
3988
|
+
|| type === SelectionChangeType.RowSelectionChange)), takeUntil(this._destroy$))
|
|
3989
|
+
.subscribe(({ type, payload: status }) => {
|
|
3990
|
+
this.selectedAll = status;
|
|
3991
|
+
this.cdRef.markForCheck();
|
|
3992
|
+
});
|
|
3861
3993
|
}
|
|
3862
3994
|
}
|
|
3863
|
-
|
|
3864
|
-
|
|
3865
|
-
|
|
3866
|
-
|
|
3867
|
-
|
|
3868
|
-
|
|
3869
|
-
|
|
3870
|
-
|
|
3871
|
-
|
|
3872
|
-
|
|
3873
|
-
|
|
3874
|
-
|
|
3875
|
-
|
|
3876
|
-
|
|
3877
|
-
|
|
3878
|
-
|
|
3879
|
-
|
|
3880
|
-
|
|
3881
|
-
|
|
3882
|
-
|
|
3883
|
-
]
|
|
3884
|
-
|
|
3885
|
-
HostBinding('class.fs-list'),
|
|
3886
|
-
__metadata("design:type", Object)
|
|
3887
|
-
], FsListComponent.prototype, "classFsList", void 0);
|
|
3888
|
-
__decorate([
|
|
3889
|
-
Input('config'),
|
|
3890
|
-
__metadata("design:type", Object),
|
|
3891
|
-
__metadata("design:paramtypes", [Object])
|
|
3892
|
-
], FsListComponent.prototype, "config", null);
|
|
3893
|
-
__decorate([
|
|
3894
|
-
Input(),
|
|
3895
|
-
__metadata("design:type", Object)
|
|
3896
|
-
], FsListComponent.prototype, "loaderLines", void 0);
|
|
3897
|
-
__decorate([
|
|
3898
|
-
Output(),
|
|
3899
|
-
__metadata("design:type", Object)
|
|
3900
|
-
], FsListComponent.prototype, "filtersReady", void 0);
|
|
3901
|
-
__decorate([
|
|
3902
|
-
ViewChild(FilterComponent),
|
|
3903
|
-
__metadata("design:type", Object),
|
|
3904
|
-
__metadata("design:paramtypes", [Object])
|
|
3905
|
-
], FsListComponent.prototype, "filterReference", null);
|
|
3906
|
-
__decorate([
|
|
3907
|
-
ContentChildren(FsListColumnDirective),
|
|
3908
|
-
__metadata("design:type", QueryList),
|
|
3909
|
-
__metadata("design:paramtypes", [QueryList])
|
|
3910
|
-
], FsListComponent.prototype, "columnTemplates", null);
|
|
3911
|
-
__decorate([
|
|
3912
|
-
ContentChild(FsListEmptyStateDirective, { read: TemplateRef }),
|
|
3913
|
-
__metadata("design:type", TemplateRef),
|
|
3914
|
-
__metadata("design:paramtypes", [TemplateRef])
|
|
3915
|
-
], FsListComponent.prototype, "_emptyStateTemplate", null);
|
|
3916
|
-
FsListComponent = __decorate([
|
|
3917
|
-
Component({
|
|
3918
|
-
selector: 'fs-list',
|
|
3919
|
-
template: "<div class=\"fs-list-container\"\n [ngClass]=\"{ 'has-filter-input': list.filterInput,\n 'has-filters': list.filterConfig?.items.length,\n 'has-heading': list.heading,\n 'has-status': list.status,\n 'has-chips': list.chips,\n 'has-actions': list.actions.hasActions,\n 'first-load': firstLoad,\n 'loading': list.loading$ | async }\">\n <ng-template [ngTemplateOutlet]=\"listContainerContent\"></ng-template>\n</div>\n\n<ng-template #listContainerContent>\n <ng-container *ngIf=\"list.dataController.visibleRows$ | async as listData\">\n <!-- Header -->\n <div class=\"fs-list-header-container\">\n\n <div class=\"fs-list-header\"\n [ngClass]=\"{ 'no-wrap': reorderController.manualReorderActivated$ || !list.filterConfig?.items.length }\">\n <div class=\"heading-container\">\n <h2 class=\"heading\" *ngIf=\"list.heading\">{{list.heading}}</h2>\n <span class=\"subheading\" *ngIf=\"list.subheading\">{{list.subheading}}</span>\n </div>\n <fs-filter\n class=\"fs-list-filter\"\n *ngIf=\"list.filterConfig\"\n [filter]=\"list.filterConfig\"\n [showSortBy]=\"!list.status\"\n [showFilterInput]=\"list.filterInput\"\n (ready)=\"filterReady()\">\n\n <ng-template fsFilterStatusBar>\n <ng-container *ngIf=\"\n list.paging &&\n !(reorderController.manualReorderActivated$ | async) &&\n (!reorderController.enabled || reorderController.status) &&\n ((list.scrollable && list.scrollable.status) || !list.scrollable)\">\n <!-- Status -->\n <fs-list-status\n class=\"fs-list-status\"\n [ngClass]=\"{ 'hidden-mobile': !list.status }\"\n [rows]=\"listData\"\n [sorting]=\"list.sorting\"\n [paging]=\"list.paging\"\n [firstLoad]=\"firstLoad\"\n [scrollable]=\"list.scrollable\">\n </fs-list-status>\n </ng-container>\n </ng-template>\n </fs-filter>\n </div>\n </div>\n\n <ng-content select=\"[fs-list-content]\"></ng-content>\n\n <!-- Table implementation -->\n <div class=\"fs-list-table-container\">\n <table class=\"fs-list-table\" role=\"grid\" *ngIf=\"!firstLoad && listData.length > 0 && !list.emptyStateEnabled\">\n <thead fs-list-head\n class=\"fs-list-head\"\n role=\"rowgroup\"\n *ngIf=\"list.columns.hasHeader\"\n [ngClass]=\"list.columns.theadClass\"\n [columns]=\"list.columns.visibleColumns\"\n [sorting]=\"list.sorting\"\n [selection]=\"list.selection\"\n [hasRowActions]=\"list.hasRowActions\"\n >\n </thead>\n\n <tbody fs-list-body\n fsListDraggableList\n class=\"fs-list-body\"\n role=\"rowgroup\"\n [class.disabled]=\"!!(reorderController.reorderDisabled$ | async)\"\n [rows]=\"listData\"\n [rowActionsRaw]=\"list.rowActionsRaw\"\n [groupActionsRaw]=\"list.groupActionsRaw\"\n [hasRowActions]=\"list.hasRowActions\"\n [rowEvents]=\"list.rowEvents\"\n [rowClass]=\"list.rowClass\"\n [columns]=\"list.columns.visibleColumns\"\n [restoreMode]=\"list.restoreMode\"\n [selection]=\"list.selection\"\n [rowRemoved]=\"rowRemoved\"\n >\n </tbody>\n\n <tfoot fs-list-footer\n class=\"fs-list-footer\"\n *ngIf=\"list.columns.hasFooter\"\n [columns]=\"list.columns.visibleColumns\"\n [selection]=\"list.selection\"\n [hasRowActions]=\"list.hasRowActions\">\n </tfoot>\n </table>\n <fs-list-loader\n *ngIf=\"firstLoad\"\n [columns]=\"list.columns.columns\"\n [loaderLines]=\"loaderLines\">\n </fs-list-loader>\n </div>\n\n <fs-list-pagination\n *ngIf=\"paginatorVisible\"\n class=\"fs-list-pagination\"\n [rows]=\"listData\"\n [pagination]=\"list.paging\">\n </fs-list-pagination>\n\n\n <ng-container *ngIf=\"!firstLoad\">\n <div\n *ngIf=\"listData.length === 0\"\n class=\"fs-list-no-results-container\">\n <div\n *ngIf=\"list.noResults?.message && !list.emptyStateEnabled\"\n class=\"fs-list-no-results\">\n {{ list.noResults?.message }}\n </div>\n <ng-container *ngIf=\"list.emptyStateEnabled\">\n <ng-template [ngTemplateOutlet]=\"list.emptyStateTemplate\"></ng-template>\n </ng-container>\n </div>\n </ng-container>\n </ng-container>\n</ng-template>\n\n",
|
|
3920
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
3921
|
-
providers: [
|
|
3922
|
-
GroupExpandNotifierService,
|
|
3923
|
-
PersistanceController,
|
|
3924
|
-
ReorderController,
|
|
3925
|
-
],
|
|
3926
|
-
styles: ["::ng-deep .fs-list{display:block;width:100%}::ng-deep .fs-list .fs-list-swap-restricted{opacity:.5}::ng-deep .fs-list .fs-list-no-drop{cursor:no-drop}::ng-deep .fs-list .fs-filter{margin-bottom:0;position:initial!important;display:block}::ng-deep .fs-list .fs-list-container.first-load .filter-chips,::ng-deep .fs-list .fs-list-container.first-load .fs-list-body,::ng-deep .fs-list .fs-list-container.first-load .fs-list-no-results-container,::ng-deep .fs-list .fs-list-container.first-load .fs-list-status,::ng-deep .fs-list .fs-list-container.first-load fs-list-pagination,::ng-deep .fs-list .fs-list-container.loading .filter-chips,::ng-deep .fs-list .fs-list-container.loading .fs-list-body,::ng-deep .fs-list .fs-list-container.loading .fs-list-no-results-container,::ng-deep .fs-list .fs-list-container.loading .fs-list-status,::ng-deep .fs-list .fs-list-container.loading fs-list-pagination{opacity:.4;pointer-events:none}::ng-deep .fs-list .fs-list-container.first-load ::ng-deep fs-filter-chips .fs-chip{color:transparent}::ng-deep .fs-list .fs-list-container.first-load ::ng-deep fs-filter-chips .fs-chip .remove{visibility:hidden}::ng-deep .fs-list .fs-list-container.has-actions .fs-list-actions{margin-left:5px}::ng-deep .fs-list .fs-list-table-container{width:100%;overflow:auto}::ng-deep .fs-list .fs-list-table,::ng-deep .fs-list table{border-spacing:0;display:table;width:100%;border-collapse:collapse}::ng-deep .fs-list .fs-list-no-results-container .fs-list-no-results{text-align:center;color:#999;padding:10px 0}::ng-deep .fs-list .hidden{display:none}::ng-deep .fs-list .fs-list-head,::ng-deep .fs-list thead{display:table-header-group}::ng-deep .fs-list .fs-list-head .fs-list-col,::ng-deep .fs-list .fs-list-head th,::ng-deep .fs-list thead .fs-list-col,::ng-deep .fs-list thead th{padding:8px;font-weight:400;font-size:13px;color:#8f8f8f}::ng-deep .fs-list .fs-list-head .fs-list-col.fs-list-col-selection,::ng-deep .fs-list .fs-list-head th.fs-list-col-selection,::ng-deep .fs-list thead .fs-list-col.fs-list-col-selection,::ng-deep .fs-list thead th.fs-list-col-selection{width:1%;text-align:left}::ng-deep .fs-list .fs-list-head .fs-list-col.sorting,::ng-deep .fs-list .fs-list-head th.sorting,::ng-deep .fs-list thead .fs-list-col.sorting,::ng-deep .fs-list thead th.sorting{cursor:pointer;background-image:none}::ng-deep .fs-list .fs-list-head .fs-list-col.sorting:hover,::ng-deep .fs-list .fs-list-head th.sorting:hover,::ng-deep .fs-list thead .fs-list-col.sorting:hover,::ng-deep .fs-list thead th.sorting:hover{background-color:#f6f6f6}::ng-deep .fs-list .fs-list-head .fs-list-col .wrap,::ng-deep .fs-list .fs-list-head th .wrap,::ng-deep .fs-list thead .fs-list-col .wrap,::ng-deep .fs-list thead th .wrap{display:inline-flex;vertical-align:middle;white-space:nowrap}::ng-deep .fs-list .fs-list-head .fs-list-col .wrap mat-icon,::ng-deep .fs-list .fs-list-head th .wrap mat-icon,::ng-deep .fs-list thead .fs-list-col .wrap mat-icon,::ng-deep .fs-list thead th .wrap mat-icon{font-size:14px;display:block;height:14px;width:14px}::ng-deep .fs-list .fs-list-head .fs-list-col .wrap .direction,::ng-deep .fs-list .fs-list-head th .wrap .direction,::ng-deep .fs-list thead .fs-list-col .wrap .direction,::ng-deep .fs-list thead th .wrap .direction{margin-left:5px}::ng-deep .fs-list .fs-list-body,::ng-deep .fs-list tbody{display:table-row-group;position:relative}::ng-deep .fs-list .fs-list-body.disabled,::ng-deep .fs-list tbody.disabled{opacity:.4;pointer-events:none}::ng-deep .fs-list .fs-list-body .fs-list-col,::ng-deep .fs-list .fs-list-body td,::ng-deep .fs-list tbody .fs-list-col,::ng-deep .fs-list tbody td{box-sizing:border-box}::ng-deep .fs-list .fs-list-body .fs-list-row:hover .fs-list-col,::ng-deep .fs-list .fs-list-body tr:hover td,::ng-deep .fs-list tbody .fs-list-row:hover .fs-list-col,::ng-deep .fs-list tbody tr:hover td{background-color:#f6f6f6}::ng-deep .fs-list .fs-list-body .fs-list-row:hover .fs-list-col,::ng-deep .fs-list .fs-list-body .fs-list-row:hover td,::ng-deep .fs-list .fs-list-body tr:hover .fs-list-col,::ng-deep .fs-list .fs-list-body tr:hover td,::ng-deep .fs-list tbody .fs-list-row:hover .fs-list-col,::ng-deep .fs-list tbody .fs-list-row:hover td,::ng-deep .fs-list tbody tr:hover .fs-list-col,::ng-deep .fs-list tbody tr:hover td{background-color:#f6f6f6}::ng-deep .fs-list .fs-list-body tr:first-child td,::ng-deep .fs-list tbody tr:first-child td{border-top:2px solid #ddd}::ng-deep .fs-list .fs-list-body tr:last-child td,::ng-deep .fs-list tbody tr:last-child td{border-bottom:2px solid #ddd}::ng-deep .fs-list .fs-list-body td,::ng-deep .fs-list tbody td{border-top:1px solid #ddd}::ng-deep .fs-list .fs-list-body .fs-list-row,::ng-deep .fs-list .fs-list-body tr,::ng-deep .fs-list .fs-list-footer .fs-list-row,::ng-deep .fs-list .fs-list-footer tr,::ng-deep .fs-list .fs-list-head .fs-list-row,::ng-deep .fs-list .fs-list-head tr,::ng-deep .fs-list tbody .fs-list-row,::ng-deep .fs-list tbody tr,::ng-deep .fs-list tfoot .fs-list-row,::ng-deep .fs-list tfoot tr,::ng-deep .fs-list thead .fs-list-row,::ng-deep .fs-list thead tr{display:table-row}::ng-deep .fs-list .fs-list-body .fs-list-row .fs-list-col,::ng-deep .fs-list .fs-list-body .fs-list-row td,::ng-deep .fs-list .fs-list-body .fs-list-row th,::ng-deep .fs-list .fs-list-body tr .fs-list-col,::ng-deep .fs-list .fs-list-body tr td,::ng-deep .fs-list .fs-list-body tr th,::ng-deep .fs-list .fs-list-footer .fs-list-row .fs-list-col,::ng-deep .fs-list .fs-list-footer .fs-list-row td,::ng-deep .fs-list .fs-list-footer .fs-list-row th,::ng-deep .fs-list .fs-list-footer tr .fs-list-col,::ng-deep .fs-list .fs-list-footer tr td,::ng-deep .fs-list .fs-list-footer tr th,::ng-deep .fs-list .fs-list-head .fs-list-row .fs-list-col,::ng-deep .fs-list .fs-list-head .fs-list-row td,::ng-deep .fs-list .fs-list-head .fs-list-row th,::ng-deep .fs-list .fs-list-head tr .fs-list-col,::ng-deep .fs-list .fs-list-head tr td,::ng-deep .fs-list .fs-list-head tr th,::ng-deep .fs-list tbody .fs-list-row .fs-list-col,::ng-deep .fs-list tbody .fs-list-row td,::ng-deep .fs-list tbody .fs-list-row th,::ng-deep .fs-list tbody tr .fs-list-col,::ng-deep .fs-list tbody tr td,::ng-deep .fs-list tbody tr th,::ng-deep .fs-list tfoot .fs-list-row .fs-list-col,::ng-deep .fs-list tfoot .fs-list-row td,::ng-deep .fs-list tfoot .fs-list-row th,::ng-deep .fs-list tfoot tr .fs-list-col,::ng-deep .fs-list tfoot tr td,::ng-deep .fs-list tfoot tr th,::ng-deep .fs-list thead .fs-list-row .fs-list-col,::ng-deep .fs-list thead .fs-list-row td,::ng-deep .fs-list thead .fs-list-row th,::ng-deep .fs-list thead tr .fs-list-col,::ng-deep .fs-list thead tr td,::ng-deep .fs-list thead tr th{display:table-cell;padding:8px;vertical-align:middle;outline:0}::ng-deep .fs-list .fs-list-body .fs-list-row .fs-list-col.drag-col,::ng-deep .fs-list .fs-list-body .fs-list-row td.drag-col,::ng-deep .fs-list .fs-list-body .fs-list-row th.drag-col,::ng-deep .fs-list .fs-list-body tr .fs-list-col.drag-col,::ng-deep .fs-list .fs-list-body tr td.drag-col,::ng-deep .fs-list .fs-list-body tr th.drag-col,::ng-deep .fs-list .fs-list-footer .fs-list-row .fs-list-col.drag-col,::ng-deep .fs-list .fs-list-footer .fs-list-row td.drag-col,::ng-deep .fs-list .fs-list-footer .fs-list-row th.drag-col,::ng-deep .fs-list .fs-list-footer tr .fs-list-col.drag-col,::ng-deep .fs-list .fs-list-footer tr td.drag-col,::ng-deep .fs-list .fs-list-footer tr th.drag-col,::ng-deep .fs-list .fs-list-head .fs-list-row .fs-list-col.drag-col,::ng-deep .fs-list .fs-list-head .fs-list-row td.drag-col,::ng-deep .fs-list .fs-list-head .fs-list-row th.drag-col,::ng-deep .fs-list .fs-list-head tr .fs-list-col.drag-col,::ng-deep .fs-list .fs-list-head tr td.drag-col,::ng-deep .fs-list .fs-list-head tr th.drag-col,::ng-deep .fs-list tbody .fs-list-row .fs-list-col.drag-col,::ng-deep .fs-list tbody .fs-list-row td.drag-col,::ng-deep .fs-list tbody .fs-list-row th.drag-col,::ng-deep .fs-list tbody tr .fs-list-col.drag-col,::ng-deep .fs-list tbody tr td.drag-col,::ng-deep .fs-list tbody tr th.drag-col,::ng-deep .fs-list tfoot .fs-list-row .fs-list-col.drag-col,::ng-deep .fs-list tfoot .fs-list-row td.drag-col,::ng-deep .fs-list tfoot .fs-list-row th.drag-col,::ng-deep .fs-list tfoot tr .fs-list-col.drag-col,::ng-deep .fs-list tfoot tr td.drag-col,::ng-deep .fs-list tfoot tr th.drag-col,::ng-deep .fs-list thead .fs-list-row .fs-list-col.drag-col,::ng-deep .fs-list thead .fs-list-row td.drag-col,::ng-deep .fs-list thead .fs-list-row th.drag-col,::ng-deep .fs-list thead tr .fs-list-col.drag-col,::ng-deep .fs-list thead tr td.drag-col,::ng-deep .fs-list thead tr th.drag-col{width:24px;text-align:center;cursor:-webkit-grab;cursor:grab}::ng-deep .fs-list .fs-list-body .fs-list-row .fs-list-col.drag-col mat-icon,::ng-deep .fs-list .fs-list-body .fs-list-row td.drag-col mat-icon,::ng-deep .fs-list .fs-list-body .fs-list-row th.drag-col mat-icon,::ng-deep .fs-list .fs-list-body tr .fs-list-col.drag-col mat-icon,::ng-deep .fs-list .fs-list-body tr td.drag-col mat-icon,::ng-deep .fs-list .fs-list-body tr th.drag-col mat-icon,::ng-deep .fs-list .fs-list-footer .fs-list-row .fs-list-col.drag-col mat-icon,::ng-deep .fs-list .fs-list-footer .fs-list-row td.drag-col mat-icon,::ng-deep .fs-list .fs-list-footer .fs-list-row th.drag-col mat-icon,::ng-deep .fs-list .fs-list-footer tr .fs-list-col.drag-col mat-icon,::ng-deep .fs-list .fs-list-footer tr td.drag-col mat-icon,::ng-deep .fs-list .fs-list-footer tr th.drag-col mat-icon,::ng-deep .fs-list .fs-list-head .fs-list-row .fs-list-col.drag-col mat-icon,::ng-deep .fs-list .fs-list-head .fs-list-row td.drag-col mat-icon,::ng-deep .fs-list .fs-list-head .fs-list-row th.drag-col mat-icon,::ng-deep .fs-list .fs-list-head tr .fs-list-col.drag-col mat-icon,::ng-deep .fs-list .fs-list-head tr td.drag-col mat-icon,::ng-deep .fs-list .fs-list-head tr th.drag-col mat-icon,::ng-deep .fs-list tbody .fs-list-row .fs-list-col.drag-col mat-icon,::ng-deep .fs-list tbody .fs-list-row td.drag-col mat-icon,::ng-deep .fs-list tbody .fs-list-row th.drag-col mat-icon,::ng-deep .fs-list tbody tr .fs-list-col.drag-col mat-icon,::ng-deep .fs-list tbody tr td.drag-col mat-icon,::ng-deep .fs-list tbody tr th.drag-col mat-icon,::ng-deep .fs-list tfoot .fs-list-row .fs-list-col.drag-col mat-icon,::ng-deep .fs-list tfoot .fs-list-row td.drag-col mat-icon,::ng-deep .fs-list tfoot .fs-list-row th.drag-col mat-icon,::ng-deep .fs-list tfoot tr .fs-list-col.drag-col mat-icon,::ng-deep .fs-list tfoot tr td.drag-col mat-icon,::ng-deep .fs-list tfoot tr th.drag-col mat-icon,::ng-deep .fs-list thead .fs-list-row .fs-list-col.drag-col mat-icon,::ng-deep .fs-list thead .fs-list-row td.drag-col mat-icon,::ng-deep .fs-list thead .fs-list-row th.drag-col mat-icon,::ng-deep .fs-list thead tr .fs-list-col.drag-col mat-icon,::ng-deep .fs-list thead tr td.drag-col mat-icon,::ng-deep .fs-list thead tr th.drag-col mat-icon{display:flex}::ng-deep .fs-list .fs-list-body .fs-list-row .fs-list-col.row-actions,::ng-deep .fs-list .fs-list-body .fs-list-row td.row-actions,::ng-deep .fs-list .fs-list-body .fs-list-row th.row-actions,::ng-deep .fs-list .fs-list-body tr .fs-list-col.row-actions,::ng-deep .fs-list .fs-list-body tr td.row-actions,::ng-deep .fs-list .fs-list-body tr th.row-actions,::ng-deep .fs-list .fs-list-footer .fs-list-row .fs-list-col.row-actions,::ng-deep .fs-list .fs-list-footer .fs-list-row td.row-actions,::ng-deep .fs-list .fs-list-footer .fs-list-row th.row-actions,::ng-deep .fs-list .fs-list-footer tr .fs-list-col.row-actions,::ng-deep .fs-list .fs-list-footer tr td.row-actions,::ng-deep .fs-list .fs-list-footer tr th.row-actions,::ng-deep .fs-list .fs-list-head .fs-list-row .fs-list-col.row-actions,::ng-deep .fs-list .fs-list-head .fs-list-row td.row-actions,::ng-deep .fs-list .fs-list-head .fs-list-row th.row-actions,::ng-deep .fs-list .fs-list-head tr .fs-list-col.row-actions,::ng-deep .fs-list .fs-list-head tr td.row-actions,::ng-deep .fs-list .fs-list-head tr th.row-actions,::ng-deep .fs-list tbody .fs-list-row .fs-list-col.row-actions,::ng-deep .fs-list tbody .fs-list-row td.row-actions,::ng-deep .fs-list tbody .fs-list-row th.row-actions,::ng-deep .fs-list tbody tr .fs-list-col.row-actions,::ng-deep .fs-list tbody tr td.row-actions,::ng-deep .fs-list tbody tr th.row-actions,::ng-deep .fs-list tfoot .fs-list-row .fs-list-col.row-actions,::ng-deep .fs-list tfoot .fs-list-row td.row-actions,::ng-deep .fs-list tfoot .fs-list-row th.row-actions,::ng-deep .fs-list tfoot tr .fs-list-col.row-actions,::ng-deep .fs-list tfoot tr td.row-actions,::ng-deep .fs-list tfoot tr th.row-actions,::ng-deep .fs-list thead .fs-list-row .fs-list-col.row-actions,::ng-deep .fs-list thead .fs-list-row td.row-actions,::ng-deep .fs-list thead .fs-list-row th.row-actions,::ng-deep .fs-list thead tr .fs-list-col.row-actions,::ng-deep .fs-list thead tr td.row-actions,::ng-deep .fs-list thead tr th.row-actions{width:1%;white-space:nowrap;padding-right:10px;overflow:hidden}::ng-deep .fs-list .fs-list-body .fs-list-row .fs-list-col.row-actions .row-inline-action,::ng-deep .fs-list .fs-list-body .fs-list-row td.row-actions .row-inline-action,::ng-deep .fs-list .fs-list-body .fs-list-row th.row-actions .row-inline-action,::ng-deep .fs-list .fs-list-body tr .fs-list-col.row-actions .row-inline-action,::ng-deep .fs-list .fs-list-body tr td.row-actions .row-inline-action,::ng-deep .fs-list .fs-list-body tr th.row-actions .row-inline-action,::ng-deep .fs-list .fs-list-footer .fs-list-row .fs-list-col.row-actions .row-inline-action,::ng-deep .fs-list .fs-list-footer .fs-list-row td.row-actions .row-inline-action,::ng-deep .fs-list .fs-list-footer .fs-list-row th.row-actions .row-inline-action,::ng-deep .fs-list .fs-list-footer tr .fs-list-col.row-actions .row-inline-action,::ng-deep .fs-list .fs-list-footer tr td.row-actions .row-inline-action,::ng-deep .fs-list .fs-list-footer tr th.row-actions .row-inline-action,::ng-deep .fs-list .fs-list-head .fs-list-row .fs-list-col.row-actions .row-inline-action,::ng-deep .fs-list .fs-list-head .fs-list-row td.row-actions .row-inline-action,::ng-deep .fs-list .fs-list-head .fs-list-row th.row-actions .row-inline-action,::ng-deep .fs-list .fs-list-head tr .fs-list-col.row-actions .row-inline-action,::ng-deep .fs-list .fs-list-head tr td.row-actions .row-inline-action,::ng-deep .fs-list .fs-list-head tr th.row-actions .row-inline-action,::ng-deep .fs-list tbody .fs-list-row .fs-list-col.row-actions .row-inline-action,::ng-deep .fs-list tbody .fs-list-row td.row-actions .row-inline-action,::ng-deep .fs-list tbody .fs-list-row th.row-actions .row-inline-action,::ng-deep .fs-list tbody tr .fs-list-col.row-actions .row-inline-action,::ng-deep .fs-list tbody tr td.row-actions .row-inline-action,::ng-deep .fs-list tbody tr th.row-actions .row-inline-action,::ng-deep .fs-list tfoot .fs-list-row .fs-list-col.row-actions .row-inline-action,::ng-deep .fs-list tfoot .fs-list-row td.row-actions .row-inline-action,::ng-deep .fs-list tfoot .fs-list-row th.row-actions .row-inline-action,::ng-deep .fs-list tfoot tr .fs-list-col.row-actions .row-inline-action,::ng-deep .fs-list tfoot tr td.row-actions .row-inline-action,::ng-deep .fs-list tfoot tr th.row-actions .row-inline-action,::ng-deep .fs-list thead .fs-list-row .fs-list-col.row-actions .row-inline-action,::ng-deep .fs-list thead .fs-list-row td.row-actions .row-inline-action,::ng-deep .fs-list thead .fs-list-row th.row-actions .row-inline-action,::ng-deep .fs-list thead tr .fs-list-col.row-actions .row-inline-action,::ng-deep .fs-list thead tr td.row-actions .row-inline-action,::ng-deep .fs-list thead tr th.row-actions .row-inline-action{margin-left:12px;display:inline-block}::ng-deep .fs-list .fs-list-body .fs-list-row .fs-list-col.row-actions .row-inline-action:first-child,::ng-deep .fs-list .fs-list-body .fs-list-row td.row-actions .row-inline-action:first-child,::ng-deep .fs-list .fs-list-body .fs-list-row th.row-actions .row-inline-action:first-child,::ng-deep .fs-list .fs-list-body tr .fs-list-col.row-actions .row-inline-action:first-child,::ng-deep .fs-list .fs-list-body tr td.row-actions .row-inline-action:first-child,::ng-deep .fs-list .fs-list-body tr th.row-actions .row-inline-action:first-child,::ng-deep .fs-list .fs-list-footer .fs-list-row .fs-list-col.row-actions .row-inline-action:first-child,::ng-deep .fs-list .fs-list-footer .fs-list-row td.row-actions .row-inline-action:first-child,::ng-deep .fs-list .fs-list-footer .fs-list-row th.row-actions .row-inline-action:first-child,::ng-deep .fs-list .fs-list-footer tr .fs-list-col.row-actions .row-inline-action:first-child,::ng-deep .fs-list .fs-list-footer tr td.row-actions .row-inline-action:first-child,::ng-deep .fs-list .fs-list-footer tr th.row-actions .row-inline-action:first-child,::ng-deep .fs-list .fs-list-head .fs-list-row .fs-list-col.row-actions .row-inline-action:first-child,::ng-deep .fs-list .fs-list-head .fs-list-row td.row-actions .row-inline-action:first-child,::ng-deep .fs-list .fs-list-head .fs-list-row th.row-actions .row-inline-action:first-child,::ng-deep .fs-list .fs-list-head tr .fs-list-col.row-actions .row-inline-action:first-child,::ng-deep .fs-list .fs-list-head tr td.row-actions .row-inline-action:first-child,::ng-deep .fs-list .fs-list-head tr th.row-actions .row-inline-action:first-child,::ng-deep .fs-list tbody .fs-list-row .fs-list-col.row-actions .row-inline-action:first-child,::ng-deep .fs-list tbody .fs-list-row td.row-actions .row-inline-action:first-child,::ng-deep .fs-list tbody .fs-list-row th.row-actions .row-inline-action:first-child,::ng-deep .fs-list tbody tr .fs-list-col.row-actions .row-inline-action:first-child,::ng-deep .fs-list tbody tr td.row-actions .row-inline-action:first-child,::ng-deep .fs-list tbody tr th.row-actions .row-inline-action:first-child,::ng-deep .fs-list tfoot .fs-list-row .fs-list-col.row-actions .row-inline-action:first-child,::ng-deep .fs-list tfoot .fs-list-row td.row-actions .row-inline-action:first-child,::ng-deep .fs-list tfoot .fs-list-row th.row-actions .row-inline-action:first-child,::ng-deep .fs-list tfoot tr .fs-list-col.row-actions .row-inline-action:first-child,::ng-deep .fs-list tfoot tr td.row-actions .row-inline-action:first-child,::ng-deep .fs-list tfoot tr th.row-actions .row-inline-action:first-child,::ng-deep .fs-list thead .fs-list-row .fs-list-col.row-actions .row-inline-action:first-child,::ng-deep .fs-list thead .fs-list-row td.row-actions .row-inline-action:first-child,::ng-deep .fs-list thead .fs-list-row th.row-actions .row-inline-action:first-child,::ng-deep .fs-list thead tr .fs-list-col.row-actions .row-inline-action:first-child,::ng-deep .fs-list thead tr td.row-actions .row-inline-action:first-child,::ng-deep .fs-list thead tr th.row-actions .row-inline-action:first-child{margin-left:0}::ng-deep .fs-list .fs-list-body .fs-list-row .fs-list-col.row-actions .row-inline-action-fab,::ng-deep .fs-list .fs-list-body .fs-list-row .fs-list-col.row-actions .row-inline-action-icon,::ng-deep .fs-list .fs-list-body .fs-list-row .fs-list-col.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list .fs-list-body .fs-list-row .fs-list-col.row-actions .row-menu-action,::ng-deep .fs-list .fs-list-body .fs-list-row td.row-actions .row-inline-action-fab,::ng-deep .fs-list .fs-list-body .fs-list-row td.row-actions .row-inline-action-icon,::ng-deep .fs-list .fs-list-body .fs-list-row td.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list .fs-list-body .fs-list-row td.row-actions .row-menu-action,::ng-deep .fs-list .fs-list-body .fs-list-row th.row-actions .row-inline-action-fab,::ng-deep .fs-list .fs-list-body .fs-list-row th.row-actions .row-inline-action-icon,::ng-deep .fs-list .fs-list-body .fs-list-row th.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list .fs-list-body .fs-list-row th.row-actions .row-menu-action,::ng-deep .fs-list .fs-list-body tr .fs-list-col.row-actions .row-inline-action-fab,::ng-deep .fs-list .fs-list-body tr .fs-list-col.row-actions .row-inline-action-icon,::ng-deep .fs-list .fs-list-body tr .fs-list-col.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list .fs-list-body tr .fs-list-col.row-actions .row-menu-action,::ng-deep .fs-list .fs-list-body tr td.row-actions .row-inline-action-fab,::ng-deep .fs-list .fs-list-body tr td.row-actions .row-inline-action-icon,::ng-deep .fs-list .fs-list-body tr td.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list .fs-list-body tr td.row-actions .row-menu-action,::ng-deep .fs-list .fs-list-body tr th.row-actions .row-inline-action-fab,::ng-deep .fs-list .fs-list-body tr th.row-actions .row-inline-action-icon,::ng-deep .fs-list .fs-list-body tr th.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list .fs-list-body tr th.row-actions .row-menu-action,::ng-deep .fs-list .fs-list-footer .fs-list-row .fs-list-col.row-actions .row-inline-action-fab,::ng-deep .fs-list .fs-list-footer .fs-list-row .fs-list-col.row-actions .row-inline-action-icon,::ng-deep .fs-list .fs-list-footer .fs-list-row .fs-list-col.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list .fs-list-footer .fs-list-row .fs-list-col.row-actions .row-menu-action,::ng-deep .fs-list .fs-list-footer .fs-list-row td.row-actions .row-inline-action-fab,::ng-deep .fs-list .fs-list-footer .fs-list-row td.row-actions .row-inline-action-icon,::ng-deep .fs-list .fs-list-footer .fs-list-row td.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list .fs-list-footer .fs-list-row td.row-actions .row-menu-action,::ng-deep .fs-list .fs-list-footer .fs-list-row th.row-actions .row-inline-action-fab,::ng-deep .fs-list .fs-list-footer .fs-list-row th.row-actions .row-inline-action-icon,::ng-deep .fs-list .fs-list-footer .fs-list-row th.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list .fs-list-footer .fs-list-row th.row-actions .row-menu-action,::ng-deep .fs-list .fs-list-footer tr .fs-list-col.row-actions .row-inline-action-fab,::ng-deep .fs-list .fs-list-footer tr .fs-list-col.row-actions .row-inline-action-icon,::ng-deep .fs-list .fs-list-footer tr .fs-list-col.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list .fs-list-footer tr .fs-list-col.row-actions .row-menu-action,::ng-deep .fs-list .fs-list-footer tr td.row-actions .row-inline-action-fab,::ng-deep .fs-list .fs-list-footer tr td.row-actions .row-inline-action-icon,::ng-deep .fs-list .fs-list-footer tr td.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list .fs-list-footer tr td.row-actions .row-menu-action,::ng-deep .fs-list .fs-list-footer tr th.row-actions .row-inline-action-fab,::ng-deep .fs-list .fs-list-footer tr th.row-actions .row-inline-action-icon,::ng-deep .fs-list .fs-list-footer tr th.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list .fs-list-footer tr th.row-actions .row-menu-action,::ng-deep .fs-list .fs-list-head .fs-list-row .fs-list-col.row-actions .row-inline-action-fab,::ng-deep .fs-list .fs-list-head .fs-list-row .fs-list-col.row-actions .row-inline-action-icon,::ng-deep .fs-list .fs-list-head .fs-list-row .fs-list-col.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list .fs-list-head .fs-list-row .fs-list-col.row-actions .row-menu-action,::ng-deep .fs-list .fs-list-head .fs-list-row td.row-actions .row-inline-action-fab,::ng-deep .fs-list .fs-list-head .fs-list-row td.row-actions .row-inline-action-icon,::ng-deep .fs-list .fs-list-head .fs-list-row td.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list .fs-list-head .fs-list-row td.row-actions .row-menu-action,::ng-deep .fs-list .fs-list-head .fs-list-row th.row-actions .row-inline-action-fab,::ng-deep .fs-list .fs-list-head .fs-list-row th.row-actions .row-inline-action-icon,::ng-deep .fs-list .fs-list-head .fs-list-row th.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list .fs-list-head .fs-list-row th.row-actions .row-menu-action,::ng-deep .fs-list .fs-list-head tr .fs-list-col.row-actions .row-inline-action-fab,::ng-deep .fs-list .fs-list-head tr .fs-list-col.row-actions .row-inline-action-icon,::ng-deep .fs-list .fs-list-head tr .fs-list-col.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list .fs-list-head tr .fs-list-col.row-actions .row-menu-action,::ng-deep .fs-list .fs-list-head tr td.row-actions .row-inline-action-fab,::ng-deep .fs-list .fs-list-head tr td.row-actions .row-inline-action-icon,::ng-deep .fs-list .fs-list-head tr td.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list .fs-list-head tr td.row-actions .row-menu-action,::ng-deep .fs-list .fs-list-head tr th.row-actions .row-inline-action-fab,::ng-deep .fs-list .fs-list-head tr th.row-actions .row-inline-action-icon,::ng-deep .fs-list .fs-list-head tr th.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list .fs-list-head tr th.row-actions .row-menu-action,::ng-deep .fs-list tbody .fs-list-row .fs-list-col.row-actions .row-inline-action-fab,::ng-deep .fs-list tbody .fs-list-row .fs-list-col.row-actions .row-inline-action-icon,::ng-deep .fs-list tbody .fs-list-row .fs-list-col.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list tbody .fs-list-row .fs-list-col.row-actions .row-menu-action,::ng-deep .fs-list tbody .fs-list-row td.row-actions .row-inline-action-fab,::ng-deep .fs-list tbody .fs-list-row td.row-actions .row-inline-action-icon,::ng-deep .fs-list tbody .fs-list-row td.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list tbody .fs-list-row td.row-actions .row-menu-action,::ng-deep .fs-list tbody .fs-list-row th.row-actions .row-inline-action-fab,::ng-deep .fs-list tbody .fs-list-row th.row-actions .row-inline-action-icon,::ng-deep .fs-list tbody .fs-list-row th.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list tbody .fs-list-row th.row-actions .row-menu-action,::ng-deep .fs-list tbody tr .fs-list-col.row-actions .row-inline-action-fab,::ng-deep .fs-list tbody tr .fs-list-col.row-actions .row-inline-action-icon,::ng-deep .fs-list tbody tr .fs-list-col.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list tbody tr .fs-list-col.row-actions .row-menu-action,::ng-deep .fs-list tbody tr td.row-actions .row-inline-action-fab,::ng-deep .fs-list tbody tr td.row-actions .row-inline-action-icon,::ng-deep .fs-list tbody tr td.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list tbody tr td.row-actions .row-menu-action,::ng-deep .fs-list tbody tr th.row-actions .row-inline-action-fab,::ng-deep .fs-list tbody tr th.row-actions .row-inline-action-icon,::ng-deep .fs-list tbody tr th.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list tbody tr th.row-actions .row-menu-action,::ng-deep .fs-list tfoot .fs-list-row .fs-list-col.row-actions .row-inline-action-fab,::ng-deep .fs-list tfoot .fs-list-row .fs-list-col.row-actions .row-inline-action-icon,::ng-deep .fs-list tfoot .fs-list-row .fs-list-col.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list tfoot .fs-list-row .fs-list-col.row-actions .row-menu-action,::ng-deep .fs-list tfoot .fs-list-row td.row-actions .row-inline-action-fab,::ng-deep .fs-list tfoot .fs-list-row td.row-actions .row-inline-action-icon,::ng-deep .fs-list tfoot .fs-list-row td.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list tfoot .fs-list-row td.row-actions .row-menu-action,::ng-deep .fs-list tfoot .fs-list-row th.row-actions .row-inline-action-fab,::ng-deep .fs-list tfoot .fs-list-row th.row-actions .row-inline-action-icon,::ng-deep .fs-list tfoot .fs-list-row th.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list tfoot .fs-list-row th.row-actions .row-menu-action,::ng-deep .fs-list tfoot tr .fs-list-col.row-actions .row-inline-action-fab,::ng-deep .fs-list tfoot tr .fs-list-col.row-actions .row-inline-action-icon,::ng-deep .fs-list tfoot tr .fs-list-col.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list tfoot tr .fs-list-col.row-actions .row-menu-action,::ng-deep .fs-list tfoot tr td.row-actions .row-inline-action-fab,::ng-deep .fs-list tfoot tr td.row-actions .row-inline-action-icon,::ng-deep .fs-list tfoot tr td.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list tfoot tr td.row-actions .row-menu-action,::ng-deep .fs-list tfoot tr th.row-actions .row-inline-action-fab,::ng-deep .fs-list tfoot tr th.row-actions .row-inline-action-icon,::ng-deep .fs-list tfoot tr th.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list tfoot tr th.row-actions .row-menu-action,::ng-deep .fs-list thead .fs-list-row .fs-list-col.row-actions .row-inline-action-fab,::ng-deep .fs-list thead .fs-list-row .fs-list-col.row-actions .row-inline-action-icon,::ng-deep .fs-list thead .fs-list-row .fs-list-col.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list thead .fs-list-row .fs-list-col.row-actions .row-menu-action,::ng-deep .fs-list thead .fs-list-row td.row-actions .row-inline-action-fab,::ng-deep .fs-list thead .fs-list-row td.row-actions .row-inline-action-icon,::ng-deep .fs-list thead .fs-list-row td.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list thead .fs-list-row td.row-actions .row-menu-action,::ng-deep .fs-list thead .fs-list-row th.row-actions .row-inline-action-fab,::ng-deep .fs-list thead .fs-list-row th.row-actions .row-inline-action-icon,::ng-deep .fs-list thead .fs-list-row th.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list thead .fs-list-row th.row-actions .row-menu-action,::ng-deep .fs-list thead tr .fs-list-col.row-actions .row-inline-action-fab,::ng-deep .fs-list thead tr .fs-list-col.row-actions .row-inline-action-icon,::ng-deep .fs-list thead tr .fs-list-col.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list thead tr .fs-list-col.row-actions .row-menu-action,::ng-deep .fs-list thead tr td.row-actions .row-inline-action-fab,::ng-deep .fs-list thead tr td.row-actions .row-inline-action-icon,::ng-deep .fs-list thead tr td.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list thead tr td.row-actions .row-menu-action,::ng-deep .fs-list thead tr th.row-actions .row-inline-action-fab,::ng-deep .fs-list thead tr th.row-actions .row-inline-action-icon,::ng-deep .fs-list thead tr th.row-actions .row-inline-action-mini-fab,::ng-deep .fs-list thead tr th.row-actions .row-menu-action{width:35px;justify-content:center;align-items:center}::ng-deep .fs-list .fs-list-body .fs-list-row .fs-list-col.left,::ng-deep .fs-list .fs-list-body .fs-list-row td.left,::ng-deep .fs-list .fs-list-body .fs-list-row th.left,::ng-deep .fs-list .fs-list-body tr .fs-list-col.left,::ng-deep .fs-list .fs-list-body tr td.left,::ng-deep .fs-list .fs-list-body tr th.left,::ng-deep .fs-list .fs-list-footer .fs-list-row .fs-list-col.left,::ng-deep .fs-list .fs-list-footer .fs-list-row td.left,::ng-deep .fs-list .fs-list-footer .fs-list-row th.left,::ng-deep .fs-list .fs-list-footer tr .fs-list-col.left,::ng-deep .fs-list .fs-list-footer tr td.left,::ng-deep .fs-list .fs-list-footer tr th.left,::ng-deep .fs-list .fs-list-head .fs-list-row .fs-list-col.left,::ng-deep .fs-list .fs-list-head .fs-list-row td.left,::ng-deep .fs-list .fs-list-head .fs-list-row th.left,::ng-deep .fs-list .fs-list-head tr .fs-list-col.left,::ng-deep .fs-list .fs-list-head tr td.left,::ng-deep .fs-list .fs-list-head tr th.left,::ng-deep .fs-list tbody .fs-list-row .fs-list-col.left,::ng-deep .fs-list tbody .fs-list-row td.left,::ng-deep .fs-list tbody .fs-list-row th.left,::ng-deep .fs-list tbody tr .fs-list-col.left,::ng-deep .fs-list tbody tr td.left,::ng-deep .fs-list tbody tr th.left,::ng-deep .fs-list tfoot .fs-list-row .fs-list-col.left,::ng-deep .fs-list tfoot .fs-list-row td.left,::ng-deep .fs-list tfoot .fs-list-row th.left,::ng-deep .fs-list tfoot tr .fs-list-col.left,::ng-deep .fs-list tfoot tr td.left,::ng-deep .fs-list tfoot tr th.left,::ng-deep .fs-list thead .fs-list-row .fs-list-col.left,::ng-deep .fs-list thead .fs-list-row td.left,::ng-deep .fs-list thead .fs-list-row th.left,::ng-deep .fs-list thead tr .fs-list-col.left,::ng-deep .fs-list thead tr td.left,::ng-deep .fs-list thead tr th.left{text-align:left}::ng-deep .fs-list .fs-list-body .fs-list-row .fs-list-col.center,::ng-deep .fs-list .fs-list-body .fs-list-row td.center,::ng-deep .fs-list .fs-list-body .fs-list-row th.center,::ng-deep .fs-list .fs-list-body tr .fs-list-col.center,::ng-deep .fs-list .fs-list-body tr td.center,::ng-deep .fs-list .fs-list-body tr th.center,::ng-deep .fs-list .fs-list-footer .fs-list-row .fs-list-col.center,::ng-deep .fs-list .fs-list-footer .fs-list-row td.center,::ng-deep .fs-list .fs-list-footer .fs-list-row th.center,::ng-deep .fs-list .fs-list-footer tr .fs-list-col.center,::ng-deep .fs-list .fs-list-footer tr td.center,::ng-deep .fs-list .fs-list-footer tr th.center,::ng-deep .fs-list .fs-list-head .fs-list-row .fs-list-col.center,::ng-deep .fs-list .fs-list-head .fs-list-row td.center,::ng-deep .fs-list .fs-list-head .fs-list-row th.center,::ng-deep .fs-list .fs-list-head tr .fs-list-col.center,::ng-deep .fs-list .fs-list-head tr td.center,::ng-deep .fs-list .fs-list-head tr th.center,::ng-deep .fs-list tbody .fs-list-row .fs-list-col.center,::ng-deep .fs-list tbody .fs-list-row td.center,::ng-deep .fs-list tbody .fs-list-row th.center,::ng-deep .fs-list tbody tr .fs-list-col.center,::ng-deep .fs-list tbody tr td.center,::ng-deep .fs-list tbody tr th.center,::ng-deep .fs-list tfoot .fs-list-row .fs-list-col.center,::ng-deep .fs-list tfoot .fs-list-row td.center,::ng-deep .fs-list tfoot .fs-list-row th.center,::ng-deep .fs-list tfoot tr .fs-list-col.center,::ng-deep .fs-list tfoot tr td.center,::ng-deep .fs-list tfoot tr th.center,::ng-deep .fs-list thead .fs-list-row .fs-list-col.center,::ng-deep .fs-list thead .fs-list-row td.center,::ng-deep .fs-list thead .fs-list-row th.center,::ng-deep .fs-list thead tr .fs-list-col.center,::ng-deep .fs-list thead tr td.center,::ng-deep .fs-list thead tr th.center{text-align:center}::ng-deep .fs-list .fs-list-body .fs-list-row .fs-list-col.right,::ng-deep .fs-list .fs-list-body .fs-list-row td.right,::ng-deep .fs-list .fs-list-body .fs-list-row th.right,::ng-deep .fs-list .fs-list-body tr .fs-list-col.right,::ng-deep .fs-list .fs-list-body tr td.right,::ng-deep .fs-list .fs-list-body tr th.right,::ng-deep .fs-list .fs-list-footer .fs-list-row .fs-list-col.right,::ng-deep .fs-list .fs-list-footer .fs-list-row td.right,::ng-deep .fs-list .fs-list-footer .fs-list-row th.right,::ng-deep .fs-list .fs-list-footer tr .fs-list-col.right,::ng-deep .fs-list .fs-list-footer tr td.right,::ng-deep .fs-list .fs-list-footer tr th.right,::ng-deep .fs-list .fs-list-head .fs-list-row .fs-list-col.right,::ng-deep .fs-list .fs-list-head .fs-list-row td.right,::ng-deep .fs-list .fs-list-head .fs-list-row th.right,::ng-deep .fs-list .fs-list-head tr .fs-list-col.right,::ng-deep .fs-list .fs-list-head tr td.right,::ng-deep .fs-list .fs-list-head tr th.right,::ng-deep .fs-list tbody .fs-list-row .fs-list-col.right,::ng-deep .fs-list tbody .fs-list-row td.right,::ng-deep .fs-list tbody .fs-list-row th.right,::ng-deep .fs-list tbody tr .fs-list-col.right,::ng-deep .fs-list tbody tr td.right,::ng-deep .fs-list tbody tr th.right,::ng-deep .fs-list tfoot .fs-list-row .fs-list-col.right,::ng-deep .fs-list tfoot .fs-list-row td.right,::ng-deep .fs-list tfoot .fs-list-row th.right,::ng-deep .fs-list tfoot tr .fs-list-col.right,::ng-deep .fs-list tfoot tr td.right,::ng-deep .fs-list tfoot tr th.right,::ng-deep .fs-list thead .fs-list-row .fs-list-col.right,::ng-deep .fs-list thead .fs-list-row td.right,::ng-deep .fs-list thead .fs-list-row th.right,::ng-deep .fs-list thead tr .fs-list-col.right,::ng-deep .fs-list thead tr td.right,::ng-deep .fs-list thead tr th.right{text-align:right}::ng-deep .fs-list .fs-list-body .fs-list-row.draggable,::ng-deep .fs-list .fs-list-body tr.draggable,::ng-deep .fs-list .fs-list-footer .fs-list-row.draggable,::ng-deep .fs-list .fs-list-footer tr.draggable,::ng-deep .fs-list .fs-list-head .fs-list-row.draggable,::ng-deep .fs-list .fs-list-head tr.draggable,::ng-deep .fs-list tbody .fs-list-row.draggable,::ng-deep .fs-list tbody tr.draggable,::ng-deep .fs-list tfoot .fs-list-row.draggable,::ng-deep .fs-list tfoot tr.draggable,::ng-deep .fs-list thead .fs-list-row.draggable,::ng-deep .fs-list thead tr.draggable{position:fixed;z-index:9999;box-shadow:2px 2px 2px 0 rgba(158,158,158,.65);border-radius:5px}::ng-deep .fs-list .fs-list-body .fs-list-row.draggable .fs-list-col,::ng-deep .fs-list .fs-list-body .fs-list-row.draggable td,::ng-deep .fs-list .fs-list-body tr.draggable .fs-list-col,::ng-deep .fs-list .fs-list-body tr.draggable td,::ng-deep .fs-list .fs-list-footer .fs-list-row.draggable .fs-list-col,::ng-deep .fs-list .fs-list-footer .fs-list-row.draggable td,::ng-deep .fs-list .fs-list-footer tr.draggable .fs-list-col,::ng-deep .fs-list .fs-list-footer tr.draggable td,::ng-deep .fs-list .fs-list-head .fs-list-row.draggable .fs-list-col,::ng-deep .fs-list .fs-list-head .fs-list-row.draggable td,::ng-deep .fs-list .fs-list-head tr.draggable .fs-list-col,::ng-deep .fs-list .fs-list-head tr.draggable td,::ng-deep .fs-list tbody .fs-list-row.draggable .fs-list-col,::ng-deep .fs-list tbody .fs-list-row.draggable td,::ng-deep .fs-list tbody tr.draggable .fs-list-col,::ng-deep .fs-list tbody tr.draggable td,::ng-deep .fs-list tfoot .fs-list-row.draggable .fs-list-col,::ng-deep .fs-list tfoot .fs-list-row.draggable td,::ng-deep .fs-list tfoot tr.draggable .fs-list-col,::ng-deep .fs-list tfoot tr.draggable td,::ng-deep .fs-list thead .fs-list-row.draggable .fs-list-col,::ng-deep .fs-list thead .fs-list-row.draggable td,::ng-deep .fs-list thead tr.draggable .fs-list-col,::ng-deep .fs-list thead tr.draggable td{background-color:#f6f6f6;border:none}::ng-deep .fs-list .fs-list-header .heading-container{font-weight:600;font-size:18px;color:#212537;display:flex;flex-direction:column;justify-content:center}::ng-deep .fs-list .fs-list-header .heading{margin:0;line-height:36px}::ng-deep .fs-list .fs-list-header .subheading{display:block;font-size:14px;color:#929292;font-weight:400}::ng-deep .fs-list .fs-list-header .fs-list-actions{white-space:nowrap;float:right}::ng-deep .fs-list .fs-list-header .fs-list-actions .menu-button{width:36px;height:36px;line-height:36px}::ng-deep .fs-list .fs-list-header .action-button{margin-left:5px}::ng-deep .fs-list .fs-list-header .action-button:first-child{margin-left:0}::ng-deep .fs-list .fs-list-header .mat-button{margin-top:0;margin-bottom:0;margin-right:0}::ng-deep .fs-list .fs-list-container{width:100%}::ng-deep .fs-list .fs-list-container:not(.has-filters):not(.has-actions):not(.has-heading) .fs-list-header-container{display:none}::ng-deep .fs-list .fs-list-container.has-dragging thead th{border-bottom:2px solid #ddd}::ng-deep .fs-list .fs-list-container.has-dragging tbody tr:nth-child(2) td{border-top:none}::ng-deep .fs-list tfoot td{padding:8px}::ng-deep .reorder-in-progress{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}::ng-deep .draggable-elem td{opacity:.2}::ng-deep .hidden-mobile-menu-action{display:none!important}::ng-deep .hidden-mobile{display:none!important}@media only screen and (max-width:600px){::ng-deep .fs-list-filter .inline-actions{top:initial!important;position:initial!important}::ng-deep .fs-list-filter .inline-actions .action-filter{margin-bottom:0!important}::ng-deep .fs-list-header .filter-input-field .mat-form-field-wrapper{padding:0!important}::ng-deep .fs-list-header.has-filters{flex-flow:row wrap}}@media only screen and (max-width:768px){::ng-deep .show-mobile{display:inline-block!important}::ng-deep .fs-list-actions .action-button{display:none}::ng-deep .row-inline-action.mobile-hide{display:none}::ng-deep .hidden-mobile-menu-action{display:block!important}}"]
|
|
3927
|
-
}),
|
|
3928
|
-
__param(2, Optional()), __param(2, Inject(FS_LIST_DEFAULT_CONFIG)),
|
|
3929
|
-
__param(3, Optional()),
|
|
3930
|
-
__param(12, Optional()),
|
|
3931
|
-
__param(13, Optional()),
|
|
3932
|
-
__metadata("design:paramtypes", [ReorderController,
|
|
3933
|
-
ElementRef, Object, FsScrollService,
|
|
3934
|
-
SelectionDialog,
|
|
3935
|
-
MatDialog,
|
|
3936
|
-
ChangeDetectorRef,
|
|
3937
|
-
GroupExpandNotifierService,
|
|
3938
|
-
Router,
|
|
3939
|
-
ActivatedRoute,
|
|
3940
|
-
PersistanceController,
|
|
3941
|
-
Location,
|
|
3942
|
-
MatDialogRef,
|
|
3943
|
-
DrawerRef])
|
|
3944
|
-
], FsListComponent);
|
|
3995
|
+
}
|
|
3996
|
+
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 });
|
|
3997
|
+
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 });
|
|
3998
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsHeadComponent, decorators: [{
|
|
3999
|
+
type: Component,
|
|
4000
|
+
args: [{
|
|
4001
|
+
selector: '[fs-list-head]',
|
|
4002
|
+
templateUrl: 'head.component.html',
|
|
4003
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
4004
|
+
}]
|
|
4005
|
+
}], ctorParameters: function () { return [{ type: ReorderController }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { sorting: [{
|
|
4006
|
+
type: Input
|
|
4007
|
+
}], columns: [{
|
|
4008
|
+
type: Input
|
|
4009
|
+
}], hasRowActions: [{
|
|
4010
|
+
type: Input
|
|
4011
|
+
}], selection: [{
|
|
4012
|
+
type: Input
|
|
4013
|
+
}], rowsContainer: [{
|
|
4014
|
+
type: ViewChild,
|
|
4015
|
+
args: ['rowsContainer', { read: ViewContainerRef, static: true }]
|
|
4016
|
+
}] } });
|
|
3945
4017
|
|
|
3946
|
-
|
|
4018
|
+
class FsListDraggableListDirective {
|
|
3947
4019
|
constructor(_cdRef, _zone, _containerElement, _reorderController) {
|
|
3948
4020
|
this._cdRef = _cdRef;
|
|
3949
4021
|
this._zone = _zone;
|
|
@@ -4161,47 +4233,183 @@ let FsListDraggableListDirective = class FsListDraggableListDirective {
|
|
|
4161
4233
|
doneResult
|
|
4162
4234
|
.pipe(takeUntil(this._destroy$))
|
|
4163
4235
|
.subscribe(() => {
|
|
4164
|
-
console.log('enable');
|
|
4165
|
-
this._reorderController.enableReorderAction();
|
|
4236
|
+
console.log('enable');
|
|
4237
|
+
this._reorderController.enableReorderAction();
|
|
4238
|
+
});
|
|
4239
|
+
}
|
|
4240
|
+
}
|
|
4241
|
+
/**
|
|
4242
|
+
* Fix background when mobile
|
|
4243
|
+
* @param e
|
|
4244
|
+
*/
|
|
4245
|
+
touchFix(e) {
|
|
4246
|
+
if (!('clientX' in e) && !('clientY' in e)) {
|
|
4247
|
+
const touches = e.touches || e.originalEvent.touches;
|
|
4248
|
+
if (touches && touches.length) {
|
|
4249
|
+
e.clientX = touches[0].clientX;
|
|
4250
|
+
e.clientY = touches[0].clientY;
|
|
4251
|
+
}
|
|
4252
|
+
e.preventDefault();
|
|
4253
|
+
}
|
|
4254
|
+
}
|
|
4255
|
+
}
|
|
4256
|
+
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 });
|
|
4257
|
+
FsListDraggableListDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: FsListDraggableListDirective, selector: "[fsListDraggableList]", inputs: { _rows: ["rows", "_rows"] }, ngImport: i0 });
|
|
4258
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListDraggableListDirective, decorators: [{
|
|
4259
|
+
type: Directive,
|
|
4260
|
+
args: [{
|
|
4261
|
+
selector: '[fsListDraggableList]',
|
|
4262
|
+
}]
|
|
4263
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i0.ElementRef }, { type: ReorderController }]; }, propDecorators: { _rows: [{
|
|
4264
|
+
type: Input,
|
|
4265
|
+
args: ['rows']
|
|
4266
|
+
}] } });
|
|
4267
|
+
|
|
4268
|
+
class FsRowInlineActionComponent {
|
|
4269
|
+
constructor(_fsPrompt) {
|
|
4270
|
+
this._fsPrompt = _fsPrompt;
|
|
4271
|
+
this.clicked = new EventEmitter();
|
|
4272
|
+
this.fileSelect = new EventEmitter();
|
|
4273
|
+
}
|
|
4274
|
+
actionClick(event) {
|
|
4275
|
+
this.clicked.emit(event);
|
|
4276
|
+
}
|
|
4277
|
+
fileSelected(event) {
|
|
4278
|
+
this.fileSelect.emit(event);
|
|
4279
|
+
}
|
|
4280
|
+
}
|
|
4281
|
+
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 });
|
|
4282
|
+
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 });
|
|
4283
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsRowInlineActionComponent, decorators: [{
|
|
4284
|
+
type: Component,
|
|
4285
|
+
args: [{
|
|
4286
|
+
selector: 'fs-list-row-inline-action',
|
|
4287
|
+
templateUrl: './inline-action.component.html',
|
|
4288
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
4289
|
+
}]
|
|
4290
|
+
}], ctorParameters: function () { return [{ type: i1$1.FsPrompt }]; }, propDecorators: { action: [{
|
|
4291
|
+
type: Input
|
|
4292
|
+
}], clicked: [{
|
|
4293
|
+
type: Output
|
|
4294
|
+
}], fileSelect: [{
|
|
4295
|
+
type: Output
|
|
4296
|
+
}] } });
|
|
4297
|
+
|
|
4298
|
+
class FsRowMenuActionComponent {
|
|
4299
|
+
constructor() {
|
|
4300
|
+
this.fileSelect = new EventEmitter();
|
|
4301
|
+
this.fileError = new EventEmitter();
|
|
4302
|
+
}
|
|
4303
|
+
}
|
|
4304
|
+
FsRowMenuActionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsRowMenuActionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4305
|
+
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 });
|
|
4306
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsRowMenuActionComponent, decorators: [{
|
|
4307
|
+
type: Component,
|
|
4308
|
+
args: [{
|
|
4309
|
+
selector: 'fs-list-row-menu-action',
|
|
4310
|
+
templateUrl: './menu-action.component.html',
|
|
4311
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
4312
|
+
}]
|
|
4313
|
+
}], propDecorators: { icon: [{
|
|
4314
|
+
type: Input
|
|
4315
|
+
}], label: [{
|
|
4316
|
+
type: Input
|
|
4317
|
+
}], file: [{
|
|
4318
|
+
type: Input
|
|
4319
|
+
}], fileSelect: [{
|
|
4320
|
+
type: Output
|
|
4321
|
+
}], fileError: [{
|
|
4322
|
+
type: Output
|
|
4323
|
+
}] } });
|
|
4324
|
+
|
|
4325
|
+
class FsRowActionsComponent {
|
|
4326
|
+
constructor(_fsPrompt) {
|
|
4327
|
+
this._fsPrompt = _fsPrompt;
|
|
4328
|
+
this.restoreMode = false;
|
|
4329
|
+
this.rowActions = [];
|
|
4330
|
+
this.menuRowActions = [];
|
|
4331
|
+
this.inlineRowActions = [];
|
|
4332
|
+
this._destroy$ = new Subject();
|
|
4333
|
+
}
|
|
4334
|
+
actionClick(action, row, event, menuRef) {
|
|
4335
|
+
if (action.remove) {
|
|
4336
|
+
if (typeof action.remove === 'boolean') {
|
|
4337
|
+
this.removeAction(action, row.data, event, this.index);
|
|
4338
|
+
}
|
|
4339
|
+
else {
|
|
4340
|
+
this._fsPrompt.confirm({
|
|
4341
|
+
title: action.remove.title,
|
|
4342
|
+
template: action.remove.template,
|
|
4343
|
+
}).pipe(take(1), takeUntil(this._destroy$)).subscribe({
|
|
4344
|
+
next: () => {
|
|
4345
|
+
this.removeAction(action, row.data, event, this.index);
|
|
4346
|
+
},
|
|
4347
|
+
error: () => { },
|
|
4348
|
+
});
|
|
4349
|
+
}
|
|
4350
|
+
}
|
|
4351
|
+
else {
|
|
4352
|
+
action.click(row.data, event, this.index, menuRef);
|
|
4353
|
+
}
|
|
4354
|
+
}
|
|
4355
|
+
/**
|
|
4356
|
+
* Track By for improve change detection
|
|
4357
|
+
* @param index
|
|
4358
|
+
*/
|
|
4359
|
+
trackByFn(index) {
|
|
4360
|
+
return index;
|
|
4361
|
+
}
|
|
4362
|
+
clickOnTrigger(event) {
|
|
4363
|
+
event.stopPropagation();
|
|
4364
|
+
this.rowActions
|
|
4365
|
+
.forEach((action) => action.updateLabel(this.row.data));
|
|
4366
|
+
}
|
|
4367
|
+
/**
|
|
4368
|
+
* Emit that some row must be removed
|
|
4369
|
+
* @param action
|
|
4370
|
+
* @param row
|
|
4371
|
+
* @param event
|
|
4372
|
+
* @param index
|
|
4373
|
+
*/
|
|
4374
|
+
removeAction(action, row, event, index) {
|
|
4375
|
+
const removeObservable = action.click(row, event, index);
|
|
4376
|
+
if (removeObservable && removeObservable instanceof Observable) {
|
|
4377
|
+
removeObservable
|
|
4378
|
+
.pipe(take(1), takeUntil(this._destroy$))
|
|
4379
|
+
.subscribe(() => {
|
|
4380
|
+
this.rowRemoved.emit(row);
|
|
4166
4381
|
});
|
|
4167
4382
|
}
|
|
4168
4383
|
}
|
|
4169
|
-
|
|
4170
|
-
|
|
4171
|
-
|
|
4172
|
-
|
|
4173
|
-
|
|
4174
|
-
|
|
4175
|
-
|
|
4176
|
-
|
|
4177
|
-
|
|
4178
|
-
|
|
4179
|
-
|
|
4180
|
-
|
|
4181
|
-
|
|
4182
|
-
|
|
4183
|
-
}
|
|
4184
|
-
|
|
4185
|
-
|
|
4186
|
-
|
|
4187
|
-
|
|
4188
|
-
|
|
4189
|
-
]
|
|
4190
|
-
|
|
4191
|
-
|
|
4192
|
-
|
|
4193
|
-
],
|
|
4194
|
-
|
|
4195
|
-
|
|
4196
|
-
selector: '[fsListDraggableList]',
|
|
4197
|
-
}),
|
|
4198
|
-
__metadata("design:paramtypes", [ChangeDetectorRef,
|
|
4199
|
-
NgZone,
|
|
4200
|
-
ElementRef,
|
|
4201
|
-
ReorderController])
|
|
4202
|
-
], FsListDraggableListDirective);
|
|
4384
|
+
}
|
|
4385
|
+
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 });
|
|
4386
|
+
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 });
|
|
4387
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsRowActionsComponent, decorators: [{
|
|
4388
|
+
type: Component,
|
|
4389
|
+
args: [{
|
|
4390
|
+
selector: 'fs-list-row-actions',
|
|
4391
|
+
templateUrl: './actions.component.html',
|
|
4392
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
4393
|
+
}]
|
|
4394
|
+
}], ctorParameters: function () { return [{ type: i1$1.FsPrompt }]; }, propDecorators: { row: [{
|
|
4395
|
+
type: Input
|
|
4396
|
+
}], index: [{
|
|
4397
|
+
type: Input
|
|
4398
|
+
}], restoreMode: [{
|
|
4399
|
+
type: Input
|
|
4400
|
+
}], rowActions: [{
|
|
4401
|
+
type: Input
|
|
4402
|
+
}], rowRemoved: [{
|
|
4403
|
+
type: Input
|
|
4404
|
+
}], menuRowActions: [{
|
|
4405
|
+
type: Input
|
|
4406
|
+
}], inlineRowActions: [{
|
|
4407
|
+
type: Input
|
|
4408
|
+
}], restoreAction: [{
|
|
4409
|
+
type: Input
|
|
4410
|
+
}] } });
|
|
4203
4411
|
|
|
4204
|
-
|
|
4412
|
+
class FsRowComponent {
|
|
4205
4413
|
constructor(el, reorderController, _cdRef, _differs, _renderer, _draggableList) {
|
|
4206
4414
|
this.el = el;
|
|
4207
4415
|
this.reorderController = reorderController;
|
|
@@ -4378,530 +4586,279 @@ let FsRowComponent = class FsRowComponent {
|
|
|
4378
4586
|
}
|
|
4379
4587
|
});
|
|
4380
4588
|
}
|
|
4381
|
-
}
|
|
4382
|
-
FsRowComponent
|
|
4383
|
-
{ type:
|
|
4384
|
-
|
|
4385
|
-
|
|
4386
|
-
|
|
4387
|
-
|
|
4388
|
-
|
|
4389
|
-
|
|
4390
|
-
|
|
4391
|
-
|
|
4392
|
-
|
|
4393
|
-
|
|
4394
|
-
|
|
4395
|
-
|
|
4396
|
-
|
|
4397
|
-
|
|
4398
|
-
|
|
4399
|
-
|
|
4400
|
-
|
|
4401
|
-
|
|
4402
|
-
|
|
4403
|
-
|
|
4404
|
-
|
|
4405
|
-
|
|
4406
|
-
|
|
4407
|
-
|
|
4408
|
-
|
|
4409
|
-
|
|
4410
|
-
|
|
4411
|
-
|
|
4412
|
-
|
|
4413
|
-
|
|
4414
|
-
|
|
4415
|
-
|
|
4416
|
-
|
|
4417
|
-
|
|
4418
|
-
|
|
4419
|
-
|
|
4420
|
-
|
|
4421
|
-
]
|
|
4422
|
-
|
|
4423
|
-
Input(),
|
|
4424
|
-
__metadata("design:type", Number)
|
|
4425
|
-
], FsRowComponent.prototype, "rowIndex", void 0);
|
|
4426
|
-
__decorate([
|
|
4427
|
-
Input(),
|
|
4428
|
-
__metadata("design:type", Array)
|
|
4429
|
-
], FsRowComponent.prototype, "columns", void 0);
|
|
4430
|
-
__decorate([
|
|
4431
|
-
Input(),
|
|
4432
|
-
__metadata("design:type", SelectionController)
|
|
4433
|
-
], FsRowComponent.prototype, "selection", void 0);
|
|
4434
|
-
__decorate([
|
|
4435
|
-
Input(),
|
|
4436
|
-
__metadata("design:type", EventEmitter)
|
|
4437
|
-
], FsRowComponent.prototype, "rowRemoved", void 0);
|
|
4438
|
-
__decorate([
|
|
4439
|
-
ViewChildren('td'),
|
|
4440
|
-
__metadata("design:type", Object)
|
|
4441
|
-
], FsRowComponent.prototype, "cellRefs", void 0);
|
|
4442
|
-
__decorate([
|
|
4443
|
-
HostBinding('class'),
|
|
4444
|
-
__metadata("design:type", Object),
|
|
4445
|
-
__metadata("design:paramtypes", [])
|
|
4446
|
-
], FsRowComponent.prototype, "rowCssClass", null);
|
|
4447
|
-
FsRowComponent = __decorate([
|
|
4448
|
-
Component({
|
|
4449
|
-
selector: '[fs-list-row]',
|
|
4450
|
-
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",
|
|
4451
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
4452
|
-
}),
|
|
4453
|
-
__metadata("design:paramtypes", [ElementRef,
|
|
4454
|
-
ReorderController,
|
|
4455
|
-
ChangeDetectorRef,
|
|
4456
|
-
KeyValueDiffers,
|
|
4457
|
-
Renderer2,
|
|
4458
|
-
FsListDraggableListDirective])
|
|
4459
|
-
], FsRowComponent);
|
|
4460
|
-
|
|
4461
|
-
let FsBodyComponent = class FsBodyComponent {
|
|
4462
|
-
constructor(reorderContoller, el, cdRef, differs) {
|
|
4463
|
-
this.reorderContoller = reorderContoller;
|
|
4464
|
-
this.el = el;
|
|
4465
|
-
this.cdRef = cdRef;
|
|
4466
|
-
this.differs = differs;
|
|
4467
|
-
this.columns = [];
|
|
4468
|
-
this.hasFooter = false;
|
|
4469
|
-
this.rowActionsRaw = [];
|
|
4470
|
-
this.groupActionsRaw = [];
|
|
4471
|
-
this.rowEvents = {};
|
|
4472
|
-
this.hasRowActions = false;
|
|
4473
|
-
this.restoreMode = false;
|
|
4474
|
-
this._destroy$ = new Subject();
|
|
4475
|
-
this._rowsDiffer = differs.find([]).create(null);
|
|
4476
|
-
}
|
|
4477
|
-
ngDoCheck() {
|
|
4478
|
-
if (this._rowsDiffer.diff(this.rows)) {
|
|
4479
|
-
this.cdRef.markForCheck();
|
|
4480
|
-
}
|
|
4481
|
-
}
|
|
4482
|
-
ngOnDestroy() {
|
|
4483
|
-
this._destroy$.next();
|
|
4484
|
-
this._destroy$.complete();
|
|
4485
|
-
}
|
|
4486
|
-
};
|
|
4487
|
-
FsBodyComponent.ctorParameters = () => [
|
|
4488
|
-
{ type: ReorderController },
|
|
4489
|
-
{ type: ElementRef },
|
|
4490
|
-
{ type: ChangeDetectorRef },
|
|
4491
|
-
{ type: IterableDiffers }
|
|
4492
|
-
];
|
|
4493
|
-
__decorate([
|
|
4494
|
-
Input(),
|
|
4495
|
-
__metadata("design:type", Array)
|
|
4496
|
-
], FsBodyComponent.prototype, "rows", void 0);
|
|
4497
|
-
__decorate([
|
|
4498
|
-
Input(),
|
|
4499
|
-
__metadata("design:type", Array)
|
|
4500
|
-
], FsBodyComponent.prototype, "columns", void 0);
|
|
4501
|
-
__decorate([
|
|
4502
|
-
Input(),
|
|
4503
|
-
__metadata("design:type", Object)
|
|
4504
|
-
], FsBodyComponent.prototype, "hasFooter", void 0);
|
|
4505
|
-
__decorate([
|
|
4506
|
-
Input(),
|
|
4507
|
-
__metadata("design:type", Array)
|
|
4508
|
-
], FsBodyComponent.prototype, "rowActionsRaw", void 0);
|
|
4509
|
-
__decorate([
|
|
4510
|
-
Input(),
|
|
4511
|
-
__metadata("design:type", Array)
|
|
4512
|
-
], FsBodyComponent.prototype, "groupActionsRaw", void 0);
|
|
4513
|
-
__decorate([
|
|
4514
|
-
Input(),
|
|
4515
|
-
__metadata("design:type", Object)
|
|
4516
|
-
], FsBodyComponent.prototype, "rowEvents", void 0);
|
|
4517
|
-
__decorate([
|
|
4518
|
-
Input(),
|
|
4519
|
-
__metadata("design:type", Object)
|
|
4520
|
-
], FsBodyComponent.prototype, "rowClass", void 0);
|
|
4521
|
-
__decorate([
|
|
4522
|
-
Input(),
|
|
4523
|
-
__metadata("design:type", Object)
|
|
4524
|
-
], FsBodyComponent.prototype, "hasRowActions", void 0);
|
|
4525
|
-
__decorate([
|
|
4526
|
-
Input(),
|
|
4527
|
-
__metadata("design:type", SelectionController)
|
|
4528
|
-
], FsBodyComponent.prototype, "selection", void 0);
|
|
4529
|
-
__decorate([
|
|
4530
|
-
Input(),
|
|
4531
|
-
__metadata("design:type", Object)
|
|
4532
|
-
], FsBodyComponent.prototype, "restoreMode", void 0);
|
|
4533
|
-
__decorate([
|
|
4534
|
-
Input(),
|
|
4535
|
-
__metadata("design:type", EventEmitter)
|
|
4536
|
-
], FsBodyComponent.prototype, "rowRemoved", void 0);
|
|
4537
|
-
__decorate([
|
|
4538
|
-
ViewChild('rowsContainer', { read: ViewContainerRef, static: true }),
|
|
4539
|
-
__metadata("design:type", Object)
|
|
4540
|
-
], FsBodyComponent.prototype, "rowsContainer", void 0);
|
|
4541
|
-
__decorate([
|
|
4542
|
-
ContentChild(FsRowComponent, { read: TemplateRef, static: true }),
|
|
4543
|
-
__metadata("design:type", TemplateRef)
|
|
4544
|
-
], FsBodyComponent.prototype, "headerTemplate", void 0);
|
|
4545
|
-
FsBodyComponent = __decorate([
|
|
4546
|
-
Component({
|
|
4547
|
-
selector: '[fs-list-body]',
|
|
4548
|
-
template: "<ng-container *ngFor=\"let row of rows; let i = index;\">\n <tr fs-list-row\n fsListDraggableRow\n [row]=\"row\"\n [rowIndex]=\"i\"\n [columns]=\"columns\"\n [rowActionsRaw]=\"rowActionsRaw\"\n [groupActionsRaw]=\"groupActionsRaw\"\n [hasRowActions]=\"hasRowActions\"\n [rowEvents]=\"rowEvents\"\n [rowClass]=\"rowClass\"\n [selection]=\"selection\"\n [restoreMode]=\"restoreMode\"\n [ngClass]=\"{ 'drag-row': reorderContoller.enabled }\"\n [rowRemoved]=\"rowRemoved\"\n #activeRow>\n </tr>\n</ng-container>\n",
|
|
4549
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
4550
|
-
}),
|
|
4551
|
-
__metadata("design:paramtypes", [ReorderController,
|
|
4552
|
-
ElementRef,
|
|
4553
|
-
ChangeDetectorRef,
|
|
4554
|
-
IterableDiffers])
|
|
4555
|
-
], FsBodyComponent);
|
|
4589
|
+
}
|
|
4590
|
+
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 });
|
|
4591
|
+
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 });
|
|
4592
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsRowComponent, decorators: [{
|
|
4593
|
+
type: Component,
|
|
4594
|
+
args: [{
|
|
4595
|
+
selector: '[fs-list-row]',
|
|
4596
|
+
templateUrl: 'row.component.html',
|
|
4597
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
4598
|
+
}]
|
|
4599
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: ReorderController }, { type: i0.ChangeDetectorRef }, { type: i0.KeyValueDiffers }, { type: i0.Renderer2 }, { type: FsListDraggableListDirective }]; }, propDecorators: { role: [{
|
|
4600
|
+
type: HostBinding,
|
|
4601
|
+
args: ['attr.role']
|
|
4602
|
+
}], row: [{
|
|
4603
|
+
type: Input
|
|
4604
|
+
}], rowActionsRaw: [{
|
|
4605
|
+
type: Input
|
|
4606
|
+
}], groupActionsRaw: [{
|
|
4607
|
+
type: Input
|
|
4608
|
+
}], hasRowActions: [{
|
|
4609
|
+
type: Input
|
|
4610
|
+
}], rowEvents: [{
|
|
4611
|
+
type: Input
|
|
4612
|
+
}], rowClass: [{
|
|
4613
|
+
type: Input
|
|
4614
|
+
}], restoreMode: [{
|
|
4615
|
+
type: Input
|
|
4616
|
+
}], rowIndex: [{
|
|
4617
|
+
type: Input
|
|
4618
|
+
}], columns: [{
|
|
4619
|
+
type: Input
|
|
4620
|
+
}], selection: [{
|
|
4621
|
+
type: Input
|
|
4622
|
+
}], rowRemoved: [{
|
|
4623
|
+
type: Input
|
|
4624
|
+
}], cellRefs: [{
|
|
4625
|
+
type: ViewChildren,
|
|
4626
|
+
args: ['td']
|
|
4627
|
+
}], rowCssClass: [{
|
|
4628
|
+
type: HostBinding,
|
|
4629
|
+
args: ['class']
|
|
4630
|
+
}] } });
|
|
4556
4631
|
|
|
4557
|
-
|
|
4558
|
-
constructor() {
|
|
4559
|
-
this.
|
|
4560
|
-
this.
|
|
4561
|
-
this.
|
|
4632
|
+
class FsListDraggableRowDirective {
|
|
4633
|
+
constructor(_el, _renderer, _reorderController, _draggableList) {
|
|
4634
|
+
this._el = _el;
|
|
4635
|
+
this._renderer = _renderer;
|
|
4636
|
+
this._reorderController = _reorderController;
|
|
4637
|
+
this._draggableList = _draggableList;
|
|
4562
4638
|
this._destroy$ = new Subject();
|
|
4563
4639
|
}
|
|
4564
4640
|
ngOnInit() {
|
|
4565
|
-
this.
|
|
4566
|
-
|
|
4567
|
-
this._listenGroupOpen();
|
|
4568
|
-
}
|
|
4569
|
-
ngOnChanges(changes) {
|
|
4570
|
-
if (changes.rowIndex) {
|
|
4571
|
-
this.cellContext.index = this.rowIndex;
|
|
4572
|
-
}
|
|
4573
|
-
}
|
|
4574
|
-
ngOnDestroy() {
|
|
4575
|
-
this._destroy$.next();
|
|
4576
|
-
this._destroy$.complete();
|
|
4577
|
-
}
|
|
4578
|
-
_initCellContext() {
|
|
4579
|
-
this.cellContext.index = this.rowIndex;
|
|
4580
|
-
if (this.row) {
|
|
4581
|
-
if (this.row.isGroup) {
|
|
4582
|
-
this.cellContext.groupIndex = this.row.index;
|
|
4583
|
-
}
|
|
4584
|
-
else if (this.row.isChild) {
|
|
4585
|
-
this.cellContext.groupChildIndex = this.row.index;
|
|
4586
|
-
}
|
|
4587
|
-
}
|
|
4588
|
-
this.cellContext.column = this.column;
|
|
4589
|
-
if (this.row) {
|
|
4590
|
-
this.cellContext.$implicit = this.row.data;
|
|
4591
|
-
this.cellContext.row = this.row.data;
|
|
4592
|
-
this.cellContext.value = this.row.data[this.column.name];
|
|
4593
|
-
this.cellContext.expanded = this.row.expanded;
|
|
4594
|
-
}
|
|
4595
|
-
}
|
|
4596
|
-
_initCellTemplate() {
|
|
4597
|
-
if (this.row && this.row.isGroup) {
|
|
4598
|
-
this.cellTemplate = this.column.groupCellTemplate || this.column.cellTemplate;
|
|
4599
|
-
}
|
|
4600
|
-
else {
|
|
4601
|
-
this.cellTemplate = this.column.cellTemplate;
|
|
4602
|
-
}
|
|
4603
|
-
}
|
|
4604
|
-
_listenGroupOpen() {
|
|
4605
|
-
if (this.row && this.row.isGroup) {
|
|
4606
|
-
this.row.expanded$
|
|
4607
|
-
.pipe(takeUntil(this._destroy$))
|
|
4608
|
-
.subscribe((status) => {
|
|
4609
|
-
this.cellContext.expanded = status;
|
|
4610
|
-
});
|
|
4641
|
+
if (this._reorderController.moveDropCallback) {
|
|
4642
|
+
this._listenDragEvents();
|
|
4611
4643
|
}
|
|
4612
4644
|
}
|
|
4613
|
-
};
|
|
4614
|
-
__decorate([
|
|
4615
|
-
HostBinding('class.fs-list-col'),
|
|
4616
|
-
__metadata("design:type", Object)
|
|
4617
|
-
], FsCellComponent.prototype, "isColl", void 0);
|
|
4618
|
-
__decorate([
|
|
4619
|
-
HostBinding('attr.role'),
|
|
4620
|
-
__metadata("design:type", Object)
|
|
4621
|
-
], FsCellComponent.prototype, "role", void 0);
|
|
4622
|
-
__decorate([
|
|
4623
|
-
Input(),
|
|
4624
|
-
__metadata("design:type", Column)
|
|
4625
|
-
], FsCellComponent.prototype, "column", void 0);
|
|
4626
|
-
__decorate([
|
|
4627
|
-
Input(),
|
|
4628
|
-
__metadata("design:type", Row)
|
|
4629
|
-
], FsCellComponent.prototype, "row", void 0);
|
|
4630
|
-
__decorate([
|
|
4631
|
-
Input(),
|
|
4632
|
-
__metadata("design:type", Number)
|
|
4633
|
-
], FsCellComponent.prototype, "rowIndex", void 0);
|
|
4634
|
-
FsCellComponent = __decorate([
|
|
4635
|
-
Component({
|
|
4636
|
-
selector: '[fs-cell]',
|
|
4637
|
-
template: "<ng-template [ngTemplateOutlet]=\"cellTemplate || defaultCellTemplate\" [ngTemplateOutletContext]=\"cellContext\"></ng-template>\n\n<ng-template #defaultCellTemplate let-value=\"value\">\n {{value}}\n</ng-template>\n",
|
|
4638
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
4639
|
-
}),
|
|
4640
|
-
__metadata("design:paramtypes", [])
|
|
4641
|
-
], FsCellComponent);
|
|
4642
|
-
|
|
4643
|
-
let FsHeadComponent = class FsHeadComponent {
|
|
4644
|
-
constructor(reorderController, cdRef) {
|
|
4645
|
-
this.reorderController = reorderController;
|
|
4646
|
-
this.cdRef = cdRef;
|
|
4647
|
-
this.selectedAll = false;
|
|
4648
|
-
this.ReorderPosition = ReorderPosition;
|
|
4649
|
-
this.ReorderStrategy = ReorderStrategy;
|
|
4650
|
-
this._destroy$ = new Subject();
|
|
4651
|
-
}
|
|
4652
|
-
ngOnInit() {
|
|
4653
|
-
this.initSorting();
|
|
4654
|
-
this.initSelection();
|
|
4655
|
-
}
|
|
4656
4645
|
ngOnDestroy() {
|
|
4657
4646
|
this._destroy$.next();
|
|
4658
4647
|
this._destroy$.complete();
|
|
4659
4648
|
}
|
|
4660
|
-
|
|
4661
|
-
|
|
4662
|
-
|
|
4663
|
-
*/
|
|
4664
|
-
selectAll(event) {
|
|
4665
|
-
this.selection.selectAllVisibleRows(event.checked);
|
|
4666
|
-
}
|
|
4667
|
-
/**
|
|
4668
|
-
* Track By for improve change detection
|
|
4669
|
-
* @param index
|
|
4670
|
-
*/
|
|
4671
|
-
trackByFn(index) {
|
|
4672
|
-
return index;
|
|
4673
|
-
}
|
|
4674
|
-
/**
|
|
4675
|
-
* Subscribe to sorting change
|
|
4676
|
-
*/
|
|
4677
|
-
initSorting() {
|
|
4678
|
-
this.sorting.sortingChanged$
|
|
4649
|
+
_listenDragEvents() {
|
|
4650
|
+
this._draggableList
|
|
4651
|
+
.dragStart$
|
|
4679
4652
|
.pipe(takeUntil(this._destroy$))
|
|
4680
4653
|
.subscribe(() => {
|
|
4681
|
-
this.
|
|
4654
|
+
this._markReadyToSwapRows();
|
|
4655
|
+
});
|
|
4656
|
+
this._draggableList
|
|
4657
|
+
.dragEnd$
|
|
4658
|
+
.pipe(takeUntil(this._destroy$))
|
|
4659
|
+
.subscribe(() => {
|
|
4660
|
+
this._unmarkRows();
|
|
4682
4661
|
});
|
|
4683
4662
|
}
|
|
4684
|
-
|
|
4685
|
-
|
|
4686
|
-
|
|
4687
|
-
|
|
4688
|
-
|
|
4689
|
-
|
|
4690
|
-
|
|
4691
|
-
|
|
4692
|
-
|
|
4693
|
-
|
|
4694
|
-
|
|
4695
|
-
|
|
4696
|
-
|
|
4663
|
+
_markReadyToSwapRows() {
|
|
4664
|
+
var _a, _b;
|
|
4665
|
+
const currentEl = this.row;
|
|
4666
|
+
const targetEl = this._draggableList.draggableItem;
|
|
4667
|
+
const currentElGroup = (currentEl.isChild && currentEl.parent) || currentEl;
|
|
4668
|
+
const targetElGroup = (targetEl.isChild && targetEl.parent) || targetEl;
|
|
4669
|
+
this.row.readyToSwap = this._reorderController.moveDropCallback({
|
|
4670
|
+
row1: currentEl === null || currentEl === void 0 ? void 0 : currentEl.data,
|
|
4671
|
+
row2: targetEl === null || targetEl === void 0 ? void 0 : targetEl.data,
|
|
4672
|
+
group1: (_a = currentEl === null || currentEl === void 0 ? void 0 : currentEl.parent) === null || _a === void 0 ? void 0 : _a.data,
|
|
4673
|
+
group2: (_b = targetEl === null || targetEl === void 0 ? void 0 : targetEl.parent) === null || _b === void 0 ? void 0 : _b.data
|
|
4674
|
+
});
|
|
4675
|
+
if (!this.row.readyToSwap) {
|
|
4676
|
+
this._renderer.addClass(this._el.nativeElement, 'fs-list-swap-restricted');
|
|
4697
4677
|
}
|
|
4698
4678
|
}
|
|
4699
|
-
|
|
4700
|
-
|
|
4701
|
-
|
|
4702
|
-
|
|
4703
|
-
|
|
4704
|
-
|
|
4705
|
-
|
|
4706
|
-
|
|
4707
|
-
|
|
4708
|
-
|
|
4709
|
-
|
|
4710
|
-
|
|
4711
|
-
]
|
|
4712
|
-
|
|
4713
|
-
|
|
4714
|
-
|
|
4715
|
-
], FsHeadComponent.prototype, "hasRowActions", void 0);
|
|
4716
|
-
__decorate([
|
|
4717
|
-
Input(),
|
|
4718
|
-
__metadata("design:type", SelectionController)
|
|
4719
|
-
], FsHeadComponent.prototype, "selection", void 0);
|
|
4720
|
-
__decorate([
|
|
4721
|
-
ViewChild('rowsContainer', { read: ViewContainerRef, static: true }),
|
|
4722
|
-
__metadata("design:type", Object)
|
|
4723
|
-
], FsHeadComponent.prototype, "rowsContainer", void 0);
|
|
4724
|
-
FsHeadComponent = __decorate([
|
|
4725
|
-
Component({
|
|
4726
|
-
selector: '[fs-list-head]',
|
|
4727
|
-
template: "<tr class=\"fs-list-row\">\n <!-- Drag -->\n <th *ngIf=\"reorderController.leftReorderActivated$ | async\" class=\"fs-list-col drag-col\"></th>\n\n <!-- Selection -->\n <th *ngIf=\"selection\" class=\"fs-list-col fs-list-col-selection\">\n <mat-checkbox (change)=\"selectAll($event)\" [checked]=\"selectedAll\"></mat-checkbox>\n </th>\n\n <!-- Content -->\n <th fs-head-cell *ngFor=\"let column of columns; trackBy: trackByFn\"\n (click)=\"$event.stopPropagation(); sorting.sortBy(column)\"\n [column]=\"column\"\n [class.sorting]=\"column.sortable\"\n [ngClass]=\"column.headerConfigs.classesArray\"\n [attr.colspan]=\"column.headerConfigs.colspan\"\n [attr.width]=\"column.width\"></th>\n\n <!-- Drag -->\n <th *ngIf=\"reorderController.rightReorderActivated$ | async\" class=\"fs-list-col drag-col\"></th>\n\n <!-- Row Actions -->\n <th *ngIf=\"hasRowActions && !(reorderController.manualReorderActivated$ | async)\" class=\"fs-list-col row-actions\"></th>\n</tr>\n",
|
|
4728
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
4729
|
-
}),
|
|
4730
|
-
__metadata("design:paramtypes", [ReorderController,
|
|
4731
|
-
ChangeDetectorRef])
|
|
4732
|
-
], FsHeadComponent);
|
|
4679
|
+
_unmarkRows() {
|
|
4680
|
+
if (!this.row.readyToSwap) {
|
|
4681
|
+
this._renderer.removeClass(this._el.nativeElement, 'fs-list-swap-restricted');
|
|
4682
|
+
}
|
|
4683
|
+
}
|
|
4684
|
+
}
|
|
4685
|
+
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 });
|
|
4686
|
+
FsListDraggableRowDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: FsListDraggableRowDirective, selector: "[fsListDraggableRow]", inputs: { row: "row" }, ngImport: i0 });
|
|
4687
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListDraggableRowDirective, decorators: [{
|
|
4688
|
+
type: Directive,
|
|
4689
|
+
args: [{
|
|
4690
|
+
selector: '[fsListDraggableRow]',
|
|
4691
|
+
}]
|
|
4692
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: ReorderController }, { type: FsListDraggableListDirective }]; }, propDecorators: { row: [{
|
|
4693
|
+
type: Input
|
|
4694
|
+
}] } });
|
|
4733
4695
|
|
|
4734
|
-
|
|
4735
|
-
constructor(cdRef, differs) {
|
|
4736
|
-
|
|
4696
|
+
class FsBodyComponent {
|
|
4697
|
+
constructor(reorderContoller, el, cdRef, differs) {
|
|
4698
|
+
this.reorderContoller = reorderContoller;
|
|
4699
|
+
this.el = el;
|
|
4737
4700
|
this.cdRef = cdRef;
|
|
4738
4701
|
this.differs = differs;
|
|
4739
|
-
this.
|
|
4740
|
-
this.
|
|
4702
|
+
this.columns = [];
|
|
4703
|
+
this.hasFooter = false;
|
|
4704
|
+
this.rowActionsRaw = [];
|
|
4705
|
+
this.groupActionsRaw = [];
|
|
4706
|
+
this.rowEvents = {};
|
|
4707
|
+
this.hasRowActions = false;
|
|
4708
|
+
this.restoreMode = false;
|
|
4709
|
+
this._destroy$ = new Subject();
|
|
4710
|
+
this._rowsDiffer = differs.find([]).create(null);
|
|
4741
4711
|
}
|
|
4742
4712
|
ngDoCheck() {
|
|
4743
|
-
if (this.
|
|
4713
|
+
if (this._rowsDiffer.diff(this.rows)) {
|
|
4744
4714
|
this.cdRef.markForCheck();
|
|
4745
4715
|
}
|
|
4746
4716
|
}
|
|
4747
|
-
|
|
4748
|
-
this.
|
|
4717
|
+
ngOnDestroy() {
|
|
4718
|
+
this._destroy$.next();
|
|
4719
|
+
this._destroy$.complete();
|
|
4749
4720
|
}
|
|
4750
|
-
}
|
|
4751
|
-
|
|
4752
|
-
|
|
4753
|
-
|
|
4754
|
-
|
|
4755
|
-
|
|
4756
|
-
|
|
4757
|
-
|
|
4758
|
-
|
|
4759
|
-
|
|
4760
|
-
|
|
4761
|
-
|
|
4762
|
-
|
|
4763
|
-
|
|
4721
|
+
}
|
|
4722
|
+
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 });
|
|
4723
|
+
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 });
|
|
4724
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsBodyComponent, decorators: [{
|
|
4725
|
+
type: Component,
|
|
4726
|
+
args: [{
|
|
4727
|
+
selector: '[fs-list-body]',
|
|
4728
|
+
templateUrl: 'body.component.html',
|
|
4729
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
4730
|
+
}]
|
|
4731
|
+
}], ctorParameters: function () { return [{ type: ReorderController }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.IterableDiffers }]; }, propDecorators: { rows: [{
|
|
4732
|
+
type: Input
|
|
4733
|
+
}], columns: [{
|
|
4734
|
+
type: Input
|
|
4735
|
+
}], hasFooter: [{
|
|
4736
|
+
type: Input
|
|
4737
|
+
}], rowActionsRaw: [{
|
|
4738
|
+
type: Input
|
|
4739
|
+
}], groupActionsRaw: [{
|
|
4740
|
+
type: Input
|
|
4741
|
+
}], rowEvents: [{
|
|
4742
|
+
type: Input
|
|
4743
|
+
}], rowClass: [{
|
|
4744
|
+
type: Input
|
|
4745
|
+
}], hasRowActions: [{
|
|
4746
|
+
type: Input
|
|
4747
|
+
}], selection: [{
|
|
4748
|
+
type: Input
|
|
4749
|
+
}], restoreMode: [{
|
|
4750
|
+
type: Input
|
|
4751
|
+
}], rowRemoved: [{
|
|
4752
|
+
type: Input
|
|
4753
|
+
}], rowsContainer: [{
|
|
4754
|
+
type: ViewChild,
|
|
4755
|
+
args: ['rowsContainer', { read: ViewContainerRef, static: true }]
|
|
4756
|
+
}], headerTemplate: [{
|
|
4757
|
+
type: ContentChild,
|
|
4758
|
+
args: [FsRowComponent, { read: TemplateRef, static: true }]
|
|
4759
|
+
}] } });
|
|
4764
4760
|
|
|
4765
|
-
|
|
4761
|
+
class FsFooterCellComponent extends FsCellComponent {
|
|
4766
4762
|
constructor() {
|
|
4767
|
-
|
|
4763
|
+
super();
|
|
4768
4764
|
}
|
|
4769
|
-
}
|
|
4770
|
-
|
|
4771
|
-
|
|
4772
|
-
|
|
4773
|
-
|
|
4774
|
-
|
|
4775
|
-
|
|
4776
|
-
|
|
4777
|
-
|
|
4778
|
-
|
|
4779
|
-
|
|
4780
|
-
__metadata("design:type", SelectionController)
|
|
4781
|
-
], FsFooterComponent.prototype, "selection", void 0);
|
|
4782
|
-
FsFooterComponent = __decorate([
|
|
4783
|
-
Component({
|
|
4784
|
-
selector: '[fs-list-footer]',
|
|
4785
|
-
template: "<tr fs-list-footer-row\n [columns]=\"columns\"\n [hasRowActions]=\"hasRowActions\"\n [selection]=\"selection\"\n></tr>\n",
|
|
4786
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
4787
|
-
}),
|
|
4788
|
-
__metadata("design:paramtypes", [])
|
|
4789
|
-
], FsFooterComponent);
|
|
4765
|
+
}
|
|
4766
|
+
FsFooterCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsFooterCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4767
|
+
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 });
|
|
4768
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsFooterCellComponent, decorators: [{
|
|
4769
|
+
type: Component,
|
|
4770
|
+
args: [{
|
|
4771
|
+
selector: '[fs-list-footer-cell]',
|
|
4772
|
+
templateUrl: 'footer-cell.component.html',
|
|
4773
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
4774
|
+
}]
|
|
4775
|
+
}], ctorParameters: function () { return []; } });
|
|
4790
4776
|
|
|
4791
|
-
|
|
4777
|
+
class FsFooterRowComponent extends FsRowComponent {
|
|
4792
4778
|
constructor(el, reorderController, cdRef, differs, renderer) {
|
|
4793
4779
|
super(el, reorderController, cdRef, differs, renderer, null);
|
|
4794
4780
|
this.ReorderPosition = ReorderPosition;
|
|
4795
4781
|
}
|
|
4796
|
-
}
|
|
4797
|
-
FsFooterRowComponent
|
|
4798
|
-
|
|
4799
|
-
|
|
4800
|
-
|
|
4801
|
-
|
|
4802
|
-
|
|
4803
|
-
|
|
4804
|
-
|
|
4805
|
-
|
|
4806
|
-
|
|
4807
|
-
|
|
4808
|
-
|
|
4809
|
-
Component({
|
|
4810
|
-
selector: '[fs-list-footer-row]',
|
|
4811
|
-
template: "<td *ngIf=\"reorderController.leftReorderActivated$ | async\" class=\"fs-list-col drag-col\"></td>\n\n<td *ngIf=\"selection\" class=\"fs-list-col fs-list-col-selection\"></td>\n<ng-container *ngFor=\"let column of columns; trackBy: trackByFn\">\n <td fs-list-footer-cell\n *ngIf=\"!column.footerColspanned\"\n [column]=\"column\"\n [row]=\"row\"\n [rowIndex]=\"rowIndex\"\n [ngClass]=\"column.footerConfigs.classesArray\"\n [attr.colspan]=\"column.footerConfigs.colspan\"\n [attr.width]=\"column.width\">\n </td>\n</ng-container>\n\n<!-- Drag -->\n<td *ngIf=\"reorderController.rightReorderActivated$ | async\" class=\"fs-list-col row-actions\"></td>\n\n<!-- Row Actions -->\n<td *ngIf=\"hasRowActions && !(reorderController.enabled && reorderController.strategy === ReorderStrategy.Manual)\" class=\"fs-list-col drag-col\"></td>\n",
|
|
4812
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
4813
|
-
}),
|
|
4814
|
-
__metadata("design:paramtypes", [ElementRef,
|
|
4815
|
-
ReorderController,
|
|
4816
|
-
ChangeDetectorRef,
|
|
4817
|
-
KeyValueDiffers,
|
|
4818
|
-
Renderer2])
|
|
4819
|
-
], FsFooterRowComponent);
|
|
4782
|
+
}
|
|
4783
|
+
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 });
|
|
4784
|
+
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 });
|
|
4785
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsFooterRowComponent, decorators: [{
|
|
4786
|
+
type: Component,
|
|
4787
|
+
args: [{
|
|
4788
|
+
selector: '[fs-list-footer-row]',
|
|
4789
|
+
templateUrl: 'footer-row.component.html',
|
|
4790
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
4791
|
+
}]
|
|
4792
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: ReorderController }, { type: i0.ChangeDetectorRef }, { type: i0.KeyValueDiffers }, { type: i0.Renderer2 }]; }, propDecorators: { hasRowActions: [{
|
|
4793
|
+
type: Input
|
|
4794
|
+
}] } });
|
|
4820
4795
|
|
|
4821
|
-
|
|
4796
|
+
class FsFooterComponent {
|
|
4822
4797
|
constructor() {
|
|
4823
|
-
|
|
4798
|
+
this.columns = [];
|
|
4824
4799
|
}
|
|
4825
|
-
}
|
|
4826
|
-
|
|
4827
|
-
|
|
4828
|
-
|
|
4829
|
-
|
|
4830
|
-
|
|
4831
|
-
|
|
4832
|
-
|
|
4833
|
-
|
|
4800
|
+
}
|
|
4801
|
+
FsFooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4802
|
+
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 });
|
|
4803
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsFooterComponent, decorators: [{
|
|
4804
|
+
type: Component,
|
|
4805
|
+
args: [{
|
|
4806
|
+
selector: '[fs-list-footer]',
|
|
4807
|
+
templateUrl: 'footer.component.html',
|
|
4808
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
4809
|
+
}]
|
|
4810
|
+
}], ctorParameters: function () { return []; }, propDecorators: { hasRowActions: [{
|
|
4811
|
+
type: Input
|
|
4812
|
+
}], columns: [{
|
|
4813
|
+
type: Input
|
|
4814
|
+
}], selection: [{
|
|
4815
|
+
type: Input
|
|
4816
|
+
}] } });
|
|
4834
4817
|
|
|
4835
|
-
|
|
4836
|
-
constructor(
|
|
4837
|
-
this.
|
|
4838
|
-
this.
|
|
4818
|
+
class FsListLoaderComponent {
|
|
4819
|
+
constructor() {
|
|
4820
|
+
this.placeholderWidths = [[], [], []];
|
|
4821
|
+
this.widths = [];
|
|
4822
|
+
this.cols = [];
|
|
4823
|
+
this.rows = [];
|
|
4839
4824
|
}
|
|
4840
4825
|
ngOnInit() {
|
|
4841
|
-
this.
|
|
4842
|
-
|
|
4843
|
-
|
|
4844
|
-
this.
|
|
4845
|
-
});
|
|
4846
|
-
}
|
|
4847
|
-
ngOnDestroy() {
|
|
4848
|
-
this._destroy$.next();
|
|
4849
|
-
this._destroy$.complete();
|
|
4850
|
-
}
|
|
4851
|
-
toggleDirection() {
|
|
4852
|
-
if (this.sorting.sortingColumn.direction === 'asc') {
|
|
4853
|
-
this.sorting.sortDirection(SortingDirection.desc);
|
|
4826
|
+
this.cols = this.columns > 5 ? this.columns.splice(0, 5) : this.columns;
|
|
4827
|
+
const length = this.cols.length;
|
|
4828
|
+
for (let w = length; w >= 0; w--) {
|
|
4829
|
+
this.widths[w] = w ? random(15, 100 / length, false) : 0;
|
|
4854
4830
|
}
|
|
4855
|
-
|
|
4856
|
-
|
|
4831
|
+
for (let r = 0; r < 3; r++) {
|
|
4832
|
+
for (let c = 0; c < length; c++) {
|
|
4833
|
+
this.placeholderWidths[r].push(random(50, 90));
|
|
4834
|
+
}
|
|
4857
4835
|
}
|
|
4858
4836
|
}
|
|
4859
|
-
|
|
4860
|
-
if (
|
|
4861
|
-
this.
|
|
4837
|
+
ngOnChanges(changes) {
|
|
4838
|
+
if (changes.loaderLines) {
|
|
4839
|
+
this.rows = new Array(this.loaderLines);
|
|
4862
4840
|
}
|
|
4863
4841
|
}
|
|
4864
|
-
|
|
4865
|
-
|
|
4866
|
-
}
|
|
4867
|
-
|
|
4868
|
-
|
|
4869
|
-
|
|
4870
|
-
|
|
4871
|
-
|
|
4872
|
-
|
|
4873
|
-
|
|
4874
|
-
],
|
|
4875
|
-
|
|
4876
|
-
|
|
4877
|
-
|
|
4878
|
-
|
|
4879
|
-
|
|
4880
|
-
|
|
4881
|
-
|
|
4882
|
-
], FsStatusComponent.prototype, "rows", void 0);
|
|
4883
|
-
__decorate([
|
|
4884
|
-
Input(),
|
|
4885
|
-
__metadata("design:type", Object)
|
|
4886
|
-
], FsStatusComponent.prototype, "scrollable", void 0);
|
|
4887
|
-
__decorate([
|
|
4888
|
-
Input(),
|
|
4889
|
-
HostBinding('class.first-load'),
|
|
4890
|
-
HostBinding('class.fs-skeleton-placeholder'),
|
|
4891
|
-
__metadata("design:type", Boolean)
|
|
4892
|
-
], FsStatusComponent.prototype, "firstLoad", void 0);
|
|
4893
|
-
FsStatusComponent = __decorate([
|
|
4894
|
-
Component({
|
|
4895
|
-
selector: 'fs-list-status',
|
|
4896
|
-
template: "<div class=\"status\">\n <ng-container *ngIf=\"paging.enabled && !scrollable\">\n <ng-container *ngIf=\"paging.records > 0; else emptyResults\">\n Showing <a [fsMenuTriggerFor]=\"limitsMenu\">{{ paging.statusLabel }}</a> of {{ paging.records | number:'1.0':'en-US' }} results\n </ng-container>\n <ng-template #emptyResults>\n Showing <a [fsMenuTriggerFor]=\"limitsMenu\">0</a> results\n </ng-template>\n <ng-container *ngTemplateOutlet=\"sortedBy\"></ng-container><!--\n--></ng-container><!--\n\n--><ng-container *ngIf=\"(!paging.enabled || scrollable) && paging.displayed > 0\">\n <ng-container *ngIf=\"!scrollable; else scrollable\">\n Showing\n <span *ngIf=\"paging.displayed == 1\">{{ paging.displayed }} result </span>\n <span *ngIf=\"paging.displayed > 1\">{{ paging.displayed | number:'1.0':'en-US' }} results </span>\n </ng-container>\n\n <ng-template #scrollable>\n <span *ngIf=\"paging.records == 1\">{{ paging.records }} result </span>\n <span *ngIf=\"paging.records > 1\">{{ paging.records | number:'1.0':'en-US' }} results </span>\n </ng-template>\n <ng-container *ngTemplateOutlet=\"sortedBy\"></ng-container><!--\n--></ng-container><!--\n\n--><fs-list-saved-filters class=\"saved-filters\"></fs-list-saved-filters>\n\n <fs-menu [hidden]=\"!paging.enabled || scrollable\" #limitsMenu>\n <ng-template\n ngFor\n let-limit\n [ngForOf]=\"paging.limits\"\n >\n <ng-template fs-menu-item (click)=\"setLimit(limit)\">\n {{ limit }}\n </ng-template>\n </ng-template>\n </fs-menu>\n\n <fs-menu [hidden]=\"!sorting.sortingColumn || paging.displayed === 0\" #orderColumnsMenu>\n <!-- Real sorting columns -->\n <ng-template\n ngFor\n let-column\n [ngForOf]=\"sorting.sortingColumns\"\n >\n <ng-template fs-menu-item (click)=\"setSortableColumn(column)\">\n <ng-container *ngIf=\"column.title; else sortByTemplate\">\n {{ column.title }}\n </ng-container>\n <ng-template #sortByTemplate>\n <ng-template [ngTemplateOutlet]=\"column.headerTemplate\"></ng-template>\n </ng-template>\n </ng-template>\n </ng-template>\n\n <!-- Fake sorting columns -->\n <ng-template\n ngFor\n let-column\n [ngForOf]=\"sorting.fakeSortingColumns\"\n >\n <ng-template fs-menu-item (click)=\"setSortableColumn(column)\">\n {{ column.title }}\n </ng-template>\n </ng-template>\n </fs-menu>\n\n <ng-template #sortedBy>\n <ng-container *ngIf=\"sorting.sortingColumn\">\n sorted by\n <ng-container *ngIf=\"sorting.sortingColumn.title; else sortByTemplate\">\n <a class=\"order-toggle\" [fsMenuTriggerFor]=\"orderColumnsMenu\">{{ sorting.sortingColumn.title }}</a>,\n </ng-container>\n <ng-template #sortByTemplate>\n <a class=\"order-toggle\" [fsMenuTriggerFor]=\"orderColumnsMenu\">\n <ng-template [ngTemplateOutlet]=\"sorting.sortingColumn.headerTemplate\"></ng-template>\n </a>,\n </ng-template>\n <a class=\"order-toggle\" (click)=\"toggleDirection()\">{{ sorting.sortingColumn.fullNameDirection }}</a><!--\n --></ng-container><!--\n--></ng-template>\n</div>\n",
|
|
4897
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
4898
|
-
preserveWhitespaces: true,
|
|
4899
|
-
styles: [":host{display:inline-block}:host.first-load .status{visibility:hidden}.order-toggle{white-space:nowrap}a{cursor:pointer}"]
|
|
4900
|
-
}),
|
|
4901
|
-
__metadata("design:paramtypes", [ChangeDetectorRef])
|
|
4902
|
-
], FsStatusComponent);
|
|
4842
|
+
}
|
|
4843
|
+
FsListLoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListLoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4844
|
+
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 });
|
|
4845
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListLoaderComponent, decorators: [{
|
|
4846
|
+
type: Component,
|
|
4847
|
+
args: [{
|
|
4848
|
+
selector: 'fs-list-loader',
|
|
4849
|
+
templateUrl: './loader.component.html',
|
|
4850
|
+
styleUrls: [
|
|
4851
|
+
'./loader.component.scss',
|
|
4852
|
+
],
|
|
4853
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
4854
|
+
}]
|
|
4855
|
+
}], propDecorators: { columns: [{
|
|
4856
|
+
type: Input
|
|
4857
|
+
}], loaderLines: [{
|
|
4858
|
+
type: Input
|
|
4859
|
+
}] } });
|
|
4903
4860
|
|
|
4904
|
-
|
|
4861
|
+
class FsPaginationComponent {
|
|
4905
4862
|
constructor(cdRef) {
|
|
4906
4863
|
this.cdRef = cdRef;
|
|
4907
4864
|
this._destroy$ = new Subject();
|
|
@@ -4917,246 +4874,366 @@ let FsPaginationComponent = class FsPaginationComponent {
|
|
|
4917
4874
|
this._destroy$.next();
|
|
4918
4875
|
this._destroy$.complete();
|
|
4919
4876
|
}
|
|
4920
|
-
}
|
|
4921
|
-
FsPaginationComponent
|
|
4922
|
-
{ type:
|
|
4923
|
-
|
|
4924
|
-
|
|
4925
|
-
|
|
4926
|
-
|
|
4927
|
-
|
|
4928
|
-
|
|
4929
|
-
|
|
4930
|
-
|
|
4931
|
-
|
|
4932
|
-
|
|
4933
|
-
|
|
4934
|
-
|
|
4935
|
-
|
|
4936
|
-
|
|
4937
|
-
|
|
4938
|
-
}),
|
|
4939
|
-
__metadata("design:paramtypes", [ChangeDetectorRef])
|
|
4940
|
-
], FsPaginationComponent);
|
|
4877
|
+
}
|
|
4878
|
+
FsPaginationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsPaginationComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
4879
|
+
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 });
|
|
4880
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsPaginationComponent, decorators: [{
|
|
4881
|
+
type: Component,
|
|
4882
|
+
args: [{
|
|
4883
|
+
selector: 'fs-list-pagination',
|
|
4884
|
+
templateUrl: 'pagination.component.html',
|
|
4885
|
+
styleUrls: [
|
|
4886
|
+
'./pagination.component.scss'
|
|
4887
|
+
],
|
|
4888
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
4889
|
+
}]
|
|
4890
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { pagination: [{
|
|
4891
|
+
type: Input
|
|
4892
|
+
}], rows: [{
|
|
4893
|
+
type: Input
|
|
4894
|
+
}] } });
|
|
4941
4895
|
|
|
4942
|
-
|
|
4943
|
-
constructor() {
|
|
4944
|
-
|
|
4945
|
-
this.
|
|
4946
|
-
|
|
4947
|
-
|
|
4896
|
+
class FsListContentInitDirective {
|
|
4897
|
+
constructor() { }
|
|
4898
|
+
ngAfterViewInit() {
|
|
4899
|
+
if (this.contentInitCallback) {
|
|
4900
|
+
this.contentInitCallback();
|
|
4901
|
+
}
|
|
4902
|
+
}
|
|
4903
|
+
}
|
|
4904
|
+
FsListContentInitDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListContentInitDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
4905
|
+
FsListContentInitDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: FsListContentInitDirective, selector: "[fsListContentInit]", inputs: { contentInitCallback: ["fsListContentInit", "contentInitCallback"] }, ngImport: i0 });
|
|
4906
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListContentInitDirective, decorators: [{
|
|
4907
|
+
type: Directive,
|
|
4908
|
+
args: [{
|
|
4909
|
+
selector: '[fsListContentInit]'
|
|
4910
|
+
}]
|
|
4911
|
+
}], ctorParameters: function () { return []; }, propDecorators: { contentInitCallback: [{
|
|
4912
|
+
type: Input,
|
|
4913
|
+
args: ['fsListContentInit']
|
|
4914
|
+
}] } });
|
|
4915
|
+
|
|
4916
|
+
class FsListComponent {
|
|
4917
|
+
constructor(reorderController, _el, _defaultOptions, fsScroll, selectionDialog, dialog, cdRef, _groupExpandNotifier, _router, _route, _persistance, _location, _dialogRef, _drawerRef) {
|
|
4918
|
+
this.reorderController = reorderController;
|
|
4919
|
+
this._el = _el;
|
|
4920
|
+
this._defaultOptions = _defaultOptions;
|
|
4921
|
+
this.fsScroll = fsScroll;
|
|
4922
|
+
this.selectionDialog = selectionDialog;
|
|
4923
|
+
this.dialog = dialog;
|
|
4924
|
+
this.cdRef = cdRef;
|
|
4925
|
+
this._groupExpandNotifier = _groupExpandNotifier;
|
|
4926
|
+
this._router = _router;
|
|
4927
|
+
this._route = _route;
|
|
4928
|
+
this._persistance = _persistance;
|
|
4929
|
+
this._location = _location;
|
|
4930
|
+
this._dialogRef = _dialogRef;
|
|
4931
|
+
this._drawerRef = _drawerRef;
|
|
4932
|
+
this.classFsList = true;
|
|
4933
|
+
this.loaderLines = 3;
|
|
4934
|
+
this.filtersReady = new EventEmitter();
|
|
4935
|
+
// Event will fired if action remove: true will clicked
|
|
4936
|
+
this.rowRemoved = new EventEmitter();
|
|
4937
|
+
this.firstLoad = true;
|
|
4938
|
+
this._filterParamsReady = false;
|
|
4939
|
+
this._inDialog = !!this._dialogRef || !!this._drawerRef;
|
|
4940
|
+
this._destroy = new Subject();
|
|
4941
|
+
}
|
|
4942
|
+
set config(config) {
|
|
4943
|
+
this._initWithConfig(config);
|
|
4944
|
+
}
|
|
4945
|
+
set filterReference(component) {
|
|
4946
|
+
this._filterRef = component;
|
|
4947
|
+
this.list.actions.setFilterRef(component);
|
|
4948
|
+
this._emitFiltersReadyEvent();
|
|
4949
|
+
}
|
|
4950
|
+
/**
|
|
4951
|
+
* Set columns to config
|
|
4952
|
+
* Create Column Model instances
|
|
4953
|
+
*
|
|
4954
|
+
*/
|
|
4955
|
+
set columnTemplates(listColumnDirectives) {
|
|
4956
|
+
this.listColumnDirectives = listColumnDirectives;
|
|
4957
|
+
if (this.list) {
|
|
4958
|
+
this.list.tranformTemplatesToColumns(listColumnDirectives);
|
|
4959
|
+
}
|
|
4960
|
+
}
|
|
4961
|
+
set _emptyStateTemplate(template) {
|
|
4962
|
+
if (this.list) {
|
|
4963
|
+
this.list.emptyStateTemplate = template;
|
|
4964
|
+
}
|
|
4965
|
+
}
|
|
4966
|
+
/**
|
|
4967
|
+
* Return reference for filter
|
|
4968
|
+
*/
|
|
4969
|
+
get filterRef() {
|
|
4970
|
+
return this._filterRef;
|
|
4971
|
+
}
|
|
4972
|
+
get groupEnabled() {
|
|
4973
|
+
return this.list.dataController.groupEnabled;
|
|
4974
|
+
}
|
|
4975
|
+
get paginatorVisible() {
|
|
4976
|
+
return this.list.paging.enabled
|
|
4977
|
+
&& !this.firstLoad
|
|
4978
|
+
&& !this.list.scrollable
|
|
4979
|
+
&& !this.list.emptyStateEnabled
|
|
4980
|
+
&& this.list.dataController.visibleRowsCount > 0
|
|
4981
|
+
&& this.list.paging.pages > 1;
|
|
4982
|
+
}
|
|
4983
|
+
set groupEnabled(value) {
|
|
4984
|
+
this.list.groupEnabled(value);
|
|
4948
4985
|
}
|
|
4949
4986
|
ngOnInit() {
|
|
4950
|
-
this.
|
|
4951
|
-
|
|
4952
|
-
|
|
4953
|
-
|
|
4987
|
+
this._subscribeToRemoveRow();
|
|
4988
|
+
this._subscribeToGroupExpandStatusChange();
|
|
4989
|
+
}
|
|
4990
|
+
ngOnDestroy() {
|
|
4991
|
+
if (this.list) {
|
|
4992
|
+
this.list.destroy();
|
|
4993
|
+
}
|
|
4994
|
+
this._destroy.next();
|
|
4995
|
+
this._destroy.complete();
|
|
4996
|
+
}
|
|
4997
|
+
nextPage() {
|
|
4998
|
+
this.list.paging.goNext();
|
|
4999
|
+
}
|
|
5000
|
+
prevPage() {
|
|
5001
|
+
this.list.paging.goPrev();
|
|
5002
|
+
}
|
|
5003
|
+
firstPage() {
|
|
5004
|
+
this.list.paging.goFirst();
|
|
5005
|
+
}
|
|
5006
|
+
lastPage() {
|
|
5007
|
+
this.list.paging.goLast();
|
|
5008
|
+
}
|
|
5009
|
+
reload() {
|
|
5010
|
+
this.list.reload();
|
|
5011
|
+
}
|
|
5012
|
+
getData(trackBy) {
|
|
5013
|
+
return this.list.getData(trackBy);
|
|
5014
|
+
}
|
|
5015
|
+
hasData(trackBy) {
|
|
5016
|
+
return this.list.hasData(trackBy);
|
|
5017
|
+
}
|
|
5018
|
+
updateData(rows, trackBy) {
|
|
5019
|
+
return this.list.dataController.updateData(rows, trackBy);
|
|
5020
|
+
}
|
|
5021
|
+
replaceRow(row, trackBy) {
|
|
5022
|
+
return this.list.dataController.replaceData(row, trackBy);
|
|
5023
|
+
}
|
|
5024
|
+
updateSelectionConfig(config) {
|
|
5025
|
+
this.list.selection.updateConfig(config);
|
|
5026
|
+
}
|
|
5027
|
+
resetSelectionActions() {
|
|
5028
|
+
this.list.selection.resetActions();
|
|
5029
|
+
}
|
|
5030
|
+
removeData(data) {
|
|
5031
|
+
return this.list.dataController.removeData(data);
|
|
5032
|
+
}
|
|
5033
|
+
setHeading(heading) {
|
|
5034
|
+
this.list.heading = heading;
|
|
5035
|
+
}
|
|
5036
|
+
setSubheading(subheading) {
|
|
5037
|
+
this.list.subheading = subheading;
|
|
5038
|
+
}
|
|
5039
|
+
reorderStart() {
|
|
5040
|
+
this.reorderController.enableReorder();
|
|
5041
|
+
}
|
|
5042
|
+
reorderFinish() {
|
|
5043
|
+
this.reorderController.disableReorder();
|
|
5044
|
+
}
|
|
5045
|
+
setActions(actions) {
|
|
5046
|
+
if (actions) {
|
|
5047
|
+
this.list.actions.clearActions();
|
|
5048
|
+
this.list.actions.setActions(actions);
|
|
5049
|
+
}
|
|
5050
|
+
}
|
|
5051
|
+
filterReady() {
|
|
5052
|
+
this.list.filtersReady$.next();
|
|
5053
|
+
this._filterParamsReady = true;
|
|
5054
|
+
this._emitFiltersReadyEvent();
|
|
5055
|
+
}
|
|
5056
|
+
/**
|
|
5057
|
+
* Update visibility for specific column
|
|
5058
|
+
*/
|
|
5059
|
+
columnVisibility(name, show) {
|
|
5060
|
+
this.columnsVisibility([{ name, show }]);
|
|
5061
|
+
}
|
|
5062
|
+
/**
|
|
5063
|
+
* Update visibility for list of specific columns
|
|
5064
|
+
*/
|
|
5065
|
+
columnsVisibility(columns) {
|
|
5066
|
+
this.list.columns.updateVisibilityForCols(columns);
|
|
5067
|
+
}
|
|
5068
|
+
_emitFiltersReadyEvent() {
|
|
5069
|
+
if (!!this.filterRef && this._filterParamsReady) {
|
|
5070
|
+
this.filtersReady.emit();
|
|
5071
|
+
}
|
|
5072
|
+
}
|
|
5073
|
+
/**
|
|
5074
|
+
* Initialize config for list
|
|
5075
|
+
* @param config
|
|
5076
|
+
*/
|
|
5077
|
+
_initWithConfig(config) {
|
|
5078
|
+
if (this.list) {
|
|
5079
|
+
this.list.destroy();
|
|
4954
5080
|
}
|
|
4955
|
-
|
|
4956
|
-
|
|
4957
|
-
|
|
4958
|
-
|
|
5081
|
+
const defaultOpts = this._defaultOptions
|
|
5082
|
+
? cloneDeep(this._defaultOptions)
|
|
5083
|
+
: {};
|
|
5084
|
+
const listConfig = mergeWith(defaultOpts, config, this._configMergeCustomizer);
|
|
5085
|
+
if (listConfig.persist !== false) {
|
|
5086
|
+
this._restorePersistance(listConfig.persist);
|
|
4959
5087
|
}
|
|
4960
|
-
|
|
4961
|
-
|
|
4962
|
-
|
|
4963
|
-
|
|
5088
|
+
this._updateCustomizeAction(listConfig.actions);
|
|
5089
|
+
this.list = new List(this._el, listConfig, this.fsScroll, this.selectionDialog, this._router, this._route, this._persistance, this._inDialog);
|
|
5090
|
+
this._waitFirstLoad();
|
|
5091
|
+
this._listenFiltersQueryChange();
|
|
5092
|
+
this.reorderController.initWithConfig(config.reorder, this.list.dataController, this.list.actions);
|
|
5093
|
+
if (this.listColumnDirectives) {
|
|
5094
|
+
this.list.tranformTemplatesToColumns(this.listColumnDirectives);
|
|
4964
5095
|
}
|
|
5096
|
+
this._listenSortingChange();
|
|
4965
5097
|
}
|
|
4966
|
-
|
|
4967
|
-
|
|
4968
|
-
|
|
4969
|
-
|
|
4970
|
-
|
|
4971
|
-
|
|
4972
|
-
|
|
4973
|
-
|
|
4974
|
-
|
|
4975
|
-
|
|
4976
|
-
|
|
4977
|
-
|
|
4978
|
-
|
|
4979
|
-
|
|
4980
|
-
|
|
4981
|
-
|
|
4982
|
-
], FsListLoaderComponent);
|
|
4983
|
-
|
|
4984
|
-
let FsRowActionsComponent = class FsRowActionsComponent {
|
|
4985
|
-
constructor(_fsPrompt) {
|
|
4986
|
-
this._fsPrompt = _fsPrompt;
|
|
4987
|
-
this.restoreMode = false;
|
|
4988
|
-
this.rowActions = [];
|
|
4989
|
-
this.menuRowActions = [];
|
|
4990
|
-
this.inlineRowActions = [];
|
|
4991
|
-
this._destroy$ = new Subject();
|
|
4992
|
-
}
|
|
4993
|
-
actionClick(action, row, event, menuRef) {
|
|
4994
|
-
if (action.remove) {
|
|
4995
|
-
if (typeof action.remove === 'boolean') {
|
|
4996
|
-
this.removeAction(action, row.data, event, this.index);
|
|
4997
|
-
}
|
|
4998
|
-
else {
|
|
4999
|
-
this._fsPrompt.confirm({
|
|
5000
|
-
title: action.remove.title,
|
|
5001
|
-
template: action.remove.template,
|
|
5002
|
-
}).pipe(take(1), takeUntil(this._destroy$)).subscribe({
|
|
5003
|
-
next: () => {
|
|
5004
|
-
this.removeAction(action, row.data, event, this.index);
|
|
5098
|
+
/**
|
|
5099
|
+
* Find action with customize flag and re-declare click function for CustomizeColsDialog
|
|
5100
|
+
* @param actions
|
|
5101
|
+
*/
|
|
5102
|
+
_updateCustomizeAction(actions) {
|
|
5103
|
+
const customizeAction = actions === null || actions === void 0 ? void 0 : actions.find((action) => action.customize);
|
|
5104
|
+
if (customizeAction) {
|
|
5105
|
+
const actionClickFn = customizeAction.click;
|
|
5106
|
+
customizeAction.click = () => {
|
|
5107
|
+
if (actionClickFn) {
|
|
5108
|
+
actionClickFn(null);
|
|
5109
|
+
}
|
|
5110
|
+
const dialogRef = this.dialog.open(CustomizeColsDialogComponent, {
|
|
5111
|
+
data: {
|
|
5112
|
+
columns: this.list.columns.columnsForDialog,
|
|
5113
|
+
changeFn: this.list.columns.changeFn,
|
|
5005
5114
|
},
|
|
5006
|
-
error: () => { },
|
|
5007
5115
|
});
|
|
5008
|
-
|
|
5009
|
-
|
|
5010
|
-
|
|
5011
|
-
|
|
5116
|
+
dialogRef
|
|
5117
|
+
.afterClosed()
|
|
5118
|
+
.pipe(takeUntil(this.list.onDestroy$), takeUntil(this._destroy))
|
|
5119
|
+
.subscribe((data) => {
|
|
5120
|
+
if (data) {
|
|
5121
|
+
this.list.columns.updateVisibilityForCols(data);
|
|
5122
|
+
this.cdRef.markForCheck();
|
|
5123
|
+
}
|
|
5124
|
+
});
|
|
5125
|
+
};
|
|
5012
5126
|
}
|
|
5013
5127
|
}
|
|
5014
5128
|
/**
|
|
5015
|
-
*
|
|
5016
|
-
* @param index
|
|
5129
|
+
* Update sorting in filter
|
|
5017
5130
|
*/
|
|
5018
|
-
|
|
5019
|
-
|
|
5131
|
+
_listenSortingChange() {
|
|
5132
|
+
this.list.sorting
|
|
5133
|
+
.sortingChanged$
|
|
5134
|
+
.pipe(takeUntil(this.list.onDestroy$), takeUntil(this._destroy))
|
|
5135
|
+
.subscribe((sort) => {
|
|
5136
|
+
this._filterRef.updateSort(sort);
|
|
5137
|
+
});
|
|
5020
5138
|
}
|
|
5021
|
-
|
|
5022
|
-
|
|
5023
|
-
|
|
5024
|
-
.
|
|
5139
|
+
_subscribeToRemoveRow() {
|
|
5140
|
+
this.rowRemoved
|
|
5141
|
+
.pipe(takeUntil(this._destroy))
|
|
5142
|
+
.subscribe((row) => {
|
|
5143
|
+
this.list.dataController.removeData(row);
|
|
5144
|
+
});
|
|
5025
5145
|
}
|
|
5026
|
-
|
|
5027
|
-
|
|
5028
|
-
|
|
5029
|
-
|
|
5030
|
-
|
|
5031
|
-
|
|
5032
|
-
*/
|
|
5033
|
-
removeAction(action, row, event, index) {
|
|
5034
|
-
const removeObservable = action.click(row, event, index);
|
|
5035
|
-
if (removeObservable && removeObservable instanceof Observable) {
|
|
5036
|
-
removeObservable
|
|
5037
|
-
.pipe(take(1), takeUntil(this._destroy$))
|
|
5038
|
-
.subscribe(() => {
|
|
5039
|
-
this.rowRemoved.emit(row);
|
|
5146
|
+
_subscribeToGroupExpandStatusChange() {
|
|
5147
|
+
if (this.list.dataController.hasGroups) {
|
|
5148
|
+
this._groupExpandNotifier.expandStatusChange$
|
|
5149
|
+
.pipe(takeUntil(this._destroy))
|
|
5150
|
+
.subscribe((row) => {
|
|
5151
|
+
this.list.dataController.toggleRowGroup(row);
|
|
5040
5152
|
});
|
|
5041
5153
|
}
|
|
5042
5154
|
}
|
|
5043
|
-
|
|
5044
|
-
|
|
5045
|
-
|
|
5046
|
-
|
|
5047
|
-
|
|
5048
|
-
|
|
5049
|
-
|
|
5050
|
-
], FsRowActionsComponent.prototype, "row", void 0);
|
|
5051
|
-
__decorate([
|
|
5052
|
-
Input(),
|
|
5053
|
-
__metadata("design:type", Number)
|
|
5054
|
-
], FsRowActionsComponent.prototype, "index", void 0);
|
|
5055
|
-
__decorate([
|
|
5056
|
-
Input(),
|
|
5057
|
-
__metadata("design:type", Object)
|
|
5058
|
-
], FsRowActionsComponent.prototype, "restoreMode", void 0);
|
|
5059
|
-
__decorate([
|
|
5060
|
-
Input(),
|
|
5061
|
-
__metadata("design:type", Array)
|
|
5062
|
-
], FsRowActionsComponent.prototype, "rowActions", void 0);
|
|
5063
|
-
__decorate([
|
|
5064
|
-
Input(),
|
|
5065
|
-
__metadata("design:type", EventEmitter)
|
|
5066
|
-
], FsRowActionsComponent.prototype, "rowRemoved", void 0);
|
|
5067
|
-
__decorate([
|
|
5068
|
-
Input(),
|
|
5069
|
-
__metadata("design:type", Array)
|
|
5070
|
-
], FsRowActionsComponent.prototype, "menuRowActions", void 0);
|
|
5071
|
-
__decorate([
|
|
5072
|
-
Input(),
|
|
5073
|
-
__metadata("design:type", Array)
|
|
5074
|
-
], FsRowActionsComponent.prototype, "inlineRowActions", void 0);
|
|
5075
|
-
__decorate([
|
|
5076
|
-
Input(),
|
|
5077
|
-
__metadata("design:type", RowAction)
|
|
5078
|
-
], FsRowActionsComponent.prototype, "restoreAction", void 0);
|
|
5079
|
-
FsRowActionsComponent = __decorate([
|
|
5080
|
-
Component({
|
|
5081
|
-
selector: 'fs-list-row-actions',
|
|
5082
|
-
template: "<ng-container *ngIf=\"!restoreMode || (restoreMode && !restoreAction)\">\n <ng-container *ngFor=\"let action of inlineRowActions; trackBy: trackByFn\">\n <fs-list-row-inline-action class=\"row-inline-action row-inline-action-{{action.type}}\"\n [action]=\"action\"\n [ngClass]=\"{'mobile-hide': action.menu === undefined}\"\n (clicked)=\"actionClick(action, row, $event)\"\n (fileSelect)=\"action.fileConfig.select($event, row, index)\">\n </fs-list-row-inline-action>\n </ng-container>\n</ng-container>\n\n<!-- Menu -->\n<fs-menu class=\"row-menu-action\"\n *ngIf=\"menuRowActions.length || (restoreMode && restoreAction)\"\n (click)=\"clickOnTrigger($event)\"\n #menuRef\n>\n <!-- Case when we have usual menu actions -->\n <ng-container *ngIf=\"!restoreMode || (restoreMode && !restoreAction)\">\n <ng-container *ngFor=\"let action of inlineRowActions; trackBy: trackByFn\">\n <ng-template class=\"hidden-mobile-menu-action\"\n fs-menu-item\n [link]=\"action.routerLink?.link\"\n [queryParams]=\"action.routerLink?.queryParams\"\n [target]=\"action.routerLink?.target\"\n [hidden]=\"action.menu !== undefined && !action.isShown\">\n <fs-list-row-menu-action\n [icon]=\"action.icon\"\n [label]=\"action.label\"\n [file]=\"action.fileConfig\"\n (fileSelect)=\"action.fileConfig.select($event, row, index)\"\n (fileError)=\"action.fileConfig.error && action.fileConfig.error($event)\">\n </fs-list-row-menu-action>\n </ng-template>\n </ng-container>\n\n <ng-container *ngFor=\"let action of menuRowActions; trackBy: trackByFn\">\n <ng-container *ngIf=\"action.isGroup else simpleMenuItem\">\n <fs-menu-group [label]=\"action.label\">\n <ng-container *ngFor=\"let subAction of action.rowActions\">\n <ng-template fs-menu-item\n [link]=\"subAction.routerLink?.link\"\n [queryParams]=\"subAction.routerLink?.queryParams\"\n [target]=\"subAction.routerLink?.target\"\n [hidden]=\"!subAction.isShown\"\n (click)=\"actionClick(subAction, row, $event, menuRef);\">\n <fs-list-row-menu-action\n [icon]=\"subAction.icon\"\n [label]=\"subAction.label\"\n [file]=\"subAction.fileConfig\"\n (fileSelect)=\"subAction.fileConfig.select($event, row, index)\"\n (fileError)=\"subAction.fileConfig.error && subAction.fileConfig.error($event)\">\n </fs-list-row-menu-action>\n </ng-template>\n </ng-container>\n </fs-menu-group>\n </ng-container>\n <ng-template #simpleMenuItem>\n <ng-template fs-menu-item\n [link]=\"action.routerLink?.link\"\n [queryParams]=\"action.routerLink?.queryParams\"\n [target]=\"action.routerLink?.target\"\n [hidden]=\"!action.isShown\"\n (click)=\"actionClick(action, row, $event, menuRef);\">\n <fs-list-row-menu-action\n [icon]=\"action.icon\"\n [label]=\"action.label\"\n [file]=\"action.fileConfig\"\n (fileSelect)=\"action.fileConfig.select($event, row, index)\"\n (fileError)=\"action.fileConfig.error && action.fileConfig.error($event)\">\n </fs-list-row-menu-action>\n </ng-template>\n </ng-template>\n </ng-container>\n </ng-container>\n\n <!-- Case when we have restore mode enabled and must hide menu actions -->\n <ng-container *ngIf=\"restoreMode && restoreAction\">\n <ng-template fs-menu-item (click)=\"actionClick(restoreAction, row, $event, menuRef)\">\n <mat-icon *ngIf=\"restoreAction.icon\">{{restoreAction.icon}}</mat-icon>\n {{restoreAction.label}}\n </ng-template>\n </ng-container>\n</fs-menu>\n",
|
|
5083
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
5084
|
-
}),
|
|
5085
|
-
__metadata("design:paramtypes", [FsPrompt])
|
|
5086
|
-
], FsRowActionsComponent);
|
|
5087
|
-
|
|
5088
|
-
let FsRowInlineActionComponent = class FsRowInlineActionComponent {
|
|
5089
|
-
constructor(_fsPrompt) {
|
|
5090
|
-
this._fsPrompt = _fsPrompt;
|
|
5091
|
-
this.clicked = new EventEmitter();
|
|
5092
|
-
this.fileSelect = new EventEmitter();
|
|
5155
|
+
_waitFirstLoad() {
|
|
5156
|
+
this.list.loading$
|
|
5157
|
+
.pipe(skip(1), filter((value) => value === false), take(1), takeUntil(this.list.onDestroy$), takeUntil(this._destroy))
|
|
5158
|
+
.subscribe(() => {
|
|
5159
|
+
this.firstLoad = false;
|
|
5160
|
+
this.cdRef.markForCheck();
|
|
5161
|
+
});
|
|
5093
5162
|
}
|
|
5094
|
-
|
|
5095
|
-
this.
|
|
5163
|
+
_listenFiltersQueryChange() {
|
|
5164
|
+
this.list.filtersQuery$
|
|
5165
|
+
.pipe(takeUntil(this.list.onDestroy$), takeUntil(this._destroy))
|
|
5166
|
+
.subscribe((value) => {
|
|
5167
|
+
if (value) {
|
|
5168
|
+
const activeFilters = Object.keys(value).length;
|
|
5169
|
+
this.reorderController.setNunberOfActiveFilters(activeFilters);
|
|
5170
|
+
}
|
|
5171
|
+
});
|
|
5096
5172
|
}
|
|
5097
|
-
|
|
5098
|
-
|
|
5173
|
+
_configMergeCustomizer(objValue, srcValue) {
|
|
5174
|
+
if (Array.isArray(objValue)) {
|
|
5175
|
+
return objValue;
|
|
5176
|
+
}
|
|
5099
5177
|
}
|
|
5100
|
-
|
|
5101
|
-
|
|
5102
|
-
|
|
5103
|
-
];
|
|
5104
|
-
__decorate([
|
|
5105
|
-
Input(),
|
|
5106
|
-
__metadata("design:type", RowAction)
|
|
5107
|
-
], FsRowInlineActionComponent.prototype, "action", void 0);
|
|
5108
|
-
__decorate([
|
|
5109
|
-
Output(),
|
|
5110
|
-
__metadata("design:type", Object)
|
|
5111
|
-
], FsRowInlineActionComponent.prototype, "clicked", void 0);
|
|
5112
|
-
__decorate([
|
|
5113
|
-
Output(),
|
|
5114
|
-
__metadata("design:type", Object)
|
|
5115
|
-
], FsRowInlineActionComponent.prototype, "fileSelect", void 0);
|
|
5116
|
-
FsRowInlineActionComponent = __decorate([
|
|
5117
|
-
Component({
|
|
5118
|
-
selector: 'fs-list-row-inline-action',
|
|
5119
|
-
template: "<ng-container *ngIf=\"action.isShown\" [ngSwitch]=\"action.type\">\n <!-- Basic button -->\n <ng-container *ngSwitchCase=\"'basic'\">\n <ng-container *ngIf=\"!action.routerLink; else link\">\n <button type=\"button\"\n mat-button\n (click)=\"actionClick($event)\"\n [ngClass]=\"action.classArray\"\n >\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n </ng-container>\n <ng-template #link>\n <a mat-button\n [routerLink]=\"action.routerLink.link\"\n [queryParams]=\"action.routerLink.queryParams\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </a>\n </ng-template>\n </ng-container>\n\n <!-- Raised button -->\n <ng-container *ngSwitchCase=\"'raised'\">\n <ng-container *ngIf=\"!action.routerLink; else link\">\n <button type=\"button\"\n mat-raised-button\n (click)=\"actionClick($event)\"\n [ngClass]=\"action.classArray\"\n >\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n </ng-container>\n <ng-template #link>\n <a mat-raised-button\n [routerLink]=\"action.routerLink.link\"\n [queryParams]=\"action.routerLink.queryParams\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </a>\n </ng-template>\n </ng-container>\n\n <!-- Icon button -->\n <ng-container *ngSwitchCase=\"'icon'\">\n <ng-container *ngIf=\"!action.routerLink; else link\">\n <button type=\"button\"\n mat-icon-button\n (click)=\"actionClick($event)\"\n [ngClass]=\"action.classArray\"\n >\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n </ng-container>\n <ng-template #link>\n <a mat-icon-button\n [routerLink]=\"action.routerLink.link\"\n [queryParams]=\"action.routerLink.queryParams\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </a>\n </ng-template>\n </ng-container>\n\n <!-- Fab button -->\n <ng-container *ngSwitchCase=\"'fab'\">\n <ng-container *ngIf=\"!action.routerLink; else link\">\n <button type=\"button\"\n mat-fab\n (click)=\"actionClick($event)\"\n [ngClass]=\"action.classArray\"\n >\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n </ng-container>\n <ng-template #link>\n <a mat-fab\n [routerLink]=\"action.routerLink.link\"\n [queryParams]=\"action.routerLink.queryParams\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </a>\n </ng-template>\n </ng-container>\n\n <!-- Mini Fab button -->\n <ng-container *ngSwitchCase=\"'mini-fab'\">\n <ng-container *ngIf=\"!action.routerLink; else link\">\n <button type=\"button\"\n mat-mini-fab\n (click)=\"actionClick($event)\"\n [ngClass]=\"action.classArray\"\n >\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n </ng-container>\n <ng-template #link>\n <a mat-mini-fab\n [routerLink]=\"action.routerLink.link\"\n [queryParams]=\"action.routerLink.queryParams\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </a>\n </ng-template>\n </ng-container>\n\n <ng-template #buttonContent>\n <ng-container *ngIf=\"!action.fileConfig else uploadFileBtn\">\n <mat-icon *ngIf=\"action.icon\">{{action.icon}}</mat-icon>\n {{action.label}}\n </ng-container>\n\n <ng-template #uploadFileBtn>\n <fs-file\n class=\"action-button\"\n [accept]=\"action.fileConfig.accept || '*'\"\n [multiple]=\"action.fileConfig.multiple\"\n [minWidth]=\"action.fileConfig.minWidth\"\n [minHeight]=\"action.fileConfig.minHeight\"\n [imageWidth]=\"action.fileConfig.maxWidth\"\n [imageHeight]=\"action.fileConfig.maxHeight\"\n (select)=\"fileSelected($event)\"\n (error)=\"action.fileConfig.error && action.fileConfig.error($event)\">\n <mat-icon *ngIf=\"action.icon\">{{action.icon}}</mat-icon>\n {{action.label}}\n </fs-file>\n </ng-template>\n </ng-template>\n</ng-container>\n",
|
|
5120
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
5121
|
-
}),
|
|
5122
|
-
__metadata("design:paramtypes", [FsPrompt])
|
|
5123
|
-
], FsRowInlineActionComponent);
|
|
5124
|
-
|
|
5125
|
-
let FsRowMenuActionComponent = class FsRowMenuActionComponent {
|
|
5126
|
-
constructor() {
|
|
5127
|
-
this.fileSelect = new EventEmitter();
|
|
5128
|
-
this.fileError = new EventEmitter();
|
|
5178
|
+
_restorePersistance(persistConfig) {
|
|
5179
|
+
const namespace = getNormalizedPath(this._location);
|
|
5180
|
+
this._persistance.setConfig(persistConfig, namespace, this._inDialog);
|
|
5129
5181
|
}
|
|
5130
|
-
}
|
|
5131
|
-
|
|
5132
|
-
|
|
5133
|
-
|
|
5134
|
-
|
|
5135
|
-
|
|
5136
|
-
Input(),
|
|
5137
|
-
|
|
5138
|
-
|
|
5139
|
-
|
|
5140
|
-
|
|
5141
|
-
|
|
5142
|
-
|
|
5143
|
-
|
|
5144
|
-
|
|
5145
|
-
|
|
5146
|
-
|
|
5147
|
-
|
|
5148
|
-
|
|
5149
|
-
|
|
5150
|
-
]
|
|
5151
|
-
|
|
5152
|
-
|
|
5153
|
-
|
|
5154
|
-
|
|
5155
|
-
|
|
5156
|
-
|
|
5157
|
-
],
|
|
5182
|
+
}
|
|
5183
|
+
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 });
|
|
5184
|
+
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: [
|
|
5185
|
+
GroupExpandNotifierService,
|
|
5186
|
+
PersistanceController,
|
|
5187
|
+
ReorderController,
|
|
5188
|
+
], 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 <ng-container *ngIf=\"!firstLoad && listData.length > 0 && !list.emptyStateEnabled\">\n <table class=\"fs-list-table\" role=\"grid\" [fsListContentInit]=\"list.afterContentInit\">\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$ | async\"\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$ | async\"\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$ | async\"\n [selection]=\"list.selection\"\n [hasRowActions]=\"list.hasRowActions\">\n </tfoot>\n </table>\n </ng-container>\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: FsListContentInitDirective, selector: "[fsListContentInit]", inputs: ["fsListContentInit"] }, { 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 });
|
|
5189
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListComponent, decorators: [{
|
|
5190
|
+
type: Component,
|
|
5191
|
+
args: [{
|
|
5192
|
+
selector: 'fs-list',
|
|
5193
|
+
templateUrl: 'list.component.html',
|
|
5194
|
+
styleUrls: [
|
|
5195
|
+
'./list.component.scss',
|
|
5196
|
+
],
|
|
5197
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
5198
|
+
providers: [
|
|
5199
|
+
GroupExpandNotifierService,
|
|
5200
|
+
PersistanceController,
|
|
5201
|
+
ReorderController,
|
|
5202
|
+
]
|
|
5203
|
+
}]
|
|
5204
|
+
}], ctorParameters: function () { return [{ type: ReorderController }, { type: i0.ElementRef }, { type: undefined, decorators: [{
|
|
5205
|
+
type: Optional
|
|
5206
|
+
}, {
|
|
5207
|
+
type: Inject,
|
|
5208
|
+
args: [FS_LIST_DEFAULT_CONFIG]
|
|
5209
|
+
}] }, { type: i2$4.FsScrollService, decorators: [{
|
|
5210
|
+
type: Optional
|
|
5211
|
+
}] }, { 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: [{
|
|
5212
|
+
type: Optional
|
|
5213
|
+
}] }, { type: i9.DrawerRef, decorators: [{
|
|
5214
|
+
type: Optional
|
|
5215
|
+
}] }]; }, propDecorators: { classFsList: [{
|
|
5216
|
+
type: HostBinding,
|
|
5217
|
+
args: ['class.fs-list']
|
|
5218
|
+
}], config: [{
|
|
5219
|
+
type: Input,
|
|
5220
|
+
args: ['config']
|
|
5221
|
+
}], loaderLines: [{
|
|
5222
|
+
type: Input
|
|
5223
|
+
}], filtersReady: [{
|
|
5224
|
+
type: Output
|
|
5225
|
+
}], filterReference: [{
|
|
5226
|
+
type: ViewChild,
|
|
5227
|
+
args: [FilterComponent]
|
|
5228
|
+
}], columnTemplates: [{
|
|
5229
|
+
type: ContentChildren,
|
|
5230
|
+
args: [FsListColumnDirective]
|
|
5231
|
+
}], _emptyStateTemplate: [{
|
|
5232
|
+
type: ContentChild,
|
|
5233
|
+
args: [FsListEmptyStateDirective, { read: TemplateRef }]
|
|
5234
|
+
}] } });
|
|
5158
5235
|
|
|
5159
|
-
|
|
5236
|
+
class FsListManageSavedFiltersComponent {
|
|
5160
5237
|
constructor(_externalParams) {
|
|
5161
5238
|
this._externalParams = _externalParams;
|
|
5162
5239
|
this._reorderReady = true;
|
|
@@ -5214,133 +5291,31 @@ let FsListManageSavedFiltersComponent = class FsListManageSavedFiltersComponent
|
|
|
5214
5291
|
}
|
|
5215
5292
|
};
|
|
5216
5293
|
}
|
|
5217
|
-
}
|
|
5218
|
-
FsListManageSavedFiltersComponent
|
|
5219
|
-
{ type:
|
|
5220
|
-
|
|
5221
|
-
|
|
5222
|
-
|
|
5223
|
-
|
|
5224
|
-
|
|
5225
|
-
|
|
5226
|
-
], FsListManageSavedFiltersComponent);
|
|
5227
|
-
|
|
5228
|
-
let FsListSavedFiltersComponent = class FsListSavedFiltersComponent {
|
|
5229
|
-
constructor(_dialog, _externalParams, _vcRef) {
|
|
5230
|
-
this._dialog = _dialog;
|
|
5231
|
-
this._externalParams = _externalParams;
|
|
5232
|
-
this._vcRef = _vcRef;
|
|
5233
|
-
}
|
|
5234
|
-
get savedFiltersEnabled$() {
|
|
5235
|
-
return this._externalParams.savedFiltersController.enabled$;
|
|
5236
|
-
}
|
|
5237
|
-
showManageDialog() {
|
|
5238
|
-
this._dialog.open(FsListManageSavedFiltersComponent, {
|
|
5239
|
-
viewContainerRef: this._vcRef,
|
|
5240
|
-
});
|
|
5241
|
-
}
|
|
5242
|
-
};
|
|
5243
|
-
FsListSavedFiltersComponent.ctorParameters = () => [
|
|
5244
|
-
{ type: MatDialog },
|
|
5245
|
-
{ type: ExternalParamsController$1 },
|
|
5246
|
-
{ type: ViewContainerRef }
|
|
5247
|
-
];
|
|
5248
|
-
FsListSavedFiltersComponent = __decorate([
|
|
5249
|
-
Component({
|
|
5250
|
-
selector: 'fs-list-saved-filters',
|
|
5251
|
-
template: "<ng-container *ngIf=\"savedFiltersEnabled$ | async\"><!--\n -->, saved filter\n <fs-filter-saved-filters-menu (manage)=\"showManageDialog()\"></fs-filter-saved-filters-menu>\n</ng-container>\n"
|
|
5252
|
-
}),
|
|
5253
|
-
__metadata("design:paramtypes", [MatDialog,
|
|
5254
|
-
ExternalParamsController$1,
|
|
5255
|
-
ViewContainerRef])
|
|
5256
|
-
], FsListSavedFiltersComponent);
|
|
5257
|
-
|
|
5258
|
-
let FsListDraggableRowDirective = class FsListDraggableRowDirective {
|
|
5259
|
-
constructor(_el, _renderer, _reorderController, _draggableList) {
|
|
5260
|
-
this._el = _el;
|
|
5261
|
-
this._renderer = _renderer;
|
|
5262
|
-
this._reorderController = _reorderController;
|
|
5263
|
-
this._draggableList = _draggableList;
|
|
5264
|
-
this._destroy$ = new Subject();
|
|
5265
|
-
}
|
|
5266
|
-
ngOnInit() {
|
|
5267
|
-
if (this._reorderController.moveDropCallback) {
|
|
5268
|
-
this._listenDragEvents();
|
|
5269
|
-
}
|
|
5270
|
-
}
|
|
5271
|
-
ngOnDestroy() {
|
|
5272
|
-
this._destroy$.next();
|
|
5273
|
-
this._destroy$.complete();
|
|
5274
|
-
}
|
|
5275
|
-
_listenDragEvents() {
|
|
5276
|
-
this._draggableList
|
|
5277
|
-
.dragStart$
|
|
5278
|
-
.pipe(takeUntil(this._destroy$))
|
|
5279
|
-
.subscribe(() => {
|
|
5280
|
-
this._markReadyToSwapRows();
|
|
5281
|
-
});
|
|
5282
|
-
this._draggableList
|
|
5283
|
-
.dragEnd$
|
|
5284
|
-
.pipe(takeUntil(this._destroy$))
|
|
5285
|
-
.subscribe(() => {
|
|
5286
|
-
this._unmarkRows();
|
|
5287
|
-
});
|
|
5288
|
-
}
|
|
5289
|
-
_markReadyToSwapRows() {
|
|
5290
|
-
var _a, _b, _c, _d, _e, _f;
|
|
5291
|
-
const currentEl = this.row;
|
|
5292
|
-
const targetEl = this._draggableList.draggableItem;
|
|
5293
|
-
const currentElGroup = (currentEl.isChild && currentEl.parent) || currentEl;
|
|
5294
|
-
const targetElGroup = (targetEl.isChild && targetEl.parent) || targetEl;
|
|
5295
|
-
this.row.readyToSwap = this._reorderController.moveDropCallback({
|
|
5296
|
-
row1: (_a = currentEl) === null || _a === void 0 ? void 0 : _a.data,
|
|
5297
|
-
row2: (_b = targetEl) === null || _b === void 0 ? void 0 : _b.data,
|
|
5298
|
-
group1: (_d = (_c = currentEl) === null || _c === void 0 ? void 0 : _c.parent) === null || _d === void 0 ? void 0 : _d.data,
|
|
5299
|
-
group2: (_f = (_e = targetEl) === null || _e === void 0 ? void 0 : _e.parent) === null || _f === void 0 ? void 0 : _f.data
|
|
5300
|
-
});
|
|
5301
|
-
if (!this.row.readyToSwap) {
|
|
5302
|
-
this._renderer.addClass(this._el.nativeElement, 'fs-list-swap-restricted');
|
|
5303
|
-
}
|
|
5304
|
-
}
|
|
5305
|
-
_unmarkRows() {
|
|
5306
|
-
if (!this.row.readyToSwap) {
|
|
5307
|
-
this._renderer.removeClass(this._el.nativeElement, 'fs-list-swap-restricted');
|
|
5308
|
-
}
|
|
5309
|
-
}
|
|
5310
|
-
};
|
|
5311
|
-
FsListDraggableRowDirective.ctorParameters = () => [
|
|
5312
|
-
{ type: ElementRef },
|
|
5313
|
-
{ type: Renderer2 },
|
|
5314
|
-
{ type: ReorderController },
|
|
5315
|
-
{ type: FsListDraggableListDirective }
|
|
5316
|
-
];
|
|
5317
|
-
__decorate([
|
|
5318
|
-
Input(),
|
|
5319
|
-
__metadata("design:type", Row)
|
|
5320
|
-
], FsListDraggableRowDirective.prototype, "row", void 0);
|
|
5321
|
-
FsListDraggableRowDirective = __decorate([
|
|
5322
|
-
Directive({
|
|
5323
|
-
selector: '[fsListDraggableRow]',
|
|
5324
|
-
}),
|
|
5325
|
-
__metadata("design:paramtypes", [ElementRef,
|
|
5326
|
-
Renderer2,
|
|
5327
|
-
ReorderController,
|
|
5328
|
-
FsListDraggableListDirective])
|
|
5329
|
-
], FsListDraggableRowDirective);
|
|
5294
|
+
}
|
|
5295
|
+
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 });
|
|
5296
|
+
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: ["show", "title", "name", "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"] }] });
|
|
5297
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListManageSavedFiltersComponent, decorators: [{
|
|
5298
|
+
type: Component,
|
|
5299
|
+
args: [{
|
|
5300
|
+
templateUrl: 'manage-saved-filters.component.html',
|
|
5301
|
+
}]
|
|
5302
|
+
}], ctorParameters: function () { return [{ type: i2$2.ExternalParamsController }]; } });
|
|
5330
5303
|
|
|
5331
|
-
|
|
5332
|
-
}
|
|
5333
|
-
FsListContentDirective =
|
|
5334
|
-
|
|
5335
|
-
|
|
5336
|
-
|
|
5337
|
-
|
|
5304
|
+
class FsListContentDirective {
|
|
5305
|
+
}
|
|
5306
|
+
FsListContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
5307
|
+
FsListContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: FsListContentDirective, selector: "[fs-list-content]", ngImport: i0 });
|
|
5308
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListContentDirective, decorators: [{
|
|
5309
|
+
type: Directive,
|
|
5310
|
+
args: [{
|
|
5311
|
+
selector: '[fs-list-content]',
|
|
5312
|
+
}]
|
|
5313
|
+
}] });
|
|
5338
5314
|
|
|
5339
|
-
|
|
5340
|
-
let FsListModule = FsListModule_1 = class FsListModule {
|
|
5315
|
+
class FsListModule {
|
|
5341
5316
|
static forRoot(config = {}) {
|
|
5342
5317
|
return {
|
|
5343
|
-
ngModule:
|
|
5318
|
+
ngModule: FsListModule,
|
|
5344
5319
|
providers: [
|
|
5345
5320
|
{ provide: FS_LIST_CONFIG, useValue: config },
|
|
5346
5321
|
{
|
|
@@ -5351,10 +5326,69 @@ let FsListModule = FsListModule_1 = class FsListModule {
|
|
|
5351
5326
|
]
|
|
5352
5327
|
};
|
|
5353
5328
|
}
|
|
5354
|
-
}
|
|
5355
|
-
FsListModule =
|
|
5356
|
-
|
|
5357
|
-
|
|
5329
|
+
}
|
|
5330
|
+
FsListModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5331
|
+
FsListModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListModule, declarations: [
|
|
5332
|
+
// Components
|
|
5333
|
+
FsListComponent,
|
|
5334
|
+
FsRowComponent,
|
|
5335
|
+
FsRowActionsComponent,
|
|
5336
|
+
FsRowInlineActionComponent,
|
|
5337
|
+
FsRowMenuActionComponent,
|
|
5338
|
+
FsCellComponent,
|
|
5339
|
+
FsFooterRowComponent,
|
|
5340
|
+
FsFooterCellComponent,
|
|
5341
|
+
FsStatusComponent,
|
|
5342
|
+
FsListLoaderComponent,
|
|
5343
|
+
FsListSavedFiltersComponent,
|
|
5344
|
+
FsListManageSavedFiltersComponent,
|
|
5345
|
+
// Internal Components
|
|
5346
|
+
FsHeadComponent,
|
|
5347
|
+
FsHeadCellComponent,
|
|
5348
|
+
FsBodyComponent,
|
|
5349
|
+
FsFooterComponent,
|
|
5350
|
+
FsPaginationComponent,
|
|
5351
|
+
// Directives
|
|
5352
|
+
FsListColumnDirective,
|
|
5353
|
+
FsListCellDirective,
|
|
5354
|
+
FsListHeaderDirective,
|
|
5355
|
+
FsListFooterDirective,
|
|
5356
|
+
FsListGroupCellDirective,
|
|
5357
|
+
FsListGroupExpandTriggerDirective,
|
|
5358
|
+
FsListDraggableListDirective,
|
|
5359
|
+
FsListDraggableRowDirective,
|
|
5360
|
+
FsListEmptyStateDirective,
|
|
5361
|
+
FsListContentDirective,
|
|
5362
|
+
FsListContentInitDirective,
|
|
5363
|
+
// Dialog
|
|
5364
|
+
CustomizeColsDialogComponent], imports: [CommonModule,
|
|
5365
|
+
RouterModule,
|
|
5366
|
+
MatButtonModule,
|
|
5367
|
+
MatIconModule,
|
|
5368
|
+
MatMenuModule,
|
|
5369
|
+
MatProgressSpinnerModule,
|
|
5370
|
+
MatCheckboxModule,
|
|
5371
|
+
MatRippleModule,
|
|
5372
|
+
FsFilterModule,
|
|
5373
|
+
FsMenuModule,
|
|
5374
|
+
FlexLayoutModule,
|
|
5375
|
+
FsScrollModule,
|
|
5376
|
+
FsPromptModule,
|
|
5377
|
+
MatDialogModule,
|
|
5378
|
+
MatTooltipModule,
|
|
5379
|
+
FsFileModule], exports: [FsListComponent,
|
|
5380
|
+
FsRowComponent,
|
|
5381
|
+
FsCellComponent,
|
|
5382
|
+
FsListLoaderComponent,
|
|
5383
|
+
FsListColumnDirective,
|
|
5384
|
+
FsListCellDirective,
|
|
5385
|
+
FsListHeaderDirective,
|
|
5386
|
+
FsListFooterDirective,
|
|
5387
|
+
FsListGroupCellDirective,
|
|
5388
|
+
FsListGroupExpandTriggerDirective,
|
|
5389
|
+
FsListEmptyStateDirective,
|
|
5390
|
+
FsListContentDirective] });
|
|
5391
|
+
FsListModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListModule, providers: [], imports: [[
|
|
5358
5392
|
CommonModule,
|
|
5359
5393
|
RouterModule,
|
|
5360
5394
|
MatButtonModule,
|
|
@@ -5371,62 +5405,80 @@ FsListModule = FsListModule_1 = __decorate([
|
|
|
5371
5405
|
MatDialogModule,
|
|
5372
5406
|
MatTooltipModule,
|
|
5373
5407
|
FsFileModule,
|
|
5374
|
-
]
|
|
5375
|
-
|
|
5376
|
-
|
|
5377
|
-
|
|
5378
|
-
|
|
5379
|
-
|
|
5380
|
-
|
|
5381
|
-
|
|
5382
|
-
|
|
5383
|
-
|
|
5384
|
-
|
|
5385
|
-
|
|
5386
|
-
|
|
5387
|
-
|
|
5388
|
-
|
|
5389
|
-
|
|
5390
|
-
|
|
5391
|
-
|
|
5392
|
-
|
|
5393
|
-
|
|
5394
|
-
|
|
5395
|
-
|
|
5396
|
-
|
|
5397
|
-
|
|
5398
|
-
|
|
5399
|
-
|
|
5400
|
-
|
|
5401
|
-
|
|
5402
|
-
|
|
5403
|
-
|
|
5404
|
-
|
|
5405
|
-
|
|
5406
|
-
|
|
5407
|
-
|
|
5408
|
-
|
|
5409
|
-
|
|
5410
|
-
|
|
5411
|
-
|
|
5412
|
-
|
|
5413
|
-
|
|
5414
|
-
|
|
5415
|
-
|
|
5416
|
-
|
|
5417
|
-
|
|
5418
|
-
|
|
5419
|
-
|
|
5420
|
-
|
|
5421
|
-
|
|
5422
|
-
|
|
5423
|
-
|
|
5424
|
-
|
|
5425
|
-
|
|
5426
|
-
|
|
5427
|
-
|
|
5428
|
-
|
|
5429
|
-
|
|
5408
|
+
]] });
|
|
5409
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsListModule, decorators: [{
|
|
5410
|
+
type: NgModule,
|
|
5411
|
+
args: [{
|
|
5412
|
+
imports: [
|
|
5413
|
+
CommonModule,
|
|
5414
|
+
RouterModule,
|
|
5415
|
+
MatButtonModule,
|
|
5416
|
+
MatIconModule,
|
|
5417
|
+
MatMenuModule,
|
|
5418
|
+
MatProgressSpinnerModule,
|
|
5419
|
+
MatCheckboxModule,
|
|
5420
|
+
MatRippleModule,
|
|
5421
|
+
FsFilterModule,
|
|
5422
|
+
FsMenuModule,
|
|
5423
|
+
FlexLayoutModule,
|
|
5424
|
+
FsScrollModule,
|
|
5425
|
+
FsPromptModule,
|
|
5426
|
+
MatDialogModule,
|
|
5427
|
+
MatTooltipModule,
|
|
5428
|
+
FsFileModule,
|
|
5429
|
+
],
|
|
5430
|
+
declarations: [
|
|
5431
|
+
// Components
|
|
5432
|
+
FsListComponent,
|
|
5433
|
+
FsRowComponent,
|
|
5434
|
+
FsRowActionsComponent,
|
|
5435
|
+
FsRowInlineActionComponent,
|
|
5436
|
+
FsRowMenuActionComponent,
|
|
5437
|
+
FsCellComponent,
|
|
5438
|
+
FsFooterRowComponent,
|
|
5439
|
+
FsFooterCellComponent,
|
|
5440
|
+
FsStatusComponent,
|
|
5441
|
+
FsListLoaderComponent,
|
|
5442
|
+
FsListSavedFiltersComponent,
|
|
5443
|
+
FsListManageSavedFiltersComponent,
|
|
5444
|
+
// Internal Components
|
|
5445
|
+
FsHeadComponent,
|
|
5446
|
+
FsHeadCellComponent,
|
|
5447
|
+
FsBodyComponent,
|
|
5448
|
+
FsFooterComponent,
|
|
5449
|
+
FsPaginationComponent,
|
|
5450
|
+
// Directives
|
|
5451
|
+
FsListColumnDirective,
|
|
5452
|
+
FsListCellDirective,
|
|
5453
|
+
FsListHeaderDirective,
|
|
5454
|
+
FsListFooterDirective,
|
|
5455
|
+
FsListGroupCellDirective,
|
|
5456
|
+
FsListGroupExpandTriggerDirective,
|
|
5457
|
+
FsListDraggableListDirective,
|
|
5458
|
+
FsListDraggableRowDirective,
|
|
5459
|
+
FsListEmptyStateDirective,
|
|
5460
|
+
FsListContentDirective,
|
|
5461
|
+
FsListContentInitDirective,
|
|
5462
|
+
// Dialog
|
|
5463
|
+
CustomizeColsDialogComponent,
|
|
5464
|
+
],
|
|
5465
|
+
providers: [],
|
|
5466
|
+
exports: [
|
|
5467
|
+
FsListComponent,
|
|
5468
|
+
FsRowComponent,
|
|
5469
|
+
FsCellComponent,
|
|
5470
|
+
FsListLoaderComponent,
|
|
5471
|
+
FsListColumnDirective,
|
|
5472
|
+
FsListCellDirective,
|
|
5473
|
+
FsListHeaderDirective,
|
|
5474
|
+
FsListFooterDirective,
|
|
5475
|
+
FsListGroupCellDirective,
|
|
5476
|
+
FsListGroupExpandTriggerDirective,
|
|
5477
|
+
FsListEmptyStateDirective,
|
|
5478
|
+
FsListContentDirective,
|
|
5479
|
+
],
|
|
5480
|
+
}]
|
|
5481
|
+
}] });
|
|
5430
5482
|
function FsListConfigFactory(config) {
|
|
5431
5483
|
return merge$1({ noResults: { message: 'No Results Found' } }, config);
|
|
5432
5484
|
}
|
|
@@ -5439,5 +5491,5 @@ function FsListConfigFactory(config) {
|
|
|
5439
5491
|
* Generated bundle index. Do not edit.
|
|
5440
5492
|
*/
|
|
5441
5493
|
|
|
5442
|
-
export { ActionType, Column, FS_LIST_CONFIG, FS_LIST_DEFAULT_CONFIG, FsBodyComponent, FsCellComponent, FsFooterCellComponent, FsFooterComponent, FsFooterRowComponent, FsHeadCellComponent, FsHeadComponent, FsListCellDirective, FsListColumnDirective, FsListComponent, FsListContentDirective, FsListEmptyStateDirective, FsListFooterDirective, FsListHeaderDirective, FsListModule, FsListState, FsPaginationComponent, FsRowComponent, FsStatusComponent, List, PaginationController, PaginationStrategy, ReorderController, ReorderPosition, ReorderStrategy, RowAction, RowType, SelectionChangeType, SelectionController, SortingController, SortingDirection, StyleConfig
|
|
5494
|
+
export { ActionType, Column, FS_LIST_CONFIG, FS_LIST_DEFAULT_CONFIG, FsBodyComponent, FsCellComponent, FsFooterCellComponent, FsFooterComponent, FsFooterRowComponent, FsHeadCellComponent, FsHeadComponent, FsListCellDirective, FsListColumnDirective, FsListComponent, FsListContentDirective, FsListEmptyStateDirective, FsListFooterDirective, FsListGroupCellDirective, FsListGroupExpandTriggerDirective, FsListHeaderDirective, FsListLoaderComponent, FsListModule, FsListState, FsPaginationComponent, FsRowComponent, FsStatusComponent, List, PaginationController, PaginationStrategy, ReorderController, ReorderPosition, ReorderStrategy, RowAction, RowType, SelectionChangeType, SelectionController, SortingController, SortingDirection, StyleConfig };
|
|
5443
5495
|
//# sourceMappingURL=firestitch-list.js.map
|