es-grid-template 1.9.26 → 1.9.28

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 (33) hide show
  1. package/es/grid-component/type.d.ts +4 -1
  2. package/es/table-component/InternalTable.js +31 -1
  3. package/es/table-component/TableContainerEdit.js +59 -23
  4. package/es/table-component/body/EditableCell.js +68 -27
  5. package/es/table-component/body/TableBody.js +1 -1
  6. package/es/table-component/body/TableBodyCell.js +6 -2
  7. package/es/table-component/body/TableBodyCellEdit.js +7 -5
  8. package/es/table-component/footer/TableFooterRow.js +1 -1
  9. package/es/table-component/header/TableHeadCell2.js +2 -1
  10. package/es/table-component/style.js +12 -9
  11. package/es/table-component/style.scss +40 -232
  12. package/es/table-component/table/Grid.js +2 -1
  13. package/es/table-virtuoso/body/TableBodyCell.js +4 -1
  14. package/es/table-virtuoso/body/TableBodyRow.js +6 -7
  15. package/es/table-virtuoso/style.js +1 -1
  16. package/es/table-virtuoso/table/TableWrapper.js +3 -1
  17. package/lib/grid-component/type.d.ts +4 -1
  18. package/lib/table-component/InternalTable.js +31 -1
  19. package/lib/table-component/TableContainerEdit.js +84 -48
  20. package/lib/table-component/body/EditableCell.js +68 -27
  21. package/lib/table-component/body/TableBody.js +1 -1
  22. package/lib/table-component/body/TableBodyCell.js +6 -2
  23. package/lib/table-component/body/TableBodyCellEdit.js +7 -5
  24. package/lib/table-component/footer/TableFooterRow.js +1 -1
  25. package/lib/table-component/header/TableHeadCell2.js +3 -2
  26. package/lib/table-component/style.js +11 -8
  27. package/lib/table-component/style.scss +40 -232
  28. package/lib/table-component/table/Grid.js +2 -1
  29. package/lib/table-virtuoso/body/TableBodyCell.js +4 -1
  30. package/lib/table-virtuoso/body/TableBodyRow.js +6 -7
  31. package/lib/table-virtuoso/style.js +1 -1
  32. package/lib/table-virtuoso/table/TableWrapper.js +3 -1
  33. package/package.json +1 -1
@@ -12,6 +12,8 @@ var _utils = require("./hook/utils");
12
12
  var _reactVirtual = require("@tanstack/react-virtual");
13
13
  var _reactHookForm = require("react-hook-form");
14
14
  var _antd = require("antd");
15
+ var _button = _interopRequireDefault(require("rc-master-ui/es/button"));
16
+ var _dropdown = _interopRequireDefault(require("rc-master-ui/es/dropdown"));
15
17
  var _pagination = _interopRequireDefault(require("rc-master-ui/es/pagination"));
16
18
  var _reactNumericComponent = require("react-numeric-component");
17
19
  var _useContext = require("./useContext");
@@ -81,19 +83,15 @@ const TableContainerEdit = props => {
81
83
  expandable,
82
84
  wrapSettings,
83
85
  recordDoubleClick,
84
- // triggerFilter,
85
86
  selectionSettings,
86
87
  isSelectionChange,
87
88
  setIsSelectionChange,
88
- // onContextMenu,
89
89
  contextMenuItems,
90
90
  setSorterChange,
91
91
  setFilterChange,
92
92
  defaultFilter,
93
93
  onCellPaste,
94
- // triggerPaste,
95
94
  validate,
96
- // triggerChangeData,
97
95
  onCellChange,
98
96
  onDataChange,
99
97
  defaultValue,
@@ -291,14 +289,16 @@ const TableContainerEdit = props => {
291
289
 
292
290
  copy(tsv).then(() => {}).catch(() => {});
293
291
  }, [startCell, endCell, table]);
