arthub-table 0.2.52 → 0.2.53
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/viewers/BooleanViewer.d.ts +23 -7
- package/dist/types/core/viewers/HyperlinkTextViewer.d.ts +9 -9
- package/dist/types/core/viewers/PriorityTextViewer.d.ts +7 -2
- package/dist/types/core/viewers/ProgressViewer.d.ts +8 -0
- package/dist/types/core/viewers/RichTextViewer.d.ts +3 -3
- package/dist/types/core/viewers/types.d.ts +7 -6
- package/package.json +1 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* BooleanViewer - Boolean/Checkbox rendering viewer
|
|
3
|
-
* Handles boolean value display with checkbox, switch, or text styles
|
|
3
|
+
* Handles boolean value display with checkbox, switch, or text styles.
|
|
4
|
+
* 支持单值和数组值(多节点引用场景)。
|
|
4
5
|
*/
|
|
5
6
|
import type { CellViewer, ViewerRenderContext, BooleanViewerData } from './types';
|
|
6
7
|
/**
|
|
@@ -11,15 +12,14 @@ declare class BooleanViewer implements CellViewer<BooleanViewerData> {
|
|
|
11
12
|
readonly type = "boolean";
|
|
12
13
|
readonly hideEditIcon = true;
|
|
13
14
|
/**
|
|
14
|
-
* Handle click on boolean cell
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
* 此方法仅做命中检测,返回 true 表示点击在交互区域内
|
|
15
|
+
* Handle click on boolean cell.
|
|
16
|
+
* 数组值场景不支持点击切换(无法确定用户点击了哪个元素),返回 false。
|
|
17
|
+
* 单值场景返回命中检测结果。
|
|
18
18
|
*/
|
|
19
19
|
onClick(context: ViewerRenderContext, data: BooleanViewerData, localX: number, localY: number): boolean;
|
|
20
20
|
/**
|
|
21
21
|
* 鼠标悬停在 checkbox/switch 交互区域时显示指针光标
|
|
22
|
-
*
|
|
22
|
+
* 数组值场景不显示交互指针
|
|
23
23
|
*/
|
|
24
24
|
getInteractiveCursor(context: ViewerRenderContext, data: BooleanViewerData, localX: number, localY: number): string | null;
|
|
25
25
|
/**
|
|
@@ -27,7 +27,8 @@ declare class BooleanViewer implements CellViewer<BooleanViewerData> {
|
|
|
27
27
|
*/
|
|
28
28
|
private hitTestArea;
|
|
29
29
|
/**
|
|
30
|
-
* Draw boolean content in the cell
|
|
30
|
+
* Draw boolean content in the cell.
|
|
31
|
+
* 数组值场景:渲染多个 checkbox/switch/text 标签并排显示。
|
|
31
32
|
*/
|
|
32
33
|
draw(context: ViewerRenderContext, data: BooleanViewerData): void;
|
|
33
34
|
/**
|
|
@@ -40,6 +41,9 @@ declare class BooleanViewer implements CellViewer<BooleanViewerData> {
|
|
|
40
41
|
* - checkboxBorderDisabled : border (readonly + unchecked)
|
|
41
42
|
* `data.checkedColor` may override the editable-checked fill color.
|
|
42
43
|
*/
|
|
44
|
+
/**
|
|
45
|
+
* Draw a single checkbox using toBool for string-compatible boolean detection.
|
|
46
|
+
*/
|
|
43
47
|
private drawCheckbox;
|
|
44
48
|
/**
|
|
45
49
|
* Draw switch style
|
|
@@ -49,6 +53,18 @@ declare class BooleanViewer implements CellViewer<BooleanViewerData> {
|
|
|
49
53
|
* Draw text style
|
|
50
54
|
*/
|
|
51
55
|
private drawText;
|
|
56
|
+
/**
|
|
57
|
+
* 绘制空状态(数组值全为空/无有效值时显示)
|
|
58
|
+
*/
|
|
59
|
+
private drawEmpty;
|
|
60
|
+
/**
|
|
61
|
+
* 绘制多个 checkbox 标签(数组值场景),每项 16×16,间隔 4px,整组居中
|
|
62
|
+
*/
|
|
63
|
+
private drawCheckboxes;
|
|
64
|
+
/**
|
|
65
|
+
* 数组值 fallback:用文本形式展示多个布尔值,以逗号分隔
|
|
66
|
+
*/
|
|
67
|
+
private drawTexts;
|
|
52
68
|
/**
|
|
53
69
|
* Draw a filled rounded rectangle
|
|
54
70
|
*/
|
|
@@ -8,8 +8,8 @@ import type { CellViewer, ViewerRenderContext, CellViewerData } from './types';
|
|
|
8
8
|
* 超链接 Viewer 数据接口
|
|
9
9
|
*/
|
|
10
10
|
export interface HyperlinkTextViewerData extends CellViewerData {
|
|
11
|
-
/**
|
|
12
|
-
value: [
|
|
11
|
+
/** 值格式:扁平数组 [文本1, URL1, 文本2, URL2, ...] 或 null,每两个元素为一组链接 */
|
|
12
|
+
value: string[] | null;
|
|
13
13
|
/** 数据行 ID */
|
|
14
14
|
id?: string | number;
|
|
15
15
|
/** 属性 key */
|
|
@@ -45,14 +45,14 @@ declare class HyperlinkTextViewer implements CellViewer<HyperlinkTextViewerData>
|
|
|
45
45
|
*/
|
|
46
46
|
getInteractiveCursor(context: ViewerRenderContext, data: HyperlinkTextViewerData, localX: number, localY: number): string | null;
|
|
47
47
|
/**
|
|
48
|
-
*
|
|
49
|
-
*
|
|
48
|
+
* 解析超链接值(支持扁平数组 [文本1,url1,文本2,url2,...])
|
|
49
|
+
* 每两个元素为一组链接,返回解析后的数组
|
|
50
50
|
*/
|
|
51
|
-
private
|
|
51
|
+
private parseValues;
|
|
52
52
|
/**
|
|
53
|
-
*
|
|
53
|
+
* 绘制超链接文本(支持多条以逗号间隔)
|
|
54
54
|
*/
|
|
55
|
-
private
|
|
55
|
+
private drawHyperLinkTexts;
|
|
56
56
|
/**
|
|
57
57
|
* 绘制右侧编辑按钮
|
|
58
58
|
*/
|
|
@@ -74,8 +74,8 @@ declare class HyperlinkTextViewer implements CellViewer<HyperlinkTextViewerData>
|
|
|
74
74
|
*/
|
|
75
75
|
private drawErrorIcon;
|
|
76
76
|
/**
|
|
77
|
-
*
|
|
77
|
+
* 根据点击的局部 x 坐标查找被点击的超链接索引,返回 -1 表示未命中
|
|
78
78
|
*/
|
|
79
|
-
private
|
|
79
|
+
private findClickedLinkIndex;
|
|
80
80
|
}
|
|
81
81
|
export default HyperlinkTextViewer;
|
|
@@ -12,11 +12,16 @@ declare class PriorityTextViewer implements CellViewer<PriorityTextViewerData> {
|
|
|
12
12
|
/** 空值占位符 */
|
|
13
13
|
private readonly emptyValue;
|
|
14
14
|
/**
|
|
15
|
-
*
|
|
15
|
+
* 绘制优先级标签内容。
|
|
16
|
+
* 支持单值(string | number)和多节点引用场景的数组值。
|
|
16
17
|
*/
|
|
17
18
|
draw(context: ViewerRenderContext, data: PriorityTextViewerData): void;
|
|
18
19
|
/**
|
|
19
|
-
*
|
|
20
|
+
* 绘制多个优先级标签(数组值场景),标签之间间隔 gap 像素
|
|
21
|
+
*/
|
|
22
|
+
private drawPriorityTags;
|
|
23
|
+
/**
|
|
24
|
+
* 绘制单个优先级标签
|
|
20
25
|
*/
|
|
21
26
|
private drawPriorityTag;
|
|
22
27
|
/**
|
|
@@ -18,6 +18,10 @@ declare class ProgressViewer implements CellViewer<ProgressViewerData> {
|
|
|
18
18
|
* Draw progress bar in the cell
|
|
19
19
|
*/
|
|
20
20
|
draw(context: ViewerRenderContext, data: ProgressViewerData): void;
|
|
21
|
+
/**
|
|
22
|
+
* 绘制数组数值文本(逗号间隔,不渲染进度条)
|
|
23
|
+
*/
|
|
24
|
+
private drawArrayText;
|
|
21
25
|
/**
|
|
22
26
|
* Check if mouse is over the drag handle
|
|
23
27
|
*/
|
|
@@ -34,6 +38,10 @@ declare class ProgressViewer implements CellViewer<ProgressViewerData> {
|
|
|
34
38
|
* Handle drag end - trigger onProgressChange callback for data persistence
|
|
35
39
|
*/
|
|
36
40
|
onDragEnd(_context: ViewerRenderContext, data: ProgressViewerData, newValue: any, startValue?: any): void;
|
|
41
|
+
/**
|
|
42
|
+
* 从 data.value 中提取单值(数组长度 <= 1 时取首个元素,否则返回 NaN)
|
|
43
|
+
*/
|
|
44
|
+
private getSingleValue;
|
|
37
45
|
/**
|
|
38
46
|
* Check if mouse is over the drag handle
|
|
39
47
|
*/
|
|
@@ -9,8 +9,8 @@ import type { CellViewer, ViewerRenderContext, CellViewerData } from './types';
|
|
|
9
9
|
* 富文本 Viewer 数据接口
|
|
10
10
|
*/
|
|
11
11
|
export interface RichTextViewerData extends CellViewerData {
|
|
12
|
-
/** HTML
|
|
13
|
-
value: string | null;
|
|
12
|
+
/** HTML 富文本内容或纯文本,支持数组(逗号拼接) */
|
|
13
|
+
value: string | string[] | null;
|
|
14
14
|
/** 数据行 ID */
|
|
15
15
|
id?: string | number;
|
|
16
16
|
/** 属性 key */
|
|
@@ -35,7 +35,7 @@ export interface RichTextViewerData extends CellViewerData {
|
|
|
35
35
|
* 解析富文本值,去除 HTML 标签 + 解码常见 HTML 实体。
|
|
36
36
|
* <img> 标签替换为 [图片],<video> 标签替换为 [视频]
|
|
37
37
|
*/
|
|
38
|
-
export declare function getDisplayValue(value: string | null | undefined): string;
|
|
38
|
+
export declare function getDisplayValue(value: string | string[] | null | undefined): string;
|
|
39
39
|
declare class RichTextViewer implements CellViewer<RichTextViewerData> {
|
|
40
40
|
readonly type = "rich-text";
|
|
41
41
|
private _sm;
|
|
@@ -409,7 +409,7 @@ export interface PersonInfo {
|
|
|
409
409
|
* Progress viewer data
|
|
410
410
|
*/
|
|
411
411
|
export interface ProgressViewerData extends CellViewerData {
|
|
412
|
-
value: number;
|
|
412
|
+
value: number | number[];
|
|
413
413
|
/** Minimum value (default 0) */
|
|
414
414
|
min?: number;
|
|
415
415
|
/** Maximum value (default 100) */
|
|
@@ -460,7 +460,8 @@ export interface DatetimeViewerData extends CellViewerData {
|
|
|
460
460
|
* Boolean/Checkbox viewer data
|
|
461
461
|
*/
|
|
462
462
|
export interface BooleanViewerData extends CellViewerData {
|
|
463
|
-
|
|
463
|
+
/** 布尔值,支持单值或数组(多节点引用场景);数组元素支持 boolean 或字符串 'true'/'false' */
|
|
464
|
+
value: (boolean | string)[] | boolean | string | null;
|
|
464
465
|
/** Display style */
|
|
465
466
|
displayStyle?: 'checkbox' | 'switch' | 'text';
|
|
466
467
|
/** Text for true value */
|
|
@@ -800,8 +801,8 @@ export interface FileViewerData extends CellViewerData {
|
|
|
800
801
|
* HyperLink text viewer data (超链接文本)
|
|
801
802
|
*/
|
|
802
803
|
export interface HyperlinkTextViewerData extends CellViewerData {
|
|
803
|
-
/**
|
|
804
|
-
value: [
|
|
804
|
+
/** 值格式:扁平数组 [文本1, URL1, 文本2, URL2, ...] 或 null,每两个元素为一组链接 */
|
|
805
|
+
value: string[] | null;
|
|
805
806
|
/** 数据行 ID */
|
|
806
807
|
id?: string | number;
|
|
807
808
|
/** 属性 key */
|
|
@@ -1274,8 +1275,8 @@ export interface PunchTimingViewerData extends CellViewerData {
|
|
|
1274
1275
|
* 用于展示优先级标签(P0-P4+),带有对应的颜色和背景色
|
|
1275
1276
|
*/
|
|
1276
1277
|
export interface PriorityTextViewerData extends CellViewerData {
|
|
1277
|
-
/** 优先级值,支持数字或字符串(如 0, 1, 2, '0', '1'
|
|
1278
|
-
value: string | number | null;
|
|
1278
|
+
/** 优先级值,支持数字或字符串(如 0, 1, 2, '0', '1'),或数组(多节点引用场景) */
|
|
1279
|
+
value: (string | number)[] | string | number | null;
|
|
1279
1280
|
/** 文本对齐方式,默认 'center' */
|
|
1280
1281
|
textAlign?: 'left' | 'center' | 'right';
|
|
1281
1282
|
/** 标签圆角半径,默认 2 */
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "arthub-table",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.53",
|
|
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",
|