vxe-table 4.11.19 → 4.11.20

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.
@@ -1 +1 @@
1
- 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}}let hooks=_ui.VxeUI.hooks;function getTargetOffset(e,t){let l=0,o=0;var r,n,a=!_dom.browse.firefox&&(0,_dom.hasClass)(e,"vxe-checkbox--label");for(a&&(r=getComputedStyle(e),l-=_xeUtils.default.toNumber(r.paddingTop),o-=_xeUtils.default.toNumber(r.paddingLeft));e&&e!==t;)l+=e.offsetTop,o+=e.offsetLeft,e=e.offsetParent,a&&(n=getComputedStyle(e),l-=_xeUtils.default.toNumber(n.paddingTop),o-=_xeUtils.default.toNumber(n.paddingLeft));return{offsetTop:l,offsetLeft:o}}hooks.add("tableKeyboardModule",{setupTable(M){let{props:E,reactData:D,internalData:O}=M,S=M.getRefMaps().refElem,{computeEditOpts:h,computeCheckboxOpts:u,computeMouseOpts:s,computeTreeOpts:c,computeRowOpts:H,computeCellOpts:V,computeDefaultRowHeight:q}=M.getComputeMaps();let d=(e,y)=>{var t=O.elemStore,l=(0,_util.getRefElem)(t["main-body-scroll"]),o=(0,_util.getRefElem)(t["left-body-scroll"]),t=(0,_util.getRefElem)(t["right-body-scroll"]),{column:r,cell:n}=y;if("checkbox"===r.type){let k=l;if(o&&"left"===r.fixed?k=o:t&&"right"===r.fixed&&(k=t),k){let t=S.value,i=e.clientX,u=e.clientY,s=k.querySelector(".vxe-table--checkbox-range"),c=n.parentElement,d=M.getCheckboxRecords(),h=[],g=1;l=getTargetOffset(e.target,k);let f=l.offsetTop+e.offsetY,m=l.offsetLeft+e.offsetX,p=k.scrollTop,a=c.offsetHeight,v=c.getBoundingClientRect(),x=u-v.y,w=null,b=!1,R=1,C=(e,t)=>{M.dispatchEvent("checkbox-range-"+e,{records:M.getCheckboxRecords(),reserves:M.getCheckboxReserveRecords()},t)},T=e=>{var{clientX:t,clientY:l}=e,t=t-i,l=l-u+(k.scrollTop-p);let o=Math.abs(l),r=Math.abs(t),n=f,a=m;l<g?(n+=l)<g&&(n=g,o=f):o=Math.min(o,k.scrollHeight-f-g),t<g?(a+=t,r>m&&(a=g,r=m)):r=Math.min(r,k.clientWidth-m-g),s.style.height=o+"px",s.style.width=r+"px",s.style.left=a+"px",s.style.top=n+"px",s.style.display="block";t=((e,t,l,o,r)=>{var n=E.showOverflow,{fullAllDataRowIdData:a,isResizeCellHeight:i}=O,u=H.value,s=V.value,c=q.value,e=e.row;let d=0,h=[],g=0;var f=0<r,m=D.scrollYLoad,p=O.afterFullData;if(g=f?o+r:l.height-o+Math.abs(r),m){l=M.getVTRowIndex(e);if(!(i||s.height||u.height)&&n)h=f?p.slice(l,l+Math.ceil(g/c)):p.slice(l-Math.floor(g/c),l+1);else if(f)for(let e=l;e<p.length;e++){var v=p[e],x=a[M.getRowid(v)]||{};if(d+=x.resizeHeight||s.height||u.height||x.height||c,h.push(v),d>g)return h}else for(let e=l;0<=e;e--){var w=p[e],b=a[M.getRowid(w)]||{};if(d+=b.resizeHeight||s.height||u.height||b.height||c,h.push(w),d>g)return h}}else for(var R=f?"next":"previous";t&&d<g;){var C=M.getRowNode(t);C&&(h.push(C.item),d+=t.offsetHeight,t=t[R+"ElementSibling"])}return h})(y,c,v,x,l<g?-o:o);10<o&&t.length!==h.length&&(h=t,e.ctrlKey?t.forEach(e=>{M.handleBatchSelectRows([e],-1===d.indexOf(e))}):(M.setAllCheckboxRow(!1),M.handleCheckedCheckboxRow(t,!0,!1)),C("change",e))},I=()=>{clearTimeout(w),w=null},_=n=>{I(),w=setTimeout(()=>{var e,t,l,o,r;w&&({scrollLeft:e,scrollTop:t,clientHeight:l,scrollHeight:o}=k,r=Math.ceil(50*R/a),b?t+l<o?(M.scrollTo(e,t+r),_(n),T(n)):I():t?(M.scrollTo(e,t-r),_(n),T(n)):I())},50)};(0,_dom.addClass)(t,"drag--range"),document.onmousemove=e=>{e.preventDefault(),e.stopPropagation();var t=e.clientY,l=(0,_dom.getAbsolutePos)(k).boundingTop;t<l?(b=!1,R=l-t,w||_(e)):t>l+k.clientHeight?(b=!0,R=t-l-k.clientHeight,w||_(e)):w&&I(),T(e)},document.onmouseup=e=>{I(),(0,_dom.removeClass)(t,"drag--range"),s.removeAttribute("style"),document.onmousemove=null,document.onmouseup=null,C("end",e)},C("start",e)}}};return{moveTabSelected(e,t,l){var o=E.editConfig,{afterFullData:r,visibleColumn:n}=O,a=h.value;let i,u,s,c=Object.assign({},e);var e=M.getVTRowIndex(c.row),d=M.getVTColumnIndex(c.column),t=(l.preventDefault(),t?d<=0?0<e&&(u=e-1,i=r[u],s=n.length-1):s=d-1:d>=n.length-1?e<r.length-1&&(u=e+1,i=r[u],s=0):s=d+1,n[s]);t&&(i?(c.rowIndex=u,c.row=i):c.rowIndex=e,c.columnIndex=s,c.column=t,c.cell=M.getCellElement(c.row,c.column),o?"click"!==a.trigger&&"dblclick"!==a.trigger||("row"===a.mode?M.handleEdit(c,l):M.scrollToRow(c.row,c.column).then(()=>M.handleSelected(c,l))):M.scrollToRow(c.row,c.column).then(()=>M.handleSelected(c,l)))},moveCurrentRow(e,t,l){var o=E.treeConfig;let r=D.currentRow;var n=O.afterFullData,a=c.value,a=a.children||a.childrenField;let i;if(l.preventDefault(),r?o?({index:o,items:a}=_xeUtils.default.findTree(n,e=>e===r,{children:a}),e&&0<o?i=a[o-1]:t&&o<a.length-1&&(i=a[o+1])):(a=M.getVTRowIndex(r),e&&0<a?i=n[a-1]:t&&a<n.length-1&&(i=n[a+1])):i=n[0],i){let e={$table:M,row:i,rowIndex:M.getRowIndex(i),$rowIndex:M.getVMRowIndex(i)};M.scrollToRow(i).then(()=>M.triggerCurrentRowEvent(l,e))}},moveSelected(e,t,l,o,r,n){var{afterFullData:a,visibleColumn:i}=O;let u=Object.assign({},e);var e=M.getVTRowIndex(u.row),s=M.getVTColumnIndex(u.column);n.preventDefault(),l&&0<e?(u.rowIndex=e-1,u.row=a[u.rowIndex]):r&&e<a.length-1?(u.rowIndex=e+1,u.row=a[u.rowIndex]):t&&s?(u.columnIndex=s-1,u.column=i[u.columnIndex]):o&&s<i.length-1&&(u.columnIndex=s+1,u.column=i[u.columnIndex]),M.scrollToRow(u.row,u.column).then(()=>{u.cell=M.getCellElement(u.row,u.column),M.handleSelected(u,n)})},handleCellMousedownEvent:(e,t)=>{var{editConfig:l,checkboxConfig:o,mouseConfig:r}=E,n=u.value,a=s.value,i=h.value;if(r&&a.area&&M.handleMousedownCellAreaEvent)return M.handleMousedownCellAreaEvent(e,t);o&&n.range&&d(e,t),r&&a.selected&&(l&&"cell"!==i.mode||M.handleSelected(t,e))}}}});
1
+ 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}}let hooks=_ui.VxeUI.hooks;function getTargetOffset(e,t){let l=0,o=0;var n,r,u=!_dom.browse.firefox&&(0,_dom.hasClass)(e,"vxe-checkbox--label");for(u&&(n=getComputedStyle(e),l-=_xeUtils.default.toNumber(n.paddingTop),o-=_xeUtils.default.toNumber(n.paddingLeft));e&&e!==t;)l+=e.offsetTop,o+=e.offsetLeft,e=e.offsetParent,u&&(r=getComputedStyle(e),l-=_xeUtils.default.toNumber(r.paddingTop),o-=_xeUtils.default.toNumber(r.paddingLeft));return{offsetTop:l,offsetLeft:o}}hooks.add("tableKeyboardModule",{setupTable(y){let{props:E,reactData:D,internalData:O}=y,S=y.getRefMaps().refElem,{computeEditOpts:g,computeCheckboxOpts:i,computeMouseOpts:c,computeTreeOpts:d,computeRowOpts:H,computeCellOpts:V,computeDefaultRowHeight:q}=y.getComputeMaps();let s=(e,M)=>{var t=O.elemStore,l=(0,_util.getRefElem)(t["main-body-scroll"]),o=(0,_util.getRefElem)(t["left-body-scroll"]),t=(0,_util.getRefElem)(t["right-body-scroll"]),{column:n,cell:r}=M;if("checkbox"===n.type){let k=l;if(o&&"left"===n.fixed?k=o:t&&"right"===n.fixed&&(k=t),k){let t=S.value,a=e.clientX,i=e.clientY,c=k.querySelector(".vxe-table--checkbox-range"),d=r.parentElement,s=y.getCheckboxRecords(),g=[],h=1;l=getTargetOffset(e.target,k);let f=l.offsetTop+e.offsetY,m=l.offsetLeft+e.offsetX,p=k.scrollTop,u=d.offsetHeight,v=d.getBoundingClientRect(),x=i-v.y,w=null,C=!1,b=1,R=(e,t)=>{y.dispatchEvent("checkbox-range-"+e,{records:y.getCheckboxRecords(),reserves:y.getCheckboxReserveRecords()},t)},T=e=>{var{clientX:t,clientY:l}=e,t=t-a,l=l-i+(k.scrollTop-p);let o=Math.abs(l),n=Math.abs(t),r=f,u=m;l<h?(r+=l)<h&&(r=h,o=f):o=Math.min(o,k.scrollHeight-f-h),t<h?(u+=t,n>m&&(u=h,n=m)):n=Math.min(n,k.clientWidth-m-h),c.style.height=o+"px",c.style.width=n+"px",c.style.left=u+"px",c.style.top=r+"px",c.style.display="block";t=((e,t,l,o,n)=>{var r=E.showOverflow,{fullAllDataRowIdData:u,isResizeCellHeight:a}=O,i=H.value,c=V.value,d=q.value,e=e.row;let s=0,g=[],h=0;var f=0<n,m=D.scrollYLoad,p=O.afterFullData;if(h=f?o+n:l.height-o+Math.abs(n),m){l=y.getVTRowIndex(e);if(!(a||c.height||i.height)&&r)g=f?p.slice(l,l+Math.ceil(h/d)):p.slice(l-Math.floor(h/d),l+1);else if(f)for(let e=l;e<p.length;e++){var v=p[e],x=u[y.getRowid(v)]||{};if(s+=x.resizeHeight||c.height||i.height||x.height||d,g.push(v),s>h)return g}else for(let e=l;0<=e;e--){var w=p[e],C=u[y.getRowid(w)]||{};if(s+=C.resizeHeight||c.height||i.height||C.height||d,g.push(w),s>h)return g}}else for(var b=f?"next":"previous";t&&s<h;){var R=y.getRowNode(t);R&&(g.push(R.item),s+=t.offsetHeight,t=t[b+"ElementSibling"])}return g})(M,d,v,x,l<h?-o:o);10<o&&t.length!==g.length&&(g=t,e.ctrlKey?t.forEach(e=>{y.handleBatchSelectRows([e],-1===s.indexOf(e))}):(y.setAllCheckboxRow(!1),y.handleCheckedCheckboxRow(t,!0,!1)),R("change",e))},I=()=>{clearTimeout(w),w=null},_=r=>{I(),w=setTimeout(()=>{var e,t,l,o,n;w&&({scrollLeft:e,scrollTop:t,clientHeight:l,scrollHeight:o}=k,n=Math.ceil(50*b/u),C?t+l<o?(y.scrollTo(e,t+n),_(r),T(r)):I():t?(y.scrollTo(e,t-n),_(r),T(r)):I())},50)};(0,_dom.addClass)(t,"drag--range"),document.onmousemove=e=>{e.preventDefault(),e.stopPropagation();var t=e.clientY,l=(0,_dom.getAbsolutePos)(k).boundingTop;t<l?(C=!1,b=l-t,w||_(e)):t>l+k.clientHeight?(C=!0,b=t-l-k.clientHeight,w||_(e)):w&&I(),T(e)},document.onmouseup=e=>{I(),(0,_dom.removeClass)(t,"drag--range"),c.removeAttribute("style"),document.onmousemove=null,document.onmouseup=null,R("end",e)},R("start",e)}}};return{moveTabSelected(e,t,l){var o=E.editConfig,{afterFullData:n,visibleColumn:r}=O,u=g.value;let a,i,c,d=Object.assign({},e);var e=y.getVTRowIndex(d.row),s=y.getVTColumnIndex(d.column),t=(l.preventDefault(),t?s<=0?0<e&&(i=e-1,a=n[i],c=r.length-1):c=s-1:s>=r.length-1?e<n.length-1&&(i=e+1,a=n[i],c=0):c=s+1,r[c]);t&&(a?(d.rowIndex=i,d.row=a):d.rowIndex=e,d.columnIndex=c,d.column=t,d.cell=y.getCellElement(d.row,d.column),o?"click"!==u.trigger&&"dblclick"!==u.trigger||("row"===u.mode?y.handleEdit(d,l):y.scrollToRow(d.row,d.column).then(()=>y.handleSelected(d,l))):y.scrollToRow(d.row,d.column).then(()=>y.handleSelected(d,l)))},moveCurrentRow(e,t,l){var o=E.treeConfig;let n=D.currentRow;var r=O.afterFullData,u=d.value,u=u.children||u.childrenField;let a;if(n?o?({index:o,items:u}=_xeUtils.default.findTree(r,e=>e===n,{children:u}),e&&0<o?a=u[o-1]:t&&o<u.length-1&&(a=u[o+1])):(u=y.getVTRowIndex(n),e&&0<u?a=r[u-1]:t&&u<r.length-1&&(a=r[u+1])):a=r[0],a){l.preventDefault();let e={$table:y,row:a,rowIndex:y.getRowIndex(a),$rowIndex:y.getVMRowIndex(a)};y.scrollToRow(a).then(()=>y.triggerCurrentRowEvent(l,e))}},moveCurrentColumn(e,t,l){var o=D.currentColumn,n=O.visibleColumn;let r=null;if(o?(o=y.getVTColumnIndex(o),e&&0<o?r=n[o-1]:t&&o<n.length-1&&(r=n[o+1])):r=n[0],r){l.preventDefault();let e={$table:y,column:r,columnIndex:y.getColumnIndex(r),$columnIndex:y.getVMColumnIndex(r)};y.scrollToColumn(r).then(()=>y.triggerCurrentColumnEvent(l,e))}},moveSelected(e,t,l,o,n,r){var{afterFullData:u,visibleColumn:a}=O;let i=Object.assign({},e);var e=y.getVTRowIndex(i.row),c=y.getVTColumnIndex(i.column);r.preventDefault(),l&&0<e?(i.rowIndex=e-1,i.row=u[i.rowIndex]):n&&e<u.length-1?(i.rowIndex=e+1,i.row=u[i.rowIndex]):t&&c?(i.columnIndex=c-1,i.column=a[i.columnIndex]):o&&c<a.length-1&&(i.columnIndex=c+1,i.column=a[i.columnIndex]),y.scrollToRow(i.row,i.column).then(()=>{i.cell=y.getCellElement(i.row,i.column),y.handleSelected(i,r)})},handleCellMousedownEvent:(e,t)=>{var{editConfig:l,checkboxConfig:o,mouseConfig:n}=E,r=i.value,u=c.value,a=g.value;if(n&&u.area&&y.handleMousedownCellAreaEvent)return y.handleMousedownCellAreaEvent(e,t);o&&r.range&&s(e,t),n&&u.selected&&(l&&"cell"!==a.mode||y.handleSelected(t,e))}}}});
@@ -4310,6 +4310,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
4310
4310
  keepSource,
