@aloudata/aloudata-design 0.2.0-beta.17 → 0.2.0-beta.18

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.
@@ -16,7 +16,7 @@
16
16
  &-link {
17
17
  font-size: 12px;
18
18
  height: @height-base;
19
- padding: 0 12px;
19
+ padding: 0 11px;
20
20
  display: inline-flex;
21
21
  line-height: @height-base;
22
22
  align-items: center;
@@ -69,21 +69,23 @@
69
69
  caret-color: @B40;
70
70
  height: 100%;
71
71
  }
72
+ }
73
+ }
72
74
 
73
- &-lg {
74
- padding: 4px 11px;
75
- height: 32px;
76
- font-size: 14px;
77
- }
75
+ .ant-input-affix-wrapper.ant-input-affix-wrapper {
76
+ &-lg {
77
+ padding: 4px 11px;
78
+ height: 32px;
79
+ font-size: 14px;
80
+ }
78
81
 
79
- &-sm {
80
- border-radius: @border-radius-sm;
81
- padding: 0 12px;
82
- height: 24px;
82
+ &-sm {
83
+ border-radius: @border-radius-sm;
84
+ padding: 0 12px;
85
+ height: 24px;
83
86
 
84
- .ant-input-sm {
85
- height: 22px;
86
- }
87
+ .ant-input-sm {
88
+ height: 22px;
87
89
  }
88
90
  }
89
91
  }
@@ -92,16 +94,3 @@
92
94
  .ald-iconfont('\e616');
93
95
  }
94
96
  }
