vxe-table 3.15.32 → 3.15.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.
@@ -300,21 +300,30 @@ function getDefaultCellLabel(params) {
300
300
  function renderCellHandle(h, params) {
301
301
  const {
302
302
  column,
303
+ row,
303
304
  $table
304
305
  } = params;
305
306
  const tableProps = $table;
307
+ const tableReactData = $table;
306
308
  const {
307
309
  editConfig
308
310
  } = tableProps;
311
+ const {
312
+ isRowGroupStatus
313
+ } = tableReactData;
309
314
  const {
310
315
  type,
311
316
  treeNode,
312
317
  rowGroupNode,
313
318
  editRender
314
319
  } = column;
320
+ const rowGroupOpts = $table.computeRowGroupOpts;
321
+ const {
322
+ mode
323
+ } = rowGroupOpts;
315
324
  const checkboxOpts = $table.computeCheckboxOpts;
316
325
  const editOpts = $table.computeEditOpts;
317
- const isDeepCell = treeNode || rowGroupNode;
326
+ const isDeepCell = treeNode || isRowGroupStatus && row.isAggregate && (mode === 'column' ? column.field === row.groupField : rowGroupNode);
318
327
  switch (type) {
319
328
  case 'seq':
320
329
  return isDeepCell ? Cell.renderDeepIndexCell(h, params) : Cell.renderSeqCell(h, params);
@@ -434,6 +443,7 @@ const Cell = exports.Cell = {
434
443
  isRowGroupStatus
435
444
  } = tableReactData;
436
445
  const {
446
+ field,
437
447
  slots,
438
448
  editRender,
439
449
  cellRender,
@@ -455,36 +465,46 @@ const Cell = exports.Cell = {
455
465
  }
456
466
  }
457
467
  let cellValue = '';
458
- if (isRowGroupStatus && rowGroupNode && row.isAggregate) {
468
+ if (isRowGroupStatus && row.isAggregate) {
459
469
  const {
460
470
  fullColumnFieldData
461
471
  } = tableInternalData;
462
472
  const rowGroupOpts = $table.computeRowGroupOpts;
463
473
  const {
474
+ mode,
464
475
  showTotal,
465
476
  totalMethod,
477
+ countFields,
478
+ countMethod,
466
479
  contentMethod,
467
480
  mapChildrenField
468
481
  } = rowGroupOpts;
469
482
  const groupField = row.groupField;
470
- cellValue = row.groupContent;
483
+ const groupContent = row.groupContent;
471
484
  const childList = mapChildrenField ? row[mapChildrenField] || [] : [];
472
- const totalValue = childList.length;
485
+ const totalValue = row.childCount;
473
486
  const colRest = fullColumnFieldData[groupField] || {};
474
487
  const params = {
475
488
  $table,
476
489
  groupField,
477
490
  groupColumn: colRest ? colRest.column : null,
478
491
  column,
479
- groupValue: cellValue,
492
+ groupValue: groupContent,
480
493
  children: childList,
481
494
  totalValue: totalValue
482
495
  };
483
- if (contentMethod) {
484
- cellValue = `${contentMethod(params)}`;
485
- }
486
- if (showTotal) {
487
- cellValue = getI18n('vxe.table.rowGroupContentTotal', [cellValue, totalMethod ? totalMethod(params) : totalValue, totalValue]);
496
+ if (mode === 'column' ? column.field === row.groupField : rowGroupNode) {
497
+ cellValue = groupContent;
498
+ if (contentMethod) {
499
+ cellValue = `${contentMethod(params)}`;
500
+ }
501
+ if (showTotal) {
502
+ cellValue = getI18n('vxe.table.rowGroupContentTotal', [cellValue, totalMethod ? totalMethod(params) : totalValue, totalValue]);
503
+ }
504
+ } else if (countFields && countFields.includes(field)) {
505
+ if (countMethod) {
506
+ cellValue = `${countMethod(params)}`;
507
+ }
488
508
  }
489
509
  } else if (!(isRowGroupStatus && row.isAggregate)) {
490
510
  cellValue = $table.getCellLabel(row, column);
@@ -637,14 +657,21 @@ const Cell = exports.Cell = {
637
657
  */
638
658
  renderDeepNodeBtn(h, params, cellVNodes) {
639
659
  const {
660
+ $table,
640
661
  row,
641
662
  column
642
663
  } = params;
643
664
  const {
644
665
  rowGroupNode
645
666
  } = column;
646
- if (rowGroupNode && row.isAggregate) {
647
- return [Cell.renderRowGroupBtn(h, params, cellVNodes)];
667
+ if (row.isAggregate) {
668
+ const rowGroupOpts = $table.computeRowGroupOpts;
669
+ const {
670
+ mode
671
+ } = rowGroupOpts;
672
+ if (mode === 'column' ? column.field === row.groupField : rowGroupNode) {
673
+ return [Cell.renderRowGroupBtn(h, params, cellVNodes)];
674
+ }
648
675
  }
649
676
  return [Cell.renderTreeNodeBtn(h, params, cellVNodes)];
650
677
  },
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Cell=void 0;var _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,formats,renderEmptyElement}=_ui.VxeUI;function renderTitlePrefixIcon(e,l){let{$table:r,column:t}=l,n=t.titlePrefix||t.titleHelp;return n?e("i",{class:["vxe-cell-title-prefix-icon",n.iconStatus?"theme--"+n.iconStatus:""],on:{mouseenter(e){r.triggerHeaderTitleEvent(e,n,l)},mouseleave(e){r.handleTargetLeaveEvent(e)}}},[e("i",{class:n.icon||getIcon().TABLE_TITLE_PREFIX})]):renderEmptyElement(r)}function renderTitleSuffixIcon(e,l){let{$table:r,column:t}=l,n=t.titleSuffix;return n?e("i",{class:["vxe-cell-title-suffix-icon",n.iconStatus?"theme--"+n.iconStatus:""],on:{mouseenter(e){r.triggerHeaderTitleEvent(e,n,l)},mouseleave(e){r.handleTargetLeaveEvent(e)}}},[e("i",{class:n.icon||getIcon().TABLE_TITLE_SUFFIX})]):renderEmptyElement(r)}function renderCellDragIcon(e,l){let r=l.$table;var t=r.$scopedSlots,n=r.dragConfig,{icon:a,trigger:o,disabledMethod:d}=r.computeRowDragOpts,d=d||(n?n.rowDisabledMethod:null);let s=d&&d(l);d=t.rowDragIcon||t["row-drag-icon"],t={};return"cell"!==o&&(t.mousedown=e=>{s||r.handleCellDragMousedownEvent(e,l)},t.mouseup=r.handleCellDragMouseupEvent),e("span",{key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":s}],on:t},d?r.callSlot(d,l,e):[e("i",{class:a||(n?n.rowIcon:"")||getIcon().TABLE_DRAG_ROW})])}function renderCellBaseVNs(e,l,r){var{$table:t,column:n,level:a}=l,n=n.dragSort,{treeConfig:o,dragConfig:d}=t,s=t.computeRowOpts,i=t.computeTreeOpts,{showIcon:t,isPeerDrag:c,isCrossDrag:u,visibleMethod:C}=t.computeRowDragOpts,C=C||(d?d.rowVisibleMethod:null),p=[];return n&&s.drag&&(t||d&&d.showRowIcon)&&(!C||C(l))&&(!o||i.transform&&(c||u||!a))&&p.unshift(renderCellDragIcon(e,l)),p.concat(_xeUtils.default.isArray(r)?r:[r])}function renderHeaderCellDragIcon(e,r){let{$table:t,column:l}=r;var n=t.$scopedSlots,a=l.slots,o=t.computeColumnOpts,{showIcon:d,icon:s,trigger:i,isPeerDrag:c,isCrossDrag:u,visibleMethod:C,disabledMethod:p}=t.computeColumnDragOpts;if(!o.drag||!d||C&&!C(r)||l.fixed||!c&&!u&&l.parentId)return renderEmptyElement(t);{let l=p&&p(r);o=(a?a.columnDragIcon||a["column-drag-icon"]:null)||n.columnDragIcon||n["column-drag-icon"],d={};return"cell"!==i&&(d.mousedown=e=>{l||t.handleHeaderCellDragMousedownEvent(e,r)},d.mouseup=t.handleHeaderCellDragMouseupEvent),e("span",{key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":l}],on:d},o?t.callSlot(o,r,e):[e("i",{class:s||getIcon().TABLE_DRAG_COLUMN})])}}function renderHeaderCellBaseVNs(e,l,r){return[renderTitlePrefixIcon(e,l),renderHeaderCellDragIcon(e,l),..._xeUtils.default.isArray(r)?r:[r],renderTitleSuffixIcon(e,l)]}function renderTitleContent(e,l,r){let{$table:t,column:n}=l;var{type:a,showHeaderOverflow:o}=n,d=t;let s=t;d=d.showHeaderOverflow;let i=t.computeTooltipOpts.showAll;d=_xeUtils.default.isUndefined(o)||_xeUtils.default.isNull(o)?d:o;let c="title"===d,u=!0===d||"tooltip"===d;o={};return(c||u||i)&&(o.mouseenter=e=>{s.isDragResize||(c?(0,_dom.updateCellTitle)(e.currentTarget,n):(u||i)&&t.triggerHeaderTooltipEvent(e,l))}),(u||i)&&(o.mouseleave=e=>{s.isDragResize||(u||i)&&t.handleTargetLeaveEvent(e)}),["html"===a&&_xeUtils.default.isString(r)?e("span",{class:"vxe-cell--title",domProps:{innerHTML:r},on:o}):e("span",{class:"vxe-cell--title",on:o},(0,_vn.getSlotVNs)(r))]}function getFooterContent(e,l){var{$table:r,column:t,_columnIndex:n,row:a,items:o}=l,{slots:d,editRender:s,cellRender:i,footerFormatter:c}=t,s=s||i;if(d&&d.footer)return r.callSlot(d.footer,l,e);let u="";u=_xeUtils.default.isArray(o)?o[n]:_xeUtils.default.get(a,t.field);i=Object.assign(l,{itemValue:u});if(c)return _xeUtils.default.isFunction(c)?""+c(i):(n=(o=(d=_xeUtils.default.isArray(c))?formats.get(c[0]):formats.get(c))?o.tableFooterCellFormatMethod:null)?""+(d?n(i,...c.slice(1)):n(i)):"";if(s){a=renderer.get(s.name),t=a?a.renderTableFooter||a.renderFooter:null;if(t)return(0,_vn.getSlotVNs)(t.call(r,e,s,i))}return[(0,_utils.formatText)(u,1)]}function getDefaultCellLabel(e){var{$table:e,row:l,column:r}=e;return(0,_utils.formatText)(e.getCellLabel(l,r),1)}function renderCellHandle(e,l){var{column:r,$table:t}=l,n=t.editConfig,{type:r,treeNode:a,rowGroupNode:o,editRender:d}=r,s=t.computeCheckboxOpts,t=t.computeEditOpts,i=a||o;switch(r){case"seq":return i?Cell.renderDeepIndexCell(e,l):Cell.renderSeqCell(e,l);case"radio":return i?Cell.renderDeepRadioCell(e,l):Cell.renderRadioCell(e,l);case"checkbox":return s.checkField?i?Cell.renderDeepSelectionCellByProp(e,l):Cell.renderCheckboxCellByProp(e,l):i?Cell.renderDeepSelectionCell(e,l):Cell.renderCheckboxCell(e,l);case"expand":return Cell.renderExpandCell(e,l);case"html":return i?Cell.renderDeepHTMLCell(e,l):Cell.renderHTMLCell(e,l)}return(0,_utils.isEnableConf)(n)&&d?"cell"===t.mode?i?Cell.renderDeepCellEdit(e,l):Cell.renderCellEdit(e,l):i?Cell.renderDeepRowEdit(e,l):Cell.renderRowEdit(e,l):i?Cell.renderDeepCell(e,l):Cell.renderDefaultCell(e,l)}function renderHeaderHandle(e,l){var{column:r,$table:t}=l,t=t.editConfig,{type:r,filters:n,sortable:a,editRender:o}=r;switch(r){case"seq":return Cell.renderSeqHeader(e,l);case"radio":return Cell.renderRadioHeader(e,l);case"checkbox":return Cell.renderCheckboxHeader(e,l);case"html":if(n&&a)return Cell.renderSortAndFilterHeader(e,l);if(a)return Cell.renderSortHeader(e,l);if(n)return Cell.renderFilterHeader(e,l)}return t&&o?Cell.renderEditHeader(e,l):n&&a?Cell.renderSortAndFilterHeader(e,l):a?Cell.renderSortHeader(e,l):n?Cell.renderFilterHeader(e,l):Cell.renderDefaultHeader(e,l)}function renderFooterHandle(e,l){return Cell.renderDefaultFooter(e,l)}let Cell=exports.Cell={createColumn(e,l){var r=l.type,t={renderHeader:renderHeaderHandle,renderCell:renderCellHandle,renderFooter:renderFooterHandle};return"expand"===r&&(t.renderData=Cell.renderExpandData),(0,_util.createColumn)(e,l,t)},renderHeaderTitle(e,l){var{$table:r,column:t}=l,{slots:n,editRender:a,cellRender:o}=t,a=a||o;if(n&&n.header)return renderTitleContent(e,l,r.callSlot(n.header,l,e));if(a){o=renderer.get(a.name),n=o?o.renderTableHeader||o.renderHeader:null;if(n)return(0,_vn.getSlotVNs)(renderTitleContent(e,l,n.call(r,e,a,l)))}return renderTitleContent(e,l,(0,_utils.formatText)(t.getTitle(),1))},renderDefaultHeader(e,l){return renderHeaderCellBaseVNs(e,l,Cell.renderHeaderTitle(e,l))},renderDefaultCell(e,l){var{$table:r,row:t,column:n}=l,a=r,o=r.isRowGroupStatus,{slots:d,editRender:s,cellRender:i,rowGroupNode:c}=n,i=s||i;if(d&&d.default)return renderCellBaseVNs(e,l,r.callSlot(d.default,l,e));if(i){var d=renderer.get(i.name),u=d?d.renderTableDefault||d.renderDefault:null,d=d?d.renderTableCell||d.renderCell:null,d=s?d:u;if(d)return renderCellBaseVNs(e,l,(0,_vn.getSlotVNs)(d.call(r,e,i,Object.assign({$type:s?"edit":"cell"},l))))}let C="";if(o&&c&&t.isAggregate){var u=a.fullColumnFieldData,{showTotal:d,totalMethod:i,contentMethod:c,mapChildrenField:a}=r.computeRowGroupOpts,p=t.groupField,a=(C=t.groupContent,a&&t[a]||[]),g=a.length,u=u[p]||{};let e={$table:r,groupField:p,groupColumn:u?u.column:null,column:n,groupValue:C,children:a,totalValue:g};c&&(C=""+c(e)),d&&(C=getI18n("vxe.table.rowGroupContentTotal",[C,i?i(e):g,g]))}else o&&t.isAggregate||(C=r.getCellLabel(t,n));p=s?s.placeholder:"";return renderCellBaseVNs(e,l,[e("span",{class:"vxe-cell--label"},[s&&(0,_utils.eqEmptyValue)(C)?e("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(p),1)):e("span",(0,_utils.formatText)(C,1))])])},renderDeepCell(e,l){return Cell.renderDeepNodeBtn(e,l,Cell.renderDefaultCell.call(this,e,l))},renderDefaultFooter(e,l){return getFooterContent(e,l)},renderRowGroupBtn(e,l,r){let t=l.$table;var n=t,a=t,{row:o,level:d}=l,n=n.rowGroupExpandedFlag,a=a.rowGroupExpandedMaps,{padding:s,indent:i}=t.computeRowGroupOpts,o=(0,_util.getRowid)(t,o),n=!!n&&!!a[o];return e("div",{class:["vxe-row-group--tree-node",{"is--expanded":n}],style:s&&i?{paddingLeft:d*i+"px"}:void 0},[e("span",{class:"vxe-row-group--node-btn",on:{click(e){t.triggerRowGroupExpandEvent(e,l)}}},[e("i",{class:n?getIcon().TABLE_ROW_GROUP_OPEN:getIcon().TABLE_ROW_GROUP_CLOSE})]),e("div",{class:"vxe-row-group-cell"},r)])},renderTreeNodeBtn(e,l,r){let{$table:t,isHidden:n}=l;var a=t.treeExpandedFlag,{fullAllDataRowIdData:o,treeExpandedMaps:d,treeExpandLazyLoadedMaps:s}=t,i=t.computeTreeOpts,{row:c,column:u,level:C}=l,u=u.slots,{padding:p,indent:g,lazy:E,trigger:b,iconLoaded:v,showIcon:x,iconOpen:f,iconClose:m}=i,h=i.children||i.childrenField,i=i.hasChild||i.hasChildField,h=c[h],h=h&&h.length,u=u?u.icon:null;let _=!1,T=!1,D=!1,w=!1;var I={};return u?t.callSlot(u,l,e):(n||(u=(0,_util.getRowid)(t,c),T=!!a&&!!d[u],E&&(a=o[u],D=!!s[u],_=c[i],w=!!a.treeLoaded)),b&&"default"!==b||(I.click=e=>{t.triggerTreeExpandEvent(e,l)}),[e("div",{class:["vxe-cell--tree-node",{"is--active":T}],style:p&&g?{paddingLeft:C*g+"px"}:void 0},[x&&(!E||w?h:h||_)?[e("div",{class:"vxe-cell--tree-btn",on:I},[e("i",{class:D?v||getIcon().TABLE_TREE_LOADED:T?f||getIcon().TABLE_TREE_OPEN:m||getIcon().TABLE_TREE_CLOSE})])]:null,e("div",{class:"vxe-tree-cell"},r)])])},renderDeepNodeBtn(e,l,r){var{row:t,column:n}=l,n=n.rowGroupNode;return n&&t.isAggregate?[Cell.renderRowGroupBtn(e,l,r)]:[Cell.renderTreeNodeBtn(e,l,r)]},renderSeqHeader(e,l){var{$table:r,column:t}=l,n=t.slots;return renderHeaderCellBaseVNs(e,l,renderTitleContent(e,l,n&&n.header?r.callSlot(n.header,l,e):(0,_utils.formatText)(t.getTitle(),1)))},renderSeqCell(e,l){var{$table:r,column:t}=l,n=r.treeConfig,a=r.computeSeqOpts,t=t.slots;return t&&t.default?renderCellBaseVNs(e,l,r.callSlot(t.default,l,e)):(r=l.seq,t=a.seqMethod,renderCellBaseVNs(e,l,[e("span",""+(0,_utils.formatText)(t?t(l):n?r:(a.startIndex||0)+r,1))]))},renderDeepIndexCell(e,l){return Cell.renderDeepNodeBtn(e,l,Cell.renderSeqCell(e,l))},renderRadioHeader(e,l){var{$table:r,column:t}=l,n=t.slots,a=n?n.header:null,n=n?n.title:null;return renderHeaderCellBaseVNs(e,l,renderTitleContent(e,l,a?r.callSlot(a,l,e):[e("span",{class:"vxe-radio--label"},n?r.callSlot(n,l,e):(0,_utils.formatText)(t.getTitle(),1))]))},renderRadioCell(e,l){let{$table:r,column:t,isHidden:n}=l;var a=r.selectRadioRow,o=t.slots,{labelField:d,checkMethod:s,visibleMethod:i}=r.computeRadioOpts,c=l.row,u=o?o.default:null,o=o?o.radio:null,a=c===a;let C=!i||i({$table:r,row:c}),p=!!s,g;n||(g={click(e){!p&&C&&r.triggerRadioRowEvent(e,l)}},s&&(p=!s({$table:r,row:c})));i=Object.assign(Object.assign({},l),{checked:a,disabled:p,visible:C});return o?renderCellBaseVNs(e,l,r.callSlot(o,i,e)):(s=[],C&&s.push(e("span",{class:["vxe-radio--icon",a?getIcon().TABLE_RADIO_CHECKED:getIcon().TABLE_RADIO_UNCHECKED]})),(u||d)&&s.push(e("span",{class:"vxe-radio--label"},u?r.callSlot(u,i,e):_xeUtils.default.get(c,d))),renderCellBaseVNs(e,l,[e("span",{class:["vxe-cell--radio",{"is--checked":a,"is--disabled":p}],on:g},s)]))},renderDeepRadioCell(e,l){return Cell.renderDeepNodeBtn(e,l,Cell.renderRadioCell(e,l))},renderCheckboxHeader(e,l){let{$table:r,column:t,isHidden:n}=l;let{isAllSelected:a,isIndeterminate:o}=r,d=r.computeIsAllCheckboxDisabled;var s=t.slots,i=s?s.header:null,s=s?s.title:null,{checkStrictly:c,showHeader:u,headerTitle:C}=r.computeCheckboxOpts,p=t.getTitle(),g={},E=(n||(g.click=e=>{d||r.triggerCheckAllEvent(e,!a)}),Object.assign(Object.assign({},l),{checked:a,disabled:d,indeterminate:o}));return renderHeaderCellBaseVNs(e,l,renderTitleContent(e,E,i?r.callSlot(i,E,e):(c?u:!1!==u)?[e("span",{class:["vxe-cell--checkbox",{"is--checked":a,"is--disabled":d,"is--indeterminate":o}],attrs:{title:_xeUtils.default.eqNull(C)?getI18n("vxe.table.allTitle"):""+(C||"")},on:g},[e("span",{class:["vxe-checkbox--icon",o?getIcon().TABLE_CHECKBOX_INDETERMINATE:a?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})].concat(s||p?[e("span",{class:"vxe-checkbox--label"},s?r.callSlot(s,E,e):p)]:[]))]:[e("span",{class:"vxe-checkbox--label"},s?r.callSlot(s,E,e):p)]))},renderCheckboxCell(e,l){let{$table:r,row:t,column:n,isHidden:a}=l;var o=r.treeConfig,{updateCheckboxFlag:d,isRowGroupStatus:s}=r,{selectCheckboxMaps:i,treeIndeterminateRowMaps:c}=r,{labelField:u,checkMethod:C,visibleMethod:p}=r.computeCheckboxOpts,g=n.slots,E=g?g.default:null,g=g?g.checkbox:null;let b=!1,v=!1,x=!p||p({$table:r,row:t}),f=!!C;var m,p={},d=(!a&&(m=(0,_util.getRowid)(r,t),v=!!d&&!!i[m],p.click=e=>{!f&&x&&r.triggerCheckRowEvent(e,l,!v)},C&&(f=!C({$table:r,row:t})),o||s)&&(b=!!c[m]),Object.assign(Object.assign({},l),{checked:v,disabled:f,visible:x,indeterminate:b}));return g?renderCellBaseVNs(e,l,r.callSlot(g,d,e)):(i=[],x&&i.push(e("span",{class:["vxe-checkbox--icon",b?getIcon().TABLE_CHECKBOX_INDETERMINATE:v?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(E||u)&&i.push(e("span",{class:"vxe-checkbox--label"},E?r.callSlot(E,d,e):_xeUtils.default.get(t,u))),renderCellBaseVNs(e,l,[e("span",{class:["vxe-cell--checkbox",{"is--checked":v,"is--disabled":f,"is--indeterminate":b,"is--hidden":!x}],on:p},i)]))},renderDeepSelectionCell(e,l){return Cell.renderDeepNodeBtn(e,l,Cell.renderCheckboxCell(e,l))},renderCheckboxCellByProp(e,l){let{$table:r,row:t,column:n,isHidden:a}=l;var o=r.treeConfig,{updateCheckboxFlag:d,isRowGroupStatus:s}=r,i=r.treeIndeterminateRowMaps,c=r.computeCheckboxOpts,{labelField:u,checkField:C,checkMethod:p,visibleMethod:g}=c,c=c.indeterminateField||c.halfField,E=n.slots,b=E?E.default:null,E=E?E.checkbox:null;let v=!1,x=!1,f=!g||g({$table:r,row:t}),m=!!p;var h,g={},d=(!a&&(h=(0,_util.getRowid)(r,t),x=!!d&&_xeUtils.default.get(t,C),g.click=e=>{!m&&f&&r.triggerCheckRowEvent(e,l,!x)},p&&(m=!p({$table:r,row:t})),o||s)&&(v=!!i[h]),Object.assign(Object.assign({},l),{checked:x,disabled:m,visible:f,indeterminate:v}));return E?renderCellBaseVNs(e,l,r.callSlot(E,d,e)):(C=[],f&&C.push(e("span",{class:["vxe-checkbox--icon",v?getIcon().TABLE_CHECKBOX_INDETERMINATE:x?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(b||u)&&C.push(e("span",{class:"vxe-checkbox--label"},b?r.callSlot(b,d,e):_xeUtils.default.get(t,u))),renderCellBaseVNs(e,l,[e("span",{class:["vxe-cell--checkbox",{"is--checked":x,"is--disabled":m,"is--indeterminate":c&&!x?t[c]:v,"is--hidden":!f}],on:g},C)]))},renderDeepSelectionCellByProp(e,l){return Cell.renderDeepNodeBtn(e,l,Cell.renderCheckboxCellByProp(e,l))},renderExpandCell(e,l){let{$table:r,isHidden:t,row:n,column:a}=l;var o=r.isRowGroupStatus,{rowExpandedMaps:d,rowExpandLazyLoadedMaps:s}=r,{lazy:i,labelField:c,iconLoaded:u,showIcon:C,iconOpen:p,iconClose:g,visibleMethod:E}=r.computeExpandOpts,b=a.slots,v=b?b.default:null,b=b?b.icon:null;let x=!1,f=!1;return o&&n.isAggregate?renderCellBaseVNs(e,l,[]):b?renderCellBaseVNs(e,l,r.callSlot(b,l,e)):(t||(o=(0,_util.getRowid)(r,n),x=!!d[o],i&&(f=!!s[o])),renderCellBaseVNs(e,l,[!C||E&&!E(l)?renderEmptyElement(r):e("span",{class:["vxe-table--expanded",{"is--active":x}],on:{mousedown(e){e.stopPropagation()},click(e){r.triggerRowExpandEvent(e,l)}}},[e("i",{class:["vxe-table--expand-btn",f?u||getIcon().TABLE_EXPAND_LOADED:x?p||getIcon().TABLE_EXPAND_OPEN:g||getIcon().TABLE_EXPAND_CLOSE]})]),v||c?e("span",{class:"vxe-table--expand-label"},v?r.callSlot(v,l,e):_xeUtils.default.get(n,c)):renderEmptyElement(r)]))},renderExpandData(e,l){var{$table:r,column:t}=l,{slots:t,contentRender:n}=t;if(t&&t.content)return r.callSlot(t.content,l,e);if(n){t=renderer.get(n.name),t=t?t.renderTableExpand||t.renderExpand:null;if(t)return(0,_vn.getSlotVNs)(t.call(r,e,n,l))}return[]},renderHTMLCell(e,l){var{$table:r,column:t}=l,t=t.slots;return t&&t.default?renderCellBaseVNs(e,l,r.callSlot(t.default,l,e)):renderCellBaseVNs(e,l,[e("span",{class:"vxe-cell--html",domProps:{innerHTML:getDefaultCellLabel(l)}})])},renderDeepHTMLCell(e,l){return Cell.renderDeepNodeBtn(e,l,Cell.renderHTMLCell(e,l))},renderSortAndFilterHeader(e,l){return renderHeaderCellBaseVNs(e,l,Cell.renderHeaderTitle(e,l).concat(Cell.renderSortIcon(e,l).concat(Cell.renderFilterIcon(e,l))))},renderSortHeader(e,l){return renderHeaderCellBaseVNs(e,l,Cell.renderHeaderTitle(e,l).concat(Cell.renderSortIcon(e,l)))},renderSortIcon(e,l){let{$table:r,column:t}=l;var{showIcon:n,allowBtn:a,ascTitle:o,descTitle:d,iconLayout:s,iconAsc:i,iconDesc:c,iconVisibleMethod:u}=r.computeSortOpts;return!n||u&&!u(l)?[]:[e("span",{class:["vxe-cell--sort",`vxe-cell--sort-${s}-layout`]},[e("i",{class:["vxe-sort--asc-btn",i||getIcon().TABLE_SORT_ASC,{"sort--active":"asc"===t.order}],attrs:{title:_xeUtils.default.eqNull(o)?getI18n("vxe.table.sortAsc"):""+(o||"")},on:a?{click(e){e.stopPropagation(),r.triggerSortEvent(e,t,"asc")}}:void 0}),e("i",{class:["vxe-sort--desc-btn",c||getIcon().TABLE_SORT_DESC,{"sort--active":"desc"===t.order}],attrs:{title:_xeUtils.default.eqNull(d)?getI18n("vxe.table.sortDesc"):""+(d||"")},on:a?{click(e){e.stopPropagation(),r.triggerSortEvent(e,t,"desc")}}:void 0})])]},renderFilterHeader(e,l){return renderHeaderCellBaseVNs(e,l,Cell.renderHeaderTitle(e,l).concat(Cell.renderFilterIcon(e,l)))},renderFilterIcon(e,l){let{$table:r,column:t,hasFilter:n}=l;var a=r.filterStore,{showIcon:o,iconNone:d,iconMatch:s,iconVisibleMethod:i}=r.computeFilterOpts;return!o||i&&!i(l)?[]:[e("span",{class:["vxe-cell--filter",{"is--active":a.visible&&a.column===t}],on:{click(e){r.triggerFilterEvent&&r.triggerFilterEvent(e,l.column,l)}}},[e("i",{class:["vxe-filter--btn",n?s||getIcon().TABLE_FILTER_MATCH:d||getIcon().TABLE_FILTER_NONE],attrs:{title:getI18n("vxe.table.filter")}})])]},renderEditHeader(e,l){var{$table:r,column:t}=l,{editConfig:n,editRules:a}=r,o=r.computeEditOpts,{sortable:d,filters:s,editRender:i}=t;let c=!1,u=(a&&(a=_xeUtils.default.get(a,t.field))&&(c=a.some(e=>e.required)),[]);return(0,_utils.isEnableConf)(n)&&(u=[c&&o.showAsterisk?e("i",{class:"vxe-cell--required-icon"},[e("i",{class:"vxe-cell--required-icon"})]):renderEmptyElement(r),(0,_utils.isEnableConf)(i)&&o.showIcon?e("i",{class:"vxe-cell--edit-icon"},[e("i",{class:o.icon||getIcon().TABLE_EDIT})]):renderEmptyElement(r)]),renderHeaderCellBaseVNs(e,l,u.concat(Cell.renderHeaderTitle(e,l)).concat(d?Cell.renderSortIcon(e,l):[]).concat(s?Cell.renderFilterIcon(e,l):[]))},renderRowEdit(e,l){var{$table:r,column:t}=l,r=r.editStore,r=r.actived,t=t.editRender;return Cell.runRenderer(e,l,this,(0,_utils.isEnableConf)(t)&&r&&r.row===l.row)},renderDeepRowEdit(e,l){return Cell.renderDeepNodeBtn(e,l,Cell.renderRowEdit(e,l))},renderCellEdit(e,l){var{$table:r,column:t}=l,r=r.editStore,r=r.actived,t=t.editRender;return Cell.runRenderer(e,l,this,(0,_utils.isEnableConf)(t)&&r&&r.row===l.row&&r.column===l.column)},renderDeepCellEdit(e,l){return Cell.renderDeepNodeBtn(e,l,Cell.renderCellEdit(e,l))},runRenderer(e,l,r,t){var{$table:n,column:a}=l,{slots:a,editRender:o,formatter:d}=a,s=renderer.get(o.name),s=s?s.renderTableEdit||s.renderEdit:null,i=Object.assign({$type:"",isEdit:t},l);return t?a&&a.edit?n.callSlot(a.edit,i,e):s?(0,_vn.getSlotVNs)(s.call(n,e,o,i)):[]:a&&a.default?renderCellBaseVNs(e,l,n.callSlot(a.default,i,e)):d?renderCellBaseVNs(e,l,[e("span",{class:"vxe-cell--label"},[getDefaultCellLabel(i)])]):Cell.renderDefaultCell.call(r,e,i)}};var _default=exports.default=Cell;
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Cell=void 0;var _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,formats,renderEmptyElement}=_ui.VxeUI;function renderTitlePrefixIcon(e,l){let{$table:r,column:t}=l,n=t.titlePrefix||t.titleHelp;return n?e("i",{class:["vxe-cell-title-prefix-icon",n.iconStatus?"theme--"+n.iconStatus:""],on:{mouseenter(e){r.triggerHeaderTitleEvent(e,n,l)},mouseleave(e){r.handleTargetLeaveEvent(e)}}},[e("i",{class:n.icon||getIcon().TABLE_TITLE_PREFIX})]):renderEmptyElement(r)}function renderTitleSuffixIcon(e,l){let{$table:r,column:t}=l,n=t.titleSuffix;return n?e("i",{class:["vxe-cell-title-suffix-icon",n.iconStatus?"theme--"+n.iconStatus:""],on:{mouseenter(e){r.triggerHeaderTitleEvent(e,n,l)},mouseleave(e){r.handleTargetLeaveEvent(e)}}},[e("i",{class:n.icon||getIcon().TABLE_TITLE_SUFFIX})]):renderEmptyElement(r)}function renderCellDragIcon(e,l){let r=l.$table;var t=r.$scopedSlots,n=r.dragConfig,{icon:o,trigger:a,disabledMethod:d}=r.computeRowDragOpts,d=d||(n?n.rowDisabledMethod:null);let s=d&&d(l);d=t.rowDragIcon||t["row-drag-icon"],t={};return"cell"!==a&&(t.mousedown=e=>{s||r.handleCellDragMousedownEvent(e,l)},t.mouseup=r.handleCellDragMouseupEvent),e("span",{key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":s}],on:t},d?r.callSlot(d,l,e):[e("i",{class:o||(n?n.rowIcon:"")||getIcon().TABLE_DRAG_ROW})])}function renderCellBaseVNs(e,l,r){var{$table:t,column:n,level:o}=l,n=n.dragSort,{treeConfig:a,dragConfig:d}=t,s=t.computeRowOpts,i=t.computeTreeOpts,{showIcon:t,isPeerDrag:c,isCrossDrag:u,visibleMethod:C}=t.computeRowDragOpts,C=C||(d?d.rowVisibleMethod:null),p=[];return n&&s.drag&&(t||d&&d.showRowIcon)&&(!C||C(l))&&(!a||i.transform&&(c||u||!o))&&p.unshift(renderCellDragIcon(e,l)),p.concat(_xeUtils.default.isArray(r)?r:[r])}function renderHeaderCellDragIcon(e,r){let{$table:t,column:l}=r;var n=t.$scopedSlots,o=l.slots,a=t.computeColumnOpts,{showIcon:d,icon:s,trigger:i,isPeerDrag:c,isCrossDrag:u,visibleMethod:C,disabledMethod:p}=t.computeColumnDragOpts;if(!a.drag||!d||C&&!C(r)||l.fixed||!c&&!u&&l.parentId)return renderEmptyElement(t);{let l=p&&p(r);a=(o?o.columnDragIcon||o["column-drag-icon"]:null)||n.columnDragIcon||n["column-drag-icon"],d={};return"cell"!==i&&(d.mousedown=e=>{l||t.handleHeaderCellDragMousedownEvent(e,r)},d.mouseup=t.handleHeaderCellDragMouseupEvent),e("span",{key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":l}],on:d},a?t.callSlot(a,r,e):[e("i",{class:s||getIcon().TABLE_DRAG_COLUMN})])}}function renderHeaderCellBaseVNs(e,l,r){return[renderTitlePrefixIcon(e,l),renderHeaderCellDragIcon(e,l),..._xeUtils.default.isArray(r)?r:[r],renderTitleSuffixIcon(e,l)]}function renderTitleContent(e,l,r){let{$table:t,column:n}=l;var{type:o,showHeaderOverflow:a}=n,d=t;let s=t;d=d.showHeaderOverflow;let i=t.computeTooltipOpts.showAll;d=_xeUtils.default.isUndefined(a)||_xeUtils.default.isNull(a)?d:a;let c="title"===d,u=!0===d||"tooltip"===d;a={};return(c||u||i)&&(a.mouseenter=e=>{s.isDragResize||(c?(0,_dom.updateCellTitle)(e.currentTarget,n):(u||i)&&t.triggerHeaderTooltipEvent(e,l))}),(u||i)&&(a.mouseleave=e=>{s.isDragResize||(u||i)&&t.handleTargetLeaveEvent(e)}),["html"===o&&_xeUtils.default.isString(r)?e("span",{class:"vxe-cell--title",domProps:{innerHTML:r},on:a}):e("span",{class:"vxe-cell--title",on:a},(0,_vn.getSlotVNs)(r))]}function getFooterContent(e,l){var{$table:r,column:t,_columnIndex:n,row:o,items:a}=l,{slots:d,editRender:s,cellRender:i,footerFormatter:c}=t,s=s||i;if(d&&d.footer)return r.callSlot(d.footer,l,e);let u="";u=_xeUtils.default.isArray(a)?a[n]:_xeUtils.default.get(o,t.field);i=Object.assign(l,{itemValue:u});if(c)return _xeUtils.default.isFunction(c)?""+c(i):(n=(a=(d=_xeUtils.default.isArray(c))?formats.get(c[0]):formats.get(c))?a.tableFooterCellFormatMethod:null)?""+(d?n(i,...c.slice(1)):n(i)):"";if(s){o=renderer.get(s.name),t=o?o.renderTableFooter||o.renderFooter:null;if(t)return(0,_vn.getSlotVNs)(t.call(r,e,s,i))}return[(0,_utils.formatText)(u,1)]}function getDefaultCellLabel(e){var{$table:e,row:l,column:r}=e;return(0,_utils.formatText)(e.getCellLabel(l,r),1)}function renderCellHandle(e,l){var{column:r,row:t,$table:n}=l,o=n.editConfig,a=n.isRowGroupStatus,{type:d,treeNode:s,rowGroupNode:i,editRender:c}=r,u=n.computeRowGroupOpts.mode,C=n.computeCheckboxOpts,n=n.computeEditOpts,p=s||a&&t.isAggregate&&("column"===u?r.field===t.groupField:i);switch(d){case"seq":return p?Cell.renderDeepIndexCell(e,l):Cell.renderSeqCell(e,l);case"radio":return p?Cell.renderDeepRadioCell(e,l):Cell.renderRadioCell(e,l);case"checkbox":return C.checkField?p?Cell.renderDeepSelectionCellByProp(e,l):Cell.renderCheckboxCellByProp(e,l):p?Cell.renderDeepSelectionCell(e,l):Cell.renderCheckboxCell(e,l);case"expand":return Cell.renderExpandCell(e,l);case"html":return p?Cell.renderDeepHTMLCell(e,l):Cell.renderHTMLCell(e,l)}return(0,_utils.isEnableConf)(o)&&c?"cell"===n.mode?p?Cell.renderDeepCellEdit(e,l):Cell.renderCellEdit(e,l):p?Cell.renderDeepRowEdit(e,l):Cell.renderRowEdit(e,l):p?Cell.renderDeepCell(e,l):Cell.renderDefaultCell(e,l)}function renderHeaderHandle(e,l){var{column:r,$table:t}=l,t=t.editConfig,{type:r,filters:n,sortable:o,editRender:a}=r;switch(r){case"seq":return Cell.renderSeqHeader(e,l);case"radio":return Cell.renderRadioHeader(e,l);case"checkbox":return Cell.renderCheckboxHeader(e,l);case"html":if(n&&o)return Cell.renderSortAndFilterHeader(e,l);if(o)return Cell.renderSortHeader(e,l);if(n)return Cell.renderFilterHeader(e,l)}return t&&a?Cell.renderEditHeader(e,l):n&&o?Cell.renderSortAndFilterHeader(e,l):o?Cell.renderSortHeader(e,l):n?Cell.renderFilterHeader(e,l):Cell.renderDefaultHeader(e,l)}function renderFooterHandle(e,l){return Cell.renderDefaultFooter(e,l)}let Cell=exports.Cell={createColumn(e,l){var r=l.type,t={renderHeader:renderHeaderHandle,renderCell:renderCellHandle,renderFooter:renderFooterHandle};return"expand"===r&&(t.renderData=Cell.renderExpandData),(0,_util.createColumn)(e,l,t)},renderHeaderTitle(e,l){var{$table:r,column:t}=l,{slots:n,editRender:o,cellRender:a}=t,o=o||a;if(n&&n.header)return renderTitleContent(e,l,r.callSlot(n.header,l,e));if(o){a=renderer.get(o.name),n=a?a.renderTableHeader||a.renderHeader:null;if(n)return(0,_vn.getSlotVNs)(renderTitleContent(e,l,n.call(r,e,o,l)))}return renderTitleContent(e,l,(0,_utils.formatText)(t.getTitle(),1))},renderDefaultHeader(e,l){return renderHeaderCellBaseVNs(e,l,Cell.renderHeaderTitle(e,l))},renderDefaultCell(e,l){var{$table:r,row:t,column:n}=l,o=r,a=r.isRowGroupStatus,{field:d,slots:s,editRender:i,cellRender:c,rowGroupNode:u}=n,c=i||c;if(s&&s.default)return renderCellBaseVNs(e,l,r.callSlot(s.default,l,e));if(c){var s=renderer.get(c.name),C=s?s.renderTableDefault||s.renderDefault:null,s=s?s.renderTableCell||s.renderCell:null,s=i?s:C;if(s)return renderCellBaseVNs(e,l,(0,_vn.getSlotVNs)(s.call(r,e,c,Object.assign({$type:i?"edit":"cell"},l))))}let p="";if(a&&t.isAggregate){var C=o.fullColumnFieldData,{mode:s,showTotal:c,totalMethod:o,countFields:g,countMethod:E,contentMethod:b,mapChildrenField:v}=r.computeRowGroupOpts,m=t.groupField,x=t.groupContent,v=v&&t[v]||[],f=t.childCount,C=C[m]||{};let e={$table:r,groupField:m,groupColumn:C?C.column:null,column:n,groupValue:x,children:v,totalValue:f};("column"===s?n.field===t.groupField:u)?(p=x,b&&(p=""+b(e)),c&&(p=getI18n("vxe.table.rowGroupContentTotal",[p,o?o(e):f,f]))):g&&g.includes(d)&&E&&(p=""+E(e))}else a&&t.isAggregate||(p=r.getCellLabel(t,n));m=i?i.placeholder:"";return renderCellBaseVNs(e,l,[e("span",{class:"vxe-cell--label"},[i&&(0,_utils.eqEmptyValue)(p)?e("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(m),1)):e("span",(0,_utils.formatText)(p,1))])])},renderDeepCell(e,l){return Cell.renderDeepNodeBtn(e,l,Cell.renderDefaultCell.call(this,e,l))},renderDefaultFooter(e,l){return getFooterContent(e,l)},renderRowGroupBtn(e,l,r){let t=l.$table;var n=t,o=t,{row:a,level:d}=l,n=n.rowGroupExpandedFlag,o=o.rowGroupExpandedMaps,{padding:s,indent:i}=t.computeRowGroupOpts,a=(0,_util.getRowid)(t,a),n=!!n&&!!o[a];return e("div",{class:["vxe-row-group--tree-node",{"is--expanded":n}],style:s&&i?{paddingLeft:d*i+"px"}:void 0},[e("span",{class:"vxe-row-group--node-btn",on:{click(e){t.triggerRowGroupExpandEvent(e,l)}}},[e("i",{class:n?getIcon().TABLE_ROW_GROUP_OPEN:getIcon().TABLE_ROW_GROUP_CLOSE})]),e("div",{class:"vxe-row-group-cell"},r)])},renderTreeNodeBtn(e,l,r){let{$table:t,isHidden:n}=l;var o=t.treeExpandedFlag,{fullAllDataRowIdData:a,treeExpandedMaps:d,treeExpandLazyLoadedMaps:s}=t,i=t.computeTreeOpts,{row:c,column:u,level:C}=l,u=u.slots,{padding:p,indent:g,lazy:E,trigger:b,iconLoaded:v,showIcon:m,iconOpen:x,iconClose:f}=i,h=i.children||i.childrenField,i=i.hasChild||i.hasChildField,h=c[h],h=h&&h.length,u=u?u.icon:null;let _=!1,T=!1,w=!1,D=!1;var I={};return u?t.callSlot(u,l,e):(n||(u=(0,_util.getRowid)(t,c),T=!!o&&!!d[u],E&&(o=a[u],w=!!s[u],_=c[i],D=!!o.treeLoaded)),b&&"default"!==b||(I.click=e=>{t.triggerTreeExpandEvent(e,l)}),[e("div",{class:["vxe-cell--tree-node",{"is--active":T}],style:p&&g?{paddingLeft:C*g+"px"}:void 0},[m&&(!E||D?h:h||_)?[e("div",{class:"vxe-cell--tree-btn",on:I},[e("i",{class:w?v||getIcon().TABLE_TREE_LOADED:T?x||getIcon().TABLE_TREE_OPEN:f||getIcon().TABLE_TREE_CLOSE})])]:null,e("div",{class:"vxe-tree-cell"},r)])])},renderDeepNodeBtn(e,l,r){var{$table:t,row:n,column:o}=l,a=o.rowGroupNode;if(n.isAggregate){t=t.computeRowGroupOpts.mode;if("column"===t?o.field===n.groupField:a)return[Cell.renderRowGroupBtn(e,l,r)]}return[Cell.renderTreeNodeBtn(e,l,r)]},renderSeqHeader(e,l){var{$table:r,column:t}=l,n=t.slots;return renderHeaderCellBaseVNs(e,l,renderTitleContent(e,l,n&&n.header?r.callSlot(n.header,l,e):(0,_utils.formatText)(t.getTitle(),1)))},renderSeqCell(e,l){var{$table:r,column:t}=l,n=r.treeConfig,o=r.computeSeqOpts,t=t.slots;return t&&t.default?renderCellBaseVNs(e,l,r.callSlot(t.default,l,e)):(r=l.seq,t=o.seqMethod,renderCellBaseVNs(e,l,[e("span",""+(0,_utils.formatText)(t?t(l):n?r:(o.startIndex||0)+r,1))]))},renderDeepIndexCell(e,l){return Cell.renderDeepNodeBtn(e,l,Cell.renderSeqCell(e,l))},renderRadioHeader(e,l){var{$table:r,column:t}=l,n=t.slots,o=n?n.header:null,n=n?n.title:null;return renderHeaderCellBaseVNs(e,l,renderTitleContent(e,l,o?r.callSlot(o,l,e):[e("span",{class:"vxe-radio--label"},n?r.callSlot(n,l,e):(0,_utils.formatText)(t.getTitle(),1))]))},renderRadioCell(e,l){let{$table:r,column:t,isHidden:n}=l;var o=r.selectRadioRow,a=t.slots,{labelField:d,checkMethod:s,visibleMethod:i}=r.computeRadioOpts,c=l.row,u=a?a.default:null,a=a?a.radio:null,o=c===o;let C=!i||i({$table:r,row:c}),p=!!s,g;n||(g={click(e){!p&&C&&r.triggerRadioRowEvent(e,l)}},s&&(p=!s({$table:r,row:c})));i=Object.assign(Object.assign({},l),{checked:o,disabled:p,visible:C});return a?renderCellBaseVNs(e,l,r.callSlot(a,i,e)):(s=[],C&&s.push(e("span",{class:["vxe-radio--icon",o?getIcon().TABLE_RADIO_CHECKED:getIcon().TABLE_RADIO_UNCHECKED]})),(u||d)&&s.push(e("span",{class:"vxe-radio--label"},u?r.callSlot(u,i,e):_xeUtils.default.get(c,d))),renderCellBaseVNs(e,l,[e("span",{class:["vxe-cell--radio",{"is--checked":o,"is--disabled":p}],on:g},s)]))},renderDeepRadioCell(e,l){return Cell.renderDeepNodeBtn(e,l,Cell.renderRadioCell(e,l))},renderCheckboxHeader(e,l){let{$table:r,column:t,isHidden:n}=l;let{isAllSelected:o,isIndeterminate:a}=r,d=r.computeIsAllCheckboxDisabled;var s=t.slots,i=s?s.header:null,s=s?s.title:null,{checkStrictly:c,showHeader:u,headerTitle:C}=r.computeCheckboxOpts,p=t.getTitle(),g={},E=(n||(g.click=e=>{d||r.triggerCheckAllEvent(e,!o)}),Object.assign(Object.assign({},l),{checked:o,disabled:d,indeterminate:a}));return renderHeaderCellBaseVNs(e,l,renderTitleContent(e,E,i?r.callSlot(i,E,e):(c?u:!1!==u)?[e("span",{class:["vxe-cell--checkbox",{"is--checked":o,"is--disabled":d,"is--indeterminate":a}],attrs:{title:_xeUtils.default.eqNull(C)?getI18n("vxe.table.allTitle"):""+(C||"")},on:g},[e("span",{class:["vxe-checkbox--icon",a?getIcon().TABLE_CHECKBOX_INDETERMINATE:o?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})].concat(s||p?[e("span",{class:"vxe-checkbox--label"},s?r.callSlot(s,E,e):p)]:[]))]:[e("span",{class:"vxe-checkbox--label"},s?r.callSlot(s,E,e):p)]))},renderCheckboxCell(e,l){let{$table:r,row:t,column:n,isHidden:o}=l;var a=r.treeConfig,{updateCheckboxFlag:d,isRowGroupStatus:s}=r,{selectCheckboxMaps:i,treeIndeterminateRowMaps:c}=r,{labelField:u,checkMethod:C,visibleMethod:p}=r.computeCheckboxOpts,g=n.slots,E=g?g.default:null,g=g?g.checkbox:null;let b=!1,v=!1,m=!p||p({$table:r,row:t}),x=!!C;var f,p={},d=(!o&&(f=(0,_util.getRowid)(r,t),v=!!d&&!!i[f],p.click=e=>{!x&&m&&r.triggerCheckRowEvent(e,l,!v)},C&&(x=!C({$table:r,row:t})),a||s)&&(b=!!c[f]),Object.assign(Object.assign({},l),{checked:v,disabled:x,visible:m,indeterminate:b}));return g?renderCellBaseVNs(e,l,r.callSlot(g,d,e)):(i=[],m&&i.push(e("span",{class:["vxe-checkbox--icon",b?getIcon().TABLE_CHECKBOX_INDETERMINATE:v?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(E||u)&&i.push(e("span",{class:"vxe-checkbox--label"},E?r.callSlot(E,d,e):_xeUtils.default.get(t,u))),renderCellBaseVNs(e,l,[e("span",{class:["vxe-cell--checkbox",{"is--checked":v,"is--disabled":x,"is--indeterminate":b,"is--hidden":!m}],on:p},i)]))},renderDeepSelectionCell(e,l){return Cell.renderDeepNodeBtn(e,l,Cell.renderCheckboxCell(e,l))},renderCheckboxCellByProp(e,l){let{$table:r,row:t,column:n,isHidden:o}=l;var a=r.treeConfig,{updateCheckboxFlag:d,isRowGroupStatus:s}=r,i=r.treeIndeterminateRowMaps,c=r.computeCheckboxOpts,{labelField:u,checkField:C,checkMethod:p,visibleMethod:g}=c,c=c.indeterminateField||c.halfField,E=n.slots,b=E?E.default:null,E=E?E.checkbox:null;let v=!1,m=!1,x=!g||g({$table:r,row:t}),f=!!p;var h,g={},d=(!o&&(h=(0,_util.getRowid)(r,t),m=!!d&&_xeUtils.default.get(t,C),g.click=e=>{!f&&x&&r.triggerCheckRowEvent(e,l,!m)},p&&(f=!p({$table:r,row:t})),a||s)&&(v=!!i[h]),Object.assign(Object.assign({},l),{checked:m,disabled:f,visible:x,indeterminate:v}));return E?renderCellBaseVNs(e,l,r.callSlot(E,d,e)):(C=[],x&&C.push(e("span",{class:["vxe-checkbox--icon",v?getIcon().TABLE_CHECKBOX_INDETERMINATE:m?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(b||u)&&C.push(e("span",{class:"vxe-checkbox--label"},b?r.callSlot(b,d,e):_xeUtils.default.get(t,u))),renderCellBaseVNs(e,l,[e("span",{class:["vxe-cell--checkbox",{"is--checked":m,"is--disabled":f,"is--indeterminate":c&&!m?t[c]:v,"is--hidden":!x}],on:g},C)]))},renderDeepSelectionCellByProp(e,l){return Cell.renderDeepNodeBtn(e,l,Cell.renderCheckboxCellByProp(e,l))},renderExpandCell(e,l){let{$table:r,isHidden:t,row:n,column:o}=l;var a=r.isRowGroupStatus,{rowExpandedMaps:d,rowExpandLazyLoadedMaps:s}=r,{lazy:i,labelField:c,iconLoaded:u,showIcon:C,iconOpen:p,iconClose:g,visibleMethod:E}=r.computeExpandOpts,b=o.slots,v=b?b.default:null,b=b?b.icon:null;let m=!1,x=!1;return a&&n.isAggregate?renderCellBaseVNs(e,l,[]):b?renderCellBaseVNs(e,l,r.callSlot(b,l,e)):(t||(a=(0,_util.getRowid)(r,n),m=!!d[a],i&&(x=!!s[a])),renderCellBaseVNs(e,l,[!C||E&&!E(l)?renderEmptyElement(r):e("span",{class:["vxe-table--expanded",{"is--active":m}],on:{mousedown(e){e.stopPropagation()},click(e){r.triggerRowExpandEvent(e,l)}}},[e("i",{class:["vxe-table--expand-btn",x?u||getIcon().TABLE_EXPAND_LOADED:m?p||getIcon().TABLE_EXPAND_OPEN:g||getIcon().TABLE_EXPAND_CLOSE]})]),v||c?e("span",{class:"vxe-table--expand-label"},v?r.callSlot(v,l,e):_xeUtils.default.get(n,c)):renderEmptyElement(r)]))},renderExpandData(e,l){var{$table:r,column:t}=l,{slots:t,contentRender:n}=t;if(t&&t.content)return r.callSlot(t.content,l,e);if(n){t=renderer.get(n.name),t=t?t.renderTableExpand||t.renderExpand:null;if(t)return(0,_vn.getSlotVNs)(t.call(r,e,n,l))}return[]},renderHTMLCell(e,l){var{$table:r,column:t}=l,t=t.slots;return t&&t.default?renderCellBaseVNs(e,l,r.callSlot(t.default,l,e)):renderCellBaseVNs(e,l,[e("span",{class:"vxe-cell--html",domProps:{innerHTML:getDefaultCellLabel(l)}})])},renderDeepHTMLCell(e,l){return Cell.renderDeepNodeBtn(e,l,Cell.renderHTMLCell(e,l))},renderSortAndFilterHeader(e,l){return renderHeaderCellBaseVNs(e,l,Cell.renderHeaderTitle(e,l).concat(Cell.renderSortIcon(e,l).concat(Cell.renderFilterIcon(e,l))))},renderSortHeader(e,l){return renderHeaderCellBaseVNs(e,l,Cell.renderHeaderTitle(e,l).concat(Cell.renderSortIcon(e,l)))},renderSortIcon(e,l){let{$table:r,column:t}=l;var{showIcon:n,allowBtn:o,ascTitle:a,descTitle:d,iconLayout:s,iconAsc:i,iconDesc:c,iconVisibleMethod:u}=r.computeSortOpts;return!n||u&&!u(l)?[]:[e("span",{class:["vxe-cell--sort",`vxe-cell--sort-${s}-layout`]},[e("i",{class:["vxe-sort--asc-btn",i||getIcon().TABLE_SORT_ASC,{"sort--active":"asc"===t.order}],attrs:{title:_xeUtils.default.eqNull(a)?getI18n("vxe.table.sortAsc"):""+(a||"")},on:o?{click(e){e.stopPropagation(),r.triggerSortEvent(e,t,"asc")}}:void 0}),e("i",{class:["vxe-sort--desc-btn",c||getIcon().TABLE_SORT_DESC,{"sort--active":"desc"===t.order}],attrs:{title:_xeUtils.default.eqNull(d)?getI18n("vxe.table.sortDesc"):""+(d||"")},on:o?{click(e){e.stopPropagation(),r.triggerSortEvent(e,t,"desc")}}:void 0})])]},renderFilterHeader(e,l){return renderHeaderCellBaseVNs(e,l,Cell.renderHeaderTitle(e,l).concat(Cell.renderFilterIcon(e,l)))},renderFilterIcon(e,l){let{$table:r,column:t,hasFilter:n}=l;var o=r.filterStore,{showIcon:a,iconNone:d,iconMatch:s,iconVisibleMethod:i}=r.computeFilterOpts;return!a||i&&!i(l)?[]:[e("span",{class:["vxe-cell--filter",{"is--active":o.visible&&o.column===t}],on:{click(e){r.triggerFilterEvent&&r.triggerFilterEvent(e,l.column,l)}}},[e("i",{class:["vxe-filter--btn",n?s||getIcon().TABLE_FILTER_MATCH:d||getIcon().TABLE_FILTER_NONE],attrs:{title:getI18n("vxe.table.filter")}})])]},renderEditHeader(e,l){var{$table:r,column:t}=l,{editConfig:n,editRules:o}=r,a=r.computeEditOpts,{sortable:d,filters:s,editRender:i}=t;let c=!1,u=(o&&(o=_xeUtils.default.get(o,t.field))&&(c=o.some(e=>e.required)),[]);return(0,_utils.isEnableConf)(n)&&(u=[c&&a.showAsterisk?e("i",{class:"vxe-cell--required-icon"},[e("i",{class:"vxe-cell--required-icon"})]):renderEmptyElement(r),(0,_utils.isEnableConf)(i)&&a.showIcon?e("i",{class:"vxe-cell--edit-icon"},[e("i",{class:a.icon||getIcon().TABLE_EDIT})]):renderEmptyElement(r)]),renderHeaderCellBaseVNs(e,l,u.concat(Cell.renderHeaderTitle(e,l)).concat(d?Cell.renderSortIcon(e,l):[]).concat(s?Cell.renderFilterIcon(e,l):[]))},renderRowEdit(e,l){var{$table:r,column:t}=l,r=r.editStore,r=r.actived,t=t.editRender;return Cell.runRenderer(e,l,this,(0,_utils.isEnableConf)(t)&&r&&r.row===l.row)},renderDeepRowEdit(e,l){return Cell.renderDeepNodeBtn(e,l,Cell.renderRowEdit(e,l))},renderCellEdit(e,l){var{$table:r,column:t}=l,r=r.editStore,r=r.actived,t=t.editRender;return Cell.runRenderer(e,l,this,(0,_utils.isEnableConf)(t)&&r&&r.row===l.row&&r.column===l.column)},renderDeepCellEdit(e,l){return Cell.renderDeepNodeBtn(e,l,Cell.renderCellEdit(e,l))},runRenderer(e,l,r,t){var{$table:n,column:o}=l,{slots:o,editRender:a,formatter:d}=o,s=renderer.get(a.name),s=s?s.renderTableEdit||s.renderEdit:null,i=Object.assign({$type:"",isEdit:t},l);return t?o&&o.edit?n.callSlot(o.edit,i,e):s?(0,_vn.getSlotVNs)(s.call(n,e,a,i)):[]:o&&o.default?renderCellBaseVNs(e,l,n.callSlot(o.default,i,e)):d?renderCellBaseVNs(e,l,[e("span",{class:"vxe-cell--label"},[getDefaultCellLabel(i)])]):Cell.renderDefaultCell.call(r,e,i)}};var _default=exports.default=Cell;
@@ -124,7 +124,7 @@ function handleVirtualXVisible($xeTable) {
124
124
  }
125
125
  }
126
126
  let visibleSize = 0;
127
- const toVisibleIndex = Math.max(0, leftIndex < visibleColumn.length ? leftIndex - 2 : 0);
127
+ const toVisibleIndex = leftIndex === visibleColumn.length ? leftIndex : Math.max(0, leftIndex < visibleColumn.length ? leftIndex - 2 : 0);
128
128
  for (let cIndex = toVisibleIndex, cLen = visibleColumn.length; cIndex < cLen; cIndex++) {
129
129
  const column = visibleColumn[cIndex];
130
130
  const colid = column.id;
@@ -2090,7 +2090,7 @@ function handleVirtualYVisible($xeTable) {
2090
2090
  rightIndex = rIndex;
2091
2091
  }
2092
2092
  }
2093
- toVisibleIndex = Math.max(0, leftIndex < afterFullData.length ? leftIndex - 2 : 0);
2093
+ toVisibleIndex = leftIndex === afterFullData.length ? leftIndex : Math.max(0, leftIndex < afterFullData.length ? leftIndex - 2 : 0);
2094
2094
  for (let rIndex = toVisibleIndex, rLen = afterFullData.length; rIndex < rLen; rIndex++) {
2095
2095
  const row = afterFullData[rIndex];
2096
2096
  const rowid = handleGetRowId(row);
@@ -3155,6 +3155,7 @@ function handleGroupData($xeTable, list, rowGroups) {
3155
3155
  const groupField = rgItem.field;
3156
3156
  const groupColumn = $xeTable.getColumnByField(groupField);
3157
3157
  const groupMaps = {};
3158
+ const groupList = [];
3158
3159
  const rowkey = (0, _util.getRowkey)($xeTable);
3159
3160
  list.forEach(row => {
3160
3161
  const cellValue = groupColumn ? $xeTable.getCellLabel(row, groupColumn) : _xeUtils.default.get(row, groupField);
@@ -3174,8 +3175,10 @@ function handleGroupData($xeTable, list, rowGroups) {
3174
3175
  fullData: childFullData,
3175
3176
  treeData: childTreeData
3176
3177
  } = handleGroupData($xeTable, childList, rowGroups.slice(1));
3178
+ const childCount = 0;
3177
3179
  const groupRow = {
3178
3180
  isAggregate: true,
3181
+ childCount,
3179
3182
  groupContent: groupValue,
3180
3183
  groupField,
3181
3184
  [rowField]: (0, _util.getRowUniqueId)(),
@@ -3190,12 +3193,24 @@ function handleGroupData($xeTable, list, rowGroups) {
3190
3193
  if (indeterminateField) {
3191
3194
  groupRow[indeterminateField] = false;
3192
3195
  }
3196
+ groupList.push(groupRow);
3193
3197
  treeData.push(groupRow);
3194
3198
  fullData.push(groupRow);
3195
3199
  if (childFullData.length) {
3196
3200
  fullData.push(...childFullData);
3197
3201
  }
3198
3202
  });
3203
+ _xeUtils.default.lastEach(groupList, groupItem => {
3204
+ let count = 0;
3205
+ _xeUtils.default.each(groupItem[childrenField], row => {
3206
+ if (row.isAggregate) {
3207
+ count += row[childrenField] ? row[childrenField].length : 0;
3208
+ } else {
3209
+ count++;
3210
+ }
3211
+ });
3212
+ groupItem.childCount = count;
3213
+ });
3199
3214
  }
3200
3215
  }
3201
3216
  return {