e-virt-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.
- package/LICENSE +21 -0
- package/README.md +2 -0
- package/dist/index.cjs.js +14 -0
- package/dist/index.cjs.js.map +1 -0
- package/dist/index.es.js +5422 -0
- package/dist/index.es.js.map +1 -0
- package/dist/index.umd.js +14 -0
- package/dist/index.umd.js.map +1 -0
- package/dist/lib/Autofill.d.ts +20 -0
- package/dist/lib/Autofill.js +185 -0
- package/dist/lib/Autofill.js.map +1 -0
- package/dist/lib/BaseCell.d.ts +22 -0
- package/dist/lib/BaseCell.js +111 -0
- package/dist/lib/BaseCell.js.map +1 -0
- package/dist/lib/Body.d.ts +29 -0
- package/dist/lib/Body.js +382 -0
- package/dist/lib/Body.js.map +1 -0
- package/dist/lib/Cell.d.ts +101 -0
- package/dist/lib/Cell.js +943 -0
- package/dist/lib/Cell.js.map +1 -0
- package/dist/lib/CellHeader.d.ts +64 -0
- package/dist/lib/CellHeader.js +355 -0
- package/dist/lib/CellHeader.js.map +1 -0
- package/dist/lib/Config.d.ts +106 -0
- package/dist/lib/Config.js +617 -0
- package/dist/lib/Config.js.map +1 -0
- package/dist/lib/Context.d.ts +123 -0
- package/dist/lib/Context.js +419 -0
- package/dist/lib/Context.js.map +1 -0
- package/dist/lib/Database.d.ts +228 -0
- package/dist/lib/Database.js +931 -0
- package/dist/lib/Database.js.map +1 -0
- package/dist/lib/EVirtTable.d.ts +61 -0
- package/dist/lib/EVirtTable.js +321 -0
- package/dist/lib/EVirtTable.js.map +1 -0
- package/dist/lib/Editor.d.ts +16 -0
- package/dist/lib/Editor.js +251 -0
- package/dist/lib/Editor.js.map +1 -0
- package/dist/lib/Empty.d.ts +7 -0
- package/dist/lib/Empty.js +45 -0
- package/dist/lib/Empty.js.map +1 -0
- package/dist/lib/EventBrowser.d.ts +17 -0
- package/dist/lib/EventBrowser.js +79 -0
- package/dist/lib/EventBrowser.js.map +1 -0
- package/dist/lib/EventBus.d.ts +12 -0
- package/dist/lib/EventBus.js +58 -0
- package/dist/lib/EventBus.js.map +1 -0
- package/dist/lib/EventTable.d.ts +26 -0
- package/dist/lib/EventTable.js +358 -0
- package/dist/lib/EventTable.js.map +1 -0
- package/dist/lib/Footer.d.ts +17 -0
- package/dist/lib/Footer.js +138 -0
- package/dist/lib/Footer.js.map +1 -0
- package/dist/lib/Header.d.ts +37 -0
- package/dist/lib/Header.js +482 -0
- package/dist/lib/Header.js.map +1 -0
- package/dist/lib/History.d.ts +27 -0
- package/dist/lib/History.js +106 -0
- package/dist/lib/History.js.map +1 -0
- package/dist/lib/Icons.d.ts +15 -0
- package/dist/lib/Icons.js +145 -0
- package/dist/lib/Icons.js.map +1 -0
- package/dist/lib/Overlayer.d.ts +10 -0
- package/dist/lib/Overlayer.js +267 -0
- package/dist/lib/Overlayer.js.map +1 -0
- package/dist/lib/Paint.d.ts +65 -0
- package/dist/lib/Paint.js +223 -0
- package/dist/lib/Paint.js.map +1 -0
- package/dist/lib/Row.d.ts +22 -0
- package/dist/lib/Row.js +125 -0
- package/dist/lib/Row.js.map +1 -0
- package/dist/lib/Scroller.d.ts +20 -0
- package/dist/lib/Scroller.js +448 -0
- package/dist/lib/Scroller.js.map +1 -0
- package/dist/lib/Selector.d.ts +38 -0
- package/dist/lib/Selector.js +532 -0
- package/dist/lib/Selector.js.map +1 -0
- package/dist/lib/Tooltip.d.ts +13 -0
- package/dist/lib/Tooltip.js +204 -0
- package/dist/lib/Tooltip.js.map +1 -0
- package/dist/lib/index.d.ts +3 -0
- package/dist/lib/index.js +4 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/lib/types.d.ts +160 -0
- package/dist/lib/types.js +2 -0
- package/dist/lib/types.js.map +1 -0
- package/dist/lib/util.d.ts +15 -0
- package/dist/lib/util.js +113 -0
- package/dist/lib/util.js.map +1 -0
- package/package.json +37 -0
package/dist/lib/Body.js
ADDED
|
@@ -0,0 +1,382 @@
|
|
|
1
|
+
import Row from './Row';
|
|
2
|
+
export default class Body {
|
|
3
|
+
constructor(ctx) {
|
|
4
|
+
Object.defineProperty(this, "resizeTarget", {
|
|
5
|
+
enumerable: true,
|
|
6
|
+
configurable: true,
|
|
7
|
+
writable: true,
|
|
8
|
+
value: null
|
|
9
|
+
}); //调整行大小的目标
|
|
10
|
+
Object.defineProperty(this, "isMouseDown", {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
configurable: true,
|
|
13
|
+
writable: true,
|
|
14
|
+
value: false
|
|
15
|
+
}); // 是否按下
|
|
16
|
+
Object.defineProperty(this, "resizeDiff", {
|
|
17
|
+
enumerable: true,
|
|
18
|
+
configurable: true,
|
|
19
|
+
writable: true,
|
|
20
|
+
value: 0
|
|
21
|
+
}); // 是否移动中
|
|
22
|
+
Object.defineProperty(this, "offsetY", {
|
|
23
|
+
enumerable: true,
|
|
24
|
+
configurable: true,
|
|
25
|
+
writable: true,
|
|
26
|
+
value: 0
|
|
27
|
+
}); // 鼠标按下时的y轴位置
|
|
28
|
+
Object.defineProperty(this, "ctx", {
|
|
29
|
+
enumerable: true,
|
|
30
|
+
configurable: true,
|
|
31
|
+
writable: true,
|
|
32
|
+
value: void 0
|
|
33
|
+
});
|
|
34
|
+
Object.defineProperty(this, "x", {
|
|
35
|
+
enumerable: true,
|
|
36
|
+
configurable: true,
|
|
37
|
+
writable: true,
|
|
38
|
+
value: 0
|
|
39
|
+
});
|
|
40
|
+
Object.defineProperty(this, "y", {
|
|
41
|
+
enumerable: true,
|
|
42
|
+
configurable: true,
|
|
43
|
+
writable: true,
|
|
44
|
+
value: 0
|
|
45
|
+
});
|
|
46
|
+
Object.defineProperty(this, "width", {
|
|
47
|
+
enumerable: true,
|
|
48
|
+
configurable: true,
|
|
49
|
+
writable: true,
|
|
50
|
+
value: 0
|
|
51
|
+
});
|
|
52
|
+
Object.defineProperty(this, "height", {
|
|
53
|
+
enumerable: true,
|
|
54
|
+
configurable: true,
|
|
55
|
+
writable: true,
|
|
56
|
+
value: 0
|
|
57
|
+
});
|
|
58
|
+
Object.defineProperty(this, "headIndex", {
|
|
59
|
+
enumerable: true,
|
|
60
|
+
configurable: true,
|
|
61
|
+
writable: true,
|
|
62
|
+
value: 0
|
|
63
|
+
});
|
|
64
|
+
Object.defineProperty(this, "tailIndex", {
|
|
65
|
+
enumerable: true,
|
|
66
|
+
configurable: true,
|
|
67
|
+
writable: true,
|
|
68
|
+
value: 0
|
|
69
|
+
});
|
|
70
|
+
Object.defineProperty(this, "isResizing", {
|
|
71
|
+
enumerable: true,
|
|
72
|
+
configurable: true,
|
|
73
|
+
writable: true,
|
|
74
|
+
value: false
|
|
75
|
+
}); //是否正在调整大小
|
|
76
|
+
Object.defineProperty(this, "renderRows", {
|
|
77
|
+
enumerable: true,
|
|
78
|
+
configurable: true,
|
|
79
|
+
writable: true,
|
|
80
|
+
value: []
|
|
81
|
+
});
|
|
82
|
+
Object.defineProperty(this, "visibleRows", {
|
|
83
|
+
enumerable: true,
|
|
84
|
+
configurable: true,
|
|
85
|
+
writable: true,
|
|
86
|
+
value: []
|
|
87
|
+
});
|
|
88
|
+
Object.defineProperty(this, "visibleHeight", {
|
|
89
|
+
enumerable: true,
|
|
90
|
+
configurable: true,
|
|
91
|
+
writable: true,
|
|
92
|
+
value: 0
|
|
93
|
+
});
|
|
94
|
+
Object.defineProperty(this, "visibleWidth", {
|
|
95
|
+
enumerable: true,
|
|
96
|
+
configurable: true,
|
|
97
|
+
writable: true,
|
|
98
|
+
value: 0
|
|
99
|
+
});
|
|
100
|
+
Object.defineProperty(this, "data", {
|
|
101
|
+
enumerable: true,
|
|
102
|
+
configurable: true,
|
|
103
|
+
writable: true,
|
|
104
|
+
value: []
|
|
105
|
+
});
|
|
106
|
+
this.ctx = ctx;
|
|
107
|
+
this.init();
|
|
108
|
+
this.initResizeRow();
|
|
109
|
+
}
|
|
110
|
+
init() {
|
|
111
|
+
const { target, header, database, config: { FOOTER_FIXED, SCROLLER_TRACK_SIZE = 0, BORDER_COLOR, BORDER_RADIUS, HEIGHT, EMPTY_BODY_HEIGHT = 0, MAX_HEIGHT = 0, ENABLE_OFFSET_HEIGHT = 0, OFFSET_HEIGHT = 0, }, } = this.ctx;
|
|
112
|
+
if (!header.width) {
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
this.x = 0;
|
|
116
|
+
this.y = header.height; //更新body的y轴位置
|
|
117
|
+
const { data, sumHeight } = database.getData();
|
|
118
|
+
// 更新高度
|
|
119
|
+
this.height = sumHeight;
|
|
120
|
+
// 更新数据
|
|
121
|
+
this.data = data;
|
|
122
|
+
const { top } = target.getBoundingClientRect();
|
|
123
|
+
// 更新宽度
|
|
124
|
+
this.width = header.width;
|
|
125
|
+
this.visibleWidth = target.width - SCROLLER_TRACK_SIZE;
|
|
126
|
+
// 底部高度
|
|
127
|
+
const footerHeight = this.ctx.footer.height;
|
|
128
|
+
if (!this.data.length) {
|
|
129
|
+
this.height = EMPTY_BODY_HEIGHT;
|
|
130
|
+
}
|
|
131
|
+
const isEmpty = !this.data.length ? 'empty' : 'not-empty';
|
|
132
|
+
this.ctx.emit('emptyChange', {
|
|
133
|
+
isEmpty,
|
|
134
|
+
type: isEmpty,
|
|
135
|
+
headerHeight: header.height,
|
|
136
|
+
bodyHeight: this.height,
|
|
137
|
+
footerHeight,
|
|
138
|
+
width: this.width,
|
|
139
|
+
height: !this.data.length ? EMPTY_BODY_HEIGHT + footerHeight : 0,
|
|
140
|
+
});
|
|
141
|
+
let containerHeight = this.height + header.height + SCROLLER_TRACK_SIZE;
|
|
142
|
+
// 如果有底部,加上底部高度
|
|
143
|
+
containerHeight += footerHeight;
|
|
144
|
+
let stageHeight = 0;
|
|
145
|
+
if (this.data.length && ENABLE_OFFSET_HEIGHT) {
|
|
146
|
+
const windowInnerHeight = window.innerHeight;
|
|
147
|
+
const visibleHeight = windowInnerHeight - top;
|
|
148
|
+
stageHeight = visibleHeight - OFFSET_HEIGHT;
|
|
149
|
+
if (stageHeight < 0) {
|
|
150
|
+
stageHeight = 32;
|
|
151
|
+
console.error('There is an error in the height calculation ENABLE_OFFSET_HEIGHT and OFFSET_HEIGHT are invalid');
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
else if (this.data.length && HEIGHT) {
|
|
155
|
+
stageHeight = HEIGHT;
|
|
156
|
+
}
|
|
157
|
+
else if (this.data.length && MAX_HEIGHT && containerHeight > MAX_HEIGHT) {
|
|
158
|
+
stageHeight = MAX_HEIGHT;
|
|
159
|
+
}
|
|
160
|
+
else {
|
|
161
|
+
stageHeight = containerHeight;
|
|
162
|
+
}
|
|
163
|
+
// 更新窗口高度
|
|
164
|
+
if (stageHeight > 0) {
|
|
165
|
+
this.ctx.target.height = stageHeight;
|
|
166
|
+
}
|
|
167
|
+
// 可视区高度
|
|
168
|
+
let _visibleHeight = target.height - header.height - SCROLLER_TRACK_SIZE;
|
|
169
|
+
// 底部高度,如果是固定底部,可视区减上底部高度
|
|
170
|
+
if (FOOTER_FIXED) {
|
|
171
|
+
this.visibleHeight = _visibleHeight - footerHeight;
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
this.visibleHeight = _visibleHeight;
|
|
175
|
+
}
|
|
176
|
+
this.ctx.body.x = this.x;
|
|
177
|
+
this.ctx.body.y = this.y;
|
|
178
|
+
this.ctx.body.width = this.width;
|
|
179
|
+
this.ctx.body.height = this.height;
|
|
180
|
+
this.ctx.body.visibleWidth = this.visibleWidth;
|
|
181
|
+
this.ctx.body.visibleHeight = this.visibleHeight;
|
|
182
|
+
this.ctx.body.data = data;
|
|
183
|
+
// 外层容器样式
|
|
184
|
+
this.ctx.target.setAttribute('style', `outline: none; position: relative; border-radius: ${BORDER_RADIUS}px; border: 1px solid ${BORDER_COLOR}; height:${this.ctx.target.height}px;width:${this.ctx.target.width - 1}px;`);
|
|
185
|
+
}
|
|
186
|
+
// 调整行的高度
|
|
187
|
+
initResizeRow() {
|
|
188
|
+
const { config: { ENABLE_RESIZE_ROW }, } = this.ctx;
|
|
189
|
+
if (!ENABLE_RESIZE_ROW) {
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
// 鼠标移动
|
|
193
|
+
this.ctx.on('mouseup', () => {
|
|
194
|
+
this.isMouseDown = false;
|
|
195
|
+
if (this.resizeDiff !== 0 && this.resizeTarget) {
|
|
196
|
+
// 调整宽度
|
|
197
|
+
this.resizeRow(this.resizeTarget, this.resizeDiff);
|
|
198
|
+
}
|
|
199
|
+
this.resizeTarget = null;
|
|
200
|
+
this.resizeDiff = 0;
|
|
201
|
+
this.isResizing = false;
|
|
202
|
+
this.ctx.rowResizing = false;
|
|
203
|
+
this.offsetY = 0;
|
|
204
|
+
});
|
|
205
|
+
this.ctx.on('mousedown', (e) => {
|
|
206
|
+
if (!this.ctx.isTarget(e.target)) {
|
|
207
|
+
return;
|
|
208
|
+
}
|
|
209
|
+
this.offsetY = e.offsetY;
|
|
210
|
+
if (this.resizeTarget) {
|
|
211
|
+
this.isResizing = true;
|
|
212
|
+
// 传递给上下文,防止其他事件触发,行调整大小时,不触发选择器
|
|
213
|
+
this.ctx.rowResizing = true;
|
|
214
|
+
}
|
|
215
|
+
else {
|
|
216
|
+
this.isResizing = false;
|
|
217
|
+
}
|
|
218
|
+
this.isMouseDown = true;
|
|
219
|
+
});
|
|
220
|
+
this.ctx.on('mousemove', (e) => {
|
|
221
|
+
// 编辑中不触发mousemove
|
|
222
|
+
if (this.ctx.editing)
|
|
223
|
+
return;
|
|
224
|
+
const y = e.offsetY;
|
|
225
|
+
const x = e.offsetX;
|
|
226
|
+
const { target, scrollY, config: { RESIZE_ROW_MIN_HEIGHT = 0 }, } = this.ctx;
|
|
227
|
+
if (this.isResizing && this.resizeTarget) {
|
|
228
|
+
const resizeTargetHeight = this.resizeTarget.height;
|
|
229
|
+
let diff = y - this.offsetY;
|
|
230
|
+
if (diff + resizeTargetHeight < RESIZE_ROW_MIN_HEIGHT) {
|
|
231
|
+
diff = -(resizeTargetHeight - RESIZE_ROW_MIN_HEIGHT);
|
|
232
|
+
}
|
|
233
|
+
this.resizeDiff = diff;
|
|
234
|
+
this.ctx.emit('draw');
|
|
235
|
+
}
|
|
236
|
+
else {
|
|
237
|
+
this.resizeTarget = null;
|
|
238
|
+
// 按下时不改变样式,有可能是多选表头
|
|
239
|
+
if (this.isMouseDown) {
|
|
240
|
+
return;
|
|
241
|
+
}
|
|
242
|
+
// 如果是拖动选择
|
|
243
|
+
if (this.ctx.target.style.cursor === 'crosshair') {
|
|
244
|
+
return;
|
|
245
|
+
}
|
|
246
|
+
if (this.ctx.target.style.cursor === 'row-resize') {
|
|
247
|
+
// 恢复默认样式
|
|
248
|
+
this.ctx.target.style.cursor = 'default';
|
|
249
|
+
}
|
|
250
|
+
for (let i = 0; i < this.renderRows.length; i++) {
|
|
251
|
+
const row = this.renderRows[i];
|
|
252
|
+
const isYRange = y > row.y - scrollY + row.height - 1.5 &&
|
|
253
|
+
y < row.y - scrollY + row.height + 1.5 &&
|
|
254
|
+
y < target.height - 4;
|
|
255
|
+
if (isYRange) {
|
|
256
|
+
for (let j = 0; j < row.cells.length; j++) {
|
|
257
|
+
const cell = row.cells[j];
|
|
258
|
+
if (x > cell.drawX + 10 &&
|
|
259
|
+
x < cell.drawX + cell.width - 10 &&
|
|
260
|
+
cell.rowspan === 1 //没有被合并的单元格
|
|
261
|
+
) {
|
|
262
|
+
this.ctx.target.style.cursor = 'row-resize';
|
|
263
|
+
this.resizeTarget = row;
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
});
|
|
270
|
+
}
|
|
271
|
+
resizeRow(row, diff) {
|
|
272
|
+
const { rowIndex, height, rowKey, data } = row;
|
|
273
|
+
this.ctx.database.setRowHeight(rowIndex, height + diff);
|
|
274
|
+
this.init();
|
|
275
|
+
this.ctx.emit('draw');
|
|
276
|
+
this.ctx.emit('resizeRowChange', {
|
|
277
|
+
rowIndex,
|
|
278
|
+
oldHeight: height,
|
|
279
|
+
height: height + diff,
|
|
280
|
+
rowKey,
|
|
281
|
+
row: data,
|
|
282
|
+
data: this.data,
|
|
283
|
+
});
|
|
284
|
+
}
|
|
285
|
+
drawTipLine() {
|
|
286
|
+
if (this.isResizing && this.resizeTarget) {
|
|
287
|
+
const { target, scrollY, config: { RESIZE_ROW_LINE_COLOR }, } = this.ctx;
|
|
288
|
+
const resizeTargetDrawY = this.resizeTarget.y - scrollY;
|
|
289
|
+
const resizeTargetHeight = this.resizeTarget.height;
|
|
290
|
+
const y = resizeTargetDrawY + resizeTargetHeight + this.resizeDiff - 0.5;
|
|
291
|
+
const poins = [0, y + 0.5, target.width, y + 0.5];
|
|
292
|
+
this.ctx.paint.drawLine(poins, {
|
|
293
|
+
borderColor: RESIZE_ROW_LINE_COLOR,
|
|
294
|
+
borderWidth: 1,
|
|
295
|
+
});
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
drawFiexShadow() {
|
|
299
|
+
const { fixedLeftWidth, fixedRightWidth, scrollX, header, target, config: { HEADER_BG_COLOR, SCROLLER_TRACK_SIZE }, } = this.ctx;
|
|
300
|
+
if (scrollX > 0 && fixedLeftWidth !== 0) {
|
|
301
|
+
this.ctx.paint.drawShadow(this.x, this.y, fixedLeftWidth, this.height, {
|
|
302
|
+
fillColor: HEADER_BG_COLOR,
|
|
303
|
+
side: 'right',
|
|
304
|
+
shadowWidth: 4,
|
|
305
|
+
colorStart: 'rgba(0,0,0,0.1)',
|
|
306
|
+
colorEnd: 'rgba(0,0,0,0)',
|
|
307
|
+
});
|
|
308
|
+
}
|
|
309
|
+
// 右边阴影
|
|
310
|
+
if (scrollX < Math.floor(header.width - header.visibleWidth - 1) && fixedRightWidth !== SCROLLER_TRACK_SIZE) {
|
|
311
|
+
const x = header.width - (this.x + this.width) + target.width - fixedRightWidth;
|
|
312
|
+
this.ctx.paint.drawShadow(x + 1, this.y, fixedRightWidth, this.height, {
|
|
313
|
+
fillColor: HEADER_BG_COLOR,
|
|
314
|
+
side: 'left',
|
|
315
|
+
shadowWidth: 4,
|
|
316
|
+
colorStart: 'rgba(0,0,0,0)',
|
|
317
|
+
colorEnd: 'rgba(0,0,0,0.1)',
|
|
318
|
+
});
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
binarySearch(list, value) {
|
|
322
|
+
let start = 0;
|
|
323
|
+
let end = list.length - 1;
|
|
324
|
+
let tempIndex = -1;
|
|
325
|
+
while (start <= end) {
|
|
326
|
+
let midIndex = Math.floor((start + end) / 2);
|
|
327
|
+
let midValue = list[midIndex].bottom;
|
|
328
|
+
if (midValue === value) {
|
|
329
|
+
return midIndex;
|
|
330
|
+
}
|
|
331
|
+
else if (midValue < value) {
|
|
332
|
+
start = midIndex + 1;
|
|
333
|
+
}
|
|
334
|
+
else {
|
|
335
|
+
tempIndex = midIndex; // 记录当前的 midIndex
|
|
336
|
+
end = midIndex - 1;
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
return tempIndex;
|
|
340
|
+
}
|
|
341
|
+
update() {
|
|
342
|
+
this.init();
|
|
343
|
+
const { header, database, scrollY } = this.ctx;
|
|
344
|
+
const offset = scrollY;
|
|
345
|
+
const { data, positions } = database.getData();
|
|
346
|
+
// 更新最大行数
|
|
347
|
+
this.ctx.maxRowIndex = data.length - 1;
|
|
348
|
+
const _headIndex = this.binarySearch(positions, offset);
|
|
349
|
+
let _tailIndex = this.binarySearch(positions, offset + this.visibleHeight);
|
|
350
|
+
// 找不到就为data.length
|
|
351
|
+
if (_tailIndex === -1) {
|
|
352
|
+
_tailIndex = data.length;
|
|
353
|
+
}
|
|
354
|
+
this.headIndex = Math.max(0, _headIndex);
|
|
355
|
+
this.tailIndex = Math.min(this.ctx.maxRowIndex, _tailIndex + 1);
|
|
356
|
+
this.visibleRows = data.slice(this.headIndex, this.tailIndex + 1);
|
|
357
|
+
this.ctx.body.headIndex = this.headIndex;
|
|
358
|
+
this.ctx.body.tailIndex = this.tailIndex;
|
|
359
|
+
this.ctx.body.visibleRows = this.visibleRows;
|
|
360
|
+
const rows = [];
|
|
361
|
+
for (let i = 0; i < this.visibleRows.length; i++) {
|
|
362
|
+
const index = this.headIndex + i;
|
|
363
|
+
const data = this.visibleRows[i];
|
|
364
|
+
const { height, top } = this.ctx.database.getPositionForRowIndex(index);
|
|
365
|
+
const row = new Row(this.ctx, index, 0, top + this.y, header.width, height, data);
|
|
366
|
+
rows.push(row);
|
|
367
|
+
}
|
|
368
|
+
this.renderRows = rows;
|
|
369
|
+
this.ctx.body.renderRows = rows;
|
|
370
|
+
}
|
|
371
|
+
draw() {
|
|
372
|
+
this.renderRows.forEach((row) => {
|
|
373
|
+
row.drawCenter();
|
|
374
|
+
});
|
|
375
|
+
this.drawFiexShadow();
|
|
376
|
+
this.renderRows.forEach((row) => {
|
|
377
|
+
row.drawFixed();
|
|
378
|
+
});
|
|
379
|
+
this.drawTipLine();
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
//# sourceMappingURL=Body.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Body.js","sourceRoot":"","sources":["../../src/Body.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import type { Rule } from 'async-validator';
|
|
2
|
+
import type { Column, Fixed, Type, Align, VerticalAlign, CellType, Render, FormatterMethod, OverflowTooltipPlacement } from './types';
|
|
3
|
+
import Context from './Context';
|
|
4
|
+
import BaseCell from './BaseCell';
|
|
5
|
+
export default class Cell extends BaseCell {
|
|
6
|
+
formatter?: FormatterMethod;
|
|
7
|
+
hoverIconName: string;
|
|
8
|
+
align: Align;
|
|
9
|
+
verticalAlign: VerticalAlign;
|
|
10
|
+
fixed?: Fixed;
|
|
11
|
+
type: Type;
|
|
12
|
+
editorType: string;
|
|
13
|
+
cellType: CellType;
|
|
14
|
+
level: number;
|
|
15
|
+
colspan: number;
|
|
16
|
+
rowspan: number;
|
|
17
|
+
key: string;
|
|
18
|
+
column: Column;
|
|
19
|
+
rowIndex: number;
|
|
20
|
+
colIndex: number;
|
|
21
|
+
rowKey: string;
|
|
22
|
+
row: any;
|
|
23
|
+
private value;
|
|
24
|
+
render: Render;
|
|
25
|
+
renderFooter: Render;
|
|
26
|
+
style: any;
|
|
27
|
+
rules: Rule;
|
|
28
|
+
message: string;
|
|
29
|
+
text: string;
|
|
30
|
+
displayText: string;
|
|
31
|
+
visibleWidth: number;
|
|
32
|
+
visibleHeight: number;
|
|
33
|
+
drawX: number;
|
|
34
|
+
drawY: number;
|
|
35
|
+
drawCellBgColor: string;
|
|
36
|
+
drawCellSkyBgColor: string;
|
|
37
|
+
drawTextColor: string;
|
|
38
|
+
drawTextX: number;
|
|
39
|
+
drawTextY: number;
|
|
40
|
+
drawImageX: number;
|
|
41
|
+
drawImageY: number;
|
|
42
|
+
drawImageWidth: number;
|
|
43
|
+
drawImageHeight: number;
|
|
44
|
+
drawImageName: string;
|
|
45
|
+
drawImageSource?: HTMLImageElement;
|
|
46
|
+
ellipsis: boolean;
|
|
47
|
+
overflowTooltipShow: boolean;
|
|
48
|
+
overflowTooltipMaxWidth: number;
|
|
49
|
+
overflowTooltipPlacement: OverflowTooltipPlacement;
|
|
50
|
+
constructor(ctx: Context, rowIndex: number, colIndex: number, x: number, y: number, width: number, height: number, column: Column, row: any, cellType?: CellType);
|
|
51
|
+
getValidationMessage(): string;
|
|
52
|
+
update(): void;
|
|
53
|
+
updateSpan(): void;
|
|
54
|
+
updateType(): void;
|
|
55
|
+
updateEditorType(): void;
|
|
56
|
+
updateRender(): void;
|
|
57
|
+
validate(): void;
|
|
58
|
+
/**
|
|
59
|
+
* 更新样式
|
|
60
|
+
*/
|
|
61
|
+
updateStyle(): void;
|
|
62
|
+
private updateTree;
|
|
63
|
+
private updateContainer;
|
|
64
|
+
private updateSelection;
|
|
65
|
+
private updateHoverIcon;
|
|
66
|
+
/**
|
|
67
|
+
* 获取显示文本
|
|
68
|
+
* @returns
|
|
69
|
+
*/
|
|
70
|
+
getDisplayText(): string;
|
|
71
|
+
/**
|
|
72
|
+
* 获取文本
|
|
73
|
+
* @returns
|
|
74
|
+
*/
|
|
75
|
+
getText(): any;
|
|
76
|
+
getValue(): any;
|
|
77
|
+
/**
|
|
78
|
+
* 获取样式
|
|
79
|
+
*/
|
|
80
|
+
getOverlayerViewsStyle(): {
|
|
81
|
+
position: string;
|
|
82
|
+
overflow: string;
|
|
83
|
+
left: string;
|
|
84
|
+
top: string;
|
|
85
|
+
width: string;
|
|
86
|
+
height: string;
|
|
87
|
+
pointerEvents: string;
|
|
88
|
+
};
|
|
89
|
+
draw(): void;
|
|
90
|
+
/**
|
|
91
|
+
* 根据列的索引获取列的宽度
|
|
92
|
+
* @param {Number} colIndex
|
|
93
|
+
*/
|
|
94
|
+
private getWidthByColIndexColSpan;
|
|
95
|
+
private drawText;
|
|
96
|
+
private drawImage;
|
|
97
|
+
private drawAutofillPiont;
|
|
98
|
+
private drawSelector;
|
|
99
|
+
private drawErrorTip;
|
|
100
|
+
private drawBorder;
|
|
101
|
+
}
|