arthub-table 0.2.89 → 0.2.90-next.0
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/adapters/DataGridIntegration.d.ts +12 -0
- package/dist/types/core/Cell.d.ts +39 -2
- package/dist/types/core/DataGrid.d.ts +17 -2
- package/dist/types/core/constants.d.ts +15 -0
- package/package.json +1 -1
|
@@ -76,6 +76,18 @@ export interface DataGridInitOptions {
|
|
|
76
76
|
theme?: string | Record<string, any>;
|
|
77
77
|
/** WfState Viewer 显示样式:'icon'=图标+文字(默认),'tag'=色块标签 */
|
|
78
78
|
wfStateStyle?: 'icon' | 'tag';
|
|
79
|
+
/**
|
|
80
|
+
* Reminder 蓝色三角的锚点位置(4 个角可选),默认 'top-right'(右上角)。
|
|
81
|
+
* 由业务侧按场景覆盖(例如 AssetMatrix 和平玩法传 'top-left' 把角标挪到左上角)。
|
|
82
|
+
* 三角形状会随 anchor 等效镜像翻转,保持视觉对称。
|
|
83
|
+
*/
|
|
84
|
+
remindAnchor?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
|
|
85
|
+
/**
|
|
86
|
+
* Reminder 蓝色三角的点击命中热区边长(像素,正方形)。
|
|
87
|
+
* 默认沿用可视三角边长 18(保持历史行为),业务侧可放大到 20/24 以便用户命中触发弹窗。
|
|
88
|
+
* 命中区是以 anchor 对应角为起点、朝单元格内部延伸的 size×size 正方形(独立于可视三角)。
|
|
89
|
+
*/
|
|
90
|
+
remindHitAreaSize?: number;
|
|
79
91
|
/** 嵌套表格数据源字段名,默认 '$$pipelineView$$' */
|
|
80
92
|
pipelineViewKey?: string;
|
|
81
93
|
/** 嵌套表格折叠时默认显示行数,默认 3 */
|
|
@@ -3,6 +3,7 @@ import Validator from "./Validator";
|
|
|
3
3
|
import NestedGrid from "./NestedGrid";
|
|
4
4
|
import type DataGrid from "./DataGrid";
|
|
5
5
|
import type { ColumnConfig } from "./types";
|
|
6
|
+
import { type RemindAnchor } from "./constants";
|
|
6
7
|
import { type CellViewerData, type ViewerRenderContext } from "./viewers";
|
|
7
8
|
interface Column extends ColumnConfig {
|
|
8
9
|
[key: string]: any;
|
|
@@ -143,8 +144,14 @@ declare class Cell extends Context {
|
|
|
143
144
|
[key: string]: any;
|
|
144
145
|
} | null;
|
|
145
146
|
/**
|
|
146
|
-
*
|
|
147
|
-
*
|
|
147
|
+
* 判断鼠标坐标是否在蓝色提醒三角的命中热区内。
|
|
148
|
+
*
|
|
149
|
+
* 命中热区是以 anchor 对应角为起点、朝单元格内部延伸的 size×size 正方形。
|
|
150
|
+
* 热区尺寸由 grid.remindHitAreaSize 控制(默认与可视三角边长一致 18px),
|
|
151
|
+
* 业务侧可按场景放大到 20/24 以便用户点击触发弹窗。
|
|
152
|
+
*
|
|
153
|
+
* 注意:热区是矩形而非三角,这样热区放大时在整个角都可命中、点击体验更好。
|
|
154
|
+
*
|
|
148
155
|
* @param mouseX 鼠标在 canvas 上的 x 坐标(已经过 scrollX 修正的坐标)
|
|
149
156
|
* @param mouseY 鼠标在 canvas 上的 y 坐标(已经过 scrollY 修正的坐标)
|
|
150
157
|
* @param cellX 单元格左上角 x(已含 scroll/fixed 偏移)
|
|
@@ -152,4 +159,34 @@ declare class Cell extends Context {
|
|
|
152
159
|
*/
|
|
153
160
|
isInsideReminderTriangle(mouseX: number, mouseY: number, cellX: number, cellY: number): boolean;
|
|
154
161
|
}
|
|
162
|
+
/**
|
|
163
|
+
* 计算 reminder 三角形在指定 anchor 下的 3 个顶点。
|
|
164
|
+
* 三角形是直角三角,直角始终贴在 anchor 对应的角上,斜边指向单元格内部(等效镜像翻转)。
|
|
165
|
+
*
|
|
166
|
+
* @param x 单元格左上角 x
|
|
167
|
+
* @param y 单元格左上角 y
|
|
168
|
+
* @param width 单元格宽
|
|
169
|
+
* @param height 单元格高
|
|
170
|
+
* @param size 三角边长
|
|
171
|
+
* @param anchor 锚点位置
|
|
172
|
+
*/
|
|
173
|
+
declare function computeReminderTrianglePoints(x: number, y: number, width: number, height: number, size: number, anchor: RemindAnchor): number[][];
|
|
174
|
+
/**
|
|
175
|
+
* 计算 reminder 点击命中热区(正方形)。
|
|
176
|
+
* 热区以 anchor 对应角为起点、朝单元格内部延伸 size 长度。
|
|
177
|
+
*
|
|
178
|
+
* @param cellX 单元格左上角 x
|
|
179
|
+
* @param cellY 单元格左上角 y
|
|
180
|
+
* @param width 单元格宽
|
|
181
|
+
* @param height 单元格高
|
|
182
|
+
* @param size 热区边长
|
|
183
|
+
* @param anchor 锚点位置
|
|
184
|
+
*/
|
|
185
|
+
declare function computeReminderHitRect(cellX: number, cellY: number, width: number, height: number, size: number, anchor: RemindAnchor): {
|
|
186
|
+
x: number;
|
|
187
|
+
y: number;
|
|
188
|
+
width: number;
|
|
189
|
+
height: number;
|
|
190
|
+
};
|
|
191
|
+
export { computeReminderTrianglePoints, computeReminderHitRect };
|
|
155
192
|
export default Cell;
|
|
@@ -12,6 +12,7 @@ import Histories from "./History";
|
|
|
12
12
|
import { StyleManager, type TableTheme } from "./StyleManager";
|
|
13
13
|
import EdgeScroller from "./EdgeScroller";
|
|
14
14
|
import { type HeaderConfig } from "./util";
|
|
15
|
+
import { type RemindAnchor } from "./constants";
|
|
15
16
|
import { type FooterCellClickInfo, type FooterData, type FooterCellData, type GroupHeaderCellClickInfo, type GroupHeaderCellHoverInfo, type FooterStatRefreshInfo, type GroupHeaderStatRefreshInfo, type ConditionalStyle, type ConditionalStylePatch, type ActiveCellInfo } from "./types";
|
|
16
17
|
import { type PerformanceMonitor } from "./PerformanceMonitor";
|
|
17
18
|
interface Column extends HeaderConfig {
|
|
@@ -693,6 +694,18 @@ export interface DataGridOptions {
|
|
|
693
694
|
};
|
|
694
695
|
rowData: Record<string, any>;
|
|
695
696
|
}) => void;
|
|
697
|
+
/**
|
|
698
|
+
* Reminder 蓝色三角的锚点位置(4 个角可选),默认 'top-right'(右上角)。
|
|
699
|
+
* 由业务侧按场景覆盖(如 AssetMatrix 和平玩法传 'top-left' 把角标挪到左上角)。
|
|
700
|
+
* 三角形状会随 anchor 做等效镜像翻转,保持视觉对称。
|
|
701
|
+
*/
|
|
702
|
+
remindAnchor?: RemindAnchor;
|
|
703
|
+
/**
|
|
704
|
+
* Reminder 蓝色三角的点击命中热区边长(像素,正方形)。
|
|
705
|
+
* 默认 18(与可视三角一致),业务侧可放大到 20/24 以便用户点击触发弹窗。
|
|
706
|
+
* 命中区是以 anchor 对应角为起点、朝单元格内部延伸的 size×size 正方形。
|
|
707
|
+
*/
|
|
708
|
+
remindHitAreaSize?: number;
|
|
696
709
|
/** 表头 Link icon hover 回调:鼠标悬停/离开引用字段表头 link icon 时触发 */
|
|
697
710
|
onHeaderLinkIconHover?: (info: {
|
|
698
711
|
show: boolean;
|
|
@@ -884,8 +897,6 @@ declare class DataGrid {
|
|
|
884
897
|
rowIdMap: Map<string, number>;
|
|
885
898
|
private conditionalRowStyles;
|
|
886
899
|
private conditionalCellStyles;
|
|
887
|
-
/** 行、单元格样式同时命中时复用合并结果,避免每一帧为每个单元格创建临时对象。 */
|
|
888
|
-
private resolvedConditionalCellStyles;
|
|
889
900
|
selectedRowIds: Set<string>;
|
|
890
901
|
selectedGroupIds: Set<string>;
|
|
891
902
|
lastSelectedRowIndex: number;
|
|
@@ -1325,6 +1336,10 @@ declare class DataGrid {
|
|
|
1325
1336
|
};
|
|
1326
1337
|
rowData: Record<string, any>;
|
|
1327
1338
|
}) => void;
|
|
1339
|
+
/** Reminder 蓝色三角的锚点位置(4 个角可选),默认 'top-right'。 */
|
|
1340
|
+
remindAnchor: RemindAnchor;
|
|
1341
|
+
/** Reminder 蓝色三角的点击命中热区边长(像素,正方形)。 */
|
|
1342
|
+
remindHitAreaSize: number;
|
|
1328
1343
|
onHeaderLinkIconHover?: (info: {
|
|
1329
1344
|
show: boolean;
|
|
1330
1345
|
colKey: string;
|
|
@@ -29,6 +29,21 @@ export declare const ERROR_TIP_COLOR: string;
|
|
|
29
29
|
/** @deprecated 请使用 styleManager.getToken('reminderColor') */
|
|
30
30
|
export declare const REMINDER_TIP_COLOR: string;
|
|
31
31
|
export declare const REMINDER_TRIANGLE_SIZE = 18;
|
|
32
|
+
/**
|
|
33
|
+
* 蓝色提醒三角的锚点位置(4 个角可选)。
|
|
34
|
+
* 默认 'top-right'(右上角),与历史渲染行为保持一致。
|
|
35
|
+
* 由业务侧(如 AssetMatrix)按场景/玩法通过 DataGridOptions.remindAnchor 覆盖。
|
|
36
|
+
*/
|
|
37
|
+
export type RemindAnchor = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
|
|
38
|
+
export declare const REMINDER_ANCHOR_DEFAULT: RemindAnchor;
|
|
39
|
+
/**
|
|
40
|
+
* 蓝色提醒三角的点击命中热区尺寸(像素,正方形边长)。
|
|
41
|
+
* 默认沿用 REMINDER_TRIANGLE_SIZE(18px)保持历史点击面积;
|
|
42
|
+
* 业务侧(如 AssetMatrix 和平玩法)可通过 DataGridOptions.remindHitAreaSize 放大为 20/24 等,
|
|
43
|
+
* 便于用户命中以触发外部 Reminder 弹窗(点击行为,非 hover)。
|
|
44
|
+
* 命中区是以 anchor 对应角为起点、朝单元格内部延伸的 size×size 正方形(独立于可视三角大小)。
|
|
45
|
+
*/
|
|
46
|
+
export declare const REMINDER_HIT_AREA_SIZE_DEFAULT = 18;
|
|
32
47
|
/** @deprecated 请使用 styleManager.getToken('textHeader') */
|
|
33
48
|
export declare const HEADER_TEXT_COLOR: string;
|
|
34
49
|
/** 表头图标尺寸常量 */
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "arthub-table",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.90-next.0",
|
|
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",
|