es-grid-template 1.8.64 → 1.8.65

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 (125) hide show
  1. package/es/grid-component/ColumnsGroup/ColumnsGroup.js +4 -1
  2. package/es/grid-component/TempTable.js +2 -2
  3. package/es/grid-component/hooks/utils.d.ts +2 -8
  4. package/es/grid-component/hooks/utils.js +175 -144
  5. package/es/grid-component/index.d.ts +1 -1
  6. package/es/grid-component/index.js +0 -4
  7. package/es/grid-component/type.d.ts +7 -0
  8. package/es/table-component/type.d.ts +8 -0
  9. package/es/table-virtuoso/ColumnsGroup/ColumnsGroup.d.ts +12 -0
  10. package/es/table-virtuoso/ColumnsGroup/ColumnsGroup.js +232 -0
  11. package/es/table-virtuoso/ColumnsGroup/index.d.ts +1 -0
  12. package/es/table-virtuoso/ColumnsGroup/index.js +1 -0
  13. package/es/{grid-component → table-virtuoso}/InternalTable.d.ts +2 -3
  14. package/es/table-virtuoso/InternalTable.js +413 -0
  15. package/es/table-virtuoso/body/TableBody.d.ts +14 -0
  16. package/es/table-virtuoso/body/TableBody.js +84 -0
  17. package/es/table-virtuoso/body/TableBodyCell.d.ts +14 -0
  18. package/es/table-virtuoso/body/TableBodyCell.js +466 -0
  19. package/es/table-virtuoso/body/TableBodyRow.d.ts +13 -0
  20. package/es/table-virtuoso/body/TableBodyRow.js +116 -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 +11 -0
  41. package/es/table-virtuoso/style.scss +1440 -0
  42. package/es/table-virtuoso/table/Grid.d.ts +37 -0
  43. package/es/table-virtuoso/table/Grid.js +302 -0
  44. package/es/table-virtuoso/table/TableContainer.d.ts +49 -0
  45. package/es/table-virtuoso/table/TableContainer.js +305 -0
  46. package/es/table-virtuoso/table/TableWrapper.d.ts +20 -0
  47. package/es/table-virtuoso/table/TableWrapper.js +158 -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/ColumnsGroup/ColumnsGroup.js +4 -1
  53. package/lib/grid-component/TempTable.js +2 -2
  54. package/lib/grid-component/hooks/utils.d.ts +2 -8
  55. package/lib/grid-component/hooks/utils.js +176 -152
  56. package/lib/grid-component/index.d.ts +1 -1
  57. package/lib/grid-component/index.js +0 -3
  58. package/lib/grid-component/type.d.ts +7 -0
  59. package/lib/table-component/type.d.ts +8 -0
  60. package/lib/table-virtuoso/ColumnsGroup/ColumnsGroup.d.ts +12 -0
  61. package/lib/table-virtuoso/ColumnsGroup/ColumnsGroup.js +243 -0
  62. package/lib/table-virtuoso/ColumnsGroup/index.d.ts +1 -0
  63. package/lib/table-virtuoso/ColumnsGroup/index.js +16 -0
  64. package/lib/{grid-component → table-virtuoso}/InternalTable.d.ts +2 -3
  65. package/lib/table-virtuoso/InternalTable.js +422 -0
  66. package/lib/table-virtuoso/body/TableBody.d.ts +14 -0
  67. package/lib/table-virtuoso/body/TableBody.js +95 -0
  68. package/lib/table-virtuoso/body/TableBodyCell.d.ts +14 -0
  69. package/lib/table-virtuoso/body/TableBodyCell.js +473 -0
  70. package/lib/table-virtuoso/body/TableBodyRow.d.ts +13 -0
  71. package/lib/table-virtuoso/body/TableBodyRow.js +124 -0
  72. package/lib/table-virtuoso/footer/TableFooterCell.d.ts +7 -0
  73. package/lib/table-virtuoso/footer/TableFooterCell.js +63 -0
  74. package/lib/table-virtuoso/header/TableHeadCell.d.ts +14 -0
  75. package/lib/table-virtuoso/header/TableHeadCell.js +274 -0
  76. package/lib/table-virtuoso/header/renderFilter.d.ts +20 -0
  77. package/lib/table-virtuoso/header/renderFilter.js +299 -0
  78. package/lib/table-virtuoso/hook/constant.d.ts +73 -0
  79. package/lib/table-virtuoso/hook/constant.js +247 -0
  80. package/lib/table-virtuoso/hook/convert.d.ts +1 -0
  81. package/lib/table-virtuoso/hook/convert.js +34 -0
  82. package/lib/table-virtuoso/hook/useColumns.d.ts +28 -0
  83. package/lib/table-virtuoso/hook/useColumns.js +315 -0
  84. package/lib/table-virtuoso/hook/useFilterOperator.d.ts +7 -0
  85. package/lib/table-virtuoso/hook/useFilterOperator.js +40 -0
  86. package/lib/table-virtuoso/hook/utils.d.ts +159 -0
  87. package/lib/table-virtuoso/hook/utils.js +2389 -0
  88. package/lib/table-virtuoso/index.d.ts +2 -0
  89. package/lib/table-virtuoso/index.js +9 -0
  90. package/lib/table-virtuoso/style.d.ts +22 -0
  91. package/lib/table-virtuoso/style.js +18 -0
  92. package/lib/table-virtuoso/style.scss +1440 -0
  93. package/lib/table-virtuoso/table/Grid.d.ts +37 -0
  94. package/lib/table-virtuoso/table/Grid.js +311 -0
  95. package/lib/table-virtuoso/table/TableContainer.d.ts +49 -0
  96. package/lib/table-virtuoso/table/TableContainer.js +313 -0
  97. package/lib/table-virtuoso/table/TableWrapper.d.ts +20 -0
  98. package/lib/table-virtuoso/table/TableWrapper.js +164 -0
  99. package/lib/table-virtuoso/type.d.ts +0 -0
  100. package/lib/table-virtuoso/type.js +786 -0
  101. package/lib/table-virtuoso/useContext.d.ts +97 -0
  102. package/lib/table-virtuoso/useContext.js +27 -0
  103. package/package.json +2 -1
  104. package/es/grid-component/ConvertColumnTable.d.ts +0 -7
  105. package/es/grid-component/ConvertColumnTable.js +0 -144
  106. package/es/grid-component/InternalTable.js +0 -1170
  107. package/es/grid-component/table/Grid.d.ts +0 -23
  108. package/es/grid-component/table/Grid.js +0 -49
  109. package/es/grid-component/table/GridEdit.d.ts +0 -23
  110. package/es/grid-component/table/GridEdit.js +0 -2726
  111. package/es/grid-component/table/Group.d.ts +0 -21
  112. package/es/grid-component/table/Group.js +0 -195
  113. package/es/grid-component/table/InfiniteTable.d.ts +0 -23
  114. package/es/grid-component/table/InfiniteTable.js +0 -101
  115. package/lib/grid-component/ConvertColumnTable.d.ts +0 -7
  116. package/lib/grid-component/ConvertColumnTable.js +0 -153
  117. package/lib/grid-component/InternalTable.js +0 -1178
  118. package/lib/grid-component/table/Grid.d.ts +0 -23
  119. package/lib/grid-component/table/Grid.js +0 -58
  120. package/lib/grid-component/table/GridEdit.d.ts +0 -23
  121. package/lib/grid-component/table/GridEdit.js +0 -2723
  122. package/lib/grid-component/table/Group.d.ts +0 -21
  123. package/lib/grid-component/table/Group.js +0 -204
  124. package/lib/grid-component/table/InfiniteTable.d.ts +0 -23
  125. package/lib/grid-component/table/InfiniteTable.js +0 -109
