es-grid-template 1.7.1 → 1.7.2
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.
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import React, { createContext, Fragment, useCallback, useContext, useState } from 'react';
|
|
3
|
-
// import {Resizable} from "react-resizable";
|
|
4
3
|
import 'react-resizable/css/styles.css';
|
|
5
4
|
import customParseFormat from 'dayjs/plugin/customParseFormat';
|
|
6
5
|
import { addRowIdArray, booleanOperator, convertFilters, convertFlatColumn, filterDataByColumns4, findItemByKey, findItemPath, flattenArray, getAllRowKey, getFormat, getTypeFilter, groupArrayByColumns, numberOperator, removeColumns, removeInvisibleColumns, stringOperator, translateOption, unFlattenData, updateArrayByKey, updateColumnsByGroup,
|
|
7
6
|
// updateData,
|
|
8
7
|
updateOrInsert } from "./hooks";
|
|
9
|
-
import { FullScreen, useFullScreenHandle } from "react-full-screen";
|
|
10
8
|
import dayjs from "dayjs";
|
|
11
9
|
import 'dayjs/locale/es';
|
|
12
10
|
import 'dayjs/locale/vi';
|
|
@@ -41,6 +39,7 @@ import { Resizable } from "react-resizable";
|
|
|
41
39
|
import { faker } from "@faker-js/faker";
|
|
42
40
|
import InfiniteTable from "./table/InfiniteTable";
|
|
43
41
|
import useMergedState from "rc-util/es/hooks/useMergedState";
|
|
42
|
+
import Modal from 'antd/es/modal/Modal';
|
|
44
43
|
dayjs.extend(customParseFormat);
|
|
45
44
|
const MySwal = withReactContent(Swal);
|
|
46
45
|
const ASCEND = 'ascend';
|
|
@@ -188,7 +187,6 @@ const InternalTable = props => {
|
|
|
188
187
|
onSorter,
|
|
189
188
|
...rest
|
|
190
189
|
} = props;
|
|
191
|
-
const handle = useFullScreenHandle();
|
|
192
190
|
const id = React.useMemo(() => {
|
|
193
191
|
return tableId ?? faker.string.alpha(20);
|
|
194
192
|
// return tableId ?? newGuid()
|
|
@@ -220,6 +218,9 @@ const InternalTable = props => {
|
|
|
220
218
|
};
|
|
221
219
|
}, []);
|
|
222
220
|
const [scrollHeight, setHeight] = useState(0);
|
|
221
|
+
|
|
222
|
+
// const [isModalOpen, setIsModalOpen] = useState(false)
|
|
223
|
+
|
|
223
224
|
const local = lang && lang === 'en' ? en : vi;
|
|
224
225
|
const dateRangeLocale = lang && lang === 'en' ? enDr : viDr;
|
|
225
226
|
const buddhistLocale = {
|
|
@@ -263,7 +264,8 @@ const InternalTable = props => {
|
|
|
263
264
|
|
|
264
265
|
const [columns, setColumns] = React.useState([]);
|
|
265
266
|
React.useEffect(() => {
|
|
266
|
-
const totalHeight = isFullScreen ? windowSize.innerHeight -
|
|
267
|
+
// const totalHeight = isFullScreen ? windowSize.innerHeight - 50 : propsHeight
|
|
268
|
+
const totalHeight = propsHeight;
|
|
267
269
|
if (totalHeight) {
|
|
268
270
|
const table = document.querySelector(`#${id}`);
|
|
269
271
|
const title = table?.querySelector(`.ui-rc-table-title`);
|
|
@@ -275,7 +277,7 @@ const InternalTable = props => {
|
|
|
275
277
|
const hhh = (totalHeight ?? 0) - (title ? title.offsetHeight : 0) - (header ? header.offsetHeight : 0) - (paginationE ? paginationE.offsetHeight : 0) - (toolbar ? toolbar.offsetHeight : 0) - (summaryE ? summaryE.offsetHeight : 0) - (scrollbar ? scrollbar.offsetHeight : 0);
|
|
276
278
|
setHeight(hhh > 0 ? hhh : 0);
|
|
277
279
|
}
|
|
278
|
-
}, [id, propsHeight, columns, editAble, isFullScreen]);
|
|
280
|
+
}, [id, propsHeight, columns, editAble, isFullScreen, windowSize.innerHeight]);
|
|
279
281
|
const tableRef = React.useRef(null);
|
|
280
282
|
React.useEffect(() => {
|
|
281
283
|
setColumns(propsColumns);
|
|
@@ -891,15 +893,18 @@ const InternalTable = props => {
|
|
|
891
893
|
const handleChange = (paging, filters, sorter) => {
|
|
892
894
|
onSorter?.(sorter);
|
|
893
895
|
};
|
|
894
|
-
|
|
895
|
-
|
|
896
|
+
|
|
897
|
+
// const fullScreenChange = (state: boolean) => {
|
|
898
|
+
|
|
899
|
+
// setIsFullScreen(state)
|
|
900
|
+
|
|
901
|
+
// }
|
|
902
|
+
|
|
903
|
+
const handleFullScreen = () => {
|
|
904
|
+
setIsFullScreen(!isFullScreen);
|
|
896
905
|
};
|
|
897
906
|
const TableComponent = infiniteScroll ? InfiniteTable : groupAble ? Group : editAble ? GridEdit : Grid;
|
|
898
|
-
return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(
|
|
899
|
-
handle: handle,
|
|
900
|
-
onChange: fullScreenChange,
|
|
901
|
-
className: "rc-fullscreen"
|
|
902
|
-
}, /*#__PURE__*/React.createElement(DndContext, {
|
|
907
|
+
return /*#__PURE__*/React.createElement(Fragment, null, true && /*#__PURE__*/React.createElement(DndContext, {
|
|
903
908
|
sensors: sensors,
|
|
904
909
|
modifiers: [restrictToHorizontalAxis],
|
|
905
910
|
onDragEnd: onDragEnd,
|
|
@@ -948,9 +953,10 @@ const InternalTable = props => {
|
|
|
948
953
|
} : {
|
|
949
954
|
y: scrollHeight - (summary ? 1 : 1)
|
|
950
955
|
} // scroll height auto, không quá 600
|
|
951
|
-
,
|
|
952
956
|
|
|
953
|
-
height
|
|
957
|
+
// height={isFullScreen ? windowSize.innerHeight - 100 : propsHeight}
|
|
958
|
+
,
|
|
959
|
+
height: propsHeight,
|
|
954
960
|
scrollHeight: scrollHeight,
|
|
955
961
|
components: {
|
|
956
962
|
header: {
|
|
@@ -970,7 +976,117 @@ const InternalTable = props => {
|
|
|
970
976
|
mergedFilterKeys: mergedFilterKeys,
|
|
971
977
|
wrapSettings: wrapSettings,
|
|
972
978
|
onChange: handleChange,
|
|
973
|
-
handleFullScreen:
|
|
979
|
+
handleFullScreen: handleFullScreen,
|
|
980
|
+
isFullScreen: isFullScreen
|
|
981
|
+
|
|
982
|
+
// onChange={(paging, filters, sorter) => {
|
|
983
|
+
// handleChange(sorter)
|
|
984
|
+
// }}
|
|
985
|
+
})))), /*#__PURE__*/React.createElement(DragOverlay, {
|
|
986
|
+
style: {
|
|
987
|
+
minWidth: 100,
|
|
988
|
+
width: columns[columns.findIndex(i => i.field === dragIndex.active)]?.width
|
|
989
|
+
}
|
|
990
|
+
}, /*#__PURE__*/React.createElement("th", {
|
|
991
|
+
style: {
|
|
992
|
+
backgroundColor: '#f0f0f0',
|
|
993
|
+
padding: 6,
|
|
994
|
+
borderRadius: 6,
|
|
995
|
+
fontWeight: 500
|
|
996
|
+
}
|
|
997
|
+
}, columns[columns.findIndex(i => i.field === dragIndex.active)]?.headerText))), /*#__PURE__*/React.createElement(Modal, {
|
|
998
|
+
open: isFullScreen,
|
|
999
|
+
footer: null,
|
|
1000
|
+
centered: true,
|
|
1001
|
+
closable: true,
|
|
1002
|
+
width: '100%',
|
|
1003
|
+
style: {
|
|
1004
|
+
maxWidth: '100%',
|
|
1005
|
+
height: '100%'
|
|
1006
|
+
},
|
|
1007
|
+
onClose: () => setIsFullScreen(false),
|
|
1008
|
+
onCancel: () => setIsFullScreen(false)
|
|
1009
|
+
|
|
1010
|
+
// destroyOnClose
|
|
1011
|
+
,
|
|
1012
|
+
styles: {
|
|
1013
|
+
content: {
|
|
1014
|
+
height: '100vh',
|
|
1015
|
+
borderRadius: 0
|
|
1016
|
+
}
|
|
1017
|
+
}
|
|
1018
|
+
}, /*#__PURE__*/React.createElement(DndContext, {
|
|
1019
|
+
sensors: sensors,
|
|
1020
|
+
modifiers: [restrictToHorizontalAxis],
|
|
1021
|
+
onDragEnd: onDragEnd,
|
|
1022
|
+
onDragOver: onDragOver,
|
|
1023
|
+
collisionDetection: closestCenter
|
|
1024
|
+
}, /*#__PURE__*/React.createElement(SortableContext, {
|
|
1025
|
+
items: columns.map(i => i.field),
|
|
1026
|
+
strategy: horizontalListSortingStrategy
|
|
1027
|
+
}, /*#__PURE__*/React.createElement(DragIndexContext.Provider, {
|
|
1028
|
+
value: dragIndex
|
|
1029
|
+
}, /*#__PURE__*/React.createElement(TableComponent, _extends({}, rest, {
|
|
1030
|
+
t: t,
|
|
1031
|
+
id: faker.string.alpha(20),
|
|
1032
|
+
locale: locale,
|
|
1033
|
+
tableRef: tableRef
|
|
1034
|
+
// dataSource={mergedData}
|
|
1035
|
+
,
|
|
1036
|
+
originData: mergedData
|
|
1037
|
+
// dataSource={filterStates && filterStates.length ? filterData : mergedData}
|
|
1038
|
+
,
|
|
1039
|
+
dataSource: filterDataByColumns4(mergedData, filterStates, mergedFilterKeys),
|
|
1040
|
+
format: format,
|
|
1041
|
+
columns: mergedColumns,
|
|
1042
|
+
showSorterTooltip: {
|
|
1043
|
+
target: 'sorter-icon'
|
|
1044
|
+
},
|
|
1045
|
+
triggerChangeColumns: triggerChangeColumns,
|
|
1046
|
+
triggerChangeData: triggerChangeData,
|
|
1047
|
+
triggerGroupColumns: triggerGroupColumns,
|
|
1048
|
+
rowKey: rowKey,
|
|
1049
|
+
getRowKey: getRowKey,
|
|
1050
|
+
triggerPaste: triggerPaste,
|
|
1051
|
+
clickHeaderToSort: clickHeaderToSort,
|
|
1052
|
+
groupSetting: groupSetting,
|
|
1053
|
+
groupAble: groupAble,
|
|
1054
|
+
groupColumns: groupColumns,
|
|
1055
|
+
commandClick: triggerCommandClick,
|
|
1056
|
+
summary: summary,
|
|
1057
|
+
pagination: pagination
|
|
1058
|
+
// scroll={{ y: 300 - 41 - 7 }} // scroll height auto, không quá 600
|
|
1059
|
+
// scroll={{ y: scrollHeight - (summary ? 0 : 7) }} // scroll height auto, không quá 600
|
|
1060
|
+
,
|
|
1061
|
+
|
|
1062
|
+
scroll: scrollHeight - (summary ? 1 : 1) < 0 ? {
|
|
1063
|
+
y: 500
|
|
1064
|
+
} : {
|
|
1065
|
+
y: windowSize.innerHeight - 50 - (propsHeight ?? 0) + scrollHeight - (summary ? 1 : 1)
|
|
1066
|
+
} // scroll height auto, không quá 600
|
|
1067
|
+
,
|
|
1068
|
+
|
|
1069
|
+
height: windowSize.innerHeight - 50,
|
|
1070
|
+
scrollHeight: windowSize.innerHeight - (propsHeight ?? 0) + scrollHeight - 50,
|
|
1071
|
+
components: {
|
|
1072
|
+
header: {
|
|
1073
|
+
cell: ResizableTitle
|
|
1074
|
+
},
|
|
1075
|
+
body: {
|
|
1076
|
+
cell: TableBodyCell
|
|
1077
|
+
}
|
|
1078
|
+
},
|
|
1079
|
+
setTooltipContent: setTooltipContent,
|
|
1080
|
+
onFilter: val => {
|
|
1081
|
+
handleOnFilter(val);
|
|
1082
|
+
// triggerFilter?.(convertFilters(val))
|
|
1083
|
+
// onFilter?.(convertFilters(val))
|
|
1084
|
+
},
|
|
1085
|
+
setMergedFilterKeys: setMergedFilterKeys,
|
|
1086
|
+
mergedFilterKeys: mergedFilterKeys,
|
|
1087
|
+
wrapSettings: wrapSettings,
|
|
1088
|
+
onChange: handleChange,
|
|
1089
|
+
handleFullScreen: handleFullScreen,
|
|
974
1090
|
isFullScreen: isFullScreen
|
|
975
1091
|
|
|
976
1092
|
// onChange={(paging, filters, sorter) => {
|
|
@@ -384,16 +384,16 @@ const TableGrid = props => {
|
|
|
384
384
|
, {
|
|
385
385
|
items: (toolbarItems ?? []).filter(it => it.position !== 'Bottom'),
|
|
386
386
|
mode: 'scroll'
|
|
387
|
-
})), fullScreen && (isFullScreen ? /*#__PURE__*/React.createElement(Minimize, {
|
|
387
|
+
})), fullScreen !== false && (isFullScreen ? /*#__PURE__*/React.createElement(Minimize, {
|
|
388
388
|
fontSize: 16,
|
|
389
|
-
onClick: handleFullScreen
|
|
389
|
+
onClick: () => handleFullScreen?.(),
|
|
390
390
|
"data-tooltip-id": "tooltip-icon",
|
|
391
|
-
"data-tooltip-content": t ? t('
|
|
391
|
+
"data-tooltip-content": t ? t('Minimized') : 'Minimized'
|
|
392
392
|
}) : /*#__PURE__*/React.createElement(Maximize, {
|
|
393
393
|
fontSize: 16,
|
|
394
|
-
onClick: handleFullScreen
|
|
394
|
+
onClick: () => handleFullScreen?.(),
|
|
395
395
|
"data-tooltip-id": "tooltip-icon",
|
|
396
|
-
"data-tooltip-content": t ? t('
|
|
396
|
+
"data-tooltip-content": t ? t('Full screen') : 'Full screen'
|
|
397
397
|
})), /*#__PURE__*/React.createElement("div", {
|
|
398
398
|
style: {
|
|
399
399
|
display: 'flex',
|
|
@@ -15,5 +15,7 @@ interface UseColumnsConfig<RecordType> {
|
|
|
15
15
|
rowKey?: any;
|
|
16
16
|
onMouseHover?: any;
|
|
17
17
|
}
|
|
18
|
-
declare const useColumns: <RecordType extends AnyObject = AnyObject>(config: UseColumnsConfig<RecordType>) => readonly [
|
|
18
|
+
declare const useColumns: <RecordType extends AnyObject = AnyObject>(config: UseColumnsConfig<RecordType>) => readonly [
|
|
19
|
+
any
|
|
20
|
+
];
|
|
19
21
|
export default useColumns;
|
|
@@ -10,7 +10,6 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
10
10
|
require("react-resizable/css/styles.css");
|
|
11
11
|
var _customParseFormat = _interopRequireDefault(require("dayjs/plugin/customParseFormat"));
|
|
12
12
|
var _hooks = require("./hooks");
|
|
13
|
-
var _reactFullScreen = require("react-full-screen");
|
|
14
13
|
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
15
14
|
require("dayjs/locale/es");
|
|
16
15
|
require("dayjs/locale/vi");
|
|
@@ -39,10 +38,9 @@ var _reactResizable = require("react-resizable");
|
|
|
39
38
|
var _faker = require("@faker-js/faker");
|
|
40
39
|
var _InfiniteTable = _interopRequireDefault(require("./table/InfiniteTable"));
|
|
41
40
|
var _useMergedState = _interopRequireDefault(require("rc-util/lib/hooks/useMergedState"));
|
|
41
|
+
var _Modal = _interopRequireDefault(require("antd/es/modal/Modal"));
|
|
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
|
-
// import {Resizable} from "react-resizable";
|
|
45
|
-
|
|
46
44
|
// import useColumns from "./hooks/useColumns";
|
|
47
45
|
|
|
48
46
|
// import 'rc-master-ui/es/date-range-picker/styles/index.less'
|
|
@@ -197,7 +195,6 @@ const InternalTable = props => {
|
|
|
197
195
|
onSorter,
|
|
198
196
|
...rest
|
|
199
197
|
} = props;
|
|
200
|
-
const handle = (0, _reactFullScreen.useFullScreenHandle)();
|
|
201
198
|
const id = _react.default.useMemo(() => {
|
|
202
199
|
return tableId ?? _faker.faker.string.alpha(20);
|
|
203
200
|
// return tableId ?? newGuid()
|
|
@@ -229,6 +226,9 @@ const InternalTable = props => {
|
|
|
229
226
|
};
|
|
230
227
|
}, []);
|
|
231
228
|
const [scrollHeight, setHeight] = (0, _react.useState)(0);
|
|
229
|
+
|
|
230
|
+
// const [isModalOpen, setIsModalOpen] = useState(false)
|
|
231
|
+
|
|
232
232
|
const local = lang && lang === 'en' ? _en_US.default : _vi_VN.default;
|
|
233
233
|
const dateRangeLocale = lang && lang === 'en' ? _en_US2.default : _vi_VN2.default;
|
|
234
234
|
const buddhistLocale = {
|
|
@@ -272,7 +272,8 @@ const InternalTable = props => {
|
|
|
272
272
|
|
|
273
273
|
const [columns, setColumns] = _react.default.useState([]);
|
|
274
274
|
_react.default.useEffect(() => {
|
|
275
|
-
const totalHeight = isFullScreen ? windowSize.innerHeight -
|
|
275
|
+
// const totalHeight = isFullScreen ? windowSize.innerHeight - 50 : propsHeight
|
|
276
|
+
const totalHeight = propsHeight;
|
|
276
277
|
if (totalHeight) {
|
|
277
278
|
const table = document.querySelector(`#${id}`);
|
|
278
279
|
const title = table?.querySelector(`.ui-rc-table-title`);
|
|
@@ -284,7 +285,7 @@ const InternalTable = props => {
|
|
|
284
285
|
const hhh = (totalHeight ?? 0) - (title ? title.offsetHeight : 0) - (header ? header.offsetHeight : 0) - (paginationE ? paginationE.offsetHeight : 0) - (toolbar ? toolbar.offsetHeight : 0) - (summaryE ? summaryE.offsetHeight : 0) - (scrollbar ? scrollbar.offsetHeight : 0);
|
|
285
286
|
setHeight(hhh > 0 ? hhh : 0);
|
|
286
287
|
}
|
|
287
|
-
}, [id, propsHeight, columns, editAble, isFullScreen]);
|
|
288
|
+
}, [id, propsHeight, columns, editAble, isFullScreen, windowSize.innerHeight]);
|
|
288
289
|
const tableRef = _react.default.useRef(null);
|
|
289
290
|
_react.default.useEffect(() => {
|
|
290
291
|
setColumns(propsColumns);
|
|
@@ -900,15 +901,18 @@ const InternalTable = props => {
|
|
|
900
901
|
const handleChange = (paging, filters, sorter) => {
|
|
901
902
|
onSorter?.(sorter);
|
|
902
903
|
};
|
|
903
|
-
|
|
904
|
-
|
|
904
|
+
|
|
905
|
+
// const fullScreenChange = (state: boolean) => {
|
|
906
|
+
|
|
907
|
+
// setIsFullScreen(state)
|
|
908
|
+
|
|
909
|
+
// }
|
|
910
|
+
|
|
911
|
+
const handleFullScreen = () => {
|
|
912
|
+
setIsFullScreen(!isFullScreen);
|
|
905
913
|
};
|
|
906
914
|
const TableComponent = infiniteScroll ? _InfiniteTable.default : groupAble ? _Group.default : editAble ? _GridEdit.default : _Grid.default;
|
|
907
|
-
return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(
|
|
908
|
-
handle: handle,
|
|
909
|
-
onChange: fullScreenChange,
|
|
910
|
-
className: "rc-fullscreen"
|
|
911
|
-
}, /*#__PURE__*/_react.default.createElement(_core.DndContext, {
|
|
915
|
+
return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, true && /*#__PURE__*/_react.default.createElement(_core.DndContext, {
|
|
912
916
|
sensors: sensors,
|
|
913
917
|
modifiers: [_modifiers.restrictToHorizontalAxis],
|
|
914
918
|
onDragEnd: onDragEnd,
|
|
@@ -957,9 +961,10 @@ const InternalTable = props => {
|
|
|
957
961
|
} : {
|
|
958
962
|
y: scrollHeight - (summary ? 1 : 1)
|
|
959
963
|
} // scroll height auto, không quá 600
|
|
960
|
-
,
|
|
961
964
|
|
|
962
|
-
height
|
|
965
|
+
// height={isFullScreen ? windowSize.innerHeight - 100 : propsHeight}
|
|
966
|
+
,
|
|
967
|
+
height: propsHeight,
|
|
963
968
|
scrollHeight: scrollHeight,
|
|
964
969
|
components: {
|
|
965
970
|
header: {
|
|
@@ -979,7 +984,117 @@ const InternalTable = props => {
|
|
|
979
984
|
mergedFilterKeys: mergedFilterKeys,
|
|
980
985
|
wrapSettings: wrapSettings,
|
|
981
986
|
onChange: handleChange,
|
|
982
|
-
handleFullScreen:
|
|
987
|
+
handleFullScreen: handleFullScreen,
|
|
988
|
+
isFullScreen: isFullScreen
|
|
989
|
+
|
|
990
|
+
// onChange={(paging, filters, sorter) => {
|
|
991
|
+
// handleChange(sorter)
|
|
992
|
+
// }}
|
|
993
|
+
})))), /*#__PURE__*/_react.default.createElement(_core.DragOverlay, {
|
|
994
|
+
style: {
|
|
995
|
+
minWidth: 100,
|
|
996
|
+
width: columns[columns.findIndex(i => i.field === dragIndex.active)]?.width
|
|
997
|
+
}
|
|
998
|
+
}, /*#__PURE__*/_react.default.createElement("th", {
|
|
999
|
+
style: {
|
|
1000
|
+
backgroundColor: '#f0f0f0',
|
|
1001
|
+
padding: 6,
|
|
1002
|
+
borderRadius: 6,
|
|
1003
|
+
fontWeight: 500
|
|
1004
|
+
}
|
|
1005
|
+
}, columns[columns.findIndex(i => i.field === dragIndex.active)]?.headerText))), /*#__PURE__*/_react.default.createElement(_Modal.default, {
|
|
1006
|
+
open: isFullScreen,
|
|
1007
|
+
footer: null,
|
|
1008
|
+
centered: true,
|
|
1009
|
+
closable: true,
|
|
1010
|
+
width: '100%',
|
|
1011
|
+
style: {
|
|
1012
|
+
maxWidth: '100%',
|
|
1013
|
+
height: '100%'
|
|
1014
|
+
},
|
|
1015
|
+
onClose: () => setIsFullScreen(false),
|
|
1016
|
+
onCancel: () => setIsFullScreen(false)
|
|
1017
|
+
|
|
1018
|
+
// destroyOnClose
|
|
1019
|
+
,
|
|
1020
|
+
styles: {
|
|
1021
|
+
content: {
|
|
1022
|
+
height: '100vh',
|
|
1023
|
+
borderRadius: 0
|
|
1024
|
+
}
|
|
1025
|
+
}
|
|
1026
|
+
}, /*#__PURE__*/_react.default.createElement(_core.DndContext, {
|
|
1027
|
+
sensors: sensors,
|
|
1028
|
+
modifiers: [_modifiers.restrictToHorizontalAxis],
|
|
1029
|
+
onDragEnd: onDragEnd,
|
|
1030
|
+
onDragOver: onDragOver,
|
|
1031
|
+
collisionDetection: _core.closestCenter
|
|
1032
|
+
}, /*#__PURE__*/_react.default.createElement(_sortable.SortableContext, {
|
|
1033
|
+
items: columns.map(i => i.field),
|
|
1034
|
+
strategy: _sortable.horizontalListSortingStrategy
|
|
1035
|
+
}, /*#__PURE__*/_react.default.createElement(DragIndexContext.Provider, {
|
|
1036
|
+
value: dragIndex
|
|
1037
|
+
}, /*#__PURE__*/_react.default.createElement(TableComponent, (0, _extends2.default)({}, rest, {
|
|
1038
|
+
t: t,
|
|
1039
|
+
id: _faker.faker.string.alpha(20),
|
|
1040
|
+
locale: locale,
|
|
1041
|
+
tableRef: tableRef
|
|
1042
|
+
// dataSource={mergedData}
|
|
1043
|
+
,
|
|
1044
|
+
originData: mergedData
|
|
1045
|
+
// dataSource={filterStates && filterStates.length ? filterData : mergedData}
|
|
1046
|
+
,
|
|
1047
|
+
dataSource: (0, _hooks.filterDataByColumns4)(mergedData, filterStates, mergedFilterKeys),
|
|
1048
|
+
format: format,
|
|
1049
|
+
columns: mergedColumns,
|
|
1050
|
+
showSorterTooltip: {
|
|
1051
|
+
target: 'sorter-icon'
|
|
1052
|
+
},
|
|
1053
|
+
triggerChangeColumns: triggerChangeColumns,
|
|
1054
|
+
triggerChangeData: triggerChangeData,
|
|
1055
|
+
triggerGroupColumns: triggerGroupColumns,
|
|
1056
|
+
rowKey: rowKey,
|
|
1057
|
+
getRowKey: getRowKey,
|
|
1058
|
+
triggerPaste: triggerPaste,
|
|
1059
|
+
clickHeaderToSort: clickHeaderToSort,
|
|
1060
|
+
groupSetting: groupSetting,
|
|
1061
|
+
groupAble: groupAble,
|
|
1062
|
+
groupColumns: groupColumns,
|
|
1063
|
+
commandClick: triggerCommandClick,
|
|
1064
|
+
summary: summary,
|
|
1065
|
+
pagination: pagination
|
|
1066
|
+
// scroll={{ y: 300 - 41 - 7 }} // scroll height auto, không quá 600
|
|
1067
|
+
// scroll={{ y: scrollHeight - (summary ? 0 : 7) }} // scroll height auto, không quá 600
|
|
1068
|
+
,
|
|
1069
|
+
|
|
1070
|
+
scroll: scrollHeight - (summary ? 1 : 1) < 0 ? {
|
|
1071
|
+
y: 500
|
|
1072
|
+
} : {
|
|
1073
|
+
y: windowSize.innerHeight - 50 - (propsHeight ?? 0) + scrollHeight - (summary ? 1 : 1)
|
|
1074
|
+
} // scroll height auto, không quá 600
|
|
1075
|
+
,
|
|
1076
|
+
|
|
1077
|
+
height: windowSize.innerHeight - 50,
|
|
1078
|
+
scrollHeight: windowSize.innerHeight - (propsHeight ?? 0) + scrollHeight - 50,
|
|
1079
|
+
components: {
|
|
1080
|
+
header: {
|
|
1081
|
+
cell: ResizableTitle
|
|
1082
|
+
},
|
|
1083
|
+
body: {
|
|
1084
|
+
cell: TableBodyCell
|
|
1085
|
+
}
|
|
1086
|
+
},
|
|
1087
|
+
setTooltipContent: setTooltipContent,
|
|
1088
|
+
onFilter: val => {
|
|
1089
|
+
handleOnFilter(val);
|
|
1090
|
+
// triggerFilter?.(convertFilters(val))
|
|
1091
|
+
// onFilter?.(convertFilters(val))
|
|
1092
|
+
},
|
|
1093
|
+
setMergedFilterKeys: setMergedFilterKeys,
|
|
1094
|
+
mergedFilterKeys: mergedFilterKeys,
|
|
1095
|
+
wrapSettings: wrapSettings,
|
|
1096
|
+
onChange: handleChange,
|
|
1097
|
+
handleFullScreen: handleFullScreen,
|
|
983
1098
|
isFullScreen: isFullScreen
|
|
984
1099
|
|
|
985
1100
|
// onChange={(paging, filters, sorter) => {
|
|
@@ -384,16 +384,16 @@ const TableGrid = props => {
|
|
|
384
384
|
, {
|
|
385
385
|
items: (toolbarItems ?? []).filter(it => it.position !== 'Bottom'),
|
|
386
386
|
mode: 'scroll'
|
|
387
|
-
})), fullScreen && (isFullScreen ? /*#__PURE__*/_react.default.createElement(_becoxyIcons.Minimize, {
|
|
387
|
+
})), fullScreen !== false && (isFullScreen ? /*#__PURE__*/_react.default.createElement(_becoxyIcons.Minimize, {
|
|
388
388
|
fontSize: 16,
|
|
389
|
-
onClick: handleFullScreen
|
|
389
|
+
onClick: () => handleFullScreen?.(),
|
|
390
390
|
"data-tooltip-id": "tooltip-icon",
|
|
391
|
-
"data-tooltip-content": t ? t('
|
|
391
|
+
"data-tooltip-content": t ? t('Minimized') : 'Minimized'
|
|
392
392
|
}) : /*#__PURE__*/_react.default.createElement(_becoxyIcons.Maximize, {
|
|
393
393
|
fontSize: 16,
|
|
394
|
-
onClick: handleFullScreen
|
|
394
|
+
onClick: () => handleFullScreen?.(),
|
|
395
395
|
"data-tooltip-id": "tooltip-icon",
|
|
396
|
-
"data-tooltip-content": t ? t('
|
|
396
|
+
"data-tooltip-content": t ? t('Full screen') : 'Full screen'
|
|
397
397
|
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
398
398
|
style: {
|
|
399
399
|
display: 'flex',
|