@ai-table/grid 0.0.73 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (234) 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 +347 -317
  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 +7 -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/select.d.ts +4 -1
  81. package/utils/field/model/select.d.ts.map +1 -1
  82. package/utils/field/model/text.d.ts.map +1 -1
  83. package/utils/get-text-width.d.ts.map +1 -1
  84. package/utils/i18n.d.ts +2 -0
  85. package/utils/i18n.d.ts.map +1 -1
  86. package/utils/match-keywords.d.ts.map +1 -1
  87. package/utils/position.d.ts.map +1 -1
  88. package/utils/style.d.ts.map +1 -1
  89. package/utils/text-measure.d.ts.map +1 -1
  90. package/utils/visible-range.d.ts.map +1 -1
  91. package/esm2022/ai-table-grid.mjs +0 -5
  92. package/esm2022/angular-konva/components/container.component.mjs +0 -29
  93. package/esm2022/angular-konva/components/container.token.mjs +0 -3
  94. package/esm2022/angular-konva/components/index.mjs +0 -4
  95. package/esm2022/angular-konva/components/shape.component.mjs +0 -142
  96. package/esm2022/angular-konva/components/stage.component.mjs +0 -123
  97. package/esm2022/angular-konva/index.mjs +0 -5
  98. package/esm2022/angular-konva/interfaces/component.mjs +0 -4
  99. package/esm2022/angular-konva/interfaces/config.mjs +0 -2
  100. package/esm2022/angular-konva/interfaces/event-object.mjs +0 -2
  101. package/esm2022/angular-konva/interfaces/index.mjs +0 -5
  102. package/esm2022/angular-konva/interfaces/shape.mjs +0 -42
  103. package/esm2022/angular-konva/utils/apply-node-props.mjs +0 -67
  104. package/esm2022/angular-konva/utils/common.mjs +0 -48
  105. package/esm2022/angular-konva/utils/index.mjs +0 -5
  106. package/esm2022/angular-konva/utils/types.mjs +0 -2
  107. package/esm2022/angular-konva/utils/update-picture.mjs +0 -7
  108. package/esm2022/components/cell-editors/abstract-cell-editor.component.mjs +0 -56
  109. package/esm2022/components/cell-editors/date/date-editor.component.mjs +0 -87
  110. package/esm2022/components/cell-editors/link/edit-link/edit-link.component.mjs +0 -81
  111. package/esm2022/components/cell-editors/link/link-editor.component.mjs +0 -122
  112. package/esm2022/components/cell-editors/number/number-editor.component.mjs +0 -41
  113. package/esm2022/components/cell-editors/select/select-editor.component.mjs +0 -74
  114. package/esm2022/components/cell-editors/text/text-editor.component.mjs +0 -76
  115. package/esm2022/components/cell-views/select/option.component.mjs +0 -28
  116. package/esm2022/components/context-menu/context-menu.component.mjs +0 -42
  117. package/esm2022/components/drag/drag.component.mjs +0 -300
  118. package/esm2022/components/field-menu/field-menu.component.mjs +0 -47
  119. package/esm2022/components/field-setting/field-setting.component.mjs +0 -142
  120. package/esm2022/components/index.mjs +0 -10
  121. package/esm2022/constants/colors.mjs +0 -19
  122. package/esm2022/constants/editor.mjs +0 -11
  123. package/esm2022/constants/file-icon.mjs +0 -342
  124. package/esm2022/constants/grid.mjs +0 -35
  125. package/esm2022/constants/icon.mjs +0 -30
  126. package/esm2022/constants/index.mjs +0 -7
  127. package/esm2022/constants/table.mjs +0 -78
  128. package/esm2022/constants/text.mjs +0 -23
  129. package/esm2022/core/constants/field.mjs +0 -107
  130. package/esm2022/core/context.mjs +0 -29
  131. package/esm2022/core/coordinate.mjs +0 -222
  132. package/esm2022/core/index.mjs +0 -6
  133. package/esm2022/core/types/ai-table.mjs +0 -57
  134. package/esm2022/core/types/core.mjs +0 -2
  135. package/esm2022/core/types/index.mjs +0 -3
  136. package/esm2022/core/utils/common.mjs +0 -45
  137. package/esm2022/core/utils/field.mjs +0 -64
  138. package/esm2022/core/utils/id-creator.mjs +0 -21
  139. package/esm2022/core/utils/index.mjs +0 -5
  140. package/esm2022/core/utils/queries.mjs +0 -80
  141. package/esm2022/core/utils/short-id.mjs +0 -53
  142. package/esm2022/dom-grid.component.mjs +0 -80
  143. package/esm2022/grid-base.component.mjs +0 -145
  144. package/esm2022/grid.component.mjs +0 -649
  145. package/esm2022/index.mjs +0 -2
  146. package/esm2022/pipes/grid.pipe.mjs +0 -110
  147. package/esm2022/pipes/index.mjs +0 -2
  148. package/esm2022/public-api.mjs +0 -12
  149. package/esm2022/renderer/components/action-icon.component.mjs +0 -117
  150. package/esm2022/renderer/components/add-field-column.component.mjs +0 -88
  151. package/esm2022/renderer/components/cells/attachment.component.mjs +0 -107
  152. package/esm2022/renderer/components/cells/cells.mjs +0 -6
  153. package/esm2022/renderer/components/cells/index.mjs +0 -7
  154. package/esm2022/renderer/components/cells/link.component.mjs +0 -89
  155. package/esm2022/renderer/components/cells/progress.component.mjs +0 -268
  156. package/esm2022/renderer/components/cells/rate.component.mjs +0 -153
  157. package/esm2022/renderer/components/cells/rich-text.component.mjs +0 -95
  158. package/esm2022/renderer/components/cells.component.mjs +0 -35
  159. package/esm2022/renderer/components/field-head.component.mjs +0 -146
  160. package/esm2022/renderer/components/field-icon.component.mjs +0 -72
  161. package/esm2022/renderer/components/frozen-cells.component.mjs +0 -36
  162. package/esm2022/renderer/components/frozen-heads.component.mjs +0 -214
  163. package/esm2022/renderer/components/frozen-placeholder-cells.component.mjs +0 -38
  164. package/esm2022/renderer/components/heads.component.mjs +0 -38
  165. package/esm2022/renderer/components/hover-cell.component.mjs +0 -104
  166. package/esm2022/renderer/components/hover-row-heads.component.mjs +0 -132
  167. package/esm2022/renderer/components/icon.component.mjs +0 -84
  168. package/esm2022/renderer/components/index.mjs +0 -15
  169. package/esm2022/renderer/components/other-rows.component.mjs +0 -68
  170. package/esm2022/renderer/components/placeholder-cells.component.mjs +0 -33
  171. package/esm2022/renderer/components/text.component.mjs +0 -67
  172. package/esm2022/renderer/creations/create-active-cell-border.mjs +0 -70
  173. package/esm2022/renderer/creations/create-cells.mjs +0 -190
  174. package/esm2022/renderer/creations/create-heads.mjs +0 -51
  175. package/esm2022/renderer/drawers/add-row-layout-drawer.mjs +0 -98
  176. package/esm2022/renderer/drawers/cell-drawer.mjs +0 -673
  177. package/esm2022/renderer/drawers/drawer.mjs +0 -947
  178. package/esm2022/renderer/drawers/layout-drawer.mjs +0 -64
  179. package/esm2022/renderer/drawers/record-row-layout-drawer.mjs +0 -131
  180. package/esm2022/renderer/index.mjs +0 -4
  181. package/esm2022/renderer/interfaces/hover-cell.mjs +0 -4
  182. package/esm2022/renderer/interfaces/index.mjs +0 -2
  183. package/esm2022/renderer/renderer.component.mjs +0 -197
  184. package/esm2022/services/event.service.mjs +0 -241
  185. package/esm2022/services/field.service.mjs +0 -56
  186. package/esm2022/services/index.mjs +0 -4
  187. package/esm2022/services/selection.service.mjs +0 -151
  188. package/esm2022/types/avatar.mjs +0 -27
  189. package/esm2022/types/canvas.mjs +0 -2
  190. package/esm2022/types/cell.mjs +0 -2
  191. package/esm2022/types/clipboard.mjs +0 -2
  192. package/esm2022/types/component-config.mjs +0 -7
  193. package/esm2022/types/field.mjs +0 -2
  194. package/esm2022/types/grid.mjs +0 -17
  195. package/esm2022/types/index.mjs +0 -10
  196. package/esm2022/types/layout.mjs +0 -2
  197. package/esm2022/types/row.mjs +0 -6
  198. package/esm2022/utils/build.mjs +0 -39
  199. package/esm2022/utils/cell.mjs +0 -80
  200. package/esm2022/utils/clear-cells.mjs +0 -23
  201. package/esm2022/utils/clipboard/clipboard.mjs +0 -88
  202. package/esm2022/utils/clipboard/copy.mjs +0 -99
  203. package/esm2022/utils/clipboard/extract.mjs +0 -38
  204. package/esm2022/utils/clipboard/index.mjs +0 -5
  205. package/esm2022/utils/clipboard/paste.mjs +0 -188
  206. package/esm2022/utils/common.mjs +0 -50
  207. package/esm2022/utils/field/field-operable.mjs +0 -2
  208. package/esm2022/utils/field/field.mjs +0 -20
  209. package/esm2022/utils/field/index.mjs +0 -4
  210. package/esm2022/utils/field/model/attachment.mjs +0 -56
  211. package/esm2022/utils/field/model/date.mjs +0 -141
  212. package/esm2022/utils/field/model/index.mjs +0 -12
  213. package/esm2022/utils/field/model/link.mjs +0 -56
  214. package/esm2022/utils/field/model/member.mjs +0 -81
  215. package/esm2022/utils/field/model/number.mjs +0 -59
  216. package/esm2022/utils/field/model/progress.mjs +0 -69
  217. package/esm2022/utils/field/model/rate.mjs +0 -58
  218. package/esm2022/utils/field/model/rich-text.mjs +0 -39
  219. package/esm2022/utils/field/model/select.mjs +0 -131
  220. package/esm2022/utils/field/model/text.mjs +0 -32
  221. package/esm2022/utils/field/operate.mjs +0 -73
  222. package/esm2022/utils/file.mjs +0 -116
  223. package/esm2022/utils/get-placeholder-cells.mjs +0 -66
  224. package/esm2022/utils/get-text-width.mjs +0 -30
  225. package/esm2022/utils/hover-cell.mjs +0 -25
  226. package/esm2022/utils/i18n.mjs +0 -87
  227. package/esm2022/utils/image-cache.mjs +0 -57
  228. package/esm2022/utils/index.mjs +0 -19
  229. package/esm2022/utils/match-keywords.mjs +0 -15
  230. package/esm2022/utils/os.mjs +0 -16
  231. package/esm2022/utils/position.mjs +0 -48
  232. package/esm2022/utils/style.mjs +0 -37
  233. package/esm2022/utils/text-measure.mjs +0 -122
  234. package/esm2022/utils/visible-range.mjs +0 -42
