@vtx/components 3.1.31 → 3.1.32

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 (250) hide show
  1. package/CHANGELOG.md +1325 -0
  2. package/lib/_util/filterSpecialCharacters.js +43 -54
  3. package/lib/_util/filterSpecialCharacters.js.map +1 -1
  4. package/lib/_util/getComponentProps.js +3 -0
  5. package/lib/_util/getComponentProps.js.map +1 -1
  6. package/lib/_util/getUrlParam.js +6 -0
  7. package/lib/_util/getUrlParam.js.map +1 -1
  8. package/lib/_util/isFunction.js +1 -0
  9. package/lib/_util/isFunction.js.map +1 -1
  10. package/lib/_util/isObject.js +1 -0
  11. package/lib/_util/isObject.js.map +1 -1
  12. package/lib/_util/useColSize.js +10 -1
  13. package/lib/_util/useColSize.js.map +1 -1
  14. package/lib/_util/useInterval.js +3 -0
  15. package/lib/_util/useInterval.js.map +1 -1
  16. package/lib/_util/useSet.js +32 -14
  17. package/lib/_util/useSet.js.map +1 -1
  18. package/lib/config.js.map +1 -1
  19. package/lib/index.js +26 -0
  20. package/lib/index.js.map +1 -1
  21. package/lib/vtx-color-picker/index.js +21 -5
  22. package/lib/vtx-color-picker/index.js.map +1 -1
  23. package/lib/vtx-color-picker/style/css.js +2 -0
  24. package/lib/vtx-color-picker/style/css.js.map +1 -1
  25. package/lib/vtx-color-picker/style/index.js +2 -0
  26. package/lib/vtx-color-picker/style/index.js.map +1 -1
  27. package/lib/vtx-combogrid/Combogrid.js +74 -34
  28. package/lib/vtx-combogrid/Combogrid.js.map +1 -1
  29. package/lib/vtx-combogrid/index.js +45 -20
  30. package/lib/vtx-combogrid/index.js.map +1 -1
  31. package/lib/vtx-combogrid/style/css.js +7 -0
  32. package/lib/vtx-combogrid/style/css.js.map +1 -1
  33. package/lib/vtx-combogrid/style/index.js +7 -0
  34. package/lib/vtx-combogrid/style/index.js.map +1 -1
  35. package/lib/vtx-datagrid/Alert.js +11 -3
  36. package/lib/vtx-datagrid/Alert.js.map +1 -1
  37. package/lib/vtx-datagrid/ColumnSetting.js +44 -19
  38. package/lib/vtx-datagrid/ColumnSetting.js.map +1 -1
  39. package/lib/vtx-datagrid/ResizeableTitle.js +13 -2
  40. package/lib/vtx-datagrid/ResizeableTitle.js.map +1 -1
  41. package/lib/vtx-datagrid/index.js +142 -77
  42. package/lib/vtx-datagrid/index.js.map +1 -1
  43. package/lib/vtx-datagrid/renderColumnButtons.js +35 -5
  44. package/lib/vtx-datagrid/renderColumnButtons.js.map +1 -1
  45. package/lib/vtx-datagrid/style/css.js +10 -0
  46. package/lib/vtx-datagrid/style/css.js.map +1 -1
  47. package/lib/vtx-datagrid/style/index.css +0 -3
  48. package/lib/vtx-datagrid/style/index.js +10 -0
  49. package/lib/vtx-datagrid/style/index.js.map +1 -1
  50. package/lib/vtx-datagrid/style/index.less +1 -1
  51. package/lib/vtx-date-picker/QdatePicker.js +46 -16
  52. package/lib/vtx-date-picker/QdatePicker.js.map +1 -1
  53. package/lib/vtx-date-picker/generatePicker.js +47 -6
  54. package/lib/vtx-date-picker/generatePicker.js.map +1 -1
  55. package/lib/vtx-date-picker/index.js +5 -0
  56. package/lib/vtx-date-picker/index.js.map +1 -1
  57. package/lib/vtx-date-picker/style/css.js +1 -0
  58. package/lib/vtx-date-picker/style/css.js.map +1 -1
  59. package/lib/vtx-date-picker/style/index.js +1 -0
  60. package/lib/vtx-date-picker/style/index.js.map +1 -1
  61. package/lib/vtx-editor/index.js +23 -5
  62. package/lib/vtx-editor/index.js.map +1 -1
  63. package/lib/vtx-editor/style/css.js +1 -0
  64. package/lib/vtx-editor/style/css.js.map +1 -1
  65. package/lib/vtx-editor/style/index.js +1 -0
  66. package/lib/vtx-editor/style/index.js.map +1 -1
  67. package/lib/vtx-ellipsis-text/index.js +20 -6
  68. package/lib/vtx-ellipsis-text/index.js.map +1 -1
  69. package/lib/vtx-ellipsis-text/style/css.js +1 -0
  70. package/lib/vtx-ellipsis-text/style/css.js.map +1 -1
  71. package/lib/vtx-ellipsis-text/style/index.js +1 -0
  72. package/lib/vtx-ellipsis-text/style/index.js.map +1 -1
  73. package/lib/vtx-export/index.js +58 -25
  74. package/lib/vtx-export/index.js.map +1 -1
  75. package/lib/vtx-export/style/css.js +5 -0
  76. package/lib/vtx-export/style/css.js.map +1 -1
  77. package/lib/vtx-export/style/index.js +5 -0
  78. package/lib/vtx-export/style/index.js.map +1 -1
  79. package/lib/vtx-form-layout/Card.js +26 -5
  80. package/lib/vtx-form-layout/Card.js.map +1 -1
  81. package/lib/vtx-form-layout/Divider.js +8 -0
  82. package/lib/vtx-form-layout/Divider.js.map +1 -1
  83. package/lib/vtx-form-layout/FormItem.js +30 -8
  84. package/lib/vtx-form-layout/FormItem.js.map +1 -1
  85. package/lib/vtx-form-layout/Pane.js +7 -2
  86. package/lib/vtx-form-layout/Pane.js.map +1 -1
  87. package/lib/vtx-form-layout/Row.js +6 -0
  88. package/lib/vtx-form-layout/Row.js.map +1 -1
  89. package/lib/vtx-form-layout/context.js +2 -0
  90. package/lib/vtx-form-layout/context.js.map +1 -1
  91. package/lib/vtx-form-layout/index.js +22 -8
  92. package/lib/vtx-form-layout/index.js.map +1 -1
  93. package/lib/vtx-form-layout/style/css.js +7 -0
  94. package/lib/vtx-form-layout/style/css.js.map +1 -1
  95. package/lib/vtx-form-layout/style/index.js +7 -0
  96. package/lib/vtx-form-layout/style/index.js.map +1 -1
  97. package/lib/vtx-image/Image.js +94 -58
  98. package/lib/vtx-image/Image.js.map +1 -1
  99. package/lib/vtx-image/Preview.js +51 -20
  100. package/lib/vtx-image/Preview.js.map +1 -1
  101. package/lib/vtx-image/PreviewGroup.js +40 -11
  102. package/lib/vtx-image/PreviewGroup.js.map +1 -1
  103. package/lib/vtx-image/index.js +6 -0
  104. package/lib/vtx-image/index.js.map +1 -1
  105. package/lib/vtx-image/style/css.js +1 -0
  106. package/lib/vtx-image/style/css.js.map +1 -1
  107. package/lib/vtx-image/style/index.js +1 -0
  108. package/lib/vtx-image/style/index.js.map +1 -1
  109. package/lib/vtx-image/style/index.less +76 -76
  110. package/lib/vtx-import/index.js +72 -37
  111. package/lib/vtx-import/index.js.map +1 -1
  112. package/lib/vtx-import/result.js +24 -7
  113. package/lib/vtx-import/result.js.map +1 -1
  114. package/lib/vtx-import/style/css.js +3 -0
  115. package/lib/vtx-import/style/css.js.map +1 -1
  116. package/lib/vtx-import/style/index.js +3 -0
  117. package/lib/vtx-import/style/index.js.map +1 -1
  118. package/lib/vtx-import2/CheckResult.js +6 -0
  119. package/lib/vtx-import2/CheckResult.js.map +1 -1
  120. package/lib/vtx-import2/Content.js +25 -4
  121. package/lib/vtx-import2/Content.js.map +1 -1
  122. package/lib/vtx-import2/DownloadSvg.js +4 -0
  123. package/lib/vtx-import2/DownloadSvg.js.map +1 -1
  124. package/lib/vtx-import2/ImportResult.js +11 -5
  125. package/lib/vtx-import2/ImportResult.js.map +1 -1
  126. package/lib/vtx-import2/UploadSvg.js +4 -0
  127. package/lib/vtx-import2/UploadSvg.js.map +1 -1
  128. package/lib/vtx-import2/index.js +92 -38
  129. package/lib/vtx-import2/index.js.map +1 -1
  130. package/lib/vtx-import2/style/css.js +3 -0
  131. package/lib/vtx-import2/style/css.js.map +1 -1
  132. package/lib/vtx-import2/style/index.js +3 -0
  133. package/lib/vtx-import2/style/index.js.map +1 -1
  134. package/lib/vtx-input/TextArea.js +22 -6
  135. package/lib/vtx-input/TextArea.js.map +1 -1
  136. package/lib/vtx-input/index.js +37 -11
  137. package/lib/vtx-input/index.js.map +1 -1
  138. package/lib/vtx-input/style/css.js +1 -0
  139. package/lib/vtx-input/style/css.js.map +1 -1
  140. package/lib/vtx-input/style/index.js +1 -0
  141. package/lib/vtx-input/style/index.js.map +1 -1
  142. package/lib/vtx-input/useLength.js +16 -4
  143. package/lib/vtx-input/useLength.js.map +1 -1
  144. package/lib/vtx-modal/Title.js +6 -1
  145. package/lib/vtx-modal/Title.js.map +1 -1
  146. package/lib/vtx-modal/index.js +70 -30
  147. package/lib/vtx-modal/index.js.map +1 -1
  148. package/lib/vtx-modal/style/css.js +1 -0
  149. package/lib/vtx-modal/style/css.js.map +1 -1
  150. package/lib/vtx-modal/style/index.js +1 -0
  151. package/lib/vtx-modal/style/index.js.map +1 -1
  152. package/lib/vtx-page-layout/Basic.js +6 -2
  153. package/lib/vtx-page-layout/Basic.js.map +1 -1
  154. package/lib/vtx-page-layout/Content.js +19 -7
  155. package/lib/vtx-page-layout/Content.js.map +1 -1
  156. package/lib/vtx-page-layout/Pane.js +10 -2
  157. package/lib/vtx-page-layout/Pane.js.map +1 -1
  158. package/lib/vtx-page-layout/TableLayout.js +47 -17
  159. package/lib/vtx-page-layout/TableLayout.js.map +1 -1
  160. package/lib/vtx-page-layout/TableWrap.js +15 -3
  161. package/lib/vtx-page-layout/TableWrap.js.map +1 -1
  162. package/lib/vtx-page-layout/container.js +34 -4
  163. package/lib/vtx-page-layout/container.js.map +1 -1
  164. package/lib/vtx-page-layout/index.js +8 -0
  165. package/lib/vtx-page-layout/index.js.map +1 -1
  166. package/lib/vtx-rps-frame/index.js +44 -21
  167. package/lib/vtx-rps-frame/index.js.map +1 -1
  168. package/lib/vtx-scrollable-row/index.js +57 -19
  169. package/lib/vtx-scrollable-row/index.js.map +1 -1
  170. package/lib/vtx-search/VtxCol.js +21 -0
  171. package/lib/vtx-search/VtxCol.js.map +1 -1
  172. package/lib/vtx-search/VtxRow.js +12 -6
  173. package/lib/vtx-search/VtxRow.js.map +1 -1
  174. package/lib/vtx-search/index.js +93 -40
  175. package/lib/vtx-search/index.js.map +1 -1
  176. package/lib/vtx-search/style/css.js +4 -0
  177. package/lib/vtx-search/style/css.js.map +1 -1
  178. package/lib/vtx-search/style/index.js +4 -0
  179. package/lib/vtx-search/style/index.js.map +1 -1
  180. package/lib/vtx-search-map-input/index.js +73 -42
  181. package/lib/vtx-search-map-input/index.js.map +1 -1
  182. package/lib/vtx-search-map-input/style/css.js +2 -0
  183. package/lib/vtx-search-map-input/style/css.js.map +1 -1
  184. package/lib/vtx-search-map-input/style/index.js +2 -0
  185. package/lib/vtx-search-map-input/style/index.js.map +1 -1
  186. package/lib/vtx-select/index.js +65 -20
  187. package/lib/vtx-select/index.js.map +1 -1
  188. package/lib/vtx-select/style/css.js +8 -0
  189. package/lib/vtx-select/style/css.js.map +1 -1
  190. package/lib/vtx-select/style/index.js +8 -0
  191. package/lib/vtx-select/style/index.js.map +1 -1
  192. package/lib/vtx-signature/index.js +28 -14
  193. package/lib/vtx-signature/index.js.map +1 -1
  194. package/lib/vtx-signature/style/css.js +2 -0
  195. package/lib/vtx-signature/style/css.js.map +1 -1
  196. package/lib/vtx-signature/style/index.js +2 -0
  197. package/lib/vtx-signature/style/index.js.map +1 -1
  198. package/lib/vtx-split-pane/Pane.js +14 -2
  199. package/lib/vtx-split-pane/Pane.js.map +1 -1
  200. package/lib/vtx-split-pane/Resizer.js +29 -9
  201. package/lib/vtx-split-pane/Resizer.js.map +1 -1
  202. package/lib/vtx-split-pane/SplitPane.js +94 -39
  203. package/lib/vtx-split-pane/SplitPane.js.map +1 -1
  204. package/lib/vtx-split-pane/index.js +4 -0
  205. package/lib/vtx-split-pane/index.js.map +1 -1
  206. package/lib/vtx-split-pane/style/css.js +3 -0
  207. package/lib/vtx-split-pane/style/css.js.map +1 -1
  208. package/lib/vtx-split-pane/style/index.js +3 -0
  209. package/lib/vtx-split-pane/style/index.js.map +1 -1
  210. package/lib/vtx-statistics-column/Back.js +7 -1
  211. package/lib/vtx-statistics-column/Back.js.map +1 -1
  212. package/lib/vtx-statistics-column/Item.js +22 -5
  213. package/lib/vtx-statistics-column/Item.js.map +1 -1
  214. package/lib/vtx-statistics-column/Total.js +22 -5
  215. package/lib/vtx-statistics-column/Total.js.map +1 -1
  216. package/lib/vtx-statistics-column/context.js +2 -0
  217. package/lib/vtx-statistics-column/context.js.map +1 -1
  218. package/lib/vtx-statistics-column/index.js +16 -0
  219. package/lib/vtx-statistics-column/index.js.map +1 -1
  220. package/lib/vtx-time-picker/index.js +16 -3
  221. package/lib/vtx-time-picker/index.js.map +1 -1
  222. package/lib/vtx-upload/FilePreview.js +28 -9
  223. package/lib/vtx-upload/FilePreview.js.map +1 -1
  224. package/lib/vtx-upload/index.js +138 -67
  225. package/lib/vtx-upload/index.js.map +1 -1
  226. package/lib/vtx-upload/style/css.js +5 -0
  227. package/lib/vtx-upload/style/css.js.map +1 -1
  228. package/lib/vtx-upload/style/index.js +5 -0
  229. package/lib/vtx-upload/style/index.js.map +1 -1
  230. package/lib/vtx-wang-editor/index.js +66 -27
  231. package/lib/vtx-wang-editor/index.js.map +1 -1
  232. package/lib/vtx-wang-editor/style/css.js +1 -0
  233. package/lib/vtx-wang-editor/style/css.js.map +1 -1
  234. package/lib/vtx-wang-editor/style/index.js +1 -0
  235. package/lib/vtx-wang-editor/style/index.js.map +1 -1
  236. package/lib/vtx-wang-editor/wangEditorUtil.js +88 -30
  237. package/lib/vtx-wang-editor/wangEditorUtil.js.map +1 -1
  238. package/lib/vtx-ztree/index.js +101 -49
  239. package/lib/vtx-ztree/index.js.map +1 -1
  240. package/lib/vtx-ztree/style/css.js +1 -0
  241. package/lib/vtx-ztree/style/css.js.map +1 -1
  242. package/lib/vtx-ztree/style/index.js +1 -0
  243. package/lib/vtx-ztree/style/index.js.map +1 -1
  244. package/lib/vtx-ztree-select/index.js +99 -43
  245. package/lib/vtx-ztree-select/index.js.map +1 -1
  246. package/lib/vtx-ztree-select/style/css.js +3 -0
  247. package/lib/vtx-ztree-select/style/css.js.map +1 -1
  248. package/lib/vtx-ztree-select/style/index.js +3 -0
  249. package/lib/vtx-ztree-select/style/index.js.map +1 -1
  250. package/package.json +126 -126
