vxe-table 3.10.1 → 3.10.2

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.
Files changed (119) hide show
  1. package/es/locale/lang/en-US.js +3 -2
  2. package/es/locale/lang/es-ES.js +3 -2
  3. package/es/locale/lang/hu-HU.js +3 -2
  4. package/es/locale/lang/ja-JP.js +3 -2
  5. package/es/locale/lang/ko-KR.js +3 -2
  6. package/es/locale/lang/pt-BR.js +3 -2
  7. package/es/locale/lang/ru-RU.js +3 -2
  8. package/es/locale/lang/uk-UA.js +3 -2
  9. package/es/locale/lang/vi-VN.js +3 -2
  10. package/es/locale/lang/zh-CHT.js +3 -2
  11. package/es/locale/lang/zh-CN.js +3 -2
  12. package/es/style.css +1 -1
  13. package/es/style.min.css +1 -1
  14. package/es/table/module/edit/mixin.js +9 -4
  15. package/es/table/src/body.js +43 -24
  16. package/es/table/src/cell.js +54 -24
  17. package/es/table/src/column.js +3 -1
  18. package/es/table/src/columnInfo.js +1 -0
  19. package/es/table/src/methods.js +211 -14
  20. package/es/table/src/props.js +2 -0
  21. package/es/table/src/table.js +16 -1
  22. package/es/table/style.css +74 -2
  23. package/es/table/style.min.css +1 -1
  24. package/es/ui/index.js +4 -1
  25. package/es/ui/src/log.js +1 -1
  26. package/es/vxe-table/style.css +74 -2
  27. package/es/vxe-table/style.min.css +1 -1
  28. package/helper/vetur/attributes.json +1 -1
  29. package/helper/vetur/tags.json +1 -1
  30. package/lib/index.umd.js +367 -75
  31. package/lib/index.umd.min.js +1 -1
  32. package/lib/locale/lang/en-US.js +3 -2
  33. package/lib/locale/lang/en-US.min.js +1 -1
  34. package/lib/locale/lang/en-US.umd.js +3 -2
  35. package/lib/locale/lang/es-ES.js +3 -2
  36. package/lib/locale/lang/es-ES.min.js +1 -1
  37. package/lib/locale/lang/es-ES.umd.js +3 -2
  38. package/lib/locale/lang/hu-HU.js +3 -2
  39. package/lib/locale/lang/hu-HU.min.js +1 -1
  40. package/lib/locale/lang/hu-HU.umd.js +3 -2
  41. package/lib/locale/lang/ja-JP.js +3 -2
  42. package/lib/locale/lang/ja-JP.min.js +1 -1
  43. package/lib/locale/lang/ja-JP.umd.js +3 -2
  44. package/lib/locale/lang/ko-KR.js +3 -2
  45. package/lib/locale/lang/ko-KR.min.js +1 -1
  46. package/lib/locale/lang/ko-KR.umd.js +3 -2
  47. package/lib/locale/lang/pt-BR.js +3 -2
  48. package/lib/locale/lang/pt-BR.min.js +1 -1
  49. package/lib/locale/lang/pt-BR.umd.js +3 -2
  50. package/lib/locale/lang/ru-RU.js +3 -2
  51. package/lib/locale/lang/ru-RU.min.js +1 -1
  52. package/lib/locale/lang/ru-RU.umd.js +3 -2
  53. package/lib/locale/lang/uk-UA.js +3 -2
  54. package/lib/locale/lang/uk-UA.min.js +1 -1
  55. package/lib/locale/lang/uk-UA.umd.js +3 -2
  56. package/lib/locale/lang/vi-VN.js +3 -2
  57. package/lib/locale/lang/vi-VN.min.js +1 -1
  58. package/lib/locale/lang/zh-CHT.js +3 -2
  59. package/lib/locale/lang/zh-CHT.min.js +1 -1
  60. package/lib/locale/lang/zh-CHT.umd.js +3 -2
  61. package/lib/locale/lang/zh-CN.js +3 -2
  62. package/lib/locale/lang/zh-CN.min.js +1 -1
  63. package/lib/locale/lang/zh-CN.umd.js +3 -2
  64. package/lib/style.css +1 -1
  65. package/lib/style.min.css +1 -1
  66. package/lib/table/module/edit/mixin.js +9 -4
  67. package/lib/table/module/edit/mixin.min.js +1 -1
  68. package/lib/table/src/body.js +41 -22
  69. package/lib/table/src/body.min.js +1 -1
  70. package/lib/table/src/cell.js +58 -24
  71. package/lib/table/src/cell.min.js +1 -1
  72. package/lib/table/src/column.js +3 -1
  73. package/lib/table/src/column.min.js +1 -1
  74. package/lib/table/src/columnInfo.js +1 -0
  75. package/lib/table/src/columnInfo.min.js +1 -1
  76. package/lib/table/src/methods.js +227 -14
  77. package/lib/table/src/methods.min.js +1 -1
  78. package/lib/table/src/props.js +2 -0
  79. package/lib/table/src/props.min.js +1 -1
  80. package/lib/table/src/table.js +15 -2
  81. package/lib/table/src/table.min.js +1 -1
  82. package/lib/table/style/style.css +74 -2
  83. package/lib/table/style/style.min.css +1 -1
  84. package/lib/ui/index.js +4 -1
  85. package/lib/ui/index.min.js +1 -1
  86. package/lib/ui/src/log.js +1 -1
  87. package/lib/ui/src/log.min.js +1 -1
  88. package/lib/vxe-table/style/style.css +74 -2
  89. package/lib/vxe-table/style/style.min.css +1 -1
  90. package/package.json +2 -2
  91. package/packages/locale/lang/en-US.ts +3 -2
  92. package/packages/locale/lang/es-ES.ts +3 -2
  93. package/packages/locale/lang/hu-HU.ts +3 -2
  94. package/packages/locale/lang/ja-JP.ts +3 -2
  95. package/packages/locale/lang/ko-KR.ts +3 -2
  96. package/packages/locale/lang/pt-BR.ts +3 -2
  97. package/packages/locale/lang/ru-RU.ts +3 -2
  98. package/packages/locale/lang/uk-UA.ts +3 -2
  99. package/packages/locale/lang/vi-VN.ts +3 -2
  100. package/packages/locale/lang/zh-CHT.ts +3 -2
  101. package/packages/locale/lang/zh-CN.ts +3 -2
  102. package/packages/table/module/custom/panel.ts +8 -8
  103. package/packages/table/module/edit/mixin.ts +10 -4
  104. package/packages/table/src/body.ts +43 -24
  105. package/packages/table/src/cell.ts +58 -24
  106. package/packages/table/src/column.ts +3 -1
  107. package/packages/table/src/columnInfo.ts +1 -0
  108. package/packages/table/src/methods.ts +227 -14
  109. package/packages/table/src/props.ts +2 -0
  110. package/packages/table/src/table.ts +16 -1
  111. package/packages/ui/index.ts +3 -0
  112. package/styles/components/table-module/custom.scss +9 -3
  113. package/styles/components/table.scss +80 -0
  114. /package/es/{iconfont.1730710763407.ttf → iconfont.1730873052490.ttf} +0 -0
  115. /package/es/{iconfont.1730710763407.woff → iconfont.1730873052490.woff} +0 -0
  116. /package/es/{iconfont.1730710763407.woff2 → iconfont.1730873052490.woff2} +0 -0
  117. /package/lib/{iconfont.1730710763407.ttf → iconfont.1730873052490.ttf} +0 -0
  118. /package/lib/{iconfont.1730710763407.woff → iconfont.1730873052490.woff} +0 -0
  119. /package/lib/{iconfont.1730710763407.woff2 → iconfont.1730873052490.woff2} +0 -0
@@ -333,7 +333,7 @@ function renderColumn(h, _vm, $xetable, seq, rowid, fixedType, rowLevel, row, ro
333
333
  'col--valid-error': !!errorValidItem,
334
334
  'col--current': currentColumn === column
335
335
  }, (0, _utils.getClass)(compCellClassName, params), (0, _utils.getClass)(className, params), (0, _utils.getClass)(allCellClassName, params)],
336
- key: columnKey || columnOpts.useKey ? column.id : $columnIndex,
336
+ key: columnKey || columnOpts.useKey || rowOpts.useKey ? column.id : $columnIndex,
337
337
  attrs,
338
338
  style: Object.assign({
339
339
  height: cellHeight
@@ -341,7 +341,7 @@ function renderColumn(h, _vm, $xetable, seq, rowid, fixedType, rowLevel, row, ro
341
341
  on: tdOns
342
342
  }, tdVNs);
343
343
  }
