UNPKG

epic-designer

Version:

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

2 lines (1 loc) 4.43 kB
"use strict";const e=require("vue");;/* empty css */const c=require("../../../../base-ui/src/icon/icon.vue.cjs");;/* empty css */;/* empty css */const a=require("../../../../../utils/src/common/data.cjs");require("../../../../../git/epic/epic-designer/node_modules/.pnpm/jsep@1.4.0/node_modules/jsep/dist/jsep.cjs");require("@vueuse/core");require("../../../../../hooks/src/store/index.cjs");const b=require("../../../../../hooks/src/designer/useDesignerContext.cjs"),p=require("../../../../../manager/src/pluginManager.cjs");;/* empty css */const E=require("../../../../base-ui/src/tree/tree.vue.cjs"),D={class:"ep-outline"},I=["onMouseenter"],z={class:"max-w-full truncate"},K={key:0,class:"ep-event-badge ml-0.5",title:"已绑定事件"},L={class:"ep-node-type-text w-0 flex-1 truncate"},A=e.defineComponent({__name:"outline",setup(H){const r=b.useDesignerContext(),u=r.pageSchema,S=e.computed(()=>{var o;const t=(o=r.state.selectedNode)==null?void 0:o.id;return t?[t]:[]});function q(t){return t.on?Object.keys(t.on).some(i=>{const n=t.on[i];return Array.isArray(n)&&n.length>0}):!1}function V(t){r.setSelectedNode(t.componentSchema)}function h(t){t.props||(t.props={}),t.props.hidden=!t.props.hidden}function M(t){t.status||(t.status={lock:!1}),t.status.lock=!t.status.lock}function w(t){if(!t)return;const o=a.findSchemaInfoById(u.schemas,t.id);if(!o)return!1;const{index:i,schema:n,list:d}=o,l=a.generateNewSchema(n,u.schemas);d.splice(i+1,0,l),r.setSelectedNode(l),r.revoke.push("复制组件")}function $(t){if(!t)return;const o=a.findSchemaInfoById(u.schemas,t.id);if(!o)return!1;let{index:i,list:n}=o;n.splice(i,1),i===n.length&&i--,r.setSelectedNode(n[i]),r.revoke.push("删除组件")}return(t,o)=>{var i;return e.openBlock(),e.createElementBlock("div",D,[e.createVNode(e.unref(E),{options:e.unref(u).schemas,draggable:"","selected-keys":S.value,"hover-key":((i=e.unref(r).state.hoverNode)==null?void 0:i.id)??"",onNodeClick:V},{"tree-node":e.withCtx(({schema:n})=>{var d,l,k,f,v,_,y,g,m,C,N,B,x;return[e.createElementVNode("div",{class:e.normalizeClass(["ep-outline-item ep-text-padding flex",{hidden:(d=n.props)==null?void 0:d.hidden}]),onMouseenter:e.withModifiers(s=>e.unref(r).setHoverNode(n),["stop"]),onMouseleave:o[0]||(o[0]=e.withModifiers(s=>e.unref(r).setHoverNode(null),["stop"]))},[e.createElementVNode("span",z,[e.createVNode(e.unref(c),{class:"ep-component-icon translate-y-2px",name:e.unref(p.pluginManager).component.getIcon(n.type)},null,8,["name"]),q(n)?(e.openBlock(),e.createElementBlock("span",K," 事件 ")):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(n.label??e.unref(p.pluginManager).component.getLabel(n.type)),1)]),e.createElementVNode("span",L,e.toDisplayString(n.id),1),!e.unref(p.pluginManager).component.getLocked(n)&&n.id!==e.unref(r).pageSchema.schemas[0].id?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["ep-tree-action",{active:((l=n.props)==null?void 0:l.hidden)||((k=n.status)==null?void 0:k.lock)}])},[(f=n.props)!=null&&f.hidden?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(c),{key:0,class:e.normalizeClass(["mr-2",{active:(v=n.status)==null?void 0:v.lock}]),name:(_=n.status)!=null&&_.lock?"icon--epic--lock-outline":"icon--epic--lock-open-outline",onClick:s=>M(n)},null,8,["class","name","onClick"])),(y=n.status)!=null&&y.lock?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(c),{key:1,class:e.normalizeClass(["mr-2",{active:(g=n.props)==null?void 0:g.hidden}]),name:(m=n.props)!=null&&m.hidden?"icon--epic--visibility-off-outline-rounded":"icon--epic--visibility-outline-rounded",onClick:s=>h(n)},null,8,["class","name","onClick"])),!((C=n.status)!=null&&C.lock)&&!((N=n.props)!=null&&N.hidden)?(e.openBlock(),e.createBlock(e.unref(c),{key:2,class:"mr-2",name:"icon--epic--copy-all-outline-rounded",onClick:s=>w(n)},null,8,["onClick"])):e.createCommentVNode("",!0),!((B=n.status)!=null&&B.lock)&&!((x=n.props)!=null&&x.hidden)?(e.openBlock(),e.createBlock(e.unref(c),{key:3,class:"mr-2",name:"icon--epic--delete-outline-rounded",onClick:s=>$(n)},null,8,["onClick"])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)],42,I)]}),_:1},8,["options","selected-keys","hover-key"])])}}});module.exports=A;