@progress-chef/platform-shared-components 0.0.1

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 (197) hide show
  1. package/README.md +30 -0
  2. package/assets/IconFont.css +68 -0
  3. package/assets/IconFont.scss +68 -0
  4. package/assets/IconFont.ttf +0 -0
  5. package/assets/IconFont.woff +0 -0
  6. package/assets/IconFont.woff2 +0 -0
  7. package/esm2022/lib/atoms/alert/alert.component.mjs +37 -0
  8. package/esm2022/lib/atoms/alert/alert.module.mjs +20 -0
  9. package/esm2022/lib/atoms/angular-popup/angular-popup.component.mjs +35 -0
  10. package/esm2022/lib/atoms/angular-popup/angular-popup.module.mjs +36 -0
  11. package/esm2022/lib/atoms/atoms.module.mjs +234 -0
  12. package/esm2022/lib/atoms/avatar/avatar.component.mjs +62 -0
  13. package/esm2022/lib/atoms/avatar/avatar.module.mjs +20 -0
  14. package/esm2022/lib/atoms/breadcrumb/breadcrumb.component.mjs +59 -0
  15. package/esm2022/lib/atoms/breadcrumb/breadcrumb.module.mjs +36 -0
  16. package/esm2022/lib/atoms/button/button.component.mjs +72 -0
  17. package/esm2022/lib/atoms/button/button.module.mjs +21 -0
  18. package/esm2022/lib/atoms/button-group/button-group.component.mjs +52 -0
  19. package/esm2022/lib/atoms/button-group/button-group.module.mjs +21 -0
  20. package/esm2022/lib/atoms/checkbox/checkbox.component.mjs +45 -0
  21. package/esm2022/lib/atoms/checkbox/checkbox.module.mjs +32 -0
  22. package/esm2022/lib/atoms/clipboard/clipboard.component.mjs +104 -0
  23. package/esm2022/lib/atoms/clipboard/clipboard.module.mjs +32 -0
  24. package/esm2022/lib/atoms/container/container.component.mjs +29 -0
  25. package/esm2022/lib/atoms/container/container.module.mjs +22 -0
  26. package/esm2022/lib/atoms/dropdown/dropdown.component.mjs +102 -0
  27. package/esm2022/lib/atoms/dropdown/dropdown.module.mjs +39 -0
  28. package/esm2022/lib/atoms/dropdowntree/dropdowntree.component.mjs +103 -0
  29. package/esm2022/lib/atoms/dropdowntree/dropdowntree.module.mjs +43 -0
  30. package/esm2022/lib/atoms/expansion-panel/expansion-panel.component.mjs +38 -0
  31. package/esm2022/lib/atoms/expansion-panel/expansion-panel.module.mjs +56 -0
  32. package/esm2022/lib/atoms/icon/icon.component.mjs +24 -0
  33. package/esm2022/lib/atoms/icon/icon.module.mjs +17 -0
  34. package/esm2022/lib/atoms/label/label.component.mjs +26 -0
  35. package/esm2022/lib/atoms/label/label.module.mjs +20 -0
  36. package/esm2022/lib/atoms/loading-spinner/loading-spinner.component.mjs +26 -0
  37. package/esm2022/lib/atoms/loading-spinner/loading-spinner.module.mjs +18 -0
  38. package/esm2022/lib/atoms/multi-select-dropdown/multi-select-dropdown.component.mjs +101 -0
  39. package/esm2022/lib/atoms/multi-select-dropdown/multi-select-dropdown.module.mjs +39 -0
  40. package/esm2022/lib/atoms/notification/notification.component.mjs +69 -0
  41. package/esm2022/lib/atoms/notification/notification.module.mjs +20 -0
  42. package/esm2022/lib/atoms/numeric-textbox/numeric-textbox.component.mjs +80 -0
  43. package/esm2022/lib/atoms/numeric-textbox/numeric-textbox.module.mjs +35 -0
  44. package/esm2022/lib/atoms/progress-bar/progress-bar.component.mjs +20 -0
  45. package/esm2022/lib/atoms/progress-bar/progress-bar.module.mjs +24 -0
  46. package/esm2022/lib/atoms/radio-button/radio-button.component.mjs +51 -0
  47. package/esm2022/lib/atoms/radio-button/radio-button.module.mjs +39 -0
  48. package/esm2022/lib/atoms/report-summary/report-summary.component.mjs +47 -0
  49. package/esm2022/lib/atoms/report-summary/report-summary.module.mjs +24 -0
  50. package/esm2022/lib/atoms/search-box/search-box.component.mjs +108 -0
  51. package/esm2022/lib/atoms/search-box/search-box.module.mjs +36 -0
  52. package/esm2022/lib/atoms/slider/slider.component.mjs +58 -0
  53. package/esm2022/lib/atoms/slider/slider.module.mjs +28 -0
  54. package/esm2022/lib/atoms/text-area/text-area.component.mjs +43 -0
  55. package/esm2022/lib/atoms/text-area/text-area.module.mjs +28 -0
  56. package/esm2022/lib/atoms/textbox/textbox.component.mjs +102 -0
  57. package/esm2022/lib/atoms/textbox/textbox.module.mjs +21 -0
  58. package/esm2022/lib/atoms/timescheduler/timescheduler.component.mjs +62 -0
  59. package/esm2022/lib/atoms/timescheduler/timescheduler.module.mjs +31 -0
  60. package/esm2022/lib/atoms/toast-notification/toast-notification.module.mjs +19 -0
  61. package/esm2022/lib/atoms/toast-notification/toast-notification.service.mjs +45 -0
  62. package/esm2022/lib/atoms/tooltip/tooltip.component.mjs +35 -0
  63. package/esm2022/lib/atoms/tooltip/tooltip.module.mjs +20 -0
  64. package/esm2022/lib/atoms/typography/TypographyType.mjs +2 -0
  65. package/esm2022/lib/atoms/typography/typography.component.mjs +97 -0
  66. package/esm2022/lib/atoms/typography/typography.module.mjs +24 -0
  67. package/esm2022/lib/molecules/card/card-actions/card-actions.component.mjs +21 -0
  68. package/esm2022/lib/molecules/card/card-body/card-body.component.mjs +14 -0
  69. package/esm2022/lib/molecules/card/card-footer/card-footer.component.mjs +14 -0
  70. package/esm2022/lib/molecules/card/card-header/card-header.component.mjs +32 -0
  71. package/esm2022/lib/molecules/card/card.component.mjs +21 -0
  72. package/esm2022/lib/molecules/card/card.module.mjs +44 -0
  73. package/esm2022/lib/molecules/dialog/dialog-actions/dialog-actions.component.mjs +18 -0
  74. package/esm2022/lib/molecules/dialog/dialog-titlebar/dialog-titlebar.component.mjs +41 -0
  75. package/esm2022/lib/molecules/dialog/dialog.component.mjs +52 -0
  76. package/esm2022/lib/molecules/dialog/dialog.module.mjs +40 -0
  77. package/esm2022/lib/molecules/grid/grid-form/grid-form.component.mjs +112 -0
  78. package/esm2022/lib/molecules/grid/grid-spacer/grid-spacer.component.mjs +15 -0
  79. package/esm2022/lib/molecules/grid/grid.component.mjs +278 -0
  80. package/esm2022/lib/molecules/grid/grid.module.mjs +61 -0
  81. package/esm2022/lib/molecules/grid-layout/grid-layout-item/grid-layout-item.component.mjs +39 -0
  82. package/esm2022/lib/molecules/grid-layout/grid-layout.component.mjs +34 -0
  83. package/esm2022/lib/molecules/grid-layout/grid-layout.module.mjs +33 -0
  84. package/esm2022/lib/molecules/grid-pagination/grid-pagination-spacer/grid-pagination-spacer.component.mjs +15 -0
  85. package/esm2022/lib/molecules/grid-pagination/grid-pagination.component.mjs +380 -0
  86. package/esm2022/lib/molecules/grid-pagination/grid-pagination.module.mjs +69 -0
  87. package/esm2022/lib/molecules/grid-pagination/kebab-menu-filter.pipe.mjs +22 -0
  88. package/esm2022/lib/molecules/molecules.module.mjs +74 -0
  89. package/esm2022/lib/molecules/sidebar/layout/layout.model.mjs +2 -0
  90. package/esm2022/lib/molecules/sidebar/sidebar.component.mjs +43 -0
  91. package/esm2022/lib/molecules/sidebar/sidebar.module.mjs +32 -0
  92. package/esm2022/lib/molecules/tabstrip/tabstrip-tab/tabstrip-tab.component.mjs +25 -0
  93. package/esm2022/lib/molecules/tabstrip/tabstrip.component.mjs +37 -0
  94. package/esm2022/lib/molecules/tabstrip/tabstrip.module.mjs +33 -0
  95. package/esm2022/lib/shared.component.mjs +16 -0
  96. package/esm2022/lib/shared.module.mjs +40 -0
  97. package/esm2022/lib/shared.service.mjs +14 -0
  98. package/esm2022/lib/style-tokens/style-tokens.module.mjs +18 -0
  99. package/esm2022/progress-chef-platform-shared-components.mjs +5 -0
  100. package/esm2022/public-api.mjs +98 -0
  101. package/fesm2022/progress-chef-platform-shared-components.mjs +3970 -0
  102. package/fesm2022/progress-chef-platform-shared-components.mjs.map +1 -0
  103. package/index.d.ts +5 -0
  104. package/lib/atoms/alert/alert.component.d.ts +19 -0
  105. package/lib/atoms/alert/alert.module.d.ts +8 -0
  106. package/lib/atoms/angular-popup/angular-popup.component.d.ts +16 -0
  107. package/lib/atoms/angular-popup/angular-popup.module.d.ts +11 -0
  108. package/lib/atoms/atoms.module.d.ts +38 -0
  109. package/lib/atoms/avatar/avatar.component.d.ts +21 -0
  110. package/lib/atoms/avatar/avatar.module.d.ts +10 -0
  111. package/lib/atoms/breadcrumb/breadcrumb.component.d.ts +18 -0
  112. package/lib/atoms/breadcrumb/breadcrumb.module.d.ts +12 -0
  113. package/lib/atoms/button/button.component.d.ts +26 -0
  114. package/lib/atoms/button/button.module.d.ts +11 -0
  115. package/lib/atoms/button-group/button-group.component.d.ts +21 -0
  116. package/lib/atoms/button-group/button-group.module.d.ts +11 -0
  117. package/lib/atoms/checkbox/checkbox.component.d.ts +20 -0
  118. package/lib/atoms/checkbox/checkbox.module.d.ts +11 -0
  119. package/lib/atoms/clipboard/clipboard.component.d.ts +33 -0
  120. package/lib/atoms/clipboard/clipboard.module.d.ts +11 -0
  121. package/lib/atoms/container/container.component.d.ts +12 -0
  122. package/lib/atoms/container/container.module.d.ts +8 -0
  123. package/lib/atoms/dropdown/dropdown.component.d.ts +38 -0
  124. package/lib/atoms/dropdown/dropdown.module.d.ts +11 -0
  125. package/lib/atoms/dropdowntree/dropdowntree.component.d.ts +36 -0
  126. package/lib/atoms/dropdowntree/dropdowntree.module.d.ts +12 -0
  127. package/lib/atoms/expansion-panel/expansion-panel.component.d.ts +16 -0
  128. package/lib/atoms/expansion-panel/expansion-panel.module.d.ts +17 -0
  129. package/lib/atoms/icon/icon.component.d.ts +13 -0
  130. package/lib/atoms/icon/icon.module.d.ts +7 -0
  131. package/lib/atoms/label/label.component.d.ts +14 -0
  132. package/lib/atoms/label/label.module.d.ts +10 -0
  133. package/lib/atoms/loading-spinner/loading-spinner.component.d.ts +13 -0
  134. package/lib/atoms/loading-spinner/loading-spinner.module.d.ts +8 -0
  135. package/lib/atoms/multi-select-dropdown/multi-select-dropdown.component.d.ts +37 -0
  136. package/lib/atoms/multi-select-dropdown/multi-select-dropdown.module.d.ts +11 -0
  137. package/lib/atoms/notification/notification.component.d.ts +24 -0
  138. package/lib/atoms/notification/notification.module.d.ts +8 -0
  139. package/lib/atoms/numeric-textbox/numeric-textbox.component.d.ts +30 -0
  140. package/lib/atoms/numeric-textbox/numeric-textbox.module.d.ts +10 -0
  141. package/lib/atoms/progress-bar/progress-bar.component.d.ts +11 -0
  142. package/lib/atoms/progress-bar/progress-bar.module.d.ts +8 -0
  143. package/lib/atoms/radio-button/radio-button.component.d.ts +21 -0
  144. package/lib/atoms/radio-button/radio-button.module.d.ts +11 -0
  145. package/lib/atoms/report-summary/report-summary.component.d.ts +23 -0
  146. package/lib/atoms/report-summary/report-summary.module.d.ts +8 -0
  147. package/lib/atoms/search-box/search-box.component.d.ts +37 -0
  148. package/lib/atoms/search-box/search-box.module.d.ts +12 -0
  149. package/lib/atoms/slider/slider.component.d.ts +18 -0
  150. package/lib/atoms/slider/slider.module.d.ts +9 -0
  151. package/lib/atoms/text-area/text-area.component.d.ts +20 -0
  152. package/lib/atoms/text-area/text-area.module.d.ts +10 -0
  153. package/lib/atoms/textbox/textbox.component.d.ts +34 -0
  154. package/lib/atoms/textbox/textbox.module.d.ts +11 -0
  155. package/lib/atoms/timescheduler/timescheduler.component.d.ts +23 -0
  156. package/lib/atoms/timescheduler/timescheduler.module.d.ts +10 -0
  157. package/lib/atoms/toast-notification/toast-notification.module.d.ts +8 -0
  158. package/lib/atoms/toast-notification/toast-notification.service.d.ts +28 -0
  159. package/lib/atoms/tooltip/tooltip.component.d.ts +17 -0
  160. package/lib/atoms/tooltip/tooltip.module.d.ts +8 -0
  161. package/lib/atoms/typography/TypographyType.d.ts +1 -0
  162. package/lib/atoms/typography/typography.component.d.ts +24 -0
  163. package/lib/atoms/typography/typography.module.d.ts +8 -0
  164. package/lib/molecules/card/card-actions/card-actions.component.d.ts +11 -0
  165. package/lib/molecules/card/card-body/card-body.component.d.ts +8 -0
  166. package/lib/molecules/card/card-footer/card-footer.component.d.ts +8 -0
  167. package/lib/molecules/card/card-header/card-header.component.d.ts +14 -0
  168. package/lib/molecules/card/card.component.d.ts +9 -0
  169. package/lib/molecules/card/card.module.d.ts +14 -0
  170. package/lib/molecules/dialog/dialog-actions/dialog-actions.component.d.ts +10 -0
  171. package/lib/molecules/dialog/dialog-titlebar/dialog-titlebar.component.d.ts +17 -0
  172. package/lib/molecules/dialog/dialog.component.d.ts +21 -0
  173. package/lib/molecules/dialog/dialog.module.d.ts +13 -0
  174. package/lib/molecules/grid/grid-form/grid-form.component.d.ts +34 -0
  175. package/lib/molecules/grid/grid-spacer/grid-spacer.component.d.ts +8 -0
  176. package/lib/molecules/grid/grid.component.d.ts +71 -0
  177. package/lib/molecules/grid/grid.module.d.ts +19 -0
  178. package/lib/molecules/grid-layout/grid-layout-item/grid-layout-item.component.d.ts +15 -0
  179. package/lib/molecules/grid-layout/grid-layout.component.d.ts +14 -0
  180. package/lib/molecules/grid-layout/grid-layout.module.d.ts +10 -0
  181. package/lib/molecules/grid-pagination/grid-pagination-spacer/grid-pagination-spacer.component.d.ts +8 -0
  182. package/lib/molecules/grid-pagination/grid-pagination.component.d.ts +90 -0
  183. package/lib/molecules/grid-pagination/grid-pagination.module.d.ts +19 -0
  184. package/lib/molecules/grid-pagination/kebab-menu-filter.pipe.d.ts +7 -0
  185. package/lib/molecules/molecules.module.d.ts +15 -0
  186. package/lib/molecules/sidebar/layout/layout.model.d.ts +20 -0
  187. package/lib/molecules/sidebar/sidebar.component.d.ts +14 -0
  188. package/lib/molecules/sidebar/sidebar.module.d.ts +10 -0
  189. package/lib/molecules/tabstrip/tabstrip-tab/tabstrip-tab.component.d.ts +10 -0
  190. package/lib/molecules/tabstrip/tabstrip.component.d.ts +15 -0
  191. package/lib/molecules/tabstrip/tabstrip.module.d.ts +10 -0
  192. package/lib/shared.component.d.ts +10 -0
  193. package/lib/shared.module.d.ts +11 -0
  194. package/lib/shared.service.d.ts +6 -0
  195. package/lib/style-tokens/style-tokens.module.d.ts +7 -0
  196. package/package.json +55 -0
  197. package/public-api.d.ts +91 -0
