linkmore-design 1.0.76 → 1.0.77
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/LmFilter/LmFilter.d.ts +1 -0
- package/dist/LmFilter/filterFns/index.d.ts +10 -1
- package/dist/LmTable/components/inputDataEdit.d.ts +8 -0
- package/dist/LmTable/components/sheelTableCell.d.ts +11 -0
- package/dist/LmTable/components/tableChartsModal.d.ts +22 -0
- package/dist/LmTable/demos/excel.d.ts +2 -0
- package/dist/index.umd.js +75075 -3350
- package/dist/index.umd.min.js +6 -6
- package/es/LmFilter/LmFilter.js +11 -3
- package/es/LmFilter/baseFilter/fuzzySearch.js +23 -13
- package/es/LmFilter/clearFilter/index.js +1 -3
- package/es/LmFilter/complexFilter/valueDrawer.js +1 -1
- package/es/LmFilter/filterFns/index.js +266 -92
- package/es/LmFilter/wrapper/FilterRoot.js +24 -2
- package/es/LmTable/Table.js +487 -43
- package/es/LmTable/components/inputDataEdit.d.ts +8 -0
- package/es/LmTable/components/inputDataEdit.js +35 -0
- package/es/LmTable/components/sheelTableCell.d.ts +11 -0
- package/es/LmTable/components/sheelTableCell.js +140 -0
- package/es/LmTable/components/tableChartsModal.d.ts +22 -0
- package/es/LmTable/components/tableChartsModal.js +114 -0
- package/es/LmTable/style/index.css +53 -0
- package/lib/LmFilter/LmFilter.js +11 -3
- package/lib/LmFilter/baseFilter/fuzzySearch.js +23 -13
- package/lib/LmFilter/clearFilter/index.js +1 -3
- package/lib/LmFilter/complexFilter/valueDrawer.js +1 -1
- package/lib/LmFilter/filterFns/index.js +266 -92
- package/lib/LmFilter/wrapper/FilterRoot.js +24 -2
- package/lib/LmTable/Table.js +487 -43
- package/lib/LmTable/components/inputDataEdit.d.ts +8 -0
- package/lib/LmTable/components/inputDataEdit.js +46 -0
- package/lib/LmTable/components/sheelTableCell.d.ts +11 -0
- package/lib/LmTable/components/sheelTableCell.js +155 -0
- package/lib/LmTable/components/tableChartsModal.d.ts +22 -0
- package/lib/LmTable/components/tableChartsModal.js +127 -0
- package/lib/LmTable/style/index.css +53 -0
- package/package.json +5 -4
- package/typings/index.d.ts +0 -19
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface IProps {
|
|
3
|
+
record: Record<string, any>;
|
|
4
|
+
rowKey: string;
|
|
5
|
+
col: any;
|
|
6
|
+
rowIndex: number;
|
|
7
|
+
colIndex: number;
|
|
8
|
+
[key: string]: any;
|
|
9
|
+
}
|
|
10
|
+
declare const SheelTabelCell: React.FC<IProps>;
|
|
11
|
+
export default SheelTabelCell;
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
|
+
|
|
3
|
+
var __rest = this && this.__rest || function (s, e) {
|
|
4
|
+
var t = {};
|
|
5
|
+
|
|
6
|
+
for (var p in s) {
|
|
7
|
+
if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
11
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
12
|
+
}
|
|
13
|
+
return t;
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
import React, { useState } from 'react';
|
|
17
|
+
import cls from 'classnames';
|
|
18
|
+
import { useUpdateEffect } from 'ahooks';
|
|
19
|
+
import InputDataEdit from './inputDataEdit';
|
|
20
|
+
|
|
21
|
+
var SheelTabelCell = function SheelTabelCell(props) {
|
|
22
|
+
var record = props.record,
|
|
23
|
+
col = props.col,
|
|
24
|
+
rowKey = props.rowKey,
|
|
25
|
+
children = props.children,
|
|
26
|
+
rowIndex = props.rowIndex,
|
|
27
|
+
colIndex = props.colIndex,
|
|
28
|
+
onMouseDown = props.onMouseDown,
|
|
29
|
+
onMouseOver = props.onMouseOver,
|
|
30
|
+
isSelected = props.isSelected,
|
|
31
|
+
selectIng = props.selectIng,
|
|
32
|
+
onContextMenu = props.onContextMenu,
|
|
33
|
+
onDoubleClick = props.onDoubleClick,
|
|
34
|
+
restProps = __rest(props, ["record", "col", "rowKey", "children", "rowIndex", "colIndex", "onMouseDown", "onMouseOver", "isSelected", "selectIng", "onContextMenu", "onDoubleClick"]);
|
|
35
|
+
|
|
36
|
+
var onMouseEnter = restProps.onMouseEnter,
|
|
37
|
+
onMouseLeave = restProps.onMouseLeave,
|
|
38
|
+
clearProps = __rest(restProps, ["onMouseEnter", "onMouseLeave"]);
|
|
39
|
+
|
|
40
|
+
var _ref = (isSelected === null || isSelected === void 0 ? void 0 : isSelected(rowIndex, colIndex)) || {},
|
|
41
|
+
_ref$isSelected = _ref.isSelected,
|
|
42
|
+
sd = _ref$isSelected === void 0 ? false : _ref$isSelected,
|
|
43
|
+
_ref$isEnd = _ref.isEnd,
|
|
44
|
+
isEnd = _ref$isEnd === void 0 ? false : _ref$isEnd,
|
|
45
|
+
_ref$isRightEnd = _ref.isRightEnd,
|
|
46
|
+
isRightEnd = _ref$isRightEnd === void 0 ? false : _ref$isRightEnd,
|
|
47
|
+
_ref$isEditing = _ref.isEditing,
|
|
48
|
+
isEditing = _ref$isEditing === void 0 ? false : _ref$isEditing;
|
|
49
|
+
|
|
50
|
+
var _useState = useState((record === null || record === void 0 ? void 0 : record[col === null || col === void 0 ? void 0 : col.dataIndex]) || ''),
|
|
51
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
52
|
+
value = _useState2[0],
|
|
53
|
+
setValue = _useState2[1];
|
|
54
|
+
|
|
55
|
+
useUpdateEffect(function () {
|
|
56
|
+
console.log(value, '----changeValue');
|
|
57
|
+
}, [value]);
|
|
58
|
+
/** 鼠标点击 */
|
|
59
|
+
|
|
60
|
+
var handleMouseDown = function handleMouseDown(e) {
|
|
61
|
+
if (e.button === 2) {
|
|
62
|
+
console.log('点击了右键');
|
|
63
|
+
} else if (!(col === null || col === void 0 ? void 0 : col.disableEvents)) {
|
|
64
|
+
onMouseDown === null || onMouseDown === void 0 ? void 0 : onMouseDown(rowIndex, colIndex, e);
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
/** 鼠标右键 */
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
var handleContextMenu = function handleContextMenu(e) {
|
|
71
|
+
if (!col.disableEvents) {
|
|
72
|
+
onContextMenu(e, rowIndex, colIndex);
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
/** 鼠标松开 */
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
var handleMouseOver = function handleMouseOver(e) {
|
|
79
|
+
if (!(col === null || col === void 0 ? void 0 : col.disableEvents)) {
|
|
80
|
+
onMouseOver === null || onMouseOver === void 0 ? void 0 : onMouseOver(rowIndex, colIndex);
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
/** 双击 */
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
var handleDoubleClick = function handleDoubleClick(e) {
|
|
87
|
+
if (!(col === null || col === void 0 ? void 0 : col.disableEvents)) {
|
|
88
|
+
onDoubleClick(rowIndex, colIndex, col);
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
var renderComponent = function renderComponent() {
|
|
93
|
+
var _ref2 = col || {},
|
|
94
|
+
component = _ref2.component,
|
|
95
|
+
readOnly = _ref2.readOnly;
|
|
96
|
+
|
|
97
|
+
if (isEditing && !readOnly) {
|
|
98
|
+
return component || null;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
return null;
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
var saveRenderValue = function saveRenderValue() {
|
|
105
|
+
console.log(value, rowIndex, colIndex, '222');
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
var renderEditor = function renderEditor() {
|
|
109
|
+
if (isEditing) {
|
|
110
|
+
var Editor = (col === null || col === void 0 ? void 0 : col.dataEditor) || InputDataEdit;
|
|
111
|
+
return /*#__PURE__*/React.createElement(Editor, {
|
|
112
|
+
cell: col,
|
|
113
|
+
row: rowIndex,
|
|
114
|
+
col: colIndex,
|
|
115
|
+
value: value,
|
|
116
|
+
onChange: setValue,
|
|
117
|
+
handleSave: saveRenderValue
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
return null;
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
var renderViewer = children;
|
|
125
|
+
var content = renderComponent() || renderEditor() || renderViewer;
|
|
126
|
+
return /*#__PURE__*/React.createElement("td", Object.assign({}, clearProps, {
|
|
127
|
+
style: {
|
|
128
|
+
userSelect: 'none'
|
|
129
|
+
},
|
|
130
|
+
className: cls(sd && selectIng && 'selected', isEnd && 'end', isRightEnd && 'right_end', isEditing && 'editing'),
|
|
131
|
+
onMouseDown: handleMouseDown,
|
|
132
|
+
onMouseOver: handleMouseOver,
|
|
133
|
+
onContextMenu: handleContextMenu,
|
|
134
|
+
onDoubleClick: handleDoubleClick,
|
|
135
|
+
// onKeyUp={onKeyUp}
|
|
136
|
+
key: "".concat(rowIndex, "_").concat(colIndex)
|
|
137
|
+
}), content);
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
export default SheelTabelCell;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { ILMModalProps } from 'linkmore-design';
|
|
2
|
+
import type { TableColumnProps } from 'antd';
|
|
3
|
+
interface IProps extends ILMModalProps {
|
|
4
|
+
data?: Record<string, unknown>[];
|
|
5
|
+
type: 'line' | 'pie' | 'column' | null;
|
|
6
|
+
columns?: (TableColumnProps<any> & {
|
|
7
|
+
etype: string;
|
|
8
|
+
})[];
|
|
9
|
+
selectInfo?: {
|
|
10
|
+
start: {
|
|
11
|
+
i: number;
|
|
12
|
+
j: number;
|
|
13
|
+
};
|
|
14
|
+
end: {
|
|
15
|
+
i: number;
|
|
16
|
+
j: number;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
/** i 是行 j 是列 */
|
|
21
|
+
declare const TableChartsModal: (props: IProps) => JSX.Element;
|
|
22
|
+
export default TableChartsModal;
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import React, { useMemo } from 'react';
|
|
2
|
+
import { pick } from 'lodash';
|
|
3
|
+
import { Modal } from 'linkmore-design';
|
|
4
|
+
import { Column, Line, Pie } from '@ant-design/plots';
|
|
5
|
+
/** i 是行 j 是列 */
|
|
6
|
+
|
|
7
|
+
var TableChartsModal = function TableChartsModal(props) {
|
|
8
|
+
var type = props.type,
|
|
9
|
+
onCancel = props.onCancel,
|
|
10
|
+
data = props.data,
|
|
11
|
+
columns = props.columns,
|
|
12
|
+
selectInfo = props.selectInfo;
|
|
13
|
+
var resultData = useMemo(function () {
|
|
14
|
+
var start = selectInfo.start,
|
|
15
|
+
end = selectInfo.end;
|
|
16
|
+
var rCol = columns === null || columns === void 0 ? void 0 : columns.filter(function (item, index) {
|
|
17
|
+
var maxJ = Math.max(start.j, end.j);
|
|
18
|
+
var minJ = Math.min(start.j, end.j);
|
|
19
|
+
|
|
20
|
+
if (index >= minJ && index <= maxJ) {
|
|
21
|
+
return true;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
return false;
|
|
25
|
+
}).map(function (item) {
|
|
26
|
+
return item.dataIndex;
|
|
27
|
+
});
|
|
28
|
+
var maxi = Math.max(start.i, end.i);
|
|
29
|
+
var mini = Math.min(start.i, end.i);
|
|
30
|
+
var rDataSource = data === null || data === void 0 ? void 0 : data.filter(function (item, index) {
|
|
31
|
+
if (index >= mini && index <= maxi) {
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return false;
|
|
36
|
+
}).map(function (item) {
|
|
37
|
+
return pick(item, rCol);
|
|
38
|
+
});
|
|
39
|
+
return {
|
|
40
|
+
rDataSource: rDataSource,
|
|
41
|
+
rCol: rCol
|
|
42
|
+
};
|
|
43
|
+
}, [data, columns, selectInfo]);
|
|
44
|
+
var getTypeCol = useMemo(function () {
|
|
45
|
+
return columns.filter(function (item) {
|
|
46
|
+
return item.etype === 'number';
|
|
47
|
+
}).map(function (item) {
|
|
48
|
+
return item.dataIndex;
|
|
49
|
+
});
|
|
50
|
+
}, [columns]);
|
|
51
|
+
var Field = useMemo(function () {
|
|
52
|
+
var rCol = resultData.rCol;
|
|
53
|
+
var xField = rCol.find(function (item) {
|
|
54
|
+
return !getTypeCol.includes(item);
|
|
55
|
+
});
|
|
56
|
+
var yField = getTypeCol === null || getTypeCol === void 0 ? void 0 : getTypeCol[0];
|
|
57
|
+
return {
|
|
58
|
+
xField: xField,
|
|
59
|
+
yField: yField
|
|
60
|
+
};
|
|
61
|
+
}, [resultData, getTypeCol]);
|
|
62
|
+
var config = useMemo(function () {
|
|
63
|
+
if (type === 'pie') {
|
|
64
|
+
return {
|
|
65
|
+
appendPadding: 10,
|
|
66
|
+
data: resultData.rDataSource,
|
|
67
|
+
angleField: Field.yField,
|
|
68
|
+
colorField: Field.xField,
|
|
69
|
+
radius: 0.9,
|
|
70
|
+
label: {
|
|
71
|
+
type: 'inner',
|
|
72
|
+
offset: '-30%',
|
|
73
|
+
content: function content(_ref) {
|
|
74
|
+
var percent = _ref.percent;
|
|
75
|
+
return "".concat((percent * 100).toFixed(0), "%");
|
|
76
|
+
},
|
|
77
|
+
style: {
|
|
78
|
+
fontSize: 14,
|
|
79
|
+
textAlign: 'center'
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
interactions: [{
|
|
83
|
+
type: 'element-active'
|
|
84
|
+
}]
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
return {
|
|
89
|
+
data: resultData.rDataSource,
|
|
90
|
+
xField: Field.xField,
|
|
91
|
+
yField: Field.yField,
|
|
92
|
+
label: {
|
|
93
|
+
position: 'middle',
|
|
94
|
+
style: {
|
|
95
|
+
fill: '#FFFFFF',
|
|
96
|
+
opacity: 0.6
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
xAxis: {
|
|
100
|
+
label: {
|
|
101
|
+
autoHide: true,
|
|
102
|
+
autoRotate: false
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
}, [Field, resultData, type]);
|
|
107
|
+
return /*#__PURE__*/React.createElement(Modal, {
|
|
108
|
+
visible: !!type,
|
|
109
|
+
title: "\u667A\u80FD\u62A5\u8868",
|
|
110
|
+
onCancel: onCancel
|
|
111
|
+
}, type === 'column' && /*#__PURE__*/React.createElement(Column, Object.assign({}, config)), type === 'line' && /*#__PURE__*/React.createElement(Line, Object.assign({}, config)), type === 'pie' && /*#__PURE__*/React.createElement(Pie, Object.assign({}, config)));
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
export default TableChartsModal;
|
|
@@ -836,6 +836,42 @@ p {
|
|
|
836
836
|
#lm_protable_warp .lm_protable .ant-table {
|
|
837
837
|
font-size: 12px;
|
|
838
838
|
}
|
|
839
|
+
#lm_protable_warp .lm_protable .ant-table td.selected,
|
|
840
|
+
#lm_protable_warp .lm_protable .ant-table td.editing {
|
|
841
|
+
border: 1px solid var(--primary-color);
|
|
842
|
+
border-bottom: 0px;
|
|
843
|
+
transition: none;
|
|
844
|
+
box-shadow: inset 0 -100px 0 rgb(33 133 13.86666667%);
|
|
845
|
+
border-right: 0;
|
|
846
|
+
}
|
|
847
|
+
#lm_protable_warp .lm_protable .ant-table td.selected.end,
|
|
848
|
+
#lm_protable_warp .lm_protable .ant-table td.editing.end {
|
|
849
|
+
border-bottom: 1px solid var(--primary-color);
|
|
850
|
+
}
|
|
851
|
+
#lm_protable_warp .lm_protable .ant-table td.selected.right_end,
|
|
852
|
+
#lm_protable_warp .lm_protable .ant-table td.editing.right_end {
|
|
853
|
+
border-right: 1px solid var(--primary-color);
|
|
854
|
+
}
|
|
855
|
+
#lm_protable_warp .lm_protable .ant-table td.selected .data-editor,
|
|
856
|
+
#lm_protable_warp .lm_protable .ant-table td.editing .data-editor {
|
|
857
|
+
border: 0;
|
|
858
|
+
background: none;
|
|
859
|
+
}
|
|
860
|
+
#lm_protable_warp .lm_protable .ant-table td.selected input,
|
|
861
|
+
#lm_protable_warp .lm_protable .ant-table td.editing input {
|
|
862
|
+
background: none;
|
|
863
|
+
outline: none !important;
|
|
864
|
+
border: 0;
|
|
865
|
+
}
|
|
866
|
+
#lm_protable_warp .lm_protable .ant-table td.selected input:hover,
|
|
867
|
+
#lm_protable_warp .lm_protable .ant-table td.editing input:hover {
|
|
868
|
+
background: none;
|
|
869
|
+
border: 0;
|
|
870
|
+
}
|
|
871
|
+
#lm_protable_warp .lm_protable .ant-table tr:last-child td.selected.end,
|
|
872
|
+
#lm_protable_warp .lm_protable .ant-table tr:last-child td.editing.end {
|
|
873
|
+
border-bottom: 2px solid var(--primary-color);
|
|
874
|
+
}
|
|
839
875
|
#lm_protable_warp .lm_protable .ant-card-body,
|
|
840
876
|
#lm_protable_warp .lm_protable .ant-pro-card-body {
|
|
841
877
|
padding: 0;
|
|
@@ -1476,3 +1512,20 @@ p {
|
|
|
1476
1512
|
height: 100%;
|
|
1477
1513
|
cursor: col-resize;
|
|
1478
1514
|
}
|
|
1515
|
+
.WeChatContactsAvatarTools {
|
|
1516
|
+
background-color: #fff;
|
|
1517
|
+
border: 1px solid #ddd;
|
|
1518
|
+
}
|
|
1519
|
+
.WeChatContactsAvatarTools .rightClickItems {
|
|
1520
|
+
height: 30px;
|
|
1521
|
+
border-bottom: 1px solid #ddd;
|
|
1522
|
+
padding: 0 8px;
|
|
1523
|
+
display: flex;
|
|
1524
|
+
align-items: center;
|
|
1525
|
+
justify-content: flex-start;
|
|
1526
|
+
font-size: 12px;
|
|
1527
|
+
cursor: pointer;
|
|
1528
|
+
}
|
|
1529
|
+
.WeChatContactsAvatarTools .rightClickItems:last-child {
|
|
1530
|
+
border-bottom: 0px;
|
|
1531
|
+
}
|
package/lib/LmFilter/LmFilter.js
CHANGED
|
@@ -21,10 +21,12 @@ var _FilterRoot = _interopRequireDefault(require("./wrapper/FilterRoot"));
|
|
|
21
21
|
|
|
22
22
|
var _localization = require("./localization");
|
|
23
23
|
|
|
24
|
-
var _excluded = ["localization"];
|
|
24
|
+
var _excluded = ["searchConfig", "localization"];
|
|
25
25
|
|
|
26
26
|
var LmFilter = function LmFilter(_ref, ref) {
|
|
27
|
-
var _ref$
|
|
27
|
+
var _ref$searchConfig = _ref.searchConfig,
|
|
28
|
+
searchConfig = _ref$searchConfig === void 0 ? {} : _ref$searchConfig,
|
|
29
|
+
_ref$localization = _ref.localization,
|
|
28
30
|
localization = _ref$localization === void 0 ? {} : _ref$localization,
|
|
29
31
|
resetProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
30
32
|
var defaultRef = (0, _react.useRef)(null);
|
|
@@ -45,9 +47,15 @@ var LmFilter = function LmFilter(_ref, ref) {
|
|
|
45
47
|
// 尺寸
|
|
46
48
|
searchKey: 'search',
|
|
47
49
|
// 搜索的key值
|
|
50
|
+
searchConfig: (0, _objectSpread2.default)({
|
|
51
|
+
relation: 'or',
|
|
52
|
+
fieldType: 'string',
|
|
53
|
+
operator: 'contains'
|
|
54
|
+
}, searchConfig || {}),
|
|
55
|
+
// 模糊搜索配置
|
|
48
56
|
placeholder: '请输入',
|
|
49
57
|
// 搜索占位符
|
|
50
|
-
localization: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, _localization.DefaultLocalization), localization)
|
|
58
|
+
localization: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, _localization.DefaultLocalization), localization || {})
|
|
51
59
|
};
|
|
52
60
|
return /*#__PURE__*/_react.default.createElement(_FilterRoot.default, (0, _extends2.default)({
|
|
53
61
|
ref: ref || defaultRef
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
|
|
5
3
|
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
6
4
|
|
|
5
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
6
|
+
|
|
7
7
|
Object.defineProperty(exports, "__esModule", {
|
|
8
8
|
value: true
|
|
9
9
|
});
|
|
10
10
|
exports.default = void 0;
|
|
11
11
|
|
|
12
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
13
|
+
|
|
12
14
|
var _react = _interopRequireWildcard(require("react"));
|
|
13
15
|
|
|
14
16
|
var _InputSearchClose = _interopRequireDefault(require("../components/InputSearchClose"));
|
|
@@ -18,30 +20,38 @@ var FuzzySearch = function FuzzySearch(_ref) {
|
|
|
18
20
|
var inputRef = (0, _react.useRef)(null);
|
|
19
21
|
var state = instance.state,
|
|
20
22
|
setFilterValue = instance.setFilterValue,
|
|
23
|
+
setSearchFilter = instance.setSearchFilter,
|
|
21
24
|
size = instance.size,
|
|
22
25
|
placeholder = instance.placeholder,
|
|
23
|
-
searchKey = instance.searchKey
|
|
26
|
+
searchKey = instance.searchKey,
|
|
27
|
+
searchConfig = instance.searchConfig; // 默认值
|
|
24
28
|
|
|
25
29
|
var defaultValue = (0, _react.useMemo)(function () {
|
|
26
|
-
var _state$basicFilter;
|
|
30
|
+
var _state$basicFilter, _state$searchFilter;
|
|
27
31
|
|
|
28
|
-
return ((_state$basicFilter = state.basicFilter) === null || _state$basicFilter === void 0 ? void 0 : _state$basicFilter[searchKey]) || '';
|
|
29
|
-
}, [state.basicFilter]);
|
|
32
|
+
return ((_state$basicFilter = state.basicFilter) === null || _state$basicFilter === void 0 ? void 0 : _state$basicFilter[searchKey]) || ((_state$searchFilter = state.searchFilter) === null || _state$searchFilter === void 0 ? void 0 : _state$searchFilter[searchKey[0]]) || '';
|
|
33
|
+
}, [state.basicFilter, state.searchFilter, searchKey]);
|
|
30
34
|
|
|
31
35
|
var onSearch = function onSearch(val) {
|
|
32
|
-
var
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
var isFuzzy = Array.isArray(searchKey);
|
|
37
|
+
var item = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, searchConfig), {}, {
|
|
38
|
+
field: searchKey
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
if (isFuzzy) {
|
|
42
|
+
setSearchFilter(val);
|
|
43
|
+
} else {
|
|
44
|
+
setFilterValue(val, item);
|
|
45
|
+
}
|
|
38
46
|
};
|
|
39
47
|
|
|
40
48
|
(0, _react.useEffect)(function () {
|
|
41
49
|
if (!defaultValue) {
|
|
42
50
|
inputRef.current.setValue('');
|
|
51
|
+
} else {
|
|
52
|
+
inputRef.current.setValue(defaultValue);
|
|
43
53
|
}
|
|
44
|
-
}, [state.basicFilter]);
|
|
54
|
+
}, [state.basicFilter, state.searchFilter]);
|
|
45
55
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
46
56
|
className: "lm_filter_search"
|
|
47
57
|
}, /*#__PURE__*/_react.default.createElement(_InputSearchClose.default, {
|
|
@@ -13,9 +13,7 @@ var _linkmoreDesign = require("linkmore-design");
|
|
|
13
13
|
|
|
14
14
|
var LmFilterClear = /*#__PURE__*/_react.default.memo(function (_ref) {
|
|
15
15
|
var instance = _ref.instance;
|
|
16
|
-
var
|
|
17
|
-
dispatch = instance.dispatch,
|
|
18
|
-
onClearChange = instance.onClearChange;
|
|
16
|
+
var onClearChange = instance.onClearChange;
|
|
19
17
|
|
|
20
18
|
var handleClear = function handleClear() {
|
|
21
19
|
onClearChange();
|