arthub-table 0.0.3

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.
Files changed (123) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/LICENSE +21 -0
  3. package/README.md +257 -0
  4. package/dist/arthub-table.common.js +2 -0
  5. package/dist/arthub-table.common.js.map +1 -0
  6. package/dist/arthub-table.css +1 -0
  7. package/dist/arthub-table.umd.js +2 -0
  8. package/dist/arthub-table.umd.js.map +1 -0
  9. package/dist/arthub-table.umd.min.js +2 -0
  10. package/dist/arthub-table.umd.min.js.map +1 -0
  11. package/dist/demo.html +1 -0
  12. package/dist/img/ah-icon_audio_pause.55c06fbf.svg +3 -0
  13. package/dist/img/ah-icon_closeshape.82e52181.svg +3 -0
  14. package/dist/img/icon_attachment.724d33ba.svg +3 -0
  15. package/dist/img/icon_default.9ef1a394.svg +5 -0
  16. package/dist/img/icon_edit.9966e699.svg +3 -0
  17. package/dist/img/icon_error_dark.2a057cdd.svg +17 -0
  18. package/dist/img/icon_error_light.ac6763e9.svg +17 -0
  19. package/dist/img/icon_failure_dark.f68723a7.svg +25 -0
  20. package/dist/img/icon_failure_light.489a7167.svg +25 -0
  21. package/dist/img/icon_folder.ea3efcce.svg +11 -0
  22. package/dist/img/icon_netdisc.d8bbe2e0.svg +4 -0
  23. package/dist/img/icon_singlearrowright.6adcd336.svg +4 -0
  24. package/dist/img/icon_totalNum.23a86d16.svg +3 -0
  25. package/dist/img/icon_transform_dark.033764ea.svg +26 -0
  26. package/dist/img/icon_transform_light.fa9fbcbd.svg +26 -0
  27. package/dist/img/img_3d.39b27128.svg +14 -0
  28. package/dist/img/img_aep.a898e3e7.svg +8 -0
  29. package/dist/img/img_ai.61f08a0a.svg +8 -0
  30. package/dist/img/img_audio.e4ada65c.svg +5 -0
  31. package/dist/img/img_enf.ad88f95d.svg +28 -0
  32. package/dist/img/img_excel.56663d85.svg +30 -0
  33. package/dist/img/img_exe.5e3fc198.svg +27 -0
  34. package/dist/img/img_img.ac2e0d0c.svg +8 -0
  35. package/dist/img/img_mcp.393ef169.svg +28 -0
  36. package/dist/img/img_pdf.f4da9922.svg +7 -0
  37. package/dist/img/img_ppt.d172780f.svg +26 -0
  38. package/dist/img/img_pxcook.7e9fce57.svg +18 -0
  39. package/dist/img/img_rarzip7z.e3b1de82.svg +28 -0
  40. package/dist/img/img_sketch.d49a9bd4.svg +32 -0
  41. package/dist/img/img_video.b6ac6198.svg +7 -0
  42. package/dist/img/img_word.0c1d3c88.svg +31 -0
  43. package/dist/img/img_x2d.6acc94f6.svg +28 -0
  44. package/dist/img/img_xd.cc23d09a.svg +28 -0
  45. package/dist/img/matrix-icon_finish.617f5d3e.svg +3 -0
  46. package/dist/img/matrix-icon_inprogress.3781156a.svg +3 -0
  47. package/dist/img/matrix-icon_supervise.edae43f0.svg +3 -0
  48. package/dist/types/assets/icon/iconBase64.d.ts +3 -0
  49. package/dist/types/components/Icon/index.d.ts +2 -0
  50. package/dist/types/components/clickoutside.d.ts +3 -0
  51. package/dist/types/core/Body.d.ts +142 -0
  52. package/dist/types/core/Cell.d.ts +94 -0
  53. package/dist/types/core/Clipboard.d.ts +16 -0
  54. package/dist/types/core/ColumnHeader.d.ts +24 -0
  55. package/dist/types/core/Context.d.ts +24 -0
  56. package/dist/types/core/DataGrid.d.ts +749 -0
  57. package/dist/types/core/EdgeScroller.d.ts +75 -0
  58. package/dist/types/core/Editor.d.ts +33 -0
  59. package/dist/types/core/Events.d.ts +25 -0
  60. package/dist/types/core/Footer.d.ts +37 -0
  61. package/dist/types/core/GifAnimationManager.d.ts +69 -0
  62. package/dist/types/core/GifOverlay.d.ts +33 -0
  63. package/dist/types/core/GroupRow.d.ts +80 -0
  64. package/dist/types/core/Header.d.ts +40 -0
  65. package/dist/types/core/History.d.ts +27 -0
  66. package/dist/types/core/ImageManager.d.ts +94 -0
  67. package/dist/types/core/NestedGrid.d.ts +177 -0
  68. package/dist/types/core/Paint.d.ts +101 -0
  69. package/dist/types/core/PerformanceMonitor.d.ts +96 -0
  70. package/dist/types/core/Row.d.ts +31 -0
  71. package/dist/types/core/RowHeader.d.ts +22 -0
  72. package/dist/types/core/Scroller.d.ts +33 -0
  73. package/dist/types/core/Selector.d.ts +9 -0
  74. package/dist/types/core/StyleManager.d.ts +108 -0
  75. package/dist/types/core/Tooltip.d.ts +28 -0
  76. package/dist/types/core/Validator.d.ts +26 -0
  77. package/dist/types/core/config.d.ts +5 -0
  78. package/dist/types/core/constants.d.ts +39 -0
  79. package/dist/types/core/element.d.ts +36 -0
  80. package/dist/types/core/extension-type-mapping.d.ts +5 -0
  81. package/dist/types/core/footer/utils.d.ts +7 -0
  82. package/dist/types/core/types.d.ts +399 -0
  83. package/dist/types/core/util.d.ts +17 -0
  84. package/dist/types/core/viewers/BooleanViewer.d.ts +46 -0
  85. package/dist/types/core/viewers/DatetimeViewer.d.ts +33 -0
  86. package/dist/types/core/viewers/DeliverableReviewViewer.d.ts +87 -0
  87. package/dist/types/core/viewers/FileStorageSpecViewer.d.ts +37 -0
  88. package/dist/types/core/viewers/FileViewer.d.ts +118 -0
  89. package/dist/types/core/viewers/GroupHeaderViewer.d.ts +73 -0
  90. package/dist/types/core/viewers/HyperlinkTextViewer.d.ts +80 -0
  91. package/dist/types/core/viewers/ImageViewer.d.ts +31 -0
  92. package/dist/types/core/viewers/ItfsPathViewer.d.ts +58 -0
  93. package/dist/types/core/viewers/ModuleViewer.d.ts +53 -0
  94. package/dist/types/core/viewers/NestedGridViewer.d.ts +47 -0
  95. package/dist/types/core/viewers/PersonViewer.d.ts +61 -0
  96. package/dist/types/core/viewers/PivotViewer.d.ts +43 -0
  97. package/dist/types/core/viewers/PriorityTextViewer.d.ts +35 -0
  98. package/dist/types/core/viewers/ProgressViewer.d.ts +68 -0
  99. package/dist/types/core/viewers/PunchTimingViewer.d.ts +42 -0
  100. package/dist/types/core/viewers/PunchViewer.d.ts +116 -0
  101. package/dist/types/core/viewers/RichTextViewer.d.ts +83 -0
  102. package/dist/types/core/viewers/SelectViewer.d.ts +57 -0
  103. package/dist/types/core/viewers/SeparatorRowViewer.d.ts +25 -0
  104. package/dist/types/core/viewers/StatusTextViewer.d.ts +40 -0
  105. package/dist/types/core/viewers/StatusViewer.d.ts +53 -0
  106. package/dist/types/core/viewers/TableActionButtonViewer.d.ts +77 -0
  107. package/dist/types/core/viewers/TaskNodeViewer.d.ts +106 -0
  108. package/dist/types/core/viewers/TextViewer.d.ts +37 -0
  109. package/dist/types/core/viewers/TextViewerWithSwitcher.d.ts +112 -0
  110. package/dist/types/core/viewers/ThemeViewer.d.ts +36 -0
  111. package/dist/types/core/viewers/TreeDropdownViewer.d.ts +55 -0
  112. package/dist/types/core/viewers/UpstreamViewer.d.ts +79 -0
  113. package/dist/types/core/viewers/ViewerRegistry.d.ts +76 -0
  114. package/dist/types/core/viewers/WfStateViewer.d.ts +76 -0
  115. package/dist/types/core/viewers/WorkflowViewer.d.ts +37 -0
  116. package/dist/types/core/viewers/index.d.ts +114 -0
  117. package/dist/types/core/viewers/types.d.ts +1097 -0
  118. package/dist/types/index.d.ts +37 -0
  119. package/dist/types/testing/SnapshotManager.d.ts +55 -0
  120. package/dist/types/testing/TestHooks.d.ts +275 -0
  121. package/dist/types/testing/index.d.ts +3 -0
  122. package/dist/types/testing/installTestHooks.d.ts +16 -0
  123. package/package.json +126 -0
