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.
Files changed (44) hide show
  1. package/CHANGELOG.md +44 -10
  2. package/dist/ConfigProvider/context.d.ts +1 -0
  3. package/dist/Form/demos/responsive.d.ts +0 -1
  4. package/dist/Form/interface.d.ts +2 -0
  5. package/dist/IconFont/demos/ConfigProvider.d.ts +2 -0
  6. package/dist/IconFont/index.d.ts +1 -2
  7. package/dist/index.umd.js +355 -232
  8. package/dist/index.umd.min.js +17 -17
  9. package/dist/variables.css +99 -55
  10. package/es/ConfigProvider/context.d.ts +1 -0
  11. package/es/ConfigProvider/index.js +5 -3
  12. package/es/Form/FormWrapper.js +3 -4
  13. package/es/Form/WrapperItem.js +138 -70
  14. package/es/Form/interface.d.ts +2 -0
  15. package/es/Form/style/index.css +26 -1
  16. package/es/Form/style/variables.css +26 -1
  17. package/es/IconFont/index.d.ts +1 -2
  18. package/es/IconFont/index.js +18 -4
  19. package/es/ImageViewer/components/Operate.js +4 -7
  20. package/es/LmFilter/components/DropdownFIlter.js +164 -119
  21. package/es/LmFilter/filterFns/index.js +4 -6
  22. package/es/LmFilter/style/index.css +73 -54
  23. package/es/LmFilter/style/variables.css +73 -54
  24. package/es/LmFilter/utils.js +6 -6
  25. package/es/LmUpload/UploadList/ItemText.js +5 -1
  26. package/es/styles/variables.css +99 -55
  27. package/lib/ConfigProvider/context.d.ts +1 -0
  28. package/lib/ConfigProvider/index.js +5 -3
  29. package/lib/Form/FormWrapper.js +3 -4
  30. package/lib/Form/WrapperItem.js +136 -69
  31. package/lib/Form/interface.d.ts +2 -0
  32. package/lib/Form/style/index.css +26 -1
  33. package/lib/Form/style/variables.css +26 -1
  34. package/lib/IconFont/index.d.ts +1 -2
  35. package/lib/IconFont/index.js +25 -4
  36. package/lib/ImageViewer/components/Operate.js +4 -8
  37. package/lib/LmFilter/components/DropdownFIlter.js +164 -119
  38. package/lib/LmFilter/filterFns/index.js +4 -6
  39. package/lib/LmFilter/style/index.css +73 -54
  40. package/lib/LmFilter/style/variables.css +73 -54
  41. package/lib/LmFilter/utils.js +6 -6
  42. package/lib/LmUpload/UploadList/ItemText.js +5 -1
  43. package/lib/styles/variables.css +99 -55
  44. 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/defineProperty"));
13
-
14
12
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
15
13
 
