@vtx/components 3.1.30 → 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 (251) 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 +98 -59
  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.css +19 -0
  108. package/lib/vtx-image/style/index.js +1 -0
  109. package/lib/vtx-image/style/index.js.map +1 -1
  110. package/lib/vtx-image/style/index.less +76 -63
  111. package/lib/vtx-import/index.js +72 -37
  112. package/lib/vtx-import/index.js.map +1 -1
  113. package/lib/vtx-import/result.js +24 -7
  114. package/lib/vtx-import/result.js.map +1 -1
  115. package/lib/vtx-import/style/css.js +3 -0
  116. package/lib/vtx-import/style/css.js.map +1 -1
  117. package/lib/vtx-import/style/index.js +3 -0
  118. package/lib/vtx-import/style/index.js.map +1 -1
  119. package/lib/vtx-import2/CheckResult.js +6 -0
  120. package/lib/vtx-import2/CheckResult.js.map +1 -1
  121. package/lib/vtx-import2/Content.js +25 -4
  122. package/lib/vtx-import2/Content.js.map +1 -1
  123. package/lib/vtx-import2/DownloadSvg.js +4 -0
  124. package/lib/vtx-import2/DownloadSvg.js.map +1 -1
  125. package/lib/vtx-import2/ImportResult.js +11 -5
  126. package/lib/vtx-import2/ImportResult.js.map +1 -1
  127. package/lib/vtx-import2/UploadSvg.js +4 -0
  128. package/lib/vtx-import2/UploadSvg.js.map +1 -1
  129. package/lib/vtx-import2/index.js +92 -38
  130. package/lib/vtx-import2/index.js.map +1 -1
  131. package/lib/vtx-import2/style/css.js +3 -0
  132. package/lib/vtx-import2/style/css.js.map +1 -1
  133. package/lib/vtx-import2/style/index.js +3 -0
  134. package/lib/vtx-import2/style/index.js.map +1 -1
  135. package/lib/vtx-input/TextArea.js +22 -6
  136. package/lib/vtx-input/TextArea.js.map +1 -1
  137. package/lib/vtx-input/index.js +37 -11
  138. package/lib/vtx-input/index.js.map +1 -1
  139. package/lib/vtx-input/style/css.js +1 -0
  140. package/lib/vtx-input/style/css.js.map +1 -1
  141. package/lib/vtx-input/style/index.js +1 -0
  142. package/lib/vtx-input/style/index.js.map +1 -1
  143. package/lib/vtx-input/useLength.js +16 -4
  144. package/lib/vtx-input/useLength.js.map +1 -1
  145. package/lib/vtx-modal/Title.js +6 -1
  146. package/lib/vtx-modal/Title.js.map +1 -1
  147. package/lib/vtx-modal/index.js +70 -30
  148. package/lib/vtx-modal/index.js.map +1 -1
  149. package/lib/vtx-modal/style/css.js +1 -0
  150. package/lib/vtx-modal/style/css.js.map +1 -1
  151. package/lib/vtx-modal/style/index.js +1 -0
  152. package/lib/vtx-modal/style/index.js.map +1 -1
  153. package/lib/vtx-page-layout/Basic.js +6 -2
  154. package/lib/vtx-page-layout/Basic.js.map +1 -1
  155. package/lib/vtx-page-layout/Content.js +19 -7
  156. package/lib/vtx-page-layout/Content.js.map +1 -1
  157. package/lib/vtx-page-layout/Pane.js +10 -2
  158. package/lib/vtx-page-layout/Pane.js.map +1 -1
  159. package/lib/vtx-page-layout/TableLayout.js +47 -17
  160. package/lib/vtx-page-layout/TableLayout.js.map +1 -1
  161. package/lib/vtx-page-layout/TableWrap.js +15 -3
  162. package/lib/vtx-page-layout/TableWrap.js.map +1 -1
  163. package/lib/vtx-page-layout/container.js +34 -4
  164. package/lib/vtx-page-layout/container.js.map +1 -1
  165. package/lib/vtx-page-layout/index.js +8 -0
  166. package/lib/vtx-page-layout/index.js.map +1 -1
  167. package/lib/vtx-rps-frame/index.js +44 -21
  168. package/lib/vtx-rps-frame/index.js.map +1 -1
  169. package/lib/vtx-scrollable-row/index.js +57 -19
  170. package/lib/vtx-scrollable-row/index.js.map +1 -1
  171. package/lib/vtx-search/VtxCol.js +21 -0
  172. package/lib/vtx-search/VtxCol.js.map +1 -1
  173. package/lib/vtx-search/VtxRow.js +12 -6
  174. package/lib/vtx-search/VtxRow.js.map +1 -1
  175. package/lib/vtx-search/index.js +93 -40
  176. package/lib/vtx-search/index.js.map +1 -1
  177. package/lib/vtx-search/style/css.js +4 -0
  178. package/lib/vtx-search/style/css.js.map +1 -1
  179. package/lib/vtx-search/style/index.js +4 -0
  180. package/lib/vtx-search/style/index.js.map +1 -1
  181. package/lib/vtx-search-map-input/index.js +73 -42
  182. package/lib/vtx-search-map-input/index.js.map +1 -1
  183. package/lib/vtx-search-map-input/style/css.js +2 -0
  184. package/lib/vtx-search-map-input/style/css.js.map +1 -1
  185. package/lib/vtx-search-map-input/style/index.js +2 -0
  186. package/lib/vtx-search-map-input/style/index.js.map +1 -1
  187. package/lib/vtx-select/index.js +65 -20
  188. package/lib/vtx-select/index.js.map +1 -1
  189. package/lib/vtx-select/style/css.js +8 -0
  190. package/lib/vtx-select/style/css.js.map +1 -1
  191. package/lib/vtx-select/style/index.js +8 -0
  192. package/lib/vtx-select/style/index.js.map +1 -1
  193. package/lib/vtx-signature/index.js +28 -14
  194. package/lib/vtx-signature/index.js.map +1 -1
  195. package/lib/vtx-signature/style/css.js +2 -0
  196. package/lib/vtx-signature/style/css.js.map +1 -1
  197. package/lib/vtx-signature/style/index.js +2 -0
  198. package/lib/vtx-signature/style/index.js.map +1 -1
  199. package/lib/vtx-split-pane/Pane.js +14 -2
  200. package/lib/vtx-split-pane/Pane.js.map +1 -1
  201. package/lib/vtx-split-pane/Resizer.js +29 -9
  202. package/lib/vtx-split-pane/Resizer.js.map +1 -1
  203. package/lib/vtx-split-pane/SplitPane.js +94 -39
  204. package/lib/vtx-split-pane/SplitPane.js.map +1 -1
  205. package/lib/vtx-split-pane/index.js +4 -0
  206. package/lib/vtx-split-pane/index.js.map +1 -1
  207. package/lib/vtx-split-pane/style/css.js +3 -0
  208. package/lib/vtx-split-pane/style/css.js.map +1 -1
  209. package/lib/vtx-split-pane/style/index.js +3 -0
  210. package/lib/vtx-split-pane/style/index.js.map +1 -1
  211. package/lib/vtx-statistics-column/Back.js +7 -1
  212. package/lib/vtx-statistics-column/Back.js.map +1 -1
  213. package/lib/vtx-statistics-column/Item.js +22 -5
  214. package/lib/vtx-statistics-column/Item.js.map +1 -1
  215. package/lib/vtx-statistics-column/Total.js +22 -5
  216. package/lib/vtx-statistics-column/Total.js.map +1 -1
  217. package/lib/vtx-statistics-column/context.js +2 -0
  218. package/lib/vtx-statistics-column/context.js.map +1 -1
  219. package/lib/vtx-statistics-column/index.js +16 -0
  220. package/lib/vtx-statistics-column/index.js.map +1 -1
  221. package/lib/vtx-time-picker/index.js +16 -3
  222. package/lib/vtx-time-picker/index.js.map +1 -1
  223. package/lib/vtx-upload/FilePreview.js +28 -9
  224. package/lib/vtx-upload/FilePreview.js.map +1 -1
  225. package/lib/vtx-upload/index.js +138 -67
  226. package/lib/vtx-upload/index.js.map +1 -1
  227. package/lib/vtx-upload/style/css.js +5 -0
  228. package/lib/vtx-upload/style/css.js.map +1 -1
  229. package/lib/vtx-upload/style/index.js +5 -0
  230. package/lib/vtx-upload/style/index.js.map +1 -1
  231. package/lib/vtx-wang-editor/index.js +66 -27
  232. package/lib/vtx-wang-editor/index.js.map +1 -1
  233. package/lib/vtx-wang-editor/style/css.js +1 -0
  234. package/lib/vtx-wang-editor/style/css.js.map +1 -1
  235. package/lib/vtx-wang-editor/style/index.js +1 -0
  236. package/lib/vtx-wang-editor/style/index.js.map +1 -1
  237. package/lib/vtx-wang-editor/wangEditorUtil.js +88 -30
  238. package/lib/vtx-wang-editor/wangEditorUtil.js.map +1 -1
  239. package/lib/vtx-ztree/index.js +101 -49
  240. package/lib/vtx-ztree/index.js.map +1 -1
  241. package/lib/vtx-ztree/style/css.js +1 -0
  242. package/lib/vtx-ztree/style/css.js.map +1 -1
  243. package/lib/vtx-ztree/style/index.js +1 -0
  244. package/lib/vtx-ztree/style/index.js.map +1 -1
  245. package/lib/vtx-ztree-select/index.js +99 -43
  246. package/lib/vtx-ztree-select/index.js.map +1 -1
  247. package/lib/vtx-ztree-select/style/css.js +3 -0
  248. package/lib/vtx-ztree-select/style/css.js.map +1 -1
  249. package/lib/vtx-ztree-select/style/index.js +3 -0
  250. package/lib/vtx-ztree-select/style/index.js.map +1 -1
  251. package/package.json +126 -126
