@kdcloudjs/table 1.1.5-canary.1 → 1.1.5-canary.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/@kdcloudjs/table.css +1 -1
- package/dist/@kdcloudjs/table.js +25 -22
- package/dist/@kdcloudjs/table.js.map +1 -1
- package/dist/@kdcloudjs/table.min.css +1 -1
- package/dist/@kdcloudjs/table.min.js +7 -7
- package/dist/@kdcloudjs/table.min.js.map +1 -1
- package/es/table/base/table.d.ts +1 -1
- package/es/table/base/table.js +3 -2
- package/es/table/pipeline/features/colGroupExtendable.d.ts +2 -0
- package/es/table/pipeline/features/colGroupExtendable.js +5 -3
- package/es/table/pipeline/features/columnFilter.d.ts +2 -0
- package/es/table/pipeline/features/columnFilter.js +2 -0
- package/es/table/pipeline/features/filter/Filter.d.ts +2 -1
- package/es/table/pipeline/features/filter/Filter.js +11 -6
- package/es/table/pipeline/pipeline.d.ts +0 -4
- package/es/table/pipeline/pipeline.js +4 -10
- package/lib/table/base/table.d.ts +1 -1
- package/lib/table/base/table.js +3 -2
- package/lib/table/pipeline/features/colGroupExtendable.d.ts +2 -0
- package/lib/table/pipeline/features/colGroupExtendable.js +5 -3
- package/lib/table/pipeline/features/columnFilter.d.ts +2 -0
- package/lib/table/pipeline/features/columnFilter.js +2 -0
- package/lib/table/pipeline/features/filter/Filter.d.ts +2 -1
- package/lib/table/pipeline/features/filter/Filter.js +11 -6
- package/lib/table/pipeline/pipeline.d.ts +0 -4
- package/lib/table/pipeline/pipeline.js +4 -11
- package/package.json +1 -1
package/es/table/base/table.d.ts
CHANGED
|
@@ -77,7 +77,7 @@ export interface BaseTableProps {
|
|
|
77
77
|
getTableProps?(): React.HTMLAttributes<HTMLTableElement>;
|
|
78
78
|
setTableWidth?(tableWidth: number): void;
|
|
79
79
|
setTableDomHelper?(domHelper: TableDOMHelper): void;
|
|
80
|
-
|
|
80
|
+
setRowHeightManager?(rowHeightManager: any): void;
|
|
81
81
|
cssVariables?: {
|
|
82
82
|
[key: string]: any;
|
|
83
83
|
};
|
package/es/table/base/table.js
CHANGED
|
@@ -11,7 +11,7 @@ import _inherits from "@babel/runtime-corejs3/helpers/inherits";
|
|
|
11
11
|
import _possibleConstructorReturn from "@babel/runtime-corejs3/helpers/possibleConstructorReturn";
|
|
12
12
|
import _getPrototypeOf from "@babel/runtime-corejs3/helpers/getPrototypeOf";
|
|
13
13
|
|
|
14
|
-
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof _Symbol !== "undefined" && _getIteratorMethod(o) || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(
|
|
14
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof _Symbol !== "undefined" && _getIteratorMethod(o) || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
15
15
|
|
|
16
16
|
function _unsupportedIterableToArray(o, minLen) { var _context2; if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = _sliceInstanceProperty(_context2 = Object.prototype.toString.call(o)).call(_context2, 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); }
|
|
17
17
|
|
|
@@ -496,7 +496,7 @@ export var BaseTable = /*#__PURE__*/function (_React$Component) {
|
|
|
496
496
|
}, {
|
|
497
497
|
key: "componentDidMount",
|
|
498
498
|
value: function componentDidMount() {
|
|
499
|
-
var _a, _b, _c, _d; // console.log('did mount start')
|
|
499
|
+
var _a, _b, _c, _d, _e, _f; // console.log('did mount start')
|
|
500
500
|
// console.log('update dom helper start')
|
|
501
501
|
|
|
502
502
|
|
|
@@ -517,6 +517,7 @@ export var BaseTable = /*#__PURE__*/function (_React$Component) {
|
|
|
517
517
|
});
|
|
518
518
|
(_b = (_a = this.props).setTableWidth) === null || _b === void 0 ? void 0 : _b.call(_a, this.domHelper.tableBody.clientWidth);
|
|
519
519
|
(_d = (_c = this.props).setTableDomHelper) === null || _d === void 0 ? void 0 : _d.call(_c, this.domHelper);
|
|
520
|
+
(_f = (_e = this.props).setRowHeightManager) === null || _f === void 0 ? void 0 : _f.call(_e, this.rowHeightManager);
|
|
520
521
|
}
|
|
521
522
|
}, {
|
|
522
523
|
key: "componentDidUpdate",
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { TablePipeline } from "../pipeline";
|
|
2
|
+
import { ReactNode } from 'react';
|
|
2
3
|
export interface colGroupExtendOption {
|
|
3
4
|
onChangeExtendStatus?({}: any, {}: any): void;
|
|
4
5
|
extendStatus?: {};
|
|
6
|
+
extendIcon?: ReactNode | ((extendStatus: boolean) => ReactNode);
|
|
5
7
|
}
|
|
6
8
|
export declare const colGroupExtendable: (opts?: colGroupExtendOption) => (pipeline: TablePipeline) => TablePipeline;
|
|
@@ -60,11 +60,13 @@ export var colGroupExtendable = function colGroupExtendable() {
|
|
|
60
60
|
var addIcon = function addIcon(col) {
|
|
61
61
|
var result = _extends({}, col);
|
|
62
62
|
|
|
63
|
+
var curColState = curState[col.code];
|
|
64
|
+
var displaycolExtendIcon = typeof opts.extendIcon === 'function' ? opts.extendIcon(curColState) : opts.extendIcon;
|
|
63
65
|
var addIconNode = /*#__PURE__*/React.createElement(React.Fragment, null, internals.safeRenderHeader(_extends({}, col)), /*#__PURE__*/React.createElement(ExtendIconStyle, {
|
|
64
66
|
onClick: function onClick() {
|
|
65
67
|
toggle(col);
|
|
66
68
|
}
|
|
67
|
-
}, /*#__PURE__*/React.createElement(ExpandIcon, {
|
|
69
|
+
}, displaycolExtendIcon || /*#__PURE__*/React.createElement(ExpandIcon, {
|
|
68
70
|
style: {
|
|
69
71
|
userSelect: 'none',
|
|
70
72
|
marginLeft: 2,
|
|
@@ -73,8 +75,8 @@ export var colGroupExtendable = function colGroupExtendable() {
|
|
|
73
75
|
verticalAlign: 'middle'
|
|
74
76
|
},
|
|
75
77
|
className: cx(_defineProperty({}, Classes.tableExtendIcon, true)),
|
|
76
|
-
size:
|
|
77
|
-
isExtend:
|
|
78
|
+
size: 14,
|
|
79
|
+
isExtend: curColState
|
|
78
80
|
})));
|
|
79
81
|
result.title = addIconNode;
|
|
80
82
|
return result;
|
|
@@ -16,6 +16,8 @@ export interface FilterFeatureOptions {
|
|
|
16
16
|
filterIcon?: ReactNode | ((filtered: boolean) => ReactNode);
|
|
17
17
|
/** 是否对触发弹出过滤面板 的 click 事件调用 event.stopPropagation() */
|
|
18
18
|
stopClickEventPropagation?: boolean;
|
|
19
|
+
/** 是否对按ESC键时关闭面板的 keydown 事件调用 event.stopPropagation() */
|
|
20
|
+
stopESCKeyDownEventPropagation?: boolean;
|
|
19
21
|
/** 是否隐藏过滤弹出菜单header区域 */
|
|
20
22
|
hideFilterPopupHeader?: boolean;
|
|
21
23
|
}
|
|
@@ -29,6 +29,7 @@ export function filter() {
|
|
|
29
29
|
mode = opts.mode,
|
|
30
30
|
filterIcon = opts.filterIcon,
|
|
31
31
|
stopClickEventPropagation = opts.stopClickEventPropagation,
|
|
32
|
+
stopESCKeyDownEventPropagation = opts.stopESCKeyDownEventPropagation,
|
|
32
33
|
hideFilterPopupHeader = opts.hideFilterPopupHeader;
|
|
33
34
|
var inputFilters = (_b = (_a = filters !== null && filters !== void 0 ? filters : pipeline.getStateAtKey(stateKey)) !== null && _a !== void 0 ? _a : defaultFilters) !== null && _b !== void 0 ? _b : [];
|
|
34
35
|
inputFilters = mode === 'single' ? _sliceInstanceProperty(inputFilters).call(inputFilters, 0, 1) : inputFilters;
|
|
@@ -93,6 +94,7 @@ export function filter() {
|
|
|
93
94
|
isFilterActive: filterActive,
|
|
94
95
|
className: cx((_cx = {}, _defineProperty(_cx, Classes.tableFilterTrigger, true), _defineProperty(_cx, "active", filterActive), _cx)),
|
|
95
96
|
stopClickEventPropagation: stopClickEventPropagation,
|
|
97
|
+
stopESCKeyDownEventPropagation: stopESCKeyDownEventPropagation,
|
|
96
98
|
hideFilterPopupHeader: hideFilterPopupHeader
|
|
97
99
|
})]); // result.headerCellProps = mergeCellProps(col.headerCellProps, {
|
|
98
100
|
// style: {
|
|
@@ -12,7 +12,8 @@ interface FilterProps {
|
|
|
12
12
|
setFilter: CustomeFilterPanelProps['setFilter'];
|
|
13
13
|
onClick?: (e: React.MouseEvent) => any;
|
|
14
14
|
stopClickEventPropagation?: boolean;
|
|
15
|
+
stopESCKeyDownEventPropagation?: boolean;
|
|
15
16
|
hideFilterPopupHeader?: boolean;
|
|
16
17
|
}
|
|
17
|
-
declare function Filter({ size, style, className, FilterPanelContent, filterIcon, setFilter, setFilterModel, filterModel, isFilterActive, stopClickEventPropagation, hideFilterPopupHeader }: FilterProps): JSX.Element;
|
|
18
|
+
declare function Filter({ size, style, className, FilterPanelContent, filterIcon, setFilter, setFilterModel, filterModel, isFilterActive, stopClickEventPropagation, stopESCKeyDownEventPropagation, hideFilterPopupHeader }: FilterProps): JSX.Element;
|
|
18
19
|
export default Filter;
|
|
@@ -74,6 +74,7 @@ function Filter(_ref2) {
|
|
|
74
74
|
filterModel = _ref2.filterModel,
|
|
75
75
|
isFilterActive = _ref2.isFilterActive,
|
|
76
76
|
stopClickEventPropagation = _ref2.stopClickEventPropagation,
|
|
77
|
+
stopESCKeyDownEventPropagation = _ref2.stopESCKeyDownEventPropagation,
|
|
77
78
|
hideFilterPopupHeader = _ref2.hideFilterPopupHeader;
|
|
78
79
|
|
|
79
80
|
var _React$useState3 = React.useState(false),
|
|
@@ -109,20 +110,24 @@ function Filter(_ref2) {
|
|
|
109
110
|
var handleIconClick = function handleIconClick(e) {
|
|
110
111
|
// 只有当icon区域点击会触发面板展开
|
|
111
112
|
// 防止 createPortal 区域的点击触发该事件
|
|
112
|
-
if (
|
|
113
|
-
|
|
113
|
+
if (e.currentTarget.contains(e.target)) {
|
|
114
|
+
setShowPanel(true);
|
|
114
115
|
}
|
|
115
116
|
|
|
116
117
|
if (stopClickEventPropagation) {
|
|
117
118
|
e.stopPropagation();
|
|
118
119
|
}
|
|
119
|
-
|
|
120
|
-
setShowPanel(true);
|
|
121
120
|
};
|
|
122
121
|
|
|
123
122
|
var handleKeyDown = function handleKeyDown(e) {
|
|
124
|
-
if (e.
|
|
125
|
-
|
|
123
|
+
if (e.keyCode === KeyCode.ESC) {
|
|
124
|
+
if (e.currentTarget.contains(e.target)) {
|
|
125
|
+
setShowPanel(false);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
if (stopESCKeyDownEventPropagation) {
|
|
129
|
+
e.stopPropagation();
|
|
130
|
+
}
|
|
126
131
|
}
|
|
127
132
|
};
|
|
128
133
|
|
|
@@ -88,10 +88,6 @@ export declare class TablePipeline {
|
|
|
88
88
|
setFeatureOptions(optionKey: string, value: any): void;
|
|
89
89
|
/** 获取 BaseTable 的 props,结果中包含 dataSource/columns/primaryKey/getRowProps 四个字段 */
|
|
90
90
|
getProps(this: TablePipeline): TableProps;
|
|
91
|
-
/**
|
|
92
|
-
* 清除范围选中内容
|
|
93
|
-
*/
|
|
94
|
-
clearRangeSelection(): void;
|
|
95
91
|
}
|
|
96
92
|
export declare function useTablePipeline(ctx?: Partial<TablePipelineCtx>): TablePipeline;
|
|
97
93
|
export {};
|
|
@@ -8,7 +8,6 @@ import _sliceInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instan
|
|
|
8
8
|
import { useState, useRef } from 'react';
|
|
9
9
|
import { mergeCellProps } from '../utils';
|
|
10
10
|
import { autoFillTableWidth, tableWidthKey } from './features/autoFill';
|
|
11
|
-
import { rangeSelectionKey } from './features/rangeSelection';
|
|
12
11
|
/**
|
|
13
12
|
* 表格数据处理流水线。TablePipeline 提供了表格数据处理过程中的一些上下方与工具方法,包括……
|
|
14
13
|
*
|
|
@@ -279,16 +278,11 @@ export var TablePipeline = /*#__PURE__*/function () {
|
|
|
279
278
|
_this2.ref.current.domHelper = domHelper;
|
|
280
279
|
};
|
|
281
280
|
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
* 清除范围选中内容
|
|
286
|
-
*/
|
|
281
|
+
result.setRowHeightManager = function (rowHeightManager) {
|
|
282
|
+
_this2.ref.current.rowHeightManager = rowHeightManager;
|
|
283
|
+
};
|
|
287
284
|
|
|
288
|
-
|
|
289
|
-
key: "clearRangeSelection",
|
|
290
|
-
value: function clearRangeSelection() {
|
|
291
|
-
this.setStateAtKey(rangeSelectionKey, null);
|
|
285
|
+
return result;
|
|
292
286
|
}
|
|
293
287
|
}]);
|
|
294
288
|
|
|
@@ -77,7 +77,7 @@ export interface BaseTableProps {
|
|
|
77
77
|
getTableProps?(): React.HTMLAttributes<HTMLTableElement>;
|
|
78
78
|
setTableWidth?(tableWidth: number): void;
|
|
79
79
|
setTableDomHelper?(domHelper: TableDOMHelper): void;
|
|
80
|
-
|
|
80
|
+
setRowHeightManager?(rowHeightManager: any): void;
|
|
81
81
|
cssVariables?: {
|
|
82
82
|
[key: string]: any;
|
|
83
83
|
};
|
package/lib/table/base/table.js
CHANGED
|
@@ -81,7 +81,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "functi
|
|
|
81
81
|
|
|
82
82
|
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; }
|
|
83
83
|
|
|
84
|
-
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof _Symbol !== "undefined" && _getIteratorMethod(o) || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(
|
|
84
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof _Symbol !== "undefined" && _getIteratorMethod(o) || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
85
85
|
|
|
86
86
|
function _unsupportedIterableToArray(o, minLen) { var _context2; if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = _sliceInstanceProperty2(_context2 = Object.prototype.toString.call(o)).call(_context2, 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); }
|
|
87
87
|
|
|
@@ -543,7 +543,7 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
|
|
|
543
543
|
}, {
|
|
544
544
|
key: "componentDidMount",
|
|
545
545
|
value: function componentDidMount() {
|
|
546
|
-
var _a, _b, _c, _d; // console.log('did mount start')
|
|
546
|
+
var _a, _b, _c, _d, _e, _f; // console.log('did mount start')
|
|
547
547
|
// console.log('update dom helper start')
|
|
548
548
|
|
|
549
549
|
|
|
@@ -564,6 +564,7 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
|
|
|
564
564
|
});
|
|
565
565
|
(_b = (_a = this.props).setTableWidth) === null || _b === void 0 ? void 0 : _b.call(_a, this.domHelper.tableBody.clientWidth);
|
|
566
566
|
(_d = (_c = this.props).setTableDomHelper) === null || _d === void 0 ? void 0 : _d.call(_c, this.domHelper);
|
|
567
|
+
(_f = (_e = this.props).setRowHeightManager) === null || _f === void 0 ? void 0 : _f.call(_e, this.rowHeightManager);
|
|
567
568
|
}
|
|
568
569
|
}, {
|
|
569
570
|
key: "componentDidUpdate",
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { TablePipeline } from "../pipeline";
|
|
2
|
+
import { ReactNode } from 'react';
|
|
2
3
|
export interface colGroupExtendOption {
|
|
3
4
|
onChangeExtendStatus?({}: any, {}: any): void;
|
|
4
5
|
extendStatus?: {};
|
|
6
|
+
extendIcon?: ReactNode | ((extendStatus: boolean) => ReactNode);
|
|
5
7
|
}
|
|
6
8
|
export declare const colGroupExtendable: (opts?: colGroupExtendOption) => (pipeline: TablePipeline) => TablePipeline;
|
|
@@ -77,12 +77,14 @@ var colGroupExtendable = function colGroupExtendable() {
|
|
|
77
77
|
|
|
78
78
|
var addIcon = function addIcon(col) {
|
|
79
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;
|
|
80
82
|
|
|
81
83
|
var addIconNode = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, _internals.internals.safeRenderHeader((0, _extends2.default)({}, col)), /*#__PURE__*/_react.default.createElement(ExtendIconStyle, {
|
|
82
84
|
onClick: function onClick() {
|
|
83
85
|
toggle(col);
|
|
84
86
|
}
|
|
85
|
-
}, /*#__PURE__*/_react.default.createElement(ExpandIcon, {
|
|
87
|
+
}, displaycolExtendIcon || /*#__PURE__*/_react.default.createElement(ExpandIcon, {
|
|
86
88
|
style: {
|
|
87
89
|
userSelect: 'none',
|
|
88
90
|
marginLeft: 2,
|
|
@@ -91,8 +93,8 @@ var colGroupExtendable = function colGroupExtendable() {
|
|
|
91
93
|
verticalAlign: 'middle'
|
|
92
94
|
},
|
|
93
95
|
className: (0, _classnames.default)((0, _defineProperty2.default)({}, _styles.Classes.tableExtendIcon, true)),
|
|
94
|
-
size:
|
|
95
|
-
isExtend:
|
|
96
|
+
size: 14,
|
|
97
|
+
isExtend: curColState
|
|
96
98
|
})));
|
|
97
99
|
|
|
98
100
|
result.title = addIconNode;
|
|
@@ -16,6 +16,8 @@ export interface FilterFeatureOptions {
|
|
|
16
16
|
filterIcon?: ReactNode | ((filtered: boolean) => ReactNode);
|
|
17
17
|
/** 是否对触发弹出过滤面板 的 click 事件调用 event.stopPropagation() */
|
|
18
18
|
stopClickEventPropagation?: boolean;
|
|
19
|
+
/** 是否对按ESC键时关闭面板的 keydown 事件调用 event.stopPropagation() */
|
|
20
|
+
stopESCKeyDownEventPropagation?: boolean;
|
|
19
21
|
/** 是否隐藏过滤弹出菜单header区域 */
|
|
20
22
|
hideFilterPopupHeader?: boolean;
|
|
21
23
|
}
|
|
@@ -55,6 +55,7 @@ function filter() {
|
|
|
55
55
|
mode = opts.mode,
|
|
56
56
|
filterIcon = opts.filterIcon,
|
|
57
57
|
stopClickEventPropagation = opts.stopClickEventPropagation,
|
|
58
|
+
stopESCKeyDownEventPropagation = opts.stopESCKeyDownEventPropagation,
|
|
58
59
|
hideFilterPopupHeader = opts.hideFilterPopupHeader;
|
|
59
60
|
var inputFilters = (_b = (_a = filters !== null && filters !== void 0 ? filters : pipeline.getStateAtKey(stateKey)) !== null && _a !== void 0 ? _a : defaultFilters) !== null && _b !== void 0 ? _b : [];
|
|
60
61
|
inputFilters = mode === 'single' ? (0, _slice.default)(inputFilters).call(inputFilters, 0, 1) : inputFilters;
|
|
@@ -116,6 +117,7 @@ function filter() {
|
|
|
116
117
|
isFilterActive: filterActive,
|
|
117
118
|
className: (0, _classnames.default)((_cx = {}, (0, _defineProperty2.default)(_cx, _styles.Classes.tableFilterTrigger, true), (0, _defineProperty2.default)(_cx, "active", filterActive), _cx)),
|
|
118
119
|
stopClickEventPropagation: stopClickEventPropagation,
|
|
120
|
+
stopESCKeyDownEventPropagation: stopESCKeyDownEventPropagation,
|
|
119
121
|
hideFilterPopupHeader: hideFilterPopupHeader
|
|
120
122
|
})]); // result.headerCellProps = mergeCellProps(col.headerCellProps, {
|
|
121
123
|
// style: {
|
|
@@ -12,7 +12,8 @@ interface FilterProps {
|
|
|
12
12
|
setFilter: CustomeFilterPanelProps['setFilter'];
|
|
13
13
|
onClick?: (e: React.MouseEvent) => any;
|
|
14
14
|
stopClickEventPropagation?: boolean;
|
|
15
|
+
stopESCKeyDownEventPropagation?: boolean;
|
|
15
16
|
hideFilterPopupHeader?: boolean;
|
|
16
17
|
}
|
|
17
|
-
declare function Filter({ size, style, className, FilterPanelContent, filterIcon, setFilter, setFilterModel, filterModel, isFilterActive, stopClickEventPropagation, hideFilterPopupHeader }: FilterProps): JSX.Element;
|
|
18
|
+
declare function Filter({ size, style, className, FilterPanelContent, filterIcon, setFilter, setFilterModel, filterModel, isFilterActive, stopClickEventPropagation, stopESCKeyDownEventPropagation, hideFilterPopupHeader }: FilterProps): JSX.Element;
|
|
18
19
|
export default Filter;
|
|
@@ -107,6 +107,7 @@ function Filter(_ref2) {
|
|
|
107
107
|
filterModel = _ref2.filterModel,
|
|
108
108
|
isFilterActive = _ref2.isFilterActive,
|
|
109
109
|
stopClickEventPropagation = _ref2.stopClickEventPropagation,
|
|
110
|
+
stopESCKeyDownEventPropagation = _ref2.stopESCKeyDownEventPropagation,
|
|
110
111
|
hideFilterPopupHeader = _ref2.hideFilterPopupHeader;
|
|
111
112
|
|
|
112
113
|
var _React$useState3 = _react.default.useState(false),
|
|
@@ -143,20 +144,24 @@ function Filter(_ref2) {
|
|
|
143
144
|
var handleIconClick = function handleIconClick(e) {
|
|
144
145
|
// 只有当icon区域点击会触发面板展开
|
|
145
146
|
// 防止 createPortal 区域的点击触发该事件
|
|
146
|
-
if (
|
|
147
|
-
|
|
147
|
+
if (e.currentTarget.contains(e.target)) {
|
|
148
|
+
setShowPanel(true);
|
|
148
149
|
}
|
|
149
150
|
|
|
150
151
|
if (stopClickEventPropagation) {
|
|
151
152
|
e.stopPropagation();
|
|
152
153
|
}
|
|
153
|
-
|
|
154
|
-
setShowPanel(true);
|
|
155
154
|
};
|
|
156
155
|
|
|
157
156
|
var handleKeyDown = function handleKeyDown(e) {
|
|
158
|
-
if (e.
|
|
159
|
-
|
|
157
|
+
if (e.keyCode === _keyCode.default.ESC) {
|
|
158
|
+
if (e.currentTarget.contains(e.target)) {
|
|
159
|
+
setShowPanel(false);
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
if (stopESCKeyDownEventPropagation) {
|
|
163
|
+
e.stopPropagation();
|
|
164
|
+
}
|
|
160
165
|
}
|
|
161
166
|
};
|
|
162
167
|
|
|
@@ -88,10 +88,6 @@ export declare class TablePipeline {
|
|
|
88
88
|
setFeatureOptions(optionKey: string, value: any): void;
|
|
89
89
|
/** 获取 BaseTable 的 props,结果中包含 dataSource/columns/primaryKey/getRowProps 四个字段 */
|
|
90
90
|
getProps(this: TablePipeline): TableProps;
|
|
91
|
-
/**
|
|
92
|
-
* 清除范围选中内容
|
|
93
|
-
*/
|
|
94
|
-
clearRangeSelection(): void;
|
|
95
91
|
}
|
|
96
92
|
export declare function useTablePipeline(ctx?: Partial<TablePipelineCtx>): TablePipeline;
|
|
97
93
|
export {};
|
|
@@ -28,8 +28,6 @@ var _utils = require("../utils");
|
|
|
28
28
|
|
|
29
29
|
var _autoFill = require("./features/autoFill");
|
|
30
30
|
|
|
31
|
-
var _rangeSelection = require("./features/rangeSelection");
|
|
32
|
-
|
|
33
31
|
/**
|
|
34
32
|
* 表格数据处理流水线。TablePipeline 提供了表格数据处理过程中的一些上下方与工具方法,包括……
|
|
35
33
|
*
|
|
@@ -296,16 +294,11 @@ var TablePipeline = /*#__PURE__*/function () {
|
|
|
296
294
|
_this2.ref.current.domHelper = domHelper;
|
|
297
295
|
};
|
|
298
296
|
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
* 清除范围选中内容
|
|
303
|
-
*/
|
|
297
|
+
result.setRowHeightManager = function (rowHeightManager) {
|
|
298
|
+
_this2.ref.current.rowHeightManager = rowHeightManager;
|
|
299
|
+
};
|
|
304
300
|
|
|
305
|
-
|
|
306
|
-
key: "clearRangeSelection",
|
|
307
|
-
value: function clearRangeSelection() {
|
|
308
|
-
this.setStateAtKey(_rangeSelection.rangeSelectionKey, null);
|
|
301
|
+
return result;
|
|
309
302
|
}
|
|
310
303
|
}]);
|
|
311
304
|
return TablePipeline;
|