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