@firestitch/list 9.12.5 → 12.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (170) hide show
  1. package/app/classes/persistance-controller.d.ts +3 -0
  2. package/app/classes/reorder-controller.d.ts +3 -0
  3. package/app/components/body/body.component.d.ts +3 -0
  4. package/app/components/body/row/actions/actions.component.d.ts +3 -0
  5. package/app/components/body/row/cell/cell.component.d.ts +3 -0
  6. package/app/components/body/row/inline-action/inline-action.component.d.ts +3 -0
  7. package/app/components/body/row/menu-action/menu-action.component.d.ts +3 -0
  8. package/app/components/body/row/row.component.d.ts +3 -0
  9. package/app/components/customize-cols/customize-cols.component.d.ts +3 -0
  10. package/app/components/footer/footer-row/footer-cell/footer-cell.component.d.ts +3 -0
  11. package/app/components/footer/footer-row/footer-row.component.d.ts +3 -0
  12. package/app/components/footer/footer.component.d.ts +3 -0
  13. package/app/components/head/head-cell/head-cell.component.d.ts +3 -0
  14. package/app/components/head/head.component.d.ts +3 -0
  15. package/app/components/list/list.component.d.ts +3 -0
  16. package/app/components/loader/loader.component.d.ts +3 -0
  17. package/app/components/manage-saved-filters/manage-saved-filters.component.d.ts +3 -0
  18. package/app/components/pagination/pagination.component.d.ts +3 -0
  19. package/app/components/saved-filters/saved-filters.component.d.ts +3 -0
  20. package/app/components/status/status.component.d.ts +3 -0
  21. package/app/directives/cell/cell.directive.d.ts +3 -0
  22. package/app/directives/column/column.directive.d.ts +3 -0
  23. package/app/directives/content/content.directive.d.ts +3 -0
  24. package/app/directives/draggable-list/draggable-list.directive.d.ts +3 -0
  25. package/app/directives/draggable-row/draggable-row.directive.d.ts +3 -0
  26. package/app/directives/empty-state/empty-state.directive.d.ts +3 -0
  27. package/app/directives/footer/footer.directive.d.ts +3 -0
  28. package/app/directives/group-cell/group-cell.directive.d.ts +3 -0
  29. package/app/directives/group-expand-trigger/group-expand-trigger.directive.d.ts +3 -0
  30. package/app/directives/header/header.directive.d.ts +3 -0
  31. package/app/fs-list.module.d.ts +48 -0
  32. package/app/services/group-expand-notifier.service.d.ts +3 -0
  33. package/bundles/firestitch-list.umd.js +2087 -2088
  34. package/bundles/firestitch-list.umd.js.map +1 -1
  35. package/esm2015/app/classes/actions-controller.js +1 -1
  36. package/esm2015/app/classes/columns-controller.js +1 -1
  37. package/esm2015/app/classes/data-controller.js +2 -2
  38. package/esm2015/app/classes/external-params-controller.js +5 -7
  39. package/esm2015/app/classes/index.js +1 -1
  40. package/esm2015/app/classes/list-controller.js +1 -1
  41. package/esm2015/app/classes/pagination-controller.js +2 -2
  42. package/esm2015/app/classes/persistance-controller.js +11 -14
  43. package/esm2015/app/classes/reorder-controller.js +13 -13
  44. package/esm2015/app/classes/selection-controller.js +7 -6
  45. package/esm2015/app/classes/sorting-controller.js +1 -1
  46. package/esm2015/app/components/body/body.component.js +48 -75
  47. package/esm2015/app/components/body/row/actions/actions.component.js +37 -48
  48. package/esm2015/app/components/body/row/cell/cell.component.js +27 -33
  49. package/esm2015/app/components/body/row/inline-action/inline-action.component.js +27 -28
  50. package/esm2015/app/components/body/row/menu-action/menu-action.component.js +27 -32
  51. package/esm2015/app/components/body/row/row.component.js +54 -84
  52. package/esm2015/app/components/customize-cols/customize-cols.component.js +23 -18
  53. package/esm2015/app/components/footer/footer-row/footer-cell/footer-cell.component.js +15 -13
  54. package/esm2015/app/components/footer/footer-row/footer-row.component.js +20 -28
  55. package/esm2015/app/components/footer/footer.component.js +21 -25
  56. package/esm2015/app/components/head/head-cell/head-cell.component.js +17 -19
  57. package/esm2015/app/components/head/head.component.js +31 -39
  58. package/esm2015/app/components/list/list.component.js +75 -83
  59. package/esm2015/app/components/loader/loader.component.js +22 -21
  60. package/esm2015/app/components/manage-saved-filters/manage-saved-filters.component.js +19 -15
  61. package/esm2015/app/components/pagination/pagination.component.js +26 -26
  62. package/esm2015/app/components/saved-filters/saved-filters.component.js +20 -23
  63. package/esm2015/app/components/status/status.component.js +38 -41
  64. package/esm2015/app/directives/cell/cell.directive.js +17 -20
  65. package/esm2015/app/directives/column/column.directive.js +60 -86
  66. package/esm2015/app/directives/content/content.directive.js +12 -10
  67. package/esm2015/app/directives/draggable-list/draggable-list.directive.js +16 -24
  68. package/esm2015/app/directives/draggable-row/draggable-row.directive.js +22 -30
  69. package/esm2015/app/directives/empty-state/empty-state.directive.js +12 -10
  70. package/esm2015/app/directives/footer/footer.directive.js +17 -20
  71. package/esm2015/app/directives/group-cell/group-cell.directive.js +12 -10
  72. package/esm2015/app/directives/group-expand-trigger/group-expand-trigger.directive.js +16 -22
  73. package/esm2015/app/directives/header/header.directive.js +17 -20
  74. package/esm2015/app/enums/button-type.enum.js +1 -1
  75. package/esm2015/app/enums/page-change-type.enum.js +1 -1
  76. package/esm2015/app/enums/pagination-strategy.enum.js +1 -1
  77. package/esm2015/app/enums/row-type.enum.js +1 -1
  78. package/esm2015/app/enums/state.enum.js +1 -1
  79. package/esm2015/app/fs-list.module.js +139 -66
  80. package/esm2015/app/fs-list.providers.js +1 -1
  81. package/esm2015/app/interfaces/cellconfig.interface.js +2 -1
  82. package/esm2015/app/interfaces/draggable-list.interface.js +2 -1
  83. package/esm2015/app/interfaces/external-params.interface.js +2 -1
  84. package/esm2015/app/interfaces/index.js +4 -1
  85. package/esm2015/app/interfaces/listconfig.interface.js +2 -1
  86. package/esm2015/app/interfaces/pagination.interface.js +2 -1
  87. package/esm2015/app/models/column.model.js +1 -1
  88. package/esm2015/app/models/row/base-row.js +1 -1
  89. package/esm2015/app/models/row/child-row.js +1 -1
  90. package/esm2015/app/models/row/group-row.js +1 -1
  91. package/esm2015/app/models/row/simple-row.js +1 -1
  92. package/esm2015/app/models/row-action.model.js +1 -1
  93. package/esm2015/app/models/row.js +1 -1
  94. package/esm2015/app/models/styleConfig.model.js +1 -1
  95. package/esm2015/app/services/group-expand-notifier.service.js +9 -8
  96. package/esm2015/firestitch-list.js +1 -15
  97. package/esm2015/public_api.js +4 -1
  98. package/fesm2015/firestitch-list.js +1342 -1469
  99. package/fesm2015/firestitch-list.js.map +1 -1
  100. package/firestitch-list.d.ts +1 -15
  101. package/package.json +5 -8
  102. package/public_api.d.ts +3 -0
  103. package/bundles/firestitch-list.umd.min.js +0 -16
  104. package/bundles/firestitch-list.umd.min.js.map +0 -1
  105. package/esm5/app/classes/actions-controller.js +0 -71
  106. package/esm5/app/classes/columns-controller.js +0 -236
  107. package/esm5/app/classes/data-controller.js +0 -374
  108. package/esm5/app/classes/external-params-controller.js +0 -185
  109. package/esm5/app/classes/index.js +0 -3
  110. package/esm5/app/classes/list-controller.js +0 -783
  111. package/esm5/app/classes/pagination-controller.js +0 -570
  112. package/esm5/app/classes/persistance-controller.js +0 -25
  113. package/esm5/app/classes/reorder-controller.js +0 -204
  114. package/esm5/app/classes/selection-controller.js +0 -465
  115. package/esm5/app/classes/sorting-controller.js +0 -204
  116. package/esm5/app/components/body/body.component.js +0 -104
  117. package/esm5/app/components/body/row/actions/actions.component.js +0 -116
  118. package/esm5/app/components/body/row/cell/cell.component.js +0 -95
  119. package/esm5/app/components/body/row/inline-action/inline-action.component.js +0 -43
  120. package/esm5/app/components/body/row/menu-action/menu-action.component.js +0 -38
  121. package/esm5/app/components/body/row/row.component.js +0 -295
  122. package/esm5/app/components/customize-cols/customize-cols.component.js +0 -69
  123. package/esm5/app/components/footer/footer-row/footer-cell/footer-cell.component.js +0 -20
  124. package/esm5/app/components/footer/footer-row/footer-row.component.js +0 -38
  125. package/esm5/app/components/footer/footer.component.js +0 -31
  126. package/esm5/app/components/head/head-cell/head-cell.component.js +0 -38
  127. package/esm5/app/components/head/head.component.js +0 -106
  128. package/esm5/app/components/list/list.component.js +0 -403
  129. package/esm5/app/components/loader/loader.component.js +0 -47
  130. package/esm5/app/components/manage-saved-filters/manage-saved-filters.component.js +0 -81
  131. package/esm5/app/components/pagination/pagination.component.js +0 -46
  132. package/esm5/app/components/saved-filters/saved-filters.component.js +0 -41
  133. package/esm5/app/components/status/status.component.js +0 -79
  134. package/esm5/app/directives/cell/cell.directive.js +0 -24
  135. package/esm5/app/directives/column/column.directive.js +0 -98
  136. package/esm5/app/directives/content/content.directive.js +0 -14
  137. package/esm5/app/directives/draggable-list/draggable-list.directive.js +0 -281
  138. package/esm5/app/directives/draggable-row/draggable-row.directive.js +0 -83
  139. package/esm5/app/directives/empty-state/empty-state.directive.js +0 -14
  140. package/esm5/app/directives/footer/footer.directive.js +0 -24
  141. package/esm5/app/directives/group-cell/group-cell.directive.js +0 -17
  142. package/esm5/app/directives/group-expand-trigger/group-expand-trigger.directive.js +0 -33
  143. package/esm5/app/directives/header/header.directive.js +0 -24
  144. package/esm5/app/enums/button-type.enum.js +0 -9
  145. package/esm5/app/enums/page-change-type.enum.js +0 -6
  146. package/esm5/app/enums/pagination-strategy.enum.js +0 -7
  147. package/esm5/app/enums/row-type.enum.js +0 -7
  148. package/esm5/app/enums/state.enum.js +0 -11
  149. package/esm5/app/fs-list.module.js +0 -152
  150. package/esm5/app/fs-list.providers.js +0 -4
  151. package/esm5/app/interfaces/cellconfig.interface.js +0 -1
  152. package/esm5/app/interfaces/draggable-list.interface.js +0 -1
  153. package/esm5/app/interfaces/external-params.interface.js +0 -1
  154. package/esm5/app/interfaces/index.js +0 -1
  155. package/esm5/app/interfaces/listconfig.interface.js +0 -1
  156. package/esm5/app/interfaces/pagination.interface.js +0 -1
  157. package/esm5/app/models/column.model.js +0 -204
  158. package/esm5/app/models/row/base-row.js +0 -35
  159. package/esm5/app/models/row/child-row.js +0 -43
  160. package/esm5/app/models/row/group-row.js +0 -61
  161. package/esm5/app/models/row/simple-row.js +0 -15
  162. package/esm5/app/models/row-action.model.js +0 -153
  163. package/esm5/app/models/row.js +0 -126
  164. package/esm5/app/models/styleConfig.model.js +0 -91
  165. package/esm5/app/services/group-expand-notifier.service.js +0 -30
  166. package/esm5/firestitch-list.js +0 -19
  167. package/esm5/public_api.js +0 -41
  168. package/fesm5/firestitch-list.js +0 -6084
  169. package/fesm5/firestitch-list.js.map +0 -1
  170. package/firestitch-list.metadata.json +0 -1
