es-grid-template 1.8.71 → 1.8.72

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 (235) hide show
  1. package/es/grid-component/TempTable.js +2 -1
  2. package/es/group-component/ColumnsChoose.d.ts +13 -0
  3. package/es/group-component/ColumnsChoose.js +211 -0
  4. package/es/group-component/ColumnsGroup/ColumnsGroup.d.ts +12 -0
  5. package/es/group-component/ColumnsGroup/ColumnsGroup.js +230 -0
  6. package/es/group-component/ColumnsGroup/index.d.ts +1 -0
  7. package/es/group-component/ColumnsGroup/index.js +1 -0
  8. package/es/group-component/ContextMenu.d.ts +19 -0
  9. package/es/group-component/ContextMenu.js +74 -0
  10. package/es/group-component/InternalTable.d.ts +8 -0
  11. package/es/group-component/InternalTable.js +224 -0
  12. package/es/group-component/TableContainer.d.ts +49 -0
  13. package/es/group-component/TableContainer.js +375 -0
  14. package/es/group-component/TableContainerEdit.d.ts +48 -0
  15. package/es/group-component/TableContainerEdit.js +2068 -0
  16. package/es/group-component/body/EditableCell.d.ts +16 -0
  17. package/es/group-component/body/EditableCell.js +1066 -0
  18. package/es/group-component/body/TableBody.d.ts +14 -0
  19. package/es/group-component/body/TableBody.js +82 -0
  20. package/es/group-component/body/TableBodyCell.d.ts +12 -0
  21. package/es/group-component/body/TableBodyCell.js +587 -0
  22. package/es/group-component/body/TableBodyCellEdit.d.ts +17 -0
  23. package/es/group-component/body/TableBodyCellEdit.js +1398 -0
  24. package/es/group-component/body/TableBodyCellEmpty.d.ts +12 -0
  25. package/es/group-component/body/TableBodyCellEmpty.js +149 -0
  26. package/es/group-component/body/TableBodyRow.d.ts +21 -0
  27. package/es/group-component/body/TableBodyRow.js +199 -0
  28. package/es/group-component/body/TableBodyRowGroupCell.d.ts +12 -0
  29. package/es/group-component/body/TableBodyRowGroupCell.js +567 -0
  30. package/es/group-component/components/ControlCheckbox.d.ts +13 -0
  31. package/es/group-component/components/ControlCheckbox.js +84 -0
  32. package/es/group-component/components/EditForm/EditForm.d.ts +27 -0
  33. package/es/group-component/components/EditForm/EditForm.js +394 -0
  34. package/es/group-component/components/EditForm/index.d.ts +1 -0
  35. package/es/group-component/components/EditForm/index.js +1 -0
  36. package/es/group-component/components/InputControl/InputControl.d.ts +27 -0
  37. package/es/group-component/components/InputControl/InputControl.js +118 -0
  38. package/es/group-component/components/InputControl/index.d.ts +1 -0
  39. package/es/group-component/components/InputControl/index.js +1 -0
  40. package/es/group-component/components/async-select/index.d.ts +11 -0
  41. package/es/group-component/components/async-select/index.js +38 -0
  42. package/es/group-component/components/async-table-select/index.d.ts +11 -0
  43. package/es/group-component/components/async-table-select/index.js +40 -0
  44. package/es/group-component/components/checkbox-control/index.d.ts +13 -0
  45. package/es/group-component/components/checkbox-control/index.js +40 -0
  46. package/es/group-component/components/checkbox-filter/CheckboxFilter.d.ts +18 -0
  47. package/es/group-component/components/checkbox-filter/CheckboxFilter.js +258 -0
  48. package/es/group-component/components/checkbox-filter/FilterSearch.d.ts +12 -0
  49. package/es/group-component/components/checkbox-filter/FilterSearch.js +36 -0
  50. package/es/group-component/components/command/Command.d.ts +10 -0
  51. package/es/group-component/components/command/Command.js +35 -0
  52. package/es/group-component/components/number/index.d.ts +12 -0
  53. package/es/group-component/components/number/index.js +42 -0
  54. package/es/group-component/components/number-range/index.d.ts +13 -0
  55. package/es/group-component/components/number-range/index.js +79 -0
  56. package/es/group-component/features/operator.d.ts +24 -0
  57. package/es/group-component/features/operator.js +62 -0
  58. package/es/group-component/footer/TableFooter.d.ts +7 -0
  59. package/es/group-component/footer/TableFooter.js +34 -0
  60. package/es/group-component/footer/TableFooterCell.d.ts +7 -0
  61. package/es/group-component/footer/TableFooterCell.js +66 -0
  62. package/es/group-component/footer/TableFooterRow.d.ts +8 -0
  63. package/es/group-component/footer/TableFooterRow.js +30 -0
  64. package/es/group-component/header/TableHead.d.ts +15 -0
  65. package/es/group-component/header/TableHead.js +98 -0
  66. package/es/group-component/header/TableHeadCell.d.ts +15 -0
  67. package/es/group-component/header/TableHeadCell.js +310 -0
  68. package/es/group-component/header/TableHeadCell2.d.ts +17 -0
  69. package/es/group-component/header/TableHeadCell2.js +321 -0
  70. package/es/group-component/header/TableHeadGroupCell.d.ts +17 -0
  71. package/es/group-component/header/TableHeadGroupCell.js +94 -0
  72. package/es/group-component/header/TableHeadRow.d.ts +15 -0
  73. package/es/group-component/header/TableHeadRow.js +52 -0
  74. package/es/group-component/header/renderFilter.d.ts +20 -0
  75. package/es/group-component/header/renderFilter.js +291 -0
  76. package/es/group-component/hook/convert.d.ts +1 -0
  77. package/es/group-component/hook/convert.js +28 -0
  78. package/es/group-component/hook/useColumns.d.ts +28 -0
  79. package/es/group-component/hook/useColumns.js +306 -0
  80. package/es/group-component/hook/useFilterOperator.d.ts +7 -0
  81. package/es/group-component/hook/useFilterOperator.js +33 -0
  82. package/es/group-component/hook/utils.d.ts +220 -0
  83. package/es/group-component/hook/utils.js +2340 -0
  84. package/es/group-component/index.d.ts +2 -0
  85. package/es/group-component/index.js +2 -0
  86. package/es/group-component/style.d.ts +22 -0
  87. package/es/group-component/style.js +48 -0
  88. package/es/group-component/style.scss +1438 -0
  89. package/es/group-component/table/Grid.d.ts +33 -0
  90. package/es/group-component/table/Grid.js +438 -0
  91. package/es/group-component/table/TableWrapper.d.ts +33 -0
  92. package/es/group-component/table/TableWrapper.js +250 -0
  93. package/es/group-component/useContext.d.ts +100 -0
  94. package/es/group-component/useContext.js +21 -0
  95. package/es/table-component/InternalTable.js +6 -1
  96. package/es/table-component/TableContainer.js +4 -2
  97. package/es/table-component/body/TableBodyCell.js +49 -40
  98. package/es/table-component/body/TableBodyRow.js +4 -1
  99. package/es/table-component/hook/utils.d.ts +1 -0
  100. package/es/table-component/hook/utils.js +15 -7
  101. package/es/table-component/style.js +1 -1
  102. package/es/table-component/table/Grid.js +3 -0
  103. package/es/table-component/useContext.d.ts +5 -0
  104. package/es/table-virtuoso/InternalTable.js +2 -2
  105. package/es/table-virtuoso/body/TableBodyCell.js +2 -7
  106. package/es/table-virtuoso/body/TableBodyCellRowGroup.d.ts +14 -0
  107. package/es/table-virtuoso/body/TableBodyCellRowGroup.js +196 -0
  108. package/es/table-virtuoso/body/TableBodyRow.d.ts +1 -1
  109. package/es/table-virtuoso/body/TableBodyRow.js +43 -1
  110. package/es/table-virtuoso/hook/utils.d.ts +1 -0
  111. package/es/table-virtuoso/hook/utils.js +29 -0
  112. package/es/table-virtuoso/style.js +3 -1
  113. package/es/table-virtuoso/table/Grid.js +2 -2
  114. package/es/table-virtuoso/table/TableWrapper.d.ts +7 -1
  115. package/es/table-virtuoso/table/TableWrapper.js +24 -5
  116. package/es/table-virtuoso/useContext.d.ts +6 -3
  117. package/es/table-virtuoso/useContext.js +18 -0
  118. package/lib/grid-component/TempTable.js +2 -1
  119. package/lib/group-component/ColumnsChoose.d.ts +13 -0
  120. package/lib/group-component/ColumnsChoose.js +221 -0
  121. package/lib/group-component/ColumnsGroup/ColumnsGroup.d.ts +12 -0
  122. package/lib/group-component/ColumnsGroup/ColumnsGroup.js +241 -0
  123. package/lib/group-component/ColumnsGroup/index.d.ts +1 -0
  124. package/lib/group-component/ColumnsGroup/index.js +16 -0
  125. package/lib/group-component/ContextMenu.d.ts +19 -0
  126. package/lib/group-component/ContextMenu.js +83 -0
  127. package/lib/group-component/InternalTable.d.ts +8 -0
  128. package/lib/group-component/InternalTable.js +233 -0
  129. package/lib/group-component/TableContainer.d.ts +49 -0
  130. package/lib/group-component/TableContainer.js +382 -0
  131. package/lib/group-component/TableContainerEdit.d.ts +48 -0
  132. package/lib/group-component/TableContainerEdit.js +2075 -0
  133. package/lib/group-component/body/EditableCell.d.ts +16 -0
  134. package/lib/group-component/body/EditableCell.js +1075 -0
  135. package/lib/group-component/body/TableBody.d.ts +14 -0
  136. package/lib/group-component/body/TableBody.js +91 -0
  137. package/lib/group-component/body/TableBodyCell.d.ts +12 -0
  138. package/lib/group-component/body/TableBodyCell.js +595 -0
  139. package/lib/group-component/body/TableBodyCellEdit.d.ts +17 -0
  140. package/lib/group-component/body/TableBodyCellEdit.js +1405 -0
  141. package/lib/group-component/body/TableBodyCellEmpty.d.ts +12 -0
  142. package/lib/group-component/body/TableBodyCellEmpty.js +156 -0
  143. package/lib/group-component/body/TableBodyRow.d.ts +21 -0
  144. package/lib/group-component/body/TableBodyRow.js +206 -0
  145. package/lib/group-component/body/TableBodyRowGroupCell.d.ts +12 -0
  146. package/lib/group-component/body/TableBodyRowGroupCell.js +575 -0
  147. package/lib/group-component/components/ControlCheckbox.d.ts +13 -0
  148. package/lib/group-component/components/ControlCheckbox.js +92 -0
  149. package/lib/group-component/components/EditForm/EditForm.d.ts +27 -0
  150. package/lib/group-component/components/EditForm/EditForm.js +404 -0
  151. package/lib/group-component/components/EditForm/index.d.ts +1 -0
  152. package/lib/group-component/components/EditForm/index.js +16 -0
  153. package/lib/group-component/components/InputControl/InputControl.d.ts +27 -0
  154. package/lib/group-component/components/InputControl/InputControl.js +127 -0
  155. package/lib/group-component/components/InputControl/index.d.ts +1 -0
  156. package/lib/group-component/components/InputControl/index.js +16 -0
  157. package/lib/group-component/components/async-select/index.d.ts +11 -0
  158. package/lib/group-component/components/async-select/index.js +47 -0
  159. package/lib/group-component/components/async-table-select/index.d.ts +11 -0
  160. package/lib/group-component/components/async-table-select/index.js +49 -0
  161. package/lib/group-component/components/checkbox-control/index.d.ts +13 -0
  162. package/lib/group-component/components/checkbox-control/index.js +48 -0
  163. package/lib/group-component/components/checkbox-filter/CheckboxFilter.d.ts +18 -0
  164. package/lib/group-component/components/checkbox-filter/CheckboxFilter.js +267 -0
  165. package/lib/group-component/components/checkbox-filter/FilterSearch.d.ts +12 -0
  166. package/lib/group-component/components/checkbox-filter/FilterSearch.js +44 -0
  167. package/lib/group-component/components/command/Command.d.ts +10 -0
  168. package/lib/group-component/components/command/Command.js +44 -0
  169. package/lib/group-component/components/number/index.d.ts +12 -0
  170. package/lib/group-component/components/number/index.js +50 -0
  171. package/lib/group-component/components/number-range/index.d.ts +13 -0
  172. package/lib/group-component/components/number-range/index.js +87 -0
  173. package/lib/group-component/features/operator.d.ts +24 -0
  174. package/lib/group-component/features/operator.js +67 -0
  175. package/lib/group-component/footer/TableFooter.d.ts +7 -0
  176. package/lib/group-component/footer/TableFooter.js +44 -0
  177. package/lib/group-component/footer/TableFooterCell.d.ts +7 -0
  178. package/lib/group-component/footer/TableFooterCell.js +75 -0
  179. package/lib/group-component/footer/TableFooterRow.d.ts +8 -0
  180. package/lib/group-component/footer/TableFooterRow.js +37 -0
  181. package/lib/group-component/header/TableHead.d.ts +15 -0
  182. package/lib/group-component/header/TableHead.js +107 -0
  183. package/lib/group-component/header/TableHeadCell.d.ts +15 -0
  184. package/lib/group-component/header/TableHeadCell.js +319 -0
  185. package/lib/group-component/header/TableHeadCell2.d.ts +17 -0
  186. package/lib/group-component/header/TableHeadCell2.js +330 -0
  187. package/lib/group-component/header/TableHeadGroupCell.d.ts +17 -0
  188. package/lib/group-component/header/TableHeadGroupCell.js +103 -0
  189. package/lib/group-component/header/TableHeadRow.d.ts +15 -0
  190. package/lib/group-component/header/TableHeadRow.js +59 -0
  191. package/lib/group-component/header/renderFilter.d.ts +20 -0
  192. package/lib/group-component/header/renderFilter.js +301 -0
  193. package/lib/group-component/hook/convert.d.ts +1 -0
  194. package/lib/group-component/hook/convert.js +34 -0
  195. package/lib/group-component/hook/useColumns.d.ts +28 -0
  196. package/lib/group-component/hook/useColumns.js +318 -0
  197. package/lib/group-component/hook/useFilterOperator.d.ts +7 -0
  198. package/lib/group-component/hook/useFilterOperator.js +40 -0
  199. package/lib/group-component/hook/utils.d.ts +220 -0
  200. package/lib/group-component/hook/utils.js +2468 -0
  201. package/lib/group-component/index.d.ts +2 -0
  202. package/lib/group-component/index.js +9 -0
  203. package/lib/group-component/style.d.ts +22 -0
  204. package/lib/group-component/style.js +55 -0
  205. package/lib/group-component/style.scss +1438 -0
  206. package/lib/group-component/table/Grid.d.ts +33 -0
  207. package/lib/group-component/table/Grid.js +443 -0
  208. package/lib/group-component/table/TableWrapper.d.ts +33 -0
  209. package/lib/group-component/table/TableWrapper.js +259 -0
  210. package/lib/group-component/useContext.d.ts +100 -0
  211. package/lib/group-component/useContext.js +27 -0
  212. package/lib/table-component/InternalTable.js +6 -1
  213. package/lib/table-component/TableContainer.js +4 -2
  214. package/lib/table-component/body/TableBodyCell.js +49 -40
  215. package/lib/table-component/body/TableBodyRow.js +4 -1
  216. package/lib/table-component/hook/utils.d.ts +1 -0
  217. package/lib/table-component/hook/utils.js +16 -7
  218. package/lib/table-component/style.js +1 -1
  219. package/lib/table-component/table/Grid.js +3 -0
  220. package/lib/table-component/useContext.d.ts +5 -0
  221. package/lib/table-virtuoso/InternalTable.js +2 -2
  222. package/lib/table-virtuoso/body/TableBodyCell.js +2 -7
  223. package/lib/table-virtuoso/body/TableBodyCellRowGroup.d.ts +14 -0
  224. package/lib/table-virtuoso/body/TableBodyCellRowGroup.js +203 -0
  225. package/lib/table-virtuoso/body/TableBodyRow.d.ts +1 -1
  226. package/lib/table-virtuoso/body/TableBodyRow.js +43 -1
  227. package/lib/table-virtuoso/hook/utils.d.ts +1 -0
  228. package/lib/table-virtuoso/hook/utils.js +32 -1
  229. package/lib/table-virtuoso/style.js +3 -1
  230. package/lib/table-virtuoso/table/Grid.js +2 -2
  231. package/lib/table-virtuoso/table/TableWrapper.d.ts +7 -1
  232. package/lib/table-virtuoso/table/TableWrapper.js +24 -5
  233. package/lib/table-virtuoso/useContext.d.ts +6 -3
  234. package/lib/table-virtuoso/useContext.js +18 -0
  235. package/package.json +1 -1
