es-grid-template 1.7.47 → 1.8.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.
Files changed (61) hide show
  1. package/es/grid-component/TempTable.js +1 -3
  2. package/es/table-component/ColumnsChoose.js +9 -2
  3. package/es/table-component/InternalTable.js +1 -0
  4. package/es/table-component/TableContainer.d.ts +5 -1
  5. package/es/table-component/TableContainer.js +33 -3
  6. package/es/table-component/TableContainerEdit.js +87 -62
  7. package/es/table-component/body/EditableCell.js +34 -2
  8. package/es/table-component/body/TableBody.js +1 -1
  9. package/es/table-component/body/TableBodyCell.d.ts +7 -3
  10. package/es/table-component/body/TableBodyCell.js +268 -135
  11. package/es/table-component/body/TableBodyCellEdit.d.ts +2 -2
  12. package/es/table-component/body/TableBodyCellEdit.js +18 -13
  13. package/es/table-component/body/TableBodyRow.d.ts +2 -2
  14. package/es/table-component/body/TableBodyRow.js +45 -16
  15. package/es/table-component/components/command/Command.js +2 -0
  16. package/es/table-component/footer/TableFooter.js +1 -1
  17. package/es/table-component/footer/TableFooterCell.js +3 -2
  18. package/es/table-component/footer/TableFooterRow.js +4 -3
  19. package/es/table-component/header/TableHead.d.ts +1 -1
  20. package/es/table-component/header/TableHead.js +83 -20
  21. package/es/table-component/header/TableHeadCell.js +13 -8
  22. package/es/table-component/header/TableHeadCell2.d.ts +17 -0
  23. package/es/table-component/header/TableHeadCell2.js +331 -0
  24. package/es/table-component/header/TableHeadGroupCell.d.ts +17 -0
  25. package/es/table-component/header/TableHeadGroupCell.js +327 -0
  26. package/es/table-component/header/TableHeadRow.js +1 -1
  27. package/es/table-component/hook/utils.js +5 -2
  28. package/es/table-component/style.scss +26 -4
  29. package/es/table-component/table/Grid.js +19 -19
  30. package/es/table-component/table/TableWrapper.js +1 -1
  31. package/lib/grid-component/TempTable.js +1 -3
  32. package/lib/table-component/ColumnsChoose.js +9 -2
  33. package/lib/table-component/InternalTable.js +1 -0
  34. package/lib/table-component/TableContainer.d.ts +5 -1
  35. package/lib/table-component/TableContainer.js +32 -2
  36. package/lib/table-component/TableContainerEdit.js +87 -62
  37. package/lib/table-component/body/EditableCell.js +34 -2
  38. package/lib/table-component/body/TableBody.js +1 -1
  39. package/lib/table-component/body/TableBodyCell.d.ts +7 -3
  40. package/lib/table-component/body/TableBodyCell.js +267 -136
  41. package/lib/table-component/body/TableBodyCellEdit.d.ts +2 -2
  42. package/lib/table-component/body/TableBodyCellEdit.js +18 -13
  43. package/lib/table-component/body/TableBodyRow.d.ts +2 -2
  44. package/lib/table-component/body/TableBodyRow.js +45 -16
  45. package/lib/table-component/components/command/Command.js +2 -0
  46. package/lib/table-component/footer/TableFooter.js +1 -1
  47. package/lib/table-component/footer/TableFooterCell.js +3 -2
  48. package/lib/table-component/footer/TableFooterRow.js +4 -3
  49. package/lib/table-component/header/TableHead.d.ts +1 -1
  50. package/lib/table-component/header/TableHead.js +84 -20
  51. package/lib/table-component/header/TableHeadCell.js +13 -8
  52. package/lib/table-component/header/TableHeadCell2.d.ts +17 -0
  53. package/lib/table-component/header/TableHeadCell2.js +340 -0
  54. package/lib/table-component/header/TableHeadGroupCell.d.ts +17 -0
  55. package/lib/table-component/header/TableHeadGroupCell.js +336 -0
  56. package/lib/table-component/header/TableHeadRow.js +1 -1
  57. package/lib/table-component/hook/utils.js +5 -2
  58. package/lib/table-component/style.scss +26 -4
  59. package/lib/table-component/table/Grid.js +19 -19
  60. package/lib/table-component/table/TableWrapper.js +1 -1
  61. package/package.json +1 -1
@@ -8,60 +8,20 @@ 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
- var _constant = require("../hook/constant");
13
13
  var _Checkbox = _interopRequireDefault(require("rc-master-ui/lib/checkbox/Checkbox"));
14
- var _react = _interopRequireWildcard(require("react"));
15
- var _useContext = require("../useContext");
16
14
  var _classnames = _interopRequireDefault(require("classnames"));