294
- const triggerChangeData = _react.default.useCallback(newData => {
295
- onDataChange?.(newData);
292
+ const triggerChangeData = _react.default.useCallback((newData, args) => {
293
+ onDataChange?.(newData, args);
296
294
  }, [onDataChange, dataSource]);
297
295
  const triggerPaste = _react.default.useCallback((pastedRows, pastedColumnsArray, newData, copyRows) => {
298
296
  const handlePasteCallback = callbackData => {
299
297
  const rsFilterData = (0, _utils.updateOrInsert)((0, _utils.flattenArray)([...originData]), (0, _utils.flattenArray)([...callbackData]));
300
298
  const rs = (0, _utils.unFlattenData)(rsFilterData);
301
- triggerChangeData(rs);
299
+ triggerChangeData(rs, {
300
+ type: 'OnPaste'
301
+ });
302
302
  };
303
303
  if (onCellPaste && onCellPaste.onPasted) {
304
304
  if (onCellPaste.onPasted.length > 1) {
@@ -319,10 +319,14 @@ const TableContainerEdit = props => {
319
319
  data: originData,
320
320
  pastedColumns: pastedColumnsArray
321
321
  }, handlePasteCallback);
322
- triggerChangeData(newData);
322
+ triggerChangeData(newData, {
323
+ type: 'OnPaste'
324
+ });
323
325
  }
324
326
  } else {
325
- triggerChangeData(newData);
327
+ triggerChangeData(newData, {
328
+ type: 'OnPaste'
329
+ });
326
330
  }
327
331
  }, [onCellPaste, originData, triggerChangeData]);
328
332
  const handlePasted = _react.default.useCallback(pasteData => {
@@ -750,7 +754,9 @@ const TableContainerEdit = props => {
750
754
  const index = (0, _utils.flattenData)(childrenColumnName, newData).findIndex(item => formData[rowKey] === item[rowKey]);
751
755
  const rs = (0, _utils.updateArrayByKey)(newData, row, rowKey);
752
756
  if (index > -1) {
753
- triggerChangeData?.(rs);
757
+ triggerChangeData?.(rs, {
758
+ type: 'CellChange'
759
+ });
754
760
  }
755
761
  } catch (errInfo) {
756
762
  console.log('Validate Failed:', errInfo);
@@ -770,7 +776,9 @@ const TableContainerEdit = props => {
770
776
  const index = (0, _utils.flattenData)(childrenColumnName, newData).findIndex(item => formData[rowKey] === item[rowKey]);
771
777
  const rs = (0, _utils.updateArrayByKey)(newData, row, rowKey);
772
778
  if (index > -1) {
773
- triggerChangeData?.(rs);
779
+ triggerChangeData?.(rs, {
780
+ type: 'CellChange'
781
+ });
774
782
  }
775
783
  } catch (errInfo) {
776
784
  console.log('Validate Failed:', errInfo);
@@ -970,7 +978,9 @@ const TableContainerEdit = props => {
970
978
  const rs = (0, _utils.updateOrInsert)(originData, rsFilter);
971
979
  // const rs2 = mergeWithFilter(originData, rsFilter)
972
980
 
973
- triggerChangeData?.(rs);
981
+ triggerChangeData?.(rs, {
982
+ type: 'DUPLICATE'
983
+ });
974
984
  }, [dataSource, focusedCell, originData, rowKey, table, triggerChangeData]);
975
985
 
976
986
  // thêm n dòng bên trên
@@ -1006,7 +1016,10 @@ const TableContainerEdit = props => {
1006
1016
  setMergedFilterKeys?.(rs);
1007
1017
  const index = newData.findIndex(obj => obj[rowKey] === record[rowKey]);
1008
1018
  newData.splice(index, 0, ...newRows);
1009
- triggerChangeData?.(newData);
1019
+ triggerChangeData?.(newData, {
1020
+ type: 'INSERT_BEFORE',
1021
+ row: n
1022
+ });
1010
1023
  } else {
1011
1024
  const newData = [...originData];
1012
1025
  const parent = (0, _utils.findItemByKey)(newData, rowKey, record.parentId);
@@ -1032,7 +1045,10 @@ const TableContainerEdit = props => {
1032
1045
  children: childData
1033
1046
  };
1034
1047
  const newDataSource = (0, _utils.updateArrayByKey)(newData, newRowData, rowKey);
1035
- triggerChangeData?.(newDataSource);
1048
+ triggerChangeData?.(newDataSource, {
1049
+ type: 'INSERT_BEFORE',
1050
+ row: n
1051
+ });
1036
1052
  }
1037
1053
  }
1038
1054
  }, [defaultValue, focusedCell, mergedFilterKeys, originData, rowKey, rowsFocus, setMergedFilterKeys, table, triggerChangeData]);
@@ -1070,7 +1086,10 @@ const TableContainerEdit = props => {
1070
1086
  setMergedFilterKeys?.(rs);
1071
1087
  const index = newData.findIndex(obj => obj[rowKey] === record[rowKey]);
1072
1088
  newData.splice(index + 1, 0, ...newRows);
1073
- triggerChangeData?.(newData);
1089
+ triggerChangeData?.(newData, {
1090
+ type: 'INSERT_AFTER',
1091
+ row: n
1092
+ });
1074
1093
  } else {
1075
1094
  const newData = [...originData];
1076
1095
  const parent = (0, _utils.findItemByKey)(newData, rowKey, record.parentId);
@@ -1099,7 +1118,10 @@ const TableContainerEdit = props => {
1099
1118
  children: childData
1100
1119
  };
1101
1120
  const newDataSource = (0, _utils.updateArrayByKey)(newData, newRowData, rowKey);
1102
- triggerChangeData?.(newDataSource);
1121
+ triggerChangeData?.(newDataSource, {
1122
+ type: 'INSERT_AFTER',
1123
+ row: n
1124
+ });
1103
1125
  }
1104
1126
  }
1105
1127
  }, [defaultValue, table, focusedCell?.rowId, originData, mergedFilterKeys, setMergedFilterKeys, triggerChangeData, rowKey]);
