@firestitch/list 9.9.7 → 9.9.11

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 (193) hide show
  1. package/app/classes/actions-controller.d.ts +20 -20
  2. package/app/classes/columns-controller.d.ts +65 -65
  3. package/app/classes/data-controller.d.ts +89 -89
  4. package/app/classes/external-params-controller.d.ts +31 -31
  5. package/app/classes/index.d.ts +2 -2
  6. package/app/classes/list-controller.d.ts +166 -166
  7. package/app/classes/pagination-controller.d.ts +185 -185
  8. package/app/classes/persistance-controller.d.ts +7 -7
  9. package/app/classes/reorder-controller.d.ts +56 -56
  10. package/app/classes/selection-controller.d.ts +141 -141
  11. package/app/classes/sorting-controller.d.ts +64 -63
  12. package/app/components/body/body.component.d.ts +29 -29
  13. package/app/components/body/row/actions/actions.component.d.ts +32 -32
  14. package/app/components/body/row/cell/cell.component.d.ts +20 -20
  15. package/app/components/body/row/inline-action/inline-action.component.d.ts +10 -10
  16. package/app/components/body/row/row.component.d.ts +66 -66
  17. package/app/components/customize-cols/customize-cols.component.d.ts +14 -14
  18. package/app/components/footer/footer-row/footer-cell/footer-cell.component.d.ts +4 -4
  19. package/app/components/footer/footer-row/footer-row.component.d.ts +8 -8
  20. package/app/components/footer/footer.component.d.ts +8 -8
  21. package/app/components/head/head-cell/head-cell.component.d.ts +11 -11
  22. package/app/components/head/head.component.d.ts +40 -40
  23. package/app/components/list/list.component.d.ts +108 -108
  24. package/app/components/loader/loader.component.d.ts +11 -11
  25. package/app/components/manage-saved-filters/manage-saved-filters.component.d.ts +10 -10
  26. package/app/components/pagination/pagination.component.d.ts +11 -11
  27. package/app/components/saved-filters/saved-filters.component.d.ts +12 -12
  28. package/app/components/status/status.component.d.ts +18 -18
  29. package/app/directives/cell/cell.directive.d.ts +5 -5
  30. package/app/directives/column/column.directive.d.ts +24 -23
  31. package/app/directives/draggable-list/draggable-list.directive.d.ts +77 -77
  32. package/app/directives/draggable-row/draggable-row.directive.d.ts +18 -18
  33. package/app/directives/empty-state/empty-state.directive.d.ts +2 -2
  34. package/app/directives/footer/footer.directive.d.ts +5 -5
  35. package/app/directives/group-cell/group-cell.directive.d.ts +3 -3
  36. package/app/directives/group-expand-trigger/group-expand-trigger.directive.d.ts +7 -7
  37. package/app/directives/header/header.directive.d.ts +5 -5
  38. package/app/enums/button-type.enum.d.ts +7 -7
  39. package/app/enums/page-change-type.enum.d.ts +4 -4
  40. package/app/enums/pagination-strategy.enum.d.ts +5 -5
  41. package/app/enums/row-type.enum.d.ts +5 -5
  42. package/app/enums/state.enum.d.ts +9 -9
  43. package/app/fs-list.module.d.ts +6 -6
  44. package/app/fs-list.providers.d.ts +3 -3
  45. package/app/interfaces/cellconfig.interface.d.ts +5 -5
  46. package/app/interfaces/draggable-list.interface.d.ts +7 -7
  47. package/app/interfaces/external-params.interface.d.ts +13 -13
  48. package/app/interfaces/index.d.ts +3 -3
  49. package/app/interfaces/listconfig.interface.d.ts +220 -220
  50. package/app/interfaces/pagination.interface.d.ts +13 -13
  51. package/app/models/column.model.d.ts +48 -46
  52. package/app/models/row/base-row.d.ts +13 -13
  53. package/app/models/row/child-row.d.ts +12 -12
  54. package/app/models/row/group-row.d.ts +14 -14
  55. package/app/models/row/simple-row.d.ts +5 -5
  56. package/app/models/row-action.model.d.ts +29 -29
  57. package/app/models/row.d.ts +28 -28
  58. package/app/models/styleConfig.model.d.ts +31 -31
  59. package/app/services/group-expand-notifier.service.d.ts +8 -8
  60. package/bundles/firestitch-list.umd.js +5814 -5784
  61. package/bundles/firestitch-list.umd.js.map +1 -1
  62. package/bundles/firestitch-list.umd.min.js +1 -1
  63. package/bundles/firestitch-list.umd.min.js.map +1 -1
  64. package/esm2015/app/classes/actions-controller.js +55 -55
  65. package/esm2015/app/classes/columns-controller.js +185 -185
  66. package/esm2015/app/classes/data-controller.js +317 -311
  67. package/esm2015/app/classes/external-params-controller.js +155 -155
  68. package/esm2015/app/classes/index.js +3 -3
  69. package/esm2015/app/classes/list-controller.js +730 -730
  70. package/esm2015/app/classes/pagination-controller.js +461 -461
  71. package/esm2015/app/classes/persistance-controller.js +22 -22
  72. package/esm2015/app/classes/reorder-controller.js +161 -161
  73. package/esm2015/app/classes/selection-controller.js +444 -444
  74. package/esm2015/app/classes/sorting-controller.js +181 -172
  75. package/esm2015/app/components/body/body.component.js +103 -103
  76. package/esm2015/app/components/body/row/actions/actions.component.js +110 -110
  77. package/esm2015/app/components/body/row/cell/cell.component.js +93 -93
  78. package/esm2015/app/components/body/row/inline-action/inline-action.component.js +34 -34
  79. package/esm2015/app/components/body/row/row.component.js +267 -267
  80. package/esm2015/app/components/customize-cols/customize-cols.component.js +67 -67
  81. package/esm2015/app/components/footer/footer-row/footer-cell/footer-cell.component.js +18 -18
  82. package/esm2015/app/components/footer/footer-row/footer-row.component.js +35 -35
  83. package/esm2015/app/components/footer/footer.component.js +30 -30
  84. package/esm2015/app/components/head/head-cell/head-cell.component.js +35 -35
  85. package/esm2015/app/components/head/head.component.js +99 -99
  86. package/esm2015/app/components/list/list.component.js +357 -357
  87. package/esm2015/app/components/loader/loader.component.js +46 -46
  88. package/esm2015/app/components/manage-saved-filters/manage-saved-filters.component.js +75 -75
  89. package/esm2015/app/components/pagination/pagination.component.js +44 -44
  90. package/esm2015/app/components/saved-filters/saved-filters.component.js +36 -36
  91. package/esm2015/app/components/status/status.component.js +77 -77
  92. package/esm2015/app/directives/cell/cell.directive.js +21 -21
  93. package/esm2015/app/directives/column/column.directive.js +97 -93
  94. package/esm2015/app/directives/draggable-list/draggable-list.directive.js +264 -264
  95. package/esm2015/app/directives/draggable-row/draggable-row.directive.js +81 -81
  96. package/esm2015/app/directives/empty-state/empty-state.directive.js +11 -11
  97. package/esm2015/app/directives/footer/footer.directive.js +21 -21
  98. package/esm2015/app/directives/group-cell/group-cell.directive.js +12 -12
  99. package/esm2015/app/directives/group-expand-trigger/group-expand-trigger.directive.js +32 -32
  100. package/esm2015/app/directives/header/header.directive.js +21 -21
  101. package/esm2015/app/enums/button-type.enum.js +9 -9
  102. package/esm2015/app/enums/page-change-type.enum.js +6 -6
  103. package/esm2015/app/enums/pagination-strategy.enum.js +7 -7
  104. package/esm2015/app/enums/row-type.enum.js +7 -7
  105. package/esm2015/app/enums/state.enum.js +11 -11
  106. package/esm2015/app/fs-list.module.js +140 -140
  107. package/esm2015/app/fs-list.providers.js +4 -4
  108. package/esm2015/app/interfaces/cellconfig.interface.js +1 -1
  109. package/esm2015/app/interfaces/draggable-list.interface.js +1 -1
  110. package/esm2015/app/interfaces/external-params.interface.js +1 -1
  111. package/esm2015/app/interfaces/index.js +1 -1
  112. package/esm2015/app/interfaces/listconfig.interface.js +1 -1
  113. package/esm2015/app/interfaces/pagination.interface.js +1 -1
  114. package/esm2015/app/models/column.model.js +185 -175
  115. package/esm2015/app/models/row/base-row.js +23 -23
  116. package/esm2015/app/models/row/child-row.js +28 -28
  117. package/esm2015/app/models/row/group-row.js +41 -41
  118. package/esm2015/app/models/row/simple-row.js +10 -10
  119. package/esm2015/app/models/row-action.model.js +115 -115
  120. package/esm2015/app/models/row.js +77 -77
  121. package/esm2015/app/models/styleConfig.model.js +86 -86
  122. package/esm2015/app/services/group-expand-notifier.service.js +25 -25
  123. package/esm2015/firestitch-list.js +17 -17
  124. package/esm2015/public_api.js +40 -40
  125. package/esm5/app/classes/actions-controller.js +71 -71
  126. package/esm5/app/classes/columns-controller.js +236 -236
  127. package/esm5/app/classes/data-controller.js +373 -365
  128. package/esm5/app/classes/external-params-controller.js +185 -185
  129. package/esm5/app/classes/index.js +3 -3
  130. package/esm5/app/classes/list-controller.js +749 -749
  131. package/esm5/app/classes/pagination-controller.js +568 -568
  132. package/esm5/app/classes/persistance-controller.js +25 -25
  133. package/esm5/app/classes/reorder-controller.js +195 -195
  134. package/esm5/app/classes/selection-controller.js +465 -465
  135. package/esm5/app/classes/sorting-controller.js +204 -195
  136. package/esm5/app/components/body/body.component.js +104 -104
  137. package/esm5/app/components/body/row/actions/actions.component.js +113 -113
  138. package/esm5/app/components/body/row/cell/cell.component.js +95 -95
  139. package/esm5/app/components/body/row/inline-action/inline-action.component.js +35 -35
  140. package/esm5/app/components/body/row/row.component.js +295 -295
  141. package/esm5/app/components/customize-cols/customize-cols.component.js +69 -69
  142. package/esm5/app/components/footer/footer-row/footer-cell/footer-cell.component.js +20 -20
  143. package/esm5/app/components/footer/footer-row/footer-row.component.js +38 -38
  144. package/esm5/app/components/footer/footer.component.js +31 -31
  145. package/esm5/app/components/head/head-cell/head-cell.component.js +38 -38
  146. package/esm5/app/components/head/head.component.js +106 -106
  147. package/esm5/app/components/list/list.component.js +391 -391
  148. package/esm5/app/components/loader/loader.component.js +47 -47
  149. package/esm5/app/components/manage-saved-filters/manage-saved-filters.component.js +81 -81
  150. package/esm5/app/components/pagination/pagination.component.js +46 -46
  151. package/esm5/app/components/saved-filters/saved-filters.component.js +41 -41
  152. package/esm5/app/components/status/status.component.js +79 -79
  153. package/esm5/app/directives/cell/cell.directive.js +24 -24
  154. package/esm5/app/directives/column/column.directive.js +98 -94
  155. package/esm5/app/directives/draggable-list/draggable-list.directive.js +281 -281
  156. package/esm5/app/directives/draggable-row/draggable-row.directive.js +83 -83
  157. package/esm5/app/directives/empty-state/empty-state.directive.js +14 -14
  158. package/esm5/app/directives/footer/footer.directive.js +24 -24
  159. package/esm5/app/directives/group-cell/group-cell.directive.js +17 -17
  160. package/esm5/app/directives/group-expand-trigger/group-expand-trigger.directive.js +33 -33
  161. package/esm5/app/directives/header/header.directive.js +24 -24
  162. package/esm5/app/enums/button-type.enum.js +9 -9
  163. package/esm5/app/enums/page-change-type.enum.js +6 -6
  164. package/esm5/app/enums/pagination-strategy.enum.js +7 -7
  165. package/esm5/app/enums/row-type.enum.js +7 -7
  166. package/esm5/app/enums/state.enum.js +11 -11
  167. package/esm5/app/fs-list.module.js +145 -145
  168. package/esm5/app/fs-list.providers.js +4 -4
  169. package/esm5/app/interfaces/cellconfig.interface.js +1 -1
  170. package/esm5/app/interfaces/draggable-list.interface.js +1 -1
  171. package/esm5/app/interfaces/external-params.interface.js +1 -1
  172. package/esm5/app/interfaces/index.js +1 -1
  173. package/esm5/app/interfaces/listconfig.interface.js +1 -1
  174. package/esm5/app/interfaces/pagination.interface.js +1 -1
  175. package/esm5/app/models/column.model.js +204 -194
  176. package/esm5/app/models/row/base-row.js +35 -35
  177. package/esm5/app/models/row/child-row.js +43 -43
  178. package/esm5/app/models/row/group-row.js +61 -61
  179. package/esm5/app/models/row/simple-row.js +15 -15
  180. package/esm5/app/models/row-action.model.js +126 -126
  181. package/esm5/app/models/row.js +126 -126
  182. package/esm5/app/models/styleConfig.model.js +91 -91
  183. package/esm5/app/services/group-expand-notifier.service.js +30 -30
  184. package/esm5/firestitch-list.js +17 -17
  185. package/esm5/public_api.js +40 -40
  186. package/fesm2015/firestitch-list.js +5174 -5146
  187. package/fesm2015/firestitch-list.js.map +1 -1
  188. package/fesm5/firestitch-list.js +5799 -5769
  189. package/fesm5/firestitch-list.js.map +1 -1
  190. package/firestitch-list.d.ts +18 -18
  191. package/firestitch-list.metadata.json +1 -1
  192. package/package.json +1 -1
  193. package/public_api.d.ts +33 -33
