linkmore-design 1.0.58 → 1.0.62
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/CardTable/fns/index.d.ts +1 -0
- package/dist/Form/container.d.ts +8 -0
- package/dist/Form/demos/error-tip.d.ts +2 -0
- package/dist/Form/demos/responsive.d.ts +2 -0
- package/dist/Form/index.d.ts +10 -2
- package/dist/LmEditTable/demos/sinleEdit.d.ts +2 -0
- package/dist/LmFilter/customFilter/index.d.ts +3 -1
- package/dist/LmFilter/filterFns/index.d.ts +11 -1
- package/dist/LmFilter/localization.d.ts +8 -2
- package/dist/index.umd.js +199 -45
- package/dist/index.umd.min.js +6 -6
- package/es/CardTable/body/TableBodyCell.js +10 -5
- package/es/CardTable/fns/index.js +29 -2
- package/es/CardTable/table/TableRoot.js +46 -13
- package/es/Dropdown/index.js +2 -2
- package/es/Dropdown/style/index.css +19 -1
- package/es/Form/container.d.ts +8 -0
- package/es/Form/container.js +97 -0
- package/es/Form/index.d.ts +10 -2
- package/es/Form/index.js +30 -2
- package/es/Form/style/index.css +121 -1
- package/es/IconFont/index.js +1 -1
- package/es/LmEditTable/EditTable.js +47 -17
- package/es/LmFilter/LmFilter.js +22 -4
- package/es/LmFilter/baseFilter/fuzzySearch.js +6 -1
- package/es/LmFilter/baseFilter/index.js +3 -4
- package/es/LmFilter/complexFilter/drawer.js +27 -20
- 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/components/index.js +1 -1
- package/es/LmFilter/customFilter/index.js +3 -2
- package/es/LmFilter/filterFns/index.js +186 -33
- package/es/LmFilter/localization.d.ts +8 -2
- package/es/LmFilter/localization.js +20 -2
- package/es/LmFilter/style/style.css +1 -3
- package/es/LmFilter/wrapper/Filter.js +10 -3
- package/es/LmFilter/wrapper/FilterContainer.js +0 -4
- package/es/LmFilter/wrapper/FilterRoot.js +51 -34
- package/es/LmTable/Table.js +9 -3
- package/es/LmTable/style/index.css +5 -0
- package/lib/CardTable/body/TableBodyCell.js +10 -5
- package/lib/CardTable/fns/index.js +29 -2
- package/lib/CardTable/table/TableRoot.js +46 -13
- package/lib/Dropdown/index.js +2 -2
- package/lib/Dropdown/style/index.css +19 -1
- package/lib/Form/container.d.ts +8 -0
- package/lib/Form/container.js +112 -0
- package/lib/Form/index.d.ts +10 -2
- package/lib/Form/index.js +30 -2
- package/lib/Form/style/index.css +121 -1
- package/lib/IconFont/index.js +1 -1
- package/lib/LmEditTable/EditTable.js +47 -17
- package/lib/LmFilter/LmFilter.js +22 -4
- package/lib/LmFilter/baseFilter/fuzzySearch.js +6 -1
- package/lib/LmFilter/baseFilter/index.js +3 -4
- package/lib/LmFilter/complexFilter/drawer.js +27 -20
- 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/components/index.js +1 -1
- package/lib/LmFilter/customFilter/index.js +3 -2
- package/lib/LmFilter/filterFns/index.js +186 -33
- package/lib/LmFilter/localization.d.ts +8 -2
- package/lib/LmFilter/localization.js +20 -2
- package/lib/LmFilter/style/style.css +1 -3
- package/lib/LmFilter/wrapper/Filter.js +10 -3
- package/lib/LmFilter/wrapper/FilterContainer.js +0 -4
- package/lib/LmFilter/wrapper/FilterRoot.js +51 -34
- package/lib/LmTable/Table.js +9 -3
- package/lib/LmTable/style/index.css +5 -0
- package/package.json +3 -3
|
@@ -9,7 +9,7 @@ exports.default = void 0;
|
|
|
9
9
|
|
|
10
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _objectSpread4 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
|
|
13
13
|
|
|
14
14
|
var _utils = require("../utils");
|
|
15
15
|
|
|
@@ -18,54 +18,207 @@ 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
|
+
searchKey = props.searchKey; // 触发查询 type basic基础筛选 | complex高级筛选
|
|
24
|
+
|
|
25
|
+
var onQuery = function onQuery(_ref2) {
|
|
26
|
+
var basicFilter = _ref2.basicFilter,
|
|
27
|
+
complexFilter = _ref2.complexFilter,
|
|
28
|
+
basicQuery = _ref2.basicQuery,
|
|
29
|
+
type = _ref2.type;
|
|
30
|
+
console.log('type', type);
|
|
31
|
+
|
|
32
|
+
if (type === 'basic') {
|
|
33
|
+
var _Object$keys;
|
|
34
|
+
|
|
35
|
+
dispatch({
|
|
36
|
+
type: 'changeBasicFilter',
|
|
37
|
+
basicFilter: basicFilter
|
|
38
|
+
});
|
|
39
|
+
dispatch({
|
|
40
|
+
type: 'changeBasicQuery',
|
|
41
|
+
basicQuery: basicQuery
|
|
42
|
+
});
|
|
43
|
+
dispatch({
|
|
44
|
+
type: 'changeComplexFilter',
|
|
45
|
+
complexFilter: {}
|
|
46
|
+
}); // 基础筛选清空高级筛选
|
|
47
|
+
// 抛出给外部查询
|
|
48
|
+
|
|
49
|
+
var filterQuery = {
|
|
50
|
+
filters: [{
|
|
51
|
+
conditions: (_Object$keys = Object.keys(basicQuery)) === null || _Object$keys === void 0 ? void 0 : _Object$keys.map(function (k) {
|
|
52
|
+
return basicQuery[k];
|
|
53
|
+
})
|
|
54
|
+
}]
|
|
55
|
+
};
|
|
56
|
+
onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
57
|
+
basicFilter: basicFilter,
|
|
58
|
+
filterQuery: filterQuery,
|
|
59
|
+
type: 'basic'
|
|
60
|
+
});
|
|
61
|
+
}
|
|
22
62
|
|
|
23
|
-
|
|
24
|
-
|
|
63
|
+
if (type === 'complex') {
|
|
64
|
+
var _Object$keys2, _Object$keys3;
|
|
65
|
+
|
|
66
|
+
var _basicQuery = (_Object$keys2 = Object.keys(complexFilter)) === null || _Object$keys2 === void 0 ? void 0 : _Object$keys2.reduce(function (pre, cur) {
|
|
67
|
+
var item = dataSource.find(function (v) {
|
|
68
|
+
return cur === v.field;
|
|
69
|
+
});
|
|
70
|
+
var itemValue = complexFilter[cur].value;
|
|
71
|
+
|
|
72
|
+
if ((0, _utils.getIsHas)(itemValue) && !!item) {
|
|
73
|
+
pre[cur] = {
|
|
74
|
+
fieldName: cur,
|
|
75
|
+
fieldType: (item === null || item === void 0 ? void 0 : item.valueType) || 'string',
|
|
76
|
+
value: Array.isArray(itemValue) ? itemValue : [itemValue],
|
|
77
|
+
operator: complexFilter[cur].mode === 'and' ? 'equal' : 'contains'
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
return pre;
|
|
82
|
+
}, {});
|
|
83
|
+
|
|
84
|
+
dispatch({
|
|
85
|
+
type: 'changeBasicFilter',
|
|
86
|
+
basicFilter: {}
|
|
87
|
+
});
|
|
88
|
+
dispatch({
|
|
89
|
+
type: 'changeComplexFilter',
|
|
90
|
+
complexFilter: complexFilter
|
|
91
|
+
});
|
|
92
|
+
dispatch({
|
|
93
|
+
type: 'changeComplexDrawer',
|
|
94
|
+
complexDrawer: {
|
|
95
|
+
data: {},
|
|
96
|
+
visible: false
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
dispatch({
|
|
100
|
+
type: 'changeBasicQuery',
|
|
101
|
+
basicQuery: _basicQuery
|
|
102
|
+
});
|
|
103
|
+
var _filterQuery = {
|
|
104
|
+
filters: [{
|
|
105
|
+
conditions: (_Object$keys3 = Object.keys(_basicQuery)) === null || _Object$keys3 === void 0 ? void 0 : _Object$keys3.map(function (k) {
|
|
106
|
+
return _basicQuery[k];
|
|
107
|
+
})
|
|
108
|
+
}]
|
|
109
|
+
};
|
|
110
|
+
onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
111
|
+
complexFilter: complexFilter,
|
|
112
|
+
filterQuery: _filterQuery,
|
|
113
|
+
type: type
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
}; // 根据字段查找过滤的数据, 不存在时返回默认值
|
|
25
117
|
|
|
26
|
-
var basicFilter = (0, _objectSpread3.default)((0, _objectSpread3.default)({}, state.basicFilter), {}, (0, _defineProperty2.default)({}, field, item));
|
|
27
118
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
119
|
+
var getFilterValue = function getFilterValue(_ref3) {
|
|
120
|
+
var field = _ref3.field,
|
|
121
|
+
type = _ref3.type;
|
|
122
|
+
var defaultValue = (0, _utils.getValueForType)(type);
|
|
123
|
+
return state.basicFilter[field] || defaultValue;
|
|
124
|
+
}; // 设置筛选的值 itemValue => String || Array => ['', '', ...]
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
var setFilterValue = function setFilterValue(itemValue, item) {
|
|
128
|
+
var field = item.field;
|
|
31
129
|
|
|
32
|
-
|
|
130
|
+
if (field) {
|
|
131
|
+
// 基础查询数据(受控数据)
|
|
132
|
+
var basicFilter = (0, _objectSpread4.default)((0, _objectSpread4.default)({}, state.basicFilter), {}, (0, _defineProperty2.default)({}, field, itemValue)); // 外部查询数据结构
|
|
133
|
+
|
|
134
|
+
var basicQuery = (0, _objectSpread4.default)((0, _objectSpread4.default)({}, state.basicQuery), {}, (0, _defineProperty2.default)({}, field, {
|
|
135
|
+
fieldName: field,
|
|
136
|
+
fieldType: item.valueType || 'string',
|
|
137
|
+
value: Array.isArray(itemValue) ? itemValue : [itemValue],
|
|
138
|
+
operator: item.operator || 'equal'
|
|
139
|
+
}));
|
|
140
|
+
|
|
141
|
+
if (!(0, _utils.getIsHas)(itemValue)) {
|
|
142
|
+
delete basicFilter[field];
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
; // 触发外部事件
|
|
146
|
+
|
|
147
|
+
onQuery === null || onQuery === void 0 ? void 0 : onQuery({
|
|
148
|
+
basicFilter: basicFilter,
|
|
149
|
+
basicQuery: basicQuery,
|
|
150
|
+
type: 'basic'
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
}; // 读取缓存
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
var setLocalization = function setLocalization() {
|
|
157
|
+
var _Object$keys4;
|
|
158
|
+
|
|
159
|
+
var localization = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : props.localization;
|
|
160
|
+
var globalQuery = localization.globalQuery,
|
|
161
|
+
basicFilter = localization.basicFilter;
|
|
162
|
+
var basicQuery = (_Object$keys4 = Object.keys(basicFilter)) === null || _Object$keys4 === void 0 ? void 0 : _Object$keys4.reduce(function (pre, cur) {
|
|
163
|
+
var item = dataSource.find(function (v) {
|
|
164
|
+
if (cur === v.field) {
|
|
165
|
+
return v.show || typeof v.show !== 'boolean';
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
return false;
|
|
169
|
+
});
|
|
170
|
+
|
|
171
|
+
if (cur === searchKey) {
|
|
172
|
+
item = {
|
|
173
|
+
field: searchKey,
|
|
174
|
+
operator: 'contains',
|
|
175
|
+
fieldType: 'string'
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
if ((0, _utils.getIsHas)(basicFilter[cur]) && !!item) {
|
|
180
|
+
var _item, _item2;
|
|
181
|
+
|
|
182
|
+
pre[cur] = {
|
|
183
|
+
fieldName: cur,
|
|
184
|
+
fieldType: ((_item = item) === null || _item === void 0 ? void 0 : _item.valueType) || 'string',
|
|
185
|
+
value: Array.isArray(basicFilter[cur]) ? basicFilter[cur] : [basicFilter[cur]],
|
|
186
|
+
operator: ((_item2 = item) === null || _item2 === void 0 ? void 0 : _item2.operator) || 'equal'
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
return pre;
|
|
191
|
+
}, {});
|
|
33
192
|
dispatch({
|
|
34
193
|
type: 'changeBasicFilter',
|
|
35
194
|
basicFilter: basicFilter
|
|
36
195
|
});
|
|
37
196
|
dispatch({
|
|
38
|
-
type: '
|
|
39
|
-
|
|
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'
|
|
197
|
+
type: 'changeBasicQuery',
|
|
198
|
+
basicQuery: basicQuery
|
|
55
199
|
});
|
|
56
|
-
}; //
|
|
200
|
+
}; // 单个设置过滤字段值, 会触发onChange事件, 多个字段时使用setLocalization
|
|
57
201
|
|
|
58
202
|
|
|
59
|
-
var
|
|
60
|
-
var
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
203
|
+
var setFilterFieldValue = function setFilterFieldValue(field, value) {
|
|
204
|
+
var item = dataSource.find(function (v) {
|
|
205
|
+
return v.fidld === field;
|
|
206
|
+
}) || {};
|
|
207
|
+
setFilterValue === null || setFilterValue === void 0 ? void 0 : setFilterValue(value, item);
|
|
64
208
|
};
|
|
65
209
|
|
|
66
210
|
return {
|
|
211
|
+
onQuery: onQuery,
|
|
212
|
+
getState: function getState() {
|
|
213
|
+
return state;
|
|
214
|
+
},
|
|
215
|
+
getBasicFilter: function getBasicFilter() {
|
|
216
|
+
return state.basicFilter;
|
|
217
|
+
},
|
|
218
|
+
getFilterValue: getFilterValue,
|
|
67
219
|
setFilterValue: setFilterValue,
|
|
68
|
-
|
|
220
|
+
setFilterFieldValue: setFilterFieldValue,
|
|
221
|
+
setLocalization: setLocalization
|
|
69
222
|
};
|
|
70
223
|
};
|
|
71
224
|
|
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
export declare const DefaultLocalization: {
|
|
2
|
+
customFilter: {};
|
|
3
|
+
basicFilter: {};
|
|
2
4
|
globalQuery: {
|
|
3
|
-
filter:
|
|
5
|
+
filter: {
|
|
6
|
+
conditions: any[];
|
|
7
|
+
}[];
|
|
4
8
|
};
|
|
5
9
|
filterQuery: {
|
|
6
|
-
filter:
|
|
10
|
+
filter: {
|
|
11
|
+
conditions: any[];
|
|
12
|
+
}[];
|
|
7
13
|
};
|
|
8
14
|
};
|
|
@@ -3,10 +3,28 @@
|
|
|
3
3
|
// operator: number,
|
|
4
4
|
// }
|
|
5
5
|
export var DefaultLocalization = {
|
|
6
|
+
customFilter: {},
|
|
7
|
+
basicFilter: {},
|
|
8
|
+
// 一级筛选
|
|
6
9
|
globalQuery: {
|
|
7
|
-
filter: [
|
|
10
|
+
filter: [{
|
|
11
|
+
// relation: 'and',
|
|
12
|
+
conditions: []
|
|
13
|
+
}]
|
|
8
14
|
},
|
|
15
|
+
// 二级筛选
|
|
9
16
|
filterQuery: {
|
|
10
|
-
filter: [
|
|
17
|
+
filter: [{
|
|
18
|
+
// relation: 'and',
|
|
19
|
+
conditions: [// {
|
|
20
|
+
// relation: 'antd', // 查询间的关系
|
|
21
|
+
// fieldName: '', // 查询字段
|
|
22
|
+
// fieldType: 'string', // 字段类型
|
|
23
|
+
// // 查询值的关系 "integer", "double", "string", "date", "datetime", and "boolean".
|
|
24
|
+
// operator: '',
|
|
25
|
+
// value: [], // 值的集合
|
|
26
|
+
// }
|
|
27
|
+
]
|
|
28
|
+
}]
|
|
11
29
|
}
|
|
12
30
|
};
|
|
@@ -15,16 +15,23 @@ var _customFilter = _interopRequireDefault(require("../customFilter"));
|
|
|
15
15
|
|
|
16
16
|
var _complexFilter = _interopRequireDefault(require("../complexFilter"));
|
|
17
17
|
|
|
18
|
+
var _clearFilter = _interopRequireDefault(require("../clearFilter"));
|
|
19
|
+
|
|
18
20
|
// 筛选组合
|
|
19
21
|
var LmFilter = /*#__PURE__*/_react.default.memo(function (_ref) {
|
|
20
22
|
var instance = _ref.instance;
|
|
23
|
+
var enableBaisc = instance.enableBaisc,
|
|
24
|
+
enableComplex = instance.enableComplex,
|
|
25
|
+
enableCustom = instance.enableCustom;
|
|
21
26
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
22
27
|
className: "lm_filter"
|
|
23
|
-
}, /*#__PURE__*/_react.default.createElement(_customFilter.default, {
|
|
28
|
+
}, enableCustom && /*#__PURE__*/_react.default.createElement(_customFilter.default, {
|
|
29
|
+
instance: instance
|
|
30
|
+
}), enableBaisc && /*#__PURE__*/_react.default.createElement(_baseFilter.default, {
|
|
24
31
|
instance: instance
|
|
25
|
-
}), /*#__PURE__*/_react.default.createElement(
|
|
32
|
+
}), enableComplex && /*#__PURE__*/_react.default.createElement(_complexFilter.default, {
|
|
26
33
|
instance: instance
|
|
27
|
-
}), /*#__PURE__*/_react.default.createElement(
|
|
34
|
+
}), /*#__PURE__*/_react.default.createElement(_clearFilter.default, {
|
|
28
35
|
instance: instance
|
|
29
36
|
}));
|
|
30
37
|
});
|
|
@@ -11,8 +11,6 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
11
11
|
|
|
12
12
|
var _Filter = _interopRequireDefault(require("./Filter"));
|
|
13
13
|
|
|
14
|
-
var _clearFilter = _interopRequireDefault(require("../clearFilter"));
|
|
15
|
-
|
|
16
14
|
// 过滤组件主体区域
|
|
17
15
|
var LmFilterContainer = /*#__PURE__*/_react.default.memo(function (_ref) {
|
|
18
16
|
var instance = _ref.instance;
|
|
@@ -20,8 +18,6 @@ var LmFilterContainer = /*#__PURE__*/_react.default.memo(function (_ref) {
|
|
|
20
18
|
className: "lm_filter_container"
|
|
21
19
|
}, /*#__PURE__*/_react.default.createElement(_Filter.default, {
|
|
22
20
|
instance: instance
|
|
23
|
-
}), /*#__PURE__*/_react.default.createElement(_clearFilter.default, {
|
|
24
|
-
instance: instance
|
|
25
21
|
}));
|
|
26
22
|
});
|
|
27
23
|
|
|
@@ -9,8 +9,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
9
9
|
});
|
|
10
10
|
exports.default = void 0;
|
|
11
11
|
|
|
12
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/extends"));
|
|
13
|
-
|
|
14
12
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
15
13
|
|
|
16
14
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
|
|
@@ -21,9 +19,12 @@ var _FilterWrapper = _interopRequireDefault(require("./FilterWrapper"));
|
|
|
21
19
|
|
|
22
20
|
var _filterFns = _interopRequireDefault(require("../filterFns"));
|
|
23
21
|
|
|
22
|
+
var _utils = require("../utils");
|
|
23
|
+
|
|
24
24
|
// 根文件 => 参数聚合
|
|
25
25
|
var reducer = function reducer(state, action) {
|
|
26
26
|
var basicFilter = action.basicFilter,
|
|
27
|
+
basicQuery = action.basicQuery,
|
|
27
28
|
resize = action.resize,
|
|
28
29
|
rows = action.rows,
|
|
29
30
|
complexDrawer = action.complexDrawer,
|
|
@@ -37,6 +38,12 @@ var reducer = function reducer(state, action) {
|
|
|
37
38
|
basicFilter: basicFilter
|
|
38
39
|
});
|
|
39
40
|
|
|
41
|
+
case 'changeBasicQuery':
|
|
42
|
+
// 基础筛选数据改变
|
|
43
|
+
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, state), {}, {
|
|
44
|
+
basicQuery: basicQuery
|
|
45
|
+
});
|
|
46
|
+
|
|
40
47
|
case 'changeRows':
|
|
41
48
|
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, state), {}, {
|
|
42
49
|
rows: rows
|
|
@@ -66,7 +73,9 @@ var reducer = function reducer(state, action) {
|
|
|
66
73
|
case 'reset':
|
|
67
74
|
// 一键清空
|
|
68
75
|
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, state), {}, {
|
|
69
|
-
basicFilter: {}
|
|
76
|
+
basicFilter: {},
|
|
77
|
+
basicQuery: {},
|
|
78
|
+
complexFilter: {}
|
|
70
79
|
});
|
|
71
80
|
|
|
72
81
|
default:
|
|
@@ -76,17 +85,46 @@ var reducer = function reducer(state, action) {
|
|
|
76
85
|
|
|
77
86
|
|
|
78
87
|
var getInitialState = function getInitialState(_ref) {
|
|
79
|
-
var
|
|
88
|
+
var _Object$keys;
|
|
80
89
|
|
|
81
|
-
var localization = _ref.localization
|
|
90
|
+
var localization = _ref.localization,
|
|
91
|
+
dataSource = _ref.dataSource,
|
|
92
|
+
searchKey = _ref.searchKey;
|
|
82
93
|
var globalQuery = localization.globalQuery,
|
|
83
|
-
|
|
84
|
-
var
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
94
|
+
basicFilter = localization.basicFilter;
|
|
95
|
+
var basicQuery = (_Object$keys = Object.keys(basicFilter)) === null || _Object$keys === void 0 ? void 0 : _Object$keys.reduce(function (pre, cur) {
|
|
96
|
+
var item = dataSource.find(function (v) {
|
|
97
|
+
if (cur === v.field) {
|
|
98
|
+
return v.show || typeof v.show !== 'boolean';
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
return false;
|
|
102
|
+
});
|
|
103
|
+
|
|
104
|
+
if (cur === searchKey) {
|
|
105
|
+
item = {
|
|
106
|
+
field: searchKey,
|
|
107
|
+
operator: 'contains',
|
|
108
|
+
fieldType: 'string'
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
if ((0, _utils.getIsHas)(basicFilter[cur]) && !!item) {
|
|
113
|
+
var _item, _item2;
|
|
114
|
+
|
|
115
|
+
pre[cur] = {
|
|
116
|
+
fieldName: cur,
|
|
117
|
+
fieldType: ((_item = item) === null || _item === void 0 ? void 0 : _item.valueType) || 'string',
|
|
118
|
+
value: Array.isArray(basicFilter[cur]) ? basicFilter[cur] : [basicFilter[cur]],
|
|
119
|
+
operator: ((_item2 = item) === null || _item2 === void 0 ? void 0 : _item2.operator) || 'equal'
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
return pre;
|
|
124
|
+
}, {});
|
|
88
125
|
return {
|
|
89
126
|
basicFilter: basicFilter,
|
|
127
|
+
basicQuery: basicQuery,
|
|
90
128
|
complexFilter: {},
|
|
91
129
|
complexDrawer: {
|
|
92
130
|
visible: false,
|
|
@@ -107,29 +145,8 @@ var LmFilterRoot = function LmFilterRoot(props, ref) {
|
|
|
107
145
|
var _useReducer = (0, _react.useReducer)(reducer, initialState),
|
|
108
146
|
_useReducer2 = (0, _slicedToArray2.default)(_useReducer, 2),
|
|
109
147
|
state = _useReducer2[0],
|
|
110
|
-
dispatch = _useReducer2[1]; //
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
var configProps = (0, _react.useMemo)(function () {
|
|
114
|
-
var resetProps = (0, _extends2.default)({}, props);
|
|
115
|
-
return (0, _objectSpread2.default)({
|
|
116
|
-
dataSource: [],
|
|
117
|
-
// 数据源
|
|
118
|
-
enableSearch: true,
|
|
119
|
-
// 是否启用模糊查询
|
|
120
|
-
enableBaisc: true,
|
|
121
|
-
// 是否启用基础筛选
|
|
122
|
-
enableComplex: false,
|
|
123
|
-
// 是否启用高级筛选
|
|
124
|
-
enableCustom: false,
|
|
125
|
-
// 是否启用自定义筛选
|
|
126
|
-
size: 'middle',
|
|
127
|
-
// 尺寸
|
|
128
|
-
searchKey: 'search',
|
|
129
|
-
// 搜索的key值
|
|
130
|
-
placeholder: '请输入'
|
|
131
|
-
}, resetProps);
|
|
132
|
-
}, [props]); // 事件集合
|
|
148
|
+
dispatch = _useReducer2[1]; // 事件集合
|
|
149
|
+
|
|
133
150
|
|
|
134
151
|
var eventProps = (0, _react.useMemo)(function () {
|
|
135
152
|
return (0, _filterFns.default)({
|
|
@@ -139,7 +156,7 @@ var LmFilterRoot = function LmFilterRoot(props, ref) {
|
|
|
139
156
|
});
|
|
140
157
|
}, [state, dispatch, props]); // 组件示例
|
|
141
158
|
|
|
142
|
-
var instance = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({},
|
|
159
|
+
var instance = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), eventProps), {}, {
|
|
143
160
|
state: state,
|
|
144
161
|
dispatch: dispatch
|
|
145
162
|
}); // 向外暴露出的方法
|
package/es/LmTable/Table.js
CHANGED
|
@@ -428,8 +428,12 @@ var ResetTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
428
428
|
var customizeRenderEmpty = function customizeRenderEmpty() {
|
|
429
429
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
430
430
|
className: "lm_table_empty"
|
|
431
|
-
}, /*#__PURE__*/_react.default.createElement("
|
|
432
|
-
|
|
431
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
432
|
+
className: "empty_img",
|
|
433
|
+
style: {
|
|
434
|
+
width: '130px',
|
|
435
|
+
height: '80px'
|
|
436
|
+
}
|
|
433
437
|
}), /*#__PURE__*/_react.default.createElement("span", null, "\u6682\u65E0\u6570\u636E"));
|
|
434
438
|
};
|
|
435
439
|
|
|
@@ -513,7 +517,9 @@ var ResetTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
513
517
|
width: '100%'
|
|
514
518
|
}
|
|
515
519
|
}, /*#__PURE__*/_react.default.createElement(_configProvider.default, {
|
|
516
|
-
renderEmpty:
|
|
520
|
+
renderEmpty: loading ? function () {
|
|
521
|
+
return null;
|
|
522
|
+
} : emptyProps ? function () {
|
|
517
523
|
return /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Empty, emptyProps, (emptyProps === null || emptyProps === void 0 ? void 0 : emptyProps.footer) || null);
|
|
518
524
|
} : customizeRenderEmpty
|
|
519
525
|
}, /*#__PURE__*/_react.default.createElement(_proTable.default, (0, _extends2.default)({}, config, {
|
|
@@ -1098,6 +1098,11 @@ html {
|
|
|
1098
1098
|
height: 80px;
|
|
1099
1099
|
margin-bottom: 8px;
|
|
1100
1100
|
}
|
|
1101
|
+
#lm_protable_warp .lm_protable .lm_table_empty .empty_img {
|
|
1102
|
+
background-size: cover;
|
|
1103
|
+
margin-bottom: 8px;
|
|
1104
|
+
background-image: url('data:image/png;base64,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');
|
|
1105
|
+
}
|
|
1101
1106
|
#lm_protable_warp .lm_protable .lm_table_empty > span {
|
|
1102
1107
|
color: var(--font-color);
|
|
1103
1108
|
}
|
|
@@ -26,11 +26,11 @@ var LmCardTableBodyCell = function LmCardTableBodyCell(_ref) {
|
|
|
26
26
|
cell = _ref.cell,
|
|
27
27
|
table = _ref.table;
|
|
28
28
|
var state = table.state,
|
|
29
|
-
cellConfig = table.cellConfig,
|
|
30
29
|
type = table.type,
|
|
31
30
|
components = table.components,
|
|
32
31
|
cellKey = table.cellKey;
|
|
33
|
-
var checkKeys = state.checkboxConfig.checkKeys
|
|
32
|
+
var checkKeys = state.checkboxConfig.checkKeys,
|
|
33
|
+
radioConfig = state.radioConfig; // 渲染的单元格
|
|
34
34
|
|
|
35
35
|
var RenderCell = (0, _react.useMemo)(function () {
|
|
36
36
|
var types = {
|
|
@@ -43,16 +43,21 @@ var LmCardTableBodyCell = function LmCardTableBodyCell(_ref) {
|
|
|
43
43
|
return components.Cell || types[type] || _PictureTextColumn.default;
|
|
44
44
|
}, [components.Cell, type]); // 是否选中
|
|
45
45
|
|
|
46
|
-
var
|
|
46
|
+
var isCheckboxChecked = (0, _react.useMemo)(function () {
|
|
47
47
|
return checkKeys.some(function (v) {
|
|
48
48
|
return v === cell[cellKey];
|
|
49
49
|
});
|
|
50
50
|
}, [checkKeys, cellKey]);
|
|
51
|
+
var isRadioChecked = (0, _react.useMemo)(function () {
|
|
52
|
+
return radioConfig.checkKey === cell[cellKey];
|
|
53
|
+
}, [cellKey, radioConfig.checkKey]);
|
|
51
54
|
var stateConfig = {
|
|
52
|
-
checked:
|
|
55
|
+
checked: isCheckboxChecked
|
|
53
56
|
};
|
|
54
57
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
55
|
-
className: (0, _classnames.default)('lm_card_table_body_cell',
|
|
58
|
+
className: (0, _classnames.default)('lm_card_table_body_cell', {
|
|
59
|
+
'cell_checked': isCheckboxChecked || isRadioChecked
|
|
60
|
+
})
|
|
56
61
|
}, /*#__PURE__*/_react.default.createElement(RenderCell, (0, _extends2.default)({
|
|
57
62
|
index: index,
|
|
58
63
|
cell: cell,
|
|
@@ -17,7 +17,8 @@ var CoreOptions = function CoreOptions(_ref) {
|
|
|
17
17
|
var checkboxConfig = state.checkboxConfig;
|
|
18
18
|
var dataSource = props.dataSource,
|
|
19
19
|
cellKey = props.cellKey,
|
|
20
|
-
checkboxChange = props.checkboxChange
|
|
20
|
+
checkboxChange = props.checkboxChange,
|
|
21
|
+
selectionConfig = props.selectionConfig;
|
|
21
22
|
var checkKeys = checkboxConfig.checkKeys,
|
|
22
23
|
checkValues = checkboxConfig.checkValues,
|
|
23
24
|
checkMethod = checkboxConfig.checkMethod; // 设置选中的值: 第一个参数是数据的键,第二个参数是选中与否, 第三个参数控制是否重置
|
|
@@ -63,6 +64,13 @@ var CoreOptions = function CoreOptions(_ref) {
|
|
|
63
64
|
checkValues: nValues
|
|
64
65
|
}
|
|
65
66
|
});
|
|
67
|
+
dispatch({
|
|
68
|
+
type: 'changeRadioConfig',
|
|
69
|
+
radioConfig: {
|
|
70
|
+
checkKey: '',
|
|
71
|
+
checkValue: ''
|
|
72
|
+
}
|
|
73
|
+
});
|
|
66
74
|
}; // 切换选中状态: 单个切换/批量切换
|
|
67
75
|
|
|
68
76
|
|
|
@@ -126,9 +134,28 @@ var CoreOptions = function CoreOptions(_ref) {
|
|
|
126
134
|
setCheckboxKeys(nKeys, isCheck, reset);
|
|
127
135
|
};
|
|
128
136
|
|
|
137
|
+
var cellClick = function cellClick(cell, index) {
|
|
138
|
+
var _props$cellClick;
|
|
139
|
+
|
|
140
|
+
if (!checkKeys.length) {
|
|
141
|
+
// 校验是否存在单选
|
|
142
|
+
var isRadio = Array.isArray(selectionConfig.type) ? selectionConfig.type.includes('radio') : selectionConfig.type === 'radio';
|
|
143
|
+
isRadio && dispatch({
|
|
144
|
+
type: 'changeRadioConfig',
|
|
145
|
+
radioConfig: {
|
|
146
|
+
checkKey: cell[cellKey],
|
|
147
|
+
checkValue: cell
|
|
148
|
+
}
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
(_props$cellClick = props.cellClick) === null || _props$cellClick === void 0 ? void 0 : _props$cellClick.call(props, cell, index);
|
|
153
|
+
};
|
|
154
|
+
|
|
129
155
|
return {
|
|
130
156
|
setCheckboxKeys: setCheckboxKeys,
|
|
131
|
-
toggleCheckboxKey: toggleCheckboxKey
|
|
157
|
+
toggleCheckboxKey: toggleCheckboxKey,
|
|
158
|
+
cellClick: cellClick
|
|
132
159
|
};
|
|
133
160
|
};
|
|
134
161
|
|