@qn-pandora/pandora-component 4.4.0 → 4.4.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.
Files changed (33) hide show
  1. package/CHANGELOG.json +29 -0
  2. package/CHANGELOG.md +15 -1
  3. package/es/components/Drawer/index.d.ts +1 -1
  4. package/es/components/FileResumable/constants.d.ts +1 -0
  5. package/es/components/FileResumable/index.js +10 -3
  6. package/es/components/Table/ResizableTitle/index.d.ts +3 -0
  7. package/es/components/Table/ResizableTitle/index.js +40 -0
  8. package/es/components/Table/ResizableTitle/style.css +21 -0
  9. package/es/components/Table/ResizableTitle/style.less +26 -0
  10. package/es/components/Table/constant.d.ts +14 -0
  11. package/es/components/Table/constant.js +15 -0
  12. package/es/components/Table/index.d.ts +14 -1
  13. package/es/components/Table/index.js +102 -6
  14. package/es/index.css +7232 -7211
  15. package/es/index.d.ts +1 -0
  16. package/es/index.js +1 -0
  17. package/es/index.less +20 -19
  18. package/lib/components/Drawer/index.d.ts +1 -1
  19. package/lib/components/FileResumable/constants.d.ts +1 -0
  20. package/lib/components/FileResumable/index.js +10 -3
  21. package/lib/components/Table/ResizableTitle/index.d.ts +3 -0
  22. package/lib/components/Table/ResizableTitle/index.js +45 -0
  23. package/lib/components/Table/ResizableTitle/style.css +21 -0
  24. package/lib/components/Table/ResizableTitle/style.less +26 -0
  25. package/lib/components/Table/constant.d.ts +14 -0
  26. package/lib/components/Table/constant.js +15 -0
  27. package/lib/components/Table/index.d.ts +14 -1
  28. package/lib/components/Table/index.js +101 -5
  29. package/lib/index.css +5211 -5190
  30. package/lib/index.d.ts +1 -0
  31. package/lib/index.js +2 -0
  32. package/lib/index.less +12 -11
  33. package/package.json +7 -5
