linkmore-design 1.1.13-alpha.1 → 1.1.13-alpha.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 (46) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/Form/demos/disabled.d.ts +2 -0
  3. package/dist/LmEditTable/EditTable.d.ts +1 -0
  4. package/dist/LmFilter/LmFilter.d.ts +2 -6
  5. package/dist/LmTable/expression.d.ts +1 -0
  6. package/dist/LmTable/hooks/useGroupDataSource.d.ts +7 -0
  7. package/dist/index.umd.js +194 -54
  8. package/dist/index.umd.min.js +16 -16
  9. package/dist/variables.css +3 -0
  10. package/es/Cascader/index.js +16 -2
  11. package/es/Form/style/index.css +3 -0
  12. package/es/Form/style/variables.css +3 -0
  13. package/es/Input/index.js +21 -9
  14. package/es/InputNumber/index.js +9 -2
  15. package/es/LmEditTable/EditTable.d.ts +1 -0
  16. package/es/LmEditTable/EditTable.js +36 -9
  17. package/es/LmEditTable/util.js +13 -4
  18. package/es/LmFilter/LmFilter.js +6 -6
  19. package/es/LmFilter/components/DropdownFIlter.js +5 -2
  20. package/es/LmFilter/index.js +0 -3
  21. package/es/LmTable/Table.js +10 -7
  22. package/es/LmTable/expression.d.ts +1 -0
  23. package/es/LmTable/expression.js +31 -0
  24. package/es/LmTable/hooks/useGroupDataSource.js +50 -0
  25. package/es/LmUpload/fns/index.js +8 -3
  26. package/es/Select/index.js +17 -7
  27. package/es/styles/variables.css +3 -0
  28. package/lib/Cascader/index.js +16 -2
  29. package/lib/Form/style/index.css +3 -0
  30. package/lib/Form/style/variables.css +3 -0
  31. package/lib/Input/index.js +24 -9
  32. package/lib/InputNumber/index.js +11 -2
  33. package/lib/LmEditTable/EditTable.d.ts +1 -0
  34. package/lib/LmEditTable/EditTable.js +35 -8
  35. package/lib/LmEditTable/util.js +13 -4
  36. package/lib/LmFilter/LmFilter.js +6 -6
  37. package/lib/LmFilter/components/DropdownFIlter.js +5 -2
  38. package/lib/LmFilter/index.js +0 -3
  39. package/lib/LmTable/Table.js +10 -7
  40. package/lib/LmTable/expression.d.ts +1 -0
  41. package/lib/LmTable/expression.js +41 -0
  42. package/lib/LmTable/hooks/useGroupDataSource.js +50 -0
  43. package/lib/LmUpload/fns/index.js +8 -3
  44. package/lib/Select/index.js +19 -7
  45. package/lib/styles/variables.css +3 -0
  46. package/package.json +1 -1
@@ -6151,6 +6151,9 @@
6151
6151
  .lm_container_wrapper .lm_container.responsive.lm_col_5 .ant-form-item-responsive.nth-five {
6152
6152
  margin-right: 0;
6153
6153
  }
