@kdcloudjs/table 1.1.3 → 1.1.4-canary.2
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 +642 -288
- 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 +10 -2
- package/es/table/base/styles.js +17 -7
- package/es/table/base/table.d.ts +2 -0
- package/es/table/base/table.js +31 -53
- package/es/table/base/utils.d.ts +7 -0
- package/es/table/base/utils.js +29 -1
- package/es/table/pipeline/features/columnDrag.js +21 -11
- package/es/table/pipeline/features/columnFilter.d.ts +4 -2
- package/es/table/pipeline/features/columnFilter.js +39 -17
- package/es/table/pipeline/features/columnResizeWidth.js +1 -1
- package/es/table/pipeline/features/filter/DefaultFilterContent.js +22 -2
- 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 +3 -2
- package/es/table/pipeline/features/filter/Filter.js +44 -34
- package/es/table/pipeline/features/filter/FilterPanel.d.ts +2 -1
- package/es/table/pipeline/features/filter/FilterPanel.js +29 -20
- 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 +1 -0
- package/es/table/pipeline/features/index.js +2 -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 +156 -28
- 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 +18 -20
- package/es/table/pipeline/pipeline.d.ts +5 -1
- package/es/table/pipeline/pipeline.js +12 -11
- package/es/table/utils/keyCode.d.ts +4 -0
- package/es/table/utils/keyCode.js +4 -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 +10 -2
- package/lib/table/base/styles.js +17 -7
- package/lib/table/base/table.d.ts +2 -0
- package/lib/table/base/table.js +31 -53
- package/lib/table/base/utils.d.ts +7 -0
- package/lib/table/base/utils.js +35 -1
- package/lib/table/pipeline/features/columnDrag.js +21 -11
- package/lib/table/pipeline/features/columnFilter.d.ts +4 -2
- package/lib/table/pipeline/features/columnFilter.js +37 -17
- package/lib/table/pipeline/features/columnResizeWidth.js +1 -1
- package/lib/table/pipeline/features/filter/DefaultFilterContent.js +23 -1
- 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 +3 -2
- package/lib/table/pipeline/features/filter/Filter.js +46 -34
- package/lib/table/pipeline/features/filter/FilterPanel.d.ts +2 -1
- package/lib/table/pipeline/features/filter/FilterPanel.js +30 -19
- 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 +1 -0
- package/lib/table/pipeline/features/index.js +15 -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 +158 -30
- 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 +19 -22
- package/lib/table/pipeline/pipeline.d.ts +5 -1
- package/lib/table/pipeline/pipeline.js +13 -11
- package/lib/table/utils/keyCode.d.ts +4 -0
- package/lib/table/utils/keyCode.js +11 -0
- package/lib/table/utils/mergeCellProps.js +2 -6
- package/package.json +3 -3
package/lib/table/base/styles.js
CHANGED
|
@@ -21,7 +21,7 @@ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime-cor
|
|
|
21
21
|
|
|
22
22
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
23
23
|
|
|
24
|
-
var _templateObject, _templateObject2, _templateObject3;
|
|
24
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
25
25
|
|
|
26
26
|
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); }
|
|
27
27
|
|
|
@@ -33,6 +33,7 @@ var prefix = 'kd-';
|
|
|
33
33
|
var Classes = {
|
|
34
34
|
/** BaseTable 表格组件的外层包裹 div */
|
|
35
35
|
artTableWrapper: "".concat(prefix, "table-wrapper"),
|
|
36
|
+
artTableBordered: "".concat(prefix, "table-bordered"),
|
|
36
37
|
artTable: "".concat(prefix, "table"),
|
|
37
38
|
tableHeaderMain: "".concat(prefix, "table-header-main"),
|
|
38
39
|
tableHeader: "".concat(prefix, "table-header"),
|
|
@@ -76,6 +77,8 @@ var Classes = {
|
|
|
76
77
|
button: "".concat(prefix, "btn"),
|
|
77
78
|
buttonPrimary: "".concat(prefix, "btn-primary"),
|
|
78
79
|
filterIcon: "".concat(prefix, "filter-icon"),
|
|
80
|
+
rangeSelection: "".concat(prefix, "range-selection"),
|
|
81
|
+
tableCellRangeSingleCell: "".concat(prefix, "table-cell-range-single-cell"),
|
|
79
82
|
tableCellRangeSelected: "".concat(prefix, "table-cell-range-selected"),
|
|
80
83
|
tableCellRangeTop: "".concat(prefix, "table-cell-range-top"),
|
|
81
84
|
tableCellRangeLeft: "".concat(prefix, "table-cell-range-left"),
|
|
@@ -95,7 +98,10 @@ var Classes = {
|
|
|
95
98
|
rowSpan: "".concat(prefix, "row-span"),
|
|
96
99
|
leaf: "".concat(prefix, "leaf"),
|
|
97
100
|
expanded: "".concat(prefix, "expanded"),
|
|
98
|
-
collapsed: "".concat(prefix, "collapsed")
|
|
101
|
+
collapsed: "".concat(prefix, "collapsed"),
|
|
102
|
+
popup: "".concat(prefix, "popup"),
|
|
103
|
+
popupHeader: "".concat(prefix, "popup-header"),
|
|
104
|
+
popupBody: "".concat(prefix, "popup-body")
|
|
99
105
|
};
|
|
100
106
|
exports.Classes = Classes;
|
|
101
107
|
var MenuClasses = {
|
|
@@ -116,7 +122,7 @@ var Z = {
|
|
|
116
122
|
scrollItem: 30,
|
|
117
123
|
loadingIndicator: 40
|
|
118
124
|
};
|
|
119
|
-
var outerBorderStyleMixin = (0, _styledComponents.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n border-top: 1px solid #cccccc;\n border-right: 1px solid #cccccc;\n border-bottom: 1px solid #cccccc;\n border-left: 1px solid #cccccc;\n\n td.", ",\n th.", " {\n border-left: none;\n }\n td.", ",\n th.", " {\n
|
|
125
|
+
var outerBorderStyleMixin = (0, _styledComponents.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n border-top: 1px solid #cccccc;\n border-right: 1px solid #cccccc;\n border-bottom: 1px solid #cccccc;\n border-left: 1px solid #cccccc;\n\n td.", ",\n th.", " {\n border-left: none;\n }\n td.", ",\n th.", " {\n border-right: none;\n }\n\n thead tr.", " th,\n tbody tr.", " td {\n border-top: none;\n }\n &.has-footer tfoot tr.", " td {\n border-bottom: none;\n }\n &:not(.has-footer) tbody tr.", " td {\n border-bottom: none;\n }\n td.", ":not(.", "){\n border-left: var(---cell-border-vertical);\n }\n td.", ":not(.", "){\n border-right: var(---cell-border-vertical);\n }\n"])), Classes.first, Classes.first, Classes.last, Classes.last, Classes.first, Classes.first, Classes.last, Classes.last, Classes.rowSpan, Classes.first, Classes.rowSpan, Classes.last);
|
|
120
126
|
var defaultCSSVariables = {
|
|
121
127
|
'--row-height': '48px',
|
|
122
128
|
'--color': '#333',
|
|
@@ -126,7 +132,7 @@ var defaultCSSVariables = {
|
|
|
126
132
|
'--primary-color': '#5582F3',
|
|
127
133
|
'--primary-color-level1': 'rgb(242, 248, 255)',
|
|
128
134
|
'--primary-color-level2': 'rgb(135, 173, 255)',
|
|
129
|
-
'--icon-color': '#
|
|
135
|
+
'--icon-color': '#666666',
|
|
130
136
|
'--strong-border-color': '#d9d9d9',
|
|
131
137
|
'--header-row-height': '32px',
|
|
132
138
|
'--header-color': '#333',
|
|
@@ -142,16 +148,20 @@ var defaultCSSVariables = {
|
|
|
142
148
|
'--cell-border-horizontal': '1px solid #dfe3e8',
|
|
143
149
|
'---cell-border-vertical': '1px solid #dfe3e8',
|
|
144
150
|
'--header-cell-border': '1px solid #dfe3e8',
|
|
145
|
-
'--
|
|
151
|
+
'--cell-border-vertical': '1px solid #dfe3e8',
|
|
152
|
+
'--header-cell-border-horizontal': '1px solid #dfe3e8',
|
|
153
|
+
'--header-cell-border-vertical': '1px solid #dfe3e8'
|
|
146
154
|
};
|
|
147
155
|
exports.defaultCSSVariables = defaultCSSVariables;
|
|
148
156
|
var variableConst = getCssVariableText(defaultCSSVariables);
|
|
149
157
|
exports.variableConst = variableConst;
|
|
158
|
+
var notBorderedStyleMixin = (0, _styledComponents.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n --cell-border-vertical: none;\n --header-cell-border-vertical: none;\n"])));
|
|
159
|
+
var borderedStyleMixin = (0, _styledComponents.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n //th\u9690\u85CF\u5217\u5BBD\u62D6\u62FD\u7684\u80CC\u666F\u8272\uFF0C\u4F7F\u7528th\u7684\u53F3\u8FB9\u6846\u4EE3\u66FF\n .", "::after{\n background-color: inherit;\n }\n"])), Classes.tableHeaderCellResize);
|
|
150
160
|
|
|
151
|
-
var StyledArtTableWrapper = _styledComponents.default.div(
|
|
161
|
+
var StyledArtTableWrapper = _styledComponents.default.div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n :root {\n ", "\n }\n ", "\n\n box-sizing: border-box;\n * {\n box-sizing: border-box;\n }\n cursor: default;\n color: var(--color);\n font-size: var(--font-size);\n line-height: var(--line-height);\n position: relative;\n\n // \u8868\u683C\u5916\u8FB9\u6846\u7531 art-table-wrapper \u63D0\u4F9B\uFF0C\u800C\u4E0D\u662F\u7531\u5355\u5143\u683C\u63D0\u4F9B\n &.use-outer-border {\n ", ";\n }\n\n // \u8868\u683C\u4E0D\u542F\u7528\u8FB9\u6846\u7EBF\uFF0C\u9690\u85CFth\u3001td\u7684\u5355\u5143\u683C\u5DE6\u53F3\u8FB9\u6846\u7EBF\n &:not(.", ") {\n ", "\n }\n &.", "{\n ", "\n }\n\n .no-scrollbar {\n ::-webkit-scrollbar {\n display: none;\n }\n }\n\n .", " {\n overflow: auto;\n flex-shrink: 1;\n flex-grow: 1;\n display: flex;\n flex-direction: column;\n }\n\n .", " {\n overflow: hidden;\n background: var(--header-bgcolor);\n display: flex;\n flex-shrink: 0;\n border-bottom: var(--header-cell-border-horizontal);\n }\n\n .", " {\n display: flex;\n // justify-content: flex-start;\n align-items: center;\n height: inherit;\n }\n\n .", " {\n overflow-x:auto;\n flex-shrink: 0;\n flex-grow: 0;\n scrollbar-width: none; // \u517C\u5BB9\u706B\u72D0\n & {\n ::-webkit-scrollbar {\n display:none;\n }\n }\n }\n\n .", " {\n display: flex;\n flex: none;\n }\n .", ", .", " {\n background: var(--bgcolor);\n overflow: auto;\n overflow-x: hidden;\n overflow-anchor: none;\n position:relative;\n &.empty {\n position: relative;\n }\n }\n\n .", " {\n position: relative;\n }\n .", ", .", " {\n .", "{\n background-color: #e6effb !important;\n }\n .", "{\n border-top: 1px solid #0E5FD8 !important;\n }\n .", "{\n border-left: 1px solid #0E5FD8 !important;\n }\n .", "{\n border-bottom: 1px solid #0E5FD8 !important;\n }\n .", "{\n border-right: 1px solid #0E5FD8 !important;\n }\n }\n \n .", " {\n user-select:none;\n }\n\n\n &.sticky-header .", " {\n position: sticky;\n top: 0;\n z-index: ", ";\n }\n\n &.sticky-footer .", " {\n position: sticky;\n bottom: 0;\n z-index: ", ";\n }\n\n table {\n width: 0;\n table-layout: fixed;\n border-collapse: separate;\n border-spacing: 0;\n display: table;\n margin: 0;\n padding: 0;\n flex-shrink: 0;\n flex-grow: 0;\n position:relative;\n }\n\n // \u5728 tr \u4E0A\u8BBE\u7F6E .no-hover \u53EF\u4EE5\u7981\u7528\u9F20\u6807\u60AC\u505C\u6548\u679C\n tr:not(.no-hover):hover > td {\n background: var(--hover-bgcolor);\n }\n // \u4F7F\u7528 js \u6DFB\u52A0\u60AC\u6D6E\u6548\u679C\n tr:not(.no-hover).row-hover > td {\n background: var(--hover-bgcolor);\n }\n // \u5728 tr \u8BBE\u7F6E highlight \u53EF\u4EE5\u4E3A\u5E95\u4E0B\u7684 td \u8BBE\u7F6E\u4E3A\u9AD8\u4EAE\u8272\n // \u800C\u8BBE\u7F6E .no-highlight \u7684\u8BDD\u5219\u53EF\u4EE5\u7981\u7528\u9AD8\u4EAE\u6548\u679C\uFF1B\n tr:not(.no-highlight).highlight > td {\n background: var(--highlight-bgcolor);\n }\n\n th {\n font-weight: normal;\n text-align: left;\n padding: var(--cell-padding);\n height: var(--header-row-height);\n color: var(--header-color);\n background: var(--header-bgcolor);\n border:1px solid transparent;\n border-right: var(--header-cell-border-vertical);\n border-bottom: var(--header-cell-border-horizontal);\n position: relative;\n }\n\n th.resizeable{\n border-right: var(--header-cell-border-vertical)\n }\n\n th.", " {\n border-right: var(--header-cell-border-vertical);\n border-bottom: none;\n }\n\n tr.", " th {\n border-top: var(--header-cell-border-horizontal);\n }\n th.", " {\n border-left: var(--header-cell-border-vertical);\n }\n\n td {\n padding: var(--cell-padding);\n background: var(--bgcolor);\n height: var(--row-height);\n border:1px solid transparent;\n border-right: var(--cell-border-vertical);\n border-bottom: var(--cell-border-horizontal);\n word-break: break-all;\n }\n td.", " {\n border-left: var(--cell-border-vertical);\n }\n tr.", " td {\n border-top: var(--cell-border-horizontal);\n }\n &.has-header tbody tr.", " td {\n border-top: none;\n }\n &.has-footer tbody tr.", " td {\n border-bottom: none;\n }\n\n .", ",\n .", " {\n z-index: ", ";\n }\n\n //#region \u9501\u5217\u9634\u5F71\n .", " {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: ", ";\n pointer-events: none;\n overflow: hidden;\n\n .", " {\n height: 100%;\n }\n\n .", " {\n margin-right: ", "px;\n box-shadow: none;\n\n &.show-shadow {\n box-shadow: var(--lock-shadow);\n border-right: var(--cell-border-vertical);\n }\n }\n\n .", " {\n margin-left: ", "px;\n box-shadow: none;\n\n &.show-shadow {\n box-shadow: var(--lock-shadow);\n border-left: var(--cell-border-vertical);\n }\n }\n }\n //#endregion\n\n //#region \u7A7A\u8868\u683C\u5C55\u73B0\n .", " {\n pointer-events: none;\n color: #99a3b3;\n font-size: 12px;\n text-align: center;\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n\n .empty-image {\n width: 50px;\n height: 50px;\n }\n\n .empty-tips {\n margin-top: 16px;\n line-height: 1.5;\n }\n }\n //#endregion\n\n //#region IE\u517C\u5BB9\n &.ie-polyfill-wrapper {\n //\u9501\u5B9A\u5217\u517C\u5BB9 \u4EC5\u5728\u9501\u5B9A\u5217\u7684\u60C5\u51B5\u4E0B\u751F\u6548\n .", " {\n overflow-x: hidden;\n }\n .", ", .", " {\n position:relative;\n }\n .", " {\n overflow: hidden;\n }\n .", " {\n position: relative;\n }\n\n .", " {\n overflow: auto;\n overflow-x: hidden;\n overflow-anchor: none;\n }\n\n .", ", .", "{\n position: absolute;\n z-index: ", ";\n top: 0;\n }\n .", "{\n left:0;\n }\n .", "{\n right:0;\n }\n\n .", "{\n .", "{\n position: absolute;\n top: 0;\n width: 100%;\n z-index: ", ";\n }\n }\n\n tr:not(.no-hover).row-hover > td {\n background: var(--hover-bgcolor);\n }\n }\n //#endregion\n\n //#region \u7C98\u6027\u6EDA\u52A8\u6761\n .", " {\n overflow-y: hidden;\n overflow-x: auto;\n z-index: ", ";\n flex-shrink: 0;\n flex-grow: 0;\n border-top: 1px solid var(--border-color);\n background: var(--bgcolor);\n }\n\n .", " {\n // \u5FC5\u987B\u6709\u9AD8\u5EA6\u624D\u80FD\u51FA\u73B0\u6EDA\u52A8\u6761\n height: 1px;\n visibility: hidden;\n }\n //#endregion\n\n //#region \u52A0\u8F7D\u6837\u5F0F\n .", " {\n position: relative;\n width: 100%;\n height: 100%;\n overflow: auto;\n\n .", " {\n filter: none;\n width: 100%;\n height: 100%;\n overflow: hidden;//\u5217\u5168\u90E8\u56FA\u5B9A\u65F6\uFF0C\u5B58\u5728\u53CC\u6A2A\u5411\u6EDA\u52A8\u6761\n display: flex;\n position: relative;\n flex-direction: column;\n }\n\n .", " {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n pointer-events: none;\n }\n\n .", " {\n position: sticky;\n z-index: ", ";\n transform: translateY(-50%);\n }\n }\n //#endregion\n\n //#region \u8868\u683C\u8FC7\u6EE4\n .", " {\n color:var(--icon-color);\n &.active{\n color:var(--primary-color);\n }\n padding: 6px 4px;\n &:hover{\n background-color: #e5e5e5;\n }\n }\n //#endregion\n\n //#region \u8868\u683C\u6392\u5E8F\n .", " {\n color:var(--icon-color);\n &.active{\n color:var(--primary-color);\n }\n }\n //#endregion\n\n //#region \u6EDA\u52A8\u6761\u5360\u4F4D\n .", " {\n visibility: hidden;\n flex-shrink: 0;\n }\n .", " .", " {\n border-top: var(--cell-border-horizontal);\n }\n //#endregion\n \n //#region \u62D6\u62FD\u5217\u5BBD\u5927\u5C0F\n .", "::after{\n background-color: var(--border-color);\n }\n //#endregion\n\n "])), variableConst, variableConst, outerBorderStyleMixin, Classes.artTableBordered, notBorderedStyleMixin, Classes.artTableBordered, borderedStyleMixin, Classes.artTable, Classes.tableHeader, Classes.tableHeaderCellContent, Classes.virtual, Classes.tableFooter, Classes.tableBody, Classes.tableFooter, Classes.tableRow, Classes.tableBody, Classes.tableFooter, Classes.tableCellRangeSelected, Classes.tableCellRangeTop, Classes.tableCellRangeLeft, Classes.tableCellRangeBottom, Classes.tableCellRangeRight, Classes.rangeSelection, Classes.tableHeader, Z.header, Classes.tableFooter, Z.footer, Classes.leaf, Classes.first, Classes.first, Classes.first, Classes.first, Classes.first, Classes.last, Classes.lockLeft, Classes.lockRight, Z.lock, Classes.lockShadowMask, Z.lockShadow, Classes.lockShadow, Classes.leftLockShadow, LOCK_SHADOW_PADDING, Classes.rightLockShadow, LOCK_SHADOW_PADDING, Classes.emptyWrapper, Classes.virtual, Classes.tableBody, Classes.tableFooter, Classes.tableHeaderMain, Classes.tableHeader, Classes.tableFooterMain, Classes.fixedLeft, Classes.fixedRight, Z.lock, Classes.fixedLeft, Classes.fixedRight, Classes.rowDetailContainer, Classes.rowDetailItem, Z.rowDetail, Classes.stickyScroll, Z.scrollItem, Classes.stickyScrollItem, Classes.loadingWrapper, Classes.loadingContentWrapper, Classes.loadingIndicatorWrapper, Classes.loadingIndicator, Z.loadingIndicator, Classes.tableFilterTrigger, Classes.tableSortIcon, Classes.verticalScrollPlaceholder, Classes.tableFooter, Classes.verticalScrollPlaceholder, Classes.tableHeaderCellResize);
|
|
152
162
|
|
|
153
163
|
exports.StyledArtTableWrapper = StyledArtTableWrapper;
|
|
154
|
-
var ButtonCSS = (0, _styledComponents.css)(
|
|
164
|
+
var ButtonCSS = (0, _styledComponents.css)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n ", "\n //#region \u6309\u94AE\n .", "{\n color: var(--color);\n background:#ffffff;\n border:1px solid var(--strong-border-color);\n border-radius: 2px;\n cursor: pointer;\n &:hover{\n color: var(--primary-color);\n border:1px solid var(--primary-color);\n }\n }\n .", " {\n color:#ffffff;\n background-color: var(--primary-color);\n border:none;\n &:hover{\n color:#ffffff;\n background-color: var(--primary-color-level2);\n border:none;\n }\n }\n//#endregion\n"])), variableConst, Classes.button, Classes.buttonPrimary);
|
|
155
165
|
exports.ButtonCSS = ButtonCSS;
|
|
156
166
|
|
|
157
167
|
function getCssVariableText(obj) {
|
package/lib/table/base/table.js
CHANGED
|
@@ -31,6 +31,8 @@ var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable
|
|
|
31
31
|
|
|
32
32
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
|
|
33
33
|
|
|
34
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
|
35
|
+
|
|
34
36
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
|
35
37
|
|
|
36
38
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/classCallCheck"));
|
|
@@ -43,8 +45,6 @@ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime
|
|
|
43
45
|
|
|
44
46
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/getPrototypeOf"));
|
|
45
47
|
|
|
46
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
|
47
|
-
|
|
48
48
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
49
49
|
|
|
50
50
|
var _react = _interopRequireDefault(require("react"));
|
|
@@ -73,8 +73,6 @@ var _styles = require("./styles");
|
|
|
73
73
|
|
|
74
74
|
var _utils = require("./utils");
|
|
75
75
|
|
|
76
|
-
var _cssVarsPonyfill = _interopRequireDefault(require("css-vars-ponyfill"));
|
|
77
|
-
|
|
78
76
|
var _utils2 = require("../utils");
|
|
79
77
|
|
|
80
78
|
var _renderTemplates = _interopRequireDefault(require("./renderTemplates"));
|
|
@@ -93,31 +91,6 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
|
|
|
93
91
|
|
|
94
92
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
95
93
|
|
|
96
|
-
var cssPolifill = function cssPolifill(_ref) {
|
|
97
|
-
var variables = _ref.variables,
|
|
98
|
-
enableCSSVariables = _ref.enableCSSVariables;
|
|
99
|
-
|
|
100
|
-
// const style = document.createElement('style')
|
|
101
|
-
// style.type = 'text/css'
|
|
102
|
-
// style.innerHTML = '.aaa{ --color: red; }'
|
|
103
|
-
// document.getElementsByTagName('head').item(0).appendChild(style)
|
|
104
|
-
// const variableNames = variableConst.match(/--.*?(?=:)/g)
|
|
105
|
-
// variables = variableNames.map((name) => rootElement.style[name])
|
|
106
|
-
if (enableCSSVariables === false) {
|
|
107
|
-
return;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
(0, _cssVarsPonyfill.default)({
|
|
111
|
-
// exclude: 'link[href*="semantic-ui"]',
|
|
112
|
-
// onlyLegacy: false,
|
|
113
|
-
// rootElement: rootElement,
|
|
114
|
-
include: 'style[data-styled]',
|
|
115
|
-
variables: (0, _extends2.default)({}, _styles.defaultCSSVariables, variables),
|
|
116
|
-
watch: true,
|
|
117
|
-
silent: true
|
|
118
|
-
});
|
|
119
|
-
};
|
|
120
|
-
|
|
121
94
|
var propsDotEmptyContentDeprecatedWarned = false;
|
|
122
95
|
|
|
123
96
|
function warnPropsDotEmptyContentIsDeprecated() {
|
|
@@ -526,6 +499,8 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
|
|
|
526
499
|
}, {
|
|
527
500
|
key: "render",
|
|
528
501
|
value: function render() {
|
|
502
|
+
var _cx;
|
|
503
|
+
|
|
529
504
|
// console.log('render table')
|
|
530
505
|
var info = (0, _calculations.calculateRenderInfo)(this);
|
|
531
506
|
this.lastInfo = info;
|
|
@@ -541,28 +516,29 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
|
|
|
541
516
|
isLoading = _this$props6.isLoading,
|
|
542
517
|
getTableProps = _this$props6.getTableProps,
|
|
543
518
|
footerDataSource = _this$props6.footerDataSource,
|
|
544
|
-
components = _this$props6.components
|
|
545
|
-
|
|
519
|
+
components = _this$props6.components,
|
|
520
|
+
bordered = _this$props6.bordered;
|
|
521
|
+
var artTableWrapperClassName = (0, _classnames.default)(_styles.Classes.artTableWrapper, (_cx = {
|
|
546
522
|
'use-outer-border': useOuterBorder,
|
|
547
523
|
empty: dataSource.length === 0,
|
|
548
524
|
lock: info.hasLockColumn,
|
|
549
525
|
'has-header': hasHeader,
|
|
550
526
|
'sticky-header': isStickyHeader !== null && isStickyHeader !== void 0 ? isStickyHeader : isStickyHead,
|
|
551
527
|
'has-footer': footerDataSource.length > 0,
|
|
552
|
-
'sticky-footer': isStickyFooter
|
|
553
|
-
|
|
554
|
-
}, className);
|
|
528
|
+
'sticky-footer': isStickyFooter
|
|
529
|
+
}, (0, _defineProperty2.default)(_cx, _styles.Classes.artTableBordered, bordered), (0, _defineProperty2.default)(_cx, 'ie-polyfill-wrapper', _utils2.browserType.isIE), _cx), className);
|
|
555
530
|
var artTableWrapperProps = (0, _defineProperty2.default)({
|
|
556
531
|
className: artTableWrapperClassName,
|
|
557
532
|
style: style
|
|
558
533
|
}, _utils.STYLED_REF_PROP, this.artTableWrapperRef);
|
|
534
|
+
var tableProps = getTableProps() || {};
|
|
559
535
|
return /*#__PURE__*/_react.default.createElement(_styles.StyledArtTableWrapper, (0, _extends2.default)({}, artTableWrapperProps), /*#__PURE__*/_react.default.createElement(_loading.default, {
|
|
560
536
|
visible: isLoading,
|
|
561
537
|
LoadingIcon: components.LoadingIcon,
|
|
562
538
|
LoadingContentWrapper: components.LoadingContentWrapper
|
|
563
|
-
}, /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
|
|
564
|
-
className: _styles.Classes.artTable
|
|
565
|
-
}
|
|
539
|
+
}, /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, tableProps, {
|
|
540
|
+
className: (0, _classnames.default)(_styles.Classes.artTable, tableProps.className)
|
|
541
|
+
}), this.renderTableHeader(info), this.renderTableBody(info), this.renderTableFooter(info), this.renderLockShadows(info)), this.renderStickyScroll(info)));
|
|
566
542
|
}
|
|
567
543
|
}, {
|
|
568
544
|
key: "componentDidMount",
|
|
@@ -579,10 +555,12 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
|
|
|
579
555
|
|
|
580
556
|
var _this$props7 = this.props,
|
|
581
557
|
cssVariables = _this$props7.cssVariables,
|
|
582
|
-
enableCSSVariables = _this$props7.enableCSSVariables
|
|
583
|
-
|
|
558
|
+
enableCSSVariables = _this$props7.enableCSSVariables,
|
|
559
|
+
bordered = _this$props7.bordered;
|
|
560
|
+
(0, _utils.cssPolifill)({
|
|
584
561
|
variables: cssVariables || {},
|
|
585
|
-
enableCSSVariables: enableCSSVariables
|
|
562
|
+
enableCSSVariables: enableCSSVariables,
|
|
563
|
+
bordered: bordered
|
|
586
564
|
});
|
|
587
565
|
(_b = (_a = this.props).setTableWidth) === null || _b === void 0 ? void 0 : _b.call(_a, this.domHelper.tableBody.clientWidth);
|
|
588
566
|
(_d = (_c = this.props).setTableDomHelper) === null || _d === void 0 ? void 0 : _d.call(_c, this.domHelper);
|
|
@@ -654,15 +632,15 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
|
|
|
654
632
|
|
|
655
633
|
this.rootSubscription.add((0, _rxjs.combineLatest)([richVisibleRects$.pipe(op.map(function (p) {
|
|
656
634
|
return p.clipRect;
|
|
657
|
-
}), op.distinctUntilChanged(_utils.shallowEqual)), this.props$.pipe(op.startWith(null), op.pairwise(), op.filter(function (
|
|
658
|
-
var
|
|
659
|
-
prevProps =
|
|
660
|
-
props =
|
|
635
|
+
}), op.distinctUntilChanged(_utils.shallowEqual)), this.props$.pipe(op.startWith(null), op.pairwise(), op.filter(function (_ref) {
|
|
636
|
+
var _ref2 = (0, _slicedToArray2.default)(_ref, 2),
|
|
637
|
+
prevProps = _ref2[0],
|
|
638
|
+
props = _ref2[1];
|
|
661
639
|
|
|
662
640
|
return prevProps == null || !prevProps.isLoading && props.isLoading;
|
|
663
|
-
}))]).subscribe(function (
|
|
664
|
-
var
|
|
665
|
-
clipRect =
|
|
641
|
+
}))]).subscribe(function (_ref3) {
|
|
642
|
+
var _ref4 = (0, _slicedToArray2.default)(_ref3, 1),
|
|
643
|
+
clipRect = _ref4[0];
|
|
666
644
|
|
|
667
645
|
var loadingIndicator = _this2.domHelper.getLoadingIndicator();
|
|
668
646
|
|
|
@@ -681,9 +659,9 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
|
|
|
681
659
|
horizontal = _this2$lastInfo$useVi.horizontal,
|
|
682
660
|
vertical = _this2$lastInfo$useVi.vertical;
|
|
683
661
|
return horizontal || vertical;
|
|
684
|
-
}), op.map(function (
|
|
685
|
-
var clipRect =
|
|
686
|
-
offsetY =
|
|
662
|
+
}), op.map(function (_ref5) {
|
|
663
|
+
var clipRect = _ref5.clipRect,
|
|
664
|
+
offsetY = _ref5.offsetY;
|
|
687
665
|
return {
|
|
688
666
|
maxRenderHeight: clipRect.bottom - clipRect.top,
|
|
689
667
|
maxRenderWidth: clipRect.right - clipRect.left,
|
|
@@ -700,9 +678,9 @@ var BaseTable = /*#__PURE__*/function (_React$Component) {
|
|
|
700
678
|
})).subscribe(function (sizeAndOffset) {
|
|
701
679
|
_this2.setState(sizeAndOffset);
|
|
702
680
|
}));
|
|
703
|
-
this.rootSubscription.add(richVisibleRects$.pipe(op.map(function (
|
|
704
|
-
var clipRect =
|
|
705
|
-
offsetY =
|
|
681
|
+
this.rootSubscription.add(richVisibleRects$.pipe(op.map(function (_ref6) {
|
|
682
|
+
var clipRect = _ref6.clipRect,
|
|
683
|
+
offsetY = _ref6.offsetY;
|
|
706
684
|
return {
|
|
707
685
|
maxRenderHeight: clipRect.bottom - clipRect.top,
|
|
708
686
|
maxRenderWidth: clipRect.right - clipRect.left,
|
|
@@ -36,4 +36,11 @@ export declare function shallowEqual<T>(objA: T, objB: T): boolean;
|
|
|
36
36
|
export declare function composeRowPropsGetter(getRowProps: (record: any, rowIndex: number) => React.HTMLAttributes<HTMLTableRowElement>, pendingRowProps?: React.HTMLAttributes<HTMLTableRowElement>): (record: any, rowIndex: number) => React.HTMLAttributes<HTMLTableRowElement>;
|
|
37
37
|
export declare function getTableScrollHeaderDOM(domHelper: TableDOMHelper): HTMLDivElement;
|
|
38
38
|
export declare function getTableScrollFooterDOM(domHelper: TableDOMHelper): HTMLDivElement;
|
|
39
|
+
export declare const cssPolifill: ({ variables, enableCSSVariables, bordered }: {
|
|
40
|
+
variables: {
|
|
41
|
+
[key: string]: any;
|
|
42
|
+
};
|
|
43
|
+
enableCSSVariables?: boolean;
|
|
44
|
+
bordered?: boolean;
|
|
45
|
+
}) => void;
|
|
39
46
|
export {};
|
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,14 @@ 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
|
+
|
|
56
61
|
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
62
|
|
|
58
63
|
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; }
|
|
@@ -268,4 +273,33 @@ function getTableScrollHeaderDOM(domHelper) {
|
|
|
268
273
|
|
|
269
274
|
function getTableScrollFooterDOM(domHelper) {
|
|
270
275
|
return _utils.browserType.isIE ? domHelper.tableFooterMain : domHelper.tableFooter;
|
|
271
|
-
}
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
var cssPolifill = function cssPolifill(_ref) {
|
|
279
|
+
var variables = _ref.variables,
|
|
280
|
+
enableCSSVariables = _ref.enableCSSVariables,
|
|
281
|
+
bordered = _ref.bordered;
|
|
282
|
+
|
|
283
|
+
if (enableCSSVariables === false) {
|
|
284
|
+
return;
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
var conditionCSSVariables = {}; // 默认情况下存在td、th无左右边框,开启`bordered`属性后才开启,否则隐藏这两种属性
|
|
288
|
+
|
|
289
|
+
if (!bordered) {
|
|
290
|
+
conditionCSSVariables['--cell-border-vertical'] = 'none';
|
|
291
|
+
conditionCSSVariables['--header-cell-border-vertical'] = 'none';
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
(0, _cssVarsPonyfill.default)({
|
|
295
|
+
// exclude: 'link[href*="semantic-ui"]',
|
|
296
|
+
// onlyLegacy: false,
|
|
297
|
+
// rootElement: rootElement,
|
|
298
|
+
include: 'style[data-styled]',
|
|
299
|
+
variables: (0, _extends2.default)({}, _styles.defaultCSSVariables, variables, conditionCSSVariables),
|
|
300
|
+
watch: true,
|
|
301
|
+
silent: true
|
|
302
|
+
});
|
|
303
|
+
};
|
|
304
|
+
|
|
305
|
+
exports.cssPolifill = cssPolifill;
|
|
@@ -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
|
|
|
@@ -105,6 +105,8 @@ function columnDrag() {
|
|
|
105
105
|
var currentTarget = e.currentTarget;
|
|
106
106
|
var rect = e.currentTarget.parentElement.getClientRects()[0];
|
|
107
107
|
var startX = rect.left;
|
|
108
|
+
var mouseDownClientX = e.clientX;
|
|
109
|
+
var mouseDownClientY = e.clientY;
|
|
108
110
|
var moveData = [];
|
|
109
111
|
var allColumns = (0, _utils.collectNodes)(columns);
|
|
110
112
|
var tableBodyClientRect = tableBody.getBoundingClientRect();
|
|
@@ -124,8 +126,6 @@ function columnDrag() {
|
|
|
124
126
|
}
|
|
125
127
|
};
|
|
126
128
|
|
|
127
|
-
var stopClickPropagationFlag = false;
|
|
128
|
-
|
|
129
129
|
function handleMouseMove(e) {
|
|
130
130
|
var client = {
|
|
131
131
|
clientX: e.clientX,
|
|
@@ -139,12 +139,6 @@ function columnDrag() {
|
|
|
139
139
|
if (e.clientX - leftPosition < 20) {
|
|
140
140
|
return;
|
|
141
141
|
} else {
|
|
142
|
-
// 阻止列头点击事件,防止拖动后触发列头过滤事件
|
|
143
|
-
if (stopClickPropagationFlag === false) {
|
|
144
|
-
stopClickPropagationFlag = true;
|
|
145
|
-
currentTarget.addEventListener('click', stopClickPropagation);
|
|
146
|
-
}
|
|
147
|
-
|
|
148
142
|
e.stopPropagation();
|
|
149
143
|
}
|
|
150
144
|
|
|
@@ -261,14 +255,19 @@ function columnDrag() {
|
|
|
261
255
|
}
|
|
262
256
|
|
|
263
257
|
function handleMouseUp(e) {
|
|
264
|
-
e.stopPropagation();
|
|
265
258
|
document.body.removeEventListener('mousemove', handleMouseMove);
|
|
266
259
|
document.body.removeEventListener('mouseup', handleMouseUp);
|
|
267
260
|
window.removeEventListener('selectstart', disableSelect);
|
|
261
|
+
|
|
262
|
+
if (_isMoveWhenClicking(mouseDownClientX, mouseDownClientY, e.clientX, e.clientY)) {
|
|
263
|
+
e.stopPropagation(); // 存在移动就阻止冒泡
|
|
264
|
+
|
|
265
|
+
currentTarget.addEventListener('click', stopClickPropagation); // 阻止列头点击事件,防止拖动后触发列头过滤事件
|
|
266
|
+
}
|
|
267
|
+
|
|
268
268
|
window.requestAnimationFrame(function () {
|
|
269
269
|
// 取消阻止列头点击事件
|
|
270
270
|
currentTarget.removeEventListener('click', stopClickPropagation);
|
|
271
|
-
stopClickPropagationFlag = false;
|
|
272
271
|
currentTarget = null;
|
|
273
272
|
|
|
274
273
|
var _moveData = moveData,
|
|
@@ -386,4 +385,15 @@ function moveAllChildren(cols, cloumnsTranslateData, width, isMinus) {
|
|
|
386
385
|
moveAllChildren(children, cloumnsTranslateData, width);
|
|
387
386
|
}
|
|
388
387
|
});
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
function _isMoveWhenClicking(mouseDownClientX, mouseDownClientY, mouseUpClientX, mouseUpClientY) {
|
|
391
|
+
var xDiff = mouseUpClientX - mouseDownClientX;
|
|
392
|
+
var yDiff = mouseUpClientY - mouseDownClientY; // 鼠标点按和松开的偏移量大于5px,认为存在移动
|
|
393
|
+
|
|
394
|
+
if (Math.sqrt(xDiff * xDiff + yDiff * yDiff) > 5) {
|
|
395
|
+
return true;
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
return false;
|
|
389
399
|
}
|
|
@@ -12,9 +12,11 @@ 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
|
+
/** 是否隐藏过滤弹出菜单header区域 */
|
|
20
|
+
hideFilterPopupHeader?: boolean;
|
|
19
21
|
}
|
|
20
22
|
export declare function filter(opts?: FilterFeatureOptions): (pipeline: TablePipeline) => TablePipeline;
|
|
@@ -54,7 +54,8 @@ 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
|
+
hideFilterPopupHeader = opts.hideFilterPopupHeader;
|
|
58
59
|
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
60
|
inputFilters = mode === 'single' ? (0, _slice.default)(inputFilters).call(inputFilters, 0, 1) : inputFilters;
|
|
60
61
|
var inputFiltersMap = new _map.default((0, _map2.default)(inputFilters).call(inputFilters, function (filterItem) {
|
|
@@ -65,7 +66,7 @@ function filter() {
|
|
|
65
66
|
return (0, _map2.default)(columns).call(columns, dfs);
|
|
66
67
|
|
|
67
68
|
function dfs(col) {
|
|
68
|
-
var _a, _b, _c, _d, _e;
|
|
69
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
69
70
|
|
|
70
71
|
var result = (0, _extends2.default)({}, col);
|
|
71
72
|
var filterable = col.code && ((_a = col.features) === null || _a === void 0 ? void 0 : _a.filterable);
|
|
@@ -104,18 +105,20 @@ function filter() {
|
|
|
104
105
|
};
|
|
105
106
|
|
|
106
107
|
var filterPanel = (_d = col.features) === null || _d === void 0 ? void 0 : _d.filterPanel;
|
|
107
|
-
|
|
108
|
+
var colFilterIcon = (_f = (_e = col.features) === null || _e === void 0 ? void 0 : _e.filterIcon) !== null && _f !== void 0 ? _f : filterIcon;
|
|
109
|
+
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)((0, _extends2.default)({}, col), {
|
|
108
110
|
title: null
|
|
109
111
|
}))])), [/*#__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
|
+
hideFilterPopupHeader: hideFilterPopupHeader
|
|
119
122
|
})]); // result.headerCellProps = mergeCellProps(col.headerCellProps, {
|
|
120
123
|
// style: {
|
|
121
124
|
// paddingRight: '18px'
|
|
@@ -157,8 +160,8 @@ function filter() {
|
|
|
157
160
|
return [item.key, (0, _extends2.default)({}, item)];
|
|
158
161
|
}));
|
|
159
162
|
|
|
160
|
-
function isMatchedFilterCondition(record
|
|
161
|
-
return
|
|
163
|
+
function isMatchedFilterCondition(record) {
|
|
164
|
+
return filtersKeys.every(function (key) {
|
|
162
165
|
var _a, _b;
|
|
163
166
|
|
|
164
167
|
var filterItem = inputFiltersMap.get(key);
|
|
@@ -172,24 +175,41 @@ function filter() {
|
|
|
172
175
|
} else {
|
|
173
176
|
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
177
|
comparisonFn = (0, _filter.default)(defaultFilterOptionsMap.get('contain'));
|
|
175
|
-
}
|
|
178
|
+
}
|
|
176
179
|
|
|
177
|
-
|
|
178
|
-
return !comparisonFn((0, _filter.default)(filterItem), filterItem)(_internals.internals.safeGetValue(columnsMap.get(key), record, rowIndex), record);
|
|
180
|
+
return comparisonFn((0, _filter.default)(filterItem), filterItem)(_internals.internals.safeGetValue(columnsMap.get(key), record, -1), record);
|
|
179
181
|
});
|
|
180
182
|
}
|
|
181
183
|
|
|
182
|
-
return dataSource
|
|
183
|
-
if (isMatchedFilterCondition(record, rowIndex)) {
|
|
184
|
-
return (0, _concat.default)(pre).call(pre, [record]);
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
return pre;
|
|
188
|
-
}, []);
|
|
184
|
+
return layeredFilter(dataSource, isMatchedFilterCondition);
|
|
189
185
|
}
|
|
190
186
|
|
|
191
187
|
pipeline.dataSource(processDataSource(dataSource));
|
|
192
188
|
pipeline.columns(processColumns(columns));
|
|
193
189
|
return pipeline;
|
|
194
190
|
};
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
function layeredFilter(array, matchFn) {
|
|
194
|
+
return dfs(array);
|
|
195
|
+
|
|
196
|
+
function dfs(rows) {
|
|
197
|
+
var _context6;
|
|
198
|
+
|
|
199
|
+
var parentMatched = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
200
|
+
return (0, _filter.default)(_context6 = (0, _map2.default)(rows).call(rows, function (row) {
|
|
201
|
+
var currentMatched = matchFn(row);
|
|
202
|
+
|
|
203
|
+
if ((0, _utils.isLeafNode)(row)) {
|
|
204
|
+
return (parentMatched || currentMatched) && (0, _extends2.default)({}, row);
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
var children = row.children;
|
|
208
|
+
var rowAfterFilterChildren = (0, _extends2.default)((0, _extends2.default)({}, row), {
|
|
209
|
+
children: dfs(children, parentMatched || currentMatched)
|
|
210
|
+
});
|
|
211
|
+
var matchedByChildren = !(0, _utils.isLeafNode)(rowAfterFilterChildren);
|
|
212
|
+
return (parentMatched || currentMatched || matchedByChildren) && rowAfterFilterChildren;
|
|
213
|
+
})).call(_context6, Boolean);
|
|
214
|
+
}
|
|
195
215
|
}
|
|
@@ -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
|
|
|
@@ -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); }
|
|
@@ -58,6 +60,8 @@ function DefaultFilterContent(_ref) {
|
|
|
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
|
}, []);
|
|
@@ -75,10 +79,26 @@ function DefaultFilterContent(_ref) {
|
|
|
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
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) {
|
|
@@ -100,7 +120,9 @@ function DefaultFilterContent(_ref) {
|
|
|
100
120
|
value: innerValue,
|
|
101
121
|
onChange: function onChange(e) {
|
|
102
122
|
setInnerValue(e.target.value);
|
|
103
|
-
}
|
|
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", {
|