@sheinx/hooks 3.6.0-beta.18 → 3.6.0-beta.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/components/use-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-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 +97 -0
- 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/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-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 +90 -0
- 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/package.json +1 -1
@@ -22,7 +22,7 @@ declare const useCheck: (props: BaseCheckProps) => {
|
|
22
22
|
ref: ((instance: HTMLInputElement | null) => void) | null;
|
23
23
|
disabled: boolean | undefined;
|
24
24
|
};
|
25
|
-
getRootProps: <TOther_2 extends ObjectType>(externalProps?: TOther_2) => TOther_2 & {
|
25
|
+
getRootProps: <TOther_2 extends ObjectType>(externalProps?: TOther_2) => Omit<TOther_2, "needStopPropagation"> & {
|
26
26
|
onClick: (event: React.MouseEvent) => void;
|
27
27
|
};
|
28
28
|
disabled: boolean | undefined;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-check.d.ts","sourceRoot":"","sources":["use-check.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;
|
1
|
+
{"version":3,"file":"use-check.d.ts","sourceRoot":"","sources":["use-check.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAI5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,QAAA,MAAM,QAAQ,UAAW,cAAc;;;;;qBAuDpB,gBAAgB,CAAC,gBAAgB,CAAC;0BArBT,MAAM,WAAW,CAAC,gBAAgB,CAAC;;;;;;;;;;;yBAnBa,gBAAgB;;;;CAiE3G,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
7
7
|
exports.default = void 0;
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
9
9
|
var _utils = require("../../utils");
|
10
|
+
var _ = require("../..");
|
10
11
|
var _useForkRef = _interopRequireDefault(require("../../common/use-fork-ref"));
|
11
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
12
13
|
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; }
|
@@ -43,9 +44,12 @@ var useCheck = function useCheck(props) {
|
|
43
44
|
};
|
44
45
|
var inputRef = _react.default.useRef(null);
|
45
46
|
var handleInputRef = (0, _useForkRef.default)(inputRef, inputRefPo);
|
46
|
-
var handleClick = function handleClick(otherHandlers) {
|
47
|
+
var handleClick = function handleClick(otherHandlers, needStopPropagation) {
|
47
48
|
return function (event) {
|
48
49
|
var _inputRef$current, _otherHandlers$onClic;
|
50
|
+
if (needStopPropagation) {
|
51
|
+
event.stopPropagation();
|
52
|
+
}
|
49
53
|
(_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 || _inputRef$current.click();
|
50
54
|
otherHandlers === null || otherHandlers === void 0 || (_otherHandlers$onClic = otherHandlers.onClick) === null || _otherHandlers$onClic === void 0 || _otherHandlers$onClic.call(otherHandlers, event);
|
51
55
|
};
|
@@ -53,8 +57,10 @@ var useCheck = function useCheck(props) {
|
|
53
57
|
var getRootProps = function getRootProps() {
|
54
58
|
var externalProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
55
59
|
var externalEventHandlers = (0, _utils.extractEventHandlers)(externalProps);
|
56
|
-
return _objectSpread(_objectSpread({}, externalProps
|
57
|
-
|
60
|
+
return _objectSpread(_objectSpread({}, _.util.removeProps(externalProps, {
|
61
|
+
needStopPropagation: true
|
62
|
+
})), {}, {
|
63
|
+
onClick: handleClick(externalEventHandlers, externalProps.needStopPropagation)
|
58
64
|
});
|
59
65
|
//封装点击事件 点击触发input 的点击
|
60
66
|
// disabled 禁用后不可点击
|
@@ -83,6 +89,7 @@ var useCheck = function useCheck(props) {
|
|
83
89
|
disabled: disabled
|
84
90
|
}, checkProps), {}, {
|
85
91
|
onClick: function onClick(e) {
|
92
|
+
// TODO: 这个e.stopPropagation生效不了,外部的触发是通过inputRef.current?.click()方式的;没啥用的代码
|
86
93
|
e.stopPropagation();
|
87
94
|
_onClick === null || _onClick === void 0 || _onClick(e);
|
88
95
|
},
|
@@ -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"}
|
@@ -22,6 +22,12 @@ Object.defineProperty(exports, "useTableExpand", {
|
|
22
22
|
return _useTableExpand.default;
|
23
23
|
}
|
24
24
|
});
|
25
|
+
Object.defineProperty(exports, "useTableFilter", {
|
26
|
+
enumerable: true,
|
27
|
+
get: function get() {
|
28
|
+
return _useTableFilter.default;
|
29
|
+
}
|
30
|
+
});
|
25
31
|
Object.defineProperty(exports, "useTableGroup", {
|
26
32
|
enumerable: true,
|
27
33
|
get: function get() {
|
@@ -62,6 +68,7 @@ var _useTableLayout = _interopRequireDefault(require("./use-table-layout"));
|
|
62
68
|
var _useTableColumns = _interopRequireDefault(require("./use-table-columns"));
|
63
69
|
var _useTableGroup = _interopRequireDefault(require("./use-table-group"));
|
64
70
|
var _useTableSort = _interopRequireDefault(require("./use-table-sort"));
|
71
|
+
var _useTableFilter = _interopRequireDefault(require("./use-table-filter"));
|
65
72
|
var _useTableRow = _interopRequireDefault(require("./use-table-row"));
|
66
73
|
var _useTableExpand = _interopRequireDefault(require("./use-table-expand"));
|
67
74
|
var _useTableTree = _interopRequireDefault(require("./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,97 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
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); }
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
5
|
+
value: true
|
6
|
+
});
|
7
|
+
exports.default = void 0;
|
8
|
+
var _react = require("react");
|
9
|
+
var _usePersistFn = _interopRequireDefault(require("../../common/use-persist-fn"));
|
10
|
+
var _is = require("../../utils/is");
|
11
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
12
|
+
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; }
|
13
|
+
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; }
|
14
|
+
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; }
|
15
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
16
|
+
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); }
|
17
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
18
|
+
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."); }
|
19
|
+
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); }
|
20
|
+
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; }
|
21
|
+
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; } }
|
22
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
23
|
+
var useTableFilter = function useTableFilter(props) {
|
24
|
+
var _useState = (0, _react.useState)(new Map()),
|
25
|
+
_useState2 = _slicedToArray(_useState, 2),
|
26
|
+
filterInfo = _useState2[0],
|
27
|
+
setFilterInfo = _useState2[1];
|
28
|
+
var activeFilters = (0, _react.useMemo)(function () {
|
29
|
+
return Array.from(filterInfo.keys()).filter(function (key) {
|
30
|
+
var _filterInfo$get;
|
31
|
+
return ((_filterInfo$get = filterInfo.get(key)) === null || _filterInfo$get === void 0 ? void 0 : _filterInfo$get.value) !== undefined;
|
32
|
+
});
|
33
|
+
}, [filterInfo]);
|
34
|
+
var filteredData = (0, _react.useMemo)(function () {
|
35
|
+
var _props$data;
|
36
|
+
if (activeFilters.length === 0) return props.data;
|
37
|
+
return (_props$data = props.data) === null || _props$data === void 0 ? void 0 : _props$data.filter(function (item) {
|
38
|
+
return activeFilters.every(function (key) {
|
39
|
+
var filter = filterInfo.get(key);
|
40
|
+
if ((filter === null || filter === void 0 ? void 0 : filter.value) === undefined) return true;
|
41
|
+
if (Array.isArray(filter.value) && filter.value.length === 0) return true;
|
42
|
+
if (filter !== null && filter !== void 0 && filter.onFilter && (0, _is.isFunc)(filter.onFilter)) {
|
43
|
+
return filter.onFilter(filter.value, item);
|
44
|
+
}
|
45
|
+
return true;
|
46
|
+
});
|
47
|
+
});
|
48
|
+
}, [activeFilters, props.data]);
|
49
|
+
var onFilterChange = (0, _usePersistFn.default)(function (columnKey, value) {
|
50
|
+
if (columnKey === '__reset__') {
|
51
|
+
setFilterInfo(function (prev) {
|
52
|
+
var next = new Map(prev);
|
53
|
+
next.forEach(function (v, k) {
|
54
|
+
next.set(k, _objectSpread(_objectSpread({}, v), {}, {
|
55
|
+
value: undefined
|
56
|
+
}));
|
57
|
+
});
|
58
|
+
return next;
|
59
|
+
});
|
60
|
+
} else {
|
61
|
+
setFilterInfo(function (prev) {
|
62
|
+
var _prev$get;
|
63
|
+
var next = new Map(prev);
|
64
|
+
next.set(columnKey, {
|
65
|
+
value: value,
|
66
|
+
onFilter: (_prev$get = prev.get(columnKey)) === null || _prev$get === void 0 ? void 0 : _prev$get.onFilter
|
67
|
+
});
|
68
|
+
return next;
|
69
|
+
});
|
70
|
+
}
|
71
|
+
});
|
72
|
+
|
73
|
+
// 根据columns生成filterInfo
|
74
|
+
(0, _react.useEffect)(function () {
|
75
|
+
var _props$columns;
|
76
|
+
var filterColumns = props === null || props === void 0 || (_props$columns = props.columns) === null || _props$columns === void 0 ? void 0 : _props$columns.filter(function (column) {
|
77
|
+
return column.filter;
|
78
|
+
});
|
79
|
+
var _filterInfo = filterColumns === null || filterColumns === void 0 ? void 0 : filterColumns.reduce(function (acc, column, index) {
|
80
|
+
var _column$filter;
|
81
|
+
var columnKey = typeof column.render === 'string' ? column.render : String(index);
|
82
|
+
acc.set(columnKey, {
|
83
|
+
value: undefined,
|
84
|
+
onFilter: (_column$filter = column.filter) === null || _column$filter === void 0 ? void 0 : _column$filter.onFilter
|
85
|
+
});
|
86
|
+
return acc;
|
87
|
+
}, new Map());
|
88
|
+
if (_filterInfo) setFilterInfo(_filterInfo);
|
89
|
+
}, [props.columns]);
|
90
|
+
return {
|
91
|
+
filterInfo: filterInfo,
|
92
|
+
setFilterInfo: setFilterInfo,
|
93
|
+
filteredData: filteredData,
|
94
|
+
onFilterChange: onFilterChange
|
95
|
+
};
|
96
|
+
};
|
97
|
+
var _default = exports.default = useTableFilter;
|
@@ -139,6 +139,93 @@ export interface TableColumnSorter {
|
|
139
139
|
export interface ColumnRenderFunc<DataItem> {
|
140
140
|
(data: DataItem, index: number, checkInstance?: React.ReactComponentElement<any>): React.ReactNode | (() => React.ReactNode);
|
141
141
|
}
|
142
|
+
export interface TableColumnFilterBase<DataItem> {
|
143
|
+
/**
|
144
|
+
* @cn 筛选模式: search 搜索模式, select 选择模式
|
145
|
+
* @en Filter mode: search search mode, select select mode
|
146
|
+
*/
|
147
|
+
mode: 'search' | 'select';
|
148
|
+
/**
|
149
|
+
* @cn 筛选数据的函数
|
150
|
+
* @en Filter data function
|
151
|
+
* @param value 筛选值
|
152
|
+
* @param row 行数据
|
153
|
+
* @returns 是否通过筛选
|
154
|
+
*/
|
155
|
+
onFilter: (value: any, row: DataItem) => boolean;
|
156
|
+
/**
|
157
|
+
* @cn 自定义的筛选项图标
|
158
|
+
* @en Custom filter icon
|
159
|
+
*/
|
160
|
+
icon?: React.ReactNode;
|
161
|
+
}
|
162
|
+
export type TableFilterData = {
|
163
|
+
label: string;
|
164
|
+
value: any;
|
165
|
+
icon?: React.ReactNode;
|
166
|
+
[key: string]: any;
|
167
|
+
children?: TableFilterData[];
|
168
|
+
};
|
169
|
+
export interface SelectModeColumnFilter<DataItem> extends TableColumnFilterBase<DataItem> {
|
170
|
+
/**
|
171
|
+
* @cn 筛选模式为 select 时
|
172
|
+
* @en Filter mode is select
|
173
|
+
*/
|
174
|
+
mode: 'select';
|
175
|
+
/**
|
176
|
+
* 必填的 `config` 字段
|
177
|
+
*/
|
178
|
+
config: {
|
179
|
+
/**
|
180
|
+
* @cn 筛选项数据
|
181
|
+
* @en Filter item data
|
182
|
+
*/
|
183
|
+
data: Array<TableFilterData>;
|
184
|
+
/**
|
185
|
+
* @cn 自定义渲染筛选项
|
186
|
+
* @en Custom rendering filter options
|
187
|
+
* @default (data) => data.label
|
188
|
+
*/
|
189
|
+
renderItem?: ((item: TableFilterData) => React.ReactNode) | ObjectKey<TableFilterData>;
|
190
|
+
/**
|
191
|
+
* @cn 是否多选
|
192
|
+
* @en Whether to multiple select
|
193
|
+
*/
|
194
|
+
multiple?: boolean;
|
195
|
+
/**
|
196
|
+
* @cn 是否开启顶部的搜索框
|
197
|
+
* @en Whether to open the top search box
|
198
|
+
*/
|
199
|
+
search?: boolean;
|
200
|
+
/**
|
201
|
+
* @cn 是否高亮命中的关键词,仅当 search 为 true 时有效
|
202
|
+
* @en Whether to highlight the hit keywords
|
203
|
+
*/
|
204
|
+
highlight?: boolean;
|
205
|
+
};
|
206
|
+
/**
|
207
|
+
* @cn 筛选数据的函数
|
208
|
+
* @en Filter data function
|
209
|
+
* @param value 筛选值,单选时为单个值,多选时为数组
|
210
|
+
* @param row 行数据
|
211
|
+
* @returns 是否通过筛选
|
212
|
+
*/
|
213
|
+
onFilter: (value: any, row: DataItem) => boolean;
|
214
|
+
}
|
215
|
+
export interface SearchModeColumnFilter<DataItem> extends TableColumnFilterBase<DataItem> {
|
216
|
+
/**
|
217
|
+
* 筛选模式为 search 时
|
218
|
+
*/
|
219
|
+
mode: 'search';
|
220
|
+
/**
|
221
|
+
* 此时不允许传 `config`
|
222
|
+
*/
|
223
|
+
config?: never;
|
224
|
+
}
|
225
|
+
/**
|
226
|
+
* 最终的联合类型
|
227
|
+
*/
|
228
|
+
export type TableColumnFilter<DataItem> = SelectModeColumnFilter<DataItem> | SearchModeColumnFilter<DataItem>;
|
142
229
|
/**
|
143
230
|
* @title TableColumn
|
144
231
|
*/
|
@@ -227,6 +314,12 @@ export interface TableColumnItem<DataItem> {
|
|
227
314
|
* @version 3.5.0
|
228
315
|
*/
|
229
316
|
sortDirections?: ('asc' | 'desc')[];
|
317
|
+
/**
|
318
|
+
* @cn 列的筛选配置
|
319
|
+
* @en Column filter configuration
|
320
|
+
* @version 3.6.0
|
321
|
+
*/
|
322
|
+
filter?: TableColumnFilter<DataItem>;
|
230
323
|
/**
|
231
324
|
* @en The content of the header
|
232
325
|
* @cn 表头显示内容
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-table.type.d.ts","sourceRoot":"","sources":["use-table.type.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"use-table.type.d.ts","sourceRoot":"","sources":["use-table.type.ts"],"names":[],"mappings":"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"}
|
@@ -22,7 +22,7 @@ declare const useCheck: (props: BaseCheckProps) => {
|
|
22
22
|
ref: ((instance: HTMLInputElement | null) => void) | null;
|
23
23
|
disabled: boolean | undefined;
|
24
24
|
};
|
25
|
-
getRootProps: <TOther_2 extends ObjectType>(externalProps?: TOther_2) => TOther_2 & {
|
25
|
+
getRootProps: <TOther_2 extends ObjectType>(externalProps?: TOther_2) => Omit<TOther_2, "needStopPropagation"> & {
|
26
26
|
onClick: (event: React.MouseEvent) => void;
|
27
27
|
};
|
28
28
|
disabled: boolean | undefined;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-check.d.ts","sourceRoot":"","sources":["use-check.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;
|
1
|
+
{"version":3,"file":"use-check.d.ts","sourceRoot":"","sources":["use-check.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAI5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,QAAA,MAAM,QAAQ,UAAW,cAAc;;;;;qBAuDpB,gBAAgB,CAAC,gBAAgB,CAAC;0BArBT,MAAM,WAAW,CAAC,gBAAgB,CAAC;;;;;;;;;;;yBAnBa,gBAAgB;;;;CAiE3G,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
@@ -17,6 +17,7 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
17
17
|
*/
|
18
18
|
import React from 'react';
|
19
19
|
import { extractEventHandlers } from "../../utils";
|
20
|
+
import { util } from "../..";
|
20
21
|
import useForkRef from "../../common/use-fork-ref";
|
21
22
|
var useCheck = function useCheck(props) {
|
22
23
|
var checked = props.checked,
|
@@ -37,9 +38,12 @@ var useCheck = function useCheck(props) {
|
|
37
38
|
};
|
38
39
|
var inputRef = React.useRef(null);
|
39
40
|
var handleInputRef = useForkRef(inputRef, inputRefPo);
|
40
|
-
var handleClick = function handleClick(otherHandlers) {
|
41
|
+
var handleClick = function handleClick(otherHandlers, needStopPropagation) {
|
41
42
|
return function (event) {
|
42
43
|
var _inputRef$current, _otherHandlers$onClic;
|
44
|
+
if (needStopPropagation) {
|
45
|
+
event.stopPropagation();
|
46
|
+
}
|
43
47
|
(_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 || _inputRef$current.click();
|
44
48
|
otherHandlers === null || otherHandlers === void 0 || (_otherHandlers$onClic = otherHandlers.onClick) === null || _otherHandlers$onClic === void 0 || _otherHandlers$onClic.call(otherHandlers, event);
|
45
49
|
};
|
@@ -47,8 +51,10 @@ var useCheck = function useCheck(props) {
|
|
47
51
|
var getRootProps = function getRootProps() {
|
48
52
|
var externalProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
49
53
|
var externalEventHandlers = extractEventHandlers(externalProps);
|
50
|
-
return _objectSpread(_objectSpread({}, externalProps
|
51
|
-
|
54
|
+
return _objectSpread(_objectSpread({}, util.removeProps(externalProps, {
|
55
|
+
needStopPropagation: true
|
56
|
+
})), {}, {
|
57
|
+
onClick: handleClick(externalEventHandlers, externalProps.needStopPropagation)
|
52
58
|
});
|
53
59
|
//封装点击事件 点击触发input 的点击
|
54
60
|
// disabled 禁用后不可点击
|
@@ -77,6 +83,7 @@ var useCheck = function useCheck(props) {
|
|
77
83
|
disabled: disabled
|
78
84
|
}, checkProps), {}, {
|
79
85
|
onClick: function onClick(e) {
|
86
|
+
// TODO: 这个e.stopPropagation生效不了,外部的触发是通过inputRef.current?.click()方式的;没啥用的代码
|
80
87
|
e.stopPropagation();
|
81
88
|
_onClick === null || _onClick === void 0 || _onClick(e);
|
82
89
|
},
|
@@ -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,90 @@
|
|
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 filterColumns = props === null || props === void 0 || (_props$columns = props.columns) === null || _props$columns === void 0 ? void 0 : _props$columns.filter(function (column) {
|
70
|
+
return column.filter;
|
71
|
+
});
|
72
|
+
var _filterInfo = filterColumns === null || filterColumns === void 0 ? void 0 : filterColumns.reduce(function (acc, column, index) {
|
73
|
+
var _column$filter;
|
74
|
+
var columnKey = typeof column.render === 'string' ? column.render : String(index);
|
75
|
+
acc.set(columnKey, {
|
76
|
+
value: undefined,
|
77
|
+
onFilter: (_column$filter = column.filter) === null || _column$filter === void 0 ? void 0 : _column$filter.onFilter
|
78
|
+
});
|
79
|
+
return acc;
|
80
|
+
}, new Map());
|
81
|
+
if (_filterInfo) setFilterInfo(_filterInfo);
|
82
|
+
}, [props.columns]);
|
83
|
+
return {
|
84
|
+
filterInfo: filterInfo,
|
85
|
+
setFilterInfo: setFilterInfo,
|
86
|
+
filteredData: filteredData,
|
87
|
+
onFilterChange: onFilterChange
|
88
|
+
};
|
89
|
+
};
|
90
|
+
export default useTableFilter;
|
@@ -139,6 +139,93 @@ export interface TableColumnSorter {
|
|
139
139
|
export interface ColumnRenderFunc<DataItem> {
|
140
140
|
(data: DataItem, index: number, checkInstance?: React.ReactComponentElement<any>): React.ReactNode | (() => React.ReactNode);
|
141
141
|
}
|
142
|
+
export interface TableColumnFilterBase<DataItem> {
|
143
|
+
/**
|
144
|
+
* @cn 筛选模式: search 搜索模式, select 选择模式
|
145
|
+
* @en Filter mode: search search mode, select select mode
|
146
|
+
*/
|
147
|
+
mode: 'search' | 'select';
|
148
|
+
/**
|
149
|
+
* @cn 筛选数据的函数
|
150
|
+
* @en Filter data function
|
151
|
+
* @param value 筛选值
|
152
|
+
* @param row 行数据
|
153
|
+
* @returns 是否通过筛选
|
154
|
+
*/
|
155
|
+
onFilter: (value: any, row: DataItem) => boolean;
|
156
|
+
/**
|
157
|
+
* @cn 自定义的筛选项图标
|
158
|
+
* @en Custom filter icon
|
159
|
+
*/
|
160
|
+
icon?: React.ReactNode;
|
161
|
+
}
|
162
|
+
export type TableFilterData = {
|
163
|
+
label: string;
|
164
|
+
value: any;
|
165
|
+
icon?: React.ReactNode;
|
166
|
+
[key: string]: any;
|
167
|
+
children?: TableFilterData[];
|
168
|
+
};
|
169
|
+
export interface SelectModeColumnFilter<DataItem> extends TableColumnFilterBase<DataItem> {
|
170
|
+
/**
|
171
|
+
* @cn 筛选模式为 select 时
|
172
|
+
* @en Filter mode is select
|
173
|
+
*/
|
174
|
+
mode: 'select';
|
175
|
+
/**
|
176
|
+
* 必填的 `config` 字段
|
177
|
+
*/
|
178
|
+
config: {
|
179
|
+
/**
|
180
|
+
* @cn 筛选项数据
|
181
|
+
* @en Filter item data
|
182
|
+
*/
|
183
|
+
data: Array<TableFilterData>;
|
184
|
+
/**
|
185
|
+
* @cn 自定义渲染筛选项
|
186
|
+
* @en Custom rendering filter options
|
187
|
+
* @default (data) => data.label
|
188
|
+
*/
|
189
|
+
renderItem?: ((item: TableFilterData) => React.ReactNode) | ObjectKey<TableFilterData>;
|
190
|
+
/**
|
191
|
+
* @cn 是否多选
|
192
|
+
* @en Whether to multiple select
|
193
|
+
*/
|
194
|
+
multiple?: boolean;
|
195
|
+
/**
|
196
|
+
* @cn 是否开启顶部的搜索框
|
197
|
+
* @en Whether to open the top search box
|
198
|
+
*/
|
199
|
+
search?: boolean;
|
200
|
+
/**
|
201
|
+
* @cn 是否高亮命中的关键词,仅当 search 为 true 时有效
|
202
|
+
* @en Whether to highlight the hit keywords
|
203
|
+
*/
|
204
|
+
highlight?: boolean;
|
205
|
+
};
|
206
|
+
/**
|
207
|
+
* @cn 筛选数据的函数
|
208
|
+
* @en Filter data function
|
209
|
+
* @param value 筛选值,单选时为单个值,多选时为数组
|
210
|
+
* @param row 行数据
|
211
|
+
* @returns 是否通过筛选
|
212
|
+
*/
|
213
|
+
onFilter: (value: any, row: DataItem) => boolean;
|
214
|
+
}
|
215
|
+
export interface SearchModeColumnFilter<DataItem> extends TableColumnFilterBase<DataItem> {
|
216
|
+
/**
|
217
|
+
* 筛选模式为 search 时
|
218
|
+
*/
|
219
|
+
mode: 'search';
|
220
|
+
/**
|
221
|
+
* 此时不允许传 `config`
|
222
|
+
*/
|
223
|
+
config?: never;
|
224
|
+
}
|
225
|
+
/**
|
226
|
+
* 最终的联合类型
|
227
|
+
*/
|
228
|
+
export type TableColumnFilter<DataItem> = SelectModeColumnFilter<DataItem> | SearchModeColumnFilter<DataItem>;
|
142
229
|
/**
|
143
230
|
* @title TableColumn
|
144
231
|
*/
|
@@ -227,6 +314,12 @@ export interface TableColumnItem<DataItem> {
|
|
227
314
|
* @version 3.5.0
|
228
315
|
*/
|
229
316
|
sortDirections?: ('asc' | 'desc')[];
|
317
|
+
/**
|
318
|
+
* @cn 列的筛选配置
|
319
|
+
* @en Column filter configuration
|
320
|
+
* @version 3.6.0
|
321
|
+
*/
|
322
|
+
filter?: TableColumnFilter<DataItem>;
|
230
323
|
/**
|
231
324
|
* @en The content of the header
|
232
325
|
* @cn 表头显示内容
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-table.type.d.ts","sourceRoot":"","sources":["use-table.type.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"use-table.type.d.ts","sourceRoot":"","sources":["use-table.type.ts"],"names":[],"mappings":"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"}
|