vxe-pc-ui
Version:
A vue based PC component library
1 lines • 6.96 kB
JavaScript
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.renderItemContent=exports.getItemContentClass=exports.getItemClass=void 0,exports.renderTitle=renderTitle;var _vue=require("vue"),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn"),_util=require("./util"),_tooltip=_interopRequireDefault(require("../../tooltip/src/tooltip")),_icon=_interopRequireDefault(require("../../icon/src/icon")),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function renderPrefixIcon(e){return(0,_vue.h)("span",{class:"vxe-form--item-title-prefix"},[(0,_vue.h)(_icon.default,{class:e.icon||(0,_ui.getIcon)().FORM_PREFIX,status:e.iconStatus})])}function renderSuffixIcon(e){return(0,_vue.h)("span",{class:"vxe-form--item-title-suffix"},[(0,_vue.h)(_icon.default,{class:e.icon||(0,_ui.getIcon)().FORM_SUFFIX,status:e.iconStatus})])}const getItemClass=(e,t,l)=>{var i=e.props,n=e.reactData,s=e.xeGrid,{data:i,rules:r,readonly:o,disabled:a,span:u,titleBackground:d,titleBold:m,titleColon:c,titleAsterisk:f,vertical:v,padding:_}=i,n=n["collapseAll"],{folding:g,field:x,itemRender:p,showError:h,className:C,vertical:I,padding:N,children:q,showContent:b}=t,p=(0,_utils.isEnableConf)(p)?_ui.renderer.get(p.name):null,p=p?p.formItemClassName||p.itemClassName:"",u=t.span||u,_=_xeUtils.default.eqNull(N)?_:N,N=_xeUtils.default.eqNull(I)?v:I,v=_xeUtils.default.eqNull(t.titleBackground)?d:t.titleBackground,I=_xeUtils.default.eqNull(t.titleBold)?m:t.titleBold,d=_xeUtils.default.eqNull(t.titleColon)?c:t.titleColon,m=_xeUtils.default.eqNull(t.titleAsterisk)?f:t.titleAsterisk,c={data:i,disabled:a,readonly:o,field:x,property:x,item:t,$form:e,$grid:s},f=q&&0<q.length;let U=!1,F=!1;return!o&&r&&(i=r[x])&&i.length&&(F=!0,U=i.some(e=>e.required)),[l||f?"vxe-form--group":"","vxe-form--item",t.id,u?`vxe-form--item-col_${u} is--span`:"",C?_xeUtils.default.isFunction(C)?C(c):C:"",p?_xeUtils.default.isFunction(p)?p(c):p:"",{"is--colon":d,"is--tbg":v,"is--bold":I,"is--padding":_,"is--vertical":N,"is--asterisk":m,"hide--content":!1===b,"is--valid":F,"is--required":U,"is--hidden":g&&n,"is--active":(0,_util.isActiveItem)(e,t),"is--error":h}]},getItemContentClass=(exports.getItemClass=getItemClass,(e,t,l)=>{var i=e.props,n=e.xeGrid,{data:i,readonly:s,disabled:r,align:o,verticalAlign:a}=i,{field:u,itemRender:d,contentClassName:m,children:c}=t,d=(0,_utils.isEnableConf)(d)?_ui.renderer.get(d.name):null,d=d?d.formItemContentClassName||d.itemContentClassName:"",o=_xeUtils.default.eqNull(t.align)?o:t.align,a=_xeUtils.default.eqNull(t.verticalAlign)?a:t.verticalAlign,i={data:i,disabled:r,readonly:s,field:u,property:u,item:t,$form:e,$grid:n},r=c&&0<c.length;return[l||r?"vxe-form--group-content vxe-form--item-row":"","vxe-form--item-content",o?"align--"+o:"",a?"vertical-align--"+a:"",d?_xeUtils.default.isFunction(d)?d(i):d:"",m?_xeUtils.default.isFunction(m)?m(i):m:""]});function renderTitle(t,e,l){var i=t.props,n=t.xeGrid,{data:i,readonly:s,disabled:r,titleAlign:o,titleWidth:a,titleOverflow:u,vertical:d}=i;const{slots:m,title:c,field:f,itemRender:v,titleOverflow:_,vertical:g,showTitle:x,titleClassName:p,titleStyle:h,titlePrefix:C,titleSuffix:I,children:N,showContent:q}=e;var b=t.getComputeMaps()["computeTooltipOpts"],b=b.value,U=(0,_utils.isEnableConf)(v)?_ui.renderer.get(v.name):null,F=U?U.formItemTitleClassName||U.itemTitleClassName:"",O=U?U.formItemTitleStyle||U.itemTitleStyle:null,d=_xeUtils.default.eqNull(g)?d:g,o=_xeUtils.default.eqNull(e.titleAlign)?o:e.titleAlign,d=d?null:_xeUtils.default.eqNull(e.titleWidth)?a:e.titleWidth,a=_xeUtils.default.eqNull(_)?u:_,u="title"===a,T=!0===a||"tooltip"===a,a=u||T||"ellipsis"===a;const y={data:i,disabled:r,readonly:s,field:f,property:f,item:e,$form:t,$grid:n};var i=m?m.title:null,r=m?m.extra:null,s=!1!==x&&(c||i),n=N&&0<N.length,S=[],U=(C&&S.push(C.content||C.message?(0,_vue.h)(_tooltip.default,Object.assign(Object.assign(Object.assign({},b),C),{content:(0,_utils.getFuncText)(C.content||C.message)}),{default:()=>renderPrefixIcon(C)}):renderPrefixIcon(C)),U?U.renderFormItemTitle||U.renderItemTitle:null),i=(S.push((0,_vue.h)("span",{class:"vxe-form--item-title-label"},i?t.callSlot(i,y):U?(0,_vn.getSlotVNs)(U(v,y)):(0,_utils.getFuncText)(e.title))),[]),U=(I&&i.push(I.content||I.message?(0,_vue.h)(_tooltip.default,Object.assign(Object.assign(Object.assign({},b),I),{content:(0,_utils.getFuncText)(I.content||I.message)}),{default:()=>renderSuffixIcon(I)}):renderSuffixIcon(I)),T?{onMouseenter(e){t.triggerTitleTipEvent(e,y)},onMouseleave:t.handleTitleTipLeaveEvent}:{});return s?(0,_vue.h)("div",Object.assign({class:[l||n?"vxe-form--group-title":"","vxe-form--item-title",o?"align--"+o:"",a?"is--ellipsis":"",F?_xeUtils.default.isFunction(F)?F(y):F:"",p?_xeUtils.default.isFunction(p)?p(y):p:""],style:Object.assign({},_xeUtils.default.isFunction(O)?O(y):O,_xeUtils.default.isFunction(h)?h(y):h,d&&!1!==q?{width:(0,_dom.toCssUnit)(d)}:null),title:u?(0,_utils.getFuncText)(c):null},U),[(0,_vue.h)("div",{class:"vxe-form--item-title-content"},S),(0,_vue.h)("div",{class:"vxe-form--item-title-postfix"},i),r?(0,_vue.h)("div",{class:"vxe-form--item-title-extra"},t.callSlot(r,y)):(0,_vue.createCommentVNode)()]):(0,_vue.createCommentVNode)()}exports.getItemContentClass=getItemContentClass;const renderItemContent=(e,t)=>{var l=e.props,i=e.reactData,n=e.xeGrid,{computeCollapseOpts:s,computeValidOpts:r}=e.getComputeMaps(),{data:l,readonly:o,disabled:a}=l,i=i["collapseAll"],{slots:u,field:d,itemRender:m,collapseNode:c,errRule:f}=t,v=u?u.default:null,u=u?u.valid:null,s=s.value,r=r.value,_=(0,_utils.isEnableConf)(m)?_ui.renderer.get(m.name):null,a={data:l,disabled:a,readonly:o,field:d,property:d,item:t,$form:e,$grid:n};let g=[];o=_?_.renderFormItemContent||_.renderItemContent:null;return v?g=e.callSlot(v,a):o?g=(0,_vn.getSlotVNs)(o(m,a)):d&&(t=_xeUtils.default.get(l,d),g=[(0,_utils.eqEmptyValue)(t)?"":""+t]),c&&g.push((0,_vue.h)("div",{class:"vxe-form--item-trigger-node",onClick:e.toggleCollapseEvent},[(0,_vue.h)("span",{class:"vxe-form--item-trigger-text"},i?s.unfoldButtonText||(0,_ui.getI18n)("vxe.form.unfolding"):s.foldButtonText||(0,_ui.getI18n)("vxe.form.folding")),(0,_vue.h)("i",{class:["vxe-form--item-trigger-icon",i?s.foldIcon||(0,_ui.getIcon)().FORM_FOLDING:s.unfoldIcon||(0,_ui.getIcon)().FORM_UNFOLDING]})])),f&&r.showMessage&&(n=Object.assign(Object.assign({},a),{rule:f}),g.push((0,_vue.h)("div",{class:"vxe-form-item--valid-error-tip",style:f.maxWidth?{width:(0,_dom.toCssUnit)(f.maxWidth)}:null},[(0,_vue.h)("div",{class:"vxe-form-item--valid-error-wrapper vxe-form-item--valid-error-theme-"+(r.theme||"normal")},[u?e.callSlot(u,n):[(0,_vue.h)("span",{class:"vxe-form--item--valid-error-msg"},f.content||f.message)]])]))),(0,_vue.h)("div",{class:"vxe-form--item-inner"},g)};exports.renderItemContent=renderItemContent;