UNPKG

@fe6/water-pro

Version:

An enterprise-class UI design language and Vue-based implementation

85 lines (68 loc) 2.63 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _vue = require("vue"); var _modal = _interopRequireDefault(require("../modal")); var _image = _interopRequireDefault(require("../image")); var _typography = _interopRequireDefault(require("../typography")); var _vueTypes = _interopRequireDefault(require("../_util/vue-types")); var _useConfigInject2 = _interopRequireDefault(require("../_util/hooks/useConfigInject")); var _errorImage = require("../config-provider/error-image"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var _default2 = (0, _vue.defineComponent)({ name: 'APreviewImage', props: { value: _vueTypes.default.string.def(''), placeholder: _vueTypes.default.string, errorImage: _vueTypes.default.string }, emits: ['changeUpload', 'change'], setup: function setup(props) { var _useConfigInject = (0, _useConfigInject2.default)('preview-image', props), configProvider = _useConfigInject.configProvider; var previewPoseterVisible = (0, _vue.ref)(false); var previewPoseterImage = (0, _vue.ref)(''); var handlePoseterPreview = function handlePoseterPreview() { previewPoseterVisible.value = true; }; var handlePoseterCancel = function handlePoseterCancel() { previewPoseterVisible.value = false; }; return { handlePoseterPreview: handlePoseterPreview, previewPoseterVisible: previewPoseterVisible, previewPoseterImage: previewPoseterImage, handlePoseterCancel: handlePoseterCancel, errorBackImage: props.errorImage || _errorImage.errorUploadImage, configProvider: configProvider }; }, render: function render() { var _this = this; var _a; return (0, _vue.createVNode)("div", null, [(0, _vue.createVNode)(_typography.default.Link, { "href": "javascript:;", "onClick": this.handlePoseterPreview }, { default: function _default() { return [_this.placeholder || ((_a = _this.configProvider.locale) === null || _a === void 0 ? void 0 : _a.PreviewImage.placeholder)]; } }), (0, _vue.createVNode)(_modal.default, { "visible": this.previewPoseterVisible, "footer": null, "onCancel": this.handlePoseterCancel }, { default: function _default() { return [(0, _vue.createVNode)(_image.default, { "width": "100%", "src": _this.value, "preview": false, "fallback": _this.errorBackImage }, null)]; } })]); } }); exports.default = _default2;