6154
+ .lm_container_wrapper .lm_container.responsive .ant-cascader {
6155
+ width: 100%;
6156
+ }
6154
6157
  .lm_form-item-tip-error .ant-form-item-explain {
6155
6158
  width: 100%;
6156
6159
  position: absolute;
@@ -17,8 +17,12 @@ var _react = _interopRequireWildcard(require("react"));
17
17
 
18
18
  var _IconFont = _interopRequireDefault(require("../IconFont"));
19
19
 
20
+ var _classnames = _interopRequireDefault(require("classnames"));
21
+
20
22
  var _SizeContext = _interopRequireDefault(require("../ConfigProvider/SizeContext"));
21
23
 
24
+ var _DisabledContext = _interopRequireDefault(require("../ConfigProvider/DisabledContext"));
25
+
22
26
  var __rest = void 0 && (void 0).__rest || function (s, e) {
23
27
  var t = {};
24
28
 
@@ -33,15 +37,24 @@ var __rest = void 0 && (void 0).__rest || function (s, e) {
33
37
  };
34
38
 
35
39
  var LmInput = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
36
- var _props$allowClear = props.allowClear,
40
+ var className = props.className,
41
+ customSize = props.size,
42
+ customDisabled = props.disabled,
43
+ _props$allowClear = props.allowClear,
37
44
  allowClear = _props$allowClear === void 0 ? true : _props$allowClear,
38
- customizeSize = props.size,
39
- rest = __rest(props, ["allowClear", "size"]);
45
+ rest = __rest(props // ===================== Size =====================
46
+ , ["className", "size", "disabled", "allowClear"]); // ===================== Size =====================
47
+
48
+
49
+ var size = customSize || _react.default.useContext(_SizeContext.default) || 'middle'; // ===================== Disabled =====================
50
+
51
+ var disabled = _react.default.useContext(_DisabledContext.default);
40
52
 
41
- var size = customizeSize || _react.default.useContext(_SizeContext.default) || 'middle';
53
+ var mergedDisabled = customDisabled || disabled;
42
54
  return /*#__PURE__*/_react.default.createElement(_input.default, Object.assign({
43
55
  ref: ref,
44
- className: "lm_input",
56
+ className: (0, _classnames.default)('lm_input', className),
57
+ disabled: mergedDisabled || undefined,
45
58
  size: size
46
59
  }, rest, {
47
60
  allowClear: allowClear
@@ -51,7 +64,8 @@ LmInput.Group = _input.default.Group;
51
64
  LmInput.Search = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
52
65
  var _props$allowClear2 = props.allowClear,
53
66
  allowClear = _props$allowClear2 === void 0 ? true : _props$allowClear2,
54
- rest = __rest(props, ["allowClear"]);
67
+ className = props.className,
68
+ rest = __rest(props, ["allowClear", "className"]);
55
69
 
56
70
  return /*#__PURE__*/_react.default.createElement(_input.default.Search, Object.assign({
57
71
  enterButton: /*#__PURE__*/_react.default.createElement(_IconFont.default, {
@@ -60,7 +74,7 @@ LmInput.Search = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
60
74
  }, rest, {
61
75
  ref: ref,
62
76
  allowClear: allowClear,
63
- className: "lm_input_search"
77
+ className: (0, _classnames.default)('lm_input_search', className)
64
78
  }));
65
79
  });
66
80
  LmInput.TextArea = _input.default.TextArea;
@@ -68,10 +82,11 @@ LmInput.TextArea = _input.default.TextArea;
68
82
  LmInput.Password = function (props) {
69
83
  var _props$allowClear3 = props.allowClear,
70
84
  allowClear = _props$allowClear3 === void 0 ? true : _props$allowClear3,
71
- rest = __rest(props, ["allowClear"]);
85
+ className = props.className,
86
+ rest = __rest(props, ["allowClear", "className"]);
72
87
 
73
88
  return /*#__PURE__*/_react.default.createElement(_input.default.Password, Object.assign({
74
- className: "lm_input_password",
89
+ className: (0, _classnames.default)('lm_input_password', className),
75
90
  iconRender: function iconRender(visible) {
76
91
  return visible ? /*#__PURE__*/_react.default.createElement(_IconFont.default, {
77
92
  type: "lmweb-eye"
@@ -15,6 +15,8 @@ var _classnames = _interopRequireDefault(require("classnames"));
15
15
 
16
16
  var _react = _interopRequireDefault(require("react"));
17
17
 
18
+ var _DisabledContext = _interopRequireDefault(require("../ConfigProvider/DisabledContext"));
19
+
18
20
  var __rest = void 0 && (void 0).__rest || function (s, e) {
19
21
  var t = {};
20
22
 
@@ -33,12 +35,19 @@ var prefixCls = 'lm_input-number';
33
35
  var LMInputNumber = function LMInputNumber(props) {
34
36
  var children = props.children,
35
37
  className = props.className,
36
- others = __rest(props, ["children", "className"]);
38
+ customDisabled = props.disabled,
39
+ rest = __rest(props // ===================== Disabled =====================
40
+ , ["children", "className", "disabled"]); // ===================== Disabled =====================
41
+
42
+
43
+ var disabled = _react.default.useContext(_DisabledContext.default);
37
44
 
45
+ var mergedDisabled = customDisabled || disabled;
38
46
  return /*#__PURE__*/_react.default.createElement(_inputNumber.default, Object.assign({
39
47
  className: (0, _classnames.default)(className, prefixCls),
48
+ disabled: mergedDisabled,
40
49
  placeholder: "\u8BF7\u8F93\u5165"
41
- }, others));
50
+ }, rest));
42
51
  };
43
52
 
44
53
  var CInputNumber = LMInputNumber;
@@ -13,6 +13,7 @@ interface ILmEditTable extends TableProps<any> {
13
13
  sortOpen?: boolean;
14
14
  size?: TableProps<any>['size'];
15
15
  colSortOpen?: boolean;
16
+ indexCol?: boolean | Record<string, any>;
16
17
  filterChange?: (data: TableProps<any>['columns']) => void;
17
18
  recordCreatorProps?: {
18
19
  creatorButtonText?: string;
@@ -323,7 +323,7 @@ var Opetate = function Opetate(_ref) {
323
323
  fontSize: 16
324
324
  }
325
325
  })
326
- })) : /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Button, {
326
+ })) : (options === null || options === void 0 ? void 0 : options.includes('add')) || (options === null || options === void 0 ? void 0 : options.includes('addInChildren')) ? /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Button, {
327
327
  type: "link",
328
328
  size: "small",
329
329
  icon: /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
@@ -335,7 +335,7 @@ var Opetate = function Opetate(_ref) {
335
335
  onClick: function onClick() {
336
336
  return handleAdd(record, (options === null || options === void 0 ? void 0 : options.includes('addInChildren')) ? true : false);
337
337
  }
338
- }));
338
+ }) : null);
339
339
  };
