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.
- package/es/style.css +1 -1
- package/es/table/src/cell.js +31 -15
- package/es/table/src/methods.js +18 -2
- package/es/ui/index.js +3 -3
- package/es/ui/src/log.js +1 -1
- package/lib/index.umd.js +60 -18
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/src/cell.js +39 -12
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/methods.js +17 -2
- package/lib/table/src/methods.min.js +1 -1
- package/lib/ui/index.js +3 -3
- 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 +31 -16
- package/packages/table/src/methods.ts +17 -2
- package/packages/ui/index.ts +2 -2
- /package/es/{iconfont.1748578557669.ttf → iconfont.1749019365308.ttf} +0 -0
- /package/es/{iconfont.1748578557669.woff → iconfont.1749019365308.woff} +0 -0
- /package/es/{iconfont.1748578557669.woff2 → iconfont.1749019365308.woff2} +0 -0
- /package/lib/{iconfont.1748578557669.ttf → iconfont.1749019365308.ttf} +0 -0
- /package/lib/{iconfont.1748578557669.woff → iconfont.1749019365308.woff} +0 -0
- /package/lib/{iconfont.1748578557669.woff2 → iconfont.1749019365308.woff2} +0 -0
package/lib/table/src/cell.js
CHANGED
|
@@ -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 &&
|
|
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
|
-
|
|
483
|
+
const groupContent = row.groupContent;
|
|
471
484
|
const childList = mapChildrenField ? row[mapChildrenField] || [] : [];
|
|
472
|
-
const totalValue =
|
|
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:
|
|
492
|
+
groupValue: groupContent,
|
|
480
493
|
children: childList,
|
|
481
494
|
totalValue: totalValue
|
|
482
495
|
};
|
|
483
|
-
if (
|
|
484
|
-
cellValue =
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
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 (
|
|
647
|
-
|
|
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;
|
package/lib/table/src/methods.js
CHANGED
|
@@ -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 {
|