@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,61 +1,61 @@
1
- import { __extends } from "tslib";
2
- import { BehaviorSubject } from 'rxjs';
3
- import { BaseRow } from './base-row';
4
- import { RowType } from '../../enums/row-type.enum';
5
- var GroupRow = /** @class */ (function (_super) {
6
- __extends(GroupRow, _super);
7
- function GroupRow(data, initialExpand) {
8
- if (data === void 0) { data = {}; }
9
- if (initialExpand === void 0) { initialExpand = false; }
10
- var _this = _super.call(this, data, RowType.Group) || this;
11
- _this.children = [];
12
- _this._expanded = new BehaviorSubject(false);
13
- if (initialExpand) {
14
- _this._expanded.next(initialExpand);
15
- }
16
- return _this;
17
- }
18
- Object.defineProperty(GroupRow.prototype, "isGroup", {
19
- get: function () {
20
- return true;
21
- },
22
- enumerable: true,
23
- configurable: true
24
- });
25
- Object.defineProperty(GroupRow.prototype, "expanded", {
26
- get: function () {
27
- return this._expanded.getValue();
28
- },
29
- enumerable: true,
30
- configurable: true
31
- });
32
- Object.defineProperty(GroupRow.prototype, "expanded$", {
33
- get: function () {
34
- return this._expanded.asObservable();
35
- },
36
- enumerable: true,
37
- configurable: true
38
- });
39
- GroupRow.prototype.updateChildrenIndexes = function () {
40
- this.children.forEach(function (row, index) {
41
- row.index = index;
42
- });
43
- };
44
- GroupRow.prototype.updateChildrenVisibility = function () {
45
- var _this = this;
46
- this.children.forEach(function (row) {
47
- row.visible = _this.expanded;
48
- });
49
- };
50
- GroupRow.prototype.toggleRowExpandStatus = function () {
51
- this._expanded.next(!this.expanded);
52
- this.updateChildrenVisibility();
53
- };
54
- GroupRow.prototype.destroy = function () {
55
- this.children.forEach(function (child) { return child.destroy(); });
56
- this._expanded.complete();
57
- };
58
- return GroupRow;
59
- }(BaseRow));
60
- export { GroupRow };
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtcm93LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGZpcmVzdGl0Y2gvbGlzdC8iLCJzb3VyY2VzIjpbImFwcC9tb2RlbHMvcm93L2dyb3VwLXJvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUdwRDtJQUE4Qiw0QkFBTztJQU1uQyxrQkFDRSxJQUFjLEVBQ2QsYUFBcUI7UUFEckIscUJBQUEsRUFBQSxTQUFjO1FBQ2QsOEJBQUEsRUFBQSxxQkFBcUI7UUFGdkIsWUFJRSxrQkFBTSxJQUFJLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUszQjtRQWJNLGNBQVEsR0FBZSxFQUFFLENBQUM7UUFFaEIsZUFBUyxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBUS9ELElBQUksYUFBYSxFQUFFO1lBQ2pCLEtBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ3BDOztJQUNILENBQUM7SUFFRCxzQkFBVyw2QkFBTzthQUFsQjtZQUNFLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQzs7O09BQUE7SUFFRCxzQkFBVyw4QkFBUTthQUFuQjtZQUNFLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNuQyxDQUFDOzs7T0FBQTtJQUVELHNCQUFXLCtCQUFTO2FBQXBCO1lBQ0UsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3ZDLENBQUM7OztPQUFBO0lBRU0sd0NBQXFCLEdBQTVCO1FBQ0UsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsVUFBQyxHQUFHLEVBQUUsS0FBSztZQUMvQixHQUFHLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSwyQ0FBd0IsR0FBL0I7UUFBQSxpQkFJQztRQUhDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQUMsR0FBRztZQUN4QixHQUFHLENBQUMsT0FBTyxHQUFHLEtBQUksQ0FBQyxRQUFRLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRU0sd0NBQXFCLEdBQTVCO1FBQ0UsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFcEMsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVNLDBCQUFPLEdBQWQ7UUFDRSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxVQUFDLEtBQUssSUFBSyxPQUFBLEtBQUssQ0FBQyxPQUFPLEVBQUUsRUFBZixDQUFlLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFDSCxlQUFDO0FBQUQsQ0FBQyxBQW5ERCxDQUE4QixPQUFPLEdBbURwQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBCYXNlUm93IH0gZnJvbSAnLi9iYXNlLXJvdyc7XHJcbmltcG9ydCB7IFJvd1R5cGUgfSBmcm9tICcuLi8uLi9lbnVtcy9yb3ctdHlwZS5lbnVtJztcclxuaW1wb3J0IHsgQ2hpbGRSb3cgfSBmcm9tICcuL2NoaWxkLXJvdyc7XHJcblxyXG5leHBvcnQgY2xhc3MgR3JvdXBSb3cgZXh0ZW5kcyBCYXNlUm93IHtcclxuXHJcbiAgcHVibGljIGNoaWxkcmVuOiBDaGlsZFJvd1tdID0gW107XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2V4cGFuZGVkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgZGF0YTogYW55ID0ge30sXHJcbiAgICBpbml0aWFsRXhwYW5kID0gZmFsc2UsXHJcbiAgKSB7XHJcbiAgICBzdXBlcihkYXRhLCBSb3dUeXBlLkdyb3VwKTtcclxuXHJcbiAgICBpZiAoaW5pdGlhbEV4cGFuZCkge1xyXG4gICAgICB0aGlzLl9leHBhbmRlZC5uZXh0KGluaXRpYWxFeHBhbmQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBpc0dyb3VwKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGV4cGFuZGVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2V4cGFuZGVkLmdldFZhbHVlKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGV4cGFuZGVkJCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9leHBhbmRlZC5hc09ic2VydmFibGUoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB1cGRhdGVDaGlsZHJlbkluZGV4ZXMoKSB7XHJcbiAgICB0aGlzLmNoaWxkcmVuLmZvckVhY2goKHJvdywgaW5kZXgpID0+IHtcclxuICAgICAgcm93LmluZGV4ID0gaW5kZXg7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB1cGRhdGVDaGlsZHJlblZpc2liaWxpdHkoKSB7XHJcbiAgICB0aGlzLmNoaWxkcmVuLmZvckVhY2goKHJvdykgPT4ge1xyXG4gICAgICByb3cudmlzaWJsZSA9IHRoaXMuZXhwYW5kZWQ7XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHRvZ2dsZVJvd0V4cGFuZFN0YXR1cygpIHtcclxuICAgIHRoaXMuX2V4cGFuZGVkLm5leHQoIXRoaXMuZXhwYW5kZWQpO1xyXG5cclxuICAgIHRoaXMudXBkYXRlQ2hpbGRyZW5WaXNpYmlsaXR5KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZGVzdHJveSgpIHtcclxuICAgIHRoaXMuY2hpbGRyZW4uZm9yRWFjaCgoY2hpbGQpID0+IGNoaWxkLmRlc3Ryb3koKSk7XHJcbiAgICB0aGlzLl9leHBhbmRlZC5jb21wbGV0ZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
1
+ import { __extends } from "tslib";
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import { BaseRow } from './base-row';
4
+ import { RowType } from '../../enums/row-type.enum';
5
+ var GroupRow = /** @class */ (function (_super) {
6
+ __extends(GroupRow, _super);
7
+ function GroupRow(data, initialExpand) {
8
+ if (data === void 0) { data = {}; }
9
+ if (initialExpand === void 0) { initialExpand = false; }
10
+ var _this = _super.call(this, data, RowType.Group) || this;
11
+ _this.children = [];
12
+ _this._expanded = new BehaviorSubject(false);
13
+ if (initialExpand) {
14
+ _this._expanded.next(initialExpand);
15
+ }
16
+ return _this;
17
+ }
18
+ Object.defineProperty(GroupRow.prototype, "isGroup", {
19
+ get: function () {
20
+ return true;
21
+ },
22
+ enumerable: true,
23
+ configurable: true
24
+ });
25
+ Object.defineProperty(GroupRow.prototype, "expanded", {
26
+ get: function () {
27
+ return this._expanded.getValue();
28
+ },
29
+ enumerable: true,
30
+ configurable: true
31
+ });
32
+ Object.defineProperty(GroupRow.prototype, "expanded$", {
33
+ get: function () {
34
+ return this._expanded.asObservable();
35
+ },
36
+ enumerable: true,
37
+ configurable: true
38
+ });
39
+ GroupRow.prototype.updateChildrenIndexes = function () {
40
+ this.children.forEach(function (row, index) {
41
+ row.index = index;
42
+ });
43
+ };
44
+ GroupRow.prototype.updateChildrenVisibility = function () {
45
+ var _this = this;
46
+ this.children.forEach(function (row) {
47
+ row.visible = _this.expanded;
48
+ });
49
+ };
50
+ GroupRow.prototype.toggleRowExpandStatus = function () {
51
+ this._expanded.next(!this.expanded);
52
+ this.updateChildrenVisibility();
53
+ };
54
+ GroupRow.prototype.destroy = function () {
55
+ this.children.forEach(function (child) { return child.destroy(); });
56
+ this._expanded.complete();
57
+ };
58
+ return GroupRow;
59
+ }(BaseRow));
60
+ export { GroupRow };
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtcm93LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGZpcmVzdGl0Y2gvbGlzdC8iLCJzb3VyY2VzIjpbImFwcC9tb2RlbHMvcm93L2dyb3VwLXJvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUdwRDtJQUE4Qiw0QkFBTztJQU1uQyxrQkFDRSxJQUFjLEVBQ2QsYUFBcUI7UUFEckIscUJBQUEsRUFBQSxTQUFjO1FBQ2QsOEJBQUEsRUFBQSxxQkFBcUI7UUFGdkIsWUFJRSxrQkFBTSxJQUFJLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUszQjtRQWJNLGNBQVEsR0FBZSxFQUFFLENBQUM7UUFFaEIsZUFBUyxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBUS9ELElBQUksYUFBYSxFQUFFO1lBQ2pCLEtBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ3BDOztJQUNILENBQUM7SUFFRCxzQkFBVyw2QkFBTzthQUFsQjtZQUNFLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQzs7O09BQUE7SUFFRCxzQkFBVyw4QkFBUTthQUFuQjtZQUNFLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNuQyxDQUFDOzs7T0FBQTtJQUVELHNCQUFXLCtCQUFTO2FBQXBCO1lBQ0UsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3ZDLENBQUM7OztPQUFBO0lBRU0sd0NBQXFCLEdBQTVCO1FBQ0UsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsVUFBQyxHQUFHLEVBQUUsS0FBSztZQUMvQixHQUFHLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSwyQ0FBd0IsR0FBL0I7UUFBQSxpQkFJQztRQUhDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQUMsR0FBRztZQUN4QixHQUFHLENBQUMsT0FBTyxHQUFHLEtBQUksQ0FBQyxRQUFRLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRU0sd0NBQXFCLEdBQTVCO1FBQ0UsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFcEMsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVNLDBCQUFPLEdBQWQ7UUFDRSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxVQUFDLEtBQUssSUFBSyxPQUFBLEtBQUssQ0FBQyxPQUFPLEVBQUUsRUFBZixDQUFlLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFDSCxlQUFDO0FBQUQsQ0FBQyxBQW5ERCxDQUE4QixPQUFPLEdBbURwQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQmFzZVJvdyB9IGZyb20gJy4vYmFzZS1yb3cnO1xuaW1wb3J0IHsgUm93VHlwZSB9IGZyb20gJy4uLy4uL2VudW1zL3Jvdy10eXBlLmVudW0nO1xuaW1wb3J0IHsgQ2hpbGRSb3cgfSBmcm9tICcuL2NoaWxkLXJvdyc7XG5cbmV4cG9ydCBjbGFzcyBHcm91cFJvdyBleHRlbmRzIEJhc2VSb3cge1xuXG4gIHB1YmxpYyBjaGlsZHJlbjogQ2hpbGRSb3dbXSA9IFtdO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2V4cGFuZGVkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgZGF0YTogYW55ID0ge30sXG4gICAgaW5pdGlhbEV4cGFuZCA9IGZhbHNlLFxuICApIHtcbiAgICBzdXBlcihkYXRhLCBSb3dUeXBlLkdyb3VwKTtcblxuICAgIGlmIChpbml0aWFsRXhwYW5kKSB7XG4gICAgICB0aGlzLl9leHBhbmRlZC5uZXh0KGluaXRpYWxFeHBhbmQpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNHcm91cCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZXhwYW5kZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2V4cGFuZGVkLmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGV4cGFuZGVkJCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZXhwYW5kZWQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlQ2hpbGRyZW5JbmRleGVzKCkge1xuICAgIHRoaXMuY2hpbGRyZW4uZm9yRWFjaCgocm93LCBpbmRleCkgPT4ge1xuICAgICAgcm93LmluZGV4ID0gaW5kZXg7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlQ2hpbGRyZW5WaXNpYmlsaXR5KCkge1xuICAgIHRoaXMuY2hpbGRyZW4uZm9yRWFjaCgocm93KSA9PiB7XG4gICAgICByb3cudmlzaWJsZSA9IHRoaXMuZXhwYW5kZWQ7XG4gICAgfSlcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVSb3dFeHBhbmRTdGF0dXMoKSB7XG4gICAgdGhpcy5fZXhwYW5kZWQubmV4dCghdGhpcy5leHBhbmRlZCk7XG5cbiAgICB0aGlzLnVwZGF0ZUNoaWxkcmVuVmlzaWJpbGl0eSgpO1xuICB9XG5cbiAgcHVibGljIGRlc3Ryb3koKSB7XG4gICAgdGhpcy5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZCkgPT4gY2hpbGQuZGVzdHJveSgpKTtcbiAgICB0aGlzLl9leHBhbmRlZC5jb21wbGV0ZSgpO1xuICB9XG59XG4iXX0=
@@ -1,15 +1,15 @@
1
- import { __extends } from "tslib";
2
- import { RowType } from '../../enums/row-type.enum';
3
- import { BaseRow } from './base-row';
4
- var SimpleRow = /** @class */ (function (_super) {
5
- __extends(SimpleRow, _super);
6
- function SimpleRow(data) {
7
- if (data === void 0) { data = {}; }
8
- return _super.call(this, data, RowType.Simple) || this;
9
- }
10
- SimpleRow.prototype.destroy = function () {
11
- };
12
- return SimpleRow;
13
- }(BaseRow));
14
- export { SimpleRow };
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLXJvdy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BmaXJlc3RpdGNoL2xpc3QvIiwic291cmNlcyI6WyJhcHAvbW9kZWxzL3Jvdy9zaW1wbGUtcm93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVyQztJQUErQiw2QkFBTztJQUVwQyxtQkFDRSxJQUFjO1FBQWQscUJBQUEsRUFBQSxTQUFjO2VBRWQsa0JBQU0sSUFBSSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUM7SUFDN0IsQ0FBQztJQUdNLDJCQUFPLEdBQWQ7SUFDQSxDQUFDO0lBQ0gsZ0JBQUM7QUFBRCxDQUFDLEFBWEQsQ0FBK0IsT0FBTyxHQVdyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJvd1R5cGUgfSBmcm9tICcuLi8uLi9lbnVtcy9yb3ctdHlwZS5lbnVtJztcclxuaW1wb3J0IHsgQmFzZVJvdyB9IGZyb20gJy4vYmFzZS1yb3cnO1xyXG5cclxuZXhwb3J0IGNsYXNzIFNpbXBsZVJvdyBleHRlbmRzIEJhc2VSb3cge1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIGRhdGE6IGFueSA9IHt9LFxyXG4gICkge1xyXG4gICAgc3VwZXIoZGF0YSwgUm93VHlwZS5TaW1wbGUpO1xyXG4gIH1cclxuXHJcblxyXG4gIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xyXG4gIH1cclxufVxyXG4iXX0=
1
+ import { __extends } from "tslib";
2
+ import { RowType } from '../../enums/row-type.enum';
3
+ import { BaseRow } from './base-row';
4
+ var SimpleRow = /** @class */ (function (_super) {
5
+ __extends(SimpleRow, _super);
6
+ function SimpleRow(data) {
7
+ if (data === void 0) { data = {}; }
8
+ return _super.call(this, data, RowType.Simple) || this;
9
+ }
10
+ SimpleRow.prototype.destroy = function () {
11
+ };
12
+ return SimpleRow;
13
+ }(BaseRow));
14
+ export { SimpleRow };
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLXJvdy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BmaXJlc3RpdGNoL2xpc3QvIiwic291cmNlcyI6WyJhcHAvbW9kZWxzL3Jvdy9zaW1wbGUtcm93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVyQztJQUErQiw2QkFBTztJQUVwQyxtQkFDRSxJQUFjO1FBQWQscUJBQUEsRUFBQSxTQUFjO2VBRWQsa0JBQU0sSUFBSSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUM7SUFDN0IsQ0FBQztJQUdNLDJCQUFPLEdBQWQ7SUFDQSxDQUFDO0lBQ0gsZ0JBQUM7QUFBRCxDQUFDLEFBWEQsQ0FBK0IsT0FBTyxHQVdyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJvd1R5cGUgfSBmcm9tICcuLi8uLi9lbnVtcy9yb3ctdHlwZS5lbnVtJztcbmltcG9ydCB7IEJhc2VSb3cgfSBmcm9tICcuL2Jhc2Utcm93JztcblxuZXhwb3J0IGNsYXNzIFNpbXBsZVJvdyBleHRlbmRzIEJhc2VSb3cge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGRhdGE6IGFueSA9IHt9LFxuICApIHtcbiAgICBzdXBlcihkYXRhLCBSb3dUeXBlLlNpbXBsZSk7XG4gIH1cblxuXG4gIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICB9XG59XG4iXX0=
@@ -1,126 +1,126 @@
1
- import { __decorate, __extends, __metadata } from "tslib";
2
- import { Alias, Model } from 'tsmodels';
3
- import { ActionType } from '../enums/button-type.enum';
4
- var RowAction = /** @class */ (function (_super) {
5
- __extends(RowAction, _super);
6
- function RowAction(config) {
7
- if (config === void 0) { config = {}; }
8
- var _this = _super.call(this) || this;
9
- _this.classArray = [];
10
- _this.isShown = true;
11
- _this._isGroup = false;
12
- _this._fromJSON(config);
13
- if (Array.isArray(_this.rowActions)) {
14
- _this._isGroup = true;
15
- }
16
- return _this;
17
- }
18
- Object.defineProperty(RowAction.prototype, "isGroup", {
19
- get: function () {
20
- return this._isGroup;
21
- },
22
- enumerable: true,
23
- configurable: true
24
- });
25
- RowAction.prototype._fromJSON = function (value) {
26
- var _this = this;
27
- _super.prototype._fromJSON.call(this, value);
28
- if (value.type === void 0) {
29
- this.type = ActionType.Basic;
30
- }
31
- if (this.menu === void 0) {
32
- this.menu = true;
33
- }
34
- // Re-assign click function
35
- var clickFn = value.click;
36
- this.click = function (row, event, index, rowActionsRef) {
37
- if (rowActionsRef === void 0) { rowActionsRef = null; }
38
- return _this.clickEvent(row, event, index, rowActionsRef, clickFn);
39
- };
40
- this._linkFn = value.link;
41
- if (this.className) {
42
- this.classArray = this.className.split(' ').reduce(function (acc, elem) {
43
- acc.push(elem);
44
- return acc;
45
- }, []);
46
- }
47
- };
48
- RowAction.prototype.checkShowStatus = function (row, index) {
49
- if (this.isGroup) {
50
- this.rowActions.forEach(function (action) {
51
- action.checkShowStatus(row, index);
52
- });
53
- this.isShown = this.rowActions.some(function (action) { return action.isShown; });
54
- }
55
- else if (this.show) {
56
- this.isShown = this.show(row, index);
57
- }
58
- };
59
- RowAction.prototype.updateLink = function (row) {
60
- if (!this.isShown) {
61
- return;
62
- }
63
- if (this.isGroup) {
64
- this.rowActions.forEach(function (action) {
65
- action.updateLink(row);
66
- });
67
- }
68
- else if (this._linkFn) {
69
- this.routerLink = this._linkFn(row);
70
- if (this.routerLink && !this.routerLink.target) {
71
- this.routerLink.target = null;
72
- }
73
- }
74
- };
75
- RowAction.prototype.clickEvent = function (row, event, index, rowActionsRef, clickFn) {
76
- // Stop event propagation for parent
77
- event.stopPropagation();
78
- // Close menu
79
- if (rowActionsRef) {
80
- rowActionsRef.closeMenu();
81
- }
82
- if (clickFn) {
83
- // Fire passed callback
84
- return clickFn(row, event, index);
85
- }
86
- };
87
- __decorate([
88
- Alias(),
89
- __metadata("design:type", String)
90
- ], RowAction.prototype, "icon", void 0);
91
- __decorate([
92
- Alias(),
93
- __metadata("design:type", String)
94
- ], RowAction.prototype, "label", void 0);
95
- __decorate([
96
- Alias(),
97
- __metadata("design:type", Boolean)
98
- ], RowAction.prototype, "menu", void 0);
99
- __decorate([
100
- Alias(),
101
- __metadata("design:type", Object)
102
- ], RowAction.prototype, "remove", void 0);
103
- __decorate([
104
- Alias(),
105
- __metadata("design:type", String)
106
- ], RowAction.prototype, "className", void 0);
107
- __decorate([
108
- Alias(),
109
- __metadata("design:type", String)
110
- ], RowAction.prototype, "type", void 0);
111
- __decorate([
112
- Alias(),
113
- __metadata("design:type", Function)
114
- ], RowAction.prototype, "show", void 0);
115
- __decorate([
116
- Alias(),
117
- __metadata("design:type", Boolean)
118
- ], RowAction.prototype, "restore", void 0);
119
- __decorate([
120
- Alias('rowActions', RowAction),
121
- __metadata("design:type", Array)
122
- ], RowAction.prototype, "rowActions", void 0);
123
- return RowAction;
124
- }(Model));
125
- export { RowAction };
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LWFjdGlvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BmaXJlc3RpdGNoL2xpc3QvIiwic291cmNlcyI6WyJhcHAvbW9kZWxzL3Jvdy1hY3Rpb24ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUl2RDtJQUErQiw2QkFBSztJQW9CbEMsbUJBQVksTUFBZ0I7UUFBaEIsdUJBQUEsRUFBQSxXQUFnQjtRQUE1QixZQUNFLGlCQUFPLFNBT1I7UUFmTSxnQkFBVSxHQUFhLEVBQUUsQ0FBQztRQUMxQixhQUFPLEdBQUcsSUFBSSxDQUFDO1FBSUwsY0FBUSxHQUFZLEtBQUssQ0FBQztRQUt6QyxLQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXZCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDbEMsS0FBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7U0FDdEI7O0lBQ0gsQ0FBQztJQUVELHNCQUFJLDhCQUFPO2FBQVg7WUFDRSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDdkIsQ0FBQzs7O09BQUE7SUFFTSw2QkFBUyxHQUFoQixVQUFpQixLQUFVO1FBQTNCLGlCQTBCQztRQXpCQyxpQkFBTSxTQUFTLFlBQUMsS0FBSyxDQUFDLENBQUM7UUFFdkIsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQztTQUM5QjtRQUVELElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsRUFBRTtZQUN4QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztTQUNsQjtRQUVELDJCQUEyQjtRQUMz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LEVBQUU7O2dEQUEwQjtJQUN6QjtRQUFSLEtBQUssRUFBRTs7MkNBQXlCO0lBQ3hCO1FBQVIsS0FBSyxFQUFFO2tDQUFjLFFBQVE7MkNBQUM7SUFDdEI7UUFBUixLQUFLLEVBQUU7OzhDQUF5QjtJQUNEO1FBQS9CLEtBQUssQ0FBQyxZQUFZLEVBQUUsU0FBUyxDQUFDOztpREFBZ0M7SUFnR2pFLGdCQUFDO0NBQUEsQUExR0QsQ0FBK0IsS0FBSyxHQTBHbkM7U0ExR1ksU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFsaWFzLCBNb2RlbCB9IGZyb20gJ3RzbW9kZWxzJztcclxuaW1wb3J0IHsgQWN0aW9uVHlwZSB9IGZyb20gJy4uL2VudW1zL2J1dHRvbi10eXBlLmVudW0nO1xyXG5pbXBvcnQgeyBGc0xpc3RSb3dBY3Rpb25MaW5rLCBGc0xpc3RSb3dBY3Rpb25MaW5rRm4gfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcclxuXHJcblxyXG5leHBvcnQgY2xhc3MgUm93QWN0aW9uIGV4dGVuZHMgTW9kZWwge1xyXG5cclxuICBAQWxpYXMoKSBwdWJsaWMgaWNvbjogc3RyaW5nO1xyXG4gIEBBbGlhcygpIHB1YmxpYyBsYWJlbDogc3RyaW5nO1xyXG4gIEBBbGlhcygpIHB1YmxpYyBtZW51OiBib29sZWFuO1xyXG4gIEBBbGlhcygpIHB1YmxpYyByZW1vdmU6IHsgdGl0bGU6IHN0cmluZzsgdGVtcGxhdGU6IHN0cmluZzsgfTtcclxuICBAQWxpYXMoKSBwdWJsaWMgY2xhc3NOYW1lOiBzdHJpbmc7XHJcbiAgQEFsaWFzKCkgcHVibGljIHR5cGU6IEFjdGlvblR5cGU7XHJcbiAgQEFsaWFzKCkgcHVibGljIHNob3c6IEZ1bmN0aW9uO1xyXG4gIEBBbGlhcygpIHB1YmxpYyByZXN0b3JlOiBib29sZWFuO1xyXG4gIEBBbGlhcygncm93QWN0aW9ucycsIFJvd0FjdGlvbikgcHVibGljIHJvd0FjdGlvbnM6IFJvd0FjdGlvbltdO1xyXG5cclxuICBwdWJsaWMgcm91dGVyTGluazogRnNMaXN0Um93QWN0aW9uTGluaztcclxuICBwdWJsaWMgY2xhc3NBcnJheTogc3RyaW5nW10gPSBbXTtcclxuICBwdWJsaWMgaXNTaG93biA9IHRydWU7XHJcbiAgcHVibGljIGNsaWNrOiBGdW5jdGlvbjtcclxuXHJcbiAgcHJpdmF0ZSBfbGlua0ZuOiBGc0xpc3RSb3dBY3Rpb25MaW5rRm47XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfaXNHcm91cDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihjb25maWc6IGFueSA9IHt9KSB7XHJcbiAgICBzdXBlcigpO1xyXG5cclxuICAgIHRoaXMuX2Zyb21KU09OKGNvbmZpZyk7XHJcblxyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5yb3dBY3Rpb25zKSkge1xyXG4gICAgICB0aGlzLl9pc0dyb3VwID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldCBpc0dyb3VwKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2lzR3JvdXA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgX2Zyb21KU09OKHZhbHVlOiBhbnkpIHtcclxuICAgIHN1cGVyLl9mcm9tSlNPTih2YWx1ZSk7XHJcblxyXG4gICAgaWYgKHZhbHVlLnR5cGUgPT09IHZvaWQgMCkge1xyXG4gICAgICB0aGlzLnR5cGUgPSBBY3Rpb25UeXBlLkJhc2ljO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLm1lbnUgPT09IHZvaWQgMCkge1xyXG4gICAgICB0aGlzLm1lbnUgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFJlLWFzc2lnbiBjbGljayBmdW5jdGlvblxyXG4gICAgY29uc3QgY2xpY2tGbiA9IHZhbHVlLmNsaWNrO1xyXG4gICAgdGhpcy5jbGljayA9IChyb3csIGV2ZW50LCBpbmRleCwgcm93QWN0aW9uc1JlZiA9IG51bGwpID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuY2xpY2tFdmVudChyb3csIGV2ZW50LCBpbmRleCwgcm93QWN0aW9uc1JlZiwgY2xpY2tGbik7XHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMuX2xpbmtGbiA9IHZhbHVlLmxpbms7XHJcblxyXG4gICAgaWYgKHRoaXMuY2xhc3NOYW1lKSB7XHJcbiAgICAgIHRoaXMuY2xhc3NBcnJheSA9IHRoaXMuY2xhc3NOYW1lLnNwbGl0KCcgJykucmVkdWNlKChhY2MsIGVsZW0pID0+IHtcclxuICAgICAgICBhY2MucHVzaChlbGVtKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGFjYztcclxuICAgICAgfSwgW10pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGNoZWNrU2hvd1N0YXR1cyhyb3csIGluZGV4KSB7XHJcbiAgICBpZiAodGhpcy5pc0dyb3VwKSB7XHJcbiAgICAgIHRoaXMucm93QWN0aW9ucy5mb3JFYWNoKChhY3Rpb24pID0+IHtcclxuICAgICAgICBhY3Rpb24uY2hlY2tTaG93U3RhdHVzKHJvdywgaW5kZXgpO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHRoaXMuaXNTaG93biA9IHRoaXMucm93QWN0aW9ucy5zb21lKChhY3Rpb24pID0+IGFjdGlvbi5pc1Nob3duKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5zaG93KSB7XHJcbiAgICAgIHRoaXMuaXNTaG93biA9IHRoaXMuc2hvdyhyb3csIGluZGV4KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyB1cGRhdGVMaW5rKHJvdykge1xyXG4gICAgaWYgKCF0aGlzLmlzU2hvd24pIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmlzR3JvdXApIHtcclxuICAgICAgdGhpcy5yb3dBY3Rpb25zLmZvckVhY2goKGFjdGlvbikgPT4ge1xyXG4gICAgICAgIGFjdGlvbi51cGRhdGVMaW5rKHJvdyk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLl9saW5rRm4pIHtcclxuICAgICAgdGhpcy5yb3V0ZXJMaW5rID0gdGhpcy5fbGlua0ZuKHJvdyk7XHJcblxyXG4gICAgICBpZiAodGhpcy5yb3V0ZXJMaW5rICYmICF0aGlzLnJvdXRlckxpbmsudGFyZ2V0KSB7XHJcbiAgICAgICAgdGhpcy5yb3V0ZXJMaW5rLnRhcmdldCA9IG51bGw7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2xpY2tFdmVudChyb3csIGV2ZW50LCBpbmRleCwgcm93QWN0aW9uc1JlZiwgY2xpY2tGbikge1xyXG4gICAgLy8gU3RvcCBldmVudCBwcm9wYWdhdGlvbiBmb3IgcGFyZW50XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuXHJcbiAgICAvLyBDbG9zZSBtZW51XHJcbiAgICBpZiAocm93QWN0aW9uc1JlZikge1xyXG4gICAgICByb3dBY3Rpb25zUmVmLmNsb3NlTWVudSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChjbGlja0ZuKSB7XHJcbiAgICAgIC8vIEZpcmUgcGFzc2VkIGNhbGxiYWNrXHJcbiAgICAgIHJldHVybiBjbGlja0ZuKHJvdywgZXZlbnQsIGluZGV4KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
1
+ import { __decorate, __extends, __metadata } from "tslib";
2
+ import { Alias, Model } from 'tsmodels';
3
+ import { ActionType } from '../enums/button-type.enum';
4
+ var RowAction = /** @class */ (function (_super) {
5
+ __extends(RowAction, _super);
6
+ function RowAction(config) {
7
+ if (config === void 0) { config = {}; }
8
+ var _this = _super.call(this) || this;
9
+ _this.classArray = [];
10
+ _this.isShown = true;
11
+ _this._isGroup = false;
12
+ _this._fromJSON(config);
13
+ if (Array.isArray(_this.rowActions)) {
14
+ _this._isGroup = true;
15
+ }
16
+ return _this;
17
+ }
18
+ Object.defineProperty(RowAction.prototype, "isGroup", {
19
+ get: function () {
20
+ return this._isGroup;
21
+ },
22
+ enumerable: true,
23
+ configurable: true
24
+ });
25
+ RowAction.prototype._fromJSON = function (value) {
26
+ var _this = this;
27
+ _super.prototype._fromJSON.call(this, value);
28
+ if (value.type === void 0) {
29
+ this.type = ActionType.Basic;
30
+ }
31
+ if (this.menu === void 0) {
32
+ this.menu = true;
33
+ }
34
+ // Re-assign click function
35
+ var clickFn = value.click;
36
+ this.click = function (row, event, index, rowActionsRef) {
37
+ if (rowActionsRef === void 0) { rowActionsRef = null; }
38
+ return _this.clickEvent(row, event, index, rowActionsRef, clickFn);
39
+ };
40
+ this._linkFn = value.link;
41
+ if (this.className) {
42
+ this.classArray = this.className.split(' ').reduce(function (acc, elem) {
43
+ acc.push(elem);
44
+ return acc;
45
+ }, []);
46
+ }
47
+ };
48
+ RowAction.prototype.checkShowStatus = function (row, index) {
49
+ if (this.isGroup) {
50
+ this.rowActions.forEach(function (action) {
51
+ action.checkShowStatus(row, index);
52
+ });
53
+ this.isShown = this.rowActions.some(function (action) { return action.isShown; });
54
+ }
55
+ else if (this.show) {
56
+ this.isShown = this.show(row, index);
57
+ }
58
+ };
59
+ RowAction.prototype.updateLink = function (row) {
60
+ if (!this.isShown) {
61
+ return;
62
+ }
63
+ if (this.isGroup) {
64
+ this.rowActions.forEach(function (action) {
65
+ action.updateLink(row);
66
+ });
67
+ }
68
+ else if (this._linkFn) {
69
+ this.routerLink = this._linkFn(row);
70
+ if (this.routerLink && !this.routerLink.target) {
71
+ this.routerLink.target = null;
72
+ }
73
+ }
74
+ };
75
+ RowAction.prototype.clickEvent = function (row, event, index, rowActionsRef, clickFn) {
76
+ // Stop event propagation for parent
77
+ event.stopPropagation();
78
+ // Close menu
79
+ if (rowActionsRef) {
80
+ rowActionsRef.closeMenu();
81
+ }
82
+ if (clickFn) {
83
+ // Fire passed callback
84
+ return clickFn(row, event, index);
85
+ }
86
+ };
87
+ __decorate([
88
+ Alias(),
89
+ __metadata("design:type", String)
90
+ ], RowAction.prototype, "icon", void 0);
91
+ __decorate([
92
+ Alias(),
93
+ __metadata("design:type", String)
94
+ ], RowAction.prototype, "label", void 0);
95
+ __decorate([
96
+ Alias(),
97
+ __metadata("design:type", Boolean)
98
+ ], RowAction.prototype, "menu", void 0);
99
+ __decorate([
100
+ Alias(),
101
+ __metadata("design:type", Object)
102
+ ], RowAction.prototype, "remove", void 0);
103
+ __decorate([
104
+ Alias(),
105
+ __metadata("design:type", String)
106
+ ], RowAction.prototype, "className", void 0);
107
+ __decorate([
108
+ Alias(),
109
+ __metadata("design:type", String)
110
+ ], RowAction.prototype, "type", void 0);
111
+ __decorate([
112
+ Alias(),
113
+ __metadata("design:type", Function)
114
+ ], RowAction.prototype, "show", void 0);
115
+ __decorate([
116
+ Alias(),
117
+ __metadata("design:type", Boolean)
118
+ ], RowAction.prototype, "restore", void 0);
119
+ __decorate([
120
+ Alias('rowActions', RowAction),
121
+ __metadata("design:type", Array)
122
+ ], RowAction.prototype, "rowActions", void 0);
123
+ return RowAction;
124
+ }(Model));
125
+ export { RowAction };
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LWFjdGlvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BmaXJlc3RpdGNoL2xpc3QvIiwic291cmNlcyI6WyJhcHAvbW9kZWxzL3Jvdy1hY3Rpb24ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUl2RDtJQUErQiw2QkFBSztJQW9CbEMsbUJBQVksTUFBZ0I7UUFBaEIsdUJBQUEsRUFBQSxXQUFnQjtRQUE1QixZQUNFLGlCQUFPLFNBT1I7UUFmTSxnQkFBVSxHQUFhLEVBQUUsQ0FBQztRQUMxQixhQUFPLEdBQUcsSUFBSSxDQUFDO1FBSUwsY0FBUSxHQUFZLEtBQUssQ0FBQztRQUt6QyxLQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXZCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDbEMsS0FBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7U0FDdEI7O0lBQ0gsQ0FBQztJQUVELHNCQUFJLDhCQUFPO2FBQVg7WUFDRSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDdkIsQ0FBQzs7O09BQUE7SUFFTSw2QkFBUyxHQUFoQixVQUFpQixLQUFVO1FBQTNCLGlCQTBCQztRQXpCQyxpQkFBTSxTQUFTLFlBQUMsS0FBSyxDQUFDLENBQUM7UUFFdkIsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQztTQUM5QjtRQUVELElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsRUFBRTtZQUN4QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztTQUNsQjtRQUVELDJCQUEyQjtRQUMz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LEVBQUU7O2dEQUEwQjtJQUN6QjtRQUFSLEtBQUssRUFBRTs7MkNBQXlCO0lBQ3hCO1FBQVIsS0FBSyxFQUFFO2tDQUFjLFFBQVE7MkNBQUM7SUFDdEI7UUFBUixLQUFLLEVBQUU7OzhDQUF5QjtJQUNEO1FBQS9CLEtBQUssQ0FBQyxZQUFZLEVBQUUsU0FBUyxDQUFDOztpREFBZ0M7SUFnR2pFLGdCQUFDO0NBQUEsQUExR0QsQ0FBK0IsS0FBSyxHQTBHbkM7U0ExR1ksU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFsaWFzLCBNb2RlbCB9IGZyb20gJ3RzbW9kZWxzJztcbmltcG9ydCB7IEFjdGlvblR5cGUgfSBmcm9tICcuLi9lbnVtcy9idXR0b24tdHlwZS5lbnVtJztcbmltcG9ydCB7IEZzTGlzdFJvd0FjdGlvbkxpbmssIEZzTGlzdFJvd0FjdGlvbkxpbmtGbiB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuXG5cbmV4cG9ydCBjbGFzcyBSb3dBY3Rpb24gZXh0ZW5kcyBNb2RlbCB7XG5cbiAgQEFsaWFzKCkgcHVibGljIGljb246IHN0cmluZztcbiAgQEFsaWFzKCkgcHVibGljIGxhYmVsOiBzdHJpbmc7XG4gIEBBbGlhcygpIHB1YmxpYyBtZW51OiBib29sZWFuO1xuICBAQWxpYXMoKSBwdWJsaWMgcmVtb3ZlOiB7IHRpdGxlOiBzdHJpbmc7IHRlbXBsYXRlOiBzdHJpbmc7IH07XG4gIEBBbGlhcygpIHB1YmxpYyBjbGFzc05hbWU6IHN0cmluZztcbiAgQEFsaWFzKCkgcHVibGljIHR5cGU6IEFjdGlvblR5cGU7XG4gIEBBbGlhcygpIHB1YmxpYyBzaG93OiBGdW5jdGlvbjtcbiAgQEFsaWFzKCkgcHVibGljIHJlc3RvcmU6IGJvb2xlYW47XG4gIEBBbGlhcygncm93QWN0aW9ucycsIFJvd0FjdGlvbikgcHVibGljIHJvd0FjdGlvbnM6IFJvd0FjdGlvbltdO1xuXG4gIHB1YmxpYyByb3V0ZXJMaW5rOiBGc0xpc3RSb3dBY3Rpb25MaW5rO1xuICBwdWJsaWMgY2xhc3NBcnJheTogc3RyaW5nW10gPSBbXTtcbiAgcHVibGljIGlzU2hvd24gPSB0cnVlO1xuICBwdWJsaWMgY2xpY2s6IEZ1bmN0aW9uO1xuXG4gIHByaXZhdGUgX2xpbmtGbjogRnNMaXN0Um93QWN0aW9uTGlua0ZuO1xuICBwcml2YXRlIHJlYWRvbmx5IF9pc0dyb3VwOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoY29uZmlnOiBhbnkgPSB7fSkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLl9mcm9tSlNPTihjb25maWcpO1xuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5yb3dBY3Rpb25zKSkge1xuICAgICAgdGhpcy5faXNHcm91cCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGlzR3JvdXAoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lzR3JvdXA7XG4gIH1cblxuICBwdWJsaWMgX2Zyb21KU09OKHZhbHVlOiBhbnkpIHtcbiAgICBzdXBlci5fZnJvbUpTT04odmFsdWUpO1xuXG4gICAgaWYgKHZhbHVlLnR5cGUgPT09IHZvaWQgMCkge1xuICAgICAgdGhpcy50eXBlID0gQWN0aW9uVHlwZS5CYXNpYztcbiAgICB9XG5cbiAgICBpZiAodGhpcy5tZW51ID09PSB2b2lkIDApIHtcbiAgICAgIHRoaXMubWVudSA9IHRydWU7XG4gICAgfVxuXG4gICAgLy8gUmUtYXNzaWduIGNsaWNrIGZ1bmN0aW9uXG4gICAgY29uc3QgY2xpY2tGbiA9IHZhbHVlLmNsaWNrO1xuICAgIHRoaXMuY2xpY2sgPSAocm93LCBldmVudCwgaW5kZXgsIHJvd0FjdGlvbnNSZWYgPSBudWxsKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5jbGlja0V2ZW50KHJvdywgZXZlbnQsIGluZGV4LCByb3dBY3Rpb25zUmVmLCBjbGlja0ZuKTtcbiAgICB9O1xuXG4gICAgdGhpcy5fbGlua0ZuID0gdmFsdWUubGluaztcblxuICAgIGlmICh0aGlzLmNsYXNzTmFtZSkge1xuICAgICAgdGhpcy5jbGFzc0FycmF5ID0gdGhpcy5jbGFzc05hbWUuc3BsaXQoJyAnKS5yZWR1Y2UoKGFjYywgZWxlbSkgPT4ge1xuICAgICAgICBhY2MucHVzaChlbGVtKTtcblxuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSwgW10pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjaGVja1Nob3dTdGF0dXMocm93LCBpbmRleCkge1xuICAgIGlmICh0aGlzLmlzR3JvdXApIHtcbiAgICAgIHRoaXMucm93QWN0aW9ucy5mb3JFYWNoKChhY3Rpb24pID0+IHtcbiAgICAgICAgYWN0aW9uLmNoZWNrU2hvd1N0YXR1cyhyb3csIGluZGV4KTtcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLmlzU2hvd24gPSB0aGlzLnJvd0FjdGlvbnMuc29tZSgoYWN0aW9uKSA9PiBhY3Rpb24uaXNTaG93bik7XG4gICAgfSBlbHNlIGlmICh0aGlzLnNob3cpIHtcbiAgICAgIHRoaXMuaXNTaG93biA9IHRoaXMuc2hvdyhyb3csIGluZGV4KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlTGluayhyb3cpIHtcbiAgICBpZiAoIXRoaXMuaXNTaG93bikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlzR3JvdXApIHtcbiAgICAgIHRoaXMucm93QWN0aW9ucy5mb3JFYWNoKChhY3Rpb24pID0+IHtcbiAgICAgICAgYWN0aW9uLnVwZGF0ZUxpbmsocm93KTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAodGhpcy5fbGlua0ZuKSB7XG4gICAgICB0aGlzLnJvdXRlckxpbmsgPSB0aGlzLl9saW5rRm4ocm93KTtcblxuICAgICAgaWYgKHRoaXMucm91dGVyTGluayAmJiAhdGhpcy5yb3V0ZXJMaW5rLnRhcmdldCkge1xuICAgICAgICB0aGlzLnJvdXRlckxpbmsudGFyZ2V0ID0gbnVsbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNsaWNrRXZlbnQocm93LCBldmVudCwgaW5kZXgsIHJvd0FjdGlvbnNSZWYsIGNsaWNrRm4pIHtcbiAgICAvLyBTdG9wIGV2ZW50IHByb3BhZ2F0aW9uIGZvciBwYXJlbnRcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIC8vIENsb3NlIG1lbnVcbiAgICBpZiAocm93QWN0aW9uc1JlZikge1xuICAgICAgcm93QWN0aW9uc1JlZi5jbG9zZU1lbnUoKTtcbiAgICB9XG5cbiAgICBpZiAoY2xpY2tGbikge1xuICAgICAgLy8gRmlyZSBwYXNzZWQgY2FsbGJhY2tcbiAgICAgIHJldHVybiBjbGlja0ZuKHJvdywgZXZlbnQsIGluZGV4KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==