@ai-table/grid 0.0.11 → 0.0.13

Sign up to get free protection for your applications and to get access to all the features.
Files changed (324) hide show
  1. package/angular-konva/components/container.component.d.ts +7 -0
  2. package/angular-konva/components/container.component.d.ts.map +1 -0
  3. package/angular-konva/components/container.token.d.ts +3 -0
  4. package/angular-konva/components/container.token.d.ts.map +1 -0
  5. package/angular-konva/components/index.d.ts +4 -0
  6. package/angular-konva/components/index.d.ts.map +1 -0
  7. package/angular-konva/components/shape.component.d.ts +61 -0
  8. package/angular-konva/components/shape.component.d.ts.map +1 -0
  9. package/angular-konva/components/stage.component.d.ts +40 -0
  10. package/angular-konva/components/stage.component.d.ts.map +1 -0
  11. package/angular-konva/index.d.ts +5 -0
  12. package/angular-konva/index.d.ts.map +1 -0
  13. package/angular-konva/interfaces/component.d.ts +49 -0
  14. package/angular-konva/interfaces/component.d.ts.map +1 -0
  15. package/angular-konva/interfaces/config.d.ts +26 -0
  16. package/angular-konva/interfaces/config.d.ts.map +1 -0
  17. package/angular-konva/interfaces/event-object.d.ts +7 -0
  18. package/angular-konva/interfaces/event-object.d.ts.map +1 -0
  19. package/angular-konva/interfaces/index.d.ts +5 -0
  20. package/angular-konva/interfaces/index.d.ts.map +1 -0
  21. package/angular-konva/interfaces/shape.d.ts +42 -0
  22. package/angular-konva/interfaces/shape.d.ts.map +1 -0
  23. package/angular-konva/utils/apply-node-props.d.ts +4 -0
  24. package/angular-konva/utils/apply-node-props.d.ts.map +1 -0
  25. package/angular-konva/utils/common.d.ts +8 -0
  26. package/angular-konva/utils/common.d.ts.map +1 -0
  27. package/angular-konva/utils/index.d.ts +5 -0
  28. package/angular-konva/utils/index.d.ts.map +1 -0
  29. package/angular-konva/utils/types.d.ts +4 -0
  30. package/angular-konva/utils/types.d.ts.map +1 -0
  31. package/angular-konva/utils/update-picture.d.ts +4 -0
  32. package/angular-konva/utils/update-picture.d.ts.map +1 -0
  33. package/components/cell-editors/abstract-cell-editor.component.d.ts +7 -5
  34. package/components/cell-editors/abstract-cell-editor.component.d.ts.map +1 -1
  35. package/components/cell-editors/cell-editor.scss +38 -25
  36. package/components/cell-editors/cell-editor.variables.scss +5 -0
  37. package/components/cell-editors/date/date-editor.component.d.ts.map +1 -1
  38. package/components/cell-editors/link/edit-link/edit-link.component.d.ts +33 -0
  39. package/components/cell-editors/link/edit-link/edit-link.component.d.ts.map +1 -0
  40. package/components/cell-editors/link/link-editor.component.d.ts +36 -0
  41. package/components/cell-editors/link/link-editor.component.d.ts.map +1 -0
  42. package/components/cell-editors/link/link-editor.component.scss +21 -0
  43. package/components/cell-editors/progress/progress-editor.component.d.ts +0 -1
  44. package/components/cell-editors/progress/progress-editor.component.d.ts.map +1 -1
  45. package/components/cell-editors/progress/progress-editor.component.scss +12 -4
  46. package/components/cell-editors/rating/rating-editor.component.d.ts +0 -1
  47. package/components/cell-editors/rating/rating-editor.component.d.ts.map +1 -1
  48. package/components/cell-editors/rating/rating-editor.component.scss +10 -0
  49. package/components/cell-editors/select/select-editor.component.d.ts +1 -3
  50. package/components/cell-editors/select/select-editor.component.d.ts.map +1 -1
  51. package/components/cell-editors/text/text-editor.component.d.ts +0 -1
  52. package/components/cell-editors/text/text-editor.component.d.ts.map +1 -1
  53. package/components/cell-views/select/option.component.d.ts.map +1 -1
  54. package/components/cell-views/select/option.scss +10 -0
  55. package/components/field-menu/field-menu.component.d.ts +8 -3
  56. package/components/field-menu/field-menu.component.d.ts.map +1 -1
  57. package/components/field-property-editor/field-property-editor.component.d.ts +4 -2
  58. package/components/field-property-editor/field-property-editor.component.d.ts.map +1 -1
  59. package/components/index.d.ts +3 -1
  60. package/components/index.d.ts.map +1 -1
  61. package/constants/colors.d.ts +18 -0
  62. package/constants/colors.d.ts.map +1 -0
  63. package/constants/grid.d.ts +17 -1
  64. package/constants/grid.d.ts.map +1 -1
  65. package/constants/icon.d.ts +19 -0
  66. package/constants/icon.d.ts.map +1 -0
  67. package/constants/index.d.ts +5 -1
  68. package/constants/index.d.ts.map +1 -1
  69. package/constants/table.d.ts +60 -0
  70. package/constants/table.d.ts.map +1 -0
  71. package/constants/text.d.ts +22 -0
  72. package/constants/text.d.ts.map +1 -0
  73. package/core/context.d.ts +14 -0
  74. package/core/context.d.ts.map +1 -0
  75. package/core/coordinate.d.ts +96 -0
  76. package/core/coordinate.d.ts.map +1 -0
  77. package/core/index.d.ts +3 -2
  78. package/core/index.d.ts.map +1 -1
  79. package/core/types/ai-table.d.ts +56 -0
  80. package/core/types/ai-table.d.ts.map +1 -0
  81. package/core/types/core.d.ts +29 -23
  82. package/core/types/core.d.ts.map +1 -1
  83. package/core/types/index.d.ts +1 -1
  84. package/core/types/index.d.ts.map +1 -1
  85. package/core/utils/common.d.ts +1 -2
  86. package/core/utils/common.d.ts.map +1 -1
  87. package/core/utils/field.d.ts +1 -1
  88. package/core/utils/field.d.ts.map +1 -1
  89. package/core/utils/index.d.ts +0 -1
  90. package/core/utils/index.d.ts.map +1 -1
  91. package/core/utils/queries.d.ts +5 -5
  92. package/core/utils/queries.d.ts.map +1 -1
  93. package/dom-grid.component.d.ts +11 -0
  94. package/dom-grid.component.d.ts.map +1 -0
  95. package/esm2022/angular-konva/components/container.component.mjs +29 -0
  96. package/esm2022/angular-konva/components/container.token.mjs +3 -0
  97. package/esm2022/angular-konva/components/index.mjs +4 -0
  98. package/esm2022/angular-konva/components/shape.component.mjs +142 -0
  99. package/esm2022/angular-konva/components/stage.component.mjs +123 -0
  100. package/esm2022/angular-konva/index.mjs +5 -0
  101. package/esm2022/angular-konva/interfaces/component.mjs +4 -0
  102. package/esm2022/angular-konva/interfaces/config.mjs +2 -0
  103. package/esm2022/angular-konva/interfaces/event-object.mjs +2 -0
  104. package/esm2022/angular-konva/interfaces/index.mjs +5 -0
  105. package/esm2022/angular-konva/interfaces/shape.mjs +42 -0
  106. package/esm2022/angular-konva/utils/apply-node-props.mjs +67 -0
  107. package/esm2022/angular-konva/utils/common.mjs +48 -0
  108. package/esm2022/angular-konva/utils/index.mjs +5 -0
  109. package/esm2022/angular-konva/utils/types.mjs +2 -0
  110. package/esm2022/angular-konva/utils/update-picture.mjs +7 -0
  111. package/esm2022/components/cell-editors/abstract-cell-editor.component.mjs +12 -7
  112. package/esm2022/components/cell-editors/date/date-editor.component.mjs +6 -3
  113. package/esm2022/components/cell-editors/link/edit-link/edit-link.component.mjs +66 -0
  114. package/esm2022/components/cell-editors/link/link-editor.component.mjs +117 -0
  115. package/esm2022/components/cell-editors/number/number-editor.component.mjs +2 -2
  116. package/esm2022/components/cell-editors/progress/progress-editor.component.mjs +3 -6
  117. package/esm2022/components/cell-editors/rating/rating-editor.component.mjs +4 -7
  118. package/esm2022/components/cell-editors/select/select-editor.component.mjs +11 -16
  119. package/esm2022/components/cell-editors/text/text-editor.component.mjs +10 -11
  120. package/esm2022/components/cell-views/select/option.component.mjs +6 -5
  121. package/esm2022/components/field-menu/field-menu.component.mjs +11 -8
  122. package/esm2022/components/field-property-editor/field-property-editor.component.mjs +17 -12
  123. package/esm2022/components/index.mjs +4 -2
  124. package/esm2022/constants/colors.mjs +18 -0
  125. package/esm2022/constants/editor.mjs +2 -3
  126. package/esm2022/constants/grid.mjs +22 -4
  127. package/esm2022/constants/icon.mjs +26 -0
  128. package/esm2022/constants/index.mjs +6 -2
  129. package/esm2022/constants/table.mjs +62 -0
  130. package/esm2022/constants/text.mjs +23 -0
  131. package/esm2022/core/context.mjs +25 -0
  132. package/esm2022/core/coordinate.mjs +222 -0
  133. package/esm2022/core/index.mjs +4 -3
  134. package/esm2022/core/types/ai-table.mjs +44 -0
  135. package/esm2022/core/types/core.mjs +6 -1
  136. package/esm2022/core/types/index.mjs +2 -2
  137. package/esm2022/core/utils/common.mjs +3 -20
  138. package/esm2022/core/utils/field.mjs +9 -5
  139. package/esm2022/core/utils/index.mjs +1 -2
  140. package/esm2022/core/utils/queries.mjs +4 -4
  141. package/esm2022/dom-grid.component.mjs +82 -0
  142. package/esm2022/grid-base.component.mjs +154 -0
  143. package/esm2022/grid.component.mjs +336 -160
  144. package/esm2022/public-api.mjs +9 -5
  145. package/esm2022/renderer/components/add-field-column.component.mjs +68 -0
  146. package/esm2022/renderer/components/cells.component.mjs +35 -0
  147. package/esm2022/renderer/components/field-head.component.mjs +130 -0
  148. package/esm2022/renderer/components/field-icon.component.mjs +66 -0
  149. package/esm2022/renderer/components/frozen-cells.component.mjs +36 -0
  150. package/esm2022/renderer/components/frozen-heads.component.mjs +117 -0
  151. package/esm2022/renderer/components/frozen-placeholder-cells.component.mjs +38 -0
  152. package/esm2022/renderer/components/heads.component.mjs +38 -0
  153. package/esm2022/renderer/components/hover-row-heads.component.mjs +107 -0
  154. package/esm2022/renderer/components/icon.component.mjs +80 -0
  155. package/esm2022/renderer/components/index.mjs +14 -0
  156. package/esm2022/renderer/components/other-rows.component.mjs +68 -0
  157. package/esm2022/renderer/components/placeholder-cells.component.mjs +33 -0
  158. package/esm2022/renderer/components/text.component.mjs +45 -0
  159. package/esm2022/renderer/creations/create-active-cell-border.mjs +68 -0
  160. package/esm2022/renderer/creations/create-cells.mjs +135 -0
  161. package/esm2022/renderer/creations/create-heads.mjs +45 -0
  162. package/esm2022/renderer/drawers/add-row-layout-drawer.mjs +97 -0
  163. package/esm2022/renderer/drawers/cell-drawer.mjs +586 -0
  164. package/esm2022/renderer/drawers/drawer.mjs +936 -0
  165. package/esm2022/renderer/drawers/layout-drawer.mjs +58 -0
  166. package/esm2022/renderer/drawers/record-row-layout-drawer.mjs +101 -0
  167. package/esm2022/renderer/index.mjs +4 -0
  168. package/esm2022/renderer/renderer.component.mjs +174 -0
  169. package/esm2022/services/event.service.mjs +115 -11
  170. package/esm2022/services/field.service.mjs +28 -5
  171. package/esm2022/services/index.mjs +4 -0
  172. package/esm2022/services/selection.service.mjs +8 -1
  173. package/esm2022/types/avatar.mjs +27 -0
  174. package/esm2022/types/canvas.mjs +2 -0
  175. package/esm2022/types/cell.mjs +2 -0
  176. package/esm2022/types/component-config.mjs +7 -0
  177. package/esm2022/types/field.mjs +1 -1
  178. package/esm2022/types/grid.mjs +16 -2
  179. package/esm2022/types/index.mjs +8 -2
  180. package/esm2022/types/layout.mjs +2 -0
  181. package/esm2022/types/row.mjs +6 -0
  182. package/esm2022/utils/build.mjs +39 -0
  183. package/esm2022/utils/cell.mjs +71 -0
  184. package/esm2022/utils/common.mjs +49 -0
  185. package/esm2022/utils/get-placeholder-cells.mjs +66 -0
  186. package/esm2022/utils/get-text-width.mjs +30 -0
  187. package/esm2022/utils/image-cache.mjs +57 -0
  188. package/esm2022/utils/index.mjs +12 -0
  189. package/esm2022/utils/os.mjs +16 -0
  190. package/esm2022/utils/position.mjs +48 -0
  191. package/esm2022/utils/style.mjs +25 -0
  192. package/esm2022/utils/text-measure.mjs +122 -0
  193. package/esm2022/utils/visible-range.mjs +38 -0
  194. package/fesm2022/ai-table-grid.mjs +5526 -693
  195. package/fesm2022/ai-table-grid.mjs.map +1 -1
  196. package/grid-base.component.d.ts +52 -0
  197. package/grid-base.component.d.ts.map +1 -0
  198. package/grid.component.d.ts +43 -40
  199. package/grid.component.d.ts.map +1 -1
  200. package/package.json +5 -2
  201. package/public-api.d.ts +8 -4
  202. package/public-api.d.ts.map +1 -1
  203. package/renderer/components/add-field-column.component.d.ts +16 -0
  204. package/renderer/components/add-field-column.component.d.ts.map +1 -0
  205. package/renderer/components/cells.component.d.ts +14 -0
  206. package/renderer/components/cells.component.d.ts.map +1 -0
  207. package/renderer/components/field-head.component.d.ts +73 -0
  208. package/renderer/components/field-head.component.d.ts.map +1 -0
  209. package/renderer/components/field-icon.component.d.ts +17 -0
  210. package/renderer/components/field-icon.component.d.ts.map +1 -0
  211. package/renderer/components/frozen-cells.component.d.ts +14 -0
  212. package/renderer/components/frozen-cells.component.d.ts.map +1 -0
  213. package/renderer/components/frozen-heads.component.d.ts +47 -0
  214. package/renderer/components/frozen-heads.component.d.ts.map +1 -0
  215. package/renderer/components/frozen-placeholder-cells.component.d.ts +22 -0
  216. package/renderer/components/frozen-placeholder-cells.component.d.ts.map +1 -0
  217. package/renderer/components/heads.component.d.ts +9 -0
  218. package/renderer/components/heads.component.d.ts.map +1 -0
  219. package/renderer/components/hover-row-heads.component.d.ts +11 -0
  220. package/renderer/components/hover-row-heads.component.d.ts.map +1 -0
  221. package/renderer/components/icon.component.d.ts +37 -0
  222. package/renderer/components/icon.component.d.ts.map +1 -0
  223. package/renderer/components/index.d.ts +14 -0
  224. package/renderer/components/index.d.ts.map +1 -0
  225. package/renderer/components/other-rows.component.d.ts +31 -0
  226. package/renderer/components/other-rows.component.d.ts.map +1 -0
  227. package/renderer/components/placeholder-cells.component.d.ts +22 -0
  228. package/renderer/components/placeholder-cells.component.d.ts.map +1 -0
  229. package/renderer/components/text.component.d.ts +99 -0
  230. package/renderer/components/text.component.d.ts.map +1 -0
  231. package/renderer/creations/create-active-cell-border.d.ts +7 -0
  232. package/renderer/creations/create-active-cell-border.d.ts.map +1 -0
  233. package/renderer/creations/create-cells.d.ts +8 -0
  234. package/renderer/creations/create-cells.d.ts.map +1 -0
  235. package/renderer/creations/create-heads.d.ts +3 -0
  236. package/renderer/creations/create-heads.d.ts.map +1 -0
  237. package/renderer/drawers/add-row-layout-drawer.d.ts +12 -0
  238. package/renderer/drawers/add-row-layout-drawer.d.ts.map +1 -0
  239. package/renderer/drawers/cell-drawer.d.ts +22 -0
  240. package/renderer/drawers/cell-drawer.d.ts.map +1 -0
  241. package/renderer/drawers/drawer.d.ts +136 -0
  242. package/renderer/drawers/drawer.d.ts.map +1 -0
  243. package/renderer/drawers/layout-drawer.d.ts +22 -0
  244. package/renderer/drawers/layout-drawer.d.ts.map +1 -0
  245. package/renderer/drawers/record-row-layout-drawer.d.ts +14 -0
  246. package/renderer/drawers/record-row-layout-drawer.d.ts.map +1 -0
  247. package/renderer/index.d.ts +4 -0
  248. package/renderer/index.d.ts.map +1 -0
  249. package/renderer/renderer.component.d.ts +64 -0
  250. package/renderer/renderer.component.d.ts.map +1 -0
  251. package/services/event.service.d.ts +17 -3
  252. package/services/event.service.d.ts.map +1 -1
  253. package/services/field.service.d.ts +5 -4
  254. package/services/field.service.d.ts.map +1 -1
  255. package/services/index.d.ts +4 -0
  256. package/services/index.d.ts.map +1 -0
  257. package/services/selection.service.d.ts.map +1 -1
  258. package/styles/styles.scss +71 -11
  259. package/types/avatar.d.ts +24 -0
  260. package/types/avatar.d.ts.map +1 -0
  261. package/types/canvas.d.ts +83 -0
  262. package/types/canvas.d.ts.map +1 -0
  263. package/types/cell.d.ts +43 -0
  264. package/types/cell.d.ts.map +1 -0
  265. package/types/component-config.d.ts +50 -0
  266. package/types/component-config.d.ts.map +1 -0
  267. package/types/field.d.ts +27 -1
  268. package/types/field.d.ts.map +1 -1
  269. package/types/grid.d.ts +80 -2
  270. package/types/grid.d.ts.map +1 -1
  271. package/types/index.d.ts +7 -1
  272. package/types/index.d.ts.map +1 -1
  273. package/types/layout.d.ts +11 -0
  274. package/types/layout.d.ts.map +1 -0
  275. package/types/row.d.ts +27 -0
  276. package/types/row.d.ts.map +1 -0
  277. package/utils/build.d.ts +5 -0
  278. package/utils/build.d.ts.map +1 -0
  279. package/utils/cell.d.ts +19 -0
  280. package/utils/cell.d.ts.map +1 -0
  281. package/utils/common.d.ts +20 -0
  282. package/utils/common.d.ts.map +1 -0
  283. package/utils/get-placeholder-cells.d.ts +16 -0
  284. package/utils/get-placeholder-cells.d.ts.map +1 -0
  285. package/utils/get-text-width.d.ts +9 -0
  286. package/utils/get-text-width.d.ts.map +1 -0
  287. package/utils/image-cache.d.ts +16 -0
  288. package/utils/image-cache.d.ts.map +1 -0
  289. package/utils/index.d.ts +12 -0
  290. package/utils/index.d.ts.map +1 -0
  291. package/utils/os.d.ts +4 -0
  292. package/utils/os.d.ts.map +1 -0
  293. package/utils/position.d.ts +20 -0
  294. package/utils/position.d.ts.map +1 -0
  295. package/utils/style.d.ts +4 -0
  296. package/utils/style.d.ts.map +1 -0
  297. package/utils/text-measure.d.ts +32 -0
  298. package/utils/text-measure.d.ts.map +1 -0
  299. package/utils/visible-range.d.ts +13 -0
  300. package/utils/visible-range.d.ts.map +1 -0
  301. package/components/cell-editors/link/number-editor.component.d.ts +0 -8
  302. package/components/cell-editors/link/number-editor.component.d.ts.map +0 -1
  303. package/constants/field.d.ts +0 -20
  304. package/constants/field.d.ts.map +0 -1
  305. package/core/action/field.d.ts +0 -12
  306. package/core/action/field.d.ts.map +0 -1
  307. package/core/action/general.d.ts +0 -5
  308. package/core/action/general.d.ts.map +0 -1
  309. package/core/action/index.d.ts +0 -12
  310. package/core/action/index.d.ts.map +0 -1
  311. package/core/action/record.d.ts +0 -12
  312. package/core/action/record.d.ts.map +0 -1
  313. package/core/types/action.d.ts +0 -64
  314. package/core/types/action.d.ts.map +0 -1
  315. package/core/utils/weak-map.d.ts +0 -3
  316. package/core/utils/weak-map.d.ts.map +0 -1
  317. package/esm2022/components/cell-editors/link/number-editor.component.mjs +0 -25
  318. package/esm2022/constants/field.mjs +0 -25
  319. package/esm2022/core/action/field.mjs +0 -57
  320. package/esm2022/core/action/general.mjs +0 -116
  321. package/esm2022/core/action/index.mjs +0 -9
  322. package/esm2022/core/action/record.mjs +0 -44
  323. package/esm2022/core/types/action.mjs +0 -18
  324. package/esm2022/core/utils/weak-map.mjs +0 -2
@@ -0,0 +1,38 @@
1
+ import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';
2
+ import { createColumnHeads } from '../creations/create-heads';
3
+ import { AITableFieldHead } from './field-head.component';
4
+ import * as i0 from "@angular/core";
5
+ export class AITableColumnHeads {
6
+ constructor() {
7
+ this.config = input.required();
8
+ this.headConfigs = computed(() => {
9
+ const { coordinate, columnStartIndex } = this.config();
10
+ const { frozenColumnCount } = coordinate;
11
+ return createColumnHeads({
12
+ ...this.config(),
13
+ columnStartIndex: Math.max(columnStartIndex, frozenColumnCount)
14
+ });
15
+ });
16
+ }
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AITableColumnHeads, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
18
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AITableColumnHeads, isStandalone: true, selector: "ai-table-column-heads", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
19
+ @for (config of headConfigs(); track $index) {
20
+ <ai-table-field-head [config]="config"></ai-table-field-head>
21
+ }
22
+ `, isInline: true, dependencies: [{ kind: "component", type: AITableFieldHead, selector: "ai-table-field-head", inputs: ["config"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
23
+ }
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AITableColumnHeads, decorators: [{
25
+ type: Component,
26
+ args: [{
27
+ selector: 'ai-table-column-heads',
28
+ template: `
29
+ @for (config of headConfigs(); track $index) {
30
+ <ai-table-field-head [config]="config"></ai-table-field-head>
31
+ }
32
+ `,
33
+ standalone: true,
34
+ imports: [AITableFieldHead],
35
+ changeDetection: ChangeDetectionStrategy.OnPush
36
+ }]
37
+ }] });
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ3JpZC9zcmMvcmVuZGVyZXIvY29tcG9uZW50cy9oZWFkcy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXBGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQWExRCxNQUFNLE9BQU8sa0JBQWtCO0lBWC9CO1FBWUksV0FBTSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQTRCLENBQUM7UUFFcEQsZ0JBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3hCLE1BQU0sRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDdkQsTUFBTSxFQUFFLGlCQUFpQixFQUFFLEdBQUcsVUFBVSxDQUFDO1lBQ3pDLE9BQU8saUJBQWlCLENBQUM7Z0JBQ3JCLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRTtnQkFDaEIsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxpQkFBaUIsQ0FBQzthQUNsRSxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztLQUNOOzhHQVhZLGtCQUFrQjtrR0FBbEIsa0JBQWtCLHVOQVRqQjs7OztLQUlULDREQUVTLGdCQUFnQjs7MkZBR2pCLGtCQUFrQjtrQkFYOUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxRQUFRLEVBQUU7Ozs7S0FJVDtvQkFDRCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQzNCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQUlUYWJsZUNyZWF0ZUhlYWRzQ29uZmlnIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgY3JlYXRlQ29sdW1uSGVhZHMgfSBmcm9tICcuLi9jcmVhdGlvbnMvY3JlYXRlLWhlYWRzJztcbmltcG9ydCB7IEFJVGFibGVGaWVsZEhlYWQgfSBmcm9tICcuL2ZpZWxkLWhlYWQuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhaS10YWJsZS1jb2x1bW4taGVhZHMnLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIEBmb3IgKGNvbmZpZyBvZiBoZWFkQ29uZmlncygpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgIDxhaS10YWJsZS1maWVsZC1oZWFkIFtjb25maWddPVwiY29uZmlnXCI+PC9haS10YWJsZS1maWVsZC1oZWFkPlxuICAgICAgICB9XG4gICAgYCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtBSVRhYmxlRmllbGRIZWFkXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBBSVRhYmxlQ29sdW1uSGVhZHMge1xuICAgIGNvbmZpZyA9IGlucHV0LnJlcXVpcmVkPEFJVGFibGVDcmVhdGVIZWFkc0NvbmZpZz4oKTtcblxuICAgIGhlYWRDb25maWdzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCB7IGNvb3JkaW5hdGUsIGNvbHVtblN0YXJ0SW5kZXggfSA9IHRoaXMuY29uZmlnKCk7XG4gICAgICAgIGNvbnN0IHsgZnJvemVuQ29sdW1uQ291bnQgfSA9IGNvb3JkaW5hdGU7XG4gICAgICAgIHJldHVybiBjcmVhdGVDb2x1bW5IZWFkcyh7XG4gICAgICAgICAgICAuLi50aGlzLmNvbmZpZygpLFxuICAgICAgICAgICAgY29sdW1uU3RhcnRJbmRleDogTWF0aC5tYXgoY29sdW1uU3RhcnRJbmRleCwgZnJvemVuQ29sdW1uQ291bnQpXG4gICAgICAgIH0pO1xuICAgIH0pO1xufVxuIl19
@@ -0,0 +1,107 @@
1
+ import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';
2
+ import { KoContainer, KoShape } from '../../angular-konva';
3
+ import { AI_TABLE_CELL_PADDING, AI_TABLE_FIELD_HEAD, AI_TABLE_FIELD_HEAD_HEIGHT, AI_TABLE_ROW_HEAD, AI_TABLE_ROW_HEAD_WIDTH, AI_TABLE_ROW_SELECT_CHECKBOX, Colors } from '../../constants';
4
+ import { AITableAreaType, AITableCheckType, AITableRowType } from '../../types';
5
+ import { generateTargetName } from '../../utils';
6
+ import { AITableIcon } from './icon.component';
7
+ import * as i0 from "@angular/core";
8
+ export class AITableHoverRowHeads {
9
+ constructor() {
10
+ this.config = input.required();
11
+ this.pointPosition = computed(() => {
12
+ return this.config().aiTable.context.pointPosition();
13
+ });
14
+ this.headConfigs = computed(() => {
15
+ return this.createHoverRowHeads(this.pointPosition());
16
+ });
17
+ this.createHoverRowHeads = (pointPosition) => {
18
+ const { coordinate, rowStartIndex, rowStopIndex, aiTable } = this.config();
19
+ const context = aiTable.context;
20
+ const headConfigs = [];
21
+ for (let rowIndex = rowStartIndex; rowIndex <= rowStopIndex; rowIndex++) {
22
+ if (rowIndex > coordinate.rowCount - 1) {
23
+ break;
24
+ }
25
+ const row = context.linearRows()[rowIndex];
26
+ if (row == null) {
27
+ continue;
28
+ }
29
+ const { type, _id: recordId } = row;
30
+ if (type !== AITableRowType.record || recordId == null) {
31
+ continue;
32
+ }
33
+ const isCheckedRow = aiTable.selection().selectedRecords.has(recordId);
34
+ const { areaType, rowIndex: pointRowIndex, targetName } = pointPosition;
35
+ if (!isCheckedRow && areaType === AITableAreaType.none) {
36
+ continue;
37
+ }
38
+ let isHoverRow;
39
+ if (pointRowIndex > -1) {
40
+ const { type: pointRowType, _id: pointRecordId } = context.linearRows()[pointRowIndex];
41
+ isHoverRow = recordId === pointRecordId && pointRowType === AITableRowType.record && targetName !== AI_TABLE_FIELD_HEAD;
42
+ }
43
+ let operationGroup;
44
+ operationGroup = {
45
+ recordId,
46
+ y: coordinate.getRowOffset(rowIndex),
47
+ bgConfig: {
48
+ name: generateTargetName({ targetName: AI_TABLE_ROW_HEAD, recordId }),
49
+ width: AI_TABLE_ROW_HEAD_WIDTH + 1,
50
+ height: coordinate.rowHeight,
51
+ fill: Colors.transparent
52
+ }
53
+ };
54
+ if (isCheckedRow || isHoverRow) {
55
+ const iconOffsetY = (AI_TABLE_FIELD_HEAD_HEIGHT - 16) / 2;
56
+ operationGroup.iconConfig = {
57
+ name: generateTargetName({
58
+ targetName: AI_TABLE_ROW_SELECT_CHECKBOX,
59
+ recordId
60
+ }),
61
+ x: AI_TABLE_CELL_PADDING,
62
+ y: iconOffsetY,
63
+ type: isCheckedRow ? AITableCheckType.checked : AITableCheckType.unchecked,
64
+ fill: isCheckedRow || (targetName === AI_TABLE_ROW_SELECT_CHECKBOX && !isCheckedRow) ? Colors.primary : Colors.gray300
65
+ };
66
+ headConfigs.push(operationGroup);
67
+ }
68
+ }
69
+ return headConfigs;
70
+ };
71
+ }
72
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AITableHoverRowHeads, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
73
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", 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: `
74
+ @for (config of headConfigs(); track config.recordId) {
75
+ <ko-group [config]="{ x: 0, y: config.y, name: 'hover-heads' }">
76
+ @if (config.bgConfig) {
77
+ <ko-rect [config]="config.bgConfig"></ko-rect>
78
+ }
79
+ @if (config.iconConfig) {
80
+ <ai-table-icon [config]="config.iconConfig"></ai-table-icon>
81
+ }
82
+ </ko-group>
83
+ }
84
+ `, 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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
85
+ }
86
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AITableHoverRowHeads, decorators: [{
87
+ type: Component,
88
+ args: [{
89
+ selector: 'ai-table-hover-row-heads',
90
+ template: `
91
+ @for (config of headConfigs(); track config.recordId) {
92
+ <ko-group [config]="{ x: 0, y: config.y, name: 'hover-heads' }">
93
+ @if (config.bgConfig) {
94
+ <ko-rect [config]="config.bgConfig"></ko-rect>
95
+ }
96
+ @if (config.iconConfig) {
97
+ <ai-table-icon [config]="config.iconConfig"></ai-table-icon>
98
+ }
99
+ </ko-group>
100
+ }
101
+ `,
102
+ standalone: true,
103
+ imports: [KoContainer, KoShape, AITableIcon],
104
+ changeDetection: ChangeDetectionStrategy.OnPush
105
+ }]
106
+ }] });
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG92ZXItcm93LWhlYWRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL3JlbmRlcmVyL2NvbXBvbmVudHMvaG92ZXItcm93LWhlYWRzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMzRCxPQUFPLEVBQ0gscUJBQXFCLEVBQ3JCLG1CQUFtQixFQUNuQiwwQkFBMEIsRUFDMUIsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUN2Qiw0QkFBNEIsRUFDNUIsTUFBTSxFQUNULE1BQU0saUJBQWlCLENBQUM7QUFFekIsT0FBTyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBK0MsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzdILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBb0IvQyxNQUFNLE9BQU8sb0JBQW9CO0lBbEJqQztRQW1CSSxXQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBeUIsQ0FBQztRQUVqRCxrQkFBYSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDMUIsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQVEsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMxRCxDQUFDLENBQUMsQ0FBQztRQUVILGdCQUFXLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUN4QixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztRQUMxRCxDQUFDLENBQUMsQ0FBQztRQUVILHdCQUFtQixHQUFHLENBQUMsYUFBbUMsRUFBRSxFQUFFO1lBQzFELE1BQU0sRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDM0UsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQTBCLENBQUM7WUFDbkQsTUFBTSxXQUFXLEdBQVUsRUFBRSxDQUFDO1lBRTlCLEtBQUssSUFBSSxRQUFRLEdBQUcsYUFBYSxFQUFFLFFBQVEsSUFBSSxZQUFZLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQztnQkFDdEUsSUFBSSxRQUFRLEdBQUcsVUFBVSxDQUFDLFFBQVEsR0FBRyxDQUFDLEVBQUUsQ0FBQztvQkFDckMsTUFBTTtnQkFDVixDQUFDO2dCQUVELE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDM0MsSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7b0JBQ2QsU0FBUztnQkFDYixDQUFDO2dCQUVELE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHLEdBQUcsQ0FBQztnQkFDcEMsSUFBSSxJQUFJLEtBQUssY0FBYyxDQUFDLE1BQU0sSUFBSSxRQUFRLElBQUksSUFBSSxFQUFFLENBQUM7b0JBQ3JELFNBQVM7Z0JBQ2IsQ0FBQztnQkFFRCxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDdkUsTUFBTSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxHQUFHLGFBQWEsQ0FBQztnQkFFeEUsSUFBSSxDQUFDLFlBQVksSUFBSSxRQUFRLEtBQUssZUFBZSxDQUFDLElBQUksRUFBRSxDQUFDO29CQUNyRCxTQUFTO2dCQUNiLENBQUM7Z0JBRUQsSUFBSSxVQUFVLENBQUM7Z0JBQ2YsSUFBSSxhQUFhLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDckIsTUFBTSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFLGFBQWEsRUFBRSxHQUFHLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQztvQkFDdkYsVUFBVSxHQUFHLFFBQVEsS0FBSyxhQUFhLElBQUksWUFBWSxLQUFLLGNBQWMsQ0FBQyxNQUFNLElBQUksVUFBVSxLQUFLLG1CQUFtQixDQUFDO2dCQUM1SCxDQUFDO2dCQUVELElBQUksY0FBZ0YsQ0FBQztnQkFFckYsY0FBYyxHQUFHO29CQUNiLFFBQVE7b0JBQ1IsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDO29CQUNwQyxRQUFRLEVBQUU7d0JBQ04sSUFBSSxFQUFFLGtCQUFrQixDQUFDLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxDQUFDO3dCQUNyRSxLQUFLLEVBQUUsdUJBQXVCLEdBQUcsQ0FBQzt3QkFDbEMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxTQUFTO3dCQUM1QixJQUFJLEVBQUUsTUFBTSxDQUFDLFdBQVc7cUJBQzNCO2lCQUNKLENBQUM7Z0JBRUYsSUFBSSxZQUFZLElBQUksVUFBVSxFQUFFLENBQUM7b0JBQzdCLE1BQU0sV0FBVyxHQUFHLENBQUMsMEJBQTBCLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUMxRCxjQUFjLENBQUMsVUFBVSxHQUFHO3dCQUN4QixJQUFJLEVBQUUsa0JBQWtCLENBQUM7NEJBQ3JCLFVBQVUsRUFBRSw0QkFBNEI7NEJBQ3hDLFFBQVE7eUJBQ1gsQ0FBQzt3QkFDRixDQUFDLEVBQUUscUJBQXFCO3dCQUN4QixDQUFDLEVBQUUsV0FBVzt3QkFDZCxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFNBQVM7d0JBQzFFLElBQUksRUFBRSxZQUFZLElBQUksQ0FBQyxVQUFVLEtBQUssNEJBQTRCLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU87cUJBQ3pILENBQUM7b0JBQ0YsV0FBVyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFDckMsQ0FBQztZQUNMLENBQUM7WUFFRCxPQUFPLFdBQVcsQ0FBQztRQUN2QixDQUFDLENBQUM7S0FDTDs4R0EzRVksb0JBQW9CO2tHQUFwQixvQkFBb0IsME5BaEJuQjs7Ozs7Ozs7Ozs7S0FXVCw0REFFUyxXQUFXLDZFQUFFLE9BQU8sK2hCQUFFLFdBQVc7OzJGQUdsQyxvQkFBb0I7a0JBbEJoQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7S0FXVDtvQkFDRCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxXQUFXLENBQUM7b0JBQzVDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgS29Db250YWluZXIsIEtvU2hhcGUgfSBmcm9tICcuLi8uLi9hbmd1bGFyLWtvbnZhJztcbmltcG9ydCB7XG4gICAgQUlfVEFCTEVfQ0VMTF9QQURESU5HLFxuICAgIEFJX1RBQkxFX0ZJRUxEX0hFQUQsXG4gICAgQUlfVEFCTEVfRklFTERfSEVBRF9IRUlHSFQsXG4gICAgQUlfVEFCTEVfUk9XX0hFQUQsXG4gICAgQUlfVEFCTEVfUk9XX0hFQURfV0lEVEgsXG4gICAgQUlfVEFCTEVfUk9XX1NFTEVDVF9DSEVDS0JPWCxcbiAgICBDb2xvcnNcbn0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IFJlbmRlcmVyQ29udGV4dCB9IGZyb20gJy4uLy4uL2NvcmUnO1xuaW1wb3J0IHsgQUlUYWJsZUFyZWFUeXBlLCBBSVRhYmxlQ2hlY2tUeXBlLCBBSVRhYmxlUG9pbnRQb3NpdGlvbiwgQUlUYWJsZVJvd0hlYWRzQ29uZmlnLCBBSVRhYmxlUm93VHlwZSB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IGdlbmVyYXRlVGFyZ2V0TmFtZSB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IEFJVGFibGVJY29uIH0gZnJvbSAnLi9pY29uLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYWktdGFibGUtaG92ZXItcm93LWhlYWRzJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICBAZm9yIChjb25maWcgb2YgaGVhZENvbmZpZ3MoKTsgdHJhY2sgY29uZmlnLnJlY29yZElkKSB7XG4gICAgICAgICAgICA8a28tZ3JvdXAgW2NvbmZpZ109XCJ7IHg6IDAsIHk6IGNvbmZpZy55LCBuYW1lOiAnaG92ZXItaGVhZHMnIH1cIj5cbiAgICAgICAgICAgICAgICBAaWYgKGNvbmZpZy5iZ0NvbmZpZykge1xuICAgICAgICAgICAgICAgICAgICA8a28tcmVjdCBbY29uZmlnXT1cImNvbmZpZy5iZ0NvbmZpZ1wiPjwva28tcmVjdD5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmIChjb25maWcuaWNvbkNvbmZpZykge1xuICAgICAgICAgICAgICAgICAgICA8YWktdGFibGUtaWNvbiBbY29uZmlnXT1cImNvbmZpZy5pY29uQ29uZmlnXCI+PC9haS10YWJsZS1pY29uPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwva28tZ3JvdXA+XG4gICAgICAgIH1cbiAgICBgLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0tvQ29udGFpbmVyLCBLb1NoYXBlLCBBSVRhYmxlSWNvbl0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQUlUYWJsZUhvdmVyUm93SGVhZHMge1xuICAgIGNvbmZpZyA9IGlucHV0LnJlcXVpcmVkPEFJVGFibGVSb3dIZWFkc0NvbmZpZz4oKTtcblxuICAgIHBvaW50UG9zaXRpb24gPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZygpLmFpVGFibGUuY29udGV4dCEucG9pbnRQb3NpdGlvbigpO1xuICAgIH0pO1xuXG4gICAgaGVhZENvbmZpZ3MgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZUhvdmVyUm93SGVhZHModGhpcy5wb2ludFBvc2l0aW9uKCkpO1xuICAgIH0pO1xuXG4gICAgY3JlYXRlSG92ZXJSb3dIZWFkcyA9IChwb2ludFBvc2l0aW9uOiBBSVRhYmxlUG9pbnRQb3NpdGlvbikgPT4ge1xuICAgICAgICBjb25zdCB7IGNvb3JkaW5hdGUsIHJvd1N0YXJ0SW5kZXgsIHJvd1N0b3BJbmRleCwgYWlUYWJsZSB9ID0gdGhpcy5jb25maWcoKTtcbiAgICAgICAgY29uc3QgY29udGV4dCA9IGFpVGFibGUuY29udGV4dCBhcyBSZW5kZXJlckNvbnRleHQ7XG4gICAgICAgIGNvbnN0IGhlYWRDb25maWdzOiBhbnlbXSA9IFtdO1xuXG4gICAgICAgIGZvciAobGV0IHJvd0luZGV4ID0gcm93U3RhcnRJbmRleDsgcm93SW5kZXggPD0gcm93U3RvcEluZGV4OyByb3dJbmRleCsrKSB7XG4gICAgICAgICAgICBpZiAocm93SW5kZXggPiBjb29yZGluYXRlLnJvd0NvdW50IC0gMSkge1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCByb3cgPSBjb250ZXh0LmxpbmVhclJvd3MoKVtyb3dJbmRleF07XG4gICAgICAgICAgICBpZiAocm93ID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgeyB0eXBlLCBfaWQ6IHJlY29yZElkIH0gPSByb3c7XG4gICAgICAgICAgICBpZiAodHlwZSAhPT0gQUlUYWJsZVJvd1R5cGUucmVjb3JkIHx8IHJlY29yZElkID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgaXNDaGVja2VkUm93ID0gYWlUYWJsZS5zZWxlY3Rpb24oKS5zZWxlY3RlZFJlY29yZHMuaGFzKHJlY29yZElkKTtcbiAgICAgICAgICAgIGNvbnN0IHsgYXJlYVR5cGUsIHJvd0luZGV4OiBwb2ludFJvd0luZGV4LCB0YXJnZXROYW1lIH0gPSBwb2ludFBvc2l0aW9uO1xuXG4gICAgICAgICAgICBpZiAoIWlzQ2hlY2tlZFJvdyAmJiBhcmVhVHlwZSA9PT0gQUlUYWJsZUFyZWFUeXBlLm5vbmUpIHtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGV0IGlzSG92ZXJSb3c7XG4gICAgICAgICAgICBpZiAocG9pbnRSb3dJbmRleCA+IC0xKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyB0eXBlOiBwb2ludFJvd1R5cGUsIF9pZDogcG9pbnRSZWNvcmRJZCB9ID0gY29udGV4dC5saW5lYXJSb3dzKClbcG9pbnRSb3dJbmRleF07XG4gICAgICAgICAgICAgICAgaXNIb3ZlclJvdyA9IHJlY29yZElkID09PSBwb2ludFJlY29yZElkICYmIHBvaW50Um93VHlwZSA9PT0gQUlUYWJsZVJvd1R5cGUucmVjb3JkICYmIHRhcmdldE5hbWUgIT09IEFJX1RBQkxFX0ZJRUxEX0hFQUQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxldCBvcGVyYXRpb25Hcm91cDogeyByZWNvcmRJZDogc3RyaW5nOyB5OiBudW1iZXI7IGJnQ29uZmlnOiBhbnk7IGljb25Db25maWc/OiBhbnkgfTtcblxuICAgICAgICAgICAgb3BlcmF0aW9uR3JvdXAgPSB7XG4gICAgICAgICAgICAgICAgcmVjb3JkSWQsXG4gICAgICAgICAgICAgICAgeTogY29vcmRpbmF0ZS5nZXRSb3dPZmZzZXQocm93SW5kZXgpLFxuICAgICAgICAgICAgICAgIGJnQ29uZmlnOiB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IGdlbmVyYXRlVGFyZ2V0TmFtZSh7IHRhcmdldE5hbWU6IEFJX1RBQkxFX1JPV19IRUFELCByZWNvcmRJZCB9KSxcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IEFJX1RBQkxFX1JPV19IRUFEX1dJRFRIICsgMSxcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBjb29yZGluYXRlLnJvd0hlaWdodCxcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogQ29sb3JzLnRyYW5zcGFyZW50XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgaWYgKGlzQ2hlY2tlZFJvdyB8fCBpc0hvdmVyUm93KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaWNvbk9mZnNldFkgPSAoQUlfVEFCTEVfRklFTERfSEVBRF9IRUlHSFQgLSAxNikgLyAyO1xuICAgICAgICAgICAgICAgIG9wZXJhdGlvbkdyb3VwLmljb25Db25maWcgPSB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IGdlbmVyYXRlVGFyZ2V0TmFtZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXROYW1lOiBBSV9UQUJMRV9ST1dfU0VMRUNUX0NIRUNLQk9YLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVjb3JkSWRcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIHg6IEFJX1RBQkxFX0NFTExfUEFERElORyxcbiAgICAgICAgICAgICAgICAgICAgeTogaWNvbk9mZnNldFksXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IGlzQ2hlY2tlZFJvdyA/IEFJVGFibGVDaGVja1R5cGUuY2hlY2tlZCA6IEFJVGFibGVDaGVja1R5cGUudW5jaGVja2VkLFxuICAgICAgICAgICAgICAgICAgICBmaWxsOiBpc0NoZWNrZWRSb3cgfHwgKHRhcmdldE5hbWUgPT09IEFJX1RBQkxFX1JPV19TRUxFQ1RfQ0hFQ0tCT1ggJiYgIWlzQ2hlY2tlZFJvdykgPyBDb2xvcnMucHJpbWFyeSA6IENvbG9ycy5ncmF5MzAwXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBoZWFkQ29uZmlncy5wdXNoKG9wZXJhdGlvbkdyb3VwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBoZWFkQ29uZmlncztcbiAgICB9O1xufVxuIl19
@@ -0,0 +1,80 @@
1
+ import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';
2
+ import { KoContainer } from '../../angular-konva';
3
+ import { KoShape } from '../../angular-konva/components/shape.component';
4
+ import { Check, Colors, DEFAULT_ICON_SIZE, Unchecked } from '../../constants';
5
+ import { AITableCheckType } from '../../types';
6
+ import * as i0 from "@angular/core";
7
+ export class AITableIcon {
8
+ constructor() {
9
+ this.config = input.required();
10
+ this.groupConfig = computed(() => {
11
+ const { x, y, listening } = this.config();
12
+ return { x, y, listening };
13
+ });
14
+ this.squareShapeConfig = computed(() => {
15
+ const { name, backgroundWidth, backgroundHeight, size = DEFAULT_ICON_SIZE, strokeWidth = 1, background, cornerRadius, opacity } = this.config();
16
+ return {
17
+ name,
18
+ width: backgroundWidth || size,
19
+ height: backgroundHeight || size,
20
+ strokeWidth: strokeWidth,
21
+ fill: background || Colors.transparent,
22
+ cornerRadius,
23
+ opacity
24
+ };
25
+ });
26
+ this.iconConfig = computed(() => {
27
+ const { type, data, backgroundWidth, backgroundHeight, size = DEFAULT_ICON_SIZE, stroke, strokeWidth = 1, scaleX, scaleY, offsetX, offsetY, rotation, fill = Colors.gray600, transformsEnabled = 'position' } = this.config();
28
+ let pathData = data;
29
+ switch (type) {
30
+ case AITableCheckType.checked:
31
+ pathData = Check;
32
+ break;
33
+ case AITableCheckType.unchecked:
34
+ pathData = Unchecked;
35
+ break;
36
+ }
37
+ return {
38
+ x: backgroundWidth && (backgroundWidth - size * (scaleX || 1)) / 2,
39
+ y: backgroundHeight && (backgroundHeight - size * (scaleY || 1)) / 2,
40
+ data: pathData,
41
+ width: size,
42
+ height: size,
43
+ fill,
44
+ offsetX,
45
+ offsetY,
46
+ scaleX,
47
+ scaleY,
48
+ rotation,
49
+ stroke,
50
+ strokeWidth,
51
+ transformsEnabled,
52
+ perfectDrawEnabled: false,
53
+ listening: false
54
+ };
55
+ });
56
+ }
57
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AITableIcon, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
58
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.0", type: AITableIcon, isStandalone: true, selector: "ai-table-icon", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
59
+ <ko-group [config]="groupConfig()">
60
+ <ko-rect [config]="squareShapeConfig()"></ko-rect>
61
+ <ko-path [config]="iconConfig()"></ko-path>
62
+ </ko-group>
63
+ `, 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 }); }
64
+ }
65
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AITableIcon, decorators: [{
66
+ type: Component,
67
+ args: [{
68
+ selector: 'ai-table-icon',
69
+ template: `
70
+ <ko-group [config]="groupConfig()">
71
+ <ko-rect [config]="squareShapeConfig()"></ko-rect>
72
+ <ko-path [config]="iconConfig()"></ko-path>
73
+ </ko-group>
74
+ `,
75
+ standalone: true,
76
+ imports: [KoContainer, KoShape],
77
+ changeDetection: ChangeDetectionStrategy.OnPush
78
+ }]
79
+ }] });
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9yZW5kZXJlci9jb21wb25lbnRzL2ljb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVwRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBcUIsTUFBTSxhQUFhLENBQUM7O0FBY2xFLE1BQU0sT0FBTyxXQUFXO0lBWnhCO1FBYUksV0FBTSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQXFCLENBQUM7UUFFN0MsZ0JBQVcsR0FBRyxRQUFRLENBQXVCLEdBQUcsRUFBRTtZQUM5QyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDMUMsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUM7UUFDL0IsQ0FBQyxDQUFDLENBQUM7UUFFSCxzQkFBaUIsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQzlCLE1BQU0sRUFDRixJQUFJLEVBQ0osZUFBZSxFQUNmLGdCQUFnQixFQUNoQixJQUFJLEdBQUcsaUJBQWlCLEVBQ3hCLFdBQVcsR0FBRyxDQUFDLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixPQUFPLEVBQ1YsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbEIsT0FBTztnQkFDSCxJQUFJO2dCQUNKLEtBQUssRUFBRSxlQUFlLElBQUksSUFBSTtnQkFDOUIsTUFBTSxFQUFFLGdCQUFnQixJQUFJLElBQUk7Z0JBQ2hDLFdBQVcsRUFBRSxXQUFXO2dCQUN4QixJQUFJLEVBQUUsVUFBVSxJQUFJLE1BQU0sQ0FBQyxXQUFXO2dCQUN0QyxZQUFZO2dCQUNaLE9BQU87YUFDVixDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7UUFFSCxlQUFVLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUN2QixNQUFNLEVBQ0YsSUFBSSxFQUNKLElBQUksRUFDSixlQUFlLEVBQ2YsZ0JBQWdCLEVBQ2hCLElBQUksR0FBRyxpQkFBaUIsRUFDeEIsTUFBTSxFQUNOLFdBQVcsR0FBRyxDQUFDLEVBQ2YsTUFBTSxFQUNOLE1BQU0sRUFDTixPQUFPLEVBQ1AsT0FBTyxFQUNQLFFBQVEsRUFDUixJQUFJLEdBQUcsTUFBTSxDQUFDLE9BQU8sRUFDckIsaUJBQWlCLEdBQUcsVUFBVSxFQUNqQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUVsQixJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUM7WUFFcEIsUUFBUSxJQUFJLEVBQUUsQ0FBQztnQkFDWCxLQUFLLGdCQUFnQixDQUFDLE9BQU87b0JBQ3pCLFFBQVEsR0FBRyxLQUFLLENBQUM7b0JBQ2pCLE1BQU07Z0JBQ1YsS0FBSyxnQkFBZ0IsQ0FBQyxTQUFTO29CQUMzQixRQUFRLEdBQUcsU0FBUyxDQUFDO29CQUNyQixNQUFNO1lBQ2QsQ0FBQztZQUVELE9BQU87Z0JBQ0gsQ0FBQyxFQUFFLGVBQWUsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO2dCQUNsRSxDQUFDLEVBQUUsZ0JBQWdCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO2dCQUNwRSxJQUFJLEVBQUUsUUFBUTtnQkFDZCxLQUFLLEVBQUUsSUFBSTtnQkFDWCxNQUFNLEVBQUUsSUFBSTtnQkFDWixJQUFJO2dCQUNKLE9BQU87Z0JBQ1AsT0FBTztnQkFDUCxNQUFNO2dCQUNOLE1BQU07Z0JBQ04sUUFBUTtnQkFDUixNQUFNO2dCQUNOLFdBQVc7Z0JBQ1gsaUJBQWlCO2dCQUNqQixrQkFBa0IsRUFBRSxLQUFLO2dCQUN6QixTQUFTLEVBQUUsS0FBSzthQUNuQixDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7S0FDTjs4R0E5RVksV0FBVztrR0FBWCxXQUFXLCtNQVZWOzs7OztLQUtULDREQUVTLFdBQVcsNkVBQUUsT0FBTzs7MkZBR3JCLFdBQVc7a0JBWnZCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFFBQVEsRUFBRTs7Ozs7S0FLVDtvQkFDRCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQztvQkFDL0IsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdGFnZUNvbmZpZyB9IGZyb20gJ2tvbnZhL2xpYi9TdGFnZSc7XG5pbXBvcnQgeyBLb0NvbnRhaW5lciB9IGZyb20gJy4uLy4uL2FuZ3VsYXIta29udmEnO1xuaW1wb3J0IHsgS29TaGFwZSB9IGZyb20gJy4uLy4uL2FuZ3VsYXIta29udmEvY29tcG9uZW50cy9zaGFwZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2hlY2ssIENvbG9ycywgREVGQVVMVF9JQ09OX1NJWkUsIFVuY2hlY2tlZCB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBBSVRhYmxlQ2hlY2tUeXBlLCBBSVRhYmxlSWNvbkNvbmZpZyB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhaS10YWJsZS1pY29uJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8a28tZ3JvdXAgW2NvbmZpZ109XCJncm91cENvbmZpZygpXCI+XG4gICAgICAgICAgICA8a28tcmVjdCBbY29uZmlnXT1cInNxdWFyZVNoYXBlQ29uZmlnKClcIj48L2tvLXJlY3Q+XG4gICAgICAgICAgICA8a28tcGF0aCBbY29uZmlnXT1cImljb25Db25maWcoKVwiPjwva28tcGF0aD5cbiAgICAgICAgPC9rby1ncm91cD5cbiAgICBgLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0tvQ29udGFpbmVyLCBLb1NoYXBlXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBBSVRhYmxlSWNvbiB7XG4gICAgY29uZmlnID0gaW5wdXQucmVxdWlyZWQ8QUlUYWJsZUljb25Db25maWc+KCk7XG5cbiAgICBncm91cENvbmZpZyA9IGNvbXB1dGVkPFBhcnRpYWw8U3RhZ2VDb25maWc+PigoKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgeCwgeSwgbGlzdGVuaW5nIH0gPSB0aGlzLmNvbmZpZygpO1xuICAgICAgICByZXR1cm4geyB4LCB5LCBsaXN0ZW5pbmcgfTtcbiAgICB9KTtcblxuICAgIHNxdWFyZVNoYXBlQ29uZmlnID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCB7XG4gICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgYmFja2dyb3VuZFdpZHRoLFxuICAgICAgICAgICAgYmFja2dyb3VuZEhlaWdodCxcbiAgICAgICAgICAgIHNpemUgPSBERUZBVUxUX0lDT05fU0laRSxcbiAgICAgICAgICAgIHN0cm9rZVdpZHRoID0gMSxcbiAgICAgICAgICAgIGJhY2tncm91bmQsXG4gICAgICAgICAgICBjb3JuZXJSYWRpdXMsXG4gICAgICAgICAgICBvcGFjaXR5XG4gICAgICAgIH0gPSB0aGlzLmNvbmZpZygpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICAgIHdpZHRoOiBiYWNrZ3JvdW5kV2lkdGggfHwgc2l6ZSxcbiAgICAgICAgICAgIGhlaWdodDogYmFja2dyb3VuZEhlaWdodCB8fCBzaXplLFxuICAgICAgICAgICAgc3Ryb2tlV2lkdGg6IHN0cm9rZVdpZHRoLFxuICAgICAgICAgICAgZmlsbDogYmFja2dyb3VuZCB8fCBDb2xvcnMudHJhbnNwYXJlbnQsXG4gICAgICAgICAgICBjb3JuZXJSYWRpdXMsXG4gICAgICAgICAgICBvcGFjaXR5XG4gICAgICAgIH07XG4gICAgfSk7XG5cbiAgICBpY29uQ29uZmlnID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCB7XG4gICAgICAgICAgICB0eXBlLFxuICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgIGJhY2tncm91bmRXaWR0aCxcbiAgICAgICAgICAgIGJhY2tncm91bmRIZWlnaHQsXG4gICAgICAgICAgICBzaXplID0gREVGQVVMVF9JQ09OX1NJWkUsXG4gICAgICAgICAgICBzdHJva2UsXG4gICAgICAgICAgICBzdHJva2VXaWR0aCA9IDEsXG4gICAgICAgICAgICBzY2FsZVgsXG4gICAgICAgICAgICBzY2FsZVksXG4gICAgICAgICAgICBvZmZzZXRYLFxuICAgICAgICAgICAgb2Zmc2V0WSxcbiAgICAgICAgICAgIHJvdGF0aW9uLFxuICAgICAgICAgICAgZmlsbCA9IENvbG9ycy5ncmF5NjAwLFxuICAgICAgICAgICAgdHJhbnNmb3Jtc0VuYWJsZWQgPSAncG9zaXRpb24nXG4gICAgICAgIH0gPSB0aGlzLmNvbmZpZygpO1xuXG4gICAgICAgIGxldCBwYXRoRGF0YSA9IGRhdGE7XG5cbiAgICAgICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVDaGVja1R5cGUuY2hlY2tlZDpcbiAgICAgICAgICAgICAgICBwYXRoRGF0YSA9IENoZWNrO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBBSVRhYmxlQ2hlY2tUeXBlLnVuY2hlY2tlZDpcbiAgICAgICAgICAgICAgICBwYXRoRGF0YSA9IFVuY2hlY2tlZDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB4OiBiYWNrZ3JvdW5kV2lkdGggJiYgKGJhY2tncm91bmRXaWR0aCAtIHNpemUgKiAoc2NhbGVYIHx8IDEpKSAvIDIsXG4gICAgICAgICAgICB5OiBiYWNrZ3JvdW5kSGVpZ2h0ICYmIChiYWNrZ3JvdW5kSGVpZ2h0IC0gc2l6ZSAqIChzY2FsZVkgfHwgMSkpIC8gMixcbiAgICAgICAgICAgIGRhdGE6IHBhdGhEYXRhLFxuICAgICAgICAgICAgd2lkdGg6IHNpemUsXG4gICAgICAgICAgICBoZWlnaHQ6IHNpemUsXG4gICAgICAgICAgICBmaWxsLFxuICAgICAgICAgICAgb2Zmc2V0WCxcbiAgICAgICAgICAgIG9mZnNldFksXG4gICAgICAgICAgICBzY2FsZVgsXG4gICAgICAgICAgICBzY2FsZVksXG4gICAgICAgICAgICByb3RhdGlvbixcbiAgICAgICAgICAgIHN0cm9rZSxcbiAgICAgICAgICAgIHN0cm9rZVdpZHRoLFxuICAgICAgICAgICAgdHJhbnNmb3Jtc0VuYWJsZWQsXG4gICAgICAgICAgICBwZXJmZWN0RHJhd0VuYWJsZWQ6IGZhbHNlLFxuICAgICAgICAgICAgbGlzdGVuaW5nOiBmYWxzZVxuICAgICAgICB9O1xuICAgIH0pO1xufVxuIl19
@@ -0,0 +1,14 @@
1
+ export * from './add-field-column.component';
2
+ export * from './cells.component';
3
+ export * from './field-head.component';
4
+ export * from './field-icon.component';
5
+ export * from './frozen-cells.component';
6
+ export * from './frozen-heads.component';
7
+ export * from './frozen-placeholder-cells.component';
8
+ export * from './heads.component';
9
+ export * from './hover-row-heads.component';
10
+ export * from './icon.component';
11
+ export * from './other-rows.component';
12
+ export * from './placeholder-cells.component';
13
+ export * from './text.component';
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9yZW5kZXJlci9jb21wb25lbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FkZC1maWVsZC1jb2x1bW4uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY2VsbHMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZmllbGQtaGVhZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9maWVsZC1pY29uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2Zyb3plbi1jZWxscy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9mcm96ZW4taGVhZHMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZnJvemVuLXBsYWNlaG9sZGVyLWNlbGxzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2hlYWRzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2hvdmVyLXJvdy1oZWFkcy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9pY29uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL290aGVyLXJvd3MuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcGxhY2Vob2xkZXItY2VsbHMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdGV4dC5jb21wb25lbnQnO1xuIl19
@@ -0,0 +1,68 @@
1
+ import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';
2
+ import { KoShape } from '../../angular-konva';
3
+ import { AI_TABLE_ROW_ADD_BUTTON } from '../../constants';
4
+ import { AITableRowType } from '../../types';
5
+ import * as i0 from "@angular/core";
6
+ export class AITableOtherRows {
7
+ constructor() {
8
+ this.config = input.required();
9
+ this.AITableRowType = AITableRowType;
10
+ this.otherConfigs = computed(() => {
11
+ return this.createOtherRows(this.config());
12
+ });
13
+ this.createOtherRows = (config) => {
14
+ const { coordinate, rowStartIndex, rowStopIndex, aiTable } = config;
15
+ const otherRowConfigs = [];
16
+ for (let rowIndex = rowStartIndex; rowIndex <= rowStopIndex; rowIndex++) {
17
+ if (rowIndex > coordinate.rowCount - 1)
18
+ break;
19
+ const { _id, type } = aiTable.context.linearRows()[rowIndex];
20
+ if (type === AITableRowType.record)
21
+ continue;
22
+ const y = coordinate.getRowOffset(rowIndex);
23
+ const curHeight = coordinate.getRowHeight(rowIndex);
24
+ otherRowConfigs.push({
25
+ type,
26
+ addBtnConfig: {
27
+ key: `row-add-${_id}`,
28
+ y: y + 1,
29
+ name: AI_TABLE_ROW_ADD_BUTTON,
30
+ width: coordinate.containerWidth,
31
+ height: curHeight - 1,
32
+ fill: 'transparent'
33
+ }
34
+ });
35
+ }
36
+ return otherRowConfigs;
37
+ };
38
+ }
39
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AITableOtherRows, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
40
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AITableOtherRows, isStandalone: true, selector: "ai-table-other-rows", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
41
+ @for (config of otherConfigs(); track $index) {
42
+ @switch (config.type) {
43
+ @case (AITableRowType.add) {
44
+ <ko-rect [config]="config.addBtnConfig"></ko-rect>
45
+ }
46
+ }
47
+ }
48
+ `, 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 }); }
49
+ }
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AITableOtherRows, decorators: [{
51
+ type: Component,
52
+ args: [{
53
+ selector: 'ai-table-other-rows',
54
+ template: `
55
+ @for (config of otherConfigs(); track $index) {
56
+ @switch (config.type) {
57
+ @case (AITableRowType.add) {
58
+ <ko-rect [config]="config.addBtnConfig"></ko-rect>
59
+ }
60
+ }
61
+ }
62
+ `,
63
+ standalone: true,
64
+ imports: [KoShape],
65
+ changeDetection: ChangeDetectionStrategy.OnPush
66
+ }]
67
+ }] });
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3RoZXItcm93cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9yZW5kZXJlci9jb21wb25lbnRzL290aGVyLXJvd3MuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFMUQsT0FBTyxFQUF5QixjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBaUJwRSxNQUFNLE9BQU8sZ0JBQWdCO0lBZjdCO1FBZ0JJLFdBQU0sR0FBRyxLQUFLLENBQUMsUUFBUSxFQUF5QixDQUFDO1FBRWpELG1CQUFjLEdBQUcsY0FBYyxDQUFDO1FBRWhDLGlCQUFZLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUN6QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDL0MsQ0FBQyxDQUFDLENBQUM7UUFFSCxvQkFBZSxHQUFHLENBQUMsTUFBNkIsRUFBRSxFQUFFO1lBQ2hELE1BQU0sRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsR0FBRyxNQUFNLENBQUM7WUFDcEUsTUFBTSxlQUFlLEdBQUcsRUFBRSxDQUFDO1lBQzNCLEtBQUssSUFBSSxRQUFRLEdBQUcsYUFBYSxFQUFFLFFBQVEsSUFBSSxZQUFZLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQztnQkFDdEUsSUFBSSxRQUFRLEdBQUcsVUFBVSxDQUFDLFFBQVEsR0FBRyxDQUFDO29CQUFFLE1BQU07Z0JBQzlDLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUksT0FBTyxDQUFDLE9BQTJCLENBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ2xGLElBQUksSUFBSSxLQUFLLGNBQWMsQ0FBQyxNQUFNO29CQUFFLFNBQVM7Z0JBQzdDLE1BQU0sQ0FBQyxHQUFHLFVBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVDLE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBRXBELGVBQWUsQ0FBQyxJQUFJLENBQUM7b0JBQ2pCLElBQUk7b0JBQ0osWUFBWSxFQUFFO3dCQUNWLEdBQUcsRUFBRSxXQUFXLEdBQUcsRUFBRTt3QkFDckIsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDO3dCQUNSLElBQUksRUFBRSx1QkFBdUI7d0JBQzdCLEtBQUssRUFBRSxVQUFVLENBQUMsY0FBYzt3QkFDaEMsTUFBTSxFQUFFLFNBQVMsR0FBRyxDQUFDO3dCQUNyQixJQUFJLEVBQUUsYUFBYTtxQkFDdEI7aUJBQ0osQ0FBQyxDQUFDO1lBQ1AsQ0FBQztZQUNELE9BQU8sZUFBZSxDQUFDO1FBQzNCLENBQUMsQ0FBQztLQUNMOzhHQWpDWSxnQkFBZ0I7a0dBQWhCLGdCQUFnQixxTkFiZjs7Ozs7Ozs7S0FRVCw0REFFUyxPQUFPOzsyRkFHUixnQkFBZ0I7a0JBZjVCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsUUFBUSxFQUFFOzs7Ozs7OztLQVFUO29CQUNELFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUM7b0JBQ2xCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgS29TaGFwZSB9IGZyb20gJy4uLy4uL2FuZ3VsYXIta29udmEnO1xuaW1wb3J0IHsgQUlfVEFCTEVfUk9XX0FERF9CVVRUT04gfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgUmVuZGVyZXJDb250ZXh0IH0gZnJvbSAnLi4vLi4vY29yZSc7XG5pbXBvcnQgeyBBSVRhYmxlUm93SGVhZHNDb25maWcsIEFJVGFibGVSb3dUeXBlIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FpLXRhYmxlLW90aGVyLXJvd3MnLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIEBmb3IgKGNvbmZpZyBvZiBvdGhlckNvbmZpZ3MoKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICBAc3dpdGNoIChjb25maWcudHlwZSkge1xuICAgICAgICAgICAgICAgIEBjYXNlIChBSVRhYmxlUm93VHlwZS5hZGQpIHtcbiAgICAgICAgICAgICAgICAgICAgPGtvLXJlY3QgW2NvbmZpZ109XCJjb25maWcuYWRkQnRuQ29uZmlnXCI+PC9rby1yZWN0PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIGAsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbS29TaGFwZV0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQUlUYWJsZU90aGVyUm93cyB7XG4gICAgY29uZmlnID0gaW5wdXQucmVxdWlyZWQ8QUlUYWJsZVJvd0hlYWRzQ29uZmlnPigpO1xuXG4gICAgQUlUYWJsZVJvd1R5cGUgPSBBSVRhYmxlUm93VHlwZTtcblxuICAgIG90aGVyQ29uZmlncyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlT3RoZXJSb3dzKHRoaXMuY29uZmlnKCkpO1xuICAgIH0pO1xuXG4gICAgY3JlYXRlT3RoZXJSb3dzID0gKGNvbmZpZzogQUlUYWJsZVJvd0hlYWRzQ29uZmlnKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgY29vcmRpbmF0ZSwgcm93U3RhcnRJbmRleCwgcm93U3RvcEluZGV4LCBhaVRhYmxlIH0gPSBjb25maWc7XG4gICAgICAgIGNvbnN0IG90aGVyUm93Q29uZmlncyA9IFtdO1xuICAgICAgICBmb3IgKGxldCByb3dJbmRleCA9IHJvd1N0YXJ0SW5kZXg7IHJvd0luZGV4IDw9IHJvd1N0b3BJbmRleDsgcm93SW5kZXgrKykge1xuICAgICAgICAgICAgaWYgKHJvd0luZGV4ID4gY29vcmRpbmF0ZS5yb3dDb3VudCAtIDEpIGJyZWFrO1xuICAgICAgICAgICAgY29uc3QgeyBfaWQsIHR5cGUgfSA9IChhaVRhYmxlLmNvbnRleHQgYXMgUmVuZGVyZXJDb250ZXh0KS5saW5lYXJSb3dzKClbcm93SW5kZXhdO1xuICAgICAgICAgICAgaWYgKHR5cGUgPT09IEFJVGFibGVSb3dUeXBlLnJlY29yZCkgY29udGludWU7XG4gICAgICAgICAgICBjb25zdCB5ID0gY29vcmRpbmF0ZS5nZXRSb3dPZmZzZXQocm93SW5kZXgpO1xuICAgICAgICAgICAgY29uc3QgY3VySGVpZ2h0ID0gY29vcmRpbmF0ZS5nZXRSb3dIZWlnaHQocm93SW5kZXgpO1xuXG4gICAgICAgICAgICBvdGhlclJvd0NvbmZpZ3MucHVzaCh7XG4gICAgICAgICAgICAgICAgdHlwZSxcbiAgICAgICAgICAgICAgICBhZGRCdG5Db25maWc6IHtcbiAgICAgICAgICAgICAgICAgICAga2V5OiBgcm93LWFkZC0ke19pZH1gLFxuICAgICAgICAgICAgICAgICAgICB5OiB5ICsgMSxcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogQUlfVEFCTEVfUk9XX0FERF9CVVRUT04sXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjb29yZGluYXRlLmNvbnRhaW5lcldpZHRoLFxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGN1ckhlaWdodCAtIDEsXG4gICAgICAgICAgICAgICAgICAgIGZpbGw6ICd0cmFuc3BhcmVudCdcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb3RoZXJSb3dDb25maWdzO1xuICAgIH07XG59XG4iXX0=
@@ -0,0 +1,33 @@
1
+ import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';
2
+ import { KoShape } from '../../angular-konva';
3
+ import { getPlaceHolderCellsConfigs } from '../../utils';
4
+ import * as i0 from "@angular/core";
5
+ export class AITablePlaceholderCells {
6
+ constructor() {
7
+ this.config = input.required();
8
+ this.frozenPlaceHolderCellsConfig = computed(() => {
9
+ return getPlaceHolderCellsConfigs(this.config());
10
+ });
11
+ }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AITablePlaceholderCells, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AITablePlaceholderCells, isStandalone: true, selector: "ai-table-placeholder-cells", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
14
+ @for (item of frozenPlaceHolderCellsConfig(); track $index) {
15
+ <ko-rect [config]="item"></ko-rect>
16
+ }
17
+ `, 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 }); }
18
+ }
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AITablePlaceholderCells, decorators: [{
20
+ type: Component,
21
+ args: [{
22
+ selector: 'ai-table-placeholder-cells',
23
+ template: `
24
+ @for (item of frozenPlaceHolderCellsConfig(); track $index) {
25
+ <ko-rect [config]="item"></ko-rect>
26
+ }
27
+ `,
28
+ standalone: true,
29
+ imports: [KoShape],
30
+ changeDetection: ChangeDetectionStrategy.OnPush
31
+ }]
32
+ }] });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Vob2xkZXItY2VsbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ3JpZC9zcmMvcmVuZGVyZXIvY29tcG9uZW50cy9wbGFjZWhvbGRlci1jZWxscy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUU5QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBYXpELE1BQU0sT0FBTyx1QkFBdUI7SUFYcEM7UUFZSSxXQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBc0IsQ0FBQztRQUU5QyxpQ0FBNEIsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3pDLE9BQU8sMEJBQTBCLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDckQsQ0FBQyxDQUFDLENBQUM7S0FDTjs4R0FOWSx1QkFBdUI7a0dBQXZCLHVCQUF1Qiw0TkFUdEI7Ozs7S0FJVCw0REFFUyxPQUFPOzsyRkFHUix1QkFBdUI7a0JBWG5DLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDRCQUE0QjtvQkFDdEMsUUFBUSxFQUFFOzs7O0tBSVQ7b0JBQ0QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQztvQkFDbEIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBLb1NoYXBlIH0gZnJvbSAnLi4vLi4vYW5ndWxhci1rb252YSc7XG5pbXBvcnQgeyBBSVRhYmxlQ2VsbHNDb25maWcgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBnZXRQbGFjZUhvbGRlckNlbGxzQ29uZmlncyB9IGZyb20gJy4uLy4uL3V0aWxzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhaS10YWJsZS1wbGFjZWhvbGRlci1jZWxscycsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgQGZvciAoaXRlbSBvZiBmcm96ZW5QbGFjZUhvbGRlckNlbGxzQ29uZmlnKCk7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgPGtvLXJlY3QgW2NvbmZpZ109XCJpdGVtXCI+PC9rby1yZWN0PlxuICAgICAgICB9XG4gICAgYCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtLb1NoYXBlXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBBSVRhYmxlUGxhY2Vob2xkZXJDZWxscyB7XG4gICAgY29uZmlnID0gaW5wdXQucmVxdWlyZWQ8QUlUYWJsZUNlbGxzQ29uZmlnPigpO1xuXG4gICAgZnJvemVuUGxhY2VIb2xkZXJDZWxsc0NvbmZpZyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIGdldFBsYWNlSG9sZGVyQ2VsbHNDb25maWdzKHRoaXMuY29uZmlnKCkpO1xuICAgIH0pO1xufVxuIl19
@@ -0,0 +1,45 @@
1
+ import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';
2
+ import { KoShape } from '../../angular-konva/components/shape.component';
3
+ import { DEFAULT_FONT_FAMILY, DEFAULT_FONT_SIZE, DEFAULT_FONT_STYLE, DEFAULT_TEXT_ALIGN_LEFT, DEFAULT_TEXT_ELLIPSIS, DEFAULT_TEXT_FILL, DEFAULT_TEXT_LISTENING, DEFAULT_TEXT_TRANSFORMS_ENABLED, DEFAULT_TEXT_VERTICAL_ALIGN_MIDDLE, DEFAULT_TEXT_WRAP } from '../../constants';
4
+ import * as i0 from "@angular/core";
5
+ export class AITableText {
6
+ constructor() {
7
+ this.config = input.required();
8
+ this.textConfig = computed(() => {
9
+ const { x, y, width, height, text, padding, align = DEFAULT_TEXT_ALIGN_LEFT, verticalAlign = DEFAULT_TEXT_VERTICAL_ALIGN_MIDDLE, fill = DEFAULT_TEXT_FILL, textDecoration, fontSize = DEFAULT_FONT_SIZE, fontStyle = DEFAULT_FONT_STYLE, ellipsis = DEFAULT_TEXT_ELLIPSIS, wrap = DEFAULT_TEXT_WRAP, transformsEnabled = DEFAULT_TEXT_TRANSFORMS_ENABLED, listening = DEFAULT_TEXT_LISTENING, fontFamily = DEFAULT_FONT_FAMILY, ...rest } = this.config();
10
+ return {
11
+ x,
12
+ y,
13
+ width,
14
+ height,
15
+ text,
16
+ padding,
17
+ align,
18
+ verticalAlign,
19
+ fill,
20
+ textDecoration,
21
+ fontSize,
22
+ fontStyle,
23
+ ellipsis,
24
+ wrap,
25
+ transformsEnabled,
26
+ listening,
27
+ fontFamily,
28
+ ...rest
29
+ };
30
+ });
31
+ }
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AITableText, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
33
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.0", type: AITableText, isStandalone: true, selector: "ai-table-text", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: ` <ko-text [config]="textConfig()"></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 }); }
34
+ }
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AITableText, decorators: [{
36
+ type: Component,
37
+ args: [{
38
+ selector: 'ai-table-text',
39
+ template: ` <ko-text [config]="textConfig()"></ko-text> `,
40
+ standalone: true,
41
+ imports: [KoShape],
42
+ changeDetection: ChangeDetectionStrategy.OnPush
43
+ }]
44
+ }] });
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9yZW5kZXJlci9jb21wb25lbnRzL3RleHQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVwRixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDekUsT0FBTyxFQUNILG1CQUFtQixFQUNuQixpQkFBaUIsRUFDakIsa0JBQWtCLEVBQ2xCLHVCQUF1QixFQUN2QixxQkFBcUIsRUFDckIsaUJBQWlCLEVBQ2pCLHNCQUFzQixFQUN0QiwrQkFBK0IsRUFDL0Isa0NBQWtDLEVBQ2xDLGlCQUFpQixFQUNwQixNQUFNLGlCQUFpQixDQUFDOztBQVN6QixNQUFNLE9BQU8sV0FBVztJQVB4QjtRQVFJLFdBQU0sR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFxQixDQUFDO1FBRTdDLGVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3ZCLE1BQU0sRUFDRixDQUFDLEVBQ0QsQ0FBQyxFQUNELEtBQUssRUFDTCxNQUFNLEVBQ04sSUFBSSxFQUNKLE9BQU8sRUFDUCxLQUFLLEdBQUcsdUJBQXVCLEVBQy9CLGFBQWEsR0FBRyxrQ0FBa0MsRUFDbEQsSUFBSSxHQUFHLGlCQUFpQixFQUN4QixjQUFjLEVBQ2QsUUFBUSxHQUFHLGlCQUFpQixFQUM1QixTQUFTLEdBQUcsa0JBQWtCLEVBQzlCLFFBQVEsR0FBRyxxQkFBcUIsRUFDaEMsSUFBSSxHQUFHLGlCQUFpQixFQUN4QixpQkFBaUIsR0FBRywrQkFBK0IsRUFDbkQsU0FBUyxHQUFHLHNCQUFzQixFQUNsQyxVQUFVLEdBQUcsbUJBQW1CLEVBQ2hDLEdBQUcsSUFBSSxFQUNWLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2xCLE9BQU87Z0JBQ0gsQ0FBQztnQkFDRCxDQUFDO2dCQUNELEtBQUs7Z0JBQ0wsTUFBTTtnQkFDTixJQUFJO2dCQUNKLE9BQU87Z0JBQ1AsS0FBSztnQkFDTCxhQUFhO2dCQUNiLElBQUk7Z0JBQ0osY0FBYztnQkFDZCxRQUFRO2dCQUNSLFNBQVM7Z0JBQ1QsUUFBUTtnQkFDUixJQUFJO2dCQUNKLGlCQUFpQjtnQkFDakIsU0FBUztnQkFDVCxVQUFVO2dCQUNWLEdBQUcsSUFBSTthQUNWLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztLQUNOOzhHQTdDWSxXQUFXO2tHQUFYLFdBQVcsK01BTFYsK0NBQStDLDREQUUvQyxPQUFPOzsyRkFHUixXQUFXO2tCQVB2QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxlQUFlO29CQUN6QixRQUFRLEVBQUUsK0NBQStDO29CQUN6RCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDO29CQUNsQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDbEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBLb252YSBmcm9tICdrb252YSc7XG5pbXBvcnQgeyBLb1NoYXBlIH0gZnJvbSAnLi4vLi4vYW5ndWxhci1rb252YS9jb21wb25lbnRzL3NoYXBlLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICAgIERFRkFVTFRfRk9OVF9GQU1JTFksXG4gICAgREVGQVVMVF9GT05UX1NJWkUsXG4gICAgREVGQVVMVF9GT05UX1NUWUxFLFxuICAgIERFRkFVTFRfVEVYVF9BTElHTl9MRUZULFxuICAgIERFRkFVTFRfVEVYVF9FTExJUFNJUyxcbiAgICBERUZBVUxUX1RFWFRfRklMTCxcbiAgICBERUZBVUxUX1RFWFRfTElTVEVOSU5HLFxuICAgIERFRkFVTFRfVEVYVF9UUkFOU0ZPUk1TX0VOQUJMRUQsXG4gICAgREVGQVVMVF9URVhUX1ZFUlRJQ0FMX0FMSUdOX01JRERMRSxcbiAgICBERUZBVUxUX1RFWFRfV1JBUFxufSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FpLXRhYmxlLXRleHQnLFxuICAgIHRlbXBsYXRlOiBgIDxrby10ZXh0IFtjb25maWddPVwidGV4dENvbmZpZygpXCI+PC9rby10ZXh0PiBgLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0tvU2hhcGVdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEFJVGFibGVUZXh0IHtcbiAgICBjb25maWcgPSBpbnB1dC5yZXF1aXJlZDxLb252YS5TaGFwZUNvbmZpZz4oKTtcblxuICAgIHRleHRDb25maWcgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgIHgsXG4gICAgICAgICAgICB5LFxuICAgICAgICAgICAgd2lkdGgsXG4gICAgICAgICAgICBoZWlnaHQsXG4gICAgICAgICAgICB0ZXh0LFxuICAgICAgICAgICAgcGFkZGluZyxcbiAgICAgICAgICAgIGFsaWduID0gREVGQVVMVF9URVhUX0FMSUdOX0xFRlQsXG4gICAgICAgICAgICB2ZXJ0aWNhbEFsaWduID0gREVGQVVMVF9URVhUX1ZFUlRJQ0FMX0FMSUdOX01JRERMRSxcbiAgICAgICAgICAgIGZpbGwgPSBERUZBVUxUX1RFWFRfRklMTCxcbiAgICAgICAgICAgIHRleHREZWNvcmF0aW9uLFxuICAgICAgICAgICAgZm9udFNpemUgPSBERUZBVUxUX0ZPTlRfU0laRSxcbiAgICAgICAgICAgIGZvbnRTdHlsZSA9IERFRkFVTFRfRk9OVF9TVFlMRSxcbiAgICAgICAgICAgIGVsbGlwc2lzID0gREVGQVVMVF9URVhUX0VMTElQU0lTLFxuICAgICAgICAgICAgd3JhcCA9IERFRkFVTFRfVEVYVF9XUkFQLFxuICAgICAgICAgICAgdHJhbnNmb3Jtc0VuYWJsZWQgPSBERUZBVUxUX1RFWFRfVFJBTlNGT1JNU19FTkFCTEVELFxuICAgICAgICAgICAgbGlzdGVuaW5nID0gREVGQVVMVF9URVhUX0xJU1RFTklORyxcbiAgICAgICAgICAgIGZvbnRGYW1pbHkgPSBERUZBVUxUX0ZPTlRfRkFNSUxZLFxuICAgICAgICAgICAgLi4ucmVzdFxuICAgICAgICB9ID0gdGhpcy5jb25maWcoKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHgsXG4gICAgICAgICAgICB5LFxuICAgICAgICAgICAgd2lkdGgsXG4gICAgICAgICAgICBoZWlnaHQsXG4gICAgICAgICAgICB0ZXh0LFxuICAgICAgICAgICAgcGFkZGluZyxcbiAgICAgICAgICAgIGFsaWduLFxuICAgICAgICAgICAgdmVydGljYWxBbGlnbixcbiAgICAgICAgICAgIGZpbGwsXG4gICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbixcbiAgICAgICAgICAgIGZvbnRTaXplLFxuICAgICAgICAgICAgZm9udFN0eWxlLFxuICAgICAgICAgICAgZWxsaXBzaXMsXG4gICAgICAgICAgICB3cmFwLFxuICAgICAgICAgICAgdHJhbnNmb3Jtc0VuYWJsZWQsXG4gICAgICAgICAgICBsaXN0ZW5pbmcsXG4gICAgICAgICAgICBmb250RmFtaWx5LFxuICAgICAgICAgICAgLi4ucmVzdFxuICAgICAgICB9O1xuICAgIH0pO1xufVxuIl19
@@ -0,0 +1,68 @@
1
+ import { AI_TABLE_CELL_BORDER, AI_TABLE_OFFSET } from '../../constants';
2
+ import { AITable } from '../../core';
3
+ import { AITableRowType } from '../../types';
4
+ import { getCellHorizontalPosition } from '../../utils';
5
+ export const createActiveCellBorder = (config) => {
6
+ const { aiTable, coordinate, columnStartIndex, columnStopIndex, rowStartIndex, rowStopIndex } = config;
7
+ const { linearRows } = aiTable.context;
8
+ const { rowHeight, frozenColumnCount } = coordinate;
9
+ const colors = AITable.getColors();
10
+ const visibleColumns = AITable.getVisibleFields(aiTable);
11
+ const activeCell = AITable.getActiveCell(aiTable);
12
+ const totalColumnCount = visibleColumns.length;
13
+ let activeCellBorder = null;
14
+ let frozenActiveCellBorder = null;
15
+ if (activeCell != null) {
16
+ const { fieldId } = activeCell;
17
+ const { rowIndex, columnIndex } = AITable.getCellIndex(aiTable, activeCell);
18
+ const checkIsVisible = (rowIndex, columnIndex) => {
19
+ if (columnIndex < frozenColumnCount) {
20
+ return true;
21
+ }
22
+ return (rowIndex >= rowStartIndex && rowIndex <= rowStopIndex && columnIndex >= columnStartIndex && columnIndex <= columnStopIndex);
23
+ };
24
+ if (rowIndex != null && columnIndex != null && checkIsVisible(rowIndex, columnIndex)) {
25
+ const { type } = linearRows()[rowIndex];
26
+ if (type === AITableRowType.record) {
27
+ const activeField = visibleColumns.find((field) => field._id === fieldId);
28
+ if (activeField == null) {
29
+ return {
30
+ activeCellBorder,
31
+ frozenActiveCellBorder
32
+ };
33
+ }
34
+ const x = coordinate.getColumnOffset(columnIndex);
35
+ const y = coordinate.getRowOffset(rowIndex);
36
+ const columnWidth = coordinate.getColumnWidth(columnIndex);
37
+ const isFrozenColumn = columnIndex < frozenColumnCount;
38
+ const { offset, width } = getCellHorizontalPosition({
39
+ columnWidth,
40
+ columnIndex,
41
+ columnCount: totalColumnCount
42
+ });
43
+ // active 外边界和非 active 外边界 box 大小保持一致
44
+ const currentConfig = {
45
+ x: x + offset + AI_TABLE_OFFSET,
46
+ y: y + AI_TABLE_OFFSET,
47
+ width: width - AI_TABLE_CELL_BORDER / 2,
48
+ height: rowHeight - AI_TABLE_CELL_BORDER / 2,
49
+ strokeWidth: AI_TABLE_CELL_BORDER,
50
+ stroke: colors.primary,
51
+ fillEnabled: false,
52
+ listening: false
53
+ };
54
+ if (isFrozenColumn) {
55
+ frozenActiveCellBorder = currentConfig;
56
+ }
57
+ else {
58
+ activeCellBorder = currentConfig;
59
+ }
60
+ }
61
+ }
62
+ }
63
+ return {
64
+ activeCellBorder,
65
+ frozenActiveCellBorder
66
+ };
67
+ };
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWFjdGl2ZS1jZWxsLWJvcmRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL3JlbmRlcmVyL2NyZWF0aW9ucy9jcmVhdGUtYWN0aXZlLWNlbGwtYm9yZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3JDLE9BQU8sRUFBc0IsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV4RCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLE1BQTBCLEVBQUUsRUFBRTtJQUNqRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUN2RyxNQUFNLEVBQUUsVUFBVSxFQUFFLEdBQUcsT0FBTyxDQUFDLE9BQVEsQ0FBQztJQUN4QyxNQUFNLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLEdBQUcsVUFBVSxDQUFDO0lBQ3BELE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQyxNQUFNLGNBQWMsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDekQsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNsRCxNQUFNLGdCQUFnQixHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUM7SUFFL0MsSUFBSSxnQkFBZ0IsR0FBc0IsSUFBSSxDQUFDO0lBQy9DLElBQUksc0JBQXNCLEdBQXNCLElBQUksQ0FBQztJQUVyRCxJQUFJLFVBQVUsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNyQixNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsVUFBVSxDQUFDO1FBQy9CLE1BQU0sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFFLENBQUM7UUFFN0UsTUFBTSxjQUFjLEdBQUcsQ0FBQyxRQUFnQixFQUFFLFdBQW1CLEVBQUUsRUFBRTtZQUM3RCxJQUFJLFdBQVcsR0FBRyxpQkFBaUIsRUFBRSxDQUFDO2dCQUNsQyxPQUFPLElBQUksQ0FBQztZQUNoQixDQUFDO1lBQ0QsT0FBTyxDQUNILFFBQVEsSUFBSSxhQUFhLElBQUksUUFBUSxJQUFJLFlBQVksSUFBSSxXQUFXLElBQUksZ0JBQWdCLElBQUksV0FBVyxJQUFJLGVBQWUsQ0FDN0gsQ0FBQztRQUNOLENBQUMsQ0FBQztRQUVGLElBQUksUUFBUSxJQUFJLElBQUksSUFBSSxXQUFXLElBQUksSUFBSSxJQUFJLGNBQWMsQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUNuRixNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFeEMsSUFBSSxJQUFJLEtBQUssY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNqQyxNQUFNLFdBQVcsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLE9BQU8sQ0FBQyxDQUFDO2dCQUMxRSxJQUFJLFdBQVcsSUFBSSxJQUFJLEVBQUUsQ0FBQztvQkFDdEIsT0FBTzt3QkFDSCxnQkFBZ0I7d0JBQ2hCLHNCQUFzQjtxQkFDekIsQ0FBQztnQkFDTixDQUFDO2dCQUVELE1BQU0sQ0FBQyxHQUFHLFVBQVUsQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQ2xELE1BQU0sQ0FBQyxHQUFHLFVBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVDLE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQzNELE1BQU0sY0FBYyxHQUFHLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQztnQkFDdkQsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyx5QkFBeUIsQ0FBQztvQkFDaEQsV0FBVztvQkFDWCxXQUFXO29CQUNYLFdBQVcsRUFBRSxnQkFBZ0I7aUJBQ2hDLENBQUMsQ0FBQztnQkFDSCxxQ0FBcUM7Z0JBQ3JDLE1BQU0sYUFBYSxHQUFHO29CQUNsQixDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sR0FBRyxlQUFlO29CQUMvQixDQUFDLEVBQUUsQ0FBQyxHQUFHLGVBQWU7b0JBQ3RCLEtBQUssRUFBRSxLQUFLLEdBQUcsb0JBQW9CLEdBQUcsQ0FBQztvQkFDdkMsTUFBTSxFQUFFLFNBQVMsR0FBRyxvQkFBb0IsR0FBRyxDQUFDO29CQUM1QyxXQUFXLEVBQUUsb0JBQW9CO29CQUNqQyxNQUFNLEVBQUUsTUFBTSxDQUFDLE9BQU87b0JBQ3RCLFdBQVcsRUFBRSxLQUFLO29CQUNsQixTQUFTLEVBQUUsS0FBSztpQkFDbkIsQ0FBQztnQkFFRixJQUFJLGNBQWMsRUFBRSxDQUFDO29CQUNqQixzQkFBc0IsR0FBRyxhQUFhLENBQUM7Z0JBQzNDLENBQUM7cUJBQU0sQ0FBQztvQkFDSixnQkFBZ0IsR0FBRyxhQUFhLENBQUM7Z0JBQ3JDLENBQUM7WUFDTCxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFRCxPQUFPO1FBQ0gsZ0JBQWdCO1FBQ2hCLHNCQUFzQjtLQUN6QixDQUFDO0FBQ04sQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVjdENvbmZpZyB9IGZyb20gJ2tvbnZhL2xpYi9zaGFwZXMvUmVjdCc7XG5pbXBvcnQgeyBBSV9UQUJMRV9DRUxMX0JPUkRFUiwgQUlfVEFCTEVfT0ZGU0VUIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IEFJVGFibGUgfSBmcm9tICcuLi8uLi9jb3JlJztcbmltcG9ydCB7IEFJVGFibGVDZWxsc0NvbmZpZywgQUlUYWJsZVJvd1R5cGUgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBnZXRDZWxsSG9yaXpvbnRhbFBvc2l0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuXG5leHBvcnQgY29uc3QgY3JlYXRlQWN0aXZlQ2VsbEJvcmRlciA9IChjb25maWc6IEFJVGFibGVDZWxsc0NvbmZpZykgPT4ge1xuICAgIGNvbnN0IHsgYWlUYWJsZSwgY29vcmRpbmF0ZSwgY29sdW1uU3RhcnRJbmRleCwgY29sdW1uU3RvcEluZGV4LCByb3dTdGFydEluZGV4LCByb3dTdG9wSW5kZXggfSA9IGNvbmZpZztcbiAgICBjb25zdCB7IGxpbmVhclJvd3MgfSA9IGFpVGFibGUuY29udGV4dCE7XG4gICAgY29uc3QgeyByb3dIZWlnaHQsIGZyb3plbkNvbHVtbkNvdW50IH0gPSBjb29yZGluYXRlO1xuICAgIGNvbnN0IGNvbG9ycyA9IEFJVGFibGUuZ2V0Q29sb3JzKCk7XG4gICAgY29uc3QgdmlzaWJsZUNvbHVtbnMgPSBBSVRhYmxlLmdldFZpc2libGVGaWVsZHMoYWlUYWJsZSk7XG4gICAgY29uc3QgYWN0aXZlQ2VsbCA9IEFJVGFibGUuZ2V0QWN0aXZlQ2VsbChhaVRhYmxlKTtcbiAgICBjb25zdCB0b3RhbENvbHVtbkNvdW50ID0gdmlzaWJsZUNvbHVtbnMubGVuZ3RoO1xuXG4gICAgbGV0IGFjdGl2ZUNlbGxCb3JkZXI6IFJlY3RDb25maWcgfCBudWxsID0gbnVsbDtcbiAgICBsZXQgZnJvemVuQWN0aXZlQ2VsbEJvcmRlcjogUmVjdENvbmZpZyB8IG51bGwgPSBudWxsO1xuXG4gICAgaWYgKGFjdGl2ZUNlbGwgIT0gbnVsbCkge1xuICAgICAgICBjb25zdCB7IGZpZWxkSWQgfSA9IGFjdGl2ZUNlbGw7XG4gICAgICAgIGNvbnN0IHsgcm93SW5kZXgsIGNvbHVtbkluZGV4IH0gPSBBSVRhYmxlLmdldENlbGxJbmRleChhaVRhYmxlLCBhY3RpdmVDZWxsKSE7XG5cbiAgICAgICAgY29uc3QgY2hlY2tJc1Zpc2libGUgPSAocm93SW5kZXg6IG51bWJlciwgY29sdW1uSW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgaWYgKGNvbHVtbkluZGV4IDwgZnJvemVuQ29sdW1uQ291bnQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgcm93SW5kZXggPj0gcm93U3RhcnRJbmRleCAmJiByb3dJbmRleCA8PSByb3dTdG9wSW5kZXggJiYgY29sdW1uSW5kZXggPj0gY29sdW1uU3RhcnRJbmRleCAmJiBjb2x1bW5JbmRleCA8PSBjb2x1bW5TdG9wSW5kZXhcbiAgICAgICAgICAgICk7XG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKHJvd0luZGV4ICE9IG51bGwgJiYgY29sdW1uSW5kZXggIT0gbnVsbCAmJiBjaGVja0lzVmlzaWJsZShyb3dJbmRleCwgY29sdW1uSW5kZXgpKSB7XG4gICAgICAgICAgICBjb25zdCB7IHR5cGUgfSA9IGxpbmVhclJvd3MoKVtyb3dJbmRleF07XG5cbiAgICAgICAgICAgIGlmICh0eXBlID09PSBBSVRhYmxlUm93VHlwZS5yZWNvcmQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBhY3RpdmVGaWVsZCA9IHZpc2libGVDb2x1bW5zLmZpbmQoKGZpZWxkKSA9PiBmaWVsZC5faWQgPT09IGZpZWxkSWQpO1xuICAgICAgICAgICAgICAgIGlmIChhY3RpdmVGaWVsZCA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmVDZWxsQm9yZGVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgZnJvemVuQWN0aXZlQ2VsbEJvcmRlclxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IHggPSBjb29yZGluYXRlLmdldENvbHVtbk9mZnNldChjb2x1bW5JbmRleCk7XG4gICAgICAgICAgICAgICAgY29uc3QgeSA9IGNvb3JkaW5hdGUuZ2V0Um93T2Zmc2V0KHJvd0luZGV4KTtcbiAgICAgICAgICAgICAgICBjb25zdCBjb2x1bW5XaWR0aCA9IGNvb3JkaW5hdGUuZ2V0Q29sdW1uV2lkdGgoY29sdW1uSW5kZXgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGlzRnJvemVuQ29sdW1uID0gY29sdW1uSW5kZXggPCBmcm96ZW5Db2x1bW5Db3VudDtcbiAgICAgICAgICAgICAgICBjb25zdCB7IG9mZnNldCwgd2lkdGggfSA9IGdldENlbGxIb3Jpem9udGFsUG9zaXRpb24oe1xuICAgICAgICAgICAgICAgICAgICBjb2x1bW5XaWR0aCxcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uSW5kZXgsXG4gICAgICAgICAgICAgICAgICAgIGNvbHVtbkNvdW50OiB0b3RhbENvbHVtbkNvdW50XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgLy8gYWN0aXZlIOWklui+ueeVjOWSjOmdniBhY3RpdmUg5aSW6L6555WMIGJveCDlpKflsI/kv53mjIHkuIDoh7RcbiAgICAgICAgICAgICAgICBjb25zdCBjdXJyZW50Q29uZmlnID0ge1xuICAgICAgICAgICAgICAgICAgICB4OiB4ICsgb2Zmc2V0ICsgQUlfVEFCTEVfT0ZGU0VULFxuICAgICAgICAgICAgICAgICAgICB5OiB5ICsgQUlfVEFCTEVfT0ZGU0VULFxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogd2lkdGggLSBBSV9UQUJMRV9DRUxMX0JPUkRFUiAvIDIsXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogcm93SGVpZ2h0IC0gQUlfVEFCTEVfQ0VMTF9CT1JERVIgLyAyLFxuICAgICAgICAgICAgICAgICAgICBzdHJva2VXaWR0aDogQUlfVEFCTEVfQ0VMTF9CT1JERVIsXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZTogY29sb3JzLnByaW1hcnksXG4gICAgICAgICAgICAgICAgICAgIGZpbGxFbmFibGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgbGlzdGVuaW5nOiBmYWxzZVxuICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICBpZiAoaXNGcm96ZW5Db2x1bW4pIHtcbiAgICAgICAgICAgICAgICAgICAgZnJvemVuQWN0aXZlQ2VsbEJvcmRlciA9IGN1cnJlbnRDb25maWc7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgYWN0aXZlQ2VsbEJvcmRlciA9IGN1cnJlbnRDb25maWc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgICAgYWN0aXZlQ2VsbEJvcmRlcixcbiAgICAgICAgZnJvemVuQWN0aXZlQ2VsbEJvcmRlclxuICAgIH07XG59O1xuIl19