@@ -0,0 +1,101 @@
1
+ /**
2
+ * 画笔
3
+ */
4
+ interface DrawLineOptions {
5
+ lineCap?: CanvasLineCap;
6
+ lineJoin?: CanvasLineJoin;
7
+ borderWidth?: number;
8
+ borderColor?: string;
9
+ fillColor?: string;
10
+ lineDash?: number[];
11
+ }
12
+ interface DrawTextOptions {
13
+ font?: string;
14
+ color?: string;
15
+ align?: CanvasTextAlign | "left" | "right";
16
+ baseLine?: CanvasTextBaseline;
17
+ bold?: boolean;
18
+ }
19
+ interface DrawCellTextOptions extends DrawTextOptions {
20
+ icon?: HTMLImageElement | {
21
+ src: string;
22
+ } | null;
23
+ iconWidth?: number;
24
+ iconHeight?: number;
25
+ iconOffsetX?: number;
26
+ iconOffsetY?: number;
27
+ }
28
+ interface DrawRectOptions {
29
+ borderWidth?: number;
30
+ borderColor?: string;
31
+ fillColor?: string;
32
+ shadowOffsetX?: number;
33
+ shadowOffsetY?: number;
34
+ shadowBlur?: number;
35
+ shadowColor?: string;
36
+ }
37
+ interface DrawIconOptions extends DrawTextOptions {
38
+ }
39
+ interface DrawCellAffixIconOptions {
40
+ color?: string;
41
+ fillColor?: string;
42
+ }
43
+ declare class Paint {
44
+ ctx: CanvasRenderingContext2D;
45
+ constructor(target: HTMLCanvasElement);
46
+ scaleCanvas(dpr: number): void;
47
+ drawLine(points: number[][], options?: DrawLineOptions): void;
48
+ /**
49
+ * 在指定位置渲染文本
50
+ * @param text 渲染的文本
51
+ * @param x 渲染的x轴位置
52
+ * @param y 渲染的y轴位置
53
+ * @param options 配置选项
54
+ */
55
+ drawText(text: string | number, x: number, y: number, options?: DrawTextOptions): void;
56
+ /**
57
+ * 在指定宽高的盒子里渲染文本,会结合文本的长度和盒子的宽来决定对齐方式
58
+ * @param text 渲染的文本
59
+ * @param x 渲染的初始x轴位置
60
+ * @param y 渲染的初始y轴位置
61
+ * @param width 盒子的宽
62
+ * @param height 盒子的高
63
+ * @param padding 左右边距
64
+ * @param options color, font, align...
65
+ */
66
+ drawCellText(text: string | number, x: number, y: number, width: number, height: number, padding: number, options?: DrawCellTextOptions): void;
67
+ drawCellAffixIcon(icon: string, x: number, y: number, width: number, height: number, options?: DrawCellAffixIconOptions): void;
68
+ /**
69
+ * 在文本前指定距离的位置渲染一个图标
70
+ * @param label 支持字符串图标或者实体字符
71
+ * @param text 指定文本
72
+ * @param x x坐标
73
+ * @param y y坐标
74
+ * @param width 宽度
75
+ * @param padding 边距
76
+ * @param offsetX 横坐标位移
77
+ * @param offsetY 纵坐标位移
78
+ * @param options 配置选项
79
+ */
80
+ drawIcon(label: string, text: string | number, x: number, y: number, width: number, padding: number, offsetX: number, offsetY: number, options?: DrawIconOptions): void;
81
+ drawRect(x: number, y: number, width: number, height: number, options?: DrawRectOptions): void;
82
+ drawRoundRect(x: number, y: number, width: number, height: number, raidus: number, options?: DrawRectOptions): void;
83
+ drawImage(img: HTMLImageElement | HTMLCanvasElement | {
84
+ src: string;
85
+ }, x: number, y: number, width: number, height: number): void;
86
+ clearCanvas(x?: number, y?: number, width?: number, height?: number): void;
87
+ /**
88
+ * 计算长文本自动换行
89
+ * @param text 文本
90
+ * @param width 单元格宽度
91
+ * @param padding 左右需要留出的padding
92
+ */
93
+ getTextWrapping(text: string | number, width: number, padding: number): string[];
94
+ /**
95
+ * 测量文本宽度
96
+ * @param text 文本
97
+ * @param fontSize 字体大小
98
+ */
99
+ measureText(text: string, fontSize?: number): number;
100
+ }
101
+ export default Paint;
@@ -0,0 +1,96 @@
1
+ /**
2
+ * PerformanceMonitor - Performance monitoring and profiling utility for canvas-table.
3
+ *
4
+ * Provides:
5
+ * - performance.mark / performance.measure wrappers
6
+ * - Development mode performance warnings
7
+ * - Frame rate monitoring
8
+ * - Render timing statistics
9
+ */
10
+ /** Log level for debug output */
11
+ export type LogLevel = 'silent' | 'error' | 'warn' | 'info' | 'verbose';
12
+ /** Performance monitor configuration */
13
+ export interface PerformanceMonitorConfig {
14
+ /** Enable performance monitoring (default: false) */
15
+ enabled: boolean;
16
+ /** Log level for console output (default: 'warn') */
17
+ logLevel: LogLevel;
18
+ /** Row count threshold for performance warning (default: 5000) */
19
+ largeDataThreshold: number;
20
+ /** Column count threshold for performance warning (default: 50) */
21
+ largeColumnThreshold: number;
22
+ /** Frame time warning threshold in ms (default: 16.67 for 60fps) */
23
+ frameTimeThreshold: number;
24
+ }
25
+ /** Render timing entry */
26
+ interface TimingEntry {
27
+ name: string;
28
+ startTime: number;
29
+ duration: number;
30
+ }
31
+ export declare class PerformanceMonitor {
32
+ private config;
33
+ private timings;
34
+ private frameCount;
35
+ private lastFpsTime;
36
+ private currentFps;
37
+ private markMap;
38
+ constructor(config?: Partial<PerformanceMonitorConfig>);
39
+ /**
40
+ * Update configuration
41
+ */
42
+ setConfig(config: Partial<PerformanceMonitorConfig>): void;
43
+ /**
44
+ * Check if monitoring is enabled
45
+ */
46
+ get isEnabled(): boolean;
47
+ /**
48
+ * Set debug/enabled state
49
+ */
50
+ setEnabled(enabled: boolean): void;
51
+ /**
52
+ * Place a performance mark
53
+ */
54
+ mark(name: string): void;
55
+ /**
56
+ * Measure duration between two marks
57
+ */
58
+ measure(name: string, startMark: string, endMark?: string): number;
59
+ /**
60
+ * Call once per frame to track FPS
61
+ */
62
+ trackFrame(): void;
63
+ /**
64
+ * Get current FPS
65
+ */
66
+ getFps(): number;
67
+ /**
68
+ * Check data size and emit warnings if thresholds are exceeded
69
+ */
70
+ checkDataSize(rowCount: number, columnCount: number): void;
71
+ /**
72
+ * Warn if a render frame takes too long
73
+ */
74
+ checkFrameTime(duration: number): void;
75
+ /**
76
+ * Get collected timing statistics
77
+ */
78
+ getTimings(): ReadonlyArray<TimingEntry>;
79
+ /**
80
+ * Get average duration for a named measure
81
+ */
82
+ getAverageDuration(name: string): number;
83
+ /**
84
+ * Clear all collected timings
85
+ */
86
+ clearTimings(): void;
87
+ /**
88
+ * Log a message at the specified level
89
+ */
90
+ log(level: Exclude<LogLevel, 'silent'>, message: string): void;
91
+ }
92
+ /**
93
+ * Get or create the global PerformanceMonitor instance
94
+ */
95
+ export declare function getPerformanceMonitor(config?: Partial<PerformanceMonitorConfig>): PerformanceMonitor;
96
+ export {};
@@ -0,0 +1,31 @@
1
+ import RowHeader from "./RowHeader";
2
+ import Cell from "./Cell";
3
+ import Context from "./Context";
4
+ import type DataGrid from "./DataGrid";
5
+ interface RowData {
6
+ [key: string]: any;
7
+ }
8
+ declare class Row extends Context {
9
+ data: RowData;
10
+ rowIndex: number;
11
+ _rowId: string;
12
+ checked: boolean;
13
+ allCells: Cell[];
14
+ fixedCells: Cell[];
15
+ cells: Cell[];
16
+ rowHeader: RowHeader;
17
+ constructor(grid: DataGrid, rowIndex: number, x: number, y: number, height: number, data: RowData);
18
+ isInVerticalAutofill(mouseX: number, mouseY: number): boolean;
19
+ handleCheck(checked?: boolean): void;
20
+ mouseDown(x: number, y: number): void;
21
+ mouseMove(mouseX: number, mouseY: number): void;
22
+ handleAutofill(x: number, y: number): void;
23
+ handleStartAutofill(x: number, y: number): void;
24
+ click(x: number, y: number): void;
25
+ dbClick(x: number, y: number): void;
26
+ resizeColumn(colIndex: number, diffWidth: number): void;
27
+ resizeRow(rowIndex: number, height: number): void;
28
+ rePaint(): void;
29
+ draw(): void;
30
+ }
31
+ export default Row;
@@ -0,0 +1,22 @@
1
+ import Context from "./Context";
2
+ import type DataGrid from "./DataGrid";
3
+ interface RowHeaderOptions {
4
+ borderColor?: string;
5
+ fillColor?: string;
6
+ borderWidth?: number;
7
+ color?: string;
8
+ checked?: boolean;
9
+ }
10
+ declare class RowHeader extends Context {
11
+ rowIndex: number;
12
+ text: string | number;
13
+ checked: boolean;
14
+ borderColor?: string;
15
+ fillColor?: string;
16
+ borderWidth?: number;
17
+ color?: string;
18
+ constructor(grid: DataGrid, rowIndex: number, x: number, y: number, width: number, height: number, options?: RowHeaderOptions);
19
+ handleCheck(val: boolean): void;
20
+ draw(): void;
21
+ }
22
+ export default RowHeader;
@@ -0,0 +1,33 @@
1
+ import type DataGrid from "./DataGrid";
2
+ interface ScrollerState {
3
+ x?: number;
4
+ y?: number;
5
+ move: boolean;
6
+ focus: boolean;
7
+ size: number;
8
+ ratio: number;
9
+ has: boolean;
10
+ }
11
+ declare class Scroller {
12
+ grid: DataGrid;
13
+ horizontalScroller: ScrollerState;
14
+ verticalScroller: ScrollerState;
15
+ mouseOriginalX?: number;
16
+ mouseOriginalY?: number;
17
+ constructor(grid: DataGrid);
18
+ /**
19
+ * 初始化滚动条配置
20
+ */
21
+ reset(): void;
22
+ update(diff: number, dir: "HORIZONTAL" | "VERTICAL"): void;
23
+ setPosition(): void;
24
+ isInsideHorizontalScroller(mouseX: number, mouseY: number): boolean;
25
+ isInsideHorizontalScrollerBar(mouseX: number, mouseY: number): boolean;
26
+ isInsideVerticalScroller(mouseX: number, mouseY: number): boolean;
27
+ isInsideVerticalScrollerBar(mouseX: number, mouseY: number): boolean;
28
+ mouseDown(x: number, y: number): void;
29
+ mouseMove(x: number, y: number): void;
30
+ mouseUp(): void;
31
+ draw(): void;
32
+ }
33
+ export default Scroller;
@@ -0,0 +1,9 @@
1
+ declare class Selector {
2
+ cornerEl: any;
3
+ areaEl: any;
4
+ clipboardEl: any;
5
+ autofillEl: any;
6
+ el: any;
7
+ constructor();
8
+ }
9
+ export default Selector;
@@ -0,0 +1,108 @@
1
+ /**
2
+ * Canvas 样式管理器
3
+ * 提供类似 CSS 的样式定义和管理方式
4
+ */
5
+ export interface CellStyle {
6
+ backgroundColor?: string;
7
+ backgroundColorHover?: string;
8
+ backgroundColorActive?: string;
9
+ backgroundColorReadonly?: string;
10
+ color?: string;
11
+ fontSize?: number;
12
+ fontFamily?: string;
13
+ fontWeight?: string;
14
+ textAlign?: CanvasTextAlign;
15
+ textBaseline?: CanvasTextBaseline;
16
+ borderColor?: string;
17
+ borderWidth?: number;
18
+ borderStyle?: 'solid' | 'dashed' | 'dotted';
19
+ paddingTop?: number;
20
+ paddingRight?: number;
21
+ paddingBottom?: number;
22
+ paddingLeft?: number;
23
+ opacity?: number;
24
+ cursor?: string;
25
+ }
26
+ export interface TableTheme {
27
+ global?: CellStyle;
28
+ header?: CellStyle;
29
+ cell?: CellStyle;
30
+ readonly?: CellStyle;
31
+ striped?: {
32
+ enabled?: boolean;
33
+ oddColor?: string;
34
+ evenColor?: string;
35
+ };
36
+ hover?: {
37
+ enabled?: boolean;
38
+ backgroundColor?: string;
39
+ };
40
+ selected?: CellStyle;
41
+ editing?: CellStyle;
42
+ checked?: {
43
+ enabled?: boolean;
44
+ backgroundColor?: string;
45
+ };
46
+ }
47
+ /**
48
+ * 预定义主题
49
+ */
50
+ export declare const themes: Record<string, TableTheme>;
51
+ /**
52
+ * 样式管理器类
53
+ */
54
+ export declare class StyleManager {
55
+ private currentTheme;
56
+ private customStyles;
57
+ constructor(theme?: TableTheme | string);
58
+ /**
59
+ * 切换主题
60
+ */
61
+ setTheme(theme: TableTheme | string): void;
62
+ /**
63
+ * 获取当前主题
64
+ */
65
+ getTheme(): TableTheme;
66
+ /**
67
+ * 合并样式(类似 CSS 的层叠)
68
+ */
69
+ mergeStyles(...styles: (CellStyle | undefined)[]): CellStyle;
70
+ /**
71
+ * 获取单元格样式
72
+ */
73
+ getCellStyle(options: {
74
+ isHeader?: boolean;
75
+ isReadonly?: boolean;
76
+ isHover?: boolean;
77
+ isEditing?: boolean;
78
+ isStriped?: boolean;
79
+ isChecked?: boolean;
80
+ rowIndex?: number;
81
+ customClass?: string;
82
+ }): CellStyle;
83
+ /**
84
+ * 注册自定义样式类(类似 CSS class)
85
+ */
86
+ registerStyle(className: string, style: CellStyle): void;
87
+ /**
88
+ * 批量注册样式
89
+ */
90
+ registerStyles(styles: Record<string, CellStyle>): void;
91
+ /**
92
+ * 应用样式到 Canvas 上下文
93
+ */
94
+ applyToContext(ctx: CanvasRenderingContext2D, style: CellStyle): void;
95
+ /**
96
+ * 解析 padding 简写(类似 CSS)
97
+ */
98
+ parsePadding(padding: number | string): {
99
+ top: number;
100
+ right: number;
101
+ bottom: number;
102
+ left: number;
103
+ };
104
+ }
105
+ /**
106
+ * 创建默认样式管理器实例
107
+ */
108
+ export declare const defaultStyleManager: StyleManager;
@@ -0,0 +1,28 @@
1
+ import type DataGrid from "./DataGrid";
2
+ interface TooltipValue {
3
+ x?: number;
4
+ y?: number;
5
+ width?: number;
6
+ height?: number;
7
+ valid?: boolean;
8
+ message?: string;
9
+ colWidth?: number;
10
+ colHeight?: number;
11
+ fixed?: string;
12
+ }
13
+ declare class Tooltip {
14
+ grid: DataGrid;
15
+ x: number;
16
+ y: number;
17
+ width: number;
18
+ height: number;
19
+ valid: boolean;
20
+ message?: string;
21
+ colWidth?: number;
22
+ colHeight?: number;
23
+ fixed?: string;
24
+ constructor(grid: DataGrid, x: number, y: number, message?: string, _type?: string);
25
+ update(value: TooltipValue): void;
26
+ draw(): void;
27
+ }
28
+ export default Tooltip;
@@ -0,0 +1,26 @@
1
+ import { ColumnConfig, ColumnType } from "./types";
2
+ import type { ViewerOption } from "./viewers/types";
3
+ interface ValidationResult {
4
+ flag: boolean;
5
+ message?: string;
6
+ }
7
+ type ValidatorFunction = (value: any, row: any, callback: (res: string | boolean) => void) => void | Promise<void>;
8
+ declare class Validator {
9
+ validateKey: string;
10
+ validateTitle: string;
11
+ columnType?: ColumnType;
12
+ type?: 'list' | 'number' | 'date' | 'phone' | 'email';
13
+ options?: ViewerOption[];
14
+ required?: boolean;
15
+ validator?: RegExp | ValidatorFunction;
16
+ operator?: string;
17
+ message?: string;
18
+ descriptor?: any;
19
+ pattern?: string | RegExp;
20
+ min?: number;
21
+ max?: number;
22
+ immediate?: boolean;
23
+ constructor(column: ColumnConfig);
24
+ validate(v: any, row: any): Promise<ValidationResult>;
25
+ }
26
+ export default Validator;
@@ -0,0 +1,5 @@
1
+ export declare const dpr: number;
2
+ declare const _default: {
3
+ dpr: number;
4
+ };
5
+ export default _default;
@@ -0,0 +1,39 @@
1
+ export declare const CSS_PREFIX = "xs-data-grid";
2
+ export declare const HEADER_HEIGHT = 36;
3
+ export declare const FOOTER_HEIGHT = 36;
4
+ export declare const ROW_INDEX_WIDTH = 36;
5
+ export declare const CHECK_BOX_WIDTH = 36;
6
+ export declare const CELL_HEIGHT = 36;
7
+ export declare const MIN_CELL_WIDTH = 100;
8
+ export declare const MIN_CELL_HEIGHT = 36;
9
+ export declare const SCROLLER_TRACK_SIZE = 16;
10
+ export declare const SCROLLER_SIZE = 8;
11
+ export declare const SCROLLER_COLOR = "#dee0e3";
12
+ export declare const SCROLLER_FOCUS_COLOR = "#bbbec4";
13
+ export declare const SELECT_BORDER_COLOR = "rgb(82,146,247)";
14
+ export declare const SELECT_AREA_COLOR = "rgba(82,146,247,0.1)";
15
+ export declare const SELECT_BG_COLOR = "rgba(82,146,247,0.1)";
16
+ export declare const READONLY_COLOR = "#f8f8f9";
17
+ export declare const READONLY_TEXT_COLOR = "#80848f";
18
+ export declare const ERROR_TIP_COLOR = "#ED3F14";
19
+ /** 空值占位符 */
20
+ export declare const EMPTY_VALUE = "-";
21
+ /** 日期显示类型 */
22
+ export declare enum DATE_DISPLAY_TYPE {
23
+ RELATIVE = "relative_date",
24
+ ABSOLUTE = "absolute_date"
25
+ }
26
+ export declare const SIZE_MAP: {
27
+ mini: number;
28
+ small: number;
29
+ medium: number;
30
+ large: number;
31
+ };
32
+ export declare const VALIDATOR_TYPES: string[];
33
+ export declare const FILE_TYPE_FIELDS: {
34
+ readonly AssetConvertStatusNotSupport: -3;
35
+ readonly AssetConvertStatusUnknown: -2;
36
+ readonly AssetConvertStatusFailed: -1;
37
+ readonly AssetConvertStatusSuccess: 0;
38
+ readonly AssetConvertStatusSubmit: 1;
39
+ };
@@ -0,0 +1,36 @@
1
+ declare class Element {
2
+ el: HTMLElement;
3
+ private dataMap;
4
+ constructor(tag: string | HTMLElement, className?: string);
5
+ data(key: string, value?: any): any;
6
+ on(eventNames: string, handler: (evt: Event) => void): this;
7
+ offset(value?: any): any;
8
+ scroll(v?: any): any;
9
+ box(): DOMRect;
10
+ parent(): Element;
11
+ children(...eles: any[]): any;
12
+ removeChild(el: Node): void;
13
+ child(arg: string | Element | Node): this;
14
+ contains(ele: Node): boolean;
15
+ className(v?: string): any;
16
+ addClass(name: string): this;
17
+ hasClass(name: string): boolean;
18
+ removeClass(name: string): this;
19
+ toggle(cls?: string): boolean;
20
+ toggleClass(name: string): boolean;
21
+ active(flag?: boolean, cls?: string): this;
22
+ checked(flag?: boolean): this;
23
+ disabled(flag?: boolean): this;
24
+ attr(key: string | Record<string, any>, value?: string): any;
25
+ removeAttr(key: string): this;
26
+ html(content?: string): any;
27
+ val(v?: any): any;
28
+ focus(): void;
29
+ cssRemoveKeys(...keys: string[]): this;
30
+ css(name: string | Record<string, any>, value?: string): any;
31
+ computedStyle(): CSSStyleDeclaration;
32
+ show(): this;
33
+ hide(): this;
34
+ }
35
+ declare const h: (tag: string | HTMLElement, className?: string) => Element;
36
+ export { Element, h };
@@ -0,0 +1,5 @@
1
+ export function e2t(extension: any): "image" | "versionset" | "pdf" | "exe" | "aep" | "ai" | "enf" | "mcp" | "x2d" | "xd" | "sketch" | "model" | "models" | "images" | "video" | "zipped" | "na" | "misc" | "iframeOffice" | "iframe" | "audio" | "pxcook";
2
+ export function typeArr(type: any): string[];
3
+ export function allExt(): string[];
4
+ export function allowUploadExt(): string[];
5
+ export function documentType(extension: any): "cell" | "word" | "slide";
@@ -0,0 +1,7 @@
1
+ import type { StatisticOption } from '../types';
2
+ /**
3
+ * 根据列的 editor 类型返回可选统计选项列表
4
+ * @param editor 列的编辑器类型
5
+ * @returns 统计选项列表
6
+ */
7
+ export declare function getFieldStatisticTypes(editor: string): StatisticOption[];