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