UNPKG

sohelp-ele

Version:

SohelpEle Library

67 lines (66 loc) 1.59 kB
"use strict"; Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } }); function createIframeComponent(name, url, mixins) { return { name, mixins, data() { return { iframeEl: null }; }, render(h) { if (this.keepAlive || this.iframeEl) { return h("div", { style: { display: "none" } }); } return h("iframe", { attrs: { src: url }, class: "ele-admin-iframe" }); }, mounted() { if (this.keepAlive) { this.createIframe(); } }, methods: { createIframe() { var _a; const el = document.createElement("iframe"); el.classList.add("ele-admin-iframe"); el.src = url; const parentNode = (_a = this.$el) == null ? void 0 : _a.parentNode; if (parentNode) { parentNode.insertBefore(el, this.$el); this.iframeEl = el; } } }, deactivated() { if (this.iframeEl) { this.iframeEl.style.display = "none"; } }, activated() { if (this.iframeEl) { this.iframeEl.style.display = ""; } }, beforeDestroy() { if (this.iframeEl) { this.iframeEl.parentNode.removeChild(this.iframeEl); this.iframeEl = null; } }, watch: { keepAlive(keepAlive) { if (keepAlive && !this.iframeEl) { this.$nextTick(() => { this.createIframe(); }); } } } }; } exports.createIframeComponent = createIframeComponent;