es-grid-template 1.8.71 → 1.8.73

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 (251) hide show
  1. package/es/grid-component/TempTable.js +2 -1
  2. package/es/grid-component/type.d.ts +1 -3
  3. package/es/group-component/ColumnsChoose.d.ts +13 -0
  4. package/es/group-component/ColumnsChoose.js +211 -0
  5. package/es/group-component/ColumnsGroup/ColumnsGroup.d.ts +12 -0
  6. package/es/group-component/ColumnsGroup/ColumnsGroup.js +230 -0
  7. package/es/group-component/ColumnsGroup/index.d.ts +1 -0
  8. package/es/group-component/ColumnsGroup/index.js +1 -0
  9. package/es/group-component/ContextMenu.d.ts +19 -0
  10. package/es/group-component/ContextMenu.js +74 -0
  11. package/es/group-component/InternalTable.d.ts +8 -0
  12. package/es/group-component/InternalTable.js +224 -0
  13. package/es/group-component/TableContainer.d.ts +49 -0
  14. package/es/group-component/TableContainer.js +375 -0
  15. package/es/group-component/TableContainerEdit.d.ts +48 -0
  16. package/es/group-component/TableContainerEdit.js +2068 -0
  17. package/es/group-component/body/EditableCell.d.ts +16 -0
  18. package/es/group-component/body/EditableCell.js +1066 -0
  19. package/es/group-component/body/TableBody.d.ts +14 -0
  20. package/es/group-component/body/TableBody.js +82 -0
  21. package/es/group-component/body/TableBodyCell.d.ts +12 -0
  22. package/es/group-component/body/TableBodyCell.js +587 -0
  23. package/es/group-component/body/TableBodyCellEdit.d.ts +17 -0
  24. package/es/group-component/body/TableBodyCellEdit.js +1398 -0
  25. package/es/group-component/body/TableBodyCellEmpty.d.ts +12 -0
  26. package/es/group-component/body/TableBodyCellEmpty.js +149 -0
  27. package/es/group-component/body/TableBodyRow.d.ts +21 -0
  28. package/es/group-component/body/TableBodyRow.js +199 -0
  29. package/es/group-component/body/TableBodyRowGroupCell.d.ts +12 -0
  30. package/es/group-component/body/TableBodyRowGroupCell.js +567 -0
  31. package/es/group-component/components/ControlCheckbox.d.ts +13 -0
  32. package/es/group-component/components/ControlCheckbox.js +84 -0
  33. package/es/group-component/components/EditForm/EditForm.d.ts +27 -0
  34. package/es/group-component/components/EditForm/EditForm.js +394 -0
  35. package/es/group-component/components/EditForm/index.d.ts +1 -0
  36. package/es/group-component/components/EditForm/index.js +1 -0
  37. package/es/group-component/components/InputControl/InputControl.d.ts +27 -0
  38. package/es/group-component/components/InputControl/InputControl.js +118 -0
  39. package/es/group-component/components/InputControl/index.d.ts +1 -0
  40. package/es/group-component/components/InputControl/index.js +1 -0
  41. package/es/group-component/components/async-select/index.d.ts +11 -0
  42. package/es/group-component/components/async-select/index.js +38 -0
  43. package/es/group-component/components/async-table-select/index.d.ts +11 -0
  44. package/es/group-component/components/async-table-select/index.js +40 -0
  45. package/es/group-component/components/checkbox-control/index.d.ts +13 -0
  46. package/es/group-component/components/checkbox-control/index.js +40 -0
  47. package/es/group-component/components/checkbox-filter/CheckboxFilter.d.ts +18 -0
  48. package/es/group-component/components/checkbox-filter/CheckboxFilter.js +258 -0
  49. package/es/group-component/components/checkbox-filter/FilterSearch.d.ts +12 -0
  50. package/es/group-component/components/checkbox-filter/FilterSearch.js +36 -0
  51. package/es/group-component/components/command/Command.d.ts +10 -0
  52. package/es/group-component/components/command/Command.js +35 -0
  53. package/es/group-component/components/number/index.d.ts +12 -0
  54. package/es/group-component/components/number/index.js +42 -0
  55. package/es/group-component/components/number-range/index.d.ts +13 -0
  56. package/es/group-component/components/number-range/index.js +79 -0
  57. package/es/group-component/features/operator.d.ts +24 -0
  58. package/es/group-component/features/operator.js +62 -0
  59. package/es/group-component/footer/TableFooter.d.ts +7 -0
  60. package/es/group-component/footer/TableFooter.js +34 -0
  61. package/es/group-component/footer/TableFooterCell.d.ts +7 -0
  62. package/es/group-component/footer/TableFooterCell.js +66 -0
  63. package/es/group-component/footer/TableFooterRow.d.ts +8 -0
  64. package/es/group-component/footer/TableFooterRow.js +30 -0
  65. package/es/group-component/header/TableHead.d.ts +15 -0
  66. package/es/group-component/header/TableHead.js +98 -0
  67. package/es/group-component/header/TableHeadCell.d.ts +15 -0
  68. package/es/group-component/header/TableHeadCell.js +310 -0
  69. package/es/group-component/header/TableHeadCell2.d.ts +17 -0
  70. package/es/group-component/header/TableHeadCell2.js +321 -0
  71. package/es/group-component/header/TableHeadGroupCell.d.ts +17 -0
  72. package/es/group-component/header/TableHeadGroupCell.js +94 -0
  73. package/es/group-component/header/TableHeadRow.d.ts +15 -0
  74. package/es/group-component/header/TableHeadRow.js +52 -0
  75. package/es/group-component/header/renderFilter.d.ts +20 -0
  76. package/es/group-component/header/renderFilter.js +291 -0
  77. package/es/group-component/hook/convert.d.ts +1 -0
  78. package/es/group-component/hook/convert.js +28 -0
  79. package/es/group-component/hook/useColumns.d.ts +28 -0
  80. package/es/group-component/hook/useColumns.js +306 -0
  81. package/es/group-component/hook/useFilterOperator.d.ts +7 -0
  82. package/es/group-component/hook/useFilterOperator.js +33 -0
  83. package/es/group-component/hook/utils.d.ts +220 -0
  84. package/es/group-component/hook/utils.js +2340 -0
  85. package/es/group-component/index.d.ts +2 -0
  86. package/es/group-component/index.js +2 -0
  87. package/es/group-component/style.d.ts +22 -0
  88. package/es/group-component/style.js +48 -0
  89. package/es/group-component/style.scss +1438 -0
  90. package/es/group-component/table/Grid.d.ts +33 -0
  91. package/es/group-component/table/Grid.js +439 -0
  92. package/es/group-component/table/TableWrapper.d.ts +33 -0
  93. package/es/group-component/table/TableWrapper.js +250 -0
  94. package/es/group-component/useContext.d.ts +100 -0
  95. package/es/group-component/useContext.js +21 -0
  96. package/es/table-component/InternalTable.js +9 -2
  97. package/es/table-component/TableContainer.d.ts +1 -0
  98. package/es/table-component/TableContainer.js +6 -2
  99. package/es/table-component/TableContainerEdit.d.ts +1 -0
  100. package/es/table-component/TableContainerEdit.js +4 -2
  101. package/es/table-component/body/TableBodyCell.js +49 -40
  102. package/es/table-component/body/TableBodyCellEdit.js +9 -6
  103. package/es/table-component/body/TableBodyRow.js +4 -1
  104. package/es/table-component/header/TableHeadCell2.js +39 -3
  105. package/es/table-component/hook/utils.d.ts +1 -0
  106. package/es/table-component/hook/utils.js +15 -7
  107. package/es/table-component/style.js +1 -1
  108. package/es/table-component/table/Grid.d.ts +1 -0
  109. package/es/table-component/table/Grid.js +10 -3
  110. package/es/table-component/useContext.d.ts +6 -0
  111. package/es/table-component/useContext.js +2 -1
  112. package/es/table-virtuoso/InternalTable.js +2 -2
  113. package/es/table-virtuoso/body/TableBodyCell.js +2 -7
  114. package/es/table-virtuoso/body/TableBodyCellRowGroup.d.ts +14 -0
  115. package/es/table-virtuoso/body/TableBodyCellRowGroup.js +196 -0
  116. package/es/table-virtuoso/body/TableBodyRow.d.ts +1 -1
  117. package/es/table-virtuoso/body/TableBodyRow.js +43 -1
  118. package/es/table-virtuoso/hook/utils.d.ts +1 -0
  119. package/es/table-virtuoso/hook/utils.js +29 -0
  120. package/es/table-virtuoso/style.js +3 -1
  121. package/es/table-virtuoso/table/Grid.js +2 -2
  122. package/es/table-virtuoso/table/TableWrapper.d.ts +7 -1
  123. package/es/table-virtuoso/table/TableWrapper.js +24 -5
  124. package/es/table-virtuoso/useContext.d.ts +6 -3
  125. package/es/table-virtuoso/useContext.js +18 -0
  126. package/lib/grid-component/TempTable.js +2 -1
  127. package/lib/grid-component/type.d.ts +1 -3
  128. package/lib/group-component/ColumnsChoose.d.ts +13 -0
  129. package/lib/group-component/ColumnsChoose.js +221 -0
  130. package/lib/group-component/ColumnsGroup/ColumnsGroup.d.ts +12 -0
  131. package/lib/group-component/ColumnsGroup/ColumnsGroup.js +241 -0
  132. package/lib/group-component/ColumnsGroup/index.d.ts +1 -0
  133. package/lib/group-component/ColumnsGroup/index.js +16 -0
  134. package/lib/group-component/ContextMenu.d.ts +19 -0
  135. package/lib/group-component/ContextMenu.js +83 -0
  136. package/lib/group-component/InternalTable.d.ts +8 -0
  137. package/lib/group-component/InternalTable.js +233 -0
  138. package/lib/group-component/TableContainer.d.ts +49 -0
  139. package/lib/group-component/TableContainer.js +382 -0
  140. package/lib/group-component/TableContainerEdit.d.ts +48 -0
  141. package/lib/group-component/TableContainerEdit.js +2075 -0
  142. package/lib/group-component/body/EditableCell.d.ts +16 -0
  143. package/lib/group-component/body/EditableCell.js +1075 -0
  144. package/lib/group-component/body/TableBody.d.ts +14 -0
  145. package/lib/group-component/body/TableBody.js +91 -0
  146. package/lib/group-component/body/TableBodyCell.d.ts +12 -0
  147. package/lib/group-component/body/TableBodyCell.js +595 -0
  148. package/lib/group-component/body/TableBodyCellEdit.d.ts +17 -0
  149. package/lib/group-component/body/TableBodyCellEdit.js +1405 -0
  150. package/lib/group-component/body/TableBodyCellEmpty.d.ts +12 -0
  151. package/lib/group-component/body/TableBodyCellEmpty.js +156 -0
  152. package/lib/group-component/body/TableBodyRow.d.ts +21 -0
  153. package/lib/group-component/body/TableBodyRow.js +206 -0
  154. package/lib/group-component/body/TableBodyRowGroupCell.d.ts +12 -0
  155. package/lib/group-component/body/TableBodyRowGroupCell.js +575 -0
  156. package/lib/group-component/components/ControlCheckbox.d.ts +13 -0
  157. package/lib/group-component/components/ControlCheckbox.js +92 -0
  158. package/lib/group-component/components/EditForm/EditForm.d.ts +27 -0
  159. package/lib/group-component/components/EditForm/EditForm.js +404 -0
  160. package/lib/group-component/components/EditForm/index.d.ts +1 -0
  161. package/lib/group-component/components/EditForm/index.js +16 -0
  162. package/lib/group-component/components/InputControl/InputControl.d.ts +27 -0
  163. package/lib/group-component/components/InputControl/InputControl.js +127 -0
  164. package/lib/group-component/components/InputControl/index.d.ts +1 -0
  165. package/lib/group-component/components/InputControl/index.js +16 -0
  166. package/lib/group-component/components/async-select/index.d.ts +11 -0
  167. package/lib/group-component/components/async-select/index.js +47 -0
  168. package/lib/group-component/components/async-table-select/index.d.ts +11 -0
  169. package/lib/group-component/components/async-table-select/index.js +49 -0
  170. package/lib/group-component/components/checkbox-control/index.d.ts +13 -0
  171. package/lib/group-component/components/checkbox-control/index.js +48 -0
  172. package/lib/group-component/components/checkbox-filter/CheckboxFilter.d.ts +18 -0
  173. package/lib/group-component/components/checkbox-filter/CheckboxFilter.js +267 -0
  174. package/lib/group-component/components/checkbox-filter/FilterSearch.d.ts +12 -0
  175. package/lib/group-component/components/checkbox-filter/FilterSearch.js +44 -0
  176. package/lib/group-component/components/command/Command.d.ts +10 -0
  177. package/lib/group-component/components/command/Command.js +44 -0
  178. package/lib/group-component/components/number/index.d.ts +12 -0
  179. package/lib/group-component/components/number/index.js +50 -0
  180. package/lib/group-component/components/number-range/index.d.ts +13 -0
  181. package/lib/group-component/components/number-range/index.js +87 -0
  182. package/lib/group-component/features/operator.d.ts +24 -0
  183. package/lib/group-component/features/operator.js +67 -0
  184. package/lib/group-component/footer/TableFooter.d.ts +7 -0
  185. package/lib/group-component/footer/TableFooter.js +44 -0
  186. package/lib/group-component/footer/TableFooterCell.d.ts +7 -0
  187. package/lib/group-component/footer/TableFooterCell.js +75 -0
  188. package/lib/group-component/footer/TableFooterRow.d.ts +8 -0
  189. package/lib/group-component/footer/TableFooterRow.js +37 -0
  190. package/lib/group-component/header/TableHead.d.ts +15 -0
  191. package/lib/group-component/header/TableHead.js +107 -0
  192. package/lib/group-component/header/TableHeadCell.d.ts +15 -0
  193. package/lib/group-component/header/TableHeadCell.js +319 -0
  194. package/lib/group-component/header/TableHeadCell2.d.ts +17 -0
  195. package/lib/group-component/header/TableHeadCell2.js +330 -0
  196. package/lib/group-component/header/TableHeadGroupCell.d.ts +17 -0
  197. package/lib/group-component/header/TableHeadGroupCell.js +103 -0
  198. package/lib/group-component/header/TableHeadRow.d.ts +15 -0
  199. package/lib/group-component/header/TableHeadRow.js +59 -0
  200. package/lib/group-component/header/renderFilter.d.ts +20 -0
  201. package/lib/group-component/header/renderFilter.js +301 -0
  202. package/lib/group-component/hook/convert.d.ts +1 -0
  203. package/lib/group-component/hook/convert.js +34 -0
  204. package/lib/group-component/hook/useColumns.d.ts +28 -0
  205. package/lib/group-component/hook/useColumns.js +318 -0
  206. package/lib/group-component/hook/useFilterOperator.d.ts +7 -0
  207. package/lib/group-component/hook/useFilterOperator.js +40 -0
  208. package/lib/group-component/hook/utils.d.ts +220 -0
  209. package/lib/group-component/hook/utils.js +2468 -0
  210. package/lib/group-component/index.d.ts +2 -0
  211. package/lib/group-component/index.js +9 -0
  212. package/lib/group-component/style.d.ts +22 -0
  213. package/lib/group-component/style.js +55 -0
  214. package/lib/group-component/style.scss +1438 -0
  215. package/lib/group-component/table/Grid.d.ts +33 -0
  216. package/lib/group-component/table/Grid.js +444 -0
  217. package/lib/group-component/table/TableWrapper.d.ts +33 -0
  218. package/lib/group-component/table/TableWrapper.js +259 -0
  219. package/lib/group-component/useContext.d.ts +100 -0
  220. package/lib/group-component/useContext.js +27 -0
  221. package/lib/table-component/InternalTable.js +9 -2
  222. package/lib/table-component/TableContainer.d.ts +1 -0
  223. package/lib/table-component/TableContainer.js +6 -2
  224. package/lib/table-component/TableContainerEdit.d.ts +1 -0
  225. package/lib/table-component/TableContainerEdit.js +4 -2
  226. package/lib/table-component/body/TableBodyCell.js +49 -40
  227. package/lib/table-component/body/TableBodyCellEdit.js +9 -6
  228. package/lib/table-component/body/TableBodyRow.js +4 -1
  229. package/lib/table-component/header/TableHeadCell2.js +38 -2
  230. package/lib/table-component/hook/utils.d.ts +1 -0
  231. package/lib/table-component/hook/utils.js +16 -7
  232. package/lib/table-component/style.js +1 -1
  233. package/lib/table-component/table/Grid.d.ts +1 -0
  234. package/lib/table-component/table/Grid.js +10 -3
  235. package/lib/table-component/useContext.d.ts +6 -0
  236. package/lib/table-component/useContext.js +2 -1
  237. package/lib/table-virtuoso/InternalTable.js +2 -2
  238. package/lib/table-virtuoso/body/TableBodyCell.js +2 -7
  239. package/lib/table-virtuoso/body/TableBodyCellRowGroup.d.ts +14 -0
  240. package/lib/table-virtuoso/body/TableBodyCellRowGroup.js +203 -0
  241. package/lib/table-virtuoso/body/TableBodyRow.d.ts +1 -1
  242. package/lib/table-virtuoso/body/TableBodyRow.js +43 -1
  243. package/lib/table-virtuoso/hook/utils.d.ts +1 -0
  244. package/lib/table-virtuoso/hook/utils.js +32 -1
  245. package/lib/table-virtuoso/style.js +3 -1
  246. package/lib/table-virtuoso/table/Grid.js +2 -2
  247. package/lib/table-virtuoso/table/TableWrapper.d.ts +7 -1
  248. package/lib/table-virtuoso/table/TableWrapper.js +24 -5
  249. package/lib/table-virtuoso/useContext.d.ts +6 -3
  250. package/lib/table-virtuoso/useContext.js +18 -0
  251. package/package.json +1 -1
