vxe-table 4.12.1 → 4.12.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/style.css +1 -1
- package/es/table/module/edit/hook.js +3 -2
- package/es/table/module/keyboard/hook.js +3 -2
- package/es/table/src/table.js +13 -8
- package/es/ui/index.js +1 -1
- package/es/ui/src/dom.js +0 -1
- package/es/ui/src/log.js +1 -1
- package/lib/index.umd.js +18 -12
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/module/edit/hook.js +2 -1
- package/lib/table/module/edit/hook.min.js +1 -1
- package/lib/table/module/keyboard/hook.js +2 -1
- package/lib/table/module/keyboard/hook.min.js +1 -1
- package/lib/table/src/table.js +12 -7
- package/lib/table/src/table.min.js +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/dom.js +0 -2
- package/lib/ui/src/dom.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +2 -2
- package/packages/table/module/edit/hook.ts +4 -2
- package/packages/table/module/keyboard/hook.ts +4 -2
- package/packages/table/src/table.ts +14 -8
- package/packages/ui/src/dom.ts +0 -2
- /package/es/{iconfont.1743045589885.ttf → iconfont.1743125693758.ttf} +0 -0
- /package/es/{iconfont.1743045589885.woff → iconfont.1743125693758.woff} +0 -0
- /package/es/{iconfont.1743045589885.woff2 → iconfont.1743125693758.woff2} +0 -0
- /package/lib/{iconfont.1743045589885.ttf → iconfont.1743125693758.ttf} +0 -0
- /package/lib/{iconfont.1743045589885.woff → iconfont.1743125693758.woff} +0 -0
- /package/lib/{iconfont.1743045589885.woff2 → iconfont.1743125693758.woff2} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_util=require("../../src/util"),_dom=require("../../../ui/src/dom"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,renderer,hooks,getI18n}=_ui.VxeUI,tableEditMethodKeys=["insert","insertAt","insertNextAt","insertChild","insertChildAt","insertChildNextAt","remove","removeCheckboxRow","removeRadioRow","removeCurrentRow","getRecordset","getInsertRecords","getRemoveRecords","getUpdateRecords","getEditRecord","getActiveRecord","getSelectedCell","clearEdit","clearActived","clearSelected","isEditByRow","isActiveByRow","setEditRow","setActiveRow","setEditCell","setActiveCell","setSelectCell"];hooks.add("tableEditModule",{setupTable(x){let{props:m,reactData:R,internalData:C}=x,o=x.getRefMaps().refElem,{computeMouseOpts:c,computeEditOpts:h,computeCheckboxOpts:_,computeTreeOpts:E,computeValidOpts:n}=x.getComputeMaps(),I={},g={},b=(e,t)=>{var{model:l,editRender:r}=t;r&&(l.value=(0,_util.getCellValue)(e,t),l.update=!1)},a=(e,t)=>{var{model:l,editRender:r}=t;r&&l.update&&((0,_util.setCellValue)(e,t,l.value),l.update=!1,l.value=null)},l=()=>{var e=o.value;e&&(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")},d=()=>{var{editStore:e,tableColumn:t}=R,l=h.value,e=e.actived;let{row:r,column:o}=e;(r||o)&&("row"===l.mode?t.forEach(e=>a(r,e)):a(r,o))},F=(e,t)=>{let{tableFullTreeData:i,afterFullData:n,fullDataRowIdData:d,fullAllDataRowIdData:u}=C;var l=E.value;let{rowField:s,parentField:c,mapChildrenField:g}=l,v=l.children||l.childrenField,w=t?"push":"unshift";e.forEach(l=>{let t=l[c];var r=(0,_util.getRowid)(x,l),o=t?_xeUtils.default.findTree(i,e=>t===e[s],{children:g}):null;if(o){var o=o.item,a=u[(0,_util.getRowid)(x,o)],a=a?a.level:0;let e=o[v],t=o[g];_xeUtils.default.isArray(e)||(e=o[v]=[]),_xeUtils.default.isArray(t)||(t=o[v]=[]),e[w](l),t[w](l);o={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:e,parent:o,level:a+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};d[r]=o,u[r]=o}else{"development"===process.env.NODE_ENV&&t&&(0,_log.warnLog)("vxe.error.unableInsert"),n[w](l),i[w](l);a={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:i,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};d[r]=a,u[r]=a}})},u=(t,l,d)=>{let o=m.treeConfig;var e=R.mergeList;let{tableFullTreeData:r,afterFullData:a,tableFullData:i,fullDataRowIdData:u,fullAllDataRowIdData:s,insertRowMaps:n}=C,c=E.value,{transform:g,rowField:v,mapChildrenField:w}=c,f=c.children||c.childrenField,p=(_xeUtils.default.isArray(t)||(t=[t]),(0,_vue.reactive)(x.defineField(t.map(e=>Object.assign(o&&g?{[w]:[],[f]:[]}:{},e)))));if(_xeUtils.default.eqNull(l))o&&g?F(p,!1):(p.forEach(e=>{var t=(0,_util.getRowid)(x,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:a,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[t]=l,s[t]=l,a.unshift(e),i.unshift(e)}),e.forEach(e=>{var t=e.row;0<t&&(e.row=t+p.length)}));else if(-1===l)o&&g?F(p,!0):(p.forEach(e=>{var t=(0,_util.getRowid)(x,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,treeIndex:-1,$index:-1,items:a,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[t]=l,s[t]=l,a.push(e),i.push(e)}),e.forEach(e=>{var{row:t,rowspan:l}=e;t+l>a.length&&(e.rowspan=l+p.length)}));else if(o&&g){let n=_xeUtils.default.findTree(r,e=>l[v]===e[v],{children:w});if(n){let o=n.parent,a=o?o[w]:r;t=s[(0,_util.getRowid)(x,o)];let i=t?t.level:0;if(p.forEach((e,t)=>{var l=(0,_util.getRowid)(x,e);"development"===process.env.NODE_ENV&&e[c.parentField]&&o&&e[c.parentField]!==o[v]&&(0,_log.errLog)("vxe.error.errProp",[c.parentField+"="+e[c.parentField],c.parentField+"="+o[v]]),o&&(e[c.parentField]=o[v]);let r=n.index+t;d&&(r+=1),a.splice(r,0,e);t={row:e,rowid:l,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:a,parent:o,level:i+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[l]=t,s[l]=t}),o){t=_xeUtils.default.findTree(r,e=>l[v]===e[v],{children:f});if(t){var h=t.items;let e=t.index;d&&(e+=1),h.splice(e,0,...p)}}}else"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.unableInsert"),F(p,!0)}else{if(o)throw new Error(getI18n("vxe.error.noTree",["insert"]));let r=-1;if(_xeUtils.default.isNumber(l)?l<a.length&&(r=l):r=x.findRowIndexOf(a,l),-1===(r=d?Math.min(a.length,r+1):r))throw new Error(getI18n("vxe.error.unableInsert"));a.splice(r,0,...p);t=x.findRowIndexOf(i,l);-1<t?i.splice(t+(d?1:0),0,...p):i.push(...p),e.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t+p.length:t+l>r&&(e.rowspan=l+p.length)})}return p.forEach(e=>{var t=(0,_util.getRowid)(x,e);n[t]=e}),R.insertRowFlag++,x.cacheRowMap(!1),x.updateScrollYStatus(),x.handleTableData(o&&g),o&&g||x.updateAfterDataIndex(),x.updateFooter(),x.checkSelectionStatus(),R.scrollYLoad&&x.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(x.updateCellAreas(),x.recalculate())).then(()=>({row:p.length?p[p.length-1]:null,rows:p}))},r=(e,t,l,r)=>{var o=m.treeConfig;let{transform:a,rowField:i,parentField:n}=E.value;return o&&a?(_xeUtils.default.isArray(e)||(e=[e]),u(e.map(e=>Object.assign({},e,{[n]:t[i]})),l,r)):((0,_log.errLog)("vxe.error.errProp",["tree-config.transform=false","tree-config.transform=true"]),Promise.resolve({row:null,rows:[]}))},A=(e,t)=>{var l=R.editStore,{actived:l,focused:r}=l,{row:o,column:a}=l,i=n.value;if(o||a){if(t&&(0,_util.getRowid)(x,t)!==(0,_util.getRowid)(x,o))return(0,_vue.nextTick)();d(),l.args=null,l.row=null,l.column=null,x.updateFooter(),x.dispatchEvent("edit-closed",{row:o,rowIndex:x.getRowIndex(o),$rowIndex:x.getVMRowIndex(o),column:a,columnIndex:x.getColumnIndex(a),$columnIndex:x.getVMColumnIndex(a)},e||null)}return r.row=null,r.column=null,i.autoClear&&("full"!==i.msgMode||"obsolete"===getConfig().cellVaildMode)&&x.clearValidate?x.clearValidate():(0,_vue.nextTick)().then(()=>x.updateCellAreas())},i=(l,r,o,e)=>{let a=x.xeGrid;var{editConfig:t,mouseConfig:i}=m,{editStore:n,tableColumn:d}=R,u=h.value,s=u.mode,{actived:n,focused:c}=n;let{row:g,column:v}=l;var w=v.editRender,f=l.cell||x.getCellElement(g,v),p=u.beforeEditMethod||u.activeMethod;if((l.cell=f)&&(0,_utils.isEnableConf)(t)&&(0,_utils.isEnableConf)(w)&&!x.isPendingByRow(g)){if(n.row!==g||"cell"===s&&n.column!==v){let t="edit-disabled";if(!p||p(Object.assign(Object.assign({},l),{$table:x,$grid:a}))){i&&(x.clearSelected(),x.clearCellAreas)&&(x.clearCellAreas(),x.clearCopyCellArea()),x.closeTooltip(),n.column&&A(r),t="edit-activated",v.renderHeight=f.offsetHeight,n.args=l,n.row=g,n.column=v,"row"===s?d.forEach(e=>b(g,e)):b(g,v);let e=u.afterEditMethod;(0,_vue.nextTick)(()=>{o&&x.handleFocus(l,r),e&&e(Object.assign(Object.assign({},l),{$table:x,$grid:a}))})}x.dispatchEvent(t,{row:g,rowIndex:x.getRowIndex(g),$rowIndex:x.getVMRowIndex(g),column:v,columnIndex:x.getColumnIndex(v),$columnIndex:x.getVMColumnIndex(v)},r),"edit-activated"===t&&x.dispatchEvent("edit-actived",{row:g,rowIndex:x.getRowIndex(g),$rowIndex:x.getVMRowIndex(g),column:v,columnIndex:x.getColumnIndex(v),$columnIndex:x.getVMColumnIndex(v)},r)}else{t=n.column;i&&(x.clearSelected(),x.clearCellAreas)&&(x.clearCellAreas(),x.clearCopyCellArea()),t!==v&&(w=t.model,w.update&&(0,_util.setCellValue)(g,t,w.value),x.clearValidate)&&x.clearValidate(g,v),v.renderHeight=f.offsetHeight,n.args=l,n.column=v,e&&setTimeout(()=>{x.handleFocus(l,r)})}c.column=null,c.row=null,x.focus()}return(0,_vue.nextTick)()},s=(t,e,l)=>{var r=m.editConfig;let o=_xeUtils.default.isString(e)?x.getColumnByField(e):e;return t&&o&&(0,_utils.isEnableConf)(r)&&(0,_utils.isEnableConf)(o.editRender)?Promise.resolve(l?x.scrollToRow(t,o):null).then(()=>{var e=x.getCellElement(t,o);return e&&(i({row:t,rowIndex:x.getRowIndex(t),column:o,columnIndex:x.getColumnIndex(o),cell:e,$table:x},null,l,l),C._lastCallTime=Date.now()),(0,_vue.nextTick)()}):(0,_vue.nextTick)()};return I={insert(e){return u(e,null)},insertAt(e,t){return u(e,t)},insertNextAt(e,t){return u(e,t,!0)},insertChild(e,t){return r(e,t,null)},insertChildAt(e,t,l){return r(e,t,l)},insertChildNextAt(e,t,l){return r(e,t,l,!0)},remove(e){var t=m.treeConfig;let{mergeList:l,editStore:r}=R,{tableFullTreeData:o,selectCheckboxMaps:a,afterFullData:i,tableFullData:n,pendingRowMaps:d,insertRowMaps:u,removeRowMaps:s}=C;var c=_.value,g=E.value;let{transform:v,mapChildrenField:w}=g,f=g.children||g.childrenField;g=r.actived,c=c.checkField;let p=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=n,e.forEach(e=>{var t;x.isInsertByRow(e)||(t=(0,_util.getRowid)(x,e),s[t]=e)}),c||(e.forEach(e=>{e=(0,_util.getRowid)(x,e);a[e]&&delete a[e]}),R.updateCheckboxFlag++),n===e?(e=p=n.slice(0),C.tableFullData=[],C.afterFullData=[],x.clearMergeCells()):t&&v?e.forEach(e=>{let t=(0,_util.getRowid)(x,e);var l=_xeUtils.default.findTree(o,e=>t===(0,_util.getRowid)(x,e),{children:w}),l=(l&&(l=l.items.splice(l.index,1),p.push(l[0])),_xeUtils.default.findTree(o,e=>t===(0,_util.getRowid)(x,e),{children:f})),l=(l&&l.items.splice(l.index,1),x.findRowIndexOf(i,e));-1<l&&i.splice(l,1)}):e.forEach(e=>{var t=x.findRowIndexOf(n,e);-1<t&&(t=n.splice(t,1),p.push(t[0]));let r=x.findRowIndexOf(i,e);-1<r&&(l.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t-1:t+l>r&&(e.rowspan=l-1)}),i.splice(r,1))}),g.row&&-1<x.findRowIndexOf(e,g.row)&&I.clearEdit(),e.forEach(e=>{e=(0,_util.getRowid)(x,e);u[e]&&delete u[e],d[e]&&delete d[e]}),R.removeRowFlag++,R.insertRowFlag++,R.pendingRowFlag++,x.updateFooter(),x.cacheRowMap(!1),x.handleTableData(t&&v),t&&v||x.updateAfterDataIndex(),x.checkSelectionStatus(),R.scrollYLoad&&x.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(x.updateCellAreas(),x.recalculate())).then(()=>({row:p.length?p[p.length-1]:null,rows:p}))},removeCheckboxRow(){return I.remove(x.getCheckboxRecords()).then(e=>(x.clearCheckboxRow(),e))},removeRadioRow(){var e=x.getRadioRecord();return I.remove(e||[]).then(e=>(x.clearRadioRow(),e))},removeCurrentRow(){var e=x.getCurrentRecord();return I.remove(e||[]).then(e=>(x.clearCurrentRow(),e))},getRecordset(){var e=I.getRemoveRecords(),t=x.getPendingRecords();let l=e.concat(t);var r=I.getUpdateRecords().filter(t=>!l.some(e=>x.eqRow(e,t)));return{insertRecords:I.getInsertRecords(),removeRecords:e,updateRecords:r,pendingRecords:t}},getInsertRecords(){let{fullAllDataRowIdData:l,insertRowMaps:e}=C,r=[];return _xeUtils.default.each(e,(e,t)=>{l[t]&&r.push(e)}),r},getRemoveRecords(){var e=C.removeRowMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},getUpdateRecords(){var{keepSource:e,treeConfig:t}=m,l=C.tableFullData,r=E.value;return e?(d(),t?_xeUtils.default.filterTree(l,e=>x.isUpdateByRow(e),r):l.filter(e=>x.isUpdateByRow(e))):[]},getActiveRecord(){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["getActiveRecord","getEditRecord"]),x.getEditRecord()},getEditRecord(){var e=R.editStore,t=C.afterFullData,l=o.value,{args:e,row:r}=e.actived;return e&&-1<x.findRowIndexOf(t,r)&&l.querySelectorAll(".vxe-body--column.col--active").length?Object.assign({},e):null},getSelectedCell(){var e=R.editStore,{args:e,column:t}=e.selected;return e&&t?Object.assign({},e):null},clearActived(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["clearActived","clearEdit"]),x.clearEdit(e)},clearEdit(e){return A(null,e)},clearSelected(){var e=R.editStore,e=e.selected;return e.row=null,e.column=null,l(),(0,_vue.nextTick)()},isActiveByRow(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["isActiveByRow","isEditByRow"]),x.isEditByRow(e)},isEditByRow(e){var t=R.editStore;return t.actived.row===e},setActiveRow(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setActiveRow","setEditRow"]),I.setEditRow(e)},setEditRow(e,t){var l=C.visibleColumn;let r=_xeUtils.default.find(l,e=>(0,_utils.isEnableConf)(e.editRender)),o=!1;return t&&(o=!0)!==t&&(r=_xeUtils.default.isString(t)?x.getColumnByField(t):t),s(e,r,o)},setActiveCell(e,t){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setActiveCell","setEditCell"]),I.setEditCell(e,t)},setEditCell(e,t){return s(e,t,!0)},setSelectCell(e,t){var l=R.tableData,r=h.value,t=_xeUtils.default.isString(t)?x.getColumnByField(t):t;return e&&t&&"manual"!==r.trigger&&-1<(r=x.findRowIndexOf(l,e))&&t&&(l=x.getCellElement(e,t),e={row:e,rowIndex:r,column:t,columnIndex:x.getColumnIndex(t),cell:l},x.handleSelected(e,{})),(0,_vue.nextTick)()}},g={handleEdit(e,t){return i(e,t,!0,!0)},handleActived(e,t){return g.handleEdit(e,t)},handleClearEdit:A,handleFocus(r){var{row:o,column:a,cell:i}=r,n=a.editRender,d=h.value;if((0,_utils.isEnableConf)(n)){var u=renderer.get(n.name);let e=n.autofocus||n.autoFocus,t=n.autoSelect||n.autoselect,l;d.autoFocus&&(!e&&u&&(e=u.tableAutoFocus||u.tableAutofocus||u.autofocus),!t&&u&&(t=u.tableAutoSelect||u.autoselect),_xeUtils.default.isFunction(e)?l=e(r):e&&(l=!0===e?i.querySelector("input,textarea"):i.querySelector(e))&&l.focus()),l?t?l.select():_dom.browse.msie&&((n=l.createTextRange()).collapse(!1),n.select()):d.autoPos&&!a.fixed&&x.scrollToRow(o,a)}},handleSelected(e,t){var l=m.mouseConfig,r=R.editStore,o=c.value;let a=h.value,{actived:i,selected:n}=r,{row:d,column:u}=e,s=l&&o.selected;return!s||n.row===d&&n.column===u||(i.row!==d||"cell"===a.mode&&i.column!==u)&&(A(t),x.clearSelected(),x.clearCellAreas&&(x.clearCellAreas(),x.clearCopyCellArea()),n.args=e,n.row=d,n.column=u,s&&g.addCellSelectedClass(),x.focus(),t)&&x.dispatchEvent("cell-selected",e,t),(0,_vue.nextTick)()},addCellSelectedClass(){var e=R.editStore,e=e.selected,{row:e,column:t}=e;l(),e&&t&&(e=x.getCellElement(e,t))&&(0,_dom.addClass)(e,"col--selected")}},Object.assign(Object.assign({},I),g)},setupGrid(e){return e.extendTableMethods(tableEditMethodKeys)}});
|
|
1
|
+
var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_util=require("../../src/util"),_dom=require("../../../ui/src/dom"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,renderer,hooks,getI18n}=_ui.VxeUI,tableEditMethodKeys=["insert","insertAt","insertNextAt","insertChild","insertChildAt","insertChildNextAt","remove","removeCheckboxRow","removeRadioRow","removeCurrentRow","getRecordset","getInsertRecords","getRemoveRecords","getUpdateRecords","getEditRecord","getActiveRecord","getSelectedCell","clearEdit","clearActived","clearSelected","isEditByRow","isActiveByRow","setEditRow","setActiveRow","setEditCell","setActiveCell","setSelectCell"];hooks.add("tableEditModule",{setupTable(h){let{props:m,reactData:R,internalData:C}=h,o=h.getRefMaps().refElem,{computeMouseOpts:c,computeEditOpts:x,computeCheckboxOpts:_,computeTreeOpts:E,computeValidOpts:n}=h.getComputeMaps(),s=_xeUtils.default.browse(),I={},g={},b=(e,t)=>{var{model:l,editRender:r}=t;r&&(l.value=(0,_util.getCellValue)(e,t),l.update=!1)},a=(e,t)=>{var{model:l,editRender:r}=t;r&&l.update&&((0,_util.setCellValue)(e,t,l.value),l.update=!1,l.value=null)},l=()=>{var e=o.value;e&&(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")},d=()=>{var{editStore:e,tableColumn:t}=R,l=x.value,e=e.actived;let{row:r,column:o}=e;(r||o)&&("row"===l.mode?t.forEach(e=>a(r,e)):a(r,o))},F=(e,t)=>{let{tableFullTreeData:i,afterFullData:n,fullDataRowIdData:d,fullAllDataRowIdData:u}=C;var l=E.value;let{rowField:s,parentField:c,mapChildrenField:g}=l,v=l.children||l.childrenField,w=t?"push":"unshift";e.forEach(l=>{let t=l[c];var r=(0,_util.getRowid)(h,l),o=t?_xeUtils.default.findTree(i,e=>t===e[s],{children:g}):null;if(o){var o=o.item,a=u[(0,_util.getRowid)(h,o)],a=a?a.level:0;let e=o[v],t=o[g];_xeUtils.default.isArray(e)||(e=o[v]=[]),_xeUtils.default.isArray(t)||(t=o[v]=[]),e[w](l),t[w](l);o={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:e,parent:o,level:a+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};d[r]=o,u[r]=o}else{"development"===process.env.NODE_ENV&&t&&(0,_log.warnLog)("vxe.error.unableInsert"),n[w](l),i[w](l);a={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:i,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};d[r]=a,u[r]=a}})},u=(t,l,d)=>{let o=m.treeConfig;var e=R.mergeList;let{tableFullTreeData:r,afterFullData:a,tableFullData:i,fullDataRowIdData:u,fullAllDataRowIdData:s,insertRowMaps:n}=C,c=E.value,{transform:g,rowField:v,mapChildrenField:w}=c,f=c.children||c.childrenField,p=(_xeUtils.default.isArray(t)||(t=[t]),(0,_vue.reactive)(h.defineField(t.map(e=>Object.assign(o&&g?{[w]:[],[f]:[]}:{},e)))));if(_xeUtils.default.eqNull(l))o&&g?F(p,!1):(p.forEach(e=>{var t=(0,_util.getRowid)(h,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:a,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[t]=l,s[t]=l,a.unshift(e),i.unshift(e)}),e.forEach(e=>{var t=e.row;0<t&&(e.row=t+p.length)}));else if(-1===l)o&&g?F(p,!0):(p.forEach(e=>{var t=(0,_util.getRowid)(h,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,treeIndex:-1,$index:-1,items:a,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[t]=l,s[t]=l,a.push(e),i.push(e)}),e.forEach(e=>{var{row:t,rowspan:l}=e;t+l>a.length&&(e.rowspan=l+p.length)}));else if(o&&g){let n=_xeUtils.default.findTree(r,e=>l[v]===e[v],{children:w});if(n){let o=n.parent,a=o?o[w]:r;t=s[(0,_util.getRowid)(h,o)];let i=t?t.level:0;if(p.forEach((e,t)=>{var l=(0,_util.getRowid)(h,e);"development"===process.env.NODE_ENV&&e[c.parentField]&&o&&e[c.parentField]!==o[v]&&(0,_log.errLog)("vxe.error.errProp",[c.parentField+"="+e[c.parentField],c.parentField+"="+o[v]]),o&&(e[c.parentField]=o[v]);let r=n.index+t;d&&(r+=1),a.splice(r,0,e);t={row:e,rowid:l,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:a,parent:o,level:i+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[l]=t,s[l]=t}),o){t=_xeUtils.default.findTree(r,e=>l[v]===e[v],{children:f});if(t){var x=t.items;let e=t.index;d&&(e+=1),x.splice(e,0,...p)}}}else"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.unableInsert"),F(p,!0)}else{if(o)throw new Error(getI18n("vxe.error.noTree",["insert"]));let r=-1;if(_xeUtils.default.isNumber(l)?l<a.length&&(r=l):r=h.findRowIndexOf(a,l),-1===(r=d?Math.min(a.length,r+1):r))throw new Error(getI18n("vxe.error.unableInsert"));a.splice(r,0,...p);t=h.findRowIndexOf(i,l);-1<t?i.splice(t+(d?1:0),0,...p):i.push(...p),e.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t+p.length:t+l>r&&(e.rowspan=l+p.length)})}return p.forEach(e=>{var t=(0,_util.getRowid)(h,e);n[t]=e}),R.insertRowFlag++,h.cacheRowMap(!1),h.updateScrollYStatus(),h.handleTableData(o&&g),o&&g||h.updateAfterDataIndex(),h.updateFooter(),h.checkSelectionStatus(),R.scrollYLoad&&h.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(h.updateCellAreas(),h.recalculate())).then(()=>({row:p.length?p[p.length-1]:null,rows:p}))},r=(e,t,l,r)=>{var o=m.treeConfig;let{transform:a,rowField:i,parentField:n}=E.value;return o&&a?(_xeUtils.default.isArray(e)||(e=[e]),u(e.map(e=>Object.assign({},e,{[n]:t[i]})),l,r)):((0,_log.errLog)("vxe.error.errProp",["tree-config.transform=false","tree-config.transform=true"]),Promise.resolve({row:null,rows:[]}))},A=(e,t)=>{var l=R.editStore,{actived:l,focused:r}=l,{row:o,column:a}=l,i=n.value;if(o||a){if(t&&(0,_util.getRowid)(h,t)!==(0,_util.getRowid)(h,o))return(0,_vue.nextTick)();d(),l.args=null,l.row=null,l.column=null,h.updateFooter(),h.dispatchEvent("edit-closed",{row:o,rowIndex:h.getRowIndex(o),$rowIndex:h.getVMRowIndex(o),column:a,columnIndex:h.getColumnIndex(a),$columnIndex:h.getVMColumnIndex(a)},e||null)}return r.row=null,r.column=null,i.autoClear&&("full"!==i.msgMode||"obsolete"===getConfig().cellVaildMode)&&h.clearValidate?h.clearValidate():(0,_vue.nextTick)().then(()=>h.updateCellAreas())},i=(l,r,o,e)=>{let a=h.xeGrid;var{editConfig:t,mouseConfig:i}=m,{editStore:n,tableColumn:d}=R,u=x.value,s=u.mode,{actived:n,focused:c}=n;let{row:g,column:v}=l;var w=v.editRender,f=l.cell||h.getCellElement(g,v),p=u.beforeEditMethod||u.activeMethod;if((l.cell=f)&&(0,_utils.isEnableConf)(t)&&(0,_utils.isEnableConf)(w)&&!h.isPendingByRow(g)){if(n.row!==g||"cell"===s&&n.column!==v){let t="edit-disabled";if(!p||p(Object.assign(Object.assign({},l),{$table:h,$grid:a}))){i&&(h.clearSelected(),h.clearCellAreas)&&(h.clearCellAreas(),h.clearCopyCellArea()),h.closeTooltip(),n.column&&A(r),t="edit-activated",v.renderHeight=f.offsetHeight,n.args=l,n.row=g,n.column=v,"row"===s?d.forEach(e=>b(g,e)):b(g,v);let e=u.afterEditMethod;(0,_vue.nextTick)(()=>{o&&h.handleFocus(l,r),e&&e(Object.assign(Object.assign({},l),{$table:h,$grid:a}))})}h.dispatchEvent(t,{row:g,rowIndex:h.getRowIndex(g),$rowIndex:h.getVMRowIndex(g),column:v,columnIndex:h.getColumnIndex(v),$columnIndex:h.getVMColumnIndex(v)},r),"edit-activated"===t&&h.dispatchEvent("edit-actived",{row:g,rowIndex:h.getRowIndex(g),$rowIndex:h.getVMRowIndex(g),column:v,columnIndex:h.getColumnIndex(v),$columnIndex:h.getVMColumnIndex(v)},r)}else{t=n.column;i&&(h.clearSelected(),h.clearCellAreas)&&(h.clearCellAreas(),h.clearCopyCellArea()),t!==v&&(w=t.model,w.update&&(0,_util.setCellValue)(g,t,w.value),h.clearValidate)&&h.clearValidate(g,v),v.renderHeight=f.offsetHeight,n.args=l,n.column=v,e&&setTimeout(()=>{h.handleFocus(l,r)})}c.column=null,c.row=null,h.focus()}return(0,_vue.nextTick)()},v=(t,e,l)=>{var r=m.editConfig;let o=_xeUtils.default.isString(e)?h.getColumnByField(e):e;return t&&o&&(0,_utils.isEnableConf)(r)&&(0,_utils.isEnableConf)(o.editRender)?Promise.resolve(l?h.scrollToRow(t,o):null).then(()=>{var e=h.getCellElement(t,o);return e&&(i({row:t,rowIndex:h.getRowIndex(t),column:o,columnIndex:h.getColumnIndex(o),cell:e,$table:h},null,l,l),C._lastCallTime=Date.now()),(0,_vue.nextTick)()}):(0,_vue.nextTick)()};return I={insert(e){return u(e,null)},insertAt(e,t){return u(e,t)},insertNextAt(e,t){return u(e,t,!0)},insertChild(e,t){return r(e,t,null)},insertChildAt(e,t,l){return r(e,t,l)},insertChildNextAt(e,t,l){return r(e,t,l,!0)},remove(e){var t=m.treeConfig;let{mergeList:l,editStore:r}=R,{tableFullTreeData:o,selectCheckboxMaps:a,afterFullData:i,tableFullData:n,pendingRowMaps:d,insertRowMaps:u,removeRowMaps:s}=C;var c=_.value,g=E.value;let{transform:v,mapChildrenField:w}=g,f=g.children||g.childrenField;g=r.actived,c=c.checkField;let p=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=n,e.forEach(e=>{var t;h.isInsertByRow(e)||(t=(0,_util.getRowid)(h,e),s[t]=e)}),c||(e.forEach(e=>{e=(0,_util.getRowid)(h,e);a[e]&&delete a[e]}),R.updateCheckboxFlag++),n===e?(e=p=n.slice(0),C.tableFullData=[],C.afterFullData=[],h.clearMergeCells()):t&&v?e.forEach(e=>{let t=(0,_util.getRowid)(h,e);var l=_xeUtils.default.findTree(o,e=>t===(0,_util.getRowid)(h,e),{children:w}),l=(l&&(l=l.items.splice(l.index,1),p.push(l[0])),_xeUtils.default.findTree(o,e=>t===(0,_util.getRowid)(h,e),{children:f})),l=(l&&l.items.splice(l.index,1),h.findRowIndexOf(i,e));-1<l&&i.splice(l,1)}):e.forEach(e=>{var t=h.findRowIndexOf(n,e);-1<t&&(t=n.splice(t,1),p.push(t[0]));let r=h.findRowIndexOf(i,e);-1<r&&(l.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t-1:t+l>r&&(e.rowspan=l-1)}),i.splice(r,1))}),g.row&&-1<h.findRowIndexOf(e,g.row)&&I.clearEdit(),e.forEach(e=>{e=(0,_util.getRowid)(h,e);u[e]&&delete u[e],d[e]&&delete d[e]}),R.removeRowFlag++,R.insertRowFlag++,R.pendingRowFlag++,h.updateFooter(),h.cacheRowMap(!1),h.handleTableData(t&&v),t&&v||h.updateAfterDataIndex(),h.checkSelectionStatus(),R.scrollYLoad&&h.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(h.updateCellAreas(),h.recalculate())).then(()=>({row:p.length?p[p.length-1]:null,rows:p}))},removeCheckboxRow(){return I.remove(h.getCheckboxRecords()).then(e=>(h.clearCheckboxRow(),e))},removeRadioRow(){var e=h.getRadioRecord();return I.remove(e||[]).then(e=>(h.clearRadioRow(),e))},removeCurrentRow(){var e=h.getCurrentRecord();return I.remove(e||[]).then(e=>(h.clearCurrentRow(),e))},getRecordset(){var e=I.getRemoveRecords(),t=h.getPendingRecords();let l=e.concat(t);var r=I.getUpdateRecords().filter(t=>!l.some(e=>h.eqRow(e,t)));return{insertRecords:I.getInsertRecords(),removeRecords:e,updateRecords:r,pendingRecords:t}},getInsertRecords(){let{fullAllDataRowIdData:l,insertRowMaps:e}=C,r=[];return _xeUtils.default.each(e,(e,t)=>{l[t]&&r.push(e)}),r},getRemoveRecords(){var e=C.removeRowMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},getUpdateRecords(){var{keepSource:e,treeConfig:t}=m,l=C.tableFullData,r=E.value;return e?(d(),t?_xeUtils.default.filterTree(l,e=>h.isUpdateByRow(e),r):l.filter(e=>h.isUpdateByRow(e))):[]},getActiveRecord(){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["getActiveRecord","getEditRecord"]),h.getEditRecord()},getEditRecord(){var e=R.editStore,t=C.afterFullData,l=o.value,{args:e,row:r}=e.actived;return e&&-1<h.findRowIndexOf(t,r)&&l.querySelectorAll(".vxe-body--column.col--active").length?Object.assign({},e):null},getSelectedCell(){var e=R.editStore,{args:e,column:t}=e.selected;return e&&t?Object.assign({},e):null},clearActived(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["clearActived","clearEdit"]),h.clearEdit(e)},clearEdit(e){return A(null,e)},clearSelected(){var e=R.editStore,e=e.selected;return e.row=null,e.column=null,l(),(0,_vue.nextTick)()},isActiveByRow(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["isActiveByRow","isEditByRow"]),h.isEditByRow(e)},isEditByRow(e){var t=R.editStore;return t.actived.row===e},setActiveRow(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setActiveRow","setEditRow"]),I.setEditRow(e)},setEditRow(e,t){var l=C.visibleColumn;let r=_xeUtils.default.find(l,e=>(0,_utils.isEnableConf)(e.editRender)),o=!1;return t&&(o=!0)!==t&&(r=_xeUtils.default.isString(t)?h.getColumnByField(t):t),v(e,r,o)},setActiveCell(e,t){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setActiveCell","setEditCell"]),I.setEditCell(e,t)},setEditCell(e,t){return v(e,t,!0)},setSelectCell(e,t){var l=R.tableData,r=x.value,t=_xeUtils.default.isString(t)?h.getColumnByField(t):t;return e&&t&&"manual"!==r.trigger&&-1<(r=h.findRowIndexOf(l,e))&&t&&(l=h.getCellElement(e,t),e={row:e,rowIndex:r,column:t,columnIndex:h.getColumnIndex(t),cell:l},h.handleSelected(e,{})),(0,_vue.nextTick)()}},g={handleEdit(e,t){return i(e,t,!0,!0)},handleActived(e,t){return g.handleEdit(e,t)},handleClearEdit:A,handleFocus(r){var{row:o,column:a,cell:i}=r,n=a.editRender,d=x.value;if((0,_utils.isEnableConf)(n)){var u=renderer.get(n.name);let e=n.autofocus||n.autoFocus,t=n.autoSelect||n.autoselect,l;d.autoFocus&&(!e&&u&&(e=u.tableAutoFocus||u.tableAutofocus||u.autofocus),!t&&u&&(t=u.tableAutoSelect||u.autoselect),_xeUtils.default.isFunction(e)?l=e(r):e&&(l=!0===e?i.querySelector("input,textarea"):i.querySelector(e))&&l.focus()),l?t?l.select():s.msie&&((n=l.createTextRange()).collapse(!1),n.select()):d.autoPos&&!a.fixed&&h.scrollToRow(o,a)}},handleSelected(e,t){var l=m.mouseConfig,r=R.editStore,o=c.value;let a=x.value,{actived:i,selected:n}=r,{row:d,column:u}=e,s=l&&o.selected;return!s||n.row===d&&n.column===u||(i.row!==d||"cell"===a.mode&&i.column!==u)&&(A(t),h.clearSelected(),h.clearCellAreas&&(h.clearCellAreas(),h.clearCopyCellArea()),n.args=e,n.row=d,n.column=u,s&&g.addCellSelectedClass(),h.focus(),t)&&h.dispatchEvent("cell-selected",e,t),(0,_vue.nextTick)()},addCellSelectedClass(){var e=R.editStore,e=e.selected,{row:e,column:t}=e;l(),e&&t&&(e=h.getCellElement(e,t))&&(0,_dom.addClass)(e,"col--selected")}},Object.assign(Object.assign({},I),g)},setupGrid(e){return e.extendTableMethods(tableEditMethodKeys)}});
|
|
@@ -8,10 +8,11 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
|
8
8
|
const {
|
|
9
9
|
hooks
|
|
10
10
|
} = _ui.VxeUI;
|
|
11
|
+
const browseObj = _xeUtils.default.browse();
|
|
11
12
|
function getTargetOffset(target, container) {
|
|
12
13
|
let offsetTop = 0;
|
|
13
14
|
let offsetLeft = 0;
|
|
14
|
-
const triggerCheckboxLabel = !
|
|
15
|
+
const triggerCheckboxLabel = !browseObj.firefox && (0, _dom.hasClass)(target, 'vxe-checkbox--label');
|
|
15
16
|
if (triggerCheckboxLabel) {
|
|
16
17
|
const checkboxLabelStyle = getComputedStyle(target);
|
|
17
18
|
offsetTop -= _xeUtils.default.toNumber(checkboxLabelStyle.paddingTop);
|
|
@@ -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,u=!
|
|
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,browseObj=_xeUtils.default.browse();function getTargetOffset(e,t){let l=0,o=0;var r,n,u=!browseObj.firefox&&(0,_dom.hasClass)(e,"vxe-checkbox--label");for(u&&(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,u&&(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:S,reactData:y,internalData:O}=M,D=M.getRefMaps().refElem,{computeEditOpts:v,computeCheckboxOpts:a,computeMouseOpts:s,computeTreeOpts:c,computeRowOpts:H,computeColumnOpts:p,computeCellOpts:V,computeDefaultRowHeight:F,computeCurrentRowOpts:C,computeCurrentColumnOpts:w}=M.getComputeMaps();let d=(e,k)=>{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}=k;if("checkbox"===r.type){let _=l;if(o&&"left"===r.fixed?_=o:t&&"right"===r.fixed&&(_=t),_){let t=D.value,i=e.clientX,a=e.clientY,s=_.querySelector(".vxe-table--checkbox-range"),c=n.parentElement,d=M.getCheckboxRecords(),g=[],h=1;l=getTargetOffset(e.target,_);let m=l.offsetTop+e.offsetY,f=l.offsetLeft+e.offsetX,v=_.scrollTop,u=c.offsetHeight,p=c.getBoundingClientRect(),C=a-p.y,w=null,x=!1,b=1,R=(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-a+(_.scrollTop-v);let o=Math.abs(l),r=Math.abs(t),n=m,u=f;l<h?(n+=l)<h&&(n=h,o=m):o=Math.min(o,_.scrollHeight-m-h),t<h?(u+=t,r>f&&(u=h,r=f)):r=Math.min(r,_.clientWidth-f-h),s.style.height=o+"px",s.style.width=r+"px",s.style.left=u+"px",s.style.top=n+"px",s.style.display="block";t=((e,t,l,o,r)=>{var n=S.showOverflow,{fullAllDataRowIdData:u,isResizeCellHeight:i}=O,a=H.value,s=V.value,c=F.value,e=e.row;let d=0,g=[],h=0;var m=0<r,f=y.scrollYLoad,v=O.afterFullData;if(h=m?o+r:l.height-o+Math.abs(r),f){l=M.getVTRowIndex(e);if(!(i||s.height||a.height)&&n)g=m?v.slice(l,l+Math.ceil(h/c)):v.slice(l-Math.floor(h/c),l+1);else if(m)for(let e=l;e<v.length;e++){var p=v[e],C=u[M.getRowid(p)]||{};if(d+=C.resizeHeight||s.height||a.height||C.height||c,g.push(p),d>h)return g}else for(let e=l;0<=e;e--){var w=v[e],x=u[M.getRowid(w)]||{};if(d+=x.resizeHeight||s.height||a.height||x.height||c,g.push(w),d>h)return g}}else for(var b=m?"next":"previous";t&&d<h;){var R=M.getRowNode(t);R&&(g.push(R.item),d+=t.offsetHeight,t=t[b+"ElementSibling"])}return g})(k,c,p,C,l<h?-o:o);10<o&&t.length!==g.length&&(g=t,e.ctrlKey?t.forEach(e=>{M.handleBatchSelectRows([e],-1===d.indexOf(e))}):(M.setAllCheckboxRow(!1),M.handleCheckedCheckboxRow(t,!0,!1)),R("change",e))},I=()=>{clearTimeout(w),w=null},E=n=>{I(),w=setTimeout(()=>{var e,t,l,o,r;w&&({scrollLeft:e,scrollTop:t,clientHeight:l,scrollHeight:o}=_,r=Math.ceil(50*b/u),x?t+l<o?(M.scrollTo(e,t+r),E(n),T(n)):I():t?(M.scrollTo(e,t-r),E(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)(_).boundingTop;t<l?(x=!1,b=l-t,w||E(e)):t>l+_.clientHeight?(x=!0,b=t-l-_.clientHeight,w||E(e)):w&&I(),T(e)},document.onmouseup=e=>{I(),(0,_dom.removeClass)(t,"drag--range"),s.removeAttribute("style"),document.onmousemove=null,document.onmouseup=null,R("end",e)},R("start",e)}}};let g=(e,t,l,o,r,n)=>{var{afterFullData:u,visibleColumn:i}=O;let a=Object.assign({},t);var t=M.getVTRowIndex(a.row),s=M.getVTColumnIndex(a.column);return e.preventDefault(),o&&0<t?(a.rowIndex=t-1,a.row=u[a.rowIndex]):n&&t<u.length-1?(a.rowIndex=t+1,a.row=u[a.rowIndex]):l&&s?(a.columnIndex=s-1,a.column=i[a.columnIndex]):r&&s<i.length-1&&(a.columnIndex=s+1,a.column=i[a.columnIndex]),M.scrollToRow(a.row,a.column).then(()=>{a.cell=M.getCellElement(a.row,a.column),M.handleSelected(a,e)}),a};return{moveTabSelected(e,t,l){var o=S.editConfig,{afterFullData:r,visibleColumn:n}=O,u=v.value,i=H.value,a=C.value,s=p.value,c=w.value;let d,g,h,m=Object.assign({},e);var e=M.getVTRowIndex(m.row),f=M.getVTColumnIndex(m.column),t=(l.preventDefault(),t?f<=0?0<e&&(g=e-1,d=r[g],h=n.length-1):h=f-1:f>=n.length-1?e<r.length-1&&(g=e+1,d=r[g],h=0):h=f+1,n[h]);t&&(d?(m.rowIndex=g,m.row=d):m.rowIndex=e,m.columnIndex=h,m.column=t,m.cell=M.getCellElement(m.row,m.column),i.isCurrent&&a.isFollowSelected&&M.triggerCurrentRowEvent(l,m),s.isCurrent&&c.isFollowSelected&&M.triggerCurrentColumnEvent(l,m),o?"click"!==u.trigger&&"dblclick"!==u.trigger||("row"===u.mode?M.handleEdit(m,l):M.scrollToRow(m.row,m.column).then(()=>{M.handleSelected(m,l)})):M.scrollToRow(m.row,m.column).then(()=>{M.handleSelected(m,l)}))},moveCurrentRow(e,t,l){var o=S.treeConfig;let r=y.currentRow;var n=O.afterFullData,u=c.value,u=u.children||u.childrenField;let i;if(r?o?({index:o,items:u}=_xeUtils.default.findTree(n,e=>e===r,{children:u}),e&&0<o?i=u[o-1]:t&&o<u.length-1&&(i=u[o+1])):(u=M.getVTRowIndex(r),e&&0<u?i=n[u-1]:t&&u<n.length-1&&(i=n[u+1])):i=n[0],i){l.preventDefault();let e={$table:M,row:i,rowIndex:M.getRowIndex(i),$rowIndex:M.getVMRowIndex(i)};M.scrollToRow(i).then(()=>M.triggerCurrentRowEvent(l,e))}},moveCurrentColumn(e,t,l){var o=y.currentColumn,r=O.visibleColumn;let n=null;if(o?(o=M.getVTColumnIndex(o),e&&0<o?n=r[o-1]:t&&o<r.length-1&&(n=r[o+1])):n=r[0],n){l.preventDefault();let e={$table:M,column:n,columnIndex:M.getColumnIndex(n),$columnIndex:M.getVMColumnIndex(n)};M.scrollToColumn(n).then(()=>M.triggerCurrentColumnEvent(l,e))}},moveArrowSelected(e,t,l,o,r,n){var{highlightCurrentRow:u,highlightCurrentColumn:i}=S,a=H.value,s=p.value;g(n,e,t,l,o,r),(l||r)&&(a.isCurrent||u)&&M.moveCurrentRow(l,r,n),(t||o)&&(s.isCurrent||i)&&M.moveCurrentColumn(t,o,n)},moveEnterSelected(e,t,l,o,r,n){var u=H.value,i=C.value,a=p.value,s=w.value,e=g(n,e,t,l,o,r);u.isCurrent&&i.isFollowSelected&&M.triggerCurrentRowEvent(n,e),a.isCurrent&&s.isFollowSelected&&M.triggerCurrentColumnEvent(n,e)},moveSelected(e,t,l,o,r,n){g(n,e,t,l,o,r)},handleCellMousedownEvent:(e,t)=>{var{editConfig:l,checkboxConfig:o,mouseConfig:r}=S,n=a.value,u=s.value,i=v.value;if(r&&u.area&&M.handleCellAreaMousedownEvent)return M.handleCellAreaMousedownEvent(e,t);o&&n.range&&d(e,t),r&&u.selected&&(l&&"cell"!==i.mode||M.handleSelected(t,e))}}}});
|
package/lib/table/src/table.js
CHANGED
|
@@ -53,6 +53,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
53
53
|
emit
|
|
54
54
|
} = context;
|
|
55
55
|
const xID = _xeUtils.default.uniqueId();
|
|
56
|
+
const browseObj = _xeUtils.default.browse();
|
|
56
57
|
// 使用已安装的组件,如果未安装则不渲染
|
|
57
58
|
const VxeUILoadingComponent = _ui.VxeUI.getComponent('VxeLoading');
|
|
58
59
|
const VxeUITooltipComponent = _ui.VxeUI.getComponent('VxeTooltip');
|
|
@@ -2335,7 +2336,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2335
2336
|
if (tableElem) {
|
|
2336
2337
|
tableElem.style.width = tWidth ? `${tWidth}px` : '';
|
|
2337
2338
|
// 兼容性处理
|
|
2338
|
-
tableElem.style.paddingRight = osbWidth && fixedType && (
|
|
2339
|
+
tableElem.style.paddingRight = osbWidth && fixedType && (browseObj['-moz'] || browseObj.safari) ? `${osbWidth}px` : '';
|
|
2339
2340
|
}
|
|
2340
2341
|
const emptyBlockElem = (0, _util.getRefElem)(elemStore[`${name}-${layout}-emptyBlock`]);
|
|
2341
2342
|
if (emptyBlockElem) {
|
|
@@ -7693,7 +7694,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
7693
7694
|
* @param {Event} evnt 事件
|
|
7694
7695
|
* @param {Row} row 行对象
|
|
7695
7696
|
*/
|
|
7696
|
-
const handleTooltip = (evnt, tdEl, overflowElem, params) => {
|
|
7697
|
+
const handleTooltip = (evnt, tdEl, overflowElem, tipElem, params) => {
|
|
7697
7698
|
const tipOverEl = overflowElem || tdEl;
|
|
7698
7699
|
if (!tipOverEl) {
|
|
7699
7700
|
return (0, _vue.nextTick)();
|
|
@@ -7714,7 +7715,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
7714
7715
|
const customContent = contentMethod ? contentMethod(params) : null;
|
|
7715
7716
|
const useCustom = contentMethod && !_xeUtils.default.eqNull(customContent);
|
|
7716
7717
|
const content = useCustom ? customContent : _xeUtils.default.toString(column.type === 'html' ? tipOverEl.innerText : tipOverEl.textContent).trim();
|
|
7717
|
-
|
|
7718
|
+
const isOver = tipOverEl.scrollWidth > tipOverEl.clientWidth;
|
|
7719
|
+
if (content && (showAll || useCustom || isOver)) {
|
|
7718
7720
|
Object.assign(tooltipStore, {
|
|
7719
7721
|
row,
|
|
7720
7722
|
column,
|
|
@@ -7724,7 +7726,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
7724
7726
|
(0, _vue.nextTick)(() => {
|
|
7725
7727
|
const $tooltip = refTooltip.value;
|
|
7726
7728
|
if ($tooltip && $tooltip.open) {
|
|
7727
|
-
$tooltip.open(tipOverEl, (0, _utils.formatText)(content));
|
|
7729
|
+
$tooltip.open(isOver ? tipOverEl : tipElem, (0, _utils.formatText)(content));
|
|
7728
7730
|
}
|
|
7729
7731
|
});
|
|
7730
7732
|
}
|
|
@@ -8850,7 +8852,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8850
8852
|
return;
|
|
8851
8853
|
}
|
|
8852
8854
|
if (tooltipStore.column !== column || !tooltipStore.visible) {
|
|
8853
|
-
handleTooltip(evnt, thEl, thEl.querySelector('.vxe-cell--title') || cellEl, params);
|
|
8855
|
+
handleTooltip(evnt, thEl, thEl.querySelector('.vxe-cell--wrapper'), thEl.querySelector('.vxe-cell--title') || cellEl, params);
|
|
8854
8856
|
}
|
|
8855
8857
|
},
|
|
8856
8858
|
/**
|
|
@@ -8888,7 +8890,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8888
8890
|
}
|
|
8889
8891
|
}
|
|
8890
8892
|
if (tooltipStore.column !== column || tooltipStore.row !== row || !tooltipStore.visible) {
|
|
8891
|
-
handleTooltip(evnt, tdEl, tdEl.querySelector('.vxe-cell--label') || tdEl.querySelector('.vxe-cell--wrapper'), params);
|
|
8893
|
+
handleTooltip(evnt, tdEl, tdEl.querySelector('.vxe-cell--wrapper'), tdEl.querySelector('.vxe-cell--label') || tdEl.querySelector('.vxe-cell--wrapper'), params);
|
|
8892
8894
|
}
|
|
8893
8895
|
},
|
|
8894
8896
|
/**
|
|
@@ -8904,7 +8906,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8904
8906
|
const tdEl = evnt.currentTarget;
|
|
8905
8907
|
handleTargetEnterEvent(tooltipStore.column !== column || !!tooltipStore.row);
|
|
8906
8908
|
if (tooltipStore.column !== column || !tooltipStore.visible) {
|
|
8907
|
-
handleTooltip(evnt, tdEl, tdEl.querySelector('.vxe-cell--label') || tdEl.querySelector('.vxe-cell--wrapper'), params);
|
|
8909
|
+
handleTooltip(evnt, tdEl, tdEl.querySelector('.vxe-cell--wrapper'), tdEl.querySelector('.vxe-cell--label') || tdEl.querySelector('.vxe-cell--wrapper'), params);
|
|
8908
8910
|
}
|
|
8909
8911
|
},
|
|
8910
8912
|
handleTargetLeaveEvent() {
|
|
@@ -11711,6 +11713,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
11711
11713
|
(0, _vue.watch)(computeScrollbarYToLeft, () => {
|
|
11712
11714
|
reLayoutFlag.value++;
|
|
11713
11715
|
});
|
|
11716
|
+
(0, _vue.watch)(() => _ui.VxeUI.getLanguage(), () => {
|
|
11717
|
+
reLayoutFlag.value++;
|
|
11718
|
+
});
|
|
11714
11719
|
(0, _vue.watch)(reLayoutFlag, () => {
|
|
11715
11720
|
(0, _vue.nextTick)(() => tableMethods.recalculate(true));
|
|
11716
11721
|
});
|