@@ -1137,7 +1159,9 @@ const TableContainerEdit = props => {
1137
1159
  const rs = mergedFilterKeys ? [...mergedFilterKeys, rowId] : [rowId];
1138
1160
  setMergedFilterKeys?.(rs);
1139
1161
  const newDataSource = (0, _utils.updateArrayByKey)(newData, newElement, rowKey);
1140
- triggerChangeData?.(newDataSource);
1162
+ triggerChangeData?.(newDataSource, {
1163
+ type: 'INSERT_CHILDREN'
1164
+ });
1141
1165
  }
1142
1166
  setTimeout(() => {
1143
1167
  const row = table.getRowModel().rows.find(it => it.id === focusedCell?.rowId);
@@ -1180,12 +1204,18 @@ const TableContainerEdit = props => {
1180
1204
  buttonsStyling: false
1181
1205
  }).then(async result => {
1182
1206
  if (result.value) {
1183
- triggerChangeData?.([...newDaa]);
1207
+ triggerChangeData?.([...newDaa], {
1208
+ type: 'DELETE_ROWS',
1209
+ row: rowsFocus.length
1210
+ });
1184
1211
  } else if (result.dismiss === MySwal.DismissReason.cancel) {}
1185
1212
  });
1186
1213
  } else {
1187
1214
  // không hiện dialog
1188
- triggerChangeData?.([...newDaa]);
1215
+ triggerChangeData?.([...newDaa], {
1216
+ type: 'DELETE_ROWS',
1217
+ row: rowsFocus.length
1218
+ });
1189
1219
  }
1190
1220
  }
1191
1221
  }, [commandSettings, originData, rowKey, rowsFocus, t, triggerChangeData]);
@@ -1211,11 +1241,15 @@ const TableContainerEdit = props => {
1211
1241
  buttonsStyling: false
1212
1242
  }).then(async result => {
1213
1243
  if (result.value) {
1214
- triggerChangeData?.([]);
1244
+ triggerChangeData?.([], {
1245
+ type: 'DELETE'
1246
+ });
1215
1247
  } else if (result.dismiss === MySwal.DismissReason.cancel) {}
1216
1248
  });
1217
1249
  } else {
1218
- triggerChangeData?.([]);
1250
+ triggerChangeData?.([], {
1251
+ type: 'DELETE'
1252
+ });
1219
1253
  }
1220
1254
  }
1221
1255
  }, [commandSettings, t, triggerChangeData]);
@@ -1261,7 +1295,9 @@ const TableContainerEdit = props => {
1261
1295
  return updatedRow;
1262
1296
  });
1263
1297
  const newData = (0, _utils.unFlattenData)(rs);
1264
- triggerChangeData?.([...newData]);
1298
+ triggerChangeData?.([...newData], {
1299
+ type: 'DELETE_CONTENT'
1300
+ });
1265
1301
  }
1266
1302
  };
