@sheinx/hooks 3.7.0-beta.2 → 3.7.0-beta.21
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.
- package/cjs/common/use-component-memo/index.d.ts +2 -0
- package/cjs/common/use-component-memo/index.d.ts.map +1 -0
- package/cjs/common/use-component-memo/index.js +13 -0
- package/cjs/common/use-component-memo/use-memo.d.ts +2 -0
- package/cjs/common/use-component-memo/use-memo.d.ts.map +1 -0
- package/cjs/common/{use-memo → use-component-memo}/use-memo.js +2 -2
- package/cjs/common/use-position-style/check-element-size.d.ts +10 -0
- package/cjs/common/use-position-style/check-element-size.d.ts.map +1 -0
- package/cjs/common/use-position-style/check-element-size.js +65 -0
- package/cjs/common/use-position-style/index.d.ts.map +1 -1
- package/cjs/common/use-position-style/index.js +5 -8
- package/cjs/components/use-form/use-form-control/use-form-control.d.ts.map +1 -1
- package/cjs/components/use-form/use-form-control/use-form-control.js +9 -0
- package/cjs/components/use-form/use-form-control/use-form-control.type.d.ts +3 -0
- package/cjs/components/use-form/use-form-control/use-form-control.type.d.ts.map +1 -1
- package/cjs/components/use-form/use-form.d.ts +2 -2
- package/cjs/components/use-form/use-form.d.ts.map +1 -1
- package/cjs/components/use-form/use-form.js +32 -26
- package/cjs/components/use-form/use-form.type.d.ts +1 -0
- package/cjs/components/use-form/use-form.type.d.ts.map +1 -1
- package/cjs/components/use-image/use-image.d.ts +2 -0
- package/cjs/components/use-image/use-image.d.ts.map +1 -1
- package/cjs/components/use-image/use-image.js +40 -2
- package/cjs/components/use-table/index.d.ts +1 -1
- package/cjs/components/use-table/index.d.ts.map +1 -1
- package/cjs/components/use-table/use-table-layout.d.ts +0 -1
- package/cjs/components/use-table/use-table-layout.d.ts.map +1 -1
- package/cjs/components/use-table/use-table-layout.js +30 -2
- package/cjs/components/use-table/use-table-row.d.ts +0 -1
- package/cjs/components/use-table/use-table-row.d.ts.map +1 -1
- package/cjs/components/use-table/use-table-row.js +0 -11
- package/cjs/components/use-table/use-table-virtual.d.ts +2 -3
- package/cjs/components/use-table/use-table-virtual.d.ts.map +1 -1
- package/cjs/components/use-table/use-table-virtual.js +32 -41
- package/cjs/components/use-table/use-table.type.d.ts +0 -10
- package/cjs/components/use-table/use-table.type.d.ts.map +1 -1
- package/cjs/components/use-upload/use-upload.d.ts.map +1 -1
- package/cjs/components/use-upload/use-upload.js +54 -34
- package/cjs/components/use-upload/use-upload.type.d.ts +7 -0
- package/cjs/components/use-upload/use-upload.type.d.ts.map +1 -1
- package/cjs/index.d.ts +1 -1
- package/cjs/index.d.ts.map +1 -1
- package/cjs/index.js +4 -4
- package/esm/common/use-component-memo/index.d.ts +2 -0
- package/esm/common/use-component-memo/index.d.ts.map +1 -0
- package/esm/common/use-component-memo/index.js +2 -0
- package/esm/common/use-component-memo/use-memo.d.ts +2 -0
- package/esm/common/use-component-memo/use-memo.d.ts.map +1 -0
- package/esm/common/{use-memo → use-component-memo}/use-memo.js +1 -1
- package/esm/common/use-position-style/check-element-size.d.ts +10 -0
- package/esm/common/use-position-style/check-element-size.d.ts.map +1 -0
- package/esm/common/use-position-style/check-element-size.js +59 -0
- package/esm/common/use-position-style/index.d.ts.map +1 -1
- package/esm/common/use-position-style/index.js +5 -8
- package/esm/components/use-form/use-form-control/use-form-control.d.ts.map +1 -1
- package/esm/components/use-form/use-form-control/use-form-control.js +9 -0
- package/esm/components/use-form/use-form-control/use-form-control.type.d.ts +3 -0
- package/esm/components/use-form/use-form-control/use-form-control.type.d.ts.map +1 -1
- package/esm/components/use-form/use-form.d.ts +2 -2
- package/esm/components/use-form/use-form.d.ts.map +1 -1
- package/esm/components/use-form/use-form.js +32 -26
- package/esm/components/use-form/use-form.type.d.ts +1 -0
- package/esm/components/use-form/use-form.type.d.ts.map +1 -1
- package/esm/components/use-image/use-image.d.ts +2 -0
- package/esm/components/use-image/use-image.d.ts.map +1 -1
- package/esm/components/use-image/use-image.js +40 -2
- package/esm/components/use-table/index.d.ts +1 -1
- package/esm/components/use-table/index.d.ts.map +1 -1
- package/esm/components/use-table/use-table-layout.d.ts +0 -1
- package/esm/components/use-table/use-table-layout.d.ts.map +1 -1
- package/esm/components/use-table/use-table-layout.js +30 -2
- package/esm/components/use-table/use-table-row.d.ts +0 -1
- package/esm/components/use-table/use-table-row.d.ts.map +1 -1
- package/esm/components/use-table/use-table-row.js +0 -11
- package/esm/components/use-table/use-table-virtual.d.ts +2 -3
- package/esm/components/use-table/use-table-virtual.d.ts.map +1 -1
- package/esm/components/use-table/use-table-virtual.js +32 -41
- package/esm/components/use-table/use-table.type.d.ts +0 -10
- package/esm/components/use-table/use-table.type.d.ts.map +1 -1
- package/esm/components/use-upload/use-upload.d.ts.map +1 -1
- package/esm/components/use-upload/use-upload.js +54 -34
- package/esm/components/use-upload/use-upload.type.d.ts +7 -0
- package/esm/components/use-upload/use-upload.type.d.ts.map +1 -1
- package/esm/index.d.ts +1 -1
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +1 -1
- package/package.json +1 -1
- package/cjs/common/use-memo/index.d.ts +0 -2
- package/cjs/common/use-memo/index.d.ts.map +0 -1
- package/cjs/common/use-memo/index.js +0 -20
- package/cjs/common/use-memo/use-memo.d.ts +0 -2
- package/cjs/common/use-memo/use-memo.d.ts.map +0 -1
- package/esm/common/use-memo/index.d.ts +0 -2
- package/esm/common/use-memo/index.d.ts.map +0 -1
- package/esm/common/use-memo/index.js +0 -2
- package/esm/common/use-memo/use-memo.d.ts +0 -2
- package/esm/common/use-memo/use-memo.d.ts.map +0 -1
@@ -19,6 +19,7 @@ import { deepGet } from "../../../utils/object";
|
|
19
19
|
import { shallowEqual } from "../../../utils/shallow-equal";
|
20
20
|
import usePersistFn from "../../../common/use-persist-fn";
|
21
21
|
import useLatestObj from "../../../common/use-latest-obj";
|
22
|
+
import { devUseWarning } from "../../../utils/warning";
|
22
23
|
var getValue = function getValue(name, formValue) {
|
23
24
|
if (!name) return undefined;
|
24
25
|
if (isArray(name)) {
|
@@ -58,6 +59,10 @@ export default function useFormControl(props) {
|
|
58
59
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
59
60
|
errorState = _React$useState2[0],
|
60
61
|
setErrorState = _React$useState2[1];
|
62
|
+
var _React$useRef = React.useRef({
|
63
|
+
mounted: false
|
64
|
+
}),
|
65
|
+
context = _React$useRef.current;
|
61
66
|
var value;
|
62
67
|
var error = errorState;
|
63
68
|
var inForm = false;
|
@@ -217,7 +222,11 @@ export default function useFormControl(props) {
|
|
217
222
|
} else {
|
218
223
|
controlFunc.bind(name, defaultValue, validateField, update);
|
219
224
|
}
|
225
|
+
if (context.mounted) {
|
226
|
+
devUseWarning.warn('Please avoid modifying the name property after the component has mounted, as this may result in unintended behavior or errors.');
|
227
|
+
}
|
220
228
|
}
|
229
|
+
context.mounted = true;
|
221
230
|
return function () {
|
222
231
|
if (inForm && controlFunc) {
|
223
232
|
if (isArray(name)) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-form-control.type.d.ts","sourceRoot":"","sources":["use-form-control.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,MAAM,WAAW,oBAAoB,CAAC,CAAC;IACrC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB;;;OAGG;IACH,YAAY,EAAE,CAAC,GAAG,SAAS,CAAC;IAC5B,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC5D;;;OAGG;IACH,WAAW,EAAE,OAAO,GAAG,SAAS,CAAC;IACjC;;;;OAIG;IACH,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IACnC;;OAEG;IACH,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC1D;;;OAGG;IACH,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC3B;;OAEG;IACH,gBAAgB,EAAE,CAAC,MAAM,UAAU,CAAC,GAAG,SAAS,CAAC;CAClD"}
|
1
|
+
{"version":3,"file":"use-form-control.type.d.ts","sourceRoot":"","sources":["use-form-control.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,MAAM,WAAW,oBAAoB,CAAC,CAAC;IACrC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB;;;OAGG;IACH,YAAY,EAAE,CAAC,GAAG,SAAS,CAAC;IAC5B,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC5D;;;OAGG;IACH,WAAW,EAAE,OAAO,GAAG,SAAS,CAAC;IACjC;;;;OAIG;IACH,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IACnC;;OAEG;IACH,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC1D;;;OAGG;IACH,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC3B;;OAEG;IACH,gBAAgB,EAAE,CAAC,MAAM,UAAU,CAAC,GAAG,SAAS,CAAC;CAClD;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;CAClB"}
|
@@ -14,7 +14,7 @@ declare const useForm: <T extends ObjectType>(props: UseFormProps<T>) => {
|
|
14
14
|
names?: string[];
|
15
15
|
}) => void;
|
16
16
|
getValue: (name?: string) => unknown;
|
17
|
-
submit: (withValidate?: boolean) => void;
|
17
|
+
submit: (withValidate?: boolean, callback?: () => void) => void;
|
18
18
|
reset: () => void;
|
19
19
|
setError: (name: string, e: Error | undefined) => void;
|
20
20
|
getErrors: () => ObjectType<Error | undefined>;
|
@@ -34,7 +34,7 @@ declare const useForm: <T extends ObjectType>(props: UseFormProps<T>) => {
|
|
34
34
|
names?: string[];
|
35
35
|
}) => void;
|
36
36
|
getValue: (name?: string) => unknown;
|
37
|
-
submit: (withValidate?: boolean) => void;
|
37
|
+
submit: (withValidate?: boolean, callback?: () => void) => void;
|
38
38
|
reset: () => void;
|
39
39
|
setError: (name: string, e: Error | undefined) => void;
|
40
40
|
getErrors: () => ObjectType<Error | undefined>;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-form.d.ts","sourceRoot":"","sources":["use-form.ts"],"names":[],"mappings":"AA+BA,OAAO,EAEL,aAAa,EACb,YAAY,EACZ,gBAAgB,EAGhB,gBAAgB,EAEjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAI5D,QAAA,MAAM,OAAO;;;;;;;;;
|
1
|
+
{"version":3,"file":"use-form.d.ts","sourceRoot":"","sources":["use-form.ts"],"names":[],"mappings":"AA+BA,OAAO,EAEL,aAAa,EACb,YAAY,EACZ,gBAAgB,EAGhB,gBAAgB,EAEjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAI5D,QAAA,MAAM,OAAO;;;;;;;;;wBAgSC;gBAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;gBAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;aAAE;8BApKd,MAAM;oCA0OD,OAAO,aAAoB,MAAM,IAAI;;6BAf3C,MAAM,KAAK,KAAK,GAAG,SAAS;;oCAdrB,MAAM,EAAE;sCArMxC,MAAM,GAAG,MAAM,EAAE,WAAU,gBAAgB;qCAwQvB,MAAM,WAAW,gBAAgB;gCAhDzB,MAAM,SAAS,MAAM,UAAU,KAAK;gCAKpC,MAAM,SAAS,MAAM;kCA5IpD,MAAM,0BAAyB,qBAAqB;;;;;;oBA2EjD;YAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE;0BApKd,MAAM;gCA0OD,OAAO,aAAoB,MAAM,IAAI;;yBAf3C,MAAM,KAAK,KAAK,GAAG,SAAS;;gCAdrB,MAAM,EAAE;kCArMxC,MAAM,GAAG,MAAM,EAAE,WAAU,gBAAgB;iCAwQvB,MAAM,WAAW,gBAAgB;4BAhDzB,MAAM,SAAS,MAAM,UAAU,KAAK;4BAKpC,MAAM,SAAS,MAAM;8BA5IpD,MAAM,0BAAyB,qBAAqB;;CAkb9D,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
@@ -38,7 +38,8 @@ var useForm = function useForm(props) {
|
|
38
38
|
size = props.size,
|
39
39
|
colon = props.colon,
|
40
40
|
formName = props.name,
|
41
|
-
scrollParent = props.scrollParent
|
41
|
+
scrollParent = props.scrollParent,
|
42
|
+
isControl = props.isControl;
|
42
43
|
var deepSetOptions = {
|
43
44
|
removeUndefined: removeUndefined,
|
44
45
|
forceSet: true
|
@@ -294,13 +295,16 @@ var useForm = function useForm(props) {
|
|
294
295
|
var values = Object.keys(vals);
|
295
296
|
// 针对 name 为数组模式,如 datepicker 的 name={['startTime', 'endTime']} 时,前者校验可能需要依赖后者,因此需要提前将后者数据整合至 draft 用于多字段整合校验
|
296
297
|
values.forEach(function (key) {
|
297
|
-
|
298
|
+
// upload组件返回的可能是函数: (prev) => [...prev, file]
|
299
|
+
var valueOfKey = typeof vals[key] === 'function' ? vals[key](getValue(key)) : vals[key];
|
300
|
+
deepSet(draft, key, valueOfKey, deepSetOptions);
|
298
301
|
});
|
299
302
|
values.forEach(function (key) {
|
300
303
|
if (option.validate) {
|
301
304
|
var _context$validateMap$;
|
302
305
|
(_context$validateMap$ = context.validateMap[key]) === null || _context$validateMap$ === void 0 || _context$validateMap$.forEach(function (validate) {
|
303
|
-
|
306
|
+
var valueOfKey = typeof vals[key] === 'function' ? vals[key](getValue(key)) : vals[key];
|
307
|
+
validate(key, valueOfKey, current(draft));
|
304
308
|
});
|
305
309
|
}
|
306
310
|
});
|
@@ -356,6 +360,7 @@ var useForm = function useForm(props) {
|
|
356
360
|
});
|
357
361
|
var submit = usePersistFn(function () {
|
358
362
|
var withValidate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
363
|
+
var callback = arguments.length > 1 ? arguments[1] : undefined;
|
359
364
|
if (disabled) return;
|
360
365
|
if (context.submitLock) {
|
361
366
|
return;
|
@@ -373,32 +378,29 @@ var useForm = function useForm(props) {
|
|
373
378
|
while (1) switch (_context.prev = _context.next) {
|
374
379
|
case 0:
|
375
380
|
if (withValidate) {
|
376
|
-
_context.next =
|
381
|
+
_context.next = 4;
|
377
382
|
break;
|
378
383
|
}
|
379
384
|
(_props$onSubmit = props.onSubmit) === null || _props$onSubmit === void 0 || _props$onSubmit.call(props, (_context$value = context.value) !== null && _context$value !== void 0 ? _context$value : {});
|
385
|
+
callback === null || callback === void 0 || callback();
|
380
386
|
return _context.abrupt("return");
|
381
|
-
case
|
382
|
-
_context.next =
|
387
|
+
case 4:
|
388
|
+
_context.next = 6;
|
383
389
|
return validateFields(undefined, {
|
384
390
|
ignoreBind: true
|
385
391
|
}).catch(function (e) {
|
386
392
|
return e;
|
387
393
|
});
|
388
|
-
case
|
394
|
+
case 6:
|
389
395
|
result = _context.sent;
|
390
|
-
if (
|
391
|
-
|
392
|
-
|
396
|
+
if (result === true) {
|
397
|
+
(_props$onSubmit2 = props.onSubmit) === null || _props$onSubmit2 === void 0 || _props$onSubmit2.call(props, (_context$value2 = context.value) !== null && _context$value2 !== void 0 ? _context$value2 : {});
|
398
|
+
if (activeEl) activeEl.focus();
|
399
|
+
} else {
|
400
|
+
handleSubmitError(result);
|
393
401
|
}
|
394
|
-
|
395
|
-
|
396
|
-
_context.next = 13;
|
397
|
-
break;
|
398
|
-
case 11:
|
399
|
-
handleSubmitError(result);
|
400
|
-
return _context.abrupt("return");
|
401
|
-
case 13:
|
402
|
+
callback === null || callback === void 0 || callback();
|
403
|
+
case 9:
|
402
404
|
case "end":
|
403
405
|
return _context.stop();
|
404
406
|
}
|
@@ -482,15 +484,15 @@ var useForm = function useForm(props) {
|
|
482
484
|
context.updateMap[n] = new Set();
|
483
485
|
}
|
484
486
|
context.updateMap[n].add(updateFn);
|
487
|
+
var shouldTriggerResetChange = context.removeArr.has(n);
|
485
488
|
context.removeArr.delete(n);
|
486
|
-
|
489
|
+
var shouldTriggerDefaultChange = df !== undefined && deepGet(context.value, n) === undefined;
|
490
|
+
if (shouldTriggerDefaultChange || shouldTriggerResetChange) {
|
487
491
|
if (!context.mounted) context.defaultValues[n] = df;
|
488
|
-
|
489
|
-
|
490
|
-
deepSet(v, n, df, deepSetOptions);
|
491
|
-
});
|
492
|
-
update(n);
|
492
|
+
onChange(function (v) {
|
493
|
+
deepSet(v, n, df, deepSetOptions);
|
493
494
|
});
|
495
|
+
update(n);
|
494
496
|
}
|
495
497
|
},
|
496
498
|
unbind: function unbind(n, reserveAble, validateField, update) {
|
@@ -600,7 +602,10 @@ var useForm = function useForm(props) {
|
|
600
602
|
React.useEffect(function () {
|
601
603
|
context.removeLock = false;
|
602
604
|
// 内部 onChange 改的 value, 不需要更新
|
603
|
-
if (props.value === context.value)
|
605
|
+
if (props.value === context.value) {
|
606
|
+
if (!isControl) update();
|
607
|
+
return;
|
608
|
+
}
|
604
609
|
if (initValidate && !context.resetTime) {
|
605
610
|
var keys = Object.keys(context.validateMap).filter(function (key) {
|
606
611
|
var oldValue = deepGet(preValue || emptyObj, key);
|
@@ -610,7 +615,8 @@ var useForm = function useForm(props) {
|
|
610
615
|
validateFields(keys).catch(function () {});
|
611
616
|
}
|
612
617
|
update();
|
613
|
-
|
618
|
+
// 默认值上位时会提前触发外部的onChange, 导致外部的多次setFormValue不能合并后生效的问题(ReactDOM.render方式渲染)
|
619
|
+
setTimeout(updateDefaultValue);
|
614
620
|
context.resetTime = 0;
|
615
621
|
}, [props.value]);
|
616
622
|
React.useEffect(function () {
|
@@ -187,6 +187,7 @@ export interface BaseFormProps<T> extends Omit<FormCommonConfig, 'formName'> {
|
|
187
187
|
}
|
188
188
|
export type UseFormProps<T> = BaseFormProps<T> & {
|
189
189
|
formElRef: React.RefObject<HTMLFormElement>;
|
190
|
+
isControl: boolean;
|
190
191
|
};
|
191
192
|
export type FormContext = {
|
192
193
|
defaultValues: ObjectType;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-form.type.d.ts","sourceRoot":"","sources":["use-form.type.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"use-form.type.d.ts","sourceRoot":"","sources":["use-form.type.ts"],"names":[],"mappings":"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"}
|
@@ -14,6 +14,8 @@ declare const useImage: (props?: BaseImageProps) => {
|
|
14
14
|
onClick: (event: React.MouseEvent<HTMLImageElement | HTMLDivElement>) => void;
|
15
15
|
};
|
16
16
|
getImageProps: <TOther_1 extends ObjectType = ObjectType>(externalProps?: TOther_1) => {
|
17
|
+
style: React.CSSProperties;
|
18
|
+
} & {
|
17
19
|
[x: string]: (event: any) => void;
|
18
20
|
} & TOther_1 & {
|
19
21
|
alt: string | undefined;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-image.d.ts","sourceRoot":"","sources":["use-image.ts"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AACzC,OAAO,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAWlD,QAAA,MAAM,QAAQ,WAAW,cAAc;;;;;;;;;;
|
1
|
+
{"version":3,"file":"use-image.d.ts","sourceRoot":"","sources":["use-image.ts"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AACzC,OAAO,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAWlD,QAAA,MAAM,QAAQ,WAAW,cAAc;;;;;;;;;;yBAiG3B,gBAAgB,CAAC,gBAAgB,GAAG,cAAc,CAAC;;;;;;;;;;;;;CAoF9D,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
@@ -36,6 +36,10 @@ var useImage = function useImage() {
|
|
36
36
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
37
37
|
status = _React$useState2[0],
|
38
38
|
setStatus = _React$useState2[1];
|
39
|
+
var _React$useState3 = React.useState({}),
|
40
|
+
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
41
|
+
imgCoverStyle = _React$useState4[0],
|
42
|
+
setImgCoverStyle = _React$useState4[1];
|
39
43
|
var elementRef = React.useRef(null);
|
40
44
|
var getUrl = function getUrl(url) {
|
41
45
|
var auto = 'autoSSL' in props ? autoSSL : config.autoSSL;
|
@@ -70,6 +74,35 @@ var useImage = function useImage() {
|
|
70
74
|
};
|
71
75
|
img.src = getUrl(alt);
|
72
76
|
};
|
77
|
+
var handleCoverStyle = function handleCoverStyle(img) {
|
78
|
+
var container = elementRef === null || elementRef === void 0 ? void 0 : elementRef.current;
|
79
|
+
if (!container) return;
|
80
|
+
|
81
|
+
// 根据容器的宽高获取宽高比
|
82
|
+
var containerWidth = container.clientWidth;
|
83
|
+
var containerHeight = container.clientHeight;
|
84
|
+
var containerRatio = containerWidth / containerHeight;
|
85
|
+
|
86
|
+
// 根据图片的自然尺寸获取宽高比
|
87
|
+
var imageWidth = img.naturalWidth;
|
88
|
+
var imageHeight = img.naturalHeight;
|
89
|
+
var imageRatio = imageWidth / imageHeight;
|
90
|
+
|
91
|
+
// 判断宽高比,决定图片填充策略
|
92
|
+
if (imageRatio > containerRatio) {
|
93
|
+
// 图片更宽,宽度占满容器,高度自适应
|
94
|
+
setImgCoverStyle({
|
95
|
+
height: '100%',
|
96
|
+
width: 'auto'
|
97
|
+
});
|
98
|
+
} else {
|
99
|
+
// 图片更高,填满容器高度
|
100
|
+
setImgCoverStyle({
|
101
|
+
width: '100%',
|
102
|
+
height: 'auto'
|
103
|
+
});
|
104
|
+
}
|
105
|
+
};
|
73
106
|
var markToRender = function markToRender() {
|
74
107
|
if (!src) {
|
75
108
|
handleAlt();
|
@@ -77,7 +110,10 @@ var useImage = function useImage() {
|
|
77
110
|
}
|
78
111
|
var img = new window.Image();
|
79
112
|
img.onload = function () {
|
80
|
-
|
113
|
+
setStatus(SRC);
|
114
|
+
if (props.fit === 'fill') {
|
115
|
+
handleCoverStyle(img);
|
116
|
+
}
|
81
117
|
};
|
82
118
|
img.onerror = function (e) {
|
83
119
|
return handleError(SRC, e);
|
@@ -106,7 +142,9 @@ var useImage = function useImage() {
|
|
106
142
|
alt: alt,
|
107
143
|
draggable: !noImgDrag
|
108
144
|
});
|
109
|
-
return _objectSpread({
|
145
|
+
return _objectSpread({
|
146
|
+
style: imgCoverStyle
|
147
|
+
}, mergedEventHandlers);
|
110
148
|
};
|
111
149
|
var getImageDivProps = function getImageDivProps() {
|
112
150
|
var externalProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
@@ -7,5 +7,5 @@ export { default as useTableRow } from './use-table-row';
|
|
7
7
|
export { default as useTableExpand } from './use-table-expand';
|
8
8
|
export { default as useTableTree } from './use-table-tree';
|
9
9
|
export { default as useTableVirtual } from './use-table-virtual';
|
10
|
-
export type { TableFormatColumn, TableColumnItem, TableHeadColumn, TableGroupColumn, TableSorterInfo, BaseTableProps, TableColumnFilter, TableFilterData,
|
10
|
+
export type { TableFormatColumn, TableColumnItem, TableHeadColumn, TableGroupColumn, TableSorterInfo, BaseTableProps, TableColumnFilter, TableFilterData, } from './use-table.type';
|
11
11
|
//# sourceMappingURL=index.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEjE,YAAY,EACV,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,eAAe,
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEjE,YAAY,EACV,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,eAAe,GAChB,MAAM,kBAAkB,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-table-layout.d.ts","sourceRoot":"","sources":["use-table-layout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6C,MAAM,OAAO,CAAC;AAKlE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;
|
1
|
+
{"version":3,"file":"use-table-layout.d.ts","sourceRoot":"","sources":["use-table-layout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6C,MAAM,OAAO,CAAC;AAKlE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AA0CrE,MAAM,WAAW,mBACf,SAAQ,IAAI,CACV,cAAc,CAAC,GAAG,CAAC,EACnB,MAAM,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,OAAO,CAC7E;IACD,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACvC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACvC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACxC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,QAAA,MAAM,cAAc,UAAW,mBAAmB;;;;;;;;;;;yBA+CX,MAAM,UAAU,MAAM;;;;;;;CA+O5D,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
@@ -21,6 +21,34 @@ import usePrevious from "../../common/use-previous";
|
|
21
21
|
import { addResizeObserver } from "../../utils/dom/element";
|
22
22
|
import { isFunc, isNumber } from "../../utils/is";
|
23
23
|
import { toNum } from "../../utils/number";
|
24
|
+
function getDecimalAndIntegerPart(num) {
|
25
|
+
if (!num) return [0, 0];
|
26
|
+
var str = num.toString();
|
27
|
+
var dotIndex = str.indexOf('.');
|
28
|
+
if (dotIndex === -1) return [parseInt(str), 0];
|
29
|
+
var integerPart = parseInt(str.slice(0, dotIndex));
|
30
|
+
var decimalPart = parseFloat("0.".concat(str.slice(dotIndex + 1)));
|
31
|
+
return [integerPart, decimalPart];
|
32
|
+
}
|
33
|
+
|
34
|
+
// 将所有的小数部分转移到最后一列
|
35
|
+
function shiftDecimalToLastColumn(cols) {
|
36
|
+
var decimalSum = 0;
|
37
|
+
cols.forEach(function (v, i) {
|
38
|
+
var _getDecimalAndInteger = getDecimalAndIntegerPart(v),
|
39
|
+
_getDecimalAndInteger2 = _slicedToArray(_getDecimalAndInteger, 2),
|
40
|
+
inter = _getDecimalAndInteger2[0],
|
41
|
+
decimal = _getDecimalAndInteger2[1];
|
42
|
+
if (decimal > 0) {
|
43
|
+
decimalSum += decimal;
|
44
|
+
cols[i] = inter;
|
45
|
+
}
|
46
|
+
});
|
47
|
+
if (decimalSum > 0) {
|
48
|
+
cols[cols.length - 1] = Number(cols[cols.length - 1]) + decimalSum;
|
49
|
+
}
|
50
|
+
return cols;
|
51
|
+
}
|
24
52
|
var MIN_RESIZABLE_WIDTH = 20;
|
25
53
|
function compareColumnWidth(curCols, preCols) {
|
26
54
|
if (curCols.length !== preCols.length) return false;
|
@@ -142,7 +170,7 @@ var useTableLayout = function useTableLayout(props) {
|
|
142
170
|
if (cols && cols.every(function (v) {
|
143
171
|
return v === 0;
|
144
172
|
})) return;
|
145
|
-
setColgroup(cols);
|
173
|
+
setColgroup(shiftDecimalToLastColumn(cols));
|
146
174
|
setAdjust(adjust);
|
147
175
|
if (!adjust) {
|
148
176
|
updateResizeFlag();
|
@@ -359,7 +387,7 @@ var useTableLayout = function useTableLayout(props) {
|
|
359
387
|
width: tableWidth,
|
360
388
|
shouldLastColAuto: props.columnResizable && !adjust,
|
361
389
|
scrollWidth: scrollWidth,
|
362
|
-
maxScrollLeft: scrollWidth - context.clientWidth,
|
390
|
+
// maxScrollLeft: scrollWidth - context.clientWidth,
|
363
391
|
resizeFlag: resizeFlag
|
364
392
|
};
|
365
393
|
};
|
@@ -24,7 +24,6 @@ export interface Row {
|
|
24
24
|
declare const useTableRow: (props: TableRowProps) => {
|
25
25
|
rowData: Row[][];
|
26
26
|
handleCellHover: (rowIndex: number, colSpan?: any) => void;
|
27
|
-
isCellHover: (rowIndex: number, colSpan?: any) => boolean;
|
28
27
|
hoverIndex: Set<number>;
|
29
28
|
rowSelectMergeStartData: any[];
|
30
29
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-table-row.d.ts","sourceRoot":"","sources":["use-table-row.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAKjD,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtE,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,GAAG;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,GAAG,CAAC;IACV,UAAU,CAAC,EAAE,YAAY,EAAE,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AA4CD;;;;GAIG;AACH,QAAA,MAAM,WAAW,UAAW,aAAa;;gCASS,MAAM
|
1
|
+
{"version":3,"file":"use-table-row.d.ts","sourceRoot":"","sources":["use-table-row.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAKjD,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtE,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,GAAG;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,GAAG,CAAC;IACV,UAAU,CAAC,EAAE,YAAY,EAAE,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AA4CD;;;;GAIG;AACH,QAAA,MAAM,WAAW,UAAW,aAAa;;gCASS,MAAM;;;CAgDvD,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
@@ -65,16 +65,6 @@ var useTableRow = function useTableRow(props) {
|
|
65
65
|
}
|
66
66
|
setHoverIndex(hoverIndex);
|
67
67
|
});
|
68
|
-
var isCellHover = usePersistFn(function (rowIndex) {
|
69
|
-
var colSpan = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
70
|
-
if (!props.hover) return false;
|
71
|
-
var isHover = false;
|
72
|
-
for (var i = 0; i < colSpan; i++) {
|
73
|
-
isHover = hoverIndex.has(rowIndex + i);
|
74
|
-
if (isHover) break;
|
75
|
-
}
|
76
|
-
return isHover;
|
77
|
-
});
|
78
68
|
var rowData = useMemo(function () {
|
79
69
|
var rows = [];
|
80
70
|
context.rowSelectMergeStartData = [];
|
@@ -108,7 +98,6 @@ var useTableRow = function useTableRow(props) {
|
|
108
98
|
return {
|
109
99
|
rowData: rowData,
|
110
100
|
handleCellHover: handleCellHover,
|
111
|
-
isCellHover: isCellHover,
|
112
101
|
hoverIndex: hoverIndex,
|
113
102
|
rowSelectMergeStartData: context.rowSelectMergeStartData
|
114
103
|
};
|
@@ -11,12 +11,12 @@ interface UseTableVirtualProps {
|
|
11
11
|
isRtl?: boolean;
|
12
12
|
columns: TableFormatColumn<any>[];
|
13
13
|
colgroup: (number | string | undefined)[];
|
14
|
+
theadAndTfootHeight: number;
|
14
15
|
}
|
15
16
|
declare const useTableVirtual: (props: UseTableVirtualProps) => {
|
16
17
|
scrollHeight: number;
|
17
18
|
startIndex: number;
|
18
|
-
|
19
|
-
innerTop: number;
|
19
|
+
translateStyle: string;
|
20
20
|
data: any[];
|
21
21
|
handleScroll: (info: {
|
22
22
|
scrollLeft: number;
|
@@ -26,7 +26,6 @@ declare const useTableVirtual: (props: UseTableVirtualProps) => {
|
|
26
26
|
fromDrag: boolean;
|
27
27
|
}) => void;
|
28
28
|
setRowHeight: (index: number, height: number) => void;
|
29
|
-
getTranslate: (left?: number, top?: number) => string;
|
30
29
|
scrollToIndex: (index: number, callback?: () => void) => void;
|
31
30
|
scrollColumnByLeft: (targetLeft: number) => void;
|
32
31
|
scrollColumnIntoView: (colKey: string | number) => void;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-table-virtual.d.ts","sourceRoot":"","sources":["use-table-virtual.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAWrD,UAAU,oBAAoB;IAC5B,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC3C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,QAAQ,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;
|
1
|
+
{"version":3,"file":"use-table-virtual.d.ts","sourceRoot":"","sources":["use-table-virtual.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAWrD,UAAU,oBAAoB;IAC5B,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC3C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,QAAQ,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAC1C,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AACD,QAAA,MAAM,eAAe,UAAW,oBAAoB;;;;;;oBAqLpC,MAAM;mBACP,MAAM;WACd,MAAM;gBACD,MAAM;kBACJ,OAAO;;0BAnGuB,MAAM,UAAU,MAAM;2BAsIrB,MAAM,aAAa,MAAM,IAAI;qCAoBnB,MAAM;mCAUR,MAAM,GAAG,MAAM;CA0GnE,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
@@ -31,26 +31,21 @@ function getMaxRowSpanLength(input) {
|
|
31
31
|
var useTableVirtual = function useTableVirtual(props) {
|
32
32
|
var _useState = useState(0),
|
33
33
|
_useState2 = _slicedToArray(_useState, 2),
|
34
|
-
|
35
|
-
|
36
|
-
var _useState3 = useState(
|
34
|
+
innerTop = _useState2[0],
|
35
|
+
setTop = _useState2[1];
|
36
|
+
var _useState3 = useState(props.data.length * props.rowHeight),
|
37
37
|
_useState4 = _slicedToArray(_useState3, 2),
|
38
|
-
|
39
|
-
|
40
|
-
var _useState5 = useState(
|
38
|
+
scrollHeight = _useState4[0],
|
39
|
+
setHeight = _useState4[1];
|
40
|
+
var _useState5 = useState(0),
|
41
41
|
_useState6 = _slicedToArray(_useState5, 2),
|
42
|
-
|
43
|
-
|
42
|
+
startIndex = _useState6[0],
|
43
|
+
setStartIndex = _useState6[1];
|
44
44
|
var _useState7 = useState(0),
|
45
45
|
_useState8 = _slicedToArray(_useState7, 2),
|
46
|
-
|
47
|
-
|
48
|
-
var _useState9 = useState(0),
|
49
|
-
_useState10 = _slicedToArray(_useState9, 2),
|
50
|
-
offsetY = _useState10[0],
|
51
|
-
setOffsetY = _useState10[1];
|
46
|
+
offsetY = _useState8[0],
|
47
|
+
setOffsetY = _useState8[1];
|
52
48
|
var rowsInView = props.rowsInView === 0 ? props.data.length : props.rowsInView;
|
53
|
-
var sleft = props.scrollLeft !== undefined ? props.scrollLeft : innerLeft;
|
54
49
|
var rowSpanInfo = useMemo(function () {
|
55
50
|
var rowSpanColumns = props.columns.filter(function (col) {
|
56
51
|
return typeof col.rowSpan === 'function';
|
@@ -122,27 +117,13 @@ var useTableVirtual = function useTableVirtual(props) {
|
|
122
117
|
autoAddRows: 0
|
123
118
|
}),
|
124
119
|
context = _useRef.current;
|
125
|
-
var getTranslate = usePersistFn(function (left, top) {
|
126
|
-
var l = left === undefined ? sleft : left;
|
127
|
-
var t = top === undefined ? innerTop + offsetY : top;
|
128
|
-
if (t < 0) {
|
129
|
-
t = 0;
|
130
|
-
}
|
131
|
-
if (!props.isRtl && l < 0) {
|
132
|
-
l = 0;
|
133
|
-
}
|
134
|
-
if (props.isRtl && l > 0) {
|
135
|
-
l = 0;
|
136
|
-
}
|
137
|
-
return "translate3d(".concat(0 - l, "px, ").concat(0 - t, "px, 0)");
|
138
|
-
});
|
139
120
|
var getContentHeight = function getContentHeight(index) {
|
140
121
|
if (props.disabled) return 0;
|
141
122
|
var sum = 0;
|
142
123
|
for (var i = 0; i <= index; i++) {
|
143
124
|
sum += context.cachedHeight[i] || props.rowHeight;
|
144
125
|
}
|
145
|
-
return sum;
|
126
|
+
return sum + props.theadAndTfootHeight;
|
146
127
|
};
|
147
128
|
var setRowHeight = usePersistFn(function (index, height) {
|
148
129
|
if (props.disabled) return;
|
@@ -235,13 +216,11 @@ var useTableVirtual = function useTableVirtual(props) {
|
|
235
216
|
};
|
236
217
|
setHeight(sumHeight);
|
237
218
|
});
|
238
|
-
var handleScroll = function
|
239
|
-
var
|
240
|
-
height = info.height,
|
219
|
+
var handleScroll = usePersistFn(function (info) {
|
220
|
+
var height = info.height,
|
241
221
|
y = info.y,
|
242
222
|
fromDrag = info.fromDrag;
|
243
223
|
var scrollTop = info.scrollTop;
|
244
|
-
setLeft(scrollLeft);
|
245
224
|
if (props.disabled) {
|
246
225
|
setTop(scrollTop);
|
247
226
|
return;
|
@@ -271,7 +250,7 @@ var useTableVirtual = function useTableVirtual(props) {
|
|
271
250
|
} else {
|
272
251
|
updateIndexAndTopFromTop(scrollTop);
|
273
252
|
}
|
274
|
-
};
|
253
|
+
});
|
275
254
|
var scrollToIndex = usePersistFn(function (index, callback) {
|
276
255
|
if (props.disabled) return;
|
277
256
|
if (props.scrollRef.current) {
|
@@ -298,7 +277,6 @@ var useTableVirtual = function useTableVirtual(props) {
|
|
298
277
|
var max = scrollEl.scrollWidth - scrollEl.clientWidth;
|
299
278
|
var left = Math.min(targetLeft, max);
|
300
279
|
if (left === scrollEl.scrollLeft) return;
|
301
|
-
setLeft(left);
|
302
280
|
scrollEl.scrollLeft = left;
|
303
281
|
});
|
304
282
|
var scrollColumnIntoView = usePersistFn(function (colKey) {
|
@@ -317,6 +295,11 @@ var useTableVirtual = function useTableVirtual(props) {
|
|
317
295
|
}
|
318
296
|
scrollColumnByLeft(left);
|
319
297
|
});
|
298
|
+
useEffect(function () {
|
299
|
+
if (props.scrollLeft) {
|
300
|
+
scrollColumnByLeft(props.scrollLeft);
|
301
|
+
}
|
302
|
+
}, [props.scrollLeft]);
|
320
303
|
useEffect(function () {
|
321
304
|
var scrollRefHeight = props.scrollRef.current ? props.scrollRef.current.clientHeight : 0;
|
322
305
|
var tableRefHeight = props.innerRef.current ? props.innerRef.current.clientHeight : 0;
|
@@ -360,7 +343,7 @@ var useTableVirtual = function useTableVirtual(props) {
|
|
360
343
|
useEffect(function () {
|
361
344
|
if (props.disabled) return;
|
362
345
|
setHeight(getContentHeight(props.data.length - 1));
|
363
|
-
}, [props.data.length]);
|
346
|
+
}, [props.data.length, props.theadAndTfootHeight]);
|
364
347
|
useEffect(function () {
|
365
348
|
if (props.disabled) return;
|
366
349
|
if (context.heightCallback) {
|
@@ -372,16 +355,24 @@ var useTableVirtual = function useTableVirtual(props) {
|
|
372
355
|
}
|
373
356
|
}, [scrollHeight]);
|
374
357
|
var finalRowsInView = rowsInView + context.rowSpanRows + context.autoAddRows;
|
375
|
-
var renderData =
|
358
|
+
var renderData = useMemo(function () {
|
359
|
+
if (props.disabled) return props.data;
|
360
|
+
return _toConsumableArray(props.data).slice(startIndex, startIndex + finalRowsInView);
|
361
|
+
}, [props.data, startIndex, finalRowsInView]);
|
362
|
+
var translateStyle = useMemo(function () {
|
363
|
+
var t = innerTop + offsetY;
|
364
|
+
if (t < 0) {
|
365
|
+
t = 0;
|
366
|
+
}
|
367
|
+
return "translate3d(0, ".concat(0 - t, "px, 0)");
|
368
|
+
}, [innerTop]);
|
376
369
|
return {
|
377
370
|
scrollHeight: scrollHeight,
|
378
371
|
startIndex: startIndex,
|
379
|
-
|
380
|
-
innerTop: innerTop + offsetY,
|
372
|
+
translateStyle: translateStyle,
|
381
373
|
data: renderData,
|
382
374
|
handleScroll: handleScroll,
|
383
375
|
setRowHeight: setRowHeight,
|
384
|
-
getTranslate: getTranslate,
|
385
376
|
scrollToIndex: scrollToIndex,
|
386
377
|
scrollColumnByLeft: scrollColumnByLeft,
|
387
378
|
scrollColumnIntoView: scrollColumnIntoView
|
@@ -373,17 +373,7 @@ export interface TableColumnItem<DataItem> {
|
|
373
373
|
* @en Separately set a column not to be draggable
|
374
374
|
*/
|
375
375
|
columnResizable?: false;
|
376
|
-
/**
|
377
|
-
* @cn 是否需要更新单元格,dependencies是外部更新依赖项
|
378
|
-
* @en Whether the cell needs to be updated, the third parameter is the external dependency
|
379
|
-
* @version 3.7.0
|
380
|
-
*/
|
381
|
-
shouldUpdate?: ShouldUpdate<DataItem>;
|
382
376
|
}
|
383
|
-
export type ShouldUpdate<T> = ((prev: T, next: T) => boolean) | {
|
384
|
-
update: (prev: T, next: T) => boolean;
|
385
|
-
dependencies: any[];
|
386
|
-
};
|
387
377
|
export interface TableFormatColumn<DataItem> extends TableColumnItem<DataItem> {
|
388
378
|
index: number;
|
389
379
|
key: string | number;
|