vxe-table
Version:
A PC-end table component based on Vxe UI, supporting copy-paste, data pivot table, and high-performance virtual list table solution.
1 lines • 23.2 kB
JavaScript
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Cell=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,getIcon,renderer,renderEmptyElement}=_ui.VxeUI;function renderTitlePrefixIcon(l){let{$table:t,column:e}=l,r=e.titlePrefix||e.titleHelp;return r?(0,_vue.h)("span",{class:["vxe-cell-title-prefix-icon",r.iconStatus?"theme--"+r.iconStatus:""],onMouseenter(e){t.triggerHeaderTitleEvent(e,r,l)},onMouseleave(e){t.handleTargetLeaveEvent(e)}},[(0,_vue.h)("i",{class:r.icon||getIcon().TABLE_TITLE_PREFIX})]):renderEmptyElement(t)}function renderTitleSuffixIcon(l){let{$table:t,column:e}=l,r=e.titleSuffix;return r?(0,_vue.h)("span",{class:["vxe-cell-title-suffix-icon",r.iconStatus?"theme--"+r.iconStatus:""],onMouseenter(e){t.triggerHeaderTitleEvent(e,r,l)},onMouseleave(e){t.handleTargetLeaveEvent(e)}},[(0,_vue.h)("i",{class:r.icon||getIcon().TABLE_TITLE_SUFFIX})]):renderEmptyElement(t)}function renderCellDragIcon(l){let{$table:t,column:e}=l;var r=t.context,r=r.slots,n=e.slots,a=t.props.dragConfig,o=t.getComputeMaps().computeRowDragOpts,{icon:o,trigger:s,disabledMethod:i}=o.value,i=i||(a?a.rowDisabledMethod:null);let d=i&&i(l);i=(n?n.rowDragIcon||n["row-drag-icon"]:null)||r.rowDragIcon||r["row-drag-icon"],n={};return"cell"!==s&&(n.onMousedown=e=>{d||t.handleCellDragMousedownEvent(e,l)},n.onMouseup=t.handleCellDragMouseupEvent),(0,_vue.h)("span",Object.assign({key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":d}]},n),i?t.callSlot(i,l):[(0,_vue.h)("i",{class:o||(a?a.rowIcon:"")||getIcon().TABLE_DRAG_ROW})])}function renderCellBaseVNs(e,l){var{$table:t,column:r,level:n}=e,r=r.dragSort,{treeConfig:a,dragConfig:o}=t.props,{computeRowOpts:t,computeRowDragOpts:s,computeTreeOpts:i}=t.getComputeMaps(),t=t.value,s=s.value,i=i.value,{showIcon:s,isPeerDrag:d,isCrossDrag:u,visibleMethod:c}=s,c=c||(o?o.rowVisibleMethod:null),C=[];return r&&t.drag&&(s||o&&o.showRowIcon)&&(!c||c(e))&&(!a||i.transform&&(d||u||!n))&&C.push(renderCellDragIcon(e)),C.concat(_xeUtils.default.isArray(l)?l:[l])}function renderHeaderCellDragIcon(t){let{$table:r,column:e}=t;var n=r.context,n=n.slots,a=e.slots,{computeColumnOpts:o,computeColumnDragOpts:s}=r.getComputeMaps(),o=o.value,{showIcon:s,icon:i,trigger:d,isPeerDrag:l,isCrossDrag:u,visibleMethod:c,disabledMethod:C}=s.value;if(!o.drag||!s||c&&!c(t)||e.fixed||!l&&!u&&e.parentId)return renderEmptyElement(r);{let l=C&&C(t);o=(a?a.columnDragIcon||a["column-drag-icon"]:null)||n.columnDragIcon||n["column-drag-icon"],s={};return"cell"!==d&&(s.onMousedown=e=>{l||r.handleHeaderCellDragMousedownEvent(e,t)},s.onMouseup=r.handleHeaderCellDragMouseupEvent),(0,_vue.h)("span",Object.assign({key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":l}]},s),o?r.callSlot(o,t):[(0,_vue.h)("i",{class:i||getIcon().TABLE_DRAG_COLUMN})])}}function renderHeaderCellBaseVNs(e,l){return[renderTitlePrefixIcon(e),renderHeaderCellDragIcon(e),..._xeUtils.default.isArray(l)?l:[l],renderTitleSuffixIcon(e)]}function getRenderDefaultColumnTitle(e,l){return"html"===e.type&&_xeUtils.default.isString(l)?(0,_vue.h)("span",{key:"ch",innerHTML:l}):(0,_vue.h)("span",{key:"ct"},(0,_vn.getSlotVNs)(l))}function renderTitleContent(l,e){let{$table:t,column:r}=l;var n=t.props;let a=t.reactData;var o=t.getComputeMaps().computeHeaderTooltipOpts,n=n.showHeaderOverflow,s=a.isRowGroupStatus,{showHeaderOverflow:i,slots:d}=r,d=d?d.title:null;let u=o.value.showAll;o=_xeUtils.default.eqNull(i)?n:i;let c="title"===o,C=!0===o||"tooltip"===o;n={},(c||C||u)&&(n.onMouseenter=e=>{a.isDragResize||(c?(0,_dom.updateCellTitle)(e.currentTarget,r):(C||u)&&t.triggerHeaderTooltipEvent(e,l))}),(C||u)&&(n.onMouseleave=e=>{a.isDragResize||(C||u)&&t.handleTargetLeaveEvent(e)}),i=getRenderDefaultColumnTitle(r,e);return[(0,_vue.h)("span",Object.assign({class:"vxe-cell--title"},n),s&&r.aggFunc&&t.getPivotTableAggregateRenderColTitles?t.getPivotTableAggregateRenderColTitles(r,i):d?t.callSlot(d,l):[i])]}function getFooterContent(e){var{$table:l,column:t,row:r}=e,n=l.props.editConfig,{slots:a,editRender:o,cellRender:s}=t,a=a?a.footer:null;if(a)return l.callSlot(a,e);a=n&&(0,_utils.isEnableConf)(n)&&(0,_utils.isEnableConf)(o)?o:null,n=(0,_utils.isEnableConf)(s)?s:null,o=a||n,s=l.getFooterCellLabel(r,t);if(o){a=renderer.get(o.name);if(a){n=a.renderTableFooter||a.renderFooter;if(n)return l=Object.assign(e,{cellValue:s,itemValue:s}),(0,_vn.getSlotVNs)(n(o,l))}}return[(0,_vue.h)("span",{class:"vxe-cell--label"},(0,_utils.formatText)(s,1))]}function getDefaultCellLabel(e){var{$table:e,row:l,column:t}=e;return(0,_utils.formatText)(e.getCellLabel(l,t),1)}function renderCellHandle(e){var{column:l,row:t,$table:r}=e,n=r.props,a=r.reactData.isRowGroupStatus,n=n.editConfig,{type:o,treeNode:s,rowGroupNode:i,editRender:d}=l,{computeEditOpts:r,computeCheckboxOpts:u,computeAggregateOpts:c}=r.getComputeMaps(),c=c.value.mode,C=u.value,u=r.value,p=s||a&&("column"===c?l.field===t.groupField:i);switch(o){case"seq":return p?Cell.renderDeepIndexCell(e):Cell.renderSeqCell(e);case"radio":return p?Cell.renderDeepRadioCell(e):Cell.renderRadioCell(e);case"checkbox":return C.checkField?p?Cell.renderDeepSelectionCellByProp(e):Cell.renderCheckboxCellByProp(e):p?Cell.renderDeepSelectionCell(e):Cell.renderCheckboxCell(e);case"expand":return Cell.renderExpandCell(e);case"html":return p?Cell.renderDeepHTMLCell(e):Cell.renderHTMLCell(e)}return(n&&(0,_utils.isEnableConf)(n)&&(0,_utils.isEnableConf)(d)?d:null)?"cell"===u.mode?p?Cell.renderDeepCellEdit(e):Cell.renderCellEdit(e):p?Cell.renderDeepRowEdit(e):Cell.renderRowEdit(e):p?Cell.renderDeepCell(e):Cell.renderDefaultCell(e)}function renderHeaderHandle(e){var{column:l,$table:t}=e,t=t.props.editConfig,{type:l,filters:r,sortable:n,editRender:a}=l;switch(l){case"seq":return Cell.renderSeqHeader(e);case"radio":return Cell.renderRadioHeader(e);case"checkbox":return Cell.renderCheckboxHeader(e);case"html":if(r&&n)return Cell.renderSortAndFilterHeader(e);if(n)return Cell.renderSortHeader(e);if(r)return Cell.renderFilterHeader(e)}return(t&&(0,_utils.isEnableConf)(t)&&(0,_utils.isEnableConf)(a)?a:null)?Cell.renderEditHeader(e):r&&n?Cell.renderSortAndFilterHeader(e):n?Cell.renderSortHeader(e):r?Cell.renderFilterHeader(e):Cell.renderDefaultHeader(e)}function renderFooterHandle(e){return Cell.renderDefaultFooter(e)}let Cell=exports.Cell={createColumn(e,l){var t=l.type,r={renderHeader:renderHeaderHandle,renderCell:renderCellHandle,renderFooter:renderFooterHandle};return"expand"===t&&(r.renderData=Cell.renderExpandData),(0,_util.createColumn)(e,l,r)},renderHeaderTitle(e){var{$table:l,column:t}=e,r=l.props.editConfig,{slots:n,editRender:a,cellRender:o}=t,n=n?n.header:null;if(n)return renderTitleContent(e,l.callSlot(n,e));l=r&&(0,_utils.isEnableConf)(r)&&(0,_utils.isEnableConf)(a)?a:null,n=(0,_utils.isEnableConf)(o)?o:null,r=l||n;if(r){a=renderer.get(r.name);if(a){o=a.renderTableHeader||a.renderHeader;if(o)return renderTitleContent(e,(0,_vn.getSlotVNs)(o(r,e)))}}return renderTitleContent(e,(0,_utils.formatText)(t.getTitle(),1))},renderDefaultHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e))},renderDefaultCell(e){var{$table:l,row:t,column:r}=e,n=l.props,a=l.internalData,o=l.reactData.isRowGroupStatus,n=n.editConfig,{field:s,slots:i,editRender:d,cellRender:u,rowGroupNode:c,aggFunc:C,formatter:p}=r,n=n&&(0,_utils.isEnableConf)(n)&&(0,_utils.isEnableConf)(d)?d:null,d=(0,_utils.isEnableConf)(u)?u:null,u=i?i.default:null,g=i?i.groupContent||i["group-content"]:null,i=i?i.groupValues||i["group-values"]:null;let v="";if(o&&s&&t.isAggregate){var o=t,a=a.fullColumnFieldData,E=l.getComputeMaps().computeAggregateOpts,{mode:E,showTotal:h,totalMethod:_,countFields:b,contentMethod:f,formatValuesMethod:m,mapChildrenField:x}=E.value,D=o.aggData,D=D?D[s]:null,T=o.groupField,w=o.groupContent,x=x&&o[x]||[],I=o.childCount,a=a[T]||{},a={$table:l,groupField:T,groupColumn:a?a.column:null,column:r,groupValue:w,childList:x,childCount:I,aggValue:null,children:x,totalValue:I};if("column"===E?s===o.groupField:c){if(v=w,f&&(v=""+f(a)),h&&(v=getI18n("vxe.table.rowGroupContentTotal",[v,_?_(a):I,I])),g)return renderCellBaseVNs(e,l.callSlot(g,Object.assign({groupField:T,groupContent:w,childList:x,childCount:I},e)))}else if(l.getPivotTableAggregateCellAggValue){if(v=l.getPivotTableAggregateCellAggValue(e),a.aggValue=v,i)return renderCellBaseVNs(e,l.callSlot(i,Object.assign({groupField:T,groupContent:w,childList:x,childCount:I},e,a)))}else if((!0===C||b&&b.includes(s))&&(v=D?D.value:I,a.aggValue=v,m&&(v=m(a)),i))return renderCellBaseVNs(e,l.callSlot(i,Object.assign({groupField:T,groupContent:w,childList:x,childCount:I},e,a)))}else{if(u)return renderCellBaseVNs(e,l.callSlot(u,e));E=n||d;if(E&&!p){o=renderer.get(E.name);if(o){c=n?o.renderTableCell||o.renderCell:o.renderTableDefault||o.renderDefault;if(c)return renderCellBaseVNs(e,(0,_vn.getSlotVNs)(c(E,Object.assign({$type:n?"edit":"cell"},e))))}}v=l.getCellLabel(t,r)}f=n?n.placeholder:"";return renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},[n&&(0,_utils.eqEmptyValue)(v)?(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(f),1)):(0,_vue.h)("span",(0,_utils.formatText)(v,1))])])},renderDeepCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderDefaultCell(e))},renderDefaultFooter(e){return getFooterContent(e)},renderRowGroupBtn(l,e){let t=l.$table;var r=t.reactData,n=t.internalData,{row:a,level:o}=l,s=t.getComputeMaps().computeAggregateOpts,r=r.rowGroupExpandedFlag,n=n.rowGroupExpandedMaps,{mode:s,padding:i,indent:d,showIcon:u,iconOpen:c,iconClose:C}=s.value,p=(0,_util.getRowid)(t,a),r=!!r&&!!n[p];return(0,_vue.h)("div",{class:["vxe-row-group--tree-node",{"is--expanded":r}],style:"column"!==s&&i&&d?{paddingLeft:o*d+"px"}:void 0},[u&&a.isAggregate?(0,_vue.h)("span",{class:"vxe-row-group--node-btn",onClick(e){t.triggerRowGroupExpandEvent(e,l)}},[(0,_vue.h)("i",{class:r?c||getIcon().TABLE_ROW_GROUP_OPEN:C||getIcon().TABLE_ROW_GROUP_CLOSE})]):renderEmptyElement(t),(0,_vue.h)("div",{class:"vxe-row-group-cell"},e)])},renderTreeNodeBtn(l,e){let{$table:t,isHidden:r}=l;var n=t.reactData,a=t.internalData,{row:o,column:s,level:i}=l,s=s.slots,s=s?s.icon:null;if(s)return t.callSlot(s,l);var s=t.getComputeMaps().computeTreeOpts,n=n.treeExpandedFlag,{fullAllDataRowIdData:a,treeExpandedMaps:d,treeExpandLazyLoadedMaps:u}=a,s=s.value,{padding:c,indent:C,lazy:p,trigger:g,iconLoaded:v,showIcon:E,iconOpen:h,iconClose:_}=s,b=s.children||s.childrenField,s=s.hasChild||s.hasChildField,b=o[b],b=b&&b.length;let f=!1,m=!1,x=!1,D=!1;var T,w={};return r||(T=(0,_util.getRowid)(t,o),m=!!n&&!!d[T],p&&(n=a[T],x=!!u[T],f=o[s],D=!!n.treeLoaded)),g&&"default"!==g||(w.onClick=e=>{t.triggerTreeExpandEvent(e,l)}),(0,_vue.h)("div",{class:["vxe-cell--tree-node",{"is--active":m}],style:c&&C?{paddingLeft:i*C+"px"}:void 0},[E&&(!p||D?b:b||f)?[(0,_vue.h)("div",Object.assign({class:"vxe-cell--tree-btn"},w),[(0,_vue.h)("i",{class:x?v||getIcon().TABLE_TREE_LOADED:m?h||getIcon().TABLE_TREE_OPEN:_||getIcon().TABLE_TREE_CLOSE})])]:null,(0,_vue.h)("div",{class:"vxe-tree-cell"},e)])},renderDeepNodeBtn(e,l){var{$table:t,row:r,column:n}=e,a=n.rowGroupNode,o=t.reactData.rowGroupList;if(o.length){o=t.getComputeMaps().computeAggregateOpts,t=o.value.mode;if("column"===t?n.field===r.groupField:a)return[Cell.renderRowGroupBtn(e,l)]}return[Cell.renderTreeNodeBtn(e,l)]},renderSeqHeader(e){var{$table:l,column:t}=e,r=t.slots,r=r?r.header:null;return renderHeaderCellBaseVNs(e,renderTitleContent(e,r?l.callSlot(r,e):(0,_utils.formatText)(t.getTitle(),1)))},renderSeqCell(e){var{$table:l,column:t}=e,r=l.props.treeConfig,n=l.getComputeMaps().computeSeqOpts,n=n.value,t=t.slots,t=t?t.default:null;return t?renderCellBaseVNs(e,l.callSlot(t,e)):(l=e.seq,t=n.seqMethod,renderCellBaseVNs(e,[(0,_vue.h)("span",""+(0,_utils.formatText)(t?t(e):r?l:(n.startIndex||0)+l,1))]))},renderDeepIndexCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderSeqCell(e))},renderRadioHeader(e){var{$table:l,column:t}=e,r=t.slots,n=r?r.header:null,r=r?r.title:null;return renderHeaderCellBaseVNs(e,renderTitleContent(e,n?l.callSlot(n,e):[(0,_vue.h)("span",{class:"vxe-radio--label"},r?l.callSlot(r,e):(0,_utils.formatText)(t.getTitle(),1))]))},renderRadioCell(l){let{$table:t,column:e,isHidden:r}=l;var n=t.reactData,a=t.getComputeMaps().computeRadioOpts,n=n.selectRadioRow,o=e.slots,{labelField:a,checkMethod:s,visibleMethod:i}=a.value,d=l.row,u=o?o.default:null,o=o?o.radio:null,n=t.eqRow(d,n);let c=!i||i({$table:t,row:d}),C=!!s,p;r||(p={onClick(e){!C&&c&&t.triggerRadioRowEvent(e,l)}},s&&(C=!s({$table:t,row:d})));i=Object.assign(Object.assign({},l),{checked:n,disabled:C,visible:c});return o?renderCellBaseVNs(l,t.callSlot(o,i)):(s=[],c&&s.push((0,_vue.h)("span",{class:["vxe-radio--icon",n?getIcon().TABLE_RADIO_CHECKED:C?getIcon().TABLE_RADIO_DISABLED_UNCHECKED:getIcon().TABLE_RADIO_UNCHECKED]})),(u||a)&&s.push((0,_vue.h)("span",{class:"vxe-radio--label"},u?t.callSlot(u,i):_xeUtils.default.get(d,a))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--radio",{"is--checked":n,"is--disabled":C}]},p),s)]))},renderDeepRadioCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderRadioCell(e))},renderCheckboxHeader(e){let{$table:l,column:t,isHidden:r}=e;var n=l.reactData,{computeIsAllCheckboxDisabled:a,computeCheckboxOpts:o}=l.getComputeMaps();let{isAllSelected:s,isIndeterminate:i}=n,d=a.value;var n=t.slots,a=n?n.header:null,n=n?n.title:null,{checkStrictly:o,showHeader:u,headerTitle:c}=o.value,C=t.getTitle(),p={},g=(r||(p.onClick=e=>{d||l.triggerCheckAllEvent(e,!s)}),Object.assign(Object.assign({},e),{checked:s,disabled:d,indeterminate:i}));return renderHeaderCellBaseVNs(e,renderTitleContent(g,a?l.callSlot(a,g):(o?u:!1!==u)?[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":s,"is--disabled":d,"is--indeterminate":i}],title:_xeUtils.default.eqNull(c)?getI18n("vxe.table.allTitle"):""+(c||"")},p),[(0,_vue.h)("span",{class:["vxe-checkbox--icon",i?getIcon().TABLE_CHECKBOX_INDETERMINATE:s?getIcon().TABLE_CHECKBOX_CHECKED:d?getIcon().TABLE_CHECKBOX_DISABLED_UNCHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})].concat(n||C?[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,g):C)]:[]))]:[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,g):C)]))},renderCheckboxCell(l){let{$table:t,row:e,column:r,isHidden:n}=l;var a=t.props.treeConfig,{updateCheckboxFlag:o,isRowGroupStatus:s}=t.reactData,{selectCheckboxMaps:i,treeIndeterminateRowMaps:d}=t.internalData,{computeCheckboxOpts:u,computeAggregateOpts:c}=t.getComputeMaps(),c=c.value.mapChildrenField;let{labelField:C,checkMethod:p,visibleMethod:g}=u.value;var u=r.slots,v=u?u.default:null,u=u?u.checkbox:null;let E=!1,h=!1,_=!0,b=!1;var f,m={},i=(n||(f=(0,_util.getRowid)(t,e),h=!!o&&!!i[f],p&&s&&t.isAggregateRecord(e)?(o=e[c||""])&&o.length&&!o.every(e=>!p({$table:t,row:e}))||(b=!0):(_=!g||g({$table:t,row:e}),b=p?!p({$table:t,row:e}):!!p),(a||s)&&(E=!!d[f]),m.onClick=e=>{!b&&_&&t.triggerCheckRowEvent(e,l,!h)}),Object.assign(Object.assign({},l),{checked:h,disabled:b,visible:_,indeterminate:E}));return u?renderCellBaseVNs(l,t.callSlot(u,i)):(c=[],_&&c.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",E?getIcon().TABLE_CHECKBOX_INDETERMINATE:h?getIcon().TABLE_CHECKBOX_CHECKED:b?getIcon().TABLE_CHECKBOX_DISABLED_UNCHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(v||C)&&c.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},v?t.callSlot(v,i):_xeUtils.default.get(e,C))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":h,"is--disabled":b,"is--indeterminate":E,"is--hidden":!_}]},m),c)]))},renderDeepSelectionCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderCheckboxCell(e))},renderCheckboxCellByProp(l){let{$table:t,row:e,column:r,isHidden:n}=l;var a=t.props.treeConfig,{updateCheckboxFlag:o,isRowGroupStatus:s}=t.reactData,i=t.internalData.treeIndeterminateRowMaps,{computeCheckboxOpts:d,computeAggregateOpts:u}=t.getComputeMaps(),u=u.value.mapChildrenField,d=d.value;let{labelField:c,checkField:C,checkMethod:p,visibleMethod:g}=d;var d=d.indeterminateField||d.halfField,v=r.slots,E=v?v.default:null,v=v?v.checkbox:null;let h=!1,_=!1,b=!0,f=!1;var m,x={},u=(n||(m=(0,_util.getRowid)(t,e),_=!!o&&_xeUtils.default.get(e,C),p&&s&&t.isAggregateRecord(e)?(o=e[u||""])&&o.length&&!o.every(e=>!p({$table:t,row:e}))||(f=!0):(b=!g||g({$table:t,row:e}),f=p?!p({$table:t,row:e}):!!p),(a||s)&&(h=!!i[m]),x.onClick=e=>{!f&&b&&t.triggerCheckRowEvent(e,l,!_)}),Object.assign(Object.assign({},l),{checked:_,disabled:f,visible:b,indeterminate:h}));return v?renderCellBaseVNs(l,t.callSlot(v,u)):(o=[],b&&(o.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",h?getIcon().TABLE_CHECKBOX_INDETERMINATE:_?getIcon().TABLE_CHECKBOX_CHECKED:f?getIcon().TABLE_CHECKBOX_DISABLED_UNCHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),E||c)&&o.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},E?t.callSlot(E,u):_xeUtils.default.get(e,c))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":_,"is--disabled":f,"is--indeterminate":d&&!_?e[d]:h,"is--hidden":!b}]},x),o)]))},renderDeepSelectionCellByProp(e){return Cell.renderDeepNodeBtn(e,Cell.renderCheckboxCellByProp(e))},renderExpandCell(l){let{$table:t,isHidden:e,row:r,column:n}=l;var a=t.reactData.isRowGroupStatus,{rowExpandedMaps:o,rowExpandLazyLoadedMaps:s}=t.internalData,i=t.getComputeMaps().computeExpandOpts,{lazy:i,labelField:d,iconLoaded:u,showIcon:c,iconOpen:C,iconClose:p,visibleMethod:g}=i.value,v=n.slots,E=v?v.default:null,v=v?v.icon:null;let h=!1,_=!1;return a&&r.isAggregate?renderCellBaseVNs(l,[]):v?renderCellBaseVNs(l,t.callSlot(v,l)):(e||(a=(0,_util.getRowid)(t,r),h=!!o[a],i&&(_=!!s[a])),renderCellBaseVNs(l,[!c||g&&!g(l)?renderEmptyElement(t):(0,_vue.h)("span",{class:["vxe-table--expanded",{"is--active":h}],onMousedown(e){e.stopPropagation()},onClick(e){t.triggerRowExpandEvent(e,l)}},[(0,_vue.h)("i",{class:["vxe-table--expand-btn",_?u||getIcon().TABLE_EXPAND_LOADED:h?C||getIcon().TABLE_EXPAND_OPEN:p||getIcon().TABLE_EXPAND_CLOSE]})]),E||d?(0,_vue.h)("span",{class:"vxe-table--expand-label"},E?t.callSlot(E,l):_xeUtils.default.get(r,d)):renderEmptyElement(t)]))},renderExpandData(e){var{$table:l,column:t}=e,{slots:t,contentRender:r}=t,t=t?t.content:null;if(t)return l.callSlot(t,e);if(r){l=renderer.get(r.name);if(l){t=l.renderTableExpand||l.renderExpand;if(t)return(0,_vn.getSlotVNs)(t(r,e))}}return[]},renderHTMLCell(e){var{$table:l,column:t}=e,t=t.slots,t=t?t.default:null;return renderCellBaseVNs(e,t?l.callSlot(t,e):[(0,_vue.h)("span",{class:"vxe-cell--html",innerHTML:getDefaultCellLabel(e)})])},renderDeepHTMLCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderHTMLCell(e))},renderSortAndFilterHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderSortIcon(e).concat(Cell.renderFilterIcon(e))))},renderSortHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderSortIcon(e)))},renderSortIcon(e){let{$table:l,column:t}=e;var r=l.getComputeMaps().computeSortOpts,{showIcon:r,allowBtn:n,ascTitle:a,descTitle:o,iconLayout:s,iconAsc:i,iconDesc:d,iconVisibleMethod:u}=r.value,{order:c,slots:C}=t;return!r||u&&!u(e)?[]:(r=C?C.sort:null)?(0,_vn.getSlotVNs)(l.callSlot(r,e)):[(0,_vue.h)("span",{class:["vxe-cell--sort",`vxe-cell--sort-${s}-layout`]},[(0,_vue.h)("i",{class:["vxe-sort--asc-btn",i||getIcon().TABLE_SORT_ASC,{"sort--active":"asc"===c}],title:_xeUtils.default.eqNull(a)?getI18n("vxe.table.sortAsc"):""+(a||""),onClick:n?e=>{e.stopPropagation(),l.triggerSortEvent(e,t,"asc")}:void 0}),(0,_vue.h)("i",{class:["vxe-sort--desc-btn",d||getIcon().TABLE_SORT_DESC,{"sort--active":"desc"===c}],title:_xeUtils.default.eqNull(o)?getI18n("vxe.table.sortDesc"):""+(o||""),onClick:n?e=>{e.stopPropagation(),l.triggerSortEvent(e,t,"desc")}:void 0})])]},renderFilterHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderFilterIcon(e)))},renderFilterIcon(l){let{$table:t,column:e,hasFilter:r}=l;var n=t.reactData.filterStore,a=t.getComputeMaps().computeFilterOpts,{showIcon:a,iconNone:o,iconMatch:s,iconVisibleMethod:i}=a.value;return!a||i&&!i(l)?[]:[(0,_vue.h)("span",{class:["vxe-cell--filter",{"is--active":n.visible&&n.column===e}],onClick(e){t.triggerFilterEvent&&t.triggerFilterEvent(e,l.column,l)}},[(0,_vue.h)("i",{class:["vxe-filter--btn",r?s||getIcon().TABLE_FILTER_MATCH:o||getIcon().TABLE_FILTER_NONE],title:getI18n("vxe.table.filter")})])]},renderEditHeader(e){var{$table:l,column:t}=e,r=l.props,n=l.getComputeMaps().computeEditOpts,{editConfig:r,editRules:a}=r,n=n.value,{sortable:o,filters:s,editRender:i}=t,r=r&&(0,_utils.isEnableConf)(r),i=r&&(0,_utils.isEnableConf)(i)?i:null;let d=!1,u=(a&&(a=_xeUtils.default.get(a,t.field))&&(d=a.some(e=>e.required)),[]);return r&&({showAsterisk:t,showIcon:a,icon:r}=n,u=[d&&t?(0,_vue.h)("span",{class:"vxe-cell--required-icon"},[(0,_vue.h)("i")]):renderEmptyElement(l),i&&a?(0,_vue.h)("span",{class:"vxe-cell--edit-icon"},_xeUtils.default.isFunction(r)?(0,_vn.getSlotVNs)(r({})):[(0,_vue.h)("i",{class:r||getIcon().TABLE_EDIT})]):renderEmptyElement(l)]),renderHeaderCellBaseVNs(e,u.concat(Cell.renderHeaderTitle(e)).concat(o?Cell.renderSortIcon(e):[]).concat(s?Cell.renderFilterIcon(e):[]))},renderRowEdit(e){var{$table:l,column:t}=e,r=l.props.editConfig,l=l.reactData.editStore,l=l.actived,t=t.editRender,r=r&&(0,_utils.isEnableConf)(r)&&(0,_utils.isEnableConf)(t)?t:null;return Cell.runRenderer(e,!(!r||!l||l.row!==e.row))},renderDeepRowEdit(e){return Cell.renderDeepNodeBtn(e,Cell.renderRowEdit(e))},renderCellEdit(e){var{$table:l,column:t}=e,r=l.props.editConfig,l=l.reactData.editStore,l=l.actived,t=t.editRender,r=r&&(0,_utils.isEnableConf)(r)&&(0,_utils.isEnableConf)(t)?t:null;return Cell.runRenderer(e,!(!r||!l||l.row!==e.row||l.column!==e.column))},renderDeepCellEdit(e){return Cell.renderDeepNodeBtn(e,Cell.renderCellEdit(e))},runRenderer(e,l){var{$table:t,row:r,column:n}=e,a=t.props.editConfig,o=t.reactData.isRowGroupStatus,{slots:n,field:s,editRender:i,formatter:d}=n,a=a&&(0,_utils.isEnableConf)(a)&&(0,_utils.isEnableConf)(i)?i:null,i=n?n.default:null,u=n?n.groupContent||n["group-content"]:null,n=n?n.edit:null,c=Object.assign({$type:"",isEdit:l},e);if(l&&a)return c.$type="edit",n?t.callSlot(n,c):(n=(l=renderer.get(a.name))?l.renderTableEdit||l.renderEdit:null)?(0,_vn.getSlotVNs)(n(a,c)):[];if(o&&s&&r.isAggregate){l=r,n=t.getComputeMaps().computeAggregateOpts,a=n.value.mapChildrenField,o=l.groupField,s=l.groupContent,r=a&&l[a]||[],n=l.childCount;if(u)return renderCellBaseVNs(e,t.callSlot(u,Object.assign({groupField:o,groupContent:s,childList:r,childCount:n},e)))}else if(i)return renderCellBaseVNs(e,t.callSlot(i,c));return d?renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},getDefaultCellLabel(c))]):Cell.renderDefaultCell(c)}};var _default=exports.default=Cell;