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.
Files changed (63) hide show
  1. package/es/grid-component/ColumnsChoose.d.ts +3 -4
  2. package/es/grid-component/ColumnsChoose.js +28 -15
  3. package/es/grid-component/Command.d.ts +8 -0
  4. package/es/grid-component/Command.js +81 -0
  5. package/es/grid-component/ContextMenu.d.ts +2 -2
  6. package/es/grid-component/ContextMenu.js +1 -0
  7. package/es/grid-component/EditableCell.js +300 -314
  8. package/es/grid-component/GridStyle.js +1 -1
  9. package/es/grid-component/InternalTable.js +52 -28
  10. package/es/grid-component/TableGrid.d.ts +2 -1
  11. package/es/grid-component/TableGrid.js +64 -18
  12. package/es/grid-component/async-select/index.d.ts +9 -0
  13. package/es/grid-component/async-select/index.js +35 -0
  14. package/es/grid-component/hooks/constant.d.ts +10 -0
  15. package/es/grid-component/hooks/constant.js +11 -1
  16. package/es/grid-component/hooks/useColumns/index.js +7 -4
  17. package/es/grid-component/hooks/utils.d.ts +2 -0
  18. package/es/grid-component/hooks/utils.js +11 -0
  19. package/es/grid-component/index.d.ts +3 -0
  20. package/es/grid-component/styles.scss +282 -214
  21. package/es/grid-component/table/Grid.js +46 -59
  22. package/es/grid-component/table/GridEdit.d.ts +4 -0
  23. package/es/grid-component/table/GridEdit.js +106 -19
  24. package/es/grid-component/type.d.ts +32 -14
  25. package/es/grid-component/useContext.d.ts +11 -7
  26. package/es/grid-component/useContext.js +3 -0
  27. package/es/index.d.ts +1 -0
  28. package/lib/grid-component/ColumnsChoose.d.ts +3 -4
  29. package/lib/grid-component/ColumnsChoose.js +27 -14
  30. package/lib/grid-component/Command.d.ts +8 -0
  31. package/lib/grid-component/Command.js +90 -0
  32. package/lib/grid-component/ContextMenu.d.ts +2 -2
  33. package/lib/grid-component/ContextMenu.js +2 -0
  34. package/lib/grid-component/EditableCell.js +297 -311
  35. package/lib/grid-component/GridStyle.js +1 -1
  36. package/lib/grid-component/InternalTable.js +51 -27
  37. package/lib/grid-component/TableGrid.d.ts +2 -1
  38. package/lib/grid-component/TableGrid.js +63 -17
  39. package/lib/grid-component/async-select/index.d.ts +9 -0
  40. package/lib/grid-component/async-select/index.js +44 -0
  41. package/lib/grid-component/hooks/constant.d.ts +10 -0
  42. package/lib/grid-component/hooks/constant.js +12 -2
  43. package/lib/grid-component/hooks/useColumns/index.js +7 -4
  44. package/lib/grid-component/hooks/utils.d.ts +2 -0
  45. package/lib/grid-component/hooks/utils.js +16 -3
  46. package/lib/grid-component/index.d.ts +3 -0
  47. package/lib/grid-component/styles.scss +282 -214
  48. package/lib/grid-component/table/Grid.js +46 -59
  49. package/lib/grid-component/table/GridEdit.d.ts +4 -0
  50. package/lib/grid-component/table/GridEdit.js +106 -19
  51. package/lib/grid-component/type.d.ts +32 -14
  52. package/lib/grid-component/useContext.d.ts +11 -7
  53. package/lib/grid-component/useContext.js +2 -0
  54. package/lib/index.d.ts +1 -0
  55. package/package.json +102 -112
  56. /package/es/{grid-component/Message → Message}/Message.d.ts +0 -0
  57. /package/es/{grid-component/Message → Message}/Message.js +0 -0
  58. /package/es/{grid-component/Message → Message}/index.d.ts +0 -0
  59. /package/es/{grid-component/Message → Message}/index.js +0 -0
  60. /package/lib/{grid-component/Message → Message}/Message.d.ts +0 -0
  61. /package/lib/{grid-component/Message → Message}/Message.js +0 -0
  62. /package/lib/{grid-component/Message → Message}/index.d.ts +0 -0
  63. /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 = true,
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
- ...col,
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
- ...col,
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
- ...col,
257
- title: col.headerText ?? col.title,
258
- ellipsis: col.ellipsis !== false,
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[column?.dataIndex];
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(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(GridStyle, {
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
- setColumns?: any;
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
- setColumns,
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
- const defaultSelected = (0, _react.useMemo)(() => {
131
- return selectionSettings?.defaultSelectedRowKeys ?? [];
132
- }, [selectionSettings?.defaultSelectedRowKeys]);
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
- const [selectedRowKeys, setSelectedRowKeys] = (0, _react.useState)(defaultSelected);
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
- // setSelectedRowKeys(keys)
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
- // setSelectedRowKeys(keys)
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
- setSelectedRowKeys([selectedRow[rowKey]]);
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
- type: selectionSettings?.mode === 'checkbox' || selectionSettings?.type === 'multiple' ? 'checkbox' : "radio",
309
- columnWidth: !selectionSettings?.mode ? 0.0000001 : selectionSettings?.columnWidth ?? 50,
353
+ ...selectionSettings,
354
+ type: selectionSettings?.mode === 'checkbox' || type === 'multiple' ? 'checkbox' : "radio",
355
+ columnWidth: !mode ? 0.0000001 : columnWidth ?? 50,
310
356
  onChange: onSelectChange,
311
- selectedRowKeys: selectionSettings?.mode === 'checkbox' && selectionSettings?.type === 'single' ? selectedRowKeys : undefined,
357
+ selectedRowKeys: mode === 'checkbox' && type === 'single' ? selectedRowKeys : undefined,
312
358
  defaultSelectedRowKeys: selectionSettings?.defaultSelectedRowKeys,
313
359
  preserveSelectedRowKeys: true,
314
360
  ...rowSelection,
315
- hideSelectAll: !selectionSettings?.type || selectionSettings?.type === 'single' || selectionSettings?.mode === 'radio' ? true : selectionSettings?.hideSelectAll ?? selectionSettings?.type !== 'multiple'
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
- setColumns: setColumns
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, (0, _utils.isColor)(value) ? /*#__PURE__*/_react.default.createElement("div", {
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;