@@ -1,53 +1,79 @@
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.context = void 0;
8
9
  exports["default"] = PreviewGroup;
10
+
9
11
  var _react = _interopRequireWildcard(require("react"));
12
+
10
13
  var _propTypes = _interopRequireDefault(require("prop-types"));
14
+
11
15
  var _Preview = _interopRequireDefault(require("./Preview"));
16
+
12
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
18
+
13
19
  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); }
20
+
14
21
  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; }
22
+
15
23
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
24
+
16
25
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
26
+
17
27
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
28
+
18
29
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
30
+
19
31
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
32
+
20
33
  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."); }
34
+
21
35
  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); }
36
+
22
37
  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; }
38
+
23
39
  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; }
40
+
24
41
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
42
+
25
43
  var context = /*#__PURE__*/_react["default"].createContext({});
44
+
26
45
  exports.context = context;
27
46
  var Provider = context.Provider;
47
+
28
48
  function PreviewGroup(props) {
29
49
  var _useState = (0, _react.useState)([]),
30
- _useState2 = _slicedToArray(_useState, 2),
31
- photo = _useState2[0],
32
- setPhoto = _useState2[1];
50
+ _useState2 = _slicedToArray(_useState, 2),
51
+ photo = _useState2[0],
52
+ setPhoto = _useState2[1];
53
+
33
54
  var _useState3 = (0, _react.useState)(0),
34
- _useState4 = _slicedToArray(_useState3, 2),
35
- current = _useState4[0],
36
- setCurrent = _useState4[1];
55
+ _useState4 = _slicedToArray(_useState3, 2),
56
+ current = _useState4[0],
57
+ setCurrent = _useState4[1];
58
+
37
59
  var _useState5 = (0, _react.useState)(false),
38
- _useState6 = _slicedToArray(_useState5, 2),
39
- visible = _useState6[0],
40
- setVisible = _useState6[1];
60
+ _useState6 = _slicedToArray(_useState5, 2),
61
+ visible = _useState6[0],
62
+ setVisible = _useState6[1];
63
+
41
64
  var onIndexChange = props.onIndexChange;
65
+
42
66
  var registerImage = function registerImage(_ref) {
43
67
  var src = _ref.src,
44
- alt = _ref.alt,
45
- id = _ref.id;
68
+ alt = _ref.alt,
69
+ id = _ref.id;
46
70
  setPhoto(function (oldPhoto) {
47
71
  var newPhoto = _toConsumableArray(oldPhoto);
72
+
48
73
  var index = oldPhoto.findIndex(function (item) {
49
74
  return item.id === id;
50
75
  });
76
+
51
77
  if (index < 0) {
52
78
  newPhoto.push({
53
79
  src: src,
@@ -61,9 +87,11 @@ function PreviewGroup(props) {
61
87
  id: id
62
88
  };
63
89
  }
90
+
64
91
  return newPhoto;
65
92
  });
66
93
  };
94
+
67
95
  return /*#__PURE__*/_react["default"].createElement(Provider, {
68
96
  value: {
69
97
  isPreviewGroup: true,
@@ -84,6 +112,7 @@ function PreviewGroup(props) {
84
112
  onIndexChange: onIndexChange
85
113
  }));
86
114
  }
115
+
87
116
  PreviewGroup.propTypes = {
88
117
  children: _propTypes["default"].node,
89
118
  onIndexChange: _propTypes["default"].func
@@ -1 +1 @@
1
- {"version":3,"file":"PreviewGroup.js","names":["context","React","createContext","Provider","PreviewGroup","props","useState","photo","setPhoto","current","setCurrent","visible","setVisible","onIndexChange","registerImage","src","alt","id","oldPhoto","newPhoto","index","findIndex","item","push","isPreviewGroup","setShowPreview","children","propTypes","PropTypes","node","func"],"sources":["vtx-image/PreviewGroup.jsx"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport Preview from './Preview';\n\nexport const context = React.createContext({});\nconst { Provider } = context;\n\nexport default function PreviewGroup(props) {\n const [photo, setPhoto] = useState([]);\n const [current, setCurrent] = useState(0);\n const [visible, setVisible] = useState(false);\n\n const { onIndexChange } = props;\n\n const registerImage = ({ src, alt, id }) => {\n setPhoto(oldPhoto => {\n const newPhoto = [...oldPhoto];\n const index = oldPhoto.findIndex(item => item.id === id);\n if (index < 0) {\n newPhoto.push({ src, alt, id });\n } else {\n newPhoto[index] = { src, alt, id };\n }\n return newPhoto;\n });\n };\n\n return (\n <Provider\n value={{\n isPreviewGroup: true,\n current,\n setCurrent,\n setShowPreview: setVisible,\n registerImage,\n }}\n >\n {props.children}\n <Preview\n visible={visible}\n index={photo.findIndex(item => item.id === current)}\n photo={photo}\n onClose={() => setVisible(false)}\n onIndexChange={onIndexChange}\n />\n </Provider>\n );\n}\n\nPreviewGroup.propTypes = {\n children: PropTypes.node,\n onIndexChange: PropTypes.func,\n};\n"],"mappings":";;;;;;;;AAAA;AACA;AACA;AAAgC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEzB,IAAMA,OAAO,gBAAGC,iBAAK,CAACC,aAAa,CAAC,CAAC,CAAC,CAAC;AAAC;AAC/C,IAAQC,QAAQ,GAAKH,OAAO,CAApBG,QAAQ;AAED,SAASC,YAAY,CAACC,KAAK,EAAE;EACxC,gBAA0B,IAAAC,eAAQ,EAAC,EAAE,CAAC;IAAA;IAA/BC,KAAK;IAAEC,QAAQ;EACtB,iBAA8B,IAAAF,eAAQ,EAAC,CAAC,CAAC;IAAA;IAAlCG,OAAO;IAAEC,UAAU;EAC1B,iBAA8B,IAAAJ,eAAQ,EAAC,KAAK,CAAC;IAAA;IAAtCK,OAAO;IAAEC,UAAU;EAE1B,IAAQC,aAAa,GAAKR,KAAK,CAAvBQ,aAAa;EAErB,IAAMC,aAAa,GAAG,SAAhBA,aAAa,OAAyB;IAAA,IAAnBC,GAAG,QAAHA,GAAG;MAAEC,GAAG,QAAHA,GAAG;MAAEC,EAAE,QAAFA,EAAE;IACjCT,QAAQ,CAAC,UAAAU,QAAQ,EAAI;MACjB,IAAMC,QAAQ,sBAAOD,QAAQ,CAAC;MAC9B,IAAME,KAAK,GAAGF,QAAQ,CAACG,SAAS,CAAC,UAAAC,IAAI;QAAA,OAAIA,IAAI,CAACL,EAAE,KAAKA,EAAE;MAAA,EAAC;MACxD,IAAIG,KAAK,GAAG,CAAC,EAAE;QACXD,QAAQ,CAACI,IAAI,CAAC;UAAER,GAAG,EAAHA,GAAG;UAAEC,GAAG,EAAHA,GAAG;UAAEC,EAAE,EAAFA;QAAG,CAAC,CAAC;MACnC,CAAC,MAAM;QACHE,QAAQ,CAACC,KAAK,CAAC,GAAG;UAAEL,GAAG,EAAHA,GAAG;UAAEC,GAAG,EAAHA,GAAG;UAAEC,EAAE,EAAFA;QAAG,CAAC;MACtC;MACA,OAAOE,QAAQ;IACnB,CAAC,CAAC;EACN,CAAC;EAED,oBACI,gCAAC,QAAQ;IACL,KAAK,EAAE;MACHK,cAAc,EAAE,IAAI;MACpBf,OAAO,EAAPA,OAAO;MACPC,UAAU,EAAVA,UAAU;MACVe,cAAc,EAAEb,UAAU;MAC1BE,aAAa,EAAbA;IACJ;EAAE,GAEDT,KAAK,CAACqB,QAAQ,eACf,gCAAC,mBAAO;IACJ,OAAO,EAAEf,OAAQ;IACjB,KAAK,EAAEJ,KAAK,CAACc,SAAS,CAAC,UAAAC,IAAI;MAAA,OAAIA,IAAI,CAACL,EAAE,KAAKR,OAAO;IAAA,EAAE;IACpD,KAAK,EAAEF,KAAM;IACb,OAAO,EAAE;MAAA,OAAMK,UAAU,CAAC,KAAK,CAAC;IAAA,CAAC;IACjC,aAAa,EAAEC;EAAc,EAC/B,CACK;AAEnB;AAEAT,YAAY,CAACuB,SAAS,GAAG;EACrBD,QAAQ,EAAEE,qBAAS,CAACC,IAAI;EACxBhB,aAAa,EAAEe,qBAAS,CAACE;AAC7B,CAAC"}
1
+ {"version":3,"file":"PreviewGroup.js","names":["context","React","createContext","Provider","PreviewGroup","props","useState","photo","setPhoto","current","setCurrent","visible","setVisible","onIndexChange","registerImage","src","alt","id","oldPhoto","newPhoto","index","findIndex","item","push","isPreviewGroup","setShowPreview","children","propTypes","PropTypes","node","func"],"sources":["vtx-image/PreviewGroup.jsx"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport Preview from './Preview';\n\nexport const context = React.createContext({});\nconst { Provider } = context;\n\nexport default function PreviewGroup(props) {\n const [photo, setPhoto] = useState([]);\n const [current, setCurrent] = useState(0);\n const [visible, setVisible] = useState(false);\n\n const { onIndexChange } = props;\n\n const registerImage = ({ src, alt, id }) => {\n setPhoto(oldPhoto => {\n const newPhoto = [...oldPhoto];\n const index = oldPhoto.findIndex(item => item.id === id);\n if (index < 0) {\n newPhoto.push({ src, alt, id });\n } else {\n newPhoto[index] = { src, alt, id };\n }\n return newPhoto;\n });\n };\n\n return (\n <Provider\n value={{\n isPreviewGroup: true,\n current,\n setCurrent,\n setShowPreview: setVisible,\n registerImage,\n }}\n >\n {props.children}\n <Preview\n visible={visible}\n index={photo.findIndex(item => item.id === current)}\n photo={photo}\n onClose={() => setVisible(false)}\n onIndexChange={onIndexChange}\n />\n </Provider>\n );\n}\n\nPreviewGroup.propTypes = {\n children: PropTypes.node,\n onIndexChange: PropTypes.func,\n};\n"],"mappings":";;;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEO,IAAMA,OAAO,gBAAGC,iBAAA,CAAMC,aAAN,CAAoB,EAApB,CAAhB;;;AACP,IAAQC,QAAR,GAAqBH,OAArB,CAAQG,QAAR;;AAEe,SAASC,YAAT,CAAsBC,KAAtB,EAA6B;EACxC,gBAA0B,IAAAC,eAAA,EAAS,EAAT,CAA1B;EAAA;EAAA,IAAOC,KAAP;EAAA,IAAcC,QAAd;;EACA,iBAA8B,IAAAF,eAAA,EAAS,CAAT,CAA9B;EAAA;EAAA,IAAOG,OAAP;EAAA,IAAgBC,UAAhB;;EACA,iBAA8B,IAAAJ,eAAA,EAAS,KAAT,CAA9B;EAAA;EAAA,IAAOK,OAAP;EAAA,IAAgBC,UAAhB;;EAEA,IAAQC,aAAR,GAA0BR,KAA1B,CAAQQ,aAAR;;EAEA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,OAAsB;IAAA,IAAnBC,GAAmB,QAAnBA,GAAmB;IAAA,IAAdC,GAAc,QAAdA,GAAc;IAAA,IAATC,EAAS,QAATA,EAAS;IACxCT,QAAQ,CAAC,UAAAU,QAAQ,EAAI;MACjB,IAAMC,QAAQ,sBAAOD,QAAP,CAAd;;MACA,IAAME,KAAK,GAAGF,QAAQ,CAACG,SAAT,CAAmB,UAAAC,IAAI;QAAA,OAAIA,IAAI,CAACL,EAAL,KAAYA,EAAhB;MAAA,CAAvB,CAAd;;MACA,IAAIG,KAAK,GAAG,CAAZ,EAAe;QACXD,QAAQ,CAACI,IAAT,CAAc;UAAER,GAAG,EAAHA,GAAF;UAAOC,GAAG,EAAHA,GAAP;UAAYC,EAAE,EAAFA;QAAZ,CAAd;MACH,CAFD,MAEO;QACHE,QAAQ,CAACC,KAAD,CAAR,GAAkB;UAAEL,GAAG,EAAHA,GAAF;UAAOC,GAAG,EAAHA,GAAP;UAAYC,EAAE,EAAFA;QAAZ,CAAlB;MACH;;MACD,OAAOE,QAAP;IACH,CATO,CAAR;EAUH,CAXD;;EAaA,oBACI,gCAAC,QAAD;IACI,KAAK,EAAE;MACHK,cAAc,EAAE,IADb;MAEHf,OAAO,EAAPA,OAFG;MAGHC,UAAU,EAAVA,UAHG;MAIHe,cAAc,EAAEb,UAJb;MAKHE,aAAa,EAAbA;IALG;EADX,GASKT,KAAK,CAACqB,QATX,eAUI,gCAAC,mBAAD;IACI,OAAO,EAAEf,OADb;IAEI,KAAK,EAAEJ,KAAK,CAACc,SAAN,CAAgB,UAAAC,IAAI;MAAA,OAAIA,IAAI,CAACL,EAAL,KAAYR,OAAhB;IAAA,CAApB,CAFX;IAGI,KAAK,EAAEF,KAHX;IAII,OAAO,EAAE;MAAA,OAAMK,UAAU,CAAC,KAAD,CAAhB;IAAA,CAJb;IAKI,aAAa,EAAEC;EALnB,EAVJ,CADJ;AAoBH;;AAEDT,YAAY,CAACuB,SAAb,GAAyB;EACrBD,QAAQ,EAAEE,qBAAA,CAAUC,IADC;EAErBhB,aAAa,EAAEe,qBAAA,CAAUE;AAFJ,CAAzB"}
@@ -1,12 +1,15 @@
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
  var _exportNames = {};
8
9
  exports["default"] = void 0;
10
+
9
11
  var _Image = _interopRequireWildcard(require("./Image"));
12
+
10
13
  Object.keys(_Image).forEach(function (key) {
11
14
  if (key === "default" || key === "__esModule") return;
12
15
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
@@ -18,8 +21,11 @@ Object.keys(_Image).forEach(function (key) {
18
21
  }
19
22
  });
20
23
  });
24
+
21
25
  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); }
26
+
22
27
  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; }
28
+
23
29
  var _default = _Image["default"];
24
30
  exports["default"] = _default;
25
31
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Image"],"sources":["vtx-image/index.jsx"],"sourcesContent":["import Image from './Image';\n\nexport * from './Image';\nexport default Image;\n"],"mappings":";;;;;;;;AAAA;AAEA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AAAwB;AAAA;AAAA,eACTA,iBAAK;AAAA"}
1
+ {"version":3,"file":"index.js","names":["Image"],"sources":["vtx-image/index.jsx"],"sourcesContent":["import Image from './Image';\n\nexport * from './Image';\nexport default Image;\n"],"mappings":";;;;;;;;;;AAAA;;AAEA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;;;;;eACeA,iB"}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  require("./index.css");
4
+
4
5
  require("viewerjs/dist/viewer.css");
5
6
  //# sourceMappingURL=css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"css.js","names":[],"sources":["vtx-image/style/index.js"],"sourcesContent":["import './index.less';\nimport 'viewerjs/dist/viewer.css';\n"],"mappings":";;AAAA;AACA"}
1
+ {"version":3,"file":"css.js","names":[],"sources":["vtx-image/style/index.js"],"sourcesContent":["import './index.less';\nimport 'viewerjs/dist/viewer.css';\n"],"mappings":";;AAAA;;AACA"}
@@ -36,6 +36,25 @@
36
36
  }
37
37
  .vtx-image-nodata p,
38
38
  .vtx-image-error p {
39
+ position: absolute;
40
+ top: 50%;
41
+ left: 50%;
42
+ -ms-transform: translate(-50%, -50%);
43
+ -webkit-transform: translate(-50%, -50%);
44
+ transform: translate(-50%, -50%);
45
+ color: #000000;
46
+ }
47
+ .vtx-image-nodata-dark,
48
+ .vtx-image-error-dark {
49
+ position: relative;
50
+ height: 100%;
51
+ min-height: 36px;
52
+ background: #f5f5f7;
53
+ border: unset;
54
+ cursor: default;
55
+ }
56
+ .vtx-image-nodata-dark p,
57
+ .vtx-image-error-dark p {
39
58
  position: absolute;
40
59
  top: 50%;
41
60
  left: 50%;
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  require("./index.less");
4
+
4
5
  require("viewerjs/dist/viewer.css");
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["vtx-image/style/index.js"],"sourcesContent":["import './index.less';\nimport 'viewerjs/dist/viewer.css';\n"],"mappings":";;AAAA;AACA"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["vtx-image/style/index.js"],"sourcesContent":["import './index.less';\nimport 'viewerjs/dist/viewer.css';\n"],"mappings":";;AAAA;;AACA"}
@@ -1,63 +1,76 @@
1
- @import (reference) '~antd/lib/style/themes/index.less';
2
-
3
- @prefix-cls: vtx-image;
4
- @min-height: 36px;
5
- @aspectFit-background: #595959;
6
-
7
- .center {
8
- position: absolute;
9
- top: 50%;
10
- left: 50%;
11
- -ms-transform: translate(-50%, -50%);
12
- -o-transform: translate(-50%, -50%);
13
- -moz-transform: translate(-50%, -50%);
14
- -webkit-transform: translate(-50%, -50%);
15
- transform: translate(-50%, -50%);
16
- }
17
-
18
- .@{prefix-cls} {
19
- &-aspectFit {
20
- position: relative;
21
- height: 100%;
22
- min-height: @min-height;
23
- background: @aspectFit-background;
24
- img {
25
- .center();
26
- max-width: 100%;
27
- max-height: 100%;
28
- }
29
- }
30
- &-preview {
31
- img {
32
- cursor: pointer;
33
- }
34
- }
35
- &-nodata,
36
- &-error {
37
- position: relative;
38
- height: 100%;
39
- min-height: @min-height;
40
- background: @table-expanded-row-bg;
41
- border: @border-width-base @border-style-base @border-color-split;
42
- cursor: default;
43
- p {
44
- .center();
45
- color: @text-color-secondary;
46
- }
47
- }
48
- }
49
- .@{prefix-cls} when(@theme=dark) {
50
- &-nodata,
51
- &-error {
52
- position: relative;
53
- height: 100%;
54
- min-height: @min-height;
55
- background: @aspectFit-background;
56
- border: @border-width-base @border-style-base @border-color-split;
57
- cursor: default;
58
- p {
59
- .center();
60
- color: @text-color-secondary;
61
- }
62
- }
63
- }
1
+ @import (reference) '~antd/lib/style/themes/index.less';
2
+
3
+ @prefix-cls: vtx-image;
4
+ @min-height: 36px;
5
+ @aspectFit-background: #595959;
6
+
7
+ .center {
8
+ position: absolute;
9
+ top: 50%;
10
+ left: 50%;
11
+ -ms-transform: translate(-50%, -50%);
12
+ -o-transform: translate(-50%, -50%);
13
+ -moz-transform: translate(-50%, -50%);
14
+ -webkit-transform: translate(-50%, -50%);
15
+ transform: translate(-50%, -50%);
16
+ }
17
+
18
+ .@{prefix-cls} {
19
+ &-aspectFit {
20
+ position: relative;
21
+ height: 100%;
22
+ min-height: @min-height;
23
+ background: @aspectFit-background;
24
+ img {
25
+ .center();
26
+ max-width: 100%;
27
+ max-height: 100%;
28
+ }
29
+ }
30
+ &-preview {
31
+ img {
32
+ cursor: pointer;
33
+ }
34
+ }
35
+ &-nodata,
36
+ &-error {
37
+ position: relative;
38
+ height: 100%;
39
+ min-height: @min-height;
40
+ background: @table-expanded-row-bg;
41
+ border: @border-width-base @border-style-base @border-color-split;
42
+ cursor: default;
43
+ p {
44
+ .center();
45
+ color: rgba(0, 0, 0, 5);
46
+ }
47
+ }
48
+ &-nodata-dark,
49
+ &-error-dark {
50
+ position: relative;
51
+ height: 100%;
52
+ min-height: @min-height;
53
+ background: #f5f5f7;
54
+ border: unset;
55
+ cursor: default;
56
+ p {
57
+ .center();
58
+ color: rgba(0, 0, 0, 0.45);
59
+ }
60
+ }
61
+ }
62
+ .@{prefix-cls} when(@theme=dark) {
63
+ &-nodata,
64
+ &-error {
65
+ position: relative;
66
+ height: 100%;
67
+ min-height: @min-height;
68
+ background: @aspectFit-background;
69
+ border: @border-width-base @border-style-base @border-color-split;
70
+ cursor: default;
71
+ p {
72
+ .center();
73
+ color: @text-color-secondary;
74
+ }
75
+ }
76
+ }
@@ -4,73 +4,98 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = void 0;
7
+
7
8
  var _react = _interopRequireDefault(require("react"));
9
+
8
10
  var _modal = _interopRequireDefault(require("antd/lib/modal"));
11
+
9
12
  var _button = _interopRequireDefault(require("antd/lib/button"));
13
+
10
14
  var _message = _interopRequireDefault(require("antd/lib/message"));
15
+
11
16
  var _propTypes = _interopRequireDefault(require("prop-types"));
17
+
12
18
  var _useSet3 = _interopRequireDefault(require("../_util/useSet"));
19
+
13
20
  var _result = _interopRequireDefault(require("./result"));
21
+
14
22
  var _getUrlParam2 = _interopRequireDefault(require("@vtx/utils/lib/getUrlParam"));
23
+
15
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
25
+
16
26
  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; }
27
+
17
28
  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; }
29
+
18
30
  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; }
