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,274 @@
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 _constant = require("../hook/constant");
15
+ var _utils = require("../hook/utils");
16
+ var _renderFilter = require("./renderFilter");
17
+ var _server = _interopRequireDefault(require("react-dom/server"));
18
+ var _useContext = require("../useContext");
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
+ // import type { MenuProps } from 'rc-master-ui/es'
22
+
23
+ const TableHeadCell = props => {
24
+ const {
25
+ header,
26
+ getPopupContainer,
27
+ table,
28
+ colSpan,
29
+ rowSpan,
30
+ rowIndex
31
+ } = props;
32
+ const {
33
+ t,
34
+ prefix,
35
+ setSorterChange,
36
+ setFilterChange,
37
+ wrapSettings,
38
+ selectionSettings,
39
+ setIsSelectionChange,
40
+ id,
41
+ locale
42
+ } = (0, _react.useContext)(_useContext.TableContext);
43
+ const isPinned = header.column.getIsPinned();
44
+ const isLastLeftPinnedColumn = isPinned === 'left' && header.column.getIsLastColumn('left');
45
+ const isFirstRightPinnedColumn = isPinned === 'right' && header.column.getIsFirstColumn('right');
46
+ const [selectedKeys, setSelectedKeys] = _react.default.useState([]);
47
+ const [currentFilter, setCurrentFilter] = _react.default.useState({});
48
+ const column = header.column.columnDef;
49
+ const originalColumn = header.column.columnDef.meta ?? {};
50
+ const filterValue = header.column.getFilterValue() ?? [];
51
+ const operatorValue = header.column.getFilterOperator() ?? (0, _utils.getDefaultOperator)(column?.meta ?? {});
52
+ const {
53
+ filterIcon
54
+ } = header.column.columnDef.meta ?? {};
55
+ const filtered = (header.column.getFilterValue() ?? []).length > 0;
56
+ const cellContent = (0, _reactTable.flexRender)(header.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
+ _react.default.useEffect(() => {
60
+ setCurrentFilter(prev => ({
61
+ ...prev,
62
+ ope: operatorValue
63
+ }));
64
+ }, []);
65
+ _react.default.useEffect(() => {
66
+ setSelectedKeys(filterValue);
67
+ }, []);
68
+ const style = {
69
+ transition: 'width transform 0.2s ease-in-out',
70
+ whiteSpace: 'nowrap',
71
+ borderTopWidth: rowIndex > 0 ? 0 : undefined
72
+ };
73
+ const getDropdownTrigger = () => {
74
+ let iconFilter;
75
+ if (typeof filterIcon === 'function') {
76
+ iconFilter = filterIcon(filtered);
77
+ } else if (filterIcon) {
78
+ iconFilter = filterIcon;
79
+ } else {
80
+ iconFilter = /*#__PURE__*/_react.default.createElement(_becoxyIcons.FilterFill, {
81
+ style: {
82
+ color: filtered ? '#E3165B' : '#283046'
83
+ },
84
+ fontSize: 12
85
+ });
86
+ }
87
+ return /*#__PURE__*/_react.default.createElement("span", {
88
+ role: "button",
89
+ tabIndex: -1,
90
+ className: (0, _classnames.default)(`${prefix}-trigger`, {
91
+ active: filtered
92
+ }),
93
+ onClick: e => {
94
+ e.stopPropagation();
95
+ }
96
+ }, iconFilter);
97
+ };
98
+ const doFilter = type => {
99
+ if (type) {
100
+ header.column.setFilterValue(!originalColumn.typeFilter || originalColumn.typeFilter === 'Text' ? selectedKeys.length === 0 ? [''] : selectedKeys : selectedKeys);
101
+ header.column.setFilterOperator?.(currentFilter.ope);
102
+ } else {
103
+ header.column.setFilterValue(undefined);
104
+ setSelectedKeys([]);
105
+ }
106
+ setFilterChange(true);
107
+ setTimeout(() => {
108
+ setFilterChange(false);
109
+ }, 10);
110
+ };
111
+ const mergedDropdownProps = (0, _utils.extendsObject)({
112
+ trigger: ['click'],
113
+ placement: 'bottomRight',
114
+ children: getDropdownTrigger(),
115
+ getPopupContainer
116
+ }, {
117
+ // open: visible,
118
+ // open: visible.visible && visible.column === header.column.id,
119
+ // onOpenChange: onVisibleChange,
120
+
121
+ destroyPopupOnHide: true,
122
+ dropdownRender: () => {
123
+ const type = (0, _utils.getTypeFilter)(originalColumn);
124
+
125
+ // const operatorValue = (header.column.getFilterOperator() ?? getDefaultOperator(originalColumn)) as string
126
+
127
+ const operatorOptions = ['Checkbox', 'Dropdown', 'DropTree', 'CheckboxDropdown'].includes(type) ? _constant.booleanOperator : !type || type === 'Text' ? _constant.stringOperator : _constant.numberOperator;
128
+ return /*#__PURE__*/_react.default.createElement("div", {
129
+ className: (0, _classnames.default)(`${prefix}-grid-filter-dropdown`, {}),
130
+ style: {}
131
+ }, /*#__PURE__*/_react.default.createElement("div", {
132
+ style: {
133
+ minWidth: 275,
134
+ padding: '8px'
135
+ }
136
+ }, column.meta?.showOperator !== false && column.meta?.typeFilter !== 'DateRange' && column.meta?.typeFilter !== 'NumberRange' && /*#__PURE__*/_react.default.createElement("div", {
137
+ className: 'mb-1'
138
+ }, /*#__PURE__*/_react.default.createElement(_rcMasterUi.Select, {
139
+ options: (0, _constant.translateOption)(operatorOptions, t),
140
+ style: {
141
+ width: '100%',
142
+ marginBottom: 8
143
+ }
144
+
145
+ // value={operatorValue}
146
+ ,
147
+ value: currentFilter.ope,
148
+ onChange: val => {
149
+ setCurrentFilter(prev => ({
150
+ ...prev,
151
+ ope: val
152
+ }));
153
+ // header.column.setFilterOperator(val)
154
+ }
155
+ })), /*#__PURE__*/_react.default.createElement("div", {
156
+ style: {
157
+ marginBottom: 8
158
+ }
159
+ }, (0, _renderFilter.renderFilter)({
160
+ column: column,
161
+ selectedKeys,
162
+ setSelectedKeys
163
+ })), /*#__PURE__*/_react.default.createElement(_antd.Space, {
164
+ style: {
165
+ justifyContent: 'end',
166
+ width: '100%'
167
+ }
168
+ }, /*#__PURE__*/_react.default.createElement(_antd.Button, {
169
+ type: "primary",
170
+ onClick: () => {
171
+ doFilter(true);
172
+ },
173
+ size: "small",
174
+ style: {
175
+ width: 90
176
+ }
177
+ }, t ? t('Filter') : 'Filter'), /*#__PURE__*/_react.default.createElement(_antd.Button, {
178
+ type: "link",
179
+ size: "small",
180
+ onClick: () => {
181
+ setSelectedKeys([]);
182
+ doFilter(false);
183
+ }
184
+ }, t ? t('Clear') : 'Clear'))));
185
+ }
186
+ });
187
+ return /*#__PURE__*/_react.default.createElement("th", {
188
+ className: (0, _classnames.default)(`${prefix}-grid-cell`, {
189
+ [`${prefix}-grid-cell-ellipsis`]: !wrapSettings || !(wrapSettings && (wrapSettings.wrapMode === 'Both' || wrapSettings.wrapMode === 'Header')),
190
+ [`${prefix}-grid-cell-wrap`]: wrapSettings && (wrapSettings.wrapMode === 'Both' || wrapSettings.wrapMode === 'Header'),
191
+ [`${prefix}-grid-cell-fix-left-last`]: isLastLeftPinnedColumn,
192
+ [`${prefix}-grid-cell-fix-right-first`]: isFirstRightPinnedColumn,
193
+ [`${prefix}-grid-cell-text-center`]: (originalColumn?.headerTextAlign ?? originalColumn?.textAlign) === 'center',
194
+ [`${prefix}-grid-cell-text-right`]: (originalColumn?.headerTextAlign ?? originalColumn.textAlign) === 'right'
195
+ }),
196
+ colSpan: colSpan,
197
+ rowSpan: rowSpan,
198
+ key: header.id,
199
+ style: {
200
+ width: header.getSize(),
201
+ ...(0, _utils.getCommonPinningHeaderStyles)(header.column),
202
+ ...style
203
+ },
204
+ "data-tooltip-id": `${id}-tooltip-content`,
205
+ "data-tooltip-html": !hasValue ? '' : _server.default.renderToStaticMarkup( /*#__PURE__*/_react.default.createElement("div", null, cellContent))
206
+ }, /*#__PURE__*/_react.default.createElement("div", {
207
+ className: (0, _classnames.default)('', {
208
+ [`${prefix}-grid-filter-column`]: header.column.id !== 'selection_column',
209
+ [`${prefix}-grid-selection-column`]: header.column.id === 'selection_column'
210
+ })
211
+ }, header.column.id === 'selection_column' && selectionSettings && selectionSettings.hideSelectAll !== false && selectionSettings.type !== 'single' && selectionSettings.mode !== 'radio' && /*#__PURE__*/_react.default.createElement(_rcMasterUi.Checkbox, {
212
+ checked: table.getIsAllRowsSelected(),
213
+ indeterminate: table.getIsSomeRowsSelected(),
214
+ onChange: e => {
215
+ setIsSelectionChange({
216
+ isChange: true,
217
+ type: 'all',
218
+ rowData: {},
219
+ rowsData: []
220
+ });
221
+ table.getToggleAllRowsSelectedHandler()(e);
222
+ }
223
+ }), header.column.id !== 'selection_column' && /*#__PURE__*/_react.default.createElement("span", {
224
+ className: "ui-rc-table-column-title",
225
+ style: {
226
+ flex: 1
227
+ }
228
+ }, /*#__PURE__*/_react.default.createElement("div", {
229
+ className: (0, _classnames.default)('', {
230
+ [`${prefix}-grid-cell-ellipsis`]: !wrapSettings || !(wrapSettings && (wrapSettings.wrapMode === 'Both' || wrapSettings.wrapMode === 'Header')),
231
+ [`${prefix}-grid-cell-text-wrap`]: wrapSettings && (wrapSettings.wrapMode === 'Both' || wrapSettings.wrapMode === 'Header')
232
+ })
233
+ }, cellContent)), !_constant.nonActionColumn.includes(header.column.id) && header.subHeaders.length < 2 && /*#__PURE__*/_react.default.createElement("span", {
234
+ className: "ui-rc-header-trigger"
235
+ }, header.column.getCanSort() && /*#__PURE__*/_react.default.createElement("div", {
236
+ style: {
237
+ marginInlineEnd: 6,
238
+ cursor: 'pointer'
239
+ },
240
+ onClick: e => {
241
+ setSorterChange(true);
242
+ const toggleSortingHandler = header.column.getToggleSortingHandler();
243
+ if (typeof toggleSortingHandler === 'function') {
244
+ toggleSortingHandler(e);
245
+ }
246
+ }
247
+ }, header.column.getIsSorted() ? header.column.getIsSorted() === 'asc' ? /*#__PURE__*/_react.default.createElement(_becoxyIcons.ArrowUp, {
248
+ fontSize: 15,
249
+ color: '#000',
250
+ "data-tooltip-id": `${id}-tooltip-content`,
251
+ "data-tooltip-content": locale?.triggerDesc ?? 'Click to sort descending'
252
+ }) : /*#__PURE__*/_react.default.createElement(_becoxyIcons.ArrowDown, {
253
+ fontSize: 15,
254
+ color: '#000',
255
+ "data-tooltip-id": `${id}-tooltip-content`,
256
+ "data-tooltip-content": locale?.cancelSort ?? 'Click to cancel sorting'
257
+ }) : /*#__PURE__*/_react.default.createElement(_becoxyIcons.SortCancel, {
258
+ "data-tooltip-id": `${id}-tooltip-content`,
259
+ "data-tooltip-content": locale?.triggerAsc ?? 'Click to sort ascending',
260
+ fontSize: 15,
261
+ style: {
262
+ display: 'flex'
263
+ },
264
+ className: (0, _classnames.default)(`ui-rc-table-column-sorter-cancel`, {
265
+ active: true
266
+ })
267
+ })), header.column.getCanFilter() && /*#__PURE__*/_react.default.createElement("span", null, /*#__PURE__*/_react.default.createElement(_rcMasterUi.Dropdown, mergedDropdownProps)))), header.column.getCanResize() && /*#__PURE__*/_react.default.createElement("div", {
268
+ onDoubleClick: () => header.column.resetSize(),
269
+ onMouseDown: header.getResizeHandler(),
270
+ onTouchStart: header.getResizeHandler(),
271
+ className: `resizer ${header.column.getIsResizing() ? 'isResizing' : ''}`
272
+ }));
273
+ };
274
+ var _default = exports.default = TableHeadCell;
@@ -0,0 +1,20 @@
1
+ import type { ColumnDef } from "@tanstack/react-table";
2
+ import React from "react";
3
+ import type { IFormat } from "../../table-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,299 @@
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 _CheckboxFilter = _interopRequireDefault(require("../../table-component/components/checkbox-filter/CheckboxFilter"));
14
+ var _number = _interopRequireDefault(require("../../table-component/components/number"));
15
+ var _numberRange = _interopRequireDefault(require("../../table-component/components/number-range"));
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: setSelectedKeys
271
+ // options={options}
272
+ ,
273
+ options: source ? source : options ?? [],
274
+ filterMultiple: true
275
+ // open={visible}
276
+ // searchValue={searchValue}
277
+ // setSearchValue={setSearchValue}
278
+ })))));
279
+ case 'Text':
280
+ default:
281
+ return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
282
+ className: 'mb-1'
283
+ }, /*#__PURE__*/_react.default.createElement(_rcMasterUi.Input, {
284
+ className: "aaaa",
285
+ classNames: {
286
+ input: 'filter-input'
287
+ },
288
+ placeholder: t ? t('Search') : `Search`,
289
+ value: selectedKeys[0],
290
+ onChange: e => setSelectedKeys(e.target.value ? [e.target.value] : [])
291
+ // onPressEnter={() => handleSearch(selectedKeys as string[], confirm)}
292
+ ,
293
+ onPressEnter: () => doFilter?.(true),
294
+ allowClear: true
295
+ // autoFocus={true}
296
+ }))));
297
+ }
298
+ };
299
+ exports.renderFilter = renderFilter;
@@ -0,0 +1,73 @@
1
+ export declare const defaultWidth: number;
2
+ export declare const defaultRowHeight: number;
3
+ export type IOperator = {
4
+ value: string;
5
+ label: string;
6
+ key: string;
7
+ };
8
+ export declare const numberOperator: IOperator[];
9
+ export declare const stringOperator: IOperator[];
10
+ export declare const dateOperator: IOperator[];
11
+ export declare const dateTimeOperator: IOperator[];
12
+ export declare const booleanOperator: IOperator[];
13
+ export declare const translateOption: (options: IOperator[], t: any) => any[];
14
+ export declare const transferFontSize: any;
15
+ export declare const defaultDateFormat = "d/m/Y";
16
+ export declare const defaultDateTimeFormat = "d/m/Y H:i";
17
+ export declare const defaultTimeFormat = "H:i";
18
+ export declare const defaultPageSizes: number[];
19
+ export declare const alignToFlex: any;
20
+ export declare const optionsSize: {
21
+ label: string;
22
+ value: string;
23
+ width: number;
24
+ height: number;
25
+ }[];
26
+ export declare const paperSize: {
27
+ a4: {
28
+ width: number;
29
+ height: number;
30
+ };
31
+ a3: {
32
+ width: number;
33
+ height: number;
34
+ };
35
+ letter: {
36
+ width: number;
37
+ height: number;
38
+ };
39
+ };
40
+ export declare const optionFont: {
41
+ value: string;
42
+ label: string;
43
+ }[];
44
+ export declare const optionsPaperOrientation: any[];
45
+ export declare const optionFontSize: {
46
+ value: number;
47
+ label: string;
48
+ }[];
49
+ /**
50
+ * Sort order for BaseTable
51
+ */
52
+ declare const SortOrder: {
53
+ /**
54
+ * Sort data in ascending order
55
+ */
56
+ ascend: string;
57
+ /**
58
+ * Sort data in descending order
59
+ */
60
+ descend: string;
61
+ };
62
+ export default SortOrder;
63
+ export declare const valueToBoolean: {
64
+ true: boolean;
65
+ false: boolean;
66
+ 1: boolean;
67
+ 0: boolean;
68
+ };
69
+ export declare const booleanToValue: {
70
+ true: number;
71
+ false: number;
72
+ };
73
+ export declare const nonActionColumn: string[];