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.
- package/CHANGELOG.md +11 -0
- package/dist/Form/demos/disabled.d.ts +2 -0
- package/dist/LmEditTable/EditTable.d.ts +1 -0
- package/dist/LmFilter/LmFilter.d.ts +2 -6
- package/dist/LmTable/expression.d.ts +1 -0
- package/dist/LmTable/hooks/useGroupDataSource.d.ts +7 -0
- package/dist/index.umd.js +210 -62
- package/dist/index.umd.min.js +16 -16
- package/dist/variables.css +3 -0
- package/es/Cascader/index.js +16 -2
- package/es/Form/style/index.css +3 -0
- package/es/Form/style/variables.css +3 -0
- package/es/Input/index.js +21 -9
- package/es/InputNumber/index.js +9 -2
- package/es/LmEditTable/EditTable.d.ts +1 -0
- package/es/LmEditTable/EditTable.js +37 -10
- package/es/LmEditTable/util.js +27 -8
- package/es/LmFilter/LmFilter.js +6 -6
- package/es/LmFilter/components/DropdownFIlter.js +5 -2
- package/es/LmFilter/index.js +0 -3
- package/es/LmTable/Table.js +10 -7
- package/es/LmTable/expression.d.ts +1 -0
- package/es/LmTable/expression.js +31 -0
- package/es/LmTable/hooks/useGroupDataSource.js +50 -0
- package/es/LmUpload/fns/index.js +8 -3
- package/es/Select/index.js +17 -7
- package/es/styles/variables.css +3 -0
- package/lib/Cascader/index.js +16 -2
- package/lib/Form/style/index.css +3 -0
- package/lib/Form/style/variables.css +3 -0
- package/lib/Input/index.js +24 -9
- package/lib/InputNumber/index.js +11 -2
- package/lib/LmEditTable/EditTable.d.ts +1 -0
- package/lib/LmEditTable/EditTable.js +36 -9
- package/lib/LmEditTable/util.js +27 -8
- package/lib/LmFilter/LmFilter.js +6 -6
- package/lib/LmFilter/components/DropdownFIlter.js +5 -2
- package/lib/LmFilter/index.js +0 -3
- package/lib/LmTable/Table.js +10 -7
- package/lib/LmTable/expression.d.ts +1 -0
- package/lib/LmTable/expression.js +41 -0
- package/lib/LmTable/hooks/useGroupDataSource.js +50 -0
- package/lib/LmUpload/fns/index.js +8 -3
- package/lib/Select/index.js +19 -7
- package/lib/styles/variables.css +3 -0
- package/package.json +1 -1
package/lib/Cascader/index.js
CHANGED
|
@@ -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
|
-
|
|
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
|
|
package/lib/Form/style/index.css
CHANGED
|
@@ -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/lib/Input/index.js
CHANGED
|
@@ -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
|
|
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
|
-
|
|
39
|
-
|
|
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
|
|
53
|
+
var mergedDisabled = customDisabled || disabled;
|
|
42
54
|
return /*#__PURE__*/_react.default.createElement(_input.default, Object.assign({
|
|
43
55
|
ref: ref,
|
|
44
|
-
className:
|
|
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
|
-
|
|
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:
|
|
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
|
-
|
|
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:
|
|
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"
|
package/lib/InputNumber/index.js
CHANGED
|
@@ -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
|
-
|
|
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
|
-
},
|
|
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: '
|
|
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
|
|
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
|
-
|
|
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), {
|
package/lib/LmEditTable/util.js
CHANGED
|
@@ -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 (((
|
|
99
|
-
return
|
|
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 (((
|
|
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
|
|
package/lib/LmFilter/LmFilter.js
CHANGED
|
@@ -21,9 +21,10 @@ var _FilterRoot = _interopRequireDefault(require("./wrapper/FilterRoot"));
|
|
|
21
21
|
|
|
22
22
|
var _localization = require("./localization");
|
|
23
23
|
|
|
24
|
-
var
|
|
24
|
+
var _components = _interopRequireDefault(require("./components"));
|
|
25
25
|
|
|
26
|
-
var
|
|
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 =
|
|
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
|
} // 未开启则需手动控制下拉展示组件的初始化
|
package/lib/LmFilter/index.js
CHANGED
|
@@ -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;
|
package/lib/LmTable/Table.js
CHANGED
|
@@ -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
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
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
|
|
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'];
|
package/lib/Select/index.js
CHANGED
|
@@ -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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
92
|
+
options: options,
|
|
93
|
+
disabled: mergedDisabled || undefined
|
|
94
|
+
}, rest, {
|
|
83
95
|
dropdownClassName: (0, _classnames.default)('lm_select_dropdown', dropdownClassName)
|
|
84
96
|
}), children);
|
|
85
97
|
});
|
package/lib/styles/variables.css
CHANGED
|
@@ -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;
|