vxe-design
Version:
A PC-based visual designer based on Vxe UI, used for building zero-code and low-code platforms
1 lines • 1.77 kB
JavaScript
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_core=require("@vxe-ui/core"),_vn=require("../../ui/src/vn"),_defaultSettingForm=require("./default-setting-form"),_default=exports.default=(0,_comp.defineVxeComponent)({name:"FormDesignLayoutSetting",props:{},emits:[],setup(){let e=_core.VxeUI.getComponent("vxe-tabs"),t=_core.VxeUI.getComponent("vxe-tab-pane"),i=(0,_vue.inject)("$xeFormDesign",null);if(!i)return()=>[];let{props:n,reactData:o}=i,r=(0,_vue.ref)(1);return(0,_vue.watch)(()=>o.activeWidget,()=>{r.value=1}),()=>(0,_vue.h)("div",{class:"vxe-form-design--setting"},[(0,_vue.h)("div",{class:"vxe-form-design--setting-form"},[(0,_vue.h)(e,{modelValue:r.value,titleWidth:"50%",titleAlign:"center",padding:!0,class:"vxe-form-design--setting-form-tabs","onUpdate:modelValue"(e){r.value=e}},{default(){return[(0,_vue.h)(t,{title:(0,_core.getI18n)("vxe.formDesign.widgetPropTab"),name:1},{default(){return(()=>{var e=o.activeWidget;if(e){var t=_core.renderer.get(e.name),t=t?t.renderFormDesignWidgetFormView:null;if(t)return(0,_vue.h)("div",{class:"vxe-form-design--custom-widget-form-view"},(0,_vn.getSlotVNs)(t(e,{isEditMode:!0,isViewMode:!1,widget:e,$formDesign:i,$formView:null})))}return(0,_vue.createCommentVNode)()})()}}),(0,_vue.h)(t,{title:(0,_core.getI18n)("vxe.formDesign.widgetFormTab"),name:2},{default(){return(()=>{var e=n.formRender,t=o.formData;if(e){var r=_core.renderer.get(e.name),r=r?r.renderFormDesignSettingFormView:null;if(r)return(0,_vue.h)("div",{class:"vxe-form-design--custom-setting-form-view"},(0,_vn.getSlotVNs)(r(e,{formConfig:t,$formDesign:i})))}return(0,_vue.h)(_defaultSettingForm.DefaultSettingFormComponent,{formData:t})})()}})]}})])])}});