es-grid-template 1.7.37 → 1.7.39
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/ContextMenu.d.ts +2 -3
- package/es/grid-component/ContextMenu.js +2 -2
- package/es/grid-component/InternalTable.d.ts +1 -1
- package/es/grid-component/InternalTable.js +31 -39
- package/es/grid-component/hooks/content/TooltipContent.d.ts +2 -1
- package/es/table-component/InternalTable.js +6 -112
- package/es/table-component/TableContainerEdit.js +67 -12
- package/es/table-component/body/EditableCell.js +12 -16
- package/es/table-component/body/TableBodyCellEdit.js +11 -2
- package/es/table-component/hook/utils.d.ts +1 -0
- package/es/table-component/hook/utils.js +5 -0
- package/lib/grid-component/ContextMenu.d.ts +2 -3
- package/lib/grid-component/InternalTable.d.ts +1 -1
- package/lib/grid-component/InternalTable.js +25 -33
- package/lib/grid-component/hooks/content/TooltipContent.d.ts +2 -1
- package/lib/table-component/InternalTable.js +6 -112
- package/lib/table-component/TableContainerEdit.js +67 -12
- package/lib/table-component/body/EditableCell.js +12 -16
- package/lib/table-component/body/TableBodyCellEdit.js +10 -1
- package/lib/table-component/hook/utils.d.ts +1 -0
- package/lib/table-component/hook/utils.js +6 -0
- package/package.json +116 -116
|
@@ -6,39 +6,39 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.default = exports.SELECTION_COLUMN = void 0;
|
|
8
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
var _customParseFormat = _interopRequireDefault(require("dayjs/plugin/customParseFormat"));
|
|
9
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
11
|
require("react-resizable/css/styles.css");
|
|
11
|
-
var _customParseFormat = _interopRequireDefault(require("dayjs/plugin/customParseFormat"));
|
|
12
12
|
var _hooks = require("./hooks");
|
|
13
13
|
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
14
14
|
require("dayjs/locale/es");
|
|
15
15
|
require("dayjs/locale/vi");
|
|
16
|
-
var _GridEdit = _interopRequireDefault(require("./table/GridEdit"));
|
|
17
|
-
var _Grid = _interopRequireDefault(require("./table/Grid"));
|
|
18
16
|
var _en_US = _interopRequireDefault(require("rc-master-ui/es/date-picker/locale/en_US"));
|
|
19
17
|
var _vi_VN = _interopRequireDefault(require("rc-master-ui/es/date-picker/locale/vi_VN"));
|
|
18
|
+
var _Grid = _interopRequireDefault(require("./table/Grid"));
|
|
19
|
+
var _GridEdit = _interopRequireDefault(require("./table/GridEdit"));
|
|
20
20
|
var _en_US2 = _interopRequireDefault(require("rc-master-ui/es/locales/en_US"));
|
|
21
21
|
var _vi_VN2 = _interopRequireDefault(require("rc-master-ui/es/locales/vi_VN"));
|
|
22
22
|
require("./styles.scss");
|
|
23
|
-
var _columns = require("./hooks/columns");
|
|
24
|
-
var _Group = _interopRequireDefault(require("./table/Group"));
|
|
25
|
-
var _sweetalert = _interopRequireDefault(require("sweetalert2"));
|
|
26
|
-
var _sweetalert2ReactContent = _interopRequireDefault(require("sweetalert2-react-content"));
|
|
27
|
-
var _reactTooltip = require("react-tooltip");
|
|
28
|
-
var _classnames = _interopRequireDefault(require("classnames"));
|
|
29
|
-
var _HeaderContent = _interopRequireDefault(require("./hooks/content/HeaderContent"));
|
|
30
|
-
var _becoxyIcons = require("becoxy-icons");
|
|
31
|
-
var _rcMasterUi = require("rc-master-ui");
|
|
32
|
-
var _antd = require("antd");
|
|
33
23
|
var _icons = require("@ant-design/icons");
|
|
34
|
-
var _modifiers = require("@dnd-kit/modifiers");
|
|
35
24
|
var _core = require("@dnd-kit/core");
|
|
25
|
+
var _modifiers = require("@dnd-kit/modifiers");
|
|
36
26
|
var _sortable = require("@dnd-kit/sortable");
|
|
37
|
-
var
|
|
27
|
+
var _antd = require("antd");
|
|
28
|
+
var _becoxyIcons = require("becoxy-icons");
|
|
29
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
30
|
+
var _rcMasterUi = require("rc-master-ui");
|
|
31
|
+
var _reactTooltip = require("react-tooltip");
|
|
32
|
+
var _sweetalert = _interopRequireDefault(require("sweetalert2"));
|
|
33
|
+
var _sweetalert2ReactContent = _interopRequireDefault(require("sweetalert2-react-content"));
|
|
34
|
+
var _columns = require("./hooks/columns");
|
|
35
|
+
var _HeaderContent = _interopRequireDefault(require("./hooks/content/HeaderContent"));
|
|
36
|
+
var _Group = _interopRequireDefault(require("./table/Group"));
|
|
38
37
|
var _faker = require("@faker-js/faker");
|
|
39
|
-
var _InfiniteTable = _interopRequireDefault(require("./table/InfiniteTable"));
|
|
40
|
-
var _useMergedState = _interopRequireDefault(require("rc-util/lib/hooks/useMergedState"));
|
|
41
38
|
var _Modal = _interopRequireDefault(require("antd/es/modal/Modal"));
|
|
39
|
+
var _useMergedState = _interopRequireDefault(require("rc-util/lib/hooks/useMergedState"));
|
|
40
|
+
var _reactResizable = require("react-resizable");
|
|
41
|
+
var _InfiniteTable = _interopRequireDefault(require("./table/InfiniteTable"));
|
|
42
42
|
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); }
|
|
43
43
|
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; }
|
|
44
44
|
// import useColumns from "./hooks/useColumns";
|
|
@@ -221,9 +221,9 @@ const InternalTable = props => {
|
|
|
221
221
|
const handleWindowResize = () => {
|
|
222
222
|
setWindowSize(getWindowSize());
|
|
223
223
|
};
|
|
224
|
-
window.addEventListener(
|
|
224
|
+
window.addEventListener('resize', handleWindowResize);
|
|
225
225
|
return () => {
|
|
226
|
-
window.removeEventListener(
|
|
226
|
+
window.removeEventListener('resize', handleWindowResize);
|
|
227
227
|
};
|
|
228
228
|
}, []);
|
|
229
229
|
const [scrollHeight, setHeight] = (0, _react.useState)(0);
|
|
@@ -409,7 +409,7 @@ const InternalTable = props => {
|
|
|
409
409
|
// handleSearch()
|
|
410
410
|
// close()
|
|
411
411
|
}
|
|
412
|
-
}, t ? t(
|
|
412
|
+
}, t ? t('Clear') : 'Clear')));
|
|
413
413
|
},
|
|
414
414
|
filterIcon: filtered => /*#__PURE__*/_react.default.createElement(_becoxyIcons.FilterFill, {
|
|
415
415
|
fontSize: 12
|
|
@@ -594,7 +594,7 @@ const InternalTable = props => {
|
|
|
594
594
|
if (currentGroupColumn?.template) {
|
|
595
595
|
return (0, _columns.renderContent)(currentGroupColumn, record[record.field], record, rowIndex, colIndex, false, cellFormat);
|
|
596
596
|
}
|
|
597
|
-
return /*#__PURE__*/_react.default.createElement("span", null, currentGroupColumn?.headerText, ":
|
|
597
|
+
return /*#__PURE__*/_react.default.createElement("span", null, currentGroupColumn?.headerText, ":", ' ', (0, _columns.renderContent)(currentGroupColumn, record[record.field], record, rowIndex, colIndex, false, cellFormat));
|
|
598
598
|
}
|
|
599
599
|
return (0, _columns.renderContent)(column, value, record, rowIndex, colIndex, false, cellFormat);
|
|
600
600
|
},
|
|
@@ -666,7 +666,7 @@ const InternalTable = props => {
|
|
|
666
666
|
if (tableRef.current && type === 'columnChoose') {
|
|
667
667
|
tableRef.current.scrollTo({
|
|
668
668
|
left: 0.1,
|
|
669
|
-
behavior:
|
|
669
|
+
behavior: 'smooth'
|
|
670
670
|
});
|
|
671
671
|
}
|
|
672
672
|
onChooseColumns?.({
|
|
@@ -707,17 +707,11 @@ const InternalTable = props => {
|
|
|
707
707
|
setColumns((0, _hooks.updateColumnsByGroup)(mergedColumns, groupedColumns));
|
|
708
708
|
if (groupSetting) {
|
|
709
709
|
if (groupSetting.client === false) {
|
|
710
|
-
|
|
711
710
|
// setIsTree(true)
|
|
712
|
-
|
|
713
711
|
// setGroupOpen([])
|
|
714
|
-
|
|
715
712
|
// const dt = ungroupArray(dataSource)
|
|
716
|
-
|
|
717
713
|
// const rs = groupArrayByColumns2(dt, [...value])
|
|
718
|
-
|
|
719
714
|
// setResource([...rs])
|
|
720
|
-
|
|
721
715
|
// if (groupSetting.onGroup) {
|
|
722
716
|
// groupSetting.onGroup({
|
|
723
717
|
// columnGrouped: value,
|
|
@@ -966,7 +960,6 @@ const InternalTable = props => {
|
|
|
966
960
|
} : {
|
|
967
961
|
y: scrollHeight - (summary ? 1 : 1)
|
|
968
962
|
} // scroll height auto, không quá 600
|
|
969
|
-
|
|
970
963
|
// height={isFullScreen ? windowSize.innerHeight - 100 : propsHeight}
|
|
971
964
|
,
|
|
972
965
|
height: propsHeight,
|
|
@@ -1016,10 +1009,10 @@ const InternalTable = props => {
|
|
|
1016
1009
|
style: {
|
|
1017
1010
|
maxWidth: '100%',
|
|
1018
1011
|
height: '100%'
|
|
1019
|
-
}
|
|
1020
|
-
onClose
|
|
1012
|
+
}
|
|
1013
|
+
// onClose={() => setIsFullScreen(false)}
|
|
1014
|
+
,
|
|
1021
1015
|
onCancel: () => setIsFullScreen(false)
|
|
1022
|
-
|
|
1023
1016
|
// destroyOnClose
|
|
1024
1017
|
,
|
|
1025
1018
|
styles: {
|
|
@@ -1081,7 +1074,6 @@ const InternalTable = props => {
|
|
|
1081
1074
|
y: scrollHeight1 - (summary ? 1 : 1)
|
|
1082
1075
|
} // scroll height auto, không quá 600
|
|
1083
1076
|
,
|
|
1084
|
-
|
|
1085
1077
|
height: windowSize.innerHeight - 35,
|
|
1086
1078
|
scrollHeight: scrollHeight1,
|
|
1087
1079
|
components: {
|
|
@@ -68,14 +68,8 @@ const InternalTable = props => {
|
|
|
68
68
|
groupSetting,
|
|
69
69
|
groupColumns,
|
|
70
70
|
selectionSettings,
|
|
71
|
-
//
|
|
72
|
-
//
|
|
73
|
-
// onFilter,
|
|
74
|
-
// expandable,
|
|
75
|
-
// contextMenuItems: propContextMenuItems,
|
|
76
|
-
// contextMenuHidden,
|
|
77
|
-
contextMenuClick,
|
|
78
|
-
contextMenuOpen,
|
|
71
|
+
// contextMenuClick,
|
|
72
|
+
// contextMenuOpen,
|
|
79
73
|
height,
|
|
80
74
|
...rest
|
|
81
75
|
} = props;
|
|
@@ -104,32 +98,6 @@ const InternalTable = props => {
|
|
|
104
98
|
window.removeEventListener('resize', handleWindowResize);
|
|
105
99
|
};
|
|
106
100
|
}, []);
|
|
107
|
-
|
|
108
|
-
// const local = lang && lang === 'en' ? en : vi
|
|
109
|
-
// const dateRangeLocale = lang && lang === 'en' ? enDr : viDr
|
|
110
|
-
|
|
111
|
-
// const buddhistLocale: PickerLocale = {
|
|
112
|
-
// ...local,
|
|
113
|
-
// lang: {
|
|
114
|
-
// ...local.lang
|
|
115
|
-
// }
|
|
116
|
-
// }
|
|
117
|
-
|
|
118
|
-
// const menuRef = React.useRef<any>(null)
|
|
119
|
-
// const viewportWidth = windowSize.innerWidth
|
|
120
|
-
// const viewportHeight = windowSize.innerHeight
|
|
121
|
-
|
|
122
|
-
// const [menuVisible, setMenuVisible] = React.useState(false)
|
|
123
|
-
// const [selectedRowData, setSelectedRowData] = React.useState<RecordType | null>(null)
|
|
124
|
-
// const [position, setPosition] = React.useState<{
|
|
125
|
-
// x: number | undefined
|
|
126
|
-
// y: number | undefined
|
|
127
|
-
// viewportWidth: number
|
|
128
|
-
// viewportHeight: number
|
|
129
|
-
// }>({ x: 0, y: 0, viewportWidth, viewportHeight })
|
|
130
|
-
|
|
131
|
-
// const [tooltipContent, setTooltipContent] = useState<any>('')
|
|
132
|
-
|
|
133
101
|
const [filterStates, setFilterState] = _react.default.useState(null);
|
|
134
102
|
const [sorterStates, setSorterStates] = _react.default.useState([]);
|
|
135
103
|
const [isFullScreen, setIsFullScreen] = _react.default.useState(false);
|
|
@@ -199,81 +167,6 @@ const InternalTable = props => {
|
|
|
199
167
|
setColumnsHiddenKeys(rsss);
|
|
200
168
|
}
|
|
201
169
|
};
|
|
202
|
-
|
|
203
|
-
// const contextMenuItems = React.useMemo(() => {
|
|
204
|
-
// if (typeof contextMenuHidden === 'function' && propContextMenuItems && selectedRowData) {
|
|
205
|
-
// const hiddenItems = contextMenuHidden({
|
|
206
|
-
// rowInfo: {
|
|
207
|
-
// rowData: selectedRowData
|
|
208
|
-
// }
|
|
209
|
-
// })
|
|
210
|
-
|
|
211
|
-
// return propContextMenuItems.filter(item => !(hiddenItems as string[]).includes(item?.key as string))
|
|
212
|
-
// }
|
|
213
|
-
|
|
214
|
-
// if (contextMenuHidden && typeof contextMenuHidden !== 'function' && propContextMenuItems) {
|
|
215
|
-
// return propContextMenuItems.filter(item => !(contextMenuHidden as string[]).includes(item?.key as string))
|
|
216
|
-
// }
|
|
217
|
-
|
|
218
|
-
// return propContextMenuItems
|
|
219
|
-
// }, [propContextMenuItems, contextMenuHidden, selectedRowData])
|
|
220
|
-
|
|
221
|
-
// const onContextMenu = (data: RecordType) => (event: any) => {
|
|
222
|
-
// event.preventDefault() // Ngăn chặn menu mặc định của trình duyệt
|
|
223
|
-
|
|
224
|
-
// setSelectedRowData(data)
|
|
225
|
-
|
|
226
|
-
// contextMenuOpen?.({
|
|
227
|
-
// rowInfo: {
|
|
228
|
-
// rowData: data
|
|
229
|
-
// },
|
|
230
|
-
// event
|
|
231
|
-
// })
|
|
232
|
-
|
|
233
|
-
// setMenuVisible(true)
|
|
234
|
-
|
|
235
|
-
// // Đợi DOM cập nhật và lấy kích thước menu
|
|
236
|
-
// setTimeout(() => {
|
|
237
|
-
// const menuElement = menuRef.current // Lấy menu từ DOM
|
|
238
|
-
// const menuWidth = menuElement?.offsetWidth || 200 // Mặc định 200px nếu chưa render
|
|
239
|
-
// const menuHeight = menuElement?.offsetHeight // Mặc định 450px nếu chưa render
|
|
240
|
-
|
|
241
|
-
// // Điều chỉnh vị trí menu
|
|
242
|
-
// let x = event.clientX
|
|
243
|
-
// let y = event.clientY
|
|
244
|
-
|
|
245
|
-
// if (x + menuWidth > viewportWidth) {
|
|
246
|
-
// x = x - menuWidth - 10 // Cách cạnh phải 10px
|
|
247
|
-
// }
|
|
248
|
-
|
|
249
|
-
// if (y + menuHeight > viewportHeight) {
|
|
250
|
-
// if (y < menuHeight) {
|
|
251
|
-
// y = 10
|
|
252
|
-
// } else {
|
|
253
|
-
// y = y - 10 - menuHeight // Cách cạnh dưới 10px
|
|
254
|
-
// }
|
|
255
|
-
// }
|
|
256
|
-
|
|
257
|
-
// setPosition(prevState => ({ ...prevState, x, y }))
|
|
258
|
-
// }, 100)
|
|
259
|
-
|
|
260
|
-
// if (!menuVisible) {
|
|
261
|
-
// document.addEventListener(`click`, function onClickOutside(e) {
|
|
262
|
-
// const element: any = e.target
|
|
263
|
-
// const menuContainer = document.querySelector('.popup-context-menu')
|
|
264
|
-
|
|
265
|
-
// const isInsideContainer = element.closest('.popup-context-menu') && menuContainer
|
|
266
|
-
|
|
267
|
-
// if (isInsideContainer) {
|
|
268
|
-
// return
|
|
269
|
-
// }
|
|
270
|
-
// setMenuVisible(false)
|
|
271
|
-
// setPosition(prevState => ({ ...prevState, x: undefined, y: undefined }))
|
|
272
|
-
// document.removeEventListener(`click`, onClickOutside)
|
|
273
|
-
// })
|
|
274
|
-
// }
|
|
275
|
-
// }
|
|
276
|
-
|
|
277
170
|
return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(_Grid.default, (0, _extends2.default)({}, rest, {
|
|
278
171
|
t: t,
|
|
279
172
|
id: id,
|
|
@@ -300,7 +193,7 @@ const InternalTable = props => {
|
|
|
300
193
|
// onContextMenu={onContextMenu}
|
|
301
194
|
// contextMenuItems={contextMenuItems}
|
|
302
195
|
,
|
|
303
|
-
editAble: editAble,
|
|
196
|
+
editAble: isFullScreen ? false : editAble,
|
|
304
197
|
triggerChangeColumns: triggerChangeColumns,
|
|
305
198
|
setExpanded: setExpanded,
|
|
306
199
|
isFullScreen: isFullScreen,
|
|
@@ -319,8 +212,9 @@ const InternalTable = props => {
|
|
|
319
212
|
style: {
|
|
320
213
|
maxWidth: '100%',
|
|
321
214
|
height: '100%'
|
|
322
|
-
}
|
|
323
|
-
onClose
|
|
215
|
+
}
|
|
216
|
+
// onClose={() => setIsFullScreen(false)}
|
|
217
|
+
,
|
|
324
218
|
onCancel: () => setIsFullScreen(false)
|
|
325
219
|
|
|
326
220
|
// destroyOnClose
|
|
@@ -817,9 +817,12 @@ const TableContainerEdit = props => {
|
|
|
817
817
|
// const duplicatedItems = rowsFocus.map(index => ({ ...newData[index], rowId: newGuid(), id: undefined, isDuplicate: true }))
|
|
818
818
|
|
|
819
819
|
const duplicatedItem = table.getRowModel().flatRows.find(it => it.id === focusedCell?.rowId);
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
820
|
+
|
|
821
|
+
// setStartCell(focusedCell)
|
|
822
|
+
// setEndCell(focusedCell)
|
|
823
|
+
|
|
824
|
+
// setRangeState(getSelectedCellMatrix(table, focusedCell, focusedCell))
|
|
825
|
+
|
|
823
826
|
const duplicatedItems = [{
|
|
824
827
|
...duplicatedItem?.original,
|
|
825
828
|
rowId: (0, _utils.newGuid)(),
|
|
@@ -843,6 +846,9 @@ const TableContainerEdit = props => {
|
|
|
843
846
|
// thêm n dòng bên trên
|
|
844
847
|
const handleInsertBefore = _react.default.useCallback((item, n) => {
|
|
845
848
|
const defaultRowValue = (0, _utils.getDefaultValue)(defaultValue);
|
|
849
|
+
setStartCell(focusedCell);
|
|
850
|
+
setEndCell(focusedCell);
|
|
851
|
+
setRangeState((0, _utils.getSelectedCellMatrix)(table, focusedCell, focusedCell));
|
|
846
852
|
|
|
847
853
|
// const record: any = table.getRowModel().rows.find((it) => it.id === rowsFocus[rowsFocus.length - 1])?.original
|
|
848
854
|
const record = table.getRowModel().flatRows.find(it => it.id === rowsFocus[rowsFocus.length - 1])?.original;
|
|
@@ -899,7 +905,7 @@ const TableContainerEdit = props => {
|
|
|
899
905
|
triggerChangeData?.(newDataSource);
|
|
900
906
|
}
|
|
901
907
|
}
|
|
902
|
-
}, [defaultValue, mergedFilterKeys, originData, rowKey, rowsFocus, setMergedFilterKeys, table, triggerChangeData]);
|
|
908
|
+
}, [defaultValue, focusedCell, mergedFilterKeys, originData, rowKey, rowsFocus, setMergedFilterKeys, table, triggerChangeData]);
|
|
903
909
|
|
|
904
910
|
//thêm 1 dòng bên dưới
|
|
905
911
|
const handleInsertAfter = _react.default.useCallback((item, n) => {
|
|
@@ -1028,12 +1034,61 @@ const TableContainerEdit = props => {
|
|
|
1028
1034
|
const filterData = (0, _utils.flattenArray)([...originData]);
|
|
1029
1035
|
const rs = filterData.filter(it => !rowsFocus.includes(it[rowKey]));
|
|
1030
1036
|
const newDaa = (0, _utils.unFlattenData)(rs);
|
|
1031
|
-
|
|
1037
|
+
if (commandSettings && commandSettings.confirmDialog) {
|
|
1038
|
+
MySwal.fire({
|
|
1039
|
+
title: t ? t('Confirm') : 'Confirm',
|
|
1040
|
+
text: t ? t('Do you want to delete item?') : 'Do you want to delete item?',
|
|
1041
|
+
// icon: 'warning',
|
|
1042
|
+
allowOutsideClick: false,
|
|
1043
|
+
showCancelButton: true,
|
|
1044
|
+
confirmButtonText: t ? t('Delete') : 'Delete',
|
|
1045
|
+
cancelButtonText: t ? t('Cancel') : 'Cancel',
|
|
1046
|
+
customClass: {
|
|
1047
|
+
confirmButton: 'be-button btn-primary',
|
|
1048
|
+
cancelButton: 'be-button btn-danger ms-1'
|
|
1049
|
+
},
|
|
1050
|
+
buttonsStyling: false
|
|
1051
|
+
}).then(async result => {
|
|
1052
|
+
if (result.value) {
|
|
1053
|
+
triggerChangeData?.([...newDaa]);
|
|
1054
|
+
} else if (result.dismiss === MySwal.DismissReason.cancel) {}
|
|
1055
|
+
});
|
|
1056
|
+
} else {
|
|
1057
|
+
// không hiện dialog
|
|
1058
|
+
triggerChangeData?.([...newDaa]);
|
|
1059
|
+
}
|
|
1060
|
+
}
|
|
1061
|
+
}, [commandSettings, originData, rowKey, rowsFocus, t, triggerChangeData]);
|
|
1062
|
+
const handleDeleteAll = _react.default.useCallback(item => {
|
|
1063
|
+
if (item.onClick) {
|
|
1064
|
+
item.onClick({
|
|
1065
|
+
toolbar: item
|
|
1066
|
+
});
|
|
1067
|
+
} else {
|
|
1068
|
+
if (commandSettings && commandSettings.confirmDialog) {
|
|
1069
|
+
MySwal.fire({
|
|
1070
|
+
title: t ? t('Confirm') : 'Confirm',
|
|
1071
|
+
text: t ? t('Do you want to delete item?') : 'Do you want to delete item?',
|
|
1072
|
+
// icon: 'warning',
|
|
1073
|
+
allowOutsideClick: false,
|
|
1074
|
+
showCancelButton: true,
|
|
1075
|
+
confirmButtonText: t ? t('Delete') : 'Delete',
|
|
1076
|
+
cancelButtonText: t ? t('Cancel') : 'Cancel',
|
|
1077
|
+
customClass: {
|
|
1078
|
+
confirmButton: 'be-button btn-primary',
|
|
1079
|
+
cancelButton: 'be-button btn-danger ms-1'
|
|
1080
|
+
},
|
|
1081
|
+
buttonsStyling: false
|
|
1082
|
+
}).then(async result => {
|
|
1083
|
+
if (result.value) {
|
|
1084
|
+
triggerChangeData?.([]);
|
|
1085
|
+
} else if (result.dismiss === MySwal.DismissReason.cancel) {}
|
|
1086
|
+
});
|
|
1087
|
+
} else {
|
|
1088
|
+
triggerChangeData?.([]);
|
|
1089
|
+
}
|
|
1032
1090
|
}
|
|
1033
|
-
}, [
|
|
1034
|
-
const handleDeleteAll = _react.default.useCallback(() => {
|
|
1035
|
-
triggerChangeData?.([]);
|
|
1036
|
-
}, [triggerChangeData]);
|
|
1091
|
+
}, [commandSettings, t, triggerChangeData]);
|
|
1037
1092
|
const handleDeleteContent = () => {
|
|
1038
1093
|
if (startCell && endCell) {
|
|
1039
1094
|
const tmpData = (0, _utils.flattenArray)([...dataSource]);
|
|
@@ -1110,7 +1165,7 @@ const TableContainerEdit = props => {
|
|
|
1110
1165
|
borderColor: '#eb4619'
|
|
1111
1166
|
},
|
|
1112
1167
|
variant: 'outlined',
|
|
1113
|
-
onClick: handleDeleteAll,
|
|
1168
|
+
onClick: () => handleDeleteAll(item),
|
|
1114
1169
|
className: "d-flex toolbar-button"
|
|
1115
1170
|
}, item.label ? t ? t(item.label) : item.label : t ? t('Delete all item') : 'Delete all item'));
|
|
1116
1171
|
}
|
|
@@ -1457,8 +1512,8 @@ const TableContainerEdit = props => {
|
|
|
1457
1512
|
options: newOptions
|
|
1458
1513
|
}
|
|
1459
1514
|
};
|
|
1460
|
-
const rrr = (0, _utils.updateArrayByKey)([...
|
|
1461
|
-
triggerChangeColumns?.(rrr,
|
|
1515
|
+
const rrr = (0, _utils.updateArrayByKey)([...propsColumns], newElem, 'field');
|
|
1516
|
+
triggerChangeColumns?.(rrr, [], "cellClick");
|
|
1462
1517
|
}
|
|
1463
1518
|
};
|
|
1464
1519
|
if (onCellClick) {
|
|
@@ -289,7 +289,7 @@ const EditableCell = props => {
|
|
|
289
289
|
const minTimeValue = !(0, _utils.isEmpty)(column.minTime) ? (0, _dayjs.default)(column.minTime).format(timeFormat) : null;
|
|
290
290
|
|
|
291
291
|
// @ts-ignore
|
|
292
|
-
// const timeValue = !isEmpty(record[
|
|
292
|
+
// const timeValue = !isEmpty(record[dataIndex]) ? dayjs(record[dataIndex], timeFormat) : null
|
|
293
293
|
const maxTime = maxTimeValue ? (0, _dayjs.default)(maxTimeValue, timeFormat) : undefined;
|
|
294
294
|
const minTime = minTimeValue ? (0, _dayjs.default)(minTimeValue, timeFormat) : undefined;
|
|
295
295
|
return /*#__PURE__*/_react.default.createElement(_antd.TimePicker, {
|
|
@@ -339,7 +339,7 @@ const EditableCell = props => {
|
|
|
339
339
|
}
|
|
340
340
|
if (isMulti || selectMode === 'checkbox') {
|
|
341
341
|
// @ts-ignore
|
|
342
|
-
valueSelectTable = !(0, _utils.isNullOrUndefined)(record[
|
|
342
|
+
valueSelectTable = !(0, _utils.isNullOrUndefined)(record[dataIndex]) && Array.isArray(record[dataIndex]) && record[dataIndex]?.length > 0 ? options.filter(val => record[dataIndex]?.includes(val[keySelect])) : undefined;
|
|
343
343
|
}
|
|
344
344
|
return /*#__PURE__*/_react.default.createElement(_asyncTableSelect.AsyncTableSelect
|
|
345
345
|
// id={`col${indexCol}-record${indexRow}`}
|
|
@@ -446,7 +446,7 @@ const EditableCell = props => {
|
|
|
446
446
|
}
|
|
447
447
|
if (isMulti || selectMode === 'checkbox') {
|
|
448
448
|
// @ts-ignore
|
|
449
|
-
valueSelect = !(0, _utils.isNullOrUndefined)(record[
|
|
449
|
+
valueSelect = !(0, _utils.isNullOrUndefined)(record[dataIndex]) && Array.isArray(record[dataIndex]) && record[dataIndex]?.length > 0 ? options.filter(val => record[dataIndex]?.includes(val[keySelect])) : undefined;
|
|
450
450
|
}
|
|
451
451
|
return /*#__PURE__*/_react.default.createElement(_rcMasterUi.Select, {
|
|
452
452
|
options: options,
|
|
@@ -532,7 +532,7 @@ const EditableCell = props => {
|
|
|
532
532
|
}
|
|
533
533
|
if (isMulti || selectMode === 'checkbox') {
|
|
534
534
|
// @ts-ignore
|
|
535
|
-
valueAsyncSelect = !(0, _utils.isNullOrUndefined)(record[
|
|
535
|
+
valueAsyncSelect = !(0, _utils.isNullOrUndefined)(record[dataIndex]) && Array.isArray(record[dataIndex]) && record[dataIndex]?.length > 0 ? options.filter(val => record[dataIndex]?.includes(val[keySelect])) : undefined;
|
|
536
536
|
}
|
|
537
537
|
return /*#__PURE__*/_react.default.createElement(_asyncSelect.AsyncSelect, {
|
|
538
538
|
options: options,
|
|
@@ -654,7 +654,7 @@ const EditableCell = props => {
|
|
|
654
654
|
|
|
655
655
|
const newTreeData = (0, _utils.convertLabelToTitle)(optionsTree);
|
|
656
656
|
// @ts-ignore
|
|
657
|
-
// const valueTreeSelect = column?.editSelectSettings?.isMulti ? (Array.isArray(record[
|
|
657
|
+
// const valueTreeSelect = column?.editSelectSettings?.isMulti ? (Array.isArray(record[dataIndex]) ? record[dataIndex] : []) : record[dataIndex]
|
|
658
658
|
|
|
659
659
|
let valueTreeSelect = value;
|
|
660
660
|
if (fieldValue) {
|
|
@@ -663,7 +663,7 @@ const EditableCell = props => {
|
|
|
663
663
|
}
|
|
664
664
|
if (isMulti || selectMode === 'checkbox') {
|
|
665
665
|
// @ts-ignore
|
|
666
|
-
valueTreeSelect = !(0, _utils.isNullOrUndefined)(record[
|
|
666
|
+
valueTreeSelect = !(0, _utils.isNullOrUndefined)(record[dataIndex]) && Array.isArray(record[dataIndex]) && record[dataIndex]?.length > 0 ? options.filter(val => record[dataIndex]?.includes(val[keySelect])) : undefined;
|
|
667
667
|
}
|
|
668
668
|
return /*#__PURE__*/_react.default.createElement(_rcMasterUi.TreeSelect, {
|
|
669
669
|
id: `col${indexCol}-record${indexRow}`,
|
|
@@ -802,7 +802,7 @@ const EditableCell = props => {
|
|
|
802
802
|
});
|
|
803
803
|
|
|
804
804
|
// case 'file':
|
|
805
|
-
// const valueFile = record[
|
|
805
|
+
// const valueFile = record[dataIndex]
|
|
806
806
|
// return (
|
|
807
807
|
//
|
|
808
808
|
//
|
|
@@ -817,7 +817,7 @@ const EditableCell = props => {
|
|
|
817
817
|
// const newValue = Array.isArray(val) ? val.map((it: any) => it) : val
|
|
818
818
|
// const newrecordData = {
|
|
819
819
|
// ...record,
|
|
820
|
-
// [
|
|
820
|
+
// [dataIndex]: newValue
|
|
821
821
|
// }
|
|
822
822
|
// handleCellChange(val, newValue, newrecordData, col, indexRow, indexCol)
|
|
823
823
|
// }}
|
|
@@ -877,7 +877,7 @@ const EditableCell = props => {
|
|
|
877
877
|
});
|
|
878
878
|
|
|
879
879
|
// case 'image':
|
|
880
|
-
// let image = record[
|
|
880
|
+
// let image = record[dataIndex]
|
|
881
881
|
// return (
|
|
882
882
|
// <ImageUpload
|
|
883
883
|
// id={`col${indexCol}-record${indexRow}`}
|
|
@@ -888,8 +888,8 @@ const EditableCell = props => {
|
|
|
888
888
|
// const checkKey = checkKeyDown(val, col, indexRow + 1, indexCol + 1)
|
|
889
889
|
// if (checkKey === 'ArrecordDown' || checkKey === 'ArrecordUp' || checkKey === 'Enter') {
|
|
890
890
|
// let newVal = ''
|
|
891
|
-
// if (newVal != record[
|
|
892
|
-
// record[
|
|
891
|
+
// if (newVal != record[dataIndex]) {
|
|
892
|
+
// record[dataIndex] = path
|
|
893
893
|
// // handleDataChange(path, record, col, indexRow, indexCol)
|
|
894
894
|
// handleCellChange(path, record, col, indexRow, indexCol)
|
|
895
895
|
// }
|
|
@@ -968,11 +968,7 @@ const EditableCell = props => {
|
|
|
968
968
|
textAlign: column.align,
|
|
969
969
|
resize: 'none',
|
|
970
970
|
height: '100%'
|
|
971
|
-
}
|
|
972
|
-
|
|
973
|
-
// @ts-ignore
|
|
974
|
-
// value={!isNullOrUndefined(record[column.dataIndex]) ? record[column.dataIndex] : ''}
|
|
975
|
-
,
|
|
971
|
+
},
|
|
976
972
|
disabled: (0, _utils.isDisable)(column, record) ?? false,
|
|
977
973
|
className: (0, _classnames.default)('be-cell-editing rounded-0 input-element'),
|
|
978
974
|
placeholder: t ? t(column.placeholder ?? 'Enter') : column.placeholder ?? 'Enter',
|
|
@@ -698,6 +698,7 @@ const TableBodyCellEdit = props => {
|
|
|
698
698
|
}
|
|
699
699
|
const handleMouseDownIndex = rowId => {
|
|
700
700
|
const allColumns = table.getVisibleLeafColumns();
|
|
701
|
+
const firstCOl = (0, _utils.findFirst)(allColumns);
|
|
701
702
|
const startCol = allColumns[0].id;
|
|
702
703
|
const endCol = allColumns[allColumns.length - 1].id;
|
|
703
704
|
setStartCell?.({
|
|
@@ -708,6 +709,12 @@ const TableBodyCellEdit = props => {
|
|
|
708
709
|
rowId,
|
|
709
710
|
colId: endCol
|
|
710
711
|
});
|
|
712
|
+
if (firstCOl) {
|
|
713
|
+
setFocusedCell?.({
|
|
714
|
+
rowId: cell.row.id,
|
|
715
|
+
colId: firstCOl.id
|
|
716
|
+
});
|
|
717
|
+
}
|
|
711
718
|
setRangeState?.((0, _utils.getSelectedCellMatrix)(table, {
|
|
712
719
|
rowId,
|
|
713
720
|
colId: startCol
|
|
@@ -1112,7 +1119,9 @@ const TableBodyCellEdit = props => {
|
|
|
1112
1119
|
handleEdit(e);
|
|
1113
1120
|
// setEditingKey?.(cell.row.id)
|
|
1114
1121
|
}
|
|
1115
|
-
})), !isSelecting && !isEditing &&
|
|
1122
|
+
})), !isSelecting && !isEditing && rowRange &&
|
|
1123
|
+
// rowNumber === rangeState?.endRowIndex &&
|
|
1124
|
+
cell.row.id === rowRange[rowRange?.length - 1] && cell.column.getIndex() === rangeState?.endColIndex && /*#__PURE__*/_react.default.createElement("div", {
|
|
1116
1125
|
className: 'dragging-point',
|
|
1117
1126
|
onMouseDown: e => {
|
|
1118
1127
|
e.preventDefault();
|
|
@@ -135,3 +135,4 @@ export declare const convertToObjTrue: (arr: any) => {
|
|
|
135
135
|
};
|
|
136
136
|
export declare const getDiffent2Array: (a: any[], b: any[]) => any[];
|
|
137
137
|
export declare function isTree(arr: any[]): boolean;
|
|
138
|
+
export declare function findFirst(items: Column<any>[]): Column<any, unknown>;
|
|
@@ -20,6 +20,7 @@ exports.convertFilters = exports.convertDayjsToDate = exports.convertDateToDayjs
|
|
|
20
20
|
exports.convertFormat = convertFormat;
|
|
21
21
|
exports.extendsObject = exports.detectSeparators = exports.customWeekStartEndFormat = exports.convertToObjTrue = exports.convertToObj = exports.convertLabelToTitle = void 0;
|
|
22
22
|
exports.filterDataByColumns = filterDataByColumns;
|
|
23
|
+
exports.findFirst = findFirst;
|
|
23
24
|
exports.getAllVisibleKeys1 = exports.getAllVisibleKeys = exports.getAllRowKey = exports.genPresets = exports.flattenData = exports.flattenArray = exports.flatColumns2 = exports.findItemByKey = void 0;
|
|
24
25
|
exports.getCellsByPosition = getCellsByPosition;
|
|
25
26
|
exports.getColIdsBetween = getColIdsBetween;
|
|
@@ -1993,4 +1994,9 @@ function isTree(arr) {
|
|
|
1993
1994
|
if (!checkNode(item)) return false;
|
|
1994
1995
|
}
|
|
1995
1996
|
return true;
|
|
1997
|
+
}
|
|
1998
|
+
function findFirst(items) {
|
|
1999
|
+
const leftItem = items.find(item => item.getIsPinned() === 'left');
|
|
2000
|
+
if (leftItem) return leftItem;
|
|
2001
|
+
return null;
|
|
1996
2002
|
}
|