vxe-table 4.9.26 → 4.9.28

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 (60) hide show
  1. package/es/grid/src/grid.js +7 -1
  2. package/es/index.css +1 -1
  3. package/es/index.min.css +1 -1
  4. package/es/style.css +1 -1
  5. package/es/style.min.css +1 -1
  6. package/es/table/module/edit/hook.js +10 -3
  7. package/es/table/module/keyboard/hook.js +2 -31
  8. package/es/table/src/body.js +16 -4
  9. package/es/table/src/cell.js +21 -21
  10. package/es/table/src/header.js +21 -5
  11. package/es/table/src/table.js +106 -39
  12. package/es/table/style.css +36 -0
  13. package/es/table/style.min.css +1 -1
  14. package/es/ui/index.js +1 -1
  15. package/es/ui/src/log.js +1 -1
  16. package/es/vxe-table/style.css +36 -0
  17. package/es/vxe-table/style.min.css +1 -1
  18. package/lib/grid/src/grid.js +7 -1
  19. package/lib/grid/src/grid.min.js +1 -1
  20. package/lib/index.css +1 -1
  21. package/lib/index.min.css +1 -1
  22. package/lib/index.umd.js +207 -110
  23. package/lib/index.umd.min.js +1 -1
  24. package/lib/style.css +1 -1
  25. package/lib/style.min.css +1 -1
  26. package/lib/table/module/edit/hook.js +10 -4
  27. package/lib/table/module/edit/hook.min.js +1 -1
  28. package/lib/table/module/keyboard/hook.js +1 -36
  29. package/lib/table/module/keyboard/hook.min.js +1 -1
  30. package/lib/table/src/body.js +18 -4
  31. package/lib/table/src/body.min.js +1 -1
  32. package/lib/table/src/cell.js +27 -19
  33. package/lib/table/src/cell.min.js +1 -1
  34. package/lib/table/src/header.js +23 -7
  35. package/lib/table/src/header.min.js +1 -1
  36. package/lib/table/src/table.js +122 -39
  37. package/lib/table/src/table.min.js +1 -1
  38. package/lib/table/style/style.css +36 -0
  39. package/lib/table/style/style.min.css +1 -1
  40. package/lib/ui/index.js +1 -1
  41. package/lib/ui/index.min.js +1 -1
  42. package/lib/ui/src/log.js +1 -1
  43. package/lib/ui/src/log.min.js +1 -1
  44. package/lib/vxe-table/style/style.css +36 -0
  45. package/lib/vxe-table/style/style.min.css +1 -1
  46. package/package.json +2 -2
  47. package/packages/grid/src/grid.ts +8 -1
  48. package/packages/table/module/edit/hook.ts +10 -3
  49. package/packages/table/module/keyboard/hook.ts +2 -31
  50. package/packages/table/src/body.ts +16 -4
  51. package/packages/table/src/cell.ts +23 -15
  52. package/packages/table/src/header.ts +20 -6
  53. package/packages/table/src/table.ts +107 -42
  54. package/styles/components/table.scss +36 -0
  55. /package/es/{iconfont.1734150615727.ttf → iconfont.1734331313492.ttf} +0 -0
  56. /package/es/{iconfont.1734150615727.woff → iconfont.1734331313492.woff} +0 -0
  57. /package/es/{iconfont.1734150615727.woff2 → iconfont.1734331313492.woff2} +0 -0
  58. /package/lib/{iconfont.1734150615727.ttf → iconfont.1734331313492.ttf} +0 -0
  59. /package/lib/{iconfont.1734150615727.woff → iconfont.1734331313492.woff} +0 -0
  60. /package/lib/{iconfont.1734150615727.woff2 → iconfont.1734331313492.woff2} +0 -0
@@ -427,42 +427,7 @@ hooks.add('tableKeyboardModule', {
427
427
  $xeTable.handleSelected(params, evnt);
428
428
  });
429
429
  },
430
- /**
431
- * 表头单元格按下事件
432
- */
433
- triggerHeaderCellMousedownEvent(evnt, params) {
434
- const {
435
- mouseConfig
436
- } = props;
437
- const mouseOpts = computeMouseOpts.value;
438
- if (mouseConfig && mouseOpts.area && $xeTable.handleHeaderCellAreaEvent) {
439
- const cell = evnt.currentTarget;
440
- const triggerSort = (0, _dom.getEventTargetNode)(evnt, cell, 'vxe-cell--sort').flag;
441
- const triggerFilter = (0, _dom.getEventTargetNode)(evnt, cell, 'vxe-cell--filter').flag;
442
- $xeTable.handleHeaderCellAreaEvent(evnt, Object.assign({
443
- cell,
444
- triggerSort,
445
- triggerFilter
446
- }, params));
447
- }
448
- $xeTable.focus();
449
- if ($xeTable.closeMenu) {
450
- $xeTable.closeMenu();
451
- }
452
- },
453
- /**
454
- * 单元格按下事件
455
- */
456
- triggerCellMousedownEvent(evnt, params) {
457
- const cell = evnt.currentTarget;
458
- params.cell = cell;
459
- handleCellMousedownEvent(evnt, params);
460
- $xeTable.focus();
461
- $xeTable.closeFilter();
462
- if ($xeTable.closeMenu) {
463
- $xeTable.closeMenu();
464
- }
465
- }
430
+ handleCellMousedownEvent
466
431
  };
467
432
  return keyboardMethods;
468
433
  }