@@ -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[];
@@ -0,0 +1,247 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.valueToBoolean = exports.translateOption = exports.transferFontSize = exports.stringOperator = exports.paperSize = exports.optionsSize = exports.optionsPaperOrientation = exports.optionFontSize = exports.optionFont = exports.numberOperator = exports.nonActionColumn = exports.defaultWidth = exports.defaultTimeFormat = exports.defaultRowHeight = exports.defaultPageSizes = exports.defaultDateTimeFormat = exports.defaultDateFormat = exports.default = exports.dateTimeOperator = exports.dateOperator = exports.booleanToValue = exports.booleanOperator = exports.alignToFlex = void 0;
7
+ const defaultWidth = exports.defaultWidth = 100;
8
+ const defaultRowHeight = exports.defaultRowHeight = 35;
9
+ const numberOperator = exports.numberOperator = [{
10
+ value: 'equal',
11
+ label: 'Equal',
12
+ key: '=='
13
+ }, {
14
+ value: 'greaterthan',
15
+ label: 'Greater than',
16
+ key: '>'
17
+ }, {
18
+ value: 'greaterthanorequal',
19
+ label: 'Greater than or equal',
20
+ key: '>='
21
+ }, {
22
+ value: 'lessthan',
23
+ label: 'Less than',
24
+ key: '<'
25
+ }, {
26
+ value: 'lessthanorequal',
27
+ label: 'Less than or equal',
28
+ key: '<='
29
+ }, {
30
+ value: 'notequal',
31
+ label: 'Not equal',
32
+ key: '!='
33
+ }];
34
+ const stringOperator = exports.stringOperator = [{
35
+ value: 'startswith',
36
+ key: '_=',
37
+ label: 'Starts with'
38
+ }, {
39
+ value: 'endswith',
40
+ key: '|=',
41
+ label: 'Ends with'
42
+ }, {
43
+ value: 'contains',
44
+ key: '~=',
45
+ label: 'Contains'
46
+ }, {
47
+ value: 'equal',
48
+ key: '==',
49
+ label: 'Equal'
50
+ }, {
51
+ value: 'notequal',
52
+ key: '!=',
53
+ label: 'Not equal'
54
+ }];
55
+ const dateOperator = exports.dateOperator = [{
56
+ value: 'equal',
57
+ key: '==',
58
+ label: 'Equal'
59
+ }, {
60
+ value: 'notequal',
61
+ key: '!=',
62
+ label: 'Not equal'
63
+ }, {
64
+ value: 'greaterthan',
65
+ key: '>',
66
+ label: 'Greater than'
67
+ }, {
68
+ value: 'lessthan',
69
+ key: '<',
70
+ label: 'Less than'
71
+ }];
72
+ const dateTimeOperator = exports.dateTimeOperator = [{
73
+ value: 'equal',
74
+ key: '==',
75
+ label: 'Equal'
76
+ }, {
77
+ value: 'notequal',
78
+ key: '!=',
79
+ label: 'Not equal'
80
+ }, {
81
+ value: 'greaterthan',
82
+ key: '>',
83
+ label: 'Greater than'
84
+ }, {
85
+ value: 'lessthan',
86
+ key: '<',
87
+ label: 'Less than'
88
+ }];
89
+ const booleanOperator = exports.booleanOperator = [{
90
+ value: 'equal',
91
+ key: '==',
92
+ label: 'Equal'
93
+ }, {
94
+ value: 'notequal',
95
+ key: '!=',
96
+ label: 'Not equal'
97
+ }];
98
+ const translateOption = (options, t) => {
99
+ if (!t) {
100
+ return options;
101
+ }
102
+ return options.map(it => ({
103
+ ...it,
104
+ label: t(it.label)
105
+ }));
106
+ };
107
+ exports.translateOption = translateOption;
108
+ const transferFontSize = exports.transferFontSize = {
109
+ 6: 8,
110
+ 7: 9,
111
+ 8: 11,
112
+ 9: 12,
113
+ 10: 13,
114
+ 11: 15,
115
+ 12: 16,
116
+ 13: 17,
117
+ 14: 19,
118
+ 15: 20,
119
+ 16: 21,
120
+ 17: 23,
121
+ 18: 24,
122
+ 19: 25,
123
+ 20: 27,
124
+ 21: 28,
125
+ 22: 29,
126
+ 24: 32,
127
+ 26: 35,
128
+ 27: 36,
129
+ 28: 37
130
+ };
131
+ const defaultDateFormat = exports.defaultDateFormat = 'd/m/Y';
132
+ const defaultDateTimeFormat = exports.defaultDateTimeFormat = 'd/m/Y H:i';
133
+ const defaultTimeFormat = exports.defaultTimeFormat = 'H:i';
134
+ const defaultPageSizes = exports.defaultPageSizes = [20, 30, 50, 100];
135
+ const alignToFlex = exports.alignToFlex = {
136
+ center: 'center',
137
+ left: 'start',
138
+ right: 'end'
139
+ };
140
+ const optionsSize = exports.optionsSize = [{
141
+ label: 'letter',
142
+ value: 'letter',
143
+ width: 21.59,
144
+ height: 27.94
145
+ }, {
146
+ label: 'A3',
147
+ value: 'a3',
148
+ width: 27.94,
149
+ height: 42
150
+ }, {
151
+ label: 'A4',
152
+ value: 'a4',
153
+ width: 21,
154
+ height: 29.7
155
+ }];
156
+ const paperSize = exports.paperSize = {
157
+ a4: {
158
+ width: 21,
159
+ height: 29.7
160
+ },
161
+ a3: {
162
+ width: 27.94,
163
+ height: 42
164
+ },
165
+ letter: {
166
+ width: 21.59,
167
+ height: 27.94
168
+ }
169
+ };
170
+ const optionFont = exports.optionFont = [{
171
+ value: 'Times New Roman',
172
+ label: 'Times New Roman'
173
+ }, {
174
+ value: 'Calibri',
175
+ label: 'Calibri (Body)'
176
+ }];
177
+ // portrait' | 'landscape'
178
+ const optionsPaperOrientation = exports.optionsPaperOrientation = [{
179
+ value: 'portrait',
180
+ label: 'portrait'
181
+ }, {
182
+ value: 'landscape',
183
+ label: 'landscape'
184
+ }];
185
+ const optionFontSize = exports.optionFontSize = [{
186
+ value: 8,
187
+ label: '8'
188
+ }, {
189
+ value: 9,
190
+ label: '9'
191
+ }, {
192
+ value: 10,
193
+ label: '10'
194
+ }, {
195
+ value: 11,
196
+ label: '11'
197
+ }, {
198
+ value: 12,
199
+ label: '12'
200
+ }, {
201
+ value: 13,
202
+ label: '13'
203
+ }, {
204
+ value: 14,
205
+ label: '14'
206
+ }, {
207
+ value: 16,
208
+ label: '16'
209
+ }, {
210
+ value: 18,
211
+ label: '18'
212
+ }, {
213
+ value: 24,
214
+ label: '24'
215
+ }, {
216
+ value: 36,
217
+ label: '36'
218
+ }, {
219
+ value: 48,
220
+ label: '48'
221
+ }];
222
+
223
+ /**
224
+ * Sort order for BaseTable
225
+ */
226
+ const SortOrder = {
227
+ /**
228
+ * Sort data in ascending order
229
+ */
230
+ ascend: 'Ascending',
231
+ /**
232
+ * Sort data in descending order
233
+ */
234
+ descend: 'Descending'
235
+ };
236
+ var _default = exports.default = SortOrder;
237
+ const valueToBoolean = exports.valueToBoolean = {
238
+ true: true,
239
+ false: false,
240
+ 1: true,
241
+ 0: false
242
+ };
243
+ const booleanToValue = exports.booleanToValue = {
244
+ true: 1,
245
+ false: 0
246
+ };
247
+ const nonActionColumn = exports.nonActionColumn = ['#', 'command', 'selection_column'];
@@ -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 '../../table-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;