gepic
Version:
基于vue3的设计器,可视化开发页面表单
2 lines (1 loc) • 3.02 kB
JavaScript
;const e=require("vue"),y=require("../../../../utils/common/data.cjs");require("@vueuse/core");require("../../../../hooks/store/index.cjs");const l=require("../../../components/icon/src/icon.vue.cjs"),E=require("vuedraggable"),V={class:"epic-event-info"},g=["title"],k={class:"epic-event-btn text-lg flex items-center text-$epic-text-secondary"},N={class:"epic-action-editor-main"},x={class:"epic-editor-item rounded"},b={class:"w-36px flex items-center text-lg"},B={class:"flex-1"},C={key:0},q={key:1},S={key:2},$={class:"epic-action-box text-lg text-$epic-text-medium"},w=["onClick"],D=["onClick"],j=e.defineComponent({__name:"EActionEditorItem",props:{itemEvents:{type:Array,default:()=>[]},allEvents:{type:Array,default:()=>[]},modelValue:{type:Object,default:()=>[]},events:{type:Object,default:()=>({})}},emits:["add","edit","update:modelValue"],setup(r,{emit:p}){const i=r,d=p,u=e.inject("pageSchema");function m(c){d("add",c)}function _(c){return y.findSchemaById(u.schemas,c).label}function v(c,n){var o;const t=f(n);t[n]=i.events[n].filter((s,a)=>c!==a),(o=t[n])!=null&&o.length||delete t[n],d("update:modelValue",t)}function h(c,n,t){d("edit",c,n,t)}function f(c){const n={};return i.allEvents.forEach(t=>{if(!i.events[t.type].length||t.type===c)return!1;n[t.type]=i.events[t.type]}),n}return(c,n)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.itemEvents,t=>(e.openBlock(),e.createElementBlock("div",{key:t.type,class:"epic-event-item"},[e.createElementVNode("div",V,[e.createElementVNode("div",{class:"epic-event-label",title:t.describe},e.toDisplayString(t.describe),9,g),e.createElementVNode("div",k,[e.createVNode(e.unref(l),{name:"icon--epic--add-rounded",onClick:o=>m(t.type)},null,8,["onClick"])])]),e.createElementVNode("div",N,[e.createVNode(e.unref(E),{modelValue:i.events[t.type],"onUpdate:modelValue":o=>i.events[t.type]=o,"item-key":"id","component-data":{type:"transition-group"},group:"option-list",handle:".handle",animation:200},{item:e.withCtx(({element:o,index:s})=>[e.createElementVNode("div",x,[e.createElementVNode("div",b,[e.createVNode(e.unref(l),{class:"mr-2 text-lg cursor-move handle text-$epic-text-medium",name:"icon--epic--drag"})]),e.createElementVNode("div",B,[o.type==="component"?(e.openBlock(),e.createElementBlock("div",C,e.toDisplayString(_(o.componentId)),1)):o.type==="custom"?(e.openBlock(),e.createElementBlock("div",q," 自定义函数 ")):o.type==="public"?(e.openBlock(),e.createElementBlock("div",S," 公共函数 ")):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(o.methodName),1)]),e.createElementVNode("div",$,[e.createElementVNode("div",{class:"epic-edit-btn",onClick:a=>h(s,t.type,o)},[e.createVNode(e.unref(l),{name:"icon--epic--page-info-outline-rounded"})],8,w),e.createElementVNode("div",{class:"epic-del-btn",onClick:a=>v(s,t.type)},[e.createVNode(e.unref(l),{name:"icon--epic--delete-outline-rounded"})],8,D)])])]),_:2},1032,["modelValue","onUpdate:modelValue"])])]))),128))}});module.exports=j;