@@ -1 +1 @@
1
- "use strict";var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_dom=require("../../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const hooks=_ui.VxeUI["hooks"];function getTargetOffset(e,t){let o=0,l=0;var n,r,a=!_dom.browse.firefox&&(0,_dom.hasClass)(e,"vxe-checkbox--label");for(a&&(n=getComputedStyle(e),o-=_xeUtils.default.toNumber(n.paddingTop),l-=_xeUtils.default.toNumber(n.paddingLeft));e&&e!==t;)o+=e.offsetTop,l+=e.offsetLeft,e=e.offsetParent,a&&(r=getComputedStyle(e),o-=_xeUtils.default.toNumber(r.paddingTop),l-=_xeUtils.default.toNumber(r.paddingLeft));return{offsetTop:o,offsetLeft:l}}hooks.add("tableKeyboardModule",{setupTable(y){const{props:g,reactData:S,internalData:D}=y,a=y.getRefMaps()["refElem"],{computeEditOpts:f,computeCheckboxOpts:s,computeMouseOpts:u,computeTreeOpts:i}=y.getComputeMaps();const d=(e,i)=>{var{column:t,cell:o}=i;if("checkbox"===t.type){const n=a.value;var l=D["elemStore"];const d=e.clientX,g=e.clientY,f=(0,_util.getRefElem)(l[`${t.fixed||"main"}-body-wrapper`]||l["main-body-wrapper"]);if(f){const m=f.querySelector(".vxe-table--checkbox-range"),r=document.onmousemove,h=document.onmouseup,v=o.parentElement,p=y.getCheckboxRecords();let c=[];const x=1;t=getTargetOffset(e.target,f);const w=t.offsetTop+e.offsetY,b=t.offsetLeft+e.offsetX,C=f.scrollTop,T=v.offsetHeight,R=v.getBoundingClientRect(),I=g-R.y;let a=null,s=!1,u=1;const M=(e,t)=>{y.dispatchEvent("checkbox-range-"+e,{records:y.getCheckboxRecords(),reserves:y.getCheckboxReserveRecords()},t)},_=e=>{var{clientX:t,clientY:o}=e,t=t-d,o=o-g+(f.scrollTop-C);let l=Math.abs(o),n=Math.abs(t),r=w,a=b;o<x?(r+=o)<x&&(r=x,l=w):l=Math.min(l,f.scrollHeight-w-x),t<x?(a+=t,n>b&&(a=x,n=b)):n=Math.min(n,f.clientWidth-b-x),m.style.height=l+"px",m.style.width=n+"px",m.style.left=a+"px",m.style.top=r+"px",m.style.display="block";t=function(e,t,o,l,n,r){let a=0,c=[],s=0;var u=0<r,i=S["scrollYLoad"],{afterFullData:d,scrollYStore:g}=D;if(i){s=u?n+r:l.height-n+Math.abs(r);i=y.getVTRowIndex(t.row);c=u?d.slice(i,i+Math.ceil(s/g.rowHeight)):d.slice(i-Math.floor(s/g.rowHeight),i+1)}else{s=u?e.clientY-l.y:l.y-e.clientY+l.height;for(var f=u?"next":"previous";o&&a<s;){var m=y.getRowNode(o);m&&(c.push(m.item),a+=o.offsetHeight,o=o[f+"ElementSibling"])}}return c}(e,i,v,R,I,o<x?-l:l);10<l&&t.length!==c.length&&(c=t,e.ctrlKey?t.forEach(e=>{y.handleBatchSelectRows([e],-1===p.indexOf(e))}):(y.setAllCheckboxRow(!1),y.handleCheckedCheckboxRow(t,!0,!1)),M("change",e))},E=()=>{clearTimeout(a),a=null},k=r=>{E(),a=setTimeout(()=>{var e,t,o,l,n;a&&({scrollLeft:e,scrollTop:t,clientHeight:o,scrollHeight:l}=f,n=Math.ceil(50*u/T),s?t+o<l?(y.scrollTo(e,t+n),k(r),_(r)):E():t?(y.scrollTo(e,t-n),k(r),_(r)):E())},50)};(0,_dom.addClass)(n,"drag--range"),document.onmousemove=e=>{e.preventDefault(),e.stopPropagation();var t=e["clientY"],o=(0,_dom.getAbsolutePos)(f)["boundingTop"];t<o?(s=!1,u=o-t,a||k(e)):t>o+f.clientHeight?(s=!0,u=t-o-f.clientHeight,a||k(e)):a&&E(),_(e)},document.onmouseup=e=>{E(),(0,_dom.removeClass)(n,"drag--range"),m.removeAttribute("style"),document.onmousemove=r,document.onmouseup=h,M("end",e)},M("start",e)}}};return{moveTabSelected(e,t,o){var l=g["editConfig"],{afterFullData:n,visibleColumn:r}=D,a=f.value;let c,s,u;const i=Object.assign({},e);var e=y.getVTRowIndex(i.row),d=y.getVTColumnIndex(i.column),t=(o.preventDefault(),t?d<=0?0<e&&(s=e-1,c=n[s],u=r.length-1):u=d-1:d>=r.length-1?e<n.length-1&&(s=e+1,c=n[s],u=0):u=d+1,r[u]);t&&(c?(i.rowIndex=s,i.row=c):i.rowIndex=e,i.columnIndex=u,i.column=t,i.cell=y.getCellElement(i.row,i.column),l?"click"!==a.trigger&&"dblclick"!==a.trigger||("row"===a.mode?y.handleEdit(i,o):y.scrollToRow(i.row,i.column).then(()=>y.handleSelected(i,o))):y.scrollToRow(i.row,i.column).then(()=>y.handleSelected(i,o)))},moveCurrentRow(e,t,o){var l=g["treeConfig"];const n=S["currentRow"];var r=D["afterFullData"],a=i.value,a=a.children||a.childrenField;let c;if(o.preventDefault(),n?l?({index:l,items:a}=_xeUtils.default.findTree(r,e=>e===n,{children:a}),e&&0<l?c=a[l-1]:t&&l<a.length-1&&(c=a[l+1])):(a=y.getVTRowIndex(n),e&&0<a?c=r[a-1]:t&&a<r.length-1&&(c=r[a+1])):c=r[0],c){const s={$table:y,row:c,rowIndex:y.getRowIndex(c),$rowIndex:y.getVMRowIndex(c)};y.scrollToRow(c).then(()=>y.triggerCurrentRowEvent(o,s))}},moveSelected(e,t,o,l,n,r){var{afterFullData:a,visibleColumn:c}=D;const s=Object.assign({},e);var e=y.getVTRowIndex(s.row),u=y.getVTColumnIndex(s.column);r.preventDefault(),o&&0<e?(s.rowIndex=e-1,s.row=a[s.rowIndex]):n&&e<a.length-1?(s.rowIndex=e+1,s.row=a[s.rowIndex]):t&&u?(s.columnIndex=u-1,s.column=c[s.columnIndex]):l&&u<c.length-1&&(s.columnIndex=u+1,s.column=c[s.columnIndex]),y.scrollToRow(s.row,s.column).then(()=>{s.cell=y.getCellElement(s.row,s.column),y.handleSelected(s,r)})},triggerHeaderCellMousedownEvent(e,t){var o,l=g["mouseConfig"],n=u.value;l&&n.area&&y.handleHeaderCellAreaEvent&&(l=e.currentTarget,n=(0,_dom.getEventTargetNode)(e,l,"vxe-cell--sort").flag,o=(0,_dom.getEventTargetNode)(e,l,"vxe-cell--filter").flag,y.handleHeaderCellAreaEvent(e,Object.assign({cell:l,triggerSort:n,triggerFilter:o},t))),y.focus(),y.closeMenu&&y.closeMenu()},triggerCellMousedownEvent(e,t){var o=e.currentTarget;t.cell=o,((e,t)=>{var{editConfig:o,checkboxConfig:l,mouseConfig:n}=g,r=s.value,a=u.value,c=f.value;if(n&&a.area&&y.handleMousedownCellAreaEvent)return y.handleMousedownCellAreaEvent(e,t);l&&r.range&&d(e,t),n&&a.selected&&(o&&"cell"!==c.mode||y.handleSelected(t,e))})(e,t),y.focus(),y.closeFilter(),y.closeMenu&&y.closeMenu()}}}});
1
+ "use strict";var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_dom=require("../../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const hooks=_ui.VxeUI["hooks"];function getTargetOffset(e,t){let o=0,l=0;var n,r,c=!_dom.browse.firefox&&(0,_dom.hasClass)(e,"vxe-checkbox--label");for(c&&(n=getComputedStyle(e),o-=_xeUtils.default.toNumber(n.paddingTop),l-=_xeUtils.default.toNumber(n.paddingLeft));e&&e!==t;)o+=e.offsetTop,l+=e.offsetLeft,e=e.offsetParent,c&&(r=getComputedStyle(e),o-=_xeUtils.default.toNumber(r.paddingTop),l-=_xeUtils.default.toNumber(r.paddingLeft));return{offsetTop:o,offsetLeft:l}}hooks.add("tableKeyboardModule",{setupTable(E){const{props:g,reactData:S,internalData:D}=E,c=E.getRefMaps()["refElem"],{computeEditOpts:m,computeCheckboxOpts:s,computeMouseOpts:u,computeTreeOpts:i}=E.getComputeMaps();const d=(e,i)=>{var{column:t,cell:o}=i;if("checkbox"===t.type){const n=c.value;var l=D["elemStore"];const d=e.clientX,g=e.clientY,m=(0,_util.getRefElem)(l[`${t.fixed||"main"}-body-wrapper`]||l["main-body-wrapper"]);if(m){const f=m.querySelector(".vxe-table--checkbox-range"),r=document.onmousemove,h=document.onmouseup,p=o.parentElement,x=E.getCheckboxRecords();let a=[];const v=1;t=getTargetOffset(e.target,m);const w=t.offsetTop+e.offsetY,b=t.offsetLeft+e.offsetX,C=m.scrollTop,T=p.offsetHeight,R=p.getBoundingClientRect(),I=g-R.y;let c=null,s=!1,u=1;const _=(e,t)=>{E.dispatchEvent("checkbox-range-"+e,{records:E.getCheckboxRecords(),reserves:E.getCheckboxReserveRecords()},t)},k=e=>{var{clientX:t,clientY:o}=e,t=t-d,o=o-g+(m.scrollTop-C);let l=Math.abs(o),n=Math.abs(t),r=w,c=b;o<v?(r+=o)<v&&(r=v,l=w):l=Math.min(l,m.scrollHeight-w-v),t<v?(c+=t,n>b&&(c=v,n=b)):n=Math.min(n,m.clientWidth-b-v),f.style.height=l+"px",f.style.width=n+"px",f.style.left=c+"px",f.style.top=r+"px",f.style.display="block";t=function(e,t,o,l,n,r){let c=0,a=[],s=0;var u=0<r,i=S["scrollYLoad"],{afterFullData:d,scrollYStore:g}=D;if(i){s=u?n+r:l.height-n+Math.abs(r);i=E.getVTRowIndex(t.row);a=u?d.slice(i,i+Math.ceil(s/g.rowHeight)):d.slice(i-Math.floor(s/g.rowHeight),i+1)}else{s=u?e.clientY-l.y:l.y-e.clientY+l.height;for(var m=u?"next":"previous";o&&c<s;){var f=E.getRowNode(o);f&&(a.push(f.item),c+=o.offsetHeight,o=o[m+"ElementSibling"])}}return a}(e,i,p,R,I,o<v?-l:l);10<l&&t.length!==a.length&&(a=t,e.ctrlKey?t.forEach(e=>{E.handleBatchSelectRows([e],-1===x.indexOf(e))}):(E.setAllCheckboxRow(!1),E.handleCheckedCheckboxRow(t,!0,!1)),_("change",e))},y=()=>{clearTimeout(c),c=null},M=r=>{y(),c=setTimeout(()=>{var e,t,o,l,n;c&&({scrollLeft:e,scrollTop:t,clientHeight:o,scrollHeight:l}=m,n=Math.ceil(50*u/T),s?t+o<l?(E.scrollTo(e,t+n),M(r),k(r)):y():t?(E.scrollTo(e,t-n),M(r),k(r)):y())},50)};(0,_dom.addClass)(n,"drag--range"),document.onmousemove=e=>{e.preventDefault(),e.stopPropagation();var t=e["clientY"],o=(0,_dom.getAbsolutePos)(m)["boundingTop"];t<o?(s=!1,u=o-t,c||M(e)):t>o+m.clientHeight?(s=!0,u=t-o-m.clientHeight,c||M(e)):c&&y(),k(e)},document.onmouseup=e=>{y(),(0,_dom.removeClass)(n,"drag--range"),f.removeAttribute("style"),document.onmousemove=r,document.onmouseup=h,_("end",e)},_("start",e)}}};return{moveTabSelected(e,t,o){var l=g["editConfig"],{afterFullData:n,visibleColumn:r}=D,c=m.value;let a,s,u;const i=Object.assign({},e);var e=E.getVTRowIndex(i.row),d=E.getVTColumnIndex(i.column),t=(o.preventDefault(),t?d<=0?0<e&&(s=e-1,a=n[s],u=r.length-1):u=d-1:d>=r.length-1?e<n.length-1&&(s=e+1,a=n[s],u=0):u=d+1,r[u]);t&&(a?(i.rowIndex=s,i.row=a):i.rowIndex=e,i.columnIndex=u,i.column=t,i.cell=E.getCellElement(i.row,i.column),l?"click"!==c.trigger&&"dblclick"!==c.trigger||("row"===c.mode?E.handleEdit(i,o):E.scrollToRow(i.row,i.column).then(()=>E.handleSelected(i,o))):E.scrollToRow(i.row,i.column).then(()=>E.handleSelected(i,o)))},moveCurrentRow(e,t,o){var l=g["treeConfig"];const n=S["currentRow"];var r=D["afterFullData"],c=i.value,c=c.children||c.childrenField;let a;if(o.preventDefault(),n?l?({index:l,items:c}=_xeUtils.default.findTree(r,e=>e===n,{children:c}),e&&0<l?a=c[l-1]:t&&l<c.length-1&&(a=c[l+1])):(c=E.getVTRowIndex(n),e&&0<c?a=r[c-1]:t&&c<r.length-1&&(a=r[c+1])):a=r[0],a){const s={$table:E,row:a,rowIndex:E.getRowIndex(a),$rowIndex:E.getVMRowIndex(a)};E.scrollToRow(a).then(()=>E.triggerCurrentRowEvent(o,s))}},moveSelected(e,t,o,l,n,r){var{afterFullData:c,visibleColumn:a}=D;const s=Object.assign({},e);var e=E.getVTRowIndex(s.row),u=E.getVTColumnIndex(s.column);r.preventDefault(),o&&0<e?(s.rowIndex=e-1,s.row=c[s.rowIndex]):n&&e<c.length-1?(s.rowIndex=e+1,s.row=c[s.rowIndex]):t&&u?(s.columnIndex=u-1,s.column=a[s.columnIndex]):l&&u<a.length-1&&(s.columnIndex=u+1,s.column=a[s.columnIndex]),E.scrollToRow(s.row,s.column).then(()=>{s.cell=E.getCellElement(s.row,s.column),E.handleSelected(s,r)})},handleCellMousedownEvent:(e,t)=>{var{editConfig:o,checkboxConfig:l,mouseConfig:n}=g,r=s.value,c=u.value,a=m.value;if(n&&c.area&&E.handleMousedownCellAreaEvent)return E.handleMousedownCellAreaEvent(e,t);l&&r.range&&d(e,t),n&&c.selected&&(o&&"cell"!==a.mode||E.handleSelected(t,e))}}}});
@@ -68,7 +68,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
68
68
  computeCellOpts,
69
69
  computeValidOpts,
70
70
  computeRowOpts,
71
- computeColumnOpts
71
+ computeColumnOpts,
72
+ computeRowDragOpts
72
73
  } = $xeTable.getComputeMaps();
73
74
  const refElem = (0, _vue.ref)();
74
75
  const refBodyTable = (0, _vue.ref)();
@@ -205,6 +206,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
205
206
  const editOpts = computeEditOpts.value;
206
207
  const tooltipOpts = computeTooltipOpts.value;
207
208
  const rowOpts = computeRowOpts.value;
209
+ const rowDragOpts = computeRowDragOpts.value;
210
+ const {
211
+ disabledMethod: dragDisabledMethod
212
+ } = rowDragOpts;
208
213
  const sYOpts = computeSYOpts.value;
209
214
  const columnOpts = computeColumnOpts.value;
210
215
  const mouseOpts = computeMouseOpts.value;
@@ -281,6 +286,14 @@ var _default = exports.default = (0, _vue.defineComponent)({
281
286
  data: tableData,
282
287
  items
283
288
  };
289
+ let isColDragCell = false;
290
+ let isDisabledDrag = false;
291
+ if (rowOpts.drag) {
292
+ isColDragCell = rowDragOpts.trigger === 'row' || column.dragSort && rowDragOpts.trigger === 'cell';
293
+ }
294
+ if (isColDragCell) {
295
+ isDisabledDrag = !!(dragDisabledMethod && dragDisabledMethod(params));
296
+ }
284
297
  // hover 进入事件
285
298
  if (showTitle || showTooltip || showAllTip || tooltipConfig) {
286
299
  tdOns.onMouseenter = evnt => {
@@ -313,7 +326,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
313
326
  };
314
327
  }
315
328
  // 按下事件处理
316
- if (checkboxOpts.range || mouseConfig) {
329
+ if (isColDragCell || checkboxOpts.range || mouseConfig) {
317
330
  tdOns.onMousedown = evnt => {
318
331
  $xeTable.triggerCellMousedownEvent(evnt, params);
319
332
  };
@@ -438,6 +451,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
438
451
  'col--edit': isEdit,
439
452
  'col--ellipsis': hasEllipsis,
440
453
  'fixed--hidden': fixedHiddenColumn,
454
+ 'is--drag-cell': isColDragCell,
455
+ 'is--drag-disabled': isDisabledDrag,
441
456
  'col--dirty': isDirty,
442
457
  'col--active': editConfig && isEdit && actived.row === row && (actived.column === column || editOpts.mode === 'row'),
443
458
  'col--valid-error': !!errorValidItem,
@@ -469,7 +484,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
469
484
  expandColumn,
470
485
  selectRadioRow,
471
486
  pendingRowMaps,
472
- pendingRowList,
473
487
  isDragColMove
474
488
  } = tableReactData;
475
489
  const {
@@ -563,7 +577,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
563
577
  'row--new': isNewRow && (editOpts.showStatus || editOpts.showInsertStatus),
564
578
  'row--radio': radioOpts.highlight && $xeTable.eqRow(selectRadioRow, row),
565
579
  'row--checked': checkboxOpts.highlight && $xeTable.isCheckedByCheckboxRow(row),
566
- 'row--pending': pendingRowList.length && !!pendingRowMaps[rowid]
580
+ 'row--pending': !!pendingRowMaps[rowid]
567
581
  }, (0, _dom.getPropClass)(rowClassName, params)];
568
582
  const tdVNs = tableColumn.map((column, $columnIndex) => {
569
583
  return renderColumn(seq, rowid, fixedType, rowLevel, row, rowIndex, $rowIndex, _rowIndex, column, $columnIndex, tableColumn, tableData);
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body",lineOffsetSizes={mini:3,small:2,medium:1};var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:""}},setup(_){const pe=(0,_vue.inject)("$xeTable",{}),l=(0,_vue.inject)("xesize",null),{xID:b,props:ge,context:T,reactData:me,internalData:he}=pe,{refTableBody:x,refTableHeader:p,refTableFooter:g,refTableLeftBody:f,refTableRightBody:y,refScrollXHandleElem:h,refScrollYHandleElem:k}=pe.getRefMaps(),{computeEditOpts:xe,computeMouseOpts:fe,computeAreaOpts:Se,computeSYOpts:ye,computeEmptyOpts:U,computeKeyboardOpts:j,computeTooltipOpts:Ce,computeRadioOpts:e,computeExpandOpts:z,computeTreeOpts:c,computeCheckboxOpts:we,computeCellOpts:Ee,computeValidOpts:Oe,computeRowOpts:_e,computeColumnOpts:be}=pe.getComputeMaps(),S=(0,_vue.ref)(),C=(0,_vue.ref)(),E=(0,_vue.ref)(),O=(0,_vue.ref)(),R=(0,_vue.ref)(),D=(0,_vue.ref)(),M=(0,_vue.ref)(),v=()=>{if(l){var e=l.value;if(e)return lineOffsetSizes[e]||0}return 0},Te=()=>{var e=ge["delayHover"],{lastScrollTime:l,_isResize:t}=me;return!!(t||l&&Date.now()<l+e)},m=(e,l)=>{let t=1;if(e){var o=c.value,r=e[o.children||o.childrenField];if(r&&pe.isTreeExpandByRow(e))for(let e=0;e<r.length;e++)t+=m(r[e],l)}return t},Re=e=>{var{row:l,column:t}=e,o=he["afterFullData"],r=ge["treeConfig"],a=c.value,{slots:t,treeNode:s}=t,n=he["fullAllDataRowIdData"],n=n[(0,_util.getRowid)(pe,l)];let i=0,d=0,u=[];return n&&(i=n.level,d=n._index,u=n.items),t&&t.line?pe.callSlot(t.line,e):(n=pe.eqRow(o[0],l),r&&s&&(a.showLine||a.line)?[(0,_vue.h)("div",{class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:`${n?1:((e,l,t)=>{let o=1;return t&&(o=m(l[t-1],e)),me.rowHeight*o-(t?1:12-v())})(e,u,d)}px`,left:i*a.indent+(i?2-v():0)+16+"px"}})])]:[])},G=(e,l,t,o,r,a,s,U,n,i,j,q)=>{var B=he["fullAllDataRowIdData"],{columnKey:A,height:d,showOverflow:u,cellClassName:F,cellStyle:c,align:N,spanMethod:Y,mouseConfig:V,editConfig:K,editRules:v,tooltipConfig:W}=ge,{tableData:X,overflowX:p,currentColumn:P,scrollXLoad:z,scrollYLoad:G,mergeList:g,editStore:m,isAllOverflow:J,validErrorMaps:h}=me,Q=he["afterFullData"],x=Ee.value,f=Oe.value,Z=we.value,y=xe.value,w=Ce.value,ee=_e.value,_=ye.value,le=be.value,te=fe.value,b=Se.value["selectCellToRow"],{type:oe,cellRender:re,editRender:T,align:S,showOverflow:C,className:ae,treeNode:se,slots:ne}=n,x=x["verticalAlign"],m=m["actived"],_=_["rHeight"],E=ee["height"],O=n.id,R=T||re,R=R?renderer.get(R.name):null,ie=R?R.tableCellClassName||R.cellClassName:null,D=R?R.tableCellStyle||R.cellStyle:"";const M=w.showAll;var w=pe.getColumnIndex(n),de=pe.getVTColumnIndex(n),ue=(0,_utils.isEnableConf)(T);let $=t?n.fixed!==t:n.fixed&&p;p=_xeUtils.default.isUndefined(C)||_xeUtils.default.isNull(C)?u:C,C="ellipsis"===p;const I="title"===p,L=!0===p||"tooltip"===p;p=u||I||L||C;let ce;var H={},B=B[l],S=S||(R?R.tableCellAlign:"")||N,R=h[l+":"+O],N=v&&f.showMessage&&("default"===f.message?d||1<X.length:"inline"===f.message),h={colid:O};const k={$table:pe,$grid:pe.xegrid,isEdit:!1,seq:e,rowid:l,row:r,rowIndex:a,$rowIndex:s,_rowIndex:U,column:n,columnIndex:w,$columnIndex:i,_columnIndex:de,fixed:t,type:renderType,isHidden:$,level:o,visibleData:Q,data:X,items:q};if((I||L||M||W)&&(H.onMouseenter=e=>{Te()||(I?(0,_dom.updateCellTitle)(e.currentTarget,n):(L||M)&&pe.triggerBodyTooltipEvent(e,k),pe.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},k),e))}),(L||M||W)&&(H.onMouseleave=e=>{Te()||((L||M)&&pe.handleTargetLeaveEvent(e),pe.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},k),e))}),(Z.range||V)&&(H.onMousedown=e=>{pe.triggerCellMousedownEvent(e,k)}),H.onClick=e=>{pe.triggerCellClickEvent(e,k)},H.onDblclick=e=>{pe.triggerCellDblclickEvent(e,k)},g.length){v=(0,_util.mergeBodyMethod)(g,U,de);if(v){var{rowspan:d,colspan:e}=v;if(!d||!e)return null;1<d&&(h.rowspan=d),1<e&&(h.colspan=e)}}else if(Y){var{rowspan:l=1,colspan:a=1}=Y(k)||{};if(!l||!a)return null;1<l&&(h.rowspan=l),1<a&&(h.colspan=a)}!($=$&&g&&(1<h.colspan||1<h.rowspan)?!1:$)&&K&&(T||re)&&(y.showStatus||y.showUpdateStatus)&&(ce=pe.isUpdateByRow(r,n.field));s=[];$&&u&&J?s.push((0,_vue.h)("div",{class:["vxe-cell",{"c--title":I,"c--tooltip":L,"c--ellipsis":C}],style:{maxHeight:p&&(_||E)?`${_||E}px`:""}})):(s.push(...Re(k),(0,_vue.h)("div",{class:["vxe-cell",{"c--title":I,"c--tooltip":L,"c--ellipsis":C}],style:{maxHeight:p&&(_||E)?`${_||E}px`:""},title:I?pe.getCellLabel(r,n):null},n.renderCell(k))),N&&R&&(w=R.rule,t=ne?ne.valid:null,o=Object.assign(Object.assign(Object.assign({},k),R),{rule:R}),s.push((0,_vue.h)("div",{class:["vxe-cell--valid-error-tip",(0,_dom.getPropClass)(f.className,o)],style:w&&w.maxWidth?{width:w.maxWidth+"px"}:null},[(0,_vue.h)("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(f.theme||"normal")},[t?pe.callSlot(t,o):[(0,_vue.h)("span",{class:"vxe-cell--valid-error-msg"},R.content)]])]))));let ve="";return p&&(_||E)?ve=`${_||E}px`:!z&&!G||p||(ve=`${B.height||24}px`),V&&te.area&&b&&((i||!0!==b)&&b!==n.field||s.push((0,_vue.h)("div",{class:"vxe-cell--area-status"}))),(0,_vue.h)("td",Object.assign(Object.assign(Object.assign({class:["vxe-body--column",O,{["col--"+S]:S,["col--vertical-"+x]:x,["col--"+oe]:oe,"col--last":i===j.length-1,"col--tree-node":se,"col--edit":ue,"col--ellipsis":p,"fixed--hidden":$,"col--dirty":ce,"col--active":K&&ue&&m.row===r&&(m.column===n||"row"===y.mode),"col--valid-error":!!R,"col--current":P===n},(0,_dom.getPropClass)(ie,k),(0,_dom.getPropClass)(ae,k),(0,_dom.getPropClass)(F,k)],key:A||le.useKey||ee.useKey||le.drag?O:i},h),{style:Object.assign({height:ve},_xeUtils.default.isFunction(D)?D(k):D,_xeUtils.default.isFunction(c)?c(k):c)}),H),s)},P=(x,f,y)=>{const{stripe:w,rowKey:_,highlightHoverRow:b,rowClassName:T,rowStyle:S,showOverflow:C,editConfig:E,treeConfig:O}=ge,{hasFixedColumn:R,treeExpandedMaps:D,scrollYLoad:M,rowExpandedMaps:$,expandColumn:I,selectRadioRow:L,pendingRowMaps:H,pendingRowList:k,isDragColMove:U}=me,j=he["fullAllDataRowIdData"],q=we.value,B=e.value,A=c.value,F=xe.value,N=_e.value,Y=be.value,{transform:V,seqMode:K}=A,W=A.children||A.childrenField,X=[];return f.forEach((t,o)=>{var e={};let r;r=pe.getRowIndex(t),(N.isHover||b)&&(e.onMouseenter=e=>{Te()||pe.triggerHoverEvent(e,{row:t,rowIndex:r})},e.onMouseleave=()=>{Te()||pe.clearHoverRow()});const a=(0,_util.getRowid)(pe,t);var l=j[a];let s=0,n=-1,i=0;l&&(s=l.level,n=O&&V&&"increasing"===K?l._index+1:l.seq,i=l._index);var l={$table:pe,seq:n,rowid:a,fixed:x,type:renderType,level:s,row:t,rowIndex:r,$rowIndex:o,_rowIndex:i},d=I&&!!$[a];let u=!1,c=[],v=!1;E&&(v=pe.isInsertByRow(t)),!O||M||V||(c=t[W],u=c&&0<c.length&&!!D[a]),!N.drag||O&&!V||(e.onDragstart=pe.handleRowDragDragstartEvent,e.onDragend=pe.handleRowDragDragendEvent,e.onDragover=pe.handleRowDragDragoverEvent);var p,g,m=["vxe-body--row",O?"row--level-"+s:"",{"row--stripe":w&&(i+1)%2==0,"is--new":v,"is--expand-row":d,"is--expand-tree":u,"row--new":v&&(F.showStatus||F.showInsertStatus),"row--radio":B.highlight&&pe.eqRow(L,t),"row--checked":q.highlight&&pe.isCheckedByCheckboxRow(t),"row--pending":k.length&&!!H[a]},(0,_dom.getPropClass)(T,l)];const h=y.map((e,l)=>G(n,a,x,s,t,r,o,i,e,l,y,f));X.push(Y.drag?(0,_vue.h)(_vue.TransitionGroup,Object.assign({name:"vxe-header--col-list"+(U?"":"-disabled"),tag:"tr",class:m,rowid:a,style:S?_xeUtils.default.isFunction(S)?S(l):S:null,key:_||N.useKey||N.drag||Y.drag||O?a:o},e),{default:()=>h}):(0,_vue.h)("tr",Object.assign({class:m,rowid:a,style:S?_xeUtils.default.isFunction(S)?S(l):S:null,key:_||N.useKey||N.drag||Y.drag||O?a:o},e),h)),d&&({height:m,padding:l}=z.value,d={},p=(m&&(d.height=m+"px"),O&&(d.paddingLeft=s*A.indent+30+"px"),I)["showOverflow"],p=_xeUtils.default.isUndefined(p)||_xeUtils.default.isNull(p)?C:p,g={$table:pe,seq:n,column:I,fixed:x,type:renderType,level:s,row:t,rowIndex:r,$rowIndex:o,_rowIndex:i},X.push((0,_vue.h)("tr",Object.assign({class:["vxe-body--expanded-row",{"is--padding":l}],key:"expand_"+a,style:S?_xeUtils.default.isFunction(S)?S(g):S:null},e),[(0,_vue.h)("td",{class:{"vxe-body--expanded-column":1,"fixed--hidden":x&&!R,"col--ellipsis":p},colspan:y.length},[(0,_vue.h)("div",{class:{"vxe-body--expanded-cell":1,"is--ellipsis":m},style:d},[I.renderData(g)])])]))),u&&X.push(...P(x,c,y))}),X},q=e=>{var l,t,o,r,a,s=_["fixedType"],{lastScrollTop:n,lastScrollLeft:i,inVirtualScroll:d,inBodyScroll:u,bodyScrollType:c,inFooterScroll:v}=he;d||v||u&&c!==s||(d=p.value,v=x.value,u=g.value,c=f.value,l=y.value,r=S.value,d=d?d.$el:null,u=u?u.$el:null,(v=v.$el)&&(c=c?c.$el:null,l=l?l.$el:null,t=h.value,o=k.value,r=r.scrollTop,i=(a=v.scrollLeft)!==i,n=r!==n,he.inBodyScroll=!0,he.bodyScrollType=s,n&&(c&&"left"===s?((0,_dom.setScrollTop)(v,r),(0,_dom.setScrollTop)(l,r)):l&&"right"===s?((0,_dom.setScrollTop)(v,r),(0,_dom.setScrollTop)(c,r)):((0,_dom.setScrollTop)(c,r),(0,_dom.setScrollTop)(l,r)),(0,_dom.setScrollTop)(o,r),pe.triggerScrollYEvent(e)),i&&((0,_dom.setScrollLeft)(t,a),(0,_dom.setScrollLeft)(d,a),(0,_dom.setScrollLeft)(u,a),pe.triggerScrollXEvent(e)),pe.handleScrollEvent(e,n,i,r,a,{type:renderType,fixed:s})))};let w,$=0,I=0,L=0,H=!1;const B=(r,a,e,s,n)=>{var l=he["elemStore"],{scrollXLoad:t,scrollYLoad:o}=me,i=x.value,d=f.value,u=y.value;const c=d?d.$el:null,v=u?u.$el:null,p=i.$el;d=(0,_util.getRefElem)(l["main-body-ySpace"]),u=(0,_util.getRefElem)(l["main-body-xSpace"]);const g=(o&&d?d:p).clientHeight,m=(t&&u?u:p).clientWidth;i=H===a?Math.max(0,$-L):0;H=a,$=Math.abs(a?e-i:e+i),I=0,L=0,clearTimeout(w);const h=()=>{var e,l,t,o;L<$&&(e=_["fixedType"],{scrollTop:o,clientHeight:l,scrollHeight:t}=(I=Math.max(5,Math.floor(1.5*I)),(L+=I)>$&&(I-=L-$),p),o=o+I*(a?-1:1),p.scrollTop=o,c&&(c.scrollTop=o),v&&(v.scrollTop=o),(a?o<t-l:0<=o)&&(w=setTimeout(h,10)),pe.dispatchEvent("scroll",{type:renderType,fixed:e,scrollTop:p.scrollTop,scrollLeft:p.scrollLeft,scrollHeight:p.scrollHeight,scrollWidth:p.scrollWidth,bodyHeight:g,bodyWidth:m,isX:s,isY:n},r))};h()},A=e=>{var{deltaY:l,deltaX:t}=e,o=ge["highlightHoverRow"],r=me["scrollYLoad"],{lastScrollTop:a,lastScrollLeft:s}=he,n=_e.value,i=x.value,d=S.value,i=i.$el,u=l<0;(u?d.scrollTop<=0:d.scrollTop>=d.scrollHeight-d.clientHeight)||(d=d.scrollTop+l,t=(i=i.scrollLeft+t)!==s,(s=d!==a)&&(e.preventDefault(),he.lastScrollTop=d,he.lastScrollLeft=i,me.lastScrollTime=Date.now(),(n.isHover||o)&&pe.clearHoverRow(),B(e,u,l,t,s),r)&&pe.triggerScrollYEvent(e))};(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=_["fixedType"],l=he["elemStore"],e=`${e||"main"}-body-`;l[e+"wrapper"]=S,l[e+"table"]=C,l[e+"colgroup"]=E,l[e+"list"]=O,l[e+"xSpace"]=R,l[e+"ySpace"]=D,l[e+"emptyBlock"]=M})}),(0,_vue.onBeforeUnmount)(()=>{clearTimeout(w)}),(0,_vue.onUnmounted)(()=>{var e=_["fixedType"],l=he["elemStore"],e=`${e||"main"}-body-`;l[e+"wrapper"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"ySpace"]=null,l[e+"emptyBlock"]=null});return()=>{let{fixedColumn:e,fixedType:l,tableColumn:t}=_;var{keyboardConfig:o,showOverflow:r,spanMethod:a,mouseConfig:s}=ge;const{tableData:n,mergeList:i,scrollYLoad:d,isAllOverflow:u,isDragRowMove:c}=me;var v=he["visibleColumn"],p=T["slots"],g=_e.value,m=ye.value,h=U.value,x=j.value,f=fe.value,y=be.value;l&&(t=me.expandColumn||!(d||r&&u)||i.length||a||o&&x.isMerge?v:e);let w;r=p?p.empty:null,w=r?pe.callSlot(r,{$table:pe,$grid:pe.xegrid}):(o=(a=h.name?renderer.get(h.name):null)?a.renderTableEmpty||a.renderTableEmptyView||a.renderEmpty:null)?(0,_vn.getSlotVNs)(o(h,{$table:pe})):ge.emptyText||getI18n("vxe.table.emptyText"),x={onScroll:q};return"wheel"===m.mode&&(x.onWheel=A),(0,_vue.h)("div",Object.assign({ref:S,class:["vxe-table--body-wrapper",l?`fixed-${l}--wrapper`:"body--wrapper"],xid:b},x),[l?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{ref:R,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:D,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:C,class:"vxe-table--body",xid:b,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:E},t.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l}))),g.drag||y.drag?(0,_vue.h)(_vue.TransitionGroup,{ref:O,name:"vxe-body--row-list"+(c?"":"-disabled"),tag:"tbody"},{default:()=>P(l,n,t)}):(0,_vue.h)("tbody",{ref:O},P(l,n,t))]),(0,_vue.h)("div",{class:"vxe-table--checkbox-range"}),s&&f.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"},f.extension?[(0,_vue.h)("span",{class:"vxe-table--cell-main-area-btn",onMousedown(e){pe.triggerCellAreaExtendMousedownEvent&&pe.triggerCellAreaExtendMousedownEvent(e,{$table:pe,fixed:l,type:renderType})}})]:[]),(0,_vue.h)("span",{class:"vxe-table--cell-copy-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-extend-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-multi-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-active-area"})]):renderEmptyElement(pe),l?renderEmptyElement(pe):(0,_vue.h)("div",{class:"vxe-table--empty-block",ref:M},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},w)])])}}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body",lineOffsetSizes={mini:3,small:2,medium:1};var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:""}},setup(_){const xe=(0,_vue.inject)("$xeTable",{}),l=(0,_vue.inject)("xesize",null),{xID:b,props:fe,context:T,reactData:ye,internalData:we}=xe,{refTableBody:x,refTableHeader:p,refTableFooter:g,refTableLeftBody:f,refTableRightBody:y,refScrollXHandleElem:h,refScrollYHandleElem:k}=xe.getRefMaps(),{computeEditOpts:_e,computeMouseOpts:be,computeAreaOpts:Re,computeSYOpts:Te,computeEmptyOpts:U,computeKeyboardOpts:j,computeTooltipOpts:De,computeRadioOpts:e,computeExpandOpts:P,computeTreeOpts:c,computeCheckboxOpts:Se,computeCellOpts:Me,computeValidOpts:$e,computeRowOpts:Ce,computeColumnOpts:Ee,computeRowDragOpts:Ie}=xe.getComputeMaps(),S=(0,_vue.ref)(),C=(0,_vue.ref)(),E=(0,_vue.ref)(),O=(0,_vue.ref)(),R=(0,_vue.ref)(),D=(0,_vue.ref)(),M=(0,_vue.ref)(),v=()=>{if(l){var e=l.value;if(e)return lineOffsetSizes[e]||0}return 0},Oe=()=>{var e=fe["delayHover"],{lastScrollTime:l,_isResize:t}=ye;return!!(t||l&&Date.now()<l+e)},m=(e,l)=>{let t=1;if(e){var o=c.value,r=e[o.children||o.childrenField];if(r&&xe.isTreeExpandByRow(e))for(let e=0;e<r.length;e++)t+=m(r[e],l)}return t},He=e=>{var{row:l,column:t}=e,o=we["afterFullData"],r=fe["treeConfig"],a=c.value,{slots:t,treeNode:s}=t,i=we["fullAllDataRowIdData"],i=i[(0,_util.getRowid)(xe,l)];let n=0,d=0,u=[];return i&&(n=i.level,d=i._index,u=i.items),t&&t.line?xe.callSlot(t.line,e):(i=xe.eqRow(o[0],l),r&&s&&(a.showLine||a.line)?[(0,_vue.h)("div",{class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:`${i?1:((e,l,t)=>{let o=1;return t&&(o=m(l[t-1],e)),ye.rowHeight*o-(t?1:12-v())})(e,u,d)}px`,left:n*a.indent+(n?2-v():0)+16+"px"}})])]:[])},z=(e,l,t,o,r,a,s,U,i,n,j,q)=>{var B=we["fullAllDataRowIdData"],{columnKey:A,height:d,showOverflow:u,cellClassName:F,cellStyle:c,align:N,spanMethod:Y,mouseConfig:V,editConfig:K,editRules:v,tooltipConfig:W}=fe,{tableData:X,overflowX:p,currentColumn:P,scrollXLoad:z,scrollYLoad:G,mergeList:g,editStore:m,isAllOverflow:J,validErrorMaps:h}=ye,Q=we["afterFullData"],x=Me.value,f=$e.value,Z=Se.value,y=_e.value,w=De.value,_=Ce.value,b=Ie.value,ee=b["disabledMethod"],T=Te.value,le=Ee.value,te=be.value,S=Re.value["selectCellToRow"],{type:oe,cellRender:re,editRender:ae,align:se,showOverflow:C,className:ie,treeNode:ne,slots:de}=i,x=x["verticalAlign"],m=m["actived"],T=T["rHeight"],E=_["height"],O=i.id,R=ae||re,R=R?renderer.get(R.name):null,ue=R?R.tableCellClassName||R.cellClassName:null,ce=R?R.tableCellStyle||R.cellStyle:"";const D=w.showAll;var w=xe.getColumnIndex(i),ve=xe.getVTColumnIndex(i),pe=(0,_utils.isEnableConf)(ae);let M=t?i.fixed!==t:i.fixed&&p;p=_xeUtils.default.isUndefined(C)||_xeUtils.default.isNull(C)?u:C,C="ellipsis"===p;const $="title"===p,I=!0===p||"tooltip"===p;p=u||$||I||C;let ge;var H={},B=B[l],se=se||(R?R.tableCellAlign:"")||N,R=h[l+":"+O],N=v&&f.showMessage&&("default"===f.message?d||1<X.length:"inline"===f.message),h={colid:O};const L={$table:xe,$grid:xe.xegrid,isEdit:!1,seq:e,rowid:l,row:r,rowIndex:a,$rowIndex:s,_rowIndex:U,column:i,columnIndex:w,$columnIndex:n,_columnIndex:ve,fixed:t,type:renderType,isHidden:M,level:o,visibleData:Q,data:X,items:q};let k=!1,me=!1;if((k=_.drag?"row"===b.trigger||i.dragSort&&"cell"===b.trigger:k)&&(me=!(!ee||!ee(L))),($||I||D||W)&&(H.onMouseenter=e=>{Oe()||($?(0,_dom.updateCellTitle)(e.currentTarget,i):(I||D)&&xe.triggerBodyTooltipEvent(e,L),xe.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},L),e))}),(I||D||W)&&(H.onMouseleave=e=>{Oe()||((I||D)&&xe.handleTargetLeaveEvent(e),xe.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},L),e))}),(k||Z.range||V)&&(H.onMousedown=e=>{xe.triggerCellMousedownEvent(e,L)}),H.onClick=e=>{xe.triggerCellClickEvent(e,L)},H.onDblclick=e=>{xe.triggerCellDblclickEvent(e,L)},g.length){v=(0,_util.mergeBodyMethod)(g,U,ve);if(v){var{rowspan:d,colspan:e}=v;if(!d||!e)return null;1<d&&(h.rowspan=d),1<e&&(h.colspan=e)}}else if(Y){var{rowspan:l=1,colspan:a=1}=Y(L)||{};if(!l||!a)return null;1<l&&(h.rowspan=l),1<a&&(h.colspan=a)}!(M=M&&g&&(1<h.colspan||1<h.rowspan)?!1:M)&&K&&(ae||re)&&(y.showStatus||y.showUpdateStatus)&&(ge=xe.isUpdateByRow(r,i.field));s=[];M&&u&&J?s.push((0,_vue.h)("div",{class:["vxe-cell",{"c--title":$,"c--tooltip":I,"c--ellipsis":C}],style:{maxHeight:p&&(T||E)?`${T||E}px`:""}})):(s.push(...He(L),(0,_vue.h)("div",{class:["vxe-cell",{"c--title":$,"c--tooltip":I,"c--ellipsis":C}],style:{maxHeight:p&&(T||E)?`${T||E}px`:""},title:$?xe.getCellLabel(r,i):null},i.renderCell(L))),N&&R&&(w=R.rule,t=de?de.valid:null,o=Object.assign(Object.assign(Object.assign({},L),R),{rule:R}),s.push((0,_vue.h)("div",{class:["vxe-cell--valid-error-tip",(0,_dom.getPropClass)(f.className,o)],style:w&&w.maxWidth?{width:w.maxWidth+"px"}:null},[(0,_vue.h)("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(f.theme||"normal")},[t?xe.callSlot(t,o):[(0,_vue.h)("span",{class:"vxe-cell--valid-error-msg"},R.content)]])]))));let he="";return p&&(T||E)?he=`${T||E}px`:!z&&!G||p||(he=`${B.height||24}px`),V&&te.area&&S&&((n||!0!==S)&&S!==i.field||s.push((0,_vue.h)("div",{class:"vxe-cell--area-status"}))),(0,_vue.h)("td",Object.assign(Object.assign(Object.assign({class:["vxe-body--column",O,{["col--"+se]:se,["col--vertical-"+x]:x,["col--"+oe]:oe,"col--last":n===j.length-1,"col--tree-node":ne,"col--edit":pe,"col--ellipsis":p,"fixed--hidden":M,"is--drag-cell":k,"is--drag-disabled":me,"col--dirty":ge,"col--active":K&&pe&&m.row===r&&(m.column===i||"row"===y.mode),"col--valid-error":!!R,"col--current":P===i},(0,_dom.getPropClass)(ue,L),(0,_dom.getPropClass)(ie,L),(0,_dom.getPropClass)(F,L)],key:A||le.useKey||_.useKey||le.drag?O:n},h),{style:Object.assign({height:he},_xeUtils.default.isFunction(ce)?ce(L):ce,_xeUtils.default.isFunction(c)?c(L):c)}),H),s)},X=(x,f,y)=>{const{stripe:w,rowKey:_,highlightHoverRow:b,rowClassName:T,rowStyle:S,showOverflow:C,editConfig:E,treeConfig:O}=fe,{hasFixedColumn:R,treeExpandedMaps:D,scrollYLoad:M,rowExpandedMaps:$,expandColumn:I,selectRadioRow:H,pendingRowMaps:L,isDragColMove:k}=ye,U=we["fullAllDataRowIdData"],j=Se.value,q=e.value,B=c.value,A=_e.value,F=Ce.value,N=Ee.value,{transform:Y,seqMode:V}=B,K=B.children||B.childrenField,W=[];return f.forEach((t,o)=>{var e={};let r;r=xe.getRowIndex(t),(F.isHover||b)&&(e.onMouseenter=e=>{Oe()||xe.triggerHoverEvent(e,{row:t,rowIndex:r})},e.onMouseleave=()=>{Oe()||xe.clearHoverRow()});const a=(0,_util.getRowid)(xe,t);var l=U[a];let s=0,i=-1,n=0;l&&(s=l.level,i=O&&Y&&"increasing"===V?l._index+1:l.seq,n=l._index);var l={$table:xe,seq:i,rowid:a,fixed:x,type:renderType,level:s,row:t,rowIndex:r,$rowIndex:o,_rowIndex:n},d=I&&!!$[a];let u=!1,c=[],v=!1;E&&(v=xe.isInsertByRow(t)),!O||M||Y||(c=t[K],u=c&&0<c.length&&!!D[a]),!F.drag||O&&!Y||(e.onDragstart=xe.handleRowDragDragstartEvent,e.onDragend=xe.handleRowDragDragendEvent,e.onDragover=xe.handleRowDragDragoverEvent);var p,g,m=["vxe-body--row",O?"row--level-"+s:"",{"row--stripe":w&&(n+1)%2==0,"is--new":v,"is--expand-row":d,"is--expand-tree":u,"row--new":v&&(A.showStatus||A.showInsertStatus),"row--radio":q.highlight&&xe.eqRow(H,t),"row--checked":j.highlight&&xe.isCheckedByCheckboxRow(t),"row--pending":!!L[a]},(0,_dom.getPropClass)(T,l)];const h=y.map((e,l)=>z(i,a,x,s,t,r,o,n,e,l,y,f));W.push(N.drag?(0,_vue.h)(_vue.TransitionGroup,Object.assign({name:"vxe-header--col-list"+(k?"":"-disabled"),tag:"tr",class:m,rowid:a,style:S?_xeUtils.default.isFunction(S)?S(l):S:null,key:_||F.useKey||F.drag||N.drag||O?a:o},e),{default:()=>h}):(0,_vue.h)("tr",Object.assign({class:m,rowid:a,style:S?_xeUtils.default.isFunction(S)?S(l):S:null,key:_||F.useKey||F.drag||N.drag||O?a:o},e),h)),d&&({height:m,padding:l}=P.value,d={},p=(m&&(d.height=m+"px"),O&&(d.paddingLeft=s*B.indent+30+"px"),I)["showOverflow"],p=_xeUtils.default.isUndefined(p)||_xeUtils.default.isNull(p)?C:p,g={$table:xe,seq:i,column:I,fixed:x,type:renderType,level:s,row:t,rowIndex:r,$rowIndex:o,_rowIndex:n},W.push((0,_vue.h)("tr",Object.assign({class:["vxe-body--expanded-row",{"is--padding":l}],key:"expand_"+a,style:S?_xeUtils.default.isFunction(S)?S(g):S:null},e),[(0,_vue.h)("td",{class:{"vxe-body--expanded-column":1,"fixed--hidden":x&&!R,"col--ellipsis":p},colspan:y.length},[(0,_vue.h)("div",{class:{"vxe-body--expanded-cell":1,"is--ellipsis":m},style:d},[I.renderData(g)])])]))),u&&W.push(...X(x,c,y))}),W},q=e=>{var l,t,o,r,a,s=_["fixedType"],{lastScrollTop:i,lastScrollLeft:n,inVirtualScroll:d,inBodyScroll:u,bodyScrollType:c,inFooterScroll:v}=we;d||v||u&&c!==s||(d=p.value,v=x.value,u=g.value,c=f.value,l=y.value,r=S.value,d=d?d.$el:null,u=u?u.$el:null,(v=v.$el)&&(c=c?c.$el:null,l=l?l.$el:null,t=h.value,o=k.value,r=r.scrollTop,n=(a=v.scrollLeft)!==n,i=r!==i,we.inBodyScroll=!0,we.bodyScrollType=s,i&&(c&&"left"===s?((0,_dom.setScrollTop)(v,r),(0,_dom.setScrollTop)(l,r)):l&&"right"===s?((0,_dom.setScrollTop)(v,r),(0,_dom.setScrollTop)(c,r)):((0,_dom.setScrollTop)(c,r),(0,_dom.setScrollTop)(l,r)),(0,_dom.setScrollTop)(o,r),xe.triggerScrollYEvent(e)),n&&((0,_dom.setScrollLeft)(t,a),(0,_dom.setScrollLeft)(d,a),(0,_dom.setScrollLeft)(u,a),xe.triggerScrollXEvent(e)),xe.handleScrollEvent(e,i,n,r,a,{type:renderType,fixed:s})))};let w,$=0,I=0,H=0,L=!1;const B=(r,a,e,s,i)=>{var l=we["elemStore"],{scrollXLoad:t,scrollYLoad:o}=ye,n=x.value,d=f.value,u=y.value;const c=d?d.$el:null,v=u?u.$el:null,p=n.$el;d=(0,_util.getRefElem)(l["main-body-ySpace"]),u=(0,_util.getRefElem)(l["main-body-xSpace"]);const g=(o&&d?d:p).clientHeight,m=(t&&u?u:p).clientWidth;n=L===a?Math.max(0,$-H):0;L=a,$=Math.abs(a?e-n:e+n),I=0,H=0,clearTimeout(w);const h=()=>{var e,l,t,o;H<$&&(e=_["fixedType"],{scrollTop:o,clientHeight:l,scrollHeight:t}=(I=Math.max(5,Math.floor(1.5*I)),(H+=I)>$&&(I-=H-$),p),o=o+I*(a?-1:1),p.scrollTop=o,c&&(c.scrollTop=o),v&&(v.scrollTop=o),(a?o<t-l:0<=o)&&(w=setTimeout(h,10)),xe.dispatchEvent("scroll",{type:renderType,fixed:e,scrollTop:p.scrollTop,scrollLeft:p.scrollLeft,scrollHeight:p.scrollHeight,scrollWidth:p.scrollWidth,bodyHeight:g,bodyWidth:m,isX:s,isY:i},r))};h()},A=e=>{var{deltaY:l,deltaX:t}=e,o=fe["highlightHoverRow"],r=ye["scrollYLoad"],{lastScrollTop:a,lastScrollLeft:s}=we,i=Ce.value,n=x.value,d=S.value,n=n.$el,u=l<0;(u?d.scrollTop<=0:d.scrollTop>=d.scrollHeight-d.clientHeight)||(d=d.scrollTop+l,t=(n=n.scrollLeft+t)!==s,(s=d!==a)&&(e.preventDefault(),we.lastScrollTop=d,we.lastScrollLeft=n,ye.lastScrollTime=Date.now(),(i.isHover||o)&&xe.clearHoverRow(),B(e,u,l,t,s),r)&&xe.triggerScrollYEvent(e))};(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=_["fixedType"],l=we["elemStore"],e=`${e||"main"}-body-`;l[e+"wrapper"]=S,l[e+"table"]=C,l[e+"colgroup"]=E,l[e+"list"]=O,l[e+"xSpace"]=R,l[e+"ySpace"]=D,l[e+"emptyBlock"]=M})}),(0,_vue.onBeforeUnmount)(()=>{clearTimeout(w)}),(0,_vue.onUnmounted)(()=>{var e=_["fixedType"],l=we["elemStore"],e=`${e||"main"}-body-`;l[e+"wrapper"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"ySpace"]=null,l[e+"emptyBlock"]=null});return()=>{let{fixedColumn:e,fixedType:l,tableColumn:t}=_;var{keyboardConfig:o,showOverflow:r,spanMethod:a,mouseConfig:s}=fe;const{tableData:i,mergeList:n,scrollYLoad:d,isAllOverflow:u,isDragRowMove:c}=ye;var v=we["visibleColumn"],p=T["slots"],g=Ce.value,m=Te.value,h=U.value,x=j.value,f=be.value,y=Ee.value;l&&(t=ye.expandColumn||!(d||r&&u)||n.length||a||o&&x.isMerge?v:e);let w;r=p?p.empty:null,w=r?xe.callSlot(r,{$table:xe,$grid:xe.xegrid}):(o=(a=h.name?renderer.get(h.name):null)?a.renderTableEmpty||a.renderTableEmptyView||a.renderEmpty:null)?(0,_vn.getSlotVNs)(o(h,{$table:xe})):fe.emptyText||getI18n("vxe.table.emptyText"),x={onScroll:q};return"wheel"===m.mode&&(x.onWheel=A),(0,_vue.h)("div",Object.assign({ref:S,class:["vxe-table--body-wrapper",l?`fixed-${l}--wrapper`:"body--wrapper"],xid:b},x),[l?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{ref:R,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:D,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:C,class:"vxe-table--body",xid:b,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:E},t.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l}))),g.drag||y.drag?(0,_vue.h)(_vue.TransitionGroup,{ref:O,name:"vxe-body--row-list"+(c?"":"-disabled"),tag:"tbody"},{default:()=>X(l,i,t)}):(0,_vue.h)("tbody",{ref:O},X(l,i,t))]),(0,_vue.h)("div",{class:"vxe-table--checkbox-range"}),s&&f.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"},f.extension?[(0,_vue.h)("span",{class:"vxe-table--cell-main-area-btn",onMousedown(e){xe.triggerCellAreaExtendMousedownEvent&&xe.triggerCellAreaExtendMousedownEvent(e,{$table:xe,fixed:l,type:renderType})}})]:[]),(0,_vue.h)("span",{class:"vxe-table--cell-copy-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-extend-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-multi-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-active-area"})]):renderEmptyElement(xe),l?renderEmptyElement(xe):(0,_vue.h)("div",{class:"vxe-table--empty-block",ref:M},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},w)])])}}});
@@ -71,22 +71,26 @@ function renderCellDragIcon(params) {
71
71
  const rowDragOpts = computeRowDragOpts.value;
72
72
  const {
73
73
  icon,
74
+ trigger,
74
75
  disabledMethod
75
76
  } = rowDragOpts;
76
77
  const rDisabledMethod = disabledMethod || (dragConfig ? dragConfig.rowDisabledMethod : null);
77
78
  const isDisabled = rDisabledMethod && rDisabledMethod(params);
78
- return (0, _vue.h)('span', {
79
- key: 'dg',
80
- class: ['vxe-cell--drag-handle', {
81
- 'is--disabled': isDisabled
82
- }],
83
- onMousedown(evnt) {
79
+ const ons = {};
80
+ if (trigger !== 'cell') {
81
+ ons.onMousedown = evnt => {
84
82
  if (!isDisabled) {
85
83
  $table.handleCellDragMousedownEvent(evnt, params);
86
84
  }
87
- },
88
- onMouseup: $table.handleCellDragMouseupEvent
89
- }, [(0, _vue.h)('i', {
85
+ };
86
+ ons.onMouseup = $table.handleCellDragMouseupEvent;
87
+ }
88
+ return (0, _vue.h)('span', Object.assign({
89
+ key: 'dg',
90
+ class: ['vxe-cell--drag-handle', {
91
+ 'is--disabled': isDisabled
92
+ }]
93
+ }, ons), [(0, _vue.h)('i', {
90
94
  class: icon || (dragConfig ? dragConfig.rowIcon : '') || getIcon().TABLE_DRAG_ROW
91
95
  })]);
92
96
  }
@@ -142,25 +146,29 @@ function renderHeaderCellDragIcon(params) {
142
146
  const {
143
147
  showIcon,
144
148
  icon,
149
+ trigger,
145
150
  isCrossDrag,
146
151
  visibleMethod,
147
152
  disabledMethod
148
153
  } = columnDragOpts;
149
- const isDisabled = disabledMethod && disabledMethod(params);
150
154
  if (columnOpts.drag && showIcon && (!visibleMethod || visibleMethod(params))) {
151
155
  if (!column.fixed && (isCrossDrag || !column.parentId)) {
152
- return (0, _vue.h)('span', {
153
- key: 'dg',
154
- class: ['vxe-cell--drag-handle', {
155
- 'is--disabled': isDisabled
156
- }],
157
- onMousedown(evnt) {
156
+ const isDisabled = disabledMethod && disabledMethod(params);
157
+ const ons = {};
158
+ if (trigger !== 'cell') {
159
+ ons.onMousedown = evnt => {
158
160
  if (!isDisabled) {
159
161
  $table.handleHeaderCellDragMousedownEvent(evnt, params);
160
162
  }
161
- },
162
- onMouseup: $table.handleHeaderCellDragMouseupEvent
163
- }, [(0, _vue.h)('i', {
163
+ };
164
+ ons.onMouseup = $table.handleHeaderCellDragMouseupEvent;
165
+ }
166
+ return (0, _vue.h)('span', Object.assign({
167
+ key: 'dg',
168
+ class: ['vxe-cell--drag-handle', {
169
+ 'is--disabled': isDisabled
170
+ }]
171
+ }, ons), [(0, _vue.h)('i', {
164
172
  class: icon || getIcon().TABLE_DRAG_COLUMN
165
173
  })]);
166
174
  }
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Cell=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getI18n,getIcon,renderer,formats,renderEmptyElement}=_ui.VxeUI;function renderTitlePrefixIcon(l){const{$table:r,column:e}=l,t=e.titlePrefix||e.titleHelp;return t?(0,_vue.h)("i",{class:["vxe-cell-title-prefix-icon",t.icon||getIcon().TABLE_TITLE_PREFIX],onMouseenter(e){r.triggerHeaderTitleEvent(e,t,l)},onMouseleave(e){r.handleTargetLeaveEvent(e)}}):renderEmptyElement(r)}function renderTitleSuffixIcon(l){const{$table:r,column:e}=l,t=e.titleSuffix;return t?(0,_vue.h)("i",{class:["vxe-cell-title-suffix-icon",t.icon||getIcon().TABLE_TITLE_SUFFIX],onMouseenter(e){r.triggerHeaderTitleEvent(e,t,l)},onMouseleave(e){r.handleTargetLeaveEvent(e)}}):renderEmptyElement(r)}function renderCellDragIcon(l){const r=l["$table"];var e=r.props["dragConfig"],t=r.getComputeMaps()["computeRowDragOpts"],{icon:t,disabledMethod:n}=t.value,n=n||(e?e.rowDisabledMethod:null);const a=n&&n(l);return(0,_vue.h)("span",{key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":a}],onMousedown(e){a||r.handleCellDragMousedownEvent(e,l)},onMouseup:r.handleCellDragMouseupEvent},[(0,_vue.h)("i",{class:t||(e?e.rowIcon:"")||getIcon().TABLE_DRAG_ROW})])}function renderCellBaseVNs(e,l){var{$table:r,column:t,level:n}=e,t=t["dragSort"],{treeConfig:a,dragConfig:o}=r.props,{computeRowOpts:r,computeRowDragOpts:d}=r.getComputeMaps(),r=r.value,{showIcon:d,isCrossDrag:s,visibleMethod:i}=d.value,i=i||(o?o.rowVisibleMethod:null),l=_xeUtils.default.isArray(l)?l:[l];return!(t&&r.drag&&(d||o&&o.showRowIcon))||i&&!i(e)||a&&!s&&n||l.unshift(renderCellDragIcon(e)),l}function renderHeaderCellDragIcon(l){const{$table:r,column:e}=l;var{computeColumnOpts:t,computeColumnDragOpts:n}=r.getComputeMaps(),t=t.value,{showIcon:n,icon:a,isCrossDrag:o,visibleMethod:d,disabledMethod:s}=n.value;const i=s&&s(l);return!t.drag||!n||d&&!d(l)||e.fixed||!o&&e.parentId?renderEmptyElement(r):(0,_vue.h)("span",{key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":i}],onMousedown(e){i||r.handleHeaderCellDragMousedownEvent(e,l)},onMouseup:r.handleHeaderCellDragMouseupEvent},[(0,_vue.h)("i",{class:a||getIcon().TABLE_DRAG_COLUMN})])}function renderHeaderCellBaseVNs(e,l){return[renderTitlePrefixIcon(e),renderHeaderCellDragIcon(e),..._xeUtils.default.isArray(l)?l:[l],renderTitleSuffixIcon(e)]}function renderTitleContent(l,e){const{$table:r,column:t}=l,{props:n,reactData:a}=r;var o=r.getComputeMaps()["computeTooltipOpts"],d=n["showHeaderOverflow"],{type:s,showHeaderOverflow:i}=t;const c=o.value.showAll;o=_xeUtils.default.isUndefined(i)||_xeUtils.default.isNull(i)?d:i;const u="title"===o,C=!0===o||"tooltip"===o;d={};return(u||C||c)&&(d.onMouseenter=e=>{a._isResize||(u?(0,_dom.updateCellTitle)(e.currentTarget,t):(C||c)&&r.triggerHeaderTooltipEvent(e,l))}),(C||c)&&(d.onMouseleave=e=>{a._isResize||(C||c)&&r.handleTargetLeaveEvent(e)}),["html"===s&&_xeUtils.default.isString(e)?(0,_vue.h)("span",Object.assign({class:"vxe-cell--title",innerHTML:e},d)):(0,_vue.h)("span",Object.assign({class:"vxe-cell--title"},d),(0,_vn.getSlotVNs)(e))]}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){var{$table:l,column:r,_columnIndex:t,items:n,row:a}=e,{slots:o,editRender:d,cellRender:s,footerFormatter:i}=r,d=d||s,s=o?o.footer:null;if(s)return l.callSlot(s,e);if(d){o=renderer.get(d.name);if(o){l=o.renderTableFooter||o.renderFooter;if(l)return(0,_vn.getSlotVNs)(l(d,e))}}let c="";return _xeUtils.default.isArray(n)?c=n[t]:c=_xeUtils.default.get(a,r.field),[i?formatFooterLabel(i,{itemValue:c,column:r,row:a,items:n,_columnIndex:t}):(0,_utils.formatText)(c,1)]}function getDefaultCellLabel(e){var{$table:e,row:l,column:r}=e;return(0,_utils.formatText)(e.getCellLabel(l,r),1)}const Cell=exports.Cell={createColumn(e,l){var{type:r,sortable:t,filters:n,editRender:a,treeNode:o}=l,d=e["props"],s=d["editConfig"],{computeEditOpts:d,computeCheckboxOpts:i}=e.getComputeMaps(),c=i.value,u=d.value,C={renderHeader:Cell.renderDefaultHeader,renderCell:o?Cell.renderTreeCell:Cell.renderDefaultCell,renderFooter:Cell.renderDefaultFooter};switch(r){case"seq":C.renderHeader=Cell.renderSeqHeader,C.renderCell=o?Cell.renderTreeIndexCell:Cell.renderSeqCell;break;case"radio":C.renderHeader=Cell.renderRadioHeader,C.renderCell=o?Cell.renderTreeRadioCell:Cell.renderRadioCell;break;case"checkbox":C.renderHeader=Cell.renderCheckboxHeader,C.renderCell=c.checkField?o?Cell.renderTreeSelectionCellByProp:Cell.renderCheckboxCellByProp:o?Cell.renderTreeSelectionCell:Cell.renderCheckboxCell;break;case"expand":C.renderCell=Cell.renderExpandCell,C.renderData=Cell.renderExpandData;break;case"html":C.renderCell=o?Cell.renderTreeHTMLCell:Cell.renderHTMLCell,n&&t?C.renderHeader=Cell.renderSortAndFilterHeader:t?C.renderHeader=Cell.renderSortHeader:n&&(C.renderHeader=Cell.renderFilterHeader);break;default:s&&a?(C.renderHeader=Cell.renderEditHeader,C.renderCell="cell"===u.mode?o?Cell.renderTreeCellEdit:Cell.renderCellEdit:o?Cell.renderTreeRowEdit:Cell.renderRowEdit):n&&t?C.renderHeader=Cell.renderSortAndFilterHeader:t?C.renderHeader=Cell.renderSortHeader:n&&(C.renderHeader=Cell.renderFilterHeader)}return(0,_util.createColumn)(e,l,C)},renderHeaderTitle(e){var{$table:l,column:r}=e,{slots:t,editRender:n,cellRender:a}=r,n=n||a,a=t?t.header:null;if(a)return renderTitleContent(e,l.callSlot(a,e));if(n){t=renderer.get(n.name);if(t){l=t.renderTableHeader||t.renderHeader;if(l)return renderTitleContent(e,(0,_vn.getSlotVNs)(l(n,e)))}}return renderTitleContent(e,(0,_utils.formatText)(r.getTitle(),1))},renderDefaultHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e))},renderDefaultCell(e){var{$table:l,row:r,column:t}=e,{slots:n,editRender:a,cellRender:o}=t,o=a||o,n=n?n.default:null;if(n)return renderCellBaseVNs(e,l.callSlot(n,e));if(o){n=renderer.get(o.name);if(n){var d=n.renderTableCell||n.renderCell,n=n.renderTableDefault||n.renderDefault,d=a?d:n;if(d)return renderCellBaseVNs(e,(0,_vn.getSlotVNs)(d(o,Object.assign({$type:a?"edit":"cell"},e))))}}n=l.getCellLabel(r,t),d=a?a.placeholder:"";return renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},[a&&(0,_utils.eqEmptyValue)(n)?(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(d),1)):(0,_vue.h)("span",(0,_utils.formatText)(n,1))])])},renderTreeCell(e){return Cell.renderTreeIcon(e,Cell.renderDefaultCell(e))},renderDefaultFooter(e){return[(0,_vue.h)("span",{class:"vxe-cell--item"},getFooterContent(e))]},renderTreeIcon(l,e){const{$table:r,isHidden:t}=l;var{reactData:n,internalData:a}=r,o=r.getComputeMaps()["computeTreeOpts"],{treeExpandedMaps:n,treeExpandLazyLoadedMaps:d}=n,a=a["fullAllDataRowIdData"],o=o.value,{row:s,column:i,level:c}=l,i=i["slots"],{indent:u,lazy:C,trigger:v,iconLoaded:p,showIcon:g,iconOpen:h,iconClose:E}=o,_=o.children||o.childrenField,o=o.hasChild||o.hasChildField,_=s[_],_=_&&_.length,i=i?i.icon:null;let b=!1,x=!1,m=!1,f=!1;var T={};return i?r.callSlot(i,l):(t||(i=(0,_util.getRowid)(r,s),x=!!n[i],C&&(n=a[i],m=!!d[i],b=s[o],f=!!n.treeLoaded)),v&&"default"!==v||(T.onClick=e=>{r.triggerTreeExpandEvent(e,l)}),[(0,_vue.h)("div",{class:["vxe-cell--tree-node",{"is--active":x}],style:{paddingLeft:c*u+"px"}},[g&&(!C||f?_:b)?[(0,_vue.h)("div",Object.assign({class:"vxe-tree--btn-wrapper"},T),[(0,_vue.h)("i",{class:["vxe-tree--node-btn",m?p||getIcon().TABLE_TREE_LOADED:x?h||getIcon().TABLE_TREE_OPEN:E||getIcon().TABLE_TREE_CLOSE]})])]:null,(0,_vue.h)("div",{class:"vxe-tree-cell"},e)])])},renderSeqHeader(e){var{$table:l,column:r}=e,t=r["slots"],t=t?t.header:null;return renderHeaderCellBaseVNs(e,renderTitleContent(e,t?l.callSlot(t,e):(0,_utils.formatText)(r.getTitle(),1)))},renderSeqCell(e){var{$table:l,column:r}=e,t=l["props"],t=t["treeConfig"],n=l.getComputeMaps()["computeSeqOpts"],n=n.value,r=r["slots"],r=r?r.default:null;return r?renderCellBaseVNs(e,l.callSlot(r,e)):(l=e["seq"],r=n.seqMethod,renderCellBaseVNs(e,[(0,_vue.h)("span",""+(0,_utils.formatText)(r?r(e):t?l:(n.startIndex||0)+l,1))]))},renderTreeIndexCell(e){return Cell.renderTreeIcon(e,Cell.renderSeqCell(e))},renderRadioHeader(e){var{$table:l,column:r}=e,t=r["slots"],n=t?t.header:null,t=t?t.title:null;return renderHeaderCellBaseVNs(e,renderTitleContent(e,n?l.callSlot(n,e):[(0,_vue.h)("span",{class:"vxe-radio--label"},t?l.callSlot(t,e):(0,_utils.formatText)(r.getTitle(),1))]))},renderRadioCell(l){const{$table:r,column:e,isHidden:t}=l;var n=r["reactData"],a=r.getComputeMaps()["computeRadioOpts"],n=n["selectRadioRow"],o=e["slots"],{labelField:a,checkMethod:d,visibleMethod:s}=a.value,i=l["row"],c=o?o.default:null,o=o?o.radio:null,n=r.eqRow(i,n);const u=!s||s({row:i});let C=!!d,v;t||(v={onClick(e){!C&&u&&r.triggerRadioRowEvent(e,l)}},d&&(C=!d({row:i})));s=Object.assign(Object.assign({},l),{checked:n,disabled:C,visible:u});return o?renderCellBaseVNs(l,r.callSlot(o,s)):(d=[],u&&d.push((0,_vue.h)("span",{class:["vxe-radio--icon",n?getIcon().TABLE_RADIO_CHECKED:getIcon().TABLE_RADIO_UNCHECKED]})),(c||a)&&d.push((0,_vue.h)("span",{class:"vxe-radio--label"},c?r.callSlot(c,s):_xeUtils.default.get(i,a))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--radio",{"is--checked":n,"is--disabled":C}]},v),d)]))},renderTreeRadioCell(e){return Cell.renderTreeIcon(e,Cell.renderRadioCell(e))},renderCheckboxHeader(e){const{$table:l,column:r,isHidden:t}=e;var n=l["reactData"],{computeIsAllCheckboxDisabled:a,computeCheckboxOpts:o}=l.getComputeMaps();const{isAllSelected:d,isIndeterminate:s}=n,i=a.value;var n=r["slots"],a=n?n.header:null,n=n?n.title:null,o=o.value,c=r.getTitle();let u;t||(u={onClick(e){i||l.triggerCheckAllEvent(e,!d)}});var C=Object.assign(Object.assign({},e),{checked:d,disabled:i,indeterminate:s});return a?renderHeaderCellBaseVNs(e,renderTitleContent(C,l.callSlot(a,C))):(o.checkStrictly?o.showHeader:!1!==o.showHeader)?renderHeaderCellBaseVNs(e,renderTitleContent(C,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":d,"is--disabled":i,"is--indeterminate":s}],title:getI18n("vxe.table.allTitle")},u),[(0,_vue.h)("span",{class:["vxe-checkbox--icon",s?getIcon().TABLE_CHECKBOX_INDETERMINATE:d?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})].concat(n||c?[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,C):c)]:[]))])):renderHeaderCellBaseVNs(e,renderTitleContent(C,[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,C):c)]))},renderCheckboxCell(l){const{$table:r,row:e,column:t,isHidden:n}=l;var{props:a,reactData:o}=r,a=a["treeConfig"],{selectCheckboxMaps:o,treeIndeterminateMaps:d}=o,s=r.getComputeMaps()["computeCheckboxOpts"],{labelField:s,checkMethod:i,visibleMethod:c}=s.value,u=t["slots"],C=u?u.default:null,u=u?u.checkbox:null;let v=!1,p=!1;const g=!c||c({row:e});let h=!!i,E;n||(c=(0,_util.getRowid)(r,e),p=!!o[c],E={onClick(e){!h&&g&&r.triggerCheckRowEvent(e,l,!p)}},i&&(h=!i({row:e})),a&&(v=!!d[c]));o=Object.assign(Object.assign({},l),{checked:p,disabled:h,visible:g,indeterminate:v});return u?renderCellBaseVNs(l,r.callSlot(u,o)):(i=[],g&&i.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",v?getIcon().TABLE_CHECKBOX_INDETERMINATE:p?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(C||s)&&i.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},C?r.callSlot(C,o):_xeUtils.default.get(e,s))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":p,"is--disabled":h,"is--indeterminate":v,"is--hidden":!g}]},E),i)]))},renderTreeSelectionCell(e){return Cell.renderTreeIcon(e,Cell.renderCheckboxCell(e))},renderCheckboxCellByProp(l){const{$table:r,row:e,column:t,isHidden:n}=l;var{props:a,reactData:o}=r,a=a["treeConfig"],o=o["treeIndeterminateMaps"],d=r.getComputeMaps()["computeCheckboxOpts"],d=d.value,{labelField:s,checkField:i,checkMethod:c,visibleMethod:u}=d,d=d.indeterminateField||d.halfField,C=t["slots"],v=C?C.default:null,C=C?C.checkbox:null;let p=!1,g=!1;const h=!u||u({row:e});let E=!!c,_;n||(u=(0,_util.getRowid)(r,e),g=_xeUtils.default.get(e,i),_={onClick(e){!E&&h&&r.triggerCheckRowEvent(e,l,!g)}},c&&(E=!c({row:e})),a&&(p=!!o[u]));i=Object.assign(Object.assign({},l),{checked:g,disabled:E,visible:h,indeterminate:p});return C?renderCellBaseVNs(l,r.callSlot(C,i)):(c=[],h&&(c.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",p?getIcon().TABLE_CHECKBOX_INDETERMINATE:g?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),v||s)&&c.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},v?r.callSlot(v,i):_xeUtils.default.get(e,s))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":g,"is--disabled":E,"is--indeterminate":d&&!g?e[d]:p,"is--hidden":!h}]},_),c)]))},renderTreeSelectionCellByProp(e){return Cell.renderTreeIcon(e,Cell.renderCheckboxCellByProp(e))},renderExpandCell(l){const{$table:r,isHidden:e,row:t,column:n}=l;var a=r["reactData"],{rowExpandedMaps:a,rowExpandLazyLoadedMaps:o}=a,d=r.getComputeMaps()["computeExpandOpts"],{lazy:d,labelField:s,iconLoaded:i,showIcon:c,iconOpen:u,iconClose:C,visibleMethod:v}=d.value,p=n["slots"],g=p?p.default:null,p=p?p.icon:null;let h=!1,E=!1;return p?renderCellBaseVNs(l,r.callSlot(p,l)):(e||(p=(0,_util.getRowid)(r,t),h=!!a[p],d&&(E=!!o[p])),renderCellBaseVNs(l,[!c||v&&!v(l)?renderEmptyElement(r):(0,_vue.h)("span",{class:["vxe-table--expanded",{"is--active":h}],onClick(e){r.triggerRowExpandEvent(e,l)}},[(0,_vue.h)("i",{class:["vxe-table--expand-btn",E?i||getIcon().TABLE_EXPAND_LOADED:h?u||getIcon().TABLE_EXPAND_OPEN:C||getIcon().TABLE_EXPAND_CLOSE]})]),g||s?(0,_vue.h)("span",{class:"vxe-table--expand-label"},g?r.callSlot(g,l):_xeUtils.default.get(t,s)):renderEmptyElement(r)]))},renderExpandData(e){var{$table:l,column:r}=e,{slots:r,contentRender:t}=r,r=r?r.content:null;if(r)return l.callSlot(r,e);if(t){l=renderer.get(t.name);if(l){r=l.renderTableExpand||l.renderExpand;if(r)return(0,_vn.getSlotVNs)(r(t,e))}}return[]},renderHTMLCell(e){var{$table:l,column:r}=e,r=r["slots"],r=r?r.default:null;return renderCellBaseVNs(e,r?l.callSlot(r,e):[(0,_vue.h)("span",{class:"vxe-cell--html",innerHTML:getDefaultCellLabel(e)})])},renderTreeHTMLCell(e){return Cell.renderTreeIcon(e,Cell.renderHTMLCell(e))},renderSortAndFilterHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderSortIcon(e).concat(Cell.renderFilterIcon(e))))},renderSortHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderSortIcon(e)))},renderSortIcon(e){const{$table:l,column:r}=e;var e=l.getComputeMaps()["computeSortOpts"],{showIcon:e,iconLayout:t,iconAsc:n,iconDesc:a}=e.value,o=r["order"];return e?[(0,_vue.h)("span",{class:["vxe-cell--sort",`vxe-cell--sort-${t}-layout`]},[(0,_vue.h)("i",{class:["vxe-sort--asc-btn",n||getIcon().TABLE_SORT_ASC,{"sort--active":"asc"===o}],title:getI18n("vxe.table.sortAsc"),onClick(e){e.stopPropagation(),l.triggerSortEvent(e,r,"asc")}}),(0,_vue.h)("i",{class:["vxe-sort--desc-btn",a||getIcon().TABLE_SORT_DESC,{"sort--active":"desc"===o}],title:getI18n("vxe.table.sortDesc"),onClick(e){e.stopPropagation(),l.triggerSortEvent(e,r,"desc")}})])]:[]},renderFilterHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderFilterIcon(e)))},renderFilterIcon(l){const{$table:r,column:e,hasFilter:t}=l;var n=r["reactData"],n=n["filterStore"],a=r.getComputeMaps()["computeFilterOpts"],{showIcon:a,iconNone:o,iconMatch:d}=a.value;return a?[(0,_vue.h)("span",{class:["vxe-cell--filter",{"is--active":n.visible&&n.column===e}]},[(0,_vue.h)("i",{class:["vxe-filter--btn",t?d||getIcon().TABLE_FILTER_MATCH:o||getIcon().TABLE_FILTER_NONE],title:getI18n("vxe.table.filter"),onClick(e){r.triggerFilterEvent&&r.triggerFilterEvent(e,l.column,l)}})])]:[]},renderEditHeader(e){var{$table:l,column:r}=e,t=l["props"],n=l.getComputeMaps()["computeEditOpts"],{editConfig:t,editRules:a}=t,n=n.value,{sortable:o,filters:d,editRender:s}=r;let i=!1,c=(a&&(a=_xeUtils.default.get(a,r.field))&&(i=a.some(e=>e.required)),[]);return renderHeaderCellBaseVNs(e,(c=(0,_utils.isEnableConf)(t)?[i&&n.showAsterisk?(0,_vue.h)("i",{class:"vxe-cell--required-icon"}):renderEmptyElement(l),(0,_utils.isEnableConf)(s)&&n.showIcon?(0,_vue.h)("i",{class:["vxe-cell--edit-icon",n.icon||getIcon().TABLE_EDIT]}):renderEmptyElement(l)]:c).concat(Cell.renderHeaderTitle(e)).concat(o?Cell.renderSortIcon(e):[]).concat(d?Cell.renderFilterIcon(e):[]))},renderRowEdit(e){var{$table:l,column:r}=e,l=l["reactData"],l=l["editStore"],l=l["actived"],r=r["editRender"];return Cell.runRenderer(e,(0,_utils.isEnableConf)(r)&&l&&l.row===e.row)},renderTreeRowEdit(e){return Cell.renderTreeIcon(e,Cell.renderRowEdit(e))},renderCellEdit(e){var{$table:l,column:r}=e,l=l["reactData"],l=l["editStore"],l=l["actived"],r=r["editRender"];return Cell.runRenderer(e,(0,_utils.isEnableConf)(r)&&l&&l.row===e.row&&l.column===e.column)},renderTreeCellEdit(e){return Cell.renderTreeIcon(e,Cell.renderCellEdit(e))},runRenderer(e,l){var{$table:r,column:t}=e,{slots:t,editRender:n,formatter:a}=t,o=t?t.default:null,t=t?t.edit:null,d=renderer.get(n.name),d=d?d.renderTableEdit||d.renderEdit:null,s=Object.assign({$type:"",isEdit:l},e);return l?(s.$type="edit",t?r.callSlot(t,s):d?(0,_vn.getSlotVNs)(d(n,s)):[]):o?renderCellBaseVNs(e,r.callSlot(o,s)):a?renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},getDefaultCellLabel(s))]):Cell.renderDefaultCell(s)}};var _default=exports.default=Cell;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Cell=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getI18n,getIcon,renderer,formats,renderEmptyElement}=_ui.VxeUI;function renderTitlePrefixIcon(l){const{$table:r,column:e}=l,t=e.titlePrefix||e.titleHelp;return t?(0,_vue.h)("i",{class:["vxe-cell-title-prefix-icon",t.icon||getIcon().TABLE_TITLE_PREFIX],onMouseenter(e){r.triggerHeaderTitleEvent(e,t,l)},onMouseleave(e){r.handleTargetLeaveEvent(e)}}):renderEmptyElement(r)}function renderTitleSuffixIcon(l){const{$table:r,column:e}=l,t=e.titleSuffix;return t?(0,_vue.h)("i",{class:["vxe-cell-title-suffix-icon",t.icon||getIcon().TABLE_TITLE_SUFFIX],onMouseenter(e){r.triggerHeaderTitleEvent(e,t,l)},onMouseleave(e){r.handleTargetLeaveEvent(e)}}):renderEmptyElement(r)}function renderCellDragIcon(l){const r=l["$table"];var e=r.props["dragConfig"],t=r.getComputeMaps()["computeRowDragOpts"],{icon:t,trigger:n,disabledMethod:a}=t.value,a=a||(e?e.rowDisabledMethod:null);const o=a&&a(l);a={};return"cell"!==n&&(a.onMousedown=e=>{o||r.handleCellDragMousedownEvent(e,l)},a.onMouseup=r.handleCellDragMouseupEvent),(0,_vue.h)("span",Object.assign({key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":o}]},a),[(0,_vue.h)("i",{class:t||(e?e.rowIcon:"")||getIcon().TABLE_DRAG_ROW})])}function renderCellBaseVNs(e,l){var{$table:r,column:t,level:n}=e,t=t["dragSort"],{treeConfig:a,dragConfig:o}=r.props,{computeRowOpts:r,computeRowDragOpts:d}=r.getComputeMaps(),r=r.value,{showIcon:d,isCrossDrag:s,visibleMethod:i}=d.value,i=i||(o?o.rowVisibleMethod:null),l=_xeUtils.default.isArray(l)?l:[l];return!(t&&r.drag&&(d||o&&o.showRowIcon))||i&&!i(e)||a&&!s&&n||l.unshift(renderCellDragIcon(e)),l}function renderHeaderCellDragIcon(l){const{$table:r,column:e}=l;var{computeColumnOpts:t,computeColumnDragOpts:n}=r.getComputeMaps(),t=t.value,{showIcon:n,icon:a,trigger:o,isCrossDrag:d,visibleMethod:s,disabledMethod:i}=n.value;if(!t.drag||!n||s&&!s(l)||e.fixed||!d&&e.parentId)return renderEmptyElement(r);{const c=i&&i(l);t={};return"cell"!==o&&(t.onMousedown=e=>{c||r.handleHeaderCellDragMousedownEvent(e,l)},t.onMouseup=r.handleHeaderCellDragMouseupEvent),(0,_vue.h)("span",Object.assign({key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":c}]},t),[(0,_vue.h)("i",{class:a||getIcon().TABLE_DRAG_COLUMN})])}}function renderHeaderCellBaseVNs(e,l){return[renderTitlePrefixIcon(e),renderHeaderCellDragIcon(e),..._xeUtils.default.isArray(l)?l:[l],renderTitleSuffixIcon(e)]}function renderTitleContent(l,e){const{$table:r,column:t}=l,{props:n,reactData:a}=r;var o=r.getComputeMaps()["computeTooltipOpts"],d=n["showHeaderOverflow"],{type:s,showHeaderOverflow:i}=t;const c=o.value.showAll;o=_xeUtils.default.isUndefined(i)||_xeUtils.default.isNull(i)?d:i;const u="title"===o,C=!0===o||"tooltip"===o;d={};return(u||C||c)&&(d.onMouseenter=e=>{a._isResize||(u?(0,_dom.updateCellTitle)(e.currentTarget,t):(C||c)&&r.triggerHeaderTooltipEvent(e,l))}),(C||c)&&(d.onMouseleave=e=>{a._isResize||(C||c)&&r.handleTargetLeaveEvent(e)}),["html"===s&&_xeUtils.default.isString(e)?(0,_vue.h)("span",Object.assign({class:"vxe-cell--title",innerHTML:e},d)):(0,_vue.h)("span",Object.assign({class:"vxe-cell--title"},d),(0,_vn.getSlotVNs)(e))]}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){var{$table:l,column:r,_columnIndex:t,items:n,row:a}=e,{slots:o,editRender:d,cellRender:s,footerFormatter:i}=r,d=d||s,s=o?o.footer:null;if(s)return l.callSlot(s,e);if(d){o=renderer.get(d.name);if(o){l=o.renderTableFooter||o.renderFooter;if(l)return(0,_vn.getSlotVNs)(l(d,e))}}let c="";return _xeUtils.default.isArray(n)?c=n[t]:c=_xeUtils.default.get(a,r.field),[i?formatFooterLabel(i,{itemValue:c,column:r,row:a,items:n,_columnIndex:t}):(0,_utils.formatText)(c,1)]}function getDefaultCellLabel(e){var{$table:e,row:l,column:r}=e;return(0,_utils.formatText)(e.getCellLabel(l,r),1)}const Cell=exports.Cell={createColumn(e,l){var{type:r,sortable:t,filters:n,editRender:a,treeNode:o}=l,d=e["props"],s=d["editConfig"],{computeEditOpts:d,computeCheckboxOpts:i}=e.getComputeMaps(),c=i.value,u=d.value,C={renderHeader:Cell.renderDefaultHeader,renderCell:o?Cell.renderTreeCell:Cell.renderDefaultCell,renderFooter:Cell.renderDefaultFooter};switch(r){case"seq":C.renderHeader=Cell.renderSeqHeader,C.renderCell=o?Cell.renderTreeIndexCell:Cell.renderSeqCell;break;case"radio":C.renderHeader=Cell.renderRadioHeader,C.renderCell=o?Cell.renderTreeRadioCell:Cell.renderRadioCell;break;case"checkbox":C.renderHeader=Cell.renderCheckboxHeader,C.renderCell=c.checkField?o?Cell.renderTreeSelectionCellByProp:Cell.renderCheckboxCellByProp:o?Cell.renderTreeSelectionCell:Cell.renderCheckboxCell;break;case"expand":C.renderCell=Cell.renderExpandCell,C.renderData=Cell.renderExpandData;break;case"html":C.renderCell=o?Cell.renderTreeHTMLCell:Cell.renderHTMLCell,n&&t?C.renderHeader=Cell.renderSortAndFilterHeader:t?C.renderHeader=Cell.renderSortHeader:n&&(C.renderHeader=Cell.renderFilterHeader);break;default:s&&a?(C.renderHeader=Cell.renderEditHeader,C.renderCell="cell"===u.mode?o?Cell.renderTreeCellEdit:Cell.renderCellEdit:o?Cell.renderTreeRowEdit:Cell.renderRowEdit):n&&t?C.renderHeader=Cell.renderSortAndFilterHeader:t?C.renderHeader=Cell.renderSortHeader:n&&(C.renderHeader=Cell.renderFilterHeader)}return(0,_util.createColumn)(e,l,C)},renderHeaderTitle(e){var{$table:l,column:r}=e,{slots:t,editRender:n,cellRender:a}=r,n=n||a,a=t?t.header:null;if(a)return renderTitleContent(e,l.callSlot(a,e));if(n){t=renderer.get(n.name);if(t){l=t.renderTableHeader||t.renderHeader;if(l)return renderTitleContent(e,(0,_vn.getSlotVNs)(l(n,e)))}}return renderTitleContent(e,(0,_utils.formatText)(r.getTitle(),1))},renderDefaultHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e))},renderDefaultCell(e){var{$table:l,row:r,column:t}=e,{slots:n,editRender:a,cellRender:o}=t,o=a||o,n=n?n.default:null;if(n)return renderCellBaseVNs(e,l.callSlot(n,e));if(o){n=renderer.get(o.name);if(n){var d=n.renderTableCell||n.renderCell,n=n.renderTableDefault||n.renderDefault,d=a?d:n;if(d)return renderCellBaseVNs(e,(0,_vn.getSlotVNs)(d(o,Object.assign({$type:a?"edit":"cell"},e))))}}n=l.getCellLabel(r,t),d=a?a.placeholder:"";return renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},[a&&(0,_utils.eqEmptyValue)(n)?(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(d),1)):(0,_vue.h)("span",(0,_utils.formatText)(n,1))])])},renderTreeCell(e){return Cell.renderTreeIcon(e,Cell.renderDefaultCell(e))},renderDefaultFooter(e){return[(0,_vue.h)("span",{class:"vxe-cell--item"},getFooterContent(e))]},renderTreeIcon(l,e){const{$table:r,isHidden:t}=l;var{reactData:n,internalData:a}=r,o=r.getComputeMaps()["computeTreeOpts"],{treeExpandedMaps:n,treeExpandLazyLoadedMaps:d}=n,a=a["fullAllDataRowIdData"],o=o.value,{row:s,column:i,level:c}=l,i=i["slots"],{indent:u,lazy:C,trigger:v,iconLoaded:p,showIcon:g,iconOpen:h,iconClose:E}=o,_=o.children||o.childrenField,o=o.hasChild||o.hasChildField,_=s[_],_=_&&_.length,i=i?i.icon:null;let b=!1,x=!1,m=!1,f=!1;var T={};return i?r.callSlot(i,l):(t||(i=(0,_util.getRowid)(r,s),x=!!n[i],C&&(n=a[i],m=!!d[i],b=s[o],f=!!n.treeLoaded)),v&&"default"!==v||(T.onClick=e=>{r.triggerTreeExpandEvent(e,l)}),[(0,_vue.h)("div",{class:["vxe-cell--tree-node",{"is--active":x}],style:{paddingLeft:c*u+"px"}},[g&&(!C||f?_:b)?[(0,_vue.h)("div",Object.assign({class:"vxe-tree--btn-wrapper"},T),[(0,_vue.h)("i",{class:["vxe-tree--node-btn",m?p||getIcon().TABLE_TREE_LOADED:x?h||getIcon().TABLE_TREE_OPEN:E||getIcon().TABLE_TREE_CLOSE]})])]:null,(0,_vue.h)("div",{class:"vxe-tree-cell"},e)])])},renderSeqHeader(e){var{$table:l,column:r}=e,t=r["slots"],t=t?t.header:null;return renderHeaderCellBaseVNs(e,renderTitleContent(e,t?l.callSlot(t,e):(0,_utils.formatText)(r.getTitle(),1)))},renderSeqCell(e){var{$table:l,column:r}=e,t=l["props"],t=t["treeConfig"],n=l.getComputeMaps()["computeSeqOpts"],n=n.value,r=r["slots"],r=r?r.default:null;return r?renderCellBaseVNs(e,l.callSlot(r,e)):(l=e["seq"],r=n.seqMethod,renderCellBaseVNs(e,[(0,_vue.h)("span",""+(0,_utils.formatText)(r?r(e):t?l:(n.startIndex||0)+l,1))]))},renderTreeIndexCell(e){return Cell.renderTreeIcon(e,Cell.renderSeqCell(e))},renderRadioHeader(e){var{$table:l,column:r}=e,t=r["slots"],n=t?t.header:null,t=t?t.title:null;return renderHeaderCellBaseVNs(e,renderTitleContent(e,n?l.callSlot(n,e):[(0,_vue.h)("span",{class:"vxe-radio--label"},t?l.callSlot(t,e):(0,_utils.formatText)(r.getTitle(),1))]))},renderRadioCell(l){const{$table:r,column:e,isHidden:t}=l;var n=r["reactData"],a=r.getComputeMaps()["computeRadioOpts"],n=n["selectRadioRow"],o=e["slots"],{labelField:a,checkMethod:d,visibleMethod:s}=a.value,i=l["row"],c=o?o.default:null,o=o?o.radio:null,n=r.eqRow(i,n);const u=!s||s({row:i});let C=!!d,v;t||(v={onClick(e){!C&&u&&r.triggerRadioRowEvent(e,l)}},d&&(C=!d({row:i})));s=Object.assign(Object.assign({},l),{checked:n,disabled:C,visible:u});return o?renderCellBaseVNs(l,r.callSlot(o,s)):(d=[],u&&d.push((0,_vue.h)("span",{class:["vxe-radio--icon",n?getIcon().TABLE_RADIO_CHECKED:getIcon().TABLE_RADIO_UNCHECKED]})),(c||a)&&d.push((0,_vue.h)("span",{class:"vxe-radio--label"},c?r.callSlot(c,s):_xeUtils.default.get(i,a))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--radio",{"is--checked":n,"is--disabled":C}]},v),d)]))},renderTreeRadioCell(e){return Cell.renderTreeIcon(e,Cell.renderRadioCell(e))},renderCheckboxHeader(e){const{$table:l,column:r,isHidden:t}=e;var n=l["reactData"],{computeIsAllCheckboxDisabled:a,computeCheckboxOpts:o}=l.getComputeMaps();const{isAllSelected:d,isIndeterminate:s}=n,i=a.value;var n=r["slots"],a=n?n.header:null,n=n?n.title:null,o=o.value,c=r.getTitle();let u;t||(u={onClick(e){i||l.triggerCheckAllEvent(e,!d)}});var C=Object.assign(Object.assign({},e),{checked:d,disabled:i,indeterminate:s});return a?renderHeaderCellBaseVNs(e,renderTitleContent(C,l.callSlot(a,C))):(o.checkStrictly?o.showHeader:!1!==o.showHeader)?renderHeaderCellBaseVNs(e,renderTitleContent(C,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":d,"is--disabled":i,"is--indeterminate":s}],title:getI18n("vxe.table.allTitle")},u),[(0,_vue.h)("span",{class:["vxe-checkbox--icon",s?getIcon().TABLE_CHECKBOX_INDETERMINATE:d?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})].concat(n||c?[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,C):c)]:[]))])):renderHeaderCellBaseVNs(e,renderTitleContent(C,[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,C):c)]))},renderCheckboxCell(l){const{$table:r,row:e,column:t,isHidden:n}=l;var{props:a,reactData:o}=r,a=a["treeConfig"],{selectCheckboxMaps:o,treeIndeterminateMaps:d}=o,s=r.getComputeMaps()["computeCheckboxOpts"],{labelField:s,checkMethod:i,visibleMethod:c}=s.value,u=t["slots"],C=u?u.default:null,u=u?u.checkbox:null;let v=!1,p=!1;const g=!c||c({row:e});let h=!!i,E;n||(c=(0,_util.getRowid)(r,e),p=!!o[c],E={onClick(e){!h&&g&&r.triggerCheckRowEvent(e,l,!p)}},i&&(h=!i({row:e})),a&&(v=!!d[c]));o=Object.assign(Object.assign({},l),{checked:p,disabled:h,visible:g,indeterminate:v});return u?renderCellBaseVNs(l,r.callSlot(u,o)):(i=[],g&&i.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",v?getIcon().TABLE_CHECKBOX_INDETERMINATE:p?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(C||s)&&i.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},C?r.callSlot(C,o):_xeUtils.default.get(e,s))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":p,"is--disabled":h,"is--indeterminate":v,"is--hidden":!g}]},E),i)]))},renderTreeSelectionCell(e){return Cell.renderTreeIcon(e,Cell.renderCheckboxCell(e))},renderCheckboxCellByProp(l){const{$table:r,row:e,column:t,isHidden:n}=l;var{props:a,reactData:o}=r,a=a["treeConfig"],o=o["treeIndeterminateMaps"],d=r.getComputeMaps()["computeCheckboxOpts"],d=d.value,{labelField:s,checkField:i,checkMethod:c,visibleMethod:u}=d,d=d.indeterminateField||d.halfField,C=t["slots"],v=C?C.default:null,C=C?C.checkbox:null;let p=!1,g=!1;const h=!u||u({row:e});let E=!!c,_;n||(u=(0,_util.getRowid)(r,e),g=_xeUtils.default.get(e,i),_={onClick(e){!E&&h&&r.triggerCheckRowEvent(e,l,!g)}},c&&(E=!c({row:e})),a&&(p=!!o[u]));i=Object.assign(Object.assign({},l),{checked:g,disabled:E,visible:h,indeterminate:p});return C?renderCellBaseVNs(l,r.callSlot(C,i)):(c=[],h&&(c.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",p?getIcon().TABLE_CHECKBOX_INDETERMINATE:g?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),v||s)&&c.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},v?r.callSlot(v,i):_xeUtils.default.get(e,s))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":g,"is--disabled":E,"is--indeterminate":d&&!g?e[d]:p,"is--hidden":!h}]},_),c)]))},renderTreeSelectionCellByProp(e){return Cell.renderTreeIcon(e,Cell.renderCheckboxCellByProp(e))},renderExpandCell(l){const{$table:r,isHidden:e,row:t,column:n}=l;var a=r["reactData"],{rowExpandedMaps:a,rowExpandLazyLoadedMaps:o}=a,d=r.getComputeMaps()["computeExpandOpts"],{lazy:d,labelField:s,iconLoaded:i,showIcon:c,iconOpen:u,iconClose:C,visibleMethod:v}=d.value,p=n["slots"],g=p?p.default:null,p=p?p.icon:null;let h=!1,E=!1;return p?renderCellBaseVNs(l,r.callSlot(p,l)):(e||(p=(0,_util.getRowid)(r,t),h=!!a[p],d&&(E=!!o[p])),renderCellBaseVNs(l,[!c||v&&!v(l)?renderEmptyElement(r):(0,_vue.h)("span",{class:["vxe-table--expanded",{"is--active":h}],onClick(e){r.triggerRowExpandEvent(e,l)}},[(0,_vue.h)("i",{class:["vxe-table--expand-btn",E?i||getIcon().TABLE_EXPAND_LOADED:h?u||getIcon().TABLE_EXPAND_OPEN:C||getIcon().TABLE_EXPAND_CLOSE]})]),g||s?(0,_vue.h)("span",{class:"vxe-table--expand-label"},g?r.callSlot(g,l):_xeUtils.default.get(t,s)):renderEmptyElement(r)]))},renderExpandData(e){var{$table:l,column:r}=e,{slots:r,contentRender:t}=r,r=r?r.content:null;if(r)return l.callSlot(r,e);if(t){l=renderer.get(t.name);if(l){r=l.renderTableExpand||l.renderExpand;if(r)return(0,_vn.getSlotVNs)(r(t,e))}}return[]},renderHTMLCell(e){var{$table:l,column:r}=e,r=r["slots"],r=r?r.default:null;return renderCellBaseVNs(e,r?l.callSlot(r,e):[(0,_vue.h)("span",{class:"vxe-cell--html",innerHTML:getDefaultCellLabel(e)})])},renderTreeHTMLCell(e){return Cell.renderTreeIcon(e,Cell.renderHTMLCell(e))},renderSortAndFilterHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderSortIcon(e).concat(Cell.renderFilterIcon(e))))},renderSortHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderSortIcon(e)))},renderSortIcon(e){const{$table:l,column:r}=e;var e=l.getComputeMaps()["computeSortOpts"],{showIcon:e,iconLayout:t,iconAsc:n,iconDesc:a}=e.value,o=r["order"];return e?[(0,_vue.h)("span",{class:["vxe-cell--sort",`vxe-cell--sort-${t}-layout`]},[(0,_vue.h)("i",{class:["vxe-sort--asc-btn",n||getIcon().TABLE_SORT_ASC,{"sort--active":"asc"===o}],title:getI18n("vxe.table.sortAsc"),onClick(e){e.stopPropagation(),l.triggerSortEvent(e,r,"asc")}}),(0,_vue.h)("i",{class:["vxe-sort--desc-btn",a||getIcon().TABLE_SORT_DESC,{"sort--active":"desc"===o}],title:getI18n("vxe.table.sortDesc"),onClick(e){e.stopPropagation(),l.triggerSortEvent(e,r,"desc")}})])]:[]},renderFilterHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderFilterIcon(e)))},renderFilterIcon(l){const{$table:r,column:e,hasFilter:t}=l;var n=r["reactData"],n=n["filterStore"],a=r.getComputeMaps()["computeFilterOpts"],{showIcon:a,iconNone:o,iconMatch:d}=a.value;return a?[(0,_vue.h)("span",{class:["vxe-cell--filter",{"is--active":n.visible&&n.column===e}]},[(0,_vue.h)("i",{class:["vxe-filter--btn",t?d||getIcon().TABLE_FILTER_MATCH:o||getIcon().TABLE_FILTER_NONE],title:getI18n("vxe.table.filter"),onClick(e){r.triggerFilterEvent&&r.triggerFilterEvent(e,l.column,l)}})])]:[]},renderEditHeader(e){var{$table:l,column:r}=e,t=l["props"],n=l.getComputeMaps()["computeEditOpts"],{editConfig:t,editRules:a}=t,n=n.value,{sortable:o,filters:d,editRender:s}=r;let i=!1,c=(a&&(a=_xeUtils.default.get(a,r.field))&&(i=a.some(e=>e.required)),[]);return renderHeaderCellBaseVNs(e,(c=(0,_utils.isEnableConf)(t)?[i&&n.showAsterisk?(0,_vue.h)("i",{class:"vxe-cell--required-icon"}):renderEmptyElement(l),(0,_utils.isEnableConf)(s)&&n.showIcon?(0,_vue.h)("i",{class:["vxe-cell--edit-icon",n.icon||getIcon().TABLE_EDIT]}):renderEmptyElement(l)]:c).concat(Cell.renderHeaderTitle(e)).concat(o?Cell.renderSortIcon(e):[]).concat(d?Cell.renderFilterIcon(e):[]))},renderRowEdit(e){var{$table:l,column:r}=e,l=l["reactData"],l=l["editStore"],l=l["actived"],r=r["editRender"];return Cell.runRenderer(e,(0,_utils.isEnableConf)(r)&&l&&l.row===e.row)},renderTreeRowEdit(e){return Cell.renderTreeIcon(e,Cell.renderRowEdit(e))},renderCellEdit(e){var{$table:l,column:r}=e,l=l["reactData"],l=l["editStore"],l=l["actived"],r=r["editRender"];return Cell.runRenderer(e,(0,_utils.isEnableConf)(r)&&l&&l.row===e.row&&l.column===e.column)},renderTreeCellEdit(e){return Cell.renderTreeIcon(e,Cell.renderCellEdit(e))},runRenderer(e,l){var{$table:r,column:t}=e,{slots:t,editRender:n,formatter:a}=t,o=t?t.default:null,t=t?t.edit:null,d=renderer.get(n.name),d=d?d.renderTableEdit||d.renderEdit:null,s=Object.assign({$type:"",isEdit:l},e);return l?(s.$type="edit",t?r.callSlot(t,s):d?(0,_vn.getSlotVNs)(d(n,s)):[]):o?renderCellBaseVNs(e,r.callSlot(o,s)):a?renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},getDefaultCellLabel(s))]):Cell.renderDefaultCell(s)}};var _default=exports.default=Cell;
@@ -44,6 +44,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
44
44
  } = $xeTable.getRefMaps();