95
-
96
- .ant-input-password {
97
- &-large {
98
- // font-size: 14px;
99
- // height: 32px;
100
-
101
- .ant-input-lg {
102
- // height: 20px;
103
- // line-height: 20px;
104
- // align-items: center;
105
- }
106
- }
107
- }
@@ -148,7 +148,7 @@ var OptionsList = function OptionsList(props, ref) {
148
148
  return /*#__PURE__*/React.createElement("div", {
149
149
  className: "".concat(prefixCls, "-list"),
150
150
  style: {
151
- height: "".concat(height - DEFAULT_LIST_PADDING, "px")
151
+ maxHeight: "".concat(height - DEFAULT_LIST_PADDING, "px")
152
152
  },
153
153
  ref: OptionListRef,
154
154
  role: "list",
@@ -173,7 +173,7 @@ var Selector = function Selector(props, ref) {
173
173
  return [].concat(_toConsumableArray(prev), [curr]);
174
174
  }, []);
175
175
 
176
- if (Array.isArray(value) && value.length === filteredOptions.length) {
176
+ if (Array.isArray(value) && value.length === filteredOptions.length && !isEmpty(value)) {
177
177
  return /*#__PURE__*/React.createElement("span", null, "\u5168\u90E8");
178
178
  }
179
179
 
@@ -35,7 +35,7 @@
35
35
  // Base Text
36
36
  // @text-color-base: #313e75;
37
37
  // @text-color-disabled: #313e75;
38
- @text-font-size-base: 14px;
38
+ @text-font-base-size: 14px;
39
39
  // @text-lint-height-base: 22px;
40
40
 
41
41
  //Background Color
@@ -44,8 +44,8 @@
44
44
 
45
45
  @ald-prefix: ~'@{component-prefix}';
46
46
  @select-prefix-cls-legacy: ~'@{component-prefix}-select-legacy';
47
- @select-input-fontSize: @text-font-size-base;
48
- @select-input-fontSize-sm: @text-font-size-base - 2px;
47
+ @select-input-fontSize: @text-font-base-size;
48
+ @select-input-fontSize-sm: @text-font-base-size - 2px;
49
49
  // @color-font-list-primary-normal: @palette-black-6; // $color-black-6
50
50
  // @color-box-shadow-focused: #c0c4d3;
51
51
  // @color-background-matchHeight: #ffcf3c;
@@ -141,7 +141,7 @@
141
141
  &-close {
142
142
  position: absolute;
143
143
  top: 0;
144
- right: 12px;
144
+ right: 8px;
145
145
  display: flex;
146
146
  align-items: center;
147
147
  justify-content: center;
@@ -283,6 +283,25 @@
283
283
  }
284
284
  }
285
285
 
286
+ &-default {
287
+ height: 28px;
288
+ .@{select-prefix-cls-legacy} {
289
+ &-selector {
290
+ height: 26px;
291
+ min-height: 26px;
292
+ }
293
+
294
+ &-values-wrapper {
295
+ line-height: 26px;
296
+ }
297
+
298
+ &-selector-label {
299
+ height: 26px;
300
+ font-size: 12px;
301
+ }
302
+ }
303
+ }
304
+
286
305
  &-large {
287
306
  height: @height-lg;
288
307
  .@{select-prefix-cls-legacy} {
package/es/Table/index.js CHANGED
@@ -23,6 +23,7 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
23
23
 
24
24
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
25
25
 
26
+ /* eslint-disable no-unneeded-ternary */
26
27
  /// <reference types ='./react-table-config' />
27
28
  import _ from 'lodash';
28
29
  import classnames from 'classnames';
@@ -31,6 +32,7 @@ import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'
31
32
  import usePrefixCls from '../_utils/hooks/usePrefixCls';
32
33
  import InfiniteScroll from 'react-infinite-scroll-component';
33
34
  import Empty from '../Empty';
35
+ import ResizeObserver from 'rc-resize-observer';
34
36
  import { useTable, useBlockLayout, useRowSelect, useSortBy, useResizeColumns } from 'react-table';
35
37
  var ARRAY_FIRST_INDEX = 0;
36
38
  var DEFAULT_ROW_WIDTH = 0;
@@ -73,11 +75,18 @@ function Table(_ref, ref) {
73
75
  setTableClientWidth = _useState2[1];
74
76
 
75
77
  var RANDOM_ID = "INNER_SCROLL_ID_".concat(Math.random());
78
+
79
+ var _useState3 = useState(DEFAULT_ROW_WIDTH),
80
+ _useState4 = _slicedToArray(_useState3, 2),
81
+ width = _useState4[0],
82
+ setWidth = _useState4[1]; // 如果页面整体宽度变化则重新计算
83
+
84
+
76
85
  useEffect(function () {
77
86
  if (tableRef.current) {
78
87
  setTableClientWidth(tableRef.current.clientWidth);
79
88
  }
80
- }, []);
89
+ }, [width]);
81
90
  var initialColumnsWidthMap = useMemo(function () {
82
91
  var map = new Map();
83
92
 
@@ -125,7 +134,12 @@ function Table(_ref, ref) {
125
134
  }
126
135
  });
127
136
  });
128
- }, [columns, sortable, initialColumnsWidthMap]);
137
+ }, [columns, sortable, initialColumnsWidthMap]); // 默认排序的对象
138
+
139
+ var defaultSortObject = {
140
+ id: newColumns[ARRAY_FIRST_INDEX].accessor,
141
+ desc: newColumns[ARRAY_FIRST_INDEX].sortOrder && newColumns[ARRAY_FIRST_INDEX].sortOrder === 'descend' ? true : false
142
+ }; // 如果支持排序 但是没有默认排序 则默认按第一列倒叙排序
129
143
 
130
144
  var getInitialSortDirection = function getInitialSortDirection() {
131
145
  if (defaultSort && defaultSort.id) {
@@ -133,10 +147,7 @@ function Table(_ref, ref) {
133
147
  }
134
148
 
135
149
  if (sortable) {
136
- return {
137
- id: newColumns[ARRAY_FIRST_INDEX].accessor,
138
- desc: false
139
- };
150
+ return defaultSortObject;
140
151
  }
141
152
 
142
153
  return {
@@ -202,41 +213,65 @@ function Table(_ref, ref) {
202
213
  }, "\u5171\u8BA1", total || len, "\u6761"), /*#__PURE__*/React.createElement("div", {
203
214
  className: classnames("".concat(prefixCls, "-header-right"))
204
215
  }, renderHeaderRight ? renderHeaderRight() : null));
205
- };
216
+ }; // 排序的方向 倒叙{ id: 'xx', desc: true }、正序{ id: 'xx', desc: false }、无序 { id: '', desc: undefined }
217
+ // 获取排序方向以及排序的id
218
+
206
219
 
