linkmore-design 1.0.69 → 1.0.72

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 (84) hide show
  1. package/dist/ImageViewer/LmImageViewer.d.ts +5 -0
  2. package/dist/ImageViewer/demos/basic.d.ts +2 -0
  3. package/dist/ImageViewer/index.d.ts +2 -0
  4. package/dist/ImageViewer/style/index.d.ts +1 -0
  5. package/dist/ImageViewer/wrapeer/Container.d.ts +4 -0
  6. package/dist/ImageViewer/wrapeer/Root.d.ts +3 -0
  7. package/dist/ImageViewer/wrapeer/Wrapper.d.ts +4 -0
  8. package/dist/LmUpload/LmUpload.d.ts +2 -0
  9. package/dist/LmUpload/UploadList/index.d.ts +4 -3
  10. package/dist/LmUpload/fns/index.d.ts +3 -0
  11. package/dist/index.d.ts +2 -0
  12. package/dist/index.umd.js +5285 -613
  13. package/dist/index.umd.min.js +6 -6
  14. package/es/CardTable/table/TableContainer.js +6 -8
  15. package/es/ImageViewer/LmImageViewer.d.ts +5 -0
  16. package/es/ImageViewer/LmImageViewer.js +36 -0
  17. package/es/ImageViewer/index.d.ts +2 -0
  18. package/es/ImageViewer/index.js +2 -0
  19. package/es/ImageViewer/style/index.css +5 -0
  20. package/es/ImageViewer/style/index.js +3 -0
  21. package/es/ImageViewer/wrapeer/Container.d.ts +4 -0
  22. package/es/ImageViewer/wrapeer/Container.js +13 -0
  23. package/es/ImageViewer/wrapeer/Root.d.ts +3 -0
  24. package/es/ImageViewer/wrapeer/Root.js +17 -0
  25. package/es/ImageViewer/wrapeer/Wrapper.d.ts +4 -0
  26. package/es/ImageViewer/wrapeer/Wrapper.js +14 -0
  27. package/es/LmFilter/components/CascaderFilter.js +3 -1
  28. package/es/LmFilter/components/CheckboxFilter.js +3 -3
  29. package/es/LmFilter/components/DropdownFIlter.js +61 -53
  30. package/es/LmFilter/components/index.js +6 -4
  31. package/es/LmFilter/filterFns/index.js +1 -1
  32. package/es/LmFilter/utils.js +2 -0
  33. package/es/LmFilter/wrapper/FilterRoot.js +1 -1
  34. package/es/LmUpload/LmUpload.d.ts +2 -0
  35. package/es/LmUpload/LmUpload.js +24 -15
  36. package/es/LmUpload/UploadList/ItemPicture.js +13 -4
  37. package/es/LmUpload/UploadList/ItemText.js +2 -1
  38. package/es/LmUpload/UploadList/index.d.ts +4 -3
  39. package/es/LmUpload/UploadList/index.js +9 -8
  40. package/es/LmUpload/body/UploadCore.js +5 -9
  41. package/es/LmUpload/fns/index.d.ts +3 -0
  42. package/es/LmUpload/fns/index.js +98 -47
  43. package/es/LmUpload/style/index.css +6 -0
  44. package/es/LmUpload/view/index.js +2 -2
  45. package/es/LmUpload/wrapper/UploadContainer.js +2 -2
  46. package/es/LmUpload/wrapper/UploadRoot.js +10 -29
  47. package/es/index.d.ts +2 -0
  48. package/es/index.js +2 -0
  49. package/lib/CardTable/table/TableContainer.js +6 -8
  50. package/lib/ImageViewer/LmImageViewer.d.ts +5 -0
  51. package/lib/ImageViewer/LmImageViewer.js +50 -0
  52. package/lib/ImageViewer/index.d.ts +2 -0
  53. package/lib/ImageViewer/index.js +13 -0
  54. package/lib/ImageViewer/style/index.css +5 -0
  55. package/lib/ImageViewer/style/index.js +3 -0
  56. package/lib/ImageViewer/wrapeer/Container.d.ts +4 -0
  57. package/lib/ImageViewer/wrapeer/Container.js +23 -0
  58. package/lib/ImageViewer/wrapeer/Root.d.ts +3 -0
  59. package/lib/ImageViewer/wrapeer/Root.js +31 -0
  60. package/lib/ImageViewer/wrapeer/Wrapper.d.ts +4 -0
  61. package/lib/ImageViewer/wrapeer/Wrapper.js +25 -0
  62. package/lib/LmFilter/components/CascaderFilter.js +3 -1
  63. package/lib/LmFilter/components/CheckboxFilter.js +3 -3
  64. package/lib/LmFilter/components/DropdownFIlter.js +61 -53
  65. package/lib/LmFilter/components/index.js +6 -4
  66. package/lib/LmFilter/filterFns/index.js +1 -1
  67. package/lib/LmFilter/utils.js +2 -0
  68. package/lib/LmFilter/wrapper/FilterRoot.js +1 -1
  69. package/lib/LmUpload/LmUpload.d.ts +2 -0
  70. package/lib/LmUpload/LmUpload.js +24 -15
  71. package/lib/LmUpload/UploadList/ItemPicture.js +16 -4
  72. package/lib/LmUpload/UploadList/ItemText.js +5 -1
  73. package/lib/LmUpload/UploadList/index.d.ts +4 -3
  74. package/lib/LmUpload/UploadList/index.js +10 -10
  75. package/lib/LmUpload/body/UploadCore.js +5 -11
  76. package/lib/LmUpload/fns/index.d.ts +3 -0
  77. package/lib/LmUpload/fns/index.js +98 -47
  78. package/lib/LmUpload/style/index.css +6 -0
  79. package/lib/LmUpload/view/index.js +2 -2
  80. package/lib/LmUpload/wrapper/UploadContainer.js +2 -2
  81. package/lib/LmUpload/wrapper/UploadRoot.js +10 -29
  82. package/lib/index.d.ts +2 -0
  83. package/lib/index.js +16 -0
  84. package/package.json +1 -1