package/CHANGELOG.json CHANGED
@@ -1,6 +1,35 @@
1
1
  {
2
2
  "name": "@qn-pandora/pandora-component",
3
3
  "entries": [
4
+ {
5
+ "version": "4.4.2",
6
+ "tag": "@qn-pandora/pandora-component_v4.4.2",
7
+ "date": "Fri, 19 Jan 2024 03:09:26 GMT",
8
+ "comments": {
9
+ "patch": [
10
+ {
11
+ "comment": "2024-01-19发包"
12
+ }
13
+ ],
14
+ "dependency": [
15
+ {
16
+ "comment": "Updating dependency \"@qn-pandora/pandora-component-icons\" from `^3.4.0` to `^3.4.1`"
17
+ }
18
+ ]
19
+ }
20
+ },
21
+ {
22
+ "version": "4.4.1",
23
+ "tag": "@qn-pandora/pandora-component_v4.4.1",
24
+ "date": "Mon, 15 Jan 2024 01:53:53 GMT",
25
+ "comments": {
26
+ "patch": [
27
+ {
28
+ "comment": "2024-01-15发包"
29
+ }
30
+ ]
31
+ }
32
+ },
4
33
  {
5
34
  "version": "4.4.0",
6
35
  "tag": "@qn-pandora/pandora-component_v4.4.0",
package/CHANGELOG.md CHANGED
@@ -1,6 +1,20 @@
1
1
  # Change Log - @qn-pandora/pandora-component
2
2
 
3
- This log was last generated on Fri, 05 Jan 2024 07:56:00 GMT and should not be manually modified.
3
+ This log was last generated on Fri, 19 Jan 2024 03:09:26 GMT and should not be manually modified.
4
+
5
+ ## 4.4.2
6
+ Fri, 19 Jan 2024 03:09:26 GMT
7
+
8
+ ### Patches
9
+
10
+ - 2024-01-19发包
11
+
12
+ ## 4.4.1
13
+ Mon, 15 Jan 2024 01:53:53 GMT
14
+
15
+ ### Patches
16
+
17
+ - 2024-01-15发包
4
18
 
5
19
  ## 4.4.0
6
20
  Fri, 05 Jan 2024 07:56:00 GMT
@@ -164,7 +164,7 @@ declare const _default: (props: {
164
164
  */
165
165
  showFullScreen?: boolean | undefined;
166
166
  onScreenFullChange?: ((showFullScreen: boolean) => void) | undefined;
167
- } & Pick<DrawerProps, "style" | "autoFocus" | "prefixCls" | "footer" | "extra" | "bodyStyle" | "forceRender" | "keyboard" | "destroyOnClose" | "closeIcon" | "drawerStyle" | "headerStyle" | "contentWrapperStyle" | "push" | "handler" | "footerStyle" | "level" | "levelMove"> & {
167
+ } & Pick<DrawerProps, "style" | "autoFocus" | "prefixCls" | "footer" | "extra" | "bodyStyle" | "forceRender" | "push" | "keyboard" | "destroyOnClose" | "closeIcon" | "drawerStyle" | "headerStyle" | "contentWrapperStyle" | "handler" | "footerStyle" | "level" | "levelMove"> & {
168
168
  children?: React.ReactNode;
169
169
  } & {
170
170
  bodyStyle?: React.CSSProperties | undefined;
@@ -31,4 +31,5 @@ export interface IFileResumableProps {
31
31
  disabled?: boolean;
32
32
  defaultImageUrl?: string;
33
33
  multiple?: boolean;
34
+ persistence?: number;
34
35
  }
@@ -98,7 +98,7 @@ export default function FileResumable(props) {
98
98
  var _g = __read(useState(false), 2), showTool = _g[0], setShowTool = _g[1];
99
99
  var _h = __read(useState(''), 2), imageUrl = _h[0], setImageUrl = _h[1];
100
100
  var locale = useContext(ConfigContext).locale;
101
- var maxFileSize = props.maxFileSize, minFileSize = props.minFileSize, minFileSizeErrorCallback = props.minFileSizeErrorCallback, maxFileSizeErrorCallback = props.maxFileSizeErrorCallback, onError = props.onError, onChange = props.onChange, query = props.query, onStop = props.onStop, onSuccess = props.onSuccess, accept = props.accept, fileList = props.fileList, uploading = props.uploading, children = props.children, className = props.className, showUploadList = props.showUploadList, mode = props.mode, uploadIcon = props.uploadIcon, uploadDesc = props.uploadDesc, disabled = props.disabled, defaultImageUrl = props.defaultImageUrl, others = __rest(props, ["maxFileSize", "minFileSize", "minFileSizeErrorCallback", "maxFileSizeErrorCallback", "onError", "onChange", "query", "onStop", "onSuccess", "accept", "fileList", "uploading", "children", "className", "showUploadList", "mode", "uploadIcon", "uploadDesc", "disabled", "defaultImageUrl"]);
101
+ var maxFileSize = props.maxFileSize, minFileSize = props.minFileSize, minFileSizeErrorCallback = props.minFileSizeErrorCallback, maxFileSizeErrorCallback = props.maxFileSizeErrorCallback, onError = props.onError, onChange = props.onChange, query = props.query, onStop = props.onStop, onSuccess = props.onSuccess, accept = props.accept, fileList = props.fileList, uploading = props.uploading, children = props.children, className = props.className, showUploadList = props.showUploadList, mode = props.mode, uploadIcon = props.uploadIcon, uploadDesc = props.uploadDesc, disabled = props.disabled, defaultImageUrl = props.defaultImageUrl, _j = props.persistence, persistence = _j === void 0 ? 0 : _j, others = __rest(props, ["maxFileSize", "minFileSize", "minFileSizeErrorCallback", "maxFileSizeErrorCallback", "onError", "onChange", "query", "onStop", "onSuccess", "accept", "fileList", "uploading", "children", "className", "showUploadList", "mode", "uploadIcon", "uploadDesc", "disabled", "defaultImageUrl", "persistence"]);
102
102
  var handleRemove = useCallback(function () {
103
103
  onChange === null || onChange === void 0 ? void 0 : onChange(null);
104
104
  }, [onChange]);
@@ -264,7 +264,7 @@ export default function FileResumable(props) {
264
264
  var params, realFile_1, reader, extension_1;
265
265
  var _this = this;
266
266
  return __generator(this, function (_a) {
267
- params = __assign({}, query);
267
+ params = __assign(__assign({}, query), { persistence: persistence });
268
268
  if (fileList.length === 1) {
269
269
  realFile_1 = fileList[0];
270
270
  reader = new FileReader();
@@ -323,7 +323,14 @@ export default function FileResumable(props) {
323
323
  setShowTool(true);
324
324
  return [2 /*return*/];
325
325
  });
326
- }); }, [query, setShowTool, fileList, handleError, handleFileSuccess]);
326
+ }); }, [
327
+ query,
328
+ setShowTool,
329
+ fileList,
330
+ handleError,
331
+ handleFileSuccess,
332
+ persistence
333
+ ]);
327
334
  var handleUploadStart = useCallback(function () {
328
335
  setIsPlayDisabled(true);
329
336
  setIsPauseDisabled(false);
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare const ResizableTitle: (props: any) => JSX.Element;
3
+ export default ResizableTitle;
@@ -0,0 +1,40 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __rest = (this && this.__rest) || function (s, e) {
13
+ var t = {};
14
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
+ t[p] = s[p];
16
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
+ t[p[i]] = s[p[i]];
20
+ }
21
+ return t;
22
+ };
23
+ import React from 'react';
24
+ import { Resizable } from 'react-resizable';
25
+ import classnames from 'classnames';
26
+ import { Resizable as ResizableIcon } from '@qn-pandora/pandora-component-icons';
27
+ import { SDK_PREFIX } from '../../../constants/style';
28
+ var ResizableTitle = function (props) {
29
+ var onResize = props.onResize, width = props.width, className = props.className, restProps = __rest(props, ["onResize", "width", "className"]);
30
+ if (!width) {
31
+ return (React.createElement("th", __assign({}, restProps, { className: classnames(className, SDK_PREFIX + "-table-resizable-th") })));
32
+ }
33
+ return (React.createElement(Resizable, { width: width, height: 0, onResize: onResize, minConstraints: [40, 0], draggableOpts: { enableUserSelectHack: false }, handle: React.createElement("span", { className: SDK_PREFIX + "-table-resizable-handle", onClick: function (e) {
34
+ e.preventDefault();
35
+ e.stopPropagation();
36
+ } },
37
+ React.createElement(ResizableIcon, null)) },
38
+ React.createElement("th", __assign({}, restProps, { className: classnames(className, SDK_PREFIX + "-table-resizable-th") }))));
39
+ };
40
+ export default ResizableTitle;
@@ -0,0 +1,21 @@
1
+ .pandora-sdk-table-resizable-th .pandora-sdk-table-resizable-handle {
2
+ position: absolute;
3
+ cursor: col-resize;
4
+ right: 6px;
5
+ margin-left: 6px;
6
+ height: 40%;
7
+ top: 50%;
8
+ -webkit-transform: translateY(-50%);
9
+ transform: translateY(-50%);
10
+ padding: 2px;
11
+ width: 8px;
12
+ opacity: 0;
13
+ -webkit-transition: opacity 0.2s ease-in-out;
14
+ transition: opacity 0.2s ease-in-out;
15
+ }
16
+ .pandora-sdk-table-resizable-th:hover .pandora-sdk-table-resizable-handle {
17
+ opacity: 0.3;
18
+ }
19
+ .pandora-sdk-table-resizable-th::before {
20
+ display: none;
21
+ }
@@ -0,0 +1,26 @@
1
+ @import '../../../style/theme.less';
2
+
3
+ .@{sdk-prefix}-table-resizable-th {
4
+ .@{sdk-prefix}-table-resizable-handle {
5
+ position: absolute;
6
+ cursor: col-resize;
7
+ right: 6px;
8
+ margin-left: 6px;
9
+ height: 40%;
10
+ top: 50%;
11
+ transform: translateY(-50%);
12
+ padding: 2px;
13
+ width: 8px;
14
+ opacity: 0;
15
+ transition: opacity 0.2s ease-in-out;
16
+ }
17
+ &:hover {
18
+ .@{sdk-prefix}-table-resizable-handle {
19
+ opacity: 0.3;
20
+ }
21
+ }
22
+
23
+ &::before {
24
+ display: none;
25
+ }
26
+ }
@@ -4,3 +4,17 @@ export declare enum ESearchType {
4
4
  /** fetch表示搜索为后端搜索 */
5
5
  Fetch = "fetch"
6
6
  }
7
+ export declare enum ETableDragSaveKey {
8
+ /** Apm */
9
+ ApmMq = "Keta_drag_table_apm_mq",
10
+ ApmTrace = "Keta_drag_table_apm_trace",
11
+ ApmTraceCall = "Keta_drag_table_apm_trace_call",
12
+ ApmServiceOption = "Keta_drag_table_apm_service_option",
13
+ /** 告警 */
14
+ AlertRule = "Keta_drag_table_alert_rule",
15
+ AlertEvent = "Keta_drag_table_alert_event",
16
+ /** 仪表盘 */
17
+ Dashboard = "Keta_drag_table_dashboard",
18
+ /** 采集任务 */
19
+ CollectionTask = "Keta_drag_collection_task"
20
+ }
@@ -5,3 +5,18 @@ export var ESearchType;
5
5
  /** fetch表示搜索为后端搜索 */
6
6
  ESearchType["Fetch"] = "fetch";
7
7
  })(ESearchType || (ESearchType = {}));