207
- var getNextSortDesc = function getNextSortDesc(currentDesc) {
220
+ var getSortBy = function getSortBy(id) {
208
221
  var sortDirections = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ['ascend', 'descend'];
209
- var sortOrder = arguments.length > 2 ? arguments[2] : undefined;
222
+ var // 如果传了sortDirections,则使用传入的,否则使用默认的
223
+ sortOrder = arguments.length > 2 ? arguments[2] : undefined;
224
+ var res = {
225
+ id: id,
226
+ desc: undefined // 给个默认的排序
227
+
228
+ };
229
+ var isSameCol = sortDirection.id === id;
210
230
  var descMap = new Map([['ascend', false], ['descend', true]]);
211
- var directions = allSortDirections || sortDirections;
231
+ var directions = allSortDirections || sortDirections; // 如果不是同一列 则返回默认排序 或者排序顺序的第一个
232
+
233
+ if (!isSameCol) {
234
+ if (sortOrder === 'ascend' || sortOrder === 'descend') {
235
+ res.desc = descMap.get(sortOrder);
236
+ } else {
237
+ res.desc = sortOrder ? sortOrder : descMap.get(directions[ARRAY_FIRST_INDEX]);
238
+ }
239
+
240
+ return res;
241
+ } // 如果是同一列
242
+ // 如果列给了默认的sortOrder则不在变化
243
+
212
244
 
213
245
  if (sortOrder === 'ascend' || sortOrder === 'descend') {
214
- return descMap.get(sortOrder);
215
- }
246
+ res.desc = descMap.get(sortOrder);
247
+ return res;
248
+ } // 在所有方向上 往后取一个
216
249
 
217
- if (typeof currentDesc === 'undefined') {
218
- return descMap.get(directions[ARRAY_FIRST_INDEX]);
219
- }
220
250
 
221
- var direction = currentDesc ? 'descend' : 'ascend';
251
+ var lastSortDirection = sortDirection.desc ? 'descend' : 'ascend';
222
252
 
223
253
  var index = _.findIndex(directions, function (item) {
224
- return item === direction;
254
+ return item === lastSortDirection;
225
255
  });
226
256
 
227
257
  var nextIndex = index + 1;
228
- return descMap.get(directions[nextIndex]);
258
+ res.desc = descMap.get(directions[nextIndex]); // 如果没有排序方向,则返回默认排序对象
259
+
260
+ if (res.desc === undefined) {
261
+ res.id = '';
262
+ }
263
+
264
+ return res;
229
265
  };
230
266
 
231
267
  var getHeaderProps = function getHeaderProps(column) {
232
268
  // @ts-ignore
233
269
  var id = column.id,
234
- isSortedDesc = column.isSortedDesc,
235
270
  canSort = column.canSort,
236
271
  sorter = column.sorter,
237
272
  sortOrder = column.sortOrder,
238
273
  sortDirections = column.sortDirections;
239
- var toggleProps = column.getSortByToggleProps();
274
+ var toggleProps = column.getSortByToggleProps(); // 仅在Table设置sortable时,所有列的canSort为true,此时为前端排序
240
275
 
241
276
  if (canSort) {
242
277
  // client sort
@@ -245,19 +280,16 @@ function Table(_ref, ref) {
245
280
  e.stopPropagation();
246
281
 
247
282
  if (typeof toggleProps.onClick === 'function') {
248
- // toggleProps.onClick(e);
249
- var desc = getNextSortDesc(isSortedDesc, sortDirections, sortOrder);
250
- var sortBy = {
251
- id: typeof desc === 'undefined' ? '' : id,
252
- desc: desc
253
- };
254
- setSortBy(typeof desc === 'undefined' ? [] : [sortBy]);
283
+ var sortBy = getSortBy(id, sortDirections, sortOrder);
284
+ setSortBy(sortBy.desc === undefined ? [defaultSortObject] : [sortBy]); // 客户端排序时 需要重新设置排序
285
+
255
286
  setSortDirection(sortBy);
256
287
  onChange(sortBy);
257
288
  }
258
289
  }
259
290
  });
260
- }
291
+ } // 当列设置sorter属性时,则为服务端排序
292
+
261
293
 