4311
4311
  treeConfig
4312
4312
  } = props;
4313
+ const {
4314
+ editStore
4315
+ } = reactData;
4313
4316
  const {
4314
4317
  fullAllDataRowIdData,
4315
4318
  fullDataRowIdData,
@@ -4318,6 +4321,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
4318
4321
  tableFullData,
4319
4322
  afterFullData
4320
4323
  } = internalData;
4324
+ const removeTempMaps = Object.assign({}, editStore.removeMaps);
4321
4325
  const treeOpts = computeTreeOpts.value;
4322
4326
  const {
4323
4327
  transform
@@ -4352,6 +4356,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
4352
4356
  _xeUtils.default.destructuring(row, _xeUtils.default.clone(oRow, true));
4353
4357
  }
4354
4358
  if (!fullDataRowIdData[rowid] && $xeTable.isRemoveByRow(row)) {
4359
+ delete removeTempMaps[rowid];
4355
4360
  tableFullData.unshift(row);
4356
4361
  afterFullData.unshift(row);
4357
4362
  reDelFlag = true;
@@ -4363,6 +4368,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
4363
4368
  }
4364
4369
  if (rows) {
4365
4370
  if (reDelFlag) {
4371
+ editStore.removeMaps = removeTempMaps;
4366
4372
  $xeTable.updateFooter();
4367
4373
  $xeTable.cacheRowMap(false);
4368
4374
  $xeTable.handleTableData(treeConfig && transform);
@@ -7188,8 +7194,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
7188
7194
  // 如果按下了方向键
7189
7195
  if (selected.row && selected.column) {
7190
7196
  $xeTable.moveSelected(selected.args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow, evnt);
7191
- } else if ((isUpArrow || isDwArrow) && (rowOpts.isCurrent || highlightCurrentRow)) {
7192
- // 当前行按键上下移动
7197
+ }
7198
+ // 当前行按键上下移动
7199
+ if ((isUpArrow || isDwArrow) && (rowOpts.isCurrent || highlightCurrentRow)) {
7193
7200
  $xeTable.moveCurrentRow(isUpArrow, isDwArrow, evnt);
7194
7201
  }
7195
7202
  }