@delon/abc 18.3.0 → 19.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (264) hide show
  1. package/auto-focus/auto-focus.directive.d.ts +3 -5
  2. package/avatar-list/avatar-list.component.d.ts +3 -0
  3. package/avatar-list/avatar-list.module.d.ts +3 -0
  4. package/exception/exception.component.d.ts +1 -1
  5. package/fesm2022/auto-focus.mjs +19 -28
  6. package/fesm2022/auto-focus.mjs.map +1 -1
  7. package/fesm2022/avatar-list.mjs +35 -27
  8. package/fesm2022/avatar-list.mjs.map +1 -1
  9. package/fesm2022/cell.mjs +104 -107
  10. package/fesm2022/cell.mjs.map +1 -1
  11. package/fesm2022/chart-observer-size.mjs +17 -22
  12. package/fesm2022/chart-observer-size.mjs.map +1 -1
  13. package/fesm2022/count-down.mjs +11 -12
  14. package/fesm2022/count-down.mjs.map +1 -1
  15. package/fesm2022/date-picker.mjs +26 -26
  16. package/fesm2022/date-picker.mjs.map +1 -1
  17. package/fesm2022/down-file.mjs +19 -15
  18. package/fesm2022/down-file.mjs.map +1 -1
  19. package/fesm2022/ellipsis.mjs +29 -25
  20. package/fesm2022/ellipsis.mjs.map +1 -1
  21. package/fesm2022/error-collect.mjs +22 -21
  22. package/fesm2022/error-collect.mjs.map +1 -1
  23. package/fesm2022/exception.mjs +24 -20
  24. package/fesm2022/exception.mjs.map +1 -1
  25. package/fesm2022/footer-toolbar.mjs +13 -14
  26. package/fesm2022/footer-toolbar.mjs.map +1 -1
  27. package/fesm2022/full-content.mjs +31 -38
  28. package/fesm2022/full-content.mjs.map +1 -1
  29. package/fesm2022/global-footer.mjs +24 -23
  30. package/fesm2022/global-footer.mjs.map +1 -1
  31. package/fesm2022/hotkey.mjs +13 -15
  32. package/fesm2022/hotkey.mjs.map +1 -1
  33. package/fesm2022/loading.mjs +23 -21
  34. package/fesm2022/loading.mjs.map +1 -1
  35. package/fesm2022/lodop.mjs +15 -13
  36. package/fesm2022/lodop.mjs.map +1 -1
  37. package/fesm2022/media.mjs +30 -30
  38. package/fesm2022/media.mjs.map +1 -1
  39. package/fesm2022/notice-icon.mjs +48 -84
  40. package/fesm2022/notice-icon.mjs.map +1 -1
  41. package/fesm2022/onboarding.mjs +41 -37
  42. package/fesm2022/onboarding.mjs.map +1 -1
  43. package/fesm2022/page-header.mjs +48 -36
  44. package/fesm2022/page-header.mjs.map +1 -1
  45. package/fesm2022/pdf.mjs +45 -34
  46. package/fesm2022/pdf.mjs.map +1 -1
  47. package/fesm2022/quick-menu.mjs +22 -22
  48. package/fesm2022/quick-menu.mjs.map +1 -1
  49. package/fesm2022/result.mjs +17 -16
  50. package/fesm2022/result.mjs.map +1 -1
  51. package/fesm2022/reuse-tab.mjs +124 -122
  52. package/fesm2022/reuse-tab.mjs.map +1 -1
  53. package/fesm2022/se.mjs +68 -50
  54. package/fesm2022/se.mjs.map +1 -1
  55. package/fesm2022/sg.mjs +22 -21
  56. package/fesm2022/sg.mjs.map +1 -1
  57. package/fesm2022/st.mjs +445 -419
  58. package/fesm2022/st.mjs.map +1 -1
  59. package/fesm2022/sv.mjs +62 -43
  60. package/fesm2022/sv.mjs.map +1 -1
  61. package/fesm2022/tag-select.mjs +18 -20
  62. package/fesm2022/tag-select.mjs.map +1 -1
  63. package/fesm2022/xlsx.mjs +17 -18
  64. package/fesm2022/xlsx.mjs.map +1 -1
  65. package/fesm2022/zip.mjs +7 -6
  66. package/fesm2022/zip.mjs.map +1 -1
  67. package/hotkey/hotkey.directive.d.ts +2 -2
  68. package/notice-icon/notice-icon-tab.component.d.ts +5 -6
  69. package/notice-icon/notice-icon.component.d.ts +17 -22
  70. package/package.json +5 -75
  71. package/reuse-tab/public_api.d.ts +2 -1
  72. package/st/st-column-source.d.ts +1 -0
  73. package/st/st-filter.component.d.ts +4 -4
  74. package/st/st-row.directive.d.ts +1 -1
  75. package/st/st-widget-host.directive.d.ts +1 -1
  76. package/st/st.component.d.ts +33 -24
  77. package/st/st.interfaces.d.ts +26 -4
  78. package/st/st.module.d.ts +1 -22
  79. package/st/st.types.d.ts +2 -3
  80. package/sv/sv-container.component.d.ts +1 -1
  81. package/esm2022/abc.mjs +0 -5
  82. package/esm2022/auto-focus/auto-focus.directive.mjs +0 -40
  83. package/esm2022/auto-focus/auto-focus.mjs +0 -5
  84. package/esm2022/auto-focus/auto-focus.module.mjs +0 -17
  85. package/esm2022/auto-focus/index.mjs +0 -3
  86. package/esm2022/avatar-list/avatar-list-item.component.mjs +0 -27
  87. package/esm2022/avatar-list/avatar-list.component.mjs +0 -79
  88. package/esm2022/avatar-list/avatar-list.mjs +0 -5
  89. package/esm2022/avatar-list/avatar-list.module.mjs +0 -21
  90. package/esm2022/avatar-list/public_api.mjs +0 -4
  91. package/esm2022/cell/cell-host.directive.mjs +0 -35
  92. package/esm2022/cell/cell.component.mjs +0 -289
  93. package/esm2022/cell/cell.mjs +0 -5
  94. package/esm2022/cell/cell.module.mjs +0 -55
  95. package/esm2022/cell/cell.service.mjs +0 -173
  96. package/esm2022/cell/cell.types.mjs +0 -2
  97. package/esm2022/cell/index.mjs +0 -7
  98. package/esm2022/cell/provide.mjs +0 -18
  99. package/esm2022/count-down/count-down.component.mjs +0 -50
  100. package/esm2022/count-down/count-down.mjs +0 -5
  101. package/esm2022/count-down/count-down.module.mjs +0 -19
  102. package/esm2022/count-down/public_api.mjs +0 -3
  103. package/esm2022/date-picker/date-picker.mjs +0 -5
  104. package/esm2022/date-picker/date-picker.module.mjs +0 -21
  105. package/esm2022/date-picker/public_api.mjs +0 -4
  106. package/esm2022/date-picker/range-shortcut.component.mjs +0 -34
  107. package/esm2022/date-picker/range.directive.mjs +0 -168
  108. package/esm2022/down-file/down-file.directive.mjs +0 -113
  109. package/esm2022/down-file/down-file.mjs +0 -5
  110. package/esm2022/down-file/down-file.module.mjs +0 -19
  111. package/esm2022/down-file/public_api.mjs +0 -3
  112. package/esm2022/ellipsis/ellipsis.component.mjs +0 -219
  113. package/esm2022/ellipsis/ellipsis.mjs +0 -5
  114. package/esm2022/ellipsis/ellipsis.module.mjs +0 -20
  115. package/esm2022/ellipsis/public_api.mjs +0 -3
  116. package/esm2022/error-collect/error-collect.component.mjs +0 -110
  117. package/esm2022/error-collect/error-collect.mjs +0 -5
  118. package/esm2022/error-collect/error-collect.module.mjs +0 -19
  119. package/esm2022/error-collect/public_api.mjs +0 -3
  120. package/esm2022/exception/exception.component.mjs +0 -103
  121. package/esm2022/exception/exception.mjs +0 -5
  122. package/esm2022/exception/exception.module.mjs +0 -22
  123. package/esm2022/exception/public_api.mjs +0 -3
  124. package/esm2022/footer-toolbar/footer-toolbar.component.mjs +0 -33
  125. package/esm2022/footer-toolbar/footer-toolbar.mjs +0 -5
  126. package/esm2022/footer-toolbar/footer-toolbar.module.mjs +0 -20
  127. package/esm2022/footer-toolbar/public_api.mjs +0 -3
  128. package/esm2022/full-content/full-content-toggle.directive.mjs +0 -25
  129. package/esm2022/full-content/full-content.component.mjs +0 -125
  130. package/esm2022/full-content/full-content.mjs +0 -5
  131. package/esm2022/full-content/full-content.module.mjs +0 -19
  132. package/esm2022/full-content/full-content.service.mjs +0 -22
  133. package/esm2022/full-content/public_api.mjs +0 -5
  134. package/esm2022/global-footer/global-footer-item.component.mjs +0 -27
  135. package/esm2022/global-footer/global-footer.component.mjs +0 -65
  136. package/esm2022/global-footer/global-footer.mjs +0 -5
  137. package/esm2022/global-footer/global-footer.module.mjs +0 -20
  138. package/esm2022/global-footer/global-footer.types.mjs +0 -2
  139. package/esm2022/global-footer/public_api.mjs +0 -5
  140. package/esm2022/hotkey/hotkey.directive.mjs +0 -36
  141. package/esm2022/hotkey/hotkey.mjs +0 -5
  142. package/esm2022/hotkey/hotkey.module.mjs +0 -17
  143. package/esm2022/hotkey/public_api.mjs +0 -3
  144. package/esm2022/let/index.mjs +0 -3
  145. package/esm2022/let/let.directive.mjs +0 -40
  146. package/esm2022/let/let.mjs +0 -5
  147. package/esm2022/let/let.module.mjs +0 -20
  148. package/esm2022/loading/loading.component.mjs +0 -26
  149. package/esm2022/loading/loading.mjs +0 -5
  150. package/esm2022/loading/loading.module.mjs +0 -22
  151. package/esm2022/loading/loading.service.mjs +0 -88
  152. package/esm2022/loading/loading.types.mjs +0 -2
  153. package/esm2022/loading/public_api.mjs +0 -5
  154. package/esm2022/lodop/lodop.mjs +0 -5
  155. package/esm2022/lodop/lodop.module.mjs +0 -12
  156. package/esm2022/lodop/lodop.service.mjs +0 -224
  157. package/esm2022/lodop/lodop.types.mjs +0 -2
  158. package/esm2022/lodop/public_api.mjs +0 -4
  159. package/esm2022/media/media.component.mjs +0 -114
  160. package/esm2022/media/media.mjs +0 -5
  161. package/esm2022/media/media.module.mjs +0 -18
  162. package/esm2022/media/media.service.mjs +0 -46
  163. package/esm2022/media/public_api.mjs +0 -4
  164. package/esm2022/notice-icon/notice-icon-tab.component.mjs +0 -41
  165. package/esm2022/notice-icon/notice-icon.component.mjs +0 -96
  166. package/esm2022/notice-icon/notice-icon.mjs +0 -5
  167. package/esm2022/notice-icon/notice-icon.module.mjs +0 -59
  168. package/esm2022/notice-icon/notice-icon.types.mjs +0 -2
  169. package/esm2022/notice-icon/public_api.mjs +0 -5
  170. package/esm2022/observers/chart-observer-size.mjs +0 -5
  171. package/esm2022/observers/observer-size.mjs +0 -117
  172. package/esm2022/observers/public-api.mjs +0 -2
  173. package/esm2022/onboarding/onboarding.component.mjs +0 -127
  174. package/esm2022/onboarding/onboarding.mjs +0 -5
  175. package/esm2022/onboarding/onboarding.module.mjs +0 -42
  176. package/esm2022/onboarding/onboarding.service.mjs +0 -192
  177. package/esm2022/onboarding/onboarding.storage.mjs +0 -17
  178. package/esm2022/onboarding/onboarding.types.mjs +0 -2
  179. package/esm2022/onboarding/public_api.mjs +0 -6
  180. package/esm2022/page-header/page-header.component.mjs +0 -220
  181. package/esm2022/page-header/page-header.mjs +0 -5
  182. package/esm2022/page-header/page-header.module.mjs +0 -45
  183. package/esm2022/page-header/public_api.mjs +0 -3
  184. package/esm2022/pdf/pdf.component.mjs +0 -449
  185. package/esm2022/pdf/pdf.config.mjs +0 -10
  186. package/esm2022/pdf/pdf.mjs +0 -5
  187. package/esm2022/pdf/pdf.module.mjs +0 -19
  188. package/esm2022/pdf/pdf.types.mjs +0 -16
  189. package/esm2022/pdf/public_api.mjs +0 -5
  190. package/esm2022/public_api.mjs +0 -3
  191. package/esm2022/quick-menu/public_api.mjs +0 -3
  192. package/esm2022/quick-menu/quick-menu.component.mjs +0 -81
  193. package/esm2022/quick-menu/quick-menu.mjs +0 -5
  194. package/esm2022/quick-menu/quick-menu.module.mjs +0 -20
  195. package/esm2022/result/public_api.mjs +0 -3
  196. package/esm2022/result/result.component.mjs +0 -58
  197. package/esm2022/result/result.mjs +0 -5
  198. package/esm2022/result/result.module.mjs +0 -23
  199. package/esm2022/reuse-tab/lifecycle_hooks.mjs +0 -2
  200. package/esm2022/reuse-tab/provide.mjs +0 -74
  201. package/esm2022/reuse-tab/public_api.mjs +0 -14
  202. package/esm2022/reuse-tab/reuse-tab-context-menu.component.mjs +0 -75
  203. package/esm2022/reuse-tab/reuse-tab-context.component.mjs +0 -30
  204. package/esm2022/reuse-tab/reuse-tab-context.directive.mjs +0 -36
  205. package/esm2022/reuse-tab/reuse-tab-context.service.mjs +0 -54
  206. package/esm2022/reuse-tab/reuse-tab.cache.mjs +0 -13
  207. package/esm2022/reuse-tab/reuse-tab.component.mjs +0 -337
  208. package/esm2022/reuse-tab/reuse-tab.interfaces.mjs +0 -33
  209. package/esm2022/reuse-tab/reuse-tab.mjs +0 -5
  210. package/esm2022/reuse-tab/reuse-tab.module.mjs +0 -79
  211. package/esm2022/reuse-tab/reuse-tab.service.mjs +0 -574
  212. package/esm2022/reuse-tab/reuse-tab.state.mjs +0 -16
  213. package/esm2022/reuse-tab/reuse-tab.strategy.mjs +0 -23
  214. package/esm2022/se/public_api.mjs +0 -5
  215. package/esm2022/se/se-container.component.mjs +0 -158
  216. package/esm2022/se/se.component.mjs +0 -220
  217. package/esm2022/se/se.mjs +0 -5
  218. package/esm2022/se/se.module.mjs +0 -22
  219. package/esm2022/se/se.types.mjs +0 -14
  220. package/esm2022/sg/public_api.mjs +0 -4
  221. package/esm2022/sg/sg-container.component.mjs +0 -44
  222. package/esm2022/sg/sg.component.mjs +0 -62
  223. package/esm2022/sg/sg.mjs +0 -5
  224. package/esm2022/sg/sg.module.mjs +0 -19
  225. package/esm2022/st/provide.mjs +0 -18
  226. package/esm2022/st/public_api.mjs +0 -13
  227. package/esm2022/st/st-column-source.mjs +0 -496
  228. package/esm2022/st/st-data-source.mjs +0 -507
  229. package/esm2022/st/st-export.mjs +0 -87
  230. package/esm2022/st/st-filter.component.mjs +0 -293
  231. package/esm2022/st/st-row.directive.mjs +0 -43
  232. package/esm2022/st/st-widget-host.directive.mjs +0 -31
  233. package/esm2022/st/st-widget.mjs +0 -26
  234. package/esm2022/st/st.component.mjs +0 -966
  235. package/esm2022/st/st.config.mjs +0 -79
  236. package/esm2022/st/st.interfaces.mjs +0 -2
  237. package/esm2022/st/st.mjs +0 -5
  238. package/esm2022/st/st.module.mjs +0 -100
  239. package/esm2022/st/st.types.mjs +0 -2
  240. package/esm2022/sv/public_api.mjs +0 -5
  241. package/esm2022/sv/sv-container.component.mjs +0 -127
  242. package/esm2022/sv/sv-value.component.mjs +0 -53
  243. package/esm2022/sv/sv.component.mjs +0 -109
  244. package/esm2022/sv/sv.mjs +0 -5
  245. package/esm2022/sv/sv.module.mjs +0 -24
  246. package/esm2022/tag-select/public_api.mjs +0 -3
  247. package/esm2022/tag-select/tag-select.component.mjs +0 -53
  248. package/esm2022/tag-select/tag-select.mjs +0 -5
  249. package/esm2022/tag-select/tag-select.module.mjs +0 -20
  250. package/esm2022/xlsx/public_api.mjs +0 -5
  251. package/esm2022/xlsx/xlsx.directive.mjs +0 -28
  252. package/esm2022/xlsx/xlsx.mjs +0 -5
  253. package/esm2022/xlsx/xlsx.module.mjs +0 -17
  254. package/esm2022/xlsx/xlsx.service.mjs +0 -128
  255. package/esm2022/xlsx/xlsx.types.mjs +0 -2
  256. package/esm2022/zip/public_api.mjs +0 -3
  257. package/esm2022/zip/zip.mjs +0 -5
  258. package/esm2022/zip/zip.service.mjs +0 -116
  259. package/esm2022/zip/zip.types.mjs +0 -2
  260. package/fesm2022/let.mjs +0 -64
  261. package/fesm2022/let.mjs.map +0 -1
  262. package/let/index.d.ts +0 -2
  263. package/let/let.directive.d.ts +0 -19
  264. package/let/let.module.d.ts +0 -10
package/fesm2022/st.mjs CHANGED
@@ -1,62 +1,47 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, inject, TemplateRef, Directive, Input, Host, Optional, Inject, ViewContainerRef, ChangeDetectorRef, EventEmitter, Component, ChangeDetectionStrategy, ViewEncapsulation, Output, booleanAttribute, ElementRef, DestroyRef, numberAttribute, ViewChild, NgModule, makeEnvironmentProviders, ENVIRONMENT_INITIALIZER } from '@angular/core';
2
+ import { Injectable, inject, TemplateRef, Directive, Input, Host, Optional, Inject, ViewContainerRef, ChangeDetectorRef, EventEmitter, Component, ChangeDetectionStrategy, ViewEncapsulation, Output, ElementRef, DestroyRef, input, booleanAttribute, numberAttribute, ViewChild, NgModule, makeEnvironmentProviders, provideEnvironmentInitializer } from '@angular/core';
3
3
  import * as i1$1 from '@delon/theme';
4
- import { ALAIN_I18N_TOKEN, DelonLocaleService, DatePipe, YNPipe, ModalHelper, DrawerHelper } from '@delon/theme';
4
+ import { ALAIN_I18N_TOKEN, ModalHelper, DrawerHelper, DelonLocaleService, DatePipe, YNPipe } from '@delon/theme';
5
5
  import { warn, deepCopy, deepGet, deepMergeKey } from '@delon/util/other';
6
6
  import * as i1 from '@angular/platform-browser';
7
7
  import * as i3 from '@delon/acl';
8
- import { DelonACLModule } from '@delon/acl';
9
8
  import { HttpParams } from '@angular/common/http';
10
9
  import { map, of, filter, finalize, catchError, throwError, isObservable, lastValueFrom } from 'rxjs';
11
10
  import * as i2 from '@angular/common';
12
- import { DOCUMENT, DecimalPipe, CommonModule } from '@angular/common';
11
+ import { NgTemplateOutlet, DOCUMENT, DecimalPipe } from '@angular/common';
13
12
  import * as i3$1 from '@delon/util/format';
14
13
  import { XlsxService } from '@delon/abc/xlsx';
14
+ import * as i7 from '@angular/cdk/drag-drop';
15
+ import { moveItemInArray, DragDropModule } from '@angular/cdk/drag-drop';
15
16
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
16
- import { Router } from '@angular/router';
17
- import * as i9 from 'ng-zorro-antd/dropdown';
18
- import { NzContextMenuService, NzDropDownModule } from 'ng-zorro-antd/dropdown';
19
- import * as i1$2 from '@delon/util/config';
20
- import * as i3$2 from '@angular/forms';
17
+ import * as i1$2 from '@angular/forms';
21
18
  import { FormsModule } from '@angular/forms';
22
- import * as i4 from '@delon/abc/let';
23
- import { LetModule } from '@delon/abc/let';
24
- import * as i5 from 'ng-zorro-antd/table';
25
- import { NzTableModule } from 'ng-zorro-antd/table';
26
- import * as i6 from 'ng-zorro-antd/icon';
27
- import { NzIconModule } from 'ng-zorro-antd/icon';
28
- import * as i7 from 'ng-zorro-antd/checkbox';
29
- import { NzCheckboxModule } from 'ng-zorro-antd/checkbox';
30
- import * as i8 from 'ng-zorro-antd/menu';
19
+ import { Router } from '@angular/router';
20
+ import { CellComponent } from '@delon/abc/cell';
21
+ import { NzBadgeComponent } from 'ng-zorro-antd/badge';
22
+ import { NzCheckboxComponent } from 'ng-zorro-antd/checkbox';
23
+ import { NzDividerComponent } from 'ng-zorro-antd/divider';
24
+ import * as i3$2 from 'ng-zorro-antd/dropdown';
25
+ import { NzDropDownModule, NzContextMenuService } from 'ng-zorro-antd/dropdown';
26
+ import { NzIconDirective } from 'ng-zorro-antd/icon';
27
+ import * as i2$1 from 'ng-zorro-antd/menu';
31
28
  import { NzMenuModule } from 'ng-zorro-antd/menu';
