@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,110 +1,110 @@
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
- let FsRowActionsComponent = class FsRowActionsComponent {
9
- constructor(_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
- actionClick(action, row, event, menuRef) {
18
- if (action.remove) {
19
- if (typeof action.remove === 'boolean') {
20
- this.removeAction(action, row.data, event, this.index);
21
- }
22
- else {
23
- this._fsPrompt.confirm({
24
- title: action.remove.title,
25
- template: action.remove.template,
26
- }).pipe(take(1), takeUntil(this._destroy$)).subscribe({
27
- next: () => {
28
- this.removeAction(action, row.data, event, this.index);
29
- },
30
- error: () => { },
31
- });
32
- }
33
- }
34
- else {
35
- action.click(row.data, event, this.index, menuRef);
36
- }
37
- }
38
- /**
39
- * Track By for improve change detection
40
- * @param index
41
- */
42
- trackByFn(index) {
43
- return index;
44
- }
45
- clickOnTrigger(event) {
46
- event.stopPropagation();
47
- }
48
- /**
49
- * Emit that some row must be removed
50
- * @param action
51
- * @param row
52
- * @param event
53
- * @param index
54
- */
55
- removeAction(action, row, event, index) {
56
- const removeObservable = action.click(row, event, index);
57
- if (removeObservable && removeObservable instanceof Observable) {
58
- removeObservable
59
- .pipe(take(1), takeUntil(this._destroy$))
60
- .subscribe(() => {
61
- this.rowRemoved.emit(row);
62
- });
63
- }
64
- }
65
- };
66
- FsRowActionsComponent.ctorParameters = () => [
67
- { type: FsPrompt }
68
- ];
69
- __decorate([
70
- Input(),
71
- __metadata("design:type", Row)
72
- ], FsRowActionsComponent.prototype, "row", void 0);
73
- __decorate([
74
- Input(),
75
- __metadata("design:type", Number)
76
- ], FsRowActionsComponent.prototype, "index", void 0);
77
- __decorate([
78
- Input(),
79
- __metadata("design:type", Object)
80
- ], FsRowActionsComponent.prototype, "restoreMode", void 0);
81
- __decorate([
82
- Input(),
83
- __metadata("design:type", Array)
84
- ], FsRowActionsComponent.prototype, "rowActions", void 0);
85
- __decorate([
86
- Input(),
87
- __metadata("design:type", EventEmitter)
88
- ], FsRowActionsComponent.prototype, "rowRemoved", void 0);
89
- __decorate([
90
- Input(),
91
- __metadata("design:type", Array)
92
- ], FsRowActionsComponent.prototype, "menuRowActions", void 0);
93
- __decorate([
94
- Input(),
95
- __metadata("design:type", Array)
96
- ], FsRowActionsComponent.prototype, "inlineRowActions", void 0);
97
- __decorate([
98
- Input(),
99
- __metadata("design:type", RowAction)
100
- ], FsRowActionsComponent.prototype, "restoreAction", void 0);
101
- FsRowActionsComponent = __decorate([
102
- Component({
103
- selector: 'fs-list-row-actions',
104
- 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",
105
- changeDetection: ChangeDetectionStrategy.OnPush
106
- }),
107
- __metadata("design:paramtypes", [FsPrompt])
108
- ], FsRowActionsComponent);
109
- export { FsRowActionsComponent };
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZmlyZXN0aXRjaC9saXN0LyIsInNvdXJjZXMiOlsiYXBwL2NvbXBvbmVudHMvYm9keS9yb3cvYWN0aW9ucy9hY3Rpb25zLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUVaLEtBQUssR0FDTixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU5QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBUWhFLElBQWEscUJBQXFCLEdBQWxDLE1BQWEscUJBQXFCO0lBNEJoQyxZQUNVLFNBQW1CO1FBQW5CLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFwQnRCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBR3BCLGVBQVUsR0FBZ0IsRUFBRSxDQUFDO1FBTTdCLG1CQUFjLEdBQWdCLEVBQUUsQ0FBQztRQUdqQyxxQkFBZ0IsR0FBZ0IsRUFBRSxDQUFDO1FBS2xDLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBSS9CLENBQUM7SUFFRyxXQUFXLENBQUMsTUFBaUIsRUFBRSxHQUFRLEVBQUUsS0FBVSxFQUFFLE9BQVE7UUFDbEUsSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFO1lBQ2pCLElBQUksT0FBTyxNQUFNLENBQUMsTUFBTSxLQUFLLFNBQVMsRUFBRTtnQkFDdEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3hEO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDO29CQUNyQixLQUFLLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLO29CQUMxQixRQUFRLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRO2lCQUNqQyxDQUFDLENBQUMsSUFBSSxDQUNMLElBQUksQ0FBQyxDQUFDLENBQUMsRUFDUCxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUMxQixDQUFDLFNBQVMsQ0FBQztvQkFDVixJQUFJLEVBQUUsR0FBRyxFQUFFO3dCQUNULElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDekQsQ0FBQztvQkFDRCxLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUUsQ0FBQztpQkFDaEIsQ0FBQyxDQUFBO2FBQ0g7U0FDRjthQUFNO1lBQ0wsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQ3BEO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFNBQVMsQ0FBQyxLQUFLO1FBQ3BCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVNLGNBQWMsQ0FBQyxLQUFLO1FBQ3pCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ssWUFBWSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEtBQUs7UUFDNUMsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFekQsSUFBSSxnQkFBZ0IsSUFBSSxnQkFBZ0IsWUFBWSxVQUFVLEVBQUU7WUFDOUQsZ0JBQWdCO2lCQUNiLElBQUksQ0FDSCxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ1AsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FDMUI7aUJBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM1QixDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0gsQ0FBQztDQUNGLENBQUE7O1lBM0RzQixRQUFROztBQTFCN0I7SUFEQyxLQUFLLEVBQUU7OEJBQ0ksR0FBRztrREFBQztBQUdoQjtJQURDLEtBQUssRUFBRTs7b0RBQ2E7QUFHckI7SUFEQyxLQUFLLEVBQUU7OzBEQUNtQjtBQUczQjtJQURDLEtBQUssRUFBRTs7eURBQzRCO0FBR3BDO0lBREMsS0FBSyxFQUFFOzhCQUNXLFlBQVk7eURBQU07QUFHckM7SUFEQyxLQUFLLEVBQUU7OzZEQUNnQztBQUd4QztJQURDLEtBQUssRUFBRTs7K0RBQ2tDO0FBRzFDO0lBREMsS0FBSyxFQUFFOzhCQUNjLFNBQVM7NERBQUM7QUF4QnJCLHFCQUFxQjtJQUxqQyxTQUFTLENBQUM7UUFDVCxRQUFRLEVBQUUscUJBQXFCO1FBQy9CLGsyR0FBdUM7UUFDdkMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07S0FDaEQsQ0FBQztxQ0E4QnFCLFFBQVE7R0E3QmxCLHFCQUFxQixDQXdGakM7U0F4RlkscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIElucHV0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBGc1Byb21wdCB9IGZyb20gJ0BmaXJlc3RpdGNoL3Byb21wdCc7XHJcblxyXG5pbXBvcnQgeyBSb3cgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvcm93JztcclxuaW1wb3J0IHsgUm93QWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL3Jvdy1hY3Rpb24ubW9kZWwnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZnMtbGlzdC1yb3ctYWN0aW9ucycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FjdGlvbnMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRnNSb3dBY3Rpb25zQ29tcG9uZW50IHtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcm93OiBSb3c7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGluZGV4OiBudW1iZXI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJlc3RvcmVNb2RlID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJvd0FjdGlvbnM6IFJvd0FjdGlvbltdID0gW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJvd1JlbW92ZWQ6IEV2ZW50RW1pdHRlcjxhbnk+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
+ let FsRowActionsComponent = class FsRowActionsComponent {
9
+ constructor(_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
+ actionClick(action, row, event, menuRef) {
18
+ if (action.remove) {
19
+ if (typeof action.remove === 'boolean') {
20
+ this.removeAction(action, row.data, event, this.index);
21
+ }
22
+ else {
23
+ this._fsPrompt.confirm({
24
+ title: action.remove.title,
25
+ template: action.remove.template,
26
+ }).pipe(take(1), takeUntil(this._destroy$)).subscribe({
27
+ next: () => {
28
+ this.removeAction(action, row.data, event, this.index);
29
+ },
30
+ error: () => { },
31
+ });
32
+ }
33
+ }
34
+ else {
35
+ action.click(row.data, event, this.index, menuRef);
36
+ }
37
+ }
38
+ /**
39
+ * Track By for improve change detection
40
+ * @param index
41
+ */
42
+ trackByFn(index) {
43
+ return index;
44
+ }
45
+ clickOnTrigger(event) {
46
+ event.stopPropagation();
47
+ }
48
+ /**
49
+ * Emit that some row must be removed
50
+ * @param action
51
+ * @param row
52
+ * @param event
53
+ * @param index
54
+ */
55
+ removeAction(action, row, event, index) {
56
+ const removeObservable = action.click(row, event, index);
57
+ if (removeObservable && removeObservable instanceof Observable) {
58
+ removeObservable
59
+ .pipe(take(1), takeUntil(this._destroy$))
60
+ .subscribe(() => {
61
+ this.rowRemoved.emit(row);
62
+ });
63
+ }
64
+ }
65
+ };
66
+ FsRowActionsComponent.ctorParameters = () => [
67
+ { type: FsPrompt }
68
+ ];
69
+ __decorate([
70
+ Input(),
71
+ __metadata("design:type", Row)
72
+ ], FsRowActionsComponent.prototype, "row", void 0);
73
+ __decorate([
74
+ Input(),
75
+ __metadata("design:type", Number)
76
+ ], FsRowActionsComponent.prototype, "index", void 0);
77
+ __decorate([
78
+ Input(),
79
+ __metadata("design:type", Object)
80
+ ], FsRowActionsComponent.prototype, "restoreMode", void 0);
81
+ __decorate([
82
+ Input(),
83
+ __metadata("design:type", Array)
84
+ ], FsRowActionsComponent.prototype, "rowActions", void 0);
85
+ __decorate([
86
+ Input(),
87
+ __metadata("design:type", EventEmitter)
88
+ ], FsRowActionsComponent.prototype, "rowRemoved", void 0);
89
+ __decorate([
90
+ Input(),
91
+ __metadata("design:type", Array)
92
+ ], FsRowActionsComponent.prototype, "menuRowActions", void 0);
93
+ __decorate([
94
+ Input(),
95
+ __metadata("design:type", Array)
96
+ ], FsRowActionsComponent.prototype, "inlineRowActions", void 0);
97
+ __decorate([
98
+ Input(),
99
+ __metadata("design:type", RowAction)
100
+ ], FsRowActionsComponent.prototype, "restoreAction", void 0);
101
+ FsRowActionsComponent = __decorate([
102
+ Component({
103
+ selector: 'fs-list-row-actions',
104
+ 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",
105
+ changeDetection: ChangeDetectionStrategy.OnPush
106
+ }),
107
+ __metadata("design:paramtypes", [FsPrompt])
108
+ ], FsRowActionsComponent);
109
+ export { FsRowActionsComponent };
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZmlyZXN0aXRjaC9saXN0LyIsInNvdXJjZXMiOlsiYXBwL2NvbXBvbmVudHMvYm9keS9yb3cvYWN0aW9ucy9hY3Rpb25zLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUVaLEtBQUssR0FDTixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU5QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBUWhFLElBQWEscUJBQXFCLEdBQWxDLE1BQWEscUJBQXFCO0lBNEJoQyxZQUNVLFNBQW1CO1FBQW5CLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFwQnRCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBR3BCLGVBQVUsR0FBZ0IsRUFBRSxDQUFDO1FBTTdCLG1CQUFjLEdBQWdCLEVBQUUsQ0FBQztRQUdqQyxxQkFBZ0IsR0FBZ0IsRUFBRSxDQUFDO1FBS2xDLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBSS9CLENBQUM7SUFFRyxXQUFXLENBQUMsTUFBaUIsRUFBRSxHQUFRLEVBQUUsS0FBVSxFQUFFLE9BQVE7UUFDbEUsSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFO1lBQ2pCLElBQUksT0FBTyxNQUFNLENBQUMsTUFBTSxLQUFLLFNBQVMsRUFBRTtnQkFDdEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3hEO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDO29CQUNyQixLQUFLLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLO29CQUMxQixRQUFRLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRO2lCQUNqQyxDQUFDLENBQUMsSUFBSSxDQUNMLElBQUksQ0FBQyxDQUFDLENBQUMsRUFDUCxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUMxQixDQUFDLFNBQVMsQ0FBQztvQkFDVixJQUFJLEVBQUUsR0FBRyxFQUFFO3dCQUNULElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDekQsQ0FBQztvQkFDRCxLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUUsQ0FBQztpQkFDaEIsQ0FBQyxDQUFBO2FBQ0g7U0FDRjthQUFNO1lBQ0wsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQ3BEO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFNBQVMsQ0FBQyxLQUFLO1FBQ3BCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVNLGNBQWMsQ0FBQyxLQUFLO1FBQ3pCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ssWUFBWSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEtBQUs7UUFDNUMsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFekQsSUFBSSxnQkFBZ0IsSUFBSSxnQkFBZ0IsWUFBWSxVQUFVLEVBQUU7WUFDOUQsZ0JBQWdCO2lCQUNiLElBQUksQ0FDSCxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ1AsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FDMUI7aUJBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM1QixDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0gsQ0FBQztDQUNGLENBQUE7O1lBM0RzQixRQUFROztBQTFCN0I7SUFEQyxLQUFLLEVBQUU7OEJBQ0ksR0FBRztrREFBQztBQUdoQjtJQURDLEtBQUssRUFBRTs7b0RBQ2E7QUFHckI7SUFEQyxLQUFLLEVBQUU7OzBEQUNtQjtBQUczQjtJQURDLEtBQUssRUFBRTs7eURBQzRCO0FBR3BDO0lBREMsS0FBSyxFQUFFOzhCQUNXLFlBQVk7eURBQU07QUFHckM7SUFEQyxLQUFLLEVBQUU7OzZEQUNnQztBQUd4QztJQURDLEtBQUssRUFBRTs7K0RBQ2tDO0FBRzFDO0lBREMsS0FBSyxFQUFFOzhCQUNjLFNBQVM7NERBQUM7QUF4QnJCLHFCQUFxQjtJQUxqQyxTQUFTLENBQUM7UUFDVCxRQUFRLEVBQUUscUJBQXFCO1FBQy9CLDB0R0FBdUM7UUFDdkMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07S0FDaEQsQ0FBQztxQ0E4QnFCLFFBQVE7R0E3QmxCLHFCQUFxQixDQXdGakM7U0F4RlkscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEZzUHJvbXB0IH0gZnJvbSAnQGZpcmVzdGl0Y2gvcHJvbXB0JztcblxuaW1wb3J0IHsgUm93IH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL3Jvdyc7XG5pbXBvcnQgeyBSb3dBY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvcm93LWFjdGlvbi5tb2RlbCc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnMtbGlzdC1yb3ctYWN0aW9ucycsXG4gIHRlbXBsYXRlVXJsOiAnLi9hY3Rpb25zLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZzUm93QWN0aW9uc0NvbXBvbmVudCB7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHJvdzogUm93O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpbmRleDogbnVtYmVyO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByZXN0b3JlTW9kZSA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByb3dBY3Rpb25zOiBSb3dBY3Rpb25bXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByb3dSZW1vdmVkOiBFdmVudEVtaXR0ZXI8YW55PjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgbWVudVJvd0FjdGlvbnM6IFJvd0FjdGlvbltdID0gW107XG5cbiAgQElucHV0KClcbiAgcHVibGljIGlubGluZVJvd0FjdGlvbnM6IFJvd0FjdGlvbltdID0gW107XG5cbiAgQElucHV0KClcbiAgcHVibGljIHJlc3RvcmVBY3Rpb246IFJvd0FjdGlvbjtcblxuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfZnNQcm9tcHQ6IEZzUHJvbXB0LFxuICApIHt9XG5cbiAgcHVibGljIGFjdGlvbkNsaWNrKGFjdGlvbjogUm93QWN0aW9uLCByb3c6IGFueSwgZXZlbnQ6IGFueSwgbWVudVJlZj8pIHtcbiAgICBpZiAoYWN0aW9uLnJlbW92ZSkge1xuICAgICAgaWYgKHR5cGVvZiBhY3Rpb24ucmVtb3ZlID09PSAnYm9vbGVhbicpIHtcbiAgICAgICAgdGhpcy5yZW1vdmVBY3Rpb24oYWN0aW9uLCByb3cuZGF0YSwgZXZlbnQsIHRoaXMuaW5kZXgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fZnNQcm9tcHQuY29uZmlybSh7XG4gICAgICAgICAgdGl0bGU6IGFjdGlvbi5yZW1vdmUudGl0bGUsXG4gICAgICAgICAgdGVtcGxhdGU6IGFjdGlvbi5yZW1vdmUudGVtcGxhdGUsXG4gICAgICAgIH0pLnBpcGUoXG4gICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgICApLnN1YnNjcmliZSh7XG4gICAgICAgICAgbmV4dDogKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZW1vdmVBY3Rpb24oYWN0aW9uLCByb3cuZGF0YSwgZXZlbnQsIHRoaXMuaW5kZXgpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgZXJyb3I6ICgpID0+IHt9LFxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBhY3Rpb24uY2xpY2socm93LmRhdGEsIGV2ZW50LCB0aGlzLmluZGV4LCBtZW51UmVmKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVHJhY2sgQnkgZm9yIGltcHJvdmUgY2hhbmdlIGRldGVjdGlvblxuICAgKiBAcGFyYW0gaW5kZXhcbiAgICovXG4gIHB1YmxpYyB0cmFja0J5Rm4oaW5kZXgpIHtcbiAgICByZXR1cm4gaW5kZXg7XG4gIH1cblxuICBwdWJsaWMgY2xpY2tPblRyaWdnZXIoZXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbWl0IHRoYXQgc29tZSByb3cgbXVzdCBiZSByZW1vdmVkXG4gICAqIEBwYXJhbSBhY3Rpb25cbiAgICogQHBhcmFtIHJvd1xuICAgKiBAcGFyYW0gZXZlbnRcbiAgICogQHBhcmFtIGluZGV4XG4gICAqL1xuICBwcml2YXRlIHJlbW92ZUFjdGlvbihhY3Rpb24sIHJvdywgZXZlbnQsIGluZGV4KSB7XG4gICAgY29uc3QgcmVtb3ZlT2JzZXJ2YWJsZSA9IGFjdGlvbi5jbGljayhyb3csIGV2ZW50LCBpbmRleCk7XG5cbiAgICBpZiAocmVtb3ZlT2JzZXJ2YWJsZSAmJiByZW1vdmVPYnNlcnZhYmxlIGluc3RhbmNlb2YgT2JzZXJ2YWJsZSkge1xuICAgICAgcmVtb3ZlT2JzZXJ2YWJsZVxuICAgICAgICAucGlwZShcbiAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5yb3dSZW1vdmVkLmVtaXQocm93KTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,93 +1,93 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';
3
- import { Subject } from 'rxjs';
4
- import { takeUntil } from 'rxjs/operators';
5
- import { Column } from '../../../../models/column.model';
6
- import { Row } from '../../../../models/row';
7
- let FsCellComponent = class FsCellComponent {
8
- constructor() {
9
- this.isColl = true;
10
- this.role = 'gridcell';
11
- this.cellContext = {};
12
- this._destroy$ = new Subject();
13
- }
14
- ngOnInit() {
15
- this._initCellContext();
16
- this._initCellTemplate();
17
- this._listenGroupOpen();
18
- }
19
- ngOnChanges(changes) {
20
- if (changes.rowIndex) {
21
- this.cellContext.index = this.rowIndex;
22
- }
23
- }
24
- ngOnDestroy() {
25
- this._destroy$.next();
26
- this._destroy$.complete();
27
- }
28
- _initCellContext() {
29
- this.cellContext.index = this.rowIndex;
30
- if (this.row) {
31
- if (this.row.isGroup) {
32
- this.cellContext.groupIndex = this.row.index;
33
- }
34
- else if (this.row.isChild) {
35
- this.cellContext.groupChildIndex = this.row.index;
36
- }
37
- }
38
- this.cellContext.column = this.column;
39
- if (this.row) {
40
- this.cellContext.$implicit = this.row.data;
41
- this.cellContext.row = this.row.data;
42
- this.cellContext.value = this.row.data[this.column.name];
43
- this.cellContext.expanded = this.row.expanded;
44
- }
45
- }
46
- _initCellTemplate() {
47
- if (this.row && this.row.isGroup) {
48
- this.cellTemplate = this.column.groupCellTemplate || this.column.cellTemplate;
49
- }
50
- else {
51
- this.cellTemplate = this.column.cellTemplate;
52
- }
53
- }
54
- _listenGroupOpen() {
55
- if (this.row && this.row.isGroup) {
56
- this.row.expanded$
57
- .pipe(takeUntil(this._destroy$))
58
- .subscribe((status) => {
59
- this.cellContext.expanded = status;
60
- });
61
- }
62
- }
63
- };
64
- __decorate([
65
- HostBinding('class.fs-list-col'),
66
- __metadata("design:type", Object)
67
- ], FsCellComponent.prototype, "isColl", void 0);
68
- __decorate([
69
- HostBinding('attr.role'),
70
- __metadata("design:type", Object)
71
- ], FsCellComponent.prototype, "role", void 0);
72
- __decorate([
73
- Input(),
74
- __metadata("design:type", Column)
75
- ], FsCellComponent.prototype, "column", void 0);
76
- __decorate([
77
- Input(),
78
- __metadata("design:type", Row)
79
- ], FsCellComponent.prototype, "row", void 0);
80
- __decorate([
81
- Input(),
82
- __metadata("design:type", Number)
83
- ], FsCellComponent.prototype, "rowIndex", void 0);
84
- FsCellComponent = __decorate([
85
- Component({
86
- selector: '[fs-cell]',
87
- template: "<ng-template [ngTemplateOutlet]=\"cellTemplate || defaultCellTemplate\" [ngTemplateOutletContext]=\"cellContext\"></ng-template>\r\n\r\n<ng-template #defaultCellTemplate let-value=\"value\">\r\n {{value}}\r\n</ng-template>\r\n",
88
- changeDetection: ChangeDetectionStrategy.OnPush
89
- }),
90
- __metadata("design:paramtypes", [])
91
- ], FsCellComponent);
92
- export { FsCellComponent };
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZmlyZXN0aXRjaC9saXN0LyIsInNvdXJjZXMiOlsiYXBwL2NvbXBvbmVudHMvYm9keS9yb3cvY2VsbC9jZWxsLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsV0FBVyxFQUNYLEtBQUssRUFHTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDekQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBUTdDLElBQWEsZUFBZSxHQUE1QixNQUFhLGVBQWU7SUFjMUI7UUFia0MsV0FBTSxHQUFHLElBQUksQ0FBQztRQUV0QixTQUFJLEdBQUcsVUFBVSxDQUFDO1FBTXJDLGdCQUFXLEdBQVEsRUFBRSxDQUFDO1FBR3JCLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBRXpCLENBQUM7SUFFVCxRQUFRO1FBQ2IsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFFekIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVNLFdBQVcsQ0FBQyxPQUFzQjtRQUN2QyxJQUFJLE9BQU8sQ0FBQyxRQUFRLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztTQUN4QztJQUNILENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRU8sZ0JBQWdCO1FBQ3RCLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFFdkMsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRTtnQkFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7YUFDOUM7aUJBQU0sSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRTtnQkFDM0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7YUFDbkQ7U0FDRjtRQUVELElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDdEMsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUM7WUFDM0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUM7WUFDckMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN6RCxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztTQUMvQztJQUNILENBQUM7SUFFTyxpQkFBaUI7UUFDdkIsSUFBSSxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQztTQUMvRTthQUFNO1lBQ0wsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQztTQUM5QztJQUNILENBQUM7SUFFTyxnQkFBZ0I7UUFDdEIsSUFBSSxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUztpQkFDZixJQUFJLENBQ0gsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FDMUI7aUJBQ0EsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQ3BCLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQztZQUNyQyxDQUFDLENBQUMsQ0FBQTtTQUNMO0lBQ0gsQ0FBQztDQUNGLENBQUE7QUF4RW1DO0lBQWpDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQzs7K0NBQWU7QUFFdEI7SUFBekIsV0FBVyxDQUFDLFdBQVcsQ0FBQzs7NkNBQW1CO0FBRW5DO0lBQVIsS0FBSyxFQUFFOzhCQUFnQixNQUFNOytDQUFDO0FBQ3RCO0lBQVIsS0FBSyxFQUFFOzhCQUFhLEdBQUc7NENBQUM7QUFDaEI7SUFBUixLQUFLLEVBQUU7O2lEQUF5QjtBQVB0QixlQUFlO0lBTDNCLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSxXQUFXO1FBQ3JCLCtPQUFrQztRQUNsQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtLQUNoRCxDQUFDOztHQUNXLGVBQWUsQ0F5RTNCO1NBekVZLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENvbXBvbmVudCxcclxuICBIb3N0QmluZGluZyxcclxuICBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LCBTaW1wbGVDaGFuZ2VzLFxyXG4gIFRlbXBsYXRlUmVmXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgQ29sdW1uIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2NvbHVtbi5tb2RlbCc7XHJcbmltcG9ydCB7IFJvdyB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9yb3cnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnW2ZzLWNlbGxdJyxcclxuICB0ZW1wbGF0ZVVybDogJ2NlbGwuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGc0NlbGxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZzLWxpc3QtY29sJykgaXNDb2xsID0gdHJ1ZTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKSByb2xlID0gJ2dyaWRjZWxsJztcclxuXHJcbiAgQElucHV0KCkgcHVibGljIGNvbHVtbjogQ29sdW1uO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyByb3c6IFJvdztcclxuICBASW5wdXQoKSBwdWJsaWMgcm93SW5kZXg6IG51bWJlcjtcclxuXHJcbiAgcHVibGljIGNlbGxDb250ZXh0OiBhbnkgPSB7fTtcclxuICBwdWJsaWMgY2VsbFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgcHVibGljIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5faW5pdENlbGxDb250ZXh0KCk7XHJcbiAgICB0aGlzLl9pbml0Q2VsbFRlbXBsYXRlKCk7XHJcblxyXG4gICAgdGhpcy5fbGlzdGVuR3JvdXBPcGVuKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXMucm93SW5kZXgpIHtcclxuICAgICAgdGhpcy5jZWxsQ29udGV4dC5pbmRleCA9IHRoaXMucm93SW5kZXg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaW5pdENlbGxDb250ZXh0KCkge1xyXG4gICAgdGhpcy5jZWxsQ29udGV4dC5pbmRleCA9IHRoaXMucm93SW5kZXg7XHJcblxyXG4gICAgaWYgKHRoaXMucm93KSB7XHJcbiAgICAgIGlmICh0aGlzLnJvdy5pc0dyb3VwKSB7XHJcbiAgICAgICAgdGhpcy5jZWxsQ29udGV4dC5ncm91cEluZGV4ID0gdGhpcy5yb3cuaW5kZXg7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5yb3cuaXNDaGlsZCkge1xyXG4gICAgICAgIHRoaXMuY2VsbENvbnRleHQuZ3JvdXBDaGlsZEluZGV4ID0gdGhpcy5yb3cuaW5kZXg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNlbGxDb250ZXh0LmNvbHVtbiA9IHRoaXMuY29sdW1uO1xyXG4gICAgaWYgKHRoaXMucm93KSB7XHJcbiAgICAgIHRoaXMuY2VsbENvbnRleHQuJGltcGxpY2l0ID0gdGhpcy5yb3cuZGF0YTtcclxuICAgICAgdGhpcy5jZWxsQ29udGV4dC5yb3cgPSB0aGlzLnJvdy5kYXRhO1xyXG4gICAgICB0aGlzLmNlbGxDb250ZXh0LnZhbHVlID0gdGhpcy5yb3cuZGF0YVt0aGlzLmNvbHVtbi5uYW1lXTtcclxuICAgICAgdGhpcy5jZWxsQ29udGV4dC5leHBhbmRlZCA9IHRoaXMucm93LmV4cGFuZGVkO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaW5pdENlbGxUZW1wbGF0ZSgpIHtcclxuICAgIGlmICh0aGlzLnJvdyAmJiB0aGlzLnJvdy5pc0dyb3VwKSB7XHJcbiAgICAgIHRoaXMuY2VsbFRlbXBsYXRlID0gdGhpcy5jb2x1bW4uZ3JvdXBDZWxsVGVtcGxhdGUgfHwgdGhpcy5jb2x1bW4uY2VsbFRlbXBsYXRlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jZWxsVGVtcGxhdGUgPSB0aGlzLmNvbHVtbi5jZWxsVGVtcGxhdGU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9saXN0ZW5Hcm91cE9wZW4oKSB7XHJcbiAgICBpZiAodGhpcy5yb3cgJiYgdGhpcy5yb3cuaXNHcm91cCkge1xyXG4gICAgICB0aGlzLnJvdy5leHBhbmRlZCRcclxuICAgICAgICAucGlwZShcclxuICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXHJcbiAgICAgICAgKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKHN0YXR1cykgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jZWxsQ29udGV4dC5leHBhbmRlZCA9IHN0YXR1cztcclxuICAgICAgICB9KVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';
3
+ import { Subject } from 'rxjs';
4
+ import { takeUntil } from 'rxjs/operators';
5
+ import { Column } from '../../../../models/column.model';
6
+ import { Row } from '../../../../models/row';
7
+ let FsCellComponent = class FsCellComponent {
8
+ constructor() {
9
+ this.isColl = true;
10
+ this.role = 'gridcell';
11
+ this.cellContext = {};
12
+ this._destroy$ = new Subject();
13
+ }
14
+ ngOnInit() {
15
+ this._initCellContext();
16
+ this._initCellTemplate();
17
+ this._listenGroupOpen();
18
+ }
19
+ ngOnChanges(changes) {
20
+ if (changes.rowIndex) {
21
+ this.cellContext.index = this.rowIndex;
22
+ }
23
+ }
24
+ ngOnDestroy() {
25
+ this._destroy$.next();
26
+ this._destroy$.complete();
27
+ }
28
+ _initCellContext() {
29
+ this.cellContext.index = this.rowIndex;
30
+ if (this.row) {
31
+ if (this.row.isGroup) {
32
+ this.cellContext.groupIndex = this.row.index;
33
+ }
34
+ else if (this.row.isChild) {
35
+ this.cellContext.groupChildIndex = this.row.index;
36
+ }
37
+ }
38
+ this.cellContext.column = this.column;
39
+ if (this.row) {
40
+ this.cellContext.$implicit = this.row.data;
41
+ this.cellContext.row = this.row.data;
42
+ this.cellContext.value = this.row.data[this.column.name];
43
+ this.cellContext.expanded = this.row.expanded;
44
+ }
45
+ }
46
+ _initCellTemplate() {
47
+ if (this.row && this.row.isGroup) {
48
+ this.cellTemplate = this.column.groupCellTemplate || this.column.cellTemplate;
49
+ }
50
+ else {
51
+ this.cellTemplate = this.column.cellTemplate;
52
+ }
53
+ }
54
+ _listenGroupOpen() {
55
+ if (this.row && this.row.isGroup) {
56
+ this.row.expanded$
57
+ .pipe(takeUntil(this._destroy$))
58
+ .subscribe((status) => {
59
+ this.cellContext.expanded = status;
60
+ });
61
+ }
62
+ }
63
+ };
64
+ __decorate([
65
+ HostBinding('class.fs-list-col'),
66
+ __metadata("design:type", Object)
67
+ ], FsCellComponent.prototype, "isColl", void 0);
68
+ __decorate([
69
+ HostBinding('attr.role'),
70
+ __metadata("design:type", Object)
71
+ ], FsCellComponent.prototype, "role", void 0);
72
+ __decorate([
73
+ Input(),
74
+ __metadata("design:type", Column)
75
+ ], FsCellComponent.prototype, "column", void 0);
76
+ __decorate([
77
+ Input(),
78
+ __metadata("design:type", Row)
79
+ ], FsCellComponent.prototype, "row", void 0);
80
+ __decorate([
81
+ Input(),
82
+ __metadata("design:type", Number)
83
+ ], FsCellComponent.prototype, "rowIndex", void 0);
84
+ FsCellComponent = __decorate([
85
+ Component({
86
+ selector: '[fs-cell]',
87
+ template: "<ng-template [ngTemplateOutlet]=\"cellTemplate || defaultCellTemplate\" [ngTemplateOutletContext]=\"cellContext\"></ng-template>\n\n<ng-template #defaultCellTemplate let-value=\"value\">\n {{value}}\n</ng-template>\n",
88
+ changeDetection: ChangeDetectionStrategy.OnPush
89
+ }),
90
+ __metadata("design:paramtypes", [])
91
+ ], FsCellComponent);
92
+ export { FsCellComponent };
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZmlyZXN0aXRjaC9saXN0LyIsInNvdXJjZXMiOlsiYXBwL2NvbXBvbmVudHMvYm9keS9yb3cvY2VsbC9jZWxsLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsV0FBVyxFQUNYLEtBQUssRUFHTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDekQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBUTdDLElBQWEsZUFBZSxHQUE1QixNQUFhLGVBQWU7SUFjMUI7UUFia0MsV0FBTSxHQUFHLElBQUksQ0FBQztRQUV0QixTQUFJLEdBQUcsVUFBVSxDQUFDO1FBTXJDLGdCQUFXLEdBQVEsRUFBRSxDQUFDO1FBR3JCLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBRXpCLENBQUM7SUFFVCxRQUFRO1FBQ2IsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFFekIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVNLFdBQVcsQ0FBQyxPQUFzQjtRQUN2QyxJQUFJLE9BQU8sQ0FBQyxRQUFRLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztTQUN4QztJQUNILENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRU8sZ0JBQWdCO1FBQ3RCLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFFdkMsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRTtnQkFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7YUFDOUM7aUJBQU0sSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRTtnQkFDM0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7YUFDbkQ7U0FDRjtRQUVELElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDdEMsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUM7WUFDM0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUM7WUFDckMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN6RCxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztTQUMvQztJQUNILENBQUM7SUFFTyxpQkFBaUI7UUFDdkIsSUFBSSxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQztTQUMvRTthQUFNO1lBQ0wsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQztTQUM5QztJQUNILENBQUM7SUFFTyxnQkFBZ0I7UUFDdEIsSUFBSSxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUztpQkFDZixJQUFJLENBQ0gsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FDMUI7aUJBQ0EsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQ3BCLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQztZQUNyQyxDQUFDLENBQUMsQ0FBQTtTQUNMO0lBQ0gsQ0FBQztDQUNGLENBQUE7QUF4RW1DO0lBQWpDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQzs7K0NBQWU7QUFFdEI7SUFBekIsV0FBVyxDQUFDLFdBQVcsQ0FBQzs7NkNBQW1CO0FBRW5DO0lBQVIsS0FBSyxFQUFFOzhCQUFnQixNQUFNOytDQUFDO0FBQ3RCO0lBQVIsS0FBSyxFQUFFOzhCQUFhLEdBQUc7NENBQUM7QUFDaEI7SUFBUixLQUFLLEVBQUU7O2lEQUF5QjtBQVB0QixlQUFlO0lBTDNCLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSxXQUFXO1FBQ3JCLHFPQUFrQztRQUNsQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtLQUNoRCxDQUFDOztHQUNXLGVBQWUsQ0F5RTNCO1NBekVZLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LFxuICBPbkluaXQsIFNpbXBsZUNoYW5nZXMsXG4gIFRlbXBsYXRlUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBDb2x1bW4gfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvY29sdW1uLm1vZGVsJztcbmltcG9ydCB7IFJvdyB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9yb3cnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ1tmcy1jZWxsXScsXG4gIHRlbXBsYXRlVXJsOiAnY2VsbC5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEZzQ2VsbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZzLWxpc3QtY29sJykgaXNDb2xsID0gdHJ1ZTtcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpIHJvbGUgPSAnZ3JpZGNlbGwnO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBjb2x1bW46IENvbHVtbjtcbiAgQElucHV0KCkgcHVibGljIHJvdzogUm93O1xuICBASW5wdXQoKSBwdWJsaWMgcm93SW5kZXg6IG51bWJlcjtcblxuICBwdWJsaWMgY2VsbENvbnRleHQ6IGFueSA9IHt9O1xuICBwdWJsaWMgY2VsbFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIHRoaXMuX2luaXRDZWxsQ29udGV4dCgpO1xuICAgIHRoaXMuX2luaXRDZWxsVGVtcGxhdGUoKTtcblxuICAgIHRoaXMuX2xpc3Rlbkdyb3VwT3BlbigpO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5yb3dJbmRleCkge1xuICAgICAgdGhpcy5jZWxsQ29udGV4dC5pbmRleCA9IHRoaXMucm93SW5kZXg7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdENlbGxDb250ZXh0KCkge1xuICAgIHRoaXMuY2VsbENvbnRleHQuaW5kZXggPSB0aGlzLnJvd0luZGV4O1xuXG4gICAgaWYgKHRoaXMucm93KSB7XG4gICAgICBpZiAodGhpcy5yb3cuaXNHcm91cCkge1xuICAgICAgICB0aGlzLmNlbGxDb250ZXh0Lmdyb3VwSW5kZXggPSB0aGlzLnJvdy5pbmRleDtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5yb3cuaXNDaGlsZCkge1xuICAgICAgICB0aGlzLmNlbGxDb250ZXh0Lmdyb3VwQ2hpbGRJbmRleCA9IHRoaXMucm93LmluZGV4O1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuY2VsbENvbnRleHQuY29sdW1uID0gdGhpcy5jb2x1bW47XG4gICAgaWYgKHRoaXMucm93KSB7XG4gICAgICB0aGlzLmNlbGxDb250ZXh0LiRpbXBsaWNpdCA9IHRoaXMucm93LmRhdGE7XG4gICAgICB0aGlzLmNlbGxDb250ZXh0LnJvdyA9IHRoaXMucm93LmRhdGE7XG4gICAgICB0aGlzLmNlbGxDb250ZXh0LnZhbHVlID0gdGhpcy5yb3cuZGF0YVt0aGlzLmNvbHVtbi5uYW1lXTtcbiAgICAgIHRoaXMuY2VsbENvbnRleHQuZXhwYW5kZWQgPSB0aGlzLnJvdy5leHBhbmRlZDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9pbml0Q2VsbFRlbXBsYXRlKCkge1xuICAgIGlmICh0aGlzLnJvdyAmJiB0aGlzLnJvdy5pc0dyb3VwKSB7XG4gICAgICB0aGlzLmNlbGxUZW1wbGF0ZSA9IHRoaXMuY29sdW1uLmdyb3VwQ2VsbFRlbXBsYXRlIHx8IHRoaXMuY29sdW1uLmNlbGxUZW1wbGF0ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jZWxsVGVtcGxhdGUgPSB0aGlzLmNvbHVtbi5jZWxsVGVtcGxhdGU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfbGlzdGVuR3JvdXBPcGVuKCkge1xuICAgIGlmICh0aGlzLnJvdyAmJiB0aGlzLnJvdy5pc0dyb3VwKSB7XG4gICAgICB0aGlzLnJvdy5leHBhbmRlZCRcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKChzdGF0dXMpID0+IHtcbiAgICAgICAgICB0aGlzLmNlbGxDb250ZXh0LmV4cGFuZGVkID0gc3RhdHVzO1xuICAgICAgICB9KVxuICAgIH1cbiAgfVxufVxuIl19
@@ -1,34 +1,34 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';
3
- import { FsPrompt } from '@firestitch/prompt';
4
- import { RowAction } from '../../../../models/row-action.model';
5
- let FsRowInlineActionComponent = class FsRowInlineActionComponent {
6
- constructor(_fsPrompt) {
7
- this._fsPrompt = _fsPrompt;
8
- this.clicked = new EventEmitter();
9
- }
10
- actionClick(event) {
11
- this.clicked.emit(event);
12
- }
13
- };
14
- FsRowInlineActionComponent.ctorParameters = () => [
15
- { type: FsPrompt }
16
- ];
17
- __decorate([
18
- Input(),
19
- __metadata("design:type", RowAction)
20
- ], FsRowInlineActionComponent.prototype, "action", void 0);
21
- __decorate([
22
- Output(),
23
- __metadata("design:type", Object)
24
- ], FsRowInlineActionComponent.prototype, "clicked", void 0);
25
- FsRowInlineActionComponent = __decorate([
26
- Component({
27
- selector: 'fs-list-row-inline-action',
28
- template: "<ng-container *ngIf=\"action.isShown\" [ngSwitch]=\"action.type\">\r\n <!-- Basic button -->\r\n <ng-container *ngSwitchCase=\"'basic'\">\r\n <ng-container *ngIf=\"!action.routerLink; else link\">\r\n <button type=\"button\"\r\n mat-button\r\n (click)=\"actionClick($event)\"\r\n [ngClass]=\"action.classArray\"\r\n >\r\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\r\n </button>\r\n </ng-container>\r\n <ng-template #link>\r\n <a mat-button\r\n [routerLink]=\"action.routerLink.link\"\r\n [queryParams]=\"action.routerLink.queryParams\">\r\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\r\n </a>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <!-- Raised button -->\r\n <ng-container *ngSwitchCase=\"'raised'\">\r\n <ng-container *ngIf=\"!action.routerLink; else link\">\r\n <button type=\"button\"\r\n mat-raised-button\r\n (click)=\"actionClick($event)\"\r\n [ngClass]=\"action.classArray\"\r\n >\r\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\r\n </button>\r\n </ng-container>\r\n <ng-template #link>\r\n <a mat-raised-button\r\n [routerLink]=\"action.routerLink.link\"\r\n [queryParams]=\"action.routerLink.queryParams\">\r\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\r\n </a>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <!-- Icon button -->\r\n <ng-container *ngSwitchCase=\"'icon'\">\r\n <ng-container *ngIf=\"!action.routerLink; else link\">\r\n <button type=\"button\"\r\n mat-icon-button\r\n (click)=\"actionClick($event)\"\r\n [ngClass]=\"action.classArray\"\r\n >\r\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\r\n </button>\r\n </ng-container>\r\n <ng-template #link>\r\n <a mat-icon-button\r\n [routerLink]=\"action.routerLink.link\"\r\n [queryParams]=\"action.routerLink.queryParams\">\r\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\r\n </a>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <!-- Fab button -->\r\n <ng-container *ngSwitchCase=\"'fab'\">\r\n <ng-container *ngIf=\"!action.routerLink; else link\">\r\n <button type=\"button\"\r\n mat-fab\r\n (click)=\"actionClick($event)\"\r\n [ngClass]=\"action.classArray\"\r\n >\r\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\r\n </button>\r\n </ng-container>\r\n <ng-template #link>\r\n <a mat-fab\r\n [routerLink]=\"action.routerLink.link\"\r\n [queryParams]=\"action.routerLink.queryParams\">\r\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\r\n </a>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <!-- Mini Fab button -->\r\n <ng-container *ngSwitchCase=\"'mini-fab'\">\r\n <ng-container *ngIf=\"!action.routerLink; else link\">\r\n <button type=\"button\"\r\n mat-mini-fab\r\n (click)=\"actionClick($event)\"\r\n [ngClass]=\"action.classArray\"\r\n >\r\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\r\n </button>\r\n </ng-container>\r\n <ng-template #link>\r\n <a mat-mini-fab\r\n [routerLink]=\"action.routerLink.link\"\r\n [queryParams]=\"action.routerLink.queryParams\">\r\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\r\n </a>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-template #buttonContent let-value=\"value\">\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",
29
- changeDetection: ChangeDetectionStrategy.OnPush
30
- }),
31
- __metadata("design:paramtypes", [FsPrompt])
32
- ], FsRowInlineActionComponent);
33
- export { FsRowInlineActionComponent };
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLWFjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZmlyZXN0aXRjaC9saXN0LyIsInNvdXJjZXMiOlsiYXBwL2NvbXBvbmVudHMvYm9keS9yb3cvaW5saW5lLWFjdGlvbi9pbmxpbmUtYWN0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTlDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQVFoRSxJQUFhLDBCQUEwQixHQUF2QyxNQUFhLDBCQUEwQjtJQVFyQyxZQUNVLFNBQW1CO1FBQW5CLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFIdEIsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFJakMsQ0FBQztJQUVHLFdBQVcsQ0FBQyxLQUFLO1FBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7Q0FDRixDQUFBOztZQU5zQixRQUFROztBQU43QjtJQURDLEtBQUssRUFBRTs4QkFDTyxTQUFTOzBEQUFDO0FBR3pCO0lBREMsTUFBTSxFQUFFOzsyREFDMkI7QUFOekIsMEJBQTBCO0lBTHRDLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSwyQkFBMkI7UUFDckMsZzBIQUE2QztRQUM3QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtLQUNoRCxDQUFDO3FDQVVxQixRQUFRO0dBVGxCLDBCQUEwQixDQWV0QztTQWZZLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgRnNQcm9tcHQgfSBmcm9tICdAZmlyZXN0aXRjaC9wcm9tcHQnO1xyXG5cclxuaW1wb3J0IHsgUm93QWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL3Jvdy1hY3Rpb24ubW9kZWwnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZnMtbGlzdC1yb3ctaW5saW5lLWFjdGlvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2lubGluZS1hY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRnNSb3dJbmxpbmVBY3Rpb25Db21wb25lbnQge1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhY3Rpb246IFJvd0FjdGlvbjtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfZnNQcm9tcHQ6IEZzUHJvbXB0LFxyXG4gICkge31cclxuXHJcbiAgcHVibGljIGFjdGlvbkNsaWNrKGV2ZW50KSB7XHJcbiAgICB0aGlzLmNsaWNrZWQuZW1pdChldmVudCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';
3
+ import { FsPrompt } from '@firestitch/prompt';
4
+ import { RowAction } from '../../../../models/row-action.model';
5
+ let FsRowInlineActionComponent = class FsRowInlineActionComponent {
6
+ constructor(_fsPrompt) {
7
+ this._fsPrompt = _fsPrompt;
8
+ this.clicked = new EventEmitter();
9
+ }
10
+ actionClick(event) {
11
+ this.clicked.emit(event);
12
+ }
13
+ };
14
+ FsRowInlineActionComponent.ctorParameters = () => [
15
+ { type: FsPrompt }
16
+ ];
17
+ __decorate([
18
+ Input(),
19
+ __metadata("design:type", RowAction)
20
+ ], FsRowInlineActionComponent.prototype, "action", void 0);
21
+ __decorate([
22
+ Output(),
23
+ __metadata("design:type", Object)
24
+ ], FsRowInlineActionComponent.prototype, "clicked", void 0);
25
+ FsRowInlineActionComponent = __decorate([
26
+ Component({
27
+ selector: 'fs-list-row-inline-action',
28
+ template: "<ng-container *ngIf=\"action.isShown\" [ngSwitch]=\"action.type\">\n <!-- Basic button -->\n <ng-container *ngSwitchCase=\"'basic'\">\n <ng-container *ngIf=\"!action.routerLink; else link\">\n <button type=\"button\"\n mat-button\n (click)=\"actionClick($event)\"\n [ngClass]=\"action.classArray\"\n >\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n </ng-container>\n <ng-template #link>\n <a mat-button\n [routerLink]=\"action.routerLink.link\"\n [queryParams]=\"action.routerLink.queryParams\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </a>\n </ng-template>\n </ng-container>\n\n <!-- Raised button -->\n <ng-container *ngSwitchCase=\"'raised'\">\n <ng-container *ngIf=\"!action.routerLink; else link\">\n <button type=\"button\"\n mat-raised-button\n (click)=\"actionClick($event)\"\n [ngClass]=\"action.classArray\"\n >\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n </ng-container>\n <ng-template #link>\n <a mat-raised-button\n [routerLink]=\"action.routerLink.link\"\n [queryParams]=\"action.routerLink.queryParams\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </a>\n </ng-template>\n </ng-container>\n\n <!-- Icon button -->\n <ng-container *ngSwitchCase=\"'icon'\">\n <ng-container *ngIf=\"!action.routerLink; else link\">\n <button type=\"button\"\n mat-icon-button\n (click)=\"actionClick($event)\"\n [ngClass]=\"action.classArray\"\n >\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n </ng-container>\n <ng-template #link>\n <a mat-icon-button\n [routerLink]=\"action.routerLink.link\"\n [queryParams]=\"action.routerLink.queryParams\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </a>\n </ng-template>\n </ng-container>\n\n <!-- Fab button -->\n <ng-container *ngSwitchCase=\"'fab'\">\n <ng-container *ngIf=\"!action.routerLink; else link\">\n <button type=\"button\"\n mat-fab\n (click)=\"actionClick($event)\"\n [ngClass]=\"action.classArray\"\n >\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n </ng-container>\n <ng-template #link>\n <a mat-fab\n [routerLink]=\"action.routerLink.link\"\n [queryParams]=\"action.routerLink.queryParams\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </a>\n </ng-template>\n </ng-container>\n\n <!-- Mini Fab button -->\n <ng-container *ngSwitchCase=\"'mini-fab'\">\n <ng-container *ngIf=\"!action.routerLink; else link\">\n <button type=\"button\"\n mat-mini-fab\n (click)=\"actionClick($event)\"\n [ngClass]=\"action.classArray\"\n >\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n </ng-container>\n <ng-template #link>\n <a mat-mini-fab\n [routerLink]=\"action.routerLink.link\"\n [queryParams]=\"action.routerLink.queryParams\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </a>\n </ng-template>\n </ng-container>\n\n <ng-template #buttonContent let-value=\"value\">\n <mat-icon *ngIf=\"action.icon\">{{action.icon}}</mat-icon>\n {{action.label}}\n </ng-template>\n</ng-container>\n",
29
+ changeDetection: ChangeDetectionStrategy.OnPush
30
+ }),
31
+ __metadata("design:paramtypes", [FsPrompt])
32
+ ], FsRowInlineActionComponent);
33
+ export { FsRowInlineActionComponent };
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLWFjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZmlyZXN0aXRjaC9saXN0LyIsInNvdXJjZXMiOlsiYXBwL2NvbXBvbmVudHMvYm9keS9yb3cvaW5saW5lLWFjdGlvbi9pbmxpbmUtYWN0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTlDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQVFoRSxJQUFhLDBCQUEwQixHQUF2QyxNQUFhLDBCQUEwQjtJQVFyQyxZQUNVLFNBQW1CO1FBQW5CLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFIdEIsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFJakMsQ0FBQztJQUVHLFdBQVcsQ0FBQyxLQUFLO1FBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7Q0FDRixDQUFBOztZQU5zQixRQUFROztBQU43QjtJQURDLEtBQUssRUFBRTs4QkFDTyxTQUFTOzBEQUFDO0FBR3pCO0lBREMsTUFBTSxFQUFFOzsyREFDMkI7QUFOekIsMEJBQTBCO0lBTHRDLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSwyQkFBMkI7UUFDckMsNG1IQUE2QztRQUM3QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtLQUNoRCxDQUFDO3FDQVVxQixRQUFRO0dBVGxCLDBCQUEwQixDQWV0QztTQWZZLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBGc1Byb21wdCB9IGZyb20gJ0BmaXJlc3RpdGNoL3Byb21wdCc7XG5cbmltcG9ydCB7IFJvd0FjdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9yb3ctYWN0aW9uLm1vZGVsJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmcy1saXN0LXJvdy1pbmxpbmUtYWN0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2lubGluZS1hY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRnNSb3dJbmxpbmVBY3Rpb25Db21wb25lbnQge1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhY3Rpb246IFJvd0FjdGlvbjtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfZnNQcm9tcHQ6IEZzUHJvbXB0LFxuICApIHt9XG5cbiAgcHVibGljIGFjdGlvbkNsaWNrKGV2ZW50KSB7XG4gICAgdGhpcy5jbGlja2VkLmVtaXQoZXZlbnQpO1xuICB9XG59XG4iXX0=