stk-table-vue 0.6.12 → 0.6.14
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/README.md +213 -201
- package/lib/src/StkTable/StkTable.vue.d.ts +31 -11
- package/lib/src/StkTable/types/index.d.ts +1 -1
- package/lib/stk-table-vue.js +56 -53
- package/package.json +75 -74
- package/src/StkTable/StkTable.vue +1550 -1546
- package/src/StkTable/components/DragHandle.vue +9 -9
- package/src/StkTable/components/SortIcon.vue +6 -6
- package/src/StkTable/const.ts +37 -37
- package/src/StkTable/index.ts +4 -4
- package/src/StkTable/style.less +553 -553
- package/src/StkTable/types/highlightDimOptions.ts +26 -26
- package/src/StkTable/types/index.ts +239 -239
- package/src/StkTable/useAutoResize.ts +91 -91
- package/src/StkTable/useColResize.ts +216 -216
- package/src/StkTable/useFixedCol.ts +148 -148
- package/src/StkTable/useFixedStyle.ts +75 -75
- package/src/StkTable/useGetFixedColPosition.ts +65 -65
- package/src/StkTable/useHighlight.ts +318 -318
- package/src/StkTable/useKeyboardArrowScroll.ts +112 -112
- package/src/StkTable/useThDrag.ts +102 -102
- package/src/StkTable/useTrDrag.ts +118 -118
- package/src/StkTable/useVirtualScroll.ts +445 -447
- package/src/StkTable/utils/constRefUtils.ts +29 -29
- package/src/StkTable/utils/index.ts +212 -212
- package/src/StkTable/utils/useTriggerRef.ts +33 -33
- package/src/VirtualTree.vue +622 -622
- package/src/VirtualTreeSelect.vue +367 -367
- package/src/vite-env.d.ts +10 -10
package/README.md
CHANGED
|
@@ -1,201 +1,213 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
* [x]
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
* [x]
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
- [x]
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
* [x]
|
|
45
|
-
|
|
46
|
-
* []
|
|
47
|
-
* [x]
|
|
48
|
-
|
|
49
|
-
* [x]
|
|
50
|
-
* [x]
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
stkTableRef
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
{
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
{
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
###
|
|
122
|
-
[
|
|
123
|
-
|
|
124
|
-
###
|
|
125
|
-
[
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
:
|
|
152
|
-
:
|
|
153
|
-
:
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
1
|
+
<p align="center">
|
|
2
|
+
<a href="https://ja-plus.github.io/stk-table-vue/">
|
|
3
|
+
<img src="./docs-src/public/assets/logo.svg" width="152">
|
|
4
|
+
</a>
|
|
5
|
+
<h3 align='center'>Stk Table Vue</h3>
|
|
6
|
+
<p align="center">
|
|
7
|
+
<a href="https://www.npmjs.com/package/stk-table-vue"><img src="https://img.shields.io/npm/v/stk-table-vue"></a>
|
|
8
|
+
<a href="https://www.npmjs.com/package/stk-table-vue"><img src="https://img.shields.io/npm/dw/stk-table-vue"></a>
|
|
9
|
+
<a href="https://github.com/ja-plus/stk-table-vue/stargazers"><img src="https://img.shields.io/github/stars/ja-plus/stk-table-vue.svg"></a>
|
|
10
|
+
<a href="https://raw.githubusercontent.com/ja-plus/stk-table-vue/master/LICENSE"><img src="https://img.shields.io/npm/l/stk-table-vue"></a>
|
|
11
|
+
<a href="https://github.com/ja-plus/stk-table-vue"><img src="https://img.shields.io/npm/types/stk-table-vue"></a>
|
|
12
|
+
</p>
|
|
13
|
+
</p>
|
|
14
|
+
|
|
15
|
+
> StK Table (Sticky Table) 是一个基于Vue 的高性能虚拟列表组件。
|
|
16
|
+
> 用于实时数据展示,数据高亮动效。
|
|
17
|
+
|
|
18
|
+
> Vue2.7支持引入源码(**ts**)使用。
|
|
19
|
+
|
|
20
|
+
## Doc
|
|
21
|
+
文档: [Stk Table Vue 高性能虚拟表格](https://ja-plus.github.io/stk-table-vue/)
|
|
22
|
+
|
|
23
|
+
## Repo:
|
|
24
|
+
- [Github](https://github.com/ja-plus/stk-table-vue)
|
|
25
|
+
- [Gitee](https://gitee.com/japlus/stk-table-vue) 🇨🇳
|
|
26
|
+
|
|
27
|
+
## Demo
|
|
28
|
+
|
|
29
|
+
[<span style="font-size: 16px;font-weight: bold;">Online Demo</span>](https://stackblitz.com/edit/vitejs-vite-ad91hh?file=src%2FDemo%2Findex.vue)
|
|
30
|
+
|
|
31
|
+
## Feature TODO:
|
|
32
|
+
* [x] 高亮行,单元格。
|
|
33
|
+
- [x] 使用 `Web Animations API` 实现高亮。(`v0.3.4` 变更为默认值)
|
|
34
|
+
- [x] 支持配置高亮参数(持续时间,颜色,频率)。(`v0.2.9`)
|
|
35
|
+
- [x] `setHighlightDimRow`/`setHighlightCellRow`支持自定义高亮css类名。(`v0.2.9`)
|
|
36
|
+
* [x] 虚拟列表。
|
|
37
|
+
- [x] 纵向。
|
|
38
|
+
- [x] 横向(必须设置列宽)。
|
|
39
|
+
- [x] 支持不定行高。(`v0.6.0`)
|
|
40
|
+
* [x] 列固定。
|
|
41
|
+
- [x] 固定列阴影。
|
|
42
|
+
- [x] 多级表头固定列阴影。
|
|
43
|
+
- [x] sticky column 动态计算阴影位置。(`v0.4.0`)
|
|
44
|
+
* [x] 行展开。(`v0.5.0`)
|
|
45
|
+
* [x] 行拖动。(`v0.5.0`)
|
|
46
|
+
* [] 列筛选。
|
|
47
|
+
* [x] 斑马纹。
|
|
48
|
+
* [x] 拖动更改列顺序。
|
|
49
|
+
* [x] 拖动调整列宽。
|
|
50
|
+
* [x] 排序
|
|
51
|
+
- [x] 支持配置 `null` | `undefined` 永远排最后。
|
|
52
|
+
- [x] 支持配置 string 使用 `String.prototype.localCompare` 排序。
|
|
53
|
+
* [x] 多级表头。
|
|
54
|
+
- [] 横向虚拟滚动。
|
|
55
|
+
* [x] 支持table-layout: fixed 配置。
|
|
56
|
+
* [x] 鼠标悬浮在表格上,键盘滚动虚拟表格。
|
|
57
|
+
- [x] 键盘 `ArrowUp`/`ArrowDown`/`ArrowLeft`/`ArrowRight`/`PageUp`/ `PageDown` 按键支持。
|
|
58
|
+
* [] 非虚拟滚动时,大数据分批加载。
|
|
59
|
+
* [x] vue2.7支持(引入源码使用)。
|
|
60
|
+
- [x] `props.optimizeVue2Scroll` 优化vue2虚拟滚动流畅度。(`v0.2.0`)
|
|
61
|
+
* [x] 支持配置序号列。`StkTableColumn['type']`。(`v0.3.0`)
|
|
62
|
+
* [x] `props.cellHover`单元格悬浮样式。(`v0.3.2`)
|
|
63
|
+
* [] 惯性滚动优化。
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
## Usage
|
|
67
|
+
> npm install stk-table-vue
|
|
68
|
+
|
|
69
|
+
```html
|
|
70
|
+
<script setup>
|
|
71
|
+
import { StkTable } from 'stk-table-vue'
|
|
72
|
+
import { ref, useTemplateRef } from 'vue'
|
|
73
|
+
const stkTableRef = ref<InstanceType<typeof StkTable>>();
|
|
74
|
+
// or Vue 3.5 useTemplateRef
|
|
75
|
+
const stkTableRef = useTemplateRef('stkTableRef');
|
|
76
|
+
|
|
77
|
+
// highlight row
|
|
78
|
+
stkTableRef.value.setHighlightDimRow([rowKey],{
|
|
79
|
+
method: 'css'|'js'|'animation',// 默认 animation。
|
|
80
|
+
className: 'custom-class-name', // method css 时生效。
|
|
81
|
+
keyframe: [{backgroundColor:'#aaa'}, {backgroundColor: '#222'}],//same as https://developer.mozilla.org/zh-CN/docs/Web/API/Web_Animations_API/Keyframe_Formats
|
|
82
|
+
duration: 2000,// 动画时长。
|
|
83
|
+
});
|
|
84
|
+
// highlight cell
|
|
85
|
+
stkTableRef.value.setHighlightDimCell(rowKey, colDataIndex, {
|
|
86
|
+
method: 'css'|'animation',
|
|
87
|
+
className:'custom-class-name', // method css 时生效。
|
|
88
|
+
keyframe: [{backgroundColor:'#aaa'}, {backgroundColor: '#222'}], // method animation 时生效。
|
|
89
|
+
duration: 2000,// 动画时长。
|
|
90
|
+
});
|
|
91
|
+
|
|
92
|
+
const columns = [
|
|
93
|
+
{title: 'name', dataIndex: 'name'},
|
|
94
|
+
{title: 'age', dataIndex: 'age'},
|
|
95
|
+
{title: 'address', dataIndex: 'address'},
|
|
96
|
+
];
|
|
97
|
+
|
|
98
|
+
const dataSource = [
|
|
99
|
+
{id: 1, name: 'John', age: 32, address: 'New York'},
|
|
100
|
+
{id: 2, name: 'Jim', age: 42, address: 'London'},
|
|
101
|
+
{id: 3, name: 'Joe', age: 52, address: 'Tokyo'},
|
|
102
|
+
{id: 4, name: 'Jack', age: 62, address: 'Sydney'},
|
|
103
|
+
{id: 5, name: 'Jill', age: 72, address: 'Paris'},
|
|
104
|
+
]
|
|
105
|
+
|
|
106
|
+
</script>
|
|
107
|
+
|
|
108
|
+
<template>
|
|
109
|
+
<StkTable ref='stkTableRef' row-key="id" :data-source="dataSource" :columns="columns"></StkTable>
|
|
110
|
+
</template>
|
|
111
|
+
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### Vue2.7 Usage
|
|
115
|
+
[在vue2中使用](https://ja-plus.github.io/stk-table-vue/main/start/vue2-usage.html)
|
|
116
|
+
|
|
117
|
+
## Notice
|
|
118
|
+
注意,组件会改动 `props.columns` 中的对象。如果多个组件 `columns` 数组元素存在引用同一个 `StkTableColumn` 对象。则考虑赋值 `columns` 前进行深拷贝。
|
|
119
|
+
|
|
120
|
+
## API
|
|
121
|
+
### Props
|
|
122
|
+
[Props 表格配置](https://ja-plus.github.io/stk-table-vue/main/api/table-props.html)
|
|
123
|
+
|
|
124
|
+
### Emits
|
|
125
|
+
[Emits 事件](https://ja-plus.github.io/stk-table-vue/main/api/emits.html)
|
|
126
|
+
|
|
127
|
+
### Slots
|
|
128
|
+
[Slots 插槽](https://ja-plus.github.io/stk-table-vue/main/api/slots.html)
|
|
129
|
+
|
|
130
|
+
### Expose
|
|
131
|
+
[Expose 实例方法](https://ja-plus.github.io/stk-table-vue/main/api/expose.html)
|
|
132
|
+
|
|
133
|
+
### StkTableColumn 列配置
|
|
134
|
+
[StkTableColumn 列配置](https://ja-plus.github.io/stk-table-vue/main/api/stk-table-column.html)
|
|
135
|
+
|
|
136
|
+
### setHighlightDimCell & setHighlightDimRow
|
|
137
|
+
[高亮使用文档](https://ja-plus.github.io/stk-table-vue/main/api/expose.html#sethighlightdimcell)
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
### Example
|
|
141
|
+
```vue
|
|
142
|
+
<template>
|
|
143
|
+
<StkTable
|
|
144
|
+
ref="stkTable"
|
|
145
|
+
row-key="name"
|
|
146
|
+
v-model:columns="columns"
|
|
147
|
+
:style="{height:props.height}"
|
|
148
|
+
theme='dark'
|
|
149
|
+
height='200px'
|
|
150
|
+
bordered="h"
|
|
151
|
+
:row-height="28"
|
|
152
|
+
:show-overflow="false"
|
|
153
|
+
:show-header-overflow="false"
|
|
154
|
+
:sort-remote="false"
|
|
155
|
+
col-resizable
|
|
156
|
+
header-drag
|
|
157
|
+
virtual
|
|
158
|
+
virtual-x
|
|
159
|
+
no-data-full
|
|
160
|
+
col-resizable
|
|
161
|
+
auto-resize
|
|
162
|
+
fixed-col-shadow
|
|
163
|
+
:col-min-width="10"
|
|
164
|
+
:headless="false"
|
|
165
|
+
:data-source="dataSource"
|
|
166
|
+
@current-change="onCurrentChange"
|
|
167
|
+
@row-menu="onRowMenu"
|
|
168
|
+
@header-row-menu="onHeaderRowMenu"
|
|
169
|
+
@row-click="onRowClick"
|
|
170
|
+
@row-dblclick="onRowDblclick"
|
|
171
|
+
@sort-change="handleSortChange"
|
|
172
|
+
@cell-click="onCellClick"
|
|
173
|
+
@header-cell-click="onHeaderCellClick"
|
|
174
|
+
@scroll="onTableScroll"
|
|
175
|
+
@scroll-x="onTableScrollX"
|
|
176
|
+
@col-order-change="onColOrderChange"
|
|
177
|
+
/>
|
|
178
|
+
</template>
|
|
179
|
+
<script setup>
|
|
180
|
+
import { h, defineComponent } from 'vue';
|
|
181
|
+
const columns = [
|
|
182
|
+
{
|
|
183
|
+
title: 'Name',
|
|
184
|
+
dataIndex: 'name',
|
|
185
|
+
fixed: 'left',
|
|
186
|
+
width: '200px',
|
|
187
|
+
headerClassName: 'my-th',
|
|
188
|
+
className: 'my-td',
|
|
189
|
+
sorter: true,
|
|
190
|
+
customHeaderCell: function FunctionalComponent(props){
|
|
191
|
+
return h(
|
|
192
|
+
'span',
|
|
193
|
+
{ style: 'overflow:hidden;text-overflow:ellipsis;white-space:nowrap' },
|
|
194
|
+
props.col.title + '(render) text-overflow,',
|
|
195
|
+
);
|
|
196
|
+
},
|
|
197
|
+
customCell: defineComponent({
|
|
198
|
+
setup(){
|
|
199
|
+
//...
|
|
200
|
+
return () => <div></div> // vue jsx
|
|
201
|
+
}
|
|
202
|
+
})
|
|
203
|
+
},
|
|
204
|
+
]
|
|
205
|
+
</script>
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
|
|
209
|
+
## Other
|
|
210
|
+
* `$*$` 兼容注释
|
|
211
|
+
|
|
212
|
+
### Planed removal APi
|
|
213
|
+
* `setHighlightDimRow` 中的 `method="js"`。观察animation Api 是否足够满足使用场景。若足够满足计划在后期移除,并且可以移除 `d3-interpolate` 依赖。
|
|
@@ -369,7 +369,9 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
|
|
|
369
369
|
clearAllAutoHeight: () => void;
|
|
370
370
|
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
371
371
|
"sort-change": (col: StkTableColumn<any> | null, order: Order, data: any[], sortConfig: SortConfig<any>) => void;
|
|
372
|
-
"row-click": (ev: MouseEvent, row: any
|
|
372
|
+
"row-click": (ev: MouseEvent, row: any, data: {
|
|
373
|
+
rowIndex: number;
|
|
374
|
+
}) => void;
|
|
373
375
|
"current-change": (ev: MouseEvent | null, row: any, data: {
|
|
374
376
|
select: boolean;
|
|
375
377
|
}) => void;
|
|
@@ -378,14 +380,22 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
|
|
|
378
380
|
row: DT | undefined;
|
|
379
381
|
col: StkTableColumn<DT> | undefined;
|
|
380
382
|
}) => void;
|
|
381
|
-
"row-dblclick": (ev: MouseEvent, row: any
|
|
383
|
+
"row-dblclick": (ev: MouseEvent, row: any, data: {
|
|
384
|
+
rowIndex: number;
|
|
385
|
+
}) => void;
|
|
382
386
|
"header-row-menu": (ev: MouseEvent) => void;
|
|
383
|
-
"row-menu": (ev: MouseEvent, row: any
|
|
384
|
-
|
|
387
|
+
"row-menu": (ev: MouseEvent, row: any, data: {
|
|
388
|
+
rowIndex: number;
|
|
389
|
+
}) => void;
|
|
390
|
+
"cell-click": (ev: MouseEvent, row: any, col: StkTableColumn<any>, data: {
|
|
391
|
+
rowIndex: number;
|
|
392
|
+
}) => void;
|
|
385
393
|
"cell-mouseenter": (ev: MouseEvent, row: any, col: StkTableColumn<any>) => void;
|
|
386
394
|
"cell-mouseleave": (ev: MouseEvent, row: any, col: StkTableColumn<any>) => void;
|
|
387
395
|
"cell-mouseover": (ev: MouseEvent, row: any, col: StkTableColumn<any>) => void;
|
|
388
|
-
"cell-mousedown": (ev: MouseEvent, row: any, col: StkTableColumn<any
|
|
396
|
+
"cell-mousedown": (ev: MouseEvent, row: any, col: StkTableColumn<any>, data: {
|
|
397
|
+
rowIndex: number;
|
|
398
|
+
}) => void;
|
|
389
399
|
"header-cell-click": (ev: MouseEvent, col: StkTableColumn<any>) => void;
|
|
390
400
|
scroll: (ev: Event, data: {
|
|
391
401
|
startIndex: number;
|
|
@@ -596,7 +606,9 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
|
|
|
596
606
|
"onCol-order-change"?: ((dragStartKey: string, targetColKey: string) => any) | undefined;
|
|
597
607
|
"onRow-order-change"?: ((dragStartKey: string, targetRowKey: string) => any) | undefined;
|
|
598
608
|
"onSort-change"?: ((col: StkTableColumn<any> | null, order: Order, data: any[], sortConfig: SortConfig<any>) => any) | undefined;
|
|
599
|
-
"onRow-click"?: ((ev: MouseEvent, row: any
|
|
609
|
+
"onRow-click"?: ((ev: MouseEvent, row: any, data: {
|
|
610
|
+
rowIndex: number;
|
|
611
|
+
}) => any) | undefined;
|
|
600
612
|
"onCurrent-change"?: ((ev: MouseEvent | null, row: any, data: {
|
|
601
613
|
select: boolean;
|
|
602
614
|
}) => any) | undefined;
|
|
@@ -605,14 +617,22 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
|
|
|
605
617
|
row: DT | undefined;
|
|
606
618
|
col: StkTableColumn<DT> | undefined;
|
|
607
619
|
}) => any) | undefined;
|
|
608
|
-
"onRow-dblclick"?: ((ev: MouseEvent, row: any
|
|
620
|
+
"onRow-dblclick"?: ((ev: MouseEvent, row: any, data: {
|
|
621
|
+
rowIndex: number;
|
|
622
|
+
}) => any) | undefined;
|
|
609
623
|
"onHeader-row-menu"?: ((ev: MouseEvent) => any) | undefined;
|
|
610
|
-
"onRow-menu"?: ((ev: MouseEvent, row: any
|
|
611
|
-
|
|
624
|
+
"onRow-menu"?: ((ev: MouseEvent, row: any, data: {
|
|
625
|
+
rowIndex: number;
|
|
626
|
+
}) => any) | undefined;
|
|
627
|
+
"onCell-click"?: ((ev: MouseEvent, row: any, col: StkTableColumn<any>, data: {
|
|
628
|
+
rowIndex: number;
|
|
629
|
+
}) => any) | undefined;
|
|
612
630
|
"onCell-mouseenter"?: ((ev: MouseEvent, row: any, col: StkTableColumn<any>) => any) | undefined;
|
|
613
631
|
"onCell-mouseleave"?: ((ev: MouseEvent, row: any, col: StkTableColumn<any>) => any) | undefined;
|
|
614
632
|
"onCell-mouseover"?: ((ev: MouseEvent, row: any, col: StkTableColumn<any>) => any) | undefined;
|
|
615
|
-
"onCell-mousedown"?: ((ev: MouseEvent, row: any, col: StkTableColumn<any
|
|
633
|
+
"onCell-mousedown"?: ((ev: MouseEvent, row: any, col: StkTableColumn<any>, data: {
|
|
634
|
+
rowIndex: number;
|
|
635
|
+
}) => any) | undefined;
|
|
616
636
|
"onHeader-cell-click"?: ((ev: MouseEvent, col: StkTableColumn<any>) => any) | undefined;
|
|
617
637
|
"onScroll-x"?: ((ev: Event) => any) | undefined;
|
|
618
638
|
"onToggle-row-expand"?: ((data: {
|
|
@@ -626,12 +646,12 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
|
|
|
626
646
|
maxWidth: string;
|
|
627
647
|
sortConfig: SortConfig<DT>;
|
|
628
648
|
rowHeight: number;
|
|
629
|
-
headerRowHeight: number | null;
|
|
630
649
|
headless: boolean;
|
|
631
650
|
autoRowHeight: boolean | AutoRowHeightConfig<DT>;
|
|
632
651
|
stripe: boolean;
|
|
633
652
|
optimizeVue2Scroll: boolean;
|
|
634
653
|
rowKey: UniqKeyProp;
|
|
654
|
+
headerRowHeight: number | null;
|
|
635
655
|
colKey: UniqKeyProp;
|
|
636
656
|
fixedMode: boolean;
|
|
637
657
|
theme: "light" | "dark";
|
|
@@ -211,7 +211,7 @@ export type HeaderDragConfig<DT extends Record<string, any> = any> = boolean | {
|
|
|
211
211
|
};
|
|
212
212
|
export type AutoRowHeightConfig<DT> = {
|
|
213
213
|
/** Estimated row height */
|
|
214
|
-
expectedHeight?: number | ((row: DT
|
|
214
|
+
expectedHeight?: number | ((row: DT) => number);
|
|
215
215
|
};
|
|
216
216
|
export type ColResizableConfig<DT extends Record<string, any>> = {
|
|
217
217
|
disabled: (col: StkTableColumn<DT>) => boolean;
|