16
14
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/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 getPlacehodler = function getPlacehodler(props) {
69
- var type = props.type,
70
- itemProps = props.props; // 日期显示的处理
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
- if (['range', 'rangePicker'].includes(props.dateType || props.datetype)) {
74
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, "\u5F00\u59CB\u65E5\u671F", /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
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
- }), "\u7ED3\u675F\u65E5\u671F", /*#__PURE__*/_react.default.createElement(_icons.CalendarOutlined, {
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 placeholder = {
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", placeholder[itemProps === null || itemProps === void 0 ? void 0 : itemProps.picker] || '日期', /*#__PURE__*/_react.default.createElement(_icons.CalendarOutlined, {
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 getLabel = function getLabel(resetInstance, item) {
104
- var filterValue = resetInstance.filterValue;
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
- if (!(0, _utils.getIsHas)(filterValue)) {
109
- return getPlacehodler(item);
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
- try {
114
- var _data$find;
153
+ if (Array.isArray(filterValue)) {
154
+ var _data$filter;
115
155
 
116
- // 级联数据转换平级结构
117
- if (['cascader'].includes(type)) {
118
- var nArr = (0, _utils.getFlatItem)(item, filterValue);
119
- var labels = nArr === null || nArr === void 0 ? void 0 : nArr.map(function (v) {
120
- var _item$props, _item$props$fieldName;
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
- switch (labels.length) {
126
- case 0:
127
- // 数据未查找到时
128
- return filterValue;
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
- case 1:
131
- return labels[0];
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
- default:
137
- return "".concat(labels[0], "\u3001+").concat(labels.length - 1, "...");
138
- }
139
- }
179
+ switch (_labels.length) {
180
+ case 1:
181
+ return _labels[0];
140
182
 
141
- if (Array.isArray(filterValue)) {
142
- var _data$filter;
183
+ case 2:
184
+ return "".concat(_labels[0], "\u3001").concat(_labels[1]);
143
185
 
144
- // 日期
145
- if (['date'].includes(type)) {
146
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, filterValue[0], /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
147
- type: "lmweb-swap-right",
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
- var _labels = data === null || data === void 0 ? void 0 : (_data$filter = data.filter(function (v) {
157
- return (0, _utils.toStringIsEqual)(v.value, filterValue, 'includes');
158
- })) === null || _data$filter === void 0 ? void 0 : _data$filter.map(function (v) {
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
- switch (_labels.length) {
168
- case 1:
169
- return _labels[0];
206
+ if (isString) {
207
+ return /*#__PURE__*/_react.default.createElement("span", null, String);
208
+ }
170
209
 
171
- case 2:
172
- return "".concat(_labels[0], "\u3001").concat(_labels[1]);
210
+ return String;
211
+ });
173
212
 
174
- default:
175
- return "".concat(_labels[0], "\u3001+").concat(_labels.length - 1, "...");
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
- if (['input', 'date'].includes(type)) {
181
- return filterValue;
182
- } // 单选框 受控模式未查找到显示的内容时展示filterValue
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
- var label = (data === null || data === void 0 ? void 0 : (_data$find = data.find(function (v) {
186
- return (0, _utils.toStringIsEqual)(v === null || v === void 0 ? void 0 : v.value, filterValue);
187
- })) === null || _data$find === void 0 ? void 0 : _data$find.label) || filterValue;
188
- return label;
189
- } catch (error) {
190
- return filterValue;
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 (_ref2) {
201
- var instance = _ref2.instance,
202
- item = _ref2.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
- colon = item.colon,
213
- className = item.className; // 触发查询时关闭下拉框
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), (0, _defineProperty2.default)({}, popupClassName, popupClassName)),
252
- onVisibleChange: function onVisibleChange(v) {
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
- }, /*#__PURE__*/_react.default.createElement("div", {
263
- className: "filter_item_label"
264
- }, item === null || item === void 0 ? void 0 : item.title, showColon), /*#__PURE__*/_react.default.createElement("div", {
265
- className: "filter_item_value"
266
- }, getLabel(resetInstance, item)), /*#__PURE__*/_react.default.createElement("div", {
267
- className: "filter_item_icon addon_after"
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;
@@ -501,12 +501,10 @@ var useCoreOptions = function useCoreOptions(_ref) {
501
501
  var field = item.field;
502
502
 
503
503
  if (field) {
504
- // 将结果转换为字符串
505
- var isArray = Array.isArray(itemValue);
506
-
504
+ // 将结果转换为字符串(级联数据需要递归)
507
505
  var transformString = function transformString(val) {
508
- return isArray ? val.map(function (v) {
509
- return String(v);
506
+ return Array.isArray(val) ? val.map(function (v) {
507
+ return transformString(v);
510
508
  }) : String(val);
511
509
  };
512
510
 
@@ -518,7 +516,7 @@ var useCoreOptions = function useCoreOptions(_ref) {
518
516
  fieldName: field,
519
517
  fieldType: item.valueType || 'string',
520
518
  type: item.type,
521
- value: isArray ? stringValue : [stringValue],
519
+ value: Array.isArray(itemValue) ? stringValue : [stringValue],
522
520
  operator: item.operator || 'equal'
523
521
  })); // 数据清除时不返回结构体
524
522