@ai-table/grid 0.0.16 → 0.0.17

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 (36) hide show
  1. package/esm2022/grid.component.mjs +11 -9
  2. package/esm2022/renderer/components/add-field-column.component.mjs +29 -18
  3. package/esm2022/renderer/components/field-head.component.mjs +5 -5
  4. package/esm2022/renderer/components/frozen-heads.component.mjs +3 -3
  5. package/esm2022/renderer/components/heads.component.mjs +1 -1
  6. package/esm2022/renderer/creations/create-cells.mjs +4 -4
  7. package/esm2022/renderer/creations/create-heads.mjs +1 -1
  8. package/esm2022/renderer/drawers/add-row-layout-drawer.mjs +4 -4
  9. package/esm2022/renderer/drawers/layout-drawer.mjs +12 -10
  10. package/esm2022/renderer/drawers/record-row-layout-drawer.mjs +16 -7
  11. package/esm2022/renderer/renderer.component.mjs +7 -10
  12. package/esm2022/services/field.service.mjs +4 -7
  13. package/esm2022/types/component-config.mjs +1 -1
  14. package/esm2022/types/field.mjs +1 -1
  15. package/fesm2022/ai-table-grid.mjs +76 -58
  16. package/fesm2022/ai-table-grid.mjs.map +1 -1
  17. package/grid.component.d.ts +1 -1
  18. package/grid.component.d.ts.map +1 -1
  19. package/package.json +1 -1
  20. package/renderer/components/add-field-column.component.d.ts +3 -6
  21. package/renderer/components/add-field-column.component.d.ts.map +1 -1
  22. package/renderer/components/frozen-heads.component.d.ts +2 -2
  23. package/renderer/components/heads.component.d.ts +2 -2
  24. package/renderer/creations/create-heads.d.ts +2 -2
  25. package/renderer/drawers/add-row-layout-drawer.d.ts +1 -1
  26. package/renderer/drawers/add-row-layout-drawer.d.ts.map +1 -1
  27. package/renderer/drawers/layout-drawer.d.ts +2 -2
  28. package/renderer/drawers/layout-drawer.d.ts.map +1 -1
  29. package/renderer/drawers/record-row-layout-drawer.d.ts.map +1 -1
  30. package/renderer/renderer.component.d.ts +1 -1
  31. package/renderer/renderer.component.d.ts.map +1 -1
  32. package/services/field.service.d.ts.map +1 -1
  33. package/types/component-config.d.ts +8 -1
  34. package/types/component-config.d.ts.map +1 -1
  35. package/types/field.d.ts +1 -1
  36. package/types/field.d.ts.map +1 -1
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy90eXBlcy9maWVsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBSVRhYmxlLCBBSVRhYmxlRmllbGQsIFNlbGVjdFNldHRpbmdzIH0gZnJvbSAnLi4vY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQUlUYWJsZUZpZWxkTWVudUl0ZW0ge1xuICAgIHR5cGU6IHN0cmluZztcbiAgICBuYW1lPzogc3RyaW5nO1xuICAgIGljb24/OiBzdHJpbmc7XG4gICAgZXhlYz86IChcbiAgICAgICAgYWlUYWJsZTogQUlUYWJsZSxcbiAgICAgICAgZmllbGQ6IFNpZ25hbDxBSVRhYmxlRmllbGQ+LFxuICAgICAgICBvcmlnaW4/OiBIVE1MRWxlbWVudCB8IEVsZW1lbnRSZWY8YW55PixcbiAgICAgICAgcG9zaXRpb24/OiB7IHg6IG51bWJlcjsgeTogbnVtYmVyIH1cbiAgICApID0+IGFueTtcbiAgICBoaWRkZW4/OiAoYWlUYWJsZTogQUlUYWJsZSwgZmllbGQ6IFNpZ25hbDxBSVRhYmxlRmllbGQ+KSA9PiBib29sZWFuO1xuICAgIGRpc2FibGVkPzogKGFpVGFibGU6IEFJVGFibGUsIGZpZWxkOiBTaWduYWw8QUlUYWJsZUZpZWxkPikgPT4gYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBSVRhYmxlU2VsZWN0RmllbGQgZXh0ZW5kcyBBSVRhYmxlRmllbGQge1xuICAgIHNldHRpbmdzOiBTZWxlY3RTZXR0aW5ncztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBSVRhYmxlRWRpdEZpZWxkT3B0aW9ucyB7XG4gICAgZmllbGQ6IEFJVGFibGVGaWVsZDtcbiAgICBpc1VwZGF0ZTogYm9vbGVhbjtcbiAgICBvcmlnaW46IEhUTUxFbGVtZW50IHwgRWxlbWVudFJlZjxhbnk+O1xuICAgIHBvc2l0aW9uPzogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFJVGFibGVGaWVsZE1lbnVPcHRpb25zIHtcbiAgICBmaWVsZElkOiBzdHJpbmc7XG4gICAgZmllbGRNZW51czogQUlUYWJsZUZpZWxkTWVudUl0ZW1bXTtcbiAgICBlZGl0T3JpZ2luPzogYW55O1xuICAgIG9yaWdpbj86IGFueTtcbiAgICBwb3NpdGlvbj86IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfTtcbiAgICBlZGl0T3JpZ2luUG9zaXRpb24/OiB7IHg6IG51bWJlcjsgeTogbnVtYmVyIH07XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy90eXBlcy9maWVsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBSVRhYmxlLCBBSVRhYmxlRmllbGQsIFNlbGVjdFNldHRpbmdzIH0gZnJvbSAnLi4vY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQUlUYWJsZUZpZWxkTWVudUl0ZW0ge1xuICAgIHR5cGU6IHN0cmluZztcbiAgICBuYW1lPzogc3RyaW5nO1xuICAgIGljb24/OiBzdHJpbmc7XG4gICAgZXhlYz86IChcbiAgICAgICAgYWlUYWJsZTogQUlUYWJsZSxcbiAgICAgICAgZmllbGQ6IFNpZ25hbDxBSVRhYmxlRmllbGQ+LFxuICAgICAgICBvcmlnaW4/OiBIVE1MRWxlbWVudCB8IEVsZW1lbnRSZWY8YW55PixcbiAgICAgICAgcG9zaXRpb24/OiB7IHg6IG51bWJlcjsgeTogbnVtYmVyIH1cbiAgICApID0+IGFueTtcbiAgICBoaWRkZW4/OiAoYWlUYWJsZTogQUlUYWJsZSwgZmllbGQ6IFNpZ25hbDxBSVRhYmxlRmllbGQ+KSA9PiBib29sZWFuO1xuICAgIGRpc2FibGVkPzogKGFpVGFibGU6IEFJVGFibGUsIGZpZWxkOiBTaWduYWw8QUlUYWJsZUZpZWxkPikgPT4gYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBSVRhYmxlU2VsZWN0RmllbGQgZXh0ZW5kcyBBSVRhYmxlRmllbGQge1xuICAgIHNldHRpbmdzOiBTZWxlY3RTZXR0aW5ncztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBSVRhYmxlRWRpdEZpZWxkT3B0aW9ucyB7XG4gICAgZmllbGQ6IEFJVGFibGVGaWVsZDtcbiAgICBpc1VwZGF0ZTogYm9vbGVhbjtcbiAgICBvcmlnaW46IEhUTUxFbGVtZW50IHwgRWxlbWVudFJlZjxhbnk+O1xuICAgIHBvc2l0aW9uPzogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFJVGFibGVGaWVsZE1lbnVPcHRpb25zIHtcbiAgICBmaWVsZElkOiBzdHJpbmc7XG4gICAgZmllbGRNZW51czogQUlUYWJsZUZpZWxkTWVudUl0ZW1bXTtcbiAgICBlZGl0T3JpZ2luPzogYW55O1xuICAgIG9yaWdpbj86IGFueTtcbiAgICBwb3NpdGlvbj86IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfTtcbiAgICBlZGl0RmllbGRQb3NpdGlvbj86IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfTtcbn1cbiJdfQ==
@@ -1681,8 +1681,8 @@ class AITableGridFieldService {
1681
1681
  return this.thyPopover.open(component, {
1682
1682
  origin,
1683
1683
  originPosition: position,
1684
- manualClosure: true,
1685
1684
  placement: 'bottomLeft',
1685
+ originActiveClass: undefined,
1686
1686
  initialState: {
1687
1687
  aiTable,
1688
1688
  aiEditField: field,
@@ -1696,13 +1696,10 @@ class AITableGridFieldService {
1696
1696
  origin,
1697
1697
  originPosition: position,
1698
1698
  placement: 'bottomLeft',
1699
- originActiveClass: origin ? 'active' : undefined,
1700
- hasBackdrop: false,
1701
- insideClosable: true,
1702
- outsideClosable: true,
1699
+ originActiveClass: undefined,
1703
1700
  initialState: {
1704
1701
  origin: editOrigin,
1705
- position: options.editOriginPosition,
1702
+ position: options.editFieldPosition,
1706
1703
  aiTable,
1707
1704
  fieldId,
1708
1705
  fieldMenus
@@ -3190,33 +3187,36 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
3190
3187
 
3191
3188
  class AITableAddField {
3192
3189
  constructor() {
3193
- this.coordinate = input.required();
3194
- this.fields = input.required();
3195
- this.columnStopIndex = input.required();
3190
+ this.config = input.required();
3196
3191
  this.btnWidth = AI_TABLE_FIELD_ADD_BUTTON_WIDTH;
3197
3192
  this.x = computed(() => {
3198
- const lastColumnWidth = this.coordinate().getColumnWidth(this.columnStopIndex());
3199
- const lastColumnOffset = this.coordinate().getColumnOffset(this.columnStopIndex());
3193
+ const lastColumnWidth = this.config().coordinate.getColumnWidth(this.config().columnStopIndex);
3194
+ const lastColumnOffset = this.config().coordinate.getColumnOffset(this.config().columnStopIndex);
3200
3195
  return lastColumnWidth + lastColumnOffset;
3201
3196
  });
3202
3197
  this.rectConfig = computed(() => {
3198
+ const { targetName } = this.config().pointPosition;
3199
+ const fill = targetName === AI_TABLE_FIELD_ADD_BUTTON ? Colors.gray80 : Colors.white;
3203
3200
  return {
3204
3201
  name: generateTargetName({
3205
3202
  targetName: AI_TABLE_FIELD_ADD_BUTTON,
3206
- fieldId: this.fields()[this.columnStopIndex()]._id,
3203
+ fieldId: this.config().fields[this.config().columnStopIndex]._id,
3207
3204
  mouseStyle: 'pointer'
3208
3205
  }),
3209
3206
  x: AI_TABLE_OFFSET,
3210
3207
  y: AI_TABLE_OFFSET,
3211
- width: this.coordinate().containerWidth - this.x() < this.btnWidth ? this.btnWidth : this.coordinate().containerWidth - this.x(),
3212
- height: this.coordinate().rowInitSize,
3208
+ width: this.config().coordinate.containerWidth - this.x() < this.btnWidth
3209
+ ? this.btnWidth
3210
+ : this.config().coordinate.containerWidth - this.x(),
3211
+ height: this.config().coordinate.rowInitSize,
3213
3212
  stroke: Colors.gray200,
3214
3213
  strokeWidth: 1,
3215
- listening: true
3214
+ listening: true,
3215
+ fill
3216
3216
  };
3217
3217
  });
3218
3218
  this.addIconConfig = computed(() => {
3219
- const offsetY = (this.coordinate().rowInitSize - AI_TABLE_ICON_COMMON_SIZE) / 2;
3219
+ const offsetY = (this.config().coordinate.rowInitSize - AI_TABLE_ICON_COMMON_SIZE) / 2;
3220
3220
  return {
3221
3221
  x: AI_TABLE_CELL_PADDING,
3222
3222
  y: offsetY,
@@ -3227,10 +3227,14 @@ class AITableAddField {
3227
3227
  });
3228
3228
  }
3229
3229
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AITableAddField, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3230
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.0", type: AITableAddField, isStandalone: true, selector: "ai-table-add-field", inputs: { coordinate: { classPropertyName: "coordinate", publicName: "coordinate", isSignal: true, isRequired: true, transformFunction: null }, fields: { classPropertyName: "fields", publicName: "fields", isSignal: true, isRequired: true, transformFunction: null }, columnStopIndex: { classPropertyName: "columnStopIndex", publicName: "columnStopIndex", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
3230
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.0", type: AITableAddField, isStandalone: true, selector: "ai-table-add-field", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
3231
3231
  <ko-group [config]="{ x: x() }">
3232
- <ko-rect [config]="rectConfig()"></ko-rect>
3233
- <ai-table-icon [config]="addIconConfig()"></ai-table-icon>
3232
+ <ko-group>
3233
+ <ko-rect [config]="rectConfig()"></ko-rect>
3234
+ </ko-group>
3235
+ <ko-group>
3236
+ <ai-table-icon [config]="addIconConfig()"></ai-table-icon>
3237
+ </ko-group>
3234
3238
  </ko-group>
3235
3239
  `, 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 }); }
3236
3240
  }
@@ -3240,12 +3244,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
3240
3244
  selector: 'ai-table-add-field',
3241
3245
  template: `
3242
3246
  <ko-group [config]="{ x: x() }">
3243
- <ko-rect [config]="rectConfig()"></ko-rect>
3244
- <ai-table-icon [config]="addIconConfig()"></ai-table-icon>
3247
+ <ko-group>
3248
+ <ko-rect [config]="rectConfig()"></ko-rect>
3249
+ </ko-group>
3250
+ <ko-group>
3251
+ <ai-table-icon [config]="addIconConfig()"></ai-table-icon>
3252
+ </ko-group>
3245
3253
  </ko-group>
3246
3254
  `,
3247
3255
  standalone: true,
3248
- imports: [KoContainer, KoStage, KoShape, AITableIcon],
3256
+ imports: [KoContainer, KoShape, AITableIcon],
3249
3257
  changeDetection: ChangeDetectionStrategy.OnPush
3250
3258
  }]
3251
3259
  }] });
@@ -4223,23 +4231,25 @@ class Layout extends Drawer {
4223
4231
  get isLast() {
4224
4232
  return this.columnIndex === this.columnCount - 1;
4225
4233
  }
4226
- renderAddFieldBlank() {
4227
- const width = AI_TABLE_FIELD_ADD_BUTTON_WIDTH;
4228
- const y = this.y;
4234
+ renderAddFieldBlank({ style, isHoverRow }) {
4229
4235
  const rowHeight = this.rowHeight;
4236
+ const fill = style?.fill || (isHoverRow ? this.colors.gray80 : this.colors.transparent);
4237
+ const addFieldBlankX = this.x + this.columnWidth + AI_TABLE_OFFSET;
4230
4238
  this.rect({
4231
- x: this.x + 0.5,
4232
- y: y - 0.5,
4233
- width: this.containerWidth - this.x < width ? width : this.containerWidth - this.x,
4234
- height: rowHeight + 1,
4235
- fill: this.colors.transparent
4239
+ x: addFieldBlankX,
4240
+ y: this.y + AI_TABLE_OFFSET,
4241
+ width: this.containerWidth - addFieldBlankX < AI_TABLE_FIELD_ADD_BUTTON_WIDTH
4242
+ ? AI_TABLE_FIELD_ADD_BUTTON_WIDTH
4243
+ : this.containerWidth - addFieldBlankX,
4244
+ height: rowHeight,
4245
+ fill
4236
4246
  });
4237
4247
  }
4238
4248
  }
4239
4249
 
4240
4250
  class AddRowLayout extends Layout {
4241
- renderAddFieldBlank() {
4242
- super.renderAddFieldBlank();
4251
+ renderAddFieldBlank({ isHoverRow }) {
4252
+ super.renderAddFieldBlank({ isHoverRow });
4243
4253
  const rowHeight = this.rowHeight;
4244
4254
  const defaultWidth = AI_TABLE_FIELD_ADD_BUTTON_WIDTH;
4245
4255
  const width = this.containerWidth - this.x < defaultWidth ? defaultWidth : this.containerWidth - this.x;
@@ -4308,7 +4318,7 @@ class AddRowLayout extends Layout {
4308
4318
  isHoverRow
4309
4319
  });
4310
4320
  }
4311
- this.renderAddFieldBlank();
4321
+ this.renderAddFieldBlank({ isHoverRow });
4312
4322
  }
4313
4323
  renderCommonCell({ isHoverRow }) {
4314
4324
  if (this.isFirst || this.isLast)
@@ -4971,22 +4981,31 @@ class RecordRowLayout extends Layout {
4971
4981
  }
4972
4982
  }
4973
4983
  // 尾列
4974
- renderLastCell({ style }) {
4984
+ renderLastCell({ style, isHoverRow }) {
4975
4985
  if (!this.isLast || this.isFirst)
4976
4986
  return;
4977
4987
  const { fill, stroke } = style;
4978
- const columnWidth = this.columnWidth;
4979
- const width = columnWidth;
4980
4988
  const colors = AITable.getColors();
4981
4989
  // 背景、边框
4982
4990
  this.rect({
4983
4991
  x: this.x,
4984
4992
  y: this.y,
4985
- width,
4993
+ width: this.columnWidth,
4986
4994
  height: this.rowHeight,
4987
4995
  fill: fill || colors.white,
4988
4996
  stroke: stroke || colors.gray200
4989
4997
  });
4998
+ // 延伸到 FIELD_ADD_BUTTON
4999
+ super.renderAddFieldBlank({ style, isHoverRow });
5000
+ const rowHeight = this.rowHeight;
5001
+ const startX = this.x + this.columnWidth;
5002
+ const lineWidth = this.containerWidth - startX < AI_TABLE_FIELD_ADD_BUTTON_WIDTH ? AI_TABLE_FIELD_ADD_BUTTON_WIDTH : this.containerWidth - startX;
5003
+ this.line({
5004
+ x: startX,
5005
+ y: this.y,
5006
+ points: [0, rowHeight, lineWidth, rowHeight],
5007
+ stroke: this.colors.gray200
5008
+ });
4990
5009
  }
4991
5010
  // 绘制中间的普通单元格
4992
5011
  renderCommonCell({ style }) {
@@ -5008,7 +5027,7 @@ class RecordRowLayout extends Layout {
5008
5027
  const { row, style, isCheckedRow, isHoverRow } = config;
5009
5028
  this.renderFirstCell({ row, style, isCheckedRow, isHoverRow });
5010
5029
  this.renderCommonCell({ style });
5011
- this.renderLastCell({ style });
5030
+ this.renderLastCell({ style, isHoverRow });
5012
5031
  }
5013
5032
  }
5014
5033
  const recordRowLayout = new RecordRowLayout();
@@ -5050,8 +5069,8 @@ const createCells = (config) => {
5050
5069
  const row = context.linearRows()[rowIndex];
5051
5070
  const { _id: recordId, type } = row;
5052
5071
  const y = coordinate.getRowOffset(rowIndex) + AI_TABLE_OFFSET;
5053
- const { rowIndex: pointRowIndex, areaType, targetName } = context.pointPosition();
5054
- const isHover = pointRowIndex === rowIndex && areaType !== AITableAreaType.none;
5072
+ const { rowIndex: pointRowIndex, targetName } = context.pointPosition();
5073
+ const isHover = pointRowIndex === rowIndex;
5055
5074
  switch (type) {
5056
5075
  case AITableRowType.add: {
5057
5076
  const isHoverRow = isHover && targetName === AI_TABLE_ROW_ADD_BUTTON;
@@ -5349,11 +5368,11 @@ class AITableFieldHead {
5349
5368
  targetName: AI_TABLE_FIELD_HEAD_MORE,
5350
5369
  fieldId: field._id
5351
5370
  }),
5352
- x: width - AI_TABLE_CELL_PADDING - AI_TABLE_ACTION_COMMON_SIZE,
5371
+ x: width - AI_TABLE_ACTION_COMMON_SIZE,
5353
5372
  y: commonIconOffsetY,
5354
5373
  data: MoreStandOutlinedPath,
5355
5374
  fill: isHoverIcon ? Colors.primary : Colors.gray600,
5356
- background: isSelected || isHoverIcon ? Colors.itemActiveBgColor : Colors.gray80,
5375
+ background: Colors.transparent,
5357
5376
  backgroundWidth: AI_TABLE_ACTION_COMMON_SIZE,
5358
5377
  backgroundHeight: AI_TABLE_ACTION_COMMON_SIZE,
5359
5378
  cornerRadius: 4
@@ -5391,7 +5410,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
5391
5410
  </ko-group>
5392
5411
  `,
5393
5412
  standalone: true,
5394
- imports: [KoContainer, KoStage, KoShape, AITableFieldIcon, AITableText, AITableIcon],
5413
+ imports: [KoContainer, KoShape, AITableFieldIcon, AITableText, AITableIcon],
5395
5414
  changeDetection: ChangeDetectionStrategy.OnPush
5396
5415
  }]
5397
5416
  }] });
@@ -5576,7 +5595,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
5576
5595
  <ko-rect [config]="headBgConfig()"></ko-rect>
5577
5596
  `,
5578
5597
  standalone: true,
5579
- imports: [KoStage, KoShape, AITableFieldHead, AITableIcon, KoContainer],
5598
+ imports: [KoShape, AITableFieldHead, AITableIcon, KoContainer],
5580
5599
  changeDetection: ChangeDetectionStrategy.OnPush
5581
5600
  }]
5582
5601
  }] });
@@ -5942,8 +5961,7 @@ class AITableRenderer {
5942
5961
  return this.coordinate().getColumnOffset(this.visibleRangeInfo().columnStopIndex);
5943
5962
  });
5944
5963
  this.cellGroupClipWidth = computed(() => {
5945
- const { scrollLeft } = this.scrollState();
5946
- return Math.min(this.containerWidth() - this.frozenAreaWidth(), AI_TABLE_FIELD_ADD_BUTTON_WIDTH + this.lastColumnOffset() + this.lastColumnWidth() - scrollLeft - this.frozenAreaWidth());
5964
+ return this.containerWidth() - this.frozenAreaWidth();
5947
5965
  });
5948
5966
  this.stageConfig = computed(() => {
5949
5967
  const { isScrolling } = this.scrollState();
@@ -6004,7 +6022,7 @@ class AITableRenderer {
6004
6022
  offsetY: scrollTop
6005
6023
  };
6006
6024
  });
6007
- this.columnHeadConfig = computed(() => {
6025
+ this.columnHeadOrAddFieldConfig = computed(() => {
6008
6026
  const { columnStartIndex, columnStopIndex } = this.visibleRangeInfo();
6009
6027
  const { aiTable, coordinate } = this.config();
6010
6028
  const { pointPosition } = aiTable.context;
@@ -6048,7 +6066,7 @@ class AITableRenderer {
6048
6066
  this.koDblclick.emit(e);
6049
6067
  }
6050
6068
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AITableRenderer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6051
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AITableRenderer, isStandalone: true, selector: "ai-table-renderer", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { koMousemove: "koMousemove", koMousedown: "koMousedown", koWheel: "koWheel", koClick: "koClick", koDblclick: "koDblclick" }, ngImport: i0, template: "<ko-stage\n [config]=\"stageConfig()\"\n (koMousemove)=\"stageMousemove($event)\"\n (koMousedown)=\"stageMousedown($event)\"\n (koClick)=\"stageClick($event)\"\n (koDblclick)=\"stageDblclick($event)\"\n>\n <ko-layer>\n <ko-group [config]=\"gridGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n <ai-table-frozen-cells [config]=\"cellsConfig()\"></ai-table-frozen-cells>\n <ai-table-other-rows [config]=\"cellsConfig()\"></ai-table-other-rows>\n <ai-table-hover-row-heads [config]=\"cellsConfig()\"></ai-table-hover-row-heads>\n <ai-table-frozen-placeholder-cells [config]=\"cellsConfig()\"></ai-table-frozen-placeholder-cells>\n </ko-group>\n\n <ko-group>\n <ai-table-frozen-column-heads [config]=\"columnHeadConfig()\"></ai-table-frozen-column-heads>\n </ko-group>\n\n <ko-group [config]=\"commonGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n <ai-table-cells [config]=\"cellsConfig()\"></ai-table-cells>\n </ko-group>\n\n <ko-group [config]=\"offsetXConfig()\">\n <ai-table-column-heads [config]=\"columnHeadConfig()\"></ai-table-column-heads>\n <ai-table-add-field\n [coordinate]=\"coordinate()\"\n [fields]=\"fields()\"\n [columnStopIndex]=\"visibleRangeInfo().columnStopIndex\"\n ></ai-table-add-field>\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"attachGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n <ai-table-placeholder-cells [config]=\"cellsConfig()\"></ai-table-placeholder-cells>\n @if (activeCellBorderConfig().activeCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().activeCellBorder!\"></ko-rect>\n }\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"frozenAttachGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n @if (activeCellBorderConfig().frozenActiveCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().frozenActiveCellBorder!\"></ko-rect>\n }\n </ko-group>\n </ko-group>\n </ko-group>\n </ko-layer>\n</ko-stage>\n\n<ng-content></ng-content>\n", dependencies: [{ kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }, { kind: "component", type: KoStage, selector: "ko-stage", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }, { kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }, { kind: "component", type: AITableColumnHeads, selector: "ai-table-column-heads", inputs: ["config"] }, { kind: "component", type: AITableFrozenColumnHeads, selector: "ai-table-frozen-column-heads", inputs: ["config"] }, { kind: "component", type: AITableCells, selector: "ai-table-cells", inputs: ["config"] }, { kind: "component", type: AITableFrozenCells, selector: "ai-table-frozen-cells", inputs: ["config"] }, { kind: "component", type: AITableFrozenPlaceholderCells, selector: "ai-table-frozen-placeholder-cells", inputs: ["config"] }, { kind: "component", type: AITablePlaceholderCells, selector: "ai-table-placeholder-cells", inputs: ["config"] }, { kind: "component", type: AITableAddField, selector: "ai-table-add-field", inputs: ["coordinate", "fields", "columnStopIndex"] }, { kind: "component", type: AITableHoverRowHeads, selector: "ai-table-hover-row-heads", inputs: ["config"] }, { kind: "component", type: AITableOtherRows, selector: "ai-table-other-rows", inputs: ["config"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6069
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AITableRenderer, isStandalone: true, selector: "ai-table-renderer", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { koMousemove: "koMousemove", koMousedown: "koMousedown", koWheel: "koWheel", koClick: "koClick", koDblclick: "koDblclick" }, ngImport: i0, template: "<ko-stage\n [config]=\"stageConfig()\"\n (koMousemove)=\"stageMousemove($event)\"\n (koMousedown)=\"stageMousedown($event)\"\n (koClick)=\"stageClick($event)\"\n (koDblclick)=\"stageDblclick($event)\"\n>\n <ko-layer>\n <ko-group [config]=\"gridGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n <ai-table-frozen-cells [config]=\"cellsConfig()\"></ai-table-frozen-cells>\n <ai-table-other-rows [config]=\"cellsConfig()\"></ai-table-other-rows>\n <ai-table-hover-row-heads [config]=\"cellsConfig()\"></ai-table-hover-row-heads>\n <ai-table-frozen-placeholder-cells [config]=\"cellsConfig()\"></ai-table-frozen-placeholder-cells>\n </ko-group>\n\n <ko-group>\n <ai-table-frozen-column-heads [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-frozen-column-heads>\n </ko-group>\n\n <ko-group [config]=\"commonGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n <ai-table-cells [config]=\"cellsConfig()\"></ai-table-cells>\n </ko-group>\n\n <ko-group [config]=\"offsetXConfig()\">\n <ai-table-column-heads [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-column-heads>\n <ai-table-add-field\n [config]=\"columnHeadOrAddFieldConfig()\"\n ></ai-table-add-field>\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"attachGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n <ai-table-placeholder-cells [config]=\"cellsConfig()\"></ai-table-placeholder-cells>\n @if (activeCellBorderConfig().activeCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().activeCellBorder!\"></ko-rect>\n }\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"frozenAttachGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n @if (activeCellBorderConfig().frozenActiveCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().frozenActiveCellBorder!\"></ko-rect>\n }\n </ko-group>\n </ko-group>\n </ko-group>\n </ko-layer>\n</ko-stage>\n\n<ng-content></ng-content>\n", dependencies: [{ kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }, { kind: "component", type: KoStage, selector: "ko-stage", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }, { kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }, { kind: "component", type: AITableColumnHeads, selector: "ai-table-column-heads", inputs: ["config"] }, { kind: "component", type: AITableFrozenColumnHeads, selector: "ai-table-frozen-column-heads", inputs: ["config"] }, { kind: "component", type: AITableCells, selector: "ai-table-cells", inputs: ["config"] }, { kind: "component", type: AITableFrozenCells, selector: "ai-table-frozen-cells", inputs: ["config"] }, { kind: "component", type: AITableFrozenPlaceholderCells, selector: "ai-table-frozen-placeholder-cells", inputs: ["config"] }, { kind: "component", type: AITablePlaceholderCells, selector: "ai-table-placeholder-cells", inputs: ["config"] }, { kind: "component", type: AITableAddField, selector: "ai-table-add-field", inputs: ["config"] }, { kind: "component", type: AITableHoverRowHeads, selector: "ai-table-hover-row-heads", inputs: ["config"] }, { kind: "component", type: AITableOtherRows, selector: "ai-table-other-rows", inputs: ["config"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6052
6070
  }
6053
6071
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AITableRenderer, decorators: [{
6054
6072
  type: Component,
@@ -6056,8 +6074,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
6056
6074
  KoContainer,
6057
6075
  KoStage,
6058
6076
  KoShape,
6059
- AITableIcon,
6060
- AITableFieldHead,
6061
6077
  AITableColumnHeads,
6062
6078
  AITableFrozenColumnHeads,
6063
6079
  AITableCells,
@@ -6067,14 +6083,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
6067
6083
  AITableAddField,
6068
6084
  AITableHoverRowHeads,
6069
6085
  AITableOtherRows
6070
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ko-stage\n [config]=\"stageConfig()\"\n (koMousemove)=\"stageMousemove($event)\"\n (koMousedown)=\"stageMousedown($event)\"\n (koClick)=\"stageClick($event)\"\n (koDblclick)=\"stageDblclick($event)\"\n>\n <ko-layer>\n <ko-group [config]=\"gridGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n <ai-table-frozen-cells [config]=\"cellsConfig()\"></ai-table-frozen-cells>\n <ai-table-other-rows [config]=\"cellsConfig()\"></ai-table-other-rows>\n <ai-table-hover-row-heads [config]=\"cellsConfig()\"></ai-table-hover-row-heads>\n <ai-table-frozen-placeholder-cells [config]=\"cellsConfig()\"></ai-table-frozen-placeholder-cells>\n </ko-group>\n\n <ko-group>\n <ai-table-frozen-column-heads [config]=\"columnHeadConfig()\"></ai-table-frozen-column-heads>\n </ko-group>\n\n <ko-group [config]=\"commonGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n <ai-table-cells [config]=\"cellsConfig()\"></ai-table-cells>\n </ko-group>\n\n <ko-group [config]=\"offsetXConfig()\">\n <ai-table-column-heads [config]=\"columnHeadConfig()\"></ai-table-column-heads>\n <ai-table-add-field\n [coordinate]=\"coordinate()\"\n [fields]=\"fields()\"\n [columnStopIndex]=\"visibleRangeInfo().columnStopIndex\"\n ></ai-table-add-field>\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"attachGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n <ai-table-placeholder-cells [config]=\"cellsConfig()\"></ai-table-placeholder-cells>\n @if (activeCellBorderConfig().activeCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().activeCellBorder!\"></ko-rect>\n }\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"frozenAttachGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n @if (activeCellBorderConfig().frozenActiveCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().frozenActiveCellBorder!\"></ko-rect>\n }\n </ko-group>\n </ko-group>\n </ko-group>\n </ko-layer>\n</ko-stage>\n\n<ng-content></ng-content>\n" }]
6086
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ko-stage\n [config]=\"stageConfig()\"\n (koMousemove)=\"stageMousemove($event)\"\n (koMousedown)=\"stageMousedown($event)\"\n (koClick)=\"stageClick($event)\"\n (koDblclick)=\"stageDblclick($event)\"\n>\n <ko-layer>\n <ko-group [config]=\"gridGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n <ai-table-frozen-cells [config]=\"cellsConfig()\"></ai-table-frozen-cells>\n <ai-table-other-rows [config]=\"cellsConfig()\"></ai-table-other-rows>\n <ai-table-hover-row-heads [config]=\"cellsConfig()\"></ai-table-hover-row-heads>\n <ai-table-frozen-placeholder-cells [config]=\"cellsConfig()\"></ai-table-frozen-placeholder-cells>\n </ko-group>\n\n <ko-group>\n <ai-table-frozen-column-heads [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-frozen-column-heads>\n </ko-group>\n\n <ko-group [config]=\"commonGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n <ai-table-cells [config]=\"cellsConfig()\"></ai-table-cells>\n </ko-group>\n\n <ko-group [config]=\"offsetXConfig()\">\n <ai-table-column-heads [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-column-heads>\n <ai-table-add-field\n [config]=\"columnHeadOrAddFieldConfig()\"\n ></ai-table-add-field>\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"attachGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n <ai-table-placeholder-cells [config]=\"cellsConfig()\"></ai-table-placeholder-cells>\n @if (activeCellBorderConfig().activeCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().activeCellBorder!\"></ko-rect>\n }\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"frozenAttachGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n @if (activeCellBorderConfig().frozenActiveCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().frozenActiveCellBorder!\"></ko-rect>\n }\n </ko-group>\n </ko-group>\n </ko-group>\n </ko-layer>\n</ko-stage>\n\n<ng-content></ng-content>\n" }]
6071
6087
  }] });
6072
6088
 
6073
6089
  class AITableGrid extends AITableGridBase {
6074
6090
  constructor() {
6075
6091
  super();
6076
6092
  this.fieldHeadHeight = AI_TABLE_FIELD_HEAD_HEIGHT;
6077
- this.ADD_BUTTON_WIDTH = AI_TABLE_FIELD_ADD_BUTTON_WIDTH;
6078
6093
  this.containerRect = signal({ width: 0, height: 0 });
6079
6094
  this.hasContainerRect = computed(() => {
6080
6095
  return this.containerRect().width > 0 && this.containerRect().height > 0;
@@ -6123,6 +6138,9 @@ class AITableGrid extends AITableGridBase {
6123
6138
  this.scrollTotalHeight = computed(() => {
6124
6139
  return Math.max(this.coordinate().totalHeight, this.containerRect().height - this.fieldHeadHeight);
6125
6140
  });
6141
+ this.scrollbarWidth = computed(() => {
6142
+ return this.coordinate().totalWidth + AI_TABLE_FIELD_ADD_BUTTON_WIDTH;
6143
+ });
6126
6144
  this.scrollAction = (options) => {
6127
6145
  if (this.timer) {
6128
6146
  cancelAnimationFrame(this.timer);
@@ -6279,8 +6297,8 @@ class AITableGrid extends AITableGridBase {
6279
6297
  x: containerRect.x + moreRect.x,
6280
6298
  y: containerRect.y + moreRect.y + moreRect.height
6281
6299
  };
6282
- const editOriginPosition = {
6283
- x: AI_TABLE_POPOVER_LEFT_OFFSET + fieldGroupRect.x,
6300
+ const editFieldPosition = {
6301
+ x: containerRect.x + fieldGroupRect.x - AI_TABLE_CELL_PADDING,
6284
6302
  y: containerRect.y + fieldGroupRect.y + fieldGroupRect.height
6285
6303
  };
6286
6304
  const editOrigin = this.containerElement().querySelector('.konvajs-content');
@@ -6290,7 +6308,7 @@ class AITableGrid extends AITableGridBase {
6290
6308
  origin: this.containerElement(),
6291
6309
  position,
6292
6310
  editOrigin: editOrigin,
6293
- editOriginPosition
6311
+ editFieldPosition
6294
6312
  });
6295
6313
  }
6296
6314
  return;
@@ -6364,7 +6382,7 @@ class AITableGrid extends AITableGridBase {
6364
6382
  containerResizeListener() {
6365
6383
  this.resizeObserver = new ResizeObserver(() => {
6366
6384
  const containerWidth = this.containerElement().offsetWidth;
6367
- const totalWidth = this.coordinate().totalWidth + this.ADD_BUTTON_WIDTH;
6385
+ const totalWidth = this.coordinate().totalWidth + AI_TABLE_FIELD_ADD_BUTTON_WIDTH;
6368
6386
  this.setContainerRect();
6369
6387
  if (containerWidth >= totalWidth) {
6370
6388
  this.aiTable.context.setScrollState({ scrollLeft: 0 });
@@ -6417,13 +6435,13 @@ class AITableGrid extends AITableGridBase {
6417
6435
  }
6418
6436
  }
6419
6437
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AITableGrid, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6420
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AITableGrid, isStandalone: true, selector: "ai-table-grid", host: { classAttribute: "ai-table-grid" }, providers: [AITableGridEventService, AITableGridFieldService, AITableGridSelectionService], viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, isSignal: true }, { propertyName: "verticalBarRef", first: true, predicate: ["verticalBar"], descendants: true, isSignal: true }, { propertyName: "horizontalBarRef", first: true, predicate: ["horizontalBar"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div #container class=\"ai-table-grid-view\">\n @if (hasContainerRect()) {\n <ai-table-renderer\n [config]=\"rendererConfig()\"\n (koMousemove)=\"stageMousemove($event)\"\n (koMousedown)=\"stageMousedown($event)\"\n (koClick)=\"stageClick($event)\"\n (koDblclick)=\"stageDblclick($event)\"\n >\n <div #horizontalBar class=\"ai-table-horizontal-scroll-bar-wrapper\" [style.width.px]=\"containerRect().width\">\n <div class=\"ai-table-scroll-bar-inner\" [style.width.px]=\"coordinate().totalWidth + ADD_BUTTON_WIDTH\"></div>\n </div>\n <div\n #verticalBar\n class=\"ai-table-vertical-scroll-bar-wrapper\"\n [style.height.px]=\"containerRect().height - fieldHeadHeight\"\n [style.top.px]=\"fieldHeadHeight\"\n >\n <div class=\"ai-table-scroll-bar-inner\" [style.height.px]=\"scrollTotalHeight()\"></div>\n </div>\n </ai-table-renderer>\n }\n</div>\n", dependencies: [{ kind: "component", type: AITableRenderer, selector: "ai-table-renderer", inputs: ["config"], outputs: ["koMousemove", "koMousedown", "koWheel", "koClick", "koDblclick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6438
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AITableGrid, isStandalone: true, selector: "ai-table-grid", host: { classAttribute: "ai-table-grid" }, providers: [AITableGridEventService, AITableGridFieldService, AITableGridSelectionService], viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, isSignal: true }, { propertyName: "verticalBarRef", first: true, predicate: ["verticalBar"], descendants: true, isSignal: true }, { propertyName: "horizontalBarRef", first: true, predicate: ["horizontalBar"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div #container class=\"ai-table-grid-view\">\n @if (hasContainerRect()) {\n <ai-table-renderer\n [config]=\"rendererConfig()\"\n (koMousemove)=\"stageMousemove($event)\"\n (koMousedown)=\"stageMousedown($event)\"\n (koClick)=\"stageClick($event)\"\n (koDblclick)=\"stageDblclick($event)\"\n >\n <div #horizontalBar class=\"ai-table-horizontal-scroll-bar-wrapper\" [style.width.px]=\"containerRect().width\">\n <div class=\"ai-table-scroll-bar-inner\" [style.width.px]=\"scrollbarWidth()\"></div>\n </div>\n <div\n #verticalBar\n class=\"ai-table-vertical-scroll-bar-wrapper\"\n [style.height.px]=\"containerRect().height - fieldHeadHeight\"\n [style.top.px]=\"fieldHeadHeight\"\n >\n <div class=\"ai-table-scroll-bar-inner\" [style.height.px]=\"scrollTotalHeight()\"></div>\n </div>\n </ai-table-renderer>\n }\n</div>\n", dependencies: [{ kind: "component", type: AITableRenderer, selector: "ai-table-renderer", inputs: ["config"], outputs: ["koMousemove", "koMousedown", "koWheel", "koClick", "koDblclick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6421
6439
  }
6422
6440
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AITableGrid, decorators: [{
6423
6441
  type: Component,
6424
6442
  args: [{ selector: 'ai-table-grid', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, host: {
6425
6443
  class: 'ai-table-grid'
6426
- }, imports: [AITableRenderer], providers: [AITableGridEventService, AITableGridFieldService, AITableGridSelectionService], template: "<div #container class=\"ai-table-grid-view\">\n @if (hasContainerRect()) {\n <ai-table-renderer\n [config]=\"rendererConfig()\"\n (koMousemove)=\"stageMousemove($event)\"\n (koMousedown)=\"stageMousedown($event)\"\n (koClick)=\"stageClick($event)\"\n (koDblclick)=\"stageDblclick($event)\"\n >\n <div #horizontalBar class=\"ai-table-horizontal-scroll-bar-wrapper\" [style.width.px]=\"containerRect().width\">\n <div class=\"ai-table-scroll-bar-inner\" [style.width.px]=\"coordinate().totalWidth + ADD_BUTTON_WIDTH\"></div>\n </div>\n <div\n #verticalBar\n class=\"ai-table-vertical-scroll-bar-wrapper\"\n [style.height.px]=\"containerRect().height - fieldHeadHeight\"\n [style.top.px]=\"fieldHeadHeight\"\n >\n <div class=\"ai-table-scroll-bar-inner\" [style.height.px]=\"scrollTotalHeight()\"></div>\n </div>\n </ai-table-renderer>\n }\n</div>\n" }]
6444
+ }, imports: [AITableRenderer], providers: [AITableGridEventService, AITableGridFieldService, AITableGridSelectionService], template: "<div #container class=\"ai-table-grid-view\">\n @if (hasContainerRect()) {\n <ai-table-renderer\n [config]=\"rendererConfig()\"\n (koMousemove)=\"stageMousemove($event)\"\n (koMousedown)=\"stageMousedown($event)\"\n (koClick)=\"stageClick($event)\"\n (koDblclick)=\"stageDblclick($event)\"\n >\n <div #horizontalBar class=\"ai-table-horizontal-scroll-bar-wrapper\" [style.width.px]=\"containerRect().width\">\n <div class=\"ai-table-scroll-bar-inner\" [style.width.px]=\"scrollbarWidth()\"></div>\n </div>\n <div\n #verticalBar\n class=\"ai-table-vertical-scroll-bar-wrapper\"\n [style.height.px]=\"containerRect().height - fieldHeadHeight\"\n [style.top.px]=\"fieldHeadHeight\"\n >\n <div class=\"ai-table-scroll-bar-inner\" [style.height.px]=\"scrollTotalHeight()\"></div>\n </div>\n </ai-table-renderer>\n }\n</div>\n" }]
6427
6445
  }], ctorParameters: () => [] });
6428
6446
 
6429
6447
  /**