gepic
Version:
基于vue3的设计器,可视化开发页面表单
95 lines (94 loc) • 2.65 kB
JavaScript
import { defineComponent as E, watch as p, provide as o, useSlots as I, computed as w, getCurrentInstance as L, createElementBlock as d, createBlock as l, unref as a, openBlock as r, Suspense as N, withCtx as u, createElementVNode as f, createVNode as R, Fragment as V, renderList as z, nextTick as T } from "vue";
import $ from "../../node/src/node.vue.js";
import { pluginManager as j } from "../../../../utils/manager/pluginManager.js";
import "@vueuse/core";
import "../../../../hooks/store/index.js";
import { loadAsyncComponent as q } from "../../../../utils/common/component.js";
import { deepCompareAndModify as G } from "../../../../utils/common/data.js";
import { useBuilder as H } from "../hooks/useBuilder.js";
const J = {
key: 0,
class: "epic-loading-box"
}, K = { class: "epic-builder-main epic-scoped" }, O = { class: "epic-loading-box" }, oe = /* @__PURE__ */ E({
__name: "builder",
props: {
pageSchema: {},
formData: {},
disabled: { type: Boolean }
},
emits: ["ready"],
setup(g, { expose: h, emit: _ }) {
const y = q(() => import("../../asyncLoader/index.vue.js")), b = _, {
ready: i,
pageManager: e,
forms: v,
getData: x,
setData: m,
validate: k,
getForms: S,
setForms: C,
validateAll: B,
getFormInstance: A
} = H(), n = g;
p(
() => n.pageSchema,
(t) => {
G(e.pageSchema, t);
},
{
immediate: !0,
deep: !0
}
), p(
() => n.formData,
(t) => {
t && m(t);
},
{
immediate: !0,
deep: !0
}
), o("slots", I()), o("pageManager", e), o("forms", v), o("pageSchema", e.pageSchema), o(
"disabled",
w(() => n.disabled)
);
const s = L(), c = s == null ? void 0 : s.proxy;
function D() {
T(() => {
i.value = !0, b("ready", e), c && e.addComponentInstance("builder", c);
});
}
return h({
ready: i,
pageManager: e,
getData: x,
setData: m,
validate: k,
getForms: S,
setForms: C,
validateAll: B,
getFormInstance: A
}), (t, P) => a(j).initialized.value ? (r(), l(N, {
key: 1,
onResolve: D
}, {
default: u(() => [
f("div", K, [
(r(!0), d(V, null, z(a(e).pageSchema.schemas, (F, M) => (r(), l(a($), {
key: M,
"component-schema": F
}, null, 8, ["component-schema"]))), 128))
])
]),
fallback: u(() => [
f("div", O, [
R(a(y))
])
]),
_: 1
})) : (r(), d("div", J));
}
});
export {
oe as default
};