17
- var _server = _interopRequireDefault(require("react-dom/server"));
18
- 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); }
19
- 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; }
15
+ var _react = _interopRequireDefault(require("react"));
16
+ var _useContext = require("../useContext");
20
17
  const renderCellIndex = props => {
21
18
  const {
22
19
  parrents,
23
- cell,
24
- expanded,
25
- isDataTree,
26
- setExpanded,
27
- expandIconColumnIndex
20
+ cell
28
21
  } = props;
29
22
  return /*#__PURE__*/_react.default.createElement("span", {
30
23
  className: "ui-rc_cell-content"
31
- }, cell.column.getIndex() === expandIconColumnIndex && isDataTree && /*#__PURE__*/_react.default.createElement("div", {
32
- className: "ui-rc-table-row-expand-trigger",
33
- style: {
34
- paddingLeft: `${cell.row.depth * 25}px`
35
- }
36
- }, /*#__PURE__*/_react.default.createElement("div", null, cell.row.getCanExpand() ? /*#__PURE__*/_react.default.createElement("button", {
37
- // onClick: row.getToggleExpandedHandler(),
38
- onClick: () => {
39
- const keys = Object.keys(expanded);
40
- // @ts-ignore
41
- const tmp = {
42
- ...expanded
43
- };
44
- if (keys.includes(cell.row.id)) {
45
- delete tmp[cell.row.id];
46
- setExpanded(tmp);
47
- } else {
48
- setExpanded(old => ({
49
- ...old,
50
- [cell.row.id]: true
51
- }));
52
- }
53
- },
54
- style: {
55
- cursor: "pointer"
56
- },
57
- className: "ui-rc-table-row-expand"
58
- }, cell.row.getIsExpanded() ? /*#__PURE__*/_react.default.createElement("span", {
59
- className: "ui-rc-table-row-expand-icon ui-rc-table-row-expand-icon-expanded"
60
- }) : /*#__PURE__*/_react.default.createElement("span", {
61
- className: "ui-rc-table-row-expand-icon ui-rc-table-row-expand-icon-collapsed"
62
- })) : /*#__PURE__*/_react.default.createElement("span", {
63
- className: "ui-rc-table-row-expand-icon ui-rc-table-row-expand-icon-spaced"
64
- }))), parrents.map(pr => {
24
+ }, parrents.map(pr => {
65
25
  return `${pr.index + 1}.`;
66
26
  }), cell.row.index + 1);
67
27
  };
@@ -83,7 +43,7 @@ const renderCommand = args => {
83
43
  visible: typeof it.visible === 'function' ? it.visible?.(record) : it.visible
84
44
  };
85
45
  }) : [];
