arthub-table 0.2.7-next.8 → 0.2.7
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/dist/arthub-table.common.js +1 -1
- package/dist/arthub-table.common.js.map +1 -1
- package/dist/arthub-table.umd.js +1 -1
- package/dist/arthub-table.umd.js.map +1 -1
- package/dist/arthub-table.umd.min.js +1 -1
- package/dist/arthub-table.umd.min.js.map +1 -1
- package/dist/types/core/DataGrid.d.ts +12 -8
- package/dist/types/core/ImageManager.d.ts +19 -0
- package/dist/types/core/StyleManager.d.ts +0 -8
- package/dist/types/core/viewers/BooleanViewer.d.ts +0 -7
- package/dist/types/core/viewers/ImageViewer.d.ts +4 -2
- package/package.json +1 -1
|
@@ -760,6 +760,9 @@ declare class DataGrid {
|
|
|
760
760
|
tempValue: any;
|
|
761
761
|
focusCell: any;
|
|
762
762
|
enterShift: boolean;
|
|
763
|
+
_multiSelectStartX: number;
|
|
764
|
+
_multiSelectStartY: number;
|
|
765
|
+
_multiSelectThresholdMet: boolean;
|
|
763
766
|
hashChange: {
|
|
764
767
|
[key: string]: boolean;
|
|
765
768
|
};
|
|
@@ -790,8 +793,6 @@ declare class DataGrid {
|
|
|
790
793
|
edgeScroller: EdgeScroller;
|
|
791
794
|
rowIdMap: Map<string, number>;
|
|
792
795
|
selectedRowIds: Set<string>;
|
|
793
|
-
selectedGroupIds: Set<string>;
|
|
794
|
-
_groupSelectedRowIds: Map<string, string[]>;
|
|
795
796
|
lastSelectedRowIndex: number;
|
|
796
797
|
/** Footer 行高度(showFooter 为 false 时返回 0) */
|
|
797
798
|
get footerHeight(): number;
|
|
@@ -1039,6 +1040,8 @@ declare class DataGrid {
|
|
|
1039
1040
|
private static readonly MAX_CONSECUTIVE_RENDER_ERRORS;
|
|
1040
1041
|
private _frozenOverflowWarned;
|
|
1041
1042
|
perfMonitor: PerformanceMonitor;
|
|
1043
|
+
private _imageLoadedHandler;
|
|
1044
|
+
private _gifAnimationHandler;
|
|
1042
1045
|
wfStateStyle: 'icon' | 'tag';
|
|
1043
1046
|
/** Minimum time (ms) a loading indicator must be visible before it can be hidden */
|
|
1044
1047
|
private static readonly MIN_LOADING_DISPLAY_MS;
|
|
@@ -1433,6 +1436,13 @@ declare class DataGrid {
|
|
|
1433
1436
|
* Called when data changes, interaction state changes, etc.
|
|
1434
1437
|
*/
|
|
1435
1438
|
markDirty(): void;
|
|
1439
|
+
/**
|
|
1440
|
+
* [PERF] 反注册本实例向 ImageManager 单例注册过的回调。
|
|
1441
|
+
* Vue 组件 onUnmounted 时调用,避免每次组件卸载/重建累计泄漏 callback
|
|
1442
|
+
* (ImageManager 是全局单例,不会被 GC,闭包持有 this 会拖住整棵 DataGrid 对象图)。
|
|
1443
|
+
* 调用后再次调用是 idempotent 的(offXxx 对不存在的 callback 是 no-op)。
|
|
1444
|
+
*/
|
|
1445
|
+
destroyImageManagerHooks(): void;
|
|
1436
1446
|
/**
|
|
1437
1447
|
* 注册一次性的"下一帧渲染完成后"回调。
|
|
1438
1448
|
* 触发时机:initPaint 的 finally 块(draw 完成或抛异常后)。
|
|
@@ -2266,12 +2276,6 @@ declare class DataGrid {
|
|
|
2266
2276
|
*/
|
|
2267
2277
|
private ensureRowIds;
|
|
2268
2278
|
syncGroupCheckedState(): void;
|
|
2269
|
-
/**
|
|
2270
|
-
* 受控模式下:计算组头应有的 checked 状态,如果与当前不一致则通过回调通知外部修改。
|
|
2271
|
-
* 逻辑与 syncGroupCheckedState 的计算一致,但不直接修改 data.checked 和 selectedGroupIds,
|
|
2272
|
-
* 而是通过 onGroupCheckboxChange 回调让外部决定是否更新。
|
|
2273
|
-
*/
|
|
2274
|
-
private _notifyGroupCheckedChanges;
|
|
2275
2279
|
/**
|
|
2276
2280
|
* 折叠所有任务(受控模式下触发 onCollapseAll 回调,由外部操作 tableTaskList 后刷新)
|
|
2277
2281
|
*/
|
|
@@ -10,6 +10,8 @@ declare class ImageManager {
|
|
|
10
10
|
private gifImages;
|
|
11
11
|
private gifAnimationManager;
|
|
12
12
|
private redrawCallbacks;
|
|
13
|
+
private imageLoadedCallbacks;
|
|
14
|
+
private _imageLoadedFlushScheduled;
|
|
13
15
|
private editIcon;
|
|
14
16
|
private editIconCanvas;
|
|
15
17
|
private editIconColor;
|
|
@@ -291,6 +293,23 @@ declare class ImageManager {
|
|
|
291
293
|
* Trigger redraw callbacks
|
|
292
294
|
*/
|
|
293
295
|
private triggerRedraw;
|
|
296
|
+
/**
|
|
297
|
+
* [PERF] 注册图片加载完成(成功 + 失败)后的重绘回调。
|
|
298
|
+
* 由 DataGrid 在构造时注册一次(推荐回调内仅做 markDirty,rAF 循环统一合并实际 draw)。
|
|
299
|
+
* 与 onAnimationFrame(GIF 动画帧)相互独立。
|
|
300
|
+
*/
|
|
301
|
+
onImageLoaded(callback: () => void): void;
|
|
302
|
+
/**
|
|
303
|
+
* [PERF] 注销 onImageLoaded 注册的回调。
|
|
304
|
+
*/
|
|
305
|
+
offImageLoaded(callback: () => void): void;
|
|
306
|
+
/**
|
|
307
|
+
* [PERF] 帧级合并触发图片加载完成后的重绘。
|
|
308
|
+
* 即便首屏一秒内 N 张图陆续 onload,本方法也只在下一帧触发 1 次回调,
|
|
309
|
+
* 让上层 DataGrid 仅 markDirty 1 次、rAF 循环只 draw 1 帧,
|
|
310
|
+
* 杜绝"事件: load → 同步 grid.draw() 串行 N 次"的长任务。
|
|
311
|
+
*/
|
|
312
|
+
private scheduleImageLoadedRedraw;
|
|
294
313
|
/**
|
|
295
314
|
* Get GIF animation manager instance
|
|
296
315
|
* @returns GifAnimationManager instance
|
|
@@ -217,14 +217,6 @@ export interface ThemeTokens {
|
|
|
217
217
|
loadingColor: string;
|
|
218
218
|
/** autofill 边框色 */
|
|
219
219
|
autofillBorder: string;
|
|
220
|
-
/** Boolean checkbox 边框色(未勾选 + 可编辑) */
|
|
221
|
-
checkboxBorder: string;
|
|
222
|
-
/** Boolean checkbox 边框色(未勾选 + 只读) */
|
|
223
|
-
checkboxBorderDisabled: string;
|
|
224
|
-
/** Boolean checkbox 填充色(已勾选 + 可编辑) */
|
|
225
|
-
checkboxChecked: string;
|
|
226
|
-
/** Boolean checkbox 填充色(已勾选 + 只读) */
|
|
227
|
-
checkboxCheckedDisabled: string;
|
|
228
220
|
/** 固定列阴影 */
|
|
229
221
|
shadowFixedColumn: string;
|
|
230
222
|
/** Tooltip 阴影 */
|
|
@@ -32,13 +32,6 @@ declare class BooleanViewer implements CellViewer<BooleanViewerData> {
|
|
|
32
32
|
draw(context: ViewerRenderContext, data: BooleanViewerData): void;
|
|
33
33
|
/**
|
|
34
34
|
* Draw checkbox style
|
|
35
|
-
* Colors are sourced from theme tokens (StyleManager) so the checkbox
|
|
36
|
-
* adapts to light/dark/blue themes consistently.
|
|
37
|
-
* - checkboxChecked : filled bg (editable + checked)
|
|
38
|
-
* - checkboxCheckedDisabled: filled bg (readonly + checked)
|
|
39
|
-
* - checkboxBorder : border (editable + unchecked)
|
|
40
|
-
* - checkboxBorderDisabled : border (readonly + unchecked)
|
|
41
|
-
* `data.checkedColor` may override the editable-checked fill color.
|
|
42
35
|
*/
|
|
43
36
|
private drawCheckbox;
|
|
44
37
|
/**
|
|
@@ -18,9 +18,11 @@ declare class ImageViewer implements CellViewer<ImageViewerData> {
|
|
|
18
18
|
*/
|
|
19
19
|
draw(context: ViewerRenderContext, data: ImageViewerData): void;
|
|
20
20
|
/**
|
|
21
|
-
*
|
|
21
|
+
* 双击图片时触发 onClickImage 回调,打开图片详情弹窗
|
|
22
|
+
* 与 DOM multiImageViewer 的 dblclick 行为对齐,与文件型字段 onFileGoToDetail 一致:
|
|
23
|
+
* 单击仅选中单元格,双击图片才唤起详情页
|
|
22
24
|
*/
|
|
23
|
-
|
|
25
|
+
onDblClick(context: ViewerRenderContext, data: ImageViewerData, localX: number, localY: number): boolean;
|
|
24
26
|
/**
|
|
25
27
|
* 鼠标悬停在图片上时显示指针光标,同时追踪悬停状态变化触发 hover 回调
|
|
26
28
|
*/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "arthub-table",
|
|
3
|
-
"version": "0.2.7
|
|
3
|
+
"version": "0.2.7",
|
|
4
4
|
"description": "High-performance canvas-based table/grid component for Vue 3 with TypeScript support, featuring virtual scrolling, cell viewers, grouped rows, and nested grids.",
|
|
5
5
|
"main": "dist/arthub-table.common.js",
|
|
6
6
|
"module": "dist/arthub-table.umd.min.js",
|