1267
1303
  const toolbarItemsBottom = _react.default.useMemo(() => {
@@ -1275,7 +1311,7 @@ const TableContainerEdit = props => {
1275
1311
  template: () => {
1276
1312
  return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, item.key === 'ADD' && /*#__PURE__*/_react.default.createElement("div", {
1277
1313
  className: (0, _classnames.default)(`be-toolbar-item`, item?.className)
1278
- }, item?.hasMenu === false ? /*#__PURE__*/_react.default.createElement(_antd.Button, {
1314
+ }, item?.hasMenu === false ? /*#__PURE__*/_react.default.createElement(_button.default, {
1279
1315
  style: {
1280
1316
  color: '#28c76f',
1281
1317
  borderColor: '#28c76f'
@@ -1283,7 +1319,7 @@ const TableContainerEdit = props => {
1283
1319
  variant: 'outlined',
1284
1320
  onClick: () => handleAddMulti(item, 1),
1285
1321
  className: "d-flex toolbar-button"
1286
- }, item.template ? (0, _hooks.getToolbarTemplate)(item.template) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, item.label ? t ? t(item.label) : item.label : t ? t('Add item') : 'Add item')) : /*#__PURE__*/_react.default.createElement(_antd.Dropdown.Button, {
1322
+ }, item.template ? (0, _hooks.getToolbarTemplate)(item.template) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, item.label ? t ? t(item.label) : item.label : t ? t('Add item') : 'Add item')) : /*#__PURE__*/_react.default.createElement(_dropdown.default.Button, {
1287
1323
  overlayClassName: 'be-popup-container',
1288
1324
  trigger: ['click'],
1289
1325
  style: {
@@ -1311,7 +1347,7 @@ const TableContainerEdit = props => {
1311
1347
  template: () => {
1312
1348
  return /*#__PURE__*/_react.default.createElement("div", {
1313
1349
  className: (0, _classnames.default)(`be-toolbar-item`, item?.className)
1314
- }, /*#__PURE__*/_react.default.createElement(_antd.Button, {
1350
+ }, /*#__PURE__*/_react.default.createElement(_button.default, {
1315
1351
  style: {
1316
1352
  color: '#eb4619',
1317
1353
  borderColor: '#eb4619'
@@ -1336,7 +1372,7 @@ const TableContainerEdit = props => {
1336
1372
  template: () => {
1337
1373
  return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, item.key === 'ADD' && /*#__PURE__*/_react.default.createElement("div", {
1338
1374
  className: (0, _classnames.default)(`be-toolbar-item`, item?.className)
1339
- }, item?.hasMenu === false ? /*#__PURE__*/_react.default.createElement(_antd.Button, {
1375
+ }, item?.hasMenu === false ? /*#__PURE__*/_react.default.createElement(_button.default, {
1340
1376
  style: {
1341
1377
  color: '#28c76f',
1342
1378
  borderColor: '#28c76f'
@@ -1344,7 +1380,7 @@ const TableContainerEdit = props => {
1344
1380
  variant: 'outlined',
1345
1381
  onClick: () => handleAddMulti(item, 1),
1346
1382
  className: "d-flex toolbar-button"
1347
- }, item.template ? (0, _hooks.getToolbarTemplate)(item.template) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, item.label ? t ? t(item.label) : item.label : t ? t('Add item') : 'Add item')) : /*#__PURE__*/_react.default.createElement(_antd.Dropdown.Button, {
1383
+ }, item.template ? (0, _hooks.getToolbarTemplate)(item.template) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, item.label ? t ? t(item.label) : item.label : t ? t('Add item') : 'Add item')) : /*#__PURE__*/_react.default.createElement(_dropdown.default.Button, {
1348
1384
  title: "",
1349
1385
  overlayClassName: 'be-popup-container',
1350
1386
  style: {
@@ -1372,7 +1408,7 @@ const TableContainerEdit = props => {
1372
1408
  template: () => {
1373
1409
  return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, item.key === 'DUPLICATE' && item.visible !== false && rowsFocus.length > 0 && /*#__PURE__*/_react.default.createElement("div", {
1374
1410
  className: (0, _classnames.default)(`be-toolbar-item`, item?.className)
1375
- }, /*#__PURE__*/_react.default.createElement(_antd.Button, {
1411
+ }, /*#__PURE__*/_react.default.createElement(_button.default, {
1376
1412
  style: {
1377
1413
  color: '#28c76f',
1378
1414
  borderColor: '#28c76f'
@@ -1391,7 +1427,7 @@ const TableContainerEdit = props => {
1391
1427
  template: () => {
1392
1428
  return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
1393
1429
  className: (0, _classnames.default)(`be-toolbar-item`, item?.className)
1394
- }, item?.hasMenu === false ? /*#__PURE__*/_react.default.createElement(_antd.Button, {
1430
+ }, item?.hasMenu === false ? /*#__PURE__*/_react.default.createElement(_button.default, {
1395
1431
  style: {
1396
1432
  color: '#28c76f',
1397
1433
  borderColor: '#28c76f'
@@ -1399,7 +1435,7 @@ const TableContainerEdit = props => {
1399
1435
  variant: 'outlined',
1400
1436
  onClick: () => handleInsertBefore(item, 1),
1401
1437
  className: "d-flex toolbar-button"
1402
- }, item.template ? (0, _hooks.getToolbarTemplate)(item.template) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, item.label ? t ? t(item.label) : item.label : t ? t('Insert item before') : 'Insert item before')) : /*#__PURE__*/_react.default.createElement(_antd.Dropdown.Button, {
1438
+ }, item.template ? (0, _hooks.getToolbarTemplate)(item.template) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, item.label ? t ? t(item.label) : item.label : t ? t('Insert item before') : 'Insert item before')) : /*#__PURE__*/_react.default.createElement(_dropdown.default.Button, {
1403
1439
  overlayClassName: 'be-popup-container',
1404
1440
  style: {
1405
1441
  color: '#28c76f',
@@ -1426,7 +1462,7 @@ const TableContainerEdit = props => {
1426
1462
  template: () => {
1427
1463
  return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
1428
1464
  className: (0, _classnames.default)(`be-toolbar-item`, item?.className)
1429
- }, item?.hasMenu === false ? /*#__PURE__*/_react.default.createElement(_antd.Button, {
1465
+ }, item?.hasMenu === false ? /*#__PURE__*/_react.default.createElement(_button.default, {
1430
1466
  style: {
1431
1467
  color: '#28c76f',
1432
1468
  borderColor: '#28c76f'
@@ -1434,7 +1470,7 @@ const TableContainerEdit = props => {
1434
1470
  variant: 'outlined',
1435
1471
  onClick: () => handleInsertAfter(item, 1),
1436
1472
  className: "d-flex toolbar-button"
1437
- }, item.template ? (0, _hooks.getToolbarTemplate)(item.template) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, item.label ? t ? t(item.label) : item.label : t ? t('Insert item after') : 'Insert item after')) : /*#__PURE__*/_react.default.createElement(_antd.Dropdown.Button, {
1473
+ }, item.template ? (0, _hooks.getToolbarTemplate)(item.template) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, item.label ? t ? t(item.label) : item.label : t ? t('Insert item after') : 'Insert item after')) : /*#__PURE__*/_react.default.createElement(_dropdown.default.Button, {
1438
1474
  overlayClassName: 'be-popup-container',
1439
1475
  style: {
1440
1476
  color: '#28c76f',
@@ -1461,7 +1497,7 @@ const TableContainerEdit = props => {
1461
1497
  template: () => {
1462
1498
  return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
1463
1499
  className: (0, _classnames.default)(`be-toolbar-item`, item?.className)
1464
- }, /*#__PURE__*/_react.default.createElement(_antd.Button, {
1500
+ }, /*#__PURE__*/_react.default.createElement(_button.default, {
1465
1501
  style: {
1466
1502
  color: '#28c76f',
1467
1503
  borderColor: '#28c76f'
@@ -1480,7 +1516,7 @@ const TableContainerEdit = props => {
1480
1516
  template: () => {
1481
1517
  return /*#__PURE__*/_react.default.createElement("div", {
1482
1518
  className: (0, _classnames.default)(`be-toolbar-item`, item?.className)
1483
- }, /*#__PURE__*/_react.default.createElement(_antd.Button, {
1519
+ }, /*#__PURE__*/_react.default.createElement(_button.default, {
1484
1520
  style: {
1485
1521
  color: '#eb4619',
1486
1522
  borderColor: '#eb4619'
@@ -1499,7 +1535,7 @@ const TableContainerEdit = props => {
1499
1535
  template: () => {
1500
1536
  return /*#__PURE__*/_react.default.createElement("div", {
1501
1537
  className: (0, _classnames.default)(`be-toolbar-item`, item?.className)
1502
- }, /*#__PURE__*/_react.default.createElement(_antd.Button, {
1538
+ }, /*#__PURE__*/_react.default.createElement(_button.default, {
1503
1539
  style: {
1504
1540
  color: '#eb4619',
1505
1541
  borderColor: '#eb4619'
@@ -1527,7 +1563,7 @@ const TableContainerEdit = props => {
1527
1563
  template: () => {
1528
1564
  return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, item.key === 'ADD' && /*#__PURE__*/_react.default.createElement("div", {
1529
1565
  className: (0, _classnames.default)(`be-toolbar-item`, item?.className)
1530
- }, item?.hasMenu === false ? /*#__PURE__*/_react.default.createElement(_antd.Button, {
1566
+ }, item?.hasMenu === false ? /*#__PURE__*/_react.default.createElement(_button.default, {
1531
1567
  style: {
1532
1568
  color: '#28c76f',
1533
1569
  borderColor: '#28c76f'
@@ -1535,7 +1571,7 @@ const TableContainerEdit = props => {
1535
1571
  variant: 'outlined',
1536
1572
  onClick: () => handleAddMulti(item, 1),
1537
1573
  className: "d-flex toolbar-button"
1538
- }, item.template ? (0, _hooks.getToolbarTemplate)(item.template) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, item.label ? t ? t(item.label) : item.label : t ? t('Add item') : 'Add item')) : /*#__PURE__*/_react.default.createElement(_antd.Dropdown.Button, {
1574
+ }, item.template ? (0, _hooks.getToolbarTemplate)(item.template) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, item.label ? t ? t(item.label) : item.label : t ? t('Add item') : 'Add item')) : /*#__PURE__*/_react.default.createElement(_dropdown.default.Button, {
1539
1575
  overlayClassName: 'be-popup-container',
1540
1576
  trigger: ['click'],
1541
1577
  style: {
@@ -1563,7 +1599,7 @@ const TableContainerEdit = props => {
1563
1599
  template: () => {
1564
1600
  return /*#__PURE__*/_react.default.createElement("div", {
1565
1601
  className: (0, _classnames.default)(`be-toolbar-item`, item?.className)
1566
- }, /*#__PURE__*/_react.default.createElement(_antd.Button, {
1602
+ }, /*#__PURE__*/_react.default.createElement(_button.default, {
1567
1603
  style: {
1568
1604
  color: '#eb4619',
1569
1605
  borderColor: '#eb4619'
@@ -1588,7 +1624,7 @@ const TableContainerEdit = props => {
1588
1624
  template: () => {
1589
1625
  return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, item.key === 'ADD' && /*#__PURE__*/_react.default.createElement("div", {
1590
1626
  className: (0, _classnames.default)(`be-toolbar-item`, item?.className)
1591
- }, item?.hasMenu === false ? /*#__PURE__*/_react.default.createElement(_antd.Button, {
1627
+ }, item?.hasMenu === false ? /*#__PURE__*/_react.default.createElement(_button.default, {
1592
1628
  style: {
1593
1629
  color: '#28c76f',
1594
1630
  borderColor: '#28c76f'
@@ -1596,7 +1632,7 @@ const TableContainerEdit = props => {
1596
1632
  variant: 'outlined',
1597
1633
  onClick: () => handleAddMulti(item, 1),
1598
1634
  className: "d-flex toolbar-button"
1599
- }, item.template ? (0, _hooks.getToolbarTemplate)(item.template) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, item.label ? t ? t(item.label) : item.label : t ? t('Add item') : 'Add item')) : /*#__PURE__*/_react.default.createElement(_antd.Dropdown.Button, {
1635
+ }, item.template ? (0, _hooks.getToolbarTemplate)(item.template) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, item.label ? t ? t(item.label) : item.label : t ? t('Add item') : 'Add item')) : /*#__PURE__*/_react.default.createElement(_dropdown.default.Button, {
1600
1636
  title: "",
1601
1637
  overlayClassName: 'be-popup-container',
1602
1638
  style: {
@@ -1624,7 +1660,7 @@ const TableContainerEdit = props => {
1624
1660
  template: () => {
1625
1661
  return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, item.key === 'DUPLICATE' && item.visible !== false && rowsFocus.length > 0 && /*#__PURE__*/_react.default.createElement("div", {
1626
1662
  className: (0, _classnames.default)(`be-toolbar-item`, item?.className)
1627
- }, /*#__PURE__*/_react.default.createElement(_antd.Button, {
1663
+ }, /*#__PURE__*/_react.default.createElement(_button.default, {
1628
1664
  style: {
1629
1665
  color: '#28c76f',
1630
1666
  borderColor: '#28c76f'
@@ -1643,7 +1679,7 @@ const TableContainerEdit = props => {
1643
1679
  template: () => {
1644
1680
  return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
1645
1681
  className: (0, _classnames.default)(`be-toolbar-item`, item?.className)
1646
- }, item?.hasMenu === false ? /*#__PURE__*/_react.default.createElement(_antd.Button, {
1682
+ }, item?.hasMenu === false ? /*#__PURE__*/_react.default.createElement(_button.default, {
1647
1683
  style: {
1648
1684
  color: '#28c76f',
1649
1685
  borderColor: '#28c76f'
@@ -1651,7 +1687,7 @@ const TableContainerEdit = props => {
1651
1687
  variant: 'outlined',
1652
1688
  onClick: () => handleInsertBefore(item, 1),
1653
1689
  className: "d-flex toolbar-button"
1654
- }, item.template ? (0, _hooks.getToolbarTemplate)(item.template) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, item.label ? t ? t(item.label) : item.label : t ? t('Insert item before') : 'Insert item before')) : /*#__PURE__*/_react.default.createElement(_antd.Dropdown.Button, {
1690
+ }, item.template ? (0, _hooks.getToolbarTemplate)(item.template) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, item.label ? t ? t(item.label) : item.label : t ? t('Insert item before') : 'Insert item before')) : /*#__PURE__*/_react.default.createElement(_dropdown.default.Button, {
1655
1691
  overlayClassName: 'be-popup-container',
1656
1692
  style: {
1657
1693
  color: '#28c76f',
@@ -1678,7 +1714,7 @@ const TableContainerEdit = props => {
1678
1714
  template: () => {
1679
1715
  return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
1680
1716
  className: (0, _classnames.default)(`be-toolbar-item`, item?.className)
1681
- }, item?.hasMenu === false ? /*#__PURE__*/_react.default.createElement(_antd.Button, {
1717
+ }, item?.hasMenu === false ? /*#__PURE__*/_react.default.createElement(_button.default, {
1682
1718
  style: {
1683
1719
  color: '#28c76f',
1684
1720
  borderColor: '#28c76f'
@@ -1686,7 +1722,7 @@ const TableContainerEdit = props => {
1686
1722
  variant: 'outlined',
1687
1723
  onClick: () => handleInsertAfter(item, 1),
1688
1724
  className: "d-flex toolbar-button"
1689
- }, item.template ? (0, _hooks.getToolbarTemplate)(item.template) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, item.label ? t ? t(item.label) : item.label : t ? t('Insert item after') : 'Insert item after')) : /*#__PURE__*/_react.default.createElement(_antd.Dropdown.Button, {
1725
+ }, item.template ? (0, _hooks.getToolbarTemplate)(item.template) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, item.label ? t ? t(item.label) : item.label : t ? t('Insert item after') : 'Insert item after')) : /*#__PURE__*/_react.default.createElement(_dropdown.default.Button, {
1690
1726
  overlayClassName: 'be-popup-container',
1691
1727
  style: {
1692
1728
  color: '#28c76f',
@@ -1713,7 +1749,7 @@ const TableContainerEdit = props => {
1713
1749
  template: () => {
1714
1750
  return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
1715
1751
  className: (0, _classnames.default)(`be-toolbar-item`, item?.className)
1716
- }, /*#__PURE__*/_react.default.createElement(_antd.Button, {
1752
+ }, /*#__PURE__*/_react.default.createElement(_button.default, {
1717
1753
  style: {
1718
1754
  color: '#28c76f',
1719
1755
  borderColor: '#28c76f'
@@ -1732,7 +1768,7 @@ const TableContainerEdit = props => {
1732
1768
  template: () => {
1733
1769
  return /*#__PURE__*/_react.default.createElement("div", {
1734
1770
  className: (0, _classnames.default)(`be-toolbar-item`, item?.className)
1735
- }, /*#__PURE__*/_react.default.createElement(_antd.Button, {
1771
+ }, /*#__PURE__*/_react.default.createElement(_button.default, {
1736
1772
  style: {
1737
1773
  color: '#eb4619',
1738
1774
  borderColor: '#eb4619'
@@ -1751,7 +1787,7 @@ const TableContainerEdit = props => {
1751
1787
  template: () => {
1752
1788
  return /*#__PURE__*/_react.default.createElement("div", {
1753
1789
  className: (0, _classnames.default)(`be-toolbar-item`, item?.className)
1754
- }, /*#__PURE__*/_react.default.createElement(_antd.Button, {
1790
+ }, /*#__PURE__*/_react.default.createElement(_button.default, {
1755
1791
  style: {
1756
1792
  color: '#eb4619',
1757
1793
  borderColor: '#eb4619'
@@ -184,8 +184,53 @@ const EditableCell = props => {
184
184
  placeholder: t && column.placeholder ? t(column.placeholder) : undefined,
185
185
  disabled: (0, _utils.isDisable)(column, record) ?? false,
186
186
  maxDate: maxDate,
187
- minDate: minDate,
188
- onChange: (newDate, dateString) => {
187
+ minDate: minDate
188
+ // mode="date"
189
+
190
+ // onChange={(newDate, dateString) => {
191
+
192
+ // const newDateValue = dateString ? moment(convertDayjsToDate(dateString as string, dateFormat)).format() : null
193
+
194
+ // onChange(newDateValue)
195
+
196
+ // setTimeout(() => {
197
+ // // @ts-ignore
198
+ // dateTimePickerRef.current?.focus()
199
+ // }, 0)
200
+
201
+ // }}
202
+
203
+ // onBlur={() => {
204
+ // const formState = getValues()
205
+ // const itemState = getValues(dataIndex)
206
+ // // @ts-ignore
207
+ // const prevState = record[dataIndex]
208
+ // const newState = itemState
209
+
210
+ // if (prevState !== newState) {
211
+ // handleCellChange?.({
212
+ // key: key as any,
213
+ // field: column.field ?? column.field as any,
214
+ // record: formState,
215
+ // prevState,
216
+ // newState,
217
+ // option: newState,
218
+ // indexCol,
219
+ // indexRow,
220
+ // type: 'blur'
221
+ // })
222
+ // }
223
+ // }}
224
+ ,
225
+
226
+ popupClassName: 'be-popup-container',
227
+ status: isInvalid ? 'error' : undefined,
228
+ "data-tooltip-content": message,
229
+ "data-tooltip-id": `${id}-tooltip-error`,
230
+ autoFocus: column.field === startCell?.colId,
231
+ defaultOpen: column.field === startCell?.colId,
232
+ needConfirm: false,
233
+ onCalendarChange: (newDate, dateString) => {
189
234
  const newDateValue = dateString ? (0, _moment.default)((0, _utils.convertDayjsToDate)(dateString, dateFormat)).format() : null;
190
235
  onChange(newDateValue);
191
236
  setTimeout(() => {
@@ -193,32 +238,28 @@ const EditableCell = props => {
193
238
  dateTimePickerRef.current?.focus();
194
239
  }, 0);
195
240
  },
196
- onBlur: () => {
197
- const formState = getValues();
198
- const itemState = getValues(dataIndex);
199
- // @ts-ignore
200
- const prevState = record[dataIndex];
201
- const newState = itemState;
202
- if (prevState !== newState) {
203
- handleCellChange?.({
204
- key: key,
205
- field: column.field ?? column.field,
206
- record: formState,
207
- prevState,
208
- newState,
209
- option: newState,
210
- indexCol,
211
- indexRow,
212
- type: 'blur'
213
- });
241
+ onOpenChange: open => {
242
+ if (!open) {
243
+ const formState = getValues();
244
+ const itemState = getValues(dataIndex);
245
+ // @ts-ignore
246
+ const prevState = record[dataIndex];
247
+ const newState = itemState;
248
+ if (prevState !== newState) {
249
+ handleCellChange?.({
250
+ key: key,
251
+ field: column.field ?? column.field,
252
+ record: formState,
253
+ prevState,
254
+ newState,
255
+ option: newState,
256
+ indexCol,
257
+ indexRow,
258
+ type: 'blur'
259
+ });
260
+ }
214
261
  }
215
- },
216
- popupClassName: 'be-popup-container',
217
- status: isInvalid ? 'error' : undefined,
218
- "data-tooltip-content": message,
219
- "data-tooltip-id": `${id}-tooltip-error`,
220
- autoFocus: column.field === startCell?.colId,
221
- defaultOpen: column.field === startCell?.colId
262
+ }
222
263
  });
223
264
  case 'month':
224
265
  case 'quarter':
@@ -41,7 +41,7 @@ const TableBody = ({
41
41
  //dynamic row height virtualization - alternatively you could use a simpler fixed row height strategy without the need for `measureElement`
42
42
  const rowVirtualizer = (0, _reactVirtual.useVirtualizer)({
43
43
  count: rows.length,
44
- estimateSize: () => 36,
44
+ estimateSize: () => 32,
45
45
  //estimate row height for accurate scrollbar dragging
46
46
  getScrollElement: () => tableContainerRef.current,
47
47
  //measure dynamic row height, except in firefox because it measures table border height incorrectly
@@ -346,7 +346,7 @@ const TableBodyCell = props => {
346
346
  style: {
347
347
  ...cellStyles,
348
348
  display: 'flex',
349
- minHeight: 36,
349
+ minHeight: 32,
350
350
  width: cell.column.getSize(),
351
351
  minWidth: cell.column.getSize(),
352
352
  ...(0, _utils.getCommonPinningStyles)(cell.column)
@@ -397,9 +397,10 @@ const TableBodyCell = props => {
397
397
  style: {
398
398
  ...cellStyles,
399
399
  display: 'flex',
400
+ alignItems: 'center',
400
401
  width: cell.column.getSize(),
401
402
  minWidth: cell.column.getSize(),
402
- minHeight: 36,
403
+ minHeight: 32,
403
404
  ...(0, _utils.getCommonPinningStyles)(cell.column)
404
405
  },
405
406
  onMouseEnter: e => {
@@ -463,6 +464,9 @@ const TableBodyCell = props => {
463
464
  }
464
465
  },
465
466
  onClick: e => {
467
+ if (e.detail === 2) {
468
+ return;
469
+ }
466
470
  recordClick?.({
467
471
  e,
468
472
  rowData: record,
@@ -543,7 +543,8 @@ const TableBodyCellEdit = props => {
543
543
  setEditingKey?.(record[rowKey]);
544
544
  // setTooltipContent('')
545
545
 
546
- handleCellClick?.(rowNumber, record, columnMeta, record[rowKey], record[columnMeta.field ?? '']);
546
+ // handleCellClick?.(rowNumber, record, columnMeta as any, record[rowKey], record[columnMeta.field ?? ''])
547
+
547
548
  reset?.();
548
549
 
549
550
  // const formattedRecord = { ...record };
@@ -904,7 +905,7 @@ const TableBodyCellEdit = props => {
904
905
  }),
905
906
  style: {
906
907
  display: 'flex',
907
- height: '36px',
908
+ height: '32px',
908
909
  userSelect: 'none',
909
910
  width: cell.column.getSize(),
910
911
  // flexBasis: cell.column.getSize(),
@@ -993,7 +994,7 @@ const TableBodyCellEdit = props => {
993
994
  }),
994
995
  style: {
995
996
  display: 'flex',
996
- height: '36px',
997
+ height: '32px',
997
998
  width: cell.column.getSize(),
998
999
  minWidth: cell.column.getSize(),
999
1000
  // flex: 1,
@@ -1019,7 +1020,7 @@ const TableBodyCellEdit = props => {
1019
1020
  }),
1020
1021
  style: {
1021
1022
  display: 'flex',
1022
- height: '36px',
1023
+ height: '32px',
1023
1024
  width: cell.column.getSize(),
1024
1025
  minWidth: cell.column.getSize(),
1025
1026
  // flex: 1,
@@ -1157,11 +1158,12 @@ const TableBodyCellEdit = props => {
1157
1158
  }),
1158
1159
  style: {
1159
1160
  display: 'flex',
1161
+ alignItems: 'center',
1160
1162
  width: cell.column.getSize(),
1161
1163
  minWidth: cell.column.getSize(),
1162
1164
  // flex: 1,
1163
1165
  // maxWidth: cell.column.getSize(),
1164
- height: '36px',
1166
+ height: '32px',
1165
1167
  ...(0, _utils.getCommonPinningStyles)(cell.column),
1166
1168
  cursor: isPasting ? 'crosshair' : undefined
1167
1169
  },
@@ -23,7 +23,7 @@ const TableFooterRow = ({
23
23
  ...rowStyles,
24
24
  display: "grid",
25
25
  width: "100%",
26
- height: 37,
26
+ height: 32,
27
27
  gridTemplateColumns: `${table.getVisibleLeafColumns().map(n => `${n.getSize()}fr`).join(" ")}`
28
28
  },
29
29
  className: "ui-rc-grid-footer-row"