Skip to content

Commit fba4c3e

Browse files
authored
Merge pull request #4945 from VisActor/4942-bug-makeselectcellvisible-false
4942 bug makeselectcellvisible false
2 parents 4c57f03 + d1e530c commit fba4c3e

4 files changed

Lines changed: 36 additions & 23 deletions

File tree

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"changes": [
3+
{
4+
"comment": "fix: makeSelectCellVisible set false when click row series number #4942\n\n",
5+
"type": "none",
6+
"packageName": "@visactor/vtable"
7+
}
8+
],
9+
"packageName": "@visactor/vtable",
10+
"email": "892739385@qq.com"
11+
}

packages/vtable-plugins/demo/table-series-number/table-series-number.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ export function createTable() {
142142
// frozenRowCount: 2,
143143
maintainedDataCount: 60,
144144
select: {
145-
makeSelectCellVisible: false
145+
// makeSelectCellVisible: false
146146
},
147147
// rowSeriesNumber: {}
148148
// select: {

packages/vtable-plugins/src/table-series-number.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -372,17 +372,17 @@ export class TableSeriesNumber implements pluginsDefinition.IVTablePlugin {
372372
const rowIndex = seriesNumberCell.id;
373373

374374
if (isDragSelect) {
375-
this.table.dragSelectRow(rowIndex, enableCtrlSelectMode);
375+
this.table.dragSelectRow(rowIndex, enableCtrlSelectMode, false);
376376
} else {
377-
this.table.startDragSelectRow(rowIndex, enableCtrlSelectMode, enableShiftSelectMode);
377+
this.table.startDragSelectRow(rowIndex, enableCtrlSelectMode, enableShiftSelectMode, false);
378378
}
379379
} else if (isCol) {
380380
this.table.stateManager.setSelectInline('col');
381381
const colIndex = seriesNumberCell.id;
382382
if (isDragSelect) {
383-
this.table.dragSelectCol(colIndex, enableCtrlSelectMode);
383+
this.table.dragSelectCol(colIndex, enableCtrlSelectMode, false);
384384
} else {
385-
this.table.startDragSelectCol(colIndex, enableCtrlSelectMode, enableShiftSelectMode);
385+
this.table.startDragSelectCol(colIndex, enableCtrlSelectMode, enableShiftSelectMode, false);
386386
}
387387
} else {
388388
this.table.eventManager.deelTableSelectAll();

packages/vtable/src/core/BaseTable.ts

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3231,7 +3231,12 @@ export abstract class BaseTable extends EventTarget implements BaseTableAPI {
32313231
* @param enableCtrlSelectMode 是否按住 ctrl 键
32323232
* @param enableShiftSelectMode 是否按住 shift 键
32333233
*/
3234-
startDragSelectCol(colIndex: number, enableCtrlSelectMode?: boolean, enableShiftSelectMode?: boolean) {
3234+
startDragSelectCol(
3235+
colIndex: number,
3236+
enableCtrlSelectMode?: boolean,
3237+
enableShiftSelectMode?: boolean,
3238+
makeSelectCellVisible?: boolean
3239+
) {
32353240
const lastSelectRange = this.stateManager.select.ranges[this.stateManager.select.ranges.length - 1];
32363241
const startCol = enableShiftSelectMode && lastSelectRange?.start?.col ? lastSelectRange?.start?.col : colIndex;
32373242
const startRow = 0;
@@ -3243,7 +3248,7 @@ export abstract class BaseTable extends EventTarget implements BaseTableAPI {
32433248
enableShiftSelectMode,
32443249
enableCtrlSelectMode,
32453250
false,
3246-
this.options.select?.makeSelectCellVisible ?? true,
3251+
makeSelectCellVisible,
32473252
true
32483253
);
32493254
this.stateManager.updateInteractionState(InteractionState.grabing);
@@ -3253,7 +3258,7 @@ export abstract class BaseTable extends EventTarget implements BaseTableAPI {
32533258
enableShiftSelectMode,
32543259
enableCtrlSelectMode,
32553260
false,
3256-
this.options.select?.makeSelectCellVisible ?? true,
3261+
makeSelectCellVisible,
32573262
true
32583263
);
32593264
//防止触发到pointertap事件执行endSelectCells方法 会导致select.ranges被合并扩大范围
@@ -3264,7 +3269,7 @@ export abstract class BaseTable extends EventTarget implements BaseTableAPI {
32643269
* @param colIndex 列索引
32653270
* @param enableCtrlSelectMode 是否按住 ctrl 键
32663271
*/
3267-
dragSelectCol(colIndex: number, enableCtrlSelectMode?: boolean) {
3272+
dragSelectCol(colIndex: number, enableCtrlSelectMode?: boolean, makeSelectCellVisible?: boolean) {
32683273
const currentSelectRanges = this.stateManager.select.ranges;
32693274
const lastSelectRange = currentSelectRanges[currentSelectRanges.length - 1];
32703275
if (lastSelectRange) {
@@ -3276,7 +3281,7 @@ export abstract class BaseTable extends EventTarget implements BaseTableAPI {
32763281
false,
32773282
enableCtrlSelectMode,
32783283
false,
3279-
this.options.select?.makeSelectCellVisible ?? true,
3284+
makeSelectCellVisible,
32803285
true
32813286
);
32823287
//防止触发到pointertap事件执行endSelectCells方法 会导致select.ranges被合并扩大范围
@@ -3297,7 +3302,12 @@ export abstract class BaseTable extends EventTarget implements BaseTableAPI {
32973302
* @param enableCtrlSelectMode 是否按住 ctrl 键
32983303
* @param isShift 是否按住 shift 键
32993304
*/
3300-
startDragSelectRow(rowIndex: number, enableCtrlSelectMode?: boolean, isShift?: boolean) {
3305+
startDragSelectRow(
3306+
rowIndex: number,
3307+
enableCtrlSelectMode?: boolean,
3308+
isShift?: boolean,
3309+
makeSelectCellVisible?: boolean
3310+
) {
33013311
const lastSelectRange = this.stateManager.select.ranges[this.stateManager.select.ranges.length - 1];
33023312
const startCol = 0;
33033313
const startRow = isShift && lastSelectRange?.start?.row ? lastSelectRange?.start?.row : rowIndex;
@@ -3309,7 +3319,7 @@ export abstract class BaseTable extends EventTarget implements BaseTableAPI {
33093319
isShift,
33103320
enableCtrlSelectMode,
33113321
false,
3312-
this.options.select?.makeSelectCellVisible ?? true,
3322+
makeSelectCellVisible,
33133323
true
33143324
);
33153325
this.stateManager.updateInteractionState(InteractionState.grabing);
@@ -3319,7 +3329,7 @@ export abstract class BaseTable extends EventTarget implements BaseTableAPI {
33193329
isShift,
33203330
enableCtrlSelectMode,
33213331
false,
3322-
this.options.select?.makeSelectCellVisible ?? true,
3332+
makeSelectCellVisible,
33233333
true
33243334
);
33253335
//防止触发到pointertap事件执行endSelectCells方法 会导致select.ranges被合并扩大范围
@@ -3330,21 +3340,13 @@ export abstract class BaseTable extends EventTarget implements BaseTableAPI {
33303340
* @param rowIndex 行索引
33313341
* @param isCtrl 是否按住 ctrl 键
33323342
*/
3333-
dragSelectRow(rowIndex: number, isCtrl?: boolean) {
3343+
dragSelectRow(rowIndex: number, isCtrl?: boolean, makeSelectCellVisible?: boolean) {
33343344
const currentSelectRanges = this.stateManager.select.ranges;
33353345
const lastSelectRange = currentSelectRanges[currentSelectRanges.length - 1];
33363346
if (lastSelectRange) {
33373347
lastSelectRange.end.row = rowIndex;
33383348
}
3339-
this.stateManager.updateSelectPos(
3340-
this.colCount - 1,
3341-
rowIndex,
3342-
false,
3343-
isCtrl,
3344-
false,
3345-
this.options.select?.makeSelectCellVisible ?? true,
3346-
true
3347-
);
3349+
this.stateManager.updateSelectPos(this.colCount - 1, rowIndex, false, isCtrl, false, makeSelectCellVisible, true);
33483350
//防止触发到pointertap事件执行endSelectCells方法 会导致select.ranges被合并扩大范围
33493351
this.stateManager.select.selecting = false;
33503352
}

0 commit comments

Comments
 (0)