32
- import * as i10$1 from 'ng-zorro-antd/tooltip';
33
- import { NzToolTipModule } from 'ng-zorro-antd/tooltip';
34
- import * as i11 from 'ng-zorro-antd/resizable';
29
+ import { NzPopconfirmDirective } from 'ng-zorro-antd/popconfirm';
30
+ import { NzRadioComponent } from 'ng-zorro-antd/radio';
31
+ import * as i6 from 'ng-zorro-antd/resizable';
35
32
  import { NzResizableModule } from 'ng-zorro-antd/resizable';
36
- import * as i7$1 from 'ng-zorro-antd/radio';
37
- import { NzRadioModule } from 'ng-zorro-antd/radio';
38
- import * as i8$1 from 'ng-zorro-antd/input';
39
- import { NzInputModule } from 'ng-zorro-antd/input';
40
- import * as i9$1 from 'ng-zorro-antd/input-number';
41
- import { NzInputNumberModule } from 'ng-zorro-antd/input-number';
42
- import * as i10 from 'ng-zorro-antd/date-picker';
43
- import { NzDatePickerModule } from 'ng-zorro-antd/date-picker';
44
- import * as i13 from '@delon/abc/cell';
45
- import { CellModule } from '@delon/abc/cell';
46
- import * as i14 from 'ng-zorro-antd/popconfirm';
47
- import { NzPopconfirmModule } from 'ng-zorro-antd/popconfirm';
48
- import * as i15 from 'ng-zorro-antd/badge';
49
- import { NzBadgeModule } from 'ng-zorro-antd/badge';
50
- import * as i16 from 'ng-zorro-antd/divider';
51
- import { NzDividerModule } from 'ng-zorro-antd/divider';
52
- import * as i18 from 'ng-zorro-antd/tag';
53
- import { NzTagModule } from 'ng-zorro-antd/tag';
33
+ import * as i5 from 'ng-zorro-antd/table';
34
+ import { NzTableModule } from 'ng-zorro-antd/table';
35
+ import { NzTagComponent } from 'ng-zorro-antd/tag';
36
+ import { NzTooltipDirective } from 'ng-zorro-antd/tooltip';
37
+ import { NzRangePickerComponent, NzDatePickerComponent } from 'ng-zorro-antd/date-picker';
38
+ import { NzInputDirective } from 'ng-zorro-antd/input';
39
+ import { NzInputNumberComponent } from 'ng-zorro-antd/input-number';
40
+ import * as i4 from '@delon/util/config';
54
41
 
55
42
  class STRowSource {
56
- constructor() {
57
- this.titles = {};
58
- this.rows = {};
59
- }
43
+ titles = {};
44
+ rows = {};
60
45
  add(type, path, ref) {
61
46
  this[type === 'title' ? 'titles' : 'rows'][path] = ref;
62
47
  }
@@ -66,26 +51,28 @@ class STRowSource {
66
51
  getRow(path) {
67
52
  return this.rows[path];
68
53
  }
69
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: STRowSource, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
70
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: STRowSource }); }
54
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: STRowSource, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
55
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: STRowSource });
71
56
  }
72
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: STRowSource, decorators: [{
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: STRowSource, decorators: [{
73
58
  type: Injectable
74
59
  }] });
75
60
  class STRowDirective {
76
- constructor() {
77
- this.source = inject(STRowSource, { host: true });
78
- this.ref = inject(TemplateRef);
79
- }
61
+ source = inject(STRowSource, { host: true });
62
+ ref = inject(TemplateRef);
63
+ id;
64
+ type;
80
65
  ngOnInit() {
81
66
  this.source.add(this.type, this.id, this.ref);
82
67
  }
83
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: STRowDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
84
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: STRowDirective, selector: "[st-row]", inputs: { id: ["st-row", "id"], type: "type" }, ngImport: i0 }); }
68
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: STRowDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
69
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.1", type: STRowDirective, isStandalone: true, selector: "[st-row]", inputs: { id: ["st-row", "id"], type: "type" }, ngImport: i0 });
85
70
  }
86
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: STRowDirective, decorators: [{
71
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: STRowDirective, decorators: [{
87
72
  type: Directive,
88
- args: [{ selector: '[st-row]' }]
73
+ args: [{
74
+ selector: '[st-row]'
75
+ }]
89
76
  }], propDecorators: { id: [{
90
77
  type: Input,
91
78
  args: ['st-row']
@@ -94,9 +81,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
94
81
  }] } });
95
82
 
96
83
  class STWidgetRegistry {
97
- constructor() {
98
- this._widgets = {};
99
- }
84
+ _widgets = {};
100
85
  get widgets() {
101
86
  return this._widgets;
102
87
  }
@@ -109,15 +94,21 @@ class STWidgetRegistry {
109
94
  get(type) {
110
95
  return this._widgets[type];
111
96
  }
112
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: STWidgetRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
113
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: STWidgetRegistry, providedIn: 'root' }); }
97
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: STWidgetRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
98
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: STWidgetRegistry, providedIn: 'root' });
114
99
  }
115
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: STWidgetRegistry, decorators: [{
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: STWidgetRegistry, decorators: [{
116
101
  type: Injectable,
117
102
  args: [{ providedIn: 'root' }]
118
103
  }] });
119
104
 
120
105
  class STColumnSource {
106
+ dom;
107
+ rowSource;
108
+ acl;
109
+ i18nSrv;
110
+ stWidgetRegistry;
111
+ cog;
121
112
  constructor(dom, rowSource, acl, i18nSrv, stWidgetRegistry) {
122
113
  this.dom = dom;
123
114
  this.rowSource = rowSource;
@@ -148,6 +139,14 @@ class STColumnSource {
148
139
  if (typeof pop.condition !== 'function') {
149
140
  pop.condition = () => false;
150
141
  }
142
+ if (this.i18nSrv) {
143
+ if (pop.titleI18n)
144
+ pop.title = this.i18nSrv.fanyi(pop.titleI18n);
145
+ if (pop.okTextI18n)
146
+ pop.okText = this.i18nSrv.fanyi(pop.okTextI18n);
147
+ if (pop.cancelTextI18n)
148
+ pop.cancelText = this.i18nSrv.fanyi(pop.cancelTextI18n);
149
+ }
151
150
  i.pop = pop;
152
151
  }
153
152
  btnCoerce(list) {
@@ -213,12 +212,13 @@ class STColumnSource {
213
212
  }
214
213
  }
215
214
  }
216
- fixedCoerce(list) {
215
+ fixedCoerce(list, expand) {
217
216
  const countReduce = (a, b) => a + +b.width.toString().replace('px', '');
217
+ const expandWidth = expand ? 50 : 0;
218
218
  // left width
219
219
  list
220
220
  .filter(w => w.fixed && w.fixed === 'left' && w.width)
221
- .forEach((item, idx) => (item._left = `${list.slice(0, idx).reduce(countReduce, 0)}px`));
221
+ .forEach((item, idx) => (item._left = `${list.slice(0, idx).reduce(countReduce, 0) + expandWidth}px`));
222
222
  // right width
223
223
  list
224
224
  .filter(w => w.fixed && w.fixed === 'right' && w.width)
@@ -445,7 +445,6 @@ class STColumnSource {
445
445
  const { noIndex } = this.cog;
446
446
  let checkboxCount = 0;
447
447
  let radioCount = 0;
448
- let point = 0;
449
448
  const columns = [];
450
449
  const processItem = (item) => {
451
450
  // index
@@ -539,7 +538,6 @@ class STColumnSource {
539
538
  ...options.resizable,
540
539
  ...(typeof item.resizable === 'boolean' ? { disabled: !item.resizable } : item.resizable)
541
540
  };
542
- item.__point = point++;
543
541
  return item;
544
542
  };
545
543
  const processList = (data) => {
@@ -558,7 +556,7 @@ class STColumnSource {
558
556
  if (radioCount > 1) {
559
557
  throw new Error(`[st]: just only one column radio`);
560
558
  }
561
- this.fixedCoerce(columns);
559
+ this.fixedCoerce(columns, options.expand);
562
560
  return {
563
561
  columns: columns.filter(w => !Array.isArray(w.children) || w.children.length === 0),
564
562
  ...this.genHeaders(copyList)
@@ -589,10 +587,10 @@ class STColumnSource {
589
587
  }
590
588
  return this;
591
589
  }
592
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: STColumnSource, deps: [{ token: i1.DomSanitizer }, { token: STRowSource, host: true }, { token: i3.ACLService, optional: true }, { token: ALAIN_I18N_TOKEN, optional: true }, { token: STWidgetRegistry }], target: i0.ɵɵFactoryTarget.Injectable }); }
593
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: STColumnSource }); }
590
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: STColumnSource, deps: [{ token: i1.DomSanitizer }, { token: STRowSource, host: true }, { token: i3.ACLService, optional: true }, { token: ALAIN_I18N_TOKEN, optional: true }, { token: STWidgetRegistry }], target: i0.ɵɵFactoryTarget.Injectable });
591
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: STColumnSource });
594
592
  }
595
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: STColumnSource, decorators: [{
593
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: STColumnSource, decorators: [{
596
594
  type: Injectable
597
595
  }], ctorParameters: () => [{ type: i1.DomSanitizer }, { type: STRowSource, decorators: [{
598
596
  type: Host
@@ -606,6 +604,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
606
604
  }] }, { type: STWidgetRegistry }] });
607
605
 
608
606
  class STDataSource {
607
+ http;
608
+ datePipe;
609
+ ynPipe;
610
+ numberPipe;
611
+ currencySrv;
612
+ dom;
613
+ cog;
614
+ sortTick = 0;
609
615
  constructor(http, datePipe, ynPipe, numberPipe, currencySrv, dom) {
610
616
  this.http = http;
611
617
  this.datePipe = datePipe;
@@ -613,7 +619,6 @@ class STDataSource {
613
619
  this.numberPipe = numberPipe;
614
620
  this.currencySrv = currencySrv;
615
621
  this.dom = dom;
616
- this.sortTick = 0;
617
622
  }
618
623
  setCog(val) {
619
624
  this.cog = val;
@@ -1090,10 +1095,10 @@ class STDataSource {
1090
1095
  getSum(index, list) {
1091
1096
  return this.getValues(index, list).reduce((p, i) => (p += parseFloat(String(i))), 0);
1092
1097
  }
1093
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: STDataSource, deps: [{ token: i1$1._HttpClient }, { token: i1$1.DatePipe, host: true }, { token: i1$1.YNPipe, host: true }, { token: i2.DecimalPipe, host: true }, { token: i3$1.CurrencyService }, { token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Injectable }); }
1094
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: STDataSource }); }
1098
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: STDataSource, deps: [{ token: i1$1._HttpClient }, { token: i1$1.DatePipe, host: true }, { token: i1$1.YNPipe, host: true }, { token: i2.DecimalPipe, host: true }, { token: i3$1.CurrencyService }, { token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Injectable });
1099
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: STDataSource });
1095
1100
  }
1096
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: STDataSource, decorators: [{
1101
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: STDataSource, decorators: [{
1097
1102
  type: Injectable
1098
1103
  }], ctorParameters: () => [{ type: i1$1._HttpClient }, { type: i1$1.DatePipe, decorators: [{
1099
1104
  type: Host
@@ -1104,9 +1109,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
1104
1109
  }] }, { type: i3$1.CurrencyService }, { type: i1.DomSanitizer }] });
1105
1110
 
1106
1111
  class STExport {
1107
- constructor() {
1108
- this.xlsxSrv = inject(XlsxService);
1109
- }
1112
+ xlsxSrv = inject(XlsxService);
1110
1113
  _stGet(item, col, index, colIndex) {
1111
1114
  const ret = { t: 's', v: '' };
1112
1115
  if (col.format) {
@@ -1179,18 +1182,18 @@ class STExport {
1179
1182
  callback: opt.callback
1180
1183
  });
1181
1184
  }
1182
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: STExport, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1183
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: STExport }); }
1185
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: STExport, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1186
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: STExport });
1184
1187
  }
1185
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: STExport, decorators: [{
1188
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: STExport, decorators: [{
1186
1189
  type: Injectable
1187
1190
  }] });
1188
1191
 
1189
1192
  class STWidgetHostDirective {
1190
- constructor() {
1191
- this.stWidgetRegistry = inject(STWidgetRegistry);
1192
- this.viewContainerRef = inject(ViewContainerRef);
1193
- }
1193
+ stWidgetRegistry = inject(STWidgetRegistry);
1194
+ viewContainerRef = inject(ViewContainerRef);
1195
+ record;
1196
+ column;
1194
1197
  ngOnInit() {
1195
1198
  const widget = this.column.widget;
1196
1199
  const componentType = this.stWidgetRegistry.get(widget.type);
@@ -1202,105 +1205,28 @@ class STWidgetHostDirective {
1202
1205
  componentRef.instance[key] = data[key];
1203
1206
  });
1204
1207
  }
1205
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: STWidgetHostDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1206
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: STWidgetHostDirective, selector: "[st-widget-host]", inputs: { record: "record", column: "column" }, ngImport: i0 }); }
1208
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: STWidgetHostDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1209
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.1", type: STWidgetHostDirective, isStandalone: true, selector: "[st-widget-host]", inputs: { record: "record", column: "column" }, ngImport: i0 });
1207
1210
  }
1208
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: STWidgetHostDirective, decorators: [{
1211
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: STWidgetHostDirective, decorators: [{
1209
1212
  type: Directive,
1210
- args: [{ selector: '[st-widget-host]' }]
1213
+ args: [{
1214
+ selector: '[st-widget-host]'
1215
+ }]
1211
1216
  }], propDecorators: { record: [{
1212
1217
  type: Input
1213
1218
  }], column: [{
1214
1219
  type: Input
1215
1220
  }] } });
1216
1221
 
