@fe6/water-pro
Version:
An enterprise-class UI design language and Vue-based implementation
85 lines (68 loc) • 2.63 kB
JavaScript
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;
;