@sheinx/hooks 3.9.0-beta.2 → 3.9.0-beta.20
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-filter/use-filter.type.d.ts +1 -1
- package/cjs/common/use-filter/use-filter.type.d.ts.map +1 -1
- package/cjs/components/use-button/use-button.d.ts +2 -2
- package/cjs/components/use-carousel/use-carousel.d.ts +12 -0
- package/cjs/components/use-carousel/use-carousel.d.ts.map +1 -1
- package/cjs/components/use-carousel/use-carousel.js +67 -17
- package/cjs/components/use-form/use-form.type.d.ts +1 -1
- package/cjs/components/use-form/use-form.type.d.ts.map +1 -1
- package/cjs/components/use-input/use-input-format.d.ts +1 -1
- package/cjs/components/use-input/use-input-number.d.ts +1 -1
- package/cjs/components/use-table/use-table-columns.d.ts +8 -1
- package/cjs/components/use-table/use-table-columns.d.ts.map +1 -1
- package/cjs/components/use-table/use-table-columns.js +90 -1
- package/cjs/components/use-table/use-table-filter.d.ts +2 -2
- package/cjs/components/use-table/use-table-filter.d.ts.map +1 -1
- package/cjs/components/use-table/use-table-filter.js +11 -5
- package/cjs/components/use-table/use-table-virtual.d.ts +2 -0
- package/cjs/components/use-table/use-table-virtual.d.ts.map +1 -1
- package/cjs/components/use-table/use-table-virtual.js +44 -10
- package/cjs/components/use-tree/use-tree.d.ts +0 -1
- package/cjs/components/use-tree/use-tree.d.ts.map +1 -1
- package/cjs/components/use-tree/use-tree.js +3 -11
- package/cjs/utils/dom/get-dataset.d.ts +4 -0
- package/cjs/utils/dom/get-dataset.d.ts.map +1 -0
- package/cjs/utils/dom/get-dataset.js +18 -0
- package/cjs/utils/dom/index.d.ts +1 -0
- package/cjs/utils/dom/index.d.ts.map +1 -1
- package/cjs/utils/dom/index.js +12 -0
- package/cjs/utils/rule/regexp.d.ts +1 -1
- package/cjs/utils/rule/required.d.ts.map +1 -1
- package/cjs/utils/rule/required.js +3 -1
- package/cjs/utils/validate/get-rule.js +1 -1
- package/esm/common/use-filter/use-filter.type.d.ts +1 -1
- package/esm/common/use-filter/use-filter.type.d.ts.map +1 -1
- package/esm/components/use-button/use-button.d.ts +2 -2
- package/esm/components/use-carousel/use-carousel.d.ts +12 -0
- package/esm/components/use-carousel/use-carousel.d.ts.map +1 -1
- package/esm/components/use-carousel/use-carousel.js +67 -17
- package/esm/components/use-form/use-form.type.d.ts +1 -1
- package/esm/components/use-form/use-form.type.d.ts.map +1 -1
- package/esm/components/use-input/use-input-format.d.ts +1 -1
- package/esm/components/use-input/use-input-number.d.ts +1 -1
- package/esm/components/use-table/use-table-columns.d.ts +8 -1
- package/esm/components/use-table/use-table-columns.d.ts.map +1 -1
- package/esm/components/use-table/use-table-columns.js +91 -2
- package/esm/components/use-table/use-table-filter.d.ts +2 -2
- package/esm/components/use-table/use-table-filter.d.ts.map +1 -1
- package/esm/components/use-table/use-table-filter.js +11 -5
- package/esm/components/use-table/use-table-virtual.d.ts +2 -0
- package/esm/components/use-table/use-table-virtual.d.ts.map +1 -1
- package/esm/components/use-table/use-table-virtual.js +44 -10
- package/esm/components/use-tree/use-tree.d.ts +0 -1
- package/esm/components/use-tree/use-tree.d.ts.map +1 -1
- package/esm/components/use-tree/use-tree.js +3 -11
- package/esm/utils/dom/get-dataset.d.ts +4 -0
- package/esm/utils/dom/get-dataset.d.ts.map +1 -0
- package/esm/utils/dom/get-dataset.js +12 -0
- package/esm/utils/dom/index.d.ts +1 -0
- package/esm/utils/dom/index.d.ts.map +1 -1
- package/esm/utils/dom/index.js +1 -0
- package/esm/utils/rule/regexp.d.ts +1 -1
- package/esm/utils/rule/required.d.ts.map +1 -1
- package/esm/utils/rule/required.js +3 -1
- package/esm/utils/validate/get-rule.js +1 -1
- package/package.json +2 -2
|
@@ -13,7 +13,7 @@ export interface UseFilterProps<DataItem> {
|
|
|
13
13
|
firstMatch?: boolean;
|
|
14
14
|
onFilter?: (text: string, from?: string) => void | ((data: DataItem) => boolean);
|
|
15
15
|
onFilterWidthCreate?: (data: DataItem, createdData: DataItem, key: string | number) => boolean;
|
|
16
|
-
onCreate?: ((input: string
|
|
16
|
+
onCreate?: ((input: string) => DataItem | string) | boolean;
|
|
17
17
|
filterDelay?: number;
|
|
18
18
|
}
|
|
19
19
|
//# sourceMappingURL=use-filter.type.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-filter.type.d.ts","sourceRoot":"","sources":["use-filter.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEnD,MAAM,WAAW,cAAc,CAAC,QAAQ;IACtC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,QAAQ,GAAG,MAAM,CAAC;IACtC,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gBAAgB,EAAE,OAAO,CAAC;IAE1B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,CAAC;IACjF,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,KAAK,OAAO,CAAC;IAC/F,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"use-filter.type.d.ts","sourceRoot":"","sources":["use-filter.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEnD,MAAM,WAAW,cAAc,CAAC,QAAQ;IACtC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,QAAQ,GAAG,MAAM,CAAC;IACtC,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gBAAgB,EAAE,OAAO,CAAC;IAE1B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,CAAC;IACjF,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,KAAK,OAAO,CAAC;IAC/F,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,QAAQ,GAAG,MAAM,CAAC,GAAG,OAAO,CAAC;IAC5D,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
|
|
@@ -8,7 +8,7 @@ declare const useButton: (props?: BaseButtonProps) => {
|
|
|
8
8
|
text?: boolean | undefined;
|
|
9
9
|
outline?: boolean | undefined;
|
|
10
10
|
type?: import("./use-button.type").ButtonType | undefined;
|
|
11
|
-
size?: "small" | "
|
|
11
|
+
size?: "small" | "large" | "default" | undefined;
|
|
12
12
|
space?: boolean | undefined;
|
|
13
13
|
shape?: import("./use-button.type").ButtonShape | undefined;
|
|
14
14
|
buttonRef?: React.Ref<HTMLButtonElement> | undefined;
|
|
@@ -22,7 +22,7 @@ declare const useButton: (props?: BaseButtonProps) => {
|
|
|
22
22
|
text?: boolean | undefined;
|
|
23
23
|
outline?: boolean | undefined;
|
|
24
24
|
type?: import("./use-button.type").ButtonType | undefined;
|
|
25
|
-
size?: "small" | "
|
|
25
|
+
size?: "small" | "large" | "default" | undefined;
|
|
26
26
|
space?: boolean | undefined;
|
|
27
27
|
shape?: import("./use-button.type").ButtonShape | undefined;
|
|
28
28
|
buttonRef?: React.Ref<HTMLButtonElement> | undefined;
|
|
@@ -4,6 +4,18 @@ export interface UseCarouselProps {
|
|
|
4
4
|
* 自动播放间隔时间, 等于0 不自动播放
|
|
5
5
|
*/
|
|
6
6
|
interval?: number;
|
|
7
|
+
/**
|
|
8
|
+
* 默认当前索引(非受控模式)
|
|
9
|
+
*/
|
|
10
|
+
defaultValue?: number;
|
|
11
|
+
/**
|
|
12
|
+
* 当前索引(受控模式)
|
|
13
|
+
*/
|
|
14
|
+
value?: number;
|
|
15
|
+
/**
|
|
16
|
+
* 当前索引变化回调
|
|
17
|
+
*/
|
|
18
|
+
onChange?: (current: number) => void;
|
|
7
19
|
onMove?: (current: number, extra: {
|
|
8
20
|
prev: number;
|
|
9
21
|
direction: 'forward' | 'backward';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-carousel.d.ts","sourceRoot":"","sources":["use-carousel.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,CACP,OAAO,EAAE,MAAM,EACf,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,SAAS,GAAG,UAAU,CAAC;QAAC,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,KACtF,IAAI,CAAC;CACX;AAED,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;AAE5D,QAAA,MAAM,WAAW,UAAW,gBAAgB;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"use-carousel.d.ts","sourceRoot":"","sources":["use-carousel.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,MAAM,CAAC,EAAE,CACP,OAAO,EAAE,MAAM,EACf,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,SAAS,GAAG,UAAU,CAAC;QAAC,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,KACtF,IAAI,CAAC;CACX;AAED,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;AAE5D,QAAA,MAAM,WAAW,UAAW,gBAAgB;;;;;;;;;oBAyCV,MAAM;;CA4FvC,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -17,9 +17,21 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
|
17
17
|
var useCarousel = function useCarousel(props) {
|
|
18
18
|
var total = props.total,
|
|
19
19
|
_props$interval = props.interval,
|
|
20
|
-
interval = _props$interval === void 0 ? 0 : _props$interval
|
|
20
|
+
interval = _props$interval === void 0 ? 0 : _props$interval,
|
|
21
|
+
_props$defaultValue = props.defaultValue,
|
|
22
|
+
defaultValue = _props$defaultValue === void 0 ? 0 : _props$defaultValue,
|
|
23
|
+
valueProp = props.value,
|
|
24
|
+
onChange = props.onChange;
|
|
25
|
+
|
|
26
|
+
// 规范化初始值,确保在有效范围内
|
|
27
|
+
var normalizeIndex = function normalizeIndex(index) {
|
|
28
|
+
if (index < 0) return 0;
|
|
29
|
+
if (index >= total) return Math.max(0, total - 1);
|
|
30
|
+
return index;
|
|
31
|
+
};
|
|
32
|
+
var initialValue = normalizeIndex(valueProp !== undefined ? valueProp : defaultValue);
|
|
21
33
|
var _useState = (0, _react.useState)({
|
|
22
|
-
current:
|
|
34
|
+
current: initialValue,
|
|
23
35
|
pre: -1,
|
|
24
36
|
direction: 'stop'
|
|
25
37
|
}),
|
|
@@ -32,14 +44,32 @@ var useCarousel = function useCarousel(props) {
|
|
|
32
44
|
var _useRef = (0, _react.useRef)({
|
|
33
45
|
timer: null,
|
|
34
46
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
35
|
-
setNext: function setNext(next) {}
|
|
47
|
+
setNext: function setNext(next) {},
|
|
48
|
+
prevValue: initialValue // 用于追踪上一次的值
|
|
36
49
|
}),
|
|
37
50
|
context = _useRef.current;
|
|
51
|
+
|
|
52
|
+
// 判断是否为受控模式
|
|
53
|
+
var isControlled = valueProp !== undefined;
|
|
54
|
+
// 获取实际使用的 current 值
|
|
55
|
+
var actualCurrent = isControlled ? normalizeIndex(valueProp) : current;
|
|
56
|
+
|
|
57
|
+
// 在受控模式下,计算 direction 和 pre
|
|
58
|
+
var actualPre = pre;
|
|
59
|
+
var actualDirection = direction;
|
|
60
|
+
if (isControlled) {
|
|
61
|
+
if (actualCurrent !== context.prevValue) {
|
|
62
|
+
actualPre = context.prevValue;
|
|
63
|
+
actualDirection = actualCurrent > context.prevValue ? 'forward' : 'backward';
|
|
64
|
+
context.prevValue = actualCurrent;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
38
67
|
var autoPlay = interval > 0 && total > 1;
|
|
39
68
|
var moveTo = (0, _usePersistFn.usePersistFn)(function (i) {
|
|
40
69
|
var next = i;
|
|
41
|
-
|
|
42
|
-
|
|
70
|
+
var prevCurrent = actualCurrent;
|
|
71
|
+
if (next === prevCurrent) return;
|
|
72
|
+
var dir = next > prevCurrent ? 'forward' : 'backward';
|
|
43
73
|
if (next >= total) {
|
|
44
74
|
dir = 'forward';
|
|
45
75
|
next = 0;
|
|
@@ -47,14 +77,26 @@ var useCarousel = function useCarousel(props) {
|
|
|
47
77
|
dir = 'backward';
|
|
48
78
|
next = total - 1;
|
|
49
79
|
}
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
80
|
+
|
|
81
|
+
// 非受控模式下更新内部状态
|
|
82
|
+
if (!isControlled) {
|
|
83
|
+
setState({
|
|
84
|
+
current: next,
|
|
85
|
+
pre: prevCurrent,
|
|
86
|
+
direction: dir
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
// 受控模式下不更新内部状态,由外部 value 控制
|
|
90
|
+
|
|
91
|
+
// 触发 onChange 回调
|
|
92
|
+
if (onChange) {
|
|
93
|
+
onChange(next);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
// 触发 onMove 回调(向后兼容)
|
|
55
97
|
if (props.onMove) {
|
|
56
98
|
props.onMove(next, {
|
|
57
|
-
prev:
|
|
99
|
+
prev: prevCurrent,
|
|
58
100
|
direction: dir,
|
|
59
101
|
moveTo: moveTo
|
|
60
102
|
});
|
|
@@ -76,13 +118,13 @@ var useCarousel = function useCarousel(props) {
|
|
|
76
118
|
});
|
|
77
119
|
context.setNext = setNext;
|
|
78
120
|
var start = (0, _usePersistFn.usePersistFn)(function () {
|
|
79
|
-
setNext(
|
|
121
|
+
setNext(actualCurrent + 1);
|
|
80
122
|
});
|
|
81
123
|
var forward = (0, _usePersistFn.usePersistFn)(function () {
|
|
82
|
-
moveTo(
|
|
124
|
+
moveTo(actualCurrent + 1);
|
|
83
125
|
});
|
|
84
126
|
var backward = (0, _usePersistFn.usePersistFn)(function () {
|
|
85
|
-
moveTo(
|
|
127
|
+
moveTo(actualCurrent - 1);
|
|
86
128
|
});
|
|
87
129
|
var func = (0, _useLatestObj.default)({
|
|
88
130
|
start: start,
|
|
@@ -96,10 +138,18 @@ var useCarousel = function useCarousel(props) {
|
|
|
96
138
|
start();
|
|
97
139
|
}
|
|
98
140
|
}, []);
|
|
141
|
+
|
|
142
|
+
// 受控模式下,当外部 value 变化时,重置自动轮播定时器
|
|
143
|
+
(0, _react.useEffect)(function () {
|
|
144
|
+
if (isControlled && autoPlay && valueProp !== undefined) {
|
|
145
|
+
stop();
|
|
146
|
+
context.setNext(actualCurrent + 1);
|
|
147
|
+
}
|
|
148
|
+
}, [valueProp]);
|
|
99
149
|
return {
|
|
100
|
-
current:
|
|
101
|
-
pre:
|
|
102
|
-
direction:
|
|
150
|
+
current: actualCurrent,
|
|
151
|
+
pre: actualPre,
|
|
152
|
+
direction: actualDirection,
|
|
103
153
|
func: func
|
|
104
154
|
};
|
|
105
155
|
};
|
|
@@ -136,7 +136,7 @@ export interface BaseFormProps<T> extends Omit<FormCommonConfig, 'formName'> {
|
|
|
136
136
|
* @en Initial value of the form in uncontrolled mode. Only effective when the component is first rendered, subsequent modifications will not affect the internal data of the form. Suitable for scenarios where form data is managed internally by the component, such as creating new forms, standalone forms, etc.
|
|
137
137
|
* @cn 非受控模式下的表单初始值。仅在组件首次渲染时生效,后续修改不会影响表单内部数据。适用于表单数据由组件内部管理的场景,如新建表单、独立表单等
|
|
138
138
|
*/
|
|
139
|
-
defaultValue?: T
|
|
139
|
+
defaultValue?: Partial<T>;
|
|
140
140
|
/**
|
|
141
141
|
* @en When the form value changes, whether to automatically trigger validation. When enabled, validation results can be displayed in real time when data changes, suitable for scenarios that require immediate feedback. Note: Only effective in controlled mode
|
|
142
142
|
* @cn 当表单 value 发生变化时,是否自动触发校验。开启后可以在数据变化时实时显示校验结果,适用于需要即时反馈的场景。注意:仅在受控模式下有效
|
|
@@ -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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"}
|
|
@@ -5,7 +5,7 @@ declare const useInputFormat: (props: InputFormatProps) => {
|
|
|
5
5
|
onBlur: (e: React.FocusEvent<HTMLInputElement>) => void;
|
|
6
6
|
onFocus: (e: React.FocusEvent<HTMLInputElement>) => void;
|
|
7
7
|
value: string | undefined;
|
|
8
|
-
type: "search" | (string & {}) | "color" | "button" | "time" | "reset" | "submit" | "email" | "url" | "range" | "tel" | "hidden" | "
|
|
8
|
+
type: "search" | (string & {}) | "color" | "button" | "time" | "reset" | "submit" | "email" | "url" | "range" | "tel" | "hidden" | "image" | "checkbox" | "radio" | "text" | "date" | "datetime-local" | "file" | "month" | "password" | "week" | undefined;
|
|
9
9
|
};
|
|
10
10
|
export default useInputFormat;
|
|
11
11
|
//# sourceMappingURL=use-input-format.d.ts.map
|
|
@@ -7,7 +7,7 @@ declare const useNumberFormat: (props: InputNumberProps) => {
|
|
|
7
7
|
onBlur: (e: React.FocusEvent<HTMLInputElement, Element>) => void;
|
|
8
8
|
onFocus: (e: React.FocusEvent<HTMLInputElement, Element>) => void;
|
|
9
9
|
value: string | undefined;
|
|
10
|
-
type: "search" | (string & {}) | "color" | "button" | "time" | "reset" | "submit" | "email" | "url" | "range" | "tel" | "hidden" | "
|
|
10
|
+
type: "search" | (string & {}) | "color" | "button" | "time" | "reset" | "submit" | "email" | "url" | "range" | "tel" | "hidden" | "image" | "checkbox" | "radio" | "text" | "date" | "datetime-local" | "file" | "month" | "password" | "week" | undefined;
|
|
11
11
|
};
|
|
12
12
|
export default useNumberFormat;
|
|
13
13
|
//# sourceMappingURL=use-input-number.d.ts.map
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import { TableColumnItem, TableFormatColumn } from './use-table.type';
|
|
2
|
+
import React from 'react';
|
|
3
3
|
export interface UseColumnsProps<Data> {
|
|
4
4
|
columns?: TableColumnItem<Data>[];
|
|
5
5
|
showCheckbox?: boolean;
|
|
6
|
+
virtualColumn?: boolean;
|
|
7
|
+
scrollRef: React.RefObject<HTMLElement>;
|
|
6
8
|
}
|
|
7
9
|
export type RxpandHideColType = {
|
|
8
10
|
hide?: boolean;
|
|
@@ -12,6 +14,11 @@ export type RxpandHideColType = {
|
|
|
12
14
|
} | null;
|
|
13
15
|
declare const useColumns: <Data>(props: UseColumnsProps<Data>) => {
|
|
14
16
|
columns: TableFormatColumn<Data>[];
|
|
17
|
+
columnInfo: {
|
|
18
|
+
handleScroll: (scrollInfo: {
|
|
19
|
+
scrollLeft: number;
|
|
20
|
+
}) => void;
|
|
21
|
+
};
|
|
15
22
|
expandHideCol: RxpandHideColType;
|
|
16
23
|
};
|
|
17
24
|
export default useColumns;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-table-columns.d.ts","sourceRoot":"","sources":["use-table-columns.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"use-table-columns.d.ts","sourceRoot":"","sources":["use-table-columns.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAEtE,OAAO,KAA+C,MAAM,OAAO,CAAC;AAEpE,MAAM,WAAW,eAAe,CAAC,IAAI;IACnC,OAAO,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;IAClC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,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;;;;wBAiEkC,MAAM;;;;CA8DvD,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -8,7 +8,18 @@ var _immer = require("../../utils/immer");
|
|
|
8
8
|
var _react = require("react");
|
|
9
9
|
var _usePersistFn = _interopRequireDefault(require("../../common/use-persist-fn"));
|
|
10
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
12
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
13
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
14
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
15
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
11
16
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
17
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
18
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
19
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
20
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
21
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
22
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
12
23
|
var getHideExpandCol = function getHideExpandCol() {
|
|
13
24
|
var cols = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
14
25
|
var expandCol = cols.find(function (col) {
|
|
@@ -19,7 +30,17 @@ var getHideExpandCol = function getHideExpandCol() {
|
|
|
19
30
|
}
|
|
20
31
|
return null;
|
|
21
32
|
};
|
|
33
|
+
// 缓冲区列数:左右各2列
|
|
34
|
+
var BUFFER_COUNT = 2;
|
|
22
35
|
var useColumns = function useColumns(props) {
|
|
36
|
+
var _useState = (0, _react.useState)(0),
|
|
37
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
38
|
+
startIndex = _useState2[0],
|
|
39
|
+
setStartIndex = _useState2[1];
|
|
40
|
+
var _useState3 = (0, _react.useState)(20),
|
|
41
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
42
|
+
renderedCount = _useState4[0],
|
|
43
|
+
setRenderedCount = _useState4[1];
|
|
23
44
|
var _props$columns = props.columns,
|
|
24
45
|
propsColumns = _props$columns === void 0 ? [] : _props$columns;
|
|
25
46
|
var _useRef = (0, _react.useRef)({
|
|
@@ -74,8 +95,76 @@ var useColumns = function useColumns(props) {
|
|
|
74
95
|
return context.cachedColumns;
|
|
75
96
|
});
|
|
76
97
|
var columns = getColumns(propsColumns) || [];
|
|
98
|
+
var leftFixedColumns = columns.filter(function (col) {
|
|
99
|
+
return col.fixed === 'left';
|
|
100
|
+
});
|
|
101
|
+
var middleColumns = columns.filter(function (col) {
|
|
102
|
+
return !col.fixed;
|
|
103
|
+
});
|
|
104
|
+
var handleScroll = function handleScroll(scrollInfo) {
|
|
105
|
+
var scrollLeft = scrollInfo.scrollLeft;
|
|
106
|
+
var sum = 0;
|
|
107
|
+
var currentIndex = 0;
|
|
108
|
+
for (var i = 0, len = middleColumns.length - 1; i < len; i++) {
|
|
109
|
+
var curCol = middleColumns[i];
|
|
110
|
+
sum += curCol.width || 100;
|
|
111
|
+
if (scrollLeft < sum) {
|
|
112
|
+
// 计算可视区域内需要渲染的列数
|
|
113
|
+
for (var j = i + 1; j < len; j++) {
|
|
114
|
+
var _props$scrollRef$curr;
|
|
115
|
+
var nextCol = middleColumns[j];
|
|
116
|
+
sum += nextCol.width || 100;
|
|
117
|
+
if (props.scrollRef.current && sum - scrollLeft >= ((_props$scrollRef$curr = props.scrollRef.current) === null || _props$scrollRef$curr === void 0 ? void 0 : _props$scrollRef$curr.clientWidth)) {
|
|
118
|
+
// 在原有基础上,右侧增加缓冲列
|
|
119
|
+
var visibleCount = j - i;
|
|
120
|
+
setRenderedCount(Math.min(visibleCount + BUFFER_COUNT * 2, len));
|
|
121
|
+
break;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
// 左侧也增加缓冲列,但不能小于0
|
|
126
|
+
var bufferedStartIndex = Math.max(0, i - BUFFER_COUNT);
|
|
127
|
+
currentIndex = bufferedStartIndex + leftFixedColumns.length;
|
|
128
|
+
break;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
setStartIndex(currentIndex);
|
|
132
|
+
};
|
|
133
|
+
(0, _react.useEffect)(function () {
|
|
134
|
+
if (!props.virtualColumn) return;
|
|
135
|
+
handleScroll({
|
|
136
|
+
scrollLeft: 0
|
|
137
|
+
});
|
|
138
|
+
}, []);
|
|
77
139
|
return {
|
|
78
|
-
columns: columns,
|
|
140
|
+
columns: props.virtualColumn ? columns.map(function (col, index) {
|
|
141
|
+
if (col.fixed) {
|
|
142
|
+
return col;
|
|
143
|
+
}
|
|
144
|
+
if (index < startIndex || index > startIndex + renderedCount) {
|
|
145
|
+
var colSpan;
|
|
146
|
+
if (index > startIndex + renderedCount && index === startIndex + renderedCount + 1) {
|
|
147
|
+
colSpan = function colSpan() {
|
|
148
|
+
return middleColumns.length - (startIndex + renderedCount) + 1;
|
|
149
|
+
};
|
|
150
|
+
} else if (index < startIndex && index === leftFixedColumns.length && startIndex > 0) {
|
|
151
|
+
colSpan = function colSpan() {
|
|
152
|
+
return startIndex;
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
return _objectSpread(_objectSpread({}, col), {}, {
|
|
156
|
+
colSpan: colSpan,
|
|
157
|
+
render: function render() {
|
|
158
|
+
return null;
|
|
159
|
+
},
|
|
160
|
+
title: null
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
return col;
|
|
164
|
+
}) : columns,
|
|
165
|
+
columnInfo: {
|
|
166
|
+
handleScroll: handleScroll
|
|
167
|
+
},
|
|
79
168
|
expandHideCol: context.expandHideCol
|
|
80
169
|
};
|
|
81
170
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { TableColumnItem, BaseTableProps } from './use-table.type';
|
|
3
3
|
import { KeygenResult } from '../../common/type';
|
|
4
|
-
export interface UseTableFilterProps<Item = any> extends Pick<BaseTableProps<Item>, 'onSortCancel' | 'sorter' | 'data'> {
|
|
4
|
+
export interface UseTableFilterProps<Item = any> extends Pick<BaseTableProps<Item>, 'onSortCancel' | 'sorter' | 'data' | 'keygen'> {
|
|
5
5
|
columns?: TableColumnItem<Item>[];
|
|
6
6
|
}
|
|
7
7
|
export interface FilterInfo<T> {
|
|
@@ -12,7 +12,7 @@ export type FilterMap<T> = Map<KeygenResult, FilterInfo<T>>;
|
|
|
12
12
|
declare const useTableFilter: <Item = any>(props: UseTableFilterProps<Item>) => {
|
|
13
13
|
filterInfo: FilterMap<Item>;
|
|
14
14
|
setFilterInfo: import("react").Dispatch<import("react").SetStateAction<FilterMap<Item>>>;
|
|
15
|
-
filteredData: Item[]
|
|
15
|
+
filteredData: Item[];
|
|
16
16
|
onFilterChange: (columnKey: KeygenResult, value: any) => void;
|
|
17
17
|
};
|
|
18
18
|
export default useTableFilter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-table-filter.d.ts","sourceRoot":"","sources":["use-table-filter.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"use-table-filter.d.ts","sourceRoot":"","sources":["use-table-filter.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGnE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,WAAW,mBAAmB,CAAC,IAAI,GAAG,GAAG,CAC7C,SAAQ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;IACjF,OAAO,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;CACnC;AACD,MAAM,WAAW,UAAU,CAAC,CAAC;IAE3B,KAAK,CAAC,EAAE,GAAG,CAAA;IACX,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC;CAC5C;AAED,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAE5D,QAAA,MAAM,cAAc;;;;gCA+BH,YAAY,SAAS,GAAG;CAyDxC,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -8,6 +8,7 @@ exports.default = void 0;
|
|
|
8
8
|
var _react = require("react");
|
|
9
9
|
var _usePersistFn = _interopRequireDefault(require("../../common/use-persist-fn"));
|
|
10
10
|
var _is = require("../../utils/is");
|
|
11
|
+
var _utils = require("../../utils");
|
|
11
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
13
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
13
14
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
@@ -32,10 +33,13 @@ var useTableFilter = function useTableFilter(props) {
|
|
|
32
33
|
});
|
|
33
34
|
}, [filterInfo]);
|
|
34
35
|
var filteredData = (0, _react.useMemo)(function () {
|
|
35
|
-
var _props$
|
|
36
|
+
var _props$columns;
|
|
36
37
|
// why use slice: props.data引用不改变会导致后续的useMemo无法重新计算
|
|
37
38
|
if (activeFilters.length === 0) return (props.data || []).slice();
|
|
38
|
-
|
|
39
|
+
var columnHasChildren = (_props$columns = props.columns) === null || _props$columns === void 0 ? void 0 : _props$columns.find(function (col) {
|
|
40
|
+
return col.treeColumnsName;
|
|
41
|
+
});
|
|
42
|
+
return (0, _utils.getFilterTree)(props.data, function (item) {
|
|
39
43
|
return activeFilters.every(function (key) {
|
|
40
44
|
var filter = filterInfo.get(key);
|
|
41
45
|
if ((filter === null || filter === void 0 ? void 0 : filter.value) === undefined) return true;
|
|
@@ -45,7 +49,9 @@ var useTableFilter = function useTableFilter(props) {
|
|
|
45
49
|
}
|
|
46
50
|
return true;
|
|
47
51
|
});
|
|
48
|
-
})
|
|
52
|
+
}, undefined, function (node) {
|
|
53
|
+
return (0, _utils.getKey)(props.keygen, node);
|
|
54
|
+
}, columnHasChildren === null || columnHasChildren === void 0 ? void 0 : columnHasChildren.treeColumnsName, false);
|
|
49
55
|
}, [activeFilters, props.data]);
|
|
50
56
|
var onFilterChange = (0, _usePersistFn.default)(function (columnKey, value) {
|
|
51
57
|
// TODO: 暂未开放reset全部筛选条件
|
|
@@ -75,8 +81,8 @@ var useTableFilter = function useTableFilter(props) {
|
|
|
75
81
|
// 根据columns生成filterInfo
|
|
76
82
|
(0, _react.useEffect)(function () {
|
|
77
83
|
setFilterInfo(function (prev) {
|
|
78
|
-
var _props$
|
|
79
|
-
var _filterInfo = props === null || props === void 0 || (_props$
|
|
84
|
+
var _props$columns2;
|
|
85
|
+
var _filterInfo = props === null || props === void 0 || (_props$columns2 = props.columns) === null || _props$columns2 === void 0 ? void 0 : _props$columns2.reduce(function (acc, column, index) {
|
|
80
86
|
var _prev$get2, _column$filter;
|
|
81
87
|
if (!column.filter) return acc;
|
|
82
88
|
var columnKey = typeof column.render === 'string' ? column.render : String(index);
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { TableFormatColumn } from './use-table.type';
|
|
3
3
|
interface UseTableVirtualProps {
|
|
4
|
+
virtual?: boolean | 'lazy';
|
|
4
5
|
data: any[];
|
|
5
6
|
rowsInView: number;
|
|
6
7
|
rowHeight: number;
|
|
8
|
+
strictRowHeight?: number;
|
|
7
9
|
scrollRef: React.RefObject<HTMLDivElement>;
|
|
8
10
|
innerRef: React.RefObject<HTMLDivElement>;
|
|
9
11
|
scrollLeft?: number;
|
|
@@ -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;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AACD,QAAA,MAAM,eAAe,UAAW,oBAAoB;;;;;;
|
|
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,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,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,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AACD,QAAA,MAAM,eAAe,UAAW,oBAAoB;;;;;;oBAoNpC,MAAM;mBACP,MAAM;WACd,MAAM;gBACD,MAAM;kBACJ,OAAO;;0BArHuB,MAAM,UAAU,MAAM;2BAwJrB,MAAM,aAAa,MAAM,IAAI;qCAoBnB,MAAM;mCAUR,MAAM,GAAG,MAAM;;;;;CA4GnE,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -35,11 +35,14 @@ function getMaxRowSpanLength(input) {
|
|
|
35
35
|
return Math.max.apply(Math, _toConsumableArray(Array.from(map.values())));
|
|
36
36
|
}
|
|
37
37
|
var useTableVirtual = function useTableVirtual(props) {
|
|
38
|
+
var _props$scrollRef$curr;
|
|
38
39
|
var _useState = (0, _react.useState)(0),
|
|
39
40
|
_useState2 = _slicedToArray(_useState, 2),
|
|
40
41
|
innerTop = _useState2[0],
|
|
41
42
|
setTop = _useState2[1];
|
|
42
|
-
var
|
|
43
|
+
var strictRowHeight = props.strictRowHeight ? props.strictRowHeight : 0;
|
|
44
|
+
var defaultScrollHeight = strictRowHeight ? props.data.length * strictRowHeight : props.data.length * props.rowHeight;
|
|
45
|
+
var _useState3 = (0, _react.useState)(defaultScrollHeight),
|
|
43
46
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
44
47
|
scrollHeight = _useState4[0],
|
|
45
48
|
setHeight = _useState4[1];
|
|
@@ -51,6 +54,15 @@ var useTableVirtual = function useTableVirtual(props) {
|
|
|
51
54
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
52
55
|
offsetY = _useState8[0],
|
|
53
56
|
setOffsetY = _useState8[1];
|
|
57
|
+
|
|
58
|
+
// TODO: 尝试垂直滚动采用延迟销毁 + 操作dom transform方案提升性能?
|
|
59
|
+
// const setTop = (v: number) => {
|
|
60
|
+
// if (props.virtual === 'lazy') {
|
|
61
|
+
// props.innerRef.current && (props.innerRef.current.style.transform = `translate3d(0, ${-v}px, 0)`);
|
|
62
|
+
// } else {
|
|
63
|
+
// }
|
|
64
|
+
// _setTop(v);
|
|
65
|
+
// }
|
|
54
66
|
var rowsInView = props.rowsInView === 0 ? props.data.length : props.rowsInView;
|
|
55
67
|
var rowSpanInfo = (0, _react.useMemo)(function () {
|
|
56
68
|
var rowSpanColumns = props.columns.filter(function (col) {
|
|
@@ -125,6 +137,9 @@ var useTableVirtual = function useTableVirtual(props) {
|
|
|
125
137
|
context = _useRef.current;
|
|
126
138
|
var getContentHeight = function getContentHeight(index) {
|
|
127
139
|
if (props.disabled) return 0;
|
|
140
|
+
if (strictRowHeight) {
|
|
141
|
+
return strictRowHeight * (index + 1) + props.theadHeight + props.tfootHeight;
|
|
142
|
+
}
|
|
128
143
|
var sum = 0;
|
|
129
144
|
for (var i = 0; i <= index; i++) {
|
|
130
145
|
sum += context.cachedHeight[i] || props.rowHeight;
|
|
@@ -150,17 +165,26 @@ var useTableVirtual = function useTableVirtual(props) {
|
|
|
150
165
|
});
|
|
151
166
|
}
|
|
152
167
|
});
|
|
168
|
+
|
|
169
|
+
// const setStartIndex2 = (index:number) => {
|
|
170
|
+
// let sum = 0;
|
|
171
|
+
// for (let i = 0; i < index; i++) {
|
|
172
|
+
// sum += context.cachedHeight[i] || props.rowHeight;
|
|
173
|
+
// }
|
|
174
|
+
// props.innerRef.current && (props.innerRef.current.style.transform = `translate3d(0, ${-innerTop + sum}px, 0)`);
|
|
175
|
+
// setStartIndex(index);
|
|
176
|
+
// }
|
|
177
|
+
|
|
178
|
+
var maxIndex = Math.max(props.data.length - rowsInView, 0);
|
|
179
|
+
var scrollContainerHeight = Math.max(((_props$scrollRef$curr = props.scrollRef.current) === null || _props$scrollRef$curr === void 0 ? void 0 : _props$scrollRef$curr.clientHeight) || 0, 200);
|
|
153
180
|
var updateIndexAndTopFromTop = function updateIndexAndTopFromTop(scrollTop, fromDrag) {
|
|
154
|
-
var _props$scrollRef$curr;
|
|
155
181
|
if (props.disabled) return;
|
|
156
182
|
var sum = 0;
|
|
157
183
|
var currentIndex = 0;
|
|
158
184
|
var top = 0;
|
|
159
|
-
var maxIndex = Math.max(props.data.length - rowsInView, 0);
|
|
160
|
-
var scrollContainerHeight = Math.max(((_props$scrollRef$curr = props.scrollRef.current) === null || _props$scrollRef$curr === void 0 ? void 0 : _props$scrollRef$curr.clientHeight) || 0, 200);
|
|
161
185
|
for (var i = 0; i <= maxIndex; i++) {
|
|
162
186
|
context.rowSpanRows = 0;
|
|
163
|
-
var currentRowHeight = context.cachedHeight[i] || props.rowHeight;
|
|
187
|
+
var currentRowHeight = strictRowHeight || context.cachedHeight[i] || props.rowHeight;
|
|
164
188
|
sum += currentRowHeight;
|
|
165
189
|
var rowSpanHeight = 0;
|
|
166
190
|
if (rowSpanInfo) {
|
|
@@ -175,17 +199,26 @@ var useTableVirtual = function useTableVirtual(props) {
|
|
|
175
199
|
if (rowSpanHeight < scrollContainerHeight) {
|
|
176
200
|
var index = siblingsIndexs[j];
|
|
177
201
|
context.rowSpanRows += 1;
|
|
178
|
-
rowSpanHeight += context.cachedHeight[index] || props.rowHeight;
|
|
202
|
+
rowSpanHeight += strictRowHeight || context.cachedHeight[index] || props.rowHeight;
|
|
179
203
|
}
|
|
180
204
|
}
|
|
181
205
|
}
|
|
182
206
|
if (scrollTop < sum + rowSpanHeight || i === maxIndex) {
|
|
183
207
|
currentIndex = i;
|
|
184
|
-
var beforeHeight = i === 0 ? 0 : sum - (context.cachedHeight[i] || props.rowHeight);
|
|
208
|
+
var beforeHeight = i === 0 ? 0 : sum - (strictRowHeight || context.cachedHeight[i] || props.rowHeight);
|
|
185
209
|
top = scrollTop - beforeHeight;
|
|
186
210
|
break;
|
|
187
211
|
}
|
|
188
212
|
}
|
|
213
|
+
// if (props.virtual === 'lazy') {
|
|
214
|
+
// setTop(scrollTop);
|
|
215
|
+
// context.autoAddRows = currentIndex
|
|
216
|
+
// setTimeout(() => {
|
|
217
|
+
// setStartIndex2(currentIndex);
|
|
218
|
+
// context.autoAddRows = 0
|
|
219
|
+
// }, 300);
|
|
220
|
+
// return;
|
|
221
|
+
// }
|
|
189
222
|
if (currentIndex !== startIndex) {
|
|
190
223
|
setStartIndex(currentIndex);
|
|
191
224
|
|
|
@@ -314,16 +347,16 @@ var useTableVirtual = function useTableVirtual(props) {
|
|
|
314
347
|
var addonHeight = 0;
|
|
315
348
|
var addonCount = 0;
|
|
316
349
|
for (var i = startIndex + rowsInView; i < props.data.length; i++) {
|
|
317
|
-
var height = context.cachedHeight[i] || props.rowHeight;
|
|
350
|
+
var height = strictRowHeight || context.cachedHeight[i] || props.rowHeight;
|
|
318
351
|
addonHeight += height;
|
|
319
352
|
addonCount += 1;
|
|
320
|
-
if (addonHeight >= remainHeight + context.cachedHeight[0]) break;
|
|
353
|
+
if (addonHeight >= remainHeight + (strictRowHeight || context.cachedHeight[0])) break;
|
|
321
354
|
}
|
|
322
355
|
if (addonCount > 0) {
|
|
323
356
|
context.autoAddRows = addonCount;
|
|
324
357
|
}
|
|
325
358
|
}
|
|
326
|
-
}, []);
|
|
359
|
+
}, [props.data.length]);
|
|
327
360
|
(0, _react.useEffect)(function () {
|
|
328
361
|
// 记录preIndex
|
|
329
362
|
context.preIndex = startIndex;
|
|
@@ -366,6 +399,7 @@ var useTableVirtual = function useTableVirtual(props) {
|
|
|
366
399
|
return _toConsumableArray(props.data).slice(startIndex, startIndex + finalRowsInView);
|
|
367
400
|
}, [props.data, props.disabled, startIndex, finalRowsInView]);
|
|
368
401
|
var translateStyle = (0, _react.useMemo)(function () {
|
|
402
|
+
// if (props.virtual === 'lazy') return 'translate3d(0, 0, 0)';
|
|
369
403
|
var t = innerTop + offsetY;
|
|
370
404
|
if (t < 0) {
|
|
371
405
|
t = 0;
|
|
@@ -23,7 +23,6 @@ export declare const MODE: {
|
|
|
23
23
|
MODE_4: number;
|
|
24
24
|
};
|
|
25
25
|
declare const useTree: <DataItem>(props: BaseTreeProps<DataItem>) => {
|
|
26
|
-
inited: boolean;
|
|
27
26
|
datum: TreeDatum<DataItem>;
|
|
28
27
|
expanded: KeygenResult[] | undefined;
|
|
29
28
|
onExpand: (value: KeygenResult[]) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-tree.d.ts","sourceRoot":"","sources":["use-tree.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,aAAa,EAKb,SAAS,EAIV,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAiBjD,eAAO,MAAM,IAAI;IACf;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;CAEJ,CAAC;AAEF,QAAA,MAAM,OAAO
|
|
1
|
+
{"version":3,"file":"use-tree.d.ts","sourceRoot":"","sources":["use-tree.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,aAAa,EAKb,SAAS,EAIV,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAiBjD,eAAO,MAAM,IAAI;IACf;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;CAEJ,CAAC;AAEF,QAAA,MAAM,OAAO;;;;CA+sBZ,CAAC;AAEF,eAAe,OAAO,CAAC"}
|