344
- function renderRows(h, _vm, $xetable, fixedType, tableData, tableColumn) {
344
+ function renderRows(h, _vm, $xeTable, fixedType, tableData, tableColumn) {
345
345
  const {
346
346
  stripe,
347
347
  rowKey,
@@ -365,39 +365,51 @@ function renderRows(h, _vm, $xetable, fixedType, tableData, tableColumn) {
365
365
  rowOpts,
366
366
  pendingRowList,
367
367
  pendingRowMaps
368
- } = $xetable;
368
+ } = $xeTable;
369
369
  const childrenField = treeOpts.children || treeOpts.childrenField;
370
370
  const rows = [];
371
371
  tableData.forEach((row, $rowIndex) => {
372
372
  const trOn = {};
373
373
  let rowIndex = $rowIndex;
374
- const _rowIndex = $xetable.getVTRowIndex(row);
374
+ const _rowIndex = $xeTable.getVTRowIndex(row);
375
375
  // 确保任何情况下 rowIndex 都精准指向真实 data 索引
376
- rowIndex = $xetable.getRowIndex(row);
377
- // 事件绑定
376
+ rowIndex = $xeTable.getRowIndex(row);
377
+ // 当前行事件
378
378
  if (rowOpts.isHover || highlightHoverRow) {
379
379
  trOn.mouseenter = evnt => {
380
- if (isVMScrollProcess($xetable)) {
380
+ if (isVMScrollProcess($xeTable)) {
381
381
  return;
382
382
  }
383
- $xetable.triggerHoverEvent(evnt, {
383
+ $xeTable.triggerHoverEvent(evnt, {
384
384
  row,
385
385
  rowIndex
386
386
  });
387
387
  };
388
388
  trOn.mouseleave = () => {
389
- if (isVMScrollProcess($xetable)) {
389
+ if (isVMScrollProcess($xeTable)) {
390
390
  return;
391
391
  }
392
- $xetable.clearHoverRow();
392
+ $xeTable.clearHoverRow();
393
+ };
394
+ }
395
+ // 拖拽行事件
396
+ if (rowOpts.drag) {
397
+ trOn.dragstart = evnt => {
398
+ $xeTable.handleRowDragDragstartEvent(evnt);
399
+ };
400
+ trOn.dragover = evnt => {
401
+ $xeTable.handleRowDragDragoverEvent(evnt);
402
+ };
403
+ trOn.dragend = evnt => {
404
+ $xeTable.handleRowDragDragendEvent(evnt);
393
405
  };
394
406
  }
395
- const rowid = (0, _util.getRowid)($xetable, row);
407
+ const rowid = (0, _util.getRowid)($xeTable, row);
396
408
  const rest = fullAllDataRowIdData[rowid];
397
409
  const rowLevel = rest ? rest.level : 0;
398
410
  const seq = rest ? rest.seq : -1;
399
411
  const params = {
400
- $table: $xetable,
412
+ $table: $xeTable,
401
413
  seq,
402
414
  rowid,
403
415
  fixed: fixedType,
@@ -415,7 +427,7 @@ function renderRows(h, _vm, $xetable, fixedType, tableData, tableColumn) {
415
427
  // 是否新增行
416
428
  let isNewRow = false;
417
429
  if (editConfig) {
418
- isNewRow = $xetable.isInsertByRow(row);
430
+ isNewRow = $xeTable.isInsertByRow(row);
419
431
  }
420
432
  if (treeConfig && !scrollYLoad && !treeOpts.transform) {
421
433
  rowChildren = row[childrenField];
@@ -423,23 +435,23 @@ function renderRows(h, _vm, $xetable, fixedType, tableData, tableColumn) {
423
435
  }
424
436
  rows.push(h('tr', {
425
437
  class: ['vxe-body--row', treeConfig ? `row--level-${rowLevel}` : '', {
426
- 'row--stripe': stripe && ($xetable.getVTRowIndex(row) + 1) % 2 === 0,
438
+ 'row--stripe': stripe && ($xeTable.getVTRowIndex(row) + 1) % 2 === 0,
427
439
  'is--new': isNewRow,
428
440
  'is--expand-row': isExpandRow,
429
441
  'is--expand-tree': isExpandTree,
430
442
  'row--new': isNewRow && (editOpts.showStatus || editOpts.showInsertStatus),
431
- 'row--radio': radioOpts.highlight && $xetable.selectRadioRow === row,
432
- 'row--checked': checkboxOpts.highlight && $xetable.isCheckedByCheckboxRow(row),
443
+ 'row--radio': radioOpts.highlight && $xeTable.selectRadioRow === row,
444
+ 'row--checked': checkboxOpts.highlight && $xeTable.isCheckedByCheckboxRow(row),
433
445
  'row--pending': pendingRowList.length && !!pendingRowMaps[rowid]
434
446
  }, rowClassName ? _xeUtils.default.isFunction(rowClassName) ? rowClassName(params) : rowClassName : ''],
435
447
  attrs: {
436
448
  rowid
437
449
  },
438
450
  style: rowStyle ? _xeUtils.default.isFunction(rowStyle) ? rowStyle(params) : rowStyle : null,
439
- key: rowKey || rowOpts.useKey || treeConfig ? rowid : $rowIndex,
451
+ key: rowKey || rowOpts.useKey || rowOpts.drag || treeConfig ? rowid : $rowIndex,
440
452
  on: trOn
441
453
  }, tableColumn.map((column, $columnIndex) => {
442
- return renderColumn(h, _vm, $xetable, seq, rowid, fixedType, rowLevel, row, rowIndex, $rowIndex, _rowIndex, column, $columnIndex, tableColumn, tableData);
454
+ return renderColumn(h, _vm, $xeTable, seq, rowid, fixedType, rowLevel, row, rowIndex, $rowIndex, _rowIndex, column, $columnIndex, tableColumn, tableData);
443
455
  })));
444
456
  // 如果行被展开了
445
457
  if (isExpandRow) {
@@ -459,7 +471,7 @@ function renderRows(h, _vm, $xetable, fixedType, tableData, tableColumn) {
459
471
  } = expandColumn;
460
472
  const hasEllipsis = _xeUtils.default.isUndefined(showOverflow) || _xeUtils.default.isNull(showOverflow) ? allColumnOverflow : showOverflow;
461
473
  const expandParams = {
462
- $table: $xetable,
474
+ $table: $xeTable,
463
475
  seq,
464
476
  column: expandColumn,
465
477
  fixed: fixedType,
@@ -495,7 +507,7 @@ function renderRows(h, _vm, $xetable, fixedType, tableData, tableColumn) {
495
507
  }
496
508
  // 如果是树形表格
497
509
  if (isExpandTree) {
498
- rows.push(...renderRows(h, _vm, $xetable, fixedType, rowChildren, tableColumn));
510
+ rows.push(...renderRows(h, _vm, $xeTable, fixedType, rowChildren, tableColumn));
499
511
  }
500
512
  });
501
513
  return rows;
@@ -581,7 +593,9 @@ var _default = exports.default = {
581
593
  emptyOpts,
582
594
  mouseConfig,
583
595
  mouseOpts,
584
- sYOpts
596
+ sYOpts,
597
+ rowOpts,
598
+ isDragRowMove
585
599
  } = $xetable;
586
600
  // 如果是使用优化模式
587
601
  if (fixedType) {
@@ -662,7 +676,12 @@ var _default = exports.default = {
662
676
  /**
663
677
  * 内容
664
678
  */
665
- h('tbody', {
679
+ rowOpts.drag ? h('transition-group', {
680
+ props: {
681
+ tag: 'tbody',
682
+ name: `vxe-body--row-list${isDragRowMove ? '' : '-disabled'}`
683
+ }
684
+ }, renderRows(h, this, $xetable, fixedType, tableData, tableColumn)) : h('tbody', {
666
685
  ref: 'tbody'
667
686
  }, renderRows(h, this, $xetable, fixedType, tableData, tableColumn))]), h('div', {
668
687
  class: 'vxe-table--checkbox-range'
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_util=require("./util"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer}=_ui.VxeUI,renderType="body";function isVMScrollProcess(e){return e._isResize||e.lastScrollTime&&Date.now()<e.lastScrollTime+e.delayHover}function renderLine(e,l,t,r){var{row:o,column:s}=r,{afterFullData:i,treeOpts:a,treeConfig:n,fullAllDataRowIdData:d}=t,{slots:s,treeNode:c}=s,d=d[(0,_util.getRowid)(t,o)];let p=0,u=0,h=[];return d&&(p=d.level,u=d._index,h=d.items),s&&s.line?t.callSlot(s.line,r,e):(d=t.eqRow(i[0],o),n&&c&&(a.showLine||a.line)?[e("div",{class:"vxe-tree--line-wrapper"},[e("div",{class:"vxe-tree--line",style:{height:`${d?1:(0,_util.calcTreeLine)(r,h,u)}px`,left:p*a.indent+(p?2-(0,_util.getOffsetSize)(t):0)+16+"px"}})])]:[])}function renderColumn(e,D,l,t,r,o,s,i,a,n,B,d,c,U,q){var{$listeners:p,fullAllDataRowIdData:N,afterFullData:u,tableData:V,height:h,columnKey:A,overflowX:g,sYOpts:v,scrollYLoad:F,highlightCurrentRow:W,showOverflow:P,isAllOverflow:j,align:z,currentColumn:X,cellClassName:K,cellStyle:x,mergeList:w,spanMethod:G,radioOpts:J,checkboxOpts:m,expandOpts:Q,treeOpts:Z,tooltipOpts:f,mouseConfig:ee,editConfig:y,editOpts:b,editRules:T,validOpts:S,editStore:_,tooltipConfig:le,rowOpts:te,columnOpts:re,validErrorMaps:C}=l,oe=l.computeCellOpts,{type:se,cellRender:ie,editRender:$,align:ae,showOverflow:O,className:ne,treeNode:de,slots:ce}=d,oe=oe.verticalAlign,_=_.actived,v=v.rHeight,L=te.height,R=$||ie,R=R?renderer.get(R.name):null,pe=R?R.tableCellClassName||R.cellClassName:"",ue=R?R.tableCellStyle||R.cellStyle:"";let E=f.showAll||f.enabled;var f=l.getColumnIndex(d),he=l.getVTColumnIndex(d),ge=(0,_utils.isEnableConf)($);let I=o?d.fixed!==o:d.fixed&&g;g=_xeUtils.default.isUndefined(O)||_xeUtils.default.isNull(O)?P:O,O="ellipsis"===g;let k="title"===g,Y=!0===g||"tooltip"===g;g=k||Y||O;let ve;var H={},N=N[r],ae=ae||(R?R.tableCellAlign:"")||z,R=C[r+":"+d.id],z=T&&S.showMessage&&("default"===S.message?h||1<V.length:"inline"===S.message),C={colid:d.id};let xe=p["cell-mouseenter"],we=p["cell-mouseleave"];T=$&&y&&"dblclick"===b.trigger;let M={$table:l,$grid:l.$xegrid,isEdit:!1,seq:t,rowid:r,row:i,rowIndex:a,$rowIndex:n,_rowIndex:B,column:d,columnIndex:f,$columnIndex:c,_columnIndex:he,fixed:o,type:renderType,isHidden:I,level:s,visibleData:u,data:V,items:q};if((k||Y||E||xe||le)&&(H.mouseenter=e=>{isVMScrollProcess(l)||(k?(0,_dom.updateCellTitle)(e.currentTarget,d):(Y||E)&&l.triggerBodyTooltipEvent(e,M),xe&&l.emitEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},M),e))}),(Y||E||we||le)&&(H.mouseleave=e=>{isVMScrollProcess(l)||((Y||E)&&l.handleTargetLeaveEvent(e),we&&l.emitEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},M),e))}),(m.range||ee)&&(H.mousedown=e=>{l.triggerCellMousedownEvent(e,M)}),(te.isCurrent||W||p["cell-click"]||$&&y||"row"===Q.trigger||"cell"===Q.trigger||"row"===J.trigger||"radio"===d.type&&"cell"===J.trigger||"row"===m.trigger||"checkbox"===d.type&&"cell"===m.trigger||"row"===Z.trigger||d.treeNode&&"cell"===Z.trigger)&&(H.click=e=>{l.triggerCellClickEvent(e,M)}),(T||p["cell-dblclick"])&&(H.dblclick=e=>{l.triggerCellDblclickEvent(e,M)}),w.length){h=(0,_util.mergeBodyMethod)(w,B,he);if(h){var{rowspan:t,colspan:r}=h;if(!t||!r)return null;1<t&&(C.rowspan=t),1<r&&(C.colspan=r)}}else if(G){var{rowspan:a=1,colspan:n=1}=G(M)||{};if(!a||!n)return null;1<a&&(C.rowspan=a),1<n&&(C.colspan=n)}!(I=I&&w&&(1<C.colspan||1<C.rowspan)?!1:I)&&y&&($||ie)&&(b.showStatus||b.showUpdateStatus)&&(ve=l.isUpdateByRow(i,d.field));f=[];I&&P&&j?f.push(e("div",{class:["vxe-cell",{"c--title":k,"c--tooltip":Y,"c--ellipsis":O}],style:{maxHeight:g&&(v||L)?`${v||L}px`:""}})):(f.push(...renderLine(e,D,l,M),e("div",{class:["vxe-cell",{"c--title":k,"c--tooltip":Y,"c--ellipsis":O}],style:{maxHeight:g&&(v||L)?`${v||L}px`:""},attrs:{title:k?l.getCellLabel(i,d):null}},d.renderCell(e,M))),z&&R&&(o=R.rule,s=ce?ce.valid:null,u=Object.assign(Object.assign({},M),R),f.push(e("div",{class:["vxe-cell--valid-error-hint",(0,_utils.getClass)(S.className,R)],style:o&&o.maxWidth?{width:o.maxWidth+"px"}:null},s?l.callSlot(s,u,e):[e("span",{class:"vxe-cell--valid-error-msg"},R.content)]))));let me="";return g&&(v||L)?me=`${v||L}px`:F&&!g&&(me=`${N.height||24}px`),e("td",{class:["vxe-body--column",d.id,{["col--"+ae]:ae,["col--vertical-"+oe]:oe,["col--"+se]:se,"col--last":c===U.length-1,"col--tree-node":de,"col--edit":ge,"col--ellipsis":g,"fixed--hidden":I,"col--dirty":ve,"col--active":y&&ge&&_.row===i&&(_.column===d||"row"===b.mode),"col--valid-error":!!R,"col--current":X===d},(0,_utils.getClass)(pe,M),(0,_utils.getClass)(ne,M),(0,_utils.getClass)(K,M)],key:A||re.useKey?d.id:c,attrs:C,style:Object.assign({height:me},_xeUtils.default.isFunction(ue)?ue(M):ue,_xeUtils.default.isFunction(x)?x(M):x),on:H},f)}function renderRows(x,w,m,f,y,b){let{stripe:T,rowKey:S,highlightHoverRow:_,rowClassName:C,rowStyle:$,editConfig:O,showOverflow:L,treeConfig:R,treeOpts:E,expandOpts:I,editOpts:k,treeExpandedMaps:Y,scrollYLoad:H,rowExpandedMaps:M,radioOpts:D,checkboxOpts:B,expandColumn:U,hasFixedColumn:q,fullAllDataRowIdData:N,rowOpts:V,pendingRowList:A,pendingRowMaps:F}=m,W=E.children||E.childrenField,P=[];return y.forEach((t,r)=>{var e={};let o,s=m.getVTRowIndex(t),i=(o=m.getRowIndex(t),(V.isHover||_)&&(e.mouseenter=e=>{isVMScrollProcess(m)||m.triggerHoverEvent(e,{row:t,rowIndex:o})},e.mouseleave=()=>{isVMScrollProcess(m)||m.clearHoverRow()}),(0,_util.getRowid)(m,t));var l=N[i];let a=l?l.level:0,n=l?l.seq:-1;var d,c,p,l={$table:m,seq:n,rowid:i,fixed:f,type:renderType,level:a,row:t,rowIndex:o,$rowIndex:r},u=U&&!!M[i];let h=!1,g=[],v=!1;O&&(v=m.isInsertByRow(t)),!R||H||E.transform||(g=t[W],h=g&&g.length&&!!Y[i]),P.push(x("tr",{class:["vxe-body--row",R?"row--level-"+a:"",{"row--stripe":T&&(m.getVTRowIndex(t)+1)%2==0,"is--new":v,"is--expand-row":u,"is--expand-tree":h,"row--new":v&&(k.showStatus||k.showInsertStatus),"row--radio":D.highlight&&m.selectRadioRow===t,"row--checked":B.highlight&&m.isCheckedByCheckboxRow(t),"row--pending":A.length&&!!F[i]},C?_xeUtils.default.isFunction(C)?C(l):C:""],attrs:{rowid:i},style:$?_xeUtils.default.isFunction($)?$(l):$:null,key:S||V.useKey||R?i:r,on:e},b.map((e,l)=>renderColumn(x,w,m,n,i,f,a,t,o,r,s,e,l,b,y)))),u&&({height:l,padding:u}=I,d={},c=(l&&(d.height=l+"px"),R&&(d.paddingLeft=a*E.indent+30+"px"),U).showOverflow,c=_xeUtils.default.isUndefined(c)||_xeUtils.default.isNull(c)?L:c,p={$table:m,seq:n,column:U,fixed:f,type:renderType,level:a,row:t,rowIndex:o,$rowIndex:r},P.push(x("tr",{class:["vxe-body--expanded-row",{"is--padding":u}],key:"expand_"+i,style:$?_xeUtils.default.isFunction($)?$(p):$:null,on:e},[x("td",{class:{"vxe-body--expanded-column":1,"fixed--hidden":f&&!q,"col--ellipsis":c},attrs:{colspan:b.length}},[x("div",{class:{"vxe-body--expanded-cell":1,"is--ellipsis":l},style:d},[U.renderData(x,p)])])]))),h&&P.push(...renderRows(x,w,m,f,g,b))}),P}var _default=exports.default={name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,size:String,fixedType:String},data(){return{wheelTime:null,wheelYSize:0,wheelYInterval:0,wheelYTotal:0}},mounted(){var{$parent:e,$el:l,$refs:t,fixedType:r}=this,e=e.elemStore,r=`${r||"main"}-body-`;e[r+"wrapper"]=l,e[r+"table"]=t.table,e[r+"colgroup"]=t.colgroup,e[r+"list"]=t.tbody,e[r+"xSpace"]=t.xSpace,e[r+"ySpace"]=t.ySpace,e[r+"emptyBlock"]=t.emptyBlock},beforeDestroy(){clearTimeout(this.wheelTime)},destroyed(){var{$parent:e,fixedType:l}=this,e=e.elemStore,l=`${l||"main"}-body-`;e[l+"wrapper"]=null,e[l+"table"]=null,e[l+"colgroup"]=null,e[l+"list"]=null,e[l+"xSpace"]=null,e[l+"ySpace"]=null,e[l+"emptyBlock"]=null},render(t){let{_e:e,$parent:l,fixedColumn:r,fixedType:o}=this,{$scopedSlots:s,tId:i,tableData:a,tableColumn:n,visibleColumn:d,expandColumn:c,showOverflow:p,keyboardConfig:u,keyboardOpts:h,mergeList:g,spanMethod:v,scrollXLoad:x,scrollYLoad:w,isAllOverflow:m,emptyOpts:f,mouseConfig:y,mouseOpts:b,sYOpts:T}=l;o&&(n=c||!(x||w||p&&m)||g.length||v||u&&h.isMerge?d:r);let S;var _;return S=s.empty?s.empty.call(this,{$table:l},t):(_=(_=f.name?renderer.get(f.name):null)?_.renderTableEmpty||_.renderTableEmptyView||_.renderEmpty:null)?(0,_vn.getSlotVNs)(_.call(this,t,f,{$table:l})):l.emptyText||getI18n("vxe.table.emptyText"),t("div",{class:["vxe-table--body-wrapper",o?`fixed-${o}--wrapper`:"body--wrapper"],attrs:{xid:i},on:Object.assign({scroll:this.scrollEvent},w&&"wheel"===T.mode?{wheel:this.wheelEvent}:null)},[o?e():t("div",{class:"vxe-body--x-space",ref:"xSpace"}),t("div",{class:"vxe-body--y-space",ref:"ySpace"}),t("table",{class:"vxe-table--body",attrs:{xid:i,cellspacing:0,cellpadding:0,border:0},ref:"table"},[t("colgroup",{ref:"colgroup"},n.map((e,l)=>t("col",{attrs:{name:e.id},key:l}))),t("tbody",{ref:"tbody"},renderRows(t,this,l,o,a,n))]),t("div",{class:"vxe-table--checkbox-range"}),y&&b.area?t("div",{class:"vxe-table--cell-area"},[t("span",{class:"vxe-table--cell-main-area"},b.extension?[t("span",{class:"vxe-table--cell-main-area-btn",on:{mousedown(e){l.triggerCellExtendMousedownEvent(e,{$table:l,fixed:o,type:renderType})}}})]:null),t("span",{class:"vxe-table--cell-copy-area"}),t("span",{class:"vxe-table--cell-extend-area"}),t("span",{class:"vxe-table--cell-multi-area"}),t("span",{class:"vxe-table--cell-active-area"})]):null,o?null:t("div",{class:"vxe-table--empty-block",ref:"emptyBlock"},[t("div",{class:"vxe-table--empty-content"},S)])])},methods:{scrollEvent(e){var{$el:l,$parent:t,fixedType:r}=this,{$refs:o,lastScrollTop:s,lastScrollLeft:i}=t,{tableHeader:a,tableBody:n,leftBody:d,rightBody:c,tableFooter:p}=o,a=a?a.$el:null,p=p?p.$el:null,n=n.$el,d=d?d.$el:null,c=c?c.$el:null,l=l.scrollTop,u=n.scrollLeft,i=u!==i,s=l!==s,h=o.refScrollXHandleElem,o=o.refScrollYHandleElem;o?o.scrollTop=l:s&&(t.lastScrollTop=l,t.lastScrollLeft=u,d&&"left"===r?((0,_dom.setScrollTop)(n,l),(0,_dom.setScrollTop)(c,l)):c&&"right"===r?((0,_dom.setScrollTop)(n,l),(0,_dom.setScrollTop)(d,l)):((0,_dom.setScrollTop)(d,l),(0,_dom.setScrollTop)(c,l)),t.handleScrollEvent(e,s,i,{type:renderType,fixed:r,scrollTop:l,scrollLeft:u})),h?h.scrollLeft=u:i&&(t.lastScrollTop=l,t.lastScrollLeft=u,(0,_dom.setScrollLeft)(a,u),(0,_dom.setScrollLeft)(p,u),t.handleScrollEvent(e,s,i,{type:renderType,fixed:r,scrollTop:l,scrollLeft:u}))},handleWheel(a,n,e,d,c){let p=this.$parent;var{$refs:l,elemStore:t,scrollYLoad:r,scrollXLoad:o}=p,{tableBody:l,leftBody:s,rightBody:i}=l;let u=l.$el,h=s?s.$el:null,g=i?i.$el:null;l=this.isPrevWheelTop===n?Math.max(0,this.wheelYSize-this.wheelYTotal):0,s=t["main-body-ySpace"],i=t["main-body-xSpace"];let v=(r&&s?s:u).clientHeight,x=(o&&i?i:u).clientWidth,w=(this.isPrevWheelTop=n,this.wheelYSize=Math.abs(n?e-l:e+l),this.wheelYInterval=0,this.wheelYTotal=0,clearTimeout(this.wheelTime),()=>{let{fixedType:e,wheelYTotal:l,wheelYSize:t,wheelYInterval:r}=this;var o,s,i;l<t&&(t<(l+=r=Math.max(5,Math.floor(1.5*r)))&&(r-=l-t),{scrollTop:i,clientHeight:o,scrollHeight:s}=u,i=i+r*(n?-1:1),u.scrollTop=i,h&&(h.scrollTop=i),g&&(g.scrollTop=i),(n?i<s-o:0<=i)&&(this.wheelTime=setTimeout(w,10)),this.wheelYTotal=l,this.wheelYInterval=r,p.emitEvent("scroll",{type:renderType,fixed:e,scrollTop:u.scrollTop,scrollLeft:u.scrollLeft,scrollHeight:u.scrollHeight,scrollWidth:u.scrollWidth,bodyHeight:v,bodyWidth:x,isX:d,isY:c},a))});w()},wheelEvent(e){var{deltaY:l,deltaX:t}=e,{$el:r,$parent:o}=this,{$refs:s,highlightHoverRow:i,scrollYLoad:a,lastScrollTop:n,lastScrollLeft:d,rowOpts:c}=o,s=s.tableBody,s=s.$el,p=l<0;(p?r.scrollTop<=0:r.scrollTop>=r.scrollHeight-r.clientHeight)||(r=r.scrollTop+l,t=(s=s.scrollLeft+t)!==d,(d=r!==n)&&(e.preventDefault(),o.lastScrollTop=r,o.lastScrollLeft=s,o.lastScrollTime=Date.now(),(c.isHover||i)&&o.clearHoverRow(),this.handleWheel(e,p,l,t,d),a)&&o.triggerScrollYEvent(e))}}};
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_util=require("./util"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer}=_ui.VxeUI,renderType="body";function isVMScrollProcess(e){return e._isResize||e.lastScrollTime&&Date.now()<e.lastScrollTime+e.delayHover}function renderLine(e,l,t,r){var{row:o,column:s}=r,{afterFullData:a,treeOpts:i,treeConfig:n,fullAllDataRowIdData:d}=t,{slots:s,treeNode:c}=s,d=d[(0,_util.getRowid)(t,o)];let p=0,u=0,h=[];return d&&(p=d.level,u=d._index,h=d.items),s&&s.line?t.callSlot(s.line,r,e):(d=t.eqRow(a[0],o),n&&c&&(i.showLine||i.line)?[e("div",{class:"vxe-tree--line-wrapper"},[e("div",{class:"vxe-tree--line",style:{height:`${d?1:(0,_util.calcTreeLine)(r,h,u)}px`,left:p*i.indent+(p?2-(0,_util.getOffsetSize)(t):0)+16+"px"}})])]:[])}function renderColumn(e,M,l,t,r,o,s,a,i,n,B,d,c,U,q){var{$listeners:p,fullAllDataRowIdData:N,afterFullData:u,tableData:V,height:h,columnKey:A,overflowX:g,sYOpts:v,scrollYLoad:F,highlightCurrentRow:W,showOverflow:P,isAllOverflow:j,align:z,currentColumn:X,cellClassName:K,cellStyle:w,mergeList:x,spanMethod:G,radioOpts:J,checkboxOpts:m,expandOpts:Q,treeOpts:Z,tooltipOpts:y,mouseConfig:ee,editConfig:f,editOpts:b,editRules:T,validOpts:S,editStore:_,tooltipConfig:le,rowOpts:te,columnOpts:re,validErrorMaps:C}=l,oe=l.computeCellOpts,{type:se,cellRender:ae,editRender:$,align:ie,showOverflow:O,className:ne,treeNode:de,slots:ce}=d,oe=oe.verticalAlign,_=_.actived,v=v.rHeight,R=te.height,E=$||ae,E=E?renderer.get(E.name):null,pe=E?E.tableCellClassName||E.cellClassName:"",ue=E?E.tableCellStyle||E.cellStyle:"";let L=y.showAll||y.enabled;var y=l.getColumnIndex(d),he=l.getVTColumnIndex(d),ge=(0,_utils.isEnableConf)($);let I=o?d.fixed!==o:d.fixed&&g;g=_xeUtils.default.isUndefined(O)||_xeUtils.default.isNull(O)?P:O,O="ellipsis"===g;let D="title"===g,k=!0===g||"tooltip"===g;g=D||k||O;let ve;var Y={},N=N[r],ie=ie||(E?E.tableCellAlign:"")||z,E=C[r+":"+d.id],z=T&&S.showMessage&&("default"===S.message?h||1<V.length:"inline"===S.message),C={colid:d.id};let we=p["cell-mouseenter"],xe=p["cell-mouseleave"];T=$&&f&&"dblclick"===b.trigger;let H={$table:l,$grid:l.$xegrid,isEdit:!1,seq:t,rowid:r,row:a,rowIndex:i,$rowIndex:n,_rowIndex:B,column:d,columnIndex:y,$columnIndex:c,_columnIndex:he,fixed:o,type:renderType,isHidden:I,level:s,visibleData:u,data:V,items:q};if((D||k||L||we||le)&&(Y.mouseenter=e=>{isVMScrollProcess(l)||(D?(0,_dom.updateCellTitle)(e.currentTarget,d):(k||L)&&l.triggerBodyTooltipEvent(e,H),we&&l.emitEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},H),e))}),(k||L||xe||le)&&(Y.mouseleave=e=>{isVMScrollProcess(l)||((k||L)&&l.handleTargetLeaveEvent(e),xe&&l.emitEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},H),e))}),(m.range||ee)&&(Y.mousedown=e=>{l.triggerCellMousedownEvent(e,H)}),(te.isCurrent||W||p["cell-click"]||$&&f||"row"===Q.trigger||"cell"===Q.trigger||"row"===J.trigger||"radio"===d.type&&"cell"===J.trigger||"row"===m.trigger||"checkbox"===d.type&&"cell"===m.trigger||"row"===Z.trigger||d.treeNode&&"cell"===Z.trigger)&&(Y.click=e=>{l.triggerCellClickEvent(e,H)}),(T||p["cell-dblclick"])&&(Y.dblclick=e=>{l.triggerCellDblclickEvent(e,H)}),x.length){h=(0,_util.mergeBodyMethod)(x,B,he);if(h){var{rowspan:t,colspan:r}=h;if(!t||!r)return null;1<t&&(C.rowspan=t),1<r&&(C.colspan=r)}}else if(G){var{rowspan:i=1,colspan:n=1}=G(H)||{};if(!i||!n)return null;1<i&&(C.rowspan=i),1<n&&(C.colspan=n)}!(I=I&&x&&(1<C.colspan||1<C.rowspan)?!1:I)&&f&&($||ae)&&(b.showStatus||b.showUpdateStatus)&&(ve=l.isUpdateByRow(a,d.field));y=[];I&&P&&j?y.push(e("div",{class:["vxe-cell",{"c--title":D,"c--tooltip":k,"c--ellipsis":O}],style:{maxHeight:g&&(v||R)?`${v||R}px`:""}})):(y.push(...renderLine(e,M,l,H),e("div",{class:["vxe-cell",{"c--title":D,"c--tooltip":k,"c--ellipsis":O}],style:{maxHeight:g&&(v||R)?`${v||R}px`:""},attrs:{title:D?l.getCellLabel(a,d):null}},d.renderCell(e,H))),z&&E&&(o=E.rule,s=ce?ce.valid:null,u=Object.assign(Object.assign({},H),E),y.push(e("div",{class:["vxe-cell--valid-error-hint",(0,_utils.getClass)(S.className,E)],style:o&&o.maxWidth?{width:o.maxWidth+"px"}:null},s?l.callSlot(s,u,e):[e("span",{class:"vxe-cell--valid-error-msg"},E.content)]))));let me="";return g&&(v||R)?me=`${v||R}px`:F&&!g&&(me=`${N.height||24}px`),e("td",{class:["vxe-body--column",d.id,{["col--"+ie]:ie,["col--vertical-"+oe]:oe,["col--"+se]:se,"col--last":c===U.length-1,"col--tree-node":de,"col--edit":ge,"col--ellipsis":g,"fixed--hidden":I,"col--dirty":ve,"col--active":f&&ge&&_.row===a&&(_.column===d||"row"===b.mode),"col--valid-error":!!E,"col--current":X===d},(0,_utils.getClass)(pe,H),(0,_utils.getClass)(ne,H),(0,_utils.getClass)(K,H)],key:A||re.useKey||te.useKey?d.id:c,attrs:C,style:Object.assign({height:me},_xeUtils.default.isFunction(ue)?ue(H):ue,_xeUtils.default.isFunction(w)?w(H):w),on:Y},y)}function renderRows(w,x,m,y,f,b){let{stripe:T,rowKey:S,highlightHoverRow:_,rowClassName:C,rowStyle:$,editConfig:O,showOverflow:R,treeConfig:E,treeOpts:L,expandOpts:I,editOpts:D,treeExpandedMaps:k,scrollYLoad:Y,rowExpandedMaps:H,radioOpts:M,checkboxOpts:B,expandColumn:U,hasFixedColumn:q,fullAllDataRowIdData:N,rowOpts:V,pendingRowList:A,pendingRowMaps:F}=m,W=L.children||L.childrenField,P=[];return f.forEach((t,r)=>{var e={};let o,s=m.getVTRowIndex(t),a=(o=m.getRowIndex(t),(V.isHover||_)&&(e.mouseenter=e=>{isVMScrollProcess(m)||m.triggerHoverEvent(e,{row:t,rowIndex:o})},e.mouseleave=()=>{isVMScrollProcess(m)||m.clearHoverRow()}),V.drag&&(e.dragstart=e=>{m.handleRowDragDragstartEvent(e)},e.dragover=e=>{m.handleRowDragDragoverEvent(e)},e.dragend=e=>{m.handleRowDragDragendEvent(e)}),(0,_util.getRowid)(m,t));var l=N[a];let i=l?l.level:0,n=l?l.seq:-1;var d,c,p,l={$table:m,seq:n,rowid:a,fixed:y,type:renderType,level:i,row:t,rowIndex:o,$rowIndex:r},u=U&&!!H[a];let h=!1,g=[],v=!1;O&&(v=m.isInsertByRow(t)),!E||Y||L.transform||(g=t[W],h=g&&g.length&&!!k[a]),P.push(w("tr",{class:["vxe-body--row",E?"row--level-"+i:"",{"row--stripe":T&&(m.getVTRowIndex(t)+1)%2==0,"is--new":v,"is--expand-row":u,"is--expand-tree":h,"row--new":v&&(D.showStatus||D.showInsertStatus),"row--radio":M.highlight&&m.selectRadioRow===t,"row--checked":B.highlight&&m.isCheckedByCheckboxRow(t),"row--pending":A.length&&!!F[a]},C?_xeUtils.default.isFunction(C)?C(l):C:""],attrs:{rowid:a},style:$?_xeUtils.default.isFunction($)?$(l):$:null,key:S||V.useKey||V.drag||E?a:r,on:e},b.map((e,l)=>renderColumn(w,x,m,n,a,y,i,t,o,r,s,e,l,b,f)))),u&&({height:l,padding:u}=I,d={},c=(l&&(d.height=l+"px"),E&&(d.paddingLeft=i*L.indent+30+"px"),U).showOverflow,c=_xeUtils.default.isUndefined(c)||_xeUtils.default.isNull(c)?R:c,p={$table:m,seq:n,column:U,fixed:y,type:renderType,level:i,row:t,rowIndex:o,$rowIndex:r},P.push(w("tr",{class:["vxe-body--expanded-row",{"is--padding":u}],key:"expand_"+a,style:$?_xeUtils.default.isFunction($)?$(p):$:null,on:e},[w("td",{class:{"vxe-body--expanded-column":1,"fixed--hidden":y&&!q,"col--ellipsis":c},attrs:{colspan:b.length}},[w("div",{class:{"vxe-body--expanded-cell":1,"is--ellipsis":l},style:d},[U.renderData(w,p)])])]))),h&&P.push(...renderRows(w,x,m,y,g,b))}),P}var _default=exports.default={name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,size:String,fixedType:String},data(){return{wheelTime:null,wheelYSize:0,wheelYInterval:0,wheelYTotal:0}},mounted(){var{$parent:e,$el:l,$refs:t,fixedType:r}=this,e=e.elemStore,r=`${r||"main"}-body-`;e[r+"wrapper"]=l,e[r+"table"]=t.table,e[r+"colgroup"]=t.colgroup,e[r+"list"]=t.tbody,e[r+"xSpace"]=t.xSpace,e[r+"ySpace"]=t.ySpace,e[r+"emptyBlock"]=t.emptyBlock},beforeDestroy(){clearTimeout(this.wheelTime)},destroyed(){var{$parent:e,fixedType:l}=this,e=e.elemStore,l=`${l||"main"}-body-`;e[l+"wrapper"]=null,e[l+"table"]=null,e[l+"colgroup"]=null,e[l+"list"]=null,e[l+"xSpace"]=null,e[l+"ySpace"]=null,e[l+"emptyBlock"]=null},render(t){let{_e:e,$parent:l,fixedColumn:r,fixedType:o}=this,{$scopedSlots:s,tId:a,tableData:i,tableColumn:n,visibleColumn:d,expandColumn:c,showOverflow:p,keyboardConfig:u,keyboardOpts:h,mergeList:g,spanMethod:v,scrollXLoad:w,scrollYLoad:x,isAllOverflow:m,emptyOpts:y,mouseConfig:f,mouseOpts:b,sYOpts:T,rowOpts:S,isDragRowMove:_}=l;o&&(n=c||!(w||x||p&&m)||g.length||v||u&&h.isMerge?d:r);let C;var $;return C=s.empty?s.empty.call(this,{$table:l},t):($=($=y.name?renderer.get(y.name):null)?$.renderTableEmpty||$.renderTableEmptyView||$.renderEmpty:null)?(0,_vn.getSlotVNs)($.call(this,t,y,{$table:l})):l.emptyText||getI18n("vxe.table.emptyText"),t("div",{class:["vxe-table--body-wrapper",o?`fixed-${o}--wrapper`:"body--wrapper"],attrs:{xid:a},on:Object.assign({scroll:this.scrollEvent},x&&"wheel"===T.mode?{wheel:this.wheelEvent}:null)},[o?e():t("div",{class:"vxe-body--x-space",ref:"xSpace"}),t("div",{class:"vxe-body--y-space",ref:"ySpace"}),t("table",{class:"vxe-table--body",attrs:{xid:a,cellspacing:0,cellpadding:0,border:0},ref:"table"},[t("colgroup",{ref:"colgroup"},n.map((e,l)=>t("col",{attrs:{name:e.id},key:l}))),S.drag?t("transition-group",{props:{tag:"tbody",name:"vxe-body--row-list"+(_?"":"-disabled")}},renderRows(t,this,l,o,i,n)):t("tbody",{ref:"tbody"},renderRows(t,this,l,o,i,n))]),t("div",{class:"vxe-table--checkbox-range"}),f&&b.area?t("div",{class:"vxe-table--cell-area"},[t("span",{class:"vxe-table--cell-main-area"},b.extension?[t("span",{class:"vxe-table--cell-main-area-btn",on:{mousedown(e){l.triggerCellExtendMousedownEvent(e,{$table:l,fixed:o,type:renderType})}}})]:null),t("span",{class:"vxe-table--cell-copy-area"}),t("span",{class:"vxe-table--cell-extend-area"}),t("span",{class:"vxe-table--cell-multi-area"}),t("span",{class:"vxe-table--cell-active-area"})]):null,o?null:t("div",{class:"vxe-table--empty-block",ref:"emptyBlock"},[t("div",{class:"vxe-table--empty-content"},C)])])},methods:{scrollEvent(e){var{$el:l,$parent:t,fixedType:r}=this,{$refs:o,lastScrollTop:s,lastScrollLeft:a}=t,{tableHeader:i,tableBody:n,leftBody:d,rightBody:c,tableFooter:p}=o,i=i?i.$el:null,p=p?p.$el:null,n=n.$el,d=d?d.$el:null,c=c?c.$el:null,l=l.scrollTop,u=n.scrollLeft,a=u!==a,s=l!==s,h=o.refScrollXHandleElem,o=o.refScrollYHandleElem;o?o.scrollTop=l:s&&(t.lastScrollTop=l,t.lastScrollLeft=u,d&&"left"===r?((0,_dom.setScrollTop)(n,l),(0,_dom.setScrollTop)(c,l)):c&&"right"===r?((0,_dom.setScrollTop)(n,l),(0,_dom.setScrollTop)(d,l)):((0,_dom.setScrollTop)(d,l),(0,_dom.setScrollTop)(c,l)),t.handleScrollEvent(e,s,a,{type:renderType,fixed:r,scrollTop:l,scrollLeft:u})),h?h.scrollLeft=u:a&&(t.lastScrollTop=l,t.lastScrollLeft=u,(0,_dom.setScrollLeft)(i,u),(0,_dom.setScrollLeft)(p,u),t.handleScrollEvent(e,s,a,{type:renderType,fixed:r,scrollTop:l,scrollLeft:u}))},handleWheel(i,n,e,d,c){let p=this.$parent;var{$refs:l,elemStore:t,scrollYLoad:r,scrollXLoad:o}=p,{tableBody:l,leftBody:s,rightBody:a}=l;let u=l.$el,h=s?s.$el:null,g=a?a.$el:null;l=this.isPrevWheelTop===n?Math.max(0,this.wheelYSize-this.wheelYTotal):0,s=t["main-body-ySpace"],a=t["main-body-xSpace"];let v=(r&&s?s:u).clientHeight,w=(o&&a?a:u).clientWidth,x=(this.isPrevWheelTop=n,this.wheelYSize=Math.abs(n?e-l:e+l),this.wheelYInterval=0,this.wheelYTotal=0,clearTimeout(this.wheelTime),()=>{let{fixedType:e,wheelYTotal:l,wheelYSize:t,wheelYInterval:r}=this;var o,s,a;l<t&&(t<(l+=r=Math.max(5,Math.floor(1.5*r)))&&(r-=l-t),{scrollTop:a,clientHeight:o,scrollHeight:s}=u,a=a+r*(n?-1:1),u.scrollTop=a,h&&(h.scrollTop=a),g&&(g.scrollTop=a),(n?a<s-o:0<=a)&&(this.wheelTime=setTimeout(x,10)),this.wheelYTotal=l,this.wheelYInterval=r,p.emitEvent("scroll",{type:renderType,fixed:e,scrollTop:u.scrollTop,scrollLeft:u.scrollLeft,scrollHeight:u.scrollHeight,scrollWidth:u.scrollWidth,bodyHeight:v,bodyWidth:w,isX:d,isY:c},i))});x()},wheelEvent(e){var{deltaY:l,deltaX:t}=e,{$el:r,$parent:o}=this,{$refs:s,highlightHoverRow:a,scrollYLoad:i,lastScrollTop:n,lastScrollLeft:d,rowOpts:c}=o,s=s.tableBody,s=s.$el,p=l<0;(p?r.scrollTop<=0:r.scrollTop>=r.scrollHeight-r.clientHeight)||(r=r.scrollTop+l,t=(s=s.scrollLeft+t)!==d,(d=r!==n)&&(e.preventDefault(),o.lastScrollTop=r,o.lastScrollLeft=s,o.lastScrollTime=Date.now(),(c.isHover||a)&&o.clearHoverRow(),this.handleWheel(e,p,l,t,d),i)&&o.triggerScrollYEvent(e))}}};
@@ -15,7 +15,8 @@ const {
15
15
  getI18n,
16
16
  getIcon,
17
17
  renderer,
18
- formats
18
+ formats,
19
+ renderEmptyElement
19
20
  } = _ui.VxeUI;
20
21
  function renderTitlePrefixIcon(h, params) {
21
22
  const {
@@ -53,6 +54,39 @@ function renderTitleSuffixIcon(h, params) {
53
54
  }
54
55
  })] : [];
