es-grid-template 0.1.0 → 0.1.2-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/es/grid-component/ColumnsChoose.d.ts +3 -4
- package/es/grid-component/ColumnsChoose.js +28 -15
- package/es/grid-component/Command.d.ts +8 -0
- package/es/grid-component/Command.js +81 -0
- package/es/grid-component/ContextMenu.d.ts +2 -2
- package/es/grid-component/ContextMenu.js +1 -0
- package/es/grid-component/EditableCell.js +300 -314
- package/es/grid-component/GridStyle.js +1 -1
- package/es/grid-component/InternalTable.js +52 -28
- package/es/grid-component/TableGrid.d.ts +2 -1
- package/es/grid-component/TableGrid.js +64 -18
- package/es/grid-component/async-select/index.d.ts +9 -0
- package/es/grid-component/async-select/index.js +35 -0
- package/es/grid-component/hooks/constant.d.ts +10 -0
- package/es/grid-component/hooks/constant.js +11 -1
- package/es/grid-component/hooks/useColumns/index.js +7 -4
- package/es/grid-component/hooks/utils.d.ts +2 -0
- package/es/grid-component/hooks/utils.js +11 -0
- package/es/grid-component/index.d.ts +3 -0
- package/es/grid-component/styles.scss +282 -214
- package/es/grid-component/table/Grid.js +46 -59
- package/es/grid-component/table/GridEdit.d.ts +4 -0
- package/es/grid-component/table/GridEdit.js +106 -19
- package/es/grid-component/type.d.ts +32 -14
- package/es/grid-component/useContext.d.ts +11 -7
- package/es/grid-component/useContext.js +3 -0
- package/es/index.d.ts +1 -0
- package/lib/grid-component/ColumnsChoose.d.ts +3 -4
- package/lib/grid-component/ColumnsChoose.js +27 -14
- package/lib/grid-component/Command.d.ts +8 -0
- package/lib/grid-component/Command.js +90 -0
- package/lib/grid-component/ContextMenu.d.ts +2 -2
- package/lib/grid-component/ContextMenu.js +2 -0
- package/lib/grid-component/EditableCell.js +297 -311
- package/lib/grid-component/GridStyle.js +1 -1
- package/lib/grid-component/InternalTable.js +51 -27
- package/lib/grid-component/TableGrid.d.ts +2 -1
- package/lib/grid-component/TableGrid.js +63 -17
- package/lib/grid-component/async-select/index.d.ts +9 -0
- package/lib/grid-component/async-select/index.js +44 -0
- package/lib/grid-component/hooks/constant.d.ts +10 -0
- package/lib/grid-component/hooks/constant.js +12 -2
- package/lib/grid-component/hooks/useColumns/index.js +7 -4
- package/lib/grid-component/hooks/utils.d.ts +2 -0
- package/lib/grid-component/hooks/utils.js +16 -3
- package/lib/grid-component/index.d.ts +3 -0
- package/lib/grid-component/styles.scss +282 -214
- package/lib/grid-component/table/Grid.js +46 -59
- package/lib/grid-component/table/GridEdit.d.ts +4 -0
- package/lib/grid-component/table/GridEdit.js +106 -19
- package/lib/grid-component/type.d.ts +32 -14
- package/lib/grid-component/useContext.d.ts +11 -7
- package/lib/grid-component/useContext.js +2 -0
- package/lib/index.d.ts +1 -0
- package/package.json +102 -112
- /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/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
|
@@ -9,4 +9,4 @@ var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
|
9
9
|
const GridStyle = exports.GridStyle = _styledComponents.default.div.withConfig({
|
|
10
10
|
displayName: "GridStyle",
|
|
11
11
|
componentId: "es-grid-template__sc-sueu2e-0"
|
|
12
|
-
})([".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;z-index:-1;}&::after{content:\"\";position:absolute;border-left:1px solid #e0e0e0;height:", ";bottom:0;visibility:visible;right:0;z-index:-1;}}"], props => props.heightTable ? typeof props.heightTable === 'string' ? props.heightTable : `${props.heightTable}px` : undefined, props => props.heightTable ? `${props.heightTable}px` : undefined);
|
|
12
|
+
})([".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;z-index:-1;}&::after{content:\"\";position:absolute;border-left:1px solid #e0e0e0;height:", ";bottom:0;visibility:visible;right:0;z-index:-1;}}.react-resizable{position:relative;background-clip:padding-box;}.react-resizable-handle{position:absolute;right:0px;bottom:0;z-index:1;width:5px;height:100%;cursor:col-resize;&.none{cursor:auto;display:none;}}"], props => props.heightTable ? typeof props.heightTable === 'string' ? props.heightTable : `${props.heightTable}px` : undefined, props => props.heightTable ? `${props.heightTable}px` : undefined);
|
|
@@ -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,9 +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"));
|
|
23
|
+
require("./styles.scss");
|
|
24
24
|
var _GridEdit = _interopRequireDefault(require("./table/GridEdit"));
|
|
25
25
|
var _Grid = _interopRequireDefault(require("./table/Grid"));
|
|
26
|
-
require("./styles.scss");
|
|
27
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); }
|
|
28
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; }
|
|
29
28
|
_dayjs.default.extend(_customParseFormat.default);
|
|
@@ -55,20 +54,18 @@ const ResizableTitle = props => {
|
|
|
55
54
|
}, /*#__PURE__*/_react.default.createElement("th", restProps))
|
|
56
55
|
);
|
|
57
56
|
};
|
|
58
|
-
const GridStyle = _styledComponents.default.div.withConfig({
|
|
59
|
-
displayName: "GridStyle",
|
|
60
|
-
componentId: "es-grid-template__sc-1awgu8w-0"
|
|
61
|
-
})([".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);
|
|
62
57
|
const InternalTable = props => {
|
|
63
58
|
const {
|
|
64
59
|
t,
|
|
65
60
|
columns: propsColumns,
|
|
66
61
|
lang,
|
|
67
62
|
dataSource,
|
|
68
|
-
allowResizing
|
|
63
|
+
allowResizing,
|
|
69
64
|
dataSourceFilter: propDataSourceFilter,
|
|
70
65
|
onFilterClick,
|
|
71
66
|
editAble,
|
|
67
|
+
rowKey,
|
|
68
|
+
onDataChange,
|
|
72
69
|
...rest
|
|
73
70
|
} = props;
|
|
74
71
|
const locale = lang && lang === 'en' ? _en_US.default : _vi_VN.default;
|
|
@@ -93,6 +90,15 @@ const InternalTable = props => {
|
|
|
93
90
|
}
|
|
94
91
|
setIsManualUpdate(false);
|
|
95
92
|
}, [dataSource]);
|
|
93
|
+
|
|
94
|
+
// ============================ RowKey ============================
|
|
95
|
+
const getRowKey = _react.default.useMemo(() => {
|
|
96
|
+
if (typeof rowKey === 'function') {
|
|
97
|
+
return rowKey;
|
|
98
|
+
}
|
|
99
|
+
// @ts-ignore
|
|
100
|
+
return record => record?.[rowKey];
|
|
101
|
+
}, [rowKey]);
|
|
96
102
|
const handleSearch = (selectedKeys, confirm) => {
|
|
97
103
|
confirm();
|
|
98
104
|
};
|
|
@@ -233,32 +239,40 @@ const InternalTable = props => {
|
|
|
233
239
|
return cols.map((col, index) => {
|
|
234
240
|
const currentPath = [...parentPath, index];
|
|
235
241
|
// @ts-ignore
|
|
236
|
-
if (!col?.dataIndex && !col.key) {
|
|
242
|
+
if (!col?.dataIndex && !col.key && !col.field) {
|
|
237
243
|
return col;
|
|
238
244
|
}
|
|
245
|
+
const transformedColumn = {
|
|
246
|
+
...col,
|
|
247
|
+
dataIndex: col.field ?? col.dataIndex,
|
|
248
|
+
title: t ? t(col.headerText ?? col.title) : col.headerText ?? col.title,
|
|
249
|
+
ellipsis: col.ellipsis !== false,
|
|
250
|
+
align: col.textAlign ?? col.align,
|
|
251
|
+
fixed: col.frozen ? col.frozen.toLowerCase() : col.fixed
|
|
252
|
+
};
|
|
239
253
|
if (col.children) {
|
|
240
254
|
return {
|
|
241
|
-
...
|
|
242
|
-
title: col.headerText ?? col.title,
|
|
243
|
-
ellipsis: col.ellipsis !== false,
|
|
255
|
+
...transformedColumn,
|
|
244
256
|
children: transformColumns(col.children, currentPath)
|
|
245
257
|
};
|
|
246
258
|
}
|
|
247
259
|
if (col.dataIndex === 'index' || col.field === 'index' || col.dataIndex === '#' || col.dataIndex === '#') {
|
|
248
260
|
return {
|
|
249
|
-
...
|
|
250
|
-
title: col.headerText ?? col.title,
|
|
251
|
-
ellipsis: col.ellipsis !== false
|
|
261
|
+
...transformedColumn
|
|
252
262
|
};
|
|
253
263
|
}
|
|
254
264
|
return {
|
|
255
265
|
...getColumnSearchProps(col),
|
|
256
|
-
...
|
|
257
|
-
|
|
258
|
-
|
|
266
|
+
...transformedColumn,
|
|
267
|
+
// dataIndex: col.field ?? col.dataIndex,
|
|
268
|
+
// key: col.field ?? col.dataIndex ?? col.key,
|
|
269
|
+
// title: col.headerText ?? col.title,
|
|
270
|
+
// ellipsis: col.ellipsis !== false,
|
|
271
|
+
// align: col.textAlign ?? col.align,
|
|
272
|
+
// fixed: col.frozen ? col.frozen.toLowerCase() : col.fixed,
|
|
259
273
|
onFilter: (value, record) => {
|
|
260
274
|
// @ts-ignore
|
|
261
|
-
return record[
|
|
275
|
+
return record[col.field ?? col.dataIndex];
|
|
262
276
|
},
|
|
263
277
|
onHeaderCell: () => ({
|
|
264
278
|
width: col.width,
|
|
@@ -270,13 +284,17 @@ const InternalTable = props => {
|
|
|
270
284
|
const mergedColumns = _react.default.useMemo(() => {
|
|
271
285
|
return transformColumns(columns);
|
|
272
286
|
}, [transformColumns, columns]);
|
|
287
|
+
|
|
288
|
+
// console.log('mergedColumns', mergedColumns)
|
|
289
|
+
|
|
290
|
+
const triggerChangeColumns = () => {};
|
|
291
|
+
const triggerChangeData = newData => {
|
|
292
|
+
setIsManualUpdate(true);
|
|
293
|
+
setData(newData);
|
|
294
|
+
onDataChange?.(newData);
|
|
295
|
+
};
|
|
273
296
|
const TableComponent = editAble ? _GridEdit.default : _Grid.default;
|
|
274
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
275
|
-
heightTable: props.style?.minHeight,
|
|
276
|
-
style: {
|
|
277
|
-
position: 'relative'
|
|
278
|
-
}
|
|
279
|
-
}, /*#__PURE__*/_react.default.createElement(TableComponent, (0, _extends2.default)({}, rest, {
|
|
297
|
+
return /*#__PURE__*/_react.default.createElement(TableComponent, (0, _extends2.default)({}, rest, {
|
|
280
298
|
tableRef: tableRef,
|
|
281
299
|
dataSource: data,
|
|
282
300
|
components: {
|
|
@@ -284,10 +302,16 @@ const InternalTable = props => {
|
|
|
284
302
|
cell: allowResizing ? ResizableTitle : undefined
|
|
285
303
|
}
|
|
286
304
|
},
|
|
287
|
-
columns: mergedColumns
|
|
305
|
+
columns: mergedColumns
|
|
306
|
+
// columns={columns}
|
|
307
|
+
,
|
|
288
308
|
showSorterTooltip: {
|
|
289
309
|
target: 'sorter-icon'
|
|
290
|
-
}
|
|
291
|
-
|
|
310
|
+
},
|
|
311
|
+
triggerChangeColumns: triggerChangeColumns,
|
|
312
|
+
triggerChangeData: triggerChangeData,
|
|
313
|
+
rowKey: rowKey,
|
|
314
|
+
getRowKey: getRowKey
|
|
315
|
+
}));
|
|
292
316
|
};
|
|
293
317
|
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,8 @@ const TableGrid = props => {
|
|
|
244
287
|
});
|
|
245
288
|
} else {
|
|
246
289
|
// @ts-ignore
|
|
247
|
-
|
|
290
|
+
// setMergedSelectedKeys([selectedRow[rowKey]])
|
|
291
|
+
|
|
248
292
|
rowSelected?.({
|
|
249
293
|
selected: [selectedRow],
|
|
250
294
|
type: 'rowSelected',
|
|
@@ -300,19 +344,21 @@ const TableGrid = props => {
|
|
|
300
344
|
onRow: (data, index) => {
|
|
301
345
|
return {
|
|
302
346
|
onDoubleClick: handleRowDoubleClick(data, index),
|
|
303
|
-
onClick: handleRowClick,
|
|
347
|
+
// onClick: handleRowClick,
|
|
348
|
+
onClick: handleRowClick(),
|
|
304
349
|
onContextMenu: onContextMenu(data)
|
|
305
350
|
};
|
|
306
351
|
},
|
|
307
352
|
rowSelection: {
|
|
308
|
-
|
|
309
|
-
|
|
353
|
+
...selectionSettings,
|
|
354
|
+
type: selectionSettings?.mode === 'checkbox' || type === 'multiple' ? 'checkbox' : "radio",
|
|
355
|
+
columnWidth: !mode ? 0.0000001 : columnWidth ?? 50,
|
|
310
356
|
onChange: onSelectChange,
|
|
311
|
-
selectedRowKeys:
|
|
357
|
+
selectedRowKeys: mode === 'checkbox' && type === 'single' ? selectedRowKeys : undefined,
|
|
312
358
|
defaultSelectedRowKeys: selectionSettings?.defaultSelectedRowKeys,
|
|
313
359
|
preserveSelectedRowKeys: true,
|
|
314
360
|
...rowSelection,
|
|
315
|
-
hideSelectAll: !
|
|
361
|
+
hideSelectAll: !type || type === 'single' || selectionSettings?.mode === 'radio' ? true : hideSelectAll ?? type !== 'multiple'
|
|
316
362
|
},
|
|
317
363
|
onScroll: () => {
|
|
318
364
|
setMenuVisible(false);
|
|
@@ -367,7 +413,7 @@ const TableGrid = props => {
|
|
|
367
413
|
}
|
|
368
414
|
}), showColumnChoose && /*#__PURE__*/_react.default.createElement(_ColumnsChoose.ColumnsChoose, {
|
|
369
415
|
columns: columns,
|
|
370
|
-
|
|
416
|
+
triggerChangeColumns: triggerChangeColumns
|
|
371
417
|
}), /*#__PURE__*/_react.default.createElement("div", null)));
|
|
372
418
|
}
|
|
373
419
|
}, rest)), pagination && pagination.onChange && /*#__PURE__*/_react.default.createElement(_pagination.default
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { BaseOptionType, DefaultOptionType } from "rc-select/lib/Select";
|
|
3
|
+
import type { SelectProps } from "rc-master-ui/es/select";
|
|
4
|
+
export interface DebounceSelectProps<OptionType extends BaseOptionType = DefaultOptionType> extends SelectProps {
|
|
5
|
+
loadOptions?: (search: string, callback: (newOptions: OptionType[]) => void) => void;
|
|
6
|
+
debounceTimeout?: number;
|
|
7
|
+
defaultOptions?: OptionType[];
|
|
8
|
+
}
|
|
9
|
+
export declare function AsyncSelect<OptionType extends BaseOptionType>({ loadOptions, debounceTimeout, defaultOptions, ...props }: DebounceSelectProps<OptionType>): React.JSX.Element;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.AsyncSelect = AsyncSelect;
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
10
|
+
var _debounce = _interopRequireDefault(require("lodash/debounce"));
|
|
11
|
+
var _rcMasterUi = require("rc-master-ui");
|
|
12
|
+
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); }
|
|
13
|
+
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; }
|
|
14
|
+
function AsyncSelect({
|
|
15
|
+
loadOptions,
|
|
16
|
+
debounceTimeout = 500,
|
|
17
|
+
defaultOptions,
|
|
18
|
+
...props
|
|
19
|
+
}) {
|
|
20
|
+
const [options, setOptions] = (0, _react.useState)(defaultOptions ?? []);
|
|
21
|
+
const debounceFetcher = (0, _react.useMemo)(() => {
|
|
22
|
+
const fetchOptions = value => {
|
|
23
|
+
if (value.trim().length === 0) {
|
|
24
|
+
setOptions(defaultOptions ?? []);
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
if (loadOptions) {
|
|
28
|
+
loadOptions(value, newOptions => {
|
|
29
|
+
setOptions(newOptions);
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
return (0, _debounce.default)(fetchOptions, debounceTimeout);
|
|
34
|
+
}, [loadOptions, debounceTimeout]);
|
|
35
|
+
(0, _react.useEffect)(() => {
|
|
36
|
+
setOptions(defaultOptions ?? []);
|
|
37
|
+
}, [defaultOptions]);
|
|
38
|
+
return /*#__PURE__*/_react.default.createElement(_rcMasterUi.Select, (0, _extends2.default)({}, props, {
|
|
39
|
+
filterOption: loadOptions ? false : props?.filterOption,
|
|
40
|
+
onSearch: debounceFetcher,
|
|
41
|
+
onSelect: () => setOptions(defaultOptions ?? []),
|
|
42
|
+
options: options
|
|
43
|
+
}));
|
|
44
|
+
}
|
|
@@ -60,3 +60,13 @@ declare const SortOrder: {
|
|
|
60
60
|
descend: string;
|
|
61
61
|
};
|
|
62
62
|
export default SortOrder;
|
|
63
|
+
export declare const valueToBoolean: {
|
|
64
|
+
true: boolean;
|
|
65
|
+
false: boolean;
|
|
66
|
+
1: boolean;
|
|
67
|
+
0: boolean;
|
|
68
|
+
};
|
|
69
|
+
export declare const booleanToValue: {
|
|
70
|
+
true: number;
|
|
71
|
+
false: number;
|
|
72
|
+
};
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.translateOption = exports.transferFontSize = exports.stringOperator = exports.paperSize = exports.optionsSize = exports.optionsPaperOrientation = exports.optionFontSize = exports.optionFont = exports.numberOperator = exports.defaultWidth = exports.defaultTimeFormat = exports.defaultRowHeight = exports.defaultPageSizes = exports.defaultDateTimeFormat = exports.defaultDateFormat = exports.default = exports.dateTimeOperator = exports.dateOperator = exports.booleanOperator = exports.alignToFlex = void 0;
|
|
6
|
+
exports.valueToBoolean = exports.translateOption = exports.transferFontSize = exports.stringOperator = exports.paperSize = exports.optionsSize = exports.optionsPaperOrientation = exports.optionFontSize = exports.optionFont = exports.numberOperator = exports.defaultWidth = exports.defaultTimeFormat = exports.defaultRowHeight = exports.defaultPageSizes = exports.defaultDateTimeFormat = exports.defaultDateFormat = exports.default = exports.dateTimeOperator = exports.dateOperator = exports.booleanToValue = exports.booleanOperator = exports.alignToFlex = void 0;
|
|
7
7
|
const defaultWidth = exports.defaultWidth = 100;
|
|
8
8
|
const defaultRowHeight = exports.defaultRowHeight = 35;
|
|
9
9
|
const numberOperator = exports.numberOperator = [{
|
|
@@ -233,4 +233,14 @@ const SortOrder = {
|
|
|
233
233
|
*/
|
|
234
234
|
descend: 'Descending'
|
|
235
235
|
};
|
|
236
|
-
var _default = exports.default = SortOrder;
|
|
236
|
+
var _default = exports.default = SortOrder;
|
|
237
|
+
const valueToBoolean = exports.valueToBoolean = {
|
|
238
|
+
true: true,
|
|
239
|
+
false: false,
|
|
240
|
+
1: true,
|
|
241
|
+
0: false
|
|
242
|
+
};
|
|
243
|
+
const booleanToValue = exports.booleanToValue = {
|
|
244
|
+
true: 1,
|
|
245
|
+
false: 0
|
|
246
|
+
};
|
|
@@ -17,6 +17,7 @@ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return
|
|
|
17
17
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
18
18
|
// import * as React from 'react'
|
|
19
19
|
|
|
20
|
+
// import {ColorPicker} from "antd";
|
|
20
21
|
const {
|
|
21
22
|
RangePicker
|
|
22
23
|
} = _rcMasterUi.DatePicker;
|
|
@@ -72,13 +73,15 @@ const getValueCell = (column, value, format) => {
|
|
|
72
73
|
case 'boolean':
|
|
73
74
|
return value ? 'true' : 'false';
|
|
74
75
|
case 'color':
|
|
75
|
-
return /*#__PURE__*/_react.default.createElement(_react.Fragment, null,
|
|
76
|
+
return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
76
77
|
className: 'w-100 h-100',
|
|
77
78
|
style: {
|
|
78
|
-
backgroundColor: value,
|
|
79
|
-
border: '1px solid #f0f0f0'
|
|
79
|
+
backgroundColor: (0, _utils.isColor)(value) ? value : '#fff',
|
|
80
|
+
border: '1px solid #f0f0f0',
|
|
81
|
+
height: '100%',
|
|
82
|
+
minHeight: 20
|
|
80
83
|
}
|
|
81
|
-
})
|
|
84
|
+
}));
|
|
82
85
|
case 'checkbox':
|
|
83
86
|
return /*#__PURE__*/_react.default.createElement(_rcMasterUi.Input, {
|
|
84
87
|
checked: !!content,
|
|
@@ -33,3 +33,5 @@ export declare const totalFixedWidth: <T>(columns: ColumnsType<T>, type: 'left'
|
|
|
33
33
|
export declare const isObjEmpty: (obj: any) => boolean;
|
|
34
34
|
export declare const getColumnsVisible: <T>(columns: ColumnsType<T>, index: number) => import("../type").ColumnType<T>[];
|
|
35
35
|
export declare const updateData: <Record_1 = AnyObject>(initData: Record_1[], rows: Record_1[], key: keyof Record_1) => Record_1[];
|
|
36
|
+
export declare const parseBooleanToValue: (value: boolean, type: 'boolean' | 'number') => number | boolean;
|
|
37
|
+
export declare const genPresets: (presets?: import("@ant-design/colors").PalettesProps) => import("antd/es/color-picker/interface").PresetsItem[];
|
|
@@ -4,12 +4,13 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.getEditType = exports.getDatepickerFormat = exports.getDateString = exports.getColumnsVisible = exports.getAllVisibleKeys = exports.customWeekStartEndFormat = exports.convertLabelToTitle = exports.convertDayjsToDate = exports.convertDateToDayjs = exports.convertArrayWithIndent = exports.checkThousandSeparator = exports.checkFieldKey = exports.checkDecimalSeparator = void 0;
|
|
7
|
+
exports.getEditType = exports.getDatepickerFormat = exports.getDateString = exports.getColumnsVisible = exports.getAllVisibleKeys = exports.genPresets = exports.customWeekStartEndFormat = exports.convertLabelToTitle = exports.convertDayjsToDate = exports.convertDateToDayjs = exports.convertArrayWithIndent = exports.checkThousandSeparator = exports.checkFieldKey = exports.checkDecimalSeparator = void 0;
|
|
8
8
|
exports.getHiddenParentKeys = getHiddenParentKeys;
|
|
9
|
-
exports.updateData = exports.updateColumns = exports.updateArrayByKey = exports.totalFixedWidth = exports.sumDataByField = exports.newGuid = exports.isObjEmpty = exports.isNullOrUndefined = exports.isNameColor = exports.isEmpty = exports.isDisable = exports.isColor = exports.getVisibleColumnKeys = exports.getTypeFilter = exports.getTemplate = void 0;
|
|
9
|
+
exports.updateData = exports.updateColumns = exports.updateArrayByKey = exports.totalFixedWidth = exports.sumDataByField = exports.parseBooleanToValue = exports.newGuid = exports.isObjEmpty = exports.isNullOrUndefined = exports.isNameColor = exports.isEmpty = exports.isDisable = exports.isColor = exports.getVisibleColumnKeys = exports.getTypeFilter = exports.getTemplate = void 0;
|
|
10
10
|
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
11
11
|
var _moment = _interopRequireDefault(require("moment/moment"));
|
|
12
12
|
var _uuid = require("uuid");
|
|
13
|
+
var _colors = require("@ant-design/colors");
|
|
13
14
|
const newGuid = () => {
|
|
14
15
|
for (let i = 0; i < 20; i++) {
|
|
15
16
|
// @ts-ignore
|
|
@@ -354,4 +355,16 @@ const updateData = (initData, rows, key) => {
|
|
|
354
355
|
const newRows = rows.filter(row => !initData.some(item => item[key] === row[key]));
|
|
355
356
|
return [...updatedData, ...newRows];
|
|
356
357
|
};
|
|
357
|
-
exports.updateData = updateData;
|
|
358
|
+
exports.updateData = updateData;
|
|
359
|
+
const parseBooleanToValue = (value, type) => {
|
|
360
|
+
return type === 'boolean' ? value : Number(value);
|
|
361
|
+
};
|
|
362
|
+
exports.parseBooleanToValue = parseBooleanToValue;
|
|
363
|
+
const genPresets = (presets = _colors.presetPalettes) => {
|
|
364
|
+
return Object.entries(presets).map(([label, colors]) => ({
|
|
365
|
+
label,
|
|
366
|
+
colors,
|
|
367
|
+
key: label
|
|
368
|
+
}));
|
|
369
|
+
};
|
|
370
|
+
exports.genPresets = genPresets;
|
|
@@ -1,2 +1,5 @@
|
|
|
1
1
|
import InternalTable from './InternalTable';
|
|
2
|
+
import type { ColumnsTable, TableProps, ColumnTable, CommandItem, ContextMenuItem } from './type';
|
|
3
|
+
import type { ToolbarItem } from "rc-master-ui/es/toolbar";
|
|
4
|
+
export type { ColumnsTable, TableProps, ColumnTable, ToolbarItem, CommandItem, ContextMenuItem };
|
|
2
5
|
export default InternalTable;
|