262
294
  if (sorter) {
263
295
  // server sort
@@ -267,14 +299,8 @@ function Table(_ref, ref) {
267
299
  }
268
300
  })), {}, {
269
301
  onClick: function onClick(e) {
270
- e.stopPropagation(); // 需要触发onChange
271
- // debugger;
272
-
273
- var desc = getNextSortDesc(sortDirection.desc, sortDirections, sortOrder);
274
- var sortBy = {
275
- id: typeof desc === 'boolean' ? id : '',
276
- desc: desc
277
- };
302
+ e.stopPropagation();
303
+ var sortBy = getSortBy(id, sortDirections, sortOrder);
278
304
  setSortDirection(sortBy);
279
305
  onChange(sortBy);
280
306
  }
@@ -374,7 +400,12 @@ function Table(_ref, ref) {
374
400
  }, renderRowList()) : renderRowList());
375
401
  };
376
402
 
377
- return /*#__PURE__*/React.createElement("div", {
403
+ return /*#__PURE__*/React.createElement(ResizeObserver, {
404
+ onResize: function onResize(_ref4) {
405
+ var domWidth = _ref4.width;
406
+ setWidth(domWidth);
407
+ }
408
+ }, /*#__PURE__*/React.createElement("div", {
378
409
  className: prefixCls,
379
410
  ref: tableRef
380
411
  }, showHeader && renderHeader(data.length), /*#__PURE__*/React.createElement("div", _objectSpread(_objectSpread({}, getTableProps()), {}, {
@@ -415,7 +446,7 @@ function Table(_ref, ref) {
415
446
  style: {
416
447
  width: totalColumnsWidth
417
448
  }
418
- }), renderTableBody())));
449
+ }), renderTableBody()))));
419
450
  }
420
451
 
421
452
  export default /*#__PURE__*/React.forwardRef(Table);
@@ -8,7 +8,7 @@ export interface ISort<T> {
8
8
  export interface IColumn<T extends object> {
9
9
  title: string | null;
10
10
  dataIndex: string;
11
- render?: (value: any, row: Record<string, T>, index: number) => React.ReactNode;
11
+ render?: (value: any, row: any, index: number) => React.ReactNode;
12
12
  width?: number;
13
13
  minWidth?: number;
14
14
  sorter?: boolean | 'string' | 'number' | 'basic' | 'datetime' | 'alphanumeric' | ((rowA: Row<T>, rowB: Row<T>, columnId: IdType<T>, desc?: boolean) => number);
@@ -26,14 +26,13 @@
26
26
  &-cell {
27
27
  flex-grow: 1;
28
28
  height: unset;
29
- min-height: @table-row-height;
30
29
  color: @NL0;
31
- line-height: @table-row-height;
30
+ line-height: 16px;
32
31
  text-align: left;
33
32
  border-bottom: 1px solid @NL95;
34
33
  word-break: break-all;
35
- display: flex;
36
- padding: 0 12px;
34
+ display: flex !important; // 目前都让表格先居左、居中处理,所以这里需要强制设置为flex
35
+ padding: 11.5px 12px;
37
36
  align-items: center;
38
37
 
39
38
  &-content {
@@ -126,7 +125,6 @@
126
125
  align-items: center;
127
126
  justify-content: space-between;
128
127
  margin-bottom: 24px;
129
- padding: 0 10px;
130
128
 
131
129
  &-left {
132
130
  color: @NL0;
package/es/Tabs/index.js CHANGED
@@ -36,7 +36,8 @@ export default function Tabs(props) {
36
36
  }),
37
37
  tabBarGutter: 24,
38
38
  className: classNames('ald-tabs', className, {
39
- 'ald-adapt-height': adaptHeight
39
+ 'ald-adapt-height': adaptHeight,
40
+ 'ald-tabs-default': size !== 'large'
40
41
  })
41
42
  }, tabsProps));
42
43
  }
@@ -1,6 +1,6 @@
1
1
  @import '../../style/index.less';
2
2
 
3
- .ald-tabs {
3
+ .ant-tabs.ald-tabs {
4
4
  &.ant-tabs {
5
5
  color: @NL30;
6
6
  }
@@ -30,6 +30,13 @@
30
30
  }
31
31
  }
32
32
 
33
+ &.ald-tabs-default {
34
+ .ant-tabs-tab {
35
+ font-size: 14px;
36
+ line-height: 20px;
37
+ }
38
+ }
39
+
33
40
  .ant-tabs-nav-more {
34
41
  margin: 0 !important;
35
42
  }
