@sheinx/hooks 3.5.3 → 3.5.4-beta.10
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/components/use-datepicker/use-date.d.ts.map +1 -1
- package/cjs/components/use-datepicker/use-date.js +2 -0
- package/cjs/components/use-datepicker/use-date.type.d.ts +3 -0
- package/cjs/components/use-datepicker/use-date.type.d.ts.map +1 -1
- package/cjs/components/use-datepicker/use-datepicker-format.d.ts +2 -0
- package/cjs/components/use-datepicker/use-datepicker-format.d.ts.map +1 -1
- package/cjs/components/use-datepicker/use-datepicker-format.js +81 -11
- package/cjs/components/use-datepicker/use-datepicker-range.type.d.ts +1 -0
- package/cjs/components/use-datepicker/use-datepicker-range.type.d.ts.map +1 -1
- package/cjs/components/use-form/use-form-context.d.ts +1 -1
- package/cjs/components/use-form/use-form-context.js +2 -2
- package/cjs/components/use-table/use-table-tree.d.ts.map +1 -1
- package/cjs/components/use-table/use-table-tree.js +4 -0
- package/cjs/components/use-table/use-table-virtual.d.ts.map +1 -1
- package/cjs/components/use-table/use-table-virtual.js +19 -18
- package/esm/components/use-datepicker/use-date.d.ts.map +1 -1
- package/esm/components/use-datepicker/use-date.js +2 -0
- package/esm/components/use-datepicker/use-date.type.d.ts +3 -0
- package/esm/components/use-datepicker/use-date.type.d.ts.map +1 -1
- package/esm/components/use-datepicker/use-datepicker-format.d.ts +2 -0
- package/esm/components/use-datepicker/use-datepicker-format.d.ts.map +1 -1
- package/esm/components/use-datepicker/use-datepicker-format.js +81 -11
- package/esm/components/use-datepicker/use-datepicker-range.type.d.ts +1 -0
- package/esm/components/use-datepicker/use-datepicker-range.type.d.ts.map +1 -1
- package/esm/components/use-form/use-form-context.d.ts +1 -1
- package/esm/components/use-form/use-form-context.js +1 -1
- package/esm/components/use-table/use-table-tree.d.ts.map +1 -1
- package/esm/components/use-table/use-table-tree.js +4 -0
- package/esm/components/use-table/use-table-virtual.d.ts.map +1 -1
- package/esm/components/use-table/use-table-virtual.js +19 -18
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-date.d.ts","sourceRoot":"","sources":["use-date.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAU/C,QAAA,MAAM,OAAO,UAAW,YAAY;;;;;;;;;;wBAmBX,IAAI;2BAkDD,IAAI;
|
|
1
|
+
{"version":3,"file":"use-date.d.ts","sourceRoot":"","sources":["use-date.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAU/C,QAAA,MAAM,OAAO,UAAW,YAAY;;;;;;;;;;wBAmBX,IAAI;2BAkDD,IAAI;yBAkBN,IAAI;0BAkDH,IAAI;+BAxEC,IAAI;+BAiDJ,IAAI,YAAY,OAAO;0BAnB5B,IAAI;2BAIH,IAAI;;gCAIC,IAAI;;CAiFpC,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -17,6 +17,7 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
|
|
|
17
17
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
18
18
|
var useDate = function useDate(props) {
|
|
19
19
|
var options = props.options,
|
|
20
|
+
position = props.position,
|
|
20
21
|
type = props.type;
|
|
21
22
|
var _useState = (0, _react.useState)(props.defaultCurrent || new Date()),
|
|
22
23
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -109,6 +110,7 @@ var useDate = function useDate(props) {
|
|
|
109
110
|
var _props$onChange;
|
|
110
111
|
if (isDisabled(date)) return;
|
|
111
112
|
var newDate = getDateWithTime(date);
|
|
113
|
+
props === null || props === void 0 || props.onClearInputArr(position === 'start' ? 0 : 1);
|
|
112
114
|
(_props$onChange = props.onChange) === null || _props$onChange === void 0 || _props$onChange.call(props, newDate, noClose);
|
|
113
115
|
setCurrent(newDate);
|
|
114
116
|
};
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
export interface UseDateProps {
|
|
2
2
|
current?: Date;
|
|
3
|
+
range?: boolean | number;
|
|
3
4
|
rangeDate?: Array<Date | undefined>;
|
|
4
5
|
defaultCurrent?: Date;
|
|
5
6
|
onCurrentChange?: (date: Date) => void;
|
|
7
|
+
onClearInputArr: (index?: number | undefined) => void;
|
|
6
8
|
value?: Date;
|
|
7
9
|
onChange?: (date: Date, noClose?: boolean) => void;
|
|
8
10
|
min?: Date;
|
|
9
11
|
max?: Date;
|
|
12
|
+
position?: 'start' | 'end';
|
|
10
13
|
type?: 'date' | 'week' | 'datetime';
|
|
11
14
|
format?: string;
|
|
12
15
|
disabled?: boolean | ((date: Date) => boolean);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-date.type.d.ts","sourceRoot":"","sources":["use-date.type.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,SAAS,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;IACpC,cAAc,CAAC,EAAE,IAAI,CAAC;IACtB,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACvC,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACnD,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC;IAC/C,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACrC,OAAO,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH"}
|
|
1
|
+
{"version":3,"file":"use-date.type.d.ts","sourceRoot":"","sources":["use-date.type.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;IACpC,cAAc,CAAC,EAAE,IAAI,CAAC;IACtB,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACvC,eAAe,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IACtD,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACnD,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,QAAQ,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC;IAC/C,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACrC,OAAO,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { DatePickerModeType, DatePickerValueType, UseDatePickerFormatProps } from './use-datepicker-format.type';
|
|
3
3
|
declare const useDatePickerFormat: <Value extends DatePickerValueType>(props: UseDatePickerFormatProps<Value>) => {
|
|
4
|
+
inputArr: (Date | undefined)[];
|
|
4
5
|
resultArr: (string | undefined)[];
|
|
5
6
|
targetResultArr: (string | undefined)[];
|
|
6
7
|
dateArr: (Date | undefined)[];
|
|
@@ -17,6 +18,7 @@ declare const useDatePickerFormat: <Value extends DatePickerValueType>(props: Us
|
|
|
17
18
|
setCurrentArr: React.Dispatch<React.SetStateAction<Date[]>>;
|
|
18
19
|
setTargetArr: React.Dispatch<React.SetStateAction<(Date | undefined)[]>>;
|
|
19
20
|
handleClear: (e?: React.MouseEvent) => void;
|
|
21
|
+
handleClearInputArr: (index?: number) => void;
|
|
20
22
|
handleInputChange: (str: string, index: number) => void;
|
|
21
23
|
registerModeDisabled: (position: 'start' | 'end' | undefined, mode: string, fn: (d: Date) => boolean) => void;
|
|
22
24
|
setCurrentArrWithParams: (arg: React.SetStateAction<Date[]>, type: string, quick: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-datepicker-format.d.ts","sourceRoot":"","sources":["use-datepicker-format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAE3D,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACzB,MAAM,8BAA8B,CAAC;AAkEtC,QAAA,MAAM,mBAAmB
|
|
1
|
+
{"version":3,"file":"use-datepicker-format.d.ts","sourceRoot":"","sources":["use-datepicker-format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAE3D,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACzB,MAAM,8BAA8B,CAAC;AAkEtC,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;0BAqMe,gBAAgB;sCAiEJ,MAAM;iCA7BX,MAAM,SAAS,MAAM;yCAtLrD,OAAO,GAAG,KAAK,GAAG,SAAS,QAAQ,MAAM,UAAU,IAAI,KAAK,OAAO;uCAWvE,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC,QAC3B,MAAM;kBACG,MAAM,SAAS;mBAAS,GAAG;;+BA4CrC,IAAI,YAAY,OAAO,GAAG,KAAK,GAAG,SAAS,gBAAgB,MAAM;;CAsN3E,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
|
@@ -115,13 +115,17 @@ var useDatePickerFormat = function useDatePickerFormat(props) {
|
|
|
115
115
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
116
116
|
targetArr = _useState8[0],
|
|
117
117
|
setTargetArr = _useState8[1];
|
|
118
|
-
var _useState9 = (0, _react.useState)(
|
|
118
|
+
var _useState9 = (0, _react.useState)([]),
|
|
119
|
+
_useState10 = _slicedToArray(_useState9, 2),
|
|
120
|
+
inputArr = _useState10[0],
|
|
121
|
+
setInputArr = _useState10[1];
|
|
122
|
+
var _useState11 = (0, _react.useState)({
|
|
119
123
|
type: undefined,
|
|
120
124
|
quick: undefined
|
|
121
125
|
}),
|
|
122
|
-
|
|
123
|
-
params =
|
|
124
|
-
setParams =
|
|
126
|
+
_useState12 = _slicedToArray(_useState11, 2),
|
|
127
|
+
params = _useState12[0],
|
|
128
|
+
setParams = _useState12[1];
|
|
125
129
|
var _useRef = (0, _react.useRef)({
|
|
126
130
|
cachedDateArr: convertValueToDateArr(value, format, options),
|
|
127
131
|
modeDisabledStart: {},
|
|
@@ -129,14 +133,14 @@ var useDatePickerFormat = function useDatePickerFormat(props) {
|
|
|
129
133
|
}),
|
|
130
134
|
context = _useRef.current;
|
|
131
135
|
// 当edit 为true时,stateDate 否则返回 props date
|
|
132
|
-
var
|
|
133
|
-
_useState12 = _slicedToArray(_useState11, 2),
|
|
134
|
-
stateDate = _useState12[0],
|
|
135
|
-
setStateDate = _useState12[1];
|
|
136
|
-
var _useState13 = (0, _react.useState)(false),
|
|
136
|
+
var _useState13 = (0, _react.useState)(context.cachedDateArr),
|
|
137
137
|
_useState14 = _slicedToArray(_useState13, 2),
|
|
138
|
-
|
|
139
|
-
|
|
138
|
+
stateDate = _useState14[0],
|
|
139
|
+
setStateDate = _useState14[1];
|
|
140
|
+
var _useState15 = (0, _react.useState)(false),
|
|
141
|
+
_useState16 = _slicedToArray(_useState15, 2),
|
|
142
|
+
edit = _useState16[0],
|
|
143
|
+
setEdit = _useState16[1];
|
|
140
144
|
|
|
141
145
|
// 收集所有的disabled
|
|
142
146
|
var registerModeDisabled = (0, _usePersistFn.usePersistFn)(function (position, mode, fn) {
|
|
@@ -154,6 +158,39 @@ var useDatePickerFormat = function useDatePickerFormat(props) {
|
|
|
154
158
|
quick: quick
|
|
155
159
|
});
|
|
156
160
|
});
|
|
161
|
+
var isDisabledInputDate = function isDisabledInputDate(rangeData) {
|
|
162
|
+
var start = rangeData[0];
|
|
163
|
+
var end = rangeData[1];
|
|
164
|
+
var isDis = false;
|
|
165
|
+
if (disabled && typeof disabled === 'function') {
|
|
166
|
+
if (start && disabled(start)) isDis = true;
|
|
167
|
+
if (end && disabled(end)) isDis = true;
|
|
168
|
+
if (isDis) return isDis;
|
|
169
|
+
}
|
|
170
|
+
if (start && end) {
|
|
171
|
+
if (_util.default.compareAsc(start, end) > 0) {
|
|
172
|
+
isDis = true;
|
|
173
|
+
return isDis;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
if (range && typeof range === 'number') {
|
|
177
|
+
if (start) {
|
|
178
|
+
if (!end) return isDis;
|
|
179
|
+
var rangeDate = _util.default.addSeconds(start, range, options);
|
|
180
|
+
if (_util.default.compareAsc(end, rangeDate) > 0) {
|
|
181
|
+
isDis = true;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
if (end) {
|
|
185
|
+
if (!start) return isDis;
|
|
186
|
+
var _rangeDate = _util.default.addSeconds(end, -range, options);
|
|
187
|
+
if (_util.default.compareAsc(start, _rangeDate) < 0) {
|
|
188
|
+
isDis = true;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
return isDis;
|
|
193
|
+
};
|
|
157
194
|
var isDisabledDate = (0, _usePersistFn.usePersistFn)(function (date, position, triggerType) {
|
|
158
195
|
var mode = getTypeMode(type);
|
|
159
196
|
var disabled = position === 'end' ? context.modeDisabledEnd[mode] : context.modeDisabledStart[mode];
|
|
@@ -210,6 +247,19 @@ var useDatePickerFormat = function useDatePickerFormat(props) {
|
|
|
210
247
|
var finishEdit = function finishEdit() {
|
|
211
248
|
setEdit(false);
|
|
212
249
|
var formatValue = getFormatValueArr(stateDate);
|
|
250
|
+
if (inputArr.length && inputArr.some(function (i) {
|
|
251
|
+
return i;
|
|
252
|
+
})) {
|
|
253
|
+
var inputValue = stateDate.map(function (item, index) {
|
|
254
|
+
if (inputArr[index]) return inputArr[index];
|
|
255
|
+
return item;
|
|
256
|
+
});
|
|
257
|
+
var isDis = isDisabledInputDate(inputValue);
|
|
258
|
+
if (!isDis) {
|
|
259
|
+
formatValue = getFormatValueArr(inputValue);
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
// const formatValue = getFormatValueArr(stateDate);
|
|
213
263
|
var v = range ? formatValue : formatValue[0];
|
|
214
264
|
if (range && (!stateDate[0] || !stateDate[1]) && !props.allowSingle) {
|
|
215
265
|
return;
|
|
@@ -224,6 +274,7 @@ var useDatePickerFormat = function useDatePickerFormat(props) {
|
|
|
224
274
|
if (!clearable) return;
|
|
225
275
|
e === null || e === void 0 || e.stopPropagation();
|
|
226
276
|
if (disabledStatus === 'all') return;
|
|
277
|
+
setInputArr([]);
|
|
227
278
|
if (edit) {
|
|
228
279
|
if (range) {
|
|
229
280
|
if (disabledStatus === 'left') setStateDate(function (arr) {
|
|
@@ -259,6 +310,12 @@ var useDatePickerFormat = function useDatePickerFormat(props) {
|
|
|
259
310
|
var isValid = _util.default.isValidString(str, format);
|
|
260
311
|
if (!isValid) return;
|
|
261
312
|
var date = _util.default.toDateWithFormat(str, format, undefined, options);
|
|
313
|
+
setInputArr(function (prev) {
|
|
314
|
+
var arr = _toConsumableArray(prev);
|
|
315
|
+
arr[index] = date;
|
|
316
|
+
return arr;
|
|
317
|
+
});
|
|
318
|
+
|
|
262
319
|
// 此次校验是由输入触发的
|
|
263
320
|
if (date && isDisabledDate(date, index === 1 ? 'end' : 'start', 'input')) {
|
|
264
321
|
return;
|
|
@@ -274,6 +331,17 @@ var useDatePickerFormat = function useDatePickerFormat(props) {
|
|
|
274
331
|
return arr;
|
|
275
332
|
});
|
|
276
333
|
});
|
|
334
|
+
var handleClearInputArr = (0, _usePersistFn.usePersistFn)(function (index) {
|
|
335
|
+
if (index !== undefined) {
|
|
336
|
+
setInputArr(function (prev) {
|
|
337
|
+
var arr = _toConsumableArray(prev);
|
|
338
|
+
arr[index] = undefined;
|
|
339
|
+
return arr;
|
|
340
|
+
});
|
|
341
|
+
return;
|
|
342
|
+
}
|
|
343
|
+
setInputArr([]);
|
|
344
|
+
});
|
|
277
345
|
(0, _react.useEffect)(function () {
|
|
278
346
|
handlePropsValueChange(value);
|
|
279
347
|
}, [value]);
|
|
@@ -304,12 +372,14 @@ var useDatePickerFormat = function useDatePickerFormat(props) {
|
|
|
304
372
|
setCurrentArr: setCurrentArr,
|
|
305
373
|
setTargetArr: setTargetArr,
|
|
306
374
|
handleClear: handleClear,
|
|
375
|
+
handleClearInputArr: handleClearInputArr,
|
|
307
376
|
handleInputChange: handleInputChange,
|
|
308
377
|
registerModeDisabled: registerModeDisabled,
|
|
309
378
|
setCurrentArrWithParams: setCurrentArrWithParams,
|
|
310
379
|
isDisabledDate: isDisabledDate
|
|
311
380
|
});
|
|
312
381
|
return {
|
|
382
|
+
inputArr: inputArr,
|
|
313
383
|
resultArr: resultArr,
|
|
314
384
|
targetResultArr: targetResultArr,
|
|
315
385
|
dateArr: dateArr,
|
|
@@ -8,6 +8,7 @@ export interface useRangeProps {
|
|
|
8
8
|
min: DateType;
|
|
9
9
|
max: DateType;
|
|
10
10
|
dateArr: Array<Date | undefined>;
|
|
11
|
+
inputArr: (Date | undefined)[];
|
|
11
12
|
setTargetArr: Dispatch<SetStateAction<Array<Date | undefined>>>;
|
|
12
13
|
setDateArr: Dispatch<SetStateAction<Array<Date | undefined>>>;
|
|
13
14
|
currentArr: Date[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-datepicker-range.type.d.ts","sourceRoot":"","sources":["use-datepicker-range.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAElE,KAAK,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;AACnD,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACpC,GAAG,EAAE,QAAQ,CAAC;IACd,GAAG,EAAE,QAAQ,CAAC;IACd,OAAO,EAAE,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;IACjC,YAAY,EAAE,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAChE,UAAU,EAAE,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC9D,UAAU,EAAE,IAAI,EAAE,CAAC;IACnB,aAAa,EAAE,CAAC,GAAG,EAAE,cAAc,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IACrE,IAAI,EAAE,kBAAkB,EAAE,CAAC;IAC3B,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;IACxD,QAAQ,EACJ,OAAO,GACP,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,KAAK,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,IAAI,KAAK,OAAO,CAAC,GACvF,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,GAC1C,SAAS,CAAC;IACd,OAAO,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB"}
|
|
1
|
+
{"version":3,"file":"use-datepicker-range.type.d.ts","sourceRoot":"","sources":["use-datepicker-range.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAElE,KAAK,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;AACnD,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACpC,GAAG,EAAE,QAAQ,CAAC;IACd,GAAG,EAAE,QAAQ,CAAC;IACd,OAAO,EAAE,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;IACjC,QAAQ,EAAE,CAAC,IAAI,GAAG,SAAS,CAAC,EAAE,CAAC;IAC/B,YAAY,EAAE,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAChE,UAAU,EAAE,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC9D,UAAU,EAAE,IAAI,EAAE,CAAC;IACnB,aAAa,EAAE,CAAC,GAAG,EAAE,cAAc,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IACrE,IAAI,EAAE,kBAAkB,EAAE,CAAC;IAC3B,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;IACxD,QAAQ,EACJ,OAAO,GACP,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,KAAK,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,IAAI,KAAK,OAAO,CAAC,GACvF,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,GAC1C,SAAS,CAAC;IACd,OAAO,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB"}
|
|
@@ -2,5 +2,5 @@ import React from 'react';
|
|
|
2
2
|
import { FormRef } from './use-form-context.type';
|
|
3
3
|
export declare const FormContext: React.Context<any>;
|
|
4
4
|
export declare function useFormRef<V>(): [FormRef<V>, ((formRef: FormRef<V>) => void)];
|
|
5
|
-
export declare function
|
|
5
|
+
export declare function useFormInstance<V>(): FormRef<V>;
|
|
6
6
|
//# sourceMappingURL=use-form-context.d.ts.map
|
|
@@ -4,8 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.FormContext = void 0;
|
|
7
|
+
exports.useFormInstance = useFormInstance;
|
|
7
8
|
exports.useFormRef = useFormRef;
|
|
8
|
-
exports.useFromInstance = useFromInstance;
|
|
9
9
|
var _react = _interopRequireDefault(require("react"));
|
|
10
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
11
|
var FormContext = exports.FormContext = /*#__PURE__*/_react.default.createContext({});
|
|
@@ -16,7 +16,7 @@ function useFormRef() {
|
|
|
16
16
|
};
|
|
17
17
|
return [ref.current, setFormRef];
|
|
18
18
|
}
|
|
19
|
-
function
|
|
19
|
+
function useFormInstance() {
|
|
20
20
|
var formCtx = _react.default.useContext(FormContext);
|
|
21
21
|
return formCtx;
|
|
22
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-table-tree.d.ts","sourceRoot":"","sources":["use-table-tree.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"use-table-tree.d.ts","sourceRoot":"","sources":["use-table-tree.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AA+CvD,MAAM,WAAW,iBACf,SAAQ,IAAI,CACV,kBAAkB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,EACvC,cAAc,GAAG,gBAAgB,GAAG,uBAAuB,GAAG,QAAQ,CACvE;IACD,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,IAAI,EAAE,GAAG,EAAE,CAAC;CACb;AAED,eAAO,MAAM,YAAY,UAAW,iBAAiB;;;;;;+BA6BR,GAAG,SAAS,MAAM;iCAjBhB,GAAG,SAAS,MAAM;;CA4DhE,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -9,6 +9,7 @@ var _usePersistFn = require("../../common/use-persist-fn");
|
|
|
9
9
|
var _render = require("../../utils/render");
|
|
10
10
|
var _is = require("../../utils/is");
|
|
11
11
|
var _useLatestObj = require("../../common/use-latest-obj");
|
|
12
|
+
var _ = require("../..");
|
|
12
13
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
13
14
|
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."); }
|
|
14
15
|
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; } }
|
|
@@ -119,6 +120,9 @@ var useTableTree = exports.useTableTree = function useTableTree(props) {
|
|
|
119
120
|
var newExpandKeys = expandKeysState.filter(function (key) {
|
|
120
121
|
return !unmatchExpandKeys.includes(key);
|
|
121
122
|
});
|
|
123
|
+
if (_.util.shallowEqual(newExpandKeys, expandKeysState)) {
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
122
126
|
setExpandKeysState(newExpandKeys);
|
|
123
127
|
}, [unmatchExpandKeys, expandKeysState]);
|
|
124
128
|
return {
|
|
@@ -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;
|
|
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;CAC3C;AACD,QAAA,MAAM,eAAe,UAAW,oBAAoB;;;;;;;oBA+LpC,MAAM;mBACP,MAAM;WACd,MAAM;gBACD,MAAM;kBACJ,OAAO;;0BA3FuB,MAAM,UAAU,MAAM;0BAxBtB,MAAM,QAAQ,MAAM;2BAuJnB,MAAM,aAAa,MAAM,IAAI;qCAoBnB,MAAM;mCAWR,MAAM,GAAG,MAAM;CAyFnE,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -34,7 +34,6 @@ function getMaxRowSpanLength(input) {
|
|
|
34
34
|
}
|
|
35
35
|
return Math.max.apply(Math, _toConsumableArray(Array.from(map.values())));
|
|
36
36
|
}
|
|
37
|
-
var MAX_ROW_SPAN = 200;
|
|
38
37
|
var useTableVirtual = function useTableVirtual(props) {
|
|
39
38
|
var _useState = (0, _react.useState)(0),
|
|
40
39
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -67,7 +66,7 @@ var useTableVirtual = function useTableVirtual(props) {
|
|
|
67
66
|
var totalLength = props.data.length;
|
|
68
67
|
var _loop = function _loop(i) {
|
|
69
68
|
var startIndex = i;
|
|
70
|
-
var
|
|
69
|
+
var _rowSpanInfo = rowSpanColumns.map(function (col) {
|
|
71
70
|
var rowSpan = col.rowSpan;
|
|
72
71
|
function getRowSpanCount(index, _count) {
|
|
73
72
|
var count = _count;
|
|
@@ -83,7 +82,7 @@ var useTableVirtual = function useTableVirtual(props) {
|
|
|
83
82
|
var count = getRowSpanCount(i, 1);
|
|
84
83
|
return [startIndex, startIndex + count - 1];
|
|
85
84
|
});
|
|
86
|
-
_rowSpanInfos.push(
|
|
85
|
+
_rowSpanInfos.push(_rowSpanInfo);
|
|
87
86
|
};
|
|
88
87
|
for (var i = 0; i < totalLength; i++) {
|
|
89
88
|
_loop(i);
|
|
@@ -109,10 +108,12 @@ var useTableVirtual = function useTableVirtual(props) {
|
|
|
109
108
|
});
|
|
110
109
|
return Math.min.apply(Math, _toConsumableArray(startIndexs));
|
|
111
110
|
});
|
|
112
|
-
|
|
113
|
-
|
|
111
|
+
|
|
112
|
+
// 根据data计算出实际需要的最大合并行数
|
|
113
|
+
var _maxRowSpan = getMaxRowSpanLength(resultArr);
|
|
114
|
+
return _maxRowSpan > 1 ? {
|
|
114
115
|
rowSpanIndexArray: resultArr,
|
|
115
|
-
maxRowSpan:
|
|
116
|
+
maxRowSpan: _maxRowSpan
|
|
116
117
|
} : null;
|
|
117
118
|
}, [props.data, props.columns]);
|
|
118
119
|
var _useRef = (0, _react.useRef)({
|
|
@@ -169,32 +170,32 @@ var useTableVirtual = function useTableVirtual(props) {
|
|
|
169
170
|
}
|
|
170
171
|
});
|
|
171
172
|
var updateIndexAndTopFromTop = function updateIndexAndTopFromTop(scrollTop) {
|
|
173
|
+
var _props$scrollRef$curr;
|
|
172
174
|
if (props.disabled) return;
|
|
173
175
|
var sum = 0;
|
|
174
176
|
var currentIndex = 0;
|
|
175
177
|
var top = 0;
|
|
176
178
|
var maxIndex = Math.max(props.data.length - rowsInView, 0);
|
|
177
|
-
var
|
|
178
|
-
if (rowSpanInfo) {
|
|
179
|
-
maxRowSpanLenth = Math.min(rowSpanInfo.rowSpanIndexArray.length,
|
|
180
|
-
// 根据data计算出实际需要的最大合并行数(rowSpanInfo.maxRowSpan),当rowSpanInfo.maxRowSpan大于外部传的rowsInView时,使用rowSpanInfo.maxRowSpan
|
|
181
|
-
Math.max(rowSpanInfo.maxRowSpan, props.rowsInView > MAX_ROW_SPAN ? props.rowsInView : props.rowsInView || MAX_ROW_SPAN));
|
|
182
|
-
}
|
|
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);
|
|
183
180
|
for (var i = 0; i <= maxIndex; i++) {
|
|
184
181
|
context.rowSpanRows = 0;
|
|
185
|
-
|
|
186
|
-
|
|
182
|
+
var currentRowHeight = context.cachedHeight[i] || props.rowHeight;
|
|
183
|
+
sum += currentRowHeight;
|
|
184
|
+
var rowSpanHeight = currentRowHeight;
|
|
187
185
|
if (rowSpanInfo) {
|
|
188
186
|
var siblingsIndexs = [];
|
|
189
|
-
for (var k = i; k <
|
|
187
|
+
for (var k = i; k < rowSpanInfo.maxRowSpan + i; k++) {
|
|
190
188
|
if (rowSpanInfo.rowSpanIndexArray[k] <= i && k > i) {
|
|
191
189
|
siblingsIndexs.push(k);
|
|
192
190
|
}
|
|
193
191
|
}
|
|
194
192
|
for (var j = 0; j < siblingsIndexs.length; j++) {
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
193
|
+
// 在当前滚动容器滚动一屏上方销毁tr,不在可见区域内销毁重建,避免引起可见的单元格(合并的)内容闪烁
|
|
194
|
+
if (rowSpanHeight < scrollContainerHeight) {
|
|
195
|
+
var index = siblingsIndexs[j];
|
|
196
|
+
context.rowSpanRows += 1;
|
|
197
|
+
rowSpanHeight += context.cachedHeight[index] || props.rowHeight;
|
|
198
|
+
}
|
|
198
199
|
}
|
|
199
200
|
}
|
|
200
201
|
if (scrollTop < sum + rowSpanHeight || i === maxIndex) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-date.d.ts","sourceRoot":"","sources":["use-date.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAU/C,QAAA,MAAM,OAAO,UAAW,YAAY;;;;;;;;;;wBAmBX,IAAI;2BAkDD,IAAI;
|
|
1
|
+
{"version":3,"file":"use-date.d.ts","sourceRoot":"","sources":["use-date.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAU/C,QAAA,MAAM,OAAO,UAAW,YAAY;;;;;;;;;;wBAmBX,IAAI;2BAkDD,IAAI;yBAkBN,IAAI;0BAkDH,IAAI;+BAxEC,IAAI;+BAiDJ,IAAI,YAAY,OAAO;0BAnB5B,IAAI;2BAIH,IAAI;;gCAIC,IAAI;;CAiFpC,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -11,6 +11,7 @@ import dateUtil from "./util";
|
|
|
11
11
|
import usePersistFn from "../../common/use-persist-fn";
|
|
12
12
|
var useDate = function useDate(props) {
|
|
13
13
|
var options = props.options,
|
|
14
|
+
position = props.position,
|
|
14
15
|
type = props.type;
|
|
15
16
|
var _useState = useState(props.defaultCurrent || new Date()),
|
|
16
17
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -103,6 +104,7 @@ var useDate = function useDate(props) {
|
|
|
103
104
|
var _props$onChange;
|
|
104
105
|
if (isDisabled(date)) return;
|
|
105
106
|
var newDate = getDateWithTime(date);
|
|
107
|
+
props === null || props === void 0 || props.onClearInputArr(position === 'start' ? 0 : 1);
|
|
106
108
|
(_props$onChange = props.onChange) === null || _props$onChange === void 0 || _props$onChange.call(props, newDate, noClose);
|
|
107
109
|
setCurrent(newDate);
|
|
108
110
|
};
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
export interface UseDateProps {
|
|
2
2
|
current?: Date;
|
|
3
|
+
range?: boolean | number;
|
|
3
4
|
rangeDate?: Array<Date | undefined>;
|
|
4
5
|
defaultCurrent?: Date;
|
|
5
6
|
onCurrentChange?: (date: Date) => void;
|
|
7
|
+
onClearInputArr: (index?: number | undefined) => void;
|
|
6
8
|
value?: Date;
|
|
7
9
|
onChange?: (date: Date, noClose?: boolean) => void;
|
|
8
10
|
min?: Date;
|
|
9
11
|
max?: Date;
|
|
12
|
+
position?: 'start' | 'end';
|
|
10
13
|
type?: 'date' | 'week' | 'datetime';
|
|
11
14
|
format?: string;
|
|
12
15
|
disabled?: boolean | ((date: Date) => boolean);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-date.type.d.ts","sourceRoot":"","sources":["use-date.type.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,SAAS,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;IACpC,cAAc,CAAC,EAAE,IAAI,CAAC;IACtB,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACvC,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACnD,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC;IAC/C,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACrC,OAAO,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH"}
|
|
1
|
+
{"version":3,"file":"use-date.type.d.ts","sourceRoot":"","sources":["use-date.type.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;IACpC,cAAc,CAAC,EAAE,IAAI,CAAC;IACtB,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACvC,eAAe,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IACtD,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACnD,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,QAAQ,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC;IAC/C,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACrC,OAAO,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { DatePickerModeType, DatePickerValueType, UseDatePickerFormatProps } from './use-datepicker-format.type';
|
|
3
3
|
declare const useDatePickerFormat: <Value extends DatePickerValueType>(props: UseDatePickerFormatProps<Value>) => {
|
|
4
|
+
inputArr: (Date | undefined)[];
|
|
4
5
|
resultArr: (string | undefined)[];
|
|
5
6
|
targetResultArr: (string | undefined)[];
|
|
6
7
|
dateArr: (Date | undefined)[];
|
|
@@ -17,6 +18,7 @@ declare const useDatePickerFormat: <Value extends DatePickerValueType>(props: Us
|
|
|
17
18
|
setCurrentArr: React.Dispatch<React.SetStateAction<Date[]>>;
|
|
18
19
|
setTargetArr: React.Dispatch<React.SetStateAction<(Date | undefined)[]>>;
|
|
19
20
|
handleClear: (e?: React.MouseEvent) => void;
|
|
21
|
+
handleClearInputArr: (index?: number) => void;
|
|
20
22
|
handleInputChange: (str: string, index: number) => void;
|
|
21
23
|
registerModeDisabled: (position: 'start' | 'end' | undefined, mode: string, fn: (d: Date) => boolean) => void;
|
|
22
24
|
setCurrentArrWithParams: (arg: React.SetStateAction<Date[]>, type: string, quick: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-datepicker-format.d.ts","sourceRoot":"","sources":["use-datepicker-format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAE3D,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACzB,MAAM,8BAA8B,CAAC;AAkEtC,QAAA,MAAM,mBAAmB
|
|
1
|
+
{"version":3,"file":"use-datepicker-format.d.ts","sourceRoot":"","sources":["use-datepicker-format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAE3D,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACzB,MAAM,8BAA8B,CAAC;AAkEtC,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;0BAqMe,gBAAgB;sCAiEJ,MAAM;iCA7BX,MAAM,SAAS,MAAM;yCAtLrD,OAAO,GAAG,KAAK,GAAG,SAAS,QAAQ,MAAM,UAAU,IAAI,KAAK,OAAO;uCAWvE,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC,QAC3B,MAAM;kBACG,MAAM,SAAS;mBAAS,GAAG;;+BA4CrC,IAAI,YAAY,OAAO,GAAG,KAAK,GAAG,SAAS,gBAAgB,MAAM;;CAsN3E,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
|
@@ -108,13 +108,17 @@ var useDatePickerFormat = function useDatePickerFormat(props) {
|
|
|
108
108
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
109
109
|
targetArr = _useState8[0],
|
|
110
110
|
setTargetArr = _useState8[1];
|
|
111
|
-
var _useState9 = useState(
|
|
111
|
+
var _useState9 = useState([]),
|
|
112
|
+
_useState10 = _slicedToArray(_useState9, 2),
|
|
113
|
+
inputArr = _useState10[0],
|
|
114
|
+
setInputArr = _useState10[1];
|
|
115
|
+
var _useState11 = useState({
|
|
112
116
|
type: undefined,
|
|
113
117
|
quick: undefined
|
|
114
118
|
}),
|
|
115
|
-
|
|
116
|
-
params =
|
|
117
|
-
setParams =
|
|
119
|
+
_useState12 = _slicedToArray(_useState11, 2),
|
|
120
|
+
params = _useState12[0],
|
|
121
|
+
setParams = _useState12[1];
|
|
118
122
|
var _useRef = useRef({
|
|
119
123
|
cachedDateArr: convertValueToDateArr(value, format, options),
|
|
120
124
|
modeDisabledStart: {},
|
|
@@ -122,14 +126,14 @@ var useDatePickerFormat = function useDatePickerFormat(props) {
|
|
|
122
126
|
}),
|
|
123
127
|
context = _useRef.current;
|
|
124
128
|
// 当edit 为true时,stateDate 否则返回 props date
|
|
125
|
-
var
|
|
126
|
-
_useState12 = _slicedToArray(_useState11, 2),
|
|
127
|
-
stateDate = _useState12[0],
|
|
128
|
-
setStateDate = _useState12[1];
|
|
129
|
-
var _useState13 = useState(false),
|
|
129
|
+
var _useState13 = useState(context.cachedDateArr),
|
|
130
130
|
_useState14 = _slicedToArray(_useState13, 2),
|
|
131
|
-
|
|
132
|
-
|
|
131
|
+
stateDate = _useState14[0],
|
|
132
|
+
setStateDate = _useState14[1];
|
|
133
|
+
var _useState15 = useState(false),
|
|
134
|
+
_useState16 = _slicedToArray(_useState15, 2),
|
|
135
|
+
edit = _useState16[0],
|
|
136
|
+
setEdit = _useState16[1];
|
|
133
137
|
|
|
134
138
|
// 收集所有的disabled
|
|
135
139
|
var registerModeDisabled = usePersistFn(function (position, mode, fn) {
|
|
@@ -147,6 +151,39 @@ var useDatePickerFormat = function useDatePickerFormat(props) {
|
|
|
147
151
|
quick: quick
|
|
148
152
|
});
|
|
149
153
|
});
|
|
154
|
+
var isDisabledInputDate = function isDisabledInputDate(rangeData) {
|
|
155
|
+
var start = rangeData[0];
|
|
156
|
+
var end = rangeData[1];
|
|
157
|
+
var isDis = false;
|
|
158
|
+
if (disabled && typeof disabled === 'function') {
|
|
159
|
+
if (start && disabled(start)) isDis = true;
|
|
160
|
+
if (end && disabled(end)) isDis = true;
|
|
161
|
+
if (isDis) return isDis;
|
|
162
|
+
}
|
|
163
|
+
if (start && end) {
|
|
164
|
+
if (dateUtil.compareAsc(start, end) > 0) {
|
|
165
|
+
isDis = true;
|
|
166
|
+
return isDis;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
if (range && typeof range === 'number') {
|
|
170
|
+
if (start) {
|
|
171
|
+
if (!end) return isDis;
|
|
172
|
+
var rangeDate = dateUtil.addSeconds(start, range, options);
|
|
173
|
+
if (dateUtil.compareAsc(end, rangeDate) > 0) {
|
|
174
|
+
isDis = true;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
if (end) {
|
|
178
|
+
if (!start) return isDis;
|
|
179
|
+
var _rangeDate = dateUtil.addSeconds(end, -range, options);
|
|
180
|
+
if (dateUtil.compareAsc(start, _rangeDate) < 0) {
|
|
181
|
+
isDis = true;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
return isDis;
|
|
186
|
+
};
|
|
150
187
|
var isDisabledDate = usePersistFn(function (date, position, triggerType) {
|
|
151
188
|
var mode = getTypeMode(type);
|
|
152
189
|
var disabled = position === 'end' ? context.modeDisabledEnd[mode] : context.modeDisabledStart[mode];
|
|
@@ -203,6 +240,19 @@ var useDatePickerFormat = function useDatePickerFormat(props) {
|
|
|
203
240
|
var finishEdit = function finishEdit() {
|
|
204
241
|
setEdit(false);
|
|
205
242
|
var formatValue = getFormatValueArr(stateDate);
|
|
243
|
+
if (inputArr.length && inputArr.some(function (i) {
|
|
244
|
+
return i;
|
|
245
|
+
})) {
|
|
246
|
+
var inputValue = stateDate.map(function (item, index) {
|
|
247
|
+
if (inputArr[index]) return inputArr[index];
|
|
248
|
+
return item;
|
|
249
|
+
});
|
|
250
|
+
var isDis = isDisabledInputDate(inputValue);
|
|
251
|
+
if (!isDis) {
|
|
252
|
+
formatValue = getFormatValueArr(inputValue);
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
// const formatValue = getFormatValueArr(stateDate);
|
|
206
256
|
var v = range ? formatValue : formatValue[0];
|
|
207
257
|
if (range && (!stateDate[0] || !stateDate[1]) && !props.allowSingle) {
|
|
208
258
|
return;
|
|
@@ -217,6 +267,7 @@ var useDatePickerFormat = function useDatePickerFormat(props) {
|
|
|
217
267
|
if (!clearable) return;
|
|
218
268
|
e === null || e === void 0 || e.stopPropagation();
|
|
219
269
|
if (disabledStatus === 'all') return;
|
|
270
|
+
setInputArr([]);
|
|
220
271
|
if (edit) {
|
|
221
272
|
if (range) {
|
|
222
273
|
if (disabledStatus === 'left') setStateDate(function (arr) {
|
|
@@ -252,6 +303,12 @@ var useDatePickerFormat = function useDatePickerFormat(props) {
|
|
|
252
303
|
var isValid = dateUtil.isValidString(str, format);
|
|
253
304
|
if (!isValid) return;
|
|
254
305
|
var date = dateUtil.toDateWithFormat(str, format, undefined, options);
|
|
306
|
+
setInputArr(function (prev) {
|
|
307
|
+
var arr = _toConsumableArray(prev);
|
|
308
|
+
arr[index] = date;
|
|
309
|
+
return arr;
|
|
310
|
+
});
|
|
311
|
+
|
|
255
312
|
// 此次校验是由输入触发的
|
|
256
313
|
if (date && isDisabledDate(date, index === 1 ? 'end' : 'start', 'input')) {
|
|
257
314
|
return;
|
|
@@ -267,6 +324,17 @@ var useDatePickerFormat = function useDatePickerFormat(props) {
|
|
|
267
324
|
return arr;
|
|
268
325
|
});
|
|
269
326
|
});
|
|
327
|
+
var handleClearInputArr = usePersistFn(function (index) {
|
|
328
|
+
if (index !== undefined) {
|
|
329
|
+
setInputArr(function (prev) {
|
|
330
|
+
var arr = _toConsumableArray(prev);
|
|
331
|
+
arr[index] = undefined;
|
|
332
|
+
return arr;
|
|
333
|
+
});
|
|
334
|
+
return;
|
|
335
|
+
}
|
|
336
|
+
setInputArr([]);
|
|
337
|
+
});
|
|
270
338
|
useEffect(function () {
|
|
271
339
|
handlePropsValueChange(value);
|
|
272
340
|
}, [value]);
|
|
@@ -297,12 +365,14 @@ var useDatePickerFormat = function useDatePickerFormat(props) {
|
|
|
297
365
|
setCurrentArr: setCurrentArr,
|
|
298
366
|
setTargetArr: setTargetArr,
|
|
299
367
|
handleClear: handleClear,
|
|
368
|
+
handleClearInputArr: handleClearInputArr,
|
|
300
369
|
handleInputChange: handleInputChange,
|
|
301
370
|
registerModeDisabled: registerModeDisabled,
|
|
302
371
|
setCurrentArrWithParams: setCurrentArrWithParams,
|
|
303
372
|
isDisabledDate: isDisabledDate
|
|
304
373
|
});
|
|
305
374
|
return {
|
|
375
|
+
inputArr: inputArr,
|
|
306
376
|
resultArr: resultArr,
|
|
307
377
|
targetResultArr: targetResultArr,
|
|
308
378
|
dateArr: dateArr,
|
|
@@ -8,6 +8,7 @@ export interface useRangeProps {
|
|
|
8
8
|
min: DateType;
|
|
9
9
|
max: DateType;
|
|
10
10
|
dateArr: Array<Date | undefined>;
|
|
11
|
+
inputArr: (Date | undefined)[];
|
|
11
12
|
setTargetArr: Dispatch<SetStateAction<Array<Date | undefined>>>;
|
|
12
13
|
setDateArr: Dispatch<SetStateAction<Array<Date | undefined>>>;
|
|
13
14
|
currentArr: Date[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-datepicker-range.type.d.ts","sourceRoot":"","sources":["use-datepicker-range.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAElE,KAAK,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;AACnD,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACpC,GAAG,EAAE,QAAQ,CAAC;IACd,GAAG,EAAE,QAAQ,CAAC;IACd,OAAO,EAAE,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;IACjC,YAAY,EAAE,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAChE,UAAU,EAAE,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC9D,UAAU,EAAE,IAAI,EAAE,CAAC;IACnB,aAAa,EAAE,CAAC,GAAG,EAAE,cAAc,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IACrE,IAAI,EAAE,kBAAkB,EAAE,CAAC;IAC3B,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;IACxD,QAAQ,EACJ,OAAO,GACP,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,KAAK,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,IAAI,KAAK,OAAO,CAAC,GACvF,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,GAC1C,SAAS,CAAC;IACd,OAAO,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB"}
|
|
1
|
+
{"version":3,"file":"use-datepicker-range.type.d.ts","sourceRoot":"","sources":["use-datepicker-range.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAElE,KAAK,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;AACnD,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACpC,GAAG,EAAE,QAAQ,CAAC;IACd,GAAG,EAAE,QAAQ,CAAC;IACd,OAAO,EAAE,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;IACjC,QAAQ,EAAE,CAAC,IAAI,GAAG,SAAS,CAAC,EAAE,CAAC;IAC/B,YAAY,EAAE,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAChE,UAAU,EAAE,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC9D,UAAU,EAAE,IAAI,EAAE,CAAC;IACnB,aAAa,EAAE,CAAC,GAAG,EAAE,cAAc,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IACrE,IAAI,EAAE,kBAAkB,EAAE,CAAC;IAC3B,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;IACxD,QAAQ,EACJ,OAAO,GACP,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,KAAK,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,IAAI,KAAK,OAAO,CAAC,GACvF,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,GAC1C,SAAS,CAAC;IACd,OAAO,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB"}
|
|
@@ -2,5 +2,5 @@ import React from 'react';
|
|
|
2
2
|
import { FormRef } from './use-form-context.type';
|
|
3
3
|
export declare const FormContext: React.Context<any>;
|
|
4
4
|
export declare function useFormRef<V>(): [FormRef<V>, ((formRef: FormRef<V>) => void)];
|
|
5
|
-
export declare function
|
|
5
|
+
export declare function useFormInstance<V>(): FormRef<V>;
|
|
6
6
|
//# sourceMappingURL=use-form-context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-table-tree.d.ts","sourceRoot":"","sources":["use-table-tree.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"use-table-tree.d.ts","sourceRoot":"","sources":["use-table-tree.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AA+CvD,MAAM,WAAW,iBACf,SAAQ,IAAI,CACV,kBAAkB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,EACvC,cAAc,GAAG,gBAAgB,GAAG,uBAAuB,GAAG,QAAQ,CACvE;IACD,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,IAAI,EAAE,GAAG,EAAE,CAAC;CACb;AAED,eAAO,MAAM,YAAY,UAAW,iBAAiB;;;;;;+BA6BR,GAAG,SAAS,MAAM;iCAjBhB,GAAG,SAAS,MAAM;;CA4DhE,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -13,6 +13,7 @@ import { usePersistFn } from "../../common/use-persist-fn";
|
|
|
13
13
|
import { getKey } from "../../utils/render";
|
|
14
14
|
import { isObject } from "../../utils/is";
|
|
15
15
|
import { useLatestObj } from "../../common/use-latest-obj";
|
|
16
|
+
import { util } from "../..";
|
|
16
17
|
var getExpandData = function getExpandData(_treeData, keys, keygen, treeColumnsName) {
|
|
17
18
|
var expandKeys = keys;
|
|
18
19
|
var expandSet = new Set(expandKeys);
|
|
@@ -113,6 +114,9 @@ export var useTableTree = function useTableTree(props) {
|
|
|
113
114
|
var newExpandKeys = expandKeysState.filter(function (key) {
|
|
114
115
|
return !unmatchExpandKeys.includes(key);
|
|
115
116
|
});
|
|
117
|
+
if (util.shallowEqual(newExpandKeys, expandKeysState)) {
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
116
120
|
setExpandKeysState(newExpandKeys);
|
|
117
121
|
}, [unmatchExpandKeys, expandKeysState]);
|
|
118
122
|
return {
|
|
@@ -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;
|
|
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;CAC3C;AACD,QAAA,MAAM,eAAe,UAAW,oBAAoB;;;;;;;oBA+LpC,MAAM;mBACP,MAAM;WACd,MAAM;gBACD,MAAM;kBACJ,OAAO;;0BA3FuB,MAAM,UAAU,MAAM;0BAxBtB,MAAM,QAAQ,MAAM;2BAuJnB,MAAM,aAAa,MAAM,IAAI;qCAoBnB,MAAM;mCAWR,MAAM,GAAG,MAAM;CAyFnE,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -28,7 +28,6 @@ function getMaxRowSpanLength(input) {
|
|
|
28
28
|
}
|
|
29
29
|
return Math.max.apply(Math, _toConsumableArray(Array.from(map.values())));
|
|
30
30
|
}
|
|
31
|
-
var MAX_ROW_SPAN = 200;
|
|
32
31
|
var useTableVirtual = function useTableVirtual(props) {
|
|
33
32
|
var _useState = useState(0),
|
|
34
33
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -61,7 +60,7 @@ var useTableVirtual = function useTableVirtual(props) {
|
|
|
61
60
|
var totalLength = props.data.length;
|
|
62
61
|
var _loop = function _loop(i) {
|
|
63
62
|
var startIndex = i;
|
|
64
|
-
var
|
|
63
|
+
var _rowSpanInfo = rowSpanColumns.map(function (col) {
|
|
65
64
|
var rowSpan = col.rowSpan;
|
|
66
65
|
function getRowSpanCount(index, _count) {
|
|
67
66
|
var count = _count;
|
|
@@ -77,7 +76,7 @@ var useTableVirtual = function useTableVirtual(props) {
|
|
|
77
76
|
var count = getRowSpanCount(i, 1);
|
|
78
77
|
return [startIndex, startIndex + count - 1];
|
|
79
78
|
});
|
|
80
|
-
_rowSpanInfos.push(
|
|
79
|
+
_rowSpanInfos.push(_rowSpanInfo);
|
|
81
80
|
};
|
|
82
81
|
for (var i = 0; i < totalLength; i++) {
|
|
83
82
|
_loop(i);
|
|
@@ -103,10 +102,12 @@ var useTableVirtual = function useTableVirtual(props) {
|
|
|
103
102
|
});
|
|
104
103
|
return Math.min.apply(Math, _toConsumableArray(startIndexs));
|
|
105
104
|
});
|
|
106
|
-
|
|
107
|
-
|
|
105
|
+
|
|
106
|
+
// 根据data计算出实际需要的最大合并行数
|
|
107
|
+
var _maxRowSpan = getMaxRowSpanLength(resultArr);
|
|
108
|
+
return _maxRowSpan > 1 ? {
|
|
108
109
|
rowSpanIndexArray: resultArr,
|
|
109
|
-
maxRowSpan:
|
|
110
|
+
maxRowSpan: _maxRowSpan
|
|
110
111
|
} : null;
|
|
111
112
|
}, [props.data, props.columns]);
|
|
112
113
|
var _useRef = useRef({
|
|
@@ -163,32 +164,32 @@ var useTableVirtual = function useTableVirtual(props) {
|
|
|
163
164
|
}
|
|
164
165
|
});
|
|
165
166
|
var updateIndexAndTopFromTop = function updateIndexAndTopFromTop(scrollTop) {
|
|
167
|
+
var _props$scrollRef$curr;
|
|
166
168
|
if (props.disabled) return;
|
|
167
169
|
var sum = 0;
|
|
168
170
|
var currentIndex = 0;
|
|
169
171
|
var top = 0;
|
|
170
172
|
var maxIndex = Math.max(props.data.length - rowsInView, 0);
|
|
171
|
-
var
|
|
172
|
-
if (rowSpanInfo) {
|
|
173
|
-
maxRowSpanLenth = Math.min(rowSpanInfo.rowSpanIndexArray.length,
|
|
174
|
-
// 根据data计算出实际需要的最大合并行数(rowSpanInfo.maxRowSpan),当rowSpanInfo.maxRowSpan大于外部传的rowsInView时,使用rowSpanInfo.maxRowSpan
|
|
175
|
-
Math.max(rowSpanInfo.maxRowSpan, props.rowsInView > MAX_ROW_SPAN ? props.rowsInView : props.rowsInView || MAX_ROW_SPAN));
|
|
176
|
-
}
|
|
173
|
+
var scrollContainerHeight = Math.max(((_props$scrollRef$curr = props.scrollRef.current) === null || _props$scrollRef$curr === void 0 ? void 0 : _props$scrollRef$curr.clientHeight) || 0, 200);
|
|
177
174
|
for (var i = 0; i <= maxIndex; i++) {
|
|
178
175
|
context.rowSpanRows = 0;
|
|
179
|
-
|
|
180
|
-
|
|
176
|
+
var currentRowHeight = context.cachedHeight[i] || props.rowHeight;
|
|
177
|
+
sum += currentRowHeight;
|
|
178
|
+
var rowSpanHeight = currentRowHeight;
|
|
181
179
|
if (rowSpanInfo) {
|
|
182
180
|
var siblingsIndexs = [];
|
|
183
|
-
for (var k = i; k <
|
|
181
|
+
for (var k = i; k < rowSpanInfo.maxRowSpan + i; k++) {
|
|
184
182
|
if (rowSpanInfo.rowSpanIndexArray[k] <= i && k > i) {
|
|
185
183
|
siblingsIndexs.push(k);
|
|
186
184
|
}
|
|
187
185
|
}
|
|
188
186
|
for (var j = 0; j < siblingsIndexs.length; j++) {
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
187
|
+
// 在当前滚动容器滚动一屏上方销毁tr,不在可见区域内销毁重建,避免引起可见的单元格(合并的)内容闪烁
|
|
188
|
+
if (rowSpanHeight < scrollContainerHeight) {
|
|
189
|
+
var index = siblingsIndexs[j];
|
|
190
|
+
context.rowSpanRows += 1;
|
|
191
|
+
rowSpanHeight += context.cachedHeight[index] || props.rowHeight;
|
|
192
|
+
}
|
|
192
193
|
}
|
|
193
194
|
}
|
|
194
195
|
if (scrollTop < sum + rowSpanHeight || i === maxIndex) {
|