UNPKG

epic-designer

Version:

基于vue3的设计器,可视化开发页面表单

2 lines (1 loc) 2.42 kB
"use strict";const e=require("vue");;/* empty css */const r=require("../../../../base-ui/src/icon/icon.vue2.cjs"),h=require("@vueuse/core");require("../../../../../hooks/src/store/index.cjs");const f=require("../../../../../utils/src/manager/pluginManager.cjs"),g=require("vuedraggable"),x={key:0,class:"pl-4"},k=e.defineComponent({name:"EOptionItem",__name:"optionItem",props:{modelValue:{}},emits:["update:modelValue"],setup(i,{emit:m}){const s=i,p=m,d=f.pluginManager.getComponent("input"),c=e.inject("tree",!1),o=h.useVModel(s,"modelValue",p);function v(t){const a={label:"",value:""};t.children?t.children.push(a):t.children=[a]}function V(t){o.value=o.value.filter((a,u)=>u!==t)}return(t,a)=>{const u=e.resolveComponent("EOptionItem");return e.openBlock(),e.createBlock(e.unref(g),{modelValue:e.unref(o),"onUpdate:modelValue":a[0]||(a[0]=l=>e.isRef(o)?o.value=l:null),"item-key":"id","component-data":{type:"transition-group"},group:"option-list",handle:".handle",animation:200},{item:e.withCtx(({element:l,index:_})=>[e.createElementVNode("div",null,[e.createElementVNode("div",{class:e.normalizeClass([e.unref(c)?"grid-cols-[16px_auto_auto_16px_16px]":"grid-cols-[16px_auto_auto_16px]","option-item text-16px text-$epic-text-secondary mb-2 grid items-center gap-2"])},[e.createVNode(e.unref(r),{class:"handle mr-2 cursor-move",name:"icon--epic--drag"}),e.createVNode(e.unref(d),{modelValue:l.label,"onUpdate:modelValue":n=>l.label=n,value:l.label,"onUpdate:value":n=>l.label=n,placeholder:"label"},null,8,["modelValue","onUpdate:modelValue","value","onUpdate:value"]),e.createVNode(e.unref(d),{modelValue:l.value,"onUpdate:modelValue":n=>l.value=n,value:l.value,"onUpdate:value":n=>l.value=n,placeholder:"value"},null,8,["modelValue","onUpdate:modelValue","value","onUpdate:value"]),e.unref(c)?(e.openBlock(),e.createBlock(e.unref(r),{key:0,class:"text-lg! cursor-pointer",name:"icon--epic--add-rounded",onClick:n=>v(l)},null,8,["onClick"])):e.createCommentVNode("",!0),e.createVNode(e.unref(r),{class:"hover:text-red cursor-pointer",name:"icon--epic--delete-outline-rounded",onClick:n=>V(_)},null,8,["onClick"])],2),l.children?(e.openBlock(),e.createElementBlock("div",x,[e.createVNode(u,{modelValue:l.children,"onUpdate:modelValue":n=>l.children=n},null,8,["modelValue","onUpdate:modelValue"])])):e.createCommentVNode("",!0)])]),_:1},8,["modelValue"])}}});module.exports=k;