@sheinx/hooks 3.6.0-beta.1 → 3.6.0-beta.3
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-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);
|