Skip to content

Commit eb2ffbc

Browse files
committed
fix: 修复头部缩进问题 & 为RowSeriesNumber开启feild字段
1 parent 2a4db1c commit eb2ffbc

4 files changed

Lines changed: 24 additions & 15 deletions

File tree

packages/vtable/src/event/self-event-listener/list-table/checkbox.ts

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { isArray, isNumber } from '@visactor/vutils';
2-
import type { BaseTableAPI, ListTableProtected } from '../../../ts-types/base-table';
2+
import type { BaseTableAPI } from '../../../ts-types/base-table';
33
import { setCellCheckboxStateByAttribute } from '../../../state/checkbox/checkbox';
44
import type { ListTableAPI } from '../../../ts-types';
55
import { HierarchyState } from '../../../ts-types';
@@ -9,7 +9,10 @@ export function bindGroupTitleCheckboxChange(table: BaseTableAPI) {
99
table.on('checkbox_state_change', args => {
1010
const { col, row, checked, field } = args;
1111

12-
if (field !== '_vtable_rowSeries_number' || table.internalProps.rowSeriesNumber?.enableTreeCheckbox !== true) {
12+
if (
13+
!table.internalProps.layoutMap.isSeriesNumber(col, row) ||
14+
table.internalProps.rowSeriesNumber?.enableTreeCheckbox !== true
15+
) {
1316
return;
1417
}
1518

@@ -30,7 +33,7 @@ export function bindGroupTitleCheckboxChange(table: BaseTableAPI) {
3033
// 1.1 group title check
3134
// 1.1.1 check all children
3235
if (getHierarchyState(table, col, row) === HierarchyState.collapse) {
33-
updateChildrenCheckboxState(true, titleIndex, table, field);
36+
updateChildrenCheckboxState(true, titleIndex, table, field as string);
3437
} else {
3538
setAllChildrenCheckboxState(true, titleShowIndex, titleIndex, indexedData, table, col);
3639
}
@@ -40,7 +43,7 @@ export function bindGroupTitleCheckboxChange(table: BaseTableAPI) {
4043
// 1.2 group title uncheck
4144
// 1.2.1 uncheck all children
4245
if (getHierarchyState(table, col, row) === HierarchyState.collapse) {
43-
updateChildrenCheckboxState(false, titleIndex, table, field);
46+
updateChildrenCheckboxState(false, titleIndex, table, field as string);
4447
} else {
4548
setAllChildrenCheckboxState(false, titleShowIndex, titleIndex, indexedData, table, col);
4649
}

packages/vtable/src/layout/simple-header-layout.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ export class SimpleHeaderLayoutMap implements LayoutMapAPI {
142142
style: rowSeriesNumber.style,
143143
width: rowSeriesNumber.width,
144144
format: rowSeriesNumber.format,
145-
field: '_vtable_rowSeries_number', //rowSeriesNumber.field,
145+
field: rowSeriesNumber.field,
146146
icon: rowSeriesNumber.icon,
147147
headerIcon: rowSeriesNumber.headerIcon,
148148
isChildNode: false

packages/vtable/src/scenegraph/group-creater/cell-type/checkbox-cell.ts

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
import type { IThemeSpec } from '@src/vrender';
22
import { Group } from '../../graphic/group';
3-
import type {
4-
CellInfo,
5-
CellRange,
6-
CheckboxColumnDefine,
7-
CheckboxStyleOption,
8-
ColumnIconOption,
9-
SparklineSpec
3+
import {
4+
InternalIconName,
5+
type CellInfo,
6+
type CellRange,
7+
type CheckboxColumnDefine,
8+
type CheckboxStyleOption,
9+
type ColumnIconOption,
10+
type SparklineSpec
1011
} from '../../../ts-types';
1112
import type { BaseTableAPI } from '../../../ts-types/base-table';
1213
import { isObject } from '@visactor/vutils';
@@ -165,7 +166,12 @@ export function createCheckboxCellGroup(
165166
isCheckboxTree
166167
);
167168

168-
if (cellContentLeftIcons.length !== 0 || cellContentRightIcons.length !== 0) {
169+
// 目前只支持展示折叠或者展开icons
170+
if (
171+
cellContentLeftIcons.length === 1 &&
172+
(cellContentLeftIcons[0].name === InternalIconName.expandIconName ||
173+
cellContentLeftIcons[0].name === InternalIconName.collapseIconName)
174+
) {
169175
const checkContent = new CheckboxContent({
170176
x: 0,
171177
y: 0,
@@ -328,7 +334,7 @@ function createCheckbox(
328334
}
329335
// 处理 rowSeriesNumbe 在record设置checkbox是否勾选与是否禁用的场景
330336
if (table.internalProps.layoutMap.isSeriesNumber(col, row)) {
331-
const checkboxSeriesNumberStyle = (table as ListTable).getFieldData('_vtable_rowSeries_number', col, row);
337+
const checkboxSeriesNumberStyle = (table as ListTable).getFieldData(define.field, col, row);
332338
if (checkboxSeriesNumberStyle) {
333339
isChecked = checkboxSeriesNumberStyle.checked;
334340
isDisabled = checkboxSeriesNumberStyle.disable;

packages/vtable/src/ts-types/table-engine.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ export interface IRowSeriesNumber {
121121
// align?: 'left' | 'right';
122122
// span?: number | 'dependOnNear';
123123
title?: string;
124-
// field?: FieldDef;
124+
field?: FieldDef;
125125
format?: (col?: number, row?: number, table?: BaseTableAPI) => any;
126126
cellType?: 'text' | 'link' | 'image' | 'video' | 'checkbox' | 'radio';
127127
style?: ITextStyleOption | ((styleArg: StylePropertyFunctionArg) => ITextStyleOption);

0 commit comments

Comments
 (0)