55
56
  }
57
+ function renderCellDragIcon(h, params) {
58
+ const {
59
+ $table
60
+ } = params;
61
+ return h('span', {
62
+ key: 'dg',
63
+ class: 'vxe-cell--drag-handle',
64
+ on: {
65
+ mousedown(evnt) {
66
+ $table.handleCellDragMousedownEvent(evnt, params);
67
+ },
68
+ mouseup: $table.handleCellDragMouseupEvent
69
+ }
70
+ }, [h('i', {
71
+ class: 'vxe-table-icon-drag-handle'
72
+ })]);
73
+ }
74
+ function renderCellBaseVNs(h, params, content) {
75
+ const {
76
+ $table,
77
+ column
78
+ } = params;
79
+ const {
80
+ dragSort
81
+ } = column;
82
+ const vns = _xeUtils.default.isArray(content) ? content : [content];
83
+ const rowOpts = $table.computeRowOpts;
84
+ const dragOpts = $table.computeDragOpts;
85
+ if (dragSort && rowOpts.drag && dragOpts.showIcon) {
86
+ vns.unshift(renderCellDragIcon(h, params));
87
+ }
88
+ return vns;
89
+ }
56
90
  function renderTitleContent(h, params, content) {
57
91
  const {
58
92
  $table,
@@ -273,7 +307,7 @@ const Cell = exports.Cell = {
273
307
  } = column;
274
308
  const renderOpts = editRender || cellRender;
275
309
  if (slots && slots.default) {
276
- return $table.callSlot(slots.default, params, h);
310
+ return renderCellBaseVNs(h, params, $table.callSlot(slots.default, params, h));
277
311
  }
278
312
  if (renderOpts) {
279
313
  const compConf = renderer.get(renderOpts.name);
@@ -281,20 +315,20 @@ const Cell = exports.Cell = {
281
315
  const rtCell = compConf ? compConf.renderTableCell || compConf.renderCell : null;
282
316
  const renderFn = editRender ? rtCell : rtDefault;
283
317
  if (renderFn) {
284
- return (0, _vn.getSlotVNs)(renderFn.call($table, h, renderOpts, Object.assign({
318
+ return renderCellBaseVNs(h, params, (0, _vn.getSlotVNs)(renderFn.call($table, h, renderOpts, Object.assign({
285
319
  $type: editRender ? 'edit' : 'cell'
286
- }, params)));
320
+ }, params))));
287
321
  }
288
322
  }
289
323
  const cellValue = $table.getCellLabel(row, column);
290
324
  const cellPlaceholder = editRender ? editRender.placeholder : '';
291
- return [h('span', {
325
+ return renderCellBaseVNs(h, params, [h('span', {
292
326
  class: 'vxe-cell--label'
293
327
  }, [
294
328
  // 如果设置占位符
295
329
  editRender && (0, _utils.eqEmptyValue)(cellValue) ? h('span', {
296
330
  class: 'vxe-cell--placeholder'
297
- }, (0, _utils.formatText)((0, _utils.getFuncText)(cellPlaceholder), 1)) : h('span', (0, _utils.formatText)(cellValue, 1))])];
331
+ }, (0, _utils.formatText)((0, _utils.getFuncText)(cellPlaceholder), 1)) : h('span', (0, _utils.formatText)(cellValue, 1))])]);
298
332
  },
