@arim-aisdc/public-components 2.3.5 → 2.3.6

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.
@@ -17,7 +17,7 @@ export declare const foramtBaseInfoField: (data: any, dataField: BaseInfoFieldTy
17
17
  value: any;
18
18
  field: string;
19
19
  label?: string;
20
- text: string | JSX.Element | Element;
20
+ text: string | Element | JSX.Element;
21
21
  units?: string;
22
22
  width?: string;
23
23
  labelWidth?: string;
@@ -54,7 +54,7 @@ var getCurrentRouterName = function getCurrentRouterName() {
54
54
  return window.location.pathname.slice(1);
55
55
  };
56
56
  var TableMax = function TableMax(_ref) {
57
- var _JSON$parse, _tableContentRef$curr;
57
+ var _JSON$parse, _tableContentRef$curr, _tableContentRef$curr2;
58
58
  var tableId = _ref.tableId,
59
59
  originColumns = _ref.columns,
60
60
  _ref$datas = _ref.datas,
@@ -187,6 +187,10 @@ var TableMax = function TableMax(_ref) {
187
187
  request = _ref.request,
188
188
  onEditValueChange = _ref.onEditValueChange;
189
189
  var tableMaxRef = useRef(null);
190
+ // 表格元素
191
+ var tableContentRef = useRef(null);
192
+ var tableHeaderRef = useRef(null);
193
+ var tableBodyRef = useRef(null);
190
194
  var _useTranslation = useTranslation(),
191
195
  _useTranslation2 = _slicedToArray(_useTranslation, 1),
192
196
  t = _useTranslation2[0];
@@ -283,7 +287,7 @@ var TableMax = function TableMax(_ref) {
283
287
  columnPinning = _useState20[0],
284
288
  setColumnPinning = _useState20[1];
285
289
  var _useColumnWidth = useColumnWidth({
286
- tableMaxRef: tableMaxRef,
290
+ tableContentRef: tableContentRef,
287
291
  tableId: tableId,
288
292
  tableKeyPrefixCls: tableKeyPrefixCls,
289
293
  columnVisibleConfig: columnVisibleConfig,
@@ -294,6 +298,7 @@ var TableMax = function TableMax(_ref) {
294
298
  onColumnSizingChange = _useColumnWidth.onColumnSizingChange,
295
299
  tableContainerWidth = _useColumnWidth.tableContainerWidth,
296
300
  handleVisibleConfigChange = _useColumnWidth.handleVisibleConfigChange;
301
+ console.log('columnSizing', columnSizing, tableContentRef === null || tableContentRef === void 0 || (_tableContentRef$curr = tableContentRef.current) === null || _tableContentRef$curr === void 0 ? void 0 : _tableContentRef$curr.getBoundingClientRect().width, tableContainerWidth);
297
302
 
298
303
  /**列筛选 */
299
304
  var _useState21 = useState(defaultColumnFilters),
@@ -426,10 +431,6 @@ var TableMax = function TableMax(_ref) {
426
431
  onExpandedChange: setExpanded,
427
432
  sortDescFirst: true // 首次排序为递减排序,不加这个属性的话,有些列的排序会有问题
428
433
  });
429
- // 表格元素
430
- var tableContentRef = useRef(null);
431
- var tableHeaderRef = useRef(null);
432
- var tableBodyRef = useRef(null);
433
434
 
434
435
  // 暴露给外部的api
435
436
  useImperativeHandle(refInstance, function () {
@@ -952,7 +953,7 @@ var TableMax = function TableMax(_ref) {
952
953
  useEffect(function () {
953
954
  // 表格宽度变化时(比如调整页面宽度大小),重新计算是否展示阴影
954
955
  getPinShadowInfo();
955
- }, [tableContentRef === null || tableContentRef === void 0 || (_tableContentRef$curr = tableContentRef.current) === null || _tableContentRef$curr === void 0 ? void 0 : _tableContentRef$curr.clientWidth, table.getState().columnSizing]);
956
+ }, [tableContentRef === null || tableContentRef === void 0 || (_tableContentRef$curr2 = tableContentRef.current) === null || _tableContentRef$curr2 === void 0 ? void 0 : _tableContentRef$curr2.clientWidth, table.getState().columnSizing]);
956
957
  var scrollHandler = useCallback(function (event) {
957
958
  if (!event.currentTarget) return;
958
959
  tableHeaderRef.current.scrollLeft = event.currentTarget.scrollLeft / event.currentTarget.scrollWidth * (tableHeaderRef === null || tableHeaderRef === void 0 ? void 0 : tableHeaderRef.current.scrollWidth);
@@ -1,13 +1,13 @@
1
1
  import { TableMaxColumnType } from "../../type";
2
- export declare const numberSortFn: (rowA: any, rowB: any, columnId: string) => 0 | 1 | -1;
3
- export declare const stringSortFn: (rowA: any, rowB: any, columnId: string) => 0 | 1 | -1;
4
- export declare const numberOrStringSortFn: (rowA: any, rowB: any, columnId: string) => 0 | 1 | -1;
5
- export declare const timeSortFn: (rowA: any, rowB: any, columnId: string) => 0 | 1 | -1;
2
+ export declare const numberSortFn: (rowA: any, rowB: any, columnId: string) => 1 | 0 | -1;
3
+ export declare const stringSortFn: (rowA: any, rowB: any, columnId: string) => 1 | 0 | -1;
4
+ export declare const numberOrStringSortFn: (rowA: any, rowB: any, columnId: string) => 1 | 0 | -1;
5
+ export declare const timeSortFn: (rowA: any, rowB: any, columnId: string) => 1 | 0 | -1;
6
6
  declare const customSortFns: {
7
- numberSortFn: (rowA: any, rowB: any, columnId: string) => 0 | 1 | -1;
8
- stringSortFn: (rowA: any, rowB: any, columnId: string) => 0 | 1 | -1;
9
- timeSortFn: (rowA: any, rowB: any, columnId: string) => 0 | 1 | -1;
10
- numberOrStringSortFn: (rowA: any, rowB: any, columnId: string) => 0 | 1 | -1;
7
+ numberSortFn: (rowA: any, rowB: any, columnId: string) => 1 | 0 | -1;
8
+ stringSortFn: (rowA: any, rowB: any, columnId: string) => 1 | 0 | -1;
9
+ timeSortFn: (rowA: any, rowB: any, columnId: string) => 1 | 0 | -1;
10
+ numberOrStringSortFn: (rowA: any, rowB: any, columnId: string) => 1 | 0 | -1;
11
11
  };
12
12
  export default customSortFns;
13
13
  export type SortFnType = keyof typeof customSortFns | undefined;
@@ -1,13 +1,13 @@
1
1
  /// <reference types="react" />
2
2
  import { ColumnSizing } from '../TableMax';
3
3
  interface UseColumnWidthProps {
4
- tableMaxRef: React.RefObject<HTMLDivElement>;
4
+ tableContentRef: React.RefObject<HTMLDivElement>;
5
5
  tableId: string;
6
6
  tableKeyPrefixCls: string;
7
7
  columnVisibleConfig?: Record<string, boolean>;
8
8
  tableKey: string;
9
9
  }
10
- export declare const useColumnWidth: ({ tableMaxRef, tableId, tableKeyPrefixCls, columnVisibleConfig, tableKey, }: UseColumnWidthProps) => {
10
+ export declare const useColumnWidth: ({ tableContentRef, tableId, tableKeyPrefixCls, columnVisibleConfig, tableKey, }: UseColumnWidthProps) => {
11
11
  columnSizing: ColumnSizing;
12
12
  allColumnCount: number;
13
13
  onColumnSizingChange: (data: any) => void;
@@ -16,7 +16,7 @@ import { debounce } from 'lodash';
16
16
  var CACHE_MAX_AGE = 1 * 60 * 60 * 1000; // 1小时
17
17
 
18
18
  export var useColumnWidth = function useColumnWidth(_ref) {
19
- var tableMaxRef = _ref.tableMaxRef,
19
+ var tableContentRef = _ref.tableContentRef,
20
20
  tableId = _ref.tableId,
21
21
  tableKeyPrefixCls = _ref.tableKeyPrefixCls,
22
22
  _ref$columnVisibleCon = _ref.columnVisibleConfig,
@@ -33,6 +33,13 @@ export var useColumnWidth = function useColumnWidth(_ref) {
33
33
  _useState2 = _slicedToArray(_useState, 2),
34
34
  state = _useState2[0],
35
35
  setState = _useState2[1];
36
+ var getTableWidth = useCallback(function () {
37
+ var _tableContentRef$curr;
38
+ var width = (_tableContentRef$curr = tableContentRef.current) === null || _tableContentRef$curr === void 0 ? void 0 : _tableContentRef$curr.getBoundingClientRect().width;
39
+ var style = window.getComputedStyle(tableContentRef.current);
40
+ var horizontalBorderWidth = parseFloat(style.getPropertyValue('border-left-width')) + parseFloat(style.getPropertyValue('border-right-width'));
41
+ return Math.floor(width - horizontalBorderWidth);
42
+ }, [tableContentRef]);
36
43
 
37
44
  /**
38
45
  * 处理容器宽度变化的逻辑
@@ -42,8 +49,8 @@ export var useColumnWidth = function useColumnWidth(_ref) {
42
49
  * 列宽之和小于容器宽度,除选择列和展开列外,其他列平分 列宽之和与容器宽度的差值
43
50
  */
44
51
  var handleResize = useCallback(function () {
45
- if (!tableMaxRef.current) return;
46
- var newWidth = Math.floor(tableMaxRef.current.clientWidth);
52
+ if (!tableContentRef.current) return;
53
+ var newWidth = getTableWidth();
47
54
  setState(function (prevState) {
48
55
  // 计算可见列,排除特定列
49
56
  var visibleColumns = Object.keys(prevState.columnSizing).filter(function (key) {
@@ -83,21 +90,21 @@ export var useColumnWidth = function useColumnWidth(_ref) {
83
90
  tableContainerWidth: newWidth
84
91
  });
85
92
  });
86
- }, [tableMaxRef.current]);
93
+ }, [tableContentRef.current]);
87
94
 
88
95
  // 使用防抖处理容器宽度变化
89
96
  var debouncedHandleResize = useMemo(function () {
90
97
  return debounce(handleResize, 200);
91
98
  }, [handleResize]);
92
99
  useEffect(function () {
93
- if (!tableMaxRef.current) return;
100
+ if (!tableContentRef.current) return;
94
101
  var resizeObserver = new ResizeObserver(debouncedHandleResize);
95
- resizeObserver.observe(tableMaxRef.current);
102
+ resizeObserver.observe(tableContentRef.current);
96
103
  return function () {
97
104
  resizeObserver.disconnect();
98
105
  debouncedHandleResize.cancel(); // 清理防抖
99
106
  };
100
- }, [tableMaxRef.current, debouncedHandleResize]);
107
+ }, [tableContentRef.current, debouncedHandleResize]);
101
108
 
102
109
  /**
103
110
  * 列显示隐藏后调整列宽
@@ -122,11 +129,10 @@ export var useColumnWidth = function useColumnWidth(_ref) {
122
129
  })
123
130
  });
124
131
  } else {
125
- var _tableMaxRef$current;
126
132
  //列宽减少
127
133
  var newVisibleColumnsSizing = prevState.columnSizing;
128
134
  delete newVisibleColumnsSizing[key];
129
- var containerWidth = ((_tableMaxRef$current = tableMaxRef.current) === null || _tableMaxRef$current === void 0 ? void 0 : _tableMaxRef$current.clientWidth) - 10 || 0;
135
+ var containerWidth = getTableWidth() - 10 || 0;
130
136
  // 计算当前总宽度
131
137
  var totalWidth = Object.values(newVisibleColumnsSizing).reduce(function (sum, width) {
132
138
  return Number(sum || 0) + Number(width || 0);
@@ -164,8 +170,8 @@ export var useColumnWidth = function useColumnWidth(_ref) {
164
170
  * */
165
171
  var calculateColumnSizing = useCallback(function (columnsSizeMap, allColumnCount, containerWidth) {
166
172
  var _Object$keys$filter;
167
- if (!tableMaxRef.current || !columnsSizeMap) return {};
168
- var currentWidth = containerWidth || state.tableContainerWidth || tableMaxRef.current.clientWidth;
173
+ if (!tableContentRef.current || !columnsSizeMap) return {};
174
+ var currentWidth = containerWidth || state.tableContainerWidth || getTableWidth();
169
175
  var hasColumnCount = ((_Object$keys$filter = Object.keys(columnsSizeMap).filter(function (item) {
170
176
  return !!columnsSizeMap[item];
171
177
  })) === null || _Object$keys$filter === void 0 ? void 0 : _Object$keys$filter.length) || 0;
@@ -280,7 +286,6 @@ export var useColumnWidth = function useColumnWidth(_ref) {
280
286
  var changedColumn = data();
281
287
  if (!changedColumn) return;
282
288
  setState(function (prevState) {
283
- var _tableMaxRef$current2;
284
289
  var changedColumnKey = Object.keys(changedColumn)[0];
285
290
  if (!changedColumnKey) return prevState;
286
291
  var oldWidth = prevState.columnSizing[changedColumnKey] || 0;
@@ -295,7 +300,7 @@ export var useColumnWidth = function useColumnWidth(_ref) {
295
300
  var totalWidth = Object.values(newVisibleColumnsSizing).reduce(function (sum, width) {
296
301
  return Number(sum || 0) + Number(width || 0);
297
302
  }, 0);
298
- var containerWidth = ((_tableMaxRef$current2 = tableMaxRef.current) === null || _tableMaxRef$current2 === void 0 ? void 0 : _tableMaxRef$current2.clientWidth) - 10 || 0;
303
+ var containerWidth = getTableWidth() - 10 || 0;
299
304
  console.log(widthDiff, newWidth, oldWidth, changedColumnKey, prevState, 3344);
300
305
 
301
306
  // 处理列宽变大
@@ -5,6 +5,7 @@
5
5
  width: 100%;
6
6
  display: flex;
7
7
  flex-direction: column;
8
+ box-sizing: border-box;
8
9
  // justify-content: center;
9
10
  // align-items: center;
10
11
 
@@ -119,7 +120,6 @@
119
120
  overflow-y: hidden !important;
120
121
  display: flex;
121
122
  flex-direction: column;
122
-
123
123
  border: @global-table-max-border;
124
124
  border-bottom: @global-table-max-center-border-bottom;
125
125
  border-radius: @global-table-max-center-border-radius;
@@ -146,7 +146,7 @@
146
146
 
147
147
  .table-body {
148
148
  flex: 1;
149
- overflow: auto scroll;
149
+ overflow: scroll scroll;
150
150
  font-weight: @global-table-max-body-font-weight;
151
151
  // background: @tableColor2;
152
152
  .tbody-tr-td {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arim-aisdc/public-components",
3
- "version": "2.3.5",
3
+ "version": "2.3.6",
4
4
  "description": "前端组件库",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",