es-grid-template 1.7.25 → 1.7.27
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/es/table-component/InternalTable.js +69 -4
- package/es/table-component/TableContainer.js +7 -6
- package/es/table-component/TableContainerEdit.d.ts +2 -0
- package/es/table-component/TableContainerEdit.js +30 -19
- package/es/table-component/body/TableBody.d.ts +3 -2
- package/es/table-component/body/TableBody.js +51 -5
- package/es/table-component/body/TableBodyCell.js +3 -1
- package/es/table-component/body/TableBodyCellEdit.js +30 -20
- package/es/table-component/footer/TableFooterCell.js +3 -2
- package/es/table-component/header/TableHead.d.ts +1 -1
- package/es/table-component/header/TableHead.js +42 -6
- package/es/table-component/header/TableHeadCell.d.ts +2 -0
- package/es/table-component/header/TableHeadCell.js +16 -47
- package/es/table-component/header/TableHeadRow.d.ts +3 -4
- package/es/table-component/header/TableHeadRow.js +52 -41
- package/es/table-component/hook/convert.d.ts +1 -0
- package/es/table-component/hook/convert.js +28 -0
- package/es/table-component/hook/useColumns.js +1 -0
- package/es/table-component/hook/utils.js +8 -10
- package/es/table-component/style.scss +64 -56
- package/es/table-component/table/Grid.d.ts +2 -0
- package/es/table-component/table/Grid.js +6 -4
- package/es/table-component/type.d.ts +7 -2
- package/lib/table-component/InternalTable.js +69 -4
- package/lib/table-component/TableContainer.js +7 -6
- package/lib/table-component/TableContainerEdit.d.ts +2 -0
- package/lib/table-component/TableContainerEdit.js +30 -19
- package/lib/table-component/body/TableBody.d.ts +3 -2
- package/lib/table-component/body/TableBody.js +53 -5
- package/lib/table-component/body/TableBodyCell.js +3 -1
- package/lib/table-component/body/TableBodyCellEdit.js +30 -20
- package/lib/table-component/footer/TableFooterCell.js +3 -2
- package/lib/table-component/header/TableHead.d.ts +1 -1
- package/lib/table-component/header/TableHead.js +42 -6
- package/lib/table-component/header/TableHeadCell.d.ts +2 -0
- package/lib/table-component/header/TableHeadCell.js +16 -47
- package/lib/table-component/header/TableHeadRow.d.ts +3 -4
- package/lib/table-component/header/TableHeadRow.js +52 -41
- package/lib/table-component/hook/convert.d.ts +1 -0
- package/lib/table-component/hook/convert.js +34 -0
- package/lib/table-component/hook/useColumns.js +1 -0
- package/lib/table-component/hook/utils.js +8 -10
- package/lib/table-component/style.scss +64 -56
- package/lib/table-component/table/Grid.d.ts +2 -0
- package/lib/table-component/table/Grid.js +6 -4
- package/lib/table-component/type.d.ts +7 -2
- package/package.json +1 -1
|
@@ -20,6 +20,8 @@ var _reactTooltip = require("react-tooltip");
|
|
|
20
20
|
var _ContextMenu = _interopRequireDefault(require("./ContextMenu"));
|
|
21
21
|
var _utils = require("./hook/utils");
|
|
22
22
|
var _useColumns = require("./hook/useColumns");
|
|
23
|
+
var _convert = require("./hook/convert");
|
|
24
|
+
var _antd = require("antd");
|
|
23
25
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
24
26
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
25
27
|
// import en from "rc-master-ui/es/date-picker/locale/en_US"
|
|
@@ -72,6 +74,7 @@ const InternalTable = props => {
|
|
|
72
74
|
contextMenuHidden,
|
|
73
75
|
contextMenuClick,
|
|
74
76
|
contextMenuOpen,
|
|
77
|
+
height,
|
|
75
78
|
...rest
|
|
76
79
|
} = props;
|
|
77
80
|
const id = _react.default.useMemo(() => {
|
|
@@ -126,6 +129,7 @@ const InternalTable = props => {
|
|
|
126
129
|
|
|
127
130
|
const [filterStates, setFilterState] = _react.default.useState(null);
|
|
128
131
|
const [sorterStates, setSorterStates] = _react.default.useState([]);
|
|
132
|
+
const [isFullScreen, setIsFullScreen] = _react.default.useState(false);
|
|
129
133
|
const [expanded, setExpanded] = _react.default.useState({});
|
|
130
134
|
const convertData = _react.default.useMemo(() => {
|
|
131
135
|
if (groupAble && groupSetting && groupSetting.client !== false) {
|
|
@@ -146,7 +150,6 @@ const InternalTable = props => {
|
|
|
146
150
|
|
|
147
151
|
// return convertToTanStackColumns<RecordType>(columns, expanded, setExpanded, expandable)
|
|
148
152
|
}, [t, columns, format, editAble]);
|
|
149
|
-
console.log('mergedColumns', mergedColumns);
|
|
150
153
|
const columnPinning = _react.default.useMemo(() => {
|
|
151
154
|
return {
|
|
152
155
|
left: (0, _utils.getFixedFields)(columns, 'left'),
|
|
@@ -277,7 +280,7 @@ const InternalTable = props => {
|
|
|
277
280
|
format: format
|
|
278
281
|
// columns={columns111 as any}
|
|
279
282
|
,
|
|
280
|
-
columns: mergedColumns,
|
|
283
|
+
columns: (0, _convert.convertColumns)(mergedColumns),
|
|
281
284
|
propsColumns: columns,
|
|
282
285
|
rowKey: rowKey,
|
|
283
286
|
groupSetting: groupSetting,
|
|
@@ -294,8 +297,70 @@ const InternalTable = props => {
|
|
|
294
297
|
contextMenuItems: contextMenuItems,
|
|
295
298
|
editAble: editAble,
|
|
296
299
|
triggerChangeColumns: triggerChangeColumns,
|
|
297
|
-
setExpanded: setExpanded
|
|
298
|
-
|
|
300
|
+
setExpanded: setExpanded,
|
|
301
|
+
isFullScreen: isFullScreen,
|
|
302
|
+
setIsFullScreen: setIsFullScreen
|
|
303
|
+
})), /*#__PURE__*/_react.default.createElement(_antd.Modal, {
|
|
304
|
+
open: isFullScreen,
|
|
305
|
+
footer: null,
|
|
306
|
+
centered: true,
|
|
307
|
+
closable: true,
|
|
308
|
+
width: '100%',
|
|
309
|
+
style: {
|
|
310
|
+
maxWidth: '100%',
|
|
311
|
+
height: '100%'
|
|
312
|
+
},
|
|
313
|
+
onClose: () => setIsFullScreen(false),
|
|
314
|
+
onCancel: () => setIsFullScreen(false)
|
|
315
|
+
|
|
316
|
+
// destroyOnClose
|
|
317
|
+
,
|
|
318
|
+
styles: {
|
|
319
|
+
content: {
|
|
320
|
+
height: '100vh',
|
|
321
|
+
borderRadius: 0,
|
|
322
|
+
padding: '15px 10px'
|
|
323
|
+
},
|
|
324
|
+
wrapper: {
|
|
325
|
+
zIndex: 1050
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
329
|
+
style: {
|
|
330
|
+
paddingTop: 40
|
|
331
|
+
}
|
|
332
|
+
}, /*#__PURE__*/_react.default.createElement(_Grid.default, (0, _extends2.default)({}, rest, {
|
|
333
|
+
t: t,
|
|
334
|
+
id: isFullScreen ? _faker.faker.string.alpha(20) : id,
|
|
335
|
+
prefix: prefix,
|
|
336
|
+
originData: convertData,
|
|
337
|
+
dataSource: mergedData,
|
|
338
|
+
locale: locale,
|
|
339
|
+
format: format
|
|
340
|
+
// columns={columns111 as any}
|
|
341
|
+
,
|
|
342
|
+
columns: (0, _convert.convertColumns)(mergedColumns),
|
|
343
|
+
propsColumns: columns,
|
|
344
|
+
rowKey: rowKey,
|
|
345
|
+
groupSetting: groupSetting,
|
|
346
|
+
groupAble: groupAble,
|
|
347
|
+
groupColumns: groupColumns,
|
|
348
|
+
columnPinning: columnPinning,
|
|
349
|
+
columnHidden: columnsHiddenKeys ? (0, _utils.convertToObj)(columnsHiddenKeys) : columnVisibility,
|
|
350
|
+
triggerFilter: setFilterState,
|
|
351
|
+
triggerSorter: setSorterStates,
|
|
352
|
+
setMergedFilterKeys: setMergedFilterKeys,
|
|
353
|
+
mergedFilterKeys: mergedFilterKeys,
|
|
354
|
+
expanded: expanded,
|
|
355
|
+
onContextMenu: onContextMenu,
|
|
356
|
+
contextMenuItems: contextMenuItems,
|
|
357
|
+
editAble: editAble,
|
|
358
|
+
triggerChangeColumns: triggerChangeColumns,
|
|
359
|
+
setExpanded: setExpanded,
|
|
360
|
+
isFullScreen: isFullScreen,
|
|
361
|
+
setIsFullScreen: setIsFullScreen,
|
|
362
|
+
height: windowSize.innerHeight - 70
|
|
363
|
+
})))), menuVisible && /*#__PURE__*/_react.default.createElement(_ContextMenu.default, {
|
|
299
364
|
open: menuVisible,
|
|
300
365
|
pos: position,
|
|
301
366
|
setOpen: setMenuVisible,
|
|
@@ -60,7 +60,8 @@ const TableContainer = props => {
|
|
|
60
60
|
triggerChangeColumns,
|
|
61
61
|
columnHidden,
|
|
62
62
|
expanded,
|
|
63
|
-
setExpanded
|
|
63
|
+
setExpanded,
|
|
64
|
+
showEmptyText
|
|
64
65
|
} = props;
|
|
65
66
|
const tableContainerRef = _react.default.useRef(null);
|
|
66
67
|
const containerRef = _react.default.useRef(null);
|
|
@@ -167,7 +168,8 @@ const TableContainer = props => {
|
|
|
167
168
|
//our scrollable table container
|
|
168
169
|
position: 'relative',
|
|
169
170
|
//needed for sticky header
|
|
170
|
-
height: tableHeight ?? '500px' //should be a fixed height
|
|
171
|
+
// height: tableHeight ?? '500px' //should be a fixed height
|
|
172
|
+
maxHeight: tableHeight //should be a fixed height
|
|
171
173
|
// minWidth: table.getTotalSize()
|
|
172
174
|
}
|
|
173
175
|
}, /*#__PURE__*/_react.default.createElement(_useContext.TableContext.Provider, {
|
|
@@ -215,10 +217,9 @@ const TableContainer = props => {
|
|
|
215
217
|
fixedRightColumns: fixedRightColumns,
|
|
216
218
|
commandClick: commandClick,
|
|
217
219
|
editAble: editAble,
|
|
218
|
-
contextMenuItems: contextMenuItems
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
, {
|
|
220
|
+
contextMenuItems: contextMenuItems,
|
|
221
|
+
showEmptyText: showEmptyText
|
|
222
|
+
}), summary && /*#__PURE__*/_react.default.createElement(_TableFooter.default, {
|
|
222
223
|
columnVirtualizer: columnVirtualizer,
|
|
223
224
|
table: table,
|
|
224
225
|
virtualPaddingLeft: virtualPaddingLeft,
|
|
@@ -26,6 +26,8 @@ type TableContainerProps<T> = Omit<TableProps<T>, 'columns'> & {
|
|
|
26
26
|
columns: ColumnDef<T>[];
|
|
27
27
|
triggerChangeColumns: any;
|
|
28
28
|
columnHidden: any;
|
|
29
|
+
isFullScreen: boolean;
|
|
30
|
+
setIsFullScreen: Dispatch<SetStateAction<boolean>>;
|
|
29
31
|
};
|
|
30
32
|
declare const TableContainerEdit: <RecordType extends object>(props: TableContainerProps<RecordType>) => React.JSX.Element;
|
|
31
33
|
export default TableContainerEdit;
|
|
@@ -108,8 +108,14 @@ const TableContainerEdit = props => {
|
|
|
108
108
|
columns,
|
|
109
109
|
propsColumns,
|
|
110
110
|
triggerChangeColumns,
|
|
111
|
-
columnHidden
|
|
111
|
+
columnHidden,
|
|
112
|
+
showEmptyText,
|
|
113
|
+
isFullScreen,
|
|
114
|
+
setIsFullScreen
|
|
112
115
|
} = props;
|
|
116
|
+
|
|
117
|
+
// console.log('setIsFullScreen', setIsFullScreen)
|
|
118
|
+
|
|
113
119
|
const containerRef = _react.default.useRef(null);
|
|
114
120
|
const bottomToolbarRef = _react.default.useRef(null);
|
|
115
121
|
const topToolbarRef = _react.default.useRef(null);
|
|
@@ -214,7 +220,7 @@ const TableContainerEdit = props => {
|
|
|
214
220
|
const [endPasteCell, setEndPasteCell] = _react.default.useState(undefined);
|
|
215
221
|
const [isSelecting, setIsSelecting] = _react.default.useState(false);
|
|
216
222
|
const [isPasting, setIsPasting] = _react.default.useState(false);
|
|
217
|
-
const [isFullScreen] =
|
|
223
|
+
// const [isFullScreen] = React.useState(false);
|
|
218
224
|
const [tableHeight, settableHeight] = _react.default.useState(0);
|
|
219
225
|
const rowsFocus = _react.default.useMemo(() => {
|
|
220
226
|
return startCell && endCell ? (0, _utils.getRowIdsBetween)(table, startCell.rowId, endCell.rowId) : [];
|
|
@@ -1117,7 +1123,7 @@ const TableContainerEdit = props => {
|
|
|
1117
1123
|
alignItems: 'center',
|
|
1118
1124
|
gap: '.75rem'
|
|
1119
1125
|
}
|
|
1120
|
-
},
|
|
1126
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
1121
1127
|
style: {
|
|
1122
1128
|
flex: 1,
|
|
1123
1129
|
overflow: 'hidden'
|
|
@@ -1125,18 +1131,6 @@ const TableContainerEdit = props => {
|
|
|
1125
1131
|
}, /*#__PURE__*/_react.default.createElement(_rcMasterUi.Toolbar, {
|
|
1126
1132
|
items: (toolbarItems ?? []).filter(it => it.position !== 'Bottom'),
|
|
1127
1133
|
mode: 'scroll'
|
|
1128
|
-
})), fullScreen !== false && (isFullScreen ? /*#__PURE__*/_react.default.createElement(_becoxyIcons.Minimize, {
|
|
1129
|
-
fontSize: 16
|
|
1130
|
-
// onClick={() => handleFullScreen?.()}
|
|
1131
|
-
,
|
|
1132
|
-
"data-tooltip-id": "tooltip-icon",
|
|
1133
|
-
"data-tooltip-content": t ? t('Minimized') : 'Minimized'
|
|
1134
|
-
}) : /*#__PURE__*/_react.default.createElement(_becoxyIcons.Maximize, {
|
|
1135
|
-
fontSize: 16
|
|
1136
|
-
// onClick={() => handleFullScreen?.()}
|
|
1137
|
-
,
|
|
1138
|
-
"data-tooltip-id": "tooltip-icon",
|
|
1139
|
-
"data-tooltip-content": t ? t('Full screen') : 'Full screen'
|
|
1140
1134
|
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
1141
1135
|
style: {
|
|
1142
1136
|
display: 'flex',
|
|
@@ -1152,7 +1146,21 @@ const TableContainerEdit = props => {
|
|
|
1152
1146
|
showTotal: (total, range) =>
|
|
1153
1147
|
// @ts-ignore
|
|
1154
1148
|
`${range[0]}-${range[1]} / ${total} ${t ? t(pagination?.locale?.items ?? 'items') : 'items'}`
|
|
1155
|
-
}, pagination)), typeof actionTemplate === 'function' ? actionTemplate() : actionTemplate,
|
|
1149
|
+
}, pagination)), typeof actionTemplate === 'function' ? actionTemplate() : actionTemplate, fullScreen !== false && (isFullScreen ? /*#__PURE__*/_react.default.createElement(_becoxyIcons.Minimize, {
|
|
1150
|
+
fontSize: 16,
|
|
1151
|
+
onClick: () => {
|
|
1152
|
+
setIsFullScreen(!isFullScreen);
|
|
1153
|
+
},
|
|
1154
|
+
"data-tooltip-id": `${id}-tooltip-content`,
|
|
1155
|
+
"data-tooltip-content": t ? t('Minimized') : 'Minimized'
|
|
1156
|
+
}) : /*#__PURE__*/_react.default.createElement(_becoxyIcons.Maximize, {
|
|
1157
|
+
fontSize: 16,
|
|
1158
|
+
onClick: () => {
|
|
1159
|
+
setIsFullScreen(!isFullScreen);
|
|
1160
|
+
},
|
|
1161
|
+
"data-tooltip-id": `${id}-tooltip-content`,
|
|
1162
|
+
"data-tooltip-content": t ? t('Full screen') : 'Full screen'
|
|
1163
|
+
})), showColumnChoose && /*#__PURE__*/_react.default.createElement(_ColumnsChoose.ColumnsChoose, {
|
|
1156
1164
|
columns: columns,
|
|
1157
1165
|
originColumns: propsColumns,
|
|
1158
1166
|
t: t,
|
|
@@ -1173,7 +1181,8 @@ const TableContainerEdit = props => {
|
|
|
1173
1181
|
//our scrollable table container
|
|
1174
1182
|
position: 'relative',
|
|
1175
1183
|
//needed for sticky header
|
|
1176
|
-
height: tableHeight //should be a fixed height
|
|
1184
|
+
// height: tableHeight, //should be a fixed height
|
|
1185
|
+
maxHeight: tableHeight //should be a fixed height
|
|
1177
1186
|
}
|
|
1178
1187
|
}, /*#__PURE__*/_react.default.createElement(_useContext.TableContext.Provider, {
|
|
1179
1188
|
value: {
|
|
@@ -1231,7 +1240,8 @@ const TableContainerEdit = props => {
|
|
|
1231
1240
|
// className={`${prefix}-grid-container`}
|
|
1232
1241
|
style: {
|
|
1233
1242
|
display: 'grid',
|
|
1234
|
-
minWidth: table.getTotalSize()
|
|
1243
|
+
// minWidth: table.getTotalSize()
|
|
1244
|
+
width: table.getTotalSize()
|
|
1235
1245
|
}
|
|
1236
1246
|
}, /*#__PURE__*/_react.default.createElement(_TableHead.default, {
|
|
1237
1247
|
tableContainerRef: tableContainerRef,
|
|
@@ -1252,7 +1262,8 @@ const TableContainerEdit = props => {
|
|
|
1252
1262
|
fixedRightColumns: fixedRightColumns,
|
|
1253
1263
|
commandClick: commandClick,
|
|
1254
1264
|
editAble: editAble,
|
|
1255
|
-
contextMenuItems: contextMenuItems
|
|
1265
|
+
contextMenuItems: contextMenuItems,
|
|
1266
|
+
showEmptyText: showEmptyText
|
|
1256
1267
|
}), summary && /*#__PURE__*/_react.default.createElement(_TableFooter.default, {
|
|
1257
1268
|
columnVirtualizer: columnVirtualizer,
|
|
1258
1269
|
table: table,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type Column, type Table } from "@tanstack/react-table";
|
|
2
2
|
import type { Virtualizer } from "@tanstack/react-virtual";
|
|
3
3
|
import type { CommandClick } from "../type";
|
|
4
4
|
import React from "react";
|
|
@@ -13,7 +13,8 @@ interface TableBodyProps<T> {
|
|
|
13
13
|
commandClick?: (args: CommandClick) => void;
|
|
14
14
|
editAble?: boolean;
|
|
15
15
|
tableId: string;
|
|
16
|
+
showEmptyText?: boolean;
|
|
16
17
|
[key: string]: any;
|
|
17
18
|
}
|
|
18
|
-
declare const TableBody: <RecordType extends object>({ columnVirtualizer, table, tableContainerRef, virtualPaddingLeft, virtualPaddingRight, fixedLeftColumns, fixedRightColumns, tableId, ...rest }: TableBodyProps<RecordType>) => React.JSX.Element;
|
|
19
|
+
declare const TableBody: <RecordType extends object>({ columnVirtualizer, table, tableContainerRef, virtualPaddingLeft, virtualPaddingRight, fixedLeftColumns, fixedRightColumns, tableId, showEmptyText, ...rest }: TableBodyProps<RecordType>) => React.JSX.Element;
|
|
19
20
|
export default TableBody;
|
|
@@ -8,8 +8,11 @@ exports.default = void 0;
|
|
|
8
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
9
|
var _TableBodyRow = _interopRequireDefault(require("./TableBodyRow"));
|
|
10
10
|
var _reactVirtual = require("@tanstack/react-virtual");
|
|
11
|
-
var _react =
|
|
11
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
12
12
|
var _useContext = require("../useContext");
|
|
13
|
+
var _rcMasterUi = require("rc-master-ui");
|
|
14
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
15
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
13
16
|
// import type { Dispatch, SetStateAction } from "react";
|
|
14
17
|
|
|
15
18
|
const TableBody = ({
|
|
@@ -21,6 +24,7 @@ const TableBody = ({
|
|
|
21
24
|
fixedLeftColumns,
|
|
22
25
|
fixedRightColumns,
|
|
23
26
|
tableId,
|
|
27
|
+
showEmptyText,
|
|
24
28
|
...rest
|
|
25
29
|
}) => {
|
|
26
30
|
const {
|
|
@@ -28,7 +32,8 @@ const TableBody = ({
|
|
|
28
32
|
} = table.getRowModel();
|
|
29
33
|
const {
|
|
30
34
|
editingKey,
|
|
31
|
-
prefix
|
|
35
|
+
prefix,
|
|
36
|
+
locale
|
|
32
37
|
} = _react.default.useContext(_useContext.TableContext);
|
|
33
38
|
|
|
34
39
|
//dynamic row height virtualization - alternatively you could use a simpler fixed row height strategy without the need for `measureElement`
|
|
@@ -46,13 +51,56 @@ const TableBody = ({
|
|
|
46
51
|
className: `${prefix}-grid-tbody`,
|
|
47
52
|
style: {
|
|
48
53
|
display: 'grid',
|
|
49
|
-
height: `${rowVirtualizer.getTotalSize()}px`,
|
|
54
|
+
// height: `${rowVirtualizer.getTotalSize()}px`, //tells scrollbar how big the table is
|
|
55
|
+
height: showEmptyText && rows.length === 0 ? `140px` : `${rowVirtualizer.getTotalSize()}px`,
|
|
50
56
|
//tells scrollbar how big the table is
|
|
51
57
|
position: 'relative' //needed for absolute positioning of rows
|
|
52
58
|
}
|
|
53
|
-
},
|
|
59
|
+
}, showEmptyText && rows.length === 0 ? /*#__PURE__*/_react.default.createElement("tr", {
|
|
60
|
+
style: {
|
|
61
|
+
// transform: `translateY(${virtualRow.start}px)`, //this should always be a `style` as it changes on scroll
|
|
62
|
+
}
|
|
63
|
+
}, /*#__PURE__*/_react.default.createElement("td", {
|
|
64
|
+
// colSpan={30}
|
|
65
|
+
style: {
|
|
66
|
+
position: "sticky",
|
|
67
|
+
left: 0,
|
|
68
|
+
width: tableContainerRef.current?.clientWidth,
|
|
69
|
+
overflow: 'hidden'
|
|
70
|
+
}
|
|
71
|
+
}, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_rcMasterUi.Empty, {
|
|
72
|
+
image: _rcMasterUi.Empty.PRESENTED_IMAGE_SIMPLE,
|
|
73
|
+
description: locale?.emptyText
|
|
74
|
+
})))) : /*#__PURE__*/_react.default.createElement(_react.Fragment, null, virtualRows.map(virtualRow => {
|
|
54
75
|
const row = rows[virtualRow.index];
|
|
55
76
|
const isEditing = row.id === editingKey;
|
|
77
|
+
|
|
78
|
+
// return (
|
|
79
|
+
// <tr key={row.id}>
|
|
80
|
+
// {row.getVisibleCells().map((cell) => (
|
|
81
|
+
// <td
|
|
82
|
+
// key={cell.id}
|
|
83
|
+
// style={{
|
|
84
|
+
// padding: '12px',
|
|
85
|
+
// whiteSpace: 'nowrap',
|
|
86
|
+
// fontSize: '0.875rem',
|
|
87
|
+
// color: '#6b7280',
|
|
88
|
+
// border: '1px solid #e5e7eb',
|
|
89
|
+
// width: cell.column.getSize(),
|
|
90
|
+
// maxWidth: cell.column.getSize(),
|
|
91
|
+
// overflow: "hidden",
|
|
92
|
+
// ...getCommonPinningStyles(cell.column)
|
|
93
|
+
// }}>
|
|
94
|
+
|
|
95
|
+
// {cell.column.id}
|
|
96
|
+
|
|
97
|
+
// {/* {flexRender(cell.column.columnDef.cell, cell.getContext())} */}
|
|
98
|
+
|
|
99
|
+
// </td>
|
|
100
|
+
// ))}
|
|
101
|
+
// </tr>
|
|
102
|
+
// )
|
|
103
|
+
|
|
56
104
|
return /*#__PURE__*/_react.default.createElement(_TableBodyRow.default, (0, _extends2.default)({}, rest, {
|
|
57
105
|
table: table,
|
|
58
106
|
tableId: tableId,
|
|
@@ -67,6 +115,6 @@ const TableBody = ({
|
|
|
67
115
|
fixedRightColumns: fixedRightColumns,
|
|
68
116
|
isEditing: isEditing
|
|
69
117
|
}));
|
|
70
|
-
}));
|
|
118
|
+
})));
|
|
71
119
|
};
|
|
72
120
|
var _default = exports.default = TableBody;
|
|
@@ -107,11 +107,12 @@ const TableBodyCell = props => {
|
|
|
107
107
|
selectionSettings,
|
|
108
108
|
id
|
|
109
109
|
} = (0, _react.useContext)(_useContext.TableContext);
|
|
110
|
+
const columnMeta = cell.column.columnDef.meta ?? {};
|
|
110
111
|
const parrents = cell.row.getParentRows();
|
|
111
112
|
const isPinned = cell.column.getIsPinned();
|
|
112
113
|
const isLastLeftPinnedColumn = isPinned === "left" && cell.column.getIsLastColumn("left");
|
|
113
114
|
const isFirstRightPinnedColumn = isPinned === "right" && cell.column.getIsFirstColumn("right");
|
|
114
|
-
const cellContent = (0, _reactTable.flexRender)(cell.column.columnDef.cell, cell.getContext());
|
|
115
|
+
const cellContent = columnMeta.type === 'checkbox' ? '' : (0, _reactTable.flexRender)(cell.column.columnDef.cell, cell.getContext());
|
|
115
116
|
const html = _server.default.renderToStaticMarkup( /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, cellContent));
|
|
116
117
|
const hasValue = html.trim().length > 0;
|
|
117
118
|
return /*#__PURE__*/_react.default.createElement("td", {
|
|
@@ -124,6 +125,7 @@ const TableBodyCell = props => {
|
|
|
124
125
|
style: {
|
|
125
126
|
display: 'flex',
|
|
126
127
|
width: cell.column.getSize(),
|
|
128
|
+
// border: '1px solid #e5e7eb',
|
|
127
129
|
...(0, _utils.getCommonPinningStyles)(cell.column)
|
|
128
130
|
},
|
|
129
131
|
"data-tooltip-id": `${id}-tooltip-content`,
|
|
@@ -8,6 +8,7 @@ exports.default = void 0;
|
|
|
8
8
|
var _reactTable = require("@tanstack/react-table");
|
|
9
9
|
var _space = _interopRequireDefault(require("rc-master-ui/es/space"));
|
|
10
10
|
var _Command = _interopRequireDefault(require("../components/command/Command"));
|
|
11
|
+
var _server = _interopRequireDefault(require("react-dom/server"));
|
|
11
12
|
var _utils = require("../hook/utils");
|
|
12
13
|
var _Checkbox = _interopRequireDefault(require("rc-master-ui/lib/checkbox/Checkbox"));
|
|
13
14
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
@@ -15,8 +16,6 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
15
16
|
var _useContext = require("../useContext");
|
|
16
17
|
var _EditableCell = _interopRequireDefault(require("./EditableCell"));
|
|
17
18
|
var _constant = require("../hook/constant");
|
|
18
|
-
// import ReactDOMServer from 'react-dom/server'
|
|
19
|
-
|
|
20
19
|
// import { nonActionColumn } from "../hook/constant";
|
|
21
20
|
|
|
22
21
|
// import type { Dispatch, SetStateAction } from "react";
|
|
@@ -132,14 +131,11 @@ const TableBodyCellEdit = props => {
|
|
|
132
131
|
const expandIconColumnIndex = expandable?.expandIconColumnIndex ?? 0;
|
|
133
132
|
const record = cell.row.original;
|
|
134
133
|
const columnMeta = cell.column.columnDef.meta ?? {};
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
// const hasValue = html.trim().length > 0;
|
|
139
|
-
|
|
134
|
+
const cellContent = columnMeta.type === 'checkbox' ? '' : (0, _reactTable.flexRender)(cell.column.columnDef.cell, cell.getContext());
|
|
135
|
+
const html = _server.default.renderToStaticMarkup( /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, cellContent));
|
|
136
|
+
const hasValue = html.trim().length > 0;
|
|
140
137
|
const rowError = dataErrors ? dataErrors.find(it => it.id === cell.row.id) : undefined;
|
|
141
|
-
|
|
142
|
-
|
|
138
|
+
const message = rowError && rowError[cell.column.id]?.field === cell.column.id ? rowError[cell.column.id].message : undefined;
|
|
143
139
|
const canEdit = (0, _utils.isEditable)(cell.column.columnDef.meta, record);
|
|
144
140
|
// const allRows = table.getRowModel().rows;
|
|
145
141
|
const allRows = table.getRowModel().flatRows;
|
|
@@ -192,7 +188,9 @@ const TableBodyCellEdit = props => {
|
|
|
192
188
|
className: (0, _classnames.default)(`${prefix}-grid-cell`, {
|
|
193
189
|
[`${prefix}-grid-cell-ellipsis`]: true,
|
|
194
190
|
[`${prefix}-grid-cell-fix-left-last`]: isLastLeftPinnedColumn,
|
|
195
|
-
[`${prefix}-grid-cell-fix-right-first`]: isFirstRightPinnedColumn
|
|
191
|
+
[`${prefix}-grid-cell-fix-right-first`]: isFirstRightPinnedColumn,
|
|
192
|
+
[`${prefix}-grid-cell-text-center`]: columnMeta?.headerTextAlign === 'center',
|
|
193
|
+
[`${prefix}-grid-cell-text-right`]: columnMeta?.headerTextAlign === 'right'
|
|
196
194
|
}),
|
|
197
195
|
style: {
|
|
198
196
|
display: 'flex',
|
|
@@ -244,7 +242,9 @@ const TableBodyCellEdit = props => {
|
|
|
244
242
|
className: (0, _classnames.default)(`${prefix}-grid-cell`, {
|
|
245
243
|
[`${prefix}-grid-cell-ellipsis`]: true,
|
|
246
244
|
[`${prefix}-grid-cell-fix-left-last`]: isLastLeftPinnedColumn,
|
|
247
|
-
[`${prefix}-grid-cell-fix-right-first`]: isFirstRightPinnedColumn
|
|
245
|
+
[`${prefix}-grid-cell-fix-right-first`]: isFirstRightPinnedColumn,
|
|
246
|
+
[`${prefix}-grid-cell-text-center`]: columnMeta?.headerTextAlign === 'center',
|
|
247
|
+
[`${prefix}-grid-cell-text-right`]: columnMeta?.headerTextAlign === 'right'
|
|
248
248
|
}),
|
|
249
249
|
style: {
|
|
250
250
|
display: 'flex',
|
|
@@ -264,7 +264,9 @@ const TableBodyCellEdit = props => {
|
|
|
264
264
|
className: (0, _classnames.default)(`${prefix}-grid-cell cell-editable111 `, {
|
|
265
265
|
[`${prefix}-grid-cell-ellipsis`]: true,
|
|
266
266
|
[`${prefix}-grid-cell-fix-left-last`]: isLastLeftPinnedColumn,
|
|
267
|
-
[`${prefix}-grid-cell-fix-right-first`]: isFirstRightPinnedColumn
|
|
267
|
+
[`${prefix}-grid-cell-fix-right-first`]: isFirstRightPinnedColumn,
|
|
268
|
+
[`${prefix}-grid-cell-text-center`]: columnMeta?.headerTextAlign === 'center',
|
|
269
|
+
[`${prefix}-grid-cell-text-right`]: columnMeta?.headerTextAlign === 'right'
|
|
268
270
|
}),
|
|
269
271
|
style: {
|
|
270
272
|
display: 'flex',
|
|
@@ -746,11 +748,9 @@ const TableBodyCellEdit = props => {
|
|
|
746
748
|
"data-col-index": colIndex,
|
|
747
749
|
"data-row-index": rowNumber,
|
|
748
750
|
"data-col-key": cell.column.id,
|
|
749
|
-
"data-row-key": cell.row.id
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
,
|
|
753
|
-
|
|
751
|
+
"data-row-key": cell.row.id,
|
|
752
|
+
"data-tooltip-id": `${id}-tooltip-content`,
|
|
753
|
+
"data-tooltip-html": !isEditing && !hasValue && !message ? undefined : _server.default.renderToStaticMarkup( /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, rowError && rowError[cell.column.id]?.field === cell.column.id ? rowError[cell.column.id].message : cellContent)),
|
|
754
754
|
className: (0, _classnames.default)(`${prefix}-grid-cell cell-editable `, {
|
|
755
755
|
[`${prefix}-grid-cell-ellipsis`]: true,
|
|
756
756
|
'cell-editing': isEditing,
|
|
@@ -766,7 +766,9 @@ const TableBodyCellEdit = props => {
|
|
|
766
766
|
'cell-paste-border-top': isInRangePaste && isTopPaste && (pasteRangeState.endRowIndex ?? 0) < (endRowIndex ?? 0),
|
|
767
767
|
'cell-paste-border-left': isInRangePaste && isLeftPaste,
|
|
768
768
|
[`${prefix}-grid-cell-fix-left-last`]: isLastLeftPinnedColumn,
|
|
769
|
-
[`${prefix}-grid-cell-fix-right-first`]: isFirstRightPinnedColumn
|
|
769
|
+
[`${prefix}-grid-cell-fix-right-first`]: isFirstRightPinnedColumn,
|
|
770
|
+
[`${prefix}-grid-cell-text-center`]: columnMeta?.headerTextAlign === 'center',
|
|
771
|
+
[`${prefix}-grid-cell-text-right`]: columnMeta?.headerTextAlign === 'right' || columnMeta.type === 'number'
|
|
770
772
|
}),
|
|
771
773
|
style: {
|
|
772
774
|
display: 'flex',
|
|
@@ -887,7 +889,9 @@ const TableBodyCellEdit = props => {
|
|
|
887
889
|
record: record
|
|
888
890
|
// rowKey={rowKey}
|
|
889
891
|
}) : /*#__PURE__*/_react.default.createElement("div", {
|
|
890
|
-
className:
|
|
892
|
+
className: (0, _classnames.default)('ui-rc_cell-content', {
|
|
893
|
+
'select-cell': ['select', 'selectTable', 'asyncSelect'].includes((0, _utils.getEditType)(columnMeta, record))
|
|
894
|
+
})
|
|
891
895
|
}, cell.column.getIndex() === expandIconColumnIndex && /*#__PURE__*/_react.default.createElement("div", {
|
|
892
896
|
className: "ui-rc-table-row-expand-trigger",
|
|
893
897
|
style: {
|
|
@@ -921,7 +925,13 @@ const TableBodyCellEdit = props => {
|
|
|
921
925
|
className: "ui-rc-table-row-expand-icon ui-rc-table-row-expand-icon-collapsed"
|
|
922
926
|
})) : /*#__PURE__*/_react.default.createElement("span", {
|
|
923
927
|
className: "ui-rc-table-row-expand-icon ui-rc-table-row-expand-icon-spaced"
|
|
924
|
-
}))), (0, _reactTable.flexRender)(cell.column.columnDef.cell, cell.getContext())
|
|
928
|
+
}))), (0, _reactTable.flexRender)(cell.column.columnDef.cell, cell.getContext()), (editType === 'select' || editType === 'selectTable' || editType === 'asyncSelect' || editType === 'treeSelect') && canEdit && /*#__PURE__*/_react.default.createElement("span", {
|
|
929
|
+
className: 'caret-down',
|
|
930
|
+
onClick: e => {
|
|
931
|
+
handleEdit(e);
|
|
932
|
+
// setEditingKey?.(cell.row.id)
|
|
933
|
+
}
|
|
934
|
+
})), !isSelecting && !isEditing && cell.row.id === endCell?.rowId && cell.column.getIndex() === rangeState?.endColIndex && /*#__PURE__*/_react.default.createElement("div", {
|
|
925
935
|
className: 'dragging-point',
|
|
926
936
|
onMouseDown: e => {
|
|
927
937
|
e.preventDefault();
|
|
@@ -61,7 +61,8 @@ const TableFooterCell = ({
|
|
|
61
61
|
// [`${prefix}-grid-cell-ellipsis`]:!wrapSettings || !(wrapSettings && (wrapSettings.wrapMode === 'Both' || wrapSettings.wrapMode === 'Header')),
|
|
62
62
|
// [`${prefix}-grid-cell-wrap`]: wrapSettings && (wrapSettings.wrapMode === 'Both' || wrapSettings.wrapMode === 'Header'),
|
|
63
63
|
[`${prefix}-grid-cell-fix-left-last`]: isLastLeftPinnedColumn,
|
|
64
|
-
[`${prefix}-grid-cell-fix-right-first`]: isFirstRightPinnedColumn
|
|
64
|
+
[`${prefix}-grid-cell-fix-right-first`]: isFirstRightPinnedColumn,
|
|
65
|
+
[`${prefix}-grid-cell-text-right`]: true
|
|
65
66
|
}),
|
|
66
67
|
key: header.id,
|
|
67
68
|
colSpan: header.colSpan,
|
|
@@ -71,6 +72,6 @@ const TableFooterCell = ({
|
|
|
71
72
|
width: header?.getSize() ?? header.column.getSize(),
|
|
72
73
|
backgroundColor: "#fafafa"
|
|
73
74
|
}
|
|
74
|
-
}, header.column.id !== "id" && header.column.id !== "selection_column" ? /*#__PURE__*/_react.default.createElement(
|
|
75
|
+
}, header.column.id !== "id" && header.column.id !== "selection_column" ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, col.summaryTemplate ? col.summaryTemplate(numberValue, col.field) : (0, _reactNumericComponent.numericFormatter)(cellValue, numericFormatProps)) : '');
|
|
75
76
|
};
|
|
76
77
|
var _default = exports.default = TableFooterCell;
|
|
@@ -5,10 +5,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.default = void 0;
|
|
8
|
+
var _reactTable = require("@tanstack/react-table");
|
|
8
9
|
var _reactVirtual = require("@tanstack/react-virtual");
|
|
9
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
11
|
var _useContext = require("../useContext");
|
|
11
12
|
var _TableHeadRow = _interopRequireDefault(require("./TableHeadRow"));
|
|
13
|
+
var _utils = require("../hook/utils");
|
|
12
14
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
13
15
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
14
16
|
const TableHead = ({
|
|
@@ -32,7 +34,8 @@ const TableHead = ({
|
|
|
32
34
|
measureElement: typeof window !== 'undefined' && navigator.userAgent.indexOf('Firefox') === -1 ? element => element?.getBoundingClientRect().height : undefined,
|
|
33
35
|
overscan: 5
|
|
34
36
|
});
|
|
35
|
-
|
|
37
|
+
|
|
38
|
+
// const virtualRows = rowVirtualizer.getVirtualItems()
|
|
36
39
|
|
|
37
40
|
// const columnSizingState = table.getState().columnSizing
|
|
38
41
|
|
|
@@ -45,13 +48,12 @@ const TableHead = ({
|
|
|
45
48
|
return /*#__PURE__*/_react.default.createElement("thead", {
|
|
46
49
|
className: `${prefix}-grid-thead`,
|
|
47
50
|
style: {
|
|
48
|
-
display: 'grid',
|
|
51
|
+
// display: 'grid',
|
|
49
52
|
position: 'sticky',
|
|
50
53
|
top: 0,
|
|
51
54
|
zIndex: 1
|
|
52
55
|
}
|
|
53
|
-
},
|
|
54
|
-
const headerGroup = table.getHeaderGroups()[virtualRow.index];
|
|
56
|
+
}, table.getHeaderGroups().map(headerGroup => {
|
|
55
57
|
return /*#__PURE__*/_react.default.createElement(_TableHeadRow.default, {
|
|
56
58
|
table: table,
|
|
57
59
|
columnVirtualizer: columnVirtualizer,
|
|
@@ -61,9 +63,43 @@ const TableHead = ({
|
|
|
61
63
|
virtualPaddingLeft: virtualPaddingLeft,
|
|
62
64
|
virtualPaddingRight: virtualPaddingRight,
|
|
63
65
|
fixedLeftColumns: fixedLeftColumns,
|
|
64
|
-
fixedRightColumns: fixedRightColumns
|
|
65
|
-
rowHeaderVirtual
|
|
66
|
+
fixedRightColumns: fixedRightColumns
|
|
67
|
+
// rowHeaderVirtual={virtualRow}
|
|
66
68
|
});
|
|
69
|
+
return /*#__PURE__*/_react.default.createElement("tr", {
|
|
70
|
+
key: headerGroup.id
|
|
71
|
+
}, headerGroup.headers.map(header => {
|
|
72
|
+
const columnRelativeDepth = header.depth - header.column.depth;
|
|
73
|
+
if (columnRelativeDepth > 1) {
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
let rowSpan = 1;
|
|
77
|
+
if (header.isPlaceholder) {
|
|
78
|
+
const leafs = header.getLeafHeaders();
|
|
79
|
+
rowSpan = leafs[leafs.length - 1].depth - header.depth;
|
|
80
|
+
}
|
|
81
|
+
return /*#__PURE__*/_react.default.createElement("th", {
|
|
82
|
+
key: header.id,
|
|
83
|
+
colSpan: header.colSpan,
|
|
84
|
+
rowSpan: rowSpan,
|
|
85
|
+
style: {
|
|
86
|
+
padding: '12px',
|
|
87
|
+
textAlign: 'left',
|
|
88
|
+
fontSize: '0.75rem',
|
|
89
|
+
fontWeight: 'medium',
|
|
90
|
+
color: '#6b7280',
|
|
91
|
+
textTransform: 'uppercase',
|
|
92
|
+
letterSpacing: '0.05em',
|
|
93
|
+
// backgroundColor: '#f9fafb',
|
|
94
|
+
// border: '1px solid #e5e7eb',
|
|
95
|
+
width: header.getSize(),
|
|
96
|
+
minWidth: header.getSize(),
|
|
97
|
+
maxWidth: header.getSize(),
|
|
98
|
+
// overflow: 'hidden',
|
|
99
|
+
...(0, _utils.getCommonPinningStyles)(header.column)
|
|
100
|
+
}
|
|
101
|
+
}, (0, _reactTable.flexRender)(header.column.columnDef.header, header.getContext()));
|
|
102
|
+
}));
|
|
67
103
|
}));
|
|
68
104
|
};
|
|
69
105
|
var _default = exports.default = TableHead;
|
|
@@ -9,6 +9,8 @@ interface TableHeadCellProps<T> {
|
|
|
9
9
|
getPopupContainer?: (triggerNode: HTMLElement) => HTMLElement;
|
|
10
10
|
columnVirtualizer: Virtualizer<HTMLDivElement, HTMLTableCellElement>;
|
|
11
11
|
rowHeaderVirtualizer: Virtualizer<HTMLDivElement, HTMLTableRowElement>;
|
|
12
|
+
colSpan: any;
|
|
13
|
+
rowSpan: any;
|
|
12
14
|
}
|
|
13
15
|
declare const TableHeadCell: <RecordType extends object>(props: TableHeadCellProps<RecordType>) => React.JSX.Element;
|
|
14
16
|
export default TableHeadCell;
|