UNPKG

vxe-design

Version:

A PC-based visual designer based on Vxe UI, used for building zero-code and low-code platforms

1 lines 2.29 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.WidgetTextFormComponent=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_core=require("@vxe-ui/core"),_use=require("../../form-design/src/use");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const getFontSizeOptions=()=>_xeUtils.default.range(12,27).map(e=>({label:e+"px",value:e+"px"})),getAlignOptions=()=>[{label:(0,_core.getI18n)("vxe.formDesign.widgetProp.textProp.alignLeft"),value:""},{label:(0,_core.getI18n)("vxe.formDesign.widgetProp.textProp.alignCenter"),value:"center"},{label:(0,_core.getI18n)("vxe.formDesign.widgetProp.textProp.alignRight"),value:"right"}],getBoldOptions=()=>[{label:(0,_core.getI18n)("vxe.formDesign.widgetProp.textProp.fontNormal"),value:!1},{label:(0,_core.getI18n)("vxe.formDesign.widgetProp.textProp.fontBold"),value:!0}],WidgetTextFormComponent=exports.WidgetTextFormComponent=(0,_comp.defineVxeComponent)({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(o){const r=_core.VxeUI.getComponent("vxe-form"),i=_core.VxeUI.getComponent("vxe-form-item"),n=_core.VxeUI.getComponent("vxe-input"),l=(0,_use.useWidgetName)(o)["computeKebabCaseName"],p=(0,_vue.ref)(getAlignOptions()),u=(0,_vue.ref)(getBoldOptions()),a=(0,_vue.ref)(getFontSizeOptions());return()=>{var e=o["renderParams"];const t=e["widget"];e=l.value;return(0,_vue.h)(r,{class:["vxe-form-design--widget-render-form-wrapper","widget-"+e],vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:t.options},{default(){return[(0,_vue.h)(i,{title:(0,_core.getI18n)("vxe.formDesign.widgetProp.textProp.name")},{default(){return(0,_vue.h)(n,{modelValue:t.title,"onUpdate:modelValue"(e){t.title=e}})}}),(0,_vue.h)(i,{title:(0,_core.getI18n)("vxe.formDesign.widgetProp.textProp.boldTitle"),field:"bold",itemRender:{name:"VxeRadioGroup",options:u.value}}),(0,_vue.h)(i,{title:(0,_core.getI18n)("vxe.formDesign.widgetProp.textProp.alignTitle"),field:"align",itemRender:{name:"VxeRadioGroup",options:p.value}}),(0,_vue.h)(i,{title:(0,_core.getI18n)("vxe.formDesign.widgetProp.textProp.sizeTitle"),field:"fontSize",itemRender:{name:"VxeSelect",options:a.value}})]}})}}});