ivue-material-plus
Version:
A high quality UI components Library with Vue.js
86 lines (81 loc) • 2.14 kB
JavaScript
Object.defineProperty(exports, '__esModule', { value: true });
var vue = require('vue');
var imagePreview = require('./image-preview.js');
var helpers = require('../../utils/helpers.js');
imagePreview["default"].newInstance = (properties) => {
if (!helpers.isClient) {
return;
}
const _props = properties || {};
let _instance = null;
const Instance = vue.createApp({
data() {
return Object.assign({}, _props, {
visible: false,
previewList: [],
initialIndex: 0,
toolbar: [
"zoomIn",
"zoomOut",
"original",
"rotateLeft",
"rotateRight",
"download"
],
infinite: true,
maskClosable: true,
transfer: true
});
},
created() {
_instance = vue.getCurrentInstance();
},
methods: {
handleClose() {
this.visible = false;
setTimeout(() => {
this.destroy();
this.removeInstance();
}, 300);
},
destroy() {
Instance.unmount();
document.body.removeChild(container);
},
removeInstance() {
}
},
render() {
return vue.h(
imagePreview["default"],
Object.assign({}, _props, {
ref: "imagePreview",
modelValue: this.visible,
previewList: this.previewList,
initialIndex: this.initialIndex,
toolbar: this.toolbar,
infinite: this.infinite,
maskClosable: this.maskClosable,
transfer: this.transfer,
"onOn-close": this.handleClose
})
);
}
});
const container = document.createElement("div");
document.body.appendChild(container);
Instance.mount(container);
const imagePreview$1 = _instance.refs.imagePreview;
return {
show(options) {
Object.keys(options).forEach((key) => {
imagePreview$1.$parent[key] = options[key];
});
imagePreview$1.$parent.visible = true;
},
component: imagePreview$1
};
};
exports["default"] = imagePreview["default"];
//# sourceMappingURL=image-preview-global.js.map
;