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
package/es/Button/index.js
CHANGED
|
@@ -22,7 +22,7 @@ var LMButton = function LMButton(props) {
|
|
|
22
22
|
var children = props.children,
|
|
23
23
|
className = props.className,
|
|
24
24
|
_props$size = props.size,
|
|
25
|
-
size = _props$size === void 0 ? '
|
|
25
|
+
size = _props$size === void 0 ? 'middle' : _props$size,
|
|
26
26
|
_props$type = props.type,
|
|
27
27
|
type = _props$type === void 0 ? 'default' : _props$type,
|
|
28
28
|
_props$hover = props.hover,
|
|
@@ -38,11 +38,17 @@
|
|
|
38
38
|
max-width: 112px;
|
|
39
39
|
font-size: 12px;
|
|
40
40
|
}
|
|
41
|
+
.ant-btn.lm-button-small.lm-button-icon-only .anticon {
|
|
42
|
+
font-size: 16px;
|
|
43
|
+
}
|
|
41
44
|
.ant-btn.lm-button-middle {
|
|
42
45
|
height: 32px;
|
|
43
46
|
padding: 6px 12px;
|
|
44
47
|
max-width: 120px;
|
|
45
48
|
}
|
|
49
|
+
.ant-btn.lm-button-middle .anticon {
|
|
50
|
+
font-size: 16px;
|
|
51
|
+
}
|
|
46
52
|
.ant-btn.lm-button-default {
|
|
47
53
|
border: 1px solid var(--stroke-color);
|
|
48
54
|
color: var(--font-color);
|
package/es/Card/style/index.css
CHANGED
|
@@ -13,6 +13,9 @@
|
|
|
13
13
|
.lm-checkbox .ant-checkbox .ant-checkbox-inner {
|
|
14
14
|
border-color: var(--stroke-color);
|
|
15
15
|
}
|
|
16
|
+
.lm-checkbox .ant-checkbox.ant-checkbox-checked .ant-checkbox-inner {
|
|
17
|
+
border-color: var(--primary-color);
|
|
18
|
+
}
|
|
16
19
|
.lm-checkbox .ant-checkbox:hover .ant-checkbox-inner {
|
|
17
20
|
border-color: var(--primary-color);
|
|
18
21
|
}
|
|
@@ -58,6 +61,9 @@
|
|
|
58
61
|
color: var(--primary-hover-color);
|
|
59
62
|
border-color: var(--primary-hover-color);
|
|
60
63
|
}
|
|
64
|
+
.lm-checkbox-group .ant-checkbox-button-wrapper-checked.ant-checkbox-checked .ant-checkbox-inner {
|
|
65
|
+
border-color: var(--primary-color);
|
|
66
|
+
}
|
|
61
67
|
.lm-checkbox-group .ant-checkbox-wrapper {
|
|
62
68
|
font-size: 12px;
|
|
63
69
|
line-height: 20px;
|
|
@@ -73,6 +79,9 @@
|
|
|
73
79
|
.lm-checkbox-group .ant-checkbox-wrapper .ant-checkbox .ant-checkbox-inner {
|
|
74
80
|
border-color: var(--stroke-color);
|
|
75
81
|
}
|
|
82
|
+
.lm-checkbox-group .ant-checkbox-wrapper .ant-checkbox.ant-checkbox-checked .ant-checkbox-inner {
|
|
83
|
+
border-color: var(--primary-color);
|
|
84
|
+
}
|
|
76
85
|
.lm-checkbox-group .ant-checkbox-wrapper .ant-checkbox:hover .ant-checkbox-inner {
|
|
77
86
|
border-color: var(--primary-color);
|
|
78
87
|
}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
+
|
|
5
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.default = void 0;
|
|
11
|
+
|
|
12
|
+
require("antd/es/drawer/style");
|
|
13
|
+
|
|
14
|
+
var _drawer = _interopRequireDefault(require("antd/es/drawer"));
|
|
15
|
+
|
|
16
|
+
require("antd/es/space/style");
|
|
17
|
+
|
|
18
|
+
var _space = _interopRequireDefault(require("antd/es/space"));
|
|
19
|
+
|
|
20
|
+
require("antd/es/button/style");
|
|
21
|
+
|
|
22
|
+
var _button = _interopRequireDefault(require("antd/es/button"));
|
|
23
|
+
|
|
24
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
|
|
25
|
+
|
|
26
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
|
|
27
|
+
|
|
28
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
29
|
+
|
|
30
|
+
var _context = require("../context");
|
|
31
|
+
|
|
32
|
+
var _utils = require("../utils");
|
|
33
|
+
|
|
34
|
+
var NestedFilter = function NestedFilter() {
|
|
35
|
+
var _data$body;
|
|
36
|
+
|
|
37
|
+
var _useStore = (0, _context.useStore)(),
|
|
38
|
+
state = _useStore.state,
|
|
39
|
+
dispatch = _useStore.dispatch;
|
|
40
|
+
|
|
41
|
+
var instance = state.instance,
|
|
42
|
+
_state$nestedDrawer = state.nestedDrawer,
|
|
43
|
+
visible = _state$nestedDrawer.visible,
|
|
44
|
+
field = _state$nestedDrawer.field,
|
|
45
|
+
_state$nestedDrawer$d = _state$nestedDrawer.data,
|
|
46
|
+
data = _state$nestedDrawer$d === void 0 ? {} : _state$nestedDrawer$d; // 用于缓存数据 1.[{value: '', label: ''}, ...] / 2.{value: []/'', label: []/''}
|
|
47
|
+
|
|
48
|
+
var aliveValue = (0, _react.useRef)([]);
|
|
49
|
+
|
|
50
|
+
var onClose = function onClose() {
|
|
51
|
+
dispatch({
|
|
52
|
+
type: 'changeNestedDrawer',
|
|
53
|
+
nestedDrawer: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, state.nestedDrawer), {}, {
|
|
54
|
+
visible: false
|
|
55
|
+
})
|
|
56
|
+
});
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
var onSave = function onSave() {
|
|
60
|
+
var _state$instance$onCha, _state$instance;
|
|
61
|
+
|
|
62
|
+
var value = aliveValue.current.map(function (v) {
|
|
63
|
+
return v.value;
|
|
64
|
+
}); // 选中的数据
|
|
65
|
+
|
|
66
|
+
var childrenField = data.value; // 选中的字段
|
|
67
|
+
|
|
68
|
+
var valueLabel = aliveValue.current.map(function (v) {
|
|
69
|
+
return v.label;
|
|
70
|
+
}).join('、'); // 字段文本
|
|
71
|
+
|
|
72
|
+
var nValue = (0, _objectSpread2.default)({}, state.filterValues); // 过滤的值
|
|
73
|
+
|
|
74
|
+
delete nValue[field]; // 删除父级过滤项
|
|
75
|
+
// 删除所有子级过滤项
|
|
76
|
+
|
|
77
|
+
state.instance.data.find(function (v) {
|
|
78
|
+
return v.field === field;
|
|
79
|
+
}).data.forEach(function (element) {
|
|
80
|
+
delete nValue[element.value];
|
|
81
|
+
});
|
|
82
|
+
(0, _utils.getIsHas)(value) ? nValue[childrenField] = value : delete nValue[childrenField]; // 保存筛选
|
|
83
|
+
|
|
84
|
+
dispatch({
|
|
85
|
+
type: 'changeFilterValues',
|
|
86
|
+
filterValues: nValue
|
|
87
|
+
}); // 保存一个嵌套过滤
|
|
88
|
+
|
|
89
|
+
(0, _utils.getIsHas)(valueLabel) && dispatch({
|
|
90
|
+
type: 'changeNestedFilterValues',
|
|
91
|
+
nestedFilterValues: (0, _defineProperty2.default)({}, field, {
|
|
92
|
+
value: value,
|
|
93
|
+
label: valueLabel,
|
|
94
|
+
field: childrenField
|
|
95
|
+
})
|
|
96
|
+
});
|
|
97
|
+
(_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);
|
|
98
|
+
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
var onChange = function onChange(value, type) {
|
|
102
|
+
aliveValue.current = value;
|
|
103
|
+
|
|
104
|
+
if (type === 'dbclick') {
|
|
105
|
+
onSave === null || onSave === void 0 ? void 0 : onSave();
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
var config = {
|
|
110
|
+
title: data.label,
|
|
111
|
+
visible: visible,
|
|
112
|
+
onClose: onClose,
|
|
113
|
+
width: 720,
|
|
114
|
+
placement: 'right',
|
|
115
|
+
destroyOnClose: true,
|
|
116
|
+
className: 'filter_drawer',
|
|
117
|
+
bodyStyle: {
|
|
118
|
+
padding: '24px 24px 0'
|
|
119
|
+
},
|
|
120
|
+
extra: /*#__PURE__*/_react.default.createElement(_space.default, null, /*#__PURE__*/_react.default.createElement(_button.default, {
|
|
121
|
+
onClick: onClose,
|
|
122
|
+
size: "small"
|
|
123
|
+
}, "\u53D6\u6D88"), /*#__PURE__*/_react.default.createElement(_button.default, {
|
|
124
|
+
type: "primary",
|
|
125
|
+
onClick: onSave,
|
|
126
|
+
size: "small"
|
|
127
|
+
}, "\u786E\u5B9A"))
|
|
128
|
+
};
|
|
129
|
+
return /*#__PURE__*/_react.default.createElement(_drawer.default, config, (_data$body = data.body) === null || _data$body === void 0 ? void 0 : _data$body.call(data, {
|
|
130
|
+
value: data.value,
|
|
131
|
+
onChange: onChange,
|
|
132
|
+
item: data
|
|
133
|
+
}));
|
|
134
|
+
};
|
|
135
|
+
|
|
136
|
+
var _default = NestedFilter;
|
|
137
|
+
exports.default = _default;
|
|
@@ -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/esm/extends"));
|
|
11
|
+
|
|
12
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/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;
|