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.
- package/es/grid-component/ColumnsGroup/ColumnsGroup.js +4 -1
- package/es/grid-component/TempTable.js +2 -2
- package/es/grid-component/hooks/utils.d.ts +2 -8
- package/es/grid-component/hooks/utils.js +175 -144
- package/es/grid-component/index.d.ts +1 -1
- package/es/grid-component/index.js +0 -4
- package/es/grid-component/type.d.ts +7 -0
- package/es/table-component/type.d.ts +8 -0
- package/es/table-virtuoso/ColumnsGroup/ColumnsGroup.d.ts +12 -0
- package/es/table-virtuoso/ColumnsGroup/ColumnsGroup.js +232 -0
- package/es/table-virtuoso/ColumnsGroup/index.d.ts +1 -0
- package/es/table-virtuoso/ColumnsGroup/index.js +1 -0
- package/es/{grid-component → table-virtuoso}/InternalTable.d.ts +2 -3
- package/es/table-virtuoso/InternalTable.js +413 -0
- package/es/table-virtuoso/body/TableBody.d.ts +14 -0
- package/es/table-virtuoso/body/TableBody.js +84 -0
- package/es/table-virtuoso/body/TableBodyCell.d.ts +14 -0
- package/es/table-virtuoso/body/TableBodyCell.js +466 -0
- package/es/table-virtuoso/body/TableBodyRow.d.ts +13 -0
- package/es/table-virtuoso/body/TableBodyRow.js +116 -0
- package/es/table-virtuoso/footer/TableFooterCell.d.ts +7 -0
- package/es/table-virtuoso/footer/TableFooterCell.js +54 -0
- package/es/table-virtuoso/header/TableHeadCell.d.ts +14 -0
- package/es/table-virtuoso/header/TableHeadCell.js +265 -0
- package/es/table-virtuoso/header/renderFilter.d.ts +20 -0
- package/es/table-virtuoso/header/renderFilter.js +289 -0
- package/es/table-virtuoso/hook/constant.d.ts +73 -0
- package/es/table-virtuoso/hook/constant.js +240 -0
- package/es/table-virtuoso/hook/convert.d.ts +1 -0
- package/es/table-virtuoso/hook/convert.js +28 -0
- package/es/table-virtuoso/hook/useColumns.d.ts +28 -0
- package/es/table-virtuoso/hook/useColumns.js +302 -0
- package/es/table-virtuoso/hook/useFilterOperator.d.ts +7 -0
- package/es/table-virtuoso/hook/useFilterOperator.js +33 -0
- package/es/table-virtuoso/hook/utils.d.ts +159 -0
- package/es/table-virtuoso/hook/utils.js +2263 -0
- package/es/table-virtuoso/index.d.ts +2 -0
- package/es/table-virtuoso/index.js +2 -0
- package/es/table-virtuoso/style.d.ts +22 -0
- package/es/table-virtuoso/style.js +11 -0
- package/es/table-virtuoso/style.scss +1440 -0
- package/es/table-virtuoso/table/Grid.d.ts +37 -0
- package/es/table-virtuoso/table/Grid.js +302 -0
- package/es/table-virtuoso/table/TableContainer.d.ts +49 -0
- package/es/table-virtuoso/table/TableContainer.js +305 -0
- package/es/table-virtuoso/table/TableWrapper.d.ts +20 -0
- package/es/table-virtuoso/table/TableWrapper.js +158 -0
- package/es/table-virtuoso/type.d.ts +0 -0
- package/es/table-virtuoso/type.js +785 -0
- package/es/table-virtuoso/useContext.d.ts +97 -0
- package/es/table-virtuoso/useContext.js +21 -0
- package/lib/grid-component/ColumnsGroup/ColumnsGroup.js +4 -1
- package/lib/grid-component/TempTable.js +2 -2
- package/lib/grid-component/hooks/utils.d.ts +2 -8
- package/lib/grid-component/hooks/utils.js +176 -152
- package/lib/grid-component/index.d.ts +1 -1
- package/lib/grid-component/index.js +0 -3
- package/lib/grid-component/type.d.ts +7 -0
- package/lib/table-component/type.d.ts +8 -0
- package/lib/table-virtuoso/ColumnsGroup/ColumnsGroup.d.ts +12 -0
- package/lib/table-virtuoso/ColumnsGroup/ColumnsGroup.js +243 -0
- package/lib/table-virtuoso/ColumnsGroup/index.d.ts +1 -0
- package/lib/table-virtuoso/ColumnsGroup/index.js +16 -0
- package/lib/{grid-component → table-virtuoso}/InternalTable.d.ts +2 -3
- package/lib/table-virtuoso/InternalTable.js +422 -0
- package/lib/table-virtuoso/body/TableBody.d.ts +14 -0
- package/lib/table-virtuoso/body/TableBody.js +95 -0
- package/lib/table-virtuoso/body/TableBodyCell.d.ts +14 -0
- package/lib/table-virtuoso/body/TableBodyCell.js +473 -0
- package/lib/table-virtuoso/body/TableBodyRow.d.ts +13 -0
- package/lib/table-virtuoso/body/TableBodyRow.js +124 -0
- package/lib/table-virtuoso/footer/TableFooterCell.d.ts +7 -0
- package/lib/table-virtuoso/footer/TableFooterCell.js +63 -0
- package/lib/table-virtuoso/header/TableHeadCell.d.ts +14 -0
- package/lib/table-virtuoso/header/TableHeadCell.js +274 -0
- package/lib/table-virtuoso/header/renderFilter.d.ts +20 -0
- package/lib/table-virtuoso/header/renderFilter.js +299 -0
- package/lib/table-virtuoso/hook/constant.d.ts +73 -0
- package/lib/table-virtuoso/hook/constant.js +247 -0
- package/lib/table-virtuoso/hook/convert.d.ts +1 -0
- package/lib/table-virtuoso/hook/convert.js +34 -0
- package/lib/table-virtuoso/hook/useColumns.d.ts +28 -0
- package/lib/table-virtuoso/hook/useColumns.js +315 -0
- package/lib/table-virtuoso/hook/useFilterOperator.d.ts +7 -0
- package/lib/table-virtuoso/hook/useFilterOperator.js +40 -0
- package/lib/table-virtuoso/hook/utils.d.ts +159 -0
- package/lib/table-virtuoso/hook/utils.js +2389 -0
- package/lib/table-virtuoso/index.d.ts +2 -0
- package/lib/table-virtuoso/index.js +9 -0
- package/lib/table-virtuoso/style.d.ts +22 -0
- package/lib/table-virtuoso/style.js +18 -0
- package/lib/table-virtuoso/style.scss +1440 -0
- package/lib/table-virtuoso/table/Grid.d.ts +37 -0
- package/lib/table-virtuoso/table/Grid.js +311 -0
- package/lib/table-virtuoso/table/TableContainer.d.ts +49 -0
- package/lib/table-virtuoso/table/TableContainer.js +313 -0
- package/lib/table-virtuoso/table/TableWrapper.d.ts +20 -0
- package/lib/table-virtuoso/table/TableWrapper.js +164 -0
- package/lib/table-virtuoso/type.d.ts +0 -0
- package/lib/table-virtuoso/type.js +786 -0
- package/lib/table-virtuoso/useContext.d.ts +97 -0
- package/lib/table-virtuoso/useContext.js +27 -0
- package/package.json +2 -1
- package/es/grid-component/ConvertColumnTable.d.ts +0 -7
- package/es/grid-component/ConvertColumnTable.js +0 -144
- package/es/grid-component/InternalTable.js +0 -1170
- package/es/grid-component/table/Grid.d.ts +0 -23
- package/es/grid-component/table/Grid.js +0 -49
- package/es/grid-component/table/GridEdit.d.ts +0 -23
- package/es/grid-component/table/GridEdit.js +0 -2726
- package/es/grid-component/table/Group.d.ts +0 -21
- package/es/grid-component/table/Group.js +0 -195
- package/es/grid-component/table/InfiniteTable.d.ts +0 -23
- package/es/grid-component/table/InfiniteTable.js +0 -101
- package/lib/grid-component/ConvertColumnTable.d.ts +0 -7
- package/lib/grid-component/ConvertColumnTable.js +0 -153
- package/lib/grid-component/InternalTable.js +0 -1178
- package/lib/grid-component/table/Grid.d.ts +0 -23
- package/lib/grid-component/table/Grid.js +0 -58
- package/lib/grid-component/table/GridEdit.d.ts +0 -23
- package/lib/grid-component/table/GridEdit.js +0 -2723
- package/lib/grid-component/table/Group.d.ts +0 -21
- package/lib/grid-component/table/Group.js +0 -204
- package/lib/grid-component/table/InfiniteTable.d.ts +0 -23
- 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;
|