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,267 +1,267 @@
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
- export class HdDetailLinesComponent {
12
- constructor() {
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
- ngOnInit() {
41
- this.countSelected();
42
- this.calculateTotal();
43
- }
44
- /**
45
- * @return {?}
46
- */
47
- ngOnChanges() {
48
- this.countSelected();
49
- this.calculateTotal();
50
- }
51
- /**
52
- * @private
53
- * @return {?}
54
- */
55
- countSelected() {
56
- if (this.showSelected && this.selectedField && this.lines && this.lines.length) {
57
- this.lines.forEach((/**
58
- * @param {?} item
59
- * @return {?}
60
- */
61
- (item) => {
62
- if (item[this.selectedField] === true) {
63
- this.mapOfCheckedId[item[this.selectField]] = true;
64
- this.mapOfCheckList[item[this.selectField]] = item;
65
- }
66
- }));
67
- if (this.lines.length === Object.keys(this.mapOfCheckList).length) {
68
- this.isAllDisplayDataChecked = true;
69
- this.isIndeterminate = true;
70
- }
71
- }
72
- }
73
- /**
74
- * @return {?}
75
- */
76
- get LodashRound() {
77
- return round;
78
- }
79
- /**
80
- * @param {?} event
81
- * @return {?}
82
- */
83
- drop(event) {
84
- moveItemInArray(this.lines, event.previousIndex, event.currentIndex);
85
- // 这里深拷贝去触发数据变化
86
- this.lines = JSON.parse(JSON.stringify(this.lines));
87
- }
88
- /**
89
- * @return {?}
90
- */
91
- calculateTotal() {
92
- // 这里处理合计数据
93
- if (this.showTotal && this.lines && this.lines.length) {
94
- this.totalOptionList = new Array(Number(this.columnsNumber) - 1).fill('');
95
- this.totalOption.forEach((/**
96
- * @param {?} item
97
- * @return {?}
98
- */
99
- item => {
100
- if (item.insertIndex && (item.insertValue || item.insertValue === 0)) {
101
- this.totalOptionList[item.insertIndex - 1] = {
102
- value: item.insertValue,
103
- align: item.align || 'right',
104
- showDecimal: item.showDecimal || false,
105
- isHide: item.isHide || false
106
- };
107
- }
108
- }));
109
- }
110
- }
111
- // 表格勾选逻辑
112
- /**
113
- * @param {?} $event
114
- * @return {?}
115
- */
116
- currentPageDataChange($event) {
117
- this.listOfDisplayData = $event;
118
- this.refreshStatus();
119
- }
120
- /**
121
- * @return {?}
122
- */
123
- resetStatus() {
124
- this.isAllDisplayDataChecked = false;
125
- this.isIndeterminate = false;
126
- this.mapOfCheckedId = {};
127
- this.mapOfCheckList = {};
128
- this.selectEvent.emit([]);
129
- }
130
- /**
131
- * @param {?=} event
132
- * @param {?=} data
133
- * @return {?}
134
- */
135
- refreshStatus(event = false, data = null) {
136
- if (event && data) {
137
- !this.mapOfCheckList[data[this.selectField]] && (this.mapOfCheckList[data[this.selectField]] = data);
138
- }
139
- else if (!event && data) {
140
- this.mapOfCheckList[data[this.selectField]] && delete this.mapOfCheckList[data[this.selectField]];
141
- }
142
- this.isAllDisplayDataChecked = this.listOfDisplayData.every((/**
143
- * @param {?} item
144
- * @return {?}
145
- */
146
- item => this.mapOfCheckedId[item[this.selectField]]));
147
- this.isIndeterminate =
148
- this.listOfDisplayData.some((/**
149
- * @param {?} item
150
- * @return {?}
151
- */
152
- item => this.mapOfCheckedId[item[this.selectField]])) && !this.isAllDisplayDataChecked;
153
- // 触发select事件
154
- if (this.selectEvent) {
155
- this.selectEvent.emit(Object.values(this.mapOfCheckList));
156
- }
157
- }
158
- /**
159
- * @param {?} value
160
- * @return {?}
161
- */
162
- checkAll(value) {
163
- this.listOfDisplayData.forEach((/**
164
- * @param {?} item
165
- * @return {?}
166
- */
167
- item => {
168
- if (value) {
169
- !this.mapOfCheckList[item[this.selectField]] && (this.mapOfCheckList[item[this.selectField]] = item);
170
- }
171
- else {
172
- this.mapOfCheckList[item[this.selectField]] && delete this.mapOfCheckList[item[this.selectField]];
173
- }
174
- this.mapOfCheckedId[item[this.selectField]] = value;
175
- }));
176
- this.refreshStatus();
177
- }
178
- }
179
- HdDetailLinesComponent.decorators = [
180
- { type: Component, args: [{
181
- selector: 'hd-detail-lines',
182
- 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>",
183
- 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}"]
184
- }] }
185
- ];
186
- /** @nocollapse */
187
- HdDetailLinesComponent.ctorParameters = () => [];
188
- HdDetailLinesComponent.propDecorators = {
189
- lines: [{ type: Input }],
190
- showSelected: [{ type: Input }],
191
- allowDrop: [{ type: Input }],
192
- scroll: [{ type: Input }],
193
- selectField: [{ type: Input }],
194
- selectedField: [{ type: Input }],
195
- selectEvent: [{ type: Output }],
196
- detailLineHead: [{ type: ContentChild, args: ["detailLineHead", { static: false },] }],
197
- detailLineBody: [{ type: ContentChild, args: ["detailLineBody", { static: false },] }],
198
- showTotal: [{ type: Input }],
199
- totalOption: [{ type: Input }],
200
- columnsNumber: [{ type: Input }],
201
- hdFrontPagination: [{ type: Input }]
202
- };
203
- tslib_1.__decorate([
204
- InputBoolean(),
205
- tslib_1.__metadata("design:type", Boolean)
206
- ], HdDetailLinesComponent.prototype, "showSelected", void 0);
207
- tslib_1.__decorate([
208
- InputBoolean(),
209
- tslib_1.__metadata("design:type", Boolean)
210
- ], HdDetailLinesComponent.prototype, "allowDrop", void 0);
211
- tslib_1.__decorate([
212
- InputBoolean(),
213
- tslib_1.__metadata("design:type", Boolean)
214
- ], HdDetailLinesComponent.prototype, "showTotal", void 0);
215
- if (false) {
216
- /** @type {?} */
217
- HdDetailLinesComponent.prototype.lines;
218
- /** @type {?} */
219
- HdDetailLinesComponent.prototype.showSelected;
220
- /** @type {?} */
221
- HdDetailLinesComponent.prototype.allowDrop;
222
- /** @type {?} */
223
- HdDetailLinesComponent.prototype.scroll;
224
- /** @type {?} */
225
- HdDetailLinesComponent.prototype.selectField;
226
- /** @type {?} */
227
- HdDetailLinesComponent.prototype.selectedField;
228
- /** @type {?} */
229
- HdDetailLinesComponent.prototype.selectEvent;
230
- /** @type {?} */
231
- HdDetailLinesComponent.prototype.detailLineHead;
232
- /** @type {?} */
233
- HdDetailLinesComponent.prototype.detailLineBody;
234
- /** @type {?} */
235
- HdDetailLinesComponent.prototype.showTotal;
236
- /** @type {?} */
237
- HdDetailLinesComponent.prototype.totalOption;
238
- /** @type {?} */
239
- HdDetailLinesComponent.prototype.columnsNumber;
240
- /** @type {?} */
241
- HdDetailLinesComponent.prototype.hdFrontPagination;
242
- /** @type {?} */
243
- HdDetailLinesComponent.prototype.totalOptionList;
244
- /** @type {?} */
245
- HdDetailLinesComponent.prototype.tableData;
246
- /** @type {?} */
247
- HdDetailLinesComponent.prototype.tableLoading;
248
- /** @type {?} */
249
- HdDetailLinesComponent.prototype.tablePageIndex;
250
- /** @type {?} */
251
- HdDetailLinesComponent.prototype.tablePageSize;
252
- /** @type {?} */
253
- HdDetailLinesComponent.prototype.isAllDisplayDataChecked;
254
- /** @type {?} */
255
- HdDetailLinesComponent.prototype.isIndeterminate;
256
- /** @type {?} */
257
- HdDetailLinesComponent.prototype.listOfDisplayData;
258
- /** @type {?} */
259
- HdDetailLinesComponent.prototype.listOfAllData;
260
- /** @type {?} */
261
- HdDetailLinesComponent.prototype.listOfSelection;
262
- /** @type {?} */
263
- HdDetailLinesComponent.prototype.mapOfCheckedId;
264
- /** @type {?} */
265
- HdDetailLinesComponent.prototype.mapOfCheckList;
266
- }
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
+ export class HdDetailLinesComponent {
12
+ constructor() {
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
+ ngOnInit() {
41
+ this.countSelected();
42
+ this.calculateTotal();
43
+ }
44
+ /**
45
+ * @return {?}
46
+ */
47
+ ngOnChanges() {
48
+ this.countSelected();
49
+ this.calculateTotal();
50
+ }
51
+ /**
52
+ * @private
53
+ * @return {?}
54
+ */
55
+ countSelected() {
56
+ if (this.showSelected && this.selectedField && this.lines && this.lines.length) {
57
+ this.lines.forEach((/**
58
+ * @param {?} item
59
+ * @return {?}
60
+ */
61
+ (item) => {
62
+ if (item[this.selectedField] === true) {
63
+ this.mapOfCheckedId[item[this.selectField]] = true;
64
+ this.mapOfCheckList[item[this.selectField]] = item;
65
+ }
66
+ }));
67
+ if (this.lines.length === Object.keys(this.mapOfCheckList).length) {
68
+ this.isAllDisplayDataChecked = true;
69
+ this.isIndeterminate = true;
70
+ }
71
+ }
72
+ }
73
+ /**
74
+ * @return {?}
75
+ */
76
+ get LodashRound() {
77
+ return round;
78
+ }
79
+ /**
80
+ * @param {?} event
81
+ * @return {?}
82
+ */
83
+ drop(event) {
84
+ moveItemInArray(this.lines, event.previousIndex, event.currentIndex);
85
+ // 这里深拷贝去触发数据变化
86
+ this.lines = JSON.parse(JSON.stringify(this.lines));
87
+ }
88
+ /**
89
+ * @return {?}
90
+ */
91
+ calculateTotal() {
92
+ // 这里处理合计数据
93
+ if (this.showTotal && this.lines && this.lines.length) {
94
+ this.totalOptionList = new Array(Number(this.columnsNumber) - 1).fill('');
95
+ this.totalOption.forEach((/**
96
+ * @param {?} item
97
+ * @return {?}
98
+ */
99
+ item => {
100
+ if (item.insertIndex && (item.insertValue || item.insertValue === 0)) {
101
+ this.totalOptionList[item.insertIndex - 1] = {
102
+ value: item.insertValue,
103
+ align: item.align || 'right',
104
+ showDecimal: item.showDecimal || false,
105
+ isHide: item.isHide || false
106
+ };
107
+ }
108
+ }));
109
+ }
110
+ }
111
+ // 表格勾选逻辑
112
+ /**
113
+ * @param {?} $event
114
+ * @return {?}
115
+ */
116
+ currentPageDataChange($event) {
117
+ this.listOfDisplayData = $event;
118
+ this.refreshStatus();
119
+ }
120
+ /**
121
+ * @return {?}
122
+ */
123
+ resetStatus() {
124
+ this.isAllDisplayDataChecked = false;
125
+ this.isIndeterminate = false;
126
+ this.mapOfCheckedId = {};
127
+ this.mapOfCheckList = {};
128
+ this.selectEvent.emit([]);
129
+ }
130
+ /**
131
+ * @param {?=} event
132
+ * @param {?=} data
133
+ * @return {?}
134
+ */
135
+ refreshStatus(event = false, data = null) {
136
+ if (event && data) {
137
+ !this.mapOfCheckList[data[this.selectField]] && (this.mapOfCheckList[data[this.selectField]] = data);
138
+ }
139
+ else if (!event && data) {
140
+ this.mapOfCheckList[data[this.selectField]] && delete this.mapOfCheckList[data[this.selectField]];
141
+ }
142
+ this.isAllDisplayDataChecked = this.listOfDisplayData.every((/**
143
+ * @param {?} item
144
+ * @return {?}
145
+ */
146
+ item => this.mapOfCheckedId[item[this.selectField]]));
147
+ this.isIndeterminate =
148
+ this.listOfDisplayData.some((/**
149
+ * @param {?} item
150
+ * @return {?}
151
+ */
152
+ item => this.mapOfCheckedId[item[this.selectField]])) && !this.isAllDisplayDataChecked;
153
+ // 触发select事件
154
+ if (this.selectEvent) {
155
+ this.selectEvent.emit(Object.values(this.mapOfCheckList));
156
+ }
157
+ }
158
+ /**
159
+ * @param {?} value
160
+ * @return {?}
161
+ */
162
+ checkAll(value) {
163
+ this.listOfDisplayData.forEach((/**
164
+ * @param {?} item
165
+ * @return {?}
166
+ */
167
+ item => {
168
+ if (value) {
169
+ !this.mapOfCheckList[item[this.selectField]] && (this.mapOfCheckList[item[this.selectField]] = item);
170
+ }
171
+ else {
172
+ this.mapOfCheckList[item[this.selectField]] && delete this.mapOfCheckList[item[this.selectField]];
173
+ }
174
+ this.mapOfCheckedId[item[this.selectField]] = value;
175
+ }));
176
+ this.refreshStatus();
177
+ }
178
+ }
179
+ HdDetailLinesComponent.decorators = [
180
+ { type: Component, args: [{
181
+ selector: 'hd-detail-lines',
182
+ 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>",
183
+ 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}"]
184
+ }] }
185
+ ];
186
+ /** @nocollapse */
187
+ HdDetailLinesComponent.ctorParameters = () => [];
188
+ HdDetailLinesComponent.propDecorators = {
189
+ lines: [{ type: Input }],
190
+ showSelected: [{ type: Input }],
191
+ allowDrop: [{ type: Input }],
192
+ scroll: [{ type: Input }],
193
+ selectField: [{ type: Input }],
194
+ selectedField: [{ type: Input }],
195
+ selectEvent: [{ type: Output }],
196
+ detailLineHead: [{ type: ContentChild, args: ["detailLineHead", { static: false },] }],
197
+ detailLineBody: [{ type: ContentChild, args: ["detailLineBody", { static: false },] }],
198
+ showTotal: [{ type: Input }],
199
+ totalOption: [{ type: Input }],
200
+ columnsNumber: [{ type: Input }],
201
+ hdFrontPagination: [{ type: Input }]
202
+ };
203
+ tslib_1.__decorate([
204
+ InputBoolean(),
205
+ tslib_1.__metadata("design:type", Boolean)
206
+ ], HdDetailLinesComponent.prototype, "showSelected", void 0);
207
+ tslib_1.__decorate([
208
+ InputBoolean(),
209
+ tslib_1.__metadata("design:type", Boolean)
210
+ ], HdDetailLinesComponent.prototype, "allowDrop", void 0);
211
+ tslib_1.__decorate([
212
+ InputBoolean(),
213
+ tslib_1.__metadata("design:type", Boolean)
214
+ ], HdDetailLinesComponent.prototype, "showTotal", void 0);
215
+ if (false) {
216
+ /** @type {?} */
217
+ HdDetailLinesComponent.prototype.lines;
218
+ /** @type {?} */
219
+ HdDetailLinesComponent.prototype.showSelected;
220
+ /** @type {?} */
221
+ HdDetailLinesComponent.prototype.allowDrop;
222
+ /** @type {?} */
223
+ HdDetailLinesComponent.prototype.scroll;
224
+ /** @type {?} */
225
+ HdDetailLinesComponent.prototype.selectField;
226
+ /** @type {?} */
227
+ HdDetailLinesComponent.prototype.selectedField;
228
+ /** @type {?} */
229
+ HdDetailLinesComponent.prototype.selectEvent;
230
+ /** @type {?} */
231
+ HdDetailLinesComponent.prototype.detailLineHead;
232
+ /** @type {?} */
233
+ HdDetailLinesComponent.prototype.detailLineBody;
234
+ /** @type {?} */
235
+ HdDetailLinesComponent.prototype.showTotal;
236
+ /** @type {?} */
237
+ HdDetailLinesComponent.prototype.totalOption;
238
+ /** @type {?} */
239
+ HdDetailLinesComponent.prototype.columnsNumber;
240
+ /** @type {?} */
241
+ HdDetailLinesComponent.prototype.hdFrontPagination;
242
+ /** @type {?} */
243
+ HdDetailLinesComponent.prototype.totalOptionList;
244
+ /** @type {?} */
245
+ HdDetailLinesComponent.prototype.tableData;
246
+ /** @type {?} */
247
+ HdDetailLinesComponent.prototype.tableLoading;
248
+ /** @type {?} */
249
+ HdDetailLinesComponent.prototype.tablePageIndex;
250
+ /** @type {?} */
251
+ HdDetailLinesComponent.prototype.tablePageSize;
252
+ /** @type {?} */
253
+ HdDetailLinesComponent.prototype.isAllDisplayDataChecked;
254
+ /** @type {?} */
255
+ HdDetailLinesComponent.prototype.isIndeterminate;
256
+ /** @type {?} */
257
+ HdDetailLinesComponent.prototype.listOfDisplayData;
258
+ /** @type {?} */
259
+ HdDetailLinesComponent.prototype.listOfAllData;
260
+ /** @type {?} */
261
+ HdDetailLinesComponent.prototype.listOfSelection;
262
+ /** @type {?} */
263
+ HdDetailLinesComponent.prototype.mapOfCheckedId;
264
+ /** @type {?} */
265
+ HdDetailLinesComponent.prototype.mapOfCheckList;
266
+ }
267
267
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGQtZGV0YWlsLWxpbmVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2ZhbnRhc3ktbmd6b3Jyby8iLCJzb3VyY2VzIjpbImhkLWRldGFpbC1saW5lcy9oZC1kZXRhaWwtbGluZXMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFlLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFRNUMsTUFBTSxPQUFPLHNCQUFzQjtJQStCakM7UUE3QnlCLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBQzlCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0MsV0FBTSxHQUE4QixFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUNqRCxnQkFBVyxHQUFXLFlBQVksQ0FBQztRQUVsQyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7O1FBSWxCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0MsZ0JBQVcsR0FBdUIsRUFBRSxDQUFDO1FBQ3JDLGtCQUFhLEdBQW9CLENBQUMsQ0FBQztRQUNuQyxzQkFBaUIsR0FBWSxLQUFLLENBQUM7UUFDNUMsb0JBQWUsR0FBRyxFQUFFLENBQUM7UUFFckIsY0FBUyxHQUFjLElBQUksSUFBSSxFQUFFLENBQUM7UUFDbEMsaUJBQVksR0FBWSxLQUFLLENBQUM7O1FBRTlCLG1CQUFjLEdBQVcsQ0FBQyxDQUFDO1FBQzNCLGtCQUFhLEdBQVcsRUFBRSxDQUFDOztRQUUzQiw0QkFBdUIs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O2dCQUNULFFBQVEsRUFBRSxpQkFBaUI7Z0JBQzNCLDJuR0FBK0M7O2FBRWhEOzs7OztvQkFFRSxLQUFLOzJCQUNMLEtBQUs7d0JBQ0wsS0FBSztxQkFDTCxLQUFLOzBCQUNMLEtBQUs7NEJBQ0wsS0FBSzswQkFDTCxNQUFNOzZCQUNOLFlBQVksU0FBQyxnQkFBZ0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7NkJBQ2hELFlBQVksU0FBQyxnQkFBZ0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7d0JBRWhELEtBQUs7MEJBQ0wsS0FBSzs0QkFDTCxLQUFLO2dDQUNMLEtBQUs7O0FBWm1CO0lBQWYsWUFBWSxFQUFFOzs0REFBK0I7QUFDOUI7SUFBZixZQUFZLEVBQUU7O3lEQUE0QjtBQVEzQjtJQUFmLFlBQVksRUFBRTs7eURBQTRCOzs7SUFWcEQsdUNBQTJCOztJQUMzQiw4Q0FBdUQ7O0lBQ3ZELDJDQUFvRDs7SUFDcEQsd0NBQTBEOztJQUMxRCw2Q0FBNEM7O0lBQzVDLCtDQUErQjs7SUFDL0IsNkNBQTJDOztJQUMzQyxnREFBb0Y7O0lBQ3BGLGdEQUFvRjs7SUFFcEYsMkNBQW9EOztJQUNwRCw2Q0FBOEM7O0lBQzlDLCtDQUE0Qzs7SUFDNUMsbURBQTRDOztJQUM1QyxpREFBcUI7O0lBRXJCLDJDQUFrQzs7SUFDbEMsOENBQThCOztJQUU5QixnREFBMkI7O0lBQzNCLCtDQUEyQjs7SUFFM0IseURBQWdDOztJQUNoQyxpREFBd0I7O0lBQ3hCLG1EQUF1Qjs7SUFDdkIsK0NBQW1COztJQUNuQixpREFBZ0Q7O0lBQ2hELGdEQUFnRDs7SUFDaEQsZ0RBQTRDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AsIG1vdmVJdGVtSW5BcnJheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgcm91bmQgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgSW5wdXRCb29sZWFuIH0gZnJvbSAnbmctem9ycm8tYW50ZC9jb3JlJztcbmltcG9ydCB7IFBhZ2UgfSBmcm9tICcuLi9tb2RlbC9jb21tb24tdHlwZSc7XG5pbXBvcnQgeyBUb3RhbE9wdGlvbiB9IGZyb20gJy4vaGQtZGV0YWlsLWxpbmVzLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdoZC1kZXRhaWwtbGluZXMnLFxuICB0ZW1wbGF0ZVVybDogJy4vaGQtZGV0YWlsLWxpbmVzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaGQtZGV0YWlsLWxpbmVzLmNvbXBvbmVudC5sZXNzJ11cbn0pXG5leHBvcnQgY2xhc3MgSGREZXRhaWxMaW5lc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGxpbmVzOiBBcnJheTxhbnk+O1xuICBASW5wdXQoKSBASW5wdXRCb29sZWFuKCkgc2hvd1NlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKSBhbGxvd0Ryb3A6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgc2Nyb2xsOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0geyB4OiAnMXB4JyB9O1xuICBASW5wdXQoKSBzZWxlY3RGaWVsZDogc3RyaW5nID0gJ2JpbGxOdW1iZXInO1xuICBASW5wdXQoKSBzZWxlY3RlZEZpZWxkOiBzdHJpbmc7XG4gIEBPdXRwdXQoKSBzZWxlY3RFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQENvbnRlbnRDaGlsZChcImRldGFpbExpbmVIZWFkXCIsIHsgc3RhdGljOiBmYWxzZSB9KSBkZXRhaWxMaW5lSGVhZDogVGVtcGxhdGVSZWY8YW55PjtcbiAgQENvbnRlbnRDaGlsZChcImRldGFpbExpbmVCb2R5XCIsIHsgc3RhdGljOiBmYWxzZSB9KSBkZXRhaWxMaW5lQm9keTogVGVtcGxhdGVSZWY8YW55PjtcbiAgLy8g5ZCI6K6h5Yy65Z+fXG4gIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKSBzaG93VG90YWw6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgdG90YWxPcHRpb246IEFycmF5PFRvdGFsT3B0aW9uPiA9IFtdO1xuICBASW5wdXQoKSBjb2x1bW5zTnVtYmVyOiBudW1iZXIgfCBzdHJpbmcgPSAwO1xuICBASW5wdXQoKSBoZEZyb250UGFnaW5hdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuICB0b3RhbE9wdGlvbkxpc3QgPSBbXTtcblxuICB0YWJsZURhdGE6IFBhZ2U8YW55PiA9IG5ldyBQYWdlKCk7XG4gIHRhYmxlTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuICAvLyDooajmoLzliIbpobXlj4LmlbBcbiAgdGFibGVQYWdlSW5kZXg6IG51bWJlciA9IDE7XG4gIHRhYmxlUGFnZVNpemU6IG51bWJlciA9IDEwO1xuICAvLyDooajmoLzli77pgInlj4LmlbBcbiAgaXNBbGxEaXNwbGF5RGF0YUNoZWNrZWQgPSBmYWxzZTtcbiAgaXNJbmRldGVybWluYXRlID0gZmFsc2U7XG4gIGxpc3RPZkRpc3BsYXlEYXRhID0gW107XG4gIGxpc3RPZkFsbERhdGEgPSBbXTtcbiAgbGlzdE9mU2VsZWN0aW9uOiBBcnJheTxhbnk+IHwgVGVtcGxhdGVSZWY8dm9pZD47XG4gIG1hcE9mQ2hlY2tlZElkOiB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfSA9IHt9O1xuICBtYXBPZkNoZWNrTGlzdDogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jb3VudFNlbGVjdGVkKCk7XG4gICAgdGhpcy5jYWxjdWxhdGVUb3RhbCgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5jb3VudFNlbGVjdGVkKCk7XG4gICAgdGhpcy5jYWxjdWxhdGVUb3RhbCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBjb3VudFNlbGVjdGVkKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNob3dTZWxlY3RlZCAmJiB0aGlzLnNlbGVjdGVkRmllbGQgJiYgdGhpcy5saW5lcyAmJiB0aGlzLmxpbmVzLmxlbmd0aCkge1xuICAgICAgdGhpcy5saW5lcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgIGlmIChpdGVtW3RoaXMuc2VsZWN0ZWRGaWVsZF0gPT09IHRydWUpIHtcbiAgICAgICAgICB0aGlzLm1hcE9mQ2hlY2tlZElkW2l0ZW1bdGhpcy5zZWxlY3RGaWVsZF1dID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLm1hcE9mQ2hlY2tMaXN0W2l0ZW1bdGhpcy5zZWxlY3RGaWVsZF1dID0gaXRlbTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBpZiAodGhpcy5saW5lcy5sZW5ndGggPT09IE9iamVjdC5rZXlzKHRoaXMubWFwT2ZDaGVja0xpc3QpLmxlbmd0aCkge1xuICAgICAgICB0aGlzLmlzQWxsRGlzcGxheURhdGFDaGVja2VkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5pc0luZGV0ZXJtaW5hdGUgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldCBMb2Rhc2hSb3VuZCgpIHtcbiAgICByZXR1cm4gcm91bmQ7XG4gIH1cblxuICBkcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxzdHJpbmdbXT4pOiB2b2lkIHtcbiAgICBtb3ZlSXRlbUluQXJyYXkodGhpcy5saW5lcywgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcbiAgICAvLyDov5nph4zmt7Hmi7fotJ3ljrvop6blj5HmlbDmja7lj5jljJZcbiAgICB0aGlzLmxpbmVzID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLmxpbmVzKSk7XG4gIH1cblxuICBjYWxjdWxhdGVUb3RhbCgpIHtcbiAgICAvLyDov5nph4zlpITnkIblkIjorqHmlbDmja5cbiAgICBpZiAodGhpcy5zaG93VG90YWwgJiYgdGhpcy5saW5lcyAmJiB0aGlzLmxpbmVzLmxlbmd0aCkge1xuICAgICAgdGhpcy50b3RhbE9wdGlvbkxpc3QgPSBuZXcgQXJyYXkoTnVtYmVyKHRoaXMuY29sdW1uc051bWJlcikgLSAxKS5maWxsKCcnKTtcbiAgICAgIHRoaXMudG90YWxPcHRpb24uZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgaWYgKGl0ZW0uaW5zZXJ0SW5kZXggJiYgKGl0ZW0uaW5zZXJ0VmFsdWUgfHwgaXRlbS5pbnNlcnRWYWx1ZSA9PT0gMCkpIHtcbiAgICAgICAgICB0aGlzLnRvdGFsT3B0aW9uTGlzdFtpdGVtLmluc2VydEluZGV4IC0gMV0gPSB7XG4gICAgICAgICAgICB2YWx1ZTogaXRlbS5pbnNlcnRWYWx1ZSxcbiAgICAgICAgICAgIGFsaWduOiBpdGVtLmFsaWduIHx8ICdyaWdodCcsXG4gICAgICAgICAgICBzaG93RGVjaW1hbDogaXRlbS5zaG93RGVjaW1hbCB8fCBmYWxzZSxcbiAgICAgICAgICAgIGlzSGlkZTogaXRlbS5pc0hpZGUgfHwgZmFsc2VcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuICB9XG5cbiAgLy8g6KGo5qC85Yu+6YCJ6YC76L6RXG4gIGN1cnJlbnRQYWdlRGF0YUNoYW5nZSgkZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMubGlzdE9mRGlzcGxheURhdGEgPSAkZXZlbnQ7XG4gICAgdGhpcy5yZWZyZXNoU3RhdHVzKCk7XG4gIH1cblxuICByZXNldFN0YXR1cygpIHtcbiAgICB0aGlzLmlzQWxsRGlzcGxheURhdGFDaGVja2VkID0gZmFsc2U7XG4gICAgdGhpcy5pc0luZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgICB0aGlzLm1hcE9mQ2hlY2tlZElkID0ge307XG4gICAgdGhpcy5tYXBPZkNoZWNrTGlzdCA9IHt9O1xuICAgIHRoaXMuc2VsZWN0RXZlbnQuZW1pdChbXSk7XG4gIH1cblxuICByZWZyZXNoU3RhdHVzKGV2ZW50OiBib29sZWFuID0gZmFsc2UsIGRhdGE6IGFueSA9IG51bGwpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQgJiYgZGF0YSkge1xuICAgICAgIXRoaXMubWFwT2ZDaGVja0xpc3RbZGF0YVt0aGlzLnNlbGVjdEZpZWxkXV0gJiYgKHRoaXMubWFwT2ZDaGVja0xpc3RbZGF0YVt0aGlzLnNlbGVjdEZpZWxkXV0gPSBkYXRhKTtcbiAgICB9IGVsc2UgaWYgKCFldmVudCAmJiBkYXRhKSB7XG4gICAgICB0aGlzLm1hcE9mQ2hlY2tMaXN0W2RhdGFbdGhpcy5zZWxlY3RGaWVsZF1dICYmIGRlbGV0ZSB0aGlzLm1hcE9mQ2hlY2tMaXN0W2RhdGFbdGhpcy5zZWxlY3RGaWVsZF1dO1xuICAgIH1cbiAgICB0aGlzLmlzQWxsRGlzcGxheURhdGFDaGVja2VkID0gdGhpcy5saXN0T2ZEaXNwbGF5RGF0YS5ldmVyeShpdGVtID0+IHRoaXMubWFwT2ZDaGVja2VkSWRbaXRlbVt0aGlzLnNlbGVjdEZpZWxkXV0pO1xuICAgIHRoaXMuaXNJbmRldGVybWluYXRlID1cbiAgICAgIHRoaXMubGlzdE9mRGlzcGxheURhdGEuc29tZShpdGVtID0+IHRoaXMubWFwT2ZDaGVja2VkSWRbaXRlbVt0aGlzLnNlbGVjdEZpZWxkXV0pICYmICF0aGlzLmlzQWxsRGlzcGxheURhdGFDaGVja2VkO1xuICAgIC8vIOinpuWPkXNlbGVjdOS6i+S7tlxuICAgIGlmICh0aGlzLnNlbGVjdEV2ZW50KSB7XG4gICAgICB0aGlzLnNlbGVjdEV2ZW50LmVtaXQoT2JqZWN0LnZhbHVlcyh0aGlzLm1hcE9mQ2hlY2tMaXN0KSk7XG4gICAgfVxuICB9XG5cbiAgY2hlY2tBbGwodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RPZkRpc3BsYXlEYXRhLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgIXRoaXMubWFwT2ZDaGVja0xpc3RbaXRlbVt0aGlzLnNlbGVjdEZpZWxkXV0gJiYgKHRoaXMubWFwT2ZDaGVja0xpc3RbaXRlbVt0aGlzLnNlbGVjdEZpZWxkXV0gPSBpdGVtKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubWFwT2ZDaGVja0xpc3RbaXRlbVt0aGlzLnNlbGVjdEZpZWxkXV0gJiYgZGVsZXRlIHRoaXMubWFwT2ZDaGVja0xpc3RbaXRlbVt0aGlzLnNlbGVjdEZpZWxkXV07XG4gICAgICB9XG4gICAgICB0aGlzLm1hcE9mQ2hlY2tlZElkW2l0ZW1bdGhpcy5zZWxlY3RGaWVsZF1dID0gdmFsdWVcbiAgICB9KTtcbiAgICB0aGlzLnJlZnJlc2hTdGF0dXMoKTtcbiAgfVxufVxuIl19
@@ -1,24 +1,24 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';
6
- import { CommonModule } from '@angular/common';
7
- import { HdDetailLinesComponent } from './hd-detail-lines.component';
8
- import { NzTableModule } from 'ng-zorro-antd/table';
9
- import { DragDropModule } from '@angular/cdk/drag-drop';
10
- export class HdDetailLinesModule {
11
- }
12
- HdDetailLinesModule.decorators = [
13
- { type: NgModule, args: [{
14
- imports: [
15
- CommonModule,
16
- NzTableModule,
17
- DragDropModule
18
- ],
19
- declarations: [HdDetailLinesComponent],
20
- exports: [HdDetailLinesComponent],
21
- schemas: [NO_ERRORS_SCHEMA]
22
- },] }
23
- ];
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';
6
+ import { CommonModule } from '@angular/common';
7
+ import { HdDetailLinesComponent } from './hd-detail-lines.component';
8
+ import { NzTableModule } from 'ng-zorro-antd/table';
9
+ import { DragDropModule } from '@angular/cdk/drag-drop';
10
+ export class HdDetailLinesModule {
11
+ }
12
+ HdDetailLinesModule.decorators = [
13
+ { type: NgModule, args: [{
14
+ imports: [
15
+ CommonModule,
16
+ NzTableModule,
17
+ DragDropModule
18
+ ],
19
+ declarations: [HdDetailLinesComponent],
20
+ exports: [HdDetailLinesComponent],
21
+ schemas: [NO_ERRORS_SCHEMA]
22
+ },] }
23
+ ];
24
24
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGQtZGV0YWlsLWxpbmVzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2ZhbnRhc3ktbmd6b3Jyby8iLCJzb3VyY2VzIjpbImhkLWRldGFpbC1saW5lcy9oZC1kZXRhaWwtbGluZXMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBWXhELE1BQU0sT0FBTyxtQkFBbUI7OztZQVYvQixRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osYUFBYTtvQkFDYixjQUFjO2lCQUNmO2dCQUNELFlBQVksRUFBRSxDQUFDLHNCQUFzQixDQUFDO2dCQUN0QyxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztnQkFDakMsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7YUFDNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgTk9fRVJST1JTX1NDSEVNQSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEhkRGV0YWlsTGluZXNDb21wb25lbnQgfSBmcm9tICcuL2hkLWRldGFpbC1saW5lcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTnpUYWJsZU1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvdGFibGUnO1xuaW1wb3J0IHsgRHJhZ0Ryb3BNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBOelRhYmxlTW9kdWxlLFxuICAgIERyYWdEcm9wTW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW0hkRGV0YWlsTGluZXNDb21wb25lbnRdLFxuICBleHBvcnRzOiBbSGREZXRhaWxMaW5lc0NvbXBvbmVudF0sXG4gIHNjaGVtYXM6IFtOT19FUlJPUlNfU0NIRU1BXVxufSlcbmV4cG9ydCBjbGFzcyBIZERldGFpbExpbmVzTW9kdWxlIHsgfVxuIl19