fantasy-ngzorro 1.3.28 → 1.3.30

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 (163) hide show
  1. package/bundles/fantasy-ngzorro.umd.js +6035 -6035
  2. package/bundles/fantasy-ngzorro.umd.js.map +1 -1
  3. package/bundles/fantasy-ngzorro.umd.min.js +1 -1
  4. package/bundles/fantasy-ngzorro.umd.min.js.map +1 -1
  5. package/esm2015/fantasy-ngzorro.js +38 -38
  6. package/esm2015/fantasy-ngzorro.module.js +18 -18
  7. package/esm2015/hd-button/hd-button.component.js +91 -91
  8. package/esm2015/hd-button/hd-button.module.js +22 -22
  9. package/esm2015/hd-button/hd-button.service.js +36 -36
  10. package/esm2015/hd-button-group/hd-button-group.component.js +32 -32
  11. package/esm2015/hd-button-group/hd-button-group.module.js +22 -22
  12. package/esm2015/hd-component.module.js +43 -43
  13. package/esm2015/hd-current-table/hd-current-table.component.js +224 -224
  14. package/esm2015/hd-current-table/hd-current-table.module.js +23 -23
  15. package/esm2015/hd-current-table/hd-current-table.service.js +34 -34
  16. package/esm2015/hd-detail-form/hd-detail-form.component.js +64 -64
  17. package/esm2015/hd-detail-form/hd-detail-form.module.js +20 -20
  18. package/esm2015/hd-detail-form/hd-detail-form.service.js +17 -17
  19. package/esm2015/hd-detail-lines/hd-detail-lines.component.js +266 -266
  20. package/esm2015/hd-detail-lines/hd-detail-lines.module.js +23 -23
  21. package/esm2015/hd-detail-lines/hd-detail-lines.service.js +18 -18
  22. package/esm2015/hd-detail-tip/hd-detail-tip.component.js +61 -61
  23. package/esm2015/hd-detail-tip/hd-detail-tip.module.js +22 -22
  24. package/esm2015/hd-filter/hd-filter.component.js +192 -192
  25. package/esm2015/hd-filter/hd-filter.module.js +25 -25
  26. package/esm2015/hd-filter/hd-filter.service.js +69 -69
  27. package/esm2015/hd-form/hd-form.component.js +369 -369
  28. package/esm2015/hd-form/hd-form.module.js +25 -25
  29. package/esm2015/hd-form/hd-form.service.js +129 -129
  30. package/esm2015/hd-form-lines/hd-form-lines.component.js +1537 -1537
  31. package/esm2015/hd-form-lines/hd-form-lines.module.js +29 -29
  32. package/esm2015/hd-form-lines/hd-form-lines.service.js +121 -121
  33. package/esm2015/hd-log/hd-log.component.js +30 -30
  34. package/esm2015/hd-log/hd-log.module.js +25 -25
  35. package/esm2015/hd-log/hd-log.service.js +47 -47
  36. package/esm2015/hd-popconfirm/hd-popconfirm.component.js +52 -52
  37. package/esm2015/hd-popconfirm/hd-popconfirm.module.js +27 -27
  38. package/esm2015/hd-space/hd-space.component.js +51 -51
  39. package/esm2015/hd-space/hd-space.module.js +23 -23
  40. package/esm2015/hd-space/hd-space.service.js +33 -33
  41. package/esm2015/hd-status/hd-status.component.js +50 -50
  42. package/esm2015/hd-status/hd-status.module.js +27 -27
  43. package/esm2015/hd-status/hd-status.service.js +33 -33
  44. package/esm2015/hd-table/hd-table.component.js +972 -972
  45. package/esm2015/hd-table/hd-table.module.js +43 -43
  46. package/esm2015/hd-table/hd-table.service.js +116 -116
  47. package/esm2015/hd-tip/hd-tip.component.js +37 -37
  48. package/esm2015/hd-tip/hd-tip.module.js +20 -20
  49. package/esm2015/index.js +6 -6
  50. package/esm2015/model/colWidth.js +37 -37
  51. package/esm2015/model/common-type.js +122 -122
  52. package/esm2015/model/staticConst.js +8 -8
  53. package/esm2015/public-api.js +19 -19
  54. package/esm2015/service/common-session.service.js +37 -37
  55. package/esm2015/utils.js +128 -128
  56. package/esm5/fantasy-ngzorro.js +38 -38
  57. package/esm5/fantasy-ngzorro.module.js +22 -22
  58. package/esm5/hd-button/hd-button.component.js +104 -104
  59. package/esm5/hd-button/hd-button.module.js +26 -26
  60. package/esm5/hd-button/hd-button.service.js +39 -39
  61. package/esm5/hd-button-group/hd-button-group.component.js +38 -38
  62. package/esm5/hd-button-group/hd-button-group.module.js +26 -26
  63. package/esm5/hd-component.module.js +47 -47
  64. package/esm5/hd-current-table/hd-current-table.component.js +260 -260
  65. package/esm5/hd-current-table/hd-current-table.module.js +27 -27
  66. package/esm5/hd-current-table/hd-current-table.service.js +46 -46
  67. package/esm5/hd-detail-form/hd-detail-form.component.js +77 -77
  68. package/esm5/hd-detail-form/hd-detail-form.module.js +24 -24
  69. package/esm5/hd-detail-form/hd-detail-form.service.js +20 -20
  70. package/esm5/hd-detail-lines/hd-detail-lines.component.js +314 -314
  71. package/esm5/hd-detail-lines/hd-detail-lines.module.js +27 -27
  72. package/esm5/hd-detail-lines/hd-detail-lines.service.js +22 -22
  73. package/esm5/hd-detail-tip/hd-detail-tip.component.js +72 -72
  74. package/esm5/hd-detail-tip/hd-detail-tip.module.js +26 -26
  75. package/esm5/hd-filter/hd-filter.component.js +231 -231
  76. package/esm5/hd-filter/hd-filter.module.js +29 -29
  77. package/esm5/hd-filter/hd-filter.service.js +77 -77
  78. package/esm5/hd-form/hd-form.component.js +424 -424
  79. package/esm5/hd-form/hd-form.module.js +29 -29
  80. package/esm5/hd-form/hd-form.service.js +141 -141
  81. package/esm5/hd-form-lines/hd-form-lines.component.js +1844 -1844
  82. package/esm5/hd-form-lines/hd-form-lines.module.js +33 -33
  83. package/esm5/hd-form-lines/hd-form-lines.service.js +137 -137
  84. package/esm5/hd-log/hd-log.component.js +35 -35
  85. package/esm5/hd-log/hd-log.module.js +29 -29
  86. package/esm5/hd-log/hd-log.service.js +50 -50
  87. package/esm5/hd-popconfirm/hd-popconfirm.component.js +65 -65
  88. package/esm5/hd-popconfirm/hd-popconfirm.module.js +31 -31
  89. package/esm5/hd-space/hd-space.component.js +56 -56
  90. package/esm5/hd-space/hd-space.module.js +27 -27
  91. package/esm5/hd-space/hd-space.service.js +40 -40
  92. package/esm5/hd-status/hd-status.component.js +62 -62
  93. package/esm5/hd-status/hd-status.module.js +31 -31
  94. package/esm5/hd-status/hd-status.service.js +35 -35
  95. package/esm5/hd-table/hd-table.component.js +1100 -1100
  96. package/esm5/hd-table/hd-table.module.js +47 -47
  97. package/esm5/hd-table/hd-table.service.js +136 -136
  98. package/esm5/hd-tip/hd-tip.component.js +42 -42
  99. package/esm5/hd-tip/hd-tip.module.js +24 -24
  100. package/esm5/index.js +6 -6
  101. package/esm5/model/colWidth.js +37 -37
  102. package/esm5/model/common-type.js +146 -146
  103. package/esm5/model/staticConst.js +8 -8
  104. package/esm5/public-api.js +19 -19
  105. package/esm5/service/common-session.service.js +54 -54
  106. package/esm5/utils.js +128 -128
  107. package/fantasy-ngzorro.d.ts +34 -34
  108. package/fantasy-ngzorro.metadata.json +1 -1
  109. package/fantasy-ngzorro.module.d.ts +2 -2
  110. package/fesm2015/fantasy-ngzorro.js +5223 -5223
  111. package/fesm2015/fantasy-ngzorro.js.map +1 -1
  112. package/fesm5/fantasy-ngzorro.js +6044 -6044
  113. package/fesm5/fantasy-ngzorro.js.map +1 -1
  114. package/hd-button/hd-button.component.d.ts +14 -14
  115. package/hd-button/hd-button.module.d.ts +2 -2
  116. package/hd-button/hd-button.service.d.ts +17 -17
  117. package/hd-button-group/hd-button-group.component.d.ts +7 -7
  118. package/hd-button-group/hd-button-group.module.d.ts +2 -2
  119. package/hd-component.module.d.ts +2 -2
  120. package/hd-current-table/hd-current-table.component.d.ts +43 -43
  121. package/hd-current-table/hd-current-table.module.d.ts +2 -2
  122. package/hd-current-table/hd-current-table.service.d.ts +13 -13
  123. package/hd-detail-form/hd-detail-form.component.d.ts +9 -9
  124. package/hd-detail-form/hd-detail-form.module.d.ts +2 -2
  125. package/hd-detail-form/hd-detail-form.service.d.ts +3 -3
  126. package/hd-detail-lines/hd-detail-lines.component.d.ts +48 -48
  127. package/hd-detail-lines/hd-detail-lines.module.d.ts +2 -2
  128. package/hd-detail-lines/hd-detail-lines.service.d.ts +7 -7
  129. package/hd-detail-tip/hd-detail-tip.component.d.ts +12 -12
  130. package/hd-detail-tip/hd-detail-tip.module.d.ts +2 -2
  131. package/hd-filter/hd-filter.component.d.ts +23 -23
  132. package/hd-filter/hd-filter.module.d.ts +2 -2
  133. package/hd-filter/hd-filter.service.d.ts +25 -25
  134. package/hd-form/hd-form.component.d.ts +25 -25
  135. package/hd-form/hd-form.module.d.ts +2 -2
  136. package/hd-form/hd-form.service.d.ts +51 -51
  137. package/hd-form-lines/hd-form-lines.component.d.ts +147 -147
  138. package/hd-form-lines/hd-form-lines.module.d.ts +2 -2
  139. package/hd-form-lines/hd-form-lines.service.d.ts +53 -53
  140. package/hd-log/hd-log.component.d.ts +6 -6
  141. package/hd-log/hd-log.module.d.ts +2 -2
  142. package/hd-log/hd-log.service.d.ts +6 -6
  143. package/hd-popconfirm/hd-popconfirm.component.d.ts +10 -10
  144. package/hd-popconfirm/hd-popconfirm.module.d.ts +2 -2
  145. package/hd-space/hd-space.component.d.ts +10 -10
  146. package/hd-space/hd-space.module.d.ts +2 -2
  147. package/hd-space/hd-space.service.d.ts +12 -12
  148. package/hd-status/hd-status.component.d.ts +9 -9
  149. package/hd-status/hd-status.module.d.ts +2 -2
  150. package/hd-status/hd-status.service.d.ts +11 -11
  151. package/hd-table/hd-table.component.d.ts +91 -91
  152. package/hd-table/hd-table.module.d.ts +2 -2
  153. package/hd-table/hd-table.service.d.ts +42 -42
  154. package/hd-tip/hd-tip.component.d.ts +8 -8
  155. package/hd-tip/hd-tip.module.d.ts +2 -2
  156. package/index.d.ts +2 -2
  157. package/model/colWidth.d.ts +17 -17
  158. package/model/common-type.d.ts +46 -46
  159. package/model/staticConst.d.ts +3 -3
  160. package/package.json +1 -1
  161. package/public-api.d.ts +15 -15
  162. package/service/common-session.service.d.ts +5 -5
  163. package/utils.d.ts +28 -28