@@ -1,88 +1,112 @@
1
1
  "use strict";
2
2
 
3
3
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports["default"] = void 0;
9
+
8
10
  var _react = _interopRequireWildcard(require("react"));
11
+
9
12
  var _classnames2 = _interopRequireDefault(require("classnames"));
13
+
10
14
  var _propTypes = _interopRequireDefault(require("prop-types"));
15
+
11
16
  var _Preview = _interopRequireDefault(require("./Preview"));
17
+
12
18
  var _PreviewGroup = _interopRequireWildcard(require("./PreviewGroup"));
19
+
13
20
  var _useSet3 = _interopRequireDefault(require("../_util/useSet"));
21
+
14
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
23
+
15
24
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
+
16
26
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
+
17
28
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
29
+
18
30
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
31
+
19
32
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
33
+
20
34
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
35
+
21
36
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
37
+
22
38
  function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
39
+
23
40
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
41
+
24
42
  var defaultEmptyImageSrc = '';
25
43
  var defaultErrorImageSrc = '';
26
44
  var defaultEmptyText = '暂无图片';
27
45
  var defaultErrorText = '图片出错';
28
46
  var uuid = 0;
47
+
29
48
  function VtxImage(props) {
30
49
  var _React$useState = _react["default"].useState(function () {
31
- uuid += 1;
32
- return uuid;
33
- }),
34
- _React$useState2 = _slicedToArray(_React$useState, 1),
35
- currentId = _React$useState2[0];
50
+ uuid += 1;
51
+ return uuid;
52
+ }),
53
+ _React$useState2 = _slicedToArray(_React$useState, 1),
54
+ currentId = _React$useState2[0];
55
+
36
56
  var _useSet = (0, _useSet3["default"])({
37
- isError: false,
38
- // 图片是否加载失败
39
- isEmptyImageError: false,
40
- // 空白图片是否加载失败
41
- isErrorImageError: false,
42
- // 报错图片是否加载失败
43
- viewerVisible: false,
44
- // 是否查看
45
- visible: false,
46
- photo: undefined
47
- }),
48
- _useSet2 = _slicedToArray(_useSet, 2),
49
- state = _useSet2[0],
50
- setState = _useSet2[1];
57
+ isError: false,
58
+ // 图片是否加载失败
59
+ isEmptyImageError: false,
60
+ // 空白图片是否加载失败
61
+ isErrorImageError: false,
62
+ // 报错图片是否加载失败
63
+ viewerVisible: false,
64
+ // 是否查看
65
+ visible: false,
66
+ photo: undefined
67
+ }),
68
+ _useSet2 = _slicedToArray(_useSet, 2),
69
+ state = _useSet2[0],
70
+ setState = _useSet2[1];
71
+
51
72
  var isError = state.isError,