@@ -1,104 +1,104 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, DoCheck, ElementRef, EventEmitter, Input, IterableDiffer, IterableDiffers, OnDestroy, TemplateRef, ViewChild, ViewContainerRef, } from '@angular/core';
3
- import { Subject } from 'rxjs';
4
- import { ReorderController } from '../../classes/reorder-controller';
5
- import { SelectionController } from '../../classes/selection-controller';
6
- import { FsRowComponent } from './row/row.component';
7
- var FsBodyComponent = /** @class */ (function () {
8
- function FsBodyComponent(reorderContoller, el, cdRef, differs) {
9
- this.reorderContoller = reorderContoller;
10
- this.el = el;
11
- this.cdRef = cdRef;
12
- this.differs = differs;
13
- this.columns = [];
14
- this.hasFooter = false;
15
- this.rowActionsRaw = [];
16
- this.groupActionsRaw = [];
17
- this.rowEvents = {};
18
- this.hasRowActions = false;
19
- this.restoreMode = false;
20
- this._destroy$ = new Subject();
21
- this._rowsDiffer = differs.find([]).create(null);
22
- }
23
- FsBodyComponent.prototype.ngDoCheck = function () {
24
- if (this._rowsDiffer.diff(this.rows)) {
25
- this.cdRef.markForCheck();
26
- }
27
- };
28
- FsBodyComponent.prototype.ngOnDestroy = function () {
29
- this._destroy$.next();
30
- this._destroy$.complete();
31
- };
32
- FsBodyComponent.ctorParameters = function () { return [
33
- { type: ReorderController },
34
- { type: ElementRef },
35
- { type: ChangeDetectorRef },
36
- { type: IterableDiffers }
37
- ]; };
38
- __decorate([
39
- Input(),
40
- __metadata("design:type", Array)
41
- ], FsBodyComponent.prototype, "rows", void 0);
42
- __decorate([
43
- Input(),
44
- __metadata("design:type", Array)
45
- ], FsBodyComponent.prototype, "columns", void 0);
46
- __decorate([
47
- Input(),
48
- __metadata("design:type", Object)
49
- ], FsBodyComponent.prototype, "hasFooter", void 0);
50
- __decorate([
51
- Input(),
52
- __metadata("design:type", Array)
53
- ], FsBodyComponent.prototype, "rowActionsRaw", void 0);
54
- __decorate([
55
- Input(),
56
- __metadata("design:type", Array)
57
- ], FsBodyComponent.prototype, "groupActionsRaw", void 0);
58
- __decorate([
59
- Input(),
60
- __metadata("design:type", Object)
61
- ], FsBodyComponent.prototype, "rowEvents", void 0);
62
- __decorate([
63
- Input(),
64
- __metadata("design:type", Object)
65
- ], FsBodyComponent.prototype, "rowClass", void 0);
66
- __decorate([
67
- Input(),
68
- __metadata("design:type", Object)
69
- ], FsBodyComponent.prototype, "hasRowActions", void 0);
70
- __decorate([
71
- Input(),
72
- __metadata("design:type", SelectionController)
73
- ], FsBodyComponent.prototype, "selection", void 0);
74
- __decorate([
75
- Input(),
76
- __metadata("design:type", Object)
77
- ], FsBodyComponent.prototype, "restoreMode", void 0);
78
- __decorate([
79
- Input(),
80
- __metadata("design:type", EventEmitter)
81
- ], FsBodyComponent.prototype, "rowRemoved", void 0);
82
- __decorate([
83
- ViewChild('rowsContainer', { read: ViewContainerRef, static: true }),
84
- __metadata("design:type", Object)
85
- ], FsBodyComponent.prototype, "rowsContainer", void 0);
86
- __decorate([
87
- ContentChild(FsRowComponent, { read: TemplateRef, static: true }),
88
- __metadata("design:type", TemplateRef)
89
- ], FsBodyComponent.prototype, "headerTemplate", void 0);
90
- FsBodyComponent = __decorate([
91
- Component({
92
- selector: '[fs-list-body]',
93
- template: "<ng-container *ngFor=\"let row of rows; let i = index;\">\r\n <tr fs-list-row\r\n fsListDraggableRow\r\n [row]=\"row\"\r\n [rowIndex]=\"i\"\r\n [columns]=\"columns\"\r\n [rowActionsRaw]=\"rowActionsRaw\"\r\n [groupActionsRaw]=\"groupActionsRaw\"\r\n [hasRowActions]=\"hasRowActions\"\r\n [rowEvents]=\"rowEvents\"\r\n [rowClass]=\"rowClass\"\r\n [selection]=\"selection\"\r\n [restoreMode]=\"restoreMode\"\r\n [ngClass]=\"{ 'drag-row': reorderContoller.enabled }\"\r\n [rowRemoved]=\"rowRemoved\"\r\n #activeRow>\r\n </tr>\r\n</ng-container>\r\n",
94
- changeDetection: ChangeDetectionStrategy.OnPush
95
- }),
96
- __metadata("design:paramtypes", [ReorderController,
97
- ElementRef,
98
- ChangeDetectorRef,
99
- IterableDiffers])
100
- ], FsBodyComponent);
101
- return FsBodyComponent;
102
- }());
103
- export { FsBodyComponent };
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9keS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZmlyZXN0aXRjaC9saXN0LyIsInNvdXJjZXMiOlsiYXBwL2NvbXBvbmVudHMvYm9keS9ib2R5LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixPQUFPLEVBQ1AsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBQ0wsY0FBYyxFQUNkLGVBQWUsRUFDZixTQUFTLEVBQ1QsV0FBVyxFQUNYLFNBQVMsRUFDVCxnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUcvQixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUd6RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFRckQ7SUFxQkUseUJBQ1MsZ0JBQW1DLEVBQ2xDLEVBQWMsRUFDZCxLQUF3QixFQUN4QixPQUF3QjtRQUh6QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQW1CO1FBQ2xDLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDZCxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUN4QixZQUFPLEdBQVAsT0FBTyxDQUFpQjtRQXZCekIsWUFBTyxHQUFhLEVBQUUsQ0FBQztRQUN2QixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGtCQUFhLEdBQVUsRUFBRSxDQUFDO1FBQzFCLG9CQUFlLEdBQVUsRUFBRSxDQUFDO1FBQzVCLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFFZixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUV0QixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQVNyQixjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQVFoQyxJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFTSxtQ0FBUyxHQUFoQjtRQUNFLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3BDLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDM0I7SUFDSCxDQUFDO0lBRU0scUNBQVcsR0FBbEI7UUFDRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUIsQ0FBQzs7Z0JBakIwQixpQkFBaUI7Z0JBQzlCLFVBQVU7Z0JBQ1AsaUJBQWlCO2dCQUNmLGVBQWU7O0lBeEJ6QjtRQUFSLEtBQUssRUFBRTs7aURBQWE7SUFDWjtRQUFSLEtBQUssRUFBRTs7b0RBQXdCO0lBQ3ZCO1FBQVIsS0FBSyxFQUFFOztzREFBbUI7SUFDbEI7UUFBUixLQUFLLEVBQUU7OzBEQUEyQjtJQUMxQjtRQUFSLEtBQUssRUFBRTs7NERBQTZCO0lBQzVCO1FBQVIsS0FBSyxFQUFFOztzREFBZ0I7SUFDZjtRQUFSLEtBQUssRUFBRTs7cURBQVU7SUFDVDtRQUFSLEtBQUssRUFBRTs7MERBQXVCO0lBQ3RCO1FBQVIsS0FBSyxFQUFFO2tDQUFZLG1CQUFtQjtzREFBQztJQUMvQjtRQUFSLEtBQUssRUFBRTs7d0RBQXFCO0lBQ3BCO1FBQVIsS0FBSyxFQUFFO2tDQUFhLFlBQVk7dURBQU07SUFFK0I7UUFBckUsU0FBUyxDQUFDLGVBQWUsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUM7OzBEQUFlO0lBRXBGO1FBREMsWUFBWSxDQUFDLGNBQWMsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDO2tDQUNsRCxXQUFXOzJEQUFNO0lBZnRCLGVBQWU7UUFMM0IsU0FBUyxDQUFDO1lBQ1QsUUFBUSxFQUFFLGdCQUFnQjtZQUMxQixxbkJBQWtDO1lBQ2xDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO1NBQ2hELENBQUM7eUNBdUIyQixpQkFBaUI7WUFDOUIsVUFBVTtZQUNQLGlCQUFpQjtZQUNmLGVBQWU7T0F6QnZCLGVBQWUsQ0FrRDNCO0lBQUQsc0JBQUM7Q0FBQSxBQWxERCxJQWtEQztTQWxEWSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgQ29udGVudENoaWxkLFxyXG4gIERvQ2hlY2ssXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgSXRlcmFibGVEaWZmZXIsXHJcbiAgSXRlcmFibGVEaWZmZXJzLFxyXG4gIE9uRGVzdHJveSxcclxuICBUZW1wbGF0ZVJlZixcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IENvbHVtbiB9IGZyb20gJy4uLy4uL21vZGVscy9jb2x1bW4ubW9kZWwnO1xyXG5pbXBvcnQgeyBSZW9yZGVyQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NsYXNzZXMvcmVvcmRlci1jb250cm9sbGVyJztcclxuaW1wb3J0IHsgU2VsZWN0aW9uQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NsYXNzZXMvc2VsZWN0aW9uLWNvbnRyb2xsZXInO1xyXG5pbXBvcnQgeyBSb3cgfSBmcm9tICcuLi8uLi9tb2RlbHMvcm93JztcclxuXHJcbmltcG9ydCB7IEZzUm93Q29tcG9uZW50IH0gZnJvbSAnLi9yb3cvcm93LmNvbXBvbmVudCc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdbZnMtbGlzdC1ib2R5XScsXHJcbiAgdGVtcGxhdGVVcmw6ICdib2R5LmNvbXBvbmVudC5odG1sJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRnNCb2R5Q29tcG9uZW50IGltcGxlbWVudHMgRG9DaGVjaywgT25EZXN0cm95IHtcclxuICBASW5wdXQoKSByb3dzOiBSb3dbXTtcclxuICBASW5wdXQoKSBjb2x1bW5zOiBDb2x1bW5bXSA9IFtdO1xyXG4gIEBJbnB1dCgpIGhhc0Zvb3RlciA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHJvd0FjdGlvbnNSYXc6IGFueVtdID0gW107XHJcbiAgQElucHV0KCkgZ3JvdXBBY3Rpb25zUmF3OiBhbnlbXSA9IFtdO1xyXG4gIEBJbnB1dCgpIHJvd0V2ZW50cyA9IHt9O1xyXG4gIEBJbnB1dCgpIHJvd0NsYXNzO1xyXG4gIEBJbnB1dCgpIGhhc1Jvd0FjdGlvbnMgPSBmYWxzZTtcclxuICBASW5wdXQoKSBzZWxlY3Rpb246IFNlbGVjdGlvbkNvbnRyb2xsZXI7XHJcbiAgQElucHV0KCkgcmVzdG9yZU1vZGUgPSBmYWxzZTtcclxuICBASW5wdXQoKSByb3dSZW1vdmVkOiBFdmVudEVtaXR0ZXI8YW55PjtcclxuXHJcbiAgQFZpZXdDaGlsZCgncm93c0NvbnRhaW5lcicsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiB0cnVlIH0pIHJvd3NDb250YWluZXI7XHJcbiAgQENvbnRlbnRDaGlsZChGc1Jvd0NvbXBvbmVudCwgeyByZWFkOiBUZW1wbGF0ZVJlZiwgc3RhdGljOiB0cnVlIH0pXHJcbiAgaGVhZGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gIHByaXZhdGUgX3Jvd3NEaWZmZXI6IEl0ZXJhYmxlRGlmZmVyPGFueT47XHJcblxyXG4gIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgcmVvcmRlckNvbnRvbGxlcjogUmVvcmRlckNvbnRyb2xsZXIsXHJcbiAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIGRpZmZlcnM6IEl0ZXJhYmxlRGlmZmVycyxcclxuICApIHtcclxuICAgIHRoaXMuX3Jvd3NEaWZmZXIgPSBkaWZmZXJzLmZpbmQoW10pLmNyZWF0ZShudWxsKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ0RvQ2hlY2soKSB7XHJcbiAgICBpZiAodGhpcy5fcm93c0RpZmZlci5kaWZmKHRoaXMucm93cykpIHtcclxuICAgICAgdGhpcy5jZFJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICAvLyAvKipcclxuICAvLyAgKiBUcmFjayBCeSBmb3IgaW1wcm92ZSBjaGFuZ2UgZGV0ZWN0aW9uXHJcbiAgLy8gICogQHBhcmFtIGluZGV4XHJcbiAgLy8gICogQHBhcmFtIGl0ZW1cclxuICAvLyAgKi9cclxuICAvLyBwdWJsaWMgdHJhY2tCeUZuKGluZGV4LCBpdGVtKSB7XHJcbiAgLy8gICAvLyBUT0RPIGltcHJvdmUgd2l0aCB0cmFjayBieSBpZFxyXG4gIC8vICAgcmV0dXJuIGluZGV4O1xyXG4gIC8vIH1cclxufVxyXG4iXX0=
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, DoCheck, ElementRef, EventEmitter, Input, IterableDiffer, IterableDiffers, OnDestroy, TemplateRef, ViewChild, ViewContainerRef, } from '@angular/core';
3
+ import { Subject } from 'rxjs';
4
+ import { ReorderController } from '../../classes/reorder-controller';
5
+ import { SelectionController } from '../../classes/selection-controller';
6
+ import { FsRowComponent } from './row/row.component';
7
+ var FsBodyComponent = /** @class */ (function () {
8
+ function FsBodyComponent(reorderContoller, el, cdRef, differs) {
9
+ this.reorderContoller = reorderContoller;
10
+ this.el = el;
11
+ this.cdRef = cdRef;
12
+ this.differs = differs;
13
+ this.columns = [];
14
+ this.hasFooter = false;
15
+ this.rowActionsRaw = [];
16
+ this.groupActionsRaw = [];
17
+ this.rowEvents = {};
18
+ this.hasRowActions = false;
19
+ this.restoreMode = false;
20
+ this._destroy$ = new Subject();
21
+ this._rowsDiffer = differs.find([]).create(null);
22
+ }
23
+ FsBodyComponent.prototype.ngDoCheck = function () {
24
+ if (this._rowsDiffer.diff(this.rows)) {
25
+ this.cdRef.markForCheck();
26
+ }
27
+ };
28
+ FsBodyComponent.prototype.ngOnDestroy = function () {
29
+ this._destroy$.next();
30
+ this._destroy$.complete();
31
+ };
32
+ FsBodyComponent.ctorParameters = function () { return [
33
+ { type: ReorderController },
34
+ { type: ElementRef },
35
+ { type: ChangeDetectorRef },
36
+ { type: IterableDiffers }
37
+ ]; };
38
+ __decorate([
39
+ Input(),
40
+ __metadata("design:type", Array)
41
+ ], FsBodyComponent.prototype, "rows", void 0);
42
+ __decorate([
43
+ Input(),
44
+ __metadata("design:type", Array)
45
+ ], FsBodyComponent.prototype, "columns", void 0);
46
+ __decorate([
47
+ Input(),
48
+ __metadata("design:type", Object)
49
+ ], FsBodyComponent.prototype, "hasFooter", void 0);
50
+ __decorate([
51
+ Input(),
52
+ __metadata("design:type", Array)
53
+ ], FsBodyComponent.prototype, "rowActionsRaw", void 0);
54
+ __decorate([
55
+ Input(),
56
+ __metadata("design:type", Array)
57
+ ], FsBodyComponent.prototype, "groupActionsRaw", void 0);
58
+ __decorate([
59
+ Input(),
60
+ __metadata("design:type", Object)
61
+ ], FsBodyComponent.prototype, "rowEvents", void 0);
62
+ __decorate([
63
+ Input(),
64
+ __metadata("design:type", Object)
65
+ ], FsBodyComponent.prototype, "rowClass", void 0);
66
+ __decorate([
67
+ Input(),
68
+ __metadata("design:type", Object)
69
+ ], FsBodyComponent.prototype, "hasRowActions", void 0);
70
+ __decorate([
71
+ Input(),
72
+ __metadata("design:type", SelectionController)
73
+ ], FsBodyComponent.prototype, "selection", void 0);
74
+ __decorate([
75
+ Input(),
76
+ __metadata("design:type", Object)
77
+ ], FsBodyComponent.prototype, "restoreMode", void 0);
78
+ __decorate([
79
+ Input(),
80
+ __metadata("design:type", EventEmitter)
81
+ ], FsBodyComponent.prototype, "rowRemoved", void 0);
82
+ __decorate([
83
+ ViewChild('rowsContainer', { read: ViewContainerRef, static: true }),
84
+ __metadata("design:type", Object)
85
+ ], FsBodyComponent.prototype, "rowsContainer", void 0);
86
+ __decorate([
87
+ ContentChild(FsRowComponent, { read: TemplateRef, static: true }),
88
+ __metadata("design:type", TemplateRef)
89
+ ], FsBodyComponent.prototype, "headerTemplate", void 0);
90
+ FsBodyComponent = __decorate([
91
+ Component({
92
+ selector: '[fs-list-body]',
93
+ 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",
94
+ changeDetection: ChangeDetectionStrategy.OnPush
95
+ }),
96
+ __metadata("design:paramtypes", [ReorderController,
97
+ ElementRef,
98
+ ChangeDetectorRef,
99
+ IterableDiffers])
100
+ ], FsBodyComponent);
101
+ return FsBodyComponent;
102
+ }());
103
+ export { FsBodyComponent };
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9keS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZmlyZXN0aXRjaC9saXN0LyIsInNvdXJjZXMiOlsiYXBwL2NvbXBvbmVudHMvYm9keS9ib2R5LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixPQUFPLEVBQ1AsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBQ0wsY0FBYyxFQUNkLGVBQWUsRUFDZixTQUFTLEVBQ1QsV0FBVyxFQUNYLFNBQVMsRUFDVCxnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUcvQixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUd6RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFRckQ7SUFxQkUseUJBQ1MsZ0JBQW1DLEVBQ2xDLEVBQWMsRUFDZCxLQUF3QixFQUN4QixPQUF3QjtRQUh6QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQW1CO1FBQ2xDLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDZCxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUN4QixZQUFPLEdBQVAsT0FBTyxDQUFpQjtRQXZCekIsWUFBTyxHQUFhLEVBQUUsQ0FBQztRQUN2QixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGtCQUFhLEdBQVUsRUFBRSxDQUFDO1FBQzFCLG9CQUFlLEdBQVUsRUFBRSxDQUFDO1FBQzVCLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFFZixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUV0QixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQVNyQixjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQVFoQyxJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFTSxtQ0FBUyxHQUFoQjtRQUNFLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3BDLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDM0I7SUFDSCxDQUFDO0lBRU0scUNBQVcsR0FBbEI7UUFDRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUIsQ0FBQzs7Z0JBakIwQixpQkFBaUI7Z0JBQzlCLFVBQVU7Z0JBQ1AsaUJBQWlCO2dCQUNmLGVBQWU7O0lBeEJ6QjtRQUFSLEtBQUssRUFBRTs7aURBQWE7SUFDWjtRQUFSLEtBQUssRUFBRTs7b0RBQXdCO0lBQ3ZCO1FBQVIsS0FBSyxFQUFFOztzREFBbUI7SUFDbEI7UUFBUixLQUFLLEVBQUU7OzBEQUEyQjtJQUMxQjtRQUFSLEtBQUssRUFBRTs7NERBQTZCO0lBQzVCO1FBQVIsS0FBSyxFQUFFOztzREFBZ0I7SUFDZjtRQUFSLEtBQUssRUFBRTs7cURBQVU7SUFDVDtRQUFSLEtBQUssRUFBRTs7MERBQXVCO0lBQ3RCO1FBQVIsS0FBSyxFQUFFO2tDQUFZLG1CQUFtQjtzREFBQztJQUMvQjtRQUFSLEtBQUssRUFBRTs7d0RBQXFCO0lBQ3BCO1FBQVIsS0FBSyxFQUFFO2tDQUFhLFlBQVk7dURBQU07SUFFK0I7UUFBckUsU0FBUyxDQUFDLGVBQWUsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUM7OzBEQUFlO0lBRXBGO1FBREMsWUFBWSxDQUFDLGNBQWMsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDO2tDQUNsRCxXQUFXOzJEQUFNO0lBZnRCLGVBQWU7UUFMM0IsU0FBUyxDQUFDO1lBQ1QsUUFBUSxFQUFFLGdCQUFnQjtZQUMxQixpbEJBQWtDO1lBQ2xDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO1NBQ2hELENBQUM7eUNBdUIyQixpQkFBaUI7WUFDOUIsVUFBVTtZQUNQLGlCQUFpQjtZQUNmLGVBQWU7T0F6QnZCLGVBQWUsQ0FrRDNCO0lBQUQsc0JBQUM7Q0FBQSxBQWxERCxJQWtEQztTQWxEWSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRG9DaGVjayxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgSXRlcmFibGVEaWZmZXIsXG4gIEl0ZXJhYmxlRGlmZmVycyxcbiAgT25EZXN0cm95LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBDb2x1bW4gfSBmcm9tICcuLi8uLi9tb2RlbHMvY29sdW1uLm1vZGVsJztcbmltcG9ydCB7IFJlb3JkZXJDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9yZW9yZGVyLWNvbnRyb2xsZXInO1xuaW1wb3J0IHsgU2VsZWN0aW9uQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NsYXNzZXMvc2VsZWN0aW9uLWNvbnRyb2xsZXInO1xuaW1wb3J0IHsgUm93IH0gZnJvbSAnLi4vLi4vbW9kZWxzL3Jvdyc7XG5cbmltcG9ydCB7IEZzUm93Q29tcG9uZW50IH0gZnJvbSAnLi9yb3cvcm93LmNvbXBvbmVudCc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnW2ZzLWxpc3QtYm9keV0nLFxuICB0ZW1wbGF0ZVVybDogJ2JvZHkuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBGc0JvZHlDb21wb25lbnQgaW1wbGVtZW50cyBEb0NoZWNrLCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSByb3dzOiBSb3dbXTtcbiAgQElucHV0KCkgY29sdW1uczogQ29sdW1uW10gPSBbXTtcbiAgQElucHV0KCkgaGFzRm9vdGVyID0gZmFsc2U7XG4gIEBJbnB1dCgpIHJvd0FjdGlvbnNSYXc6IGFueVtdID0gW107XG4gIEBJbnB1dCgpIGdyb3VwQWN0aW9uc1JhdzogYW55W10gPSBbXTtcbiAgQElucHV0KCkgcm93RXZlbnRzID0ge307XG4gIEBJbnB1dCgpIHJvd0NsYXNzO1xuICBASW5wdXQoKSBoYXNSb3dBY3Rpb25zID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNlbGVjdGlvbjogU2VsZWN0aW9uQ29udHJvbGxlcjtcbiAgQElucHV0KCkgcmVzdG9yZU1vZGUgPSBmYWxzZTtcbiAgQElucHV0KCkgcm93UmVtb3ZlZDogRXZlbnRFbWl0dGVyPGFueT47XG5cbiAgQFZpZXdDaGlsZCgncm93c0NvbnRhaW5lcicsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiB0cnVlIH0pIHJvd3NDb250YWluZXI7XG4gIEBDb250ZW50Q2hpbGQoRnNSb3dDb21wb25lbnQsIHsgcmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogdHJ1ZSB9KVxuICBoZWFkZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBwcml2YXRlIF9yb3dzRGlmZmVyOiBJdGVyYWJsZURpZmZlcjxhbnk+O1xuXG4gIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVvcmRlckNvbnRvbGxlcjogUmVvcmRlckNvbnRyb2xsZXIsXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIGRpZmZlcnM6IEl0ZXJhYmxlRGlmZmVycyxcbiAgKSB7XG4gICAgdGhpcy5fcm93c0RpZmZlciA9IGRpZmZlcnMuZmluZChbXSkuY3JlYXRlKG51bGwpO1xuICB9XG5cbiAgcHVibGljIG5nRG9DaGVjaygpIHtcbiAgICBpZiAodGhpcy5fcm93c0RpZmZlci5kaWZmKHRoaXMucm93cykpIHtcbiAgICAgIHRoaXMuY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLy8gLyoqXG4gIC8vICAqIFRyYWNrIEJ5IGZvciBpbXByb3ZlIGNoYW5nZSBkZXRlY3Rpb25cbiAgLy8gICogQHBhcmFtIGluZGV4XG4gIC8vICAqIEBwYXJhbSBpdGVtXG4gIC8vICAqL1xuICAvLyBwdWJsaWMgdHJhY2tCeUZuKGluZGV4LCBpdGVtKSB7XG4gIC8vICAgLy8gVE9ETyBpbXByb3ZlIHdpdGggdHJhY2sgYnkgaWRcbiAgLy8gICByZXR1cm4gaW5kZXg7XG4gIC8vIH1cbn1cbiJdfQ==
@@ -1,113 +1,113 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { ChangeDetectionStrategy, Component, EventEmitter, Input, } from '@angular/core';
3
- import { Observable, Subject } from 'rxjs';
4
- import { take, takeUntil } from 'rxjs/operators';
5
- import { FsPrompt } from '@firestitch/prompt';
6
- import { Row } from '../../../../models/row';
7
- import { RowAction } from '../../../../models/row-action.model';
8
- var FsRowActionsComponent = /** @class */ (function () {
9
- function FsRowActionsComponent(_fsPrompt) {
10
- this._fsPrompt = _fsPrompt;
11
- this.restoreMode = false;
12
- this.rowActions = [];
13
- this.menuRowActions = [];
14
- this.inlineRowActions = [];
15
- this._destroy$ = new Subject();
16
- }
17
- FsRowActionsComponent.prototype.actionClick = function (action, row, event, menuRef) {
18
- var _this = this;
19
- if (action.remove) {
20
- if (typeof action.remove === 'boolean') {
21
- this.removeAction(action, row.data, event, this.index);
22
- }
23
- else {
24
- this._fsPrompt.confirm({
25
- title: action.remove.title,
26
- template: action.remove.template,
27
- }).pipe(take(1), takeUntil(this._destroy$)).subscribe({
28
- next: function () {
29
- _this.removeAction(action, row.data, event, _this.index);
30
- },
31
- error: function () { },
32
- });
33
- }
34
- }
35
- else {
36
- action.click(row.data, event, this.index, menuRef);
37
- }
38
- };
39
- /**
40
- * Track By for improve change detection
41
- * @param index
42
- */
43
- FsRowActionsComponent.prototype.trackByFn = function (index) {
44
- return index;
45
- };
46
- FsRowActionsComponent.prototype.clickOnTrigger = function (event) {
47
- event.stopPropagation();
48
- };
49
- /**
50
- * Emit that some row must be removed
51
- * @param action
52
- * @param row
53
- * @param event
54
- * @param index
55
- */
56
- FsRowActionsComponent.prototype.removeAction = function (action, row, event, index) {
57
- var _this = this;
58
- var removeObservable = action.click(row, event, index);
59
- if (removeObservable && removeObservable instanceof Observable) {
60
- removeObservable
61
- .pipe(take(1), takeUntil(this._destroy$))
62
- .subscribe(function () {
63
- _this.rowRemoved.emit(row);
64
- });
65
- }
66
- };
67
- FsRowActionsComponent.ctorParameters = function () { return [
68
- { type: FsPrompt }
69
- ]; };
70
- __decorate([
71
- Input(),
72
- __metadata("design:type", Row)
73
- ], FsRowActionsComponent.prototype, "row", void 0);
74
- __decorate([
75
- Input(),
76
- __metadata("design:type", Number)
77
- ], FsRowActionsComponent.prototype, "index", void 0);
78
- __decorate([
79
- Input(),
80
- __metadata("design:type", Object)
81
- ], FsRowActionsComponent.prototype, "restoreMode", void 0);
82
- __decorate([
83
- Input(),
84
- __metadata("design:type", Array)
85
- ], FsRowActionsComponent.prototype, "rowActions", void 0);
86
- __decorate([
87
- Input(),
88
- __metadata("design:type", EventEmitter)
89
- ], FsRowActionsComponent.prototype, "rowRemoved", void 0);
90
- __decorate([
91
- Input(),
92
- __metadata("design:type", Array)
93
- ], FsRowActionsComponent.prototype, "menuRowActions", void 0);
94
- __decorate([
95
- Input(),
96
- __metadata("design:type", Array)
97
- ], FsRowActionsComponent.prototype, "inlineRowActions", void 0);
98
- __decorate([
99
- Input(),
100
- __metadata("design:type", RowAction)
101
- ], FsRowActionsComponent.prototype, "restoreAction", void 0);
102
- FsRowActionsComponent = __decorate([
103
- Component({
104
- selector: 'fs-list-row-actions',
105
- template: "<ng-container *ngIf=\"!restoreMode || (restoreMode && !restoreAction)\">\r\n <ng-container *ngFor=\"let action of inlineRowActions; trackBy: trackByFn\">\r\n <fs-list-row-inline-action class=\"row-inline-action row-inline-action-{{action.type}}\"\r\n [action]=\"action\"\r\n [ngClass]=\"{'mobile-hide': action.menu === undefined}\"\r\n (clicked)=\"actionClick(action, row, $event)\">\r\n </fs-list-row-inline-action>\r\n </ng-container>\r\n</ng-container>\r\n\r\n<!-- Menu -->\r\n<fs-menu class=\"row-menu-action\"\r\n *ngIf=\"menuRowActions.length || (restoreMode && restoreAction)\"\r\n (click)=\"clickOnTrigger($event)\"\r\n #menuRef\r\n>\r\n <!-- Case when we have usual menu actions -->\r\n <ng-container *ngIf=\"!restoreMode || (restoreMode && !restoreAction)\">\r\n <ng-container *ngFor=\"let action of inlineRowActions; trackBy: trackByFn\">\r\n <ng-template class=\"hidden-mobile-menu-action\"\r\n fs-menu-item\r\n [link]=\"action.routerLink?.link\"\r\n [queryParams]=\"action.routerLink?.queryParams\"\r\n [target]=\"action.routerLink?.target\"\r\n [hidden]=\"action.menu !== undefined && !action.isShown\">\r\n <mat-icon *ngIf=\"action.icon\">{{action.icon}}</mat-icon>\r\n {{action.label}}\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *ngFor=\"let action of menuRowActions; trackBy: trackByFn\">\r\n <ng-container *ngIf=\"action.isGroup else simpleMenuItem\">\r\n <fs-menu-group [label]=\"action.label\">\r\n <ng-container *ngFor=\"let subAction of action.rowActions\">\r\n <ng-template fs-menu-item\r\n [link]=\"subAction.routerLink?.link\"\r\n [queryParams]=\"subAction.routerLink?.queryParams\"\r\n [target]=\"subAction.routerLink?.target\"\r\n [hidden]=\"!subAction.isShown\"\r\n (click)=\"actionClick(subAction, row, $event, menuRef);\">\r\n <mat-icon *ngIf=\"subAction.icon\">{{subAction.icon}}</mat-icon>\r\n {{subAction.label}}\r\n </ng-template>\r\n </ng-container>\r\n </fs-menu-group>\r\n </ng-container>\r\n <ng-template #simpleMenuItem>\r\n <ng-template fs-menu-item\r\n [link]=\"action.routerLink?.link\"\r\n [queryParams]=\"action.routerLink?.queryParams\"\r\n [target]=\"action.routerLink?.target\"\r\n [hidden]=\"!action.isShown\"\r\n (click)=\"actionClick(action, row, $event, menuRef);\">\r\n <mat-icon *ngIf=\"action.icon\">{{action.icon}}</mat-icon>\r\n {{action.label}}\r\n </ng-template>\r\n </ng-template>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <!-- Case when we have restore mode enabled and must hide menu actions -->\r\n <ng-container *ngIf=\"restoreMode && restoreAction\">\r\n <ng-template fs-menu-item (click)=\"actionClick(restoreAction, row, $event, menuRef)\">\r\n <mat-icon *ngIf=\"restoreAction.icon\">{{restoreAction.icon}}</mat-icon>\r\n {{restoreAction.label}}\r\n </ng-template>\r\n </ng-container>\r\n</fs-menu>\r\n",
106
- changeDetection: ChangeDetectionStrategy.OnPush
107
- }),
108
- __metadata("design:paramtypes", [FsPrompt])
109
- ], FsRowActionsComponent);
110
- return FsRowActionsComponent;
111
- }());
112
- export { FsRowActionsComponent };
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZmlyZXN0aXRjaC9saXN0LyIsInNvdXJjZXMiOlsiYXBwL2NvbXBvbmVudHMvYm9keS9yb3cvYWN0aW9ucy9hY3Rpb25zLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUVaLEtBQUssR0FDTixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU5QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBUWhFO0lBNEJFLCtCQUNVLFNBQW1CO1FBQW5CLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFwQnRCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBR3BCLGVBQVUsR0FBZ0IsRUFBRSxDQUFDO1FBTTdCLG1CQUFjLEdBQWdCLEVBQUUsQ0FBQztRQUdqQyxxQkFBZ0IsR0FBZ0IsRUFBRSxDQUFDO1FBS2xDLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBSS9CLENBQUM7SUFFRywyQ0FBVyxHQUFsQixVQUFtQixNQUFpQixFQUFFLEdBQVEsRUFBRSxLQUFVLEVBQUUsT0FBUTtRQUFwRSxpQkFxQkM7UUFwQkMsSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFO1lBQ2pCLElBQUksT0FBTyxNQUFNLENBQUMsTUFBTSxLQUFLLFNBQVMsRUFBRTtnQkFDdEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3hEO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDO29CQUNyQixLQUFLLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLO29CQUMxQixRQUFRLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRO2lCQUNqQyxDQUFDLENBQUMsSUFBSSxDQUNMLElBQUksQ0FBQyxDQUFDLENBQUMsRUFDUCxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUMxQixDQUFDLFNBQVMsQ0FBQztvQkFDVixJQUFJLEVBQUU7d0JBQ0osS0FBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUN6RCxDQUFDO29CQUNELEtBQUssRUFBRSxjQUFPLENBQUM7aUJBQ2hCLENBQUMsQ0FBQTthQUNIO1NBQ0Y7YUFBTTtZQUNMLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztTQUNwRDtJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSSx5Q0FBUyxHQUFoQixVQUFpQixLQUFLO1FBQ3BCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVNLDhDQUFjLEdBQXJCLFVBQXNCLEtBQUs7UUFDekIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSyw0Q0FBWSxHQUFwQixVQUFxQixNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxLQUFLO1FBQTlDLGlCQWFDO1FBWkMsSUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFekQsSUFBSSxnQkFBZ0IsSUFBSSxnQkFBZ0IsWUFBWSxVQUFVLEVBQUU7WUFDOUQsZ0JBQWdCO2lCQUNiLElBQUksQ0FDSCxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ1AsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FDMUI7aUJBQ0EsU0FBUyxDQUFDO2dCQUNULEtBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzVCLENBQUMsQ0FBQyxDQUFDO1NBQ047SUFDSCxDQUFDOztnQkExRG9CLFFBQVE7O0lBMUI3QjtRQURDLEtBQUssRUFBRTtrQ0FDSSxHQUFHO3NEQUFDO0lBR2hCO1FBREMsS0FBSyxFQUFFOzt3REFDYTtJQUdyQjtRQURDLEtBQUssRUFBRTs7OERBQ21CO0lBRzNCO1FBREMsS0FBSyxFQUFFOzs2REFDNEI7SUFHcEM7UUFEQyxLQUFLLEVBQUU7a0NBQ1csWUFBWTs2REFBTTtJQUdyQztRQURDLEtBQUssRUFBRTs7aUVBQ2dDO0lBR3hDO1FBREMsS0FBSyxFQUFFOzttRUFDa0M7SUFHMUM7UUFEQyxLQUFLLEVBQUU7a0NBQ2MsU0FBUztnRUFBQztJQXhCckIscUJBQXFCO1FBTGpDLFNBQVMsQ0FBQztZQUNULFFBQVEsRUFBRSxxQkFBcUI7WUFDL0IsazJHQUF1QztZQUN2QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtTQUNoRCxDQUFDO3lDQThCcUIsUUFBUTtPQTdCbEIscUJBQXFCLENBd0ZqQztJQUFELDRCQUFDO0NBQUEsQUF4RkQsSUF3RkM7U0F4RlkscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIElucHV0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBGc1Byb21wdCB9IGZyb20gJ0BmaXJlc3RpdGNoL3Byb21wdCc7XHJcblxyXG5pbXBvcnQgeyBSb3cgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvcm93JztcclxuaW1wb3J0IHsgUm93QWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL3Jvdy1hY3Rpb24ubW9kZWwnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZnMtbGlzdC1yb3ctYWN0aW9ucycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FjdGlvbnMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRnNSb3dBY3Rpb25zQ29tcG9uZW50IHtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcm93OiBSb3c7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGluZGV4OiBudW1iZXI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJlc3RvcmVNb2RlID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJvd0FjdGlvbnM6IFJvd0FjdGlvbltdID0gW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJvd1JlbW92ZWQ6IEV2ZW50RW1pdHRlcjxhbnk+O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBtZW51Um93QWN0aW9uczogUm93QWN0aW9uW10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaW5saW5lUm93QWN0aW9uczogUm93QWN0aW9uW10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcmVzdG9yZUFjdGlvbjogUm93QWN0aW9uO1xyXG5cclxuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfZnNQcm9tcHQ6IEZzUHJvbXB0LFxyXG4gICkge31cclxuXHJcbiAgcHVibGljIGFjdGlvbkNsaWNrKGFjdGlvbjogUm93QWN0aW9uLCByb3c6IGFueSwgZXZlbnQ6IGFueSwgbWVudVJlZj8pIHtcclxuICAgIGlmIChhY3Rpb24ucmVtb3ZlKSB7XHJcbiAgICAgIGlmICh0eXBlb2YgYWN0aW9uLnJlbW92ZSA9PT0gJ2Jvb2xlYW4nKSB7XHJcbiAgICAgICAgdGhpcy5yZW1vdmVBY3Rpb24oYWN0aW9uLCByb3cuZGF0YSwgZXZlbnQsIHRoaXMuaW5kZXgpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuX2ZzUHJvbXB0LmNvbmZpcm0oe1xyXG4gICAgICAgICAgdGl0bGU6IGFjdGlvbi5yZW1vdmUudGl0bGUsXHJcbiAgICAgICAgICB0ZW1wbGF0ZTogYWN0aW9uLnJlbW92ZS50ZW1wbGF0ZSxcclxuICAgICAgICB9KS5waXBlKFxyXG4gICAgICAgICAgdGFrZSgxKSxcclxuICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXHJcbiAgICAgICAgKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgbmV4dDogKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnJlbW92ZUFjdGlvbihhY3Rpb24sIHJvdy5kYXRhLCBldmVudCwgdGhpcy5pbmRleCk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZXJyb3I6ICgpID0+IHt9LFxyXG4gICAgICAgIH0pXHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGFjdGlvbi5jbGljayhyb3cuZGF0YSwgZXZlbnQsIHRoaXMuaW5kZXgsIG1lbnVSZWYpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVHJhY2sgQnkgZm9yIGltcHJvdmUgY2hhbmdlIGRldGVjdGlvblxyXG4gICAqIEBwYXJhbSBpbmRleFxyXG4gICAqL1xyXG4gIHB1YmxpYyB0cmFja0J5Rm4oaW5kZXgpIHtcclxuICAgIHJldHVybiBpbmRleDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjbGlja09uVHJpZ2dlcihldmVudCkge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFbWl0IHRoYXQgc29tZSByb3cgbXVzdCBiZSByZW1vdmVkXHJcbiAgICogQHBhcmFtIGFjdGlvblxyXG4gICAqIEBwYXJhbSByb3dcclxuICAgKiBAcGFyYW0gZXZlbnRcclxuICAgKiBAcGFyYW0gaW5kZXhcclxuICAgKi9cclxuICBwcml2YXRlIHJlbW92ZUFjdGlvbihhY3Rpb24sIHJvdywgZXZlbnQsIGluZGV4KSB7XHJcbiAgICBjb25zdCByZW1vdmVPYnNlcnZhYmxlID0gYWN0aW9uLmNsaWNrKHJvdywgZXZlbnQsIGluZGV4KTtcclxuXHJcbiAgICBpZiAocmVtb3ZlT2JzZXJ2YWJsZSAmJiByZW1vdmVPYnNlcnZhYmxlIGluc3RhbmNlb2YgT2JzZXJ2YWJsZSkge1xyXG4gICAgICByZW1vdmVPYnNlcnZhYmxlXHJcbiAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICB0YWtlKDEpLFxyXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcclxuICAgICAgICApXHJcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnJvd1JlbW92ZWQuZW1pdChyb3cpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, } from '@angular/core';
3
+ import { Observable, Subject } from 'rxjs';
4
+ import { take, takeUntil } from 'rxjs/operators';
5
+ import { FsPrompt } from '@firestitch/prompt';
6
+ import { Row } from '../../../../models/row';
7
+ import { RowAction } from '../../../../models/row-action.model';
8
+ var FsRowActionsComponent = /** @class */ (function () {
9
+ function FsRowActionsComponent(_fsPrompt) {
10
+ this._fsPrompt = _fsPrompt;
11
+ this.restoreMode = false;
12
+ this.rowActions = [];
13
+ this.menuRowActions = [];
14
+ this.inlineRowActions = [];
15
+ this._destroy$ = new Subject();
16
+ }
17
+ FsRowActionsComponent.prototype.actionClick = function (action, row, event, menuRef) {
18
+ var _this = this;
19
+ if (action.remove) {
20
+ if (typeof action.remove === 'boolean') {
21
+ this.removeAction(action, row.data, event, this.index);
22
+ }
23
+ else {
24
+ this._fsPrompt.confirm({
25
+ title: action.remove.title,
26
+ template: action.remove.template,
27
+ }).pipe(take(1), takeUntil(this._destroy$)).subscribe({
28
+ next: function () {
29
+ _this.removeAction(action, row.data, event, _this.index);
30
+ },
31
+ error: function () { },
32
+ });
33
+ }
34
+ }
35
+ else {
36
+ action.click(row.data, event, this.index, menuRef);
37
+ }
38
+ };
39
+ /**
40
+ * Track By for improve change detection
41
+ * @param index
42
+ */
43
+ FsRowActionsComponent.prototype.trackByFn = function (index) {
44
+ return index;
45
+ };
46
+ FsRowActionsComponent.prototype.clickOnTrigger = function (event) {
47
+ event.stopPropagation();
48
+ };
49
+ /**
50
+ * Emit that some row must be removed
51
+ * @param action
52
+ * @param row
53
+ * @param event
54
+ * @param index
55
+ */
56
+ FsRowActionsComponent.prototype.removeAction = function (action, row, event, index) {
57
+ var _this = this;
58
+ var removeObservable = action.click(row, event, index);
59
+ if (removeObservable && removeObservable instanceof Observable) {
60
+ removeObservable
61
+ .pipe(take(1), takeUntil(this._destroy$))
62
+ .subscribe(function () {
63
+ _this.rowRemoved.emit(row);
64
+ });
65
+ }
66
+ };
67
+ FsRowActionsComponent.ctorParameters = function () { return [
68
+ { type: FsPrompt }
69
+ ]; };
70
+ __decorate([
71
+ Input(),
72
+ __metadata("design:type", Row)
73
+ ], FsRowActionsComponent.prototype, "row", void 0);
74
+ __decorate([
75
+ Input(),
76
+ __metadata("design:type", Number)
77
+ ], FsRowActionsComponent.prototype, "index", void 0);
78
+ __decorate([
79
+ Input(),
80
+ __metadata("design:type", Object)
81
+ ], FsRowActionsComponent.prototype, "restoreMode", void 0);
82
+ __decorate([
83
+ Input(),
84
+ __metadata("design:type", Array)
85
+ ], FsRowActionsComponent.prototype, "rowActions", void 0);
86
+ __decorate([
87
+ Input(),
88
+ __metadata("design:type", EventEmitter)
89
+ ], FsRowActionsComponent.prototype, "rowRemoved", void 0);
90
+ __decorate([
91
+ Input(),
92
+ __metadata("design:type", Array)
93
+ ], FsRowActionsComponent.prototype, "menuRowActions", void 0);
94
+ __decorate([
95
+ Input(),
96
+ __metadata("design:type", Array)
97
+ ], FsRowActionsComponent.prototype, "inlineRowActions", void 0);
98
+ __decorate([
99
+ Input(),
100
+ __metadata("design:type", RowAction)
101
+ ], FsRowActionsComponent.prototype, "restoreAction", void 0);
102
+ FsRowActionsComponent = __decorate([
103
+ Component({
104
+ selector: 'fs-list-row-actions',
105
+ template: "<ng-container *ngIf=\"!restoreMode || (restoreMode && !restoreAction)\">\n <ng-container *ngFor=\"let action of inlineRowActions; trackBy: trackByFn\">\n <fs-list-row-inline-action class=\"row-inline-action row-inline-action-{{action.type}}\"\n [action]=\"action\"\n [ngClass]=\"{'mobile-hide': action.menu === undefined}\"\n (clicked)=\"actionClick(action, row, $event)\">\n </fs-list-row-inline-action>\n </ng-container>\n</ng-container>\n\n<!-- Menu -->\n<fs-menu class=\"row-menu-action\"\n *ngIf=\"menuRowActions.length || (restoreMode && restoreAction)\"\n (click)=\"clickOnTrigger($event)\"\n #menuRef\n>\n <!-- Case when we have usual menu actions -->\n <ng-container *ngIf=\"!restoreMode || (restoreMode && !restoreAction)\">\n <ng-container *ngFor=\"let action of inlineRowActions; trackBy: trackByFn\">\n <ng-template class=\"hidden-mobile-menu-action\"\n fs-menu-item\n [link]=\"action.routerLink?.link\"\n [queryParams]=\"action.routerLink?.queryParams\"\n [target]=\"action.routerLink?.target\"\n [hidden]=\"action.menu !== undefined && !action.isShown\">\n <mat-icon *ngIf=\"action.icon\">{{action.icon}}</mat-icon>\n {{action.label}}\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 <mat-icon *ngIf=\"subAction.icon\">{{subAction.icon}}</mat-icon>\n {{subAction.label}}\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 <mat-icon *ngIf=\"action.icon\">{{action.icon}}</mat-icon>\n {{action.label}}\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",
106
+ changeDetection: ChangeDetectionStrategy.OnPush
107
+ }),
108
+ __metadata("design:paramtypes", [FsPrompt])
109
+ ], FsRowActionsComponent);
110
+ return FsRowActionsComponent;
111
+ }());
112
+ export { FsRowActionsComponent };
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZmlyZXN0aXRjaC9saXN0LyIsInNvdXJjZXMiOlsiYXBwL2NvbXBvbmVudHMvYm9keS9yb3cvYWN0aW9ucy9hY3Rpb25zLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUVaLEtBQUssR0FDTixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU5QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBUWhFO0lBNEJFLCtCQUNVLFNBQW1CO1FBQW5CLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFwQnRCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBR3BCLGVBQVUsR0FBZ0IsRUFBRSxDQUFDO1FBTTdCLG1CQUFjLEdBQWdCLEVBQUUsQ0FBQztRQUdqQyxxQkFBZ0IsR0FBZ0IsRUFBRSxDQUFDO1FBS2xDLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBSS9CLENBQUM7SUFFRywyQ0FBVyxHQUFsQixVQUFtQixNQUFpQixFQUFFLEdBQVEsRUFBRSxLQUFVLEVBQUUsT0FBUTtRQUFwRSxpQkFxQkM7UUFwQkMsSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFO1lBQ2pCLElBQUksT0FBTyxNQUFNLENBQUMsTUFBTSxLQUFLLFNBQVMsRUFBRTtnQkFDdEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3hEO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDO29CQUNyQixLQUFLLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLO29CQUMxQixRQUFRLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRO2lCQUNqQyxDQUFDLENBQUMsSUFBSSxDQUNMLElBQUksQ0FBQyxDQUFDLENBQUMsRUFDUCxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUMxQixDQUFDLFNBQVMsQ0FBQztvQkFDVixJQUFJLEVBQUU7d0JBQ0osS0FBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUN6RCxDQUFDO29CQUNELEtBQUssRUFBRSxjQUFPLENBQUM7aUJBQ2hCLENBQUMsQ0FBQTthQUNIO1NBQ0Y7YUFBTTtZQUNMLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztTQUNwRDtJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSSx5Q0FBUyxHQUFoQixVQUFpQixLQUFLO1FBQ3BCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVNLDhDQUFjLEdBQXJCLFVBQXNCLEtBQUs7UUFDekIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSyw0Q0FBWSxHQUFwQixVQUFxQixNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxLQUFLO1FBQTlDLGlCQWFDO1FBWkMsSUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFekQsSUFBSSxnQkFBZ0IsSUFBSSxnQkFBZ0IsWUFBWSxVQUFVLEVBQUU7WUFDOUQsZ0JBQWdCO2lCQUNiLElBQUksQ0FDSCxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ1AsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FDMUI7aUJBQ0EsU0FBUyxDQUFDO2dCQUNULEtBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzVCLENBQUMsQ0FBQyxDQUFDO1NBQ047SUFDSCxDQUFDOztnQkExRG9CLFFBQVE7O0lBMUI3QjtRQURDLEtBQUssRUFBRTtrQ0FDSSxHQUFHO3NEQUFDO0lBR2hCO1FBREMsS0FBSyxFQUFFOzt3REFDYTtJQUdyQjtRQURDLEtBQUssRUFBRTs7OERBQ21CO0lBRzNCO1FBREMsS0FBSyxFQUFFOzs2REFDNEI7SUFHcEM7UUFEQyxLQUFLLEVBQUU7a0NBQ1csWUFBWTs2REFBTTtJQUdyQztRQURDLEtBQUssRUFBRTs7aUVBQ2dDO0lBR3hDO1FBREMsS0FBSyxFQUFFOzttRUFDa0M7SUFHMUM7UUFEQyxLQUFLLEVBQUU7a0NBQ2MsU0FBUztnRUFBQztJQXhCckIscUJBQXFCO1FBTGpDLFNBQVMsQ0FBQztZQUNULFFBQVEsRUFBRSxxQkFBcUI7WUFDL0IsMHRHQUF1QztZQUN2QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtTQUNoRCxDQUFDO3lDQThCcUIsUUFBUTtPQTdCbEIscUJBQXFCLENBd0ZqQztJQUFELDRCQUFDO0NBQUEsQUF4RkQsSUF3RkM7U0F4RlkscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEZzUHJvbXB0IH0gZnJvbSAnQGZpcmVzdGl0Y2gvcHJvbXB0JztcblxuaW1wb3J0IHsgUm93IH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL3Jvdyc7XG5pbXBvcnQgeyBSb3dBY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvcm93LWFjdGlvbi5tb2RlbCc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnMtbGlzdC1yb3ctYWN0aW9ucycsXG4gIHRlbXBsYXRlVXJsOiAnLi9hY3Rpb25zLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZzUm93QWN0aW9uc0NvbXBvbmVudCB7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHJvdzogUm93O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpbmRleDogbnVtYmVyO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByZXN0b3JlTW9kZSA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByb3dBY3Rpb25zOiBSb3dBY3Rpb25bXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByb3dSZW1vdmVkOiBFdmVudEVtaXR0ZXI8YW55PjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgbWVudVJvd0FjdGlvbnM6IFJvd0FjdGlvbltdID0gW107XG5cbiAgQElucHV0KClcbiAgcHVibGljIGlubGluZVJvd0FjdGlvbnM6IFJvd0FjdGlvbltdID0gW107XG5cbiAgQElucHV0KClcbiAgcHVibGljIHJlc3RvcmVBY3Rpb246IFJvd0FjdGlvbjtcblxuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfZnNQcm9tcHQ6IEZzUHJvbXB0LFxuICApIHt9XG5cbiAgcHVibGljIGFjdGlvbkNsaWNrKGFjdGlvbjogUm93QWN0aW9uLCByb3c6IGFueSwgZXZlbnQ6IGFueSwgbWVudVJlZj8pIHtcbiAgICBpZiAoYWN0aW9uLnJlbW92ZSkge1xuICAgICAgaWYgKHR5cGVvZiBhY3Rpb24ucmVtb3ZlID09PSAnYm9vbGVhbicpIHtcbiAgICAgICAgdGhpcy5yZW1vdmVBY3Rpb24oYWN0aW9uLCByb3cuZGF0YSwgZXZlbnQsIHRoaXMuaW5kZXgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fZnNQcm9tcHQuY29uZmlybSh7XG4gICAgICAgICAgdGl0bGU6IGFjdGlvbi5yZW1vdmUudGl0bGUsXG4gICAgICAgICAgdGVtcGxhdGU6IGFjdGlvbi5yZW1vdmUudGVtcGxhdGUsXG4gICAgICAgIH0pLnBpcGUoXG4gICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgICApLnN1YnNjcmliZSh7XG4gICAgICAgICAgbmV4dDogKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZW1vdmVBY3Rpb24oYWN0aW9uLCByb3cuZGF0YSwgZXZlbnQsIHRoaXMuaW5kZXgpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgZXJyb3I6ICgpID0+IHt9LFxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBhY3Rpb24uY2xpY2socm93LmRhdGEsIGV2ZW50LCB0aGlzLmluZGV4LCBtZW51UmVmKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVHJhY2sgQnkgZm9yIGltcHJvdmUgY2hhbmdlIGRldGVjdGlvblxuICAgKiBAcGFyYW0gaW5kZXhcbiAgICovXG4gIHB1YmxpYyB0cmFja0J5Rm4oaW5kZXgpIHtcbiAgICByZXR1cm4gaW5kZXg7XG4gIH1cblxuICBwdWJsaWMgY2xpY2tPblRyaWdnZXIoZXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbWl0IHRoYXQgc29tZSByb3cgbXVzdCBiZSByZW1vdmVkXG4gICAqIEBwYXJhbSBhY3Rpb25cbiAgICogQHBhcmFtIHJvd1xuICAgKiBAcGFyYW0gZXZlbnRcbiAgICogQHBhcmFtIGluZGV4XG4gICAqL1xuICBwcml2YXRlIHJlbW92ZUFjdGlvbihhY3Rpb24sIHJvdywgZXZlbnQsIGluZGV4KSB7XG4gICAgY29uc3QgcmVtb3ZlT2JzZXJ2YWJsZSA9IGFjdGlvbi5jbGljayhyb3csIGV2ZW50LCBpbmRleCk7XG5cbiAgICBpZiAocmVtb3ZlT2JzZXJ2YWJsZSAmJiByZW1vdmVPYnNlcnZhYmxlIGluc3RhbmNlb2YgT2JzZXJ2YWJsZSkge1xuICAgICAgcmVtb3ZlT2JzZXJ2YWJsZVxuICAgICAgICAucGlwZShcbiAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5yb3dSZW1vdmVkLmVtaXQocm93KTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iXX0=