vxe-table 4.17.32 → 4.17.33
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/style.css +1 -1
- package/es/table/src/cell.js +11 -3
- package/es/table/src/header.js +3 -3
- package/es/table/src/table.js +3 -1
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/index.umd.js +32 -14
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/src/cell.js +26 -8
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/header.js +3 -3
- package/lib/table/src/header.min.js +1 -1
- package/lib/table/src/table.js +1 -1
- package/lib/table/src/table.min.js +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +1 -1
- package/packages/table/src/cell.ts +11 -3
- package/packages/table/src/header.ts +3 -3
- package/packages/table/src/table.ts +3 -1
- /package/es/{iconfont.1766115884470.ttf → iconfont.1766365237751.ttf} +0 -0
- /package/es/{iconfont.1766115884470.woff → iconfont.1766365237751.woff} +0 -0
- /package/es/{iconfont.1766115884470.woff2 → iconfont.1766365237751.woff2} +0 -0
- /package/lib/{iconfont.1766115884470.ttf → iconfont.1766365237751.ttf} +0 -0
- /package/lib/{iconfont.1766115884470.woff → iconfont.1766365237751.woff} +0 -0
- /package/lib/{iconfont.1766115884470.woff2 → iconfont.1766365237751.woff2} +0 -0
package/lib/table/src/cell.js
CHANGED
|
@@ -483,6 +483,7 @@ const Cell = exports.Cell = {
|
|
|
483
483
|
const renderOpts = editConfig && (0, _utils.isEnableConf)(editRender) ? editRender : (0, _utils.isEnableConf)(cellRender) ? cellRender : null;
|
|
484
484
|
const defaultSlot = slots ? slots.default : null;
|
|
485
485
|
const gcSlot = slots ? slots.groupContent || slots['group-content'] : null;
|
|
486
|
+
const gvSlot = slots ? slots.groupValues || slots['group-values'] : null;
|
|
486
487
|
let cellValue = '';
|
|
487
488
|
if (isRowGroupStatus && field && row.isAggregate) {
|
|
488
489
|
const aggRow = row;
|
|
@@ -529,14 +530,6 @@ const Cell = exports.Cell = {
|
|
|
529
530
|
*/
|
|
530
531
|
totalValue: childCount
|
|
531
532
|
};
|
|
532
|
-
if (gcSlot) {
|
|
533
|
-
return renderCellBaseVNs(params, $table.callSlot(gcSlot, Object.assign({
|
|
534
|
-
groupField,
|
|
535
|
-
groupContent,
|
|
536
|
-
childList,
|
|
537
|
-
childCount
|
|
538
|
-
}, params)));
|
|
539
|
-
}
|
|
540
533
|
if (mode === 'column' ? field === aggRow.groupField : rowGroupNode) {
|
|
541
534
|
cellValue = groupContent;
|
|
542
535
|
if (contentMethod) {
|
|
@@ -545,14 +538,39 @@ const Cell = exports.Cell = {
|
|
|
545
538
|
if (showTotal) {
|
|
546
539
|
cellValue = getI18n('vxe.table.rowGroupContentTotal', [cellValue, totalMethod ? totalMethod(ctParams) : childCount, childCount]);
|
|
547
540
|
}
|
|
541
|
+
if (gcSlot) {
|
|
542
|
+
return renderCellBaseVNs(params, $table.callSlot(gcSlot, Object.assign({
|
|
543
|
+
groupField,
|
|
544
|
+
groupContent,
|
|
545
|
+
childList,
|
|
546
|
+
childCount
|
|
547
|
+
}, params)));
|
|
548
|
+
}
|
|
548
549
|
} else if ($table.getPivotTableAggregateCellAggValue) {
|
|
549
550
|
cellValue = $table.getPivotTableAggregateCellAggValue(params);
|
|
551
|
+
ctParams.aggValue = cellValue;
|
|
552
|
+
if (gvSlot) {
|
|
553
|
+
return renderCellBaseVNs(params, $table.callSlot(gvSlot, Object.assign({
|
|
554
|
+
groupField,
|
|
555
|
+
groupContent,
|
|
556
|
+
childList,
|
|
557
|
+
childCount
|
|
558
|
+
}, params, ctParams)));
|
|
559
|
+
}
|
|
550
560
|
} else if (aggFunc === true || countFields && countFields.includes(field)) {
|
|
551
561
|
cellValue = currAggData ? currAggData.value : childCount;
|
|
552
562
|
ctParams.aggValue = cellValue;
|
|
553
563
|
if (formatValuesMethod) {
|
|
554
564
|
cellValue = formatValuesMethod(ctParams);
|
|
555
565
|
}
|
|
566
|
+
if (gvSlot) {
|
|
567
|
+
return renderCellBaseVNs(params, $table.callSlot(gvSlot, Object.assign({
|
|
568
|
+
groupField,
|
|
569
|
+
groupContent,
|
|
570
|
+
childList,
|
|
571
|
+
childCount
|
|
572
|
+
}, params, ctParams)));
|
|
573
|
+
}
|
|
556
574
|
}
|
|
557
575
|
} else {
|
|
558
576
|
if (defaultSlot) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
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:d,disabledMethod:s}=o.value,s=s||(a?a.rowDisabledMethod:null);let i=s&&s(l);s=(n?n.rowDragIcon||n["row-drag-icon"]:null)||r.rowDragIcon||r["row-drag-icon"],n={};return"cell"!==d&&(n.onMousedown=e=>{i||t.handleCellDragMousedownEvent(e,l)},n.onMouseup=t.handleCellDragMouseupEvent),(0,_vue.h)("span",Object.assign({key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":i}]},n),s?t.callSlot(s,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:d,computeTreeOpts:s}=t.getComputeMaps(),t=t.value,d=d.value,s=s.value,{showIcon:d,isPeerDrag:i,isCrossDrag:u,visibleMethod:c}=d,c=c||(o?o.rowVisibleMethod:null),C=[];return r&&t.drag&&(d||o&&o.showRowIcon)&&(!c||c(e))&&(!a||s.transform&&(i||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:d}=r.getComputeMaps(),o=o.value,{showIcon:d,icon:s,trigger:i,isPeerDrag:l,isCrossDrag:u,visibleMethod:c,disabledMethod:C}=d.value;if(!o.drag||!d||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"],d={};return"cell"!==i&&(d.onMousedown=e=>{l||r.handleHeaderCellDragMousedownEvent(e,t)},d.onMouseup=r.handleHeaderCellDragMouseupEvent),(0,_vue.h)("span",Object.assign({key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":l}]},d),o?r.callSlot(o,t):[(0,_vue.h)("i",{class:s||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,d=a.isRowGroupStatus,{showHeaderOverflow:s,slots:i}=r,i=i?i.title:null;let u=o.value.showAll;o=_xeUtils.default.eqNull(s)?n:s;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)}),s=getRenderDefaultColumnTitle(r,e);return[(0,_vue.h)("span",Object.assign({class:"vxe-cell--title"},n),d&&r.aggFunc&&t.getPivotTableAggregateRenderColTitles?t.getPivotTableAggregateRenderColTitles(r,s):i?t.callSlot(i,l):[s])]}function getFooterContent(e){var{$table:l,column:t,row:r}=e,{slots:n,editRender:a,cellRender:o}=t,a=a||o,o=n?n.footer:null;if(o)return l.callSlot(o,e);n=l.getFooterCellLabel(r,t);if(a){o=renderer.get(a.name);if(o){l=o.renderTableFooter||o.renderFooter;if(l)return r=Object.assign(e,{cellValue:n,itemValue:n}),(0,_vn.getSlotVNs)(l(a,r))}}return[(0,_vue.h)("span",{class:"vxe-cell--label"},(0,_utils.formatText)(n,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:d,rowGroupNode:s,editRender:i}=l,{computeEditOpts:r,computeCheckboxOpts:u,computeAggregateOpts:c}=r.getComputeMaps(),c=c.value.mode,C=u.value,u=r.value,p=d||a&&("column"===c?l.field===t.groupField:s);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)(u)&&i?"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,r=t.props,t=t.getComputeMaps().computeEditOpts,r=r.editConfig,t=t.value,{type:l,filters:n,sortable:a,editRender:o}=l;switch(l){case"seq":return Cell.renderSeqHeader(e);case"radio":return Cell.renderRadioHeader(e);case"checkbox":return Cell.renderCheckboxHeader(e);case"html":if(n&&a)return Cell.renderSortAndFilterHeader(e);if(a)return Cell.renderSortHeader(e);if(n)return Cell.renderFilterHeader(e)}return r&&(0,_utils.isEnableConf)(t)&&o?Cell.renderEditHeader(e):n&&a?Cell.renderSortAndFilterHeader(e):a?Cell.renderSortHeader(e):n?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,{slots:r,editRender:n,cellRender:a}=t,n=n||a,a=r?r.header:null;if(a)return renderTitleContent(e,l.callSlot(a,e));if(n){r=renderer.get(n.name);if(r){l=r.renderTableHeader||r.renderHeader;if(l)return renderTitleContent(e,(0,_vn.getSlotVNs)(l(n,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:d,slots:s,editRender:i,cellRender:u,rowGroupNode:c,aggFunc:C,formatter:p}=r,n=n&&(0,_utils.isEnableConf)(i)?i:(0,_utils.isEnableConf)(u)?u:null,u=s?s.default:null,s=s?s.groupContent||s["group-content"]:null;let g="";if(o&&d&&t.isAggregate){var o=t,a=a.fullColumnFieldData,v=l.getComputeMaps().computeAggregateOpts,{mode:v,showTotal:h,totalMethod:E,countFields:_,contentMethod:b,formatValuesMethod:m,mapChildrenField:f}=v.value,x=o.aggData,x=x?x[d]:null,D=o.groupField,T=o.groupContent,f=f&&o[f]||[],w=o.childCount,a=a[D]||{},a={$table:l,groupField:D,groupColumn:a?a.column:null,column:r,groupValue:T,childList:f,childCount:w,aggValue:null,children:f,totalValue:w};if(s)return renderCellBaseVNs(e,l.callSlot(s,Object.assign({groupField:D,groupContent:T,childList:f,childCount:w},e)));("column"===v?d===o.groupField:c)?(g=T,b&&(g=""+b(a)),h&&(g=getI18n("vxe.table.rowGroupContentTotal",[g,E?E(a):w,w]))):l.getPivotTableAggregateCellAggValue?g=l.getPivotTableAggregateCellAggValue(e):(!0===C||_&&_.includes(d))&&(g=x?x.value:w,a.aggValue=g,m)&&(g=m(a))}else{if(u)return renderCellBaseVNs(e,l.callSlot(u,e));if(n&&!p){s=renderer.get(n.name);if(s){D=s.renderTableCell||s.renderCell,f=s.renderTableDefault||s.renderDefault,v=i?D:f;if(v)return renderCellBaseVNs(e,(0,_vn.getSlotVNs)(v(n,Object.assign({$type:i?"edit":"cell"},e))))}}g=l.getCellLabel(t,r)}o=i?i.placeholder:"";return renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},[i&&(0,_utils.eqEmptyValue)(g)?(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(o),1)):(0,_vue.h)("span",(0,_utils.formatText)(g,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,d=t.getComputeMaps().computeAggregateOpts,r=r.rowGroupExpandedFlag,n=n.rowGroupExpandedMaps,{mode:d,padding:s,indent:i,showIcon:u,iconOpen:c,iconClose:C}=d.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"!==d&&s&&i?{paddingLeft:o*i+"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:d,level:s}=l,d=d.slots,d=d?d.icon:null;if(d)return t.callSlot(d,l);var d=t.getComputeMaps().computeTreeOpts,n=n.treeExpandedFlag,{fullAllDataRowIdData:a,treeExpandedMaps:i,treeExpandLazyLoadedMaps:u}=a,d=d.value,{padding:c,indent:C,lazy:p,trigger:g,iconLoaded:v,showIcon:h,iconOpen:E,iconClose:_}=d,b=d.children||d.childrenField,d=d.hasChild||d.hasChildField,b=o[b],b=b&&b.length;let m=!1,f=!1,x=!1,D=!1;var T,w={};return r||(T=(0,_util.getRowid)(t,o),f=!!n&&!!i[T],p&&(n=a[T],x=!!u[T],m=o[d],D=!!n.treeLoaded)),g&&"default"!==g||(w.onClick=e=>{t.triggerTreeExpandEvent(e,l)}),(0,_vue.h)("div",{class:["vxe-cell--tree-node",{"is--active":f}],style:c&&C?{paddingLeft:s*C+"px"}:void 0},[h&&(!p||D?b:b||m)?[(0,_vue.h)("div",Object.assign({class:"vxe-cell--tree-btn"},w),[(0,_vue.h)("i",{class:x?v||getIcon().TABLE_TREE_LOADED:f?E||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:d,visibleMethod:s}=a.value,i=l.row,u=o?o.default:null,o=o?o.radio:null,n=t.eqRow(i,n);let c=!s||s({$table:t,row:i}),C=!!d,p;r||(p={onClick(e){!C&&c&&t.triggerRadioRowEvent(e,l)}},d&&(C=!d({$table:t,row:i})));s=Object.assign(Object.assign({},l),{checked:n,disabled:C,visible:c});return o?renderCellBaseVNs(l,t.callSlot(o,s)):(d=[],c&&d.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)&&d.push((0,_vue.h)("span",{class:"vxe-radio--label"},u?t.callSlot(u,s):_xeUtils.default.get(i,a))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--radio",{"is--checked":n,"is--disabled":C}]},p),d)]))},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:d,isIndeterminate:s}=n,i=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=>{i||l.triggerCheckAllEvent(e,!d)}),Object.assign(Object.assign({},e),{checked:d,disabled:i,indeterminate:s}));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":d,"is--disabled":i,"is--indeterminate":s}],title:_xeUtils.default.eqNull(c)?getI18n("vxe.table.allTitle"):""+(c||"")},p),[(0,_vue.h)("span",{class:["vxe-checkbox--icon",s?getIcon().TABLE_CHECKBOX_INDETERMINATE:d?getIcon().TABLE_CHECKBOX_CHECKED:i?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:d}=t.reactData,{selectCheckboxMaps:s,treeIndeterminateRowMaps:i}=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 h=!1,E=!1,_=!0,b=!1;var m,f={},s=(n||(m=(0,_util.getRowid)(t,e),E=!!o&&!!s[m],p&&d&&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||d)&&(h=!!i[m]),f.onClick=e=>{!b&&_&&t.triggerCheckRowEvent(e,l,!E)}),Object.assign(Object.assign({},l),{checked:E,disabled:b,visible:_,indeterminate:h}));return u?renderCellBaseVNs(l,t.callSlot(u,s)):(c=[],_&&c.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",h?getIcon().TABLE_CHECKBOX_INDETERMINATE:E?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,s):_xeUtils.default.get(e,C))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":E,"is--disabled":b,"is--indeterminate":h,"is--hidden":!_}]},f),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:d}=t.reactData,s=t.internalData.treeIndeterminateRowMaps,{computeCheckboxOpts:i,computeAggregateOpts:u}=t.getComputeMaps(),u=u.value.mapChildrenField,i=i.value;let{labelField:c,checkField:C,checkMethod:p,visibleMethod:g}=i;var i=i.indeterminateField||i.halfField,v=r.slots,h=v?v.default:null,v=v?v.checkbox:null;let E=!1,_=!1,b=!0,m=!1;var f,x={},u=(n||(f=(0,_util.getRowid)(t,e),_=!!o&&_xeUtils.default.get(e,C),p&&d&&t.isAggregateRecord(e)?(o=e[u||""])&&o.length&&!o.every(e=>!p({$table:t,row:e}))||(m=!0):(b=!g||g({$table:t,row:e}),m=p?!p({$table:t,row:e}):!!p),(a||d)&&(E=!!s[f]),x.onClick=e=>{!m&&b&&t.triggerCheckRowEvent(e,l,!_)}),Object.assign(Object.assign({},l),{checked:_,disabled:m,visible:b,indeterminate:E}));return v?renderCellBaseVNs(l,t.callSlot(v,u)):(o=[],b&&(o.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",E?getIcon().TABLE_CHECKBOX_INDETERMINATE:_?getIcon().TABLE_CHECKBOX_CHECKED:m?getIcon().TABLE_CHECKBOX_DISABLED_UNCHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),h||c)&&o.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},h?t.callSlot(h,u):_xeUtils.default.get(e,c))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":_,"is--disabled":m,"is--indeterminate":i&&!_?e[i]:E,"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:d}=t.internalData,s=t.getComputeMaps().computeExpandOpts,{lazy:s,labelField:i,iconLoaded:u,showIcon:c,iconOpen:C,iconClose:p,visibleMethod:g}=s.value,v=n.slots,h=v?v.default:null,v=v?v.icon:null;let E=!1,_=!1;return a&&r.isAggregate?renderCellBaseVNs(l,[]):v?renderCellBaseVNs(l,t.callSlot(v,l)):(e||(a=(0,_util.getRowid)(t,r),E=!!o[a],s&&(_=!!d[a])),renderCellBaseVNs(l,[!c||g&&!g(l)?renderEmptyElement(t):(0,_vue.h)("span",{class:["vxe-table--expanded",{"is--active":E}],onMousedown(e){e.stopPropagation()},onClick(e){t.triggerRowExpandEvent(e,l)}},[(0,_vue.h)("i",{class:["vxe-table--expand-btn",_?u||getIcon().TABLE_EXPAND_LOADED:E?C||getIcon().TABLE_EXPAND_OPEN:p||getIcon().TABLE_EXPAND_CLOSE]})]),h||i?(0,_vue.h)("span",{class:"vxe-table--expand-label"},h?t.callSlot(h,l):_xeUtils.default.get(r,i)):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:d,iconAsc:s,iconDesc:i,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-${d}-layout`]},[(0,_vue.h)("i",{class:["vxe-sort--asc-btn",s||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",i||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:d,iconVisibleMethod:s}=a.value;return!a||s&&!s(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?d||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:d,editRender:s}=t;let i=!1,u=(a&&(a=_xeUtils.default.get(a,t.field))&&(i=a.some(e=>e.required)),[]);return(0,_utils.isEnableConf)(r)&&({showAsterisk:t,showIcon:a,icon:r}=n,u=[i&&t?(0,_vue.h)("span",{class:"vxe-cell--required-icon"},[(0,_vue.h)("i")]):renderEmptyElement(l),(0,_utils.isEnableConf)(s)&&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(d?Cell.renderFilterIcon(e):[]))},renderRowEdit(e){var{$table:l,column:t}=e,l=l.reactData.editStore,l=l.actived,t=t.editRender;return Cell.runRenderer(e,(0,_utils.isEnableConf)(t)&&l&&l.row===e.row)},renderDeepRowEdit(e){return Cell.renderDeepNodeBtn(e,Cell.renderRowEdit(e))},renderCellEdit(e){var{$table:l,column:t}=e,l=l.reactData.editStore,l=l.actived,t=t.editRender;return Cell.runRenderer(e,(0,_utils.isEnableConf)(t)&&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.reactData.isRowGroupStatus,{slots:n,field:o,editRender:d,formatter:s}=n,i=n?n.default:null,u=n?n.groupContent||n["group-content"]:null,n=n?n.edit:null,c=renderer.get(d.name),c=c?c.renderTableEdit||c.renderEdit:null,C=Object.assign({$type:"",isEdit:l},e);if(l)return C.$type="edit",n?t.callSlot(n,C):c?(0,_vn.getSlotVNs)(c(d,C)):[];if(a&&o&&r.isAggregate){l=r,n=t.getComputeMaps().computeAggregateOpts,c=n.value.mapChildrenField,d=l.groupField,a=l.groupContent,o=c&&l[c]||[],r=l.childCount;if(u)return renderCellBaseVNs(e,t.callSlot(u,Object.assign({groupField:d,groupContent:a,childList:o,childCount:r},e)))}else if(i)return renderCellBaseVNs(e,t.callSlot(i,C));return s?renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},getDefaultCellLabel(C))]):Cell.renderDefaultCell(C)}};var _default=exports.default=Cell;
|
|
1
|
+
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:d,disabledMethod:s}=o.value,s=s||(a?a.rowDisabledMethod:null);let i=s&&s(l);s=(n?n.rowDragIcon||n["row-drag-icon"]:null)||r.rowDragIcon||r["row-drag-icon"],n={};return"cell"!==d&&(n.onMousedown=e=>{i||t.handleCellDragMousedownEvent(e,l)},n.onMouseup=t.handleCellDragMouseupEvent),(0,_vue.h)("span",Object.assign({key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":i}]},n),s?t.callSlot(s,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:d,computeTreeOpts:s}=t.getComputeMaps(),t=t.value,d=d.value,s=s.value,{showIcon:d,isPeerDrag:i,isCrossDrag:u,visibleMethod:c}=d,c=c||(o?o.rowVisibleMethod:null),C=[];return r&&t.drag&&(d||o&&o.showRowIcon)&&(!c||c(e))&&(!a||s.transform&&(i||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:d}=r.getComputeMaps(),o=o.value,{showIcon:d,icon:s,trigger:i,isPeerDrag:l,isCrossDrag:u,visibleMethod:c,disabledMethod:C}=d.value;if(!o.drag||!d||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"],d={};return"cell"!==i&&(d.onMousedown=e=>{l||r.handleHeaderCellDragMousedownEvent(e,t)},d.onMouseup=r.handleHeaderCellDragMouseupEvent),(0,_vue.h)("span",Object.assign({key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":l}]},d),o?r.callSlot(o,t):[(0,_vue.h)("i",{class:s||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,d=a.isRowGroupStatus,{showHeaderOverflow:s,slots:i}=r,i=i?i.title:null;let u=o.value.showAll;o=_xeUtils.default.eqNull(s)?n:s;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)}),s=getRenderDefaultColumnTitle(r,e);return[(0,_vue.h)("span",Object.assign({class:"vxe-cell--title"},n),d&&r.aggFunc&&t.getPivotTableAggregateRenderColTitles?t.getPivotTableAggregateRenderColTitles(r,s):i?t.callSlot(i,l):[s])]}function getFooterContent(e){var{$table:l,column:t,row:r}=e,{slots:n,editRender:a,cellRender:o}=t,a=a||o,o=n?n.footer:null;if(o)return l.callSlot(o,e);n=l.getFooterCellLabel(r,t);if(a){o=renderer.get(a.name);if(o){l=o.renderTableFooter||o.renderFooter;if(l)return r=Object.assign(e,{cellValue:n,itemValue:n}),(0,_vn.getSlotVNs)(l(a,r))}}return[(0,_vue.h)("span",{class:"vxe-cell--label"},(0,_utils.formatText)(n,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:d,rowGroupNode:s,editRender:i}=l,{computeEditOpts:r,computeCheckboxOpts:u,computeAggregateOpts:c}=r.getComputeMaps(),c=c.value.mode,C=u.value,u=r.value,p=d||a&&("column"===c?l.field===t.groupField:s);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)(u)&&i?"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,r=t.props,t=t.getComputeMaps().computeEditOpts,r=r.editConfig,t=t.value,{type:l,filters:n,sortable:a,editRender:o}=l;switch(l){case"seq":return Cell.renderSeqHeader(e);case"radio":return Cell.renderRadioHeader(e);case"checkbox":return Cell.renderCheckboxHeader(e);case"html":if(n&&a)return Cell.renderSortAndFilterHeader(e);if(a)return Cell.renderSortHeader(e);if(n)return Cell.renderFilterHeader(e)}return r&&(0,_utils.isEnableConf)(t)&&o?Cell.renderEditHeader(e):n&&a?Cell.renderSortAndFilterHeader(e):a?Cell.renderSortHeader(e):n?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,{slots:r,editRender:n,cellRender:a}=t,n=n||a,a=r?r.header:null;if(a)return renderTitleContent(e,l.callSlot(a,e));if(n){r=renderer.get(n.name);if(r){l=r.renderTableHeader||r.renderHeader;if(l)return renderTitleContent(e,(0,_vn.getSlotVNs)(l(n,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:d,slots:s,editRender:i,cellRender:u,rowGroupNode:c,aggFunc:C,formatter:p}=r,n=n&&(0,_utils.isEnableConf)(i)?i:(0,_utils.isEnableConf)(u)?u:null,u=s?s.default:null,g=s?s.groupContent||s["group-content"]:null,s=s?s.groupValues||s["group-values"]:null;let v="";if(o&&d&&t.isAggregate){var o=t,a=a.fullColumnFieldData,h=l.getComputeMaps().computeAggregateOpts,{mode:h,showTotal:E,totalMethod:_,countFields:b,contentMethod:m,formatValuesMethod:f,mapChildrenField:x}=h.value,D=o.aggData,D=D?D[d]: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"===h?d===o.groupField:c){if(v=w,m&&(v=""+m(a)),E&&(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,s)return renderCellBaseVNs(e,l.callSlot(s,Object.assign({groupField:T,groupContent:w,childList:x,childCount:I},e,a)))}else if((!0===C||b&&b.includes(d))&&(v=D?D.value:I,a.aggValue=v,f&&(v=f(a)),s))return renderCellBaseVNs(e,l.callSlot(s,Object.assign({groupField:T,groupContent:w,childList:x,childCount:I},e,a)))}else{if(u)return renderCellBaseVNs(e,l.callSlot(u,e));if(n&&!p){h=renderer.get(n.name);if(h){o=h.renderTableCell||h.renderCell,c=h.renderTableDefault||h.renderDefault,m=i?o:c;if(m)return renderCellBaseVNs(e,(0,_vn.getSlotVNs)(m(n,Object.assign({$type:i?"edit":"cell"},e))))}}v=l.getCellLabel(t,r)}E=i?i.placeholder:"";return renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},[i&&(0,_utils.eqEmptyValue)(v)?(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(E),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,d=t.getComputeMaps().computeAggregateOpts,r=r.rowGroupExpandedFlag,n=n.rowGroupExpandedMaps,{mode:d,padding:s,indent:i,showIcon:u,iconOpen:c,iconClose:C}=d.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"!==d&&s&&i?{paddingLeft:o*i+"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:d,level:s}=l,d=d.slots,d=d?d.icon:null;if(d)return t.callSlot(d,l);var d=t.getComputeMaps().computeTreeOpts,n=n.treeExpandedFlag,{fullAllDataRowIdData:a,treeExpandedMaps:i,treeExpandLazyLoadedMaps:u}=a,d=d.value,{padding:c,indent:C,lazy:p,trigger:g,iconLoaded:v,showIcon:h,iconOpen:E,iconClose:_}=d,b=d.children||d.childrenField,d=d.hasChild||d.hasChildField,b=o[b],b=b&&b.length;let m=!1,f=!1,x=!1,D=!1;var T,w={};return r||(T=(0,_util.getRowid)(t,o),f=!!n&&!!i[T],p&&(n=a[T],x=!!u[T],m=o[d],D=!!n.treeLoaded)),g&&"default"!==g||(w.onClick=e=>{t.triggerTreeExpandEvent(e,l)}),(0,_vue.h)("div",{class:["vxe-cell--tree-node",{"is--active":f}],style:c&&C?{paddingLeft:s*C+"px"}:void 0},[h&&(!p||D?b:b||m)?[(0,_vue.h)("div",Object.assign({class:"vxe-cell--tree-btn"},w),[(0,_vue.h)("i",{class:x?v||getIcon().TABLE_TREE_LOADED:f?E||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:d,visibleMethod:s}=a.value,i=l.row,u=o?o.default:null,o=o?o.radio:null,n=t.eqRow(i,n);let c=!s||s({$table:t,row:i}),C=!!d,p;r||(p={onClick(e){!C&&c&&t.triggerRadioRowEvent(e,l)}},d&&(C=!d({$table:t,row:i})));s=Object.assign(Object.assign({},l),{checked:n,disabled:C,visible:c});return o?renderCellBaseVNs(l,t.callSlot(o,s)):(d=[],c&&d.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)&&d.push((0,_vue.h)("span",{class:"vxe-radio--label"},u?t.callSlot(u,s):_xeUtils.default.get(i,a))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--radio",{"is--checked":n,"is--disabled":C}]},p),d)]))},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:d,isIndeterminate:s}=n,i=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=>{i||l.triggerCheckAllEvent(e,!d)}),Object.assign(Object.assign({},e),{checked:d,disabled:i,indeterminate:s}));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":d,"is--disabled":i,"is--indeterminate":s}],title:_xeUtils.default.eqNull(c)?getI18n("vxe.table.allTitle"):""+(c||"")},p),[(0,_vue.h)("span",{class:["vxe-checkbox--icon",s?getIcon().TABLE_CHECKBOX_INDETERMINATE:d?getIcon().TABLE_CHECKBOX_CHECKED:i?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:d}=t.reactData,{selectCheckboxMaps:s,treeIndeterminateRowMaps:i}=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 h=!1,E=!1,_=!0,b=!1;var m,f={},s=(n||(m=(0,_util.getRowid)(t,e),E=!!o&&!!s[m],p&&d&&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||d)&&(h=!!i[m]),f.onClick=e=>{!b&&_&&t.triggerCheckRowEvent(e,l,!E)}),Object.assign(Object.assign({},l),{checked:E,disabled:b,visible:_,indeterminate:h}));return u?renderCellBaseVNs(l,t.callSlot(u,s)):(c=[],_&&c.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",h?getIcon().TABLE_CHECKBOX_INDETERMINATE:E?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,s):_xeUtils.default.get(e,C))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":E,"is--disabled":b,"is--indeterminate":h,"is--hidden":!_}]},f),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:d}=t.reactData,s=t.internalData.treeIndeterminateRowMaps,{computeCheckboxOpts:i,computeAggregateOpts:u}=t.getComputeMaps(),u=u.value.mapChildrenField,i=i.value;let{labelField:c,checkField:C,checkMethod:p,visibleMethod:g}=i;var i=i.indeterminateField||i.halfField,v=r.slots,h=v?v.default:null,v=v?v.checkbox:null;let E=!1,_=!1,b=!0,m=!1;var f,x={},u=(n||(f=(0,_util.getRowid)(t,e),_=!!o&&_xeUtils.default.get(e,C),p&&d&&t.isAggregateRecord(e)?(o=e[u||""])&&o.length&&!o.every(e=>!p({$table:t,row:e}))||(m=!0):(b=!g||g({$table:t,row:e}),m=p?!p({$table:t,row:e}):!!p),(a||d)&&(E=!!s[f]),x.onClick=e=>{!m&&b&&t.triggerCheckRowEvent(e,l,!_)}),Object.assign(Object.assign({},l),{checked:_,disabled:m,visible:b,indeterminate:E}));return v?renderCellBaseVNs(l,t.callSlot(v,u)):(o=[],b&&(o.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",E?getIcon().TABLE_CHECKBOX_INDETERMINATE:_?getIcon().TABLE_CHECKBOX_CHECKED:m?getIcon().TABLE_CHECKBOX_DISABLED_UNCHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),h||c)&&o.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},h?t.callSlot(h,u):_xeUtils.default.get(e,c))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":_,"is--disabled":m,"is--indeterminate":i&&!_?e[i]:E,"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:d}=t.internalData,s=t.getComputeMaps().computeExpandOpts,{lazy:s,labelField:i,iconLoaded:u,showIcon:c,iconOpen:C,iconClose:p,visibleMethod:g}=s.value,v=n.slots,h=v?v.default:null,v=v?v.icon:null;let E=!1,_=!1;return a&&r.isAggregate?renderCellBaseVNs(l,[]):v?renderCellBaseVNs(l,t.callSlot(v,l)):(e||(a=(0,_util.getRowid)(t,r),E=!!o[a],s&&(_=!!d[a])),renderCellBaseVNs(l,[!c||g&&!g(l)?renderEmptyElement(t):(0,_vue.h)("span",{class:["vxe-table--expanded",{"is--active":E}],onMousedown(e){e.stopPropagation()},onClick(e){t.triggerRowExpandEvent(e,l)}},[(0,_vue.h)("i",{class:["vxe-table--expand-btn",_?u||getIcon().TABLE_EXPAND_LOADED:E?C||getIcon().TABLE_EXPAND_OPEN:p||getIcon().TABLE_EXPAND_CLOSE]})]),h||i?(0,_vue.h)("span",{class:"vxe-table--expand-label"},h?t.callSlot(h,l):_xeUtils.default.get(r,i)):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:d,iconAsc:s,iconDesc:i,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-${d}-layout`]},[(0,_vue.h)("i",{class:["vxe-sort--asc-btn",s||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",i||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:d,iconVisibleMethod:s}=a.value;return!a||s&&!s(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?d||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:d,editRender:s}=t;let i=!1,u=(a&&(a=_xeUtils.default.get(a,t.field))&&(i=a.some(e=>e.required)),[]);return(0,_utils.isEnableConf)(r)&&({showAsterisk:t,showIcon:a,icon:r}=n,u=[i&&t?(0,_vue.h)("span",{class:"vxe-cell--required-icon"},[(0,_vue.h)("i")]):renderEmptyElement(l),(0,_utils.isEnableConf)(s)&&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(d?Cell.renderFilterIcon(e):[]))},renderRowEdit(e){var{$table:l,column:t}=e,l=l.reactData.editStore,l=l.actived,t=t.editRender;return Cell.runRenderer(e,(0,_utils.isEnableConf)(t)&&l&&l.row===e.row)},renderDeepRowEdit(e){return Cell.renderDeepNodeBtn(e,Cell.renderRowEdit(e))},renderCellEdit(e){var{$table:l,column:t}=e,l=l.reactData.editStore,l=l.actived,t=t.editRender;return Cell.runRenderer(e,(0,_utils.isEnableConf)(t)&&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.reactData.isRowGroupStatus,{slots:n,field:o,editRender:d,formatter:s}=n,i=n?n.default:null,u=n?n.groupContent||n["group-content"]:null,n=n?n.edit:null,c=renderer.get(d.name),c=c?c.renderTableEdit||c.renderEdit:null,C=Object.assign({$type:"",isEdit:l},e);if(l)return C.$type="edit",n?t.callSlot(n,C):c?(0,_vn.getSlotVNs)(c(d,C)):[];if(a&&o&&r.isAggregate){l=r,n=t.getComputeMaps().computeAggregateOpts,c=n.value.mapChildrenField,d=l.groupField,a=l.groupContent,o=c&&l[c]||[],r=l.childCount;if(u)return renderCellBaseVNs(e,t.callSlot(u,Object.assign({groupField:d,groupContent:a,childList:o,childCount:r},e)))}else if(i)return renderCellBaseVNs(e,t.callSlot(i,C));return s?renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},getDefaultCellLabel(C))]):Cell.renderDefaultCell(C)}};var _default=exports.default=Cell;
|
package/lib/table/src/header.js
CHANGED
|
@@ -407,7 +407,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
407
407
|
}, flSlot ? $xeTable.callSlot(flSlot, cellParams) : rtFloatingFilter && firstFilterOption ? (0, _vn.getSlotVNs)(rtFloatingFilter(filterRender, cellParams)) : [])])]);
|
|
408
408
|
});
|
|
409
409
|
};
|
|
410
|
-
const renderHeads = (isGroup, isOptimizeMode, headerGroups) => {
|
|
410
|
+
const renderHeads = (isGroup, isOptimizeMode, headerGroups, renderColumnList) => {
|
|
411
411
|
const {
|
|
412
412
|
fixedType
|
|
413
413
|
} = props;
|
|
@@ -433,7 +433,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
433
433
|
rowVNs.push((0, _vue.h)('tr', {
|
|
434
434
|
key: 'ff',
|
|
435
435
|
class: ['vxe-header--row']
|
|
436
|
-
}, renderFilterRows(isOptimizeMode,
|
|
436
|
+
}, renderFilterRows(isOptimizeMode, renderColumnList)));
|
|
437
437
|
}
|
|
438
438
|
return rowVNs;
|
|
439
439
|
};
|
|
@@ -543,7 +543,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
543
543
|
*/
|
|
544
544
|
(0, _vue.h)('thead', {
|
|
545
545
|
ref: refHeaderTHead
|
|
546
|
-
}, renderHeads(isGroup, isOptimizeMode, renderHeaderList))]), mouseConfig && mouseOpts.area ? (0, _vue.h)('div', {
|
|
546
|
+
}, renderHeads(isGroup, isOptimizeMode, renderHeaderList, renderColumnList))]), mouseConfig && mouseOpts.area ? (0, _vue.h)('div', {
|
|
547
547
|
class: 'vxe-table--cell-area',
|
|
548
548
|
xid: xID
|
|
549
549
|
}, [(0, _vue.h)('span', {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_util=require("./util"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{renderer,renderEmptyElement}=_ui.VxeUI,sourceType="table",renderType="header";var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTableHeader",props:{tableData:Array,tableColumn:Array,tableGroupColumn:Array,fixedColumn:Array,fixedType:{type:String,default:null}},setup(x){let ue=(0,_vue.inject)("$xeTable",{}),{xID:g,props:f,reactData:m,internalData:_}=ue,{computeColumnOpts:a,computeColumnDragOpts:r,computeCellOpts:t,computeMouseOpts:b,computeHeaderCellOpts:i,computeDefaultRowHeight:n,computeVirtualXOpts:d,computeFloatingFilterOpts:C,computeIsHeaderRenderOptimize:w}=ue.getComputeMaps(),y=(0,_vue.ref)([]),H=(0,_vue.ref)(),D=(0,_vue.ref)(),E=(0,_vue.ref)(),T=(0,_vue.ref)(),S=(0,_vue.ref)(),O=(0,_vue.ref)(),o=(0,_vue.ref)(),u=()=>{var e=f.showCustomHeader,{collectColumn:l,visibleColumn:a}=_,r=x.tableGroupColumn,t=m.isGroup;let i=t?(0,_util.convertHeaderColumnToRows)(r):[],n=[];e&&1<i.length&&(n=(0,_util.convertHeaderToGridRows)(i),i=n),y.value=i,ue.dispatchEvent("columns-change",{visibleColgroups:n,collectColumn:l,visibleColumn:a},null)},I=(E,T,e,S,O)=>{let I=ue.xeGrid,F=ue.xeGantt,R=x.fixedType,{resizable:$,columnKey:k,showCustomHeader:U,headerCellClassName:M,headerCellStyle:z,showHeaderOverflow:A,headerAlign:q,align:G,mouseConfig:X}=f,{currentColumn:j,dragCol:N,scrollXLoad:W,scrollYLoad:L,overflowX:V,mergeHeadFlag:B,tableColumn:K}=m,{fullColumnIdData:P,scrollXStore:Y,mergeHeaderList:J,mergeHeaderCellMaps:Q}=_,Z=d.value,ee=a.value,le=r.value,ae=t.value;var l=n.value;let re=i.value,te=(0,_util.getCalcHeight)(re.height)||l,{disabledMethod:ie,isCrossDrag:de,isPeerDrag:oe}=le,ne=S===e.length-1;return O.map((e,l)=>{var{type:a,showHeaderOverflow:r,headerAlign:t,align:i,filters:n,headerClassName:d,editRender:o,cellRender:u}=e,s=e.id,c=P[s]||{},o=o||u,u=o?renderer.get(o.name):null,o=e.children&&e.children.length,p=V&&!o&&(R?e.fixed!==R:!!e.fixed),v=(_xeUtils.default.isBoolean(re.padding)?re:ae).padding,r=_xeUtils.default.eqNull(r)?A:r,t=t||(u?u.tableHeaderCellAlign:"")||q||i||(u?u.tableCellAlign:"")||G,i="ellipsis"===r,u="title"===r,r=!0===r||"tooltip"===r,h=u||r||i;let x=!1,g=null;n&&(g=n[0],x=n.some(e=>e.checked));var f=c.index,c=c._index;let m={$table:ue,$grid:I,$gantt:F,$rowIndex:S,column:e,columnIndex:f,$columnIndex:l,_columnIndex:c,firstFilterOption:g,fixed:R,source:sourceType,type:renderType,isHidden:p,hasFilter:x};f={colid:s};let _=!1;if(U||(f.colspan=1<e.colSpan?e.colSpan:null,f.rowspan=1<e.rowSpan?e.rowSpan:null),B&&J.length&&(U||ne)){var b=Q[S+":"+(U?l:c)];if(b){var{rowspan:b,colspan:C}=b;if(!b||!C)return null;1<b&&(_=!0,f.rowspan=b),1<C&&(_=!0,f.colspan=C)}}b={onClick:e=>ue.triggerHeaderCellClickEvent(e,m),onDblclick:e=>ue.triggerHeaderCellDblclickEvent(e,m)},C=ee.drag&&"cell"===le.trigger;let w=!1;C&&(w=!(!ie||!ie(m))),(X||C)&&(b.onMousedown=e=>ue.triggerHeaderCellMousedownEvent(e,m)),ee.drag&&(b.onDragstart=ue.handleHeaderCellDragDragstartEvent,b.onDragend=ue.handleHeaderCellDragDragendEvent,b.onDragover=ue.handleHeaderCellDragDragoverEvent,C)&&(b.onMouseup=ue.handleHeaderCellDragMouseupEvent);var C=l===O.length-1,y=_xeUtils.default.isBoolean(e.resizable)?e.resizable:ee.resizable||$,H=!e.resizeWidth&&("auto"===e.minWidth||"auto"===e.width);let D=!1;!T||!V||E||_||N&&N.id===s||W&&10<K.length&&!e.fixed&&!Z.immediate&&(c<Y.visibleStartIndex-Y.preloadSize||c>Y.visibleEndIndex+Y.preloadSize)&&(D=!0);c={};if(h?c.height=te+"px":c.minHeight=te+"px",!U&&o&&!ne){let l=0;_xeUtils.default.eachTree(e.children,e=>{!e.visible||e.children&&e.children.length||(l+=e.renderWidth)}),c.width=l+"px"}return(0,_vue.h)("th",Object.assign(Object.assign(Object.assign({class:["vxe-table--column vxe-header--column",s,p?"fixed--hidden":"fixed--visible",{["col--"+t]:t,["col--"+a]:a,"col--last":C,"col--fixed":e.fixed,"col--group":o,"col--ellipsis":h,"fixed--width":!H,"is--padding":v,"is--sortable":e.sortable,"col--filter":!!n,"is--filter-active":x,"is--drag-active":ee.drag&&!e.fixed&&!w&&(de||oe||!e.parentId),"is--drag-disabled":ee.drag&&w,"col--current":j===e},d?_xeUtils.default.isFunction(d)?d(m):d:"",M?_xeUtils.default.isFunction(M)?M(m):M:""],style:z?_xeUtils.default.isFunction(z)?z(m):z:null},f),b),{key:U?""+s+l:k||W||L||ee.useKey||ee.drag||o?s:l}),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":u,"c--tooltip":r,"c--ellipsis":i}],style:c},D||T&&p?[]:[(0,_vue.h)("div",{colid:s,class:"vxe-cell--wrapper vxe-header-cell--wrapper"},e.renderHeader(m))]),p||!y||U&&!ne?renderEmptyElement(ue):(0,_vue.h)("div",{class:"vxe-cell--col-resizable",onMousedown:e=>ue.handleColResizeMousedownEvent(e,R,m),onDblclick:e=>ue.handleColResizeDblclickEvent(e,m)})])})},F=(C,w)=>{let y=ue.xeGrid,H=ue.xeGantt,D=x.fixedType,{showHeaderOverflow:E,headerAlign:T,align:S}=f,{currentColumn:O,overflowX:I}=m,F=_.fullColumnIdData,R=t.value;var e=n.value;let $=i.value,k=(0,_util.getCalcHeight)($.height)||e;return w.map((e,l)=>{var{type:a,showHeaderOverflow:r,headerAlign:t,align:i,filters:n,editRender:d,cellRender:o,floatingFilters:u,filterRender:s,slots:c}=e,p=e.id,v=F[p]||{},d=d||o,o=c?c.floatingFilter||c["floating-filter"]:null,c=d?renderer.get(d.name):null,d=(0,_utils.isEnableConf)(s)?renderer.get(s.name):null,d=d?d.renderTableFloatingFilter:null,h=I&&(D?e.fixed!==D:!!e.fixed),x=(_xeUtils.default.isBoolean($.padding)?$:R).padding,r=_xeUtils.default.eqNull(r)?E:r,t=t||(c?c.tableHeaderCellAlign:"")||T||i||(c?c.tableCellAlign:"")||S,i="ellipsis"===r,c="title"===r,r=!0===r||"tooltip"===r,g=c||r||i;let f=!1,m=null;n&&(m=n[0],f=n.some(e=>e.checked));var n=v.index,v=v._index,n={$table:ue,$grid:y,$gantt:H,column:e,columnIndex:n,$columnIndex:l,_columnIndex:v,option:m,fixed:D,source:sourceType,type:renderType,isHidden:h,hasFilter:f},v={colid:p},l=l===w.length-1,_=!e.resizeWidth&&("auto"===e.minWidth||"auto"===e.width),b={};return g?b.height=k+"px":b.minHeight=k+"px",(0,_vue.h)("th",Object.assign({class:["vxe-table--column vxe-header--column",p,h?"fixed--hidden":"fixed--visible",{["col--"+t]:t,["col--"+a]:a,"col--last":l,"col--fixed":e.fixed,"col--ellipsis":g,"fixed--width":!_,"is--padding":x,"is--sortable":e.sortable,"col--current":O===e}],key:p},v),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":c,"c--tooltip":r,"c--ellipsis":i}],style:b},C&&h&&!u?[]:[(0,_vue.h)("div",{colid:p,class:"vxe-cell--wrapper vxe-header-cell--wrapper"},o?ue.callSlot(o,n):d&&m?(0,_vn.getSlotVNs)(d(s,n)):[])])])})};return(0,_vue.watch)(()=>x.tableColumn,u),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=x.fixedType,l=ue.internalData,l=l.elemStore,e=`${e||"main"}-header-`;l[e+"wrapper"]=H,l[e+"scroll"]=D,l[e+"table"]=E,l[e+"colgroup"]=T,l[e+"list"]=S,l[e+"xSpace"]=O,l[e+"repair"]=o,u()})}),(0,_vue.onUnmounted)(()=>{var e=x.fixedType,l=ue.internalData,l=l.elemStore,e=`${e||"main"}-header-`;l[e+"wrapper"]=null,l[e+"scroll"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"repair"]=null}),()=>{let{fixedType:l,fixedColumn:e,tableColumn:a}=x;var r=f.mouseConfig,{isGroup:t,isColLoading:i,overflowX:n,scrollXLoad:d,dragCol:o}=m,{visibleColumn:u,fullColumnIdData:s}=_,c=b.value,p=w.value;let v=y.value||[],h=a;return t?h=u:(p&&(i||!l&&n)||(h=u),l&&p&&(h=e||[]),v=[h]),l||t||d&&o&&2<h.length&&(i=s[o.id])&&(n=i._index,u=h[0],d=h[h.length-1],i=s[u.id],u=s[d.id],i)&&u&&(s=i._index,d=u._index,n<s?(h=[o].concat(h),v=[[o].concat(v[0])].concat(v.slice(1))):d<n&&(h=h.concat([o]),v=[v[0].concat([o])].concat(v.slice(1)))),(0,_vue.h)("div",{ref:H,class:["vxe-table--header-wrapper",l?`fixed-${l}--wrapper`:"body--wrapper"],xid:g},[(0,_vue.h)("div",{ref:D,class:"vxe-table--header-inner-wrapper",onScroll(e){ue.triggerHeaderScrollEvent(e,l)}},[l?renderEmptyElement(ue):(0,_vue.h)("div",{ref:O,class:"vxe-body--x-space"}),(0,_vue.h)("table",{ref:E,class:"vxe-table--header",xid:g,cellspacing:0,cellpadding:0,border:0,xvm:p?"1":null},[(0,_vue.h)("colgroup",{ref:T},h.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l,style:{width:e.renderWidth+"px"}}))),(0,_vue.h)("thead",{ref:S},((r,t,i)=>{let n=x.fixedType,{headerRowClassName:d,headerRowStyle:o}=f;var
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_util=require("./util"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{renderer,renderEmptyElement}=_ui.VxeUI,sourceType="table",renderType="header";var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTableHeader",props:{tableData:Array,tableColumn:Array,tableGroupColumn:Array,fixedColumn:Array,fixedType:{type:String,default:null}},setup(x){let ue=(0,_vue.inject)("$xeTable",{}),{xID:g,props:f,reactData:m,internalData:_}=ue,{computeColumnOpts:a,computeColumnDragOpts:r,computeCellOpts:t,computeMouseOpts:b,computeHeaderCellOpts:i,computeDefaultRowHeight:n,computeVirtualXOpts:d,computeFloatingFilterOpts:C,computeIsHeaderRenderOptimize:w}=ue.getComputeMaps(),y=(0,_vue.ref)([]),H=(0,_vue.ref)(),D=(0,_vue.ref)(),E=(0,_vue.ref)(),T=(0,_vue.ref)(),S=(0,_vue.ref)(),O=(0,_vue.ref)(),o=(0,_vue.ref)(),u=()=>{var e=f.showCustomHeader,{collectColumn:l,visibleColumn:a}=_,r=x.tableGroupColumn,t=m.isGroup;let i=t?(0,_util.convertHeaderColumnToRows)(r):[],n=[];e&&1<i.length&&(n=(0,_util.convertHeaderToGridRows)(i),i=n),y.value=i,ue.dispatchEvent("columns-change",{visibleColgroups:n,collectColumn:l,visibleColumn:a},null)},I=(E,T,e,S,O)=>{let I=ue.xeGrid,F=ue.xeGantt,R=x.fixedType,{resizable:$,columnKey:k,showCustomHeader:U,headerCellClassName:M,headerCellStyle:z,showHeaderOverflow:A,headerAlign:q,align:G,mouseConfig:X}=f,{currentColumn:j,dragCol:N,scrollXLoad:W,scrollYLoad:L,overflowX:V,mergeHeadFlag:B,tableColumn:K}=m,{fullColumnIdData:P,scrollXStore:Y,mergeHeaderList:J,mergeHeaderCellMaps:Q}=_,Z=d.value,ee=a.value,le=r.value,ae=t.value;var l=n.value;let re=i.value,te=(0,_util.getCalcHeight)(re.height)||l,{disabledMethod:ie,isCrossDrag:de,isPeerDrag:oe}=le,ne=S===e.length-1;return O.map((e,l)=>{var{type:a,showHeaderOverflow:r,headerAlign:t,align:i,filters:n,headerClassName:d,editRender:o,cellRender:u}=e,s=e.id,c=P[s]||{},o=o||u,u=o?renderer.get(o.name):null,o=e.children&&e.children.length,p=V&&!o&&(R?e.fixed!==R:!!e.fixed),v=(_xeUtils.default.isBoolean(re.padding)?re:ae).padding,r=_xeUtils.default.eqNull(r)?A:r,t=t||(u?u.tableHeaderCellAlign:"")||q||i||(u?u.tableCellAlign:"")||G,i="ellipsis"===r,u="title"===r,r=!0===r||"tooltip"===r,h=u||r||i;let x=!1,g=null;n&&(g=n[0],x=n.some(e=>e.checked));var f=c.index,c=c._index;let m={$table:ue,$grid:I,$gantt:F,$rowIndex:S,column:e,columnIndex:f,$columnIndex:l,_columnIndex:c,firstFilterOption:g,fixed:R,source:sourceType,type:renderType,isHidden:p,hasFilter:x};f={colid:s};let _=!1;if(U||(f.colspan=1<e.colSpan?e.colSpan:null,f.rowspan=1<e.rowSpan?e.rowSpan:null),B&&J.length&&(U||ne)){var b=Q[S+":"+(U?l:c)];if(b){var{rowspan:b,colspan:C}=b;if(!b||!C)return null;1<b&&(_=!0,f.rowspan=b),1<C&&(_=!0,f.colspan=C)}}b={onClick:e=>ue.triggerHeaderCellClickEvent(e,m),onDblclick:e=>ue.triggerHeaderCellDblclickEvent(e,m)},C=ee.drag&&"cell"===le.trigger;let w=!1;C&&(w=!(!ie||!ie(m))),(X||C)&&(b.onMousedown=e=>ue.triggerHeaderCellMousedownEvent(e,m)),ee.drag&&(b.onDragstart=ue.handleHeaderCellDragDragstartEvent,b.onDragend=ue.handleHeaderCellDragDragendEvent,b.onDragover=ue.handleHeaderCellDragDragoverEvent,C)&&(b.onMouseup=ue.handleHeaderCellDragMouseupEvent);var C=l===O.length-1,y=_xeUtils.default.isBoolean(e.resizable)?e.resizable:ee.resizable||$,H=!e.resizeWidth&&("auto"===e.minWidth||"auto"===e.width);let D=!1;!T||!V||E||_||N&&N.id===s||W&&10<K.length&&!e.fixed&&!Z.immediate&&(c<Y.visibleStartIndex-Y.preloadSize||c>Y.visibleEndIndex+Y.preloadSize)&&(D=!0);c={};if(h?c.height=te+"px":c.minHeight=te+"px",!U&&o&&!ne){let l=0;_xeUtils.default.eachTree(e.children,e=>{!e.visible||e.children&&e.children.length||(l+=e.renderWidth)}),c.width=l+"px"}return(0,_vue.h)("th",Object.assign(Object.assign(Object.assign({class:["vxe-table--column vxe-header--column",s,p?"fixed--hidden":"fixed--visible",{["col--"+t]:t,["col--"+a]:a,"col--last":C,"col--fixed":e.fixed,"col--group":o,"col--ellipsis":h,"fixed--width":!H,"is--padding":v,"is--sortable":e.sortable,"col--filter":!!n,"is--filter-active":x,"is--drag-active":ee.drag&&!e.fixed&&!w&&(de||oe||!e.parentId),"is--drag-disabled":ee.drag&&w,"col--current":j===e},d?_xeUtils.default.isFunction(d)?d(m):d:"",M?_xeUtils.default.isFunction(M)?M(m):M:""],style:z?_xeUtils.default.isFunction(z)?z(m):z:null},f),b),{key:U?""+s+l:k||W||L||ee.useKey||ee.drag||o?s:l}),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":u,"c--tooltip":r,"c--ellipsis":i}],style:c},D||T&&p?[]:[(0,_vue.h)("div",{colid:s,class:"vxe-cell--wrapper vxe-header-cell--wrapper"},e.renderHeader(m))]),p||!y||U&&!ne?renderEmptyElement(ue):(0,_vue.h)("div",{class:"vxe-cell--col-resizable",onMousedown:e=>ue.handleColResizeMousedownEvent(e,R,m),onDblclick:e=>ue.handleColResizeDblclickEvent(e,m)})])})},F=(C,w)=>{let y=ue.xeGrid,H=ue.xeGantt,D=x.fixedType,{showHeaderOverflow:E,headerAlign:T,align:S}=f,{currentColumn:O,overflowX:I}=m,F=_.fullColumnIdData,R=t.value;var e=n.value;let $=i.value,k=(0,_util.getCalcHeight)($.height)||e;return w.map((e,l)=>{var{type:a,showHeaderOverflow:r,headerAlign:t,align:i,filters:n,editRender:d,cellRender:o,floatingFilters:u,filterRender:s,slots:c}=e,p=e.id,v=F[p]||{},d=d||o,o=c?c.floatingFilter||c["floating-filter"]:null,c=d?renderer.get(d.name):null,d=(0,_utils.isEnableConf)(s)?renderer.get(s.name):null,d=d?d.renderTableFloatingFilter:null,h=I&&(D?e.fixed!==D:!!e.fixed),x=(_xeUtils.default.isBoolean($.padding)?$:R).padding,r=_xeUtils.default.eqNull(r)?E:r,t=t||(c?c.tableHeaderCellAlign:"")||T||i||(c?c.tableCellAlign:"")||S,i="ellipsis"===r,c="title"===r,r=!0===r||"tooltip"===r,g=c||r||i;let f=!1,m=null;n&&(m=n[0],f=n.some(e=>e.checked));var n=v.index,v=v._index,n={$table:ue,$grid:y,$gantt:H,column:e,columnIndex:n,$columnIndex:l,_columnIndex:v,option:m,fixed:D,source:sourceType,type:renderType,isHidden:h,hasFilter:f},v={colid:p},l=l===w.length-1,_=!e.resizeWidth&&("auto"===e.minWidth||"auto"===e.width),b={};return g?b.height=k+"px":b.minHeight=k+"px",(0,_vue.h)("th",Object.assign({class:["vxe-table--column vxe-header--column",p,h?"fixed--hidden":"fixed--visible",{["col--"+t]:t,["col--"+a]:a,"col--last":l,"col--fixed":e.fixed,"col--ellipsis":g,"fixed--width":!_,"is--padding":x,"is--sortable":e.sortable,"col--current":O===e}],key:p},v),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":c,"c--tooltip":r,"c--ellipsis":i}],style:b},C&&h&&!u?[]:[(0,_vue.h)("div",{colid:p,class:"vxe-cell--wrapper vxe-header-cell--wrapper"},o?ue.callSlot(o,n):d&&m?(0,_vn.getSlotVNs)(d(s,n)):[])])])})};return(0,_vue.watch)(()=>x.tableColumn,u),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=x.fixedType,l=ue.internalData,l=l.elemStore,e=`${e||"main"}-header-`;l[e+"wrapper"]=H,l[e+"scroll"]=D,l[e+"table"]=E,l[e+"colgroup"]=T,l[e+"list"]=S,l[e+"xSpace"]=O,l[e+"repair"]=o,u()})}),(0,_vue.onUnmounted)(()=>{var e=x.fixedType,l=ue.internalData,l=l.elemStore,e=`${e||"main"}-header-`;l[e+"wrapper"]=null,l[e+"scroll"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"repair"]=null}),()=>{let{fixedType:l,fixedColumn:e,tableColumn:a}=x;var r=f.mouseConfig,{isGroup:t,isColLoading:i,overflowX:n,scrollXLoad:d,dragCol:o}=m,{visibleColumn:u,fullColumnIdData:s}=_,c=b.value,p=w.value;let v=y.value||[],h=a;return t?h=u:(p&&(i||!l&&n)||(h=u),l&&p&&(h=e||[]),v=[h]),l||t||d&&o&&2<h.length&&(i=s[o.id])&&(n=i._index,u=h[0],d=h[h.length-1],i=s[u.id],u=s[d.id],i)&&u&&(s=i._index,d=u._index,n<s?(h=[o].concat(h),v=[[o].concat(v[0])].concat(v.slice(1))):d<n&&(h=h.concat([o]),v=[v[0].concat([o])].concat(v.slice(1)))),(0,_vue.h)("div",{ref:H,class:["vxe-table--header-wrapper",l?`fixed-${l}--wrapper`:"body--wrapper"],xid:g},[(0,_vue.h)("div",{ref:D,class:"vxe-table--header-inner-wrapper",onScroll(e){ue.triggerHeaderScrollEvent(e,l)}},[l?renderEmptyElement(ue):(0,_vue.h)("div",{ref:O,class:"vxe-body--x-space"}),(0,_vue.h)("table",{ref:E,class:"vxe-table--header",xid:g,cellspacing:0,cellpadding:0,border:0,xvm:p?"1":null},[(0,_vue.h)("colgroup",{ref:T},h.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l,style:{width:e.renderWidth+"px"}}))),(0,_vue.h)("thead",{ref:S},((r,t,i,e)=>{let n=x.fixedType,{headerRowClassName:d,headerRowStyle:o}=f;var l=C.value,a=i.map((e,l)=>{var a={$table:ue,$rowIndex:l,fixed:n,type:renderType};return(0,_vue.h)("tr",{key:l,class:["vxe-header--row",d?_xeUtils.default.isFunction(d)?d(a):d:""],style:o?_xeUtils.default.isFunction(o)?o(a):o:null},I(r,t,i,l,e))});return l.enabled&&a.push((0,_vue.h)("tr",{key:"ff",class:["vxe-header--row"]},F(t,e))),a})(t,p,v,h))]),r&&c.area?(0,_vue.h)("div",{class:"vxe-table--cell-area",xid:g},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-clip-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-extend-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-multi-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-active-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-col-status-area"})]):renderEmptyElement(ue)])])}}});
|
package/lib/table/src/table.js
CHANGED
|
@@ -193,7 +193,7 @@ if(reWidth){calcCellWidth();}if(reFull){autoCellWidth();}if(reHeight){calcCellHe
|
|
|
193
193
|
* 已废弃
|
|
194
194
|
* @deprecated
|
|
195
195
|
*/totalValue:childCount};let aggVal=0;// 如果下层同时也是分组
|
|
196
|
-
if(childList.length&&childList[0].isAggregate){_xeUtils.default.each(childList,row=>{if(row.isAggregate){const currAggData=row.aggData[field];if(currAggData){aggVal+=currAggData.value;}}});}else{aggVal=aggCalcMethod?aggCalcMethod(ctParams):aggRow.childCount;}aggDtObj[field]={type:'count',value:aggVal,label:aggVal};});aggRow.aggData=aggDtObj;});}}}};const updateGroupData=()=>{const{aggregateConfig,rowGroupConfig}=props;const{isRowGroupStatus}=reactData;const{tableFullGroupData}=internalData;const aggregateOpts=computeAggregateOpts.value;const{mapChildrenField}=aggregateOpts;if((aggregateConfig||rowGroupConfig)&&isRowGroupStatus){const aggList=[];_xeUtils.default.eachTree(tableFullGroupData,row=>{if(row.isAggregate){aggList.push(row);}},{children:mapChildrenField});handleeGroupSummary(aggList);}};const handleGroupData=(list,rowGroups)=>{let fullData=list;let treeData=list;if(rowGroups){const aggregateOpts=computeAggregateOpts.value;const{rowField,parentField,childrenField,mapChildrenField}=aggregateOpts;const checkboxOpts=computeCheckboxOpts.value;const{checkField}=checkboxOpts;const indeterminateField=checkboxOpts.indeterminateField||checkboxOpts.halfField;const rgItem=rowGroups[0];if(rgItem&&rowField&&parentField&&childrenField&&mapChildrenField){fullData=[];treeData=[];const groupField=rgItem.field;const groupColumn=$xeTable.getColumnByField(groupField);const groupMaps={};const aggList=[];const rowkey=(0,_util.getRowkey)($xeTable);list.forEach(row=>{const cellValue=groupColumn?$xeTable.getCellLabel(row,groupColumn):_xeUtils.default.get(row,groupField);const groupValue=_xeUtils.default.eqNull(cellValue)?'':cellValue;let childList=groupMaps[groupValue];if(!childList){childList=[];groupMaps[groupValue]=childList;}if(row.isAggregate){row.isAggregate=undefined;}childList.push(row);});_xeUtils.default.objectEach(groupMaps,(childList,groupValue)=>{const{fullData:childFullData,treeData:childTreeData}=handleGroupData(childList,rowGroups.slice(1));const aggRow={isAggregate:true,aggData:{},groupContent:groupValue,groupField,childCount:0,[rowField]:(0,_util.getRowUniqueId)(),[parentField]:null,[rowkey]:(0,_util.getRowUniqueId)(),[childrenField]:childTreeData,[mapChildrenField]:childTreeData};if(checkField){aggRow[checkField]=false;}if(indeterminateField){aggRow[indeterminateField]=false;}aggList.push(aggRow);treeData.push(aggRow);fullData.push(aggRow);if(childFullData.length){fullData.push(...childFullData);}});handleeGroupSummary(aggList);}}return{treeData,fullData};};const initData=()=>{const{data}=props;
|
|
196
|
+
if(childList.length&&childList[0].isAggregate){_xeUtils.default.each(childList,row=>{if(row.isAggregate){const currAggData=row.aggData[field];if(currAggData){aggVal+=currAggData.value;}}});}else{aggVal=aggCalcMethod?aggCalcMethod(ctParams):aggRow.childCount;}aggDtObj[field]={type:'count',value:aggVal,label:aggVal};});aggRow.aggData=aggDtObj;});}}}};const updateGroupData=()=>{const{aggregateConfig,rowGroupConfig}=props;const{isRowGroupStatus}=reactData;const{tableFullGroupData}=internalData;const aggregateOpts=computeAggregateOpts.value;const{mapChildrenField}=aggregateOpts;if((aggregateConfig||rowGroupConfig)&&isRowGroupStatus){const aggList=[];_xeUtils.default.eachTree(tableFullGroupData,row=>{if(row.isAggregate){aggList.push(row);}},{children:mapChildrenField});handleeGroupSummary(aggList);}};const handleGroupData=(list,rowGroups)=>{let fullData=list;let treeData=list;if(rowGroups){const aggregateOpts=computeAggregateOpts.value;const{rowField,parentField,childrenField,mapChildrenField}=aggregateOpts;const checkboxOpts=computeCheckboxOpts.value;const{checkField}=checkboxOpts;const indeterminateField=checkboxOpts.indeterminateField||checkboxOpts.halfField;const rgItem=rowGroups[0];if(rgItem&&rowField&&parentField&&childrenField&&mapChildrenField){fullData=[];treeData=[];const groupField=rgItem.field;const groupColumn=$xeTable.getColumnByField(groupField);const groupMaps={};const aggList=[];const rowkey=(0,_util.getRowkey)($xeTable);list.forEach(row=>{const cellValue=groupColumn?$xeTable.getCellLabel(row,groupColumn):_xeUtils.default.get(row,groupField);const groupValue=_xeUtils.default.eqNull(cellValue)?'':cellValue;let childList=groupMaps[groupValue];if(!childList){childList=[];groupMaps[groupValue]=childList;}if(row.isAggregate){row.isAggregate=undefined;}childList.push(row);});_xeUtils.default.objectEach(groupMaps,(childList,groupValue)=>{const{fullData:childFullData,treeData:childTreeData}=handleGroupData(childList,rowGroups.slice(1));const aggRow={isAggregate:true,aggData:{},groupContent:groupValue,groupField,childCount:0,[rowField]:(0,_util.getRowUniqueId)(),[parentField]:null,[rowkey]:(0,_util.getRowUniqueId)(),[childrenField]:childTreeData,[mapChildrenField]:childTreeData};if(checkField){aggRow[checkField]=false;}if(indeterminateField){aggRow[indeterminateField]=false;}aggList.push(aggRow);treeData.push(aggRow);fullData.push(aggRow);if(childFullData.length){fullData.push(...childFullData);}});handleeGroupSummary(aggList);}}return{treeData,fullData};};const initData=()=>{const{data}=props;loadTableData(data||[],true,true).then(()=>{if(data&&data.length){internalData.inited=true;internalData.initStatus=true;handleLoadDefaults();}handleInitDefaults();updateStyle();if(!reactData.isAllOverflow){calcCellHeight();updateRowOffsetTop();}});(0,_vue.nextTick)(()=>{dispatchEvent('ready',{},null);});};/**
|
|
197
197
|
* 加载表格数据
|
|
198
198
|
* @param {Array} datas 数据
|
|
199
199
|
*/const loadTableData=(datas,isReload,isReset)=>{const{keepSource,treeConfig,rowGroupConfig,aggregateConfig}=props;const{rowGroupList,scrollYLoad:oldScrollYLoad}=reactData;const{initStatus,scrollYStore,scrollXStore,lastScrollLeft,lastScrollTop}=internalData;const rowOpts=computeRowOpts.value;const treeOpts=computeTreeOpts.value;const expandOpts=computeExpandOpts.value;const{transform}=treeOpts;const childrenField=treeOpts.children||treeOpts.childrenField;let treeData=[];let fullData=(0,_vue.reactive)(datas?datas.slice(0):[]);// 转为响应式数据
|