@ai-table/grid 0.0.16 → 0.0.17

Sign up to get free protection for your applications and to get access to all the features.
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
  /**