1217
- const ST_DEFAULT_CONFIG = {
1218
- pi: 1,
1219
- ps: 10,
1220
- size: 'default',
1221
- responsive: true,
1222
- responsiveHideHeaderFooter: false,
1223
- req: {
1224
- type: 'page',
1225
- method: 'GET',
1226
- allInBody: false,
1227
- lazyLoad: false,
1228
- ignoreParamNull: false,
1229
- reName: { pi: 'pi', ps: 'ps', skip: 'skip', limit: 'limit' }
1230
- },
1231
- res: {
1232
- reName: { list: ['list'], total: ['total'] }
1233
- },
1234
- page: {
1235
- front: true,
1236
- zeroIndexed: false,
1237
- position: 'bottom',
1238
- placement: 'right',
1239
- show: true,
1240
- showSize: false,
1241
- pageSizes: [10, 20, 30, 40, 50],
1242
- showQuickJumper: false,
1243
- total: true,
1244
- toTop: true,
1245
- toTopOffset: 100,
1246
- itemRender: null,
1247
- simple: false
1248
- },
1249
- modal: {
1250
- paramsName: 'record',
1251
- size: 'lg',
1252
- exact: true
1253
- },
1254
- drawer: {
1255
- paramsName: 'record',
1256
- size: 'md',
1257
- footer: true,
1258
- footerHeight: 55
1259
- },
1260
- pop: {
1261
- title: '确认删除吗?',
1262
- trigger: 'click',
1263
- placement: 'top'
1264
- },
1265
- btnIcon: {
1266
- theme: 'outline',
1267
- spin: false
1268
- },
1269
- noIndex: 1,
1270
- expandRowByClick: false,
1271
- expandAccordion: false,
1272
- widthMode: {
1273
- type: 'default',
1274
- strictBehavior: 'truncate'
1275
- },
1276
- virtualItemSize: 54,
1277
- virtualMaxBufferPx: 200,
1278
- virtualMinBufferPx: 100,
1279
- iifBehavior: 'hide',
1280
- loadingDelay: 0,
1281
- safeType: 'safeHtml',
1282
- date: {
1283
- format: `yyyy-MM-dd HH:mm`
1284
- },
1285
- yn: {
1286
- truth: true,
1287
- yes: '是',
1288
- mode: 'icon'
1289
- },
1290
- maxMultipleButton: {
1291
- text: '更多',
1292
- count: 2
1293
- }
1294
- };
1295
-
1296
1222
  class STFilterComponent {
1297
- constructor() {
1298
- this.cdr = inject(ChangeDetectorRef);
1299
- this.visible = false;
1300
- this.locale = {};
1301
- this.n = new EventEmitter();
1302
- this.handle = new EventEmitter();
1303
- }
1223
+ cdr = inject(ChangeDetectorRef);
1224
+ visible = false;
1225
+ col;
1226
+ locale = {};
1227
+ f;
1228
+ n = new EventEmitter();
1229
+ handle = new EventEmitter();
1304
1230
  get icon() {
1305
1231
  return this.f.icon;
1306
1232
  }
@@ -1329,8 +1255,8 @@ class STFilterComponent {
1329
1255
  this.handle.emit(false);
1330
1256
  return this;
1331
1257
  }
1332
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: STFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1333
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: STFilterComponent, selector: "st-filter", inputs: { col: "col", locale: "locale", f: "f" }, outputs: { n: "n", handle: "handle" }, host: { properties: { "class.ant-table-filter-trigger-container": "true", "class.st__filter": "true", "class.ant-table-filter-trigger-container-open": "visible" } }, ngImport: i0, template: `
1258
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: STFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1259
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.1", type: STFilterComponent, isStandalone: true, selector: "st-filter", inputs: { col: "col", locale: "locale", f: "f" }, outputs: { n: "n", handle: "handle" }, host: { properties: { "class.ant-table-filter-trigger-container": "true", "class.st__filter": "true", "class.ant-table-filter-trigger-container-open": "visible" } }, ngImport: i0, template: `
1334
1260
  <span
1335
1261
  class="ant-table-filter-trigger"
1336
1262
  [class.active]="visible || f.default"
@@ -1342,7 +1268,7 @@ class STFilterComponent {
1342
1268
  nzOverlayClassName="st__filter-wrap"
1343
1269
  (click)="stopPropagation($event)"
1344
1270
  >
1345
- <i nz-icon [nzType]="icon.type" [nzTheme]="icon.theme!"></i>
1271
+ <nz-icon [nzType]="icon.type" [nzTheme]="icon.theme!" />
1346
1272
  </span>
1347
1273
  <nz-dropdown-menu #filterMenu="nzDropdownMenu">
1348
1274
  <div class="ant-table-filter-dropdown">
@@ -1367,7 +1293,7 @@ class STFilterComponent {
1367
1293
  [nzMin]="f.number!.min!"
1368
1294
  [nzMax]="f.number!.max!"
1369
1295
  [nzStep]="f.number!.step!"
1370
- [nzPrecision]="f.number!.precision"
1296
+ [nzPrecision]="f.number!.precision || null"
1371
1297
  [nzPlaceHolder]="f.placeholder!"
1372
1298
  class="width-100"
1373
1299
  />
@@ -1438,9 +1364,9 @@ class STFilterComponent {
1438
1364
  }
1439
1365
  </div>
1440
1366
  </nz-dropdown-menu>
1441
- `, isInline: true, dependencies: [{ kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i6.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "component", type: i7.NzCheckboxComponent, selector: "[nz-checkbox]", inputs: ["nzValue", "nzAutoFocus", "nzDisabled", "nzIndeterminate", "nzChecked", "nzId"], outputs: ["nzCheckedChange"], exportAs: ["nzCheckbox"] }, { kind: "directive", type: i8.NzMenuDirective, selector: "[nz-menu]", inputs: ["nzInlineIndent", "nzTheme", "nzMode", "nzInlineCollapsed", "nzSelectable"], outputs: ["nzClick"], exportAs: ["nzMenu"] }, { kind: "component", type: i8.NzMenuItemComponent, selector: "[nz-menu-item]", inputs: ["nzPaddingLeft", "nzDisabled", "nzSelected", "nzDanger", "nzMatchRouterExact", "nzMatchRouter"], exportAs: ["nzMenuItem"] }, { kind: "directive", type: i9.NzDropDownDirective, selector: "[nz-dropdown]", inputs: ["nzDropdownMenu", "nzTrigger", "nzMatchWidthElement", "nzBackdrop", "nzClickHide", "nzDisabled", "nzVisible", "nzOverlayClassName", "nzOverlayStyle", "nzPlacement"], outputs: ["nzVisibleChange"], exportAs: ["nzDropdown"] }, { kind: "component", type: i9.NzDropdownMenuComponent, selector: "nz-dropdown-menu", exportAs: ["nzDropdownMenu"] }, { kind: "component", type: i7$1.NzRadioComponent, selector: "[nz-radio],[nz-radio-button]", inputs: ["nzValue", "nzDisabled", "nzAutoFocus", "nz-radio-button"], exportAs: ["nzRadio"] }, { kind: "directive", type: i8$1.NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzBorderless", "nzSize", "nzStepperless", "nzStatus", "disabled"], exportAs: ["nzInput"] }, { kind: "component", type: i9$1.NzInputNumberComponent, selector: "nz-input-number", inputs: ["nzSize", "nzMin", "nzMax", "nzParser", "nzPrecision", "nzPrecisionMode", "nzPlaceHolder", "nzStatus", "nzStep", "nzInputMode", "nzId", "nzDisabled", "nzReadOnly", "nzAutoFocus", "nzBorderless", "nzFormatter"], outputs: ["nzBlur", "nzFocus"], exportAs: ["nzInputNumber"] }, { kind: "component", type: i10.NzDatePickerComponent, selector: "nz-date-picker,nz-week-picker,nz-month-picker,nz-quarter-picker,nz-year-picker,nz-range-picker", inputs: ["nzAllowClear", "nzAutoFocus", "nzDisabled", "nzBorderless", "nzInputReadOnly", "nzInline", "nzOpen", "nzDisabledDate", "nzLocale", "nzPlaceHolder", "nzPopupStyle", "nzDropdownClassName", "nzSize", "nzStatus", "nzFormat", "nzDateRender", "nzDisabledTime", "nzRenderExtraFooter", "nzShowToday", "nzMode", "nzShowNow", "nzRanges", "nzDefaultPickerValue", "nzSeparator", "nzSuffixIcon", "nzBackdrop", "nzId", "nzPlacement", "nzShowWeekNumber", "nzShowTime"], outputs: ["nzOnPanelChange", "nzOnCalendarChange", "nzOnOk", "nzOnOpenChange"], exportAs: ["nzDatePicker"] }, { kind: "directive", type: i10.NzRangePickerComponent, selector: "nz-range-picker", exportAs: ["nzRangePicker"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1367
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: NzDropDownModule }, { kind: "directive", type: i2$1.NzMenuDirective, selector: "[nz-menu]", inputs: ["nzInlineIndent", "nzTheme", "nzMode", "nzInlineCollapsed", "nzSelectable"], outputs: ["nzClick"], exportAs: ["nzMenu"] }, { kind: "component", type: i2$1.NzMenuItemComponent, selector: "[nz-menu-item]", inputs: ["nzPaddingLeft", "nzDisabled", "nzSelected", "nzDanger", "nzMatchRouterExact", "nzMatchRouter"], exportAs: ["nzMenuItem"] }, { kind: "directive", type: i3$2.NzDropDownDirective, selector: "[nz-dropdown]", inputs: ["nzDropdownMenu", "nzTrigger", "nzMatchWidthElement", "nzBackdrop", "nzClickHide", "nzDisabled", "nzVisible", "nzOverlayClassName", "nzOverlayStyle", "nzPlacement"], outputs: ["nzVisibleChange"], exportAs: ["nzDropdown"] }, { kind: "component", type: i3$2.NzDropdownMenuComponent, selector: "nz-dropdown-menu", exportAs: ["nzDropdownMenu"] }, { kind: "directive", type: NzIconDirective, selector: "nz-icon,[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "directive", type: NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzBorderless", "nzSize", "nzStepperless", "nzStatus", "disabled"], exportAs: ["nzInput"] }, { kind: "component", type: NzInputNumberComponent, selector: "nz-input-number", inputs: ["nzId", "nzSize", "nzPlaceHolder", "nzStatus", "nzStep", "nzMin", "nzMax", "nzPrecision", "nzParser", "nzFormatter", "nzDisabled", "nzReadOnly", "nzAutoFocus", "nzBordered", "nzKeyboard", "nzControls"], outputs: ["nzOnStep"], exportAs: ["nzInputNumber"] }, { kind: "directive", type: NzRangePickerComponent, selector: "nz-range-picker", exportAs: ["nzRangePicker"] }, { kind: "component", type: NzDatePickerComponent, selector: "nz-date-picker,nz-week-picker,nz-month-picker,nz-quarter-picker,nz-year-picker,nz-range-picker", inputs: ["nzAllowClear", "nzAutoFocus", "nzDisabled", "nzBorderless", "nzInputReadOnly", "nzInline", "nzOpen", "nzDisabledDate", "nzLocale", "nzPlaceHolder", "nzPopupStyle", "nzDropdownClassName", "nzSize", "nzStatus", "nzFormat", "nzDateRender", "nzDisabledTime", "nzRenderExtraFooter", "nzShowToday", "nzMode", "nzShowNow", "nzRanges", "nzDefaultPickerValue", "nzSeparator", "nzSuffixIcon", "nzBackdrop", "nzId", "nzPlacement", "nzShowWeekNumber", "nzShowTime"], outputs: ["nzOnPanelChange", "nzOnCalendarChange", "nzOnOk", "nzOnOpenChange"], exportAs: ["nzDatePicker"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: NzMenuModule }, { kind: "component", type: NzCheckboxComponent, selector: "[nz-checkbox]", inputs: ["nzValue", "nzAutoFocus", "nzDisabled", "nzIndeterminate", "nzChecked", "nzId", "nzName"], outputs: ["nzCheckedChange"], exportAs: ["nzCheckbox"] }, { kind: "component", type: NzRadioComponent, selector: "[nz-radio],[nz-radio-button]", inputs: ["nzValue", "nzDisabled", "nzAutoFocus", "nz-radio-button"], exportAs: ["nzRadio"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1442
1368
  }
1443
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: STFilterComponent, decorators: [{
1369
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: STFilterComponent, decorators: [{
1444
1370
  type: Component,
1445
1371
  args: [{
1446
1372
  selector: 'st-filter',
@@ -1456,7 +1382,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
1456
1382
  nzOverlayClassName="st__filter-wrap"
1457
1383
  (click)="stopPropagation($event)"
1458
1384
  >
1459
- <i nz-icon [nzType]="icon.type" [nzTheme]="icon.theme!"></i>
1385
+ <nz-icon [nzType]="icon.type" [nzTheme]="icon.theme!" />
1460
1386
  </span>
1461
1387
  <nz-dropdown-menu #filterMenu="nzDropdownMenu">
1462
1388
  <div class="ant-table-filter-dropdown">
@@ -1481,7 +1407,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
1481
1407
  [nzMin]="f.number!.min!"
1482
1408
  [nzMax]="f.number!.max!"
1483
1409
  [nzStep]="f.number!.step!"
1484
- [nzPrecision]="f.number!.precision"
1410
+ [nzPrecision]="f.number!.precision || null"
1485
1411
  [nzPlaceHolder]="f.placeholder!"
1486
1412
  class="width-100"
1487
1413
  />
@@ -1560,7 +1486,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
1560
1486
  },
1561
1487
  preserveWhitespaces: false,
1562
1488
  changeDetection: ChangeDetectionStrategy.OnPush,
1563
- encapsulation: ViewEncapsulation.None
1489
+ encapsulation: ViewEncapsulation.None,
1490
+ imports: [
1491
+ FormsModule,
1492
+ NzDropDownModule,
1493
+ NzIconDirective,
1494
+ NzInputDirective,
1495
+ NzInputNumberComponent,
1496
+ NzRangePickerComponent,
1497
+ NzDatePickerComponent,
1498
+ NgTemplateOutlet,
1499
+ NzMenuModule,
1500
+ NzCheckboxComponent,
1501
+ NzRadioComponent
1502
+ ]
1564
1503
  }]
1565
1504
  }], propDecorators: { col: [{
1566
1505
  type: Input
@@ -1574,7 +1513,247 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
1574
1513
  type: Output
1575
1514
  }] } });
1576
1515
 
1516
+ const ST_DEFAULT_CONFIG = {
1517
+ pi: 1,
1518
+ ps: 10,
1519
+ size: 'default',
1520
+ responsive: true,
1521
+ responsiveHideHeaderFooter: false,
1522
+ req: {
1523
+ type: 'page',
1524
+ method: 'GET',
1525
+ allInBody: false,
1526
+ lazyLoad: false,
1527
+ ignoreParamNull: false,
1528
+ reName: { pi: 'pi', ps: 'ps', skip: 'skip', limit: 'limit' }
1529
+ },
1530
+ res: {
1531
+ reName: { list: ['list'], total: ['total'] }
1532
+ },
1533
+ page: {
1534
+ front: true,
1535
+ zeroIndexed: false,
1536
+ position: 'bottom',
1537
+ placement: 'right',
1538
+ show: true,
1539
+ showSize: false,
1540
+ pageSizes: [10, 20, 30, 40, 50],
1541
+ showQuickJumper: false,
1542
+ total: true,
1543
+ toTop: true,
1544
+ toTopOffset: 100,
1545
+ itemRender: null,
1546
+ simple: false
1547
+ },
1548
+ modal: {
1549
+ paramsName: 'record',
1550
+ size: 'lg',
1551
+ exact: true
1552
+ },
1553
+ drawer: {
1554
+ paramsName: 'record',
1555
+ size: 'md',
1556
+ footer: true,
1557
+ footerHeight: 55
1558
+ },
1559
+ pop: {
1560
+ title: '确认删除吗?',
1561
+ trigger: 'click',
1562
+ placement: 'top'
1563
+ },
1564
+ btnIcon: {
1565
+ theme: 'outline',
1566
+ spin: false
1567
+ },
1568
+ noIndex: 1,
1569
+ expandRowByClick: false,
1570
+ expandAccordion: false,
1571
+ widthMode: {
1572
+ type: 'default',
1573
+ strictBehavior: 'truncate'
1574
+ },
1575
+ virtualItemSize: 54,
1576
+ virtualMaxBufferPx: 200,
1577
+ virtualMinBufferPx: 100,
1578
+ iifBehavior: 'hide',
1579
+ loadingDelay: 0,
1580
+ safeType: 'safeHtml',
1581
+ date: {
1582
+ format: `yyyy-MM-dd HH:mm`
1583
+ },
1584
+ yn: {
1585
+ truth: true,
1586
+ yes: '是',
1587
+ mode: 'icon'
1588
+ },
1589
+ maxMultipleButton: {
1590
+ text: '更多',
1591
+ count: 2
1592
+ }
1593
+ };
1594
+
1595
+ class STTdComponent {
1596
+ stComp = inject(STComponent, { host: true });
1597
+ router = inject(Router);
1598
+ modalHelper = inject(ModalHelper);
1599
+ drawerHelper = inject(DrawerHelper);
1600
+ c;
1601
+ cIdx;
1602
+ data;
1603
+ i;
1604
+ index;
1605
+ n = new EventEmitter();
1606
+ get routerState() {
1607
+ const { pi, ps, total } = this.stComp;
1608
+ return { pi, ps, total };
1609
+ }
1610
+ report(type) {
1611
+ this.n.emit({ type, item: this.i, col: this.c });
1612
+ }
1613
+ _checkbox(value) {
1614
+ this.i.checked = value;
1615
+ this.report('checkbox');
1616
+ }
1617
+ _radio() {
1618
+ this.data.filter(w => !w.disabled).forEach(i => (i.checked = false));
1619
+ this.i.checked = true;
1620
+ this.report('radio');
1621
+ }
1622
+ _link(e) {
1623
+ this._stopPropagation(e);
1624
+ const res = this.c.click(this.i, this.stComp);
1625
+ if (typeof res === 'string') {
1626
+ this.router.navigateByUrl(res, { state: this.routerState });
1627
+ }
1628
+ return false;
1629
+ }
1630
+ _client() {
1631
+ this.c.click?.(this.i, this.stComp);
1632
+ }
1633
+ _stopPropagation(ev) {
1634
+ ev.preventDefault();
1635
+ ev.stopPropagation();
1636
+ }
1637
+ _btn(btn, ev) {
1638
+ ev?.stopPropagation();
1639
+ const cog = this.stComp.cog;
1640
+ let record = this.i;
1641
+ if (btn.type === 'modal' || btn.type === 'static') {
1642
+ if (cog.modal.pureRecoard === true) {
1643
+ record = this.stComp.pureItem(record);
1644
+ }
1645
+ const modal = btn.modal;
1646
+ const obj = { [modal.paramsName]: record };
1647
+ this.modalHelper[btn.type === 'modal' ? 'create' : 'createStatic'](modal.component, { ...obj, ...(modal.params && modal.params(record)) }, deepMergeKey({}, true, cog.modal, modal))
1648
+ .pipe(filter(w => typeof w !== 'undefined'))
1649
+ .subscribe((res) => this.btnCallback(record, btn, res));
1650
+ return;
1651
+ }
1652
+ else if (btn.type === 'drawer') {
1653
+ if (cog.drawer.pureRecoard === true) {
1654
+ record = this.stComp.pureItem(record);
1655
+ }
1656
+ const drawer = btn.drawer;
1657
+ const obj = { [drawer.paramsName]: record };
1658
+ this.drawerHelper
1659
+ .create(drawer.title, drawer.component, { ...obj, ...(drawer.params && drawer.params(record)) }, deepMergeKey({}, true, cog.drawer, drawer))
1660
+ .pipe(filter(w => typeof w !== 'undefined'))
1661
+ .subscribe(res => this.btnCallback(record, btn, res));
1662
+ return;
1663
+ }
1664
+ else if (btn.type === 'link') {
1665
+ const clickRes = this.btnCallback(record, btn);
1666
+ if (typeof clickRes === 'string') {
1667
+ this.router.navigateByUrl(clickRes, { state: this.routerState });
1668
+ }
1669
+ return;
1670
+ }
1671
+ this.btnCallback(record, btn);
1672
+ }
1673
+ btnCallback(record, btn, modal) {
1674
+ if (!btn.click)
1675
+ return;
1676
+ if (typeof btn.click === 'string') {
1677
+ switch (btn.click) {
1678
+ case 'load':
1679
+ this.stComp.load();
1680
+ break;
1681
+ case 'reload':
1682
+ this.stComp.reload();
1683
+ break;
1684
+ }
1685
+ }
1686
+ else {
1687
+ return btn.click(record, modal, this.stComp);
1688
+ }
1689
+ }
1690
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: STTdComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1691
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.1", type: STTdComponent, isStandalone: true, selector: "st-td", inputs: { c: "c", cIdx: "cIdx", data: "data", i: "i", index: "index" }, outputs: { n: "n" }, ngImport: i0, template: "<ng-template #btnTpl let-i let-child=\"child\">\n @if (i.tooltip) {\n <span nz-tooltip [nzTooltipTitle]=\"i.tooltip\" [class.d-block]=\"child\" [class.width-100]=\"child\">\n <ng-template [ngTemplateOutlet]=\"btnItemTpl\" [ngTemplateOutletContext]=\"{ $implicit: i }\" />\n </span>\n } @else {\n <ng-template [ngTemplateOutlet]=\"btnItemTpl\" [ngTemplateOutletContext]=\"{ $implicit: i }\" />\n }\n</ng-template>\n<ng-template #btnItemTpl let-i>\n @if (i.pop) {\n @let pop = i.pop;\n <a\n nz-popconfirm\n [nzPopconfirmTitle]=\"pop.title\"\n [nzIcon]=\"pop.icon\"\n [nzCondition]=\"pop.condition(i)\"\n [nzCancelText]=\"pop.cancelText\"\n [nzOkText]=\"pop.okText\"\n [nzOkType]=\"pop.okType\"\n (nzOnConfirm)=\"_btn(i)\"\n class=\"st__btn-text\"\n [class]=\"i._className\"\n (click)=\"_stopPropagation($event)\"\n >\n <ng-template [ngTemplateOutlet]=\"btnTextTpl\" [ngTemplateOutletContext]=\"{ $implicit: i }\" />\n </a>\n } @else {\n <a (click)=\"_btn(i, $event)\" class=\"st__btn-text\" [class]=\"i._className\">\n <ng-template [ngTemplateOutlet]=\"btnTextTpl\" [ngTemplateOutletContext]=\"{ $implicit: i }\" />\n </a>\n }\n</ng-template>\n<ng-template #btnTextTpl let-i>\n @if (i._icon) {\n @let icon = i._icon;\n @if (icon.iconfont) {\n <nz-icon [nzIconfont]=\"icon.iconfont\" />\n } @else {\n <nz-icon [nzType]=\"icon.type\" [nzTheme]=\"icon.theme\" [nzSpin]=\"icon.spin\" [nzTwotoneColor]=\"icon.twoToneColor\" />\n }\n }\n <span [innerHTML]=\"i._text\" [class.pl-xs]=\"i._icon\"></span>\n</ng-template>\n@if (c.__render) {\n <ng-template [ngTemplateOutlet]=\"c.__render!\" [ngTemplateOutletContext]=\"{ $implicit: i, index: index, column: c }\" />\n} @else {\n @let col = i._values[cIdx];\n @switch (c.type) {\n @case ('checkbox') {\n <label nz-checkbox [nzDisabled]=\"i.disabled\" [ngModel]=\"i.checked\" (ngModelChange)=\"_checkbox($event)\"></label>\n }\n @case ('radio') {\n <label nz-radio [nzDisabled]=\"i.disabled\" [ngModel]=\"i.checked\" (ngModelChange)=\"_radio()\"></label>\n }\n @case ('link') {\n <a (click)=\"_link($event)\" [innerHTML]=\"col._text\" [attr.title]=\"col.text\"></a>\n }\n @case ('tag') {\n <nz-tag [nzColor]=\"col.color\" [nz-tooltip]=\"col.tooltip\">\n <span [innerHTML]=\"col._text\"></span>\n </nz-tag>\n }\n @case ('badge') {\n <nz-badge [nzStatus]=\"col.color\" [nzText]=\"col.text\" [nz-tooltip]=\"col.tooltip\" />\n }\n @case ('cell') {\n <cell [value]=\"col.text\" [options]=\"col.cell ?? c.cell\" (click)=\"_client()\" />\n }\n @case ('widget') {\n <ng-template st-widget-host [record]=\"i\" [column]=\"c\" />\n }\n @default {\n @if (c.safeType === 'text') {\n <span [innerText]=\"col._text\" [attr.title]=\"c._isTruncate ? col.text : null\"></span>\n } @else {\n <span [innerHTML]=\"col._text\" [attr.title]=\"c._isTruncate ? col.text : null\"></span>\n }\n }\n }\n @for (btn of col.buttons; track $index) {\n @if (btn.children!.length > 0) {\n <a nz-dropdown [nzDropdownMenu]=\"btnMenu\" nzOverlayClassName=\"st__btn-sub\">\n <span [innerHTML]=\"btn._text\"></span>\n <nz-icon nzType=\"down\" />\n </a>\n <nz-dropdown-menu #btnMenu=\"nzDropdownMenu\">\n <ul nz-menu>\n @for (subBtn of btn.children; track $index) {\n @if (subBtn.type === 'divider') {\n <li nz-menu-divider></li>\n } @else {\n <li nz-menu-item [class.st__btn-disabled]=\"subBtn._disabled\">\n <ng-template\n [ngTemplateOutlet]=\"btnTpl\"\n [ngTemplateOutletContext]=\"{ $implicit: subBtn, child: true }\"\n />\n </li>\n }\n }\n </ul>\n </nz-dropdown-menu>\n } @else {\n <span [class.st__btn-disabled]=\"btn._disabled\">\n <ng-template [ngTemplateOutlet]=\"btnTpl\" [ngTemplateOutletContext]=\"{ $implicit: btn, child: false }\" />\n </span>\n }\n @if (!$last) {\n <nz-divider nzType=\"vertical\" />\n }\n }\n}\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NzTooltipDirective, selector: "[nz-tooltip]", inputs: ["nzTooltipTitle", "nzTooltipTitleContext", "nz-tooltip", "nzTooltipTrigger", "nzTooltipPlacement", "nzTooltipOrigin", "nzTooltipVisible", "nzTooltipMouseEnterDelay", "nzTooltipMouseLeaveDelay", "nzTooltipOverlayClassName", "nzTooltipOverlayStyle", "nzTooltipArrowPointAtCenter", "cdkConnectedOverlayPush", "nzTooltipColor"], outputs: ["nzTooltipVisibleChange"], exportAs: ["nzTooltip"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NzPopconfirmDirective, selector: "[nz-popconfirm]", inputs: ["nzPopconfirmArrowPointAtCenter", "nzPopconfirmTitle", "nzPopconfirmTitleContext", "nz-popconfirm", "nzPopconfirmTrigger", "nzPopconfirmPlacement", "nzPopconfirmOrigin", "nzPopconfirmMouseEnterDelay", "nzPopconfirmMouseLeaveDelay", "nzPopconfirmOverlayClassName", "nzPopconfirmOverlayStyle", "nzPopconfirmVisible", "nzOkText", "nzOkType", "nzOkDisabled", "nzOkDanger", "nzCancelText", "nzBeforeConfirm", "nzIcon", "nzCondition", "nzPopconfirmShowArrow", "nzPopconfirmBackdrop", "nzAutofocus"], outputs: ["nzPopconfirmVisibleChange", "nzOnCancel", "nzOnConfirm"], exportAs: ["nzPopconfirm"] }, { kind: "directive", type: NzIconDirective, selector: "nz-icon,[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "component", type: NzCheckboxComponent, selector: "[nz-checkbox]", inputs: ["nzValue", "nzAutoFocus", "nzDisabled", "nzIndeterminate", "nzChecked", "nzId", "nzName"], outputs: ["nzCheckedChange"], exportAs: ["nzCheckbox"] }, { kind: "component", type: NzRadioComponent, selector: "[nz-radio],[nz-radio-button]", inputs: ["nzValue", "nzDisabled", "nzAutoFocus", "nz-radio-button"], exportAs: ["nzRadio"] }, { kind: "component", type: NzTagComponent, selector: "nz-tag", inputs: ["nzMode", "nzColor", "nzChecked", "nzBordered"], outputs: ["nzOnClose", "nzCheckedChange"], exportAs: ["nzTag"] }, { kind: "component", type: NzBadgeComponent, selector: "nz-badge", inputs: ["nzShowZero", "nzShowDot", "nzStandalone", "nzDot", "nzOverflowCount", "nzColor", "nzStyle", "nzText", "nzTitle", "nzStatus", "nzCount", "nzOffset", "nzSize"], exportAs: ["nzBadge"] }, { kind: "component", type: CellComponent, selector: "cell, [cell]", inputs: ["value", "options", "loading", "disabled"], outputs: ["valueChange"], exportAs: ["cell"] }, { kind: "directive", type: STWidgetHostDirective, selector: "[st-widget-host]", inputs: ["record", "column"] }, { kind: "ngmodule", type: NzDropDownModule }, { kind: "directive", type: i2$1.NzMenuDirective, selector: "[nz-menu]", inputs: ["nzInlineIndent", "nzTheme", "nzMode", "nzInlineCollapsed", "nzSelectable"], outputs: ["nzClick"], exportAs: ["nzMenu"] }, { kind: "component", type: i2$1.NzMenuItemComponent, selector: "[nz-menu-item]", inputs: ["nzPaddingLeft", "nzDisabled", "nzSelected", "nzDanger", "nzMatchRouterExact", "nzMatchRouter"], exportAs: ["nzMenuItem"] }, { kind: "directive", type: i2$1.NzMenuDividerDirective, selector: "[nz-menu-divider]", exportAs: ["nzMenuDivider"] }, { kind: "directive", type: i3$2.NzDropDownDirective, selector: "[nz-dropdown]", inputs: ["nzDropdownMenu", "nzTrigger", "nzMatchWidthElement", "nzBackdrop", "nzClickHide", "nzDisabled", "nzVisible", "nzOverlayClassName", "nzOverlayStyle", "nzPlacement"], outputs: ["nzVisibleChange"], exportAs: ["nzDropdown"] }, { kind: "directive", type: i3$2.NzDropDownADirective, selector: "a[nz-dropdown]" }, { kind: "component", type: i3$2.NzDropdownMenuComponent, selector: "nz-dropdown-menu", exportAs: ["nzDropdownMenu"] }, { kind: "ngmodule", type: NzMenuModule }, { kind: "component", type: NzDividerComponent, selector: "nz-divider", inputs: ["nzText", "nzType", "nzOrientation", "nzVariant", "nzDashed", "nzPlain"], exportAs: ["nzDivider"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1692
+ }
1693
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: STTdComponent, decorators: [{
1694
+ type: Component,
1695
+ args: [{ selector: 'st-td', preserveWhitespaces: false, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [
1696
+ FormsModule,
1697
+ NzTooltipDirective,
1698
+ NgTemplateOutlet,
1699
+ NzPopconfirmDirective,
1700
+ NzIconDirective,
1701
+ NzCheckboxComponent,
1702
+ NzRadioComponent,
1703
+ NzTagComponent,
1704
+ NzBadgeComponent,
1705
+ CellComponent,
1706
+ STWidgetHostDirective,
1707
+ NzDropDownModule,
1708
+ NzMenuModule,
1709
+ NzDividerComponent
1710
+ ], template: "<ng-template #btnTpl let-i let-child=\"child\">\n @if (i.tooltip) {\n <span nz-tooltip [nzTooltipTitle]=\"i.tooltip\" [class.d-block]=\"child\" [class.width-100]=\"child\">\n <ng-template [ngTemplateOutlet]=\"btnItemTpl\" [ngTemplateOutletContext]=\"{ $implicit: i }\" />\n </span>\n } @else {\n <ng-template [ngTemplateOutlet]=\"btnItemTpl\" [ngTemplateOutletContext]=\"{ $implicit: i }\" />\n }\n</ng-template>\n<ng-template #btnItemTpl let-i>\n @if (i.pop) {\n @let pop = i.pop;\n <a\n nz-popconfirm\n [nzPopconfirmTitle]=\"pop.title\"\n [nzIcon]=\"pop.icon\"\n [nzCondition]=\"pop.condition(i)\"\n [nzCancelText]=\"pop.cancelText\"\n [nzOkText]=\"pop.okText\"\n [nzOkType]=\"pop.okType\"\n (nzOnConfirm)=\"_btn(i)\"\n class=\"st__btn-text\"\n [class]=\"i._className\"\n (click)=\"_stopPropagation($event)\"\n >\n <ng-template [ngTemplateOutlet]=\"btnTextTpl\" [ngTemplateOutletContext]=\"{ $implicit: i }\" />\n </a>\n } @else {\n <a (click)=\"_btn(i, $event)\" class=\"st__btn-text\" [class]=\"i._className\">\n <ng-template [ngTemplateOutlet]=\"btnTextTpl\" [ngTemplateOutletContext]=\"{ $implicit: i }\" />\n </a>\n }\n</ng-template>\n<ng-template #btnTextTpl let-i>\n @if (i._icon) {\n @let icon = i._icon;\n @if (icon.iconfont) {\n <nz-icon [nzIconfont]=\"icon.iconfont\" />\n } @else {\n <nz-icon [nzType]=\"icon.type\" [nzTheme]=\"icon.theme\" [nzSpin]=\"icon.spin\" [nzTwotoneColor]=\"icon.twoToneColor\" />\n }\n }\n <span [innerHTML]=\"i._text\" [class.pl-xs]=\"i._icon\"></span>\n</ng-template>\n@if (c.__render) {\n <ng-template [ngTemplateOutlet]=\"c.__render!\" [ngTemplateOutletContext]=\"{ $implicit: i, index: index, column: c }\" />\n} @else {\n @let col = i._values[cIdx];\n @switch (c.type) {\n @case ('checkbox') {\n <label nz-checkbox [nzDisabled]=\"i.disabled\" [ngModel]=\"i.checked\" (ngModelChange)=\"_checkbox($event)\"></label>\n }\n @case ('radio') {\n <label nz-radio [nzDisabled]=\"i.disabled\" [ngModel]=\"i.checked\" (ngModelChange)=\"_radio()\"></label>\n }\n @case ('link') {\n <a (click)=\"_link($event)\" [innerHTML]=\"col._text\" [attr.title]=\"col.text\"></a>\n }\n @case ('tag') {\n <nz-tag [nzColor]=\"col.color\" [nz-tooltip]=\"col.tooltip\">\n <span [innerHTML]=\"col._text\"></span>\n </nz-tag>\n }\n @case ('badge') {\n <nz-badge [nzStatus]=\"col.color\" [nzText]=\"col.text\" [nz-tooltip]=\"col.tooltip\" />\n }\n @case ('cell') {\n <cell [value]=\"col.text\" [options]=\"col.cell ?? c.cell\" (click)=\"_client()\" />\n }\n @case ('widget') {\n <ng-template st-widget-host [record]=\"i\" [column]=\"c\" />\n }\n @default {\n @if (c.safeType === 'text') {\n <span [innerText]=\"col._text\" [attr.title]=\"c._isTruncate ? col.text : null\"></span>\n } @else {\n <span [innerHTML]=\"col._text\" [attr.title]=\"c._isTruncate ? col.text : null\"></span>\n }\n }\n }\n @for (btn of col.buttons; track $index) {\n @if (btn.children!.length > 0) {\n <a nz-dropdown [nzDropdownMenu]=\"btnMenu\" nzOverlayClassName=\"st__btn-sub\">\n <span [innerHTML]=\"btn._text\"></span>\n <nz-icon nzType=\"down\" />\n </a>\n <nz-dropdown-menu #btnMenu=\"nzDropdownMenu\">\n <ul nz-menu>\n @for (subBtn of btn.children; track $index) {\n @if (subBtn.type === 'divider') {\n <li nz-menu-divider></li>\n } @else {\n <li nz-menu-item [class.st__btn-disabled]=\"subBtn._disabled\">\n <ng-template\n [ngTemplateOutlet]=\"btnTpl\"\n [ngTemplateOutletContext]=\"{ $implicit: subBtn, child: true }\"\n />\n </li>\n }\n }\n </ul>\n </nz-dropdown-menu>\n } @else {\n <span [class.st__btn-disabled]=\"btn._disabled\">\n <ng-template [ngTemplateOutlet]=\"btnTpl\" [ngTemplateOutletContext]=\"{ $implicit: btn, child: false }\" />\n </span>\n }\n @if (!$last) {\n <nz-divider nzType=\"vertical\" />\n }\n }\n}\n" }]
1711
+ }], propDecorators: { c: [{
1712
+ type: Input
1713
+ }], cIdx: [{
1714
+ type: Input
1715
+ }], data: [{
1716
+ type: Input
1717
+ }], i: [{
1718
+ type: Input
1719
+ }], index: [{
1720
+ type: Input
1721
+ }], n: [{
1722
+ type: Output
1723
+ }] } });
1577
1724
  class STComponent {
1725
+ i18nSrv = inject(ALAIN_I18N_TOKEN);
1726
+ el = inject(ElementRef).nativeElement;
1727
+ cdr = inject(ChangeDetectorRef);
1728
+ doc = inject(DOCUMENT);
1729
+ exportSrv = inject(STExport);
1730
+ columnSource = inject(STColumnSource);
1731
+ dataSource = inject(STDataSource);
1732
+ delonI18n = inject(DelonLocaleService);
1733
+ cms = inject(NzContextMenuService, { optional: true });
1734
+ destroy$ = inject(DestroyRef);
1735
+ totalTpl = ``;
1736
+ inied = false;
1737
+ cog;
1738
+ _req;
1739
+ _res;
1740
+ _page;
1741
+ _widthMode;
1742
+ customWidthConfig = false;
1743
+ _widthConfig = [];
1744
+ locale = {};
1745
+ _loading = false;
1746
+ _data = [];
1747
+ _statistical = {};
1748
+ _isPagination = true;
1749
+ _allChecked = false;
1750
+ _allCheckedDisabled = false;
1751
+ _indeterminate = false;
1752
+ _headers = [];
1753
+ _columns = [];
1754
+ contextmenuList = [];
1755
+ orgTable;
1756
+ contextmenuTpl;
1578
1757
  get req() {
1579
1758
  return this._req;
1580
1759
  }
@@ -1603,6 +1782,34 @@ class STComponent {
1603
1782
  this._page = { ...this.cog.page, ...value };
1604
1783
  this.updateTotalTpl();
1605
1784
  }
1785
+ data;
1786
+ columns;
1787
+ contextmenu;
1788
+ ps = 10;
1789
+ pi = 1;
1790
+ total = 0;
1791
+ loading = null;
1792
+ loadingDelay = 0;
1793
+ loadingIndicator = null;
1794
+ bordered = false;
1795
+ size;
1796
+ scroll = { x: null, y: null };
1797
+ drag = input(null, {
1798
+ transform: v => {
1799
+ const obj = typeof v === 'object' ? v : booleanAttribute(v) ? {} : null;
1800
+ if (obj == null)
1801
+ return null;
1802
+ if (typeof obj.dropped !== 'function') {
1803
+ obj.dropped = e => {
1804
+ moveItemInArray(this._data, e.previousIndex, e.currentIndex);
1805
+ this.cd();
1806
+ };
1807
+ }
1808
+ return obj;
1809
+ }
1810
+ });
1811
+ singleSort;
1812
+ _multiSort;
1606
1813
  get multiSort() {
1607
1814
  return this._multiSort;
1608
1815
  }
@@ -1616,6 +1823,8 @@ class STComponent {
1616
1823
  ...(typeof value === 'object' ? value : {})
1617
1824
  };
1618
1825
  }
1826
+ rowClassName;
1827
+ clickRowClassName;
1619
1828
  set widthMode(value) {
1620
1829
  this._widthMode = { ...this.cog.widthMode, ...value };
1621
1830
  }
@@ -1626,9 +1835,31 @@ class STComponent {
1626
1835
  this._widthConfig = val;
1627
1836
  this.customWidthConfig = val && val.length > 0;
1628
1837
  }
1838
+ _resizable;
1629
1839
  set resizable(val) {
1630
1840
  this._resizable = typeof val === 'object' ? val : { disabled: !booleanAttribute(val) };
1631
1841
  }
1842
+ header;
1843
+ showHeader = true;
1844
+ footer;
1845
+ bodyHeader;
1846
+ body;
1847
+ expandRowByClick = false;
1848
+ expandAccordion = false;
1849
+ expand = null;
1850
+ expandIcon = null;
1851
+ noResult;
1852
+ responsive = true;
1853
+ responsiveHideHeaderFooter;
1854
+ error = new EventEmitter();
1855
+ change = new EventEmitter();
1856
+ virtualScroll = false;
1857
+ virtualItemSize = 54;
1858
+ virtualMaxBufferPx = 200;
1859
+ virtualMinBufferPx = 100;
1860
+ customRequest;
1861
+ virtualForTrackBy = index => index;
1862
+ trackBy = (_, item) => item;
1632
1863
  /**
1633
1864
  * Get the number of the current page
1634
1865
  */
@@ -1645,53 +1876,6 @@ class STComponent {
1645
1876
  return this.columns == null;
1646
1877
  }
1647
1878
  constructor(configSrv) {
1648
- this.i18nSrv = inject(ALAIN_I18N_TOKEN);
1649
- this.el = inject(ElementRef).nativeElement;
1650
- this.cdr = inject(ChangeDetectorRef);
1651
- this.doc = inject(DOCUMENT);
1652
- this.exportSrv = inject(STExport);
1653
- this.columnSource = inject(STColumnSource);
1654
- this.dataSource = inject(STDataSource);
1655
- this.delonI18n = inject(DelonLocaleService);
1656
- this.cms = inject(NzContextMenuService, { optional: true });
1657
- this.destroy$ = inject(DestroyRef);
1658
- this.totalTpl = ``;
1659
- this.inied = false;
1660
- this.customWidthConfig = false;
1661
- this._widthConfig = [];
1662
- this.locale = {};
1663
- this._loading = false;
1664
- this._data = [];
1665
- this._statistical = {};
1666
- this._isPagination = true;
1667
- this._allChecked = false;
1668
- this._allCheckedDisabled = false;
1669
- this._indeterminate = false;
1670
- this._headers = [];
1671
- this._columns = [];
1672
- this.contextmenuList = [];
1673
- this.ps = 10;
1674
- this.pi = 1;
1675
- this.total = 0;
1676
- this.loading = null;
1677
- this.loadingDelay = 0;
1678
- this.loadingIndicator = null;
1679
- this.bordered = false;
1680
- this.scroll = { x: null, y: null };
1681
- this.showHeader = true;
1682
- this.expandRowByClick = false;
1683
- this.expandAccordion = false;
1684
- this.expand = null;
1685
- this.expandIcon = null;
1686
- this.responsive = true;
1687
- this.error = new EventEmitter();
1688
- this.change = new EventEmitter();
1689
- this.virtualScroll = false;
1690
- this.virtualItemSize = 54;
1691
- this.virtualMaxBufferPx = 200;
1692
- this.virtualMinBufferPx = 100;
1693
- this.virtualForTrackBy = index => index;
1694
- this.trackBy = (_, item) => item;
1695
1879
  this.delonI18n.change.pipe(takeUntilDestroyed()).subscribe(() => {
1696
1880
  this.locale = this.delonI18n.getData('st');
1697
1881
  if (this._columns.length > 0) {
@@ -1949,19 +2133,19 @@ class STComponent {
1949
2133
  ev.stopPropagation();
1950
2134
  }
1951
2135
  _refColAndData() {
1952
- this._columns.forEach(c => {
2136
+ this._columns.forEach((c, cIdx) => {
1953
2137
  this._data.forEach((i, idx) => {
1954
2138
  const values = i._values;
1955
2139
  if (c.type === 'no') {
1956
2140
  const text = `${this.dataSource.getNoIndex(i, c, idx)}`;
1957
- values[c.__point] = {
2141
+ values[cIdx] = {
1958
2142
  text,
1959
2143
  _text: text,
1960
2144
  org: idx,
1961
2145
  safeType: 'text'
1962
2146
  };
1963
2147
  }
1964
- values[c.__point].props = this.dataSource.getCell(c, i, idx);
2148
+ values[cIdx].props = this.dataSource.getCell(c, i, idx);
1965
2149
  });
1966
2150
  });
1967
2151
  return this.refreshData();
@@ -2025,7 +2209,7 @@ class STComponent {
2025
2209
  if (typeof index !== 'number') {
2026
2210
  index = this._data.indexOf(index);
2027
2211
  }
2028
- this._data[index] = deepMergeKey(this._data[index], false, item);
2212
+ this._data[index] = deepMergeKey(this._data[index], options?.arrayProcessMethod ?? false, item);
2029
2213
  this.optimizeData();
2030
2214
  if (options.refreshSchema) {
2031
2215
  this.resetColumns({ emitReload: options.emitReload });
@@ -2225,7 +2409,8 @@ class STComponent {
2225
2409
  const res = this.columnSource.process(this.columns, {
2226
2410
  widthMode: this.widthMode,
2227
2411
  resizable: this._resizable,
2228
- safeType: this.cog.safeType
2412
+ safeType: this.cog.safeType,
2413
+ expand: this.expand != null
2229
2414
  });
2230
2415
  this._columns = res.columns;
2231
2416
  this._headers = res.headers;
@@ -2277,10 +2462,10 @@ class STComponent {
2277
2462
  this.loadPageData().subscribe();
2278
2463
  }
2279
2464
  }
2280
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: STComponent, deps: [{ token: i1$2.AlainConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
2281
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: STComponent, selector: "st", inputs: { req: "req", res: "res", page: "page", data: "data", columns: "columns", contextmenu: "contextmenu", ps: ["ps", "ps", (v) => numberAttribute(v, 10)], pi: ["pi", "pi", (v) => numberAttribute(v, 1)], total: ["total", "total", (v) => numberAttribute(v, 0)], loading: "loading", loadingDelay: ["loadingDelay", "loadingDelay", numberAttribute], loadingIndicator: "loadingIndicator", bordered: ["bordered", "bordered", booleanAttribute], size: "size", scroll: "scroll", singleSort: "singleSort", multiSort: "multiSort", rowClassName: "rowClassName", clickRowClassName: "clickRowClassName", widthMode: "widthMode", widthConfig: "widthConfig", resizable: "resizable", header: "header", showHeader: ["showHeader", "showHeader", booleanAttribute], footer: "footer", bodyHeader: "bodyHeader", body: "body", expandRowByClick: ["expandRowByClick", "expandRowByClick", booleanAttribute], expandAccordion: ["expandAccordion", "expandAccordion", booleanAttribute], expand: "expand", expandIcon: "expandIcon", noResult: "noResult", responsive: ["responsive", "responsive", booleanAttribute], responsiveHideHeaderFooter: ["responsiveHideHeaderFooter", "responsiveHideHeaderFooter", booleanAttribute], virtualScroll: ["virtualScroll", "virtualScroll", booleanAttribute], virtualItemSize: ["virtualItemSize", "virtualItemSize", numberAttribute], virtualMaxBufferPx: ["virtualMaxBufferPx", "virtualMaxBufferPx", numberAttribute], virtualMinBufferPx: ["virtualMinBufferPx", "virtualMinBufferPx", numberAttribute], customRequest: "customRequest", virtualForTrackBy: "virtualForTrackBy", trackBy: "trackBy" }, outputs: { error: "error", change: "change" }, host: { properties: { "class.st": "true", "class.st__p-left": "page.placement === 'left'", "class.st__p-center": "page.placement === 'center'", "class.st__width-strict": "widthMode.type === 'strict'", "class.st__row-class": "rowClassName", "class.ant-table-rep": "responsive", "class.ant-table-rep__hide-header-footer": "responsiveHideHeaderFooter" } }, providers: [STDataSource, STRowSource, STColumnSource, STExport, DatePipe, YNPipe, DecimalPipe], viewQueries: [{ propertyName: "orgTable", first: true, predicate: ["table"], descendants: true }, { propertyName: "contextmenuTpl", first: true, predicate: ["contextmenuTpl"], descendants: true }], exportAs: ["st"], usesOnChanges: true, ngImport: i0, template: "<ng-template #titleTpl let-i>\n <span [innerHTML]=\"i._text\"></span>\n @if (i.optional) {\n <small class=\"st__head-optional\" [innerHTML]=\"i.optional\"></small>\n }\n @if (i.optionalHelp) {\n <i class=\"st__head-tip\" nz-tooltip [nzTooltipTitle]=\"i.optionalHelp\" nz-icon nzType=\"question-circle\"></i>\n }\n</ng-template>\n<ng-template #chkAllTpl let-custom>\n <label\n nz-checkbox\n class=\"st__checkall\"\n [nzDisabled]=\"_allCheckedDisabled\"\n [(ngModel)]=\"_allChecked\"\n [nzIndeterminate]=\"_indeterminate\"\n (ngModelChange)=\"checkAll()\"\n [class.ant-table-selection-select-all-custom]=\"custom\"\n ></label>\n</ng-template>\n<nz-table\n #table\n [nzData]=\"_data\"\n [(nzPageIndex)]=\"pi\"\n (nzPageIndexChange)=\"_change('pi')\"\n [(nzPageSize)]=\"ps\"\n (nzPageSizeChange)=\"_change('ps')\"\n [nzTotal]=\"total\"\n [nzShowPagination]=\"_isPagination\"\n [nzFrontPagination]=\"false\"\n [nzBordered]=\"bordered\"\n [nzSize]=\"size\"\n [nzLoading]=\"noColumns || _loading\"\n [nzLoadingDelay]=\"loadingDelay\"\n [nzLoadingIndicator]=\"loadingIndicator\"\n [nzTitle]=\"header!\"\n [nzFooter]=\"footer!\"\n [nzScroll]=\"scroll\"\n [nzVirtualItemSize]=\"virtualItemSize\"\n [nzVirtualMaxBufferPx]=\"virtualMaxBufferPx\"\n [nzVirtualMinBufferPx]=\"virtualMinBufferPx\"\n [nzVirtualForTrackBy]=\"virtualForTrackBy\"\n [nzNoResult]=\"noResult!\"\n [nzPageSizeOptions]=\"page.pageSizes!\"\n [nzShowQuickJumper]=\"page.showQuickJumper\"\n [nzShowSizeChanger]=\"page.showSize\"\n [nzPaginationPosition]=\"page.position!\"\n [nzPaginationType]=\"page.type!\"\n [nzItemRender]=\"page.itemRender!\"\n [nzSimple]=\"page.simple\"\n [nzShowTotal]=\"totalTpl\"\n [nzWidthConfig]=\"_widthConfig\"\n (contextmenu)=\"onContextmenu($event)\"\n [class.st__no-column]=\"noColumns\"\n>\n @if (showHeader) {\n <thead>\n @for (row of _headers; track row) {\n <tr>\n @if ($first && expand) {\n <th nzWidth=\"50px\" [rowSpan]=\"_headers.length\"></th>\n }\n @for (h of row; track h; let index = $index; let last = $last) {\n <th\n *let=\"h.column as _c\"\n [colSpan]=\"h.colSpan\"\n [rowSpan]=\"h.rowSpan\"\n [nzWidth]=\"$any(_c).width\"\n [nzLeft]=\"_c._left!\"\n [nzRight]=\"_c._right!\"\n [ngClass]=\"_c._className\"\n [attr.data-col]=\"_c.indexKey\"\n [attr.data-col-index]=\"index\"\n [nzShowSort]=\"_c._sort.enabled\"\n [nzSortOrder]=\"$any(_c)._sort.default\"\n (nzSortOrderChange)=\"sort(_c, $event)\"\n [nzCustomFilter]=\"!!_c.filter\"\n [class.st__has-filter]=\"_c.filter\"\n nz-resizable\n [nzDisabled]=\"last || $any(_c).resizable.disabled\"\n [nzMaxWidth]=\"$any(_c).resizable.maxWidth\"\n [nzMinWidth]=\"$any(_c).resizable.minWidth\"\n [nzBounds]=\"$any(_c).resizable.bounds\"\n [nzPreview]=\"$any(_c).resizable.preview\"\n (nzResizeEnd)=\"colResize($event, _c)\"\n >\n @if ($any(!last && !$any(_c).resizable.disabled)) {\n <nz-resize-handle nzDirection=\"right\" (click)=\"_stopPropagation($event)\">\n <i></i>\n </nz-resize-handle>\n }\n @if (_c.__renderTitle) {\n <ng-template\n [ngTemplateOutlet]=\"_c.__renderTitle!\"\n [ngTemplateOutletContext]=\"{ $implicit: h.column, index: index }\"\n />\n } @else {\n @switch (_c.type) {\n @case ('checkbox') {\n @if (_c.selections!.length === 0) {\n <ng-template [ngTemplateOutlet]=\"chkAllTpl\" [ngTemplateOutletContext]=\"{ $implicit: false }\" />\n } @else {\n <div class=\"ant-table-selection\">\n <ng-template [ngTemplateOutlet]=\"chkAllTpl\" [ngTemplateOutletContext]=\"{ $implicit: true }\" />\n @if (_c.selections!.length) {\n <div class=\"ant-table-selection-extra\">\n <div\n nz-dropdown\n nzPlacement=\"bottomLeft\"\n [nzDropdownMenu]=\"selectionMenu\"\n class=\"ant-table-selection-down st__checkall-selection\"\n >\n <i nz-icon nzType=\"down\"></i>\n </div>\n </div>\n }\n <nz-dropdown-menu #selectionMenu=\"nzDropdownMenu\">\n <ul nz-menu class=\"ant-table-selection-menu\">\n @for (rw of _c.selections; track $index) {\n <li nz-menu-item (click)=\"_rowSelection(rw)\" [innerHTML]=\"rw.text\"></li>\n }\n </ul>\n </nz-dropdown-menu>\n </div>\n }\n }\n @default {\n <ng-template [ngTemplateOutlet]=\"titleTpl\" [ngTemplateOutletContext]=\"{ $implicit: _c.title }\" />\n }\n }\n }\n @if (_c.filter) {\n <st-filter\n nz-th-extra\n [col]=\"h.column\"\n [f]=\"_c.filter\"\n [locale]=\"locale\"\n (n)=\"handleFilterNotify($event)\"\n (handle)=\"_handleFilter(_c, $event)\"\n />\n }\n </th>\n }\n </tr>\n }\n </thead>\n }\n <tbody class=\"st__body\">\n @if (!_loading) {\n <ng-template [ngTemplateOutlet]=\"bodyHeader!\" [ngTemplateOutletContext]=\"{ $implicit: _statistical }\" />\n }\n <ng-template #bodyTpl let-i let-index=\"index\">\n <tr\n [attr.data-index]=\"index\"\n (click)=\"_rowClick($event, i, index, false)\"\n (dblclick)=\"_rowClick($event, i, index, true)\"\n [ngClass]=\"i._rowClassName\"\n >\n @if (expand) {\n <td\n [nzShowExpand]=\"expand && i.showExpand !== false\"\n [nzExpand]=\"i.expand\"\n [nzExpandIcon]=\"expandIcon ? wrapExpandIcon : null\"\n (nzExpandChange)=\"_expandChange(i, $event)\"\n (click)=\"_stopPropagation($event)\"\n nzWidth=\"50px\"\n ></td>\n <ng-template #wrapExpandIcon>\n <span (click)=\"_expandChange(i, !i.expand)\">\n <ng-template [ngTemplateOutlet]=\"expandIcon\" [ngTemplateOutletContext]=\"{ $implicit: i, index: index }\" />\n </span>\n </ng-template>\n }\n @for (c of _columns; track cIdx; let cIdx = $index) {\n @if (i._values[cIdx].props?.colSpan > 0 && i._values[cIdx].props?.rowSpan > 0) {\n <td\n [nzLeft]=\"!!c._left\"\n [nzRight]=\"!!c._right\"\n [attr.data-col-index]=\"cIdx\"\n [ngClass]=\"c._className\"\n [attr.colspan]=\"i._values[cIdx].props?.colSpan === 1 ? null : i._values[cIdx].props?.colSpan\"\n [attr.rowspan]=\"i._values[cIdx].props?.rowSpan === 1 ? null : i._values[cIdx].props?.rowSpan\"\n >\n @if (responsive) {\n <span class=\"ant-table-rep__title\">\n <ng-template [ngTemplateOutlet]=\"titleTpl\" [ngTemplateOutletContext]=\"{ $implicit: c.title }\" />\n </span>\n }\n <st-td [data]=\"_data\" [i]=\"i\" [index]=\"index\" [c]=\"c\" [cIdx]=\"cIdx\" (n)=\"_handleTd($event)\" />\n </td>\n }\n }\n </tr>\n <tr [nzExpand]=\"i.expand\">\n <ng-template [ngTemplateOutlet]=\"expand\" [ngTemplateOutletContext]=\"{ $implicit: i, index: index }\" />\n </tr>\n </ng-template>\n @if (virtualScroll) {\n <ng-template nz-virtual-scroll let-i let-index=\"index\">\n <ng-template [ngTemplateOutlet]=\"bodyTpl\" [ngTemplateOutletContext]=\"{ $implicit: i, index: index }\" />\n </ng-template>\n } @else {\n @for (i of _data; track trackBy($index, i)) {\n <ng-template [ngTemplateOutlet]=\"bodyTpl\" [ngTemplateOutletContext]=\"{ $implicit: i, index: $index }\" />\n }\n }\n @if (!_loading) {\n <ng-template [ngTemplateOutlet]=\"body!\" [ngTemplateOutletContext]=\"{ $implicit: _statistical }\" />\n }\n </tbody>\n <ng-template #totalTpl let-range=\"range\" let-total>{{ renderTotal(total, range) }}</ng-template>\n</nz-table>\n<nz-dropdown-menu #contextmenuTpl=\"nzDropdownMenu\">\n <ul nz-menu class=\"st__contextmenu\">\n @for (i of contextmenuList; track $index) {\n @if (i.children!.length === 0) {\n <li nz-menu-item (click)=\"i.fn!(i)\" [innerHTML]=\"i.text\"></li>\n } @else {\n <li nz-submenu [nzTitle]=\"i.text\">\n <ul>\n @for (ci of i.children; track $index) {\n <li nz-menu-item (click)=\"ci.fn!(ci)\" [innerHTML]=\"ci.text\"></li>\n }\n </ul>\n </li>\n }\n }\n </ul>\n</nz-dropdown-menu>\n", dependencies: [{ kind: "directive", type: i0.forwardRef(() => i2.NgClass), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(() => i2.NgTemplateOutlet), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(() => i3$2.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i3$2.NgModel), selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i0.forwardRef(() => i4.LetDirective), selector: "[let]", inputs: ["let"] }, { kind: "component", type: i0.forwardRef(() => i5.NzTableComponent), selector: "nz-table", inputs: ["nzTableLayout", "nzShowTotal", "nzItemRender", "nzTitle", "nzFooter", "nzNoResult", "nzPageSizeOptions", "nzVirtualItemSize", "nzVirtualMaxBufferPx", "nzVirtualMinBufferPx", "nzVirtualForTrackBy", "nzLoadingDelay", "nzPageIndex", "nzPageSize", "nzTotal", "nzWidthConfig", "nzData", "nzCustomColumn", "nzPaginationPosition", "nzScroll", "noDataVirtualHeight", "nzPaginationType", "nzFrontPagination", "nzTemplateMode", "nzShowPagination", "nzLoading", "nzOuterBordered", "nzLoadingIndicator", "nzBordered", "nzSize", "nzShowSizeChanger", "nzHideOnSinglePage", "nzShowQuickJumper", "nzSimple"], outputs: ["nzPageSizeChange", "nzPageIndexChange", "nzQueryParams", "nzCurrentPageDataChange", "nzCustomColumnChange"], exportAs: ["nzTable"] }, { kind: "component", type: i0.forwardRef(() => i5.NzThAddOnComponent), selector: "th[nzColumnKey], th[nzSortFn], th[nzSortOrder], th[nzFilters], th[nzShowSort], th[nzShowFilter], th[nzCustomFilter]", inputs: ["nzColumnKey", "nzFilterMultiple", "nzSortOrder", "nzSortPriority", "nzSortDirections", "nzFilters", "nzSortFn", "nzFilterFn", "nzShowSort", "nzShowFilter", "nzCustomFilter"], outputs: ["nzCheckedChange", "nzSortOrderChange", "nzFilterChange"] }, { kind: "directive", type: i0.forwardRef(() => i5.NzTableCellDirective), selector: "th:not(.nz-disable-th):not([mat-cell]), td:not(.nz-disable-td):not([mat-cell])" }, { kind: "directive", type: i0.forwardRef(() => i5.NzThMeasureDirective), selector: "th", inputs: ["nzWidth", "colspan", "colSpan", "rowspan", "rowSpan"] }, { kind: "component", type: i0.forwardRef(() => i5.NzTdAddOnComponent), selector: "td[nzChecked], td[nzDisabled], td[nzIndeterminate], td[nzIndentSize], td[nzExpand], td[nzShowExpand], td[nzShowCheckbox]", inputs: ["nzChecked", "nzDisabled", "nzIndeterminate", "nzLabel", "nzIndentSize", "nzShowExpand", "nzShowCheckbox", "nzExpand", "nzExpandIcon"], outputs: ["nzCheckedChange", "nzExpandChange"] }, { kind: "component", type: i0.forwardRef(() => i5.NzTheadComponent), selector: "thead:not(.ant-table-thead)", outputs: ["nzSortOrderChange"] }, { kind: "component", type: i0.forwardRef(() => i5.NzTbodyComponent), selector: "tbody" }, { kind: "directive", type: i0.forwardRef(() => i5.NzTrDirective), selector: "tr:not([mat-row]):not([mat-header-row]):not([nz-table-measure-row]):not([nzExpand]):not([nz-table-fixed-row])" }, { kind: "directive", type: i0.forwardRef(() => i5.NzTableVirtualScrollDirective), selector: "[nz-virtual-scroll]", exportAs: ["nzVirtualScroll"] }, { kind: "directive", type: i0.forwardRef(() => i5.NzCellFixedDirective), selector: "td[nzRight],th[nzRight],td[nzLeft],th[nzLeft]", inputs: ["nzRight", "nzLeft", "colspan", "colSpan"] }, { kind: "directive", type: i0.forwardRef(() => i5.NzTrExpandDirective), selector: "tr[nzExpand]", inputs: ["nzExpand"] }, { kind: "component", type: i0.forwardRef(() => i5.NzTableFixedRowComponent), selector: "tr[nz-table-fixed-row], tr[nzExpand]" }, { kind: "directive", type: i0.forwardRef(() => i6.NzIconDirective), selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "component", type: i0.forwardRef(() => i7.NzCheckboxComponent), selector: "[nz-checkbox]", inputs: ["nzValue", "nzAutoFocus", "nzDisabled", "nzIndeterminate", "nzChecked", "nzId"], outputs: ["nzCheckedChange"], exportAs: ["nzCheckbox"] }, { kind: "directive", type: i0.forwardRef(() => i8.NzMenuDirective), selector: "[nz-menu]", inputs: ["nzInlineIndent", "nzTheme", "nzMode", "nzInlineCollapsed", "nzSelectable"], outputs: ["nzClick"], exportAs: ["nzMenu"] }, { kind: "component", type: i0.forwardRef(() => i8.NzMenuItemComponent), selector: "[nz-menu-item]", inputs: ["nzPaddingLeft", "nzDisabled", "nzSelected", "nzDanger", "nzMatchRouterExact", "nzMatchRouter"], exportAs: ["nzMenuItem"] }, { kind: "component", type: i0.forwardRef(() => i8.NzSubMenuComponent), selector: "[nz-submenu]", inputs: ["nzMenuClassName", "nzPaddingLeft", "nzTitle", "nzIcon", "nzOpen", "nzDisabled", "nzPlacement"], outputs: ["nzOpenChange"], exportAs: ["nzSubmenu"] }, { kind: "directive", type: i0.forwardRef(() => i9.NzDropDownDirective), selector: "[nz-dropdown]", inputs: ["nzDropdownMenu", "nzTrigger", "nzMatchWidthElement", "nzBackdrop", "nzClickHide", "nzDisabled", "nzVisible", "nzOverlayClassName", "nzOverlayStyle", "nzPlacement"], outputs: ["nzVisibleChange"], exportAs: ["nzDropdown"] }, { kind: "component", type: i0.forwardRef(() => i9.NzDropdownMenuComponent), selector: "nz-dropdown-menu", exportAs: ["nzDropdownMenu"] }, { kind: "directive", type: i0.forwardRef(() => i10$1.NzTooltipDirective), selector: "[nz-tooltip]", inputs: ["nzTooltipTitle", "nzTooltipTitleContext", "nz-tooltip", "nzTooltipTrigger", "nzTooltipPlacement", "nzTooltipOrigin", "nzTooltipVisible", "nzTooltipMouseEnterDelay", "nzTooltipMouseLeaveDelay", "nzTooltipOverlayClassName", "nzTooltipOverlayStyle", "nzTooltipArrowPointAtCenter", "cdkConnectedOverlayPush", "nzTooltipColor"], outputs: ["nzTooltipVisibleChange"], exportAs: ["nzTooltip"] }, { kind: "directive", type: i0.forwardRef(() => i11.NzResizableDirective), selector: "[nz-resizable]", inputs: ["nzBounds", "nzMaxHeight", "nzMaxWidth", "nzMinHeight", "nzMinWidth", "nzGridColumnCount", "nzMaxColumn", "nzMinColumn", "nzLockAspectRatio", "nzPreview", "nzDisabled"], outputs: ["nzResize", "nzResizeEnd", "nzResizeStart"], exportAs: ["nzResizable"] }, { kind: "component", type: i0.forwardRef(() => i11.NzResizeHandleComponent), selector: "nz-resize-handle, [nz-resize-handle]", inputs: ["nzDirection", "nzCursorType"], outputs: ["nzMouseDown"], exportAs: ["nzResizeHandle"] }, { kind: "component", type: i0.forwardRef(() => STFilterComponent), selector: "st-filter", inputs: ["col", "locale", "f"], outputs: ["n", "handle"] }, { kind: "component", type: i0.forwardRef(() => STTdComponent), selector: "st-td", inputs: ["c", "cIdx", "data", "i", "index"], outputs: ["n"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
2465
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: STComponent, deps: [{ token: i4.AlainConfigService }], target: i0.ɵɵFactoryTarget.Component });
2466
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.1", type: STComponent, isStandalone: true, selector: "st", inputs: { req: { classPropertyName: "req", publicName: "req", isSignal: false, isRequired: false, transformFunction: null }, res: { classPropertyName: "res", publicName: "res", isSignal: false, isRequired: false, transformFunction: null }, page: { classPropertyName: "page", publicName: "page", isSignal: false, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: false, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: false, isRequired: false, transformFunction: null }, contextmenu: { classPropertyName: "contextmenu", publicName: "contextmenu", isSignal: false, isRequired: false, transformFunction: null }, ps: { classPropertyName: "ps", publicName: "ps", isSignal: false, isRequired: false, transformFunction: (v) => numberAttribute(v, 10) }, pi: { classPropertyName: "pi", publicName: "pi", isSignal: false, isRequired: false, transformFunction: (v) => numberAttribute(v, 1) }, total: { classPropertyName: "total", publicName: "total", isSignal: false, isRequired: false, transformFunction: (v) => numberAttribute(v, 0) }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: false, isRequired: false, transformFunction: null }, loadingDelay: { classPropertyName: "loadingDelay", publicName: "loadingDelay", isSignal: false, isRequired: false, transformFunction: numberAttribute }, loadingIndicator: { classPropertyName: "loadingIndicator", publicName: "loadingIndicator", isSignal: false, isRequired: false, transformFunction: null }, bordered: { classPropertyName: "bordered", publicName: "bordered", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, size: { classPropertyName: "size", publicName: "size", isSignal: false, isRequired: false, transformFunction: null }, scroll: { classPropertyName: "scroll", publicName: "scroll", isSignal: false, isRequired: false, transformFunction: null }, drag: { classPropertyName: "drag", publicName: "drag", isSignal: true, isRequired: false, transformFunction: null }, singleSort: { classPropertyName: "singleSort", publicName: "singleSort", isSignal: false, isRequired: false, transformFunction: null }, multiSort: { classPropertyName: "multiSort", publicName: "multiSort", isSignal: false, isRequired: false, transformFunction: null }, rowClassName: { classPropertyName: "rowClassName", publicName: "rowClassName", isSignal: false, isRequired: false, transformFunction: null }, clickRowClassName: { classPropertyName: "clickRowClassName", publicName: "clickRowClassName", isSignal: false, isRequired: false, transformFunction: null }, widthMode: { classPropertyName: "widthMode", publicName: "widthMode", isSignal: false, isRequired: false, transformFunction: null }, widthConfig: { classPropertyName: "widthConfig", publicName: "widthConfig", isSignal: false, isRequired: false, transformFunction: null }, resizable: { classPropertyName: "resizable", publicName: "resizable", isSignal: false, isRequired: false, transformFunction: null }, header: { classPropertyName: "header", publicName: "header", isSignal: false, isRequired: false, transformFunction: null }, showHeader: { classPropertyName: "showHeader", publicName: "showHeader", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, footer: { classPropertyName: "footer", publicName: "footer", isSignal: false, isRequired: false, transformFunction: null }, bodyHeader: { classPropertyName: "bodyHeader", publicName: "bodyHeader", isSignal: false, isRequired: false, transformFunction: null }, body: { classPropertyName: "body", publicName: "body", isSignal: false, isRequired: false, transformFunction: null }, expandRowByClick: { classPropertyName: "expandRowByClick", publicName: "expandRowByClick", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, expandAccordion: { classPropertyName: "expandAccordion", publicName: "expandAccordion", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, expand: { classPropertyName: "expand", publicName: "expand", isSignal: false, isRequired: false, transformFunction: null }, expandIcon: { classPropertyName: "expandIcon", publicName: "expandIcon", isSignal: false, isRequired: false, transformFunction: null }, noResult: { classPropertyName: "noResult", publicName: "noResult", isSignal: false, isRequired: false, transformFunction: null }, responsive: { classPropertyName: "responsive", publicName: "responsive", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, responsiveHideHeaderFooter: { classPropertyName: "responsiveHideHeaderFooter", publicName: "responsiveHideHeaderFooter", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, virtualScroll: { classPropertyName: "virtualScroll", publicName: "virtualScroll", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, virtualItemSize: { classPropertyName: "virtualItemSize", publicName: "virtualItemSize", isSignal: false, isRequired: false, transformFunction: numberAttribute }, virtualMaxBufferPx: { classPropertyName: "virtualMaxBufferPx", publicName: "virtualMaxBufferPx", isSignal: false, isRequired: false, transformFunction: numberAttribute }, virtualMinBufferPx: { classPropertyName: "virtualMinBufferPx", publicName: "virtualMinBufferPx", isSignal: false, isRequired: false, transformFunction: numberAttribute }, customRequest: { classPropertyName: "customRequest", publicName: "customRequest", isSignal: false, isRequired: false, transformFunction: null }, virtualForTrackBy: { classPropertyName: "virtualForTrackBy", publicName: "virtualForTrackBy", isSignal: false, isRequired: false, transformFunction: null }, trackBy: { classPropertyName: "trackBy", publicName: "trackBy", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { error: "error", change: "change" }, host: { properties: { "class.st": "true", "class.st__p-left": "page.placement === 'left'", "class.st__p-center": "page.placement === 'center'", "class.st__width-strict": "widthMode.type === 'strict'", "class.st__row-class": "rowClassName", "class.ant-table-rep": "responsive", "class.ant-table-rep__hide-header-footer": "responsiveHideHeaderFooter" } }, providers: [STDataSource, STRowSource, STColumnSource, STExport, DatePipe, YNPipe, DecimalPipe], viewQueries: [{ propertyName: "orgTable", first: true, predicate: ["table"], descendants: true }, { propertyName: "contextmenuTpl", first: true, predicate: ["contextmenuTpl"], descendants: true }], exportAs: ["st"], usesOnChanges: true, ngImport: i0, template: "<ng-template #titleTpl let-i>\n <span [innerHTML]=\"i._text\"></span>\n @if (i.optional) {\n <small class=\"st__head-optional\" [innerHTML]=\"i.optional\"></small>\n }\n @if (i.optionalHelp) {\n <nz-icon class=\"st__head-tip\" nz-tooltip [nzTooltipTitle]=\"i.optionalHelp\" nzType=\"question-circle\" />\n }\n</ng-template>\n<ng-template #chkAllTpl let-custom>\n <label\n nz-checkbox\n class=\"st__checkall\"\n [nzDisabled]=\"_allCheckedDisabled\"\n [(ngModel)]=\"_allChecked\"\n [nzIndeterminate]=\"_indeterminate\"\n (ngModelChange)=\"checkAll()\"\n [class.ant-table-selection-select-all-custom]=\"custom\"\n ></label>\n</ng-template>\n<nz-table\n #table\n [nzData]=\"_data\"\n [(nzPageIndex)]=\"pi\"\n (nzPageIndexChange)=\"_change('pi')\"\n [(nzPageSize)]=\"ps\"\n (nzPageSizeChange)=\"_change('ps')\"\n [nzTotal]=\"total\"\n [nzShowPagination]=\"_isPagination\"\n [nzFrontPagination]=\"false\"\n [nzBordered]=\"bordered\"\n [nzSize]=\"size\"\n [nzLoading]=\"noColumns || _loading\"\n [nzLoadingDelay]=\"loadingDelay\"\n [nzLoadingIndicator]=\"loadingIndicator\"\n [nzTitle]=\"header!\"\n [nzFooter]=\"footer!\"\n [nzScroll]=\"scroll\"\n [nzVirtualItemSize]=\"virtualItemSize\"\n [nzVirtualMaxBufferPx]=\"virtualMaxBufferPx\"\n [nzVirtualMinBufferPx]=\"virtualMinBufferPx\"\n [nzVirtualForTrackBy]=\"virtualForTrackBy\"\n [nzNoResult]=\"noResult!\"\n [nzPageSizeOptions]=\"page.pageSizes!\"\n [nzShowQuickJumper]=\"page.showQuickJumper\"\n [nzShowSizeChanger]=\"page.showSize\"\n [nzPaginationPosition]=\"page.position!\"\n [nzPaginationType]=\"page.type!\"\n [nzItemRender]=\"page.itemRender!\"\n [nzSimple]=\"page.simple\"\n [nzShowTotal]=\"totalTpl\"\n [nzWidthConfig]=\"_widthConfig\"\n (contextmenu)=\"onContextmenu($event)\"\n [class.st__no-column]=\"noColumns\"\n>\n @if (showHeader) {\n <thead>\n @for (row of _headers; track row) {\n <tr>\n @if ($first && expand) {\n <th nzWidth=\"50px\" [rowSpan]=\"_headers.length\" [nzLeft]=\"row[0].column._left ? true : false\"></th>\n }\n @for (h of row; track h; let index = $index; let last = $last) {\n @let _c = h.column;\n <th\n [colSpan]=\"h.colSpan\"\n [rowSpan]=\"h.rowSpan\"\n [nzWidth]=\"$any(_c).width\"\n [nzLeft]=\"_c._left\"\n [nzRight]=\"_c._right\"\n [class]=\"_c._className\"\n [attr.data-col]=\"_c.indexKey\"\n [attr.data-col-index]=\"index\"\n [nzShowSort]=\"_c._sort.enabled\"\n [nzSortOrder]=\"$any(_c)._sort.default\"\n (nzSortOrderChange)=\"sort(_c, $event)\"\n [nzCustomFilter]=\"!!_c.filter\"\n [class.st__has-filter]=\"_c.filter\"\n nz-resizable\n [nzDisabled]=\"last || $any(_c).resizable.disabled\"\n [nzMaxWidth]=\"$any(_c).resizable.maxWidth\"\n [nzMinWidth]=\"$any(_c).resizable.minWidth\"\n [nzBounds]=\"$any(_c).resizable.bounds\"\n [nzPreview]=\"$any(_c).resizable.preview\"\n (nzResizeEnd)=\"colResize($event, _c)\"\n >\n @if ($any(!last && !$any(_c).resizable.disabled)) {\n <nz-resize-handle nzDirection=\"right\" (click)=\"_stopPropagation($event)\">\n <i></i>\n </nz-resize-handle>\n }\n @if (_c.__renderTitle) {\n <ng-template\n [ngTemplateOutlet]=\"_c.__renderTitle!\"\n [ngTemplateOutletContext]=\"{ $implicit: h.column, index: index }\"\n />\n } @else {\n @switch (_c.type) {\n @case ('checkbox') {\n @if (_c.selections!.length === 0) {\n <ng-template [ngTemplateOutlet]=\"chkAllTpl\" [ngTemplateOutletContext]=\"{ $implicit: false }\" />\n } @else {\n <div class=\"ant-table-selection\">\n <ng-template [ngTemplateOutlet]=\"chkAllTpl\" [ngTemplateOutletContext]=\"{ $implicit: true }\" />\n @if (_c.selections!.length) {\n <div class=\"ant-table-selection-extra\">\n <div\n nz-dropdown\n nzPlacement=\"bottomLeft\"\n [nzDropdownMenu]=\"selectionMenu\"\n class=\"ant-table-selection-down st__checkall-selection\"\n >\n <nz-icon nzType=\"down\" />\n </div>\n </div>\n }\n <nz-dropdown-menu #selectionMenu=\"nzDropdownMenu\">\n <ul nz-menu class=\"ant-table-selection-menu\">\n @for (rw of _c.selections; track $index) {\n <li nz-menu-item (click)=\"_rowSelection(rw)\" [innerHTML]=\"rw.text\"></li>\n }\n </ul>\n </nz-dropdown-menu>\n </div>\n }\n }\n @default {\n <ng-template [ngTemplateOutlet]=\"titleTpl\" [ngTemplateOutletContext]=\"{ $implicit: _c.title }\" />\n }\n }\n }\n @if (_c.filter) {\n <st-filter\n nz-th-extra\n [col]=\"h.column\"\n [f]=\"_c.filter\"\n [locale]=\"locale\"\n (n)=\"handleFilterNotify($event)\"\n (handle)=\"_handleFilter(_c, $event)\"\n />\n }\n </th>\n }\n </tr>\n }\n </thead>\n }\n <tbody\n class=\"st__body\"\n cdkDropList\n [cdkDropListDisabled]=\"drag() === null\"\n (cdkDropListDropped)=\"drag()?.dropped?.($event)\"\n (cdkDropListEntered)=\"drag()?.entered?.($event)\"\n (cdkDropListExited)=\"drag()?.exited?.($event)\"\n (cdkDropListSorted)=\"drag()?.sorted?.($event)\"\n >\n @if (!_loading) {\n <ng-template [ngTemplateOutlet]=\"bodyHeader!\" [ngTemplateOutletContext]=\"{ $implicit: _statistical }\" />\n }\n <ng-template #bodyTpl let-i let-index=\"index\">\n <tr\n [attr.data-index]=\"index\"\n (click)=\"_rowClick($event, i, index, false)\"\n (dblclick)=\"_rowClick($event, i, index, true)\"\n [class]=\"i._rowClassName\"\n cdkDrag\n >\n @if (expand) {\n <td\n [nzShowExpand]=\"expand && i.showExpand !== false\"\n [nzExpand]=\"i.expand\"\n [nzExpandIcon]=\"expandIcon ? wrapExpandIcon : null\"\n (nzExpandChange)=\"_expandChange(i, $event)\"\n (click)=\"_stopPropagation($event)\"\n nzWidth=\"50px\"\n [nzLeft]=\"_columns[0]._left ? true : false\"\n ></td>\n <ng-template #wrapExpandIcon>\n <span (click)=\"_expandChange(i, !i.expand)\">\n <ng-template [ngTemplateOutlet]=\"expandIcon\" [ngTemplateOutletContext]=\"{ $implicit: i, index: index }\" />\n </span>\n </ng-template>\n }\n @for (c of _columns; track cIdx; let cIdx = $index) {\n @let props = i._values[cIdx].props;\n @if (props?.colSpan > 0 && props?.rowSpan > 0) {\n <td\n [nzLeft]=\"c._left\"\n [nzRight]=\"c._right\"\n [attr.data-col-index]=\"cIdx\"\n [class]=\"c._className\"\n [attr.colspan]=\"props?.colSpan === 1 ? null : props?.colSpan\"\n [attr.rowspan]=\"props?.rowSpan === 1 ? null : props?.rowSpan\"\n >\n @if (responsive) {\n <span class=\"ant-table-rep__title\">\n <ng-template [ngTemplateOutlet]=\"titleTpl\" [ngTemplateOutletContext]=\"{ $implicit: c.title }\" />\n </span>\n }\n <st-td [data]=\"_data\" [i]=\"i\" [index]=\"index\" [c]=\"c\" [cIdx]=\"cIdx\" (n)=\"_handleTd($event)\" />\n </td>\n }\n }\n </tr>\n <tr [nzExpand]=\"i.expand\">\n <ng-template [ngTemplateOutlet]=\"expand\" [ngTemplateOutletContext]=\"{ $implicit: i, index: index }\" />\n </tr>\n </ng-template>\n @if (virtualScroll) {\n <ng-template nz-virtual-scroll let-i let-index=\"index\">\n <ng-template [ngTemplateOutlet]=\"bodyTpl\" [ngTemplateOutletContext]=\"{ $implicit: i, index: index }\" />\n </ng-template>\n } @else {\n @for (i of _data; track trackBy($index, i)) {\n <ng-template [ngTemplateOutlet]=\"bodyTpl\" [ngTemplateOutletContext]=\"{ $implicit: i, index: $index }\" />\n }\n }\n @if (!_loading) {\n <ng-template [ngTemplateOutlet]=\"body!\" [ngTemplateOutletContext]=\"{ $implicit: _statistical }\" />\n }\n </tbody>\n <ng-template #totalTpl let-range=\"range\" let-total>{{ renderTotal(total, range) }}</ng-template>\n</nz-table>\n<nz-dropdown-menu #contextmenuTpl=\"nzDropdownMenu\">\n <ul nz-menu class=\"st__contextmenu\">\n @for (i of contextmenuList; track $index) {\n @if (i.children!.length === 0) {\n <li nz-menu-item (click)=\"i.fn!(i)\" [innerHTML]=\"i.text\"></li>\n } @else {\n <li nz-submenu [nzTitle]=\"i.text\">\n <ul>\n @for (ci of i.children; track $index) {\n <li nz-menu-item (click)=\"ci.fn!(ci)\" [innerHTML]=\"ci.text\"></li>\n }\n </ul>\n </li>\n }\n }\n </ul>\n</nz-dropdown-menu>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: NzTableModule }, { kind: "component", type: i5.NzTableComponent, selector: "nz-table", inputs: ["nzTableLayout", "nzShowTotal", "nzItemRender", "nzTitle", "nzFooter", "nzNoResult", "nzPageSizeOptions", "nzVirtualItemSize", "nzVirtualMaxBufferPx", "nzVirtualMinBufferPx", "nzVirtualForTrackBy", "nzLoadingDelay", "nzPageIndex", "nzPageSize", "nzTotal", "nzWidthConfig", "nzData", "nzCustomColumn", "nzPaginationPosition", "nzScroll", "noDataVirtualHeight", "nzPaginationType", "nzFrontPagination", "nzTemplateMode", "nzShowPagination", "nzLoading", "nzOuterBordered", "nzLoadingIndicator", "nzBordered", "nzSize", "nzShowSizeChanger", "nzHideOnSinglePage", "nzShowQuickJumper", "nzSimple"], outputs: ["nzPageSizeChange", "nzPageIndexChange", "nzQueryParams", "nzCurrentPageDataChange", "nzCustomColumnChange"], exportAs: ["nzTable"] }, { kind: "component", type: i5.NzThAddOnComponent, selector: "th[nzColumnKey], th[nzSortFn], th[nzSortOrder], th[nzFilters], th[nzShowSort], th[nzShowFilter], th[nzCustomFilter]", inputs: ["nzColumnKey", "nzFilterMultiple", "nzSortOrder", "nzSortPriority", "nzSortDirections", "nzFilters", "nzSortFn", "nzFilterFn", "nzShowSort", "nzShowFilter", "nzCustomFilter"], outputs: ["nzCheckedChange", "nzSortOrderChange", "nzFilterChange"] }, { kind: "directive", type: i5.NzTableCellDirective, selector: "th:not(.nz-disable-th):not([mat-cell]), td:not(.nz-disable-td):not([mat-cell])" }, { kind: "directive", type: i5.NzThMeasureDirective, selector: "th", inputs: ["nzWidth", "colspan", "colSpan", "rowspan", "rowSpan"] }, { kind: "component", type: i5.NzTdAddOnComponent, selector: "td[nzChecked], td[nzDisabled], td[nzIndeterminate], td[nzIndentSize], td[nzExpand], td[nzShowExpand], td[nzShowCheckbox]", inputs: ["nzChecked", "nzDisabled", "nzIndeterminate", "nzLabel", "nzIndentSize", "nzShowExpand", "nzShowCheckbox", "nzExpand", "nzExpandIcon"], outputs: ["nzCheckedChange", "nzExpandChange"] }, { kind: "component", type: i5.NzTheadComponent, selector: "thead:not(.ant-table-thead)", outputs: ["nzSortOrderChange"] }, { kind: "component", type: i5.NzTbodyComponent, selector: "tbody" }, { kind: "directive", type: i5.NzTrDirective, selector: "tr:not([mat-row]):not([mat-header-row]):not([nz-table-measure-row]):not([nzExpand]):not([nz-table-fixed-row])" }, { kind: "directive", type: i5.NzTableVirtualScrollDirective, selector: "[nz-virtual-scroll]", exportAs: ["nzVirtualScroll"] }, { kind: "directive", type: i5.NzCellFixedDirective, selector: "td[nzRight],th[nzRight],td[nzLeft],th[nzLeft]", inputs: ["nzRight", "nzLeft", "colspan", "colSpan"] }, { kind: "directive", type: i5.NzTrExpandDirective, selector: "tr[nzExpand]", inputs: ["nzExpand"] }, { kind: "component", type: i5.NzTableFixedRowComponent, selector: "tr[nz-table-fixed-row], tr[nzExpand]" }, { kind: "directive", type: NzTooltipDirective, selector: "[nz-tooltip]", inputs: ["nzTooltipTitle", "nzTooltipTitleContext", "nz-tooltip", "nzTooltipTrigger", "nzTooltipPlacement", "nzTooltipOrigin", "nzTooltipVisible", "nzTooltipMouseEnterDelay", "nzTooltipMouseLeaveDelay", "nzTooltipOverlayClassName", "nzTooltipOverlayStyle", "nzTooltipArrowPointAtCenter", "cdkConnectedOverlayPush", "nzTooltipColor"], outputs: ["nzTooltipVisibleChange"], exportAs: ["nzTooltip"] }, { kind: "component", type: NzCheckboxComponent, selector: "[nz-checkbox]", inputs: ["nzValue", "nzAutoFocus", "nzDisabled", "nzIndeterminate", "nzChecked", "nzId", "nzName"], outputs: ["nzCheckedChange"], exportAs: ["nzCheckbox"] }, { kind: "ngmodule", type: NzResizableModule }, { kind: "directive", type: i6.NzResizableDirective, selector: "[nz-resizable]", inputs: ["nzBounds", "nzMaxHeight", "nzMaxWidth", "nzMinHeight", "nzMinWidth", "nzGridColumnCount", "nzMaxColumn", "nzMinColumn", "nzLockAspectRatio", "nzPreview", "nzDisabled"], outputs: ["nzResize", "nzResizeEnd", "nzResizeStart"], exportAs: ["nzResizable"] }, { kind: "component", type: i6.NzResizeHandleComponent, selector: "nz-resize-handle, [nz-resize-handle]", inputs: ["nzDirection", "nzCursorType"], outputs: ["nzMouseDown"], exportAs: ["nzResizeHandle"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: NzDropDownModule }, { kind: "directive", type: i2$1.NzMenuDirective, selector: "[nz-menu]", inputs: ["nzInlineIndent", "nzTheme", "nzMode", "nzInlineCollapsed", "nzSelectable"], outputs: ["nzClick"], exportAs: ["nzMenu"] }, { kind: "component", type: i2$1.NzMenuItemComponent, selector: "[nz-menu-item]", inputs: ["nzPaddingLeft", "nzDisabled", "nzSelected", "nzDanger", "nzMatchRouterExact", "nzMatchRouter"], exportAs: ["nzMenuItem"] }, { kind: "component", type: i2$1.NzSubMenuComponent, selector: "[nz-submenu]", inputs: ["nzMenuClassName", "nzPaddingLeft", "nzTitle", "nzIcon", "nzTriggerSubMenuAction", "nzOpen", "nzDisabled", "nzPlacement"], outputs: ["nzOpenChange"], exportAs: ["nzSubmenu"] }, { kind: "directive", type: i3$2.NzDropDownDirective, selector: "[nz-dropdown]", inputs: ["nzDropdownMenu", "nzTrigger", "nzMatchWidthElement", "nzBackdrop", "nzClickHide", "nzDisabled", "nzVisible", "nzOverlayClassName", "nzOverlayStyle", "nzPlacement"], outputs: ["nzVisibleChange"], exportAs: ["nzDropdown"] }, { kind: "component", type: i3$2.NzDropdownMenuComponent, selector: "nz-dropdown-menu", exportAs: ["nzDropdownMenu"] }, { kind: "directive", type: NzIconDirective, selector: "nz-icon,[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "ngmodule", type: NzMenuModule }, { kind: "component", type: STFilterComponent, selector: "st-filter", inputs: ["col", "locale", "f"], outputs: ["n", "handle"] }, { kind: "component", type: STTdComponent, selector: "st-td", inputs: ["c", "cIdx", "data", "i", "index"], outputs: ["n"] }, { kind: "ngmodule", type: DragDropModule }, { kind: "directive", type: i7.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i7.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
2282
2467
  }
2283
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: STComponent, decorators: [{
2468
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: STComponent, decorators: [{
2284
2469
  type: Component,
2285
2470
  args: [{ selector: 'st', exportAs: 'st', providers: [STDataSource, STRowSource, STColumnSource, STExport, DatePipe, YNPipe, DecimalPipe], host: {
2286
2471
  '[class.st]': `true`,
@@ -2290,8 +2475,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
2290
2475
  '[class.st__row-class]': `rowClassName`,
2291
2476
  '[class.ant-table-rep]': `responsive`,
2292
2477
  '[class.ant-table-rep__hide-header-footer]': `responsiveHideHeaderFooter`
2293
- }, preserveWhitespaces: false, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-template #titleTpl let-i>\n <span [innerHTML]=\"i._text\"></span>\n @if (i.optional) {\n <small class=\"st__head-optional\" [innerHTML]=\"i.optional\"></small>\n }\n @if (i.optionalHelp) {\n <i class=\"st__head-tip\" nz-tooltip [nzTooltipTitle]=\"i.optionalHelp\" nz-icon nzType=\"question-circle\"></i>\n }\n</ng-template>\n<ng-template #chkAllTpl let-custom>\n <label\n nz-checkbox\n class=\"st__checkall\"\n [nzDisabled]=\"_allCheckedDisabled\"\n [(ngModel)]=\"_allChecked\"\n [nzIndeterminate]=\"_indeterminate\"\n (ngModelChange)=\"checkAll()\"\n [class.ant-table-selection-select-all-custom]=\"custom\"\n ></label>\n</ng-template>\n<nz-table\n #table\n [nzData]=\"_data\"\n [(nzPageIndex)]=\"pi\"\n (nzPageIndexChange)=\"_change('pi')\"\n [(nzPageSize)]=\"ps\"\n (nzPageSizeChange)=\"_change('ps')\"\n [nzTotal]=\"total\"\n [nzShowPagination]=\"_isPagination\"\n [nzFrontPagination]=\"false\"\n [nzBordered]=\"bordered\"\n [nzSize]=\"size\"\n [nzLoading]=\"noColumns || _loading\"\n [nzLoadingDelay]=\"loadingDelay\"\n [nzLoadingIndicator]=\"loadingIndicator\"\n [nzTitle]=\"header!\"\n [nzFooter]=\"footer!\"\n [nzScroll]=\"scroll\"\n [nzVirtualItemSize]=\"virtualItemSize\"\n [nzVirtualMaxBufferPx]=\"virtualMaxBufferPx\"\n [nzVirtualMinBufferPx]=\"virtualMinBufferPx\"\n [nzVirtualForTrackBy]=\"virtualForTrackBy\"\n [nzNoResult]=\"noResult!\"\n [nzPageSizeOptions]=\"page.pageSizes!\"\n [nzShowQuickJumper]=\"page.showQuickJumper\"\n [nzShowSizeChanger]=\"page.showSize\"\n [nzPaginationPosition]=\"page.position!\"\n [nzPaginationType]=\"page.type!\"\n [nzItemRender]=\"page.itemRender!\"\n [nzSimple]=\"page.simple\"\n [nzShowTotal]=\"totalTpl\"\n [nzWidthConfig]=\"_widthConfig\"\n (contextmenu)=\"onContextmenu($event)\"\n [class.st__no-column]=\"noColumns\"\n>\n @if (showHeader) {\n <thead>\n @for (row of _headers; track row) {\n <tr>\n @if ($first && expand) {\n <th nzWidth=\"50px\" [rowSpan]=\"_headers.length\"></th>\n }\n @for (h of row; track h; let index = $index; let last = $last) {\n <th\n *let=\"h.column as _c\"\n [colSpan]=\"h.colSpan\"\n [rowSpan]=\"h.rowSpan\"\n [nzWidth]=\"$any(_c).width\"\n [nzLeft]=\"_c._left!\"\n [nzRight]=\"_c._right!\"\n [ngClass]=\"_c._className\"\n [attr.data-col]=\"_c.indexKey\"\n [attr.data-col-index]=\"index\"\n [nzShowSort]=\"_c._sort.enabled\"\n [nzSortOrder]=\"$any(_c)._sort.default\"\n (nzSortOrderChange)=\"sort(_c, $event)\"\n [nzCustomFilter]=\"!!_c.filter\"\n [class.st__has-filter]=\"_c.filter\"\n nz-resizable\n [nzDisabled]=\"last || $any(_c).resizable.disabled\"\n [nzMaxWidth]=\"$any(_c).resizable.maxWidth\"\n [nzMinWidth]=\"$any(_c).resizable.minWidth\"\n [nzBounds]=\"$any(_c).resizable.bounds\"\n [nzPreview]=\"$any(_c).resizable.preview\"\n (nzResizeEnd)=\"colResize($event, _c)\"\n >\n @if ($any(!last && !$any(_c).resizable.disabled)) {\n <nz-resize-handle nzDirection=\"right\" (click)=\"_stopPropagation($event)\">\n <i></i>\n </nz-resize-handle>\n }\n @if (_c.__renderTitle) {\n <ng-template\n [ngTemplateOutlet]=\"_c.__renderTitle!\"\n [ngTemplateOutletContext]=\"{ $implicit: h.column, index: index }\"\n />\n } @else {\n @switch (_c.type) {\n @case ('checkbox') {\n @if (_c.selections!.length === 0) {\n <ng-template [ngTemplateOutlet]=\"chkAllTpl\" [ngTemplateOutletContext]=\"{ $implicit: false }\" />\n } @else {\n <div class=\"ant-table-selection\">\n <ng-template [ngTemplateOutlet]=\"chkAllTpl\" [ngTemplateOutletContext]=\"{ $implicit: true }\" />\n @if (_c.selections!.length) {\n <div class=\"ant-table-selection-extra\">\n <div\n nz-dropdown\n nzPlacement=\"bottomLeft\"\n [nzDropdownMenu]=\"selectionMenu\"\n class=\"ant-table-selection-down st__checkall-selection\"\n >\n <i nz-icon nzType=\"down\"></i>\n </div>\n </div>\n }\n <nz-dropdown-menu #selectionMenu=\"nzDropdownMenu\">\n <ul nz-menu class=\"ant-table-selection-menu\">\n @for (rw of _c.selections; track $index) {\n <li nz-menu-item (click)=\"_rowSelection(rw)\" [innerHTML]=\"rw.text\"></li>\n }\n </ul>\n </nz-dropdown-menu>\n </div>\n }\n }\n @default {\n <ng-template [ngTemplateOutlet]=\"titleTpl\" [ngTemplateOutletContext]=\"{ $implicit: _c.title }\" />\n }\n }\n }\n @if (_c.filter) {\n <st-filter\n nz-th-extra\n [col]=\"h.column\"\n [f]=\"_c.filter\"\n [locale]=\"locale\"\n (n)=\"handleFilterNotify($event)\"\n (handle)=\"_handleFilter(_c, $event)\"\n />\n }\n </th>\n }\n </tr>\n }\n </thead>\n }\n <tbody class=\"st__body\">\n @if (!_loading) {\n <ng-template [ngTemplateOutlet]=\"bodyHeader!\" [ngTemplateOutletContext]=\"{ $implicit: _statistical }\" />\n }\n <ng-template #bodyTpl let-i let-index=\"index\">\n <tr\n [attr.data-index]=\"index\"\n (click)=\"_rowClick($event, i, index, false)\"\n (dblclick)=\"_rowClick($event, i, index, true)\"\n [ngClass]=\"i._rowClassName\"\n >\n @if (expand) {\n <td\n [nzShowExpand]=\"expand && i.showExpand !== false\"\n [nzExpand]=\"i.expand\"\n [nzExpandIcon]=\"expandIcon ? wrapExpandIcon : null\"\n (nzExpandChange)=\"_expandChange(i, $event)\"\n (click)=\"_stopPropagation($event)\"\n nzWidth=\"50px\"\n ></td>\n <ng-template #wrapExpandIcon>\n <span (click)=\"_expandChange(i, !i.expand)\">\n <ng-template [ngTemplateOutlet]=\"expandIcon\" [ngTemplateOutletContext]=\"{ $implicit: i, index: index }\" />\n </span>\n </ng-template>\n }\n @for (c of _columns; track cIdx; let cIdx = $index) {\n @if (i._values[cIdx].props?.colSpan > 0 && i._values[cIdx].props?.rowSpan > 0) {\n <td\n [nzLeft]=\"!!c._left\"\n [nzRight]=\"!!c._right\"\n [attr.data-col-index]=\"cIdx\"\n [ngClass]=\"c._className\"\n [attr.colspan]=\"i._values[cIdx].props?.colSpan === 1 ? null : i._values[cIdx].props?.colSpan\"\n [attr.rowspan]=\"i._values[cIdx].props?.rowSpan === 1 ? null : i._values[cIdx].props?.rowSpan\"\n >\n @if (responsive) {\n <span class=\"ant-table-rep__title\">\n <ng-template [ngTemplateOutlet]=\"titleTpl\" [ngTemplateOutletContext]=\"{ $implicit: c.title }\" />\n </span>\n }\n <st-td [data]=\"_data\" [i]=\"i\" [index]=\"index\" [c]=\"c\" [cIdx]=\"cIdx\" (n)=\"_handleTd($event)\" />\n </td>\n }\n }\n </tr>\n <tr [nzExpand]=\"i.expand\">\n <ng-template [ngTemplateOutlet]=\"expand\" [ngTemplateOutletContext]=\"{ $implicit: i, index: index }\" />\n </tr>\n </ng-template>\n @if (virtualScroll) {\n <ng-template nz-virtual-scroll let-i let-index=\"index\">\n <ng-template [ngTemplateOutlet]=\"bodyTpl\" [ngTemplateOutletContext]=\"{ $implicit: i, index: index }\" />\n </ng-template>\n } @else {\n @for (i of _data; track trackBy($index, i)) {\n <ng-template [ngTemplateOutlet]=\"bodyTpl\" [ngTemplateOutletContext]=\"{ $implicit: i, index: $index }\" />\n }\n }\n @if (!_loading) {\n <ng-template [ngTemplateOutlet]=\"body!\" [ngTemplateOutletContext]=\"{ $implicit: _statistical }\" />\n }\n </tbody>\n <ng-template #totalTpl let-range=\"range\" let-total>{{ renderTotal(total, range) }}</ng-template>\n</nz-table>\n<nz-dropdown-menu #contextmenuTpl=\"nzDropdownMenu\">\n <ul nz-menu class=\"st__contextmenu\">\n @for (i of contextmenuList; track $index) {\n @if (i.children!.length === 0) {\n <li nz-menu-item (click)=\"i.fn!(i)\" [innerHTML]=\"i.text\"></li>\n } @else {\n <li nz-submenu [nzTitle]=\"i.text\">\n <ul>\n @for (ci of i.children; track $index) {\n <li nz-menu-item (click)=\"ci.fn!(ci)\" [innerHTML]=\"ci.text\"></li>\n }\n </ul>\n </li>\n }\n }\n </ul>\n</nz-dropdown-menu>\n" }]
2294
- }], ctorParameters: () => [{ type: i1$2.AlainConfigService }], propDecorators: { orgTable: [{
2478
+ }, preserveWhitespaces: false, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [
2479
+ FormsModule,
2480
+ NzTableModule,
2481
+ NzTooltipDirective,
2482
+ NzCheckboxComponent,
2483
+ NzResizableModule,
2484
+ NgTemplateOutlet,
2485
+ NzDropDownModule,
2486
+ NzIconDirective,
2487
+ NzMenuModule,
2488
+ STFilterComponent,
2489
+ STTdComponent,
2490
+ DragDropModule
2491
+ ], template: "<ng-template #titleTpl let-i>\n <span [innerHTML]=\"i._text\"></span>\n @if (i.optional) {\n <small class=\"st__head-optional\" [innerHTML]=\"i.optional\"></small>\n }\n @if (i.optionalHelp) {\n <nz-icon class=\"st__head-tip\" nz-tooltip [nzTooltipTitle]=\"i.optionalHelp\" nzType=\"question-circle\" />\n }\n</ng-template>\n<ng-template #chkAllTpl let-custom>\n <label\n nz-checkbox\n class=\"st__checkall\"\n [nzDisabled]=\"_allCheckedDisabled\"\n [(ngModel)]=\"_allChecked\"\n [nzIndeterminate]=\"_indeterminate\"\n (ngModelChange)=\"checkAll()\"\n [class.ant-table-selection-select-all-custom]=\"custom\"\n ></label>\n</ng-template>\n<nz-table\n #table\n [nzData]=\"_data\"\n [(nzPageIndex)]=\"pi\"\n (nzPageIndexChange)=\"_change('pi')\"\n [(nzPageSize)]=\"ps\"\n (nzPageSizeChange)=\"_change('ps')\"\n [nzTotal]=\"total\"\n [nzShowPagination]=\"_isPagination\"\n [nzFrontPagination]=\"false\"\n [nzBordered]=\"bordered\"\n [nzSize]=\"size\"\n [nzLoading]=\"noColumns || _loading\"\n [nzLoadingDelay]=\"loadingDelay\"\n [nzLoadingIndicator]=\"loadingIndicator\"\n [nzTitle]=\"header!\"\n [nzFooter]=\"footer!\"\n [nzScroll]=\"scroll\"\n [nzVirtualItemSize]=\"virtualItemSize\"\n [nzVirtualMaxBufferPx]=\"virtualMaxBufferPx\"\n [nzVirtualMinBufferPx]=\"virtualMinBufferPx\"\n [nzVirtualForTrackBy]=\"virtualForTrackBy\"\n [nzNoResult]=\"noResult!\"\n [nzPageSizeOptions]=\"page.pageSizes!\"\n [nzShowQuickJumper]=\"page.showQuickJumper\"\n [nzShowSizeChanger]=\"page.showSize\"\n [nzPaginationPosition]=\"page.position!\"\n [nzPaginationType]=\"page.type!\"\n [nzItemRender]=\"page.itemRender!\"\n [nzSimple]=\"page.simple\"\n [nzShowTotal]=\"totalTpl\"\n [nzWidthConfig]=\"_widthConfig\"\n (contextmenu)=\"onContextmenu($event)\"\n [class.st__no-column]=\"noColumns\"\n>\n @if (showHeader) {\n <thead>\n @for (row of _headers; track row) {\n <tr>\n @if ($first && expand) {\n <th nzWidth=\"50px\" [rowSpan]=\"_headers.length\" [nzLeft]=\"row[0].column._left ? true : false\"></th>\n }\n @for (h of row; track h; let index = $index; let last = $last) {\n @let _c = h.column;\n <th\n [colSpan]=\"h.colSpan\"\n [rowSpan]=\"h.rowSpan\"\n [nzWidth]=\"$any(_c).width\"\n [nzLeft]=\"_c._left\"\n [nzRight]=\"_c._right\"\n [class]=\"_c._className\"\n [attr.data-col]=\"_c.indexKey\"\n [attr.data-col-index]=\"index\"\n [nzShowSort]=\"_c._sort.enabled\"\n [nzSortOrder]=\"$any(_c)._sort.default\"\n (nzSortOrderChange)=\"sort(_c, $event)\"\n [nzCustomFilter]=\"!!_c.filter\"\n [class.st__has-filter]=\"_c.filter\"\n nz-resizable\n [nzDisabled]=\"last || $any(_c).resizable.disabled\"\n [nzMaxWidth]=\"$any(_c).resizable.maxWidth\"\n [nzMinWidth]=\"$any(_c).resizable.minWidth\"\n [nzBounds]=\"$any(_c).resizable.bounds\"\n [nzPreview]=\"$any(_c).resizable.preview\"\n (nzResizeEnd)=\"colResize($event, _c)\"\n >\n @if ($any(!last && !$any(_c).resizable.disabled)) {\n <nz-resize-handle nzDirection=\"right\" (click)=\"_stopPropagation($event)\">\n <i></i>\n </nz-resize-handle>\n }\n @if (_c.__renderTitle) {\n <ng-template\n [ngTemplateOutlet]=\"_c.__renderTitle!\"\n [ngTemplateOutletContext]=\"{ $implicit: h.column, index: index }\"\n />\n } @else {\n @switch (_c.type) {\n @case ('checkbox') {\n @if (_c.selections!.length === 0) {\n <ng-template [ngTemplateOutlet]=\"chkAllTpl\" [ngTemplateOutletContext]=\"{ $implicit: false }\" />\n } @else {\n <div class=\"ant-table-selection\">\n <ng-template [ngTemplateOutlet]=\"chkAllTpl\" [ngTemplateOutletContext]=\"{ $implicit: true }\" />\n @if (_c.selections!.length) {\n <div class=\"ant-table-selection-extra\">\n <div\n nz-dropdown\n nzPlacement=\"bottomLeft\"\n [nzDropdownMenu]=\"selectionMenu\"\n class=\"ant-table-selection-down st__checkall-selection\"\n >\n <nz-icon nzType=\"down\" />\n </div>\n </div>\n }\n <nz-dropdown-menu #selectionMenu=\"nzDropdownMenu\">\n <ul nz-menu class=\"ant-table-selection-menu\">\n @for (rw of _c.selections; track $index) {\n <li nz-menu-item (click)=\"_rowSelection(rw)\" [innerHTML]=\"rw.text\"></li>\n }\n </ul>\n </nz-dropdown-menu>\n </div>\n }\n }\n @default {\n <ng-template [ngTemplateOutlet]=\"titleTpl\" [ngTemplateOutletContext]=\"{ $implicit: _c.title }\" />\n }\n }\n }\n @if (_c.filter) {\n <st-filter\n nz-th-extra\n [col]=\"h.column\"\n [f]=\"_c.filter\"\n [locale]=\"locale\"\n (n)=\"handleFilterNotify($event)\"\n (handle)=\"_handleFilter(_c, $event)\"\n />\n }\n </th>\n }\n </tr>\n }\n </thead>\n }\n <tbody\n class=\"st__body\"\n cdkDropList\n [cdkDropListDisabled]=\"drag() === null\"\n (cdkDropListDropped)=\"drag()?.dropped?.($event)\"\n (cdkDropListEntered)=\"drag()?.entered?.($event)\"\n (cdkDropListExited)=\"drag()?.exited?.($event)\"\n (cdkDropListSorted)=\"drag()?.sorted?.($event)\"\n >\n @if (!_loading) {\n <ng-template [ngTemplateOutlet]=\"bodyHeader!\" [ngTemplateOutletContext]=\"{ $implicit: _statistical }\" />\n }\n <ng-template #bodyTpl let-i let-index=\"index\">\n <tr\n [attr.data-index]=\"index\"\n (click)=\"_rowClick($event, i, index, false)\"\n (dblclick)=\"_rowClick($event, i, index, true)\"\n [class]=\"i._rowClassName\"\n cdkDrag\n >\n @if (expand) {\n <td\n [nzShowExpand]=\"expand && i.showExpand !== false\"\n [nzExpand]=\"i.expand\"\n [nzExpandIcon]=\"expandIcon ? wrapExpandIcon : null\"\n (nzExpandChange)=\"_expandChange(i, $event)\"\n (click)=\"_stopPropagation($event)\"\n nzWidth=\"50px\"\n [nzLeft]=\"_columns[0]._left ? true : false\"\n ></td>\n <ng-template #wrapExpandIcon>\n <span (click)=\"_expandChange(i, !i.expand)\">\n <ng-template [ngTemplateOutlet]=\"expandIcon\" [ngTemplateOutletContext]=\"{ $implicit: i, index: index }\" />\n </span>\n </ng-template>\n }\n @for (c of _columns; track cIdx; let cIdx = $index) {\n @let props = i._values[cIdx].props;\n @if (props?.colSpan > 0 && props?.rowSpan > 0) {\n <td\n [nzLeft]=\"c._left\"\n [nzRight]=\"c._right\"\n [attr.data-col-index]=\"cIdx\"\n [class]=\"c._className\"\n [attr.colspan]=\"props?.colSpan === 1 ? null : props?.colSpan\"\n [attr.rowspan]=\"props?.rowSpan === 1 ? null : props?.rowSpan\"\n >\n @if (responsive) {\n <span class=\"ant-table-rep__title\">\n <ng-template [ngTemplateOutlet]=\"titleTpl\" [ngTemplateOutletContext]=\"{ $implicit: c.title }\" />\n </span>\n }\n <st-td [data]=\"_data\" [i]=\"i\" [index]=\"index\" [c]=\"c\" [cIdx]=\"cIdx\" (n)=\"_handleTd($event)\" />\n </td>\n }\n }\n </tr>\n <tr [nzExpand]=\"i.expand\">\n <ng-template [ngTemplateOutlet]=\"expand\" [ngTemplateOutletContext]=\"{ $implicit: i, index: index }\" />\n </tr>\n </ng-template>\n @if (virtualScroll) {\n <ng-template nz-virtual-scroll let-i let-index=\"index\">\n <ng-template [ngTemplateOutlet]=\"bodyTpl\" [ngTemplateOutletContext]=\"{ $implicit: i, index: index }\" />\n </ng-template>\n } @else {\n @for (i of _data; track trackBy($index, i)) {\n <ng-template [ngTemplateOutlet]=\"bodyTpl\" [ngTemplateOutletContext]=\"{ $implicit: i, index: $index }\" />\n }\n }\n @if (!_loading) {\n <ng-template [ngTemplateOutlet]=\"body!\" [ngTemplateOutletContext]=\"{ $implicit: _statistical }\" />\n }\n </tbody>\n <ng-template #totalTpl let-range=\"range\" let-total>{{ renderTotal(total, range) }}</ng-template>\n</nz-table>\n<nz-dropdown-menu #contextmenuTpl=\"nzDropdownMenu\">\n <ul nz-menu class=\"st__contextmenu\">\n @for (i of contextmenuList; track $index) {\n @if (i.children!.length === 0) {\n <li nz-menu-item (click)=\"i.fn!(i)\" [innerHTML]=\"i.text\"></li>\n } @else {\n <li nz-submenu [nzTitle]=\"i.text\">\n <ul>\n @for (ci of i.children; track $index) {\n <li nz-menu-item (click)=\"ci.fn!(ci)\" [innerHTML]=\"ci.text\"></li>\n }\n </ul>\n </li>\n }\n }\n </ul>\n</nz-dropdown-menu>\n" }]
2492
+ }], ctorParameters: () => [{ type: i4.AlainConfigService }], propDecorators: { orgTable: [{
2295
2493
  type: ViewChild,
2296
2494
  args: ['table']
2297
2495
  }], contextmenuTpl: [{
@@ -2398,185 +2596,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
2398
2596
  }], trackBy: [{
2399
2597
  type: Input
2400
2598
  }] } });
2401
- class STTdComponent {
2402
- constructor() {
2403
- this.stComp = inject(STComponent, { host: true });
2404
- this.router = inject(Router);
2405
- this.modalHelper = inject(ModalHelper);
2406
- this.drawerHelper = inject(DrawerHelper);
2407
- this.n = new EventEmitter();
2408
- }
2409
- get routerState() {
2410
- const { pi, ps, total } = this.stComp;
2411
- return { pi, ps, total };
2412
- }
2413
- report(type) {
2414
- this.n.emit({ type, item: this.i, col: this.c });
2415
- }
2416
- _checkbox(value) {
2417
- this.i.checked = value;
2418
- this.report('checkbox');
2419
- }
2420
- _radio() {
2421
- this.data.filter(w => !w.disabled).forEach(i => (i.checked = false));
2422
- this.i.checked = true;
2423
- this.report('radio');
2424
- }
2425
- _link(e) {
2426
- this._stopPropagation(e);
2427
- const res = this.c.click(this.i, this.stComp);
2428
- if (typeof res === 'string') {
2429
- this.router.navigateByUrl(res, { state: this.routerState });
2430
- }
2431
- return false;
2432
- }
2433
- _stopPropagation(ev) {
2434
- ev.preventDefault();
2435
- ev.stopPropagation();
2436
- }
2437
- _btn(btn, ev) {
2438
- ev?.stopPropagation();
2439
- const cog = this.stComp.cog;
2440
- let record = this.i;
2441
- if (btn.type === 'modal' || btn.type === 'static') {
2442
- if (cog.modal.pureRecoard === true) {
2443
- record = this.stComp.pureItem(record);
2444
- }
2445
- const modal = btn.modal;
2446
- const obj = { [modal.paramsName]: record };
2447
- this.modalHelper[btn.type === 'modal' ? 'create' : 'createStatic'](modal.component, { ...obj, ...(modal.params && modal.params(record)) }, deepMergeKey({}, true, cog.modal, modal))
2448
- .pipe(filter(w => typeof w !== 'undefined'))
2449
- .subscribe((res) => this.btnCallback(record, btn, res));
2450
- return;
2451
- }
2452
- else if (btn.type === 'drawer') {
2453
- if (cog.drawer.pureRecoard === true) {
2454
- record = this.stComp.pureItem(record);
2455
- }
2456
- const drawer = btn.drawer;
2457
- const obj = { [drawer.paramsName]: record };
2458
- this.drawerHelper
2459
- .create(drawer.title, drawer.component, { ...obj, ...(drawer.params && drawer.params(record)) }, deepMergeKey({}, true, cog.drawer, drawer))
2460
- .pipe(filter(w => typeof w !== 'undefined'))
2461
- .subscribe(res => this.btnCallback(record, btn, res));
2462
- return;
2463
- }
2464
- else if (btn.type === 'link') {
2465
- const clickRes = this.btnCallback(record, btn);
2466
- if (typeof clickRes === 'string') {
2467
- this.router.navigateByUrl(clickRes, { state: this.routerState });
2468
- }
2469
- return;
2470
- }
2471
- this.btnCallback(record, btn);
2472
- }
2473
- btnCallback(record, btn, modal) {
2474
- if (!btn.click)
2475
- return;
2476
- if (typeof btn.click === 'string') {
2477
- switch (btn.click) {
2478
- case 'load':
2479
- this.stComp.load();
2480
- break;
2481
- case 'reload':
2482
- this.stComp.reload();
2483
- break;
2484
- }
2485
- }
2486
- else {
2487
- return btn.click(record, modal, this.stComp);
2488
- }
2489
- }
2490
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: STTdComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2491
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: STTdComponent, selector: "st-td", inputs: { c: "c", cIdx: "cIdx", data: "data", i: "i", index: "index" }, outputs: { n: "n" }, ngImport: i0, template: "<ng-template #btnTpl let-i let-child=\"child\">\n @if (i.tooltip) {\n <span nz-tooltip [nzTooltipTitle]=\"i.tooltip\" [class.d-block]=\"child\" [class.width-100]=\"child\">\n <ng-template [ngTemplateOutlet]=\"btnItemTpl\" [ngTemplateOutletContext]=\"{ $implicit: i }\" />\n </span>\n } @else {\n <ng-template [ngTemplateOutlet]=\"btnItemTpl\" [ngTemplateOutletContext]=\"{ $implicit: i }\" />\n }\n</ng-template>\n<ng-template #btnItemTpl let-i>\n @if (i.pop) {\n <a\n nz-popconfirm\n [nzPopconfirmTitle]=\"i.pop.title\"\n [nzIcon]=\"i.pop.icon\"\n [nzCondition]=\"i.pop.condition(i)\"\n [nzCancelText]=\"i.pop.cancelText\"\n [nzOkText]=\"i.pop.okText\"\n [nzOkType]=\"i.pop.okType\"\n (nzOnConfirm)=\"_btn(i)\"\n class=\"st__btn-text\"\n [ngClass]=\"i._className\"\n (click)=\"_stopPropagation($event)\"\n >\n <ng-template [ngTemplateOutlet]=\"btnTextTpl\" [ngTemplateOutletContext]=\"{ $implicit: i }\" />\n </a>\n } @else {\n <a (click)=\"_btn(i, $event)\" class=\"st__btn-text\" [ngClass]=\"i._className\">\n <ng-template [ngTemplateOutlet]=\"btnTextTpl\" [ngTemplateOutletContext]=\"{ $implicit: i }\" />\n </a>\n }\n</ng-template>\n<ng-template #btnTextTpl let-i>\n @if (i._icon) {\n @if (i._icon.iconfont) {\n <i nz-icon [nzIconfont]=\"i._icon.iconfont\"></i>\n } @else {\n <i\n nz-icon\n [nzType]=\"i._icon.type\"\n [nzTheme]=\"i._icon.theme\"\n [nzSpin]=\"i._icon.spin\"\n [nzTwotoneColor]=\"i._icon.twoToneColor\"\n ></i>\n }\n }\n <span [innerHTML]=\"i._text\" [ngClass]=\"{ 'pl-xs': i._icon }\"></span>\n</ng-template>\n@if (c.__render) {\n <ng-template [ngTemplateOutlet]=\"c.__render!\" [ngTemplateOutletContext]=\"{ $implicit: i, index: index, column: c }\" />\n} @else {\n @switch (c.type) {\n @case ('checkbox') {\n <label nz-checkbox [nzDisabled]=\"i.disabled\" [ngModel]=\"i.checked\" (ngModelChange)=\"_checkbox($event)\"></label>\n }\n @case ('radio') {\n <label nz-radio [nzDisabled]=\"i.disabled\" [ngModel]=\"i.checked\" (ngModelChange)=\"_radio()\"></label>\n }\n @case ('link') {\n <a (click)=\"_link($event)\" [innerHTML]=\"i._values[cIdx]._text\" [attr.title]=\"i._values[cIdx].text\"></a>\n }\n @case ('tag') {\n <nz-tag [nzColor]=\"i._values[cIdx].color\" [nz-tooltip]=\"i._values[cIdx].tooltip\">\n <span [innerHTML]=\"i._values[cIdx]._text\"></span>\n </nz-tag>\n }\n @case ('badge') {\n <nz-badge\n [nzStatus]=\"i._values[cIdx].color\"\n [nzText]=\"i._values[cIdx].text\"\n [nz-tooltip]=\"i._values[cIdx].tooltip\"\n />\n }\n @case ('cell') {\n <cell [value]=\"i._values[cIdx].text\" [options]=\"i._values[cIdx].cell ?? c.cell\" />\n }\n @case ('widget') {\n <ng-template st-widget-host [record]=\"i\" [column]=\"c\" />\n }\n @default {\n @if (c.safeType === 'text') {\n <span [innerText]=\"i._values[cIdx]._text\" [attr.title]=\"c._isTruncate ? i._values[cIdx].text : null\"></span>\n } @else {\n <span [innerHTML]=\"i._values[cIdx]._text\" [attr.title]=\"c._isTruncate ? i._values[cIdx].text : null\"></span>\n }\n }\n }\n @for (btn of i._values[cIdx].buttons; track $index) {\n @if (btn.children!.length > 0) {\n <a nz-dropdown [nzDropdownMenu]=\"btnMenu\" nzOverlayClassName=\"st__btn-sub\">\n <span [innerHTML]=\"btn._text\"></span>\n <i nz-icon nzType=\"down\"></i>\n </a>\n <nz-dropdown-menu #btnMenu=\"nzDropdownMenu\">\n <ul nz-menu>\n @for (subBtn of btn.children; track $index) {\n @if (subBtn.type === 'divider') {\n <li nz-menu-divider></li>\n } @else {\n <li nz-menu-item [class.st__btn-disabled]=\"subBtn._disabled\">\n <ng-template\n [ngTemplateOutlet]=\"btnTpl\"\n [ngTemplateOutletContext]=\"{ $implicit: subBtn, child: true }\"\n />\n </li>\n }\n }\n </ul>\n </nz-dropdown-menu>\n } @else {\n <span [class.st__btn-disabled]=\"btn._disabled\">\n <ng-template [ngTemplateOutlet]=\"btnTpl\" [ngTemplateOutletContext]=\"{ $implicit: btn, child: false }\" />\n </span>\n }\n @if (!$last) {\n <nz-divider nzType=\"vertical\" />\n }\n }\n}\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i13.CellComponent, selector: "cell, [cell]", inputs: ["value", "options", "loading", "disabled"], outputs: ["valueChange"], exportAs: ["cell"] }, { kind: "directive", type: i14.NzPopconfirmDirective, selector: "[nz-popconfirm]", inputs: ["nzPopconfirmArrowPointAtCenter", "nzPopconfirmTitle", "nzPopconfirmTitleContext", "nz-popconfirm", "nzPopconfirmTrigger", "nzPopconfirmPlacement", "nzPopconfirmOrigin", "nzPopconfirmMouseEnterDelay", "nzPopconfirmMouseLeaveDelay", "nzPopconfirmOverlayClassName", "nzPopconfirmOverlayStyle", "nzPopconfirmVisible", "nzOkText", "nzOkType", "nzOkDisabled", "nzOkDanger", "nzCancelText", "nzBeforeConfirm", "nzIcon", "nzCondition", "nzPopconfirmShowArrow", "nzPopconfirmBackdrop", "nzAutofocus"], outputs: ["nzPopconfirmVisibleChange", "nzOnCancel", "nzOnConfirm"], exportAs: ["nzPopconfirm"] }, { kind: "directive", type: i6.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "component", type: i15.NzBadgeComponent, selector: "nz-badge", inputs: ["nzShowZero", "nzShowDot", "nzStandalone", "nzDot", "nzOverflowCount", "nzColor", "nzStyle", "nzText", "nzTitle", "nzStatus", "nzCount", "nzOffset", "nzSize"], exportAs: ["nzBadge"] }, { kind: "component", type: i7.NzCheckboxComponent, selector: "[nz-checkbox]", inputs: ["nzValue", "nzAutoFocus", "nzDisabled", "nzIndeterminate", "nzChecked", "nzId"], outputs: ["nzCheckedChange"], exportAs: ["nzCheckbox"] }, { kind: "component", type: i16.NzDividerComponent, selector: "nz-divider", inputs: ["nzText", "nzType", "nzOrientation", "nzDashed", "nzPlain"], exportAs: ["nzDivider"] }, { kind: "directive", type: i8.NzMenuDirective, selector: "[nz-menu]", inputs: ["nzInlineIndent", "nzTheme", "nzMode", "nzInlineCollapsed", "nzSelectable"], outputs: ["nzClick"], exportAs: ["nzMenu"] }, { kind: "component", type: i8.NzMenuItemComponent, selector: "[nz-menu-item]", inputs: ["nzPaddingLeft", "nzDisabled", "nzSelected", "nzDanger", "nzMatchRouterExact", "nzMatchRouter"], exportAs: ["nzMenuItem"] }, { kind: "directive", type: i8.NzMenuDividerDirective, selector: "[nz-menu-divider]", exportAs: ["nzMenuDivider"] }, { kind: "directive", type: i9.NzDropDownDirective, selector: "[nz-dropdown]", inputs: ["nzDropdownMenu", "nzTrigger", "nzMatchWidthElement", "nzBackdrop", "nzClickHide", "nzDisabled", "nzVisible", "nzOverlayClassName", "nzOverlayStyle", "nzPlacement"], outputs: ["nzVisibleChange"], exportAs: ["nzDropdown"] }, { kind: "directive", type: i9.NzDropDownADirective, selector: "a[nz-dropdown]" }, { kind: "component", type: i9.NzDropdownMenuComponent, selector: "nz-dropdown-menu", exportAs: ["nzDropdownMenu"] }, { kind: "component", type: i7$1.NzRadioComponent, selector: "[nz-radio],[nz-radio-button]", inputs: ["nzValue", "nzDisabled", "nzAutoFocus", "nz-radio-button"], exportAs: ["nzRadio"] }, { kind: "component", type: i18.NzTagComponent, selector: "nz-tag", inputs: ["nzMode", "nzColor", "nzChecked", "nzBordered"], outputs: ["nzOnClose", "nzCheckedChange"], exportAs: ["nzTag"] }, { kind: "directive", type: i10$1.NzTooltipDirective, selector: "[nz-tooltip]", inputs: ["nzTooltipTitle", "nzTooltipTitleContext", "nz-tooltip", "nzTooltipTrigger", "nzTooltipPlacement", "nzTooltipOrigin", "nzTooltipVisible", "nzTooltipMouseEnterDelay", "nzTooltipMouseLeaveDelay", "nzTooltipOverlayClassName", "nzTooltipOverlayStyle", "nzTooltipArrowPointAtCenter", "cdkConnectedOverlayPush", "nzTooltipColor"], outputs: ["nzTooltipVisibleChange"], exportAs: ["nzTooltip"] }, { kind: "directive", type: STWidgetHostDirective, selector: "[st-widget-host]", inputs: ["record", "column"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
2492
- }
2493
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: STTdComponent, decorators: [{
2494
- type: Component,
2495
- args: [{ selector: 'st-td', preserveWhitespaces: false, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-template #btnTpl let-i let-child=\"child\">\n @if (i.tooltip) {\n <span nz-tooltip [nzTooltipTitle]=\"i.tooltip\" [class.d-block]=\"child\" [class.width-100]=\"child\">\n <ng-template [ngTemplateOutlet]=\"btnItemTpl\" [ngTemplateOutletContext]=\"{ $implicit: i }\" />\n </span>\n } @else {\n <ng-template [ngTemplateOutlet]=\"btnItemTpl\" [ngTemplateOutletContext]=\"{ $implicit: i }\" />\n }\n</ng-template>\n<ng-template #btnItemTpl let-i>\n @if (i.pop) {\n <a\n nz-popconfirm\n [nzPopconfirmTitle]=\"i.pop.title\"\n [nzIcon]=\"i.pop.icon\"\n [nzCondition]=\"i.pop.condition(i)\"\n [nzCancelText]=\"i.pop.cancelText\"\n [nzOkText]=\"i.pop.okText\"\n [nzOkType]=\"i.pop.okType\"\n (nzOnConfirm)=\"_btn(i)\"\n class=\"st__btn-text\"\n [ngClass]=\"i._className\"\n (click)=\"_stopPropagation($event)\"\n >\n <ng-template [ngTemplateOutlet]=\"btnTextTpl\" [ngTemplateOutletContext]=\"{ $implicit: i }\" />\n </a>\n } @else {\n <a (click)=\"_btn(i, $event)\" class=\"st__btn-text\" [ngClass]=\"i._className\">\n <ng-template [ngTemplateOutlet]=\"btnTextTpl\" [ngTemplateOutletContext]=\"{ $implicit: i }\" />\n </a>\n }\n</ng-template>\n<ng-template #btnTextTpl let-i>\n @if (i._icon) {\n @if (i._icon.iconfont) {\n <i nz-icon [nzIconfont]=\"i._icon.iconfont\"></i>\n } @else {\n <i\n nz-icon\n [nzType]=\"i._icon.type\"\n [nzTheme]=\"i._icon.theme\"\n [nzSpin]=\"i._icon.spin\"\n [nzTwotoneColor]=\"i._icon.twoToneColor\"\n ></i>\n }\n }\n <span [innerHTML]=\"i._text\" [ngClass]=\"{ 'pl-xs': i._icon }\"></span>\n</ng-template>\n@if (c.__render) {\n <ng-template [ngTemplateOutlet]=\"c.__render!\" [ngTemplateOutletContext]=\"{ $implicit: i, index: index, column: c }\" />\n} @else {\n @switch (c.type) {\n @case ('checkbox') {\n <label nz-checkbox [nzDisabled]=\"i.disabled\" [ngModel]=\"i.checked\" (ngModelChange)=\"_checkbox($event)\"></label>\n }\n @case ('radio') {\n <label nz-radio [nzDisabled]=\"i.disabled\" [ngModel]=\"i.checked\" (ngModelChange)=\"_radio()\"></label>\n }\n @case ('link') {\n <a (click)=\"_link($event)\" [innerHTML]=\"i._values[cIdx]._text\" [attr.title]=\"i._values[cIdx].text\"></a>\n }\n @case ('tag') {\n <nz-tag [nzColor]=\"i._values[cIdx].color\" [nz-tooltip]=\"i._values[cIdx].tooltip\">\n <span [innerHTML]=\"i._values[cIdx]._text\"></span>\n </nz-tag>\n }\n @case ('badge') {\n <nz-badge\n [nzStatus]=\"i._values[cIdx].color\"\n [nzText]=\"i._values[cIdx].text\"\n [nz-tooltip]=\"i._values[cIdx].tooltip\"\n />\n }\n @case ('cell') {\n <cell [value]=\"i._values[cIdx].text\" [options]=\"i._values[cIdx].cell ?? c.cell\" />\n }\n @case ('widget') {\n <ng-template st-widget-host [record]=\"i\" [column]=\"c\" />\n }\n @default {\n @if (c.safeType === 'text') {\n <span [innerText]=\"i._values[cIdx]._text\" [attr.title]=\"c._isTruncate ? i._values[cIdx].text : null\"></span>\n } @else {\n <span [innerHTML]=\"i._values[cIdx]._text\" [attr.title]=\"c._isTruncate ? i._values[cIdx].text : null\"></span>\n }\n }\n }\n @for (btn of i._values[cIdx].buttons; track $index) {\n @if (btn.children!.length > 0) {\n <a nz-dropdown [nzDropdownMenu]=\"btnMenu\" nzOverlayClassName=\"st__btn-sub\">\n <span [innerHTML]=\"btn._text\"></span>\n <i nz-icon nzType=\"down\"></i>\n </a>\n <nz-dropdown-menu #btnMenu=\"nzDropdownMenu\">\n <ul nz-menu>\n @for (subBtn of btn.children; track $index) {\n @if (subBtn.type === 'divider') {\n <li nz-menu-divider></li>\n } @else {\n <li nz-menu-item [class.st__btn-disabled]=\"subBtn._disabled\">\n <ng-template\n [ngTemplateOutlet]=\"btnTpl\"\n [ngTemplateOutletContext]=\"{ $implicit: subBtn, child: true }\"\n />\n </li>\n }\n }\n </ul>\n </nz-dropdown-menu>\n } @else {\n <span [class.st__btn-disabled]=\"btn._disabled\">\n <ng-template [ngTemplateOutlet]=\"btnTpl\" [ngTemplateOutletContext]=\"{ $implicit: btn, child: false }\" />\n </span>\n }\n @if (!$last) {\n <nz-divider nzType=\"vertical\" />\n }\n }\n}\n" }]
2496
- }], propDecorators: { c: [{
2497
- type: Input
2498
- }], cIdx: [{
2499
- type: Input
2500
- }], data: [{
2501
- type: Input
2502
- }], i: [{
2503
- type: Input
2504
- }], index: [{
2505
- type: Input
2506
- }], n: [{
2507
- type: Output
2508
- }] } });
2509
2599
 
2510
2600
  const COMPONENTS = [STComponent, STRowDirective, STWidgetHostDirective];
2511
2601
  class STModule {
2512
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: STModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2513
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: STModule, declarations: [STComponent, STRowDirective, STWidgetHostDirective, STFilterComponent, STTdComponent], imports: [CommonModule,
2514
- FormsModule,
2515
- DelonACLModule,
2516
- LetModule,
2517
- CellModule,
2518
- NzPopconfirmModule,
2519
- NzTableModule,
2520
- NzIconModule,
2521
- NzBadgeModule,
2522
- NzCheckboxModule,
2523
- NzDividerModule,
2524
- NzDropDownModule,
2525
- NzMenuModule,
2526
- NzRadioModule,
2527
- NzTagModule,
2528
- NzInputModule,
2529
- NzToolTipModule,
2530
- NzResizableModule,
2531
- NzInputNumberModule,
2532
- NzDatePickerModule], exports: [STComponent, STRowDirective, STWidgetHostDirective] }); }
2533
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: STModule, imports: [CommonModule,
2534
- FormsModule,
2535
- DelonACLModule,
2536
- LetModule,
2537
- CellModule,
2538
- NzPopconfirmModule,
2539
- NzTableModule,
2540
- NzIconModule,
2541
- NzBadgeModule,
2542
- NzCheckboxModule,
2543
- NzDividerModule,
2544
- NzDropDownModule,
2545
- NzMenuModule,
2546
- NzRadioModule,
2547
- NzTagModule,
2548
- NzInputModule,
2549
- NzToolTipModule,
2550
- NzResizableModule,
2551
- NzInputNumberModule,
2552
- NzDatePickerModule] }); }
2602
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: STModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2603
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.1", ngImport: i0, type: STModule, imports: [STComponent, STRowDirective, STWidgetHostDirective], exports: [STComponent, STRowDirective, STWidgetHostDirective] });
2604
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: STModule, imports: [STComponent] });
2553
2605
  }
2554
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: STModule, decorators: [{
2606
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: STModule, decorators: [{
2555
2607
  type: NgModule,
2556
2608
  args: [{
2557
- imports: [
2558
- CommonModule,
2559
- FormsModule,
2560
- DelonACLModule,
2561
- LetModule,
2562
- CellModule,
2563
- NzPopconfirmModule,
2564
- NzTableModule,
2565
- NzIconModule,
2566
- NzBadgeModule,
2567
- NzCheckboxModule,
2568
- NzDividerModule,
2569
- NzDropDownModule,
2570
- NzMenuModule,
2571
- NzRadioModule,
2572
- NzTagModule,
2573
- NzInputModule,
2574
- NzToolTipModule,
2575
- NzResizableModule,
2576
- NzInputNumberModule,
2577
- NzDatePickerModule
2578
- ],
2579
- declarations: [...COMPONENTS, STFilterComponent, STTdComponent],
2609
+ imports: COMPONENTS,
2580
2610
  exports: COMPONENTS
2581
2611
  }]
2582
2612
  }] });
@@ -2586,14 +2616,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
2586
2616
  */
2587
2617
  function provideSTWidgets(...widgets) {
2588
2618
  return makeEnvironmentProviders([
2589
- {
2590
- provide: ENVIRONMENT_INITIALIZER,
2591
- multi: true,
2592
- useValue: () => {
2593
- const srv = inject(STWidgetRegistry);
2594
- widgets.forEach(widget => srv.register(widget.KEY, widget.type));
2595
- }
2596
- }
2619
+ provideEnvironmentInitializer(() => {
2620
+ const srv = inject(STWidgetRegistry);
2621
+ widgets.forEach(widget => srv.register(widget.KEY, widget.type));
2622
+ })
2597
2623
  ]);
2598
2624
  }
2599
2625