@firestitch/list 12.1.5 → 12.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/app/classes/data-controller.d.ts +1 -0
  2. package/app/classes/list-controller.d.ts +4 -7
  3. package/app/components/body/row/row.component.d.ts +3 -0
  4. package/app/directives/column/column.directive.d.ts +5 -3
  5. package/app/directives/group-footer/group-footer.directive.d.ts +6 -0
  6. package/app/directives/group-header/group-header.directive.d.ts +6 -0
  7. package/app/enums/row-type.enum.d.ts +2 -1
  8. package/app/fs-list.module.d.ts +26 -25
  9. package/app/interfaces/column-config.interface.d.ts +1 -1
  10. package/app/interfaces/listconfig.interface.d.ts +2 -1
  11. package/app/models/column.model.d.ts +6 -3
  12. package/app/models/row/group-footer-row.d.ts +10 -0
  13. package/app/models/row/group-row.d.ts +2 -1
  14. package/app/models/row-action.model.d.ts +2 -3
  15. package/app/models/row.d.ts +3 -1
  16. package/app/models/styleConfig.model.d.ts +2 -2
  17. package/bundles/firestitch-list.umd.js +252 -232
  18. package/bundles/firestitch-list.umd.js.map +1 -1
  19. package/esm2015/app/classes/columns-controller.js +3 -2
  20. package/esm2015/app/classes/data-controller.js +18 -2
  21. package/esm2015/app/classes/list-controller.js +21 -84
  22. package/esm2015/app/components/body/row/cell/cell.component.js +8 -4
  23. package/esm2015/app/components/body/row/row.component.js +11 -2
  24. package/esm2015/app/directives/column/column.directive.js +14 -7
  25. package/esm2015/app/directives/group-footer/group-footer.directive.js +14 -0
  26. package/esm2015/app/directives/group-header/group-header.directive.js +14 -0
  27. package/esm2015/app/enums/row-type.enum.js +3 -2
  28. package/esm2015/app/fs-list.module.js +11 -6
  29. package/esm2015/app/interfaces/column-config.interface.js +1 -1
  30. package/esm2015/app/interfaces/listconfig.interface.js +1 -1
  31. package/esm2015/app/models/column.model.js +15 -8
  32. package/esm2015/app/models/row/group-footer-row.js +21 -0
  33. package/esm2015/app/models/row/group-row.js +1 -1
  34. package/esm2015/app/models/row-action.model.js +13 -46
  35. package/esm2015/app/models/row.js +5 -1
  36. package/esm2015/app/models/styleConfig.model.js +8 -18
  37. package/esm2015/public_api.js +3 -2
  38. package/fesm2015/firestitch-list.js +148 -170
  39. package/fesm2015/firestitch-list.js.map +1 -1
  40. package/package.json +5 -5
  41. package/public_api.d.ts +2 -1
  42. package/app/directives/group-cell/group-cell.directive.d.ts +0 -6
  43. package/esm2015/app/directives/group-cell/group-cell.directive.js +0 -14
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/router'), require('@angular/material/button'), require('@angular/material/checkbox'), require('@angular/material/core'), require('@angular/material/dialog'), require('@angular/material/icon'), require('@angular/material/menu'), require('@angular/material/tooltip'), require('@angular/material/progress-spinner'), require('@angular/flex-layout'), require('@firestitch/filter'), require('@firestitch/scroll'), require('@firestitch/menu'), require('@firestitch/prompt'), require('@firestitch/file'), require('lodash-es'), require('rxjs'), require('rxjs/operators'), require('@firestitch/common'), require('tsmodels'), require('@firestitch/store'), require('@firestitch/selection'), require('@firestitch/drawer'), require('@angular/flex-layout/extended'), require('@angular/flex-layout/flex')) :
3
- typeof define === 'function' && define.amd ? define('@firestitch/list', ['exports', '@angular/core', '@angular/common', '@angular/router', '@angular/material/button', '@angular/material/checkbox', '@angular/material/core', '@angular/material/dialog', '@angular/material/icon', '@angular/material/menu', '@angular/material/tooltip', '@angular/material/progress-spinner', '@angular/flex-layout', '@firestitch/filter', '@firestitch/scroll', '@firestitch/menu', '@firestitch/prompt', '@firestitch/file', 'lodash-es', 'rxjs', 'rxjs/operators', '@firestitch/common', 'tsmodels', '@firestitch/store', '@firestitch/selection', '@firestitch/drawer', '@angular/flex-layout/extended', '@angular/flex-layout/flex'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.firestitch = global.firestitch || {}, global.firestitch.list = {}), global.ng.core, global.ng.common, global.ng.router, global.ng.material.button, global.ng.material.checkbox, global.ng.material.core, global.ng.material.dialog, global.ng.material.icon, global.ng.material.menu, global.ng.material.tooltip, global.ng.material.progressSpinner, global.ng.flexLayout, global.i2, global.i2$4, global.i2$3, global.i1$1, global.i4$1, global.lodashEs, global.rxjs, global.rxjs.operators, global.common, global.tsmodels, global.i1, global.i3$3, global.i9, global.ng.flexLayout.extended, global.ng.flexLayout.flex));
5
- })(this, (function (exports, i0, i3$1, i6$1, i2$2, i2$1, i4$2, i4, i3, menu, i6, progressSpinner, flexLayout, i2, i2$4, i2$3, i1$1, i4$1, lodashEs, rxjs, operators, common, tsmodels, i1, i3$3, i9, i5, i3$2) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/router'), require('@angular/material/button'), require('@angular/material/checkbox'), require('@angular/material/core'), require('@angular/material/dialog'), require('@angular/material/icon'), require('@angular/material/menu'), require('@angular/material/tooltip'), require('@angular/material/progress-spinner'), require('@angular/flex-layout'), require('@firestitch/filter'), require('@firestitch/scroll'), require('@firestitch/menu'), require('@firestitch/prompt'), require('@firestitch/file'), require('lodash-es'), require('rxjs'), require('rxjs/operators'), require('@firestitch/common'), require('@firestitch/store'), require('@firestitch/selection'), require('@firestitch/drawer'), require('@angular/flex-layout/extended'), require('@angular/flex-layout/flex')) :
3
+ typeof define === 'function' && define.amd ? define('@firestitch/list', ['exports', '@angular/core', '@angular/common', '@angular/router', '@angular/material/button', '@angular/material/checkbox', '@angular/material/core', '@angular/material/dialog', '@angular/material/icon', '@angular/material/menu', '@angular/material/tooltip', '@angular/material/progress-spinner', '@angular/flex-layout', '@firestitch/filter', '@firestitch/scroll', '@firestitch/menu', '@firestitch/prompt', '@firestitch/file', 'lodash-es', 'rxjs', 'rxjs/operators', '@firestitch/common', '@firestitch/store', '@firestitch/selection', '@firestitch/drawer', '@angular/flex-layout/extended', '@angular/flex-layout/flex'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.firestitch = global.firestitch || {}, global.firestitch.list = {}), global.ng.core, global.ng.common, global.ng.router, global.ng.material.button, global.ng.material.checkbox, global.ng.material.core, global.ng.material.dialog, global.ng.material.icon, global.ng.material.menu, global.ng.material.tooltip, global.ng.material.progressSpinner, global.ng.flexLayout, global.i2, global.i2$4, global.i2$3, global.i1$1, global.i4$1, global.lodashEs, global.rxjs, global.rxjs.operators, global.common, global.i1, global.i3$3, global.i9, global.ng.flexLayout.extended, global.ng.flexLayout.flex));
5
+ })(this, (function (exports, i0, i3$1, i6$1, i2$2, i2$1, i4$2, i4, i3, menu, i6, progressSpinner, flexLayout, i2, i2$4, i2$3, i1$1, i4$1, lodashEs, rxjs, operators, common, i1, i3$3, i9, i5, i3$2) { 'use strict';
6
6
 
7
7
  function _interopNamespace(e) {
8
8
  if (e && e.__esModule) return e;
@@ -360,16 +360,13 @@
360
360
  return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
361
361
  }
362
362
 
363
- var StyleConfig = /** @class */ (function (_super) {
364
- __extends(StyleConfig, _super);
363
+ var StyleConfig = /** @class */ (function () {
365
364
  function StyleConfig(config) {
366
365
  if (config === void 0) { config = {}; }
367
- var _this = _super.call(this) || this;
368
- _this.className = []; // Can't be used in tempaltes!
369
- _this.classesArray = []; // Can be used in tempaltes
370
- _this.classesString = '';
371
- _this._fromJSON(config);
372
- return _this;
366
+ this.className = []; // Can't be used in tempaltes!
367
+ this.classesArray = []; // Can be used in tempaltes
368
+ this.classesString = '';
369
+ this._init(config);
373
370
  }
374
371
  /**
375
372
  * Create static array of styles for using in templates
@@ -419,6 +416,11 @@
419
416
  }
420
417
  this.className = targetValue;
421
418
  };
419
+ StyleConfig.prototype._init = function (config) {
420
+ this.colspan = config.colspan;
421
+ this.align = config.align;
422
+ this.className = config.className;
423
+ };
422
424
  /**
423
425
  * Merge params into array
424
426
  * @param to
@@ -433,19 +435,7 @@
433
435
  }
434
436
  };
435
437
  return StyleConfig;
436
- }(tsmodels.Model));
437
- __decorate([
438
- tsmodels.Alias(),
439
- __metadata("design:type", Object)
440
- ], StyleConfig.prototype, "colspan", void 0);
441
- __decorate([
442
- tsmodels.Alias(),
443
- __metadata("design:type", String)
444
- ], StyleConfig.prototype, "align", void 0);
445
- __decorate([
446
- tsmodels.Alias(),
447
- __metadata("design:type", Object)
448
- ], StyleConfig.prototype, "className", void 0);
438
+ }());
449
439
 
450
440
  exports.SortingDirection = void 0;
451
441
  (function (SortingDirection) {
@@ -462,11 +452,13 @@
462
452
  function Column(colConfig, colDefaults) {
463
453
  if (colDefaults === void 0) { colDefaults = false; }
464
454
  this.headerConfigs = new StyleConfig();
465
- this.groupCellConfigs = new StyleConfig();
455
+ this.groupHeaderConfigs = new StyleConfig();
456
+ this.groupFooterConfigs = new StyleConfig();
466
457
  this.cellConfigs = new StyleConfig();
467
458
  this.footerConfigs = new StyleConfig();
468
459
  this.headerColspanned = false;
469
- this.groupCellColspanned = false;
460
+ this.groupHeaderColspanned = false;
461
+ this.groupFooterColspanned = false;
470
462
  this.cellColspanned = false;
471
463
  this.footerColspanned = false;
472
464
  this._ordered = false;
@@ -611,7 +603,8 @@
611
603
  case 'class':
612
604
  {
613
605
  _this.headerConfigs.mergeClassByPriority(_this.colStyles, defaults.header);
614
- _this.groupCellConfigs.mergeClassByPriority(_this.colStyles, defaults.cell);
606
+ _this.groupHeaderConfigs.mergeClassByPriority(_this.colStyles, defaults.cell);
607
+ _this.groupFooterConfigs.mergeClassByPriority(_this.colStyles, defaults.cell);
615
608
  _this.cellConfigs.mergeClassByPriority(_this.colStyles, defaults.cell);
616
609
  _this.footerConfigs.mergeClassByPriority(_this.colStyles, defaults.footer);
617
610
  }
@@ -619,7 +612,8 @@
619
612
  case 'align':
620
613
  {
621
614
  _this.headerConfigs.mergeAlignByPriority(_this.colStyles, defaults.header);
622
- _this.groupCellConfigs.mergeAlignByPriority(_this.colStyles, defaults.cell);
615
+ _this.groupHeaderConfigs.mergeAlignByPriority(_this.colStyles, defaults.cell);
616
+ _this.groupFooterConfigs.mergeAlignByPriority(_this.colStyles, defaults.cell);
623
617
  _this.cellConfigs.mergeAlignByPriority(_this.colStyles, defaults.cell);
624
618
  _this.footerConfigs.mergeAlignByPriority(_this.colStyles, defaults.footer);
625
619
  }
@@ -627,7 +621,8 @@
627
621
  }
628
622
  });
629
623
  this.headerConfigs.updateClasesArray();
630
- this.groupCellConfigs.updateClasesArray();
624
+ this.groupHeaderConfigs.updateClasesArray();
625
+ this.groupFooterConfigs.updateClasesArray();
631
626
  this.cellConfigs.updateClasesArray();
632
627
  this.footerConfigs.updateClasesArray();
633
628
  };
@@ -648,11 +643,13 @@
648
643
  Column.prototype._parseConfig = function (config) {
649
644
  this._attributes = config.attributes;
650
645
  this.headerTemplate = config.headerTemplate;
651
- this.groupCellTemplate = config.groupCellTemplate;
646
+ this.groupHeaderTemplate = config.groupHeaderTemplate;
647
+ this.groupFooterTemplate = config.groupFooterTemplate;
652
648
  this.cellTemplate = config.cellTemplate;
653
649
  this.footerTemplate = config.footerTemplate;
654
650
  this.headerConfigs = new StyleConfig(config.headerConfigs);
655
- this.groupCellConfigs = new StyleConfig(config.groupCellConfigs);
651
+ this.groupHeaderConfigs = new StyleConfig(config.groupHeaderConfigs);
652
+ this.groupFooterConfigs = new StyleConfig(config.groupFooterConfigs);
656
653
  this.cellConfigs = new StyleConfig(config.cellConfigs);
657
654
  this.footerConfigs = new StyleConfig(config.footerConfigs);
658
655
  this.expandTrigger = config.expandTrigger;
@@ -669,20 +666,17 @@
669
666
  ActionType["MiniFab"] = "mini-fab";
670
667
  })(exports.ActionType || (exports.ActionType = {}));
671
668
 
672
- var RowAction = /** @class */ (function (_super) {
673
- __extends(RowAction, _super);
669
+ var RowAction = /** @class */ (function () {
674
670
  function RowAction(config) {
675
671
  if (config === void 0) { config = {}; }
676
- var _this = _super.call(this) || this;
677
- _this.label = '';
678
- _this.classArray = [];
679
- _this.isShown = true;
680
- _this._isGroup = false;
681
- _this._fromJSON(config);
682
- if (Array.isArray(_this.rowActions)) {
683
- _this._isGroup = true;
672
+ this.label = '';
673
+ this.classArray = [];
674
+ this.isShown = true;
675
+ this._isGroup = false;
676
+ this._init(config);
677
+ if (Array.isArray(this.rowActions)) {
678
+ this._isGroup = true;
684
679
  }
685
- return _this;
686
680
  }
687
681
  Object.defineProperty(RowAction.prototype, "isGroup", {
688
682
  get: function () {
@@ -691,15 +685,17 @@
691
685
  enumerable: false,
692
686
  configurable: true
693
687
  });
694
- RowAction.prototype._fromJSON = function (value) {
688
+ RowAction.prototype._init = function (value) {
695
689
  var _this = this;
696
- _super.prototype._fromJSON.call(this, value);
697
- if (value.type === void 0) {
698
- this.type = exports.ActionType.Basic;
699
- }
700
- if (this.menu === void 0) {
701
- this.menu = true;
702
- }
690
+ var _a, _b, _c;
691
+ this.icon = value.icon;
692
+ this.menu = (_a = value.menu) !== null && _a !== void 0 ? _a : true;
693
+ this.remove = value.remove;
694
+ this.className = value.className;
695
+ this.type = (_b = value.type) !== null && _b !== void 0 ? _b : exports.ActionType.Basic;
696
+ this.show = value.show;
697
+ this.restore = value.restore;
698
+ this.rowActions = (_c = value.rowActions) === null || _c === void 0 ? void 0 : _c.map(function (action) { return new RowAction(action); });
703
699
  // Re-assign click function
704
700
  var clickFn = value.click;
705
701
  this.click = function (row, event, index, rowActionsRef) {
@@ -784,39 +780,7 @@
784
780
  }
785
781
  };
786
782
  return RowAction;
787
- }(tsmodels.Model));
788
- __decorate([
789
- tsmodels.Alias(),
790
- __metadata("design:type", String)
791
- ], RowAction.prototype, "icon", void 0);
792
- __decorate([
793
- tsmodels.Alias(),
794
- __metadata("design:type", Boolean)
795
- ], RowAction.prototype, "menu", void 0);
796
- __decorate([
797
- tsmodels.Alias(),
798
- __metadata("design:type", Object)
799
- ], RowAction.prototype, "remove", void 0);
800
- __decorate([
801
- tsmodels.Alias(),
802
- __metadata("design:type", String)
803
- ], RowAction.prototype, "className", void 0);
804
- __decorate([
805
- tsmodels.Alias(),
806
- __metadata("design:type", String)
807
- ], RowAction.prototype, "type", void 0);
808
- __decorate([
809
- tsmodels.Alias(),
810
- __metadata("design:type", Function)
811
- ], RowAction.prototype, "show", void 0);
812
- __decorate([
813
- tsmodels.Alias(),
814
- __metadata("design:type", Boolean)
815
- ], RowAction.prototype, "restore", void 0);
816
- __decorate([
817
- tsmodels.Alias('rowActions', RowAction),
818
- __metadata("design:type", Array)
819
- ], RowAction.prototype, "rowActions", void 0);
783
+ }());
820
784
 
821
785
  var ColumnsController = /** @class */ (function () {
822
786
  function ColumnsController() {
@@ -998,7 +962,8 @@
998
962
  });
999
963
  this._theadClass = this.hasHeader ? 'has-header' : '';
1000
964
  this._updateColspans('headerConfigs', 'headerColspanned');
1001
- this._updateColspans('groupCellConfigs', 'groupCellColspanned');
965
+ this._updateColspans('groupHeaderConfigs', 'groupHeaderColspanned');
966
+ this._updateColspans('groupFooterConfigs', 'groupFooterColspanned');
1002
967
  this._updateColspans('cellConfigs', 'cellColspanned');
1003
968
  this._updateColspans('footerConfigs', 'footerColspanned');
1004
969
  this.updateVisibleColumns();
@@ -1167,7 +1132,8 @@
1167
1132
  (function (RowType) {
1168
1133
  RowType[RowType["Simple"] = 0] = "Simple";
1169
1134
  RowType[RowType["Group"] = 1] = "Group";
1170
- RowType[RowType["Child"] = 2] = "Child";
1135
+ RowType[RowType["GroupFooter"] = 2] = "GroupFooter";
1136
+ RowType[RowType["Child"] = 3] = "Child";
1171
1137
  })(exports.RowType || (exports.RowType = {}));
1172
1138
 
1173
1139
  var BaseRow = /** @class */ (function () {
@@ -1309,6 +1275,38 @@
1309
1275
  return SimpleRow;
1310
1276
  }(BaseRow));
1311
1277
 
1278
+ var GroupFooterRow = /** @class */ (function (_super) {
1279
+ __extends(GroupFooterRow, _super);
1280
+ function GroupFooterRow(data, parent) {
1281
+ if (data === void 0) { data = {}; }
1282
+ if (parent === void 0) { parent = null; }
1283
+ var _this = _super.call(this, data, exports.RowType.GroupFooter) || this;
1284
+ _this.visible = true;
1285
+ _this._parent = parent;
1286
+ if (_this.parent) {
1287
+ _this.visible = _this._parent.expanded;
1288
+ _this.index = _this.parent.children.length;
1289
+ }
1290
+ return _this;
1291
+ }
1292
+ Object.defineProperty(GroupFooterRow.prototype, "parent", {
1293
+ get: function () {
1294
+ return this._parent;
1295
+ },
1296
+ enumerable: false,
1297
+ configurable: true
1298
+ });
1299
+ Object.defineProperty(GroupFooterRow.prototype, "isFooter", {
1300
+ get: function () {
1301
+ return true;
1302
+ },
1303
+ enumerable: false,
1304
+ configurable: true
1305
+ });
1306
+ GroupFooterRow.prototype.destroy = function () { };
1307
+ return GroupFooterRow;
1308
+ }(BaseRow));
1309
+
1312
1310
  var Row = /** @class */ (function () {
1313
1311
  function Row(data, rowType, _a) {
1314
1312
  if (data === void 0) { data = {}; }
@@ -1387,6 +1385,13 @@
1387
1385
  enumerable: false,
1388
1386
  configurable: true
1389
1387
  });
1388
+ Object.defineProperty(Row.prototype, "isFooter", {
1389
+ get: function () {
1390
+ return this._row instanceof GroupFooterRow;
1391
+ },
1392
+ enumerable: false,
1393
+ configurable: true
1394
+ });
1390
1395
  Object.defineProperty(Row.prototype, "parent", {
1391
1396
  get: function () {
1392
1397
  return this._row.parent;
@@ -1539,6 +1544,7 @@
1539
1544
  if (group) {
1540
1545
  this._groupByFn = group.groupBy;
1541
1546
  this._compareByFn = group.compareBy;
1547
+ this._footerRowFn = group.footer || (function () { return false; });
1542
1548
  this._initialExpand = (_a = group.initialExpand) !== null && _a !== void 0 ? _a : true;
1543
1549
  // group mode enabled by default
1544
1550
  this._groupEnabled = (group.enabled !== void 0)
@@ -1684,6 +1690,7 @@
1684
1690
  var row = this.visibleRows.find(function (visibleRow) { return visibleRow.data === rowData; });
1685
1691
  row.toggleRowExpandStatus();
1686
1692
  this._updateVisibleRows();
1693
+ console.log(this._rowsStack);
1687
1694
  };
1688
1695
  DataController.prototype._updateRowsStack = function (rows) {
1689
1696
  var _this = this;
@@ -1717,7 +1724,7 @@
1717
1724
  DataController.prototype._updateVisibleRows = function () {
1718
1725
  this.visibleRows = this._rowsStack
1719
1726
  .filter(function (row) {
1720
- return !row.isChild || row.visible;
1727
+ return (!row.isChild && !row.isFooter) || row.visible;
1721
1728
  });
1722
1729
  };
1723
1730
  DataController.prototype.updateRow = function (targetRow, trackBy) {
@@ -1758,14 +1765,21 @@
1758
1765
  * Split existing rows by groups and store them for future use
1759
1766
  */
1760
1767
  DataController.prototype.groupRowsBy = function (rows) {
1768
+ var e_1, _b;
1761
1769
  var _this = this;
1762
1770
  if (!this._groupByFn || !this._compareByFn) {
1763
1771
  return rows;
1764
1772
  }
1765
1773
  var numberOfGroups = 0;
1774
+ var footerRows = new Map();
1766
1775
  rows.forEach(function (row) {
1767
1776
  var mainGroup = _this._groupByFn(row);
1777
+ var isFooterRow = _this._footerRowFn(row);
1768
1778
  var mainGroupKey = _this._compareByFn(mainGroup);
1779
+ if (isFooterRow) {
1780
+ footerRows.set(mainGroupKey, row);
1781
+ return;
1782
+ }
1769
1783
  if (!_this._store.has(mainGroupKey)) {
1770
1784
  var group = new GroupRow(mainGroup, _this._initialExpand);
1771
1785
  group.index = numberOfGroups;
@@ -1780,6 +1794,23 @@
1780
1794
  group.children.push(childRow);
1781
1795
  }
1782
1796
  });
1797
+ try {
1798
+ for (var footerRows_1 = __values(footerRows), footerRows_1_1 = footerRows_1.next(); !footerRows_1_1.done; footerRows_1_1 = footerRows_1.next()) {
1799
+ var _c = __read(footerRows_1_1.value, 2), key = _c[0], value = _c[1];
1800
+ var group = this._store.get(key);
1801
+ if (group) {
1802
+ var footerRow = new GroupFooterRow(value, group);
1803
+ group.children.push(footerRow);
1804
+ }
1805
+ }
1806
+ }
1807
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
1808
+ finally {
1809
+ try {
1810
+ if (footerRows_1_1 && !footerRows_1_1.done && (_b = footerRows_1.return)) _b.call(footerRows_1);
1811
+ }
1812
+ finally { if (e_1) throw e_1.error; }
1813
+ }
1783
1814
  return Array.from(this._store.values())
1784
1815
  .reduce(function (acc, item) {
1785
1816
  if (item.isGroup) {
@@ -3404,56 +3435,51 @@
3404
3435
  }());
3405
3436
 
3406
3437
  var SHOW_DELETED_FILTERS_KEY = '$$_show_deleted_$$';
3407
- var List = /** @class */ (function (_super) {
3408
- __extends(List, _super);
3438
+ var List = /** @class */ (function () {
3409
3439
  function List(el, config, fsScroll, selectionDialog, router, route, persistance, inDialog) {
3410
3440
  if (config === void 0) { config = {}; }
3411
- var _this = _super.call(this) || this;
3412
- _this.el = el;
3413
- _this.config = config;
3414
- _this.fsScroll = fsScroll;
3415
- _this.selectionDialog = selectionDialog;
3416
- _this.router = router;
3417
- _this.route = route;
3418
- _this.persistance = persistance;
3419
- _this.inDialog = inDialog;
3420
- _this.filters = [];
3421
- _this.scrollable = false;
3441
+ this.el = el;
3442
+ this.config = config;
3443
+ this.fsScroll = fsScroll;
3444
+ this.selectionDialog = selectionDialog;
3445
+ this.router = router;
3446
+ this.route = route;
3447
+ this.persistance = persistance;
3448
+ this.inDialog = inDialog;
3449
+ this.filters = [];
3422
3450
  // @Alias('rows') private _rows: any;
3423
- _this.initialized$ = new rxjs.BehaviorSubject(false);
3424
- _this.loading$ = new rxjs.BehaviorSubject(false);
3425
- _this.paging = new PaginationController();
3426
- _this.columns = new ColumnsController();
3427
- _this.actions = new ActionsController();
3428
- _this.dataController = new DataController();
3429
- _this.sorting = new SortingController();
3430
- _this.filterConfig = null;
3431
- _this.fetch$ = new rxjs.Subject();
3432
- _this.fetchComplete$ = new rxjs.Subject();
3433
- _this.filtersReady$ = new rxjs.Subject();
3434
- _this.status = true;
3435
- _this.chips = false;
3436
- _this.filterInput = true;
3437
- _this.queryParam = false;
3438
- _this.restoreMode = false;
3439
- _this.initialFetch = true;
3451
+ this.initialized$ = new rxjs.BehaviorSubject(false);
3452
+ this.loading$ = new rxjs.BehaviorSubject(false);
3453
+ this.paging = new PaginationController();
3454
+ this.columns = new ColumnsController();
3455
+ this.actions = new ActionsController();
3456
+ this.dataController = new DataController();
3457
+ this.sorting = new SortingController();
3458
+ this.filterConfig = null;
3459
+ this.fetch$ = new rxjs.Subject();
3460
+ this.fetchComplete$ = new rxjs.Subject();
3461
+ this.filtersReady$ = new rxjs.Subject();
3462
+ this.status = true;
3463
+ this.chips = false;
3464
+ this.filterInput = true;
3465
+ this.queryParam = false;
3466
+ this.restoreMode = false;
3467
+ this.initialFetch = true;
3440
3468
  // Empty state
3441
- _this.emptyStateEnabled = false;
3442
- _this.onDestroy$ = new rxjs.Subject();
3443
- _this._filtersQuery = new rxjs.BehaviorSubject(null);
3444
- _this._fromJSON(config);
3445
- _this.initialize(config);
3446
- _this._headerConfig = new StyleConfig(config.header);
3447
- _this._groupCellConfig = new StyleConfig(config.cell);
3448
- _this._cellConfig = new StyleConfig(config.cell);
3449
- _this._footerConfig = new StyleConfig(config.footer);
3450
- _this.initialized$.next(true);
3451
- _this.subscribe();
3452
- if (_this.initialFetch) {
3453
- _this.dataController.setOperation(exports.FsListState.Load);
3454
- _this.fetch$.next();
3469
+ this.emptyStateEnabled = false;
3470
+ this.onDestroy$ = new rxjs.Subject();
3471
+ this._filtersQuery = new rxjs.BehaviorSubject(null);
3472
+ this.initialize(config);
3473
+ this._headerConfig = new StyleConfig(config.header);
3474
+ this._groupCellConfig = new StyleConfig(config.cell);
3475
+ this._cellConfig = new StyleConfig(config.cell);
3476
+ this._footerConfig = new StyleConfig(config.footer);
3477
+ this.initialized$.next(true);
3478
+ this.subscribe();
3479
+ if (this.initialFetch) {
3480
+ this.dataController.setOperation(exports.FsListState.Load);
3481
+ this.fetch$.next();
3455
3482
  }
3456
- return _this;
3457
3483
  }
3458
3484
  Object.defineProperty(List.prototype, "hasSavedFilters", {
3459
3485
  get: function () {
@@ -3646,6 +3672,24 @@
3646
3672
  * @param config
3647
3673
  */
3648
3674
  List.prototype.initialize = function (config) {
3675
+ var _a;
3676
+ this.heading = config.heading;
3677
+ this.trackBy = config.trackBy;
3678
+ this.subheading = config.subheading;
3679
+ this.rowActionsRaw = config.rowActions;
3680
+ this.rowClass = config.rowClass;
3681
+ this.rowEvents = config.rowEvents;
3682
+ this.restore = config.restore;
3683
+ this.persist = config.persist;
3684
+ this.filters = (_a = config.filters) !== null && _a !== void 0 ? _a : [];
3685
+ this.filterInitCb = config.filterInit;
3686
+ this.filterChangeCb = config.filterChange;
3687
+ this.savedFilters = config.savedFilters;
3688
+ this.scrollable = config.scrollable;
3689
+ this.noResults = config.noResults;
3690
+ this.emptyState = config.emptyState;
3691
+ this.fetchFn = config.fetch;
3692
+ this.afterFetchFn = config.afterFetch;
3649
3693
  this.columns.initConfig(config.column);
3650
3694
  this.initDefaultOptions(config);
3651
3695
  this.initRestore();
@@ -3937,7 +3981,7 @@
3937
3981
  persist: this.persist,
3938
3982
  items: this.filters || [],
3939
3983
  savedFilters: this.savedFilters,
3940
- inline: this.inlineFilters,
3984
+ // inline: this.inlineFilters,
3941
3985
  actions: this.actions.actions,
3942
3986
  queryParam: this.queryParam,
3943
3987
  sorts: sortValues,
@@ -4095,83 +4139,7 @@
4095
4139
  }
4096
4140
  };
4097
4141
  return List;
4098
- }(tsmodels.Model));
4099
- __decorate([
4100
- tsmodels.Alias(),
4101
- __metadata("design:type", String)
4102
- ], List.prototype, "heading", void 0);
4103
- __decorate([
4104
- tsmodels.Alias(),
4105
- __metadata("design:type", String)
4106
- ], List.prototype, "trackBy", void 0);
4107
- __decorate([
4108
- tsmodels.Alias(),
4109
- __metadata("design:type", String)
4110
- ], List.prototype, "subheading", void 0);
4111
- __decorate([
4112
- tsmodels.Alias(),
4113
- __metadata("design:type", Object)
4114
- ], List.prototype, "inlineFilters", void 0);
4115
- __decorate([
4116
- tsmodels.Alias('rowActions'),
4117
- __metadata("design:type", Array)
4118
- ], List.prototype, "rowActionsRaw", void 0);
4119
- __decorate([
4120
- tsmodels.Alias('rowClass'),
4121
- __metadata("design:type", Object)
4122
- ], List.prototype, "rowClass", void 0);
4123
- __decorate([
4124
- tsmodels.Alias(),
4125
- __metadata("design:type", Object)
4126
- ], List.prototype, "rowEvents", void 0);
4127
- __decorate([
4128
- tsmodels.Alias(),
4129
- __metadata("design:type", Object)
4130
- ], List.prototype, "restore", void 0);
4131
- __decorate([
4132
- tsmodels.Alias(),
4133
- __metadata("design:type", Object)
4134
- ], List.prototype, "columnTemplates", void 0);
4135
- __decorate([
4136
- tsmodels.Alias(),
4137
- __metadata("design:type", Boolean)
4138
- ], List.prototype, "persist", void 0);
4139
- __decorate([
4140
- tsmodels.Alias(),
4141
- __metadata("design:type", Object)
4142
- ], List.prototype, "filters", void 0);
4143
- __decorate([
4144
- tsmodels.Alias('filterInit'),
4145
- __metadata("design:type", Function)
4146
- ], List.prototype, "filterInitCb", void 0);
4147
- __decorate([
4148
- tsmodels.Alias('filterChange'),
4149
- __metadata("design:type", Function)
4150
- ], List.prototype, "filterChangeCb", void 0);
4151
- __decorate([
4152
- tsmodels.Alias(),
4153
- __metadata("design:type", Object)
4154
- ], List.prototype, "savedFilters", void 0);
4155
- __decorate([
4156
- tsmodels.Alias(),
4157
- __metadata("design:type", Object)
4158
- ], List.prototype, "scrollable", void 0);
4159
- __decorate([
4160
- tsmodels.Alias(),
4161
- __metadata("design:type", Object)
4162
- ], List.prototype, "noResults", void 0);
4163
- __decorate([
4164
- tsmodels.Alias(),
4165
- __metadata("design:type", Object)
4166
- ], List.prototype, "emptyState", void 0);
4167
- __decorate([
4168
- tsmodels.Alias('fetch'),
4169
- __metadata("design:type", Function)
4170
- ], List.prototype, "fetchFn", void 0);
4171
- __decorate([
4172
- tsmodels.Alias('afterFetch'),
4173
- __metadata("design:type", Function)
4174
- ], List.prototype, "afterFetchFn", void 0);
4142
+ }());
4175
4143
 
4176
4144
  exports.ReorderPosition = void 0;
4177
4145
  (function (ReorderPosition) {
@@ -4430,19 +4398,35 @@
4430
4398
  args: ['class']
4431
4399
  }] } });
4432
4400
 
4433
- var FsListGroupCellDirective = /** @class */ (function (_super) {
4434
- __extends(FsListGroupCellDirective, _super);
4435
- function FsListGroupCellDirective() {
4401
+ var FsListGroupHeaderDirective = /** @class */ (function (_super) {
4402
+ __extends(FsListGroupHeaderDirective, _super);
4403
+ function FsListGroupHeaderDirective() {
4436
4404
  return _super !== null && _super.apply(this, arguments) || this;
4437
4405
  }
4438
- return FsListGroupCellDirective;
4406
+ return FsListGroupHeaderDirective;
4439
4407
  }(FsListCellDirective));
4440
- FsListGroupCellDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsListGroupCellDirective, deps: null, target: i0__namespace.ɵɵFactoryTarget.Directive });
4441
- FsListGroupCellDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: FsListGroupCellDirective, selector: "[fs-list-group-cell]", usesInheritance: true, ngImport: i0__namespace });
4442
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsListGroupCellDirective, decorators: [{
4408
+ FsListGroupHeaderDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsListGroupHeaderDirective, deps: null, target: i0__namespace.ɵɵFactoryTarget.Directive });
4409
+ FsListGroupHeaderDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: FsListGroupHeaderDirective, selector: "[fs-list-group-cell],[fs-list-group-header]", usesInheritance: true, ngImport: i0__namespace });
4410
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsListGroupHeaderDirective, decorators: [{
4443
4411
  type: i0.Directive,
4444
4412
  args: [{
4445
- selector: '[fs-list-group-cell]'
4413
+ selector: '[fs-list-group-cell],[fs-list-group-header]'
4414
+ }]
4415
+ }] });
4416
+
4417
+ var FsListGroupFooterDirective = /** @class */ (function (_super) {
4418
+ __extends(FsListGroupFooterDirective, _super);
4419
+ function FsListGroupFooterDirective() {
4420
+ return _super !== null && _super.apply(this, arguments) || this;
4421
+ }
4422
+ return FsListGroupFooterDirective;
4423
+ }(FsListCellDirective));
4424
+ FsListGroupFooterDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsListGroupFooterDirective, deps: null, target: i0__namespace.ɵɵFactoryTarget.Directive });
4425
+ FsListGroupFooterDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: FsListGroupFooterDirective, selector: "[fs-list-group-footer]", usesInheritance: true, ngImport: i0__namespace });
4426
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsListGroupFooterDirective, decorators: [{
4427
+ type: i0.Directive,
4428
+ args: [{
4429
+ selector: '[fs-list-group-footer]'
4446
4430
  }]
4447
4431
  }] });
4448
4432
 
@@ -4580,7 +4564,7 @@
4580
4564
  return FsListColumnDirective;
4581
4565
  }());
4582
4566
  FsListColumnDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsListColumnDirective, deps: [], target: i0__namespace.ɵɵFactoryTarget.Directive });
4583
- FsListColumnDirective.ɵdir = i0__namespace.ɵɵ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: i0.TemplateRef, static: true }, { propertyName: "headerConfigs", first: true, predicate: FsListHeaderDirective, descendants: true, static: true }, { propertyName: "groupCellTemplate", first: true, predicate: FsListGroupCellDirective, descendants: true, read: i0.TemplateRef, static: true }, { propertyName: "groupCellConfigs", first: true, predicate: FsListGroupCellDirective, descendants: true, static: true }, { propertyName: "cellTemplate", first: true, predicate: FsListCellDirective, descendants: true, read: i0.TemplateRef, static: true }, { propertyName: "cellConfigs", first: true, predicate: FsListCellDirective, descendants: true, static: true }, { propertyName: "footerTemplate", first: true, predicate: FsListFooterDirective, descendants: true, read: i0.TemplateRef, static: true }, { propertyName: "footerConfigs", first: true, predicate: FsListFooterDirective, descendants: true, static: true }, { propertyName: "expandTrigger", predicate: FsListGroupExpandTriggerDirective, descendants: true }], ngImport: i0__namespace });
4567
+ FsListColumnDirective.ɵdir = i0__namespace.ɵɵ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: i0.TemplateRef, static: true }, { propertyName: "headerConfigs", first: true, predicate: FsListHeaderDirective, descendants: true, static: true }, { propertyName: "groupHeaderTemplate", first: true, predicate: FsListGroupHeaderDirective, descendants: true, read: i0.TemplateRef, static: true }, { propertyName: "groupHeaderConfigs", first: true, predicate: FsListGroupHeaderDirective, descendants: true, static: true }, { propertyName: "groupFooterTemplate", first: true, predicate: FsListGroupFooterDirective, descendants: true, read: i0.TemplateRef, static: true }, { propertyName: "groupFooterConfigs", first: true, predicate: FsListGroupFooterDirective, descendants: true, static: true }, { propertyName: "cellTemplate", first: true, predicate: FsListCellDirective, descendants: true, read: i0.TemplateRef, static: true }, { propertyName: "cellConfigs", first: true, predicate: FsListCellDirective, descendants: true, static: true }, { propertyName: "footerTemplate", first: true, predicate: FsListFooterDirective, descendants: true, read: i0.TemplateRef, static: true }, { propertyName: "footerConfigs", first: true, predicate: FsListFooterDirective, descendants: true, static: true }, { propertyName: "expandTrigger", predicate: FsListGroupExpandTriggerDirective, descendants: true }], ngImport: i0__namespace });
4584
4568
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsListColumnDirective, decorators: [{
4585
4569
  type: i0.Directive,
4586
4570
  args: [{
@@ -4592,12 +4576,18 @@
4592
4576
  }], headerConfigs: [{
4593
4577
  type: i0.ContentChild,
4594
4578
  args: [FsListHeaderDirective, { static: true }]
4595
- }], groupCellTemplate: [{
4579
+ }], groupHeaderTemplate: [{
4580
+ type: i0.ContentChild,
4581
+ args: [FsListGroupHeaderDirective, { read: i0.TemplateRef, static: true }]
4582
+ }], groupHeaderConfigs: [{
4583
+ type: i0.ContentChild,
4584
+ args: [FsListGroupHeaderDirective, { static: true }]
4585
+ }], groupFooterTemplate: [{
4596
4586
  type: i0.ContentChild,
4597
- args: [FsListGroupCellDirective, { read: i0.TemplateRef, static: true }]
4598
- }], groupCellConfigs: [{
4587
+ args: [FsListGroupFooterDirective, { read: i0.TemplateRef, static: true }]
4588
+ }], groupFooterConfigs: [{
4599
4589
  type: i0.ContentChild,
4600
- args: [FsListGroupCellDirective, { static: true }]
4590
+ args: [FsListGroupFooterDirective, { static: true }]
4601
4591
  }], expandTrigger: [{
4602
4592
  type: i0.ContentChildren,
4603
4593
  args: [FsListGroupExpandTriggerDirective, { descendants: true }]
@@ -4859,7 +4849,7 @@
4859
4849
  if (this.row.isGroup) {
4860
4850
  this.cellContext.groupIndex = this.row.index;
4861
4851
  }
4862
- else if (this.row.isChild) {
4852
+ else if (this.row.isChild || this.row.isFooter) {
4863
4853
  this.cellContext.groupChildIndex = this.row.index;
4864
4854
  this.cellContext.groupRow = this.row.parent.data;
4865
4855
  }
@@ -4873,8 +4863,12 @@
4873
4863
  }
4874
4864
  };
4875
4865
  FsCellComponent.prototype._initCellTemplate = function () {
4876
- if (this.row && this.row.isGroup) {
4877
- this.cellTemplate = this.column.groupCellTemplate || this.column.cellTemplate;
4866
+ var _a, _b;
4867
+ if ((_a = this.row) === null || _a === void 0 ? void 0 : _a.isGroup) {
4868
+ this.cellTemplate = this.column.groupHeaderTemplate || this.column.cellTemplate;
4869
+ }
4870
+ else if ((_b = this.row) === null || _b === void 0 ? void 0 : _b.isFooter) {
4871
+ this.cellTemplate = this.column.groupFooterTemplate || this.column.cellTemplate;
4878
4872
  }
4879
4873
  else {
4880
4874
  this.cellTemplate = this.column.cellTemplate;
@@ -5474,6 +5468,27 @@
5474
5468
  this._destroy$ = new rxjs.Subject();
5475
5469
  this._rowDiffer = _differs.find({}).create();
5476
5470
  }
5471
+ Object.defineProperty(FsRowComponent.prototype, "isGroupRow", {
5472
+ get: function () {
5473
+ return this.row.isGroup;
5474
+ },
5475
+ enumerable: false,
5476
+ configurable: true
5477
+ });
5478
+ Object.defineProperty(FsRowComponent.prototype, "isChildRow", {
5479
+ get: function () {
5480
+ return this.row.isChild;
5481
+ },
5482
+ enumerable: false,
5483
+ configurable: true
5484
+ });
5485
+ Object.defineProperty(FsRowComponent.prototype, "isGroupFooterRow", {
5486
+ get: function () {
5487
+ return this.row.isFooter;
5488
+ },
5489
+ enumerable: false,
5490
+ configurable: true
5491
+ });
5477
5492
  Object.defineProperty(FsRowComponent.prototype, "rowCssClass", {
5478
5493
  get: function () {
5479
5494
  var e_1, _b;
@@ -5665,7 +5680,7 @@
5665
5680
  return FsRowComponent;
5666
5681
  }());
5667
5682
  FsRowComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsRowComponent, deps: [{ token: i0__namespace.ElementRef }, { token: ReorderController }, { token: i0__namespace.ChangeDetectorRef }, { token: i0__namespace.KeyValueDiffers }, { token: i0__namespace.Renderer2 }, { token: FsListDraggableListDirective }], target: i0__namespace.ɵɵFactoryTarget.Component });
5668
- FsRowComponent.ɵcmp = i0__namespace.ɵɵ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__namespace, 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__namespace.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__namespace.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i3__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3__namespace$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3__namespace$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5__namespace.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__namespace$1.AsyncPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
5683
+ FsRowComponent.ɵcmp = i0__namespace.ɵɵ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__namespace, 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 <ng-container *ngIf=\"!row.isFooter\">\n <mat-checkbox (change)=\"selectRow($event)\"\n [checked]=\"selected\"\n [indeterminate]=\"indeterminateSelected\">\n </mat-checkbox>\n </ng-container>\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=\"(isGroupRow && !column.groupHeaderColspanned)\n || (isGroupFooterRow && !column.groupFooterColspanned)\n || (!isGroupRow && !isGroupFooterRow && !column.cellColspanned)\"\n [column]=\"column\"\n [row]=\"row\"\n [rowIndex]=\"rowIndex\"\n [class]=\"(isGroupRow && column.groupHeaderConfigs.classesString)\n || (isGroupFooterRow && column.groupFooterConfigs.classesString)\n || (!isGroupFooterRow && column.cellConfigs.classesString)\"\n [ngClass]=\"{ 'primary-col': isFirst }\"\n [attr.colspan]=\"(isGroupRow && column.groupHeaderConfigs.colspan)\n || (isGroupFooterRow && column.groupFooterConfigs.colspan)\n || 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 <ng-container *ngIf=\"!isGroupFooterRow\">\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 </ng-container>\n</td>\n\n<ng-template #dragCell>\n <ng-container *ngIf=\"dragCellVisible && !isGroupFooterRow; 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__namespace.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__namespace.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i3__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3__namespace$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3__namespace$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5__namespace.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__namespace$1.AsyncPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
5669
5684
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsRowComponent, decorators: [{
5670
5685
  type: i0.Component,
5671
5686
  args: [{
@@ -6494,7 +6509,8 @@
6494
6509
  FsListCellDirective,
6495
6510
  FsListHeaderDirective,
6496
6511
  FsListFooterDirective,
6497
- FsListGroupCellDirective,
6512
+ FsListGroupHeaderDirective,
6513
+ FsListGroupFooterDirective,
6498
6514
  FsListGroupExpandTriggerDirective,
6499
6515
  FsListDraggableListDirective,
6500
6516
  FsListDraggableRowDirective,
@@ -6526,7 +6542,8 @@
6526
6542
  FsListCellDirective,
6527
6543
  FsListHeaderDirective,
6528
6544
  FsListFooterDirective,
6529
- FsListGroupCellDirective,
6545
+ FsListGroupHeaderDirective,
6546
+ FsListGroupFooterDirective,
6530
6547
  FsListGroupExpandTriggerDirective,
6531
6548
  FsListEmptyStateDirective,
6532
6549
  FsListContentDirective] });
@@ -6594,7 +6611,8 @@
6594
6611
  FsListCellDirective,
6595
6612
  FsListHeaderDirective,
6596
6613
  FsListFooterDirective,
6597
- FsListGroupCellDirective,
6614
+ FsListGroupHeaderDirective,
6615
+ FsListGroupFooterDirective,
6598
6616
  FsListGroupExpandTriggerDirective,
6599
6617
  FsListDraggableListDirective,
6600
6618
  FsListDraggableRowDirective,
@@ -6614,7 +6632,8 @@
6614
6632
  FsListCellDirective,
6615
6633
  FsListHeaderDirective,
6616
6634
  FsListFooterDirective,
6617
- FsListGroupCellDirective,
6635
+ FsListGroupHeaderDirective,
6636
+ FsListGroupFooterDirective,
6618
6637
  FsListGroupExpandTriggerDirective,
6619
6638
  FsListEmptyStateDirective,
6620
6639
  FsListContentDirective,
@@ -6649,8 +6668,9 @@
6649
6668
  exports.FsListContentDirective = FsListContentDirective;
6650
6669
  exports.FsListEmptyStateDirective = FsListEmptyStateDirective;
6651
6670
  exports.FsListFooterDirective = FsListFooterDirective;
6652
- exports.FsListGroupCellDirective = FsListGroupCellDirective;
6653
6671
  exports.FsListGroupExpandTriggerDirective = FsListGroupExpandTriggerDirective;
6672
+ exports.FsListGroupFooterDirective = FsListGroupFooterDirective;
6673
+ exports.FsListGroupHeaderDirective = FsListGroupHeaderDirective;
6654
6674
  exports.FsListHeaderDirective = FsListHeaderDirective;
6655
6675
  exports.FsListLoaderComponent = FsListLoaderComponent;
6656
6676
  exports.FsListModule = FsListModule;