linkmore-design 1.1.13-alpha.0 → 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 +210 -62
  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 +37 -10
  17. package/es/LmEditTable/util.js +27 -8
  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 +36 -9
  35. package/lib/LmEditTable/util.js +27 -8
  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
@@ -37,12 +37,26 @@ var LMCascader = function LMCascader(props) {
37
37
  dropdownClassName = props.dropdownClassName,
38
38
  _props$placeholder = props.placeholder,
39
39
  placeholder = _props$placeholder === void 0 ? '请选择' : _props$placeholder,
40
- others = __rest(props, ["children", "className", "dropdownClassName", "placeholder"]);
40
+ defaultLabel = props.defaultLabel,
41
+ others = __rest(props, ["children", "className", "dropdownClassName", "placeholder", "defaultLabel"]);
42
+
43
+ var displayRender = function displayRender(label, selectedOptions) {
44
+ var hasUndefined = selectedOptions.some(function (v) {
45
+ return !v;
46
+ });
47
+
48
+ if (hasUndefined && defaultLabel) {
49
+ return defaultLabel;
50
+ }
51
+
52
+ return label.join('/');
53
+ };
41
54
 
42
55
  return /*#__PURE__*/_react.default.createElement(_cascader.default, Object.assign({
43
56
  placeholder: placeholder,
44
57
  className: (0, _classnames.default)(prefixCls, className),
45
- dropdownClassName: (0, _classnames.default)(prefixDropdownCls, dropdownClassName)
58
+ dropdownClassName: (0, _classnames.default)(prefixDropdownCls, dropdownClassName),
59
+ displayRender: displayRender
46
60
  }, others));
47
61
  };
48
62
 
@@ -6663,6 +6663,9 @@ p {
6663
6663
  .lm_container_wrapper .lm_container.responsive.lm_col_5 .ant-form-item-responsive.nth-five {
6664
6664
  margin-right: 0;
6665
6665
  }
6666
+ .lm_container_wrapper .lm_container.responsive .ant-cascader {
6667
+ width: 100%;
6668
+ }
6666
6669
  .lm_form-item-tip-error .ant-form-item-explain {
6667
6670
  width: 100%;
6668
6671
  position: absolute;
@@ -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:
@@ -734,7 +734,6 @@ var MemoEditableCell = /*#__PURE__*/(0, _react.memo)(EditableCell, function (pre
734
734
  var pickProps = ['record', 'colIndex'];
735
735
  var p = (0, _lodash.pick)(prev, pickProps);
736
736
  var n = (0, _lodash.pick)(next, pickProps); // console.log(prev, next, '22', checkMemoShouldUploadSpecialFun(prev, next), isEqual(p, n))
737
- // console.log(prev, next, '-sss')
738
737
 
739
738
  /** TODO: 在record中带有children,子列表数据修改之后,会导致父级的record对比不一样 */
740
739
 
@@ -764,6 +763,8 @@ var EditTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
764
763
  virtual = props.virtual,
765
764
  sortOpen = props.sortOpen,
766
765
  colSortOpen = props.colSortOpen,
766
+ _props$indexCol = props.indexCol,
767
+ indexCol = _props$indexCol === void 0 ? false : _props$indexCol,
767
768
  filterChange = props.filterChange,
768
769
  _props$size = props.size,
769
770
  size = _props$size === void 0 ? 'small' : _props$size,
@@ -771,7 +772,7 @@ var EditTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
771
772
  _props$shouldUpdate = props.shouldUpdate,
772
773
  shouldUpdate = _props$shouldUpdate === void 0 ? false : _props$shouldUpdate,
773
774
  resetProps = __rest(props // const [dataSource, setDataSource] = useState([]);
774
- , ["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([]);
775
776
 
776
777
 
777
778
  var _useControllableValue = (0, _ahooks.useControllableValue)({
@@ -1116,16 +1117,35 @@ var EditTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
1116
1117
  var rColumns = hasDisableOptions ? DisableOptions : columns;
1117
1118
  var localColumns = [sortOpen ? {
1118
1119
  title: '排序',
1119
- dataIndex: 'sort',
1120
+ dataIndex: '_sort',
1120
1121
  width: 48,
1121
1122
  maxWidth: 48,
1122
1123
  className: 'drag-visible',
1124
+ fixed: 'left',
1123
1125
  render: function render(_, record) {
1124
1126
  return /*#__PURE__*/_react.default.createElement(_DragHandle.default, {
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,24 +94,43 @@ 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? 这样排序之后,渲染的性能就会变差 */
97
98
 
98
- 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)) {
99
- return (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);
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
+ }
106
+
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)) {
108
+ return false;
109
+ }
110
+
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)) {
112
+ // return isEqual(prevCol?.componentProps?.options, nextCol?.componentProps?.options)
113
+ return false;
114
+ }
115
+
116
+ if (((prevCol === null || prevCol === void 0 ? void 0 : prevCol.order) || (nextCol === null || nextCol === void 0 ? void 0 : nextCol.order)) && !(0, _lodash.isEqual)(prevCol === null || prevCol === void 0 ? void 0 : prevCol.order, nextCol === null || nextCol === void 0 ? void 0 : nextCol.order)) {
117
+ // return isEqual(prevCol?.order, nextCol?.fixed)
118
+ return false;
119
+ }
120
+
121
+ if (next.className.indexOf('ant-table-selection-column') > -1) {
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);
100
123
  }
101
124
  /** 如果启用了快速复制功能,需要实时判断rowIndex与getLength */
102
125
 
103
126
 
104
- if (((_e = prevCol === null || prevCol === void 0 ? void 0 : prevCol.componentProps) === null || _e === void 0 ? void 0 : _e.quickcopy) || ((_f = nextCol === null || nextCol === void 0 ? void 0 : nextCol.componentProps) === null || _f === void 0 ? void 0 : _f.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)) {
105
128
  var pickProps = ['record', 'colIndex', 'rowIndex', 'getLength'];
106
129
  var p = (0, _lodash.pick)(prev, pickProps);
107
130
  var n = (0, _lodash.pick)(next, pickProps);
108
131
  return (0, _lodash.isEqual)(p, n);
109
132
  }
110
133
 
111
- if (next.className.indexOf('ant-table-selection-column') > -1) {
112
- 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);
113
- }
114
-
115
134
  return true;
116
135
  }
117
136
 
@@ -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.0",
3
+ "version": "1.1.13-alpha.2",
4
4
  "author": {
5
5
  "name": "nowthen",
6
6
  "email": "rnlvwyx@gmail.com"