linkmore-design 1.0.24 → 1.0.27
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/index.umd.js +4874 -1210
- package/dist/index.umd.min.js +7 -7
- package/es/Button/index.js +1 -1
- package/es/Button/style/style.css +6 -0
- package/es/ButtonTags/style/style.css +3 -0
- package/es/Card/style/index.css +3 -0
- package/es/Checkbox/style/style.css +9 -0
- package/es/CkFilter/baseFilter/NestedFilter.js +137 -0
- package/es/CkFilter/baseFilter/filterMenu.js +15 -9
- package/es/CkFilter/baseFilter/index.js +5 -2
- package/es/CkFilter/baseFilter/moreFilters.js +20 -2
- package/es/CkFilter/complexFilter/drawer.js +35 -20
- package/es/CkFilter/complexFilter/index.js +1 -1
- package/es/CkFilter/components/Controls.js +8 -0
- package/es/CkFilter/components/DragBox/DndContainer.js +49 -0
- package/es/CkFilter/components/DragBox/index.js +63 -0
- package/es/CkFilter/components/DragBox/sortableBox.js +24 -0
- package/es/CkFilter/components/DragBox/sortableItem.js +111 -0
- package/es/CkFilter/components/Nested.js +90 -0
- package/es/CkFilter/components/filterTypes.js +59 -94
- package/es/CkFilter/components/modal.js +105 -38
- package/es/CkFilter/context.js +16 -3
- package/es/CkFilter/customFilter/drawer.js +61 -15
- package/es/CkFilter/customFilter/index.js +4 -1
- package/es/CkFilter/customFilter/radioGroup.js +4 -3
- package/es/CkFilter/icon_placeholder.png +0 -0
- package/es/CkFilter/style/style.css +45 -5
- package/es/CustomerService/style/style.css +3 -0
- package/es/Drawer/style/index.css +3 -0
- package/es/Dropdown/index.d.ts +2 -0
- package/es/Dropdown/index.js +9 -12
- package/es/Dropdown/style/index.css +15 -2
- package/es/EditTable/style/style.css +3 -0
- package/es/Empty/index.d.ts +7 -0
- package/es/Empty/index.js +3 -0
- package/es/Empty/style/index.css +502 -0
- package/es/Empty/style/index.d.ts +1 -0
- package/es/Empty/style/index.js +1 -0
- package/es/Filter/style/style.css +3 -0
- package/es/Input/index.js +6 -5
- package/es/Input/style/style.css +20 -0
- package/es/InputNumber/style/index.css +3 -0
- package/es/LeftTable/style/style.css +3 -0
- package/es/LmTable/ImgList/imgCell.js +3 -1
- package/es/LmTable/ImgList/imgTable.js +4 -4
- package/es/LmTable/style/style.css +65 -61
- package/es/Menu/index.d.ts +7 -0
- package/es/Menu/index.js +3 -0
- package/es/Menu/style/index.css +502 -0
- package/es/Menu/style/index.d.ts +1 -0
- package/es/Menu/style/index.js +1 -0
- package/es/Modal/index.js +1 -1
- package/es/Modal/style/index.css +3 -0
- package/es/Notification/style/index.css +3 -0
- package/es/Pagination/style/index.css +3 -0
- package/es/PopTable/style/style.css +3 -0
- package/es/ProTable/style/style.css +3 -0
- package/es/Radio/index.js +4 -2
- package/es/Radio/style/style.css +17 -3
- package/es/Select/style/index.css +3 -0
- package/es/Space/style/index.css +3 -0
- package/es/TabBar/index.js +1 -1
- package/es/Tree/index.d.ts +7 -0
- package/es/Tree/index.js +3 -0
- package/es/Tree/style/index.css +502 -0
- package/es/Tree/style/index.d.ts +1 -0
- package/es/Tree/style/index.js +1 -0
- package/es/index.js +9 -299
- package/es/styles/main.css +3 -0
- package/es/styles/resetAntd.css +3 -0
- package/lib/Button/index.js +1 -1
- package/lib/Button/style/style.css +6 -0
- package/lib/ButtonTags/style/style.css +3 -0
- package/lib/Card/style/index.css +3 -0
- package/lib/Checkbox/style/style.css +9 -0
- package/lib/CkFilter/baseFilter/NestedFilter.js +137 -0
- package/lib/CkFilter/baseFilter/filterMenu.js +15 -9
- package/lib/CkFilter/baseFilter/index.js +5 -2
- package/lib/CkFilter/baseFilter/moreFilters.js +20 -2
- package/lib/CkFilter/complexFilter/drawer.js +35 -20
- package/lib/CkFilter/complexFilter/index.js +1 -1
- package/lib/CkFilter/components/Controls.js +8 -0
- package/lib/CkFilter/components/DragBox/DndContainer.js +49 -0
- package/lib/CkFilter/components/DragBox/index.js +63 -0
- package/lib/CkFilter/components/DragBox/sortableBox.js +24 -0
- package/lib/CkFilter/components/DragBox/sortableItem.js +111 -0
- package/lib/CkFilter/components/Nested.js +90 -0
- package/lib/CkFilter/components/filterTypes.js +59 -94
- package/lib/CkFilter/components/modal.js +105 -38
- package/lib/CkFilter/context.js +16 -3
- package/lib/CkFilter/customFilter/drawer.js +61 -15
- package/lib/CkFilter/customFilter/index.js +4 -1
- package/lib/CkFilter/customFilter/radioGroup.js +4 -3
- package/lib/CkFilter/icon_placeholder.png +0 -0
- package/lib/CkFilter/style/style.css +45 -5
- package/lib/CustomerService/style/style.css +3 -0
- package/lib/Drawer/style/index.css +3 -0
- package/lib/Dropdown/index.d.ts +2 -0
- package/lib/Dropdown/index.js +9 -12
- package/lib/Dropdown/style/index.css +15 -2
- package/lib/EditTable/style/style.css +3 -0
- package/lib/Empty/index.d.ts +7 -0
- package/lib/Empty/index.js +15 -0
- package/lib/Empty/style/index.css +502 -0
- package/lib/Empty/style/index.d.ts +1 -0
- package/lib/Empty/style/index.js +3 -0
- package/lib/Filter/style/style.css +3 -0
- package/lib/Input/index.js +6 -5
- package/lib/Input/style/style.css +20 -0
- package/lib/InputNumber/style/index.css +3 -0
- package/lib/LeftTable/style/style.css +3 -0
- package/lib/LmTable/ImgList/imgCell.js +3 -1
- package/lib/LmTable/ImgList/imgTable.js +4 -4
- package/lib/LmTable/style/style.css +65 -61
- package/lib/Menu/index.d.ts +7 -0
- package/lib/Menu/index.js +15 -0
- package/lib/Menu/style/index.css +502 -0
- package/lib/Menu/style/index.d.ts +1 -0
- package/lib/Menu/style/index.js +3 -0
- package/lib/Modal/index.js +3 -3
- package/lib/Modal/style/index.css +3 -0
- package/lib/Notification/style/index.css +3 -0
- package/lib/Pagination/style/index.css +3 -0
- package/lib/PopTable/style/style.css +3 -0
- package/lib/ProTable/style/style.css +3 -0
- package/lib/Radio/index.js +4 -2
- package/lib/Radio/style/style.css +17 -3
- package/lib/Select/style/index.css +3 -0
- package/lib/Space/style/index.css +3 -0
- package/lib/TabBar/index.js +5 -5
- package/lib/Tree/index.d.ts +7 -0
- package/lib/Tree/index.js +15 -0
- package/lib/Tree/style/index.css +502 -0
- package/lib/Tree/style/index.d.ts +1 -0
- package/lib/Tree/style/index.js +3 -0
- package/lib/index.js +9 -299
- package/lib/styles/main.css +3 -0
- package/lib/styles/resetAntd.css +3 -0
- package/package.json +4 -1
|
@@ -52,20 +52,25 @@ var FilterMenu = function FilterMenu(props) {
|
|
|
52
52
|
|
|
53
53
|
var filterValue = (0, _react.useMemo)(function () {
|
|
54
54
|
return state.filterValues[field];
|
|
55
|
-
}, [state.filterValues]); //
|
|
55
|
+
}, [state.filterValues]); // 判断是否正在过滤,普通过滤 && 嵌套过滤
|
|
56
56
|
|
|
57
57
|
var isFiltering = (0, _react.useMemo)(function () {
|
|
58
58
|
return (0, _utils.getIsHas)(filterValue) || (0, _utils.getIsHas)(state.nestedFilterValues[field]);
|
|
59
|
-
}, [filterValue]); // 设置过滤的内容 filterType: 'single' 存在时 单个勾选时触发, 默认按钮触发
|
|
59
|
+
}, [filterValue, state.nestedFilterValues]); // 设置过滤的内容 filterType: 'single' 存在时 单个勾选时触发, 默认按钮触发
|
|
60
60
|
|
|
61
61
|
var setFilterValue = (0, _react.useCallback)(function (val, filterType) {
|
|
62
|
-
var _state$instance$onCha, _state$
|
|
62
|
+
var _state$instance$onCha, _state$instance;
|
|
63
63
|
|
|
64
64
|
// 嵌套结构时触发
|
|
65
65
|
if (filterType === 'children') {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
66
|
+
dispatch({
|
|
67
|
+
type: 'changeNestedDrawer',
|
|
68
|
+
nestedDrawer: {
|
|
69
|
+
visible: true,
|
|
70
|
+
data: val,
|
|
71
|
+
field: field
|
|
72
|
+
}
|
|
73
|
+
});
|
|
69
74
|
setVisible(false);
|
|
70
75
|
return;
|
|
71
76
|
}
|
|
@@ -90,7 +95,7 @@ var FilterMenu = function FilterMenu(props) {
|
|
|
90
95
|
filterValues: nValue
|
|
91
96
|
}); // 触发外部查询, 单击时不关闭菜单
|
|
92
97
|
|
|
93
|
-
(_state$instance$onCha = (_state$
|
|
98
|
+
(_state$instance$onCha = (_state$instance = state.instance).onChange) === null || _state$instance$onCha === void 0 ? void 0 : _state$instance$onCha.call(_state$instance, nValue, state.customFilterValues);
|
|
94
99
|
!filterType && setVisible(false);
|
|
95
100
|
}, [dispatch, field, state.filterValues, state.instance]); // 展示的内容
|
|
96
101
|
|
|
@@ -140,7 +145,7 @@ var FilterMenu = function FilterMenu(props) {
|
|
|
140
145
|
return filterValue;
|
|
141
146
|
}, [comProps, data, isFiltering, setFilterValue, type, filterValue, state.nestedFilterValues, field]); // 下拉组件渲染
|
|
142
147
|
|
|
143
|
-
var FilterControl =
|
|
148
|
+
var FilterControl = function FilterControl() {
|
|
144
149
|
var obj = {
|
|
145
150
|
filters: data,
|
|
146
151
|
getFilterValue: filterValue,
|
|
@@ -151,7 +156,8 @@ var FilterMenu = function FilterMenu(props) {
|
|
|
151
156
|
type: type
|
|
152
157
|
}, obj));
|
|
153
158
|
});
|
|
154
|
-
}
|
|
159
|
+
}; // 清除筛选项
|
|
160
|
+
|
|
155
161
|
|
|
156
162
|
var handleClear = function handleClear(e) {
|
|
157
163
|
if (isFiltering) {
|
|
@@ -25,6 +25,8 @@ var _filterMenu = _interopRequireDefault(require("./filterMenu"));
|
|
|
25
25
|
|
|
26
26
|
var _moreFilters = _interopRequireDefault(require("./moreFilters"));
|
|
27
27
|
|
|
28
|
+
var _NestedFilter = _interopRequireDefault(require("./NestedFilter"));
|
|
29
|
+
|
|
28
30
|
/* 二级筛选:基础过滤
|
|
29
31
|
* data
|
|
30
32
|
*
|
|
@@ -43,6 +45,7 @@ var Filter = function Filter() {
|
|
|
43
45
|
searchKey = _useStore$state$insta.searchKey,
|
|
44
46
|
search = _useStore$state$insta.search,
|
|
45
47
|
filter = _useStore$state$insta.filter,
|
|
48
|
+
size = _useStore$state$insta.size,
|
|
46
49
|
isMore = _useStore$state.isMore,
|
|
47
50
|
filterValues = _useStore$state.filterValues,
|
|
48
51
|
visibleFields = _useStore$state.visibleFields,
|
|
@@ -71,7 +74,7 @@ var Filter = function Filter() {
|
|
|
71
74
|
}, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Input.Search, {
|
|
72
75
|
ref: inputRef,
|
|
73
76
|
allowClear: true,
|
|
74
|
-
size:
|
|
77
|
+
size: size,
|
|
75
78
|
placeholder: placeholder,
|
|
76
79
|
onSearch: handleFilter
|
|
77
80
|
})), filter && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, data === null || data === void 0 ? void 0 : (_data$filter = data.filter(function (v) {
|
|
@@ -82,7 +85,7 @@ var Filter = function Filter() {
|
|
|
82
85
|
return /*#__PURE__*/_react.default.createElement(_filterMenu.default, (0, _extends2.default)({
|
|
83
86
|
key: v.field
|
|
84
87
|
}, v));
|
|
85
|
-
}), isMore && /*#__PURE__*/_react.default.createElement(_moreFilters.default, null)));
|
|
88
|
+
}), isMore && /*#__PURE__*/_react.default.createElement(_moreFilters.default, null)), /*#__PURE__*/_react.default.createElement(_NestedFilter.default, null));
|
|
86
89
|
};
|
|
87
90
|
|
|
88
91
|
var _default = Filter;
|
|
@@ -139,6 +139,22 @@ var MoreFilters = function MoreFilters() {
|
|
|
139
139
|
return v !== item.field;
|
|
140
140
|
})))
|
|
141
141
|
});
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
if (type === 'move') {
|
|
145
|
+
var cloneArr = (0, _toConsumableArray2.default)(state.orderFields);
|
|
146
|
+
var oldIndex = cloneArr.findIndex(function (v) {
|
|
147
|
+
return v === item.active;
|
|
148
|
+
});
|
|
149
|
+
var newIndex = cloneArr.findIndex(function (v) {
|
|
150
|
+
return v === item.over;
|
|
151
|
+
}); // 在新位置增加数据
|
|
152
|
+
|
|
153
|
+
cloneArr.splice(newIndex, 0, cloneArr.splice(oldIndex, 1)[0]);
|
|
154
|
+
dispatch({
|
|
155
|
+
type: 'changeOrderFields',
|
|
156
|
+
orderFields: cloneArr
|
|
157
|
+
});
|
|
142
158
|
} // 全选操作
|
|
143
159
|
|
|
144
160
|
|
|
@@ -171,7 +187,9 @@ var MoreFilters = function MoreFilters() {
|
|
|
171
187
|
} // 人性化设计,位置不变无需收起
|
|
172
188
|
|
|
173
189
|
|
|
174
|
-
|
|
190
|
+
if (!['top', 'move'].includes(type)) {
|
|
191
|
+
setVisible(false); // 收起下拉选项框
|
|
192
|
+
}
|
|
175
193
|
}, [dispatch, state]);
|
|
176
194
|
var FilterControl = (0, _react.useCallback)(function () {
|
|
177
195
|
var _state$instance$data;
|
|
@@ -208,7 +226,7 @@ var MoreFilters = function MoreFilters() {
|
|
|
208
226
|
className: "addonBefore"
|
|
209
227
|
}), /*#__PURE__*/_react.default.createElement("span", {
|
|
210
228
|
className: "checked"
|
|
211
|
-
}, "\u66F4\u591A\
|
|
229
|
+
}, "\u66F4\u591A\u7B5B\u9009"), /*#__PURE__*/_react.default.createElement(_IconFont.default, {
|
|
212
230
|
type: "lmweb-down",
|
|
213
231
|
className: "addonAfter"
|
|
214
232
|
})))));
|
|
@@ -50,17 +50,20 @@ var ListItemChecked = function ListItemChecked(props) {
|
|
|
50
50
|
fullData = _state$instance$fullD === void 0 ? [] : _state$instance$fullD,
|
|
51
51
|
data = state.complexDrawer.data;
|
|
52
52
|
var field = props.field,
|
|
53
|
-
value = props.value
|
|
53
|
+
_props$value = props.value,
|
|
54
|
+
value = _props$value === void 0 ? {} : _props$value; // 单项匹配数据, 根据字段名查找, 嵌套筛选时查询父级
|
|
54
55
|
|
|
55
56
|
var getItem = (0, _react.useMemo)(function () {
|
|
56
57
|
return fullData.find(function (v) {
|
|
57
|
-
return v.field
|
|
58
|
+
return [field, value.originField].includes(v.field);
|
|
58
59
|
});
|
|
59
|
-
}, [
|
|
60
|
+
}, [props, fullData]); // 选中值的处理
|
|
60
61
|
|
|
61
|
-
var
|
|
62
|
+
var resetValue = (0, _react.useMemo)(function () {
|
|
62
63
|
if (getItem.type === 'cascader') {
|
|
63
|
-
|
|
64
|
+
var _value$value;
|
|
65
|
+
|
|
66
|
+
return (_value$value = value.value) === null || _value$value === void 0 ? void 0 : _value$value.map(function (v) {
|
|
64
67
|
return v[v.length - 1];
|
|
65
68
|
});
|
|
66
69
|
}
|
|
@@ -72,7 +75,7 @@ var ListItemChecked = function ListItemChecked(props) {
|
|
|
72
75
|
arr.forEach(function (item) {
|
|
73
76
|
var _item$children;
|
|
74
77
|
|
|
75
|
-
if (
|
|
78
|
+
if (resetValue.includes(item.value)) {
|
|
76
79
|
preArr.push(item);
|
|
77
80
|
}
|
|
78
81
|
|
|
@@ -87,6 +90,10 @@ var ListItemChecked = function ListItemChecked(props) {
|
|
|
87
90
|
var checkedValue = value.value;
|
|
88
91
|
|
|
89
92
|
if (Array.isArray(checkedValue)) {
|
|
93
|
+
if (getItem.type === 'nested') {
|
|
94
|
+
return checkedValue;
|
|
95
|
+
}
|
|
96
|
+
|
|
90
97
|
if (getItem.type === 'cascader') {
|
|
91
98
|
var arr = [];
|
|
92
99
|
deepChildren(getItem.data, arr);
|
|
@@ -99,9 +106,9 @@ var ListItemChecked = function ListItemChecked(props) {
|
|
|
99
106
|
}
|
|
100
107
|
|
|
101
108
|
if (getItem.type === 'input') {
|
|
102
|
-
return
|
|
103
|
-
value:
|
|
104
|
-
label:
|
|
109
|
+
return resetValue ? [{
|
|
110
|
+
value: resetValue,
|
|
111
|
+
label: resetValue
|
|
105
112
|
}] : [];
|
|
106
113
|
}
|
|
107
114
|
|
|
@@ -157,7 +164,12 @@ var ListItemChecked = function ListItemChecked(props) {
|
|
|
157
164
|
|
|
158
165
|
|
|
159
166
|
var tagElem = function tagElem() {
|
|
160
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null,
|
|
167
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_tag.default, {
|
|
168
|
+
className: "site-tag-plus",
|
|
169
|
+
onClick: handleAdd
|
|
170
|
+
}, /*#__PURE__*/_react.default.createElement(_IconFont.default, {
|
|
171
|
+
type: "lmweb-plus-circle"
|
|
172
|
+
}), " \u65B0\u589E"), checkedValues === null || checkedValues === void 0 ? void 0 : checkedValues.map(function (v) {
|
|
161
173
|
return /*#__PURE__*/_react.default.createElement(_tag.default, {
|
|
162
174
|
key: v.value,
|
|
163
175
|
closable: true,
|
|
@@ -165,12 +177,7 @@ var ListItemChecked = function ListItemChecked(props) {
|
|
|
165
177
|
return onTagClose(v.value);
|
|
166
178
|
}
|
|
167
179
|
}, v.label);
|
|
168
|
-
})
|
|
169
|
-
className: "site-tag-plus",
|
|
170
|
-
onClick: handleAdd
|
|
171
|
-
}, /*#__PURE__*/_react.default.createElement(_IconFont.default, {
|
|
172
|
-
type: "lmweb-plus-circle"
|
|
173
|
-
}), " \u65B0\u589E"));
|
|
180
|
+
}));
|
|
174
181
|
}; // 模式
|
|
175
182
|
|
|
176
183
|
|
|
@@ -218,8 +225,7 @@ var ListGroup = function ListGroup() {
|
|
|
218
225
|
// 单项匹配数据, 根据字段名查找
|
|
219
226
|
var getItem = fullData.find(function (v) {
|
|
220
227
|
return v.field === field;
|
|
221
|
-
});
|
|
222
|
-
console.log('getItem', getItem); // 编辑
|
|
228
|
+
}); // 编辑
|
|
223
229
|
|
|
224
230
|
dispatch({
|
|
225
231
|
type: 'changeModal',
|
|
@@ -322,10 +328,19 @@ var Index = function Index() {
|
|
|
322
328
|
}
|
|
323
329
|
});
|
|
324
330
|
}
|
|
325
|
-
}, [dispatch, visible]);
|
|
331
|
+
}, [dispatch, visible]);
|
|
332
|
+
|
|
333
|
+
var Tit = function Tit() {
|
|
334
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
335
|
+
onClick: function onClick() {
|
|
336
|
+
console.log('title', state);
|
|
337
|
+
}
|
|
338
|
+
}, "\u9AD8\u7EA7\u67E5\u8BE2");
|
|
339
|
+
}; // 弹窗配置项
|
|
340
|
+
|
|
326
341
|
|
|
327
342
|
var config = {
|
|
328
|
-
title:
|
|
343
|
+
title: /*#__PURE__*/_react.default.createElement(Tit, null),
|
|
329
344
|
visible: visible,
|
|
330
345
|
onClose: onClose,
|
|
331
346
|
width: 440,
|
|
@@ -62,7 +62,7 @@ var Custom = function Custom() {
|
|
|
62
62
|
className: "addonBefore"
|
|
63
63
|
}), /*#__PURE__*/_react.default.createElement("span", {
|
|
64
64
|
className: "checked"
|
|
65
|
-
}, "\u9AD8\u7EA7\
|
|
65
|
+
}, "\u9AD8\u7EA7\u7B5B\u9009"))), /*#__PURE__*/_react.default.createElement(_drawer.default, null));
|
|
66
66
|
};
|
|
67
67
|
|
|
68
68
|
var _default = Custom;
|
|
@@ -21,6 +21,8 @@ var _CheckboxTags = _interopRequireDefault(require("./CheckboxTags"));
|
|
|
21
21
|
|
|
22
22
|
var _CascaderFilter = _interopRequireDefault(require("./CascaderFilter"));
|
|
23
23
|
|
|
24
|
+
var _Nested = _interopRequireDefault(require("./Nested"));
|
|
25
|
+
|
|
24
26
|
var _excluded = ["type", "options"];
|
|
25
27
|
|
|
26
28
|
var Controls = function Controls(props) {
|
|
@@ -31,11 +33,17 @@ var Controls = function Controls(props) {
|
|
|
31
33
|
'select': /*#__PURE__*/_react.default.createElement(_CheckboxTags.default, (0, _extends2.default)({
|
|
32
34
|
options: options
|
|
33
35
|
}, resetProps)),
|
|
36
|
+
'checkbox': /*#__PURE__*/_react.default.createElement(_CheckboxTags.default, (0, _extends2.default)({
|
|
37
|
+
options: options
|
|
38
|
+
}, resetProps)),
|
|
34
39
|
'cascader': /*#__PURE__*/_react.default.createElement(_CascaderFilter.default, (0, _extends2.default)({
|
|
35
40
|
options: options
|
|
36
41
|
}, resetProps)),
|
|
37
42
|
'input': /*#__PURE__*/_react.default.createElement(_input.default, (0, _extends2.default)({
|
|
38
43
|
placeholder: "\u8BF7\u8F93\u5165"
|
|
44
|
+
}, resetProps)),
|
|
45
|
+
'nested': /*#__PURE__*/_react.default.createElement(_Nested.default, (0, _extends2.default)({
|
|
46
|
+
options: options
|
|
39
47
|
}, resetProps))
|
|
40
48
|
};
|
|
41
49
|
return obj[type] || null;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
12
|
+
var _core = require("@dnd-kit/core");
|
|
13
|
+
|
|
14
|
+
var _modifiers = require("@dnd-kit/modifiers");
|
|
15
|
+
|
|
16
|
+
var _sortable = require("@dnd-kit/sortable");
|
|
17
|
+
|
|
18
|
+
// 可拖拽容器
|
|
19
|
+
var DndContainer = function DndContainer(_ref) {
|
|
20
|
+
var children = _ref.children,
|
|
21
|
+
move = _ref.move;
|
|
22
|
+
var sensors = (0, _core.useSensors)((0, _core.useSensor)(_core.PointerSensor), (0, _core.useSensor)(_core.KeyboardSensor, {
|
|
23
|
+
coordinateGetter: _sortable.sortableKeyboardCoordinates
|
|
24
|
+
})); // 拖拽结束
|
|
25
|
+
|
|
26
|
+
var handleDragEnd = function handleDragEnd(event) {
|
|
27
|
+
var active = event.active,
|
|
28
|
+
over = event.over; // 未移入时触发
|
|
29
|
+
|
|
30
|
+
if (!(over === null || over === void 0 ? void 0 : over.id)) {
|
|
31
|
+
return;
|
|
32
|
+
} // 移入时触发更新数据
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
if (active.id !== over.id) {
|
|
36
|
+
move(active.data.current.field, over.data.current.field);
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
return /*#__PURE__*/_react.default.createElement(_core.DndContext, {
|
|
41
|
+
sensors: sensors,
|
|
42
|
+
collisionDetection: _core.closestCenter,
|
|
43
|
+
onDragEnd: handleDragEnd,
|
|
44
|
+
modifiers: [_modifiers.restrictToParentElement]
|
|
45
|
+
}, children);
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
var _default = DndContainer;
|
|
49
|
+
exports.default = _default;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
|
|
12
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
13
|
+
|
|
14
|
+
var _react = _interopRequireDefault(require("react"));
|
|
15
|
+
|
|
16
|
+
var _linkmoreDesign = require("linkmore-design");
|
|
17
|
+
|
|
18
|
+
var _DndContainer = _interopRequireDefault(require("./DndContainer"));
|
|
19
|
+
|
|
20
|
+
var _sortableBox = _interopRequireDefault(require("./sortableBox"));
|
|
21
|
+
|
|
22
|
+
var _sortableItem = _interopRequireDefault(require("./sortableItem"));
|
|
23
|
+
|
|
24
|
+
var _excluded = ["options", "checkedValues", "setFilterValue"];
|
|
25
|
+
|
|
26
|
+
var Drag = function Drag(_ref) {
|
|
27
|
+
var _ref$options = _ref.options,
|
|
28
|
+
options = _ref$options === void 0 ? [] : _ref$options,
|
|
29
|
+
_ref$checkedValues = _ref.checkedValues,
|
|
30
|
+
checkedValues = _ref$checkedValues === void 0 ? [] : _ref$checkedValues,
|
|
31
|
+
setFilterValue = _ref.setFilterValue,
|
|
32
|
+
props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
33
|
+
|
|
34
|
+
var move = function move(active, over) {
|
|
35
|
+
setFilterValue({
|
|
36
|
+
active: active,
|
|
37
|
+
over: over
|
|
38
|
+
}, 'move');
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_DndContainer.default, {
|
|
42
|
+
move: move
|
|
43
|
+
}, /*#__PURE__*/_react.default.createElement(_sortableBox.default, {
|
|
44
|
+
items: options.map(function (v) {
|
|
45
|
+
return "drag".concat(v.field);
|
|
46
|
+
})
|
|
47
|
+
}, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Checkbox.Group, {
|
|
48
|
+
value: checkedValues,
|
|
49
|
+
className: "filter_body"
|
|
50
|
+
}, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.VirtualList, {
|
|
51
|
+
options: options,
|
|
52
|
+
className: "filter_list"
|
|
53
|
+
}, function (virProps) {
|
|
54
|
+
return /*#__PURE__*/_react.default.createElement(_sortableItem.default, (0, _extends2.default)({}, virProps, {
|
|
55
|
+
options: options,
|
|
56
|
+
checkedValues: checkedValues,
|
|
57
|
+
setFilterValue: setFilterValue
|
|
58
|
+
}, props));
|
|
59
|
+
})))));
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
var _default = Drag;
|
|
63
|
+
exports.default = _default;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
12
|
+
var _sortable = require("@dnd-kit/sortable");
|
|
13
|
+
|
|
14
|
+
var SortableBox = function SortableBox(_ref) {
|
|
15
|
+
var items = _ref.items,
|
|
16
|
+
children = _ref.children;
|
|
17
|
+
return /*#__PURE__*/_react.default.createElement(_sortable.SortableContext, {
|
|
18
|
+
items: items,
|
|
19
|
+
strategy: _sortable.verticalListSortingStrategy
|
|
20
|
+
}, children);
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
var _default = SortableBox;
|
|
24
|
+
exports.default = _default;
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
|
|
5
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.default = void 0;
|
|
11
|
+
|
|
12
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
|
+
|
|
14
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
15
|
+
|
|
16
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
17
|
+
|
|
18
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
19
|
+
|
|
20
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
21
|
+
|
|
22
|
+
var _icons = require("@ant-design/icons");
|
|
23
|
+
|
|
24
|
+
var _linkmoreDesign = require("linkmore-design");
|
|
25
|
+
|
|
26
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
27
|
+
|
|
28
|
+
var _sortable = require("@dnd-kit/sortable");
|
|
29
|
+
|
|
30
|
+
var _utilities = require("@dnd-kit/utilities");
|
|
31
|
+
|
|
32
|
+
var _excluded = ["item", "filters", "options", "checkedValues", "setFilterValue", "setCheckedValues"];
|
|
33
|
+
|
|
34
|
+
var SortableItem = function SortableItem(props) {
|
|
35
|
+
var virItem = props.item,
|
|
36
|
+
filters = props.filters,
|
|
37
|
+
options = props.options,
|
|
38
|
+
checkedValues = props.checkedValues,
|
|
39
|
+
setFilterValue = props.setFilterValue,
|
|
40
|
+
setCheckedValues = props.setCheckedValues,
|
|
41
|
+
resetProps = (0, _objectWithoutProperties2.default)(props, _excluded);
|
|
42
|
+
|
|
43
|
+
var _useSortable = (0, _sortable.useSortable)({
|
|
44
|
+
id: "drag".concat(virItem.field),
|
|
45
|
+
data: (0, _objectSpread2.default)({}, virItem)
|
|
46
|
+
}),
|
|
47
|
+
attributes = _useSortable.attributes,
|
|
48
|
+
listeners = _useSortable.listeners,
|
|
49
|
+
setNodeRef = _useSortable.setNodeRef,
|
|
50
|
+
transform = _useSortable.transform,
|
|
51
|
+
transition = _useSortable.transition;
|
|
52
|
+
|
|
53
|
+
var style = {
|
|
54
|
+
transform: _utilities.CSS.Transform.toString(transform),
|
|
55
|
+
transition: transition
|
|
56
|
+
}; // 是否可置顶, 第一项无置顶操作, 所以这里的index > 0
|
|
57
|
+
|
|
58
|
+
var isTop = (0, _react.useCallback)(function (item) {
|
|
59
|
+
return checkedValues.includes(item.field) && filters.findIndex(function (v) {
|
|
60
|
+
return v.field === item.field;
|
|
61
|
+
}) > 0;
|
|
62
|
+
}, [checkedValues, filters]); // 置顶操作, 防止频繁操作, 建议加上节流
|
|
63
|
+
|
|
64
|
+
var handleTop = function handleTop(e, item) {
|
|
65
|
+
e.stopPropagation();
|
|
66
|
+
setFilterValue(item, 'top');
|
|
67
|
+
}; // 单选事件
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
var onChange = function onChange(e, item) {
|
|
71
|
+
e.preventDefault();
|
|
72
|
+
e.stopPropagation(); // setFilterValue(item)
|
|
73
|
+
|
|
74
|
+
var nValue = checkedValues.includes(item.field) ? checkedValues.filter(function (v) {
|
|
75
|
+
return v !== item.field;
|
|
76
|
+
}) : [].concat((0, _toConsumableArray2.default)(checkedValues), [item.field]);
|
|
77
|
+
setCheckedValues(nValue);
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
|
|
81
|
+
ref: setNodeRef,
|
|
82
|
+
style: style
|
|
83
|
+
}, attributes), /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, resetProps, {
|
|
84
|
+
className: (0, _classnames.default)('filter_item', {
|
|
85
|
+
checked: checkedValues.includes(virItem.field)
|
|
86
|
+
}),
|
|
87
|
+
onClick: function onClick(e) {
|
|
88
|
+
return onChange(e, virItem);
|
|
89
|
+
}
|
|
90
|
+
}), /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
|
|
91
|
+
className: "pointer_move"
|
|
92
|
+
}, listeners), /*#__PURE__*/_react.default.createElement(_icons.HolderOutlined, {
|
|
93
|
+
style: {
|
|
94
|
+
color: 'var(--tip-text-color)'
|
|
95
|
+
}
|
|
96
|
+
})), /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Checkbox, {
|
|
97
|
+
value: virItem.field,
|
|
98
|
+
className: "filter_item-content"
|
|
99
|
+
}, virItem.title), /*#__PURE__*/_react.default.createElement("div", {
|
|
100
|
+
className: "filter_item_operate"
|
|
101
|
+
}, isTop(virItem) && /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
|
|
102
|
+
type: "lmweb-vertical-align-top",
|
|
103
|
+
className: "hover_show icon_top",
|
|
104
|
+
onClick: function onClick(e) {
|
|
105
|
+
return handleTop(e, virItem);
|
|
106
|
+
}
|
|
107
|
+
})))));
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
var _default = SortableItem;
|
|
111
|
+
exports.default = _default;
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
|
|
5
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.default = void 0;
|
|
11
|
+
|
|
12
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
13
|
+
|
|
14
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
15
|
+
|
|
16
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
17
|
+
|
|
18
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
19
|
+
|
|
20
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
21
|
+
|
|
22
|
+
var _linkmoreDesign = require("linkmore-design");
|
|
23
|
+
|
|
24
|
+
var _excluded = ["value", "onChange", "options"];
|
|
25
|
+
|
|
26
|
+
var Nested = function Nested(_ref) {
|
|
27
|
+
var _aliveActive$body;
|
|
28
|
+
|
|
29
|
+
var value = _ref.value,
|
|
30
|
+
onChange = _ref.onChange,
|
|
31
|
+
options = _ref.options,
|
|
32
|
+
resetProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
33
|
+
|
|
34
|
+
var _useState = (0, _react.useState)({}),
|
|
35
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
36
|
+
aliveActive = _useState2[0],
|
|
37
|
+
setAliveActive = _useState2[1];
|
|
38
|
+
|
|
39
|
+
var handleClick = function handleClick(item) {
|
|
40
|
+
setAliveActive(item);
|
|
41
|
+
|
|
42
|
+
if (!item.children) {
|
|
43
|
+
onChange({
|
|
44
|
+
subValue: item,
|
|
45
|
+
value: [(0, _objectSpread2.default)({}, item)]
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
/*
|
|
50
|
+
* @Array val 选中的数据数组: [{}, ...]
|
|
51
|
+
* @String subValue 选中的子级
|
|
52
|
+
*
|
|
53
|
+
*/
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
var handleOnChange = function handleOnChange(val, type) {
|
|
57
|
+
onChange({
|
|
58
|
+
subValue: aliveActive,
|
|
59
|
+
value: val,
|
|
60
|
+
type: type
|
|
61
|
+
});
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Space, {
|
|
65
|
+
size: 8,
|
|
66
|
+
wrap: true
|
|
67
|
+
}, options === null || options === void 0 ? void 0 : options.map(function (v) {
|
|
68
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
69
|
+
key: v.value,
|
|
70
|
+
className: (0, _classnames.default)('checkbox_tag', {
|
|
71
|
+
active: aliveActive.value === v.value
|
|
72
|
+
}),
|
|
73
|
+
onClick: function onClick() {
|
|
74
|
+
return handleClick(v);
|
|
75
|
+
}
|
|
76
|
+
}, v.label);
|
|
77
|
+
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
78
|
+
style: {
|
|
79
|
+
flex: 1,
|
|
80
|
+
marginTop: 16
|
|
81
|
+
}
|
|
82
|
+
}, (_aliveActive$body = aliveActive.body) === null || _aliveActive$body === void 0 ? void 0 : _aliveActive$body.call(aliveActive, {
|
|
83
|
+
value: aliveActive.value,
|
|
84
|
+
onChange: handleOnChange,
|
|
85
|
+
item: aliveActive
|
|
86
|
+
})));
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
var _default = Nested;
|
|
90
|
+
exports.default = _default;
|