es-grid-template 0.0.13 → 0.1.1
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/CHANGELOG.md +6 -6
- package/README.md +1 -1
- package/es/grid-component/ColumnsChoose.d.ts +3 -4
- package/es/grid-component/ColumnsChoose.js +3 -7
- package/es/grid-component/Command.d.ts +8 -0
- package/es/grid-component/Command.js +80 -0
- package/es/grid-component/EditableCell.js +56 -87
- package/es/grid-component/InternalTable.d.ts +1 -0
- package/es/grid-component/InternalTable.js +36 -19
- package/es/grid-component/TableGrid.d.ts +2 -1
- package/es/grid-component/TableGrid.js +63 -18
- package/es/grid-component/index.d.ts +2 -0
- package/es/{table-grid → grid-component}/styles.scss +204 -195
- package/es/grid-component/table/Grid.js +85 -0
- package/{lib/grid-component/rc-table → es/grid-component/table}/GridEdit.d.ts +4 -0
- package/es/grid-component/{rc-table → table}/GridEdit.js +98 -15
- package/es/grid-component/type.d.ts +26 -11
- package/es/grid-component/useContext.d.ts +10 -7
- package/es/grid-component/useContext.js +3 -0
- package/es/index.d.ts +2 -1
- package/es/index.js +1 -2
- package/lib/grid-component/ColumnsChoose.d.ts +3 -4
- package/lib/grid-component/ColumnsChoose.js +3 -7
- package/lib/grid-component/Command.d.ts +8 -0
- package/lib/grid-component/Command.js +88 -0
- package/lib/grid-component/EditableCell.js +56 -87
- package/lib/grid-component/InternalTable.d.ts +1 -0
- package/lib/grid-component/InternalTable.js +35 -18
- package/lib/grid-component/TableGrid.d.ts +2 -1
- package/lib/grid-component/TableGrid.js +62 -17
- package/lib/grid-component/index.d.ts +2 -0
- package/lib/{table-grid → grid-component}/styles.scss +204 -195
- package/lib/grid-component/{rc-table → table}/Grid.js +42 -56
- package/{es/grid-component/rc-table → lib/grid-component/table}/GridEdit.d.ts +4 -0
- package/lib/grid-component/{rc-table → table}/GridEdit.js +98 -15
- package/lib/grid-component/type.d.ts +26 -11
- package/lib/grid-component/useContext.d.ts +10 -7
- package/lib/grid-component/useContext.js +2 -0
- package/lib/index.d.ts +2 -1
- package/lib/index.js +1 -1
- package/package.json +113 -86
- package/es/grid-component/rc-table/Grid.js +0 -99
- /package/es/{grid-component/Message → Message}/Message.d.ts +0 -0
- /package/es/{grid-component/Message → Message}/Message.js +0 -0
- /package/es/{grid-component/Message → Message}/index.d.ts +0 -0
- /package/es/{grid-component/Message → Message}/index.js +0 -0
- /package/es/grid-component/{rc-table → table}/Grid.d.ts +0 -0
- /package/lib/{grid-component/Message → Message}/Message.d.ts +0 -0
- /package/lib/{grid-component/Message → Message}/Message.js +0 -0
- /package/lib/{grid-component/Message → Message}/index.d.ts +0 -0
- /package/lib/{grid-component/Message → Message}/index.js +0 -0
- /package/lib/grid-component/{rc-table → table}/Grid.d.ts +0 -0
|
@@ -54,7 +54,8 @@ const EditableCell = props => {
|
|
|
54
54
|
format,
|
|
55
55
|
control,
|
|
56
56
|
getValues,
|
|
57
|
-
handleCellChange
|
|
57
|
+
handleCellChange,
|
|
58
|
+
getRowKey
|
|
58
59
|
} = (0, _react.useContext)(_useContext.TableContext);
|
|
59
60
|
const datePickerRef = _react.default.useRef(null);
|
|
60
61
|
const dateTimePickerRef = _react.default.useRef(null);
|
|
@@ -72,38 +73,33 @@ const EditableCell = props => {
|
|
|
72
73
|
const minDate = (0, _hooks.convertDateToDayjs)(column.minDate, dateFormat) ?? undefined;
|
|
73
74
|
switch (editType) {
|
|
74
75
|
case 'date':
|
|
75
|
-
return /*#__PURE__*/_react.default.createElement(_antd.DatePicker
|
|
76
|
-
// id={`col${indexCol}-record${indexRow}`}
|
|
77
|
-
, {
|
|
76
|
+
return /*#__PURE__*/_react.default.createElement(_antd.DatePicker, {
|
|
78
77
|
ref: datePickerRef,
|
|
79
78
|
format: {
|
|
80
79
|
format: dateFormat,
|
|
81
80
|
type: 'mask'
|
|
82
81
|
}
|
|
83
|
-
|
|
84
82
|
// locale={buddhistLocale}
|
|
85
83
|
,
|
|
86
84
|
style: {
|
|
87
85
|
width: '100%',
|
|
88
86
|
height: '100%'
|
|
89
87
|
},
|
|
90
|
-
value: date
|
|
91
|
-
// defaultValue={date}
|
|
92
|
-
,
|
|
93
|
-
|
|
88
|
+
value: date,
|
|
94
89
|
onBlur: () => {
|
|
95
90
|
const formState = getValues();
|
|
96
91
|
const itemState = getValues(dataIndex);
|
|
97
92
|
// @ts-ignore
|
|
98
93
|
const prevState = record[dataIndex];
|
|
99
94
|
const newState = itemState;
|
|
95
|
+
const key = getRowKey?.(record, index);
|
|
100
96
|
if (newState !== prevState) {
|
|
101
|
-
// @ts-ignore
|
|
102
97
|
handleCellChange?.({
|
|
103
|
-
key:
|
|
98
|
+
key: key,
|
|
104
99
|
record: formState,
|
|
105
100
|
prevState,
|
|
106
101
|
newState,
|
|
102
|
+
option: newState,
|
|
107
103
|
type: 'blur'
|
|
108
104
|
});
|
|
109
105
|
}
|
|
@@ -160,6 +156,7 @@ const EditableCell = props => {
|
|
|
160
156
|
minDate: minDate,
|
|
161
157
|
onChange: (newDate, dateString) => {
|
|
162
158
|
const newDateValue = dateString ? (0, _moment.default)((0, _hooks.convertDayjsToDate)(dateString, dateFormat)).format() : null;
|
|
159
|
+
// console.log('newDateValue', newDateValue)
|
|
163
160
|
onChange(newDateValue);
|
|
164
161
|
setTimeout(() => {
|
|
165
162
|
// @ts-ignore
|
|
@@ -172,13 +169,14 @@ const EditableCell = props => {
|
|
|
172
169
|
// @ts-ignore
|
|
173
170
|
const prevState = record[dataIndex];
|
|
174
171
|
const newState = itemState;
|
|
172
|
+
const key = getRowKey?.(record, index);
|
|
175
173
|
if (prevState !== newState) {
|
|
176
|
-
// @ts-ignore
|
|
177
174
|
handleCellChange?.({
|
|
178
|
-
key:
|
|
175
|
+
key: key,
|
|
179
176
|
record: formState,
|
|
180
177
|
prevState,
|
|
181
178
|
newState,
|
|
179
|
+
option: newState,
|
|
182
180
|
type: 'blur'
|
|
183
181
|
});
|
|
184
182
|
}
|
|
@@ -189,8 +187,6 @@ const EditableCell = props => {
|
|
|
189
187
|
case 'quarter':
|
|
190
188
|
case 'year':
|
|
191
189
|
const pickerFormat = (0, _hooks.getDatepickerFormat)(editType, column);
|
|
192
|
-
// @ts-ignore
|
|
193
|
-
// const dateValue = !isEmpty(record[column.dataIndex]) ? dayjs(record[column.key], pickerFormat) : null
|
|
194
190
|
const maxDateValue1 = !(0, _hooks.isEmpty)(column.maxDate) ? (0, _dayjs.default)(column.maxDate, pickerFormat) : undefined;
|
|
195
191
|
const minDateValue1 = !(0, _hooks.isEmpty)(column.minDate) ? (0, _dayjs.default)(column.minDate, pickerFormat) : undefined;
|
|
196
192
|
return /*#__PURE__*/_react.default.createElement(_antd.DatePicker, {
|
|
@@ -202,28 +198,16 @@ const EditableCell = props => {
|
|
|
202
198
|
style: {
|
|
203
199
|
width: '100%',
|
|
204
200
|
height: '100%'
|
|
205
|
-
}
|
|
206
|
-
// defaultValue={dateValue}
|
|
207
|
-
,
|
|
201
|
+
},
|
|
208
202
|
picker: editType,
|
|
209
203
|
placeholder: column.placeholder,
|
|
210
204
|
disabled: (0, _hooks.isDisable)(column, record) ?? false,
|
|
211
205
|
maxDate: maxDateValue1,
|
|
212
|
-
minDate: minDateValue1
|
|
213
|
-
// onChange={(dValue, dateString) => {
|
|
214
|
-
// const newDateValue = dateString ? dateString : null
|
|
215
|
-
//
|
|
216
|
-
// // record[column.dataIndex] = newDateValue
|
|
217
|
-
// // handleCellChange(newDateValue, newDateValue, record, col, indexRow, indexCol)
|
|
218
|
-
// }}
|
|
219
|
-
,
|
|
206
|
+
minDate: minDateValue1,
|
|
220
207
|
popupClassName: 'be-popup-container'
|
|
221
208
|
});
|
|
222
209
|
case 'week':
|
|
223
210
|
const weekFormat = (0, _hooks.getDatepickerFormat)(editType, column);
|
|
224
|
-
|
|
225
|
-
// @ts-ignore
|
|
226
|
-
// const weekValue = !isEmpty(record[column.dataIndex]) ? dayjs(record[column.dataIndex], weekFormat) : null
|
|
227
211
|
const maxWeekValue = !(0, _hooks.isEmpty)(column.maxDate) ? (0, _dayjs.default)(column.maxDate, weekFormat) : undefined;
|
|
228
212
|
const minWeekValue = !(0, _hooks.isEmpty)(column.minDate) ? (0, _dayjs.default)(column.minDate, weekFormat) : undefined;
|
|
229
213
|
return /*#__PURE__*/_react.default.createElement(_antd.DatePicker, {
|
|
@@ -231,21 +215,12 @@ const EditableCell = props => {
|
|
|
231
215
|
style: {
|
|
232
216
|
width: '100%',
|
|
233
217
|
height: '100%'
|
|
234
|
-
}
|
|
235
|
-
// defaultValue={weekValue}
|
|
236
|
-
,
|
|
218
|
+
},
|
|
237
219
|
picker: editType,
|
|
238
220
|
placeholder: column.placeholder,
|
|
239
221
|
disabled: (0, _hooks.isDisable)(column, record) ?? false,
|
|
240
222
|
maxDate: maxWeekValue,
|
|
241
|
-
minDate: minWeekValue
|
|
242
|
-
// onChange={(dateValue, dateString) => {
|
|
243
|
-
// const newDateValue = dateString ? dateString : null
|
|
244
|
-
//
|
|
245
|
-
// record[column.dataIndex] = newDateValue
|
|
246
|
-
// handleCellChange(newDateValue, newDateValue, record, col, indexRow, indexCol)
|
|
247
|
-
// }}
|
|
248
|
-
,
|
|
223
|
+
minDate: minWeekValue,
|
|
249
224
|
popupClassName: 'be-popup-container'
|
|
250
225
|
});
|
|
251
226
|
case 'time':
|
|
@@ -261,22 +236,10 @@ const EditableCell = props => {
|
|
|
261
236
|
format: {
|
|
262
237
|
format: timeFormat,
|
|
263
238
|
type: 'mask'
|
|
264
|
-
}
|
|
265
|
-
// defaultValue={timeValue}
|
|
266
|
-
,
|
|
239
|
+
},
|
|
267
240
|
maxDate: maxTime,
|
|
268
241
|
minDate: minTime,
|
|
269
|
-
disabled: (0, _hooks.isDisable)(column, record) ?? false
|
|
270
|
-
// onChange={(values: any, timeString) => {
|
|
271
|
-
// const newTimeValue = timeString ? timeString : null
|
|
272
|
-
// const newrecordData = {
|
|
273
|
-
// ...record,
|
|
274
|
-
// // [column.dataIndex]: newTimeValue
|
|
275
|
-
// }
|
|
276
|
-
//
|
|
277
|
-
// // handleCellChange(newTimeValue, newTimeValue, newrecordData, col, indexRow, indexCol)
|
|
278
|
-
// }}
|
|
279
|
-
,
|
|
242
|
+
disabled: (0, _hooks.isDisable)(column, record) ?? false,
|
|
280
243
|
style: {
|
|
281
244
|
width: '100%',
|
|
282
245
|
height: '100%'
|
|
@@ -339,21 +302,31 @@ const EditableCell = props => {
|
|
|
339
302
|
// @ts-ignore
|
|
340
303
|
valueSelectTable = column?.editSelectSettings?.defaultValue(record[column.dataIndex], record);
|
|
341
304
|
}
|
|
305
|
+
console.log('valueSelectTable', valueSelectTable);
|
|
342
306
|
return /*#__PURE__*/_react.default.createElement(_asyncTableSelect.AsyncTableSelect, {
|
|
343
307
|
id: `col${indexCol}-record${indexRow}`,
|
|
344
308
|
columns: columnsTable,
|
|
345
309
|
options: options,
|
|
346
310
|
defaultOptions: options
|
|
347
|
-
//
|
|
348
|
-
// // const newValue = val && (column?.editSelectSettings?.isMulti || column?.editSelectSettings?.selectMode === 'checkbox') ? (val?.map((item: any) => item[keySelect]) ?? []) : (val ? val[keySelect] : null)
|
|
349
|
-
// const newrecordData = {
|
|
350
|
-
// ...record,
|
|
351
|
-
// [column.dataIndex]: val
|
|
352
|
-
// }
|
|
353
|
-
//
|
|
354
|
-
// // handleCellChange(option, val, newrecordData, col, indexRow, indexCol)
|
|
355
|
-
// }}
|
|
311
|
+
// value={valueSelectTable}
|
|
356
312
|
,
|
|
313
|
+
value: value,
|
|
314
|
+
onChange: (val, option) => {
|
|
315
|
+
onChange(val);
|
|
316
|
+
const formState = getValues();
|
|
317
|
+
// const itemState = getValues(dataIndex)
|
|
318
|
+
// @ts-ignore
|
|
319
|
+
const prevState = record[dataIndex];
|
|
320
|
+
const newState = val;
|
|
321
|
+
handleCellChange?.({
|
|
322
|
+
key: getRowKey?.(record, index),
|
|
323
|
+
record: formState,
|
|
324
|
+
prevState,
|
|
325
|
+
newState,
|
|
326
|
+
option: option,
|
|
327
|
+
type: 'blur'
|
|
328
|
+
});
|
|
329
|
+
},
|
|
357
330
|
showSearch: true,
|
|
358
331
|
mode: column?.editSelectSettings?.isMulti || column?.editSelectSettings?.selectMode === 'checkbox' ? 'multiple' : undefined,
|
|
359
332
|
focusToSelectAll: true,
|
|
@@ -362,16 +335,13 @@ const EditableCell = props => {
|
|
|
362
335
|
width: '100%',
|
|
363
336
|
height: '100%'
|
|
364
337
|
},
|
|
365
|
-
value: valueSelectTable,
|
|
366
338
|
placeholder: t ? t('Select') : 'Select',
|
|
367
339
|
allowClear: column.isClearable ?? false,
|
|
368
340
|
maxTagCount: 'responsive',
|
|
369
341
|
rowKey: keySelect,
|
|
370
342
|
popupMatchSelectWidth: column?.editSelectSettings?.menuWidth ? column?.editSelectSettings?.menuWidth + 10 : undefined,
|
|
371
343
|
optionFilterProp: "label",
|
|
372
|
-
popupClassName: 'be-popup-container'
|
|
373
|
-
// onPaste={(e: any) => handleOnCellPaste(e, indexRow, indexCol)}
|
|
374
|
-
,
|
|
344
|
+
popupClassName: 'be-popup-container',
|
|
375
345
|
loadOptions: column?.editSelectSettings?.loadOptions,
|
|
376
346
|
status: isInvalid ? 'error' : undefined,
|
|
377
347
|
dropdownRender: menu => {
|
|
@@ -459,27 +429,26 @@ const EditableCell = props => {
|
|
|
459
429
|
onChange: (val, item) => {
|
|
460
430
|
console.log('item', item);
|
|
461
431
|
onChange(val);
|
|
462
|
-
}
|
|
463
|
-
onBlur: () => {
|
|
464
|
-
const formState = getValues();
|
|
465
|
-
// const itemState = getValues(dataIndex)
|
|
466
|
-
|
|
467
|
-
// @ts-ignore
|
|
468
|
-
const prevState = record[dataIndex];
|
|
469
|
-
// const newState = value
|
|
432
|
+
}
|
|
470
433
|
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
434
|
+
// onBlur={() => {
|
|
435
|
+
// const formState = getValues()
|
|
436
|
+
// // const itemState = getValues(dataIndex)
|
|
437
|
+
//
|
|
438
|
+
// // @ts-ignore
|
|
439
|
+
// const prevState = record[dataIndex]
|
|
440
|
+
// // const newState = value
|
|
441
|
+
//
|
|
442
|
+
// // console.log('prevState', prevState)
|
|
443
|
+
// // console.log('newState', newState)
|
|
444
|
+
// // console.log('itemState', itemState)
|
|
445
|
+
//
|
|
446
|
+
// if (value !== prevState) {
|
|
447
|
+
// // @ts-ignore
|
|
448
|
+
// handleCellChange?.({key: record[rowKey], record: formState, type: 'blur'})
|
|
449
|
+
// }
|
|
450
|
+
// }}
|
|
451
|
+
,
|
|
483
452
|
popupClassName: 'be-popup-container'
|
|
484
453
|
});
|
|
485
454
|
case 'treeSelect':
|
|
@@ -2,5 +2,6 @@ import React from 'react';
|
|
|
2
2
|
import type { GridTableProps } from "./type";
|
|
3
3
|
import 'dayjs/locale/es';
|
|
4
4
|
import 'dayjs/locale/vi';
|
|
5
|
+
import './styles.scss';
|
|
5
6
|
declare const InternalTable: <RecordType extends object>(props: GridTableProps<RecordType>) => React.JSX.Element;
|
|
6
7
|
export default InternalTable;
|
|
@@ -10,7 +10,6 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
10
10
|
var _rcMasterUi = require("rc-master-ui");
|
|
11
11
|
var _antd = require("antd");
|
|
12
12
|
var _icons = require("@ant-design/icons");
|
|
13
|
-
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
14
13
|
var _reactResizable = require("react-resizable");
|
|
15
14
|
var _customParseFormat = _interopRequireDefault(require("dayjs/plugin/customParseFormat"));
|
|
16
15
|
var _hooks = require("./hooks");
|
|
@@ -21,8 +20,9 @@ require("dayjs/locale/es");
|
|
|
21
20
|
require("dayjs/locale/vi");
|
|
22
21
|
var _en_US = _interopRequireDefault(require("rc-master-ui/es/date-picker/locale/en_US"));
|
|
23
22
|
var _vi_VN = _interopRequireDefault(require("rc-master-ui/es/date-picker/locale/vi_VN"));
|
|
24
|
-
|
|
25
|
-
var
|
|
23
|
+
require("./styles.scss");
|
|
24
|
+
var _GridEdit = _interopRequireDefault(require("./table/GridEdit"));
|
|
25
|
+
var _Grid = _interopRequireDefault(require("./table/Grid"));
|
|
26
26
|
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); }
|
|
27
27
|
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; }
|
|
28
28
|
_dayjs.default.extend(_customParseFormat.default);
|
|
@@ -54,20 +54,17 @@ const ResizableTitle = props => {
|
|
|
54
54
|
}, /*#__PURE__*/_react.default.createElement("th", restProps))
|
|
55
55
|
);
|
|
56
56
|
};
|
|
57
|
-
const GridStyle = _styledComponents.default.div.withConfig({
|
|
58
|
-
displayName: "GridStyle",
|
|
59
|
-
componentId: "es-grid-template__sc-1awgu8w-0"
|
|
60
|
-
})([".ui-rc-pagination{border-bottom:1px solid #e0e0e0;border-top:1px solid #e0e0e0;margin:0;padding:.75rem 1rem;.ui-rc-pagination-total-text{order:2;margin-left:auto;}&::before{content:\"\";position:absolute;border-left:1px solid #e0e0e0;height:", ";bottom:0;left:0;}&::after{content:\"\";position:absolute;border-left:1px solid #e0e0e0;height:", ";bottom:0;visibility:visible;right:0;}}"], props => props.heightTable ? typeof props.heightTable === 'string' ? props.heightTable : `${props.heightTable}px` : undefined, props => props.heightTable ? `${props.heightTable}px` : undefined);
|
|
61
57
|
const InternalTable = props => {
|
|
62
58
|
const {
|
|
63
59
|
t,
|
|
64
60
|
columns: propsColumns,
|
|
65
61
|
lang,
|
|
66
62
|
dataSource,
|
|
67
|
-
allowResizing
|
|
63
|
+
allowResizing,
|
|
68
64
|
dataSourceFilter: propDataSourceFilter,
|
|
69
65
|
onFilterClick,
|
|
70
66
|
editAble,
|
|
67
|
+
rowKey,
|
|
71
68
|
...rest
|
|
72
69
|
} = props;
|
|
73
70
|
const locale = lang && lang === 'en' ? _en_US.default : _vi_VN.default;
|
|
@@ -92,6 +89,17 @@ const InternalTable = props => {
|
|
|
92
89
|
}
|
|
93
90
|
setIsManualUpdate(false);
|
|
94
91
|
}, [dataSource]);
|
|
92
|
+
|
|
93
|
+
// ============================ RowKey ============================
|
|
94
|
+
const getRowKey = _react.default.useMemo(() => {
|
|
95
|
+
if (typeof rowKey === 'function') {
|
|
96
|
+
return rowKey;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
// @ts-ignore
|
|
100
|
+
return record => record?.[rowKey];
|
|
101
|
+
}, [rowKey]);
|
|
102
|
+
console.log('getRowKey', getRowKey);
|
|
95
103
|
const handleSearch = (selectedKeys, confirm) => {
|
|
96
104
|
confirm();
|
|
97
105
|
};
|
|
@@ -253,11 +261,14 @@ const InternalTable = props => {
|
|
|
253
261
|
return {
|
|
254
262
|
...getColumnSearchProps(col),
|
|
255
263
|
...col,
|
|
264
|
+
dataIndex: col.field ?? col.dataIndex,
|
|
256
265
|
title: col.headerText ?? col.title,
|
|
257
266
|
ellipsis: col.ellipsis !== false,
|
|
267
|
+
align: col.textAlign ?? col.align,
|
|
268
|
+
fixed: col.frozen ? col.frozen.toLowerCase() : col.fixed,
|
|
258
269
|
onFilter: (value, record) => {
|
|
259
270
|
// @ts-ignore
|
|
260
|
-
return record[
|
|
271
|
+
return record[col.field ?? col.dataIndex];
|
|
261
272
|
},
|
|
262
273
|
onHeaderCell: () => ({
|
|
263
274
|
width: col.width,
|
|
@@ -269,13 +280,13 @@ const InternalTable = props => {
|
|
|
269
280
|
const mergedColumns = _react.default.useMemo(() => {
|
|
270
281
|
return transformColumns(columns);
|
|
271
282
|
}, [transformColumns, columns]);
|
|
283
|
+
|
|
284
|
+
// console.log('mergedColumns', mergedColumns)
|
|
285
|
+
|
|
286
|
+
const triggerChangeColumns = () => {};
|
|
287
|
+
const triggerChangeData = () => {};
|
|
272
288
|
const TableComponent = editAble ? _GridEdit.default : _Grid.default;
|
|
273
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
274
|
-
heightTable: props.style?.minHeight,
|
|
275
|
-
style: {
|
|
276
|
-
position: 'relative'
|
|
277
|
-
}
|
|
278
|
-
}, /*#__PURE__*/_react.default.createElement(TableComponent, (0, _extends2.default)({}, rest, {
|
|
289
|
+
return /*#__PURE__*/_react.default.createElement(TableComponent, (0, _extends2.default)({}, rest, {
|
|
279
290
|
tableRef: tableRef,
|
|
280
291
|
dataSource: data,
|
|
281
292
|
components: {
|
|
@@ -283,10 +294,16 @@ const InternalTable = props => {
|
|
|
283
294
|
cell: allowResizing ? ResizableTitle : undefined
|
|
284
295
|
}
|
|
285
296
|
},
|
|
286
|
-
columns: mergedColumns
|
|
297
|
+
columns: mergedColumns
|
|
298
|
+
// columns={columns}
|
|
299
|
+
,
|
|
287
300
|
showSorterTooltip: {
|
|
288
301
|
target: 'sorter-icon'
|
|
289
|
-
}
|
|
290
|
-
|
|
302
|
+
},
|
|
303
|
+
triggerChangeColumns: triggerChangeColumns,
|
|
304
|
+
triggerChangeData: triggerChangeData,
|
|
305
|
+
rowKey: rowKey,
|
|
306
|
+
getRowKey: getRowKey
|
|
307
|
+
}));
|
|
291
308
|
};
|
|
292
309
|
var _default = exports.default = InternalTable;
|
|
@@ -3,7 +3,8 @@ import 'dayjs/locale/es';
|
|
|
3
3
|
import 'dayjs/locale/vi';
|
|
4
4
|
import type { GridTableProps } from "./type";
|
|
5
5
|
type GridProps<T> = GridTableProps<T> & {
|
|
6
|
-
|
|
6
|
+
triggerChangeColumns?: () => void;
|
|
7
|
+
triggerChangeData?: () => void;
|
|
7
8
|
tableRef: any;
|
|
8
9
|
};
|
|
9
10
|
declare const TableGrid: <RecordType extends object>(props: GridProps<RecordType>) => React.JSX.Element;
|
|
@@ -22,6 +22,9 @@ var _LoadingSpinner = _interopRequireDefault(require("./LoadingSpinner"));
|
|
|
22
22
|
var _ColumnsChoose = require("./ColumnsChoose");
|
|
23
23
|
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); }
|
|
24
24
|
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; }
|
|
25
|
+
// import {useMergedState} from "rc-util";
|
|
26
|
+
// import useMergedState from 'rc-util/lib/hooks/useMergedState';
|
|
27
|
+
|
|
25
28
|
const convertFilters = filters => {
|
|
26
29
|
const result = [];
|
|
27
30
|
filters.forEach(({
|
|
@@ -70,7 +73,6 @@ const convertFilters = filters => {
|
|
|
70
73
|
const useStyle = (0, _antdStyle.createStyles)(({
|
|
71
74
|
css
|
|
72
75
|
}) => {
|
|
73
|
-
// const { antCls } = token
|
|
74
76
|
const antCls = 'ui-rc';
|
|
75
77
|
return {
|
|
76
78
|
customTable: css`
|
|
@@ -89,6 +91,8 @@ const useStyle = (0, _antdStyle.createStyles)(({
|
|
|
89
91
|
});
|
|
90
92
|
// type OnChange = NonNullable<TableProps<any>['onChange']>;
|
|
91
93
|
|
|
94
|
+
// const EMPTY_LIST: React.Key[] = [];
|
|
95
|
+
|
|
92
96
|
const TableGrid = props => {
|
|
93
97
|
const {
|
|
94
98
|
columns,
|
|
@@ -116,20 +120,31 @@ const TableGrid = props => {
|
|
|
116
120
|
onFilterClick,
|
|
117
121
|
dataSourceFilter: propDataSourceFilter,
|
|
118
122
|
loading,
|
|
119
|
-
|
|
120
|
-
// dataSourceFilter,
|
|
123
|
+
triggerChangeColumns,
|
|
121
124
|
...rest
|
|
122
125
|
} = props;
|
|
123
126
|
const {
|
|
124
127
|
styles
|
|
125
128
|
} = useStyle();
|
|
129
|
+
const {
|
|
130
|
+
mode,
|
|
131
|
+
type,
|
|
132
|
+
checkboxOnly,
|
|
133
|
+
hideSelectAll,
|
|
134
|
+
columnWidth,
|
|
135
|
+
selectedRowKeys
|
|
136
|
+
// defaultSelectedRowKeys
|
|
137
|
+
} = selectionSettings || {};
|
|
126
138
|
const clickRef = (0, _react.useRef)(null);
|
|
127
139
|
const menuRef = (0, _react.useRef)(null);
|
|
128
140
|
const viewportWidth = window.innerWidth;
|
|
129
141
|
const viewportHeight = window.innerHeight;
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
142
|
+
|
|
143
|
+
// const defaultSelected = useMemo(() => {
|
|
144
|
+
// return defaultSelectedRowKeys ?? []
|
|
145
|
+
//
|
|
146
|
+
// }, [defaultSelectedRowKeys])
|
|
147
|
+
|
|
133
148
|
const [menuVisible, setMenuVisible] = _react.default.useState(false);
|
|
134
149
|
const [selectedRowData, setSelectedRowData] = _react.default.useState(null);
|
|
135
150
|
const [position, setPosition] = _react.default.useState({
|
|
@@ -138,7 +153,25 @@ const TableGrid = props => {
|
|
|
138
153
|
viewportWidth,
|
|
139
154
|
viewportHeight
|
|
140
155
|
});
|
|
141
|
-
|
|
156
|
+
|
|
157
|
+
// const [selectedRowKeys, setSelectedRowKeys] = useState<React.Key[]>(defaultSelected);
|
|
158
|
+
|
|
159
|
+
// ========================= Keys =========================
|
|
160
|
+
// const [mergedSelectedKeys, setMergedSelectedKeys] = useMergedState(
|
|
161
|
+
// selectedRowKeys || defaultSelectedRowKeys || EMPTY_LIST,
|
|
162
|
+
// {
|
|
163
|
+
// value: selectedRowKeys,
|
|
164
|
+
// },
|
|
165
|
+
// );
|
|
166
|
+
|
|
167
|
+
// Reset if rowSelection reset
|
|
168
|
+
|
|
169
|
+
// React.useEffect(() => {
|
|
170
|
+
// if (!selectionSettings) {
|
|
171
|
+
// setMergedSelectedKeys(EMPTY_LIST);
|
|
172
|
+
// }
|
|
173
|
+
// }, [!!selectionSettings]);
|
|
174
|
+
|
|
142
175
|
const contextMenuItems = _react.default.useMemo(() => {
|
|
143
176
|
if (typeof contextMenuHidden === "function" && propContextMenuItems && selectedRowData) {
|
|
144
177
|
const hiddenItems = contextMenuHidden({
|
|
@@ -206,7 +239,17 @@ const TableGrid = props => {
|
|
|
206
239
|
});
|
|
207
240
|
}
|
|
208
241
|
};
|
|
209
|
-
const handleRowClick = () => {
|
|
242
|
+
const handleRowClick = () => () => {
|
|
243
|
+
// console.log(data)
|
|
244
|
+
// console.log(index)
|
|
245
|
+
|
|
246
|
+
// const key = getRowKey(record, index);
|
|
247
|
+
|
|
248
|
+
// console.log('key', key)
|
|
249
|
+
|
|
250
|
+
if (checkboxOnly !== true) {
|
|
251
|
+
if (type === 'single') {}
|
|
252
|
+
}
|
|
210
253
|
if (clickRef.current) return;
|
|
211
254
|
|
|
212
255
|
// @ts-ignore
|
|
@@ -228,7 +271,7 @@ const TableGrid = props => {
|
|
|
228
271
|
};
|
|
229
272
|
const onSelectChange = (keys, selectedRows, info, selectedRow) => {
|
|
230
273
|
if (info.type === 'all') {
|
|
231
|
-
//
|
|
274
|
+
// setMergedSelectedKeys(keys)
|
|
232
275
|
rowSelected?.({
|
|
233
276
|
selected: selectedRows,
|
|
234
277
|
type: 'rowSelected',
|
|
@@ -236,7 +279,7 @@ const TableGrid = props => {
|
|
|
236
279
|
});
|
|
237
280
|
} else {
|
|
238
281
|
if (selectionSettings?.type === 'multiple') {
|
|
239
|
-
//
|
|
282
|
+
// setMergedSelectedKeys(keys)
|
|
240
283
|
rowSelected?.({
|
|
241
284
|
selected: selectedRows,
|
|
242
285
|
type: 'rowSelected',
|
|
@@ -244,7 +287,7 @@ const TableGrid = props => {
|
|
|
244
287
|
});
|
|
245
288
|
} else {
|
|
246
289
|
// @ts-ignore
|
|
247
|
-
|
|
290
|
+
setMergedSelectedKeys([selectedRow[rowKey]]);
|
|
248
291
|
rowSelected?.({
|
|
249
292
|
selected: [selectedRow],
|
|
250
293
|
type: 'rowSelected',
|
|
@@ -300,19 +343,21 @@ const TableGrid = props => {
|
|
|
300
343
|
onRow: (data, index) => {
|
|
301
344
|
return {
|
|
302
345
|
onDoubleClick: handleRowDoubleClick(data, index),
|
|
303
|
-
onClick: handleRowClick,
|
|
346
|
+
// onClick: handleRowClick,
|
|
347
|
+
onClick: handleRowClick(),
|
|
304
348
|
onContextMenu: onContextMenu(data)
|
|
305
349
|
};
|
|
306
350
|
},
|
|
307
351
|
rowSelection: {
|
|
308
|
-
|
|
309
|
-
|
|
352
|
+
...selectionSettings,
|
|
353
|
+
type: selectionSettings?.mode === 'checkbox' || type === 'multiple' ? 'checkbox' : "radio",
|
|
354
|
+
columnWidth: !mode ? 0.0000001 : columnWidth ?? 50,
|
|
310
355
|
onChange: onSelectChange,
|
|
311
|
-
selectedRowKeys:
|
|
356
|
+
selectedRowKeys: mode === 'checkbox' && type === 'single' ? selectedRowKeys : undefined,
|
|
312
357
|
defaultSelectedRowKeys: selectionSettings?.defaultSelectedRowKeys,
|
|
313
358
|
preserveSelectedRowKeys: true,
|
|
314
359
|
...rowSelection,
|
|
315
|
-
hideSelectAll: !
|
|
360
|
+
hideSelectAll: !type || type === 'single' || selectionSettings?.mode === 'radio' ? true : hideSelectAll ?? type !== 'multiple'
|
|
316
361
|
},
|
|
317
362
|
onScroll: () => {
|
|
318
363
|
setMenuVisible(false);
|
|
@@ -367,7 +412,7 @@ const TableGrid = props => {
|
|
|
367
412
|
}
|
|
368
413
|
}), showColumnChoose && /*#__PURE__*/_react.default.createElement(_ColumnsChoose.ColumnsChoose, {
|
|
369
414
|
columns: columns,
|
|
370
|
-
|
|
415
|
+
triggerChangeColumns: triggerChangeColumns
|
|
371
416
|
}), /*#__PURE__*/_react.default.createElement("div", null)));
|
|
372
417
|
}
|
|
373
418
|
}, rest)), pagination && pagination.onChange && /*#__PURE__*/_react.default.createElement(_pagination.default
|