340
340
  /*
341
341
  表格单元格
@@ -628,7 +628,7 @@ var EditableCell = function EditableCell(props) {
628
628
  var fromData = form.getFieldsValue();
629
629
  return render === null || render === void 0 ? void 0 : render(Object.assign(Object.assign({}, !(0, _util.isObjEmpty)(fromData) ? Object.assign(Object.assign({}, record), (0, _defineProperty2.default)({}, dataIndex, fromData[dataIndex])) : record), {
630
630
  onChange: save
631
- }));
631
+ }), rowIndex);
632
632
  }
633
633
 
634
634
  default:
@@ -763,6 +763,8 @@ var EditTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
763
763
  virtual = props.virtual,
764
764
  sortOpen = props.sortOpen,
765
765
  colSortOpen = props.colSortOpen,
766
+ _props$indexCol = props.indexCol,
767
+ indexCol = _props$indexCol === void 0 ? false : _props$indexCol,
766
768
  filterChange = props.filterChange,
767
769
  _props$size = props.size,
768
770
  size = _props$size === void 0 ? 'small' : _props$size,
@@ -770,7 +772,7 @@ var EditTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
770
772
  _props$shouldUpdate = props.shouldUpdate,
771
773
  shouldUpdate = _props$shouldUpdate === void 0 ? false : _props$shouldUpdate,
772
774
  resetProps = __rest(props // const [dataSource, setDataSource] = useState([]);
773
- , ["value", "columns", "isEdit", "isAdd", "onChange", "rowKey", "rowHoverEdit", "isUseForm", "isHoverEdit", "useQuickOpetate", "quickOpetateClearAll", "rowSelection", "virtual", "sortOpen", "colSortOpen", "filterChange", "size", "recordCreatorProps", "shouldUpdate"]); // const [dataSource, setDataSource] = useState([]);
775
+ , ["value", "columns", "isEdit", "isAdd", "onChange", "rowKey", "rowHoverEdit", "isUseForm", "isHoverEdit", "useQuickOpetate", "quickOpetateClearAll", "rowSelection", "virtual", "sortOpen", "colSortOpen", "indexCol", "filterChange", "size", "recordCreatorProps", "shouldUpdate"]); // const [dataSource, setDataSource] = useState([]);
774
776
 
775
777
 
776
778
  var _useControllableValue = (0, _ahooks.useControllableValue)({
@@ -1115,7 +1117,7 @@ var EditTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
1115
1117
  var rColumns = hasDisableOptions ? DisableOptions : columns;
1116
1118
  var localColumns = [sortOpen ? {
1117
1119
  title: '排序',
1118
- dataIndex: 'sort',
1120
+ dataIndex: '_sort',
1119
1121
  width: 48,
1120
1122
  maxWidth: 48,
1121
1123
  className: 'drag-visible',
@@ -1125,7 +1127,25 @@ var EditTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
1125
1127
  id: record[_rowKey] || record.id
1126
1128
  });
1127
1129
  }
1128
- } : null].concat((0, _toConsumableArray2.default)(rColumns), [useQuickOpetate ? {
1130
+ } : null, indexCol ? (0, _lodash.isBoolean)(indexCol) ? {
1131
+ title: '',
1132
+ dataIndex: '_index',
1133
+ width: 48,
1134
+ maxWidth: 48,
1135
+ fixed: 'left',
1136
+ render: function render(_, record, index) {
1137
+ return "".concat(index + 1);
1138
+ }
1139
+ } : Object.assign({
1140
+ title: '',
1141
+ dataIndex: '_index',
1142
+ width: 48,
1143
+ maxWidth: 48,
1144
+ fixed: 'left',
1145
+ render: function render(_, record, index) {
1146
+ return "".concat(index + 1);
1147
+ }
1148
+ }, indexCol || {}) : null].concat((0, _toConsumableArray2.default)(rColumns), [useQuickOpetate ? {
1129
1149
  title: '操作',
1130
1150
  dataIndex: 'lm_edit_opetate',
1131
1151
  width: 68,
@@ -1163,8 +1183,15 @@ var EditTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
1163
1183
  var mapColumns = function mapColumns(col, index) {
1164
1184
  var _a, _b;
1165
1185
 
1166
- if (!col.editable && !((_a = col.children) === null || _a === void 0 ? void 0 : _a.length)) {
1167
- return col;
1186
+ if (!col.editable && !((_a = col.children) === null || _a === void 0 ? void 0 : _a.length) && (col === null || col === void 0 ? void 0 : col.dataIndex) === '_sort') {
1187
+ var fn = col === null || col === void 0 ? void 0 : col.render;
1188
+ return Object.assign(Object.assign({}, col), {
1189
+ render: function render(text, record, i) {
1190
+ var _a;
1191
+
1192
+ return fn === null || fn === void 0 ? void 0 : fn((_a = dataSource[i]) === null || _a === void 0 ? void 0 : _a[col.dataIndex], dataSource[i], i);
1193
+ }
1194
+ });
1168
1195
  }
1169
1196
 
1170
1197
  var newCol = Object.assign(Object.assign({}, col), {
@@ -84,7 +84,7 @@ function getExpandStatus(children) {
84
84
  }
85
85
 
86
86
  function checkMemoShouldUploadSpecialFun(prev, next) {
87
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
87
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
88
88
 
89
89
  var checkExpandStatus = getExpandStatus(prev.children) === getExpandStatus(next.children);
90
90
 
@@ -94,12 +94,21 @@ function checkMemoShouldUploadSpecialFun(prev, next) {
94
94
 
95
95
  var prevCol = prev === null || prev === void 0 ? void 0 : prev.col;
96
96
  var nextCol = next === null || next === void 0 ? void 0 : next.col;
97
+ /** TODO: 使用了自定义render, 是否要判断rowIndex? 这样排序之后,渲染的性能就会变差 */
98
+
99
+ if (((prevCol === null || prevCol === void 0 ? void 0 : prevCol.render) || (nextCol === null || nextCol === void 0 ? void 0 : nextCol.render)) && !(0, _lodash.isEqual)((0, _lodash.pick)(prev, ['colIndex', 'record', 'children']), (0, _lodash.pick)(next, ['colIndex', 'record', 'children']))) {
100
+ return false;
101
+ }
102
+
103
+ if (((prevCol === null || prevCol === void 0 ? void 0 : prevCol.editable) === 'render' || (nextCol === null || nextCol === void 0 ? void 0 : nextCol.editable) === 'render') && (((_a = prevCol === null || prevCol === void 0 ? void 0 : prevCol.componentProps) === null || _a === void 0 ? void 0 : _a.render) || ((_b = nextCol === null || nextCol === void 0 ? void 0 : nextCol.componentProps) === null || _b === void 0 ? void 0 : _b.render)) && !(0, _lodash.isEqual)((0, _lodash.pick)(prev, ['colIndex', 'record', 'rowIndex']), (0, _lodash.pick)(next, ['colIndex', 'record', 'rowIndex']))) {
104
+ return false;
105
+ }
97
106
 
