@sheinx/hooks 3.6.0-beta.2 → 3.6.0-beta.4
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.d.ts.map +1 -1
- package/cjs/components/use-cascader/use-cascader.d.ts.map +1 -1
- package/cjs/components/use-cascader/use-cascader.type.d.ts +2 -1
- package/cjs/components/use-cascader/use-cascader.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 +46 -8
- package/cjs/components/use-form/use-form.type.d.ts +3 -1
- package/cjs/components/use-form/use-form.type.d.ts.map +1 -1
- package/cjs/components/use-input/use-input-format.d.ts.map +1 -1
- package/cjs/components/use-input/use-input-format.js +12 -4
- package/cjs/components/use-table/use-table-sort.d.ts +5 -0
- package/cjs/components/use-table/use-table-sort.d.ts.map +1 -1
- package/cjs/components/use-table/use-table-sort.js +5 -1
- package/cjs/components/use-table/use-table-tree.d.ts +13 -0
- package/cjs/components/use-table/use-table-tree.d.ts.map +1 -1
- package/cjs/components/use-table/use-table-tree.js +68 -1
- package/cjs/components/use-table/use-table-virtual.js +3 -3
- package/cjs/components/use-tree/index.d.ts +2 -1
- package/cjs/components/use-tree/index.d.ts.map +1 -1
- package/cjs/components/use-tree/index.js +7 -0
- package/cjs/components/use-tree/use-tree-node.d.ts.map +1 -1
- package/cjs/components/use-tree/use-tree-node.js +1 -5
- package/cjs/components/use-tree/use-tree-node.type.d.ts +18 -0
- package/cjs/components/use-tree/use-tree-node.type.d.ts.map +1 -1
- package/cjs/components/use-tree/use-tree-virtual-node.d.ts +13 -0
- package/cjs/components/use-tree/use-tree-virtual-node.d.ts.map +1 -0
- package/cjs/components/use-tree/use-tree-virtual-node.js +92 -0
- package/cjs/components/use-tree/use-tree.d.ts.map +1 -1
- package/cjs/components/use-tree/use-tree.js +179 -7
- package/cjs/components/use-tree/use-tree.type.d.ts +31 -1
- package/cjs/components/use-tree/use-tree.type.d.ts.map +1 -1
- package/cjs/utils/is.d.ts +2 -0
- package/cjs/utils/is.d.ts.map +1 -1
- package/cjs/utils/is.js +5 -2
- package/cjs/utils/object.d.ts +12 -0
- package/cjs/utils/object.d.ts.map +1 -1
- package/cjs/utils/object.js +34 -1
- package/cjs/utils/warning.js +5 -5
- package/esm/common/use-filter/use-filter.d.ts.map +1 -1
- package/esm/components/use-cascader/use-cascader.d.ts.map +1 -1
- package/esm/components/use-cascader/use-cascader.type.d.ts +2 -1
- package/esm/components/use-cascader/use-cascader.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 +47 -9
- package/esm/components/use-form/use-form.type.d.ts +3 -1
- package/esm/components/use-form/use-form.type.d.ts.map +1 -1
- package/esm/components/use-input/use-input-format.d.ts.map +1 -1
- package/esm/components/use-input/use-input-format.js +12 -4
- package/esm/components/use-table/use-table-sort.d.ts +5 -0
- package/esm/components/use-table/use-table-sort.d.ts.map +1 -1
- package/esm/components/use-table/use-table-sort.js +5 -1
- package/esm/components/use-table/use-table-tree.d.ts +13 -0
- package/esm/components/use-table/use-table-tree.d.ts.map +1 -1
- package/esm/components/use-table/use-table-tree.js +67 -0
- package/esm/components/use-table/use-table-virtual.js +3 -3
- package/esm/components/use-tree/index.d.ts +2 -1
- package/esm/components/use-tree/index.d.ts.map +1 -1
- package/esm/components/use-tree/index.js +2 -1
- package/esm/components/use-tree/use-tree-node.d.ts.map +1 -1
- package/esm/components/use-tree/use-tree-node.js +1 -5
- package/esm/components/use-tree/use-tree-node.type.d.ts +18 -0
- package/esm/components/use-tree/use-tree-node.type.d.ts.map +1 -1
- package/esm/components/use-tree/use-tree-virtual-node.d.ts +13 -0
- package/esm/components/use-tree/use-tree-virtual-node.d.ts.map +1 -0
- package/esm/components/use-tree/use-tree-virtual-node.js +85 -0
- package/esm/components/use-tree/use-tree.d.ts.map +1 -1
- package/esm/components/use-tree/use-tree.js +181 -9
- package/esm/components/use-tree/use-tree.type.d.ts +31 -1
- package/esm/components/use-tree/use-tree.type.d.ts.map +1 -1
- package/esm/utils/is.d.ts +2 -0
- package/esm/utils/is.d.ts.map +1 -1
- package/esm/utils/is.js +4 -1
- package/esm/utils/object.d.ts +12 -0
- package/esm/utils/object.d.ts.map +1 -1
- package/esm/utils/object.js +34 -1
- package/esm/utils/warning.js +5 -5
- package/package.json +1 -1
|
@@ -16,7 +16,7 @@ import { insertValue, spliceValue } from "../../utils/flat";
|
|
|
16
16
|
import { usePrevious } from "../../common/use-default-value";
|
|
17
17
|
var globalKey = '__global__&&@@';
|
|
18
18
|
import { current, produce } from "../../utils/immer";
|
|
19
|
-
import { deepGet, deepRemove, deepSet, docScroll, extractEventHandlers, isArray, isObject, shallowEqual, wrapFormError, deepClone, getAllKeyPaths, devUseWarning, getFieldId, getClosestScrollContainer } from "../../utils";
|
|
19
|
+
import { deepGet, deepRemove, deepSet, docScroll, extractEventHandlers, isArray, isObject, shallowEqual, wrapFormError, deepClone, getAllKeyPaths, getCompleteFieldKeys, devUseWarning, getFieldId, getClosestScrollContainer } from "../../utils";
|
|
20
20
|
var emptyObj = {};
|
|
21
21
|
var useForm = function useForm(props) {
|
|
22
22
|
var _props$defaultValue = props.defaultValue,
|
|
@@ -48,6 +48,7 @@ var useForm = function useForm(props) {
|
|
|
48
48
|
var _React$useRef = React.useRef({
|
|
49
49
|
defaultValues: {},
|
|
50
50
|
validateMap: {},
|
|
51
|
+
ignoreValidateFields: [],
|
|
51
52
|
updateMap: {},
|
|
52
53
|
flowMap: {},
|
|
53
54
|
removeArr: new Set(),
|
|
@@ -80,10 +81,21 @@ var useForm = function useForm(props) {
|
|
|
80
81
|
} else {
|
|
81
82
|
var names = isArray(name) ? name : [name];
|
|
82
83
|
names.forEach(function (key) {
|
|
83
|
-
var _context$
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
84
|
+
var _context$flowMap$key;
|
|
85
|
+
// 外部直接设置user.name这种格式的,但是又没有显性的声明user.name绑定的表单元素;
|
|
86
|
+
// 这里需要手动触发,否则会导致Input输入过程中光标跳到末尾的异常
|
|
87
|
+
if (!context.updateMap[key]) {
|
|
88
|
+
var _context$updateMap$pa;
|
|
89
|
+
var parentKey = key.split('.')[0];
|
|
90
|
+
(_context$updateMap$pa = context.updateMap[parentKey]) === null || _context$updateMap$pa === void 0 || _context$updateMap$pa.forEach(function (update) {
|
|
91
|
+
update(context.value, context.errors, context.serverErrors);
|
|
92
|
+
});
|
|
93
|
+
} else {
|
|
94
|
+
var _context$updateMap$ke2;
|
|
95
|
+
(_context$updateMap$ke2 = context.updateMap[key]) === null || _context$updateMap$ke2 === void 0 || _context$updateMap$ke2.forEach(function (update) {
|
|
96
|
+
update(context.value, context.errors, context.serverErrors);
|
|
97
|
+
});
|
|
98
|
+
}
|
|
87
99
|
(_context$flowMap$key = context.flowMap[key]) === null || _context$flowMap$key === void 0 || _context$flowMap$key.forEach(function (update) {
|
|
88
100
|
update();
|
|
89
101
|
});
|
|
@@ -140,11 +152,28 @@ var useForm = function useForm(props) {
|
|
|
140
152
|
var validateFields = usePersistFn(function (fields) {
|
|
141
153
|
var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
142
154
|
return new Promise(function (resolve, reject) {
|
|
143
|
-
var finalFields =
|
|
144
|
-
|
|
145
|
-
|
|
155
|
+
var finalFields = Object.keys(context.validateMap);
|
|
156
|
+
if (fields) {
|
|
157
|
+
if (config.ignoreChildren || config.ignoreBind) {
|
|
158
|
+
// 旧行为:仅校验当前字段
|
|
159
|
+
finalFields = (isArray(fields) ? fields : [fields]).filter(function (key) {
|
|
160
|
+
return context.validateMap[key];
|
|
161
|
+
});
|
|
162
|
+
} else {
|
|
163
|
+
// 新行为:校验当前字段及其所有子字段
|
|
164
|
+
// 假设进去的是['user'],那么最终的finalFields是['user', 'user.name', 'user.age']
|
|
165
|
+
// 假设进去的是['users'],那么最终的finalFields是['users', 'users[0].name', 'users[0].age', 'users[1].name', 'users[1].age']
|
|
166
|
+
finalFields = getCompleteFieldKeys(fields, finalFields);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
if (context.ignoreValidateFields.length > 0) {
|
|
170
|
+
finalFields = finalFields.filter(function (key) {
|
|
171
|
+
return !context.ignoreValidateFields.includes(key);
|
|
172
|
+
});
|
|
173
|
+
}
|
|
146
174
|
var validates = finalFields.map(function (key) {
|
|
147
175
|
var validateField = context.validateMap[key];
|
|
176
|
+
if (!validateField) return [];
|
|
148
177
|
return Array.from(validateField).map(function (validate) {
|
|
149
178
|
return validate(key, deepGet(context.value, key), context.value, config);
|
|
150
179
|
});
|
|
@@ -377,7 +406,7 @@ var useForm = function useForm(props) {
|
|
|
377
406
|
}, 10);
|
|
378
407
|
};
|
|
379
408
|
};
|
|
380
|
-
var validateFieldset = function validateFieldset(name) {
|
|
409
|
+
var validateFieldset = function validateFieldset(name, config) {
|
|
381
410
|
var na = "".concat(name, "[");
|
|
382
411
|
var no = "".concat(name, ".");
|
|
383
412
|
var fields = [];
|
|
@@ -386,6 +415,15 @@ var useForm = function useForm(props) {
|
|
|
386
415
|
fields.push(key);
|
|
387
416
|
}
|
|
388
417
|
});
|
|
418
|
+
|
|
419
|
+
// 用户声明了跳过校验子字段
|
|
420
|
+
if (config !== null && config !== void 0 && config.ignoreChildren) {
|
|
421
|
+
var parentName = name.split('[')[0];
|
|
422
|
+
context.ignoreValidateFields = getCompleteFieldKeys(parentName, Array.from(context.names));
|
|
423
|
+
setTimeout(function () {
|
|
424
|
+
context.ignoreValidateFields = [];
|
|
425
|
+
});
|
|
426
|
+
}
|
|
389
427
|
validateFields(fields).catch(function () {});
|
|
390
428
|
};
|
|
391
429
|
var getDefaultValue = function getDefaultValue() {
|
|
@@ -14,6 +14,7 @@ export interface ValidationError<T> {
|
|
|
14
14
|
export type ValidateFnConfig = {
|
|
15
15
|
type?: 'forcePass' | 'withValue';
|
|
16
16
|
ignoreBind?: boolean;
|
|
17
|
+
ignoreChildren?: boolean;
|
|
17
18
|
};
|
|
18
19
|
export type ValidateFn = (name: string, value: any, formData: ObjectType, config?: ValidateFnConfig) => Promise<true | FormError>;
|
|
19
20
|
export type UpdateFn = (formValue: ObjectType, errors: ObjectType<Error | undefined>, serverErrors: ObjectType<Error | undefined>) => void;
|
|
@@ -112,7 +113,7 @@ export interface FormFunc<T = any> {
|
|
|
112
113
|
getErrors: () => ObjectType<Error | undefined>;
|
|
113
114
|
clearValidate: (names?: string[]) => void;
|
|
114
115
|
validateFields: (fields?: string | string[], config?: ValidateFnConfig) => Promise<Partial<T>>;
|
|
115
|
-
validateFieldset: (name: string) => void;
|
|
116
|
+
validateFieldset: (name: string, config?: ValidateFnConfig) => void;
|
|
116
117
|
insertError: (name: string, index: number, error?: Error) => void;
|
|
117
118
|
spliceError: (name: string, index: number) => void;
|
|
118
119
|
}
|
|
@@ -204,6 +205,7 @@ export type FormContext = {
|
|
|
204
205
|
serverErrors: ObjectType<Error | undefined>;
|
|
205
206
|
unmounted: boolean;
|
|
206
207
|
removeLock: boolean;
|
|
208
|
+
ignoreValidateFields: string[];
|
|
207
209
|
};
|
|
208
210
|
export type UseFormSlotOwnProps = {
|
|
209
211
|
onSubmit: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-form.type.d.ts","sourceRoot":"","sources":["use-form.type.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAE/C,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,MAAM,EAAE,CAAC,CAAC;IACV,WAAW,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,EAAE,CAAC;CACL;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,CAAC,EAAE,WAAW,GAAG,WAAW,CAAC;IACjC,UAAU,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"use-form.type.d.ts","sourceRoot":"","sources":["use-form.type.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAE/C,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,MAAM,EAAE,CAAC,CAAC;IACV,WAAW,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,EAAE,CAAC;CACL;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,CAAC,EAAE,WAAW,GAAG,WAAW,CAAC;IACjC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,CACvB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,GAAG,EACV,QAAQ,EAAE,UAAU,EACpB,MAAM,CAAC,EAAE,gBAAgB,KACtB,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,CAAA;AAE9B,MAAM,MAAM,QAAQ,GAAG,CACrB,SAAS,EAAE,UAAU,EACrB,MAAM,EAAE,UAAU,CAAC,KAAK,GAAG,SAAS,CAAC,EACrC,YAAY,EAAE,UAAU,CAAC,KAAK,GAAG,SAAS,CAAC,KACxC,IAAI,CAAA;AAET,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE;QACL,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAC,UAAU,EAAE,MAAM,CAAC,EAAC,QAAQ,KAAM,IAAI,CAAC;QAC5F,IAAI,EAAE,CACJ,CAAC,EAAE,MAAM,EACT,EAAE,EAAE,GAAG,EACP,QAAQ,EAAE,UAAU,EACpB,MAAM,EAAE,QAAQ,KACb,IAAI,CAAC;QACV,YAAY,EAAE,CAAC,SAAS,EACtB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,YAAY,CAAC,SAAS,CAAC,KAC/B,YAAY,CAAC,SAAS,CAAC,CAAC;QAC7B,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;QACjE,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;KACpE,CAAC;IACF,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AACD,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,gBAAgB,CAAC;IAC7B,SAAS,EAAE,oBAAoB,CAAC;IAChC,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;IACtC;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAC;IACjD;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC,SAAS,CAAA;CAClC;AACD,MAAM,WAAW,gBAAiB,SAAQ,eAAe;IACvD;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;IAErC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,QAAQ,CAAC,CAAC,GAAG,GAAG;IAC/B,QAAQ,EAAE,CACR,IAAI,EAAE;QACJ,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,EACD,MAAM,CAAC,EAAE;QACP,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,KACE,IAAI,CAAC;IACV,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,GAAG,CAAC;IACjC,MAAM,EAAE,CAAC,YAAY,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,GAAG,SAAS,KAAK,IAAI,CAAC;IACvD,SAAS,EAAE,MAAM,UAAU,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC;IAC/C,aAAa,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC1C,cAAc,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE,gBAAgB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/F,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACpE,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;IAClE,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACpD;AAED,UAAU,cAAc,CAAC,CAAC;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;CACpD;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,CAAE,SAAQ,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC;IAC1E,KAAK,CAAC,EAAE,CAAC,CAAC;IACV,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC9B;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,CAAC;IACjB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC9B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACjC;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;OAIG;IACH,KAAK,CAAC,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,WAAW,GAAG,IAAI,CAAC;IACxC;;OAEG;IACH,KAAK,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;IACnC;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC;AAE/C,MAAM,MAAM,WAAW,GAAG;IACxB,aAAa,EAAE,UAAU,CAAC;IAC1B,WAAW,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAE5I,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAEvB,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;IACtC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,UAAU,GAAG,SAAS,CAAC;IAElC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IAEjB,SAAS,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,KAAK,GAAG,SAAS,CAAC,EAAE,YAAY,EAAE,UAAU,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;IAEhJ,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;IACrC,KAAK,EAAE,UAAU,CAAC;IAClB,MAAM,EAAE,UAAU,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC;IACtC,YAAY,EAAE,UAAU,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC;IAC5C,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,oBAAoB,EAAE,MAAM,EAAE,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,GAAG,CAAC;IACd,OAAO,EAAE,GAAG,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,UAAU,CACzE,mBAAmB,EACnB,MAAM,CACP,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-input-format.d.ts","sourceRoot":"","sources":["use-input-format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAM3D,QAAA,MAAM,cAAc,UAAW,gBAAgB;kBAsBP,MAAM,GAAG,SAAS;
|
|
1
|
+
{"version":3,"file":"use-input-format.d.ts","sourceRoot":"","sources":["use-input-format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAM3D,QAAA,MAAM,cAAc,UAAW,gBAAgB;kBAsBP,MAAM,GAAG,SAAS;gBAoCpB,gBAAgB;iBAgDd,gBAAgB;;;CAyBvD,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -21,7 +21,7 @@ var useInputFormat = function useInputFormat(props) {
|
|
|
21
21
|
autoFix = props.autoFix,
|
|
22
22
|
coin = props.coin,
|
|
23
23
|
cancelBlurChange = props.cancelBlurChange;
|
|
24
|
-
var _React$useState = React.useState(
|
|
24
|
+
var _React$useState = React.useState(coin),
|
|
25
25
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
26
26
|
showCoin = _React$useState2[0],
|
|
27
27
|
setShowCoin = _React$useState2[1];
|
|
@@ -48,6 +48,13 @@ var useInputFormat = function useInputFormat(props) {
|
|
|
48
48
|
var noNeg = numType === 'non-negative' || numType === 'positive';
|
|
49
49
|
var regExp = new RegExp("^(".concat(noNeg ? '' : '-', ")?(\\d").concat(regLength(integerLimit), ")(").concat(digits !== 0 ? "\\.\\d".concat(regLength(digits)) : '', ")?.*$"), 'g');
|
|
50
50
|
value = value.replace(regExp, '$1$2$3');
|
|
51
|
+
|
|
52
|
+
// 修正小数位数
|
|
53
|
+
var _value = v.split('.');
|
|
54
|
+
var __value = value.split('.');
|
|
55
|
+
if (_value[1] !== undefined && __value[1] === undefined && digits !== 0) {
|
|
56
|
+
value = "".concat(value, ".").concat(_value[1]);
|
|
57
|
+
}
|
|
51
58
|
}
|
|
52
59
|
onChange(value);
|
|
53
60
|
});
|
|
@@ -105,14 +112,15 @@ var useInputFormat = function useInputFormat(props) {
|
|
|
105
112
|
});
|
|
106
113
|
function getValue(str) {
|
|
107
114
|
if (type === 'number' && coin) {
|
|
108
|
-
|
|
109
|
-
|
|
115
|
+
var _str = str;
|
|
116
|
+
if (showCoin && _str) {
|
|
117
|
+
return "".concat(_str).replace(/\d+/, function (n) {
|
|
110
118
|
return n.replace(/(\d)(?=(\d{3})+$)/g, function ($1) {
|
|
111
119
|
return "".concat($1, ",");
|
|
112
120
|
});
|
|
113
121
|
});
|
|
114
122
|
}
|
|
115
|
-
return "".concat(
|
|
123
|
+
return "".concat(_str === 0 ? _str : _str || '').replace(/,/g, '');
|
|
116
124
|
}
|
|
117
125
|
return str;
|
|
118
126
|
}
|
|
@@ -15,6 +15,11 @@ declare const useTableSort: <Item = any>(props: UseTableSorterProps<Item>) => {
|
|
|
15
15
|
sortInfo: SortMap;
|
|
16
16
|
onSorterChange: (columnKey: KeygenResult, direction: 'desc' | 'asc' | null, manual: boolean | undefined, columnSorter: string | import("./use-table.type").TableColumnSorter | ((order: import("./use-table.type").TableColumnOrder) => void | ((prevRowData: Item, nextRowData: Item) => number)) | undefined) => void;
|
|
17
17
|
sortedData: Item[];
|
|
18
|
+
sortByColumn: (params: {
|
|
19
|
+
columnKey: KeygenResult;
|
|
20
|
+
direction: 'desc' | 'asc' | null;
|
|
21
|
+
columnSorter: string | import("./use-table.type").TableColumnSorter | ((order: import("./use-table.type").TableColumnOrder) => void | ((prevRowData: Item, nextRowData: Item) => number)) | undefined;
|
|
22
|
+
}) => void;
|
|
18
23
|
};
|
|
19
24
|
export default useTableSort;
|
|
20
25
|
//# sourceMappingURL=use-table-sort.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-table-sort.d.ts","sourceRoot":"","sources":["use-table-sort.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEtF,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,CAAC;IACtE,OAAO,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;CACpC;AACD,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,KAAK,MAAM,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC;IACvD,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,QAAQ,CAAC,CAAC;AACrD,QAAA,MAAM,YAAY;;gCAoCD,YAAY,aAIZ,MAAM,GAAG,KAAK,GAAG,IAAI
|
|
1
|
+
{"version":3,"file":"use-table-sort.d.ts","sourceRoot":"","sources":["use-table-sort.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEtF,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,CAAC;IACtE,OAAO,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;CACpC;AACD,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,KAAK,MAAM,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC;IACvD,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,QAAQ,CAAC,CAAC;AACrD,QAAA,MAAM,YAAY;;gCAoCD,YAAY,aAIZ,MAAM,GAAG,KAAK,GAAG,IAAI;;;mBA4EmB,YAAY;mBAAa,MAAM,GAAG,KAAK,GAAG,IAAI;;;CA6BtG,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -135,6 +135,9 @@ var useTableSort = function useTableSort(props) {
|
|
|
135
135
|
}
|
|
136
136
|
}
|
|
137
137
|
});
|
|
138
|
+
var sortByColumn = usePersistFn(function (params) {
|
|
139
|
+
onSorterChange(params.columnKey, params.direction, true, params.columnSorter);
|
|
140
|
+
});
|
|
138
141
|
useEffect(function () {
|
|
139
142
|
if (context.mounted) return;
|
|
140
143
|
var hasSingleDefaultOrder = false;
|
|
@@ -156,7 +159,8 @@ var useTableSort = function useTableSort(props) {
|
|
|
156
159
|
return {
|
|
157
160
|
sortInfo: sortInfo,
|
|
158
161
|
onSorterChange: onSorterChange,
|
|
159
|
-
sortedData: sortedData
|
|
162
|
+
sortedData: sortedData,
|
|
163
|
+
sortByColumn: sortByColumn
|
|
160
164
|
};
|
|
161
165
|
};
|
|
162
166
|
export default useTableSort;
|
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
import type { BaseTableProps } from './use-table.type';
|
|
2
2
|
import { OptionalToRequired } from '../../common/type';
|
|
3
|
+
type treeDataInfoType = {
|
|
4
|
+
id: string | number;
|
|
5
|
+
level: number;
|
|
6
|
+
data: any;
|
|
7
|
+
pid: null | string | number;
|
|
8
|
+
};
|
|
9
|
+
interface GetExpandDataVirtualResult {
|
|
10
|
+
treeData: any[];
|
|
11
|
+
treeExpandLevel: Map<any, number>;
|
|
12
|
+
unmatchExpandKeys: (string | number)[];
|
|
13
|
+
treeDataInfo: treeDataInfoType[];
|
|
14
|
+
}
|
|
15
|
+
export declare const getExpandVirtualData: (_treeData: any[], keys: (string | number)[], keygen: any, treeColumnsName?: string) => GetExpandDataVirtualResult;
|
|
3
16
|
export interface UseTableTreeProps extends Pick<OptionalToRequired<BaseTableProps<any>>, 'onTreeExpand' | 'treeExpandKeys' | 'defaultTreeExpandKeys' | 'keygen'> {
|
|
4
17
|
treeColumnsName: string | undefined;
|
|
5
18
|
data: any[];
|
|
@@ -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;AAIvD,KAAK,gBAAgB,GAAG;IACtB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,GAAG,CAAC;IACV,GAAG,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;CAC7B,CAAC;AAOF,UAAU,0BAA0B;IAClC,QAAQ,EAAE,GAAG,EAAE,CAAC;IAChB,eAAe,EAAE,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAClC,iBAAiB,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IACvC,YAAY,EAAE,gBAAgB,EAAE,CAAC;CAClC;AAwCD,eAAO,MAAM,oBAAoB,cACpB,GAAG,EAAE,QACV,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,UACjB,GAAG,oBACO,MAAM,KACvB,0BAyDF,CAAC;AAEF,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"}
|
|
@@ -54,6 +54,73 @@ var getExpandData = function getExpandData(_treeData, keys, keygen, treeColumnsN
|
|
|
54
54
|
unmatchExpandKeys: unmatchExpandKeys
|
|
55
55
|
};
|
|
56
56
|
};
|
|
57
|
+
export var getExpandVirtualData = function getExpandVirtualData(_treeData, keys, keygen, treeColumnsName) {
|
|
58
|
+
var expandKeys = keys;
|
|
59
|
+
var expandSet = new Set(expandKeys);
|
|
60
|
+
var unmatchExpandKeys = [];
|
|
61
|
+
var treeExpandLevel = new Map();
|
|
62
|
+
if (expandSet.size === 0 || !treeColumnsName) {
|
|
63
|
+
var _treeDataInfo = _treeData.map(function (item, index) {
|
|
64
|
+
return {
|
|
65
|
+
id: getKey(keygen, item, index),
|
|
66
|
+
level: 1,
|
|
67
|
+
data: item,
|
|
68
|
+
pid: null
|
|
69
|
+
};
|
|
70
|
+
});
|
|
71
|
+
return {
|
|
72
|
+
treeData: _treeData,
|
|
73
|
+
treeExpandLevel: treeExpandLevel,
|
|
74
|
+
unmatchExpandKeys: unmatchExpandKeys,
|
|
75
|
+
treeDataInfo: _treeDataInfo
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
var treeData = _toConsumableArray(_treeData || []);
|
|
79
|
+
var treeDataInfo = treeData.map(function (item) {
|
|
80
|
+
return {
|
|
81
|
+
id: getKey(keygen, item),
|
|
82
|
+
level: 1,
|
|
83
|
+
data: item,
|
|
84
|
+
pid: null
|
|
85
|
+
};
|
|
86
|
+
});
|
|
87
|
+
var _loop2 = function _loop2() {
|
|
88
|
+
if (expandSet.size === 0) return 1; // break
|
|
89
|
+
var item = treeData[i];
|
|
90
|
+
var key = getKey(keygen, item, i);
|
|
91
|
+
var parentLevel = treeExpandLevel.get(key) || 0;
|
|
92
|
+
var children = isObject(item) && item[treeColumnsName];
|
|
93
|
+
if (expandSet.has(key)) {
|
|
94
|
+
if (children && children.length > 0) {
|
|
95
|
+
var nodes = [];
|
|
96
|
+
children.forEach(function (child) {
|
|
97
|
+
var node = {
|
|
98
|
+
id: getKey(keygen, child),
|
|
99
|
+
level: parentLevel + 2,
|
|
100
|
+
data: child,
|
|
101
|
+
pid: key
|
|
102
|
+
};
|
|
103
|
+
nodes.push(node);
|
|
104
|
+
treeExpandLevel.set(getKey(keygen, child), parentLevel + 1);
|
|
105
|
+
});
|
|
106
|
+
treeData.splice.apply(treeData, [i + 1, 0].concat(_toConsumableArray(children)));
|
|
107
|
+
treeDataInfo.splice.apply(treeDataInfo, [i + 1, 0].concat(nodes));
|
|
108
|
+
expandSet.delete(key);
|
|
109
|
+
} else {
|
|
110
|
+
unmatchExpandKeys.push(key);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
for (var i = 0; i < treeData.length; i++) {
|
|
115
|
+
if (_loop2()) break;
|
|
116
|
+
}
|
|
117
|
+
return {
|
|
118
|
+
treeData: treeData,
|
|
119
|
+
treeExpandLevel: treeExpandLevel,
|
|
120
|
+
unmatchExpandKeys: unmatchExpandKeys,
|
|
121
|
+
treeDataInfo: treeDataInfo
|
|
122
|
+
};
|
|
123
|
+
};
|
|
57
124
|
export var useTableTree = function useTableTree(props) {
|
|
58
125
|
var _useState = useState(props.defaultTreeExpandKeys || []),
|
|
59
126
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -163,7 +163,7 @@ var useTableVirtual = function useTableVirtual(props) {
|
|
|
163
163
|
});
|
|
164
164
|
}
|
|
165
165
|
});
|
|
166
|
-
var updateIndexAndTopFromTop = function updateIndexAndTopFromTop(scrollTop) {
|
|
166
|
+
var updateIndexAndTopFromTop = function updateIndexAndTopFromTop(scrollTop, fromDrag) {
|
|
167
167
|
var _props$scrollRef$curr;
|
|
168
168
|
if (props.disabled) return;
|
|
169
169
|
var sum = 0;
|
|
@@ -203,7 +203,7 @@ var useTableVirtual = function useTableVirtual(props) {
|
|
|
203
203
|
setStartIndex(currentIndex);
|
|
204
204
|
|
|
205
205
|
// startIndex处于上方某个合并行的中间一行时,可能引起translate闪烁
|
|
206
|
-
if (startIndex < currentIndex) {
|
|
206
|
+
if (rowSpanInfo && !fromDrag && startIndex < currentIndex) {
|
|
207
207
|
context.autoAddRows = currentIndex - startIndex;
|
|
208
208
|
setTimeout(function () {
|
|
209
209
|
context.autoAddRows = 0;
|
|
@@ -263,7 +263,7 @@ var useTableVirtual = function useTableVirtual(props) {
|
|
|
263
263
|
// 拖动滚动条
|
|
264
264
|
if (fromDrag) {
|
|
265
265
|
var top = y * max;
|
|
266
|
-
updateIndexAndTopFromTop(top);
|
|
266
|
+
updateIndexAndTopFromTop(top, fromDrag);
|
|
267
267
|
if (context.rateTimer) clearTimeout(context.rateTimer);
|
|
268
268
|
context.rateTimer = setTimeout(function () {
|
|
269
269
|
updateRateScroll(y);
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { default, default as useTree } from './use-tree';
|
|
2
|
-
export type { BaseTreeProps, UpdateFunc, TreePathType, TreeModeType } from './use-tree.type';
|
|
2
|
+
export type { BaseTreeProps, UpdateFunc, TreePathType, TreeModeType, DisabledOption, FlatNodeType, } from './use-tree.type';
|
|
3
3
|
export { default as useTreeNode } from './use-tree-node';
|
|
4
|
+
export { default as useTreeVirtualNode } from './use-tree-virtual-node';
|
|
4
5
|
export type { BaseTreeNodeProps, UpdateType } from './use-tree-node.type';
|
|
5
6
|
//# 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,OAAO,EAAE,MAAM,YAAY,CAAC;AACzD,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,YAAY,CAAC;AACzD,YAAY,EACV,aAAa,EACb,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,YAAY,GACb,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACxE,YAAY,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-tree-node.d.ts","sourceRoot":"","sources":["use-tree-node.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGzD,QAAA,MAAM,WAAW;kBAMmB,MAAM,SAAS,OAAO;;;;;;;;
|
|
1
|
+
{"version":3,"file":"use-tree-node.d.ts","sourceRoot":"","sources":["use-tree-node.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGzD,QAAA,MAAM,WAAW;kBAMmB,MAAM,SAAS,OAAO;;;;;;;;CA+CzD,CAAC;AACF,eAAe,WAAW,CAAC"}
|
|
@@ -41,11 +41,7 @@ var useTreeNode = function useTreeNode(props) {
|
|
|
41
41
|
break;
|
|
42
42
|
}
|
|
43
43
|
});
|
|
44
|
-
var handleToggle = function handleToggle() {
|
|
45
|
-
// const newExpand = !expanded;
|
|
46
|
-
// setExpanded(newExpand);
|
|
47
|
-
// if (onToggle) onToggle(id, newExpand);
|
|
48
|
-
};
|
|
44
|
+
var handleToggle = function handleToggle() {};
|
|
49
45
|
var isLeaf = function isLeaf() {
|
|
50
46
|
var children = data[childrenKey];
|
|
51
47
|
if (children && children.length > 0) return false;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { KeygenResult } from '../../common/type';
|
|
3
|
+
import { TreeDatum } from './use-tree.type';
|
|
3
4
|
export type UpdateType = 'active' | 'expanded' | 'fetching';
|
|
4
5
|
export type UpdateFunc = (name: string, active: boolean) => void;
|
|
5
6
|
export interface NodeState {
|
|
@@ -12,8 +13,25 @@ export interface BaseTreeNodeProps<DataItem, Value> {
|
|
|
12
13
|
data: DataItem;
|
|
13
14
|
childrenKey: keyof DataItem;
|
|
14
15
|
element: React.RefObject<HTMLDivElement>;
|
|
16
|
+
dragImageStyle?: React.CSSProperties;
|
|
15
17
|
dragImageSelector: (data?: DataItem) => string | undefined;
|
|
18
|
+
bindNode: (id: KeygenResult, update: UpdateFunc, data: DataItem) => {
|
|
19
|
+
expanded: boolean;
|
|
20
|
+
active: boolean;
|
|
21
|
+
};
|
|
22
|
+
content: HTMLDivElement | null;
|
|
23
|
+
loader?: (key: KeygenResult, data: DataItem) => void;
|
|
24
|
+
onToggle?: (id: Value, expanded: boolean) => void;
|
|
25
|
+
onDrop?: (data: DataItem[], key: KeygenResult, targetKey: KeygenResult, position: number) => void;
|
|
26
|
+
}
|
|
27
|
+
export interface BaseTreeVirtualNodeProps<DataItem, Value> {
|
|
28
|
+
id: KeygenResult;
|
|
29
|
+
data: DataItem;
|
|
30
|
+
expanded?: boolean;
|
|
31
|
+
childrenKey: keyof DataItem;
|
|
32
|
+
element: React.RefObject<HTMLDivElement>;
|
|
16
33
|
dragImageStyle?: React.CSSProperties;
|
|
34
|
+
datum?: TreeDatum<DataItem>;
|
|
17
35
|
bindNode: (id: KeygenResult, update: UpdateFunc, data: DataItem) => {
|
|
18
36
|
expanded: boolean;
|
|
19
37
|
active: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-tree-node.type.d.ts","sourceRoot":"","sources":["use-tree-node.type.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"use-tree-node.type.d.ts","sourceRoot":"","sources":["use-tree-node.type.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,CAAC;AAE5D,MAAM,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;AAEjE,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB,CAAC,QAAQ,EAAE,KAAK;IAChD,EAAE,EAAE,YAAY,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC;IACf,WAAW,EAAE,MAAM,QAAQ,CAAC;IAC5B,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IACzC,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,iBAAiB,EAAE,CAAC,IAAI,CAAC,EAAE,QAAQ,KAAK,MAAM,GAAG,SAAS,CAAC;IAC3D,QAAQ,EAAE,CACR,EAAE,EAAE,YAAY,EAChB,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,QAAQ,KACX;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC;IAC5C,OAAO,EAAE,cAAc,GAAG,IAAI,CAAC;IAC/B,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACrD,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAClD,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACnG;AAED,MAAM,WAAW,wBAAwB,CAAC,QAAQ,EAAE,KAAK;IACvD,EAAE,EAAE,YAAY,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,MAAM,QAAQ,CAAC;IAC5B,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IACzC,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,KAAK,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC5B,QAAQ,EAAE,CACR,EAAE,EAAE,YAAY,EAChB,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,QAAQ,KACX;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC;IAC5C,OAAO,EAAE,cAAc,GAAG,IAAI,CAAC;IAC/B,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACrD,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAClD,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACnG"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { BaseTreeVirtualNodeProps } from './use-tree-node.type';
|
|
2
|
+
declare const useTreeVirtualNode: <DataItem, Value>(props: BaseTreeVirtualNodeProps<DataItem, Value>) => {
|
|
3
|
+
update: (key: string, value: boolean) => void;
|
|
4
|
+
active: boolean;
|
|
5
|
+
expanded: boolean;
|
|
6
|
+
fetching: boolean;
|
|
7
|
+
isLeaf: () => boolean;
|
|
8
|
+
setFetching: (v: boolean) => void;
|
|
9
|
+
setExpanded: (v: boolean) => void;
|
|
10
|
+
onToggle: () => void;
|
|
11
|
+
};
|
|
12
|
+
export default useTreeVirtualNode;
|
|
13
|
+
//# sourceMappingURL=use-tree-virtual-node.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-tree-virtual-node.d.ts","sourceRoot":"","sources":["use-tree-virtual-node.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAGhE,QAAA,MAAM,kBAAkB;kBAMY,MAAM,SAAS,OAAO;;;;;qBAoB1B,OAAO;qBASP,OAAO;;CAkCtC,CAAC;AACF,eAAe,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
2
|
+
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."); }
|
|
3
|
+
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); }
|
|
4
|
+
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; }
|
|
5
|
+
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; } }
|
|
6
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
7
|
+
import { useEffect, useState } from 'react';
|
|
8
|
+
import usePersistFn from "../../common/use-persist-fn";
|
|
9
|
+
var useTreeVirtualNode = function useTreeVirtualNode(props) {
|
|
10
|
+
var _datum$dataFlatStatus, _datum$dataFlatStatus2, _datum$dataFlatStatus3;
|
|
11
|
+
var id = props.id,
|
|
12
|
+
data = props.data,
|
|
13
|
+
childrenKey = props.childrenKey,
|
|
14
|
+
bindNode = props.bindNode,
|
|
15
|
+
loader = props.loader,
|
|
16
|
+
datum = props.datum;
|
|
17
|
+
var _useState = useState((datum === null || datum === void 0 || (_datum$dataFlatStatus = datum.dataFlatStatusMap.get(id)) === null || _datum$dataFlatStatus === void 0 ? void 0 : _datum$dataFlatStatus.active) || false),
|
|
18
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
19
|
+
active = _useState2[0],
|
|
20
|
+
setActive = _useState2[1];
|
|
21
|
+
var _useState3 = useState((datum === null || datum === void 0 || (_datum$dataFlatStatus2 = datum.dataFlatStatusMap.get(id)) === null || _datum$dataFlatStatus2 === void 0 ? void 0 : _datum$dataFlatStatus2.expanded) || false),
|
|
22
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
23
|
+
expanded = _useState4[0],
|
|
24
|
+
setExpanded = _useState4[1];
|
|
25
|
+
var _useState5 = useState((datum === null || datum === void 0 || (_datum$dataFlatStatus3 = datum.dataFlatStatusMap.get(id)) === null || _datum$dataFlatStatus3 === void 0 ? void 0 : _datum$dataFlatStatus3.fetching) || false),
|
|
26
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
27
|
+
fetching = _useState6[0],
|
|
28
|
+
setFetching = _useState6[1];
|
|
29
|
+
var update = usePersistFn(function (key, value) {
|
|
30
|
+
switch (key) {
|
|
31
|
+
case 'active':
|
|
32
|
+
if (value !== active) {
|
|
33
|
+
setActive(value);
|
|
34
|
+
}
|
|
35
|
+
break;
|
|
36
|
+
case 'expanded':
|
|
37
|
+
setExpanded(value);
|
|
38
|
+
break;
|
|
39
|
+
case 'fetching':
|
|
40
|
+
if (value !== fetching) {
|
|
41
|
+
setFetching(value);
|
|
42
|
+
}
|
|
43
|
+
break;
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
var handleToggle = function handleToggle() {};
|
|
47
|
+
var handleSetFetchind = function handleSetFetchind(v) {
|
|
48
|
+
datum === null || datum === void 0 || datum.dataFlatStatusMap.set(id, {
|
|
49
|
+
active: active,
|
|
50
|
+
expanded: expanded,
|
|
51
|
+
fetching: v
|
|
52
|
+
});
|
|
53
|
+
setFetching(v);
|
|
54
|
+
};
|
|
55
|
+
var handleSetExpanded = function handleSetExpanded(v) {
|
|
56
|
+
datum === null || datum === void 0 || datum.dataFlatStatusMap.set(id, {
|
|
57
|
+
active: active,
|
|
58
|
+
expanded: v,
|
|
59
|
+
fetching: fetching
|
|
60
|
+
});
|
|
61
|
+
setExpanded(v);
|
|
62
|
+
};
|
|
63
|
+
var isLeaf = function isLeaf() {
|
|
64
|
+
var children = data[childrenKey];
|
|
65
|
+
if (children && children.length > 0) return false;
|
|
66
|
+
if (Array.isArray(children) || children === null) return true;
|
|
67
|
+
if (fetching && !children) return false;
|
|
68
|
+
if (loader && !fetching) return false;
|
|
69
|
+
return true;
|
|
70
|
+
};
|
|
71
|
+
useEffect(function () {
|
|
72
|
+
bindNode(id, update, data);
|
|
73
|
+
}, []);
|
|
74
|
+
return {
|
|
75
|
+
update: update,
|
|
76
|
+
active: active,
|
|
77
|
+
expanded: expanded,
|
|
78
|
+
fetching: fetching,
|
|
79
|
+
isLeaf: isLeaf,
|
|
80
|
+
setFetching: handleSetFetchind,
|
|
81
|
+
setExpanded: handleSetExpanded,
|
|
82
|
+
onToggle: handleToggle
|
|
83
|
+
};
|
|
84
|
+
};
|
|
85
|
+
export default useTreeVirtualNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-tree.d.ts","sourceRoot":"","sources":["use-tree.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,aAAa,EAKb,SAAS,
|
|
1
|
+
{"version":3,"file":"use-tree.d.ts","sourceRoot":"","sources":["use-tree.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,aAAa,EAKb,SAAS,EAGV,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;;;;;CA8nBZ,CAAC;AAEF,eAAe,OAAO,CAAC"}
|