86
- return /*#__PURE__*/_react.default.createElement("span", {
46
+ return /*#__PURE__*/_react.default.createElement("div", {
87
47
  className: "ui-rc_cell-content"
88
48
  }, /*#__PURE__*/_react.default.createElement(_space.default, null, commands.filter(it => it.visible !== false).map(item => {
89
49
  return /*#__PURE__*/_react.default.createElement(_Command.default, {
@@ -94,6 +54,7 @@ const renderCommand = args => {
94
54
  onClick: () => {
95
55
  commandClick?.({
96
56
  id: item.id,
57
+ // rowId: getRowKey(record, index) as any,
97
58
  rowId: record.rowId,
98
59
  rowData: record,
99
60
  index: cell.row.index,
@@ -119,10 +80,7 @@ const renderSelection = args => {
119
80
  setIsSelectionChange
120
81
  } = args;
121
82
  return /*#__PURE__*/_react.default.createElement("div", {
122
- style: {
123
-
124
- // paddingLeft: `${row.depth * 2}rem`,
125
- }
83
+ style: {}
126
84
  }, cell.column.getIndex() === expandIconColumnIndex && isDataTree && /*#__PURE__*/_react.default.createElement("div", {
127
85
  className: "ui-rc-table-row-expand-trigger",
128
86
  style: {
@@ -168,11 +126,6 @@ const renderSelection = args => {
168
126
  type: 'rowSelected',
169
127
  rowData: row.original
170
128
  });
171
- // row.toggleSelected()
172
-
173
- // table.setRowSelection({
174
- // [row.id]: true
175
- // })
176
129
  }
177
130
  })));
178
131
  };
@@ -180,34 +133,222 @@ const TableBodyCell = props => {
180
133
  const {
181
134
  cell,
182
135
  commandClick,
183
- table
136
+ // tableId,
137
+ table,
138
+ isEditing
184
139
  } = props;
185
140
  const {
186
- prefix,
187
- setIsSelectionChange,
188
- selectionSettings,
189
141
  id,
142
+ prefix,
143
+ focusedCell,
144
+ setFocusedCell,
145
+ // endCell,
146
+ // startCell,
190
147
  originData,
191
- wrapSettings,
192
148
  expanded,
193
149
  setExpanded,
194
150
  expandable,
195
- isDataTree
196
- } = (0, _react.useContext)(_useContext.TableContext);
197
- const columnMeta = cell.column.columnDef.meta ?? {};
198
- const parrents = cell.row.getParentRows();
151
+ isDataTree,
152
+ setIsSelectionChange,
153
+ selectionSettings,
154
+ wrapSettings
155
+ // dataSource
156
+ } = _react.default.useContext(_useContext.TableContext);
199
157
  const expandIconColumnIndex = expandable?.expandIconColumnIndex;
158
+ const [isOpenTooltip, setIsOpenTooltip] = _react.default.useState(false);
159
+ const record = cell.row.original;
160
+ const columnMeta = cell.column.columnDef.meta ?? {};
161
+ const tooltipContent = isOpenTooltip === false || columnMeta.type === 'checkbox' ? '' : (0, _reactTable.flexRender)(cell.column.columnDef.cell, cell.getContext());
162
+ const allRows = table.getRowModel().flatRows;
163
+ const rowNumber = allRows.findIndex(it => it.id === cell.row.id);
164
+ const colIndex = cell.column.getIndex();
200
165
  const isPinned = cell.column.getIsPinned();
201
166
  const isLastLeftPinnedColumn = isPinned === "left" && cell.column.getIsLastColumn("left");
202
167
  const isFirstRightPinnedColumn = isPinned === "right" && cell.column.getIsFirstColumn("right");
203
- const cellContent = columnMeta.type === 'checkbox' ? '' : (0, _reactTable.flexRender)(cell.column.columnDef.cell, cell.getContext());
204
- const html = _server.default.renderToStaticMarkup( /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, cellContent));
205
- const hasValue = html.trim().length > 0;
206
- return /*#__PURE__*/_react.default.createElement("td", {
168
+
169
+ // const selectRowIds = React.useMemo(() => {
170
+
171
+ // return startCell && endCell ? getRowIdsBetween(table, startCell.rowId, endCell.rowId) : []
172
+
173
+ // }, [endCell, startCell, table])
174
+
175
+ const parrents = cell.row.getParentRows();
176
+ if (cell.column.id === "#") {
177
+ return /*#__PURE__*/_react.default.createElement("div", {
178
+ key: cell.id,
179
+ className: (0, _classnames.default)(`${prefix}-grid-cell ${prefix}-grid-cell-index`, {
180
+ [`${prefix}-grid-cell-ellipsis`]: true,
181
+ [`${prefix}-grid-cell-fix-left-last`]: isLastLeftPinnedColumn,
182
+ [`${prefix}-grid-cell-fix-right-first`]: isFirstRightPinnedColumn,
183
+ [`${prefix}-grid-cell-text-center`]: columnMeta?.textAlign === 'center',
184
+ [`${prefix}-grid-cell-text-right`]: columnMeta?.textAlign === 'right'
185
+ // [`${prefix}-grid-cell-index-selected`]: rowRange?.includes(cell.row.id),
186
+ // [`${prefix}-grid-cell-index-selected`]: selectRowIds?.includes(cell.row.id),
187
+ }),
188
+ style: {
189
+ display: 'flex',
190
+ // height: '36px',
191
+ userSelect: 'none',
192
+ width: cell.column.getSize(),
193
+ // flexBasis: cell.column.getSize(),
194
+ minWidth: cell.column.getSize(),
195
+ // flex: 1,
196
+ // maxWidth: cell.column.getSize(),
197
+ ...(0, _utils.getCommonPinningStyles)(cell.column)
198
+ },
199
+ onMouseDown: () => {}
200
+ }, cell.column.getIndex() === expandIconColumnIndex && isDataTree && /*#__PURE__*/_react.default.createElement("div", {
201
+ className: "ui-rc-table-row-expand-trigger",
202
+ style: {
203
+ paddingLeft: `${cell.row.depth * 25}px`
204
+ }
205
+ }, /*#__PURE__*/_react.default.createElement("div", null, cell.row.getCanExpand() ? /*#__PURE__*/_react.default.createElement("button", {
206
+ // onClick: row.getToggleExpandedHandler(),
207
+ onClick: () => {
208
+ const keys = Object.keys(expanded);
209
+ // @ts-ignore
210
+ const tmp = {
211
+ ...expanded
212
+ };
213
+ if (keys.includes(cell.row.id)) {
214
+ delete tmp[cell.row.id];
215
+ setExpanded(tmp);
216
+ } else {
217
+ setExpanded(old => ({
218
+ ...old,
219
+ [cell.row.id]: true
220
+ }));
221
+ }
222
+ },
223
+ style: {
224
+ cursor: "pointer"
225
+ },
226
+ className: "ui-rc-table-row-expand"
227
+ }, cell.row.getIsExpanded() ? /*#__PURE__*/_react.default.createElement("span", {
228
+ className: "ui-rc-table-row-expand-icon ui-rc-table-row-expand-icon-expanded"
229
+ }) : /*#__PURE__*/_react.default.createElement("span", {
230
+ className: "ui-rc-table-row-expand-icon ui-rc-table-row-expand-icon-collapsed"
231
+ })) : /*#__PURE__*/_react.default.createElement("span", {
232
+ className: "ui-rc-table-row-expand-icon ui-rc-table-row-expand-icon-spaced"
233
+ }))), renderCellIndex({
234
+ parrents,
235
+ cell
236
+ }));
237
+ }
238
+ if (cell.column.id === "command") {
239
+ return /*#__PURE__*/_react.default.createElement("div", {
240
+ key: cell.id,
241
+ className: (0, _classnames.default)(`${prefix}-grid-cell ${prefix}-grid-cell-command`, {
242
+ [`${prefix}-grid-cell-ellipsis`]: true,
243
+ [`${prefix}-grid-cell-fix-left-last`]: isLastLeftPinnedColumn,
244
+ [`${prefix}-grid-cell-fix-right-first`]: isFirstRightPinnedColumn,
245
+ [`${prefix}-grid-cell-text-center`]: columnMeta?.textAlign === 'center',
246
+ [`${prefix}-grid-cell-text-right`]: columnMeta?.textAlign === 'right'
247
+ }),
248
+ style: {
249
+ display: 'flex',
250
+ // height: '36px',
251
+ width: cell.column.getSize(),
252
+ minWidth: cell.column.getSize(),
253
+ // flex: 1,
254
+ // maxWidth: cell.column.getSize(),
255
+ ...(0, _utils.getCommonPinningStyles)(cell.column)
256
+ }
257
+ }, renderCommand({
258
+ cell,
259
+ commandClick,
260
+ id,
261
+ data: originData
262
+ }));
263
+ }
264
+ if (cell.column.id === "selection_column") {
265
+ return /*#__PURE__*/_react.default.createElement("div", {
266
+ key: cell.id,
267
+ className: (0, _classnames.default)(`${prefix}-grid-cell ${prefix}-grid-cell-selection`, {
268
+ [`${prefix}-grid-cell-ellipsis`]: true,
269
+ [`${prefix}-grid-cell-fix-left-last`]: isLastLeftPinnedColumn,
270
+ [`${prefix}-grid-cell-fix-right-first`]: isFirstRightPinnedColumn,
271
+ [`${prefix}-grid-cell-text-center`]: columnMeta?.textAlign === 'center',
272
+ [`${prefix}-grid-cell-text-right`]: columnMeta?.textAlign === 'right'
273
+ }),
274
+ style: {
275
+ display: 'flex',
276
+ // height: '36px',
277
+ width: cell.column.getSize(),
278
+ minWidth: cell.column.getSize(),
279
+ // flex: 1,
280
+ // maxWidth: cell.column.getSize(),
281
+ ...(0, _utils.getCommonPinningStyles)(cell.column)
282
+ }
283
+ }, cell.column.getIndex() === expandIconColumnIndex && isDataTree && /*#__PURE__*/_react.default.createElement("div", {
284
+ className: "ui-rc-table-row-expand-trigger",
285
+ style: {
286
+ paddingLeft: `${cell.row.depth * 25}px`
287
+ }
288
+ }, /*#__PURE__*/_react.default.createElement("div", null, cell.row.getCanExpand() ? /*#__PURE__*/_react.default.createElement("button", {
289
+ // onClick: row.getToggleExpandedHandler(),
290
+ onClick: () => {
291
+ const keys = Object.keys(expanded);
292
+ // @ts-ignore
293
+ const tmp = {
294
+ ...expanded
295
+ };
296
+ if (keys.includes(cell.row.id)) {
297
+ delete tmp[cell.row.id];
298
+ setExpanded(tmp);
299
+ } else {
300
+ setExpanded(old => ({
301
+ ...old,
302
+ [cell.row.id]: true
303
+ }));
304
+ }
305
+ },
306
+ style: {
307
+ cursor: "pointer"
308
+ },
309
+ className: "ui-rc-table-row-expand"
310
+ }, cell.row.getIsExpanded() ? /*#__PURE__*/_react.default.createElement("span", {
311
+ className: "ui-rc-table-row-expand-icon ui-rc-table-row-expand-icon-expanded"
312
+ }) : /*#__PURE__*/_react.default.createElement("span", {
313
+ className: "ui-rc-table-row-expand-icon ui-rc-table-row-expand-icon-collapsed"
314
+ })) : /*#__PURE__*/_react.default.createElement("span", {
315
+ className: "ui-rc-table-row-expand-icon ui-rc-table-row-expand-icon-spaced"
316
+ }))), cell.column.id === "selection_column" && renderSelection({
317
+ cell,
318
+ table,
319
+ selectionSettings,
320
+ setIsSelectionChange,
321
+ expanded,
322
+ isDataTree,
323
+ setExpanded,
324
+ expandIconColumnIndex
325
+ }));
326
+ }
327
+ return /*#__PURE__*/_react.default.createElement("div", {
207
328
  key: cell.id,
329
+ ref: el => {
330
+ if (focusedCell?.rowId === cell.row.id && focusedCell?.colId === cell.column.id && !isEditing) {
331
+ el?.focus();
332
+ }
333
+ },
334
+ tabIndex: focusedCell?.rowId === cell.row.id && focusedCell?.colId === cell.column.id ? 0 : -1,
335
+ "data-col-index": colIndex,
336
+ "data-row-index": rowNumber,
337
+ "data-col-key": cell.column.id
338
+ // data-row-key={cell.row.id}
339
+ ,
340
+ "data-tooltip-id": `${id}-tooltip-content`,
341
+ "data-tooltip-html": _server.default.renderToStaticMarkup( /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, tooltipContent))
342
+ // data-tooltip-delay-show={500}
343
+ ,
344
+
208
345
  className: (0, _classnames.default)(`${prefix}-grid-cell`, {
346
+ // [`${prefix}-grid-cell-ellipsis`]: true,
347
+
209
348
  [`${prefix}-grid-cell-ellipsis`]: !wrapSettings || !(wrapSettings && (wrapSettings.wrapMode === 'Both' || wrapSettings.wrapMode === 'Content')),
210
- [`${prefix}-grid-cell-wrap`]: wrapSettings && (wrapSettings.wrapMode === 'Both' || wrapSettings.wrapMode === 'Content'),
349
+ [`${prefix}-grid-cell-text-wrap`]: wrapSettings && (wrapSettings.wrapMode === 'Both' || wrapSettings.wrapMode === 'Content'),
350
+ // [`${prefix}-grid-cell-selected`]: isCellSelected,
351
+
211
352
  [`${prefix}-grid-cell-fix-left-last`]: isLastLeftPinnedColumn,
212
353
  [`${prefix}-grid-cell-fix-right-first`]: isFirstRightPinnedColumn,
213
354
  [`${prefix}-grid-cell-text-center`]: columnMeta?.textAlign === 'center',
@@ -215,19 +356,63 @@ const TableBodyCell = props => {
215
356
  }),
216
357
  style: {
217
358
  display: 'flex',
218
- // flex: 1,
219
359
  width: cell.column.getSize(),
220
- // border: '1px solid #e5e7eb',
360
+ minWidth: cell.column.getSize(),
361
+ // flex: 1,
362
+ // maxWidth: cell.column.getSize(),
363
+ // height: '36px',
221
364
  ...(0, _utils.getCommonPinningStyles)(cell.column)
222
365
  },
223
- "data-tooltip-id": `${id}-tooltip-content`,
224
- "data-tooltip-html": !hasValue ? '' : _server.default.renderToStaticMarkup( /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, cellContent)),
225
- onClick: event => {
226
- const element = event.target;
227
- const container = document.querySelector(".ui-rc-table-row-expand");
228
- const isInsideContainer = element.closest(".ui-rc-table-row-expand") && container;
229
- if (!isInsideContainer && selectionSettings?.checkboxOnly !== true || (0, _utils.isNullOrUndefined)(selectionSettings?.mode)) {
230
- cell.row.getToggleSelectedHandler()(event);
366
+ onMouseDown: () => {},
367
+ onMouseEnter: e => {
368
+ if (e.target.firstChild?.clientWidth < e.target.firstChild?.scrollWidth) {
369
+ setIsOpenTooltip(true);
370
+ }
371
+ },
372
+ onMouseUp: () => {},
373
+ onKeyDown: e => {
374
+ const flatRows = table.getRowModel().flatRows;
375
+ if (e.key === 'ArrowDown' && rowNumber < flatRows.length - 1) {
376
+ const nextIndex = cell.row.index + 1;
377
+ // const nextIndex = rowNumber + 1
378
+
379
+ const nextId = flatRows[nextIndex].id;
380
+ setFocusedCell?.({
381
+ colId: cell.column.id,
382
+ rowId: nextId
383
+ });
384
+ const row = document.querySelector(`.ui-rc-grid-row[data-row-key="${nextId}"]`);
385
+ const cellFocus = row?.querySelector('.ui-rc-grid-cell:not(.ui-rc-grid-cell-selection)');
386
+ if (cellFocus) {
387
+ cellFocus.focus();
388
+ }
389
+ }
390
+ if (e.key === 'ArrowUp' && rowNumber > 0) {
391
+ const prevIndex = cell.row.index - 1;
392
+ const nextId = flatRows[prevIndex].id;
393
+ setFocusedCell?.({
394
+ colId: cell.column.id,
395
+ rowId: nextId
396
+ });
397
+ const row = document.querySelector(`.ui-rc-grid-row[data-row-key="${nextId}"]`);
398
+ const cellFocus = row?.querySelector('.ui-rc-grid-cell:not(.ui-rc-grid-cell-selection)');
399
+ if (cellFocus) {
400
+ cellFocus.focus();
401
+ }
402
+ }
403
+ if (e.ctrlKey && e.code === 'Space') {
404
+ cell.row.getToggleSelectedHandler()(e);
405
+ setIsSelectionChange({
406
+ isChange: true,
407
+ type: 'rowSelected',
408
+ rowData: record
409
+ });
410
+ }
411
+ },
412
+ onDoubleClick: () => {},
413
+ onClick: e => {
414
+ if (selectionSettings?.checkboxOnly !== true) {
415
+ cell.row.getToggleSelectedHandler()(e);
231
416
  setIsSelectionChange({
232
417
  isChange: true,
233
418
  type: 'rowSelected',
@@ -235,29 +420,8 @@ const TableBodyCell = props => {
235
420
  });
236
421
  }
237
422
  }
238
- }, cell.column.id === "#" && renderCellIndex({
239
- parrents,
240
- cell,
241
- expanded,
242
- isDataTree,
243
- setExpanded,
244
- expandIconColumnIndex
245
- }), cell.column.id === "command" && renderCommand({
246
- cell,
247
- commandClick,
248
- id,
249
- data: originData
250
- }), cell.column.id === "selection_column" && renderSelection({
251
- cell,
252
- table,
253
- selectionSettings,
254
- setIsSelectionChange,
255
- expanded,
256
- isDataTree,
257
- setExpanded,
258
- expandIconColumnIndex
259
- }), !_constant.nonActionColumn.includes(cell.column.id) && (isFirstRightPinnedColumn ? /*#__PURE__*/_react.default.createElement("span", {
260
- className: "ui-rc_cell-content"
423
+ }, /*#__PURE__*/_react.default.createElement("div", {
424
+ className: (0, _classnames.default)('ui-rc_cell-content', {})
261
425
  }, cell.column.getIndex() === expandIconColumnIndex && isDataTree && /*#__PURE__*/_react.default.createElement("div", {
262
426
  className: "ui-rc-table-row-expand-trigger",
263
427
  style: {
@@ -291,39 +455,6 @@ const TableBodyCell = props => {
291
455
  className: "ui-rc-table-row-expand-icon ui-rc-table-row-expand-icon-collapsed"
292
456
  })) : /*#__PURE__*/_react.default.createElement("span", {
293
457
  className: "ui-rc-table-row-expand-icon ui-rc-table-row-expand-icon-spaced"
294
- }))), (0, _reactTable.flexRender)(cell.column.columnDef.cell, cell.getContext())) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, cell.column.getIndex() === expandIconColumnIndex && isDataTree && /*#__PURE__*/_react.default.createElement("div", {
295
- className: "ui-rc-table-row-expand-trigger",
296
- style: {
297
- paddingLeft: `${cell.row.depth * 25}px`
298
- }
299
- }, /*#__PURE__*/_react.default.createElement("div", null, cell.row.getCanExpand() ? /*#__PURE__*/_react.default.createElement("button", {
300
- // onClick: row.getToggleExpandedHandler(),
301
- onClick: () => {
302
- const keys = Object.keys(expanded);
303
- // @ts-ignore
304
- const tmp = {
305
- ...expanded
306
- };
307
- if (keys.includes(cell.row.id)) {
308
- delete tmp[cell.row.id];
309
- setExpanded(tmp);
310
- } else {
311
- setExpanded(old => ({
312
- ...old,
313
- [cell.row.id]: true
314
- }));
315
- }
316
- },
317
- style: {
318
- cursor: "pointer"
319
- },
320
- className: "ui-rc-table-row-expand"
321
- }, cell.row.getIsExpanded() ? /*#__PURE__*/_react.default.createElement("span", {
322
- className: "ui-rc-table-row-expand-icon ui-rc-table-row-expand-icon-expanded"
323
- }) : /*#__PURE__*/_react.default.createElement("span", {
324
- className: "ui-rc-table-row-expand-icon ui-rc-table-row-expand-icon-collapsed"
325
- })) : /*#__PURE__*/_react.default.createElement("span", {
326
- className: "ui-rc-table-row-expand-icon ui-rc-table-row-expand-icon-spaced"
327
- }))), (0, _reactTable.flexRender)(cell.column.columnDef.cell, cell.getContext()))));
458
+ }))), (0, _reactTable.flexRender)(cell.column.columnDef.cell, cell.getContext())));
328
459
  };
329
460
  var _default = exports.default = TableBodyCell;
@@ -4,8 +4,8 @@ import React from "react";
4
4
  import type { VirtualItem, Virtualizer } from "@tanstack/react-virtual";
5
5
  interface TableBodyCellProps<T> {
6
6
  table: Table<T>;
7
- rowVirtualizer: Virtualizer<HTMLDivElement, HTMLTableRowElement>;
8
- columnVirtualizer: Virtualizer<HTMLDivElement, HTMLTableCellElement>;
7
+ rowVirtualizer: Virtualizer<HTMLDivElement, HTMLDivElement>;
8
+ columnVirtualizer: Virtualizer<HTMLDivElement, HTMLDivElement>;
9
9
  tableId: string;
10
10
  cell: Cell<T, unknown>;
11
11
  commandClick?: (args: CommandClick<T>) => void;
@@ -750,9 +750,9 @@ const TableBodyCellEdit = props => {
750
750
  }
751
751
  };
752
752
  if (cell.column.id === "#") {
753
- return /*#__PURE__*/_react.default.createElement("td", {
753
+ return /*#__PURE__*/_react.default.createElement("div", {
754
754
  key: cell.id,
755
- className: (0, _classnames.default)(`${prefix}-grid-cell ${prefix}-grid-cell-index`, {
755
+ className: (0, _classnames.default)(`${prefix}-grid-cell ${prefix}-grid-cell-index editable`, {
756
756
  [`${prefix}-grid-cell-ellipsis`]: true,
757
757
  [`${prefix}-grid-cell-fix-left-last`]: isLastLeftPinnedColumn,
758
758
  [`${prefix}-grid-cell-fix-right-first`]: isFirstRightPinnedColumn,
@@ -768,7 +768,8 @@ const TableBodyCellEdit = props => {
768
768
  width: cell.column.getSize(),
769
769
  // flexBasis: cell.column.getSize(),
770
770
  minWidth: cell.column.getSize(),
771
- maxWidth: cell.column.getSize(),
771
+ // flex: 1,
772
+ // maxWidth: cell.column.getSize(),
772
773
  ...(0, _utils.getCommonPinningStyles)(cell.column)
773
774
  },
774
775
  onMouseDown: () => {
@@ -837,9 +838,9 @@ const TableBodyCellEdit = props => {
837
838
  }));
838
839
  }
839
840
  if (cell.column.id === "command") {
840
- return /*#__PURE__*/_react.default.createElement("td", {
841
+ return /*#__PURE__*/_react.default.createElement("div", {
841
842
  key: cell.id,
842
- className: (0, _classnames.default)(`${prefix}-grid-cell ${prefix}-grid-cell-command`, {
843
+ className: (0, _classnames.default)(`${prefix}-grid-cell ${prefix}-grid-cell-command editable`, {
843
844
  [`${prefix}-grid-cell-ellipsis`]: true,
844
845
  [`${prefix}-grid-cell-fix-left-last`]: isLastLeftPinnedColumn,
845
846
  [`${prefix}-grid-cell-fix-right-first`]: isFirstRightPinnedColumn,
@@ -851,7 +852,8 @@ const TableBodyCellEdit = props => {
851
852
  height: '36px',
852
853
  width: cell.column.getSize(),
853
854
  minWidth: cell.column.getSize(),
854
- maxWidth: cell.column.getSize(),
855
+ // flex: 1,
856
+ // maxWidth: cell.column.getSize(),
855
857
  ...(0, _utils.getCommonPinningStyles)(cell.column)
856
858
  }
857
859
  }, renderCommand({
@@ -862,9 +864,9 @@ const TableBodyCellEdit = props => {
862
864
  }));
863
865
  }
864
866
  if (cell.column.id === "selection_column") {
865
- return /*#__PURE__*/_react.default.createElement("td", {
867
+ return /*#__PURE__*/_react.default.createElement("div", {
866
868
  key: cell.id,
867
- className: (0, _classnames.default)(`${prefix}-grid-cell cell-editable111 `, {
869
+ className: (0, _classnames.default)(`${prefix}-grid-cell ${prefix}-grid-cell-selection editable`, {
868
870
  [`${prefix}-grid-cell-ellipsis`]: true,
869
871
  [`${prefix}-grid-cell-fix-left-last`]: isLastLeftPinnedColumn,
870
872
  [`${prefix}-grid-cell-fix-right-first`]: isFirstRightPinnedColumn,
@@ -876,7 +878,8 @@ const TableBodyCellEdit = props => {
876
878
  height: '36px',
877
879
  width: cell.column.getSize(),
878
880
  minWidth: cell.column.getSize(),
879
- maxWidth: cell.column.getSize(),
881
+ // flex: 1,
882
+ // maxWidth: cell.column.getSize(),
880
883
  ...(0, _utils.getCommonPinningStyles)(cell.column)
881
884
  }
882
885
  }, cell.column.getIndex() === expandIconColumnIndex && isDataTree && /*#__PURE__*/_react.default.createElement("div", {
@@ -943,7 +946,7 @@ const TableBodyCellEdit = props => {
943
946
  });
944
947
  }
945
948
  };
946
- return /*#__PURE__*/_react.default.createElement("td", {
949
+ return /*#__PURE__*/_react.default.createElement("div", {
947
950
  key: cell.id,
948
951
  ref: el => {
949
952
  if (focusedCell?.rowId === cell.row.id && focusedCell?.colId === cell.column.id && !isEditing) {
@@ -955,13 +958,14 @@ const TableBodyCellEdit = props => {
955
958
  "data-row-index": rowNumber,
956
959
  "data-col-key": cell.column.id,
957
960
  "data-row-key": cell.row.id,
958
- "data-tooltip-id": `${id}-tooltip-content`
961
+ "data-tooltip-id": `${id}-tooltip-content`,
962
+ "data-tooltip-delay-show": 500
959
963
  // data-tooltip-html={!isEditing && !hasValue && !message ? undefined : ReactDOMServer.renderToStaticMarkup(<>{rowError && rowError[cell.column.id]?.field === cell.column.id ? rowError[cell.column.id].message : cellContent}</>)}
960
964
  // data-tooltip-content={!isEditing && !message ? undefined : rowError && rowError[cell.column.id]?.field === cell.column.id ? rowError[cell.column.id].message : record[columnMeta.field ?? '']}
961
965
  // data-tooltip-content={isEditing && message ? message : rowError && rowError[cell.column.id]?.field === cell.column.id ? rowError[cell.column.id].message : record[columnMeta.field ?? '']}
962
966
  ,
963
967
  "data-tooltip-html": isEditing && message ? message : rowError && rowError[cell.column.id]?.field === cell.column.id ? rowError[cell.column.id].message : _server.default.renderToStaticMarkup( /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, cellContent)),
964
- className: (0, _classnames.default)(`${prefix}-grid-cell cell-editable `, {
968
+ className: (0, _classnames.default)(`${prefix}-grid-cell cell-editable editable `, {
965
969
  [`${prefix}-grid-cell-ellipsis`]: true,
966
970
  'cell-editing': isEditing,
967
971
  disable: !(0, _utils.isEditable)(cell.column.columnDef.meta, record),
@@ -984,7 +988,8 @@ const TableBodyCellEdit = props => {
984
988
  display: 'flex',
985
989
  width: cell.column.getSize(),
986
990
  minWidth: cell.column.getSize(),
987
- maxWidth: cell.column.getSize(),
991
+ // flex: 1,
992
+ // maxWidth: cell.column.getSize(),
988
993
  height: '36px',
989
994
  ...(0, _utils.getCommonPinningStyles)(cell.column),
990
995
  cursor: isPasting ? 'crosshair' : undefined
@@ -5,9 +5,9 @@ import React from "react";
5
5
  interface TableBodyRowProps<T> {
6
6
  tableId: string;
7
7
  table: Table<T>;
8
- columnVirtualizer: Virtualizer<HTMLDivElement, HTMLTableCellElement>;
8
+ columnVirtualizer: Virtualizer<HTMLDivElement, HTMLDivElement>;
9
9
  row: Row<T>;
10
- rowVirtualizer: Virtualizer<HTMLDivElement, HTMLTableRowElement>;
10
+ rowVirtualizer: Virtualizer<HTMLDivElement, HTMLDivElement>;
11
11
  virtualPaddingLeft: number | undefined;
12
12
  virtualPaddingRight: number | undefined;
13
13
  virtualRow: VirtualItem;