linkmore-design 1.0.55 → 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/Button/index.d.ts +4 -0
- package/dist/CardTable/LmCardTable.d.ts +1 -0
- package/dist/CardTable/card/PictureTextRowOperate.d.ts +7 -0
- package/dist/CustomTableOption/cardSort.d.ts +4 -0
- package/dist/CustomTableOption/index.d.ts +1 -0
- package/dist/DatePicker/PickerButton.d.ts +2 -0
- package/dist/DatePicker/PickerTag.d.ts +2 -0
- package/dist/DatePicker/demos/basic.d.ts +2 -0
- package/dist/DatePicker/generatePicker/generateRangePicker.d.ts +4 -0
- package/dist/DatePicker/generatePicker/generateSinglePicker.d.ts +14 -0
- package/dist/DatePicker/generatePicker/index.d.ts +106 -0
- package/dist/DatePicker/generatePicker/interface.d.ts +12 -0
- package/dist/DatePicker/index.d.ts +17 -0
- package/dist/DatePicker/style/index.d.ts +1 -0
- package/dist/DatePicker/util.d.ts +14 -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/LmEditTable/demos/basic copy.d.ts +2 -0
- package/dist/LmFilter/Controls/CheckboxTags.d.ts +6 -0
- package/dist/LmFilter/Controls/index.d.ts +2 -0
- package/dist/LmFilter/LmFilter.d.ts +4 -1
- package/dist/LmFilter/complexFilter/drawer.d.ts +4 -0
- package/dist/LmFilter/complexFilter/index.d.ts +3 -1
- package/dist/LmFilter/complexFilter/valueDrawer.d.ts +4 -0
- package/dist/LmFilter/localization.d.ts +8 -0
- package/dist/LmFilter/utils.d.ts +1 -1
- package/dist/Switch/demos/table.d.ts +2 -0
- package/dist/Switch/index.d.ts +2 -1
- package/dist/_util/motion.d.ts +8 -0
- package/dist/_util/statusUtils.d.ts +6 -0
- package/dist/_util/type.d.ts +9 -0
- package/dist/_util/warning.d.ts +6 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.umd.js +10609 -284
- package/dist/index.umd.min.js +6 -6
- package/es/Button/index.d.ts +4 -0
- package/es/Button/index.js +1 -1
- package/es/CardTable/LmCardTable.js +4 -1
- package/es/CardTable/body/TableBodyCell.js +3 -0
- package/es/CardTable/card/PictureTextRow.js +19 -51
- package/es/CardTable/card/PictureTextRowOperate.js +130 -0
- package/es/CardTable/style/index.css +165 -10
- package/es/CustomTableOption/cardSort.d.ts +4 -0
- package/es/CustomTableOption/cardSort.js +219 -0
- package/es/CustomTableOption/columnsSort.js +2 -4
- package/es/CustomTableOption/filterSort.js +0 -3
- package/es/CustomTableOption/index.d.ts +1 -0
- package/es/CustomTableOption/index.js +37 -13
- package/es/CustomTableOption/style/index.css +3 -0
- package/es/DatePicker/PickerButton.d.ts +2 -0
- package/es/DatePicker/PickerButton.js +8 -0
- package/es/DatePicker/PickerTag.d.ts +2 -0
- package/es/DatePicker/PickerTag.js +7 -0
- package/es/DatePicker/generatePicker/generateRangePicker.d.ts +4 -0
- package/es/DatePicker/generatePicker/generateRangePicker.js +142 -0
- package/es/DatePicker/generatePicker/generateSinglePicker.d.ts +14 -0
- package/es/DatePicker/generatePicker/generateSinglePicker.js +170 -0
- package/es/DatePicker/generatePicker/index.d.ts +106 -0
- package/es/DatePicker/generatePicker/index.js +84 -0
- package/es/DatePicker/generatePicker/interface.d.ts +12 -0
- package/es/DatePicker/generatePicker/interface.js +1 -0
- package/es/DatePicker/index.d.ts +17 -0
- package/es/DatePicker/index.js +7 -0
- package/es/DatePicker/style/index.css +505 -0
- package/es/DatePicker/style/index.d.ts +1 -0
- package/es/DatePicker/style/index.js +1 -0
- package/es/DatePicker/util.d.ts +14 -0
- package/es/DatePicker/util.js +111 -0
- 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/IconFont/index.js +1 -1
- package/es/LmEditTable/DragHandle.js +1 -1
- package/es/LmEditTable/EditTable.js +27 -35
- package/es/LmFilter/Controls/CheckboxTags.js +53 -0
- package/es/LmFilter/Controls/index.js +77 -0
- package/es/LmFilter/LmFilter.js +17 -5
- package/es/LmFilter/complexFilter/drawer.js +362 -0
- package/es/LmFilter/complexFilter/index.js +50 -3
- package/es/LmFilter/complexFilter/valueDrawer.js +238 -0
- 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 +45 -25
- package/es/LmFilter/components/SelectFilter.js +2 -3
- package/es/LmFilter/components/index.js +5 -61
- package/es/LmFilter/filterFns/index.js +22 -3
- package/es/LmFilter/localization.d.ts +8 -0
- package/es/LmFilter/localization.js +12 -0
- package/es/LmFilter/style/style.css +13 -5
- package/es/LmFilter/utils.js +63 -14
- package/es/LmFilter/wrapper/FilterRoot.js +40 -3
- package/es/LmTable/Table.js +15 -8
- package/es/QuickMenu/index.js +5 -3
- package/es/Switch/index.d.ts +2 -1
- package/es/Switch/index.js +33 -1
- package/es/Switch/style/index.css +41 -0
- package/es/_util/motion.d.ts +8 -0
- package/es/_util/motion.js +60 -0
- package/es/_util/statusUtils.d.ts +6 -0
- package/es/_util/statusUtils.js +12 -0
- package/es/_util/type.d.ts +9 -0
- package/es/_util/type.js +15 -0
- package/es/_util/warning.d.ts +6 -0
- package/es/_util/warning.js +17 -0
- package/es/index.d.ts +3 -0
- package/es/index.js +2 -1
- package/es/message/index.d.ts +5 -5
- package/lib/Button/index.d.ts +4 -0
- package/lib/Button/index.js +1 -1
- package/lib/CardTable/LmCardTable.js +4 -1
- package/lib/CardTable/body/TableBodyCell.js +3 -0
- package/lib/CardTable/card/PictureTextRow.js +19 -51
- package/lib/CardTable/card/PictureTextRowOperate.js +130 -0
- package/lib/CardTable/style/index.css +165 -10
- package/lib/CustomTableOption/cardSort.d.ts +4 -0
- package/lib/CustomTableOption/cardSort.js +239 -0
- package/lib/CustomTableOption/columnsSort.js +2 -4
- package/lib/CustomTableOption/filterSort.js +0 -3
- package/lib/CustomTableOption/index.d.ts +1 -0
- package/lib/CustomTableOption/index.js +38 -13
- package/lib/CustomTableOption/style/index.css +3 -0
- package/lib/DatePicker/PickerButton.d.ts +2 -0
- package/lib/DatePicker/PickerButton.js +19 -0
- package/lib/DatePicker/PickerTag.d.ts +2 -0
- package/lib/DatePicker/PickerTag.js +18 -0
- package/lib/DatePicker/generatePicker/generateRangePicker.d.ts +4 -0
- package/lib/DatePicker/generatePicker/generateRangePicker.js +168 -0
- package/lib/DatePicker/generatePicker/generateSinglePicker.d.ts +14 -0
- package/lib/DatePicker/generatePicker/generateSinglePicker.js +196 -0
- package/lib/DatePicker/generatePicker/index.d.ts +106 -0
- package/lib/DatePicker/generatePicker/index.js +102 -0
- package/lib/DatePicker/generatePicker/interface.d.ts +12 -0
- package/lib/DatePicker/generatePicker/interface.js +5 -0
- package/lib/DatePicker/index.d.ts +17 -0
- package/lib/DatePicker/index.js +21 -0
- package/lib/DatePicker/style/index.css +505 -0
- package/lib/DatePicker/style/index.d.ts +1 -0
- package/lib/DatePicker/style/index.js +3 -0
- package/lib/DatePicker/util.d.ts +14 -0
- package/lib/DatePicker/util.js +122 -0
- 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/IconFont/index.js +1 -1
- package/lib/LmEditTable/DragHandle.js +1 -1
- package/lib/LmEditTable/EditTable.js +26 -36
- package/lib/LmFilter/Controls/CheckboxTags.js +53 -0
- package/lib/LmFilter/Controls/index.js +77 -0
- package/lib/LmFilter/LmFilter.js +17 -5
- package/lib/LmFilter/complexFilter/drawer.js +362 -0
- package/lib/LmFilter/complexFilter/index.js +50 -3
- package/lib/LmFilter/complexFilter/valueDrawer.js +238 -0
- 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 +45 -25
- package/lib/LmFilter/components/SelectFilter.js +2 -3
- package/lib/LmFilter/components/index.js +5 -61
- package/lib/LmFilter/filterFns/index.js +22 -3
- package/lib/LmFilter/localization.d.ts +8 -0
- package/lib/LmFilter/localization.js +19 -0
- package/lib/LmFilter/style/style.css +13 -5
- package/lib/LmFilter/utils.js +63 -14
- package/lib/LmFilter/wrapper/FilterRoot.js +40 -3
- package/lib/LmTable/Table.js +15 -8
- package/lib/QuickMenu/index.js +4 -2
- package/lib/Switch/index.d.ts +2 -1
- package/lib/Switch/index.js +34 -1
- package/lib/Switch/style/index.css +41 -0
- package/lib/_util/motion.d.ts +8 -0
- package/lib/_util/motion.js +71 -0
- package/lib/_util/statusUtils.d.ts +6 -0
- package/lib/_util/statusUtils.js +29 -0
- package/lib/_util/type.d.ts +9 -0
- package/lib/_util/type.js +27 -0
- package/lib/_util/warning.d.ts +6 -0
- package/lib/_util/warning.js +35 -0
- package/lib/index.d.ts +3 -0
- package/lib/index.js +9 -1
- package/lib/message/index.d.ts +5 -5
- package/package.json +1 -1
|
@@ -21,14 +21,15 @@ var _linkmoreDesign = require("linkmore-design");
|
|
|
21
21
|
|
|
22
22
|
var _InputSearchClose = _interopRequireDefault(require("./InputSearchClose"));
|
|
23
23
|
|
|
24
|
+
var _hooks = require("../hooks");
|
|
25
|
+
|
|
24
26
|
// 重置级联弹框
|
|
25
27
|
var DropdownRender = function DropdownRender(_ref) {
|
|
26
28
|
var dom = _ref.dom,
|
|
27
29
|
instance = _ref.instance,
|
|
28
30
|
item = _ref.item,
|
|
29
31
|
setOptions = _ref.setOptions,
|
|
30
|
-
checkedValues = _ref.checkedValues
|
|
31
|
-
setCheckedValues = _ref.setCheckedValues;
|
|
32
|
+
checkedValues = _ref.checkedValues;
|
|
32
33
|
var _instance$filterValue = instance.filterValue,
|
|
33
34
|
filterValue = _instance$filterValue === void 0 ? [] : _instance$filterValue,
|
|
34
35
|
setFilterValue = instance.setFilterValue,
|
|
@@ -37,6 +38,7 @@ var DropdownRender = function DropdownRender(_ref) {
|
|
|
37
38
|
var _item$data = item.data,
|
|
38
39
|
filters = _item$data === void 0 ? [] : _item$data;
|
|
39
40
|
var inputRef = (0, _react.useRef)(null);
|
|
41
|
+
var delayedFn = (0, _hooks.useDelayedFn)();
|
|
40
42
|
|
|
41
43
|
var handleFilter = function handleFilter(val) {
|
|
42
44
|
var serachValues = filters.filter(function (v) {
|
|
@@ -48,28 +50,23 @@ var DropdownRender = function DropdownRender(_ref) {
|
|
|
48
50
|
|
|
49
51
|
var handleSure = function handleSure() {
|
|
50
52
|
setFilterValue(checkedValues);
|
|
51
|
-
setVisible(false);
|
|
53
|
+
setVisible === null || setVisible === void 0 ? void 0 : setVisible(false);
|
|
52
54
|
}; // 取消
|
|
53
55
|
|
|
54
56
|
|
|
55
57
|
var handleReset = function handleReset() {
|
|
56
|
-
setVisible === null || setVisible === void 0 ? void 0 : setVisible(false);
|
|
58
|
+
return setVisible === null || setVisible === void 0 ? void 0 : setVisible(false);
|
|
57
59
|
};
|
|
58
60
|
|
|
59
61
|
(0, _react.useEffect)(function () {
|
|
60
62
|
if (visible) {
|
|
61
|
-
|
|
63
|
+
delayedFn(function () {
|
|
64
|
+
var _inputRef$current, _inputRef$current$foc;
|
|
62
65
|
|
|
63
|
-
|
|
64
|
-
var _inputRef$current;
|
|
65
|
-
|
|
66
|
-
(_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus({
|
|
66
|
+
return (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : (_inputRef$current$foc = _inputRef$current.focus) === null || _inputRef$current$foc === void 0 ? void 0 : _inputRef$current$foc.call(_inputRef$current, {
|
|
67
67
|
cursor: 'all'
|
|
68
68
|
});
|
|
69
|
-
}
|
|
70
|
-
setCheckedValues(filterValue);
|
|
71
|
-
(_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 ? void 0 : (_inputRef$current2$se = _inputRef$current2.setValue) === null || _inputRef$current2$se === void 0 ? void 0 : _inputRef$current2$se.call(_inputRef$current2, '');
|
|
72
|
-
handleFilter('');
|
|
69
|
+
});
|
|
73
70
|
}
|
|
74
71
|
}, [visible]);
|
|
75
72
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -99,7 +96,9 @@ var CascaderFilter = function CascaderFilter(_ref2) {
|
|
|
99
96
|
filterValue = _instance$filterValue2 === void 0 ? [] : _instance$filterValue2,
|
|
100
97
|
setFilterValue = instance.setFilterValue,
|
|
101
98
|
visible = instance.visible,
|
|
102
|
-
setVisible = instance.setVisible
|
|
99
|
+
setVisible = instance.setVisible,
|
|
100
|
+
_instance$children = instance.children,
|
|
101
|
+
children = _instance$children === void 0 ? /*#__PURE__*/_react.default.createElement("div", null) : _instance$children;
|
|
103
102
|
var _itemProps$data = itemProps.data,
|
|
104
103
|
filters = _itemProps$data === void 0 ? [] : _itemProps$data;
|
|
105
104
|
|
|
@@ -113,27 +112,12 @@ var CascaderFilter = function CascaderFilter(_ref2) {
|
|
|
113
112
|
checkedValues = _useState4[0],
|
|
114
113
|
setCheckedValues = _useState4[1];
|
|
115
114
|
|
|
116
|
-
var checkedKeys = (0, _react.useMemo)(function () {
|
|
117
|
-
return checkedValues.map(function (v) {
|
|
118
|
-
return v.value;
|
|
119
|
-
});
|
|
120
|
-
}, [checkedValues]);
|
|
121
115
|
var defaultValue = (0, _react.useMemo)(function () {
|
|
122
|
-
|
|
123
|
-
return arr.map(function (v) {
|
|
124
|
-
return v.value;
|
|
125
|
-
});
|
|
126
|
-
};
|
|
127
|
-
|
|
128
|
-
var nKey = filterValue.map(function (v) {
|
|
129
|
-
return Array.isArray(v) ? flatKeys(v) : v.value;
|
|
130
|
-
});
|
|
131
|
-
return nKey;
|
|
116
|
+
return filterValue;
|
|
132
117
|
}, [filterValue]);
|
|
133
118
|
|
|
134
119
|
var onChange = function onChange(item, selectedOptions) {
|
|
135
|
-
|
|
136
|
-
setCheckedValues(selectedOptions);
|
|
120
|
+
setCheckedValues(item);
|
|
137
121
|
};
|
|
138
122
|
|
|
139
123
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_cascader.default, {
|
|
@@ -142,6 +126,9 @@ var CascaderFilter = function CascaderFilter(_ref2) {
|
|
|
142
126
|
onChange: onChange,
|
|
143
127
|
defaultValue: defaultValue,
|
|
144
128
|
open: visible,
|
|
129
|
+
onDropdownVisibleChange: function onDropdownVisibleChange(vis) {
|
|
130
|
+
return setVisible(vis);
|
|
131
|
+
},
|
|
145
132
|
dropdownRender: function dropdownRender(dom) {
|
|
146
133
|
return /*#__PURE__*/_react.default.createElement(DropdownRender, {
|
|
147
134
|
dom: dom,
|
|
@@ -152,7 +139,7 @@ var CascaderFilter = function CascaderFilter(_ref2) {
|
|
|
152
139
|
setOptions: setOptions
|
|
153
140
|
});
|
|
154
141
|
}
|
|
155
|
-
},
|
|
142
|
+
}, children));
|
|
156
143
|
};
|
|
157
144
|
|
|
158
145
|
var _default = CascaderFilter;
|
|
@@ -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样式控制
|
|
@@ -218,10 +239,9 @@ var DropdownFilter = /*#__PURE__*/_react.default.memo(function (_ref2) {
|
|
|
218
239
|
}, item === null || item === void 0 ? void 0 : item.title, ":"), /*#__PURE__*/_react.default.createElement("div", {
|
|
219
240
|
className: "filter_item_value"
|
|
220
241
|
}, getLabel(filterValue, item)), /*#__PURE__*/_react.default.createElement("div", {
|
|
221
|
-
className: "filter_item_icon"
|
|
242
|
+
className: "filter_item_icon addon_after"
|
|
222
243
|
}, item.type !== 'date' || active ? /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
|
|
223
244
|
type: active ? 'lmweb-close-circle-fill' : 'lmweb-down',
|
|
224
|
-
className: "addonAfter",
|
|
225
245
|
onClick: handleClear
|
|
226
246
|
}) : null)));
|
|
227
247
|
});
|
|
@@ -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
|
|
|
@@ -11,8 +11,6 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/es
|
|
|
11
11
|
|
|
12
12
|
var _objectSpread3 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
|
|
13
13
|
|
|
14
|
-
var _objectDestructuringEmpty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectDestructuringEmpty"));
|
|
15
|
-
|
|
16
14
|
var _utils = require("../utils");
|
|
17
15
|
|
|
18
16
|
// 核心参数集合
|
|
@@ -20,9 +18,11 @@ var CoreOptions = function CoreOptions(_ref) {
|
|
|
20
18
|
var state = _ref.state,
|
|
21
19
|
dispatch = _ref.dispatch,
|
|
22
20
|
props = _ref.props;
|
|
23
|
-
|
|
21
|
+
var onChange = props.onChange; // 设置筛选的值 item => Object || Array => [{label: '', value: ''}, ...]
|
|
24
22
|
|
|
25
23
|
var setFilterValue = function setFilterValue(item, field) {
|
|
24
|
+
var _Object$entries;
|
|
25
|
+
|
|
26
26
|
var basicFilter = (0, _objectSpread3.default)((0, _objectSpread3.default)({}, state.basicFilter), {}, (0, _defineProperty2.default)({}, field, item));
|
|
27
27
|
|
|
28
28
|
if (!(0, _utils.getIsHas)(item)) {
|
|
@@ -34,6 +34,25 @@ var CoreOptions = function CoreOptions(_ref) {
|
|
|
34
34
|
type: 'changeBasicFilter',
|
|
35
35
|
basicFilter: basicFilter
|
|
36
36
|
});
|
|
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
|
+
}); // 触发外部事件
|
|
50
|
+
|
|
51
|
+
onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
52
|
+
basicFilter: basicFilter,
|
|
53
|
+
filterQuery: filterQuery,
|
|
54
|
+
type: 'basic'
|
|
55
|
+
});
|
|
37
56
|
}; // 根据字段查找过滤的数据, 不存在时返回默认值
|
|
38
57
|
|
|
39
58
|
|
|
@@ -10,7 +10,11 @@
|
|
|
10
10
|
.lm_filter_wrapper .lm_filter_container .lm_filter .lm_filter_search {
|
|
11
11
|
max-width: 140px;
|
|
12
12
|
}
|
|
13
|
+
.lm_filter_wrapper .lm_filter_container .lm_filter .lm_filter_complex {
|
|
14
|
+
display: inline-flex;
|
|
15
|
+
}
|
|
13
16
|
.lm_filter_basic_item {
|
|
17
|
+
font-size: 12px;
|
|
14
18
|
display: inline-flex;
|
|
15
19
|
align-items: center;
|
|
16
20
|
line-height: 1;
|
|
@@ -41,24 +45,28 @@
|
|
|
41
45
|
color: var(--text-color);
|
|
42
46
|
transition: 0.3s;
|
|
43
47
|
}
|
|
44
|
-
.lm_filter_basic_item .filter_item_icon
|
|
45
|
-
color: var(--
|
|
48
|
+
.lm_filter_basic_item .filter_item_icon.addon_before {
|
|
49
|
+
color: var(--font-color);
|
|
46
50
|
}
|
|
47
|
-
.lm_filter_basic_item.expand .filter_item_icon {
|
|
51
|
+
.lm_filter_basic_item.expand .filter_item_icon.addon_after {
|
|
48
52
|
transform: rotateX(180deg);
|
|
49
53
|
}
|
|
50
54
|
.lm_filter_basic_item.active .filter_item_value {
|
|
51
55
|
color: var(--primary-color);
|
|
52
56
|
}
|
|
53
|
-
.lm_filter_basic_item.active .filter_item_icon {
|
|
57
|
+
.lm_filter_basic_item.active .filter_item_icon.addon_after {
|
|
54
58
|
transform: rotateX(180deg);
|
|
55
59
|
}
|
|
60
|
+
.lm_filter_basic_item.active.lm_filter_complex_item .filter_item_icon,
|
|
61
|
+
.lm_filter_basic_item.active.lm_filter_complex_item .filter_item_label {
|
|
62
|
+
color: var(--primary-color);
|
|
63
|
+
}
|
|
56
64
|
.ant-dropdown.filter_dropdown_container_cascader > div {
|
|
57
65
|
transform: translateY(-4px);
|
|
58
66
|
}
|
|
59
67
|
.ant-dropdown.filter_dropdown_container_date .ant-picker {
|
|
60
68
|
visibility: hidden;
|
|
61
|
-
transform: translateY(-
|
|
69
|
+
transform: translateY(-36px);
|
|
62
70
|
}
|
|
63
71
|
.ant-dropdown .filter_dropdown {
|
|
64
72
|
display: flex;
|