linkmore-design 1.1.16 → 1.1.17
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/CHANGELOG.md +44 -10
- package/dist/ConfigProvider/context.d.ts +1 -0
- package/dist/Form/demos/responsive.d.ts +0 -1
- package/dist/Form/interface.d.ts +2 -0
- package/dist/IconFont/demos/ConfigProvider.d.ts +2 -0
- package/dist/IconFont/index.d.ts +1 -2
- package/dist/index.umd.js +355 -232
- package/dist/index.umd.min.js +17 -17
- package/dist/variables.css +99 -55
- package/es/ConfigProvider/context.d.ts +1 -0
- package/es/ConfigProvider/index.js +5 -3
- package/es/Form/FormWrapper.js +3 -4
- package/es/Form/WrapperItem.js +138 -70
- package/es/Form/interface.d.ts +2 -0
- package/es/Form/style/index.css +26 -1
- package/es/Form/style/variables.css +26 -1
- package/es/IconFont/index.d.ts +1 -2
- package/es/IconFont/index.js +18 -4
- package/es/ImageViewer/components/Operate.js +4 -7
- package/es/LmFilter/components/DropdownFIlter.js +164 -119
- package/es/LmFilter/filterFns/index.js +4 -6
- package/es/LmFilter/style/index.css +73 -54
- package/es/LmFilter/style/variables.css +73 -54
- package/es/LmFilter/utils.js +6 -6
- package/es/LmUpload/UploadList/ItemText.js +5 -1
- package/es/styles/variables.css +99 -55
- package/lib/ConfigProvider/context.d.ts +1 -0
- package/lib/ConfigProvider/index.js +5 -3
- package/lib/Form/FormWrapper.js +3 -4
- package/lib/Form/WrapperItem.js +136 -69
- package/lib/Form/interface.d.ts +2 -0
- package/lib/Form/style/index.css +26 -1
- package/lib/Form/style/variables.css +26 -1
- package/lib/IconFont/index.d.ts +1 -2
- package/lib/IconFont/index.js +25 -4
- package/lib/ImageViewer/components/Operate.js +4 -8
- package/lib/LmFilter/components/DropdownFIlter.js +164 -119
- package/lib/LmFilter/filterFns/index.js +4 -6
- package/lib/LmFilter/style/index.css +73 -54
- package/lib/LmFilter/style/variables.css +73 -54
- package/lib/LmFilter/utils.js +6 -6
- package/lib/LmUpload/UploadList/ItemText.js +5 -1
- package/lib/styles/variables.css +99 -55
- package/package.json +1 -1
|
@@ -9,8 +9,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
9
9
|
});
|
|
10
10
|
exports.default = void 0;
|
|
11
11
|
|
|
12
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
|
|
13
|
-
|
|
14
12
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
|
|
15
13
|
|
|
16
14
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
@@ -63,133 +61,194 @@ var FilterControl = function FilterControl(_ref) {
|
|
|
63
61
|
})
|
|
64
62
|
};
|
|
65
63
|
return widgets[type] || null;
|
|
66
|
-
};
|
|
64
|
+
}; // 提示文字 占位符
|
|
65
|
+
|
|
67
66
|
|
|
68
|
-
var
|
|
69
|
-
var
|
|
70
|
-
|
|
67
|
+
var ItemPlacehodler = /*#__PURE__*/_react.default.memo(function (_ref2) {
|
|
68
|
+
var item = _ref2.item;
|
|
69
|
+
var type = item.type,
|
|
70
|
+
itemProps = item.props,
|
|
71
|
+
dateType = item.dateType,
|
|
72
|
+
datetype = item.datetype,
|
|
73
|
+
placeholder = item.placeholder; // 日期显示的处理
|
|
71
74
|
|
|
72
75
|
if (['date'].includes(type)) {
|
|
73
|
-
|
|
74
|
-
|
|
76
|
+
// 兼容大小写
|
|
77
|
+
if (['range', 'rangePicker'].includes(dateType || datetype)) {
|
|
78
|
+
var pls = placeholder !== null && placeholder !== void 0 ? placeholder : ['开始日期', '结束日期'];
|
|
79
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, pls === null || pls === void 0 ? void 0 : pls[0], /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
|
|
75
80
|
type: "lmweb-swap-right",
|
|
76
81
|
style: {
|
|
77
82
|
fontSize: 14
|
|
78
83
|
}
|
|
79
|
-
}),
|
|
84
|
+
}), pls === null || pls === void 0 ? void 0 : pls[1], /*#__PURE__*/_react.default.createElement(_icons.CalendarOutlined, {
|
|
80
85
|
style: {
|
|
81
86
|
fontSize: 12
|
|
82
87
|
}
|
|
83
88
|
}));
|
|
84
89
|
}
|
|
85
90
|
|
|
86
|
-
var
|
|
91
|
+
var unit = {
|
|
87
92
|
week: '周',
|
|
88
93
|
month: '月份',
|
|
89
94
|
quarter: '季度',
|
|
90
95
|
year: '年份'
|
|
91
96
|
};
|
|
92
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, "\u9009\u62E9"
|
|
97
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, placeholder !== null && placeholder !== void 0 ? placeholder : "\u9009\u62E9".concat(unit[itemProps === null || itemProps === void 0 ? void 0 : itemProps.picker] || '日期'), /*#__PURE__*/_react.default.createElement(_icons.CalendarOutlined, {
|
|
93
98
|
style: {
|
|
94
99
|
fontSize: 12
|
|
95
100
|
}
|
|
96
101
|
}));
|
|
97
102
|
}
|
|
98
103
|
|
|
99
|
-
return '全部';
|
|
100
|
-
}; // 根据不同的类型展示文本内容
|
|
104
|
+
return /*#__PURE__*/_react.default.createElement("span", null, placeholder !== null && placeholder !== void 0 ? placeholder : '全部');
|
|
105
|
+
}); // 根据不同的类型展示文本内容
|
|
101
106
|
|
|
102
107
|
|
|
103
|
-
var
|
|
104
|
-
var
|
|
108
|
+
var ItemLabel = /*#__PURE__*/_react.default.memo(function (_ref3) {
|
|
109
|
+
var instance = _ref3.instance,
|
|
110
|
+
item = _ref3.item;
|
|
111
|
+
var filterValue = instance.filterValue;
|
|
105
112
|
var type = item.type,
|
|
106
|
-
data = item.data;
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
113
|
+
data = item.data;
|
|
114
|
+
/*
|
|
115
|
+
* 是否返回字符串类型
|
|
116
|
+
* return string | type: 'input', 'select', 'checkbox', 'cascader'
|
|
117
|
+
* return Jsx | type: 'date'
|
|
118
|
+
*/
|
|
119
|
+
|
|
120
|
+
var isString = (0, _react.useMemo)(function () {
|
|
121
|
+
return ['input', 'select', 'checkbox', 'cascader'].includes(type);
|
|
122
|
+
}, [type]); // 存在筛选数据时 ⬇️
|
|
123
|
+
|
|
124
|
+
var String = (0, _react.useMemo)(function () {
|
|
125
|
+
try {
|
|
126
|
+
var _data$find;
|
|
127
|
+
|
|
128
|
+
// 级联数据转换平级结构
|
|
129
|
+
if (['cascader'].includes(type)) {
|
|
130
|
+
var nArr = (0, _utils.getFlatItem)(item, filterValue);
|
|
131
|
+
var labels = nArr === null || nArr === void 0 ? void 0 : nArr.map(function (v) {
|
|
132
|
+
var _item$props, _item$props$fieldName;
|
|
133
|
+
|
|
134
|
+
return v[(item === null || item === void 0 ? void 0 : (_item$props = item.props) === null || _item$props === void 0 ? void 0 : (_item$props$fieldName = _item$props.fieldNames) === null || _item$props$fieldName === void 0 ? void 0 : _item$props$fieldName.label) || 'label'];
|
|
135
|
+
});
|
|
136
|
+
|
|
137
|
+
switch (labels.length) {
|
|
138
|
+
case 0:
|
|
139
|
+
// 数据未查找到时
|
|
140
|
+
return filterValue;
|
|
141
|
+
|
|
142
|
+
case 1:
|
|
143
|
+
return labels[0];
|
|
144
|
+
|
|
145
|
+
case 2:
|
|
146
|
+
return "".concat(labels[0], "\u3001").concat(labels[1]);
|
|
147
|
+
|
|
148
|
+
default:
|
|
149
|
+
return "".concat(labels[0], "\u3001+").concat(labels.length - 1, "...");
|
|
150
|
+
}
|
|
151
|
+
}
|
|
112
152
|
|
|
113
|
-
|
|
114
|
-
|
|
153
|
+
if (Array.isArray(filterValue)) {
|
|
154
|
+
var _data$filter;
|
|
115
155
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
156
|
+
// 日期
|
|
157
|
+
if (['date'].includes(type)) {
|
|
158
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, filterValue[0], /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
|
|
159
|
+
type: "lmweb-swap-right",
|
|
160
|
+
style: {
|
|
161
|
+
fontSize: 14,
|
|
162
|
+
color: 'var(--text-color)'
|
|
163
|
+
}
|
|
164
|
+
}), filterValue[1]);
|
|
165
|
+
} // 多选
|
|
121
166
|
|
|
122
|
-
return v[(item === null || item === void 0 ? void 0 : (_item$props = item.props) === null || _item$props === void 0 ? void 0 : (_item$props$fieldName = _item$props.fieldNames) === null || _item$props$fieldName === void 0 ? void 0 : _item$props$fieldName.label) || 'label'];
|
|
123
|
-
});
|
|
124
167
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
return
|
|
168
|
+
var _labels = data === null || data === void 0 ? void 0 : (_data$filter = data.filter(function (v) {
|
|
169
|
+
return (0, _utils.toStringIsEqual)(v.value, filterValue, 'includes');
|
|
170
|
+
})) === null || _data$filter === void 0 ? void 0 : _data$filter.map(function (v) {
|
|
171
|
+
return v.label;
|
|
172
|
+
});
|
|
129
173
|
|
|
130
|
-
|
|
131
|
-
|
|
174
|
+
if (!_labels.length) {
|
|
175
|
+
_labels = filterValue;
|
|
176
|
+
} // 受控模式未查找到显示的内容时展示
|
|
132
177
|
|
|
133
|
-
case 2:
|
|
134
|
-
return "".concat(labels[0], "\u3001").concat(labels[1]);
|
|
135
178
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
}
|
|
179
|
+
switch (_labels.length) {
|
|
180
|
+
case 1:
|
|
181
|
+
return _labels[0];
|
|
140
182
|
|
|
141
|
-
|
|
142
|
-
|
|
183
|
+
case 2:
|
|
184
|
+
return "".concat(_labels[0], "\u3001").concat(_labels[1]);
|
|
143
185
|
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
style: {
|
|
149
|
-
fontSize: 14,
|
|
150
|
-
color: 'var(--text-color)'
|
|
151
|
-
}
|
|
152
|
-
}), filterValue[1]);
|
|
153
|
-
} // 多选
|
|
186
|
+
default:
|
|
187
|
+
return "".concat(_labels[0], "\u3001+").concat(_labels.length - 1, "...");
|
|
188
|
+
}
|
|
189
|
+
} // 输入框
|
|
154
190
|
|
|
155
191
|
|
|
156
|
-
|
|
157
|
-
return
|
|
158
|
-
}
|
|
159
|
-
return v.label;
|
|
160
|
-
});
|
|
192
|
+
if (['input', 'date'].includes(type)) {
|
|
193
|
+
return filterValue;
|
|
194
|
+
} // 单选框 受控模式未查找到显示的内容时展示filterValue
|
|
161
195
|
|
|
162
|
-
if (!_labels.length) {
|
|
163
|
-
_labels = filterValue;
|
|
164
|
-
} // 受控模式未查找到显示的内容时展示
|
|
165
196
|
|
|
197
|
+
var label = (data === null || data === void 0 ? void 0 : (_data$find = data.find(function (v) {
|
|
198
|
+
return (0, _utils.toStringIsEqual)(v === null || v === void 0 ? void 0 : v.value, filterValue);
|
|
199
|
+
})) === null || _data$find === void 0 ? void 0 : _data$find.label) || filterValue;
|
|
200
|
+
return label;
|
|
201
|
+
} catch (error) {
|
|
202
|
+
return filterValue;
|
|
203
|
+
}
|
|
204
|
+
}, [type, filterValue]);
|
|
166
205
|
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
206
|
+
if (isString) {
|
|
207
|
+
return /*#__PURE__*/_react.default.createElement("span", null, String);
|
|
208
|
+
}
|
|
170
209
|
|
|
171
|
-
|
|
172
|
-
|
|
210
|
+
return String;
|
|
211
|
+
});
|
|
173
212
|
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
213
|
+
var FilterItem = /*#__PURE__*/_react.default.memo(function (_ref4) {
|
|
214
|
+
var instance = _ref4.instance,
|
|
215
|
+
item = _ref4.item;
|
|
216
|
+
var filterValue = instance.filterValue,
|
|
217
|
+
setFilterValue = instance.setFilterValue;
|
|
218
|
+
var title = item.title,
|
|
219
|
+
colon = item.colon; // 是否有筛选值/是否处于筛选状态
|
|
178
220
|
|
|
221
|
+
var active = (0, _react.useMemo)(function () {
|
|
222
|
+
return (0, _utils.getIsHas)(filterValue);
|
|
223
|
+
}, [filterValue]); // 冒号
|
|
179
224
|
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
225
|
+
var showColon = (0, _react.useMemo)(function () {
|
|
226
|
+
return (colon !== null && colon !== void 0 ? colon : ':') ? ':' : null;
|
|
227
|
+
}, [colon]);
|
|
183
228
|
|
|
229
|
+
var handleClear = function handleClear(e) {
|
|
230
|
+
if (active) {
|
|
231
|
+
e.stopPropagation();
|
|
232
|
+
setFilterValue((0, _utils.getValueForType)(item.type));
|
|
233
|
+
}
|
|
234
|
+
};
|
|
184
235
|
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
}
|
|
236
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, (title || showColon) && /*#__PURE__*/_react.default.createElement("div", {
|
|
237
|
+
className: "filter_item_label"
|
|
238
|
+
}, title, showColon), /*#__PURE__*/_react.default.createElement("div", {
|
|
239
|
+
className: "filter_item_value"
|
|
240
|
+
}, active ? /*#__PURE__*/_react.default.createElement(ItemLabel, {
|
|
241
|
+
instance: instance,
|
|
242
|
+
item: item
|
|
243
|
+
}) : /*#__PURE__*/_react.default.createElement(ItemPlacehodler, {
|
|
244
|
+
item: item
|
|
245
|
+
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
246
|
+
className: "filter_item_icon addon_after"
|
|
247
|
+
}, item.type !== 'date' || active ? /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
|
|
248
|
+
type: active ? 'lmweb-close-circle-fill' : 'lmweb-down',
|
|
249
|
+
onClick: handleClear
|
|
250
|
+
}) : null));
|
|
251
|
+
});
|
|
193
252
|
/*
|
|
194
253
|
* css样式控制
|
|
195
254
|
* expand: 展开样式
|
|
@@ -197,9 +256,9 @@ var getLabel = function getLabel(resetInstance, item) {
|
|
|
197
256
|
*/
|
|
198
257
|
|
|
199
258
|
|
|
200
|
-
var DropdownFilter = /*#__PURE__*/_react.default.memo(function (
|
|
201
|
-
var instance =
|
|
202
|
-
item =
|
|
259
|
+
var DropdownFilter = /*#__PURE__*/_react.default.memo(function (_ref5) {
|
|
260
|
+
var instance = _ref5.instance,
|
|
261
|
+
item = _ref5.item;
|
|
203
262
|
|
|
204
263
|
var _useState = (0, _react.useState)(false),
|
|
205
264
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
@@ -209,37 +268,29 @@ var DropdownFilter = /*#__PURE__*/_react.default.memo(function (_ref2) {
|
|
|
209
268
|
var filterValue = instance.filterValue,
|
|
210
269
|
size = instance.size;
|
|
211
270
|
var popupClassName = item.popupClassName,
|
|
212
|
-
|
|
213
|
-
|
|
271
|
+
className = item.className,
|
|
272
|
+
style = item.style; // 是否有筛选值/是否处于筛选状态
|
|
273
|
+
|
|
274
|
+
var active = (0, _react.useMemo)(function () {
|
|
275
|
+
return (0, _utils.getIsHas)(filterValue);
|
|
276
|
+
}, [filterValue]); // 触发查询时关闭下拉框
|
|
214
277
|
|
|
215
278
|
var setFilterValue = function setFilterValue(obj) {
|
|
216
279
|
instance.setFilterValue(obj);
|
|
217
280
|
setVisible(false);
|
|
218
|
-
};
|
|
281
|
+
};
|
|
219
282
|
|
|
283
|
+
var onVisibleChange = function onVisibleChange(v) {
|
|
284
|
+
return setVisible(v);
|
|
285
|
+
}; // 重组Instance 加入下拉关闭控制
|
|
220
286
|
|
|
221
|
-
var showColon = (0, _react.useMemo)(function () {
|
|
222
|
-
return (colon !== null && colon !== void 0 ? colon : ':') ? ':' : null;
|
|
223
|
-
}, [colon]); // 重组Instance 加入下拉关闭控制
|
|
224
287
|
|
|
225
288
|
var resetInstance = (0, _objectSpread2.default)((0, _objectSpread2.default)({
|
|
226
289
|
visible: visible,
|
|
227
290
|
setVisible: setVisible
|
|
228
291
|
}, instance), {}, {
|
|
229
292
|
setFilterValue: setFilterValue
|
|
230
|
-
});
|
|
231
|
-
|
|
232
|
-
var active = (0, _react.useMemo)(function () {
|
|
233
|
-
return (0, _utils.getIsHas)(filterValue);
|
|
234
|
-
}, [filterValue]);
|
|
235
|
-
|
|
236
|
-
var handleClear = function handleClear(e) {
|
|
237
|
-
if (active) {
|
|
238
|
-
e.stopPropagation();
|
|
239
|
-
setFilterValue((0, _utils.getValueForType)(item.type));
|
|
240
|
-
}
|
|
241
|
-
};
|
|
242
|
-
|
|
293
|
+
});
|
|
243
294
|
return /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Dropdown, {
|
|
244
295
|
trigger: ['click'],
|
|
245
296
|
visible: resetInstance.visible,
|
|
@@ -248,27 +299,21 @@ var DropdownFilter = /*#__PURE__*/_react.default.memo(function (_ref2) {
|
|
|
248
299
|
instance: resetInstance,
|
|
249
300
|
item: item
|
|
250
301
|
}),
|
|
251
|
-
overlayClassName: (0, _classnames.default)("filter_dropdown_container_".concat(item.type),
|
|
252
|
-
onVisibleChange:
|
|
253
|
-
return setVisible(v);
|
|
254
|
-
} // 未开启则需手动控制下拉展示组件的初始化
|
|
302
|
+
overlayClassName: (0, _classnames.default)("filter_dropdown_container_".concat(item.type), popupClassName),
|
|
303
|
+
onVisibleChange: onVisibleChange // 未开启则需手动控制下拉展示组件的初始化
|
|
255
304
|
,
|
|
256
305
|
destroyPopupOnHide: true
|
|
257
306
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
258
307
|
className: (0, _classnames.default)('lm_filter_basic_item', className, size, {
|
|
259
308
|
expand: visible,
|
|
260
309
|
active: active
|
|
261
|
-
})
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
}, item.type !== 'date' || active ? /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
|
|
269
|
-
type: active ? 'lmweb-close-circle-fill' : 'lmweb-down',
|
|
270
|
-
onClick: handleClear
|
|
271
|
-
}) : null)));
|
|
310
|
+
}),
|
|
311
|
+
style: style
|
|
312
|
+
}, /*#__PURE__*/_react.default.createElement(FilterItem, {
|
|
313
|
+
key: item.title,
|
|
314
|
+
instance: resetInstance,
|
|
315
|
+
item: item
|
|
316
|
+
})));
|
|
272
317
|
});
|
|
273
318
|
|
|
274
319
|
var _default = DropdownFilter;
|
|
@@ -485,12 +485,10 @@ var useCoreOptions = function useCoreOptions(_ref) {
|
|
|
485
485
|
var field = item.field;
|
|
486
486
|
|
|
487
487
|
if (field) {
|
|
488
|
-
// 将结果转换为字符串
|
|
489
|
-
var isArray = Array.isArray(itemValue);
|
|
490
|
-
|
|
488
|
+
// 将结果转换为字符串(级联数据需要递归)
|
|
491
489
|
var transformString = function transformString(val) {
|
|
492
|
-
return isArray ? val.map(function (v) {
|
|
493
|
-
return
|
|
490
|
+
return Array.isArray(val) ? val.map(function (v) {
|
|
491
|
+
return transformString(v);
|
|
494
492
|
}) : String(val);
|
|
495
493
|
};
|
|
496
494
|
|
|
@@ -502,7 +500,7 @@ var useCoreOptions = function useCoreOptions(_ref) {
|
|
|
502
500
|
fieldName: field,
|
|
503
501
|
fieldType: item.valueType || 'string',
|
|
504
502
|
type: item.type,
|
|
505
|
-
value: isArray ? stringValue : [stringValue],
|
|
503
|
+
value: Array.isArray(itemValue) ? stringValue : [stringValue],
|
|
506
504
|
operator: item.operator || 'equal'
|
|
507
505
|
})); // 数据清除时不返回结构体
|
|
508
506
|
|