@@ -16,7 +16,7 @@
16
16
  &-link {
17
17
  font-size: 12px;
18
18
  height: @height-base;
19
- padding: 0 12px;
19
+ padding: 0 11px;
20
20
  display: inline-flex;
21
21
  line-height: @height-base;
22
22
  align-items: center;
@@ -69,21 +69,23 @@
69
69
  caret-color: @B40;
70
70
  height: 100%;
71
71
  }
72
+ }
73
+ }
72
74
 
73
- &-lg {
74
- padding: 4px 11px;
75
- height: 32px;
76
- font-size: 14px;
77
- }
75
+ .ant-input-affix-wrapper.ant-input-affix-wrapper {
76
+ &-lg {
77
+ padding: 4px 11px;
78
+ height: 32px;
79
+ font-size: 14px;
80
+ }
78
81
 
79
- &-sm {
80
- border-radius: @border-radius-sm;
81
- padding: 0 12px;
82
- height: 24px;
82
+ &-sm {
83
+ border-radius: @border-radius-sm;
84
+ padding: 0 12px;
85
+ height: 24px;
83
86
 
84
- .ant-input-sm {
85
- height: 22px;
86
- }
87
+ .ant-input-sm {
88
+ height: 22px;
87
89
  }
88
90
  }
89
91
  }
@@ -92,16 +94,3 @@
92
94
  .ald-iconfont('\e616');
93
95
  }
94
96
  }
95
-
96
- .ant-input-password {
97
- &-large {
98
- // font-size: 14px;
99
- // height: 32px;
100
-
101
- .ant-input-lg {
102
- // height: 20px;
103
- // line-height: 20px;
104
- // align-items: center;
105
- }
106
- }
107
- }
@@ -165,7 +165,7 @@ var OptionsList = function OptionsList(props, ref) {
165
165
  return /*#__PURE__*/_react.default.createElement("div", {
166
166
  className: "".concat(prefixCls, "-list"),
167
167
  style: {
168
- height: "".concat(height - DEFAULT_LIST_PADDING, "px")
168
+ maxHeight: "".concat(height - DEFAULT_LIST_PADDING, "px")
169
169
  },
170
170
  ref: OptionListRef,
171
171
  role: "list",
@@ -195,7 +195,7 @@ var Selector = function Selector(props, ref) {
195
195
  return [].concat(_toConsumableArray(prev), [curr]);
196
196
  }, []);
197
197
 
198
- if (Array.isArray(value) && value.length === filteredOptions.length) {
198
+ if (Array.isArray(value) && value.length === filteredOptions.length && !(0, _lodash.isEmpty)(value)) {
199
199
  return /*#__PURE__*/_react.default.createElement("span", null, "\u5168\u90E8");
200
200
  }
201
201
 
@@ -35,7 +35,7 @@
35
35
  // Base Text
36
36
  // @text-color-base: #313e75;
37
37
  // @text-color-disabled: #313e75;
38
- @text-font-size-base: 14px;
38
+ @text-font-base-size: 14px;
39
39
  // @text-lint-height-base: 22px;
40
40
 
41
41
  //Background Color
@@ -44,8 +44,8 @@
44
44
 
45
45
  @ald-prefix: ~'@{component-prefix}';
46
46
  @select-prefix-cls-legacy: ~'@{component-prefix}-select-legacy';
47
- @select-input-fontSize: @text-font-size-base;
48
- @select-input-fontSize-sm: @text-font-size-base - 2px;
47
+ @select-input-fontSize: @text-font-base-size;
48
+ @select-input-fontSize-sm: @text-font-base-size - 2px;
49
49
  // @color-font-list-primary-normal: @palette-black-6; // $color-black-6
50
50
  // @color-box-shadow-focused: #c0c4d3;
51
51
  // @color-background-matchHeight: #ffcf3c;
@@ -141,7 +141,7 @@
141
141
  &-close {
142
142
  position: absolute;
143
143
  top: 0;
144
- right: 12px;
144
+ right: 8px;
145
145
  display: flex;
146
146
  align-items: center;
147
147
  justify-content: center;
@@ -283,6 +283,25 @@
283
283
  }
284
284
  }
285
285
 
286
+ &-default {
287
+ height: 28px;
288
+ .@{select-prefix-cls-legacy} {
289
+ &-selector {
290
+ height: 26px;
291
+ min-height: 26px;
292
+ }
293
+
294
+ &-values-wrapper {
295
+ line-height: 26px;
296
+ }
297
+
298
+ &-selector-label {
299
+ height: 26px;
300
+ font-size: 12px;
301
+ }
302
+ }
303
+ }
304
+
286
305
  &-large {
287
306
  height: @height-lg;
288
307
  .@{select-prefix-cls-legacy} {
@@ -21,6 +21,8 @@ var _reactInfiniteScrollComponent = _interopRequireDefault(require("react-infini
21
21
 
22
22
  var _Empty = _interopRequireDefault(require("../Empty"));
23
23
 
24
+ var _rcResizeObserver = _interopRequireDefault(require("rc-resize-observer"));
25
+
24
26
  var _reactTable = require("react-table");
25
27
 
26
28
  var _excluded = ["style"],
@@ -95,11 +97,18 @@ function Table(_ref, ref) {
95
97
  setTableClientWidth = _useState2[1];
96
98
 
97
99
  var RANDOM_ID = "INNER_SCROLL_ID_".concat(Math.random());
100
+
101
+ var _useState3 = (0, _react.useState)(DEFAULT_ROW_WIDTH),
102
+ _useState4 = _slicedToArray(_useState3, 2),
103
+ width = _useState4[0],
104
+ setWidth = _useState4[1]; // 如果页面整体宽度变化则重新计算
105
+
106
+
98
107
  (0, _react.useEffect)(function () {
99
108
  if (tableRef.current) {
100
109
  setTableClientWidth(tableRef.current.clientWidth);
101
110
  }
102
- }, []);
111
+ }, [width]);
103
112
  var initialColumnsWidthMap = (0, _react.useMemo)(function () {
104
113
  var map = new Map();
105
114
 
@@ -147,7 +156,12 @@ function Table(_ref, ref) {
147
156
  }
148
157
  });
149
158
  });
150
- }, [columns, sortable, initialColumnsWidthMap]);
159
+ }, [columns, sortable, initialColumnsWidthMap]); // 默认排序的对象
160
+
161
+ var defaultSortObject = {
162
+ id: newColumns[ARRAY_FIRST_INDEX].accessor,
163
+ desc: newColumns[ARRAY_FIRST_INDEX].sortOrder && newColumns[ARRAY_FIRST_INDEX].sortOrder === 'descend' ? true : false
164
+ }; // 如果支持排序 但是没有默认排序 则默认按第一列倒叙排序
151
165
 
