Skip to content

Commit

Permalink
[v4.17.0] fix(Table): 修复table fix 在表头分组中fixed固定位置错误问题 (#727) 8f76184
Browse files Browse the repository at this point in the history
  • Loading branch information
github-actions[bot] committed Mar 30, 2022
1 parent 26f376b commit b8570d2
Show file tree
Hide file tree
Showing 16 changed files with 54 additions and 53 deletions.
14 changes: 7 additions & 7 deletions asset-manifest.json
@@ -1,7 +1,7 @@
{
"files": {
"main.css": "/static/css/main.1ccc09ce.css",
"main.js": "/static/js/main.43a096bb.js",
"main.js": "/static/js/main.4ad52a35.js",
"static/css/9200.14abaeb3.chunk.css": "/static/css/9200.14abaeb3.chunk.css",
"static/js/9200.0a1f7353.chunk.js": "/static/js/9200.0a1f7353.chunk.js",
"static/css/6730.296853db.chunk.css": "/static/css/6730.296853db.chunk.css",
Expand Down Expand Up @@ -203,7 +203,7 @@
"static/js/7664.f92b74f7.chunk.js": "/static/js/7664.f92b74f7.chunk.js",
"static/js/9961.9db8f620.chunk.js": "/static/js/9961.9db8f620.chunk.js",
"static/js/3811.ac38cada.chunk.js": "/static/js/3811.ac38cada.chunk.js",
"static/js/6659.32d92089.chunk.js": "/static/js/6659.32d92089.chunk.js",
"static/js/6659.c12a2b01.chunk.js": "/static/js/6659.c12a2b01.chunk.js",
"static/js/2448.1d46904a.chunk.js": "/static/js/2448.1d46904a.chunk.js",
"static/js/207.891adb65.chunk.js": "/static/js/207.891adb65.chunk.js",
"static/js/7861.757503f5.chunk.js": "/static/js/7861.757503f5.chunk.js",
Expand All @@ -222,11 +222,11 @@
"vendors-prismjs.js": "/static/js/vendors-prismjs.b53bdc3b.chunk.js",
"vendors-standalone.js": "/static/js/vendors-standalone.00edacc6.chunk.js",
"vendors-react.js": "/static/js/vendors-react.a09f50fb.js",
"static/js/782.9ec6f1b3.chunk.js": "/static/js/782.9ec6f1b3.chunk.js",
"static/js/782.d5c06910.chunk.js": "/static/js/782.d5c06910.chunk.js",
"static/js/5183.ac2ca737.js": "/static/js/5183.ac2ca737.js",
"index.html": "/index.html",
"main.1ccc09ce.css.map": "/static/css/main.1ccc09ce.css.map",
"main.43a096bb.js.map": "/static/js/main.43a096bb.js.map",
"main.4ad52a35.js.map": "/static/js/main.4ad52a35.js.map",
"9200.14abaeb3.chunk.css.map": "/static/css/9200.14abaeb3.chunk.css.map",
"9200.0a1f7353.chunk.js.map": "/static/js/9200.0a1f7353.chunk.js.map",
"6730.296853db.chunk.css.map": "/static/css/6730.296853db.chunk.css.map",
Expand Down Expand Up @@ -428,7 +428,7 @@
"7664.f92b74f7.chunk.js.map": "/static/js/7664.f92b74f7.chunk.js.map",
"9961.9db8f620.chunk.js.map": "/static/js/9961.9db8f620.chunk.js.map",
"3811.ac38cada.chunk.js.map": "/static/js/3811.ac38cada.chunk.js.map",
"6659.32d92089.chunk.js.map": "/static/js/6659.32d92089.chunk.js.map",
"6659.c12a2b01.chunk.js.map": "/static/js/6659.c12a2b01.chunk.js.map",
"2448.1d46904a.chunk.js.map": "/static/js/2448.1d46904a.chunk.js.map",
"207.891adb65.chunk.js.map": "/static/js/207.891adb65.chunk.js.map",
"7861.757503f5.chunk.js.map": "/static/js/7861.757503f5.chunk.js.map",
Expand All @@ -447,13 +447,13 @@
"vendors-prismjs.b53bdc3b.chunk.js.map": "/static/js/vendors-prismjs.b53bdc3b.chunk.js.map",
"vendors-standalone.00edacc6.chunk.js.map": "/static/js/vendors-standalone.00edacc6.chunk.js.map",
"vendors-react.a09f50fb.js.map": "/static/js/vendors-react.a09f50fb.js.map",
"782.9ec6f1b3.chunk.js.map": "/static/js/782.9ec6f1b3.chunk.js.map",
"782.d5c06910.chunk.js.map": "/static/js/782.d5c06910.chunk.js.map",
"5183.ac2ca737.js.map": "/static/js/5183.ac2ca737.js.map"
},
"entrypoints": [
"static/js/vendors-react.a09f50fb.js",
"static/js/5183.ac2ca737.js",
"static/css/main.1ccc09ce.css",
"static/js/main.43a096bb.js"
"static/js/main.4ad52a35.js"
]
}
2 changes: 1 addition & 1 deletion index.html
@@ -1 +1 @@
<!doctype html><html xmlns="http://www.w3.org/1999/xhtml"><head><title>uiw react, A high quality UI Toolkit, A Component Library for React 16+.</title><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><meta name="description" content="UIW React, A high quality UI Toolkit, A Component Library for React 16+. "><meta name="keywords" content="uiw, uiw-react, uiwjs, react.js, react, component, components, ui, framework, toolkit"><script defer="defer" src="./static/js/vendors-react.a09f50fb.js"></script><script defer="defer" src="./static/js/5183.ac2ca737.js"></script><script defer="defer" src="./static/js/main.43a096bb.js"></script><link href="./static/css/main.1ccc09ce.css" rel="stylesheet"></head><body><div id="root"></div></body></html>
<!doctype html><html xmlns="http://www.w3.org/1999/xhtml"><head><title>uiw react, A high quality UI Toolkit, A Component Library for React 16+.</title><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><meta name="description" content="UIW React, A high quality UI Toolkit, A Component Library for React 16+. "><meta name="keywords" content="uiw, uiw-react, uiwjs, react.js, react, component, components, ui, framework, toolkit"><script defer="defer" src="./static/js/vendors-react.a09f50fb.js"></script><script defer="defer" src="./static/js/5183.ac2ca737.js"></script><script defer="defer" src="./static/js/main.4ad52a35.js"></script><link href="./static/css/main.1ccc09ce.css" rel="stylesheet"></head><body><div id="root"></div></body></html>
2 changes: 0 additions & 2 deletions static/js/6659.32d92089.chunk.js

This file was deleted.

1 change: 0 additions & 1 deletion static/js/6659.32d92089.chunk.js.map

This file was deleted.

2 changes: 2 additions & 0 deletions static/js/6659.c12a2b01.chunk.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions static/js/6659.c12a2b01.chunk.js.map

Large diffs are not rendered by default.

3 changes: 0 additions & 3 deletions static/js/782.9ec6f1b3.chunk.js

This file was deleted.

1 change: 0 additions & 1 deletion static/js/782.9ec6f1b3.chunk.js.map

This file was deleted.

3 changes: 3 additions & 0 deletions static/js/782.d5c06910.chunk.js

Large diffs are not rendered by default.

File renamed without changes.
1 change: 1 addition & 0 deletions static/js/782.d5c06910.chunk.js.map

Large diffs are not rendered by default.

1 change: 0 additions & 1 deletion static/js/main.43a096bb.js.map

This file was deleted.

4 changes: 2 additions & 2 deletions static/js/main.43a096bb.js → static/js/main.4ad52a35.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions static/js/main.4ad52a35.js.map

Large diffs are not rendered by default.

69 changes: 35 additions & 34 deletions uiw.js
Expand Up @@ -9716,9 +9716,9 @@ function TableTr(props) {

if (keyName.fixed) {
if (keyName.fixed === 'right') {
objs.className = objs.className + " " + prefixCls + "-fixed-right";
objs.className = prefixCls + "-fixed-right";
} else {
objs.className = objs.className + " " + prefixCls + "-fixed-true";
objs.className = prefixCls + "-fixed-true";
}
}

Expand All @@ -9729,7 +9729,7 @@ function TableTr(props) {
children: objs.children
}),
key: colNum,
className: prefixCls + "-tr-children-" + (keyName.align || 'left') + " " + (keyName.className || '') + " " + (objs.className || ''),
className: [prefixCls + '-tr-children-' + (keyName.align || 'left'), keyName.className, objs.className].filter(it => it).join(' ').trim(),
onClick: evn => onCell(trData, {
rowNum,
colNum,
Expand Down Expand Up @@ -9804,54 +9804,55 @@ function Table(props) {
}
};

var deepClumnsLocation = (params, fistIndex, leftOrRight, isReverse) => {
var deepClumnsLocation = (params, fistIndex) => {
var initialValue = 0,
lastIndex = isReverse ? 0 : params.length - 1,
headerIndex = 0,
deepParams = [];
params.forEach(() => {
var abs = Math.abs(lastIndex);
var i = "" + fistIndex + abs;
params.forEach((_, index) => {
var i = "" + fistIndex + headerIndex;

if (isReverse) {
lastIndex += 1;
} else {
lastIndex -= 1;
}

if (typeof params[abs] === 'number') {
initialValue = params[abs] + initialValue;
deepParams.push(params[abs]);
if (typeof params[index] === 'number') {
initialValue = params[index] + initialValue;
deepParams.push(params[index]);
return;
}

if (finalLocationWidth.current[i]) {
finalLocationWidth.current[i][leftOrRight] = initialValue;
finalLocationWidth.current[i].left = initialValue;
initialValue = finalLocationWidth.current[i].width + initialValue;

if (Array.isArray(params[index].children)) {
deepParams.push(...params[index].children);
} else {
deepParams.push(finalLocationWidth.current[i].width);
}
}

if (Array.isArray(params[abs].children)) {
deepParams.push(...params[abs].children);
return;
headerIndex += 1;
});
initialValue = 0, headerIndex = header[fistIndex].length - 1;

for (var _index = params.length - 1; _index >= 0; _index--) {
var i = "" + fistIndex + headerIndex;

if (typeof params[_index] === 'number') {
initialValue = params[_index] + initialValue;
continue;
}

if (finalLocationWidth.current[i]) {
deepParams.push(finalLocationWidth.current[i].width);
} else {
var parent = header.find(it => it.find(it => it.key === params[abs].key)) || [];
var sub = parent.findIndex(it => it.key === params[abs].key);

if (finalLocationWidth.current["" + i[0] + sub]) {
// 合并单元格
deepParams.push(finalLocationWidth.current["" + i[0] + sub].width);
}
finalLocationWidth.current[i].right = initialValue;
initialValue = finalLocationWidth.current[i].width + initialValue;
}
});
if (deepParams.filter(it => typeof it !== 'number').length) deepClumnsLocation(deepParams, fistIndex + 1, leftOrRight, isReverse);

headerIndex -= 1;
}

if (deepParams.filter(it => typeof it !== 'number').length) deepClumnsLocation(deepParams, fistIndex + 1);
};

var computed = () => {
deepClumnsLocation(columns, 0, 'left', true);
deepClumnsLocation(columns, 0, 'right', false);
deepClumnsLocation(columns, 0);
return finalLocationWidth.current;
};

Expand Down
2 changes: 1 addition & 1 deletion uiw.min.js

Large diffs are not rendered by default.

0 comments on commit b8570d2

Please sign in to comment.