Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"changes": [
{
"comment": "fix: when dimension value is empty string should different from no dimension value #4935\n\n",
"type": "none",
"packageName": "@visactor/vtable"
}
],
"packageName": "@visactor/vtable",
"email": "892739385@qq.com"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"changes": [
{
"comment": "fix: when no columnTree to adjust columnWidthConfig #4935\n\n",
"type": "none",
"packageName": "@visactor/vtable"
}
],
"packageName": "@visactor/vtable",
"email": "892739385@qq.com"
}
44 changes: 22 additions & 22 deletions common/config/rush/pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions docs/assets/option/en/common/pivot-corner.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,3 +33,6 @@ Header cell style, the configuration items vary slightly depending on the header
- For headerType 'text', refer to [headerStyle](../option/PivotTable-columns-text#headerStyle.bgColor)
- For headerType 'link', refer to [headerStyle](../option/PivotTable-columns-link#headerStyle.bgColor)
- For headerType 'image', refer to [headerStyle](../option/PivotTable-columns-image#headerStyle.bgColor)

${prefix} forceShowHeader(boolean)
Force display of corner header. When there are no dimensions in the row or column direction, the corner header will not be displayed by default. However, in some scenarios, it is still necessary to display the dimension name in the corner header, please configure this field.
3 changes: 3 additions & 0 deletions docs/assets/option/zh/common/pivot-corner.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,3 +33,6 @@ ${prefix} headerStyle(TODO)
- headerType 为'text',对应[headerStyle](../option/PivotTable-columns-text#headerStyle.bgColor)
- headerType 为'link',对应[headerStyle](../option/PivotTable-columns-link#headerStyle.bgColor)
- headerType 为'image',对应[headerStyle](../option/PivotTable-columns-image#headerStyle.bgColor)

${prefix} forceShowHeader(boolean)
强制显示角头。当row或者column方向上没有维度的时候 本身是不会显示角表头的 但是某些场景下仍然需显示维度名称在角头,请配置这个字段。
45 changes: 0 additions & 45 deletions packages/vtable-sheet/src/components/vtable-sheet.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1117,49 +1117,4 @@ export default class VTableSheet {
// this.rootElement.style.height = `${this.getOptions().height || containerHeight}px`;
this.getActiveSheet()?.resize();
}

/**
* 若所选范围包含当前正在编辑的单元格,自动排除该单元格以避免 #CYCLE!
*/
excludeEditCellFromSelection(
range: { startRow: number; startCol: number; endRow: number; endCol: number },
editRow: number,
editCol: number
) {
const r = { ...range };
const withinRow = r.startRow <= editRow && editRow <= r.endRow;
const withinCol = r.startCol <= editCol && editCol <= r.endCol;
if (!withinRow || !withinCol) {
return r;
}

const rowSpan = r.endRow - r.startRow;
const colSpan = r.endCol - r.startCol;

// 如果选择范围就是编辑单元格本身,返回空范围(表示无效选择)
if (rowSpan === 0 && colSpan === 0 && r.startRow === editRow && r.startCol === editCol) {
return { startRow: -1, startCol: -1, endRow: -1, endCol: -1 };
}

if (rowSpan >= colSpan) {
// 优先在行方向上排除编辑单元格
if (editRow === r.startRow && r.startRow < r.endRow) {
r.startRow += 1;
} else if (editRow === r.endRow && r.startRow < r.endRow) {
r.endRow -= 1;
} else if (r.startRow < r.endRow) {
r.startRow += 1;
} // 中间,默认从起点缩一格
} else {
// 优先在列方向上排除编辑单元格
if (editCol === r.startCol && r.startCol < r.endCol) {
r.startCol += 1;
} else if (editCol === r.endCol && r.startCol < r.endCol) {
r.endCol -= 1;
} else if (r.startCol < r.endCol) {
r.startCol += 1;
}
}
return r;
}
}
10 changes: 5 additions & 5 deletions packages/vtable/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -53,10 +53,10 @@
},
"dependencies": {
"@visactor/vtable-editors": "workspace:*",
"@visactor/vrender-core": "~1.0.39",
"@visactor/vrender-kits": "~1.0.39",
"@visactor/vrender-components": "~1.0.39",
"@visactor/vrender-animate": "~1.0.39",
"@visactor/vrender-core": "~1.0.40",
"@visactor/vrender-kits": "~1.0.40",
"@visactor/vrender-components": "~1.0.40",
"@visactor/vrender-animate": "~1.0.40",
"@visactor/vutils": "~1.0.17",
"@visactor/vscale": "~1.0.17",
"@visactor/vdataset": "~1.0.17",
Expand Down Expand Up @@ -133,4 +133,4 @@
"url": "https://github.com/VisActor/VTable.git",
"directory": "packages/vtable"
}
}
}
4 changes: 2 additions & 2 deletions packages/vtable/src/layout/pivot-header-layout.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3518,8 +3518,8 @@ export class PivotHeaderLayoutMap implements LayoutMapAPI {
(this.rowDimensionKeys.indexOf(this.indicatorDimensionKey) >= 0 && path.indicatorKey)
);
} else {
colHeaderPaths = dimensionPaths.colHeaderPaths;
rowHeaderPaths = dimensionPaths.rowHeaderPaths;
colHeaderPaths = dimensionPaths?.colHeaderPaths;
rowHeaderPaths = dimensionPaths?.rowHeaderPaths;
if (dimensionPaths?.cellLocation === 'body' && this._table.isPivotTable()) {
forceBody = true;
}
Expand Down
8 changes: 8 additions & 0 deletions packages/vtable/src/scenegraph/layout/compute-col-width.ts
Original file line number Diff line number Diff line change
Expand Up @@ -872,6 +872,14 @@ function _parseColumnWidthConfigForPivotTable(
table._setColWidth(cell.col, width);
table.internalProps._widthResizedColMap.add(cell.col); // add resize tag
}
} else if (
(!dimensions || dimensions.length === 0) &&
(table.internalProps.layoutMap.columnTree?.length ?? 0) === 0
) {
if (!table.internalProps._widthResizedColMap.has(table.rowHeaderLevelCount)) {
table._setColWidth(table.rowHeaderLevelCount, width);
table.internalProps._widthResizedColMap.add(table.rowHeaderLevelCount); // add resize tag
}
}
}
}
Expand Down
3 changes: 3 additions & 0 deletions packages/vtable/src/tools/join.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
export function join(strArr: string[], joinChar: string) {
// return strArr.join(joinChar);
if (strArr.length === 0) {
return undefined;
}
let str = '';
for (let i = 0; i < strArr.length; i++) {
str += strArr[i];
Expand Down
Loading