98
107
  if (((prevCol === null || prevCol === void 0 ? void 0 : prevCol.fixed) || (nextCol === null || nextCol === void 0 ? void 0 : nextCol.fixed)) && !(0, _lodash.isEqual)(prev === null || prev === void 0 ? void 0 : prev.style, next === null || next === void 0 ? void 0 : next.style)) {
99
108
  return false;
100
109
  }
101
110
 
102
- if ((((_a = prevCol === null || prevCol === void 0 ? void 0 : prevCol.componentProps) === null || _a === void 0 ? void 0 : _a.optionOnly) || ((_b = nextCol === null || nextCol === void 0 ? void 0 : nextCol.componentProps) === null || _b === void 0 ? void 0 : _b.optionOnly)) && !(0, _lodash.isEqual)((_c = prevCol === null || prevCol === void 0 ? void 0 : prevCol.componentProps) === null || _c === void 0 ? void 0 : _c.options, (_d = nextCol === null || nextCol === void 0 ? void 0 : nextCol.componentProps) === null || _d === void 0 ? void 0 : _d.options)) {
111
+ if ((((_c = prevCol === null || prevCol === void 0 ? void 0 : prevCol.componentProps) === null || _c === void 0 ? void 0 : _c.optionOnly) || ((_d = nextCol === null || nextCol === void 0 ? void 0 : nextCol.componentProps) === null || _d === void 0 ? void 0 : _d.optionOnly)) && !(0, _lodash.isEqual)((_e = prevCol === null || prevCol === void 0 ? void 0 : prevCol.componentProps) === null || _e === void 0 ? void 0 : _e.options, (_f = nextCol === null || nextCol === void 0 ? void 0 : nextCol.componentProps) === null || _f === void 0 ? void 0 : _f.options)) {
103
112
  // return isEqual(prevCol?.componentProps?.options, nextCol?.componentProps?.options)
104
113
  return false;
105
114
  }
@@ -110,12 +119,12 @@ function checkMemoShouldUploadSpecialFun(prev, next) {
110
119
  }
111
120
 
112
121
  if (next.className.indexOf('ant-table-selection-column') > -1) {
113
- return (0, _lodash.isEqual)((_f = (_e = prev.children) === null || _e === void 0 ? void 0 : _e[1]) === null || _f === void 0 ? void 0 : _f.props, (_h = (_g = next.children) === null || _g === void 0 ? void 0 : _g[1]) === null || _h === void 0 ? void 0 : _h.props);
122
+ return (0, _lodash.isEqual)((_h = (_g = prev.children) === null || _g === void 0 ? void 0 : _g[1]) === null || _h === void 0 ? void 0 : _h.props, (_k = (_j = next.children) === null || _j === void 0 ? void 0 : _j[1]) === null || _k === void 0 ? void 0 : _k.props);
114
123
  }
115
124
  /** 如果启用了快速复制功能,需要实时判断rowIndex与getLength */
116
125
 
117
126
 
118
- if (((_j = prevCol === null || prevCol === void 0 ? void 0 : prevCol.componentProps) === null || _j === void 0 ? void 0 : _j.quickcopy) || ((_k = nextCol === null || nextCol === void 0 ? void 0 : nextCol.componentProps) === null || _k === void 0 ? void 0 : _k.quickcopy)) {
127
+ if (((_l = prevCol === null || prevCol === void 0 ? void 0 : prevCol.componentProps) === null || _l === void 0 ? void 0 : _l.quickcopy) || ((_m = nextCol === null || nextCol === void 0 ? void 0 : nextCol.componentProps) === null || _m === void 0 ? void 0 : _m.quickcopy)) {
119
128
  var pickProps = ['record', 'colIndex', 'rowIndex', 'getLength'];
120
129
  var p = (0, _lodash.pick)(prev, pickProps);
121
130
  var n = (0, _lodash.pick)(next, pickProps);
@@ -21,9 +21,10 @@ var _FilterRoot = _interopRequireDefault(require("./wrapper/FilterRoot"));
21
21
 
22
22
  var _localization = require("./localization");
23
23
 
24
- var _excluded = ["searchConfig", "localization"];
24
+ var _components = _interopRequireDefault(require("./components"));
25
25
 
26
- var LmFilter = function LmFilter(_ref, ref) {
26
+ var _excluded = ["searchConfig", "localization"];
27
+ var LmFilter = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
27
28
  var _ref$searchConfig = _ref.searchConfig,
28
29
  searchConfig = _ref$searchConfig === void 0 ? {} : _ref$searchConfig,
29
30
  _ref$localization = _ref.localization,
@@ -64,8 +65,7 @@ var LmFilter = function LmFilter(_ref, ref) {
64
65
  return /*#__PURE__*/_react.default.createElement(_FilterRoot.default, (0, _extends2.default)({
65
66
  ref: ref || defaultRef
66
67
  }, defaultProps, resetProps));
67
- };
68
-
69
- var _default = /*#__PURE__*/(0, _react.forwardRef)(LmFilter);
70
-
68
+ });
69
+ LmFilter.FilterControl = _components.default;
70
+ var _default = LmFilter;
71
71
  exports.default = _default;
@@ -9,6 +9,8 @@ Object.defineProperty(exports, "__esModule", {
9
9
  });
10
10
  exports.default = void 0;
11
11
 
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+
12
14
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
13
15
 
14
16
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
@@ -205,7 +207,8 @@ var DropdownFilter = /*#__PURE__*/_react.default.memo(function (_ref2) {
205
207
  setVisible = _useState2[1];
206
208
 
207
209
  var filterValue = instance.filterValue,
208
- size = instance.size; // 触发查询时关闭下拉框
210
+ size = instance.size;
211
+ var popupClassName = item.popupClassName; // 触发查询时关闭下拉框
209
212
 
210
213
  var setFilterValue = function setFilterValue(obj) {
211
214
  instance.setFilterValue(obj);
@@ -239,7 +242,7 @@ var DropdownFilter = /*#__PURE__*/_react.default.memo(function (_ref2) {
239
242
  instance: resetInstance,
240
243
  item: item
241
244
  }),
242
- overlayClassName: "filter_dropdown_container_".concat(item.type),
245
+ overlayClassName: (0, _classnames.default)("filter_dropdown_container_".concat(item.type), (0, _defineProperty2.default)({}, popupClassName, popupClassName)),
243
246
  onVisibleChange: function onVisibleChange(v) {
244
247
  return setVisible(v);
245
248
  } // 未开启则需手动控制下拉展示组件的初始化
@@ -9,8 +9,5 @@ exports.default = void 0;
9
9
 
10
10
  var _LmFilter = _interopRequireDefault(require("./LmFilter"));
11
11
 
12
- var _components = _interopRequireDefault(require("./components"));
13
-
14
- _LmFilter.default.FilterControl = _components.default;
15
12
  var _default = _LmFilter.default;
16
13
  exports.default = _default;
@@ -61,6 +61,8 @@ var _resetConfig = _interopRequireDefault(require("./resetConfig"));
61
61
 
62
62
  var _virTual = require("./virTual");
63
63
 
64
+ var _useGroupDataSource3 = _interopRequireDefault(require("./hooks/useGroupDataSource"));
65
+
64
66
  var _excluded = ["columns", "dataSource", "autoSize", "rowClick", "onDoubleClick", "checkConfig", "summary", "pagination", "hiddenPage", "loading", "virtual", "sortOpen", "colSortOpen", "resizeable", "customCheck", "components", "rowSelection", "columnsState", "onChange", "filterChange", "tableRowType", "size", "openSheet", "editSheet", "dataChange", "groupRowKeys", "groupColKeys", "emptyProps"],
65
67
  _excluded2 = ["className", "style"],
66
68
  _excluded3 = ["onResize", "width", "onResizeStop"];
@@ -197,15 +199,16 @@ var ResetTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
197
199
  }, [customizeColumns]);
198
200
  /** 行分组 */
199
201
 
200
- var groupDataSource = (0, _react.useMemo)(function () {
201
- if (!(groupRowKeys === null || groupRowKeys === void 0 ? void 0 : groupRowKeys.length)) {
202
- return customizeDataSource;
203
- }
204
-
205
- return (0, _util.transformWithRowGroup)(customizeDataSource, groupRowKeys);
206
- }, [customizeDataSource, groupRowKeys]);
202
+ var _useGroupDataSource = (0, _useGroupDataSource3.default)({
203
+ groupRowKeys: groupRowKeys,
204
+ customizeDataSource: customizeDataSource,
205
+ columnsRef: columnsRef
206
+ }),
207
+ _useGroupDataSource2 = (0, _slicedToArray2.default)(_useGroupDataSource, 1),
208
+ groupDataSource = _useGroupDataSource2[0];
207
209
  /** 列分组 */
208
210
 
211
+
209
212
  var _useMemo = (0, _react.useMemo)(function () {
210
213
  if (!(groupColKeys === null || groupColKeys === void 0 ? void 0 : groupColKeys.length)) {
211
214
  return {
@@ -0,0 +1 @@
1
+ export default function calcExpression(item: any, needCalcKeys: string[]): void;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = calcExpression;
9
+
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
+
12
+ // 分组求和计算
13
+ function calcExpression(item, needCalcKeys) {
14
+ var _a;
15
+
16
+ if ((_a = item === null || item === void 0 ? void 0 : item.children) === null || _a === void 0 ? void 0 : _a.length) {
17
+ needCalcKeys.forEach(function (dkey) {
18
+ var sum = 0;
19
+
20
+ var _dkey = (0, _slicedToArray2.default)(dkey, 2),
21
+ key = _dkey[0],
22
+ expression = _dkey[1];
23
+
24
+ item.children.forEach(function (subItem) {
25
+ if (key in subItem) {
26
+ sum += Number(subItem[key]);
27
+ }
28
+ });
29
+
30
+ if (!sum) {
31
+ return;
32
+ }
33
+
34
+ if (expression === 'sum') {
35
+ item[key] = sum;
36
+ } else if (expression === 'average') {
37
+ item[key] = sum / item.children.length;
38
+ }
39
+ });
40
+ }
41
+ }
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _react = require("react");
11
+
12
+ var _util = require("../util");
13
+
14
+ var _expression = _interopRequireDefault(require("../expression"));
15
+
16
+ /** 行分组 */
17
+ function useGroupDataSource(_ref) {
18
+ var groupRowKeys = _ref.groupRowKeys,
19
+ customizeDataSource = _ref.customizeDataSource,
20
+ columnsRef = _ref.columnsRef;
21
+ var groupDataSource = (0, _react.useMemo)(function () {
22
+ if (!(groupRowKeys === null || groupRowKeys === void 0 ? void 0 : groupRowKeys.length)) {
23
+ return customizeDataSource;
24
+ }
25
+
26
+ var source = (0, _util.transformWithRowGroup)(customizeDataSource, groupRowKeys); // 获取需要计算的key,生成数组
27
+
28
+ var needCalcKeys = columnsRef.current.filter(function (col) {
29
+ return col.expression;
30
+ }).map(function (col) {
31
+ return [col.dataIndex, col.expression];
32
+ });
33
+
34
+ var deepChildren = function deepChildren(arr) {
35
+ arr === null || arr === void 0 ? void 0 : arr.forEach(function (item) {
36
+ if (item === null || item === void 0 ? void 0 : item.children) {
37
+ deepChildren(item === null || item === void 0 ? void 0 : item.children);
38
+ (0, _expression.default)(item, needCalcKeys);
39
+ }
40
+ });
41
+ };
42
+
43
+ deepChildren(source);
44
+ return source;
45
+ }, [customizeDataSource, groupRowKeys]);
46
+ return [groupDataSource];
47
+ }
48
+
49
+ var _default = useGroupDataSource;
50
+ exports.default = _default;
@@ -61,16 +61,21 @@ var useCoreOptions = function useCoreOptions(_ref) {
61
61
  fileAreaSize = props.fileAreaSize,
62
62
  enabledOss = props.enabledOss,
63
63
  enableCrop = props.enableCrop,
64
- ossConfig = props.ossConfig; // 获取两个对象是否存在指定值相等
64
+ ossConfig = props.ossConfig;
65
+ /* 获取两个对象是否存在指定值相等
66
+ * 取用户定义的列字段,如果读取不到则取'fileName'对比
67
+ */
65
68
 
66
69
  var getHasEqual = (0, _react.useCallback)(function (obj1, obj2) {
67
70
  var extend = [uid, 'fileName'];
68
71
  var flag = false;
69
72
  extend.forEach(function (v) {
70
- if (!flag) flag = obj1[v] === obj2[v];
73
+ if (!flag && obj1[v] && obj2[v]) {
74
+ flag = obj1[v] === obj2[v];
75
+ }
71
76
  });
72
77
  return flag;
73
- }, []); // 从对象中读取存在的指定属性
78
+ }, [uid]); // 从对象中读取存在的指定属性
74
79
 
75
80
  var getFileHasValue = (0, _react.useCallback)(function (obj) {
76
81
  var extend = [uid, 'fileName'];
@@ -19,6 +19,8 @@ var _classnames = _interopRequireDefault(require("classnames"));
19
19
 
20
20
  var _SizeContext = _interopRequireDefault(require("../ConfigProvider/SizeContext"));
21
21
 
22
+ var _DisabledContext = _interopRequireDefault(require("../ConfigProvider/DisabledContext"));
23
+
22
24
  var __rest = void 0 && (void 0).__rest || function (s, e) {
23
25
  var t = {};
24
26
 
@@ -37,13 +39,20 @@ var CLMSelect = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
37
39
  var children = props.children,
38
40
  className = props.className,
39
41
  customizeSize = props.size,
42
+ customDisabled = props.disabled,
40
43
  dropdownClassName = props.dropdownClassName,
41
44
  options = props.options,
42
45
  value = props.value,
43
46
  defaultLabel = props.defaultLabel,
44
- others = __rest(props, ["children", "className", "size", "dropdownClassName", "options", "value", "defaultLabel"]);
47
+ rest = __rest(props // ===================== Size =====================
48
+ , ["children", "className", "size", "disabled", "dropdownClassName", "options", "value", "defaultLabel"]); // ===================== Size =====================
49
+
50
+
51
+ var size = customizeSize || _react.default.useContext(_SizeContext.default) || 'middle'; // ===================== Disabled =====================
45
52
 
46
- var size = customizeSize || _react.default.useContext(_SizeContext.default) || 'middle'; // 当前值是否存于选项中
53
+ var disabled = _react.default.useContext(_DisabledContext.default);
54
+
55
+ var mergedDisabled = customDisabled || disabled; // 当前值是否存于选项中
47
56
 
48
57
  var hasOption = (0, _react.useMemo)(function () {
49
58
  var flag = false;
@@ -62,24 +71,27 @@ var CLMSelect = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
62
71
 
63
72
  if (options) {
64
73
  flag = !!options.some(function (v) {
65
- return v.value === value;
74
+ var _a, _b;
75
+
76
+ return v[(_b = (_a = props.fieldNames) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : 'value'] === value;
66
77
  });
67
78
  }
68
79
 
69
80
  return flag;
70
- }, [children, value, options]); // 重组value: 传入value但找不到options项时,展示默认label
81
+ }, [children, value, options, props.fieldNames]); // 重组value: 传入value但找不到options项时,展示默认label
71
82
 
72
83
  var resetValue = (0, _react.useMemo)(function () {
73
84
  if (value && !hasOption) return defaultLabel !== null && defaultLabel !== void 0 ? defaultLabel : value;
74
85
  return value;
75
- }, [value, hasOption]);
86
+ }, [value, defaultLabel, hasOption]);
76
87
  return /*#__PURE__*/_react.default.createElement(_select.default, Object.assign({
77
88
  className: (0, _classnames.default)(className, prefixCls),
78
89
  size: size,
79
90
  ref: ref,
80
91
  value: resetValue,
81
- options: options
82
- }, others, {
92
+ options: options,
93
+ disabled: mergedDisabled || undefined
94
+ }, rest, {
83
95
  dropdownClassName: (0, _classnames.default)('lm_select_dropdown', dropdownClassName)
84
96
  }), children);
85
97
  });
@@ -9001,6 +9001,9 @@ p {
9001
9001
  .lm_container_wrapper .lm_container.responsive.lm_col_5 .ant-form-item-responsive.nth-five {
9002
9002
  margin-right: 0;
9003
9003
  }
9004
+ .lm_container_wrapper .lm_container.responsive .ant-cascader {
9005
+ width: 100%;
9006
+ }
9004
9007
  .lm_form-item-tip-error .ant-form-item-explain {
9005
9008
  width: 100%;
9006
9009
  position: absolute;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "linkmore-design",
3
- "version": "1.1.13-alpha.1",
3
+ "version": "1.1.13-alpha.2",
4
4
  "author": {
5
5
  "name": "nowthen",
6
6
  "email": "rnlvwyx@gmail.com"