@@ -1,315 +1,315 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import * as tslib_1 from "tslib";
6
- import { moveItemInArray } from '@angular/cdk/drag-drop';
7
- import { Component, ContentChild, EventEmitter, Input, Output, TemplateRef } from '@angular/core';
8
- import { round } from 'lodash';
9
- import { InputBoolean } from 'ng-zorro-antd/core';
10
- import { Page } from '../model/common-type';
11
- var HdDetailLinesComponent = /** @class */ (function () {
12
- function HdDetailLinesComponent() {
13
- this.showSelected = false;
14
- this.allowDrop = false;
15
- this.scroll = { x: '1px' };
16
- this.selectField = 'billNumber';
17
- this.selectEvent = new EventEmitter();
18
- // 合计区域
19
- this.showTotal = false;
20
- this.totalOption = [];
21
- this.columnsNumber = 0;
22
- this.hdFrontPagination = false;
23
- this.totalOptionList = [];
24
- this.tableData = new Page();
25
- this.tableLoading = false;
26
- // 表格分页参数
27
- this.tablePageIndex = 1;
28
- this.tablePageSize = 10;
29
- // 表格勾选参数
30
- this.isAllDisplayDataChecked = false;
31
- this.isIndeterminate = false;
32
- this.listOfDisplayData = [];
33
- this.listOfAllData = [];
34
- this.mapOfCheckedId = {};
35
- this.mapOfCheckList = {};
36
- }
37
- /**
38
- * @return {?}
39
- */
40
- HdDetailLinesComponent.prototype.ngOnInit = /**
41
- * @return {?}
42
- */
43
- function () {
44
- this.countSelected();
45
- this.calculateTotal();
46
- };
47
- /**
48
- * @return {?}
49
- */
50
- HdDetailLinesComponent.prototype.ngOnChanges = /**
51
- * @return {?}
52
- */
53
- function () {
54
- this.countSelected();
55
- this.calculateTotal();
56
- };
57
- /**
58
- * @private
59
- * @return {?}
60
- */
61
- HdDetailLinesComponent.prototype.countSelected = /**
62
- * @private
63
- * @return {?}
64
- */
65
- function () {
66
- var _this = this;
67
- if (this.showSelected && this.selectedField && this.lines && this.lines.length) {
68
- this.lines.forEach((/**
69
- * @param {?} item
70
- * @return {?}
71
- */
72
- function (item) {
73
- if (item[_this.selectedField] === true) {
74
- _this.mapOfCheckedId[item[_this.selectField]] = true;
75
- _this.mapOfCheckList[item[_this.selectField]] = item;
76
- }
77
- }));
78
- if (this.lines.length === Object.keys(this.mapOfCheckList).length) {
79
- this.isAllDisplayDataChecked = true;
80
- this.isIndeterminate = true;
81
- }
82
- }
83
- };
84
- Object.defineProperty(HdDetailLinesComponent.prototype, "LodashRound", {
85
- get: /**
86
- * @return {?}
87
- */
88
- function () {
89
- return round;
90
- },
91
- enumerable: true,
92
- configurable: true
93
- });
94
- /**
95
- * @param {?} event
96
- * @return {?}
97
- */
98
- HdDetailLinesComponent.prototype.drop = /**
99
- * @param {?} event
100
- * @return {?}
101
- */
102
- function (event) {
103
- moveItemInArray(this.lines, event.previousIndex, event.currentIndex);
104
- // 这里深拷贝去触发数据变化
105
- this.lines = JSON.parse(JSON.stringify(this.lines));
106
- };
107
- /**
108
- * @return {?}
109
- */
110
- HdDetailLinesComponent.prototype.calculateTotal = /**
111
- * @return {?}
112
- */
113
- function () {
114
- var _this = this;
115
- // 这里处理合计数据
116
- if (this.showTotal && this.lines && this.lines.length) {
117
- this.totalOptionList = new Array(Number(this.columnsNumber) - 1).fill('');
118
- this.totalOption.forEach((/**
119
- * @param {?} item
120
- * @return {?}
121
- */
122
- function (item) {
123
- if (item.insertIndex && (item.insertValue || item.insertValue === 0)) {
124
- _this.totalOptionList[item.insertIndex - 1] = {
125
- value: item.insertValue,
126
- align: item.align || 'right',
127
- showDecimal: item.showDecimal || false,
128
- isHide: item.isHide || false
129
- };
130
- }
131
- }));
132
- }
133
- };
134
- // 表格勾选逻辑
135
- // 表格勾选逻辑
136
- /**
137
- * @param {?} $event
138
- * @return {?}
139
- */
140
- HdDetailLinesComponent.prototype.currentPageDataChange =
141
- // 表格勾选逻辑
142
- /**
143
- * @param {?} $event
144
- * @return {?}
145
- */
146
- function ($event) {
147
- this.listOfDisplayData = $event;
148
- this.refreshStatus();
149
- };
150
- /**
151
- * @return {?}
152
- */
153
- HdDetailLinesComponent.prototype.resetStatus = /**
154
- * @return {?}
155
- */
156
- function () {
157
- this.isAllDisplayDataChecked = false;
158
- this.isIndeterminate = false;
159
- this.mapOfCheckedId = {};
160
- this.mapOfCheckList = {};
161
- this.selectEvent.emit([]);
162
- };
163
- /**
164
- * @param {?=} event
165
- * @param {?=} data
166
- * @return {?}
167
- */
168
- HdDetailLinesComponent.prototype.refreshStatus = /**
169
- * @param {?=} event
170
- * @param {?=} data
171
- * @return {?}
172
- */
173
- function (event, data) {
174
- var _this = this;
175
- if (event === void 0) { event = false; }
176
- if (data === void 0) { data = null; }
177
- if (event && data) {
178
- !this.mapOfCheckList[data[this.selectField]] && (this.mapOfCheckList[data[this.selectField]] = data);
179
- }
180
- else if (!event && data) {
181
- this.mapOfCheckList[data[this.selectField]] && delete this.mapOfCheckList[data[this.selectField]];
182
- }
183
- this.isAllDisplayDataChecked = this.listOfDisplayData.every((/**
184
- * @param {?} item
185
- * @return {?}
186
- */
187
- function (item) { return _this.mapOfCheckedId[item[_this.selectField]]; }));
188
- this.isIndeterminate =
189
- this.listOfDisplayData.some((/**
190
- * @param {?} item
191
- * @return {?}
192
- */
193
- function (item) { return _this.mapOfCheckedId[item[_this.selectField]]; })) && !this.isAllDisplayDataChecked;
194
- // 触发select事件
195
- if (this.selectEvent) {
196
- this.selectEvent.emit(Object.values(this.mapOfCheckList));
197
- }
198
- };
199
- /**
200
- * @param {?} value
201
- * @return {?}
202
- */
203
- HdDetailLinesComponent.prototype.checkAll = /**
204
- * @param {?} value
205
- * @return {?}
206
- */
207
- function (value) {
208
- var _this = this;
209
- this.listOfDisplayData.forEach((/**
210
- * @param {?} item
211
- * @return {?}
212
- */
213
- function (item) {
214
- if (value) {
215
- !_this.mapOfCheckList[item[_this.selectField]] && (_this.mapOfCheckList[item[_this.selectField]] = item);
216
- }
217
- else {
218
- _this.mapOfCheckList[item[_this.selectField]] && delete _this.mapOfCheckList[item[_this.selectField]];
219
- }
220
- _this.mapOfCheckedId[item[_this.selectField]] = value;
221
- }));
222
- this.refreshStatus();
223
- };
224
- HdDetailLinesComponent.decorators = [
225
- { type: Component, args: [{
226
- selector: 'hd-detail-lines',
227
- template: "<ng-container>\n <nz-table #hdTable [nzScroll]=\"scroll\" class=\"hd-table-container\" nzShowSizeChanger\n [nzFrontPagination]=\"hdFrontPagination\" [nzShowQuickJumper]=\"hdFrontPagination\" [nzShowTotal]=\"tableTotalTemplate\"\n nzSize=\"middle\" [nzData]=\"lines\" [nzLoading]=\"tableLoading\" [nzPageSizeOptions]=\"[ 10, 50, 100, 200 ]\"\n (nzCurrentPageDataChange)=\"showSelected ? currentPageDataChange($event) : null\">\n <thead>\n <tr>\n <th *ngIf=\"showSelected\" nzWidth=\"40px\" nzLeft=\"0px\" nzShowCheckbox [(nzChecked)]=\"isAllDisplayDataChecked\"\n [nzIndeterminate]=\"isIndeterminate\" (nzCheckedChange)=\"checkAll($event)\"></th>\n <ng-container *ngTemplateOutlet=\"detailLineHead\"></ng-container>\n </tr>\n </thead>\n <tbody *ngIf=\"!allowDrop;else allowDropTemplate\">\n <tr *ngFor=\"let data of hdTable.data;index as i\">\n <td *ngIf=\"showSelected\" nzWidth=\"40px\" nzLeft=\"0px\" nzShowCheckbox\n [(nzChecked)]=\"mapOfCheckedId[data[selectField]]\" (nzCheckedChange)=\"refreshStatus($event, data)\"></td>\n <ng-container *ngTemplateOutlet=\"detailLineBody;context:{$implicit: data, index: i}\"></ng-container>\n </tr>\n <!-- \u5408\u8BA1\u533A\u57DF -->\n <tr *ngIf=\"showTotal\" class=\"hd-table-total\">\n <td *ngIf=\"showSelected\"></td>\n <td>\u5408\u8BA1</td>\n <ng-container *ngFor=\"let totalOption of totalOptionList\">\n <td *ngIf=\"!totalOption.isHide\" [nzAlign]=\"totalOption.align ? totalOption.align : 'left'\">{{\n (totalOption.value || totalOption.value ===\n 0) ? (((totalOption.value % 1 === 0) && !totalOption.showDecimal ) ? totalOption.value :\n LodashRound(totalOption.value,2).toFixed(2)) : '' }} </td>\n </ng-container>\n </tr>\n </tbody>\n <ng-template #allowDropTemplate>\n <tbody cdkDropList (cdkDropListDropped)=\"drop($event)\">\n <tr *ngFor=\"let data of hdTable.data;index as i\" cdkDrag>\n <td *ngIf=\"showSelected\" nzWidth=\"40px\" nzLeft=\"0px\" nzShowCheckbox\n [(nzChecked)]=\"mapOfCheckedId[data[selectField]]\" (nzCheckedChange)=\"refreshStatus($event, data)\"></td>\n <ng-container *ngTemplateOutlet=\"detailLineBody;context:{$implicit: data, index: i}\"></ng-container>\n </tr>\n <!-- \u5408\u8BA1\u533A\u57DF -->\n <tr *ngIf=\"showTotal\" class=\"hd-table-total\">\n <td *ngIf=\"showSelected\"></td>\n <td>\u5408\u8BA1</td>\n <ng-container *ngFor=\"let totalOption of totalOptionList\">\n <td *ngIf=\"!totalOption.isHide\" [nzAlign]=\"totalOption.align ? totalOption.align : 'left'\">{{\n (totalOption.value || totalOption.value\n === 0) ? (((totalOption.value % 1 === 0) && !totalOption.showDecimal ) ? totalOption.value :\n LodashRound(totalOption.value,2).toFixed(2)) : '' }} </td>\n </ng-container>\n </tr>\n </tbody>\n </ng-template>\n <ng-template #tableTotalTemplate>\n \u5171 {{lines.length}} \u6761\u6570\u636E\n </ng-template>\n </nz-table>\n</ng-container>",
228
- styles: ["::ng-deep .common-btn-group>a{font-size:12px;font-weight:400;color:#12a34f!important;white-space:nowrap}::ng-deep .common-btn-group .common-danger-btn:hover{color:#f05b24!important}::ng-deep .common-btn-group>a:hover{color:#20bd62!important}::ng-deep .common-btn-group>a:not(:last-child)::after{content:'';margin:0 2px}::ng-deep .common-billNumber>a{color:#3b77e3}button{box-shadow:unset;text-shadow:unset}::ng-deep .ant-form-item-label>label{color:#4b504e}::ng-deep .ant-input-number-input{height:28px}::ng-deep .ant-input-number{height:28px}textarea.ant-input{height:auto;min-height:28px}::ng-deep .ant-select-selection--multiple{min-height:28px}::ng-deep .ant-select-selection__rendered>ul>li{height:22px!important;margin-top:3px!important;line-height:22px!important}::ng-deep .ant-advanced-search-form .ant-form-item{margin-bottom:0!important}::ng-deep .ant-select-selection--single{height:28px!important}::ng-deep .ant-input{height:28px}::ng-deep .ant-input[disabled]:hover{border-color:#d9d9d9!important}::ng-deep .ant-select-selection__rendered{line-height:28px!important}::ng-deep .ant-calendar-range-picker-input{text-align:left!important}::ng-deep .ant-calendar-picker{width:100%!important}::ng-deep .ant-row{margin-right:0!important;margin-left:0!important}::ng-deep .ant-col-6{padding-left:12px;padding-right:12px}::ng-deep .ant-col-12{padding-left:12px;padding-right:12px}::ng-deep .ant-col-18{padding-left:12px;padding-right:12px}::ng-deep .ant-col-24{padding-left:12px;padding-right:12px}::ng-deep .ant-alert-info{background-color:#f5f8f6;border:1px solid #cfe3d4}:host ::ng-deep th{background:#f5f8f6!important;font-weight:700!important;white-space:nowrap;font-size:12px;font-family:PingFangSC-Medium,PingFang SC;color:#2a3634;padding:8px!important;box-sizing:border-box}:host ::ng-deep td{font-weight:400;font-style:normal;font-size:12px;color:#2a3634;text-align:left;white-space:nowrap;padding:8px!important;box-sizing:border-box}::ng-deep .ant-pagination-options{display:inline-flex;align-items:center}::ng-deep .ant-time-picker{width:100%}.ant-input-number-disabled,.ant-input[disabled],.ant-select-disabled{color:#4b504e}.hd-table-container ::ng-deep .ant-pagination-options-quick-jumper input{border-radius:2px;border:1px solid #d9d9d9}.hd-table-container ::ng-deep .ant-pagination-options .ant-select-selection{border-radius:2px}.hd-table-container ::ng-deep .ant-table-thead>tr>th{border-bottom:1px solid #ecf1ed}.hd-table-container ::ng-deep .ant-table-tbody>tr>td{border-bottom:1px solid #ecf1ed}.hd-table-container ::ng-deep .hd-table-total>td{border:0!important}"]
229
- }] }
230
- ];
231
- /** @nocollapse */
232
- HdDetailLinesComponent.ctorParameters = function () { return []; };
233
- HdDetailLinesComponent.propDecorators = {
234
- lines: [{ type: Input }],
235
- showSelected: [{ type: Input }],
236
- allowDrop: [{ type: Input }],
237
- scroll: [{ type: Input }],
238
- selectField: [{ type: Input }],
239
- selectedField: [{ type: Input }],
240
- selectEvent: [{ type: Output }],
241
- detailLineHead: [{ type: ContentChild, args: ["detailLineHead", { static: false },] }],
242
- detailLineBody: [{ type: ContentChild, args: ["detailLineBody", { static: false },] }],
243
- showTotal: [{ type: Input }],
244
- totalOption: [{ type: Input }],
245
- columnsNumber: [{ type: Input }],
246
- hdFrontPagination: [{ type: Input }]
247
- };
248
- tslib_1.__decorate([
249
- InputBoolean(),
250
- tslib_1.__metadata("design:type", Boolean)
251
- ], HdDetailLinesComponent.prototype, "showSelected", void 0);
252
- tslib_1.__decorate([
253
- InputBoolean(),
254
- tslib_1.__metadata("design:type", Boolean)
255
- ], HdDetailLinesComponent.prototype, "allowDrop", void 0);
256
- tslib_1.__decorate([
257
- InputBoolean(),
258
- tslib_1.__metadata("design:type", Boolean)
259
- ], HdDetailLinesComponent.prototype, "showTotal", void 0);
260
- return HdDetailLinesComponent;
261
- }());
262
- export { HdDetailLinesComponent };
263
- if (false) {
264
- /** @type {?} */
265
- HdDetailLinesComponent.prototype.lines;
266
- /** @type {?} */
267
- HdDetailLinesComponent.prototype.showSelected;
268
- /** @type {?} */
269
- HdDetailLinesComponent.prototype.allowDrop;
270
- /** @type {?} */
271
- HdDetailLinesComponent.prototype.scroll;
272
- /** @type {?} */
273
- HdDetailLinesComponent.prototype.selectField;
274
- /** @type {?} */
275
- HdDetailLinesComponent.prototype.selectedField;
276
- /** @type {?} */
277
- HdDetailLinesComponent.prototype.selectEvent;
278
- /** @type {?} */
279
- HdDetailLinesComponent.prototype.detailLineHead;
280
- /** @type {?} */
281
- HdDetailLinesComponent.prototype.detailLineBody;
282
- /** @type {?} */
283
- HdDetailLinesComponent.prototype.showTotal;
284
- /** @type {?} */
285
- HdDetailLinesComponent.prototype.totalOption;
286
- /** @type {?} */
287
- HdDetailLinesComponent.prototype.columnsNumber;
288
- /** @type {?} */
289
- HdDetailLinesComponent.prototype.hdFrontPagination;
290
- /** @type {?} */
291
- HdDetailLinesComponent.prototype.totalOptionList;
292
- /** @type {?} */
293
- HdDetailLinesComponent.prototype.tableData;
294
- /** @type {?} */
295
- HdDetailLinesComponent.prototype.tableLoading;
296
- /** @type {?} */
297
- HdDetailLinesComponent.prototype.tablePageIndex;
298
- /** @type {?} */
299
- HdDetailLinesComponent.prototype.tablePageSize;
300
- /** @type {?} */
301
- HdDetailLinesComponent.prototype.isAllDisplayDataChecked;
302
- /** @type {?} */
303
- HdDetailLinesComponent.prototype.isIndeterminate;
304
- /** @type {?} */
305
- HdDetailLinesComponent.prototype.listOfDisplayData;
306
- /** @type {?} */
307
- HdDetailLinesComponent.prototype.listOfAllData;
308
- /** @type {?} */
309
- HdDetailLinesComponent.prototype.listOfSelection;
310
- /** @type {?} */
311
- HdDetailLinesComponent.prototype.mapOfCheckedId;
312
- /** @type {?} */
313
- HdDetailLinesComponent.prototype.mapOfCheckList;
314
- }
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import * as tslib_1 from "tslib";
6
+ import { moveItemInArray } from '@angular/cdk/drag-drop';
7
+ import { Component, ContentChild, EventEmitter, Input, Output, TemplateRef } from '@angular/core';
8
+ import { round } from 'lodash';
9
+ import { InputBoolean } from 'ng-zorro-antd/core';
10
+ import { Page } from '../model/common-type';
11
+ var HdDetailLinesComponent = /** @class */ (function () {
12
+ function HdDetailLinesComponent() {
13
+ this.showSelected = false;
14
+ this.allowDrop = false;
15
+ this.scroll = { x: '1px' };
16
+ this.selectField = 'billNumber';
17
+ this.selectEvent = new EventEmitter();
18
+ // 合计区域
19
+ this.showTotal = false;
20
+ this.totalOption = [];
21
+ this.columnsNumber = 0;
22
+ this.hdFrontPagination = false;
23
+ this.totalOptionList = [];
24
+ this.tableData = new Page();
25
+ this.tableLoading = false;
26
+ // 表格分页参数
27
+ this.tablePageIndex = 1;
28
+ this.tablePageSize = 10;
29
+ // 表格勾选参数
30
+ this.isAllDisplayDataChecked = false;
31
+ this.isIndeterminate = false;
32
+ this.listOfDisplayData = [];
33
+ this.listOfAllData = [];
34
+ this.mapOfCheckedId = {};
35
+ this.mapOfCheckList = {};
36
+ }
37
+ /**
38
+ * @return {?}
39
+ */
40
+ HdDetailLinesComponent.prototype.ngOnInit = /**
41
+ * @return {?}
42
+ */
43
+ function () {
44
+ this.countSelected();
45
+ this.calculateTotal();
46
+ };
47
+ /**
48
+ * @return {?}
49
+ */
50
+ HdDetailLinesComponent.prototype.ngOnChanges = /**
51
+ * @return {?}
52
+ */
53
+ function () {
54
+ this.countSelected();
55
+ this.calculateTotal();
56
+ };
57
+ /**
58
+ * @private
59
+ * @return {?}
60
+ */
61
+ HdDetailLinesComponent.prototype.countSelected = /**
62
+ * @private
63
+ * @return {?}
64
+ */
65
+ function () {
66
+ var _this = this;
67
+ if (this.showSelected && this.selectedField && this.lines && this.lines.length) {
68
+ this.lines.forEach((/**
69
+ * @param {?} item
70
+ * @return {?}
71
+ */
72
+ function (item) {
73
+ if (item[_this.selectedField] === true) {
74
+ _this.mapOfCheckedId[item[_this.selectField]] = true;
75
+ _this.mapOfCheckList[item[_this.selectField]] = item;
76
+ }
77
+ }));
78
+ if (this.lines.length === Object.keys(this.mapOfCheckList).length) {
79
+ this.isAllDisplayDataChecked = true;
80
+ this.isIndeterminate = true;
81
+ }
82
+ }
83
+ };
84
+ Object.defineProperty(HdDetailLinesComponent.prototype, "LodashRound", {
85
+ get: /**
86
+ * @return {?}
87
+ */
88
+ function () {
89
+ return round;
90
+ },
91
+ enumerable: true,
92
+ configurable: true
93
+ });
94
+ /**
95
+ * @param {?} event
96
+ * @return {?}
97
+ */
98
+ HdDetailLinesComponent.prototype.drop = /**
99
+ * @param {?} event
100
+ * @return {?}
101
+ */
102
+ function (event) {
103
+ moveItemInArray(this.lines, event.previousIndex, event.currentIndex);
104
+ // 这里深拷贝去触发数据变化
105
+ this.lines = JSON.parse(JSON.stringify(this.lines));
106
+ };
107
+ /**
108
+ * @return {?}
109
+ */
110
+ HdDetailLinesComponent.prototype.calculateTotal = /**
111
+ * @return {?}
112
+ */
113
+ function () {
114
+ var _this = this;
115
+ // 这里处理合计数据
116
+ if (this.showTotal && this.lines && this.lines.length) {
117
+ this.totalOptionList = new Array(Number(this.columnsNumber) - 1).fill('');
118
+ this.totalOption.forEach((/**
119
+ * @param {?} item
120
+ * @return {?}
121
+ */
122
+ function (item) {
123
+ if (item.insertIndex && (item.insertValue || item.insertValue === 0)) {
124
+ _this.totalOptionList[item.insertIndex - 1] = {
125
+ value: item.insertValue,
126
+ align: item.align || 'right',
127
+ showDecimal: item.showDecimal || false,
128
+ isHide: item.isHide || false
129
+ };
130
+ }
131
+ }));
132
+ }
133
+ };
134
+ // 表格勾选逻辑
135
+ // 表格勾选逻辑
136
+ /**
137
+ * @param {?} $event
138
+ * @return {?}
139
+ */
140
+ HdDetailLinesComponent.prototype.currentPageDataChange =
141
+ // 表格勾选逻辑
142
+ /**
143
+ * @param {?} $event
144
+ * @return {?}
145
+ */
146
+ function ($event) {
147
+ this.listOfDisplayData = $event;
148
+ this.refreshStatus();
149
+ };
150
+ /**
151
+ * @return {?}
152
+ */
153
+ HdDetailLinesComponent.prototype.resetStatus = /**
154
+ * @return {?}
155
+ */
156
+ function () {
157
+ this.isAllDisplayDataChecked = false;
158
+ this.isIndeterminate = false;
159
+ this.mapOfCheckedId = {};
160
+ this.mapOfCheckList = {};
161
+ this.selectEvent.emit([]);
162
+ };
163
+ /**
164
+ * @param {?=} event
165
+ * @param {?=} data
166
+ * @return {?}
167
+ */
168
+ HdDetailLinesComponent.prototype.refreshStatus = /**
169
+ * @param {?=} event
170
+ * @param {?=} data
171
+ * @return {?}
172
+ */
173
+ function (event, data) {
174
+ var _this = this;
175
+ if (event === void 0) { event = false; }
176
+ if (data === void 0) { data = null; }
177
+ if (event && data) {
178
+ !this.mapOfCheckList[data[this.selectField]] && (this.mapOfCheckList[data[this.selectField]] = data);
179
+ }
180
+ else if (!event && data) {
181
+ this.mapOfCheckList[data[this.selectField]] && delete this.mapOfCheckList[data[this.selectField]];
182
+ }
183
+ this.isAllDisplayDataChecked = this.listOfDisplayData.every((/**
184
+ * @param {?} item
185
+ * @return {?}
186
+ */
187
+ function (item) { return _this.mapOfCheckedId[item[_this.selectField]]; }));
188
+ this.isIndeterminate =
189
+ this.listOfDisplayData.some((/**
190
+ * @param {?} item
191
+ * @return {?}
192
+ */
193
+ function (item) { return _this.mapOfCheckedId[item[_this.selectField]]; })) && !this.isAllDisplayDataChecked;
194
+ // 触发select事件
195
+ if (this.selectEvent) {
196
+ this.selectEvent.emit(Object.values(this.mapOfCheckList));
197
+ }
198
+ };
199
+ /**
200
+ * @param {?} value
201
+ * @return {?}
202
+ */
203
+ HdDetailLinesComponent.prototype.checkAll = /**
204
+ * @param {?} value
205
+ * @return {?}
206
+ */
207
+ function (value) {
208
+ var _this = this;
209
+ this.listOfDisplayData.forEach((/**
210
+ * @param {?} item
211
+ * @return {?}
212
+ */
213
+ function (item) {
214
+ if (value) {
215
+ !_this.mapOfCheckList[item[_this.selectField]] && (_this.mapOfCheckList[item[_this.selectField]] = item);
216
+ }
217
+ else {
218
+ _this.mapOfCheckList[item[_this.selectField]] && delete _this.mapOfCheckList[item[_this.selectField]];
219
+ }
220
+ _this.mapOfCheckedId[item[_this.selectField]] = value;
221
+ }));
222
+ this.refreshStatus();
223
+ };
224
+ HdDetailLinesComponent.decorators = [
225
+ { type: Component, args: [{
226
+ selector: 'hd-detail-lines',
227
+ template: "<ng-container>\n <nz-table #hdTable [nzScroll]=\"scroll\" class=\"hd-table-container\" nzShowSizeChanger\n [nzFrontPagination]=\"hdFrontPagination\" [nzShowQuickJumper]=\"hdFrontPagination\" [nzShowTotal]=\"tableTotalTemplate\"\n nzSize=\"middle\" [nzData]=\"lines\" [nzLoading]=\"tableLoading\" [nzPageSizeOptions]=\"[ 10, 50, 100, 200 ]\"\n (nzCurrentPageDataChange)=\"showSelected ? currentPageDataChange($event) : null\">\n <thead>\n <tr>\n <th *ngIf=\"showSelected\" nzWidth=\"40px\" nzLeft=\"0px\" nzShowCheckbox [(nzChecked)]=\"isAllDisplayDataChecked\"\n [nzIndeterminate]=\"isIndeterminate\" (nzCheckedChange)=\"checkAll($event)\"></th>\n <ng-container *ngTemplateOutlet=\"detailLineHead\"></ng-container>\n </tr>\n </thead>\n <tbody *ngIf=\"!allowDrop;else allowDropTemplate\">\n <tr *ngFor=\"let data of hdTable.data;index as i\">\n <td *ngIf=\"showSelected\" nzWidth=\"40px\" nzLeft=\"0px\" nzShowCheckbox\n [(nzChecked)]=\"mapOfCheckedId[data[selectField]]\" (nzCheckedChange)=\"refreshStatus($event, data)\"></td>\n <ng-container *ngTemplateOutlet=\"detailLineBody;context:{$implicit: data, index: i}\"></ng-container>\n </tr>\n <!-- \u5408\u8BA1\u533A\u57DF -->\n <tr *ngIf=\"showTotal\" class=\"hd-table-total\">\n <td *ngIf=\"showSelected\"></td>\n <td>\u5408\u8BA1</td>\n <ng-container *ngFor=\"let totalOption of totalOptionList\">\n <td *ngIf=\"!totalOption.isHide\" [nzAlign]=\"totalOption.align ? totalOption.align : 'left'\">{{\n (totalOption.value || totalOption.value ===\n 0) ? (((totalOption.value % 1 === 0) && !totalOption.showDecimal ) ? totalOption.value :\n LodashRound(totalOption.value,2).toFixed(2)) : '' }} </td>\n </ng-container>\n </tr>\n </tbody>\n <ng-template #allowDropTemplate>\n <tbody cdkDropList (cdkDropListDropped)=\"drop($event)\">\n <tr *ngFor=\"let data of hdTable.data;index as i\" cdkDrag>\n <td *ngIf=\"showSelected\" nzWidth=\"40px\" nzLeft=\"0px\" nzShowCheckbox\n [(nzChecked)]=\"mapOfCheckedId[data[selectField]]\" (nzCheckedChange)=\"refreshStatus($event, data)\"></td>\n <ng-container *ngTemplateOutlet=\"detailLineBody;context:{$implicit: data, index: i}\"></ng-container>\n </tr>\n <!-- \u5408\u8BA1\u533A\u57DF -->\n <tr *ngIf=\"showTotal\" class=\"hd-table-total\">\n <td *ngIf=\"showSelected\"></td>\n <td>\u5408\u8BA1</td>\n <ng-container *ngFor=\"let totalOption of totalOptionList\">\n <td *ngIf=\"!totalOption.isHide\" [nzAlign]=\"totalOption.align ? totalOption.align : 'left'\">{{\n (totalOption.value || totalOption.value\n === 0) ? (((totalOption.value % 1 === 0) && !totalOption.showDecimal ) ? totalOption.value :\n LodashRound(totalOption.value,2).toFixed(2)) : '' }} </td>\n </ng-container>\n </tr>\n </tbody>\n </ng-template>\n <ng-template #tableTotalTemplate>\n \u5171 {{lines.length}} \u6761\u6570\u636E\n </ng-template>\n </nz-table>\n</ng-container>",
228
+ styles: ["::ng-deep .common-btn-group>a{font-size:12px;font-weight:400;color:#12a34f!important;white-space:nowrap}::ng-deep .common-btn-group .common-danger-btn:hover{color:#f05b24!important}::ng-deep .common-btn-group>a:hover{color:#20bd62!important}::ng-deep .common-btn-group>a:not(:last-child)::after{content:'';margin:0 2px}::ng-deep .common-billNumber>a{color:#3b77e3}button{box-shadow:unset;text-shadow:unset}::ng-deep .ant-form-item-label>label{color:#4b504e}::ng-deep .ant-input-number-input{height:28px}::ng-deep .ant-input-number{height:28px}textarea.ant-input{height:auto;min-height:28px}::ng-deep .ant-select-selection--multiple{min-height:28px}::ng-deep .ant-select-selection__rendered>ul>li{height:22px!important;margin-top:3px!important;line-height:22px!important}::ng-deep .ant-advanced-search-form .ant-form-item{margin-bottom:0!important}::ng-deep .ant-select-selection--single{height:28px!important}::ng-deep .ant-input{height:28px}::ng-deep .ant-input[disabled]:hover{border-color:#d9d9d9!important}::ng-deep .ant-select-selection__rendered{line-height:28px!important}::ng-deep .ant-calendar-range-picker-input{text-align:left!important}::ng-deep .ant-calendar-picker{width:100%!important}::ng-deep .ant-row{margin-right:0!important;margin-left:0!important}::ng-deep .ant-col-6{padding-left:12px;padding-right:12px}::ng-deep .ant-col-12{padding-left:12px;padding-right:12px}::ng-deep .ant-col-18{padding-left:12px;padding-right:12px}::ng-deep .ant-col-24{padding-left:12px;padding-right:12px}::ng-deep .ant-alert-info{background-color:#f5f8f6;border:1px solid #cfe3d4}:host ::ng-deep th{background:#f5f8f6!important;font-weight:700!important;white-space:nowrap;font-size:12px;font-family:PingFangSC-Medium,PingFang SC;color:#2a3634;padding:8px!important;box-sizing:border-box}:host ::ng-deep td{font-weight:400;font-style:normal;font-size:12px;color:#2a3634;text-align:left;white-space:nowrap;padding:8px!important;box-sizing:border-box}::ng-deep .ant-pagination-options{display:inline-flex;align-items:center}::ng-deep .ant-time-picker{width:100%}.ant-input-number-disabled,.ant-input[disabled],.ant-select-disabled{color:#4b504e}.hd-table-container ::ng-deep .ant-pagination-options-quick-jumper input{border-radius:2px;border:1px solid #d9d9d9}.hd-table-container ::ng-deep .ant-pagination-options .ant-select-selection{border-radius:2px}.hd-table-container ::ng-deep .ant-table-thead>tr>th{border-bottom:1px solid #ecf1ed}.hd-table-container ::ng-deep .ant-table-tbody>tr>td{border-bottom:1px solid #ecf1ed}.hd-table-container ::ng-deep .hd-table-total>td{border:0!important}"]
229
+ }] }
230
+ ];
231
+ /** @nocollapse */
232
+ HdDetailLinesComponent.ctorParameters = function () { return []; };
233
+ HdDetailLinesComponent.propDecorators = {
234
+ lines: [{ type: Input }],
235
+ showSelected: [{ type: Input }],
236
+ allowDrop: [{ type: Input }],
237
+ scroll: [{ type: Input }],
238
+ selectField: [{ type: Input }],
239
+ selectedField: [{ type: Input }],
240
+ selectEvent: [{ type: Output }],
241
+ detailLineHead: [{ type: ContentChild, args: ["detailLineHead", { static: false },] }],
242
+ detailLineBody: [{ type: ContentChild, args: ["detailLineBody", { static: false },] }],
243
+ showTotal: [{ type: Input }],
244
+ totalOption: [{ type: Input }],
245
+ columnsNumber: [{ type: Input }],
246
+ hdFrontPagination: [{ type: Input }]
247
+ };
248
+ tslib_1.__decorate([
249
+ InputBoolean(),
250
+ tslib_1.__metadata("design:type", Boolean)
251
+ ], HdDetailLinesComponent.prototype, "showSelected", void 0);
252
+ tslib_1.__decorate([
253
+ InputBoolean(),
254
+ tslib_1.__metadata("design:type", Boolean)
255
+ ], HdDetailLinesComponent.prototype, "allowDrop", void 0);
256
+ tslib_1.__decorate([
257
+ InputBoolean(),
258
+ tslib_1.__metadata("design:type", Boolean)
259
+ ], HdDetailLinesComponent.prototype, "showTotal", void 0);
260
+ return HdDetailLinesComponent;
261
+ }());
262
+ export { HdDetailLinesComponent };
263
+ if (false) {
264
+ /** @type {?} */
265
+ HdDetailLinesComponent.prototype.lines;
266
+ /** @type {?} */
267
+ HdDetailLinesComponent.prototype.showSelected;
268
+ /** @type {?} */
269
+ HdDetailLinesComponent.prototype.allowDrop;
270
+ /** @type {?} */
271
+ HdDetailLinesComponent.prototype.scroll;
272
+ /** @type {?} */
273
+ HdDetailLinesComponent.prototype.selectField;
274
+ /** @type {?} */
275
+ HdDetailLinesComponent.prototype.selectedField;
276
+ /** @type {?} */
277
+ HdDetailLinesComponent.prototype.selectEvent;
278
+ /** @type {?} */
279
+ HdDetailLinesComponent.prototype.detailLineHead;
280
+ /** @type {?} */
281
+ HdDetailLinesComponent.prototype.detailLineBody;
282
+ /** @type {?} */
283
+ HdDetailLinesComponent.prototype.showTotal;
284
+ /** @type {?} */
285
+ HdDetailLinesComponent.prototype.totalOption;
286
+ /** @type {?} */
287
+ HdDetailLinesComponent.prototype.columnsNumber;
288
+ /** @type {?} */
289
+ HdDetailLinesComponent.prototype.hdFrontPagination;
290
+ /** @type {?} */
291
+ HdDetailLinesComponent.prototype.totalOptionList;
292
+ /** @type {?} */
293
+ HdDetailLinesComponent.prototype.tableData;
294
+ /** @type {?} */
295
+ HdDetailLinesComponent.prototype.tableLoading;
296
+ /** @type {?} */
297
+ HdDetailLinesComponent.prototype.tablePageIndex;
298
+ /** @type {?} */
299
+ HdDetailLinesComponent.prototype.tablePageSize;
300
+ /** @type {?} */
301
+ HdDetailLinesComponent.prototype.isAllDisplayDataChecked;
302
+ /** @type {?} */
303
+ HdDetailLinesComponent.prototype.isIndeterminate;
304
+ /** @type {?} */
305
+ HdDetailLinesComponent.prototype.listOfDisplayData;
306
+ /** @type {?} */
307
+ HdDetailLinesComponent.prototype.listOfAllData;
308
+ /** @type {?} */
309
+ HdDetailLinesComponent.prototype.listOfSelection;
310
+ /** @type {?} */
311
+ HdDetailLinesComponent.prototype.mapOfCheckedId;
312
+ /** @type {?} */
313
+ HdDetailLinesComponent.prototype.mapOfCheckList;
314
+ }
315
315
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGQtZGV0YWlsLWxpbmVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2ZhbnRhc3ktbmd6b3Jyby8iLCJzb3VyY2VzIjpbImhkLWRldGFpbC1saW5lcy9oZC1kZXRhaWwtbGluZXMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFlLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHNUM7SUFvQ0U7UUE3QnlCLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBQzlCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0MsV0FBTSxHQUE4QixFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUNqRCxnQkFBVyxHQUFXLFlBQVksQ0FBQztRQUVsQyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7O1FBSWxCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0MsZ0JBQVcsR0FBdUIsRUFBRSxDQUFDO1FBQ3JDLGtCQUFhLEdBQW9CLENBQUMsQ0FBQztRQUNuQyxzQkFBaUIsR0FBWSxLQUFLLENBQUM7UUFDNUMsb0JBQWUsR0FBRyxFQUFFLENBQUM7UUFFckIsY0FBUyxHQUFjLElBQUksSUFBSSxFQUFFLENBQUM7UUFDbEMsaUJBQVksR0FBWSxLQUFLLENBQUM7O1FBRTlCLG1CQUFjLEdBQVcsQ0FBQyxDQUFDO1FBQzNCLGtCQUFhLEdBQVcsRUFBRSxDQUFDOztRQUUzQiw0QkFBdUIsR0FBRyxLQUFLLENBQUM7UUFD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QUFnRDs7SUFDaEQsZ0RBQWdEOztJQUNoRCxnREFBNEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtEcmFnRHJvcCwgbW92ZUl0ZW1JbkFycmF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyByb3VuZCB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBJbnB1dEJvb2xlYW4gfSBmcm9tICduZy16b3Jyby1hbnRkL2NvcmUnO1xuaW1wb3J0IHsgUGFnZSB9IGZyb20gJy4uL21vZGVsL2NvbW1vbi10eXBlJztcbmltcG9ydCB7IFRvdGFsT3B0aW9uIH0gZnJvbSAnLi9oZC1kZXRhaWwtbGluZXMuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2hkLWRldGFpbC1saW5lcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9oZC1kZXRhaWwtbGluZXMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9oZC1kZXRhaWwtbGluZXMuY29tcG9uZW50Lmxlc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBIZERldGFpbExpbmVzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgbGluZXM6IEFycmF5PGFueT47XG4gIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKSBzaG93U2VsZWN0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgQElucHV0Qm9vbGVhbigpIGFsbG93RHJvcDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBzY3JvbGw6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7IHg6ICcxcHgnIH07XG4gIEBJbnB1dCgpIHNlbGVjdEZpZWxkOiBzdHJpbmcgPSAnYmlsbE51bWJlcic7XG4gIEBJbnB1dCgpIHNlbGVjdGVkRmllbGQ6IHN0cmluZztcbiAgQE91dHB1dCgpIHNlbGVjdEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAQ29udGVudENoaWxkKFwiZGV0YWlsTGluZUhlYWRcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIGRldGFpbExpbmVIZWFkOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBAQ29udGVudENoaWxkKFwiZGV0YWlsTGluZUJvZHlcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIGRldGFpbExpbmVCb2R5OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAvLyDlkIjorqHljLrln59cbiAgQElucHV0KCkgQElucHV0Qm9vbGVhbigpIHNob3dUb3RhbDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSB0b3RhbE9wdGlvbjogQXJyYXk8VG90YWxPcHRpb24+ID0gW107XG4gIEBJbnB1dCgpIGNvbHVtbnNOdW1iZXI6IG51bWJlciB8IHN0cmluZyA9IDA7XG4gIEBJbnB1dCgpIGhkRnJvbnRQYWdpbmF0aW9uOiBib29sZWFuID0gZmFsc2U7XG4gIHRvdGFsT3B0aW9uTGlzdCA9IFtdO1xuXG4gIHRhYmxlRGF0YTogUGFnZTxhbnk+ID0gbmV3IFBhZ2UoKTtcbiAgdGFibGVMb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG4gIC8vIOihqOagvOWIhumhteWPguaVsFxuICB0YWJsZVBhZ2VJbmRleDogbnVtYmVyID0gMTtcbiAgdGFibGVQYWdlU2l6ZTogbnVtYmVyID0gMTA7XG4gIC8vIOihqOagvOWLvumAieWPguaVsFxuICBpc0FsbERpc3BsYXlEYXRhQ2hlY2tlZCA9IGZhbHNlO1xuICBpc0luZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgbGlzdE9mRGlzcGxheURhdGEgPSBbXTtcbiAgbGlzdE9mQWxsRGF0YSA9IFtdO1xuICBsaXN0T2ZTZWxlY3Rpb246IEFycmF5PGFueT4gfCBUZW1wbGF0ZVJlZjx2b2lkPjtcbiAgbWFwT2ZDaGVja2VkSWQ6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9ID0ge307XG4gIG1hcE9mQ2hlY2tMaXN0OiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge307XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNvdW50U2VsZWN0ZWQoKTtcbiAgICB0aGlzLmNhbGN1bGF0ZVRvdGFsKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmNvdW50U2VsZWN0ZWQoKTtcbiAgICB0aGlzLmNhbGN1bGF0ZVRvdGFsKCk7XG4gIH1cblxuICBwcml2YXRlIGNvdW50U2VsZWN0ZWQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2hvd1NlbGVjdGVkICYmIHRoaXMuc2VsZWN0ZWRGaWVsZCAmJiB0aGlzLmxpbmVzICYmIHRoaXMubGluZXMubGVuZ3RoKSB7XG4gICAgICB0aGlzLmxpbmVzLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgaWYgKGl0ZW1bdGhpcy5zZWxlY3RlZEZpZWxkXSA9PT0gdHJ1ZSkge1xuICAgICAgICAgIHRoaXMubWFwT2ZDaGVja2VkSWRbaXRlbVt0aGlzLnNlbGVjdEZpZWxkXV0gPSB0cnVlO1xuICAgICAgICAgIHRoaXMubWFwT2ZDaGVja0xpc3RbaXRlbVt0aGlzLnNlbGVjdEZpZWxkXV0gPSBpdGVtO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIGlmICh0aGlzLmxpbmVzLmxlbmd0aCA9PT0gT2JqZWN0LmtleXModGhpcy5tYXBPZkNoZWNrTGlzdCkubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMuaXNBbGxEaXNwbGF5RGF0YUNoZWNrZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLmlzSW5kZXRlcm1pbmF0ZSA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0IExvZGFzaFJvdW5kKCkge1xuICAgIHJldHVybiByb3VuZDtcbiAgfVxuXG4gIGRyb3AoZXZlbnQ6IENka0RyYWdEcm9wPHN0cmluZ1tdPik6IHZvaWQge1xuICAgIG1vdmVJdGVtSW5BcnJheSh0aGlzLmxpbmVzLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xuICAgIC8vIOi/memHjOa3seaLt+i0neWOu+inpuWPkeaVsOaNruWPmOWMllxuICAgIHRoaXMubGluZXMgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMubGluZXMpKTtcbiAgfVxuXG4gIGNhbGN1bGF0ZVRvdGFsKCkge1xuICAgIC8vIOi/memHjOWkhOeQhuWQiOiuoeaVsOaNrlxuICAgIGlmICh0aGlzLnNob3dUb3RhbCAmJiB0aGlzLmxpbmVzICYmIHRoaXMubGluZXMubGVuZ3RoKSB7XG4gICAgICB0aGlzLnRvdGFsT3B0aW9uTGlzdCA9IG5ldyBBcnJheShOdW1iZXIodGhpcy5jb2x1bW5zTnVtYmVyKSAtIDEpLmZpbGwoJycpO1xuICAgICAgdGhpcy50b3RhbE9wdGlvbi5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICBpZiAoaXRlbS5pbnNlcnRJbmRleCAmJiAoaXRlbS5pbnNlcnRWYWx1ZSB8fCBpdGVtLmluc2VydFZhbHVlID09PSAwKSkge1xuICAgICAgICAgIHRoaXMudG90YWxPcHRpb25MaXN0W2l0ZW0uaW5zZXJ0SW5kZXggLSAxXSA9IHtcbiAgICAgICAgICAgIHZhbHVlOiBpdGVtLmluc2VydFZhbHVlLFxuICAgICAgICAgICAgYWxpZ246IGl0ZW0uYWxpZ24gfHwgJ3JpZ2h0JyxcbiAgICAgICAgICAgIHNob3dEZWNpbWFsOiBpdGVtLnNob3dEZWNpbWFsIHx8IGZhbHNlLFxuICAgICAgICAgICAgaXNIaWRlOiBpdGVtLmlzSGlkZSB8fCBmYWxzZVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9XG4gIH1cblxuICAvLyDooajmoLzli77pgInpgLvovpFcbiAgY3VycmVudFBhZ2VEYXRhQ2hhbmdlKCRldmVudDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5saXN0T2ZEaXNwbGF5RGF0YSA9ICRldmVudDtcbiAgICB0aGlzLnJlZnJlc2hTdGF0dXMoKTtcbiAgfVxuXG4gIHJlc2V0U3RhdHVzKCkge1xuICAgIHRoaXMuaXNBbGxEaXNwbGF5RGF0YUNoZWNrZWQgPSBmYWxzZTtcbiAgICB0aGlzLmlzSW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICAgIHRoaXMubWFwT2ZDaGVja2VkSWQgPSB7fTtcbiAgICB0aGlzLm1hcE9mQ2hlY2tMaXN0ID0ge307XG4gICAgdGhpcy5zZWxlY3RFdmVudC5lbWl0KFtdKTtcbiAgfVxuXG4gIHJlZnJlc2hTdGF0dXMoZXZlbnQ6IGJvb2xlYW4gPSBmYWxzZSwgZGF0YTogYW55ID0gbnVsbCk6IHZvaWQge1xuICAgIGlmIChldmVudCAmJiBkYXRhKSB7XG4gICAgICAhdGhpcy5tYXBPZkNoZWNrTGlzdFtkYXRhW3RoaXMuc2VsZWN0RmllbGRdXSAmJiAodGhpcy5tYXBPZkNoZWNrTGlzdFtkYXRhW3RoaXMuc2VsZWN0RmllbGRdXSA9IGRhdGEpO1xuICAgIH0gZWxzZSBpZiAoIWV2ZW50ICYmIGRhdGEpIHtcbiAgICAgIHRoaXMubWFwT2ZDaGVja0xpc3RbZGF0YVt0aGlzLnNlbGVjdEZpZWxkXV0gJiYgZGVsZXRlIHRoaXMubWFwT2ZDaGVja0xpc3RbZGF0YVt0aGlzLnNlbGVjdEZpZWxkXV07XG4gICAgfVxuICAgIHRoaXMuaXNBbGxEaXNwbGF5RGF0YUNoZWNrZWQgPSB0aGlzLmxpc3RPZkRpc3BsYXlEYXRhLmV2ZXJ5KGl0ZW0gPT4gdGhpcy5tYXBPZkNoZWNrZWRJZFtpdGVtW3RoaXMuc2VsZWN0RmllbGRdXSk7XG4gICAgdGhpcy5pc0luZGV0ZXJtaW5hdGUgPVxuICAgICAgdGhpcy5saXN0T2ZEaXNwbGF5RGF0YS5zb21lKGl0ZW0gPT4gdGhpcy5tYXBPZkNoZWNrZWRJZFtpdGVtW3RoaXMuc2VsZWN0RmllbGRdXSkgJiYgIXRoaXMuaXNBbGxEaXNwbGF5RGF0YUNoZWNrZWQ7XG4gICAgLy8g6Kem5Y+Rc2VsZWN05LqL5Lu2XG4gICAgaWYgKHRoaXMuc2VsZWN0RXZlbnQpIHtcbiAgICAgIHRoaXMuc2VsZWN0RXZlbnQuZW1pdChPYmplY3QudmFsdWVzKHRoaXMubWFwT2ZDaGVja0xpc3QpKTtcbiAgICB9XG4gIH1cblxuICBjaGVja0FsbCh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMubGlzdE9mRGlzcGxheURhdGEuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAhdGhpcy5tYXBPZkNoZWNrTGlzdFtpdGVtW3RoaXMuc2VsZWN0RmllbGRdXSAmJiAodGhpcy5tYXBPZkNoZWNrTGlzdFtpdGVtW3RoaXMuc2VsZWN0RmllbGRdXSA9IGl0ZW0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5tYXBPZkNoZWNrTGlzdFtpdGVtW3RoaXMuc2VsZWN0RmllbGRdXSAmJiBkZWxldGUgdGhpcy5tYXBPZkNoZWNrTGlzdFtpdGVtW3RoaXMuc2VsZWN0RmllbGRdXTtcbiAgICAgIH1cbiAgICAgIHRoaXMubWFwT2ZDaGVja2VkSWRbaXRlbVt0aGlzLnNlbGVjdEZpZWxkXV0gPSB2YWx1ZVxuICAgIH0pO1xuICAgIHRoaXMucmVmcmVzaFN0YXR1cygpO1xuICB9XG59XG4iXX0=