epic-designer-dev
Version:
基于vue3的设计器,可视化开发页面表单。在epic-designer的基础上新增了字典选择器
2 lines (1 loc) • 2.52 kB
JavaScript
;const e=require("vue");;/* empty css */const g=require("../../../../base-ui/src/node/node.vue.cjs"),c=require("../../../../../utils/src/common/data.cjs");require("@vueuse/core");require("../../../../../hooks/src/store/index.cjs");const y=require("../../../../../utils/src/manager/pluginManager.cjs");require("vuedraggable");const k=["title"],m=e.defineComponent({__name:"attribute",setup(_){const i=e.inject("designer"),r=e.inject("pageSchema"),p=e.inject("revoke"),d=y.pluginManager.getComponentConfings(),o=e.computed(()=>i.state.selectedNode);function f(n){var a;return typeof n.show=="boolean"?n.show:typeof n.show=="function"?(a=n.show)==null?void 0:a.call(n,{values:o.value}):!0}const u=e.computed(()=>{var l,t;if(!o.value||!o.value.type)return[];const n=((l=d[o.value.type])==null?void 0:l.config.attribute)??[],a=[{componentProps:{disabled:!0},field:"id",label:"组件ID",type:"input"},...n];return o.value.id===((t=r.schemas[0])==null?void 0:t.id)&&a.push({editData:r,field:"canvas.width",label:"画布宽度",type:"EInputSize"},{editData:r,field:"canvas.height",label:"画布高度",type:"EInputSize"}),a});function v(n,a,l,t=o.value){typeof l.onChange=="function"&&l.onChange({componentAttributes:u,value:n,values:t}),l.changeSync?c.setValueByPath(t,a,n):e.nextTick(()=>{c.setValueByPath(t,a,n)}),p.push("编辑组件属性")}return(n,a)=>{var l;return e.openBlock(),e.createElementBlock("div",{key:(l=o.value)==null?void 0:l.id,class:"epic-attribute-view"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,t=>{var s;return e.openBlock(),e.createElementBlock("div",{key:t.field},[f(t)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["epic-attr-item",t.layout])},[t.label?(e.openBlock(),e.createElementBlock("div",{key:0,class:"epic-attr-label",title:t.label},e.toDisplayString(t.label),9,k)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["epic-attr-input",{"block!":t.layout==="vertical"}])},[e.createVNode(e.unref(g),{"component-schema":{...t,componentProps:{...t.componentProps,...t.field==="componentProps.defaultValue"?(s=o.value)==null?void 0:s.componentProps:{},input:!1,field:void 0,hidden:!1},show:!0,noFormItem:!0},"model-value":e.unref(c.getValueByPath)(t.editData??o.value,t.field),"onUpdate:modelValue":h=>v(h,t.field,t,t.editData)},null,8,["component-schema","model-value","onUpdate:modelValue"])],2)],2)):e.createCommentVNode("",!0)])}),128))])}}});module.exports=m;