31
+
19
32
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
33
+
20
34
  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."); }
35
+
21
36
  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); }
37
+
22
38
  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; }
39
+
23
40
  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; }
41
+
24
42
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
43
+
25
44
  var _getUrlParam = (0, _getUrlParam2["default"])(),
26
- token = _getUrlParam.token;
45
+ token = _getUrlParam.token;
46
+
27
47
  function VtxImport(props) {
28
48
  var _useSet = (0, _useSet3["default"])({
29
- fileForm: null,
30
- // form表单
31
- fileInput: null,
32
- // 保存上传的文件
33
- iframe: null,
34
- // form表单提交之后跳转的
35
- useFormData: window.FormData ? true : false,
36
- // 是否查看
37
- uploading: false,
38
- // 表单提交的状态
39
- visible: props.visible || false,
40
- fileKey: props.fileKey || 'file',
41
- accept: props.accept || 'application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,text/csv',
42
- resultVisible: false,
43
- // 导入结果查看弹窗
44
- resultData: [],
45
- // 导入结果查看
46
- modalWidth: props.modalWidth || 800,
47
- columns: props.columns || [{
48
- title: '行号',
49
- dataIndex: 'lineNum',
50
- key: 'lineNum'
51
- }, {
52
- title: '错误说明',
53
- dataIndex: 'messages',
54
- key: 'messages'
55
- }]
56
- }),
57
- _useSet2 = _slicedToArray(_useSet, 2),
58
- state = _useSet2[0],
59
- setState = _useSet2[1];
60
- // 获取上传地址(拼接参数)
49
+ fileForm: null,
50
+ // form表单
51
+ fileInput: null,
52
+ // 保存上传的文件
53
+ iframe: null,
54
+ // form表单提交之后跳转的
55
+ useFormData: window.FormData ? true : false,
56
+ // 是否查看
57
+ uploading: false,
58
+ // 表单提交的状态
59
+ visible: props.visible || false,
60
+ fileKey: props.fileKey || 'file',
61
+ accept: props.accept || 'application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,text/csv',
62
+ resultVisible: false,
63
+ // 导入结果查看弹窗
64
+ resultData: [],
65
+ // 导入结果查看
66
+ modalWidth: props.modalWidth || 800,
67
+ columns: props.columns || [{
68
+ title: '行号',
69
+ dataIndex: 'lineNum',
70
+ key: 'lineNum'
71
+ }, {
72
+ title: '错误说明',
73
+ dataIndex: 'messages',
74
+ key: 'messages'
75
+ }]
76
+ }),
77
+ _useSet2 = _slicedToArray(_useSet, 2),
78
+ state = _useSet2[0],
79
+ setState = _useSet2[1]; // 获取上传地址(拼接参数)
80
+
81
+
61
82
  var getPostURL = function getPostURL() {
62
83
  var postUrl = props.uploadURL;
63
84
  var postData = props.postData || {};
64
85
  var postArray = [];
86
+
65
87
  for (var k in postData) {
66
88
  if (postData[k] !== undefined && postData[k] !== null && postData[k] !== '') {
67
89
  postArray.push("".concat(k, "=").concat(encodeURIComponent(postData[k])));
68
90
  }
69
91
  }
92
+
70
93
  return postArray.length > 0 ? "".concat(postUrl, "?").concat(postArray.join('&')) : postUrl;
71
94
  };
