@kdcloudjs/table 1.1.4 → 1.1.5-canary.10
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/dist/@kdcloudjs/table.css +1 -1
- package/dist/@kdcloudjs/table.js +905 -346
- package/dist/@kdcloudjs/table.js.map +1 -1
- package/dist/@kdcloudjs/table.min.css +1 -1
- package/dist/@kdcloudjs/table.min.js +10 -9
- package/dist/@kdcloudjs/table.min.js.map +1 -1
- package/es/table/base/html-table.js +1 -1
- package/es/table/base/styles.d.ts +11 -2
- package/es/table/base/styles.js +19 -8
- package/es/table/base/table.d.ts +3 -1
- package/es/table/base/table.js +35 -56
- package/es/table/base/utils.d.ts +7 -0
- package/es/table/base/utils.js +36 -2
- package/es/table/common-views.js +1 -1
- package/es/table/pipeline/features/colGroupExtendable.d.ts +8 -0
- package/es/table/pipeline/features/colGroupExtendable.js +105 -0
- package/es/table/pipeline/features/columnDrag.js +5 -4
- package/es/table/pipeline/features/columnFilter.d.ts +8 -2
- package/es/table/pipeline/features/columnFilter.js +43 -19
- package/es/table/pipeline/features/columnResizeWidth.js +1 -1
- package/es/table/pipeline/features/contextMenu.d.ts +5 -1
- package/es/table/pipeline/features/contextMenu.js +18 -28
- package/es/table/pipeline/features/filter/DefaultFilterContent.js +27 -7
- package/es/table/pipeline/features/filter/DefaultFilterIcon.d.ts +5 -0
- package/es/table/pipeline/features/filter/DefaultFilterIcon.js +20 -0
- package/es/table/pipeline/features/filter/Filter.d.ts +5 -2
- package/es/table/pipeline/features/filter/Filter.js +65 -37
- package/es/table/pipeline/features/filter/FilterPanel.d.ts +2 -1
- package/es/table/pipeline/features/filter/FilterPanel.js +40 -21
- package/es/table/pipeline/features/filter/util.js +4 -4
- package/es/table/pipeline/features/footerDataSource.d.ts +9 -0
- package/es/table/pipeline/features/footerDataSource.js +25 -0
- package/es/table/pipeline/features/index.d.ts +2 -0
- package/es/table/pipeline/features/index.js +3 -1
- package/es/table/pipeline/features/multiSelect.js +7 -2
- package/es/table/pipeline/features/rangeSelection.d.ts +1 -1
- package/es/table/pipeline/features/rangeSelection.js +180 -30
- package/es/table/pipeline/features/singleSelect.js +4 -0
- package/es/table/pipeline/features/treeMode.d.ts +2 -0
- package/es/table/pipeline/features/treeMode.js +20 -21
- package/es/table/pipeline/pipeline.d.ts +1 -1
- package/es/table/pipeline/pipeline.js +4 -9
- package/es/table/utils/element.d.ts +1 -0
- package/es/table/utils/element.js +4 -0
- package/es/table/utils/keyCode.d.ts +5 -0
- package/es/table/utils/keyCode.js +5 -0
- package/es/table/utils/mergeCellProps.js +2 -6
- package/lib/table/base/html-table.js +1 -1
- package/lib/table/base/styles.d.ts +11 -2
- package/lib/table/base/styles.js +19 -8
- package/lib/table/base/table.d.ts +3 -1
- package/lib/table/base/table.js +35 -56
- package/lib/table/base/utils.d.ts +7 -0
- package/lib/table/base/utils.js +43 -2
- package/lib/table/common-views.js +1 -1
- package/lib/table/pipeline/features/colGroupExtendable.d.ts +8 -0
- package/lib/table/pipeline/features/colGroupExtendable.js +126 -0
- package/lib/table/pipeline/features/columnDrag.js +5 -4
- package/lib/table/pipeline/features/columnFilter.d.ts +8 -2
- package/lib/table/pipeline/features/columnFilter.js +41 -19
- package/lib/table/pipeline/features/columnResizeWidth.js +1 -1
- package/lib/table/pipeline/features/contextMenu.d.ts +5 -1
- package/lib/table/pipeline/features/contextMenu.js +17 -28
- package/lib/table/pipeline/features/filter/DefaultFilterContent.js +28 -6
- package/lib/table/pipeline/features/filter/DefaultFilterIcon.d.ts +5 -0
- package/lib/table/pipeline/features/filter/DefaultFilterIcon.js +30 -0
- package/lib/table/pipeline/features/filter/Filter.d.ts +5 -2
- package/lib/table/pipeline/features/filter/Filter.js +68 -37
- package/lib/table/pipeline/features/filter/FilterPanel.d.ts +2 -1
- package/lib/table/pipeline/features/filter/FilterPanel.js +42 -20
- package/lib/table/pipeline/features/filter/util.js +4 -4
- package/lib/table/pipeline/features/footerDataSource.d.ts +9 -0
- package/lib/table/pipeline/features/footerDataSource.js +41 -0
- package/lib/table/pipeline/features/index.d.ts +2 -0
- package/lib/table/pipeline/features/index.js +23 -1
- package/lib/table/pipeline/features/multiSelect.js +6 -1
- package/lib/table/pipeline/features/rangeSelection.d.ts +1 -1
- package/lib/table/pipeline/features/rangeSelection.js +183 -32
- package/lib/table/pipeline/features/singleSelect.js +4 -0
- package/lib/table/pipeline/features/treeMode.d.ts +2 -0
- package/lib/table/pipeline/features/treeMode.js +21 -23
- package/lib/table/pipeline/pipeline.d.ts +1 -1
- package/lib/table/pipeline/pipeline.js +4 -9
- package/lib/table/utils/element.d.ts +1 -0
- package/lib/table/utils/element.js +6 -0
- package/lib/table/utils/keyCode.d.ts +5 -0
- package/lib/table/utils/keyCode.js +12 -0
- package/lib/table/utils/mergeCellProps.js +2 -6
- package/package.json +3 -3
package/lib/table/base/utils.js
CHANGED
|
@@ -23,6 +23,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
23
23
|
});
|
|
24
24
|
exports.addResizeObserver = exports.STYLED_VERSION = exports.STYLED_REF_PROP = exports.OVERSCAN_SIZE = exports.AUTO_VIRTUAL_THRESHOLD = void 0;
|
|
25
25
|
exports.composeRowPropsGetter = composeRowPropsGetter;
|
|
26
|
+
exports.cssPolifill = void 0;
|
|
26
27
|
exports.getScrollbarSize = getScrollbarSize;
|
|
27
28
|
exports.getTableScrollFooterDOM = getTableScrollFooterDOM;
|
|
28
29
|
exports.getTableScrollHeaderDOM = getTableScrollHeaderDOM;
|
|
@@ -49,10 +50,16 @@ var _resizeObserverPolyfill = _interopRequireDefault(require("resize-observer-po
|
|
|
49
50
|
|
|
50
51
|
var styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
51
52
|
|
|
53
|
+
var _cssVarsPonyfill = _interopRequireDefault(require("css-vars-ponyfill"));
|
|
54
|
+
|
|
52
55
|
var _mergeCellProps = _interopRequireDefault(require("../utils/mergeCellProps"));
|
|
53
56
|
|
|
54
57
|
var _utils = require("../utils");
|
|
55
58
|
|
|
59
|
+
var _styles = require("./styles");
|
|
60
|
+
|
|
61
|
+
var _element = require("../utils/element");
|
|
62
|
+
|
|
56
63
|
function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
57
64
|
|
|
58
65
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -190,7 +197,12 @@ function syncScrollLeft(elements, callback) {
|
|
|
190
197
|
return;
|
|
191
198
|
}
|
|
192
199
|
|
|
193
|
-
var scrollLeft = ele.scrollLeft;
|
|
200
|
+
var scrollLeft = ele.scrollLeft; // 某一元素当滚动条消失时会触发scroll事件(scrolLeft重置为0),不同步其他其他元素的scrollLeft
|
|
201
|
+
|
|
202
|
+
if (scrollLeft === 0 && !(0, _element.hasScroll)(ele)) {
|
|
203
|
+
return;
|
|
204
|
+
}
|
|
205
|
+
|
|
194
206
|
publishScrollLeft(ele, scrollLeft);
|
|
195
207
|
callback(scrollLeft);
|
|
196
208
|
};
|
|
@@ -268,4 +280,33 @@ function getTableScrollHeaderDOM(domHelper) {
|
|
|
268
280
|
|
|
269
281
|
function getTableScrollFooterDOM(domHelper) {
|
|
270
282
|
return _utils.browserType.isIE ? domHelper.tableFooterMain : domHelper.tableFooter;
|
|
271
|
-
}
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
var cssPolifill = function cssPolifill(_ref) {
|
|
286
|
+
var variables = _ref.variables,
|
|
287
|
+
enableCSSVariables = _ref.enableCSSVariables,
|
|
288
|
+
bordered = _ref.bordered;
|
|
289
|
+
|
|
290
|
+
if (enableCSSVariables === false) {
|
|
291
|
+
return;
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
var conditionCSSVariables = {}; // 默认情况下存在td、th无左右边框,开启`bordered`属性后才开启,否则隐藏这两种属性
|
|
295
|
+
|
|
296
|
+
if (!bordered) {
|
|
297
|
+
conditionCSSVariables['--cell-border-vertical'] = 'none';
|
|
298
|
+
conditionCSSVariables['--header-cell-border-vertical'] = 'none';
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
(0, _cssVarsPonyfill.default)({
|
|
302
|
+
// exclude: 'link[href*="semantic-ui"]',
|
|
303
|
+
// onlyLegacy: false,
|
|
304
|
+
// rootElement: rootElement,
|
|
305
|
+
include: 'style[data-styled]',
|
|
306
|
+
variables: (0, _extends2.default)({}, _styles.defaultCSSVariables, variables, conditionCSSVariables),
|
|
307
|
+
watch: true,
|
|
308
|
+
silent: true
|
|
309
|
+
});
|
|
310
|
+
};
|
|
311
|
+
|
|
312
|
+
exports.cssPolifill = cssPolifill;
|
|
@@ -85,6 +85,6 @@ var icons = {
|
|
|
85
85
|
};
|
|
86
86
|
exports.icons = icons;
|
|
87
87
|
|
|
88
|
-
var ContextMenuStyleWrap = _styledComponents.default.div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n &.", "{\n border: 1px solid #e9ecf1;\n border-radius: 2px;\n background-color: #Fff;\n box-shadow: 0px 0px 5px 0px rgb(154 154 154 / 50%);\n cursor: default;\n font-size:
|
|
88
|
+
var ContextMenuStyleWrap = _styledComponents.default.div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n &.", "{\n border: 1px solid #e9ecf1;\n border-radius: 2px;\n background-color: #Fff;\n box-shadow: 0px 0px 5px 0px rgb(154 154 154 / 50%);\n cursor: default;\n font-size: 12px;\n position:absolute;\n z-index: 1050;\n max-width: 600px;\n padding: 8px 0;\n }\n\n .", "{\n width:100%;\n display: table;\n }\n\n .", " .", "{\n display: table-row;\n color: #212121;\n }\n\n .", " .", "{\n background-color: var(--hover-bgcolor);\n }\n\n .", " .", " .", "{\n display: table-cell;\n padding: 8px 12px;\n max-width: 576px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n line-height: 16px;\n }\n .", " .", ".", "{\n opacity: .5;\n }\n\n"])), _styles.MenuClasses.menu, _styles.MenuClasses.menuList, _styles.MenuClasses.menuList, _styles.MenuClasses.menuOption, _styles.MenuClasses.menuList, _styles.MenuClasses.menuOptionActive, _styles.MenuClasses.menuList, _styles.MenuClasses.menuOption, _styles.MenuClasses.menuOptionText, _styles.MenuClasses.menuList, _styles.MenuClasses.menuOption, _styles.MenuClasses.menuOptionDisable);
|
|
89
89
|
|
|
90
90
|
exports.ContextMenuStyleWrap = ContextMenuStyleWrap;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { TablePipeline } from "../pipeline";
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
export interface colGroupExtendOption {
|
|
4
|
+
onChangeExtendStatus?({}: any, {}: any): void;
|
|
5
|
+
extendStatus?: {};
|
|
6
|
+
extendIcon?: ReactNode | ((extendStatus: boolean) => ReactNode);
|
|
7
|
+
}
|
|
8
|
+
export declare const colGroupExtendable: (opts?: colGroupExtendOption) => (pipeline: TablePipeline) => TablePipeline;
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.colGroupExtendable = void 0;
|
|
9
|
+
|
|
10
|
+
var _splice = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/splice"));
|
|
11
|
+
|
|
12
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
|
13
|
+
|
|
14
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
|
15
|
+
|
|
16
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/taggedTemplateLiteral"));
|
|
17
|
+
|
|
18
|
+
var _react = _interopRequireDefault(require("react"));
|
|
19
|
+
|
|
20
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
21
|
+
|
|
22
|
+
var _internals = require("../../internals");
|
|
23
|
+
|
|
24
|
+
var _utils = require("../../utils");
|
|
25
|
+
|
|
26
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
27
|
+
|
|
28
|
+
var _styles = require("../../base/styles");
|
|
29
|
+
|
|
30
|
+
var _templateObject;
|
|
31
|
+
|
|
32
|
+
var ExtendIconStyle = _styledComponents.default.span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n font-size:12px;\n margin-left:4px;\n"])));
|
|
33
|
+
|
|
34
|
+
var stateKey = 'colExtend';
|
|
35
|
+
|
|
36
|
+
var ExpandIcon = function ExpandIcon(_ref) {
|
|
37
|
+
var style = _ref.style,
|
|
38
|
+
className = _ref.className,
|
|
39
|
+
size = _ref.size,
|
|
40
|
+
isExtend = _ref.isExtend;
|
|
41
|
+
return isExtend ? /*#__PURE__*/_react.default.createElement("svg", {
|
|
42
|
+
className: className,
|
|
43
|
+
width: size,
|
|
44
|
+
height: size,
|
|
45
|
+
style: style,
|
|
46
|
+
viewBox: "96 96 896 896"
|
|
47
|
+
}, /*#__PURE__*/_react.default.createElement("path", {
|
|
48
|
+
d: "M678.347087 178.347087C690.550972 166.143203 690.550972 146.356797 678.347087 134.152913C666.143203 121.949029 646.356797 121.949029 634.152913 134.152913L290.402913 477.902913C278.199029 490.106797 278.199029 509.893203 290.402913 522.097087L634.152913 865.847087C646.356797 878.050972 666.143203 878.050972 678.347087 865.847087C690.550972 853.643203 690.550972 833.856797 678.347087 821.652913L356.694175 500L678.347087 178.347087z"
|
|
49
|
+
})) : /*#__PURE__*/_react.default.createElement("svg", {
|
|
50
|
+
className: className,
|
|
51
|
+
width: size,
|
|
52
|
+
height: size,
|
|
53
|
+
style: style,
|
|
54
|
+
viewBox: "96 96 896 896"
|
|
55
|
+
}, /*#__PURE__*/_react.default.createElement("path", {
|
|
56
|
+
d: "M321.652913 178.347087C309.449029 166.143203 309.449029 146.356797 321.652913 134.152913C333.856797 121.949029 353.643203 121.949029 365.847088 134.152913L709.597087 477.902913C721.800972 490.106797 721.800972 509.893203 709.597087 522.097087L365.847088 865.847087C353.643203 878.050972 333.856797 878.050972 321.652913 865.847087C309.449029 853.643203 309.449029 833.856797 321.652913 821.652913L643.305825 500L321.652913 178.347087z"
|
|
57
|
+
}));
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
var colGroupExtendable = function colGroupExtendable() {
|
|
61
|
+
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
62
|
+
return function (pipeline) {
|
|
63
|
+
var _a, _b;
|
|
64
|
+
|
|
65
|
+
var columns = pipeline.getColumns();
|
|
66
|
+
var curState = (_b = (_a = opts.extendStatus) !== null && _a !== void 0 ? _a : pipeline.getStateAtKey(stateKey)) !== null && _b !== void 0 ? _b : {};
|
|
67
|
+
|
|
68
|
+
var processColumns = function processColumns(columns) {
|
|
69
|
+
// 当组合列可伸缩,且处于收缩状态时,只渲染一个子列,其他不渲染
|
|
70
|
+
var toggle = function toggle(col) {
|
|
71
|
+
// 对应的 col 进行状态切换
|
|
72
|
+
var changedValue = (0, _defineProperty2.default)({}, col.code, !curState[col.code]);
|
|
73
|
+
curState[col.code] = !curState[col.code];
|
|
74
|
+
pipeline.setStateAtKey(stateKey, (0, _extends2.default)({}, curState));
|
|
75
|
+
(opts === null || opts === void 0 ? void 0 : opts.onChangeExtendStatus) && opts.onChangeExtendStatus(curState, changedValue);
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
var addIcon = function addIcon(col) {
|
|
79
|
+
var result = (0, _extends2.default)({}, col);
|
|
80
|
+
var curColState = curState[col.code];
|
|
81
|
+
var displaycolExtendIcon = typeof opts.extendIcon === 'function' ? opts.extendIcon(curColState) : opts.extendIcon;
|
|
82
|
+
|
|
83
|
+
var addIconNode = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, _internals.internals.safeRenderHeader((0, _extends2.default)({}, col)), /*#__PURE__*/_react.default.createElement(ExtendIconStyle, {
|
|
84
|
+
onClick: function onClick() {
|
|
85
|
+
toggle(col);
|
|
86
|
+
}
|
|
87
|
+
}, displaycolExtendIcon || /*#__PURE__*/_react.default.createElement(ExpandIcon, {
|
|
88
|
+
style: {
|
|
89
|
+
userSelect: 'none',
|
|
90
|
+
marginLeft: 2,
|
|
91
|
+
flexShrink: 0,
|
|
92
|
+
cursor: "pointer",
|
|
93
|
+
verticalAlign: 'middle'
|
|
94
|
+
},
|
|
95
|
+
className: (0, _classnames.default)((0, _defineProperty2.default)({}, _styles.Classes.tableExtendIcon, true)),
|
|
96
|
+
size: 14,
|
|
97
|
+
isExtend: curColState
|
|
98
|
+
})));
|
|
99
|
+
|
|
100
|
+
result.title = addIconNode;
|
|
101
|
+
return result;
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
return (0, _utils.makeRecursiveMapper)(function (col) {
|
|
105
|
+
var _a;
|
|
106
|
+
|
|
107
|
+
var _ref2 = (col === null || col === void 0 ? void 0 : col.features) || {},
|
|
108
|
+
showExtendIcon = _ref2.showExtendIcon;
|
|
109
|
+
|
|
110
|
+
if (showExtendIcon === true && ((_a = col.children) === null || _a === void 0 ? void 0 : _a.length) > 1) {
|
|
111
|
+
var _context;
|
|
112
|
+
|
|
113
|
+
col = addIcon(col);
|
|
114
|
+
curState[col.code] === false && (0, _splice.default)(_context = col.children).call(_context, 1, col.children.length);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
return col;
|
|
118
|
+
})(columns);
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
pipeline.columns(processColumns(columns));
|
|
122
|
+
return pipeline;
|
|
123
|
+
};
|
|
124
|
+
};
|
|
125
|
+
|
|
126
|
+
exports.colGroupExtendable = colGroupExtendable;
|
|
@@ -79,7 +79,7 @@ function columnDrag() {
|
|
|
79
79
|
},
|
|
80
80
|
headerCellProps: (0, _utils.mergeCellProps)(col.headerCellProps, {
|
|
81
81
|
onMouseDown: !isLeaf || path.length > 1 ? undefined : function (e) {
|
|
82
|
-
if (e.button !== 0) {
|
|
82
|
+
if (e.button !== 0 || !e.currentTarget.contains(e.target)) {
|
|
83
83
|
return;
|
|
84
84
|
}
|
|
85
85
|
|
|
@@ -255,13 +255,14 @@ function columnDrag() {
|
|
|
255
255
|
}
|
|
256
256
|
|
|
257
257
|
function handleMouseUp(e) {
|
|
258
|
-
e.stopPropagation();
|
|
259
258
|
document.body.removeEventListener('mousemove', handleMouseMove);
|
|
260
259
|
document.body.removeEventListener('mouseup', handleMouseUp);
|
|
261
|
-
window.removeEventListener('selectstart', disableSelect);
|
|
260
|
+
window.removeEventListener('selectstart', disableSelect);
|
|
262
261
|
|
|
263
262
|
if (_isMoveWhenClicking(mouseDownClientX, mouseDownClientY, e.clientX, e.clientY)) {
|
|
264
|
-
|
|
263
|
+
e.stopPropagation(); // 存在移动就阻止冒泡
|
|
264
|
+
|
|
265
|
+
currentTarget.addEventListener('click', stopClickPropagation); // 阻止列头点击事件,防止拖动后触发列头过滤事件
|
|
265
266
|
}
|
|
266
267
|
|
|
267
268
|
window.requestAnimationFrame(function () {
|
|
@@ -12,9 +12,15 @@ export interface FilterFeatureOptions {
|
|
|
12
12
|
keepDataSource?: boolean;
|
|
13
13
|
/** 过滤模式。单列过滤 single,多列过滤 multiple,默认为多选 */
|
|
14
14
|
mode?: 'single' | 'multiple';
|
|
15
|
-
|
|
16
|
-
filterIcon?: ReactNode;
|
|
15
|
+
/** 过滤图标 */
|
|
16
|
+
filterIcon?: ReactNode | ((filtered: boolean) => ReactNode);
|
|
17
17
|
/** 是否对触发弹出过滤面板 的 click 事件调用 event.stopPropagation() */
|
|
18
18
|
stopClickEventPropagation?: boolean;
|
|
19
|
+
/** 是否对按ESC键时关闭面板的 keydown 事件调用 event.stopPropagation() */
|
|
20
|
+
stopESCKeyDownEventPropagation?: boolean;
|
|
21
|
+
/** 是否隐藏过滤面板的header区域 */
|
|
22
|
+
hideFilterPopupHeader?: boolean;
|
|
23
|
+
/** 指定过滤面板渲染的父节点 */
|
|
24
|
+
getPopupParent?: (triggerElement: HTMLElement) => HTMLElement;
|
|
19
25
|
}
|
|
20
26
|
export declare function filter(opts?: FilterFeatureOptions): (pipeline: TablePipeline) => TablePipeline;
|
|
@@ -54,7 +54,10 @@ function filter() {
|
|
|
54
54
|
keepDataSource = opts.keepDataSource,
|
|
55
55
|
mode = opts.mode,
|
|
56
56
|
filterIcon = opts.filterIcon,
|
|
57
|
-
stopClickEventPropagation = opts.stopClickEventPropagation
|
|
57
|
+
stopClickEventPropagation = opts.stopClickEventPropagation,
|
|
58
|
+
stopESCKeyDownEventPropagation = opts.stopESCKeyDownEventPropagation,
|
|
59
|
+
hideFilterPopupHeader = opts.hideFilterPopupHeader,
|
|
60
|
+
getPopupParent = opts.getPopupParent;
|
|
58
61
|
var inputFilters = (_b = (_a = filters !== null && filters !== void 0 ? filters : pipeline.getStateAtKey(stateKey)) !== null && _a !== void 0 ? _a : defaultFilters) !== null && _b !== void 0 ? _b : [];
|
|
59
62
|
inputFilters = mode === 'single' ? (0, _slice.default)(inputFilters).call(inputFilters, 0, 1) : inputFilters;
|
|
60
63
|
var inputFiltersMap = new _map.default((0, _map2.default)(inputFilters).call(inputFilters, function (filterItem) {
|
|
@@ -65,7 +68,7 @@ function filter() {
|
|
|
65
68
|
return (0, _map2.default)(columns).call(columns, dfs);
|
|
66
69
|
|
|
67
70
|
function dfs(col) {
|
|
68
|
-
var _a, _b, _c, _d, _e;
|
|
71
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
69
72
|
|
|
70
73
|
var result = (0, _extends2.default)({}, col);
|
|
71
74
|
var filterable = col.code && ((_a = col.features) === null || _a === void 0 ? void 0 : _a.filterable);
|
|
@@ -104,18 +107,20 @@ function filter() {
|
|
|
104
107
|
};
|
|
105
108
|
|
|
106
109
|
var filterPanel = (_d = col.features) === null || _d === void 0 ? void 0 : _d.filterPanel;
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
}))])), [/*#__PURE__*/_react.default.createElement(_filter2.Filter, {
|
|
110
|
+
var colFilterIcon = (_f = (_e = col.features) === null || _e === void 0 ? void 0 : _e.filterIcon) !== null && _f !== void 0 ? _f : filterIcon;
|
|
111
|
+
result.title = (0, _concat.default)(_context = []).call(_context, (0, _toConsumableArray2.default)((0, _concat.default)(_context2 = []).call(_context2, (_g = result.title) !== null && _g !== void 0 ? _g : [_internals.internals.safeRenderHeader((0, _extends2.default)({}, col))])), [/*#__PURE__*/_react.default.createElement(_filter2.Filter, {
|
|
110
112
|
key: "filter",
|
|
111
113
|
FilterPanelContent: filterPanel,
|
|
112
|
-
filterIcon:
|
|
114
|
+
filterIcon: colFilterIcon,
|
|
113
115
|
filterModel: inputFiltersMap.get(col.code),
|
|
114
116
|
setFilterModel: handleFilterChanged,
|
|
115
117
|
setFilter: setFilter,
|
|
116
118
|
isFilterActive: filterActive,
|
|
117
119
|
className: (0, _classnames.default)((_cx = {}, (0, _defineProperty2.default)(_cx, _styles.Classes.tableFilterTrigger, true), (0, _defineProperty2.default)(_cx, "active", filterActive), _cx)),
|
|
118
|
-
stopClickEventPropagation: stopClickEventPropagation
|
|
120
|
+
stopClickEventPropagation: stopClickEventPropagation,
|
|
121
|
+
stopESCKeyDownEventPropagation: stopESCKeyDownEventPropagation,
|
|
122
|
+
hideFilterPopupHeader: hideFilterPopupHeader,
|
|
123
|
+
getPopupParent: getPopupParent
|
|
119
124
|
})]); // result.headerCellProps = mergeCellProps(col.headerCellProps, {
|
|
120
125
|
// style: {
|
|
121
126
|
// paddingRight: '18px'
|
|
@@ -157,8 +162,8 @@ function filter() {
|
|
|
157
162
|
return [item.key, (0, _extends2.default)({}, item)];
|
|
158
163
|
}));
|
|
159
164
|
|
|
160
|
-
function isMatchedFilterCondition(record
|
|
161
|
-
return
|
|
165
|
+
function isMatchedFilterCondition(record) {
|
|
166
|
+
return filtersKeys.every(function (key) {
|
|
162
167
|
var _a, _b;
|
|
163
168
|
|
|
164
169
|
var filterItem = inputFiltersMap.get(key);
|
|
@@ -172,24 +177,41 @@ function filter() {
|
|
|
172
177
|
} else {
|
|
173
178
|
console.warn("\u5217[".concat(key, "]\u672A\u914D\u7F6E\u7B5B\u9009\u51FD\u6570\uFF0C\u8BF7\u8BBE\u7F6E column.features.filterable \u6765\u4F5C\u4E3A\u8BE5\u5217\u7684\u7B5B\u9009\u51FD\u6570, \u76EE\u524D\u4F7F\u7528\u9ED8\u8BA4\u5305\u542B\u7B5B\u9009\u51FD\u6570"));
|
|
174
179
|
comparisonFn = (0, _filter.default)(defaultFilterOptionsMap.get('contain'));
|
|
175
|
-
}
|
|
180
|
+
}
|
|
176
181
|
|
|
177
|
-
|
|
178
|
-
return !comparisonFn((0, _filter.default)(filterItem), filterItem)(_internals.internals.safeGetValue(columnsMap.get(key), record, rowIndex), record);
|
|
182
|
+
return comparisonFn((0, _filter.default)(filterItem), filterItem)(_internals.internals.safeGetValue(columnsMap.get(key), record, -1), record);
|
|
179
183
|
});
|
|
180
184
|
}
|
|
181
185
|
|
|
182
|
-
return dataSource
|
|
183
|
-
if (isMatchedFilterCondition(record, rowIndex)) {
|
|
184
|
-
return (0, _concat.default)(pre).call(pre, [record]);
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
return pre;
|
|
188
|
-
}, []);
|
|
186
|
+
return layeredFilter(dataSource, isMatchedFilterCondition);
|
|
189
187
|
}
|
|
190
188
|
|
|
191
189
|
pipeline.dataSource(processDataSource(dataSource));
|
|
192
190
|
pipeline.columns(processColumns(columns));
|
|
193
191
|
return pipeline;
|
|
194
192
|
};
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
function layeredFilter(array, matchFn) {
|
|
196
|
+
return dfs(array);
|
|
197
|
+
|
|
198
|
+
function dfs(rows) {
|
|
199
|
+
var _context6;
|
|
200
|
+
|
|
201
|
+
var parentMatched = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
202
|
+
return (0, _filter.default)(_context6 = (0, _map2.default)(rows).call(rows, function (row) {
|
|
203
|
+
var currentMatched = matchFn(row);
|
|
204
|
+
|
|
205
|
+
if ((0, _utils.isLeafNode)(row)) {
|
|
206
|
+
return (parentMatched || currentMatched) && (0, _extends2.default)({}, row);
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
var children = row.children;
|
|
210
|
+
var rowAfterFilterChildren = (0, _extends2.default)((0, _extends2.default)({}, row), {
|
|
211
|
+
children: dfs(children, parentMatched || currentMatched)
|
|
212
|
+
});
|
|
213
|
+
var matchedByChildren = !(0, _utils.isLeafNode)(rowAfterFilterChildren);
|
|
214
|
+
return (parentMatched || currentMatched || matchedByChildren) && rowAfterFilterChildren;
|
|
215
|
+
})).call(_context6, Boolean);
|
|
216
|
+
}
|
|
195
217
|
}
|
|
@@ -41,7 +41,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "functi
|
|
|
41
41
|
|
|
42
42
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
43
43
|
|
|
44
|
-
var TableHeaderCellResize = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n position: absolute;\n top: 0;\n right: -5px;\n height: 100%;\n width: 10px;\n cursor: ew-resize;\n display: flex;\n flex-direction: column;\n align-items: center;\n z-index:1;\n\n &:after {\n content: \"\";\n position: absolute;\n display: block;\n left: calc(50% - 1px);\n width: 1px;\n height: calc(100% - 14px);\n top: 7px;\n
|
|
44
|
+
var TableHeaderCellResize = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n position: absolute;\n top: 0;\n right: -5px;\n height: 100%;\n width: 10px;\n cursor: ew-resize;\n display: flex;\n flex-direction: column;\n align-items: center;\n z-index:1;\n\n &:after {\n content: \"\";\n position: absolute;\n display: block;\n left: calc(50% - 1px);\n width: 1px;\n height: calc(100% - 14px);\n top: 7px;\n }\n"])));
|
|
45
45
|
|
|
46
46
|
var TableHeaderGroupCellResize = (0, _styledComponents.default)(TableHeaderCellResize)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n &:after {\n height: 100%;\n top: 0;\n }\n"])));
|
|
47
47
|
|
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
import { TablePipeline } from '../pipeline';
|
|
2
2
|
interface ContextMenuItem {
|
|
3
|
+
key?: string;
|
|
3
4
|
name: string;
|
|
4
|
-
action: () =>
|
|
5
|
+
action: () => void;
|
|
5
6
|
disabled?: boolean;
|
|
7
|
+
className?: string;
|
|
6
8
|
}
|
|
7
9
|
export interface ContextMenuFeatureOptions {
|
|
8
10
|
/** 获得自定义菜单 */
|
|
9
11
|
getContextMenuItems?: (params: any) => ContextMenuItem[];
|
|
10
12
|
/** 弹出框的父容器 */
|
|
11
13
|
popupParent?: HTMLElement;
|
|
14
|
+
/** 右键菜单className */
|
|
15
|
+
menuClassName?: string;
|
|
12
16
|
}
|
|
13
17
|
export declare function contextMenu(opts?: ContextMenuFeatureOptions): (pipeline: TablePipeline) => TablePipeline;
|
|
14
18
|
export {};
|
|
@@ -43,12 +43,11 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "functi
|
|
|
43
43
|
|
|
44
44
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
45
45
|
|
|
46
|
-
var stateKey = 'contextMenu';
|
|
47
|
-
|
|
48
46
|
function contextMenu() {
|
|
49
47
|
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
50
48
|
return function step(pipeline) {
|
|
51
49
|
var popupParent = opts.popupParent || document.body;
|
|
50
|
+
var menuClassName = opts.menuClassName;
|
|
52
51
|
var menuHelper = new MenuHelper();
|
|
53
52
|
|
|
54
53
|
var addPopup = function addPopup(menu) {
|
|
@@ -82,13 +81,11 @@ function contextMenu() {
|
|
|
82
81
|
};
|
|
83
82
|
|
|
84
83
|
var onContextMenu = function onContextMenu(e) {
|
|
85
|
-
if (
|
|
86
|
-
|
|
84
|
+
if (canShowContextMenu(e, pipeline)) {
|
|
85
|
+
e.preventDefault();
|
|
86
|
+
e.stopPropagation();
|
|
87
|
+
showContextMenu(e);
|
|
87
88
|
}
|
|
88
|
-
|
|
89
|
-
e.preventDefault();
|
|
90
|
-
e.stopPropagation();
|
|
91
|
-
showContextMenu(e);
|
|
92
89
|
};
|
|
93
90
|
|
|
94
91
|
pipeline.addTableProps({
|
|
@@ -162,7 +159,8 @@ function contextMenu() {
|
|
|
162
159
|
options: options,
|
|
163
160
|
hideContextMenu: hideContextMenu,
|
|
164
161
|
position: position,
|
|
165
|
-
getPopupParent: getPopupParent
|
|
162
|
+
getPopupParent: getPopupParent,
|
|
163
|
+
className: menuClassName
|
|
166
164
|
});
|
|
167
165
|
|
|
168
166
|
var _hidePopup = addPopup(menu);
|
|
@@ -195,7 +193,8 @@ function getMenuItemKey(_ref) {
|
|
|
195
193
|
}
|
|
196
194
|
|
|
197
195
|
function Menu(props) {
|
|
198
|
-
var
|
|
196
|
+
var className = props.className,
|
|
197
|
+
_props$options = props.options,
|
|
199
198
|
options = _props$options === void 0 ? [] : _props$options,
|
|
200
199
|
hideContextMenu = props.hideContextMenu,
|
|
201
200
|
position = props.position,
|
|
@@ -216,7 +215,7 @@ function Menu(props) {
|
|
|
216
215
|
}
|
|
217
216
|
}, [position]);
|
|
218
217
|
return /*#__PURE__*/_react.default.createElement(_commonViews.ContextMenuStyleWrap, {
|
|
219
|
-
className: _styles.MenuClasses.menu,
|
|
218
|
+
className: (0, _classnames.default)(_styles.MenuClasses.menu, className),
|
|
220
219
|
ref: menuRef,
|
|
221
220
|
style: {
|
|
222
221
|
left: position.x,
|
|
@@ -232,6 +231,7 @@ function Menu(props) {
|
|
|
232
231
|
}),
|
|
233
232
|
name: item.name,
|
|
234
233
|
action: item.action,
|
|
234
|
+
className: item.className,
|
|
235
235
|
disabled: item.disabled,
|
|
236
236
|
hideContextMenu: hideContextMenu
|
|
237
237
|
});
|
|
@@ -241,6 +241,7 @@ function Menu(props) {
|
|
|
241
241
|
function MenuItem(props) {
|
|
242
242
|
var name = props.name,
|
|
243
243
|
action = props.action,
|
|
244
|
+
className = props.className,
|
|
244
245
|
disabled = props.disabled,
|
|
245
246
|
hideContextMenu = props.hideContextMenu;
|
|
246
247
|
var itemRef = (0, _react.useRef)();
|
|
@@ -281,7 +282,7 @@ function MenuItem(props) {
|
|
|
281
282
|
};
|
|
282
283
|
|
|
283
284
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
284
|
-
className: (0, _classnames.default)(_styles.MenuClasses.menuOption, (0, _defineProperty2.default)({}, _styles.MenuClasses.menuOptionDisable, disabled)),
|
|
285
|
+
className: (0, _classnames.default)(_styles.MenuClasses.menuOption, className, (0, _defineProperty2.default)({}, _styles.MenuClasses.menuOptionDisable, disabled)),
|
|
285
286
|
ref: itemRef,
|
|
286
287
|
onClick: handleClick,
|
|
287
288
|
onMouseEnter: handleMouseEnter,
|
|
@@ -424,24 +425,12 @@ function isElementInsideTheFooter(ele) {
|
|
|
424
425
|
}
|
|
425
426
|
|
|
426
427
|
return false;
|
|
427
|
-
}
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
function suppressShowContextMenu(e) {
|
|
431
|
-
var path = (0, _utils.getEventPath)(e.nativeEvent);
|
|
432
|
-
var pointIndex = 0;
|
|
433
|
-
|
|
434
|
-
while (pointIndex < path.length) {
|
|
435
|
-
var ele = path[pointIndex];
|
|
436
|
-
|
|
437
|
-
if (ele.classList.contains(_styles.Classes.tableBody) || ele.classList.contains(_styles.Classes.tableFooter)) {
|
|
438
|
-
return false;
|
|
439
|
-
}
|
|
428
|
+
}
|
|
440
429
|
|
|
441
|
-
|
|
442
|
-
|
|
430
|
+
function canShowContextMenu(e, pipeline) {
|
|
431
|
+
var _a, _b;
|
|
443
432
|
|
|
444
|
-
return
|
|
433
|
+
return ((_a = pipeline.ref.current.domHelper) === null || _a === void 0 ? void 0 : _a.tableBody.contains(e.target)) || ((_b = pipeline.ref.current.domHelper) === null || _b === void 0 ? void 0 : _b.tableFooter.contains(e.target));
|
|
445
434
|
} // 默认选项
|
|
446
435
|
|
|
447
436
|
|
|
@@ -33,6 +33,8 @@ var _util = require("./util");
|
|
|
33
33
|
|
|
34
34
|
var _styles = require("../../../base/styles");
|
|
35
35
|
|
|
36
|
+
var _keyCode = _interopRequireDefault(require("../../../utils/keyCode"));
|
|
37
|
+
|
|
36
38
|
var _templateObject;
|
|
37
39
|
|
|
38
40
|
function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
@@ -53,11 +55,13 @@ function DefaultFilterContent(_ref) {
|
|
|
53
55
|
selectedValue = _React$useState2[0],
|
|
54
56
|
setSelectedValue = _React$useState2[1];
|
|
55
57
|
|
|
56
|
-
var _React$useState3 = _react.default.useState((filterModel === null || filterModel === void 0 ? void 0 : (0, _filter.default)(filterModel)) ||
|
|
58
|
+
var _React$useState3 = _react.default.useState((filterModel === null || filterModel === void 0 ? void 0 : (0, _filter.default)(filterModel)) || []),
|
|
57
59
|
_React$useState4 = (0, _slicedToArray2.default)(_React$useState3, 2),
|
|
58
60
|
innerValue = _React$useState4[0],
|
|
59
61
|
setInnerValue = _React$useState4[1];
|
|
60
62
|
|
|
63
|
+
var inputRef = (0, _react.useRef)();
|
|
64
|
+
|
|
61
65
|
var handleClick = _react.default.useCallback(function (option) {
|
|
62
66
|
setSelectedValue(option.key);
|
|
63
67
|
}, []);
|
|
@@ -70,15 +74,31 @@ function DefaultFilterContent(_ref) {
|
|
|
70
74
|
var confirm = function confirm() {
|
|
71
75
|
hidePanel();
|
|
72
76
|
setFilterModel({
|
|
73
|
-
filter:
|
|
77
|
+
filter: innerValue,
|
|
74
78
|
filterCondition: selectedValue
|
|
75
79
|
});
|
|
76
80
|
};
|
|
77
81
|
|
|
82
|
+
var handleKeyDown = function handleKeyDown(e) {
|
|
83
|
+
if (e.keyCode === _keyCode.default.ENTER) {
|
|
84
|
+
confirm();
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
|
|
78
88
|
(0, _react.useEffect)(function () {
|
|
79
89
|
setSelectedValue((filterModel === null || filterModel === void 0 ? void 0 : filterModel.filterCondition) || 'contain');
|
|
80
|
-
setInnerValue((filterModel === null || filterModel === void 0 ? void 0 : (0, _filter.default)(filterModel)) ||
|
|
90
|
+
setInnerValue((filterModel === null || filterModel === void 0 ? void 0 : (0, _filter.default)(filterModel)) || []);
|
|
81
91
|
}, [filterModel]);
|
|
92
|
+
(0, _react.useEffect)(function () {
|
|
93
|
+
// 兼容设置焦点后发生滚动
|
|
94
|
+
setTimeout(function () {
|
|
95
|
+
var _a;
|
|
96
|
+
|
|
97
|
+
(_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus({
|
|
98
|
+
preventScroll: true
|
|
99
|
+
});
|
|
100
|
+
});
|
|
101
|
+
}, []);
|
|
82
102
|
return /*#__PURE__*/_react.default.createElement(DefaultFilterContentStyle, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
83
103
|
className: 'filter-option-list'
|
|
84
104
|
}, /*#__PURE__*/_react.default.createElement("ul", null, (0, _map.default)(_util.DEFAULT_FILTER_OPTIONS).call(_util.DEFAULT_FILTER_OPTIONS, function (option, index) {
|
|
@@ -97,10 +117,12 @@ function DefaultFilterContent(_ref) {
|
|
|
97
117
|
className: 'filter-search'
|
|
98
118
|
}, /*#__PURE__*/_react.default.createElement("input", {
|
|
99
119
|
className: 'filter-search-inner',
|
|
100
|
-
value: innerValue,
|
|
120
|
+
value: innerValue[0],
|
|
101
121
|
onChange: function onChange(e) {
|
|
102
|
-
setInnerValue(e.target.value);
|
|
103
|
-
}
|
|
122
|
+
setInnerValue([e.target.value]);
|
|
123
|
+
},
|
|
124
|
+
onKeyDown: handleKeyDown,
|
|
125
|
+
ref: inputRef
|
|
104
126
|
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
105
127
|
className: 'filter-footer'
|
|
106
128
|
}, /*#__PURE__*/_react.default.createElement("button", {
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = DefaultFilterIcon;
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
12
|
+
function DefaultFilterIcon(_ref) {
|
|
13
|
+
var width = _ref.width,
|
|
14
|
+
height = _ref.height;
|
|
15
|
+
return /*#__PURE__*/_react.default.createElement("svg", {
|
|
16
|
+
width: width,
|
|
17
|
+
height: height,
|
|
18
|
+
style: {
|
|
19
|
+
verticalAlign: 'middle'
|
|
20
|
+
},
|
|
21
|
+
viewBox: "0 0 1024 1024",
|
|
22
|
+
focusable: "false",
|
|
23
|
+
"data-icon": "filter",
|
|
24
|
+
fill: "currentColor",
|
|
25
|
+
version: "1.1",
|
|
26
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
27
|
+
}, /*#__PURE__*/_react.default.createElement("path", {
|
|
28
|
+
d: "M891.448889 159.573333L626.460444 460.231111v443.221333c0 32.881778-25.429333 63.658667-55.864888 63.658667l-170.268445-172.942222V456.419556L132.266667 159.857778A59.619556 59.619556 0 0 1 173.511111 56.888889h676.977778c32.995556 0 59.733333 26.680889 59.733333 59.562667 0 17.066667-7.224889 32.312889-18.773333 43.121777z"
|
|
29
|
+
}));
|
|
30
|
+
}
|
|
@@ -6,12 +6,15 @@ interface FilterProps {
|
|
|
6
6
|
size?: number;
|
|
7
7
|
isFilterActive: boolean;
|
|
8
8
|
FilterPanelContent?: FilterPanelType;
|
|
9
|
-
filterIcon?: ReactNode;
|
|
9
|
+
filterIcon?: ReactNode | ((filtered: boolean) => ReactNode);
|
|
10
10
|
setFilterModel: DefaultFilterPanelProps['setFilterModel'];
|
|
11
11
|
filterModel: DefaultFilterPanelProps['filterModel'];
|
|
12
12
|
setFilter: CustomeFilterPanelProps['setFilter'];
|
|
13
13
|
onClick?: (e: React.MouseEvent) => any;
|
|
14
14
|
stopClickEventPropagation?: boolean;
|
|
15
|
+
stopESCKeyDownEventPropagation?: boolean;
|
|
16
|
+
hideFilterPopupHeader?: boolean;
|
|
17
|
+
getPopupParent?: (triggerElement: HTMLElement) => HTMLElement;
|
|
15
18
|
}
|
|
16
|
-
declare function Filter({ size, style, className, FilterPanelContent, filterIcon, setFilter, setFilterModel, filterModel, isFilterActive, stopClickEventPropagation }: FilterProps): JSX.Element;
|
|
19
|
+
declare function Filter({ size, style, className, FilterPanelContent, filterIcon, setFilter, setFilterModel, filterModel, isFilterActive, stopClickEventPropagation, stopESCKeyDownEventPropagation, hideFilterPopupHeader, getPopupParent }: FilterProps): JSX.Element;
|
|
17
20
|
export default Filter;
|