es-grid-template 1.8.64 → 1.8.66

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 (222) hide show
  1. package/es/grid-component/TempTable.d.ts +2 -2
  2. package/es/grid-component/TempTable.js +5 -5
  3. package/es/grid-component/hooks/index.js +0 -1
  4. package/es/grid-component/hooks/useLazyKVMap.d.ts +1 -1
  5. package/es/grid-component/hooks/useLazyKVMap.js +0 -4
  6. package/es/grid-component/hooks/utils.d.ts +1 -8
  7. package/es/grid-component/hooks/utils.js +176 -144
  8. package/es/grid-component/index.d.ts +1 -1
  9. package/es/grid-component/index.js +0 -4
  10. package/es/grid-component/styles.scss +1394 -1394
  11. package/es/grid-component/type.d.ts +0 -407
  12. package/es/grid-component/type.js +490 -1
  13. package/es/table-component/type.d.ts +10 -0
  14. package/es/{grid-component → table-virtuoso}/ColumnsGroup/ColumnsGroup.js +4 -3
  15. package/es/{grid-component → table-virtuoso}/InternalTable.d.ts +2 -3
  16. package/es/table-virtuoso/InternalTable.js +391 -0
  17. package/es/table-virtuoso/body/TableBodyCell.d.ts +14 -0
  18. package/es/table-virtuoso/body/TableBodyCell.js +457 -0
  19. package/es/table-virtuoso/body/TableBodyRow.d.ts +13 -0
  20. package/es/table-virtuoso/body/TableBodyRow.js +112 -0
  21. package/es/table-virtuoso/footer/TableFooterCell.d.ts +7 -0
  22. package/es/table-virtuoso/footer/TableFooterCell.js +54 -0
  23. package/es/table-virtuoso/header/TableHeadCell.d.ts +14 -0
  24. package/es/table-virtuoso/header/TableHeadCell.js +265 -0
  25. package/es/table-virtuoso/header/renderFilter.d.ts +20 -0
  26. package/es/table-virtuoso/header/renderFilter.js +289 -0
  27. package/es/table-virtuoso/hook/constant.d.ts +73 -0
  28. package/es/table-virtuoso/hook/constant.js +240 -0
  29. package/es/table-virtuoso/hook/convert.d.ts +1 -0
  30. package/es/table-virtuoso/hook/convert.js +28 -0
  31. package/es/table-virtuoso/hook/useColumns.d.ts +28 -0
  32. package/es/table-virtuoso/hook/useColumns.js +302 -0
  33. package/es/table-virtuoso/hook/useFilterOperator.d.ts +7 -0
  34. package/es/table-virtuoso/hook/useFilterOperator.js +33 -0
  35. package/es/table-virtuoso/hook/utils.d.ts +159 -0
  36. package/es/table-virtuoso/hook/utils.js +2263 -0
  37. package/es/table-virtuoso/index.d.ts +2 -0
  38. package/es/table-virtuoso/index.js +2 -0
  39. package/es/table-virtuoso/style.d.ts +22 -0
  40. package/es/table-virtuoso/style.js +12 -0
  41. package/es/table-virtuoso/style.scss +1441 -0
  42. package/es/table-virtuoso/table/Grid.d.ts +37 -0
  43. package/es/table-virtuoso/table/Grid.js +298 -0
  44. package/es/table-virtuoso/table/TableContainer.d.ts +49 -0
  45. package/es/table-virtuoso/table/TableContainer.js +292 -0
  46. package/es/table-virtuoso/table/TableWrapper.d.ts +22 -0
  47. package/es/table-virtuoso/table/TableWrapper.js +161 -0
  48. package/es/table-virtuoso/type.d.ts +0 -0
  49. package/es/table-virtuoso/type.js +785 -0
  50. package/es/table-virtuoso/useContext.d.ts +97 -0
  51. package/es/table-virtuoso/useContext.js +21 -0
  52. package/lib/grid-component/TempTable.d.ts +2 -2
  53. package/lib/grid-component/TempTable.js +5 -7
  54. package/lib/grid-component/hooks/useLazyKVMap.d.ts +1 -1
  55. package/lib/grid-component/hooks/useLazyKVMap.js +0 -3
  56. package/lib/grid-component/hooks/utils.d.ts +1 -8
  57. package/lib/grid-component/hooks/utils.js +179 -152
  58. package/lib/grid-component/index.d.ts +1 -1
  59. package/lib/grid-component/index.js +0 -3
  60. package/lib/grid-component/styles.scss +1394 -1394
  61. package/lib/grid-component/type.d.ts +0 -407
  62. package/lib/grid-component/type.js +490 -4
  63. package/lib/table-component/type.d.ts +10 -0
  64. package/lib/{grid-component → table-virtuoso}/ColumnsGroup/ColumnsGroup.js +4 -3
  65. package/lib/{grid-component → table-virtuoso}/InternalTable.d.ts +2 -3
  66. package/lib/table-virtuoso/InternalTable.js +400 -0
  67. package/lib/table-virtuoso/body/TableBodyCell.d.ts +14 -0
  68. package/lib/table-virtuoso/body/TableBodyCell.js +464 -0
  69. package/lib/table-virtuoso/body/TableBodyRow.d.ts +13 -0
  70. package/lib/table-virtuoso/body/TableBodyRow.js +119 -0
  71. package/lib/table-virtuoso/footer/TableFooterCell.d.ts +7 -0
  72. package/lib/table-virtuoso/footer/TableFooterCell.js +63 -0
  73. package/lib/table-virtuoso/header/TableHeadCell.d.ts +14 -0
  74. package/lib/table-virtuoso/header/TableHeadCell.js +274 -0
  75. package/lib/table-virtuoso/header/renderFilter.d.ts +20 -0
  76. package/lib/table-virtuoso/header/renderFilter.js +299 -0
  77. package/lib/table-virtuoso/hook/constant.d.ts +73 -0
  78. package/lib/table-virtuoso/hook/constant.js +247 -0
  79. package/lib/table-virtuoso/hook/convert.d.ts +1 -0
  80. package/lib/table-virtuoso/hook/convert.js +34 -0
  81. package/lib/table-virtuoso/hook/useColumns.d.ts +28 -0
  82. package/lib/table-virtuoso/hook/useColumns.js +315 -0
  83. package/lib/table-virtuoso/hook/useFilterOperator.d.ts +7 -0
  84. package/lib/table-virtuoso/hook/useFilterOperator.js +40 -0
  85. package/lib/table-virtuoso/hook/utils.d.ts +159 -0
  86. package/lib/table-virtuoso/hook/utils.js +2389 -0
  87. package/lib/table-virtuoso/index.d.ts +2 -0
  88. package/lib/table-virtuoso/index.js +9 -0
  89. package/lib/table-virtuoso/style.d.ts +22 -0
  90. package/lib/table-virtuoso/style.js +19 -0
  91. package/lib/table-virtuoso/style.scss +1441 -0
  92. package/lib/table-virtuoso/table/Grid.d.ts +37 -0
  93. package/lib/table-virtuoso/table/Grid.js +307 -0
  94. package/lib/table-virtuoso/table/TableContainer.d.ts +49 -0
  95. package/lib/table-virtuoso/table/TableContainer.js +300 -0
  96. package/lib/table-virtuoso/table/TableWrapper.d.ts +22 -0
  97. package/lib/table-virtuoso/table/TableWrapper.js +166 -0
  98. package/lib/table-virtuoso/type.d.ts +0 -0
  99. package/lib/table-virtuoso/type.js +786 -0
  100. package/lib/table-virtuoso/useContext.d.ts +97 -0
  101. package/lib/table-virtuoso/useContext.js +27 -0
  102. package/package.json +2 -1
  103. package/es/grid-component/AdvanceFilter.d.ts +0 -14
  104. package/es/grid-component/AdvanceFilter.js +0 -454
  105. package/es/grid-component/CheckboxFilter.d.ts +0 -20
  106. package/es/grid-component/CheckboxFilter.js +0 -244
  107. package/es/grid-component/CheckboxFilter2.d.ts +0 -20
  108. package/es/grid-component/CheckboxFilter2.js +0 -244
  109. package/es/grid-component/ColumnsChoose.d.ts +0 -10
  110. package/es/grid-component/ColumnsChoose.js +0 -230
  111. package/es/grid-component/Command.d.ts +0 -8
  112. package/es/grid-component/Command.js +0 -80
  113. package/es/grid-component/ContextMenu.d.ts +0 -20
  114. package/es/grid-component/ContextMenu.js +0 -130
  115. package/es/grid-component/ConvertColumnTable.d.ts +0 -7
  116. package/es/grid-component/ConvertColumnTable.js +0 -144
  117. package/es/grid-component/EditForm/EditForm.d.ts +0 -27
  118. package/es/grid-component/EditForm/EditForm.js +0 -394
  119. package/es/grid-component/EditForm/index.d.ts +0 -1
  120. package/es/grid-component/EditForm/index.js +0 -1
  121. package/es/grid-component/EditableCell.d.ts +0 -20
  122. package/es/grid-component/EditableCell.js +0 -1030
  123. package/es/grid-component/FilterSearch.d.ts +0 -12
  124. package/es/grid-component/FilterSearch.js +0 -33
  125. package/es/grid-component/GridStyle.d.ts +0 -8
  126. package/es/grid-component/GridStyle.js +0 -5
  127. package/es/grid-component/InternalTable.js +0 -1170
  128. package/es/grid-component/TableGrid.d.ts +0 -21
  129. package/es/grid-component/TableGrid.js +0 -493
  130. package/es/grid-component/async-select/index.d.ts +0 -11
  131. package/es/grid-component/async-select/index.js +0 -38
  132. package/es/grid-component/async-table-select/index.d.ts +0 -11
  133. package/es/grid-component/async-table-select/index.js +0 -40
  134. package/es/grid-component/checkbox-control/index.d.ts +0 -13
  135. package/es/grid-component/checkbox-control/index.js +0 -40
  136. package/es/grid-component/hooks/columns/index.d.ts +0 -10
  137. package/es/grid-component/hooks/columns/index.js +0 -503
  138. package/es/grid-component/hooks/content/ControlCheckbox.d.ts +0 -13
  139. package/es/grid-component/hooks/content/ControlCheckbox.js +0 -87
  140. package/es/grid-component/hooks/content/HeaderContent.d.ts +0 -14
  141. package/es/grid-component/hooks/content/HeaderContent.js +0 -44
  142. package/es/grid-component/hooks/content/TooltipContent.d.ts +0 -13
  143. package/es/grid-component/hooks/content/TooltipContent.js +0 -74
  144. package/es/grid-component/hooks/useColumns.d.ts +0 -19
  145. package/es/grid-component/hooks/useColumns.js +0 -317
  146. package/es/grid-component/number/index.d.ts +0 -10
  147. package/es/grid-component/number/index.js +0 -39
  148. package/es/grid-component/number-range/index.d.ts +0 -11
  149. package/es/grid-component/number-range/index.js +0 -63
  150. package/es/grid-component/table/Grid.d.ts +0 -23
  151. package/es/grid-component/table/Grid.js +0 -49
  152. package/es/grid-component/table/GridEdit.d.ts +0 -23
  153. package/es/grid-component/table/GridEdit.js +0 -2726
  154. package/es/grid-component/table/Group.d.ts +0 -21
  155. package/es/grid-component/table/Group.js +0 -195
  156. package/es/grid-component/table/InfiniteTable.d.ts +0 -23
  157. package/es/grid-component/table/InfiniteTable.js +0 -101
  158. package/es/grid-component/useContext.d.ts +0 -34
  159. package/es/grid-component/useContext.js +0 -8
  160. package/lib/grid-component/AdvanceFilter.d.ts +0 -14
  161. package/lib/grid-component/AdvanceFilter.js +0 -463
  162. package/lib/grid-component/CheckboxFilter.d.ts +0 -20
  163. package/lib/grid-component/CheckboxFilter.js +0 -253
  164. package/lib/grid-component/CheckboxFilter2.d.ts +0 -20
  165. package/lib/grid-component/CheckboxFilter2.js +0 -253
  166. package/lib/grid-component/ColumnsChoose.d.ts +0 -10
  167. package/lib/grid-component/ColumnsChoose.js +0 -240
  168. package/lib/grid-component/Command.d.ts +0 -8
  169. package/lib/grid-component/Command.js +0 -88
  170. package/lib/grid-component/ContextMenu.d.ts +0 -20
  171. package/lib/grid-component/ContextMenu.js +0 -140
  172. package/lib/grid-component/ConvertColumnTable.d.ts +0 -7
  173. package/lib/grid-component/ConvertColumnTable.js +0 -153
  174. package/lib/grid-component/EditForm/EditForm.d.ts +0 -27
  175. package/lib/grid-component/EditForm/EditForm.js +0 -404
  176. package/lib/grid-component/EditForm/index.d.ts +0 -1
  177. package/lib/grid-component/EditForm/index.js +0 -16
  178. package/lib/grid-component/EditableCell.d.ts +0 -20
  179. package/lib/grid-component/EditableCell.js +0 -1032
  180. package/lib/grid-component/FilterSearch.d.ts +0 -12
  181. package/lib/grid-component/FilterSearch.js +0 -42
  182. package/lib/grid-component/GridStyle.d.ts +0 -8
  183. package/lib/grid-component/GridStyle.js +0 -12
  184. package/lib/grid-component/InternalTable.js +0 -1178
  185. package/lib/grid-component/TableGrid.d.ts +0 -21
  186. package/lib/grid-component/TableGrid.js +0 -493
  187. package/lib/grid-component/async-select/index.d.ts +0 -11
  188. package/lib/grid-component/async-select/index.js +0 -47
  189. package/lib/grid-component/async-table-select/index.d.ts +0 -11
  190. package/lib/grid-component/async-table-select/index.js +0 -49
  191. package/lib/grid-component/checkbox-control/index.d.ts +0 -13
  192. package/lib/grid-component/checkbox-control/index.js +0 -48
  193. package/lib/grid-component/hooks/columns/index.d.ts +0 -10
  194. package/lib/grid-component/hooks/columns/index.js +0 -518
  195. package/lib/grid-component/hooks/content/ControlCheckbox.d.ts +0 -13
  196. package/lib/grid-component/hooks/content/ControlCheckbox.js +0 -95
  197. package/lib/grid-component/hooks/content/HeaderContent.d.ts +0 -14
  198. package/lib/grid-component/hooks/content/HeaderContent.js +0 -53
  199. package/lib/grid-component/hooks/content/TooltipContent.d.ts +0 -13
  200. package/lib/grid-component/hooks/content/TooltipContent.js +0 -81
  201. package/lib/grid-component/hooks/useColumns.d.ts +0 -19
  202. package/lib/grid-component/hooks/useColumns.js +0 -328
  203. package/lib/grid-component/number/index.d.ts +0 -10
  204. package/lib/grid-component/number/index.js +0 -47
  205. package/lib/grid-component/number-range/index.d.ts +0 -11
  206. package/lib/grid-component/number-range/index.js +0 -71
  207. package/lib/grid-component/table/Grid.d.ts +0 -23
  208. package/lib/grid-component/table/Grid.js +0 -58
  209. package/lib/grid-component/table/GridEdit.d.ts +0 -23
  210. package/lib/grid-component/table/GridEdit.js +0 -2723
  211. package/lib/grid-component/table/Group.d.ts +0 -21
  212. package/lib/grid-component/table/Group.js +0 -204
  213. package/lib/grid-component/table/InfiniteTable.d.ts +0 -23
  214. package/lib/grid-component/table/InfiniteTable.js +0 -109
  215. package/lib/grid-component/useContext.d.ts +0 -34
  216. package/lib/grid-component/useContext.js +0 -13
  217. /package/es/{grid-component → table-virtuoso}/ColumnsGroup/ColumnsGroup.d.ts +0 -0
  218. /package/es/{grid-component → table-virtuoso}/ColumnsGroup/index.d.ts +0 -0
  219. /package/es/{grid-component → table-virtuoso}/ColumnsGroup/index.js +0 -0
  220. /package/lib/{grid-component → table-virtuoso}/ColumnsGroup/ColumnsGroup.d.ts +0 -0
  221. /package/lib/{grid-component → table-virtuoso}/ColumnsGroup/index.d.ts +0 -0
  222. /package/lib/{grid-component → table-virtuoso}/ColumnsGroup/index.js +0 -0
