vxe-pc-ui
Version:
A vue based PC component library
1 lines • 3.54 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_core=require("@vxe-ui/core"),_vn=require("../../ui/src/vn"),_modal=_interopRequireDefault(require("../../modal/src/modal")),_tabs=_interopRequireDefault(require("../../tabs/src/tabs")),_tabPane=_interopRequireDefault(require("../../tabs/src/tab-pane")),_formView=_interopRequireDefault(require("./form-view")),_defaultStyleForm=require("./default-style-form"),_defaultSettingData=require("./default-setting-data");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"FormDesignLayoutStyle",props:{},emits:[],setup(){const r=(0,_vue.inject)("$xeFormDesign",null),o=(0,_vue.reactive)({activeTab:1});var e={reactData:o,renderVN(){return[]}};if(r){const{props:a,reactData:i}=r,n=(0,_vue.ref)(!1),u=(0,_vue.ref)(null),l=(0,_vue.ref)({}),s=()=>{u.value=r.getConfig()},v=e=>{var t=e["viewRender"],r=o["activeTab"],t=(t||{})["name"],t=_core.renderer.get(t)||{},a=t?t.createFormViewFormConfig:null,t=t?t.createFormViewMobileFormConfig:null;return(2===r?t||_defaultSettingData.createDefaultFormViewMobileFormConfig:a||_defaultSettingData.createDefaultFormViewPCFormConfig)(e)};var t={updatePreviewView:s,openStylePreview(){var e=a["showPc"];s(),o.activeTab=e?1:2,n.value=!0}};Object.assign(e,t);const f=()=>{var e=a["formRender"],t=i["formData"];if(e){e=_core.renderer.get(e.name),e=e?e.renderFormDesignMobileStyleFormView:null;if(e)return(0,_vue.h)("div",{class:"vxe-form-design--custom-setting-mobile-form-view"},(0,_vn.getSlotVNs)(e({},{$formDesign:r,formConfig:t})))}return(0,_vue.h)(_defaultStyleForm.DefaultMobileStyleFormComponent,{formData:t})},d=()=>{var e=a["formRender"],t=i["formData"];if(e){e=_core.renderer.get(e.name),e=e?e.renderFormDesignStyleFormView:null;if(e)return(0,_vue.h)("div",{class:"vxe-form-design--custom-setting-pc-form-view"},(0,_vn.getSlotVNs)(e({},{$formDesign:r,formConfig:t})))}return(0,_vue.h)(_defaultStyleForm.DefaultPCStyleFormComponent,{formData:t})};e.renderVN=()=>{const{showPc:t,showMobile:r}=a;return(0,_vue.h)(_modal.default,{modelValue:n.value,title:(0,_core.getI18n)("vxe.formDesign.styleSetting.title"),height:"90vh",width:"90vw",escClosable:!0,maskClosable:!0,destroyOnClose:!0,showMaximize:!0,transfer:!0,"onUpdate:modelValue"(e){n.value=e}},{default(){return(0,_vue.h)("div",{class:"vxe-form-design--layout-style"},[(e=o.activeTab,(0,_vue.h)("div",{class:["vxe-form-design--layout-style-preview","is--"+(2===e?"mobile":"pc")]},[(0,_vue.h)(_formView.default,{modelValue:l.value,config:u.value,createFormConfig:v,"onUpdate:modelValue"(e){l.value=e}})])),(t||r?()=>{const{showPc:t,showMobile:r}=a;var e=o["activeTab"];return(0,_vue.h)("div",{class:"vxe-form-design--layout-style-setting"},[(0,_vue.h)(_tabs.default,{modelValue:e,titleWidth:t&&r?"50%":"100%",titleAlign:"center",padding:!0,onChange:s,"onUpdate:modelValue"(e){o.activeTab=e}},{default(){var e=[];return t&&e.push((0,_vue.h)(_tabPane.default,{title:(0,_core.getI18n)("vxe.formDesign.widgetProp.displaySetting.pc"),icon:(0,_core.getIcon)().FORM_DESIGN_PROPS_PC,k:1,name:1},{default(){return d()}})),r&&e.push((0,_vue.h)(_tabPane.default,{title:(0,_core.getI18n)("vxe.formDesign.widgetProp.displaySetting.mobile"),icon:(0,_core.getIcon)().FORM_DESIGN_PROPS_MOBILE,key:2,name:2},{default(){return f()}})),e}})])}:(0,_vue.createCommentVNode))()]);var e}})},(0,_vue.provide)("$xeFormDesignLayoutStyle",e)}return e},render(){return this.renderVN()}});