45
45
  const {
46
46
  computeColumnOpts,
47
+ computeColumnDragOpts,
47
48
  computeResizableOpts
48
49
  } = $xeTable.getComputeMaps();
49
50
  const headerColumn = (0, _vue.ref)([]);
@@ -208,6 +209,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
208
209
  scrollbarWidth
209
210
  } = tableReactData;
210
211
  const columnOpts = computeColumnOpts.value;
212
+ const columnDragOpts = computeColumnDragOpts.value;
213
+ const {
214
+ disabledMethod: dragDisabledMethod
215
+ } = columnDragOpts;
211
216
  return cols.map((column, $columnIndex) => {
212
217
  const {
213
218
  type,
@@ -245,6 +250,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
245
250
  isHidden: fixedHiddenColumn,
246
251
  hasFilter
247
252
  };
253
+ const thAttrs = {
254
+ colid,
255
+ colspan: column.colSpan > 1 ? column.colSpan : null,
256
+ rowspan: column.rowSpan > 1 ? column.rowSpan : null
257
+ };
248
258
  const thOns = {
249
259
  onClick: evnt => $xeTable.triggerHeaderCellClickEvent(evnt, params),
250
260
  onDblclick: evnt => $xeTable.triggerHeaderCellDblclickEvent(evnt, params)
@@ -253,17 +263,25 @@ var _default = exports.default = (0, _vue.defineComponent)({
253
263
  if (scrollXLoad && !hasEllipsis) {
254
264
  showEllipsis = hasEllipsis = true;
255
265
  }
266
+ const isColDragCell = columnOpts.drag && columnDragOpts.trigger === 'cell';
267
+ let isDisabledDrag = false;
268
+ if (isColDragCell) {
269
+ isDisabledDrag = !!(dragDisabledMethod && dragDisabledMethod(params));
270
+ }
256
271
  // 按下事件处理
257
- if (mouseConfig) {
272
+ if (mouseConfig || isColDragCell) {
258
273
  thOns.onMousedown = evnt => $xeTable.triggerHeaderCellMousedownEvent(evnt, params);
259
274
  }
260
- // 拖拽行事件
275
+ // 拖拽列事件
261
276
  if (columnOpts.drag) {
262
277
  thOns.onDragstart = $xeTable.handleHeaderCellDragDragstartEvent;
263
278
  thOns.onDragend = $xeTable.handleHeaderCellDragDragendEvent;
264
279
  thOns.onDragover = $xeTable.handleHeaderCellDragDragoverEvent;
280
+ if (isColDragCell) {
281
+ thOns.onMouseup = $xeTable.handleHeaderCellDragMouseupEvent;
282
+ }
265
283
  }
266
- return (0, _vue.h)('th', Object.assign(Object.assign({
284
+ return (0, _vue.h)('th', Object.assign(Object.assign(Object.assign({
267
285
  class: ['vxe-header--column', colid, {
268
286
  [`col--${headAlign}`]: headAlign,
269
287
  [`col--${type}`]: type,
@@ -275,13 +293,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
275
293
  'is--sortable': column.sortable,
276
294
  'col--filter': !!column.filters,
277
295
  'is--filter-active': hasFilter,
296
+ 'is--drag-disabled': isDisabledDrag,
278
297
  'col--current': currentColumn === column
279
298
  }, headerClassName ? _xeUtils.default.isFunction(headerClassName) ? headerClassName(params) : headerClassName : '', headerCellClassName ? _xeUtils.default.isFunction(headerCellClassName) ? headerCellClassName(params) : headerCellClassName : ''],
280
- colid,
281
- colspan: column.colSpan > 1 ? column.colSpan : null,
282
- rowspan: column.rowSpan > 1 ? column.rowSpan : null,
283
299
  style: headerCellStyle ? _xeUtils.default.isFunction(headerCellStyle) ? headerCellStyle(params) : headerCellStyle : null
284
- }, thOns), {
300
+ }, thAttrs), thOns), {
285
301
  key: columnKey || columnOpts.useKey || columnOpts.drag || isColGroup ? colid : $columnIndex
286
302
  }), [(0, _vue.h)('div', {
287
303
  class: ['vxe-cell', {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_dom=require("../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const renderer=_ui.VxeUI["renderer"],renderType="header";var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableHeader",props:{tableData:Array,tableColumn:Array,tableGroupColumn:Array,fixedColumn:Array,fixedType:{type:String,default:null}},setup(U){const E=(0,_vue.inject)("$xeTable",{}),{xID:u,props:c,reactData:O,internalData:R}=E,{refElem:H,refTableBody:S,refLeftContainer:$,refRightContainer:k,refCellResizeBar:A,refCellResizeTip:I}=E.getRefMaps(),{computeColumnOpts:v,computeResizableOpts:q}=E.getComputeMaps(),f=(0,_vue.ref)([]),F=(0,_vue.ref)(),p=(0,_vue.ref)(),h=(0,_vue.ref)(),m=(0,_vue.ref)(),x=(0,_vue.ref)(),g=(0,_vue.ref)(),t=()=>{var e=O["isGroup"];f.value=e?(0,_util.convertHeaderColumnToRows)(U.tableGroupColumn):[]},L=(e,t)=>{const s=t["column"],d=U["fixedType"],r=R["visibleColumn"],u=q.value;var l=S.value;const c=H.value,v=$.value,f=k.value,p=A.value,h=I.value,m=e["clientX"],x=F.value;var a=e.target;const g=t.cell=a.parentNode;let _=0;const b=l.$el;var l=(0,_dom.getOffsetPos)(a,x),a=a.clientWidth,i=Math.floor(a/2);const C=(0,_util.getColReMinWidth)(t)-i;let y=l.left-g.clientWidth+a+C,w=l.left+i;const n=document.onmousemove,o=document.onmouseup,D="left"===d,T="right"===d;let M=0;if(D||T){var W=D?"nextElementSibling":"previousElementSibling";let e=g[W];for(;e&&!(0,_dom.hasClass)(e,"fixed--hidden");)(0,_dom.hasClass)(e,"col--group")||(M+=e.offsetWidth),e=e[W];T&&f&&(w=f.offsetLeft+M)}function z(l){l.stopPropagation(),l.preventDefault();var t=l.clientX-m;let e=w+t;if(t=d?0:b.scrollLeft,D?e=Math.min(e,(f?f.offsetLeft:b.clientWidth)-M-C):T?(y=(v?v.clientWidth:0)+M+C,e=Math.min(e,w+g.clientWidth-C)):y=Math.max(b.scrollLeft,y),t=(_=Math.max(e,y))-t,p.style.left=t+"px",u.showDragTip&&h){var r=c.clientWidth,a=x.getBoundingClientRect(),i=p.clientWidth,n=h.clientWidth,o=h.clientHeight;let e=-n;t<n+i?e=n+i-t:r<t&&(e+=r-t),h.style.left=e+"px",h.style.top=Math.min(c.clientHeight-o,Math.max(0,l.clientY-a.y-o/2))+"px",h.textContent=s.renderWidth+(T?w-_:_-w)+"px"}}O._isResize=!0,(0,_dom.addClass)(c,"drag--resize"),p.style.display="block",document.onmousemove=z,document.onmouseup=function(e){document.onmousemove=n,document.onmouseup=o;const l=s.renderWidth+(T?w-_:_-w);s.resizeWidth=l,"fixed"===u.dragMode&&r.forEach(e=>{e.id===s.id||e.resizeWidth||(e.resizeWidth=e.renderWidth)}),p.style.display="none",O._isResize=!1,R._lastResizeTime=Date.now(),E.analyColumnWidth(),E.recalculate(!0).then(()=>{E.saveCustomStore("update:visible"),E.updateCellAreas(),E.dispatchEvent("resizable-change",Object.assign(Object.assign({},t),{resizeWidth:l}),e),setTimeout(()=>E.recalculate(!0),300)}),(0,_dom.removeClass)(c,"drag--resize")},z(e),E.closeMenu&&E.closeMenu()},_=(m,x)=>{const g=U["fixedType"],{resizable:_,border:b,columnKey:C,headerCellClassName:y,headerCellStyle:w,showHeaderOverflow:D,headerAlign:T,align:M,mouseConfig:W}=c,{currentColumn:z,scrollXLoad:R,overflowX:H,scrollbarWidth:e}=O,S=v.value;return m.map((e,l)=>{var{type:t,showHeaderOverflow:r,headerAlign:a,align:i,headerClassName:n,editRender:o,cellRender:s}=e,d=e.id,o=o||s,s=o?renderer.get(o.name):null,o=e.children&&e.children.length,u=g?e.fixed!==g&&!o:!!e.fixed&&H,r=_xeUtils.default.eqNull(r)?D:r,a=a||(s?s.tableHeaderCellAlign:"")||T||i||(s?s.tableCellAlign:"")||M;let c="ellipsis"===r;i="title"===r,s=!0===r||"tooltip"===r;let v=i||s||c;var r=e.filters&&e.filters.some(e=>e.checked),f=E.getColumnIndex(e),p=E.getVTColumnIndex(e);const h={$table:E,$grid:E.xegrid,$rowIndex:x,column:e,columnIndex:f,$columnIndex:l,_columnIndex:p,fixed:g,type:renderType,isHidden:u,hasFilter:r};f={onClick:e=>E.triggerHeaderCellClickEvent(e,h),onDblclick:e=>E.triggerHeaderCellDblclickEvent(e,h)};return R&&!v&&(c=v=!0),W&&(f.onMousedown=e=>E.triggerHeaderCellMousedownEvent(e,h)),S.drag&&(f.onDragstart=E.handleHeaderCellDragDragstartEvent,f.onDragend=E.handleHeaderCellDragDragendEvent,f.onDragover=E.handleHeaderCellDragDragoverEvent),(0,_vue.h)("th",Object.assign(Object.assign({class:["vxe-header--column",d,{["col--"+a]:a,["col--"+t]:t,"col--last":l===m.length-1,"col--fixed":e.fixed,"col--group":o,"col--ellipsis":v,"fixed--hidden":u,"is--sortable":e.sortable,"col--filter":!!e.filters,"is--filter-active":r,"col--current":z===e},n?_xeUtils.default.isFunction(n)?n(h):n:"",y?_xeUtils.default.isFunction(y)?y(h):y:""],colid:d,colspan:1<e.colSpan?e.colSpan:null,rowspan:1<e.rowSpan?e.rowSpan:null,style:w?_xeUtils.default.isFunction(w)?w(h):w:null},f),{key:C||S.useKey||S.drag||o?d:l}),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":i,"c--tooltip":s,"c--ellipsis":c}]},e.renderHeader(h)),u||o||!(_xeUtils.default.isBoolean(e.resizable)?e.resizable:S.resizable||_)?null:(0,_vue.h)("div",{class:["vxe-resizable",{"is--line":!b||"none"===b}],onMousedown:e=>L(e,h)})])}).concat(e?[(0,_vue.h)("th",{key:"gr"+x,class:"vxe-header--gutter col--gutter"})]:[])};return(0,_vue.watch)(()=>U.tableColumn,t),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=U["fixedType"],l=E["internalData"],l=l["elemStore"],e=`${e||"main"}-header-`;l[e+"wrapper"]=F,l[e+"table"]=p,l[e+"colgroup"]=h,l[e+"list"]=m,l[e+"xSpace"]=x,l[e+"repair"]=g,t()})}),(0,_vue.onUnmounted)(()=>{var e=U["fixedType"],l=E["internalData"],l=l["elemStore"],e=`${e||"main"}-header-`;l[e+"wrapper"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"repair"]=null}),()=>{var{fixedType:e,fixedColumn:l,tableColumn:t}=U,r=c["showHeaderOverflow"],{isGroup:a,scrollXLoad:i,scrollbarWidth:n}=O,o=R["visibleColumn"];let s=f.value,d=t;return a?d=o:(e&&(i||r)&&(d=l),s=[d]),(0,_vue.h)("div",{ref:F,class:["vxe-table--header-wrapper",e?`fixed-${e}--wrapper`:"body--wrapper"],xid:u},[e?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{ref:x,class:"vxe-body--x-space"}),(0,_vue.h)("table",{ref:p,class:"vxe-table--header",xid:u,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:h},d.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l})).concat(n?[(0,_vue.h)("col",{name:"col_gutter"})]:[])),(0,_vue.h)("thead",{ref:m},(e=>{const r=U["fixedType"],{headerRowClassName:a,headerRowStyle:i}=c,n=O["isDragColMove"],o=v.value;return e.map((e,l)=>{var t={$table:E,$rowIndex:l,fixed:r,type:renderType};return o.drag?(0,_vue.h)(_vue.TransitionGroup,{name:"vxe-header--col-list"+(n?"":"-disabled"),tag:"tr",class:["vxe-header--row",a?_xeUtils.default.isFunction(a)?a(t):a:""],style:i?_xeUtils.default.isFunction(i)?i(t):i:null},{default:()=>_(e,l)}):(0,_vue.h)("tr",{class:["vxe-header--row",a?_xeUtils.default.isFunction(a)?a(t):a:""],style:i?_xeUtils.default.isFunction(i)?i(t):i:null},_(e,l))})})(s))]),(0,_vue.h)("div",{ref:g,class:"vxe-table--header-border-line"})])}}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_dom=require("../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const renderer=_ui.VxeUI["renderer"],renderType="header";var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableHeader",props:{tableData:Array,tableColumn:Array,tableGroupColumn:Array,fixedColumn:Array,fixedType:{type:String,default:null}},setup(k){const A=(0,_vue.inject)("$xeTable",{}),{xID:u,props:c,reactData:I,internalData:H}=A,{refElem:R,refTableBody:S,refLeftContainer:O,refRightContainer:E,refCellResizeBar:U,refCellResizeTip:$}=A.getRefMaps(),{computeColumnOpts:v,computeColumnDragOpts:l,computeResizableOpts:q}=A.getComputeMaps(),p=(0,_vue.ref)([]),F=(0,_vue.ref)(),f=(0,_vue.ref)(),h=(0,_vue.ref)(),m=(0,_vue.ref)(),g=(0,_vue.ref)(),x=(0,_vue.ref)(),t=()=>{var e=I["isGroup"];p.value=e?(0,_util.convertHeaderColumnToRows)(k.tableGroupColumn):[]},j=(e,t)=>{const s=t["column"],d=k["fixedType"],r=H["visibleColumn"],u=q.value;var l=S.value;const c=R.value,v=O.value,p=E.value,f=U.value,h=$.value,m=e["clientX"],g=F.value;var a=e.target;const x=t.cell=a.parentNode;let _=0;const b=l.$el;var l=(0,_dom.getOffsetPos)(a,g),a=a.clientWidth,i=Math.floor(a/2);const C=(0,_util.getColReMinWidth)(t)-i;let y=l.left-x.clientWidth+a+C,w=l.left+i;const n=document.onmousemove,o=document.onmouseup,D="left"===d,M="right"===d;let T=0;if(D||M){var W=D?"nextElementSibling":"previousElementSibling";let e=x[W];for(;e&&!(0,_dom.hasClass)(e,"fixed--hidden");)(0,_dom.hasClass)(e,"col--group")||(T+=e.offsetWidth),e=e[W];M&&p&&(w=p.offsetLeft+T)}function z(l){l.stopPropagation(),l.preventDefault();var t=l.clientX-m;let e=w+t;if(t=d?0:b.scrollLeft,D?e=Math.min(e,(p?p.offsetLeft:b.clientWidth)-T-C):M?(y=(v?v.clientWidth:0)+T+C,e=Math.min(e,w+x.clientWidth-C)):y=Math.max(b.scrollLeft,y),t=(_=Math.max(e,y))-t,f.style.left=t+"px",u.showDragTip&&h){var r=c.clientWidth,a=g.getBoundingClientRect(),i=f.clientWidth,n=h.clientWidth,o=h.clientHeight;let e=-n;t<n+i?e=n+i-t:r<t&&(e+=r-t),h.style.left=e+"px",h.style.top=Math.min(c.clientHeight-o,Math.max(0,l.clientY-a.y-o/2))+"px",h.textContent=s.renderWidth+(M?w-_:_-w)+"px"}}I._isResize=!0,(0,_dom.addClass)(c,"drag--resize"),f.style.display="block",document.onmousemove=z,document.onmouseup=function(e){document.onmousemove=n,document.onmouseup=o;const l=s.renderWidth+(M?w-_:_-w);s.resizeWidth=l,"fixed"===u.dragMode&&r.forEach(e=>{e.id===s.id||e.resizeWidth||(e.resizeWidth=e.renderWidth)}),f.style.display="none",I._isResize=!1,H._lastResizeTime=Date.now(),A.analyColumnWidth(),A.recalculate(!0).then(()=>{A.saveCustomStore("update:visible"),A.updateCellAreas(),A.dispatchEvent("resizable-change",Object.assign(Object.assign({},t),{resizeWidth:l}),e),setTimeout(()=>A.recalculate(!0),300)}),(0,_dom.removeClass)(c,"drag--resize")},z(e),A.closeMenu&&A.closeMenu()},_=(x,_)=>{const b=k["fixedType"],{resizable:C,border:y,columnKey:w,headerCellClassName:D,headerCellStyle:M,showHeaderOverflow:T,headerAlign:W,align:z,mouseConfig:H}=c,{currentColumn:R,scrollXLoad:S,overflowX:O,scrollbarWidth:e}=I,E=v.value,U=l.value,$=U["disabledMethod"];return x.map((e,l)=>{var{type:t,showHeaderOverflow:r,headerAlign:a,align:i,headerClassName:n,editRender:o,cellRender:s}=e,d=e.id,o=o||s,s=o?renderer.get(o.name):null,o=e.children&&e.children.length,u=b?e.fixed!==b&&!o:!!e.fixed&&O,r=_xeUtils.default.eqNull(r)?T:r,a=a||(s?s.tableHeaderCellAlign:"")||W||i||(s?s.tableCellAlign:"")||z;let c="ellipsis"===r;i="title"===r,s=!0===r||"tooltip"===r;let v=i||s||c;var r=e.filters&&e.filters.some(e=>e.checked),p=A.getColumnIndex(e),f=A.getVTColumnIndex(e);const h={$table:A,$grid:A.xegrid,$rowIndex:_,column:e,columnIndex:p,$columnIndex:l,_columnIndex:f,fixed:b,type:renderType,isHidden:u,hasFilter:r};var p={colid:d,colspan:1<e.colSpan?e.colSpan:null,rowspan:1<e.rowSpan?e.rowSpan:null},f={onClick:e=>A.triggerHeaderCellClickEvent(e,h),onDblclick:e=>A.triggerHeaderCellDblclickEvent(e,h)},m=(S&&!v&&(c=v=!0),E.drag&&"cell"===U.trigger);let g=!1;return m&&(g=!(!$||!$(h))),(H||m)&&(f.onMousedown=e=>A.triggerHeaderCellMousedownEvent(e,h)),E.drag&&(f.onDragstart=A.handleHeaderCellDragDragstartEvent,f.onDragend=A.handleHeaderCellDragDragendEvent,f.onDragover=A.handleHeaderCellDragDragoverEvent,m)&&(f.onMouseup=A.handleHeaderCellDragMouseupEvent),(0,_vue.h)("th",Object.assign(Object.assign(Object.assign({class:["vxe-header--column",d,{["col--"+a]:a,["col--"+t]:t,"col--last":l===x.length-1,"col--fixed":e.fixed,"col--group":o,"col--ellipsis":v,"fixed--hidden":u,"is--sortable":e.sortable,"col--filter":!!e.filters,"is--filter-active":r,"is--drag-disabled":g,"col--current":R===e},n?_xeUtils.default.isFunction(n)?n(h):n:"",D?_xeUtils.default.isFunction(D)?D(h):D:""],style:M?_xeUtils.default.isFunction(M)?M(h):M:null},p),f),{key:w||E.useKey||E.drag||o?d:l}),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":i,"c--tooltip":s,"c--ellipsis":c}]},e.renderHeader(h)),u||o||!(_xeUtils.default.isBoolean(e.resizable)?e.resizable:E.resizable||C)?null:(0,_vue.h)("div",{class:["vxe-resizable",{"is--line":!y||"none"===y}],onMousedown:e=>j(e,h)})])}).concat(e?[(0,_vue.h)("th",{key:"gr"+_,class:"vxe-header--gutter col--gutter"})]:[])};return(0,_vue.watch)(()=>k.tableColumn,t),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=k["fixedType"],l=A["internalData"],l=l["elemStore"],e=`${e||"main"}-header-`;l[e+"wrapper"]=F,l[e+"table"]=f,l[e+"colgroup"]=h,l[e+"list"]=m,l[e+"xSpace"]=g,l[e+"repair"]=x,t()})}),(0,_vue.onUnmounted)(()=>{var e=k["fixedType"],l=A["internalData"],l=l["elemStore"],e=`${e||"main"}-header-`;l[e+"wrapper"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"repair"]=null}),()=>{var{fixedType:e,fixedColumn:l,tableColumn:t}=k,r=c["showHeaderOverflow"],{isGroup:a,scrollXLoad:i,scrollbarWidth:n}=I,o=H["visibleColumn"];let s=p.value,d=t;return a?d=o:(e&&(i||r)&&(d=l),s=[d]),(0,_vue.h)("div",{ref:F,class:["vxe-table--header-wrapper",e?`fixed-${e}--wrapper`:"body--wrapper"],xid:u},[e?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{ref:g,class:"vxe-body--x-space"}),(0,_vue.h)("table",{ref:f,class:"vxe-table--header",xid:u,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:h},d.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l})).concat(n?[(0,_vue.h)("col",{name:"col_gutter"})]:[])),(0,_vue.h)("thead",{ref:m},(e=>{const r=k["fixedType"],{headerRowClassName:a,headerRowStyle:i}=c,n=I["isDragColMove"],o=v.value;return e.map((e,l)=>{var t={$table:A,$rowIndex:l,fixed:r,type:renderType};return o.drag?(0,_vue.h)(_vue.TransitionGroup,{name:"vxe-header--col-list"+(n?"":"-disabled"),tag:"tr",class:["vxe-header--row",a?_xeUtils.default.isFunction(a)?a(t):a:""],style:i?_xeUtils.default.isFunction(i)?i(t):i:null},{default:()=>_(e,l)}):(0,_vue.h)("tr",{class:["vxe-header--row",a?_xeUtils.default.isFunction(a)?a(t):a:""],style:i?_xeUtils.default.isFunction(i)?i(t):i:null},_(e,l))})})(s))]),(0,_vue.h)("div",{ref:x,class:"vxe-table--header-border-line"})])}}});