@sheinx/hooks 3.6.0-beta.1 → 3.6.0-beta.3
Sign up to get free protection for your applications and to get access to all the features.
- package/cjs/common/use-position-style/index.js +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 +45 -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-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-tree/use-tree.d.ts.map +1 -1
- package/cjs/components/use-tree/use-tree.js +12 -0
- package/cjs/components/use-treeselect/use-tiled.d.ts +1 -1
- package/cjs/components/use-treeselect/use-tiled.d.ts.map +1 -1
- package/cjs/components/use-treeselect/use-tiled.js +12 -18
- package/cjs/components/use-treeselect/use-tiled.type.d.ts +2 -0
- package/cjs/components/use-treeselect/use-tiled.type.d.ts.map +1 -1
- package/cjs/utils/object.d.ts +12 -0
- package/cjs/utils/object.d.ts.map +1 -1
- package/cjs/utils/object.js +29 -1
- package/cjs/utils/tree.d.ts +1 -1
- package/cjs/utils/tree.d.ts.map +1 -1
- package/cjs/utils/tree.js +3 -9
- package/esm/common/use-position-style/index.js +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 +46 -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-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-tree/use-tree.d.ts.map +1 -1
- package/esm/components/use-tree/use-tree.js +12 -0
- package/esm/components/use-treeselect/use-tiled.d.ts +1 -1
- package/esm/components/use-treeselect/use-tiled.d.ts.map +1 -1
- package/esm/components/use-treeselect/use-tiled.js +10 -16
- package/esm/components/use-treeselect/use-tiled.type.d.ts +2 -0
- package/esm/components/use-treeselect/use-tiled.type.d.ts.map +1 -1
- package/esm/utils/object.d.ts +12 -0
- package/esm/utils/object.d.ts.map +1 -1
- package/esm/utils/object.js +29 -1
- package/esm/utils/tree.d.ts +1 -1
- package/esm/utils/tree.d.ts.map +1 -1
- package/esm/utils/tree.js +3 -9
- package/package.json +1 -1
@@ -262,7 +262,7 @@ var usePositionStyle = exports.usePositionStyle = function usePositionStyle(conf
|
|
262
262
|
style: hideStyle
|
263
263
|
};
|
264
264
|
var rect = context.parentRect;
|
265
|
-
if (scrollElRef !== null && scrollElRef !== void 0 && scrollElRef.current && (_scrollElRef$current = scrollElRef.current) !== null && _scrollElRef$current !== void 0 && _scrollElRef$current.contains(parentElRef.current)) {
|
265
|
+
if (!show && scrollElRef !== null && scrollElRef !== void 0 && scrollElRef.current && (_scrollElRef$current = scrollElRef.current) !== null && _scrollElRef$current !== void 0 && _scrollElRef$current.contains(parentElRef.current)) {
|
266
266
|
var _scrollElRef$current2;
|
267
267
|
var visibleRect = ((_scrollElRef$current2 = scrollElRef.current) === null || _scrollElRef$current2 === void 0 ? void 0 : _scrollElRef$current2.getBoundingClientRect()) || {};
|
268
268
|
if (rect.bottom < visibleRect.top || rect.top > visibleRect.bottom || rect.right < visibleRect.left || rect.left > visibleRect.right) {
|
@@ -21,7 +21,7 @@ declare const useForm: <T extends ObjectType>(props: UseFormProps<T>) => {
|
|
21
21
|
getErrors: () => ObjectType<Error | undefined>;
|
22
22
|
clearValidate: (names?: string[]) => void;
|
23
23
|
validateFields: (fields?: string | string[], config?: ValidateFnConfig) => Promise<T>;
|
24
|
-
validateFieldset: (name: string) => void;
|
24
|
+
validateFieldset: (name: string, config?: ValidateFnConfig) => void;
|
25
25
|
insertError: (name: string, index: number, error?: Error) => void;
|
26
26
|
spliceError: (name: string, index: number) => void;
|
27
27
|
scrollToField: (name: string, scrollIntoViewOptions?: ScrollIntoViewOptions) => void;
|
@@ -41,7 +41,7 @@ declare const useForm: <T extends ObjectType>(props: UseFormProps<T>) => {
|
|
41
41
|
getErrors: () => ObjectType<Error | undefined>;
|
42
42
|
clearValidate: (names?: string[]) => void;
|
43
43
|
validateFields: (fields?: string | string[], config?: ValidateFnConfig) => Promise<T>;
|
44
|
-
validateFieldset: (name: string) => void;
|
44
|
+
validateFieldset: (name: string, config?: ValidateFnConfig) => void;
|
45
45
|
insertError: (name: string, index: number, error?: Error) => void;
|
46
46
|
spliceError: (name: string, index: number) => void;
|
47
47
|
scrollToField: (name: string, scrollIntoViewOptions?: ScrollIntoViewOptions) => void;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-form.d.ts","sourceRoot":"","sources":["use-form.ts"],"names":[],"mappings":";
|
1
|
+
{"version":3,"file":"use-form.d.ts","sourceRoot":"","sources":["use-form.ts"],"names":[],"mappings":";AA+BA,OAAO,EAEL,aAAa,EACb,YAAY,EACZ,gBAAgB,EAGhB,gBAAgB,EAEjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAI5D,QAAA,MAAM,OAAO;;;;;;;;;wBA8QC;gBAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;gBAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;aAAE;8BAjJd,MAAM;oCAoND,OAAO;;6BAfb,MAAM,KAAK,KAAK,GAAG,SAAS;;oCAdrB,MAAM,EAAE;sCA/KxC,MAAM,GAAG,MAAM,EAAE,WAAU,gBAAgB;qCAiPvB,MAAM,WAAW,gBAAgB;gCA/CzB,MAAM,SAAS,MAAM,UAAU,KAAK;gCAKpC,MAAM,SAAS,MAAM;kCAzHpD,MAAM,0BAAyB,qBAAqB;;;;;;oBA2DjD;YAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE;0BAjJd,MAAM;gCAoND,OAAO;;yBAfb,MAAM,KAAK,KAAK,GAAG,SAAS;;gCAdrB,MAAM,EAAE;kCA/KxC,MAAM,GAAG,MAAM,EAAE,WAAU,gBAAgB;iCAiPvB,MAAM,WAAW,gBAAgB;4BA/CzB,MAAM,SAAS,MAAM,UAAU,KAAK;4BAKpC,MAAM,SAAS,MAAM;8BAzHpD,MAAM,0BAAyB,qBAAqB;;CA+Y9D,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
@@ -57,6 +57,7 @@ var useForm = function useForm(props) {
|
|
57
57
|
var _React$useRef = React.useRef({
|
58
58
|
defaultValues: {},
|
59
59
|
validateMap: {},
|
60
|
+
ignoreValidateFields: [],
|
60
61
|
updateMap: {},
|
61
62
|
flowMap: {},
|
62
63
|
removeArr: new Set(),
|
@@ -89,10 +90,21 @@ var useForm = function useForm(props) {
|
|
89
90
|
} else {
|
90
91
|
var names = (0, _utils.isArray)(name) ? name : [name];
|
91
92
|
names.forEach(function (key) {
|
92
|
-
var _context$
|
93
|
-
|
94
|
-
|
95
|
-
|
93
|
+
var _context$flowMap$key;
|
94
|
+
// 外部直接设置user.name这种格式的,但是又没有显性的声明user.name绑定的表单元素;
|
95
|
+
// 这里需要手动触发,否则会导致Input输入过程中光标跳到末尾的异常
|
96
|
+
if (!context.updateMap[key]) {
|
97
|
+
var _context$updateMap$pa;
|
98
|
+
var parentKey = key.split('.')[0];
|
99
|
+
(_context$updateMap$pa = context.updateMap[parentKey]) === null || _context$updateMap$pa === void 0 || _context$updateMap$pa.forEach(function (update) {
|
100
|
+
update(context.value, context.errors, context.serverErrors);
|
101
|
+
});
|
102
|
+
} else {
|
103
|
+
var _context$updateMap$ke2;
|
104
|
+
(_context$updateMap$ke2 = context.updateMap[key]) === null || _context$updateMap$ke2 === void 0 || _context$updateMap$ke2.forEach(function (update) {
|
105
|
+
update(context.value, context.errors, context.serverErrors);
|
106
|
+
});
|
107
|
+
}
|
96
108
|
(_context$flowMap$key = context.flowMap[key]) === null || _context$flowMap$key === void 0 || _context$flowMap$key.forEach(function (update) {
|
97
109
|
update();
|
98
110
|
});
|
@@ -149,9 +161,25 @@ var useForm = function useForm(props) {
|
|
149
161
|
var validateFields = (0, _usePersistFn.default)(function (fields) {
|
150
162
|
var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
151
163
|
return new Promise(function (resolve, reject) {
|
152
|
-
var finalFields =
|
153
|
-
|
154
|
-
|
164
|
+
var finalFields = Object.keys(context.validateMap);
|
165
|
+
if (fields) {
|
166
|
+
if (config.ignoreChildren) {
|
167
|
+
// 旧行为:仅校验当前字段
|
168
|
+
finalFields = ((0, _utils.isArray)(fields) ? fields : [fields]).filter(function (key) {
|
169
|
+
return context.validateMap[key];
|
170
|
+
});
|
171
|
+
} else {
|
172
|
+
// 新行为:校验当前字段及其所有子字段
|
173
|
+
// 假设进去的是['user'],那么最终的finalFields是['user', 'user.name', 'user.age']
|
174
|
+
// 假设进去的是['users'],那么最终的finalFields是['users', 'users[0].name', 'users[0].age', 'users[1].name', 'users[1].age']
|
175
|
+
finalFields = (0, _utils.getCompleteFieldKeys)(fields, finalFields);
|
176
|
+
}
|
177
|
+
}
|
178
|
+
if (context.ignoreValidateFields.length > 0) {
|
179
|
+
finalFields = finalFields.filter(function (key) {
|
180
|
+
return !context.ignoreValidateFields.includes(key);
|
181
|
+
});
|
182
|
+
}
|
155
183
|
var validates = finalFields.map(function (key) {
|
156
184
|
var validateField = context.validateMap[key];
|
157
185
|
return Array.from(validateField).map(function (validate) {
|
@@ -386,7 +414,7 @@ var useForm = function useForm(props) {
|
|
386
414
|
}, 10);
|
387
415
|
};
|
388
416
|
};
|
389
|
-
var validateFieldset = function validateFieldset(name) {
|
417
|
+
var validateFieldset = function validateFieldset(name, config) {
|
390
418
|
var na = "".concat(name, "[");
|
391
419
|
var no = "".concat(name, ".");
|
392
420
|
var fields = [];
|
@@ -395,6 +423,15 @@ var useForm = function useForm(props) {
|
|
395
423
|
fields.push(key);
|
396
424
|
}
|
397
425
|
});
|
426
|
+
|
427
|
+
// 用户声明了跳过校验子字段
|
428
|
+
if (config !== null && config !== void 0 && config.ignoreChildren) {
|
429
|
+
var parentName = name.split('[')[0];
|
430
|
+
context.ignoreValidateFields = (0, _utils.getCompleteFieldKeys)(parentName, Array.from(context.names));
|
431
|
+
setTimeout(function () {
|
432
|
+
context.ignoreValidateFields = [];
|
433
|
+
});
|
434
|
+
}
|
398
435
|
validateFields(fields).catch(function () {});
|
399
436
|
};
|
400
437
|
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":"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"}
|
@@ -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"}
|
@@ -142,6 +142,9 @@ var useTableSort = function useTableSort(props) {
|
|
142
142
|
}
|
143
143
|
}
|
144
144
|
});
|
145
|
+
var sortByColumn = (0, _usePersistFn.default)(function (params) {
|
146
|
+
onSorterChange(params.columnKey, params.direction, true, params.columnSorter);
|
147
|
+
});
|
145
148
|
(0, _react.useEffect)(function () {
|
146
149
|
if (context.mounted) return;
|
147
150
|
var hasSingleDefaultOrder = false;
|
@@ -163,7 +166,8 @@ var useTableSort = function useTableSort(props) {
|
|
163
166
|
return {
|
164
167
|
sortInfo: sortInfo,
|
165
168
|
onSorterChange: onSorterChange,
|
166
|
-
sortedData: sortedData
|
169
|
+
sortedData: sortedData,
|
170
|
+
sortByColumn: sortByColumn
|
167
171
|
};
|
168
172
|
};
|
169
173
|
var _default = exports.default = useTableSort;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-tree.d.ts","sourceRoot":"","sources":["use-tree.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,aAAa,EAKb,SAAS,EACV,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;
|
1
|
+
{"version":3,"file":"use-tree.d.ts","sourceRoot":"","sources":["use-tree.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,aAAa,EAKb,SAAS,EACV,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAYjD,eAAO,MAAM,IAAI;IACf;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;CAEJ,CAAC;AAEF,QAAA,MAAM,OAAO;;;;;CAucZ,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
@@ -26,6 +26,7 @@ function toArray(value) {
|
|
26
26
|
if (!Array.isArray(value)) return [value];
|
27
27
|
return value;
|
28
28
|
}
|
29
|
+
var global_tree_map = new Map();
|
29
30
|
var MODE = exports.MODE = {
|
30
31
|
/**
|
31
32
|
* 返回全选数据,包含父节点和子节点
|
@@ -345,6 +346,15 @@ var useTree = function useTree(props) {
|
|
345
346
|
return 2;
|
346
347
|
};
|
347
348
|
var setData = function setData(data) {
|
349
|
+
// if(data && global_tree_map.get(data)){
|
350
|
+
// context.cachedValue = global_tree_map.get(data)?.cachedValue || []
|
351
|
+
// context.pathMap = global_tree_map.get(data)?.pathMap || new Map()
|
352
|
+
// context.dataMap = global_tree_map.get(data)?.dataMap || new Map()
|
353
|
+
// context.valueMap = global_tree_map.get(data)?.valueMap || new Map()
|
354
|
+
// context.unmatchedValueMap = global_tree_map.get(data)?.unmatchedValueMap || new Map()
|
355
|
+
// return
|
356
|
+
// }
|
357
|
+
|
348
358
|
var prevValue = context.value || [];
|
349
359
|
context.cachedValue = [];
|
350
360
|
context.pathMap = new Map();
|
@@ -356,6 +366,8 @@ var useTree = function useTree(props) {
|
|
356
366
|
initData(context.data, []);
|
357
367
|
initValue();
|
358
368
|
setValue(prevValue);
|
369
|
+
|
370
|
+
// global_tree_map.set(data, context)
|
359
371
|
};
|
360
372
|
var set = function set(id, checked, direction) {
|
361
373
|
if (!isDisabled(id)) {
|
@@ -5,7 +5,7 @@ declare const useTiled: <DataItem>(props: UseTiledProps<DataItem>) => {
|
|
5
5
|
onFilter: ((text: string, from?: string | undefined) => void) | undefined;
|
6
6
|
expandIcons?: undefined;
|
7
7
|
} | {
|
8
|
-
data: any
|
8
|
+
data: any;
|
9
9
|
onFilter: (text: string, from?: string) => void;
|
10
10
|
expandIcons: ((item: DataItem) => string | number | boolean | import("react").ReactFragment | JSX.Element | null | undefined)[];
|
11
11
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-tiled.d.ts","sourceRoot":"","sources":["use-tiled.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGjD,QAAA,MAAM,QAAQ;;;;;;
|
1
|
+
{"version":3,"file":"use-tiled.d.ts","sourceRoot":"","sources":["use-tiled.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGjD,QAAA,MAAM,QAAQ;;;;;;qBAkCgB,MAAM,SAAS,MAAM;;CAyClD,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
});
|
6
6
|
exports.default = void 0;
|
7
7
|
var _react = require("react");
|
8
|
-
var
|
8
|
+
var _useTree2 = require("../use-tree");
|
9
9
|
var _tree = require("../../utils/tree");
|
10
10
|
var _jsxRuntime = require("react/jsx-runtime");
|
11
11
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
@@ -19,7 +19,7 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
19
19
|
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; } }
|
20
20
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
21
21
|
var useTiled = function useTiled(props) {
|
22
|
-
var
|
22
|
+
var filterData = props.data,
|
23
23
|
keygen = props.keygen,
|
24
24
|
_props$childrenKey = props.childrenKey,
|
25
25
|
childrenKey = _props$childrenKey === void 0 ? 'children' : _props$childrenKey,
|
@@ -35,20 +35,20 @@ var useTiled = function useTiled(props) {
|
|
35
35
|
_useState2 = _slicedToArray(_useState, 2),
|
36
36
|
tileds = _useState2[0],
|
37
37
|
setTileds = _useState2[1];
|
38
|
-
var _useTree = (0,
|
39
|
-
data: data,
|
40
|
-
childrenKey: childrenKey,
|
41
|
-
keygen: keygen,
|
42
|
-
isControlled: false
|
43
|
-
}),
|
44
|
-
datum = _useTree.datum;
|
45
|
-
var _useTree2 = (0, _useTree3.useTree)({
|
38
|
+
var _useTree = (0, _useTree2.useTree)({
|
46
39
|
data: rawData,
|
40
|
+
datum: props.rawDatum,
|
47
41
|
childrenKey: childrenKey,
|
48
42
|
keygen: keygen,
|
49
43
|
isControlled: false
|
50
44
|
}),
|
51
|
-
rawDatum =
|
45
|
+
rawDatum = _useTree.datum;
|
46
|
+
if (!filterText || !onAdvancedFilter) {
|
47
|
+
return {
|
48
|
+
data: filterData,
|
49
|
+
onFilter: onFilter
|
50
|
+
};
|
51
|
+
}
|
52
52
|
var handleToggle = function handleToggle(e, key) {
|
53
53
|
e.stopPropagation();
|
54
54
|
var nextTileds = _toConsumableArray(tileds);
|
@@ -80,13 +80,7 @@ var useTiled = function useTiled(props) {
|
|
80
80
|
children: moreIcon()
|
81
81
|
});
|
82
82
|
};
|
83
|
-
|
84
|
-
return {
|
85
|
-
data: data,
|
86
|
-
onFilter: onFilter
|
87
|
-
};
|
88
|
-
}
|
89
|
-
var nextData = (0, _tree.mergeFilteredTree)(datum, rawDatum, tileds);
|
83
|
+
var nextData = (0, _tree.mergeFilteredTree)(filterData, rawDatum, tileds);
|
90
84
|
return {
|
91
85
|
data: nextData,
|
92
86
|
onFilter: handleFilter,
|
@@ -1,9 +1,11 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import { TreeKeygenType, KeygenResult, ObjectKey } from '../../common/type';
|
3
|
+
import { TreeDatum } from '../use-tree/use-tree.type';
|
3
4
|
export type FilterFormType = 'blur' | 'edit';
|
4
5
|
export interface UseTiledProps<DataItem> {
|
5
6
|
data: DataItem[];
|
6
7
|
rawData: DataItem[];
|
8
|
+
rawDatum?: TreeDatum<DataItem>;
|
7
9
|
onFilter?: (text: string, from?: string) => void;
|
8
10
|
keygen: TreeKeygenType<DataItem>;
|
9
11
|
childrenKey?: ObjectKey<DataItem>;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-tiled.type.d.ts","sourceRoot":"","sources":["use-tiled.type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;
|
1
|
+
{"version":3,"file":"use-tiled.type.d.ts","sourceRoot":"","sources":["use-tiled.type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEtD,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,CAAC;AAE7C,MAAM,WAAW,aAAa,CAAC,QAAQ;IACrC,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,OAAO,EAAE,QAAQ,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC/B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IACjC,WAAW,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;IAClC,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B,QAAQ,EAAE,MAAM,KAAK,CAAC,SAAS,CAAC;IAChC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC;CAClE"}
|
package/cjs/utils/object.d.ts
CHANGED
@@ -33,5 +33,17 @@ export declare const removeProps: <T extends ObjectType, K extends ObjectType>(t
|
|
33
33
|
* console.log(keys); // ['a.b.c', 'a.b', 'a']
|
34
34
|
*/
|
35
35
|
export declare const getAllKeyPaths: (obj: ObjectType, parentKey?: string) => string[];
|
36
|
+
/**
|
37
|
+
* 获取完整的字段key
|
38
|
+
* @param fields 字段key
|
39
|
+
* @param allFields 所有字段key
|
40
|
+
* @returns 完整的字段key
|
41
|
+
* @example
|
42
|
+
* const fields = ['user']
|
43
|
+
* const allFields = ['user', 'user.name', 'user.age', 'user[0].name', 'user[0].age', 'user[1].name', 'user[1].age']
|
44
|
+
* const completeFields = getCompleteFieldKeys(fields, allFields)
|
45
|
+
* console.log(completeFields) // ['user', 'user.name', 'user.age', 'user[0].name', 'user[0].age', 'user[1].name', 'user[1].age']
|
46
|
+
*/
|
47
|
+
export declare const getCompleteFieldKeys: (fields: string | string[], allFields: string[]) => string[];
|
36
48
|
export {};
|
37
49
|
//# sourceMappingURL=object.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"object.d.ts","sourceRoot":"","sources":["object.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,UAGvC;AASD,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAGD,eAAO,MAAM,YAAY,QAAS,UAAU,UAG3C,CAAC;AAGF,eAAO,MAAM,SAAS,2CAEZ,UAAU,YACT,WAAW,eAwBrB,CAAC;AAEF,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,+DA4BxC;AAED,UAAU,cAAc;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,OAAO,WACV,UAAU,QACZ,MAAM,SACL,GAAG,YACD,cAAc,eAiDxB,CAAC;AAEF,eAAO,MAAM,OAAO,WAAY,UAAU,QAAQ,MAAM,YAAW,WAAW,YAyB7E,CAAC;AAEF,eAAO,MAAM,UAAU,WAAY,UAAU,QAAQ,MAAM,eA0B1D,CAAC;AAEF,eAAO,MAAM,OAAO,WAAY,UAAU,QAAQ,MAAM,YAavD,CAAC;AAEF,eAAO,MAAM,OAAO,QAAS,UAAU,YAItC,CAAC;AAEF,eAAO,MAAM,WAAW,wFAQvB,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,QAAS,UAAU,cAAa,MAAM,KAAQ,MAAM,EAoB9E,CAAC"}
|
1
|
+
{"version":3,"file":"object.d.ts","sourceRoot":"","sources":["object.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,UAGvC;AASD,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAGD,eAAO,MAAM,YAAY,QAAS,UAAU,UAG3C,CAAC;AAGF,eAAO,MAAM,SAAS,2CAEZ,UAAU,YACT,WAAW,eAwBrB,CAAC;AAEF,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,+DA4BxC;AAED,UAAU,cAAc;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,OAAO,WACV,UAAU,QACZ,MAAM,SACL,GAAG,YACD,cAAc,eAiDxB,CAAC;AAEF,eAAO,MAAM,OAAO,WAAY,UAAU,QAAQ,MAAM,YAAW,WAAW,YAyB7E,CAAC;AAEF,eAAO,MAAM,UAAU,WAAY,UAAU,QAAQ,MAAM,eA0B1D,CAAC;AAEF,eAAO,MAAM,OAAO,WAAY,UAAU,QAAQ,MAAM,YAavD,CAAC;AAEF,eAAO,MAAM,OAAO,QAAS,UAAU,YAItC,CAAC;AAEF,eAAO,MAAM,WAAW,wFAQvB,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,QAAS,UAAU,cAAa,MAAM,KAAQ,MAAM,EAoB9E,CAAC;AAGF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oBAAoB,WAAY,MAAM,GAAG,MAAM,EAAE,aAAa,MAAM,EAAE,KAAG,MAAM,EAe3F,CAAA"}
|
package/cjs/utils/object.js
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
exports.getAllKeyPaths = exports.entries = exports.deepSet = exports.deepRemove = exports.deepMerge = exports.deepHas = exports.deepGet = void 0;
|
6
|
+
exports.getCompleteFieldKeys = exports.getAllKeyPaths = exports.entries = exports.deepSet = exports.deepRemove = exports.deepMerge = exports.deepHas = exports.deepGet = void 0;
|
7
7
|
exports.insertPoint = insertPoint;
|
8
8
|
exports.objectValues = void 0;
|
9
9
|
exports.pathGenerator = pathGenerator;
|
@@ -302,4 +302,32 @@ var getAllKeyPaths = exports.getAllKeyPaths = function getAllKeyPaths(obj) {
|
|
302
302
|
}
|
303
303
|
return keys.concat(obj[key] !== null && _typeof(obj[key]) === 'object' ? getAllKeyPaths(obj[key], newKey) : newKey);
|
304
304
|
}, []);
|
305
|
+
};
|
306
|
+
|
307
|
+
/**
|
308
|
+
* 获取完整的字段key
|
309
|
+
* @param fields 字段key
|
310
|
+
* @param allFields 所有字段key
|
311
|
+
* @returns 完整的字段key
|
312
|
+
* @example
|
313
|
+
* const fields = ['user']
|
314
|
+
* const allFields = ['user', 'user.name', 'user.age', 'user[0].name', 'user[0].age', 'user[1].name', 'user[1].age']
|
315
|
+
* const completeFields = getCompleteFieldKeys(fields, allFields)
|
316
|
+
* console.log(completeFields) // ['user', 'user.name', 'user.age', 'user[0].name', 'user[0].age', 'user[1].name', 'user[1].age']
|
317
|
+
*/
|
318
|
+
var getCompleteFieldKeys = exports.getCompleteFieldKeys = function getCompleteFieldKeys(fields, allFields) {
|
319
|
+
var fieldsArray = (0, _is.isArray)(fields) ? fields : [fields];
|
320
|
+
var completeFields = [];
|
321
|
+
fieldsArray.forEach(function (field) {
|
322
|
+
var na = "".concat(field, "[");
|
323
|
+
var no = "".concat(field, ".");
|
324
|
+
completeFields.push(field);
|
325
|
+
var childFields = allFields.filter(function (f) {
|
326
|
+
return f.startsWith(na) || f.startsWith(no);
|
327
|
+
});
|
328
|
+
if (childFields.length) {
|
329
|
+
completeFields.push.apply(completeFields, _toConsumableArray(childFields));
|
330
|
+
}
|
331
|
+
});
|
332
|
+
return completeFields;
|
305
333
|
};
|
package/cjs/utils/tree.d.ts
CHANGED
@@ -9,6 +9,6 @@ type FilterDatum<DataItem> = {
|
|
9
9
|
getKey: (node: DataItem) => KeygenResult;
|
10
10
|
getDataById: (id: KeygenResult) => DataItem;
|
11
11
|
};
|
12
|
-
export declare const mergeFilteredTree: (
|
12
|
+
export declare const mergeFilteredTree: (filterData: any, rawDatum: FilterDatum<any>, tiledId: KeygenResult[]) => any;
|
13
13
|
export {};
|
14
14
|
//# sourceMappingURL=tree.d.ts.map
|
package/cjs/utils/tree.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["tree.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,eAAO,MAAM,cAAc,+CAGlB,OAAO,UAkBf,CAAC;AAEF,eAAO,MAAM,aAAa,2CAA4C,YAAY,6EAE5B,OAAO,iCACzC,YAAY,EAAE,GAAG,SAAS,2EAGxB,OAAO,wCACU,IAAI;;yBA4B1C,CAAC;AAEF,KAAK,WAAW,CAAC,QAAQ,IAAI;IAC3B,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,WAAW,EAAE,GAAG,CAAC;IACjB,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,YAAY,CAAC;IACzC,WAAW,EAAE,CAAC,EAAE,EAAE,YAAY,KAAK,QAAQ,CAAC;CAC7C,CAAC;AAEF,eAAO,MAAM,iBAAiB,
|
1
|
+
{"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["tree.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,eAAO,MAAM,cAAc,+CAGlB,OAAO,UAkBf,CAAC;AAEF,eAAO,MAAM,aAAa,2CAA4C,YAAY,6EAE5B,OAAO,iCACzC,YAAY,EAAE,GAAG,SAAS,2EAGxB,OAAO,wCACU,IAAI;;yBA4B1C,CAAC;AAEF,KAAK,WAAW,CAAC,QAAQ,IAAI;IAC3B,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,WAAW,EAAE,GAAG,CAAC;IACjB,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,YAAY,CAAC;IACzC,WAAW,EAAE,CAAC,EAAE,EAAE,YAAY,KAAK,QAAQ,CAAC;CAC7C,CAAC;AAEF,eAAO,MAAM,iBAAiB,eAChB,GAAG,YACL,YAAY,GAAG,CAAC,WACjB,YAAY,EAAE,QAexB,CAAC"}
|
package/cjs/utils/tree.js
CHANGED
@@ -68,19 +68,13 @@ var getFilterTree = exports.getFilterTree = function getFilterTree(treeNodes, fi
|
|
68
68
|
return node;
|
69
69
|
});
|
70
70
|
};
|
71
|
-
var mergeFilteredTree = exports.mergeFilteredTree = function mergeFilteredTree(
|
72
|
-
var
|
73
|
-
var childrenKey = filterDatum.childrenKey;
|
71
|
+
var mergeFilteredTree = exports.mergeFilteredTree = function mergeFilteredTree(filterData, rawDatum, tiledId) {
|
72
|
+
var childrenKey = rawDatum.childrenKey;
|
74
73
|
if (tiledId.length === 0) return filterData;
|
75
74
|
var recursion = function recursion(node) {
|
76
|
-
var nodeKey =
|
75
|
+
var nodeKey = rawDatum.getKey(node);
|
77
76
|
if (tiledId.indexOf(nodeKey) >= 0) {
|
78
77
|
node[childrenKey] = (0, _clone.deepClone)(rawDatum.getDataById(nodeKey)[childrenKey] || []);
|
79
|
-
} else {
|
80
|
-
var item = filterDatum.getDataById(nodeKey);
|
81
|
-
if (item && item[childrenKey]) {
|
82
|
-
node[childrenKey] = (0, _clone.deepClone)(item[childrenKey] || []);
|
83
|
-
}
|
84
78
|
}
|
85
79
|
var children = node[childrenKey] || [];
|
86
80
|
children.map(recursion);
|
@@ -253,7 +253,7 @@ export var usePositionStyle = function usePositionStyle(config) {
|
|
253
253
|
style: hideStyle
|
254
254
|
};
|
255
255
|
var rect = context.parentRect;
|
256
|
-
if (scrollElRef !== null && scrollElRef !== void 0 && scrollElRef.current && (_scrollElRef$current = scrollElRef.current) !== null && _scrollElRef$current !== void 0 && _scrollElRef$current.contains(parentElRef.current)) {
|
256
|
+
if (!show && scrollElRef !== null && scrollElRef !== void 0 && scrollElRef.current && (_scrollElRef$current = scrollElRef.current) !== null && _scrollElRef$current !== void 0 && _scrollElRef$current.contains(parentElRef.current)) {
|
257
257
|
var _scrollElRef$current2;
|
258
258
|
var visibleRect = ((_scrollElRef$current2 = scrollElRef.current) === null || _scrollElRef$current2 === void 0 ? void 0 : _scrollElRef$current2.getBoundingClientRect()) || {};
|
259
259
|
if (rect.bottom < visibleRect.top || rect.top > visibleRect.bottom || rect.right < visibleRect.left || rect.left > visibleRect.right) {
|
@@ -21,7 +21,7 @@ declare const useForm: <T extends ObjectType>(props: UseFormProps<T>) => {
|
|
21
21
|
getErrors: () => ObjectType<Error | undefined>;
|
22
22
|
clearValidate: (names?: string[]) => void;
|
23
23
|
validateFields: (fields?: string | string[], config?: ValidateFnConfig) => Promise<T>;
|
24
|
-
validateFieldset: (name: string) => void;
|
24
|
+
validateFieldset: (name: string, config?: ValidateFnConfig) => void;
|
25
25
|
insertError: (name: string, index: number, error?: Error) => void;
|
26
26
|
spliceError: (name: string, index: number) => void;
|
27
27
|
scrollToField: (name: string, scrollIntoViewOptions?: ScrollIntoViewOptions) => void;
|
@@ -41,7 +41,7 @@ declare const useForm: <T extends ObjectType>(props: UseFormProps<T>) => {
|
|
41
41
|
getErrors: () => ObjectType<Error | undefined>;
|
42
42
|
clearValidate: (names?: string[]) => void;
|
43
43
|
validateFields: (fields?: string | string[], config?: ValidateFnConfig) => Promise<T>;
|
44
|
-
validateFieldset: (name: string) => void;
|
44
|
+
validateFieldset: (name: string, config?: ValidateFnConfig) => void;
|
45
45
|
insertError: (name: string, index: number, error?: Error) => void;
|
46
46
|
spliceError: (name: string, index: number) => void;
|
47
47
|
scrollToField: (name: string, scrollIntoViewOptions?: ScrollIntoViewOptions) => void;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-form.d.ts","sourceRoot":"","sources":["use-form.ts"],"names":[],"mappings":";
|
1
|
+
{"version":3,"file":"use-form.d.ts","sourceRoot":"","sources":["use-form.ts"],"names":[],"mappings":";AA+BA,OAAO,EAEL,aAAa,EACb,YAAY,EACZ,gBAAgB,EAGhB,gBAAgB,EAEjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAI5D,QAAA,MAAM,OAAO;;;;;;;;;wBA8QC;gBAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;gBAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;aAAE;8BAjJd,MAAM;oCAoND,OAAO;;6BAfb,MAAM,KAAK,KAAK,GAAG,SAAS;;oCAdrB,MAAM,EAAE;sCA/KxC,MAAM,GAAG,MAAM,EAAE,WAAU,gBAAgB;qCAiPvB,MAAM,WAAW,gBAAgB;gCA/CzB,MAAM,SAAS,MAAM,UAAU,KAAK;gCAKpC,MAAM,SAAS,MAAM;kCAzHpD,MAAM,0BAAyB,qBAAqB;;;;;;oBA2DjD;YAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE;0BAjJd,MAAM;gCAoND,OAAO;;yBAfb,MAAM,KAAK,KAAK,GAAG,SAAS;;gCAdrB,MAAM,EAAE;kCA/KxC,MAAM,GAAG,MAAM,EAAE,WAAU,gBAAgB;iCAiPvB,MAAM,WAAW,gBAAgB;4BA/CzB,MAAM,SAAS,MAAM,UAAU,KAAK;4BAKpC,MAAM,SAAS,MAAM;8BAzHpD,MAAM,0BAAyB,qBAAqB;;CA+Y9D,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
@@ -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,9 +152,25 @@ 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) {
|
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];
|
148
176
|
return Array.from(validateField).map(function (validate) {
|
@@ -377,7 +405,7 @@ var useForm = function useForm(props) {
|
|
377
405
|
}, 10);
|
378
406
|
};
|
379
407
|
};
|
380
|
-
var validateFieldset = function validateFieldset(name) {
|
408
|
+
var validateFieldset = function validateFieldset(name, config) {
|
381
409
|
var na = "".concat(name, "[");
|
382
410
|
var no = "".concat(name, ".");
|
383
411
|
var fields = [];
|
@@ -386,6 +414,15 @@ var useForm = function useForm(props) {
|
|
386
414
|
fields.push(key);
|
387
415
|
}
|
388
416
|
});
|
417
|
+
|
418
|
+
// 用户声明了跳过校验子字段
|
419
|
+
if (config !== null && config !== void 0 && config.ignoreChildren) {
|
420
|
+
var parentName = name.split('[')[0];
|
421
|
+
context.ignoreValidateFields = getCompleteFieldKeys(parentName, Array.from(context.names));
|
422
|
+
setTimeout(function () {
|
423
|
+
context.ignoreValidateFields = [];
|
424
|
+
});
|
425
|
+
}
|
389
426
|
validateFields(fields).catch(function () {});
|
390
427
|
};
|
391
428
|
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":"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"}
|
@@ -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 +1 @@
|
|
1
|
-
{"version":3,"file":"use-tree.d.ts","sourceRoot":"","sources":["use-tree.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,aAAa,EAKb,SAAS,EACV,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;
|
1
|
+
{"version":3,"file":"use-tree.d.ts","sourceRoot":"","sources":["use-tree.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,aAAa,EAKb,SAAS,EACV,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAYjD,eAAO,MAAM,IAAI;IACf;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;CAEJ,CAAC;AAEF,QAAA,MAAM,OAAO;;;;;CAucZ,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
@@ -19,6 +19,7 @@ function toArray(value) {
|
|
19
19
|
if (!Array.isArray(value)) return [value];
|
20
20
|
return value;
|
21
21
|
}
|
22
|
+
var global_tree_map = new Map();
|
22
23
|
export var MODE = {
|
23
24
|
/**
|
24
25
|
* 返回全选数据,包含父节点和子节点
|
@@ -338,6 +339,15 @@ var useTree = function useTree(props) {
|
|
338
339
|
return 2;
|
339
340
|
};
|
340
341
|
var setData = function setData(data) {
|
342
|
+
// if(data && global_tree_map.get(data)){
|
343
|
+
// context.cachedValue = global_tree_map.get(data)?.cachedValue || []
|
344
|
+
// context.pathMap = global_tree_map.get(data)?.pathMap || new Map()
|
345
|
+
// context.dataMap = global_tree_map.get(data)?.dataMap || new Map()
|
346
|
+
// context.valueMap = global_tree_map.get(data)?.valueMap || new Map()
|
347
|
+
// context.unmatchedValueMap = global_tree_map.get(data)?.unmatchedValueMap || new Map()
|
348
|
+
// return
|
349
|
+
// }
|
350
|
+
|
341
351
|
var prevValue = context.value || [];
|
342
352
|
context.cachedValue = [];
|
343
353
|
context.pathMap = new Map();
|
@@ -349,6 +359,8 @@ var useTree = function useTree(props) {
|
|
349
359
|
initData(context.data, []);
|
350
360
|
initValue();
|
351
361
|
setValue(prevValue);
|
362
|
+
|
363
|
+
// global_tree_map.set(data, context)
|
352
364
|
};
|
353
365
|
var set = function set(id, checked, direction) {
|
354
366
|
if (!isDisabled(id)) {
|
@@ -5,7 +5,7 @@ declare const useTiled: <DataItem>(props: UseTiledProps<DataItem>) => {
|
|
5
5
|
onFilter: ((text: string, from?: string | undefined) => void) | undefined;
|
6
6
|
expandIcons?: undefined;
|
7
7
|
} | {
|
8
|
-
data: any
|
8
|
+
data: any;
|
9
9
|
onFilter: (text: string, from?: string) => void;
|
10
10
|
expandIcons: ((item: DataItem) => string | number | boolean | import("react").ReactFragment | JSX.Element | null | undefined)[];
|
11
11
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-tiled.d.ts","sourceRoot":"","sources":["use-tiled.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGjD,QAAA,MAAM,QAAQ;;;;;;
|
1
|
+
{"version":3,"file":"use-tiled.d.ts","sourceRoot":"","sources":["use-tiled.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGjD,QAAA,MAAM,QAAQ;;;;;;qBAkCgB,MAAM,SAAS,MAAM;;CAyClD,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
@@ -13,7 +13,7 @@ import { useTree } from "../use-tree";
|
|
13
13
|
import { mergeFilteredTree } from "../../utils/tree";
|
14
14
|
import { jsx as _jsx } from "react/jsx-runtime";
|
15
15
|
var useTiled = function useTiled(props) {
|
16
|
-
var
|
16
|
+
var filterData = props.data,
|
17
17
|
keygen = props.keygen,
|
18
18
|
_props$childrenKey = props.childrenKey,
|
19
19
|
childrenKey = _props$childrenKey === void 0 ? 'children' : _props$childrenKey,
|
@@ -30,19 +30,19 @@ var useTiled = function useTiled(props) {
|
|
30
30
|
tileds = _useState2[0],
|
31
31
|
setTileds = _useState2[1];
|
32
32
|
var _useTree = useTree({
|
33
|
-
data: data,
|
34
|
-
childrenKey: childrenKey,
|
35
|
-
keygen: keygen,
|
36
|
-
isControlled: false
|
37
|
-
}),
|
38
|
-
datum = _useTree.datum;
|
39
|
-
var _useTree2 = useTree({
|
40
33
|
data: rawData,
|
34
|
+
datum: props.rawDatum,
|
41
35
|
childrenKey: childrenKey,
|
42
36
|
keygen: keygen,
|
43
37
|
isControlled: false
|
44
38
|
}),
|
45
|
-
rawDatum =
|
39
|
+
rawDatum = _useTree.datum;
|
40
|
+
if (!filterText || !onAdvancedFilter) {
|
41
|
+
return {
|
42
|
+
data: filterData,
|
43
|
+
onFilter: onFilter
|
44
|
+
};
|
45
|
+
}
|
46
46
|
var handleToggle = function handleToggle(e, key) {
|
47
47
|
e.stopPropagation();
|
48
48
|
var nextTileds = _toConsumableArray(tileds);
|
@@ -74,13 +74,7 @@ var useTiled = function useTiled(props) {
|
|
74
74
|
children: moreIcon()
|
75
75
|
});
|
76
76
|
};
|
77
|
-
|
78
|
-
return {
|
79
|
-
data: data,
|
80
|
-
onFilter: onFilter
|
81
|
-
};
|
82
|
-
}
|
83
|
-
var nextData = mergeFilteredTree(datum, rawDatum, tileds);
|
77
|
+
var nextData = mergeFilteredTree(filterData, rawDatum, tileds);
|
84
78
|
return {
|
85
79
|
data: nextData,
|
86
80
|
onFilter: handleFilter,
|
@@ -1,9 +1,11 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import { TreeKeygenType, KeygenResult, ObjectKey } from '../../common/type';
|
3
|
+
import { TreeDatum } from '../use-tree/use-tree.type';
|
3
4
|
export type FilterFormType = 'blur' | 'edit';
|
4
5
|
export interface UseTiledProps<DataItem> {
|
5
6
|
data: DataItem[];
|
6
7
|
rawData: DataItem[];
|
8
|
+
rawDatum?: TreeDatum<DataItem>;
|
7
9
|
onFilter?: (text: string, from?: string) => void;
|
8
10
|
keygen: TreeKeygenType<DataItem>;
|
9
11
|
childrenKey?: ObjectKey<DataItem>;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-tiled.type.d.ts","sourceRoot":"","sources":["use-tiled.type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;
|
1
|
+
{"version":3,"file":"use-tiled.type.d.ts","sourceRoot":"","sources":["use-tiled.type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEtD,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,CAAC;AAE7C,MAAM,WAAW,aAAa,CAAC,QAAQ;IACrC,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,OAAO,EAAE,QAAQ,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC/B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IACjC,WAAW,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;IAClC,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B,QAAQ,EAAE,MAAM,KAAK,CAAC,SAAS,CAAC;IAChC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC;CAClE"}
|
package/esm/utils/object.d.ts
CHANGED
@@ -33,5 +33,17 @@ export declare const removeProps: <T extends ObjectType, K extends ObjectType>(t
|
|
33
33
|
* console.log(keys); // ['a.b.c', 'a.b', 'a']
|
34
34
|
*/
|
35
35
|
export declare const getAllKeyPaths: (obj: ObjectType, parentKey?: string) => string[];
|
36
|
+
/**
|
37
|
+
* 获取完整的字段key
|
38
|
+
* @param fields 字段key
|
39
|
+
* @param allFields 所有字段key
|
40
|
+
* @returns 完整的字段key
|
41
|
+
* @example
|
42
|
+
* const fields = ['user']
|
43
|
+
* const allFields = ['user', 'user.name', 'user.age', 'user[0].name', 'user[0].age', 'user[1].name', 'user[1].age']
|
44
|
+
* const completeFields = getCompleteFieldKeys(fields, allFields)
|
45
|
+
* console.log(completeFields) // ['user', 'user.name', 'user.age', 'user[0].name', 'user[0].age', 'user[1].name', 'user[1].age']
|
46
|
+
*/
|
47
|
+
export declare const getCompleteFieldKeys: (fields: string | string[], allFields: string[]) => string[];
|
36
48
|
export {};
|
37
49
|
//# sourceMappingURL=object.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"object.d.ts","sourceRoot":"","sources":["object.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,UAGvC;AASD,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAGD,eAAO,MAAM,YAAY,QAAS,UAAU,UAG3C,CAAC;AAGF,eAAO,MAAM,SAAS,2CAEZ,UAAU,YACT,WAAW,eAwBrB,CAAC;AAEF,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,+DA4BxC;AAED,UAAU,cAAc;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,OAAO,WACV,UAAU,QACZ,MAAM,SACL,GAAG,YACD,cAAc,eAiDxB,CAAC;AAEF,eAAO,MAAM,OAAO,WAAY,UAAU,QAAQ,MAAM,YAAW,WAAW,YAyB7E,CAAC;AAEF,eAAO,MAAM,UAAU,WAAY,UAAU,QAAQ,MAAM,eA0B1D,CAAC;AAEF,eAAO,MAAM,OAAO,WAAY,UAAU,QAAQ,MAAM,YAavD,CAAC;AAEF,eAAO,MAAM,OAAO,QAAS,UAAU,YAItC,CAAC;AAEF,eAAO,MAAM,WAAW,wFAQvB,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,QAAS,UAAU,cAAa,MAAM,KAAQ,MAAM,EAoB9E,CAAC"}
|
1
|
+
{"version":3,"file":"object.d.ts","sourceRoot":"","sources":["object.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,UAGvC;AASD,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAGD,eAAO,MAAM,YAAY,QAAS,UAAU,UAG3C,CAAC;AAGF,eAAO,MAAM,SAAS,2CAEZ,UAAU,YACT,WAAW,eAwBrB,CAAC;AAEF,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,+DA4BxC;AAED,UAAU,cAAc;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,OAAO,WACV,UAAU,QACZ,MAAM,SACL,GAAG,YACD,cAAc,eAiDxB,CAAC;AAEF,eAAO,MAAM,OAAO,WAAY,UAAU,QAAQ,MAAM,YAAW,WAAW,YAyB7E,CAAC;AAEF,eAAO,MAAM,UAAU,WAAY,UAAU,QAAQ,MAAM,eA0B1D,CAAC;AAEF,eAAO,MAAM,OAAO,WAAY,UAAU,QAAQ,MAAM,YAavD,CAAC;AAEF,eAAO,MAAM,OAAO,QAAS,UAAU,YAItC,CAAC;AAEF,eAAO,MAAM,WAAW,wFAQvB,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,QAAS,UAAU,cAAa,MAAM,KAAQ,MAAM,EAoB9E,CAAC;AAGF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oBAAoB,WAAY,MAAM,GAAG,MAAM,EAAE,aAAa,MAAM,EAAE,KAAG,MAAM,EAe3F,CAAA"}
|
package/esm/utils/object.js
CHANGED
@@ -10,7 +10,7 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
10
10
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
11
11
|
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); }
|
12
12
|
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; }
|
13
|
-
import { isMergeable, isObject } from "./is";
|
13
|
+
import { isMergeable, isObject, isArray } from "./is";
|
14
14
|
export function insertPoint(name) {
|
15
15
|
var reg = /(\[\d+\])/gi;
|
16
16
|
return name.replace(reg, function (s, m, i) {
|
@@ -292,4 +292,32 @@ export var getAllKeyPaths = function getAllKeyPaths(obj) {
|
|
292
292
|
}
|
293
293
|
return keys.concat(obj[key] !== null && _typeof(obj[key]) === 'object' ? getAllKeyPaths(obj[key], newKey) : newKey);
|
294
294
|
}, []);
|
295
|
+
};
|
296
|
+
|
297
|
+
/**
|
298
|
+
* 获取完整的字段key
|
299
|
+
* @param fields 字段key
|
300
|
+
* @param allFields 所有字段key
|
301
|
+
* @returns 完整的字段key
|
302
|
+
* @example
|
303
|
+
* const fields = ['user']
|
304
|
+
* const allFields = ['user', 'user.name', 'user.age', 'user[0].name', 'user[0].age', 'user[1].name', 'user[1].age']
|
305
|
+
* const completeFields = getCompleteFieldKeys(fields, allFields)
|
306
|
+
* console.log(completeFields) // ['user', 'user.name', 'user.age', 'user[0].name', 'user[0].age', 'user[1].name', 'user[1].age']
|
307
|
+
*/
|
308
|
+
export var getCompleteFieldKeys = function getCompleteFieldKeys(fields, allFields) {
|
309
|
+
var fieldsArray = isArray(fields) ? fields : [fields];
|
310
|
+
var completeFields = [];
|
311
|
+
fieldsArray.forEach(function (field) {
|
312
|
+
var na = "".concat(field, "[");
|
313
|
+
var no = "".concat(field, ".");
|
314
|
+
completeFields.push(field);
|
315
|
+
var childFields = allFields.filter(function (f) {
|
316
|
+
return f.startsWith(na) || f.startsWith(no);
|
317
|
+
});
|
318
|
+
if (childFields.length) {
|
319
|
+
completeFields.push.apply(completeFields, _toConsumableArray(childFields));
|
320
|
+
}
|
321
|
+
});
|
322
|
+
return completeFields;
|
295
323
|
};
|
package/esm/utils/tree.d.ts
CHANGED
@@ -9,6 +9,6 @@ type FilterDatum<DataItem> = {
|
|
9
9
|
getKey: (node: DataItem) => KeygenResult;
|
10
10
|
getDataById: (id: KeygenResult) => DataItem;
|
11
11
|
};
|
12
|
-
export declare const mergeFilteredTree: (
|
12
|
+
export declare const mergeFilteredTree: (filterData: any, rawDatum: FilterDatum<any>, tiledId: KeygenResult[]) => any;
|
13
13
|
export {};
|
14
14
|
//# sourceMappingURL=tree.d.ts.map
|
package/esm/utils/tree.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["tree.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,eAAO,MAAM,cAAc,+CAGlB,OAAO,UAkBf,CAAC;AAEF,eAAO,MAAM,aAAa,2CAA4C,YAAY,6EAE5B,OAAO,iCACzC,YAAY,EAAE,GAAG,SAAS,2EAGxB,OAAO,wCACU,IAAI;;yBA4B1C,CAAC;AAEF,KAAK,WAAW,CAAC,QAAQ,IAAI;IAC3B,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,WAAW,EAAE,GAAG,CAAC;IACjB,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,YAAY,CAAC;IACzC,WAAW,EAAE,CAAC,EAAE,EAAE,YAAY,KAAK,QAAQ,CAAC;CAC7C,CAAC;AAEF,eAAO,MAAM,iBAAiB,
|
1
|
+
{"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["tree.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,eAAO,MAAM,cAAc,+CAGlB,OAAO,UAkBf,CAAC;AAEF,eAAO,MAAM,aAAa,2CAA4C,YAAY,6EAE5B,OAAO,iCACzC,YAAY,EAAE,GAAG,SAAS,2EAGxB,OAAO,wCACU,IAAI;;yBA4B1C,CAAC;AAEF,KAAK,WAAW,CAAC,QAAQ,IAAI;IAC3B,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,WAAW,EAAE,GAAG,CAAC;IACjB,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,YAAY,CAAC;IACzC,WAAW,EAAE,CAAC,EAAE,EAAE,YAAY,KAAK,QAAQ,CAAC;CAC7C,CAAC;AAEF,eAAO,MAAM,iBAAiB,eAChB,GAAG,YACL,YAAY,GAAG,CAAC,WACjB,YAAY,EAAE,QAexB,CAAC"}
|
package/esm/utils/tree.js
CHANGED
@@ -62,19 +62,13 @@ export var getFilterTree = function getFilterTree(treeNodes, filterFunc, filterE
|
|
62
62
|
return node;
|
63
63
|
});
|
64
64
|
};
|
65
|
-
export var mergeFilteredTree = function mergeFilteredTree(
|
66
|
-
var
|
67
|
-
var childrenKey = filterDatum.childrenKey;
|
65
|
+
export var mergeFilteredTree = function mergeFilteredTree(filterData, rawDatum, tiledId) {
|
66
|
+
var childrenKey = rawDatum.childrenKey;
|
68
67
|
if (tiledId.length === 0) return filterData;
|
69
68
|
var recursion = function recursion(node) {
|
70
|
-
var nodeKey =
|
69
|
+
var nodeKey = rawDatum.getKey(node);
|
71
70
|
if (tiledId.indexOf(nodeKey) >= 0) {
|
72
71
|
node[childrenKey] = deepClone(rawDatum.getDataById(nodeKey)[childrenKey] || []);
|
73
|
-
} else {
|
74
|
-
var item = filterDatum.getDataById(nodeKey);
|
75
|
-
if (item && item[childrenKey]) {
|
76
|
-
node[childrenKey] = deepClone(item[childrenKey] || []);
|
77
|
-
}
|
78
72
|
}
|
79
73
|
var children = node[childrenKey] || [];
|
80
74
|
children.map(recursion);
|