@hi-ui/table 4.4.1 → 4.5.0-alpha.0

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/lib/cjs/Table.js CHANGED
@@ -50,7 +50,7 @@ var STANDARD_PRESET = {
50
50
  striped: true,
51
51
  bordered: true,
52
52
  sticky: true,
53
- setting: true,
53
+ setting: {},
54
54
  showColMenu: true
55
55
  };
56
56
  var SELECTION_DATA_KEY = "SELECTION_DATA_KEY_" + index.uuid();
@@ -299,7 +299,8 @@ var Table = /*#__PURE__*/React.forwardRef(function (_a, ref) {
299
299
  cacheHiddenColKeys: cacheHiddenColKeys,
300
300
  setCacheHiddenColKeys: setCacheHiddenColKeys,
301
301
  checkDisabledColKeys: checkDisabledColKeys,
302
- onSetColKeysChange: onSetColKeysChange
302
+ onSetColKeysChange: onSetColKeysChange,
303
+ trigger: _typeof(setting) === 'object' ? setting === null || setting === void 0 ? void 0 : setting.trigger : undefined
303
304
  })) : null,
304
305
  footer: dataSource || !hiddenPagination ? ( /*#__PURE__*/React__default["default"].createElement(Pagination__default["default"], Object.assign({
305
306
  className: classname.cx(prefixCls + "-pagination", pagination.placement && prefixCls + "-pagination--placement-" + pagination.placement)
@@ -154,7 +154,9 @@ var TableBody = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
154
154
  style: {
155
155
  width: canScroll && scrollWidth !== undefined ? scrollWidth : '100%'
156
156
  }
157
- }, /*#__PURE__*/React__default["default"].createElement(ColGroupContent.ColGroupContent, null), /*#__PURE__*/React__default["default"].createElement(TbodyContent.TbodyContent, null));
157
+ }, /*#__PURE__*/React__default["default"].createElement(ColGroupContent.ColGroupContent, null), /*#__PURE__*/React__default["default"].createElement(TbodyContent.TbodyContent, {
158
+ emptyContent: emptyContent
159
+ }));
158
160
  var scrollBodyProps = {
159
161
  ref: scrollBodyElementRef,
160
162
  className: cls,
@@ -52,7 +52,8 @@ var TableSettingMenu = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
52
52
  setCacheHiddenColKeys = _ref.setCacheHiddenColKeys,
53
53
  onSetColKeysChange = _ref.onSetColKeysChange,
54
54
  _ref$checkDisabledCol = _ref.checkDisabledColKeys,
55
- checkDisabledColKeys = _ref$checkDisabledCol === void 0 ? [] : _ref$checkDisabledCol;
55
+ checkDisabledColKeys = _ref$checkDisabledCol === void 0 ? [] : _ref$checkDisabledCol,
56
+ trigger = _ref.trigger;
56
57
  var i18n = core.useLocaleContext();
57
58
  var dropProps = useDragSorter.useDrop({
58
59
  draggable: true,
@@ -109,10 +110,12 @@ var TableSettingMenu = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
109
110
  return /*#__PURE__*/React__default["default"].createElement("div", {
110
111
  ref: ref,
111
112
  className: cls
112
- }, /*#__PURE__*/React__default["default"].createElement(iconButton.IconButton, {
113
+ }, trigger ? ( /*#__PURE__*/React__default["default"].createElement("div", {
114
+ className: prefixCls + "__trigger"
115
+ }, trigger)) : ( /*#__PURE__*/React__default["default"].createElement(iconButton.IconButton, {
113
116
  icon: /*#__PURE__*/React__default["default"].createElement(icons.EllipsisVerticalOutlined, null),
114
117
  onClick: menuVisibleAction.not
115
- }), /*#__PURE__*/React__default["default"].createElement(drawer.Drawer, {
118
+ })), /*#__PURE__*/React__default["default"].createElement(drawer.Drawer, {
116
119
  className: prefixCls + "__drawer",
117
120
  title: i18n.get('table.fieldExplorer'),
118
121
  visible: menuVisible,
@@ -29,6 +29,7 @@ var useExpand = require('./hooks/use-expand.js');
29
29
  var useColWidth = require('./hooks/use-col-width.js');
30
30
  var useColgroup = require('./hooks/use-colgroup.js');
31
31
  var useDrag = require('./hooks/use-drag.js');
32
+ var Table = require('./Table.js');
32
33
  function _interopDefaultCompat(e) {
33
34
  return e && _typeof(e) === 'object' && 'default' in e ? e : {
34
35
  'default': e
@@ -199,7 +200,9 @@ var useTable = function useTable(_a) {
199
200
  var _useUncontrolledState2 = useUncontrolledState.useUncontrolledState(defaultFixedToColumn, fixedToColumnProp, onFixedToColumn),
200
201
  fixedToColumn = _useUncontrolledState2[0],
201
202
  setFixedToColumn = _useUncontrolledState2[1];
202
- var leftFreezeColumn = fixedToColumn.left;
203
+ var leftFreezeColumn = columns.some(function (item) {
204
+ return item.dataKey === fixedToColumn.left;
205
+ }) ? fixedToColumn.left : Table.SELECTION_DATA_KEY;
203
206
  var rightFreezeColumn = fixedToColumn.right;
204
207
  var setLeftFreezeColumn = React.useCallback(function (columnKey) {
205
208
  setFixedToColumn(function (prev) {
package/lib/esm/Table.js CHANGED
@@ -1,3 +1,4 @@
1
+ import _typeof from "@babel/runtime/helpers/esm/typeof";
1
2
  /** @LICENSE
2
3
  * @hi-ui/table
3
4
  * https://github.com/XiaoMi/hiui/tree/master/packages/ui/table#readme
@@ -35,7 +36,7 @@ var STANDARD_PRESET = {
35
36
  striped: true,
36
37
  bordered: true,
37
38
  sticky: true,
38
- setting: true,
39
+ setting: {},
39
40
  showColMenu: true
40
41
  };
41
42
  var SELECTION_DATA_KEY = "SELECTION_DATA_KEY_" + uuid();
@@ -284,7 +285,8 @@ var Table = /*#__PURE__*/forwardRef(function (_a, ref) {
284
285
  cacheHiddenColKeys: cacheHiddenColKeys,
285
286
  setCacheHiddenColKeys: setCacheHiddenColKeys,
286
287
  checkDisabledColKeys: checkDisabledColKeys,
287
- onSetColKeysChange: onSetColKeysChange
288
+ onSetColKeysChange: onSetColKeysChange,
289
+ trigger: _typeof(setting) === 'object' ? setting === null || setting === void 0 ? void 0 : setting.trigger : undefined
288
290
  })) : null,
289
291
  footer: dataSource || !hiddenPagination ? ( /*#__PURE__*/React__default.createElement(Pagination, Object.assign({
290
292
  className: cx(prefixCls + "-pagination", pagination.placement && prefixCls + "-pagination--placement-" + pagination.placement)
@@ -141,7 +141,9 @@ var TableBody = /*#__PURE__*/forwardRef(function (_ref, ref) {
141
141
  style: {
142
142
  width: canScroll && scrollWidth !== undefined ? scrollWidth : '100%'
143
143
  }
144
- }, /*#__PURE__*/React__default.createElement(ColGroupContent, null), /*#__PURE__*/React__default.createElement(TbodyContent, null));
144
+ }, /*#__PURE__*/React__default.createElement(ColGroupContent, null), /*#__PURE__*/React__default.createElement(TbodyContent, {
145
+ emptyContent: emptyContent
146
+ }));
145
147
  var scrollBodyProps = {
146
148
  ref: scrollBodyElementRef,
147
149
  className: cls,
@@ -39,7 +39,8 @@ var TableSettingMenu = /*#__PURE__*/forwardRef(function (_ref, ref) {
39
39
  setCacheHiddenColKeys = _ref.setCacheHiddenColKeys,
40
40
  onSetColKeysChange = _ref.onSetColKeysChange,
41
41
  _ref$checkDisabledCol = _ref.checkDisabledColKeys,
42
- checkDisabledColKeys = _ref$checkDisabledCol === void 0 ? [] : _ref$checkDisabledCol;
42
+ checkDisabledColKeys = _ref$checkDisabledCol === void 0 ? [] : _ref$checkDisabledCol,
43
+ trigger = _ref.trigger;
43
44
  var i18n = useLocaleContext();
44
45
  var dropProps = useDrop({
45
46
  draggable: true,
@@ -96,10 +97,12 @@ var TableSettingMenu = /*#__PURE__*/forwardRef(function (_ref, ref) {
96
97
  return /*#__PURE__*/React__default.createElement("div", {
97
98
  ref: ref,
98
99
  className: cls
99
- }, /*#__PURE__*/React__default.createElement(IconButton, {
100
+ }, trigger ? ( /*#__PURE__*/React__default.createElement("div", {
101
+ className: prefixCls + "__trigger"
102
+ }, trigger)) : ( /*#__PURE__*/React__default.createElement(IconButton, {
100
103
  icon: /*#__PURE__*/React__default.createElement(EllipsisVerticalOutlined, null),
101
104
  onClick: menuVisibleAction.not
102
- }), /*#__PURE__*/React__default.createElement(Drawer, {
105
+ })), /*#__PURE__*/React__default.createElement(Drawer, {
103
106
  className: prefixCls + "__drawer",
104
107
  title: i18n.get('table.fieldExplorer'),
105
108
  visible: menuVisible,
@@ -23,6 +23,7 @@ import { useExpand } from './hooks/use-expand.js';
23
23
  import { useColWidth } from './hooks/use-col-width.js';
24
24
  import { useColumns } from './hooks/use-colgroup.js';
25
25
  import { useTableDrag } from './hooks/use-drag.js';
26
+ import { SELECTION_DATA_KEY } from './Table.js';
26
27
  var DEFAULT_COLUMNS = [];
27
28
  var DEFAULT_DATA = [];
28
29
  var DEFAULT_ERROR_ROW_KEYS = [];
@@ -187,7 +188,9 @@ var useTable = function useTable(_a) {
187
188
  var _useUncontrolledState2 = useUncontrolledState(defaultFixedToColumn, fixedToColumnProp, onFixedToColumn),
188
189
  fixedToColumn = _useUncontrolledState2[0],
189
190
  setFixedToColumn = _useUncontrolledState2[1];
190
- var leftFreezeColumn = fixedToColumn.left;
191
+ var leftFreezeColumn = columns.some(function (item) {
192
+ return item.dataKey === fixedToColumn.left;
193
+ }) ? fixedToColumn.left : SELECTION_DATA_KEY;
191
194
  var rightFreezeColumn = fixedToColumn.right;
192
195
  var setLeftFreezeColumn = useCallback(function (columnKey) {
193
196
  setFixedToColumn(function (prev) {
@@ -10,4 +10,5 @@ export interface TableColumnMenuProps extends UseTableProps, UseColSorterReturn,
10
10
  prefixCls?: string;
11
11
  checkDisabledColKeys?: string[];
12
12
  onSetColKeysChange?: (sortedColKeys: string[], hiddenColKeys: string[]) => void;
13
+ trigger?: React.ReactNode;
13
14
  }
@@ -50,7 +50,9 @@ export declare const TableProvider: import("react").Provider<(Omit<{
50
50
  rootProps: {
51
51
  bordered?: boolean | undefined;
52
52
  pagination?: import("packages/ui/pagination/lib/types").PaginationProps | undefined;
53
- setting?: boolean | undefined;
53
+ setting?: boolean | {
54
+ trigger?: import("react").ReactNode;
55
+ } | undefined;
54
56
  loading?: boolean | undefined;
55
57
  uniqueId?: string | undefined;
56
58
  };
@@ -160,7 +162,9 @@ export declare const useTableContext: () => Omit<{
160
162
  rootProps: {
161
163
  bordered?: boolean | undefined;
162
164
  pagination?: import("packages/ui/pagination/lib/types").PaginationProps | undefined;
163
- setting?: boolean | undefined;
165
+ setting?: boolean | {
166
+ trigger?: import("react").ReactNode;
167
+ } | undefined;
164
168
  loading?: boolean | undefined;
165
169
  uniqueId?: string | undefined;
166
170
  };
@@ -61,7 +61,9 @@ export declare const useTable: ({ data, columns: columnsProp, defaultFixedToColu
61
61
  /**
62
62
  * 是否集成控制面板功能
63
63
  */
64
- setting?: boolean | undefined;
64
+ setting?: boolean | {
65
+ trigger?: React.ReactNode;
66
+ } | undefined;
65
67
  /**
66
68
  * 加载中状态
67
69
  */
@@ -189,7 +191,9 @@ export interface UseTableProps {
189
191
  /**
190
192
  * 是否集成控制面板功能
191
193
  */
192
- setting?: boolean;
194
+ setting?: boolean | {
195
+ trigger?: React.ReactNode;
196
+ };
193
197
  /**
194
198
  * 是否能够动态控制列宽
195
199
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hi-ui/table",
3
- "version": "4.4.1",
3
+ "version": "4.5.0-alpha.0",
4
4
  "description": "A sub-package for @hi-ui/hiui.",
5
5
  "keywords": [],
6
6
  "author": "HiUI <mi-hiui@xiaomi.com>",