@@ -27,21 +27,20 @@ var LmCardTableContainer = /*#__PURE__*/_react.default.memo(function (_ref) {
27
27
  type = table.type;
28
28
  var tableContainerRef = (0, _react.useRef)(null); // 行数据计算
29
29
 
30
- var getRows = function getRows(columnCount) {
30
+ var getRows = (0, _react.useCallback)(function (columnCount) {
31
31
  var arr = [];
32
32
  var len = Math.ceil(dataSource.length / columnCount);
33
33
 
34
- for (var i = 0; i < len; i++) {
34
+ for (var i = 0; i < len; i += 1) {
35
35
  var startIndex = columnCount * i;
36
36
  var items = dataSource.slice(startIndex, startIndex + columnCount);
37
37
  arr.push(items);
38
38
  }
39
39
 
40
40
  return arr;
41
- }; // 获取容器盒子高宽
41
+ }, [dataSource]); // 获取容器盒子高宽
42
42
 
43
-
44
- var getResize = function getResize() {
43
+ var getResize = (0, _react.useCallback)(function () {
45
44
  var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
46
45
  blockSize = _ref2.blockSize,
47
46
  inlineSize = _ref2.inlineSize;
@@ -68,8 +67,7 @@ var LmCardTableContainer = /*#__PURE__*/_react.default.memo(function (_ref) {
68
67
  type: 'changeRows',
69
68
  rows: rows
70
69
  });
71
- }; // 获取表格高度
72
-
70
+ }, [getRows]); // 获取表格高度
73
71
 
74
72
  useIsomorphicLayoutEffect(function () {
75
73
  // 频繁变动可考虑增加防抖
@@ -86,7 +84,7 @@ var LmCardTableContainer = /*#__PURE__*/_react.default.memo(function (_ref) {
86
84
  return function () {
87
85
  return resizeObserver.disconnect();
88
86
  };
89
- }, [type]);
87
+ }, [type, getResize]);
90
88
  return /*#__PURE__*/_react.default.createElement("div", {
91
89
  ref: tableContainerRef,
92
90
  className: "lm_card_table_container"
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ declare const _default: React.ForwardRefExoticComponent<Pick<{
3
+ [x: string]: any;
4
+ }, string | number> & React.RefAttributes<unknown>>;
5
+ export default _default;
@@ -0,0 +1,36 @@
1
+ var __rest = this && this.__rest || function (s, e) {
2
+ var t = {};
3
+
4
+ for (var p in s) {
5
+ if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
6
+ }
7
+
8
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
9
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
10
+ }
11
+ return t;
12
+ };
13
+
14
+ import React, { useRef, forwardRef } from 'react';
15
+ import LmImageViewerRoot from './wrapeer/Root';
16
+
17
+ var LmImageViewer = function LmImageViewer(_a, ref) {
18
+ var resetProps = __rest(_a, []);
19
+
20
+ var defaultRef = useRef(null);
21
+ var defaultConfig = {
22
+ visible: false,
23
+ urlList: [],
24
+ zIndex: 1,
25
+ initialIndex: 0,
26
+ infinite: false,
27
+ hideOnClickModal: false,
28
+ close: function close() {} // 触发关闭时的事件
29
+
30
+ };
31
+ return /*#__PURE__*/React.createElement(LmImageViewerRoot, Object.assign({
32
+ ref: ref || defaultRef
33
+ }, defaultConfig, resetProps));
34
+ };
35
+
36
+ export default /*#__PURE__*/forwardRef(LmImageViewer);
@@ -0,0 +1,2 @@
1
+ import LmImageViewer from './LmImageViewer';
2
+ export default LmImageViewer;
@@ -0,0 +1,2 @@
1
+ import LmImageViewer from './LmImageViewer';
2
+ export default LmImageViewer;
@@ -0,0 +1,5 @@
1
+ .lm_image_viwer_wrapper {
2
+ position: fixed;
3
+ inset: 0;
4
+ z-index: 1;
5
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+
3
+ require("./index.css");
@@ -0,0 +1,4 @@
1
+ declare const LmImageViewerContainer: ({ instance }: {
2
+ instance: any;
3
+ }) => JSX.Element;
4
+ export default LmImageViewerContainer;
@@ -0,0 +1,13 @@
1
+ // 根文件 => 参数聚合
2
+ import React from 'react';
3
+
4
+ var LmImageViewerContainer = function LmImageViewerContainer(_ref) {
5
+ var instance = _ref.instance;
6
+ var viisble = instance.viisble;
7
+ if (!viisble) return null;
8
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
9
+ className: "lm_image_viewer_container"
10
+ }, "container"));
11
+ };
12
+
13
+ export default LmImageViewerContainer;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const _default: React.ForwardRefExoticComponent<Pick<any, string | number | symbol> & React.RefAttributes<unknown>>;
3
+ export default _default;
@@ -0,0 +1,17 @@
1
+ // 根文件 => 参数聚合
2
+ import React, { forwardRef, useImperativeHandle } from 'react';
3
+ import LmImageViewerWrapper from './Wrapper';
4
+
5
+ var LmImageViewerRoot = function LmImageViewerRoot(props, ref) {
6
+ // 组件实例
7
+ var instance = Object.assign({}, props); // 向外暴露出的方法
8
+
9
+ useImperativeHandle(ref, function () {
10
+ return {};
11
+ });
12
+ return /*#__PURE__*/React.createElement(LmImageViewerWrapper, {
13
+ instance: instance
14
+ });
15
+ };
16
+
17
+ export default /*#__PURE__*/forwardRef(LmImageViewerRoot);
@@ -0,0 +1,4 @@
1
+ declare const LmImageViewerWrapper: ({ instance }: {
2
+ instance: any;
3
+ }) => JSX.Element;
4
+ export default LmImageViewerWrapper;
@@ -0,0 +1,14 @@
1
+ // 根文件 => 参数聚合
2
+ import React from 'react';
3
+ import LmImageViewerContainer from './Container';
4
+
5
+ var LmImageViewerWrapper = function LmImageViewerWrapper(_ref) {
6
+ var instance = _ref.instance;
7
+ return /*#__PURE__*/React.createElement("div", {
8
+ className: "lm_image_viwer_wrapper"
9
+ }, /*#__PURE__*/React.createElement(LmImageViewerContainer, {
10
+ instance: instance
11
+ }));
12
+ };
13
+
14
+ export default LmImageViewerWrapper;
@@ -49,7 +49,9 @@ var DropdownRender = function DropdownRender(_ref) {
49
49
 
50
50
  var handleFilter = function handleFilter(val) {
51
51
  var serachValues = filters.filter(function (v) {
52
- return v.label.indexOf(val) > -1;
52
+ var _v, _item$props2, _item$props2$fieldNam;
53
+
54
+ return ((_v = v[(item === null || item === void 0 ? void 0 : (_item$props2 = item.props) === null || _item$props2 === void 0 ? void 0 : (_item$props2$fieldNam = _item$props2.fieldNames) === null || _item$props2$fieldNam === void 0 ? void 0 : _item$props2$fieldNam.label) || 'label']) === null || _v === void 0 ? void 0 : _v.indexOf(val)) > -1;
53
55
  });
54
56
  setOptions(serachValues);
55
57
  }; // 确定
@@ -21,12 +21,12 @@ var _react = _interopRequireWildcard(require("react"));
21
21
 
22
22
  var _linkmoreDesign = require("linkmore-design");
23
23
 
24
+ var _classnames = _interopRequireDefault(require("classnames"));
25
+
24
26
  var _InputSearchClose = _interopRequireDefault(require("./InputSearchClose"));
25
27
 
26
28
  var _EmptyFilter = _interopRequireDefault(require("./EmptyFilter"));
27
29
 
28
- var _classnames = _interopRequireDefault(require("classnames"));
29
-
30
30
  var _utils = require("../utils");
31
31
 
32
32
  var _hooks = require("../hooks");
@@ -112,7 +112,7 @@ var CheckboxFilter = function CheckboxFilter(_ref) {
112
112
  var handleCancel = function handleCancel() {
113
113
  // 手动触发内容改变(不会触发onChange事件)
114
114
  setVisible === null || setVisible === void 0 ? void 0 : setVisible(false);
115
- }; // 确定 执行查询操作
115
+ }; // 确定 执行查询操作
116
116
 
117
117
 
118
118
  var handleSure = function handleSure() {
@@ -99,85 +99,93 @@ var getPlacehodler = function getPlacehodler(props) {
99
99
 
100
100
 
101
101
  var getLabel = function getLabel(filterValue, item) {
102
- var _data$find;
103
-
104
102
  var type = item.type,
105
103
  data = item.data; // 不存在筛选时
106
104
 
107
105
  if (!(0, _utils.getIsHas)(filterValue)) {
108
106
  return getPlacehodler(item);
109
107
  } // 存在筛选数据时 ⬇️
110
- // 级联数据转换平级结构
111
108
 
112
109
 
113
- if (['cascader'].includes(type)) {
114
- var nArr = (0, _utils.getFlatItem)(item, filterValue);
115
- var labels = nArr.map(function (v) {
116
- var _item$props, _item$props$fieldName;
110
+ try {
111
+ var _data$find;
112
+
113
+ // 级联数据转换平级结构
114
+ if (['cascader'].includes(type)) {
115
+ var nArr = (0, _utils.getFlatItem)(item, filterValue);
116
+ var labels = nArr === null || nArr === void 0 ? void 0 : nArr.map(function (v) {
117
+ var _item$props, _item$props$fieldName;
117
118
 
118
- 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'];
119
- });
119
+ 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'];
120
+ });
120
121
 
121
- switch (labels.length) {
122
- case 1:
123
- return labels[0];
122
+ switch (labels.length) {
123
+ case 0:
124
+ // 数据未查找到时
125
+ return filterValue;
124
126
 
125
- case 2:
126
- return "".concat(labels[0], "\u3001").concat(labels[1]);
127
+ case 1:
128
+ return labels[0];
127
129
 
128
- default:
129
- return "".concat(labels[0], "\u3001+").concat(labels.length - 1, "...");
130
+ case 2:
131
+ return "".concat(labels[0], "\u3001").concat(labels[1]);
132
+
133
+ default:
134
+ return "".concat(labels[0], "\u3001+").concat(labels.length - 1, "...");
135
+ }
130
136
  }
131
- }
132
137
 
133
- if (Array.isArray(filterValue)) {
134
- var _data$filter;
138
+ if (Array.isArray(filterValue)) {
139
+ var _data$filter;
135
140
 
136
- // 日期
137
- if (['date'].includes(type)) {
138
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, filterValue[0], /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
139
- type: "lmweb-swap-right",
140
- style: {
141
- fontSize: 14,
142
- color: 'var(--text-color)'
143
- }
144
- }), filterValue[1]);
145
- } // 多选
141
+ // 日期
142
+ if (['date'].includes(type)) {
143
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, filterValue[0], /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
144
+ type: "lmweb-swap-right",
145
+ style: {
146
+ fontSize: 14,
147
+ color: 'var(--text-color)'
148
+ }
149
+ }), filterValue[1]);
150
+ } // 多选
146
151
 
147
152
 
148
- var _labels = data === null || data === void 0 ? void 0 : (_data$filter = data.filter(function (v) {
149
- return filterValue.includes(v.value);
150
- })) === null || _data$filter === void 0 ? void 0 : _data$filter.map(function (v) {
151
- return v.label;
152
- });
153
+ var _labels = data === null || data === void 0 ? void 0 : (_data$filter = data.filter(function (v) {
154
+ return filterValue.includes(v.value);
155
+ })) === null || _data$filter === void 0 ? void 0 : _data$filter.map(function (v) {
156
+ return v.label;
157
+ });
153
158
 
154
- if (!_labels.length) {
155
- _labels = filterValue;
156
- } // 受控模式未查找到显示的内容时展示
159
+ if (!_labels.length) {
160
+ _labels = filterValue;
161
+ } // 受控模式未查找到显示的内容时展示
157
162
 
158
163
 
159
- switch (_labels.length) {
160
- case 1:
161
- return _labels[0];
164
+ switch (_labels.length) {
165
+ case 1:
166
+ return _labels[0];
162
167
 
163
- case 2:
164
- return "".concat(_labels[0], "\u3001").concat(_labels[1]);
168
+ case 2:
169
+ return "".concat(_labels[0], "\u3001").concat(_labels[1]);
165
170
 
166
- default:
167
- return "".concat(_labels[0], "\u3001+").concat(_labels.length - 1, "...");
168
- }
169
- } // 输入框
171
+ default:
172
+ return "".concat(_labels[0], "\u3001+").concat(_labels.length - 1, "...");
173
+ }
174
+ } // 输入框
170
175
 
171
176
 
172
- if (['input', 'date'].includes(type)) {
173
- return filterValue;
174
- } // 单选框 受控模式未查找到显示的内容时展示filterValue
177
+ if (['input', 'date'].includes(type)) {
178
+ return filterValue;
179
+ } // 单选框 受控模式未查找到显示的内容时展示filterValue
175
180
 
176
181
 
177
- var label = (data === null || data === void 0 ? void 0 : (_data$find = data.find(function (v) {
178
- return (v === null || v === void 0 ? void 0 : v.value) === filterValue;
179
- })) === null || _data$find === void 0 ? void 0 : _data$find.label) || filterValue;
180
- return label;
182
+ var label = (data === null || data === void 0 ? void 0 : (_data$find = data.find(function (v) {
183
+ return (v === null || v === void 0 ? void 0 : v.value) === filterValue;
184
+ })) === null || _data$find === void 0 ? void 0 : _data$find.label) || filterValue;
185
+ return label;
186
+ } catch (error) {
187
+ return filterValue;
188
+ }
181
189
  };
