linkmore-design 1.0.58 → 1.0.59
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/Form/container.d.ts +8 -0
- package/dist/Form/demos/responsive.d.ts +2 -0
- package/dist/Form/index.d.ts +3 -0
- package/dist/LmFilter/customFilter/index.d.ts +3 -1
- package/dist/LmFilter/filterFns/index.d.ts +4 -1
- package/dist/index.umd.js +104 -14
- package/dist/index.umd.min.js +2 -2
- package/es/Form/container.d.ts +8 -0
- package/es/Form/container.js +97 -0
- package/es/Form/index.d.ts +3 -0
- package/es/Form/index.js +13 -1
- package/es/Form/style/index.css +35 -0
- package/es/LmFilter/baseFilter/index.js +2 -1
- package/es/LmFilter/complexFilter/drawer.js +19 -4
- package/es/LmFilter/components/CascaderFilter.js +17 -4
- package/es/LmFilter/components/DateFilter.js +3 -7
- package/es/LmFilter/components/DropdownFIlter.js +12 -4
- package/es/LmFilter/customFilter/index.js +3 -2
- package/es/LmFilter/filterFns/index.js +51 -11
- package/es/LmFilter/wrapper/Filter.js +6 -3
- package/es/LmFilter/wrapper/FilterRoot.js +28 -8
- package/lib/Form/container.d.ts +8 -0
- package/lib/Form/container.js +112 -0
- package/lib/Form/index.d.ts +3 -0
- package/lib/Form/index.js +14 -1
- package/lib/Form/style/index.css +35 -0
- package/lib/LmFilter/baseFilter/index.js +2 -1
- package/lib/LmFilter/complexFilter/drawer.js +19 -4
- package/lib/LmFilter/components/CascaderFilter.js +17 -4
- package/lib/LmFilter/components/DateFilter.js +3 -7
- package/lib/LmFilter/components/DropdownFIlter.js +12 -4
- package/lib/LmFilter/customFilter/index.js +3 -2
- package/lib/LmFilter/filterFns/index.js +51 -11
- package/lib/LmFilter/wrapper/Filter.js +6 -3
- package/lib/LmFilter/wrapper/FilterRoot.js +28 -8
- package/package.json +1 -1
|
@@ -0,0 +1,97 @@
|
|
|
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, { useCallback, useEffect, useRef, useState } from 'react';
|
|
17
|
+
import classNames from 'classnames';
|
|
18
|
+
import { throttle } from 'lodash';
|
|
19
|
+
var prefixCls = 'lm_container';
|
|
20
|
+
|
|
21
|
+
var LMContainer = function LMContainer(props) {
|
|
22
|
+
var children = props.children,
|
|
23
|
+
className = props.className,
|
|
24
|
+
responsive = props.responsive,
|
|
25
|
+
others = __rest(props, ["children", "className", "responsive"]);
|
|
26
|
+
|
|
27
|
+
var _useState = useState({
|
|
28
|
+
width: '100%',
|
|
29
|
+
height: '100%'
|
|
30
|
+
}),
|
|
31
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
32
|
+
containerSize = _useState2[0],
|
|
33
|
+
setContainerSize = _useState2[1];
|
|
34
|
+
|
|
35
|
+
var containerWrapRef = useRef(null);
|
|
36
|
+
var throttleSize = useCallback(function () {
|
|
37
|
+
var width = containerSize.width,
|
|
38
|
+
height = containerSize.height;
|
|
39
|
+
var responsiveCls = responsive && width !== '100%' ? 'responsive' : '';
|
|
40
|
+
var lm_col = '';
|
|
41
|
+
|
|
42
|
+
if (responsiveCls) {
|
|
43
|
+
if (parseInt(width) < 990) {
|
|
44
|
+
lm_col = 'lm_col_3';
|
|
45
|
+
} else if (parseInt(width) < 1390) {
|
|
46
|
+
lm_col = 'lm_col_4';
|
|
47
|
+
} else {
|
|
48
|
+
lm_col = 'lm_col_5';
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
var classes = classNames(className, prefixCls, responsiveCls, lm_col);
|
|
53
|
+
return /*#__PURE__*/React.createElement("div", Object.assign({
|
|
54
|
+
ref: containerWrapRef,
|
|
55
|
+
className: classes
|
|
56
|
+
}, others, {
|
|
57
|
+
style: {
|
|
58
|
+
width: width,
|
|
59
|
+
height: height
|
|
60
|
+
}
|
|
61
|
+
}), children);
|
|
62
|
+
}, [containerSize, props]);
|
|
63
|
+
|
|
64
|
+
var changeSize = function changeSize() {
|
|
65
|
+
var _a;
|
|
66
|
+
|
|
67
|
+
var _ref = ((_a = containerWrapRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect()) || {},
|
|
68
|
+
_ref$width = _ref.width,
|
|
69
|
+
width = _ref$width === void 0 ? '100%' : _ref$width;
|
|
70
|
+
|
|
71
|
+
setContainerSize({
|
|
72
|
+
width: width,
|
|
73
|
+
height: '100%'
|
|
74
|
+
});
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
var handResize = throttle(changeSize, 600);
|
|
78
|
+
useEffect(function () {
|
|
79
|
+
setTimeout(function () {
|
|
80
|
+
changeSize();
|
|
81
|
+
}, 100);
|
|
82
|
+
window.addEventListener('resize', handResize);
|
|
83
|
+
return function () {
|
|
84
|
+
window.removeEventListener('resize', handResize);
|
|
85
|
+
};
|
|
86
|
+
}, []);
|
|
87
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
88
|
+
className: "lm_container_wrapper",
|
|
89
|
+
ref: containerWrapRef,
|
|
90
|
+
style: {
|
|
91
|
+
width: '100%',
|
|
92
|
+
height: '100%'
|
|
93
|
+
}
|
|
94
|
+
}, throttleSize());
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
export default LMContainer;
|
package/es/Form/index.d.ts
CHANGED
|
@@ -3,6 +3,9 @@ import { Form as AntdForm, FormInstance, FormProps, List } from 'antd';
|
|
|
3
3
|
import useFormInstance from 'antd/lib/form/hooks/useFormInstance';
|
|
4
4
|
import { FormProvider } from 'antd/lib/form/context';
|
|
5
5
|
import { useForm, useWatch } from 'antd/lib/form/Form';
|
|
6
|
+
export interface LmFormProps extends FormProps {
|
|
7
|
+
responsive?: Boolean;
|
|
8
|
+
}
|
|
6
9
|
declare const Reform: <Values = any>(props: FormProps<Values> & {
|
|
7
10
|
children?: React.ReactNode;
|
|
8
11
|
} & {
|
package/es/Form/index.js
CHANGED
|
@@ -21,12 +21,24 @@ import classnames from 'classnames';
|
|
|
21
21
|
import useFormInstance from 'antd/lib/form/hooks/useFormInstance';
|
|
22
22
|
import { FormProvider } from 'antd/lib/form/context';
|
|
23
23
|
import { useForm, useWatch } from 'antd/lib/form/Form';
|
|
24
|
+
import Container from './container';
|
|
24
25
|
var classNamePrefix = 'lm_form';
|
|
25
26
|
|
|
26
27
|
var LMForm = function LMForm(props, ref) {
|
|
27
28
|
var children = props.children,
|
|
28
29
|
className = props.className,
|
|
29
|
-
|
|
30
|
+
responsive = props.responsive,
|
|
31
|
+
restProps = __rest(props, ["children", "className", "responsive"]);
|
|
32
|
+
|
|
33
|
+
if (responsive) {
|
|
34
|
+
return /*#__PURE__*/React.createElement(Container, {
|
|
35
|
+
responsive: true
|
|
36
|
+
}, /*#__PURE__*/React.createElement(_Form, Object.assign({
|
|
37
|
+
ref: ref,
|
|
38
|
+
className: classnames(classNamePrefix, className),
|
|
39
|
+
colon: false
|
|
40
|
+
}, restProps), children));
|
|
41
|
+
}
|
|
30
42
|
|
|
31
43
|
return /*#__PURE__*/React.createElement(_Form, Object.assign({
|
|
32
44
|
ref: ref,
|
package/es/Form/style/index.css
CHANGED
|
@@ -506,6 +506,9 @@ html {
|
|
|
506
506
|
.lm_form .ant-form-item {
|
|
507
507
|
margin-bottom: 16px;
|
|
508
508
|
}
|
|
509
|
+
.lm_form .ant-form-item .ant-form-item-explain {
|
|
510
|
+
line-height: 24px;
|
|
511
|
+
}
|
|
509
512
|
.lm_form .ant-form-item-label {
|
|
510
513
|
display: flex !important;
|
|
511
514
|
align-items: center;
|
|
@@ -529,3 +532,35 @@ html {
|
|
|
529
532
|
.lm_form .ant-form-item-control {
|
|
530
533
|
width: 240px;
|
|
531
534
|
}
|
|
535
|
+
.lm_container_wrapper {
|
|
536
|
+
overflow: auto;
|
|
537
|
+
}
|
|
538
|
+
.lm_container_wrapper .lm_container.responsive {
|
|
539
|
+
min-width: 990px;
|
|
540
|
+
}
|
|
541
|
+
.lm_container_wrapper .lm_container.responsive .lm_form {
|
|
542
|
+
display: flex;
|
|
543
|
+
flex-direction: row;
|
|
544
|
+
flex-wrap: wrap;
|
|
545
|
+
}
|
|
546
|
+
.lm_container_wrapper .lm_container.responsive .lm_form .ant-form-item {
|
|
547
|
+
margin-right: 24px;
|
|
548
|
+
}
|
|
549
|
+
.lm_container_wrapper .lm_container.responsive.lm_col_3 .ant-form-item {
|
|
550
|
+
width: calc(33.3333% - 16px);
|
|
551
|
+
}
|
|
552
|
+
.lm_container_wrapper .lm_container.responsive.lm_col_3 .ant-form-item:nth-of-type(3n) {
|
|
553
|
+
margin-right: 0;
|
|
554
|
+
}
|
|
555
|
+
.lm_container_wrapper .lm_container.responsive.lm_col_4 .ant-form-item {
|
|
556
|
+
width: calc(25% - 18px);
|
|
557
|
+
}
|
|
558
|
+
.lm_container_wrapper .lm_container.responsive.lm_col_4 .ant-form-item:nth-of-type(4n) {
|
|
559
|
+
margin-right: 0;
|
|
560
|
+
}
|
|
561
|
+
.lm_container_wrapper .lm_container.responsive.lm_col_5 .ant-form-item {
|
|
562
|
+
width: calc(20% - 96px / 5);
|
|
563
|
+
}
|
|
564
|
+
.lm_container_wrapper .lm_container.responsive.lm_col_5 .ant-form-item:nth-of-type(5n) {
|
|
565
|
+
margin-right: 0;
|
|
566
|
+
}
|
|
@@ -22,7 +22,8 @@ var LmFilterBase = /*#__PURE__*/_react.default.memo(function (_ref) {
|
|
|
22
22
|
}, /*#__PURE__*/_react.default.createElement(_fuzzySearch.default, {
|
|
23
23
|
instance: instance
|
|
24
24
|
}), dataSource.map(function (v, index) {
|
|
25
|
-
|
|
25
|
+
var isHidden = !v.show && typeof v.show === 'boolean';
|
|
26
|
+
return isHidden ? null : /*#__PURE__*/_react.default.createElement(_components.default, {
|
|
26
27
|
key: (v === null || v === void 0 ? void 0 : v.field) || index,
|
|
27
28
|
instance: instance,
|
|
28
29
|
item: v
|
|
@@ -70,7 +70,9 @@ var ListItemChecked = function ListItemChecked(_ref) {
|
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
if (getItem.type === 'cascader') {
|
|
73
|
-
|
|
73
|
+
var _getItem$props;
|
|
74
|
+
|
|
75
|
+
return (0, _utils.getFlatItem)((getItem === null || getItem === void 0 ? void 0 : (_getItem$props = getItem.props) === null || _getItem$props === void 0 ? void 0 : _getItem$props.multiple) ? checkedValue : [checkedValue], getItem.data, 'parent');
|
|
74
76
|
}
|
|
75
77
|
|
|
76
78
|
return (_getItem$data = getItem.data) === null || _getItem$data === void 0 ? void 0 : _getItem$data.filter(function (v) {
|
|
@@ -119,9 +121,22 @@ var ListItemChecked = function ListItemChecked(_ref) {
|
|
|
119
121
|
|
|
120
122
|
var onTagClose = function onTagClose(val) {
|
|
121
123
|
var originData = (0, _objectSpread3.default)({}, complexDrawer.data);
|
|
122
|
-
var nValue =
|
|
123
|
-
|
|
124
|
-
|
|
124
|
+
var nValue = '';
|
|
125
|
+
|
|
126
|
+
if (['select', 'checkbox'].includes(getItem.type)) {
|
|
127
|
+
nValue = originData[field].value.filter(function (v) {
|
|
128
|
+
return !v.includes(val);
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
if (['input'].includes(getItem.type)) {
|
|
133
|
+
nValue = '';
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
if (['cascader'].includes(getItem.type)) {
|
|
137
|
+
nValue = [];
|
|
138
|
+
}
|
|
139
|
+
|
|
125
140
|
var filterValues = (0, _objectSpread3.default)((0, _objectSpread3.default)({}, originData), {}, (0, _defineProperty2.default)({}, field, (0, _objectSpread3.default)((0, _objectSpread3.default)({}, originData[field]), {}, {
|
|
126
141
|
value: nValue
|
|
127
142
|
})));
|
|
@@ -13,6 +13,8 @@ require("antd/es/cascader/style");
|
|
|
13
13
|
|
|
14
14
|
var _cascader = _interopRequireDefault(require("antd/es/cascader"));
|
|
15
15
|
|
|
16
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/extends"));
|
|
17
|
+
|
|
16
18
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
17
19
|
|
|
18
20
|
var _react = _interopRequireWildcard(require("react"));
|
|
@@ -39,6 +41,11 @@ var DropdownRender = function DropdownRender(_ref) {
|
|
|
39
41
|
filters = _item$data === void 0 ? [] : _item$data;
|
|
40
42
|
var inputRef = (0, _react.useRef)(null);
|
|
41
43
|
var delayedFn = (0, _hooks.useDelayedFn)();
|
|
44
|
+
var isShowFoot = (0, _react.useMemo)(function () {
|
|
45
|
+
var _item$props;
|
|
46
|
+
|
|
47
|
+
return item === null || item === void 0 ? void 0 : (_item$props = item.props) === null || _item$props === void 0 ? void 0 : _item$props.multiple;
|
|
48
|
+
}, [item]);
|
|
42
49
|
|
|
43
50
|
var handleFilter = function handleFilter(val) {
|
|
44
51
|
var serachValues = filters.filter(function (v) {
|
|
@@ -77,7 +84,7 @@ var DropdownRender = function DropdownRender(_ref) {
|
|
|
77
84
|
ref: inputRef,
|
|
78
85
|
onSearch: handleFilter,
|
|
79
86
|
onChange: handleFilter
|
|
80
|
-
})), dom, /*#__PURE__*/_react.default.createElement("div", {
|
|
87
|
+
})), dom, isShowFoot && /*#__PURE__*/_react.default.createElement("div", {
|
|
81
88
|
className: "filter_footer"
|
|
82
89
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
83
90
|
className: "footer_clear",
|
|
@@ -117,11 +124,17 @@ var CascaderFilter = function CascaderFilter(_ref2) {
|
|
|
117
124
|
}, [filterValue]);
|
|
118
125
|
|
|
119
126
|
var onChange = function onChange(item, selectedOptions) {
|
|
127
|
+
var _itemProps$props;
|
|
128
|
+
|
|
129
|
+
console.log('item', item);
|
|
120
130
|
setCheckedValues(item);
|
|
131
|
+
|
|
132
|
+
if (!(itemProps === null || itemProps === void 0 ? void 0 : (_itemProps$props = itemProps.props) === null || _itemProps$props === void 0 ? void 0 : _itemProps$props.multiple)) {
|
|
133
|
+
setFilterValue(item);
|
|
134
|
+
}
|
|
121
135
|
};
|
|
122
136
|
|
|
123
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_cascader.default, {
|
|
124
|
-
multiple: true,
|
|
137
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_cascader.default, (0, _extends2.default)({}, itemProps.props, {
|
|
125
138
|
options: options,
|
|
126
139
|
onChange: onChange,
|
|
127
140
|
defaultValue: defaultValue,
|
|
@@ -139,7 +152,7 @@ var CascaderFilter = function CascaderFilter(_ref2) {
|
|
|
139
152
|
setOptions: setOptions
|
|
140
153
|
});
|
|
141
154
|
}
|
|
142
|
-
}, children));
|
|
155
|
+
}), children));
|
|
143
156
|
};
|
|
144
157
|
|
|
145
158
|
var _default = CascaderFilter;
|
|
@@ -9,10 +9,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
9
9
|
});
|
|
10
10
|
exports.default = void 0;
|
|
11
11
|
|
|
12
|
-
require("antd/es/date-picker/style");
|
|
13
|
-
|
|
14
|
-
var _datePicker = _interopRequireDefault(require("antd/es/date-picker"));
|
|
15
|
-
|
|
16
12
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/extends"));
|
|
17
13
|
|
|
18
14
|
var _react = _interopRequireWildcard(require("react"));
|
|
@@ -73,7 +69,7 @@ var RangePicker = function RangePicker(_ref) {
|
|
|
73
69
|
className: "filter_picker_header"
|
|
74
70
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
75
71
|
className: "filter_picker_header_tip"
|
|
76
|
-
},
|
|
72
|
+
}, defaultValue && "".concat(filterValue[0], " - ").concat(filterValue[1])), /*#__PURE__*/_react.default.createElement("div", {
|
|
77
73
|
className: "filter_picker_header_operate"
|
|
78
74
|
}, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Radio.Group, {
|
|
79
75
|
value: activeValue,
|
|
@@ -87,7 +83,7 @@ var RangePicker = function RangePicker(_ref) {
|
|
|
87
83
|
})))), panelNode));
|
|
88
84
|
};
|
|
89
85
|
|
|
90
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(
|
|
86
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.DatePicker.RangePicker, (0, _extends2.default)({
|
|
91
87
|
picker: "date",
|
|
92
88
|
separator: /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
|
|
93
89
|
type: "lmweb-swap-right",
|
|
@@ -148,7 +144,7 @@ var DatePickerFilter = function DatePickerFilter(_ref2) {
|
|
|
148
144
|
});
|
|
149
145
|
}
|
|
150
146
|
|
|
151
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
147
|
+
return /*#__PURE__*/_react.default.createElement(_linkmoreDesign.DatePicker, (0, _extends2.default)({
|
|
152
148
|
placeholder: "\u9009\u62E9\u65F6\u95F4"
|
|
153
149
|
}, props, {
|
|
154
150
|
defaultValue: defaultValue,
|
|
@@ -112,7 +112,9 @@ var getLabel = function getLabel(filterValue, item) {
|
|
|
112
112
|
|
|
113
113
|
|
|
114
114
|
if (['cascader'].includes(type)) {
|
|
115
|
-
var
|
|
115
|
+
var _item$props;
|
|
116
|
+
|
|
117
|
+
var nArr = (0, _utils.getFlatItem)((item === null || item === void 0 ? void 0 : (_item$props = item.props) === null || _item$props === void 0 ? void 0 : _item$props.multiple) ? filterValue : [filterValue], data);
|
|
116
118
|
var labels = nArr.map(function (v) {
|
|
117
119
|
return v.label;
|
|
118
120
|
});
|
|
@@ -150,6 +152,12 @@ var getLabel = function getLabel(filterValue, item) {
|
|
|
150
152
|
return v.label;
|
|
151
153
|
});
|
|
152
154
|
|
|
155
|
+
if (!_labels.length) {
|
|
156
|
+
_labels = filterValue;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
; // 受控模式未查找到显示的内容时展示
|
|
160
|
+
|
|
153
161
|
switch (_labels.length) {
|
|
154
162
|
case 1:
|
|
155
163
|
return _labels[0];
|
|
@@ -165,12 +173,12 @@ var getLabel = function getLabel(filterValue, item) {
|
|
|
165
173
|
|
|
166
174
|
if (['input', 'date'].includes(type)) {
|
|
167
175
|
return filterValue;
|
|
168
|
-
} // 单选框
|
|
176
|
+
} // 单选框 受控模式未查找到显示的内容时展示filterValue
|
|
169
177
|
|
|
170
178
|
|
|
171
|
-
var label = (_data$find = data.find(function (v) {
|
|
179
|
+
var label = ((_data$find = data.find(function (v) {
|
|
172
180
|
return v.value === filterValue;
|
|
173
|
-
})) === null || _data$find === void 0 ? void 0 : _data$find.label;
|
|
181
|
+
})) === null || _data$find === void 0 ? void 0 : _data$find.label) || filterValue;
|
|
174
182
|
return label;
|
|
175
183
|
};
|
|
176
184
|
/*
|
|
@@ -9,8 +9,9 @@ exports.default = void 0;
|
|
|
9
9
|
|
|
10
10
|
var _react = _interopRequireDefault(require("react"));
|
|
11
11
|
|
|
12
|
-
var LmFilterCustom = function LmFilterCustom(
|
|
13
|
-
|
|
12
|
+
var LmFilterCustom = function LmFilterCustom(_ref) {
|
|
13
|
+
var instance = _ref.instance;
|
|
14
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
|
|
14
15
|
};
|
|
15
16
|
|
|
16
17
|
var _default = LmFilterCustom;
|
|
@@ -18,7 +18,16 @@ var CoreOptions = function CoreOptions(_ref) {
|
|
|
18
18
|
var state = _ref.state,
|
|
19
19
|
dispatch = _ref.dispatch,
|
|
20
20
|
props = _ref.props;
|
|
21
|
-
var onChange = props.onChange
|
|
21
|
+
var onChange = props.onChange,
|
|
22
|
+
dataSource = props.dataSource; // 根据字段查找过滤的数据, 不存在时返回默认值
|
|
23
|
+
|
|
24
|
+
var getFilterValue = function getFilterValue(_ref2) {
|
|
25
|
+
var field = _ref2.field,
|
|
26
|
+
type = _ref2.type;
|
|
27
|
+
var defaultValue = (0, _utils.getValueForType)(type);
|
|
28
|
+
return state.basicFilter[field] || defaultValue;
|
|
29
|
+
}; // 设置筛选的值 item => String || Array => ['', '', ...]
|
|
30
|
+
|
|
22
31
|
|
|
23
32
|
var setFilterValue = function setFilterValue(item, field) {
|
|
24
33
|
var _Object$entries;
|
|
@@ -44,7 +53,7 @@ var CoreOptions = function CoreOptions(_ref) {
|
|
|
44
53
|
return {
|
|
45
54
|
fieldName: v[0],
|
|
46
55
|
value: v[1],
|
|
47
|
-
operator:
|
|
56
|
+
operator: 'contains'
|
|
48
57
|
};
|
|
49
58
|
}); // 触发外部事件
|
|
50
59
|
|
|
@@ -53,19 +62,50 @@ var CoreOptions = function CoreOptions(_ref) {
|
|
|
53
62
|
filterQuery: filterQuery,
|
|
54
63
|
type: 'basic'
|
|
55
64
|
});
|
|
56
|
-
}; //
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
var
|
|
60
|
-
var
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
65
|
+
}; // 读取缓存
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
var setLocalization = function setLocalization() {
|
|
69
|
+
var localization = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : props.localization;
|
|
70
|
+
var globalQuery = localization.globalQuery,
|
|
71
|
+
filterQuery = localization.filterQuery;
|
|
72
|
+
|
|
73
|
+
if (filterQuery === null || filterQuery === void 0 ? void 0 : filterQuery.filter) {
|
|
74
|
+
// 初始化基础查询缓存
|
|
75
|
+
var basicFilter = filterQuery === null || filterQuery === void 0 ? void 0 : filterQuery.filter.reduce(function (pre, cur) {
|
|
76
|
+
// 查找改数据是否展示
|
|
77
|
+
var someData = dataSource.some(function (v) {
|
|
78
|
+
if (cur.fieldName === v.field) {
|
|
79
|
+
var isHidden = !v.show && typeof v.show === 'boolean';
|
|
80
|
+
return !isHidden;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
return false;
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
if ((0, _utils.getIsHas)(cur.value) && someData) {
|
|
87
|
+
pre[cur.fieldName] = cur.value;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
return pre;
|
|
91
|
+
}, {});
|
|
92
|
+
dispatch({
|
|
93
|
+
type: 'changeBasicFilter',
|
|
94
|
+
basicFilter: basicFilter
|
|
95
|
+
});
|
|
96
|
+
}
|
|
64
97
|
};
|
|
65
98
|
|
|
66
99
|
return {
|
|
100
|
+
getState: function getState() {
|
|
101
|
+
return state;
|
|
102
|
+
},
|
|
103
|
+
getBasicFilter: function getBasicFilter() {
|
|
104
|
+
return state.basicFilter;
|
|
105
|
+
},
|
|
106
|
+
getFilterValue: getFilterValue,
|
|
67
107
|
setFilterValue: setFilterValue,
|
|
68
|
-
|
|
108
|
+
setLocalization: setLocalization
|
|
69
109
|
};
|
|
70
110
|
};
|
|
71
111
|
|
|
@@ -18,13 +18,16 @@ var _complexFilter = _interopRequireDefault(require("../complexFilter"));
|
|
|
18
18
|
// 筛选组合
|
|
19
19
|
var LmFilter = /*#__PURE__*/_react.default.memo(function (_ref) {
|
|
20
20
|
var instance = _ref.instance;
|
|
21
|
+
var enableBaisc = instance.enableBaisc,
|
|
22
|
+
enableComplex = instance.enableComplex,
|
|
23
|
+
enableCustom = instance.enableCustom;
|
|
21
24
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
22
25
|
className: "lm_filter"
|
|
23
|
-
}, /*#__PURE__*/_react.default.createElement(_customFilter.default, {
|
|
26
|
+
}, enableCustom && /*#__PURE__*/_react.default.createElement(_customFilter.default, {
|
|
24
27
|
instance: instance
|
|
25
|
-
}), /*#__PURE__*/_react.default.createElement(_baseFilter.default, {
|
|
28
|
+
}), enableBaisc && /*#__PURE__*/_react.default.createElement(_baseFilter.default, {
|
|
26
29
|
instance: instance
|
|
27
|
-
}), /*#__PURE__*/_react.default.createElement(_complexFilter.default, {
|
|
30
|
+
}), enableComplex && /*#__PURE__*/_react.default.createElement(_complexFilter.default, {
|
|
28
31
|
instance: instance
|
|
29
32
|
}));
|
|
30
33
|
});
|
|
@@ -21,6 +21,8 @@ var _FilterWrapper = _interopRequireDefault(require("./FilterWrapper"));
|
|
|
21
21
|
|
|
22
22
|
var _filterFns = _interopRequireDefault(require("../filterFns"));
|
|
23
23
|
|
|
24
|
+
var _utils = require("../utils");
|
|
25
|
+
|
|
24
26
|
// 根文件 => 参数聚合
|
|
25
27
|
var reducer = function reducer(state, action) {
|
|
26
28
|
var basicFilter = action.basicFilter,
|
|
@@ -66,7 +68,8 @@ var reducer = function reducer(state, action) {
|
|
|
66
68
|
case 'reset':
|
|
67
69
|
// 一键清空
|
|
68
70
|
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, state), {}, {
|
|
69
|
-
basicFilter: {}
|
|
71
|
+
basicFilter: {},
|
|
72
|
+
complexFilter: {}
|
|
70
73
|
});
|
|
71
74
|
|
|
72
75
|
default:
|
|
@@ -76,15 +79,32 @@ var reducer = function reducer(state, action) {
|
|
|
76
79
|
|
|
77
80
|
|
|
78
81
|
var getInitialState = function getInitialState(_ref) {
|
|
79
|
-
var
|
|
80
|
-
|
|
81
|
-
var localization = _ref.localization;
|
|
82
|
+
var localization = _ref.localization,
|
|
83
|
+
dataSource = _ref.dataSource;
|
|
82
84
|
var globalQuery = localization.globalQuery,
|
|
83
85
|
filterQuery = localization.filterQuery;
|
|
84
|
-
var basicFilter = {};
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
86
|
+
var basicFilter = {}; // 初始化基础查询缓存
|
|
87
|
+
|
|
88
|
+
if (filterQuery === null || filterQuery === void 0 ? void 0 : filterQuery.filter) {
|
|
89
|
+
basicFilter = filterQuery === null || filterQuery === void 0 ? void 0 : filterQuery.filter.reduce(function (pre, cur) {
|
|
90
|
+
// 查找改数据是否展示
|
|
91
|
+
var someData = dataSource.some(function (v) {
|
|
92
|
+
if (cur.fieldName === v.field) {
|
|
93
|
+
var isHidden = !v.show && typeof v.show === 'boolean';
|
|
94
|
+
return !isHidden;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
return false;
|
|
98
|
+
});
|
|
99
|
+
|
|
100
|
+
if ((0, _utils.getIsHas)(cur.value) && someData) {
|
|
101
|
+
pre[cur.fieldName] = cur.value;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
return pre;
|
|
105
|
+
}, {});
|
|
106
|
+
}
|
|
107
|
+
|
|
88
108
|
return {
|
|
89
109
|
basicFilter: basicFilter,
|
|
90
110
|
complexFilter: {},
|
|
@@ -0,0 +1,112 @@
|
|
|
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 _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
+
|
|
14
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
15
|
+
|
|
16
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
17
|
+
|
|
18
|
+
var _lodash = require("lodash");
|
|
19
|
+
|
|
20
|
+
var __rest = void 0 && (void 0).__rest || function (s, e) {
|
|
21
|
+
var t = {};
|
|
22
|
+
|
|
23
|
+
for (var p in s) {
|
|
24
|
+
if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
28
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
29
|
+
}
|
|
30
|
+
return t;
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
var prefixCls = 'lm_container';
|
|
34
|
+
|
|
35
|
+
var LMContainer = function LMContainer(props) {
|
|
36
|
+
var children = props.children,
|
|
37
|
+
className = props.className,
|
|
38
|
+
responsive = props.responsive,
|
|
39
|
+
others = __rest(props, ["children", "className", "responsive"]);
|
|
40
|
+
|
|
41
|
+
var _useState = (0, _react.useState)({
|
|
42
|
+
width: '100%',
|
|
43
|
+
height: '100%'
|
|
44
|
+
}),
|
|
45
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
46
|
+
containerSize = _useState2[0],
|
|
47
|
+
setContainerSize = _useState2[1];
|
|
48
|
+
|
|
49
|
+
var containerWrapRef = (0, _react.useRef)(null);
|
|
50
|
+
var throttleSize = (0, _react.useCallback)(function () {
|
|
51
|
+
var width = containerSize.width,
|
|
52
|
+
height = containerSize.height;
|
|
53
|
+
var responsiveCls = responsive && width !== '100%' ? 'responsive' : '';
|
|
54
|
+
var lm_col = '';
|
|
55
|
+
|
|
56
|
+
if (responsiveCls) {
|
|
57
|
+
if (parseInt(width) < 990) {
|
|
58
|
+
lm_col = 'lm_col_3';
|
|
59
|
+
} else if (parseInt(width) < 1390) {
|
|
60
|
+
lm_col = 'lm_col_4';
|
|
61
|
+
} else {
|
|
62
|
+
lm_col = 'lm_col_5';
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
var classes = (0, _classnames.default)(className, prefixCls, responsiveCls, lm_col);
|
|
67
|
+
return /*#__PURE__*/_react.default.createElement("div", Object.assign({
|
|
68
|
+
ref: containerWrapRef,
|
|
69
|
+
className: classes
|
|
70
|
+
}, others, {
|
|
71
|
+
style: {
|
|
72
|
+
width: width,
|
|
73
|
+
height: height
|
|
74
|
+
}
|
|
75
|
+
}), children);
|
|
76
|
+
}, [containerSize, props]);
|
|
77
|
+
|
|
78
|
+
var changeSize = function changeSize() {
|
|
79
|
+
var _a;
|
|
80
|
+
|
|
81
|
+
var _ref = ((_a = containerWrapRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect()) || {},
|
|
82
|
+
_ref$width = _ref.width,
|
|
83
|
+
width = _ref$width === void 0 ? '100%' : _ref$width;
|
|
84
|
+
|
|
85
|
+
setContainerSize({
|
|
86
|
+
width: width,
|
|
87
|
+
height: '100%'
|
|
88
|
+
});
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
var handResize = (0, _lodash.throttle)(changeSize, 600);
|
|
92
|
+
(0, _react.useEffect)(function () {
|
|
93
|
+
setTimeout(function () {
|
|
94
|
+
changeSize();
|
|
95
|
+
}, 100);
|
|
96
|
+
window.addEventListener('resize', handResize);
|
|
97
|
+
return function () {
|
|
98
|
+
window.removeEventListener('resize', handResize);
|
|
99
|
+
};
|
|
100
|
+
}, []);
|
|
101
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
102
|
+
className: "lm_container_wrapper",
|
|
103
|
+
ref: containerWrapRef,
|
|
104
|
+
style: {
|
|
105
|
+
width: '100%',
|
|
106
|
+
height: '100%'
|
|
107
|
+
}
|
|
108
|
+
}, throttleSize());
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
var _default = LMContainer;
|
|
112
|
+
exports.default = _default;
|