@@ -1,214 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';
2
- import { KoShape, KoContainer } from '../../angular-konva';
3
- import { AI_TABLE_CELL_PADDING, AI_TABLE_FIELD_HEAD_SELECT_CHECKBOX, AI_TABLE_ICON_COMMON_SIZE, AI_TABLE_OFFSET, AI_TABLE_ROW_DRAG_ICON_WIDTH, Colors } from '../../constants';
4
- import { AITableCheckType, AITableSelectAllState } from '../../types';
5
- import { createColumnHeads } from '../creations/create-heads';
6
- import { AITableFieldHead } from './field-head.component';
7
- import { AITableIcon } from './icon.component';
8
- import * as i0 from "@angular/core";
9
- export class AITableFrozenColumnHeads {
10
- constructor() {
11
- this.config = input.required();
12
- this.coordinate = computed(() => {
13
- const config = this.config();
14
- if (!config)
15
- return null;
16
- return config.coordinate;
17
- });
18
- this.hiddenIndexColumn = computed(() => {
19
- const context = this.context();
20
- if (!context)
21
- return false;
22
- return context?.aiFieldConfig()?.hiddenIndexColumn;
23
- });
24
- this.context = computed(() => {
25
- const config = this.config();
26
- if (!config)
27
- return null;
28
- return config?.aiTable.context;
29
- });
30
- this.isChecked = computed(() => {
31
- const config = this.config();
32
- if (!config)
33
- return false;
34
- return config.aiTable.selection().selectAllState === AITableSelectAllState.all;
35
- });
36
- this.fieldHeadHeight = computed(() => {
37
- const coord = this.coordinate();
38
- if (!coord)
39
- return 0;
40
- return coord.rowInitSize;
41
- });
42
- this.headConfigs = computed(() => {
43
- const coord = this.coordinate();
44
- if (!coord)
45
- return [];
46
- return createColumnHeads({
47
- ...this.config(),
48
- columnStartIndex: 0,
49
- columnStopIndex: coord.frozenColumnCount - 1
50
- });
51
- });
52
- this.dragHeadBgConfig = computed(() => {
53
- return {
54
- x: AI_TABLE_OFFSET,
55
- y: AI_TABLE_OFFSET,
56
- width: AI_TABLE_ROW_DRAG_ICON_WIDTH,
57
- height: this.fieldHeadHeight(),
58
- fill: Colors.white,
59
- listening: false
60
- };
61
- });
62
- this.numberHeadBgConfig = computed(() => {
63
- const ctx = this.context();
64
- if (!ctx)
65
- return { width: 0, height: 0 };
66
- return {
67
- x: AI_TABLE_OFFSET,
68
- y: AI_TABLE_OFFSET,
69
- width: ctx.rowHeadWidth() || 0,
70
- height: this.fieldHeadHeight(),
71
- fill: Colors.white,
72
- listening: false
73
- };
74
- });
75
- this.topLineConfig = computed(() => {
76
- const ctx = this.context();
77
- if (!ctx)
78
- return { points: [0, 0, 0, 0] };
79
- return {
80
- x: AI_TABLE_OFFSET + AI_TABLE_ROW_DRAG_ICON_WIDTH,
81
- y: AI_TABLE_OFFSET,
82
- points: [0, 0, ctx.rowHeadWidth(), 0],
83
- stroke: Colors.gray200,
84
- strokeWidth: 1,
85
- listening: false
86
- };
87
- });
88
- this.bottomLineConfig = computed(() => {
89
- const ctx = this.context();
90
- if (!ctx)
91
- return { points: [0, 0, 0, 0] };
92
- return {
93
- x: AI_TABLE_OFFSET + AI_TABLE_ROW_DRAG_ICON_WIDTH,
94
- y: AI_TABLE_OFFSET,
95
- points: [ctx.rowHeadWidth(), this.fieldHeadHeight(), 0, this.fieldHeadHeight()],
96
- stroke: Colors.gray200,
97
- strokeWidth: 1,
98
- listening: false
99
- };
100
- });
101
- this.iconConfig = computed(() => {
102
- return {
103
- name: AI_TABLE_FIELD_HEAD_SELECT_CHECKBOX,
104
- x: AI_TABLE_CELL_PADDING + AI_TABLE_ROW_DRAG_ICON_WIDTH,
105
- y: (this.fieldHeadHeight() - AI_TABLE_ICON_COMMON_SIZE) / 2,
106
- type: this.isChecked() ? AITableCheckType.checked : AITableCheckType.unchecked,
107
- fill: this.isChecked() || (this.config().pointPosition.targetName === AI_TABLE_FIELD_HEAD_SELECT_CHECKBOX && !this.isChecked())
108
- ? Colors.primary
109
- : Colors.gray300
110
- };
111
- });
112
- this.headBgConfig = computed(() => {
113
- const coord = this.coordinate();
114
- const ctx = this.context();
115
- if (!coord || !ctx)
116
- return { width: 0, height: 0 };
117
- return {
118
- x: ctx.rowHeadWidth(),
119
- y: AI_TABLE_OFFSET,
120
- width: coord.frozenColumnWidth + AI_TABLE_OFFSET,
121
- height: this.fieldHeadHeight(),
122
- stroke: Colors.gray200,
123
- strokeWidth: this.hiddenIndexColumn() ? 0 : 1,
124
- fill: Colors.transparent,
125
- listening: false,
126
- zIndex: 10
127
- };
128
- });
129
- this.cellLinesConfig = computed(() => {
130
- const coord = this.coordinate();
131
- const ctx = this.context();
132
- if (!coord || !ctx)
133
- return [];
134
- return [
135
- {
136
- x: ctx.rowHeadWidth(),
137
- y: AI_TABLE_OFFSET,
138
- points: [0, 0, coord.frozenColumnWidth + AI_TABLE_OFFSET, 0],
139
- stroke: Colors.gray200,
140
- strokeWidth: 1,
141
- listening: false,
142
- zIndex: 10
143
- },
144
- {
145
- x: ctx.rowHeadWidth(),
146
- y: AI_TABLE_OFFSET,
147
- points: [coord.frozenColumnWidth + AI_TABLE_OFFSET, 0, coord.frozenColumnWidth + AI_TABLE_OFFSET, this.fieldHeadHeight()],
148
- stroke: Colors.gray200,
149
- strokeWidth: 1,
150
- listening: false,
151
- zIndex: 10
152
- },
153
- {
154
- x: ctx.rowHeadWidth(),
155
- y: AI_TABLE_OFFSET,
156
- points: [0, this.fieldHeadHeight(), coord.frozenColumnWidth + AI_TABLE_OFFSET, this.fieldHeadHeight()],
157
- stroke: Colors.gray200,
158
- strokeWidth: 1,
159
- listening: false,
160
- zIndex: 10
161
- }
162
- ];
163
- });
164
- }
165
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AITableFrozenColumnHeads, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
166
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: AITableFrozenColumnHeads, isStandalone: true, selector: "ai-table-frozen-column-heads", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
167
- <ko-rect [config]="headBgConfig()"></ko-rect>
168
- @if (!hiddenIndexColumn()) {
169
- <ko-rect [config]="dragHeadBgConfig()"></ko-rect>
170
- <ko-rect [config]="numberHeadBgConfig()"></ko-rect>
171
- <ko-line [config]="topLineConfig()"></ko-line>
172
- <ko-line [config]="bottomLineConfig()"></ko-line>
173
- <ko-group>
174
- <ai-table-icon [config]="iconConfig()"></ai-table-icon>
175
- </ko-group>
176
- } @else {
177
- @for (lineConfig of cellLinesConfig(); track $index) {
178
- <ko-line [config]="lineConfig"></ko-line>
179
- }
180
- }
181
- @for (config of headConfigs(); track $index) {
182
- <ai-table-field-head [config]="config"></ai-table-field-head>
183
- }
184
- `, isInline: true, dependencies: [{ kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }, { kind: "component", type: AITableFieldHead, selector: "ai-table-field-head", inputs: ["config"] }, { kind: "component", type: AITableIcon, selector: "ai-table-icon", inputs: ["config"] }, { kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
185
- }
186
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AITableFrozenColumnHeads, decorators: [{
187
- type: Component,
188
- args: [{
189
- selector: 'ai-table-frozen-column-heads',
190
- template: `
191
- <ko-rect [config]="headBgConfig()"></ko-rect>
192
- @if (!hiddenIndexColumn()) {
193
- <ko-rect [config]="dragHeadBgConfig()"></ko-rect>
194
- <ko-rect [config]="numberHeadBgConfig()"></ko-rect>
195
- <ko-line [config]="topLineConfig()"></ko-line>
196
- <ko-line [config]="bottomLineConfig()"></ko-line>
197
- <ko-group>
198
- <ai-table-icon [config]="iconConfig()"></ai-table-icon>
199
- </ko-group>
200
- } @else {
201
- @for (lineConfig of cellLinesConfig(); track $index) {
202
- <ko-line [config]="lineConfig"></ko-line>
203
- }
204
- }
205
- @for (config of headConfigs(); track $index) {
206
- <ai-table-field-head [config]="config"></ai-table-field-head>
207
- }
208
- `,
209
- standalone: true,
210
- imports: [KoShape, AITableFieldHead, AITableIcon, KoContainer],
211
- changeDetection: ChangeDetectionStrategy.OnPush
212
- }]
213
- }] });
214
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvemVuLWhlYWRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL3JlbmRlcmVyL2NvbXBvbmVudHMvZnJvemVuLWhlYWRzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFcEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMzRCxPQUFPLEVBQ0gscUJBQXFCLEVBQ3JCLG1DQUFtQyxFQUNuQyx5QkFBeUIsRUFDekIsZUFBZSxFQUNmLDRCQUE0QixFQUM1QixNQUFNLEVBQ1QsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsZ0JBQWdCLEVBQTRCLHFCQUFxQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUEyQi9DLE1BQU0sT0FBTyx3QkFBd0I7SUF6QnJDO1FBMEJJLFdBQU0sR0FBRyxLQUFLLENBQUMsUUFBUSxFQUE0QixDQUFDO1FBRXBELGVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3ZCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsTUFBTTtnQkFBRSxPQUFPLElBQUksQ0FBQztZQUN6QixPQUFPLE1BQU0sQ0FBQyxVQUFVLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7UUFFSCxzQkFBaUIsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQzlCLE1BQU0sT0FB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QixHQUFHLGVBQWUsRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7b0JBQ3RHLE1BQU0sRUFBRSxNQUFNLENBQUMsT0FBTztvQkFDdEIsV0FBVyxFQUFFLENBQUM7b0JBQ2QsU0FBUyxFQUFFLEtBQUs7b0JBQ2hCLE1BQU0sRUFBRSxFQUFFO2lCQUNiO2FBQ0osQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO0tBQ047K0dBN0pZLHdCQUF3QjttR0FBeEIsd0JBQXdCLDhOQXZCdkI7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQWtCVCw0REFFUyxPQUFPLCtoQkFBRSxnQkFBZ0Isb0ZBQUUsV0FBVyw4RUFBRSxXQUFXOzs0RkFHcEQsd0JBQXdCO2tCQXpCcEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsOEJBQThCO29CQUN4QyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQWtCVDtvQkFDRCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUM7b0JBQzlELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RhZ2VDb25maWcgfSBmcm9tICdrb252YS9saWIvU3RhZ2UnO1xuaW1wb3J0IHsgS29TaGFwZSwgS29Db250YWluZXIgfSBmcm9tICcuLi8uLi9hbmd1bGFyLWtvbnZhJztcbmltcG9ydCB7XG4gICAgQUlfVEFCTEVfQ0VMTF9QQURESU5HLFxuICAgIEFJX1RBQkxFX0ZJRUxEX0hFQURfU0VMRUNUX0NIRUNLQk9YLFxuICAgIEFJX1RBQkxFX0lDT05fQ09NTU9OX1NJWkUsXG4gICAgQUlfVEFCTEVfT0ZGU0VULFxuICAgIEFJX1RBQkxFX1JPV19EUkFHX0lDT05fV0lEVEgsXG4gICAgQ29sb3JzXG59IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBBSVRhYmxlQ2hlY2tUeXBlLCBBSVRhYmxlQ29sdW1uSGVhZHNDb25maWcsIEFJVGFibGVTZWxlY3RBbGxTdGF0ZSB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IGNyZWF0ZUNvbHVtbkhlYWRzIH0gZnJvbSAnLi4vY3JlYXRpb25zL2NyZWF0ZS1oZWFkcyc7XG5pbXBvcnQgeyBBSVRhYmxlRmllbGRIZWFkIH0gZnJvbSAnLi9maWVsZC1oZWFkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBSVRhYmxlSWNvbiB9IGZyb20gJy4vaWNvbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FpLXRhYmxlLWZyb3plbi1jb2x1bW4taGVhZHMnLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxrby1yZWN0IFtjb25maWddPVwiaGVhZEJnQ29uZmlnKClcIj48L2tvLXJlY3Q+XG4gICAgICAgIEBpZiAoIWhpZGRlbkluZGV4Q29sdW1uKCkpIHtcbiAgICAgICAgICAgIDxrby1yZWN0IFtjb25maWddPVwiZHJhZ0hlYWRCZ0NvbmZpZygpXCI+PC9rby1yZWN0PlxuICAgICAgICAgICAgPGtvLXJlY3QgW2NvbmZpZ109XCJudW1iZXJIZWFkQmdDb25maWcoKVwiPjwva28tcmVjdD5cbiAgICAgICAgICAgIDxrby1saW5lIFtjb25maWddPVwidG9wTGluZUNvbmZpZygpXCI+PC9rby1saW5lPlxuICAgICAgICAgICAgPGtvLWxpbmUgW2NvbmZpZ109XCJib3R0b21MaW5lQ29uZmlnKClcIj48L2tvLWxpbmU+XG4gICAgICAgICAgICA8a28tZ3JvdXA+XG4gICAgICAgICAgICAgICAgPGFpLXRhYmxlLWljb24gW2NvbmZpZ109XCJpY29uQ29uZmlnKClcIj48L2FpLXRhYmxlLWljb24+XG4gICAgICAgICAgICA8L2tvLWdyb3VwPlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIEBmb3IgKGxpbmVDb25maWcgb2YgY2VsbExpbmVzQ29uZmlnKCk7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgIDxrby1saW5lIFtjb25maWddPVwibGluZUNvbmZpZ1wiPjwva28tbGluZT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAZm9yIChjb25maWcgb2YgaGVhZENvbmZpZ3MoKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICA8YWktdGFibGUtZmllbGQtaGVhZCBbY29uZmlnXT1cImNvbmZpZ1wiPjwvYWktdGFibGUtZmllbGQtaGVhZD5cbiAgICAgICAgfVxuICAgIGAsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbS29TaGFwZSwgQUlUYWJsZUZpZWxkSGVhZCwgQUlUYWJsZUljb24sIEtvQ29udGFpbmVyXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBBSVRhYmxlRnJvemVuQ29sdW1uSGVhZHMge1xuICAgIGNvbmZpZyA9IGlucHV0LnJlcXVpcmVkPEFJVGFibGVDb2x1bW5IZWFkc0NvbmZpZz4oKTtcblxuICAgIGNvb3JkaW5hdGUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuY29uZmlnKCk7XG4gICAgICAgIGlmICghY29uZmlnKSByZXR1cm4gbnVsbDtcbiAgICAgICAgcmV0dXJuIGNvbmZpZy5jb29yZGluYXRlO1xuICAgIH0pO1xuXG4gICAgaGlkZGVuSW5kZXhDb2x1bW4gPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLmNvbnRleHQoKTtcbiAgICAgICAgaWYgKCFjb250ZXh0KSByZXR1cm4gZmFsc2U7XG4gICAgICAgIHJldHVybiBjb250ZXh0Py5haUZpZWxkQ29uZmlnKCk/LmhpZGRlbkluZGV4Q29sdW1uO1xuICAgIH0pO1xuXG4gICAgY29udGV4dCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgY29uZmlnID0gdGhpcy5jb25maWcoKTtcbiAgICAgICAgaWYgKCFjb25maWcpIHJldHVybiBudWxsO1xuICAgICAgICByZXR1cm4gY29uZmlnPy5haVRhYmxlLmNvbnRleHQ7XG4gICAgfSk7XG5cbiAgICBpc0NoZWNrZWQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuY29uZmlnKCk7XG4gICAgICAgIGlmICghY29uZmlnKSByZXR1cm4gZmFsc2U7XG4gICAgICAgIHJldHVybiBjb25maWcuYWlUYWJsZS5zZWxlY3Rpb24oKS5zZWxlY3RBbGxTdGF0ZSA9PT0gQUlUYWJsZVNlbGVjdEFsbFN0YXRlLmFsbDtcbiAgICB9KTtcblxuICAgIGZpZWxkSGVhZEhlaWdodCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgY29vcmQgPSB0aGlzLmNvb3JkaW5hdGUoKTtcbiAgICAgICAgaWYgKCFjb29yZCkgcmV0dXJuIDA7XG4gICAgICAgIHJldHVybiBjb29yZC5yb3dJbml0U2l6ZTtcbiAgICB9KTtcblxuICAgIGhlYWRDb25maWdzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCBjb29yZCA9IHRoaXMuY29vcmRpbmF0ZSgpO1xuICAgICAgICBpZiAoIWNvb3JkKSByZXR1cm4gW107XG4gICAgICAgIHJldHVybiBjcmVhdGVDb2x1bW5IZWFkcyh7XG4gICAgICAgICAgICAuLi50aGlzLmNvbmZpZygpLFxuICAgICAgICAgICAgY29sdW1uU3RhcnRJbmRleDogMCxcbiAgICAgICAgICAgIGNvbHVtblN0b3BJbmRleDogY29vcmQuZnJvemVuQ29sdW1uQ291bnQgLSAxXG4gICAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZHJhZ0hlYWRCZ0NvbmZpZyA9IGNvbXB1dGVkPFBhcnRpYWw8U3RhZ2VDb25maWc+PigoKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB4OiBBSV9UQUJMRV9PRkZTRVQsXG4gICAgICAgICAgICB5OiBBSV9UQUJMRV9PRkZTRVQsXG4gICAgICAgICAgICB3aWR0aDogQUlfVEFCTEVfUk9XX0RSQUdfSUNPTl9XSURUSCxcbiAgICAgICAgICAgIGhlaWdodDogdGhpcy5maWVsZEhlYWRIZWlnaHQoKSxcbiAgICAgICAgICAgIGZpbGw6IENvbG9ycy53aGl0ZSxcbiAgICAgICAgICAgIGxpc3RlbmluZzogZmFsc2VcbiAgICAgICAgfTtcbiAgICB9KTtcblxuICAgIG51bWJlckhlYWRCZ0NvbmZpZyA9IGNvbXB1dGVkPFBhcnRpYWw8U3RhZ2VDb25maWc+PigoKSA9PiB7XG4gICAgICAgIGNvbnN0IGN0eCA9IHRoaXMuY29udGV4dCgpO1xuICAgICAgICBpZiAoIWN0eCkgcmV0dXJuIHsgd2lkdGg6IDAsIGhlaWdodDogMCB9O1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgeDogQUlfVEFCTEVfT0ZGU0VULFxuICAgICAgICAgICAgeTogQUlfVEFCTEVfT0ZGU0VULFxuICAgICAgICAgICAgd2lkdGg6IGN0eC5yb3dIZWFkV2lkdGgoKSB8fCAwLFxuICAgICAgICAgICAgaGVpZ2h0OiB0aGlzLmZpZWxkSGVhZEhlaWdodCgpLFxuICAgICAgICAgICAgZmlsbDogQ29sb3JzLndoaXRlLFxuICAgICAgICAgICAgbGlzdGVuaW5nOiBmYWxzZVxuICAgICAgICB9O1xuICAgIH0pO1xuXG4gICAgdG9wTGluZUNvbmZpZyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgY3R4ID0gdGhpcy5jb250ZXh0KCk7XG4gICAgICAgIGlmICghY3R4KSByZXR1cm4geyBwb2ludHM6IFswLCAwLCAwLCAwXSB9O1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgeDogQUlfVEFCTEVfT0ZGU0VUICsgQUlfVEFCTEVfUk9XX0RSQUdfSUNPTl9XSURUSCxcbiAgICAgICAgICAgIHk6IEFJX1RBQkxFX09GRlNFVCxcbiAgICAgICAgICAgIHBvaW50czogWzAsIDAsIGN0eC5yb3dIZWFkV2lkdGgoKSwgMF0sXG4gICAgICAgICAgICBzdHJva2U6IENvbG9ycy5ncmF5MjAwLFxuICAgICAgICAgICAgc3Ryb2tlV2lkdGg6IDEsXG4gICAgICAgICAgICBsaXN0ZW5pbmc6IGZhbHNlXG4gICAgICAgIH07XG4gICAgfSk7XG5cbiAgICBib3R0b21MaW5lQ29uZmlnID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCBjdHggPSB0aGlzLmNvbnRleHQoKTtcbiAgICAgICAgaWYgKCFjdHgpIHJldHVybiB7IHBvaW50czogWzAsIDAsIDAsIDBdIH07XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB4OiBBSV9UQUJMRV9PRkZTRVQgKyBBSV9UQUJMRV9ST1dfRFJBR19JQ09OX1dJRFRILFxuICAgICAgICAgICAgeTogQUlfVEFCTEVfT0ZGU0VULFxuICAgICAgICAgICAgcG9pbnRzOiBbY3R4LnJvd0hlYWRXaWR0aCgpLCB0aGlzLmZpZWxkSGVhZEhlaWdodCgpLCAwLCB0aGlzLmZpZWxkSGVhZEhlaWdodCgpXSxcbiAgICAgICAgICAgIHN0cm9rZTogQ29sb3JzLmdyYXkyMDAsXG4gICAgICAgICAgICBzdHJva2VXaWR0aDogMSxcbiAgICAgICAgICAgIGxpc3RlbmluZzogZmFsc2VcbiAgICAgICAgfTtcbiAgICB9KTtcblxuICAgIGljb25Db25maWcgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuYW1lOiBBSV9UQUJMRV9GSUVMRF9IRUFEX1NFTEVDVF9DSEVDS0JPWCxcbiAgICAgICAgICAgIHg6IEFJX1RBQkxFX0NFTExfUEFERElORyArIEFJX1RBQkxFX1JPV19EUkFHX0lDT05fV0lEVEgsXG4gICAgICAgICAgICB5OiAodGhpcy5maWVsZEhlYWRIZWlnaHQoKSAtIEFJX1RBQkxFX0lDT05fQ09NTU9OX1NJWkUpIC8gMixcbiAgICAgICAgICAgIHR5cGU6IHRoaXMuaXNDaGVja2VkKCkgPyBBSVRhYmxlQ2hlY2tUeXBlLmNoZWNrZWQgOiBBSVRhYmxlQ2hlY2tUeXBlLnVuY2hlY2tlZCxcbiAgICAgICAgICAgIGZpbGw6XG4gICAgICAgICAgICAgICAgdGhpcy5pc0NoZWNrZWQoKSB8fCAodGhpcy5jb25maWcoKS5wb2ludFBvc2l0aW9uLnRhcmdldE5hbWUgPT09IEFJX1RBQkxFX0ZJRUxEX0hFQURfU0VMRUNUX0NIRUNLQk9YICYmICF0aGlzLmlzQ2hlY2tlZCgpKVxuICAgICAgICAgICAgICAgICAgICA/IENvbG9ycy5wcmltYXJ5XG4gICAgICAgICAgICAgICAgICAgIDogQ29sb3JzLmdyYXkzMDBcbiAgICAgICAgfTtcbiAgICB9KTtcblxuICAgIGhlYWRCZ0NvbmZpZyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgY29vcmQgPSB0aGlzLmNvb3JkaW5hdGUoKTtcbiAgICAgICAgY29uc3QgY3R4ID0gdGhpcy5jb250ZXh0KCk7XG4gICAgICAgIGlmICghY29vcmQgfHwgIWN0eCkgcmV0dXJuIHsgd2lkdGg6IDAsIGhlaWdodDogMCB9O1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgeDogY3R4LnJvd0hlYWRXaWR0aCgpLFxuICAgICAgICAgICAgeTogQUlfVEFCTEVfT0ZGU0VULFxuICAgICAgICAgICAgd2lkdGg6IGNvb3JkLmZyb3plbkNvbHVtbldpZHRoICsgQUlfVEFCTEVfT0ZGU0VULFxuICAgICAgICAgICAgaGVpZ2h0OiB0aGlzLmZpZWxkSGVhZEhlaWdodCgpLFxuICAgICAgICAgICAgc3Ryb2tlOiBDb2xvcnMuZ3JheTIwMCxcbiAgICAgICAgICAgIHN0cm9rZVdpZHRoOiB0aGlzLmhpZGRlbkluZGV4Q29sdW1uKCkgPyAwIDogMSxcbiAgICAgICAgICAgIGZpbGw6IENvbG9ycy50cmFuc3BhcmVudCxcbiAgICAgICAgICAgIGxpc3RlbmluZzogZmFsc2UsXG4gICAgICAgICAgICB6SW5kZXg6IDEwXG4gICAgICAgIH07XG4gICAgfSk7XG5cbiAgICBjZWxsTGluZXNDb25maWcgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvb3JkID0gdGhpcy5jb29yZGluYXRlKCk7XG4gICAgICAgIGNvbnN0IGN0eCA9IHRoaXMuY29udGV4dCgpO1xuICAgICAgICBpZiAoIWNvb3JkIHx8ICFjdHgpIHJldHVybiBbXTtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB4OiBjdHgucm93SGVhZFdpZHRoKCksXG4gICAgICAgICAgICAgICAgeTogQUlfVEFCTEVfT0ZGU0VULFxuICAgICAgICAgICAgICAgIHBvaW50czogWzAsIDAsIGNvb3JkLmZyb3plbkNvbHVtbldpZHRoICsgQUlfVEFCTEVfT0ZGU0VULCAwXSxcbiAgICAgICAgICAgICAgICBzdHJva2U6IENvbG9ycy5ncmF5MjAwLFxuICAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoOiAxLFxuICAgICAgICAgICAgICAgIGxpc3RlbmluZzogZmFsc2UsXG4gICAgICAgICAgICAgICAgekluZGV4OiAxMFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB4OiBjdHgucm93SGVhZFdpZHRoKCksXG4gICAgICAgICAgICAgICAgeTogQUlfVEFCTEVfT0ZGU0VULFxuICAgICAgICAgICAgICAgIHBvaW50czogW2Nvb3JkLmZyb3plbkNvbHVtbldpZHRoICsgQUlfVEFCTEVfT0ZGU0VULCAwLCBjb29yZC5mcm96ZW5Db2x1bW5XaWR0aCArIEFJX1RBQkxFX09GRlNFVCwgdGhpcy5maWVsZEhlYWRIZWlnaHQoKV0sXG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBDb2xvcnMuZ3JheTIwMCxcbiAgICAgICAgICAgICAgICBzdHJva2VXaWR0aDogMSxcbiAgICAgICAgICAgICAgICBsaXN0ZW5pbmc6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHpJbmRleDogMTBcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgeDogY3R4LnJvd0hlYWRXaWR0aCgpLFxuICAgICAgICAgICAgICAgIHk6IEFJX1RBQkxFX09GRlNFVCxcbiAgICAgICAgICAgICAgICBwb2ludHM6IFswLCB0aGlzLmZpZWxkSGVhZEhlaWdodCgpLCBjb29yZC5mcm96ZW5Db2x1bW5XaWR0aCArIEFJX1RBQkxFX09GRlNFVCwgdGhpcy5maWVsZEhlYWRIZWlnaHQoKV0sXG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBDb2xvcnMuZ3JheTIwMCxcbiAgICAgICAgICAgICAgICBzdHJva2VXaWR0aDogMSxcbiAgICAgICAgICAgICAgICBsaXN0ZW5pbmc6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHpJbmRleDogMTBcbiAgICAgICAgICAgIH1cbiAgICAgICAgXTtcbiAgICB9KTtcbn1cbiJdfQ==
@@ -1,38 +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 AITableFrozenPlaceholderCells {
6
- constructor() {
7
- this.config = input.required();
8
- this.frozenPlaceHolderCellsConfig = computed(() => {
9
- const { coordinate } = this.config();
10
- return getPlaceHolderCellsConfigs({
11
- ...this.config(),
12
- columnStartIndex: 0,
13
- columnStopIndex: coordinate.frozenColumnCount - 1
14
- });
15
- });
16
- }
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AITableFrozenPlaceholderCells, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
18
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: AITableFrozenPlaceholderCells, isStandalone: true, selector: "ai-table-frozen-placeholder-cells", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
19
- @for (item of frozenPlaceHolderCellsConfig(); track $index) {
20
- <ko-rect [config]="item"></ko-rect>
21
- }
22
- `, 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 }); }
23
- }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AITableFrozenPlaceholderCells, decorators: [{
25
- type: Component,
26
- args: [{
27
- selector: 'ai-table-frozen-placeholder-cells',
28
- template: `
29
- @for (item of frozenPlaceHolderCellsConfig(); track $index) {
30
- <ko-rect [config]="item"></ko-rect>
31
- }
32
- `,
33
- standalone: true,
34
- imports: [KoShape],
35
- changeDetection: ChangeDetectionStrategy.OnPush
36
- }]
37
- }] });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvemVuLXBsYWNlaG9sZGVyLWNlbGxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL3JlbmRlcmVyL2NvbXBvbmVudHMvZnJvemVuLXBsYWNlaG9sZGVyLWNlbGxzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTlDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFhekQsTUFBTSxPQUFPLDZCQUE2QjtJQVgxQztRQVlJLFdBQU0sR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFzQixDQUFDO1FBRTlDLGlDQUE0QixHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDekMsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNyQyxPQUFPLDBCQUEwQixDQUFDO2dCQUM5QixHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQ2hCLGdCQUFnQixFQUFFLENBQUM7Z0JBQ25CLGVBQWUsRUFBRSxVQUFVLENBQUMsaUJBQWlCLEdBQUcsQ0FBQzthQUNwRCxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztLQUNOOytHQVhZLDZCQUE2QjttR0FBN0IsNkJBQTZCLG1PQVQ1Qjs7OztLQUlULDREQUVTLE9BQU87OzRGQUdSLDZCQUE2QjtrQkFYekMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsbUNBQW1DO29CQUM3QyxRQUFRLEVBQUU7Ozs7S0FJVDtvQkFDRCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDO29CQUNsQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDbEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEtvU2hhcGUgfSBmcm9tICcuLi8uLi9hbmd1bGFyLWtvbnZhJztcbmltcG9ydCB7IEFJVGFibGVDZWxsc0NvbmZpZyB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IGdldFBsYWNlSG9sZGVyQ2VsbHNDb25maWdzIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FpLXRhYmxlLWZyb3plbi1wbGFjZWhvbGRlci1jZWxscycsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgQGZvciAoaXRlbSBvZiBmcm96ZW5QbGFjZUhvbGRlckNlbGxzQ29uZmlnKCk7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgPGtvLXJlY3QgW2NvbmZpZ109XCJpdGVtXCI+PC9rby1yZWN0PlxuICAgICAgICB9XG4gICAgYCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtLb1NoYXBlXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBBSVRhYmxlRnJvemVuUGxhY2Vob2xkZXJDZWxscyB7XG4gICAgY29uZmlnID0gaW5wdXQucmVxdWlyZWQ8QUlUYWJsZUNlbGxzQ29uZmlnPigpO1xuXG4gICAgZnJvemVuUGxhY2VIb2xkZXJDZWxsc0NvbmZpZyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgeyBjb29yZGluYXRlIH0gPSB0aGlzLmNvbmZpZygpO1xuICAgICAgICByZXR1cm4gZ2V0UGxhY2VIb2xkZXJDZWxsc0NvbmZpZ3Moe1xuICAgICAgICAgICAgLi4udGhpcy5jb25maWcoKSxcbiAgICAgICAgICAgIGNvbHVtblN0YXJ0SW5kZXg6IDAsXG4gICAgICAgICAgICBjb2x1bW5TdG9wSW5kZXg6IGNvb3JkaW5hdGUuZnJvemVuQ29sdW1uQ291bnQgLSAxXG4gICAgICAgIH0pO1xuICAgIH0pO1xufVxuIl19
@@ -1,38 +0,0 @@
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.13", ngImport: i0, type: AITableColumnHeads, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
18
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: AITableColumnHeads, isStandalone: true, selector: "ai-table-column-heads", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
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.13", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ3JpZC9zcmMvcmVuZGVyZXIvY29tcG9uZW50cy9oZWFkcy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXBGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQWExRCxNQUFNLE9BQU8sa0JBQWtCO0lBWC9CO1FBWUksV0FBTSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQTRCLENBQUM7UUFFcEQsZ0JBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3hCLE1BQU0sRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDdkQsTUFBTSxFQUFFLGlCQUFpQixFQUFFLEdBQUcsVUFBVSxDQUFDO1lBQ3pDLE9BQU8saUJBQWlCLENBQUM7Z0JBQ3JCLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRTtnQkFDaEIsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxpQkFBaUIsQ0FBQzthQUNsRSxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztLQUNOOytHQVhZLGtCQUFrQjttR0FBbEIsa0JBQWtCLHVOQVRqQjs7OztLQUlULDREQUVTLGdCQUFnQjs7NEZBR2pCLGtCQUFrQjtrQkFYOUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxRQUFRLEVBQUU7Ozs7S0FJVDtvQkFDRCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQzNCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQUlUYWJsZUNvbHVtbkhlYWRzQ29uZmlnIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgY3JlYXRlQ29sdW1uSGVhZHMgfSBmcm9tICcuLi9jcmVhdGlvbnMvY3JlYXRlLWhlYWRzJztcbmltcG9ydCB7IEFJVGFibGVGaWVsZEhlYWQgfSBmcm9tICcuL2ZpZWxkLWhlYWQuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhaS10YWJsZS1jb2x1bW4taGVhZHMnLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIEBmb3IgKGNvbmZpZyBvZiBoZWFkQ29uZmlncygpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgIDxhaS10YWJsZS1maWVsZC1oZWFkIFtjb25maWddPVwiY29uZmlnXCI+PC9haS10YWJsZS1maWVsZC1oZWFkPlxuICAgICAgICB9XG4gICAgYCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtBSVRhYmxlRmllbGRIZWFkXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBBSVRhYmxlQ29sdW1uSGVhZHMge1xuICAgIGNvbmZpZyA9IGlucHV0LnJlcXVpcmVkPEFJVGFibGVDb2x1bW5IZWFkc0NvbmZpZz4oKTtcblxuICAgIGhlYWRDb25maWdzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCB7IGNvb3JkaW5hdGUsIGNvbHVtblN0YXJ0SW5kZXggfSA9IHRoaXMuY29uZmlnKCk7XG4gICAgICAgIGNvbnN0IHsgZnJvemVuQ29sdW1uQ291bnQgfSA9IGNvb3JkaW5hdGU7XG4gICAgICAgIHJldHVybiBjcmVhdGVDb2x1bW5IZWFkcyh7XG4gICAgICAgICAgICAuLi50aGlzLmNvbmZpZygpLFxuICAgICAgICAgICAgY29sdW1uU3RhcnRJbmRleDogTWF0aC5tYXgoY29sdW1uU3RhcnRJbmRleCwgZnJvemVuQ29sdW1uQ291bnQpXG4gICAgICAgIH0pO1xuICAgIH0pO1xufVxuIl19
@@ -1,104 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';
2
- import { KoContainer } from '../../angular-konva';
3
- import { CommonModule } from '@angular/common';
4
- import { AI_TABLE_CELL_PADDING, AI_TABLE_OFFSET, DEFAULT_TEXT_ALIGN_LEFT, DEFAULT_TEXT_ALIGN_RIGHT } from '../../constants';
5
- import { AITableQueries, FieldModelMap, getCellHorizontalPosition, getHoverCell } from '../../utils';
6
- import { isSelectedField } from '../creations/create-cells';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/common";
9
- export class AITableHoverCells {
10
- constructor() {
11
- this.config = input.required();
12
- this.componentMap = {};
13
- this.groupConfig = computed(() => {
14
- return {
15
- x: this.hoverCellConfig()?.x,
16
- y: this.hoverCellConfig()?.y
17
- };
18
- });
19
- this.hoverCellConfig = computed(() => {
20
- const { aiTable, coordinate, references, readonly, actions } = this.config();
21
- const pointPosition = aiTable.context.pointPosition();
22
- const hoverCell = this.hoverCell();
23
- if (!hoverCell) {
24
- return;
25
- }
26
- const { field, recordId } = hoverCell;
27
- const cellValue = AITableQueries.getFieldValue(aiTable, [recordId, field._id]);
28
- const fieldModel = FieldModelMap[field.type];
29
- const transformValue = fieldModel.transformCellValue(cellValue, { aiTable, field });
30
- const { rowHeight, columnCount, rowCount } = coordinate;
31
- const columnIndex = pointPosition.columnIndex;
32
- const rowIndex = pointPosition.rowIndex;
33
- const x = coordinate.getColumnOffset(columnIndex) + AI_TABLE_OFFSET;
34
- const columnWidth = coordinate.getColumnWidth(columnIndex);
35
- const y = coordinate.getRowOffset(rowIndex) + AI_TABLE_OFFSET;
36
- const { width } = getCellHorizontalPosition({
37
- columnWidth,
38
- columnIndex,
39
- columnCount
40
- });
41
- const style = {
42
- textAlign: DEFAULT_TEXT_ALIGN_LEFT
43
- };
44
- const textAlign = style.textAlign;
45
- const renderX = textAlign === DEFAULT_TEXT_ALIGN_RIGHT
46
- ? columnWidth - AI_TABLE_CELL_PADDING + AI_TABLE_OFFSET
47
- : AI_TABLE_CELL_PADDING + AI_TABLE_OFFSET;
48
- const renderY = 0 - AI_TABLE_OFFSET * 2;
49
- const result = {
50
- field,
51
- recordId,
52
- aiTable,
53
- coordinate,
54
- x,
55
- y,
56
- readonly,
57
- actions,
58
- render: {
59
- aiTable,
60
- recordId,
61
- field,
62
- isActive: isSelectedField(field._id, aiTable),
63
- x: renderX,
64
- y: renderY,
65
- columnWidth: width,
66
- rowHeight,
67
- cellValue,
68
- transformValue,
69
- style,
70
- references
71
- }
72
- };
73
- return result;
74
- });
75
- this.hoverCell = computed(() => getHoverCell(this.config().aiTable));
76
- }
77
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AITableHoverCells, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
78
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: AITableHoverCells, isStandalone: true, selector: "ai-table-hover-cell", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
79
- @if (hoverCell()) {
80
- <ko-group [config]="groupConfig()">
81
- <ng-container *ngComponentOutlet="hoverCell()!.renderComponentDefinition; inputs: { config: hoverCellConfig() }">
82
- </ng-container>
83
- </ko-group>
84
- }
85
- `, isInline: true, dependencies: [{ kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
86
- }
87
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AITableHoverCells, decorators: [{
88
- type: Component,
89
- args: [{
90
- selector: 'ai-table-hover-cell',
91
- template: `
92
- @if (hoverCell()) {
93
- <ko-group [config]="groupConfig()">
94
- <ng-container *ngComponentOutlet="hoverCell()!.renderComponentDefinition; inputs: { config: hoverCellConfig() }">
95
- </ng-container>
96
- </ko-group>
97
- }
98
- `,
99
- standalone: true,
100
- imports: [KoContainer, CommonModule],
101
- changeDetection: ChangeDetectionStrategy.OnPush
102
- }]
103
- }] });
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG92ZXItY2VsbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9yZW5kZXJlci9jb21wb25lbnRzL2hvdmVyLWNlbGwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHbEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxlQUFlLEVBQUUsdUJBQXVCLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1SCxPQUFPLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSx5QkFBeUIsRUFBRSxZQUFZLEVBQXNCLE1BQU0sYUFBYSxDQUFDO0FBQ3pILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7O0FBbUI1RCxNQUFNLE9BQU8saUJBQWlCO0lBZDlCO1FBZUksV0FBTSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQXNCLENBQUM7UUFFOUMsaUJBQVksR0FBdUUsRUFBRSxDQUFDO1FBRXRGLGdCQUFXLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUN4QixPQUFPO2dCQUNILENBQUMsRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQztnQkFDNUIsQ0FBQyxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDO2FBQy9CLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztRQUVILG9CQUFlLEdBQUcsUUFBUSxDQUFxQyxHQUFHLEVBQUU7WUFDaEUsTUFBTSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxPQUFP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QUFFOzs7Ozs7O0tBT1Q7b0JBQ0QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLFdBQVcsRUFBRSxZQUFZLENBQUM7b0JBQ3BDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgS29Db250YWluZXIgfSBmcm9tICcuLi8uLi9hbmd1bGFyLWtvbnZhJztcbmltcG9ydCB7IEFJVGFibGVDZWxsc0NvbmZpZywgQUlUYWJsZUhvdmVyQ2VsbENvbmZpZyB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IEFJVGFibGVGaWVsZFR5cGUgfSBmcm9tICdAYWktdGFibGUvdXRpbHMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFJX1RBQkxFX0NFTExfUEFERElORywgQUlfVEFCTEVfT0ZGU0VULCBERUZBVUxUX1RFWFRfQUxJR05fTEVGVCwgREVGQVVMVF9URVhUX0FMSUdOX1JJR0hUIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IEFJVGFibGVRdWVyaWVzLCBGaWVsZE1vZGVsTWFwLCBnZXRDZWxsSG9yaXpvbnRhbFBvc2l0aW9uLCBnZXRIb3ZlckNlbGwsIHRyYW5zZm9ybUNlbGxWYWx1ZSB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IGlzU2VsZWN0ZWRGaWVsZCB9IGZyb20gJy4uL2NyZWF0aW9ucy9jcmVhdGUtY2VsbHMnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IEhvdmVyQ2VsbENvbXBvbmVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQ29uc3RydWN0b3IgfSBmcm9tICduZ3gtdGV0aHlzL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FpLXRhYmxlLWhvdmVyLWNlbGwnLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIEBpZiAoaG92ZXJDZWxsKCkpIHtcbiAgICAgICAgICAgIDxrby1ncm91cCBbY29uZmlnXT1cImdyb3VwQ29uZmlnKClcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0NvbXBvbmVudE91dGxldD1cImhvdmVyQ2VsbCgpIS5yZW5kZXJDb21wb25lbnREZWZpbml0aW9uOyBpbnB1dHM6IHsgY29uZmlnOiBob3ZlckNlbGxDb25maWcoKSB9XCI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2tvLWdyb3VwPlxuICAgICAgICB9XG4gICAgYCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtLb0NvbnRhaW5lciwgQ29tbW9uTW9kdWxlXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBBSVRhYmxlSG92ZXJDZWxscyB7XG4gICAgY29uZmlnID0gaW5wdXQucmVxdWlyZWQ8QUlUYWJsZUNlbGxzQ29uZmlnPigpO1xuXG4gICAgY29tcG9uZW50TWFwOiBQYXJ0aWFsPFJlY29yZDxBSVRhYmxlRmllbGRUeXBlLCBDb25zdHJ1Y3RvcjxIb3ZlckNlbGxDb21wb25lbnQ+Pj4gPSB7fTtcblxuICAgIGdyb3VwQ29uZmlnID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgeDogdGhpcy5ob3ZlckNlbGxDb25maWcoKT8ueCxcbiAgICAgICAgICAgIHk6IHRoaXMuaG92ZXJDZWxsQ29uZmlnKCk/LnlcbiAgICAgICAgfTtcbiAgICB9KTtcblxuICAgIGhvdmVyQ2VsbENvbmZpZyA9IGNvbXB1dGVkPEFJVGFibGVIb3ZlckNlbGxDb25maWcgfCB1bmRlZmluZWQ+KCgpID0+IHtcbiAgICAgICAgY29uc3QgeyBhaVRhYmxlLCBjb29yZGluYXRlLCByZWZlcmVuY2VzLCByZWFkb25seSwgYWN0aW9ucyB9ID0gdGhpcy5jb25maWcoKTtcbiAgICAgICAgY29uc3QgcG9pbnRQb3NpdGlvbiA9IGFpVGFibGUuY29udGV4dCEucG9pbnRQb3NpdGlvbigpO1xuICAgICAgICBjb25zdCBob3ZlckNlbGwgPSB0aGlzLmhvdmVyQ2VsbCgpO1xuICAgICAgICBpZiAoIWhvdmVyQ2VsbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHsgZmllbGQsIHJlY29yZElkIH0gPSBob3ZlckNlbGw7XG4gICAgICAgIGNvbnN0IGNlbGxWYWx1ZSA9IEFJVGFibGVRdWVyaWVzLmdldEZpZWxkVmFsdWUoYWlUYWJsZSwgW3JlY29yZElkLCBmaWVsZC5faWRdKTtcbiAgICAgICAgY29uc3QgZmllbGRNb2RlbCA9IEZpZWxkTW9kZWxNYXBbZmllbGQudHlwZV07XG4gICAgICAgIGNvbnN0IHRyYW5zZm9ybVZhbHVlID0gZmllbGRNb2RlbC50cmFuc2Zvcm1DZWxsVmFsdWUoY2VsbFZhbHVlLCB7IGFpVGFibGUsIGZpZWxkIH0pO1xuXG4gICAgICAgIGNvbnN0IHsgcm93SGVpZ2h0LCBjb2x1bW5Db3VudCwgcm93Q291bnQgfSA9IGNvb3JkaW5hdGU7XG4gICAgICAgIGNvbnN0IGNvbHVtbkluZGV4ID0gcG9pbnRQb3NpdGlvbi5jb2x1bW5JbmRleDtcbiAgICAgICAgY29uc3Qgcm93SW5kZXggPSBwb2ludFBvc2l0aW9uLnJvd0luZGV4O1xuXG4gICAgICAgIGNvbnN0IHggPSBjb29yZGluYXRlLmdldENvbHVtbk9mZnNldChjb2x1bW5JbmRleCkgKyBBSV9UQUJMRV9PRkZTRVQ7XG4gICAgICAgIGNvbnN0IGNvbHVtbldpZHRoID0gY29vcmRpbmF0ZS5nZXRDb2x1bW5XaWR0aChjb2x1bW5JbmRleCk7XG4gICAgICAgIGNvbnN0IHkgPSBjb29yZGluYXRlLmdldFJvd09mZnNldChyb3dJbmRleCkgKyBBSV9UQUJMRV9PRkZTRVQ7XG4gICAgICAgIGNvbnN0IHsgd2lkdGggfSA9IGdldENlbGxIb3Jpem9udGFsUG9zaXRpb24oe1xuICAgICAgICAgICAgY29sdW1uV2lkdGgsXG4gICAgICAgICAgICBjb2x1bW5JbmRleCxcbiAgICAgICAgICAgIGNvbHVtbkNvdW50XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IHN0eWxlID0ge1xuICAgICAgICAgICAgdGV4dEFsaWduOiBERUZBVUxUX1RFWFRfQUxJR05fTEVGVFxuICAgICAgICB9IGFzIGFueTtcbiAgICAgICAgY29uc3QgdGV4dEFsaWduID0gc3R5bGUudGV4dEFsaWduO1xuICAgICAgICBjb25zdCByZW5kZXJYID1cbiAgICAgICAgICAgIHRleHRBbGlnbiA9PT0gREVGQVVMVF9URVhUX0FMSUdOX1JJR0hUXG4gICAgICAgICAgICAgICAgPyBjb2x1bW5XaWR0aCAtIEFJX1RBQkxFX0NFTExfUEFERElORyArIEFJX1RBQkxFX09GRlNFVFxuICAgICAgICAgICAgICAgIDogQUlfVEFCTEVfQ0VMTF9QQURESU5HICsgQUlfVEFCTEVfT0ZGU0VUO1xuICAgICAgICBjb25zdCByZW5kZXJZID0gMCAtIEFJX1RBQkxFX09GRlNFVCAqIDI7XG5cbiAgICAgICAgY29uc3QgcmVzdWx0OiBBSVRhYmxlSG92ZXJDZWxsQ29uZmlnID0ge1xuICAgICAgICAgICAgZmllbGQsXG4gICAgICAgICAgICByZWNvcmRJZCxcbiAgICAgICAgICAgIGFpVGFibGUsXG4gICAgICAgICAgICBjb29yZGluYXRlLFxuICAgICAgICAgICAgeCxcbiAgICAgICAgICAgIHksXG4gICAgICAgICAgICByZWFkb25seSxcbiAgICAgICAgICAgIGFjdGlvbnMsXG4gICAgICAgICAgICByZW5kZXI6IHtcbiAgICAgICAgICAgICAgICBhaVRhYmxlLFxuICAgICAgICAgICAgICAgIHJlY29yZElkLFxuICAgICAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgICAgIGlzQWN0aXZlOiBpc1NlbGVjdGVkRmllbGQoZmllbGQuX2lkLCBhaVRhYmxlKSxcbiAgICAgICAgICAgICAgICB4OiByZW5kZXJYLFxuICAgICAgICAgICAgICAgIHk6IHJlbmRlclksXG4gICAgICAgICAgICAgICAgY29sdW1uV2lkdGg6IHdpZHRoLFxuICAgICAgICAgICAgICAgIHJvd0hlaWdodCxcbiAgICAgICAgICAgICAgICBjZWxsVmFsdWUsXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtVmFsdWUsXG4gICAgICAgICAgICAgICAgc3R5bGUsXG4gICAgICAgICAgICAgICAgcmVmZXJlbmNlc1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSk7XG5cbiAgICBob3ZlckNlbGwgPSBjb21wdXRlZCgoKSA9PiBnZXRIb3ZlckNlbGwodGhpcy5jb25maWcoKS5haVRhYmxlKSk7XG59XG4iXX0=
@@ -1,132 +0,0 @@
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_DRAG, AI_TABLE_ROW_DRAG_ICON_WIDTH, AI_TABLE_ROW_HEAD, 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 { DragType } from '@ai-table/utils';
8
- import * as i0 from "@angular/core";
9
- export class AITableHoverRowHeads {
10
- constructor() {
11
- this.config = input.required();
12
- this.pointPosition = computed(() => {
13
- return this.config().aiTable.context.pointPosition();
14
- });
15
- this.headConfigs = computed(() => {
16
- return this.createHoverRowHeads(this.pointPosition());
17
- });
18
- this.readonly = computed(() => {
19
- return this.config().readonly;
20
- });
21
- this.rowDragDisabled = computed(() => {
22
- return this.config().rowDragDisabled;
23
- });
24
- this.createHoverRowHeads = (pointPosition) => {
25
- const { coordinate, rowStartIndex, rowStopIndex, aiTable } = this.config();
26
- const context = aiTable.context;
27
- const headConfigs = [];
28
- for (let rowIndex = rowStartIndex; rowIndex <= rowStopIndex; rowIndex++) {
29
- if (rowIndex > coordinate.rowCount - 1) {
30
- break;
31
- }
32
- const row = context.linearRows()[rowIndex];
33
- if (row == null) {
34
- continue;
35
- }
36
- const { type, _id: recordId } = row;
37
- if (type !== AITableRowType.record || recordId == null) {
38
- continue;
39
- }
40
- const isCheckedRow = aiTable.selection().selectedRecords.has(recordId);
41
- const { areaType, rowIndex: pointRowIndex, targetName } = pointPosition;
42
- if (!isCheckedRow && areaType === AITableAreaType.none) {
43
- continue;
44
- }
45
- let isHoverRow;
46
- if (pointRowIndex > -1 && !!context.linearRows().length && pointRowIndex < context.linearRows().length) {
47
- const { type: pointRowType, _id: pointRecordId } = context.linearRows()[pointRowIndex];
48
- isHoverRow = recordId === pointRecordId && pointRowType === AITableRowType.record && targetName !== AI_TABLE_FIELD_HEAD;
49
- }
50
- let operationGroup;
51
- operationGroup = {
52
- recordId,
53
- y: coordinate.getRowOffset(rowIndex),
54
- bgConfig: {
55
- name: generateTargetName({ targetName: AI_TABLE_ROW_HEAD, recordId }),
56
- width: context.rowHeadWidth() + 1,
57
- height: coordinate.rowHeight,
58
- fill: Colors.transparent
59
- }
60
- };
61
- if (isCheckedRow || isHoverRow) {
62
- const iconOffsetY = (AI_TABLE_FIELD_HEAD_HEIGHT - 16) / 2;
63
- operationGroup.iconConfig = {
64
- name: generateTargetName({
65
- targetName: AI_TABLE_ROW_SELECT_CHECKBOX,
66
- recordId
67
- }),
68
- x: AI_TABLE_CELL_PADDING + AI_TABLE_ROW_DRAG_ICON_WIDTH,
69
- y: iconOffsetY,
70
- type: isCheckedRow ? AITableCheckType.checked : AITableCheckType.unchecked,
71
- fill: isCheckedRow || (targetName === AI_TABLE_ROW_SELECT_CHECKBOX && !isCheckedRow) ? Colors.primary : Colors.gray300
72
- };
73
- if (!this.readonly() && !this.rowDragDisabled()) {
74
- operationGroup.dragConfig = {
75
- name: generateTargetName({
76
- targetName: AI_TABLE_ROW_DRAG,
77
- recordId
78
- }),
79
- x: 0,
80
- y: iconOffsetY,
81
- type: DragType.record,
82
- fill: Colors.gray600
83
- };
84
- }
85
- headConfigs.push(operationGroup);
86
- }
87
- }
88
- return headConfigs;
89
- };
90
- }
91
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AITableHoverRowHeads, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
92
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: AITableHoverRowHeads, isStandalone: true, selector: "ai-table-hover-row-heads", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
93
- @for (config of headConfigs(); track config.recordId) {
94
- <ko-group [config]="{ x: 0, y: config.y, name: 'hover-heads' }">
95
- @if (config.bgConfig) {
96
- <ko-rect [config]="config.bgConfig"></ko-rect>
97
- }
98
- @if (config.iconConfig) {
99
- <ai-table-icon [config]="config.iconConfig"></ai-table-icon>
100
- }
101
- @if (config.dragConfig) {
102
- <ai-table-icon [config]="config.dragConfig"></ai-table-icon>
103
- }
104
- </ko-group>
105
- }
106
- `, 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 }); }
107
- }
108
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AITableHoverRowHeads, decorators: [{
109
- type: Component,
110
- args: [{
111
- selector: 'ai-table-hover-row-heads',
112
- template: `
113
- @for (config of headConfigs(); track config.recordId) {
114
- <ko-group [config]="{ x: 0, y: config.y, name: 'hover-heads' }">
115
- @if (config.bgConfig) {
116
- <ko-rect [config]="config.bgConfig"></ko-rect>
117
- }
118
- @if (config.iconConfig) {
119
- <ai-table-icon [config]="config.iconConfig"></ai-table-icon>
120
- }
121
- @if (config.dragConfig) {
122
- <ai-table-icon [config]="config.dragConfig"></ai-table-icon>
123
- }
124
- </ko-group>
125
- }
126
- `,
127
- standalone: true,
128
- imports: [KoContainer, KoShape, AITableIcon],
129
- changeDetection: ChangeDetectionStrategy.OnPush
130
- }]
131
- }] });
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG92ZXItcm93LWhlYWRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL3JlbmRlcmVyL2NvbXBvbmVudHMvaG92ZXItcm93LWhlYWRzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMzRCxPQUFPLEVBQ0gscUJBQXFCLEVBQ3JCLG1CQUFtQixFQUNuQiwwQkFBMEIsRUFDMUIsaUJBQWlCLEVBQ2pCLDRCQUE0QixFQUM1QixpQkFBaUIsRUFDakIsNEJBQTRCLEVBQzVCLE1BQU0sRUFDVCxNQUFNLGlCQUFpQixDQUFDO0FBRXpCLE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQStDLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM3SCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUF1QjNDLE1BQU0sT0FBTyxvQkFBb0I7SUFyQmpDO1FBc0JJLFdBQU0sR0FBRyxLQUFLLENBQUMsUUFBUSxFQUF5QixDQUFDO1FBRWpELGtCQUFhLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUMxQixPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBUSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzFELENBQUMsQ0FBQyxDQUFDO1FBRUgsZ0JBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3hCLE9BQU8sSUFBSSxDQUFDLG1C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QkFBb0I7bUdBQXBCLG9CQUFvQiwwTkFuQm5COzs7Ozs7Ozs7Ozs7OztLQWNULDREQUVTLFdBQVcsNkVBQUUsT0FBTywraEJBQUUsV0FBVzs7NEZBR2xDLG9CQUFvQjtrQkFyQmhDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDBCQUEwQjtvQkFDcEMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7OztLQWNUO29CQUNELFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxXQUFXLEVBQUUsT0FBTyxFQUFFLFdBQVcsQ0FBQztvQkFDNUMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBLb0NvbnRhaW5lciwgS29TaGFwZSB9IGZyb20gJy4uLy4uL2FuZ3VsYXIta29udmEnO1xuaW1wb3J0IHtcbiAgICBBSV9UQUJMRV9DRUxMX1BBRERJTkcsXG4gICAgQUlfVEFCTEVfRklFTERfSEVBRCxcbiAgICBBSV9UQUJMRV9GSUVMRF9IRUFEX0hFSUdIVCxcbiAgICBBSV9UQUJMRV9ST1dfRFJBRyxcbiAgICBBSV9UQUJMRV9ST1dfRFJBR19JQ09OX1dJRFRILFxuICAgIEFJX1RBQkxFX1JPV19IRUFELFxuICAgIEFJX1RBQkxFX1JPV19TRUxFQ1RfQ0hFQ0tCT1gsXG4gICAgQ29sb3JzXG59IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBSZW5kZXJlckNvbnRleHQgfSBmcm9tICcuLi8uLi9jb3JlJztcbmltcG9ydCB7IEFJVGFibGVBcmVhVHlwZSwgQUlUYWJsZUNoZWNrVHlwZSwgQUlUYWJsZVBvaW50UG9zaXRpb24sIEFJVGFibGVSb3dIZWFkc0NvbmZpZywgQUlUYWJsZVJvd1R5cGUgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBnZW5lcmF0ZVRhcmdldE5hbWUgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgeyBBSVRhYmxlSWNvbiB9IGZyb20gJy4vaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJhZ1R5cGUgfSBmcm9tICdAYWktdGFibGUvdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FpLXRhYmxlLWhvdmVyLXJvdy1oZWFkcycsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgQGZvciAoY29uZmlnIG9mIGhlYWRDb25maWdzKCk7IHRyYWNrIGNvbmZpZy5yZWNvcmRJZCkge1xuICAgICAgICAgICAgPGtvLWdyb3VwIFtjb25maWddPVwieyB4OiAwLCB5OiBjb25maWcueSwgbmFtZTogJ2hvdmVyLWhlYWRzJyB9XCI+XG4gICAgICAgICAgICAgICAgQGlmIChjb25maWcuYmdDb25maWcpIHtcbiAgICAgICAgICAgICAgICAgICAgPGtvLXJlY3QgW2NvbmZpZ109XCJjb25maWcuYmdDb25maWdcIj48L2tvLXJlY3Q+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpZiAoY29uZmlnLmljb25Db25maWcpIHtcbiAgICAgICAgICAgICAgICAgICAgPGFpLXRhYmxlLWljb24gW2NvbmZpZ109XCJjb25maWcuaWNvbkNvbmZpZ1wiPjwvYWktdGFibGUtaWNvbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmIChjb25maWcuZHJhZ0NvbmZpZykge1xuICAgICAgICAgICAgICAgICAgICA8YWktdGFibGUtaWNvbiBbY29uZmlnXT1cImNvbmZpZy5kcmFnQ29uZmlnXCI+PC9haS10YWJsZS1pY29uPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwva28tZ3JvdXA+XG4gICAgICAgIH1cbiAgICBgLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0tvQ29udGFpbmVyLCBLb1NoYXBlLCBBSVRhYmxlSWNvbl0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQUlUYWJsZUhvdmVyUm93SGVhZHMge1xuICAgIGNvbmZpZyA9IGlucHV0LnJlcXVpcmVkPEFJVGFibGVSb3dIZWFkc0NvbmZpZz4oKTtcblxuICAgIHBvaW50UG9zaXRpb24gPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZygpLmFpVGFibGUuY29udGV4dCEucG9pbnRQb3NpdGlvbigpO1xuICAgIH0pO1xuXG4gICAgaGVhZENvbmZpZ3MgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZUhvdmVyUm93SGVhZHModGhpcy5wb2ludFBvc2l0aW9uKCkpO1xuICAgIH0pO1xuXG4gICAgcmVhZG9ubHkgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZygpLnJlYWRvbmx5O1xuICAgIH0pO1xuXG4gICAgcm93RHJhZ0Rpc2FibGVkID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb25maWcoKS5yb3dEcmFnRGlzYWJsZWQ7XG4gICAgfSk7XG5cbiAgICBjcmVhdGVIb3ZlclJvd0hlYWRzID0gKHBvaW50UG9zaXRpb246IEFJVGFibGVQb2ludFBvc2l0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgY29vcmRpbmF0ZSwgcm93U3RhcnRJbmRleCwgcm93U3RvcEluZGV4LCBhaVRhYmxlIH0gPSB0aGlzLmNvbmZpZygpO1xuICAgICAgICBjb25zdCBjb250ZXh0ID0gYWlUYWJsZS5jb250ZXh0IGFzIFJlbmRlcmVyQ29udGV4dDtcbiAgICAgICAgY29uc3QgaGVhZENvbmZpZ3M6IGFueVtdID0gW107XG5cbiAgICAgICAgZm9yIChsZXQgcm93SW5kZXggPSByb3dTdGFydEluZGV4OyByb3dJbmRleCA8PSByb3dTdG9wSW5kZXg7IHJvd0luZGV4KyspIHtcbiAgICAgICAgICAgIGlmIChyb3dJbmRleCA+IGNvb3JkaW5hdGUucm93Q291bnQgLSAxKSB7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHJvdyA9IGNvbnRleHQubGluZWFyUm93cygpW3Jvd0luZGV4XTtcbiAgICAgICAgICAgIGlmIChyb3cgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCB7IHR5cGUsIF9pZDogcmVjb3JkSWQgfSA9IHJvdztcbiAgICAgICAgICAgIGlmICh0eXBlICE9PSBBSVRhYmxlUm93VHlwZS5yZWNvcmQgfHwgcmVjb3JkSWQgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBpc0NoZWNrZWRSb3cgPSBhaVRhYmxlLnNlbGVjdGlvbigpLnNlbGVjdGVkUmVjb3Jkcy5oYXMocmVjb3JkSWQpO1xuICAgICAgICAgICAgY29uc3QgeyBhcmVhVHlwZSwgcm93SW5kZXg6IHBvaW50Um93SW5kZXgsIHRhcmdldE5hbWUgfSA9IHBvaW50UG9zaXRpb247XG5cbiAgICAgICAgICAgIGlmICghaXNDaGVja2VkUm93ICYmIGFyZWFUeXBlID09PSBBSVRhYmxlQXJlYVR5cGUubm9uZSkge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsZXQgaXNIb3ZlclJvdztcbiAgICAgICAgICAgIGlmIChwb2ludFJvd0luZGV4ID4gLTEgJiYgISFjb250ZXh0LmxpbmVhclJvd3MoKS5sZW5ndGggJiYgcG9pbnRSb3dJbmRleCA8IGNvbnRleHQubGluZWFyUm93cygpLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgdHlwZTogcG9pbnRSb3dUeXBlLCBfaWQ6IHBvaW50UmVjb3JkSWQgfSA9IGNvbnRleHQubGluZWFyUm93cygpW3BvaW50Um93SW5kZXhdO1xuICAgICAgICAgICAgICAgIGlzSG92ZXJSb3cgPSByZWNvcmRJZCA9PT0gcG9pbnRSZWNvcmRJZCAmJiBwb2ludFJvd1R5cGUgPT09IEFJVGFibGVSb3dUeXBlLnJlY29yZCAmJiB0YXJnZXROYW1lICE9PSBBSV9UQUJMRV9GSUVMRF9IRUFEO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsZXQgb3BlcmF0aW9uR3JvdXA6IHsgcmVjb3JkSWQ6IHN0cmluZzsgeTogbnVtYmVyOyBiZ0NvbmZpZzogYW55OyBpY29uQ29uZmlnPzogYW55OyBkcmFnQ29uZmlnPzogYW55IH07XG5cbiAgICAgICAgICAgIG9wZXJhdGlvbkdyb3VwID0ge1xuICAgICAgICAgICAgICAgIHJlY29yZElkLFxuICAgICAgICAgICAgICAgIHk6IGNvb3JkaW5hdGUuZ2V0Um93T2Zmc2V0KHJvd0luZGV4KSxcbiAgICAgICAgICAgICAgICBiZ0NvbmZpZzoge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiBnZW5lcmF0ZVRhcmdldE5hbWUoeyB0YXJnZXROYW1lOiBBSV9UQUJMRV9ST1dfSEVBRCwgcmVjb3JkSWQgfSksXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjb250ZXh0LnJvd0hlYWRXaWR0aCgpICsgMSxcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBjb29yZGluYXRlLnJvd0hlaWdodCxcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogQ29sb3JzLnRyYW5zcGFyZW50XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgaWYgKGlzQ2hlY2tlZFJvdyB8fCBpc0hvdmVyUm93KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaWNvbk9mZnNldFkgPSAoQUlfVEFCTEVfRklFTERfSEVBRF9IRUlHSFQgLSAxNikgLyAyO1xuICAgICAgICAgICAgICAgIG9wZXJhdGlvbkdyb3VwLmljb25Db25maWcgPSB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IGdlbmVyYXRlVGFyZ2V0TmFtZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXROYW1lOiBBSV9UQUJMRV9ST1dfU0VMRUNUX0NIRUNLQk9YLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVjb3JkSWRcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIHg6IEFJX1RBQkxFX0NFTExfUEFERElORyArIEFJX1RBQkxFX1JPV19EUkFHX0lDT05fV0lEVEgsXG4gICAgICAgICAgICAgICAgICAgIHk6IGljb25PZmZzZXRZLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiBpc0NoZWNrZWRSb3cgPyBBSVRhYmxlQ2hlY2tUeXBlLmNoZWNrZWQgOiBBSVRhYmxlQ2hlY2tUeXBlLnVuY2hlY2tlZCxcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogaXNDaGVja2VkUm93IHx8ICh0YXJnZXROYW1lID09PSBBSV9UQUJMRV9ST1dfU0VMRUNUX0NIRUNLQk9YICYmICFpc0NoZWNrZWRSb3cpID8gQ29sb3JzLnByaW1hcnkgOiBDb2xvcnMuZ3JheTMwMFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLnJlYWRvbmx5KCkgJiYgIXRoaXMucm93RHJhZ0Rpc2FibGVkKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgb3BlcmF0aW9uR3JvdXAuZHJhZ0NvbmZpZyA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IGdlbmVyYXRlVGFyZ2V0TmFtZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0TmFtZTogQUlfVEFCTEVfUk9XX0RSQUcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjb3JkSWRcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgeDogMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHk6IGljb25PZmZzZXRZLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogRHJhZ1R5cGUucmVjb3JkLFxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogQ29sb3JzLmdyYXk2MDBcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaGVhZENvbmZpZ3MucHVzaChvcGVyYXRpb25Hcm91cCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaGVhZENvbmZpZ3M7XG4gICAgfTtcbn1cbiJdfQ==