152
166
  var getInitialSortDirection = function getInitialSortDirection() {
153
167
  if (defaultSort && defaultSort.id) {
@@ -155,10 +169,7 @@ function Table(_ref, ref) {
155
169
  }
156
170
 
157
171
  if (sortable) {
158
- return {
159
- id: newColumns[ARRAY_FIRST_INDEX].accessor,
160
- desc: false
161
- };
172
+ return defaultSortObject;
162
173
  }
163
174
 
164
175
  return {
@@ -225,41 +236,65 @@ function Table(_ref, ref) {
225
236
  }, "\u5171\u8BA1", total || len, "\u6761"), /*#__PURE__*/_react.default.createElement("div", {
226
237
  className: (0, _classnames7.default)("".concat(prefixCls, "-header-right"))
227
238
  }, renderHeaderRight ? renderHeaderRight() : null));
228
- };
239
+ }; // 排序的方向 倒叙{ id: 'xx', desc: true }、正序{ id: 'xx', desc: false }、无序 { id: '', desc: undefined }
240
+ // 获取排序方向以及排序的id
241
+
229
242
 
230
- var getNextSortDesc = function getNextSortDesc(currentDesc) {
243
+ var getSortBy = function getSortBy(id) {
231
244
  var sortDirections = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ['ascend', 'descend'];
232
- var sortOrder = arguments.length > 2 ? arguments[2] : undefined;
245
+ var // 如果传了sortDirections,则使用传入的,否则使用默认的
246
+ sortOrder = arguments.length > 2 ? arguments[2] : undefined;
247
+ var res = {
248
+ id: id,
249
+ desc: undefined // 给个默认的排序
250
+
251
+ };
252
+ var isSameCol = sortDirection.id === id;
233
253
  var descMap = new Map([['ascend', false], ['descend', true]]);
234
- var directions = allSortDirections || sortDirections;
254
+ var directions = allSortDirections || sortDirections; // 如果不是同一列 则返回默认排序 或者排序顺序的第一个
255
+
256
+ if (!isSameCol) {
257
+ if (sortOrder === 'ascend' || sortOrder === 'descend') {
258
+ res.desc = descMap.get(sortOrder);
259
+ } else {
260
+ res.desc = sortOrder ? sortOrder : descMap.get(directions[ARRAY_FIRST_INDEX]);
261
+ }
262
+
263
+ return res;
264
+ } // 如果是同一列
265
+ // 如果列给了默认的sortOrder则不在变化
266
+
235
267
 
236
268
  if (sortOrder === 'ascend' || sortOrder === 'descend') {
237
- return descMap.get(sortOrder);
238
- }
269
+ res.desc = descMap.get(sortOrder);
270
+ return res;
271
+ } // 在所有方向上 往后取一个
239
272
 
240
- if (typeof currentDesc === 'undefined') {
241
- return descMap.get(directions[ARRAY_FIRST_INDEX]);
242
- }
243
273
 
244
- var direction = currentDesc ? 'descend' : 'ascend';
274
+ var lastSortDirection = sortDirection.desc ? 'descend' : 'ascend';
245
275
 
246
276
  var index = _lodash.default.findIndex(directions, function (item) {
247
- return item === direction;
277
+ return item === lastSortDirection;
248
278
  });
249
279
 
250
280
  var nextIndex = index + 1;
251
- return descMap.get(directions[nextIndex]);
281
+ res.desc = descMap.get(directions[nextIndex]); // 如果没有排序方向,则返回默认排序对象
282
+
283
+ if (res.desc === undefined) {
284
+ res.id = '';
285
+ }
286
+
287
+ return res;
252
288
  };
