es-grid-template 1.9.92 → 1.9.94

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/ali-table/pipeline/features/columnCustom.js +6 -0
  2. package/es/grid-component/GridRefreshButton.css +9 -9
  3. package/es/grid-component/hooks/rowFocus.d.ts +11 -0
  4. package/es/grid-component/hooks/rowFocus.js +25 -0
  5. package/es/grid-component/index.d.ts +2 -2
  6. package/es/grid-component/type.d.ts +8 -0
  7. package/es/group-component/TableContainer.js +2 -0
  8. package/es/group-component/TableContainerEdit.js +2 -0
  9. package/es/group-component/body/TableBodyCell.js +4 -0
  10. package/es/group-component/body/TableBodyCellEdit.js +4 -0
  11. package/es/group-component/body/TableBodyCellEmpty.js +4 -0
  12. package/es/group-component/body/TableBodyRow.js +6 -3
  13. package/es/group-component/body/TableBodyRowGroupCell.js +4 -0
  14. package/es/group-component/hook/utils.d.ts +9 -9
  15. package/es/group-component/useContext.d.ts +2 -0
  16. package/es/index.d.ts +1 -1
  17. package/es/table-component/TableContainer.js +2 -0
  18. package/es/table-component/TableContainerEdit.js +2 -0
  19. package/es/table-component/body/TableBody.js +4 -0
  20. package/es/table-component/body/TableBodyCell.js +4 -0
  21. package/es/table-component/body/TableBodyCellEdit.js +9 -4
  22. package/es/table-component/body/TableBodyRow.js +12 -4
  23. package/es/table-component/style.js +1 -1
  24. package/es/table-component/style.scss +6 -2
  25. package/es/table-component/useContext.d.ts +2 -0
  26. package/es/table-virtuoso/body/TableBodyCell.js +4 -0
  27. package/es/table-virtuoso/body/TableBodyCellRowGroup.js +4 -0
  28. package/es/table-virtuoso/body/TableBodyRow.js +4 -1
  29. package/es/table-virtuoso/table/TableContainer.js +2 -0
  30. package/es/table-virtuoso/useContext.d.ts +2 -0
  31. package/lib/ali-table/pipeline/features/columnCustom.js +6 -0
  32. package/lib/grid-component/GridRefreshButton.css +9 -9
  33. package/lib/grid-component/hooks/rowFocus.d.ts +11 -0
  34. package/lib/grid-component/hooks/rowFocus.js +32 -0
  35. package/lib/grid-component/index.d.ts +2 -2
  36. package/lib/grid-component/type.d.ts +8 -0
  37. package/lib/group-component/TableContainer.js +2 -0
  38. package/lib/group-component/TableContainerEdit.js +2 -0
  39. package/lib/group-component/body/TableBodyCell.js +4 -0
  40. package/lib/group-component/body/TableBodyCellEdit.js +4 -0
  41. package/lib/group-component/body/TableBodyCellEmpty.js +4 -0
  42. package/lib/group-component/body/TableBodyRow.js +6 -3
  43. package/lib/group-component/body/TableBodyRowGroupCell.js +4 -0
  44. package/lib/group-component/useContext.d.ts +2 -0
  45. package/lib/index.d.ts +1 -1
  46. package/lib/table-component/TableContainer.js +2 -0
  47. package/lib/table-component/TableContainerEdit.js +2 -0
  48. package/lib/table-component/body/TableBody.js +4 -0
  49. package/lib/table-component/body/TableBodyCell.js +4 -0
  50. package/lib/table-component/body/TableBodyCellEdit.js +9 -4
  51. package/lib/table-component/body/TableBodyRow.js +12 -4
  52. package/lib/table-component/style.js +1 -1
  53. package/lib/table-component/style.scss +6 -2
  54. package/lib/table-component/useContext.d.ts +2 -0
  55. package/lib/table-virtuoso/body/TableBodyCell.js +4 -0
  56. package/lib/table-virtuoso/body/TableBodyCellRowGroup.js +4 -0
  57. package/lib/table-virtuoso/body/TableBodyRow.js +4 -1
  58. package/lib/table-virtuoso/table/TableContainer.js +2 -0
  59. package/lib/table-virtuoso/useContext.d.ts +2 -0
  60. package/package.json +1 -1
  61. package/CHANGELOG.md +0 -6
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.default = void 0;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _rowFocus = require("../../grid-component/hooks/rowFocus");
9
10
  var _TableBodyCell = _interopRequireDefault(require("./TableBodyCell"));