52
- isEmptyImageError = state.isEmptyImageError,
53
- isErrorImageError = state.isErrorImageError,
54
- visible = state.visible,
55
- photo = state.photo;
73
+ isEmptyImageError = state.isEmptyImageError,
74
+ isErrorImageError = state.isErrorImageError,
75
+ visible = state.visible,
76
+ photo = state.photo;
56
77
  var _props$prefixCls = props.prefixCls,
57
- prefixCls = _props$prefixCls === void 0 ? 'vtx-image' : _props$prefixCls,
58
- _props$preview = props.preview,
59
- preview = _props$preview === void 0 ? true : _props$preview,
60
- className = props.className,
61
- style = props.style,
62
- src = props.src,
63
- thumb = props.thumb,
64
- alt = props.alt,
65
- _props$emptyImageSrc = props.emptyImageSrc,
66
- emptyImageSrc = _props$emptyImageSrc === void 0 ? defaultEmptyImageSrc : _props$emptyImageSrc,
67
- _props$errorImageSrc = props.errorImageSrc,
68
- errorImageSrc = _props$errorImageSrc === void 0 ? defaultErrorImageSrc : _props$errorImageSrc,
69
- _props$emptyText = props.emptyText,
70
- emptyText = _props$emptyText === void 0 ? defaultEmptyText : _props$emptyText,
71
- _props$errorText = props.errorText,
72
- errorText = _props$errorText === void 0 ? defaultErrorText : _props$errorText,
73
- _onClick = props.onClick,
74
- aspectFit = props.aspectFit,
75
- _props$isDark = props.isDark,
76
- isDark = _props$isDark === void 0 ? false : _props$isDark;
78
+ prefixCls = _props$prefixCls === void 0 ? 'vtx-image' : _props$prefixCls,
79
+ _props$preview = props.preview,
80
+ preview = _props$preview === void 0 ? true : _props$preview,
81
+ className = props.className,
82
+ style = props.style,
83
+ src = props.src,
84
+ thumb = props.thumb,
85
+ alt = props.alt,
86
+ _props$emptyImageSrc = props.emptyImageSrc,
87
+ emptyImageSrc = _props$emptyImageSrc === void 0 ? defaultEmptyImageSrc : _props$emptyImageSrc,
88
+ _props$errorImageSrc = props.errorImageSrc,
89
+ errorImageSrc = _props$errorImageSrc === void 0 ? defaultErrorImageSrc : _props$errorImageSrc,
90
+ _props$emptyText = props.emptyText,
91
+ emptyText = _props$emptyText === void 0 ? defaultEmptyText : _props$emptyText,
92
+ _props$errorText = props.errorText,
93
+ errorText = _props$errorText === void 0 ? defaultErrorText : _props$errorText,
94
+ _onClick = props.onClick,
95
+ aspectFit = props.aspectFit,
96
+ _props$isDark = props.isDark,
97
+ isDark = _props$isDark === void 0 ? false : _props$isDark;
98
+
77
99
  var _useContext = (0, _react.useContext)(_PreviewGroup.context),
78
- isPreviewGroup = _useContext.isPreviewGroup,
79
- setCurrent = _useContext.setCurrent,
80
- setGroupShowPreview = _useContext.setShowPreview,
81
- registerImage = _useContext.registerImage;
100
+ isPreviewGroup = _useContext.isPreviewGroup,
101
+ setCurrent = _useContext.setCurrent,
102
+ setGroupShowPreview = _useContext.setShowPreview,
103
+ registerImage = _useContext.registerImage;
104
+
82
105
  (0, _react.useEffect)(function () {
83
106
  setState({
84
107
  isError: false
85
108
  });
109
+
86
110
  if (isPreviewGroup && preview) {
87
111
  registerImage({
88
112
  id: currentId,
@@ -90,9 +114,8 @@ function VtxImage(props) {
90
114
  alt: alt
91
115
  });
92
116
  }
93
- }, [src]);
117
+ }, [src]); // 图片props属性
94
118
 
95
- // 图片props属性
96
119
  var imgProps = {
97
120
  src: thumb || src,
98
121
  className: className,
@@ -102,7 +125,9 @@ function VtxImage(props) {
102
125
  if (!src || isError) {
103
126
  return null;
104
127
  }
128
+
105
129
  _onClick && _onClick();
130
+
106
131
  if (preview) {
107
132
  if (isPreviewGroup) {
108
133
  setCurrent(currentId);
@@ -123,13 +148,13 @@ function VtxImage(props) {
123
148
  isError: true
124
149
  });
125
150
  }
126
- };
151
+ }; // 无图片
127
152
 