253
289
 
254
290
  var getHeaderProps = function getHeaderProps(column) {
255
291
  // @ts-ignore
256
292
  var id = column.id,
257
- isSortedDesc = column.isSortedDesc,
258
293
  canSort = column.canSort,
259
294
  sorter = column.sorter,
260
295
  sortOrder = column.sortOrder,
261
296
  sortDirections = column.sortDirections;
262
- var toggleProps = column.getSortByToggleProps();
297
+ var toggleProps = column.getSortByToggleProps(); // 仅在Table设置sortable时,所有列的canSort为true,此时为前端排序
263
298
 
264
299
  if (canSort) {
265
300
  // client sort
@@ -268,19 +303,16 @@ function Table(_ref, ref) {
268
303
  e.stopPropagation();
269
304
 
270
305
  if (typeof toggleProps.onClick === 'function') {
271
- // toggleProps.onClick(e);
272
- var desc = getNextSortDesc(isSortedDesc, sortDirections, sortOrder);
273
- var sortBy = {
274
- id: typeof desc === 'undefined' ? '' : id,
275
- desc: desc
276
- };
277
- setSortBy(typeof desc === 'undefined' ? [] : [sortBy]);
306
+ var sortBy = getSortBy(id, sortDirections, sortOrder);
307
+ setSortBy(sortBy.desc === undefined ? [defaultSortObject] : [sortBy]); // 客户端排序时 需要重新设置排序
308
+
278
309
  setSortDirection(sortBy);
279
310
  onChange(sortBy);
280
311
  }
281
312
  }
282
313
  });
283
- }
314
+ } // 当列设置sorter属性时,则为服务端排序
315
+
284
316
 
285
317
  if (sorter) {
286
318
  // server sort
@@ -290,14 +322,8 @@ function Table(_ref, ref) {
290
322
  }
291
323
  })), {}, {
292
324
  onClick: function onClick(e) {
293
- e.stopPropagation(); // 需要触发onChange
294
- // debugger;
295
-
296
- var desc = getNextSortDesc(sortDirection.desc, sortDirections, sortOrder);
297
- var sortBy = {
298
- id: typeof desc === 'boolean' ? id : '',
299
- desc: desc
300
- };
325
+ e.stopPropagation();
326
+ var sortBy = getSortBy(id, sortDirections, sortOrder);
301
327
  setSortDirection(sortBy);
302
328
  onChange(sortBy);
303
329
  }
@@ -398,7 +424,12 @@ function Table(_ref, ref) {
398
424
  }, renderRowList()) : renderRowList());
399
425
  };
400
426
 
