@sheinx/hooks 3.6.0-beta.2 → 3.6.0-beta.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/common/use-filter/use-filter.d.ts.map +1 -1
- package/cjs/common/use-position-style/check-border.d.ts +6 -0
- package/cjs/common/use-position-style/check-border.d.ts.map +1 -0
- package/cjs/common/use-position-style/check-border.js +35 -0
- package/cjs/common/use-position-style/get-position-style.d.ts +1 -0
- package/cjs/common/use-position-style/get-position-style.d.ts.map +1 -1
- package/cjs/common/use-position-style/get-position-style.js +14 -8
- package/cjs/common/use-position-style/index.d.ts +1 -0
- package/cjs/common/use-position-style/index.d.ts.map +1 -1
- package/cjs/common/use-position-style/index.js +16 -7
- package/cjs/components/use-cascader/use-cascader.d.ts.map +1 -1
- package/cjs/components/use-cascader/use-cascader.type.d.ts +2 -1
- package/cjs/components/use-cascader/use-cascader.type.d.ts.map +1 -1
- package/cjs/components/use-check/use-check.d.ts +1 -1
- package/cjs/components/use-check/use-check.d.ts.map +1 -1
- package/cjs/components/use-check/use-check.js +10 -3
- package/cjs/components/use-form/Provider.d.ts +1 -2
- package/cjs/components/use-form/Provider.d.ts.map +1 -1
- package/cjs/components/use-form/use-form-control/use-form-control.d.ts.map +1 -1
- package/cjs/components/use-form/use-form-fieldset/fieldset-context.d.ts +1 -1
- package/cjs/components/use-form/use-form-fieldset/fieldset-context.d.ts.map +1 -1
- package/cjs/components/use-form/use-form-fieldset/fieldset-context.js +3 -2
- package/cjs/components/use-form/use-form-fieldset/index.d.ts +1 -0
- package/cjs/components/use-form/use-form-fieldset/index.d.ts.map +1 -1
- package/cjs/components/use-form/use-form-fieldset/index.js +6 -0
- package/cjs/components/use-form/use-form.d.ts +3 -4
- package/cjs/components/use-form/use-form.d.ts.map +1 -1
- package/cjs/components/use-form/use-form.js +63 -16
- package/cjs/components/use-form/use-form.type.d.ts +6 -2
- package/cjs/components/use-form/use-form.type.d.ts.map +1 -1
- package/cjs/components/use-input/use-input-format.d.ts +1 -1
- package/cjs/components/use-input/use-input-format.d.ts.map +1 -1
- package/cjs/components/use-input/use-input-format.js +12 -4
- package/cjs/components/use-input/use-input-number.d.ts +1 -1
- package/cjs/components/use-table/index.d.ts +2 -1
- package/cjs/components/use-table/index.d.ts.map +1 -1
- package/cjs/components/use-table/index.js +7 -0
- package/cjs/components/use-table/use-table-filter.d.ts +19 -0
- package/cjs/components/use-table/use-table-filter.d.ts.map +1 -0
- package/cjs/components/use-table/use-table-filter.js +95 -0
- package/cjs/components/use-table/use-table-sort.d.ts +5 -0
- package/cjs/components/use-table/use-table-sort.d.ts.map +1 -1
- package/cjs/components/use-table/use-table-sort.js +5 -1
- package/cjs/components/use-table/use-table-tree.d.ts +13 -0
- package/cjs/components/use-table/use-table-tree.d.ts.map +1 -1
- package/cjs/components/use-table/use-table-tree.js +68 -1
- package/cjs/components/use-table/use-table-virtual.d.ts.map +1 -1
- package/cjs/components/use-table/use-table-virtual.js +6 -4
- package/cjs/components/use-table/use-table.type.d.ts +93 -0
- package/cjs/components/use-table/use-table.type.d.ts.map +1 -1
- package/cjs/components/use-tabs/context.d.ts +1 -1
- package/cjs/components/use-tabs/context.d.ts.map +1 -1
- package/cjs/components/use-tabs/use-tabs.d.ts +1 -1
- package/cjs/components/use-tree/index.d.ts +3 -2
- package/cjs/components/use-tree/index.d.ts.map +1 -1
- package/cjs/components/use-tree/index.js +18 -2
- package/cjs/components/use-tree/use-tree-node.d.ts.map +1 -1
- package/cjs/components/use-tree/use-tree-node.js +1 -5
- package/cjs/components/use-tree/use-tree-node.type.d.ts +18 -0
- package/cjs/components/use-tree/use-tree-node.type.d.ts.map +1 -1
- package/cjs/components/use-tree/use-tree-virtual-node.d.ts +13 -0
- package/cjs/components/use-tree/use-tree-virtual-node.d.ts.map +1 -0
- package/cjs/components/use-tree/use-tree-virtual-node.js +92 -0
- package/cjs/components/use-tree/use-tree.d.ts.map +1 -1
- package/cjs/components/use-tree/use-tree.js +213 -6
- package/cjs/components/use-tree/use-tree.type.d.ts +35 -1
- package/cjs/components/use-tree/use-tree.type.d.ts.map +1 -1
- package/cjs/components/use-treeselect/use-tiled.d.ts +1 -1
- package/cjs/utils/dom/element.d.ts +1 -1
- package/cjs/utils/dom/element.d.ts.map +1 -1
- package/cjs/utils/dom/element.js +5 -3
- package/cjs/utils/is.d.ts +2 -0
- package/cjs/utils/is.d.ts.map +1 -1
- package/cjs/utils/is.js +5 -2
- package/cjs/utils/lazyload.d.ts.map +1 -1
- package/cjs/utils/lazyload.js +2 -2
- package/cjs/utils/object.d.ts +12 -0
- package/cjs/utils/object.d.ts.map +1 -1
- package/cjs/utils/object.js +34 -1
- package/cjs/utils/warning.js +5 -5
- package/esm/common/use-filter/use-filter.d.ts.map +1 -1
- package/esm/common/use-position-style/check-border.d.ts +6 -0
- package/esm/common/use-position-style/check-border.d.ts.map +1 -0
- package/esm/common/use-position-style/check-border.js +29 -0
- package/esm/common/use-position-style/get-position-style.d.ts +1 -0
- package/esm/common/use-position-style/get-position-style.d.ts.map +1 -1
- package/esm/common/use-position-style/get-position-style.js +14 -8
- package/esm/common/use-position-style/index.d.ts +1 -0
- package/esm/common/use-position-style/index.d.ts.map +1 -1
- package/esm/common/use-position-style/index.js +16 -7
- package/esm/components/use-cascader/use-cascader.d.ts.map +1 -1
- package/esm/components/use-cascader/use-cascader.type.d.ts +2 -1
- package/esm/components/use-cascader/use-cascader.type.d.ts.map +1 -1
- package/esm/components/use-check/use-check.d.ts +1 -1
- package/esm/components/use-check/use-check.d.ts.map +1 -1
- package/esm/components/use-check/use-check.js +10 -3
- package/esm/components/use-form/Provider.d.ts +1 -2
- package/esm/components/use-form/Provider.d.ts.map +1 -1
- package/esm/components/use-form/use-form-control/use-form-control.d.ts.map +1 -1
- package/esm/components/use-form/use-form-fieldset/fieldset-context.d.ts +1 -1
- package/esm/components/use-form/use-form-fieldset/fieldset-context.d.ts.map +1 -1
- package/esm/components/use-form/use-form-fieldset/fieldset-context.js +2 -1
- package/esm/components/use-form/use-form-fieldset/index.d.ts +1 -0
- package/esm/components/use-form/use-form-fieldset/index.d.ts.map +1 -1
- package/esm/components/use-form/use-form-fieldset/index.js +2 -1
- package/esm/components/use-form/use-form.d.ts +3 -4
- package/esm/components/use-form/use-form.d.ts.map +1 -1
- package/esm/components/use-form/use-form.js +64 -17
- package/esm/components/use-form/use-form.type.d.ts +6 -2
- package/esm/components/use-form/use-form.type.d.ts.map +1 -1
- package/esm/components/use-input/use-input-format.d.ts +1 -1
- package/esm/components/use-input/use-input-format.d.ts.map +1 -1
- package/esm/components/use-input/use-input-format.js +12 -4
- package/esm/components/use-input/use-input-number.d.ts +1 -1
- package/esm/components/use-table/index.d.ts +2 -1
- package/esm/components/use-table/index.d.ts.map +1 -1
- package/esm/components/use-table/index.js +1 -0
- package/esm/components/use-table/use-table-filter.d.ts +19 -0
- package/esm/components/use-table/use-table-filter.d.ts.map +1 -0
- package/esm/components/use-table/use-table-filter.js +88 -0
- package/esm/components/use-table/use-table-sort.d.ts +5 -0
- package/esm/components/use-table/use-table-sort.d.ts.map +1 -1
- package/esm/components/use-table/use-table-sort.js +5 -1
- package/esm/components/use-table/use-table-tree.d.ts +13 -0
- package/esm/components/use-table/use-table-tree.d.ts.map +1 -1
- package/esm/components/use-table/use-table-tree.js +67 -0
- package/esm/components/use-table/use-table-virtual.d.ts.map +1 -1
- package/esm/components/use-table/use-table-virtual.js +6 -4
- package/esm/components/use-table/use-table.type.d.ts +93 -0
- package/esm/components/use-table/use-table.type.d.ts.map +1 -1
- package/esm/components/use-tabs/context.d.ts +1 -1
- package/esm/components/use-tabs/context.d.ts.map +1 -1
- package/esm/components/use-tabs/use-tabs.d.ts +1 -1
- package/esm/components/use-tree/index.d.ts +3 -2
- package/esm/components/use-tree/index.d.ts.map +1 -1
- package/esm/components/use-tree/index.js +3 -2
- package/esm/components/use-tree/use-tree-node.d.ts.map +1 -1
- package/esm/components/use-tree/use-tree-node.js +1 -5
- package/esm/components/use-tree/use-tree-node.type.d.ts +18 -0
- package/esm/components/use-tree/use-tree-node.type.d.ts.map +1 -1
- package/esm/components/use-tree/use-tree-virtual-node.d.ts +13 -0
- package/esm/components/use-tree/use-tree-virtual-node.d.ts.map +1 -0
- package/esm/components/use-tree/use-tree-virtual-node.js +85 -0
- package/esm/components/use-tree/use-tree.d.ts.map +1 -1
- package/esm/components/use-tree/use-tree.js +215 -8
- package/esm/components/use-tree/use-tree.type.d.ts +35 -1
- package/esm/components/use-tree/use-tree.type.d.ts.map +1 -1
- package/esm/components/use-treeselect/use-tiled.d.ts +1 -1
- package/esm/utils/dom/element.d.ts +1 -1
- package/esm/utils/dom/element.d.ts.map +1 -1
- package/esm/utils/dom/element.js +4 -2
- package/esm/utils/is.d.ts +2 -0
- package/esm/utils/is.d.ts.map +1 -1
- package/esm/utils/is.js +4 -1
- package/esm/utils/lazyload.d.ts.map +1 -1
- package/esm/utils/lazyload.js +3 -3
- package/esm/utils/object.d.ts +12 -0
- package/esm/utils/object.d.ts.map +1 -1
- package/esm/utils/object.js +34 -1
- package/esm/utils/warning.js +5 -5
- package/package.json +1 -1
@@ -1,9 +1,8 @@
|
|
1
|
-
/// <reference types="react" />
|
2
1
|
import { ProviderProps, UseFormProps, UseFormSlotProps, ValidateFnConfig } from './use-form.type';
|
3
2
|
import { ObjectType } from '../../common/type';
|
4
3
|
declare const useForm: <T extends ObjectType>(props: UseFormProps<T>) => {
|
5
4
|
getFormProps: <TOther extends ObjectType = ObjectType>(externalProps?: TOther) => UseFormSlotProps<TOther>;
|
6
|
-
Provider: (props: ProviderProps) => JSX.Element;
|
5
|
+
Provider: (props: ProviderProps) => import("react/jsx-runtime").JSX.Element;
|
7
6
|
ProviderProps: {
|
8
7
|
formValue: import("./use-form.type").FormContextValueType;
|
9
8
|
formConfig: import("./use-form.type").FormCommonConfig;
|
@@ -21,7 +20,7 @@ declare const useForm: <T extends ObjectType>(props: UseFormProps<T>) => {
|
|
21
20
|
getErrors: () => ObjectType<Error | undefined>;
|
22
21
|
clearValidate: (names?: string[]) => void;
|
23
22
|
validateFields: (fields?: string | string[], config?: ValidateFnConfig) => Promise<T>;
|
24
|
-
validateFieldset: (name: string) => void;
|
23
|
+
validateFieldset: (name: string, config?: ValidateFnConfig) => void;
|
25
24
|
insertError: (name: string, index: number, error?: Error) => void;
|
26
25
|
spliceError: (name: string, index: number) => void;
|
27
26
|
scrollToField: (name: string, scrollIntoViewOptions?: ScrollIntoViewOptions) => void;
|
@@ -41,7 +40,7 @@ declare const useForm: <T extends ObjectType>(props: UseFormProps<T>) => {
|
|
41
40
|
getErrors: () => ObjectType<Error | undefined>;
|
42
41
|
clearValidate: (names?: string[]) => void;
|
43
42
|
validateFields: (fields?: string | string[], config?: ValidateFnConfig) => Promise<T>;
|
44
|
-
validateFieldset: (name: string) => void;
|
43
|
+
validateFieldset: (name: string, config?: ValidateFnConfig) => void;
|
45
44
|
insertError: (name: string, index: number, error?: Error) => void;
|
46
45
|
spliceError: (name: string, index: number) => void;
|
47
46
|
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;;;;;;;;;wBAyRC;gBAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;gBAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;aAAE;8BA9Jd,MAAM;oCAiOD,OAAO;;6BAfb,MAAM,KAAK,KAAK,GAAG,SAAS;;oCAdrB,MAAM,EAAE;sCA5LxC,MAAM,GAAG,MAAM,EAAE,WAAU,gBAAgB;qCA8PvB,MAAM,WAAW,gBAAgB;gCA/CzB,MAAM,SAAS,MAAM,UAAU,KAAK;gCAKpC,MAAM,SAAS,MAAM;kCAnIpD,MAAM,0BAAyB,qBAAqB;;;;;;oBAqEjD;YAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE;0BA9Jd,MAAM;gCAiOD,OAAO;;yBAfb,MAAM,KAAK,KAAK,GAAG,SAAS;;gCAdrB,MAAM,EAAE;kCA5LxC,MAAM,GAAG,MAAM,EAAE,WAAU,gBAAgB;iCA8PvB,MAAM,WAAW,gBAAgB;4BA/CzB,MAAM,SAAS,MAAM,UAAU,KAAK;4BAKpC,MAAM,SAAS,MAAM;8BAnIpD,MAAM,0BAAyB,qBAAqB;;CAma9D,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,
|
@@ -44,10 +44,10 @@ var useForm = function useForm(props) {
|
|
44
44
|
forceSet: true
|
45
45
|
};
|
46
46
|
var preValue = usePrevious(props.value);
|
47
|
-
var formDomRef = React.useRef();
|
48
47
|
var _React$useRef = React.useRef({
|
49
48
|
defaultValues: {},
|
50
49
|
validateMap: {},
|
50
|
+
ignoreValidateFields: [],
|
51
51
|
updateMap: {},
|
52
52
|
flowMap: {},
|
53
53
|
removeArr: new Set(),
|
@@ -80,10 +80,21 @@ var useForm = function useForm(props) {
|
|
80
80
|
} else {
|
81
81
|
var names = isArray(name) ? name : [name];
|
82
82
|
names.forEach(function (key) {
|
83
|
-
var _context$
|
84
|
-
|
85
|
-
|
86
|
-
|
83
|
+
var _context$flowMap$key;
|
84
|
+
// 外部直接设置user.name这种格式的,但是又没有显性的声明user.name绑定的表单元素;
|
85
|
+
// 这里需要手动触发,否则会导致Input输入过程中光标跳到末尾的异常
|
86
|
+
if (!context.updateMap[key]) {
|
87
|
+
var _context$updateMap$pa;
|
88
|
+
var parentKey = key.split('.')[0];
|
89
|
+
(_context$updateMap$pa = context.updateMap[parentKey]) === null || _context$updateMap$pa === void 0 || _context$updateMap$pa.forEach(function (update) {
|
90
|
+
update(context.value, context.errors, context.serverErrors);
|
91
|
+
});
|
92
|
+
} else {
|
93
|
+
var _context$updateMap$ke2;
|
94
|
+
(_context$updateMap$ke2 = context.updateMap[key]) === null || _context$updateMap$ke2 === void 0 || _context$updateMap$ke2.forEach(function (update) {
|
95
|
+
update(context.value, context.errors, context.serverErrors);
|
96
|
+
});
|
97
|
+
}
|
87
98
|
(_context$flowMap$key = context.flowMap[key]) === null || _context$flowMap$key === void 0 || _context$flowMap$key.forEach(function (update) {
|
88
99
|
update();
|
89
100
|
});
|
@@ -106,9 +117,9 @@ var useForm = function useForm(props) {
|
|
106
117
|
onError === null || onError === void 0 || onError(err);
|
107
118
|
if (!props.scrollToError) return;
|
108
119
|
setTimeout(function () {
|
109
|
-
var
|
120
|
+
var _props$formElRef$curr;
|
110
121
|
var selector = "[".concat(getDataAttributeName('status'), "=\"error\"]");
|
111
|
-
var el = (
|
122
|
+
var el = (_props$formElRef$curr = props.formElRef.current) === null || _props$formElRef$curr === void 0 ? void 0 : _props$formElRef$curr.querySelector(selector);
|
112
123
|
if (el) {
|
113
124
|
el.scrollIntoView();
|
114
125
|
var focusableSelectors = 'textarea, input,[tabindex]:not([tabindex="-1"])';
|
@@ -140,11 +151,28 @@ var useForm = function useForm(props) {
|
|
140
151
|
var validateFields = usePersistFn(function (fields) {
|
141
152
|
var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
142
153
|
return new Promise(function (resolve, reject) {
|
143
|
-
var finalFields =
|
144
|
-
|
145
|
-
|
154
|
+
var finalFields = Object.keys(context.validateMap);
|
155
|
+
if (fields) {
|
156
|
+
if (config.ignoreChildren || config.ignoreBind) {
|
157
|
+
// 旧行为:仅校验当前字段
|
158
|
+
finalFields = (isArray(fields) ? fields : [fields]).filter(function (key) {
|
159
|
+
return context.validateMap[key];
|
160
|
+
});
|
161
|
+
} else {
|
162
|
+
// 新行为:校验当前字段及其所有子字段
|
163
|
+
// 假设进去的是['user'],那么最终的finalFields是['user', 'user.name', 'user.age']
|
164
|
+
// 假设进去的是['users'],那么最终的finalFields是['users', 'users[0].name', 'users[0].age', 'users[1].name', 'users[1].age']
|
165
|
+
finalFields = getCompleteFieldKeys(fields, finalFields);
|
166
|
+
}
|
167
|
+
}
|
168
|
+
if (context.ignoreValidateFields.length > 0) {
|
169
|
+
finalFields = finalFields.filter(function (key) {
|
170
|
+
return !context.ignoreValidateFields.includes(key);
|
171
|
+
});
|
172
|
+
}
|
146
173
|
var validates = finalFields.map(function (key) {
|
147
174
|
var validateField = context.validateMap[key];
|
175
|
+
if (!validateField) return [];
|
148
176
|
return Array.from(validateField).map(function (validate) {
|
149
177
|
return validate(key, deepGet(context.value, key), context.value, config);
|
150
178
|
});
|
@@ -215,10 +243,20 @@ var useForm = function useForm(props) {
|
|
215
243
|
var isVisibleX = elementRect.left >= parentRect.left && elementRect.right <= parentRect.right;
|
216
244
|
if (!isVisibleY || !isVisibleX) {
|
217
245
|
// 计算元素相对于父元素的偏移量
|
218
|
-
var offsetTop =
|
219
|
-
var offsetLeft =
|
220
|
-
|
221
|
-
|
246
|
+
var offsetTop = elementRect.top - parentRect.top;
|
247
|
+
var offsetLeft = elementRect.left - parentRect.left;
|
248
|
+
// 如果是往上滚动,那么只有当元素的偏移量小于0时才需要滚动
|
249
|
+
if (offsetTop < 0) {
|
250
|
+
parentEl.scrollTop = Math.max(parentEl.scrollTop + offsetTop, 0);
|
251
|
+
} else {
|
252
|
+
parentEl.scrollTop = Math.min(parentEl.scrollTop + offsetTop, parentEl.scrollHeight - parentEl.clientHeight);
|
253
|
+
}
|
254
|
+
// 如果是往左滚动,那么只有当元素的偏移量小于0时才需要滚动
|
255
|
+
if (offsetLeft < 0) {
|
256
|
+
parentEl.scrollLeft = Math.max(parentEl.scrollLeft + offsetLeft, 0);
|
257
|
+
} else {
|
258
|
+
parentEl.scrollLeft = Math.min(parentEl.scrollLeft + offsetLeft, parentEl.scrollWidth - parentEl.clientWidth);
|
259
|
+
}
|
222
260
|
}
|
223
261
|
} else {
|
224
262
|
// 如果没有找到可滚动的父元素,使用默认行为
|
@@ -377,7 +415,7 @@ var useForm = function useForm(props) {
|
|
377
415
|
}, 10);
|
378
416
|
};
|
379
417
|
};
|
380
|
-
var validateFieldset = function validateFieldset(name) {
|
418
|
+
var validateFieldset = function validateFieldset(name, config) {
|
381
419
|
var na = "".concat(name, "[");
|
382
420
|
var no = "".concat(name, ".");
|
383
421
|
var fields = [];
|
@@ -386,6 +424,15 @@ var useForm = function useForm(props) {
|
|
386
424
|
fields.push(key);
|
387
425
|
}
|
388
426
|
});
|
427
|
+
|
428
|
+
// 用户声明了跳过校验子字段
|
429
|
+
if (config !== null && config !== void 0 && config.ignoreChildren) {
|
430
|
+
var parentName = name.split('[')[0];
|
431
|
+
context.ignoreValidateFields = getCompleteFieldKeys(parentName, Array.from(context.names));
|
432
|
+
setTimeout(function () {
|
433
|
+
context.ignoreValidateFields = [];
|
434
|
+
});
|
435
|
+
}
|
389
436
|
validateFields(fields).catch(function () {});
|
390
437
|
};
|
391
438
|
var getDefaultValue = function getDefaultValue() {
|
@@ -413,7 +460,6 @@ var useForm = function useForm(props) {
|
|
413
460
|
var externalProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
414
461
|
var externalEventHandlers = extractEventHandlers(externalProps);
|
415
462
|
return _objectSpread(_objectSpread(_objectSpread({}, externalProps), externalEventHandlers), {}, {
|
416
|
-
ref: formDomRef,
|
417
463
|
disabled: !!disabled,
|
418
464
|
onSubmit: handleSubmit(externalEventHandlers),
|
419
465
|
onReset: handleReset(externalEventHandlers)
|
@@ -459,6 +505,7 @@ var useForm = function useForm(props) {
|
|
459
505
|
}
|
460
506
|
if (validateFieldSet.size === 0 && updateFieldSet.size === 0) {
|
461
507
|
context.names.delete(n);
|
508
|
+
delete context.errors[n];
|
462
509
|
delete context.defaultValues[n];
|
463
510
|
}
|
464
511
|
var finalReserveAble = (_props$reserveAble = props.reserveAble) !== null && _props$reserveAble !== void 0 ? _props$reserveAble : reserveAble;
|
@@ -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
|
}
|
@@ -184,7 +185,9 @@ export interface BaseFormProps<T> extends Omit<FormCommonConfig, 'formName'> {
|
|
184
185
|
*/
|
185
186
|
name?: string;
|
186
187
|
}
|
187
|
-
export type UseFormProps<T> = BaseFormProps<T
|
188
|
+
export type UseFormProps<T> = BaseFormProps<T> & {
|
189
|
+
formElRef: React.RefObject<HTMLFormElement>;
|
190
|
+
};
|
188
191
|
export type FormContext = {
|
189
192
|
defaultValues: ObjectType;
|
190
193
|
validateMap: ObjectType<Set<(name: string, v: any, formValue: ObjectType, config?: {
|
@@ -204,6 +207,7 @@ export type FormContext = {
|
|
204
207
|
serverErrors: ObjectType<Error | undefined>;
|
205
208
|
unmounted: boolean;
|
206
209
|
removeLock: boolean;
|
210
|
+
ignoreValidateFields: string[];
|
207
211
|
};
|
208
212
|
export type UseFormSlotOwnProps = {
|
209
213
|
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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"}
|
@@ -5,7 +5,7 @@ declare const useInputFormat: (props: InputFormatProps) => {
|
|
5
5
|
onBlur: (e: React.FocusEvent) => void;
|
6
6
|
onFocus: (e: React.FocusEvent) => void;
|
7
7
|
value: string | undefined;
|
8
|
-
type: "search" |
|
8
|
+
type: "search" | (string & {}) | "color" | "button" | "time" | "reset" | "submit" | "email" | "url" | "range" | "tel" | "hidden" | "checkbox" | "radio" | "text" | "date" | "datetime-local" | "file" | "image" | "month" | "password" | "week" | undefined;
|
9
9
|
};
|
10
10
|
export default useInputFormat;
|
11
11
|
//# sourceMappingURL=use-input-format.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-input-format.d.ts","sourceRoot":"","sources":["use-input-format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAM3D,QAAA,MAAM,cAAc,UAAW,gBAAgB;kBAsBP,MAAM,GAAG,SAAS;
|
1
|
+
{"version":3,"file":"use-input-format.d.ts","sourceRoot":"","sources":["use-input-format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAM3D,QAAA,MAAM,cAAc,UAAW,gBAAgB;kBAsBP,MAAM,GAAG,SAAS;gBAoCpB,gBAAgB;iBAgDd,gBAAgB;;;CAyBvD,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
@@ -21,7 +21,7 @@ var useInputFormat = function useInputFormat(props) {
|
|
21
21
|
autoFix = props.autoFix,
|
22
22
|
coin = props.coin,
|
23
23
|
cancelBlurChange = props.cancelBlurChange;
|
24
|
-
var _React$useState = React.useState(
|
24
|
+
var _React$useState = React.useState(coin),
|
25
25
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
26
26
|
showCoin = _React$useState2[0],
|
27
27
|
setShowCoin = _React$useState2[1];
|
@@ -48,6 +48,13 @@ var useInputFormat = function useInputFormat(props) {
|
|
48
48
|
var noNeg = numType === 'non-negative' || numType === 'positive';
|
49
49
|
var regExp = new RegExp("^(".concat(noNeg ? '' : '-', ")?(\\d").concat(regLength(integerLimit), ")(").concat(digits !== 0 ? "\\.\\d".concat(regLength(digits)) : '', ")?.*$"), 'g');
|
50
50
|
value = value.replace(regExp, '$1$2$3');
|
51
|
+
|
52
|
+
// 修正小数位数
|
53
|
+
var _value = v.split('.');
|
54
|
+
var __value = value.split('.');
|
55
|
+
if (_value[1] !== undefined && __value[1] === undefined && digits !== 0) {
|
56
|
+
value = "".concat(value, ".").concat(_value[1]);
|
57
|
+
}
|
51
58
|
}
|
52
59
|
onChange(value);
|
53
60
|
});
|
@@ -105,14 +112,15 @@ var useInputFormat = function useInputFormat(props) {
|
|
105
112
|
});
|
106
113
|
function getValue(str) {
|
107
114
|
if (type === 'number' && coin) {
|
108
|
-
|
109
|
-
|
115
|
+
var _str = str;
|
116
|
+
if (showCoin && _str) {
|
117
|
+
return "".concat(_str).replace(/\d+/, function (n) {
|
110
118
|
return n.replace(/(\d)(?=(\d{3})+$)/g, function ($1) {
|
111
119
|
return "".concat($1, ",");
|
112
120
|
});
|
113
121
|
});
|
114
122
|
}
|
115
|
-
return "".concat(
|
123
|
+
return "".concat(_str === 0 ? _str : _str || '').replace(/,/g, '');
|
116
124
|
}
|
117
125
|
return str;
|
118
126
|
}
|
@@ -7,7 +7,7 @@ declare const useNumberFormat: (props: InputNumberProps) => {
|
|
7
7
|
onBlur: (e: React.FocusEvent<Element, Element>) => void;
|
8
8
|
onFocus: (e: React.FocusEvent<Element, Element>) => void;
|
9
9
|
value: string | undefined;
|
10
|
-
type: "search" |
|
10
|
+
type: "search" | (string & {}) | "color" | "button" | "time" | "reset" | "submit" | "email" | "url" | "range" | "tel" | "hidden" | "checkbox" | "radio" | "text" | "date" | "datetime-local" | "file" | "image" | "month" | "password" | "week" | undefined;
|
11
11
|
};
|
12
12
|
export default useNumberFormat;
|
13
13
|
//# sourceMappingURL=use-input-number.d.ts.map
|
@@ -2,9 +2,10 @@ export { default, default as useTableLayout } from './use-table-layout';
|
|
2
2
|
export { default as useTableColumns } from './use-table-columns';
|
3
3
|
export { default as useTableGroup } from './use-table-group';
|
4
4
|
export { default as useTableSort } from './use-table-sort';
|
5
|
+
export { default as useTableFilter } from './use-table-filter';
|
5
6
|
export { default as useTableRow } from './use-table-row';
|
6
7
|
export { default as useTableExpand } from './use-table-expand';
|
7
8
|
export { default as useTableTree } from './use-table-tree';
|
8
9
|
export { default as useTableVirtual } from './use-table-virtual';
|
9
|
-
export type { TableFormatColumn, TableColumnItem, TableHeadColumn, TableGroupColumn, TableSorterInfo, BaseTableProps, } from './use-table.type';
|
10
|
+
export type { TableFormatColumn, TableColumnItem, TableHeadColumn, TableGroupColumn, TableSorterInfo, BaseTableProps, TableColumnFilter, TableFilterData, } from './use-table.type';
|
10
11
|
//# sourceMappingURL=index.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEjE,YAAY,EACV,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,cAAc,
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEjE,YAAY,EACV,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,eAAe,GAChB,MAAM,kBAAkB,CAAC"}
|
@@ -3,6 +3,7 @@ export { default, default as useTableLayout } from "./use-table-layout";
|
|
3
3
|
export { default as useTableColumns } from "./use-table-columns";
|
4
4
|
export { default as useTableGroup } from "./use-table-group";
|
5
5
|
export { default as useTableSort } from "./use-table-sort";
|
6
|
+
export { default as useTableFilter } from "./use-table-filter";
|
6
7
|
export { default as useTableRow } from "./use-table-row";
|
7
8
|
export { default as useTableExpand } from "./use-table-expand";
|
8
9
|
export { default as useTableTree } from "./use-table-tree";
|
@@ -0,0 +1,19 @@
|
|
1
|
+
/// <reference types="react" />
|
2
|
+
import { TableColumnItem, BaseTableProps } from './use-table.type';
|
3
|
+
import { KeygenResult } from '../../common/type';
|
4
|
+
export interface UseTableSorterProps<Item = any> extends Pick<BaseTableProps<Item>, 'onSortCancel' | 'sorter' | 'data'> {
|
5
|
+
columns?: TableColumnItem<Item>[];
|
6
|
+
}
|
7
|
+
export interface FilterInfo<T> {
|
8
|
+
value?: any;
|
9
|
+
onFilter?: (value: any, row: T) => boolean;
|
10
|
+
}
|
11
|
+
export type FilterMap<T> = Map<KeygenResult, FilterInfo<T>>;
|
12
|
+
declare const useTableFilter: <Item = any>(props: UseTableSorterProps<Item>) => {
|
13
|
+
filterInfo: FilterMap<Item>;
|
14
|
+
setFilterInfo: import("react").Dispatch<import("react").SetStateAction<FilterMap<Item>>>;
|
15
|
+
filteredData: Item[] | undefined;
|
16
|
+
onFilterChange: (columnKey: KeygenResult, value: any) => void;
|
17
|
+
};
|
18
|
+
export default useTableFilter;
|
19
|
+
//# sourceMappingURL=use-table-filter.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"use-table-filter.d.ts","sourceRoot":"","sources":["use-table-filter.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEnE,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,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;CACnC;AACD,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,KAAK,CAAC,EAAE,GAAG,CAAA;IACX,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC;CAC5C;AAED,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAE5D,QAAA,MAAM,cAAc;;;;gCA6BH,YAAY,SAAS,GAAG;CAmDxC,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
@@ -0,0 +1,88 @@
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
4
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
5
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
6
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
7
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
8
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
9
|
+
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); }
|
10
|
+
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; }
|
11
|
+
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; } }
|
12
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
13
|
+
import { useState, useMemo, useEffect } from 'react';
|
14
|
+
import usePersistFn from "../../common/use-persist-fn";
|
15
|
+
import { isFunc } from "../../utils/is";
|
16
|
+
var useTableFilter = function useTableFilter(props) {
|
17
|
+
var _useState = useState(new Map()),
|
18
|
+
_useState2 = _slicedToArray(_useState, 2),
|
19
|
+
filterInfo = _useState2[0],
|
20
|
+
setFilterInfo = _useState2[1];
|
21
|
+
var activeFilters = useMemo(function () {
|
22
|
+
return Array.from(filterInfo.keys()).filter(function (key) {
|
23
|
+
var _filterInfo$get;
|
24
|
+
return ((_filterInfo$get = filterInfo.get(key)) === null || _filterInfo$get === void 0 ? void 0 : _filterInfo$get.value) !== undefined;
|
25
|
+
});
|
26
|
+
}, [filterInfo]);
|
27
|
+
var filteredData = useMemo(function () {
|
28
|
+
var _props$data;
|
29
|
+
if (activeFilters.length === 0) return props.data;
|
30
|
+
return (_props$data = props.data) === null || _props$data === void 0 ? void 0 : _props$data.filter(function (item) {
|
31
|
+
return activeFilters.every(function (key) {
|
32
|
+
var filter = filterInfo.get(key);
|
33
|
+
if ((filter === null || filter === void 0 ? void 0 : filter.value) === undefined) return true;
|
34
|
+
if (Array.isArray(filter.value) && filter.value.length === 0) return true;
|
35
|
+
if (filter !== null && filter !== void 0 && filter.onFilter && isFunc(filter.onFilter)) {
|
36
|
+
return filter.onFilter(filter.value, item);
|
37
|
+
}
|
38
|
+
return true;
|
39
|
+
});
|
40
|
+
});
|
41
|
+
}, [activeFilters, props.data]);
|
42
|
+
var onFilterChange = usePersistFn(function (columnKey, value) {
|
43
|
+
if (columnKey === '__reset__') {
|
44
|
+
setFilterInfo(function (prev) {
|
45
|
+
var next = new Map(prev);
|
46
|
+
next.forEach(function (v, k) {
|
47
|
+
next.set(k, _objectSpread(_objectSpread({}, v), {}, {
|
48
|
+
value: undefined
|
49
|
+
}));
|
50
|
+
});
|
51
|
+
return next;
|
52
|
+
});
|
53
|
+
} else {
|
54
|
+
setFilterInfo(function (prev) {
|
55
|
+
var _prev$get;
|
56
|
+
var next = new Map(prev);
|
57
|
+
next.set(columnKey, {
|
58
|
+
value: value,
|
59
|
+
onFilter: (_prev$get = prev.get(columnKey)) === null || _prev$get === void 0 ? void 0 : _prev$get.onFilter
|
60
|
+
});
|
61
|
+
return next;
|
62
|
+
});
|
63
|
+
}
|
64
|
+
});
|
65
|
+
|
66
|
+
// 根据columns生成filterInfo
|
67
|
+
useEffect(function () {
|
68
|
+
var _props$columns;
|
69
|
+
var _filterInfo = props === null || props === void 0 || (_props$columns = props.columns) === null || _props$columns === void 0 ? void 0 : _props$columns.reduce(function (acc, column, index) {
|
70
|
+
var _column$filter;
|
71
|
+
if (!column.filter) return acc;
|
72
|
+
var columnKey = typeof column.render === 'string' ? column.render : String(index);
|
73
|
+
acc.set(columnKey, {
|
74
|
+
value: undefined,
|
75
|
+
onFilter: (_column$filter = column.filter) === null || _column$filter === void 0 ? void 0 : _column$filter.onFilter
|
76
|
+
});
|
77
|
+
return acc;
|
78
|
+
}, new Map());
|
79
|
+
if (_filterInfo) setFilterInfo(_filterInfo);
|
80
|
+
}, [props.columns]);
|
81
|
+
return {
|
82
|
+
filterInfo: filterInfo,
|
83
|
+
setFilterInfo: setFilterInfo,
|
84
|
+
filteredData: filteredData,
|
85
|
+
onFilterChange: onFilterChange
|
86
|
+
};
|
87
|
+
};
|
88
|
+
export default useTableFilter;
|
@@ -15,6 +15,11 @@ declare const useTableSort: <Item = any>(props: UseTableSorterProps<Item>) => {
|
|
15
15
|
sortInfo: SortMap;
|
16
16
|
onSorterChange: (columnKey: KeygenResult, direction: 'desc' | 'asc' | null, manual: boolean | undefined, columnSorter: string | import("./use-table.type").TableColumnSorter | ((order: import("./use-table.type").TableColumnOrder) => void | ((prevRowData: Item, nextRowData: Item) => number)) | undefined) => void;
|
17
17
|
sortedData: Item[];
|
18
|
+
sortByColumn: (params: {
|
19
|
+
columnKey: KeygenResult;
|
20
|
+
direction: 'desc' | 'asc' | null;
|
21
|
+
columnSorter: string | import("./use-table.type").TableColumnSorter | ((order: import("./use-table.type").TableColumnOrder) => void | ((prevRowData: Item, nextRowData: Item) => number)) | undefined;
|
22
|
+
}) => void;
|
18
23
|
};
|
19
24
|
export default useTableSort;
|
20
25
|
//# sourceMappingURL=use-table-sort.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-table-sort.d.ts","sourceRoot":"","sources":["use-table-sort.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEtF,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,WAAW,mBAAmB,CAAC,IAAI,GAAG,GAAG,CAC7C,SAAQ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,QAAQ,GAAG,MAAM,CAAC;IACtE,OAAO,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;CACpC;AACD,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,KAAK,MAAM,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC;IACvD,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,QAAQ,CAAC,CAAC;AACrD,QAAA,MAAM,YAAY;;gCAoCD,YAAY,aAIZ,MAAM,GAAG,KAAK,GAAG,IAAI
|
1
|
+
{"version":3,"file":"use-table-sort.d.ts","sourceRoot":"","sources":["use-table-sort.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEtF,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,WAAW,mBAAmB,CAAC,IAAI,GAAG,GAAG,CAC7C,SAAQ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,QAAQ,GAAG,MAAM,CAAC;IACtE,OAAO,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;CACpC;AACD,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,KAAK,MAAM,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC;IACvD,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,QAAQ,CAAC,CAAC;AACrD,QAAA,MAAM,YAAY;;gCAoCD,YAAY,aAIZ,MAAM,GAAG,KAAK,GAAG,IAAI;;;mBA4EmB,YAAY;mBAAa,MAAM,GAAG,KAAK,GAAG,IAAI;;;CA6BtG,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
@@ -135,6 +135,9 @@ var useTableSort = function useTableSort(props) {
|
|
135
135
|
}
|
136
136
|
}
|
137
137
|
});
|
138
|
+
var sortByColumn = usePersistFn(function (params) {
|
139
|
+
onSorterChange(params.columnKey, params.direction, true, params.columnSorter);
|
140
|
+
});
|
138
141
|
useEffect(function () {
|
139
142
|
if (context.mounted) return;
|
140
143
|
var hasSingleDefaultOrder = false;
|
@@ -156,7 +159,8 @@ var useTableSort = function useTableSort(props) {
|
|
156
159
|
return {
|
157
160
|
sortInfo: sortInfo,
|
158
161
|
onSorterChange: onSorterChange,
|
159
|
-
sortedData: sortedData
|
162
|
+
sortedData: sortedData,
|
163
|
+
sortByColumn: sortByColumn
|
160
164
|
};
|
161
165
|
};
|
162
166
|
export default useTableSort;
|
@@ -1,5 +1,18 @@
|
|
1
1
|
import type { BaseTableProps } from './use-table.type';
|
2
2
|
import { OptionalToRequired } from '../../common/type';
|
3
|
+
type treeDataInfoType = {
|
4
|
+
id: string | number;
|
5
|
+
level: number;
|
6
|
+
data: any;
|
7
|
+
pid: null | string | number;
|
8
|
+
};
|
9
|
+
interface GetExpandDataVirtualResult {
|
10
|
+
treeData: any[];
|
11
|
+
treeExpandLevel: Map<any, number>;
|
12
|
+
unmatchExpandKeys: (string | number)[];
|
13
|
+
treeDataInfo: treeDataInfoType[];
|
14
|
+
}
|
15
|
+
export declare const getExpandVirtualData: (_treeData: any[], keys: (string | number)[], keygen: any, treeColumnsName?: string) => GetExpandDataVirtualResult;
|
3
16
|
export interface UseTableTreeProps extends Pick<OptionalToRequired<BaseTableProps<any>>, 'onTreeExpand' | 'treeExpandKeys' | 'defaultTreeExpandKeys' | 'keygen'> {
|
4
17
|
treeColumnsName: string | undefined;
|
5
18
|
data: any[];
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-table-tree.d.ts","sourceRoot":"","sources":["use-table-tree.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;
|
1
|
+
{"version":3,"file":"use-table-tree.d.ts","sourceRoot":"","sources":["use-table-tree.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAIvD,KAAK,gBAAgB,GAAG;IACtB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,GAAG,CAAC;IACV,GAAG,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;CAC7B,CAAC;AAOF,UAAU,0BAA0B;IAClC,QAAQ,EAAE,GAAG,EAAE,CAAC;IAChB,eAAe,EAAE,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAClC,iBAAiB,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IACvC,YAAY,EAAE,gBAAgB,EAAE,CAAC;CAClC;AAwCD,eAAO,MAAM,oBAAoB,cACpB,GAAG,EAAE,QACV,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,UACjB,GAAG,oBACO,MAAM,KACvB,0BAyDF,CAAC;AAEF,MAAM,WAAW,iBACf,SAAQ,IAAI,CACV,kBAAkB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,EACvC,cAAc,GAAG,gBAAgB,GAAG,uBAAuB,GAAG,QAAQ,CACvE;IACD,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,IAAI,EAAE,GAAG,EAAE,CAAC;CACb;AAED,eAAO,MAAM,YAAY,UAAW,iBAAiB;;;;;;+BA6BR,GAAG,SAAS,MAAM;iCAjBhB,GAAG,SAAS,MAAM;;CA4DhE,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
@@ -54,6 +54,73 @@ var getExpandData = function getExpandData(_treeData, keys, keygen, treeColumnsN
|
|
54
54
|
unmatchExpandKeys: unmatchExpandKeys
|
55
55
|
};
|
56
56
|
};
|
57
|
+
export var getExpandVirtualData = function getExpandVirtualData(_treeData, keys, keygen, treeColumnsName) {
|
58
|
+
var expandKeys = keys;
|
59
|
+
var expandSet = new Set(expandKeys);
|
60
|
+
var unmatchExpandKeys = [];
|
61
|
+
var treeExpandLevel = new Map();
|
62
|
+
if (expandSet.size === 0 || !treeColumnsName) {
|
63
|
+
var _treeDataInfo = _treeData.map(function (item, index) {
|
64
|
+
return {
|
65
|
+
id: getKey(keygen, item, index),
|
66
|
+
level: 1,
|
67
|
+
data: item,
|
68
|
+
pid: null
|
69
|
+
};
|
70
|
+
});
|
71
|
+
return {
|
72
|
+
treeData: _treeData,
|
73
|
+
treeExpandLevel: treeExpandLevel,
|
74
|
+
unmatchExpandKeys: unmatchExpandKeys,
|
75
|
+
treeDataInfo: _treeDataInfo
|
76
|
+
};
|
77
|
+
}
|
78
|
+
var treeData = _toConsumableArray(_treeData || []);
|
79
|
+
var treeDataInfo = treeData.map(function (item) {
|
80
|
+
return {
|
81
|
+
id: getKey(keygen, item),
|
82
|
+
level: 1,
|
83
|
+
data: item,
|
84
|
+
pid: null
|
85
|
+
};
|
86
|
+
});
|
87
|
+
var _loop2 = function _loop2() {
|
88
|
+
if (expandSet.size === 0) return 1; // break
|
89
|
+
var item = treeData[i];
|
90
|
+
var key = getKey(keygen, item, i);
|
91
|
+
var parentLevel = treeExpandLevel.get(key) || 0;
|
92
|
+
var children = isObject(item) && item[treeColumnsName];
|
93
|
+
if (expandSet.has(key)) {
|
94
|
+
if (children && children.length > 0) {
|
95
|
+
var nodes = [];
|
96
|
+
children.forEach(function (child) {
|
97
|
+
var node = {
|
98
|
+
id: getKey(keygen, child),
|
99
|
+
level: parentLevel + 2,
|
100
|
+
data: child,
|
101
|
+
pid: key
|
102
|
+
};
|
103
|
+
nodes.push(node);
|
104
|
+
treeExpandLevel.set(getKey(keygen, child), parentLevel + 1);
|
105
|
+
});
|
106
|
+
treeData.splice.apply(treeData, [i + 1, 0].concat(_toConsumableArray(children)));
|
107
|
+
treeDataInfo.splice.apply(treeDataInfo, [i + 1, 0].concat(nodes));
|
108
|
+
expandSet.delete(key);
|
109
|
+
} else {
|
110
|
+
unmatchExpandKeys.push(key);
|
111
|
+
}
|
112
|
+
}
|
113
|
+
};
|
114
|
+
for (var i = 0; i < treeData.length; i++) {
|
115
|
+
if (_loop2()) break;
|
116
|
+
}
|
117
|
+
return {
|
118
|
+
treeData: treeData,
|
119
|
+
treeExpandLevel: treeExpandLevel,
|
120
|
+
unmatchExpandKeys: unmatchExpandKeys,
|
121
|
+
treeDataInfo: treeDataInfo
|
122
|
+
};
|
123
|
+
};
|
57
124
|
export var useTableTree = function useTableTree(props) {
|
58
125
|
var _useState = useState(props.defaultTreeExpandKeys || []),
|
59
126
|
_useState2 = _slicedToArray(_useState, 2),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-table-virtual.d.ts","sourceRoot":"","sources":["use-table-virtual.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAWrD,UAAU,oBAAoB;IAC5B,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC3C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,QAAQ,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;CAC3C;AACD,QAAA,MAAM,eAAe,UAAW,oBAAoB;;;;;;;oBAuMpC,MAAM;mBACP,MAAM;WACd,MAAM;gBACD,MAAM;kBACJ,OAAO;;0BAnGuB,MAAM,UAAU,MAAM;0BAxBtB,MAAM,QAAQ,MAAM;2BA+JnB,MAAM,aAAa,MAAM,IAAI;qCAoBnB,MAAM;mCAWR,MAAM,GAAG,MAAM;
|
1
|
+
{"version":3,"file":"use-table-virtual.d.ts","sourceRoot":"","sources":["use-table-virtual.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAWrD,UAAU,oBAAoB;IAC5B,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC3C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,QAAQ,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;CAC3C;AACD,QAAA,MAAM,eAAe,UAAW,oBAAoB;;;;;;;oBAuMpC,MAAM;mBACP,MAAM;WACd,MAAM;gBACD,MAAM;kBACJ,OAAO;;0BAnGuB,MAAM,UAAU,MAAM;0BAxBtB,MAAM,QAAQ,MAAM;2BA+JnB,MAAM,aAAa,MAAM,IAAI;qCAoBnB,MAAM;mCAWR,MAAM,GAAG,MAAM;CA2FnE,CAAC;AAEF,eAAe,eAAe,CAAC"}
|