128
- // 无图片
129
153
  if (!src) {
130
154
  // 有替代图片
131
155
  if (emptyImageSrc && !isEmptyImageError) {
132
156
  imgProps.src = emptyImageSrc;
157
+
133
158
  imgProps.onError = function () {
134
159
  setState({
135
160
  isEmptyImageError: true
@@ -142,13 +167,14 @@ function VtxImage(props) {
142
167
  style: style
143
168
  }, /*#__PURE__*/_react["default"].createElement("p", null, emptyText));
144
169
  }
145
- }
170
+ } // 图片出错
171
+
146
172
 
147
- // 图片出错
148
173
  if (isError) {
149
174
  if (errorImageSrc && !isErrorImageError) {
150
175
  imgProps['data-error-img'] = src;
151
176
  imgProps.src = errorImageSrc;
177
+
152
178
  imgProps.onError = function () {
153
179
  setState({
154
180
  isErrorImageError: true
@@ -163,13 +189,16 @@ function VtxImage(props) {
163
189
  }, /*#__PURE__*/_react["default"].createElement("p", null, errorText));
164
190
  }
165
191
  }
166
- var imgRender = /*#__PURE__*/_react["default"].createElement("img", imgProps);
167
- // 缩放
192
+
193
+ var imgRender = /*#__PURE__*/_react["default"].createElement("img", imgProps); // 缩放
194
+
195
+
168
196
  if (src && !isError && aspectFit) {
169
197
  imgRender = /*#__PURE__*/_react["default"].createElement("div", {
170
198
  className: (0, _classnames2["default"])("".concat(prefixCls, "-aspectFit"), _defineProperty({}, "".concat(prefixCls, "-preview"), preview))
171
199
  }, /*#__PURE__*/_react["default"].createElement("img", imgProps));
172
200
  }
201
+
173
202
  return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, imgRender, !isPreviewGroup && preview && /*#__PURE__*/_react["default"].createElement(_Preview["default"], {
174
203
  visible: visible,
175
204
  photo: photo,
@@ -180,6 +209,7 @@ function VtxImage(props) {
180
209
  }
181
210
  }));
182
211
  }
212
+
183
213
  VtxImage.propTypes = {
184
214
  prefixCls: _propTypes["default"].string,
185
215
  className: _propTypes["default"].string,
@@ -197,24 +227,30 @@ VtxImage.propTypes = {
197
227
  isDark: _propTypes["default"].bool
198
228
  };
199
229
  VtxImage.setImageConfig = setImageConfig;
230
+
200
231
  function setImageConfig(options) {
201
232
  var emptyImageSrc = options.emptyImageSrc,
202
- errorImageSrc = options.errorImageSrc,
203
- emptyText = options.emptyText,
204
- errorText = options.errorText;
233
+ errorImageSrc = options.errorImageSrc,
234
+ emptyText = options.emptyText,
235
+ errorText = options.errorText;
236
+
205
237
  if (emptyImageSrc !== undefined) {
206
238
  defaultEmptyImageSrc = emptyImageSrc;
207
239
  }
240
+
208
241
  if (errorImageSrc !== undefined) {
209
242
  defaultErrorImageSrc = errorImageSrc;
210
243
  }
244
+
211
245
  if (emptyText !== undefined) {
212
246
  defaultEmptyText = emptyText;
213
247
  }
248
+
214
249
  if (errorText !== undefined) {
215
250
  defaultErrorText = errorText;
216
251
  }
217
252
  }
253
+
218
254
  VtxImage.PreviewGroup = _PreviewGroup["default"];
219
255
  VtxImage.VtxImagePreview = _Preview["default"];
220
256
  var _default = VtxImage;
@@ -1 +1 @@
1
- {"version":3,"file":"Image.js","names":["defaultEmptyImageSrc","defaultErrorImageSrc","defaultEmptyText","defaultErrorText","uuid","VtxImage","props","React","useState","currentId","useSet","isError","isEmptyImageError","isErrorImageError","viewerVisible","visible","photo","undefined","state","setState","prefixCls","preview","className","style","src","thumb","alt","emptyImageSrc","errorImageSrc","emptyText","errorText","onClick","aspectFit","isDark","useContext","context","isPreviewGroup","setCurrent","setGroupShowPreview","setShowPreview","registerImage","useEffect","id","imgProps","onError","imgRender","classnames","propTypes","PropTypes","string","object","bool","func","setImageConfig","options","PreviewGroup","VtxImagePreview","Preview"],"sources":["vtx-image/Image.jsx"],"sourcesContent":["import React, { useEffect, useContext } from 'react';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\n\nimport Preview from './Preview';\nimport PreviewGroup, { context } from './PreviewGroup';\nimport useSet from '../_util/useSet';\n\nlet defaultEmptyImageSrc = '';\nlet defaultErrorImageSrc = '';\nlet defaultEmptyText = '暂无图片';\nlet defaultErrorText = '图片出错';\n\nlet uuid = 0;\n\nfunction VtxImage(props) {\n const [currentId] = React.useState(() => {\n uuid += 1;\n return uuid;\n });\n\n const [state, setState] = useSet({\n isError: false, // 图片是否加载失败\n isEmptyImageError: false, // 空白图片是否加载失败\n isErrorImageError: false, // 报错图片是否加载失败\n viewerVisible: false, // 是否查看\n visible: false,\n photo: undefined,\n });\n const { isError, isEmptyImageError, isErrorImageError, visible, photo } = state;\n\n const {\n prefixCls = 'vtx-image',\n preview = true,\n className,\n style,\n src,\n thumb,\n alt,\n emptyImageSrc = defaultEmptyImageSrc,\n errorImageSrc = defaultErrorImageSrc,\n emptyText = defaultEmptyText,\n errorText = defaultErrorText,\n onClick,\n aspectFit,\n isDark = false,\n } = props;\n\n const {\n isPreviewGroup,\n setCurrent,\n setShowPreview: setGroupShowPreview,\n registerImage,\n } = useContext(context);\n\n useEffect(() => {\n setState({\n isError: false,\n });\n if (isPreviewGroup && preview) {\n registerImage({ id: currentId, src, alt });\n }\n }, [src]);\n\n // 图片props属性\n const imgProps = {\n src: thumb || src,\n className,\n style,\n alt,\n onClick: () => {\n if (!src || isError) {\n return null;\n }\n onClick && onClick();\n if (preview) {\n if (isPreviewGroup) {\n setCurrent(currentId);\n setGroupShowPreview(true);\n } else {\n setState({\n visible: true,\n photo: {\n src,\n alt,\n },\n });\n }\n }\n },\n onError: () => {\n setState({\n isError: true,\n });\n },\n };\n\n // 无图片\n if (!src) {\n // 有替代图片\n if (emptyImageSrc && !isEmptyImageError) {\n imgProps.src = emptyImageSrc;\n imgProps.onError = () => {\n setState({ isEmptyImageError: true });\n };\n } else {\n // 没有替代图片或替代图片无法加载\n return (\n <div className={`${prefixCls}-nodata${isDark ? '-dark' : ''}`} style={style}>\n <p>{emptyText}</p>\n </div>\n );\n }\n }\n\n // 图片出错\n if (isError) {\n if (errorImageSrc && !isErrorImageError) {\n imgProps['data-error-img'] = src;\n imgProps.src = errorImageSrc;\n imgProps.onError = () => {\n setState({ isErrorImageError: true });\n };\n } else {\n // 无法加载报错图片\n return (\n <div className={`${prefixCls}-error${isDark ? '-dark' : ''}`} data-error-img={src} style={style}>\n <p>{errorText}</p>\n </div>\n );\n }\n }\n\n let imgRender = <img {...imgProps} />;\n // 缩放\n if (src && !isError && aspectFit) {\n imgRender = (\n <div\n className={classnames(`${prefixCls}-aspectFit`, {\n [`${prefixCls}-preview`]: preview,\n })}\n >\n <img {...imgProps} />\n </div>\n );\n }\n return (\n <>\n {imgRender}\n {!isPreviewGroup && preview && (\n <Preview\n visible={visible}\n photo={photo}\n onClose={() => setState({ visible: false })}\n />\n )}\n </>\n );\n}\n\nVtxImage.propTypes = {\n prefixCls: PropTypes.string,\n className: PropTypes.string,\n style: PropTypes.object,\n preview: PropTypes.bool,\n src: PropTypes.string,\n thumb: PropTypes.string,\n alt: PropTypes.string,\n emptyImageSrc: PropTypes.string,\n errorImageSrc: PropTypes.string,\n emptyText: PropTypes.string,\n errorText: PropTypes.string,\n onClick: PropTypes.func,\n aspectFit: PropTypes.bool,\n isDark: PropTypes.bool,\n};\n\nVtxImage.setImageConfig = setImageConfig;\n\nfunction setImageConfig(options) {\n const { emptyImageSrc, errorImageSrc, emptyText, errorText } = options;\n\n if (emptyImageSrc !== undefined) {\n defaultEmptyImageSrc = emptyImageSrc;\n }\n if (errorImageSrc !== undefined) {\n defaultErrorImageSrc = errorImageSrc;\n }\n if (emptyText !== undefined) {\n defaultEmptyText = emptyText;\n }\n if (errorText !== undefined) {\n defaultErrorText = errorText;\n }\n}\n\nVtxImage.PreviewGroup = PreviewGroup;\nVtxImage.VtxImagePreview = Preview;\n\nexport default VtxImage;\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AAEA;AACA;AACA;AAAqC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAErC,IAAIA,oBAAoB,GAAG,EAAE;AAC7B,IAAIC,oBAAoB,GAAG,EAAE;AAC7B,IAAIC,gBAAgB,GAAG,MAAM;AAC7B,IAAIC,gBAAgB,GAAG,MAAM;AAE7B,IAAIC,IAAI,GAAG,CAAC;AAEZ,SAASC,QAAQ,CAACC,KAAK,EAAE;EACrB,sBAAoBC,iBAAK,CAACC,QAAQ,CAAC,YAAM;MACrCJ,IAAI,IAAI,CAAC;MACT,OAAOA,IAAI;IACf,CAAC,CAAC;IAAA;IAHKK,SAAS;EAKhB,cAA0B,IAAAC,mBAAM,EAAC;MAC7BC,OAAO,EAAE,KAAK;MAAE;MAChBC,iBAAiB,EAAE,KAAK;MAAE;MAC1BC,iBAAiB,EAAE,KAAK;MAAE;MAC1BC,aAAa,EAAE,KAAK;MAAE;MACtBC,OAAO,EAAE,KAAK;MACdC,KAAK,EAAEC;IACX,CAAC,CAAC;IAAA;IAPKC,KAAK;IAAEC,QAAQ;EAQtB,IAAQR,OAAO,GAA2DO,KAAK,CAAvEP,OAAO;IAAEC,iBAAiB,GAAwCM,KAAK,CAA9DN,iBAAiB;IAAEC,iBAAiB,GAAqBK,KAAK,CAA3CL,iBAAiB;IAAEE,OAAO,GAAYG,KAAK,CAAxBH,OAAO;IAAEC,KAAK,GAAKE,KAAK,CAAfF,KAAK;EAErE,uBAeIV,KAAK,CAdLc,SAAS;IAATA,SAAS,iCAAG,WAAW;IAAA,iBAcvBd,KAAK,CAbLe,OAAO;IAAPA,OAAO,+BAAG,IAAI;IACdC,SAAS,GAYThB,KAAK,CAZLgB,SAAS;IACTC,KAAK,GAWLjB,KAAK,CAXLiB,KAAK;IACLC,GAAG,GAUHlB,KAAK,CAVLkB,GAAG;IACHC,KAAK,GASLnB,KAAK,CATLmB,KAAK;IACLC,GAAG,GAQHpB,KAAK,CARLoB,GAAG;IAAA,uBAQHpB,KAAK,CAPLqB,aAAa;IAAbA,aAAa,qCAAG3B,oBAAoB;IAAA,uBAOpCM,KAAK,CANLsB,aAAa;IAAbA,aAAa,qCAAG3B,oBAAoB;IAAA,mBAMpCK,KAAK,CALLuB,SAAS;IAATA,SAAS,iCAAG3B,gBAAgB;IAAA,mBAK5BI,KAAK,CAJLwB,SAAS;IAATA,SAAS,iCAAG3B,gBAAgB;IAC5B4B,QAAO,GAGPzB,KAAK,CAHLyB,OAAO;IACPC,SAAS,GAET1B,KAAK,CAFL0B,SAAS;IAAA,gBAET1B,KAAK,CADL2B,MAAM;IAANA,MAAM,8BAAG,KAAK;EAGlB,kBAKI,IAAAC,iBAAU,EAACC,qBAAO,CAAC;IAJnBC,cAAc,eAAdA,cAAc;IACdC,UAAU,eAAVA,UAAU;IACMC,mBAAmB,eAAnCC,cAAc;IACdC,aAAa,eAAbA,aAAa;EAGjB,IAAAC,gBAAS,EAAC,YAAM;IACZtB,QAAQ,CAAC;MACLR,OAAO,EAAE;IACb,CAAC,CAAC;IACF,IAAIyB,cAAc,IAAIf,OAAO,EAAE;MAC3BmB,aAAa,CAAC;QAAEE,EAAE,EAAEjC,SAAS;QAAEe,GAAG,EAAHA,GAAG;QAAEE,GAAG,EAAHA;MAAI,CAAC,CAAC;IAC9C;EACJ,CAAC,EAAE,CAACF,GAAG,CAAC,CAAC;;EAET;EACA,IAAMmB,QAAQ,GAAG;IACbnB,GAAG,EAAEC,KAAK,IAAID,GAAG;IACjBF,SAAS,EAATA,SAAS;IACTC,KAAK,EAALA,KAAK;IACLG,GAAG,EAAHA,GAAG;IACHK,OAAO,EAAE,mBAAM;MACX,IAAI,CAACP,GAAG,IAAIb,OAAO,EAAE;QACjB,OAAO,IAAI;MACf;MACAoB,QAAO,IAAIA,QAAO,EAAE;MACpB,IAAIV,OAAO,EAAE;QACT,IAAIe,cAAc,EAAE;UAChBC,UAAU,CAAC5B,SAAS,CAAC;UACrB6B,mBAAmB,CAAC,IAAI,CAAC;QAC7B,CAAC,MAAM;UACHnB,QAAQ,CAAC;YACLJ,OAAO,EAAE,IAAI;YACbC,KAAK,EAAE;cACHQ,GAAG,EAAHA,GAAG;cACHE,GAAG,EAAHA;YACJ;UACJ,CAAC,CAAC;QACN;MACJ;IACJ,CAAC;IACDkB,OAAO,EAAE,mBAAM;MACXzB,QAAQ,CAAC;QACLR,OAAO,EAAE;MACb,CAAC,CAAC;IACN;EACJ,CAAC;;EAED;EACA,IAAI,CAACa,GAAG,EAAE;IACN;IACA,IAAIG,aAAa,IAAI,CAACf,iBAAiB,EAAE;MACrC+B,QAAQ,CAACnB,GAAG,GAAGG,aAAa;MAC5BgB,QAAQ,CAACC,OAAO,GAAG,YAAM;QACrBzB,QAAQ,CAAC;UAAEP,iBAAiB,EAAE;QAAK,CAAC,CAAC;MACzC,CAAC;IACL,CAAC,MAAM;MACH;MACA,oBACI;QAAK,SAAS,YAAKQ,SAAS,oBAAUa,MAAM,GAAG,OAAO,GAAG,EAAE,CAAG;QAAC,KAAK,EAAEV;MAAM,gBACxE,2CAAIM,SAAS,CAAK,CAChB;IAEd;EACJ;;EAEA;EACA,IAAIlB,OAAO,EAAE;IACT,IAAIiB,aAAa,IAAI,CAACf,iBAAiB,EAAE;MACrC8B,QAAQ,CAAC,gBAAgB,CAAC,GAAGnB,GAAG;MAChCmB,QAAQ,CAACnB,GAAG,GAAGI,aAAa;MAC5Be,QAAQ,CAACC,OAAO,GAAG,YAAM;QACrBzB,QAAQ,CAAC;UAAEN,iBAAiB,EAAE;QAAK,CAAC,CAAC;MACzC,CAAC;IACL,CAAC,MAAM;MACH;MACA,oBACI;QAAK,SAAS,YAAKO,SAAS,mBAASa,MAAM,GAAG,OAAO,GAAG,EAAE,CAAG;QAAC,kBAAgBT,GAAI;QAAC,KAAK,EAAED;MAAM,gBAC5F,2CAAIO,SAAS,CAAK,CAChB;IAEd;EACJ;EAEA,IAAIe,SAAS,gBAAG,uCAASF,QAAQ,CAAI;EACrC;EACA,IAAInB,GAAG,IAAI,CAACb,OAAO,IAAIqB,SAAS,EAAE;IAC9Ba,SAAS,gBACL;MACI,SAAS,EAAE,IAAAC,uBAAU,YAAI1B,SAAS,+CAC1BA,SAAS,eAAaC,OAAO;IAClC,gBAEH,uCAASsB,QAAQ,CAAI,CAE5B;EACL;EACA,oBACI,kEACKE,SAAS,EACT,CAACT,cAAc,IAAIf,OAAO,iBACvB,gCAAC,mBAAO;IACJ,OAAO,EAAEN,OAAQ;IACjB,KAAK,EAAEC,KAAM;IACb,OAAO,EAAE;MAAA,OAAMG,QAAQ,CAAC;QAAEJ,OAAO,EAAE;MAAM,CAAC,CAAC;IAAA;EAAC,EAEnD,CACF;AAEX;AAEAV,QAAQ,CAAC0C,SAAS,GAAG;EACjB3B,SAAS,EAAE4B,qBAAS,CAACC,MAAM;EAC3B3B,SAAS,EAAE0B,qBAAS,CAACC,MAAM;EAC3B1B,KAAK,EAAEyB,qBAAS,CAACE,MAAM;EACvB7B,OAAO,EAAE2B,qBAAS,CAACG,IAAI;EACvB3B,GAAG,EAAEwB,qBAAS,CAACC,MAAM;EACrBxB,KAAK,EAAEuB,qBAAS,CAACC,MAAM;EACvBvB,GAAG,EAAEsB,qBAAS,CAACC,MAAM;EACrBtB,aAAa,EAAEqB,qBAAS,CAACC,MAAM;EAC/BrB,aAAa,EAAEoB,qBAAS,CAACC,MAAM;EAC/BpB,SAAS,EAAEmB,qBAAS,CAACC,MAAM;EAC3BnB,SAAS,EAAEkB,qBAAS,CAACC,MAAM;EAC3BlB,OAAO,EAAEiB,qBAAS,CAACI,IAAI;EACvBpB,SAAS,EAAEgB,qBAAS,CAACG,IAAI;EACzBlB,MAAM,EAAEe,qBAAS,CAACG;AACtB,CAAC;AAED9C,QAAQ,CAACgD,cAAc,GAAGA,cAAc;AAExC,SAASA,cAAc,CAACC,OAAO,EAAE;EAC7B,IAAQ3B,aAAa,GAA0C2B,OAAO,CAA9D3B,aAAa;IAAEC,aAAa,GAA2B0B,OAAO,CAA/C1B,aAAa;IAAEC,SAAS,GAAgByB,OAAO,CAAhCzB,SAAS;IAAEC,SAAS,GAAKwB,OAAO,CAArBxB,SAAS;EAE1D,IAAIH,aAAa,KAAKV,SAAS,EAAE;IAC7BjB,oBAAoB,GAAG2B,aAAa;EACxC;EACA,IAAIC,aAAa,KAAKX,SAAS,EAAE;IAC7BhB,oBAAoB,GAAG2B,aAAa;EACxC;EACA,IAAIC,SAAS,KAAKZ,SAAS,EAAE;IACzBf,gBAAgB,GAAG2B,SAAS;EAChC;EACA,IAAIC,SAAS,KAAKb,SAAS,EAAE;IACzBd,gBAAgB,GAAG2B,SAAS;EAChC;AACJ;AAEAzB,QAAQ,CAACkD,YAAY,GAAGA,wBAAY;AACpClD,QAAQ,CAACmD,eAAe,GAAGC,mBAAO;AAAC,eAEpBpD,QAAQ;AAAA"}
1
+ {"version":3,"file":"Image.js","names":["defaultEmptyImageSrc","defaultErrorImageSrc","defaultEmptyText","defaultErrorText","uuid","VtxImage","props","React","useState","currentId","useSet","isError","isEmptyImageError","isErrorImageError","viewerVisible","visible","photo","undefined","state","setState","prefixCls","preview","className","style","src","thumb","alt","emptyImageSrc","errorImageSrc","emptyText","errorText","onClick","aspectFit","isDark","useContext","context","isPreviewGroup","setCurrent","setGroupShowPreview","setShowPreview","registerImage","useEffect","id","imgProps","onError","imgRender","classnames","propTypes","PropTypes","string","object","bool","func","setImageConfig","options","PreviewGroup","VtxImagePreview","Preview"],"sources":["vtx-image/Image.jsx"],"sourcesContent":["import React, { useEffect, useContext } from 'react';\r\nimport classnames from 'classnames';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport Preview from './Preview';\r\nimport PreviewGroup, { context } from './PreviewGroup';\r\nimport useSet from '../_util/useSet';\r\n\r\nlet defaultEmptyImageSrc = '';\r\nlet defaultErrorImageSrc = '';\r\nlet defaultEmptyText = '暂无图片';\r\nlet defaultErrorText = '图片出错';\r\n\r\nlet uuid = 0;\r\n\r\nfunction VtxImage(props) {\r\n const [currentId] = React.useState(() => {\r\n uuid += 1;\r\n return uuid;\r\n });\r\n\r\n const [state, setState] = useSet({\r\n isError: false, // 图片是否加载失败\r\n isEmptyImageError: false, // 空白图片是否加载失败\r\n isErrorImageError: false, // 报错图片是否加载失败\r\n viewerVisible: false, // 是否查看\r\n visible: false,\r\n photo: undefined,\r\n });\r\n const { isError, isEmptyImageError, isErrorImageError, visible, photo } = state;\r\n\r\n const {\r\n prefixCls = 'vtx-image',\r\n preview = true,\r\n className,\r\n style,\r\n src,\r\n thumb,\r\n alt,\r\n emptyImageSrc = defaultEmptyImageSrc,\r\n errorImageSrc = defaultErrorImageSrc,\r\n emptyText = defaultEmptyText,\r\n errorText = defaultErrorText,\r\n onClick,\r\n aspectFit,\r\n isDark = false,\r\n } = props;\r\n\r\n const {\r\n isPreviewGroup,\r\n setCurrent,\r\n setShowPreview: setGroupShowPreview,\r\n registerImage,\r\n } = useContext(context);\r\n\r\n useEffect(() => {\r\n setState({\r\n isError: false,\r\n });\r\n if (isPreviewGroup && preview) {\r\n registerImage({ id: currentId, src, alt });\r\n }\r\n }, [src]);\r\n\r\n // 图片props属性\r\n const imgProps = {\r\n src: thumb || src,\r\n className,\r\n style,\r\n alt,\r\n onClick: () => {\r\n if (!src || isError) {\r\n return null;\r\n }\r\n onClick && onClick();\r\n if (preview) {\r\n if (isPreviewGroup) {\r\n setCurrent(currentId);\r\n setGroupShowPreview(true);\r\n } else {\r\n setState({\r\n visible: true,\r\n photo: {\r\n src,\r\n alt,\r\n },\r\n });\r\n }\r\n }\r\n },\r\n onError: () => {\r\n setState({\r\n isError: true,\r\n });\r\n },\r\n };\r\n\r\n // 无图片\r\n if (!src) {\r\n // 有替代图片\r\n if (emptyImageSrc && !isEmptyImageError) {\r\n imgProps.src = emptyImageSrc;\r\n imgProps.onError = () => {\r\n setState({ isEmptyImageError: true });\r\n };\r\n } else {\r\n // 没有替代图片或替代图片无法加载\r\n return (\r\n <div className={`${prefixCls}-nodata${isDark ? '-dark' : ''}`} style={style}>\r\n <p>{emptyText}</p>\r\n </div>\r\n );\r\n }\r\n }\r\n\r\n // 图片出错\r\n if (isError) {\r\n if (errorImageSrc && !isErrorImageError) {\r\n imgProps['data-error-img'] = src;\r\n imgProps.src = errorImageSrc;\r\n imgProps.onError = () => {\r\n setState({ isErrorImageError: true });\r\n };\r\n } else {\r\n // 无法加载报错图片\r\n return (\r\n <div className={`${prefixCls}-error${isDark ? '-dark' : ''}`} data-error-img={src} style={style}>\r\n <p>{errorText}</p>\r\n </div>\r\n );\r\n }\r\n }\r\n\r\n let imgRender = <img {...imgProps} />;\r\n // 缩放\r\n if (src && !isError && aspectFit) {\r\n imgRender = (\r\n <div\r\n className={classnames(`${prefixCls}-aspectFit`, {\r\n [`${prefixCls}-preview`]: preview,\r\n })}\r\n >\r\n <img {...imgProps} />\r\n </div>\r\n );\r\n }\r\n return (\r\n <>\r\n {imgRender}\r\n {!isPreviewGroup && preview && (\r\n <Preview\r\n visible={visible}\r\n photo={photo}\r\n onClose={() => setState({ visible: false })}\r\n />\r\n )}\r\n </>\r\n );\r\n}\r\n\r\nVtxImage.propTypes = {\r\n prefixCls: PropTypes.string,\r\n className: PropTypes.string,\r\n style: PropTypes.object,\r\n preview: PropTypes.bool,\r\n src: PropTypes.string,\r\n thumb: PropTypes.string,\r\n alt: PropTypes.string,\r\n emptyImageSrc: PropTypes.string,\r\n errorImageSrc: PropTypes.string,\r\n emptyText: PropTypes.string,\r\n errorText: PropTypes.string,\r\n onClick: PropTypes.func,\r\n aspectFit: PropTypes.bool,\r\n isDark: PropTypes.bool,\r\n};\r\n\r\nVtxImage.setImageConfig = setImageConfig;\r\n\r\nfunction setImageConfig(options) {\r\n const { emptyImageSrc, errorImageSrc, emptyText, errorText } = options;\r\n\r\n if (emptyImageSrc !== undefined) {\r\n defaultEmptyImageSrc = emptyImageSrc;\r\n }\r\n if (errorImageSrc !== undefined) {\r\n defaultErrorImageSrc = errorImageSrc;\r\n }\r\n if (emptyText !== undefined) {\r\n defaultEmptyText = emptyText;\r\n }\r\n if (errorText !== undefined) {\r\n defaultErrorText = errorText;\r\n }\r\n}\r\n\r\nVtxImage.PreviewGroup = PreviewGroup;\r\nVtxImage.VtxImagePreview = Preview;\r\n\r\nexport default VtxImage;\r\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAIA,oBAAoB,GAAG,EAA3B;AACA,IAAIC,oBAAoB,GAAG,EAA3B;AACA,IAAIC,gBAAgB,GAAG,MAAvB;AACA,IAAIC,gBAAgB,GAAG,MAAvB;AAEA,IAAIC,IAAI,GAAG,CAAX;;AAEA,SAASC,QAAT,CAAkBC,KAAlB,EAAyB;EACrB,sBAAoBC,iBAAA,CAAMC,QAAN,CAAe,YAAM;IACrCJ,IAAI,IAAI,CAAR;IACA,OAAOA,IAAP;EACH,CAHmB,CAApB;EAAA;EAAA,IAAOK,SAAP;;EAKA,cAA0B,IAAAC,mBAAA,EAAO;IAC7BC,OAAO,EAAE,KADoB;IACb;IAChBC,iBAAiB,EAAE,KAFU;IAEH;IAC1BC,iBAAiB,EAAE,KAHU;IAGH;IAC1BC,aAAa,EAAE,KAJc;IAIP;IACtBC,OAAO,EAAE,KALoB;IAM7BC,KAAK,EAAEC;EANsB,CAAP,CAA1B;EAAA;EAAA,IAAOC,KAAP;EAAA,IAAcC,QAAd;;EAQA,IAAQR,OAAR,GAA0EO,KAA1E,CAAQP,OAAR;EAAA,IAAiBC,iBAAjB,GAA0EM,KAA1E,CAAiBN,iBAAjB;EAAA,IAAoCC,iBAApC,GAA0EK,KAA1E,CAAoCL,iBAApC;EAAA,IAAuDE,OAAvD,GAA0EG,KAA1E,CAAuDH,OAAvD;EAAA,IAAgEC,KAAhE,GAA0EE,KAA1E,CAAgEF,KAAhE;EAEA,uBAeIV,KAfJ,CACIc,SADJ;EAAA,IACIA,SADJ,iCACgB,WADhB;EAAA,qBAeId,KAfJ,CAEIe,OAFJ;EAAA,IAEIA,OAFJ,+BAEc,IAFd;EAAA,IAGIC,SAHJ,GAeIhB,KAfJ,CAGIgB,SAHJ;EAAA,IAIIC,KAJJ,GAeIjB,KAfJ,CAIIiB,KAJJ;EAAA,IAKIC,GALJ,GAeIlB,KAfJ,CAKIkB,GALJ;EAAA,IAMIC,KANJ,GAeInB,KAfJ,CAMImB,KANJ;EAAA,IAOIC,GAPJ,GAeIpB,KAfJ,CAOIoB,GAPJ;EAAA,2BAeIpB,KAfJ,CAQIqB,aARJ;EAAA,IAQIA,aARJ,qCAQoB3B,oBARpB;EAAA,2BAeIM,KAfJ,CASIsB,aATJ;EAAA,IASIA,aATJ,qCASoB3B,oBATpB;EAAA,uBAeIK,KAfJ,CAUIuB,SAVJ;EAAA,IAUIA,SAVJ,iCAUgB3B,gBAVhB;EAAA,uBAeII,KAfJ,CAWIwB,SAXJ;EAAA,IAWIA,SAXJ,iCAWgB3B,gBAXhB;EAAA,IAYI4B,QAZJ,GAeIzB,KAfJ,CAYIyB,OAZJ;EAAA,IAaIC,SAbJ,GAeI1B,KAfJ,CAaI0B,SAbJ;EAAA,oBAeI1B,KAfJ,CAcI2B,MAdJ;EAAA,IAcIA,MAdJ,8BAca,KAdb;;EAiBA,kBAKI,IAAAC,iBAAA,EAAWC,qBAAX,CALJ;EAAA,IACIC,cADJ,eACIA,cADJ;EAAA,IAEIC,UAFJ,eAEIA,UAFJ;EAAA,IAGoBC,mBAHpB,eAGIC,cAHJ;EAAA,IAIIC,aAJJ,eAIIA,aAJJ;;EAOA,IAAAC,gBAAA,EAAU,YAAM;IACZtB,QAAQ,CAAC;MACLR,OAAO,EAAE;IADJ,CAAD,CAAR;;IAGA,IAAIyB,cAAc,IAAIf,OAAtB,EAA+B;MAC3BmB,aAAa,CAAC;QAAEE,EAAE,EAAEjC,SAAN;QAAiBe,GAAG,EAAHA,GAAjB;QAAsBE,GAAG,EAAHA;MAAtB,CAAD,CAAb;IACH;EACJ,CAPD,EAOG,CAACF,GAAD,CAPH,EAxCqB,CAiDrB;;EACA,IAAMmB,QAAQ,GAAG;IACbnB,GAAG,EAAEC,KAAK,IAAID,GADD;IAEbF,SAAS,EAATA,SAFa;IAGbC,KAAK,EAALA,KAHa;IAIbG,GAAG,EAAHA,GAJa;IAKbK,OAAO,EAAE,mBAAM;MACX,IAAI,CAACP,GAAD,IAAQb,OAAZ,EAAqB;QACjB,OAAO,IAAP;MACH;;MACDoB,QAAO,IAAIA,QAAO,EAAlB;;MACA,IAAIV,OAAJ,EAAa;QACT,IAAIe,cAAJ,EAAoB;UAChBC,UAAU,CAAC5B,SAAD,CAAV;UACA6B,mBAAmB,CAAC,IAAD,CAAnB;QACH,CAHD,MAGO;UACHnB,QAAQ,CAAC;YACLJ,OAAO,EAAE,IADJ;YAELC,KAAK,EAAE;cACHQ,GAAG,EAAHA,GADG;cAEHE,GAAG,EAAHA;YAFG;UAFF,CAAD,CAAR;QAOH;MACJ;IACJ,CAxBY;IAyBbkB,OAAO,EAAE,mBAAM;MACXzB,QAAQ,CAAC;QACLR,OAAO,EAAE;MADJ,CAAD,CAAR;IAGH;EA7BY,CAAjB,CAlDqB,CAkFrB;;EACA,IAAI,CAACa,GAAL,EAAU;IACN;IACA,IAAIG,aAAa,IAAI,CAACf,iBAAtB,EAAyC;MACrC+B,QAAQ,CAACnB,GAAT,GAAeG,aAAf;;MACAgB,QAAQ,CAACC,OAAT,GAAmB,YAAM;QACrBzB,QAAQ,CAAC;UAAEP,iBAAiB,EAAE;QAArB,CAAD,CAAR;MACH,CAFD;IAGH,CALD,MAKO;MACH;MACA,oBACI;QAAK,SAAS,YAAKQ,SAAL,oBAAwBa,MAAM,GAAG,OAAH,GAAa,EAA3C,CAAd;QAA+D,KAAK,EAAEV;MAAtE,gBACI,2CAAIM,SAAJ,CADJ,CADJ;IAKH;EACJ,CAlGoB,CAoGrB;;;EACA,IAAIlB,OAAJ,EAAa;IACT,IAAIiB,aAAa,IAAI,CAACf,iBAAtB,EAAyC;MACrC8B,QAAQ,CAAC,gBAAD,CAAR,GAA6BnB,GAA7B;MACAmB,QAAQ,CAACnB,GAAT,GAAeI,aAAf;;MACAe,QAAQ,CAACC,OAAT,GAAmB,YAAM;QACrBzB,QAAQ,CAAC;UAAEN,iBAAiB,EAAE;QAArB,CAAD,CAAR;MACH,CAFD;IAGH,CAND,MAMO;MACH;MACA,oBACI;QAAK,SAAS,YAAKO,SAAL,mBAAuBa,MAAM,GAAG,OAAH,GAAa,EAA1C,CAAd;QAA8D,kBAAgBT,GAA9E;QAAmF,KAAK,EAAED;MAA1F,gBACI,2CAAIO,SAAJ,CADJ,CADJ;IAKH;EACJ;;EAED,IAAIe,SAAS,gBAAG,uCAASF,QAAT,CAAhB,CAtHqB,CAuHrB;;;EACA,IAAInB,GAAG,IAAI,CAACb,OAAR,IAAmBqB,SAAvB,EAAkC;IAC9Ba,SAAS,gBACL;MACI,SAAS,EAAE,IAAAC,uBAAA,YAAc1B,SAAd,+CACHA,SADG,eACmBC,OADnB;IADf,gBAKI,uCAASsB,QAAT,CALJ,CADJ;EASH;;EACD,oBACI,kEACKE,SADL,EAEK,CAACT,cAAD,IAAmBf,OAAnB,iBACG,gCAAC,mBAAD;IACI,OAAO,EAAEN,OADb;IAEI,KAAK,EAAEC,KAFX;IAGI,OAAO,EAAE;MAAA,OAAMG,QAAQ,CAAC;QAAEJ,OAAO,EAAE;MAAX,CAAD,CAAd;IAAA;EAHb,EAHR,CADJ;AAYH;;AAEDV,QAAQ,CAAC0C,SAAT,GAAqB;EACjB3B,SAAS,EAAE4B,qBAAA,CAAUC,MADJ;EAEjB3B,SAAS,EAAE0B,qBAAA,CAAUC,MAFJ;EAGjB1B,KAAK,EAAEyB,qBAAA,CAAUE,MAHA;EAIjB7B,OAAO,EAAE2B,qBAAA,CAAUG,IAJF;EAKjB3B,GAAG,EAAEwB,qBAAA,CAAUC,MALE;EAMjBxB,KAAK,EAAEuB,qBAAA,CAAUC,MANA;EAOjBvB,GAAG,EAAEsB,qBAAA,CAAUC,MAPE;EAQjBtB,aAAa,EAAEqB,qBAAA,CAAUC,MARR;EASjBrB,aAAa,EAAEoB,qBAAA,CAAUC,MATR;EAUjBpB,SAAS,EAAEmB,qBAAA,CAAUC,MAVJ;EAWjBnB,SAAS,EAAEkB,qBAAA,CAAUC,MAXJ;EAYjBlB,OAAO,EAAEiB,qBAAA,CAAUI,IAZF;EAajBpB,SAAS,EAAEgB,qBAAA,CAAUG,IAbJ;EAcjBlB,MAAM,EAAEe,qBAAA,CAAUG;AAdD,CAArB;AAiBA9C,QAAQ,CAACgD,cAAT,GAA0BA,cAA1B;;AAEA,SAASA,cAAT,CAAwBC,OAAxB,EAAiC;EAC7B,IAAQ3B,aAAR,GAA+D2B,OAA/D,CAAQ3B,aAAR;EAAA,IAAuBC,aAAvB,GAA+D0B,OAA/D,CAAuB1B,aAAvB;EAAA,IAAsCC,SAAtC,GAA+DyB,OAA/D,CAAsCzB,SAAtC;EAAA,IAAiDC,SAAjD,GAA+DwB,OAA/D,CAAiDxB,SAAjD;;EAEA,IAAIH,aAAa,KAAKV,SAAtB,EAAiC;IAC7BjB,oBAAoB,GAAG2B,aAAvB;EACH;;EACD,IAAIC,aAAa,KAAKX,SAAtB,EAAiC;IAC7BhB,oBAAoB,GAAG2B,aAAvB;EACH;;EACD,IAAIC,SAAS,KAAKZ,SAAlB,EAA6B;IACzBf,gBAAgB,GAAG2B,SAAnB;EACH;;EACD,IAAIC,SAAS,KAAKb,SAAlB,EAA6B;IACzBd,gBAAgB,GAAG2B,SAAnB;EACH;AACJ;;AAEDzB,QAAQ,CAACkD,YAAT,GAAwBA,wBAAxB;AACAlD,QAAQ,CAACmD,eAAT,GAA2BC,mBAA3B;eAEepD,Q"}
@@ -1,58 +1,82 @@
1
1
  "use strict";
2
2
 
3
3
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports["default"] = Preview;
9
+
8
10
  var _react = _interopRequireWildcard(require("react"));
11
+
9
12
  var _viewerjs = _interopRequireDefault(require("viewerjs"));
13
+
10
14
  var _propTypes = _interopRequireDefault(require("prop-types"));
15
+
11
16
  var _isObject = _interopRequireDefault(require("../_util/isObject"));
17
+
12
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
+
13
20
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
+
14
22
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
+
15
24
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
25
+
16
26
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
27
+
17
28
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
29
+
18
30
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
31
+
19
32
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
33
+
20
34
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
35
+
21
36
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
37
+
22
38
  function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
39
+
23
40
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
41
+
24
42
  // 单张
25
- var VIEWER = 'viewer';
26
- // 多张
43
+ var VIEWER = 'viewer'; // 多张
44
+
27
45
  var GALLERY = 'gallery';
46
+
28
47
  function checkMode(x) {
29
48
  var mode = '';
49
+
30
50
  if ((0, _isObject["default"])(x)) {
31
51
  mode = VIEWER;
32
52
  }
53
+
33
54
  if (Array.isArray(x)) {
34
55
  var len = x.length;
35
56
  mode = len == 0 ? '' : len == 1 ? VIEWER : GALLERY;
36
57
  }
58
+
37
59
  return mode;
38
60
  }
61
+
39
62
  function Preview(props) {
40
63
  var _useState = (0, _react.useState)(),
41
- _useState2 = _slicedToArray(_useState, 2),
42
- container = _useState2[0],
43
- setContainer = _useState2[1];
64
+ _useState2 = _slicedToArray(_useState, 2),
65
+ container = _useState2[0],
66
+ setContainer = _useState2[1];
67
+
44
68
  var _useState3 = (0, _react.useState)(),
45
- _useState4 = _slicedToArray(_useState3, 2),
46
- viewer = _useState4[0],
47
- setViewer = _useState4[1];
69
+ _useState4 = _slicedToArray(_useState3, 2),
70
+ viewer = _useState4[0],
71
+ setViewer = _useState4[1];
72
+
48
73
  var photo = props.photo,
49
- index = props.index,
50
- visible = props.visible,
51
- onClose = props.onClose,
52
- onIndexChange = props.onIndexChange,
53
- options = props.options;
74
+ index = props.index,
75
+ visible = props.visible,
76
+ onClose = props.onClose,
77
+ onIndexChange = props.onIndexChange,
78
+ options = props.options; // let container;
54
79
 
55
- // let container;
56
80
  (0, _react.useEffect)(function () {
57
81
  var viewerOption = _objectSpread({
58
82
  button: true,
@@ -75,6 +99,7 @@ function Preview(props) {
75
99
  // 图片是否可翻转
76
100
  transition: true
77
101
  }, options);
102
+
78
103
  var container = document.createElement('div');
79
104
  var viewer = new _viewerjs["default"](container, _objectSpread({
80
105
  url: function url(image) {
@@ -99,20 +124,24 @@ function Preview(props) {
99
124
  if (container.childNodes.length > 0) {
100
125
  container.innerHTML = '';
101
126
  }
127
+
102
128
  var mode = checkMode(photo);
103
- var newIndex = index;
104
- // 单张
129
+ var newIndex = index; // 单张
130
+
105
131
  if (mode === VIEWER) {
106
132
  newIndex = 0;
133
+
107
134
  var _ref = (0, _isObject["default"])(photo) ? photo : photo[0],
108
- src = _ref.src,
109
- alt = _ref.alt;
135
+ src = _ref.src,
136
+ alt = _ref.alt;
137
+
110
138
  var imgElem = document.createElement('img');
111
139
  imgElem.src = src;
112
140
  imgElem.alt = alt;
113
141
  container.appendChild(imgElem);
114
- }
115
- // 多张
142
+ } // 多张
143
+
144
+
116
145
  if (mode === GALLERY) {
117
146
  var len = photo.length - 1;
118
147
  newIndex = index < 0 ? 0 : index;
@@ -128,12 +157,14 @@ function Preview(props) {
128
157
  });
129
158
  container.appendChild(ulElem);
130
159
  }
160
+
131
161
  viewer.update();
132
162
  viewer.view(newIndex);
133
163
  }
134
164
  }, [visible]);
135
165
  return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null);
136
166
  }
167
+
137
168
  Preview.propTypes = {
138
169
  photo: _propTypes["default"].oneOfType([_propTypes["default"].object, _propTypes["default"].array]),
139
170
  index: _propTypes["default"].number,
@@ -1 +1 @@
1
- {"version":3,"file":"Preview.js","names":["VIEWER","GALLERY","checkMode","x","mode","isObject","Array","isArray","len","length","Preview","props","useState","container","setContainer","viewer","setViewer","photo","index","visible","onClose","onIndexChange","options","useEffect","viewerOption","button","navbar","title","toolbar","tooltip","movable","zoomable","rotatable","scalable","transition","document","createElement","Viewer","url","image","src","hidden","view","e","detail","destroy","childNodes","innerHTML","newIndex","alt","imgElem","appendChild","ulElem","map","item","liElem","update","propTypes","PropTypes","oneOfType","object","array","number","bool","func"],"sources":["vtx-image/Preview.jsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport Viewer from 'viewerjs';\nimport PropTypes from 'prop-types';\n\nimport isObject from '../_util/isObject';\n\n// 单张\nconst VIEWER = 'viewer';\n// 多张\nconst GALLERY = 'gallery';\nfunction checkMode(x) {\n let mode = '';\n if (isObject(x)) {\n mode = VIEWER;\n }\n if (Array.isArray(x)) {\n const len = x.length;\n mode = len == 0 ? '' : len == 1 ? VIEWER : GALLERY;\n }\n return mode;\n}\n\nexport default function Preview(props) {\n const [container, setContainer] = useState();\n const [viewer, setViewer] = useState();\n const { photo, index, visible, onClose, onIndexChange, options } = props;\n\n // let container;\n useEffect(() => {\n const viewerOption = {\n button: true, // 显示右上角关闭按钮\n navbar: false, // 显示缩略图导航\n title: true, // 显示当前图片的标题(现实 alt 属性及图片尺寸)\n toolbar: true, // 是否显示工具栏\n tooltip: true, // 显示缩放百分比\n movable: true, // 图片是否可移动\n zoomable: true, // 图片是否可缩放\n rotatable: true, // 图片是否可旋转\n scalable: true, // 图片是否可翻转\n transition: true, // 使用 CSS3 过度\n ...options,\n };\n\n const container = document.createElement('div');\n const viewer = new Viewer(container, {\n url(image) {\n return image.src;\n },\n // 关闭后\n hidden() {\n onClose && onClose();\n },\n view(e) {\n onIndexChange && onIndexChange(e.detail.index);\n },\n ...viewerOption,\n });\n setContainer(container);\n setViewer(viewer);\n return () => {\n viewer && viewer.destroy();\n };\n }, []);\n\n useEffect(() => {\n if (visible) {\n if (container.childNodes.length > 0) {\n container.innerHTML = '';\n }\n const mode = checkMode(photo);\n let newIndex = index;\n // 单张\n if (mode === VIEWER) {\n newIndex = 0;\n const { src, alt } = isObject(photo) ? photo : photo[0];\n const imgElem = document.createElement('img');\n imgElem.src = src;\n imgElem.alt = alt;\n container.appendChild(imgElem);\n }\n // 多张\n if (mode === GALLERY) {\n const len = photo.length - 1;\n newIndex = index < 0 ? 0 : index;\n newIndex = index > len ? len : index;\n const ulElem = document.createElement('ul');\n photo.map(item => {\n const liElem = document.createElement('li');\n const imgElem = document.createElement('img');\n imgElem.src = item.src;\n imgElem.alt = item.alt;\n liElem.appendChild(imgElem);\n ulElem.appendChild(liElem);\n });\n container.appendChild(ulElem);\n }\n viewer.update();\n viewer.view(newIndex);\n }\n }, [visible]);\n\n return <></>;\n}\n\nPreview.propTypes = {\n photo: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),\n index: PropTypes.number,\n visible: PropTypes.bool,\n onClose: PropTypes.func,\n onIndexChange: PropTypes.func,\n options: PropTypes.object,\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"Preview.js","names":["VIEWER","GALLERY","checkMode","x","mode","isObject","Array","isArray","len","length","Preview","props","useState","container","setContainer","viewer","setViewer","photo","index","visible","onClose","onIndexChange","options","useEffect","viewerOption","button","navbar","title","toolbar","tooltip","movable","zoomable","rotatable","scalable","transition","document","createElement","Viewer","url","image","src","hidden","view","e","detail","destroy","childNodes","innerHTML","newIndex","alt","imgElem","appendChild","ulElem","map","item","liElem","update","propTypes","PropTypes","oneOfType","object","array","number","bool","func"],"sources":["vtx-image/Preview.jsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport Viewer from 'viewerjs';\nimport PropTypes from 'prop-types';\n\nimport isObject from '../_util/isObject';\n\n// 单张\nconst VIEWER = 'viewer';\n// 多张\nconst GALLERY = 'gallery';\nfunction checkMode(x) {\n let mode = '';\n if (isObject(x)) {\n mode = VIEWER;\n }\n if (Array.isArray(x)) {\n const len = x.length;\n mode = len == 0 ? '' : len == 1 ? VIEWER : GALLERY;\n }\n return mode;\n}\n\nexport default function Preview(props) {\n const [container, setContainer] = useState();\n const [viewer, setViewer] = useState();\n const { photo, index, visible, onClose, onIndexChange, options } = props;\n\n // let container;\n useEffect(() => {\n const viewerOption = {\n button: true, // 显示右上角关闭按钮\n navbar: false, // 显示缩略图导航\n title: true, // 显示当前图片的标题(现实 alt 属性及图片尺寸)\n toolbar: true, // 是否显示工具栏\n tooltip: true, // 显示缩放百分比\n movable: true, // 图片是否可移动\n zoomable: true, // 图片是否可缩放\n rotatable: true, // 图片是否可旋转\n scalable: true, // 图片是否可翻转\n transition: true, // 使用 CSS3 过度\n ...options,\n };\n\n const container = document.createElement('div');\n const viewer = new Viewer(container, {\n url(image) {\n return image.src;\n },\n // 关闭后\n hidden() {\n onClose && onClose();\n },\n view(e) {\n onIndexChange && onIndexChange(e.detail.index);\n },\n ...viewerOption,\n });\n setContainer(container);\n setViewer(viewer);\n return () => {\n viewer && viewer.destroy();\n };\n }, []);\n\n useEffect(() => {\n if (visible) {\n if (container.childNodes.length > 0) {\n container.innerHTML = '';\n }\n const mode = checkMode(photo);\n let newIndex = index;\n // 单张\n if (mode === VIEWER) {\n newIndex = 0;\n const { src, alt } = isObject(photo) ? photo : photo[0];\n const imgElem = document.createElement('img');\n imgElem.src = src;\n imgElem.alt = alt;\n container.appendChild(imgElem);\n }\n // 多张\n if (mode === GALLERY) {\n const len = photo.length - 1;\n newIndex = index < 0 ? 0 : index;\n newIndex = index > len ? len : index;\n const ulElem = document.createElement('ul');\n photo.map(item => {\n const liElem = document.createElement('li');\n const imgElem = document.createElement('img');\n imgElem.src = item.src;\n imgElem.alt = item.alt;\n liElem.appendChild(imgElem);\n ulElem.appendChild(liElem);\n });\n container.appendChild(ulElem);\n }\n viewer.update();\n viewer.view(newIndex);\n }\n }, [visible]);\n\n return <></>;\n}\n\nPreview.propTypes = {\n photo: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),\n index: PropTypes.number,\n visible: PropTypes.bool,\n onClose: PropTypes.func,\n onIndexChange: PropTypes.func,\n options: PropTypes.object,\n};\n"],"mappings":"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"}