401
- return /*#__PURE__*/_react.default.createElement("div", {
427
+ return /*#__PURE__*/_react.default.createElement(_rcResizeObserver.default, {
428
+ onResize: function onResize(_ref4) {
429
+ var domWidth = _ref4.width;
430
+ setWidth(domWidth);
431
+ }
432
+ }, /*#__PURE__*/_react.default.createElement("div", {
402
433
  className: prefixCls,
403
434
  ref: tableRef
404
435
  }, showHeader && renderHeader(data.length), /*#__PURE__*/_react.default.createElement("div", _objectSpread(_objectSpread({}, getTableProps()), {}, {
@@ -439,7 +470,7 @@ function Table(_ref, ref) {
439
470
  style: {
440
471
  width: totalColumnsWidth
441
472
  }
442
- }), renderTableBody())));
473
+ }), renderTableBody()))));
443
474
  }
444
475
 
445
476
  var _default = /*#__PURE__*/_react.default.forwardRef(Table);
@@ -8,7 +8,7 @@ export interface ISort<T> {
8
8
  export interface IColumn<T extends object> {
9
9
  title: string | null;
10
10
  dataIndex: string;
11
- render?: (value: any, row: Record<string, T>, index: number) => React.ReactNode;
11
+ render?: (value: any, row: any, index: number) => React.ReactNode;
12
12
  width?: number;
13
13
  minWidth?: number;
14
14
  sorter?: boolean | 'string' | 'number' | 'basic' | 'datetime' | 'alphanumeric' | ((rowA: Row<T>, rowB: Row<T>, columnId: IdType<T>, desc?: boolean) => number);
@@ -26,14 +26,13 @@
26
26
  &-cell {
27
27
  flex-grow: 1;
28
28
  height: unset;
29
- min-height: @table-row-height;
30
29
  color: @NL0;
31
- line-height: @table-row-height;
30
+ line-height: 16px;
32
31
  text-align: left;
33
32
  border-bottom: 1px solid @NL95;
34
33
  word-break: break-all;
35
- display: flex;
36
- padding: 0 12px;
34
+ display: flex !important; // 目前都让表格先居左、居中处理,所以这里需要强制设置为flex
35
+ padding: 11.5px 12px;
37
36
  align-items: center;
38
37
 
39
38
  &-content {
@@ -126,7 +125,6 @@
126
125
  align-items: center;
127
126
  justify-content: space-between;
128
127
  margin-bottom: 24px;
129
- padding: 0 10px;
130
128
 
131
129
  &-left {
132
130
  color: @NL0;
package/lib/Tabs/index.js CHANGED
@@ -50,7 +50,8 @@ function Tabs(props) {
50
50
  }),
51
51
  tabBarGutter: 24,
52
52
  className: (0, _classnames.default)('ald-tabs', className, {
53
- 'ald-adapt-height': adaptHeight
53
+ 'ald-adapt-height': adaptHeight,
54
+ 'ald-tabs-default': size !== 'large'
54
55
  })
55
56
  }, tabsProps));
56
57
  }
@@ -1,6 +1,6 @@
1
1
  @import '../../style/index.less';
2
2
 
3
- .ald-tabs {
3
+ .ant-tabs.ald-tabs {
4
4
  &.ant-tabs {
5
5
  color: @NL30;
6
6
  }
@@ -30,6 +30,13 @@
30
30
  }
31
31
  }
32
32
 
33
+ &.ald-tabs-default {
34
+ .ant-tabs-tab {
35
+ font-size: 14px;
36
+ line-height: 20px;
37
+ }
38
+ }
39
+
33
40
  .ant-tabs-nav-more {
34
41
  margin: 0 !important;
35
42
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aloudata/aloudata-design",
3
- "version": "0.2.0-beta.17",
3
+ "version": "0.2.0-beta.18",
4
4
  "scripts": {
5
5
  "start": "dumi dev",
6
6
  "docs:build": "dumi build",
@@ -55,6 +55,7 @@
55
55
  "lodash": "^4.17.21",
56
56
  "rc-menu": "^9.3.2",
57
57
  "rc-overflow": "^1.2.3",
58
+ "rc-resize-observer": "^1.2.0",
58
59
  "rc-trigger": "^5.2.10",
59
60
  "rc-virtual-list": "^3.4.2",
60
61
  "react-infinite-scroll-component": "^6.1.0",