182
190
  /*
183
191
  * css样式控制
@@ -62,12 +62,14 @@ var FilterControl = /*#__PURE__*/_react.default.memo(function (props) {
62
62
  return value || aliveValue;
63
63
  }, [value, aliveValue]);
64
64
  var filterValue = (0, _react.useMemo)(function () {
65
- if ((0, _utils.getIsHas)(getFilterValue === null || getFilterValue === void 0 ? void 0 : getFilterValue(resetItem))) {
66
- return getFilterValue === null || getFilterValue === void 0 ? void 0 : getFilterValue(resetItem);
65
+ var val = getFilterValue === null || getFilterValue === void 0 ? void 0 : getFilterValue(resetItem);
66
+
67
+ if ((0, _utils.getIsHas)(val)) {
68
+ return val;
67
69
  }
68
70
 
69
- return (getFilterValue === null || getFilterValue === void 0 ? void 0 : getFilterValue(resetItem)) || transformFilterValue;
70
- }, [resetItem, transformFilterValue]); // 单独使用时抛出选中的值
71
+ return val || transformFilterValue;
72
+ }, [getFilterValue, resetItem, transformFilterValue]); // 单独使用时抛出选中的值
71
73
 
72
74
  var handleChange = function handleChange(val) {
73
75
  setAliveValue === null || setAliveValue === void 0 ? void 0 : setAliveValue(val);
@@ -322,12 +322,12 @@ var useCoreOptions = function useCoreOptions(_ref) {
322
322
  var getFilterValue = (0, _react.useCallback)(function (_ref3) {
323
323
  var field = _ref3.field,
324
324
  type = _ref3.type;
325
- var defaultValue = (0, _utils.getValueForType)(type);
326
325
 
327
326
  if ((0, _utils.getIsHas)(state.basicFilter[field])) {
328
327
  return state.basicFilter[field];
329
328
  }
330
329
 
330
+ var defaultValue = (0, _utils.getValueForType)(type);
331
331
  return state.basicFilter[field] || defaultValue;
332
332
  }, [state.basicFilter]); // 获取查询结构
333
333
 
@@ -81,6 +81,8 @@ function getFlatItem(getItem, checkedValue) {
81
81
  var getChildren = function getChildren(item) {
82
82
  var _item$fieldNames$chil;
83
83
 
84
+ if (!item) return;
85
+
84
86
  if (type === 'parent') {
85
87
  nArr.push(item);
86
88
  return;
@@ -165,7 +165,7 @@ var LmFilterRoot = function LmFilterRoot(props, ref) {
165
165
  props: props
166
166
  }),
167
167
  CoreMethods = _useCoreOptions.CoreMethods,
168
- RefMethods = _useCoreOptions.RefMethods; // 组件示例
168
+ RefMethods = _useCoreOptions.RefMethods; // 组件实例
169
169
 
170
170
 
171
171
  var instance = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), CoreMethods), RefMethods), {}, {
@@ -1,6 +1,8 @@
1
1
  import React from 'react';
2
2
  declare const _default: React.ForwardRefExoticComponent<Pick<{
3
3
  [x: string]: any;
4
+ fileConfig: any;
5
+ components: any;
4
6
  ossConfig: any;
5
7
  }, string | number> & React.RefAttributes<unknown>>;
6
8
  export default _default;
@@ -15,37 +15,45 @@ import React, { useRef, useMemo, forwardRef } from 'react';
15
15
  import LmFilterRoot from './wrapper/UploadRoot';
16
16
 
17
17
  var LmUpload = function LmUpload(_a, ref) {
18
- var _ossConfig = _a.ossConfig,
19
- resetProps = __rest(_a, ["ossConfig"]);
18
+ var fileConfig = _a.fileConfig,
19
+ components = _a.components,
20
+ _ossConfig = _a.ossConfig,
21
+ resetProps = __rest(_a, ["fileConfig", "components", "ossConfig"]);
20
22
 
21
23
  var defaultRef = useRef(null); // 仅在初始化触发一次
22
24
 
23
25
  var initConfig = useMemo(function () {
24
26
  return {
25
27
  // 文件配置单独存储
26
- fileConfig: {
28
+ fileConfig: Object.assign({
27
29
  size: 10,
28
30
  type: ['jpg', 'jpeg', 'png'],
29
31
  maxCount: 99
32
+ }, fileConfig || {}),
33
+ // 读取字段配置
34
+ fileNames: {
35
+ uid: 'uid',
36
+ fileTypeCode: 'fileTypeCode',
37
+ fileTypeName: 'fileTypeName',
38
+ fileName: 'fileName',
39
+ realFileName: 'realFileName',
40
+ fileSize: 'fileSize',
41
+ internalUrl: 'internalUrl',
42
+ externalUrl: 'externalUrl',
43
+ filePath: 'filePath',
44
+ seq: 'seq',
45
+ url: 'url'
30
46
  },
31
47
  // 初始化
32
- components: {
48
+ components: Object.assign({
33
49
  itemRender: null,
34
- wrapper: null // 结构定义
35
- // 包装结构体: 上传, 列表
36
- // wrapper: (upload, fileList) => (
37
- // <>
38
- // {upload}
39
- // {fileList}
40
- // </>
41
- // ),
42
-
43
- }
50
+ wrapper: null
51
+ }, components || {})
44
52
  };
45
53
  }, []);
46
54
  var defaultProps = {
47
55
  uid: 'uid',
48
- fileList: [],
56
+ fileList: null,
49
57
  type: ['jpg', 'jpeg', 'png'],
50
58
  accept: '',
51
59
  fileSize: 10,
@@ -53,6 +61,7 @@ var LmUpload = function LmUpload(_a, ref) {
53
61
  size: 100,
54
62
  disabled: false,
55
63
  maxCount: null,
64
+ showUploadList: true,
56
65
  children: null,
57
66
  defaultFileList: [],
58
67
  itemRender: null,
@@ -1,21 +1,30 @@
1
1
  import * as React from 'react';
2
+ import cn from 'classnames';
2
3
  import { IconFont } from 'linkmore-design'; // 图片列表项
3
4
 
4
5
  var PictureItem = function PictureItem(_ref) {
5
6
  var file = _ref.file,
6
7
  instance = _ref.instance;
7
- var remove = instance.remove;
8
+ var remove = instance.remove,
9
+ preview = instance.preview,
10
+ download = instance.download;
8
11
  return /*#__PURE__*/React.createElement("div", {
9
- className: "lm_upload_item lm_upload_item_picture"
12
+ className: cn('lm_upload_item lm_upload_item_picture', file.status === 'error' && 'error')
10
13
  }, /*#__PURE__*/React.createElement("div", {
11
14
  className: "picture_left"
12
15
  }, /*#__PURE__*/React.createElement("div", {
13
- className: "lm_upload_item_thumb"
16
+ className: "lm_upload_item_thumb",
17
+ onClick: function onClick() {
18
+ return preview(file);
19
+ }
14
20
  }, /*#__PURE__*/React.createElement("img", {
15
21
  src: file.url,
16
22
  alt: ""
17
23
  })), /*#__PURE__*/React.createElement("div", {
18
- className: "lm_upload_item_name"
24
+ className: "lm_upload_item_name",
25
+ onClick: function onClick() {
26
+ return download(file);
27
+ }
19
28
  }, file.fileName)), /*#__PURE__*/React.createElement("div", {
20
29
  className: "picture_right lm_upload_item_action"
21
30
  }, /*#__PURE__*/React.createElement("div", {
@@ -1,4 +1,5 @@
1
1
  import * as React from 'react';
2
+ import cn from 'classnames';
2
3
  import { IconFont } from 'linkmore-design';
3
4
 
4
5
  var TextItem = function TextItem(_ref) {
@@ -6,7 +7,7 @@ var TextItem = function TextItem(_ref) {
6
7
  instance = _ref.instance;
7
8
  var remove = instance.remove;
8
9
  return /*#__PURE__*/React.createElement("div", {
9
- className: "lm_upload_item lm_upload_item_text"
10
+ className: cn('lm_upload_item lm_upload_item_text', file.status === 'error' && 'error')
10
11
  }, /*#__PURE__*/React.createElement("div", {
11
12
  className: "text_left"
12
13
  }, /*#__PURE__*/React.createElement("div", {
@@ -1,4 +1,5 @@
1
- declare const LmUploadList: ({ instance }: {
1
+ import React from 'react';
2
+ declare const _default: React.MemoExoticComponent<({ instance }: {
2
3
  instance: any;
3
- }) => JSX.Element;
4
- export default LmUploadList;
4
+ }) => JSX.Element>;
5
+ export default _default;
@@ -1,27 +1,28 @@
1
- import * as React from 'react';
1
+ import React from 'react';
2
2
  import { render } from '../utils';
3
3
  import RenderItem from './RenderItem';
4
4
 
5
5
  var LmUploadList = function LmUploadList(_ref) {
6
6
  var instance = _ref.instance;
7
7
 
8
- var _a;
8
+ var _a, _b;
9
9
 
10
10
  var uid = instance.uid,
11
- fileList = instance.fileList,
11
+ getFileList = instance.getFileList,
12
12
  itemRender = instance.itemRender,
13
- listType = instance.listType;
14
- return /*#__PURE__*/React.createElement(React.Fragment, null, (_a = fileList === null || fileList === void 0 ? void 0 : fileList.sort(function (a, b) {
13
+ listType = instance.listType,
14
+ showUploadList = instance.showUploadList;
15
+ if (!showUploadList) return null;
16
+ return /*#__PURE__*/React.createElement(React.Fragment, null, (_b = (_a = getFileList()) === null || _a === void 0 ? void 0 : _a.sort(function (a, b) {
15
17
  return a.seq - b.seq;
16
- })) === null || _a === void 0 ? void 0 : _a.map(function (file, idx) {
18
+ })) === null || _b === void 0 ? void 0 : _b.map(function (file, idx) {
17
19
  return render(itemRender || RenderItem, {
18
20
  type: listType,
19
21
  key: file[uid] || idx,
20
22
  file: file,
21
- fileList: fileList,
22
23
  instance: instance
23
24
  });
24
25
  }));
25
26
  };
26
27
 
27
- export default LmUploadList;
28
+ export default /*#__PURE__*/React.memo(LmUploadList);
@@ -1,4 +1,4 @@
1
- import React, { useMemo } from 'react';
1
+ import React from 'react';
2
2
  import UploadPicture from './UploadPicture'; // 上传核心
3
3
  // 渲染上传区域样式, 仅用于触发上传事件
4
4
  // type: 'card' 图片 | 'drag' 拖拽
@@ -6,15 +6,11 @@ import UploadPicture from './UploadPicture'; // 上传核心
6
6
  var UploadCore = function UploadCore(_ref) {
7
7
  var instance = _ref.instance;
8
8
  var inputRef = React.useRef(null);
9
- var fileList = instance.fileList,
10
- accept = instance.accept,
11
- maxCount = instance.maxCount,
9
+ var accept = instance.accept,
12
10
  children = instance.children,
13
11
  beforeUpload = instance.beforeUpload,
14
- getUploadStatus = instance.getUploadStatus;
15
- var isMaxCount = useMemo(function () {
16
- return !(fileList.length < maxCount);
17
- }, []); // 点击事件触发文件上传
12
+ getUploadStatus = instance.getUploadStatus,
13
+ getIsMaxCount = instance.getIsMaxCount; // 点击事件触发文件上传
18
14
 
19
15
  var handleClick = function handleClick() {
20
16
  var _a;
@@ -44,7 +40,7 @@ var UploadCore = function UploadCore(_ref) {
44
40
  display: 'none'
45
41
  }
46
42
  };
47
- return isMaxCount && /*#__PURE__*/React.createElement("div", {
43
+ return !getIsMaxCount() && /*#__PURE__*/React.createElement("div", {
48
44
  onClick: handleClick,
49
45
  className: "lm_upload_core"
50
46
  }, children || /*#__PURE__*/React.createElement(UploadPicture, {
@@ -4,15 +4,18 @@ declare const useCoreOptions: ({ state, dispatch, props }: {
4
4
  props: any;
5
5
  }) => {
6
6
  CoreMethods: {
7
+ getIsMaxCount: () => boolean;
7
8
  beforeUpload: (e: any) => false | import("../../message").MessageType;
8
9
  getUploadStatus: () => {
9
10
  uploading: boolean;
10
11
  };
11
12
  remove: (file: any) => Promise<void>;
12
13
  preview: (file: any) => void;
14
+ download: (file: any) => void;
13
15
  };
14
16
  RefMethods: {
15
17
  getState: () => any;
18
+ getFileList: () => any;
16
19
  };
17
20
  };
18
21
  export default useCoreOptions;