@@ -1,106 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnInit, ViewChild, ViewContainerRef, OnDestroy, } from '@angular/core';
3
- import { Subject } from 'rxjs';
4
- import { filter, takeUntil } from 'rxjs/operators';
5
- import { SortingController } from '../../classes/sorting-controller';
6
- import { ReorderController, ReorderPosition, ReorderStrategy } from '../../classes/reorder-controller';
7
- import { SelectionController, SelectionChangeType } from '../../classes/selection-controller';
8
- var FsHeadComponent = /** @class */ (function () {
9
- function FsHeadComponent(reorderController, cdRef) {
10
- this.reorderController = reorderController;
11
- this.cdRef = cdRef;
12
- this.selectedAll = false;
13
- this.ReorderPosition = ReorderPosition;
14
- this.ReorderStrategy = ReorderStrategy;
15
- this._destroy$ = new Subject();
16
- }
17
- FsHeadComponent.prototype.ngOnInit = function () {
18
- this.initSorting();
19
- this.initSelection();
20
- };
21
- FsHeadComponent.prototype.ngOnDestroy = function () {
22
- this._destroy$.next();
23
- this._destroy$.complete();
24
- };
25
- /**
26
- * Select All Visible Rows
27
- * @param event
28
- */
29
- FsHeadComponent.prototype.selectAll = function (event) {
30
- this.selection.selectAllVisibleRows(event.checked);
31
- };
32
- /**
33
- * Track By for improve change detection
34
- * @param index
35
- */
36
- FsHeadComponent.prototype.trackByFn = function (index) {
37
- return index;
38
- };
39
- /**
40
- * Subscribe to sorting change
41
- */
42
- FsHeadComponent.prototype.initSorting = function () {
43
- var _this = this;
44
- this.sorting.sortingChanged$
45
- .pipe(takeUntil(this._destroy$))
46
- .subscribe(function () {
47
- _this.cdRef.detectChanges();
48
- });
49
- };
50
- /**
51
- * Subscribe to selection change
52
- */
53
- FsHeadComponent.prototype.initSelection = function () {
54
- var _this = this;
55
- if (this.selection) {
56
- this.selection.selectionChange$
57
- .pipe(filter(function (_a) {
58
- var type = _a.type;
59
- return (type === SelectionChangeType.AllVisibleSelectionChange
60
- || type === SelectionChangeType.SelectedAll
61
- || type === SelectionChangeType.RowSelectionChange);
62
- }), takeUntil(this._destroy$))
63
- .subscribe(function (_a) {
64
- var type = _a.type, status = _a.payload;
65
- _this.selectedAll = status;
66
- _this.cdRef.markForCheck();
67
- });
68
- }
69
- };
70
- FsHeadComponent.ctorParameters = function () { return [
71
- { type: ReorderController },
72
- { type: ChangeDetectorRef }
73
- ]; };
74
- __decorate([
75
- Input(),
76
- __metadata("design:type", SortingController)
77
- ], FsHeadComponent.prototype, "sorting", void 0);
78
- __decorate([
79
- Input(),
80
- __metadata("design:type", Array)
81
- ], FsHeadComponent.prototype, "columns", void 0);
82
- __decorate([
83
- Input(),
84
- __metadata("design:type", Boolean)
85
- ], FsHeadComponent.prototype, "hasRowActions", void 0);
86
- __decorate([
87
- Input(),
88
- __metadata("design:type", SelectionController)
89
- ], FsHeadComponent.prototype, "selection", void 0);
90
- __decorate([
91
- ViewChild('rowsContainer', { read: ViewContainerRef, static: true }),
92
- __metadata("design:type", Object)
93
- ], FsHeadComponent.prototype, "rowsContainer", void 0);
94
- FsHeadComponent = __decorate([
95
- Component({
96
- selector: '[fs-list-head]',
97
- template: "<tr class=\"fs-list-row\">\n <!-- Drag -->\n <th *ngIf=\"reorderController.leftReorderActivated$ | async\" class=\"fs-list-col drag-col\"></th>\n\n <!-- Selection -->\n <th *ngIf=\"selection\" class=\"fs-list-col fs-list-col-selection\">\n <mat-checkbox (change)=\"selectAll($event)\" [checked]=\"selectedAll\"></mat-checkbox>\n </th>\n\n <!-- Content -->\n <th fs-head-cell *ngFor=\"let column of columns; trackBy: trackByFn\"\n (click)=\"$event.stopPropagation(); sorting.sortBy(column)\"\n [column]=\"column\"\n [class.sorting]=\"column.sortable\"\n [ngClass]=\"column.headerConfigs.classesArray\"\n [attr.colspan]=\"column.headerConfigs.colspan\"\n [attr.width]=\"column.width\"></th>\n\n <!-- Drag -->\n <th *ngIf=\"reorderController.rightReorderActivated$ | async\" class=\"fs-list-col drag-col\"></th>\n\n <!-- Row Actions -->\n <th *ngIf=\"hasRowActions && !(reorderController.manualReorderActivated$ | async)\" class=\"fs-list-col row-actions\"></th>\n</tr>\n",
98
- changeDetection: ChangeDetectionStrategy.OnPush
99
- }),
100
- __metadata("design:paramtypes", [ReorderController,
101
- ChangeDetectorRef])
102
- ], FsHeadComponent);
103
- return FsHeadComponent;
104
- }());
105
- export { FsHeadComponent };
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZmlyZXN0aXRjaC9saXN0LyIsInNvdXJjZXMiOlsiYXBwL2NvbXBvbmVudHMvaGVhZC9oZWFkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULGdCQUFnQixFQUFFLFNBQVMsR0FDNUIsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR25ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsZUFBZSxFQUNmLGVBQWUsRUFDaEIsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQVE5RjtJQWNFLHlCQUNTLGlCQUFvQyxFQUNuQyxLQUF3QjtRQUR6QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ25DLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBUjNCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ1gsb0JBQWUsR0FBRyxlQUFlLENBQUM7UUFDbEMsb0JBQWUsR0FBRyxlQUFlLENBQUM7UUFFMUMsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFLL0IsQ0FBQztJQUVHLGtDQUFRLEdBQWY7UUFDRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxxQ0FBVyxHQUFsQjtRQUNFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksbUNBQVMsR0FBaEIsVUFBaUIsS0FBd0I7UUFDdkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVEOzs7T0FHRztJQUNJLG1DQUFTLEdBQWhCLFVBQWlCLEtBQUs7UUFDcEIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQ7O09BRUc7SUFDSyxxQ0FBVyxHQUFuQjtRQUFBLGlCQVFDO1FBUEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlO2FBQ3pCLElBQUksQ0FDSCxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUMxQjthQUNBLFNBQVMsQ0FBQztZQUNULEtBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7O09BRUc7SUFDSyx1Q0FBYSxHQUFyQjtRQUFBLGlCQW1CQztRQWxCQyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0I7aUJBQzVCLElBQUksQ0FDSCxNQUFNLENBQ0osVUFBQyxFQUFNO29CQUFMLGNBQUk7Z0JBQU0sT0FBQSxDQUNWLElBQUksS0FBSyxtQkFBbUIsQ0FBQyx5QkFBeUI7dUJBQ25ELElBQUksS0FBSyxtQkFBbUIsQ0FBQyxXQUFXO3VCQUN4QyxJQUFJLEtBQUssbUJBQW1CLENBQUMsa0JBQWtCLENBQ25EO1lBSlcsQ0FJWCxDQUNGLEVBQ0QsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FDMUI7aUJBQ0EsU0FBUyxDQUFDLFVBQUMsRUFBdUI7b0JBQXRCLGNBQUksRUFBRSxtQkFBZTtnQkFDaEMsS0FBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUM7Z0JBRTFCLEtBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDNUIsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNILENBQUM7O2dCQWpFMkIsaUJBQWlCO2dCQUM1QixpQkFBaUI7O0lBZnpCO1FBQVIsS0FBSyxFQUFFO2tDQUFVLGlCQUFpQjtvREFBQztJQUMzQjtRQUFSLEtBQUssRUFBRTs7b0RBQW1CO0lBQ2xCO1FBQVIsS0FBSyxFQUFFOzswREFBd0I7SUFDdkI7UUFBUixLQUFLLEVBQUU7a0NBQVksbUJBQW1CO3NEQUFDO0lBRThCO1FBQXJFLFNBQVMsQ0FBQyxlQUFlLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDOzswREFBZTtJQU56RSxlQUFlO1FBTDNCLFNBQVMsQ0FBQztZQUNULFFBQVEsRUFBRSxnQkFBZ0I7WUFDMUIsZ2dDQUFrQztZQUNsQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtTQUNoRCxDQUFDO3lDQWdCNEIsaUJBQWlCO1lBQzVCLGlCQUFpQjtPQWhCdkIsZUFBZSxDQWlGM0I7SUFBRCxzQkFBQztDQUFBLEFBakZELElBaUZDO1NBakZZLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmLCBPbkRlc3Ryb3ksXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0Q2hlY2tib3hDaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBDb2x1bW4gfSBmcm9tICcuLi8uLi9tb2RlbHMvY29sdW1uLm1vZGVsJztcbmltcG9ydCB7IFNvcnRpbmdDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9zb3J0aW5nLWNvbnRyb2xsZXInO1xuaW1wb3J0IHtcbiAgUmVvcmRlckNvbnRyb2xsZXIsXG4gIFJlb3JkZXJQb3NpdGlvbixcbiAgUmVvcmRlclN0cmF0ZWd5XG59IGZyb20gJy4uLy4uL2NsYXNzZXMvcmVvcmRlci1jb250cm9sbGVyJztcbmltcG9ydCB7IFNlbGVjdGlvbkNvbnRyb2xsZXIsIFNlbGVjdGlvbkNoYW5nZVR5cGUgfSBmcm9tICcuLi8uLi9jbGFzc2VzL3NlbGVjdGlvbi1jb250cm9sbGVyJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdbZnMtbGlzdC1oZWFkXScsXG4gIHRlbXBsYXRlVXJsOiAnaGVhZC5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEZzSGVhZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgc29ydGluZzogU29ydGluZ0NvbnRyb2xsZXI7XG4gIEBJbnB1dCgpIGNvbHVtbnM6IENvbHVtbltdO1xuICBASW5wdXQoKSBoYXNSb3dBY3Rpb25zOiBib29sZWFuO1xuICBASW5wdXQoKSBzZWxlY3Rpb246IFNlbGVjdGlvbkNvbnRyb2xsZXI7XG5cbiAgQFZpZXdDaGlsZCgncm93c0NvbnRhaW5lcicsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiB0cnVlIH0pIHJvd3NDb250YWluZXI7XG5cbiAgcHVibGljIHNlbGVjdGVkQWxsID0gZmFsc2U7XG4gIHB1YmxpYyByZWFkb25seSBSZW9yZGVyUG9zaXRpb24gPSBSZW9yZGVyUG9zaXRpb247XG4gIHB1YmxpYyByZWFkb25seSBSZW9yZGVyU3RyYXRlZ3kgPSBSZW9yZGVyU3RyYXRlZ3k7XG5cbiAgcHJpdmF0ZSBfZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZW9yZGVyQ29udHJvbGxlcjogUmVvcmRlckNvbnRyb2xsZXIsXG4gICAgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5pbml0U29ydGluZygpO1xuICAgIHRoaXMuaW5pdFNlbGVjdGlvbigpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbGVjdCBBbGwgVmlzaWJsZSBSb3dzXG4gICAqIEBwYXJhbSBldmVudFxuICAgKi9cbiAgcHVibGljIHNlbGVjdEFsbChldmVudDogTWF0Q2hlY2tib3hDaGFuZ2UpIHtcbiAgICB0aGlzLnNlbGVjdGlvbi5zZWxlY3RBbGxWaXNpYmxlUm93cyhldmVudC5jaGVja2VkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFjayBCeSBmb3IgaW1wcm92ZSBjaGFuZ2UgZGV0ZWN0aW9uXG4gICAqIEBwYXJhbSBpbmRleFxuICAgKi9cbiAgcHVibGljIHRyYWNrQnlGbihpbmRleCkge1xuICAgIHJldHVybiBpbmRleDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdWJzY3JpYmUgdG8gc29ydGluZyBjaGFuZ2VcbiAgICovXG4gIHByaXZhdGUgaW5pdFNvcnRpbmcoKSB7XG4gICAgdGhpcy5zb3J0aW5nLnNvcnRpbmdDaGFuZ2VkJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdWJzY3JpYmUgdG8gc2VsZWN0aW9uIGNoYW5nZVxuICAgKi9cbiAgcHJpdmF0ZSBpbml0U2VsZWN0aW9uKCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGlvbikge1xuICAgICAgdGhpcy5zZWxlY3Rpb24uc2VsZWN0aW9uQ2hhbmdlJFxuICAgICAgICAucGlwZShcbiAgICAgICAgICBmaWx0ZXIoXG4gICAgICAgICAgICAoe3R5cGV9KSA9PiAoXG4gICAgICAgICAgICAgIHR5cGUgPT09IFNlbGVjdGlvbkNoYW5nZVR5cGUuQWxsVmlzaWJsZVNlbGVjdGlvbkNoYW5nZVxuICAgICAgICAgICAgICB8fCB0eXBlID09PSBTZWxlY3Rpb25DaGFuZ2VUeXBlLlNlbGVjdGVkQWxsXG4gICAgICAgICAgICAgIHx8IHR5cGUgPT09IFNlbGVjdGlvbkNoYW5nZVR5cGUuUm93U2VsZWN0aW9uQ2hhbmdlXG4gICAgICAgICAgICApXG4gICAgICAgICAgKSxcbiAgICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKHt0eXBlLCBwYXlsb2FkOiBzdGF0dXN9KSA9PiB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZEFsbCA9IHN0YXR1cztcblxuICAgICAgICAgIHRoaXMuY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl19