@ai-table/grid 0.0.73 → 0.1.0

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 (232) hide show
  1. package/angular-konva/components/container.component.d.ts.map +1 -1
  2. package/angular-konva/components/shape.component.d.ts.map +1 -1
  3. package/angular-konva/components/stage.component.d.ts.map +1 -1
  4. package/components/cell-editors/abstract-cell-editor.component.d.ts.map +1 -1
  5. package/components/cell-editors/date/date-editor.component.d.ts.map +1 -1
  6. package/components/cell-editors/link/edit-link/edit-link.component.d.ts.map +1 -1
  7. package/components/cell-editors/link/link-editor.component.d.ts.map +1 -1
  8. package/components/cell-editors/number/number-editor.component.d.ts.map +1 -1
  9. package/components/cell-editors/select/select-editor.component.d.ts.map +1 -1
  10. package/components/cell-editors/text/text-editor.component.d.ts.map +1 -1
  11. package/components/cell-views/select/option.component.d.ts.map +1 -1
  12. package/components/context-menu/context-menu.component.d.ts.map +1 -1
  13. package/components/drag/drag.component.d.ts.map +1 -1
  14. package/components/field-menu/field-menu.component.d.ts.map +1 -1
  15. package/components/field-setting/field-setting.component.d.ts.map +1 -1
  16. package/core/context.d.ts +2 -0
  17. package/core/context.d.ts.map +1 -1
  18. package/core/types/ai-table.d.ts.map +1 -1
  19. package/core/utils/field.d.ts.map +1 -1
  20. package/core/utils/queries.d.ts.map +1 -1
  21. package/core/utils/short-id.d.ts.map +1 -1
  22. package/dom-grid.component.d.ts.map +1 -1
  23. package/fesm2022/ai-table-grid.mjs +322 -310
  24. package/fesm2022/ai-table-grid.mjs.map +1 -1
  25. package/grid-base.component.d.ts +3 -1
  26. package/grid-base.component.d.ts.map +1 -1
  27. package/grid.component.d.ts +1 -1
  28. package/grid.component.d.ts.map +1 -1
  29. package/package.json +3 -5
  30. package/pipes/grid.pipe.d.ts.map +1 -1
  31. package/renderer/components/action-icon.component.d.ts.map +1 -1
  32. package/renderer/components/add-field-column.component.d.ts.map +1 -1
  33. package/renderer/components/cells/attachment.component.d.ts.map +1 -1
  34. package/renderer/components/cells/link.component.d.ts.map +1 -1
  35. package/renderer/components/cells/progress.component.d.ts.map +1 -1
  36. package/renderer/components/cells/rate.component.d.ts.map +1 -1
  37. package/renderer/components/cells/rich-text.component.d.ts.map +1 -1
  38. package/renderer/components/cells.component.d.ts.map +1 -1
  39. package/renderer/components/field-head.component.d.ts +2 -2
  40. package/renderer/components/field-head.component.d.ts.map +1 -1
  41. package/renderer/components/field-icon.component.d.ts.map +1 -1
  42. package/renderer/components/frozen-cells.component.d.ts.map +1 -1
  43. package/renderer/components/frozen-heads.component.d.ts +1 -1
  44. package/renderer/components/frozen-heads.component.d.ts.map +1 -1
  45. package/renderer/components/frozen-placeholder-cells.component.d.ts.map +1 -1
  46. package/renderer/components/heads.component.d.ts +1 -1
  47. package/renderer/components/heads.component.d.ts.map +1 -1
  48. package/renderer/components/hover-cell.component.d.ts.map +1 -1
  49. package/renderer/components/hover-row-heads.component.d.ts.map +1 -1
  50. package/renderer/components/icon.component.d.ts.map +1 -1
  51. package/renderer/components/other-rows.component.d.ts.map +1 -1
  52. package/renderer/components/placeholder-cells.component.d.ts.map +1 -1
  53. package/renderer/components/text.component.d.ts.map +1 -1
  54. package/renderer/creations/create-active-cell-border.d.ts.map +1 -1
  55. package/renderer/creations/create-cells.d.ts.map +1 -1
  56. package/renderer/creations/create-heads.d.ts.map +1 -1
  57. package/renderer/drawers/add-row-layout-drawer.d.ts +1 -1
  58. package/renderer/drawers/add-row-layout-drawer.d.ts.map +1 -1
  59. package/renderer/drawers/cell-drawer.d.ts.map +1 -1
  60. package/renderer/drawers/drawer.d.ts +1 -1
  61. package/renderer/renderer.component.d.ts +5 -4
  62. package/renderer/renderer.component.d.ts.map +1 -1
  63. package/types/cell.d.ts +2 -0
  64. package/types/cell.d.ts.map +1 -1
  65. package/types/component-config.d.ts +2 -0
  66. package/types/component-config.d.ts.map +1 -1
  67. package/types/grid.d.ts +4 -0
  68. package/types/grid.d.ts.map +1 -1
  69. package/types/row.d.ts +1 -0
  70. package/types/row.d.ts.map +1 -1
  71. package/utils/build.d.ts.map +1 -1
  72. package/utils/clipboard/clipboard.d.ts.map +1 -1
  73. package/utils/clipboard/copy.d.ts.map +1 -1
  74. package/utils/clipboard/paste.d.ts +5 -1
  75. package/utils/clipboard/paste.d.ts.map +1 -1
  76. package/utils/common.d.ts.map +1 -1
  77. package/utils/field/model/date.d.ts.map +1 -1
  78. package/utils/field/model/link.d.ts.map +1 -1
  79. package/utils/field/model/progress.d.ts.map +1 -1
  80. package/utils/field/model/text.d.ts.map +1 -1
  81. package/utils/get-text-width.d.ts.map +1 -1
  82. package/utils/i18n.d.ts +2 -0
  83. package/utils/i18n.d.ts.map +1 -1
  84. package/utils/match-keywords.d.ts.map +1 -1
  85. package/utils/position.d.ts.map +1 -1
  86. package/utils/style.d.ts.map +1 -1
  87. package/utils/text-measure.d.ts.map +1 -1
  88. package/utils/visible-range.d.ts.map +1 -1
  89. package/esm2022/ai-table-grid.mjs +0 -5
  90. package/esm2022/angular-konva/components/container.component.mjs +0 -29
  91. package/esm2022/angular-konva/components/container.token.mjs +0 -3
  92. package/esm2022/angular-konva/components/index.mjs +0 -4
  93. package/esm2022/angular-konva/components/shape.component.mjs +0 -142
  94. package/esm2022/angular-konva/components/stage.component.mjs +0 -123
  95. package/esm2022/angular-konva/index.mjs +0 -5
  96. package/esm2022/angular-konva/interfaces/component.mjs +0 -4
  97. package/esm2022/angular-konva/interfaces/config.mjs +0 -2
  98. package/esm2022/angular-konva/interfaces/event-object.mjs +0 -2
  99. package/esm2022/angular-konva/interfaces/index.mjs +0 -5
  100. package/esm2022/angular-konva/interfaces/shape.mjs +0 -42
  101. package/esm2022/angular-konva/utils/apply-node-props.mjs +0 -67
  102. package/esm2022/angular-konva/utils/common.mjs +0 -48
  103. package/esm2022/angular-konva/utils/index.mjs +0 -5
  104. package/esm2022/angular-konva/utils/types.mjs +0 -2
  105. package/esm2022/angular-konva/utils/update-picture.mjs +0 -7
  106. package/esm2022/components/cell-editors/abstract-cell-editor.component.mjs +0 -56
  107. package/esm2022/components/cell-editors/date/date-editor.component.mjs +0 -87
  108. package/esm2022/components/cell-editors/link/edit-link/edit-link.component.mjs +0 -81
  109. package/esm2022/components/cell-editors/link/link-editor.component.mjs +0 -122
  110. package/esm2022/components/cell-editors/number/number-editor.component.mjs +0 -41
  111. package/esm2022/components/cell-editors/select/select-editor.component.mjs +0 -74
  112. package/esm2022/components/cell-editors/text/text-editor.component.mjs +0 -76
  113. package/esm2022/components/cell-views/select/option.component.mjs +0 -28
  114. package/esm2022/components/context-menu/context-menu.component.mjs +0 -42
  115. package/esm2022/components/drag/drag.component.mjs +0 -300
  116. package/esm2022/components/field-menu/field-menu.component.mjs +0 -47
  117. package/esm2022/components/field-setting/field-setting.component.mjs +0 -142
  118. package/esm2022/components/index.mjs +0 -10
  119. package/esm2022/constants/colors.mjs +0 -19
  120. package/esm2022/constants/editor.mjs +0 -11
  121. package/esm2022/constants/file-icon.mjs +0 -342
  122. package/esm2022/constants/grid.mjs +0 -35
  123. package/esm2022/constants/icon.mjs +0 -30
  124. package/esm2022/constants/index.mjs +0 -7
  125. package/esm2022/constants/table.mjs +0 -78
  126. package/esm2022/constants/text.mjs +0 -23
  127. package/esm2022/core/constants/field.mjs +0 -107
  128. package/esm2022/core/context.mjs +0 -29
  129. package/esm2022/core/coordinate.mjs +0 -222
  130. package/esm2022/core/index.mjs +0 -6
  131. package/esm2022/core/types/ai-table.mjs +0 -57
  132. package/esm2022/core/types/core.mjs +0 -2
  133. package/esm2022/core/types/index.mjs +0 -3
  134. package/esm2022/core/utils/common.mjs +0 -45
  135. package/esm2022/core/utils/field.mjs +0 -64
  136. package/esm2022/core/utils/id-creator.mjs +0 -21
  137. package/esm2022/core/utils/index.mjs +0 -5
  138. package/esm2022/core/utils/queries.mjs +0 -80
  139. package/esm2022/core/utils/short-id.mjs +0 -53
  140. package/esm2022/dom-grid.component.mjs +0 -80
  141. package/esm2022/grid-base.component.mjs +0 -145
  142. package/esm2022/grid.component.mjs +0 -649
  143. package/esm2022/index.mjs +0 -2
  144. package/esm2022/pipes/grid.pipe.mjs +0 -110
  145. package/esm2022/pipes/index.mjs +0 -2
  146. package/esm2022/public-api.mjs +0 -12
  147. package/esm2022/renderer/components/action-icon.component.mjs +0 -117
  148. package/esm2022/renderer/components/add-field-column.component.mjs +0 -88
  149. package/esm2022/renderer/components/cells/attachment.component.mjs +0 -107
  150. package/esm2022/renderer/components/cells/cells.mjs +0 -6
  151. package/esm2022/renderer/components/cells/index.mjs +0 -7
  152. package/esm2022/renderer/components/cells/link.component.mjs +0 -89
  153. package/esm2022/renderer/components/cells/progress.component.mjs +0 -268
  154. package/esm2022/renderer/components/cells/rate.component.mjs +0 -153
  155. package/esm2022/renderer/components/cells/rich-text.component.mjs +0 -95
  156. package/esm2022/renderer/components/cells.component.mjs +0 -35
  157. package/esm2022/renderer/components/field-head.component.mjs +0 -146
  158. package/esm2022/renderer/components/field-icon.component.mjs +0 -72
  159. package/esm2022/renderer/components/frozen-cells.component.mjs +0 -36
  160. package/esm2022/renderer/components/frozen-heads.component.mjs +0 -214
  161. package/esm2022/renderer/components/frozen-placeholder-cells.component.mjs +0 -38
  162. package/esm2022/renderer/components/heads.component.mjs +0 -38
  163. package/esm2022/renderer/components/hover-cell.component.mjs +0 -104
  164. package/esm2022/renderer/components/hover-row-heads.component.mjs +0 -132
  165. package/esm2022/renderer/components/icon.component.mjs +0 -84
  166. package/esm2022/renderer/components/index.mjs +0 -15
  167. package/esm2022/renderer/components/other-rows.component.mjs +0 -68
  168. package/esm2022/renderer/components/placeholder-cells.component.mjs +0 -33
  169. package/esm2022/renderer/components/text.component.mjs +0 -67
  170. package/esm2022/renderer/creations/create-active-cell-border.mjs +0 -70
  171. package/esm2022/renderer/creations/create-cells.mjs +0 -190
  172. package/esm2022/renderer/creations/create-heads.mjs +0 -51
  173. package/esm2022/renderer/drawers/add-row-layout-drawer.mjs +0 -98
  174. package/esm2022/renderer/drawers/cell-drawer.mjs +0 -673
  175. package/esm2022/renderer/drawers/drawer.mjs +0 -947
  176. package/esm2022/renderer/drawers/layout-drawer.mjs +0 -64
  177. package/esm2022/renderer/drawers/record-row-layout-drawer.mjs +0 -131
  178. package/esm2022/renderer/index.mjs +0 -4
  179. package/esm2022/renderer/interfaces/hover-cell.mjs +0 -4
  180. package/esm2022/renderer/interfaces/index.mjs +0 -2
  181. package/esm2022/renderer/renderer.component.mjs +0 -197
  182. package/esm2022/services/event.service.mjs +0 -241
  183. package/esm2022/services/field.service.mjs +0 -56
  184. package/esm2022/services/index.mjs +0 -4
  185. package/esm2022/services/selection.service.mjs +0 -151
  186. package/esm2022/types/avatar.mjs +0 -27
  187. package/esm2022/types/canvas.mjs +0 -2
  188. package/esm2022/types/cell.mjs +0 -2
  189. package/esm2022/types/clipboard.mjs +0 -2
  190. package/esm2022/types/component-config.mjs +0 -7
  191. package/esm2022/types/field.mjs +0 -2
  192. package/esm2022/types/grid.mjs +0 -17
  193. package/esm2022/types/index.mjs +0 -10
  194. package/esm2022/types/layout.mjs +0 -2
  195. package/esm2022/types/row.mjs +0 -6
  196. package/esm2022/utils/build.mjs +0 -39
  197. package/esm2022/utils/cell.mjs +0 -80
  198. package/esm2022/utils/clear-cells.mjs +0 -23
  199. package/esm2022/utils/clipboard/clipboard.mjs +0 -88
  200. package/esm2022/utils/clipboard/copy.mjs +0 -99
  201. package/esm2022/utils/clipboard/extract.mjs +0 -38
  202. package/esm2022/utils/clipboard/index.mjs +0 -5
  203. package/esm2022/utils/clipboard/paste.mjs +0 -188
  204. package/esm2022/utils/common.mjs +0 -50
  205. package/esm2022/utils/field/field-operable.mjs +0 -2
  206. package/esm2022/utils/field/field.mjs +0 -20
  207. package/esm2022/utils/field/index.mjs +0 -4
  208. package/esm2022/utils/field/model/attachment.mjs +0 -56
  209. package/esm2022/utils/field/model/date.mjs +0 -141
  210. package/esm2022/utils/field/model/index.mjs +0 -12
  211. package/esm2022/utils/field/model/link.mjs +0 -56
  212. package/esm2022/utils/field/model/member.mjs +0 -81
  213. package/esm2022/utils/field/model/number.mjs +0 -59
  214. package/esm2022/utils/field/model/progress.mjs +0 -69
  215. package/esm2022/utils/field/model/rate.mjs +0 -58
  216. package/esm2022/utils/field/model/rich-text.mjs +0 -39
  217. package/esm2022/utils/field/model/select.mjs +0 -131
  218. package/esm2022/utils/field/model/text.mjs +0 -32
  219. package/esm2022/utils/field/operate.mjs +0 -73
  220. package/esm2022/utils/file.mjs +0 -116
  221. package/esm2022/utils/get-placeholder-cells.mjs +0 -66
  222. package/esm2022/utils/get-text-width.mjs +0 -30
  223. package/esm2022/utils/hover-cell.mjs +0 -25
  224. package/esm2022/utils/i18n.mjs +0 -87
  225. package/esm2022/utils/image-cache.mjs +0 -57
  226. package/esm2022/utils/index.mjs +0 -19
  227. package/esm2022/utils/match-keywords.mjs +0 -15
  228. package/esm2022/utils/os.mjs +0 -16
  229. package/esm2022/utils/position.mjs +0 -48
  230. package/esm2022/utils/style.mjs +0 -37
  231. package/esm2022/utils/text-measure.mjs +0 -122
  232. package/esm2022/utils/visible-range.mjs +0 -42
