@ai-table/grid 0.4.2 → 0.4.4

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 (362) hide show
  1. package/fesm2022/ai-table-grid.mjs +661 -932
  2. package/fesm2022/ai-table-grid.mjs.map +1 -1
  3. package/index.d.ts +3522 -2
  4. package/index.d.ts.map +1 -1
  5. package/package.json +3 -3
  6. package/ai-table-grid.d.ts.map +0 -1
  7. package/angular-konva/components/container.component.d.ts +0 -7
  8. package/angular-konva/components/container.component.d.ts.map +0 -1
  9. package/angular-konva/components/container.token.d.ts +0 -3
  10. package/angular-konva/components/container.token.d.ts.map +0 -1
  11. package/angular-konva/components/index.d.ts +0 -4
  12. package/angular-konva/components/index.d.ts.map +0 -1
  13. package/angular-konva/components/shape.component.d.ts +0 -61
  14. package/angular-konva/components/shape.component.d.ts.map +0 -1
  15. package/angular-konva/components/stage.component.d.ts +0 -40
  16. package/angular-konva/components/stage.component.d.ts.map +0 -1
  17. package/angular-konva/index.d.ts +0 -5
  18. package/angular-konva/index.d.ts.map +0 -1
  19. package/angular-konva/interfaces/component.d.ts +0 -49
  20. package/angular-konva/interfaces/component.d.ts.map +0 -1
  21. package/angular-konva/interfaces/config.d.ts +0 -26
  22. package/angular-konva/interfaces/config.d.ts.map +0 -1
  23. package/angular-konva/interfaces/event-object.d.ts +0 -11
  24. package/angular-konva/interfaces/event-object.d.ts.map +0 -1
  25. package/angular-konva/interfaces/index.d.ts +0 -5
  26. package/angular-konva/interfaces/index.d.ts.map +0 -1
  27. package/angular-konva/interfaces/shape.d.ts +0 -42
  28. package/angular-konva/interfaces/shape.d.ts.map +0 -1
  29. package/angular-konva/utils/apply-node-props.d.ts +0 -4
  30. package/angular-konva/utils/apply-node-props.d.ts.map +0 -1
  31. package/angular-konva/utils/common.d.ts +0 -8
  32. package/angular-konva/utils/common.d.ts.map +0 -1
  33. package/angular-konva/utils/index.d.ts +0 -5
  34. package/angular-konva/utils/index.d.ts.map +0 -1
  35. package/angular-konva/utils/types.d.ts +0 -4
  36. package/angular-konva/utils/types.d.ts.map +0 -1
  37. package/angular-konva/utils/update-picture.d.ts +0 -4
  38. package/angular-konva/utils/update-picture.d.ts.map +0 -1
  39. package/components/cell-editors/abstract-cell-editor.component.d.ts +0 -35
  40. package/components/cell-editors/abstract-cell-editor.component.d.ts.map +0 -1
  41. package/components/cell-editors/date/date-editor.component.d.ts +0 -12
  42. package/components/cell-editors/date/date-editor.component.d.ts.map +0 -1
  43. package/components/cell-editors/index.d.ts +0 -3
  44. package/components/cell-editors/index.d.ts.map +0 -1
  45. package/components/cell-editors/link/edit-link/edit-link.component.d.ts +0 -41
  46. package/components/cell-editors/link/edit-link/edit-link.component.d.ts.map +0 -1
  47. package/components/cell-editors/link/link-editor.component.d.ts +0 -37
  48. package/components/cell-editors/link/link-editor.component.d.ts.map +0 -1
  49. package/components/cell-editors/number/number-editor.component.d.ts +0 -9
  50. package/components/cell-editors/number/number-editor.component.d.ts.map +0 -1
  51. package/components/cell-editors/select/select-editor.component.d.ts +0 -19
  52. package/components/cell-editors/select/select-editor.component.d.ts.map +0 -1
  53. package/components/cell-editors/text/text-editor.component.d.ts +0 -16
  54. package/components/cell-editors/text/text-editor.component.d.ts.map +0 -1
  55. package/components/cell-views/select/option.component.d.ts +0 -11
  56. package/components/cell-views/select/option.component.d.ts.map +0 -1
  57. package/components/context-menu/context-menu.component.d.ts +0 -24
  58. package/components/context-menu/context-menu.component.d.ts.map +0 -1
  59. package/components/drag/drag.component.d.ts +0 -53
  60. package/components/drag/drag.component.d.ts.map +0 -1
  61. package/components/field-menu/field-menu.component.d.ts +0 -23
  62. package/components/field-menu/field-menu.component.d.ts.map +0 -1
  63. package/components/field-setting/field-setting.component.d.ts +0 -57
  64. package/components/field-setting/field-setting.component.d.ts.map +0 -1
  65. package/components/index.d.ts +0 -12
  66. package/components/index.d.ts.map +0 -1
  67. package/components/menu-checkbox-sort/checkbox-menu-sort.component.d.ts +0 -15
  68. package/components/menu-checkbox-sort/checkbox-menu-sort.component.d.ts.map +0 -1
  69. package/components/record-detail/dynamic-cell-editor.component.d.ts +0 -24
  70. package/components/record-detail/dynamic-cell-editor.component.d.ts.map +0 -1
  71. package/components/record-detail/index.d.ts +0 -3
  72. package/components/record-detail/index.d.ts.map +0 -1
  73. package/components/record-detail/record-detail.component.d.ts +0 -52
  74. package/components/record-detail/record-detail.component.d.ts.map +0 -1
  75. package/components/stat-type-menu/stat-type-menucomponent.d.ts +0 -18
  76. package/components/stat-type-menu/stat-type-menucomponent.d.ts.map +0 -1
  77. package/constants/colors.d.ts +0 -23
  78. package/constants/colors.d.ts.map +0 -1
  79. package/constants/field-stat.d.ts +0 -3
  80. package/constants/field-stat.d.ts.map +0 -1
  81. package/constants/file-icon.d.ts +0 -32
  82. package/constants/file-icon.d.ts.map +0 -1
  83. package/constants/grid.d.ts +0 -27
  84. package/constants/grid.d.ts.map +0 -1
  85. package/constants/icon.d.ts +0 -28
  86. package/constants/icon.d.ts.map +0 -1
  87. package/constants/index.d.ts +0 -6
  88. package/constants/index.d.ts.map +0 -1
  89. package/constants/table.d.ts +0 -104
  90. package/constants/table.d.ts.map +0 -1
  91. package/constants/text.d.ts +0 -23
  92. package/constants/text.d.ts.map +0 -1
  93. package/core/constants/field.d.ts +0 -10
  94. package/core/constants/field.d.ts.map +0 -1
  95. package/core/context.d.ts +0 -31
  96. package/core/context.d.ts.map +0 -1
  97. package/core/coordinate.d.ts +0 -121
  98. package/core/coordinate.d.ts.map +0 -1
  99. package/core/index.d.ts +0 -6
  100. package/core/index.d.ts.map +0 -1
  101. package/core/types/ai-table.d.ts +0 -66
  102. package/core/types/ai-table.d.ts.map +0 -1
  103. package/core/types/core.d.ts +0 -8
  104. package/core/types/core.d.ts.map +0 -1
  105. package/core/types/index.d.ts +0 -3
  106. package/core/types/index.d.ts.map +0 -1
  107. package/core/utils/common.d.ts +0 -5
  108. package/core/utils/common.d.ts.map +0 -1
  109. package/core/utils/field.d.ts +0 -12
  110. package/core/utils/field.d.ts.map +0 -1
  111. package/core/utils/id-creator.d.ts +0 -5
  112. package/core/utils/id-creator.d.ts.map +0 -1
  113. package/core/utils/index.d.ts +0 -6
  114. package/core/utils/index.d.ts.map +0 -1
  115. package/core/utils/name-creator.d.ts +0 -5
  116. package/core/utils/name-creator.d.ts.map +0 -1
  117. package/core/utils/queries.d.ts +0 -13
  118. package/core/utils/queries.d.ts.map +0 -1
  119. package/core/utils/short-id.d.ts +0 -28
  120. package/core/utils/short-id.d.ts.map +0 -1
  121. package/dom-grid.component.d.ts +0 -11
  122. package/dom-grid.component.d.ts.map +0 -1
  123. package/grid-base.component.d.ts +0 -71
  124. package/grid-base.component.d.ts.map +0 -1
  125. package/grid.component.d.ts +0 -103
  126. package/grid.component.d.ts.map +0 -1
  127. package/pipes/grid.pipe.d.ts +0 -40
  128. package/pipes/grid.pipe.d.ts.map +0 -1
  129. package/pipes/index.d.ts +0 -2
  130. package/pipes/index.d.ts.map +0 -1
  131. package/public-api.d.ts +0 -12
  132. package/public-api.d.ts.map +0 -1
  133. package/renderer/cell-layout/base.d.ts +0 -48
  134. package/renderer/cell-layout/base.d.ts.map +0 -1
  135. package/renderer/cell-layout/fields/attachment.d.ts +0 -25
  136. package/renderer/cell-layout/fields/attachment.d.ts.map +0 -1
  137. package/renderer/cell-layout/fields/index.d.ts +0 -3
  138. package/renderer/cell-layout/fields/index.d.ts.map +0 -1
  139. package/renderer/cell-layout/fields/member.d.ts +0 -12
  140. package/renderer/cell-layout/fields/member.d.ts.map +0 -1
  141. package/renderer/cell-layout/fields/multi-select.d.ts +0 -13
  142. package/renderer/cell-layout/fields/multi-select.d.ts.map +0 -1
  143. package/renderer/components/action-icon.component.d.ts +0 -54
  144. package/renderer/components/action-icon.component.d.ts.map +0 -1
  145. package/renderer/components/add-field-column.component.d.ts +0 -13
  146. package/renderer/components/add-field-column.component.d.ts.map +0 -1
  147. package/renderer/components/background.component.d.ts +0 -37
  148. package/renderer/components/background.component.d.ts.map +0 -1
  149. package/renderer/components/cells/attachment.component.d.ts +0 -12
  150. package/renderer/components/cells/attachment.component.d.ts.map +0 -1
  151. package/renderer/components/cells/cells.d.ts +0 -5
  152. package/renderer/components/cells/cells.d.ts.map +0 -1
  153. package/renderer/components/cells/checkbox.component.d.ts +0 -12
  154. package/renderer/components/cells/checkbox.component.d.ts.map +0 -1
  155. package/renderer/components/cells/cover-cell-base.d.ts +0 -12
  156. package/renderer/components/cells/cover-cell-base.d.ts.map +0 -1
  157. package/renderer/components/cells/index.d.ts +0 -8
  158. package/renderer/components/cells/index.d.ts.map +0 -1
  159. package/renderer/components/cells/link.component.d.ts +0 -22
  160. package/renderer/components/cells/link.component.d.ts.map +0 -1
  161. package/renderer/components/cells/progress.component.d.ts +0 -80
  162. package/renderer/components/cells/progress.component.d.ts.map +0 -1
  163. package/renderer/components/cells/rate.component.d.ts +0 -36
  164. package/renderer/components/cells/rate.component.d.ts.map +0 -1
  165. package/renderer/components/cells/rich-text.component.d.ts +0 -13
  166. package/renderer/components/cells/rich-text.component.d.ts.map +0 -1
  167. package/renderer/components/cells/single-text.component.d.ts +0 -34
  168. package/renderer/components/cells/single-text.component.d.ts.map +0 -1
  169. package/renderer/components/cells.component.d.ts +0 -14
  170. package/renderer/components/cells.component.d.ts.map +0 -1
  171. package/renderer/components/cover-cell.component.d.ts +0 -26
  172. package/renderer/components/cover-cell.component.d.ts.map +0 -1
  173. package/renderer/components/expand-record.component.d.ts +0 -10
  174. package/renderer/components/expand-record.component.d.ts.map +0 -1
  175. package/renderer/components/field-head.component.d.ts +0 -82
  176. package/renderer/components/field-head.component.d.ts.map +0 -1
  177. package/renderer/components/field-icon.component.d.ts +0 -17
  178. package/renderer/components/field-icon.component.d.ts.map +0 -1
  179. package/renderer/components/field-stat/stat.component.d.ts +0 -77
  180. package/renderer/components/field-stat/stat.component.d.ts.map +0 -1
  181. package/renderer/components/field-stat/stats.component.d.ts +0 -15
  182. package/renderer/components/field-stat/stats.component.d.ts.map +0 -1
  183. package/renderer/components/fill-handle.component.d.ts +0 -20
  184. package/renderer/components/fill-handle.component.d.ts.map +0 -1
  185. package/renderer/components/frozen-cells.component.d.ts +0 -14
  186. package/renderer/components/frozen-cells.component.d.ts.map +0 -1
  187. package/renderer/components/frozen-heads.component.d.ts +0 -111
  188. package/renderer/components/frozen-heads.component.d.ts.map +0 -1
  189. package/renderer/components/frozen-placeholder-cells.component.d.ts +0 -22
  190. package/renderer/components/frozen-placeholder-cells.component.d.ts.map +0 -1
  191. package/renderer/components/group/frozen-groups.component.d.ts +0 -18
  192. package/renderer/components/group/frozen-groups.component.d.ts.map +0 -1
  193. package/renderer/components/group/groups.component.d.ts +0 -15
  194. package/renderer/components/group/groups.component.d.ts.map +0 -1
  195. package/renderer/components/group/index.d.ts +0 -3
  196. package/renderer/components/group/index.d.ts.map +0 -1
  197. package/renderer/components/heads.component.d.ts +0 -9
  198. package/renderer/components/heads.component.d.ts.map +0 -1
  199. package/renderer/components/hover-row-heads.component.d.ts +0 -13
  200. package/renderer/components/hover-row-heads.component.d.ts.map +0 -1
  201. package/renderer/components/icon.component.d.ts +0 -39
  202. package/renderer/components/icon.component.d.ts.map +0 -1
  203. package/renderer/components/index.d.ts +0 -22
  204. package/renderer/components/index.d.ts.map +0 -1
  205. package/renderer/components/other-rows.component.d.ts +0 -31
  206. package/renderer/components/other-rows.component.d.ts.map +0 -1
  207. package/renderer/components/placeholder-cells.component.d.ts +0 -22
  208. package/renderer/components/placeholder-cells.component.d.ts.map +0 -1
  209. package/renderer/components/scrollable-group/index.d.ts +0 -2
  210. package/renderer/components/scrollable-group/index.d.ts.map +0 -1
  211. package/renderer/components/scrollable-group/scrollable-group.component.d.ts +0 -118
  212. package/renderer/components/scrollable-group/scrollable-group.component.d.ts.map +0 -1
  213. package/renderer/components/shadow.component.d.ts +0 -10
  214. package/renderer/components/shadow.component.d.ts.map +0 -1
  215. package/renderer/components/text.component.d.ts +0 -14
  216. package/renderer/components/text.component.d.ts.map +0 -1
  217. package/renderer/creations/create-active-cell-border.d.ts +0 -7
  218. package/renderer/creations/create-active-cell-border.d.ts.map +0 -1
  219. package/renderer/creations/create-cells.d.ts +0 -12
  220. package/renderer/creations/create-cells.d.ts.map +0 -1
  221. package/renderer/creations/create-groups.d.ts +0 -3
  222. package/renderer/creations/create-groups.d.ts.map +0 -1
  223. package/renderer/creations/create-heads.d.ts +0 -3
  224. package/renderer/creations/create-heads.d.ts.map +0 -1
  225. package/renderer/creations/create-stats.d.ts +0 -4
  226. package/renderer/creations/create-stats.d.ts.map +0 -1
  227. package/renderer/drawers/add-row-layout-drawer.d.ts +0 -12
  228. package/renderer/drawers/add-row-layout-drawer.d.ts.map +0 -1
  229. package/renderer/drawers/cell-drawer.d.ts +0 -32
  230. package/renderer/drawers/cell-drawer.d.ts.map +0 -1
  231. package/renderer/drawers/drawer.d.ts +0 -147
  232. package/renderer/drawers/drawer.d.ts.map +0 -1
  233. package/renderer/drawers/group-layout.d.ts +0 -11
  234. package/renderer/drawers/group-layout.d.ts.map +0 -1
  235. package/renderer/drawers/layout-drawer.d.ts +0 -30
  236. package/renderer/drawers/layout-drawer.d.ts.map +0 -1
  237. package/renderer/drawers/record-row-layout-drawer.d.ts +0 -15
  238. package/renderer/drawers/record-row-layout-drawer.d.ts.map +0 -1
  239. package/renderer/index.d.ts +0 -8
  240. package/renderer/index.d.ts.map +0 -1
  241. package/renderer/renderer.component.d.ts +0 -111
  242. package/renderer/renderer.component.d.ts.map +0 -1
  243. package/services/event.service.d.ts +0 -40
  244. package/services/event.service.d.ts.map +0 -1
  245. package/services/field.service.d.ts +0 -17
  246. package/services/field.service.d.ts.map +0 -1
  247. package/services/index.d.ts +0 -4
  248. package/services/index.d.ts.map +0 -1
  249. package/services/record-detail.service.d.ts +0 -28
  250. package/services/record-detail.service.d.ts.map +0 -1
  251. package/services/scroll-controller.service.d.ts +0 -77
  252. package/services/scroll-controller.service.d.ts.map +0 -1
  253. package/types/atom.d.ts +0 -26
  254. package/types/atom.d.ts.map +0 -1
  255. package/types/avatar.d.ts +0 -24
  256. package/types/avatar.d.ts.map +0 -1
  257. package/types/canvas.d.ts +0 -86
  258. package/types/canvas.d.ts.map +0 -1
  259. package/types/cell.d.ts +0 -80
  260. package/types/cell.d.ts.map +0 -1
  261. package/types/clipboard.d.ts +0 -5
  262. package/types/clipboard.d.ts.map +0 -1
  263. package/types/component-config.d.ts +0 -165
  264. package/types/component-config.d.ts.map +0 -1
  265. package/types/field.d.ts +0 -44
  266. package/types/field.d.ts.map +0 -1
  267. package/types/grid.d.ts +0 -136
  268. package/types/grid.d.ts.map +0 -1
  269. package/types/index.d.ts +0 -11
  270. package/types/index.d.ts.map +0 -1
  271. package/types/layout.d.ts +0 -31
  272. package/types/layout.d.ts.map +0 -1
  273. package/types/row.d.ts +0 -81
  274. package/types/row.d.ts.map +0 -1
  275. package/utils/build.d.ts +0 -6
  276. package/utils/build.d.ts.map +0 -1
  277. package/utils/cell.d.ts +0 -40
  278. package/utils/cell.d.ts.map +0 -1
  279. package/utils/clear-cells.d.ts +0 -4
  280. package/utils/clear-cells.d.ts.map +0 -1
  281. package/utils/clipboard/clipboard.d.ts +0 -8
  282. package/utils/clipboard/clipboard.d.ts.map +0 -1
  283. package/utils/clipboard/copy.d.ts +0 -5
  284. package/utils/clipboard/copy.d.ts.map +0 -1
  285. package/utils/clipboard/extract.d.ts +0 -3
  286. package/utils/clipboard/extract.d.ts.map +0 -1
  287. package/utils/clipboard/index.d.ts +0 -5
  288. package/utils/clipboard/index.d.ts.map +0 -1
  289. package/utils/clipboard/paste.d.ts +0 -17
  290. package/utils/clipboard/paste.d.ts.map +0 -1
  291. package/utils/common.d.ts +0 -21
  292. package/utils/common.d.ts.map +0 -1
  293. package/utils/cover-cell.d.ts +0 -9
  294. package/utils/cover-cell.d.ts.map +0 -1
  295. package/utils/drag-fill/drag-fill.d.ts +0 -19
  296. package/utils/drag-fill/drag-fill.d.ts.map +0 -1
  297. package/utils/drag-fill/index.d.ts +0 -2
  298. package/utils/drag-fill/index.d.ts.map +0 -1
  299. package/utils/field/field-operable.d.ts +0 -10
  300. package/utils/field/field-operable.d.ts.map +0 -1
  301. package/utils/field/field.d.ts +0 -7
  302. package/utils/field/field.d.ts.map +0 -1
  303. package/utils/field/index.d.ts +0 -5
  304. package/utils/field/index.d.ts.map +0 -1
  305. package/utils/field/model/attachment.d.ts +0 -15
  306. package/utils/field/model/attachment.d.ts.map +0 -1
  307. package/utils/field/model/checkbox.d.ts +0 -12
  308. package/utils/field/model/checkbox.d.ts.map +0 -1
  309. package/utils/field/model/date.d.ts +0 -18
  310. package/utils/field/model/date.d.ts.map +0 -1
  311. package/utils/field/model/index.d.ts +0 -12
  312. package/utils/field/model/index.d.ts.map +0 -1
  313. package/utils/field/model/link.d.ts +0 -15
  314. package/utils/field/model/link.d.ts.map +0 -1
  315. package/utils/field/model/member.d.ts +0 -15
  316. package/utils/field/model/member.d.ts.map +0 -1
  317. package/utils/field/model/number.d.ts +0 -15
  318. package/utils/field/model/number.d.ts.map +0 -1
  319. package/utils/field/model/progress.d.ts +0 -15
  320. package/utils/field/model/progress.d.ts.map +0 -1
  321. package/utils/field/model/rate.d.ts +0 -15
  322. package/utils/field/model/rate.d.ts.map +0 -1
  323. package/utils/field/model/rich-text.d.ts +0 -16
  324. package/utils/field/model/rich-text.d.ts.map +0 -1
  325. package/utils/field/model/select.d.ts +0 -28
  326. package/utils/field/model/select.d.ts.map +0 -1
  327. package/utils/field/model/text.d.ts +0 -9
  328. package/utils/field/model/text.d.ts.map +0 -1
  329. package/utils/field/operate.d.ts +0 -13
  330. package/utils/field/operate.d.ts.map +0 -1
  331. package/utils/field-stat.d.ts +0 -7
  332. package/utils/field-stat.d.ts.map +0 -1
  333. package/utils/file.d.ts +0 -2
  334. package/utils/file.d.ts.map +0 -1
  335. package/utils/get-placeholder-cells.d.ts +0 -16
  336. package/utils/get-placeholder-cells.d.ts.map +0 -1
  337. package/utils/get-text-width.d.ts +0 -9
  338. package/utils/get-text-width.d.ts.map +0 -1
  339. package/utils/group.d.ts +0 -4
  340. package/utils/group.d.ts.map +0 -1
  341. package/utils/i18n.d.ts +0 -114
  342. package/utils/i18n.d.ts.map +0 -1
  343. package/utils/image-cache.d.ts +0 -16
  344. package/utils/image-cache.d.ts.map +0 -1
  345. package/utils/index.d.ts +0 -24
  346. package/utils/index.d.ts.map +0 -1
  347. package/utils/match-keywords.d.ts +0 -4
  348. package/utils/match-keywords.d.ts.map +0 -1
  349. package/utils/os.d.ts +0 -4
  350. package/utils/os.d.ts.map +0 -1
  351. package/utils/position.d.ts +0 -21
  352. package/utils/position.d.ts.map +0 -1
  353. package/utils/record.d.ts +0 -14
  354. package/utils/record.d.ts.map +0 -1
  355. package/utils/style.d.ts +0 -4
  356. package/utils/style.d.ts.map +0 -1
  357. package/utils/text-measure.d.ts +0 -32
  358. package/utils/text-measure.d.ts.map +0 -1
  359. package/utils/transform.d.ts +0 -13
  360. package/utils/transform.d.ts.map +0 -1
  361. package/utils/visible-range.d.ts +0 -14
  362. package/utils/visible-range.d.ts.map +0 -1
@@ -52,9 +52,9 @@ import { LRUCache } from 'lru-cache';
52
52
  import { differenceInDays, fromUnixTime, differenceInMonths, subDays } from 'date-fns';
53
53
  import { DEFAULT_COLORS } from 'ngx-tethys/color-picker';
54
54
  import GraphemeSplitter from 'grapheme-splitter';
55
+ import { ThyDropdownAbstractMenu, ThyDropdownMenuItemDirective, ThyDropdownMenuComponent, ThyDropdownMenuGroup, ThyDropdownDirective, ThyDropdownMenuItemIconDirective, ThyDropdownMenuItemNameDirective, ThyDropdownMenuItemExtendIconDirective, ThyDropdownMenuItemMetaDirective } from 'ngx-tethys/dropdown';
55
56
  import * as i1$2 from '@angular/common';
56
57
  import { NgClass, CommonModule, NgTemplateOutlet, NgComponentOutlet } from '@angular/common';
57
- import { ThyDropdownAbstractMenu, ThyDropdownMenuItemDirective, ThyDropdownMenuComponent, ThyDropdownMenuGroup, ThyDropdownDirective, ThyDropdownMenuItemIconDirective, ThyDropdownMenuItemNameDirective, ThyDropdownMenuItemExtendIconDirective, ThyDropdownMenuItemMetaDirective } from 'ngx-tethys/dropdown';
58
58
  import { ThyEmptyModule } from 'ngx-tethys/empty';
59
59
  import { ThySelect, ThySelectModule } from 'ngx-tethys/select';
60
60
  import { ThyDot } from 'ngx-tethys/dot';
@@ -195,7 +195,7 @@ function createListener(instance) {
195
195
 
196
196
  class KoShape {
197
197
  constructor() {
198
- this.config = input();
198
+ this.config = input(...(ngDevMode ? [undefined, { debugName: "config" }] : []));
199
199
  this.koMouseover = new EventEmitter();
200
200
  this.koMousemove = new EventEmitter();
201
201
  this.koMouseout = new EventEmitter();
@@ -277,17 +277,17 @@ class KoShape {
277
277
  ngOnDestroy() {
278
278
  this._node?.destroy();
279
279
  }
280
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: KoShape, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
281
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: KoShape, isStandalone: true, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { koMouseover: "koMouseover", koMousemove: "koMousemove", koMouseout: "koMouseout", koMouseenter: "koMouseenter", koMouseleave: "koMouseleave", koMousedown: "koMousedown", koMouseup: "koMouseup", koWheel: "koWheel", koContextmenu: "koContextmenu", koClick: "koClick", koDblclick: "koDblclick", koTouchstart: "koTouchstart", koTouchmove: "koTouchmove", koTouchend: "koTouchend", koTap: "koTap", koDbltap: "koDbltap", koDragstart: "koDragstart", koDragmove: "koDragmove", koDragend: "koDragend" }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
280
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: KoShape, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
281
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.13", type: KoShape, isStandalone: true, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { koMouseover: "koMouseover", koMousemove: "koMousemove", koMouseout: "koMouseout", koMouseenter: "koMouseenter", koMouseleave: "koMouseleave", koMousedown: "koMousedown", koMouseup: "koMouseup", koWheel: "koWheel", koContextmenu: "koContextmenu", koClick: "koClick", koDblclick: "koDblclick", koTouchstart: "koTouchstart", koTouchmove: "koTouchmove", koTouchend: "koTouchend", koTap: "koTap", koDbltap: "koDbltap", koDragstart: "koDragstart", koDragmove: "koDragmove", koDragend: "koDragend" }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
282
282
  }
283
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: KoShape, decorators: [{
283
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: KoShape, decorators: [{
284
284
  type: Component,
285
285
  args: [{
286
286
  selector: 'ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer',
287
287
  template: `<ng-content></ng-content>`,
288
288
  changeDetection: ChangeDetectionStrategy.OnPush
289
289
  }]
290
- }], ctorParameters: () => [], propDecorators: { koMouseover: [{
290
+ }], ctorParameters: () => [], propDecorators: { config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: false }] }], koMouseover: [{
291
291
  type: Output
292
292
  }], koMousemove: [{
293
293
  type: Output
@@ -328,15 +328,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
328
328
  }] } });
329
329
 
330
330
  class KoContainer extends KoShape {
331
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: KoContainer, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
332
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.10", type: KoContainer, isStandalone: true, selector: "ko-layer, ko-fastlayer, ko-group", providers: [
331
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: KoContainer, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
332
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.13", type: KoContainer, isStandalone: true, selector: "ko-layer, ko-fastlayer, ko-group", providers: [
333
333
  {
334
334
  provide: KO_CONTAINER_TOKEN,
335
335
  useExisting: KoContainer
336
336
  }
337
337
  ], usesInheritance: true, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
338
338
  }
339
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: KoContainer, decorators: [{
339
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: KoContainer, decorators: [{
340
340
  type: Component,
341
341
  args: [{
342
342
  selector: 'ko-layer, ko-fastlayer, ko-group',
@@ -353,7 +353,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
353
353
 
354
354
  class KoStage {
355
355
  constructor() {
356
- this.config = input();
356
+ this.config = input(...(ngDevMode ? [undefined, { debugName: "config" }] : []));
357
357
  this.koMouseover = new EventEmitter();
358
358
  this.koMousemove = new EventEmitter();
359
359
  this.koMouseout = new EventEmitter();
@@ -407,15 +407,15 @@ class KoStage {
407
407
  ngOnDestroy() {
408
408
  this._stage?.destroy();
409
409
  }
410
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: KoStage, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
411
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: KoStage, isStandalone: true, selector: "ko-stage", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { koMouseover: "koMouseover", koMousemove: "koMousemove", koMouseout: "koMouseout", koMouseenter: "koMouseenter", koMouseleave: "koMouseleave", koMousedown: "koMousedown", koMouseup: "koMouseup", koWheel: "koWheel", koContextmenu: "koContextmenu", koClick: "koClick", koDblclick: "koDblclick", koTouchstart: "koTouchstart", koTouchmove: "koTouchmove", koTouchend: "koTouchend", koTap: "koTap", koDbltap: "koDbltap", koDragstart: "koDragstart", koDragmove: "koDragmove", koDragend: "koDragend" }, providers: [
410
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: KoStage, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
411
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.13", type: KoStage, isStandalone: true, selector: "ko-stage", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { koMouseover: "koMouseover", koMousemove: "koMousemove", koMouseout: "koMouseout", koMouseenter: "koMouseenter", koMouseleave: "koMouseleave", koMousedown: "koMousedown", koMouseup: "koMouseup", koWheel: "koWheel", koContextmenu: "koContextmenu", koClick: "koClick", koDblclick: "koDblclick", koTouchstart: "koTouchstart", koTouchmove: "koTouchmove", koTouchend: "koTouchend", koTap: "koTap", koDbltap: "koDbltap", koDragstart: "koDragstart", koDragmove: "koDragmove", koDragend: "koDragend" }, providers: [
412
412
  {
413
413
  provide: KO_CONTAINER_TOKEN,
414
414
  useExisting: KoStage
415
415
  }
416
416
  ], ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
417
417
  }
418
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: KoStage, decorators: [{
418
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: KoStage, decorators: [{
419
419
  type: Component,
420
420
  args: [{
421
421
  selector: 'ko-stage',
@@ -428,7 +428,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
428
428
  ],
429
429
  changeDetection: ChangeDetectionStrategy.OnPush
430
430
  }]
431
- }], ctorParameters: () => [], propDecorators: { koMouseover: [{
431
+ }], ctorParameters: () => [], propDecorators: { config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: false }] }], koMouseover: [{
432
432
  type: Output
433
433
  }], koMousemove: [{
434
434
  type: Output
@@ -1669,15 +1669,15 @@ class RendererContext {
1669
1669
 
1670
1670
  class AbstractEditCellEditor {
1671
1671
  constructor() {
1672
- this.recordHeight = input(AI_TABLE_RECORD_HEIGHT_LEVELS.low);
1673
- this.autoFocus = input(true, { transform: coerceBooleanProperty });
1672
+ this.recordHeight = input(AI_TABLE_RECORD_HEIGHT_LEVELS.low, ...(ngDevMode ? [{ debugName: "recordHeight" }] : []));
1673
+ this.autoFocus = input(true, ...(ngDevMode ? [{ debugName: "autoFocus", transform: coerceBooleanProperty }] : [{ transform: coerceBooleanProperty }]));
1674
1674
  this.updateFieldValues = output();
1675
1675
  this.field = computed(() => {
1676
1676
  return this.aiTable.fieldsMap()[this.fieldId];
1677
- });
1677
+ }, ...(ngDevMode ? [{ debugName: "field" }] : []));
1678
1678
  this.record = computed(() => {
1679
1679
  return this.aiTable.recordsMap()[this.recordId];
1680
- });
1680
+ }, ...(ngDevMode ? [{ debugName: "record" }] : []));
1681
1681
  this.elementRef = inject((ElementRef));
1682
1682
  this.thyPopoverRef = inject((ThyPopoverRef), { optional: true });
1683
1683
  this.render2 = inject(Renderer2);
@@ -1728,10 +1728,10 @@ class AbstractEditCellEditor {
1728
1728
  });
1729
1729
  }
1730
1730
  }
1731
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AbstractEditCellEditor, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1732
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: AbstractEditCellEditor, isStandalone: true, selector: "abstract-edit-cell", inputs: { aiTable: { classPropertyName: "aiTable", publicName: "aiTable", isSignal: false, isRequired: true, transformFunction: null }, fieldId: { classPropertyName: "fieldId", publicName: "fieldId", isSignal: false, isRequired: true, transformFunction: null }, recordId: { classPropertyName: "recordId", publicName: "recordId", isSignal: false, isRequired: true, transformFunction: null }, references: { classPropertyName: "references", publicName: "references", isSignal: false, isRequired: true, transformFunction: null }, recordHeight: { classPropertyName: "recordHeight", publicName: "recordHeight", isSignal: true, isRequired: false, transformFunction: null }, autoFocus: { classPropertyName: "autoFocus", publicName: "autoFocus", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { updateFieldValues: "updateFieldValues" }, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1731
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AbstractEditCellEditor, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1732
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.13", type: AbstractEditCellEditor, isStandalone: true, selector: "abstract-edit-cell", inputs: { aiTable: { classPropertyName: "aiTable", publicName: "aiTable", isSignal: false, isRequired: true, transformFunction: null }, fieldId: { classPropertyName: "fieldId", publicName: "fieldId", isSignal: false, isRequired: true, transformFunction: null }, recordId: { classPropertyName: "recordId", publicName: "recordId", isSignal: false, isRequired: true, transformFunction: null }, references: { classPropertyName: "references", publicName: "references", isSignal: false, isRequired: true, transformFunction: null }, recordHeight: { classPropertyName: "recordHeight", publicName: "recordHeight", isSignal: true, isRequired: false, transformFunction: null }, autoFocus: { classPropertyName: "autoFocus", publicName: "autoFocus", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { updateFieldValues: "updateFieldValues" }, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1733
1733
  }
1734
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AbstractEditCellEditor, decorators: [{
1734
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AbstractEditCellEditor, decorators: [{
1735
1735
  type: Component,
1736
1736
  args: [{
1737
1737
  selector: 'abstract-edit-cell',
@@ -1750,7 +1750,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
1750
1750
  }], references: [{
1751
1751
  type: Input,
1752
1752
  args: [{ required: true }]
1753
- }] } });
1753
+ }], recordHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "recordHeight", required: false }] }], autoFocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoFocus", required: false }] }], updateFieldValues: [{ type: i0.Output, args: ["updateFieldValues"] }] } });
1754
1754
 
1755
1755
  class DateCellEditorComponent extends AbstractEditCellEditor {
1756
1756
  constructor() {
@@ -1784,8 +1784,8 @@ class DateCellEditorComponent extends AbstractEditCellEditor {
1784
1784
  this.closePopover();
1785
1785
  }
1786
1786
  }
1787
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DateCellEditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1788
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.10", type: DateCellEditorComponent, isStandalone: true, selector: "date-cell-editor", host: { classAttribute: "date-cell-editor" }, usesInheritance: true, ngImport: i0, template: `
1787
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: DateCellEditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1788
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.13", type: DateCellEditorComponent, isStandalone: true, selector: "date-cell-editor", host: { classAttribute: "date-cell-editor" }, usesInheritance: true, ngImport: i0, template: `
1789
1789
  <thy-date-picker
1790
1790
  class="h-100"
1791
1791
  thyTimestampPrecision="seconds"
@@ -1803,7 +1803,7 @@ class DateCellEditorComponent extends AbstractEditCellEditor {
1803
1803
  </thy-date-picker>
1804
1804
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ThyDatePicker, selector: "thy-date-picker", exportAs: ["thyDatePicker"] }, { kind: "ngmodule", type: ThyTimePickerModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1805
1805
  }
1806
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DateCellEditorComponent, decorators: [{
1806
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: DateCellEditorComponent, decorators: [{
1807
1807
  type: Component,
1808
1808
  args: [{
1809
1809
  selector: 'date-cell-editor',
@@ -1840,7 +1840,7 @@ class LinkEditComponent {
1840
1840
  this.thyPopoverRef = thyPopoverRef;
1841
1841
  this.url = '';
1842
1842
  this.text = '';
1843
- this.aiTable = input();
1843
+ this.aiTable = input(...(ngDevMode ? [undefined, { debugName: "aiTable" }] : []));
1844
1844
  this.confirm = new EventEmitter();
1845
1845
  this.i18nTexts = computed(() => {
1846
1846
  return {
@@ -1851,7 +1851,7 @@ class LinkEditComponent {
1851
1851
  cancel: getI18nTextByKey(this.aiTable(), AITableGridI18nKey.cancel),
1852
1852
  apply: getI18nTextByKey(this.aiTable(), AITableGridI18nKey.apply)
1853
1853
  };
1854
- });
1854
+ }, ...(ngDevMode ? [{ debugName: "i18nTexts" }] : []));
1855
1855
  this.validatorConfig = computed(() => {
1856
1856
  return {
1857
1857
  validationMessages: {
@@ -1860,7 +1860,7 @@ class LinkEditComponent {
1860
1860
  }
1861
1861
  }
1862
1862
  };
1863
- });
1863
+ }, ...(ngDevMode ? [{ debugName: "validatorConfig" }] : []));
1864
1864
  }
1865
1865
  ngOnInit() { }
1866
1866
  close() {
@@ -1881,17 +1881,17 @@ class LinkEditComponent {
1881
1881
  const link = url ? { text: text || url, url: url } : undefined;
1882
1882
  this.confirm.emit(link);
1883
1883
  }
1884
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: LinkEditComponent, deps: [{ token: i1$1.ThyPopoverRef }], target: i0.ɵɵFactoryTarget.Component }); }
1885
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: LinkEditComponent, isStandalone: true, selector: "link-edit", inputs: { url: { classPropertyName: "url", publicName: "url", isSignal: false, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: false, isRequired: false, transformFunction: null }, aiTable: { classPropertyName: "aiTable", publicName: "aiTable", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { confirm: "confirm" }, ngImport: i0, template: "<form\n thyLayout=\"vertical\"\n thyStopPropagation\n thyForm\n #linkForm=\"thyForm\"\n [thyFormValidatorConfig]=\"validatorConfig()\"\n name=\"linkForm\"\n class=\"p-5\"\n>\n <thy-form-group [thyLabelText]=\"i18nTexts().linkText\">\n <input thyInput [placeholder]=\"i18nTexts().textPlaceholder\" name=\"text\" [(ngModel)]=\"text\" />\n </thy-form-group>\n <thy-form-group [thyLabelText]=\"i18nTexts().urlLabel\">\n <input name=\"url\" thyInput [placeholder]=\"i18nTexts().urlPlaceholder\" type=\"text\" [(ngModel)]=\"url\" />\n </thy-form-group>\n <thy-form-group-footer thyAlign=\"right\">\n <div class=\"btn-pair\">\n <button thyStopPropagation thyButton=\"link-secondary\" thySize=\"sm\" (click)=\"close()\">{{ i18nTexts().cancel }}</button>\n <button thyStopPropagation thyButton=\"primary\" thySize=\"sm\" (thyFormSubmit)=\"apply(linkForm)\">{{ i18nTexts().apply }}</button>\n </div>\n </thy-form-group-footer>\n</form>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: ThyStopPropagationDirective, selector: "[thyStopPropagation]", inputs: ["thyStopPropagation"] }, { kind: "directive", type: ThyInputDirective, selector: "input[thyInput], select[thyInput], textarea[thyInput]", inputs: ["thySize"], exportAs: ["thyInput"] }, { kind: "component", type: ThyButton, selector: "thy-button,[thy-button],[thyButton]", inputs: ["thyButton", "thyType", "thyLoading", "thyLoadingText", "thySize", "thyIcon", "thyBlock"] }, { kind: "directive", type: ThyFormSubmitDirective, selector: "[thyFormSubmit],[thy-form-submit]", outputs: ["thyFormSubmit"] }, { kind: "ngmodule", type: ThyFormModule }, { kind: "directive", type: i2.ThyFormDirective, selector: "[thyForm],[thy-form]", inputs: ["thyLayout", "thyEnterKeyMode", "thyFormValidatorConfig"], exportAs: ["thyForm"] }, { kind: "component", type: i2.ThyFormGroup, selector: "thy-form-group", inputs: ["thyLabelText", "thyLabelTextTranslateKey", "thyLabelRequired", "thyLabelPaddingTopClear", "thyFeedbackIcon", "thyTipsMode", "thyTips", "thyTipsTranslateKey", "thyRowFill"] }, { kind: "component", type: i2.ThyFormGroupFooter, selector: "thy-form-group-footer", inputs: ["thyAlign"] }] }); }
1884
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: LinkEditComponent, deps: [{ token: i1$1.ThyPopoverRef }], target: i0.ɵɵFactoryTarget.Component }); }
1885
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.13", type: LinkEditComponent, isStandalone: true, selector: "link-edit", inputs: { url: { classPropertyName: "url", publicName: "url", isSignal: false, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: false, isRequired: false, transformFunction: null }, aiTable: { classPropertyName: "aiTable", publicName: "aiTable", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { confirm: "confirm" }, ngImport: i0, template: "<form\n thyLayout=\"vertical\"\n thyStopPropagation\n thyForm\n #linkForm=\"thyForm\"\n [thyFormValidatorConfig]=\"validatorConfig()\"\n name=\"linkForm\"\n class=\"p-5\"\n>\n <thy-form-group [thyLabelText]=\"i18nTexts().linkText\">\n <input thyInput [placeholder]=\"i18nTexts().textPlaceholder\" name=\"text\" [(ngModel)]=\"text\" />\n </thy-form-group>\n <thy-form-group [thyLabelText]=\"i18nTexts().urlLabel\">\n <input name=\"url\" thyInput [placeholder]=\"i18nTexts().urlPlaceholder\" type=\"text\" [(ngModel)]=\"url\" />\n </thy-form-group>\n <thy-form-group-footer thyAlign=\"right\">\n <div class=\"btn-pair\">\n <button thyStopPropagation thyButton=\"link-secondary\" thySize=\"sm\" (click)=\"close()\">{{ i18nTexts().cancel }}</button>\n <button thyStopPropagation thyButton=\"primary\" thySize=\"sm\" (thyFormSubmit)=\"apply(linkForm)\">{{ i18nTexts().apply }}</button>\n </div>\n </thy-form-group-footer>\n</form>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: ThyStopPropagationDirective, selector: "[thyStopPropagation]", inputs: ["thyStopPropagation"] }, { kind: "directive", type: ThyInputDirective, selector: "input[thyInput], select[thyInput], textarea[thyInput]", inputs: ["thySize"], exportAs: ["thyInput"] }, { kind: "component", type: ThyButton, selector: "thy-button,[thy-button],[thyButton]", inputs: ["thyButton", "thyType", "thyLoading", "thyLoadingText", "thySize", "thyIcon", "thyBlock"] }, { kind: "directive", type: ThyFormSubmitDirective, selector: "[thyFormSubmit],[thy-form-submit]", outputs: ["thyFormSubmit"] }, { kind: "ngmodule", type: ThyFormModule }, { kind: "directive", type: i2.ThyFormDirective, selector: "[thyForm],[thy-form]", inputs: ["thyLayout", "thyEnterKeyMode", "thyFormValidatorConfig"], exportAs: ["thyForm"] }, { kind: "component", type: i2.ThyFormGroup, selector: "thy-form-group", inputs: ["thyLabelText", "thyLabelTextTranslateKey", "thyLabelRequired", "thyLabelPaddingTopClear", "thyFeedbackIcon", "thyTipsMode", "thyTips", "thyTipsTranslateKey", "thyRowFill"] }, { kind: "component", type: i2.ThyFormGroupFooter, selector: "thy-form-group-footer", inputs: ["thyAlign"] }] }); }
1886
1886
  }
1887
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: LinkEditComponent, decorators: [{
1887
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: LinkEditComponent, decorators: [{
1888
1888
  type: Component,
1889
1889
  args: [{ selector: 'link-edit', imports: [FormsModule, ThyStopPropagationDirective, ThyInputDirective, ThyButton, ThyFormSubmitDirective, ThyFormModule], template: "<form\n thyLayout=\"vertical\"\n thyStopPropagation\n thyForm\n #linkForm=\"thyForm\"\n [thyFormValidatorConfig]=\"validatorConfig()\"\n name=\"linkForm\"\n class=\"p-5\"\n>\n <thy-form-group [thyLabelText]=\"i18nTexts().linkText\">\n <input thyInput [placeholder]=\"i18nTexts().textPlaceholder\" name=\"text\" [(ngModel)]=\"text\" />\n </thy-form-group>\n <thy-form-group [thyLabelText]=\"i18nTexts().urlLabel\">\n <input name=\"url\" thyInput [placeholder]=\"i18nTexts().urlPlaceholder\" type=\"text\" [(ngModel)]=\"url\" />\n </thy-form-group>\n <thy-form-group-footer thyAlign=\"right\">\n <div class=\"btn-pair\">\n <button thyStopPropagation thyButton=\"link-secondary\" thySize=\"sm\" (click)=\"close()\">{{ i18nTexts().cancel }}</button>\n <button thyStopPropagation thyButton=\"primary\" thySize=\"sm\" (thyFormSubmit)=\"apply(linkForm)\">{{ i18nTexts().apply }}</button>\n </div>\n </thy-form-group-footer>\n</form>\n" }]
1890
1890
  }], ctorParameters: () => [{ type: i1$1.ThyPopoverRef }], propDecorators: { url: [{
1891
1891
  type: Input
1892
1892
  }], text: [{
1893
1893
  type: Input
1894
- }], confirm: [{
1894
+ }], aiTable: [{ type: i0.Input, args: [{ isSignal: true, alias: "aiTable", required: false }] }], confirm: [{
1895
1895
  type: Output
1896
1896
  }] } });
1897
1897
 
@@ -1907,7 +1907,7 @@ class LinkCellEditorComponent extends AbstractEditCellEditor {
1907
1907
  this.isOpened = false;
1908
1908
  this.linkTooltip = computed(() => {
1909
1909
  return getI18nTextByKey(this.aiTable, AITableGridI18nKey.linkTooltip);
1910
- });
1910
+ }, ...(ngDevMode ? [{ debugName: "linkTooltip" }] : []));
1911
1911
  }
1912
1912
  isValidLink(link) {
1913
1913
  if (!link.text) {
@@ -1976,10 +1976,10 @@ class LinkCellEditorComponent extends AbstractEditCellEditor {
1976
1976
  });
1977
1977
  }
1978
1978
  }
1979
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: LinkCellEditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1980
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.10", type: LinkCellEditorComponent, isStandalone: true, selector: "link-cell-editor", host: { classAttribute: "ai-table-link-editor" }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<thy-input-group class=\"link-input-group h-100\" thySize=\"lg\">\n <input\n #inputElement\n class=\"h-100\"\n class=\"link-input\"\n thyInput\n thySize=\"md\"\n [thyAutofocus]=\"autoFocus()\"\n [(ngModel)]=\"text\"\n (blur)=\"blur($event)\"\n (thyEnter)=\"updateValue()\"\n />\n <ng-template #suffix>\n <a\n thyAction\n thyIcon=\"link-insert\"\n [thyTooltip]=\"linkTooltip()\"\n class=\"font-size-base edit-icon\"\n [class.active]=\"isOpened\"\n href=\"javascript:;\"\n (click)=\"openEdit()\"\n ></a>\n </ng-template>\n</thy-input-group>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ThyAutofocusDirective, selector: "input[thyAutofocus],textarea[thyAutofocus]", inputs: ["thyAutofocus", "thyAutoSelect"] }, { kind: "directive", type: ThyEnterDirective, selector: "[thyEnter]", outputs: ["thyEnter"] }, { kind: "component", type: ThyInputGroup, selector: "thy-input-group", inputs: ["thyAppendText", "thyAppendTextTranslateKey", "thyPrependText", "thyPrependTextTranslateKey", "thySize"] }, { kind: "ngmodule", type: ThyTooltipModule }, { kind: "directive", type: i2$1.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { kind: "component", type: ThyAction, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyTheme", "thyHoverIcon", "thyDisabled"] }, { kind: "ngmodule", type: ThyInputModule }, { kind: "directive", type: i3.ThyInputDirective, selector: "input[thyInput], select[thyInput], textarea[thyInput]", inputs: ["thySize"], exportAs: ["thyInput"] }, { kind: "ngmodule", type: ThyFlexibleTextModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1979
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: LinkCellEditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1980
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.13", type: LinkCellEditorComponent, isStandalone: true, selector: "link-cell-editor", host: { classAttribute: "ai-table-link-editor" }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<thy-input-group class=\"link-input-group h-100\" thySize=\"lg\">\n <input\n #inputElement\n class=\"h-100\"\n class=\"link-input\"\n thyInput\n thySize=\"md\"\n [thyAutofocus]=\"autoFocus()\"\n [(ngModel)]=\"text\"\n (blur)=\"blur($event)\"\n (thyEnter)=\"updateValue()\"\n />\n <ng-template #suffix>\n <a\n thyAction\n thyIcon=\"link-insert\"\n [thyTooltip]=\"linkTooltip()\"\n class=\"font-size-base edit-icon\"\n [class.active]=\"isOpened\"\n href=\"javascript:;\"\n (click)=\"openEdit()\"\n ></a>\n </ng-template>\n</thy-input-group>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ThyAutofocusDirective, selector: "input[thyAutofocus],textarea[thyAutofocus]", inputs: ["thyAutofocus", "thyAutoSelect"] }, { kind: "directive", type: ThyEnterDirective, selector: "[thyEnter]", outputs: ["thyEnter"] }, { kind: "component", type: ThyInputGroup, selector: "thy-input-group", inputs: ["thyAppendText", "thyAppendTextTranslateKey", "thyPrependText", "thyPrependTextTranslateKey", "thySize"] }, { kind: "ngmodule", type: ThyTooltipModule }, { kind: "directive", type: i2$1.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { kind: "component", type: ThyAction, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyTheme", "thyHoverIcon", "thyDisabled"] }, { kind: "ngmodule", type: ThyInputModule }, { kind: "directive", type: i3.ThyInputDirective, selector: "input[thyInput], select[thyInput], textarea[thyInput]", inputs: ["thySize"], exportAs: ["thyInput"] }, { kind: "ngmodule", type: ThyFlexibleTextModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1981
1981
  }
1982
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: LinkCellEditorComponent, decorators: [{
1982
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: LinkCellEditorComponent, decorators: [{
1983
1983
  type: Component,
1984
1984
  args: [{ selector: 'link-cell-editor', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
1985
1985
  FormsModule,
@@ -4163,7 +4163,7 @@ const isCellMatchKeywords = (aiTable, field, recordId, keywords, references) =>
4163
4163
 
4164
4164
  class AITableTextComponent {
4165
4165
  constructor() {
4166
- this.config = input.required();
4166
+ this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
4167
4167
  // @Output() koClick = new EventEmitter<KoEventObject<MouseEvent>>();
4168
4168
  this.koClick = output();
4169
4169
  this.koMouseMove = output();
@@ -4190,7 +4190,7 @@ class AITableTextComponent {
4190
4190
  ...rest
4191
4191
  };
4192
4192
  return result;
4193
- });
4193
+ }, ...(ngDevMode ? [{ debugName: "textConfig" }] : []));
4194
4194
  }
4195
4195
  onClick(e) {
4196
4196
  this.koClick.emit(e);
@@ -4198,10 +4198,10 @@ class AITableTextComponent {
4198
4198
  onMousemove(e) {
4199
4199
  this.koMouseMove.emit(e);
4200
4200
  }
4201
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4202
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: AITableTextComponent, isStandalone: true, selector: "ai-table-text", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { koClick: "koClick", koMouseMove: "koMouseMove" }, ngImport: i0, template: ` <ko-text [config]="textConfig()" (koClick)="onClick($event)" (koMousemove)="onMousemove($event)"></ko-text> `, isInline: true, dependencies: [{ kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4201
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4202
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.13", type: AITableTextComponent, isStandalone: true, selector: "ai-table-text", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { koClick: "koClick", koMouseMove: "koMouseMove" }, ngImport: i0, template: ` <ko-text [config]="textConfig()" (koClick)="onClick($event)" (koMousemove)="onMousemove($event)"></ko-text> `, isInline: true, dependencies: [{ kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4203
4203
  }
4204
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableTextComponent, decorators: [{
4204
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableTextComponent, decorators: [{
4205
4205
  type: Component,
4206
4206
  args: [{
4207
4207
  selector: 'ai-table-text',
@@ -4209,7 +4209,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
4209
4209
  imports: [KoShape],
4210
4210
  changeDetection: ChangeDetectionStrategy.OnPush
4211
4211
  }]
4212
- }] });
4212
+ }], propDecorators: { config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: true }] }], koClick: [{ type: i0.Output, args: ["koClick"] }], koMouseMove: [{ type: i0.Output, args: ["koMouseMove"] }] } });
4213
4213
 
4214
4214
  // 用于正确地分割字符串,包括表情符号
4215
4215
  const graphemeSplitter = new GraphemeSplitter();
@@ -5232,32 +5232,32 @@ const drawer = new Drawer();
5232
5232
 
5233
5233
  class CoverCellBase {
5234
5234
  constructor() {
5235
- this.config = input();
5236
- this.onlyDisplayBorder = input(false);
5235
+ this.config = input(...(ngDevMode ? [undefined, { debugName: "config" }] : []));
5236
+ this.onlyDisplayBorder = input(false, ...(ngDevMode ? [{ debugName: "onlyDisplayBorder" }] : []));
5237
5237
  this.isExpand = computed(() => {
5238
5238
  const { isExpand } = this.config();
5239
5239
  return isExpand;
5240
- });
5240
+ }, ...(ngDevMode ? [{ debugName: "isExpand" }] : []));
5241
5241
  }
5242
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CoverCellBase, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5243
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CoverCellBase, isStandalone: true, selector: "ai-table-cover-cell-base", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null }, onlyDisplayBorder: { classPropertyName: "onlyDisplayBorder", publicName: "onlyDisplayBorder", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5242
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: CoverCellBase, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5243
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.13", type: CoverCellBase, isStandalone: true, selector: "ai-table-cover-cell-base", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null }, onlyDisplayBorder: { classPropertyName: "onlyDisplayBorder", publicName: "onlyDisplayBorder", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5244
5244
  }
5245
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CoverCellBase, decorators: [{
5245
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: CoverCellBase, decorators: [{
5246
5246
  type: Component,
5247
5247
  args: [{
5248
5248
  selector: 'ai-table-cover-cell-base',
5249
5249
  template: '',
5250
5250
  changeDetection: ChangeDetectionStrategy.OnPush
5251
5251
  }]
5252
- }] });
5252
+ }], propDecorators: { config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: false }] }], onlyDisplayBorder: [{ type: i0.Input, args: [{ isSignal: true, alias: "onlyDisplayBorder", required: false }] }] } });
5253
5253
 
5254
5254
  class AITableCellLink extends CoverCellBase {
5255
5255
  constructor() {
5256
5256
  super(...arguments);
5257
5257
  this.textOffset = AI_TABLE_CELL_PADDING + AI_TABLE_FIELD_HEAD_ICON_GAP_SIZE;
5258
- this.render = computed(() => this.config()?.render);
5259
- this.transformValue = computed(() => this.render()?.transformValue);
5260
- this.showLink = computed(() => !!this.transformValue()?.text);
5258
+ this.render = computed(() => this.config()?.render, ...(ngDevMode ? [{ debugName: "render" }] : []));
5259
+ this.transformValue = computed(() => this.render()?.transformValue, ...(ngDevMode ? [{ debugName: "transformValue" }] : []));
5260
+ this.showLink = computed(() => !!this.transformValue()?.text, ...(ngDevMode ? [{ debugName: "showLink" }] : []));
5261
5261
  this.textConfig = computed(() => {
5262
5262
  const render = this.config()?.render;
5263
5263
  if (render) {
@@ -5292,7 +5292,7 @@ class AITableCellLink extends CoverCellBase {
5292
5292
  };
5293
5293
  }
5294
5294
  return;
5295
- });
5295
+ }, ...(ngDevMode ? [{ debugName: "textConfig" }] : []));
5296
5296
  }
5297
5297
  static { this.fieldType = AITableFieldType.link; }
5298
5298
  linkClick(e) {
@@ -5312,14 +5312,14 @@ class AITableCellLink extends CoverCellBase {
5312
5312
  const curMousePosition = getMousePosition(aiTable, x, y, coordinate, AITable.getVisibleFields(aiTable), context, targetName);
5313
5313
  handleMouseStyle(AI_TABLE_FIELD_HEAD_MORE, curMousePosition.areaType, coordinate.container);
5314
5314
  }
5315
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableCellLink, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
5316
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AITableCellLink, isStandalone: true, selector: "ai-table-link", usesInheritance: true, ngImport: i0, template: `
5315
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableCellLink, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
5316
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.13", type: AITableCellLink, isStandalone: true, selector: "ai-table-link", usesInheritance: true, ngImport: i0, template: `
5317
5317
  @if (showLink()) {
5318
5318
  <ai-table-text [config]="textConfig()!" (koClick)="linkClick($event)" (koMouseMove)="linkMouseMove($event)"></ai-table-text>
5319
5319
  }
5320
5320
  `, isInline: true, dependencies: [{ kind: "component", type: AITableTextComponent, selector: "ai-table-text", inputs: ["config"], outputs: ["koClick", "koMouseMove"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5321
5321
  }
5322
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableCellLink, decorators: [{
5322
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableCellLink, decorators: [{
5323
5323
  type: Component,
5324
5324
  args: [{
5325
5325
  selector: 'ai-table-link',
@@ -5339,12 +5339,12 @@ class AITableActionIcon {
5339
5339
  this.onMousemove = output();
5340
5340
  this.onMouseenter = output();
5341
5341
  this.onMouseleave = output();
5342
- this.config = input.required();
5343
- this.isHover = signal(false);
5342
+ this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
5343
+ this.isHover = signal(false, ...(ngDevMode ? [{ debugName: "isHover" }] : []));
5344
5344
  this.groupConfig = computed(() => {
5345
5345
  const { x, y, listening } = this.config();
5346
5346
  return { x, y, listening };
5347
- });
5347
+ }, ...(ngDevMode ? [{ debugName: "groupConfig" }] : []));
5348
5348
  this.squareShapeConfig = computed(() => {
5349
5349
  const { name, backgroundWidth, backgroundHeight, hoverFill: coverFill, size = DEFAULT_ICON_SIZE, strokeWidth = 1, cornerRadius, source } = this.config();
5350
5350
  return {
@@ -5357,7 +5357,7 @@ class AITableActionIcon {
5357
5357
  cornerRadius,
5358
5358
  source
5359
5359
  };
5360
- });
5360
+ }, ...(ngDevMode ? [{ debugName: "squareShapeConfig" }] : []));
5361
5361
  this.iconGroupConfig = computed(() => {
5362
5362
  let { backgroundWidth, backgroundHeight, size = DEFAULT_ICON_SIZE, scaleX, scaleY, offsetX, offsetY } = this.config();
5363
5363
  return {
@@ -5368,7 +5368,7 @@ class AITableActionIcon {
5368
5368
  scaleX: scaleX || size / DEFAULT_ICON_SIZE,
5369
5369
  scaleY: scaleY || size / DEFAULT_ICON_SIZE
5370
5370
  };
5371
- });
5371
+ }, ...(ngDevMode ? [{ debugName: "iconGroupConfig" }] : []));
5372
5372
  this.iconConfig = computed(() => {
5373
5373
  let { type, data, size = DEFAULT_ICON_SIZE, stroke, strokeWidth = 1, scaleX, scaleY, offsetX, offsetY, rotation, fill, hoverFill: hoverFill, transformsEnabled = 'position' } = this.config();
5374
5374
  fill = fill || Colors.gray600;
@@ -5397,7 +5397,7 @@ class AITableActionIcon {
5397
5397
  perfectDrawEnabled: false,
5398
5398
  listening: false
5399
5399
  };
5400
- });
5400
+ }, ...(ngDevMode ? [{ debugName: "iconConfig" }] : []));
5401
5401
  }
5402
5402
  koClick(e) {
5403
5403
  this.onClick.emit(e);
@@ -5417,8 +5417,8 @@ class AITableActionIcon {
5417
5417
  const { coordinate } = this.config();
5418
5418
  setMouseStyle('default', coordinate.container);
5419
5419
  }
5420
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableActionIcon, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5421
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: AITableActionIcon, isStandalone: true, selector: "ai-table-action-icon", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onClick: "onClick", onMousemove: "onMousemove", onMouseenter: "onMouseenter", onMouseleave: "onMouseleave" }, ngImport: i0, template: `
5420
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableActionIcon, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5421
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.13", type: AITableActionIcon, isStandalone: true, selector: "ai-table-action-icon", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onClick: "onClick", onMousemove: "onMousemove", onMouseenter: "onMouseenter", onMouseleave: "onMouseleave" }, ngImport: i0, template: `
5422
5422
  <ko-group
5423
5423
  [config]="groupConfig()"
5424
5424
  (koClick)="koClick($event)"
@@ -5433,7 +5433,7 @@ class AITableActionIcon {
5433
5433
  </ko-group>
5434
5434
  `, isInline: true, dependencies: [{ kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }, { kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5435
5435
  }
5436
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableActionIcon, decorators: [{
5436
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableActionIcon, decorators: [{
5437
5437
  type: Component,
5438
5438
  args: [{
5439
5439
  selector: 'ai-table-action-icon',
@@ -5454,7 +5454,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
5454
5454
  imports: [KoContainer, KoShape],
5455
5455
  changeDetection: ChangeDetectionStrategy.OnPush
5456
5456
  }]
5457
- }] });
5457
+ }], propDecorators: { onClick: [{ type: i0.Output, args: ["onClick"] }], onMousemove: [{ type: i0.Output, args: ["onMousemove"] }], onMouseenter: [{ type: i0.Output, args: ["onMouseenter"] }], onMouseleave: [{ type: i0.Output, args: ["onMouseleave"] }], config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: true }] }] } });
5458
5458
 
5459
5459
  class CellBaseLayout {
5460
5460
  get minItemWidth() {
@@ -5705,7 +5705,7 @@ class AITableCellAttachment extends CoverCellBase {
5705
5705
  });
5706
5706
  }
5707
5707
  return [];
5708
- });
5708
+ }, ...(ngDevMode ? [{ debugName: "attachments" }] : []));
5709
5709
  this.iconConfig = computed(() => {
5710
5710
  const { coordinate, render, field, recordId, readonly } = this.config();
5711
5711
  const offsetX = render.columnWidth - AI_TABLE_ACTION_COMMON_SIZE - AI_TABLE_ACTION_COMMON_RIGHT_PADDING;
@@ -5730,18 +5730,18 @@ class AITableCellAttachment extends CoverCellBase {
5730
5730
  cornerRadius: AI_TABLE_ACTION_COMMON_RADIUS,
5731
5731
  listening: true
5732
5732
  };
5733
- });
5733
+ }, ...(ngDevMode ? [{ debugName: "iconConfig" }] : []));
5734
5734
  }
5735
5735
  static { this.fieldType = AITableFieldType.attachment; }
5736
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableCellAttachment, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
5737
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AITableCellAttachment, isStandalone: true, selector: "ai-table-attachments", usesInheritance: true, ngImport: i0, template: `
5736
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableCellAttachment, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
5737
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.13", type: AITableCellAttachment, isStandalone: true, selector: "ai-table-attachments", usesInheritance: true, ngImport: i0, template: `
5738
5738
  @for (attachment of attachments(); track attachment.attachmentInfo._id) {
5739
5739
  <ko-image [config]="attachment"></ko-image>
5740
5740
  }
5741
5741
  <ai-table-action-icon [config]="iconConfig()"></ai-table-action-icon>
5742
5742
  `, isInline: true, dependencies: [{ kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }, { kind: "component", type: AITableActionIcon, selector: "ai-table-action-icon", inputs: ["config"], outputs: ["onClick", "onMousemove", "onMouseenter", "onMouseleave"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5743
5743
  }
5744
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableCellAttachment, decorators: [{
5744
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableCellAttachment, decorators: [{
5745
5745
  type: Component,
5746
5746
  args: [{
5747
5747
  selector: 'ai-table-attachments',
@@ -5785,7 +5785,7 @@ class AITableCellRichText extends CoverCellBase {
5785
5785
  };
5786
5786
  }
5787
5787
  return;
5788
- });
5788
+ }, ...(ngDevMode ? [{ debugName: "textConfig" }] : []));
5789
5789
  this.iconConfig = computed(() => {
5790
5790
  const { coordinate, render, field, recordId, readonly } = this.config();
5791
5791
  const offsetX = render.columnWidth - AI_TABLE_ACTION_COMMON_SIZE - AI_TABLE_ACTION_COMMON_RIGHT_PADDING;
@@ -5810,18 +5810,18 @@ class AITableCellRichText extends CoverCellBase {
5810
5810
  cornerRadius: AI_TABLE_ACTION_COMMON_RADIUS,
5811
5811
  listening: true
5812
5812
  };
5813
- });
5813
+ }, ...(ngDevMode ? [{ debugName: "iconConfig" }] : []));
5814
5814
  }
5815
5815
  static { this.fieldType = AITableFieldType.richText; }
5816
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableCellRichText, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
5817
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AITableCellRichText, isStandalone: true, selector: "ai-table-rich-text", usesInheritance: true, ngImport: i0, template: `
5816
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableCellRichText, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
5817
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.13", type: AITableCellRichText, isStandalone: true, selector: "ai-table-rich-text", usesInheritance: true, ngImport: i0, template: `
5818
5818
  @if (textConfig()) {
5819
5819
  <ai-table-text [config]="textConfig()!"></ai-table-text>
5820
5820
  }
5821
5821
  <ai-table-action-icon [config]="iconConfig()"></ai-table-action-icon>
5822
5822
  `, isInline: true, dependencies: [{ kind: "component", type: AITableTextComponent, selector: "ai-table-text", inputs: ["config"], outputs: ["koClick", "koMouseMove"] }, { kind: "component", type: AITableActionIcon, selector: "ai-table-action-icon", inputs: ["config"], outputs: ["onClick", "onMousemove", "onMouseenter", "onMouseleave"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5823
5823
  }
5824
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableCellRichText, decorators: [{
5824
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableCellRichText, decorators: [{
5825
5825
  type: Component,
5826
5826
  args: [{
5827
5827
  selector: 'ai-table-rich-text',
@@ -5915,7 +5915,7 @@ const createActiveCellBorder = (config) => {
5915
5915
  /**
5916
5916
  * 用于处理表格行或单元格的布局和绘制。
5917
5917
  * 它提供了基本的布局信息(如位置、大小等),并定义了常用的绘图方法(如渲染缩进区域、添加新字段的空白区域等)。
5918
- * 该类继承自 Drawer,并被其他更具体的布局类(如 RecordRowLayout)扩展和使用
5918
+ * 该类继承自 Drawer,并被其他更具体的布局类(如 RecordLayout)扩展和使用
5919
5919
  */
5920
5920
  class Layout extends Drawer {
5921
5921
  constructor() {
@@ -6002,7 +6002,7 @@ class Layout extends Drawer {
6002
6002
  }
6003
6003
  }
6004
6004
 
6005
- class AddRowLayout extends Layout {
6005
+ class AddRecordLayout extends Layout {
6006
6006
  renderAddFieldBlank({ isHoverRow, isCheckedRow }) {
6007
6007
  super.renderAddFieldBlank({ isHoverRow, isCheckedRow });
6008
6008
  const rowHeight = this.rowHeight;
@@ -6098,7 +6098,7 @@ class AddRowLayout extends Layout {
6098
6098
  });
6099
6099
  }
6100
6100
  }
6101
- const addRowLayout = new AddRowLayout();
6101
+ const addRecordLayout = new AddRecordLayout();
6102
6102
 
6103
6103
  class MultiSelectLayout extends CellBaseLayout {
6104
6104
  constructor(render, cellLayoutOption = {}) {
@@ -6400,13 +6400,13 @@ class CellDrawer extends Drawer {
6400
6400
  case AITableFieldType.member:
6401
6401
  case AITableFieldType.createdBy:
6402
6402
  case AITableFieldType.updatedBy:
6403
- cellLayout = this.renderCellMember2(ctx, render);
6403
+ cellLayout = this.renderCellMember(render);
6404
6404
  break;
6405
6405
  case AITableFieldType.attachment:
6406
- cellLayout = this.renderCellAttachment2(render);
6406
+ cellLayout = this.renderCellAttachment(render);
6407
6407
  break;
6408
6408
  case AITableFieldType.checkbox:
6409
- return this.renderCellCheckbox(render, ctx);
6409
+ return this.renderCellCheckbox(render);
6410
6410
  default:
6411
6411
  return null;
6412
6412
  }
@@ -6414,7 +6414,7 @@ class CellDrawer extends Drawer {
6414
6414
  this.renderAtoms(ctx, { x, y }, cellLayout);
6415
6415
  }
6416
6416
  }
6417
- renderCellCheckbox(render, ctx) {
6417
+ renderCellCheckbox(render) {
6418
6418
  const { x, y, columnWidth, transformValue, isCoverCell, isGroupFirstRender } = render;
6419
6419
  if (isCoverCell) {
6420
6420
  return;
@@ -6498,7 +6498,7 @@ class CellDrawer extends Drawer {
6498
6498
  renderCellSelect(ctx, render) {
6499
6499
  const { field } = render;
6500
6500
  if (field.settings?.is_multiple) {
6501
- return this.renderCellMultiSelect2(render, ctx);
6501
+ return this.renderCellMultiSelect(render);
6502
6502
  }
6503
6503
  else {
6504
6504
  return this.renderSingleSelectCell(render, ctx);
@@ -6508,205 +6508,7 @@ class CellDrawer extends Drawer {
6508
6508
  const fieldOptionsMap = helpers.keyBy(field.settings.options || [], '_id');
6509
6509
  return (transformValue || []).filter((optionId) => !!fieldOptionsMap[optionId]);
6510
6510
  }
6511
- renderCellMultiSelect(render, ctx) {
6512
- const { x, y, field, columnWidth } = render;
6513
- let transformValue = this.getValidSelectedValue(field, render.transformValue);
6514
- if (!transformValue.length) {
6515
- return;
6516
- }
6517
- let currentX = x + AI_TABLE_CELL_PADDING;
6518
- const maxContainerWidth = columnWidth - 2 * AI_TABLE_CELL_PADDING;
6519
- const optionStyle = field.settings.option_style;
6520
- const fontStyle = `${DEFAULT_FONT_WEIGHT} ${AI_TABLE_OPTION_MULTI_ITEM_FONT_SIZE}px ${DEFAULT_FONT_FAMILY}`;
6521
- const isDotOrPiece = optionStyle === AITableSelectOptionStyle.dot || optionStyle === AITableSelectOptionStyle.piece;
6522
- let totalWidth = 0;
6523
- const cellItemInfoMap = new Map();
6524
- let drawableIndex = 0;
6525
- transformValue.forEach((optionId, index) => {
6526
- const item = field.settings.options?.find((option) => option._id === optionId);
6527
- const textWidth = getTextWidth(ctx, item?.text, fontStyle);
6528
- totalWidth += textWidth + 2 * AI_TABLE_CELL_PADDING;
6529
- if (index < transformValue.length - 1) {
6530
- totalWidth += AI_TABLE_CELL_MULTI_PADDING_LEFT;
6531
- }
6532
- if (isDotOrPiece) {
6533
- totalWidth += AI_TABLE_CELL_MULTI_DOT_RADIUS * 2 + AI_TABLE_CELL_MULTI_PADDING_LEFT;
6534
- }
6535
- if (totalWidth < maxContainerWidth || totalWidth === maxContainerWidth) {
6536
- drawableIndex = index;
6537
- }
6538
- cellItemInfoMap.set(optionId, { textWidth, item, offset: totalWidth });
6539
- });
6540
- const baseWidth = AI_TABLE_MIN_TEXT_WIDTH + AI_TABLE_CELL_PADDING * 2;
6541
- const minWidth = isDotOrPiece ? baseWidth + AI_TABLE_CELL_MULTI_DOT_RADIUS * 2 + AI_TABLE_CELL_MULTI_PADDING_LEFT : baseWidth;
6542
- if (transformValue[drawableIndex + 1]) {
6543
- const { offset: currentOffset } = cellItemInfoMap.get(transformValue[drawableIndex]);
6544
- const canDrawerNext = maxContainerWidth - currentOffset > minWidth;
6545
- drawableIndex = canDrawerNext ? drawableIndex + 1 : drawableIndex;
6546
- // 上面过程是 没有 +数字 的情况下最大能放几个;
6547
- const number = transformValue.length - (drawableIndex + 1);
6548
- if (number > 0) {
6549
- // 说明有 +数字,重新计算
6550
- const circleWidth = getTextWidth(ctx, `+{number}`, fontStyle) + 2 * AI_TABLE_CELL_PADDING;
6551
- const max = maxContainerWidth - AI_TABLE_CELL_MULTI_PADDING_LEFT - circleWidth;
6552
- // 如果当前已经超出了,看是否能容下当前的,不能就减去 1;
6553
- const currentItemHasOver = currentOffset > max;
6554
- if (currentItemHasOver) {
6555
- const lastOffset = drawableIndex === 0 ? 0 : cellItemInfoMap.get(transformValue[drawableIndex - 1]);
6556
- drawableIndex = max - lastOffset > minWidth ? drawableIndex : drawableIndex - 1;
6557
- }
6558
- else {
6559
- // 还有剩余空间, 看是否能多渲染一个
6560
- drawableIndex = max - currentOffset > minWidth ? drawableIndex + 1 : drawableIndex;
6561
- }
6562
- }
6563
- }
6564
- const circleText = `+${transformValue.length - (drawableIndex + 1)}`;
6565
- const circleWidth = transformValue.length - (drawableIndex + 1) > 0 ? getTextWidth(ctx, circleText, fontStyle) + 2 * AI_TABLE_CELL_PADDING : 0;
6566
- // 剩余空间
6567
- let remainSpace = maxContainerWidth - circleWidth - (circleWidth > 0 ? AI_TABLE_CELL_MULTI_PADDING_LEFT : 0);
6568
- for (let index = 0; index < transformValue.length; index++) {
6569
- const optionId = transformValue[index];
6570
- const bgConfig = {
6571
- x: currentX,
6572
- y: y + (AI_TABLE_ROW_BLANK_HEIGHT - AI_TABLE_OPTION_ITEM_HEIGHT) / 2,
6573
- height: AI_TABLE_OPTION_ITEM_HEIGHT,
6574
- radius: AI_TABLE_PIECE_RADIUS,
6575
- fill: Colors.gray100,
6576
- width: 0
6577
- };
6578
- const commonItem = (optionStyle, shape) => {
6579
- const baseWidth = isDotOrPiece
6580
- ? AI_TABLE_CELL_MULTI_DOT_RADIUS * 2 + AI_TABLE_CELL_MULTI_PADDING_LEFT + AI_TABLE_CELL_PADDING * 2
6581
- : AI_TABLE_CELL_PADDING * 2;
6582
- if (remainSpace < minWidth) {
6583
- return;
6584
- }
6585
- const { textWidth, item } = cellItemInfoMap.get(optionId);
6586
- const completeWidth = baseWidth + textWidth;
6587
- if (index !== transformValue.length - 1) {
6588
- remainSpace -= AI_TABLE_CELL_MULTI_PADDING_LEFT;
6589
- }
6590
- const bgWidth = remainSpace > completeWidth ? completeWidth : remainSpace;
6591
- bgConfig.width = bgWidth;
6592
- if (isDotOrPiece) {
6593
- this.rect(bgConfig);
6594
- if (shape === 'rect') {
6595
- this.rect({
6596
- x: bgConfig.x + AI_TABLE_CELL_PADDING,
6597
- y: y + (AI_TABLE_ROW_BLANK_HEIGHT - AI_TABLE_CELL_MULTI_DOT_RADIUS * 2) / 2,
6598
- width: AI_TABLE_CELL_MULTI_DOT_RADIUS * 2,
6599
- height: AI_TABLE_CELL_MULTI_DOT_RADIUS * 2,
6600
- radius: AI_TABLE_PIECE_RADIUS,
6601
- fill: item?.bg_color ?? item?.color ?? Colors.primary
6602
- });
6603
- }
6604
- else if (shape === 'arc') {
6605
- this.arc({
6606
- x: bgConfig.x + AI_TABLE_CELL_PADDING,
6607
- y: y + (AI_TABLE_ROW_BLANK_HEIGHT - AI_TABLE_CELL_MULTI_DOT_RADIUS * 2) / 2 + AI_TABLE_CELL_MULTI_DOT_RADIUS,
6608
- radius: AI_TABLE_CELL_MULTI_DOT_RADIUS,
6609
- fill: item?.bg_color ?? item?.color ?? Colors.primary
6610
- });
6611
- }
6612
- this.text({
6613
- x: bgConfig.x + AI_TABLE_CELL_PADDING + AI_TABLE_CELL_MULTI_DOT_RADIUS * 2 + AI_TABLE_CELL_MULTI_PADDING_LEFT,
6614
- y: y + (AI_TABLE_ROW_BLANK_HEIGHT - AI_TABLE_OPTION_MULTI_ITEM_FONT_SIZE) / 2,
6615
- text: this.textEllipsis({
6616
- text: item.text,
6617
- maxWidth: bgWidth - baseWidth,
6618
- fontSize: AI_TABLE_OPTION_MULTI_ITEM_FONT_SIZE
6619
- }).text,
6620
- fillStyle: Colors.gray700,
6621
- fontSize: AI_TABLE_OPTION_MULTI_ITEM_FONT_SIZE
6622
- });
6623
- }
6624
- else if (optionStyle === AITableSelectOptionStyle.tag) {
6625
- this.tag({
6626
- x: bgConfig.x,
6627
- y: bgConfig.y,
6628
- width: bgConfig.width,
6629
- text: this.textEllipsis({
6630
- text: item.text,
6631
- maxWidth: bgWidth - baseWidth,
6632
- fontSize: AI_TABLE_TAG_FONT_SIZE
6633
- }).text,
6634
- radius: AI_TABLE_OPTION_ITEM_RADIUS,
6635
- fontSize: AI_TABLE_TAG_FONT_SIZE,
6636
- height: bgConfig.height,
6637
- color: Colors.white,
6638
- padding: AI_TABLE_CELL_PADDING,
6639
- background: item?.bg_color ?? item?.color ?? Colors.primary
6640
- });
6641
- }
6642
- else {
6643
- this.rect(bgConfig);
6644
- this.text({
6645
- x: bgConfig.x + AI_TABLE_CELL_PADDING,
6646
- y: y + (AI_TABLE_ROW_BLANK_HEIGHT - AI_TABLE_TAG_FONT_SIZE) / 2,
6647
- text: this.textEllipsis({
6648
- text: item.text,
6649
- maxWidth: bgWidth - baseWidth,
6650
- fontSize: AI_TABLE_TAG_FONT_SIZE
6651
- }).text,
6652
- fillStyle: Colors.gray700,
6653
- fontSize: AI_TABLE_TAG_FONT_SIZE
6654
- });
6655
- }
6656
- const currentWidth = bgConfig.width;
6657
- remainSpace -= currentWidth;
6658
- currentX += currentWidth + AI_TABLE_CELL_MULTI_PADDING_LEFT;
6659
- };
6660
- switch (optionStyle) {
6661
- case AITableSelectOptionStyle.dot:
6662
- commonItem(AITableSelectOptionStyle.dot, 'arc');
6663
- break;
6664
- case AITableSelectOptionStyle.piece:
6665
- commonItem(AITableSelectOptionStyle.piece, 'rect');
6666
- break;
6667
- case AITableSelectOptionStyle.tag:
6668
- commonItem(AITableSelectOptionStyle.tag, '');
6669
- break;
6670
- default:
6671
- commonItem(AITableSelectOptionStyle.text, '');
6672
- break;
6673
- }
6674
- }
6675
- if (circleWidth > 0) {
6676
- if (optionStyle === AITableSelectOptionStyle.tag) {
6677
- this.tag({
6678
- x: currentX,
6679
- y: y + (AI_TABLE_ROW_BLANK_HEIGHT - AI_TABLE_OPTION_ITEM_HEIGHT) / 2,
6680
- width: circleWidth,
6681
- height: AI_TABLE_OPTION_ITEM_HEIGHT,
6682
- text: circleText,
6683
- background: Colors.gray100,
6684
- color: Colors.gray700,
6685
- radius: AI_TABLE_OPTION_ITEM_RADIUS,
6686
- padding: AI_TABLE_CELL_PADDING,
6687
- fontSize: AI_TABLE_TAG_FONT_SIZE
6688
- });
6689
- }
6690
- else {
6691
- this.rect({
6692
- x: currentX,
6693
- y: y + (AI_TABLE_ROW_BLANK_HEIGHT - AI_TABLE_OPTION_ITEM_HEIGHT) / 2,
6694
- width: circleWidth,
6695
- height: AI_TABLE_OPTION_ITEM_HEIGHT,
6696
- fill: Colors.gray100,
6697
- radius: AI_TABLE_PIECE_RADIUS
6698
- });
6699
- this.text({
6700
- x: currentX + AI_TABLE_CELL_PADDING,
6701
- y: y + (AI_TABLE_ROW_BLANK_HEIGHT - AI_TABLE_TAG_FONT_SIZE) / 2,
6702
- text: circleText,
6703
- fillStyle: Colors.gray700,
6704
- fontSize: AI_TABLE_TAG_FONT_SIZE
6705
- });
6706
- }
6707
- }
6708
- }
6709
- renderCellMultiSelect2(render, ctx) {
6511
+ renderCellMultiSelect(render) {
6710
6512
  const { field } = render;
6711
6513
  let transformValue = this.getValidSelectedValue(field, render.transformValue);
6712
6514
  if (!transformValue.length) {
@@ -6971,118 +6773,10 @@ class CellDrawer extends Drawer {
6971
6773
  });
6972
6774
  }
6973
6775
  }
6974
- renderCellMember(render, ctx) {
6975
- const { references, x, y, field, transformValue, rowHeight, columnWidth, isActive } = render;
6976
- if (!transformValue?.length || !references) {
6977
- return;
6978
- }
6979
- const settings = field.settings;
6980
- const avatarSize = AI_TABLE_MEMBER_AVATAR_SIZE;
6981
- const itemHeight = AI_TABLE_CELL_MEMBER_ITEM_HEIGHT;
6982
- const isOperating = isActive;
6983
- const isMultiple = settings?.is_multiple;
6984
- let currentX = AI_TABLE_CELL_PADDING;
6985
- let currentY = (AI_TABLE_ROW_BLANK_HEIGHT - avatarSize) / 2;
6986
- const itemOtherWidth = avatarSize + AI_TABLE_MEMBER_ITEM_AVATAR_MARGIN_RIGHT;
6987
- const maxHeight = isActive ? 130 - AI_TABLE_CELL_MULTI_PADDING_TOP : rowHeight - AI_TABLE_CELL_MULTI_PADDING_TOP;
6988
- const maxTextWidth = isOperating
6989
- ? columnWidth - 2 * AI_TABLE_CELL_PADDING - itemOtherWidth - AI_TABLE_CELL_DELETE_ITEM_BUTTON_SIZE - 12
6990
- : columnWidth - 2 * AI_TABLE_CELL_PADDING - itemOtherWidth;
6991
- const listCount = transformValue.length;
6992
- let isOverflow = false;
6993
- for (let index = 0; index < listCount; index++) {
6994
- const userInfo = references?.members[transformValue[index]];
6995
- if (!userInfo)
6996
- continue;
6997
- const { uid, display_name, avatar } = userInfo;
6998
- const itemWidth = AITableAvatarSize.size24 + (isMultiple ? AI_TABLE_CELL_MEMBER_ITEM_PADDING : 0);
6999
- currentX = AI_TABLE_CELL_PADDING + index * itemWidth;
7000
- let realMaxTextWidth = maxTextWidth < 0 ? 0 : maxTextWidth;
7001
- if (index === 0 && isOperating) {
7002
- const operatingMaxWidth = maxTextWidth - (AI_TABLE_CELL_ADD_ITEM_BUTTON_SIZE + 4);
7003
- // item No space to display, then perform a line feed
7004
- if (operatingMaxWidth <= 20) {
7005
- currentX = AI_TABLE_CELL_PADDING;
7006
- currentY += AI_TABLE_OPTION_ITEM_HEIGHT + AI_TABLE_CELL_MULTI_ITEM_MARGIN_TOP;
7007
- }
7008
- else {
7009
- realMaxTextWidth = operatingMaxWidth;
7010
- }
7011
- }
7012
- let isMore = currentX + itemWidth > columnWidth - 2 * AI_TABLE_CELL_PADDING;
7013
- if (columnWidth != null) {
7014
- // 在非活动状态下,当超出列宽时,不会渲染后续内容
7015
- if (currentX >= columnWidth - 2 * AI_TABLE_CELL_PADDING) {
7016
- break;
7017
- }
7018
- // 如果不是非活动状态的最后一行,则换行渲染溢出内容
7019
- if (currentX > columnWidth - 2 * AI_TABLE_CELL_PADDING) {
7020
- currentX = AI_TABLE_CELL_PADDING;
7021
- }
7022
- if (currentX + itemWidth > columnWidth - AI_TABLE_CELL_PADDING) {
7023
- currentX = AI_TABLE_CELL_PADDING;
7024
- currentY += itemHeight;
7025
- }
7026
- if (currentY >= maxHeight) {
7027
- isOverflow = true;
7028
- }
7029
- }
7030
- if (ctx) {
7031
- this.avatar({
7032
- x: x + currentX,
7033
- y: y + currentY,
7034
- url: avatar,
7035
- id: uid,
7036
- title: getAvatarShortName(display_name),
7037
- bgColor: getAvatarBgColor(display_name),
7038
- type: AITableAvatarType.member,
7039
- size: AITableAvatarSize.size24
7040
- });
7041
- // 在非多选模式下显示名称
7042
- if (!isMultiple) {
7043
- const textX = x + currentX + AITableAvatarSize.size24 + AI_TABLE_MEMBER_ITEM_AVATAR_MARGIN_RIGHT;
7044
- this.text({
7045
- x: textX,
7046
- y: y + AI_TABLE_ROW_BLANK_HEIGHT / 2,
7047
- text: this.textEllipsis({
7048
- text: display_name || '',
7049
- maxWidth: maxTextWidth,
7050
- fontSize: AI_TABLE_COMMON_FONT_SIZE
7051
- }).text,
7052
- fillStyle: this.colors.gray800,
7053
- fontSize: AI_TABLE_COMMON_FONT_SIZE,
7054
- verticalAlign: DEFAULT_TEXT_VERTICAL_ALIGN_MIDDLE
7055
- });
7056
- }
7057
- if (isMore) {
7058
- ctx.save();
7059
- ctx.globalAlpha = 0.3;
7060
- this.rect({
7061
- x: x + currentX,
7062
- y: y + currentY,
7063
- width: AITableAvatarSize.size24,
7064
- height: AITableAvatarSize.size24,
7065
- radius: 24,
7066
- fill: this.colors.black
7067
- });
7068
- ctx.restore();
7069
- this.text({
7070
- x: x + currentX + FONT_SIZE_SM / 2,
7071
- y: y + AI_TABLE_ROW_BLANK_HEIGHT / 2,
7072
- fillStyle: this.colors.white,
7073
- fontSize: FONT_SIZE_SM,
7074
- text: `+${listCount - index - 1}`,
7075
- verticalAlign: DEFAULT_TEXT_VERTICAL_ALIGN_MIDDLE
7076
- });
7077
- }
7078
- }
7079
- }
7080
- }
7081
- renderCellMember2(ctx, render) {
7082
- const { x, y } = render;
6776
+ renderCellMember(render) {
7083
6777
  return new MemberLayout(render, {});
7084
6778
  }
7085
- renderCellAttachment2(render) {
6779
+ renderCellAttachment(render) {
7086
6780
  const { transformValue } = render;
7087
6781
  if (isUndefinedOrNull(transformValue)) {
7088
6782
  return;
@@ -7096,7 +6790,7 @@ const cellDrawer = new CellDrawer();
7096
6790
  * 绘制行的布局,通过直接操作 Canvas 提供高效的渲染方法。
7097
6791
  * 它继承自 Layout 类,包含了用于绘制行中单元格(尤其是首列和尾列)的几个方法
7098
6792
  */
7099
- class RecordRowLayout extends Layout {
6793
+ class RecordLayout extends Layout {
7100
6794
  renderAddFieldBlank({ isHoverRow, isCheckedRow }) {
7101
6795
  super.renderAddFieldBlank({ isHoverRow, isCheckedRow });
7102
6796
  const rowHeight = this.rowHeight;
@@ -7211,7 +6905,7 @@ class RecordRowLayout extends Layout {
7211
6905
  this.renderFrozenShadow();
7212
6906
  }
7213
6907
  }
7214
- const recordRowLayout = new RecordRowLayout();
6908
+ const recordLayout = new RecordLayout();
7215
6909
 
7216
6910
  class GroupLayout extends Layout {
7217
6911
  renderAddFieldBlank({ isHoverRow, isCheckedRow }) {
@@ -7230,11 +6924,10 @@ class GroupLayout extends Layout {
7230
6924
  if (!this.isFirst)
7231
6925
  return;
7232
6926
  const { row, indexStyle } = config;
7233
- const { _id: recordId, type, depth = 0, groupValue, fieldId, isCollapsed } = row;
6927
+ const { _id: groupValue, fieldId } = row;
7234
6928
  const { field, style, aiTable } = render;
7235
6929
  const y = this.y;
7236
6930
  const rowHeight = this.rowHeight;
7237
- const columnWidth = this.columnWidth;
7238
6931
  const { fill: indexFill } = indexStyle || {};
7239
6932
  if (!this.hiddenIndexColumn) {
7240
6933
  this.customRect({
@@ -7280,7 +6973,7 @@ class GroupLayout extends Layout {
7280
6973
  });
7281
6974
  }
7282
6975
  }
7283
- renderCommonCellBorder({ style }) {
6976
+ renderCommonCell({ style }) {
7284
6977
  const { fill, stroke } = style || {};
7285
6978
  const colors = AITable.getColors();
7286
6979
  // 背景、边框
@@ -7305,7 +6998,7 @@ class GroupLayout extends Layout {
7305
6998
  render(render, config) {
7306
6999
  const { style, isHoverRow, isCheckedRow } = config;
7307
7000
  this.renderFirstCell(render, config);
7308
- this.renderCommonCellBorder({ style });
7001
+ this.renderCommonCell({ style });
7309
7002
  this.renderLastCell({ style, isHoverRow, isCheckedRow });
7310
7003
  this.renderFrozenShadow();
7311
7004
  }
@@ -7326,8 +7019,8 @@ const createCells = (config) => {
7326
7019
  const xIsScroll = aiTable.context.scrollState().scrollLeft > 0;
7327
7020
  // 初始化绘图上下文, 为后续的绘制操作做准备
7328
7021
  cellDrawer.initCtx(ctx);
7329
- addRowLayout.initCtx(ctx);
7330
- recordRowLayout.initCtx(ctx);
7022
+ addRecordLayout.initCtx(ctx);
7023
+ recordLayout.initCtx(ctx);
7331
7024
  groupLayout.initCtx(ctx);
7332
7025
  const coverCell = getCoverCell(aiTable);
7333
7026
  const frozenColumnCount = aiTable.context?.frozenColumnCount() || 1;
@@ -7359,7 +7052,7 @@ const createCells = (config) => {
7359
7052
  case AITableRowType.add: {
7360
7053
  const isHoverRow = isHover && targetName === AI_TABLE_ROW_ADD_BUTTON;
7361
7054
  const isCheckedRow = aiTable.selection().selectedRecords.has(row._id);
7362
- addRowLayout.init({
7055
+ addRecordLayout.init({
7363
7056
  x,
7364
7057
  y,
7365
7058
  rowIndex,
@@ -7374,7 +7067,7 @@ const createCells = (config) => {
7374
7067
  readonly: aiTable.context?.readonly?.(),
7375
7068
  frozenColumnCount
7376
7069
  });
7377
- addRowLayout.render({
7070
+ addRecordLayout.render({
7378
7071
  isHoverRow,
7379
7072
  isCheckedRow,
7380
7073
  isDisabled: maxRecords ? aiTable.records().length >= maxRecords : false
@@ -7386,7 +7079,7 @@ const createCells = (config) => {
7386
7079
  const cell = [recordId, fieldId];
7387
7080
  let background = getCellBackground(cell, isHover, targetName, aiTable);
7388
7081
  let indexBackground = getIndexCellBackground(cell, isHover, targetName, aiTable);
7389
- recordRowLayout.init({
7082
+ recordLayout.init({
7390
7083
  x,
7391
7084
  y,
7392
7085
  rowIndex,
@@ -7402,7 +7095,7 @@ const createCells = (config) => {
7402
7095
  frozenColumnCount,
7403
7096
  xIsScroll
7404
7097
  });
7405
- recordRowLayout.render({
7098
+ recordLayout.render({
7406
7099
  row,
7407
7100
  style: { fill: background },
7408
7101
  indexStyle: { fill: indexBackground },
@@ -7587,12 +7280,12 @@ const isHoverRecord = (isHover, targetName) => {
7587
7280
 
7588
7281
  class AITableIcon {
7589
7282
  constructor() {
7590
- this.config = input.required();
7283
+ this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
7591
7284
  this.koClick = output();
7592
7285
  this.groupConfig = computed(() => {
7593
7286
  const { x, y, listening } = this.config();
7594
7287
  return { x, y, listening };
7595
- });
7288
+ }, ...(ngDevMode ? [{ debugName: "groupConfig" }] : []));
7596
7289
  this.squareShapeConfig = computed(() => {
7597
7290
  const { name, backgroundWidth, backgroundHeight, size = DEFAULT_ICON_SIZE, strokeWidth = 1, background, cornerRadius, opacity } = this.config();
7598
7291
  return {
@@ -7604,7 +7297,7 @@ class AITableIcon {
7604
7297
  cornerRadius,
7605
7298
  opacity
7606
7299
  };
7607
- });
7300
+ }, ...(ngDevMode ? [{ debugName: "squareShapeConfig" }] : []));
7608
7301
  this.iconConfig = computed(() => {
7609
7302
  const { type, data, backgroundWidth, backgroundHeight, size = DEFAULT_ICON_SIZE, stroke, strokeWidth = 1, scaleX, scaleY, offsetX, offsetY, rotation, fill = Colors.gray600, transformsEnabled = 'position', disabled } = this.config();
7610
7303
  let pathData = data;
@@ -7637,17 +7330,17 @@ class AITableIcon {
7637
7330
  perfectDrawEnabled: false,
7638
7331
  listening: false
7639
7332
  };
7640
- });
7333
+ }, ...(ngDevMode ? [{ debugName: "iconConfig" }] : []));
7641
7334
  }
7642
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableIcon, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7643
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: AITableIcon, isStandalone: true, selector: "ai-table-icon", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { koClick: "koClick" }, ngImport: i0, template: `
7335
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableIcon, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7336
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.13", type: AITableIcon, isStandalone: true, selector: "ai-table-icon", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { koClick: "koClick" }, ngImport: i0, template: `
7644
7337
  <ko-group [config]="groupConfig()" (koClick)="koClick.emit($event)">
7645
7338
  <ko-rect [config]="squareShapeConfig()"></ko-rect>
7646
7339
  <ko-path [config]="iconConfig()"></ko-path>
7647
7340
  </ko-group>
7648
7341
  `, isInline: true, dependencies: [{ kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }, { kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7649
7342
  }
7650
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableIcon, decorators: [{
7343
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableIcon, decorators: [{
7651
7344
  type: Component,
7652
7345
  args: [{
7653
7346
  selector: 'ai-table-icon',
@@ -7660,17 +7353,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
7660
7353
  imports: [KoContainer, KoShape],
7661
7354
  changeDetection: ChangeDetectionStrategy.OnPush
7662
7355
  }]
7663
- }] });
7356
+ }], propDecorators: { config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: true }] }], koClick: [{ type: i0.Output, args: ["koClick"] }] } });
7664
7357
 
7665
7358
  class AITableAddField {
7666
7359
  constructor() {
7667
- this.config = input.required();
7360
+ this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
7668
7361
  this.btnWidth = AI_TABLE_FIELD_ADD_BUTTON_WIDTH;
7669
7362
  this.x = computed(() => {
7670
7363
  const lastColumnWidth = this.config().coordinate.getColumnWidth(this.config().columnStopIndex);
7671
7364
  const lastColumnOffset = this.config().coordinate.getColumnOffset(this.config().columnStopIndex);
7672
7365
  return lastColumnWidth + lastColumnOffset;
7673
- });
7366
+ }, ...(ngDevMode ? [{ debugName: "x" }] : []));
7674
7367
  this.rectConfig = computed(() => {
7675
7368
  const { pointPosition: { targetName }, readonly, maxFields, aiTable } = this.config();
7676
7369
  const fill = targetName === AI_TABLE_FIELD_ADD_BUTTON ? Colors.gray80 : Colors.white;
@@ -7695,7 +7388,7 @@ class AITableAddField {
7695
7388
  listening: true,
7696
7389
  fill
7697
7390
  };
7698
- });
7391
+ }, ...(ngDevMode ? [{ debugName: "rectConfig" }] : []));
7699
7392
  this.addIconConfig = computed(() => {
7700
7393
  const { readonly, maxFields, aiTable } = this.config();
7701
7394
  const offsetY = (AI_TABLE_FIELD_HEAD_HEIGHT - AI_TABLE_ICON_COMMON_SIZE) / 2;
@@ -7708,10 +7401,10 @@ class AITableAddField {
7708
7401
  visible: !readonly,
7709
7402
  disabled: maxFields ? aiTable.fields().length >= maxFields : false
7710
7403
  };
7711
- });
7404
+ }, ...(ngDevMode ? [{ debugName: "addIconConfig" }] : []));
7712
7405
  }
7713
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableAddField, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7714
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AITableAddField, isStandalone: true, selector: "ai-table-add-field", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
7406
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableAddField, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7407
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.13", type: AITableAddField, isStandalone: true, selector: "ai-table-add-field", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
7715
7408
  <ko-group [config]="{ x: x() }">
7716
7409
  <ko-group>
7717
7410
  <ko-rect [config]="rectConfig()"></ko-rect>
@@ -7724,7 +7417,7 @@ class AITableAddField {
7724
7417
  </ko-group>
7725
7418
  `, isInline: true, dependencies: [{ kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }, { kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }, { kind: "component", type: AITableIcon, selector: "ai-table-icon", inputs: ["config"], outputs: ["koClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7726
7419
  }
7727
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableAddField, decorators: [{
7420
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableAddField, decorators: [{
7728
7421
  type: Component,
7729
7422
  args: [{
7730
7423
  selector: 'ai-table-add-field',
@@ -7743,11 +7436,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
7743
7436
  imports: [KoContainer, KoShape, AITableIcon],
7744
7437
  changeDetection: ChangeDetectionStrategy.OnPush
7745
7438
  }]
7746
- }] });
7439
+ }], propDecorators: { config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: true }] }] } });
7747
7440
 
7748
7441
  class AITableCells {
7749
7442
  constructor() {
7750
- this.config = input.required();
7443
+ this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
7751
7444
  this.cellsShapeConfig = computed(() => {
7752
7445
  const { coordinate, columnStartIndex } = this.config();
7753
7446
  const { frozenColumnCount } = coordinate;
@@ -7760,12 +7453,12 @@ class AITableCells {
7760
7453
  columnStartIndex: Math.max(columnStartIndex, frozenColumnCount)
7761
7454
  })
7762
7455
  };
7763
- });
7456
+ }, ...(ngDevMode ? [{ debugName: "cellsShapeConfig" }] : []));
7764
7457
  }
7765
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableCells, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7766
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: AITableCells, isStandalone: true, selector: "ai-table-cells", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: ` <ko-shape [config]="cellsShapeConfig()"></ko-shape> `, isInline: true, dependencies: [{ kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7458
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableCells, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7459
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.13", type: AITableCells, isStandalone: true, selector: "ai-table-cells", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: ` <ko-shape [config]="cellsShapeConfig()"></ko-shape> `, isInline: true, dependencies: [{ kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7767
7460
  }
7768
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableCells, decorators: [{
7461
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableCells, decorators: [{
7769
7462
  type: Component,
7770
7463
  args: [{
7771
7464
  selector: 'ai-table-cells',
@@ -7773,11 +7466,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
7773
7466
  imports: [KoShape],
7774
7467
  changeDetection: ChangeDetectionStrategy.OnPush
7775
7468
  }]
7776
- }] });
7469
+ }], propDecorators: { config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: true }] }] } });
7777
7470
 
7778
7471
  class AITableFieldIcon {
7779
7472
  constructor() {
7780
- this.config = input.required();
7473
+ this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
7781
7474
  this.iconConfig = computed(() => {
7782
7475
  const { field, x, y, width, height, fill, path } = this.config();
7783
7476
  const data = getFieldIconPath(field) || path;
@@ -7790,12 +7483,12 @@ class AITableFieldIcon {
7790
7483
  data,
7791
7484
  fill
7792
7485
  };
7793
- });
7486
+ }, ...(ngDevMode ? [{ debugName: "iconConfig" }] : []));
7794
7487
  }
7795
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableFieldIcon, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7796
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: AITableFieldIcon, isStandalone: true, selector: "ai-table-field-icon", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: ` <ai-table-icon [config]="iconConfig()"></ai-table-icon> `, isInline: true, dependencies: [{ kind: "component", type: AITableIcon, selector: "ai-table-icon", inputs: ["config"], outputs: ["koClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7488
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableFieldIcon, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7489
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.13", type: AITableFieldIcon, isStandalone: true, selector: "ai-table-field-icon", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: ` <ai-table-icon [config]="iconConfig()"></ai-table-icon> `, isInline: true, dependencies: [{ kind: "component", type: AITableIcon, selector: "ai-table-icon", inputs: ["config"], outputs: ["koClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7797
7490
  }
7798
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableFieldIcon, decorators: [{
7491
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableFieldIcon, decorators: [{
7799
7492
  type: Component,
7800
7493
  args: [{
7801
7494
  selector: 'ai-table-field-icon',
@@ -7803,11 +7496,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
7803
7496
  imports: [AITableIcon],
7804
7497
  changeDetection: ChangeDetectionStrategy.OnPush
7805
7498
  }]
7806
- }] });
7499
+ }], propDecorators: { config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: true }] }] } });
7807
7500
 
7808
7501
  class AITableFieldHead {
7809
7502
  constructor() {
7810
- this.config = input.required();
7503
+ this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
7811
7504
  this.textOffset = AI_TABLE_CELL_PADDING + AI_TABLE_ICON_COMMON_SIZE + AI_TABLE_FIELD_HEAD_ICON_GAP_SIZE;
7812
7505
  this.textMeasure = TextMeasure();
7813
7506
  this.availableTextWidth = computed(() => {
@@ -7816,7 +7509,7 @@ class AITableFieldHead {
7816
7509
  (iconVisible
7817
7510
  ? 2 * (AI_TABLE_CELL_PADDING + AI_TABLE_ICON_COMMON_SIZE + AI_TABLE_FIELD_HEAD_ICON_GAP_SIZE)
7818
7511
  : 2 * AI_TABLE_CELL_PADDING + AI_TABLE_ICON_COMMON_SIZE + AI_TABLE_FIELD_HEAD_ICON_GAP_SIZE));
7819
- });
7512
+ }, ...(ngDevMode ? [{ debugName: "availableTextWidth" }] : []));
7820
7513
  this.textData = computed(() => {
7821
7514
  const fieldName = this.config().field.name.replace(/\r|\n/g, ' ');
7822
7515
  this.textMeasure.setFont({ fontSize: DEFAULT_FONT_SIZE });
@@ -7826,13 +7519,13 @@ class AITableFieldHead {
7826
7519
  height,
7827
7520
  isOverflow
7828
7521
  };
7829
- });
7522
+ }, ...(ngDevMode ? [{ debugName: "textData" }] : []));
7830
7523
  this.groupConfig = computed(() => {
7831
7524
  return {
7832
7525
  x: this.config().x,
7833
7526
  y: this.config().y
7834
7527
  };
7835
- });
7528
+ }, ...(ngDevMode ? [{ debugName: "groupConfig" }] : []));
7836
7529
  this.bgConfig = computed(() => {
7837
7530
  const { field, width, height, stroke, isSelected, iconVisible } = this.config();
7838
7531
  return {
@@ -7849,7 +7542,7 @@ class AITableFieldHead {
7849
7542
  strokeWidth: 1,
7850
7543
  opacity: 1
7851
7544
  };
7852
- });
7545
+ }, ...(ngDevMode ? [{ debugName: "bgConfig" }] : []));
7853
7546
  this.fieldIconConfig = computed(() => {
7854
7547
  const { field, height } = this.config();
7855
7548
  return {
@@ -7861,7 +7554,7 @@ class AITableFieldHead {
7861
7554
  fill: Colors.gray600,
7862
7555
  path: IconPathMap[field.icon]
7863
7556
  };
7864
- });
7557
+ }, ...(ngDevMode ? [{ debugName: "fieldIconConfig" }] : []));
7865
7558
  this.textConfig = computed(() => {
7866
7559
  const { field, height } = this.config();
7867
7560
  return {
@@ -7872,7 +7565,7 @@ class AITableFieldHead {
7872
7565
  text: field.name,
7873
7566
  lineHeight: AI_TABLE_TEXT_LINE_HEIGHT
7874
7567
  };
7875
- });
7568
+ }, ...(ngDevMode ? [{ debugName: "textConfig" }] : []));
7876
7569
  this.moreIconConfig = computed(() => {
7877
7570
  const { field, width, height, isHoverIcon, isSelected } = this.config();
7878
7571
  const commonIconOffsetY = (height - AI_TABLE_ACTION_COMMON_SIZE) / 2;
@@ -7890,7 +7583,7 @@ class AITableFieldHead {
7890
7583
  backgroundHeight: AI_TABLE_ACTION_COMMON_SIZE,
7891
7584
  cornerRadius: 4
7892
7585
  };
7893
- });
7586
+ }, ...(ngDevMode ? [{ debugName: "moreIconConfig" }] : []));
7894
7587
  this.fieldOpacityLineConfig = computed(() => {
7895
7588
  const { field, width, height } = this.config();
7896
7589
  return {
@@ -7904,10 +7597,10 @@ class AITableFieldHead {
7904
7597
  stroke: Colors.transparent,
7905
7598
  strokeWidth: 6
7906
7599
  };
7907
- });
7600
+ }, ...(ngDevMode ? [{ debugName: "fieldOpacityLineConfig" }] : []));
7908
7601
  }
7909
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableFieldHead, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7910
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AITableFieldHead, isStandalone: true, selector: "ai-table-field-head", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
7602
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableFieldHead, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7603
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.13", type: AITableFieldHead, isStandalone: true, selector: "ai-table-field-head", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
7911
7604
  <ko-group [config]="groupConfig()">
7912
7605
  <ko-rect [config]="bgConfig()"></ko-rect>
7913
7606
  <ko-group>
@@ -7921,7 +7614,7 @@ class AITableFieldHead {
7921
7614
  </ko-group>
7922
7615
  `, isInline: true, dependencies: [{ kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }, { kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }, { kind: "component", type: AITableFieldIcon, selector: "ai-table-field-icon", inputs: ["config"] }, { kind: "component", type: AITableTextComponent, selector: "ai-table-text", inputs: ["config"], outputs: ["koClick", "koMouseMove"] }, { kind: "component", type: AITableIcon, selector: "ai-table-icon", inputs: ["config"], outputs: ["koClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7923
7616
  }
7924
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableFieldHead, decorators: [{
7617
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableFieldHead, decorators: [{
7925
7618
  type: Component,
7926
7619
  args: [{
7927
7620
  selector: 'ai-table-field-head',
@@ -7941,11 +7634,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
7941
7634
  imports: [KoContainer, KoShape, AITableFieldIcon, AITableTextComponent, AITableIcon],
7942
7635
  changeDetection: ChangeDetectionStrategy.OnPush
7943
7636
  }]
7944
- }] });
7637
+ }], propDecorators: { config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: true }] }] } });
7945
7638
 
7946
7639
  class AITableFrozenCells {
7947
7640
  constructor() {
7948
- this.config = input.required();
7641
+ this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
7949
7642
  this.frozenCellsConfig = computed(() => {
7950
7643
  const { coordinate } = this.config();
7951
7644
  const { frozenColumnCount } = coordinate;
@@ -7959,12 +7652,12 @@ class AITableFrozenCells {
7959
7652
  columnStopIndex: frozenColumnCount - 1
7960
7653
  })
7961
7654
  };
7962
- });
7655
+ }, ...(ngDevMode ? [{ debugName: "frozenCellsConfig" }] : []));
7963
7656
  }
7964
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableFrozenCells, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7965
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: AITableFrozenCells, isStandalone: true, selector: "ai-table-frozen-cells", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `<ko-shape [config]="frozenCellsConfig()"></ko-shape>`, isInline: true, dependencies: [{ kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7657
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableFrozenCells, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7658
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.13", type: AITableFrozenCells, isStandalone: true, selector: "ai-table-frozen-cells", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `<ko-shape [config]="frozenCellsConfig()"></ko-shape>`, isInline: true, dependencies: [{ kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7966
7659
  }
7967
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableFrozenCells, decorators: [{
7660
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableFrozenCells, decorators: [{
7968
7661
  type: Component,
7969
7662
  args: [{
7970
7663
  selector: 'ai-table-frozen-cells',
@@ -7972,7 +7665,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
7972
7665
  imports: [KoShape],
7973
7666
  changeDetection: ChangeDetectionStrategy.OnPush
7974
7667
  }]
7975
- }] });
7668
+ }], propDecorators: { config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: true }] }] } });
7976
7669
 
7977
7670
  const createColumnHeads = (config) => {
7978
7671
  const { coordinate, columnStartIndex, columnStopIndex, pointPosition, aiTable } = config;
@@ -8026,30 +7719,30 @@ const createColumnHeads = (config) => {
8026
7719
 
8027
7720
  class AITableFrozenColumnHeads {
8028
7721
  constructor() {
8029
- this.config = input.required();
7722
+ this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
8030
7723
  this.textMeasure = TextMeasure();
8031
7724
  this.coordinate = computed(() => {
8032
7725
  const config = this.config();
8033
7726
  if (!config)
8034
7727
  return null;
8035
7728
  return config.coordinate;
8036
- });
7729
+ }, ...(ngDevMode ? [{ debugName: "coordinate" }] : []));
8037
7730
  this.hiddenIndexColumn = computed(() => {
8038
7731
  const context = this.context();
8039
7732
  if (!context)
8040
7733
  return false;
8041
7734
  return context?.aiFieldConfig()?.hiddenIndexColumn;
8042
- });
7735
+ }, ...(ngDevMode ? [{ debugName: "hiddenIndexColumn" }] : []));
8043
7736
  this.context = computed(() => {
8044
7737
  const config = this.config();
8045
7738
  if (!config)
8046
7739
  return null;
8047
7740
  return config?.aiTable.context;
8048
- });
7741
+ }, ...(ngDevMode ? [{ debugName: "context" }] : []));
8049
7742
  this.readonly = computed(() => {
8050
7743
  const context = this.context();
8051
7744
  return !!context?.readonly?.();
8052
- });
7745
+ }, ...(ngDevMode ? [{ debugName: "readonly" }] : []));
8053
7746
  this.isChecked = computed(() => {
8054
7747
  const config = this.config();
8055
7748
  if (!config)
@@ -8061,14 +7754,14 @@ class AITableFrozenColumnHeads {
8061
7754
  ? AITableSelectAllState.none
8062
7755
  : AITableSelectAllState.partial;
8063
7756
  return selectedAllState === AITableSelectAllState.all;
8064
- });
7757
+ }, ...(ngDevMode ? [{ debugName: "isChecked" }] : []));
8065
7758
  this.fieldHeadHeight = computed(() => {
8066
7759
  const coord = this.coordinate();
8067
7760
  if (!coord)
8068
7761
  return 0;
8069
7762
  // return coord.rowInitSize;
8070
7763
  return AI_TABLE_FIELD_HEAD_HEIGHT;
8071
- });
7764
+ }, ...(ngDevMode ? [{ debugName: "fieldHeadHeight" }] : []));
8072
7765
  this.headConfigs = computed(() => {
8073
7766
  const coord = this.coordinate();
8074
7767
  if (!coord)
@@ -8078,7 +7771,7 @@ class AITableFrozenColumnHeads {
8078
7771
  columnStartIndex: 0,
8079
7772
  columnStopIndex: coord.frozenColumnCount - 1
8080
7773
  });
8081
- });
7774
+ }, ...(ngDevMode ? [{ debugName: "headConfigs" }] : []));
8082
7775
  this.dragHeadBgConfig = computed(() => {
8083
7776
  return {
8084
7777
  x: AI_TABLE_OFFSET,
@@ -8088,7 +7781,7 @@ class AITableFrozenColumnHeads {
8088
7781
  fill: Colors.white,
8089
7782
  listening: false
8090
7783
  };
8091
- });
7784
+ }, ...(ngDevMode ? [{ debugName: "dragHeadBgConfig" }] : []));
8092
7785
  this.numberHeadBgConfig = computed(() => {
8093
7786
  const ctx = this.context();
8094
7787
  if (!ctx)
@@ -8101,7 +7794,7 @@ class AITableFrozenColumnHeads {
8101
7794
  fill: Colors.white,
8102
7795
  listening: false
8103
7796
  };
8104
- });
7797
+ }, ...(ngDevMode ? [{ debugName: "numberHeadBgConfig" }] : []));
8105
7798
  this.topLineConfig = computed(() => {
8106
7799
  const ctx = this.context();
8107
7800
  if (!ctx)
@@ -8114,7 +7807,7 @@ class AITableFrozenColumnHeads {
8114
7807
  strokeWidth: 1,
8115
7808
  listening: false
8116
7809
  };
8117
- });
7810
+ }, ...(ngDevMode ? [{ debugName: "topLineConfig" }] : []));
8118
7811
  this.bottomLineConfig = computed(() => {
8119
7812
  const ctx = this.context();
8120
7813
  if (!ctx)
@@ -8127,7 +7820,7 @@ class AITableFrozenColumnHeads {
8127
7820
  strokeWidth: 1,
8128
7821
  listening: false
8129
7822
  };
8130
- });
7823
+ }, ...(ngDevMode ? [{ debugName: "bottomLineConfig" }] : []));
8131
7824
  this.iconConfig = computed(() => {
8132
7825
  return {
8133
7826
  name: AI_TABLE_FIELD_HEAD_SELECT_CHECKBOX,
@@ -8138,7 +7831,7 @@ class AITableFrozenColumnHeads {
8138
7831
  ? Colors.primary
8139
7832
  : Colors.gray300
8140
7833
  };
8141
- });
7834
+ }, ...(ngDevMode ? [{ debugName: "iconConfig" }] : []));
8142
7835
  this.textConfig = computed(() => {
8143
7836
  const text = AI_TABLE_INDEX_FIELD_TEXT;
8144
7837
  const lineHeight = AI_TABLE_TEXT_LINE_HEIGHT;
@@ -8151,7 +7844,7 @@ class AITableFrozenColumnHeads {
8151
7844
  text,
8152
7845
  lineHeight
8153
7846
  };
8154
- });
7847
+ }, ...(ngDevMode ? [{ debugName: "textConfig" }] : []));
8155
7848
  this.headBgConfig = computed(() => {
8156
7849
  const coord = this.coordinate();
8157
7850
  const ctx = this.context();
@@ -8168,7 +7861,7 @@ class AITableFrozenColumnHeads {
8168
7861
  listening: false,
8169
7862
  zIndex: 10
8170
7863
  };
8171
- });
7864
+ }, ...(ngDevMode ? [{ debugName: "headBgConfig" }] : []));
8172
7865
  this.cellLinesConfig = computed(() => {
8173
7866
  const coord = this.coordinate();
8174
7867
  const ctx = this.context();
@@ -8203,10 +7896,10 @@ class AITableFrozenColumnHeads {
8203
7896
  zIndex: 10
8204
7897
  }
8205
7898
  ];
8206
- });
7899
+ }, ...(ngDevMode ? [{ debugName: "cellLinesConfig" }] : []));
8207
7900
  }
8208
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableFrozenColumnHeads, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8209
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AITableFrozenColumnHeads, isStandalone: true, selector: "ai-table-frozen-column-heads", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
7901
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableFrozenColumnHeads, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7902
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.13", type: AITableFrozenColumnHeads, isStandalone: true, selector: "ai-table-frozen-column-heads", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
8210
7903
  <ko-rect [config]="headBgConfig()"></ko-rect>
8211
7904
  @if (!hiddenIndexColumn()) {
8212
7905
  <ko-rect [config]="dragHeadBgConfig()"></ko-rect>
@@ -8230,7 +7923,7 @@ class AITableFrozenColumnHeads {
8230
7923
  }
8231
7924
  `, isInline: true, dependencies: [{ kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }, { kind: "component", type: AITableFieldHead, selector: "ai-table-field-head", inputs: ["config"] }, { kind: "component", type: AITableIcon, selector: "ai-table-icon", inputs: ["config"], outputs: ["koClick"] }, { kind: "component", type: AITableTextComponent, selector: "ai-table-text", inputs: ["config"], outputs: ["koClick", "koMouseMove"] }, { kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8232
7925
  }
8233
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableFrozenColumnHeads, decorators: [{
7926
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableFrozenColumnHeads, decorators: [{
8234
7927
  type: Component,
8235
7928
  args: [{
8236
7929
  selector: 'ai-table-frozen-column-heads',
@@ -8260,11 +7953,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
8260
7953
  imports: [KoShape, AITableFieldHead, AITableIcon, AITableTextComponent, KoContainer],
8261
7954
  changeDetection: ChangeDetectionStrategy.OnPush
8262
7955
  }]
8263
- }] });
7956
+ }], propDecorators: { config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: true }] }] } });
8264
7957
 
8265
7958
  class AITableFrozenPlaceholderCells {
8266
7959
  constructor() {
8267
- this.config = input.required();
7960
+ this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
8268
7961
  this.frozenPlaceHolderCellsConfig = computed(() => {
8269
7962
  const { coordinate } = this.config();
8270
7963
  return getPlaceHolderCellsConfigs({
@@ -8272,16 +7965,16 @@ class AITableFrozenPlaceholderCells {
8272
7965
  columnStartIndex: 0,
8273
7966
  columnStopIndex: coordinate.frozenColumnCount - 1
8274
7967
  });
8275
- });
7968
+ }, ...(ngDevMode ? [{ debugName: "frozenPlaceHolderCellsConfig" }] : []));
8276
7969
  }
8277
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableFrozenPlaceholderCells, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8278
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AITableFrozenPlaceholderCells, isStandalone: true, selector: "ai-table-frozen-placeholder-cells", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
7970
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableFrozenPlaceholderCells, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7971
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.13", type: AITableFrozenPlaceholderCells, isStandalone: true, selector: "ai-table-frozen-placeholder-cells", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
8279
7972
  @for (item of frozenPlaceHolderCellsConfig(); track $index) {
8280
7973
  <ko-rect [config]="item"></ko-rect>
8281
7974
  }
8282
7975
  `, isInline: true, dependencies: [{ kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8283
7976
  }
8284
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableFrozenPlaceholderCells, decorators: [{
7977
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableFrozenPlaceholderCells, decorators: [{
8285
7978
  type: Component,
8286
7979
  args: [{
8287
7980
  selector: 'ai-table-frozen-placeholder-cells',
@@ -8293,11 +7986,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
8293
7986
  imports: [KoShape],
8294
7987
  changeDetection: ChangeDetectionStrategy.OnPush
8295
7988
  }]
8296
- }] });
7989
+ }], propDecorators: { config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: true }] }] } });
8297
7990
 
8298
7991
  class AITableColumnHeads {
8299
7992
  constructor() {
8300
- this.config = input.required();
7993
+ this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
8301
7994
  this.headConfigs = computed(() => {
8302
7995
  const { coordinate, columnStartIndex } = this.config();
8303
7996
  const { frozenColumnCount } = coordinate;
@@ -8305,16 +7998,16 @@ class AITableColumnHeads {
8305
7998
  ...this.config(),
8306
7999
  columnStartIndex: Math.max(columnStartIndex, frozenColumnCount)
8307
8000
  });
8308
- });
8001
+ }, ...(ngDevMode ? [{ debugName: "headConfigs" }] : []));
8309
8002
  }
8310
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableColumnHeads, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8311
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AITableColumnHeads, isStandalone: true, selector: "ai-table-column-heads", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
8003
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableColumnHeads, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8004
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.13", type: AITableColumnHeads, isStandalone: true, selector: "ai-table-column-heads", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
8312
8005
  @for (config of headConfigs(); track $index) {
8313
8006
  <ai-table-field-head [config]="config"></ai-table-field-head>
8314
8007
  }
8315
8008
  `, isInline: true, dependencies: [{ kind: "component", type: AITableFieldHead, selector: "ai-table-field-head", inputs: ["config"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8316
8009
  }
8317
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableColumnHeads, decorators: [{
8010
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableColumnHeads, decorators: [{
8318
8011
  type: Component,
8319
8012
  args: [{
8320
8013
  selector: 'ai-table-column-heads',
@@ -8326,23 +8019,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
8326
8019
  imports: [AITableFieldHead],
8327
8020
  changeDetection: ChangeDetectionStrategy.OnPush
8328
8021
  }]
8329
- }] });
8022
+ }], propDecorators: { config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: true }] }] } });
8330
8023
 
8331
8024
  class AITableHoverRowHeads {
8332
8025
  constructor() {
8333
- this.config = input.required();
8026
+ this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
8334
8027
  this.pointPosition = computed(() => {
8335
8028
  return this.config().aiTable.context.pointPosition();
8336
- });
8029
+ }, ...(ngDevMode ? [{ debugName: "pointPosition" }] : []));
8337
8030
  this.headConfigs = computed(() => {
8338
8031
  return this.createHoverRowHeads(this.pointPosition());
8339
- });
8032
+ }, ...(ngDevMode ? [{ debugName: "headConfigs" }] : []));
8340
8033
  this.readonly = computed(() => {
8341
8034
  return this.config().readonly;
8342
- });
8035
+ }, ...(ngDevMode ? [{ debugName: "readonly" }] : []));
8343
8036
  this.hiddenRowDrag = computed(() => {
8344
8037
  return this.config()?.aiTable.context?.aiFieldConfig()?.hiddenRowDrag;
8345
- });
8038
+ }, ...(ngDevMode ? [{ debugName: "hiddenRowDrag" }] : []));
8346
8039
  this.createHoverRowHeads = (pointPosition) => {
8347
8040
  const { coordinate, rowStartIndex, rowStopIndex, aiTable } = this.config();
8348
8041
  const context = aiTable.context;
@@ -8410,8 +8103,8 @@ class AITableHoverRowHeads {
8410
8103
  return headConfigs;
8411
8104
  };
8412
8105
  }
8413
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableHoverRowHeads, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8414
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AITableHoverRowHeads, isStandalone: true, selector: "ai-table-hover-row-heads", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
8106
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableHoverRowHeads, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8107
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.13", type: AITableHoverRowHeads, isStandalone: true, selector: "ai-table-hover-row-heads", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
8415
8108
  @for (config of headConfigs(); track config.recordId) {
8416
8109
  <ko-group [config]="{ x: 0, y: config.y, name: 'hover-heads' }">
8417
8110
  @if (config.bgConfig) {
@@ -8427,7 +8120,7 @@ class AITableHoverRowHeads {
8427
8120
  }
8428
8121
  `, isInline: true, dependencies: [{ kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }, { kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }, { kind: "component", type: AITableIcon, selector: "ai-table-icon", inputs: ["config"], outputs: ["koClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8429
8122
  }
8430
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableHoverRowHeads, decorators: [{
8123
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableHoverRowHeads, decorators: [{
8431
8124
  type: Component,
8432
8125
  args: [{
8433
8126
  selector: 'ai-table-hover-row-heads',
@@ -8449,15 +8142,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
8449
8142
  imports: [KoContainer, KoShape, AITableIcon],
8450
8143
  changeDetection: ChangeDetectionStrategy.OnPush
8451
8144
  }]
8452
- }] });
8145
+ }], propDecorators: { config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: true }] }] } });
8453
8146
 
8454
8147
  class AITableOtherRows {
8455
8148
  constructor() {
8456
- this.config = input.required();
8149
+ this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
8457
8150
  this.AITableRowType = AITableRowType;
8458
8151
  this.otherConfigs = computed(() => {
8459
8152
  return this.createOtherRows(this.config());
8460
- });
8153
+ }, ...(ngDevMode ? [{ debugName: "otherConfigs" }] : []));
8461
8154
  this.createOtherRows = (config) => {
8462
8155
  const { coordinate, rowStartIndex, rowStopIndex, aiTable, maxRecords } = config;
8463
8156
  const otherRowConfigs = [];
@@ -8490,8 +8183,8 @@ class AITableOtherRows {
8490
8183
  return otherRowConfigs;
8491
8184
  };
8492
8185
  }
8493
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableOtherRows, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8494
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AITableOtherRows, isStandalone: true, selector: "ai-table-other-rows", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
8186
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableOtherRows, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8187
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.13", type: AITableOtherRows, isStandalone: true, selector: "ai-table-other-rows", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
8495
8188
  @for (config of otherConfigs(); track $index) {
8496
8189
  @switch (config.type) {
8497
8190
  @case (AITableRowType.add) {
@@ -8501,7 +8194,7 @@ class AITableOtherRows {
8501
8194
  }
8502
8195
  `, isInline: true, dependencies: [{ kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8503
8196
  }
8504
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableOtherRows, decorators: [{
8197
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableOtherRows, decorators: [{
8505
8198
  type: Component,
8506
8199
  args: [{
8507
8200
  selector: 'ai-table-other-rows',
@@ -8517,23 +8210,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
8517
8210
  imports: [KoShape],
8518
8211
  changeDetection: ChangeDetectionStrategy.OnPush
8519
8212
  }]
8520
- }] });
8213
+ }], propDecorators: { config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: true }] }] } });
8521
8214
 
8522
8215
  class AITablePlaceholderCells {
8523
8216
  constructor() {
8524
- this.config = input.required();
8217
+ this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
8525
8218
  this.frozenPlaceHolderCellsConfig = computed(() => {
8526
8219
  return getPlaceHolderCellsConfigs(this.config());
8527
- });
8220
+ }, ...(ngDevMode ? [{ debugName: "frozenPlaceHolderCellsConfig" }] : []));
8528
8221
  }
8529
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITablePlaceholderCells, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8530
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AITablePlaceholderCells, isStandalone: true, selector: "ai-table-placeholder-cells", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
8222
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITablePlaceholderCells, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8223
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.13", type: AITablePlaceholderCells, isStandalone: true, selector: "ai-table-placeholder-cells", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
8531
8224
  @for (item of frozenPlaceHolderCellsConfig(); track $index) {
8532
8225
  <ko-rect [config]="item"></ko-rect>
8533
8226
  }
8534
8227
  `, isInline: true, dependencies: [{ kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8535
8228
  }
8536
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITablePlaceholderCells, decorators: [{
8229
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITablePlaceholderCells, decorators: [{
8537
8230
  type: Component,
8538
8231
  args: [{
8539
8232
  selector: 'ai-table-placeholder-cells',
@@ -8545,11 +8238,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
8545
8238
  imports: [KoShape],
8546
8239
  changeDetection: ChangeDetectionStrategy.OnPush
8547
8240
  }]
8548
- }] });
8241
+ }], propDecorators: { config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: true }] }] } });
8549
8242
 
8550
8243
  class AITableExpandRecord {
8551
8244
  constructor() {
8552
- this.config = input.required();
8245
+ this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
8553
8246
  this.shouldShowIcon = computed(() => {
8554
8247
  const { aiTable, rowStartIndex, rowStopIndex } = this.config();
8555
8248
  const context = aiTable.context;
@@ -8558,7 +8251,7 @@ class AITableExpandRecord {
8558
8251
  const { rowIndex: pointRowIndex } = context.pointPosition();
8559
8252
  const row = context.linearRows()[pointRowIndex];
8560
8253
  return pointRowIndex >= rowStartIndex && pointRowIndex <= rowStopIndex && row && row.type === AITableRowType.record;
8561
- });
8254
+ }, ...(ngDevMode ? [{ debugName: "shouldShowIcon" }] : []));
8562
8255
  this.expandIconConfig = computed(() => {
8563
8256
  const { aiTable, coordinate } = this.config();
8564
8257
  const context = aiTable.context;
@@ -8585,10 +8278,10 @@ class AITableExpandRecord {
8585
8278
  })
8586
8279
  : undefined
8587
8280
  };
8588
- });
8281
+ }, ...(ngDevMode ? [{ debugName: "expandIconConfig" }] : []));
8589
8282
  }
8590
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableExpandRecord, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8591
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AITableExpandRecord, isStandalone: true, selector: "ai-table-expand-record", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
8283
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableExpandRecord, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8284
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.13", type: AITableExpandRecord, isStandalone: true, selector: "ai-table-expand-record", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
8592
8285
  <ko-group>
8593
8286
  @if (shouldShowIcon()) {
8594
8287
  <ai-table-icon [config]="expandIconConfig()"></ai-table-icon>
@@ -8596,7 +8289,7 @@ class AITableExpandRecord {
8596
8289
  </ko-group>
8597
8290
  `, isInline: true, dependencies: [{ kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }, { kind: "component", type: AITableIcon, selector: "ai-table-icon", inputs: ["config"], outputs: ["koClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8598
8291
  }
8599
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableExpandRecord, decorators: [{
8292
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableExpandRecord, decorators: [{
8600
8293
  type: Component,
8601
8294
  args: [{
8602
8295
  selector: 'ai-table-expand-record',
@@ -8610,12 +8303,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
8610
8303
  imports: [KoContainer, AITableIcon],
8611
8304
  changeDetection: ChangeDetectionStrategy.OnPush
8612
8305
  }]
8613
- }] });
8306
+ }], propDecorators: { config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: true }] }] } });
8614
8307
 
8615
8308
  class AITableBackground {
8616
8309
  constructor() {
8617
- this.config = input.required();
8618
- this.isActive = input(false);
8310
+ this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
8311
+ this.isActive = input(false, ...(ngDevMode ? [{ debugName: "isActive" }] : []));
8619
8312
  this.koClick = output();
8620
8313
  this.hover = output();
8621
8314
  this.koMouseenter = output();
@@ -8623,14 +8316,14 @@ class AITableBackground {
8623
8316
  this.groupConfig = computed(() => {
8624
8317
  const { x, y } = this.config();
8625
8318
  return { x, y, listening: false };
8626
- });
8627
- this.isHover = model(false);
8319
+ }, ...(ngDevMode ? [{ debugName: "groupConfig" }] : []));
8320
+ this.isHover = model(false, ...(ngDevMode ? [{ debugName: "isHover" }] : []));
8628
8321
  this.isShowSpecialBorderConfig = computed(() => {
8629
8322
  const { borders } = this.config();
8630
8323
  const stroke = this.stroke();
8631
8324
  const strokeWidth = this.strokeWidth();
8632
8325
  return borders && stroke && strokeWidth && ___default.some(borders, (item) => !item) && ___default.some(borders, (item) => !!item);
8633
- });
8326
+ }, ...(ngDevMode ? [{ debugName: "isShowSpecialBorderConfig" }] : []));
8634
8327
  this.borderLinesConfig = computed(() => {
8635
8328
  const { borders, height, width } = this.config();
8636
8329
  const stroke = this.stroke();
@@ -8678,21 +8371,21 @@ class AITableBackground {
8678
8371
  });
8679
8372
  }
8680
8373
  return result;
8681
- });
8374
+ }, ...(ngDevMode ? [{ debugName: "borderLinesConfig" }] : []));
8682
8375
  this.stroke = computed(() => {
8683
8376
  const { stroke, hoverStroke } = this.config();
8684
8377
  const active = this.isHover() || this.isActive();
8685
8378
  return active ? hoverStroke || stroke : stroke;
8686
- });
8379
+ }, ...(ngDevMode ? [{ debugName: "stroke" }] : []));
8687
8380
  this.strokeWidth = computed(() => {
8688
8381
  const { strokeWidth, hoverStrokeWidth } = this.config();
8689
8382
  const active = this.isHover() || this.isActive();
8690
8383
  return active ? hoverStrokeWidth || strokeWidth : strokeWidth;
8691
- });
8384
+ }, ...(ngDevMode ? [{ debugName: "strokeWidth" }] : []));
8692
8385
  this.containerConfig = computed(() => {
8693
8386
  const { x, y } = this.config();
8694
8387
  return { x, y };
8695
- });
8388
+ }, ...(ngDevMode ? [{ debugName: "containerConfig" }] : []));
8696
8389
  this.bgConfig = computed(() => {
8697
8390
  const { name, width, height, fill = Colors.transparent, opacity, hoverFill, hoverOpacity, listening, borders } = this.config();
8698
8391
  const [top, right, bottom, left] = borders || [false, false, false, false];
@@ -8713,7 +8406,7 @@ class AITableBackground {
8713
8406
  result.strokeWidth = this.strokeWidth();
8714
8407
  }
8715
8408
  return result;
8716
- });
8409
+ }, ...(ngDevMode ? [{ debugName: "bgConfig" }] : []));
8717
8410
  }
8718
8411
  onClick(e) {
8719
8412
  this.koClick.emit(e);
@@ -8735,8 +8428,8 @@ class AITableBackground {
8735
8428
  this.koMouseleave.emit(e);
8736
8429
  this.hover.emit(this.isHover());
8737
8430
  }
8738
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableBackground, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8739
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AITableBackground, isStandalone: true, selector: "ai-table-background", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, isActive: { classPropertyName: "isActive", publicName: "isActive", isSignal: true, isRequired: false, transformFunction: null }, isHover: { classPropertyName: "isHover", publicName: "isHover", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { koClick: "koClick", hover: "hover", koMouseenter: "koMouseenter", koMouseleave: "koMouseleave", isHover: "isHoverChange" }, ngImport: i0, template: `
8431
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableBackground, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8432
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.13", type: AITableBackground, isStandalone: true, selector: "ai-table-background", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, isActive: { classPropertyName: "isActive", publicName: "isActive", isSignal: true, isRequired: false, transformFunction: null }, isHover: { classPropertyName: "isHover", publicName: "isHover", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { koClick: "koClick", hover: "hover", koMouseenter: "koMouseenter", koMouseleave: "koMouseleave", isHover: "isHoverChange" }, ngImport: i0, template: `
8740
8433
  <ko-group [config]="containerConfig()">
8741
8434
  <ko-group>
8742
8435
  <ko-rect
@@ -8755,7 +8448,7 @@ class AITableBackground {
8755
8448
  </ko-group>
8756
8449
  `, isInline: true, dependencies: [{ kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }, { kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8757
8450
  }
8758
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableBackground, decorators: [{
8451
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableBackground, decorators: [{
8759
8452
  type: Component,
8760
8453
  args: [{
8761
8454
  selector: 'ai-table-background',
@@ -8780,11 +8473,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
8780
8473
  imports: [KoShape, KoContainer],
8781
8474
  changeDetection: ChangeDetectionStrategy.OnPush
8782
8475
  }]
8783
- }] });
8476
+ }], propDecorators: { config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: true }] }], isActive: [{ type: i0.Input, args: [{ isSignal: true, alias: "isActive", required: false }] }], koClick: [{ type: i0.Output, args: ["koClick"] }], hover: [{ type: i0.Output, args: ["hover"] }], koMouseenter: [{ type: i0.Output, args: ["koMouseenter"] }], koMouseleave: [{ type: i0.Output, args: ["koMouseleave"] }], isHover: [{ type: i0.Input, args: [{ isSignal: true, alias: "isHover", required: false }] }, { type: i0.Output, args: ["isHoverChange"] }] } });
8784
8477
 
8785
8478
  class AITableShadow {
8786
8479
  constructor() {
8787
- this.config = input.required();
8480
+ this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
8788
8481
  this.shadowConfig = computed(() => {
8789
8482
  const { visible, x, y, width = AI_TABLE_SHADOW_DEFAULT_WIDTH, height } = this.config();
8790
8483
  return {
@@ -8797,12 +8490,12 @@ class AITableShadow {
8797
8490
  fillLinearGradientEndPoint: { x: width, y: 0 },
8798
8491
  fillLinearGradientColorStops: [0, 'rgba(0,0,0,0.05)', 1, Colors.transparent]
8799
8492
  };
8800
- });
8493
+ }, ...(ngDevMode ? [{ debugName: "shadowConfig" }] : []));
8801
8494
  }
8802
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableShadow, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8803
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: AITableShadow, isStandalone: true, selector: "ai-table-shadow", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `<ko-rect [config]="shadowConfig()"></ko-rect>`, isInline: true, dependencies: [{ kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8495
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableShadow, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8496
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.13", type: AITableShadow, isStandalone: true, selector: "ai-table-shadow", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `<ko-rect [config]="shadowConfig()"></ko-rect>`, isInline: true, dependencies: [{ kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8804
8497
  }
8805
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableShadow, decorators: [{
8498
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableShadow, decorators: [{
8806
8499
  type: Component,
8807
8500
  args: [{
8808
8501
  selector: 'ai-table-shadow',
@@ -8810,20 +8503,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
8810
8503
  imports: [KoShape],
8811
8504
  changeDetection: ChangeDetectionStrategy.OnPush
8812
8505
  }]
8813
- }] });
8506
+ }], propDecorators: { config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: true }] }] } });
8814
8507
 
8815
8508
  class AITableScrollableGroup {
8816
8509
  constructor() {
8817
- this.config = input.required();
8818
- this.contentTemplate = input.required();
8819
- this.parentContainer = input();
8510
+ this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
8511
+ this.contentTemplate = input.required(...(ngDevMode ? [{ debugName: "contentTemplate" }] : []));
8512
+ this.parentContainer = input(...(ngDevMode ? [undefined, { debugName: "parentContainer" }] : []));
8820
8513
  this.scrollPosition = output();
8821
- this.displayScrollbarTime = signal(null);
8822
- this.hiddenScrollbar = signal(true);
8823
- this.isHoverScrollbar = signal(false);
8514
+ this.displayScrollbarTime = signal(null, ...(ngDevMode ? [{ debugName: "displayScrollbarTime" }] : []));
8515
+ this.hiddenScrollbar = signal(true, ...(ngDevMode ? [{ debugName: "hiddenScrollbar" }] : []));
8516
+ this.isHoverScrollbar = signal(false, ...(ngDevMode ? [{ debugName: "isHoverScrollbar" }] : []));
8824
8517
  // 滚动位置信号
8825
- this.scrollX = signal(0);
8826
- this.scrollY = signal(0);
8518
+ this.scrollX = signal(0, ...(ngDevMode ? [{ debugName: "scrollX" }] : []));
8519
+ this.scrollY = signal(0, ...(ngDevMode ? [{ debugName: "scrollY" }] : []));
8827
8520
  // 容器配置
8828
8521
  this.containerConfig = computed(() => {
8829
8522
  const { x = 0, y = 0, width, height } = this.config();
@@ -8840,7 +8533,7 @@ class AITableScrollableGroup {
8840
8533
  clipHeight: height,
8841
8534
  name: 'scrollable-group'
8842
8535
  };
8843
- });
8536
+ }, ...(ngDevMode ? [{ debugName: "containerConfig" }] : []));
8844
8537
  this.bgConfig = computed(() => {
8845
8538
  const { x = 0, y = 0, width, height, bgName } = this.config();
8846
8539
  const config = {
@@ -8855,7 +8548,7 @@ class AITableScrollableGroup {
8855
8548
  config.name = bgName;
8856
8549
  }
8857
8550
  return config;
8858
- });
8551
+ }, ...(ngDevMode ? [{ debugName: "bgConfig" }] : []));
8859
8552
  // 内容区域配置
8860
8553
  this.contentConfig = computed(() => {
8861
8554
  if (this.config().contentNotScrollbar) {
@@ -8868,17 +8561,17 @@ class AITableScrollableGroup {
8868
8561
  offsetX: this.scrollX(),
8869
8562
  offsetY: this.scrollY()
8870
8563
  };
8871
- });
8564
+ }, ...(ngDevMode ? [{ debugName: "contentConfig" }] : []));
8872
8565
  // 是否显示竖向滚动条
8873
8566
  this.showVerticalScrollbar = computed(() => {
8874
8567
  const { height, contentHeight, verticalScrollbar } = this.config();
8875
8568
  return verticalScrollbar && contentHeight > height;
8876
- });
8569
+ }, ...(ngDevMode ? [{ debugName: "showVerticalScrollbar" }] : []));
8877
8570
  // 是否显示横向滚动条
8878
8571
  this.showHorizontalScrollbar = computed(() => {
8879
8572
  const { width, contentWidth, horizontalScrollbar } = this.config();
8880
8573
  return horizontalScrollbar && contentWidth > width;
8881
- });
8574
+ }, ...(ngDevMode ? [{ debugName: "showHorizontalScrollbar" }] : []));
8882
8575
  // 竖向滚动条配置
8883
8576
  this.verticalScrollbarConfig = computed(() => {
8884
8577
  const { width, scrollbarSize = 12 } = this.config();
@@ -8888,7 +8581,7 @@ class AITableScrollableGroup {
8888
8581
  width: scrollbarSize,
8889
8582
  height: this.verticalScrollbarHeight()
8890
8583
  };
8891
- });
8584
+ }, ...(ngDevMode ? [{ debugName: "verticalScrollbarConfig" }] : []));
8892
8585
  // 横向滚动条配置
8893
8586
  this.horizontalScrollbarConfig = computed(() => {
8894
8587
  const { height, scrollbarSize = 12 } = this.config();
@@ -8898,7 +8591,7 @@ class AITableScrollableGroup {
8898
8591
  width: this.horizontalScrollbarHeight(),
8899
8592
  height: scrollbarSize
8900
8593
  };
8901
- });
8594
+ }, ...(ngDevMode ? [{ debugName: "horizontalScrollbarConfig" }] : []));
8902
8595
  // 竖向滚动条轨道配置
8903
8596
  this.verticalTrackConfig = computed(() => {
8904
8597
  const { scrollbarSize = 12, scrollbarTrackColor, height } = this.config();
@@ -8910,7 +8603,7 @@ class AITableScrollableGroup {
8910
8603
  fill: scrollbarTrackColor,
8911
8604
  cornerRadius: 2
8912
8605
  };
8913
- });
8606
+ }, ...(ngDevMode ? [{ debugName: "verticalTrackConfig" }] : []));
8914
8607
  // 横向滚动条轨道配置
8915
8608
  this.horizontalTrackConfig = computed(() => {
8916
8609
  const { scrollbarSize = 12, scrollbarTrackColor } = this.config();
@@ -8922,40 +8615,40 @@ class AITableScrollableGroup {
8922
8615
  fill: scrollbarTrackColor,
8923
8616
  cornerRadius: 2
8924
8617
  };
8925
- });
8618
+ }, ...(ngDevMode ? [{ debugName: "horizontalTrackConfig" }] : []));
8926
8619
  this.verticalThumbMinY = computed(() => {
8927
8620
  const getAbsolutePositionY = this.verticalTrack.getNode().getAbsolutePosition().y;
8928
8621
  return getAbsolutePositionY;
8929
- });
8622
+ }, ...(ngDevMode ? [{ debugName: "verticalThumbMinY" }] : []));
8930
8623
  // 垂直滚动条滑块的最大Y坐标
8931
8624
  this.verticalThumbMaxY = computed(() => {
8932
8625
  const { height, contentHeight } = this.config();
8933
8626
  const getAbsolutePositionY = this.verticalTrack.getNode().getAbsolutePosition().y;
8934
8627
  return getAbsolutePositionY + height - this.verticalThumbHeight();
8935
- });
8628
+ }, ...(ngDevMode ? [{ debugName: "verticalThumbMaxY" }] : []));
8936
8629
  // 横向滚动条滑块的最小X坐标
8937
8630
  this.horizontalThumbMinX = computed(() => {
8938
8631
  const getAbsolutePositionX = this.horizontalTrack.getNode().getAbsolutePosition().x;
8939
8632
  return getAbsolutePositionX;
8940
- });
8633
+ }, ...(ngDevMode ? [{ debugName: "horizontalThumbMinX" }] : []));
8941
8634
  // 横向滚动条滑块的最大X坐标
8942
8635
  this.horizontalThumbMaxX = computed(() => {
8943
8636
  const { width } = this.config();
8944
8637
  const getAbsolutePositionX = this.horizontalTrack.getNode().getAbsolutePosition().x;
8945
8638
  return getAbsolutePositionX + width - this.horizontalThumbWidth();
8946
- });
8639
+ }, ...(ngDevMode ? [{ debugName: "horizontalThumbMaxX" }] : []));
8947
8640
  // 竖向滚动条滑块高度
8948
8641
  this.verticalThumbHeight = computed(() => {
8949
8642
  const { height, contentHeight } = this.config();
8950
8643
  const thumbHeight = Math.max(20, (height / contentHeight) * this.verticalScrollbarHeight());
8951
8644
  return thumbHeight;
8952
- });
8645
+ }, ...(ngDevMode ? [{ debugName: "verticalThumbHeight" }] : []));
8953
8646
  // 横向滚动条滑块宽度
8954
8647
  this.horizontalThumbWidth = computed(() => {
8955
8648
  const { width, contentWidth } = this.config();
8956
8649
  const thumbWidth = Math.max(20, (width / contentWidth) * this.horizontalScrollbarHeight());
8957
8650
  return thumbWidth;
8958
- });
8651
+ }, ...(ngDevMode ? [{ debugName: "horizontalThumbWidth" }] : []));
8959
8652
  // 竖向滚动条滑块配置
8960
8653
  this.verticalConfig = computed(() => {
8961
8654
  const { scrollbarSize = 12, scrollbarColor = Colors.black, scrollbarOpacity = 0.8 } = this.config();
@@ -8987,7 +8680,7 @@ class AITableScrollableGroup {
8987
8680
  };
8988
8681
  }
8989
8682
  };
8990
- });
8683
+ }, ...(ngDevMode ? [{ debugName: "verticalConfig" }] : []));
8991
8684
  // 横向滚动条滑块配置
8992
8685
  this.horizontalThumbConfig = computed(() => {
8993
8686
  const { scrollbarSize = 12, scrollbarColor = Colors.black, scrollbarOpacity = 0.8 } = this.config();
@@ -9019,17 +8712,17 @@ class AITableScrollableGroup {
9019
8712
  };
9020
8713
  }
9021
8714
  };
9022
- });
8715
+ }, ...(ngDevMode ? [{ debugName: "horizontalThumbConfig" }] : []));
9023
8716
  // 横向滚动条滑块配置
9024
8717
  this.verticalScrollbarHeight = computed(() => {
9025
8718
  const { height } = this.config();
9026
8719
  return height;
9027
- });
8720
+ }, ...(ngDevMode ? [{ debugName: "verticalScrollbarHeight" }] : []));
9028
8721
  // 获取横向滚动条宽度
9029
8722
  this.horizontalScrollbarHeight = computed(() => {
9030
8723
  const { width } = this.config();
9031
8724
  return width;
9032
- });
8725
+ }, ...(ngDevMode ? [{ debugName: "horizontalScrollbarHeight" }] : []));
9033
8726
  // 滚动条延迟隐藏
9034
8727
  effect(() => {
9035
8728
  const displayScrollbarTime = this.displayScrollbarTime();
@@ -9142,8 +8835,8 @@ class AITableScrollableGroup {
9142
8835
  const { width, contentWidth } = this.config();
9143
8836
  this.scrollX.set(Math.max(0, contentWidth - width));
9144
8837
  }
9145
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableScrollableGroup, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9146
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AITableScrollableGroup, isStandalone: true, selector: "ai-table-scrollable-group", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, contentTemplate: { classPropertyName: "contentTemplate", publicName: "contentTemplate", isSignal: true, isRequired: true, transformFunction: null }, parentContainer: { classPropertyName: "parentContainer", publicName: "parentContainer", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { scrollPosition: "scrollPosition" }, viewQueries: [{ propertyName: "verticalTrack", first: true, predicate: ["verticalTrack"], descendants: true }, { propertyName: "verticalThumb", first: true, predicate: ["verticalThumb"], descendants: true }, { propertyName: "horizontalTrack", first: true, predicate: ["horizontalTrack"], descendants: true }, { propertyName: "contentGroup", first: true, predicate: ["contentGroup"], descendants: true }, { propertyName: "rootGroup", first: true, predicate: ["rootGroup"], descendants: true }], ngImport: i0, template: `
8838
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableScrollableGroup, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8839
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.13", type: AITableScrollableGroup, isStandalone: true, selector: "ai-table-scrollable-group", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, contentTemplate: { classPropertyName: "contentTemplate", publicName: "contentTemplate", isSignal: true, isRequired: true, transformFunction: null }, parentContainer: { classPropertyName: "parentContainer", publicName: "parentContainer", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { scrollPosition: "scrollPosition" }, viewQueries: [{ propertyName: "verticalTrack", first: true, predicate: ["verticalTrack"], descendants: true }, { propertyName: "verticalThumb", first: true, predicate: ["verticalThumb"], descendants: true }, { propertyName: "horizontalTrack", first: true, predicate: ["horizontalTrack"], descendants: true }, { propertyName: "contentGroup", first: true, predicate: ["contentGroup"], descendants: true }, { propertyName: "rootGroup", first: true, predicate: ["rootGroup"], descendants: true }], ngImport: i0, template: `
9147
8840
  <ko-group #rootGroup [config]="containerConfig()" (koWheel)="stageWheel($event)">
9148
8841
  <ko-group>
9149
8842
  <ko-rect [config]="bgConfig()"></ko-rect>
@@ -9191,7 +8884,7 @@ class AITableScrollableGroup {
9191
8884
  </ko-group>
9192
8885
  `, isInline: true, dependencies: [{ kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }, { kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9193
8886
  }
9194
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableScrollableGroup, decorators: [{
8887
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableScrollableGroup, decorators: [{
9195
8888
  type: Component,
9196
8889
  args: [{
9197
8890
  selector: 'ai-table-scrollable-group',
@@ -9245,7 +8938,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
9245
8938
  imports: [KoContainer, KoShape],
9246
8939
  changeDetection: ChangeDetectionStrategy.OnPush
9247
8940
  }]
9248
- }], ctorParameters: () => [], propDecorators: { verticalTrack: [{
8941
+ }], ctorParameters: () => [], propDecorators: { config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: true }] }], contentTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "contentTemplate", required: true }] }], parentContainer: [{ type: i0.Input, args: [{ isSignal: true, alias: "parentContainer", required: false }] }], scrollPosition: [{ type: i0.Output, args: ["scrollPosition"] }], verticalTrack: [{
9249
8942
  type: ViewChild,
9250
8943
  args: ['verticalTrack']
9251
8944
  }], verticalThumb: [{
@@ -9379,11 +9072,11 @@ const createGroupFieldStats = (config) => {
9379
9072
  class AITableStatTypeMenu extends ThyDropdownAbstractMenu {
9380
9073
  constructor() {
9381
9074
  super(...arguments);
9382
- this.field = input.required();
9383
- this.aiTable = input.required();
9384
- this.statMenus = input.required();
9075
+ this.field = input.required(...(ngDevMode ? [{ debugName: "field" }] : []));
9076
+ this.aiTable = input.required(...(ngDevMode ? [{ debugName: "aiTable" }] : []));
9077
+ this.statMenus = input.required(...(ngDevMode ? [{ debugName: "statMenus" }] : []));
9385
9078
  this.menuClick = output();
9386
- this.selectStatType = computed(() => this.field().stat_type || AITableStatType.None);
9079
+ this.selectStatType = computed(() => this.field().stat_type || AITableStatType.None, ...(ngDevMode ? [{ debugName: "selectStatType" }] : []));
9387
9080
  }
9388
9081
  execute(menu) {
9389
9082
  this.menuClick.emit({
@@ -9391,41 +9084,41 @@ class AITableStatTypeMenu extends ThyDropdownAbstractMenu {
9391
9084
  field: this.field()
9392
9085
  });
9393
9086
  }
9394
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableStatTypeMenu, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
9395
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AITableStatTypeMenu, isStandalone: true, selector: "ai-table-stat-type-menu", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, aiTable: { classPropertyName: "aiTable", publicName: "aiTable", isSignal: true, isRequired: true, transformFunction: null }, statMenus: { classPropertyName: "statMenus", publicName: "statMenus", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { menuClick: "menuClick" }, host: { classAttribute: "stat-type-menu" }, usesInheritance: true, ngImport: i0, template: "@if (field()) {\n @for (menu of statMenus(); track index; let index = $index) {\n <a\n thyDropdownMenuItem\n href=\"javascript:;\"\n [ngClass]=\"{\n active: selectStatType() === menu.type\n }\"\n (click)=\"execute(menu)\"\n >\n <span>{{ menu.name }}</span>\n </a>\n }\n}\n", dependencies: [{ kind: "directive", type: ThyDropdownMenuItemDirective, selector: "[thyDropdownMenuItem]", inputs: ["thyType", "thyDisabled"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9087
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableStatTypeMenu, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
9088
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.13", type: AITableStatTypeMenu, isStandalone: true, selector: "ai-table-stat-type-menu", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, aiTable: { classPropertyName: "aiTable", publicName: "aiTable", isSignal: true, isRequired: true, transformFunction: null }, statMenus: { classPropertyName: "statMenus", publicName: "statMenus", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { menuClick: "menuClick" }, host: { classAttribute: "stat-type-menu" }, usesInheritance: true, ngImport: i0, template: "@if (field()) {\n @for (menu of statMenus(); track index; let index = $index) {\n <a\n thyDropdownMenuItem\n href=\"javascript:;\"\n [ngClass]=\"{\n active: selectStatType() === menu.type\n }\"\n (click)=\"execute(menu)\"\n >\n <span>{{ menu.name }}</span>\n </a>\n }\n}\n", dependencies: [{ kind: "directive", type: ThyDropdownMenuItemDirective, selector: "[thyDropdownMenuItem]", inputs: ["thyType", "thyDisabled"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9396
9089
  }
9397
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableStatTypeMenu, decorators: [{
9090
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableStatTypeMenu, decorators: [{
9398
9091
  type: Component,
9399
9092
  args: [{ selector: 'ai-table-stat-type-menu', changeDetection: ChangeDetectionStrategy.OnPush, host: {
9400
9093
  class: 'stat-type-menu'
9401
9094
  }, imports: [ThyDropdownMenuItemDirective, NgClass], template: "@if (field()) {\n @for (menu of statMenus(); track index; let index = $index) {\n <a\n thyDropdownMenuItem\n href=\"javascript:;\"\n [ngClass]=\"{\n active: selectStatType() === menu.type\n }\"\n (click)=\"execute(menu)\"\n >\n <span>{{ menu.name }}</span>\n </a>\n }\n}\n" }]
9402
- }] });
9095
+ }], propDecorators: { field: [{ type: i0.Input, args: [{ isSignal: true, alias: "field", required: true }] }], aiTable: [{ type: i0.Input, args: [{ isSignal: true, alias: "aiTable", required: true }] }], statMenus: [{ type: i0.Input, args: [{ isSignal: true, alias: "statMenus", required: true }] }], menuClick: [{ type: i0.Output, args: ["menuClick"] }] } });
9403
9096
 
9404
9097
  class AITableFieldStat {
9405
9098
  constructor() {
9406
9099
  this.thyPopover = inject(ThyPopover);
9407
- this.config = input.required();
9100
+ this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
9408
9101
  this.hover = output();
9409
- this.isActive = signal(false);
9410
- this.isHover = signal(false);
9102
+ this.isActive = signal(false, ...(ngDevMode ? [{ debugName: "isActive" }] : []));
9103
+ this.isHover = signal(false, ...(ngDevMode ? [{ debugName: "isHover" }] : []));
9411
9104
  this.isShowSelectedCount = false;
9412
9105
  this.availableTextWidth = computed(() => {
9413
9106
  const { width } = this.config();
9414
9107
  return width - AI_TABLE_ACTION_COMMON_SIZE - AI_TABLE_CELL_PADDING;
9415
- });
9108
+ }, ...(ngDevMode ? [{ debugName: "availableTextWidth" }] : []));
9416
9109
  this.groupConfig = computed(() => {
9417
9110
  return {
9418
9111
  x: this.config().x,
9419
9112
  y: this.config().y
9420
9113
  };
9421
- });
9114
+ }, ...(ngDevMode ? [{ debugName: "groupConfig" }] : []));
9422
9115
  this.isGroupStat = computed(() => {
9423
9116
  return this.config().isGroupStat;
9424
- });
9117
+ }, ...(ngDevMode ? [{ debugName: "isGroupStat" }] : []));
9425
9118
  this.groupStatContainerWidthMap = computed(() => {
9426
9119
  const { aiTable } = this.config();
9427
9120
  return aiTable.context?.groupStatContainerWidthMap();
9428
- });
9121
+ }, ...(ngDevMode ? [{ debugName: "groupStatContainerWidthMap" }] : []));
9429
9122
  this.bgConfig = computed(() => {
9430
9123
  const { field, width, height, coordinate, readonly, aiTable, isGroupStat, columnIndex, groupRow } = this.config();
9431
9124
  const rowHeadWidth = aiTable.context.rowHeadWidth();
@@ -9484,21 +9177,21 @@ class AITableFieldStat {
9484
9177
  }
9485
9178
  }
9486
9179
  return config;
9487
- });
9180
+ }, ...(ngDevMode ? [{ debugName: "bgConfig" }] : []));
9488
9181
  this.field = computed(() => {
9489
9182
  const { field } = this.config();
9490
9183
  return field;
9491
- });
9184
+ }, ...(ngDevMode ? [{ debugName: "field" }] : []));
9492
9185
  this.linearRows = computed(() => {
9493
9186
  const { aiTable } = this.config();
9494
9187
  return aiTable.context?.linearRows();
9495
- });
9188
+ }, ...(ngDevMode ? [{ debugName: "linearRows" }] : []));
9496
9189
  this.recordsMap = computed(() => {
9497
9190
  const { aiTable } = this.config();
9498
9191
  return aiTable.recordsMap();
9499
- });
9500
- this.groupRow = computed(() => this.config().groupRow);
9501
- this.gridData = computed(() => this.config().aiTable.gridData());
9192
+ }, ...(ngDevMode ? [{ debugName: "recordsMap" }] : []));
9193
+ this.groupRow = computed(() => this.config().groupRow, ...(ngDevMode ? [{ debugName: "groupRow" }] : []));
9194
+ this.gridData = computed(() => this.config().aiTable.gridData(), ...(ngDevMode ? [{ debugName: "gridData" }] : []));
9502
9195
  this.records = computed(() => {
9503
9196
  let records = [];
9504
9197
  const groupRow = this.groupRow();
@@ -9511,15 +9204,15 @@ class AITableFieldStat {
9511
9204
  records = this.gridData().records;
9512
9205
  }
9513
9206
  return records;
9514
- });
9207
+ }, ...(ngDevMode ? [{ debugName: "records" }] : []));
9515
9208
  this.aiFieldConfig = computed(() => {
9516
9209
  const { aiTable } = this.config();
9517
9210
  return aiTable.context?.aiFieldConfig;
9518
- });
9211
+ }, ...(ngDevMode ? [{ debugName: "aiFieldConfig" }] : []));
9519
9212
  this.aiTable = computed(() => {
9520
9213
  const { aiTable } = this.config();
9521
9214
  return aiTable;
9522
- });
9215
+ }, ...(ngDevMode ? [{ debugName: "aiTable" }] : []));
9523
9216
  this.options = computed(() => {
9524
9217
  const aiTable = this.aiTable();
9525
9218
  return {
@@ -9531,18 +9224,18 @@ class AITableFieldStat {
9531
9224
  return transformToCellText(cellValue, options);
9532
9225
  }
9533
9226
  };
9534
- });
9227
+ }, ...(ngDevMode ? [{ debugName: "options" }] : []));
9535
9228
  this.isActiveOrHover = computed(() => {
9536
9229
  return this.isActive() || this.isHover();
9537
- });
9230
+ }, ...(ngDevMode ? [{ debugName: "isActiveOrHover" }] : []));
9538
9231
  this.containerBoxHeight = computed(() => {
9539
9232
  const { height } = this.config();
9540
9233
  return height;
9541
- });
9234
+ }, ...(ngDevMode ? [{ debugName: "containerBoxHeight" }] : []));
9542
9235
  this.containerBoxWidth = computed(() => {
9543
9236
  const { width } = this.config();
9544
9237
  return width;
9545
- });
9238
+ }, ...(ngDevMode ? [{ debugName: "containerBoxWidth" }] : []));
9546
9239
  this.noneStatWidth = computed(() => {
9547
9240
  const noneStatString = getI18nTextByKey(this.aiTable(), AITableGridI18nKey.stat);
9548
9241
  const { text, textWidth } = drawer.textEllipsis({
@@ -9551,7 +9244,7 @@ class AITableFieldStat {
9551
9244
  fontWeight: DEFAULT_FONT_WEIGHT
9552
9245
  });
9553
9246
  return textWidth + AI_TABLE_ACTION_COMMON_SIZE + AI_TABLE_OFFSET;
9554
- });
9247
+ }, ...(ngDevMode ? [{ debugName: "noneStatWidth" }] : []));
9555
9248
  this.renderTexts = computed(() => {
9556
9249
  const width = this.containerBoxWidth();
9557
9250
  const field = this.field();
@@ -9601,10 +9294,10 @@ class AITableFieldStat {
9601
9294
  totalWidth: textWidth,
9602
9295
  statValue: statValue || ''
9603
9296
  };
9604
- });
9297
+ }, ...(ngDevMode ? [{ debugName: "renderTexts" }] : []));
9605
9298
  this.fontSize = computed(() => {
9606
9299
  return this.isGroupStat() ? GROUP_STAT_DEFAULT_FONT_SIZE : DEFAULT_FONT_SIZE;
9607
- });
9300
+ }, ...(ngDevMode ? [{ debugName: "fontSize" }] : []));
9608
9301
  this.textsConfig = computed(() => {
9609
9302
  const height = this.containerBoxHeight();
9610
9303
  const width = this.containerBoxWidth();
@@ -9666,17 +9359,17 @@ class AITableFieldStat {
9666
9359
  return result;
9667
9360
  }
9668
9361
  return null;
9669
- });
9362
+ }, ...(ngDevMode ? [{ debugName: "textsConfig" }] : []));
9670
9363
  this.selectedRecordCount = computed(() => {
9671
9364
  const aiTable = this.aiTable();
9672
9365
  const selectedRecords = aiTable.selection().selectedRecords;
9673
9366
  return selectedRecords.size;
9674
- });
9367
+ }, ...(ngDevMode ? [{ debugName: "selectedRecordCount" }] : []));
9675
9368
  this.selectedCellCount = computed(() => {
9676
9369
  const aiTable = this.aiTable();
9677
9370
  const selectedCells = aiTable.selection().selectedCells;
9678
9371
  return selectedCells.size;
9679
- });
9372
+ }, ...(ngDevMode ? [{ debugName: "selectedCellCount" }] : []));
9680
9373
  this.selectedInfo = computed(() => {
9681
9374
  const selectedRecordCount = this.selectedRecordCount();
9682
9375
  const selectedCellCount = this.selectedCellCount();
@@ -9689,15 +9382,15 @@ class AITableFieldStat {
9689
9382
  selectedCount
9690
9383
  };
9691
9384
  return result;
9692
- });
9385
+ }, ...(ngDevMode ? [{ debugName: "selectedInfo" }] : []));
9693
9386
  this.isFirstColumn = computed(() => {
9694
9387
  const { columnIndex } = this.config();
9695
9388
  return columnIndex === 0;
9696
- });
9389
+ }, ...(ngDevMode ? [{ debugName: "isFirstColumn" }] : []));
9697
9390
  this.isLastFrozenColumn = computed(() => {
9698
9391
  const { columnIndex, coordinate } = this.config();
9699
9392
  return columnIndex === coordinate.frozenColumnCount - 1;
9700
- });
9393
+ }, ...(ngDevMode ? [{ debugName: "isLastFrozenColumn" }] : []));
9701
9394
  this.iconConfig = computed(() => {
9702
9395
  const { field, width, height } = this.config();
9703
9396
  const commonIconOffsetY = (height - AI_TABLE_ACTION_COMMON_SIZE) / 2;
@@ -9712,7 +9405,7 @@ class AITableFieldStat {
9712
9405
  cornerRadius: 4,
9713
9406
  listening: false
9714
9407
  };
9715
- });
9408
+ }, ...(ngDevMode ? [{ debugName: "iconConfig" }] : []));
9716
9409
  effect(() => {
9717
9410
  const isGroupStat = this.isGroupStat();
9718
9411
  const bgConfigWidth = this.bgConfig().width;
@@ -9791,8 +9484,8 @@ class AITableFieldStat {
9791
9484
  this.hover.emit(false);
9792
9485
  });
9793
9486
  }
9794
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableFieldStat, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9795
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AITableFieldStat, isStandalone: true, selector: "ai-table-field-stat", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { hover: "hover" }, ngImport: i0, template: `
9487
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableFieldStat, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9488
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.13", type: AITableFieldStat, isStandalone: true, selector: "ai-table-field-stat", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { hover: "hover" }, ngImport: i0, template: `
9796
9489
  <ko-group [config]="groupConfig()">
9797
9490
  <ai-table-background
9798
9491
  [config]="bgConfig()"
@@ -9814,7 +9507,7 @@ class AITableFieldStat {
9814
9507
  </ko-group>
9815
9508
  `, isInline: true, dependencies: [{ kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }, { kind: "component", type: AITableTextComponent, selector: "ai-table-text", inputs: ["config"], outputs: ["koClick", "koMouseMove"] }, { kind: "component", type: AITableIcon, selector: "ai-table-icon", inputs: ["config"], outputs: ["koClick"] }, { kind: "component", type: AITableBackground, selector: "ai-table-background", inputs: ["config", "isActive", "isHover"], outputs: ["koClick", "hover", "koMouseenter", "koMouseleave", "isHoverChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9816
9509
  }
9817
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableFieldStat, decorators: [{
9510
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableFieldStat, decorators: [{
9818
9511
  type: Component,
9819
9512
  args: [{
9820
9513
  selector: 'ai-table-field-stat',
@@ -9842,28 +9535,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
9842
9535
  imports: [KoContainer, AITableTextComponent, AITableIcon, AITableBackground],
9843
9536
  changeDetection: ChangeDetectionStrategy.OnPush
9844
9537
  }]
9845
- }], ctorParameters: () => [] });
9538
+ }], ctorParameters: () => [], propDecorators: { config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: true }] }], hover: [{ type: i0.Output, args: ["hover"] }] } });
9846
9539
 
9847
9540
  class AITableGroups {
9848
9541
  constructor() {
9849
- this.config = input.required();
9542
+ this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
9850
9543
  this.trackBy = (groupStat) => {
9851
9544
  return groupStat.groupRow._id + groupStat.columnIndex;
9852
9545
  };
9853
9546
  this.frozenColumnCount = computed(() => {
9854
9547
  const { coordinate } = this.config();
9855
9548
  return coordinate.frozenColumnCount ?? 0;
9856
- });
9549
+ }, ...(ngDevMode ? [{ debugName: "frozenColumnCount" }] : []));
9857
9550
  this.columnStartIndex = computed(() => {
9858
9551
  const { columnStartIndex } = this.config();
9859
9552
  return Math.max(columnStartIndex, this.frozenColumnCount());
9860
- });
9553
+ }, ...(ngDevMode ? [{ debugName: "columnStartIndex" }] : []));
9861
9554
  this.groups = computed(() => {
9862
9555
  return createGroupCells({
9863
9556
  ...this.config(),
9864
9557
  columnStartIndex: this.columnStartIndex()
9865
9558
  });
9866
- });
9559
+ }, ...(ngDevMode ? [{ debugName: "groups" }] : []));
9867
9560
  this.groupCells = computed(() => {
9868
9561
  const groups = this.groups();
9869
9562
  const groupCells = [];
@@ -9881,16 +9574,16 @@ class AITableGroups {
9881
9574
  });
9882
9575
  });
9883
9576
  return groupCells;
9884
- });
9577
+ }, ...(ngDevMode ? [{ debugName: "groupCells" }] : []));
9885
9578
  }
9886
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableGroups, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9887
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AITableGroups, isStandalone: true, selector: "ai-table-groups", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
9579
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableGroups, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9580
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.13", type: AITableGroups, isStandalone: true, selector: "ai-table-groups", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
9888
9581
  @for (groupCell of groupCells(); track trackBy(groupCell.groupStat!)) {
9889
9582
  <ai-table-field-stat [config]="groupCell.groupStat!"></ai-table-field-stat>
9890
9583
  }
9891
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: AITableFieldStat, selector: "ai-table-field-stat", inputs: ["config"], outputs: ["hover"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9584
+ `, isInline: true, dependencies: [{ kind: "component", type: AITableFieldStat, selector: "ai-table-field-stat", inputs: ["config"], outputs: ["hover"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9892
9585
  }
9893
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableGroups, decorators: [{
9586
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableGroups, decorators: [{
9894
9587
  type: Component,
9895
9588
  args: [{
9896
9589
  selector: 'ai-table-groups',
@@ -9899,32 +9592,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
9899
9592
  <ai-table-field-stat [config]="groupCell.groupStat!"></ai-table-field-stat>
9900
9593
  }
9901
9594
  `,
9902
- imports: [CommonModule, AITableFieldStat],
9595
+ imports: [AITableFieldStat],
9903
9596
  changeDetection: ChangeDetectionStrategy.OnPush
9904
9597
  }]
9905
- }] });
9598
+ }], propDecorators: { config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: true }] }] } });
9906
9599
 
9907
9600
  class AITableFrozenGroups {
9908
9601
  constructor() {
9909
- this.config = input.required();
9602
+ this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
9910
9603
  this.frozenColumnCount = computed(() => {
9911
9604
  const { coordinate } = this.config();
9912
9605
  return coordinate.frozenColumnCount ?? 0;
9913
- });
9606
+ }, ...(ngDevMode ? [{ debugName: "frozenColumnCount" }] : []));
9914
9607
  this.columnStopIndex = computed(() => {
9915
9608
  return this.frozenColumnCount() - 1;
9916
- });
9609
+ }, ...(ngDevMode ? [{ debugName: "columnStopIndex" }] : []));
9917
9610
  this.groups = computed(() => {
9918
9611
  return createGroupCells({
9919
9612
  ...this.config(),
9920
9613
  columnStartIndex: 0,
9921
9614
  columnStopIndex: this.columnStopIndex()
9922
9615
  });
9923
- });
9616
+ }, ...(ngDevMode ? [{ debugName: "groups" }] : []));
9924
9617
  this.groupCollapseDisabled = computed(() => {
9925
9618
  const { aiTable } = this.config();
9926
9619
  return aiTable.context.groupCollapseDisabled();
9927
- });
9620
+ }, ...(ngDevMode ? [{ debugName: "groupCollapseDisabled" }] : []));
9928
9621
  this.groupCells = computed(() => {
9929
9622
  const groups = this.groups();
9930
9623
  const groupCells = [];
@@ -9963,24 +9656,24 @@ class AITableFrozenGroups {
9963
9656
  });
9964
9657
  });
9965
9658
  return groupCells;
9966
- });
9659
+ }, ...(ngDevMode ? [{ debugName: "groupCells" }] : []));
9967
9660
  }
9968
9661
  collapseClick(e) {
9969
9662
  if (this.groupCollapseDisabled()) {
9970
9663
  e.event.cancelBubble = true;
9971
9664
  }
9972
9665
  }
9973
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableFrozenGroups, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9974
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AITableFrozenGroups, isStandalone: true, selector: "ai-table-frozen-groups", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
9666
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableFrozenGroups, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9667
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.13", type: AITableFrozenGroups, isStandalone: true, selector: "ai-table-frozen-groups", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
9975
9668
  @for (groupCell of groupCells(); track $index) {
9976
9669
  @if (groupCell.collapsedIcon) {
9977
9670
  <ai-table-icon [config]="groupCell.collapsedIcon" (koClick)="collapseClick($event)"></ai-table-icon>
9978
9671
  }
9979
9672
  <ai-table-field-stat [config]="groupCell.groupStat!"></ai-table-field-stat>
9980
9673
  }
9981
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: AITableIcon, selector: "ai-table-icon", inputs: ["config"], outputs: ["koClick"] }, { kind: "component", type: AITableFieldStat, selector: "ai-table-field-stat", inputs: ["config"], outputs: ["hover"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9674
+ `, isInline: true, dependencies: [{ kind: "component", type: AITableIcon, selector: "ai-table-icon", inputs: ["config"], outputs: ["koClick"] }, { kind: "component", type: AITableFieldStat, selector: "ai-table-field-stat", inputs: ["config"], outputs: ["hover"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9982
9675
  }
9983
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableFrozenGroups, decorators: [{
9676
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableFrozenGroups, decorators: [{
9984
9677
  type: Component,
9985
9678
  args: [{
9986
9679
  selector: 'ai-table-frozen-groups',
@@ -9992,21 +9685,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
9992
9685
  <ai-table-field-stat [config]="groupCell.groupStat!"></ai-table-field-stat>
9993
9686
  }
9994
9687
  `,
9995
- imports: [CommonModule, AITableIcon, AITableFieldStat],
9688
+ imports: [AITableIcon, AITableFieldStat],
9996
9689
  changeDetection: ChangeDetectionStrategy.OnPush
9997
9690
  }]
9998
- }] });
9691
+ }], propDecorators: { config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: true }] }] } });
9999
9692
 
10000
9693
  class AITableFillHandle {
10001
9694
  constructor() {
10002
- this.config = input.required();
9695
+ this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
10003
9696
  this.showFillHandle = computed(() => {
10004
9697
  const { aiTable, readonly } = this.config();
10005
9698
  const selection = aiTable.selection();
10006
9699
  const hasSelectedCells = selection.selectedCells.size > 0;
10007
9700
  const isEditingCell = !!aiTable.editingCell()?.path;
10008
9701
  return hasSelectedCells && !readonly && !isEditingCell;
10009
- });
9702
+ }, ...(ngDevMode ? [{ debugName: "showFillHandle" }] : []));
10010
9703
  this.handleConfig = computed(() => {
10011
9704
  const { aiTable, coordinate } = this.config();
10012
9705
  const selectedCells = Array.from(aiTable.selection().selectedCells);
@@ -10040,16 +9733,16 @@ class AITableFillHandle {
10040
9733
  recordId
10041
9734
  })
10042
9735
  };
10043
- });
9736
+ }, ...(ngDevMode ? [{ debugName: "handleConfig" }] : []));
10044
9737
  }
10045
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableFillHandle, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10046
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AITableFillHandle, isStandalone: true, selector: "ai-table-fill-handle", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
9738
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableFillHandle, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9739
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.13", type: AITableFillHandle, isStandalone: true, selector: "ai-table-fill-handle", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
10047
9740
  @if (showFillHandle()) {
10048
9741
  <ko-rect [config]="handleConfig()"></ko-rect>
10049
9742
  }
10050
9743
  `, isInline: true, dependencies: [{ kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }] }); }
10051
9744
  }
10052
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableFillHandle, decorators: [{
9745
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableFillHandle, decorators: [{
10053
9746
  type: Component,
10054
9747
  args: [{
10055
9748
  selector: 'ai-table-fill-handle',
@@ -10060,12 +9753,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
10060
9753
  `,
10061
9754
  imports: [KoShape]
10062
9755
  }]
10063
- }] });
9756
+ }], propDecorators: { config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: true }] }] } });
10064
9757
 
10065
9758
  class AITableCoverCellEntry {
10066
9759
  constructor() {
10067
- this.config = input.required();
10068
- this.onlyDisplayBorder = input(false);
9760
+ this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
9761
+ this.onlyDisplayBorder = input(false, ...(ngDevMode ? [{ debugName: "onlyDisplayBorder" }] : []));
10069
9762
  this.componentMap = {};
10070
9763
  this.groupConfig = computed(() => {
10071
9764
  return {
@@ -10073,7 +9766,7 @@ class AITableCoverCellEntry {
10073
9766
  y: this.coverCellConfig()?.y,
10074
9767
  listening: true
10075
9768
  };
10076
- });
9769
+ }, ...(ngDevMode ? [{ debugName: "groupConfig" }] : []));
10077
9770
  this.coverCellConfig = computed(() => {
10078
9771
  const { aiTable, coordinate, references, readonly, actions } = this.config();
10079
9772
  const coverCell = this.coverCell();
@@ -10137,11 +9830,11 @@ class AITableCoverCellEntry {
10137
9830
  }
10138
9831
  };
10139
9832
  return result;
10140
- });
10141
- this.coverCell = computed(() => getCoverCell(this.config().aiTable));
9833
+ }, ...(ngDevMode ? [{ debugName: "coverCellConfig" }] : []));
9834
+ this.coverCell = computed(() => getCoverCell(this.config().aiTable), ...(ngDevMode ? [{ debugName: "coverCell" }] : []));
10142
9835
  }
10143
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableCoverCellEntry, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10144
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AITableCoverCellEntry, isStandalone: true, selector: "ai-table-cover-cell-entry", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, onlyDisplayBorder: { classPropertyName: "onlyDisplayBorder", publicName: "onlyDisplayBorder", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
9836
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableCoverCellEntry, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9837
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.13", type: AITableCoverCellEntry, isStandalone: true, selector: "ai-table-cover-cell-entry", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, onlyDisplayBorder: { classPropertyName: "onlyDisplayBorder", publicName: "onlyDisplayBorder", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
10145
9838
  @if (coverCell()) {
10146
9839
  <ko-group #rootGroup [config]="groupConfig()">
10147
9840
  <ng-container
@@ -10153,9 +9846,9 @@ class AITableCoverCellEntry {
10153
9846
  </ng-container>
10154
9847
  </ko-group>
10155
9848
  }
10156
- `, isInline: true, dependencies: [{ kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9849
+ `, isInline: true, dependencies: [{ kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10157
9850
  }
10158
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableCoverCellEntry, decorators: [{
9851
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableCoverCellEntry, decorators: [{
10159
9852
  type: Component,
10160
9853
  args: [{
10161
9854
  selector: 'ai-table-cover-cell-entry',
@@ -10175,17 +9868,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
10175
9868
  imports: [KoContainer, CommonModule],
10176
9869
  changeDetection: ChangeDetectionStrategy.OnPush
10177
9870
  }]
10178
- }] });
9871
+ }], propDecorators: { config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: true }] }], onlyDisplayBorder: [{ type: i0.Input, args: [{ isSignal: true, alias: "onlyDisplayBorder", required: false }] }] } });
10179
9872
 
10180
9873
  class AITableFieldStats {
10181
9874
  constructor() {
10182
- this.config = input.required();
9875
+ this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
10183
9876
  this.hover = output();
10184
- this.isHover = signal(false);
9877
+ this.isHover = signal(false, ...(ngDevMode ? [{ debugName: "isHover" }] : []));
10185
9878
  this.trackBy = (groupStat) => {
10186
9879
  return groupStat.columnIndex;
10187
9880
  };
10188
- this.statConfigs = computed(() => createFieldStats(this.config()));
9881
+ this.statConfigs = computed(() => createFieldStats(this.config()), ...(ngDevMode ? [{ debugName: "statConfigs" }] : []));
10189
9882
  }
10190
9883
  onMouseenter(e) {
10191
9884
  this.isHover.set(true);
@@ -10193,8 +9886,8 @@ class AITableFieldStats {
10193
9886
  onMouseleave(e) {
10194
9887
  this.isHover.set(false);
10195
9888
  }
10196
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableFieldStats, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10197
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AITableFieldStats, isStandalone: true, selector: "ai-table-column-stats", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { hover: "hover" }, ngImport: i0, template: `
9889
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableFieldStats, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9890
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.13", type: AITableFieldStats, isStandalone: true, selector: "ai-table-column-stats", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { hover: "hover" }, ngImport: i0, template: `
10198
9891
  <ko-group>
10199
9892
  @for (config of statConfigs(); track trackBy(config)) {
10200
9893
  <ai-table-field-stat [config]="config" (hover)="hover.emit($event)"></ai-table-field-stat>
@@ -10202,7 +9895,7 @@ class AITableFieldStats {
10202
9895
  </ko-group>
10203
9896
  `, isInline: true, dependencies: [{ kind: "component", type: AITableFieldStat, selector: "ai-table-field-stat", inputs: ["config"], outputs: ["hover"] }, { kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10204
9897
  }
10205
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableFieldStats, decorators: [{
9898
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableFieldStats, decorators: [{
10206
9899
  type: Component,
10207
9900
  args: [{
10208
9901
  selector: 'ai-table-column-stats',
@@ -10216,12 +9909,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
10216
9909
  imports: [AITableFieldStat, KoContainer],
10217
9910
  changeDetection: ChangeDetectionStrategy.OnPush
10218
9911
  }]
10219
- }] });
9912
+ }], propDecorators: { config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: true }] }], hover: [{ type: i0.Output, args: ["hover"] }] } });
10220
9913
 
10221
9914
  Konva.pixelRatio = 2;
10222
9915
  class AITableRenderer {
10223
9916
  constructor() {
10224
- this.config = input.required();
9917
+ this.config = input.required(...(ngDevMode ? [{ debugName: "config" }] : []));
10225
9918
  this.koMousemove = output();
10226
9919
  this.koMousedown = output();
10227
9920
  this.koMouseup = output();
@@ -10231,46 +9924,46 @@ class AITableRenderer {
10231
9924
  this.koDblclick = output();
10232
9925
  this.koMouseleave = output();
10233
9926
  this.onScrollPosition = output();
10234
- this.isHoverStatContainer = signal(false);
9927
+ this.isHoverStatContainer = signal(false, ...(ngDevMode ? [{ debugName: "isHoverStatContainer" }] : []));
10235
9928
  this.fields = computed(() => {
10236
9929
  return AITable.getVisibleFields(this.config().aiTable);
10237
- });
9930
+ }, ...(ngDevMode ? [{ debugName: "fields" }] : []));
10238
9931
  this.readonly = computed(() => {
10239
9932
  return this.config()?.readonly;
10240
- });
9933
+ }, ...(ngDevMode ? [{ debugName: "readonly" }] : []));
10241
9934
  this.hiddenIndexColumn = computed(() => {
10242
9935
  return this.config()?.aiTable.context?.aiFieldConfig()?.hiddenIndexColumn;
10243
- });
9936
+ }, ...(ngDevMode ? [{ debugName: "hiddenIndexColumn" }] : []));
10244
9937
  this.coordinate = computed(() => {
10245
9938
  return this.config()?.coordinate;
10246
- });
9939
+ }, ...(ngDevMode ? [{ debugName: "coordinate" }] : []));
10247
9940
  this.containerWidth = computed(() => {
10248
9941
  return this.config().containerWidth;
10249
- });
9942
+ }, ...(ngDevMode ? [{ debugName: "containerWidth" }] : []));
10250
9943
  this.containerHeight = computed(() => {
10251
9944
  return this.config().containerHeight;
10252
- });
9945
+ }, ...(ngDevMode ? [{ debugName: "containerHeight" }] : []));
10253
9946
  this.gridContainerHeight = computed(() => {
10254
9947
  return this.containerHeight() - AI_TABLE_FIELD_STAT_CONTAINER_HEIGHT;
10255
- });
9948
+ }, ...(ngDevMode ? [{ debugName: "gridContainerHeight" }] : []));
10256
9949
  this.scrollState = computed(() => {
10257
9950
  return this.config()?.aiTable.context.scrollState();
10258
- });
9951
+ }, ...(ngDevMode ? [{ debugName: "scrollState" }] : []));
10259
9952
  this.visibleRangeInfo = computed(() => {
10260
9953
  return getVisibleRangeInfo(this.coordinate(), this.scrollState());
10261
- });
9954
+ }, ...(ngDevMode ? [{ debugName: "visibleRangeInfo" }] : []));
10262
9955
  this.frozenAreaWidth = computed(() => {
10263
9956
  return this.config().aiTable.context.rowHeadWidth() + this.coordinate().frozenColumnWidth;
10264
- });
9957
+ }, ...(ngDevMode ? [{ debugName: "frozenAreaWidth" }] : []));
10265
9958
  this.lastColumnWidth = computed(() => {
10266
9959
  return this.coordinate().getColumnWidth(this.visibleRangeInfo().columnStopIndex);
10267
- });
9960
+ }, ...(ngDevMode ? [{ debugName: "lastColumnWidth" }] : []));
10268
9961
  this.lastColumnOffset = computed(() => {
10269
9962
  return this.coordinate().getColumnOffset(this.visibleRangeInfo().columnStopIndex);
10270
- });
9963
+ }, ...(ngDevMode ? [{ debugName: "lastColumnOffset" }] : []));
10271
9964
  this.cellGroupClipWidth = computed(() => {
10272
9965
  return this.containerWidth() - this.frozenAreaWidth();
10273
- });
9966
+ }, ...(ngDevMode ? [{ debugName: "cellGroupClipWidth" }] : []));
10274
9967
  this.stageConfig = computed(() => {
10275
9968
  const { isScrolling } = this.scrollState();
10276
9969
  return {
@@ -10278,7 +9971,7 @@ class AITableRenderer {
10278
9971
  height: this.containerHeight(),
10279
9972
  listening: isScrolling ? false : true
10280
9973
  };
10281
- });
9974
+ }, ...(ngDevMode ? [{ debugName: "stageConfig" }] : []));
10282
9975
  this.gridGroupConfig = computed(() => {
10283
9976
  return {
10284
9977
  clipX: 0,
@@ -10286,7 +9979,7 @@ class AITableRenderer {
10286
9979
  clipWidth: this.containerWidth(),
10287
9980
  clipHeight: this.gridContainerHeight()
10288
9981
  };
10289
- });
9982
+ }, ...(ngDevMode ? [{ debugName: "gridGroupConfig" }] : []));
10290
9983
  this.statGroupConfig = computed(() => {
10291
9984
  return {
10292
9985
  x: 0,
@@ -10294,13 +9987,13 @@ class AITableRenderer {
10294
9987
  width: this.containerWidth(),
10295
9988
  height: AI_TABLE_FIELD_STAT_CONTAINER_HEIGHT
10296
9989
  };
10297
- });
9990
+ }, ...(ngDevMode ? [{ debugName: "statGroupConfig" }] : []));
10298
9991
  this.scrollTotalHeight = computed(() => {
10299
9992
  return Math.max(this.coordinate().totalHeight, this.containerHeight() - AI_TABLE_FIELD_HEAD_HEIGHT);
10300
- });
9993
+ }, ...(ngDevMode ? [{ debugName: "scrollTotalHeight" }] : []));
10301
9994
  this.scrollTotalWidth = computed(() => {
10302
9995
  return this.coordinate().totalWidth + AI_TABLE_FIELD_ADD_BUTTON_WIDTH;
10303
- });
9996
+ }, ...(ngDevMode ? [{ debugName: "scrollTotalWidth" }] : []));
10304
9997
  this.frozenCommonGroupConfig = computed(() => {
10305
9998
  return {
10306
9999
  clipX: 0,
@@ -10308,7 +10001,7 @@ class AITableRenderer {
10308
10001
  clipWidth: this.containerWidth(),
10309
10002
  clipHeight: this.gridContainerHeight()
10310
10003
  };
10311
- });
10004
+ }, ...(ngDevMode ? [{ debugName: "frozenCommonGroupConfig" }] : []));
10312
10005
  this.commonGroupConfig = computed(() => {
10313
10006
  return {
10314
10007
  clipX: this.frozenAreaWidth() + 1,
@@ -10316,7 +10009,7 @@ class AITableRenderer {
10316
10009
  clipWidth: this.cellGroupClipWidth(),
10317
10010
  clipHeight: this.gridContainerHeight()
10318
10011
  };
10319
- });
10012
+ }, ...(ngDevMode ? [{ debugName: "commonGroupConfig" }] : []));
10320
10013
  this.statCommonGroupConfig = computed(() => {
10321
10014
  return {
10322
10015
  x: AI_TABLE_OFFSET,
@@ -10325,7 +10018,7 @@ class AITableRenderer {
10325
10018
  clipWidth: this.cellGroupClipWidth(),
10326
10019
  clipHeight: this.gridContainerHeight()
10327
10020
  };
10328
- });
10021
+ }, ...(ngDevMode ? [{ debugName: "statCommonGroupConfig" }] : []));
10329
10022
  this.attachGroupConfig = computed(() => {
10330
10023
  return {
10331
10024
  clipX: this.frozenAreaWidth() - 1,
@@ -10333,7 +10026,7 @@ class AITableRenderer {
10333
10026
  clipWidth: this.containerWidth() - this.frozenAreaWidth(),
10334
10027
  clipHeight: this.gridContainerHeight() - AI_TABLE_FIELD_HEAD_HEIGHT
10335
10028
  };
10336
- });
10029
+ }, ...(ngDevMode ? [{ debugName: "attachGroupConfig" }] : []));
10337
10030
  this.frozenAttachGroupConfig = computed(() => {
10338
10031
  return {
10339
10032
  clipX: 0,
@@ -10341,7 +10034,7 @@ class AITableRenderer {
10341
10034
  clipWidth: this.frozenAreaWidth() + 10,
10342
10035
  clipHeight: this.gridContainerHeight() - AI_TABLE_FIELD_HEAD_HEIGHT
10343
10036
  };
10344
- });
10037
+ }, ...(ngDevMode ? [{ debugName: "frozenAttachGroupConfig" }] : []));
10345
10038
  this.frozenCoverAttachGroupConfig = computed(() => {
10346
10039
  return {
10347
10040
  clipX: 0,
@@ -10349,26 +10042,26 @@ class AITableRenderer {
10349
10042
  clipWidth: this.frozenAreaWidth(),
10350
10043
  clipHeight: this.gridContainerHeight() - AI_TABLE_FIELD_HEAD_HEIGHT
10351
10044
  };
10352
- });
10045
+ }, ...(ngDevMode ? [{ debugName: "frozenCoverAttachGroupConfig" }] : []));
10353
10046
  this.offsetYConfig = computed(() => {
10354
10047
  const { scrollTop } = this.scrollState();
10355
10048
  return {
10356
10049
  offsetY: scrollTop
10357
10050
  };
10358
- });
10051
+ }, ...(ngDevMode ? [{ debugName: "offsetYConfig" }] : []));
10359
10052
  this.offsetXConfig = computed(() => {
10360
10053
  const { scrollLeft } = this.scrollState();
10361
10054
  return {
10362
10055
  offsetX: scrollLeft
10363
10056
  };
10364
- });
10057
+ }, ...(ngDevMode ? [{ debugName: "offsetXConfig" }] : []));
10365
10058
  this.offsetConfig = computed(() => {
10366
10059
  const { scrollLeft, scrollTop } = this.scrollState();
10367
10060
  return {
10368
10061
  offsetX: scrollLeft,
10369
10062
  offsetY: scrollTop
10370
10063
  };
10371
- });
10064
+ }, ...(ngDevMode ? [{ debugName: "offsetConfig" }] : []));
10372
10065
  this.columnFrozenHeadFieldConfig = computed(() => {
10373
10066
  const { columnStartIndex, columnStopIndex } = this.visibleRangeInfo();
10374
10067
  const { aiTable, coordinate, readonly, maxFields, actions } = this.config();
@@ -10385,7 +10078,7 @@ class AITableRenderer {
10385
10078
  readonly,
10386
10079
  maxFields
10387
10080
  };
10388
- });
10081
+ }, ...(ngDevMode ? [{ debugName: "columnFrozenHeadFieldConfig" }] : []));
10389
10082
  this.columnHeadFieldConfig = computed(() => {
10390
10083
  const { columnStartIndex, columnStopIndex } = this.visibleRangeInfo();
10391
10084
  const { aiTable, coordinate, readonly, maxFields, actions } = this.config();
@@ -10402,7 +10095,7 @@ class AITableRenderer {
10402
10095
  readonly,
10403
10096
  maxFields
10404
10097
  };
10405
- });
10098
+ }, ...(ngDevMode ? [{ debugName: "columnHeadFieldConfig" }] : []));
10406
10099
  this.columnFieldStatsConfig = computed(() => {
10407
10100
  return {
10408
10101
  ...this.columnHeadFieldConfig(),
@@ -10412,10 +10105,10 @@ class AITableRenderer {
10412
10105
  height: AI_TABLE_FIELD_STAT_CONTAINER_HEIGHT,
10413
10106
  isHoverStatContainer: this.isHoverStatContainer()
10414
10107
  };
10415
- });
10108
+ }, ...(ngDevMode ? [{ debugName: "columnFieldStatsConfig" }] : []));
10416
10109
  this.xIsScroll = computed(() => {
10417
10110
  return this.scrollState().scrollLeft > 0;
10418
- });
10111
+ }, ...(ngDevMode ? [{ debugName: "xIsScroll" }] : []));
10419
10112
  this.statShadowConfig = computed(() => {
10420
10113
  return {
10421
10114
  width: 8,
@@ -10424,7 +10117,7 @@ class AITableRenderer {
10424
10117
  height: AI_TABLE_FIELD_STAT_CONTAINER_HEIGHT,
10425
10118
  visible: this.xIsScroll()
10426
10119
  };
10427
- });
10120
+ }, ...(ngDevMode ? [{ debugName: "statShadowConfig" }] : []));
10428
10121
  this.fieldHeadShadowConfig = computed(() => {
10429
10122
  return {
10430
10123
  width: AI_TABLE_SHADOW_DEFAULT_WIDTH,
@@ -10433,7 +10126,7 @@ class AITableRenderer {
10433
10126
  height: AI_TABLE_FIELD_HEAD_HEIGHT,
10434
10127
  visible: this.xIsScroll()
10435
10128
  };
10436
- });
10129
+ }, ...(ngDevMode ? [{ debugName: "fieldHeadShadowConfig" }] : []));
10437
10130
  this.columnFieldStatsBgConfig = computed(() => {
10438
10131
  return {
10439
10132
  x: 0,
@@ -10448,7 +10141,7 @@ class AITableRenderer {
10448
10141
  listening: true,
10449
10142
  coordinate: this.coordinate()
10450
10143
  };
10451
- });
10144
+ }, ...(ngDevMode ? [{ debugName: "columnFieldStatsBgConfig" }] : []));
10452
10145
  this.columnFrozenFieldStatsConfig = computed(() => {
10453
10146
  return {
10454
10147
  ...this.columnHeadFieldConfig(),
@@ -10460,7 +10153,7 @@ class AITableRenderer {
10460
10153
  height: AI_TABLE_FIELD_STAT_CONTAINER_HEIGHT,
10461
10154
  isHoverStatContainer: this.isHoverStatContainer()
10462
10155
  };
10463
- });
10156
+ }, ...(ngDevMode ? [{ debugName: "columnFrozenFieldStatsConfig" }] : []));
10464
10157
  this.cellsConfig = computed(() => {
10465
10158
  const { aiTable, readonly, coordinate, references, actions, maxRecords } = this.config();
10466
10159
  const keywordsMatchedCells = aiTable.keywordsMatchedCells();
@@ -10478,7 +10171,7 @@ class AITableRenderer {
10478
10171
  maxRecords,
10479
10172
  keywordsMatchedCells
10480
10173
  };
10481
- });
10174
+ }, ...(ngDevMode ? [{ debugName: "cellsConfig" }] : []));
10482
10175
  this.expandRecordConfig = computed(() => {
10483
10176
  const { aiTable, coordinate } = this.config();
10484
10177
  const { rowStartIndex, rowStopIndex } = this.visibleRangeInfo();
@@ -10488,14 +10181,14 @@ class AITableRenderer {
10488
10181
  rowStartIndex,
10489
10182
  rowStopIndex
10490
10183
  };
10491
- });
10184
+ }, ...(ngDevMode ? [{ debugName: "expandRecordConfig" }] : []));
10492
10185
  this.fillHandleConfig = computed(() => {
10493
10186
  return {
10494
10187
  aiTable: this.config().aiTable,
10495
10188
  coordinate: this.coordinate(),
10496
10189
  readonly: this.readonly()
10497
10190
  };
10498
- });
10191
+ }, ...(ngDevMode ? [{ debugName: "fillHandleConfig" }] : []));
10499
10192
  this.isLastSelectedCellInFrozenColumn = computed(() => {
10500
10193
  const { aiTable } = this.config();
10501
10194
  const selectedCells = Array.from(aiTable.selection().selectedCells);
@@ -10505,10 +10198,10 @@ class AITableRenderer {
10505
10198
  const [, fieldId] = lastCell.split(':');
10506
10199
  const columnIndex = aiTable.context.visibleColumnsIndexMap().get(fieldId);
10507
10200
  return AITable.isFrozenColumn(aiTable, columnIndex);
10508
- });
10201
+ }, ...(ngDevMode ? [{ debugName: "isLastSelectedCellInFrozenColumn" }] : []));
10509
10202
  this.activeCellBorderConfig = computed(() => {
10510
10203
  return createActiveCellBorder(this.cellsConfig());
10511
- });
10204
+ }, ...(ngDevMode ? [{ debugName: "activeCellBorderConfig" }] : []));
10512
10205
  this.showExpandCellBorder = computed(() => {
10513
10206
  let expandCellBorder = false;
10514
10207
  let frozenExpandCellBorder = false;
@@ -10531,7 +10224,7 @@ class AITableRenderer {
10531
10224
  expandCellBorder,
10532
10225
  frozenExpandCellBorder
10533
10226
  };
10534
- });
10227
+ }, ...(ngDevMode ? [{ debugName: "showExpandCellBorder" }] : []));
10535
10228
  }
10536
10229
  stageMousemove(e) {
10537
10230
  this.koMousemove.emit(e);
@@ -10560,10 +10253,10 @@ class AITableRenderer {
10560
10253
  onStatContainerHover(isHover) {
10561
10254
  this.isHoverStatContainer.set(isHover);
10562
10255
  }
10563
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableRenderer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10564
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AITableRenderer, isStandalone: true, selector: "ai-table-renderer", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { koMousemove: "koMousemove", koMousedown: "koMousedown", koMouseup: "koMouseup", koContextmenu: "koContextmenu", koWheel: "koWheel", koClick: "koClick", koDblclick: "koDblclick", koMouseleave: "koMouseleave", onScrollPosition: "onScrollPosition" }, ngImport: i0, template: "<ko-stage\n [config]=\"stageConfig()\"\n (koMousemove)=\"stageMousemove($event)\"\n (koMousedown)=\"stageMousedown($event)\"\n (koMouseup)=\"stageMouseup($event)\"\n (koContextmenu)=\"stageContextmenu($event)\"\n (koClick)=\"stageClick($event)\"\n (koDblclick)=\"stageDblclick($event)\"\n (koMouseleave)=\"stageMouseleave($event)\"\n (koWheel)=\"stageWheel($event)\"\n>\n <ko-layer>\n <ko-group [config]=\"gridGroupConfig()\">\n <!-- \u53F3\u4FA7\u975E\u56FA\u5B9A\u5217\u7684\u533A\u57DF -->\n <ko-group [config]=\"commonGroupConfig()\">\n <!-- \u53F3\u4FA7x,y\u6EDA\u52A8\u533A\u57DF\u7684 cell -->\n <ko-group #commonOffsetGroup [config]=\"offsetConfig()\">\n <ai-table-cells [config]=\"cellsConfig()\"></ai-table-cells>\n <ai-table-placeholder-cells [config]=\"cellsConfig()\"></ai-table-placeholder-cells>\n <ai-table-cover-cell-entry [config]=\"cellsConfig()\"></ai-table-cover-cell-entry>\n <ai-table-groups [config]=\"cellsConfig()\"></ai-table-groups>\n </ko-group>\n\n <!-- \u53F3\u4FA7\u8868\u5934head \u548C \u65B0\u589E\u5217 + \u533A\u57DF -->\n <ko-group [config]=\"offsetXConfig()\">\n <ai-table-column-heads [config]=\"columnHeadFieldConfig()\"></ai-table-column-heads>\n <ai-table-add-field [config]=\"columnHeadFieldConfig()\"></ai-table-add-field>\n </ko-group>\n </ko-group>\n\n <!-- \u5DE6\u4FA7\u56FA\u5B9A\u5217 y\u6EDA\u52A8\u533A\u57DF\u7684cell -->\n <ko-group [config]=\"frozenCommonGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n <ai-table-frozen-cells [config]=\"cellsConfig()\"></ai-table-frozen-cells>\n <ai-table-other-rows [config]=\"cellsConfig()\"></ai-table-other-rows>\n @if (!hiddenIndexColumn()) {\n <ai-table-hover-row-heads [config]=\"cellsConfig()\"></ai-table-hover-row-heads>\n }\n <ai-table-frozen-groups [config]=\"cellsConfig()\"></ai-table-frozen-groups>\n <ai-table-frozen-placeholder-cells [config]=\"cellsConfig()\"></ai-table-frozen-placeholder-cells>\n <ai-table-expand-record [config]=\"expandRecordConfig()\"></ai-table-expand-record>\n </ko-group>\n </ko-group>\n\n <!-- \u5DE6\u4FA7\u56FA\u5B9A\u5217 \u8868\u5934 + \u8868\u5934\u53F3\u4FA7\u5206\u5272\u9634\u5F71 -->\n <ko-group>\n <ai-table-frozen-column-heads [config]=\"columnFrozenHeadFieldConfig()\"></ai-table-frozen-column-heads>\n <ai-table-shadow [config]=\"fieldHeadShadowConfig()\"></ai-table-shadow>\n </ko-group>\n\n <ko-group [config]=\"attachGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n @if (activeCellBorderConfig().activeCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().activeCellBorder!\"></ko-rect>\n }\n @if (showExpandCellBorder().expandCellBorder) {\n <ai-table-cover-cell-entry [config]=\"cellsConfig()\" [onlyDisplayBorder]=\"true\"></ai-table-cover-cell-entry>\n }\n @if (!isLastSelectedCellInFrozenColumn()) {\n <ai-table-fill-handle [config]=\"fillHandleConfig()\"></ai-table-fill-handle>\n }\n </ko-group>\n </ko-group>\n <ko-group [config]=\"frozenCoverAttachGroupConfig()\">\n <ko-group #frozenCoverAttachOffsetGroup [config]=\"offsetYConfig()\">\n <ai-table-cover-cell-entry [config]=\"cellsConfig()\"></ai-table-cover-cell-entry>\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"frozenAttachGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n @if (activeCellBorderConfig().frozenActiveCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().frozenActiveCellBorder!\"></ko-rect>\n }\n @if (showExpandCellBorder().frozenExpandCellBorder) {\n <ai-table-cover-cell-entry [config]=\"cellsConfig()\" [onlyDisplayBorder]=\"true\"></ai-table-cover-cell-entry>\n }\n @if (isLastSelectedCellInFrozenColumn()) {\n <ai-table-fill-handle [config]=\"fillHandleConfig()\"></ai-table-fill-handle>\n }\n </ko-group>\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"statGroupConfig()\">\n <ai-table-background [config]=\"columnFieldStatsBgConfig()\"></ai-table-background>\n <ko-group>\n <ai-table-column-stats\n [config]=\"columnFrozenFieldStatsConfig()\"\n (hover)=\"onStatContainerHover($event)\"\n ></ai-table-column-stats>\n </ko-group>\n <ko-group [config]=\"statCommonGroupConfig()\">\n <ko-group [config]=\"offsetXConfig()\">\n <ai-table-column-stats\n [config]=\"columnFieldStatsConfig()\"\n (hover)=\"onStatContainerHover($event)\"\n ></ai-table-column-stats>\n </ko-group>\n </ko-group>\n <ko-group>\n <ai-table-shadow [config]=\"statShadowConfig()\"></ai-table-shadow>\n </ko-group>\n </ko-group>\n </ko-layer>\n</ko-stage>\n\n<ng-content></ng-content>\n", dependencies: [{ kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }, { kind: "component", type: KoStage, selector: "ko-stage", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }, { kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }, { kind: "component", type: AITableColumnHeads, selector: "ai-table-column-heads", inputs: ["config"] }, { kind: "component", type: AITableFrozenColumnHeads, selector: "ai-table-frozen-column-heads", inputs: ["config"] }, { kind: "component", type: AITableCells, selector: "ai-table-cells", inputs: ["config"] }, { kind: "component", type: AITableFrozenCells, selector: "ai-table-frozen-cells", inputs: ["config"] }, { kind: "component", type: AITableFrozenPlaceholderCells, selector: "ai-table-frozen-placeholder-cells", inputs: ["config"] }, { kind: "component", type: AITableCoverCellEntry, selector: "ai-table-cover-cell-entry", inputs: ["config", "onlyDisplayBorder"] }, { kind: "component", type: AITablePlaceholderCells, selector: "ai-table-placeholder-cells", inputs: ["config"] }, { kind: "component", type: AITableAddField, selector: "ai-table-add-field", inputs: ["config"] }, { kind: "component", type: AITableHoverRowHeads, selector: "ai-table-hover-row-heads", inputs: ["config"] }, { kind: "component", type: AITableOtherRows, selector: "ai-table-other-rows", inputs: ["config"] }, { kind: "component", type: AITableFillHandle, selector: "ai-table-fill-handle", inputs: ["config"] }, { kind: "component", type: AITableFieldStats, selector: "ai-table-column-stats", inputs: ["config"], outputs: ["hover"] }, { kind: "component", type: AITableBackground, selector: "ai-table-background", inputs: ["config", "isActive", "isHover"], outputs: ["koClick", "hover", "koMouseenter", "koMouseleave", "isHoverChange"] }, { kind: "component", type: AITableFrozenGroups, selector: "ai-table-frozen-groups", inputs: ["config"] }, { kind: "component", type: AITableGroups, selector: "ai-table-groups", inputs: ["config"] }, { kind: "component", type: AITableShadow, selector: "ai-table-shadow", inputs: ["config"] }, { kind: "component", type: AITableExpandRecord, selector: "ai-table-expand-record", inputs: ["config"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10256
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableRenderer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10257
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.13", type: AITableRenderer, isStandalone: true, selector: "ai-table-renderer", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { koMousemove: "koMousemove", koMousedown: "koMousedown", koMouseup: "koMouseup", koContextmenu: "koContextmenu", koWheel: "koWheel", koClick: "koClick", koDblclick: "koDblclick", koMouseleave: "koMouseleave", onScrollPosition: "onScrollPosition" }, ngImport: i0, template: "<ko-stage\n [config]=\"stageConfig()\"\n (koMousemove)=\"stageMousemove($event)\"\n (koMousedown)=\"stageMousedown($event)\"\n (koMouseup)=\"stageMouseup($event)\"\n (koContextmenu)=\"stageContextmenu($event)\"\n (koClick)=\"stageClick($event)\"\n (koDblclick)=\"stageDblclick($event)\"\n (koMouseleave)=\"stageMouseleave($event)\"\n (koWheel)=\"stageWheel($event)\"\n>\n <ko-layer>\n <ko-group [config]=\"gridGroupConfig()\">\n <!-- \u53F3\u4FA7\u975E\u56FA\u5B9A\u5217\u7684\u533A\u57DF -->\n <ko-group [config]=\"commonGroupConfig()\">\n <!-- \u53F3\u4FA7x,y\u6EDA\u52A8\u533A\u57DF\u7684 cell -->\n <ko-group #commonOffsetGroup [config]=\"offsetConfig()\">\n <ai-table-cells [config]=\"cellsConfig()\"></ai-table-cells>\n <ai-table-placeholder-cells [config]=\"cellsConfig()\"></ai-table-placeholder-cells>\n <ai-table-cover-cell-entry [config]=\"cellsConfig()\"></ai-table-cover-cell-entry>\n <ai-table-groups [config]=\"cellsConfig()\"></ai-table-groups>\n </ko-group>\n\n <!-- \u53F3\u4FA7\u8868\u5934head \u548C \u65B0\u589E\u5217 + \u533A\u57DF -->\n <ko-group [config]=\"offsetXConfig()\">\n <ai-table-column-heads [config]=\"columnHeadFieldConfig()\"></ai-table-column-heads>\n <ai-table-add-field [config]=\"columnHeadFieldConfig()\"></ai-table-add-field>\n </ko-group>\n </ko-group>\n\n <!-- \u5DE6\u4FA7\u56FA\u5B9A\u5217 y\u6EDA\u52A8\u533A\u57DF\u7684cell -->\n <ko-group [config]=\"frozenCommonGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n <ai-table-frozen-cells [config]=\"cellsConfig()\"></ai-table-frozen-cells>\n <ai-table-other-rows [config]=\"cellsConfig()\"></ai-table-other-rows>\n @if (!hiddenIndexColumn()) {\n <ai-table-hover-row-heads [config]=\"cellsConfig()\"></ai-table-hover-row-heads>\n }\n <ai-table-frozen-groups [config]=\"cellsConfig()\"></ai-table-frozen-groups>\n <ai-table-frozen-placeholder-cells [config]=\"cellsConfig()\"></ai-table-frozen-placeholder-cells>\n <ai-table-expand-record [config]=\"expandRecordConfig()\"></ai-table-expand-record>\n </ko-group>\n </ko-group>\n\n <!-- \u5DE6\u4FA7\u56FA\u5B9A\u5217 \u8868\u5934 + \u8868\u5934\u53F3\u4FA7\u5206\u5272\u9634\u5F71 -->\n <ko-group>\n <ai-table-frozen-column-heads [config]=\"columnFrozenHeadFieldConfig()\"></ai-table-frozen-column-heads>\n <ai-table-shadow [config]=\"fieldHeadShadowConfig()\"></ai-table-shadow>\n </ko-group>\n\n <ko-group [config]=\"attachGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n @if (activeCellBorderConfig().activeCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().activeCellBorder!\"></ko-rect>\n }\n @if (showExpandCellBorder().expandCellBorder) {\n <ai-table-cover-cell-entry [config]=\"cellsConfig()\" [onlyDisplayBorder]=\"true\"></ai-table-cover-cell-entry>\n }\n @if (!isLastSelectedCellInFrozenColumn()) {\n <ai-table-fill-handle [config]=\"fillHandleConfig()\"></ai-table-fill-handle>\n }\n </ko-group>\n </ko-group>\n <ko-group [config]=\"frozenCoverAttachGroupConfig()\">\n <ko-group #frozenCoverAttachOffsetGroup [config]=\"offsetYConfig()\">\n <ai-table-cover-cell-entry [config]=\"cellsConfig()\"></ai-table-cover-cell-entry>\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"frozenAttachGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n @if (activeCellBorderConfig().frozenActiveCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().frozenActiveCellBorder!\"></ko-rect>\n }\n @if (showExpandCellBorder().frozenExpandCellBorder) {\n <ai-table-cover-cell-entry [config]=\"cellsConfig()\" [onlyDisplayBorder]=\"true\"></ai-table-cover-cell-entry>\n }\n @if (isLastSelectedCellInFrozenColumn()) {\n <ai-table-fill-handle [config]=\"fillHandleConfig()\"></ai-table-fill-handle>\n }\n </ko-group>\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"statGroupConfig()\">\n <ai-table-background [config]=\"columnFieldStatsBgConfig()\"></ai-table-background>\n <ko-group>\n <ai-table-column-stats\n [config]=\"columnFrozenFieldStatsConfig()\"\n (hover)=\"onStatContainerHover($event)\"\n ></ai-table-column-stats>\n </ko-group>\n <ko-group [config]=\"statCommonGroupConfig()\">\n <ko-group [config]=\"offsetXConfig()\">\n <ai-table-column-stats\n [config]=\"columnFieldStatsConfig()\"\n (hover)=\"onStatContainerHover($event)\"\n ></ai-table-column-stats>\n </ko-group>\n </ko-group>\n <ko-group>\n <ai-table-shadow [config]=\"statShadowConfig()\"></ai-table-shadow>\n </ko-group>\n </ko-group>\n </ko-layer>\n</ko-stage>\n\n<ng-content></ng-content>\n", dependencies: [{ kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }, { kind: "component", type: KoStage, selector: "ko-stage", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }, { kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }, { kind: "component", type: AITableColumnHeads, selector: "ai-table-column-heads", inputs: ["config"] }, { kind: "component", type: AITableFrozenColumnHeads, selector: "ai-table-frozen-column-heads", inputs: ["config"] }, { kind: "component", type: AITableCells, selector: "ai-table-cells", inputs: ["config"] }, { kind: "component", type: AITableFrozenCells, selector: "ai-table-frozen-cells", inputs: ["config"] }, { kind: "component", type: AITableFrozenPlaceholderCells, selector: "ai-table-frozen-placeholder-cells", inputs: ["config"] }, { kind: "component", type: AITableCoverCellEntry, selector: "ai-table-cover-cell-entry", inputs: ["config", "onlyDisplayBorder"] }, { kind: "component", type: AITablePlaceholderCells, selector: "ai-table-placeholder-cells", inputs: ["config"] }, { kind: "component", type: AITableAddField, selector: "ai-table-add-field", inputs: ["config"] }, { kind: "component", type: AITableHoverRowHeads, selector: "ai-table-hover-row-heads", inputs: ["config"] }, { kind: "component", type: AITableOtherRows, selector: "ai-table-other-rows", inputs: ["config"] }, { kind: "component", type: AITableFillHandle, selector: "ai-table-fill-handle", inputs: ["config"] }, { kind: "component", type: AITableFieldStats, selector: "ai-table-column-stats", inputs: ["config"], outputs: ["hover"] }, { kind: "component", type: AITableBackground, selector: "ai-table-background", inputs: ["config", "isActive", "isHover"], outputs: ["koClick", "hover", "koMouseenter", "koMouseleave", "isHoverChange"] }, { kind: "component", type: AITableFrozenGroups, selector: "ai-table-frozen-groups", inputs: ["config"] }, { kind: "component", type: AITableGroups, selector: "ai-table-groups", inputs: ["config"] }, { kind: "component", type: AITableShadow, selector: "ai-table-shadow", inputs: ["config"] }, { kind: "component", type: AITableExpandRecord, selector: "ai-table-expand-record", inputs: ["config"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10565
10258
  }
10566
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableRenderer, decorators: [{
10259
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableRenderer, decorators: [{
10567
10260
  type: Component,
10568
10261
  args: [{ selector: 'ai-table-renderer', imports: [
10569
10262
  KoContainer,
@@ -10588,17 +10281,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
10588
10281
  AITableFrozenGroups,
10589
10282
  AITableExpandRecord
10590
10283
  ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ko-stage\n [config]=\"stageConfig()\"\n (koMousemove)=\"stageMousemove($event)\"\n (koMousedown)=\"stageMousedown($event)\"\n (koMouseup)=\"stageMouseup($event)\"\n (koContextmenu)=\"stageContextmenu($event)\"\n (koClick)=\"stageClick($event)\"\n (koDblclick)=\"stageDblclick($event)\"\n (koMouseleave)=\"stageMouseleave($event)\"\n (koWheel)=\"stageWheel($event)\"\n>\n <ko-layer>\n <ko-group [config]=\"gridGroupConfig()\">\n <!-- \u53F3\u4FA7\u975E\u56FA\u5B9A\u5217\u7684\u533A\u57DF -->\n <ko-group [config]=\"commonGroupConfig()\">\n <!-- \u53F3\u4FA7x,y\u6EDA\u52A8\u533A\u57DF\u7684 cell -->\n <ko-group #commonOffsetGroup [config]=\"offsetConfig()\">\n <ai-table-cells [config]=\"cellsConfig()\"></ai-table-cells>\n <ai-table-placeholder-cells [config]=\"cellsConfig()\"></ai-table-placeholder-cells>\n <ai-table-cover-cell-entry [config]=\"cellsConfig()\"></ai-table-cover-cell-entry>\n <ai-table-groups [config]=\"cellsConfig()\"></ai-table-groups>\n </ko-group>\n\n <!-- \u53F3\u4FA7\u8868\u5934head \u548C \u65B0\u589E\u5217 + \u533A\u57DF -->\n <ko-group [config]=\"offsetXConfig()\">\n <ai-table-column-heads [config]=\"columnHeadFieldConfig()\"></ai-table-column-heads>\n <ai-table-add-field [config]=\"columnHeadFieldConfig()\"></ai-table-add-field>\n </ko-group>\n </ko-group>\n\n <!-- \u5DE6\u4FA7\u56FA\u5B9A\u5217 y\u6EDA\u52A8\u533A\u57DF\u7684cell -->\n <ko-group [config]=\"frozenCommonGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n <ai-table-frozen-cells [config]=\"cellsConfig()\"></ai-table-frozen-cells>\n <ai-table-other-rows [config]=\"cellsConfig()\"></ai-table-other-rows>\n @if (!hiddenIndexColumn()) {\n <ai-table-hover-row-heads [config]=\"cellsConfig()\"></ai-table-hover-row-heads>\n }\n <ai-table-frozen-groups [config]=\"cellsConfig()\"></ai-table-frozen-groups>\n <ai-table-frozen-placeholder-cells [config]=\"cellsConfig()\"></ai-table-frozen-placeholder-cells>\n <ai-table-expand-record [config]=\"expandRecordConfig()\"></ai-table-expand-record>\n </ko-group>\n </ko-group>\n\n <!-- \u5DE6\u4FA7\u56FA\u5B9A\u5217 \u8868\u5934 + \u8868\u5934\u53F3\u4FA7\u5206\u5272\u9634\u5F71 -->\n <ko-group>\n <ai-table-frozen-column-heads [config]=\"columnFrozenHeadFieldConfig()\"></ai-table-frozen-column-heads>\n <ai-table-shadow [config]=\"fieldHeadShadowConfig()\"></ai-table-shadow>\n </ko-group>\n\n <ko-group [config]=\"attachGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n @if (activeCellBorderConfig().activeCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().activeCellBorder!\"></ko-rect>\n }\n @if (showExpandCellBorder().expandCellBorder) {\n <ai-table-cover-cell-entry [config]=\"cellsConfig()\" [onlyDisplayBorder]=\"true\"></ai-table-cover-cell-entry>\n }\n @if (!isLastSelectedCellInFrozenColumn()) {\n <ai-table-fill-handle [config]=\"fillHandleConfig()\"></ai-table-fill-handle>\n }\n </ko-group>\n </ko-group>\n <ko-group [config]=\"frozenCoverAttachGroupConfig()\">\n <ko-group #frozenCoverAttachOffsetGroup [config]=\"offsetYConfig()\">\n <ai-table-cover-cell-entry [config]=\"cellsConfig()\"></ai-table-cover-cell-entry>\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"frozenAttachGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n @if (activeCellBorderConfig().frozenActiveCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().frozenActiveCellBorder!\"></ko-rect>\n }\n @if (showExpandCellBorder().frozenExpandCellBorder) {\n <ai-table-cover-cell-entry [config]=\"cellsConfig()\" [onlyDisplayBorder]=\"true\"></ai-table-cover-cell-entry>\n }\n @if (isLastSelectedCellInFrozenColumn()) {\n <ai-table-fill-handle [config]=\"fillHandleConfig()\"></ai-table-fill-handle>\n }\n </ko-group>\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"statGroupConfig()\">\n <ai-table-background [config]=\"columnFieldStatsBgConfig()\"></ai-table-background>\n <ko-group>\n <ai-table-column-stats\n [config]=\"columnFrozenFieldStatsConfig()\"\n (hover)=\"onStatContainerHover($event)\"\n ></ai-table-column-stats>\n </ko-group>\n <ko-group [config]=\"statCommonGroupConfig()\">\n <ko-group [config]=\"offsetXConfig()\">\n <ai-table-column-stats\n [config]=\"columnFieldStatsConfig()\"\n (hover)=\"onStatContainerHover($event)\"\n ></ai-table-column-stats>\n </ko-group>\n </ko-group>\n <ko-group>\n <ai-table-shadow [config]=\"statShadowConfig()\"></ai-table-shadow>\n </ko-group>\n </ko-group>\n </ko-layer>\n</ko-stage>\n\n<ng-content></ng-content>\n" }]
10591
- }] });
10284
+ }], propDecorators: { config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: true }] }], koMousemove: [{ type: i0.Output, args: ["koMousemove"] }], koMousedown: [{ type: i0.Output, args: ["koMousedown"] }], koMouseup: [{ type: i0.Output, args: ["koMouseup"] }], koContextmenu: [{ type: i0.Output, args: ["koContextmenu"] }], koWheel: [{ type: i0.Output, args: ["koWheel"] }], koClick: [{ type: i0.Output, args: ["koClick"] }], koDblclick: [{ type: i0.Output, args: ["koDblclick"] }], koMouseleave: [{ type: i0.Output, args: ["koMouseleave"] }], onScrollPosition: [{ type: i0.Output, args: ["onScrollPosition"] }] } });
10592
10285
 
10593
10286
  class AITableCellRate extends CoverCellBase {
10594
10287
  constructor() {
10595
10288
  super(...arguments);
10596
- this.pointerX = signal(0);
10597
- this.pointerY = signal(0);
10598
- this.resetStatus = signal(false);
10289
+ this.pointerX = signal(0, ...(ngDevMode ? [{ debugName: "pointerX" }] : []));
10290
+ this.pointerY = signal(0, ...(ngDevMode ? [{ debugName: "pointerY" }] : []));
10291
+ this.resetStatus = signal(false, ...(ngDevMode ? [{ debugName: "resetStatus" }] : []));
10599
10292
  this.readonly = computed(() => {
10600
10293
  return this.config()?.readonly;
10601
- });
10294
+ }, ...(ngDevMode ? [{ debugName: "readonly" }] : []));
10602
10295
  this.whiteBgConfig = computed(() => {
10603
10296
  const { aiTable, render, field, recordId, coordinate } = this.config();
10604
10297
  const pointPosition = aiTable.context.pointPosition();
@@ -10622,7 +10315,7 @@ class AITableCellRate extends CoverCellBase {
10622
10315
  recordId
10623
10316
  })
10624
10317
  };
10625
- });
10318
+ }, ...(ngDevMode ? [{ debugName: "whiteBgConfig" }] : []));
10626
10319
  this.starConfigs = computed(() => {
10627
10320
  const { render, field, recordId, readonly, aiTable, coordinate } = this.config();
10628
10321
  const { x, columnWidth, transformValue } = render;
@@ -10676,7 +10369,7 @@ class AITableCellRate extends CoverCellBase {
10676
10369
  })
10677
10370
  };
10678
10371
  });
10679
- });
10372
+ }, ...(ngDevMode ? [{ debugName: "starConfigs" }] : []));
10680
10373
  }
10681
10374
  static { this.fieldType = AITableFieldType.rate; }
10682
10375
  koMousemove(e) {
@@ -10714,8 +10407,8 @@ class AITableCellRate extends CoverCellBase {
10714
10407
  ]);
10715
10408
  }
10716
10409
  }
10717
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableCellRate, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
10718
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AITableCellRate, isStandalone: true, selector: "ai-table-rate", usesInheritance: true, ngImport: i0, template: `
10410
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableCellRate, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
10411
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.13", type: AITableCellRate, isStandalone: true, selector: "ai-table-rate", usesInheritance: true, ngImport: i0, template: `
10719
10412
  @if (!readonly()) {
10720
10413
  <ko-rect [config]="whiteBgConfig()" (koMousemove)="koMousemove($event)"></ko-rect>
10721
10414
  }
@@ -10724,7 +10417,7 @@ class AITableCellRate extends CoverCellBase {
10724
10417
  }
10725
10418
  `, isInline: true, dependencies: [{ kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10726
10419
  }
10727
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableCellRate, decorators: [{
10420
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableCellRate, decorators: [{
10728
10421
  type: Component,
10729
10422
  args: [{
10730
10423
  selector: 'ai-table-rate',
@@ -10746,18 +10439,18 @@ class AITableCellProgress extends CoverCellBase {
10746
10439
  super(...arguments);
10747
10440
  this.readonly = computed(() => {
10748
10441
  return this.config()?.readonly;
10749
- });
10750
- this.dragPointerX = signal(null);
10442
+ }, ...(ngDevMode ? [{ debugName: "readonly" }] : []));
10443
+ this.dragPointerX = signal(null, ...(ngDevMode ? [{ debugName: "dragPointerX" }] : []));
10751
10444
  this.railWidth = computed(() => {
10752
10445
  const { columnWidth } = this.config().render;
10753
10446
  return columnWidth - 2 * AI_TABLE_CELL_PADDING - AI_TABLE_PROGRESS_TEXT_WIDTH;
10754
- });
10447
+ }, ...(ngDevMode ? [{ debugName: "railWidth" }] : []));
10755
10448
  this.trackWidth = computed(() => {
10756
10449
  return (this.progressValue() / 100) * this.railWidth();
10757
- });
10450
+ }, ...(ngDevMode ? [{ debugName: "trackWidth" }] : []));
10758
10451
  this.pointerWidth = AI_TABLE_PROGRESS_BAR_POINTER_WIDTH;
10759
10452
  this.progressOffsetY = (AI_TABLE_ROW_BLANK_HEIGHT - AI_TABLE_PROGRESS_BAR_HEIGHT) / 2 + AI_TABLE_OFFSET;
10760
- this.dragProgressValue = signal(null);
10453
+ this.dragProgressValue = signal(null, ...(ngDevMode ? [{ debugName: "dragProgressValue" }] : []));
10761
10454
  this.progressValue = computed(() => {
10762
10455
  const dragValue = this.dragProgressValue();
10763
10456
  if (dragValue !== null) {
@@ -10769,7 +10462,7 @@ class AITableCellProgress extends CoverCellBase {
10769
10462
  return 0;
10770
10463
  }
10771
10464
  return transformValue;
10772
- });
10465
+ }, ...(ngDevMode ? [{ debugName: "progressValue" }] : []));
10773
10466
  this.whiteBgConfig = computed(() => {
10774
10467
  const { aiTable, render, field, recordId, coordinate } = this.config();
10775
10468
  const pointPosition = aiTable.context.pointPosition();
@@ -10792,7 +10485,7 @@ class AITableCellProgress extends CoverCellBase {
10792
10485
  recordId
10793
10486
  })
10794
10487
  };
10795
- });
10488
+ }, ...(ngDevMode ? [{ debugName: "whiteBgConfig" }] : []));
10796
10489
  this.railConfig = computed(() => {
10797
10490
  const { render, field, recordId } = this.config();
10798
10491
  const { x } = render;
@@ -10810,7 +10503,7 @@ class AITableCellProgress extends CoverCellBase {
10810
10503
  mouseStyle: this.readonly() ? 'default' : 'pointer'
10811
10504
  })
10812
10505
  };
10813
- });
10506
+ }, ...(ngDevMode ? [{ debugName: "railConfig" }] : []));
10814
10507
  this.trackConfig = computed(() => {
10815
10508
  const { render, field, recordId } = this.config();
10816
10509
  const { x } = render;
@@ -10828,7 +10521,7 @@ class AITableCellProgress extends CoverCellBase {
10828
10521
  mouseStyle: this.readonly() ? 'default' : 'pointer'
10829
10522
  })
10830
10523
  };
10831
- });
10524
+ }, ...(ngDevMode ? [{ debugName: "trackConfig" }] : []));
10832
10525
  this.pointerConfig = computed(() => {
10833
10526
  const { render, field, recordId } = this.config();
10834
10527
  const { x } = render;
@@ -10867,7 +10560,7 @@ class AITableCellProgress extends CoverCellBase {
10867
10560
  mouseStyle: this.readonly() ? 'default' : 'pointer'
10868
10561
  })
10869
10562
  };
10870
- });
10563
+ }, ...(ngDevMode ? [{ debugName: "pointerConfig" }] : []));
10871
10564
  this.textConfig = computed(() => {
10872
10565
  const { render, field, recordId } = this.config();
10873
10566
  const { x } = render;
@@ -10886,7 +10579,7 @@ class AITableCellProgress extends CoverCellBase {
10886
10579
  recordId
10887
10580
  })
10888
10581
  };
10889
- });
10582
+ }, ...(ngDevMode ? [{ debugName: "textConfig" }] : []));
10890
10583
  }
10891
10584
  static { this.fieldType = AITableFieldType.progress; }
10892
10585
  calculatePercentage(clickX) {
@@ -10965,8 +10658,8 @@ class AITableCellProgress extends CoverCellBase {
10965
10658
  ]);
10966
10659
  }
10967
10660
  }
10968
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableCellProgress, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
10969
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AITableCellProgress, isStandalone: true, selector: "ai-table-progress", usesInheritance: true, ngImport: i0, template: `
10661
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableCellProgress, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
10662
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.13", type: AITableCellProgress, isStandalone: true, selector: "ai-table-progress", usesInheritance: true, ngImport: i0, template: `
10970
10663
  @if (!readonly()) {
10971
10664
  <ko-rect [config]="whiteBgConfig()"></ko-rect>
10972
10665
  }
@@ -10981,7 +10674,7 @@ class AITableCellProgress extends CoverCellBase {
10981
10674
  <ko-text [config]="textConfig()"></ko-text>
10982
10675
  `, isInline: true, dependencies: [{ kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10983
10676
  }
10984
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableCellProgress, decorators: [{
10677
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableCellProgress, decorators: [{
10985
10678
  type: Component,
10986
10679
  args: [{
10987
10680
  selector: 'ai-table-progress',
@@ -11011,7 +10704,7 @@ class AITableCellCheckbox extends CoverCellBase {
11011
10704
  const { render } = this.config();
11012
10705
  const { transformValue } = render;
11013
10706
  return !isEmpty(transformValue) && !!transformValue;
11014
- });
10707
+ }, ...(ngDevMode ? [{ debugName: "isChecked" }] : []));
11015
10708
  this.checkbox = computed(() => {
11016
10709
  const { render, field, recordId, readonly } = this.config();
11017
10710
  if (render) {
@@ -11035,7 +10728,7 @@ class AITableCellCheckbox extends CoverCellBase {
11035
10728
  };
11036
10729
  }
11037
10730
  return null;
11038
- });
10731
+ }, ...(ngDevMode ? [{ debugName: "checkbox" }] : []));
11039
10732
  }
11040
10733
  static { this.fieldType = AITableFieldType.checkbox; }
11041
10734
  switchChecked() {
@@ -11047,14 +10740,14 @@ class AITableCellCheckbox extends CoverCellBase {
11047
10740
  }
11048
10741
  ]);
11049
10742
  }
11050
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableCellCheckbox, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
11051
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.10", type: AITableCellCheckbox, isStandalone: true, selector: "ai-table-checkbox", usesInheritance: true, ngImport: i0, template: `
10743
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableCellCheckbox, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
10744
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.13", type: AITableCellCheckbox, isStandalone: true, selector: "ai-table-checkbox", usesInheritance: true, ngImport: i0, template: `
11052
10745
  <ko-group>
11053
10746
  <ai-table-icon [config]="checkbox()" (koClick)="switchChecked()"></ai-table-icon>
11054
10747
  </ko-group>
11055
10748
  `, isInline: true, dependencies: [{ kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }, { kind: "component", type: AITableIcon, selector: "ai-table-icon", inputs: ["config"], outputs: ["koClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
11056
10749
  }
11057
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableCellCheckbox, decorators: [{
10750
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableCellCheckbox, decorators: [{
11058
10751
  type: Component,
11059
10752
  args: [{
11060
10753
  selector: 'ai-table-checkbox',
@@ -11079,7 +10772,7 @@ class AITableCellText extends CoverCellBase {
11079
10772
  fieldId: field._id,
11080
10773
  recordId
11081
10774
  });
11082
- });
10775
+ }, ...(ngDevMode ? [{ debugName: "cellName" }] : []));
11083
10776
  this.expandBorderConfig = computed(() => {
11084
10777
  const { render, field, recordId, readonly, isExpand } = this.config();
11085
10778
  const { columnWidth } = render;
@@ -11098,7 +10791,7 @@ class AITableCellText extends CoverCellBase {
11098
10791
  };
11099
10792
  }
11100
10793
  return null;
11101
- });
10794
+ }, ...(ngDevMode ? [{ debugName: "expandBorderConfig" }] : []));
11102
10795
  this.scrollConfig = computed(() => {
11103
10796
  const { render, field, recordId, readonly, isExpand, coordinate } = this.config();
11104
10797
  const { columnWidth } = render;
@@ -11118,7 +10811,7 @@ class AITableCellText extends CoverCellBase {
11118
10811
  contentNotScrollbar: false,
11119
10812
  bgName: this.cellName()
11120
10813
  };
11121
- });
10814
+ }, ...(ngDevMode ? [{ debugName: "scrollConfig" }] : []));
11122
10815
  this.expandTextBounds = computed(() => {
11123
10816
  const textRender = this.textString();
11124
10817
  const tmpText = new Konva.Text({
@@ -11139,11 +10832,11 @@ class AITableCellText extends CoverCellBase {
11139
10832
  ...tmpText.getClientRect(),
11140
10833
  height: tmpText.getClientRect().height + this.startY() * 2 - AI_TABLE_CELL_LINE_BORDER
11141
10834
  };
11142
- });
10835
+ }, ...(ngDevMode ? [{ debugName: "expandTextBounds" }] : []));
11143
10836
  this.textMaxWidth = computed(() => {
11144
10837
  const { columnWidth } = this.config()?.render;
11145
10838
  return columnWidth - AI_TABLE_CELL_PADDING - AI_TABLE_CELL_PADDING;
11146
- });
10839
+ }, ...(ngDevMode ? [{ debugName: "textMaxWidth" }] : []));
11147
10840
  this.textString = computed(() => {
11148
10841
  const { transformValue } = this.config()?.render;
11149
10842
  let textRender = transformValue;
@@ -11151,18 +10844,18 @@ class AITableCellText extends CoverCellBase {
11151
10844
  return;
11152
10845
  }
11153
10846
  return textRender.replace(/\r|\n/g, ' ');
11154
- });
10847
+ }, ...(ngDevMode ? [{ debugName: "textString" }] : []));
11155
10848
  this.height = computed(() => {
11156
10849
  const { height } = this.expandTextBounds() || { height: 0 };
11157
10850
  return Math.min(Math.max(height, this.config().render.rowHeight - AI_TABLE_CELL_LINE_BORDER || AI_TABLE_ROW_BLANK_HEIGHT), 146);
11158
- });
10851
+ }, ...(ngDevMode ? [{ debugName: "height" }] : []));
11159
10852
  this.startY = computed(() => {
11160
10853
  const { y, rowHeight } = this.config()?.render;
11161
10854
  return (y +
11162
10855
  (AI_TABLE_ROW_HEIGHT - DEFAULT_FONT_SIZE) / 2 -
11163
10856
  (DEFAULT_FONT_SIZE * (AI_TABLE_TEXT_LINE_HEIGHT - 1)) / 2 +
11164
10857
  AI_TABLE_CELL_LINE_BORDER);
11165
- });
10858
+ }, ...(ngDevMode ? [{ debugName: "startY" }] : []));
11166
10859
  this.expandTextConfig = computed(() => {
11167
10860
  const render = this.config()?.render;
11168
10861
  if (render) {
@@ -11189,7 +10882,7 @@ class AITableCellText extends CoverCellBase {
11189
10882
  };
11190
10883
  }
11191
10884
  return;
11192
- });
10885
+ }, ...(ngDevMode ? [{ debugName: "expandTextConfig" }] : []));
11193
10886
  this.textConfig = computed(() => {
11194
10887
  const render = this.config()?.render;
11195
10888
  if (render) {
@@ -11214,7 +10907,7 @@ class AITableCellText extends CoverCellBase {
11214
10907
  };
11215
10908
  }
11216
10909
  return;
11217
- });
10910
+ }, ...(ngDevMode ? [{ debugName: "textConfig" }] : []));
11218
10911
  effect(() => {
11219
10912
  const height = this.height();
11220
10913
  if (this.isExpand()) {
@@ -11226,8 +10919,8 @@ class AITableCellText extends CoverCellBase {
11226
10919
  }
11227
10920
  });
11228
10921
  }
11229
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableCellText, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11230
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AITableCellText, isStandalone: true, selector: "ai-table-single-text", usesInheritance: true, ngImport: i0, template: `
10922
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableCellText, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10923
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.13", type: AITableCellText, isStandalone: true, selector: "ai-table-single-text", usesInheritance: true, ngImport: i0, template: `
11231
10924
  <ko-group>
11232
10925
  @if (isExpand()) {
11233
10926
  <ko-group>
@@ -11252,7 +10945,7 @@ class AITableCellText extends CoverCellBase {
11252
10945
  </ko-group>
11253
10946
  `, isInline: true, dependencies: [{ kind: "component", type: AITableTextComponent, selector: "ai-table-text", inputs: ["config"], outputs: ["koClick", "koMouseMove"] }, { kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }, { kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }, { kind: "component", type: AITableScrollableGroup, selector: "ai-table-scrollable-group", inputs: ["config", "contentTemplate", "parentContainer"], outputs: ["scrollPosition"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
11254
10947
  }
11255
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableCellText, decorators: [{
10948
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableCellText, decorators: [{
11256
10949
  type: Component,
11257
10950
  args: [{
11258
10951
  selector: 'ai-table-single-text',
@@ -12076,8 +11769,8 @@ class NumberCellEditorComponent extends AbstractEditCellEditor {
12076
11769
  super.update();
12077
11770
  this.closePopover();
12078
11771
  }
12079
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: NumberCellEditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
12080
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.10", type: NumberCellEditorComponent, isStandalone: true, selector: "number-cell-editor", host: { classAttribute: "number-cell-editor" }, usesInheritance: true, ngImport: i0, template: `<thy-input-number
11772
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: NumberCellEditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
11773
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.13", type: NumberCellEditorComponent, isStandalone: true, selector: "number-cell-editor", host: { classAttribute: "number-cell-editor" }, usesInheritance: true, ngImport: i0, template: `<thy-input-number
12081
11774
  class="h-100"
12082
11775
  [thyAutoFocus]="autoFocus()"
12083
11776
  [thyShowStepControls]="false"
@@ -12086,7 +11779,7 @@ class NumberCellEditorComponent extends AbstractEditCellEditor {
12086
11779
  (thyBlur)="updateValue()"
12087
11780
  /> `, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ThyEnterDirective, selector: "[thyEnter]", outputs: ["thyEnter"] }, { kind: "component", type: ThyInputNumber, selector: "thy-input-number", inputs: ["thyAutoFocus", "thyPlaceholder", "thyDisabled", "thyMax", "thyMin", "thyStep", "thyShowStepControls", "thyStepDelay", "thySize", "thyPrecision", "thySuffix"], outputs: ["thyBlur", "thyFocus", "thyStepChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12088
11781
  }
12089
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: NumberCellEditorComponent, decorators: [{
11782
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: NumberCellEditorComponent, decorators: [{
12090
11783
  type: Component,
12091
11784
  args: [{
12092
11785
  selector: 'number-cell-editor',
@@ -12108,23 +11801,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
12108
11801
 
12109
11802
  class SelectOptionComponent {
12110
11803
  constructor() {
12111
- this.field = input.required();
12112
- this.displayOption = input.required();
11804
+ this.field = input.required(...(ngDevMode ? [{ debugName: "field" }] : []));
11805
+ this.displayOption = input.required(...(ngDevMode ? [{ debugName: "displayOption" }] : []));
12113
11806
  this.optionStyle = computed(() => {
12114
11807
  return this.field().settings.option_style || AITableSelectOptionStyle.text;
12115
- });
11808
+ }, ...(ngDevMode ? [{ debugName: "optionStyle" }] : []));
12116
11809
  this.AITableSelectOptionStyle = AITableSelectOptionStyle;
12117
11810
  }
12118
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: SelectOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12119
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: SelectOptionComponent, isStandalone: true, selector: "select-option", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, displayOption: { classPropertyName: "displayOption", publicName: "displayOption", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { "class.select-option-tag": "optionStyle === AITableSelectOptionStyle.tag" }, classAttribute: "select-option thy-text" }, ngImport: i0, template: "@if (displayOption(); as displayOption) {\n @switch (optionStyle()) {\n @case (AITableSelectOptionStyle.dot) {\n @if (displayOption.bg_color || displayOption.color; as color) {\n <thy-dot [thyColor]=\"color\" [thySize]=\"'md'\" class=\"mr-2\"></thy-dot>\n }\n <span thyFlexibleText [thyTooltipContent]=\"displayOption.text\">{{ displayOption.text }}</span>\n }\n @case (AITableSelectOptionStyle.tag) {\n @if (displayOption.bg_color || displayOption.color || 'default'; as color) {\n <thy-tag thyTheme=\"fill\" thyShape=\"pill\" [thyColor]=\"color\">\n @if (displayOption['icon']) {\n <thy-icon class=\"text-white\" [thyIconName]=\"displayOption['icon']\"></thy-icon>\n }\n <span thyFlexibleText [thyTooltipContent]=\"displayOption.text\">{{ displayOption.text }}</span>\n </thy-tag>\n }\n }\n @case (AITableSelectOptionStyle.piece) {\n @if (displayOption.bg_color || displayOption.color; as color) {\n <thy-dot thyShape=\"square\" [thyColor]=\"color\" [thySize]=\"'md'\" class=\"mr-2\"></thy-dot>\n }\n <span thyFlexibleText [thyTooltipContent]=\"displayOption.text\">{{ displayOption.text }}</span>\n }\n @default {\n @if (displayOption['icon']) {\n <thy-icon [thyIconName]=\"displayOption['icon']\" [style.color]=\"displayOption.color\"></thy-icon>\n }\n <span thyFlexibleText [thyTooltipContent]=\"displayOption.text\">{{ displayOption.text }}</span>\n }\n }\n}\n", dependencies: [{ kind: "component", type: ThyTag, selector: "thy-tag,[thyTag]", inputs: ["thyTag", "thyShape", "thyColor", "thyTheme", "thySize", "thyHoverable"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "ngmodule", type: ThyTooltipModule }, { kind: "component", type: ThyDot, selector: "thy-dot,[thy-dot],[thyDot]", inputs: ["thyColor", "thySize", "thyTheme", "thyShape"] }, { kind: "component", type: ThyFlexibleText, selector: "thy-flexible-text,[thyFlexibleText]", inputs: ["thyTooltipTrigger", "thyContainerClass", "thyTooltipContent", "thyTooltipPlacement", "thyTooltipOffset"], exportAs: ["thyFlexibleText"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
11811
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: SelectOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11812
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.13", type: SelectOptionComponent, isStandalone: true, selector: "select-option", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, displayOption: { classPropertyName: "displayOption", publicName: "displayOption", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { "class.select-option-tag": "optionStyle === AITableSelectOptionStyle.tag" }, classAttribute: "select-option thy-text" }, ngImport: i0, template: "@if (displayOption(); as displayOption) {\n @switch (optionStyle()) {\n @case (AITableSelectOptionStyle.dot) {\n @if (displayOption.bg_color || displayOption.color; as color) {\n <thy-dot [thyColor]=\"color\" [thySize]=\"'md'\" class=\"mr-2\"></thy-dot>\n }\n <span thyFlexibleText [thyTooltipContent]=\"displayOption.text\">{{ displayOption.text }}</span>\n }\n @case (AITableSelectOptionStyle.tag) {\n @if (displayOption.bg_color || displayOption.color || 'default'; as color) {\n <thy-tag thyTheme=\"fill\" thyShape=\"pill\" [thyColor]=\"color\">\n @if (displayOption['icon']) {\n <thy-icon class=\"text-white\" [thyIconName]=\"displayOption['icon']\"></thy-icon>\n }\n <span thyFlexibleText [thyTooltipContent]=\"displayOption.text\">{{ displayOption.text }}</span>\n </thy-tag>\n }\n }\n @case (AITableSelectOptionStyle.piece) {\n @if (displayOption.bg_color || displayOption.color; as color) {\n <thy-dot thyShape=\"square\" [thyColor]=\"color\" [thySize]=\"'md'\" class=\"mr-2\"></thy-dot>\n }\n <span thyFlexibleText [thyTooltipContent]=\"displayOption.text\">{{ displayOption.text }}</span>\n }\n @default {\n @if (displayOption['icon']) {\n <thy-icon [thyIconName]=\"displayOption['icon']\" [style.color]=\"displayOption.color\"></thy-icon>\n }\n <span thyFlexibleText [thyTooltipContent]=\"displayOption.text\">{{ displayOption.text }}</span>\n }\n }\n}\n", dependencies: [{ kind: "component", type: ThyTag, selector: "thy-tag,[thyTag]", inputs: ["thyTag", "thyShape", "thyColor", "thyTheme", "thySize", "thyHoverable"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "ngmodule", type: ThyTooltipModule }, { kind: "component", type: ThyDot, selector: "thy-dot,[thy-dot],[thyDot]", inputs: ["thyColor", "thySize", "thyTheme", "thyShape"] }, { kind: "component", type: ThyFlexibleText, selector: "thy-flexible-text,[thyFlexibleText]", inputs: ["thyTooltipTrigger", "thyContainerClass", "thyTooltipContent", "thyTooltipPlacement", "thyTooltipOffset"], exportAs: ["thyFlexibleText"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12120
11813
  }
12121
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: SelectOptionComponent, decorators: [{
11814
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: SelectOptionComponent, decorators: [{
12122
11815
  type: Component,
12123
11816
  args: [{ selector: 'select-option', changeDetection: ChangeDetectionStrategy.OnPush, host: {
12124
11817
  class: 'select-option thy-text',
12125
11818
  '[class.select-option-tag]': 'optionStyle === AITableSelectOptionStyle.tag'
12126
11819
  }, imports: [ThyTag, ThyIcon, ThyTooltipModule, ThyDot, ThyFlexibleText], template: "@if (displayOption(); as displayOption) {\n @switch (optionStyle()) {\n @case (AITableSelectOptionStyle.dot) {\n @if (displayOption.bg_color || displayOption.color; as color) {\n <thy-dot [thyColor]=\"color\" [thySize]=\"'md'\" class=\"mr-2\"></thy-dot>\n }\n <span thyFlexibleText [thyTooltipContent]=\"displayOption.text\">{{ displayOption.text }}</span>\n }\n @case (AITableSelectOptionStyle.tag) {\n @if (displayOption.bg_color || displayOption.color || 'default'; as color) {\n <thy-tag thyTheme=\"fill\" thyShape=\"pill\" [thyColor]=\"color\">\n @if (displayOption['icon']) {\n <thy-icon class=\"text-white\" [thyIconName]=\"displayOption['icon']\"></thy-icon>\n }\n <span thyFlexibleText [thyTooltipContent]=\"displayOption.text\">{{ displayOption.text }}</span>\n </thy-tag>\n }\n }\n @case (AITableSelectOptionStyle.piece) {\n @if (displayOption.bg_color || displayOption.color; as color) {\n <thy-dot thyShape=\"square\" [thyColor]=\"color\" [thySize]=\"'md'\" class=\"mr-2\"></thy-dot>\n }\n <span thyFlexibleText [thyTooltipContent]=\"displayOption.text\">{{ displayOption.text }}</span>\n }\n @default {\n @if (displayOption['icon']) {\n <thy-icon [thyIconName]=\"displayOption['icon']\" [style.color]=\"displayOption.color\"></thy-icon>\n }\n <span thyFlexibleText [thyTooltipContent]=\"displayOption.text\">{{ displayOption.text }}</span>\n }\n }\n}\n" }]
12127
- }] });
11820
+ }], propDecorators: { field: [{ type: i0.Input, args: [{ isSignal: true, alias: "field", required: true }] }], displayOption: [{ type: i0.Input, args: [{ isSignal: true, alias: "displayOption", required: true }] }] } });
12128
11821
 
12129
11822
  class SelectCellEditorComponent extends AbstractEditCellEditor {
12130
11823
  get isMultiple() {
@@ -12134,10 +11827,10 @@ class SelectCellEditorComponent extends AbstractEditCellEditor {
12134
11827
  super();
12135
11828
  this.selectOptions = computed(() => {
12136
11829
  return this.field().settings.options;
12137
- });
11830
+ }, ...(ngDevMode ? [{ debugName: "selectOptions" }] : []));
12138
11831
  this.preset = computed(() => {
12139
11832
  return this.field().settings.is_multiple && this.field().settings.option_style === AITableSelectOptionStyle.tag ? 'tag' : '';
12140
- });
11833
+ }, ...(ngDevMode ? [{ debugName: "preset" }] : []));
12141
11834
  }
12142
11835
  ngOnInit() {
12143
11836
  super.ngOnInit();
@@ -12183,10 +11876,10 @@ class SelectCellEditorComponent extends AbstractEditCellEditor {
12183
11876
  this.thyPopoverRef?.updatePosition();
12184
11877
  });
12185
11878
  }
12186
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: SelectCellEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12187
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: SelectCellEditorComponent, isStandalone: true, selector: "select-cell-editor", host: { classAttribute: "d-block h-100 select-cell-editor" }, usesInheritance: true, ngImport: i0, template: "<thy-select\n [(ngModel)]=\"modelValue\"\n [thyAutoExpand]=\"autoFocus()\"\n [thyAllowClear]=\"true\"\n [thyPlaceHolder]=\"''\"\n [thyPreset]=\"preset()\"\n [thyMode]=\"field().settings.is_multiple ? 'multiple' : ''\"\n (ngModelChange)=\"onModelChange($event)\"\n (thyOnExpandStatusChange)=\"onOpenChange($event)\"\n>\n <ng-template #selectedDisplay let-option>\n <select-option [field]=\"field()\" [displayOption]=\"option\"></select-option>\n </ng-template>\n @for (option of selectOptions(); track option._id) {\n <thy-option\n [thyValue]=\"option._id\"\n [hidden]=\"!!option.is_disabled\"\n [thyRawValue]=\"option\"\n [thyShowOptionCustom]=\"true\"\n [thyLabelText]=\"option.text\"\n >\n <select-option [field]=\"field()\" [displayOption]=\"option\"></select-option>\n </thy-option>\n }\n</thy-select>\n", dependencies: [{ kind: "component", type: ThySelect, selector: "thy-select,thy-custom-select", inputs: ["thyDropdownWidthMode", "thyShowSearch", "thyPlaceHolder", "thyServerSearch", "thyLoadState", "thyAutoActiveFirstItem", "thyMode", "thySize", "thyEmptyStateText", "thyEmptySearchMessageText", "thyEnableScrollLoad", "thyAllowClear", "thyDisabled", "thySortComparator", "thyFooterTemplate", "thyPlacement", "thyOrigin", "thyFooterClass", "thyAutoExpand", "thyHasBackdrop", "thyMaxTagCount", "thyBorderless", "thyOptions", "thyPreset"], outputs: ["thyOnSearch", "thyOnScrollToBottom", "thyOnExpandStatusChange"], exportAs: ["thySelect"] }, { kind: "component", type: ThyOption, selector: "thy-option", inputs: ["thyValue", "thyRawValue", "thyLabelText", "thyShowOptionCustom", "thySearchKey", "thyDisabled"], outputs: ["selectionChange", "visibleChange"] }, { kind: "ngmodule", type: ThyTooltipModule }, { kind: "component", type: SelectOptionComponent, selector: "select-option", inputs: ["field", "displayOption"] }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ThyEmptyModule }, { kind: "ngmodule", type: ThyFormModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ThySelectModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
11879
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: SelectCellEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11880
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.13", type: SelectCellEditorComponent, isStandalone: true, selector: "select-cell-editor", host: { classAttribute: "d-block h-100 select-cell-editor" }, usesInheritance: true, ngImport: i0, template: "<thy-select\n [(ngModel)]=\"modelValue\"\n [thyAutoExpand]=\"autoFocus()\"\n [thyAllowClear]=\"true\"\n [thyPlaceHolder]=\"''\"\n [thyPreset]=\"preset()\"\n [thyMode]=\"field().settings.is_multiple ? 'multiple' : ''\"\n (ngModelChange)=\"onModelChange($event)\"\n (thyOnExpandStatusChange)=\"onOpenChange($event)\"\n>\n <ng-template #selectedDisplay let-option>\n <select-option [field]=\"field()\" [displayOption]=\"option\"></select-option>\n </ng-template>\n @for (option of selectOptions(); track option._id) {\n <thy-option\n [thyValue]=\"option._id\"\n [hidden]=\"!!option.is_disabled\"\n [thyRawValue]=\"option\"\n [thyShowOptionCustom]=\"true\"\n [thyLabelText]=\"option.text\"\n >\n <select-option [field]=\"field()\" [displayOption]=\"option\"></select-option>\n </thy-option>\n }\n</thy-select>\n", dependencies: [{ kind: "component", type: ThySelect, selector: "thy-select,thy-custom-select", inputs: ["thyDropdownWidthMode", "thyShowSearch", "thyPlaceHolder", "thyServerSearch", "thyLoadState", "thyAutoActiveFirstItem", "thyMode", "thySize", "thyEmptyStateText", "thyEmptySearchMessageText", "thyEnableScrollLoad", "thyAllowClear", "thyDisabled", "thySortComparator", "thyFooterTemplate", "thyPlacement", "thyOrigin", "thyFooterClass", "thyAutoExpand", "thyHasBackdrop", "thyMaxTagCount", "thyBorderless", "thyOptions", "thyPreset"], outputs: ["thyOnSearch", "thyOnScrollToBottom", "thyOnExpandStatusChange"], exportAs: ["thySelect"] }, { kind: "component", type: ThyOption, selector: "thy-option", inputs: ["thyValue", "thyRawValue", "thyLabelText", "thyShowOptionCustom", "thySearchKey", "thyDisabled"], outputs: ["selectionChange", "visibleChange"] }, { kind: "ngmodule", type: ThyTooltipModule }, { kind: "component", type: SelectOptionComponent, selector: "select-option", inputs: ["field", "displayOption"] }, { kind: "ngmodule", type: ThyEmptyModule }, { kind: "ngmodule", type: ThyFormModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ThySelectModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12188
11881
  }
12189
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: SelectCellEditorComponent, decorators: [{
11882
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: SelectCellEditorComponent, decorators: [{
12190
11883
  type: Component,
12191
11884
  args: [{ selector: 'select-cell-editor', changeDetection: ChangeDetectionStrategy.OnPush, host: {
12192
11885
  class: 'd-block h-100 select-cell-editor'
@@ -12195,7 +11888,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
12195
11888
  ThyOption,
12196
11889
  ThyTooltipModule,
12197
11890
  SelectOptionComponent,
12198
- CommonModule,
12199
11891
  ThyEmptyModule,
12200
11892
  ThyFormModule,
12201
11893
  FormsModule,
@@ -12206,7 +11898,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
12206
11898
  class TextCellEditorComponent extends AbstractEditCellEditor {
12207
11899
  constructor() {
12208
11900
  super();
12209
- this.isSelectAll = input(false);
11901
+ this.isSelectAll = input(false, ...(ngDevMode ? [{ debugName: "isSelectAll" }] : []));
12210
11902
  }
12211
11903
  ngOnInit() {
12212
11904
  super.ngOnInit();
@@ -12235,8 +11927,8 @@ class TextCellEditorComponent extends AbstractEditCellEditor {
12235
11927
  super.update();
12236
11928
  this.closePopover();
12237
11929
  }
12238
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: TextCellEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12239
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: TextCellEditorComponent, isStandalone: true, selector: "text-cell-editor", inputs: { isSelectAll: { classPropertyName: "isSelectAll", publicName: "isSelectAll", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "text-cell-editor" }, usesInheritance: true, ngImport: i0, template: `
11930
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: TextCellEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11931
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.13", type: TextCellEditorComponent, isStandalone: true, selector: "text-cell-editor", inputs: { isSelectAll: { classPropertyName: "isSelectAll", publicName: "isSelectAll", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "text-cell-editor" }, usesInheritance: true, ngImport: i0, template: `
12240
11932
  <textarea
12241
11933
  #textarea
12242
11934
  placeholder=""
@@ -12250,7 +11942,7 @@ class TextCellEditorComponent extends AbstractEditCellEditor {
12250
11942
  ></textarea>
12251
11943
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ThyAutofocusDirective, selector: "input[thyAutofocus],textarea[thyAutofocus]", inputs: ["thyAutofocus", "thyAutoSelect"] }, { kind: "directive", type: ThyInputDirective, selector: "input[thyInput], select[thyInput], textarea[thyInput]", inputs: ["thySize"], exportAs: ["thyInput"] }, { kind: "directive", type: ThyEnterDirective, selector: "[thyEnter]", outputs: ["thyEnter"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12252
11944
  }
12253
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: TextCellEditorComponent, decorators: [{
11945
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: TextCellEditorComponent, decorators: [{
12254
11946
  type: Component,
12255
11947
  args: [{
12256
11948
  selector: 'text-cell-editor',
@@ -12273,16 +11965,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
12273
11965
  class: 'text-cell-editor'
12274
11966
  }
12275
11967
  }]
12276
- }], ctorParameters: () => [] });
11968
+ }], ctorParameters: () => [], propDecorators: { isSelectAll: [{ type: i0.Input, args: [{ isSignal: true, alias: "isSelectAll", required: false }] }] } });
12277
11969
 
12278
11970
  class SelectOptionPipe {
12279
11971
  transform(_id, options) {
12280
11972
  return options?.length && options.find((item) => item._id === _id);
12281
11973
  }
12282
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: SelectOptionPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12283
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.10", ngImport: i0, type: SelectOptionPipe, isStandalone: true, name: "selectOption" }); }
11974
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: SelectOptionPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
11975
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.13", ngImport: i0, type: SelectOptionPipe, isStandalone: true, name: "selectOption" }); }
12284
11976
  }
12285
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: SelectOptionPipe, decorators: [{
11977
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: SelectOptionPipe, decorators: [{
12286
11978
  type: Pipe,
12287
11979
  args: [{
12288
11980
  name: 'selectOption'
@@ -12296,10 +11988,10 @@ class SelectOptionsPipe {
12296
11988
  })) ||
12297
11989
  []);
12298
11990
  }
12299
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: SelectOptionsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12300
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.10", ngImport: i0, type: SelectOptionsPipe, isStandalone: true, name: "selectOptions" }); }
11991
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: SelectOptionsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
11992
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.13", ngImport: i0, type: SelectOptionsPipe, isStandalone: true, name: "selectOptions" }); }
12301
11993
  }
12302
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: SelectOptionsPipe, decorators: [{
11994
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: SelectOptionsPipe, decorators: [{
12303
11995
  type: Pipe,
12304
11996
  args: [{
12305
11997
  name: 'selectOptions'
@@ -12309,10 +12001,10 @@ class IsSelectRecordPipe {
12309
12001
  transform(recordId, selection) {
12310
12002
  return selection.selectedRecords.has(recordId);
12311
12003
  }
12312
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: IsSelectRecordPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12313
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.10", ngImport: i0, type: IsSelectRecordPipe, isStandalone: true, name: "isSelectRecord" }); }
12004
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: IsSelectRecordPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12005
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.13", ngImport: i0, type: IsSelectRecordPipe, isStandalone: true, name: "isSelectRecord" }); }
12314
12006
  }
12315
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: IsSelectRecordPipe, decorators: [{
12007
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: IsSelectRecordPipe, decorators: [{
12316
12008
  type: Pipe,
12317
12009
  args: [{
12318
12010
  name: 'isSelectRecord'
@@ -12326,10 +12018,10 @@ class UserPipe {
12326
12018
  })) ||
12327
12019
  []);
12328
12020
  }
12329
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: UserPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12330
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.10", ngImport: i0, type: UserPipe, isStandalone: true, name: "user" }); }
12021
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: UserPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12022
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.13", ngImport: i0, type: UserPipe, isStandalone: true, name: "user" }); }
12331
12023
  }
12332
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: UserPipe, decorators: [{
12024
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: UserPipe, decorators: [{
12333
12025
  type: Pipe,
12334
12026
  args: [{
12335
12027
  name: 'user'
@@ -12339,10 +12031,10 @@ class SelectSettingPipe {
12339
12031
  transform(settings) {
12340
12032
  return settings;
12341
12033
  }
12342
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: SelectSettingPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12343
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.10", ngImport: i0, type: SelectSettingPipe, isStandalone: true, name: "selectSetting" }); }
12034
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: SelectSettingPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12035
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.13", ngImport: i0, type: SelectSettingPipe, isStandalone: true, name: "selectSetting" }); }
12344
12036
  }
12345
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: SelectSettingPipe, decorators: [{
12037
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: SelectSettingPipe, decorators: [{
12346
12038
  type: Pipe,
12347
12039
  args: [{
12348
12040
  name: 'selectSetting'
@@ -12352,10 +12044,10 @@ class MemberSettingPipe {
12352
12044
  transform(settings) {
12353
12045
  return settings;
12354
12046
  }
12355
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: MemberSettingPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12356
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.10", ngImport: i0, type: MemberSettingPipe, isStandalone: true, name: "memberSetting" }); }
12047
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: MemberSettingPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12048
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.13", ngImport: i0, type: MemberSettingPipe, isStandalone: true, name: "memberSetting" }); }
12357
12049
  }
12358
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: MemberSettingPipe, decorators: [{
12050
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: MemberSettingPipe, decorators: [{
12359
12051
  type: Pipe,
12360
12052
  args: [{
12361
12053
  name: 'memberSetting'
@@ -12365,10 +12057,10 @@ class AITableFieldIsSameOptionPipe {
12365
12057
  transform(fieldOption, field) {
12366
12058
  return isSameFieldOption(fieldOption, field);
12367
12059
  }
12368
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableFieldIsSameOptionPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12369
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.10", ngImport: i0, type: AITableFieldIsSameOptionPipe, isStandalone: true, name: "fieldIsSameOption" }); }
12060
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableFieldIsSameOptionPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12061
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.13", ngImport: i0, type: AITableFieldIsSameOptionPipe, isStandalone: true, name: "fieldIsSameOption" }); }
12370
12062
  }
12371
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableFieldIsSameOptionPipe, decorators: [{
12063
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableFieldIsSameOptionPipe, decorators: [{
12372
12064
  type: Pipe,
12373
12065
  args: [{
12374
12066
  name: 'fieldIsSameOption'
@@ -12377,16 +12069,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
12377
12069
 
12378
12070
  class AITableFieldSetting {
12379
12071
  constructor() {
12380
- this.aiEditField = model.required();
12381
- this.aiTable = input.required();
12382
- this.aiExternalTemplate = input(null);
12383
- this.aiReferences = input();
12384
- this.isUpdate = input(false, { transform: booleanAttribute });
12072
+ this.aiEditField = model.required(...(ngDevMode ? [{ debugName: "aiEditField" }] : []));
12073
+ this.aiTable = input.required(...(ngDevMode ? [{ debugName: "aiTable" }] : []));
12074
+ this.aiExternalTemplate = input(null, ...(ngDevMode ? [{ debugName: "aiExternalTemplate" }] : []));
12075
+ this.aiReferences = input(...(ngDevMode ? [undefined, { debugName: "aiReferences" }] : []));
12076
+ this.isUpdate = input(false, ...(ngDevMode ? [{ debugName: "isUpdate", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
12385
12077
  this.addField = output();
12386
12078
  this.setField = output();
12387
12079
  this.selectedFieldOption = computed(() => {
12388
12080
  return getFieldOptionByField(this.aiTable(), this.aiEditField());
12389
- });
12081
+ }, ...(ngDevMode ? [{ debugName: "selectedFieldOption" }] : []));
12390
12082
  this.fieldMaxLength = 32;
12391
12083
  this.validatorConfig = computed(() => {
12392
12084
  return {
@@ -12397,14 +12089,14 @@ class AITableFieldSetting {
12397
12089
  }
12398
12090
  }
12399
12091
  };
12400
- });
12092
+ }, ...(ngDevMode ? [{ debugName: "validatorConfig" }] : []));
12401
12093
  this.fieldOptions = computed(() => {
12402
12094
  const fieldOptions = getFieldOptions(this.aiTable());
12403
12095
  return _.groupBy(fieldOptions, 'group');
12404
- });
12096
+ }, ...(ngDevMode ? [{ debugName: "fieldOptions" }] : []));
12405
12097
  this.aITableFieldType = AITableFieldType;
12406
12098
  this.isMultipleMember = false;
12407
- this.isManualInputName = signal(false);
12099
+ this.isManualInputName = signal(false, ...(ngDevMode ? [{ debugName: "isManualInputName" }] : []));
12408
12100
  this.thyPopoverRef = inject((ThyPopoverRef));
12409
12101
  this.checkUniqueName = (fieldName) => {
12410
12102
  fieldName = fieldName?.trim();
@@ -12423,7 +12115,7 @@ class AITableFieldSetting {
12423
12115
  base: getI18nTextByKey(this.aiTable(), AITableGridI18nKey.fieldGroupBase),
12424
12116
  advanced: getI18nTextByKey(this.aiTable(), AITableGridI18nKey.fieldGroupAdvanced)
12425
12117
  };
12426
- });
12118
+ }, ...(ngDevMode ? [{ debugName: "i18nTexts" }] : []));
12427
12119
  }
12428
12120
  ngOnInit() {
12429
12121
  this.originField = this.aiEditField();
@@ -12488,10 +12180,10 @@ class AITableFieldSetting {
12488
12180
  cancel() {
12489
12181
  this.thyPopoverRef.close();
12490
12182
  }
12491
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableFieldSetting, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12492
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AITableFieldSetting, isStandalone: true, selector: "ai-table-field-setting", inputs: { aiEditField: { classPropertyName: "aiEditField", publicName: "aiEditField", isSignal: true, isRequired: true, transformFunction: null }, aiTable: { classPropertyName: "aiTable", publicName: "aiTable", isSignal: true, isRequired: true, transformFunction: null }, aiExternalTemplate: { classPropertyName: "aiExternalTemplate", publicName: "aiExternalTemplate", isSignal: true, isRequired: false, transformFunction: null }, aiReferences: { classPropertyName: "aiReferences", publicName: "aiReferences", isSignal: true, isRequired: false, transformFunction: null }, isUpdate: { classPropertyName: "isUpdate", publicName: "isUpdate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { aiEditField: "aiEditFieldChange", addField: "addField", setField: "setField" }, host: { classAttribute: "field-setting d-block pl-5 pr-5 pb-5 pt-4" }, ngImport: i0, template: "<form thyForm name=\"createPropertyForm\" [thyFormValidatorConfig]=\"validatorConfig()\" thyLayout=\"vertical\">\n <thy-form-group thyLabelRequired [thyLabelText]=\"i18nTexts().columnName\">\n <thy-input-group>\n <input\n thyInput\n [thyAutofocus]=\"true\"\n name=\"fieldName\"\n [maxlength]=\"fieldMaxLength\"\n [(ngModel)]=\"aiEditField().name\"\n (ngModelChange)=\"nameChange($event)\"\n required\n [placeholder]=\"i18nTexts().columnNamePlaceholder\"\n [thyUniqueCheck]=\"checkUniqueName\"\n />\n <ng-template #suffix>\n <thy-input-count></thy-input-count>\n </ng-template>\n </thy-input-group>\n </thy-form-group>\n <thy-form-group [thyLabelText]=\"i18nTexts().fieldType\">\n <div class=\"thy-dropdown-menu py-0\">\n <div class=\"ml-n5 mr-n5\">\n <span thyDropdownMenuItem [thyDropdown]=\"menu\" thyTrigger=\"hover\" thyPlacement=\"right\" (click)=\"fieldTypeClick($event)\">\n <thy-icon thyDropdownMenuItemIcon [thyIconName]=\"selectedFieldOption().icon\"></thy-icon>\n <span thyDropdownMenuItemName>{{ selectedFieldOption().name }}</span>\n <thy-icon thyDropdownMenuItemExtendIcon thyIconName=\"angle-right\" class=\"text-desc\"></thy-icon>\n </span>\n </div>\n </div>\n\n @if (selectedFieldOption().type === aITableFieldType.member) {\n <div class=\"d-flex justify-content-between mt-3\">\n {{ i18nTexts().allowMultipleMembers }}\n <thy-switch\n name=\"isMultipleMember\"\n [(ngModel)]=\"isMultipleMember\"\n (ngModelChange)=\"multipleMemberChange()\"\n thySize=\"sm\"\n ></thy-switch>\n </div>\n }\n </thy-form-group>\n @if (aiExternalTemplate()) {\n <ng-container *ngTemplateOutlet=\"aiExternalTemplate()\"></ng-container>\n }\n <thy-form-group-footer thyAlign=\"right\">\n <button thyButton=\"link-secondary\" (click)=\"cancel()\" thySize=\"sm\">{{ i18nTexts().cancel }}</button>\n <button thyButton=\"primary\" (thyFormSubmit)=\"editFieldProperty()\" thySize=\"sm\">{{ i18nTexts().confirm }}</button>\n </thy-form-group-footer>\n</form>\n\n<thy-dropdown-menu #menu>\n <div class=\"ai-table-field-type-menu\">\n <thy-dropdown-menu-group [thyTitle]=\"i18nTexts().base\">\n @for (item of fieldOptions().base; track $index) {\n <a\n thyDropdownMenuItem\n href=\"javascript:;\"\n [ngClass]=\"{\n active: (item | fieldIsSameOption: aiEditField())\n }\"\n (click)=\"selectFieldType(item)\"\n >\n <thy-icon [thyIconName]=\"item.icon!\"></thy-icon>\n <span thyDropdownMenuItemName>{{ item.name }}</span>\n </a>\n }\n </thy-dropdown-menu-group>\n <thy-dropdown-menu-group [thyTitle]=\"i18nTexts().advanced\">\n @for (item of fieldOptions().advanced; track $index) {\n <a\n thyDropdownMenuItem\n href=\"javascript:;\"\n [ngClass]=\"{\n active: (item | fieldIsSameOption: aiEditField())\n }\"\n (click)=\"selectFieldType(item)\"\n >\n <thy-icon [thyIconName]=\"item.icon!\"></thy-icon>\n <span thyDropdownMenuItemName>{{ item.name }}</span>\n </a>\n }\n </thy-dropdown-menu-group>\n </div>\n</thy-dropdown-menu>\n", styles: [":host{width:350px}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "component", type: ThyInputGroup, selector: "thy-input-group", inputs: ["thyAppendText", "thyAppendTextTranslateKey", "thyPrependText", "thyPrependTextTranslateKey", "thySize"] }, { kind: "component", type: ThyInputCount, selector: "thy-input-count", inputs: ["thyInput"] }, { kind: "directive", type: ThyInputDirective, selector: "input[thyInput], select[thyInput], textarea[thyInput]", inputs: ["thySize"], exportAs: ["thyInput"] }, { kind: "directive", type: ThyUniqueCheckValidator, selector: "[thyUniqueCheck]", inputs: ["thyUniqueCheck"] }, { kind: "component", type: ThyDropdownMenuComponent, selector: "thy-dropdown-menu", inputs: ["thyWidth", "thyImmediateRender"] }, { kind: "component", type: ThyDropdownMenuGroup, selector: "thy-dropdown-menu-group", inputs: ["thyTitle"] }, { kind: "directive", type: ThyDropdownDirective, selector: "[thyDropdown]", inputs: ["thyDropdownMenu", "thyDropdown", "thyTrigger", "thyShowDelay", "thyHideDelay", "thyActiveClass", "thyPopoverOptions", "thyPlacement", "thyMenuInsideClosable", "thyPanelClass"], outputs: ["thyActiveChange"] }, { kind: "directive", type: ThyDropdownMenuItemDirective, selector: "[thyDropdownMenuItem]", inputs: ["thyType", "thyDisabled"] }, { kind: "directive", type: ThyDropdownMenuItemIconDirective, selector: "[thyDropdownMenuItemIcon]" }, { kind: "directive", type: ThyDropdownMenuItemNameDirective, selector: "[thyDropdownMenuItemName]" }, { kind: "directive", type: ThyDropdownMenuItemExtendIconDirective, selector: "[thyDropdownMenuItemExtendIcon]" }, { kind: "component", type: ThyButton, selector: "thy-button,[thy-button],[thyButton]", inputs: ["thyButton", "thyType", "thyLoading", "thyLoadingText", "thySize", "thyIcon", "thyBlock"] }, { kind: "component", type: ThySwitch, selector: "thy-switch", inputs: ["thyType", "thySize", "thyDisabled", "thyLoading"], outputs: ["thyChange"] }, { kind: "ngmodule", type: ThyFormModule }, { kind: "directive", type: i2.ThyFormDirective, selector: "[thyForm],[thy-form]", inputs: ["thyLayout", "thyEnterKeyMode", "thyFormValidatorConfig"], exportAs: ["thyForm"] }, { kind: "component", type: i2.ThyFormGroup, selector: "thy-form-group", inputs: ["thyLabelText", "thyLabelTextTranslateKey", "thyLabelRequired", "thyLabelPaddingTopClear", "thyFeedbackIcon", "thyTipsMode", "thyTips", "thyTipsTranslateKey", "thyRowFill"] }, { kind: "directive", type: i2.ThyFormSubmitDirective, selector: "[thyFormSubmit],[thy-form-submit]", outputs: ["thyFormSubmit"] }, { kind: "component", type: i2.ThyFormGroupFooter, selector: "thy-form-group-footer", inputs: ["thyAlign"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: ThyAutofocusDirective, selector: "input[thyAutofocus],textarea[thyAutofocus]", inputs: ["thyAutofocus", "thyAutoSelect"] }, { kind: "pipe", type: AITableFieldIsSameOptionPipe, name: "fieldIsSameOption" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12183
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableFieldSetting, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12184
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.13", type: AITableFieldSetting, isStandalone: true, selector: "ai-table-field-setting", inputs: { aiEditField: { classPropertyName: "aiEditField", publicName: "aiEditField", isSignal: true, isRequired: true, transformFunction: null }, aiTable: { classPropertyName: "aiTable", publicName: "aiTable", isSignal: true, isRequired: true, transformFunction: null }, aiExternalTemplate: { classPropertyName: "aiExternalTemplate", publicName: "aiExternalTemplate", isSignal: true, isRequired: false, transformFunction: null }, aiReferences: { classPropertyName: "aiReferences", publicName: "aiReferences", isSignal: true, isRequired: false, transformFunction: null }, isUpdate: { classPropertyName: "isUpdate", publicName: "isUpdate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { aiEditField: "aiEditFieldChange", addField: "addField", setField: "setField" }, host: { classAttribute: "field-setting d-block pl-5 pr-5 pb-5 pt-4" }, ngImport: i0, template: "<form thyForm name=\"createPropertyForm\" [thyFormValidatorConfig]=\"validatorConfig()\" thyLayout=\"vertical\">\n <thy-form-group thyLabelRequired [thyLabelText]=\"i18nTexts().columnName\">\n <thy-input-group>\n <input\n thyInput\n [thyAutofocus]=\"true\"\n name=\"fieldName\"\n [maxlength]=\"fieldMaxLength\"\n [(ngModel)]=\"aiEditField().name\"\n (ngModelChange)=\"nameChange($event)\"\n required\n [placeholder]=\"i18nTexts().columnNamePlaceholder\"\n [thyUniqueCheck]=\"checkUniqueName\"\n />\n <ng-template #suffix>\n <thy-input-count></thy-input-count>\n </ng-template>\n </thy-input-group>\n </thy-form-group>\n <thy-form-group [thyLabelText]=\"i18nTexts().fieldType\">\n <div class=\"thy-dropdown-menu py-0\">\n <div class=\"ml-n5 mr-n5\">\n <span thyDropdownMenuItem [thyDropdown]=\"menu\" thyTrigger=\"hover\" thyPlacement=\"right\" (click)=\"fieldTypeClick($event)\">\n <thy-icon thyDropdownMenuItemIcon [thyIconName]=\"selectedFieldOption().icon\"></thy-icon>\n <span thyDropdownMenuItemName>{{ selectedFieldOption().name }}</span>\n <thy-icon thyDropdownMenuItemExtendIcon thyIconName=\"angle-right\" class=\"text-desc\"></thy-icon>\n </span>\n </div>\n </div>\n\n @if (selectedFieldOption().type === aITableFieldType.member) {\n <div class=\"d-flex justify-content-between mt-3\">\n {{ i18nTexts().allowMultipleMembers }}\n <thy-switch\n name=\"isMultipleMember\"\n [(ngModel)]=\"isMultipleMember\"\n (ngModelChange)=\"multipleMemberChange()\"\n thySize=\"sm\"\n ></thy-switch>\n </div>\n }\n </thy-form-group>\n @if (aiExternalTemplate()) {\n <ng-container *ngTemplateOutlet=\"aiExternalTemplate()\"></ng-container>\n }\n <thy-form-group-footer thyAlign=\"right\">\n <button thyButton=\"link-secondary\" (click)=\"cancel()\" thySize=\"sm\">{{ i18nTexts().cancel }}</button>\n <button thyButton=\"primary\" (thyFormSubmit)=\"editFieldProperty()\" thySize=\"sm\">{{ i18nTexts().confirm }}</button>\n </thy-form-group-footer>\n</form>\n\n<thy-dropdown-menu #menu>\n <div class=\"ai-table-field-type-menu\">\n <thy-dropdown-menu-group [thyTitle]=\"i18nTexts().base\">\n @for (item of fieldOptions().base; track $index) {\n <a\n thyDropdownMenuItem\n href=\"javascript:;\"\n [ngClass]=\"{\n active: (item | fieldIsSameOption: aiEditField())\n }\"\n (click)=\"selectFieldType(item)\"\n >\n <thy-icon [thyIconName]=\"item.icon!\"></thy-icon>\n <span thyDropdownMenuItemName>{{ item.name }}</span>\n </a>\n }\n </thy-dropdown-menu-group>\n <thy-dropdown-menu-group [thyTitle]=\"i18nTexts().advanced\">\n @for (item of fieldOptions().advanced; track $index) {\n <a\n thyDropdownMenuItem\n href=\"javascript:;\"\n [ngClass]=\"{\n active: (item | fieldIsSameOption: aiEditField())\n }\"\n (click)=\"selectFieldType(item)\"\n >\n <thy-icon [thyIconName]=\"item.icon!\"></thy-icon>\n <span thyDropdownMenuItemName>{{ item.name }}</span>\n </a>\n }\n </thy-dropdown-menu-group>\n </div>\n</thy-dropdown-menu>\n", styles: [":host{width:350px}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "component", type: ThyInputGroup, selector: "thy-input-group", inputs: ["thyAppendText", "thyAppendTextTranslateKey", "thyPrependText", "thyPrependTextTranslateKey", "thySize"] }, { kind: "component", type: ThyInputCount, selector: "thy-input-count", inputs: ["thyInput"] }, { kind: "directive", type: ThyInputDirective, selector: "input[thyInput], select[thyInput], textarea[thyInput]", inputs: ["thySize"], exportAs: ["thyInput"] }, { kind: "directive", type: ThyUniqueCheckValidator, selector: "[thyUniqueCheck]", inputs: ["thyUniqueCheck"] }, { kind: "component", type: ThyDropdownMenuComponent, selector: "thy-dropdown-menu", inputs: ["thyWidth", "thyImmediateRender"] }, { kind: "component", type: ThyDropdownMenuGroup, selector: "thy-dropdown-menu-group", inputs: ["thyTitle"] }, { kind: "directive", type: ThyDropdownDirective, selector: "[thyDropdown]", inputs: ["thyDropdownMenu", "thyDropdown", "thyTrigger", "thyShowDelay", "thyHideDelay", "thyActiveClass", "thyPopoverOptions", "thyPlacement", "thyMenuInsideClosable", "thyPanelClass"], outputs: ["thyActiveChange"] }, { kind: "directive", type: ThyDropdownMenuItemDirective, selector: "[thyDropdownMenuItem]", inputs: ["thyType", "thyDisabled"] }, { kind: "directive", type: ThyDropdownMenuItemIconDirective, selector: "[thyDropdownMenuItemIcon]" }, { kind: "directive", type: ThyDropdownMenuItemNameDirective, selector: "[thyDropdownMenuItemName]" }, { kind: "directive", type: ThyDropdownMenuItemExtendIconDirective, selector: "[thyDropdownMenuItemExtendIcon]" }, { kind: "component", type: ThyButton, selector: "thy-button,[thy-button],[thyButton]", inputs: ["thyButton", "thyType", "thyLoading", "thyLoadingText", "thySize", "thyIcon", "thyBlock"] }, { kind: "component", type: ThySwitch, selector: "thy-switch", inputs: ["thyType", "thySize", "thyDisabled", "thyLoading"], outputs: ["thyChange"] }, { kind: "ngmodule", type: ThyFormModule }, { kind: "directive", type: i2.ThyFormDirective, selector: "[thyForm],[thy-form]", inputs: ["thyLayout", "thyEnterKeyMode", "thyFormValidatorConfig"], exportAs: ["thyForm"] }, { kind: "component", type: i2.ThyFormGroup, selector: "thy-form-group", inputs: ["thyLabelText", "thyLabelTextTranslateKey", "thyLabelRequired", "thyLabelPaddingTopClear", "thyFeedbackIcon", "thyTipsMode", "thyTips", "thyTipsTranslateKey", "thyRowFill"] }, { kind: "directive", type: i2.ThyFormSubmitDirective, selector: "[thyFormSubmit],[thy-form-submit]", outputs: ["thyFormSubmit"] }, { kind: "component", type: i2.ThyFormGroupFooter, selector: "thy-form-group-footer", inputs: ["thyAlign"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: ThyAutofocusDirective, selector: "input[thyAutofocus],textarea[thyAutofocus]", inputs: ["thyAutofocus", "thyAutoSelect"] }, { kind: "pipe", type: AITableFieldIsSameOptionPipe, name: "fieldIsSameOption" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12493
12185
  }
12494
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableFieldSetting, decorators: [{
12186
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableFieldSetting, decorators: [{
12495
12187
  type: Component,
12496
12188
  args: [{ selector: 'ai-table-field-setting', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
12497
12189
  NgClass,
@@ -12517,18 +12209,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
12517
12209
  ], host: {
12518
12210
  class: 'field-setting d-block pl-5 pr-5 pb-5 pt-4'
12519
12211
  }, template: "<form thyForm name=\"createPropertyForm\" [thyFormValidatorConfig]=\"validatorConfig()\" thyLayout=\"vertical\">\n <thy-form-group thyLabelRequired [thyLabelText]=\"i18nTexts().columnName\">\n <thy-input-group>\n <input\n thyInput\n [thyAutofocus]=\"true\"\n name=\"fieldName\"\n [maxlength]=\"fieldMaxLength\"\n [(ngModel)]=\"aiEditField().name\"\n (ngModelChange)=\"nameChange($event)\"\n required\n [placeholder]=\"i18nTexts().columnNamePlaceholder\"\n [thyUniqueCheck]=\"checkUniqueName\"\n />\n <ng-template #suffix>\n <thy-input-count></thy-input-count>\n </ng-template>\n </thy-input-group>\n </thy-form-group>\n <thy-form-group [thyLabelText]=\"i18nTexts().fieldType\">\n <div class=\"thy-dropdown-menu py-0\">\n <div class=\"ml-n5 mr-n5\">\n <span thyDropdownMenuItem [thyDropdown]=\"menu\" thyTrigger=\"hover\" thyPlacement=\"right\" (click)=\"fieldTypeClick($event)\">\n <thy-icon thyDropdownMenuItemIcon [thyIconName]=\"selectedFieldOption().icon\"></thy-icon>\n <span thyDropdownMenuItemName>{{ selectedFieldOption().name }}</span>\n <thy-icon thyDropdownMenuItemExtendIcon thyIconName=\"angle-right\" class=\"text-desc\"></thy-icon>\n </span>\n </div>\n </div>\n\n @if (selectedFieldOption().type === aITableFieldType.member) {\n <div class=\"d-flex justify-content-between mt-3\">\n {{ i18nTexts().allowMultipleMembers }}\n <thy-switch\n name=\"isMultipleMember\"\n [(ngModel)]=\"isMultipleMember\"\n (ngModelChange)=\"multipleMemberChange()\"\n thySize=\"sm\"\n ></thy-switch>\n </div>\n }\n </thy-form-group>\n @if (aiExternalTemplate()) {\n <ng-container *ngTemplateOutlet=\"aiExternalTemplate()\"></ng-container>\n }\n <thy-form-group-footer thyAlign=\"right\">\n <button thyButton=\"link-secondary\" (click)=\"cancel()\" thySize=\"sm\">{{ i18nTexts().cancel }}</button>\n <button thyButton=\"primary\" (thyFormSubmit)=\"editFieldProperty()\" thySize=\"sm\">{{ i18nTexts().confirm }}</button>\n </thy-form-group-footer>\n</form>\n\n<thy-dropdown-menu #menu>\n <div class=\"ai-table-field-type-menu\">\n <thy-dropdown-menu-group [thyTitle]=\"i18nTexts().base\">\n @for (item of fieldOptions().base; track $index) {\n <a\n thyDropdownMenuItem\n href=\"javascript:;\"\n [ngClass]=\"{\n active: (item | fieldIsSameOption: aiEditField())\n }\"\n (click)=\"selectFieldType(item)\"\n >\n <thy-icon [thyIconName]=\"item.icon!\"></thy-icon>\n <span thyDropdownMenuItemName>{{ item.name }}</span>\n </a>\n }\n </thy-dropdown-menu-group>\n <thy-dropdown-menu-group [thyTitle]=\"i18nTexts().advanced\">\n @for (item of fieldOptions().advanced; track $index) {\n <a\n thyDropdownMenuItem\n href=\"javascript:;\"\n [ngClass]=\"{\n active: (item | fieldIsSameOption: aiEditField())\n }\"\n (click)=\"selectFieldType(item)\"\n >\n <thy-icon [thyIconName]=\"item.icon!\"></thy-icon>\n <span thyDropdownMenuItemName>{{ item.name }}</span>\n </a>\n }\n </thy-dropdown-menu-group>\n </div>\n</thy-dropdown-menu>\n", styles: [":host{width:350px}\n"] }]
12520
- }] });
12212
+ }], propDecorators: { aiEditField: [{ type: i0.Input, args: [{ isSignal: true, alias: "aiEditField", required: true }] }, { type: i0.Output, args: ["aiEditFieldChange"] }], aiTable: [{ type: i0.Input, args: [{ isSignal: true, alias: "aiTable", required: true }] }], aiExternalTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "aiExternalTemplate", required: false }] }], aiReferences: [{ type: i0.Input, args: [{ isSignal: true, alias: "aiReferences", required: false }] }], isUpdate: [{ type: i0.Input, args: [{ isSignal: true, alias: "isUpdate", required: false }] }], addField: [{ type: i0.Output, args: ["addField"] }], setField: [{ type: i0.Output, args: ["setField"] }] } });
12521
12213
 
12522
12214
  class AITableContextMenu extends ThyDropdownAbstractMenu {
12523
12215
  constructor() {
12524
12216
  super(...arguments);
12525
12217
  this.notifyService = inject(ThyNotifyService);
12526
12218
  this.thyPopoverRef = inject(ThyPopoverRef);
12527
- this.aiTable = input.required();
12528
- this.menuItems = input.required();
12529
- this.targetName = input.required();
12530
- this.position = input.required();
12531
- this.maxCount = computed(() => this.aiTable().context?.maxRecords() - this.aiTable().records().length);
12219
+ this.aiTable = input.required(...(ngDevMode ? [{ debugName: "aiTable" }] : []));
12220
+ this.menuItems = input.required(...(ngDevMode ? [{ debugName: "menuItems" }] : []));
12221
+ this.targetName = input.required(...(ngDevMode ? [{ debugName: "targetName" }] : []));
12222
+ this.position = input.required(...(ngDevMode ? [{ debugName: "position" }] : []));
12223
+ this.maxCount = computed(() => this.aiTable().context?.maxRecords() - this.aiTable().records().length, ...(ngDevMode ? [{ debugName: "maxCount" }] : []));
12532
12224
  }
12533
12225
  execute(menu) {
12534
12226
  if ((menu.disabled && !menu.disabled(this.aiTable(), this.targetName(), this.position())) || !menu.disabled) {
@@ -12542,10 +12234,10 @@ class AITableContextMenu extends ThyDropdownAbstractMenu {
12542
12234
  this.execute(menu);
12543
12235
  this.thyPopoverRef.close();
12544
12236
  }
12545
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableContextMenu, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
12546
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AITableContextMenu, isStandalone: true, selector: "ai-table-context-menu", inputs: { aiTable: { classPropertyName: "aiTable", publicName: "aiTable", isSignal: true, isRequired: true, transformFunction: null }, menuItems: { classPropertyName: "menuItems", publicName: "menuItems", isSignal: true, isRequired: true, transformFunction: null }, targetName: { classPropertyName: "targetName", publicName: "targetName", isSignal: true, isRequired: true, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: true, transformFunction: null } }, host: { classAttribute: "context-menu" }, usesInheritance: true, ngImport: i0, template: "@for (menu of menuItems(); track $index) {\n @if ((menu.hidden && !menu.hidden(aiTable(), targetName(), position())) || !menu.hidden) {\n @if (menu.type === 'divider') {\n <thy-divider thyStyle=\"solid\"></thy-divider>\n } @else {\n @let disabled = !!(menu.disabled && menu.disabled(aiTable(), targetName(), position()));\n @let isRemoveRecords = menu.type === 'removeRecords';\n @let isPreventClearSelection =\n menu.type === 'copyCells' ||\n menu.type === 'pasteCells' ||\n menu.type === 'removeRecords' ||\n menu.type === 'insertUpwardRecords' ||\n menu.type === 'insertDownwardRecords';\n\n <a\n thyDropdownMenuItem\n href=\"javascript:;\"\n [ngClass]=\"{\n 'remove-record': isRemoveRecords && !disabled,\n 'ai-table-prevent-clear-selection': isPreventClearSelection && !disabled\n }\"\n draggable=\"false\"\n (click)=\"execute(menu)\"\n [thyDisabled]=\"disabled\"\n >\n <thy-icon thyDropdownMenuItemIcon [thyIconName]=\"menu.icon!\"></thy-icon>\n @if (menu?.isInputNumber) {\n <span thyDropdownMenuItemName class=\"d-flex align-items-center\">\n {{ menu.name }}\n <thy-input-number\n #inputNumber\n class=\"mx-2\"\n thySize=\"sm\"\n [(ngModel)]=\"menu.count\"\n [thyStep]=\"1\"\n [thyMin]=\"1\"\n [thyMax]=\"maxCount()\"\n (click)=\"inputNumberFocus($event)\"\n (thyEnter)=\"itemEnterHandle($event, menu)\"\n thyStopPropagation\n ></thy-input-number>\n {{ menu.nameSuffix }}\n </span>\n } @else {\n <span thyDropdownMenuItemName>{{ menu.name }}</span>\n }\n <span thyDropdownMenuItemMeta class=\"text-desc\">{{ menu.shortcutKey }}</span>\n </a>\n }\n }\n}\n", dependencies: [{ kind: "component", type: ThyInputNumber, selector: "thy-input-number", inputs: ["thyAutoFocus", "thyPlaceholder", "thyDisabled", "thyMax", "thyMin", "thyStep", "thyShowStepControls", "thyStepDelay", "thySize", "thyPrecision", "thySuffix"], outputs: ["thyBlur", "thyFocus", "thyStepChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ThyEnterDirective, selector: "[thyEnter]", outputs: ["thyEnter"] }, { kind: "directive", type: ThyStopPropagationDirective, selector: "[thyStopPropagation]", inputs: ["thyStopPropagation"] }, { kind: "directive", type: ThyDropdownMenuItemDirective, selector: "[thyDropdownMenuItem]", inputs: ["thyType", "thyDisabled"] }, { kind: "directive", type: ThyDropdownMenuItemNameDirective, selector: "[thyDropdownMenuItemName]" }, { kind: "directive", type: ThyDropdownMenuItemIconDirective, selector: "[thyDropdownMenuItemIcon]" }, { kind: "directive", type: ThyDropdownMenuItemMetaDirective, selector: "[thyDropdownMenuItemMeta]" }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ThyDivider, selector: "thy-divider", inputs: ["thyVertical", "thyStyle", "thyColor", "thyText", "thyTextDirection", "thyDeeper"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12237
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableContextMenu, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
12238
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.13", type: AITableContextMenu, isStandalone: true, selector: "ai-table-context-menu", inputs: { aiTable: { classPropertyName: "aiTable", publicName: "aiTable", isSignal: true, isRequired: true, transformFunction: null }, menuItems: { classPropertyName: "menuItems", publicName: "menuItems", isSignal: true, isRequired: true, transformFunction: null }, targetName: { classPropertyName: "targetName", publicName: "targetName", isSignal: true, isRequired: true, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: true, transformFunction: null } }, host: { classAttribute: "context-menu" }, usesInheritance: true, ngImport: i0, template: "@for (menu of menuItems(); track $index) {\n @if ((menu.hidden && !menu.hidden(aiTable(), targetName(), position())) || !menu.hidden) {\n @if (menu.type === 'divider') {\n <thy-divider thyStyle=\"solid\"></thy-divider>\n } @else {\n @let disabled = !!(menu.disabled && menu.disabled(aiTable(), targetName(), position()));\n @let isRemoveRecords = menu.type === 'removeRecords';\n @let isPreventClearSelection =\n menu.type === 'copyCells' ||\n menu.type === 'pasteCells' ||\n menu.type === 'removeRecords' ||\n menu.type === 'insertUpwardRecords' ||\n menu.type === 'insertDownwardRecords';\n\n <a\n thyDropdownMenuItem\n href=\"javascript:;\"\n [ngClass]=\"{\n 'remove-record': isRemoveRecords && !disabled,\n 'ai-table-prevent-clear-selection': isPreventClearSelection && !disabled\n }\"\n draggable=\"false\"\n (click)=\"execute(menu)\"\n [thyDisabled]=\"disabled\"\n >\n <thy-icon thyDropdownMenuItemIcon [thyIconName]=\"menu.icon!\"></thy-icon>\n @if (menu?.isInputNumber) {\n <span thyDropdownMenuItemName class=\"d-flex align-items-center\">\n {{ menu.name }}\n <thy-input-number\n #inputNumber\n class=\"mx-2\"\n thySize=\"sm\"\n [(ngModel)]=\"menu.count\"\n [thyStep]=\"1\"\n [thyMin]=\"1\"\n [thyMax]=\"maxCount()\"\n (click)=\"inputNumberFocus($event)\"\n (thyEnter)=\"itemEnterHandle($event, menu)\"\n thyStopPropagation\n ></thy-input-number>\n {{ menu.nameSuffix }}\n </span>\n } @else {\n <span thyDropdownMenuItemName>{{ menu.name }}</span>\n }\n <span thyDropdownMenuItemMeta class=\"text-desc\">{{ menu.shortcutKey }}</span>\n </a>\n }\n }\n}\n", dependencies: [{ kind: "component", type: ThyInputNumber, selector: "thy-input-number", inputs: ["thyAutoFocus", "thyPlaceholder", "thyDisabled", "thyMax", "thyMin", "thyStep", "thyShowStepControls", "thyStepDelay", "thySize", "thyPrecision", "thySuffix"], outputs: ["thyBlur", "thyFocus", "thyStepChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ThyEnterDirective, selector: "[thyEnter]", outputs: ["thyEnter"] }, { kind: "directive", type: ThyStopPropagationDirective, selector: "[thyStopPropagation]", inputs: ["thyStopPropagation"] }, { kind: "directive", type: ThyDropdownMenuItemDirective, selector: "[thyDropdownMenuItem]", inputs: ["thyType", "thyDisabled"] }, { kind: "directive", type: ThyDropdownMenuItemNameDirective, selector: "[thyDropdownMenuItemName]" }, { kind: "directive", type: ThyDropdownMenuItemIconDirective, selector: "[thyDropdownMenuItemIcon]" }, { kind: "directive", type: ThyDropdownMenuItemMetaDirective, selector: "[thyDropdownMenuItemMeta]" }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ThyDivider, selector: "thy-divider", inputs: ["thyVertical", "thyStyle", "thyColor", "thyText", "thyTextDirection", "thyDeeper"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12547
12239
  }
12548
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableContextMenu, decorators: [{
12240
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableContextMenu, decorators: [{
12549
12241
  type: Component,
12550
12242
  args: [{ selector: 'ai-table-context-menu', changeDetection: ChangeDetectionStrategy.OnPush, host: {
12551
12243
  class: 'context-menu'
@@ -12562,12 +12254,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
12562
12254
  NgClass,
12563
12255
  ThyDivider
12564
12256
  ], template: "@for (menu of menuItems(); track $index) {\n @if ((menu.hidden && !menu.hidden(aiTable(), targetName(), position())) || !menu.hidden) {\n @if (menu.type === 'divider') {\n <thy-divider thyStyle=\"solid\"></thy-divider>\n } @else {\n @let disabled = !!(menu.disabled && menu.disabled(aiTable(), targetName(), position()));\n @let isRemoveRecords = menu.type === 'removeRecords';\n @let isPreventClearSelection =\n menu.type === 'copyCells' ||\n menu.type === 'pasteCells' ||\n menu.type === 'removeRecords' ||\n menu.type === 'insertUpwardRecords' ||\n menu.type === 'insertDownwardRecords';\n\n <a\n thyDropdownMenuItem\n href=\"javascript:;\"\n [ngClass]=\"{\n 'remove-record': isRemoveRecords && !disabled,\n 'ai-table-prevent-clear-selection': isPreventClearSelection && !disabled\n }\"\n draggable=\"false\"\n (click)=\"execute(menu)\"\n [thyDisabled]=\"disabled\"\n >\n <thy-icon thyDropdownMenuItemIcon [thyIconName]=\"menu.icon!\"></thy-icon>\n @if (menu?.isInputNumber) {\n <span thyDropdownMenuItemName class=\"d-flex align-items-center\">\n {{ menu.name }}\n <thy-input-number\n #inputNumber\n class=\"mx-2\"\n thySize=\"sm\"\n [(ngModel)]=\"menu.count\"\n [thyStep]=\"1\"\n [thyMin]=\"1\"\n [thyMax]=\"maxCount()\"\n (click)=\"inputNumberFocus($event)\"\n (thyEnter)=\"itemEnterHandle($event, menu)\"\n thyStopPropagation\n ></thy-input-number>\n {{ menu.nameSuffix }}\n </span>\n } @else {\n <span thyDropdownMenuItemName>{{ menu.name }}</span>\n }\n <span thyDropdownMenuItemMeta class=\"text-desc\">{{ menu.shortcutKey }}</span>\n </a>\n }\n }\n}\n" }]
12565
- }] });
12257
+ }], propDecorators: { aiTable: [{ type: i0.Input, args: [{ isSignal: true, alias: "aiTable", required: true }] }], menuItems: [{ type: i0.Input, args: [{ isSignal: true, alias: "menuItems", required: true }] }], targetName: [{ type: i0.Input, args: [{ isSignal: true, alias: "targetName", required: true }] }], position: [{ type: i0.Input, args: [{ isSignal: true, alias: "position", required: true }] }] } });
12566
12258
 
12567
12259
  class CheckboxMenuSort {
12568
12260
  constructor() {
12569
- this.field = input.required();
12570
- this.menu = input.required();
12261
+ this.field = input.required(...(ngDevMode ? [{ debugName: "field" }] : []));
12262
+ this.menu = input.required(...(ngDevMode ? [{ debugName: "menu" }] : []));
12571
12263
  this.Direction = {
12572
12264
  ascending: 'ascending',
12573
12265
  descending: 'descending'
@@ -12583,8 +12275,8 @@ class CheckboxMenuSort {
12583
12275
  }
12584
12276
  return '按 Z → A 排序';
12585
12277
  }
12586
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CheckboxMenuSort, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12587
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: CheckboxMenuSort, isStandalone: true, selector: "checkbox-menu-sort", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, menu: { classPropertyName: "menu", publicName: "menu", isSignal: true, isRequired: true, transformFunction: null } }, host: { classAttribute: "checkbox-menu-sort" }, ngImport: i0, template: `
12278
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: CheckboxMenuSort, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12279
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.13", type: CheckboxMenuSort, isStandalone: true, selector: "checkbox-menu-sort", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, menu: { classPropertyName: "menu", publicName: "menu", isSignal: true, isRequired: true, transformFunction: null } }, host: { classAttribute: "checkbox-menu-sort" }, ngImport: i0, template: `
12588
12280
  <thy-icon class="sort-icon" [thyIconName]="menu().icon!"></thy-icon>
12589
12281
  <div class="sort-state">
12590
12282
  @if (menu().type === 'sortByAsc') {
@@ -12599,7 +12291,7 @@ class CheckboxMenuSort {
12599
12291
  </div>
12600
12292
  `, isInline: true, dependencies: [{ kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "component", type: ThyCheckbox, selector: "thy-checkbox,[thy-checkbox],[thyCheckbox]", inputs: ["thyIndeterminate"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12601
12293
  }
12602
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CheckboxMenuSort, decorators: [{
12294
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: CheckboxMenuSort, decorators: [{
12603
12295
  type: Component,
12604
12296
  args: [{
12605
12297
  selector: 'checkbox-menu-sort',
@@ -12623,21 +12315,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
12623
12315
  changeDetection: ChangeDetectionStrategy.OnPush,
12624
12316
  imports: [ThyIcon, ThyCheckbox, FormsModule, FormsModule]
12625
12317
  }]
12626
- }] });
12318
+ }], propDecorators: { field: [{ type: i0.Input, args: [{ isSignal: true, alias: "field", required: true }] }], menu: [{ type: i0.Input, args: [{ isSignal: true, alias: "menu", required: true }] }] } });
12627
12319
 
12628
12320
  class AITableFieldMenu extends ThyDropdownAbstractMenu {
12629
12321
  constructor() {
12630
12322
  super(...arguments);
12323
+ this.execMenuCallback = input(...(ngDevMode ? [undefined, { debugName: "execMenuCallback" }] : []));
12631
12324
  this.field = computed(() => {
12632
12325
  return this.aiTable.fields().find((item) => item._id === this.fieldId);
12633
- });
12326
+ }, ...(ngDevMode ? [{ debugName: "field" }] : []));
12634
12327
  }
12635
12328
  getCustomComponent(menu) {
12636
12329
  return menu.customComponent?.(this.aiTable, this.field());
12637
12330
  }
12638
12331
  execute(menu) {
12639
12332
  if ((menu.disabled && !menu.disabled(this.aiTable, this.field)) || !menu.disabled) {
12640
- menu.exec && menu.exec(this.aiTable, this.field, this.origin, this.position);
12333
+ if (menu.exec) {
12334
+ const popoverRef = menu.exec(this.aiTable, this.field, this.origin, this.position);
12335
+ this.execMenuCallback()?.({ menu, popoverRef });
12336
+ }
12641
12337
  }
12642
12338
  }
12643
12339
  getMenuName(menu, field) {
@@ -12646,10 +12342,10 @@ class AITableFieldMenu extends ThyDropdownAbstractMenu {
12646
12342
  }
12647
12343
  return menu.name || '';
12648
12344
  }
12649
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableFieldMenu, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
12650
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AITableFieldMenu, isStandalone: true, selector: "ai-table-field-menu", inputs: { fieldId: "fieldId", aiTable: "aiTable", fieldMenus: "fieldMenus", origin: "origin", position: "position" }, host: { classAttribute: "field-menu" }, usesInheritance: true, ngImport: i0, template: "@if (field()) {\n @for (menu of fieldMenus; track index; let index = $index) {\n @if ((menu.hidden && !menu.hidden(aiTable, field)) || !menu.hidden) {\n @if (menu.type === 'divider') {\n <thy-divider [thyStyle]=\"'solid'\"></thy-divider>\n } @else {\n @let disabled = !!(menu.disabled && menu.disabled(aiTable, field));\n @let isRemoveField = menu.type === 'removeField';\n @let customComponent = getCustomComponent(menu);\n <a\n thyDropdownMenuItem\n href=\"javascript:;\"\n [ngClass]=\"{ 'remove-field': isRemoveField && !disabled }\"\n (click)=\"execute(menu)\"\n [thyDisabled]=\"disabled\"\n >\n @if (customComponent) {\n <ng-container *ngComponentOutlet=\"customComponent; inputs: { field: field(), menu: menu }\"> </ng-container>\n } @else {\n <thy-icon [thyIconName]=\"menu.icon!\"></thy-icon>\n <span>{{ getMenuName(menu, field()) }}</span>\n }\n </a>\n }\n }\n }\n}\n", dependencies: [{ kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "component", type: ThyDivider, selector: "thy-divider", inputs: ["thyVertical", "thyStyle", "thyColor", "thyText", "thyTextDirection", "thyDeeper"] }, { kind: "directive", type: ThyDropdownMenuItemDirective, selector: "[thyDropdownMenuItem]", inputs: ["thyType", "thyDisabled"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12345
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableFieldMenu, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
12346
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.13", type: AITableFieldMenu, isStandalone: true, selector: "ai-table-field-menu", inputs: { fieldId: { classPropertyName: "fieldId", publicName: "fieldId", isSignal: false, isRequired: true, transformFunction: null }, aiTable: { classPropertyName: "aiTable", publicName: "aiTable", isSignal: false, isRequired: true, transformFunction: null }, fieldMenus: { classPropertyName: "fieldMenus", publicName: "fieldMenus", isSignal: false, isRequired: true, transformFunction: null }, origin: { classPropertyName: "origin", publicName: "origin", isSignal: false, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: false, isRequired: false, transformFunction: null }, execMenuCallback: { classPropertyName: "execMenuCallback", publicName: "execMenuCallback", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "field-menu" }, usesInheritance: true, ngImport: i0, template: "@if (field()) {\n @for (menu of fieldMenus; track index; let index = $index) {\n @if ((menu.hidden && !menu.hidden(aiTable, field)) || !menu.hidden) {\n @if (menu.type === 'divider') {\n <thy-divider [thyStyle]=\"'solid'\"></thy-divider>\n } @else {\n @let disabled = !!(menu.disabled && menu.disabled(aiTable, field));\n @let isRemoveField = menu.type === 'removeField';\n @let customComponent = getCustomComponent(menu);\n <a\n thyDropdownMenuItem\n href=\"javascript:;\"\n [ngClass]=\"{ 'remove-field': isRemoveField && !disabled }\"\n (click)=\"execute(menu)\"\n [thyDisabled]=\"disabled\"\n >\n @if (customComponent) {\n <ng-container *ngComponentOutlet=\"customComponent; inputs: { field: field(), menu: menu }\"> </ng-container>\n } @else {\n <thy-icon [thyIconName]=\"menu.icon!\"></thy-icon>\n <span>{{ getMenuName(menu, field()) }}</span>\n }\n </a>\n }\n }\n }\n}\n", dependencies: [{ kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "component", type: ThyDivider, selector: "thy-divider", inputs: ["thyVertical", "thyStyle", "thyColor", "thyText", "thyTextDirection", "thyDeeper"] }, { kind: "directive", type: ThyDropdownMenuItemDirective, selector: "[thyDropdownMenuItem]", inputs: ["thyType", "thyDisabled"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12651
12347
  }
12652
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableFieldMenu, decorators: [{
12348
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableFieldMenu, decorators: [{
12653
12349
  type: Component,
12654
12350
  args: [{ selector: 'ai-table-field-menu', changeDetection: ChangeDetectionStrategy.OnPush, host: {
12655
12351
  class: 'field-menu'
@@ -12667,7 +12363,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
12667
12363
  type: Input
12668
12364
  }], position: [{
12669
12365
  type: Input
12670
- }] } });
12366
+ }], execMenuCallback: [{ type: i0.Input, args: [{ isSignal: true, alias: "execMenuCallback", required: false }] }] } });
12671
12367
 
12672
12368
  const GRID_CELL_EDITOR_MAP = {
12673
12369
  [AITableFieldType.text]: TextCellEditorComponent,
@@ -12680,18 +12376,18 @@ const GRID_CELL_EDITOR_MAP = {
12680
12376
 
12681
12377
  class DynamicCellEditorComponent {
12682
12378
  constructor() {
12683
- this.aiTable = input.required();
12684
- this.fieldId = input.required();
12685
- this.recordId = input.required();
12686
- this.references = input.required();
12379
+ this.aiTable = input.required(...(ngDevMode ? [{ debugName: "aiTable" }] : []));
12380
+ this.fieldId = input.required(...(ngDevMode ? [{ debugName: "fieldId" }] : []));
12381
+ this.recordId = input.required(...(ngDevMode ? [{ debugName: "recordId" }] : []));
12382
+ this.references = input.required(...(ngDevMode ? [{ debugName: "references" }] : []));
12687
12383
  this.updateFieldValues = output();
12688
- this.editorHost = viewChild('editorHost', { read: ViewContainerRef });
12384
+ this.editorHost = viewChild('editorHost', ...(ngDevMode ? [{ debugName: "editorHost", read: ViewContainerRef }] : [{ read: ViewContainerRef }]));
12689
12385
  this.field = computed(() => {
12690
12386
  return this.aiTable().fieldsMap()[this.fieldId()];
12691
- });
12387
+ }, ...(ngDevMode ? [{ debugName: "field" }] : []));
12692
12388
  this.cellValue = computed(() => {
12693
12389
  return AITableQueries.getFieldValue(this.aiTable(), [this.recordId(), this.fieldId()]);
12694
- });
12390
+ }, ...(ngDevMode ? [{ debugName: "cellValue" }] : []));
12695
12391
  effect(() => {
12696
12392
  this.recordId();
12697
12393
  this.fieldId();
@@ -12743,14 +12439,14 @@ class DynamicCellEditorComponent {
12743
12439
  }
12744
12440
  return GRID_CELL_EDITOR_MAP[fieldType];
12745
12441
  }
12746
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DynamicCellEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12747
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.10", type: DynamicCellEditorComponent, isStandalone: true, selector: "ai-dynamic-cell-editor", inputs: { aiTable: { classPropertyName: "aiTable", publicName: "aiTable", isSignal: true, isRequired: true, transformFunction: null }, fieldId: { classPropertyName: "fieldId", publicName: "fieldId", isSignal: true, isRequired: true, transformFunction: null }, recordId: { classPropertyName: "recordId", publicName: "recordId", isSignal: true, isRequired: true, transformFunction: null }, references: { classPropertyName: "references", publicName: "references", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { updateFieldValues: "updateFieldValues" }, viewQueries: [{ propertyName: "editorHost", first: true, predicate: ["editorHost"], descendants: true, read: ViewContainerRef, isSignal: true }], ngImport: i0, template: `
12442
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: DynamicCellEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12443
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.13", type: DynamicCellEditorComponent, isStandalone: true, selector: "ai-dynamic-cell-editor", inputs: { aiTable: { classPropertyName: "aiTable", publicName: "aiTable", isSignal: true, isRequired: true, transformFunction: null }, fieldId: { classPropertyName: "fieldId", publicName: "fieldId", isSignal: true, isRequired: true, transformFunction: null }, recordId: { classPropertyName: "recordId", publicName: "recordId", isSignal: true, isRequired: true, transformFunction: null }, references: { classPropertyName: "references", publicName: "references", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { updateFieldValues: "updateFieldValues" }, viewQueries: [{ propertyName: "editorHost", first: true, predicate: ["editorHost"], descendants: true, read: ViewContainerRef, isSignal: true }], ngImport: i0, template: `
12748
12444
  <div class="ai-dynamic-cell-editor-wrapper">
12749
12445
  <ng-container #editorHost></ng-container>
12750
12446
  </div>
12751
12447
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12752
12448
  }
12753
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DynamicCellEditorComponent, decorators: [{
12449
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: DynamicCellEditorComponent, decorators: [{
12754
12450
  type: Component,
12755
12451
  args: [{
12756
12452
  selector: 'ai-dynamic-cell-editor',
@@ -12761,59 +12457,64 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
12761
12457
  `,
12762
12458
  changeDetection: ChangeDetectionStrategy.OnPush
12763
12459
  }]
12764
- }], ctorParameters: () => [] });
12460
+ }], ctorParameters: () => [], propDecorators: { aiTable: [{ type: i0.Input, args: [{ isSignal: true, alias: "aiTable", required: true }] }], fieldId: [{ type: i0.Input, args: [{ isSignal: true, alias: "fieldId", required: true }] }], recordId: [{ type: i0.Input, args: [{ isSignal: true, alias: "recordId", required: true }] }], references: [{ type: i0.Input, args: [{ isSignal: true, alias: "references", required: true }] }], updateFieldValues: [{ type: i0.Output, args: ["updateFieldValues"] }], editorHost: [{ type: i0.ViewChild, args: ['editorHost', { ...{ read: ViewContainerRef }, isSignal: true }] }] } });
12765
12461
 
12766
12462
  class RecordDetailComponent {
12767
12463
  fieldIconPath(field) {
12768
12464
  return getFieldIconPath(field);
12769
12465
  }
12770
12466
  constructor() {
12771
- this.aiTable = input.required();
12772
- this.recordId = input.required();
12773
- this.references = input.required();
12774
- this.actions = input();
12467
+ this.aiTable = input.required(...(ngDevMode ? [{ debugName: "aiTable" }] : []));
12468
+ this.recordId = input.required(...(ngDevMode ? [{ debugName: "recordId" }] : []));
12469
+ this.references = input.required(...(ngDevMode ? [{ debugName: "references" }] : []));
12470
+ this.actions = input(...(ngDevMode ? [undefined, { debugName: "actions" }] : []));
12775
12471
  this.recordIdChange = output();
12776
- this.internalRecordId = signal('');
12472
+ this.internalRecordId = signal('', ...(ngDevMode ? [{ debugName: "internalRecordId" }] : []));
12473
+ this.readonly = computed(() => {
12474
+ return this.aiTable().context?.readonly?.();
12475
+ }, ...(ngDevMode ? [{ debugName: "readonly" }] : []));
12777
12476
  this.currentRecordId = computed(() => {
12778
12477
  const inputId = this.recordId();
12779
12478
  const internalId = this.internalRecordId();
12780
12479
  return internalId || inputId;
12781
- });
12782
- this.fieldOperationsMenuTemplate = viewChild('fieldOperationsMenuTemplate');
12783
- this.slideRef = inject(ThySlideRef);
12784
- this.thyPopover = inject(ThyPopover);
12480
+ }, ...(ngDevMode ? [{ debugName: "currentRecordId" }] : []));
12481
+ this.fieldOperationsMenuTemplate = viewChild('fieldOperationsMenuTemplate', ...(ngDevMode ? [{ debugName: "fieldOperationsMenuTemplate" }] : []));
12785
12482
  this.record = computed(() => {
12786
12483
  return this.aiTable().recordsMap()[this.currentRecordId()];
12787
- });
12484
+ }, ...(ngDevMode ? [{ debugName: "record" }] : []));
12788
12485
  this.fields = computed(() => {
12789
12486
  return this.aiTable().gridData().fields;
12790
- });
12487
+ }, ...(ngDevMode ? [{ debugName: "fields" }] : []));
12791
12488
  this.firstField = computed(() => {
12792
12489
  return this.aiTable().gridData().fields[0];
12793
- });
12490
+ }, ...(ngDevMode ? [{ debugName: "firstField" }] : []));
12794
12491
  this.lastField = computed(() => {
12795
12492
  const fields = this.aiTable().gridData().fields;
12796
12493
  return fields[fields.length - 1];
12797
- });
12494
+ }, ...(ngDevMode ? [{ debugName: "lastField" }] : []));
12798
12495
  this.recordTitle = computed(() => {
12799
12496
  const firstField = this.firstField();
12800
12497
  if (!firstField)
12801
12498
  return '未命名记录';
12802
12499
  const cellValue = AITableQueries.getFieldValue(this.aiTable(), [this.currentRecordId(), firstField._id]);
12803
12500
  return this.formatCellValue(cellValue, firstField) || '未命名记录';
12804
- });
12501
+ }, ...(ngDevMode ? [{ debugName: "recordTitle" }] : []));
12805
12502
  this.recordNavigation = computed(() => {
12806
12503
  return getRecordNavigationInfo(this.aiTable(), this.currentRecordId());
12807
- });
12504
+ }, ...(ngDevMode ? [{ debugName: "recordNavigation" }] : []));
12808
12505
  this.fieldMenus = computed(() => {
12809
12506
  const fieldMenusFn = this.aiTable()?.context?.aiFieldConfig()?.recordDetailFieldMenus;
12810
12507
  if (fieldMenusFn && this.aiTable()) {
12811
12508
  return fieldMenusFn(this.aiTable());
12812
12509
  }
12813
12510
  return [];
12814
- });
12511
+ }, ...(ngDevMode ? [{ debugName: "fieldMenus" }] : []));
12815
12512
  this.activeFieldId = null;
12816
- this.fieldMenuVisible = {};
12513
+ this.fieldMenuVisible = signal({}, ...(ngDevMode ? [{ debugName: "fieldMenuVisible" }] : []));
12514
+ this.fieldMenuActive = signal({}, ...(ngDevMode ? [{ debugName: "fieldMenuActive" }] : []));
12515
+ this.fieldMenuPopoverRef = null;
12516
+ this.slideRef = inject(ThySlideRef);
12517
+ this.thyPopover = inject(ThyPopover);
12817
12518
  effect(() => {
12818
12519
  const activeCell = this.aiTable().selection().activeCell;
12819
12520
  if (activeCell) {
@@ -12851,15 +12552,20 @@ class RecordDetailComponent {
12851
12552
  setActiveCell(this.aiTable(), [this.currentRecordId(), fieldId]);
12852
12553
  }
12853
12554
  showFieldMenu(fieldId) {
12854
- this.fieldMenuVisible[fieldId] = true;
12555
+ this.fieldMenuVisible.set({ [fieldId]: true });
12855
12556
  }
12856
12557
  hideFieldMenu(fieldId) {
12857
- this.fieldMenuVisible[fieldId] = false;
12558
+ if (!this.fieldMenuPopoverRef) {
12559
+ this.fieldMenuVisible.set({ [fieldId]: false });
12560
+ }
12858
12561
  }
12859
12562
  fieldMenuMoreClick(e, fieldId) {
12860
12563
  const origin = e.target;
12861
12564
  const position = origin.getBoundingClientRect();
12862
- this.thyPopover.open(AITableFieldMenu, {
12565
+ this.fieldMenuVisible.set({ [fieldId]: true });
12566
+ this.fieldMenuActive.set({ [fieldId]: true });
12567
+ let isSelfClose = false;
12568
+ this.fieldMenuPopoverRef = this.thyPopover.open(AITableFieldMenu, {
12863
12569
  origin,
12864
12570
  placement: 'bottomRight',
12865
12571
  manualClosure: true,
@@ -12868,9 +12574,26 @@ class RecordDetailComponent {
12868
12574
  fieldId,
12869
12575
  fieldMenus: this.fieldMenus(),
12870
12576
  origin,
12871
- position
12577
+ position,
12578
+ execMenuCallback: (data) => {
12579
+ isSelfClose = true;
12580
+ this.thyPopover.close();
12581
+ data.popoverRef?.beforeClosed().subscribe(() => {
12582
+ this.fieldMenuVisible.set({ [fieldId]: false });
12583
+ this.fieldMenuActive.set({ [fieldId]: false });
12584
+ });
12585
+ }
12872
12586
  }
12873
12587
  });
12588
+ if (this.fieldMenuPopoverRef) {
12589
+ this.fieldMenuPopoverRef.beforeClosed().subscribe(() => {
12590
+ if (!isSelfClose) {
12591
+ this.fieldMenuVisible.set({ [fieldId]: false });
12592
+ this.fieldMenuActive.set({ [fieldId]: false });
12593
+ }
12594
+ this.fieldMenuPopoverRef = null;
12595
+ });
12596
+ }
12874
12597
  }
12875
12598
  addNewField(e) {
12876
12599
  const origin = e.target;
@@ -12932,13 +12655,13 @@ class RecordDetailComponent {
12932
12655
  return transformValue;
12933
12656
  }
12934
12657
  }
12935
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: RecordDetailComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12936
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: RecordDetailComponent, isStandalone: true, selector: "ai-record-detail", inputs: { aiTable: { classPropertyName: "aiTable", publicName: "aiTable", isSignal: true, isRequired: true, transformFunction: null }, recordId: { classPropertyName: "recordId", publicName: "recordId", isSignal: true, isRequired: true, transformFunction: null }, references: { classPropertyName: "references", publicName: "references", isSignal: true, isRequired: true, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { recordIdChange: "recordIdChange" }, viewQueries: [{ propertyName: "fieldOperationsMenuTemplate", first: true, predicate: ["fieldOperationsMenuTemplate"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"d-flex flex-column ai-record-detail\">\n <div class=\"d-flex align-items-center justify-content-between px-5 record-detail-header\">\n <span class=\"record-title\" [title]=\"recordTitle()\">\n {{ recordTitle() }}\n </span>\n\n <div class=\"record-navigation\">\n <button\n thyButton=\"link-secondary\"\n thySize=\"md\"\n [disabled]=\"!recordNavigation()?.hasPrevious\"\n (click)=\"previousRecord()\"\n title=\"\u4E0A\u4E00\u6761\"\n >\n <thy-icon thyIconName=\"angle-up\"></thy-icon>\n </button>\n <button thyButton=\"link-secondary\" thySize=\"md\" [disabled]=\"!recordNavigation()?.hasNext\" (click)=\"nextRecord()\" title=\"\u4E0B\u4E00\u6761\">\n <thy-icon thyIconName=\"angle-down\"></thy-icon>\n </button>\n </div>\n <thy-divider [thyVertical]=\"true\"></thy-divider>\n <div class=\"header-operations\">\n <button thyButton=\"link-secondary\" thySize=\"md\" [thyPopover]=\"headerMoreMenu\" thyTrigger=\"click\" thyPlacement=\"bottomRight\">\n <thy-icon thyIconName=\"list\"></thy-icon>\n </button>\n\n <ng-template #headerMoreMenu>\n <div class=\"thy-dropdown-menu\">\n <a thyDropdownMenuItem href=\"javascript:;\" (click)=\"deleteRecord()\">\n <thy-icon thyIconName=\"trash\"></thy-icon>\n <span>\u5220\u9664</span>\n </a>\n </div>\n </ng-template>\n\n <button thyButton=\"link-secondary\" thySize=\"md\" (click)=\"close()\" title=\"\u5173\u95ED\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n </button>\n </div>\n </div>\n\n <div class=\"record-detail-body\">\n <div class=\"cell-list-viewport\">\n @for (field of fields(); track field._id) {\n <div\n class=\"px-5 pt-4 cell-item\"\n [class.active]=\"activeFieldId === field._id\"\n (mouseenter)=\"showFieldMenu(field._id)\"\n (mouseleave)=\"hideFieldMenu(field._id)\"\n >\n <div class=\"d-flex align-items-center justify-content-between mb-2 cell-header\">\n <div class=\"d-flex align-items-center cell-label\">\n <span class=\"d-flex align-items-center mr-2 text-muted font-size-md\">\n @if (fieldIconPath(field)) {\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16px\" height=\"16px\" viewBox=\"0 0 16 16\">\n <path [attr.d]=\"fieldIconPath(field)\" fill=\"currentColor\"></path>\n </svg>\n }\n </span>\n <span class=\"d-flex align-items-center font-size-base text-secondary\">\n {{ field.name }}\n </span>\n </div>\n <div class=\"cell-operations\" [class.visible]=\"fieldMenuVisible[field._id]\">\n <button thyButton=\"link-secondary\" thySize=\"xs\" (click)=\"fieldMenuMoreClick($event, field._id)\">\n <thy-icon thyIconName=\"more-vertical\"></thy-icon>\n </button>\n </div>\n </div>\n\n <div class=\"dynamic-cell-editor\" (click)=\"fieldClick(field._id)\">\n <ai-dynamic-cell-editor\n [aiTable]=\"aiTable()\"\n [fieldId]=\"field._id\"\n [recordId]=\"currentRecordId()\"\n [references]=\"references()\"\n (updateFieldValues)=\"fieldValueChange($event)\"\n >\n </ai-dynamic-cell-editor>\n </div>\n </div>\n }\n </div>\n <div class=\"py-4 px-5\">\n <button class=\"p-0\" thyButton=\"link-secondary\" thySize=\"md\" (click)=\"addNewField($event)\">\n <thy-icon thyIconName=\"plus\"></thy-icon>\n <span>\u65B0\u589E\u5B57\u6BB5</span>\n </button>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: ThyButton, selector: "thy-button,[thy-button],[thyButton]", inputs: ["thyButton", "thyType", "thyLoading", "thyLoadingText", "thySize", "thyIcon", "thyBlock"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "component", type: ThyDivider, selector: "thy-divider", inputs: ["thyVertical", "thyStyle", "thyColor", "thyText", "thyTextDirection", "thyDeeper"] }, { kind: "directive", type: ThyPopoverDirective, selector: "[thyPopover]", inputs: ["thyPopover", "thyTrigger", "thyPlacement", "thyOffset", "thyConfig", "thyShowDelay", "thyHideDelay", "thyAutoAdaptive", "thyDisabled"] }, { kind: "directive", type: ThyDropdownMenuItemDirective, selector: "[thyDropdownMenuItem]", inputs: ["thyType", "thyDisabled"] }, { kind: "component", type: DynamicCellEditorComponent, selector: "ai-dynamic-cell-editor", inputs: ["aiTable", "fieldId", "recordId", "references"], outputs: ["updateFieldValues"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12658
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: RecordDetailComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12659
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.13", type: RecordDetailComponent, isStandalone: true, selector: "ai-record-detail", inputs: { aiTable: { classPropertyName: "aiTable", publicName: "aiTable", isSignal: true, isRequired: true, transformFunction: null }, recordId: { classPropertyName: "recordId", publicName: "recordId", isSignal: true, isRequired: true, transformFunction: null }, references: { classPropertyName: "references", publicName: "references", isSignal: true, isRequired: true, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { recordIdChange: "recordIdChange" }, viewQueries: [{ propertyName: "fieldOperationsMenuTemplate", first: true, predicate: ["fieldOperationsMenuTemplate"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"d-flex flex-column ai-record-detail\">\n <div class=\"d-flex align-items-center justify-content-between px-5 record-detail-header\">\n <span class=\"record-title\" [title]=\"recordTitle()\">\n {{ recordTitle() }}\n </span>\n\n <div class=\"record-navigation\">\n <button\n thyButton=\"link-secondary\"\n thySize=\"md\"\n [disabled]=\"!recordNavigation()?.hasPrevious\"\n (click)=\"previousRecord()\"\n title=\"\u4E0A\u4E00\u6761\"\n >\n <thy-icon thyIconName=\"angle-up\"></thy-icon>\n </button>\n <button thyButton=\"link-secondary\" thySize=\"md\" [disabled]=\"!recordNavigation()?.hasNext\" (click)=\"nextRecord()\" title=\"\u4E0B\u4E00\u6761\">\n <thy-icon thyIconName=\"angle-down\"></thy-icon>\n </button>\n </div>\n <thy-divider [thyVertical]=\"true\"></thy-divider>\n <div class=\"header-operations\">\n <button thyButton=\"link-secondary\" thySize=\"md\" [thyPopover]=\"headerMoreMenu\" thyTrigger=\"click\" thyPlacement=\"bottomRight\">\n <thy-icon thyIconName=\"list\"></thy-icon>\n </button>\n\n <ng-template #headerMoreMenu>\n <div class=\"thy-dropdown-menu\">\n <a thyDropdownMenuItem href=\"javascript:;\" (click)=\"deleteRecord()\">\n <thy-icon thyIconName=\"trash\"></thy-icon>\n <span>\u5220\u9664</span>\n </a>\n </div>\n </ng-template>\n\n <button thyButton=\"link-secondary\" thySize=\"md\" (click)=\"close()\" title=\"\u5173\u95ED\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n </button>\n </div>\n </div>\n\n <div class=\"record-detail-body\">\n <div class=\"px-8 cell-list-viewport\">\n @for (field of fields(); track field._id) {\n <div\n class=\"pt-4 cell-item\"\n [class.active]=\"activeFieldId === field._id\"\n (mouseenter)=\"showFieldMenu(field._id)\"\n (mouseleave)=\"hideFieldMenu(field._id)\"\n >\n <div class=\"d-flex align-items-center justify-content-between mb-2 cell-header\">\n <div class=\"d-flex align-items-center cell-label\">\n <span class=\"d-flex align-items-center mr-2 text-muted font-size-md\">\n @if (fieldIconPath(field)) {\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16px\" height=\"16px\" viewBox=\"0 0 16 16\">\n <path [attr.d]=\"fieldIconPath(field)\" fill=\"currentColor\"></path>\n </svg>\n }\n </span>\n <span class=\"d-flex align-items-center font-size-base\">\n {{ field.name }}\n </span>\n </div>\n @if (!readonly()) {\n <div class=\"cell-operations\" [class.visible]=\"fieldMenuVisible()[field._id]\">\n <a\n thyAction\n [thyActionActive]=\"fieldMenuActive()[field._id]\"\n href=\"javascript:;\"\n (click)=\"fieldMenuMoreClick($event, field._id)\"\n ><thy-icon thyIconName=\"more-vertical\"></thy-icon\n ></a>\n </div>\n }\n </div>\n\n <div class=\"dynamic-cell-editor\" (click)=\"fieldClick(field._id)\">\n <ai-dynamic-cell-editor\n [aiTable]=\"aiTable()\"\n [fieldId]=\"field._id\"\n [recordId]=\"currentRecordId()\"\n [references]=\"references()\"\n (updateFieldValues)=\"fieldValueChange($event)\"\n >\n </ai-dynamic-cell-editor>\n </div>\n </div>\n }\n </div>\n <div class=\"py-4 px-5\">\n @if (!readonly()) {\n <button class=\"p-0\" thyButton=\"link-secondary\" thySize=\"md\" (click)=\"addNewField($event)\">\n <thy-icon thyIconName=\"plus\"></thy-icon>\n <span>\u65B0\u589E\u5B57\u6BB5</span>\n </button>\n }\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: ThyButton, selector: "thy-button,[thy-button],[thyButton]", inputs: ["thyButton", "thyType", "thyLoading", "thyLoadingText", "thySize", "thyIcon", "thyBlock"] }, { kind: "component", type: ThyAction, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyTheme", "thyHoverIcon", "thyDisabled"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "component", type: ThyDivider, selector: "thy-divider", inputs: ["thyVertical", "thyStyle", "thyColor", "thyText", "thyTextDirection", "thyDeeper"] }, { kind: "directive", type: ThyPopoverDirective, selector: "[thyPopover]", inputs: ["thyPopover", "thyTrigger", "thyPlacement", "thyOffset", "thyConfig", "thyShowDelay", "thyHideDelay", "thyAutoAdaptive", "thyDisabled"] }, { kind: "directive", type: ThyDropdownMenuItemDirective, selector: "[thyDropdownMenuItem]", inputs: ["thyType", "thyDisabled"] }, { kind: "component", type: DynamicCellEditorComponent, selector: "ai-dynamic-cell-editor", inputs: ["aiTable", "fieldId", "recordId", "references"], outputs: ["updateFieldValues"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12937
12660
  }
12938
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: RecordDetailComponent, decorators: [{
12661
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: RecordDetailComponent, decorators: [{
12939
12662
  type: Component,
12940
- args: [{ selector: 'ai-record-detail', imports: [ThyButton, ThyIcon, ThyDivider, ThyPopoverDirective, ThyDropdownMenuItemDirective, DynamicCellEditorComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"d-flex flex-column ai-record-detail\">\n <div class=\"d-flex align-items-center justify-content-between px-5 record-detail-header\">\n <span class=\"record-title\" [title]=\"recordTitle()\">\n {{ recordTitle() }}\n </span>\n\n <div class=\"record-navigation\">\n <button\n thyButton=\"link-secondary\"\n thySize=\"md\"\n [disabled]=\"!recordNavigation()?.hasPrevious\"\n (click)=\"previousRecord()\"\n title=\"\u4E0A\u4E00\u6761\"\n >\n <thy-icon thyIconName=\"angle-up\"></thy-icon>\n </button>\n <button thyButton=\"link-secondary\" thySize=\"md\" [disabled]=\"!recordNavigation()?.hasNext\" (click)=\"nextRecord()\" title=\"\u4E0B\u4E00\u6761\">\n <thy-icon thyIconName=\"angle-down\"></thy-icon>\n </button>\n </div>\n <thy-divider [thyVertical]=\"true\"></thy-divider>\n <div class=\"header-operations\">\n <button thyButton=\"link-secondary\" thySize=\"md\" [thyPopover]=\"headerMoreMenu\" thyTrigger=\"click\" thyPlacement=\"bottomRight\">\n <thy-icon thyIconName=\"list\"></thy-icon>\n </button>\n\n <ng-template #headerMoreMenu>\n <div class=\"thy-dropdown-menu\">\n <a thyDropdownMenuItem href=\"javascript:;\" (click)=\"deleteRecord()\">\n <thy-icon thyIconName=\"trash\"></thy-icon>\n <span>\u5220\u9664</span>\n </a>\n </div>\n </ng-template>\n\n <button thyButton=\"link-secondary\" thySize=\"md\" (click)=\"close()\" title=\"\u5173\u95ED\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n </button>\n </div>\n </div>\n\n <div class=\"record-detail-body\">\n <div class=\"cell-list-viewport\">\n @for (field of fields(); track field._id) {\n <div\n class=\"px-5 pt-4 cell-item\"\n [class.active]=\"activeFieldId === field._id\"\n (mouseenter)=\"showFieldMenu(field._id)\"\n (mouseleave)=\"hideFieldMenu(field._id)\"\n >\n <div class=\"d-flex align-items-center justify-content-between mb-2 cell-header\">\n <div class=\"d-flex align-items-center cell-label\">\n <span class=\"d-flex align-items-center mr-2 text-muted font-size-md\">\n @if (fieldIconPath(field)) {\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16px\" height=\"16px\" viewBox=\"0 0 16 16\">\n <path [attr.d]=\"fieldIconPath(field)\" fill=\"currentColor\"></path>\n </svg>\n }\n </span>\n <span class=\"d-flex align-items-center font-size-base text-secondary\">\n {{ field.name }}\n </span>\n </div>\n <div class=\"cell-operations\" [class.visible]=\"fieldMenuVisible[field._id]\">\n <button thyButton=\"link-secondary\" thySize=\"xs\" (click)=\"fieldMenuMoreClick($event, field._id)\">\n <thy-icon thyIconName=\"more-vertical\"></thy-icon>\n </button>\n </div>\n </div>\n\n <div class=\"dynamic-cell-editor\" (click)=\"fieldClick(field._id)\">\n <ai-dynamic-cell-editor\n [aiTable]=\"aiTable()\"\n [fieldId]=\"field._id\"\n [recordId]=\"currentRecordId()\"\n [references]=\"references()\"\n (updateFieldValues)=\"fieldValueChange($event)\"\n >\n </ai-dynamic-cell-editor>\n </div>\n </div>\n }\n </div>\n <div class=\"py-4 px-5\">\n <button class=\"p-0\" thyButton=\"link-secondary\" thySize=\"md\" (click)=\"addNewField($event)\">\n <thy-icon thyIconName=\"plus\"></thy-icon>\n <span>\u65B0\u589E\u5B57\u6BB5</span>\n </button>\n </div>\n </div>\n</div>\n" }]
12941
- }], ctorParameters: () => [] });
12663
+ args: [{ selector: 'ai-record-detail', imports: [ThyButton, ThyAction, ThyIcon, ThyDivider, ThyPopoverDirective, ThyDropdownMenuItemDirective, DynamicCellEditorComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"d-flex flex-column ai-record-detail\">\n <div class=\"d-flex align-items-center justify-content-between px-5 record-detail-header\">\n <span class=\"record-title\" [title]=\"recordTitle()\">\n {{ recordTitle() }}\n </span>\n\n <div class=\"record-navigation\">\n <button\n thyButton=\"link-secondary\"\n thySize=\"md\"\n [disabled]=\"!recordNavigation()?.hasPrevious\"\n (click)=\"previousRecord()\"\n title=\"\u4E0A\u4E00\u6761\"\n >\n <thy-icon thyIconName=\"angle-up\"></thy-icon>\n </button>\n <button thyButton=\"link-secondary\" thySize=\"md\" [disabled]=\"!recordNavigation()?.hasNext\" (click)=\"nextRecord()\" title=\"\u4E0B\u4E00\u6761\">\n <thy-icon thyIconName=\"angle-down\"></thy-icon>\n </button>\n </div>\n <thy-divider [thyVertical]=\"true\"></thy-divider>\n <div class=\"header-operations\">\n <button thyButton=\"link-secondary\" thySize=\"md\" [thyPopover]=\"headerMoreMenu\" thyTrigger=\"click\" thyPlacement=\"bottomRight\">\n <thy-icon thyIconName=\"list\"></thy-icon>\n </button>\n\n <ng-template #headerMoreMenu>\n <div class=\"thy-dropdown-menu\">\n <a thyDropdownMenuItem href=\"javascript:;\" (click)=\"deleteRecord()\">\n <thy-icon thyIconName=\"trash\"></thy-icon>\n <span>\u5220\u9664</span>\n </a>\n </div>\n </ng-template>\n\n <button thyButton=\"link-secondary\" thySize=\"md\" (click)=\"close()\" title=\"\u5173\u95ED\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n </button>\n </div>\n </div>\n\n <div class=\"record-detail-body\">\n <div class=\"px-8 cell-list-viewport\">\n @for (field of fields(); track field._id) {\n <div\n class=\"pt-4 cell-item\"\n [class.active]=\"activeFieldId === field._id\"\n (mouseenter)=\"showFieldMenu(field._id)\"\n (mouseleave)=\"hideFieldMenu(field._id)\"\n >\n <div class=\"d-flex align-items-center justify-content-between mb-2 cell-header\">\n <div class=\"d-flex align-items-center cell-label\">\n <span class=\"d-flex align-items-center mr-2 text-muted font-size-md\">\n @if (fieldIconPath(field)) {\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16px\" height=\"16px\" viewBox=\"0 0 16 16\">\n <path [attr.d]=\"fieldIconPath(field)\" fill=\"currentColor\"></path>\n </svg>\n }\n </span>\n <span class=\"d-flex align-items-center font-size-base\">\n {{ field.name }}\n </span>\n </div>\n @if (!readonly()) {\n <div class=\"cell-operations\" [class.visible]=\"fieldMenuVisible()[field._id]\">\n <a\n thyAction\n [thyActionActive]=\"fieldMenuActive()[field._id]\"\n href=\"javascript:;\"\n (click)=\"fieldMenuMoreClick($event, field._id)\"\n ><thy-icon thyIconName=\"more-vertical\"></thy-icon\n ></a>\n </div>\n }\n </div>\n\n <div class=\"dynamic-cell-editor\" (click)=\"fieldClick(field._id)\">\n <ai-dynamic-cell-editor\n [aiTable]=\"aiTable()\"\n [fieldId]=\"field._id\"\n [recordId]=\"currentRecordId()\"\n [references]=\"references()\"\n (updateFieldValues)=\"fieldValueChange($event)\"\n >\n </ai-dynamic-cell-editor>\n </div>\n </div>\n }\n </div>\n <div class=\"py-4 px-5\">\n @if (!readonly()) {\n <button class=\"p-0\" thyButton=\"link-secondary\" thySize=\"md\" (click)=\"addNewField($event)\">\n <thy-icon thyIconName=\"plus\"></thy-icon>\n <span>\u65B0\u589E\u5B57\u6BB5</span>\n </button>\n }\n </div>\n </div>\n</div>\n" }]
12664
+ }], ctorParameters: () => [], propDecorators: { aiTable: [{ type: i0.Input, args: [{ isSignal: true, alias: "aiTable", required: true }] }], recordId: [{ type: i0.Input, args: [{ isSignal: true, alias: "recordId", required: true }] }], references: [{ type: i0.Input, args: [{ isSignal: true, alias: "references", required: true }] }], actions: [{ type: i0.Input, args: [{ isSignal: true, alias: "actions", required: false }] }], recordIdChange: [{ type: i0.Output, args: ["recordIdChange"] }], fieldOperationsMenuTemplate: [{ type: i0.ViewChild, args: ['fieldOperationsMenuTemplate', { isSignal: true }] }] } });
12942
12665
 
12943
12666
  class AITableGridEventService {
12944
12667
  constructor() {
@@ -13170,10 +12893,10 @@ class AITableGridEventService {
13170
12893
  });
13171
12894
  return ref;
13172
12895
  }
13173
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableGridEventService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
13174
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableGridEventService }); }
12896
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableGridEventService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
12897
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableGridEventService }); }
13175
12898
  }
13176
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableGridEventService, decorators: [{
12899
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableGridEventService, decorators: [{
13177
12900
  type: Injectable
13178
12901
  }] });
13179
12902
 
@@ -13222,37 +12945,38 @@ class AITableGridFieldService {
13222
12945
  });
13223
12946
  return ref;
13224
12947
  }
13225
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableGridFieldService, deps: [{ token: i1$1.ThyPopover }], target: i0.ɵɵFactoryTarget.Injectable }); }
13226
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableGridFieldService }); }
12948
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableGridFieldService, deps: [{ token: i1$1.ThyPopover }], target: i0.ɵɵFactoryTarget.Injectable }); }
12949
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableGridFieldService }); }
13227
12950
  }
13228
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableGridFieldService, decorators: [{
12951
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableGridFieldService, decorators: [{
13229
12952
  type: Injectable
13230
12953
  }], ctorParameters: () => [{ type: i1$1.ThyPopover }] });
13231
12954
 
13232
12955
  class AITableGridBase {
13233
12956
  constructor() {
13234
- this.aiRecords = model.required();
13235
- this.aiFields = model.required();
13236
- this.aiContextMenuItems = input();
13237
- this.aiFieldConfig = input();
13238
- this.aiReadonly = input(false);
13239
- this.aiPlugins = input();
13240
- this.aiMaxFields = input();
13241
- this.aiMaxRecords = input();
13242
- this.aiMaxSelectOptions = input();
13243
- this.aiReferences = input.required();
13244
- this.aiBuildRenderDataFn = input();
13245
- this.aiBuildGroupLinearRowsFn = input();
13246
- this.aiSortKeysMap = input();
13247
- this.aiGetI18nTextByKey = input();
13248
- this.aiKeywords = input();
13249
- this.aiFrozenColumnCountFn = input();
13250
- this.aiRecordHeight = input(AITableRecordHeightType.low);
12957
+ this.aiRecords = model.required(...(ngDevMode ? [{ debugName: "aiRecords" }] : []));
12958
+ this.aiFields = model.required(...(ngDevMode ? [{ debugName: "aiFields" }] : []));
12959
+ this.aiContextMenuItems = input(...(ngDevMode ? [undefined, { debugName: "aiContextMenuItems" }] : []));
12960
+ this.aiFieldConfig = input(...(ngDevMode ? [undefined, { debugName: "aiFieldConfig" }] : []));
12961
+ this.aiReadonly = input(false, ...(ngDevMode ? [{ debugName: "aiReadonly" }] : []));
12962
+ this.aiPlugins = input(...(ngDevMode ? [undefined, { debugName: "aiPlugins" }] : []));
12963
+ this.aiMaxFields = input(...(ngDevMode ? [undefined, { debugName: "aiMaxFields" }] : []));
12964
+ this.aiMaxRecords = input(...(ngDevMode ? [undefined, { debugName: "aiMaxRecords" }] : []));
12965
+ this.aiMaxSelectOptions = input(...(ngDevMode ? [undefined, { debugName: "aiMaxSelectOptions" }] : []));
12966
+ this.aiReferences = input.required(...(ngDevMode ? [{ debugName: "aiReferences" }] : []));
12967
+ this.aiBuildRenderDataFn = input(...(ngDevMode ? [undefined, { debugName: "aiBuildRenderDataFn" }] : []));
12968
+ this.aiBuildGroupLinearRowsFn = input(...(ngDevMode ? [undefined, { debugName: "aiBuildGroupLinearRowsFn" }] : []));
12969
+ this.aiSortKeysMap = input(...(ngDevMode ? [undefined, { debugName: "aiSortKeysMap" }] : []));
12970
+ this.aiGetI18nTextByKey = input(...(ngDevMode ? [undefined, { debugName: "aiGetI18nTextByKey" }] : []));
12971
+ this.aiKeywords = input(...(ngDevMode ? [undefined, { debugName: "aiKeywords" }] : []));
12972
+ this.aiFrozenColumnCountFn = input(...(ngDevMode ? [undefined, { debugName: "aiFrozenColumnCountFn" }] : []));
12973
+ this.aiRecordHeight = input(AITableRecordHeightType.low, ...(ngDevMode ? [{ debugName: "aiRecordHeight" }] : []));
12974
+ this.aiRecordDetailConfig = input(...(ngDevMode ? [undefined, { debugName: "aiRecordDetailConfig" }] : []));
13251
12975
  this.AITableFieldType = AITableFieldType;
13252
12976
  this.AITableSelectOptionStyle = AITableSelectOptionStyle;
13253
12977
  this.isSelectedAll = computed(() => {
13254
12978
  return this.aiTable.selection().selectedRecords.size === this.aiRecords().length;
13255
- });
12979
+ }, ...(ngDevMode ? [{ debugName: "isSelectedAll" }] : []));
13256
12980
  this.aiTableInitialized = output();
13257
12981
  this.aiAddRecord = output();
13258
12982
  this.aiRemoveRecord = output();
@@ -13273,7 +12997,7 @@ class AITableGridBase {
13273
12997
  return fieldMenusFn(this.aiTable);
13274
12998
  }
13275
12999
  return [];
13276
- });
13000
+ }, ...(ngDevMode ? [{ debugName: "fieldMenus" }] : []));
13277
13001
  this.gridData = computed(() => {
13278
13002
  this.aiTable.recordsWillHidden();
13279
13003
  if (this.aiBuildRenderDataFn && this.aiBuildRenderDataFn() && this.aiTable) {
@@ -13283,7 +13007,7 @@ class AITableGridBase {
13283
13007
  records: this.aiRecords(),
13284
13008
  fields: this.aiFields()
13285
13009
  };
13286
- });
13010
+ }, ...(ngDevMode ? [{ debugName: "gridData" }] : []));
13287
13011
  this.ngZone = inject(NgZone);
13288
13012
  this.elementRef = inject(ElementRef);
13289
13013
  this.destroyRef = inject(DestroyRef);
@@ -13372,17 +13096,17 @@ class AITableGridBase {
13372
13096
  this.aiTableGridEventService.openEdit(cellDom);
13373
13097
  }
13374
13098
  }
13375
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableGridBase, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13376
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: AITableGridBase, isStandalone: true, selector: "ai-table-grid-base", inputs: { aiRecords: { classPropertyName: "aiRecords", publicName: "aiRecords", isSignal: true, isRequired: true, transformFunction: null }, aiFields: { classPropertyName: "aiFields", publicName: "aiFields", isSignal: true, isRequired: true, transformFunction: null }, aiContextMenuItems: { classPropertyName: "aiContextMenuItems", publicName: "aiContextMenuItems", isSignal: true, isRequired: false, transformFunction: null }, aiFieldConfig: { classPropertyName: "aiFieldConfig", publicName: "aiFieldConfig", isSignal: true, isRequired: false, transformFunction: null }, aiReadonly: { classPropertyName: "aiReadonly", publicName: "aiReadonly", isSignal: true, isRequired: false, transformFunction: null }, aiPlugins: { classPropertyName: "aiPlugins", publicName: "aiPlugins", isSignal: true, isRequired: false, transformFunction: null }, aiMaxFields: { classPropertyName: "aiMaxFields", publicName: "aiMaxFields", isSignal: true, isRequired: false, transformFunction: null }, aiMaxRecords: { classPropertyName: "aiMaxRecords", publicName: "aiMaxRecords", isSignal: true, isRequired: false, transformFunction: null }, aiMaxSelectOptions: { classPropertyName: "aiMaxSelectOptions", publicName: "aiMaxSelectOptions", isSignal: true, isRequired: false, transformFunction: null }, aiReferences: { classPropertyName: "aiReferences", publicName: "aiReferences", isSignal: true, isRequired: true, transformFunction: null }, aiBuildRenderDataFn: { classPropertyName: "aiBuildRenderDataFn", publicName: "aiBuildRenderDataFn", isSignal: true, isRequired: false, transformFunction: null }, aiBuildGroupLinearRowsFn: { classPropertyName: "aiBuildGroupLinearRowsFn", publicName: "aiBuildGroupLinearRowsFn", isSignal: true, isRequired: false, transformFunction: null }, aiSortKeysMap: { classPropertyName: "aiSortKeysMap", publicName: "aiSortKeysMap", isSignal: true, isRequired: false, transformFunction: null }, aiGetI18nTextByKey: { classPropertyName: "aiGetI18nTextByKey", publicName: "aiGetI18nTextByKey", isSignal: true, isRequired: false, transformFunction: null }, aiKeywords: { classPropertyName: "aiKeywords", publicName: "aiKeywords", isSignal: true, isRequired: false, transformFunction: null }, aiFrozenColumnCountFn: { classPropertyName: "aiFrozenColumnCountFn", publicName: "aiFrozenColumnCountFn", isSignal: true, isRequired: false, transformFunction: null }, aiRecordHeight: { classPropertyName: "aiRecordHeight", publicName: "aiRecordHeight", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { aiRecords: "aiRecordsChange", aiFields: "aiFieldsChange", aiTableInitialized: "aiTableInitialized", aiAddRecord: "aiAddRecord", aiRemoveRecord: "aiRemoveRecord", aiAddField: "aiAddField", aiCopyRecords: "aiCopyRecords", aiMoveField: "aiMoveField", aiUpdateFieldValues: "aiUpdateFieldValues", aiSetField: "aiSetField", aiSetFieldWidth: "aiSetFieldWidth", aiSetFieldStatType: "aiSetFieldStatType", aiMoveRecords: "aiMoveRecords", aiClick: "aiClick", aiDbClick: "aiDbClick", aiRowGroupCollapseClick: "aiRowGroupCollapseClick" }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
13099
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableGridBase, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13100
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.13", type: AITableGridBase, isStandalone: true, selector: "ai-table-grid-base", inputs: { aiRecords: { classPropertyName: "aiRecords", publicName: "aiRecords", isSignal: true, isRequired: true, transformFunction: null }, aiFields: { classPropertyName: "aiFields", publicName: "aiFields", isSignal: true, isRequired: true, transformFunction: null }, aiContextMenuItems: { classPropertyName: "aiContextMenuItems", publicName: "aiContextMenuItems", isSignal: true, isRequired: false, transformFunction: null }, aiFieldConfig: { classPropertyName: "aiFieldConfig", publicName: "aiFieldConfig", isSignal: true, isRequired: false, transformFunction: null }, aiReadonly: { classPropertyName: "aiReadonly", publicName: "aiReadonly", isSignal: true, isRequired: false, transformFunction: null }, aiPlugins: { classPropertyName: "aiPlugins", publicName: "aiPlugins", isSignal: true, isRequired: false, transformFunction: null }, aiMaxFields: { classPropertyName: "aiMaxFields", publicName: "aiMaxFields", isSignal: true, isRequired: false, transformFunction: null }, aiMaxRecords: { classPropertyName: "aiMaxRecords", publicName: "aiMaxRecords", isSignal: true, isRequired: false, transformFunction: null }, aiMaxSelectOptions: { classPropertyName: "aiMaxSelectOptions", publicName: "aiMaxSelectOptions", isSignal: true, isRequired: false, transformFunction: null }, aiReferences: { classPropertyName: "aiReferences", publicName: "aiReferences", isSignal: true, isRequired: true, transformFunction: null }, aiBuildRenderDataFn: { classPropertyName: "aiBuildRenderDataFn", publicName: "aiBuildRenderDataFn", isSignal: true, isRequired: false, transformFunction: null }, aiBuildGroupLinearRowsFn: { classPropertyName: "aiBuildGroupLinearRowsFn", publicName: "aiBuildGroupLinearRowsFn", isSignal: true, isRequired: false, transformFunction: null }, aiSortKeysMap: { classPropertyName: "aiSortKeysMap", publicName: "aiSortKeysMap", isSignal: true, isRequired: false, transformFunction: null }, aiGetI18nTextByKey: { classPropertyName: "aiGetI18nTextByKey", publicName: "aiGetI18nTextByKey", isSignal: true, isRequired: false, transformFunction: null }, aiKeywords: { classPropertyName: "aiKeywords", publicName: "aiKeywords", isSignal: true, isRequired: false, transformFunction: null }, aiFrozenColumnCountFn: { classPropertyName: "aiFrozenColumnCountFn", publicName: "aiFrozenColumnCountFn", isSignal: true, isRequired: false, transformFunction: null }, aiRecordHeight: { classPropertyName: "aiRecordHeight", publicName: "aiRecordHeight", isSignal: true, isRequired: false, transformFunction: null }, aiRecordDetailConfig: { classPropertyName: "aiRecordDetailConfig", publicName: "aiRecordDetailConfig", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { aiRecords: "aiRecordsChange", aiFields: "aiFieldsChange", aiTableInitialized: "aiTableInitialized", aiAddRecord: "aiAddRecord", aiRemoveRecord: "aiRemoveRecord", aiAddField: "aiAddField", aiCopyRecords: "aiCopyRecords", aiMoveField: "aiMoveField", aiUpdateFieldValues: "aiUpdateFieldValues", aiSetField: "aiSetField", aiSetFieldWidth: "aiSetFieldWidth", aiSetFieldStatType: "aiSetFieldStatType", aiMoveRecords: "aiMoveRecords", aiClick: "aiClick", aiDbClick: "aiDbClick", aiRowGroupCollapseClick: "aiRowGroupCollapseClick" }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
13377
13101
  }
13378
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableGridBase, decorators: [{
13102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableGridBase, decorators: [{
13379
13103
  type: Component,
13380
13104
  args: [{
13381
13105
  selector: 'ai-table-grid-base',
13382
13106
  template: '',
13383
13107
  changeDetection: ChangeDetectionStrategy.OnPush
13384
13108
  }]
13385
- }] });
13109
+ }], propDecorators: { aiRecords: [{ type: i0.Input, args: [{ isSignal: true, alias: "aiRecords", required: true }] }, { type: i0.Output, args: ["aiRecordsChange"] }], aiFields: [{ type: i0.Input, args: [{ isSignal: true, alias: "aiFields", required: true }] }, { type: i0.Output, args: ["aiFieldsChange"] }], aiContextMenuItems: [{ type: i0.Input, args: [{ isSignal: true, alias: "aiContextMenuItems", required: false }] }], aiFieldConfig: [{ type: i0.Input, args: [{ isSignal: true, alias: "aiFieldConfig", required: false }] }], aiReadonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "aiReadonly", required: false }] }], aiPlugins: [{ type: i0.Input, args: [{ isSignal: true, alias: "aiPlugins", required: false }] }], aiMaxFields: [{ type: i0.Input, args: [{ isSignal: true, alias: "aiMaxFields", required: false }] }], aiMaxRecords: [{ type: i0.Input, args: [{ isSignal: true, alias: "aiMaxRecords", required: false }] }], aiMaxSelectOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "aiMaxSelectOptions", required: false }] }], aiReferences: [{ type: i0.Input, args: [{ isSignal: true, alias: "aiReferences", required: true }] }], aiBuildRenderDataFn: [{ type: i0.Input, args: [{ isSignal: true, alias: "aiBuildRenderDataFn", required: false }] }], aiBuildGroupLinearRowsFn: [{ type: i0.Input, args: [{ isSignal: true, alias: "aiBuildGroupLinearRowsFn", required: false }] }], aiSortKeysMap: [{ type: i0.Input, args: [{ isSignal: true, alias: "aiSortKeysMap", required: false }] }], aiGetI18nTextByKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "aiGetI18nTextByKey", required: false }] }], aiKeywords: [{ type: i0.Input, args: [{ isSignal: true, alias: "aiKeywords", required: false }] }], aiFrozenColumnCountFn: [{ type: i0.Input, args: [{ isSignal: true, alias: "aiFrozenColumnCountFn", required: false }] }], aiRecordHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "aiRecordHeight", required: false }] }], aiRecordDetailConfig: [{ type: i0.Input, args: [{ isSignal: true, alias: "aiRecordDetailConfig", required: false }] }], aiTableInitialized: [{ type: i0.Output, args: ["aiTableInitialized"] }], aiAddRecord: [{ type: i0.Output, args: ["aiAddRecord"] }], aiRemoveRecord: [{ type: i0.Output, args: ["aiRemoveRecord"] }], aiAddField: [{ type: i0.Output, args: ["aiAddField"] }], aiCopyRecords: [{ type: i0.Output, args: ["aiCopyRecords"] }], aiMoveField: [{ type: i0.Output, args: ["aiMoveField"] }], aiUpdateFieldValues: [{ type: i0.Output, args: ["aiUpdateFieldValues"] }], aiSetField: [{ type: i0.Output, args: ["aiSetField"] }], aiSetFieldWidth: [{ type: i0.Output, args: ["aiSetFieldWidth"] }], aiSetFieldStatType: [{ type: i0.Output, args: ["aiSetFieldStatType"] }], aiMoveRecords: [{ type: i0.Output, args: ["aiMoveRecords"] }], aiClick: [{ type: i0.Output, args: ["aiClick"] }], aiDbClick: [{ type: i0.Output, args: ["aiDbClick"] }], aiRowGroupCollapseClick: [{ type: i0.Output, args: ["aiRowGroupCollapseClick"] }] } });
13386
13110
 
13387
13111
  class AITableDomGrid extends AITableGridBase {
13388
13112
  ngOnInit() {
@@ -13398,10 +13122,10 @@ class AITableDomGrid extends AITableGridBase {
13398
13122
  fieldMenus: this.fieldMenus()
13399
13123
  });
13400
13124
  }
13401
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableDomGrid, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
13402
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AITableDomGrid, isStandalone: true, selector: "ai-table-dom-grid", host: { classAttribute: "ai-table-grid ai-table-dom-grid" }, providers: [AITableGridEventService, AITableGridFieldService], usesInheritance: true, ngImport: i0, template: "<div class=\"grid-header d-flex\">\n <div class=\"grid-column-checkbox grid-cell grid-checkbox\">\n <label thyCheckbox thyLabelText=\"\" [ngModel]=\"isSelectedAll()\" (ngModelChange)=\"toggleSelectAll($event)\"></label>\n </div>\n @for (field of gridData().fields; track field._id) {\n <div\n class=\"grid-cell grid-field\"\n #fieldAction\n [attr.fieldId]=\"field._id\"\n [ngClass]=\"{ highlight: aiTable.selection().selectedFields.has(field._id) }\"\n >\n <!-- [ngStyle]=\"{ width: gridData().fieldsSizeMap[field._id] + 'px' }\" -->\n <span class=\"text-truncate\">\n <thy-icon [thyIconName]=\"field.icon!\" class=\"mr-2 text-muted\"></thy-icon>\n <span>{{ field.name }}</span>\n </span>\n <a\n href=\"javascript:;\"\n class=\"grid-field-action\"\n thyAction\n thyIcon=\"more-vertical\"\n (click)=\"openFieldMenu($event, field, fieldAction)\"\n >\n </a>\n </div>\n }\n <div class=\"grid-column-blank cursor-pointer\" #gridColumnBlank (click)=\"addField(gridColumnBlank)\">\n <thy-icon thyIconName=\"plus\"></thy-icon>\n </div>\n</div>\n<div class=\"grid-body d-flex\">\n @for (record of gridData().records; track record._id; let index = $index) {\n <div class=\"grid-row d-flex\" [ngClass]=\"{ highlight: (record._id | isSelectRecord: aiTable.selection()) }\">\n <div class=\"grid-row-index grid-checkbox\">\n <label\n [ngClass]=\"(record._id | isSelectRecord: aiTable.selection()) ? 'checked-box' : 'unchecked-box'\"\n thyCheckbox\n thyLabelText=\"\"\n [ngModel]=\"record._id | isSelectRecord: aiTable.selection()\"\n (ngModelChange)=\"toggleSelectRecord(record._id)\"\n ></label>\n <span [ngClass]=\"(record._id | isSelectRecord: aiTable.selection()) ? 'grid-row-no-number' : 'grid-row-number'\">\n {{ index + 1 }}\n </span>\n </div>\n @for (field of gridData().fields; track field._id) {\n <!-- [ngClass]=\"{\n highlight: aiTable.selection().selectedCells.has(record._id) || aiTable.selection().selectedFields.has(field._id),\n selected: aiTable.selection().selectedCells.get(record._id)?.hasOwnProperty(field._id)\n }\" -->\n <div #cell class=\"grid-cell\" [attr.type]=\"[field.type]\" [attr.fieldId]=\"[field._id]\" [attr.recordId]=\"[record._id]\">\n <!-- [ngStyle]=\"{ width: gridData().fieldsSizeMap[field._id] + 'px' }\" -->\n @switch (field.type) {\n @case (AITableFieldType.select) {\n @let fieldValue = record.values[field._id];\n @let settings = field.settings! | selectSetting;\n @let options = settings['options'];\n @let optionStyle = settings['option_style'] || AITableSelectOptionStyle.tag;\n @let isTagStyle = optionStyle === AITableSelectOptionStyle.tag;\n\n @if (!settings['is_multiple'] && fieldValue | selectOption: options; as selectedOption) {\n @if (isTagStyle) {\n <select-option class=\"mb-1 mr-1\" [field]=\"field\" [displayOption]=\"selectedOption\"></select-option>\n } @else {\n <div thyTag class=\"mb-1 mr-1\">\n <select-option [field]=\"field\" [displayOption]=\"selectedOption\"></select-option>\n </div>\n }\n } @else {\n @let maxShowCount = 2;\n\n <div class=\"d-flex\">\n @if (fieldValue | selectOptions: options; as selectedOptions) {\n @for (option of selectedOptions; track option!._id; let i = $index) {\n @if (i + 1 <= maxShowCount) {\n @if (isTagStyle) {\n <select-option\n class=\"mb-1 mr-1\"\n [field]=\"field\"\n [displayOption]=\"option!\"\n ></select-option>\n } @else {\n <div thyTag class=\"mb-1 mr-1\">\n <select-option [field]=\"field\" [displayOption]=\"option!\"></select-option>\n </div>\n }\n }\n }\n\n @let selectedLength = selectedOptions.length || 0;\n @if (selectedOptions && maxShowCount < selectedLength) {\n @let shape = isTagStyle ? 'pill' : 'rectangle';\n @let isHidden = maxShowCount >= selectedLength;\n\n <thy-tag\n class=\"cursor-pointer\"\n [class.multi-property-value-hidden]=\"isHidden\"\n [thyShape]=\"shape\"\n >\n <span class=\"text-truncate\"> +{{ selectedLength - maxShowCount }} </span>\n </thy-tag>\n }\n }\n </div>\n }\n }\n @case (AITableFieldType.date) {\n {{ record.values[field._id].timestamp | thyDatePickerFormat }}\n }\n @case (AITableFieldType.updatedAt) {\n <div class=\"d-block user-select-none\">\n <span class=\"text-truncate\">\n {{ record.values[field._id] | thyDatePickerFormat: 'yyyy-MM-dd HH:mm' }}\n </span>\n </div>\n }\n @case (AITableFieldType.createdAt) {\n <div class=\"d-block user-select-none\">\n <span class=\"text-truncate\">\n {{ record.values[field._id] | thyDatePickerFormat: 'yyyy-MM-dd HH:mm' }}\n </span>\n </div>\n }\n @case (AITableFieldType.rate) {\n <thy-rate [ngModel]=\"record.values[field._id]\"></thy-rate>\n }\n @case (AITableFieldType.link) {\n <a\n class=\"d-block\"\n target=\"_blank\"\n [href]=\"record.values[field._id]?.url\"\n thyStopPropagation\n thyFlexibleText\n [thyTooltipContent]=\"record.values[field._id]?.text\"\n >\n {{ record.values[field._id]?.text }}\n </a>\n }\n @case (AITableFieldType.progress) {\n <thy-progress\n class=\"w-100\"\n [thyValue]=\"record.values[field._id] || 0\"\n [thySize]=\"record.values[field._id]?.config?.size || 'md'\"\n [thyMax]=\"record.values[field._id]?.config?.max || 100\"\n [thyType]=\"record.values[field._id]?.config?.progressType || 'success'\"\n >\n <span> {{ record.values[field._id] || 0 }}{{ record.values[field._id]?.config?.suffix || '%' }} </span>\n </thy-progress>\n }\n @case (AITableFieldType.member) {\n @let settings = field.settings! | memberSetting;\n\n @if (!settings!['is_multiple']) {\n @let recordValues = record.values[field._id] | user: aiReferences()!;\n\n @if (recordValues && recordValues.length) {\n <thy-avatar\n [thyName]=\"recordValues[0].display_name!\"\n [thySrc]=\"recordValues[0].avatar!\"\n thySize=\"xs\"\n thyShowName=\"true\"\n ></thy-avatar>\n }\n } @else {\n @let recordValues = record.values[field._id] | user: aiReferences()!;\n\n <thy-avatar-list thyAvatarSize=\"xs\">\n @for (item of recordValues; track $index) {\n <thy-avatar [thyName]=\"item.display_name!\" [thySrc]=\"item.avatar!\"></thy-avatar>\n }\n </thy-avatar-list>\n }\n }\n @case (AITableFieldType.createdBy) {\n @let recordValues = record.values[field._id] | user: aiReferences()!;\n\n @if (recordValues && recordValues.length) {\n <thy-avatar\n [thyName]=\"recordValues[0].display_name!\"\n [thySrc]=\"recordValues[0].avatar!\"\n thySize=\"xs\"\n thyShowName=\"true\"\n ></thy-avatar>\n }\n }\n @case (AITableFieldType.updatedBy) {\n @let recordValues = record.values[field._id] | user: aiReferences()!;\n\n @if (recordValues && recordValues.length) {\n <thy-avatar\n [thyName]=\"recordValues[0].display_name!\"\n [thySrc]=\"recordValues[0].avatar!\"\n thySize=\"xs\"\n thyShowName=\"true\"\n ></thy-avatar>\n }\n }\n @default {\n <span class=\"text-truncate\"> {{ record.values[field._id] }}</span>\n }\n }\n <div class=\"autofill-container\"></div>\n </div>\n }\n <div class=\"grid-column-blank\"></div>\n </div>\n }\n <div class=\"grid-row-insert grid-row cursor-pointer\" (click)=\"addRecord()\">\n <thy-icon thyIconName=\"plus\"></thy-icon>\n </div>\n</div>\n\n<div #activeBorder class=\"active-border\"></div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: SelectOptionPipe, name: "selectOption" }, { kind: "pipe", type: SelectOptionsPipe, name: "selectOptions" }, { kind: "component", type: ThyTag, selector: "thy-tag,[thyTag]", inputs: ["thyTag", "thyShape", "thyColor", "thyTheme", "thySize", "thyHoverable"] }, { kind: "ngmodule", type: ThyPopoverModule }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "component", type: ThyRate, selector: "thy-rate", inputs: ["thyValue", "currentValue", "hasHalf", "thyCount", "thyDisabled", "thyAllowHalf", "thyAllowClear", "thyTooltips", "thyIconTemplate"], outputs: ["thyValueChange", "currentValueChange", "hasHalfChange", "thyItemHoverChange"] }, { kind: "component", type: ThyProgress, selector: "thy-progress", inputs: ["thyType", "thySize", "thyValue", "thyMax", "thyTips", "thyShape", "thyGapDegree", "thyGapPosition", "thyStrokeWidth"] }, { kind: "pipe", type: ThyDatePickerFormatPipe, name: "thyDatePickerFormat" }, { kind: "component", type: ThyFlexibleText, selector: "thy-flexible-text,[thyFlexibleText]", inputs: ["thyTooltipTrigger", "thyContainerClass", "thyTooltipContent", "thyTooltipPlacement", "thyTooltipOffset"], exportAs: ["thyFlexibleText"] }, { kind: "directive", type: ThyStopPropagationDirective, selector: "[thyStopPropagation]", inputs: ["thyStopPropagation"] }, { kind: "component", type: ThyAction, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyTheme", "thyHoverIcon", "thyDisabled"] }, { kind: "ngmodule", type: ThyCheckboxModule }, { kind: "component", type: i2$2.ThyCheckbox, selector: "thy-checkbox,[thy-checkbox],[thyCheckbox]", inputs: ["thyIndeterminate"] }, { kind: "ngmodule", type: ThyAvatarModule }, { kind: "component", type: i3$1.ThyAvatar, selector: "thy-avatar", inputs: ["thyShowName", "thySrc", "thyName", "thySize", "thyShowRemove", "thyRemovable", "thyImgClass", "thyDisabled", "thyLoading", "thyFetchPriority"], outputs: ["thyOnRemove", "thyRemove", "thyError", "thySizeChange"] }, { kind: "component", type: i3$1.ThyAvatarList, selector: "thy-avatar-list", inputs: ["thyMode", "thyAvatarSize"] }, { kind: "pipe", type: IsSelectRecordPipe, name: "isSelectRecord" }, { kind: "component", type: SelectOptionComponent, selector: "select-option", inputs: ["field", "displayOption"] }, { kind: "pipe", type: UserPipe, name: "user" }, { kind: "pipe", type: SelectSettingPipe, name: "selectSetting" }, { kind: "pipe", type: MemberSettingPipe, name: "memberSetting" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
13125
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableDomGrid, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
13126
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.13", type: AITableDomGrid, isStandalone: true, selector: "ai-table-dom-grid", host: { classAttribute: "ai-table-grid ai-table-dom-grid" }, providers: [AITableGridEventService, AITableGridFieldService], usesInheritance: true, ngImport: i0, template: "<div class=\"grid-header d-flex\">\n <div class=\"grid-column-checkbox grid-cell grid-checkbox\">\n <label thyCheckbox thyLabelText=\"\" [ngModel]=\"isSelectedAll()\" (ngModelChange)=\"toggleSelectAll($event)\"></label>\n </div>\n @for (field of gridData().fields; track field._id) {\n <div\n class=\"grid-cell grid-field\"\n #fieldAction\n [attr.fieldId]=\"field._id\"\n [ngClass]=\"{ highlight: aiTable.selection().selectedFields.has(field._id) }\"\n >\n <!-- [ngStyle]=\"{ width: gridData().fieldsSizeMap[field._id] + 'px' }\" -->\n <span class=\"text-truncate\">\n <thy-icon [thyIconName]=\"field.icon!\" class=\"mr-2 text-muted\"></thy-icon>\n <span>{{ field.name }}</span>\n </span>\n <a\n href=\"javascript:;\"\n class=\"grid-field-action\"\n thyAction\n thyIcon=\"more-vertical\"\n (click)=\"openFieldMenu($event, field, fieldAction)\"\n >\n </a>\n </div>\n }\n <div class=\"grid-column-blank cursor-pointer\" #gridColumnBlank (click)=\"addField(gridColumnBlank)\">\n <thy-icon thyIconName=\"plus\"></thy-icon>\n </div>\n</div>\n<div class=\"grid-body d-flex\">\n @for (record of gridData().records; track record._id; let index = $index) {\n <div class=\"grid-row d-flex\" [ngClass]=\"{ highlight: (record._id | isSelectRecord: aiTable.selection()) }\">\n <div class=\"grid-row-index grid-checkbox\">\n <label\n [ngClass]=\"(record._id | isSelectRecord: aiTable.selection()) ? 'checked-box' : 'unchecked-box'\"\n thyCheckbox\n thyLabelText=\"\"\n [ngModel]=\"record._id | isSelectRecord: aiTable.selection()\"\n (ngModelChange)=\"toggleSelectRecord(record._id)\"\n ></label>\n <span [ngClass]=\"(record._id | isSelectRecord: aiTable.selection()) ? 'grid-row-no-number' : 'grid-row-number'\">\n {{ index + 1 }}\n </span>\n </div>\n @for (field of gridData().fields; track field._id) {\n <!-- [ngClass]=\"{\n highlight: aiTable.selection().selectedCells.has(record._id) || aiTable.selection().selectedFields.has(field._id),\n selected: aiTable.selection().selectedCells.get(record._id)?.hasOwnProperty(field._id)\n }\" -->\n <div #cell class=\"grid-cell\" [attr.type]=\"[field.type]\" [attr.fieldId]=\"[field._id]\" [attr.recordId]=\"[record._id]\">\n <!-- [ngStyle]=\"{ width: gridData().fieldsSizeMap[field._id] + 'px' }\" -->\n @switch (field.type) {\n @case (AITableFieldType.select) {\n @let fieldValue = record.values[field._id];\n @let settings = field.settings! | selectSetting;\n @let options = settings['options'];\n @let optionStyle = settings['option_style'] || AITableSelectOptionStyle.tag;\n @let isTagStyle = optionStyle === AITableSelectOptionStyle.tag;\n\n @if (!settings['is_multiple'] && fieldValue | selectOption: options; as selectedOption) {\n @if (isTagStyle) {\n <select-option class=\"mb-1 mr-1\" [field]=\"field\" [displayOption]=\"selectedOption\"></select-option>\n } @else {\n <div thyTag class=\"mb-1 mr-1\">\n <select-option [field]=\"field\" [displayOption]=\"selectedOption\"></select-option>\n </div>\n }\n } @else {\n @let maxShowCount = 2;\n\n <div class=\"d-flex\">\n @if (fieldValue | selectOptions: options; as selectedOptions) {\n @for (option of selectedOptions; track option!._id; let i = $index) {\n @if (i + 1 <= maxShowCount) {\n @if (isTagStyle) {\n <select-option\n class=\"mb-1 mr-1\"\n [field]=\"field\"\n [displayOption]=\"option!\"\n ></select-option>\n } @else {\n <div thyTag class=\"mb-1 mr-1\">\n <select-option [field]=\"field\" [displayOption]=\"option!\"></select-option>\n </div>\n }\n }\n }\n\n @let selectedLength = selectedOptions.length || 0;\n @if (selectedOptions && maxShowCount < selectedLength) {\n @let shape = isTagStyle ? 'pill' : 'rectangle';\n @let isHidden = maxShowCount >= selectedLength;\n\n <thy-tag\n class=\"cursor-pointer\"\n [class.multi-property-value-hidden]=\"isHidden\"\n [thyShape]=\"shape\"\n >\n <span class=\"text-truncate\"> +{{ selectedLength - maxShowCount }} </span>\n </thy-tag>\n }\n }\n </div>\n }\n }\n @case (AITableFieldType.date) {\n {{ record.values[field._id].timestamp | thyDatePickerFormat }}\n }\n @case (AITableFieldType.updatedAt) {\n <div class=\"d-block user-select-none\">\n <span class=\"text-truncate\">\n {{ record.values[field._id] | thyDatePickerFormat: 'yyyy-MM-dd HH:mm' }}\n </span>\n </div>\n }\n @case (AITableFieldType.createdAt) {\n <div class=\"d-block user-select-none\">\n <span class=\"text-truncate\">\n {{ record.values[field._id] | thyDatePickerFormat: 'yyyy-MM-dd HH:mm' }}\n </span>\n </div>\n }\n @case (AITableFieldType.rate) {\n <thy-rate [ngModel]=\"record.values[field._id]\"></thy-rate>\n }\n @case (AITableFieldType.link) {\n <a\n class=\"d-block\"\n target=\"_blank\"\n [href]=\"record.values[field._id]?.url\"\n thyStopPropagation\n thyFlexibleText\n [thyTooltipContent]=\"record.values[field._id]?.text\"\n >\n {{ record.values[field._id]?.text }}\n </a>\n }\n @case (AITableFieldType.progress) {\n <thy-progress\n class=\"w-100\"\n [thyValue]=\"record.values[field._id] || 0\"\n [thySize]=\"record.values[field._id]?.config?.size || 'md'\"\n [thyMax]=\"record.values[field._id]?.config?.max || 100\"\n [thyType]=\"record.values[field._id]?.config?.progressType || 'success'\"\n >\n <span> {{ record.values[field._id] || 0 }}{{ record.values[field._id]?.config?.suffix || '%' }} </span>\n </thy-progress>\n }\n @case (AITableFieldType.member) {\n @let settings = field.settings! | memberSetting;\n\n @if (!settings!['is_multiple']) {\n @let recordValues = record.values[field._id] | user: aiReferences()!;\n\n @if (recordValues && recordValues.length) {\n <thy-avatar\n [thyName]=\"recordValues[0].display_name!\"\n [thySrc]=\"recordValues[0].avatar!\"\n thySize=\"xs\"\n thyShowName=\"true\"\n ></thy-avatar>\n }\n } @else {\n @let recordValues = record.values[field._id] | user: aiReferences()!;\n\n <thy-avatar-list thyAvatarSize=\"xs\">\n @for (item of recordValues; track $index) {\n <thy-avatar [thyName]=\"item.display_name!\" [thySrc]=\"item.avatar!\"></thy-avatar>\n }\n </thy-avatar-list>\n }\n }\n @case (AITableFieldType.createdBy) {\n @let recordValues = record.values[field._id] | user: aiReferences()!;\n\n @if (recordValues && recordValues.length) {\n <thy-avatar\n [thyName]=\"recordValues[0].display_name!\"\n [thySrc]=\"recordValues[0].avatar!\"\n thySize=\"xs\"\n thyShowName=\"true\"\n ></thy-avatar>\n }\n }\n @case (AITableFieldType.updatedBy) {\n @let recordValues = record.values[field._id] | user: aiReferences()!;\n\n @if (recordValues && recordValues.length) {\n <thy-avatar\n [thyName]=\"recordValues[0].display_name!\"\n [thySrc]=\"recordValues[0].avatar!\"\n thySize=\"xs\"\n thyShowName=\"true\"\n ></thy-avatar>\n }\n }\n @default {\n <span class=\"text-truncate\"> {{ record.values[field._id] }}</span>\n }\n }\n <div class=\"autofill-container\"></div>\n </div>\n }\n <div class=\"grid-column-blank\"></div>\n </div>\n }\n <div class=\"grid-row-insert grid-row cursor-pointer\" (click)=\"addRecord()\">\n <thy-icon thyIconName=\"plus\"></thy-icon>\n </div>\n</div>\n\n<div #activeBorder class=\"active-border\"></div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ThyTag, selector: "thy-tag,[thyTag]", inputs: ["thyTag", "thyShape", "thyColor", "thyTheme", "thySize", "thyHoverable"] }, { kind: "ngmodule", type: ThyPopoverModule }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "component", type: ThyRate, selector: "thy-rate", inputs: ["thyValue", "currentValue", "hasHalf", "thyCount", "thyDisabled", "thyAllowHalf", "thyAllowClear", "thyTooltips", "thyIconTemplate"], outputs: ["thyValueChange", "currentValueChange", "hasHalfChange", "thyItemHoverChange"] }, { kind: "component", type: ThyProgress, selector: "thy-progress", inputs: ["thyType", "thySize", "thyValue", "thyMax", "thyTips", "thyShape", "thyGapDegree", "thyGapPosition", "thyStrokeWidth"] }, { kind: "component", type: ThyFlexibleText, selector: "thy-flexible-text,[thyFlexibleText]", inputs: ["thyTooltipTrigger", "thyContainerClass", "thyTooltipContent", "thyTooltipPlacement", "thyTooltipOffset"], exportAs: ["thyFlexibleText"] }, { kind: "directive", type: ThyStopPropagationDirective, selector: "[thyStopPropagation]", inputs: ["thyStopPropagation"] }, { kind: "component", type: ThyAction, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyTheme", "thyHoverIcon", "thyDisabled"] }, { kind: "ngmodule", type: ThyCheckboxModule }, { kind: "component", type: i2$2.ThyCheckbox, selector: "thy-checkbox,[thy-checkbox],[thyCheckbox]", inputs: ["thyIndeterminate"] }, { kind: "ngmodule", type: ThyAvatarModule }, { kind: "component", type: i3$1.ThyAvatar, selector: "thy-avatar", inputs: ["thyShowName", "thySrc", "thyName", "thySize", "thyShowRemove", "thyRemovable", "thyImgClass", "thyDisabled", "thyLoading", "thyFetchPriority"], outputs: ["thyOnRemove", "thyRemove", "thyError", "thySizeChange"] }, { kind: "component", type: i3$1.ThyAvatarList, selector: "thy-avatar-list", inputs: ["thyMode", "thyAvatarSize"] }, { kind: "component", type: SelectOptionComponent, selector: "select-option", inputs: ["field", "displayOption"] }, { kind: "pipe", type: SelectOptionPipe, name: "selectOption" }, { kind: "pipe", type: SelectOptionsPipe, name: "selectOptions" }, { kind: "pipe", type: ThyDatePickerFormatPipe, name: "thyDatePickerFormat" }, { kind: "pipe", type: IsSelectRecordPipe, name: "isSelectRecord" }, { kind: "pipe", type: UserPipe, name: "user" }, { kind: "pipe", type: SelectSettingPipe, name: "selectSetting" }, { kind: "pipe", type: MemberSettingPipe, name: "memberSetting" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
13403
13127
  }
13404
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableDomGrid, decorators: [{
13128
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableDomGrid, decorators: [{
13405
13129
  type: Component,
13406
13130
  args: [{ selector: 'ai-table-dom-grid', changeDetection: ChangeDetectionStrategy.OnPush, host: {
13407
13131
  class: 'ai-table-grid ai-table-dom-grid'
@@ -13621,10 +13345,10 @@ class AITableScrollControllerService {
13621
13345
  this.mouseUpSubscription = null;
13622
13346
  }
13623
13347
  }
13624
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableScrollControllerService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); }
13625
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableScrollControllerService }); }
13348
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableScrollControllerService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); }
13349
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableScrollControllerService }); }
13626
13350
  }
13627
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableScrollControllerService, decorators: [{
13351
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableScrollControllerService, decorators: [{
13628
13352
  type: Injectable
13629
13353
  }], ctorParameters: () => [{ type: i0.NgZone }] });
13630
13354
 
@@ -13651,7 +13375,8 @@ class RecordDetailService {
13651
13375
  recordId: config.recordId,
13652
13376
  references: config.references,
13653
13377
  actions: config.actions
13654
- }
13378
+ },
13379
+ ...config.slideConfig
13655
13380
  });
13656
13381
  if (this.currentSlideRef) {
13657
13382
  this.currentSlideRef.afterOpened().subscribe(() => {
@@ -13678,19 +13403,19 @@ class RecordDetailService {
13678
13403
  isOpen() {
13679
13404
  return this.currentSlideRef !== null;
13680
13405
  }
13681
- isClickInsideTableOrPanel(event, viewContainerRef) {
13406
+ canCloseSlide(event, viewContainerRef) {
13682
13407
  const target = event.target;
13683
13408
  const tableElement = viewContainerRef.element.nativeElement;
13684
13409
  if (tableElement && tableElement.contains(target)) {
13685
- return true;
13410
+ return false;
13686
13411
  }
13687
13412
  const overlayContainers = document.querySelectorAll('.cdk-overlay-container');
13688
13413
  for (let i = 0; i < overlayContainers.length; i++) {
13689
13414
  if (overlayContainers[i].contains(target)) {
13690
- return true;
13415
+ return false;
13691
13416
  }
13692
13417
  }
13693
- return false;
13418
+ return true;
13694
13419
  }
13695
13420
  setupDocumentClickListener(config) {
13696
13421
  if (this.clickSubscription) {
@@ -13698,22 +13423,23 @@ class RecordDetailService {
13698
13423
  this.clickSubscription = null;
13699
13424
  }
13700
13425
  this.clickSubscription = fromEvent(document, 'click').subscribe((event) => {
13701
- if (!this.isClickInsideTableOrPanel(event, config.viewContainerRef)) {
13426
+ const callback = config.canCloseSlideCallback ? config.canCloseSlideCallback : this.canCloseSlide;
13427
+ if (callback(event, config.viewContainerRef)) {
13702
13428
  this.close();
13703
13429
  }
13704
13430
  });
13705
13431
  }
13706
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: RecordDetailService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
13707
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: RecordDetailService }); }
13432
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: RecordDetailService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
13433
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: RecordDetailService }); }
13708
13434
  }
13709
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: RecordDetailService, decorators: [{
13435
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: RecordDetailService, decorators: [{
13710
13436
  type: Injectable
13711
13437
  }] });
13712
13438
 
13713
13439
  class AITableDragComponent {
13714
13440
  constructor() {
13715
- this.horizontalBar = input();
13716
- this.verticalBar = input();
13441
+ this.horizontalBar = input(...(ngDevMode ? [undefined, { debugName: "horizontalBar" }] : []));
13442
+ this.verticalBar = input(...(ngDevMode ? [undefined, { debugName: "verticalBar" }] : []));
13717
13443
  this.dragEnd = output();
13718
13444
  this.aiTableGridEventService = inject(AITableGridEventService);
13719
13445
  this.render2 = inject(Renderer2);
@@ -14152,15 +13878,15 @@ class AITableDragComponent {
14152
13878
  }
14153
13879
  this.scrollControllerService.destroy();
14154
13880
  }
14155
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableDragComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14156
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: AITableDragComponent, isStandalone: true, selector: "ai-table-drag", inputs: { horizontalBar: { classPropertyName: "horizontalBar", publicName: "horizontalBar", isSignal: true, isRequired: false, transformFunction: null }, verticalBar: { classPropertyName: "verticalBar", publicName: "verticalBar", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dragEnd: "dragEnd" }, host: { classAttribute: "ai-table-drag-container" }, ngImport: i0, template: "<div class=\"rect\"></div>\n<div class=\"auxiliary-line\"></div>", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
13881
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableDragComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13882
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.13", type: AITableDragComponent, isStandalone: true, selector: "ai-table-drag", inputs: { horizontalBar: { classPropertyName: "horizontalBar", publicName: "horizontalBar", isSignal: true, isRequired: false, transformFunction: null }, verticalBar: { classPropertyName: "verticalBar", publicName: "verticalBar", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dragEnd: "dragEnd" }, host: { classAttribute: "ai-table-drag-container" }, ngImport: i0, template: "<div class=\"rect\"></div>\n<div class=\"auxiliary-line\"></div>", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
14157
13883
  }
14158
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableDragComponent, decorators: [{
13884
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableDragComponent, decorators: [{
14159
13885
  type: Component,
14160
13886
  args: [{ selector: 'ai-table-drag', changeDetection: ChangeDetectionStrategy.OnPush, host: {
14161
13887
  class: 'ai-table-drag-container'
14162
13888
  }, template: "<div class=\"rect\"></div>\n<div class=\"auxiliary-line\"></div>" }]
14163
- }], ctorParameters: () => [] });
13889
+ }], ctorParameters: () => [], propDecorators: { horizontalBar: [{ type: i0.Input, args: [{ isSignal: true, alias: "horizontalBar", required: false }] }], verticalBar: [{ type: i0.Input, args: [{ isSignal: true, alias: "verticalBar", required: false }] }], dragEnd: [{ type: i0.Output, args: ["dragEnd"] }] } });
14164
13890
 
14165
13891
  class AITableGrid extends AITableGridBase {
14166
13892
  constructor() {
@@ -14181,7 +13907,7 @@ class AITableGrid extends AITableGridBase {
14181
13907
  this.recordDetailService = inject(RecordDetailService);
14182
13908
  this.isPopoverOpen = false;
14183
13909
  this.fieldHeadHeight = AI_TABLE_FIELD_HEAD_HEIGHT;
14184
- this.containerRect = signal({ width: 0, height: 0 });
13910
+ this.containerRect = signal({ width: 0, height: 0 }, ...(ngDevMode ? [{ debugName: "containerRect" }] : []));
14185
13911
  this.frozenColumnCount = computed(() => {
14186
13912
  const containerWidth = this.containerRect().width;
14187
13913
  const aiFrozenColumnCountFn = this.aiFrozenColumnCountFn();
@@ -14189,16 +13915,16 @@ class AITableGrid extends AITableGridBase {
14189
13915
  return aiFrozenColumnCountFn(containerWidth);
14190
13916
  }
14191
13917
  return AI_TABLE_MIN_FROZEN_COLUMN_COUNT;
14192
- });
13918
+ }, ...(ngDevMode ? [{ debugName: "frozenColumnCount" }] : []));
14193
13919
  this.hasContainerRect = computed(() => {
14194
13920
  return this.containerRect().width > 0 && this.containerRect().height > 0;
14195
- });
14196
- this.container = viewChild('container');
14197
- this.verticalBarRef = viewChild('verticalBar');
14198
- this.horizontalBarRef = viewChild('horizontalBar');
13921
+ }, ...(ngDevMode ? [{ debugName: "hasContainerRect" }] : []));
13922
+ this.container = viewChild('container', ...(ngDevMode ? [{ debugName: "container" }] : []));
13923
+ this.verticalBarRef = viewChild('verticalBar', ...(ngDevMode ? [{ debugName: "verticalBarRef" }] : []));
13924
+ this.horizontalBarRef = viewChild('horizontalBar', ...(ngDevMode ? [{ debugName: "horizontalBarRef" }] : []));
14199
13925
  this.linearRows = computed(() => {
14200
13926
  return buildGridLinearRows(this.gridData().records, !this.aiReadonly(), this.aiTable, this.aiBuildGroupLinearRowsFn?.());
14201
- });
13927
+ }, ...(ngDevMode ? [{ debugName: "linearRows" }] : []));
14202
13928
  this.domToolTips = computed(() => {
14203
13929
  const scrollTop = this.aiTable.context.scrollState().scrollTop;
14204
13930
  const rowIndices = this.toolTipRowIndices();
@@ -14211,7 +13937,7 @@ class AITableGrid extends AITableGridBase {
14211
13937
  tooltip
14212
13938
  };
14213
13939
  });
14214
- });
13940
+ }, ...(ngDevMode ? [{ debugName: "domToolTips" }] : []));
14215
13941
  this.toolTipRowIndices = computed(() => {
14216
13942
  const hiddenRows = this.aiTable.recordsWillHidden() || [];
14217
13943
  const moveRows = this.aiTable.recordsWillMove() || [];
@@ -14228,11 +13954,11 @@ class AITableGrid extends AITableGridBase {
14228
13954
  });
14229
13955
  });
14230
13956
  return toolTipRowIndices;
14231
- });
13957
+ }, ...(ngDevMode ? [{ debugName: "toolTipRowIndices" }] : []));
14232
13958
  this.visibleColumnsIndexMap = computed(() => {
14233
13959
  const columns = AITable.getVisibleFields(this.aiTable);
14234
13960
  return new Map(columns?.map((item, index) => [item._id, index]));
14235
- });
13961
+ }, ...(ngDevMode ? [{ debugName: "visibleColumnsIndexMap" }] : []));
14236
13962
  this.fieldOptions = computed(() => {
14237
13963
  let allFieldOptions = getDefaultFieldOptions().map((fieldOption) => {
14238
13964
  const name = getI18nTextByKey(this.aiTable, fieldOption.name);
@@ -14248,16 +13974,16 @@ class AITableGrid extends AITableGridBase {
14248
13974
  allFieldOptions = filterFieldOptions(allFieldOptions);
14249
13975
  }
14250
13976
  return allFieldOptions;
14251
- });
13977
+ }, ...(ngDevMode ? [{ debugName: "fieldOptions" }] : []));
14252
13978
  this.fieldOptionMap = computed(() => {
14253
13979
  return new Map(this.fieldOptions().map((fieldOption) => [fieldOption.type, fieldOption]));
14254
- });
13980
+ }, ...(ngDevMode ? [{ debugName: "fieldOptionMap" }] : []));
14255
13981
  this.visibleRowsIndexMap = computed(() => {
14256
13982
  return new Map(this.linearRows().map((row, index) => [row._id, index]));
14257
- });
13983
+ }, ...(ngDevMode ? [{ debugName: "visibleRowsIndexMap" }] : []));
14258
13984
  this.containerElement = computed(() => {
14259
13985
  return this.container().nativeElement;
14260
- });
13986
+ }, ...(ngDevMode ? [{ debugName: "containerElement" }] : []));
14261
13987
  this.trackBy = (index, item) => {
14262
13988
  return item.sort_by ?? index;
14263
13989
  };
@@ -14289,25 +14015,25 @@ class AITableGrid extends AITableGridBase {
14289
14015
  maxRecords: this.aiMaxRecords(),
14290
14016
  maxSelectOptions: this.aiMaxSelectOptions()
14291
14017
  };
14292
- });
14018
+ }, ...(ngDevMode ? [{ debugName: "rendererConfig" }] : []));
14293
14019
  this.coordinate = computed(() => {
14294
14020
  return this.rendererConfig().coordinate;
14295
- });
14021
+ }, ...(ngDevMode ? [{ debugName: "coordinate" }] : []));
14296
14022
  this.scrollState = computed(() => {
14297
14023
  return this.aiTable.context.scrollState();
14298
- });
14024
+ }, ...(ngDevMode ? [{ debugName: "scrollState" }] : []));
14299
14025
  this.scrollTotalHeight = computed(() => {
14300
14026
  return Math.max(this.coordinate().totalHeight, this.containerRect().height - this.fieldHeadHeight);
14301
- });
14027
+ }, ...(ngDevMode ? [{ debugName: "scrollTotalHeight" }] : []));
14302
14028
  this.scrollbarWidth = computed(() => {
14303
14029
  return this.coordinate().totalWidth + AI_TABLE_FIELD_ADD_BUTTON_WIDTH;
14304
- });
14030
+ }, ...(ngDevMode ? [{ debugName: "scrollbarWidth" }] : []));
14305
14031
  this.i18nTexts = computed(() => {
14306
14032
  this.aiGetI18nTextByKey();
14307
14033
  return {
14308
14034
  rowAddFilterTooltip: getI18nTextByKey(this.aiTable, AITableGridI18nKey.rowAddFilterTooltip)
14309
14035
  };
14310
- });
14036
+ }, ...(ngDevMode ? [{ debugName: "i18nTexts" }] : []));
14311
14037
  // rowAddFilterTooltip = getI18nTextByKey(this.aiTable, AITableGridI18nKey.rowAddFilterTooltip);
14312
14038
  this.rowIndicesMap = computed(() => {
14313
14039
  const rowIndicesMap = {};
@@ -14320,7 +14046,7 @@ class AITableGrid extends AITableGridBase {
14320
14046
  }
14321
14047
  });
14322
14048
  return rowIndicesMap;
14323
- });
14049
+ }, ...(ngDevMode ? [{ debugName: "rowIndicesMap" }] : []));
14324
14050
  this.actions = {
14325
14051
  updateFieldValues: (data) => {
14326
14052
  this.aiUpdateFieldValues.emit(data);
@@ -14438,6 +14164,7 @@ class AITableGrid extends AITableGridBase {
14438
14164
  this.initCustomField();
14439
14165
  }
14440
14166
  ngOnDestroy() {
14167
+ this.recordDetailService.close();
14441
14168
  this.resizeObserver?.disconnect();
14442
14169
  }
14443
14170
  initContext() {
@@ -14722,7 +14449,8 @@ class AITableGrid extends AITableGridBase {
14722
14449
  this.aiTableGridEventService.closeCellEditor();
14723
14450
  const { context } = this.aiTable;
14724
14451
  const targetName = targetNameDetail.targetName;
14725
- if (mouseEvent.button !== AITableMouseDownType.Left || (targetName !== AI_TABLE_FIELD_HEAD_MORE && this.aiReadonly()))
14452
+ if (mouseEvent.button !== AITableMouseDownType.Left ||
14453
+ (![AI_TABLE_FIELD_HEAD_MORE, AI_TABLE_EXPAND_RECORD_ICON].includes(targetName) && this.aiReadonly()))
14726
14454
  return;
14727
14455
  switch (targetName) {
14728
14456
  case AI_TABLE_ROW_ADD_BUTTON: {
@@ -14811,7 +14539,8 @@ class AITableGrid extends AITableGridBase {
14811
14539
  aiTable: this.aiTable,
14812
14540
  recordId: targetNameDetail.recordId,
14813
14541
  references: this.aiReferences(),
14814
- actions: this.actions
14542
+ actions: this.actions,
14543
+ ...this.aiRecordDetailConfig()
14815
14544
  });
14816
14545
  }
14817
14546
  }
@@ -15258,15 +14987,15 @@ class AITableGrid extends AITableGridBase {
15258
14987
  }
15259
14988
  });
15260
14989
  }
15261
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableGrid, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15262
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AITableGrid, isStandalone: true, selector: "ai-table-grid", host: { classAttribute: "ai-table-grid" }, providers: [AITableGridEventService, AITableGridFieldService, AITableScrollControllerService, RecordDetailService], viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, isSignal: true }, { propertyName: "verticalBarRef", first: true, predicate: ["verticalBar"], descendants: true, isSignal: true }, { propertyName: "horizontalBarRef", first: true, predicate: ["horizontalBar"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div #container class=\"ai-table-grid-view\">\n @if (hasContainerRect()) {\n <ai-table-renderer\n [config]=\"rendererConfig()\"\n (koMousemove)=\"stageMousemove($event)\"\n (koMousedown)=\"stageMousedown($event)\"\n (koMouseup)=\"stageMouseup($event)\"\n (koContextmenu)=\"stageContextmenu($event)\"\n (koClick)=\"stageClick($event)\"\n (koDblclick)=\"stageDblclick($event)\"\n (koMouseleave)=\"stageMouseleave($event)\"\n (koWheel)=\"stageWheel($event)\"\n >\n @if (domToolTips().length > 0) {\n <div\n class=\"ai-table-left-background-wrapper\"\n [style.height.px]=\"containerRect().height - fieldHeadHeight\"\n [style.top.px]=\"fieldHeadHeight\"\n >\n @for (domToolTip of domToolTips(); track trackBy(idx, domToolTip); let idx = $index) {\n <div\n class=\"ai-table-left-background\"\n [thyTooltip]=\"domToolTip.tooltip\"\n [style.--scroll-top.px]=\"domToolTip.top\"\n [style.height.px]=\"domToolTip.height\"\n >\n <thy-icon class=\"text-white\" thyIconName=\"filter-line\"></thy-icon>\n </div>\n }\n </div>\n }\n <div #horizontalBar class=\"ai-table-horizontal-scroll-bar-wrapper\" [style.width.px]=\"containerRect().width\">\n <div class=\"ai-table-scroll-bar-inner\" [style.width.px]=\"scrollbarWidth()\"></div>\n </div>\n <div\n #verticalBar\n class=\"ai-table-vertical-scroll-bar-wrapper\"\n [style.height.px]=\"containerRect().height - fieldHeadHeight\"\n [style.top.px]=\"fieldHeadHeight\"\n >\n <div class=\"ai-table-scroll-bar-inner\" [style.height.px]=\"scrollTotalHeight()\"></div>\n </div>\n </ai-table-renderer>\n }\n <ai-table-drag [horizontalBar]=\"horizontalBarRef()\" [verticalBar]=\"verticalBarRef()\" (dragEnd)=\"dragEnd($event)\"></ai-table-drag>\n</div>\n", dependencies: [{ kind: "component", type: AITableRenderer, selector: "ai-table-renderer", inputs: ["config"], outputs: ["koMousemove", "koMousedown", "koMouseup", "koContextmenu", "koWheel", "koClick", "koDblclick", "koMouseleave", "onScrollPosition"] }, { kind: "component", type: AITableDragComponent, selector: "ai-table-drag", inputs: ["horizontalBar", "verticalBar"], outputs: ["dragEnd"] }, { kind: "directive", type: ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
14990
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableGrid, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14991
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.13", type: AITableGrid, isStandalone: true, selector: "ai-table-grid", host: { classAttribute: "ai-table-grid" }, providers: [AITableGridEventService, AITableGridFieldService, AITableScrollControllerService, RecordDetailService], viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, isSignal: true }, { propertyName: "verticalBarRef", first: true, predicate: ["verticalBar"], descendants: true, isSignal: true }, { propertyName: "horizontalBarRef", first: true, predicate: ["horizontalBar"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div #container class=\"ai-table-grid-view\">\n @if (hasContainerRect()) {\n <ai-table-renderer\n [config]=\"rendererConfig()\"\n (koMousemove)=\"stageMousemove($event)\"\n (koMousedown)=\"stageMousedown($event)\"\n (koMouseup)=\"stageMouseup($event)\"\n (koContextmenu)=\"stageContextmenu($event)\"\n (koClick)=\"stageClick($event)\"\n (koDblclick)=\"stageDblclick($event)\"\n (koMouseleave)=\"stageMouseleave($event)\"\n (koWheel)=\"stageWheel($event)\"\n >\n @if (domToolTips().length > 0) {\n <div\n class=\"ai-table-left-background-wrapper\"\n [style.height.px]=\"containerRect().height - fieldHeadHeight\"\n [style.top.px]=\"fieldHeadHeight\"\n >\n @for (domToolTip of domToolTips(); track trackBy(idx, domToolTip); let idx = $index) {\n <div\n class=\"ai-table-left-background\"\n [thyTooltip]=\"domToolTip.tooltip\"\n [style.--scroll-top.px]=\"domToolTip.top\"\n [style.height.px]=\"domToolTip.height\"\n >\n <thy-icon class=\"text-white\" thyIconName=\"filter-line\"></thy-icon>\n </div>\n }\n </div>\n }\n <div #horizontalBar class=\"ai-table-horizontal-scroll-bar-wrapper\" [style.width.px]=\"containerRect().width\">\n <div class=\"ai-table-scroll-bar-inner\" [style.width.px]=\"scrollbarWidth()\"></div>\n </div>\n <div\n #verticalBar\n class=\"ai-table-vertical-scroll-bar-wrapper\"\n [style.height.px]=\"containerRect().height - fieldHeadHeight\"\n [style.top.px]=\"fieldHeadHeight\"\n >\n <div class=\"ai-table-scroll-bar-inner\" [style.height.px]=\"scrollTotalHeight()\"></div>\n </div>\n </ai-table-renderer>\n }\n <ai-table-drag [horizontalBar]=\"horizontalBarRef()\" [verticalBar]=\"verticalBarRef()\" (dragEnd)=\"dragEnd($event)\"></ai-table-drag>\n</div>\n", dependencies: [{ kind: "component", type: AITableRenderer, selector: "ai-table-renderer", inputs: ["config"], outputs: ["koMousemove", "koMousedown", "koMouseup", "koContextmenu", "koWheel", "koClick", "koDblclick", "koMouseleave", "onScrollPosition"] }, { kind: "component", type: AITableDragComponent, selector: "ai-table-drag", inputs: ["horizontalBar", "verticalBar"], outputs: ["dragEnd"] }, { kind: "directive", type: ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
15263
14992
  }
15264
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableGrid, decorators: [{
14993
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: AITableGrid, decorators: [{
15265
14994
  type: Component,
15266
14995
  args: [{ selector: 'ai-table-grid', changeDetection: ChangeDetectionStrategy.OnPush, host: {
15267
14996
  class: 'ai-table-grid'
15268
14997
  }, imports: [AITableRenderer, AITableDragComponent, ThyTooltipDirective, ThyIcon], providers: [AITableGridEventService, AITableGridFieldService, AITableScrollControllerService, RecordDetailService], template: "<div #container class=\"ai-table-grid-view\">\n @if (hasContainerRect()) {\n <ai-table-renderer\n [config]=\"rendererConfig()\"\n (koMousemove)=\"stageMousemove($event)\"\n (koMousedown)=\"stageMousedown($event)\"\n (koMouseup)=\"stageMouseup($event)\"\n (koContextmenu)=\"stageContextmenu($event)\"\n (koClick)=\"stageClick($event)\"\n (koDblclick)=\"stageDblclick($event)\"\n (koMouseleave)=\"stageMouseleave($event)\"\n (koWheel)=\"stageWheel($event)\"\n >\n @if (domToolTips().length > 0) {\n <div\n class=\"ai-table-left-background-wrapper\"\n [style.height.px]=\"containerRect().height - fieldHeadHeight\"\n [style.top.px]=\"fieldHeadHeight\"\n >\n @for (domToolTip of domToolTips(); track trackBy(idx, domToolTip); let idx = $index) {\n <div\n class=\"ai-table-left-background\"\n [thyTooltip]=\"domToolTip.tooltip\"\n [style.--scroll-top.px]=\"domToolTip.top\"\n [style.height.px]=\"domToolTip.height\"\n >\n <thy-icon class=\"text-white\" thyIconName=\"filter-line\"></thy-icon>\n </div>\n }\n </div>\n }\n <div #horizontalBar class=\"ai-table-horizontal-scroll-bar-wrapper\" [style.width.px]=\"containerRect().width\">\n <div class=\"ai-table-scroll-bar-inner\" [style.width.px]=\"scrollbarWidth()\"></div>\n </div>\n <div\n #verticalBar\n class=\"ai-table-vertical-scroll-bar-wrapper\"\n [style.height.px]=\"containerRect().height - fieldHeadHeight\"\n [style.top.px]=\"fieldHeadHeight\"\n >\n <div class=\"ai-table-scroll-bar-inner\" [style.height.px]=\"scrollTotalHeight()\"></div>\n </div>\n </ai-table-renderer>\n }\n <ai-table-drag [horizontalBar]=\"horizontalBarRef()\" [verticalBar]=\"verticalBarRef()\" (dragEnd)=\"dragEnd($event)\"></ai-table-drag>\n</div>\n" }]
15269
- }], ctorParameters: () => [] });
14998
+ }], ctorParameters: () => [], propDecorators: { container: [{ type: i0.ViewChild, args: ['container', { isSignal: true }] }], verticalBarRef: [{ type: i0.ViewChild, args: ['verticalBar', { isSignal: true }] }], horizontalBarRef: [{ type: i0.ViewChild, args: ['horizontalBar', { isSignal: true }] }] } });
15270
14999
 
15271
15000
  /**
15272
15001
  * Generated bundle index. Do not edit.