linkmore-design 1.1.13 → 1.1.14

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 (37) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/Form/demos/disabled.d.ts +2 -0
  3. package/dist/LmFilter/LmFilter.d.ts +2 -6
  4. package/dist/LmTable/expression.d.ts +1 -0
  5. package/dist/LmTable/hooks/useGroupDataSource.d.ts +7 -0
  6. package/dist/index.umd.js +126 -33
  7. package/dist/index.umd.min.js +15 -15
  8. package/dist/variables.css +3 -0
  9. package/es/Form/style/index.css +3 -0
  10. package/es/Form/style/variables.css +3 -0
  11. package/es/Input/index.js +20 -4
  12. package/es/InputNumber/index.js +9 -2
  13. package/es/LmFilter/LmFilter.js +6 -6
  14. package/es/LmFilter/components/DropdownFIlter.js +5 -2
  15. package/es/LmFilter/index.js +0 -3
  16. package/es/LmTable/Table.js +10 -7
  17. package/es/LmTable/expression.d.ts +1 -0
  18. package/es/LmTable/expression.js +31 -0
  19. package/es/LmTable/hooks/useGroupDataSource.js +50 -0
  20. package/es/LmUpload/fns/index.js +8 -3
  21. package/es/Select/index.js +12 -4
  22. package/es/styles/variables.css +3 -0
  23. package/lib/Form/style/index.css +3 -0
  24. package/lib/Form/style/variables.css +3 -0
  25. package/lib/Input/index.js +22 -4
  26. package/lib/InputNumber/index.js +11 -2
  27. package/lib/LmFilter/LmFilter.js +6 -6
  28. package/lib/LmFilter/components/DropdownFIlter.js +5 -2
  29. package/lib/LmFilter/index.js +0 -3
  30. package/lib/LmTable/Table.js +10 -7
  31. package/lib/LmTable/expression.d.ts +1 -0
  32. package/lib/LmTable/expression.js +41 -0
  33. package/lib/LmTable/hooks/useGroupDataSource.js +50 -0
  34. package/lib/LmUpload/fns/index.js +8 -3
  35. package/lib/Select/index.js +14 -4
  36. package/lib/styles/variables.css +3 -0
  37. package/package.json +1 -1