299
333
  renderTreeCell(h, params) {
300
334
  return Cell.renderTreeIcon(h, params, Cell.renderDefaultCell.call(this, h, params));
@@ -404,13 +438,13 @@ const Cell = exports.Cell = {
404
438
  slots
405
439
  } = column;
406
440
  if (slots && slots.default) {
407
- return $table.callSlot(slots.default, params, h);
441
+ return renderCellBaseVNs(h, params, $table.callSlot(slots.default, params, h));
408
442
  }
409
443
  const {
410
444
  seq
411
445
  } = params;
412
446
  const seqMethod = seqOpts.seqMethod;
413
- return [(0, _utils.formatText)(seqMethod ? seqMethod(params) : treeConfig ? seq : (seqOpts.startIndex || 0) + seq, 1)];
447
+ return renderCellBaseVNs(h, params, [h('span', `${(0, _utils.formatText)(seqMethod ? seqMethod(params) : treeConfig ? seq : (seqOpts.startIndex || 0) + seq, 1)}`)]);
414
448
  },
415
449
  renderTreeIndexCell(h, params) {
416
450
  return Cell.renderTreeIcon(h, params, Cell.renderSeqCell(h, params));
@@ -481,7 +515,7 @@ const Cell = exports.Cell = {
481
515
  visible: isVisible
482
516
  });
483
517
  if (radioSlot) {
484
- return $table.callSlot(radioSlot, radioParams, h);
518
+ return renderCellBaseVNs(h, params, $table.callSlot(radioSlot, radioParams, h));
485
519
  }
486
520
  const radioVNs = [];
487
521
  if (isVisible) {
@@ -494,13 +528,13 @@ const Cell = exports.Cell = {
494
528
  class: 'vxe-radio--label'
495
529
  }, defaultSlot ? $table.callSlot(defaultSlot, radioParams, h) : _xeUtils.default.get(row, labelField)));
496
530
  }