8
+ export var ETableDragSaveKey;
9
+ (function (ETableDragSaveKey) {
10
+ /** Apm */
11
+ ETableDragSaveKey["ApmMq"] = "Keta_drag_table_apm_mq";
12
+ ETableDragSaveKey["ApmTrace"] = "Keta_drag_table_apm_trace";
13
+ ETableDragSaveKey["ApmTraceCall"] = "Keta_drag_table_apm_trace_call";
14
+ ETableDragSaveKey["ApmServiceOption"] = "Keta_drag_table_apm_service_option";
15
+ /** 告警 */
16
+ ETableDragSaveKey["AlertRule"] = "Keta_drag_table_alert_rule";
17
+ ETableDragSaveKey["AlertEvent"] = "Keta_drag_table_alert_event";
18
+ /** 仪表盘 */
19
+ ETableDragSaveKey["Dashboard"] = "Keta_drag_table_dashboard";
20
+ /** 采集任务 */
21
+ ETableDragSaveKey["CollectionTask"] = "Keta_drag_collection_task";
22
+ })(ETableDragSaveKey || (ETableDragSaveKey = {}));
@@ -24,10 +24,12 @@ export interface IOptionItem {
24
24
  export interface IColumnType<T> extends ColumnType<T> {
25
25
  colTitle?: string | React.ReactNode;
26
26
  configurable?: boolean;
27
+ resizable?: boolean;
27
28
  }
28
29
  export interface IColumnGroupType<T> extends ColumnGroupType<T> {
29
30
  colTitle?: string | React.ReactNode;
30
31
  configurable?: boolean;
32
+ resizable?: boolean;
31
33
  }
32
34
  export declare type IColumnsType<T> = Array<IColumnGroupType<T> | IColumnType<T>>;
33
35
  export interface ITableProps<T> extends Omit<TableProps<T>, 'columns'> {
@@ -45,6 +47,9 @@ export interface ITableProps<T> extends Omit<TableProps<T>, 'columns'> {
45
47
  hiddenColumns?: string[];
46
48
  onHiddenColumnsChange?: (keys: string[]) => void;
47
49
  columnSettingOverlayClass?: string;
50
+ draggable?: boolean;
51
+ dragSaveKey?: string;
52
+ onDraggableChange?: (fieldsWidth: IKeyValues<number>) => void;
48
53
  }
49
54
  /**
50
55
  * pandora2.0风格的表格
@@ -60,6 +65,7 @@ declare class Table<T = any> extends React.Component<ITableProps<T>, any> {
60
65
  indeterminate: boolean;
61
66
  checkAll: boolean;
62
67
  hiddenColumn: string[] | undefined;
68
+ columns: IKeyValues[];
63
69
  UNSAFE_componentWillReceiveProps(nextProps: ITableProps<T>): void;
64
70
  get selectedRowKeys(): React.ReactText[];
65
71
  get rowSelection(): TableRowSelection<T> | undefined;
@@ -73,11 +79,12 @@ declare class Table<T = any> extends React.Component<ITableProps<T>, any> {
73
79
  resetKeys: string[];
74
80
  };
75
81
  handleHideColumnsChange(keys: string[]): Promise<void> | undefined;
76
- getColumns(): IColumnsType<T> | undefined;
82
+ getColumns(): IKeyValues<any>[];
77
83
  getRowKey(row: any, index: number): any;
78
84
  setIndeterminate(indeterminate: boolean): void;
79
85
  setCheckAll(checkAll: boolean): void;
80
86
  setHiddenColumn(hiddenColumn?: string[]): void;
87
+ setColumns(columns: IKeyValues[]): void;
81
88
  setCheckboxStatus(selectedRowsOfCurrentPage?: T[], dataSource?: T[]): void;
82
89
  handleSelectionChange(selectedRowKeys: React.Key[], selectedRowsOfCurrentPage: any[]): void;
83
90
  onRowSelectionChange(selectedRowKeys: React.Key[], selectedRowsOfCurrentPage: any[]): void;
@@ -85,6 +92,12 @@ declare class Table<T = any> extends React.Component<ITableProps<T>, any> {
85
92
  handleBatchOptionClick(option: IOptionItem): void;
86
93
  getRowClassName(record: any, index: number, indent: number): string;
87
94
  getDisabledStatus(option: IOptionItem): boolean | undefined;
95
+ handleResize(col: ColumnType<T>, size: {
96
+ width: number;
97
+ height: number;
98
+ }, oldColumn: IColumnsType<T>): void;
99
+ getResizeColumns(columns?: IColumnsType<T>): any;
100
+ componentDidMount(): void;
88
101
  render(): JSX.Element;
89
102
  }
90
103
  export default Table;
@@ -66,7 +66,7 @@ import * as React from 'react';
66
66
  import classnames from 'classnames';
67
67
  import { observer } from 'mobx-react';
68
68
  import { observable, action, computed } from 'mobx';
69
- import { size, xor, union, unionBy, differenceBy, get, isEqual, includes } from 'lodash';
69
+ import { size, xor, union, unionBy, differenceBy, get, isEqual, includes, isNumber } from 'lodash';
70
70
  import { Table as AntTable, Checkbox } from 'antd';
71
71
  import { ConfigContext } from 'antd/es/config-provider';
72
72
  import { toaster as toasterStore } from '@qn-pandora/app-sdk';
@@ -77,6 +77,7 @@ import { SDK_PREFIX } from '../../constants/style';
77
77
  import { TableLocale } from '../../constants/language/table/type';
78
78
  import { ColumnTag } from './ColumnTag/ColumnTag';
79
79
  import ColumnSetting from './ColumnSetting';
80
+ import ResizableTitle from './ResizableTitle';
80
81
  /**
81
82
  * pandora2.0风格的表格
82
83
  */
@@ -87,6 +88,7 @@ var Table = /** @class */ (function (_super) {
87
88
  _this.indeterminate = false;
88
89
  _this.checkAll = false;
89
90
  _this.hiddenColumn = _this.props.hiddenColumns;
91
+ _this.columns = [];
90
92
  return _this;
91
93
  }
92
94
  Table.prototype.UNSAFE_componentWillReceiveProps = function (nextProps) {
@@ -120,6 +122,11 @@ var Table = /** @class */ (function (_super) {
120
122
  if (isEqual(nextProps.hiddenColumns, this.props.hiddenColumns)) {
121
123
  this.setHiddenColumn(nextProps.hiddenColumns);
122
124
  }
125
+ if (nextProps.columns !== this.props.columns) {
126
+ this.setColumns(nextProps.scroll && nextProps.draggable
127
+ ? this.getResizeColumns(nextProps.columns)
128
+ : nextProps.columns);
129
+ }
123
130
  };
124
131
  Object.defineProperty(Table.prototype, "selectedRowKeys", {
125
132
  get: function () {
@@ -238,14 +245,14 @@ var Table = /** @class */ (function (_super) {
238
245
  (_b = (_a = this.props).onHiddenColumnsChange) === null || _b === void 0 ? void 0 : _b.call(_a, keys);
239
246
  };
240
247
  Table.prototype.getColumns = function () {
241
- var _a = this.props, showColumnSetting = _a.showColumnSetting, columns = _a.columns, columnSettingOverlayClass = _a.columnSettingOverlayClass;
248
+ var _a = this.props, showColumnSetting = _a.showColumnSetting, columnSettingOverlayClass = _a.columnSettingOverlayClass;
242
249
  var hiddenColumn = this.hiddenColumn || [];
243
250
  if (!showColumnSetting) {
244
- return columns;
251
+ return this.columns;
245
252
  }
246
253
  // 获取到列设置的options
247
254
  var columnsSettingOptions = this.columnsSettingOptions;
248
- var selectedCols = __spread((columns || []).filter(function (item) {
255
+ var selectedCols = __spread((this.columns || []).filter(function (item) {
249
256
  if (item.configurable === false || !includes(hiddenColumn, item.key)) {
250
257
  return true;
251
258
  }
@@ -278,6 +285,9 @@ var Table = /** @class */ (function (_super) {
278
285
  Table.prototype.setHiddenColumn = function (hiddenColumn) {
279
286
  this.hiddenColumn = hiddenColumn;
280
287
  };
288
+ Table.prototype.setColumns = function (columns) {
289
+ this.columns = columns;
290
+ };
281
291
  // 设置全选checkout的状态
282
292
  Table.prototype.setCheckboxStatus = function (selectedRowsOfCurrentPage, dataSource) {
283
293
  if (selectedRowsOfCurrentPage === void 0) { selectedRowsOfCurrentPage = []; }
@@ -346,17 +356,80 @@ var Table = /** @class */ (function (_super) {
346
356
  : option.disabled;
347
357
  return noneSelected || disabled;
348
358
  };
359
+ Table.prototype.handleResize = function (col, size, oldColumn) {
360
+ var newColumns = __spread(oldColumn);
361
+ newColumns.forEach(function (item) {
362
+ if (get(item, 'dataIndex') === col.dataIndex) {
363
+ item.width = size.width;
364
+ }
365
+ });
366
+ var sizeMap = {};
367
+ newColumns.forEach(function (element) {
368
+ if (element.dataIndex && isNumber(element.width)) {
369
+ sizeMap[element.dataIndex] = element.width;
370
+ }
371
+ });
372
+ if (this.props.onDraggableChange) {
373
+ this.props.onDraggableChange(sizeMap);
374
+ }
375
+ else if (this.props.dragSaveKey) {
376
+ localStorage.setItem(this.props.dragSaveKey, JSON.stringify(sizeMap));
377
+ }
378
+ this.setColumns(newColumns);
379
+ };
380
+ Table.prototype.getResizeColumns = function (columns) {
381
+ var _this = this;
382
+ var sizeMap;
383
+ if (this.props.dragSaveKey) {
384
+ var sizeStr = localStorage.getItem(this.props.dragSaveKey);
385
+ sizeMap = !!sizeStr && JSON.parse(sizeStr);
386
+ if (sizeMap) {
387
+ columns = columns === null || columns === void 0 ? void 0 : columns.map(function (col) {
388
+ var dataIndex = get(col, 'dataIndex');
389
+ var width = sizeMap[dataIndex];
390
+ return isNumber(width) ? __assign(__assign({}, col), { width: width }) : col;
391
+ });
392
+ }
393
+ }
394
+ var transformColumns = columns === null || columns === void 0 ? void 0 : columns.map(function (it) {
395
+ if (get(it, 'resizable') && _this.props.draggable) {
396
+ return __assign(__assign({}, it), { ellipsis: {
397
+ showTitle: true
398
+ }, onHeaderCell: function (col) { return ({
399
+ width: col.width,
400
+ // !传入newColumn,而不传入column是因为需要拿到有onHeaderCell的值,外面collumn的变化内部监听不到
401
+ onResize: function (_, _a) {
402
+ var size = _a.size;
403
+ _this.handleResize(col, size, transformColumns);
404
+ }
405
+ }); } });
406
+ }
407
+ return it;
408
+ });
409
+ return transformColumns;
410
+ };
411
+ Table.prototype.componentDidMount = function () {
412
+ this.setColumns(this.props.draggable && this.props.scroll
413
+ ? this.getResizeColumns(this.props.columns)
414
+ : this.props.columns);
415
+ };
349
416
  Table.prototype.render = function () {
350
417
  var _a, _b;
351
418
  var _this = this;
352
- var _c = this.props, className = _c.className, batchOptions = _c.batchOptions, scroll = _c.scroll, locale = _c.locale, emptyText = _c.emptyText, columns = _c.columns, restProps = __rest(_c, ["className", "batchOptions", "scroll", "locale", "emptyText", "columns"]);
419
+ var _c = this.props, className = _c.className, batchOptions = _c.batchOptions, scroll = _c.scroll, locale = _c.locale, emptyText = _c.emptyText, columns = _c.columns, components = _c.components, draggable = _c.draggable, restProps = __rest(_c, ["className", "batchOptions", "scroll", "locale", "emptyText", "columns", "components", "draggable"]);
353
420
  return (React.createElement("div", null,
354
421
  React.createElement(AntTable, __assign({ scroll: scroll, locale: __assign({ emptyText: this.emptyTextComp }, locale), columns: this.getColumns() }, restProps, { className: classnames(SDK_PREFIX + "-table-wrapper", (_a = {}, _a[SDK_PREFIX + "-table-scrollX"] = get(scroll, 'x'), _a), (_b = {}, _b[SDK_PREFIX + "-table-scrollY"] = get(scroll, 'y'), _b), className),
355
422
  // 涉及到权限
356
423
  // getCheckboxProps只能放到tableBatchWrapper里,因为selectedRowKeys在那个组件计算
357
424
  rowSelection: batchOptions && this.props.rowSelection
358
425
  ? this.rowSelection
359
- : this.props.rowSelection, rowClassName: this.getRowClassName })),
426
+ : this.props.rowSelection, rowClassName: this.getRowClassName, components: __assign(__assign({}, (components || {})), (draggable && scroll
427
+ ? {
428
+ header: {
429
+ cell: ResizableTitle
430
+ }
431
+ }
432
+ : {})) })),
360
433
  this.props.batchOptions &&
361
434
  this.props.rowSelection &&
362
435
  this.props.dataSource &&
@@ -389,6 +462,10 @@ var Table = /** @class */ (function (_super) {
389
462
  observable.ref,
390
463
  __metadata("design:type", Object)
391
464
  ], Table.prototype, "hiddenColumn", void 0);
465
+ __decorate([
466
+ observable.ref,
467
+ __metadata("design:type", Array)
468
+ ], Table.prototype, "columns", void 0);
392
469
  __decorate([
393
470
  computed,
394
471
  __metadata("design:type", Object),
@@ -463,6 +540,13 @@ var Table = /** @class */ (function (_super) {
463
540
  __metadata("design:paramtypes", [Array]),
464
541
  __metadata("design:returntype", void 0)
465
542
  ], Table.prototype, "setHiddenColumn", null);
543
+ __decorate([
544
+ bind,
545
+ action,
546
+ __metadata("design:type", Function),
547
+ __metadata("design:paramtypes", [Array]),
548
+ __metadata("design:returntype", void 0)
549
+ ], Table.prototype, "setColumns", null);
466
550
  __decorate([
467
551
  bind,
468
552
  __metadata("design:type", Function),
@@ -505,6 +589,18 @@ var Table = /** @class */ (function (_super) {
505
589
  __metadata("design:paramtypes", [Object]),
506
590
  __metadata("design:returntype", void 0)
507
591
  ], Table.prototype, "getDisabledStatus", null);
592
+ __decorate([
593
+ bind,
594
+ __metadata("design:type", Function),
595
+ __metadata("design:paramtypes", [Object, Object, Array]),
596
+ __metadata("design:returntype", void 0)
597
+ ], Table.prototype, "handleResize", null);
598
+ __decorate([
599
+ bind,
600
+ __metadata("design:type", Function),
601
+ __metadata("design:paramtypes", [Array]),
602
+ __metadata("design:returntype", void 0)
603
+ ], Table.prototype, "getResizeColumns", null);
508
604
  Table = __decorate([
509
605
  observer
510
606
  ], Table);