form-designer-xinyi
Version:
基于vue3的设计器,可视化开发页面表单
2 lines (1 loc) • 3.15 kB
JavaScript
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),g=require("./vuedraggable.umd--vzlsgiq.cjs"),_=require("./revoke-Bbm2vFx2.cjs"),f=require("./index-BXOkp5Wk.cjs"),V=require("./icon.vue_vue_type_script_setup_true_lang-CXgVOUsT.cjs"),x={key:0,class:"pl-4"},k=e.defineComponent({name:"EOptionItem",__name:"optionItem",props:{modelValue:{}},emits:["update:modelValue"],setup(m,{emit:s}){const p=m,r=_.pluginManager.getComponent("input"),d=e.inject("tree",!1),a=s,u=f.useVModel(p,"modelValue",a);function c(n){const o={label:"",value:""};n.children?n.children.push(o):n.children=[o]}function i(n){u.value=u.value.filter((o,v)=>v!==n)}return(n,o)=>{const v=e.resolveComponent("EOptionItem");return e.openBlock(),e.createBlock(e.unref(g.draggable),{modelValue:e.unref(u),"onUpdate:modelValue":o[0]||(o[0]=l=>e.isRef(u)?u.value=l:null),"item-key":"id","component-data":{type:"transition-group"},group:"option-list",handle:".handle",animation:200},{item:e.withCtx(({element:l,index:h})=>[e.createElementVNode("div",null,[e.createElementVNode("div",{class:e.normalizeClass([e.unref(d)?"grid-cols-[16px_auto_auto_16px_16px]":"grid-cols-[16px_auto_auto_16px]","option-item grid gap-2 items-center mb-2"])},[e.createVNode(e.unref(V._sfc_main),{class:"mr-2 text-lg cursor-move handle",name:"icon-tuozhuai"}),e.createVNode(e.unref(r),{modelValue:l.label,"onUpdate:modelValue":t=>l.label=t,value:l.label,"onUpdate:value":t=>l.label=t,placeholder:"label"},null,8,["modelValue","onUpdate:modelValue","value","onUpdate:value"]),e.createVNode(e.unref(r),{modelValue:l.value,"onUpdate:modelValue":t=>l.value=t,value:l.value,"onUpdate:value":t=>l.value=t,placeholder:"value"},null,8,["modelValue","onUpdate:modelValue","value","onUpdate:value"]),e.unref(d)?(e.openBlock(),e.createBlock(e.unref(V._sfc_main),{key:0,class:"text-lg",name:"icon-tianjia1",onClick:t=>c(l)},null,8,["onClick"])):e.createCommentVNode("",!0),e.createVNode(e.unref(V._sfc_main),{class:"text-lg hover:text-red cursor-pointer",name:"icon-shanchu1",onClick:t=>i(h)},null,8,["onClick"])],2),l.children?(e.openBlock(),e.createElementBlock("div",x,[e.createVNode(v,{modelValue:l.children,"onUpdate:modelValue":t=>l.children=t},null,8,["modelValue","onUpdate:modelValue"])])):e.createCommentVNode("",!0)])]),_:1},8,["modelValue"])}}}),C={class:""},b={class:"py-4 my-2 text-center text-gray-400 bg-white"},N=e.defineComponent({__name:"index",props:{tree:{type:Boolean},modelValue:{}},emits:["update:modelValue"],setup(m,{emit:s}){const p=_.pluginManager.getComponent("button"),r=m,d=s,a=f.useVModel(r,"modelValue",d);e.provide("tree",r.tree);function u(){const c=e.reactive({label:"",value:""});a.value=[...a.value,c]}return(c,i)=>{var n;return e.openBlock(),e.createElementBlock("div",C,[e.withDirectives(e.createElementVNode("div",b,"暂无选项",512),[[e.vShow,!((n=e.unref(a))!=null&&n.length)]]),e.createVNode(k,{modelValue:e.unref(a),"onUpdate:modelValue":i[0]||(i[0]=o=>e.isRef(a)?a.value=o:null)},null,8,["modelValue"]),e.createVNode(e.unref(p),{onClick:u},{default:e.withCtx(()=>[e.createTextVNode("添加选项")]),_:1})])}}});exports.default=N;