497
- return [h('span', {
531
+ return renderCellBaseVNs(h, params, [h('span', {
498
532
  class: ['vxe-cell--radio', {
499
533
  'is--checked': isChecked,
500
534
  'is--disabled': isDisabled
501
535
  }],
502
536
  on
503
- }, radioVNs)];
537
+ }, radioVNs)]);
504
538
  },
505
539
  renderTreeRadioCell(h, params) {
506
540
  return Cell.renderTreeIcon(h, params, Cell.renderRadioCell(h, params));
@@ -620,7 +654,7 @@ const Cell = exports.Cell = {
620
654
  indeterminate
621
655
  });
622
656
  if (checkboxSlot) {
623
- return $table.callSlot(checkboxSlot, checkboxParams, h);
657
+ return renderCellBaseVNs(h, params, $table.callSlot(checkboxSlot, checkboxParams, h));
624
658
  }
625
659
  const checkVNs = [];
626
660
  if (isVisible) {
@@ -633,7 +667,7 @@ const Cell = exports.Cell = {
633
667
  class: 'vxe-checkbox--label'
634
668
  }, defaultSlot ? $table.callSlot(defaultSlot, checkboxParams, h) : _xeUtils.default.get(row, labelField)));
635
669
  }
636
- return [h('span', {
670
+ return renderCellBaseVNs(h, params, [h('span', {
637
671
  class: ['vxe-cell--checkbox', {
638
672
  'is--checked': isChecked,
639
673
  'is--disabled': isDisabled,
@@ -641,7 +675,7 @@ const Cell = exports.Cell = {
641
675
  'is--hidden': !isVisible
642
676
  }],
643
677
  on
644
- }, checkVNs)];
678
+ }, checkVNs)]);
645
679
  },
646
680
  renderTreeSelectionCell(h, params) {
647
681
  return Cell.renderTreeIcon(h, params, Cell.renderCheckboxCell(h, params));
@@ -703,7 +737,7 @@ const Cell = exports.Cell = {
703
737
  indeterminate: isIndeterminate
704
738
  });
705
739
  if (checkboxSlot) {
706
- return $table.callSlot(checkboxSlot, checkboxParams, h);
740
+ return renderCellBaseVNs(h, params, $table.callSlot(checkboxSlot, checkboxParams, h));
707
741
  }
708
742
  const checkVNs = [];
709
743
  if (isVisible) {
@@ -716,7 +750,7 @@ const Cell = exports.Cell = {
716
750
  class: 'vxe-checkbox--label'
717
751
  }, defaultSlot ? $table.callSlot(defaultSlot, checkboxParams, h) : _xeUtils.default.get(row, labelField)));
718
752
  }
719
- return [h('span', {
753
+ return renderCellBaseVNs(h, params, [h('span', {
720
754
  class: ['vxe-cell--checkbox', {
721
755
  'is--checked': isChecked,
722
756
  'is--disabled': isDisabled,
@@ -724,7 +758,7 @@ const Cell = exports.Cell = {
724
758
  'is--hidden': !isVisible
725
759
  }],
726
760
  on
727
- }, checkVNs)];
761
+ }, checkVNs)]);
728
762
  },
729
763
  renderTreeSelectionCellByProp(h, params) {
730
764
  return Cell.renderTreeIcon(h, params, Cell.renderCheckboxCellByProp(h, params));
@@ -760,7 +794,7 @@ const Cell = exports.Cell = {
760
794
  let isAceived = false;
761
795
  let isLazyLoading = false;
762
796
  if (slots && slots.icon) {
763
- return $table.callSlot(slots.icon, params, h);
797
+ return renderCellBaseVNs(h, params, $table.callSlot(slots.icon, params, h));
764
798
  }
765
799
  if (!isHidden) {
766
800
  const rowid = (0, _util.getRowid)($table, row);
@@ -769,7 +803,7 @@ const Cell = exports.Cell = {
769
803
  isLazyLoading = !!rowExpandLazyLoadedMaps[rowid];
770
804
  }
771
805
  }
772
- return [showIcon && (!visibleMethod || visibleMethod(params)) ? h('span', {
806
+ return renderCellBaseVNs(h, params, [showIcon && (!visibleMethod || visibleMethod(params)) ? h('span', {
773
807
  class: ['vxe-table--expanded', {
774
808
  'is--active': isAceived
775
809
  }],
@@ -780,9 +814,9 @@ const Cell = exports.Cell = {
780
814
  }
781
815
  }, [h('i', {
782
816
  class: ['vxe-table--expand-btn', isLazyLoading ? iconLoaded || getIcon().TABLE_EXPAND_LOADED : isAceived ? iconOpen || getIcon().TABLE_EXPAND_OPEN : iconClose || getIcon().TABLE_EXPAND_CLOSE]
783
- })]) : null, defaultSlot || labelField ? h('span', {
817
+ })]) : renderEmptyElement($table), defaultSlot || labelField ? h('span', {
784
818
  class: 'vxe-table--expand-label'
785
- }, defaultSlot ? $table.callSlot(defaultSlot, params, h) : _xeUtils.default.get(row, labelField)) : null];
819
+ }, defaultSlot ? $table.callSlot(defaultSlot, params, h) : _xeUtils.default.get(row, labelField)) : renderEmptyElement($table)]);
786
820
  },
