@sheinx/hooks 3.9.3-beta.14 → 3.9.3-beta.16
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-table-columns.d.ts","sourceRoot":"","sources":["use-table-columns.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE3F,OAAO,KAA+C,MAAM,OAAO,CAAC;AAEpE,MAAM,WAAW,eAAe,CAAC,IAAI;IACnC,OAAO,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;IAClC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;IACd,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,GAAG,mBAAmB,CAAC;IAC9C,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;CACzC;AAYD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,QAAQ,GAAG,YAAY,CAAC;IAC9B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,MAAM,KAAK,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IAC3E,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CAChD,GAAG,IAAI,CAAC;AAKT,QAAA,MAAM,UAAU;;;;wBA6EkC,MAAM;;;;;
|
|
1
|
+
{"version":3,"file":"use-table-columns.d.ts","sourceRoot":"","sources":["use-table-columns.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE3F,OAAO,KAA+C,MAAM,OAAO,CAAC;AAEpE,MAAM,WAAW,eAAe,CAAC,IAAI;IACnC,OAAO,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;IAClC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;IACd,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,GAAG,mBAAmB,CAAC;IAC9C,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;CACzC;AAYD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,QAAQ,GAAG,YAAY,CAAC;IAC9B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,MAAM,KAAK,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IAC3E,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CAChD,GAAG,IAAI,CAAC;AAKT,QAAA,MAAM,UAAU;;;;wBA6EkC,MAAM;;;;;CAoGvD,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -131,7 +131,7 @@ var useColumns = function useColumns(props) {
|
|
|
131
131
|
sum += curCol.width || 100;
|
|
132
132
|
if (scrollLeft < sum) {
|
|
133
133
|
// 计算可视区域内需要渲染的列数
|
|
134
|
-
for (var j = i + 1; j
|
|
134
|
+
for (var j = i + 1; j <= len; j++) {
|
|
135
135
|
var _props$scrollRef$curr;
|
|
136
136
|
var nextCol = middleColumns[j];
|
|
137
137
|
sum += nextCol.width || 100;
|
|
@@ -140,6 +140,11 @@ var useColumns = function useColumns(props) {
|
|
|
140
140
|
var visibleCount = j - i;
|
|
141
141
|
setRenderedCount(Math.min(visibleCount + overscan * 2, len));
|
|
142
142
|
break;
|
|
143
|
+
} else if (j === len) {
|
|
144
|
+
// 到达最后一列
|
|
145
|
+
var _visibleCount = j - i + 1;
|
|
146
|
+
setRenderedCount(Math.min(_visibleCount + overscan * 2, len));
|
|
147
|
+
break;
|
|
143
148
|
}
|
|
144
149
|
}
|
|
145
150
|
|
|
@@ -158,14 +163,14 @@ var useColumns = function useColumns(props) {
|
|
|
158
163
|
});
|
|
159
164
|
}, []);
|
|
160
165
|
(0, _react.useEffect)(function () {
|
|
161
|
-
var _props$scrollRef$curr2;
|
|
162
166
|
if (!props.virtualColumn) return;
|
|
163
|
-
if (
|
|
167
|
+
if (props.scrollRef.current) {
|
|
168
|
+
var _props$scrollRef$curr2;
|
|
164
169
|
handleScroll({
|
|
165
|
-
scrollLeft: 0
|
|
170
|
+
scrollLeft: (_props$scrollRef$curr2 = props.scrollRef.current) === null || _props$scrollRef$curr2 === void 0 ? void 0 : _props$scrollRef$curr2.scrollLeft
|
|
166
171
|
});
|
|
167
172
|
}
|
|
168
|
-
}, [(_props$data = props.data) === null || _props$data === void 0 ? void 0 : _props$data.length]);
|
|
173
|
+
}, [(_props$data = props.data) === null || _props$data === void 0 ? void 0 : _props$data.length, columns]);
|
|
169
174
|
var processedColumns = (0, _react.useMemo)(function () {
|
|
170
175
|
if (!props.virtualColumn) return columns;
|
|
171
176
|
return columns.map(function (col, index) {
|
|
@@ -174,14 +179,21 @@ var useColumns = function useColumns(props) {
|
|
|
174
179
|
}
|
|
175
180
|
if (index < startIndex || index > startIndex + renderedCount) {
|
|
176
181
|
var colSpan;
|
|
182
|
+
var colSpanWidth;
|
|
177
183
|
if (index > startIndex + renderedCount && index === startIndex + renderedCount + 1) {
|
|
178
184
|
colSpan = function colSpan() {
|
|
179
|
-
return middleColumns.length -
|
|
185
|
+
return middleColumns.length - index;
|
|
180
186
|
};
|
|
187
|
+
colSpanWidth = middleColumns.slice(index).reduce(function (sum, c) {
|
|
188
|
+
return sum + (c.width || 0);
|
|
189
|
+
}, 0);
|
|
181
190
|
} else if (index < startIndex && index === leftFixedColumns.length && startIndex > 0) {
|
|
182
191
|
colSpan = function colSpan() {
|
|
183
192
|
return startIndex;
|
|
184
193
|
};
|
|
194
|
+
colSpanWidth = middleColumns.slice(0, startIndex).reduce(function (sum, c) {
|
|
195
|
+
return sum + (c.width || 0);
|
|
196
|
+
}, 0);
|
|
185
197
|
}
|
|
186
198
|
var hiddenTitle = context.groupLevel > 0 ? col.title : null;
|
|
187
199
|
return _objectSpread(_objectSpread({}, col), {}, {
|
|
@@ -189,7 +201,10 @@ var useColumns = function useColumns(props) {
|
|
|
189
201
|
render: function render() {
|
|
190
202
|
return null;
|
|
191
203
|
},
|
|
192
|
-
title: hiddenTitle
|
|
204
|
+
title: hiddenTitle,
|
|
205
|
+
style: {
|
|
206
|
+
width: colSpanWidth
|
|
207
|
+
}
|
|
193
208
|
});
|
|
194
209
|
}
|
|
195
210
|
return col;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-table-columns.d.ts","sourceRoot":"","sources":["use-table-columns.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE3F,OAAO,KAA+C,MAAM,OAAO,CAAC;AAEpE,MAAM,WAAW,eAAe,CAAC,IAAI;IACnC,OAAO,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;IAClC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;IACd,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,GAAG,mBAAmB,CAAC;IAC9C,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;CACzC;AAYD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,QAAQ,GAAG,YAAY,CAAC;IAC9B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,MAAM,KAAK,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IAC3E,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CAChD,GAAG,IAAI,CAAC;AAKT,QAAA,MAAM,UAAU;;;;wBA6EkC,MAAM;;;;;
|
|
1
|
+
{"version":3,"file":"use-table-columns.d.ts","sourceRoot":"","sources":["use-table-columns.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE3F,OAAO,KAA+C,MAAM,OAAO,CAAC;AAEpE,MAAM,WAAW,eAAe,CAAC,IAAI;IACnC,OAAO,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;IAClC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;IACd,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,GAAG,mBAAmB,CAAC;IAC9C,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;CACzC;AAYD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,QAAQ,GAAG,YAAY,CAAC;IAC9B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,MAAM,KAAK,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IAC3E,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CAChD,GAAG,IAAI,CAAC;AAKT,QAAA,MAAM,UAAU;;;;wBA6EkC,MAAM;;;;;CAoGvD,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -124,7 +124,7 @@ var useColumns = function useColumns(props) {
|
|
|
124
124
|
sum += curCol.width || 100;
|
|
125
125
|
if (scrollLeft < sum) {
|
|
126
126
|
// 计算可视区域内需要渲染的列数
|
|
127
|
-
for (var j = i + 1; j
|
|
127
|
+
for (var j = i + 1; j <= len; j++) {
|
|
128
128
|
var _props$scrollRef$curr;
|
|
129
129
|
var nextCol = middleColumns[j];
|
|
130
130
|
sum += nextCol.width || 100;
|
|
@@ -133,6 +133,11 @@ var useColumns = function useColumns(props) {
|
|
|
133
133
|
var visibleCount = j - i;
|
|
134
134
|
setRenderedCount(Math.min(visibleCount + overscan * 2, len));
|
|
135
135
|
break;
|
|
136
|
+
} else if (j === len) {
|
|
137
|
+
// 到达最后一列
|
|
138
|
+
var _visibleCount = j - i + 1;
|
|
139
|
+
setRenderedCount(Math.min(_visibleCount + overscan * 2, len));
|
|
140
|
+
break;
|
|
136
141
|
}
|
|
137
142
|
}
|
|
138
143
|
|
|
@@ -151,14 +156,14 @@ var useColumns = function useColumns(props) {
|
|
|
151
156
|
});
|
|
152
157
|
}, []);
|
|
153
158
|
useEffect(function () {
|
|
154
|
-
var _props$scrollRef$curr2;
|
|
155
159
|
if (!props.virtualColumn) return;
|
|
156
|
-
if (
|
|
160
|
+
if (props.scrollRef.current) {
|
|
161
|
+
var _props$scrollRef$curr2;
|
|
157
162
|
handleScroll({
|
|
158
|
-
scrollLeft: 0
|
|
163
|
+
scrollLeft: (_props$scrollRef$curr2 = props.scrollRef.current) === null || _props$scrollRef$curr2 === void 0 ? void 0 : _props$scrollRef$curr2.scrollLeft
|
|
159
164
|
});
|
|
160
165
|
}
|
|
161
|
-
}, [(_props$data = props.data) === null || _props$data === void 0 ? void 0 : _props$data.length]);
|
|
166
|
+
}, [(_props$data = props.data) === null || _props$data === void 0 ? void 0 : _props$data.length, columns]);
|
|
162
167
|
var processedColumns = useMemo(function () {
|
|
163
168
|
if (!props.virtualColumn) return columns;
|
|
164
169
|
return columns.map(function (col, index) {
|
|
@@ -167,14 +172,21 @@ var useColumns = function useColumns(props) {
|
|
|
167
172
|
}
|
|
168
173
|
if (index < startIndex || index > startIndex + renderedCount) {
|
|
169
174
|
var colSpan;
|
|
175
|
+
var colSpanWidth;
|
|
170
176
|
if (index > startIndex + renderedCount && index === startIndex + renderedCount + 1) {
|
|
171
177
|
colSpan = function colSpan() {
|
|
172
|
-
return middleColumns.length -
|
|
178
|
+
return middleColumns.length - index;
|
|
173
179
|
};
|
|
180
|
+
colSpanWidth = middleColumns.slice(index).reduce(function (sum, c) {
|
|
181
|
+
return sum + (c.width || 0);
|
|
182
|
+
}, 0);
|
|
174
183
|
} else if (index < startIndex && index === leftFixedColumns.length && startIndex > 0) {
|
|
175
184
|
colSpan = function colSpan() {
|
|
176
185
|
return startIndex;
|
|
177
186
|
};
|
|
187
|
+
colSpanWidth = middleColumns.slice(0, startIndex).reduce(function (sum, c) {
|
|
188
|
+
return sum + (c.width || 0);
|
|
189
|
+
}, 0);
|
|
178
190
|
}
|
|
179
191
|
var hiddenTitle = context.groupLevel > 0 ? col.title : null;
|
|
180
192
|
return _objectSpread(_objectSpread({}, col), {}, {
|
|
@@ -182,7 +194,10 @@ var useColumns = function useColumns(props) {
|
|
|
182
194
|
render: function render() {
|
|
183
195
|
return null;
|
|
184
196
|
},
|
|
185
|
-
title: hiddenTitle
|
|
197
|
+
title: hiddenTitle,
|
|
198
|
+
style: {
|
|
199
|
+
width: colSpanWidth
|
|
200
|
+
}
|
|
186
201
|
});
|
|
187
202
|
}
|
|
188
203
|
return col;
|