@@ -1,84 +0,0 @@
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, RowDragPath, Unchecked } from '../../constants';
5
- import { AITableCheckType } from '../../types';
6
- import { DragType } from '@ai-table/utils';
7
- import * as i0 from "@angular/core";
8
- export class AITableIcon {
9
- constructor() {
10
- this.config = input.required();
11
- this.groupConfig = computed(() => {
12
- const { x, y, listening } = this.config();
13
- return { x, y, listening };
14
- });
15
- this.squareShapeConfig = computed(() => {
16
- const { name, backgroundWidth, backgroundHeight, size = DEFAULT_ICON_SIZE, strokeWidth = 1, background, cornerRadius, opacity } = this.config();
17
- return {
18
- name,
19
- width: backgroundWidth || size,
20
- height: backgroundHeight || size,
21
- strokeWidth: strokeWidth,
22
- fill: background || Colors.transparent,
23
- cornerRadius,
24
- opacity
25
- };
26
- });
27
- this.iconConfig = computed(() => {
28
- const { type, data, backgroundWidth, backgroundHeight, size = DEFAULT_ICON_SIZE, stroke, strokeWidth = 1, scaleX, scaleY, offsetX, offsetY, rotation, fill = Colors.gray600, transformsEnabled = 'position' } = this.config();
29
- let pathData = data;
30
- switch (type) {
31
- case AITableCheckType.checked:
32
- pathData = Check;
33
- break;
34
- case AITableCheckType.unchecked:
35
- pathData = Unchecked;
36
- break;
37
- case DragType.record:
38
- pathData = RowDragPath;
39
- break;
40
- }
41
- return {
42
- x: backgroundWidth && (backgroundWidth - size * (scaleX || 1)) / 2,
43
- y: backgroundHeight && (backgroundHeight - size * (scaleY || 1)) / 2,
44
- data: pathData,
45
- width: size,
46
- height: size,
47
- fill,
48
- offsetX,
49
- offsetY,
50
- scaleX,
51
- scaleY,
52
- rotation,
53
- stroke,
54
- strokeWidth,
55
- transformsEnabled,
56
- perfectDrawEnabled: false,
57
- listening: false
58
- };
59
- });
60
- }
61
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AITableIcon, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
62
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: AITableIcon, isStandalone: true, selector: "ai-table-icon", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
63
- <ko-group [config]="groupConfig()">
64
- <ko-rect [config]="squareShapeConfig()"></ko-rect>
65
- <ko-path [config]="iconConfig()"></ko-path>
66
- </ko-group>
67
- `, 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 }); }
68
- }
69
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AITableIcon, decorators: [{
70
- type: Component,
71
- args: [{
72
- selector: 'ai-table-icon',
73
- template: `
74
- <ko-group [config]="groupConfig()">
75
- <ko-rect [config]="squareShapeConfig()"></ko-rect>
76
- <ko-path [config]="iconConfig()"></ko-path>
77
- </ko-group>
78
- `,
79
- standalone: true,
80
- imports: [KoContainer, KoShape],
81
- changeDetection: ChangeDetectionStrategy.OnPush
82
- }]
83
- }] });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9yZW5kZXJlci9jb21wb25lbnRzL2ljb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVwRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRixPQUFPLEVBQUUsZ0JBQWdCLEVBQXFCLE1BQU0sYUFBYSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFjM0MsTUFBTSxPQUFPLFdBQVc7SUFaeEI7UUFhSSxXQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBcUIsQ0FBQztRQUU3QyxnQkFBVyxHQUFHLFFBQVEsQ0FBdUIsR0FBRyxFQUFFO1lBQzlDLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMxQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQztRQUVILHNCQUFpQixHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDOUIsTUFBTSxFQUNGLElBQUksRUFDSixlQUFlLEVBQ2YsZ0JBQWdCLEVBQ2hCLElBQUksR0FBRyxpQkFBaUIsRUFDeEIsV0FBVyxHQUFHLENBQUMsRUFDZixVQUFVLEVBQ1YsWUFBWSxFQUNaLE9BQU8sRUFDVixHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNsQixPQUFPO2dCQUNILElBQUk7Z0JBQ0osS0FBSyxFQUFFLGVBQWUsSUFBSSxJQUFJO2dCQUM5QixNQUFNLEVBQUUsZ0JBQWdCLElBQUksSUFBSTtnQkFDaEMsV0FBVyxFQUFFLFdBQVc7Z0JBQ3hCLElBQUksRUFBRSxVQUFVLElBQUksTUFBTSxDQUFDLFdBQVc7Z0JBQ3RDLFlBQVk7Z0JBQ1osT0FBTzthQUNWLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztRQUVILGVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3ZCLE1BQU0sRUFDRixJQUFJLEVBQ0osSUFBSSxFQUNKLGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIsSUFBSSxHQUFHLGlCQUFpQixFQUN4QixNQUFNLEVBQ04sV0FBVyxHQUFHLENBQUMsRUFDZixNQUFNLEVBQ04sTUFBTSxFQUNOLE9BQU8sRUFDUCxPQUFPLEVBQ1AsUUFBUSxFQUNSLElBQUksR0FBRyxNQUFNLENBQUMsT0FBTyxFQUNyQixpQkFBaUIsR0FBRyxVQUFVLEVBQ2pDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBRWxCLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQztZQUVwQixRQUFRLElBQUksRUFBRSxDQUFDO2dCQUNYLEtBQUssZ0JBQWdCLENBQUMsT0FBTztvQkFDekIsUUFBUSxHQUFHLEtBQUssQ0FBQztvQkFDakIsTUFBTTtnQkFDVixLQUFLLGdCQUFnQixDQUFDLFNBQVM7b0JBQzNCLFFBQVEsR0FBRyxTQUFTLENBQUM7b0JBQ3JCLE1BQU07Z0JBQ1YsS0FBSyxRQUFRLENBQUMsTUFBTTtvQkFDaEIsUUFBUSxHQUFHLFdBQVcsQ0FBQztvQkFDdkIsTUFBTTtZQUNkLENBQUM7WUFFRCxPQUFPO2dCQUNILENBQUMsRUFBRSxlQUFlLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztnQkFDbEUsQ0FBQyxFQUFFLGdCQUFnQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztnQkFDcEUsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsTUFBTSxFQUFFLElBQUk7Z0JBQ1osSUFBSTtnQkFDSixPQUFPO2dCQUNQLE9BQU87Z0JBQ1AsTUFBTTtnQkFDTixNQUFNO2dCQUNOLFFBQVE7Z0JBQ1IsTUFBTTtnQkFDTixXQUFXO2dCQUNYLGlCQUFpQjtnQkFDakIsa0JBQWtCLEVBQUUsS0FBSztnQkFDekIsU0FBUyxFQUFFLEtBQUs7YUFDbkIsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO0tBQ047K0dBakZZLFdBQVc7bUdBQVgsV0FBVywrTUFWVjs7Ozs7S0FLVCw0REFFUyxXQUFXLDZFQUFFLE9BQU87OzRGQUdyQixXQUFXO2tCQVp2QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxlQUFlO29CQUN6QixRQUFRLEVBQUU7Ozs7O0tBS1Q7b0JBQ0QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUM7b0JBQy9CLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RhZ2VDb25maWcgfSBmcm9tICdrb252YS9saWIvU3RhZ2UnO1xuaW1wb3J0IHsgS29Db250YWluZXIgfSBmcm9tICcuLi8uLi9hbmd1bGFyLWtvbnZhJztcbmltcG9ydCB7IEtvU2hhcGUgfSBmcm9tICcuLi8uLi9hbmd1bGFyLWtvbnZhL2NvbXBvbmVudHMvc2hhcGUuY29tcG9uZW50JztcbmltcG9ydCB7IENoZWNrLCBDb2xvcnMsIERFRkFVTFRfSUNPTl9TSVpFLCBSb3dEcmFnUGF0aCwgVW5jaGVja2VkIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IEFJVGFibGVDaGVja1R5cGUsIEFJVGFibGVJY29uQ29uZmlnIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgRHJhZ1R5cGUgfSBmcm9tICdAYWktdGFibGUvdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FpLXRhYmxlLWljb24nLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxrby1ncm91cCBbY29uZmlnXT1cImdyb3VwQ29uZmlnKClcIj5cbiAgICAgICAgICAgIDxrby1yZWN0IFtjb25maWddPVwic3F1YXJlU2hhcGVDb25maWcoKVwiPjwva28tcmVjdD5cbiAgICAgICAgICAgIDxrby1wYXRoIFtjb25maWddPVwiaWNvbkNvbmZpZygpXCI+PC9rby1wYXRoPlxuICAgICAgICA8L2tvLWdyb3VwPlxuICAgIGAsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbS29Db250YWluZXIsIEtvU2hhcGVdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEFJVGFibGVJY29uIHtcbiAgICBjb25maWcgPSBpbnB1dC5yZXF1aXJlZDxBSVRhYmxlSWNvbkNvbmZpZz4oKTtcblxuICAgIGdyb3VwQ29uZmlnID0gY29tcHV0ZWQ8UGFydGlhbDxTdGFnZUNvbmZpZz4+KCgpID0+IHtcbiAgICAgICAgY29uc3QgeyB4LCB5LCBsaXN0ZW5pbmcgfSA9IHRoaXMuY29uZmlnKCk7XG4gICAgICAgIHJldHVybiB7IHgsIHksIGxpc3RlbmluZyB9O1xuICAgIH0pO1xuXG4gICAgc3F1YXJlU2hhcGVDb25maWcgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICBiYWNrZ3JvdW5kV2lkdGgsXG4gICAgICAgICAgICBiYWNrZ3JvdW5kSGVpZ2h0LFxuICAgICAgICAgICAgc2l6ZSA9IERFRkFVTFRfSUNPTl9TSVpFLFxuICAgICAgICAgICAgc3Ryb2tlV2lkdGggPSAxLFxuICAgICAgICAgICAgYmFja2dyb3VuZCxcbiAgICAgICAgICAgIGNvcm5lclJhZGl1cyxcbiAgICAgICAgICAgIG9wYWNpdHlcbiAgICAgICAgfSA9IHRoaXMuY29uZmlnKCk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgd2lkdGg6IGJhY2tncm91bmRXaWR0aCB8fCBzaXplLFxuICAgICAgICAgICAgaGVpZ2h0OiBiYWNrZ3JvdW5kSGVpZ2h0IHx8IHNpemUsXG4gICAgICAgICAgICBzdHJva2VXaWR0aDogc3Ryb2tlV2lkdGgsXG4gICAgICAgICAgICBmaWxsOiBiYWNrZ3JvdW5kIHx8IENvbG9ycy50cmFuc3BhcmVudCxcbiAgICAgICAgICAgIGNvcm5lclJhZGl1cyxcbiAgICAgICAgICAgIG9wYWNpdHlcbiAgICAgICAgfTtcbiAgICB9KTtcblxuICAgIGljb25Db25maWcgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgYmFja2dyb3VuZFdpZHRoLFxuICAgICAgICAgICAgYmFja2dyb3VuZEhlaWdodCxcbiAgICAgICAgICAgIHNpemUgPSBERUZBVUxUX0lDT05fU0laRSxcbiAgICAgICAgICAgIHN0cm9rZSxcbiAgICAgICAgICAgIHN0cm9rZVdpZHRoID0gMSxcbiAgICAgICAgICAgIHNjYWxlWCxcbiAgICAgICAgICAgIHNjYWxlWSxcbiAgICAgICAgICAgIG9mZnNldFgsXG4gICAgICAgICAgICBvZmZzZXRZLFxuICAgICAgICAgICAgcm90YXRpb24sXG4gICAgICAgICAgICBmaWxsID0gQ29sb3JzLmdyYXk2MDAsXG4gICAgICAgICAgICB0cmFuc2Zvcm1zRW5hYmxlZCA9ICdwb3NpdGlvbidcbiAgICAgICAgfSA9IHRoaXMuY29uZmlnKCk7XG5cbiAgICAgICAgbGV0IHBhdGhEYXRhID0gZGF0YTtcblxuICAgICAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUNoZWNrVHlwZS5jaGVja2VkOlxuICAgICAgICAgICAgICAgIHBhdGhEYXRhID0gQ2hlY2s7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVDaGVja1R5cGUudW5jaGVja2VkOlxuICAgICAgICAgICAgICAgIHBhdGhEYXRhID0gVW5jaGVja2VkO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBEcmFnVHlwZS5yZWNvcmQ6XG4gICAgICAgICAgICAgICAgcGF0aERhdGEgPSBSb3dEcmFnUGF0aDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB4OiBiYWNrZ3JvdW5kV2lkdGggJiYgKGJhY2tncm91bmRXaWR0aCAtIHNpemUgKiAoc2NhbGVYIHx8IDEpKSAvIDIsXG4gICAgICAgICAgICB5OiBiYWNrZ3JvdW5kSGVpZ2h0ICYmIChiYWNrZ3JvdW5kSGVpZ2h0IC0gc2l6ZSAqIChzY2FsZVkgfHwgMSkpIC8gMixcbiAgICAgICAgICAgIGRhdGE6IHBhdGhEYXRhLFxuICAgICAgICAgICAgd2lkdGg6IHNpemUsXG4gICAgICAgICAgICBoZWlnaHQ6IHNpemUsXG4gICAgICAgICAgICBmaWxsLFxuICAgICAgICAgICAgb2Zmc2V0WCxcbiAgICAgICAgICAgIG9mZnNldFksXG4gICAgICAgICAgICBzY2FsZVgsXG4gICAgICAgICAgICBzY2FsZVksXG4gICAgICAgICAgICByb3RhdGlvbixcbiAgICAgICAgICAgIHN0cm9rZSxcbiAgICAgICAgICAgIHN0cm9rZVdpZHRoLFxuICAgICAgICAgICAgdHJhbnNmb3Jtc0VuYWJsZWQsXG4gICAgICAgICAgICBwZXJmZWN0RHJhd0VuYWJsZWQ6IGZhbHNlLFxuICAgICAgICAgICAgbGlzdGVuaW5nOiBmYWxzZVxuICAgICAgICB9O1xuICAgIH0pO1xufVxuIl19
@@ -1,15 +0,0 @@
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
- export * from './cells';
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9yZW5kZXJlci9jb21wb25lbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FkZC1maWVsZC1jb2x1bW4uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY2VsbHMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZmllbGQtaGVhZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9maWVsZC1pY29uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2Zyb3plbi1jZWxscy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9mcm96ZW4taGVhZHMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZnJvemVuLXBsYWNlaG9sZGVyLWNlbGxzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2hlYWRzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2hvdmVyLXJvdy1oZWFkcy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9pY29uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL290aGVyLXJvd3MuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcGxhY2Vob2xkZXItY2VsbHMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdGV4dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jZWxscyc7XG4iXX0=
@@ -1,68 +0,0 @@
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.13", ngImport: i0, type: AITableOtherRows, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
40
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.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: `
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.13", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3RoZXItcm93cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9yZW5kZXJlci9jb21wb25lbnRzL290aGVyLXJvd3MuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFMUQsT0FBTyxFQUF5QixjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBaUJwRSxNQUFNLE9BQU8sZ0JBQWdCO0lBZjdCO1FBZ0JJLFdBQU0sR0FBRyxLQUFLLENBQUMsUUFBUSxFQUF5QixDQUFDO1FBRWpELG1CQUFjLEdBQUcsY0FBYyxDQUFDO1FBRWhDLGlCQUFZLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUN6QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDL0MsQ0FBQyxDQUFDLENBQUM7UUFFSCxvQkFBZSxHQUFHLENBQUMsTUFBNkIsRUFBRSxFQUFFO1lBQ2hELE1BQU0sRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsR0FBRyxNQUFNLENBQUM7WUFDcEUsTUFBTSxlQUFlLEdBQUcsRUFBRSxDQUFDO1lBQzNCLEtBQUssSUFBSSxRQUFRLEdBQUcsYUFBYSxFQUFFLFFBQVEsSUFBSSxZQUFZLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQztnQkFDdEUsSUFBSSxRQUFRLEdBQUcsVUFBVSxDQUFDLFFBQVEsR0FBRyxDQUFDO29CQUFFLE1BQU07Z0JBQzlDLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUksT0FBTyxDQUFDLE9BQTJCLENBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ2xGLElBQUksSUFBSSxLQUFLLGNBQWMsQ0FBQyxNQUFNO29CQUFFLFNBQVM7Z0JBQzdDLE1BQU0sQ0FBQyxHQUFHLFVBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVDLE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBRXBELGVBQWUsQ0FBQyxJQUFJLENBQUM7b0JBQ2pCLElBQUk7b0JBQ0osWUFBWSxFQUFFO3dCQUNWLEdBQUcsRUFBRSxXQUFXLEdBQUcsRUFBRTt3QkFDckIsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDO3dCQUNSLElBQUksRUFBRSx1QkFBdUI7d0JBQzdCLEtBQUssRUFBRSxVQUFVLENBQUMsY0FBYzt3QkFDaEMsTUFBTSxFQUFFLFNBQVMsR0FBRyxDQUFDO3dCQUNyQixJQUFJLEVBQUUsYUFBYTtxQkFDdEI7aUJBQ0osQ0FBQyxDQUFDO1lBQ1AsQ0FBQztZQUNELE9BQU8sZUFBZSxDQUFDO1FBQzNCLENBQUMsQ0FBQztLQUNMOytHQWpDWSxnQkFBZ0I7bUdBQWhCLGdCQUFnQixxTkFiZjs7Ozs7Ozs7S0FRVCw0REFFUyxPQUFPOzs0RkFHUixnQkFBZ0I7a0JBZjVCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsUUFBUSxFQUFFOzs7Ozs7OztLQVFUO29CQUNELFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUM7b0JBQ2xCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgS29TaGFwZSB9IGZyb20gJy4uLy4uL2FuZ3VsYXIta29udmEnO1xuaW1wb3J0IHsgQUlfVEFCTEVfUk9XX0FERF9CVVRUT04gfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgUmVuZGVyZXJDb250ZXh0IH0gZnJvbSAnLi4vLi4vY29yZSc7XG5pbXBvcnQgeyBBSVRhYmxlUm93SGVhZHNDb25maWcsIEFJVGFibGVSb3dUeXBlIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FpLXRhYmxlLW90aGVyLXJvd3MnLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIEBmb3IgKGNvbmZpZyBvZiBvdGhlckNvbmZpZ3MoKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICBAc3dpdGNoIChjb25maWcudHlwZSkge1xuICAgICAgICAgICAgICAgIEBjYXNlIChBSVRhYmxlUm93VHlwZS5hZGQpIHtcbiAgICAgICAgICAgICAgICAgICAgPGtvLXJlY3QgW2NvbmZpZ109XCJjb25maWcuYWRkQnRuQ29uZmlnXCI+PC9rby1yZWN0PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIGAsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbS29TaGFwZV0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQUlUYWJsZU90aGVyUm93cyB7XG4gICAgY29uZmlnID0gaW5wdXQucmVxdWlyZWQ8QUlUYWJsZVJvd0hlYWRzQ29uZmlnPigpO1xuXG4gICAgQUlUYWJsZVJvd1R5cGUgPSBBSVRhYmxlUm93VHlwZTtcblxuICAgIG90aGVyQ29uZmlncyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlT3RoZXJSb3dzKHRoaXMuY29uZmlnKCkpO1xuICAgIH0pO1xuXG4gICAgY3JlYXRlT3RoZXJSb3dzID0gKGNvbmZpZzogQUlUYWJsZVJvd0hlYWRzQ29uZmlnKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgY29vcmRpbmF0ZSwgcm93U3RhcnRJbmRleCwgcm93U3RvcEluZGV4LCBhaVRhYmxlIH0gPSBjb25maWc7XG4gICAgICAgIGNvbnN0IG90aGVyUm93Q29uZmlncyA9IFtdO1xuICAgICAgICBmb3IgKGxldCByb3dJbmRleCA9IHJvd1N0YXJ0SW5kZXg7IHJvd0luZGV4IDw9IHJvd1N0b3BJbmRleDsgcm93SW5kZXgrKykge1xuICAgICAgICAgICAgaWYgKHJvd0luZGV4ID4gY29vcmRpbmF0ZS5yb3dDb3VudCAtIDEpIGJyZWFrO1xuICAgICAgICAgICAgY29uc3QgeyBfaWQsIHR5cGUgfSA9IChhaVRhYmxlLmNvbnRleHQgYXMgUmVuZGVyZXJDb250ZXh0KS5saW5lYXJSb3dzKClbcm93SW5kZXhdO1xuICAgICAgICAgICAgaWYgKHR5cGUgPT09IEFJVGFibGVSb3dUeXBlLnJlY29yZCkgY29udGludWU7XG4gICAgICAgICAgICBjb25zdCB5ID0gY29vcmRpbmF0ZS5nZXRSb3dPZmZzZXQocm93SW5kZXgpO1xuICAgICAgICAgICAgY29uc3QgY3VySGVpZ2h0ID0gY29vcmRpbmF0ZS5nZXRSb3dIZWlnaHQocm93SW5kZXgpO1xuXG4gICAgICAgICAgICBvdGhlclJvd0NvbmZpZ3MucHVzaCh7XG4gICAgICAgICAgICAgICAgdHlwZSxcbiAgICAgICAgICAgICAgICBhZGRCdG5Db25maWc6IHtcbiAgICAgICAgICAgICAgICAgICAga2V5OiBgcm93LWFkZC0ke19pZH1gLFxuICAgICAgICAgICAgICAgICAgICB5OiB5ICsgMSxcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogQUlfVEFCTEVfUk9XX0FERF9CVVRUT04sXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjb29yZGluYXRlLmNvbnRhaW5lcldpZHRoLFxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGN1ckhlaWdodCAtIDEsXG4gICAgICAgICAgICAgICAgICAgIGZpbGw6ICd0cmFuc3BhcmVudCdcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb3RoZXJSb3dDb25maWdzO1xuICAgIH07XG59XG4iXX0=
@@ -1,33 +0,0 @@
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.13", ngImport: i0, type: AITablePlaceholderCells, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.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: `
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.13", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Vob2xkZXItY2VsbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ3JpZC9zcmMvcmVuZGVyZXIvY29tcG9uZW50cy9wbGFjZWhvbGRlci1jZWxscy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUU5QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBYXpELE1BQU0sT0FBTyx1QkFBdUI7SUFYcEM7UUFZSSxXQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBc0IsQ0FBQztRQUU5QyxpQ0FBNEIsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3pDLE9BQU8sMEJBQTBCLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDckQsQ0FBQyxDQUFDLENBQUM7S0FDTjsrR0FOWSx1QkFBdUI7bUdBQXZCLHVCQUF1Qiw0TkFUdEI7Ozs7S0FJVCw0REFFUyxPQUFPOzs0RkFHUix1QkFBdUI7a0JBWG5DLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDRCQUE0QjtvQkFDdEMsUUFBUSxFQUFFOzs7O0tBSVQ7b0JBQ0QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQztvQkFDbEIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBLb1NoYXBlIH0gZnJvbSAnLi4vLi4vYW5ndWxhci1rb252YSc7XG5pbXBvcnQgeyBBSVRhYmxlQ2VsbHNDb25maWcgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBnZXRQbGFjZUhvbGRlckNlbGxzQ29uZmlncyB9IGZyb20gJy4uLy4uL3V0aWxzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhaS10YWJsZS1wbGFjZWhvbGRlci1jZWxscycsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgQGZvciAoaXRlbSBvZiBmcm96ZW5QbGFjZUhvbGRlckNlbGxzQ29uZmlnKCk7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgPGtvLXJlY3QgW2NvbmZpZ109XCJpdGVtXCI+PC9rby1yZWN0PlxuICAgICAgICB9XG4gICAgYCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtLb1NoYXBlXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBBSVRhYmxlUGxhY2Vob2xkZXJDZWxscyB7XG4gICAgY29uZmlnID0gaW5wdXQucmVxdWlyZWQ8QUlUYWJsZUNlbGxzQ29uZmlnPigpO1xuXG4gICAgZnJvemVuUGxhY2VIb2xkZXJDZWxsc0NvbmZpZyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIGdldFBsYWNlSG9sZGVyQ2VsbHNDb25maWdzKHRoaXMuY29uZmlnKCkpO1xuICAgIH0pO1xufVxuIl19
@@ -1,67 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, computed, input, output } from '@angular/core';
2
- import Konva from 'konva';
3
- import { KoShape } from '../../angular-konva/components/shape.component';
4
- import { AI_TABLE_OFFSET, 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';
5
- import * as i0 from "@angular/core";
6
- export class AITableText {
7
- constructor() {
8
- this.config = input.required();
9
- // @Output() koClick = new EventEmitter<KoEventObject<MouseEvent>>();
10
- this.koClick = output();
11
- this.koMouseMove = output();
12
- this.textConfig = computed(() => {
13
- 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();
14
- const tmpText = new Konva.Text({
15
- text,
16
- fontSize,
17
- fontFamily
18
- });
19
- const textBounds = tmpText.getClientRect();
20
- return {
21
- x,
22
- y,
23
- width,
24
- height,
25
- text,
26
- padding,
27
- align,
28
- verticalAlign,
29
- fill,
30
- textDecoration,
31
- fontSize,
32
- fontStyle,
33
- ellipsis,
34
- wrap,
35
- transformsEnabled,
36
- listening,
37
- fontFamily,
38
- hitFunc: function (context) {
39
- context.beginPath();
40
- context.rect(AI_TABLE_OFFSET, (height - textBounds.height) / 2 - AI_TABLE_OFFSET, textBounds.width, textBounds.height);
41
- context.closePath();
42
- context.fillStrokeShape(this);
43
- },
44
- ...rest
45
- };
46
- });
47
- }
48
- onClick(e) {
49
- this.koClick.emit(e);
50
- }
51
- onMousemove(e) {
52
- this.koMouseMove.emit(e);
53
- }
54
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AITableText, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
55
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: AITableText, 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 }); }
56
- }
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AITableText, decorators: [{
58
- type: Component,
59
- args: [{
60
- selector: 'ai-table-text',
61
- template: ` <ko-text [config]="textConfig()" (koClick)="onClick($event)" (koMousemove)="onMousemove($event)"></ko-text> `,
62
- standalone: true,
63
- imports: [KoShape],
64
- changeDetection: ChangeDetectionStrategy.OnPush
65
- }]
66
- }] });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9yZW5kZXJlci9jb21wb25lbnRzL3RleHQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUYsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN6RSxPQUFPLEVBQ0gsZUFBZSxFQUNmLG1CQUFtQixFQUNuQixpQkFBaUIsRUFDakIsa0JBQWtCLEVBQ2xCLHVCQUF1QixFQUN2QixxQkFBcUIsRUFDckIsaUJBQWlCLEVBQ2pCLHNCQUFzQixFQUN0QiwrQkFBK0IsRUFDL0Isa0NBQWtDLEVBQ2xDLGlCQUFpQixFQUNwQixNQUFNLGlCQUFpQixDQUFDOztBQVl6QixNQUFNLE9BQU8sV0FBVztJQVB4QjtRQVFJLFdBQU0sR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFxQixDQUFDO1FBRTdDLHFFQUFxRTtRQUNyRSxZQUFPLEdBQUcsTUFBTSxFQUE2QixDQUFDO1FBRTlDLGdCQUFXLEdBQUcsTUFBTSxFQUE2QixDQUFDO1FBRWxELGVBQVUsR0FBRyxRQUFRLENBQWEsR0FBRyxFQUFFO1lBQ25DLE1BQU0sRUFDRixDQUFDLEVBQ0QsQ0FBQyxFQUNELEtBQUssRUFDTCxNQUFNLEVBQ04sSUFBSSxFQUNKLE9BQU8sRUFDUCxLQUFLLEdBQUcsdUJBQXVCLEVBQy9CLGFBQWEsR0FBRyxrQ0FBa0MsRUFDbEQsSUFBSSxHQUFHLGlCQUFpQixFQUN4QixjQUFjLEVBQ2QsUUFBUSxHQUFHLGlCQUFpQixFQUM1QixTQUFTLEdBQUcsa0JBQWtCLEVBQzlCLFFBQVEsR0FBRyxxQkFBcUIsRUFDaEMsSUFBSSxHQUFHLGlCQUFpQixFQUN4QixpQkFBaUIsR0FBRywrQkFBK0IsRUFDbkQsU0FBUyxHQUFHLHNCQUFzQixFQUNsQyxVQUFVLEdBQUcsbUJBQW1CLEVBQ2hDLEdBQUcsSUFBSSxFQUNWLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2xCLE1BQU0sT0FBTyxHQUFHLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQztnQkFDM0IsSUFBSTtnQkFDSixRQUFRO2dCQUNSLFVBQVU7YUFDYixDQUFDLENBQUM7WUFDSCxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDM0MsT0FBTztnQkFDSCxDQUFDO2dCQUNELENBQUM7Z0JBQ0QsS0FBSztnQkFDTCxNQUFNO2dCQUNOLElBQUk7Z0JBQ0osT0FBTztnQkFDUCxLQUFLO2dCQUNMLGFBQWE7Z0JBQ2IsSUFBSTtnQkFDSixjQUFjO2dCQUNkLFFBQVE7Z0JBQ1IsU0FBUztnQkFDVCxRQUFRO2dCQUNSLElBQUk7Z0JBQ0osaUJBQWlCO2dCQUNqQixTQUFTO2dCQUNULFVBQVU7Z0JBQ1YsT0FBTyxFQUFFLFVBQVUsT0FBZ0I7b0JBQy9CLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQztvQkFDcEIsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxNQUFPLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxlQUFlLEVBQUUsVUFBVSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ3hILE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQztvQkFDcEIsT0FBTyxDQUFDLGVBQWUsQ0FBQyxJQUFXLENBQUMsQ0FBQztnQkFDekMsQ0FBQztnQkFDRCxHQUFHLElBQUk7YUFDVixDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7S0FRTjtJQU5HLE9BQU8sQ0FBQyxDQUE0QjtRQUNoQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBQ0QsV0FBVyxDQUFDLENBQTRCO1FBQ3BDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdCLENBQUM7K0dBcEVRLFdBQVc7bUdBQVgsV0FBVyw0UUFMViwrR0FBK0csNERBRS9HLE9BQU87OzRGQUdSLFdBQVc7a0JBUHZCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFFBQVEsRUFBRSwrR0FBK0c7b0JBQ3pILFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUM7b0JBQ2xCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBpbnB1dCwgb3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgS29udmEgZnJvbSAna29udmEnO1xuaW1wb3J0IHsgS29TaGFwZSB9IGZyb20gJy4uLy4uL2FuZ3VsYXIta29udmEvY29tcG9uZW50cy9zaGFwZS5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgICBBSV9UQUJMRV9PRkZTRVQsXG4gICAgREVGQVVMVF9GT05UX0ZBTUlMWSxcbiAgICBERUZBVUxUX0ZPTlRfU0laRSxcbiAgICBERUZBVUxUX0ZPTlRfU1RZTEUsXG4gICAgREVGQVVMVF9URVhUX0FMSUdOX0xFRlQsXG4gICAgREVGQVVMVF9URVhUX0VMTElQU0lTLFxuICAgIERFRkFVTFRfVEVYVF9GSUxMLFxuICAgIERFRkFVTFRfVEVYVF9MSVNURU5JTkcsXG4gICAgREVGQVVMVF9URVhUX1RSQU5TRk9STVNfRU5BQkxFRCxcbiAgICBERUZBVUxUX1RFWFRfVkVSVElDQUxfQUxJR05fTUlERExFLFxuICAgIERFRkFVTFRfVEVYVF9XUkFQXG59IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBLb0V2ZW50T2JqZWN0IH0gZnJvbSAnLi4vLi4vYW5ndWxhci1rb252YSc7XG5pbXBvcnQgeyBUZXh0Q29uZmlnIH0gZnJvbSAna29udmEvbGliL3NoYXBlcy9UZXh0JztcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tICdrb252YS9saWIvQ29udGV4dCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYWktdGFibGUtdGV4dCcsXG4gICAgdGVtcGxhdGU6IGAgPGtvLXRleHQgW2NvbmZpZ109XCJ0ZXh0Q29uZmlnKClcIiAoa29DbGljayk9XCJvbkNsaWNrKCRldmVudClcIiAoa29Nb3VzZW1vdmUpPVwib25Nb3VzZW1vdmUoJGV2ZW50KVwiPjwva28tdGV4dD4gYCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtLb1NoYXBlXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBBSVRhYmxlVGV4dCB7XG4gICAgY29uZmlnID0gaW5wdXQucmVxdWlyZWQ8S29udmEuU2hhcGVDb25maWc+KCk7XG5cbiAgICAvLyBAT3V0cHV0KCkga29DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8S29FdmVudE9iamVjdDxNb3VzZUV2ZW50Pj4oKTtcbiAgICBrb0NsaWNrID0gb3V0cHV0PEtvRXZlbnRPYmplY3Q8TW91c2VFdmVudD4+KCk7XG5cbiAgICBrb01vdXNlTW92ZSA9IG91dHB1dDxLb0V2ZW50T2JqZWN0PE1vdXNlRXZlbnQ+PigpO1xuXG4gICAgdGV4dENvbmZpZyA9IGNvbXB1dGVkPFRleHRDb25maWc+KCgpID0+IHtcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgeCxcbiAgICAgICAgICAgIHksXG4gICAgICAgICAgICB3aWR0aCxcbiAgICAgICAgICAgIGhlaWdodCxcbiAgICAgICAgICAgIHRleHQsXG4gICAgICAgICAgICBwYWRkaW5nLFxuICAgICAgICAgICAgYWxpZ24gPSBERUZBVUxUX1RFWFRfQUxJR05fTEVGVCxcbiAgICAgICAgICAgIHZlcnRpY2FsQWxpZ24gPSBERUZBVUxUX1RFWFRfVkVSVElDQUxfQUxJR05fTUlERExFLFxuICAgICAgICAgICAgZmlsbCA9IERFRkFVTFRfVEVYVF9GSUxMLFxuICAgICAgICAgICAgdGV4dERlY29yYXRpb24sXG4gICAgICAgICAgICBmb250U2l6ZSA9IERFRkFVTFRfRk9OVF9TSVpFLFxuICAgICAgICAgICAgZm9udFN0eWxlID0gREVGQVVMVF9GT05UX1NUWUxFLFxuICAgICAgICAgICAgZWxsaXBzaXMgPSBERUZBVUxUX1RFWFRfRUxMSVBTSVMsXG4gICAgICAgICAgICB3cmFwID0gREVGQVVMVF9URVhUX1dSQVAsXG4gICAgICAgICAgICB0cmFuc2Zvcm1zRW5hYmxlZCA9IERFRkFVTFRfVEVYVF9UUkFOU0ZPUk1TX0VOQUJMRUQsXG4gICAgICAgICAgICBsaXN0ZW5pbmcgPSBERUZBVUxUX1RFWFRfTElTVEVOSU5HLFxuICAgICAgICAgICAgZm9udEZhbWlseSA9IERFRkFVTFRfRk9OVF9GQU1JTFksXG4gICAgICAgICAgICAuLi5yZXN0XG4gICAgICAgIH0gPSB0aGlzLmNvbmZpZygpO1xuICAgICAgICBjb25zdCB0bXBUZXh0ID0gbmV3IEtvbnZhLlRleHQoe1xuICAgICAgICAgICAgdGV4dCxcbiAgICAgICAgICAgIGZvbnRTaXplLFxuICAgICAgICAgICAgZm9udEZhbWlseVxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgdGV4dEJvdW5kcyA9IHRtcFRleHQuZ2V0Q2xpZW50UmVjdCgpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgeCxcbiAgICAgICAgICAgIHksXG4gICAgICAgICAgICB3aWR0aCxcbiAgICAgICAgICAgIGhlaWdodCxcbiAgICAgICAgICAgIHRleHQsXG4gICAgICAgICAgICBwYWRkaW5nLFxuICAgICAgICAgICAgYWxpZ24sXG4gICAgICAgICAgICB2ZXJ0aWNhbEFsaWduLFxuICAgICAgICAgICAgZmlsbCxcbiAgICAgICAgICAgIHRleHREZWNvcmF0aW9uLFxuICAgICAgICAgICAgZm9udFNpemUsXG4gICAgICAgICAgICBmb250U3R5bGUsXG4gICAgICAgICAgICBlbGxpcHNpcyxcbiAgICAgICAgICAgIHdyYXAsXG4gICAgICAgICAgICB0cmFuc2Zvcm1zRW5hYmxlZCxcbiAgICAgICAgICAgIGxpc3RlbmluZyxcbiAgICAgICAgICAgIGZvbnRGYW1pbHksXG4gICAgICAgICAgICBoaXRGdW5jOiBmdW5jdGlvbiAoY29udGV4dDogQ29udGV4dCkge1xuICAgICAgICAgICAgICAgIGNvbnRleHQuYmVnaW5QYXRoKCk7XG4gICAgICAgICAgICAgICAgY29udGV4dC5yZWN0KEFJX1RBQkxFX09GRlNFVCwgKGhlaWdodCEgLSB0ZXh0Qm91bmRzLmhlaWdodCkgLyAyIC0gQUlfVEFCTEVfT0ZGU0VULCB0ZXh0Qm91bmRzLndpZHRoLCB0ZXh0Qm91bmRzLmhlaWdodCk7XG4gICAgICAgICAgICAgICAgY29udGV4dC5jbG9zZVBhdGgoKTtcbiAgICAgICAgICAgICAgICBjb250ZXh0LmZpbGxTdHJva2VTaGFwZSh0aGlzIGFzIGFueSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgLi4ucmVzdFxuICAgICAgICB9O1xuICAgIH0pO1xuXG4gICAgb25DbGljayhlOiBLb0V2ZW50T2JqZWN0PE1vdXNlRXZlbnQ+KSB7XG4gICAgICAgIHRoaXMua29DbGljay5lbWl0KGUpO1xuICAgIH1cbiAgICBvbk1vdXNlbW92ZShlOiBLb0V2ZW50T2JqZWN0PE1vdXNlRXZlbnQ+KSB7XG4gICAgICAgIHRoaXMua29Nb3VzZU1vdmUuZW1pdChlKTtcbiAgICB9XG59XG4iXX0=
@@ -1,70 +0,0 @@
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 (Array.isArray(activeCell) &&
16
- !!activeCell.length &&
17
- aiTable.context.visibleRowsIndexMap().has(activeCell[0]) &&
18
- aiTable.context.visibleColumnsIndexMap().has(activeCell[1])) {
19
- const fieldId = activeCell[1];
20
- const { rowIndex, columnIndex } = AITable.getCellIndex(aiTable, activeCell);
21
- const checkIsVisible = (rowIndex, columnIndex) => {
22
- if (columnIndex < frozenColumnCount) {
23
- return true;
24
- }
25
- return (rowIndex >= rowStartIndex && rowIndex <= rowStopIndex && columnIndex >= columnStartIndex && columnIndex <= columnStopIndex);
26
- };
27
- if (rowIndex != null && columnIndex != null && checkIsVisible(rowIndex, columnIndex)) {
28
- const { type } = linearRows()[rowIndex];
29
- if (type === AITableRowType.record) {
30
- const activeField = visibleColumns.find((field) => field._id === fieldId);
31
- if (activeField == null) {
32
- return {
33
- activeCellBorder,
34
- frozenActiveCellBorder
35
- };
36
- }
37
- const x = coordinate.getColumnOffset(columnIndex);
38
- const y = coordinate.getRowOffset(rowIndex);
39
- const columnWidth = coordinate.getColumnWidth(columnIndex);
40
- const isFrozenColumn = columnIndex < frozenColumnCount;
41
- const { offset, width } = getCellHorizontalPosition({
42
- columnWidth,
43
- columnIndex,
44
- columnCount: totalColumnCount
45
- });
46
- const currentConfig = {
47
- x: x + offset + AI_TABLE_OFFSET,
48
- y: y + AI_TABLE_OFFSET,
49
- width: width - AI_TABLE_CELL_BORDER / 2,
50
- height: rowHeight - AI_TABLE_CELL_BORDER / 2,
51
- strokeWidth: AI_TABLE_CELL_BORDER,
52
- stroke: colors.primary,
53
- fillEnabled: false,
54
- listening: false
55
- };
56
- if (isFrozenColumn) {
57
- frozenActiveCellBorder = currentConfig;
58
- }
59
- else {
60
- activeCellBorder = currentConfig;
61
- }
62
- }
63
- }
64
- }
65
- return {
66
- activeCellBorder,
67
- frozenActiveCellBorder
68
- };
69
- };
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWFjdGl2ZS1jZWxsLWJvcmRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL3JlbmRlcmVyL2NyZWF0aW9ucy9jcmVhdGUtYWN0aXZlLWNlbGwtYm9yZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3JDLE9BQU8sRUFBc0IsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV4RCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLE1BQTBCLEVBQUUsRUFBRTtJQUNqRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUN2RyxNQUFNLEVBQUUsVUFBVSxFQUFFLEdBQUcsT0FBTyxDQUFDLE9BQVEsQ0FBQztJQUN4QyxNQUFNLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLEdBQUcsVUFBVSxDQUFDO0lBQ3BELE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQyxNQUFNLGNBQWMsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDekQsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNsRCxNQUFNLGdCQUFnQixHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUM7SUFFL0MsSUFBSSxnQkFBZ0IsR0FBc0IsSUFBSSxDQUFDO0lBQy9DLElBQUksc0JBQXNCLEdBQXNCLElBQUksQ0FBQztJQUVyRCxJQUNJLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTTtRQUNuQixPQUFPLENBQUMsT0FBUSxDQUFDLG1CQUFtQixFQUFFLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6RCxPQUFPLENBQUMsT0FBUSxDQUFDLHNCQUFzQixFQUFFLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUM5RCxDQUFDO1FBQ0MsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlCLE1BQU0sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFFLENBQUM7UUFFN0UsTUFBTSxjQUFjLEdBQUcsQ0FBQyxRQUFnQixFQUFFLFdBQW1CLEVBQUUsRUFBRTtZQUM3RCxJQUFJLFdBQVcsR0FBRyxpQkFBaUIsRUFBRSxDQUFDO2dCQUNsQyxPQUFPLElBQUksQ0FBQztZQUNoQixDQUFDO1lBQ0QsT0FBTyxDQUNILFFBQVEsSUFBSSxhQUFhLElBQUksUUFBUSxJQUFJLFlBQVksSUFBSSxXQUFXLElBQUksZ0JBQWdCLElBQUksV0FBVyxJQUFJLGVBQWUsQ0FDN0gsQ0FBQztRQUNOLENBQUMsQ0FBQztRQUVGLElBQUksUUFBUSxJQUFJLElBQUksSUFBSSxXQUFXLElBQUksSUFBSSxJQUFJLGNBQWMsQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUNuRixNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFeEMsSUFBSSxJQUFJLEtBQUssY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNqQyxNQUFNLFdBQVcsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLE9BQU8sQ0FBQyxDQUFDO2dCQUMxRSxJQUFJLFdBQVcsSUFBSSxJQUFJLEVBQUUsQ0FBQztvQkFDdEIsT0FBTzt3QkFDSCxnQkFBZ0I7d0JBQ2hCLHNCQUFzQjtxQkFDekIsQ0FBQztnQkFDTixDQUFDO2dCQUVELE1BQU0sQ0FBQyxHQUFHLFVBQVUsQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQ2xELE1BQU0sQ0FBQyxHQUFHLFVBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVDLE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQzNELE1BQU0sY0FBYyxHQUFHLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQztnQkFDdkQsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyx5QkFBeUIsQ0FBQztvQkFDaEQsV0FBVztvQkFDWCxXQUFXO29CQUNYLFdBQVcsRUFBRSxnQkFBZ0I7aUJBQ2hDLENBQUMsQ0FBQztnQkFDSCxNQUFNLGFBQWEsR0FBRztvQkFDbEIsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLEdBQUcsZUFBZTtvQkFDL0IsQ0FBQyxFQUFFLENBQUMsR0FBRyxlQUFlO29CQUN0QixLQUFLLEVBQUUsS0FBSyxHQUFHLG9CQUFvQixHQUFHLENBQUM7b0JBQ3ZDLE1BQU0sRUFBRSxTQUFTLEdBQUcsb0JBQW9CLEdBQUcsQ0FBQztvQkFDNUMsV0FBVyxFQUFFLG9CQUFvQjtvQkFDakMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxPQUFPO29CQUN0QixXQUFXLEVBQUUsS0FBSztvQkFDbEIsU0FBUyxFQUFFLEtBQUs7aUJBQ25CLENBQUM7Z0JBRUYsSUFBSSxjQUFjLEVBQUUsQ0FBQztvQkFDakIsc0JBQXNCLEdBQUcsYUFBYSxDQUFDO2dCQUMzQyxDQUFDO3FCQUFNLENBQUM7b0JBQ0osZ0JBQWdCLEdBQUcsYUFBYSxDQUFDO2dCQUNyQyxDQUFDO1lBQ0wsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTztRQUNILGdCQUFnQjtRQUNoQixzQkFBc0I7S0FDekIsQ0FBQztBQUNOLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlY3RDb25maWcgfSBmcm9tICdrb252YS9saWIvc2hhcGVzL1JlY3QnO1xuaW1wb3J0IHsgQUlfVEFCTEVfQ0VMTF9CT1JERVIsIEFJX1RBQkxFX09GRlNFVCB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBBSVRhYmxlIH0gZnJvbSAnLi4vLi4vY29yZSc7XG5pbXBvcnQgeyBBSVRhYmxlQ2VsbHNDb25maWcsIEFJVGFibGVSb3dUeXBlIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgZ2V0Q2VsbEhvcml6b250YWxQb3NpdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxzJztcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUFjdGl2ZUNlbGxCb3JkZXIgPSAoY29uZmlnOiBBSVRhYmxlQ2VsbHNDb25maWcpID0+IHtcbiAgICBjb25zdCB7IGFpVGFibGUsIGNvb3JkaW5hdGUsIGNvbHVtblN0YXJ0SW5kZXgsIGNvbHVtblN0b3BJbmRleCwgcm93U3RhcnRJbmRleCwgcm93U3RvcEluZGV4IH0gPSBjb25maWc7XG4gICAgY29uc3QgeyBsaW5lYXJSb3dzIH0gPSBhaVRhYmxlLmNvbnRleHQhO1xuICAgIGNvbnN0IHsgcm93SGVpZ2h0LCBmcm96ZW5Db2x1bW5Db3VudCB9ID0gY29vcmRpbmF0ZTtcbiAgICBjb25zdCBjb2xvcnMgPSBBSVRhYmxlLmdldENvbG9ycygpO1xuICAgIGNvbnN0IHZpc2libGVDb2x1bW5zID0gQUlUYWJsZS5nZXRWaXNpYmxlRmllbGRzKGFpVGFibGUpO1xuICAgIGNvbnN0IGFjdGl2ZUNlbGwgPSBBSVRhYmxlLmdldEFjdGl2ZUNlbGwoYWlUYWJsZSk7XG4gICAgY29uc3QgdG90YWxDb2x1bW5Db3VudCA9IHZpc2libGVDb2x1bW5zLmxlbmd0aDtcblxuICAgIGxldCBhY3RpdmVDZWxsQm9yZGVyOiBSZWN0Q29uZmlnIHwgbnVsbCA9IG51bGw7XG4gICAgbGV0IGZyb3plbkFjdGl2ZUNlbGxCb3JkZXI6IFJlY3RDb25maWcgfCBudWxsID0gbnVsbDtcblxuICAgIGlmIChcbiAgICAgICAgQXJyYXkuaXNBcnJheShhY3RpdmVDZWxsKSAmJlxuICAgICAgICAhIWFjdGl2ZUNlbGwubGVuZ3RoICYmXG4gICAgICAgIGFpVGFibGUuY29udGV4dCEudmlzaWJsZVJvd3NJbmRleE1hcCgpLmhhcyhhY3RpdmVDZWxsWzBdKSAmJlxuICAgICAgICBhaVRhYmxlLmNvbnRleHQhLnZpc2libGVDb2x1bW5zSW5kZXhNYXAoKS5oYXMoYWN0aXZlQ2VsbFsxXSlcbiAgICApIHtcbiAgICAgICAgY29uc3QgZmllbGRJZCA9IGFjdGl2ZUNlbGxbMV07XG4gICAgICAgIGNvbnN0IHsgcm93SW5kZXgsIGNvbHVtbkluZGV4IH0gPSBBSVRhYmxlLmdldENlbGxJbmRleChhaVRhYmxlLCBhY3RpdmVDZWxsKSE7XG5cbiAgICAgICAgY29uc3QgY2hlY2tJc1Zpc2libGUgPSAocm93SW5kZXg6IG51bWJlciwgY29sdW1uSW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgaWYgKGNvbHVtbkluZGV4IDwgZnJvemVuQ29sdW1uQ291bnQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgcm93SW5kZXggPj0gcm93U3RhcnRJbmRleCAmJiByb3dJbmRleCA8PSByb3dTdG9wSW5kZXggJiYgY29sdW1uSW5kZXggPj0gY29sdW1uU3RhcnRJbmRleCAmJiBjb2x1bW5JbmRleCA8PSBjb2x1bW5TdG9wSW5kZXhcbiAgICAgICAgICAgICk7XG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKHJvd0luZGV4ICE9IG51bGwgJiYgY29sdW1uSW5kZXggIT0gbnVsbCAmJiBjaGVja0lzVmlzaWJsZShyb3dJbmRleCwgY29sdW1uSW5kZXgpKSB7XG4gICAgICAgICAgICBjb25zdCB7IHR5cGUgfSA9IGxpbmVhclJvd3MoKVtyb3dJbmRleF07XG5cbiAgICAgICAgICAgIGlmICh0eXBlID09PSBBSVRhYmxlUm93VHlwZS5yZWNvcmQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBhY3RpdmVGaWVsZCA9IHZpc2libGVDb2x1bW5zLmZpbmQoKGZpZWxkKSA9PiBmaWVsZC5faWQgPT09IGZpZWxkSWQpO1xuICAgICAgICAgICAgICAgIGlmIChhY3RpdmVGaWVsZCA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmVDZWxsQm9yZGVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgZnJvemVuQWN0aXZlQ2VsbEJvcmRlclxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IHggPSBjb29yZGluYXRlLmdldENvbHVtbk9mZnNldChjb2x1bW5JbmRleCk7XG4gICAgICAgICAgICAgICAgY29uc3QgeSA9IGNvb3JkaW5hdGUuZ2V0Um93T2Zmc2V0KHJvd0luZGV4KTtcbiAgICAgICAgICAgICAgICBjb25zdCBjb2x1bW5XaWR0aCA9IGNvb3JkaW5hdGUuZ2V0Q29sdW1uV2lkdGgoY29sdW1uSW5kZXgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGlzRnJvemVuQ29sdW1uID0gY29sdW1uSW5kZXggPCBmcm96ZW5Db2x1bW5Db3VudDtcbiAgICAgICAgICAgICAgICBjb25zdCB7IG9mZnNldCwgd2lkdGggfSA9IGdldENlbGxIb3Jpem9udGFsUG9zaXRpb24oe1xuICAgICAgICAgICAgICAgICAgICBjb2x1bW5XaWR0aCxcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uSW5kZXgsXG4gICAgICAgICAgICAgICAgICAgIGNvbHVtbkNvdW50OiB0b3RhbENvbHVtbkNvdW50XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgY29uc3QgY3VycmVudENvbmZpZyA9IHtcbiAgICAgICAgICAgICAgICAgICAgeDogeCArIG9mZnNldCArIEFJX1RBQkxFX09GRlNFVCxcbiAgICAgICAgICAgICAgICAgICAgeTogeSArIEFJX1RBQkxFX09GRlNFVCxcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHdpZHRoIC0gQUlfVEFCTEVfQ0VMTF9CT1JERVIgLyAyLFxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHJvd0hlaWdodCAtIEFJX1RBQkxFX0NFTExfQk9SREVSIC8gMixcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg6IEFJX1RBQkxFX0NFTExfQk9SREVSLFxuICAgICAgICAgICAgICAgICAgICBzdHJva2U6IGNvbG9ycy5wcmltYXJ5LFxuICAgICAgICAgICAgICAgICAgICBmaWxsRW5hYmxlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIGxpc3RlbmluZzogZmFsc2VcbiAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgaWYgKGlzRnJvemVuQ29sdW1uKSB7XG4gICAgICAgICAgICAgICAgICAgIGZyb3plbkFjdGl2ZUNlbGxCb3JkZXIgPSBjdXJyZW50Q29uZmlnO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGFjdGl2ZUNlbGxCb3JkZXIgPSBjdXJyZW50Q29uZmlnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAgIGFjdGl2ZUNlbGxCb3JkZXIsXG4gICAgICAgIGZyb3plbkFjdGl2ZUNlbGxCb3JkZXJcbiAgICB9O1xufTtcbiJdfQ==