95
+
72
96
  var closeModal = function closeModal() {
73
97
  state.fileInput.value = '';
98
+
74
99
  if (typeof props.close === 'function') {
75
100
  props.close();
76
101
  } else {
@@ -78,17 +103,21 @@ function VtxImport(props) {
78
103
  visible: !state.visible
79
104
  });
80
105
  }
81
- };
82
- // 上传之后的回调 - 展示报错信息
106
+ }; // 上传之后的回调 - 展示报错信息
107
+
108
+
83
109
  var uploadSuccess = function uploadSuccess(data) {
84
110
  state.fileInput.value = '';
85
111
  setState({
86
112
  uploading: false
87
113
  });
114
+
88
115
  if (typeof props.afterUpload === 'function') {
89
116
  afterUpload(data);
90
117
  }
118
+
91
119
  var parseData = JSON.parse(data);
120
+
92
121
  if (Array.isArray(parseData === null || parseData === void 0 ? void 0 : parseData.data)) {
93
122
  setState({
94
123
  resultVisible: true,
@@ -108,9 +137,10 @@ function VtxImport(props) {
108
137
  }
109
138
  }
110
139
  };
140
+
111
141
  var templateURL = props.templateURL,
112
- uploadURL = props.uploadURL,
113
- afterUpload = props.afterUpload;
142
+ uploadURL = props.uploadURL,
143
+ afterUpload = props.afterUpload;
114
144
  var modalProps = {
115
145
  className: 'vtx-import-modal',
116
146
  visible: state.visible,
@@ -130,20 +160,24 @@ function VtxImport(props) {
130
160
  loading: state.uploading,
131
161
  onClick: function onClick() {
132
162
  var postUrl = getPostURL();
163
+
133
164
  if (state.fileInput.value) {
134
165
  setState({
135
166
  uploading: true
136
167
  });
168
+
137
169
  if (state.useFormData) {
138
170
  var request = new XMLHttpRequest();
139
171
  request.open('POST', postUrl);
140
172
  request.setRequestHeader('Authorization', token ? "Bear ".concat(token) : '');
141
173
  request.setRequestHeader('access_token', token ? "".concat(token) : '');
174
+
142
175
  request.onreadystatechange = function (e) {
143
176
  if (e.target.readyState == 4) {
144
177
  uploadSuccess(e.target.response);
145
178
  }
146
179
  };
180
+
147
181
  var fmd = new FormData();
148
182
  fmd.append(state.fileKey, state.fileInput.files[0]);
149
183
  request.send(fmd);
@@ -195,6 +229,7 @@ function VtxImport(props) {
195
229
  }
196
230
  }), state.resultVisible && /*#__PURE__*/_react["default"].createElement(_result["default"], resultProps));
197
231
  }
232
+
198
233
  VtxImport.propTypes = {
199
234
  visible: _propTypes["default"].bool,
200
235
  templateURL: _propTypes["default"].string,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getUrlParam","token","VtxImport","props","useSet","fileForm","fileInput","iframe","useFormData","window","FormData","uploading","visible","fileKey","accept","resultVisible","resultData","modalWidth","columns","title","dataIndex","key","state","setState","getPostURL","postUrl","uploadURL","postData","postArray","k","undefined","push","encodeURIComponent","length","join","closeModal","value","close","uploadSuccess","data","afterUpload","parseData","JSON","parse","Array","isArray","map","item","index","messages","filter","result","message","error","msg","templateURL","modalProps","className","onCancel","maskClosable","footer","open","request","XMLHttpRequest","setRequestHeader","onreadystatechange","e","target","readyState","response","fmd","append","files","send","info","resultProps","dataSource","hideVisible","children","dom","display","propTypes","PropTypes","bool","string","object","func","number","array"],"sources":["vtx-import/index.jsx"],"sourcesContent":["import React from 'react';\nimport Modal from 'antd/lib/modal';\nimport Button from 'antd/lib/button';\nimport message from 'antd/lib/message';\nimport PropTypes from 'prop-types';\nimport useSet from '../_util/useSet';\nimport VtxImportResult from './result';\nimport getUrlParam from '@vtx/utils/lib/getUrlParam';\nconst { token } = getUrlParam();\nfunction VtxImport(props) {\n const [state, setState] = useSet({\n fileForm: null, // form表单\n fileInput: null, // 保存上传的文件\n iframe: null, // form表单提交之后跳转的\n useFormData: window.FormData ? true : false, // 是否查看\n uploading: false, // 表单提交的状态\n visible: props.visible || false,\n fileKey: props.fileKey || 'file',\n accept:\n props.accept ||\n 'application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,text/csv',\n resultVisible: false, // 导入结果查看弹窗\n resultData: [], // 导入结果查看\n modalWidth: props.modalWidth || 800,\n columns: props.columns || [\n {\n title: '行号',\n dataIndex: 'lineNum',\n key: 'lineNum',\n },\n {\n title: '错误说明',\n dataIndex: 'messages',\n key: 'messages',\n },\n ],\n });\n // 获取上传地址(拼接参数)\n const getPostURL = () => {\n const postUrl = props.uploadURL;\n const postData = props.postData || {};\n const postArray = [];\n for (const k in postData) {\n if (postData[k] !== undefined && postData[k] !== null && postData[k] !== '') {\n postArray.push(`${k}=${encodeURIComponent(postData[k])}`);\n }\n }\n return postArray.length > 0 ? `${postUrl}?${postArray.join('&')}` : postUrl;\n };\n const closeModal = () => {\n state.fileInput.value = '';\n if (typeof props.close === 'function') {\n props.close();\n } else {\n setState({\n visible: !state.visible,\n });\n }\n };\n // 上传之后的回调 - 展示报错信息\n const uploadSuccess = data => {\n state.fileInput.value = '';\n setState({\n uploading: false,\n });\n if (typeof props.afterUpload === 'function') {\n afterUpload(data);\n }\n const parseData = JSON.parse(data);\n if (Array.isArray(parseData?.data)) {\n setState({\n resultVisible: true,\n resultData: parseData.data\n .map((item, index) => ({\n ...item,\n key: index,\n messages: item.messages.join(','),\n }))\n .filter(item => item.messages.length !== 0),\n });\n } else {\n // 新增其他错误提示\n if (parseData.result !== 0) {\n message.error(parseData?.msg || '服务器异常');\n }\n }\n };\n const { templateURL, uploadURL, afterUpload } = props;\n const modalProps = {\n className: 'vtx-import-modal',\n visible: state.visible,\n title: '导入',\n onCancel: () => closeModal(),\n maskClosable: false,\n footer: [\n templateURL ? (\n <Button\n key=\"downloadTemple\"\n onClick={() => {\n window.open(templateURL);\n }}\n >\n 下载模板\n </Button>\n ) : null,\n <Button\n key=\"uploadSubmit\"\n type=\"primary\"\n loading={state.uploading}\n onClick={() => {\n const postUrl = getPostURL();\n if (state.fileInput.value) {\n setState({\n uploading: true,\n });\n if (state.useFormData) {\n const request = new XMLHttpRequest();\n request.open('POST', postUrl);\n request.setRequestHeader('Authorization', token ? `Bear ${token}` : '');\n request.setRequestHeader('access_token', token ? `${token}` : '');\n request.onreadystatechange = e => {\n if (e.target.readyState == 4) {\n uploadSuccess(e.target.response);\n }\n };\n const fmd = new FormData();\n fmd.append(state.fileKey, state.fileInput.files[0]);\n request.send(fmd);\n }\n } else {\n message.info('请选择需要上传的文件');\n }\n }}\n >\n 上传\n </Button>,\n <Button\n key=\"closeWindow\"\n onClick={() => {\n closeModal();\n }}\n >\n 关闭\n </Button>,\n ],\n };\n const resultProps = {\n visible: state.resultVisible,\n dataSource: state.resultData,\n columns: state.columns,\n hideVisible: () => {\n setState({\n resultVisible: false,\n });\n },\n modalWidth: state.modalWidth,\n };\n return (\n <Modal {...modalProps}>\n {props.children}\n <form\n encType=\"multipart/form-data\"\n method=\"post\"\n target=\"tmp\"\n action={uploadURL}\n ref={dom => {\n if (dom) state.fileForm = dom;\n }}\n >\n <input\n type=\"file\"\n name={state.fileKey}\n accept={state.accept}\n ref={dom => {\n if (dom) state.fileInput = dom;\n }}\n />\n </form>\n <iframe\n name=\"tmp\"\n style={{ display: 'none' }}\n ref={dom => {\n if (dom) state.iframe = dom;\n }}\n ></iframe>\n {state.resultVisible && <VtxImportResult {...resultProps} />}\n </Modal>\n );\n}\nVtxImport.propTypes = {\n visible: PropTypes.bool,\n templateURL: PropTypes.string,\n uploadURL: PropTypes.string,\n postData: PropTypes.object,\n fileKey: PropTypes.string,\n accept: PropTypes.string,\n close: PropTypes.func,\n afterUpload: PropTypes.func,\n modalWidth: PropTypes.number,\n columns: PropTypes.array,\n children: PropTypes.object,\n};\nexport default VtxImport;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["getUrlParam","token","VtxImport","props","useSet","fileForm","fileInput","iframe","useFormData","window","FormData","uploading","visible","fileKey","accept","resultVisible","resultData","modalWidth","columns","title","dataIndex","key","state","setState","getPostURL","postUrl","uploadURL","postData","postArray","k","undefined","push","encodeURIComponent","length","join","closeModal","value","close","uploadSuccess","data","afterUpload","parseData","JSON","parse","Array","isArray","map","item","index","messages","filter","result","message","error","msg","templateURL","modalProps","className","onCancel","maskClosable","footer","open","request","XMLHttpRequest","setRequestHeader","onreadystatechange","e","target","readyState","response","fmd","append","files","send","info","resultProps","dataSource","hideVisible","children","dom","display","propTypes","PropTypes","bool","string","object","func","number","array"],"sources":["vtx-import/index.jsx"],"sourcesContent":["import React from 'react';\nimport Modal from 'antd/lib/modal';\nimport Button from 'antd/lib/button';\nimport message from 'antd/lib/message';\nimport PropTypes from 'prop-types';\nimport useSet from '../_util/useSet';\nimport VtxImportResult from './result';\nimport getUrlParam from '@vtx/utils/lib/getUrlParam';\nconst { token } = getUrlParam();\nfunction VtxImport(props) {\n const [state, setState] = useSet({\n fileForm: null, // form表单\n fileInput: null, // 保存上传的文件\n iframe: null, // form表单提交之后跳转的\n useFormData: window.FormData ? true : false, // 是否查看\n uploading: false, // 表单提交的状态\n visible: props.visible || false,\n fileKey: props.fileKey || 'file',\n accept:\n props.accept ||\n 'application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,text/csv',\n resultVisible: false, // 导入结果查看弹窗\n resultData: [], // 导入结果查看\n modalWidth: props.modalWidth || 800,\n columns: props.columns || [\n {\n title: '行号',\n dataIndex: 'lineNum',\n key: 'lineNum',\n },\n {\n title: '错误说明',\n dataIndex: 'messages',\n key: 'messages',\n },\n ],\n });\n // 获取上传地址(拼接参数)\n const getPostURL = () => {\n const postUrl = props.uploadURL;\n const postData = props.postData || {};\n const postArray = [];\n for (const k in postData) {\n if (postData[k] !== undefined && postData[k] !== null && postData[k] !== '') {\n postArray.push(`${k}=${encodeURIComponent(postData[k])}`);\n }\n }\n return postArray.length > 0 ? `${postUrl}?${postArray.join('&')}` : postUrl;\n };\n const closeModal = () => {\n state.fileInput.value = '';\n if (typeof props.close === 'function') {\n props.close();\n } else {\n setState({\n visible: !state.visible,\n });\n }\n };\n // 上传之后的回调 - 展示报错信息\n const uploadSuccess = data => {\n state.fileInput.value = '';\n setState({\n uploading: false,\n });\n if (typeof props.afterUpload === 'function') {\n afterUpload(data);\n }\n const parseData = JSON.parse(data);\n if (Array.isArray(parseData?.data)) {\n setState({\n resultVisible: true,\n resultData: parseData.data\n .map((item, index) => ({\n ...item,\n key: index,\n messages: item.messages.join(','),\n }))\n .filter(item => item.messages.length !== 0),\n });\n } else {\n // 新增其他错误提示\n if (parseData.result !== 0) {\n message.error(parseData?.msg || '服务器异常');\n }\n }\n };\n const { templateURL, uploadURL, afterUpload } = props;\n const modalProps = {\n className: 'vtx-import-modal',\n visible: state.visible,\n title: '导入',\n onCancel: () => closeModal(),\n maskClosable: false,\n footer: [\n templateURL ? (\n <Button\n key=\"downloadTemple\"\n onClick={() => {\n window.open(templateURL);\n }}\n >\n 下载模板\n </Button>\n ) : null,\n <Button\n key=\"uploadSubmit\"\n type=\"primary\"\n loading={state.uploading}\n onClick={() => {\n const postUrl = getPostURL();\n if (state.fileInput.value) {\n setState({\n uploading: true,\n });\n if (state.useFormData) {\n const request = new XMLHttpRequest();\n request.open('POST', postUrl);\n request.setRequestHeader('Authorization', token ? `Bear ${token}` : '');\n request.setRequestHeader('access_token', token ? `${token}` : '');\n request.onreadystatechange = e => {\n if (e.target.readyState == 4) {\n uploadSuccess(e.target.response);\n }\n };\n const fmd = new FormData();\n fmd.append(state.fileKey, state.fileInput.files[0]);\n request.send(fmd);\n }\n } else {\n message.info('请选择需要上传的文件');\n }\n }}\n >\n 上传\n </Button>,\n <Button\n key=\"closeWindow\"\n onClick={() => {\n closeModal();\n }}\n >\n 关闭\n </Button>,\n ],\n };\n const resultProps = {\n visible: state.resultVisible,\n dataSource: state.resultData,\n columns: state.columns,\n hideVisible: () => {\n setState({\n resultVisible: false,\n });\n },\n modalWidth: state.modalWidth,\n };\n return (\n <Modal {...modalProps}>\n {props.children}\n <form\n encType=\"multipart/form-data\"\n method=\"post\"\n target=\"tmp\"\n action={uploadURL}\n ref={dom => {\n if (dom) state.fileForm = dom;\n }}\n >\n <input\n type=\"file\"\n name={state.fileKey}\n accept={state.accept}\n ref={dom => {\n if (dom) state.fileInput = dom;\n }}\n />\n </form>\n <iframe\n name=\"tmp\"\n style={{ display: 'none' }}\n ref={dom => {\n if (dom) state.iframe = dom;\n }}\n ></iframe>\n {state.resultVisible && <VtxImportResult {...resultProps} />}\n </Modal>\n );\n}\nVtxImport.propTypes = {\n visible: PropTypes.bool,\n templateURL: PropTypes.string,\n uploadURL: PropTypes.string,\n postData: PropTypes.object,\n fileKey: PropTypes.string,\n accept: PropTypes.string,\n close: PropTypes.func,\n afterUpload: PropTypes.func,\n modalWidth: PropTypes.number,\n columns: PropTypes.array,\n children: PropTypes.object,\n};\nexport default VtxImport;\n"],"mappings":"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"}