@@ -0,0 +1,103 @@
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 _classnames = _interopRequireDefault(require("classnames"));
11
+ var _rcMasterUi = require("rc-master-ui");
12
+ var _utils = require("../hook/utils");
13
+ var _useContext = require("../useContext");
14
+ var _server = _interopRequireDefault(require("react-dom/server"));
15
+ 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); }
16
+ 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; }
17
+ const TableHeadGroupCell = props => {
18
+ const {
19
+ column,
20
+ header,
21
+ table,
22
+ depth,
23
+ colSpan,
24
+ rowSpan
25
+ } = props;
26
+ const {
27
+ prefix,
28
+ wrapSettings,
29
+ selectionSettings,
30
+ setIsSelectionChange,
31
+ id
32
+ } = (0, _react.useContext)(_useContext.TableContext);
33
+ const isPinned = column.getIsPinned();
34
+ const isLastLeftPinnedColumn = isPinned === 'left' && column.getIsLastColumn('left');
35
+ const isFirstRightPinnedColumn = isPinned === 'right' && column.getIsFirstColumn('right');
36
+ const originalColumn = column.columnDef.meta ?? {};
37
+ const cellStyles = typeof originalColumn.onCellHeaderStyles === 'function' ? originalColumn.onCellHeaderStyles(header) : originalColumn.onCellHeaderStyles;
38
+ const cellContent = (0, _reactTable.flexRender)(column.columnDef.header, header.getContext());
39
+ const html = _server.default.renderToStaticMarkup( /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, cellContent));
40
+ const hasValue = html.trim().length > 0;
41
+ const style = {
42
+ transition: 'width transform 0.2s ease-in-out',
43
+ whiteSpace: 'nowrap',
44
+ ...cellStyles
45
+ };
46
+ return /*#__PURE__*/_react.default.createElement("div", {
47
+ // ref={setNodeRef}
48
+ className: (0, _classnames.default)(`${prefix}-grid-cell`, {
49
+ [`${prefix}-grid-cell-ellipsis`]: !wrapSettings || !(wrapSettings && (wrapSettings.wrapMode === 'Both' || wrapSettings.wrapMode === 'Header')),
50
+ [`${prefix}-grid-cell-wrap`]: wrapSettings && (wrapSettings.wrapMode === 'Both' || wrapSettings.wrapMode === 'Header'),
51
+ [`${prefix}-grid-cell-fix-left-last`]: isLastLeftPinnedColumn,
52
+ [`${prefix}-grid-cell-fix-right-first`]: isFirstRightPinnedColumn,
53
+ [`${prefix}-grid-cell-text-center`]: (originalColumn?.headerTextAlign ?? originalColumn?.textAlign) === 'center',
54
+ [`${prefix}-grid-cell-text-right`]: (originalColumn?.headerTextAlign ?? originalColumn.textAlign) === 'right'
55
+ }),
56
+ "data-col-span": colSpan,
57
+ key: header.id,
58
+ style: {
59
+ minWidth: column.getSize(),
60
+ flex: 1,
61
+ gridRow: `${depth + 1} / span ${rowSpan}`,
62
+ gridColumn: `span ${colSpan}`,
63
+ ...(0, _utils.getCommonPinningStyles2)(header),
64
+ width: 'auto',
65
+ ...style
66
+ },
67
+ "data-tooltip-id": `${id}-tooltip-content`,
68
+ "data-tooltip-html": !hasValue ? '' : _server.default.renderToStaticMarkup( /*#__PURE__*/_react.default.createElement("div", null, cellContent))
69
+ }, /*#__PURE__*/_react.default.createElement("div", {
70
+ className: (0, _classnames.default)('', {
71
+ [`${prefix}-grid-filter-column`]: column.id !== 'selection_column',
72
+ [`${prefix}-grid-selection-column`]: column.id === 'selection_column'
73
+ })
74
+ }, column.id === 'selection_column' && selectionSettings && selectionSettings.hideSelectAll !== false && selectionSettings.type !== 'single' && selectionSettings.mode !== 'radio' && /*#__PURE__*/_react.default.createElement(_rcMasterUi.Checkbox, {
75
+ checked: table.getIsAllRowsSelected(),
76
+ indeterminate: table.getIsSomeRowsSelected(),
77
+ onChange: e => {
78
+ setIsSelectionChange({
79
+ isChange: true,
80
+ type: 'all',
81
+ rowData: {},
82
+ rowsData: []
83
+ });
84
+ table.getToggleAllRowsSelectedHandler()(e);
85
+ }
86
+ }), column.id !== 'selection_column' && /*#__PURE__*/_react.default.createElement("span", {
87
+ className: "ui-rc-table-column-title",
88
+ style: {
89
+ flex: 1
90
+ }
91
+ }, /*#__PURE__*/_react.default.createElement("div", {
92
+ className: (0, _classnames.default)('', {
93
+ [`${prefix}-grid-cell-ellipsis`]: !wrapSettings || !(wrapSettings && (wrapSettings.wrapMode === 'Both' || wrapSettings.wrapMode === 'Header')),
94
+ [`${prefix}-grid-cell-text-wrap`]: wrapSettings && (wrapSettings.wrapMode === 'Both' || wrapSettings.wrapMode === 'Header')
95
+ })
96
+ }, cellContent))), column.getCanResize() && /*#__PURE__*/_react.default.createElement("div", {
97
+ onDoubleClick: () => column.resetSize(),
98
+ onMouseDown: header.getResizeHandler(),
99
+ onTouchStart: header.getResizeHandler(),
100
+ className: `resizer ${column.getIsResizing() ? 'isResizing' : ''}`
101
+ }));
102
+ };
103
+ var _default = exports.default = TableHeadGroupCell;
@@ -0,0 +1,15 @@
1
+ import type { Column } from '@tanstack/react-table';
2
+ import { type HeaderGroup, type Table } from '@tanstack/react-table';
3
+ import React from 'react';
4
+ import type { Virtualizer } from '@tanstack/react-virtual';
5
+ interface TableHeadRowProps<T> {
6
+ headerGroup: HeaderGroup<T>;
7
+ table: Table<T>;
8
+ columnVirtualizer: Virtualizer<HTMLDivElement, HTMLTableCellElement>;
9
+ virtualPaddingLeft: number | undefined;
10
+ virtualPaddingRight: number | undefined;
11
+ fixedLeftColumns: Column<T, unknown>[];
12
+ fixedRightColumns: Column<T, unknown>[];
13
+ }
14
+ declare const TableHeadRow: ({ table, headerGroup, columnVirtualizer, }: TableHeadRowProps<any>) => React.JSX.Element;
15
+ export default TableHeadRow;
@@ -0,0 +1,59 @@
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 _sortable = require("@dnd-kit/sortable");
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _useContext = require("../useContext");
11
+ var _TableHeadCell = _interopRequireDefault(require("./TableHeadCell"));
12
+ const TableHeadRow = ({
13
+ table,
14
+ headerGroup,
15
+ columnVirtualizer
16
+ }) => {
17
+ const {
18
+ prefix,
19
+ onRowHeaderStyles
20
+ } = _react.default.useContext(_useContext.TableContext);
21
+ const columnOrder = table.getState().columnOrder;
22
+ const rowStyles = typeof onRowHeaderStyles === 'function' ? onRowHeaderStyles() : onRowHeaderStyles;
23
+ return /*#__PURE__*/_react.default.createElement("div", {
24
+ key: headerGroup.id
25
+ // ref={el => {
26
+ // if (el) rowHeaderVirtualizer.measureElement(el)
27
+ // }}
28
+ ,
29
+
30
+ "data-index": headerGroup.id,
31
+ className: `${prefix}-grid-row ${prefix}-grid-header`,
32
+ style: {
33
+ ...rowStyles,
34
+ width: '100%'
35
+ }
36
+ }, /*#__PURE__*/_react.default.createElement(_sortable.SortableContext, {
37
+ items: columnOrder,
38
+ strategy: _sortable.horizontalListSortingStrategy
39
+ }, headerGroup.headers.map(header => {
40
+ const columnRelativeDepth = header.depth - header.column.depth;
41
+ if (columnRelativeDepth > 1) {
42
+ return null;
43
+ }
44
+ let rowSpan = 1;
45
+ if (header.isPlaceholder) {
46
+ const leafs = header.getLeafHeaders();
47
+ rowSpan = leafs[leafs.length - 1].depth - header.depth;
48
+ }
49
+ return /*#__PURE__*/_react.default.createElement(_TableHeadCell.default, {
50
+ key: header.id,
51
+ header: header,
52
+ table: table,
53
+ columnVirtualizer: columnVirtualizer,
54
+ colSpan: header.colSpan,
55
+ rowSpan: rowSpan
56
+ });
57
+ })));
58
+ };
59
+ var _default = exports.default = TableHeadRow;
@@ -0,0 +1,20 @@
1
+ import type { ColumnDef } from "@tanstack/react-table";
2
+ import React from "react";
3
+ import type { IFormat } from "../../grid-component/type";
4
+ type RenderFilterProps<RecordType> = {
5
+ column: ColumnDef<RecordType, unknown>;
6
+ selectedKeys: any[];
7
+ setSelectedKeys: (keys: any[]) => void;
8
+ t?: any;
9
+ locale?: any;
10
+ dataSourceFilter?: {
11
+ key: string;
12
+ data: any[];
13
+ }[];
14
+ format?: IFormat;
15
+ buddhistLocale?: any;
16
+ dateRangeLocale?: any;
17
+ doFilter?: (type: boolean) => void;
18
+ };
19
+ export declare const renderFilter: <RecordType>(args: RenderFilterProps<RecordType>) => React.JSX.Element;
20
+ export {};
@@ -0,0 +1,301 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.renderFilter = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _moment = _interopRequireDefault(require("moment/moment"));
10
+ var _rcMasterUi = require("rc-master-ui");
11
+ var _dayjs = _interopRequireDefault(require("dayjs"));
12
+ var _utils = require("../hook/utils");
13
+ var _number = _interopRequireDefault(require("../components/number"));
14
+ var _numberRange = _interopRequireDefault(require("../components/number-range"));
15
+ var _CheckboxFilter = _interopRequireDefault(require("../components/checkbox-filter/CheckboxFilter"));
16
+ 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); }
17
+ 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; }
18
+ // import type { IFormat } from "../../tanstack-table/type";
19
+
20
+ // import type { AnyObject } from './type';
21
+
22
+ const renderFilter = args => {
23
+ const {
24
+ column,
25
+ selectedKeys,
26
+ setSelectedKeys,
27
+ // confirm,
28
+ t,
29
+ locale,
30
+ buddhistLocale,
31
+ dateRangeLocale,
32
+ dataSourceFilter,
33
+ format,
34
+ doFilter
35
+ } = args;
36
+ const {
37
+ format: columnFormat,
38
+ typeFilter,
39
+ type: columnType,
40
+ field,
41
+ source
42
+ } = column?.meta ?? {};
43
+ const cellFormat = columnFormat ? typeof columnFormat === 'function' ? columnFormat({}) : columnFormat : format;
44
+ const type = (0, _utils.getTypeFilter)(column.meta ?? {});
45
+ const dateFormat = (0, _utils.getDatepickerFormat)(typeFilter ?? columnType, cellFormat) ?? 'DD/MM/YYYY';
46
+ const dateRangeFormat = (0, _utils.convertFormat)((0, _utils.getDateRangeFormat)(columnType, cellFormat) ?? 'dd/MM/yyyy');
47
+ const find = dataSourceFilter?.find(it => it.key === field);
48
+ const options = find ? find.data : [];
49
+ switch (type) {
50
+ case 'Number':
51
+ return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
52
+ className: 'mb-1'
53
+ }, /*#__PURE__*/_react.default.createElement(_number.default, {
54
+ t: t,
55
+ value: selectedKeys[0],
56
+ onChange: vals => {
57
+ setSelectedKeys(vals);
58
+ },
59
+ onPressEnter: () => doFilter?.(true)
60
+ }))));
61
+ case 'NumberRange':
62
+ return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_numberRange.default, {
63
+ t: t,
64
+ min: selectedKeys[0],
65
+ max: selectedKeys[1],
66
+ onChange: vals => {
67
+ setSelectedKeys(vals);
68
+ },
69
+ onPressEnter: () => doFilter?.(true)
70
+ })));
71
+ case 'Date':
72
+ const dateValue = selectedKeys[0] ? (0, _utils.convertDateToDayjs)(new Date(selectedKeys[0]), dateFormat) : null;
73
+ return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
74
+ className: 'mb-1'
75
+ }, /*#__PURE__*/_react.default.createElement(_rcMasterUi.DatePicker, {
76
+ format: {
77
+ format: dateFormat,
78
+ type: 'mask'
79
+ },
80
+ locale: buddhistLocale,
81
+ style: {
82
+ width: '100%',
83
+ height: '100%'
84
+ },
85
+ value: dateValue,
86
+ defaultValue: dateValue
87
+ // placeholder={t ? t(column?.placeholder) : column?.placeholder}
88
+ ,
89
+ onChange: (date, dateString) => {
90
+ const newDateValue = dateString ? (0, _moment.default)((0, _utils.convertDayjsToDate)(dateString, dateFormat)).format() : null;
91
+ setSelectedKeys(newDateValue ? [newDateValue] : []);
92
+ }
93
+ }))));
94
+ case 'DateRange':
95
+ // const dateRangeValue: any = [selectedKeys[0] ? convertDateToDayjs(new Date(selectedKeys[0]), dateRangeFormat) : '', selectedKeys[1] ? convertDateToDayjs(new Date(selectedKeys[1]), dateRangeFormat) : '']
96
+ const dateRangeValue = selectedKeys && selectedKeys.length > 0 ? [selectedKeys[0] ? new Date(selectedKeys[0]) : '', selectedKeys[1] ? new Date(selectedKeys[1]) : ''] : null;
97
+ return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
98
+ className: 'mb-1'
99
+ }, /*#__PURE__*/_react.default.createElement(_rcMasterUi.CustomProvider, {
100
+ locale: dateRangeLocale
101
+ }, /*#__PURE__*/_react.default.createElement(_rcMasterUi.DateRangePicker
102
+ // placeholder={['Ngày bắt đầu', 'Ngày bắt đầu']}
103
+ , {
104
+ style: {
105
+ width: 300
106
+ },
107
+ format: dateRangeFormat,
108
+ value: dateRangeValue,
109
+ onChange: value => {
110
+ const newDateRangeValue = value ? [value[0] ? (0, _moment.default)(value[0]).format() : '', value[1] ? (0, _moment.default)(value[1]).format() : ''] : [];
111
+ setSelectedKeys(newDateRangeValue);
112
+ },
113
+ menuClassName: "rc-menu-popup"
114
+ })))));
115
+ case 'Week':
116
+ const weekValue = !(0, _utils.isEmpty)(selectedKeys[0]) ? (0, _dayjs.default)(selectedKeys[0], dateFormat) : null;
117
+ return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
118
+ className: 'mb-1'
119
+ }, /*#__PURE__*/_react.default.createElement(_rcMasterUi.DatePicker, {
120
+ format: {
121
+ format: dateFormat,
122
+ type: 'mask'
123
+ },
124
+ picker: 'week',
125
+ locale: buddhistLocale,
126
+ style: {
127
+ width: '100%',
128
+ height: '100%'
129
+ },
130
+ value: weekValue,
131
+ defaultValue: weekValue
132
+ // placeholder={column?.placeholder}
133
+ ,
134
+ onChange: (date, dateString) => {
135
+ const newDateValue = dateString ?? null;
136
+ setSelectedKeys(newDateValue ? [newDateValue] : []);
137
+ }
138
+ }))));
139
+ case 'Month':
140
+ const monthValue = !(0, _utils.isEmpty)(selectedKeys[0]) ? (0, _dayjs.default)(selectedKeys[0], dateFormat) : null;
141
+ return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
142
+ className: 'mb-1'
143
+ }, /*#__PURE__*/_react.default.createElement(_rcMasterUi.DatePicker, {
144
+ format: {
145
+ format: dateFormat,
146
+ type: 'mask'
147
+ },
148
+ picker: 'month',
149
+ locale: buddhistLocale,
150
+ style: {
151
+ width: '100%',
152
+ height: '100%'
153
+ },
154
+ value: monthValue,
155
+ defaultValue: monthValue
156
+ // placeholder={column?.placeholder}
157
+ ,
158
+ onChange: (date, dateString) => {
159
+ const newDateValue = dateString ?? null;
160
+ setSelectedKeys(newDateValue ? [newDateValue] : []);
161
+ }
162
+ })));
163
+
164
+ // // case 'Quarter':
165
+ // //
166
+ // // // const monthValue = selectedKeys[0] ? convertDateToDayjs(new Date(selectedKeys[0]), dateFormat) : null
167
+ // //
168
+ // // const pickerFormat = getDatepickerFormat(getEditType(col) as IEditType, col)
169
+ // // const pickerValue = !isEmpty(selectedKeys[0]) ? dayjs(selectedKeys[0], pickerFormat) : null
170
+ // //
171
+ // // return (
172
+ // // <Fragment>
173
+ // // <div>
174
+ // //
175
+ // //
176
+ // // <div className={'mb-1'}>
177
+ // //
178
+ // // <DatePicker
179
+ // // format={{
180
+ // // format: dateFormat,
181
+ // // type: 'mask'
182
+ // // }}
183
+ // // locale={buddhistLocale}
184
+ // // style={{width: '100%', height: '100%'}}
185
+ // // value={pickerValue}
186
+ // // defaultValue={pickerValue}
187
+ // // placeholder={column.placeholder}
188
+ // // onChange={(date, dateString) => {
189
+ // // const newDateValue = dateString ? moment(convertDayjsToDate(dateString as string, dateFormat)).format() : null
190
+ // // setSelectedKeys(newDateValue ? [newDateValue] : [])
191
+ // //
192
+ // // }}
193
+ // //
194
+ // // />
195
+ // // </div>
196
+ // //
197
+ // //
198
+ // // </div>
199
+ // // </Fragment>
200
+ // // )
201
+ // //
202
+ // // case 'Year':
203
+ // //
204
+ // // // const monthValue = selectedKeys[0] ? convertDateToDayjs(new Date(selectedKeys[0]), dateFormat) : null
205
+ // //
206
+ // // const pickerFormat = getDatepickerFormat(getEditType(col) as IEditType, col)
207
+ // // const pickerValue = !isEmpty(selectedKeys[0]) ? dayjs(selectedKeys[0], pickerFormat) : null
208
+ // //
209
+ // // return (
210
+ // // <Fragment>
211
+ // // <div>
212
+ // //
213
+ // //
214
+ // // <div className={'mb-1'}>
215
+ // //
216
+ // // <DatePicker
217
+ // // format={{
218
+ // // format: dateFormat,
219
+ // // type: 'mask'
220
+ // // }}
221
+ // // locale={buddhistLocale}
222
+ // // style={{width: '100%', height: '100%'}}
223
+ // // value={pickerValue}
224
+ // // defaultValue={pickerValue}
225
+ // // placeholder={column.placeholder}
226
+ // // onChange={(date, dateString) => {
227
+ // // const newDateValue = dateString ? moment(convertDayjsToDate(dateString as string, dateFormat)).format() : null
228
+ // // setSelectedKeys(newDateValue ? [newDateValue] : [])
229
+ // //
230
+ // // }}
231
+ // //
232
+ // // />
233
+ // // </div>
234
+ // //
235
+ // //
236
+ // // </div>
237
+ // // </Fragment>
238
+ // // )
239
+
240
+ case 'Dropdown':
241
+ return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
242
+ className: 'mb-1'
243
+ }, /*#__PURE__*/_react.default.createElement(_rcMasterUi.Select
244
+ // options={translateOption(numberOperator, t)}
245
+ // options={find ? options : column.source ?? []}
246
+ , {
247
+ options: source ? source : options ?? [],
248
+ style: {
249
+ width: '100%',
250
+ marginBottom: 8
251
+ },
252
+ value: selectedKeys[0],
253
+ notFoundContent: /*#__PURE__*/_react.default.createElement(_rcMasterUi.Empty, {
254
+ image: _rcMasterUi.Empty.PRESENTED_IMAGE_SIMPLE,
255
+ description: locale?.emptyText
256
+ }),
257
+ onChange: val => {
258
+ // setOperatorKey(val)
259
+ setSelectedKeys(val ? [val] : []);
260
+ },
261
+ showSearch: true,
262
+ allowClear: true
263
+ }))));
264
+ case 'Checkbox':
265
+ return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
266
+ className: 'mb-1'
267
+ }, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_CheckboxFilter.default, {
268
+ locale: locale,
269
+ selectedKeys: selectedKeys,
270
+ onSelect: val => {
271
+ setSelectedKeys(val);
272
+ }
273
+ // options={options}
274
+ ,
275
+ options: source ? source : options ?? [],
276
+ filterMultiple: true
277
+ // open={visible}
278
+ // searchValue={searchValue}
279
+ // setSearchValue={setSearchValue}
280
+ })))));
281
+ case 'Text':
282
+ default:
283
+ return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
284
+ className: 'mb-1'
285
+ }, /*#__PURE__*/_react.default.createElement(_rcMasterUi.Input, {
286
+ className: "aaaa",
287
+ classNames: {
288
+ input: 'filter-input'
289
+ },
290
+ placeholder: t ? t('Search') : `Search`,
291
+ value: selectedKeys[0],
292
+ onChange: e => setSelectedKeys(e.target.value ? [e.target.value] : [])
293
+ // onPressEnter={() => handleSearch(selectedKeys as string[], confirm)}
294
+ ,
295
+ onPressEnter: () => doFilter?.(true),
296
+ allowClear: true
297
+ // autoFocus={true}
298
+ }))));
299
+ }
300
+ };
301
+ exports.renderFilter = renderFilter;
@@ -0,0 +1 @@
1
+ export declare function convertColumns(columns: any[]): any[];
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.convertColumns = convertColumns;
7
+ var _reactTable = require("@tanstack/react-table");
8
+ const columnHelper = (0, _reactTable.createColumnHelper)();
9
+ function convertColumns(columns) {
10
+ return columns.map(col => {
11
+ if (col.columns) {
12
+ // Group column
13
+ return columnHelper.group({
14
+ ...col,
15
+ columns: convertColumns(col.columns) // đệ quy
16
+ });
17
+ } else {
18
+ // Accessor column
19
+ let accessor;
20
+
21
+ // Ưu tiên accessorKey nếu có, nếu không thì dùng hàm row => row[col.id]
22
+ if (col.accessorKey) {
23
+ accessor = col.accessorKey;
24
+ } else if (col.id) {
25
+ accessor = row => row[col.id];
26
+ } else {
27
+ throw new Error('Column không có accessorKey hoặc id');
28
+ }
29
+ return columnHelper.accessor(accessor, {
30
+ ...col
31
+ });
32
+ }
33
+ });
34
+ }
@@ -0,0 +1,28 @@
1
+ import type { Dispatch, SetStateAction } from "react";
2
+ import type { ColumnsTable, ColumnTable, IFormat, SelectionSettings } from '../../grid-component/type';
3
+ import type { Cell, ColumnDef } from '@tanstack/react-table';
4
+ export declare const renderValueCell: <T>(column: ColumnTable<T>, value: any, record: T, rowIndex: number, colIndex: number, format?: IFormat, editAble?: boolean) => any;
5
+ export declare function convertToTanStackColumns<T>({ t, columns, format, editAble }: {
6
+ t?: any;
7
+ columns: ColumnsTable<T>;
8
+ format?: IFormat;
9
+ editAble?: boolean;
10
+ }): ColumnDef<T, any>[];
11
+ export type ToggleRow<T> = {
12
+ e: any;
13
+ cell: Cell<T, unknown>;
14
+ selectionSettings?: SelectionSettings;
15
+ isSelectionChange?: {
16
+ isChange: boolean;
17
+ type: string;
18
+ rowData: T;
19
+ rowsData: T[];
20
+ };
21
+ setIsSelectionChange: Dispatch<SetStateAction<{
22
+ isChange: boolean;
23
+ type: string;
24
+ rowData: T;
25
+ rowsData: T[];
26
+ }>>;
27
+ };
28
+ export declare const toggleRowSelection: <T>(props: ToggleRow<T>) => void;