@@ -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;
@@ -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;
package/es/Input/index.js CHANGED
@@ -17,16 +17,32 @@ var __rest = this && this.__rest || function (s, e) {
17
17
  import React, { forwardRef } from 'react';
18
18
  import IconFont from '../IconFont';
19
19
  import SizeContext from '../ConfigProvider/SizeContext';
20
+ import DisabledContext from '../ConfigProvider/DisabledContext';
20
21
  var LmInput = /*#__PURE__*/forwardRef(function (props, ref) {
21
- var _props$allowClear = props.allowClear,
22
+ var customizePrefixCls = props.prefixCls,
23
+ _props$bordered = props.bordered,
24
+ bordered = _props$bordered === void 0 ? true : _props$bordered,
25
+ customStatus = props.status,
26
+ customSize = props.size,
27
+ customDisabled = props.disabled,
28
+ onBlur = props.onBlur,
29
+ onFocus = props.onFocus,
30
+ suffix = props.suffix,
31
+ _props$allowClear = props.allowClear,
22
32
  allowClear = _props$allowClear === void 0 ? true : _props$allowClear,
23
- customizeSize = props.size,
24
- rest = __rest(props, ["allowClear", "size"]);
33
+ addonAfter = props.addonAfter,
34
+ addonBefore = props.addonBefore,
35
+ rest = __rest(props, ["prefixCls", "bordered", "status", "size", "disabled", "onBlur", "onFocus", "suffix", "allowClear", "addonAfter", "addonBefore"]); // ===================== Size =====================
25
36
 
26
- var size = customizeSize || React.useContext(SizeContext) || 'middle';
37
+
38
+ var size = customSize || React.useContext(SizeContext) || 'middle'; // ===================== Disabled =====================
39
+
40
+ var disabled = React.useContext(DisabledContext);
41
+ var mergedDisabled = customDisabled || disabled;
27
42
  return /*#__PURE__*/React.createElement(_Input, Object.assign({
28
43
  ref: ref,
29
44
  className: "lm_input",
45
+ disabled: mergedDisabled || undefined,
30
46
  size: size
31
47
  }, rest, {
32
48
  allowClear: allowClear
@@ -16,17 +16,24 @@ var __rest = this && this.__rest || function (s, e) {
16
16
 
17
17
  import classNames from 'classnames';
18
18
  import React from 'react';
19
+ import DisabledContext from '../ConfigProvider/DisabledContext';
19
20
  var prefixCls = 'lm_input-number';
20
21
 
21
22
  var LMInputNumber = function LMInputNumber(props) {
22
23
  var children = props.children,
23
24
  className = props.className,
24
- others = __rest(props, ["children", "className"]);
25
+ customDisabled = props.disabled,
26
+ rest = __rest(props // ===================== Disabled =====================
27
+ , ["children", "className", "disabled"]); // ===================== Disabled =====================
25
28
 
29
+
30
+ var disabled = React.useContext(DisabledContext);
31
+ var mergedDisabled = customDisabled || disabled;
26
32
  return /*#__PURE__*/React.createElement(_InputNumber, Object.assign({
27
33
  className: classNames(className, prefixCls),
34
+ disabled: mergedDisabled,
28
35
  placeholder: "\u8BF7\u8F93\u5165"
29
- }, others));
36
+ }, rest));
30
37
  };
31
38
 
32
39
  var CInputNumber = LMInputNumber;
@@ -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/esm/defineProperty"));
13
+
12
14
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
13
15
 
14
16
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/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,31 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
+ // 分组求和计算
3
+ export default function calcExpression(item, needCalcKeys) {
4
+ var _a;
5
+
6
+ if ((_a = item === null || item === void 0 ? void 0 : item.children) === null || _a === void 0 ? void 0 : _a.length) {
7
+ needCalcKeys.forEach(function (dkey) {
8
+ var sum = 0;
9
+
10
+ var _dkey = _slicedToArray(dkey, 2),
11
+ key = _dkey[0],
12
+ expression = _dkey[1];
13
+
14
+ item.children.forEach(function (subItem) {
15
+ if (key in subItem) {
16
+ sum += Number(subItem[key]);
17
+ }
18
+ });
19
+
20
+ if (!sum) {
21
+ return;
22
+ }
23
+
24
+ if (expression === 'sum') {
25
+ item[key] = sum;
26
+ } else if (expression === 'average') {
27
+ item[key] = sum / item.children.length;
28
+ }
29
+ });
30
+ }
31
+ }
@@ -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;
@@ -49,16 +49,21 @@ var useCoreOptions = function useCoreOptions(_ref) {
49
49
  fileAreaSize = props.fileAreaSize,
50
50
  enabledOss = props.enabledOss,
51
51
  enableCrop = props.enableCrop,
52
- ossConfig = props.ossConfig; // 获取两个对象是否存在指定值相等
52
+ ossConfig = props.ossConfig;
53
+ /* 获取两个对象是否存在指定值相等
54
+ * 取用户定义的列字段,如果读取不到则取'fileName'对比
55
+ */
53
56
 
54
57
  var getHasEqual = useCallback(function (obj1, obj2) {
55
58
  var extend = [uid, 'fileName'];
56
59
  var flag = false;
57
60
  extend.forEach(function (v) {
58
- if (!flag) flag = obj1[v] === obj2[v];
61
+ if (!flag && obj1[v] && obj2[v]) {
62
+ flag = obj1[v] === obj2[v];
63
+ }
59
64
  });
60
65
  return flag;
61
- }, []); // 从对象中读取存在的指定属性
66
+ }, [uid]); // 从对象中读取存在的指定属性
62
67
 
63
68
  var getFileHasValue = useCallback(function (obj) {
64
69
  var extend = [uid, 'fileName'];
@@ -17,18 +17,25 @@ var __rest = this && this.__rest || function (s, e) {
17
17
  import React, { forwardRef, useMemo } from 'react';
18
18
  import classNames from 'classnames';
19
19
  import SizeContext from '../ConfigProvider/SizeContext';
20
+ import DisabledContext from '../ConfigProvider/DisabledContext';
20
21
  var prefixCls = 'lm_select';
21
22
  var CLMSelect = /*#__PURE__*/forwardRef(function (props, ref) {
22
23
  var children = props.children,
23
24
  className = props.className,
24
25
  customizeSize = props.size,
26
+ customDisabled = props.disabled,
25
27
  dropdownClassName = props.dropdownClassName,
26
28
  options = props.options,
27
29
  value = props.value,
28
30
  defaultLabel = props.defaultLabel,
29
- others = __rest(props, ["children", "className", "size", "dropdownClassName", "options", "value", "defaultLabel"]);
31
+ rest = __rest(props // ===================== Size =====================
32
+ , ["children", "className", "size", "disabled", "dropdownClassName", "options", "value", "defaultLabel"]); // ===================== Size =====================
30
33
 
31
- var size = customizeSize || React.useContext(SizeContext) || 'middle'; // 当前值是否存于选项中
34
+
35
+ var size = customizeSize || React.useContext(SizeContext) || 'middle'; // ===================== Disabled =====================
36
+
37
+ var disabled = React.useContext(DisabledContext);
38
+ var mergedDisabled = customDisabled || disabled; // 当前值是否存于选项中
32
39
 
33
40
  var hasOption = useMemo(function () {
34
41
  var flag = false;
@@ -65,8 +72,9 @@ var CLMSelect = /*#__PURE__*/forwardRef(function (props, ref) {
65
72
  size: size,
66
73
  ref: ref,
67
74
  value: resetValue,
68
- options: options
69
- }, others, {
75
+ options: options,
76
+ disabled: mergedDisabled || undefined
77
+ }, rest, {
70
78
  dropdownClassName: classNames('lm_select_dropdown', dropdownClassName)
71
79
  }), children);
72
80
  });
@@ -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;
@@ -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;
@@ -19,6 +19,8 @@ var _IconFont = _interopRequireDefault(require("../IconFont"));
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
 
@@ -33,15 +35,31 @@ var __rest = void 0 && (void 0).__rest || function (s, e) {
33
35
  };
34
36
 
35
37
  var LmInput = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
36
- var _props$allowClear = props.allowClear,
38
+ var customizePrefixCls = props.prefixCls,
39
+ _props$bordered = props.bordered,
40
+ bordered = _props$bordered === void 0 ? true : _props$bordered,
41
+ customStatus = props.status,
42
+ customSize = props.size,
43
+ customDisabled = props.disabled,
44
+ onBlur = props.onBlur,
45
+ onFocus = props.onFocus,
46
+ suffix = props.suffix,
47
+ _props$allowClear = props.allowClear,
37
48
  allowClear = _props$allowClear === void 0 ? true : _props$allowClear,
38
- customizeSize = props.size,
39
- rest = __rest(props, ["allowClear", "size"]);
49
+ addonAfter = props.addonAfter,
50
+ addonBefore = props.addonBefore,
51
+ rest = __rest(props, ["prefixCls", "bordered", "status", "size", "disabled", "onBlur", "onFocus", "suffix", "allowClear", "addonAfter", "addonBefore"]); // ===================== Size =====================
52
+
53
+
54
+ var size = customSize || _react.default.useContext(_SizeContext.default) || 'middle'; // ===================== Disabled =====================
55
+
56
+ var disabled = _react.default.useContext(_DisabledContext.default);
40
57
 
41
- var size = customizeSize || _react.default.useContext(_SizeContext.default) || 'middle';
58
+ var mergedDisabled = customDisabled || disabled;
42
59
  return /*#__PURE__*/_react.default.createElement(_input.default, Object.assign({
43
60
  ref: ref,
44
61
  className: "lm_input",
62
+ disabled: mergedDisabled || undefined,
45
63
  size: size
46
64
  }, rest, {
47
65
  allowClear: allowClear
@@ -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;
@@ -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;