vxe-pc-ui
Version:
A vue based PC component library
1 lines • 1.63 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_render=require("./render"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const VxeFormConfigItem=(0,_comp.defineVxeComponent)({name:"VxeFormConfigItem",props:{itemConfig:Object},setup(e){const r=(0,_vue.inject)("$xeForm",{});var t={itemConfig:e.itemConfig};(0,_vue.provide)("xeFormItemInfo",t);const f=(r,e)=>{var t=r.props,n=r.xeGrid,{data:t,readonly:i,disabled:o}=t,{visible:u,field:l,itemRender:d,contentStyle:s,children:m,showContent:a}=e,d=(0,_utils.isEnableConf)(d)?_ui.renderer.get(d.name):null,_=d?d.formItemStyle||d.itemStyle:null,d=d?d.formItemContentStyle||d.itemContentStyle:null,t={data:t,disabled:o,readonly:i,field:l,property:l,item:e,$form:r,$grid:n},o=m&&0<m.length;return!1===u?(0,_ui.renderEmptyElement)(r):(0,_vue.h)("div",{key:e.id,itemid:e.id,class:(0,_render.getItemClass)(r,e),style:_xeUtils.default.isFunction(_)?_(t):_},[(0,_render.renderTitle)(r,e),!1===a?(0,_ui.renderEmptyElement)(r):(0,_vue.h)("div",{class:(0,_render.getItemContentClass)(r,e),style:Object.assign({},_xeUtils.default.isFunction(d)?d(t):d,_xeUtils.default.isFunction(s)?s(t):s)},o?m.map(e=>f(r,e)):[(0,_render.renderItemContent)(r,e),(0,_render.renderItemErrorIcon)(r,e)])])};t={renderVN:()=>f(r,e.itemConfig)};return(0,_vue.provide)("$xeFormGroup",null),t},render(){return this.renderVN()}});var _default=exports.default=VxeFormConfigItem;