@@ -0,0 +1,319 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _reactTable = require("@tanstack/react-table");
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ var _antd = require("antd");
11
+ var _becoxyIcons = require("becoxy-icons");
12
+ var _classnames = _interopRequireDefault(require("classnames"));
13
+ var _rcMasterUi = require("rc-master-ui");
14
+ var _hooks = require("../../grid-component/hooks");
15
+ var _utils = require("../hook/utils");
16
+ var _useContext = require("../useContext");
17
+ var _renderFilter = require("./renderFilter");
18
+ var _server = _interopRequireDefault(require("react-dom/server"));
19
+ 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); }
20
+ 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; }
21
+ const TableHeadCell = props => {
22
+ const {
23
+ header,
24
+ getPopupContainer,
25
+ table
26
+ } = props;
27
+ const {
28
+ t,
29
+ prefix,
30
+ setSorterChange,
31
+ setFilterChange,
32
+ wrapSettings,
33
+ selectionSettings,
34
+ setIsSelectionChange,
35
+ id,
36
+ locale
37
+ } = (0, _react.useContext)(_useContext.TableContext);
38
+ const isPinned = header.column.getIsPinned();
39
+ const isLastLeftPinnedColumn = isPinned === 'left' && header.column.getIsLastColumn('left');
40
+ const isFirstRightPinnedColumn = isPinned === 'right' && header.column.getIsFirstColumn('right');
41
+ const [selectedKeys, setSelectedKeys] = _react.default.useState([]);
42
+ const [visible, setVisible] = _react.default.useState(false);
43
+ const {
44
+ filterIcon
45
+ } = header.column.columnDef.meta ?? {};
46
+
47
+ // const column = (header.column.columnDef ?? {}) as ColumnTable
48
+ const column = header.column.columnDef;
49
+ const originalColumn = header.column.columnDef.meta ?? {};
50
+ const filtered = (header.column.getFilterValue() ?? []).length > 0;
51
+ const cellContent = (0, _reactTable.flexRender)(header.column.columnDef.header, header.getContext());
52
+ const html = _server.default.renderToStaticMarkup( /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, cellContent));
53
+ const hasValue = html.trim().length > 0;
54
+
55
+ // const filtered = header.column.getIsFiltered()
56
+
57
+ // const { attributes, isDragging, listeners, setNodeRef, transform } =
58
+ // useSortable({
59
+ // id: header.column.id,
60
+ // })
61
+
62
+ const style = {
63
+ // opacity: isDragging ? 0.8 : 1,
64
+ // position: 'relative',
65
+ // transform: CSS.Translate.toString(transform), // translate instead of transform to avoid squishing
66
+ transition: 'width transform 0.2s ease-in-out',
67
+ whiteSpace: 'nowrap'
68
+ // width: header.column.getSize(),
69
+ // zIndex: isDragging ? 1 : 0,
70
+ };
71
+ const getDropdownTrigger = () => {
72
+ let iconFilter;
73
+ if (typeof filterIcon === 'function') {
74
+ iconFilter = filterIcon(filtered);
75
+ } else if (filterIcon) {
76
+ iconFilter = filterIcon;
77
+ } else {
78
+ iconFilter = /*#__PURE__*/_react.default.createElement(_becoxyIcons.FilterFill, {
79
+ style: {
80
+ color: filtered ? '#E3165B' : '#283046'
81
+ },
82
+ fontSize: 12
83
+ });
84
+ }
85
+ return /*#__PURE__*/_react.default.createElement("span", {
86
+ role: "button",
87
+ tabIndex: -1,
88
+ className: (0, _classnames.default)(`${prefix}-trigger`, {
89
+ active: filtered
90
+ }),
91
+ onClick: e => {
92
+ e.stopPropagation();
93
+ }
94
+ }, iconFilter);
95
+ };
96
+ const triggerVisible = newVisible => {
97
+ setVisible(newVisible);
98
+ };
99
+ const onVisibleChange = (newVisible, info) => {
100
+ if (info.source === 'trigger') {
101
+ if (newVisible) {
102
+ const filterValue = header.column.getFilterValue() ?? [];
103
+ const operatorValue = header.column.getFilterOperator() ?? (0, _utils.getDefaultOperator)(column?.meta ?? {});
104
+ setSelectedKeys(filterValue);
105
+ header.column.setFilterOperator?.(operatorValue);
106
+ } else {}
107
+ triggerVisible(newVisible);
108
+ }
109
+ };
110
+ const doFilter = type => {
111
+ if (type) {
112
+ header.column.setFilterValue(!originalColumn.typeFilter || originalColumn.typeFilter === 'Text' ? selectedKeys.length === 0 ? [''] : selectedKeys : selectedKeys);
113
+ } else {
114
+ header.column.setFilterValue(undefined);
115
+ setSelectedKeys([]);
116
+ }
117
+ setFilterChange(true);
118
+ triggerVisible(false);
119
+ setTimeout(() => {
120
+ setFilterChange(false);
121
+ }, 10);
122
+ };
123
+ const mergedDropdownProps = (0, _utils.extendsObject)({
124
+ trigger: ['click'],
125
+ placement: 'bottomRight',
126
+ // placement: direction === 'rtl' ? 'bottomLeft' : 'bottomRight',
127
+ children: getDropdownTrigger(),
128
+ getPopupContainer
129
+ }, {
130
+ // ...filterDropdownProps,
131
+ // rootClassName: classNames(rootClassName, filterDropdownProps.rootClassName),
132
+ open: visible,
133
+ onOpenChange: onVisibleChange,
134
+ destroyPopupOnHide: true,
135
+ dropdownRender: () => {
136
+ const type = (0, _utils.getTypeFilter)(originalColumn);
137
+ const operatorValue = header.column.getFilterOperator() ?? (0, _utils.getDefaultOperator)(originalColumn);
138
+ const operatorOptions = ['Checkbox', 'Dropdown', 'DropTree', 'CheckboxDropdown'].includes(type) ? _hooks.booleanOperator : !type || type === 'Text' ? _hooks.stringOperator : _hooks.numberOperator;
139
+ return /*#__PURE__*/_react.default.createElement("div", {
140
+ // className='ui-rc-table-filter-dropdown'
141
+
142
+ className: (0, _classnames.default)(`${prefix}-grid-filter-dropdown`, {}),
143
+ style: {}
144
+ }, /*#__PURE__*/_react.default.createElement("div", {
145
+ style: {
146
+ minWidth: 275,
147
+ padding: '8px'
148
+ }
149
+ }, /*#__PURE__*/_react.default.createElement("div", null), column.meta?.hideOperator === true && column.meta?.typeFilter !== 'DateRange' && column.meta?.typeFilter !== 'NumberRange' && /*#__PURE__*/_react.default.createElement("div", {
150
+ className: 'mb-1'
151
+ }, /*#__PURE__*/_react.default.createElement(_rcMasterUi.Select, {
152
+ options: (0, _hooks.translateOption)(operatorOptions, t),
153
+ style: {
154
+ width: '100%',
155
+ marginBottom: 8
156
+ },
157
+ value: operatorValue,
158
+ onChange: val => {
159
+ header.column.setFilterOperator(val);
160
+ }
161
+ })), /*#__PURE__*/_react.default.createElement("div", {
162
+ style: {
163
+ marginBottom: 8
164
+ }
165
+ }, (0, _renderFilter.renderFilter)({
166
+ column: column,
167
+ selectedKeys,
168
+ setSelectedKeys
169
+ // selectedKeys: (header.column.getFilterValue() ?? []) as string[],
170
+ // setSelectedKeys: header.column.setFilterValue,
171
+ })), /*#__PURE__*/_react.default.createElement(_antd.Space, {
172
+ style: {
173
+ justifyContent: 'end',
174
+ width: '100%'
175
+ }
176
+ }, /*#__PURE__*/_react.default.createElement(_antd.Button, {
177
+ type: "primary",
178
+ onClick: () => {
179
+ // header.column.setFilterValue(selectedKeys)
180
+
181
+ doFilter(true);
182
+ },
183
+ size: "small",
184
+ style: {
185
+ width: 90
186
+ }
187
+ }, t ? t('Filter') : 'Filter'), /*#__PURE__*/_react.default.createElement(_antd.Button, {
188
+ type: "link",
189
+ size: "small",
190
+ onClick: () => {
191
+ // header.column.setFilterValue([])
192
+ // header.column.setFilterOperator('')
193
+
194
+ setSelectedKeys([]);
195
+ doFilter(false);
196
+ }
197
+ }, t ? t('Clear') : 'Clear'))));
198
+
199
+ // if (typeof filterDropdownProps?.dropdownRender === 'function') {
200
+ // return filterDropdownProps.dropdownRender(dropdownContent);
201
+ // }
202
+ // return dropdownContent;
203
+ }
204
+ });
205
+ return /*#__PURE__*/_react.default.createElement("div", {
206
+ // ref={setNodeRef}
207
+ className: (0, _classnames.default)(`${prefix}-grid-cell`, {
208
+ [`${prefix}-grid-cell-ellipsis`]: !wrapSettings || !(wrapSettings && (wrapSettings.wrapMode === 'Both' || wrapSettings.wrapMode === 'Header')),
209
+ [`${prefix}-grid-cell-wrap`]: wrapSettings && (wrapSettings.wrapMode === 'Both' || wrapSettings.wrapMode === 'Header'),
210
+ [`${prefix}-grid-cell-fix-left-last`]: isLastLeftPinnedColumn,
211
+ [`${prefix}-grid-cell-fix-right-first`]: isFirstRightPinnedColumn,
212
+ [`${prefix}-grid-cell-text-center`]: (originalColumn?.headerTextAlign ?? originalColumn?.textAlign) === 'center',
213
+ [`${prefix}-grid-cell-text-right`]: (originalColumn?.headerTextAlign ?? originalColumn.textAlign) === 'right'
214
+ })
215
+ // colSpan={colSpan}
216
+ // rowSpan={rowSpan}
217
+ ,
218
+
219
+ key: header.id,
220
+ style: {
221
+ // display: 'flex',
222
+ width: header.getSize(),
223
+ minWidth: header.getSize(),
224
+ flex: 1,
225
+ gridColumn: `span ${header.colSpan}`,
226
+ gridRow: `span 2`,
227
+ // maxWidth: header.getSize(),
228
+ ...(0, _utils.getCommonPinningStyles)(header.column),
229
+ ...style
230
+ },
231
+ "data-tooltip-id": `${id}-tooltip-content`,
232
+ "data-tooltip-html": !hasValue ? '' : _server.default.renderToStaticMarkup( /*#__PURE__*/_react.default.createElement("div", null, cellContent))
233
+ }, /*#__PURE__*/_react.default.createElement("div", {
234
+ className: (0, _classnames.default)('', {
235
+ [`${prefix}-grid-filter-column`]: header.column.id !== 'selection_column',
236
+ [`${prefix}-grid-selection-column`]: header.column.id === 'selection_column'
237
+ })
238
+ }, header.column.id === 'selection_column' && selectionSettings && selectionSettings.hideSelectAll !== false && selectionSettings.type !== 'single' && selectionSettings.mode !== 'radio' && /*#__PURE__*/_react.default.createElement(_rcMasterUi.Checkbox, {
239
+ checked: table.getIsAllRowsSelected(),
240
+ indeterminate: table.getIsSomeRowsSelected(),
241
+ onChange: e => {
242
+ setIsSelectionChange({
243
+ isChange: true,
244
+ type: 'all',
245
+ rowData: {},
246
+ rowsData: []
247
+ });
248
+ table.getToggleAllRowsSelectedHandler()(e);
249
+ }
250
+ }), header.column.id !== 'selection_column' && /*#__PURE__*/_react.default.createElement("span", {
251
+ className: "ui-rc-table-column-title",
252
+ style: {
253
+ flex: 1
254
+ }
255
+ }, /*#__PURE__*/_react.default.createElement("div", {
256
+ className: (0, _classnames.default)('', {
257
+ [`${prefix}-grid-cell-ellipsis`]: !wrapSettings || !(wrapSettings && (wrapSettings.wrapMode === 'Both' || wrapSettings.wrapMode === 'Header')),
258
+ [`${prefix}-grid-cell-text-wrap`]: wrapSettings && (wrapSettings.wrapMode === 'Both' || wrapSettings.wrapMode === 'Header')
259
+ })
260
+ }, cellContent)), !_hooks.nonActionColumn.includes(header.column.id) && header.subHeaders.length < 2 && /*#__PURE__*/_react.default.createElement("span", {
261
+ className: "ui-rc-header-trigger"
262
+ }, header.column.getCanSort() && /*#__PURE__*/_react.default.createElement("div", {
263
+ style: {
264
+ marginInlineEnd: 6,
265
+ cursor: 'pointer'
266
+ },
267
+ onClick: e => {
268
+ setSorterChange(true);
269
+ const toggleSortingHandler = header.column.getToggleSortingHandler();
270
+ if (typeof toggleSortingHandler === 'function') {
271
+ toggleSortingHandler(e);
272
+ }
273
+ }
274
+ }, header.column.getIsSorted() ? header.column.getIsSorted() === 'asc' ? /*#__PURE__*/_react.default.createElement(_becoxyIcons.ArrowUp, {
275
+ fontSize: 15,
276
+ color: '#000'
277
+ // data-tooltip-id={`${id}-tooltip-header-trigger`}
278
+ ,
279
+ "data-tooltip-id": `${id}-tooltip-content`
280
+ // data-tooltip-content='Nhấp để sắp xếp giảm dần'
281
+ ,
282
+ "data-tooltip-content": locale?.triggerDesc ?? 'Click to sort descending'
283
+ }) : /*#__PURE__*/_react.default.createElement(_becoxyIcons.ArrowDown, {
284
+ fontSize: 15,
285
+ color: '#000',
286
+ "data-tooltip-id": `${id}-tooltip-content`
287
+ // data-tooltip-id={`${id}-tooltip-header-trigger`}
288
+ // data-tooltip-content='Nhấp để hủy sắp xếp'
289
+ ,
290
+ "data-tooltip-content": locale?.cancelSort ?? 'Click to cancel sorting'
291
+ }) : /*#__PURE__*/_react.default.createElement(_becoxyIcons.SortCancel
292
+ // data-tooltip-id={`${id}-tooltip-header-trigger`}
293
+ , {
294
+ "data-tooltip-id": `${id}-tooltip-content`
295
+ // data-tooltip-content='Nhấp để sắp xếp tăng dần'
296
+ ,
297
+ "data-tooltip-content": locale?.triggerAsc ?? 'Click to sort ascending',
298
+ fontSize: 15,
299
+ style: {
300
+ display: 'flex'
301
+ },
302
+ className: (0, _classnames.default)(`ui-rc-table-column-sorter-cancel`, {
303
+ active: true
304
+ })
305
+ })), header.column.getCanFilter() && /*#__PURE__*/_react.default.createElement("span", null, /*#__PURE__*/_react.default.createElement(_rcMasterUi.Dropdown, mergedDropdownProps)))), header.column.getCanResize() && /*#__PURE__*/_react.default.createElement("div", {
306
+ onDoubleClick: () => header.column.resetSize(),
307
+ onMouseDown: header.getResizeHandler(),
308
+ onTouchStart: header.getResizeHandler(),
309
+ // onMouseUp: () => {
310
+ // requestAnimationFrame(() => {
311
+ // columnVirtualizer.measure()
312
+ // // rowHeaderVirtualizer.measure()
313
+ // })
314
+ // },
315
+
316
+ className: `resizer ${header.column.getIsResizing() ? 'isResizing' : ''}`
317
+ }));
318
+ };
319
+ var _default = exports.default = TableHeadCell;
@@ -0,0 +1,17 @@
1
+ import type { Table } from '@tanstack/react-table';
2
+ import { type Header } from '@tanstack/react-table';
3
+ import React from 'react';
4
+ import type { Virtualizer } from '@tanstack/react-virtual';
5
+ interface TableHeadCellProps<T> {
6
+ t?: any;
7
+ table: Table<T>;
8
+ column: any;
9
+ header: Header<T, unknown>;
10
+ getPopupContainer?: (triggerNode: HTMLElement) => HTMLElement;
11
+ columnVirtualizer: Virtualizer<HTMLDivElement, HTMLTableCellElement>;
12
+ colSpan: number;
13
+ rowSpan: number;
14
+ depth: number;
15
+ }
16
+ declare const TableHeadCell2: <RecordType extends object>(props: TableHeadCellProps<RecordType>) => React.JSX.Element;
17
+ export default TableHeadCell2;
@@ -0,0 +1,330 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _reactTable = require("@tanstack/react-table");
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ var _antd = require("antd");
11
+ var _becoxyIcons = require("becoxy-icons");
12
+ var _classnames = _interopRequireDefault(require("classnames"));
13
+ var _rcMasterUi = require("rc-master-ui");
14
+ var _utils = require("../hook/utils");
15
+ var _useContext = require("../useContext");
16
+ var _renderFilter = require("./renderFilter");
17
+ var _server = _interopRequireDefault(require("react-dom/server"));
18
+ var _hooks = require("../../grid-component/hooks");
19
+ 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); }
20
+ 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; }
21
+ const TableHeadCell2 = props => {
22
+ const {
23
+ column,
24
+ header,
25
+ getPopupContainer,
26
+ table,
27
+ depth,
28
+ colSpan,
29
+ rowSpan
30
+ } = props;
31
+ const {
32
+ t,
33
+ prefix,
34
+ setSorterChange,
35
+ setFilterChange,
36
+ wrapSettings,
37
+ selectionSettings,
38
+ isSelectionChange,
39
+ setIsSelectionChange,
40
+ id,
41
+ locale,
42
+ format,
43
+ dataSourceFilter
44
+ } = (0, _react.useContext)(_useContext.TableContext);
45
+ const isPinned = column.getIsPinned();
46
+ const isLastLeftPinnedColumn = isPinned === 'left' && column.getIsLastColumn('left');
47
+ const isFirstRightPinnedColumn = isPinned === 'right' && column.getIsFirstColumn('right');
48
+ const [selectedKeys, setSelectedKeys] = _react.default.useState([]);
49
+ const [visible, setVisible] = _react.default.useState(false);
50
+ const {
51
+ filterIcon
52
+ } = column.columnDef.meta ?? {};
53
+ const originalColumn = column.columnDef.meta ?? {};
54
+ const cellStyles = typeof originalColumn.onCellHeaderStyles === 'function' ? originalColumn.onCellHeaderStyles(header) : originalColumn.onCellHeaderStyles;
55
+ const filtered = (column.getFilterValue() ?? []).length > 0;
56
+ const cellContent = (0, _reactTable.flexRender)(column.columnDef.header, header.getContext());
57
+ const html = _server.default.renderToStaticMarkup( /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, cellContent));
58
+ const hasValue = html.trim().length > 0;
59
+ const style = {
60
+ transition: 'width transform 0.2s ease-in-out',
61
+ whiteSpace: 'nowrap',
62
+ ...cellStyles
63
+ };
64
+ const getDropdownTrigger = () => {
65
+ let iconFilter;
66
+ if (typeof filterIcon === 'function') {
67
+ iconFilter = filterIcon(filtered);
68
+ } else if (filterIcon) {
69
+ iconFilter = filterIcon;
70
+ } else {
71
+ iconFilter = /*#__PURE__*/_react.default.createElement(_becoxyIcons.FilterFill, {
72
+ style: {
73
+ color: filtered ? '#E3165B' : '#283046'
74
+ },
75
+ fontSize: 12
76
+ });
77
+ }
78
+ return /*#__PURE__*/_react.default.createElement("span", {
79
+ role: "button",
80
+ tabIndex: -1,
81
+ className: (0, _classnames.default)(`${prefix}-trigger`, {
82
+ active: filtered
83
+ }),
84
+ onClick: e => {
85
+ e.stopPropagation();
86
+ }
87
+ }, iconFilter);
88
+ };
89
+ const triggerVisible = newVisible => {
90
+ setVisible(newVisible);
91
+ };
92
+ const onVisibleChange = (newVisible, info) => {
93
+ if (info.source === 'trigger') {
94
+ if (newVisible) {
95
+ const filterValue = column.getFilterValue() ?? [];
96
+ const operatorValue = column.getFilterOperator() ?? (0, _utils.getDefaultOperator)(column.columnDef?.meta ?? {});
97
+ setSelectedKeys(filterValue);
98
+ column.setFilterOperator?.(operatorValue);
99
+ setTimeout(() => {
100
+ const inputFilter = document.querySelector('.filter-input');
101
+ if (inputFilter) {
102
+ inputFilter.focus();
103
+ }
104
+ }, 200);
105
+ } else {}
106
+ triggerVisible(newVisible);
107
+ }
108
+ };
109
+ const doFilter = type => {
110
+ if (type) {
111
+ column.setFilterValue(!originalColumn.typeFilter || originalColumn.typeFilter === 'Text' ? selectedKeys.length === 0 ? [''] : selectedKeys : selectedKeys);
112
+ } else {
113
+ column.setFilterValue(undefined);
114
+ setSelectedKeys([]);
115
+ }
116
+ setFilterChange(true);
117
+ triggerVisible(false);
118
+ setTimeout(() => {
119
+ setFilterChange(false);
120
+ }, 10);
121
+ };
122
+ const mergedDropdownProps = (0, _utils.extendsObject)({
123
+ trigger: ['click'],
124
+ placement: 'bottomRight',
125
+ // placement: direction === 'rtl' ? 'bottomLeft' : 'bottomRight',
126
+ children: getDropdownTrigger(),
127
+ getPopupContainer
128
+ }, {
129
+ // ...filterDropdownProps,
130
+ // rootClassName: classNames(rootClassName, filterDropdownProps.rootClassName),
131
+ open: visible,
132
+ onOpenChange: onVisibleChange,
133
+ destroyPopupOnHide: true,
134
+ dropdownRender: () => {
135
+ const type = (0, _utils.getTypeFilter)(originalColumn);
136
+ const operatorValue = column.getFilterOperator() ?? (0, _utils.getDefaultOperator)(originalColumn);
137
+ const operatorOptions = ['Checkbox', 'Dropdown', 'DropTree', 'CheckboxDropdown'].includes(type) ? _hooks.booleanOperator : !type || type === 'Text' ? _hooks.stringOperator : _hooks.numberOperator;
138
+ return /*#__PURE__*/_react.default.createElement("div", {
139
+ // className='ui-rc-table-filter-dropdown'
140
+
141
+ className: (0, _classnames.default)(`${prefix}-grid-filter-dropdown`, {}),
142
+ style: {}
143
+ }, /*#__PURE__*/_react.default.createElement("div", {
144
+ style: {
145
+ minWidth: 275,
146
+ padding: '8px'
147
+ }
148
+ }, /*#__PURE__*/_react.default.createElement("div", null), column.columnDef?.meta?.hideOperator === true && column.columnDef?.meta?.typeFilter !== 'DateRange' && column.columnDef?.meta?.typeFilter !== 'NumberRange' && /*#__PURE__*/_react.default.createElement("div", {
149
+ className: 'mb-1'
150
+ }, /*#__PURE__*/_react.default.createElement(_rcMasterUi.Select, {
151
+ options: (0, _hooks.translateOption)(operatorOptions, t),
152
+ style: {
153
+ width: '100%',
154
+ marginBottom: 8
155
+ },
156
+ value: operatorValue,
157
+ onChange: val => {
158
+ column.setFilterOperator(val);
159
+ }
160
+ })), /*#__PURE__*/_react.default.createElement("div", {
161
+ style: {
162
+ marginBottom: 8
163
+ }
164
+ }, (0, _renderFilter.renderFilter)({
165
+ column: column.columnDef,
166
+ selectedKeys,
167
+ setSelectedKeys,
168
+ doFilter,
169
+ format,
170
+ dataSourceFilter
171
+
172
+ // selectedKeys: (column.getFilterValue() ?? []) as string[],
173
+ // setSelectedKeys: column.setFilterValue,
174
+ })), /*#__PURE__*/_react.default.createElement(_antd.Space, {
175
+ style: {
176
+ justifyContent: 'end',
177
+ width: '100%'
178
+ }
179
+ }, /*#__PURE__*/_react.default.createElement(_antd.Button, {
180
+ type: "primary",
181
+ onClick: () => {
182
+ // column.setFilterValue(selectedKeys)
183
+
184
+ doFilter(true);
185
+ },
186
+ size: "small",
187
+ style: {
188
+ width: 90
189
+ }
190
+ }, t ? t('Filter') : 'Filter'), /*#__PURE__*/_react.default.createElement(_antd.Button, {
191
+ type: "link",
192
+ size: "small",
193
+ onClick: () => {
194
+ // column.setFilterValue([])
195
+ // column.setFilterOperator('')
196
+
197
+ setSelectedKeys([]);
198
+ doFilter(false);
199
+ }
200
+ }, t ? t('Clear') : 'Clear'))));
201
+
202
+ // if (typeof filterDropdownProps?.dropdownRender === 'function') {
203
+ // return filterDropdownProps.dropdownRender(dropdownContent);
204
+ // }
205
+ // return dropdownContent;
206
+ }
207
+ });
208
+ return /*#__PURE__*/_react.default.createElement("div", {
209
+ // ref={setNodeRef}
210
+ className: (0, _classnames.default)(`${prefix}-grid-cell`, {
211
+ [`${prefix}-grid-cell-ellipsis`]: !wrapSettings || !(wrapSettings && (wrapSettings.wrapMode === 'Both' || wrapSettings.wrapMode === 'Header')),
212
+ [`${prefix}-grid-cell-wrap`]: wrapSettings && (wrapSettings.wrapMode === 'Both' || wrapSettings.wrapMode === 'Header'),
213
+ [`${prefix}-grid-cell-fix-left-last`]: isLastLeftPinnedColumn,
214
+ [`${prefix}-grid-cell-fix-right-first`]: isFirstRightPinnedColumn,
215
+ [`${prefix}-grid-cell-text-center`]: (originalColumn?.headerTextAlign ?? originalColumn?.textAlign) === 'center',
216
+ [`${prefix}-grid-cell-text-right`]: (originalColumn?.headerTextAlign ?? originalColumn.textAlign) === 'right'
217
+ }),
218
+ key: column.id,
219
+ style: {
220
+ ...style,
221
+ minWidth: column.getSize(),
222
+ gridRow: `${depth + 1} / span ${rowSpan}`,
223
+ gridColumn: `span ${colSpan}`,
224
+ ...(0, _utils.getCommonPinningStyles)(column),
225
+ width: 'auto'
226
+ },
227
+ "data-tooltip-id": `${id}-tooltip-content`,
228
+ "data-tooltip-delay-show": 500,
229
+ "data-tooltip-html": !hasValue ? '' : _server.default.renderToStaticMarkup( /*#__PURE__*/_react.default.createElement("div", null, cellContent))
230
+ }, /*#__PURE__*/_react.default.createElement("div", {
231
+ className: (0, _classnames.default)('', {
232
+ [`${prefix}-grid-filter-column`]: column.id !== 'selection_column',
233
+ [`${prefix}-grid-selection-column`]: column.id === 'selection_column'
234
+ })
235
+ }, column.id === 'selection_column' && selectionSettings && selectionSettings.hideSelectAll !== true && selectionSettings.type !== 'single' && selectionSettings.mode !== 'radio' && /*#__PURE__*/_react.default.createElement(_rcMasterUi.Checkbox, {
236
+ checked: table.getIsAllRowsSelected(),
237
+ indeterminate: table.getIsSomePageRowsSelected(),
238
+ onChange: e => {
239
+ table.getToggleAllRowsSelectedHandler()(e);
240
+ const prevSelected = isSelectionChange?.rowsData ?? [];
241
+ const allRowsInPage = table.getRowModel().flatRows;
242
+ if (table.getIsAllRowsSelected()) {
243
+ const cc = (0, _utils.excludeItems)(prevSelected, allRowsInPage);
244
+ setIsSelectionChange({
245
+ isChange: true,
246
+ type: 'all',
247
+ rowData: {},
248
+ rowsData: cc
249
+ });
250
+ } else {
251
+ const abc = [...prevSelected, ...allRowsInPage];
252
+ const newSeletedRows = (0, _utils.removeDuplicatesByKey)(abc, 'id');
253
+ setIsSelectionChange({
254
+ isChange: true,
255
+ type: 'all',
256
+ rowData: {},
257
+ rowsData: newSeletedRows
258
+ });
259
+ }
260
+ }
261
+ }), column.id !== 'selection_column' && /*#__PURE__*/_react.default.createElement("span", {
262
+ className: "ui-rc-table-column-title",
263
+ style: {
264
+ flex: 1
265
+ }
266
+ }, /*#__PURE__*/_react.default.createElement("div", {
267
+ className: (0, _classnames.default)('', {
268
+ [`${prefix}-grid-cell-ellipsis`]: !wrapSettings || !(wrapSettings && (wrapSettings.wrapMode === 'Both' || wrapSettings.wrapMode === 'Header')),
269
+ [`${prefix}-grid-cell-text-wrap`]: wrapSettings && (wrapSettings.wrapMode === 'Both' || wrapSettings.wrapMode === 'Header')
270
+ })
271
+ }, cellContent)), !_hooks.nonActionColumn.includes(column.id) && column.columns.length < 1 && /*#__PURE__*/_react.default.createElement("span", {
272
+ className: "ui-rc-header-trigger"
273
+ }, column.getCanSort() && /*#__PURE__*/_react.default.createElement("div", {
274
+ style: {
275
+ marginInlineEnd: 6,
276
+ cursor: 'pointer'
277
+ },
278
+ onClick: e => {
279
+ setSorterChange(true);
280
+ const toggleSortingHandler = column.getToggleSortingHandler();
281
+ if (typeof toggleSortingHandler === 'function') {
282
+ toggleSortingHandler(e);
283
+ }
284
+ }
285
+ }, column.getIsSorted() ? column.getIsSorted() === 'asc' ? /*#__PURE__*/_react.default.createElement(_becoxyIcons.ArrowUp, {
286
+ fontSize: 15,
287
+ color: '#000'
288
+ // data-tooltip-id={`${id}-tooltip-header-trigger`}
289
+ ,
290
+ "data-tooltip-id": `${id}-tooltip-content`
291
+ // data-tooltip-content='Nhấp để sắp xếp giảm dần'
292
+ ,
293
+ "data-tooltip-content": locale?.triggerDesc ?? 'Click to sort descending'
294
+ }) : /*#__PURE__*/_react.default.createElement(_becoxyIcons.ArrowDown, {
295
+ fontSize: 15,
296
+ color: '#000',
297
+ "data-tooltip-id": `${id}-tooltip-content`
298
+ // data-tooltip-id={`${id}-tooltip-header-trigger`}
299
+ // data-tooltip-content='Nhấp để hủy sắp xếp'
300
+ ,
301
+ "data-tooltip-content": locale?.cancelSort ?? 'Click to cancel sorting'
302
+ }) : /*#__PURE__*/_react.default.createElement(_becoxyIcons.SortCancel
303
+ // data-tooltip-id={`${id}-tooltip-header-trigger`}
304
+ , {
305
+ "data-tooltip-id": `${id}-tooltip-content`
306
+ // data-tooltip-content='Nhấp để sắp xếp tăng dần'
307
+ ,
308
+ "data-tooltip-content": locale?.triggerAsc ?? 'Click to sort ascending',
309
+ fontSize: 15,
310
+ style: {
311
+ display: 'flex'
312
+ },
313
+ className: (0, _classnames.default)(`ui-rc-table-column-sorter-cancel`, {
314
+ active: true
315
+ })
316
+ })), column.getCanFilter() && /*#__PURE__*/_react.default.createElement("span", null, /*#__PURE__*/_react.default.createElement(_rcMasterUi.Dropdown, mergedDropdownProps)))), column.getCanResize() && /*#__PURE__*/_react.default.createElement("div", {
317
+ onDoubleClick: () => column.resetSize(),
318
+ onMouseDown: header.getResizeHandler(),
319
+ onTouchStart: header.getResizeHandler(),
320
+ // onMouseUp: () => {
321
+ // requestAnimationFrame(() => {
322
+ // columnVirtualizer.measure()
323
+ // // rowHeaderVirtualizer.measure()
324
+ // })
325
+ // },
326
+
327
+ className: `resizer ${column.getIsResizing() ? 'isResizing' : ''}`
328
+ }));
329
+ };
330
+ var _default = exports.default = TableHeadCell2;
@@ -0,0 +1,17 @@
1
+ import type { Table } from '@tanstack/react-table';
2
+ import { type Header } from '@tanstack/react-table';
3
+ import React from 'react';
4
+ import type { Virtualizer } from '@tanstack/react-virtual';
5
+ interface TableHeadCellProps<T> {
6
+ t?: any;
7
+ table: Table<T>;
8
+ column: any;
9
+ header: Header<T, unknown>;
10
+ getPopupContainer?: (triggerNode: HTMLElement) => HTMLElement;
11
+ columnVirtualizer: Virtualizer<HTMLDivElement, HTMLTableCellElement>;
12
+ colSpan: number;
13
+ rowSpan: number;
14
+ depth: number;
15
+ }
16
+ declare const TableHeadGroupCell: <RecordType extends object>(props: TableHeadCellProps<RecordType>) => React.JSX.Element;
17
+ export default TableHeadGroupCell;