@ai-table/grid 0.1.26 → 0.1.28
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.
- package/fesm2022/ai-table-grid.mjs +538 -49
- package/fesm2022/ai-table-grid.mjs.map +1 -1
- package/grid.component.d.ts +1 -1
- package/grid.component.d.ts.map +1 -1
- package/package.json +1 -1
- package/renderer/components/cells/attachment.component.d.ts +2 -2
- package/renderer/components/cells/attachment.component.d.ts.map +1 -1
- package/renderer/components/cells/cells.d.ts +2 -2
- package/renderer/components/cells/cells.d.ts.map +1 -1
- package/renderer/components/cells/cover-cell-base.d.ts +11 -0
- package/renderer/components/cells/cover-cell-base.d.ts.map +1 -0
- package/renderer/components/cells/link.component.d.ts +2 -2
- package/renderer/components/cells/link.component.d.ts.map +1 -1
- package/renderer/components/cells/progress.component.d.ts +2 -2
- package/renderer/components/cells/progress.component.d.ts.map +1 -1
- package/renderer/components/cells/rate.component.d.ts +2 -2
- package/renderer/components/cells/rate.component.d.ts.map +1 -1
- package/renderer/components/cells/rich-text.component.d.ts +2 -2
- package/renderer/components/cells/rich-text.component.d.ts.map +1 -1
- package/renderer/components/cover-cell.component.d.ts +6 -6
- package/renderer/components/cover-cell.component.d.ts.map +1 -1
- package/renderer/components/frozen-field-shadow.component.d.ts.map +1 -1
- package/renderer/components/index.d.ts +2 -1
- package/renderer/components/index.d.ts.map +1 -1
- package/renderer/components/scrollable-group/index.d.ts +2 -0
- package/renderer/components/scrollable-group/index.d.ts.map +1 -0
- package/renderer/components/scrollable-group/scrollable-group.component.d.ts +123 -0
- package/renderer/components/scrollable-group/scrollable-group.component.d.ts.map +1 -0
- package/renderer/renderer.component.d.ts +8 -1
- package/renderer/renderer.component.d.ts.map +1 -1
- package/types/grid.d.ts +2 -2
- package/types/grid.d.ts.map +1 -1
- package/utils/cover-cell.d.ts +1 -1
- package/utils/drag-fill/drag-fill.d.ts +1 -0
- package/utils/drag-fill/drag-fill.d.ts.map +1 -1
- package/renderer/components/cells/cover-cell.d.ts +0 -12
- package/renderer/components/cells/cover-cell.d.ts.map +0 -1
@@ -5019,25 +5019,24 @@ class Drawer {
|
|
5019
5019
|
}
|
5020
5020
|
const drawer = new Drawer();
|
5021
5021
|
|
5022
|
-
class
|
5022
|
+
class CoverCellBase {
|
5023
5023
|
constructor() {
|
5024
|
-
super(...arguments);
|
5025
5024
|
this.config = input();
|
5026
5025
|
this.onlyDisplayBorder = input(false);
|
5027
5026
|
}
|
5028
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type:
|
5029
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type:
|
5027
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CoverCellBase, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
5028
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CoverCellBase, isStandalone: true, selector: "ai-table-cover-cell-base", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null }, onlyDisplayBorder: { classPropertyName: "onlyDisplayBorder", publicName: "onlyDisplayBorder", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
5030
5029
|
}
|
5031
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type:
|
5030
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CoverCellBase, decorators: [{
|
5032
5031
|
type: Component,
|
5033
5032
|
args: [{
|
5034
|
-
selector: 'ai-table-cover-cell',
|
5033
|
+
selector: 'ai-table-cover-cell-base',
|
5035
5034
|
template: '',
|
5036
5035
|
changeDetection: ChangeDetectionStrategy.OnPush
|
5037
5036
|
}]
|
5038
5037
|
}] });
|
5039
5038
|
|
5040
|
-
class AITableCellLink extends
|
5039
|
+
class AITableCellLink extends CoverCellBase {
|
5041
5040
|
constructor() {
|
5042
5041
|
super(...arguments);
|
5043
5042
|
this.textOffset = AI_TABLE_CELL_PADDING + AI_TABLE_FIELD_HEAD_ICON_GAP_SIZE;
|
@@ -5241,7 +5240,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
|
|
5241
5240
|
}]
|
5242
5241
|
}] });
|
5243
5242
|
|
5244
|
-
class AITableCellAttachment extends
|
5243
|
+
class AITableCellAttachment extends CoverCellBase {
|
5245
5244
|
constructor() {
|
5246
5245
|
super(...arguments);
|
5247
5246
|
this.attachments = computed(() => {
|
@@ -5340,7 +5339,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
|
|
5340
5339
|
}]
|
5341
5340
|
}] });
|
5342
5341
|
|
5343
|
-
class AITableCellRichText extends
|
5342
|
+
class AITableCellRichText extends CoverCellBase {
|
5344
5343
|
constructor() {
|
5345
5344
|
super(...arguments);
|
5346
5345
|
this.textConfig = computed(() => {
|
@@ -8292,32 +8291,501 @@ class AITableFrozenFieldShadow {
|
|
8292
8291
|
: this.config().height;
|
8293
8292
|
return {
|
8294
8293
|
visible: this.scrollState().scrollLeft > 0,
|
8295
|
-
x: this.frozenAreaWidth(),
|
8294
|
+
x: this.frozenAreaWidth() + 1, // 偏移1,避免和边框重叠导致颜色太深
|
8296
8295
|
y: 0,
|
8297
|
-
|
8298
|
-
|
8299
|
-
|
8300
|
-
|
8301
|
-
|
8302
|
-
shadowOffset: { x: 3.5, y: 0 },
|
8303
|
-
shadowOpacity: 0.25,
|
8304
|
-
shadowForStrokeEnabled: true
|
8296
|
+
width: 8,
|
8297
|
+
height,
|
8298
|
+
fillLinearGradientStartPoint: { x: 0, y: 0 },
|
8299
|
+
fillLinearGradientEndPoint: { x: 8, y: 0 },
|
8300
|
+
fillLinearGradientColorStops: [0, 'rgba(0,0,0,0.05)', 1, Colors.transparent]
|
8305
8301
|
};
|
8306
8302
|
});
|
8307
8303
|
}
|
8308
8304
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableFrozenFieldShadow, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
8309
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: AITableFrozenFieldShadow, isStandalone: true, selector: "ai-table-frozen-field-shadow", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `<ko-
|
8305
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: AITableFrozenFieldShadow, isStandalone: true, selector: "ai-table-frozen-field-shadow", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `<ko-rect [config]="frozenShadowConfig()"></ko-rect>`, 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 }); }
|
8310
8306
|
}
|
8311
8307
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableFrozenFieldShadow, decorators: [{
|
8312
8308
|
type: Component,
|
8313
8309
|
args: [{
|
8314
8310
|
selector: 'ai-table-frozen-field-shadow',
|
8315
|
-
template: `<ko-
|
8311
|
+
template: `<ko-rect [config]="frozenShadowConfig()"></ko-rect>`,
|
8316
8312
|
imports: [KoShape],
|
8317
8313
|
changeDetection: ChangeDetectionStrategy.OnPush
|
8318
8314
|
}]
|
8319
8315
|
}] });
|
8320
8316
|
|
8317
|
+
class AITableScrollableGroup {
|
8318
|
+
constructor() {
|
8319
|
+
this.config = input.required();
|
8320
|
+
this.contentTemplate = input.required();
|
8321
|
+
this.parentContainer = input();
|
8322
|
+
this.scrollPosition = output();
|
8323
|
+
this.displayScrollbarTime = signal(null);
|
8324
|
+
this.hiddenScrollbar = signal(true);
|
8325
|
+
this.isHoverScrollbar = signal(false);
|
8326
|
+
// 滚动位置信号
|
8327
|
+
this.scrollX = signal(0);
|
8328
|
+
this.scrollY = signal(0);
|
8329
|
+
// 滚动条拖拽状态
|
8330
|
+
this.isDraggingVertical = signal(false);
|
8331
|
+
this.isDraggingHorizontal = signal(false);
|
8332
|
+
// 容器配置
|
8333
|
+
this.containerConfig = computed(() => {
|
8334
|
+
const { x = 0, y = 0, width, height } = this.config();
|
8335
|
+
return {
|
8336
|
+
x,
|
8337
|
+
y,
|
8338
|
+
width,
|
8339
|
+
height,
|
8340
|
+
fill: Colors.black,
|
8341
|
+
listening: true,
|
8342
|
+
clipX: 0,
|
8343
|
+
clipY: 0,
|
8344
|
+
clipWidth: width,
|
8345
|
+
clipHeight: height,
|
8346
|
+
name: 'scrollable-group'
|
8347
|
+
};
|
8348
|
+
});
|
8349
|
+
this.bgConfig = computed(() => {
|
8350
|
+
const { x = 0, y = 0, width, height } = this.config();
|
8351
|
+
return {
|
8352
|
+
x: 0,
|
8353
|
+
y: 0,
|
8354
|
+
width,
|
8355
|
+
height,
|
8356
|
+
listening: true
|
8357
|
+
};
|
8358
|
+
});
|
8359
|
+
// 内容区域配置
|
8360
|
+
this.contentConfig = computed(() => {
|
8361
|
+
if (this.config().contentNotScrollbar) {
|
8362
|
+
return {
|
8363
|
+
offsetX: 0,
|
8364
|
+
offsetY: 0
|
8365
|
+
};
|
8366
|
+
}
|
8367
|
+
return {
|
8368
|
+
offsetX: this.scrollX(),
|
8369
|
+
offsetY: this.scrollY()
|
8370
|
+
};
|
8371
|
+
});
|
8372
|
+
// 是否显示竖向滚动条
|
8373
|
+
this.showVerticalScrollbar = computed(() => {
|
8374
|
+
const { height, contentHeight, verticalScrollbar } = this.config();
|
8375
|
+
return verticalScrollbar && contentHeight > height;
|
8376
|
+
});
|
8377
|
+
// 是否显示横向滚动条
|
8378
|
+
this.showHorizontalScrollbar = computed(() => {
|
8379
|
+
const { width, contentWidth, horizontalScrollbar } = this.config();
|
8380
|
+
return horizontalScrollbar && contentWidth > width;
|
8381
|
+
});
|
8382
|
+
// 竖向滚动条配置
|
8383
|
+
this.verticalScrollbarConfig = computed(() => {
|
8384
|
+
const { width, scrollbarSize = 12 } = this.config();
|
8385
|
+
return {
|
8386
|
+
x: width - scrollbarSize,
|
8387
|
+
y: 0,
|
8388
|
+
width: scrollbarSize,
|
8389
|
+
height: this.verticalScrollbarHeight()
|
8390
|
+
};
|
8391
|
+
});
|
8392
|
+
// 横向滚动条配置
|
8393
|
+
this.horizontalScrollbarConfig = computed(() => {
|
8394
|
+
const { height, scrollbarSize = 12 } = this.config();
|
8395
|
+
return {
|
8396
|
+
x: 0,
|
8397
|
+
y: height - scrollbarSize,
|
8398
|
+
width: this.horizontalScrollbarHeight(),
|
8399
|
+
height: scrollbarSize
|
8400
|
+
};
|
8401
|
+
});
|
8402
|
+
// 竖向滚动条轨道配置
|
8403
|
+
this.verticalTrackConfig = computed(() => {
|
8404
|
+
const { scrollbarSize = 12, scrollbarTrackColor, height } = this.config();
|
8405
|
+
return {
|
8406
|
+
x: 0,
|
8407
|
+
y: 0,
|
8408
|
+
width: scrollbarSize,
|
8409
|
+
height: height,
|
8410
|
+
fill: scrollbarTrackColor,
|
8411
|
+
cornerRadius: 2
|
8412
|
+
};
|
8413
|
+
});
|
8414
|
+
// 横向滚动条轨道配置
|
8415
|
+
this.horizontalTrackConfig = computed(() => {
|
8416
|
+
const { scrollbarSize = 12, scrollbarTrackColor } = this.config();
|
8417
|
+
return {
|
8418
|
+
x: 0,
|
8419
|
+
y: 0,
|
8420
|
+
width: this.horizontalScrollbarHeight(),
|
8421
|
+
height: scrollbarSize,
|
8422
|
+
fill: scrollbarTrackColor,
|
8423
|
+
cornerRadius: 2
|
8424
|
+
};
|
8425
|
+
});
|
8426
|
+
this.verticalThumbMinY = computed(() => {
|
8427
|
+
const getAbsolutePositionY = this.verticalTrack.getNode().getAbsolutePosition().y;
|
8428
|
+
return getAbsolutePositionY;
|
8429
|
+
});
|
8430
|
+
// 垂直滚动条滑块的最大Y坐标
|
8431
|
+
this.verticalThumbMaxY = computed(() => {
|
8432
|
+
const { height, contentHeight } = this.config();
|
8433
|
+
const getAbsolutePositionY = this.verticalTrack.getNode().getAbsolutePosition().y;
|
8434
|
+
return getAbsolutePositionY + height - this.verticalThumbHeight();
|
8435
|
+
});
|
8436
|
+
// 横向滚动条滑块的最小X坐标
|
8437
|
+
this.horizontalThumbMinX = computed(() => {
|
8438
|
+
const getAbsolutePositionX = this.horizontalTrack.getNode().getAbsolutePosition().x;
|
8439
|
+
return getAbsolutePositionX;
|
8440
|
+
});
|
8441
|
+
// 横向滚动条滑块的最大X坐标
|
8442
|
+
this.horizontalThumbMaxX = computed(() => {
|
8443
|
+
const { width } = this.config();
|
8444
|
+
const getAbsolutePositionX = this.horizontalTrack.getNode().getAbsolutePosition().x;
|
8445
|
+
return getAbsolutePositionX + width - this.horizontalThumbWidth();
|
8446
|
+
});
|
8447
|
+
// 竖向滚动条滑块高度
|
8448
|
+
this.verticalThumbHeight = computed(() => {
|
8449
|
+
const { height, contentHeight } = this.config();
|
8450
|
+
const thumbHeight = Math.max(20, (height / contentHeight) * this.verticalScrollbarHeight());
|
8451
|
+
return thumbHeight;
|
8452
|
+
});
|
8453
|
+
// 横向滚动条滑块宽度
|
8454
|
+
this.horizontalThumbWidth = computed(() => {
|
8455
|
+
const { width, contentWidth } = this.config();
|
8456
|
+
const thumbWidth = Math.max(20, (width / contentWidth) * this.horizontalScrollbarHeight());
|
8457
|
+
return thumbWidth;
|
8458
|
+
});
|
8459
|
+
// 竖向滚动条滑块配置
|
8460
|
+
this.verticalConfig = computed(() => {
|
8461
|
+
if (this.isDraggingVertical()) {
|
8462
|
+
return null;
|
8463
|
+
}
|
8464
|
+
const { scrollbarSize = 12, scrollbarColor = '#c0c0c0' } = this.config();
|
8465
|
+
const { height, contentHeight } = this.config();
|
8466
|
+
const thumbHeight = this.verticalThumbHeight();
|
8467
|
+
const thumbY = (this.scrollY() / (contentHeight - height)) * (this.verticalScrollbarHeight() - thumbHeight);
|
8468
|
+
return {
|
8469
|
+
x: 1,
|
8470
|
+
y: thumbY,
|
8471
|
+
width: scrollbarSize - 2,
|
8472
|
+
height: thumbHeight,
|
8473
|
+
fill: scrollbarColor,
|
8474
|
+
cornerRadius: 6,
|
8475
|
+
draggable: true,
|
8476
|
+
dragBoundFunc: (pos) => {
|
8477
|
+
this.isDraggingVertical.set(true);
|
8478
|
+
this.displayScrollbarTime.set(new Date());
|
8479
|
+
// 限定垂直滚动条的拖拽范围,并更新newScrollY
|
8480
|
+
const maxThumbY = this.verticalThumbMaxY();
|
8481
|
+
const minThumbY = this.verticalThumbMinY();
|
8482
|
+
const newThumbY = Math.max(Math.min(pos.y, maxThumbY), minThumbY);
|
8483
|
+
const deltaY = newThumbY - this.verticalTrack.getNode().getAbsolutePosition().y;
|
8484
|
+
const newScrollY = (deltaY / (this.verticalScrollbarHeight() - this.verticalThumbHeight())) * (contentHeight - height);
|
8485
|
+
this.scrollY.set(newScrollY);
|
8486
|
+
const x = this.verticalTrack.getNode().getAbsolutePosition().x + 1;
|
8487
|
+
setTimeout(() => {
|
8488
|
+
this.isDraggingVertical.set(false);
|
8489
|
+
}, 100);
|
8490
|
+
return {
|
8491
|
+
x: x,
|
8492
|
+
y: newThumbY
|
8493
|
+
};
|
8494
|
+
}
|
8495
|
+
};
|
8496
|
+
});
|
8497
|
+
// 横向滚动条滑块配置
|
8498
|
+
this.horizontalThumbConfig = computed(() => {
|
8499
|
+
if (this.isDraggingHorizontal()) {
|
8500
|
+
return null;
|
8501
|
+
}
|
8502
|
+
const { scrollbarSize = 12, scrollbarColor = '#c0c0c0' } = this.config();
|
8503
|
+
const { width, contentWidth } = this.config();
|
8504
|
+
const thumbWidth = this.horizontalThumbWidth();
|
8505
|
+
const thumbX = (this.scrollX() / (contentWidth - width)) * (this.horizontalScrollbarHeight() - thumbWidth);
|
8506
|
+
return {
|
8507
|
+
x: thumbX,
|
8508
|
+
y: 1,
|
8509
|
+
width: thumbWidth,
|
8510
|
+
height: scrollbarSize - 2,
|
8511
|
+
fill: scrollbarColor,
|
8512
|
+
cornerRadius: 6,
|
8513
|
+
draggable: true,
|
8514
|
+
dragBoundFunc: (pos) => {
|
8515
|
+
this.isDraggingHorizontal.set(true);
|
8516
|
+
this.displayScrollbarTime.set(new Date());
|
8517
|
+
// 限定横向滚动条的拖拽范围,并更新scrollX
|
8518
|
+
const maxThumbX = this.horizontalThumbMaxX();
|
8519
|
+
const minThumbX = this.horizontalThumbMinX();
|
8520
|
+
const newThumbX = Math.max(Math.min(pos.x, maxThumbX), minThumbX);
|
8521
|
+
const deltaX = newThumbX - this.horizontalTrack.getNode().getAbsolutePosition().x;
|
8522
|
+
const newScrollX = (deltaX / (this.horizontalScrollbarHeight() - this.horizontalThumbWidth())) * (contentWidth - width);
|
8523
|
+
this.scrollX.set(newScrollX);
|
8524
|
+
const y = this.horizontalTrack.getNode().getAbsolutePosition().y + 1;
|
8525
|
+
setTimeout(() => {
|
8526
|
+
this.isDraggingHorizontal.set(false);
|
8527
|
+
}, 100);
|
8528
|
+
return {
|
8529
|
+
x: newThumbX,
|
8530
|
+
y: y
|
8531
|
+
};
|
8532
|
+
}
|
8533
|
+
};
|
8534
|
+
});
|
8535
|
+
// 横向滚动条滑块配置
|
8536
|
+
this.verticalScrollbarHeight = computed(() => {
|
8537
|
+
const { height } = this.config();
|
8538
|
+
return height;
|
8539
|
+
});
|
8540
|
+
// 获取横向滚动条宽度
|
8541
|
+
this.horizontalScrollbarHeight = computed(() => {
|
8542
|
+
const { width } = this.config();
|
8543
|
+
return width;
|
8544
|
+
});
|
8545
|
+
// 滚动条延迟隐藏
|
8546
|
+
effect(() => {
|
8547
|
+
const displayScrollbarTime = this.displayScrollbarTime();
|
8548
|
+
if (displayScrollbarTime) {
|
8549
|
+
this.hiddenScrollbar.set(false);
|
8550
|
+
clearTimeout(this.hiddenScrollbarTimer);
|
8551
|
+
this.hiddenScrollbarTimer = setTimeout(() => {
|
8552
|
+
this.hiddenScrollbar.set(true);
|
8553
|
+
}, 1000);
|
8554
|
+
}
|
8555
|
+
});
|
8556
|
+
effect(() => {
|
8557
|
+
const scrollX = this.scrollX();
|
8558
|
+
const scrollY = this.scrollY();
|
8559
|
+
this.scrollPosition.emit({ scrollX, scrollY });
|
8560
|
+
});
|
8561
|
+
}
|
8562
|
+
ngAfterViewInit() {
|
8563
|
+
this.contentTemplate().getNode().moveTo(this.contentGroup.getNode());
|
8564
|
+
if (this.parentContainer() && this.rootGroup) {
|
8565
|
+
this.rootGroup.getNode().moveTo(this.parentContainer().getNode());
|
8566
|
+
}
|
8567
|
+
}
|
8568
|
+
stopBubble(e) {
|
8569
|
+
e.event.cancelBubble = true;
|
8570
|
+
}
|
8571
|
+
verticalScrollbarClick(e) {
|
8572
|
+
e.event.cancelBubble = true;
|
8573
|
+
const { contentHeight, height } = this.config();
|
8574
|
+
const y = e.event.evt.offsetY - this.verticalThumbHeight() / 2;
|
8575
|
+
const maxThumbY = this.verticalThumbMaxY();
|
8576
|
+
const minThumbY = this.verticalThumbMinY();
|
8577
|
+
const newThumbY = Math.max(Math.min(y, maxThumbY), minThumbY);
|
8578
|
+
const deltaY = newThumbY - this.verticalTrack.getNode().getAbsolutePosition().y;
|
8579
|
+
const newScrollY = (deltaY / (this.verticalScrollbarHeight() - this.verticalThumbHeight())) * (contentHeight - height);
|
8580
|
+
this.scrollY.set(newScrollY);
|
8581
|
+
}
|
8582
|
+
horizontalScrollbarClick(e) {
|
8583
|
+
e.event.cancelBubble = true;
|
8584
|
+
const { contentWidth, width } = this.config();
|
8585
|
+
const x = e.event.evt.offsetX - this.horizontalThumbWidth() / 2;
|
8586
|
+
const maxThumbX = this.horizontalThumbMaxX();
|
8587
|
+
const minThumbX = this.horizontalThumbMinX();
|
8588
|
+
const newThumbX = Math.max(Math.min(x, maxThumbX), minThumbX);
|
8589
|
+
const deltaX = newThumbX - this.horizontalTrack.getNode().getAbsolutePosition().x;
|
8590
|
+
const newScrollX = (deltaX / (this.horizontalScrollbarHeight() - this.horizontalThumbWidth())) * (contentWidth - width);
|
8591
|
+
this.scrollX.set(newScrollX);
|
8592
|
+
}
|
8593
|
+
setHoverScrollbarStatus(isHover) {
|
8594
|
+
this.isHoverScrollbar.set(isHover);
|
8595
|
+
this.displayScrollbarTime.set(new Date());
|
8596
|
+
}
|
8597
|
+
stageWheel(e) {
|
8598
|
+
if (!this.showVerticalScrollbar() && !this.showHorizontalScrollbar()) {
|
8599
|
+
return;
|
8600
|
+
}
|
8601
|
+
this.displayScrollbarTime.set(new Date());
|
8602
|
+
e.event.cancelBubble = true;
|
8603
|
+
this.scrollByDelta({ deltaX: e.event.evt.deltaX, deltaY: e.event.evt.deltaY });
|
8604
|
+
}
|
8605
|
+
scrollByDelta(delta) {
|
8606
|
+
const { deltaX = 0, deltaY = 0 } = delta;
|
8607
|
+
const { contentWidth, contentHeight, width, height, horizontalScrollbar, verticalScrollbar } = this.config();
|
8608
|
+
if (horizontalScrollbar && deltaX > 0 && contentWidth - width > this.scrollX()) {
|
8609
|
+
const newScrollX = Math.min(this.scrollX() + deltaX, contentWidth - width);
|
8610
|
+
if (newScrollX !== this.scrollX()) {
|
8611
|
+
this.scrollX.set(newScrollX);
|
8612
|
+
}
|
8613
|
+
}
|
8614
|
+
if (horizontalScrollbar && deltaX < 0 && this.scrollX() > 0) {
|
8615
|
+
const newScrollX = Math.max(0, this.scrollX() + deltaX);
|
8616
|
+
if (newScrollX !== this.scrollX()) {
|
8617
|
+
this.scrollX.set(newScrollX);
|
8618
|
+
}
|
8619
|
+
}
|
8620
|
+
if (verticalScrollbar && deltaY > 0 && contentHeight - height > this.scrollY()) {
|
8621
|
+
const newScrollY = Math.min(this.scrollY() + deltaY, contentHeight - height);
|
8622
|
+
if (newScrollY !== this.scrollY()) {
|
8623
|
+
this.scrollY.set(newScrollY);
|
8624
|
+
}
|
8625
|
+
}
|
8626
|
+
if (verticalScrollbar && deltaY < 0 && this.scrollY() > 0) {
|
8627
|
+
const newScrollY = Math.max(0, this.scrollY() + deltaY);
|
8628
|
+
if (newScrollY !== this.scrollY()) {
|
8629
|
+
this.scrollY.set(newScrollY);
|
8630
|
+
}
|
8631
|
+
}
|
8632
|
+
}
|
8633
|
+
// 滚动到指定位置
|
8634
|
+
scrollTo(x, y) {
|
8635
|
+
const { width, height, contentWidth, contentHeight } = this.config();
|
8636
|
+
this.scrollX.set(Math.max(0, Math.min(contentWidth - width, x)));
|
8637
|
+
this.scrollY.set(Math.max(0, Math.min(contentHeight - height, y)));
|
8638
|
+
}
|
8639
|
+
// 滚动到顶部
|
8640
|
+
scrollToTop() {
|
8641
|
+
this.scrollY.set(0);
|
8642
|
+
}
|
8643
|
+
// 滚动到底部
|
8644
|
+
scrollToBottom() {
|
8645
|
+
const { height, contentHeight } = this.config();
|
8646
|
+
this.scrollY.set(Math.max(0, contentHeight - height));
|
8647
|
+
}
|
8648
|
+
// 滚动到左侧
|
8649
|
+
scrollToLeft() {
|
8650
|
+
this.scrollX.set(0);
|
8651
|
+
}
|
8652
|
+
// 滚动到右侧
|
8653
|
+
scrollToRight() {
|
8654
|
+
const { width, contentWidth } = this.config();
|
8655
|
+
this.scrollX.set(Math.max(0, contentWidth - width));
|
8656
|
+
}
|
8657
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableScrollableGroup, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
8658
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AITableScrollableGroup, isStandalone: true, selector: "ai-table-scrollable-group", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, contentTemplate: { classPropertyName: "contentTemplate", publicName: "contentTemplate", isSignal: true, isRequired: true, transformFunction: null }, parentContainer: { classPropertyName: "parentContainer", publicName: "parentContainer", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { scrollPosition: "scrollPosition" }, viewQueries: [{ propertyName: "verticalTrack", first: true, predicate: ["verticalTrack"], descendants: true }, { propertyName: "verticalThumb", first: true, predicate: ["verticalThumb"], descendants: true }, { propertyName: "horizontalTrack", first: true, predicate: ["horizontalTrack"], descendants: true }, { propertyName: "contentGroup", first: true, predicate: ["contentGroup"], descendants: true }, { propertyName: "rootGroup", first: true, predicate: ["rootGroup"], descendants: true }], ngImport: i0, template: `
|
8659
|
+
<ko-group
|
8660
|
+
#rootGroup
|
8661
|
+
[config]="containerConfig()"
|
8662
|
+
(koWheel)="stageWheel($event)"
|
8663
|
+
(koMousedown)="stopBubble($event)"
|
8664
|
+
(koMouseup)="stopBubble($event)"
|
8665
|
+
>
|
8666
|
+
<ko-group>
|
8667
|
+
<ko-rect [config]="bgConfig()"></ko-rect>
|
8668
|
+
</ko-group>
|
8669
|
+
|
8670
|
+
<!-- 内容区域 -->
|
8671
|
+
<ko-group #contentGroup [config]="contentConfig()">
|
8672
|
+
<ng-content></ng-content>
|
8673
|
+
</ko-group>
|
8674
|
+
|
8675
|
+
<ko-group>
|
8676
|
+
@if (showVerticalScrollbar()) {
|
8677
|
+
<ko-group
|
8678
|
+
[config]="verticalScrollbarConfig()"
|
8679
|
+
(koMouseenter)="setHoverScrollbarStatus(true)"
|
8680
|
+
(koMouseleave)="setHoverScrollbarStatus(false)"
|
8681
|
+
(koClick)="verticalScrollbarClick($event)"
|
8682
|
+
>
|
8683
|
+
<!-- 滚动条轨道 -->
|
8684
|
+
<ko-rect #verticalTrack [config]="verticalTrackConfig()"></ko-rect>
|
8685
|
+
<!-- 滚动条滑块 -->
|
8686
|
+
@if (!hiddenScrollbar() || isHoverScrollbar()) {
|
8687
|
+
<ko-rect #verticalThumb [config]="verticalConfig()"></ko-rect>
|
8688
|
+
}
|
8689
|
+
</ko-group>
|
8690
|
+
}
|
8691
|
+
|
8692
|
+
<!-- 横向滚动条 -->
|
8693
|
+
@if (showHorizontalScrollbar()) {
|
8694
|
+
<ko-group
|
8695
|
+
[config]="horizontalScrollbarConfig()"
|
8696
|
+
(koMouseenter)="setHoverScrollbarStatus(true)"
|
8697
|
+
(koMouseleave)="setHoverScrollbarStatus(false)"
|
8698
|
+
(koClick)="horizontalScrollbarClick($event)"
|
8699
|
+
>
|
8700
|
+
<!-- 滚动条轨道 -->
|
8701
|
+
<ko-rect #horizontalTrack [config]="horizontalTrackConfig()"></ko-rect>
|
8702
|
+
<!-- 滚动条滑块 -->
|
8703
|
+
@if (!hiddenScrollbar() || isHoverScrollbar()) {
|
8704
|
+
<ko-rect [config]="horizontalThumbConfig()"></ko-rect>
|
8705
|
+
}
|
8706
|
+
</ko-group>
|
8707
|
+
}
|
8708
|
+
</ko-group>
|
8709
|
+
</ko-group>
|
8710
|
+
`, isInline: true, dependencies: [{ kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }, { kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
8711
|
+
}
|
8712
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableScrollableGroup, decorators: [{
|
8713
|
+
type: Component,
|
8714
|
+
args: [{
|
8715
|
+
selector: 'ai-table-scrollable-group',
|
8716
|
+
template: `
|
8717
|
+
<ko-group
|
8718
|
+
#rootGroup
|
8719
|
+
[config]="containerConfig()"
|
8720
|
+
(koWheel)="stageWheel($event)"
|
8721
|
+
(koMousedown)="stopBubble($event)"
|
8722
|
+
(koMouseup)="stopBubble($event)"
|
8723
|
+
>
|
8724
|
+
<ko-group>
|
8725
|
+
<ko-rect [config]="bgConfig()"></ko-rect>
|
8726
|
+
</ko-group>
|
8727
|
+
|
8728
|
+
<!-- 内容区域 -->
|
8729
|
+
<ko-group #contentGroup [config]="contentConfig()">
|
8730
|
+
<ng-content></ng-content>
|
8731
|
+
</ko-group>
|
8732
|
+
|
8733
|
+
<ko-group>
|
8734
|
+
@if (showVerticalScrollbar()) {
|
8735
|
+
<ko-group
|
8736
|
+
[config]="verticalScrollbarConfig()"
|
8737
|
+
(koMouseenter)="setHoverScrollbarStatus(true)"
|
8738
|
+
(koMouseleave)="setHoverScrollbarStatus(false)"
|
8739
|
+
(koClick)="verticalScrollbarClick($event)"
|
8740
|
+
>
|
8741
|
+
<!-- 滚动条轨道 -->
|
8742
|
+
<ko-rect #verticalTrack [config]="verticalTrackConfig()"></ko-rect>
|
8743
|
+
<!-- 滚动条滑块 -->
|
8744
|
+
@if (!hiddenScrollbar() || isHoverScrollbar()) {
|
8745
|
+
<ko-rect #verticalThumb [config]="verticalConfig()"></ko-rect>
|
8746
|
+
}
|
8747
|
+
</ko-group>
|
8748
|
+
}
|
8749
|
+
|
8750
|
+
<!-- 横向滚动条 -->
|
8751
|
+
@if (showHorizontalScrollbar()) {
|
8752
|
+
<ko-group
|
8753
|
+
[config]="horizontalScrollbarConfig()"
|
8754
|
+
(koMouseenter)="setHoverScrollbarStatus(true)"
|
8755
|
+
(koMouseleave)="setHoverScrollbarStatus(false)"
|
8756
|
+
(koClick)="horizontalScrollbarClick($event)"
|
8757
|
+
>
|
8758
|
+
<!-- 滚动条轨道 -->
|
8759
|
+
<ko-rect #horizontalTrack [config]="horizontalTrackConfig()"></ko-rect>
|
8760
|
+
<!-- 滚动条滑块 -->
|
8761
|
+
@if (!hiddenScrollbar() || isHoverScrollbar()) {
|
8762
|
+
<ko-rect [config]="horizontalThumbConfig()"></ko-rect>
|
8763
|
+
}
|
8764
|
+
</ko-group>
|
8765
|
+
}
|
8766
|
+
</ko-group>
|
8767
|
+
</ko-group>
|
8768
|
+
`,
|
8769
|
+
imports: [KoContainer, KoShape],
|
8770
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
8771
|
+
}]
|
8772
|
+
}], ctorParameters: () => [], propDecorators: { verticalTrack: [{
|
8773
|
+
type: ViewChild,
|
8774
|
+
args: ['verticalTrack']
|
8775
|
+
}], verticalThumb: [{
|
8776
|
+
type: ViewChild,
|
8777
|
+
args: ['verticalThumb']
|
8778
|
+
}], horizontalTrack: [{
|
8779
|
+
type: ViewChild,
|
8780
|
+
args: ['horizontalTrack']
|
8781
|
+
}], contentGroup: [{
|
8782
|
+
type: ViewChild,
|
8783
|
+
args: ['contentGroup']
|
8784
|
+
}], rootGroup: [{
|
8785
|
+
type: ViewChild,
|
8786
|
+
args: ['rootGroup']
|
8787
|
+
}] } });
|
8788
|
+
|
8321
8789
|
class AITableFillHandle {
|
8322
8790
|
constructor() {
|
8323
8791
|
this.config = input.required();
|
@@ -8376,7 +8844,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
|
|
8376
8844
|
}]
|
8377
8845
|
}] });
|
8378
8846
|
|
8379
|
-
class
|
8847
|
+
class AITableCoverCellEntry {
|
8380
8848
|
constructor() {
|
8381
8849
|
this.config = input.required();
|
8382
8850
|
this.onlyDisplayBorder = input(false);
|
@@ -8446,10 +8914,10 @@ class AITableCoverCells {
|
|
8446
8914
|
});
|
8447
8915
|
this.coverCell = computed(() => getCoverCell(this.config().aiTable));
|
8448
8916
|
}
|
8449
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type:
|
8450
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type:
|
8917
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableCoverCellEntry, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
8918
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AITableCoverCellEntry, isStandalone: true, selector: "ai-table-cover-cell-entry", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, onlyDisplayBorder: { classPropertyName: "onlyDisplayBorder", publicName: "onlyDisplayBorder", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
8451
8919
|
@if (coverCell()) {
|
8452
|
-
<ko-group [config]="groupConfig()">
|
8920
|
+
<ko-group #rootGroup [config]="groupConfig()">
|
8453
8921
|
<ng-container
|
8454
8922
|
*ngComponentOutlet="
|
8455
8923
|
coverCell()!.renderComponentDefinition;
|
@@ -8461,13 +8929,13 @@ class AITableCoverCells {
|
|
8461
8929
|
}
|
8462
8930
|
`, isInline: true, dependencies: [{ kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
8463
8931
|
}
|
8464
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type:
|
8932
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableCoverCellEntry, decorators: [{
|
8465
8933
|
type: Component,
|
8466
8934
|
args: [{
|
8467
|
-
selector: 'ai-table-cover-cell',
|
8935
|
+
selector: 'ai-table-cover-cell-entry',
|
8468
8936
|
template: `
|
8469
8937
|
@if (coverCell()) {
|
8470
|
-
<ko-group [config]="groupConfig()">
|
8938
|
+
<ko-group #rootGroup [config]="groupConfig()">
|
8471
8939
|
<ng-container
|
8472
8940
|
*ngComponentOutlet="
|
8473
8941
|
coverCell()!.renderComponentDefinition;
|
@@ -8865,6 +9333,7 @@ class AITableRenderer {
|
|
8865
9333
|
this.koClick = output();
|
8866
9334
|
this.koDblclick = output();
|
8867
9335
|
this.koMouseleave = output();
|
9336
|
+
this.onScrollPosition = output();
|
8868
9337
|
this.isHoverStatContainer = signal(false);
|
8869
9338
|
this.fields = computed(() => {
|
8870
9339
|
return AITable.getVisibleFields(this.config().aiTable);
|
@@ -8929,6 +9398,12 @@ class AITableRenderer {
|
|
8929
9398
|
height: AI_TABLE_FIELD_STAT_CONTAINER_HEIGHT
|
8930
9399
|
};
|
8931
9400
|
});
|
9401
|
+
this.scrollTotalHeight = computed(() => {
|
9402
|
+
return Math.max(this.coordinate().totalHeight, this.containerHeight() - AI_TABLE_FIELD_HEAD_HEIGHT);
|
9403
|
+
});
|
9404
|
+
this.scrollTotalWidth = computed(() => {
|
9405
|
+
return this.coordinate().totalWidth + AI_TABLE_FIELD_ADD_BUTTON_WIDTH;
|
9406
|
+
});
|
8932
9407
|
this.commonGroupConfig = computed(() => {
|
8933
9408
|
return {
|
8934
9409
|
clipX: this.frozenAreaWidth() + 1,
|
@@ -9138,11 +9613,14 @@ class AITableRenderer {
|
|
9138
9613
|
stageMouseleave(e) {
|
9139
9614
|
this.koMouseleave.emit(e);
|
9140
9615
|
}
|
9616
|
+
stageWheel(e) {
|
9617
|
+
this.koWheel.emit(e);
|
9618
|
+
}
|
9141
9619
|
onStatContainerHover(isHover) {
|
9142
9620
|
this.isHoverStatContainer.set(isHover);
|
9143
9621
|
}
|
9144
9622
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableRenderer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
9145
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", 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", koMouseup: "koMouseup", koContextmenu: "koContextmenu", koWheel: "koWheel", koClick: "koClick", koDblclick: "koDblclick", koMouseleave: "koMouseleave" }, ngImport: i0, template: "<ko-stage\n [config]=\"stageConfig()\"\n (koMousemove)=\"stageMousemove($event)\"\n (koMousedown)=\"stageMousedown($event)\"\n (koMouseup)=\"stageMouseup($event)\"\n (koContextmenu)=\"stageContextmenu($event)\"\n (koClick)=\"stageClick($event)\"\n (koDblclick)=\"stageDblclick($event)\"\n (koMouseleave)=\"stageMouseleave($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 @if (!hiddenIndexColumn()) {\n <ai-table-hover-row-heads [config]=\"cellsConfig()\"></ai-table-hover-row-heads>\n }\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]=\"columnFrozenHeadFieldConfig()\"></ai-table-frozen-column-heads>\n </ko-group>\n <ko-group [config]=\"commonGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n <ai-table-cells [config]=\"cellsConfig()\"></ai-table-cells>\n <ai-table-placeholder-cells [config]=\"cellsConfig()\"></ai-table-placeholder-cells>\n <ai-table-cover-cell [config]=\"cellsConfig()\"></ai-table-cover-cell>\n </ko-group>\n\n <ko-group [config]=\"offsetXConfig()\">\n <ai-table-column-heads [config]=\"columnHeadFieldConfig()\"></ai-table-column-heads>\n <ai-table-add-field [config]=\"columnHeadFieldConfig()\"></ai-table-add-field>\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"offsetYConfig()\">\n <ai-table-frozen-field-shadow [config]=\"config()\"></ai-table-frozen-field-shadow>\n </ko-group>\n\n <ko-group [config]=\"attachGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n @if (activeCellBorderConfig().activeCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().activeCellBorder!\"></ko-rect>\n }\n @if (showExpandCellBorder().expandCellBorder) {\n <ai-table-cover-cell [config]=\"cellsConfig()\" [onlyDisplayBorder]=\"true\"></ai-table-cover-cell>\n }\n @if (!isLastSelectedCellInFrozenColumn()) {\n <ai-table-fill-handle [config]=\"fillHandleConfig()\"></ai-table-fill-handle>\n }\n </ko-group>\n </ko-group>\n <ko-group [config]=\"frozenCoverAttachGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n <ai-table-cover-cell [config]=\"cellsConfig()\"></ai-table-cover-cell>\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 @if (showExpandCellBorder().frozenExpandCellBorder) {\n <ai-table-cover-cell [config]=\"cellsConfig()\" [onlyDisplayBorder]=\"true\"></ai-table-cover-cell>\n }\n @if (isLastSelectedCellInFrozenColumn()) {\n <ai-table-fill-handle [config]=\"fillHandleConfig()\"></ai-table-fill-handle>\n }\n </ko-group>\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"statGroupConfig()\">\n <ai-table-background [config]=\"columnFieldStatsBgConfig()\"></ai-table-background>\n <ko-group>\n <ai-table-column-stats\n [config]=\"columnFrozenFieldStatsConfig()\"\n (hover)=\"onStatContainerHover($event)\"\n ></ai-table-column-stats>\n </ko-group>\n <ko-group [config]=\"statCommonGroupConfig()\">\n <ko-group [config]=\"offsetXConfig()\">\n <ai-table-column-stats\n [config]=\"columnFieldStatsConfig()\"\n (hover)=\"onStatContainerHover($event)\"\n ></ai-table-column-stats>\n </ko-group>\n </ko-group>\n <ko-group>\n <ai-table-frozen-field-shadow [config]=\"columnFieldStatsConfig()\" position=\"fieldStats\"></ai-table-frozen-field-shadow>\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:
|
9623
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", 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", koMouseup: "koMouseup", koContextmenu: "koContextmenu", koWheel: "koWheel", koClick: "koClick", koDblclick: "koDblclick", koMouseleave: "koMouseleave", onScrollPosition: "onScrollPosition" }, ngImport: i0, template: "<ko-stage\n [config]=\"stageConfig()\"\n (koMousemove)=\"stageMousemove($event)\"\n (koMousedown)=\"stageMousedown($event)\"\n (koMouseup)=\"stageMouseup($event)\"\n (koContextmenu)=\"stageContextmenu($event)\"\n (koClick)=\"stageClick($event)\"\n (koDblclick)=\"stageDblclick($event)\"\n (koMouseleave)=\"stageMouseleave($event)\"\n (koWheel)=\"stageWheel($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 @if (!hiddenIndexColumn()) {\n <ai-table-hover-row-heads [config]=\"cellsConfig()\"></ai-table-hover-row-heads>\n }\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]=\"columnFrozenHeadFieldConfig()\"></ai-table-frozen-column-heads>\n </ko-group>\n <ko-group [config]=\"commonGroupConfig()\">\n <ko-group #commonOffsetGroup [config]=\"offsetConfig()\">\n <ai-table-cells [config]=\"cellsConfig()\"></ai-table-cells>\n <ai-table-placeholder-cells [config]=\"cellsConfig()\"></ai-table-placeholder-cells>\n <ai-table-cover-cell-entry [config]=\"cellsConfig()\"></ai-table-cover-cell-entry>\n </ko-group>\n\n <ko-group [config]=\"offsetXConfig()\">\n <ai-table-column-heads [config]=\"columnHeadFieldConfig()\"></ai-table-column-heads>\n <ai-table-add-field [config]=\"columnHeadFieldConfig()\"></ai-table-add-field>\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"offsetYConfig()\">\n <ai-table-frozen-field-shadow [config]=\"config()\"></ai-table-frozen-field-shadow>\n </ko-group>\n\n <ko-group [config]=\"attachGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n @if (activeCellBorderConfig().activeCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().activeCellBorder!\"></ko-rect>\n }\n @if (showExpandCellBorder().expandCellBorder) {\n <ai-table-cover-cell-entry [config]=\"cellsConfig()\" [onlyDisplayBorder]=\"true\"></ai-table-cover-cell-entry>\n }\n @if (!isLastSelectedCellInFrozenColumn()) {\n <ai-table-fill-handle [config]=\"fillHandleConfig()\"></ai-table-fill-handle>\n }\n </ko-group>\n </ko-group>\n <ko-group [config]=\"frozenCoverAttachGroupConfig()\">\n <ko-group #frozenCoverAttachOffsetGroup [config]=\"offsetYConfig()\">\n <ai-table-cover-cell-entry [config]=\"cellsConfig()\"></ai-table-cover-cell-entry>\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 @if (showExpandCellBorder().frozenExpandCellBorder) {\n <ai-table-cover-cell-entry [config]=\"cellsConfig()\" [onlyDisplayBorder]=\"true\"></ai-table-cover-cell-entry>\n }\n @if (isLastSelectedCellInFrozenColumn()) {\n <ai-table-fill-handle [config]=\"fillHandleConfig()\"></ai-table-fill-handle>\n }\n </ko-group>\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"statGroupConfig()\">\n <ai-table-background [config]=\"columnFieldStatsBgConfig()\"></ai-table-background>\n <ko-group>\n <ai-table-column-stats\n [config]=\"columnFrozenFieldStatsConfig()\"\n (hover)=\"onStatContainerHover($event)\"\n ></ai-table-column-stats>\n </ko-group>\n <ko-group [config]=\"statCommonGroupConfig()\">\n <ko-group [config]=\"offsetXConfig()\">\n <ai-table-column-stats\n [config]=\"columnFieldStatsConfig()\"\n (hover)=\"onStatContainerHover($event)\"\n ></ai-table-column-stats>\n </ko-group>\n </ko-group>\n <ko-group>\n <ai-table-frozen-field-shadow [config]=\"columnFieldStatsConfig()\" position=\"fieldStats\"></ai-table-frozen-field-shadow>\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: AITableCoverCellEntry, selector: "ai-table-cover-cell-entry", inputs: ["config", "onlyDisplayBorder"] }, { 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"] }, { kind: "component", type: AITableFillHandle, selector: "ai-table-fill-handle", inputs: ["config"] }, { kind: "component", type: AITableFieldStats, selector: "ai-table-column-stats", inputs: ["config"], outputs: ["hover"] }, { kind: "component", type: AITableBackground, selector: "ai-table-background", inputs: ["config", "isActive", "isHover"], outputs: ["koClick", "hover", "koMouseenter", "koMouseleave", "isHoverChange"] }, { kind: "component", type: AITableFrozenFieldShadow, selector: "ai-table-frozen-field-shadow", inputs: ["config", "position"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
9146
9624
|
}
|
9147
9625
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableRenderer, decorators: [{
|
9148
9626
|
type: Component,
|
@@ -9155,7 +9633,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
|
|
9155
9633
|
AITableCells,
|
9156
9634
|
AITableFrozenCells,
|
9157
9635
|
AITableFrozenPlaceholderCells,
|
9158
|
-
|
9636
|
+
AITableCoverCellEntry,
|
9159
9637
|
AITablePlaceholderCells,
|
9160
9638
|
AITableAddField,
|
9161
9639
|
AITableHoverRowHeads,
|
@@ -9164,10 +9642,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
|
|
9164
9642
|
AITableFieldStats,
|
9165
9643
|
AITableBackground,
|
9166
9644
|
AITableFrozenFieldShadow
|
9167
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ko-stage\n [config]=\"stageConfig()\"\n (koMousemove)=\"stageMousemove($event)\"\n (koMousedown)=\"stageMousedown($event)\"\n (koMouseup)=\"stageMouseup($event)\"\n (koContextmenu)=\"stageContextmenu($event)\"\n (koClick)=\"stageClick($event)\"\n (koDblclick)=\"stageDblclick($event)\"\n (koMouseleave)=\"stageMouseleave($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 @if (!hiddenIndexColumn()) {\n <ai-table-hover-row-heads [config]=\"cellsConfig()\"></ai-table-hover-row-heads>\n }\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]=\"columnFrozenHeadFieldConfig()\"></ai-table-frozen-column-heads>\n </ko-group>\n <ko-group [config]=\"commonGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n <ai-table-cells [config]=\"cellsConfig()\"></ai-table-cells>\n <ai-table-placeholder-cells [config]=\"cellsConfig()\"></ai-table-placeholder-cells>\n <ai-table-cover-cell [config]=\"cellsConfig()\"></ai-table-cover-cell>\n </ko-group>\n\n <ko-group [config]=\"offsetXConfig()\">\n <ai-table-column-heads [config]=\"columnHeadFieldConfig()\"></ai-table-column-heads>\n <ai-table-add-field [config]=\"columnHeadFieldConfig()\"></ai-table-add-field>\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"offsetYConfig()\">\n <ai-table-frozen-field-shadow [config]=\"config()\"></ai-table-frozen-field-shadow>\n </ko-group>\n\n <ko-group [config]=\"attachGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n @if (activeCellBorderConfig().activeCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().activeCellBorder!\"></ko-rect>\n }\n @if (showExpandCellBorder().expandCellBorder) {\n <ai-table-cover-cell [config]=\"cellsConfig()\" [onlyDisplayBorder]=\"true\"></ai-table-cover-cell>\n }\n @if (!isLastSelectedCellInFrozenColumn()) {\n <ai-table-fill-handle [config]=\"fillHandleConfig()\"></ai-table-fill-handle>\n }\n </ko-group>\n </ko-group>\n <ko-group [config]=\"frozenCoverAttachGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n <ai-table-cover-cell [config]=\"cellsConfig()\"></ai-table-cover-cell>\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 @if (showExpandCellBorder().frozenExpandCellBorder) {\n <ai-table-cover-cell [config]=\"cellsConfig()\" [onlyDisplayBorder]=\"true\"></ai-table-cover-cell>\n }\n @if (isLastSelectedCellInFrozenColumn()) {\n <ai-table-fill-handle [config]=\"fillHandleConfig()\"></ai-table-fill-handle>\n }\n </ko-group>\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"statGroupConfig()\">\n <ai-table-background [config]=\"columnFieldStatsBgConfig()\"></ai-table-background>\n <ko-group>\n <ai-table-column-stats\n [config]=\"columnFrozenFieldStatsConfig()\"\n (hover)=\"onStatContainerHover($event)\"\n ></ai-table-column-stats>\n </ko-group>\n <ko-group [config]=\"statCommonGroupConfig()\">\n <ko-group [config]=\"offsetXConfig()\">\n <ai-table-column-stats\n [config]=\"columnFieldStatsConfig()\"\n (hover)=\"onStatContainerHover($event)\"\n ></ai-table-column-stats>\n </ko-group>\n </ko-group>\n <ko-group>\n <ai-table-frozen-field-shadow [config]=\"columnFieldStatsConfig()\" position=\"fieldStats\"></ai-table-frozen-field-shadow>\n </ko-group>\n </ko-group>\n </ko-layer>\n</ko-stage>\n\n<ng-content></ng-content>\n" }]
|
9645
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ko-stage\n [config]=\"stageConfig()\"\n (koMousemove)=\"stageMousemove($event)\"\n (koMousedown)=\"stageMousedown($event)\"\n (koMouseup)=\"stageMouseup($event)\"\n (koContextmenu)=\"stageContextmenu($event)\"\n (koClick)=\"stageClick($event)\"\n (koDblclick)=\"stageDblclick($event)\"\n (koMouseleave)=\"stageMouseleave($event)\"\n (koWheel)=\"stageWheel($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 @if (!hiddenIndexColumn()) {\n <ai-table-hover-row-heads [config]=\"cellsConfig()\"></ai-table-hover-row-heads>\n }\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]=\"columnFrozenHeadFieldConfig()\"></ai-table-frozen-column-heads>\n </ko-group>\n <ko-group [config]=\"commonGroupConfig()\">\n <ko-group #commonOffsetGroup [config]=\"offsetConfig()\">\n <ai-table-cells [config]=\"cellsConfig()\"></ai-table-cells>\n <ai-table-placeholder-cells [config]=\"cellsConfig()\"></ai-table-placeholder-cells>\n <ai-table-cover-cell-entry [config]=\"cellsConfig()\"></ai-table-cover-cell-entry>\n </ko-group>\n\n <ko-group [config]=\"offsetXConfig()\">\n <ai-table-column-heads [config]=\"columnHeadFieldConfig()\"></ai-table-column-heads>\n <ai-table-add-field [config]=\"columnHeadFieldConfig()\"></ai-table-add-field>\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"offsetYConfig()\">\n <ai-table-frozen-field-shadow [config]=\"config()\"></ai-table-frozen-field-shadow>\n </ko-group>\n\n <ko-group [config]=\"attachGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n @if (activeCellBorderConfig().activeCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().activeCellBorder!\"></ko-rect>\n }\n @if (showExpandCellBorder().expandCellBorder) {\n <ai-table-cover-cell-entry [config]=\"cellsConfig()\" [onlyDisplayBorder]=\"true\"></ai-table-cover-cell-entry>\n }\n @if (!isLastSelectedCellInFrozenColumn()) {\n <ai-table-fill-handle [config]=\"fillHandleConfig()\"></ai-table-fill-handle>\n }\n </ko-group>\n </ko-group>\n <ko-group [config]=\"frozenCoverAttachGroupConfig()\">\n <ko-group #frozenCoverAttachOffsetGroup [config]=\"offsetYConfig()\">\n <ai-table-cover-cell-entry [config]=\"cellsConfig()\"></ai-table-cover-cell-entry>\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 @if (showExpandCellBorder().frozenExpandCellBorder) {\n <ai-table-cover-cell-entry [config]=\"cellsConfig()\" [onlyDisplayBorder]=\"true\"></ai-table-cover-cell-entry>\n }\n @if (isLastSelectedCellInFrozenColumn()) {\n <ai-table-fill-handle [config]=\"fillHandleConfig()\"></ai-table-fill-handle>\n }\n </ko-group>\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"statGroupConfig()\">\n <ai-table-background [config]=\"columnFieldStatsBgConfig()\"></ai-table-background>\n <ko-group>\n <ai-table-column-stats\n [config]=\"columnFrozenFieldStatsConfig()\"\n (hover)=\"onStatContainerHover($event)\"\n ></ai-table-column-stats>\n </ko-group>\n <ko-group [config]=\"statCommonGroupConfig()\">\n <ko-group [config]=\"offsetXConfig()\">\n <ai-table-column-stats\n [config]=\"columnFieldStatsConfig()\"\n (hover)=\"onStatContainerHover($event)\"\n ></ai-table-column-stats>\n </ko-group>\n </ko-group>\n <ko-group>\n <ai-table-frozen-field-shadow [config]=\"columnFieldStatsConfig()\" position=\"fieldStats\"></ai-table-frozen-field-shadow>\n </ko-group>\n </ko-group>\n </ko-layer>\n</ko-stage>\n\n<ng-content></ng-content>\n" }]
|
9168
9646
|
}] });
|
9169
9647
|
|
9170
|
-
class AITableCellRate extends
|
9648
|
+
class AITableCellRate extends CoverCellBase {
|
9171
9649
|
constructor() {
|
9172
9650
|
super(...arguments);
|
9173
9651
|
this.pointerX = signal(0);
|
@@ -9316,7 +9794,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
|
|
9316
9794
|
}]
|
9317
9795
|
}] });
|
9318
9796
|
|
9319
|
-
class AITableCellProgress extends
|
9797
|
+
class AITableCellProgress extends CoverCellBase {
|
9320
9798
|
constructor() {
|
9321
9799
|
super(...arguments);
|
9322
9800
|
this.readonly = computed(() => {
|
@@ -11314,6 +11792,7 @@ class AITableGrid extends AITableGridBase {
|
|
11314
11792
|
};
|
11315
11793
|
this.dragFillState = {
|
11316
11794
|
isDragging: false,
|
11795
|
+
activeCell: null,
|
11317
11796
|
sourceCells: new Set()
|
11318
11797
|
};
|
11319
11798
|
this.notifyService = inject(ThyNotifyService);
|
@@ -11475,7 +11954,6 @@ class AITableGrid extends AITableGridBase {
|
|
11475
11954
|
this.setContainerRect();
|
11476
11955
|
this.bindGlobalMousedown();
|
11477
11956
|
this.containerResizeListener();
|
11478
|
-
this.bindWheel();
|
11479
11957
|
this.bindShortcuts();
|
11480
11958
|
});
|
11481
11959
|
effect(() => {
|
@@ -11612,7 +12090,7 @@ class AITableGrid extends AITableGridBase {
|
|
11612
12090
|
if (this.dragFillState.isDragging) {
|
11613
12091
|
setMouseStyle('crosshair', this.containerElement());
|
11614
12092
|
const { highlightStartCell, highlightEndCell } = dragFillHighlightArea(this.aiTable, this.dragFillState.sourceCells, recordId);
|
11615
|
-
activeCell = this.
|
12093
|
+
activeCell = this.dragFillState.activeCell;
|
11616
12094
|
startCell = highlightStartCell;
|
11617
12095
|
endCell = highlightEndCell;
|
11618
12096
|
}
|
@@ -11667,6 +12145,7 @@ class AITableGrid extends AITableGridBase {
|
|
11667
12145
|
return;
|
11668
12146
|
this.updateDragFillState({
|
11669
12147
|
isDragging: true,
|
12148
|
+
activeCell: this.aiTable.selection().activeCell,
|
11670
12149
|
sourceCells: this.aiTable.selection().selectedCells
|
11671
12150
|
});
|
11672
12151
|
return;
|
@@ -11706,7 +12185,7 @@ class AITableGrid extends AITableGridBase {
|
|
11706
12185
|
const gridStage = e.event.currentTarget.getStage();
|
11707
12186
|
const pos = gridStage?.getPointerPosition();
|
11708
12187
|
if (pos == null) {
|
11709
|
-
this.updateDragFillState({ isDragging: false, sourceCells: new Set() });
|
12188
|
+
this.updateDragFillState({ isDragging: false, activeCell: null, sourceCells: new Set() });
|
11710
12189
|
return;
|
11711
12190
|
}
|
11712
12191
|
const { context } = this.aiTable;
|
@@ -11716,7 +12195,7 @@ class AITableGrid extends AITableGridBase {
|
|
11716
12195
|
if (recordId) {
|
11717
12196
|
performFill(this.aiTable, this.dragFillState.sourceCells, recordId, this.actions);
|
11718
12197
|
}
|
11719
|
-
this.updateDragFillState({ isDragging: false, sourceCells: new Set() });
|
12198
|
+
this.updateDragFillState({ isDragging: false, activeCell: null, sourceCells: new Set() });
|
11720
12199
|
}
|
11721
12200
|
stageMouseleave(e) {
|
11722
12201
|
if (!this.isDragSelectionAutoScrolling) {
|
@@ -11732,6 +12211,11 @@ class AITableGrid extends AITableGridBase {
|
|
11732
12211
|
this.setDefaultPointPosition();
|
11733
12212
|
});
|
11734
12213
|
}
|
12214
|
+
stageWheel(e) {
|
12215
|
+
e.event.evt.preventDefault();
|
12216
|
+
this.aiTableGridEventService.closeCellEditor();
|
12217
|
+
this.scrollAction({ deltaX: e.event.evt.deltaX, deltaY: e.event.evt.deltaY, shiftKey: e.event.evt.shiftKey });
|
12218
|
+
}
|
11735
12219
|
stageContextmenu(e) {
|
11736
12220
|
const mouseEvent = e.event.evt;
|
11737
12221
|
mouseEvent.preventDefault();
|
@@ -11871,15 +12355,6 @@ class AITableGrid extends AITableGridBase {
|
|
11871
12355
|
}, 0);
|
11872
12356
|
}
|
11873
12357
|
}
|
11874
|
-
bindWheel() {
|
11875
|
-
fromEvent(this.containerElement(), 'wheel', { passive: false })
|
11876
|
-
.pipe(takeUntilDestroyed(this.destroyRef))
|
11877
|
-
.subscribe((e) => {
|
11878
|
-
e.preventDefault();
|
11879
|
-
this.aiTableGridEventService.closeCellEditor();
|
11880
|
-
this.scrollAction({ deltaX: e.deltaX, deltaY: e.deltaY, shiftKey: e.shiftKey });
|
11881
|
-
});
|
11882
|
-
}
|
11883
12358
|
setDefaultPointPosition() {
|
11884
12359
|
const { context } = this.aiTable;
|
11885
12360
|
context.setPointPosition(DEFAULT_POINT_POSITION);
|
@@ -12131,7 +12606,21 @@ class AITableGrid extends AITableGridBase {
|
|
12131
12606
|
const nextField = gridData.fields[!isHorizontalScroll || scrollLeft > 0 ? nextCellIndex : nextCellIndex + 1];
|
12132
12607
|
const nextRecord = gridData.records[nextRowIndex];
|
12133
12608
|
if (nextField && nextRecord) {
|
12134
|
-
|
12609
|
+
let newStartCell = null;
|
12610
|
+
let newEndCell = null;
|
12611
|
+
let newActiveCell = null;
|
12612
|
+
if (this.dragFillState.isDragging) {
|
12613
|
+
const { highlightStartCell, highlightEndCell } = dragFillHighlightArea(this.aiTable, this.dragFillState.sourceCells, nextRecord._id);
|
12614
|
+
newStartCell = highlightStartCell;
|
12615
|
+
newEndCell = highlightEndCell;
|
12616
|
+
newActiveCell = this.dragFillState.activeCell;
|
12617
|
+
}
|
12618
|
+
else {
|
12619
|
+
newStartCell = [startCell[0], startCell[1]];
|
12620
|
+
newEndCell = [nextRecord._id, nextField._id];
|
12621
|
+
newActiveCell = null;
|
12622
|
+
}
|
12623
|
+
this.aiTableGridSelectionService.selectCells(newStartCell, newEndCell, newActiveCell);
|
12135
12624
|
}
|
12136
12625
|
}
|
12137
12626
|
},
|
@@ -12142,18 +12631,18 @@ class AITableGrid extends AITableGridBase {
|
|
12142
12631
|
});
|
12143
12632
|
}
|
12144
12633
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableGrid, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
12145
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AITableGrid, isStandalone: true, selector: "ai-table-grid", host: { classAttribute: "ai-table-grid" }, providers: [AITableGridEventService, AITableGridFieldService, AITableGridSelectionService, AITableScrollControllerService], 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 (koMouseup)=\"stageMouseup($event)\"\n (koContextmenu)=\"stageContextmenu($event)\"\n (koClick)=\"stageClick($event)\"\n (koDblclick)=\"stageDblclick($event)\"\n (koMouseleave)=\"stageMouseleave($event)\"\n >\n @if (domToolTips().length > 0) {\n <div\n class=\"ai-table-left-background-wrapper\"\n [style.height.px]=\"containerRect().height - fieldHeadHeight\"\n [style.top.px]=\"fieldHeadHeight\"\n >\n @for (domToolTip of domToolTips(); track trackBy(idx, domToolTip); let idx = $index) {\n <div\n class=\"ai-table-left-background\"\n [thyTooltip]=\"i18nTexts().rowAddFilterTooltip\"\n [style.--scroll-top.px]=\"domToolTip.top\"\n >\n <thy-icon class=\"text-white\" thyIconName=\"filter-line\"></thy-icon>\n </div>\n }\n </div>\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 <ai-table-drag [horizontalBar]=\"horizontalBarRef()\" [verticalBar]=\"verticalBarRef()\" (dragEnd)=\"dragEnd($event)\"></ai-table-drag>\n</div>\n", dependencies: [{ kind: "component", type: AITableRenderer, selector: "ai-table-renderer", inputs: ["config"], outputs: ["koMousemove", "koMousedown", "koMouseup", "koContextmenu", "koWheel", "koClick", "koDblclick", "koMouseleave"] }, { kind: "component", type: AITableDragComponent, selector: "ai-table-drag", inputs: ["horizontalBar", "verticalBar"], outputs: ["dragEnd"] }, { kind: "directive", type: ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
12634
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AITableGrid, isStandalone: true, selector: "ai-table-grid", host: { classAttribute: "ai-table-grid" }, providers: [AITableGridEventService, AITableGridFieldService, AITableGridSelectionService, AITableScrollControllerService], 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 (koMouseup)=\"stageMouseup($event)\"\n (koContextmenu)=\"stageContextmenu($event)\"\n (koClick)=\"stageClick($event)\"\n (koDblclick)=\"stageDblclick($event)\"\n (koMouseleave)=\"stageMouseleave($event)\"\n (koWheel)=\"stageWheel($event)\"\n >\n @if (domToolTips().length > 0) {\n <div\n class=\"ai-table-left-background-wrapper\"\n [style.height.px]=\"containerRect().height - fieldHeadHeight\"\n [style.top.px]=\"fieldHeadHeight\"\n >\n @for (domToolTip of domToolTips(); track trackBy(idx, domToolTip); let idx = $index) {\n <div\n class=\"ai-table-left-background\"\n [thyTooltip]=\"i18nTexts().rowAddFilterTooltip\"\n [style.--scroll-top.px]=\"domToolTip.top\"\n >\n <thy-icon class=\"text-white\" thyIconName=\"filter-line\"></thy-icon>\n </div>\n }\n </div>\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 <ai-table-drag [horizontalBar]=\"horizontalBarRef()\" [verticalBar]=\"verticalBarRef()\" (dragEnd)=\"dragEnd($event)\"></ai-table-drag>\n</div>\n", dependencies: [{ kind: "component", type: AITableRenderer, selector: "ai-table-renderer", inputs: ["config"], outputs: ["koMousemove", "koMousedown", "koMouseup", "koContextmenu", "koWheel", "koClick", "koDblclick", "koMouseleave", "onScrollPosition"] }, { kind: "component", type: AITableDragComponent, selector: "ai-table-drag", inputs: ["horizontalBar", "verticalBar"], outputs: ["dragEnd"] }, { kind: "directive", type: ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
12146
12635
|
}
|
12147
12636
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AITableGrid, decorators: [{
|
12148
12637
|
type: Component,
|
12149
12638
|
args: [{ selector: 'ai-table-grid', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
12150
12639
|
class: 'ai-table-grid'
|
12151
|
-
}, imports: [AITableRenderer, AITableDragComponent, ThyTooltipDirective, ThyIcon], providers: [AITableGridEventService, AITableGridFieldService, AITableGridSelectionService, AITableScrollControllerService], 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 (koMouseup)=\"stageMouseup($event)\"\n (koContextmenu)=\"stageContextmenu($event)\"\n (koClick)=\"stageClick($event)\"\n (koDblclick)=\"stageDblclick($event)\"\n (koMouseleave)=\"stageMouseleave($event)\"\n >\n @if (domToolTips().length > 0) {\n <div\n class=\"ai-table-left-background-wrapper\"\n [style.height.px]=\"containerRect().height - fieldHeadHeight\"\n [style.top.px]=\"fieldHeadHeight\"\n >\n @for (domToolTip of domToolTips(); track trackBy(idx, domToolTip); let idx = $index) {\n <div\n class=\"ai-table-left-background\"\n [thyTooltip]=\"i18nTexts().rowAddFilterTooltip\"\n [style.--scroll-top.px]=\"domToolTip.top\"\n >\n <thy-icon class=\"text-white\" thyIconName=\"filter-line\"></thy-icon>\n </div>\n }\n </div>\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 <ai-table-drag [horizontalBar]=\"horizontalBarRef()\" [verticalBar]=\"verticalBarRef()\" (dragEnd)=\"dragEnd($event)\"></ai-table-drag>\n</div>\n" }]
|
12640
|
+
}, imports: [AITableRenderer, AITableDragComponent, ThyTooltipDirective, ThyIcon], providers: [AITableGridEventService, AITableGridFieldService, AITableGridSelectionService, AITableScrollControllerService], 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 (koMouseup)=\"stageMouseup($event)\"\n (koContextmenu)=\"stageContextmenu($event)\"\n (koClick)=\"stageClick($event)\"\n (koDblclick)=\"stageDblclick($event)\"\n (koMouseleave)=\"stageMouseleave($event)\"\n (koWheel)=\"stageWheel($event)\"\n >\n @if (domToolTips().length > 0) {\n <div\n class=\"ai-table-left-background-wrapper\"\n [style.height.px]=\"containerRect().height - fieldHeadHeight\"\n [style.top.px]=\"fieldHeadHeight\"\n >\n @for (domToolTip of domToolTips(); track trackBy(idx, domToolTip); let idx = $index) {\n <div\n class=\"ai-table-left-background\"\n [thyTooltip]=\"i18nTexts().rowAddFilterTooltip\"\n [style.--scroll-top.px]=\"domToolTip.top\"\n >\n <thy-icon class=\"text-white\" thyIconName=\"filter-line\"></thy-icon>\n </div>\n }\n </div>\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 <ai-table-drag [horizontalBar]=\"horizontalBarRef()\" [verticalBar]=\"verticalBarRef()\" (dragEnd)=\"dragEnd($event)\"></ai-table-drag>\n</div>\n" }]
|
12152
12641
|
}], ctorParameters: () => [] });
|
12153
12642
|
|
12154
12643
|
/**
|
12155
12644
|
* Generated bundle index. Do not edit.
|
12156
12645
|
*/
|
12157
12646
|
|
12158
|
-
export { AITable, AITableActionIcon, AITableAddField, AITableAreaType, AITableAvatarSize, AITableAvatarType, AITableBackground, AITableCellAttachment, AITableCellLink, AITableCellProgress, AITableCellRate, AITableCellRichText, AITableCells, AITableCheckType, AITableColumnHeads, AITableContextMenu, AITableDomGrid, AITableFieldHead, AITableFieldIcon, AITableFieldIsSameOptionPipe, AITableFieldSetting, AITableFrozenCells, AITableFrozenColumnHeads, AITableFrozenFieldShadow, AITableFrozenPlaceholderCells, AITableGrid, AITableGridEventService, AITableGridFieldService, AITableGridI18nKey, AITableGridI18nText, AITableGridSelectionService, AITableHoverRowHeads, AITableIcon, AITableMemberType, AITableMouseDownType, AITableOtherRows, AITablePlaceholderCells, AITableQueries, AITableRenderer, AITableRowType, AITableSelectAllState, AITableTextComponent, AI_TABLE_ACTION_COMMON_RADIUS, AI_TABLE_ACTION_COMMON_RIGHT_PADDING, AI_TABLE_ACTION_COMMON_SIZE, AI_TABLE_AUTO_SCROLL_BOTTOM_THRESHOLD, AI_TABLE_AUTO_SCROLL_LEFT_THRESHOLD, AI_TABLE_AUTO_SCROLL_RIGHT_THRESHOLD, AI_TABLE_AUTO_SCROLL_TOP_THRESHOLD, AI_TABLE_BLANK, AI_TABLE_CELL, AI_TABLE_CELL_ACTIVE_BORDER_WIDTH, AI_TABLE_CELL_ADD_ITEM_BUTTON_SIZE, AI_TABLE_CELL_ATTACHMENT_ADD, AI_TABLE_CELL_ATTACHMENT_FILE, AI_TABLE_CELL_BORDER, AI_TABLE_CELL_DELETE_ITEM_BUTTON_SIZE, AI_TABLE_CELL_DELETE_ITEM_BUTTON_SIZE_OFFSET, AI_TABLE_CELL_EDIT, AI_TABLE_CELL_EMOJI_PADDING, AI_TABLE_CELL_EMOJI_SIZE, AI_TABLE_CELL_FIELD_ITEM_HEIGHT, AI_TABLE_CELL_LINE_BORDER, AI_TABLE_CELL_MAX_ROW_COUNT, AI_TABLE_CELL_MEMBER_ITEM_HEIGHT, AI_TABLE_CELL_MEMBER_ITEM_PADDING, AI_TABLE_CELL_MEMBER_MAX_HEIGHT, AI_TABLE_CELL_MULTI_DOT_RADIUS, AI_TABLE_CELL_MULTI_ITEM_MARGIN_LEFT, AI_TABLE_CELL_MULTI_ITEM_MARGIN_TOP, AI_TABLE_CELL_MULTI_ITEM_MIN_WIDTH, AI_TABLE_CELL_MULTI_PADDING_LEFT, AI_TABLE_CELL_MULTI_PADDING_TOP, AI_TABLE_CELL_PADDING, AI_TABLE_COMMON_FONT_SIZE, AI_TABLE_DEFAULT_COLUMN_WIDTH, AI_TABLE_DOT_RADIUS, AI_TABLE_FIELD_ADD_BUTTON, AI_TABLE_FIELD_ADD_BUTTON_WIDTH, AI_TABLE_FIELD_HEAD, AI_TABLE_FIELD_HEAD_HEIGHT, AI_TABLE_FIELD_HEAD_ICON_GAP_SIZE, AI_TABLE_FIELD_HEAD_MORE, AI_TABLE_FIELD_HEAD_OPACITY_LINE, AI_TABLE_FIELD_HEAD_SELECT_CHECKBOX, AI_TABLE_FIELD_HEAD_TEXT_MIN_WIDTH, AI_TABLE_FIELD_ITEM_MARGIN_RIGHT, AI_TABLE_FIELD_MAX_WIDTH, AI_TABLE_FIELD_MIDDLE_WIDTH, AI_TABLE_FIELD_MINI_WIDTH, AI_TABLE_FIELD_MIN_WIDTH, AI_TABLE_FIELD_STAT_BG, AI_TABLE_FIELD_STAT_CONTAINER_HEIGHT, AI_TABLE_FIELD_STAT_INNER_HEIGHT, AI_TABLE_FILE_ICON_ITEM_HEIGHT, AI_TABLE_FILE_ICON_SIZE, AI_TABLE_FILL_HANDLE, AI_TABLE_GRID_FIELD_SERVICE_MAP, AI_TABLE_ICON_COMMON_SIZE, AI_TABLE_INDEX_FIELD_TEXT, AI_TABLE_MEMBER_AVATAR_SIZE, AI_TABLE_MEMBER_ITEM_AVATAR_MARGIN_RIGHT, AI_TABLE_MEMBER_ITEM_PADDING_RIGHT, AI_TABLE_MIN_TEXT_WIDTH, AI_TABLE_OFFSET, AI_TABLE_OPTION_ITEM_FONT_SIZE, AI_TABLE_OPTION_ITEM_HEIGHT, AI_TABLE_OPTION_ITEM_PADDING, AI_TABLE_OPTION_ITEM_RADIUS, AI_TABLE_OPTION_MULTI_ITEM_FONT_SIZE, AI_TABLE_PIECE_RADIUS, AI_TABLE_PIECE_WIDTH, AI_TABLE_POPOVER_LEFT_OFFSET, AI_TABLE_PREVENT_CLEAR_SELECTION_CLASS, AI_TABLE_PROGRESS_BAR_HEIGHT, AI_TABLE_PROGRESS_BAR_POINTER_HEIGHT, AI_TABLE_PROGRESS_BAR_POINTER_WIDTH, AI_TABLE_PROGRESS_BAR_RADIUS, AI_TABLE_PROGRESS_TEXT_WIDTH, AI_TABLE_RATE_MAX, AI_TABLE_ROW_ADD_BUTTON, AI_TABLE_ROW_BLANK_HEIGHT, AI_TABLE_ROW_DRAG, AI_TABLE_ROW_DRAG_ICON_WIDTH, AI_TABLE_ROW_HEAD, AI_TABLE_ROW_HEAD_SIZE, AI_TABLE_ROW_HEAD_WIDTH, AI_TABLE_ROW_HEAD_WIDTH_AND_DRAG_ICON_WIDTH, AI_TABLE_ROW_HEIGHT, AI_TABLE_ROW_SELECT_CHECKBOX, AI_TABLE_SCROLL_BAR_PADDING, AI_TABLE_SCROLL_BAR_SIZE, AI_TABLE_TAG_FONT_SIZE, AI_TABLE_TAG_PADDING, AI_TABLE_TEXT_GAP, AI_TABLE_TEXT_LINE_HEIGHT, AbstractEditCellEditor, AddOutlinedPath, AngleDownPath, AttachmentField, AttachmentPath, CellDrawer, Check, Colors, ColumnCalendarFilledPath, ColumnLinkOutlinedPath, ColumnMemberFilledPath, ColumnMultipleFillPath, ColumnNumberFilledPath, ColumnProgressFilledPath, ColumnRatingFilledPath, ColumnRichTextFilledPath, ColumnSelectFilledPath, ColumnTextFilledPath, Coordinate,
|
12647
|
+
export { AITable, AITableActionIcon, AITableAddField, AITableAreaType, AITableAvatarSize, AITableAvatarType, AITableBackground, AITableCellAttachment, AITableCellLink, AITableCellProgress, AITableCellRate, AITableCellRichText, AITableCells, AITableCheckType, AITableColumnHeads, AITableContextMenu, AITableDomGrid, AITableFieldHead, AITableFieldIcon, AITableFieldIsSameOptionPipe, AITableFieldSetting, AITableFrozenCells, AITableFrozenColumnHeads, AITableFrozenFieldShadow, AITableFrozenPlaceholderCells, AITableGrid, AITableGridEventService, AITableGridFieldService, AITableGridI18nKey, AITableGridI18nText, AITableGridSelectionService, AITableHoverRowHeads, AITableIcon, AITableMemberType, AITableMouseDownType, AITableOtherRows, AITablePlaceholderCells, AITableQueries, AITableRenderer, AITableRowType, AITableScrollableGroup, AITableSelectAllState, AITableTextComponent, AI_TABLE_ACTION_COMMON_RADIUS, AI_TABLE_ACTION_COMMON_RIGHT_PADDING, AI_TABLE_ACTION_COMMON_SIZE, AI_TABLE_AUTO_SCROLL_BOTTOM_THRESHOLD, AI_TABLE_AUTO_SCROLL_LEFT_THRESHOLD, AI_TABLE_AUTO_SCROLL_RIGHT_THRESHOLD, AI_TABLE_AUTO_SCROLL_TOP_THRESHOLD, AI_TABLE_BLANK, AI_TABLE_CELL, AI_TABLE_CELL_ACTIVE_BORDER_WIDTH, AI_TABLE_CELL_ADD_ITEM_BUTTON_SIZE, AI_TABLE_CELL_ATTACHMENT_ADD, AI_TABLE_CELL_ATTACHMENT_FILE, AI_TABLE_CELL_BORDER, AI_TABLE_CELL_DELETE_ITEM_BUTTON_SIZE, AI_TABLE_CELL_DELETE_ITEM_BUTTON_SIZE_OFFSET, AI_TABLE_CELL_EDIT, AI_TABLE_CELL_EMOJI_PADDING, AI_TABLE_CELL_EMOJI_SIZE, AI_TABLE_CELL_FIELD_ITEM_HEIGHT, AI_TABLE_CELL_LINE_BORDER, AI_TABLE_CELL_MAX_ROW_COUNT, AI_TABLE_CELL_MEMBER_ITEM_HEIGHT, AI_TABLE_CELL_MEMBER_ITEM_PADDING, AI_TABLE_CELL_MEMBER_MAX_HEIGHT, AI_TABLE_CELL_MULTI_DOT_RADIUS, AI_TABLE_CELL_MULTI_ITEM_MARGIN_LEFT, AI_TABLE_CELL_MULTI_ITEM_MARGIN_TOP, AI_TABLE_CELL_MULTI_ITEM_MIN_WIDTH, AI_TABLE_CELL_MULTI_PADDING_LEFT, AI_TABLE_CELL_MULTI_PADDING_TOP, AI_TABLE_CELL_PADDING, AI_TABLE_COMMON_FONT_SIZE, AI_TABLE_DEFAULT_COLUMN_WIDTH, AI_TABLE_DOT_RADIUS, AI_TABLE_FIELD_ADD_BUTTON, AI_TABLE_FIELD_ADD_BUTTON_WIDTH, AI_TABLE_FIELD_HEAD, AI_TABLE_FIELD_HEAD_HEIGHT, AI_TABLE_FIELD_HEAD_ICON_GAP_SIZE, AI_TABLE_FIELD_HEAD_MORE, AI_TABLE_FIELD_HEAD_OPACITY_LINE, AI_TABLE_FIELD_HEAD_SELECT_CHECKBOX, AI_TABLE_FIELD_HEAD_TEXT_MIN_WIDTH, AI_TABLE_FIELD_ITEM_MARGIN_RIGHT, AI_TABLE_FIELD_MAX_WIDTH, AI_TABLE_FIELD_MIDDLE_WIDTH, AI_TABLE_FIELD_MINI_WIDTH, AI_TABLE_FIELD_MIN_WIDTH, AI_TABLE_FIELD_STAT_BG, AI_TABLE_FIELD_STAT_CONTAINER_HEIGHT, AI_TABLE_FIELD_STAT_INNER_HEIGHT, AI_TABLE_FILE_ICON_ITEM_HEIGHT, AI_TABLE_FILE_ICON_SIZE, AI_TABLE_FILL_HANDLE, AI_TABLE_GRID_FIELD_SERVICE_MAP, AI_TABLE_ICON_COMMON_SIZE, AI_TABLE_INDEX_FIELD_TEXT, AI_TABLE_MEMBER_AVATAR_SIZE, AI_TABLE_MEMBER_ITEM_AVATAR_MARGIN_RIGHT, AI_TABLE_MEMBER_ITEM_PADDING_RIGHT, AI_TABLE_MIN_TEXT_WIDTH, AI_TABLE_OFFSET, AI_TABLE_OPTION_ITEM_FONT_SIZE, AI_TABLE_OPTION_ITEM_HEIGHT, AI_TABLE_OPTION_ITEM_PADDING, AI_TABLE_OPTION_ITEM_RADIUS, AI_TABLE_OPTION_MULTI_ITEM_FONT_SIZE, AI_TABLE_PIECE_RADIUS, AI_TABLE_PIECE_WIDTH, AI_TABLE_POPOVER_LEFT_OFFSET, AI_TABLE_PREVENT_CLEAR_SELECTION_CLASS, AI_TABLE_PROGRESS_BAR_HEIGHT, AI_TABLE_PROGRESS_BAR_POINTER_HEIGHT, AI_TABLE_PROGRESS_BAR_POINTER_WIDTH, AI_TABLE_PROGRESS_BAR_RADIUS, AI_TABLE_PROGRESS_TEXT_WIDTH, AI_TABLE_RATE_MAX, AI_TABLE_ROW_ADD_BUTTON, AI_TABLE_ROW_BLANK_HEIGHT, AI_TABLE_ROW_DRAG, AI_TABLE_ROW_DRAG_ICON_WIDTH, AI_TABLE_ROW_HEAD, AI_TABLE_ROW_HEAD_SIZE, AI_TABLE_ROW_HEAD_WIDTH, AI_TABLE_ROW_HEAD_WIDTH_AND_DRAG_ICON_WIDTH, AI_TABLE_ROW_HEIGHT, AI_TABLE_ROW_SELECT_CHECKBOX, AI_TABLE_SCROLL_BAR_PADDING, AI_TABLE_SCROLL_BAR_SIZE, AI_TABLE_TAG_FONT_SIZE, AI_TABLE_TAG_PADDING, AI_TABLE_TEXT_GAP, AI_TABLE_TEXT_LINE_HEIGHT, AbstractEditCellEditor, AddOutlinedPath, AngleDownPath, AttachmentField, AttachmentPath, CellDrawer, Check, Colors, ColumnCalendarFilledPath, ColumnLinkOutlinedPath, ColumnMemberFilledPath, ColumnMultipleFillPath, ColumnNumberFilledPath, ColumnProgressFilledPath, ColumnRatingFilledPath, ColumnRichTextFilledPath, ColumnSelectFilledPath, ColumnTextFilledPath, Coordinate, CoverCellBase, DBL_CLICK_EDIT_TYPE, DEFAULT_FONT_FAMILY, DEFAULT_FONT_SIZE, DEFAULT_FONT_STYLE, DEFAULT_FONT_WEIGHT, DEFAULT_ICON_SHAPE, DEFAULT_ICON_SIZE, DEFAULT_POINT_POSITION, DEFAULT_SCROLL_STATE, DEFAULT_TEXT_ALIGN_CENTER, DEFAULT_TEXT_ALIGN_LEFT, DEFAULT_TEXT_ALIGN_RIGHT, DEFAULT_TEXT_DECORATION, DEFAULT_TEXT_ELLIPSIS, DEFAULT_TEXT_FILL, DEFAULT_TEXT_LINE_HEIGHT, DEFAULT_TEXT_LISTENING, DEFAULT_TEXT_MAX_CACHE, DEFAULT_TEXT_MAX_HEIGHT, DEFAULT_TEXT_SCALE, DEFAULT_TEXT_TRANSFORMS_ENABLED, DEFAULT_TEXT_VERTICAL_ALIGN_MIDDLE, DEFAULT_TEXT_VERTICAL_ALIGN_TOP, DEFAULT_TEXT_WRAP, DEFAULT_WRAP_TEXT_MAX_ROW, DateCellEditorComponent, DateField, DepartmentOutlinedPath, Drawer, EditPath, FONT_SIZE_SM, FieldModelMap, IconPathMap, IsSelectRecordPipe, KO_CONTAINER_TOKEN, KoComponent, KoContainer, KoShape, KoShapeTypes, KoStage, LinkCellEditorComponent, LinkField, MIN_COLUMN_WIDTH, MemberField, MemberSettingPipe, MoreStandOutlinedPath, NumberCellEditorComponent, NumberField, ProgressField, RateField, RendererContext, RichTextField, RowDragPath, RowHeight, SelectCellEditorComponent, SelectField, SelectOptionComponent, SelectOptionPipe, SelectOptionsPipe, SelectSettingPipe, StarFill, TextCellEditorComponent, TextField, TextMeasure, Unchecked, UserPipe, WebOutlinedPath, aiTableFragmentAttribute, aiTableImageConfigToKonvaConfig, aiTableRectConfigToKonvaConfig, aiTableTextConfigToKonvaConfig, applyNodeProps, buildClipboardData, buildGridData, buildGridLinearRows, castToString, cellDrawer, clearCells, compareNumber, compareOption, compareString, createAITable, createActiveCellBorder, createCells, createDefaultField, createDefaultFieldName, createListener, dragFillHighlightArea, drawer, expandCell, extractLinkUrl, extractText, generateNewName, generateTargetName, getAvatarBgColor, getAvatarShortName, getCellEditorBorderSpace, getCellHorizontalPosition, getColumnIndicesSizeMap, getCoverCell, getDateFieldValues, getDefaultFieldOptions, getDefaultFieldValue, getDefaultI18nTextByKey, getDetailByTargetName, getEditorBoxOffset, getEditorSpace, getFieldOptionByField, getFieldOptionMap, getFieldOptions, getFieldValue, getFileThumbnailSvgString, getFillDirection, getHoverEditorBoxOffset, getHoverEditorSpace, getI18nTextByKey, getMousePosition, getName, getOptionsByFieldAndRecords, getPlaceHolderCellsConfigs, getStartAndEndCell, getSystemFieldValue, getTargetName, getTextWidth, getVisibleRangeInfo, graphemeSplitter, handleMouseStyle, hasIntersect, idCreator, idsCreator, imageCache, isActiveCell, isArrayField, isCellMatchKeywords, isClipboardReadSupported, isClipboardReadTextSupported, isClipboardWriteSupported, isClipboardWriteTextSupported, isDateFiled, isEmptyOrNot, isMac, isMeetFilter, isNumberFiled, isSameFieldOption, isSelectedField, isSystemField, isVirtualKey, isWindows, isWindowsOS, isWithinFrozenColumnBoundary, performFill, processPastedValueForSelect, readFromClipboard, scrollMax, setMouseStyle, shortIdCreator, shortIdsCreator, statDateRangeOfDays, statDateRangeOfMonths, statEarliestTime, statLatestTime, stringInclude, textDataCache, toAttachmentFieldValue, toDateFieldValue, toLinkFieldValue, toMemberFieldValue, toNumberFieldValue, toProgressFieldValue, toRateFieldValue, toRichTextFieldValue, toSelectFieldValue, toTextFieldValue, transformToCellText, updatePicture, writeToAITable, writeToClipboard, zhIntlCollator };
|
12159
12648
|
//# sourceMappingURL=ai-table-grid.mjs.map
|