787
821
  renderExpandData(h, params) {
788
822
  const {
@@ -817,14 +851,14 @@ const Cell = exports.Cell = {
817
851
  slots
818
852
  } = column;
819
853
  if (slots && slots.default) {
820
- return $table.callSlot(slots.default, params, h);
854
+ return renderCellBaseVNs(h, params, $table.callSlot(slots.default, params, h));
821
855
  }
822
- return [h('span', {
856
+ return renderCellBaseVNs(h, params, [h('span', {
823
857
  class: 'vxe-cell--html',
824
858
  domProps: {
825
859
  innerHTML: getDefaultCellLabel(params)
826
860
  }
827
- })];
861
+ })]);
828
862
  },
829
863
  renderTreeHTMLCell(h, params) {
830
864
  return Cell.renderTreeIcon(h, params, Cell.renderHTMLCell(h, params));
@@ -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}=_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.icon||getIcon().TABLE_TITLE_PREFIX],on:{mouseenter(e){r.triggerHeaderTitleEvent(e,n,l)},mouseleave(e){r.handleTargetLeaveEvent(e)}}})]:[]}function renderTitleSuffixIcon(e,l){let{$table:r,column:t}=l,n=t.titleSuffix;return n?[e("i",{class:["vxe-cell-title-suffix-icon",n.icon||getIcon().TABLE_TITLE_SUFFIX],on:{mouseenter(e){r.triggerHeaderTitleEvent(e,n,l)},mouseleave(e){r.handleTargetLeaveEvent(e)}}})]:[]}function renderTitleContent(e,l,r){let{$table:t,column:n}=l;var{type:a,showHeaderOverflow:o}=n,{showHeaderOverflow:d,tooltipOpts:i}=t;let s=i.showAll||i.enabled;i=_xeUtils.default.isUndefined(o)||_xeUtils.default.isNull(o)?d:o;let c="title"===i,u=!0===i||"tooltip"===i;d={};return(c||u||s)&&(d.mouseenter=e=>{t._isResize||(c?(0,_dom.updateCellTitle)(e.currentTarget,n):(u||s)&&t.triggerHeaderTooltipEvent(e,l))}),(u||s)&&(d.mouseleave=e=>{t._isResize||(u||s)&&t.handleTargetLeaveEvent(e)}),["html"===a&&_xeUtils.default.isString(r)?e("span",{class:"vxe-cell--title",domProps:{innerHTML:r},on:d}):e("span",{class:"vxe-cell--title",on:d},(0,_vn.getSlotVNs)(r))]}function formatFooterLabel(e,l){var r,t;return _xeUtils.default.isFunction(e)?e(l):(t=(t=(r=_xeUtils.default.isArray(e))?formats.get(e[0]):formats.get(e))?t.tableFooterCellFormatMethod:null)?r?t(l,...e.slice(1)):t(l):""}function getFooterContent(e,l){var{$table:r,column:t,_columnIndex:n,row:a,items:o}=l,{slots:d,editRender:i,cellRender:s,footerFormatter:c}=t,i=i||s;if(d&&d.footer)return r.callSlot(d.footer,l,e);if(i){s=renderer.get(i.name),d=s?s.renderTableFooter||s.renderFooter:null;if(d)return(0,_vn.getSlotVNs)(d.call(r,e,i,l))}let u="";return _xeUtils.default.isArray(o)?u=o[n]:u=_xeUtils.default.get(a,t.field),[c?formatFooterLabel(c,{itemValue:u,column:t,row:a,items:o,_columnIndex:n}):(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)}let Cell=exports.Cell={createColumn(e,l){var{type:r,sortable:t,remoteSort:n,filters:a,editRender:o,treeNode:d}=l,{editConfig:i,editOpts:s,checkboxOpts:c}=e,u={renderHeader:this.renderDefaultHeader,renderCell:d?this.renderTreeCell:this.renderDefaultCell,renderFooter:this.renderDefaultFooter};switch(r){case"seq":u.renderHeader=this.renderSeqHeader,u.renderCell=d?this.renderTreeIndexCell:this.renderSeqCell;break;case"radio":u.renderHeader=this.renderRadioHeader,u.renderCell=d?this.renderTreeRadioCell:this.renderRadioCell;break;case"checkbox":u.renderHeader=this.renderCheckboxHeader,u.renderCell=c.checkField?d?this.renderTreeSelectionCellByProp:this.renderCheckboxCellByProp:d?this.renderTreeSelectionCell:this.renderCheckboxCell;break;case"expand":u.renderCell=this.renderExpandCell,u.renderData=this.renderExpandData;break;case"html":u.renderCell=d?this.renderTreeHTMLCell:this.renderHTMLCell,a&&(t||n)?u.renderHeader=this.renderSortAndFilterHeader:t||n?u.renderHeader=this.renderSortHeader:a&&(u.renderHeader=this.renderFilterHeader);break;default:i&&o?(u.renderHeader=this.renderEditHeader,u.renderCell="cell"===s.mode?d?this.renderTreeCellEdit:this.renderCellEdit:d?this.renderTreeRowEdit:this.renderRowEdit):a&&(t||n)?u.renderHeader=this.renderSortAndFilterHeader:t||n?u.renderHeader=this.renderSortHeader:a&&(u.renderHeader=this.renderFilterHeader)}return(0,_util.createColumn)(e,l,u)},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 renderTitlePrefixIcon(e,l).concat(Cell.renderHeaderTitle(e,l)).concat(renderTitleSuffixIcon(e,l))},renderDefaultCell(e,l){var{$table:r,row:t,column:n}=l,{slots:a,editRender:o,cellRender:d}=n,d=o||d;if(a&&a.default)return r.callSlot(a.default,l,e);if(d){var a=renderer.get(d.name),i=a?a.renderTableDefault||a.renderDefault:null,a=a?a.renderTableCell||a.renderCell:null,a=o?a:i;if(a)return(0,_vn.getSlotVNs)(a.call(r,e,d,Object.assign({$type:o?"edit":"cell"},l)))}i=r.getCellLabel(t,n),a=o?o.placeholder:"";return[e("span",{class:"vxe-cell--label"},[o&&(0,_utils.eqEmptyValue)(i)?e("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(a),1)):e("span",(0,_utils.formatText)(i,1))])]},renderTreeCell(e,l){return Cell.renderTreeIcon(e,l,Cell.renderDefaultCell.call(this,e,l))},renderDefaultFooter(e,l){return[e("span",{class:"vxe-cell--item"},getFooterContent(e,l))]},renderTreeIcon(e,l,r){let{$table:t,isHidden:n}=l;var{treeOpts:a,treeExpandedMaps:o,treeExpandLazyLoadedMaps:d,fullAllDataRowIdData:i}=t,{row:s,column:c,level:u}=l,c=c.slots,{indent:C,lazy:b,trigger:h,iconLoaded:x,showIcon:E,iconOpen:f,iconClose:v}=a,T=a.children||a.childrenField,a=a.hasChild||a.hasChildField,T=s[T],T=T&&T.length;let g=!1,p=!1,_=!1,m=!1;var I={};return c&&c.icon?t.callSlot(c.icon,l,e,r):(n||(c=(0,_util.getRowid)(t,s),p=!!o[c],b&&(o=i[c],_=!!d[c],g=s[a],m=!!o.treeLoaded)),h&&"default"!==h||(I.click=e=>{t.triggerTreeExpandEvent(e,l)}),[e("div",{class:["vxe-cell--tree-node",{"is--active":p}],style:{paddingLeft:u*C+"px"}},[E&&(!b||m?T:g)?[e("div",{class:"vxe-tree--btn-wrapper",on:I},[e("i",{class:["vxe-tree--node-btn",_?x||getIcon().TABLE_TREE_LOADED:p?f||getIcon().TABLE_TREE_OPEN:v||getIcon().TABLE_TREE_CLOSE]})])]:null,e("div",{class:"vxe-tree-cell"},r)])])},renderSeqHeader(e,l){var{$table:r,column:t}=l,n=t.slots;return 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,{treeConfig:n,seqOpts:a}=r,t=t.slots;return t&&t.default?r.callSlot(t.default,l,e):(r=l.seq,t=a.seqMethod,[(0,_utils.formatText)(t?t(l):n?r:(a.startIndex||0)+r,1)])},renderTreeIndexCell(e,l){return Cell.renderTreeIcon(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 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{radioOpts:a,selectRadioRow:o}=r,d=t.slots,{labelField:a,checkMethod:i,visibleMethod:s}=a,c=l.row,u=d?d.default:null,d=d?d.radio:null,o=c===o;let C=!s||s({row:c}),b=!!i,h;n||(h={click(e){!b&&C&&r.triggerRadioRowEvent(e,l)}},i&&(b=!i({row:c})));s=Object.assign(Object.assign({},l),{checked:o,disabled:b,visible:C});return d?r.callSlot(d,s,e):(i=[],C&&i.push(e("span",{class:["vxe-radio--icon",o?getIcon().TABLE_RADIO_CHECKED:getIcon().TABLE_RADIO_UNCHECKED]})),(u||a)&&i.push(e("span",{class:"vxe-radio--label"},u?r.callSlot(u,s,e):_xeUtils.default.get(c,a))),[e("span",{class:["vxe-cell--radio",{"is--checked":o,"is--disabled":b}],on:h},i)])},renderTreeRadioCell(e,l){return Cell.renderTreeIcon(e,l,Cell.renderRadioCell(e,l))},renderCheckboxHeader(e,l){let{$table:r,column:t,isHidden:n}=l,{isAllSelected:a,isIndeterminate:o,isAllCheckboxDisabled:d}=r;var i=t.slots,s=i?i.header:null,i=i?i.title:null,c=r.checkboxOpts,u=t.getTitle();let C;n||(C={click(e){d||r.triggerCheckAllEvent(e,!a)}});l=Object.assign(Object.assign({},l),{checked:a,disabled:d,indeterminate:o});return s?renderTitleContent(e,l,r.callSlot(s,l,e)):(c.checkStrictly?c.showHeader:!1!==c.showHeader)?renderTitleContent(e,l,[e("span",{class:["vxe-cell--checkbox",{"is--checked":a,"is--disabled":d,"is--indeterminate":o}],attrs:{title:getI18n("vxe.table.allTitle")},on:C},[e("span",{class:["vxe-checkbox--icon",o?getIcon().TABLE_CHECKBOX_INDETERMINATE:a?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})].concat(i||u?[e("span",{class:"vxe-checkbox--label"},i?r.callSlot(i,l,e):u)]:[]))]):renderTitleContent(e,l,[e("span",{class:"vxe-checkbox--label"},i?r.callSlot(i,l,e):u)])},renderCheckboxCell(e,l){let{$table:r,row:t,column:n,isHidden:a}=l;var{treeConfig:o,treeIndeterminateMaps:d,selectCheckboxMaps:i}=r,{labelField:s,checkMethod:c,visibleMethod:u}=r.checkboxOpts,C=n.slots,b=C?C.default:null,C=C?C.checkbox:null;let h=!1,x=!1,E=!u||u({row:t}),f=!!c,v;a||(u=(0,_util.getRowid)(r,t),x=!!i[u],v={click(e){!f&&E&&r.triggerCheckRowEvent(e,l,!x)}},c&&(f=!c({row:t})),o&&(h=!!d[u]));i=Object.assign(Object.assign({},l),{checked:x,disabled:f,visible:E,indeterminate:h});return C?r.callSlot(C,i,e):(c=[],E&&c.push(e("span",{class:["vxe-checkbox--icon",h?getIcon().TABLE_CHECKBOX_INDETERMINATE:x?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(b||s)&&c.push(e("span",{class:"vxe-checkbox--label"},b?r.callSlot(b,i,e):_xeUtils.default.get(t,s))),[e("span",{class:["vxe-cell--checkbox",{"is--checked":x,"is--disabled":f,"is--indeterminate":h,"is--hidden":!E}],on:v},c)])},renderTreeSelectionCell(e,l){return Cell.renderTreeIcon(e,l,Cell.renderCheckboxCell(e,l))},renderCheckboxCellByProp(e,l){let{$table:r,row:t,column:n,isHidden:a}=l;var{treeConfig:o,treeIndeterminateMaps:d,checkboxOpts:i}=r,{labelField:s,checkField:c,checkMethod:u,visibleMethod:C}=i,i=i.indeterminateField||i.halfField,b=n.slots,h=b?b.default:null,b=b?b.checkbox:null;let x=!1,E=!1,f=!C||C({row:t}),v=!!u,T;a||(C=(0,_util.getRowid)(r,t),E=_xeUtils.default.get(t,c),T={click(e){!v&&f&&r.triggerCheckRowEvent(e,l,!E)}},u&&(v=!u({row:t})),o&&(x=!!d[C]));c=Object.assign(Object.assign({},l),{checked:E,disabled:v,visible:f,indeterminate:x});return b?r.callSlot(b,c,e):(u=[],f&&u.push(e("span",{class:["vxe-checkbox--icon",x?getIcon().TABLE_CHECKBOX_INDETERMINATE:E?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(h||s)&&u.push(e("span",{class:"vxe-checkbox--label"},h?r.callSlot(h,c,e):_xeUtils.default.get(t,s))),[e("span",{class:["vxe-cell--checkbox",{"is--checked":E,"is--disabled":v,"is--indeterminate":i&&!E?t[i]:x,"is--hidden":!f}],on:T},u)])},renderTreeSelectionCellByProp(e,l){return Cell.renderTreeIcon(e,l,Cell.renderCheckboxCellByProp(e,l))},renderExpandCell(e,l){let{$table:r,isHidden:t,row:n,column:a}=l;var{expandOpts:o,rowExpandedMaps:d,rowExpandLazyLoadedMaps:i}=r,{lazy:o,labelField:s,iconLoaded:c,showIcon:u,iconOpen:C,iconClose:b,visibleMethod:h}=o,x=a.slots,E=x?x.default:null;let f=!1,v=!1;return x&&x.icon?r.callSlot(x.icon,l,e):(t||(x=(0,_util.getRowid)(r,n),f=!!d[x],o&&(v=!!i[x])),[!u||h&&!h(l)?null:e("span",{class:["vxe-table--expanded",{"is--active":f}],on:{click(e){r.triggerRowExpandEvent(e,l)}}},[e("i",{class:["vxe-table--expand-btn",v?c||getIcon().TABLE_EXPAND_LOADED:f?C||getIcon().TABLE_EXPAND_OPEN:b||getIcon().TABLE_EXPAND_CLOSE]})]),E||s?e("span",{class:"vxe-table--expand-label"},E?r.callSlot(E,l,e):_xeUtils.default.get(n,s)):null])},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?r.callSlot(t.default,l,e):[e("span",{class:"vxe-cell--html",domProps:{innerHTML:getDefaultCellLabel(l)}})]},renderTreeHTMLCell(e,l){return Cell.renderTreeIcon(e,l,Cell.renderHTMLCell(e,l))},renderSortAndFilterHeader(e,l){return Cell.renderDefaultHeader(e,l).concat(Cell.renderSortIcon(e,l)).concat(Cell.renderFilterIcon(e,l))},renderSortHeader(e,l){return Cell.renderDefaultHeader(e,l).concat(Cell.renderSortIcon(e,l))},renderSortIcon(e,l){let{$table:r,column:t}=l;var{showIcon:l,iconLayout:n,iconAsc:a,iconDesc:o}=r.sortOpts;return l?[e("span",{class:["vxe-cell--sort",`vxe-cell--sort-${n}-layout`]},[e("i",{class:["vxe-sort--asc-btn",a||getIcon().TABLE_SORT_ASC,{"sort--active":"asc"===t.order}],attrs:{title:getI18n("vxe.table.sortAsc")},on:{click(e){e.stopPropagation(),r.triggerSortEvent(e,t,"asc")}}}),e("i",{class:["vxe-sort--desc-btn",o||getIcon().TABLE_SORT_DESC,{"sort--active":"desc"===t.order}],attrs:{title:getI18n("vxe.table.sortDesc")},on:{click(e){e.stopPropagation(),r.triggerSortEvent(e,t,"desc")}}})])]:[]},renderFilterHeader(e,l){return Cell.renderDefaultHeader(e,l).concat(Cell.renderFilterIcon(e,l))},renderFilterIcon(e,l){let{$table:r,column:t,hasFilter:n}=l;var{filterStore:a,filterOpts:o}=r,{showIcon:o,iconNone:d,iconMatch:i}=o;return o?[e("span",{class:["vxe-cell--filter",{"is--active":a.visible&&a.column===t}]},[e("i",{class:["vxe-filter--btn",n?i||getIcon().TABLE_FILTER_MATCH:d||getIcon().TABLE_FILTER_NONE],attrs:{title:getI18n("vxe.table.filter")},on:{click(e){r.triggerFilterEvent&&r.triggerFilterEvent(e,l.column,l)}}})])]:[]},renderEditHeader(e,l){var{$table:r,column:t}=l,{editConfig:r,editRules:n,editOpts:a}=r,{sortable:o,remoteSort:d,filters:i,editRender:s}=t;let c=!1;return n&&(n=_xeUtils.default.get(n,t.field))&&(c=n.some(e=>e.required)),((0,_utils.isEnableConf)(r)?[c&&a.showAsterisk?e("i",{class:"vxe-cell--required-icon"}):null,(0,_utils.isEnableConf)(s)&&a.showIcon?e("i",{class:["vxe-cell--edit-icon",a.icon||getIcon().TABLE_EDIT]}):null]:[]).concat(Cell.renderDefaultHeader(e,l)).concat(o||d?Cell.renderSortIcon(e,l):[]).concat(i?Cell.renderFilterIcon(e,l):[])},renderRowEdit(e,l){var{$table:r,column:t}=l,t=t.editRender,r=r.editStore.actived;return Cell.runRenderer(e,l,this,(0,_utils.isEnableConf)(t)&&r&&r.row===l.row)},renderTreeRowEdit(e,l){return Cell.renderTreeIcon(e,l,Cell.renderRowEdit(e,l))},renderCellEdit(e,l){var{$table:r,column:t}=l,t=t.editRender,r=r.editStore.actived;return Cell.runRenderer(e,l,this,(0,_utils.isEnableConf)(t)&&r&&r.row===l.row&&r.column===l.column)},renderTreeCellEdit(e,l){return Cell.renderTreeIcon(e,l,Cell.renderCellEdit(e,l))},runRenderer(e,l,r,t){var{$table:n,column:a}=l,{slots:a,editRender:o,formatter:d}=a,i=renderer.get(o.name),i=i?i.renderTableEdit||i.renderEdit:null,l=Object.assign({$type:"",isEdit:t},l);return t?a&&a.edit?n.callSlot(a.edit,l,e):i?(0,_vn.getSlotVNs)(i.call(n,e,o,l)):[]:a&&a.default?n.callSlot(a.default,l,e):d?[e("span",{class:"vxe-cell--label"},[getDefaultCellLabel(l)])]:Cell.renderDefaultCell.call(r,e,l)}};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.icon||getIcon().TABLE_TITLE_PREFIX],on:{mouseenter(e){r.triggerHeaderTitleEvent(e,n,l)},mouseleave(e){r.handleTargetLeaveEvent(e)}}})]:[]}function renderTitleSuffixIcon(e,l){let{$table:r,column:t}=l,n=t.titleSuffix;return n?[e("i",{class:["vxe-cell-title-suffix-icon",n.icon||getIcon().TABLE_TITLE_SUFFIX],on:{mouseenter(e){r.triggerHeaderTitleEvent(e,n,l)},mouseleave(e){r.handleTargetLeaveEvent(e)}}})]:[]}function renderCellDragIcon(e,l){let r=l.$table;return e("span",{key:"dg",class:"vxe-cell--drag-handle",on:{mousedown(e){r.handleCellDragMousedownEvent(e,l)},mouseup:r.handleCellDragMouseupEvent}},[e("i",{class:"vxe-table-icon-drag-handle"})])}function renderCellBaseVNs(e,l,r){var{$table:t,column:n}=l,n=n.dragSort,r=_xeUtils.default.isArray(r)?r:[r],a=t.computeRowOpts,t=t.computeDragOpts;return n&&a.drag&&t.showIcon&&r.unshift(renderCellDragIcon(e,l)),r}function renderTitleContent(e,l,r){let{$table:t,column:n}=l;var{type:a,showHeaderOverflow:d}=n,{showHeaderOverflow:o,tooltipOpts:i}=t;let s=i.showAll||i.enabled;i=_xeUtils.default.isUndefined(d)||_xeUtils.default.isNull(d)?o:d;let c="title"===i,u=!0===i||"tooltip"===i;o={};return(c||u||s)&&(o.mouseenter=e=>{t._isResize||(c?(0,_dom.updateCellTitle)(e.currentTarget,n):(u||s)&&t.triggerHeaderTooltipEvent(e,l))}),(u||s)&&(o.mouseleave=e=>{t._isResize||(u||s)&&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 formatFooterLabel(e,l){var r,t;return _xeUtils.default.isFunction(e)?e(l):(t=(t=(r=_xeUtils.default.isArray(e))?formats.get(e[0]):formats.get(e))?t.tableFooterCellFormatMethod:null)?r?t(l,...e.slice(1)):t(l):""}function getFooterContent(e,l){var{$table:r,column:t,_columnIndex:n,row:a,items:d}=l,{slots:o,editRender:i,cellRender:s,footerFormatter:c}=t,i=i||s;if(o&&o.footer)return r.callSlot(o.footer,l,e);if(i){s=renderer.get(i.name),o=s?s.renderTableFooter||s.renderFooter:null;if(o)return(0,_vn.getSlotVNs)(o.call(r,e,i,l))}let u="";return _xeUtils.default.isArray(d)?u=d[n]:u=_xeUtils.default.get(a,t.field),[c?formatFooterLabel(c,{itemValue:u,column:t,row:a,items:d,_columnIndex:n}):(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)}let Cell=exports.Cell={createColumn(e,l){var{type:r,sortable:t,remoteSort:n,filters:a,editRender:d,treeNode:o}=l,{editConfig:i,editOpts:s,checkboxOpts:c}=e,u={renderHeader:this.renderDefaultHeader,renderCell:o?this.renderTreeCell:this.renderDefaultCell,renderFooter:this.renderDefaultFooter};switch(r){case"seq":u.renderHeader=this.renderSeqHeader,u.renderCell=o?this.renderTreeIndexCell:this.renderSeqCell;break;case"radio":u.renderHeader=this.renderRadioHeader,u.renderCell=o?this.renderTreeRadioCell:this.renderRadioCell;break;case"checkbox":u.renderHeader=this.renderCheckboxHeader,u.renderCell=c.checkField?o?this.renderTreeSelectionCellByProp:this.renderCheckboxCellByProp:o?this.renderTreeSelectionCell:this.renderCheckboxCell;break;case"expand":u.renderCell=this.renderExpandCell,u.renderData=this.renderExpandData;break;case"html":u.renderCell=o?this.renderTreeHTMLCell:this.renderHTMLCell,a&&(t||n)?u.renderHeader=this.renderSortAndFilterHeader:t||n?u.renderHeader=this.renderSortHeader:a&&(u.renderHeader=this.renderFilterHeader);break;default:i&&d?(u.renderHeader=this.renderEditHeader,u.renderCell="cell"===s.mode?o?this.renderTreeCellEdit:this.renderCellEdit:o?this.renderTreeRowEdit:this.renderRowEdit):a&&(t||n)?u.renderHeader=this.renderSortAndFilterHeader:t||n?u.renderHeader=this.renderSortHeader:a&&(u.renderHeader=this.renderFilterHeader)}return(0,_util.createColumn)(e,l,u)},renderHeaderTitle(e,l){var{$table:r,column:t}=l,{slots:n,editRender:a,cellRender:d}=t,a=a||d;if(n&&n.header)return renderTitleContent(e,l,r.callSlot(n.header,l,e));if(a){d=renderer.get(a.name),n=d?d.renderTableHeader||d.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 renderTitlePrefixIcon(e,l).concat(Cell.renderHeaderTitle(e,l)).concat(renderTitleSuffixIcon(e,l))},renderDefaultCell(e,l){var{$table:r,row:t,column:n}=l,{slots:a,editRender:d,cellRender:o}=n,o=d||o;if(a&&a.default)return renderCellBaseVNs(e,l,r.callSlot(a.default,l,e));if(o){var a=renderer.get(o.name),i=a?a.renderTableDefault||a.renderDefault:null,a=a?a.renderTableCell||a.renderCell:null,a=d?a:i;if(a)return renderCellBaseVNs(e,l,(0,_vn.getSlotVNs)(a.call(r,e,o,Object.assign({$type:d?"edit":"cell"},l))))}i=r.getCellLabel(t,n),a=d?d.placeholder:"";return renderCellBaseVNs(e,l,[e("span",{class:"vxe-cell--label"},[d&&(0,_utils.eqEmptyValue)(i)?e("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(a),1)):e("span",(0,_utils.formatText)(i,1))])])},renderTreeCell(e,l){return Cell.renderTreeIcon(e,l,Cell.renderDefaultCell.call(this,e,l))},renderDefaultFooter(e,l){return[e("span",{class:"vxe-cell--item"},getFooterContent(e,l))]},renderTreeIcon(e,l,r){let{$table:t,isHidden:n}=l;var{treeOpts:a,treeExpandedMaps:d,treeExpandLazyLoadedMaps:o,fullAllDataRowIdData:i}=t,{row:s,column:c,level:u}=l,c=c.slots,{indent:C,lazy:E,trigger:h,iconLoaded:b,showIcon:x,iconOpen:g,iconClose:v}=a,f=a.children||a.childrenField,a=a.hasChild||a.hasChildField,f=s[f],f=f&&f.length;let T=!1,p=!1,_=!1,m=!1;var I={};return c&&c.icon?t.callSlot(c.icon,l,e,r):(n||(c=(0,_util.getRowid)(t,s),p=!!d[c],E&&(d=i[c],_=!!o[c],T=s[a],m=!!d.treeLoaded)),h&&"default"!==h||(I.click=e=>{t.triggerTreeExpandEvent(e,l)}),[e("div",{class:["vxe-cell--tree-node",{"is--active":p}],style:{paddingLeft:u*C+"px"}},[x&&(!E||m?f:T)?[e("div",{class:"vxe-tree--btn-wrapper",on:I},[e("i",{class:["vxe-tree--node-btn",_?b||getIcon().TABLE_TREE_LOADED:p?g||getIcon().TABLE_TREE_OPEN:v||getIcon().TABLE_TREE_CLOSE]})])]:null,e("div",{class:"vxe-tree-cell"},r)])])},renderSeqHeader(e,l){var{$table:r,column:t}=l,n=t.slots;return 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,{treeConfig:n,seqOpts:a}=r,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))]))},renderTreeIndexCell(e,l){return Cell.renderTreeIcon(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 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{radioOpts:a,selectRadioRow:d}=r,o=t.slots,{labelField:a,checkMethod:i,visibleMethod:s}=a,c=l.row,u=o?o.default:null,o=o?o.radio:null,d=c===d;let C=!s||s({row:c}),E=!!i,h;n||(h={click(e){!E&&C&&r.triggerRadioRowEvent(e,l)}},i&&(E=!i({row:c})));s=Object.assign(Object.assign({},l),{checked:d,disabled:E,visible:C});return o?renderCellBaseVNs(e,l,r.callSlot(o,s,e)):(i=[],C&&i.push(e("span",{class:["vxe-radio--icon",d?getIcon().TABLE_RADIO_CHECKED:getIcon().TABLE_RADIO_UNCHECKED]})),(u||a)&&i.push(e("span",{class:"vxe-radio--label"},u?r.callSlot(u,s,e):_xeUtils.default.get(c,a))),renderCellBaseVNs(e,l,[e("span",{class:["vxe-cell--radio",{"is--checked":d,"is--disabled":E}],on:h},i)]))},renderTreeRadioCell(e,l){return Cell.renderTreeIcon(e,l,Cell.renderRadioCell(e,l))},renderCheckboxHeader(e,l){let{$table:r,column:t,isHidden:n}=l,{isAllSelected:a,isIndeterminate:d,isAllCheckboxDisabled:o}=r;var i=t.slots,s=i?i.header:null,i=i?i.title:null,c=r.checkboxOpts,u=t.getTitle();let C;n||(C={click(e){o||r.triggerCheckAllEvent(e,!a)}});l=Object.assign(Object.assign({},l),{checked:a,disabled:o,indeterminate:d});return s?renderTitleContent(e,l,r.callSlot(s,l,e)):(c.checkStrictly?c.showHeader:!1!==c.showHeader)?renderTitleContent(e,l,[e("span",{class:["vxe-cell--checkbox",{"is--checked":a,"is--disabled":o,"is--indeterminate":d}],attrs:{title:getI18n("vxe.table.allTitle")},on:C},[e("span",{class:["vxe-checkbox--icon",d?getIcon().TABLE_CHECKBOX_INDETERMINATE:a?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})].concat(i||u?[e("span",{class:"vxe-checkbox--label"},i?r.callSlot(i,l,e):u)]:[]))]):renderTitleContent(e,l,[e("span",{class:"vxe-checkbox--label"},i?r.callSlot(i,l,e):u)])},renderCheckboxCell(e,l){let{$table:r,row:t,column:n,isHidden:a}=l;var{treeConfig:d,treeIndeterminateMaps:o,selectCheckboxMaps:i}=r,{labelField:s,checkMethod:c,visibleMethod:u}=r.checkboxOpts,C=n.slots,E=C?C.default:null,C=C?C.checkbox:null;let h=!1,b=!1,x=!u||u({row:t}),g=!!c,v;a||(u=(0,_util.getRowid)(r,t),b=!!i[u],v={click(e){!g&&x&&r.triggerCheckRowEvent(e,l,!b)}},c&&(g=!c({row:t})),d&&(h=!!o[u]));i=Object.assign(Object.assign({},l),{checked:b,disabled:g,visible:x,indeterminate:h});return C?renderCellBaseVNs(e,l,r.callSlot(C,i,e)):(c=[],x&&c.push(e("span",{class:["vxe-checkbox--icon",h?getIcon().TABLE_CHECKBOX_INDETERMINATE:b?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(E||s)&&c.push(e("span",{class:"vxe-checkbox--label"},E?r.callSlot(E,i,e):_xeUtils.default.get(t,s))),renderCellBaseVNs(e,l,[e("span",{class:["vxe-cell--checkbox",{"is--checked":b,"is--disabled":g,"is--indeterminate":h,"is--hidden":!x}],on:v},c)]))},renderTreeSelectionCell(e,l){return Cell.renderTreeIcon(e,l,Cell.renderCheckboxCell(e,l))},renderCheckboxCellByProp(e,l){let{$table:r,row:t,column:n,isHidden:a}=l;var{treeConfig:d,treeIndeterminateMaps:o,checkboxOpts:i}=r,{labelField:s,checkField:c,checkMethod:u,visibleMethod:C}=i,i=i.indeterminateField||i.halfField,E=n.slots,h=E?E.default:null,E=E?E.checkbox:null;let b=!1,x=!1,g=!C||C({row:t}),v=!!u,f;a||(C=(0,_util.getRowid)(r,t),x=_xeUtils.default.get(t,c),f={click(e){!v&&g&&r.triggerCheckRowEvent(e,l,!x)}},u&&(v=!u({row:t})),d&&(b=!!o[C]));c=Object.assign(Object.assign({},l),{checked:x,disabled:v,visible:g,indeterminate:b});return E?renderCellBaseVNs(e,l,r.callSlot(E,c,e)):(u=[],g&&u.push(e("span",{class:["vxe-checkbox--icon",b?getIcon().TABLE_CHECKBOX_INDETERMINATE:x?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(h||s)&&u.push(e("span",{class:"vxe-checkbox--label"},h?r.callSlot(h,c,e):_xeUtils.default.get(t,s))),renderCellBaseVNs(e,l,[e("span",{class:["vxe-cell--checkbox",{"is--checked":x,"is--disabled":v,"is--indeterminate":i&&!x?t[i]:b,"is--hidden":!g}],on:f},u)]))},renderTreeSelectionCellByProp(e,l){return Cell.renderTreeIcon(e,l,Cell.renderCheckboxCellByProp(e,l))},renderExpandCell(e,l){let{$table:r,isHidden:t,row:n,column:a}=l;var{expandOpts:d,rowExpandedMaps:o,rowExpandLazyLoadedMaps:i}=r,{lazy:d,labelField:s,iconLoaded:c,showIcon:u,iconOpen:C,iconClose:E,visibleMethod:h}=d,b=a.slots,x=b?b.default:null;let g=!1,v=!1;return b&&b.icon?renderCellBaseVNs(e,l,r.callSlot(b.icon,l,e)):(t||(b=(0,_util.getRowid)(r,n),g=!!o[b],d&&(v=!!i[b])),renderCellBaseVNs(e,l,[!u||h&&!h(l)?renderEmptyElement(r):e("span",{class:["vxe-table--expanded",{"is--active":g}],on:{click(e){r.triggerRowExpandEvent(e,l)}}},[e("i",{class:["vxe-table--expand-btn",v?c||getIcon().TABLE_EXPAND_LOADED:g?C||getIcon().TABLE_EXPAND_OPEN:E||getIcon().TABLE_EXPAND_CLOSE]})]),x||s?e("span",{class:"vxe-table--expand-label"},x?r.callSlot(x,l,e):_xeUtils.default.get(n,s)):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)}})])},renderTreeHTMLCell(e,l){return Cell.renderTreeIcon(e,l,Cell.renderHTMLCell(e,l))},renderSortAndFilterHeader(e,l){return Cell.renderDefaultHeader(e,l).concat(Cell.renderSortIcon(e,l)).concat(Cell.renderFilterIcon(e,l))},renderSortHeader(e,l){return Cell.renderDefaultHeader(e,l).concat(Cell.renderSortIcon(e,l))},renderSortIcon(e,l){let{$table:r,column:t}=l;var{showIcon:l,iconLayout:n,iconAsc:a,iconDesc:d}=r.sortOpts;return l?[e("span",{class:["vxe-cell--sort",`vxe-cell--sort-${n}-layout`]},[e("i",{class:["vxe-sort--asc-btn",a||getIcon().TABLE_SORT_ASC,{"sort--active":"asc"===t.order}],attrs:{title:getI18n("vxe.table.sortAsc")},on:{click(e){e.stopPropagation(),r.triggerSortEvent(e,t,"asc")}}}),e("i",{class:["vxe-sort--desc-btn",d||getIcon().TABLE_SORT_DESC,{"sort--active":"desc"===t.order}],attrs:{title:getI18n("vxe.table.sortDesc")},on:{click(e){e.stopPropagation(),r.triggerSortEvent(e,t,"desc")}}})])]:[]},renderFilterHeader(e,l){return Cell.renderDefaultHeader(e,l).concat(Cell.renderFilterIcon(e,l))},renderFilterIcon(e,l){let{$table:r,column:t,hasFilter:n}=l;var{filterStore:a,filterOpts:d}=r,{showIcon:d,iconNone:o,iconMatch:i}=d;return d?[e("span",{class:["vxe-cell--filter",{"is--active":a.visible&&a.column===t}]},[e("i",{class:["vxe-filter--btn",n?i||getIcon().TABLE_FILTER_MATCH:o||getIcon().TABLE_FILTER_NONE],attrs:{title:getI18n("vxe.table.filter")},on:{click(e){r.triggerFilterEvent&&r.triggerFilterEvent(e,l.column,l)}}})])]:[]},renderEditHeader(e,l){var{$table:r,column:t}=l,{editConfig:r,editRules:n,editOpts:a}=r,{sortable:d,remoteSort:o,filters:i,editRender:s}=t;let c=!1;return n&&(n=_xeUtils.default.get(n,t.field))&&(c=n.some(e=>e.required)),((0,_utils.isEnableConf)(r)?[c&&a.showAsterisk?e("i",{class:"vxe-cell--required-icon"}):null,(0,_utils.isEnableConf)(s)&&a.showIcon?e("i",{class:["vxe-cell--edit-icon",a.icon||getIcon().TABLE_EDIT]}):null]:[]).concat(Cell.renderDefaultHeader(e,l)).concat(d||o?Cell.renderSortIcon(e,l):[]).concat(i?Cell.renderFilterIcon(e,l):[])},renderRowEdit(e,l){var{$table:r,column:t}=l,t=t.editRender,r=r.editStore.actived;return Cell.runRenderer(e,l,this,(0,_utils.isEnableConf)(t)&&r&&r.row===l.row)},renderTreeRowEdit(e,l){return Cell.renderTreeIcon(e,l,Cell.renderRowEdit(e,l))},renderCellEdit(e,l){var{$table:r,column:t}=l,t=t.editRender,r=r.editStore.actived;return Cell.runRenderer(e,l,this,(0,_utils.isEnableConf)(t)&&r&&r.row===l.row&&r.column===l.column)},renderTreeCellEdit(e,l){return Cell.renderTreeIcon(e,l,Cell.renderCellEdit(e,l))},runRenderer(e,l,r,t){var{$table:n,column:a}=l,{slots:a,editRender:d,formatter:o}=a,i=renderer.get(d.name),i=i?i.renderTableEdit||i.renderEdit:null,l=Object.assign({$type:"",isEdit:t},l);return t?a&&a.edit?n.callSlot(a.edit,l,e):i?(0,_vn.getSlotVNs)(i.call(n,e,d,l)):[]:a&&a.default?n.callSlot(a.default,l,e):o?[e("span",{class:"vxe-cell--label"},[getDefaultCellLabel(l)])]:Cell.renderDefaultCell.call(r,e,l)}};var _default=exports.default=Cell;
@@ -91,8 +91,10 @@ const props = {
91
91
  filterRecoverMethod: Function,
92
92
  // 筛选模板配置项
93
93
  filterRender: Object,
94
- // 指定为树节点
94
+ // 设置为树节点
95
95
  treeNode: Boolean,
96
+ // 设置为拖拽排序
97
+ dragSort: Boolean,
96
98
  // 是否可视
97
99
  visible: {
98
100
  type: Boolean,
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _cell=_interopRequireDefault(require("./cell")),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let props={colId:[String,Number],type:String,field:String,title:String,width:[Number,String],minWidth:[Number,String],maxWidth:[Number,String],resizable:{type:Boolean,default:null},fixed:String,align:String,headerAlign:String,footerAlign:String,showOverflow:{type:[Boolean,String],default:null},showHeaderOverflow:{type:[Boolean,String],default:null},showFooterOverflow:{type:[Boolean,String],default:null},className:[String,Function],headerClassName:[String,Function],footerClassName:[String,Function],formatter:[Function,Array,String],footerFormatter:[Function,Array,String],sortable:Boolean,remoteSort:{type:Boolean,default:null},sortBy:[String,Function],sortType:String,sortMethod:Function,filters:{type:Array,default:null},filterMultiple:{type:Boolean,default:!0},filterMethod:Function,filterResetMethod:Function,filterRecoverMethod:Function,filterRender:Object,treeNode:Boolean,visible:{type:Boolean,default:null},headerExportMethod:Function,exportMethod:Function,footerExportMethod:Function,titleHelp:Object,titlePrefix:Object,titleSuffix:Object,cellType:String,cellRender:Object,editRender:Object,contentRender:Object,params:Object},watch={};Object.keys(props).forEach(t=>{watch[t]=function(e){this.columnConfig.update(t,e),this.$xetable&&("filters"===t?(this.$xetable.setFilter(this.columnConfig,e),this.$xetable.handleUpdateDataQueue()):["visible","fixed","width","minWidth","maxWidth"].includes(t)&&this.$xetable.handleRefreshColumnQueue())}});var _default=exports.default={name:"VxeColumn",props:props,provide(){return{$xecolumn:this,$xegrid:null}},inject:{$xetable:{default:null},$xecolumn:{default:null}},watch:watch,created(){this.columnConfig=this.createColumn(this.$xetable,this)},mounted(){(0,_util.assembleColumn)(this)},destroyed(){(0,_util.destroyColumn)(this)},render(e){return e("div",this.$slots.default)},methods:_cell.default};
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _cell=_interopRequireDefault(require("./cell")),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let props={colId:[String,Number],type:String,field:String,title:String,width:[Number,String],minWidth:[Number,String],maxWidth:[Number,String],resizable:{type:Boolean,default:null},fixed:String,align:String,headerAlign:String,footerAlign:String,showOverflow:{type:[Boolean,String],default:null},showHeaderOverflow:{type:[Boolean,String],default:null},showFooterOverflow:{type:[Boolean,String],default:null},className:[String,Function],headerClassName:[String,Function],footerClassName:[String,Function],formatter:[Function,Array,String],footerFormatter:[Function,Array,String],sortable:Boolean,remoteSort:{type:Boolean,default:null},sortBy:[String,Function],sortType:String,sortMethod:Function,filters:{type:Array,default:null},filterMultiple:{type:Boolean,default:!0},filterMethod:Function,filterResetMethod:Function,filterRecoverMethod:Function,filterRender:Object,treeNode:Boolean,dragSort:Boolean,visible:{type:Boolean,default:null},headerExportMethod:Function,exportMethod:Function,footerExportMethod:Function,titleHelp:Object,titlePrefix:Object,titleSuffix:Object,cellType:String,cellRender:Object,editRender:Object,contentRender:Object,params:Object},watch={};Object.keys(props).forEach(t=>{watch[t]=function(e){this.columnConfig.update(t,e),this.$xetable&&("filters"===t?(this.$xetable.setFilter(this.columnConfig,e),this.$xetable.handleUpdateDataQueue()):["visible","fixed","width","minWidth","maxWidth"].includes(t)&&this.$xetable.handleRefreshColumnQueue())}});var _default=exports.default={name:"VxeColumn",props:props,provide(){return{$xecolumn:this,$xegrid:null}},inject:{$xetable:{default:null},$xecolumn:{default:null}},watch:watch,created(){this.columnConfig=this.createColumn(this.$xetable,this)},mounted(){(0,_util.assembleColumn)(this)},destroyed(){(0,_util.destroyColumn)(this)},render(e){return e("div",this.$slots.default)},methods:_cell.default};
@@ -99,6 +99,7 @@ class ColumnInfo {
99
99
  filterRecoverMethod: _vm.filterRecoverMethod,
100
100
  filterRender: _vm.filterRender,
101
101
  treeNode: _vm.treeNode,
102
+ dragSort: _vm.dragSort,
102
103
  cellType: _vm.cellType,
103
104
  cellRender: _vm.cellRender,
104
105
  editRender: _vm.editRender,
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.ColumnInfo=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,formats}=_ui.VxeUI;class ColumnInfo{constructor(e,r,{renderHeader:t,renderCell:o,renderFooter:l,renderData:i}={}){var d,n=e.$xegrid,s=n?n.proxyOpts:null,a=r.formatter,f=!_xeUtils.default.isBoolean(r.visible)||r.visible;"development"===process.env.NODE_ENV&&(d=["seq","checkbox","radio","expand","html"],r.type&&-1===d.indexOf(r.type)&&(0,_log.warnLog)("vxe.error.errProp",["type="+r.type,d.join(", ")]),(_xeUtils.default.isBoolean(r.cellRender)||r.cellRender&&!_xeUtils.default.isObject(r.cellRender))&&(0,_log.warnLog)("vxe.error.errProp",["column.cell-render="+r.cellRender,"column.cell-render={}"]),(_xeUtils.default.isBoolean(r.editRender)||r.editRender&&!_xeUtils.default.isObject(r.editRender))&&(0,_log.warnLog)("vxe.error.errProp",["column.edit-render="+r.editRender,"column.edit-render={}"]),r.cellRender&&r.editRender&&(0,_log.warnLog)("vxe.error.errConflicts",["column.cell-render","column.edit-render"]),"expand"===r.type&&e.treeConfig&&(e.treeOpts.showLine||e.treeOpts.line)&&(0,_log.errLog)("vxe.error.errConflicts",["tree-config.line","column.type=expand"]),r.remoteSort&&(0,_log.warnLog)("vxe.error.delProp",["column.remote-sort","sort-config.remote"]),r.sortMethod&&(0,_log.warnLog)("vxe.error.delProp",["column.sort-method","sort-config.sortMethod"]),a)&&(_xeUtils.default.isString(a)?(d=formats.get(a)||_xeUtils.default[a])&&_xeUtils.default.isFunction(d.tableCellFormatMethod||d.cellFormatMethod)||(0,_log.errLog)("vxe.error.notFormats",[a]):!_xeUtils.default.isArray(a)||(e=formats.get(a[0])||_xeUtils.default[a[0]])&&_xeUtils.default.isFunction(e.tableCellFormatMethod||e.cellFormatMethod)||(0,_log.errLog)("vxe.error.notFormats",[a[0]])),Object.assign(this,{type:r.type,property:r.field,field:r.field,title:r.title,width:r.width,minWidth:r.minWidth,maxWidth:r.maxWidth,resizable:r.resizable,fixed:r.fixed,align:r.align,headerAlign:r.headerAlign,footerAlign:r.footerAlign,showOverflow:r.showOverflow,showHeaderOverflow:r.showHeaderOverflow,showFooterOverflow:r.showFooterOverflow,className:r.className,headerClassName:r.headerClassName,footerClassName:r.footerClassName,formatter:a,footerFormatter:r.footerFormatter,sortable:r.sortable,sortBy:r.sortBy,sortType:r.sortType,sortMethod:r.sortMethod,remoteSort:r.remoteSort,filters:(0,_util.toFilters)(r.filters),filterMultiple:!_xeUtils.default.isBoolean(r.filterMultiple)||r.filterMultiple,filterMethod:r.filterMethod,filterResetMethod:r.filterResetMethod,filterRecoverMethod:r.filterRecoverMethod,filterRender:r.filterRender,treeNode:r.treeNode,cellType:r.cellType,cellRender:r.cellRender,editRender:r.editRender,contentRender:r.contentRender,headerExportMethod:r.headerExportMethod,exportMethod:r.exportMethod,footerExportMethod:r.footerExportMethod,titleHelp:r.titleHelp,titlePrefix:r.titlePrefix,titleSuffix:r.titleSuffix,params:r.params,id:r.colId||_xeUtils.default.uniqueId("col_"),parentId:null,visible:f,halfVisible:!1,defaultVisible:f,defaultFixed:r.fixed,checked:!1,halfChecked:!1,disabled:!1,level:1,rowSpan:1,colSpan:1,order:null,sortTime:0,sortNumber:0,renderSortNumber:0,renderFixed:"",renderVisible:!1,renderWidth:0,renderHeight:0,renderResizeWidth:0,renderAutoWidth:0,resizeWidth:0,renderLeft:0,renderArgs:[],model:{},renderHeader:t||r.renderHeader,renderCell:o||r.renderCell,renderFooter:l||r.renderFooter,renderData:i,slots:r.slots}),s&&s.beforeColumn&&s.beforeColumn({$grid:n,column:this})}getTitle(){return(0,_utils.getFuncText)(this.title||("seq"===this.type?getI18n("vxe.table.seqTitle"):""))}getKey(){var e=this.type;return this.field||(e?"type="+e:null)}update(e,r){"filters"!==e&&("field"===e&&(this.property=r),this[e]=r)}}exports.ColumnInfo=ColumnInfo;
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.ColumnInfo=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,formats}=_ui.VxeUI;class ColumnInfo{constructor(e,r,{renderHeader:t,renderCell:o,renderFooter:l,renderData:i}={}){var d,n=e.$xegrid,s=n?n.proxyOpts:null,a=r.formatter,f=!_xeUtils.default.isBoolean(r.visible)||r.visible;"development"===process.env.NODE_ENV&&(d=["seq","checkbox","radio","expand","html"],r.type&&-1===d.indexOf(r.type)&&(0,_log.warnLog)("vxe.error.errProp",["type="+r.type,d.join(", ")]),(_xeUtils.default.isBoolean(r.cellRender)||r.cellRender&&!_xeUtils.default.isObject(r.cellRender))&&(0,_log.warnLog)("vxe.error.errProp",["column.cell-render="+r.cellRender,"column.cell-render={}"]),(_xeUtils.default.isBoolean(r.editRender)||r.editRender&&!_xeUtils.default.isObject(r.editRender))&&(0,_log.warnLog)("vxe.error.errProp",["column.edit-render="+r.editRender,"column.edit-render={}"]),r.cellRender&&r.editRender&&(0,_log.warnLog)("vxe.error.errConflicts",["column.cell-render","column.edit-render"]),"expand"===r.type&&e.treeConfig&&(e.treeOpts.showLine||e.treeOpts.line)&&(0,_log.errLog)("vxe.error.errConflicts",["tree-config.line","column.type=expand"]),r.remoteSort&&(0,_log.warnLog)("vxe.error.delProp",["column.remote-sort","sort-config.remote"]),r.sortMethod&&(0,_log.warnLog)("vxe.error.delProp",["column.sort-method","sort-config.sortMethod"]),a)&&(_xeUtils.default.isString(a)?(d=formats.get(a)||_xeUtils.default[a])&&_xeUtils.default.isFunction(d.tableCellFormatMethod||d.cellFormatMethod)||(0,_log.errLog)("vxe.error.notFormats",[a]):!_xeUtils.default.isArray(a)||(e=formats.get(a[0])||_xeUtils.default[a[0]])&&_xeUtils.default.isFunction(e.tableCellFormatMethod||e.cellFormatMethod)||(0,_log.errLog)("vxe.error.notFormats",[a[0]])),Object.assign(this,{type:r.type,property:r.field,field:r.field,title:r.title,width:r.width,minWidth:r.minWidth,maxWidth:r.maxWidth,resizable:r.resizable,fixed:r.fixed,align:r.align,headerAlign:r.headerAlign,footerAlign:r.footerAlign,showOverflow:r.showOverflow,showHeaderOverflow:r.showHeaderOverflow,showFooterOverflow:r.showFooterOverflow,className:r.className,headerClassName:r.headerClassName,footerClassName:r.footerClassName,formatter:a,footerFormatter:r.footerFormatter,sortable:r.sortable,sortBy:r.sortBy,sortType:r.sortType,sortMethod:r.sortMethod,remoteSort:r.remoteSort,filters:(0,_util.toFilters)(r.filters),filterMultiple:!_xeUtils.default.isBoolean(r.filterMultiple)||r.filterMultiple,filterMethod:r.filterMethod,filterResetMethod:r.filterResetMethod,filterRecoverMethod:r.filterRecoverMethod,filterRender:r.filterRender,treeNode:r.treeNode,dragSort:r.dragSort,cellType:r.cellType,cellRender:r.cellRender,editRender:r.editRender,contentRender:r.contentRender,headerExportMethod:r.headerExportMethod,exportMethod:r.exportMethod,footerExportMethod:r.footerExportMethod,titleHelp:r.titleHelp,titlePrefix:r.titlePrefix,titleSuffix:r.titleSuffix,params:r.params,id:r.colId||_xeUtils.default.uniqueId("col_"),parentId:null,visible:f,halfVisible:!1,defaultVisible:f,defaultFixed:r.fixed,checked:!1,halfChecked:!1,disabled:!1,level:1,rowSpan:1,colSpan:1,order:null,sortTime:0,sortNumber:0,renderSortNumber:0,renderFixed:"",renderVisible:!1,renderWidth:0,renderHeight:0,renderResizeWidth:0,renderAutoWidth:0,resizeWidth:0,renderLeft:0,renderArgs:[],model:{},renderHeader:t||r.renderHeader,renderCell:o||r.renderCell,renderFooter:l||r.renderFooter,renderData:i,slots:r.slots}),s&&s.beforeColumn&&s.beforeColumn({$grid:n,column:this})}getTitle(){return(0,_utils.getFuncText)(this.title||("seq"===this.type?getI18n("vxe.table.seqTitle"):""))}getKey(){var e=this.type;return this.field||(e?"type="+e:null)}update(e,r){"filters"!==e&&("field"===e&&(this.property=r),this[e]=r)}}exports.ColumnInfo=ColumnInfo;