You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2 lines
5.8 KiB
JavaScript

import b from"./CollapseItem-BYAniUUu.js";import G from"./FormComponentPanel-BYLSq8sN.js";import V from"./JsonModal-CyCNcL68.js";import j from"./index-fymbnwxv.js";import{_ as N}from"./useForm.vue_vue_type_script_setup_true_lang-BY7Erun8.js";import q from"./Toolbar-Dmzl5GFm.js";import Q from"./PropsPanel-BZkZuFIK.js";import U from"./ImportJsonModal-DO24EGsK.js";import X from"./CodeModal-F1hPWTm4.js";import"./index-x8RddcFV.js";import{g as P,a as Y}from"./index-CyxTcJnj.js";import{b as Z,a as ee,l as oe}from"./formItemConfig-ACxxSq4N.js";import{p as te,bF as re,C as k,_ as ne}from"./entry/index-2-yrRtrk-1723018314898.js";import{g as se}from"./formItemPropsConfig-CUVV3lwZ.js";import{bg as J,bh as le,L as ae,f as c}from"./antd-BY-1PcYE.js";import{d as ie,f as a,p as f,_ as me,$ as pe,k as n,a9 as i,u as s,a2 as z,ae as ue,ab as de,af as ce,ak as fe,al as ve,F as he}from"./vue-aEZWZQSa.js";import"./vuedraggable.umd-DpG9mUAL.js";import"./LayoutItem-e7WBQ3hD.js";import"./FormNode-AWUFuOjb.js";import"./FormNodeOperate-zdxmpKfr.js";import"./useFormDesignState-DLztCSBe.js";import"./index-CApqPjEg.js";import"./componentMap-V_hpsodh.js";import"./RadioButtonGroup.vue_vue_type_script_setup_true_lang-D3qGI2S_.js";import"./index-C74Cm-s2.js";import"./index-CFoN8Rd1.js";import"./useWindowSizeFn-B-EvmDAM.js";import"./useSortable-CIg2I4zL.js";import"./download-dYo-2j8R.js";import"./useLoading-DkMJ65Y_.js";import"./copyTextToClipboard-BBFF3Y3I.js";import"./onMountedOrActivated-BIJ0U1R1.js";import"./style-uL-203nC.js";import"./PreviewCode-BnS3kxEp.js";import"./index-Dhjp9baq.js";import"./FormRender-iaUTQlu-.js";import"./useForm-LE1nNjjX.js";import"./FormItem.vue_vue_type_script_lang-CVian0fA.js";import"./helper-CfgyYzyh.js";import"./BasicForm.vue_vue_type_style_index_0_lang-szaiWa_E.js";import"./FormProps.vue_vue_type_script_setup_true_name_FormProps_lang-DRJH7V8v.js";import"./FormItemProps.vue_vue_type_script_setup_true_name_FormItemProps_lang-DNxymcet.js";import"./RuleProps-BWpbQ2P-.js";import"./ComponentProps-B5CILWF9.js";import"./FormOptions-Bfk8cqzg.js";import"./FormItemColumnProps-BtY7EK3u.js";const ye=ie({__name:"index",props:{title:{type:String,default:"v-form-antd表单设计器"}},setup(Pe){const{prefixCls:F}=te("form-design"),D=a(null),I=a(null),M=a(null),w=a(null),L=a(null),S=a(null),$=a({}),t=a({schemas:[],layout:"horizontal",labelLayout:"flex",labelWidth:100,labelCol:{},wrapperCol:{},currentItem:{component:"",componentProps:{}},activeKey:1}),T=o=>{o.schemas=o.schemas||[],o.schemas.forEach(e=>{e.colProps=e.colProps||{span:24},e.componentProps=e.componentProps||{},e.itemProps=e.itemProps||{}}),t.value=o},W=re(t,{deep:!0,capacity:20,parse:o=>{const e=c(o),{currentItem:r,schemas:l}=e,d=l&&l.find(m=>m.key===(r==null?void 0:r.key));return d&&(e.currentItem=d),e}}),p=o=>{t.value.currentItem=o,O(o.key?t.value.activeKey===1?2:t.value.activeKey:1)},H=o=>{o.colProps=o.colProps||{},o.colProps.span=se.span},v=(o,e)=>{},g=o=>{const e=c(o);return H(e),P(e),e},h=o=>{var r;const e=c(o);if(H(e),P(e),!((r=t.value.currentItem)!=null&&r.key)){p(e),t.value.schemas&&t.value.schemas.push(e);return}A(e,!1)},E=o=>{const e=c(o);return e.component==="Grid"&&Y([o],r=>{P(r)}),e},A=(o=t.value.currentItem,e=!0)=>{var d;const r=(d=t.value.currentItem)==null?void 0:d.key,l=m=>{m.some((y,C)=>{var K;if(y.key===r){e?m.splice(C,0,E(y)):m.splice(C+1,0,o);const _={newIndex:C+1};return x(_,m,e),!0}["Grid","Tabs"].includes(y.component)&&((K=y.columns)==null||K.forEach(_=>{l(_.children)}))})};t.value.schemas&&l(t.value.schemas)},x=({newIndex:o},e,r=!1)=>{const l=e[o];r&&P(l),p(l)},u=o=>{const e=c(t.value);o==null||o.showModal(e)},O=o=>{t.value.activeKey=o},R=()=>{t.value.schemas=[],p({component:""})},B=(o,e)=>$.value[o]=e;return f("formModel",$),f("setFormModelMethod",B),f("formConfig",t),f("historyReturn",W),f("formDesignMethods",{handleBeforeColAdd:x,handleCopy:A,handleListPush:h,handleSetSelectItem:p,handleAddAttrs:v,setFormConfig:T}),(o,e)=>(me(),pe(he,null,[n(s(ae),null,{default:i(()=>[n(s(J),{class:z(`left ${s(F)}-sider`),collapsible:"",collapsedWidth:"0",width:"270",zeroWidthTriggerStyle:{"margin-top":"-63px","background-color":"gray"},breakpoint:"md"},{default:i(()=>[n(s(k),{title:"基础控件"},{default:i(()=>[n(b,{list:s(Z),handleListPush:g,onAddAttrs:v,onHandleListPush:h},null,8,["list"])]),_:1}),n(s(k),{title:"自定义控件"},{default:i(()=>[n(b,{list:s(ee),onAddAttrs:v,handleListPush:g,onHandleListPush:h},null,8,["list"])]),_:1}),n(s(k),{title:"布局控件"},{default:i(()=>[n(b,{list:s(oe),handleListPush:g,onAddAttrs:v,onHandleListPush:h},null,8,["list"])]),_:1})]),_:1},8,["class"]),n(s(le),null,{default:i(()=>[n(q,{onHandleOpenJsonModal:e[0]||(e[0]=r=>u(I.value)),onHandleOpenImportJsonModal:e[1]||(e[1]=r=>u(M.value)),onHandlePreview:e[2]||(e[2]=r=>u(w.value)),onHandlePreview2:e[3]||(e[3]=r=>u(L.value)),onHandleOpenCodeModal:e[4]||(e[4]=r=>u(S.value)),onHandleClearFormItems:R}),n(G,{"current-item":t.value.currentItem,data:t.value,onHandleSetSelectItem:p},null,8,["current-item","data"])]),_:1}),n(s(J),{class:z(`right ${s(F)}-sider`),collapsible:"",reverseArrow:!0,collapsedWidth:"0",width:"270",zeroWidthTriggerStyle:{"margin-top":"-63px","background-color":"gray"},breakpoint:"lg"},{default:i(()=>[n(Q,{ref_key:"propsPanel",ref:D,activeKey:t.value.activeKey},ue({_:2},[de(t.value.schemas,r=>({name:`${r.component}Props`,fn:i(l=>[ce(o.$slots,`${r.component}Props`,fe(ve({formItem:l,props:l.componentProps})),void 0,!0)])}))]),1032,["activeKey"])]),_:3},8,["class"])]),_:3}),n(V,{ref_key:"jsonModal",ref:I},null,512),n(X,{ref_key:"codeModal",ref:S},null,512),n(U,{ref_key:"importJsonModal",ref:M},null,512),n(j,{ref_key:"eFormPreview",ref:w,formConfig:t.value},null,8,["formConfig"]),n(N,{ref_key:"eFormPreview2",ref:L,formConfig:t.value},null,8,["formConfig"])],64))}}),uo=ne(ye,[["__scopeId","data-v-8f579db3"]]);export{uo as default};