10
11
  var _TableBodyCellEdit = _interopRequireDefault(require("./TableBodyCellEdit"));
11
12
  var _react = _interopRequireDefault(require("react"));
@@ -32,6 +33,7 @@ const TableBodyRow = ({
32
33
  const {
33
34
  prefix,
34
35
  recordDoubleClick,
36
+ rowFocus,
35
37
  focusedCell,
36
38
  rowClassName,
37
39
  rowEditable,
@@ -61,10 +63,15 @@ const TableBodyRow = ({
61
63
  isSelected: row.getIsSelected()
62
64
  }) : onRowStyles;
63
65
  const isRowEditable = rowEditable ? rowEditable(row.original) : true;
64
- return /*#__PURE__*/_react.default.createElement("div", {
66
+
67
+ // A reused DOM row needs measuring again when its virtual index changes.
68
+ const measureRow = _react.default.useCallback(element => {
69
+ rowVirtualizer.measureElement(element);
70
+ }, [rowVirtualizer, virtualRow.index]);
71
+ return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
65
72
  "data-index": virtualRow.index //needed for dynamic row height measurement
66
73
  ,
67
- ref: rowVirtualizer.measureElement //measure dynamic row height
74
+ ref: measureRow //measure dynamic row height
68
75
  ,
69
76
  key: row.id,
70
77
  "data-row-key": row.id,
@@ -87,7 +94,8 @@ const TableBodyRow = ({
87
94
  height: isEditing ? virtualRow.size : undefined,
88
95
  minHeight: isEditing ? undefined : virtualRow.size,
89
96
  ...rowStyles
90
- },
97
+ }
98
+ }, (0, _rowFocus.getRowFocusHandlers)(row.original, rowFocus), {
91
99
  onDoubleClick: e => {
92
100
  recordDoubleClick?.({
93
101
  e,
@@ -106,7 +114,7 @@ const TableBodyRow = ({
106
114
  })(e);
107
115
  // }
108
116
  }
109
- }, fixedLeftColumns.length > 0 ? fixedLeftColumns.map(column => {
117
+ }), fixedLeftColumns.length > 0 ? fixedLeftColumns.map(column => {
110
118
  const cell = row.getVisibleCells().find(c => c.column.id === column.id);
111
119
  if (editAble) {
112
120
  return /*#__PURE__*/_react.default.createElement(_TableBodyCellEdit.default, (0, _extends2.default)({}, rest, {
@@ -55,4 +55,4 @@ const colorDark = '#e6e4f3e6 ';
55
55
  const GridStyle = exports.GridStyle = _styledComponents.default.div.withConfig({
56
56
  displayName: "GridStyle",
57
57
  componentId: "es-grid-template__sc-hdqm5k-0"
58
- })(["--row-height:34px;--color:#333;--bgcolor:white;--body-hover-bgcolor:#f5f5f5;--body-hover-color:#333;--hover-bgcolor:var(--body-hover-bgcolor);--hover-color:var(--body-hover-color);--highlight-bgcolor:#eee;--header-row-height:34px;--header-color:#000000de;--header-bgcolor:#ffffff;--header-hover-bgcolor:#ddd;--header-highlight-bgcolor:#e4e8ed;--cell-padding:7px 8px;--font-size:13px;--line-height:1.28571;--lock-shadow:rgba(152,152,152,0.5) 0 0 6px 2px;--border-color:#dfe3e8;--border-color-select:#eb4619;--cell-border:1px solid var(--border-color);--cell-border-select:1px solid var(--border-color-select);--cell-border-horizontal:var(--cell-border);--cell-border-vertical:var(--cell-border);--header-cell-border:1px solid var(--border-color);--header-cell-border-horizontal:var(--header-cell-border);--header-cell-border-vertical:var(--header-cell-border);--footer-bgcolor:#fafafa;&.", "-grid{color:", ";font-size:", ";background-color:var(--bgcolor);font-family:", ";&.", "-grid-editable{.", "-grid-container{.", "-grid-tbody{.", "-grid-row{background-color:", ";color:", ";&.", "-grid-row-parent{background-color:#ffffff;font-weight:500;}}}}}table{table-layout:fixed;border-collapse:separate;border-spacing:0;}.", "-grid-container{border:1px solid ", ";border-right:0;&::after{position:absolute;top:0px;right:0;z-index:1;height:100%;border-right:1px solid ", ";content:'';pointer-events:none;}.", "-grid-cell{padding:5px 8px;&.", "-grid-cell-text-center{text-align:center;justify-content:center;}&.", "-grid-cell-text-right{justify-content:flex-end;text-align:right;}&.", "-grid-cell-link{text-decoration:underline;color:#336cc9;&:has(textarea){text-decoration:none;}}&.editable{.ui-rc_cell-content{height:100%}}&.", "-grid-cell-ellipsis{.ui-rc_cell-content{width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;word-break:keep-all;&.select-cell{padding-right:18px;position:relative;}.caret-down{float:right;position:absolute;right:0;&::before{content:'';display:inline-block;margin-left:4px;vertical-align:middle;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #6f7777;}}}}&.", "-grid-cell-wrap{white-space:normal;text-overflow:ellipsis;word-break:break-word;}.", "-grid-header-text-wrap{white-space:normal;overflow:hidden;text-overflow:ellipsis;word-break:break-word;}}.", "-grid-thead{background-color:var(--header-bgcolor);font-weight:", ";.", "-grid-cell{font-weight:inherit;color:", ";background-color:inherit;border-inline-end:1px solid ", ";border-bottom:1px solid ", ";&.ui-rc-grid-cell-ellipsis{.ui-rc-table-column-title,.", "-grid-cell-ellipsis{width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;word-break:keep-all;}}&.ui-rc-grid-cell-wrap{.ui-rc-table-column-title,.", "-grid-cell-text-wrap{white-space:normal;word-break:break-word;overflow:hidden;}}&:hover{.ui-rc-header-trigger{.ui-rc-table-column-sorter-cancel{opacity:1;}}}.", "-grid-filter-column{display:flex;justify-content:space-between;width:100%;align-items:center;position:relative;z-index:3;}.ui-rc-header-trigger{padding-left:6px;display:flex;align-items:center;.ui-rc-table-column-sorter-cancel{opacity:0;}}.resizer{cursor:col-resize;height:100%;position:absolute;right:0;top:0;z-index:3;touch-action:none;user-select:none;width:5px;}.resizer.isResizing{opacity:1;}}}.", "-grid-tbody{.", "-grid-row{font-weight:", ";background-color:var(--bgcolor);color:", ";&.", "-grid-row-odd{background-color:#f9f8fd;}&.", "-grid-row-even{}&.", "-grid-row-parent{background-color:#f5f5f5;font-weight:500;}}}.", "-grid-tfoot{.", "-grid-footer-row{border-bottom-width:1px;border-bottom-color:", ";border-bottom-style:solid;border-top-width:1px;border-top-color:", ";border-top-style:solid;background-color:var(--footer-bgcolor);font-weight:600;}.", "-grid-cell{background-color:inherit;border-inline-end:1px solid ", ";}}}&.", "-grid-dark{background-color:", ";color:", ";.", "-grid-container{border-color:", ";&::after{border-right-color:", ";}}}.ui-rc-toolbar-bottom{border-right:1px solid #e0e0e0;border-left:1px solid #e0e0e0;.be-toolbar-item{.ui-rc-btn{font-size:12px;line-height:1.5}.toolbar-dropdown-button{font-size:12px;.ui-rc-btn.ui-rc-btn-default.ui-rc-btn-variant-outlined.ui-rc-btn-compact-item.ui-rc-btn-compact-first-item{border-color:#28c76f;}.ui-rc-btn.ui-rc-btn-default.ui-rc-btn-variant-outlined.ui-rc-btn-compact-item.ui-rc-btn-compact-last-item{border-color:#28c76f;.ui-rc-btn-icon{color:#28c76f;}}}}}.ui-rc-toolbar-bottom_border-bottom{border-bottom:1px solid #e0e0e0;}.ui-rc-toolbar-bottom{position:relative;padding:.15rem 0.5rem;background-color:#ffffff;.toolbar-button{border-radius:3px;}.ui-rc-btn{border-radius:3px;height:28px;&.ui-rc-btn-compact-item.ui-rc-btn-compact-last-item{border-start-start-radius:0;border-end-start-radius:0;}&.ui-rc-btn-compact-item.ui-rc-btn-compact-first-item{border-start-end-radius:0;border-end-end-radius:0;}}}}"], props => props.$prefix, color, fontSize, fontFamily, props => props.$prefix, props => props.$prefix, props => props.$prefix, props => props.$prefix, props => `${props.$theme.backgroundColor ? props.$theme.backgroundColor : 'var(--bgcolor)'}`, props => `${props.$theme.color ? props.$theme.color : color}`, props => props.$prefix, props => props.$prefix, tableBorderColor, tableBorderColor, props => props.$prefix, props => props.$prefix, props => props.$prefix, props => props.$prefix, props => props.$prefix, props => props.$prefix, props => props.$prefix, props => props.$prefix, fwHeader, props => props.$prefix, props => `${props.$theme.color ? props.$theme.color : color}`, tableBorderColor, tableBorderColor, props => props.$prefix, props => props.$prefix, props => props.$prefix, props => props.$prefix, props => props.$prefix, fwBody, props => `${props.$theme.color ? props.$theme.color : color}`, props => props.$prefix, props => props.$prefix, props => props.$prefix, props => props.$prefix, props => props.$prefix, tableBorderColor, tableBorderColor, props => props.$prefix, tableBorderColor, props => props.$prefix, BgColorDark, colorDark, props => props.$prefix, tableBorderColorDark, tableBorderColorDark);
58
+ })(["--row-height:34px;--color:#333;--bgcolor:white;--body-hover-bgcolor:#f5f5f5;--body-hover-color:#333;--hover-bgcolor:var(--body-hover-bgcolor);--hover-color:var(--body-hover-color);--highlight-bgcolor:#eee;--header-row-height:34px;--header-color:#000000de;--header-bgcolor:#ffffff;--header-hover-bgcolor:#ddd;--header-highlight-bgcolor:#e4e8ed;--cell-padding:7px 8px;--font-size:13px;--line-height:1.28571;--lock-shadow:rgba(152,152,152,0.5) 0 0 6px 2px;--border-color:#dfe3e8;--border-color-select:#eb4619;--cell-border:1px solid var(--border-color);--cell-border-select:1px solid var(--border-color-select);--cell-border-horizontal:var(--cell-border);--cell-border-vertical:var(--cell-border);--header-cell-border:1px solid var(--border-color);--header-cell-border-horizontal:var(--header-cell-border);--header-cell-border-vertical:var(--header-cell-border);--footer-bgcolor:#fafafa;&.", "-grid{color:", ";font-size:", ";background-color:var(--bgcolor);font-family:", ";&.", "-grid-editable{.", "-grid-container{.", "-grid-tbody{.", "-grid-row{background-color:", ";color:", ";&.", "-grid-row-parent{background-color:#ffffff;font-weight:500;}}}}}table{table-layout:fixed;border-collapse:separate;border-spacing:0;}.", "-grid-container{border:1px solid ", ";border-right:0;&::after{position:absolute;top:0px;right:0;z-index:1;height:100%;border-right:1px solid ", ";content:'';pointer-events:none;}.", "-grid-cell{padding:5px 8px;&.", "-grid-cell-text-center{text-align:center;justify-content:center;}&.", "-grid-cell-text-right{justify-content:flex-end;text-align:right;}&.", "-grid-cell-link{text-decoration:underline;color:#336cc9;&:has(textarea){text-decoration:none;}}&.editable{.ui-rc_cell-content{height:100%;}.ui-rc_cell-content.select-cell{--cell-dropdown-width:18px;box-sizing:border-box;width:100%;padding-inline-end:calc(var(--cell-dropdown-width) + 4px);position:relative;.caret-down{position:absolute;inset-inline-end:0;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:var(--cell-dropdown-width);height:16px;cursor:pointer;&::before{content:'';width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #6f7777;}}}}&.", "-grid-cell-ellipsis{.ui-rc_cell-content{width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;word-break:keep-all;}}&.", "-grid-cell-wrap{white-space:normal;text-overflow:ellipsis;word-break:break-word;}.", "-grid-header-text-wrap{white-space:normal;overflow:hidden;text-overflow:ellipsis;word-break:break-word;}}.", "-grid-thead{background-color:var(--header-bgcolor);font-weight:", ";.", "-grid-cell{font-weight:inherit;color:", ";background-color:inherit;border-inline-end:1px solid ", ";border-bottom:1px solid ", ";&.ui-rc-grid-cell-ellipsis{.ui-rc-table-column-title,.", "-grid-cell-ellipsis{width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;word-break:keep-all;}}&.ui-rc-grid-cell-wrap{.ui-rc-table-column-title,.", "-grid-cell-text-wrap{white-space:normal;word-break:break-word;overflow:hidden;}}&:hover{.ui-rc-header-trigger{.ui-rc-table-column-sorter-cancel{opacity:1;}}}.", "-grid-filter-column{display:flex;justify-content:space-between;width:100%;align-items:center;position:relative;z-index:3;}.ui-rc-header-trigger{padding-left:6px;display:flex;align-items:center;.ui-rc-table-column-sorter-cancel{opacity:0;}}.resizer{cursor:col-resize;height:100%;position:absolute;right:0;top:0;z-index:3;touch-action:none;user-select:none;width:5px;}.resizer.isResizing{opacity:1;}}}.", "-grid-tbody{.", "-grid-row{font-weight:", ";background-color:var(--bgcolor);color:", ";&.", "-grid-row-odd{background-color:#f9f8fd;}&.", "-grid-row-even{}&.", "-grid-row-parent{background-color:#f5f5f5;font-weight:500;}}}.", "-grid-tfoot{.", "-grid-footer-row{border-bottom-width:1px;border-bottom-color:", ";border-bottom-style:solid;border-top-width:1px;border-top-color:", ";border-top-style:solid;background-color:var(--footer-bgcolor);font-weight:600;}.", "-grid-cell{background-color:inherit;border-inline-end:1px solid ", ";}}}&.", "-grid-dark{background-color:", ";color:", ";.", "-grid-container{border-color:", ";&::after{border-right-color:", ";}}}.ui-rc-toolbar-bottom{border-right:1px solid #e0e0e0;border-left:1px solid #e0e0e0;.be-toolbar-item{.ui-rc-btn{font-size:12px;line-height:1.5}.toolbar-dropdown-button{font-size:12px;.ui-rc-btn.ui-rc-btn-default.ui-rc-btn-variant-outlined.ui-rc-btn-compact-item.ui-rc-btn-compact-first-item{border-color:#28c76f;}.ui-rc-btn.ui-rc-btn-default.ui-rc-btn-variant-outlined.ui-rc-btn-compact-item.ui-rc-btn-compact-last-item{border-color:#28c76f;.ui-rc-btn-icon{color:#28c76f;}}}}}.ui-rc-toolbar-bottom_border-bottom{border-bottom:1px solid #e0e0e0;}.ui-rc-toolbar-bottom{position:relative;padding:.15rem 0.5rem;background-color:#ffffff;.toolbar-button{border-radius:3px;}.ui-rc-btn{border-radius:3px;height:28px;&.ui-rc-btn-compact-item.ui-rc-btn-compact-last-item{border-start-start-radius:0;border-end-start-radius:0;}&.ui-rc-btn-compact-item.ui-rc-btn-compact-first-item{border-start-end-radius:0;border-end-end-radius:0;}}}}"], props => props.$prefix, color, fontSize, fontFamily, props => props.$prefix, props => props.$prefix, props => props.$prefix, props => props.$prefix, props => `${props.$theme.backgroundColor ? props.$theme.backgroundColor : 'var(--bgcolor)'}`, props => `${props.$theme.color ? props.$theme.color : color}`, props => props.$prefix, props => props.$prefix, tableBorderColor, tableBorderColor, props => props.$prefix, props => props.$prefix, props => props.$prefix, props => props.$prefix, props => props.$prefix, props => props.$prefix, props => props.$prefix, props => props.$prefix, fwHeader, props => props.$prefix, props => `${props.$theme.color ? props.$theme.color : color}`, tableBorderColor, tableBorderColor, props => props.$prefix, props => props.$prefix, props => props.$prefix, props => props.$prefix, props => props.$prefix, fwBody, props => `${props.$theme.color ? props.$theme.color : color}`, props => props.$prefix, props => props.$prefix, props => props.$prefix, props => props.$prefix, props => props.$prefix, tableBorderColor, tableBorderColor, props => props.$prefix, tableBorderColor, props => props.$prefix, BgColorDark, colorDark, props => props.$prefix, tableBorderColorDark, tableBorderColorDark);
@@ -422,8 +422,12 @@ $cell-index-focus-bg-Dark: #E6EFFD !default;
422
422
  }
423
423
 
424
424
  &.disable {
425
- padding: 7px 8px !important;
425
+ padding: 5px 8px !important;
426
426
  background-color: #f0f0f0;
427
+
428
+ .ui-rc_cell-content {
429
+ height: auto;
430
+ }
427
431
  }
428
432
 
429
433
  &.#{$prefix}-grid-cell-command {
@@ -1196,4 +1200,4 @@ $cell-index-focus-bg-Dark: #E6EFFD !default;
1196
1200
  &:has(input:focus) span {
1197
1201
  border-color: red;
1198
1202
  }
1199
- }
1203
+ }
@@ -1,3 +1,4 @@
1
+ import type { RowFocusEventArgs } from "../grid-component/type";
1
2
  import type { Dispatch, SetStateAction } from 'react';
2
3
  import type { ColumnTable, ExpandableConfig, FilterItem, IFormat, IWrapSettings, Locale, PaginationConfig, RangeState, RecordDoubleClickEventArgs, RowClassName, SelectionSettings, SourceFilter } from "./../grid-component/type";
3
4
  import type { SubmitHandler } from "react-hook-form";
@@ -20,6 +21,7 @@ export interface IContext<T> {
20
21
  setExpanded: Dispatch<SetStateAction<ExpandedState>>;
21
22
  expanded: ExpandedState;
22
23
  recordDoubleClick?: (args: RecordDoubleClickEventArgs<T>) => void;
24
+ rowFocus?: (args: RowFocusEventArgs<T>) => void;
23
25
  recordClick?: (args: RecordDoubleClickEventArgs<T>) => void;
24
26
  selectionSettings?: SelectionSettings;
25
27
  isSelectionChange?: {
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = void 0;
8
+ var _rowFocus = require("../../grid-component/hooks/rowFocus");
8
9
  var _space = _interopRequireDefault(require("rc-master-ui/es/space"));
9
10
  var _utils = require("../hook/utils");
10
11
  var _Checkbox = _interopRequireDefault(require("rc-master-ui/lib/checkbox/Checkbox"));
@@ -158,6 +159,7 @@ const TableBodyCell = props => {
158
159
  id,
159
160
  prefix,
160
161
  focusedCell,
162
+ rowFocus,
161
163
  setFocusedCell,
162
164
  // endCell,
163
165
  // startCell,
@@ -389,6 +391,7 @@ const TableBodyCell = props => {
389
391
  colId: cell.column.id,
390
392
  rowId: nextId
391
393
  });
394
+ (0, _rowFocus.notifyArrowRowFocus)(table.getRow(nextId).original, 'arrowDown', selectionSettings?.useArrow, rowFocus);
392
395
  const row = document.querySelector(`.ui-rc-grid-row[data-row-key="${nextId}"]`);
393
396
  const cellFocus = row?.querySelector('.ui-rc-grid-cell:not(.ui-rc-grid-cell-selection)');
394
397
  if (cellFocus) {
@@ -402,6 +405,7 @@ const TableBodyCell = props => {
402
405
  colId: cell.column.id,
403
406
  rowId: nextId
404
407
  });
408
+ (0, _rowFocus.notifyArrowRowFocus)(table.getRow(nextId).original, 'arrowUp', selectionSettings?.useArrow, rowFocus);
405
409
  const row = document.querySelector(`.ui-rc-grid-row[data-row-key="${nextId}"]`);
406
410
  const cellFocus = row?.querySelector('.ui-rc-grid-cell:not(.ui-rc-grid-cell-selection)');
407
411
  if (cellFocus) {
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = void 0;
8
+ var _rowFocus = require("../../grid-component/hooks/rowFocus");
8
9
  var _utils = require("../hook/utils");
9
10
  var _classnames = _interopRequireDefault(require("classnames"));
10
11
  var _react = _interopRequireDefault(require("react"));
@@ -23,6 +24,7 @@ const TableBodyCellRowGroup = props => {
23
24
  id,
24
25
  prefix,
25
26
  focusedCell,
27
+ rowFocus,
26
28
  setFocusedCell,
27
29
  expanded,
28
30
  setExpanded,
@@ -104,6 +106,7 @@ const TableBodyCellRowGroup = props => {
104
106
  colId: cell.column.id,
105
107
  rowId: nextId
106
108
  });
109
+ (0, _rowFocus.notifyArrowRowFocus)(table.getRow(nextId).original, 'arrowDown', selectionSettings?.useArrow, rowFocus);
107
110
  const row = document.querySelector(`.ui-rc-grid-row[data-row-key="${nextId}"]`);
108
111
  const cellFocus = row?.querySelector('.ui-rc-grid-cell:not(.ui-rc-grid-cell-selection)');
109
112
  if (cellFocus) {
@@ -117,6 +120,7 @@ const TableBodyCellRowGroup = props => {
117
120
  colId: cell.column.id,
118
121
  rowId: nextId
119
122
  });
123
+ (0, _rowFocus.notifyArrowRowFocus)(table.getRow(nextId).original, 'arrowUp', selectionSettings?.useArrow, rowFocus);
120
124
  const row = document.querySelector(`.ui-rc-grid-row[data-row-key="${nextId}"]`);
121
125
  const cellFocus = row?.querySelector('.ui-rc-grid-cell:not(.ui-rc-grid-cell-selection)');
122
126
  if (cellFocus) {
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.default = void 0;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _rowFocus = require("../../grid-component/hooks/rowFocus");
9
10
  var _TableBodyCell = _interopRequireDefault(require("./TableBodyCell"));
10
11
  var _reactTable = require("@tanstack/react-table");
11
12
  var _react = _interopRequireDefault(require("react"));
@@ -33,6 +34,7 @@ const TableBodyRow = ({
33
34
  const {
34
35
  prefix,
35
36
  recordDoubleClick,
37
+ rowFocus,
36
38
  focusedCell,
37
39
  rowClassName,
38
40
  onRowStyles,
@@ -67,7 +69,8 @@ const TableBodyRow = ({
67
69
  style: {
68
70
  ...rowStyles,
69
71
  height: rowheight
70
- },
72
+ }
73
+ }, (0, _rowFocus.getRowFocusHandlers)(row.original, rowFocus), {
71
74
  onDoubleClick: e => {
72
75
  recordDoubleClick?.({
73
76
  e,
@@ -37,6 +37,7 @@ const TableContainer = props => {
37
37
  expandable,
38
38
  wrapSettings,
39
39
  recordDoubleClick,
40
+ rowFocus,
40
41
  // triggerFilter,
41
42
  selectionSettings,
42
43
  isSelectionChange,
@@ -281,6 +282,7 @@ const TableContainer = props => {
281
282
  originData,
282
283
  wrapSettings,
283
284
  recordDoubleClick,
285
+ rowFocus,
284
286
  selectionSettings,
285
287
  isSelectionChange,
286
288
  setIsSelectionChange,
@@ -1,3 +1,4 @@
1
+ import type { RowFocusEventArgs } from "../grid-component/type";
1
2
  import type { Dispatch, SetStateAction } from 'react';
2
3
  import type { ColumnTable, ExpandableConfig, IFormat, IGroupSetting, IWrapSettings, Locale, PaginationConfig, RangeState, RecordDoubleClickEventArgs, RowClassName, SelectionSettings, SourceFilter } from "../grid-component/type";
3
4
  import type { SubmitHandler } from "react-hook-form";
@@ -19,6 +20,7 @@ export interface IContext<T> {
19
20
  setExpanded: Dispatch<SetStateAction<ExpandedState>>;
20
21
  expanded: ExpandedState;
21
22
  recordDoubleClick?: (args: RecordDoubleClickEventArgs<T>) => void;
23
+ rowFocus?: (args: RowFocusEventArgs<T>) => void;
22
24
  selectionSettings?: SelectionSettings;
23
25
  isSelectionChange?: {
24
26
  isChange: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "es-grid-template",
3
- "version": "1.9.92",
3
+ "version": "1.9.94",
4
4
  "description": "es-grid-template",
5
5
  "keywords": [
6
6
  "react",
package/CHANGELOG.md DELETED
@@ -1,6 +0,0 @@
1
- # Changelog
2
-
3
-
4
- ## 0.0.1 / 20-02-2025
5
-
6
- add package