@kdcloudjs/table 1.0.2 → 1.1.0
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 +271 -187
- package/dist/@kdcloudjs/table.js.map +1 -1
- package/dist/@kdcloudjs/table.min.css +1 -1
- package/dist/@kdcloudjs/table.min.js +7 -7
- package/dist/@kdcloudjs/table.min.js.map +1 -1
- package/es/table/base/calculations.js +1 -1
- package/es/table/base/empty.js +2 -2
- package/es/table/base/header.js +7 -11
- package/es/table/base/html-table.js +13 -22
- package/es/table/base/styles.d.ts +10 -0
- package/es/table/base/styles.js +13 -3
- package/es/table/common-views.js +2 -2
- package/es/table/pipeline/features/columnDrag.js +62 -21
- package/es/table/pipeline/features/contextMenu.js +37 -22
- package/es/table/pipeline/features/multiSelect.js +85 -79
- package/es/table/pipeline/features/rowDetail.js +2 -1
- package/es/table/pipeline/features/rowGrouping.js +2 -1
- package/es/table/pipeline/features/treeMode.js +3 -2
- package/es/table/pipeline/pipeline.d.ts +4 -0
- package/es/table/pipeline/pipeline.js +17 -0
- package/es/table/pivot/pivot-utils/convert-utils.js +4 -2
- package/lib/table/base/calculations.js +1 -1
- package/lib/table/base/empty.js +2 -2
- package/lib/table/base/header.js +8 -11
- package/lib/table/base/html-table.js +14 -22
- package/lib/table/base/styles.d.ts +10 -0
- package/lib/table/base/styles.js +13 -3
- package/lib/table/common-views.js +1 -1
- package/lib/table/pipeline/features/columnDrag.js +63 -22
- package/lib/table/pipeline/features/contextMenu.js +37 -22
- package/lib/table/pipeline/features/multiSelect.js +81 -75
- package/lib/table/pipeline/features/rowDetail.js +3 -1
- package/lib/table/pipeline/features/rowGrouping.js +3 -1
- package/lib/table/pipeline/features/treeMode.js +4 -2
- package/lib/table/pipeline/pipeline.d.ts +4 -0
- package/lib/table/pipeline/pipeline.js +17 -0
- package/lib/table/pivot/pivot-utils/convert-utils.js +6 -2
- package/package.json +1 -1
- package/es/table/pipeline/features/__test__/multiSelect.test.d.ts +0 -1
- package/es/table/pipeline/features/__test__/multiSelect.test.js +0 -152
- package/es/table/pipeline/features/__test__/rowDetail.test.d.ts +0 -1
- package/es/table/pipeline/features/__test__/rowDetail.test.js +0 -223
- package/es/table/pipeline/features/__test__/rowGrouping.test.d.ts +0 -1
- package/es/table/pipeline/features/__test__/rowGrouping.test.js +0 -120
- package/es/table/pipeline/features/__test__/singleSelect.test.d.ts +0 -1
- package/es/table/pipeline/features/__test__/singleSelect.test.js +0 -191
- package/es/table/pipeline/features/__test__/sort.test.d.ts +0 -1
- package/es/table/pipeline/features/__test__/sort.test.js +0 -213
- package/es/table/pipeline/features/__test__/tips.test.d.ts +0 -1
- package/es/table/pipeline/features/__test__/tips.test.js +0 -123
- package/es/table/pipeline/features/__test__/treeMode.test.d.ts +0 -1
- package/es/table/pipeline/features/__test__/treeMode.test.js +0 -202
- package/es/table/pipeline/features/filter/__test__/Filter.test.d.ts +0 -1
- package/es/table/pipeline/features/filter/__test__/Filter.test.js +0 -29
- package/lib/table/pipeline/features/__test__/multiSelect.test.d.ts +0 -1
- package/lib/table/pipeline/features/__test__/multiSelect.test.js +0 -163
- package/lib/table/pipeline/features/__test__/rowDetail.test.d.ts +0 -1
- package/lib/table/pipeline/features/__test__/rowDetail.test.js +0 -230
- package/lib/table/pipeline/features/__test__/rowGrouping.test.d.ts +0 -1
- package/lib/table/pipeline/features/__test__/rowGrouping.test.js +0 -129
- package/lib/table/pipeline/features/__test__/singleSelect.test.d.ts +0 -1
- package/lib/table/pipeline/features/__test__/singleSelect.test.js +0 -201
- package/lib/table/pipeline/features/__test__/sort.test.d.ts +0 -1
- package/lib/table/pipeline/features/__test__/sort.test.js +0 -220
- package/lib/table/pipeline/features/__test__/tips.test.d.ts +0 -1
- package/lib/table/pipeline/features/__test__/tips.test.js +0 -133
- package/lib/table/pipeline/features/__test__/treeMode.test.d.ts +0 -1
- package/lib/table/pipeline/features/__test__/treeMode.test.js +0 -206
- package/lib/table/pipeline/features/filter/__test__/Filter.test.d.ts +0 -1
- package/lib/table/pipeline/features/filter/__test__/Filter.test.js +0 -36
|
@@ -9,8 +9,6 @@ import { mergeCellProps } from '../../utils';
|
|
|
9
9
|
export function multiSelect() {
|
|
10
10
|
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
11
11
|
return function multiSelectStep(pipeline) {
|
|
12
|
-
var _context;
|
|
13
|
-
|
|
14
12
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
15
13
|
|
|
16
14
|
var stateKey = 'multiSelect';
|
|
@@ -54,94 +52,102 @@ export function multiSelect() {
|
|
|
54
52
|
allKeys.push(rowKey);
|
|
55
53
|
}
|
|
56
54
|
});
|
|
57
|
-
var set = new _Set(value);
|
|
58
|
-
var isAllChecked = allKeys.length > 0 && allKeys.every(function (key) {
|
|
59
|
-
return set.has(key);
|
|
60
|
-
});
|
|
61
|
-
var isAnyChecked = allKeys.some(function (key) {
|
|
62
|
-
return set.has(key);
|
|
63
|
-
});
|
|
64
|
-
var defaultCheckboxColumnTitle = /*#__PURE__*/React.createElement(Checkbox, {
|
|
65
|
-
checked: isAllChecked,
|
|
66
|
-
indeterminate: !isAllChecked && isAnyChecked,
|
|
67
|
-
onChange: function onChange(_) {
|
|
68
|
-
if (isAllChecked) {
|
|
69
|
-
_onChange(arrayUtils.diff(value, allKeys), '', allKeys, 'uncheck-all');
|
|
70
|
-
} else {
|
|
71
|
-
_onChange(arrayUtils.merge(value, allKeys), '', allKeys, 'check-all');
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
});
|
|
55
|
+
var set = new _Set(value); // todo: 暂使用hidden隐藏选择列 后续增加配置
|
|
75
56
|
|
|
76
|
-
var
|
|
77
|
-
name: '是否选中',
|
|
78
|
-
title: defaultCheckboxColumnTitle,
|
|
79
|
-
width: 50,
|
|
80
|
-
align: 'center'
|
|
81
|
-
}, opts.checkboxColumn), {
|
|
82
|
-
getCellProps: function getCellProps(value, row, rowIndex) {
|
|
83
|
-
var _a, _b;
|
|
84
|
-
|
|
85
|
-
var rowKey = internals.safeGetRowKey(primaryKey, row, rowIndex);
|
|
86
|
-
var checkboxCellProps = {};
|
|
87
|
-
var preCellProps = (_b = (_a = opts.checkboxColumn) === null || _a === void 0 ? void 0 : _a.getCellProps) === null || _b === void 0 ? void 0 : _b.call(_a, value, row, rowIndex);
|
|
88
|
-
|
|
89
|
-
if (fullKeySet.has(rowKey) && clickArea === 'cell') {
|
|
90
|
-
var prevChecked = set.has(rowKey);
|
|
91
|
-
var disabled = isDisabled(row, rowIndex);
|
|
92
|
-
checkboxCellProps = {
|
|
93
|
-
style: {
|
|
94
|
-
cursor: disabled ? 'not-allowed' : 'pointer'
|
|
95
|
-
},
|
|
96
|
-
onClick: disabled ? undefined : function (e) {
|
|
97
|
-
if (opts.stopClickEventPropagation) {
|
|
98
|
-
e.stopPropagation();
|
|
99
|
-
}
|
|
57
|
+
var hiddenSelectColumn = opts.checkboxColumn && opts.checkboxColumn.hidden === true;
|
|
100
58
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
59
|
+
if (!hiddenSelectColumn) {
|
|
60
|
+
var _context;
|
|
61
|
+
|
|
62
|
+
var isAllChecked = allKeys.length > 0 && allKeys.every(function (key) {
|
|
63
|
+
return set.has(key);
|
|
64
|
+
});
|
|
65
|
+
var isAnyChecked = allKeys.some(function (key) {
|
|
66
|
+
return set.has(key);
|
|
67
|
+
});
|
|
68
|
+
var defaultCheckboxColumnTitle = /*#__PURE__*/React.createElement(Checkbox, {
|
|
69
|
+
checked: isAllChecked,
|
|
70
|
+
indeterminate: !isAllChecked && isAnyChecked,
|
|
71
|
+
onChange: function onChange(_) {
|
|
72
|
+
if (isAllChecked) {
|
|
73
|
+
_onChange(arrayUtils.diff(value, allKeys), '', allKeys, 'uncheck-all');
|
|
74
|
+
} else {
|
|
75
|
+
_onChange(arrayUtils.merge(value, allKeys), '', allKeys, 'check-all');
|
|
76
|
+
}
|
|
104
77
|
}
|
|
78
|
+
});
|
|
105
79
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
var
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
80
|
+
var checkboxColumn = _extends(_extends({
|
|
81
|
+
name: '是否选中',
|
|
82
|
+
title: defaultCheckboxColumnTitle,
|
|
83
|
+
width: 50,
|
|
84
|
+
align: 'center'
|
|
85
|
+
}, opts.checkboxColumn), {
|
|
86
|
+
getCellProps: function getCellProps(value, row, rowIndex) {
|
|
87
|
+
var _a, _b;
|
|
88
|
+
|
|
89
|
+
var rowKey = internals.safeGetRowKey(primaryKey, row, rowIndex);
|
|
90
|
+
var checkboxCellProps = {};
|
|
91
|
+
var preCellProps = (_b = (_a = opts.checkboxColumn) === null || _a === void 0 ? void 0 : _a.getCellProps) === null || _b === void 0 ? void 0 : _b.call(_a, value, row, rowIndex);
|
|
92
|
+
|
|
93
|
+
if (fullKeySet.has(rowKey) && clickArea === 'cell') {
|
|
94
|
+
var prevChecked = set.has(rowKey);
|
|
95
|
+
var disabled = isDisabled(row, rowIndex);
|
|
96
|
+
checkboxCellProps = {
|
|
97
|
+
style: {
|
|
98
|
+
cursor: disabled ? 'not-allowed' : 'pointer'
|
|
99
|
+
},
|
|
100
|
+
onClick: disabled ? undefined : function (e) {
|
|
101
|
+
if (opts.stopClickEventPropagation) {
|
|
102
|
+
e.stopPropagation();
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
onCheckboxChange(prevChecked, rowKey, e.shiftKey);
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
return mergeCellProps(preCellProps, checkboxCellProps);
|
|
111
|
+
},
|
|
112
|
+
render: function render(_, row, rowIndex) {
|
|
113
|
+
var key = internals.safeGetRowKey(primaryKey, row, rowIndex);
|
|
114
|
+
var checked = set.has(key);
|
|
115
|
+
return /*#__PURE__*/React.createElement(Checkbox, {
|
|
116
|
+
checked: checked,
|
|
117
|
+
disabled: isDisabled(row, rowIndex),
|
|
118
|
+
onChange: clickArea === 'checkbox' ? function (arg1, arg2) {
|
|
119
|
+
var _a; // 这里要同时兼容 antd 和 fusion 的用法
|
|
120
|
+
// fusion: arg2?.nativeEvent
|
|
121
|
+
// antd: arg1.nativeEvent
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
var nativeEvent = (_a = arg2 === null || arg2 === void 0 ? void 0 : arg2.nativeEvent) !== null && _a !== void 0 ? _a : arg1.nativeEvent;
|
|
125
|
+
|
|
126
|
+
if (nativeEvent) {
|
|
127
|
+
if (opts.stopClickEventPropagation) {
|
|
128
|
+
nativeEvent.stopPropagation();
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
onCheckboxChange(checked, key, nativeEvent.shiftKey);
|
|
125
132
|
}
|
|
133
|
+
} : undefined
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
});
|
|
126
137
|
|
|
127
|
-
|
|
128
|
-
}
|
|
129
|
-
} : undefined
|
|
130
|
-
});
|
|
131
|
-
}
|
|
132
|
-
});
|
|
138
|
+
var nextColumns = _sliceInstanceProperty(_context = pipeline.getColumns()).call(_context);
|
|
133
139
|
|
|
134
|
-
|
|
140
|
+
var checkboxPlacement = (_l = opts.checkboxPlacement) !== null && _l !== void 0 ? _l : 'start';
|
|
135
141
|
|
|
136
|
-
|
|
142
|
+
if (checkboxPlacement === 'start') {
|
|
143
|
+
nextColumns.unshift(checkboxColumn);
|
|
144
|
+
} else {
|
|
145
|
+
nextColumns.push(checkboxColumn);
|
|
146
|
+
}
|
|
137
147
|
|
|
138
|
-
|
|
139
|
-
nextColumns.unshift(checkboxColumn);
|
|
140
|
-
} else {
|
|
141
|
-
nextColumns.push(checkboxColumn);
|
|
148
|
+
pipeline.columns(nextColumns);
|
|
142
149
|
}
|
|
143
150
|
|
|
144
|
-
pipeline.columns(nextColumns);
|
|
145
151
|
pipeline.appendRowPropsGetter(function (row, rowIndex) {
|
|
146
152
|
var rowKey = internals.safeGetRowKey(primaryKey, row, rowIndex);
|
|
147
153
|
|
|
@@ -17,6 +17,7 @@ import { collectNodes, mergeCellProps } from '../../utils';
|
|
|
17
17
|
import { always, flatMap } from '../../utils/others';
|
|
18
18
|
import console from '../../utils/console';
|
|
19
19
|
import getTableRenderTemplate from '../../base/renderTemplates';
|
|
20
|
+
import { Classes } from '../../base';
|
|
20
21
|
|
|
21
22
|
var rowDetailSymbol = _Symbol('row-detail');
|
|
22
23
|
|
|
@@ -157,7 +158,7 @@ export function rowDetail() {
|
|
|
157
158
|
toggle(rowKey);
|
|
158
159
|
};
|
|
159
160
|
|
|
160
|
-
var expandCls = expanded ?
|
|
161
|
+
var expandCls = expanded ? Classes.expanded : Classes.collapsed;
|
|
161
162
|
var ExpandIcon = opts.expandIcon;
|
|
162
163
|
return /*#__PURE__*/React.createElement(ExpansionCell, {
|
|
163
164
|
className: cx('expansion-cell', expandCls),
|
|
@@ -14,6 +14,7 @@ import { ExpansionCell, icons, InlineFlexCell } from '../../common-views';
|
|
|
14
14
|
import { internals } from '../../internals';
|
|
15
15
|
import { collectNodes, isLeafNode, mergeCellProps } from '../../utils';
|
|
16
16
|
import { flatMap } from '../../utils/others';
|
|
17
|
+
import { Classes } from '../../base';
|
|
17
18
|
|
|
18
19
|
var groupingMetaSymbol = _Symbol('row-grouping-meta');
|
|
19
20
|
|
|
@@ -122,7 +123,7 @@ export function rowGrouping() {
|
|
|
122
123
|
}
|
|
123
124
|
|
|
124
125
|
var expanded = openKeySet.has(row[primaryKey]);
|
|
125
|
-
var expandCls = expanded ?
|
|
126
|
+
var expandCls = expanded ? Classes.expanded : Classes.collapsed;
|
|
126
127
|
return /*#__PURE__*/React.createElement(ExpansionCell, {
|
|
127
128
|
className: cx('expansion-cell', expandCls)
|
|
128
129
|
}, /*#__PURE__*/React.createElement(icons.CaretRight, {
|
|
@@ -21,6 +21,7 @@ import React from 'react';
|
|
|
21
21
|
import { ExpansionCell, icons, InlineFlexCell } from '../../common-views';
|
|
22
22
|
import { internals } from '../../internals';
|
|
23
23
|
import { isLeafNode as standardIsLeafNode, mergeCellProps } from '../../utils';
|
|
24
|
+
import { Classes } from '../../base/styles';
|
|
24
25
|
export var treeMetaSymbol = _Symbol('treeMetaSymbol');
|
|
25
26
|
export function treeMode() {
|
|
26
27
|
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
@@ -146,7 +147,7 @@ export function treeMode() {
|
|
|
146
147
|
|
|
147
148
|
if (isLeaf) {
|
|
148
149
|
return /*#__PURE__*/React.createElement(InlineFlexCell, {
|
|
149
|
-
className:
|
|
150
|
+
className: cx('expansion-cell', Classes.leaf)
|
|
150
151
|
}, /*#__PURE__*/React.createElement("span", {
|
|
151
152
|
style: {
|
|
152
153
|
marginLeft: indent + iconWidth + iconGap
|
|
@@ -162,7 +163,7 @@ export function treeMode() {
|
|
|
162
163
|
toggle(rowKey);
|
|
163
164
|
};
|
|
164
165
|
|
|
165
|
-
var expandCls = expanded ?
|
|
166
|
+
var expandCls = expanded ? Classes.expanded : Classes.collapsed;
|
|
166
167
|
return /*#__PURE__*/React.createElement(ExpansionCell, {
|
|
167
168
|
className: cx('expansion-cell', expandCls),
|
|
168
169
|
style: {
|
|
@@ -36,6 +36,7 @@ export declare class TablePipeline {
|
|
|
36
36
|
private _tableProps;
|
|
37
37
|
private _dataSource;
|
|
38
38
|
private _columns;
|
|
39
|
+
private _footerDataSource;
|
|
39
40
|
static defaultIndents: TablePipelineIndentsConfig;
|
|
40
41
|
readonly ctx: TablePipelineCtx;
|
|
41
42
|
private readonly state;
|
|
@@ -51,6 +52,7 @@ export declare class TablePipeline {
|
|
|
51
52
|
addTableProps(props: React.HTMLAttributes<HTMLTableElement>): void;
|
|
52
53
|
getDataSource(name?: string): any[];
|
|
53
54
|
getColumns(name?: string): any[];
|
|
55
|
+
getFooterDataSource(): any[];
|
|
54
56
|
getStateAtKey<T = any>(stateKey: string, defaultValue?: T): T;
|
|
55
57
|
/** 将 stateKey 对应的状态设置为 partialState */
|
|
56
58
|
setStateAtKey(stateKey: string, partialState: any, extraInfo?: any): void;
|
|
@@ -67,6 +69,8 @@ export declare class TablePipeline {
|
|
|
67
69
|
columns(cols: ArtColumn[]): this;
|
|
68
70
|
/** 设置主键 */
|
|
69
71
|
primaryKey(key: PrimaryKey): this;
|
|
72
|
+
/** 设置页脚数据 */
|
|
73
|
+
footerDataSource(rows: any[]): this;
|
|
70
74
|
/** 保存快照 */
|
|
71
75
|
snapshot(name: string): this;
|
|
72
76
|
/** @deprecated
|
|
@@ -85,6 +85,11 @@ export var TablePipeline = /*#__PURE__*/function () {
|
|
|
85
85
|
return this._snapshots[name].columns;
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
|
+
}, {
|
|
89
|
+
key: "getFooterDataSource",
|
|
90
|
+
value: function getFooterDataSource() {
|
|
91
|
+
return this._footerDataSource;
|
|
92
|
+
}
|
|
88
93
|
}, {
|
|
89
94
|
key: "getStateAtKey",
|
|
90
95
|
value: function getStateAtKey(stateKey, defaultValue) {
|
|
@@ -157,6 +162,14 @@ export var TablePipeline = /*#__PURE__*/function () {
|
|
|
157
162
|
this.ctx.primaryKey = key;
|
|
158
163
|
return this;
|
|
159
164
|
}
|
|
165
|
+
/** 设置页脚数据 */
|
|
166
|
+
|
|
167
|
+
}, {
|
|
168
|
+
key: "footerDataSource",
|
|
169
|
+
value: function footerDataSource(rows) {
|
|
170
|
+
this._footerDataSource = rows;
|
|
171
|
+
return this;
|
|
172
|
+
}
|
|
160
173
|
/** 保存快照 */
|
|
161
174
|
|
|
162
175
|
}, {
|
|
@@ -237,6 +250,10 @@ export var TablePipeline = /*#__PURE__*/function () {
|
|
|
237
250
|
result.primaryKey = this.ctx.primaryKey;
|
|
238
251
|
}
|
|
239
252
|
|
|
253
|
+
if (this._footerDataSource) {
|
|
254
|
+
result.footerDataSource = this._footerDataSource;
|
|
255
|
+
}
|
|
256
|
+
|
|
240
257
|
if (this._rowPropsGetters.length > 0) {
|
|
241
258
|
result.getRowProps = function (row, rowIndex) {
|
|
242
259
|
return _this2._rowPropsGetters.reduce(function (res, get) {
|
|
@@ -20,10 +20,12 @@ import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/insta
|
|
|
20
20
|
import React from 'react';
|
|
21
21
|
import { noop } from 'rxjs';
|
|
22
22
|
import styled from 'styled-components';
|
|
23
|
+
import cx from 'classnames';
|
|
23
24
|
import { icons } from '../../common-views';
|
|
24
25
|
import { isLeafNode } from '../../utils';
|
|
25
26
|
import simpleEncode from './simpleEncode';
|
|
26
|
-
|
|
27
|
+
import { Classes } from '../../base/styles';
|
|
28
|
+
var ExpandSpan = styled.span(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: inline-flex;\n align-items: center;\n padding: 2px 8px 2px 0;\n cursor: pointer;\n\n .icon {\n fill: #999;\n margin-right: 4px;\n\n &.", " {\n transform-origin: center center;\n transform: rotate(90deg);\n }\n }\n"])), Classes.expanded);
|
|
27
29
|
export function convertDrillTreeToCrossTree(drillTree) {
|
|
28
30
|
var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
29
31
|
indicators = _ref.indicators,
|
|
@@ -115,7 +117,7 @@ export function convertDrillTreeToCrossTree(drillTree) {
|
|
|
115
117
|
}), node, 'collapse');
|
|
116
118
|
}
|
|
117
119
|
}, /*#__PURE__*/React.createElement(icons.CaretRight, {
|
|
118
|
-
className:
|
|
120
|
+
className: cx('icon', Classes.expanded)
|
|
119
121
|
}), node.value);
|
|
120
122
|
crossTreeNode.children = dfs(node.children, depth + 1);
|
|
121
123
|
} else {
|
|
@@ -218,7 +218,7 @@ function getHorizontalRenderRange(_ref) {
|
|
|
218
218
|
return {
|
|
219
219
|
leftIndex: leftIndex,
|
|
220
220
|
leftBlank: leftBlank,
|
|
221
|
-
rightIndex: leftIndex + centerCount
|
|
221
|
+
rightIndex: leftIndex + centerCount,
|
|
222
222
|
rightBlank: rightBlank
|
|
223
223
|
};
|
|
224
224
|
} // 一顿计算,将表格本次渲染所需要的数据都给算出来(代码写得有点乱,有较大优化空间)
|
package/lib/table/base/empty.js
CHANGED
|
@@ -47,10 +47,10 @@ function EmptyHtmlTable(_ref) {
|
|
|
47
47
|
}, /*#__PURE__*/_react.default.createElement(_colgroup.Colgroup, {
|
|
48
48
|
descriptors: descriptors
|
|
49
49
|
}), /*#__PURE__*/_react.default.createElement("tbody", null, /*#__PURE__*/_react.default.createElement("tr", {
|
|
50
|
-
className: (0, _classnames.default)(_styles.Classes.tableRow,
|
|
50
|
+
className: (0, _classnames.default)(_styles.Classes.tableRow, _styles.Classes.first, _styles.Classes.last, 'no-hover'),
|
|
51
51
|
"data-rowindex": 0
|
|
52
52
|
}, /*#__PURE__*/_react.default.createElement("td", {
|
|
53
|
-
className: (0, _classnames.default)(_styles.Classes.tableCell,
|
|
53
|
+
className: (0, _classnames.default)(_styles.Classes.tableCell, _styles.Classes.first, _styles.Classes.last),
|
|
54
54
|
colSpan: descriptors.length,
|
|
55
55
|
style: {
|
|
56
56
|
height: emptyCellHeight !== null && emptyCellHeight !== void 0 ? emptyCellHeight : 200
|
package/lib/table/base/header.js
CHANGED
|
@@ -15,6 +15,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
15
15
|
});
|
|
16
16
|
exports.default = TableHeader;
|
|
17
17
|
|
|
18
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
|
19
|
+
|
|
18
20
|
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
|
19
21
|
|
|
20
22
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/toConsumableArray"));
|
|
@@ -258,6 +260,8 @@ function TableHeader(_ref2) {
|
|
|
258
260
|
var leftFlatCount = flat.left.length;
|
|
259
261
|
var rightFlatCount = flat.right.length;
|
|
260
262
|
var thead = (0, _map.default)(_context4 = headerRenderInfo.leveled).call(_context4, function (wrappedCols, level) {
|
|
263
|
+
var _cx2;
|
|
264
|
+
|
|
261
265
|
var _wrappedCols = (0, _concat.default)(wrappedCols).call(wrappedCols); // 左中右区域渲染,分组列可能单独位于一个区域,此时其他区域也需要适配分组的高度
|
|
262
266
|
// rowspan 需要空白的列头去占位, 需要补充额外的空白列头
|
|
263
267
|
|
|
@@ -275,6 +279,8 @@ function TableHeader(_ref2) {
|
|
|
275
279
|
var _a, _b, _c;
|
|
276
280
|
|
|
277
281
|
if (wrapped.type === 'normal') {
|
|
282
|
+
var _cx;
|
|
283
|
+
|
|
278
284
|
var colIndex = wrapped.colIndex,
|
|
279
285
|
colSpan = wrapped.colSpan,
|
|
280
286
|
isLeaf = wrapped.isLeaf,
|
|
@@ -295,13 +301,7 @@ function TableHeader(_ref2) {
|
|
|
295
301
|
var cell = /*#__PURE__*/_react.default.createElement("th", (0, _extends2.default)({
|
|
296
302
|
key: colIndex
|
|
297
303
|
}, headerCellProps, {
|
|
298
|
-
className: (0, _classnames.default)(_styles.Classes.tableHeaderCell, headerCellProps.className, {
|
|
299
|
-
first: colIndex === 0,
|
|
300
|
-
last: colIndex + colSpan === fullFlatCount,
|
|
301
|
-
'lock-left': colIndex < leftFlatCount || theaderPosition === 'left',
|
|
302
|
-
'lock-right': colIndex >= fullFlatCount - rightFlatCount || theaderPosition === 'right',
|
|
303
|
-
leaf: wrapped.isLeaf
|
|
304
|
-
}),
|
|
304
|
+
className: (0, _classnames.default)(_styles.Classes.tableHeaderCell, headerCellProps.className, (_cx = {}, (0, _defineProperty2.default)(_cx, _styles.Classes.first, colIndex === 0), (0, _defineProperty2.default)(_cx, _styles.Classes.last, colIndex + colSpan === fullFlatCount), (0, _defineProperty2.default)(_cx, _styles.Classes.lockLeft, colIndex < leftFlatCount || theaderPosition === 'left'), (0, _defineProperty2.default)(_cx, _styles.Classes.lockRight, colIndex >= fullFlatCount - rightFlatCount || theaderPosition === 'right'), (0, _defineProperty2.default)(_cx, _styles.Classes.leaf, wrapped.isLeaf), _cx)),
|
|
305
305
|
colSpan: colSpan,
|
|
306
306
|
rowSpan: isLeaf ? rowCount - level : undefined,
|
|
307
307
|
style: (0, _extends2.default)((0, _extends2.default)({
|
|
@@ -332,10 +332,7 @@ function TableHeader(_ref2) {
|
|
|
332
332
|
});
|
|
333
333
|
return /*#__PURE__*/_react.default.createElement("tr", {
|
|
334
334
|
key: level,
|
|
335
|
-
className: (0, _classnames.default)(_styles.Classes.tableHeaderRow, {
|
|
336
|
-
first: level === 0,
|
|
337
|
-
last: level === rowCount - 1
|
|
338
|
-
})
|
|
335
|
+
className: (0, _classnames.default)(_styles.Classes.tableHeaderRow, (_cx2 = {}, (0, _defineProperty2.default)(_cx2, _styles.Classes.first, level === 0), (0, _defineProperty2.default)(_cx2, _styles.Classes.last, level === rowCount - 1), _cx2))
|
|
339
336
|
}, headerCells);
|
|
340
337
|
});
|
|
341
338
|
var colgroup = (0, _map.default)(_context5 = (0, _flat.default)(headerRenderInfo)).call(_context5, function (wrapped) {
|
|
@@ -9,6 +9,8 @@ exports.HtmlTable = HtmlTable;
|
|
|
9
9
|
|
|
10
10
|
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
|
11
11
|
|
|
12
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
|
13
|
+
|
|
12
14
|
var _flat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/flat"));
|
|
13
15
|
|
|
14
16
|
var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
|
|
@@ -49,17 +51,12 @@ function HtmlTable(_ref) {
|
|
|
49
51
|
}), /*#__PURE__*/_react.default.createElement(tbodyHtmlTag, null, (0, _map.default)(data).call(data, renderRow)));
|
|
50
52
|
|
|
51
53
|
function renderRow(record, i) {
|
|
52
|
-
var _context;
|
|
54
|
+
var _cx, _context;
|
|
53
55
|
|
|
54
56
|
var rowIndex = verInfo.offset + i;
|
|
55
57
|
spanManager.stripUpwards(rowIndex);
|
|
56
58
|
var rowProps = getRowProps(record, rowIndex);
|
|
57
|
-
var rowClass = (0, _classnames.default)(_styles.Classes.tableRow, {
|
|
58
|
-
first: rowIndex === verInfo.first,
|
|
59
|
-
last: rowIndex === verInfo.last,
|
|
60
|
-
even: rowIndex % 2 === 0,
|
|
61
|
-
odd: rowIndex % 2 === 1
|
|
62
|
-
}, rowProps === null || rowProps === void 0 ? void 0 : rowProps.className);
|
|
59
|
+
var rowClass = (0, _classnames.default)(_styles.Classes.tableRow, (_cx = {}, (0, _defineProperty2.default)(_cx, _styles.Classes.first, rowIndex === verInfo.first), (0, _defineProperty2.default)(_cx, _styles.Classes.last, rowIndex === verInfo.last), (0, _defineProperty2.default)(_cx, _styles.Classes.even, rowIndex % 2 === 0), (0, _defineProperty2.default)(_cx, _styles.Classes.odd, rowIndex % 2 === 1), _cx), rowProps === null || rowProps === void 0 ? void 0 : rowProps.className);
|
|
63
60
|
var visibleColumnDescriptor = (0, _concat.default)(_context = hozInfo.visible).call(_context); // 左中右区域渲染,存在融合单元格时需要适配rowspan属性
|
|
64
61
|
// 如果固定的列均存在融合单元格,需空白一列做占位,否则融合的单元格不会渲染,导致显示异常
|
|
65
62
|
// 这里无法区分是否存在融合列,默认左右固定区域均添加占位空白列
|
|
@@ -93,6 +90,8 @@ function HtmlTable(_ref) {
|
|
|
93
90
|
}
|
|
94
91
|
|
|
95
92
|
function renderBodyCell(record, rowIndex, column, colIndex) {
|
|
93
|
+
var _cx2;
|
|
94
|
+
|
|
96
95
|
var _a, _b, _c;
|
|
97
96
|
|
|
98
97
|
if (spanManager.testSkip(rowIndex, colIndex)) {
|
|
@@ -123,20 +122,20 @@ function HtmlTable(_ref) {
|
|
|
123
122
|
if (cellProps.rowSpan != null) {
|
|
124
123
|
rowSpan = cellProps.rowSpan;
|
|
125
124
|
}
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
var hasSpan = colSpan > 1 || rowSpan > 1;
|
|
128
|
+
|
|
129
|
+
if (hasSpan) {
|
|
130
|
+
spanManager.add(rowIndex, colIndex, colSpan, rowSpan);
|
|
126
131
|
} // rowSpan/colSpan 不能过大,避免 rowSpan/colSpan 影响因虚拟滚动而未渲染的单元格
|
|
127
132
|
|
|
128
133
|
|
|
129
134
|
rowSpan = Math.min(rowSpan, verInfo.limit - rowIndex);
|
|
130
|
-
colSpan = Math.min(colSpan,
|
|
135
|
+
colSpan = Math.min(colSpan, hozInfo.visible.length - colIndex); // todo: 右侧有列固定的情况下colSpan计算不对,这里先限制一下
|
|
131
136
|
|
|
132
137
|
rowSpan = Math.max(rowSpan, 1);
|
|
133
138
|
colSpan = Math.max(colSpan, 1);
|
|
134
|
-
var hasSpan = colSpan > 1 || rowSpan > 1;
|
|
135
|
-
|
|
136
|
-
if (hasSpan) {
|
|
137
|
-
spanManager.add(rowIndex, colIndex, colSpan, rowSpan);
|
|
138
|
-
}
|
|
139
|
-
|
|
140
139
|
var positionStyle = {};
|
|
141
140
|
var scrollbarWidth = hasScrollY ? (0, _utils.getScrollbarSize)().width : 0;
|
|
142
141
|
|
|
@@ -151,14 +150,7 @@ function HtmlTable(_ref) {
|
|
|
151
150
|
return /*#__PURE__*/_react.default.createElement('td', (0, _extends2.default)((0, _extends2.default)((0, _extends2.default)((0, _extends2.default)({
|
|
152
151
|
key: colIndex
|
|
153
152
|
}, cellProps), {
|
|
154
|
-
className: (0, _classnames.default)(_styles.Classes.tableCell, cellProps.className, {
|
|
155
|
-
// class
|
|
156
|
-
first: colIndex === 0,
|
|
157
|
-
last: colIndex + colSpan === fullFlatCount,
|
|
158
|
-
'lock-left': colIndex < leftFlatCount || tbodyPosition === 'left',
|
|
159
|
-
'lock-right': colIndex >= fullFlatCount - rightFlatCount,
|
|
160
|
-
'row-span': rowSpan > 1
|
|
161
|
-
})
|
|
153
|
+
className: (0, _classnames.default)(_styles.Classes.tableCell, cellProps.className, (_cx2 = {}, (0, _defineProperty2.default)(_cx2, _styles.Classes.first, colIndex === 0), (0, _defineProperty2.default)(_cx2, _styles.Classes.last, colIndex + colSpan === fullFlatCount), (0, _defineProperty2.default)(_cx2, _styles.Classes.lockLeft, colIndex < leftFlatCount || tbodyPosition === 'left'), (0, _defineProperty2.default)(_cx2, _styles.Classes.lockRight, colIndex >= fullFlatCount - rightFlatCount), (0, _defineProperty2.default)(_cx2, _styles.Classes.rowSpan, rowSpan > 1), _cx2))
|
|
162
154
|
}), hasSpan ? {
|
|
163
155
|
colSpan: colSpan,
|
|
164
156
|
rowSpan: rowSpan
|
|
@@ -50,6 +50,16 @@ export declare const Classes: {
|
|
|
50
50
|
readonly rowDetailContainer: string;
|
|
51
51
|
readonly rowDetailItem: string;
|
|
52
52
|
readonly emptyColCell: string;
|
|
53
|
+
readonly first: string;
|
|
54
|
+
readonly last: string;
|
|
55
|
+
readonly even: string;
|
|
56
|
+
readonly odd: string;
|
|
57
|
+
readonly lockLeft: string;
|
|
58
|
+
readonly lockRight: string;
|
|
59
|
+
readonly rowSpan: string;
|
|
60
|
+
readonly leaf: string;
|
|
61
|
+
readonly expanded: string;
|
|
62
|
+
readonly collapsed: string;
|
|
53
63
|
};
|
|
54
64
|
export declare const MenuClasses: {
|
|
55
65
|
menu: string;
|
package/lib/table/base/styles.js
CHANGED
|
@@ -85,7 +85,17 @@ var Classes = {
|
|
|
85
85
|
fixedRight: "".concat(prefix, "fixed-right"),
|
|
86
86
|
rowDetailContainer: "".concat(prefix, "row-detail-container"),
|
|
87
87
|
rowDetailItem: "".concat(prefix, "row-detail-item"),
|
|
88
|
-
emptyColCell: "".concat(prefix, "empty-col-cell")
|
|
88
|
+
emptyColCell: "".concat(prefix, "empty-col-cell"),
|
|
89
|
+
first: "".concat(prefix, "first"),
|
|
90
|
+
last: "".concat(prefix, "last"),
|
|
91
|
+
even: "".concat(prefix, "even"),
|
|
92
|
+
odd: "".concat(prefix, "odd"),
|
|
93
|
+
lockLeft: "".concat(prefix, "lock-left"),
|
|
94
|
+
lockRight: "".concat(prefix, "lock-right"),
|
|
95
|
+
rowSpan: "".concat(prefix, "row-span"),
|
|
96
|
+
leaf: "".concat(prefix, "leaf"),
|
|
97
|
+
expanded: "".concat(prefix, "expanded"),
|
|
98
|
+
collapsed: "".concat(prefix, "collapsed")
|
|
89
99
|
};
|
|
90
100
|
exports.Classes = Classes;
|
|
91
101
|
var MenuClasses = {
|
|
@@ -106,7 +116,7 @@ var Z = {
|
|
|
106
116
|
scrollItem: 30,
|
|
107
117
|
loadingIndicator: 40
|
|
108
118
|
};
|
|
109
|
-
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.
|
|
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 --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);
|
|
110
120
|
var defaultCSSVariables = {
|
|
111
121
|
'--row-height': '48px',
|
|
112
122
|
'--color': '#333',
|
|
@@ -139,7 +149,7 @@ exports.defaultCSSVariables = defaultCSSVariables;
|
|
|
139
149
|
var variableConst = getCssVariableText(defaultCSSVariables);
|
|
140
150
|
exports.variableConst = variableConst;
|
|
141
151
|
|
|
142
|
-
var StyledArtTableWrapper = _styledComponents.default.div(_templateObject2 || (_templateObject2 = (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 .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 user-select:none;\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 &.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 // \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:none\n }\n\n th.
|
|
152
|
+
var StyledArtTableWrapper = _styledComponents.default.div(_templateObject2 || (_templateObject2 = (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 .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 user-select:none;\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 &.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 // \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:none\n }\n\n th.", " {\n border-right: none;\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: auto;\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 }\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 "])), variableConst, variableConst, outerBorderStyleMixin, Classes.artTable, Classes.tableHeader, Classes.tableHeaderCellContent, Classes.virtual, Classes.tableFooter, Classes.tableBody, Classes.tableFooter, Classes.tableRow, Classes.tableBody, Classes.tableCellRangeSelected, Classes.tableCellRangeTop, Classes.tableCellRangeLeft, Classes.tableCellRangeBottom, Classes.tableCellRangeRight, 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);
|
|
143
153
|
|
|
144
154
|
exports.StyledArtTableWrapper = StyledArtTableWrapper;
|
|
145
155
|
var ButtonCSS = (0, _styledComponents.css)(_templateObject3 || (_templateObject3 = (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);
|
|
@@ -22,7 +22,7 @@ var _templateObject, _templateObject2, _templateObject3;
|
|
|
22
22
|
var InlineFlexCell = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: inline-flex;\n align-items: center;\n"])));
|
|
23
23
|
|
|
24
24
|
exports.InlineFlexCell = InlineFlexCell;
|
|
25
|
-
var ExpansionCell = (0, _styledComponents.default)(InlineFlexCell)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n &.
|
|
25
|
+
var ExpansionCell = (0, _styledComponents.default)(InlineFlexCell)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\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"])), _styles.Classes.leaf, _styles.Classes.expanded);
|
|
26
26
|
exports.ExpansionCell = ExpansionCell;
|
|
27
27
|
|
|
28
28
|
function CaretDownIcon(props) {
|