snowy-designer
Version:
基于Epic-Designer-Pro版本的设计器,可视化开发页面表单
51 lines (50 loc) • 1.88 kB
JavaScript
import { defineComponent as f, inject as g, computed as a, createBlock as V, openBlock as k, unref as x } from "vue";
/* empty css */
import "radix-vue";
import "clsx";
import "tailwind-merge";
import "lucide-vue-next";
import "../../../../base-ui/src/shadch-ui/button/index.js";
import "@vueuse/core";
import "../../../../base-ui/src/shadch-ui/toast/index.js";
import "vuedraggable";
import "../../../../../hooks/src/store/index.js";
import l from "lodash";
import { pluginManager as P } from "../../../../../utils/src/manager/pluginManager.js";
import "monaco-editor";
import "../../../../../utils/src/request/index.js";
const w = /* @__PURE__ */ f({
__name: "index",
props: {
options: {}
},
emits: ["update:modelValue"],
setup(m, { emit: i }) {
const u = m, c = i, d = g("designer"), s = a(() => l.keyBy(u.options, "value")), n = a(() => d.state.selectedNode), v = P.getComponent("checkbox"), t = a({
get() {
return Object.entries(n.value.componentProps ?? {}).filter(([r, e]) => {
var o;
return e === !((o = s.value[r]) != null && o.reverse);
}).map(([r]) => r);
},
set(r) {
const e = l.difference(r, t.value), o = l.difference(t.value, r);
n.value.componentProps || (n.value.componentProps = {}), e.forEach((p) => {
n.value.componentProps[p] = !s.value[p].reverse;
}), o.forEach((p) => {
n.value.componentProps[p] = !!s.value[p].reverse;
}), c("update:modelValue", t.value);
}
});
return (r, e) => (k(), V(x(v), {
modelValue: t.value,
"onUpdate:modelValue": e[0] || (e[0] = (o) => t.value = o),
value: t.value,
"onUpdate:value": e[1] || (e[1] = (o) => t.value = o),
options: u.options
}, null, 8, ["modelValue", "value", "options"]));
}
});
export {
w as default
};