@@ -0,0 +1,400 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = exports.SELECTION_COLUMN = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _customParseFormat = _interopRequireDefault(require("dayjs/plugin/customParseFormat"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
+ require("react-resizable/css/styles.css");
12
+ var _dayjs = _interopRequireDefault(require("dayjs"));
13
+ require("dayjs/locale/es");
14
+ require("dayjs/locale/vi");
15
+ var _faker = require("@faker-js/faker");
16
+ var _useMergedState = _interopRequireDefault(require("rc-util/lib/hooks/useMergedState"));
17
+ var _reactTable = require("@tanstack/react-table");
18
+ var _utils = require("./hook/utils");
19
+ var _useColumns = require("./hook/useColumns");
20
+ var _hooks = require("../grid-component/hooks");
21
+ var _Grid = _interopRequireDefault(require("./table/Grid"));
22
+ var _utils2 = require("../table-component/hook/utils");
23
+ var _operator = require("../table-component/features/operator");
24
+ 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); }
25
+ 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; }
26
+ _dayjs.default.extend(_customParseFormat.default);
27
+ const SELECTION_COLUMN = exports.SELECTION_COLUMN = {};
28
+ const InternalTable = props => {
29
+ const {
30
+ t,
31
+ columns: propsColumns,
32
+ // columns,
33
+ lang,
34
+ locale,
35
+ dataSource,
36
+ editAble,
37
+ format,
38
+ groupAble,
39
+ groupSetting,
40
+ groupColumns,
41
+ selectionSettings,
42
+ expandable,
43
+ onChooseColumns,
44
+ height,
45
+ pagination,
46
+ allowResizing,
47
+ infiniteScroll,
48
+ sortMultiple,
49
+ allowSortering,
50
+ allowFiltering,
51
+ ...rest
52
+ } = props;
53
+ const id = _react.default.useMemo(() => {
54
+ return _faker.faker.string.alpha(20);
55
+ }, []);
56
+ const {
57
+ defaultExpandedRowKeys,
58
+ defaultExpandAllRows
59
+ } = expandable || {};
60
+ const rowKey = 'rowId';
61
+ const prefix = 'ui-rc';
62
+ const getWindowSize = () => {
63
+ const {
64
+ innerWidth,
65
+ innerHeight
66
+ } = window;
67
+ return {
68
+ innerWidth,
69
+ innerHeight
70
+ };
71
+ };
72
+ const [windowSize, setWindowSize] = (0, _react.useState)(getWindowSize());
73
+ _react.default.useEffect(() => {
74
+ const handleWindowResize = () => {
75
+ setWindowSize(getWindowSize());
76
+ };
77
+ window.addEventListener('resize', handleWindowResize);
78
+ return () => {
79
+ window.removeEventListener('resize', handleWindowResize);
80
+ };
81
+ }, []);
82
+ const [columnResizeMode] = _react.default.useState('onChange');
83
+ const [columnResizeDirection] = _react.default.useState('ltr');
84
+ const [rowSelection, setRowSelection] = _react.default.useState({});
85
+
86
+ // const [grouping, setGrouping] = React.useState<GroupingState>([])
87
+
88
+ const [paginationState, setPagination] = _react.default.useState({
89
+ pageIndex: pagination && pagination.currentPage ? pagination.currentPage - 1 : 0,
90
+ pageSize: pagination && pagination.pageSize ? pagination.pageSize : 20
91
+ });
92
+ const [columnSizing, setColumnSizing] = _react.default.useState({});
93
+ const [columnSizingInfo, setColumnSizingInfo] = _react.default.useState({});
94
+
95
+ // const [columnOrder, setColumnOrder] = React.useState<string[]>(() => columns.map(c => c.id!))
96
+
97
+ const [columnFilters, setColumnFilters] = _react.default.useState([]);
98
+ const [operator, setOperator] = _react.default.useState([]);
99
+ const [sorting, setSorting] = _react.default.useState([]);
100
+ const [filterStates, setFilterState] = _react.default.useState(null);
101
+ const [sorterStates, setSorterStates] = _react.default.useState([]);
102
+ const [isFullScreen, setIsFullScreen] = _react.default.useState(false);
103
+ const [columns, setColumns] = _react.default.useState([]);
104
+ const [tableData, setTableData] = _react.default.useState([]);
105
+ const [expanded, setExpanded] = _react.default.useState({});
106
+
107
+ // const [visible, setVisible] = React.useState({visible: false, column: ''})
108
+
109
+ const [columnVisibility, setColumnVisibility] = _react.default.useState({});
110
+ const originData = _react.default.useMemo(() => {
111
+ return (0, _utils.addRowIdArray)(dataSource);
112
+ }, [dataSource]);
113
+ const isDataOriginTree = _react.default.useMemo(() => {
114
+ return (0, _utils.isTreeArray)(originData);
115
+ }, [originData]);
116
+ _react.default.useEffect(() => {
117
+ if (groupColumns && groupColumns.length > 0 && groupSetting?.client !== false && isDataOriginTree === false) {
118
+ const abc = (0, _utils.groupArrayByColumns)(originData, groupColumns);
119
+ const rs = (0, _utils.filterDataByColumns)(abc, filterStates, sorterStates, []);
120
+ setTableData(rs);
121
+ } else {
122
+ const rs = (0, _utils.filterDataByColumns)(originData, filterStates, sorterStates, []);
123
+ setTableData(rs);
124
+ }
125
+ }, [groupColumns, originData, filterStates, sorterStates, groupSetting?.client, isDataOriginTree]);
126
+ // }, [groupColumns, originData, filterStates, sorterStates, groupSetting?.client])
127
+
128
+ _react.default.useEffect(() => {
129
+ // setColumns(updateWidthsByOther(propsColumns, columns))
130
+ setColumns(propsColumns);
131
+ }, [propsColumns]);
132
+ const mergedColumns = _react.default.useMemo(() => {
133
+ return (0, _useColumns.convertToTanStackColumns)({
134
+ t,
135
+ columns,
136
+ format,
137
+ editAble
138
+ });
139
+ }, [t, columns, format, editAble]);
140
+ const isDataTree = _react.default.useMemo(() => {
141
+ return (0, _utils.isTreeArray)(tableData);
142
+ }, [tableData]);
143
+ const columnPinning = _react.default.useMemo(() => {
144
+ return {
145
+ left: (0, _utils.getFixedFields)(columns, 'left'),
146
+ right: (0, _utils.getFixedFields)(columns, 'right')
147
+ };
148
+ }, [columns]);
149
+
150
+ // ========================= Keys =========================
151
+ const [mergedFilterKeys, setMergedFilterKeys] = (0, _useMergedState.default)((0, _utils.getAllRowKey)(originData), {
152
+ value: undefined
153
+ });
154
+
155
+ // ========================= Keys =========================
156
+
157
+ const {
158
+ selectedRowKeys,
159
+ defaultSelectedRowKeys
160
+ } = selectionSettings ?? {};
161
+ const [mergedSelectedKeys] = (0, _useMergedState.default)(selectedRowKeys || defaultSelectedRowKeys || [], {
162
+ value: selectedRowKeys
163
+ });
164
+
165
+ // const mergedData = React.useMemo(() => {
166
+
167
+ // return filterDataByColumns(tableData, filterStates, sorterStates, mergedFilterKeys)
168
+
169
+ // }, [tableData, filterStates, mergedFilterKeys, sorterStates])
170
+
171
+ // const columnVisibility = React.useMemo(() => {
172
+ // return getInvisibleColumns(columns)
173
+ // }, [columns])
174
+
175
+ _react.default.useEffect(() => {
176
+ const a = (0, _utils.getInvisibleColumns)(columns);
177
+ const bcd = (0, _utils.convertToObj)(groupColumns);
178
+ setColumnVisibility({
179
+ ...a,
180
+ ...bcd
181
+ });
182
+ }, [columns, groupColumns]);
183
+ const [columnsHiddenKeys, setColumnsHiddenKeys] = (0, _useMergedState.default)(undefined, {
184
+ value: undefined
185
+ });
186
+ const triggerChangeColumns = (cols, keys, type) => {
187
+ if (type === 'cellClick') {
188
+ setColumns(cols);
189
+ } else {
190
+ const aa = (0, _utils.flatColumns2)(columns).map(it => it.field);
191
+ const rsss = (0, _utils.getDiffent2Array)(aa, keys);
192
+ setColumnsHiddenKeys(rsss);
193
+ onChooseColumns?.({
194
+ showColumns: (0, _hooks.removeInvisibleColumns)([...cols]),
195
+ columns: [...cols],
196
+ flattenColumns: (0, _utils.convertFlatColumn1)([...cols])
197
+ });
198
+ }
199
+ };
200
+ const table = (0, _reactTable.useReactTable)({
201
+ _features: [_operator.OperatorFeature],
202
+ data: tableData,
203
+ // data: mergedData,
204
+ columns: mergedColumns,
205
+ state: {
206
+ rowSelection,
207
+ expanded,
208
+ columnPinning,
209
+ columnVisibility: columnsHiddenKeys ? (0, _utils.convertToObj)(columnsHiddenKeys) : columnVisibility,
210
+ pagination: pagination && !infiniteScroll ? paginationState : undefined,
211
+ // grouping,
212
+ columnSizing,
213
+ // columnOrder,
214
+ columnFilters,
215
+ operator,
216
+ sorting,
217
+ columnSizingInfo
218
+ },
219
+ getCoreRowModel: (0, _reactTable.getCoreRowModel)(),
220
+ getRowId(originalRow) {
221
+ return originalRow.rowId;
222
+ },
223
+ getSubRows: row => row.children,
224
+ // --------------RowSelection -----------------
225
+ enableSubRowSelection: selectionSettings && selectionSettings.mode === 'checkbox' && selectionSettings.type !== 'single',
226
+ enableMultiRowSelection: selectionSettings && (selectionSettings.mode === 'checkbox' || selectionSettings.type !== 'single'),
227
+ enableRowSelection: row => {
228
+ if (selectionSettings?.getCheckboxProps) {
229
+ return !selectionSettings?.getCheckboxProps(row.original)?.disabled;
230
+ }
231
+ return true;
232
+ },
233
+ onRowSelectionChange: setRowSelection,
234
+ // --------------RowSelection END-----------------
235
+
236
+ // ColumnSizing
237
+ enableColumnResizing: allowResizing !== false,
238
+ columnResizeMode,
239
+ columnResizeDirection,
240
+ onColumnSizingChange: setColumnSizing,
241
+ onColumnSizingInfoChange: setColumnSizingInfo,
242
+ // ColumnSizing
243
+
244
+ // ColumnSorting
245
+ // getSortedRowModel: getSortedRowModel(),
246
+ onSortingChange: setSorting,
247
+ enableMultiSort: sortMultiple !== false,
248
+ isMultiSortEvent: () => sortMultiple === false ? false : true,
249
+ enableSorting: allowSortering !== false,
250
+ // ColumnSorting
251
+
252
+ enableFilters: allowFiltering !== false,
253
+ onColumnFiltersChange: setColumnFilters,
254
+ onColumnOperatorChange: setOperator,
255
+ // getFilteredRowModel: getFilteredRowModel(),
256
+
257
+ // onColumnOrderChange: setColumnOrder,
258
+
259
+ // onGroupingChange: setGrouping,
260
+ getGroupedRowModel: (0, _reactTable.getGroupedRowModel)(),
261
+ // onExpandedChange: setExpanded,
262
+ getExpandedRowModel: (0, _reactTable.getExpandedRowModel)(),
263
+ getPaginationRowModel: pagination && !infiniteScroll ? (0, _reactTable.getPaginationRowModel)() : undefined,
264
+ onPaginationChange: setPagination,
265
+ onColumnVisibilityChange: setColumnVisibility
266
+ // onColumnPinningChange,
267
+
268
+ // debugTable: true
269
+ });
270
+ _react.default.useEffect(() => {
271
+ if (defaultExpandAllRows) {
272
+ const allKeys = (0, _utils.findAllChildrenKeys2)(tableData, rowKey, 'children');
273
+ setExpanded((0, _utils.convertToObjTrue)(allKeys));
274
+ } else {
275
+ if (defaultExpandedRowKeys) {
276
+ setExpanded((0, _utils.convertToObjTrue)(defaultExpandedRowKeys ?? []));
277
+ }
278
+ }
279
+ }, [defaultExpandAllRows, defaultExpandedRowKeys, tableData, table]);
280
+ const triggerGroupColumns = groupedColumns => {
281
+ // const abc = updateColumnsByGroup(columns, groupedColumns)
282
+
283
+ const bcd = (0, _utils.convertToObj)(groupedColumns);
284
+
285
+ // const a = getInvisibleColumns(columns)
286
+
287
+ const prev = groupColumns ?? [];
288
+ const bbb = prev.filter(item => !groupedColumns.includes(item));
289
+ const ccc = (0, _utils.removeKeys)(columnVisibility, bbb);
290
+ const rs = {
291
+ ...ccc,
292
+ ...bcd
293
+ };
294
+ setColumnVisibility(rs);
295
+
296
+ // table.setColumnVisibility(rs)
297
+
298
+ if (groupSetting) {
299
+ if (groupSetting.onGroup) {
300
+ groupSetting.onGroup({
301
+ columnGrouped: groupedColumns,
302
+ columns: (0, _utils2.removeColumns)(columns, groupedColumns),
303
+ flattenColumns: (0, _utils.flatColumns2)((0, _utils2.removeColumns)(columns, groupedColumns))
304
+ });
305
+ }
306
+ if (groupSetting.client === false) {
307
+
308
+ // group server => không xử lý gì
309
+ } else {
310
+ // group client
311
+
312
+ table.resetRowSelection();
313
+ table.resetExpanded();
314
+ setRowSelection({});
315
+ setExpanded({});
316
+ }
317
+ }
318
+ };
319
+
320
+ // useEffect(() => {
321
+
322
+ // table.toggleAllRowsExpanded(true)
323
+
324
+ // }, [tableData ])
325
+
326
+ const triggerFilter = args => {
327
+ // table.resetRowSelection()
328
+ // table.resetExpanded()
329
+
330
+ // setRowSelection({})
331
+ setExpanded({});
332
+ setFilterState(args);
333
+
334
+ // const rs = filterDataByColumns(originData, args, sorterStates, [])
335
+
336
+ // const allKeys = findAllChildrenKeys2<RecordType>(rs, rowKey, 'children')
337
+
338
+ // setExpanded(convertToObjTrue(allKeys))
339
+
340
+ // setTableData(rs)
341
+ };
342
+ const triggerSorter = args => {
343
+ // table.resetRowSelection()
344
+ // table.resetExpanded()
345
+
346
+ // setRowSelection({})
347
+ // setExpanded({})
348
+
349
+ setSorterStates(args);
350
+
351
+ // const rs = filterDataByColumns(originData, filterStates, args, [])
352
+ // setTableData(rs)
353
+ };
354
+ return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(_Grid.default, (0, _extends2.default)({}, rest, {
355
+ t: t,
356
+ id: id,
357
+ table: table,
358
+ prefix: prefix,
359
+ originData: originData
360
+ // dataSource={mergedData}
361
+ ,
362
+ dataSource: tableData,
363
+ locale: locale,
364
+ format: format
365
+ // columns={convertColumns(mergedColumns)}
366
+ ,
367
+ columns: mergedColumns,
368
+ propsColumns: columns,
369
+ rowKey: rowKey,
370
+ groupSetting: groupSetting,
371
+ groupAble: groupAble,
372
+ groupColumns: groupColumns,
373
+ columnPinning: columnPinning,
374
+ columnHidden: columnsHiddenKeys ? (0, _utils.convertToObj)(columnsHiddenKeys) : columnVisibility,
375
+ triggerFilter: triggerFilter,
376
+ triggerSorter: triggerSorter,
377
+ setMergedFilterKeys: setMergedFilterKeys,
378
+ mergedFilterKeys: mergedFilterKeys,
379
+ editAble: isFullScreen ? false : editAble,
380
+ triggerChangeColumns: triggerChangeColumns,
381
+ triggerGroupColumns: triggerGroupColumns,
382
+ expanded: expanded,
383
+ setExpanded: setExpanded,
384
+ isFullScreen: isFullScreen,
385
+ setIsFullScreen: setIsFullScreen,
386
+ windowSize: windowSize,
387
+ height: height,
388
+ isDataTree: isDataTree,
389
+ selectionSettings: selectionSettings,
390
+ mergedSelectedKeys: mergedSelectedKeys,
391
+ expandable: expandable,
392
+ setColumns: setColumns,
393
+ columnFilters: columnFilters,
394
+ columnSizing: columnSizing,
395
+ columnSizingInfo: columnSizingInfo,
396
+ setColumnSizing: setColumnSizing,
397
+ rowSelection: rowSelection
398
+ })));
399
+ };
400
+ var _default = exports.default = InternalTable;
@@ -0,0 +1,14 @@
1
+ import type { Cell, Table } from "@tanstack/react-table";
2
+ import type { CommandClick } from "../../table-component/type";
3
+ import React from "react";
4
+ import type { VirtualItem } from "@tanstack/react-virtual";
5
+ interface TableBodyCellProps<T> {
6
+ table: Table<T>;
7
+ tableId: string;
8
+ cell: Cell<T, unknown>;
9
+ commandClick?: (args: CommandClick<T>) => void;
10
+ virtualRow: VirtualItem;
11
+ [key: string]: any;
12
+ }
13
+ declare const TableBodyCell: <RecordType extends object>(props: TableBodyCellProps<RecordType>) => React.JSX.Element;
14
+ export default TableBodyCell;