linkmore-design 1.0.57 → 1.0.58
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/dist/CardTable/LmCardTable.d.ts +1 -0
- package/dist/Empty/demos/custom.d.ts +2 -0
- package/dist/Empty/empty.d.ts +2 -0
- package/dist/Empty/index.d.ts +18 -3
- package/dist/Empty/simple.d.ts +2 -0
- package/dist/LmFilter/utils.d.ts +1 -1
- package/dist/index.umd.js +336 -183
- package/dist/index.umd.min.js +6 -6
- package/es/CardTable/LmCardTable.js +4 -1
- package/es/CardTable/card/PictureTextRow.js +8 -3
- package/es/CardTable/style/index.css +8 -1
- package/es/CustomTableOption/cardSort.js +0 -3
- package/es/CustomTableOption/columnsSort.js +2 -4
- package/es/CustomTableOption/filterSort.js +0 -3
- package/es/CustomTableOption/index.js +2 -2
- package/es/Empty/empty.d.ts +2 -0
- package/es/Empty/empty.js +55 -0
- package/es/Empty/index.d.ts +18 -3
- package/es/Empty/index.js +100 -1
- package/es/Empty/simple.d.ts +2 -0
- package/es/Empty/simple.js +36 -0
- package/es/Empty/style/index.css +44 -0
- package/es/LmFilter/Controls/index.js +32 -2
- package/es/LmFilter/complexFilter/drawer.js +18 -32
- package/es/LmFilter/components/CascaderFilter.js +19 -32
- package/es/LmFilter/components/CheckboxFilter.js +13 -21
- package/es/LmFilter/components/DateFilter.js +50 -22
- package/es/LmFilter/components/DropdownFIlter.js +44 -23
- package/es/LmFilter/components/SelectFilter.js +2 -3
- package/es/LmFilter/components/index.js +5 -61
- package/es/LmFilter/filterFns/index.js +17 -17
- package/es/LmFilter/style/style.css +2 -1
- package/es/LmFilter/utils.js +63 -14
- package/es/LmFilter/wrapper/FilterRoot.js +4 -17
- package/es/LmTable/Table.js +8 -6
- package/lib/CardTable/LmCardTable.js +4 -1
- package/lib/CardTable/card/PictureTextRow.js +8 -3
- package/lib/CardTable/style/index.css +8 -1
- package/lib/CustomTableOption/cardSort.js +0 -3
- package/lib/CustomTableOption/columnsSort.js +2 -4
- package/lib/CustomTableOption/filterSort.js +0 -3
- package/lib/CustomTableOption/index.js +2 -2
- package/lib/Empty/empty.d.ts +2 -0
- package/lib/Empty/empty.js +66 -0
- package/lib/Empty/index.d.ts +18 -3
- package/lib/Empty/index.js +107 -1
- package/lib/Empty/simple.d.ts +2 -0
- package/lib/Empty/simple.js +47 -0
- package/lib/Empty/style/index.css +44 -0
- package/lib/LmFilter/Controls/index.js +32 -2
- package/lib/LmFilter/complexFilter/drawer.js +18 -32
- package/lib/LmFilter/components/CascaderFilter.js +19 -32
- package/lib/LmFilter/components/CheckboxFilter.js +13 -21
- package/lib/LmFilter/components/DateFilter.js +50 -22
- package/lib/LmFilter/components/DropdownFIlter.js +44 -23
- package/lib/LmFilter/components/SelectFilter.js +2 -3
- package/lib/LmFilter/components/index.js +5 -61
- package/lib/LmFilter/filterFns/index.js +17 -17
- package/lib/LmFilter/style/style.css +2 -1
- package/lib/LmFilter/utils.js +63 -14
- package/lib/LmFilter/wrapper/FilterRoot.js +4 -17
- package/lib/LmTable/Table.js +8 -6
- package/package.json +1 -1
|
@@ -44,20 +44,16 @@ var CheckboxFilter = function CheckboxFilter(_ref) {
|
|
|
44
44
|
setVisible = instance.setVisible;
|
|
45
45
|
var _itemProps$data = itemProps.data,
|
|
46
46
|
filters = _itemProps$data === void 0 ? [] : _itemProps$data;
|
|
47
|
-
var inputRef = (0, _react.useRef)(); // 选中的数据项: [
|
|
47
|
+
var inputRef = (0, _react.useRef)(); // 选中的数据项: [key, key, ...];
|
|
48
48
|
|
|
49
49
|
var _useState = (0, _react.useState)(filterValue),
|
|
50
50
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
51
51
|
checkedValues = _useState2[0],
|
|
52
52
|
setCheckedValues = _useState2[1]; // 选中的数据的键
|
|
53
|
+
// const checkedKeys = useMemo(() => checkedValues.map(v => v), [checkedValues]);
|
|
54
|
+
// 搜索后的筛选项
|
|
53
55
|
|
|
54
56
|
|
|
55
|
-
var checkedKeys = (0, _react.useMemo)(function () {
|
|
56
|
-
return checkedValues.map(function (v) {
|
|
57
|
-
return v.value;
|
|
58
|
-
});
|
|
59
|
-
}, [checkedValues]); // 搜索后的筛选项
|
|
60
|
-
|
|
61
57
|
var _useState3 = (0, _react.useState)(filters),
|
|
62
58
|
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
63
59
|
options = _useState4[0],
|
|
@@ -74,7 +70,7 @@ var CheckboxFilter = function CheckboxFilter(_ref) {
|
|
|
74
70
|
return isAll && options.every(function (_ref2) {
|
|
75
71
|
var value = _ref2.value;
|
|
76
72
|
return checkedValues.some(function (v) {
|
|
77
|
-
return v
|
|
73
|
+
return v === value;
|
|
78
74
|
});
|
|
79
75
|
});
|
|
80
76
|
}, [checkedValues, options]); // 是否半选: 存在选中的数据 && 未全选
|
|
@@ -94,20 +90,17 @@ var CheckboxFilter = function CheckboxFilter(_ref) {
|
|
|
94
90
|
|
|
95
91
|
var onChange = function onChange(e, item) {
|
|
96
92
|
e.preventDefault();
|
|
97
|
-
var nValue = checkedValues.some(function (
|
|
98
|
-
var value = _ref3.value;
|
|
93
|
+
var nValue = checkedValues.some(function (value) {
|
|
99
94
|
return value === item.value;
|
|
100
|
-
}) ? checkedValues.filter(function (
|
|
101
|
-
var value = _ref4.value;
|
|
95
|
+
}) ? checkedValues.filter(function (value) {
|
|
102
96
|
return value !== item.value;
|
|
103
|
-
}) : (0, _utils.uniqueFunc)([].concat((0, _toConsumableArray2.default)(checkedValues), [item]), 'value');
|
|
97
|
+
}) : (0, _utils.uniqueFunc)([].concat((0, _toConsumableArray2.default)(checkedValues), [item.value]), 'value');
|
|
104
98
|
setCheckedValues(nValue);
|
|
105
99
|
}; // 全选事件
|
|
106
100
|
|
|
107
101
|
|
|
108
102
|
var onCheckAllChange = function onCheckAllChange() {
|
|
109
|
-
var nValue = checkAll ? checkedValues.filter(function (
|
|
110
|
-
var value = _ref5.value;
|
|
103
|
+
var nValue = checkAll ? checkedValues.filter(function (value) {
|
|
111
104
|
return !options.some(function (v) {
|
|
112
105
|
return v.value === value;
|
|
113
106
|
});
|
|
@@ -159,18 +152,17 @@ var CheckboxFilter = function CheckboxFilter(_ref) {
|
|
|
159
152
|
}, "\u5168\u90E8"), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("span", {
|
|
160
153
|
className: "filter_tip"
|
|
161
154
|
}, "\u5DF2\u9009: ", checkedValues.length)))), /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Checkbox.Group, {
|
|
162
|
-
value:
|
|
155
|
+
value: checkedValues,
|
|
163
156
|
className: "filter_body"
|
|
164
157
|
}, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.VirtualList, {
|
|
165
158
|
options: options,
|
|
166
159
|
className: "filter_list"
|
|
167
|
-
}, function (
|
|
168
|
-
var item =
|
|
169
|
-
resetProps = (0, _objectWithoutProperties2.default)(
|
|
160
|
+
}, function (_ref3) {
|
|
161
|
+
var item = _ref3.item,
|
|
162
|
+
resetProps = (0, _objectWithoutProperties2.default)(_ref3, _excluded);
|
|
170
163
|
return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, resetProps, {
|
|
171
164
|
className: (0, _classnames.default)('filter_item', {
|
|
172
|
-
checked: checkedValues.some(function (
|
|
173
|
-
var value = _ref7.value;
|
|
165
|
+
checked: checkedValues.some(function (value) {
|
|
174
166
|
return value === item.value;
|
|
175
167
|
})
|
|
176
168
|
}),
|
|
@@ -19,15 +19,28 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
19
19
|
|
|
20
20
|
var _linkmoreDesign = require("linkmore-design");
|
|
21
21
|
|
|
22
|
+
var _moment = _interopRequireDefault(require("moment"));
|
|
23
|
+
|
|
22
24
|
var _utils = require("../utils");
|
|
23
25
|
|
|
24
26
|
var RangePicker = function RangePicker(_ref) {
|
|
25
|
-
var
|
|
26
|
-
setFilterValue = _ref.setFilterValue,
|
|
27
|
+
var instance = _ref.instance,
|
|
27
28
|
onChange = _ref.onChange,
|
|
28
|
-
itemProps = _ref.itemProps
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
itemProps = _ref.itemProps;
|
|
30
|
+
var filterValue = instance.filterValue,
|
|
31
|
+
setFilterValue = instance.setFilterValue,
|
|
32
|
+
visible = instance.visible,
|
|
33
|
+
setVisible = instance.setVisible;
|
|
34
|
+
var defaultValue = (0, _react.useMemo)(function () {
|
|
35
|
+
var nValue;
|
|
36
|
+
|
|
37
|
+
if ((0, _utils.getIsHas)(filterValue)) {
|
|
38
|
+
nValue = [(0, _moment.default)(filterValue[0]), (0, _moment.default)(filterValue[1])];
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
return nValue;
|
|
42
|
+
}, [filterValue]); // 最近的时间段, 值为JSON转换后的字符串
|
|
43
|
+
|
|
31
44
|
var ranges = (0, _react.useMemo)(function () {
|
|
32
45
|
return Object.entries((0, _utils.getRanges)()).map(function (item, i) {
|
|
33
46
|
return {
|
|
@@ -82,17 +95,17 @@ var RangePicker = function RangePicker(_ref) {
|
|
|
82
95
|
color: 'var(--text-color)'
|
|
83
96
|
}
|
|
84
97
|
}),
|
|
85
|
-
placeholder: ['开始日期', '结束日期']
|
|
86
|
-
style: {
|
|
87
|
-
width: 210
|
|
88
|
-
}
|
|
98
|
+
placeholder: ['开始日期', '结束日期']
|
|
89
99
|
}, itemProps, {
|
|
100
|
+
value: defaultValue,
|
|
90
101
|
onChange: handleOnChange,
|
|
91
102
|
open: visible,
|
|
103
|
+
onOpenChange: function onOpenChange(vis) {
|
|
104
|
+
return setVisible(vis);
|
|
105
|
+
},
|
|
92
106
|
panelRender: panelRender,
|
|
93
107
|
dropdownClassName: "lm_filter_dropdown_picker",
|
|
94
|
-
|
|
95
|
-
size: "small",
|
|
108
|
+
size: "middle",
|
|
96
109
|
inputReadOnly: true
|
|
97
110
|
})));
|
|
98
111
|
}; // 日期范围选择器
|
|
@@ -103,11 +116,25 @@ var DatePickerFilter = function DatePickerFilter(_ref2) {
|
|
|
103
116
|
itemProps = _ref2.item;
|
|
104
117
|
var filterValue = instance.filterValue,
|
|
105
118
|
setFilterValue = instance.setFilterValue,
|
|
106
|
-
visible = instance.visible
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
119
|
+
visible = instance.visible,
|
|
120
|
+
setVisible = instance.setVisible;
|
|
121
|
+
var props = itemProps.props;
|
|
122
|
+
|
|
123
|
+
var _ref3 = props || {},
|
|
124
|
+
_ref3$picker = _ref3.picker,
|
|
125
|
+
picker = _ref3$picker === void 0 ? 'date' : _ref3$picker;
|
|
126
|
+
|
|
127
|
+
var defaultValue = (0, _react.useMemo)(function () {
|
|
128
|
+
var nValue; // 周/月/季/年 需要处理回显
|
|
129
|
+
|
|
130
|
+
if (picker !== 'date') return nValue;
|
|
131
|
+
|
|
132
|
+
if (filterValue) {
|
|
133
|
+
nValue = (0, _moment.default)(filterValue);
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
return nValue;
|
|
137
|
+
}, [filterValue]); // 选中时间段的触发
|
|
111
138
|
|
|
112
139
|
var onChange = function onChange(dates, dateStrings) {
|
|
113
140
|
setFilterValue((0, _utils.getIsHas)(dateStrings) ? dateStrings : null);
|
|
@@ -115,21 +142,22 @@ var DatePickerFilter = function DatePickerFilter(_ref2) {
|
|
|
115
142
|
|
|
116
143
|
if (['range', 'rangePicker'].includes(itemProps.dateType || itemProps.datetype)) {
|
|
117
144
|
return /*#__PURE__*/_react.default.createElement(RangePicker, {
|
|
118
|
-
|
|
119
|
-
setFilterValue: setFilterValue,
|
|
145
|
+
instance: instance,
|
|
120
146
|
onChange: onChange,
|
|
121
|
-
itemProps: props
|
|
122
|
-
visible: visible
|
|
147
|
+
itemProps: props
|
|
123
148
|
});
|
|
124
149
|
}
|
|
125
150
|
|
|
126
151
|
return /*#__PURE__*/_react.default.createElement(_datePicker.default, (0, _extends2.default)({
|
|
127
152
|
placeholder: "\u9009\u62E9\u65F6\u95F4"
|
|
128
153
|
}, props, {
|
|
154
|
+
defaultValue: defaultValue,
|
|
129
155
|
onChange: onChange,
|
|
130
156
|
open: visible,
|
|
131
|
-
|
|
132
|
-
|
|
157
|
+
onOpenChange: function onOpenChange(vis) {
|
|
158
|
+
return setVisible(vis);
|
|
159
|
+
},
|
|
160
|
+
size: "middle",
|
|
133
161
|
inputReadOnly: true,
|
|
134
162
|
dropdownClassName: "lm_filter_dropdown_picker"
|
|
135
163
|
}));
|
|
@@ -100,57 +100,78 @@ var getPlacehodler = function getPlacehodler(props) {
|
|
|
100
100
|
|
|
101
101
|
|
|
102
102
|
var getLabel = function getLabel(filterValue, item) {
|
|
103
|
-
var
|
|
103
|
+
var _data$find;
|
|
104
104
|
|
|
105
|
-
var
|
|
106
|
-
|
|
105
|
+
var type = item.type,
|
|
106
|
+
data = item.data; // 不存在筛选时
|
|
107
107
|
|
|
108
|
-
if (!(0, _utils.getIsHas)(
|
|
108
|
+
if (!(0, _utils.getIsHas)(filterValue)) {
|
|
109
109
|
return getPlacehodler(item);
|
|
110
|
-
} // 存在筛选数据时
|
|
110
|
+
} // 存在筛选数据时 ⬇️
|
|
111
|
+
// 级联数据转换平级结构
|
|
111
112
|
|
|
112
113
|
|
|
113
|
-
if (
|
|
114
|
+
if (['cascader'].includes(type)) {
|
|
115
|
+
var nArr = (0, _utils.getFlatItem)(filterValue, data);
|
|
116
|
+
var labels = nArr.map(function (v) {
|
|
117
|
+
return v.label;
|
|
118
|
+
});
|
|
119
|
+
|
|
120
|
+
switch (labels.length) {
|
|
121
|
+
case 1:
|
|
122
|
+
return labels[0];
|
|
123
|
+
|
|
124
|
+
case 2:
|
|
125
|
+
return "".concat(labels[0], "\u3001").concat(labels[1]);
|
|
126
|
+
|
|
127
|
+
default:
|
|
128
|
+
return "".concat(labels[0], "\u3001+").concat(labels.length - 1, "...");
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
if (Array.isArray(filterValue)) {
|
|
133
|
+
var _data$filter;
|
|
134
|
+
|
|
114
135
|
// 日期
|
|
115
136
|
if (['date'].includes(type)) {
|
|
116
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null,
|
|
137
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, filterValue[0], /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
|
|
117
138
|
type: "lmweb-swap-right",
|
|
118
139
|
style: {
|
|
119
140
|
fontSize: 14,
|
|
120
141
|
color: 'var(--text-color)'
|
|
121
142
|
}
|
|
122
|
-
}),
|
|
123
|
-
} // 级联数据转换平级结构
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
if (['cascader'].includes(type)) {
|
|
127
|
-
var _filterValue$map;
|
|
128
|
-
|
|
129
|
-
val = (_filterValue$map = filterValue.map(function (v) {
|
|
130
|
-
return v[1] ? v[1] : v[0].children;
|
|
131
|
-
})) === null || _filterValue$map === void 0 ? void 0 : _filterValue$map.flat(2);
|
|
143
|
+
}), filterValue[1]);
|
|
132
144
|
} // 多选
|
|
133
145
|
|
|
134
146
|
|
|
135
|
-
|
|
147
|
+
var _labels = data === null || data === void 0 ? void 0 : (_data$filter = data.filter(function (v) {
|
|
148
|
+
return filterValue.includes(v.value);
|
|
149
|
+
})) === null || _data$filter === void 0 ? void 0 : _data$filter.map(function (v) {
|
|
150
|
+
return v.label;
|
|
151
|
+
});
|
|
152
|
+
|
|
153
|
+
switch (_labels.length) {
|
|
136
154
|
case 1:
|
|
137
|
-
return
|
|
155
|
+
return _labels[0];
|
|
138
156
|
|
|
139
157
|
case 2:
|
|
140
|
-
return "".concat(
|
|
158
|
+
return "".concat(_labels[0], "\u3001").concat(_labels[1]);
|
|
141
159
|
|
|
142
160
|
default:
|
|
143
|
-
return "".concat(
|
|
161
|
+
return "".concat(_labels[0], "\u3001+").concat(_labels.length - 1, "...");
|
|
144
162
|
}
|
|
145
163
|
} // 输入框
|
|
146
164
|
|
|
147
165
|
|
|
148
166
|
if (['input', 'date'].includes(type)) {
|
|
149
|
-
return
|
|
167
|
+
return filterValue;
|
|
150
168
|
} // 单选框
|
|
151
169
|
|
|
152
170
|
|
|
153
|
-
|
|
171
|
+
var label = (_data$find = data.find(function (v) {
|
|
172
|
+
return v.value === filterValue;
|
|
173
|
+
})) === null || _data$find === void 0 ? void 0 : _data$find.label;
|
|
174
|
+
return label;
|
|
154
175
|
};
|
|
155
176
|
/*
|
|
156
177
|
* css样式控制
|
|
@@ -53,7 +53,6 @@ var SelectFilter = function SelectFilter(_ref) {
|
|
|
53
53
|
|
|
54
54
|
var handleFilter = function handleFilter() {
|
|
55
55
|
var val = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
56
|
-
console.log('val', val);
|
|
57
56
|
var serachValues = filters.filter(function (v) {
|
|
58
57
|
return v.label.indexOf(val) > -1;
|
|
59
58
|
});
|
|
@@ -63,7 +62,7 @@ var SelectFilter = function SelectFilter(_ref) {
|
|
|
63
62
|
|
|
64
63
|
var onChange = function onChange(e, obj) {
|
|
65
64
|
e.preventDefault();
|
|
66
|
-
setFilterValue === null || setFilterValue === void 0 ? void 0 : setFilterValue(obj);
|
|
65
|
+
setFilterValue === null || setFilterValue === void 0 ? void 0 : setFilterValue(obj.value);
|
|
67
66
|
}; // 展开下拉时触发: 赋值 && 聚焦 && 重置显示内容
|
|
68
67
|
|
|
69
68
|
|
|
@@ -98,7 +97,7 @@ var SelectFilter = function SelectFilter(_ref) {
|
|
|
98
97
|
resetProps = (0, _objectWithoutProperties2.default)(_ref2, _excluded);
|
|
99
98
|
return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, resetProps, {
|
|
100
99
|
className: (0, _classnames.default)('filter_item', {
|
|
101
|
-
checked: item.value ===
|
|
100
|
+
checked: item.value === filterValue
|
|
102
101
|
}),
|
|
103
102
|
onClick: function onClick(e) {
|
|
104
103
|
return onChange(e, item);
|
|
@@ -55,72 +55,16 @@ var FilterControl = /*#__PURE__*/_react.default.memo(function (props) {
|
|
|
55
55
|
}),
|
|
56
56
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
57
57
|
aliveValue = _useState2[0],
|
|
58
|
-
setAliveValue = _useState2[1]; //
|
|
58
|
+
setAliveValue = _useState2[1]; // 单独使用 检查是否受控模式
|
|
59
59
|
|
|
60
60
|
|
|
61
61
|
var transformFilterValue = (0, _react.useMemo)(function () {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
var getOptions = (resetItem === null || resetItem === void 0 ? void 0 : resetItem.data) || [];
|
|
65
|
-
var nValue = checkedValue;
|
|
66
|
-
|
|
67
|
-
if (['select'].includes(resetItem.type)) {
|
|
68
|
-
nValue = getOptions === null || getOptions === void 0 ? void 0 : getOptions.find(function (v) {
|
|
69
|
-
return v.value === checkedValue;
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
if (['checkbox'].includes(resetItem.type)) {
|
|
74
|
-
nValue = (getOptions === null || getOptions === void 0 ? void 0 : getOptions.filter(function (v) {
|
|
75
|
-
return checkedValue.includes(v.value);
|
|
76
|
-
})) || [];
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
if (['cascader'].includes(resetItem.type)) {
|
|
80
|
-
// 查询值
|
|
81
|
-
// const getRow = (val, arr) => {
|
|
82
|
-
// let nRow = '';
|
|
83
|
-
// arr.forEach(item => {
|
|
84
|
-
// nRow = item.value === val ? item : getRow(val, item.children);
|
|
85
|
-
// })
|
|
86
|
-
// return nRow;
|
|
87
|
-
// };
|
|
88
|
-
// checkedValue?.map(v => {
|
|
89
|
-
// return Array.isArray(v) ? getRow(v) : getRow(v);
|
|
90
|
-
// })
|
|
91
|
-
return '';
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
return nValue;
|
|
95
|
-
}, [value, aliveValue, resetItem.data, resetItem.type]); // 单独使用时抛出选中的值: val => obj || Array
|
|
62
|
+
return value || aliveValue;
|
|
63
|
+
}, [value, aliveValue]); // 单独使用时抛出选中的值
|
|
96
64
|
|
|
97
65
|
var handleChange = function handleChange(val) {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
if (['cascader'].includes(resetItem.type)) {
|
|
101
|
-
var flatKeys = function flatKeys(arr) {
|
|
102
|
-
return arr.map(function (v) {
|
|
103
|
-
return v.value;
|
|
104
|
-
});
|
|
105
|
-
};
|
|
106
|
-
|
|
107
|
-
nValue = val.map(function (v) {
|
|
108
|
-
return Array.isArray(v) ? flatKeys(v) : v.value;
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
if (['select'].includes(resetItem.type)) {
|
|
113
|
-
nValue = val.value;
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
if (['checkbox'].includes(resetItem.type)) {
|
|
117
|
-
nValue = val.map(function (v) {
|
|
118
|
-
return v.value;
|
|
119
|
-
});
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
setAliveValue === null || setAliveValue === void 0 ? void 0 : setAliveValue(nValue);
|
|
123
|
-
onChange === null || onChange === void 0 ? void 0 : onChange(nValue);
|
|
66
|
+
setAliveValue === null || setAliveValue === void 0 ? void 0 : setAliveValue(val);
|
|
67
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(val);
|
|
124
68
|
}; // 重组instance
|
|
125
69
|
|
|
126
70
|
|
|
@@ -21,6 +21,8 @@ var CoreOptions = function CoreOptions(_ref) {
|
|
|
21
21
|
var onChange = props.onChange; // 设置筛选的值 item => Object || Array => [{label: '', value: ''}, ...]
|
|
22
22
|
|
|
23
23
|
var setFilterValue = function setFilterValue(item, field) {
|
|
24
|
+
var _Object$entries;
|
|
25
|
+
|
|
24
26
|
var basicFilter = (0, _objectSpread3.default)((0, _objectSpread3.default)({}, state.basicFilter), {}, (0, _defineProperty2.default)({}, field, item));
|
|
25
27
|
|
|
26
28
|
if (!(0, _utils.getIsHas)(item)) {
|
|
@@ -32,26 +34,24 @@ var CoreOptions = function CoreOptions(_ref) {
|
|
|
32
34
|
type: 'changeBasicFilter',
|
|
33
35
|
basicFilter: basicFilter
|
|
34
36
|
});
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
return obj;
|
|
49
|
-
}; // 触发外部事件
|
|
50
|
-
|
|
37
|
+
dispatch({
|
|
38
|
+
type: 'changeComplexFilter',
|
|
39
|
+
complexFilter: {}
|
|
40
|
+
}); // 基础筛选清空高级筛选
|
|
41
|
+
// 抛出给外部存储
|
|
42
|
+
|
|
43
|
+
var filterQuery = (_Object$entries = Object.entries(basicFilter)) === null || _Object$entries === void 0 ? void 0 : _Object$entries.map(function (v) {
|
|
44
|
+
return {
|
|
45
|
+
fieldName: v[0],
|
|
46
|
+
value: v[1],
|
|
47
|
+
operator: 0
|
|
48
|
+
};
|
|
49
|
+
}); // 触发外部事件
|
|
51
50
|
|
|
52
51
|
onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
53
52
|
basicFilter: basicFilter,
|
|
54
|
-
|
|
53
|
+
filterQuery: filterQuery,
|
|
54
|
+
type: 'basic'
|
|
55
55
|
});
|
|
56
56
|
}; // 根据字段查找过滤的数据, 不存在时返回默认值
|
|
57
57
|
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
display: inline-flex;
|
|
15
15
|
}
|
|
16
16
|
.lm_filter_basic_item {
|
|
17
|
+
font-size: 12px;
|
|
17
18
|
display: inline-flex;
|
|
18
19
|
align-items: center;
|
|
19
20
|
line-height: 1;
|
|
@@ -65,7 +66,7 @@
|
|
|
65
66
|
}
|
|
66
67
|
.ant-dropdown.filter_dropdown_container_date .ant-picker {
|
|
67
68
|
visibility: hidden;
|
|
68
|
-
transform: translateY(-
|
|
69
|
+
transform: translateY(-36px);
|
|
69
70
|
}
|
|
70
71
|
.ant-dropdown .filter_dropdown {
|
|
71
72
|
display: flex;
|
package/lib/LmFilter/utils.js
CHANGED
|
@@ -5,14 +5,12 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.
|
|
8
|
+
exports.getFlatItem = getFlatItem;
|
|
9
9
|
exports.getIsHas = getIsHas;
|
|
10
10
|
exports.getRanges = getRanges;
|
|
11
11
|
exports.getValueForType = getValueForType;
|
|
12
12
|
exports.uniqueFunc = uniqueFunc;
|
|
13
13
|
|
|
14
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
15
|
-
|
|
16
14
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
17
15
|
|
|
18
16
|
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
@@ -44,7 +42,9 @@ function getValueForType(type) {
|
|
|
44
42
|
function uniqueFunc(arr, guid) {
|
|
45
43
|
var res = new Map();
|
|
46
44
|
return arr.filter(function (item) {
|
|
47
|
-
|
|
45
|
+
var isHas = (item === null || item === void 0 ? void 0 : item[guid]) || typeof (item === null || item === void 0 ? void 0 : item[guid]) === 'number';
|
|
46
|
+
var resetItem = isHas ? item === null || item === void 0 ? void 0 : item[guid] : item;
|
|
47
|
+
return !res.has(resetItem) && res.set(resetItem, 1);
|
|
48
48
|
});
|
|
49
49
|
} // 获取最近的时间段
|
|
50
50
|
|
|
@@ -55,17 +55,66 @@ function getRanges() {
|
|
|
55
55
|
'近一月': [(0, _dayjs.default)().subtract(1, 'month').format('YYYY-MM-DD'), (0, _dayjs.default)().format('YYYY-MM-DD')],
|
|
56
56
|
'近一年': [(0, _dayjs.default)().subtract(1, 'year').format('YYYY-MM-DD'), (0, _dayjs.default)().format('YYYY-MM-DD')]
|
|
57
57
|
};
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
58
|
+
} // 级联选择器获取深层结构数据 type: 遍历子/父结构
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
function getFlatItem(filterValues, originArr) {
|
|
62
|
+
var type = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'children';
|
|
63
|
+
var nArr = []; // 获取子级项
|
|
64
|
+
|
|
65
|
+
var getChildren = function getChildren(item) {
|
|
66
|
+
var _item$children;
|
|
67
|
+
|
|
68
|
+
if (type === 'parent') {
|
|
69
|
+
nArr.push(item);
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
if (item === null || item === void 0 ? void 0 : (_item$children = item.children) === null || _item$children === void 0 ? void 0 : _item$children.length) {
|
|
74
|
+
item === null || item === void 0 ? void 0 : item.children.forEach(function (v) {
|
|
75
|
+
return getChildren(v);
|
|
76
|
+
});
|
|
66
77
|
} else {
|
|
67
|
-
|
|
78
|
+
nArr.push(item);
|
|
79
|
+
}
|
|
80
|
+
}; // 检测到三级结构
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
filterValues.forEach(function (item) {
|
|
84
|
+
if (item.length === 1) {
|
|
85
|
+
var findItem = originArr.find(function (v) {
|
|
86
|
+
return v.value === item[item.length - 1];
|
|
87
|
+
});
|
|
88
|
+
getChildren(findItem);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
if (item.length === 2) {
|
|
92
|
+
var findArr1 = originArr.find(function (v) {
|
|
93
|
+
return v.value === item[0];
|
|
94
|
+
}).children;
|
|
95
|
+
|
|
96
|
+
var _findItem = findArr1.find(function (v) {
|
|
97
|
+
return v.value === item[item.length - 1];
|
|
98
|
+
});
|
|
99
|
+
|
|
100
|
+
getChildren(_findItem);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
if (item.length === 3) {
|
|
104
|
+
var _findArr = originArr.find(function (v) {
|
|
105
|
+
return v.value === item[0];
|
|
106
|
+
}).children;
|
|
107
|
+
|
|
108
|
+
var findArr2 = _findArr.find(function (v) {
|
|
109
|
+
return v.value === item[1];
|
|
110
|
+
}).children;
|
|
111
|
+
|
|
112
|
+
var _findItem2 = findArr2.find(function (v) {
|
|
113
|
+
return v.value === item[item.length - 1];
|
|
114
|
+
});
|
|
115
|
+
|
|
116
|
+
nArr.push(_findItem2);
|
|
68
117
|
}
|
|
69
118
|
});
|
|
70
|
-
return
|
|
119
|
+
return nArr;
|
|
71
120
|
}
|
|
@@ -72,30 +72,17 @@ var reducer = function reducer(state, action) {
|
|
|
72
72
|
default:
|
|
73
73
|
throw new Error();
|
|
74
74
|
}
|
|
75
|
-
}; //
|
|
76
|
-
// const findItem = arr.find(item => {
|
|
77
|
-
// return item.field === fieldName;
|
|
78
|
-
// })
|
|
79
|
-
// switch (findItem.type) {
|
|
80
|
-
// case 'input':
|
|
81
|
-
// return value;
|
|
82
|
-
// case 'select':
|
|
83
|
-
// return findItem.data.find(v => v.value === value);
|
|
84
|
-
// case 'checkbox':
|
|
85
|
-
// return findItem.data.find(v => [value].includes(v.value));
|
|
86
|
-
// default:
|
|
87
|
-
// break;
|
|
88
|
-
// }
|
|
89
|
-
// };
|
|
90
|
-
// 仅在初始化时触发一次
|
|
75
|
+
}; // 仅在初始化时触发一次
|
|
91
76
|
|
|
92
77
|
|
|
93
78
|
var getInitialState = function getInitialState(_ref) {
|
|
79
|
+
var _filterQuery$filter;
|
|
80
|
+
|
|
94
81
|
var localization = _ref.localization;
|
|
95
82
|
var globalQuery = localization.globalQuery,
|
|
96
83
|
filterQuery = localization.filterQuery;
|
|
97
84
|
var basicFilter = {};
|
|
98
|
-
filterQuery.filter.forEach(function (item) {
|
|
85
|
+
filterQuery === null || filterQuery === void 0 ? void 0 : (_filterQuery$filter = filterQuery.filter) === null || _filterQuery$filter === void 0 ? void 0 : _filterQuery$filter.forEach(function (item) {
|
|
99
86
|
basicFilter[item.fieldName] = item.value;
|
|
100
87
|
});
|
|
101
88
|
return {
|
package/lib/LmTable/Table.js
CHANGED
|
@@ -23,14 +23,14 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
|
|
|
23
23
|
|
|
24
24
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
25
25
|
|
|
26
|
-
var _icons = require("@ant-design/icons");
|
|
27
|
-
|
|
28
26
|
var _proTable = _interopRequireDefault(require("@ant-design/pro-table"));
|
|
29
27
|
|
|
30
28
|
var _sortable = require("@dnd-kit/sortable");
|
|
31
29
|
|
|
32
30
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
33
31
|
|
|
32
|
+
var _linkmoreDesign = require("linkmore-design");
|
|
33
|
+
|
|
34
34
|
var _lodash = require("lodash");
|
|
35
35
|
|
|
36
36
|
var _react = _interopRequireWildcard(require("react"));
|
|
@@ -39,13 +39,11 @@ var _reactResizable = require("react-resizable");
|
|
|
39
39
|
|
|
40
40
|
var _reactSortableHoc = require("react-sortable-hoc");
|
|
41
41
|
|
|
42
|
-
var _linkmoreDesign = require("linkmore-design");
|
|
43
|
-
|
|
44
42
|
var _empty = _interopRequireDefault(require("./assets/empty.png"));
|
|
45
43
|
|
|
46
44
|
var _resetConfig = _interopRequireDefault(require("./resetConfig"));
|
|
47
45
|
|
|
48
|
-
var _excluded = ["dataSource", "autoSize", "columns", "rowClick", "onDoubleClick", "checkConfig", "summary", "pagination", "hiddenPage", "loading", "virtual", "sortOpen", "resizeable", "customCheck", "components", "rowSelection", "columnsState", "onChange", "filterChange", "tableRowType", "size"],
|
|
46
|
+
var _excluded = ["dataSource", "autoSize", "columns", "rowClick", "onDoubleClick", "checkConfig", "summary", "pagination", "hiddenPage", "loading", "virtual", "sortOpen", "resizeable", "customCheck", "components", "rowSelection", "columnsState", "onChange", "filterChange", "tableRowType", "size", "emptyProps"],
|
|
49
47
|
_excluded2 = ["className", "style"],
|
|
50
48
|
_excluded3 = ["onResize", "width", "onResizeStop"];
|
|
51
49
|
var Summary = _proTable.default.Summary; // const DragHandle = SortableHandle(() => <MenuOutlined style={{ cursor: 'grab', color: '#999' }} />);
|
|
@@ -97,7 +95,9 @@ var ResetTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
97
95
|
tableRowType = _props$tableRowType === void 0 ? 'default' : _props$tableRowType,
|
|
98
96
|
_props$size = props.size,
|
|
99
97
|
size = _props$size === void 0 ? 'default' : _props$size,
|
|
98
|
+
emptyProps = props.emptyProps,
|
|
100
99
|
resetProps = (0, _objectWithoutProperties2.default)(props, _excluded);
|
|
100
|
+
console.log(emptyProps, '--emptyProps');
|
|
101
101
|
var _resetProps$rowKey = resetProps.rowKey,
|
|
102
102
|
rowKey = _resetProps$rowKey === void 0 ? 'id' : _resetProps$rowKey;
|
|
103
103
|
|
|
@@ -513,7 +513,9 @@ var ResetTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
513
513
|
width: '100%'
|
|
514
514
|
}
|
|
515
515
|
}, /*#__PURE__*/_react.default.createElement(_configProvider.default, {
|
|
516
|
-
renderEmpty:
|
|
516
|
+
renderEmpty: emptyProps ? function () {
|
|
517
|
+
return /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Empty, emptyProps, (emptyProps === null || emptyProps === void 0 ? void 0 : emptyProps.footer) || null);
|
|
518
|
+
} : customizeRenderEmpty
|
|
517
519
|
}, /*#__PURE__*/_react.default.createElement(_proTable.default, (0, _extends2.default)({}, config, {
|
|
518
520
|
loading: loading,
|
|
519
521
|
dataSource: dataSource,
|