UNPKG

@uiw-admin/components

Version:
78 lines (77 loc) 2.89 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"]; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2")); var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _react = _interopRequireDefault(require("react")); var _uiw = require("uiw"); var _jsxRuntime = require("react/jsx-runtime"); var _excluded = ["uploadType", "value", "readonly", "maxNumber"]; var Upload = function Upload(_ref) { var uploadType = _ref.uploadType, value = _ref.value, _ref$readonly = _ref.readonly, readonly = _ref$readonly === void 0 ? false : _ref$readonly, maxNumber = _ref.maxNumber, others = (0, _objectWithoutProperties2["default"])(_ref, _excluded); var _React$useState = _react["default"].useState(false), _React$useState2 = (0, _slicedToArray2["default"])(_React$useState, 2), visible = _React$useState2[0], setVisible = _React$useState2[1]; var _React$useState3 = _react["default"].useState(''), _React$useState4 = (0, _slicedToArray2["default"])(_React$useState3, 2), src = _React$useState4[0], setSrc = _React$useState4[1]; var renderBtn = function renderBtn() { if (readonly) return null; if (uploadType === 'card') return /*#__PURE__*/(0, _jsxRuntime.jsx)(_uiw.Icon, { type: "plus" }); if (uploadType === 'picture' || uploadType === 'text') return /*#__PURE__*/(0, _jsxRuntime.jsx)(_uiw.Button, { type: "primary", children: "\u65B0\u589E" }); return null; }; return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_react["default"].Fragment, { children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_uiw.FileInput, (0, _objectSpread2["default"])((0, _objectSpread2["default"])({ uploadType: uploadType, readonly: readonly, value: value, maxNumber: maxNumber, onPreview: function onPreview(file) { setSrc(file === null || file === void 0 ? void 0 : file.dataURL); setVisible(true); } }, others), {}, { children: renderBtn() })), /*#__PURE__*/(0, _jsxRuntime.jsx)(_uiw.Modal, { isOpen: visible, onClosed: function onClosed() { return setVisible(false); }, width: 600, confirmButtonProps: { style: { display: 'none' } }, children: /*#__PURE__*/(0, _jsxRuntime.jsx)("img", { crossOrigin: "anonymous", src: src, alt: "", style: { width: '100%', height: '100%' } }) })] }); }; var _default = Upload; exports["default"] = _default; module.exports = exports.default;