@kdcloudjs/table 1.2.0-canary.1 → 1.2.0-canary.11
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 +528 -51
- package/dist/@kdcloudjs/table.js.map +1 -1
- package/dist/@kdcloudjs/table.min.css +1 -1
- package/dist/@kdcloudjs/table.min.js +8 -8
- package/dist/@kdcloudjs/table.min.js.map +1 -1
- package/es/locale/locale.d.ts +8 -4
- package/es/locale/zh-CN.d.ts +8 -4
- package/es/locale/zh-CN.js +10 -4
- package/es/table/base/helpers/TableDOMUtils.js +17 -14
- package/es/table/base/styles.d.ts +10 -0
- package/es/table/base/styles.js +12 -2
- package/es/table/base/table.js +38 -7
- package/es/table/common-views.js +3 -1
- package/es/table/interfaces.d.ts +5 -0
- package/es/table/pipeline/features/autoFill.js +10 -4
- package/es/table/pipeline/features/columnDrag.js +6 -1
- package/es/table/pipeline/features/columnFilter.js +17 -5
- package/es/table/pipeline/features/columnResizeWidth.js +3 -1
- package/es/table/pipeline/features/filter/DefaultFilterContent.d.ts +1 -1
- package/es/table/pipeline/features/filter/DefaultFilterContent.js +11 -5
- package/es/table/pipeline/features/filter/Filter.d.ts +4 -1
- package/es/table/pipeline/features/filter/Filter.js +4 -2
- 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 +31 -12
- package/es/table/pipeline/features/rowDrag.d.ts +30 -0
- package/es/table/pipeline/features/rowDrag.js +327 -0
- package/es/table/pipeline/features/sort.js +22 -3
- package/lib/locale/locale.d.ts +8 -4
- package/lib/locale/zh-CN.d.ts +8 -4
- package/lib/locale/zh-CN.js +10 -4
- package/lib/table/base/helpers/TableDOMUtils.js +17 -14
- package/lib/table/base/styles.d.ts +10 -0
- package/lib/table/base/styles.js +12 -2
- package/lib/table/base/table.js +38 -7
- package/lib/table/common-views.js +3 -1
- package/lib/table/interfaces.d.ts +5 -0
- package/lib/table/pipeline/features/autoFill.js +10 -4
- package/lib/table/pipeline/features/columnDrag.js +6 -1
- package/lib/table/pipeline/features/columnFilter.js +18 -6
- package/lib/table/pipeline/features/columnResizeWidth.js +3 -1
- package/lib/table/pipeline/features/filter/DefaultFilterContent.d.ts +1 -1
- package/lib/table/pipeline/features/filter/DefaultFilterContent.js +11 -5
- package/lib/table/pipeline/features/filter/Filter.d.ts +4 -1
- package/lib/table/pipeline/features/filter/Filter.js +4 -2
- package/lib/table/pipeline/features/index.d.ts +1 -0
- package/lib/table/pipeline/features/index.js +9 -1
- package/lib/table/pipeline/features/multiSelect.js +33 -12
- package/lib/table/pipeline/features/rowDrag.d.ts +30 -0
- package/lib/table/pipeline/features/rowDrag.js +349 -0
- package/lib/table/pipeline/features/sort.js +22 -3
- package/package.json +1 -1
package/es/locale/locale.d.ts
CHANGED
|
@@ -26,10 +26,14 @@ declare class LocaleCache {
|
|
|
26
26
|
*/
|
|
27
27
|
setLocalesData(locale: string, localeData?: LocaleDataType): {
|
|
28
28
|
locale: string;
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
29
|
+
contain: string;
|
|
30
|
+
notContain: string;
|
|
31
|
+
equal: string;
|
|
32
|
+
notEqual: string;
|
|
33
|
+
isNull: string;
|
|
34
|
+
notIsNull: string;
|
|
35
|
+
resetFilter: string;
|
|
36
|
+
confirmFilter: string;
|
|
33
37
|
};
|
|
34
38
|
/**
|
|
35
39
|
* 获取当前语言包数据
|
package/es/locale/zh-CN.d.ts
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
declare const locale: {
|
|
2
2
|
locale: string;
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
contain: string;
|
|
4
|
+
notContain: string;
|
|
5
|
+
equal: string;
|
|
6
|
+
notEqual: string;
|
|
7
|
+
isNull: string;
|
|
8
|
+
notIsNull: string;
|
|
9
|
+
resetFilter: string;
|
|
10
|
+
confirmFilter: string;
|
|
7
11
|
};
|
|
8
12
|
export default locale;
|
package/es/locale/zh-CN.js
CHANGED
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
var locale = {
|
|
2
2
|
locale: 'zh-CN',
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
// Text Filter
|
|
4
|
+
contain: '包含',
|
|
5
|
+
notContain: '不包含',
|
|
6
|
+
equal: '等于',
|
|
7
|
+
notEqual: '不等于',
|
|
8
|
+
isNull: '为空',
|
|
9
|
+
notIsNull: '不为空',
|
|
10
|
+
// filter button
|
|
11
|
+
resetFilter: '重置',
|
|
12
|
+
confirmFilter: '确定'
|
|
7
13
|
};
|
|
8
14
|
export default locale;
|
|
@@ -44,7 +44,8 @@ import { Classes } from '../styles'; // 表格 DOM 结构
|
|
|
44
44
|
export var TableDOMHelper = /*#__PURE__*/function () {
|
|
45
45
|
function TableDOMHelper(artTableWrapper) {
|
|
46
46
|
var _this = this,
|
|
47
|
-
_context2
|
|
47
|
+
_context2,
|
|
48
|
+
_context3;
|
|
48
49
|
|
|
49
50
|
_classCallCheck(this, TableDOMHelper);
|
|
50
51
|
|
|
@@ -91,7 +92,7 @@ export var TableDOMHelper = /*#__PURE__*/function () {
|
|
|
91
92
|
this.tableFooter = this.artTable.querySelector(".".concat(Classes.tableFooter));
|
|
92
93
|
this.tableFooterMain = this.artTable.querySelector(".".concat(Classes.tableFooterMain));
|
|
93
94
|
|
|
94
|
-
var stickyScrollSelector = _concatInstanceProperty(_context2 = ".".concat(Classes.artTable, " + .")).call(_context2, Classes.stickyScroll);
|
|
95
|
+
var stickyScrollSelector = _concatInstanceProperty(_context2 = _concatInstanceProperty(_context3 = ".".concat(Classes.artTable, " + .")).call(_context3, Classes.horizontalStickyScrollContainer, " .")).call(_context2, Classes.stickyScroll);
|
|
95
96
|
|
|
96
97
|
this.stickyScroll = artTableWrapper.querySelector(stickyScrollSelector);
|
|
97
98
|
this.stickyScrollItem = this.stickyScroll.querySelector(".".concat(Classes.stickyScrollItem));
|
|
@@ -105,35 +106,37 @@ export var TableDOMHelper = /*#__PURE__*/function () {
|
|
|
105
106
|
}, {
|
|
106
107
|
key: "getTableRows",
|
|
107
108
|
value: function getTableRows() {
|
|
108
|
-
var
|
|
109
|
+
var _context4;
|
|
109
110
|
|
|
110
|
-
var tbody = this.artTable.querySelector(_concatInstanceProperty(
|
|
111
|
+
var tbody = this.artTable.querySelector(_concatInstanceProperty(_context4 = ".".concat(Classes.tableBody, " .")).call(_context4, Classes.virtual, " table tbody"));
|
|
111
112
|
return tbody.childNodes;
|
|
112
113
|
}
|
|
113
114
|
}, {
|
|
114
115
|
key: "getTableBodyHtmlTable",
|
|
115
116
|
value: function getTableBodyHtmlTable() {
|
|
116
|
-
var
|
|
117
|
+
var _context5;
|
|
117
118
|
|
|
118
|
-
return this.artTable.querySelector(_concatInstanceProperty(
|
|
119
|
+
return this.artTable.querySelector(_concatInstanceProperty(_context5 = ".".concat(Classes.tableBody, " .")).call(_context5, Classes.virtual, " table"));
|
|
119
120
|
}
|
|
120
121
|
}, {
|
|
121
122
|
key: "getLeftLockShadow",
|
|
122
123
|
value: function getLeftLockShadow() {
|
|
123
|
-
var
|
|
124
|
+
var _context6;
|
|
124
125
|
|
|
125
|
-
var selector = _concatInstanceProperty(
|
|
126
|
+
var selector = _concatInstanceProperty(_context6 = ".".concat(Classes.lockShadowMask, " .")).call(_context6, Classes.leftLockShadow);
|
|
126
127
|
|
|
127
|
-
|
|
128
|
+
var allLeftLockShadow = this.artTable.querySelectorAll(selector);
|
|
129
|
+
return allLeftLockShadow[allLeftLockShadow.length - 1]; // 当table-body、table-footer嵌套多层表格时,需要查找最后一个,否则会查找到嵌套表格的
|
|
128
130
|
}
|
|
129
131
|
}, {
|
|
130
132
|
key: "getRightLockShadow",
|
|
131
133
|
value: function getRightLockShadow() {
|
|
132
|
-
var
|
|
134
|
+
var _context7;
|
|
133
135
|
|
|
134
|
-
var selector = _concatInstanceProperty(
|
|
136
|
+
var selector = _concatInstanceProperty(_context7 = ".".concat(Classes.lockShadowMask, " .")).call(_context7, Classes.rightLockShadow);
|
|
135
137
|
|
|
136
|
-
|
|
138
|
+
var allRightLockShadow = this.artTable.querySelectorAll(selector);
|
|
139
|
+
return allRightLockShadow[allRightLockShadow.length - 1]; // 当table-body、table-footer嵌套多层表格时,需要查找最后一个,否则会查找到嵌套表格的
|
|
137
140
|
}
|
|
138
141
|
}, {
|
|
139
142
|
key: "getLoadingIndicator",
|
|
@@ -143,11 +146,11 @@ export var TableDOMHelper = /*#__PURE__*/function () {
|
|
|
143
146
|
}, {
|
|
144
147
|
key: "getRowTop",
|
|
145
148
|
value: function getRowTop(rowIndex) {
|
|
146
|
-
var
|
|
149
|
+
var _context8, _context9;
|
|
147
150
|
|
|
148
151
|
if (rowIndex === 0) return 0;
|
|
149
152
|
|
|
150
|
-
var selector = _concatInstanceProperty(
|
|
153
|
+
var selector = _concatInstanceProperty(_context8 = _concatInstanceProperty(_context9 = ".".concat(Classes.tableBody, " .")).call(_context9, Classes.tableRow, "[data-rowindex=\"")).call(_context8, rowIndex, "\"]");
|
|
151
154
|
|
|
152
155
|
var row = this.artTable.querySelector(selector);
|
|
153
156
|
var rowOffsetTop = row && row.offsetTop || 0;
|
|
@@ -25,6 +25,9 @@ export declare const Classes: {
|
|
|
25
25
|
readonly stickyScrollItem: string;
|
|
26
26
|
readonly horizontalScrollContainer: string;
|
|
27
27
|
readonly verticalScrollPlaceholder: string;
|
|
28
|
+
readonly horizontalStickyScrollContainer: string;
|
|
29
|
+
readonly horizontalScrollLeftSpacer: string;
|
|
30
|
+
readonly horizontalScrollRightSpacer: string;
|
|
28
31
|
readonly lockShadowMask: string;
|
|
29
32
|
readonly lockShadow: string;
|
|
30
33
|
readonly leftLockShadow: string;
|
|
@@ -67,6 +70,13 @@ export declare const Classes: {
|
|
|
67
70
|
readonly popup: string;
|
|
68
71
|
readonly popupHeader: string;
|
|
69
72
|
readonly popupBody: string;
|
|
73
|
+
readonly rowDragging: string;
|
|
74
|
+
readonly rowDragStart: string;
|
|
75
|
+
readonly rowDragEnd: string;
|
|
76
|
+
readonly rowDragEndToTop: string;
|
|
77
|
+
readonly rowDragEndToBottom: string;
|
|
78
|
+
readonly rowDragElement: string;
|
|
79
|
+
readonly rowDragCell: string;
|
|
70
80
|
};
|
|
71
81
|
export declare const MenuClasses: {
|
|
72
82
|
menu: string;
|
package/es/table/base/styles.js
CHANGED
|
@@ -37,6 +37,9 @@ export var Classes = {
|
|
|
37
37
|
stickyScrollItem: "".concat(prefix, "sticky-scroll-item"),
|
|
38
38
|
horizontalScrollContainer: "".concat(prefix, "horizontal-scroll-container"),
|
|
39
39
|
verticalScrollPlaceholder: "".concat(prefix, "vertical-scroll-placeholder"),
|
|
40
|
+
horizontalStickyScrollContainer: "".concat(prefix, "horizontal-sticky-scroll-container"),
|
|
41
|
+
horizontalScrollLeftSpacer: "".concat(prefix, "horizontal-scroll-left-spacer"),
|
|
42
|
+
horizontalScrollRightSpacer: "".concat(prefix, "horizontal-scroll-right-spacer"),
|
|
40
43
|
lockShadowMask: "".concat(prefix, "lock-shadow-mask"),
|
|
41
44
|
lockShadow: "".concat(prefix, "lock-shadow"),
|
|
42
45
|
leftLockShadow: "".concat(prefix, "left-lock-shadow"),
|
|
@@ -79,7 +82,14 @@ export var Classes = {
|
|
|
79
82
|
collapsed: "".concat(prefix, "collapsed"),
|
|
80
83
|
popup: "".concat(prefix, "popup"),
|
|
81
84
|
popupHeader: "".concat(prefix, "popup-header"),
|
|
82
|
-
popupBody: "".concat(prefix, "popup-body")
|
|
85
|
+
popupBody: "".concat(prefix, "popup-body"),
|
|
86
|
+
rowDragging: "".concat(prefix, "row-dragging"),
|
|
87
|
+
rowDragStart: "".concat(prefix, "row-drag-start"),
|
|
88
|
+
rowDragEnd: "".concat(prefix, "row-drag-end"),
|
|
89
|
+
rowDragEndToTop: "".concat(prefix, "row-drag-end-to-top"),
|
|
90
|
+
rowDragEndToBottom: "".concat(prefix, "row-drag-end-to-bottom"),
|
|
91
|
+
rowDragElement: "".concat(prefix, "row-drag-element"),
|
|
92
|
+
rowDragCell: "".concat(prefix, "row-drag-cell")
|
|
83
93
|
};
|
|
84
94
|
export var MenuClasses = {
|
|
85
95
|
menu: "".concat(prefix, "table-menu"),
|
|
@@ -131,7 +141,7 @@ export var defaultCSSVariables = {
|
|
|
131
141
|
export var variableConst = getCssVariableText(defaultCSSVariables);
|
|
132
142
|
var notBorderedStyleMixin = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n --cell-border-vertical: none;\n --header-cell-border-vertical: none;\n"])));
|
|
133
143
|
var borderedStyleMixin = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\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);
|
|
134
|
-
export var StyledArtTableWrapper = styled.div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\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 &:focus {\n outline: none\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 .", " {\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 //\u89E3\u51B3\u90E8\u5206\u6D4F\u89C8\u5668(chrome109)\u6700\u540E\u4E00\u4E2A\u5355\u5143\u683C\u7684\u5217\u5BBD\u62D6\u62FD\u533A\u57DF\u7EDD\u5BF9\u5B9A\u4F4D\u8D85\u51FA\u8868\u683C\uFF0C\u5BFC\u81F4\u8868\u683C\u7AD6\u5206\u5272\u7EBF\u65E0\u6CD5\u5BF9\u9F50\n .", " th.", " .", "{\n right: 0;\n width: 5px;\n &::after{\n left: 4px;\n }\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.tableExtendIcon, Classes.verticalScrollPlaceholder, Classes.tableFooter, Classes.verticalScrollPlaceholder, Classes.tableHeaderCellResize, Classes.tableHeaderRow, Classes.last, Classes.tableHeaderCellResize);
|
|
144
|
+
export var StyledArtTableWrapper = styled.div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\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 user-select:none;\n .", " .", " >td{\n cursor:move;\n }\n\n .", " .", " >td{\n cursor:no-drop;\n }\n \n }\n\n .", "{\n opacity: 0.5;\n }\n\n\n .", "::after{\n content: \"\";\n position: absolute;\n display: block;\n left: 0px;\n width: 100%;\n height: 1px;\n top:0px;\n z-index:20;\n background-color:var(--primary-color);\n }\n\n .", "::after{\n content: \"\";\n position: absolute;\n display: block;\n left: 0px;\n width: 100%;\n height: 1px;\n bottom:0px;\n z-index:20;\n background-color:var(--primary-color);\n }\n\n .", " {\n cursor:pointer;\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 display:flex;\n background: var(--bgcolor);\n }\n .", "{\n height: 1px;\n flex-shrink: 0;\n border-top: 1px solid var(--border-color);\n }\n\n .", "{\n height: 1px;\n flex-shrink: 0;\n border-top: 1px solid var(--border-color);\n }\n .", " {\n overflow-y: hidden;\n overflow-x: auto;\n z-index: ", ";\n flex-shrink: 1;\n flex-grow: 0;\n border-top: 1px solid var(--border-color);\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 &:focus {\n outline: none\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 .", " {\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 //\u89E3\u51B3\u90E8\u5206\u6D4F\u89C8\u5668(chrome109)\u6700\u540E\u4E00\u4E2A\u5355\u5143\u683C\u7684\u5217\u5BBD\u62D6\u62FD\u533A\u57DF\u7EDD\u5BF9\u5B9A\u4F4D\u8D85\u51FA\u8868\u683C\uFF0C\u5BFC\u81F4\u8868\u683C\u7AD6\u5206\u5272\u7EBF\u65E0\u6CD5\u5BF9\u9F50\n .", " th.", " .", "{\n right: 0;\n width: 5px;\n &::after{\n left: 4px;\n }\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.rowDragging, Classes.tableBody, Classes.tableRow, Classes.tableFooter, Classes.tableRow, Classes.rowDragStart, Classes.rowDragEndToTop, Classes.rowDragEndToBottom, Classes.rowDragCell, 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.horizontalStickyScrollContainer, Classes.horizontalScrollLeftSpacer, Classes.horizontalScrollRightSpacer, Classes.stickyScroll, Z.scrollItem, Classes.stickyScrollItem, Classes.loadingWrapper, Classes.loadingContentWrapper, Classes.loadingIndicatorWrapper, Classes.loadingIndicator, Z.loadingIndicator, Classes.tableFilterTrigger, Classes.tableSortIcon, Classes.tableExtendIcon, Classes.verticalScrollPlaceholder, Classes.tableFooter, Classes.verticalScrollPlaceholder, Classes.tableHeaderCellResize, Classes.tableHeaderRow, Classes.last, Classes.tableHeaderCellResize);
|
|
135
145
|
export var ButtonCSS = css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\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);
|
|
136
146
|
|
|
137
147
|
function getCssVariableText(obj) {
|
package/es/table/base/table.js
CHANGED
|
@@ -260,10 +260,14 @@ export var BaseTable = /*#__PURE__*/function (_React$Component) {
|
|
|
260
260
|
|
|
261
261
|
if (_lastHasScrollY !== this.hasScrollY) {
|
|
262
262
|
(_b = (_a = this.props).setTableWidth) === null || _b === void 0 ? void 0 : _b.call(_a, this.domHelper.tableBody.clientWidth);
|
|
263
|
-
}
|
|
263
|
+
}
|
|
264
264
|
|
|
265
|
+
var _this$lastInfo = this.lastInfo,
|
|
266
|
+
leftLockTotalWidth = _this$lastInfo.leftLockTotalWidth,
|
|
267
|
+
rightLockTotalWidth = _this$lastInfo.rightLockTotalWidth;
|
|
268
|
+
var lockTotalWidth = leftLockTotalWidth + rightLockTotalWidth; // 设置子节点宽度
|
|
265
269
|
|
|
266
|
-
stickyScrollItem.style.width = "".concat(innerTableWidth, "px");
|
|
270
|
+
stickyScrollItem.style.width = "".concat(innerTableWidth - lockTotalWidth, "px");
|
|
267
271
|
}
|
|
268
272
|
}, {
|
|
269
273
|
key: "renderTableHeader",
|
|
@@ -433,13 +437,25 @@ export var BaseTable = /*#__PURE__*/function (_React$Component) {
|
|
|
433
437
|
stickyBottom = _this$props5.stickyBottom;
|
|
434
438
|
var hasScroll = this.state.hasScroll;
|
|
435
439
|
return /*#__PURE__*/React.createElement("div", {
|
|
436
|
-
className: cx(Classes.
|
|
440
|
+
className: cx(Classes.horizontalScrollContainer, Classes.horizontalStickyScrollContainer)
|
|
441
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
442
|
+
className: cx(Classes.horizontalScrollLeftSpacer),
|
|
443
|
+
style: {
|
|
444
|
+
width: info.leftLockTotalWidth
|
|
445
|
+
}
|
|
446
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
447
|
+
className: cx(Classes.stickyScroll),
|
|
437
448
|
style: {
|
|
438
449
|
display: hasStickyScroll && hasScroll ? 'block' : 'none',
|
|
439
450
|
bottom: stickyBottom
|
|
440
451
|
}
|
|
441
452
|
}, /*#__PURE__*/React.createElement("div", {
|
|
442
453
|
className: Classes.stickyScrollItem
|
|
454
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
455
|
+
className: cx(Classes.horizontalScrollRightSpacer),
|
|
456
|
+
style: {
|
|
457
|
+
width: info.rightLockTotalWidth
|
|
458
|
+
}
|
|
443
459
|
}));
|
|
444
460
|
}
|
|
445
461
|
}, {
|
|
@@ -522,7 +538,22 @@ export var BaseTable = /*#__PURE__*/function (_React$Component) {
|
|
|
522
538
|
}, {
|
|
523
539
|
key: "componentDidUpdate",
|
|
524
540
|
value: function componentDidUpdate(prevProps, prevState) {
|
|
525
|
-
// console.log('did update start')
|
|
541
|
+
var _a; // console.log('did update start')
|
|
542
|
+
|
|
543
|
+
|
|
544
|
+
var _this$props8 = this.props,
|
|
545
|
+
cssVariables = _this$props8.cssVariables,
|
|
546
|
+
enableCSSVariables = _this$props8.enableCSSVariables,
|
|
547
|
+
bordered = _this$props8.bordered;
|
|
548
|
+
|
|
549
|
+
if (!shallowEqual(prevProps === null || prevProps === void 0 ? void 0 : prevProps.cssVariables, (_a = this.props) === null || _a === void 0 ? void 0 : _a.cssVariables)) {
|
|
550
|
+
cssPolifill({
|
|
551
|
+
variables: cssVariables || {},
|
|
552
|
+
enableCSSVariables: enableCSSVariables,
|
|
553
|
+
bordered: bordered
|
|
554
|
+
});
|
|
555
|
+
}
|
|
556
|
+
|
|
526
557
|
this.updateDOMHelper();
|
|
527
558
|
this.props$.next(this.props);
|
|
528
559
|
this.didMountOrUpdate(prevProps, prevState); // console.log('did update end')
|
|
@@ -752,9 +783,9 @@ export var BaseTable = /*#__PURE__*/function (_React$Component) {
|
|
|
752
783
|
value: function adjustNeedRenderLock() {
|
|
753
784
|
var needRenderLock = this.state.needRenderLock;
|
|
754
785
|
|
|
755
|
-
var _this$
|
|
756
|
-
flat = _flatInstanceProperty(_this$
|
|
757
|
-
hasLockColumn = _this$
|
|
786
|
+
var _this$lastInfo2 = this.lastInfo,
|
|
787
|
+
flat = _flatInstanceProperty(_this$lastInfo2),
|
|
788
|
+
hasLockColumn = _this$lastInfo2.hasLockColumn;
|
|
758
789
|
|
|
759
790
|
if (hasLockColumn) {
|
|
760
791
|
var _context;
|
package/es/table/common-views.js
CHANGED
|
@@ -7,7 +7,9 @@ import React from 'react';
|
|
|
7
7
|
import styled from 'styled-components';
|
|
8
8
|
import { MenuClasses, Classes } from './base/styles';
|
|
9
9
|
export var InlineFlexCell = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: inline-flex;\n align-items: center;\n"])));
|
|
10
|
-
export var ExpansionCell = styled(
|
|
10
|
+
export var ExpansionCell = styled(function (props) {
|
|
11
|
+
return /*#__PURE__*/React.createElement(InlineFlexCell, _extends({}, props));
|
|
12
|
+
})(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n &.", " {\n cursor: default;\n }\n\n .expansion-icon {\n fill: #999;\n flex: 0 0 16px;\n transition: transform 200ms;\n\n &.", " {\n transform-origin: center center;\n transform: rotate(90deg);\n }\n }\n"])), Classes.leaf, Classes.expanded);
|
|
11
13
|
|
|
12
14
|
function CaretDownIcon(props) {
|
|
13
15
|
return /*#__PURE__*/React.createElement("svg", _extends({
|
package/es/table/interfaces.d.ts
CHANGED
|
@@ -27,6 +27,8 @@ export interface ArtColumnStaticPart {
|
|
|
27
27
|
features?: {
|
|
28
28
|
[key: string]: any;
|
|
29
29
|
};
|
|
30
|
+
/** 表头设置操作项到自定义操作区 */
|
|
31
|
+
renderHeader?: (title: ReactNode, opr: ReactNode) => ReactNode;
|
|
30
32
|
}
|
|
31
33
|
export interface Features {
|
|
32
34
|
/** 是否开启排序功能 */
|
|
@@ -90,6 +92,9 @@ export interface FilterPanelProps {
|
|
|
90
92
|
export interface DefaultFilterPanelProps extends FilterPanelProps {
|
|
91
93
|
setFilterModel(filterItem?: Pick<FilterItem, 'filter' | 'filterCondition'>): void;
|
|
92
94
|
filterModel: FilterItem;
|
|
95
|
+
localeText: {
|
|
96
|
+
[key: string]: string;
|
|
97
|
+
};
|
|
93
98
|
}
|
|
94
99
|
export interface CustomeFilterPanelProps extends FilterPanelProps {
|
|
95
100
|
setFilter(filter?: any[]): void;
|
|
@@ -27,7 +27,8 @@ export var autoFillTableWidth = function autoFillTableWidth() {
|
|
|
27
27
|
// 保存剩余的flex总和和剩余宽度总和宽度
|
|
28
28
|
var residualFlexCount = flexCount;
|
|
29
29
|
var residualFlexWidth = remainingWidth;
|
|
30
|
-
var columnSize = pipeline.getFeatureOptions(COLUMN_SIZE_KEY)
|
|
30
|
+
var columnSize = pipeline.getFeatureOptions(COLUMN_SIZE_KEY);
|
|
31
|
+
var enableColumnResizeWidthFeature = !!columnSize;
|
|
31
32
|
pipeline.mapColumns(makeRecursiveMapper(function (col, recursiveFlatMapInfo) {
|
|
32
33
|
var isLeaf = recursiveFlatMapInfo.isLeaf;
|
|
33
34
|
|
|
@@ -46,12 +47,15 @@ export var autoFillTableWidth = function autoFillTableWidth() {
|
|
|
46
47
|
col.width = clamp(minWidth, preColWidth + (residualFlexCount === flex ? residualFlexWidth : usedRemainingWidth), maxWidth);
|
|
47
48
|
residualFlexCount -= flex;
|
|
48
49
|
residualFlexWidth -= col.width - preColWidth;
|
|
49
|
-
|
|
50
|
+
|
|
51
|
+
if (enableColumnResizeWidthFeature) {
|
|
52
|
+
columnSize[code] = col.width;
|
|
53
|
+
}
|
|
50
54
|
}
|
|
51
55
|
|
|
52
56
|
return col;
|
|
53
57
|
}));
|
|
54
|
-
pipeline.setFeatureOptions(COLUMN_SIZE_KEY, columnSize);
|
|
58
|
+
enableColumnResizeWidthFeature && pipeline.setFeatureOptions(COLUMN_SIZE_KEY, columnSize);
|
|
55
59
|
}
|
|
56
60
|
} else {
|
|
57
61
|
// 未设置了flex宽度,创建占位列
|
|
@@ -129,7 +133,9 @@ function getColumnWidthSum(pipeline) {
|
|
|
129
133
|
}
|
|
130
134
|
|
|
131
135
|
function getTableRemainingWidth(pipeline) {
|
|
132
|
-
var
|
|
136
|
+
var _a, _b;
|
|
137
|
+
|
|
138
|
+
var tableWidth = ((_b = (_a = pipeline.ref.current.domHelper) === null || _a === void 0 ? void 0 : _a.tableBody) === null || _b === void 0 ? void 0 : _b.clientWidth) || pipeline.getStateAtKey(tableWidthKey);
|
|
133
139
|
if (!tableWidth) return;
|
|
134
140
|
var remainingWidth = Math.floor(tableWidth - getColumnWidthSum(pipeline));
|
|
135
141
|
return remainingWidth > 0 ? remainingWidth : 0;
|
|
@@ -315,9 +315,14 @@ export function columnDrag() {
|
|
|
315
315
|
if (onColumnDragStopped) {
|
|
316
316
|
var _context;
|
|
317
317
|
|
|
318
|
+
var isRowDragColumn = function isRowDragColumn(code) {
|
|
319
|
+
var rowDragColumnKey = pipeline.getFeatureOptions('rowDragColumnKey');
|
|
320
|
+
return code === rowDragColumnKey;
|
|
321
|
+
};
|
|
322
|
+
|
|
318
323
|
var newColumns = _filterInstanceProperty(_context = sortColumns(columns, cloumnsSortData)).call(_context, function (_ref) {
|
|
319
324
|
var code = _ref.code;
|
|
320
|
-
return code !== FILL_COLUMN_CODE;
|
|
325
|
+
return code !== FILL_COLUMN_CODE && !isRowDragColumn(code);
|
|
321
326
|
}); // TODO drag需要在resize之后use,否则这里返回的列对应的宽度不是拖拽后的
|
|
322
327
|
|
|
323
328
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import _defineProperty from "@babel/runtime-corejs3/helpers/defineProperty";
|
|
2
1
|
import _toConsumableArray from "@babel/runtime-corejs3/helpers/toConsumableArray";
|
|
2
|
+
import _defineProperty from "@babel/runtime-corejs3/helpers/defineProperty";
|
|
3
3
|
import _extends from "@babel/runtime-corejs3/helpers/extends";
|
|
4
4
|
import _sliceInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/slice";
|
|
5
5
|
import _Map from "@babel/runtime-corejs3/core-js-stable/map";
|
|
@@ -37,6 +37,7 @@ export function filter() {
|
|
|
37
37
|
var inputFiltersMap = new _Map(_mapInstanceProperty(inputFilters).call(inputFilters, function (filterItem) {
|
|
38
38
|
return [filterItem.code, _extends({}, filterItem)];
|
|
39
39
|
}));
|
|
40
|
+
var localeText = pipeline.ctx.localeText;
|
|
40
41
|
|
|
41
42
|
function processColumns(columns) {
|
|
42
43
|
return _mapInstanceProperty(columns).call(columns, dfs);
|
|
@@ -50,7 +51,7 @@ export function filter() {
|
|
|
50
51
|
var filterActive = filterable && ((_c = (_b = inputFiltersMap === null || inputFiltersMap === void 0 ? void 0 : inputFiltersMap.get(col.code)) === null || _b === void 0 ? void 0 : _filterInstanceProperty(_b)) === null || _c === void 0 ? void 0 : _c.length) > 0;
|
|
51
52
|
|
|
52
53
|
if (filterable) {
|
|
53
|
-
var
|
|
54
|
+
var _cx;
|
|
54
55
|
|
|
55
56
|
var handleFilterChanged = function handleFilterChanged(filterItem) {
|
|
56
57
|
var nextFiltersMap = new _Map(inputFiltersMap);
|
|
@@ -85,7 +86,8 @@ export function filter() {
|
|
|
85
86
|
|
|
86
87
|
var filterPanel = (_d = col.features) === null || _d === void 0 ? void 0 : _d.filterPanel;
|
|
87
88
|
var colFilterIcon = (_f = (_e = col.features) === null || _e === void 0 ? void 0 : _e.filterIcon) !== null && _f !== void 0 ? _f : filterIcon;
|
|
88
|
-
|
|
89
|
+
|
|
90
|
+
var _Filter = /*#__PURE__*/React.createElement(Filter, {
|
|
89
91
|
key: "filter",
|
|
90
92
|
FilterPanelContent: filterPanel,
|
|
91
93
|
filterIcon: colFilterIcon,
|
|
@@ -97,12 +99,22 @@ export function filter() {
|
|
|
97
99
|
stopClickEventPropagation: stopClickEventPropagation,
|
|
98
100
|
stopESCKeyDownEventPropagation: stopESCKeyDownEventPropagation,
|
|
99
101
|
hideFilterPopupHeader: hideFilterPopupHeader,
|
|
100
|
-
getPopupParent: getPopupParent
|
|
101
|
-
|
|
102
|
+
getPopupParent: getPopupParent,
|
|
103
|
+
localeText: localeText
|
|
104
|
+
});
|
|
105
|
+
|
|
106
|
+
if (col.renderHeader) {
|
|
107
|
+
result.title = col.renderHeader(result.title, _Filter);
|
|
108
|
+
} else {
|
|
109
|
+
var _context, _context2;
|
|
110
|
+
|
|
111
|
+
result.title = _concatInstanceProperty(_context = []).call(_context, _toConsumableArray(_concatInstanceProperty(_context2 = []).call(_context2, (_g = result.title) !== null && _g !== void 0 ? _g : [internals.safeRenderHeader(_extends({}, col))])), [_Filter]);
|
|
112
|
+
} // result.headerCellProps = mergeCellProps(col.headerCellProps, {
|
|
102
113
|
// style: {
|
|
103
114
|
// paddingRight: '18px'
|
|
104
115
|
// }
|
|
105
116
|
// })
|
|
117
|
+
|
|
106
118
|
}
|
|
107
119
|
|
|
108
120
|
if (!isLeafNode(col)) {
|
|
@@ -14,7 +14,9 @@ import { mergeCellProps, collectNodes, makeRecursiveMapper, isGroupColumn } from
|
|
|
14
14
|
import { internals } from '../../internals';
|
|
15
15
|
import { Classes } from '../../base/styles';
|
|
16
16
|
var TableHeaderCellResize = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\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"])));
|
|
17
|
-
var TableHeaderGroupCellResize = styled(
|
|
17
|
+
var TableHeaderGroupCellResize = styled(function (props) {
|
|
18
|
+
return /*#__PURE__*/React.createElement(TableHeaderCellResize, _extends({}, props));
|
|
19
|
+
})(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n &:after {\n height: 100%;\n top: 0;\n }\n"])));
|
|
18
20
|
|
|
19
21
|
function clamp(min, x, max) {
|
|
20
22
|
return Math.max(min, Math.min(max, x));
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { DefaultFilterPanelProps } from '../../../interfaces';
|
|
3
|
-
declare function DefaultFilterContent({ setFilterModel, filterModel, hidePanel }: DefaultFilterPanelProps): JSX.Element;
|
|
3
|
+
declare function DefaultFilterContent({ setFilterModel, filterModel, hidePanel, localeText }: DefaultFilterPanelProps): JSX.Element;
|
|
4
4
|
export default DefaultFilterContent;
|
|
@@ -19,7 +19,11 @@ function DefaultFilterContent(_ref) {
|
|
|
19
19
|
|
|
20
20
|
var setFilterModel = _ref.setFilterModel,
|
|
21
21
|
filterModel = _ref.filterModel,
|
|
22
|
-
hidePanel = _ref.hidePanel
|
|
22
|
+
hidePanel = _ref.hidePanel,
|
|
23
|
+
_ref$localeText = _ref.localeText,
|
|
24
|
+
localeText = _ref$localeText === void 0 ? {} : _ref$localeText;
|
|
25
|
+
|
|
26
|
+
var _a, _b;
|
|
23
27
|
|
|
24
28
|
var _React$useState = React.useState((filterModel === null || filterModel === void 0 ? void 0 : filterModel.filterCondition) || 'contain'),
|
|
25
29
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
@@ -72,16 +76,18 @@ function DefaultFilterContent(_ref) {
|
|
|
72
76
|
return /*#__PURE__*/React.createElement(DefaultFilterContentStyle, null, /*#__PURE__*/React.createElement("div", {
|
|
73
77
|
className: 'filter-option-list'
|
|
74
78
|
}, /*#__PURE__*/React.createElement("ul", null, _mapInstanceProperty(DEFAULT_FILTER_OPTIONS).call(DEFAULT_FILTER_OPTIONS, function (option, index) {
|
|
79
|
+
var _a;
|
|
80
|
+
|
|
75
81
|
return (
|
|
76
82
|
/*#__PURE__*/
|
|
77
83
|
// eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions
|
|
78
84
|
React.createElement("li", {
|
|
79
|
-
key:
|
|
85
|
+
key: option.key,
|
|
80
86
|
className: option.key === selectedValue ? 'active' : '',
|
|
81
87
|
onClick: function onClick() {
|
|
82
88
|
return handleClick(option);
|
|
83
89
|
}
|
|
84
|
-
}, option.title)
|
|
90
|
+
}, (_a = localeText[option.key]) !== null && _a !== void 0 ? _a : option.title)
|
|
85
91
|
);
|
|
86
92
|
}))), selectedValue !== 'notIsNull' && selectedValue !== 'isNull' && /*#__PURE__*/React.createElement("div", {
|
|
87
93
|
className: 'filter-search'
|
|
@@ -100,12 +106,12 @@ function DefaultFilterContent(_ref) {
|
|
|
100
106
|
'filter-btn': true
|
|
101
107
|
}, Classes.button, true)),
|
|
102
108
|
onClick: reset
|
|
103
|
-
},
|
|
109
|
+
}, (_a = localeText.resetFilter) !== null && _a !== void 0 ? _a : '重置'), /*#__PURE__*/React.createElement("button", {
|
|
104
110
|
className: cx((_cx2 = {
|
|
105
111
|
'filter-btn': true
|
|
106
112
|
}, _defineProperty(_cx2, Classes.button, true), _defineProperty(_cx2, Classes.buttonPrimary, true), _cx2)),
|
|
107
113
|
onClick: confirm
|
|
108
|
-
},
|
|
114
|
+
}, (_b = localeText.confirmFilter) !== null && _b !== void 0 ? _b : '确定')));
|
|
109
115
|
}
|
|
110
116
|
|
|
111
117
|
export default DefaultFilterContent;
|
|
@@ -15,6 +15,9 @@ interface FilterProps {
|
|
|
15
15
|
stopESCKeyDownEventPropagation?: boolean;
|
|
16
16
|
hideFilterPopupHeader?: boolean;
|
|
17
17
|
getPopupParent?: (triggerElement: HTMLElement) => HTMLElement;
|
|
18
|
+
localeText?: {
|
|
19
|
+
[key: string]: string;
|
|
20
|
+
};
|
|
18
21
|
}
|
|
19
|
-
declare function Filter({ size, style, className, FilterPanelContent, filterIcon, setFilter, setFilterModel, filterModel, isFilterActive, stopClickEventPropagation, stopESCKeyDownEventPropagation, hideFilterPopupHeader, getPopupParent }: FilterProps): JSX.Element;
|
|
22
|
+
declare function Filter({ size, style, className, FilterPanelContent, filterIcon, setFilter, setFilterModel, filterModel, isFilterActive, stopClickEventPropagation, stopESCKeyDownEventPropagation, hideFilterPopupHeader, getPopupParent, localeText }: FilterProps): JSX.Element;
|
|
20
23
|
export default Filter;
|
|
@@ -77,7 +77,8 @@ function Filter(_ref2) {
|
|
|
77
77
|
stopClickEventPropagation = _ref2.stopClickEventPropagation,
|
|
78
78
|
stopESCKeyDownEventPropagation = _ref2.stopESCKeyDownEventPropagation,
|
|
79
79
|
hideFilterPopupHeader = _ref2.hideFilterPopupHeader,
|
|
80
|
-
getPopupParent = _ref2.getPopupParent
|
|
80
|
+
getPopupParent = _ref2.getPopupParent,
|
|
81
|
+
localeText = _ref2.localeText;
|
|
81
82
|
|
|
82
83
|
var _React$useState3 = React.useState(false),
|
|
83
84
|
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
|
@@ -104,7 +105,8 @@ function Filter(_ref2) {
|
|
|
104
105
|
setFilterModel: setFilterModel,
|
|
105
106
|
filterModel: filterModel,
|
|
106
107
|
isFilterActive: isFilterActive,
|
|
107
|
-
hidePanel: hidePanel
|
|
108
|
+
hidePanel: hidePanel,
|
|
109
|
+
localeText: localeText
|
|
108
110
|
});
|
|
109
111
|
}
|
|
110
112
|
};
|
|
@@ -18,3 +18,4 @@ export { rangeSelection, RangeSelectionFeatureOptions } from './rangeSelection';
|
|
|
18
18
|
export { mergeCellHover } from './mergeCellHover';
|
|
19
19
|
export { footerDataSource, FooterDataSourceFeatureOptions, footerRowMetaSymbol } from './footerDataSource';
|
|
20
20
|
export { colGroupExtendable, colGroupExtendOption } from './colGroupExtendable';
|
|
21
|
+
export { rowDrag, RowDragFeatureOptions } from './rowDrag';
|
|
@@ -17,4 +17,5 @@ export { filter } from './columnFilter';
|
|
|
17
17
|
export { rangeSelection } from './rangeSelection';
|
|
18
18
|
export { mergeCellHover } from './mergeCellHover';
|
|
19
19
|
export { footerDataSource, footerRowMetaSymbol } from './footerDataSource';
|
|
20
|
-
export { colGroupExtendable } from './colGroupExtendable';
|
|
20
|
+
export { colGroupExtendable } from './colGroupExtendable';
|
|
21
|
+
export { rowDrag } from './rowDrag';
|