linkmore-design 1.0.53 → 1.0.54
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/Alert/ErrorBoundary.d.ts +22 -0
- package/dist/{Notification → Alert}/demos/basic.d.ts +0 -0
- package/dist/{Notification/demos/button.d.ts → Alert/demos/visible.d.ts} +0 -0
- package/dist/Alert/index.d.ts +41 -0
- package/dist/{Notification → Alert}/style/index.d.ts +0 -0
- package/dist/CardTable/fns/index.d.ts +7 -3
- package/dist/CardTable/{toolbar → pager}/TablePagination.d.ts +0 -0
- package/dist/CardTable/pager/index.d.ts +3 -0
- package/dist/LmFilter/LmFilter.d.ts +3 -0
- package/dist/LmFilter/baseFilter/index.d.ts +3 -0
- package/dist/LmFilter/clearFilter/index.d.ts +3 -0
- package/dist/LmFilter/complexFilter/index.d.ts +2 -0
- package/dist/LmFilter/components/CascaderFilter.d.ts +5 -0
- package/dist/LmFilter/components/CheckboxFilter.d.ts +5 -0
- package/dist/LmFilter/components/DateFilter.d.ts +5 -0
- package/dist/LmFilter/components/DropdownFIlter.d.ts +3 -0
- package/dist/LmFilter/components/EmptyFilter.d.ts +2 -0
- package/dist/LmFilter/components/InputFilter.d.ts +4 -0
- package/dist/LmFilter/components/InputSearchClose.d.ts +3 -0
- package/dist/LmFilter/components/SelectFilter.d.ts +5 -0
- package/dist/LmFilter/components/fuzzySearch.d.ts +4 -0
- package/dist/LmFilter/components/index.d.ts +3 -0
- package/dist/LmFilter/customFilter/index.d.ts +2 -0
- package/dist/LmFilter/demos/basic.d.ts +2 -0
- package/dist/LmFilter/filterFns/index.d.ts +12 -0
- package/dist/LmFilter/hooks/index.d.ts +1 -0
- package/dist/LmFilter/hooks/useDelayedFn.d.ts +2 -0
- package/dist/LmFilter/index.d.ts +2 -0
- package/dist/LmFilter/style/index.d.ts +1 -0
- package/dist/LmFilter/utils.d.ts +8 -0
- package/dist/LmFilter/wrapper/Filter.d.ts +3 -0
- package/dist/LmFilter/wrapper/FilterContainer.d.ts +3 -0
- package/dist/LmFilter/wrapper/FilterRoot.d.ts +3 -0
- package/dist/LmFilter/wrapper/FilterWrapper.d.ts +3 -0
- package/dist/_util/getDataOrAriaProps.d.ts +1 -0
- package/dist/_util/reactNode.d.ts +7 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.umd.js +3665 -3297
- package/dist/index.umd.min.js +6 -6
- package/dist/{Notification/demos/icon.d.ts → notification/demos/basic.d.ts} +0 -0
- package/dist/notification/demos/button.d.ts +2 -0
- package/dist/notification/demos/icon.d.ts +2 -0
- package/dist/notification/hooks/useNotification.d.ts +7 -0
- package/dist/notification/index.d.ts +54 -0
- package/dist/notification/style/index.d.ts +1 -0
- package/es/Alert/ErrorBoundary.d.ts +22 -0
- package/es/Alert/ErrorBoundary.js +65 -0
- package/es/Alert/index.d.ts +41 -0
- package/es/Alert/index.js +192 -0
- package/es/{Notification → Alert}/style/index.css +25 -2
- package/es/{Notification → Alert}/style/index.d.ts +0 -0
- package/es/{Notification → Alert}/style/index.js +0 -0
- package/es/CardTable/card/PictureTextColumn.js +8 -6
- package/es/CardTable/card/PictureTextRow.js +1 -1
- package/es/CardTable/fns/index.js +38 -9
- package/es/CardTable/{toolbar → pager}/TablePagination.js +0 -0
- package/es/CardTable/pager/index.js +48 -0
- package/es/CardTable/style/index.css +2 -2
- package/es/CardTable/table/TableRoot.js +20 -18
- package/es/CardTable/table/TableWrapper.js +4 -0
- package/es/CardTable/toolbar/ToolBarBottom.js +8 -27
- package/es/LmFilter/LmFilter.js +27 -0
- package/es/LmFilter/baseFilter/index.js +34 -0
- package/es/LmFilter/clearFilter/index.js +33 -0
- package/es/LmFilter/complexFilter/index.js +17 -0
- package/es/LmFilter/components/CascaderFilter.js +183 -0
- package/es/LmFilter/components/CheckboxFilter.js +197 -0
- package/es/LmFilter/components/DateFilter.js +147 -0
- package/es/LmFilter/components/DropdownFIlter.js +162 -0
- package/es/LmFilter/components/EmptyFilter.js +27 -0
- package/es/LmFilter/components/InputFilter.js +52 -0
- package/es/LmFilter/components/InputSearchClose.js +74 -0
- package/es/LmFilter/components/SelectFilter.js +113 -0
- package/es/LmFilter/components/fuzzySearch.js +37 -0
- package/es/LmFilter/components/index.js +97 -0
- package/es/LmFilter/customFilter/index.js +17 -0
- package/es/LmFilter/filterFns/index.js +54 -0
- package/es/LmFilter/hooks/index.js +18 -0
- package/es/LmFilter/hooks/useDelayedFn.js +27 -0
- package/es/LmFilter/icon_placeholder.png +0 -0
- package/es/LmFilter/index.js +16 -0
- package/es/LmFilter/style/index.js +3 -0
- package/es/LmFilter/style/style.css +189 -0
- package/es/LmFilter/utils.js +55 -0
- package/es/LmFilter/wrapper/Filter.js +33 -0
- package/es/LmFilter/wrapper/FilterContainer.js +29 -0
- package/es/LmFilter/wrapper/FilterRoot.js +114 -0
- package/es/LmFilter/wrapper/FilterWrapper.js +25 -0
- package/es/_util/getDataOrAriaProps.d.ts +1 -0
- package/es/_util/getDataOrAriaProps.js +9 -0
- package/es/_util/reactNode.d.ts +7 -0
- package/es/_util/reactNode.js +10 -0
- package/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/es/message/style/index.css +1 -0
- package/es/notification/hooks/useNotification.d.ts +7 -0
- package/es/notification/hooks/useNotification.js +54 -0
- package/es/notification/index.d.ts +54 -0
- package/es/notification/index.js +342 -0
- package/es/notification/style/index.css +546 -0
- package/{lib/Notification → es/notification}/style/index.d.ts +0 -0
- package/es/notification/style/index.js +1 -0
- package/lib/Alert/ErrorBoundary.d.ts +22 -0
- package/lib/Alert/ErrorBoundary.js +79 -0
- package/lib/Alert/index.d.ts +41 -0
- package/lib/Alert/index.js +215 -0
- package/lib/{Notification → Alert}/style/index.css +25 -2
- package/lib/Alert/style/index.d.ts +1 -0
- package/lib/{Notification → Alert}/style/index.js +0 -0
- package/lib/CardTable/card/PictureTextColumn.js +8 -6
- package/lib/CardTable/card/PictureTextRow.js +1 -1
- package/lib/CardTable/fns/index.js +38 -9
- package/lib/CardTable/{toolbar → pager}/TablePagination.js +0 -0
- package/lib/CardTable/pager/index.js +48 -0
- package/lib/CardTable/style/index.css +2 -2
- package/lib/CardTable/table/TableRoot.js +20 -18
- package/lib/CardTable/table/TableWrapper.js +4 -0
- package/lib/CardTable/toolbar/ToolBarBottom.js +8 -27
- package/lib/LmFilter/LmFilter.js +27 -0
- package/lib/LmFilter/baseFilter/index.js +34 -0
- package/lib/LmFilter/clearFilter/index.js +33 -0
- package/lib/LmFilter/complexFilter/index.js +17 -0
- package/lib/LmFilter/components/CascaderFilter.js +183 -0
- package/lib/LmFilter/components/CheckboxFilter.js +197 -0
- package/lib/LmFilter/components/DateFilter.js +147 -0
- package/lib/LmFilter/components/DropdownFIlter.js +162 -0
- package/lib/LmFilter/components/EmptyFilter.js +27 -0
- package/lib/LmFilter/components/InputFilter.js +52 -0
- package/lib/LmFilter/components/InputSearchClose.js +74 -0
- package/lib/LmFilter/components/SelectFilter.js +113 -0
- package/lib/LmFilter/components/fuzzySearch.js +37 -0
- package/lib/LmFilter/components/index.js +97 -0
- package/lib/LmFilter/customFilter/index.js +17 -0
- package/lib/LmFilter/filterFns/index.js +54 -0
- package/lib/LmFilter/hooks/index.js +18 -0
- package/lib/LmFilter/hooks/useDelayedFn.js +27 -0
- package/lib/LmFilter/icon_placeholder.png +0 -0
- package/lib/LmFilter/index.js +16 -0
- package/lib/LmFilter/style/index.js +3 -0
- package/lib/LmFilter/style/style.css +189 -0
- package/lib/LmFilter/utils.js +55 -0
- package/lib/LmFilter/wrapper/Filter.js +33 -0
- package/lib/LmFilter/wrapper/FilterContainer.js +29 -0
- package/lib/LmFilter/wrapper/FilterRoot.js +114 -0
- package/lib/LmFilter/wrapper/FilterWrapper.js +25 -0
- package/lib/_util/getDataOrAriaProps.d.ts +1 -0
- package/lib/_util/getDataOrAriaProps.js +16 -0
- package/lib/_util/reactNode.d.ts +7 -0
- package/lib/_util/reactNode.js +24 -0
- package/lib/index.d.ts +1 -1
- package/lib/index.js +2 -2
- package/lib/message/style/index.css +1 -0
- package/lib/notification/hooks/useNotification.d.ts +7 -0
- package/lib/notification/hooks/useNotification.js +69 -0
- package/lib/notification/index.d.ts +54 -0
- package/lib/notification/index.js +365 -0
- package/lib/notification/style/index.css +546 -0
- package/lib/notification/style/index.d.ts +1 -0
- package/lib/notification/style/index.js +3 -0
- package/package.json +1 -1
- package/dist/Notification/index.d.ts +0 -7
- package/es/Notification/index.d.ts +0 -7
- package/es/Notification/index.js +0 -10
- package/lib/Notification/index.d.ts +0 -7
- package/lib/Notification/index.js +0 -23
|
@@ -0,0 +1,147 @@
|
|
|
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/date-picker/style");
|
|
13
|
+
|
|
14
|
+
var _datePicker = _interopRequireDefault(require("antd/es/date-picker"));
|
|
15
|
+
|
|
16
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/extends"));
|
|
17
|
+
|
|
18
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
19
|
+
|
|
20
|
+
var _linkmoreDesign = require("linkmore-design");
|
|
21
|
+
|
|
22
|
+
var _moment = _interopRequireDefault(require("moment"));
|
|
23
|
+
|
|
24
|
+
var _utils = require("../utils");
|
|
25
|
+
|
|
26
|
+
var RangePicker = function RangePicker(_ref) {
|
|
27
|
+
var filterValue = _ref.filterValue,
|
|
28
|
+
setFilterValue = _ref.setFilterValue,
|
|
29
|
+
onChange = _ref.onChange,
|
|
30
|
+
itemProps = _ref.itemProps,
|
|
31
|
+
visible = _ref.visible;
|
|
32
|
+
var value = (0, _react.useMemo)(function () {
|
|
33
|
+
return filterValue ? [(0, _moment.default)(filterValue[0]), (0, _moment.default)(filterValue[1])] : null;
|
|
34
|
+
}, [filterValue]); // 最近的时间段, 值为JSON转换后的字符串
|
|
35
|
+
|
|
36
|
+
var ranges = (0, _react.useMemo)(function () {
|
|
37
|
+
return Object.entries((0, _utils.getRanges)()).map(function (item, i) {
|
|
38
|
+
return {
|
|
39
|
+
id: i,
|
|
40
|
+
label: item[0],
|
|
41
|
+
value: JSON.stringify(item[1])
|
|
42
|
+
};
|
|
43
|
+
});
|
|
44
|
+
}, []); // 选中时间段的触发
|
|
45
|
+
|
|
46
|
+
var handleOnChange = function handleOnChange(dates, dateStrings) {
|
|
47
|
+
onChange(dates, getIsHas(dateStrings.filter(function (v) {
|
|
48
|
+
return !!v;
|
|
49
|
+
})) ? dateStrings : null);
|
|
50
|
+
}; // 最近的时间触发事件
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
var handleLastDateOnChange = function handleLastDateOnChange(e) {
|
|
54
|
+
var nValue = JSON.parse(e.target.value);
|
|
55
|
+
setFilterValue(nValue);
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
var panelRender = function panelRender(panelNode) {
|
|
59
|
+
var activeValue = JSON.stringify(filterValue);
|
|
60
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
61
|
+
className: "filter_picker_box"
|
|
62
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
63
|
+
className: "filter_picker_main"
|
|
64
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
65
|
+
className: "filter_picker_header"
|
|
66
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
67
|
+
className: "filter_picker_header_tip"
|
|
68
|
+
}, filterValue && "".concat(filterValue[0], " - ").concat(filterValue[1])), /*#__PURE__*/_react.default.createElement("div", {
|
|
69
|
+
className: "filter_picker_header_operate"
|
|
70
|
+
}, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Radio.Group, {
|
|
71
|
+
value: activeValue,
|
|
72
|
+
onChange: handleLastDateOnChange,
|
|
73
|
+
size: "small"
|
|
74
|
+
}, ranges.map(function (v) {
|
|
75
|
+
return /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Radio.Button, {
|
|
76
|
+
key: v.label,
|
|
77
|
+
value: v.value
|
|
78
|
+
}, v.label);
|
|
79
|
+
})))), panelNode));
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_datePicker.default.RangePicker, (0, _extends2.default)({
|
|
83
|
+
picker: "date",
|
|
84
|
+
separator: /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
|
|
85
|
+
type: "lmweb-swap-right",
|
|
86
|
+
style: {
|
|
87
|
+
color: 'var(--text-color)'
|
|
88
|
+
}
|
|
89
|
+
}),
|
|
90
|
+
placeholder: ['开始日期', '结束日期'],
|
|
91
|
+
style: {
|
|
92
|
+
width: 210
|
|
93
|
+
}
|
|
94
|
+
}, itemProps, {
|
|
95
|
+
value: value,
|
|
96
|
+
onChange: handleOnChange,
|
|
97
|
+
open: visible,
|
|
98
|
+
panelRender: panelRender,
|
|
99
|
+
dropdownClassName: "lm_filter_dropdown_picker",
|
|
100
|
+
bordered: false,
|
|
101
|
+
size: "small",
|
|
102
|
+
inputReadOnly: true
|
|
103
|
+
}), /*#__PURE__*/_react.default.createElement("div", null)));
|
|
104
|
+
}; // 日期范围选择器
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
var DatePickerFilter = function DatePickerFilter(_ref2) {
|
|
108
|
+
var instance = _ref2.instance,
|
|
109
|
+
itemProps = _ref2.item;
|
|
110
|
+
var filterValue = instance.filterValue,
|
|
111
|
+
setFilterValue = instance.setFilterValue,
|
|
112
|
+
visible = instance.visible;
|
|
113
|
+
var props = itemProps.props,
|
|
114
|
+
dateType = itemProps.dateType; // 对日期格式的转换, 日期组件仅接收moment格式
|
|
115
|
+
|
|
116
|
+
var value = (0, _react.useMemo)(function () {
|
|
117
|
+
return filterValue ? (0, _moment.default)(filterValue) : null;
|
|
118
|
+
}, [filterValue]); // 选中时间段的触发
|
|
119
|
+
|
|
120
|
+
var onChange = function onChange(dates, dateStrings) {
|
|
121
|
+
setFilterValue(getIsHas(dateStrings) ? dateStrings : null);
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
if (dateType === 'rangePicker') {
|
|
125
|
+
return /*#__PURE__*/_react.default.createElement(RangePicker, {
|
|
126
|
+
filterValue: filterValue,
|
|
127
|
+
setFilterValue: setFilterValue,
|
|
128
|
+
onChange: onChange,
|
|
129
|
+
itemProps: props,
|
|
130
|
+
visible: visible
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
return /*#__PURE__*/_react.default.createElement(_datePicker.default, (0, _extends2.default)({
|
|
135
|
+
placeholder: "\u9009\u62E9\u65F6\u95F4"
|
|
136
|
+
}, props, {
|
|
137
|
+
value: value,
|
|
138
|
+
onChange: onChange,
|
|
139
|
+
open: visible,
|
|
140
|
+
bordered: false,
|
|
141
|
+
size: "small",
|
|
142
|
+
inputReadOnly: true
|
|
143
|
+
}), /*#__PURE__*/_react.default.createElement("div", null));
|
|
144
|
+
};
|
|
145
|
+
|
|
146
|
+
var _default = DatePickerFilter;
|
|
147
|
+
exports.default = _default;
|
|
@@ -0,0 +1,162 @@
|
|
|
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
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
|
|
13
|
+
|
|
14
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
15
|
+
|
|
16
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
17
|
+
|
|
18
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
19
|
+
|
|
20
|
+
var _linkmoreDesign = require("linkmore-design");
|
|
21
|
+
|
|
22
|
+
var _InputFilter = _interopRequireDefault(require("./InputFilter"));
|
|
23
|
+
|
|
24
|
+
var _SelectFilter = _interopRequireDefault(require("./SelectFilter"));
|
|
25
|
+
|
|
26
|
+
var _CheckboxFilter = _interopRequireDefault(require("./CheckboxFilter"));
|
|
27
|
+
|
|
28
|
+
var _CascaderFilter = _interopRequireDefault(require("./CascaderFilter"));
|
|
29
|
+
|
|
30
|
+
var _DateFilter = _interopRequireDefault(require("./DateFilter"));
|
|
31
|
+
|
|
32
|
+
var _utils = require("../utils");
|
|
33
|
+
|
|
34
|
+
// 组件渲染
|
|
35
|
+
var FilterControl = function FilterControl(_ref) {
|
|
36
|
+
var instance = _ref.instance,
|
|
37
|
+
item = _ref.item;
|
|
38
|
+
var type = item.type;
|
|
39
|
+
var widgets = {
|
|
40
|
+
'input': /*#__PURE__*/_react.default.createElement(_InputFilter.default, {
|
|
41
|
+
instance: instance,
|
|
42
|
+
item: item
|
|
43
|
+
}),
|
|
44
|
+
'select': /*#__PURE__*/_react.default.createElement(_SelectFilter.default, {
|
|
45
|
+
instance: instance,
|
|
46
|
+
item: item
|
|
47
|
+
}),
|
|
48
|
+
'checkbox': /*#__PURE__*/_react.default.createElement(_CheckboxFilter.default, {
|
|
49
|
+
instance: instance,
|
|
50
|
+
item: item
|
|
51
|
+
}),
|
|
52
|
+
'cascader': /*#__PURE__*/_react.default.createElement(_CascaderFilter.default, {
|
|
53
|
+
instance: instance,
|
|
54
|
+
item: item
|
|
55
|
+
}),
|
|
56
|
+
'date': /*#__PURE__*/_react.default.createElement(_DateFilter.default, {
|
|
57
|
+
instance: instance,
|
|
58
|
+
item: item
|
|
59
|
+
})
|
|
60
|
+
};
|
|
61
|
+
return widgets[type] || null;
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
var getLabel = function getLabel(val) {
|
|
65
|
+
if (!(0, _utils.getIsHas)(val)) {
|
|
66
|
+
return '全部';
|
|
67
|
+
} // 存在筛选数据时
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
if (Array.isArray(val)) {
|
|
71
|
+
switch (val.length) {
|
|
72
|
+
case 1:
|
|
73
|
+
return val[0].label;
|
|
74
|
+
|
|
75
|
+
case 2:
|
|
76
|
+
return "".concat(val[0].label, "\u3001").concat(val[1].label);
|
|
77
|
+
|
|
78
|
+
default:
|
|
79
|
+
return "".concat(val[0].label, "\u3001+").concat(val.length - 1, "...");
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
return (val === null || val === void 0 ? void 0 : val.label) || val;
|
|
84
|
+
};
|
|
85
|
+
/*
|
|
86
|
+
* 样式控制
|
|
87
|
+
* expand: 展开样式
|
|
88
|
+
* active: 选中样式
|
|
89
|
+
*/
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
var DropdownFilter = /*#__PURE__*/_react.default.memo(function (_ref2) {
|
|
93
|
+
var instance = _ref2.instance,
|
|
94
|
+
item = _ref2.item;
|
|
95
|
+
|
|
96
|
+
var _useState = (0, _react.useState)(false),
|
|
97
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
98
|
+
visible = _useState2[0],
|
|
99
|
+
setVisible = _useState2[1];
|
|
100
|
+
|
|
101
|
+
var filterValue = instance.filterValue; // 触发查询时关闭下拉框
|
|
102
|
+
|
|
103
|
+
var setFilterValue = function setFilterValue(obj) {
|
|
104
|
+
instance.setFilterValue(obj);
|
|
105
|
+
setVisible(false);
|
|
106
|
+
}; // 重组Instance 加入下拉关闭控制
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
var resetInstance = (0, _objectSpread2.default)((0, _objectSpread2.default)({
|
|
110
|
+
visible: visible,
|
|
111
|
+
setVisible: setVisible
|
|
112
|
+
}, instance), {}, {
|
|
113
|
+
setFilterValue: setFilterValue
|
|
114
|
+
}); // 是否有筛选值/是否处于筛选状态
|
|
115
|
+
|
|
116
|
+
var active = (0, _react.useMemo)(function () {
|
|
117
|
+
return (0, _utils.getIsHas)(filterValue);
|
|
118
|
+
}, [filterValue]);
|
|
119
|
+
|
|
120
|
+
var handleClear = function handleClear(e) {
|
|
121
|
+
if (active) {
|
|
122
|
+
e.stopPropagation();
|
|
123
|
+
setFilterValue((0, _utils.getValueForType)(item.type));
|
|
124
|
+
}
|
|
125
|
+
};
|
|
126
|
+
|
|
127
|
+
return /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Dropdown, {
|
|
128
|
+
trigger: ['click'],
|
|
129
|
+
visible: resetInstance.visible,
|
|
130
|
+
placement: "bottomLeft",
|
|
131
|
+
overlay: /*#__PURE__*/_react.default.createElement(FilterControl, {
|
|
132
|
+
instance: resetInstance,
|
|
133
|
+
item: item
|
|
134
|
+
}),
|
|
135
|
+
overlayClassName: "filter_dropdown_container_".concat(item.type),
|
|
136
|
+
onVisibleChange: function onVisibleChange(v) {
|
|
137
|
+
return setVisible(v);
|
|
138
|
+
} // 未开启则需手动控制下拉展示组件的初始化
|
|
139
|
+
,
|
|
140
|
+
destroyPopupOnHide: true
|
|
141
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
142
|
+
className: (0, _classnames.default)('lm_filter_basic_item', {
|
|
143
|
+
expand: visible,
|
|
144
|
+
active: active
|
|
145
|
+
})
|
|
146
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
147
|
+
className: "filter_item_label"
|
|
148
|
+
}, item === null || item === void 0 ? void 0 : item.title, ":"), /*#__PURE__*/_react.default.createElement("div", {
|
|
149
|
+
className: "filter_item_value"
|
|
150
|
+
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
151
|
+
className: "checked"
|
|
152
|
+
}, getLabel(filterValue))), /*#__PURE__*/_react.default.createElement("div", {
|
|
153
|
+
className: "filter_item_icon"
|
|
154
|
+
}, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
|
|
155
|
+
type: active ? 'lmweb-close-circle-fill' : 'lmweb-down',
|
|
156
|
+
className: "addonAfter",
|
|
157
|
+
onClick: handleClear
|
|
158
|
+
}))));
|
|
159
|
+
});
|
|
160
|
+
|
|
161
|
+
var _default = DropdownFilter;
|
|
162
|
+
exports.default = _default;
|
|
@@ -0,0 +1,27 @@
|
|
|
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 _icon_placeholder = _interopRequireDefault(require("../icon_placeholder.png"));
|
|
13
|
+
|
|
14
|
+
var EmptyFilter = function EmptyFilter() {
|
|
15
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
16
|
+
className: "filter_empty"
|
|
17
|
+
}, /*#__PURE__*/_react.default.createElement("img", {
|
|
18
|
+
src: _icon_placeholder.default,
|
|
19
|
+
alt: "empty",
|
|
20
|
+
width: 81
|
|
21
|
+
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
22
|
+
className: "filter_empty_text"
|
|
23
|
+
}, "\u6682\u65E0\u6570\u636E"));
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
var _default = EmptyFilter;
|
|
27
|
+
exports.default = _default;
|
|
@@ -0,0 +1,52 @@
|
|
|
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 = exports.InputFilter = void 0;
|
|
11
|
+
|
|
12
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
13
|
+
|
|
14
|
+
var _InputSearchClose = _interopRequireDefault(require("./InputSearchClose"));
|
|
15
|
+
|
|
16
|
+
var InputFilter = function InputFilter(_ref) {
|
|
17
|
+
var instance = _ref.instance;
|
|
18
|
+
var _instance$filterValue = instance.filterValue,
|
|
19
|
+
filterValue = _instance$filterValue === void 0 ? '' : _instance$filterValue,
|
|
20
|
+
setFilterValue = instance.setFilterValue,
|
|
21
|
+
visible = instance.visible;
|
|
22
|
+
var inputRef = (0, _react.useRef)(null);
|
|
23
|
+
|
|
24
|
+
var onChange = function onChange(val) {
|
|
25
|
+
return setFilterValue(val);
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
(0, _react.useEffect)(function () {
|
|
29
|
+
if (visible) {
|
|
30
|
+
var _inputRef$current;
|
|
31
|
+
|
|
32
|
+
(_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus({
|
|
33
|
+
cursor: 'all'
|
|
34
|
+
}); // 若开启了 Dropdown => destroyPopupOnHide=true 无需重置操作 反之需开启
|
|
35
|
+
// inputRef.current?.setValue?.('');
|
|
36
|
+
// handleFilter('');
|
|
37
|
+
}
|
|
38
|
+
}, [visible]);
|
|
39
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
40
|
+
className: "filter_dropdown"
|
|
41
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
42
|
+
className: "filter_header"
|
|
43
|
+
}, /*#__PURE__*/_react.default.createElement(_InputSearchClose.default, {
|
|
44
|
+
defaultValue: filterValue,
|
|
45
|
+
ref: inputRef,
|
|
46
|
+
onSearch: onChange
|
|
47
|
+
})));
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
exports.InputFilter = InputFilter;
|
|
51
|
+
var _default = InputFilter;
|
|
52
|
+
exports.default = _default;
|
|
@@ -0,0 +1,74 @@
|
|
|
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/esm/extends"));
|
|
13
|
+
|
|
14
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
|
|
15
|
+
|
|
16
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
17
|
+
|
|
18
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
|
|
19
|
+
|
|
20
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
21
|
+
|
|
22
|
+
var _linkmoreDesign = require("linkmore-design");
|
|
23
|
+
|
|
24
|
+
var _hooks = require("../hooks");
|
|
25
|
+
|
|
26
|
+
var _excluded = ["value", "onChange", "onSearch"];
|
|
27
|
+
// 搜索输入框, 增加Ref关闭功能
|
|
28
|
+
var InputSearchClose = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
29
|
+
var inputRef = (0, _react.useRef)(null);
|
|
30
|
+
var value = props.value,
|
|
31
|
+
onChange = props.onChange,
|
|
32
|
+
onSearch = props.onSearch,
|
|
33
|
+
resetProps = (0, _objectWithoutProperties2.default)(props, _excluded);
|
|
34
|
+
|
|
35
|
+
var _useState = (0, _react.useState)(value),
|
|
36
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
37
|
+
aliveValue = _useState2[0],
|
|
38
|
+
setAliveValue = _useState2[1];
|
|
39
|
+
|
|
40
|
+
var delayedQuery = (0, _hooks.useDelayedFn)(500); // 内容改变触发 => 延迟触发
|
|
41
|
+
|
|
42
|
+
var handleChange = function handleChange(e) {
|
|
43
|
+
e === null || e === void 0 ? void 0 : e.persist();
|
|
44
|
+
setAliveValue === null || setAliveValue === void 0 ? void 0 : setAliveValue(e.target.value);
|
|
45
|
+
delayedQuery(function () {
|
|
46
|
+
return onChange === null || onChange === void 0 ? void 0 : onChange(e.target.value);
|
|
47
|
+
});
|
|
48
|
+
}; // 搜索触发 => 立即触发 & 解除上一次的延迟触发
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
var handleSearch = function handleSearch(val) {
|
|
52
|
+
onSearch === null || onSearch === void 0 ? void 0 : onSearch(val);
|
|
53
|
+
delayedQuery.cancel();
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
(0, _react.useImperativeHandle)(ref, function () {
|
|
57
|
+
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, inputRef.current), {}, {
|
|
58
|
+
setValue: function setValue(val) {
|
|
59
|
+
return setAliveValue(val);
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
return /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Input.Search, (0, _extends2.default)({
|
|
64
|
+
ref: inputRef,
|
|
65
|
+
allowClear: true,
|
|
66
|
+
size: "small",
|
|
67
|
+
placeholder: "\u8BF7\u8F93\u5165",
|
|
68
|
+
value: aliveValue,
|
|
69
|
+
onSearch: handleSearch,
|
|
70
|
+
onChange: handleChange
|
|
71
|
+
}, resetProps));
|
|
72
|
+
});
|
|
73
|
+
var _default = InputSearchClose;
|
|
74
|
+
exports.default = _default;
|
|
@@ -0,0 +1,113 @@
|
|
|
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/esm/extends"));
|
|
13
|
+
|
|
14
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
|
|
15
|
+
|
|
16
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
17
|
+
|
|
18
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
19
|
+
|
|
20
|
+
var _linkmoreDesign = require("linkmore-design");
|
|
21
|
+
|
|
22
|
+
var _InputSearchClose = _interopRequireDefault(require("./InputSearchClose"));
|
|
23
|
+
|
|
24
|
+
var _EmptyFilter = _interopRequireDefault(require("./EmptyFilter"));
|
|
25
|
+
|
|
26
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
27
|
+
|
|
28
|
+
var _hooks = require("../hooks");
|
|
29
|
+
|
|
30
|
+
var _excluded = ["item"];
|
|
31
|
+
|
|
32
|
+
var SelectFilter = function SelectFilter(_ref) {
|
|
33
|
+
var instance = _ref.instance,
|
|
34
|
+
itemProps = _ref.item;
|
|
35
|
+
var _instance$filterValue = instance.filterValue,
|
|
36
|
+
filterValue = _instance$filterValue === void 0 ? '' : _instance$filterValue,
|
|
37
|
+
setFilterValue = instance.setFilterValue,
|
|
38
|
+
visible = instance.visible;
|
|
39
|
+
var _itemProps$data = itemProps.data,
|
|
40
|
+
filters = _itemProps$data === void 0 ? [] : _itemProps$data;
|
|
41
|
+
var delayedFn = (0, _hooks.useDelayedFn)();
|
|
42
|
+
var inputRef = (0, _react.useRef)(null); // 搜索后的筛选项
|
|
43
|
+
|
|
44
|
+
var _useState = (0, _react.useState)(filters),
|
|
45
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
46
|
+
options = _useState2[0],
|
|
47
|
+
setOptions = _useState2[1]; // 是否存在搜索, 当数据大于8时存在搜索
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
var isSearch = (0, _react.useMemo)(function () {
|
|
51
|
+
return filters.length > 8;
|
|
52
|
+
}, [filters.length]);
|
|
53
|
+
|
|
54
|
+
var handleFilter = function handleFilter() {
|
|
55
|
+
var val = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
56
|
+
console.log('val', val);
|
|
57
|
+
var serachValues = filters.filter(function (v) {
|
|
58
|
+
return v.label.indexOf(val) > -1;
|
|
59
|
+
});
|
|
60
|
+
setOptions(serachValues);
|
|
61
|
+
}; // 单选事件
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
var onChange = function onChange(e, obj) {
|
|
65
|
+
e.preventDefault();
|
|
66
|
+
setFilterValue === null || setFilterValue === void 0 ? void 0 : setFilterValue(obj);
|
|
67
|
+
}; // 展开下拉时触发: 赋值 && 聚焦 && 重置显示内容
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
(0, _react.useEffect)(function () {
|
|
71
|
+
if (visible) {
|
|
72
|
+
delayedFn(function () {
|
|
73
|
+
var _inputRef$current, _inputRef$current$foc;
|
|
74
|
+
|
|
75
|
+
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, {
|
|
76
|
+
cursor: 'all'
|
|
77
|
+
});
|
|
78
|
+
}); // 若开启了 Dropdown => destroyPopupOnHide=true 无需重置操作 反之需开启
|
|
79
|
+
// inputRef.current?.setValue?.('');
|
|
80
|
+
// handleFilter('');
|
|
81
|
+
}
|
|
82
|
+
}, [visible]);
|
|
83
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
84
|
+
className: "filter_dropdown"
|
|
85
|
+
}, isSearch && /*#__PURE__*/_react.default.createElement("div", {
|
|
86
|
+
className: "filter_header"
|
|
87
|
+
}, /*#__PURE__*/_react.default.createElement(_InputSearchClose.default, {
|
|
88
|
+
ref: inputRef,
|
|
89
|
+
onSearch: handleFilter,
|
|
90
|
+
onChange: handleFilter
|
|
91
|
+
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
92
|
+
className: "filter_body"
|
|
93
|
+
}, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.VirtualList, {
|
|
94
|
+
options: options,
|
|
95
|
+
className: "filter_list"
|
|
96
|
+
}, function (_ref2) {
|
|
97
|
+
var item = _ref2.item,
|
|
98
|
+
resetProps = (0, _objectWithoutProperties2.default)(_ref2, _excluded);
|
|
99
|
+
return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, resetProps, {
|
|
100
|
+
className: (0, _classnames.default)('filter_item', {
|
|
101
|
+
checked: item.value === (filterValue === null || filterValue === void 0 ? void 0 : filterValue.value)
|
|
102
|
+
}),
|
|
103
|
+
onClick: function onClick(e) {
|
|
104
|
+
return onChange(e, item);
|
|
105
|
+
}
|
|
106
|
+
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
107
|
+
className: "filter_item-content"
|
|
108
|
+
}, item.label));
|
|
109
|
+
}), !options.length && /*#__PURE__*/_react.default.createElement(_EmptyFilter.default, null)));
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
var _default = SelectFilter;
|
|
113
|
+
exports.default = _default;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
|
|
12
|
+
var _linkmoreDesign = require("linkmore-design");
|
|
13
|
+
|
|
14
|
+
var FuzzySearch = function FuzzySearch(_ref) {
|
|
15
|
+
var instance = _ref.instance;
|
|
16
|
+
var inputRef = (0, _react.useRef)(null);
|
|
17
|
+
var state = instance.state,
|
|
18
|
+
dispatch = instance.dispatch,
|
|
19
|
+
size = instance.size,
|
|
20
|
+
placeholder = instance.placeholder;
|
|
21
|
+
|
|
22
|
+
var onSearch = function onSearch(val) {// dispatch();
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
26
|
+
className: "lm_filter_search"
|
|
27
|
+
}, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Input.Search, {
|
|
28
|
+
ref: inputRef,
|
|
29
|
+
allowClear: true,
|
|
30
|
+
size: size,
|
|
31
|
+
placeholder: placeholder,
|
|
32
|
+
onSearch: onSearch
|
|
33
|
+
}));
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
var _default = FuzzySearch;
|
|
37
|
+
exports.default = _default;
|