@@ -0,0 +1,380 @@
1
+ import { Component, ContentChild, EventEmitter, HostListener, Input, Output, ViewChild, } from '@angular/core';
2
+ import { GridComponent, } from '@progress/kendo-angular-grid';
3
+ import { orderBy } from '@progress/kendo-data-query';
4
+ import { chevronDownIcon, chevronUpIcon, moreVerticalIcon } from '@progress/kendo-svg-icons';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/common";
7
+ import * as i2 from "@progress/kendo-angular-buttons";
8
+ import * as i3 from "../../atoms/icon/icon.component";
9
+ import * as i4 from "@progress/kendo-angular-grid";
10
+ import * as i5 from "../../atoms/tooltip/tooltip.component";
11
+ import * as i6 from "../../atoms/typography/typography.component";
12
+ import * as i7 from "./kebab-menu-filter.pipe";
13
+ export class GridPaginationComponent {
14
+ constructor() {
15
+ this.gridView = { data: [], total: 0 };
16
+ this.skip = 0;
17
+ this.columnData = [];
18
+ this.pageSize = 0;
19
+ this.pageable = false;
20
+ this.sortable = false;
21
+ this.groupable = false;
22
+ this.reorderable = false;
23
+ this.resizable = false;
24
+ this.checkBoxWidth = 45;
25
+ this.checkBoxColumnResizable = false;
26
+ this.checkBoxColumnMenu = false;
27
+ this.checkBoxColumnShowSelectedAll = true;
28
+ this.checkBoxRequired = false;
29
+ this.columnMenu = false;
30
+ this.mode = 'multiple';
31
+ this.checkboxOnly = true;
32
+ this.dragColumns = false;
33
+ this.navigable = true;
34
+ this.gridRowSelectByValue = '';
35
+ this.noRecordsContent = 'No Records Available';
36
+ this.selectedRowData = new EventEmitter();
37
+ this.showToolbar = false;
38
+ this.selectableSettings = {};
39
+ this.kebabList = [];
40
+ this.showKebab = false;
41
+ this.rowDetails = new EventEmitter();
42
+ this.kebabItemClick = new EventEmitter();
43
+ this.icon = moreVerticalIcon;
44
+ this.kebabColumnWidth = 60;
45
+ this.data = [];
46
+ this.selectColumn = '';
47
+ this.rowDataOfClickedCell = new EventEmitter();
48
+ this.preSelected = [];
49
+ this.preSelectedRecords = [];
50
+ this.onPageChange = new EventEmitter();
51
+ this.ignoreColumnCellClick = [];
52
+ this.allowColumnClick = false;
53
+ this.sort = [
54
+ {
55
+ field: '',
56
+ dir: undefined,
57
+ },
58
+ ];
59
+ this.hasApiSorting = false;
60
+ this.sortDirection = new EventEmitter();
61
+ this.arrowDownIcon = chevronDownIcon;
62
+ this.arrowUpIcon = chevronUpIcon;
63
+ this.expandRowIndex = [];
64
+ this.customExpandRowColumn = false;
65
+ this.deleteColumnWidth = 42;
66
+ this.expandRowColumnWidth = 42;
67
+ this.deletedRowData = new EventEmitter();
68
+ this.sizes = [];
69
+ this.pageCount = 0;
70
+ this.showDeleteColumn = false;
71
+ this.hideKebabRowIndex = [];
72
+ this.gridBottomSpace = 24;
73
+ this.resizeHeight = 0;
74
+ this.setSelectableSettings();
75
+ }
76
+ ngOnInit() {
77
+ for (let column of this.columnData) {
78
+ column.sortable = column.sortable == undefined ? true : column.sortable;
79
+ }
80
+ if (!this.hasApiSorting) {
81
+ this.loadGridData();
82
+ }
83
+ }
84
+ ngOnChanges(changes) {
85
+ let prevPreSelected = JSON.stringify(changes['preSelected']?.previousValue);
86
+ let currPreSelected = JSON.stringify(changes['preSelected']?.currentValue);
87
+ // Check if there is a change in this.preSelected input
88
+ if (prevPreSelected !== currPreSelected) {
89
+ // Clear the this.preSelectedRecords array
90
+ this.preSelectedRecords = [];
91
+ for (let row = 0; row < changes['preSelected'].currentValue.length; row++) {
92
+ for (let col = 0; col < this.gridView.data.length; col++) {
93
+ // Find the relevant record for a particular id
94
+ if (this.gridView.data[col][this.gridRowSelectByValue] ===
95
+ changes['preSelected'].currentValue[row]) {
96
+ let found = false;
97
+ // Check if this record is present in this.data, if yes don't push it in this.preSelectedRecords else push it
98
+ for (let index = 0; index < this.data.length; index++) {
99
+ if (this.data[index][this.gridRowSelectByValue] ===
100
+ this.gridView.data[col][this.gridRowSelectByValue]) {
101
+ found = true;
102
+ }
103
+ }
104
+ if (!found) {
105
+ this.preSelectedRecords.push(this.gridView.data[col]);
106
+ }
107
+ }
108
+ }
109
+ }
110
+ this.selectedRowData.emit(this.preSelectedRecords.concat(this.data));
111
+ }
112
+ }
113
+ ngAfterContentInit() {
114
+ if (!this.pageable) {
115
+ this.pageSize = this.gridView.data.length;
116
+ }
117
+ }
118
+ ngAfterViewInit() {
119
+ if (this.customExpandRowColumn) {
120
+ this.expandRowIndex.forEach((id) => {
121
+ this.grid.expandRow(id);
122
+ });
123
+ }
124
+ this.initialGridHeight = this.gridElement.nativeElement.offsetHeight + this.gridBottomSpace;
125
+ this.getGridHeight();
126
+ }
127
+ pageChange(event) {
128
+ this.onPageChange.emit(event);
129
+ }
130
+ setSelectableSettings() {
131
+ if (this.checkboxOnly || this.mode === 'single') {
132
+ this.dragColumns = false;
133
+ }
134
+ this.selectableSettings = {
135
+ checkboxOnly: this.checkboxOnly,
136
+ mode: this.mode,
137
+ drag: this.dragColumns,
138
+ };
139
+ }
140
+ // We can extract data out of row number using below function
141
+ /* extract() {
142
+ this.extractDataItems = this.mySelection.map(idx => {
143
+ return this.gridData.find((data: { ProductID: number; }) => data.ProductID === idx);
144
+ });
145
+ console.log(this.extractDataItems)
146
+ this.selectedRowData.emit(this.extractDataItems);
147
+ } */
148
+ onSelectionChange(args) {
149
+ for (let row = 0; row < args.selectedRows.length; row++) {
150
+ var found = false;
151
+ for (let col = 0; col < this.data.length; col++) {
152
+ if (this.data[col][this.gridRowSelectByValue] ===
153
+ args.selectedRows[row].dataItem[this.gridRowSelectByValue]) {
154
+ found = true;
155
+ }
156
+ }
157
+ if (!found) {
158
+ this.data.push(args.selectedRows[row].dataItem);
159
+ }
160
+ }
161
+ if (args.deselectedRows.length !== 0) {
162
+ for (let row = 0; row < args.deselectedRows.length; row++) {
163
+ for (let col = 0; col < this.data.length; col++) {
164
+ if (this.data[col][this.gridRowSelectByValue] ===
165
+ args.deselectedRows[row].dataItem[this.gridRowSelectByValue]) {
166
+ this.data.splice(col, 1);
167
+ }
168
+ }
169
+ for (let col = 0; col < this.preSelectedRecords.length; col++) {
170
+ if (this.preSelectedRecords[col][this.gridRowSelectByValue] ===
171
+ args.deselectedRows[row].dataItem[this.gridRowSelectByValue]) {
172
+ this.preSelectedRecords.splice(col, 1);
173
+ // Remove this element from preselected
174
+ let index = this.preSelected.indexOf(args.deselectedRows[row].dataItem[this.gridRowSelectByValue]);
175
+ if (index !== -1) {
176
+ this.preSelected.splice(index, 1);
177
+ }
178
+ }
179
+ }
180
+ }
181
+ }
182
+ this.selectedRowData.emit(this.preSelectedRecords.concat(this.data));
183
+ }
184
+ onKebabClick(item, rowDetails) {
185
+ this.kebabItemClick.emit({ action: item, rowDetails });
186
+ }
187
+ onDetailExpand(rowData) {
188
+ this.rowDetails.emit(rowData.dataItem);
189
+ }
190
+ cellClickHandler(args) {
191
+ if (this.allowColumnClick) {
192
+ if (this.ignoreColumnCellClick.includes(args.columnIndex)) {
193
+ return;
194
+ }
195
+ this.rowDataOfClickedCell.emit(args.dataItem);
196
+ }
197
+ }
198
+ sortChange(sort) {
199
+ this.sort = sort;
200
+ if (!this.hasApiSorting) {
201
+ this.loadGridData();
202
+ }
203
+ this.sortDirection.emit(this.sort);
204
+ }
205
+ loadGridData() {
206
+ this.gridView = {
207
+ data: orderBy(this.gridView?.data, this.sort),
208
+ total: this.gridView?.total,
209
+ };
210
+ }
211
+ expandRow(id) {
212
+ this.grid.expandRow(id);
213
+ this.expandRowIndex.push(id);
214
+ setTimeout(() => {
215
+ this.getGridHeight();
216
+ }, 0);
217
+ }
218
+ collapseRow(id) {
219
+ this.grid.collapseRow(id);
220
+ this.expandRowIndex.splice(this.expandRowIndex.indexOf(id), 1);
221
+ if (this.expandRowIndex.length == 0) {
222
+ const windowHeight = window.innerHeight;
223
+ const viewport = document.getElementById('lib-grid');
224
+ const gridOffset = viewport.getBoundingClientRect().top + window.scrollY;
225
+ if (windowHeight > (gridOffset + this.initialGridHeight)) {
226
+ this.height = '100%';
227
+ return;
228
+ }
229
+ this.getGridHeight();
230
+ }
231
+ }
232
+ onDelete(rowDetails) {
233
+ this.deletedRowData.emit(rowDetails);
234
+ }
235
+ getHeaderHeight() {
236
+ if (this.gridView?.data?.length === 0) {
237
+ return 'hide-header';
238
+ }
239
+ return 'view-header';
240
+ }
241
+ getGridHeight() {
242
+ const windowHeight = window.innerHeight;
243
+ const viewport = document.getElementById('lib-grid');
244
+ const gridOffset = viewport.getBoundingClientRect().top + window.scrollY;
245
+ const gridHeight = this.gridElement.nativeElement.offsetHeight
246
+ + this.gridBottomSpace; //grid should have 24px space at bottom
247
+ if (gridOffset + gridHeight >= windowHeight) {
248
+ this.height = windowHeight - (gridOffset + this.gridBottomSpace);
249
+ }
250
+ }
251
+ resize(ev) {
252
+ if (ev.target.innerHeight > this.resizeHeight) {
253
+ this.resizeHeight = ev.target.innerHeight;
254
+ this.height = '100%';
255
+ }
256
+ if (this.resizeHeight > window.innerHeight) {
257
+ this.resizeHeight = 0;
258
+ }
259
+ this.getGridHeight();
260
+ }
261
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridPaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
262
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GridPaginationComponent, selector: "lib-grid-pagination", inputs: { gridView: "gridView", skip: "skip", columnData: "columnData", pageSize: "pageSize", pageable: "pageable", sortable: "sortable", groupable: "groupable", reorderable: "reorderable", resizable: "resizable", checkBoxWidth: "checkBoxWidth", checkBoxColumnResizable: "checkBoxColumnResizable", checkBoxColumnMenu: "checkBoxColumnMenu", checkBoxColumnShowSelectedAll: "checkBoxColumnShowSelectedAll", checkBoxRequired: "checkBoxRequired", columnMenu: "columnMenu", mode: "mode", checkboxOnly: "checkboxOnly", dragColumns: "dragColumns", navigable: "navigable", gridRowSelectByValue: "gridRowSelectByValue", noRecordsContent: "noRecordsContent", showToolbar: "showToolbar", kebabList: "kebabList", showKebab: "showKebab", icon: "icon", kebabColumnWidth: "kebabColumnWidth", selectColumn: "selectColumn", preSelected: "preSelected", ignoreColumnCellClick: "ignoreColumnCellClick", allowColumnClick: "allowColumnClick", sort: "sort", hasApiSorting: "hasApiSorting", expandRowIndex: "expandRowIndex", customExpandRowColumn: "customExpandRowColumn", deleteColumnWidth: "deleteColumnWidth", expandRowColumnWidth: "expandRowColumnWidth", sizes: "sizes", pageCount: "pageCount", showDeleteColumn: "showDeleteColumn", hideKebabRowIndex: "hideKebabRowIndex" }, outputs: { selectedRowData: "selectedRowData", rowDetails: "rowDetails", kebabItemClick: "kebabItemClick", rowDataOfClickedCell: "rowDataOfClickedCell", onPageChange: "onPageChange", sortDirection: "sortDirection", deletedRowData: "deletedRowData" }, host: { listeners: { "window:resize": "resize($event)" } }, queries: [{ propertyName: "templateRef", first: true, predicate: ["multiColumnData"], descendants: true }, { propertyName: "detailTemplate", first: true, predicate: ["detailTemplate"], descendants: true }, { propertyName: "impactColumn", first: true, predicate: ["impactColumn"], descendants: true }], viewQueries: [{ propertyName: "grid", first: true, predicate: GridComponent, descendants: true }, { propertyName: "gridElement", first: true, predicate: ["gridElement"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #gridElement (window:resize)=\"resize($event)\" >\n<kendo-grid [data]=\"gridView\" [pageSize]=\"pageSize\" [skip]=\"skip\" [selectable]=\"selectableSettings\"\n [pageable]=\"pageable\" [sortable]=\"sortable\" [groupable]=\"groupable\" [reorderable]=\"reorderable\"\n [resizable]=\"resizable\" [columnMenu]=\"columnMenu\" [navigable]=\"navigable\" [height]=\"height\" [style.height]=\"height\"\n (change)=\"setSelectableSettings()\" (selectionChange)=\"onSelectionChange($event)\"\n [kendoGridSelectBy]=\"gridRowSelectByValue\" (detailExpand)=\"onDetailExpand($event)\" [selectedKeys]=\"preSelected\"\n (pageChange)=\"pageChange($event)\" (cellClick)=\"cellClickHandler($event)\" [sort]=\"sort\"\n (sortChange)=\"sortChange($event)\" [ngClass]=\"getHeaderHeight()\" id=\"lib-grid\">\n\n <ng-template *ngIf=\"showToolbar\" kendoGridToolbarTemplate>\n <ng-content></ng-content>\n </ng-template>\n\n <ng-template *ngIf=\"this.gridView.data.length === 0\" kendoGridNoRecordsTemplate>\n <lib-typography [defaultText]=\"noRecordsContent\" type=\"P_MULISH_16_REGULAR\"></lib-typography>\n </ng-template>\n\n <ng-container *ngIf=\"this.gridView.data.length > 0\">\n <kendo-grid-checkbox-column *ngIf=\"checkBoxRequired === true\" [width]=\"checkBoxWidth\"\n [resizable]=\"checkBoxColumnResizable\" [columnMenu]=\"checkBoxColumnMenu\"\n [showSelectAll]=\"checkBoxColumnShowSelectedAll\" class=\"checkbox-column\">\n </kendo-grid-checkbox-column>\n\n <kendo-grid-column class=\"grid-column\" *ngFor=\"let item of columnData\" [field]=\"item.field\" [title]=\"item.title\"\n [width]=\"item.columnWidth\" [sortable]=\"item.sortable\">\n\n <ng-template *ngIf=\"sortable\" kendoGridHeaderTemplate>\n {{item.title}}\n <span *ngIf=\"sort[0].field === item.field\">\n <span *ngIf=\"sort[0].dir === 'asc'\"></span>\n <span *ngIf=\"sort[0].dir === 'desc'\"></span>\n </span>\n </ng-template>\n\n <ng-template *ngIf=\"item.custom\" kendoGridCellTemplate let-dataItem>\n <ng-container *ngTemplateOutlet=\"templateRef; context: {$implicit: dataItem}\"></ng-container>\n </ng-template>\n <ng-template *ngIf=\"item.impact\" kendoGridCellTemplate let-dataItem>\n <ng-container *ngTemplateOutlet=\"impactColumn; context: {$implicit: dataItem}\"></ng-container>\n </ng-template>\n </kendo-grid-column>\n\n <kendo-grid-column *ngIf=\"showDeleteColumn\" [width]=\"deleteColumnWidth\" class=\"delete-column\" title=\"Action\">\n <ng-template kendoGridCellTemplate let-dataItem let-rowIndex=\"rowIndex\">\n <lib-tooltip showOn=\"hover\" position=\"bottom\" class=\"remove-tooltip\">\n <lib-icon name=\"delete\" class=\"delete-icon\" (click)=\"onDelete(dataItem)\"></lib-icon>\n <div class=\"tooltip-content\">\n <lib-typography defaultText=\"Remove\"></lib-typography>\n </div>\n </lib-tooltip>\n </ng-template>\n </kendo-grid-column>\n\n <kendo-grid-column [width]=\"kebabColumnWidth\" class=\"kebab-column\" *ngIf=\"showKebab\" title=\"Actions\">\n <ng-template kendoGridCellTemplate let-dataItem let-rowIndex=\"rowIndex\">\n <kendo-dropdownbutton *ngIf=\"!hideKebabRowIndex.includes(rowIndex)\" [svgIcon]=\"icon\" fillMode=\"none\" [data]=\"kebabList | kebabMenuFilter : dataItem\" class=\"kebab\"\n (itemClick)=\"onKebabClick($event, dataItem)\" [popupSettings]=\"{ align: 'right', animate: true, popupClass: 'kebab-list' }\">\n </kendo-dropdownbutton>\n </ng-template>\n </kendo-grid-column>\n </ng-container>\n\n <ng-template kendoGridDetailTemplate let-dataItem>\n <ng-container *ngTemplateOutlet=\"detailTemplate; context: {$implicit: dataItem}\"></ng-container>\n </ng-template>\n\n <kendo-grid-column *ngIf=\"customExpandRowColumn\" [width]=\"expandRowColumnWidth\" class=\"grid-column expand-column\">\n <ng-template kendoGridCellTemplate let-dataItem let-rowIndex=\"rowIndex\">\n <kendo-button *ngIf=\"!expandRowIndex.includes(rowIndex)\" [svgIcon]=\"arrowDownIcon\" (click)=\"expandRow(rowIndex)\"\n fillMode=\"none\" class=\"arrow-btn\">\n </kendo-button>\n <kendo-button *ngIf=\"expandRowIndex.includes(rowIndex)\" [svgIcon]=\"arrowUpIcon\" (click)=\"collapseRow(rowIndex)\"\n fillMode=\"none\" class=\"arrow-btn\">\n </kendo-button>\n </ng-template>\n </kendo-grid-column>\n\n <ng-template kendoPagerTemplate let-totalPages=\"totalPages\" let-currentPage=\"currentPage\">\n <kendo-pager-prev-buttons></kendo-pager-prev-buttons>\n <kendo-pager-numeric-buttons [buttonCount]=\"pageCount\"></kendo-pager-numeric-buttons>\n <kendo-pager-next-buttons></kendo-pager-next-buttons>\n <kendo-pager-info></kendo-pager-info>\n <kendo-pager-page-sizes [pageSizes]=\"sizes\"></kendo-pager-page-sizes>\n </ng-template>\n\n</kendo-grid>\n</div>\n", styles: ["@font-face{font-family:Mulish;src:url(/assets/fonts/Mulish-Light.ttf);font-weight:300;font-style:normal}@font-face{font-family:Mulish;src:url(../assets/fonts/Mulish-LightItalic.ttf);font-weight:300;font-style:italic}@font-face{font-family:Mulish;src:url(../assets/fonts/Mulish-Regular.ttf);font-weight:400;font-style:normal}@font-face{font-family:Mulish;src:url(../assets/fonts/Mulish-Italic.ttf);font-weight:400;font-style:italic}@font-face{font-family:Mulish;src:url(../assets/fonts/Mulish-Bold.ttf);font-weight:700;font-style:normal}::ng-deep .k-grid th{font-family:Mulish,sans-serif;font-weight:700;font-style:normal;font-size:16px;line-height:24px;letter-spacing:.2px}::ng-deep .k-grid tr{font-family:Mulish,sans-serif;font-weight:400;font-style:normal;font-size:14px;line-height:21px;letter-spacing:.8px;height:50px}::ng-deep .k-grid tr:hover{font-family:Mulish,sans-serif;font-weight:700;font-style:normal;font-size:14px;line-height:21px;letter-spacing:.8px}::ng-deep .k-grid-norecords{text-align:center!important;opacity:.4}::ng-deep .k-grid-norecords td{padding:14px 0 14px 24px!important}::ng-deep kendo-pager.k-pager-wrap.k-grid-pager{font-family:Mulish,sans-serif;font-weight:400;font-style:normal;font-size:14px;line-height:21px;letter-spacing:.2px}::ng-deep .k-grid th.k-header{vertical-align:middle!important;padding-left:16px;padding-right:0}::ng-deep .grid-column,::ng-deep .kebab-column,::ng-deep .delete-column{padding:0!important}::ng-deep .grid-column kendo-button,::ng-deep .kebab-column kendo-button,::ng-deep .delete-column kendo-button{align-items:center!important;justify-content:center!important;display:flex!important}::ng-deep .k-checkbox{width:20px!important;height:20px!important;border-radius:0!important}::ng-deep .k-grid .k-hierarchy-cell,::ng-deep .k-grid .k-hierarchy-col{width:0;display:none}::ng-deep .k-grid .k-detail-row .k-detail-cell{padding:16px!important}::ng-deep .delete-icon{color:#dc267f!important;padding-left:12px;cursor:pointer}::ng-deep .remove-tooltip kendo-tooltip.k-tooltip{background-color:#fff;color:#000}::ng-deep .hide-header .k-grid-header{border:0px!important}::ng-deep .k-grid-toolbar{padding:4px 16px!important;height:50px}::ng-deep .k-grid td:not(.kebab-column):not(.expand-column){padding-left:16px!important}::ng-deep .view-header .k-table-thead tr{height:50px}::ng-deep .hide-header .k-table-thead tr{height:0px}::ng-deep td.kebab-column{display:flex;justify-content:center;align-items:center;height:inherit}::ng-deep .k-grid .k-table-td>.k-checkbox{vertical-align:middle!important}::ng-deep .kebab .k-button,::ng-deep .expand-column .k-button{border:0px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.ButtonComponent, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "component", type: i2.DropDownButtonComponent, selector: "kendo-dropdownbutton", inputs: ["arrowIcon", "icon", "svgIcon", "iconClass", "imageUrl", "textField", "data", "size", "rounded", "fillMode", "themeColor", "buttonAttributes"], outputs: ["itemClick", "focus", "blur"], exportAs: ["kendoDropDownButton"] }, { kind: "component", type: i3.IconComponent, selector: "lib-icon", inputs: ["name", "fontSize", "type"] }, { kind: "component", type: i4.GridComponent, selector: "kendo-grid", inputs: ["data", "pageSize", "height", "rowHeight", "detailRowHeight", "skip", "scrollable", "selectable", "sort", "size", "trackBy", "filter", "group", "virtualColumns", "filterable", "sortable", "pageable", "groupable", "rowReorderable", "navigable", "navigatable", "autoSize", "rowClass", "rowSticky", "rowSelected", "cellSelected", "resizable", "reorderable", "loading", "columnMenu", "hideHeader", "isDetailExpanded", "isGroupExpanded"], outputs: ["filterChange", "pageChange", "groupChange", "sortChange", "selectionChange", "rowReorder", "dataStateChange", "groupExpand", "groupCollapse", "detailExpand", "detailCollapse", "edit", "cancel", "save", "remove", "add", "cellClose", "cellClick", "pdfExport", "excelExport", "columnResize", "columnReorder", "columnVisibilityChange", "columnLockedChange", "columnStickyChange", "scrollBottom", "contentScroll"], exportAs: ["kendoGrid"] }, { kind: "directive", type: i4.ToolbarTemplateDirective, selector: "[kendoGridToolbarTemplate]", inputs: ["position"] }, { kind: "directive", type: i4.SelectionDirective, selector: "[kendoGridSelectBy]" }, { kind: "component", type: i4.ColumnComponent, selector: "kendo-grid-column", inputs: ["field", "format", "sortable", "groupable", "editor", "filter", "filterable", "editable"] }, { kind: "directive", type: i4.DetailTemplateDirective, selector: "[kendoGridDetailTemplate]", inputs: ["kendoGridDetailTemplateShowIf"] }, { kind: "component", type: i4.CheckboxColumnComponent, selector: "kendo-grid-checkbox-column", inputs: ["showSelectAll"] }, { kind: "directive", type: i4.CellTemplateDirective, selector: "[kendoGridCellTemplate]" }, { kind: "directive", type: i4.NoRecordsTemplateDirective, selector: "[kendoGridNoRecordsTemplate]" }, { kind: "directive", type: i4.HeaderTemplateDirective, selector: "[kendoGridHeaderTemplate]" }, { kind: "component", type: i4.PagerPrevButtonsComponent, selector: "kendo-pager-prev-buttons" }, { kind: "component", type: i4.PagerNextButtonsComponent, selector: "kendo-pager-next-buttons" }, { kind: "component", type: i4.PagerNumericButtonsComponent, selector: "kendo-pager-numeric-buttons", inputs: ["buttonCount"] }, { kind: "component", type: i4.PagerInfoComponent, selector: "kendo-pager-info" }, { kind: "component", type: i4.PagerPageSizesComponent, selector: "kendo-pager-page-sizes", inputs: ["pageSizes"] }, { kind: "directive", type: i4.PagerTemplateDirective, selector: "[kendoPagerTemplate]" }, { kind: "component", type: i5.TooltipComponent, selector: "lib-tooltip", inputs: ["position", "tooltipWidth", "tooltipHeight", "showOn", "closable", "title", "callout"] }, { kind: "component", type: i6.TypographyComponent, selector: "lib-typography", inputs: ["type", "defaultText", "isLabel", "hiddenLabel"] }, { kind: "pipe", type: i7.KebabMenuFilterPipe, name: "kebabMenuFilter" }] }); }
263
+ }
264
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridPaginationComponent, decorators: [{
265
+ type: Component,
266
+ args: [{ selector: 'lib-grid-pagination', template: "<div #gridElement (window:resize)=\"resize($event)\" >\n<kendo-grid [data]=\"gridView\" [pageSize]=\"pageSize\" [skip]=\"skip\" [selectable]=\"selectableSettings\"\n [pageable]=\"pageable\" [sortable]=\"sortable\" [groupable]=\"groupable\" [reorderable]=\"reorderable\"\n [resizable]=\"resizable\" [columnMenu]=\"columnMenu\" [navigable]=\"navigable\" [height]=\"height\" [style.height]=\"height\"\n (change)=\"setSelectableSettings()\" (selectionChange)=\"onSelectionChange($event)\"\n [kendoGridSelectBy]=\"gridRowSelectByValue\" (detailExpand)=\"onDetailExpand($event)\" [selectedKeys]=\"preSelected\"\n (pageChange)=\"pageChange($event)\" (cellClick)=\"cellClickHandler($event)\" [sort]=\"sort\"\n (sortChange)=\"sortChange($event)\" [ngClass]=\"getHeaderHeight()\" id=\"lib-grid\">\n\n <ng-template *ngIf=\"showToolbar\" kendoGridToolbarTemplate>\n <ng-content></ng-content>\n </ng-template>\n\n <ng-template *ngIf=\"this.gridView.data.length === 0\" kendoGridNoRecordsTemplate>\n <lib-typography [defaultText]=\"noRecordsContent\" type=\"P_MULISH_16_REGULAR\"></lib-typography>\n </ng-template>\n\n <ng-container *ngIf=\"this.gridView.data.length > 0\">\n <kendo-grid-checkbox-column *ngIf=\"checkBoxRequired === true\" [width]=\"checkBoxWidth\"\n [resizable]=\"checkBoxColumnResizable\" [columnMenu]=\"checkBoxColumnMenu\"\n [showSelectAll]=\"checkBoxColumnShowSelectedAll\" class=\"checkbox-column\">\n </kendo-grid-checkbox-column>\n\n <kendo-grid-column class=\"grid-column\" *ngFor=\"let item of columnData\" [field]=\"item.field\" [title]=\"item.title\"\n [width]=\"item.columnWidth\" [sortable]=\"item.sortable\">\n\n <ng-template *ngIf=\"sortable\" kendoGridHeaderTemplate>\n {{item.title}}\n <span *ngIf=\"sort[0].field === item.field\">\n <span *ngIf=\"sort[0].dir === 'asc'\"></span>\n <span *ngIf=\"sort[0].dir === 'desc'\"></span>\n </span>\n </ng-template>\n\n <ng-template *ngIf=\"item.custom\" kendoGridCellTemplate let-dataItem>\n <ng-container *ngTemplateOutlet=\"templateRef; context: {$implicit: dataItem}\"></ng-container>\n </ng-template>\n <ng-template *ngIf=\"item.impact\" kendoGridCellTemplate let-dataItem>\n <ng-container *ngTemplateOutlet=\"impactColumn; context: {$implicit: dataItem}\"></ng-container>\n </ng-template>\n </kendo-grid-column>\n\n <kendo-grid-column *ngIf=\"showDeleteColumn\" [width]=\"deleteColumnWidth\" class=\"delete-column\" title=\"Action\">\n <ng-template kendoGridCellTemplate let-dataItem let-rowIndex=\"rowIndex\">\n <lib-tooltip showOn=\"hover\" position=\"bottom\" class=\"remove-tooltip\">\n <lib-icon name=\"delete\" class=\"delete-icon\" (click)=\"onDelete(dataItem)\"></lib-icon>\n <div class=\"tooltip-content\">\n <lib-typography defaultText=\"Remove\"></lib-typography>\n </div>\n </lib-tooltip>\n </ng-template>\n </kendo-grid-column>\n\n <kendo-grid-column [width]=\"kebabColumnWidth\" class=\"kebab-column\" *ngIf=\"showKebab\" title=\"Actions\">\n <ng-template kendoGridCellTemplate let-dataItem let-rowIndex=\"rowIndex\">\n <kendo-dropdownbutton *ngIf=\"!hideKebabRowIndex.includes(rowIndex)\" [svgIcon]=\"icon\" fillMode=\"none\" [data]=\"kebabList | kebabMenuFilter : dataItem\" class=\"kebab\"\n (itemClick)=\"onKebabClick($event, dataItem)\" [popupSettings]=\"{ align: 'right', animate: true, popupClass: 'kebab-list' }\">\n </kendo-dropdownbutton>\n </ng-template>\n </kendo-grid-column>\n </ng-container>\n\n <ng-template kendoGridDetailTemplate let-dataItem>\n <ng-container *ngTemplateOutlet=\"detailTemplate; context: {$implicit: dataItem}\"></ng-container>\n </ng-template>\n\n <kendo-grid-column *ngIf=\"customExpandRowColumn\" [width]=\"expandRowColumnWidth\" class=\"grid-column expand-column\">\n <ng-template kendoGridCellTemplate let-dataItem let-rowIndex=\"rowIndex\">\n <kendo-button *ngIf=\"!expandRowIndex.includes(rowIndex)\" [svgIcon]=\"arrowDownIcon\" (click)=\"expandRow(rowIndex)\"\n fillMode=\"none\" class=\"arrow-btn\">\n </kendo-button>\n <kendo-button *ngIf=\"expandRowIndex.includes(rowIndex)\" [svgIcon]=\"arrowUpIcon\" (click)=\"collapseRow(rowIndex)\"\n fillMode=\"none\" class=\"arrow-btn\">\n </kendo-button>\n </ng-template>\n </kendo-grid-column>\n\n <ng-template kendoPagerTemplate let-totalPages=\"totalPages\" let-currentPage=\"currentPage\">\n <kendo-pager-prev-buttons></kendo-pager-prev-buttons>\n <kendo-pager-numeric-buttons [buttonCount]=\"pageCount\"></kendo-pager-numeric-buttons>\n <kendo-pager-next-buttons></kendo-pager-next-buttons>\n <kendo-pager-info></kendo-pager-info>\n <kendo-pager-page-sizes [pageSizes]=\"sizes\"></kendo-pager-page-sizes>\n </ng-template>\n\n</kendo-grid>\n</div>\n", styles: ["@font-face{font-family:Mulish;src:url(/assets/fonts/Mulish-Light.ttf);font-weight:300;font-style:normal}@font-face{font-family:Mulish;src:url(../assets/fonts/Mulish-LightItalic.ttf);font-weight:300;font-style:italic}@font-face{font-family:Mulish;src:url(../assets/fonts/Mulish-Regular.ttf);font-weight:400;font-style:normal}@font-face{font-family:Mulish;src:url(../assets/fonts/Mulish-Italic.ttf);font-weight:400;font-style:italic}@font-face{font-family:Mulish;src:url(../assets/fonts/Mulish-Bold.ttf);font-weight:700;font-style:normal}::ng-deep .k-grid th{font-family:Mulish,sans-serif;font-weight:700;font-style:normal;font-size:16px;line-height:24px;letter-spacing:.2px}::ng-deep .k-grid tr{font-family:Mulish,sans-serif;font-weight:400;font-style:normal;font-size:14px;line-height:21px;letter-spacing:.8px;height:50px}::ng-deep .k-grid tr:hover{font-family:Mulish,sans-serif;font-weight:700;font-style:normal;font-size:14px;line-height:21px;letter-spacing:.8px}::ng-deep .k-grid-norecords{text-align:center!important;opacity:.4}::ng-deep .k-grid-norecords td{padding:14px 0 14px 24px!important}::ng-deep kendo-pager.k-pager-wrap.k-grid-pager{font-family:Mulish,sans-serif;font-weight:400;font-style:normal;font-size:14px;line-height:21px;letter-spacing:.2px}::ng-deep .k-grid th.k-header{vertical-align:middle!important;padding-left:16px;padding-right:0}::ng-deep .grid-column,::ng-deep .kebab-column,::ng-deep .delete-column{padding:0!important}::ng-deep .grid-column kendo-button,::ng-deep .kebab-column kendo-button,::ng-deep .delete-column kendo-button{align-items:center!important;justify-content:center!important;display:flex!important}::ng-deep .k-checkbox{width:20px!important;height:20px!important;border-radius:0!important}::ng-deep .k-grid .k-hierarchy-cell,::ng-deep .k-grid .k-hierarchy-col{width:0;display:none}::ng-deep .k-grid .k-detail-row .k-detail-cell{padding:16px!important}::ng-deep .delete-icon{color:#dc267f!important;padding-left:12px;cursor:pointer}::ng-deep .remove-tooltip kendo-tooltip.k-tooltip{background-color:#fff;color:#000}::ng-deep .hide-header .k-grid-header{border:0px!important}::ng-deep .k-grid-toolbar{padding:4px 16px!important;height:50px}::ng-deep .k-grid td:not(.kebab-column):not(.expand-column){padding-left:16px!important}::ng-deep .view-header .k-table-thead tr{height:50px}::ng-deep .hide-header .k-table-thead tr{height:0px}::ng-deep td.kebab-column{display:flex;justify-content:center;align-items:center;height:inherit}::ng-deep .k-grid .k-table-td>.k-checkbox{vertical-align:middle!important}::ng-deep .kebab .k-button,::ng-deep .expand-column .k-button{border:0px}\n"] }]
267
+ }], ctorParameters: function () { return []; }, propDecorators: { templateRef: [{
268
+ type: ContentChild,
269
+ args: ['multiColumnData']
270
+ }], detailTemplate: [{
271
+ type: ContentChild,
272
+ args: ['detailTemplate']
273
+ }], impactColumn: [{
274
+ type: ContentChild,
275
+ args: ['impactColumn']
276
+ }], grid: [{
277
+ type: ViewChild,
278
+ args: [GridComponent]
279
+ }], gridElement: [{
280
+ type: ViewChild,
281
+ args: ['gridElement']
282
+ }], gridView: [{
283
+ type: Input
284
+ }], skip: [{
285
+ type: Input
286
+ }], columnData: [{
287
+ type: Input
288
+ }], pageSize: [{
289
+ type: Input
290
+ }], pageable: [{
291
+ type: Input
292
+ }], sortable: [{
293
+ type: Input
294
+ }], groupable: [{
295
+ type: Input
296
+ }], reorderable: [{
297
+ type: Input
298
+ }], resizable: [{
299
+ type: Input
300
+ }], checkBoxWidth: [{
301
+ type: Input
302
+ }], checkBoxColumnResizable: [{
303
+ type: Input
304
+ }], checkBoxColumnMenu: [{
305
+ type: Input
306
+ }], checkBoxColumnShowSelectedAll: [{
307
+ type: Input
308
+ }], checkBoxRequired: [{
309
+ type: Input
310
+ }], columnMenu: [{
311
+ type: Input
312
+ }], mode: [{
313
+ type: Input
314
+ }], checkboxOnly: [{
315
+ type: Input
316
+ }], dragColumns: [{
317
+ type: Input
318
+ }], navigable: [{
319
+ type: Input
320
+ }], gridRowSelectByValue: [{
321
+ type: Input
322
+ }], noRecordsContent: [{
323
+ type: Input
324
+ }], selectedRowData: [{
325
+ type: Output
326
+ }], showToolbar: [{
327
+ type: Input
328
+ }], kebabList: [{
329
+ type: Input
330
+ }], showKebab: [{
331
+ type: Input
332
+ }], rowDetails: [{
333
+ type: Output
334
+ }], kebabItemClick: [{
335
+ type: Output
336
+ }], icon: [{
337
+ type: Input
338
+ }], kebabColumnWidth: [{
339
+ type: Input
340
+ }], selectColumn: [{
341
+ type: Input
342
+ }], rowDataOfClickedCell: [{
343
+ type: Output
344
+ }], preSelected: [{
345
+ type: Input
346
+ }], onPageChange: [{
347
+ type: Output
348
+ }], ignoreColumnCellClick: [{
349
+ type: Input
350
+ }], allowColumnClick: [{
351
+ type: Input
352
+ }], sort: [{
353
+ type: Input
354
+ }], hasApiSorting: [{
355
+ type: Input
356
+ }], sortDirection: [{
357
+ type: Output
358
+ }], expandRowIndex: [{
359
+ type: Input
360
+ }], customExpandRowColumn: [{
361
+ type: Input
362
+ }], deleteColumnWidth: [{
363
+ type: Input
364
+ }], expandRowColumnWidth: [{
365
+ type: Input
366
+ }], deletedRowData: [{
367
+ type: Output
368
+ }], sizes: [{
369
+ type: Input
370
+ }], pageCount: [{
371
+ type: Input
372
+ }], showDeleteColumn: [{
373
+ type: Input
374
+ }], hideKebabRowIndex: [{
375
+ type: Input
376
+ }], resize: [{
377
+ type: HostListener,
378
+ args: ['window:resize', ['$event']]
379
+ }] } });
380
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1wYWdpbmF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZC9zcmMvbGliL21vbGVjdWxlcy9ncmlkLXBhZ2luYXRpb24vZ3JpZC1wYWdpbmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZC9zcmMvbGliL21vbGVjdWxlcy9ncmlkLXBhZ2luYXRpb24vZ3JpZC1wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxTQUFTLEVBQ1QsWUFBWSxFQUVaLFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFHTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUlMLGFBQWEsR0FHZCxNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sRUFBa0IsT0FBTyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckUsT0FBTyxFQUVMLGVBQWUsRUFDZixhQUFhLEVBQ2IsZ0JBQWdCLEVBQ2pCLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7OztBQU9uQyxNQUFNLE9BQU8sdUJBQXVCO0lBd0VsQztRQS9EUyxhQUFRLEdBQW1CLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDbEQsU0FBSSxHQUFXLENBQUMsQ0FBQztRQUNqQixlQUFVLEdBQVEsRUFBRSxDQUFDO1FBQ3JCLGFBQVEsR0FBVyxDQUFDLENBQUM7UUFDckIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0IsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFDN0IsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixrQkFBYSxHQUFXLEVBQUUsQ0FBQztRQUMz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LEtBQUs7Z0JBQ0cscUJBQXFCO3NCQUE3QixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0ksY0FBYztzQkFBdkIsTUFBTTtnQkFDRSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQTROTixNQUFNO3NCQURMLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBTZWxlY3RhYmxlU2V0dGluZ3MsXG4gIFNlbGVjdGFibGVNb2RlLFxuICBDZWxsQ2xpY2tFdmVudCxcbiAgR3JpZENvbXBvbmVudCxcbiAgR3JpZERhdGFSZXN1bHQsXG4gIFBhZ2VDaGFuZ2VFdmVudCxcbn0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItZ3JpZCc7XG5pbXBvcnQgeyBTb3J0RGVzY3JpcHRvciwgb3JkZXJCeSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1kYXRhLXF1ZXJ5JztcbmltcG9ydCB7XG4gIFNWR0ljb24sXG4gIGNoZXZyb25Eb3duSWNvbixcbiAgY2hldnJvblVwSWNvbixcbiAgbW9yZVZlcnRpY2FsSWNvblxufSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tc3ZnLWljb25zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWdyaWQtcGFnaW5hdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9ncmlkLXBhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ncmlkLXBhZ2luYXRpb24uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgR3JpZFBhZ2luYXRpb25Db21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyQ29udGVudEluaXQsIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdFxue1xuICBAQ29udGVudENoaWxkKCdtdWx0aUNvbHVtbkRhdGEnKSB0ZW1wbGF0ZVJlZiE6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsO1xuICBAQ29udGVudENoaWxkKCdkZXRhaWxUZW1wbGF0ZScpIGRldGFpbFRlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55PiB8IG51bGw7XG4gIEBDb250ZW50Q2hpbGQoJ2ltcGFjdENvbHVtbicpIGltcGFjdENvbHVtbiE6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsO1xuICBAVmlld0NoaWxkKEdyaWRDb21wb25lbnQpIGdyaWQhOiBHcmlkQ29tcG9uZW50O1xuICBAVmlld0NoaWxkKCdncmlkRWxlbWVudCcpIGdyaWRFbGVtZW50ITogRWxlbWVudFJlZjtcblxuICBASW5wdXQoKSBncmlkVmlldzogR3JpZERhdGFSZXN1bHQgPSB7IGRhdGE6IFtdLCB0b3RhbDogMCB9O1xuICBASW5wdXQoKSBza2lwOiBudW1iZXIgPSAwO1xuICBASW5wdXQoKSBjb2x1bW5EYXRhOiBhbnkgPSBbXTtcbiAgQElucHV0KCkgcGFnZVNpemU6IG51bWJlciA9IDA7XG4gIEBJbnB1dCgpIHBhZ2VhYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNvcnRhYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGdyb3VwYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSByZW9yZGVyYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSByZXNpemFibGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgY2hlY2tCb3hXaWR0aDogbnVtYmVyID0gNDU7XG4gIEBJbnB1dCgpIGNoZWNrQm94Q29sdW1uUmVzaXphYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGNoZWNrQm94Q29sdW1uTWVudTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBjaGVja0JveENvbHVtblNob3dTZWxlY3RlZEFsbDogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIGNoZWNrQm94UmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgY29sdW1uTWVudTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBtb2RlOiBTZWxlY3RhYmxlTW9kZSB8IHVuZGVmaW5lZCA9ICdtdWx0aXBsZSc7XG4gIEBJbnB1dCgpIGNoZWNrYm94T25seSA9IHRydWU7XG4gIEBJbnB1dCgpIGRyYWdDb2x1bW5zID0gZmFsc2U7XG4gIEBJbnB1dCgpIG5hdmlnYWJsZTogYm9vbGVhbiA9IHRydWU7XG4gIGhlaWdodDogYW55O1xuICBASW5wdXQoKSBncmlkUm93U2VsZWN0QnlWYWx1ZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIG5vUmVjb3Jkc0NvbnRlbnQ6IHN0cmluZyA9ICdObyBSZWNvcmRzIEF2YWlsYWJsZSc7XG4gIEBPdXRwdXQoKSBzZWxlY3RlZFJvd0RhdGEgPSBuZXcgRXZlbnRFbWl0dGVyPGFueVtdPigpO1xuICBASW5wdXQoKSBzaG93VG9vbGJhcjogYm9vbGVhbiA9IGZhbHNlO1xuICBleHRyYWN0RGF0YUl0ZW1zOiBhbnk7XG4gIHNlbGVjdGFibGVTZXR0aW5nczogU2VsZWN0YWJsZVNldHRpbmdzID0ge307XG4gIEBJbnB1dCgpIGtlYmFiTGlzdDogYW55ID0gW107XG4gIEBJbnB1dCgpIHNob3dLZWJhYjogYm9vbGVhbiA9IGZhbHNlO1xuICBAT3V0cHV0KCkgcm93RGV0YWlscyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55W10+KCk7XG4gIEBPdXRwdXQoKSBrZWJhYkl0ZW1DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBASW5wdXQoKSBpY29uOiBTVkdJY29uID0gbW9yZVZlcnRpY2FsSWNvbjtcbiAgQElucHV0KCkga2ViYWJDb2x1bW5XaWR0aDogbnVtYmVyID0gNjA7XG4gIGRhdGE6IGFueSA9IFtdO1xuICBASW5wdXQoKSBzZWxlY3RDb2x1bW4gPSAnJztcbiAgQE91dHB1dCgpIHJvd0RhdGFPZkNsaWNrZWRDZWxsID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBJbnB1dCgpIHByZVNlbGVjdGVkOiBhbnlbXSA9IFtdO1xuICBwcmVTZWxlY3RlZFJlY29yZHM6IGFueVtdID0gW107XG4gIEBPdXRwdXQoKSBvblBhZ2VDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQElucHV0KCkgaWdub3JlQ29sdW1uQ2VsbENsaWNrOiBudW1iZXJbXSA9IFtdO1xuICBASW5wdXQoKSBhbGxvd0NvbHVtbkNsaWNrOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNvcnQ6IFNvcnREZXNjcmlwdG9yW10gPSBbXG4gICAge1xuICAgICAgZmllbGQ6ICcnLFxuICAgICAgZGlyOiB1bmRlZmluZWQsXG4gICAgfSxcbiAgXTtcbiAgQElucHV0KCkgaGFzQXBpU29ydGluZyA9IGZhbHNlO1xuICBAT3V0cHV0KCkgc29ydERpcmVjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBwdWJsaWMgYXJyb3dEb3duSWNvbjogU1ZHSWNvbiA9IGNoZXZyb25Eb3duSWNvbjtcbiAgcHVibGljIGFycm93VXBJY29uOiBTVkdJY29uID0gY2hldnJvblVwSWNvbjtcbiAgQElucHV0KCkgZXhwYW5kUm93SW5kZXg6IG51bWJlcltdID0gW107XG4gIEBJbnB1dCgpIGN1c3RvbUV4cGFuZFJvd0NvbHVtbjogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBkZWxldGVDb2x1bW5XaWR0aDogbnVtYmVyID0gNDI7XG4gIEBJbnB1dCgpIGV4cGFuZFJvd0NvbHVtbldpZHRoOiBudW1iZXIgPSA0MjtcbiAgQE91dHB1dCgpIGRlbGV0ZWRSb3dEYXRhID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBJbnB1dCgpIHNpemVzOiBhbnlbXSA9IFtdO1xuICBASW5wdXQoKSBwYWdlQ291bnQgPSAwO1xuICBASW5wdXQoKSBzaG93RGVsZXRlQ29sdW1uID0gZmFsc2U7XG4gIEBJbnB1dCgpIGhpZGVLZWJhYlJvd0luZGV4OiBudW1iZXJbXSA9IFtdO1xuICBpbml0aWFsR3JpZEhlaWdodDogYW55O1xuICBncmlkQm90dG9tU3BhY2UgPSAyNDtcbiAgcmVzaXplSGVpZ2h0OiBhbnkgPSAwO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuc2V0U2VsZWN0YWJsZVNldHRpbmdzKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBmb3IgKGxldCBjb2x1bW4gb2YgdGhpcy5jb2x1bW5EYXRhKSB7XG4gICAgICBjb2x1bW4uc29ydGFibGUgPSBjb2x1bW4uc29ydGFibGUgPT0gdW5kZWZpbmVkID8gdHJ1ZSA6IGNvbHVtbi5zb3J0YWJsZTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLmhhc0FwaVNvcnRpbmcpIHtcbiAgICAgIHRoaXMubG9hZEdyaWREYXRhKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGxldCBwcmV2UHJlU2VsZWN0ZWQgPSBKU09OLnN0cmluZ2lmeShjaGFuZ2VzWydwcmVTZWxlY3RlZCddPy5wcmV2aW91c1ZhbHVlKTtcbiAgICBsZXQgY3VyclByZVNlbGVjdGVkID0gSlNPTi5zdHJpbmdpZnkoY2hhbmdlc1sncHJlU2VsZWN0ZWQnXT8uY3VycmVudFZhbHVlKTtcbiAgICAvLyBDaGVjayBpZiB0aGVyZSBpcyBhIGNoYW5nZSBpbiB0aGlzLnByZVNlbGVjdGVkIGlucHV0XG4gICAgaWYgKHByZXZQcmVTZWxlY3RlZCAhPT0gY3VyclByZVNlbGVjdGVkKSB7XG4gICAgICAvLyBDbGVhciB0aGUgdGhpcy5wcmVTZWxlY3RlZFJlY29yZHMgYXJyYXlcbiAgICAgIHRoaXMucHJlU2VsZWN0ZWRSZWNvcmRzID0gW107XG4gICAgICBmb3IgKFxuICAgICAgICBsZXQgcm93ID0gMDtcbiAgICAgICAgcm93IDwgY2hhbmdlc1sncHJlU2VsZWN0ZWQnXS5jdXJyZW50VmFsdWUubGVuZ3RoO1xuICAgICAgICByb3crK1xuICAgICAgKSB7XG4gICAgICAgIGZvciAobGV0IGNvbCA9IDA7IGNvbCA8IHRoaXMuZ3JpZFZpZXcuZGF0YS5sZW5ndGg7IGNvbCsrKSB7XG4gICAgICAgICAgLy8gRmluZCB0aGUgcmVsZXZhbnQgcmVjb3JkIGZvciBhIHBhcnRpY3VsYXIgaWRcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLmdyaWRWaWV3LmRhdGFbY29sXVt0aGlzLmdyaWRSb3dTZWxlY3RCeVZhbHVlXSA9PT1cbiAgICAgICAgICAgIGNoYW5nZXNbJ3ByZVNlbGVjdGVkJ10uY3VycmVudFZhbHVlW3Jvd11cbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGxldCBmb3VuZCA9IGZhbHNlO1xuICAgICAgICAgICAgLy8gQ2hlY2sgaWYgdGhpcyByZWNvcmQgaXMgcHJlc2VudCBpbiB0aGlzLmRhdGEsIGlmIHllcyBkb24ndCBwdXNoIGl0IGluIHRoaXMucHJlU2VsZWN0ZWRSZWNvcmRzIGVsc2UgcHVzaCBpdFxuICAgICAgICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IHRoaXMuZGF0YS5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIHRoaXMuZGF0YVtpbmRleF1bdGhpcy5ncmlkUm93U2VsZWN0QnlWYWx1ZV0gPT09XG4gICAgICAgICAgICAgICAgdGhpcy5ncmlkVmlldy5kYXRhW2NvbF1bdGhpcy5ncmlkUm93U2VsZWN0QnlWYWx1ZV1cbiAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgZm91bmQgPSB0cnVlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIWZvdW5kKSB7XG4gICAgICAgICAgICAgIHRoaXMucHJlU2VsZWN0ZWRSZWNvcmRzLnB1c2godGhpcy5ncmlkVmlldy5kYXRhW2NvbF0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy5zZWxlY3RlZFJvd0RhdGEuZW1pdCh0aGlzLnByZVNlbGVjdGVkUmVjb3Jkcy5jb25jYXQodGhpcy5kYXRhKSk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5wYWdlYWJsZSkge1xuICAgICAgdGhpcy5wYWdlU2l6ZSA9IHRoaXMuZ3JpZFZpZXcuZGF0YS5sZW5ndGg7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGlmICh0aGlzLmN1c3RvbUV4cGFuZFJvd0NvbHVtbikge1xuICAgICAgdGhpcy5leHBhbmRSb3dJbmRleC5mb3JFYWNoKChpZCkgPT4ge1xuICAgICAgICB0aGlzLmdyaWQuZXhwYW5kUm93KGlkKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLmluaXRpYWxHcmlkSGVpZ2h0ID0gdGhpcy5ncmlkRWxlbWVudC5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodCArIHRoaXMuZ3JpZEJvdHRvbVNwYWNlO1xuICAgIHRoaXMuZ2V0R3JpZEhlaWdodCgpO1xuICB9XG5cbiAgcGFnZUNoYW5nZShldmVudDogUGFnZUNoYW5nZUV2ZW50KSB7XG4gICAgdGhpcy5vblBhZ2VDaGFuZ2UuZW1pdChldmVudCk7XG4gIH1cblxuICBzZXRTZWxlY3RhYmxlU2V0dGluZ3MoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2hlY2tib3hPbmx5IHx8IHRoaXMubW9kZSA9PT0gJ3NpbmdsZScpIHtcbiAgICAgIHRoaXMuZHJhZ0NvbHVtbnMgPSBmYWxzZTtcbiAgICB9XG5cbiAgICB0aGlzLnNlbGVjdGFibGVTZXR0aW5ncyA9IHtcbiAgICAgIGNoZWNrYm94T25seTogdGhpcy5jaGVja2JveE9ubHksXG4gICAgICBtb2RlOiB0aGlzLm1vZGUsXG4gICAgICBkcmFnOiB0aGlzLmRyYWdDb2x1bW5zLFxuICAgIH07XG4gIH1cblxuICAvLyBXZSBjYW4gZXh0cmFjdCBkYXRhIG91dCBvZiByb3cgbnVtYmVyIHVzaW5nIGJlbG93IGZ1bmN0aW9uXG4gIC8qIGV4dHJhY3QoKSB7XG4gICAgdGhpcy5leHRyYWN0RGF0YUl0ZW1zID0gdGhpcy5teVNlbGVjdGlvbi5tYXAoaWR4ID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmdyaWREYXRhLmZpbmQoKGRhdGE6IHsgUHJvZHVjdElEOiBudW1iZXI7IH0pID0+IGRhdGEuUHJvZHVjdElEID09PSBpZHgpO1xuICAgIH0pO1xuICAgIGNvbnNvbGUubG9nKHRoaXMuZXh0cmFjdERhdGFJdGVtcylcbiAgICB0aGlzLnNlbGVjdGVkUm93RGF0YS5lbWl0KHRoaXMuZXh0cmFjdERhdGFJdGVtcyk7XG4gIH0gKi9cblxuICBvblNlbGVjdGlvbkNoYW5nZShhcmdzOiBhbnkpOiBhbnkge1xuICAgIGZvciAobGV0IHJvdyA9IDA7IHJvdyA8IGFyZ3Muc2VsZWN0ZWRSb3dzLmxlbmd0aDsgcm93KyspIHtcbiAgICAgIHZhciBmb3VuZCA9IGZhbHNlO1xuICAgICAgZm9yIChsZXQgY29sID0gMDsgY29sIDwgdGhpcy5kYXRhLmxlbmd0aDsgY29sKyspIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHRoaXMuZGF0YVtjb2xdW3RoaXMuZ3JpZFJvd1NlbGVjdEJ5VmFsdWVdID09PVxuICAgICAgICAgIGFyZ3Muc2VsZWN0ZWRSb3dzW3Jvd10uZGF0YUl0ZW1bdGhpcy5ncmlkUm93U2VsZWN0QnlWYWx1ZV1cbiAgICAgICAgKSB7XG4gICAgICAgICAgZm91bmQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoIWZvdW5kKSB7XG4gICAgICAgIHRoaXMuZGF0YS5wdXNoKGFyZ3Muc2VsZWN0ZWRSb3dzW3Jvd10uZGF0YUl0ZW0pO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoYXJncy5kZXNlbGVjdGVkUm93cy5sZW5ndGggIT09IDApIHtcbiAgICAgIGZvciAobGV0IHJvdyA9IDA7IHJvdyA8IGFyZ3MuZGVzZWxlY3RlZFJvd3MubGVuZ3RoOyByb3crKykge1xuICAgICAgICBmb3IgKGxldCBjb2wgPSAwOyBjb2wgPCB0aGlzLmRhdGEubGVuZ3RoOyBjb2wrKykge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMuZGF0YVtjb2xdW3RoaXMuZ3JpZFJvd1NlbGVjdEJ5VmFsdWVdID09PVxuICAgICAgICAgICAgYXJncy5kZXNlbGVjdGVkUm93c1tyb3ddLmRhdGFJdGVtW3RoaXMuZ3JpZFJvd1NlbGVjdEJ5VmFsdWVdXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLmRhdGEuc3BsaWNlKGNvbCwgMSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGZvciAobGV0IGNvbCA9IDA7IGNvbCA8IHRoaXMucHJlU2VsZWN0ZWRSZWNvcmRzLmxlbmd0aDsgY29sKyspIHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLnByZVNlbGVjdGVkUmVjb3Jkc1tjb2xdW3RoaXMuZ3JpZFJvd1NlbGVjdEJ5VmFsdWVdID09PVxuICAgICAgICAgICAgYXJncy5kZXNlbGVjdGVkUm93c1tyb3ddLmRhdGFJdGVtW3RoaXMuZ3JpZFJvd1NlbGVjdEJ5VmFsdWVdXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLnByZVNlbGVjdGVkUmVjb3Jkcy5zcGxpY2UoY29sLCAxKTtcbiAgICAgICAgICAgIC8vIFJlbW92ZSB0aGlzIGVsZW1lbnQgZnJvbSBwcmVzZWxlY3RlZFxuICAgICAgICAgICAgbGV0IGluZGV4ID0gdGhpcy5wcmVTZWxlY3RlZC5pbmRleE9mKFxuICAgICAgICAgICAgICBhcmdzLmRlc2VsZWN0ZWRSb3dzW3Jvd10uZGF0YUl0ZW1bdGhpcy5ncmlkUm93U2VsZWN0QnlWYWx1ZV1cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICAgICAgICAgIHRoaXMucHJlU2VsZWN0ZWQuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5zZWxlY3RlZFJvd0RhdGEuZW1pdCh0aGlzLnByZVNlbGVjdGVkUmVjb3Jkcy5jb25jYXQodGhpcy5kYXRhKSk7XG4gIH1cblxuICBvbktlYmFiQ2xpY2soaXRlbTogYW55LCByb3dEZXRhaWxzOiBhbnkpIHtcbiAgICB0aGlzLmtlYmFiSXRlbUNsaWNrLmVtaXQoeyBhY3Rpb246IGl0ZW0sIHJvd0RldGFpbHMgfSk7XG4gIH1cblxuICBvbkRldGFpbEV4cGFuZChyb3dEYXRhOiBhbnkpIHtcbiAgICB0aGlzLnJvd0RldGFpbHMuZW1pdChyb3dEYXRhLmRhdGFJdGVtKTtcbiAgfVxuXG4gIGNlbGxDbGlja0hhbmRsZXIoYXJnczogQ2VsbENsaWNrRXZlbnQpIHtcbiAgICBpZiAodGhpcy5hbGxvd0NvbHVtbkNsaWNrKSB7XG4gICAgICBpZiAodGhpcy5pZ25vcmVDb2x1bW5DZWxsQ2xpY2suaW5jbHVkZXMoYXJncy5jb2x1bW5JbmRleCkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdGhpcy5yb3dEYXRhT2ZDbGlja2VkQ2VsbC5lbWl0KGFyZ3MuZGF0YUl0ZW0pO1xuICAgIH1cbiAgfVxuXG4gIHNvcnRDaGFuZ2Uoc29ydDogU29ydERlc2NyaXB0b3JbXSk6IHZvaWQge1xuICAgIHRoaXMuc29ydCA9IHNvcnQ7XG4gICAgaWYgKCF0aGlzLmhhc0FwaVNvcnRpbmcpIHtcbiAgICAgIHRoaXMubG9hZEdyaWREYXRhKCk7XG4gICAgfVxuICAgIHRoaXMuc29ydERpcmVjdGlvbi5lbWl0KHRoaXMuc29ydCk7XG4gIH1cblxuICBsb2FkR3JpZERhdGEoKTogdm9pZCB7XG4gICAgdGhpcy5ncmlkVmlldyA9IHtcbiAgICAgIGRhdGE6IG9yZGVyQnkodGhpcy5ncmlkVmlldz8uZGF0YSwgdGhpcy5zb3J0KSxcbiAgICAgIHRvdGFsOiB0aGlzLmdyaWRWaWV3Py50b3RhbCxcbiAgICB9O1xuICB9XG5cbiAgZXhwYW5kUm93KGlkOiBudW1iZXIpIHtcbiAgICB0aGlzLmdyaWQuZXhwYW5kUm93KGlkKTtcbiAgICB0aGlzLmV4cGFuZFJvd0luZGV4LnB1c2goaWQpO1xuICAgIHNldFRpbWVvdXQoKCk9PntcbiAgICAgIHRoaXMuZ2V0R3JpZEhlaWdodCgpO1xuICAgIH0sMClcbiAgfVxuXG4gIGNvbGxhcHNlUm93KGlkOiBudW1iZXIpIHtcbiAgICB0aGlzLmdyaWQuY29sbGFwc2VSb3coaWQpO1xuICAgIHRoaXMuZXhwYW5kUm93SW5kZXguc3BsaWNlKHRoaXMuZXhwYW5kUm93SW5kZXguaW5kZXhPZihpZCksIDEpO1xuICAgIGlmICh0aGlzLmV4cGFuZFJvd0luZGV4Lmxlbmd0aCA9PSAwKSB7XG4gICAgICBjb25zdCB3aW5kb3dIZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQ7XG4gICAgICBjb25zdCB2aWV3cG9ydDogYW55ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xpYi1ncmlkJyk7XG4gICAgICBjb25zdCBncmlkT2Zmc2V0ID0gdmlld3BvcnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wICsgd2luZG93LnNjcm9sbFk7XG4gICAgICBpZiAod2luZG93SGVpZ2h0ID4gKGdyaWRPZmZzZXQgKyB0aGlzLmluaXRpYWxHcmlkSGVpZ2h0KSkge1xuICAgICAgICB0aGlzLmhlaWdodCA9ICcxMDAlJztcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdGhpcy5nZXRHcmlkSGVpZ2h0KCk7XG4gICAgfVxuICB9XG5cbiAgb25EZWxldGUocm93RGV0YWlsczogYW55KSB7XG4gICAgdGhpcy5kZWxldGVkUm93RGF0YS5lbWl0KHJvd0RldGFpbHMpO1xuICB9XG5cbiAgZ2V0SGVhZGVySGVpZ2h0KCkge1xuICAgIGlmICh0aGlzLmdyaWRWaWV3Py5kYXRhPy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiAnaGlkZS1oZWFkZXInO1xuICAgIH1cbiAgICByZXR1cm4gJ3ZpZXctaGVhZGVyJztcbiAgfVxuXG4gIGdldEdyaWRIZWlnaHQoKSB7XG4gICAgY29uc3Qgd2luZG93SGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0O1xuICAgIGNvbnN0IHZpZXdwb3J0OiBhbnkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGliLWdyaWQnKTtcbiAgICBjb25zdCBncmlkT2Zmc2V0ID0gdmlld3BvcnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wICsgd2luZG93LnNjcm9sbFk7XG4gICAgY29uc3QgZ3JpZEhlaWdodCA9IHRoaXMuZ3JpZEVsZW1lbnQubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQgXG4gICAgICAgICAgICAgICAgICAgICAgICArIHRoaXMuZ3JpZEJvdHRvbVNwYWNlOyAvL2dyaWQgc2hvdWxkIGhhdmUgMjRweCBzcGFjZSBhdCBib3R0b21cbiAgICBpZiAoZ3JpZE9mZnNldCArIGdyaWRIZWlnaHQgPj0gd2luZG93SGVpZ2h0KSB7XG4gICAgICB0aGlzLmhlaWdodCA9IHdpbmRvd0hlaWdodCAtIChncmlkT2Zmc2V0ICsgdGhpcy5ncmlkQm90dG9tU3BhY2UpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbJyRldmVudCddKVxuICByZXNpemUoZXY6IGFueSkge1xuICAgIGlmIChldi50YXJnZXQuaW5uZXJIZWlnaHQgPiB0aGlzLnJlc2l6ZUhlaWdodCkge1xuICAgICAgdGhpcy5yZXNpemVIZWlnaHQgPSBldi50YXJnZXQuaW5uZXJIZWlnaHQ7XG4gICAgICB0aGlzLmhlaWdodCA9ICcxMDAlJztcbiAgICB9XG4gICAgaWYgKHRoaXMucmVzaXplSGVpZ2h0ID4gd2luZG93LmlubmVySGVpZ2h0KSB7XG4gICAgICB0aGlzLnJlc2l6ZUhlaWdodCA9IDA7XG4gICAgfVxuICAgIHRoaXMuZ2V0R3JpZEhlaWdodCgpO1xuICB9XG59XG4iLCI8ZGl2ICNncmlkRWxlbWVudCAod2luZG93OnJlc2l6ZSk9XCJyZXNpemUoJGV2ZW50KVwiID5cbjxrZW5kby1ncmlkIFtkYXRhXT1cImdyaWRWaWV3XCIgW3BhZ2VTaXplXT1cInBhZ2VTaXplXCIgW3NraXBdPVwic2tpcFwiIFtzZWxlY3RhYmxlXT1cInNlbGVjdGFibGVTZXR0aW5nc1wiXG4gIFtwYWdlYWJsZV09XCJwYWdlYWJsZVwiIFtzb3J0YWJsZV09XCJzb3J0YWJsZVwiIFtncm91cGFibGVdPVwiZ3JvdXBhYmxlXCIgW3Jlb3JkZXJhYmxlXT1cInJlb3JkZXJhYmxlXCJcbiAgW3Jlc2l6YWJsZV09XCJyZXNpemFibGVcIiBbY29sdW1uTWVudV09XCJjb2x1bW5NZW51XCIgW25hdmlnYWJsZV09XCJuYXZpZ2FibGVcIiBbaGVpZ2h0XT1cImhlaWdodFwiIFtzdHlsZS5oZWlnaHRdPVwiaGVpZ2h0XCJcbiAgKGNoYW5nZSk9XCJzZXRTZWxlY3RhYmxlU2V0dGluZ3MoKVwiIChzZWxlY3Rpb25DaGFuZ2UpPVwib25TZWxlY3Rpb25DaGFuZ2UoJGV2ZW50KVwiXG4gIFtrZW5kb0dyaWRTZWxlY3RCeV09XCJncmlkUm93U2VsZWN0QnlWYWx1ZVwiIChkZXRhaWxFeHBhbmQpPVwib25EZXRhaWxFeHBhbmQoJGV2ZW50KVwiIFtzZWxlY3RlZEtleXNdPVwicHJlU2VsZWN0ZWRcIlxuICAocGFnZUNoYW5nZSk9XCJwYWdlQ2hhbmdlKCRldmVudClcIiAoY2VsbENsaWNrKT1cImNlbGxDbGlja0hhbmRsZXIoJGV2ZW50KVwiIFtzb3J0XT1cInNvcnRcIlxuICAoc29ydENoYW5nZSk9XCJzb3J0Q2hhbmdlKCRldmVudClcIiBbbmdDbGFzc109XCJnZXRIZWFkZXJIZWlnaHQoKVwiIGlkPVwibGliLWdyaWRcIj5cblxuICA8bmctdGVtcGxhdGUgKm5nSWY9XCJzaG93VG9vbGJhclwiIGtlbmRvR3JpZFRvb2xiYXJUZW1wbGF0ZT5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPG5nLXRlbXBsYXRlICpuZ0lmPVwidGhpcy5ncmlkVmlldy5kYXRhLmxlbmd0aCA9PT0gMFwiIGtlbmRvR3JpZE5vUmVjb3Jkc1RlbXBsYXRlPlxuICAgIDxsaWItdHlwb2dyYXBoeSBbZGVmYXVsdFRleHRdPVwibm9SZWNvcmRzQ29udGVudFwiIHR5cGU9XCJQX01VTElTSF8xNl9SRUdVTEFSXCI+PC9saWItdHlwb2dyYXBoeT5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8bmctY29udGFpbmVyICpuZ0lmPVwidGhpcy5ncmlkVmlldy5kYXRhLmxlbmd0aCA+IDBcIj5cbiAgICA8a2VuZG8tZ3JpZC1jaGVja2JveC1jb2x1bW4gKm5nSWY9XCJjaGVja0JveFJlcXVpcmVkID09PSB0cnVlXCIgW3dpZHRoXT1cImNoZWNrQm94V2lkdGhcIlxuICAgICAgW3Jlc2l6YWJsZV09XCJjaGVja0JveENvbHVtblJlc2l6YWJsZVwiIFtjb2x1bW5NZW51XT1cImNoZWNrQm94Q29sdW1uTWVudVwiXG4gICAgICBbc2hvd1NlbGVjdEFsbF09XCJjaGVja0JveENvbHVtblNob3dTZWxlY3RlZEFsbFwiIGNsYXNzPVwiY2hlY2tib3gtY29sdW1uXCI+XG4gICAgPC9rZW5kby1ncmlkLWNoZWNrYm94LWNvbHVtbj5cblxuICAgIDxrZW5kby1ncmlkLWNvbHVtbiBjbGFzcz1cImdyaWQtY29sdW1uXCIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgY29sdW1uRGF0YVwiIFtmaWVsZF09XCJpdGVtLmZpZWxkXCIgW3RpdGxlXT1cIml0ZW0udGl0bGVcIlxuICAgICAgW3dpZHRoXT1cIml0ZW0uY29sdW1uV2lkdGhcIiBbc29ydGFibGVdPVwiaXRlbS5zb3J0YWJsZVwiPlxuXG4gICAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJzb3J0YWJsZVwiIGtlbmRvR3JpZEhlYWRlclRlbXBsYXRlPlxuICAgICAgICB7e2l0ZW0udGl0bGV9fVxuICAgICAgICA8c3BhbiAqbmdJZj1cInNvcnRbMF0uZmllbGQgPT09IGl0ZW0uZmllbGRcIj5cbiAgICAgICAgICA8c3BhbiAqbmdJZj1cInNvcnRbMF0uZGlyID09PSAnYXNjJ1wiPjwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiAqbmdJZj1cInNvcnRbMF0uZGlyID09PSAnZGVzYydcIj48L3NwYW4+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cIml0ZW0uY3VzdG9tXCIga2VuZG9HcmlkQ2VsbFRlbXBsYXRlIGxldC1kYXRhSXRlbT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRlbXBsYXRlUmVmOyBjb250ZXh0OiB7JGltcGxpY2l0OiBkYXRhSXRlbX1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJpdGVtLmltcGFjdFwiIGtlbmRvR3JpZENlbGxUZW1wbGF0ZSBsZXQtZGF0YUl0ZW0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpbXBhY3RDb2x1bW47IGNvbnRleHQ6IHskaW1wbGljaXQ6IGRhdGFJdGVtfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2tlbmRvLWdyaWQtY29sdW1uPlxuXG4gICAgPGtlbmRvLWdyaWQtY29sdW1uICpuZ0lmPVwic2hvd0RlbGV0ZUNvbHVtblwiIFt3aWR0aF09XCJkZWxldGVDb2x1bW5XaWR0aFwiIGNsYXNzPVwiZGVsZXRlLWNvbHVtblwiIHRpdGxlPVwiQWN0aW9uXCI+XG4gICAgICA8bmctdGVtcGxhdGUga2VuZG9HcmlkQ2VsbFRlbXBsYXRlIGxldC1kYXRhSXRlbSBsZXQtcm93SW5kZXg9XCJyb3dJbmRleFwiPlxuICAgICAgICA8bGliLXRvb2x0aXAgc2hvd09uPVwiaG92ZXJcIiBwb3NpdGlvbj1cImJvdHRvbVwiIGNsYXNzPVwicmVtb3ZlLXRvb2x0aXBcIj5cbiAgICAgICAgICAgIDxsaWItaWNvbiBuYW1lPVwiZGVsZXRlXCIgY2xhc3M9XCJkZWxldGUtaWNvblwiIChjbGljayk9XCJvbkRlbGV0ZShkYXRhSXRlbSlcIj48L2xpYi1pY29uPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b29sdGlwLWNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxsaWItdHlwb2dyYXBoeSBkZWZhdWx0VGV4dD1cIlJlbW92ZVwiPjwvbGliLXR5cG9ncmFwaHk+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbGliLXRvb2x0aXA+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwva2VuZG8tZ3JpZC1jb2x1bW4+XG5cbiAgICA8a2VuZG8tZ3JpZC1jb2x1bW4gW3dpZHRoXT1cImtlYmFiQ29sdW1uV2lkdGhcIiBjbGFzcz1cImtlYmFiLWNvbHVtblwiICpuZ0lmPVwic2hvd0tlYmFiXCIgdGl0bGU9XCJBY3Rpb25zXCI+XG4gICAgICA8bmctdGVtcGxhdGUga2VuZG9HcmlkQ2VsbFRlbXBsYXRlIGxldC1kYXRhSXRlbSBsZXQtcm93SW5kZXg9XCJyb3dJbmRleFwiPlxuICAgICAgICA8a2VuZG8tZHJvcGRvd25idXR0b24gKm5nSWY9XCIhaGlkZUtlYmFiUm93SW5kZXguaW5jbHVkZXMocm93SW5kZXgpXCIgW3N2Z0ljb25dPVwiaWNvblwiIGZpbGxNb2RlPVwibm9uZVwiIFtkYXRhXT1cImtlYmFiTGlzdCB8IGtlYmFiTWVudUZpbHRlciA6IGRhdGFJdGVtXCIgIGNsYXNzPVwia2ViYWJcIlxuICAgICAgICAgIChpdGVtQ2xpY2spPVwib25LZWJhYkNsaWNrKCRldmVudCwgZGF0YUl0ZW0pXCIgW3BvcHVwU2V0dGluZ3NdPVwieyBhbGlnbjogJ3JpZ2h0JywgYW5pbWF0ZTogdHJ1ZSwgcG9wdXBDbGFzczogJ2tlYmFiLWxpc3QnIH1cIj5cbiAgICAgICAgPC9rZW5kby1kcm9wZG93bmJ1dHRvbj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9rZW5kby1ncmlkLWNvbHVtbj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPG5nLXRlbXBsYXRlIGtlbmRvR3JpZERldGFpbFRlbXBsYXRlIGxldC1kYXRhSXRlbT5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGV0YWlsVGVtcGxhdGU7IGNvbnRleHQ6IHskaW1wbGljaXQ6IGRhdGFJdGVtfVwiPjwvbmctY29udGFpbmVyPlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDxrZW5kby1ncmlkLWNvbHVtbiAqbmdJZj1cImN1c3RvbUV4cGFuZFJvd0NvbHVtblwiIFt3aWR0aF09XCJleHBhbmRSb3dDb2x1bW5XaWR0aFwiIGNsYXNzPVwiZ3JpZC1jb2x1bW4gZXhwYW5kLWNvbHVtblwiPlxuICAgIDxuZy10ZW1wbGF0ZSBrZW5kb0dyaWRDZWxsVGVtcGxhdGUgbGV0LWRhdGFJdGVtIGxldC1yb3dJbmRleD1cInJvd0luZGV4XCI+XG4gICAgICA8a2VuZG8tYnV0dG9uICpuZ0lmPVwiIWV4cGFuZFJvd0luZGV4LmluY2x1ZGVzKHJvd0luZGV4KVwiIFtzdmdJY29uXT1cImFycm93RG93bkljb25cIiAoY2xpY2spPVwiZXhwYW5kUm93KHJvd0luZGV4KVwiXG4gICAgICAgIGZpbGxNb2RlPVwibm9uZVwiIGNsYXNzPVwiYXJyb3ctYnRuXCI+XG4gICAgICA8L2tlbmRvLWJ1dHRvbj5cbiAgICAgIDxrZW5kby1idXR0b24gKm5nSWY9XCJleHBhbmRSb3dJbmRleC5pbmNsdWRlcyhyb3dJbmRleClcIiBbc3ZnSWNvbl09XCJhcnJvd1VwSWNvblwiIChjbGljayk9XCJjb2xsYXBzZVJvdyhyb3dJbmRleClcIlxuICAgICAgICBmaWxsTW9kZT1cIm5vbmVcIiBjbGFzcz1cImFycm93LWJ0blwiPlxuICAgICAgPC9rZW5kby1idXR0b24+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9rZW5kby1ncmlkLWNvbHVtbj5cblxuICA8bmctdGVtcGxhdGUga2VuZG9QYWdlclRlbXBsYXRlIGxldC10b3RhbFBhZ2VzPVwidG90YWxQYWdlc1wiIGxldC1jdXJyZW50UGFnZT1cImN1cnJlbnRQYWdlXCI+XG4gICAgPGtlbmRvLXBhZ2VyLXByZXYtYnV0dG9ucz48L2tlbmRvLXBhZ2VyLXByZXYtYnV0dG9ucz5cbiAgICA8a2VuZG8tcGFnZXItbnVtZXJpYy1idXR0b25zIFtidXR0b25Db3VudF09XCJwYWdlQ291bnRcIj48L2tlbmRvLXBhZ2VyLW51bWVyaWMtYnV0dG9ucz5cbiAgICA8a2VuZG8tcGFnZXItbmV4dC1idXR0b25zPjwva2VuZG8tcGFnZXItbmV4dC1idXR0b25zPlxuICAgIDxrZW5kby1wYWdlci1pbmZvPjwva2VuZG8tcGFnZXItaW5mbz5cbiAgICA8a2VuZG8tcGFnZXItcGFnZS1zaXplcyBbcGFnZVNpemVzXT1cInNpemVzXCI+PC9rZW5kby1wYWdlci1wYWdlLXNpemVzPlxuICA8L25nLXRlbXBsYXRlPlxuXG48L2tlbmRvLWdyaWQ+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,69 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { GridPaginationComponent } from './grid-pagination.component';
4
+ import { GridModule } from '@progress/kendo-angular-grid';
5
+ import { ButtonsModule } from '@progress/kendo-angular-buttons';
6
+ import { InputsModule } from '@progress/kendo-angular-inputs';
7
+ import { DialogModule } from '@progress/kendo-angular-dialog';
8
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
9
+ import { TypographyModule } from './../../atoms/typography/typography.module';
10
+ import { IconModule } from '../../atoms/icon/icon.module';
11
+ import { IconsModule } from "@progress/kendo-angular-icons";
12
+ import { TooltipModule } from '../../atoms/tooltip/tooltip.module';
13
+ import { GridPaginationSpacerComponent } from './grid-pagination-spacer/grid-pagination-spacer.component';
14
+ import { KebabMenuFilterPipe } from './kebab-menu-filter.pipe';
15
+ import * as i0 from "@angular/core";
16
+ export class GridPaginationModule {
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridPaginationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
18
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: GridPaginationModule, declarations: [GridPaginationComponent,
19
+ GridPaginationSpacerComponent,
20
+ GridPaginationSpacerComponent,
21
+ KebabMenuFilterPipe], imports: [CommonModule,
22
+ ButtonsModule,
23
+ IconModule,
24
+ IconsModule,
25
+ InputsModule,
26
+ GridModule,
27
+ DialogModule,
28
+ FormsModule,
29
+ TooltipModule,
30
+ ReactiveFormsModule,
31
+ TypographyModule], exports: [GridPaginationComponent, GridPaginationSpacerComponent] }); }
32
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridPaginationModule, imports: [CommonModule,
33
+ ButtonsModule,
34
+ IconModule,
35
+ IconsModule,
36
+ InputsModule,
37
+ GridModule,
38
+ DialogModule,
39
+ FormsModule,
40
+ TooltipModule,
41
+ ReactiveFormsModule,
42
+ TypographyModule] }); }
43
+ }
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridPaginationModule, decorators: [{
45
+ type: NgModule,
46
+ args: [{
47
+ declarations: [
48
+ GridPaginationComponent,
49
+ GridPaginationSpacerComponent,
50
+ GridPaginationSpacerComponent,
51
+ KebabMenuFilterPipe
52
+ ],
53
+ imports: [
54
+ CommonModule,
55
+ ButtonsModule,
56
+ IconModule,
57
+ IconsModule,
58
+ InputsModule,
59
+ GridModule,
60
+ DialogModule,
61
+ FormsModule,
62
+ TooltipModule,
63
+ ReactiveFormsModule,
64
+ TypographyModule
65
+ ],
66
+ exports: [GridPaginationComponent, GridPaginationSpacerComponent],
67
+ }]
68
+ }] });
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1wYWdpbmF0aW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZC9zcmMvbGliL21vbGVjdWxlcy9ncmlkLXBhZ2luYXRpb24vZ3JpZC1wYWdpbmF0aW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDOUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQzFHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQXdCL0QsTUFBTSxPQUFPLG9CQUFvQjsrR0FBcEIsb0JBQW9CO2dIQUFwQixvQkFBb0IsaUJBcEI3Qix1QkFBdUI7WUFDdkIsNkJBQTZCO1lBQzdCLDZCQUE2QjtZQUM3QixtQkFBbUIsYUFHbkIsWUFBWTtZQUNaLGFBQWE7WUFDYixVQUFVO1lBQ1YsV0FBVztZQUNYLFlBQVk7WUFDWixVQUFVO1lBQ1YsWUFBWTtZQUNaLFdBQVc7WUFDWCxhQUFhO1lBQ2IsbUJBQW1CO1lBQ25CLGdCQUFnQixhQUVSLHVCQUF1QixFQUFFLDZCQUE2QjtnSEFFckQsb0JBQW9CLFlBZDdCLFlBQVk7WUFDWixhQUFhO1lBQ2IsVUFBVTtZQUNWLFdBQVc7WUFDWCxZQUFZO1lBQ1osVUFBVTtZQUNWLFlBQVk7WUFDWixXQUFXO1lBQ1gsYUFBYTtZQUNiLG1CQUFtQjtZQUNuQixnQkFBZ0I7OzRGQUlQLG9CQUFvQjtrQkF0QmhDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLHVCQUF1Qjt3QkFDdkIsNkJBQTZCO3dCQUM3Qiw2QkFBNkI7d0JBQzdCLG1CQUFtQjtxQkFDcEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixVQUFVO3dCQUNWLFdBQVc7d0JBQ1gsWUFBWTt3QkFDWixVQUFVO3dCQUNWLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxhQUFhO3dCQUNiLG1CQUFtQjt3QkFDbkIsZ0JBQWdCO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSw2QkFBNkIsQ0FBQztpQkFDbEUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEdyaWRQYWdpbmF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9ncmlkLXBhZ2luYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IEdyaWRNb2R1bGUgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1ncmlkJztcbmltcG9ydCB7IEJ1dHRvbnNNb2R1bGUgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1idXR0b25zJztcbmltcG9ydCB7IElucHV0c01vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWlucHV0cyc7XG5pbXBvcnQgeyBEaWFsb2dNb2R1bGUgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1kaWFsb2cnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBUeXBvZ3JhcGh5TW9kdWxlIH0gZnJvbSAnLi8uLi8uLi9hdG9tcy90eXBvZ3JhcGh5L3R5cG9ncmFwaHkubW9kdWxlJztcbmltcG9ydCB7IEljb25Nb2R1bGUgfSBmcm9tICcuLi8uLi9hdG9tcy9pY29uL2ljb24ubW9kdWxlJztcbmltcG9ydCB7IEljb25zTW9kdWxlIH0gZnJvbSBcIkBwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWljb25zXCI7XG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSAnLi4vLi4vYXRvbXMvdG9vbHRpcC90b29sdGlwLm1vZHVsZSc7XG5pbXBvcnQgeyBHcmlkUGFnaW5hdGlvblNwYWNlckNvbXBvbmVudCB9IGZyb20gJy4vZ3JpZC1wYWdpbmF0aW9uLXNwYWNlci9ncmlkLXBhZ2luYXRpb24tc3BhY2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBLZWJhYk1lbnVGaWx0ZXJQaXBlIH0gZnJvbSAnLi9rZWJhYi1tZW51LWZpbHRlci5waXBlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgR3JpZFBhZ2luYXRpb25Db21wb25lbnQsIFxuICAgIEdyaWRQYWdpbmF0aW9uU3BhY2VyQ29tcG9uZW50LCBcbiAgICBHcmlkUGFnaW5hdGlvblNwYWNlckNvbXBvbmVudCxcbiAgICBLZWJhYk1lbnVGaWx0ZXJQaXBlXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQnV0dG9uc01vZHVsZSxcbiAgICBJY29uTW9kdWxlLFxuICAgIEljb25zTW9kdWxlLFxuICAgIElucHV0c01vZHVsZSxcbiAgICBHcmlkTW9kdWxlLFxuICAgIERpYWxvZ01vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBUb29sdGlwTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgVHlwb2dyYXBoeU1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbR3JpZFBhZ2luYXRpb25Db21wb25lbnQsIEdyaWRQYWdpbmF0aW9uU3BhY2VyQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgR3JpZFBhZ2luYXRpb25Nb2R1bGUgeyB9XG4iXX0=
@@ -0,0 +1,22 @@
1
+ import { Pipe } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ export class KebabMenuFilterPipe {
4
+ transform(menu, ...args) {
5
+ const dataItem = args[0];
6
+ if (Array.isArray(menu)) {
7
+ return menu.filter((kebabItem) => {
8
+ return kebabItem?.isVisible ? kebabItem.isVisible(dataItem) : true;
9
+ });
10
+ }
11
+ return [];
12
+ }
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: KebabMenuFilterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
14
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: KebabMenuFilterPipe, name: "kebabMenuFilter" }); }
15
+ }
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: KebabMenuFilterPipe, decorators: [{
17
+ type: Pipe,
18
+ args: [{
19
+ name: "kebabMenuFilter"
20
+ }]
21
+ }] });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2ViYWItbWVudS1maWx0ZXIucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZC9zcmMvbGliL21vbGVjdWxlcy9ncmlkLXBhZ2luYXRpb24va2ViYWItbWVudS1maWx0ZXIucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFLcEQsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixTQUFTLENBQUMsSUFBUyxFQUFFLEdBQUcsSUFBVztRQUNqQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekIsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3ZCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO2dCQUMvQixPQUFPLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUNyRSxDQUFDLENBQUMsQ0FBQTtTQUNIO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDOytHQVRVLG1CQUFtQjs2R0FBbkIsbUJBQW1COzs0RkFBbkIsbUJBQW1CO2tCQUgvQixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxpQkFBaUI7aUJBQ3hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbkBQaXBlKHtcbiAgbmFtZTogXCJrZWJhYk1lbnVGaWx0ZXJcIlxufSlcbmV4cG9ydCBjbGFzcyBLZWJhYk1lbnVGaWx0ZXJQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybShtZW51OiBhbnksIC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgY29uc3QgZGF0YUl0ZW0gPSBhcmdzWzBdO1xuICAgIGlmIChBcnJheS5pc0FycmF5KG1lbnUpKSB7XG4gICAgICByZXR1cm4gbWVudS5maWx0ZXIoKGtlYmFiSXRlbSkgPT4ge1xuICAgICAgICByZXR1cm4ga2ViYWJJdGVtPy5pc1Zpc2libGUgPyBrZWJhYkl0ZW0uaXNWaXNpYmxlKGRhdGFJdGVtKSA6IHRydWU7XG4gICAgICB9KVxuICAgIH1cbiAgICByZXR1cm4gW107XG4gIH1cbn1cbiJdfQ==