vxe-table 4.8.16 → 4.9.1
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/README.en.md +1 -1
- package/README.md +1 -1
- package/README.zh-TW.md +1 -1
- package/es/locale/lang/en-US.js +1 -0
- package/es/locale/lang/es-ES.js +1 -0
- package/es/locale/lang/hu-HU.js +1 -0
- package/es/locale/lang/ja-JP.js +1 -0
- package/es/locale/lang/ko-KR.js +1 -0
- package/es/locale/lang/pt-BR.js +1 -0
- package/es/locale/lang/ru-RU.js +1 -0
- package/es/locale/lang/uk-UA.js +1 -0
- package/es/locale/lang/vi-VN.js +1 -0
- package/es/locale/lang/zh-CHT.js +1 -0
- package/es/locale/lang/zh-CN.js +1 -0
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/module/custom/hook.js +4 -0
- package/es/table/module/edit/hook.js +53 -34
- package/es/table/module/filter/hook.js +2 -3
- package/es/table/module/keyboard/hook.js +2 -2
- package/es/table/src/body.js +31 -24
- package/es/table/src/cell.js +99 -59
- package/es/table/src/emits.js +3 -0
- package/es/table/src/footer.js +177 -147
- package/es/table/src/header.js +144 -107
- package/es/table/src/props.js +5 -1
- package/es/table/src/table.js +346 -108
- package/es/table/src/util.js +9 -0
- package/es/table/style.css +33 -20
- package/es/table/style.min.css +1 -1
- package/es/ui/index.js +9 -4
- package/es/ui/src/log.js +1 -1
- package/es/vxe-table/style.css +33 -20
- package/es/vxe-table/style.min.css +1 -1
- package/helper/vetur/attributes.json +1 -1
- package/helper/vetur/tags.json +1 -1
- package/lib/index.umd.js +1035 -573
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/en-US.js +1 -0
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +1 -0
- package/lib/locale/lang/es-ES.js +1 -0
- package/lib/locale/lang/es-ES.min.js +1 -1
- package/lib/locale/lang/es-ES.umd.js +1 -0
- package/lib/locale/lang/hu-HU.js +1 -0
- package/lib/locale/lang/hu-HU.min.js +1 -1
- package/lib/locale/lang/hu-HU.umd.js +1 -0
- package/lib/locale/lang/ja-JP.js +1 -0
- package/lib/locale/lang/ja-JP.min.js +1 -1
- package/lib/locale/lang/ja-JP.umd.js +1 -0
- package/lib/locale/lang/ko-KR.js +1 -0
- package/lib/locale/lang/ko-KR.min.js +1 -1
- package/lib/locale/lang/ko-KR.umd.js +1 -0
- package/lib/locale/lang/pt-BR.js +1 -0
- package/lib/locale/lang/pt-BR.min.js +1 -1
- package/lib/locale/lang/pt-BR.umd.js +1 -0
- package/lib/locale/lang/ru-RU.js +1 -0
- package/lib/locale/lang/ru-RU.min.js +1 -1
- package/lib/locale/lang/ru-RU.umd.js +1 -0
- package/lib/locale/lang/uk-UA.js +1 -0
- package/lib/locale/lang/uk-UA.min.js +1 -1
- package/lib/locale/lang/uk-UA.umd.js +1 -0
- package/lib/locale/lang/vi-VN.js +1 -0
- package/lib/locale/lang/vi-VN.min.js +1 -1
- package/lib/locale/lang/zh-CHT.js +1 -0
- package/lib/locale/lang/zh-CHT.min.js +1 -1
- package/lib/locale/lang/zh-CN.js +1 -0
- package/lib/locale/lang/zh-CN.min.js +1 -1
- package/lib/locale/lang/zh-CN.umd.js +1 -0
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/module/custom/hook.js +4 -0
- package/lib/table/module/custom/hook.min.js +1 -1
- package/lib/table/module/edit/hook.js +63 -42
- package/lib/table/module/edit/hook.min.js +1 -1
- package/lib/table/module/filter/hook.js +1 -2
- package/lib/table/module/filter/hook.min.js +1 -1
- package/lib/table/module/keyboard/hook.js +2 -2
- package/lib/table/module/keyboard/hook.min.js +1 -1
- package/lib/table/src/body.js +34 -21
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/cell.js +110 -51
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/emits.js +1 -1
- package/lib/table/src/emits.min.js +1 -1
- package/lib/table/src/footer.js +222 -183
- package/lib/table/src/footer.min.js +1 -1
- package/lib/table/src/header.js +188 -150
- package/lib/table/src/header.min.js +1 -1
- package/lib/table/src/props.js +5 -1
- package/lib/table/src/props.min.js +1 -1
- package/lib/table/src/table.js +380 -110
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +10 -0
- package/lib/table/src/util.min.js +1 -1
- package/lib/table/style/style.css +33 -20
- package/lib/table/style/style.min.css +1 -1
- package/lib/ui/index.js +9 -4
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/vxe-table/style/style.css +33 -20
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +3 -3
- package/packages/locale/lang/en-US.ts +1 -0
- package/packages/locale/lang/es-ES.ts +1 -0
- package/packages/locale/lang/hu-HU.ts +1 -0
- package/packages/locale/lang/ja-JP.ts +1 -0
- package/packages/locale/lang/ko-KR.ts +1 -0
- package/packages/locale/lang/pt-BR.ts +1 -0
- package/packages/locale/lang/ru-RU.ts +1 -0
- package/packages/locale/lang/uk-UA.ts +1 -0
- package/packages/locale/lang/vi-VN.ts +1 -0
- package/packages/locale/lang/zh-CHT.ts +1 -0
- package/packages/locale/lang/zh-CN.ts +1 -0
- package/packages/table/module/custom/hook.ts +4 -0
- package/packages/table/module/edit/hook.ts +54 -34
- package/packages/table/module/filter/hook.ts +2 -3
- package/packages/table/module/keyboard/hook.ts +2 -2
- package/packages/table/src/body.ts +46 -31
- package/packages/table/src/cell.ts +140 -92
- package/packages/table/src/emits.ts +3 -0
- package/packages/table/src/footer.ts +189 -152
- package/packages/table/src/header.ts +157 -116
- package/packages/table/src/props.ts +5 -1
- package/packages/table/src/table.ts +358 -109
- package/packages/table/src/util.ts +10 -0
- package/packages/ui/index.ts +8 -3
- package/styles/components/table.scss +42 -35
- /package/es/{iconfont.1731633504443.ttf → iconfont.1731937248477.ttf} +0 -0
- /package/es/{iconfont.1731633504443.woff → iconfont.1731937248477.woff} +0 -0
- /package/es/{iconfont.1731633504443.woff2 → iconfont.1731937248477.woff2} +0 -0
- /package/lib/{iconfont.1731633504443.ttf → iconfont.1731937248477.ttf} +0 -0
- /package/lib/{iconfont.1731633504443.woff → iconfont.1731937248477.woff} +0 -0
- /package/lib/{iconfont.1731633504443.woff2 → iconfont.1731937248477.woff2} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";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}}const{getConfig,renderer,hooks,getI18n}=_ui.VxeUI,tableEditMethodKeys=["insert","insertAt","insertNextAt","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(E){const{props:I,reactData:b,internalData:F}=E,o=E.getRefMaps()["refElem"],{computeMouseOpts:u,computeEditOpts:f,computeCheckboxOpts:h,computeTreeOpts:S,computeValidOpts:n}=E.getComputeMaps();let x={},m={};const p=(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")};function i(){var{editStore:e,tableColumn:t}=b,l=f.value,e=e["actived"];const{row:r,column:o}=e;(r||o)&&("row"===l.mode?t.forEach(e=>a(r,e)):a(r,o))}function A(e,t){const{tableFullTreeData:n,afterFullData:i,fullDataRowIdData:d,fullAllDataRowIdData:c}=F;var l=S.value;const{rowField:s,parentField:u,mapChildrenField:v}=l,g=l.children||l.childrenField,w=t?"push":"unshift";e.forEach(l=>{const t=l[u];var r=(0,_util.getRowid)(E,l),o=t?_xeUtils.default.findTree(n,e=>t===e[s],{children:v}):null;if(o){var o=o["item"],a=c[(0,_util.getRowid)(E,o)],a=a?a.level:0;let e=o[g],t=o[v];_xeUtils.default.isArray(e)||(e=o[g]=[]),_xeUtils.default.isArray(t)||(t=o[g]=[]),e[w](l),t[w](l);o={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,items:e,parent:o,level:a+1,height:0};d[r]=o,c[r]=o}else{"development"===process.env.NODE_ENV&&t&&(0,_log.warnLog)("vxe.error.unableInsert"),i[w](l),n[w](l);a={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,items:n,parent:null,level:0,height:0};d[r]=a,c[r]=a}})}const r=(t,l,o)=>{const a=I["treeConfig"];var{mergeList:e,editStore:r}=b;const{tableFullTreeData:n,afterFullData:i,tableFullData:d,fullDataRowIdData:c,fullAllDataRowIdData:s}=F,u=S.value,{transform:v,rowField:g,mapChildrenField:w}=u,f=u.children||u.childrenField,m=(_xeUtils.default.isArray(t)||(t=[t]),(0,_vue.reactive)(E.defineField(t.map(e=>Object.assign(a&&v?{[w]:[],[f]:[]}:{},e)))));if(_xeUtils.default.eqNull(l))a&&v?A(m,!1):(i.unshift(...m),d.unshift(...m),e.forEach(e=>{var t=e["row"];0<t&&(e.row=t+m.length)}));else if(-1===l)a&&v?A(m,!0):(i.push(...m),d.push(...m),e.forEach(e=>{var{row:t,rowspan:l}=e;t+l>i.length&&(e.rowspan=l+m.length)}));else if(a&&v){const x=_xeUtils.default.findTree(n,e=>l[g]===e[g],{children:w});if(x){const R=x["parent"],C=R?R[w]:n;t=s[(0,_util.getRowid)(E,R)];const _=t?t.level:0;if(m.forEach((e,t)=>{var l=(0,_util.getRowid)(E,e);"development"===process.env.NODE_ENV&&e[u.parentField]&&R&&e[u.parentField]!==R[g]&&(0,_log.errLog)("vxe.error.errProp",[u.parentField+"="+e[u.parentField],u.parentField+"="+R[g]]),R&&(e[u.parentField]=R[g]);let r=x.index+t;o&&(r+=1),C.splice(r,0,e);t={row:e,rowid:l,seq:-1,index:-1,_index:-1,$index:-1,items:C,parent:R,level:_+1,height:0};c[l]=t,s[l]=t}),R){t=_xeUtils.default.findTree(n,e=>l[g]===e[g],{children:f});if(t){var p=t.items;let e=t.index;o&&(e+=1),p.splice(e,0,...m)}}}else"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.unableInsert"),A(m,!0)}else{if(a)throw new Error(getI18n("vxe.error.noTree",["insert"]));let r=-1;if(_xeUtils.default.isNumber(l)?l<i.length&&(r=l):r=E.findRowIndexOf(i,l),-1===(r=o?Math.min(i.length,r+1):r))throw new Error(getI18n("vxe.error.unableInsert"));i.splice(r,0,...m),d.splice(E.findRowIndexOf(d,l),0,...m),e.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t+m.length:t+l>r&&(e.rowspan=l+m.length)})}const h=r["insertMaps"];return m.forEach(e=>{var t=(0,_util.getRowid)(E,e);h[t]=e}),E.cacheRowMap(),E.updateScrollYStatus(),E.handleTableData(a&&v),a&&v||E.updateAfterDataIndex(),E.updateFooter(),E.checkSelectionStatus(),b.scrollYLoad&&E.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(E.updateCellAreas(),E.recalculate())).then(()=>({row:m.length?m[m.length-1]:null,rows:m}))};return x={insert(e){return r(e,null)},insertAt(e,t){return r(e,t)},insertNextAt(e,t){return r(e,t,!0)},remove(e){var t=I["treeConfig"];const{mergeList:l,editStore:r,selectCheckboxMaps:o}=b,{tableFullTreeData:a,afterFullData:n,tableFullData:i}=F;var d=h.value,c=S.value;const{transform:s,mapChildrenField:u}=c,v=c.children||c.childrenField,{actived:g,removeMaps:w,insertMaps:f}=r;c=d.checkField;let m=[];if(e?_xeUtils.default.isArray(e)||(e=[e]):e=i,e.forEach(e=>{var t;E.isInsertByRow(e)||(t=(0,_util.getRowid)(E,e),w[t]=e)}),!c){const p=Object.assign({},o);e.forEach(e=>{e=(0,_util.getRowid)(E,e);p[e]&&delete p[e]}),b.selectCheckboxMaps=p}return i===e?(e=m=i.slice(0),F.tableFullData=[],F.afterFullData=[],E.clearMergeCells()):t&&s?e.forEach(e=>{const t=(0,_util.getRowid)(E,e);var l=_xeUtils.default.findTree(a,e=>t===(0,_util.getRowid)(E,e),{children:u}),l=(l&&(l=l.items.splice(l.index,1),m.push(l[0])),_xeUtils.default.findTree(a,e=>t===(0,_util.getRowid)(E,e),{children:v})),l=(l&&l.items.splice(l.index,1),E.findRowIndexOf(n,e));-1<l&&n.splice(l,1)}):e.forEach(e=>{var t=E.findRowIndexOf(i,e);-1<t&&(t=i.splice(t,1),m.push(t[0]));const r=E.findRowIndexOf(n,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)}),n.splice(r,1))}),g.row&&-1<E.findRowIndexOf(e,g.row)&&x.clearEdit(),e.forEach(e=>{e=(0,_util.getRowid)(E,e);f[e]&&delete f[e]}),E.updateFooter(),E.cacheRowMap(),E.handleTableData(t&&s),t&&s||E.updateAfterDataIndex(),E.checkSelectionStatus(),b.scrollYLoad&&E.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(E.updateCellAreas(),E.recalculate())).then(()=>({row:m.length?m[m.length-1]:null,rows:m}))},removeCheckboxRow(){return x.remove(E.getCheckboxRecords()).then(e=>(E.clearCheckboxRow(),e))},removeRadioRow(){var e=E.getRadioRecord();return x.remove(e||[]).then(e=>(E.clearRadioRow(),e))},removeCurrentRow(){var e=E.getCurrentRecord();return x.remove(e||[]).then(e=>(E.clearCurrentRow(),e))},getRecordset(){var e=x.getRemoveRecords(),t=E.getPendingRecords();const l=e.concat(t);var r=x.getUpdateRecords().filter(t=>!l.some(e=>E.eqRow(e,t)));return{insertRecords:x.getInsertRecords(),removeRecords:e,updateRecords:r,pendingRecords:t}},getInsertRecords(){var e=b["editStore"];const l=F["fullAllDataRowIdData"];e=e.insertMaps;const r=[];return _xeUtils.default.each(e,(e,t)=>{l[t]&&r.push(e)}),r},getRemoveRecords(){var e=b["editStore"],e=e["removeMaps"];const t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},getUpdateRecords(){var{keepSource:e,treeConfig:t}=I,l=F["tableFullData"],r=S.value;return e?(i(),t?_xeUtils.default.filterTree(l,e=>E.isUpdateByRow(e),r):l.filter(e=>E.isUpdateByRow(e))):[]},getActiveRecord(){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["getActiveRecord","getEditRecord"]),this.getEditRecord()},getEditRecord(){var e=b["editStore"],t=F["afterFullData"],l=o.value,{args:e,row:r}=e.actived;return e&&-1<E.findRowIndexOf(t,r)&&l.querySelectorAll(".vxe-body--column.col--active").length?Object.assign({},e):null},getSelectedCell(){var e=b["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"]),this.clearEdit(e)},clearEdit(e){var t=b["editStore"],{actived:t,focused:l}=t,{row:r,column:o}=t,a=n.value;return(r||o)&&(i(),t.args=null,t.row=null,t.column=null,E.updateFooter(),E.dispatchEvent("edit-closed",{row:r,rowIndex:E.getRowIndex(r),$rowIndex:E.getVMRowIndex(r),column:o,columnIndex:E.getColumnIndex(o),$columnIndex:E.getVMColumnIndex(o)},e||null)),a.autoClear&&("full"!==a.msgMode||"obsolete"===getConfig().cellVaildMode)&&E.clearValidate?E.clearValidate():(l.row=null,(l.column=null,_vue.nextTick)())},clearSelected(){var e=b["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"]),this.isEditByRow(e)},isEditByRow(e){var t=b["editStore"];return t.actived.row===e},setActiveRow(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setActiveRow","setEditRow"]),x.setEditRow(e)},setEditRow(e,t){var l=F["visibleColumn"];let r=_xeUtils.default.find(l,e=>(0,_utils.isEnableConf)(e.editRender));return t&&(r=_xeUtils.default.isString(t)?E.getColumnByField(t):t),E.setEditCell(e,r)},setActiveCell(e,t){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setActiveCell","setEditCell"]),x.setEditCell(e,t)},setEditCell(t,e){var l=I["editConfig"];const r=_xeUtils.default.isString(e)?E.getColumnByField(e):e;return t&&r&&(0,_utils.isEnableConf)(l)&&(0,_utils.isEnableConf)(r.editRender)?E.scrollToRow(t,r).then(()=>{var e=E.getCellElement(t,r);return e&&(m.handleEdit({row:t,rowIndex:E.getRowIndex(t),column:r,columnIndex:E.getColumnIndex(r),cell:e,$table:E}),F._lastCallTime=Date.now()),(0,_vue.nextTick)()}):(0,_vue.nextTick)()},setSelectCell(e,t){var l=b["tableData"],r=f.value,t=_xeUtils.default.isString(t)?E.getColumnByField(t):t;return e&&t&&"manual"!==r.trigger&&-1<(r=E.findRowIndexOf(l,e))&&t&&(l=E.getCellElement(e,t),e={row:e,rowIndex:r,column:t,columnIndex:E.getColumnIndex(t),cell:l},E.handleSelected(e,{})),(0,_vue.nextTick)()}},m={handleEdit(t,l){var{editConfig:e,mouseConfig:r}=I,{editStore:o,tableColumn:a}=b,n=f.value,i=n["mode"],{actived:o,focused:d}=o;const{row:c,column:s}=t;var u=s["editRender"],v=t.cell||E.getCellElement(c,s),g=n.beforeEditMethod||n.activeMethod;if((t.cell=v)&&(0,_utils.isEnableConf)(e)&&(0,_utils.isEnableConf)(u)&&!E.hasPendingByRow(c)){if(o.row!==c||"cell"===i&&o.column!==s){let e="edit-disabled";if(!g||g(Object.assign(Object.assign({},t),{$table:E,$grid:E.xegrid}))){r&&(x.clearSelected(),E.clearCellAreas)&&(E.clearCellAreas(),E.clearCopyCellArea()),E.closeTooltip(),o.column&&x.clearEdit(l),e="edit-activated",s.renderHeight=v.offsetHeight,o.args=t,o.row=c,o.column=s,"row"===i?a.forEach(e=>p(c,e)):p(c,s);const w=n.afterEditMethod;(0,_vue.nextTick)(()=>{m.handleFocus(t,l),w&&w(Object.assign(Object.assign({},t),{$table:E,$grid:E.xegrid}))})}E.dispatchEvent(e,{row:c,rowIndex:E.getRowIndex(c),$rowIndex:E.getVMRowIndex(c),column:s,columnIndex:E.getColumnIndex(s),$columnIndex:E.getVMColumnIndex(s)},l),"edit-activated"===e&&E.dispatchEvent("edit-actived",{row:c,rowIndex:E.getRowIndex(c),$rowIndex:E.getVMRowIndex(c),column:s,columnIndex:E.getColumnIndex(s),$columnIndex:E.getVMColumnIndex(s)},l)}else{e=o["column"];r&&(x.clearSelected(),E.clearCellAreas)&&(E.clearCellAreas(),E.clearCopyCellArea()),e!==s&&(u=e["model"],u.update&&(0,_util.setCellValue)(c,e,u.value),E.clearValidate)&&E.clearValidate(c,s),s.renderHeight=v.offsetHeight,o.args=t,o.column=s,setTimeout(()=>{m.handleFocus(t,l)})}d.column=null,d.row=null,E.focus()}return(0,_vue.nextTick)()},handleActived(e,t){return m.handleEdit(e,t)},handleFocus(r){var{row:o,column:a,cell:n}=r,i=a["editRender"],d=f.value;if((0,_utils.isEnableConf)(i)){var c=renderer.get(i.name);let e=i.autofocus||i.autoFocus,t=i.autoSelect||i.autoselect,l;d.autoFocus&&(!e&&c&&(e=c.tableAutoFocus||c.tableAutofocus||c.autofocus),!t&&c&&(t=c.tableAutoSelect||c.autoselect),_xeUtils.default.isFunction(e)?l=e(r):e&&(l=!0===e?n.querySelector("input,textarea"):n.querySelector(e))&&l.focus()),l?t?l.select():_dom.browse.msie&&((i=l.createTextRange()).collapse(!1),i.select()):d.autoPos&&!a.fixed&&E.scrollToRow(o,a)}},handleSelected(e,t){var l=I["mouseConfig"],r=b["editStore"],o=u.value;const a=f.value,{actived:n,selected:i}=r,{row:d,column:c}=e,s=l&&o.selected;return!s||i.row===d&&i.column===c||(n.row!==d||"cell"===a.mode&&n.column!==c)&&(x.clearEdit(t),x.clearSelected(),E.clearCellAreas&&(E.clearCellAreas(),E.clearCopyCellArea()),i.args=e,i.row=d,i.column=c,s&&m.addCellSelectedClass(),E.focus(),t)&&E.dispatchEvent("cell-selected",e,t),(0,_vue.nextTick)()},addCellSelectedClass(){var e=b["editStore"],e=e["selected"],{row:e,column:t}=e;l(),e&&t&&(e=E.getCellElement(e,t))&&(0,_dom.addClass)(e,"col--selected")}},Object.assign(Object.assign({},x),m)},setupGrid(e){return e.extendTableMethods(tableEditMethodKeys)}});
|
|
1
|
+
"use strict";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}}const{getConfig,renderer,hooks,getI18n}=_ui.VxeUI,tableEditMethodKeys=["insert","insertAt","insertNextAt","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(E){const{props:I,reactData:b,internalData:F}=E,o=E.getRefMaps()["refElem"],{computeMouseOpts:u,computeEditOpts:f,computeCheckboxOpts:h,computeTreeOpts:A,computeValidOpts:c}=E.getComputeMaps();let x={},m={};const p=(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")};function s(){var{editStore:e,tableColumn:t}=b,l=f.value,e=e["actived"];const{row:r,column:o}=e;(r||o)&&("row"===l.mode?t.forEach(e=>a(r,e)):a(r,o))}function S(e,t){const{tableFullTreeData:n,afterFullData:i,fullDataRowIdData:d,fullAllDataRowIdData:c}=F;var l=A.value;const{rowField:s,parentField:u,mapChildrenField:v}=l,g=l.children||l.childrenField,w=t?"push":"unshift";e.forEach(l=>{const t=l[u];var r=(0,_util.getRowid)(E,l),o=t?_xeUtils.default.findTree(n,e=>t===e[s],{children:v}):null;if(o){var o=o["item"],a=c[(0,_util.getRowid)(E,o)],a=a?a.level:0;let e=o[g],t=o[v];_xeUtils.default.isArray(e)||(e=o[g]=[]),_xeUtils.default.isArray(t)||(t=o[g]=[]),e[w](l),t[w](l);o={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,items:e,parent:o,level:a+1,height:0};d[r]=o,c[r]=o}else{"development"===process.env.NODE_ENV&&t&&(0,_log.warnLog)("vxe.error.unableInsert"),i[w](l),n[w](l);a={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,items:n,parent:null,level:0,height:0};d[r]=a,c[r]=a}})}const r=(t,l,o)=>{const a=I["treeConfig"];var{mergeList:e,editStore:r}=b;const{tableFullTreeData:n,afterFullData:i,tableFullData:d,fullDataRowIdData:c,fullAllDataRowIdData:s}=F,u=A.value,{transform:v,rowField:g,mapChildrenField:w}=u,f=u.children||u.childrenField,m=(_xeUtils.default.isArray(t)||(t=[t]),(0,_vue.reactive)(E.defineField(t.map(e=>Object.assign(a&&v?{[w]:[],[f]:[]}:{},e)))));if(_xeUtils.default.eqNull(l))a&&v?S(m,!1):(i.unshift(...m),d.unshift(...m),e.forEach(e=>{var t=e["row"];0<t&&(e.row=t+m.length)}));else if(-1===l)a&&v?S(m,!0):(i.push(...m),d.push(...m),e.forEach(e=>{var{row:t,rowspan:l}=e;t+l>i.length&&(e.rowspan=l+m.length)}));else if(a&&v){const x=_xeUtils.default.findTree(n,e=>l[g]===e[g],{children:w});if(x){const R=x["parent"],C=R?R[w]:n;t=s[(0,_util.getRowid)(E,R)];const _=t?t.level:0;if(m.forEach((e,t)=>{var l=(0,_util.getRowid)(E,e);"development"===process.env.NODE_ENV&&e[u.parentField]&&R&&e[u.parentField]!==R[g]&&(0,_log.errLog)("vxe.error.errProp",[u.parentField+"="+e[u.parentField],u.parentField+"="+R[g]]),R&&(e[u.parentField]=R[g]);let r=x.index+t;o&&(r+=1),C.splice(r,0,e);t={row:e,rowid:l,seq:-1,index:-1,_index:-1,$index:-1,items:C,parent:R,level:_+1,height:0};c[l]=t,s[l]=t}),R){t=_xeUtils.default.findTree(n,e=>l[g]===e[g],{children:f});if(t){var p=t.items;let e=t.index;o&&(e+=1),p.splice(e,0,...m)}}}else"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.unableInsert"),S(m,!0)}else{if(a)throw new Error(getI18n("vxe.error.noTree",["insert"]));let r=-1;if(_xeUtils.default.isNumber(l)?l<i.length&&(r=l):r=E.findRowIndexOf(i,l),-1===(r=o?Math.min(i.length,r+1):r))throw new Error(getI18n("vxe.error.unableInsert"));i.splice(r,0,...m),d.splice(E.findRowIndexOf(d,l),0,...m),e.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t+m.length:t+l>r&&(e.rowspan=l+m.length)})}const h=r["insertMaps"];return m.forEach(e=>{var t=(0,_util.getRowid)(E,e);h[t]=e}),E.cacheRowMap(),E.updateScrollYStatus(),E.handleTableData(a&&v),a&&v||E.updateAfterDataIndex(),E.updateFooter(),E.checkSelectionStatus(),b.scrollYLoad&&E.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(E.updateCellAreas(),E.recalculate())).then(()=>({row:m.length?m[m.length-1]:null,rows:m}))},R=(e,t)=>{const l=I["mouseConfig"];var r=b["editStore"],{actived:r,focused:o}=r,{row:a,column:n}=r,i=c.value;const d=u.value;if(a||n){if(t&&(0,_util.getRowid)(E,t)!==(0,_util.getRowid)(E,a))return(0,_vue.nextTick)();s(),r.args=null,r.row=null,r.column=null,E.updateFooter(),E.dispatchEvent("edit-closed",{row:a,rowIndex:E.getRowIndex(a),$rowIndex:E.getVMRowIndex(a),column:n,columnIndex:E.getColumnIndex(n),$columnIndex:E.getVMColumnIndex(n)},e||null)}return(0,_vue.nextTick)(()=>{if(l&&d.area&&E.handleRecalculateCellAreas)return E.handleRecalculateCellAreas()}),i.autoClear&&("full"!==i.msgMode||"obsolete"===getConfig().cellVaildMode)&&E.clearValidate?E.clearValidate():(o.row=null,(o.column=null,_vue.nextTick)())};return x={insert(e){return r(e,null)},insertAt(e,t){return r(e,t)},insertNextAt(e,t){return r(e,t,!0)},remove(e){var t=I["treeConfig"];const{mergeList:l,editStore:r,selectCheckboxMaps:o}=b,{tableFullTreeData:a,afterFullData:n,tableFullData:i}=F;var d=h.value,c=A.value;const{transform:s,mapChildrenField:u}=c,v=c.children||c.childrenField,{actived:g,removeMaps:w,insertMaps:f}=r;c=d.checkField;let m=[];if(e?_xeUtils.default.isArray(e)||(e=[e]):e=i,e.forEach(e=>{var t;E.isInsertByRow(e)||(t=(0,_util.getRowid)(E,e),w[t]=e)}),!c){const p=Object.assign({},o);e.forEach(e=>{e=(0,_util.getRowid)(E,e);p[e]&&delete p[e]}),b.selectCheckboxMaps=p}return i===e?(e=m=i.slice(0),F.tableFullData=[],F.afterFullData=[],E.clearMergeCells()):t&&s?e.forEach(e=>{const t=(0,_util.getRowid)(E,e);var l=_xeUtils.default.findTree(a,e=>t===(0,_util.getRowid)(E,e),{children:u}),l=(l&&(l=l.items.splice(l.index,1),m.push(l[0])),_xeUtils.default.findTree(a,e=>t===(0,_util.getRowid)(E,e),{children:v})),l=(l&&l.items.splice(l.index,1),E.findRowIndexOf(n,e));-1<l&&n.splice(l,1)}):e.forEach(e=>{var t=E.findRowIndexOf(i,e);-1<t&&(t=i.splice(t,1),m.push(t[0]));const r=E.findRowIndexOf(n,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)}),n.splice(r,1))}),g.row&&-1<E.findRowIndexOf(e,g.row)&&x.clearEdit(),e.forEach(e=>{e=(0,_util.getRowid)(E,e);f[e]&&delete f[e]}),E.updateFooter(),E.cacheRowMap(),E.handleTableData(t&&s),t&&s||E.updateAfterDataIndex(),E.checkSelectionStatus(),b.scrollYLoad&&E.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(E.updateCellAreas(),E.recalculate())).then(()=>({row:m.length?m[m.length-1]:null,rows:m}))},removeCheckboxRow(){return x.remove(E.getCheckboxRecords()).then(e=>(E.clearCheckboxRow(),e))},removeRadioRow(){var e=E.getRadioRecord();return x.remove(e||[]).then(e=>(E.clearRadioRow(),e))},removeCurrentRow(){var e=E.getCurrentRecord();return x.remove(e||[]).then(e=>(E.clearCurrentRow(),e))},getRecordset(){var e=x.getRemoveRecords(),t=E.getPendingRecords();const l=e.concat(t);var r=x.getUpdateRecords().filter(t=>!l.some(e=>E.eqRow(e,t)));return{insertRecords:x.getInsertRecords(),removeRecords:e,updateRecords:r,pendingRecords:t}},getInsertRecords(){var e=b["editStore"];const l=F["fullAllDataRowIdData"];e=e.insertMaps;const r=[];return _xeUtils.default.each(e,(e,t)=>{l[t]&&r.push(e)}),r},getRemoveRecords(){var e=b["editStore"],e=e["removeMaps"];const t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},getUpdateRecords(){var{keepSource:e,treeConfig:t}=I,l=F["tableFullData"],r=A.value;return e?(s(),t?_xeUtils.default.filterTree(l,e=>E.isUpdateByRow(e),r):l.filter(e=>E.isUpdateByRow(e))):[]},getActiveRecord(){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["getActiveRecord","getEditRecord"]),this.getEditRecord()},getEditRecord(){var e=b["editStore"],t=F["afterFullData"],l=o.value,{args:e,row:r}=e.actived;return e&&-1<E.findRowIndexOf(t,r)&&l.querySelectorAll(".vxe-body--column.col--active").length?Object.assign({},e):null},getSelectedCell(){var e=b["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"]),this.clearEdit(e)},clearEdit(e){return R(null,e)},clearSelected(){var e=b["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"]),this.isEditByRow(e)},isEditByRow(e){var t=b["editStore"];return t.actived.row===e},setActiveRow(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setActiveRow","setEditRow"]),x.setEditRow(e)},setEditRow(e,t){var l=F["visibleColumn"];let r=_xeUtils.default.find(l,e=>(0,_utils.isEnableConf)(e.editRender));return t&&(r=_xeUtils.default.isString(t)?E.getColumnByField(t):t),E.setEditCell(e,r)},setActiveCell(e,t){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setActiveCell","setEditCell"]),x.setEditCell(e,t)},setEditCell(t,e){var l=I["editConfig"];const r=_xeUtils.default.isString(e)?E.getColumnByField(e):e;return t&&r&&(0,_utils.isEnableConf)(l)&&(0,_utils.isEnableConf)(r.editRender)?E.scrollToRow(t,r).then(()=>{var e=E.getCellElement(t,r);return e&&(m.handleEdit({row:t,rowIndex:E.getRowIndex(t),column:r,columnIndex:E.getColumnIndex(r),cell:e,$table:E}),F._lastCallTime=Date.now()),(0,_vue.nextTick)()}):(0,_vue.nextTick)()},setSelectCell(e,t){var l=b["tableData"],r=f.value,t=_xeUtils.default.isString(t)?E.getColumnByField(t):t;return e&&t&&"manual"!==r.trigger&&-1<(r=E.findRowIndexOf(l,e))&&t&&(l=E.getCellElement(e,t),e={row:e,rowIndex:r,column:t,columnIndex:E.getColumnIndex(t),cell:l},E.handleSelected(e,{})),(0,_vue.nextTick)()}},m={handleEdit(t,l){var{editConfig:e,mouseConfig:r}=I,{editStore:o,tableColumn:a}=b,n=f.value,i=n["mode"],{actived:o,focused:d}=o;const{row:c,column:s}=t;var u=s["editRender"],v=t.cell||E.getCellElement(c,s),g=n.beforeEditMethod||n.activeMethod;if((t.cell=v)&&(0,_utils.isEnableConf)(e)&&(0,_utils.isEnableConf)(u)&&!E.hasPendingByRow(c)){if(o.row!==c||"cell"===i&&o.column!==s){let e="edit-disabled";if(!g||g(Object.assign(Object.assign({},t),{$table:E,$grid:E.xegrid}))){r&&(x.clearSelected(),E.clearCellAreas)&&(E.clearCellAreas(),E.clearCopyCellArea()),E.closeTooltip(),o.column&&R(l),e="edit-activated",s.renderHeight=v.offsetHeight,o.args=t,o.row=c,o.column=s,"row"===i?a.forEach(e=>p(c,e)):p(c,s);const w=n.afterEditMethod;(0,_vue.nextTick)(()=>{m.handleFocus(t,l),w&&w(Object.assign(Object.assign({},t),{$table:E,$grid:E.xegrid}))})}E.dispatchEvent(e,{row:c,rowIndex:E.getRowIndex(c),$rowIndex:E.getVMRowIndex(c),column:s,columnIndex:E.getColumnIndex(s),$columnIndex:E.getVMColumnIndex(s)},l),"edit-activated"===e&&E.dispatchEvent("edit-actived",{row:c,rowIndex:E.getRowIndex(c),$rowIndex:E.getVMRowIndex(c),column:s,columnIndex:E.getColumnIndex(s),$columnIndex:E.getVMColumnIndex(s)},l)}else{e=o["column"];r&&(x.clearSelected(),E.clearCellAreas)&&(E.clearCellAreas(),E.clearCopyCellArea()),e!==s&&(u=e["model"],u.update&&(0,_util.setCellValue)(c,e,u.value),E.clearValidate)&&E.clearValidate(c,s),s.renderHeight=v.offsetHeight,o.args=t,o.column=s,setTimeout(()=>{m.handleFocus(t,l)})}d.column=null,d.row=null,E.focus()}return(0,_vue.nextTick)()},handleActived(e,t){return m.handleEdit(e,t)},handleClearEdit:R,handleFocus(r){var{row:o,column:a,cell:n}=r,i=a["editRender"],d=f.value;if((0,_utils.isEnableConf)(i)){var c=renderer.get(i.name);let e=i.autofocus||i.autoFocus,t=i.autoSelect||i.autoselect,l;d.autoFocus&&(!e&&c&&(e=c.tableAutoFocus||c.tableAutofocus||c.autofocus),!t&&c&&(t=c.tableAutoSelect||c.autoselect),_xeUtils.default.isFunction(e)?l=e(r):e&&(l=!0===e?n.querySelector("input,textarea"):n.querySelector(e))&&l.focus()),l?t?l.select():_dom.browse.msie&&((i=l.createTextRange()).collapse(!1),i.select()):d.autoPos&&!a.fixed&&E.scrollToRow(o,a)}},handleSelected(e,t){var l=I["mouseConfig"],r=b["editStore"],o=u.value;const a=f.value,{actived:n,selected:i}=r,{row:d,column:c}=e,s=l&&o.selected;return!s||i.row===d&&i.column===c||(n.row!==d||"cell"===a.mode&&n.column!==c)&&(R(t),x.clearSelected(),E.clearCellAreas&&(E.clearCellAreas(),E.clearCopyCellArea()),i.args=e,i.row=d,i.column=c,s&&m.addCellSelectedClass(),E.focus(),t)&&E.dispatchEvent("cell-selected",e,t),(0,_vue.nextTick)()},addCellSelectedClass(){var e=b["editStore"],e=e["selected"],{row:e,column:t}=e;l(),e&&t&&(e=E.getCellElement(e,t))&&(0,_dom.addClass)(e,"col--selected")}},Object.assign(Object.assign({},x),m)},setupGrid(e){return e.extendTableMethods(tableEditMethodKeys)}});
|
|
@@ -326,8 +326,7 @@ hooks.add('tableFilterModule', {
|
|
|
326
326
|
fixed
|
|
327
327
|
} = column;
|
|
328
328
|
return $xeTable.scrollToColumn(column).then(() => {
|
|
329
|
-
const
|
|
330
|
-
const headerWrapperElem = headerWrapperRef ? headerWrapperRef.value : null;
|
|
329
|
+
const headerWrapperElem = (0, _util.getRefElem)(elemStore[`${fixed || 'main'}-header-wrapper`] || elemStore['main-header-wrapper']);
|
|
331
330
|
if (headerWrapperElem) {
|
|
332
331
|
const filterBtnElem = headerWrapperElem.querySelector(`.vxe-header--column.${column.id} .vxe-filter--btn`);
|
|
333
332
|
(0, _dom.triggerEvent)(filterBtnElem, 'click');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_dom=require("../../../ui/src/dom"),_utils=require("../../../ui/src/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{renderer,hooks}=_ui.VxeUI,tableFilterMethodKeys=["openFilter","setFilter","clearFilter","getCheckedFilters","updateFilterOptionStatus"];hooks.add("tableFilterModule",{setupTable(F){const{props:d,reactData:_,internalData:n}=F,{refTableHeader:g,refTableBody:b,refTableFilter:k}=F.getRefMaps(),{computeFilterOpts:h,computeMouseOpts:p}=F.getComputeMaps(),i=e=>{var t=_["filterStore"];t.options.forEach(e=>{e.checked=e._checked}),F.confirmFilterEvent(e)},o=(e,t,l)=>{var r=_["filterStore"];r.options.forEach(e=>{e._checked=!1}),l._checked=t,F.checkFilterOptions(),i(e)},a=(e,t,l)=>{l._checked=t,F.checkFilterOptions()};const s={checkFilterOptions(){var e=_["filterStore"];e.isAllSelected=e.options.every(e=>e._checked),e.isIndeterminate=!e.isAllSelected&&e.options.some(e=>e._checked)},triggerFilterEvent(e,d,t){const{initStore:l,filterStore:h}=_;if(h.column===d&&h.visible)h.visible=!1;else{const{target:p,pageX:v}=e,m=(0,_dom.getDomNode)()["visibleWidth"];var{filters:r,filterMultiple:i,filterRender:o}=d,o=(0,_utils.isEnableConf)(o)?renderer.get(o.name):null;const a=d.filterRecoverMethod||(o?o.tableFilterRecoverMethod||o.filterRecoverMethod:null);n._currFilterParams=t,Object.assign(h,{multiple:i,options:r,column:d,style:null}),h.options.forEach(e=>{var{_checked:t,checked:l}=e;(e._checked=l)||t===l||a&&a({option:e,column:d,$table:F})}),this.checkFilterOptions(),h.visible=!0,l.filter=!0,(0,_vue.nextTick)(()=>{var r=g.value,i=b.value,r=r?r.$el:null,i=i.$el;if(i){var o=k.value,o=o?o.$el:null;if(o){var a=o.offsetWidth,n=o.offsetHeight,s=o.querySelector(".vxe-table--filter-header"),o=o.querySelector(".vxe-table--filter-footer"),c=a/2,f=i.clientWidth-a-10;let e,t;var u={top:p.offsetTop+p.offsetParent.offsetTop+p.offsetHeight+"px"};let l=null;r=i.clientHeight-(r?r.clientHeight/2:0);r<=n&&(l=Math.max(40,r-(o?o.offsetHeight:0)-(s?s.offsetHeight:0))),"left"===d.fixed?e=p.offsetLeft+p.offsetParent.offsetLeft-c:"right"===d.fixed?t=p.offsetParent.offsetWidth-p.offsetLeft+(p.offsetParent.offsetParent.offsetWidth-p.offsetParent.offsetLeft)-d.renderWidth-c:e=p.offsetLeft+p.offsetParent.offsetLeft-c-i.scrollLeft,e?(0<(n=v+a-c+10-m)&&(e-=n),u.left=Math.min(f,Math.max(10,e))+"px"):t&&(0<(r=v+a-c+10-m)&&(t+=r),u.right=Math.max(10,t)+"px"),h.style=u,h.maxHeight=l}}})}F.dispatchEvent("filter-visible",{column:d,field:d.field,property:d.field,filterList:F.getCheckedFilters(),visible:h.visible},e)},handleClearFilter(e){if(e){var{filters:t,filterRender:l}=e;if(t){l=(0,_utils.isEnableConf)(l)?renderer.get(l.name):null;const r=e.filterResetMethod||(l?l.tableFilterResetMethod||l.filterResetMethod:null);t.forEach(e=>{e._checked=!1,e.checked=!1,r||(e.data=_xeUtils.default.clone(e.resetValue,!0))}),r&&r({options:t,column:e,$table:F})}}},confirmFilterEvent(e){var t=d["mouseConfig"];const{filterStore:l,scrollXLoad:r,scrollYLoad:i}=_;var o=h.value,a=p.value,n=l["column"],s=n["field"];const c=[],f=[];n.filters.forEach(e=>{e.checked&&(c.push(e.value),f.push(e.data))});var u=F.getCheckedFilters(),n={$table:F,$event:e,column:n,field:s,property:s,values:c,datas:f,filters:u,filterList:u};o.remote||(F.handleTableData(!0),F.checkSelectionStatus()),t&&a.area&&F.handleFilterEvent&&F.handleFilterEvent(e,n),F.dispatchEvent("filter-change",n,e),F.closeFilter(),F.updateFooter().then(()=>{var{scrollXLoad:e,scrollYLoad:t}=_;if(r||e||i||t)return(r||e)&&F.updateScrollXSpace(),(i||t)&&F.updateScrollYSpace(),F.refreshScroll()}).then(()=>(F.updateCellAreas(),F.recalculate(!0))).then(()=>{setTimeout(()=>F.recalculate(),50)})},handleFilterChangeRadioOption:o,handleFilterChangeMultipleOption:a,handleFilterChangeOption(e,t,l){var r=_["filterStore"];r.multiple?a(0,t,l):o(e,t,l)},handleFilterConfirmFilter:i,handleFilterResetFilter:e=>{var t=_["filterStore"];F.handleClearFilter(t.column),F.confirmFilterEvent(e)}};return Object.assign(Object.assign({},{openFilter(e){const t=(0,_util.handleFieldOrColumn)(F,e);if(t&&t.filters){const l=n["elemStore"],r=t["fixed"];return F.scrollToColumn(t).then(()=>{var e=l[`${r||"main"}-header-wrapper`]||l["main-header-wrapper"]
|
|
1
|
+
"use strict";var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_dom=require("../../../ui/src/dom"),_utils=require("../../../ui/src/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{renderer,hooks}=_ui.VxeUI,tableFilterMethodKeys=["openFilter","setFilter","clearFilter","getCheckedFilters","updateFilterOptionStatus"];hooks.add("tableFilterModule",{setupTable(F){const{props:d,reactData:_,internalData:n}=F,{refTableHeader:g,refTableBody:b,refTableFilter:k}=F.getRefMaps(),{computeFilterOpts:h,computeMouseOpts:p}=F.getComputeMaps(),i=e=>{var t=_["filterStore"];t.options.forEach(e=>{e.checked=e._checked}),F.confirmFilterEvent(e)},o=(e,t,l)=>{var r=_["filterStore"];r.options.forEach(e=>{e._checked=!1}),l._checked=t,F.checkFilterOptions(),i(e)},a=(e,t,l)=>{l._checked=t,F.checkFilterOptions()};const s={checkFilterOptions(){var e=_["filterStore"];e.isAllSelected=e.options.every(e=>e._checked),e.isIndeterminate=!e.isAllSelected&&e.options.some(e=>e._checked)},triggerFilterEvent(e,d,t){const{initStore:l,filterStore:h}=_;if(h.column===d&&h.visible)h.visible=!1;else{const{target:p,pageX:v}=e,m=(0,_dom.getDomNode)()["visibleWidth"];var{filters:r,filterMultiple:i,filterRender:o}=d,o=(0,_utils.isEnableConf)(o)?renderer.get(o.name):null;const a=d.filterRecoverMethod||(o?o.tableFilterRecoverMethod||o.filterRecoverMethod:null);n._currFilterParams=t,Object.assign(h,{multiple:i,options:r,column:d,style:null}),h.options.forEach(e=>{var{_checked:t,checked:l}=e;(e._checked=l)||t===l||a&&a({option:e,column:d,$table:F})}),this.checkFilterOptions(),h.visible=!0,l.filter=!0,(0,_vue.nextTick)(()=>{var r=g.value,i=b.value,r=r?r.$el:null,i=i.$el;if(i){var o=k.value,o=o?o.$el:null;if(o){var a=o.offsetWidth,n=o.offsetHeight,s=o.querySelector(".vxe-table--filter-header"),o=o.querySelector(".vxe-table--filter-footer"),c=a/2,f=i.clientWidth-a-10;let e,t;var u={top:p.offsetTop+p.offsetParent.offsetTop+p.offsetHeight+"px"};let l=null;r=i.clientHeight-(r?r.clientHeight/2:0);r<=n&&(l=Math.max(40,r-(o?o.offsetHeight:0)-(s?s.offsetHeight:0))),"left"===d.fixed?e=p.offsetLeft+p.offsetParent.offsetLeft-c:"right"===d.fixed?t=p.offsetParent.offsetWidth-p.offsetLeft+(p.offsetParent.offsetParent.offsetWidth-p.offsetParent.offsetLeft)-d.renderWidth-c:e=p.offsetLeft+p.offsetParent.offsetLeft-c-i.scrollLeft,e?(0<(n=v+a-c+10-m)&&(e-=n),u.left=Math.min(f,Math.max(10,e))+"px"):t&&(0<(r=v+a-c+10-m)&&(t+=r),u.right=Math.max(10,t)+"px"),h.style=u,h.maxHeight=l}}})}F.dispatchEvent("filter-visible",{column:d,field:d.field,property:d.field,filterList:F.getCheckedFilters(),visible:h.visible},e)},handleClearFilter(e){if(e){var{filters:t,filterRender:l}=e;if(t){l=(0,_utils.isEnableConf)(l)?renderer.get(l.name):null;const r=e.filterResetMethod||(l?l.tableFilterResetMethod||l.filterResetMethod:null);t.forEach(e=>{e._checked=!1,e.checked=!1,r||(e.data=_xeUtils.default.clone(e.resetValue,!0))}),r&&r({options:t,column:e,$table:F})}}},confirmFilterEvent(e){var t=d["mouseConfig"];const{filterStore:l,scrollXLoad:r,scrollYLoad:i}=_;var o=h.value,a=p.value,n=l["column"],s=n["field"];const c=[],f=[];n.filters.forEach(e=>{e.checked&&(c.push(e.value),f.push(e.data))});var u=F.getCheckedFilters(),n={$table:F,$event:e,column:n,field:s,property:s,values:c,datas:f,filters:u,filterList:u};o.remote||(F.handleTableData(!0),F.checkSelectionStatus()),t&&a.area&&F.handleFilterEvent&&F.handleFilterEvent(e,n),F.dispatchEvent("filter-change",n,e),F.closeFilter(),F.updateFooter().then(()=>{var{scrollXLoad:e,scrollYLoad:t}=_;if(r||e||i||t)return(r||e)&&F.updateScrollXSpace(),(i||t)&&F.updateScrollYSpace(),F.refreshScroll()}).then(()=>(F.updateCellAreas(),F.recalculate(!0))).then(()=>{setTimeout(()=>F.recalculate(),50)})},handleFilterChangeRadioOption:o,handleFilterChangeMultipleOption:a,handleFilterChangeOption(e,t,l){var r=_["filterStore"];r.multiple?a(0,t,l):o(e,t,l)},handleFilterConfirmFilter:i,handleFilterResetFilter:e=>{var t=_["filterStore"];F.handleClearFilter(t.column),F.confirmFilterEvent(e)}};return Object.assign(Object.assign({},{openFilter(e){const t=(0,_util.handleFieldOrColumn)(F,e);if(t&&t.filters){const l=n["elemStore"],r=t["fixed"];return F.scrollToColumn(t).then(()=>{var e=(0,_util.getRefElem)(l[`${r||"main"}-header-wrapper`]||l["main-header-wrapper"]);e&&(e=e.querySelector(`.vxe-header--column.${t.id} .vxe-filter--btn`),(0,_dom.triggerEvent)(e,"click"))})}return(0,_vue.nextTick)()},setFilter(e,t){e=(0,_util.handleFieldOrColumn)(F,e);return e&&e.filters&&(e.filters=(0,_util.toFilters)(t||[])),(0,_vue.nextTick)()},clearFilter(e){var t=_["filterStore"],l=n["tableFullColumn"],r=h.value;let i;return e?(i=(0,_util.handleFieldOrColumn)(F,e))&&s.handleClearFilter(i):l.forEach(s.handleClearFilter),e&&i===t.column||Object.assign(t,{isAllSelected:!1,isIndeterminate:!1,style:null,options:[],column:null,multiple:!1,visible:!1}),r.remote?(0,_vue.nextTick)():F.updateData()},getCheckedFilters(){var e=n["tableFullColumn"];const o=[];return e.forEach(e=>{var{field:t,filters:l}=e;const r=[],i=[];l&&l.length&&(l.forEach(e=>{e.checked&&(r.push(e.value),i.push(e.data))}),r.length)&&o.push({column:e,field:t,property:t,values:r,datas:i})}),o},updateFilterOptionStatus(e,t){return e._checked=t,e.checked=t,(0,_vue.nextTick)()}}),s)},setupGrid(e){return e.extendTableMethods(tableFilterMethodKeys)}});
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var _xeUtils = _interopRequireDefault(require("xe-utils"));
|
|
4
4
|
var _ui = require("../../../ui");
|
|
5
|
+
var _util = require("../../src/util");
|
|
5
6
|
var _dom = require("../../../ui/src/dom");
|
|
6
7
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
7
8
|
const {
|
|
@@ -101,8 +102,7 @@ hooks.add('tableKeyboardModule', {
|
|
|
101
102
|
} = internalData;
|
|
102
103
|
const disX = evnt.clientX;
|
|
103
104
|
const disY = evnt.clientY;
|
|
104
|
-
const
|
|
105
|
-
const bodyWrapperElem = bodyWrapperRef ? bodyWrapperRef.value : null;
|
|
105
|
+
const bodyWrapperElem = (0, _util.getRefElem)(elemStore[`${column.fixed || 'main'}-body-wrapper`] || elemStore['main-body-wrapper']);
|
|
106
106
|
if (!bodyWrapperElem) {
|
|
107
107
|
return;
|
|
108
108
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_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,
|
|
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 r,n,a=!_dom.browse.firefox&&(0,_dom.hasClass)(e,"vxe-checkbox--label");for(a&&(r=getComputedStyle(e),o-=_xeUtils.default.toNumber(r.paddingTop),l-=_xeUtils.default.toNumber(r.paddingLeft));e&&e!==t;)o+=e.offsetTop,l+=e.offsetLeft,e=e.offsetParent,a&&(n=getComputedStyle(e),o-=_xeUtils.default.toNumber(n.paddingTop),l-=_xeUtils.default.toNumber(n.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 r=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"),n=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 _=(e,t)=>{y.dispatchEvent("checkbox-range-"+e,{records:y.getCheckboxRecords(),reserves:y.getCheckboxReserveRecords()},t)},M=e=>{var{clientX:t,clientY:o}=e,t=t-d,o=o-g+(f.scrollTop-C);let l=Math.abs(o),r=Math.abs(t),n=w,a=b;o<x?(n+=o)<x&&(n=x,l=w):l=Math.min(l,f.scrollHeight-w-x),t<x?(a+=t,r>b&&(a=x,r=b)):r=Math.min(r,f.clientWidth-b-x),m.style.height=l+"px",m.style.width=r+"px",m.style.left=a+"px",m.style.top=n+"px",m.style.display="block";t=function(e,t,o,l,r,n){let a=0,c=[],s=0;var u=0<n,i=S["scrollYLoad"],{afterFullData:d,scrollYStore:g}=D;if(i){s=u?r+n:l.height-r+Math.abs(n);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.handleSelectRow({row:e},-1===p.indexOf(e))}):(y.setAllCheckboxRow(!1),y.handleCheckedCheckboxRow(t,!0,!1)),_("change",e))},E=()=>{clearTimeout(a),a=null},k=n=>{E(),a=setTimeout(()=>{var e,t,o,l,r;a&&({scrollLeft:e,scrollTop:t,clientHeight:o,scrollHeight:l}=f,r=Math.ceil(50*u/T),s?t+o<l?(y.scrollTo(e,t+r),k(n),M(n)):E():t?(y.scrollTo(e,t-r),k(n),M(n)):E())},50)};(0,_dom.addClass)(r,"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(),M(e)},document.onmouseup=e=>{E(),(0,_dom.removeClass)(r,"drag--range"),m.removeAttribute("style"),document.onmousemove=n,document.onmouseup=h,_("end",e)},_("start",e)}}};return{moveTabSelected(e,t,o){var l=g["editConfig"],{afterFullData:r,visibleColumn:n}=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=r[s],u=n.length-1):u=d-1:d>=n.length-1?e<r.length-1&&(s=e+1,c=r[s],u=0):u=d+1,n[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 r=S["currentRow"];var n=D["afterFullData"],a=i.value,a=a.children||a.childrenField;let c;if(o.preventDefault(),r?l?({index:l,items:a}=_xeUtils.default.findTree(n,e=>e===r,{children:a}),e&&0<l?c=a[l-1]:t&&l<a.length-1&&(c=a[l+1])):(a=y.getVTRowIndex(r),e&&0<a?c=n[a-1]:t&&a<n.length-1&&(c=n[a+1])):c=n[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,r,n){var{afterFullData:a,visibleColumn:c}=D;const s=Object.assign({},e);var e=y.getVTRowIndex(s.row),u=y.getVTColumnIndex(s.column);n.preventDefault(),o&&0<e?(s.rowIndex=e-1,s.row=a[s.rowIndex]):r&&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,n)})},triggerHeaderCellMousedownEvent(e,t){var o,l=g["mouseConfig"],r=u.value;l&&r.area&&y.handleHeaderCellAreaEvent&&(l=e.currentTarget,r=(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:r,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:r}=g,n=s.value,a=u.value,c=f.value;if(r&&a.area&&y.handleCellAreaEvent)return y.handleCellAreaEvent(e,t);l&&n.range&&d(e,t),r&&a.selected&&(o&&"cell"!==c.mode||y.handleSelected(t,e))})(e,t),y.focus(),y.closeFilter(),y.closeMenu&&y.closeMenu()}}}});
|
package/lib/table/src/body.js
CHANGED
|
@@ -425,7 +425,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
425
425
|
'col--valid-error': !!errorValidItem,
|
|
426
426
|
'col--current': currentColumn === column
|
|
427
427
|
}, (0, _dom.getPropClass)(compCellClassName, params), (0, _dom.getPropClass)(className, params), (0, _dom.getPropClass)(allCellClassName, params)],
|
|
428
|
-
key: columnKey || columnOpts.useKey || rowOpts.useKey ? colid : $columnIndex
|
|
428
|
+
key: columnKey || columnOpts.useKey || rowOpts.useKey || columnOpts.drag ? colid : $columnIndex
|
|
429
429
|
}, attrs), {
|
|
430
430
|
style: Object.assign({
|
|
431
431
|
height: cellHeight
|
|
@@ -451,7 +451,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
451
451
|
expandColumn,
|
|
452
452
|
selectRadioRow,
|
|
453
453
|
pendingRowMaps,
|
|
454
|
-
pendingRowList
|
|
454
|
+
pendingRowList,
|
|
455
|
+
isDragColMove
|
|
455
456
|
} = tableReactData;
|
|
456
457
|
const {
|
|
457
458
|
fullAllDataRowIdData
|
|
@@ -461,6 +462,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
461
462
|
const treeOpts = computeTreeOpts.value;
|
|
462
463
|
const editOpts = computeEditOpts.value;
|
|
463
464
|
const rowOpts = computeRowOpts.value;
|
|
465
|
+
const columnOpts = computeColumnOpts.value;
|
|
464
466
|
const {
|
|
465
467
|
transform
|
|
466
468
|
} = treeOpts;
|
|
@@ -531,23 +533,34 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
531
533
|
rowChildren = row[childrenField];
|
|
532
534
|
isExpandTree = rowChildren && rowChildren.length > 0 && !!treeExpandedMaps[rowid];
|
|
533
535
|
}
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
536
|
+
const trClass = ['vxe-body--row', treeConfig ? `row--level-${rowLevel}` : '', {
|
|
537
|
+
'row--stripe': stripe && ($xeTable.getVTRowIndex(row) + 1) % 2 === 0,
|
|
538
|
+
'is--new': isNewRow,
|
|
539
|
+
'is--expand-row': isExpandRow,
|
|
540
|
+
'is--expand-tree': isExpandTree,
|
|
541
|
+
'row--new': isNewRow && (editOpts.showStatus || editOpts.showInsertStatus),
|
|
542
|
+
'row--radio': radioOpts.highlight && $xeTable.eqRow(selectRadioRow, row),
|
|
543
|
+
'row--checked': checkboxOpts.highlight && $xeTable.isCheckedByCheckboxRow(row),
|
|
544
|
+
'row--pending': pendingRowList.length && !!pendingRowMaps[rowid]
|
|
545
|
+
}, (0, _dom.getPropClass)(rowClassName, params)];
|
|
546
|
+
const tdVNs = tableColumn.map((column, $columnIndex) => {
|
|
547
|
+
return renderColumn(seq, rowid, fixedType, rowLevel, row, rowIndex, $rowIndex, _rowIndex, column, $columnIndex, tableColumn, tableData);
|
|
548
|
+
});
|
|
549
|
+
rows.push(columnOpts.drag ? (0, _vue.h)(_vue.TransitionGroup, Object.assign({
|
|
550
|
+
name: `vxe-header--col-list${isDragColMove ? '' : '-disabled'}`,
|
|
551
|
+
tag: 'tr',
|
|
552
|
+
class: trClass,
|
|
545
553
|
rowid: rowid,
|
|
546
554
|
style: rowStyle ? _xeUtils.default.isFunction(rowStyle) ? rowStyle(params) : rowStyle : null,
|
|
547
555
|
key: rowKey || rowOpts.useKey || rowOpts.drag || treeConfig ? rowid : $rowIndex
|
|
548
|
-
}, trOn),
|
|
549
|
-
|
|
550
|
-
}))
|
|
556
|
+
}, trOn), {
|
|
557
|
+
default: () => tdVNs
|
|
558
|
+
}) : (0, _vue.h)('tr', Object.assign({
|
|
559
|
+
class: trClass,
|
|
560
|
+
rowid: rowid,
|
|
561
|
+
style: rowStyle ? _xeUtils.default.isFunction(rowStyle) ? rowStyle(params) : rowStyle : null,
|
|
562
|
+
key: rowKey || rowOpts.useKey || rowOpts.drag || treeConfig ? rowid : $rowIndex
|
|
563
|
+
}, trOn), tdVNs));
|
|
551
564
|
// 如果行被展开了
|
|
552
565
|
if (isExpandRow) {
|
|
553
566
|
const expandOpts = computeExpandOpts.value;
|
|
@@ -684,10 +697,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
684
697
|
const leftElem = leftBody ? leftBody.$el : null;
|
|
685
698
|
const rightElem = rightBody ? rightBody.$el : null;
|
|
686
699
|
const bodyElem = tableBody.$el;
|
|
687
|
-
const
|
|
688
|
-
const
|
|
689
|
-
const bodyXRef = elemStore['main-body-xSpace'];
|
|
690
|
-
const bodyXElem = bodyXRef ? bodyXRef.value : null;
|
|
700
|
+
const bodyYElem = (0, _util.getRefElem)(elemStore['main-body-ySpace']);
|
|
701
|
+
const bodyXElem = (0, _util.getRefElem)(elemStore['main-body-xSpace']);
|
|
691
702
|
const bodyHeight = scrollYLoad && bodyYElem ? bodyYElem.clientHeight : bodyElem.clientHeight;
|
|
692
703
|
const bodyWidth = scrollXLoad && bodyXElem ? bodyXElem.clientWidth : bodyElem.clientWidth;
|
|
693
704
|
const remainSize = isPrevWheelTop === isTopWheel ? Math.max(0, wheelYSize - wheelYTotal) : 0;
|
|
@@ -853,6 +864,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
853
864
|
const emptyOpts = computeEmptyOpts.value;
|
|
854
865
|
const keyboardOpts = computeKeyboardOpts.value;
|
|
855
866
|
const mouseOpts = computeMouseOpts.value;
|
|
867
|
+
const columnOpts = computeColumnOpts.value;
|
|
856
868
|
// const isMergeLeftFixedExceeded = computeIsMergeLeftFixedExceeded.value
|
|
857
869
|
// const isMergeRightFixedExceeded = computeIsMergeRightFixedExceeded.value
|
|
858
870
|
// 如果是使用优化模式
|
|
@@ -929,7 +941,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
929
941
|
/**
|
|
930
942
|
* 内容
|
|
931
943
|
*/
|
|
932
|
-
rowOpts.drag ? (0, _vue.h)(_vue.TransitionGroup, {
|
|
944
|
+
rowOpts.drag || columnOpts.drag ? (0, _vue.h)(_vue.TransitionGroup, {
|
|
945
|
+
ref: refBodyTBody,
|
|
933
946
|
name: `vxe-body--row-list${isDragRowMove ? '' : '-disabled'}`,
|
|
934
947
|
tag: 'tbody'
|
|
935
948
|
}, {
|
|
@@ -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}=_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:null}},setup(y){const ue=(0,_vue.inject)("$xeTable",{}),l=(0,_vue.inject)("xesize",null),{xID:_,props:ce,context:b,reactData:ve,internalData:pe}=ue,{refTableBody:m,refTableHeader:p,refTableFooter:g,refTableLeftBody:f,refTableRightBody:w,refScrollXHandleElem:h,refScrollYHandleElem:x}=ue.getRefMaps(),{computeEditOpts:ge,computeMouseOpts:U,computeSYOpts:he,computeEmptyOpts:q,computeKeyboardOpts:j,computeTooltipOpts:we,computeRadioOpts:e,computeExpandOpts:W,computeTreeOpts:c,computeCheckboxOpts:xe,computeCellOpts:ye,computeValidOpts:_e,computeRowOpts:me,computeColumnOpts:be}=ue.getComputeMaps(),T=(0,_vue.ref)(),C=(0,_vue.ref)(),S=(0,_vue.ref)(),O=(0,_vue.ref)(),R=(0,_vue.ref)(),D=(0,_vue.ref)(),E=(0,_vue.ref)(),v=()=>{if(l){var e=l.value;if(e)return lineOffsetSizes[e]||0}return 0},fe=()=>{var e=ce["delayHover"],{lastScrollTime:l,_isResize:t}=ve;return!!(t||l&&Date.now()<l+e)},$=(e,l)=>{let t=1;if(e){var o=c.value,a=e[o.children||o.childrenField];if(a&&ue.isTreeExpandByRow(e))for(let e=0;e<a.length;e++)t+=$(a[e],l)}return t},Te=e=>{var{row:l,column:t}=e,o=pe["afterFullData"],a=ce["treeConfig"],r=c.value,{slots:t,treeNode:s}=t,n=pe["fullAllDataRowIdData"],n=n[(0,_util.getRowid)(ue,l)];let i=0,d=0,u=[];return n&&(i=n.level,d=n._index,u=n.items),t&&t.line?ue.callSlot(t.line,e):(n=ue.eqRow(o[0],l),a&&s&&(r.showLine||r.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=$(l[t-1],e)),ve.rowHeight*o-(t?1:12-v())})(e,u,d)}px`,left:i*r.indent+(i?2-v():0)+16+"px"}})])]:[])},K=(e,l,t,o,a,r,s,n,i,d,U,q)=>{var j=pe["fullAllDataRowIdData"],{columnKey:B,height:u,showOverflow:N,cellClassName:A,cellStyle:c,align:F,spanMethod:Y,mouseConfig:V,editConfig:W,editRules:v,tooltipConfig:K}=ce,{tableData:P,overflowX:p,currentColumn:X,scrollYLoad:z,mergeList:g,editStore:h,isAllOverflow:G,validErrorMaps:x}=ve,J=pe["afterFullData"],m=ye.value,f=_e.value,Q=xe.value,w=ge.value,y=we.value,Z=me.value,_=he.value,ee=be.value,{type:le,cellRender:te,editRender:b,align:T,showOverflow:C,className:oe,treeNode:ae,slots:re}=i,m=m["verticalAlign"],h=h["actived"],_=_["rHeight"],S=Z["height"],O=i.id,R=b||te,R=R?renderer.get(R.name):null,se=R?R.tableCellClassName||R.cellClassName:null,D=R?R.tableCellStyle||R.cellStyle:"";const E=y.showAll;var y=ue.getColumnIndex(i),ne=ue.getVTColumnIndex(i),ie=(0,_utils.isEnableConf)(b);let $=t?i.fixed!==t:i.fixed&&p;p=_xeUtils.default.isUndefined(C)||_xeUtils.default.isNull(C)?N:C,C="ellipsis"===p;const M="title"===p,I=!0===p||"tooltip"===p;p=M||I||C;let de;var H={},j=j[l],T=T||(R?R.tableCellAlign:"")||F,R=x[l+":"+O],F=v&&f.showMessage&&("default"===f.message?u||1<P.length:"inline"===f.message),x={colid:O};const L={$table:ue,$grid:ue.xegrid,isEdit:!1,seq:e,rowid:l,row:a,rowIndex:r,$rowIndex:s,_rowIndex:n,column:i,columnIndex:y,$columnIndex:d,_columnIndex:ne,fixed:t,type:renderType,isHidden:$,level:o,visibleData:J,data:P,items:q};if((M||I||E||K)&&(H.onMouseenter=e=>{fe()||(M?(0,_dom.updateCellTitle)(e.currentTarget,i):(I||E)&&ue.triggerBodyTooltipEvent(e,L),ue.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},L),e))}),(I||E||K)&&(H.onMouseleave=e=>{fe()||((I||E)&&ue.handleTargetLeaveEvent(e),ue.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},L),e))}),(Q.range||V)&&(H.onMousedown=e=>{ue.triggerCellMousedownEvent(e,L)}),H.onClick=e=>{ue.triggerCellClickEvent(e,L)},H.onDblclick=e=>{ue.triggerCellDblclickEvent(e,L)},g.length){v=(0,_util.mergeBodyMethod)(g,n,ne);if(v){var{rowspan:u,colspan:e}=v;if(!u||!e)return null;1<u&&(x.rowspan=u),1<e&&(x.colspan=e)}}else if(Y){var{rowspan:l=1,colspan:r=1}=Y(L)||{};if(!l||!r)return null;1<l&&(x.rowspan=l),1<r&&(x.colspan=r)}!($=$&&g&&(1<x.colspan||1<x.rowspan)?!1:$)&&W&&(b||te)&&(w.showStatus||w.showUpdateStatus)&&(de=ue.isUpdateByRow(a,i.field));s=[];$&&N&&G?s.push((0,_vue.h)("div",{class:["vxe-cell",{"c--title":M,"c--tooltip":I,"c--ellipsis":C}],style:{maxHeight:p&&(_||S)?`${_||S}px`:""}})):(s.push(...Te(L),(0,_vue.h)("div",{class:["vxe-cell",{"c--title":M,"c--tooltip":I,"c--ellipsis":C}],style:{maxHeight:p&&(_||S)?`${_||S}px`:""},title:M?ue.getCellLabel(a,i):null},i.renderCell(L))),F&&R&&(y=R.rule,t=re?re.valid:null,o=Object.assign(Object.assign({},L),R),s.push((0,_vue.h)("div",{class:["vxe-cell--valid-error-tip",(0,_dom.getPropClass)(f.className,o)],style:y&&y.maxWidth?{width:y.maxWidth+"px"}:null},[(0,_vue.h)("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(f.theme||"normal")},[t?ue.callSlot(t,o):[(0,_vue.h)("span",{class:"vxe-cell--valid-error-msg"},R.content)]])]))));let k="";return p&&(_||S)?k=`${_||S}px`:z&&!p&&(k=`${j.height||24}px`),(0,_vue.h)("td",Object.assign(Object.assign(Object.assign({class:["vxe-body--column",O,{["col--"+T]:T,["col--vertical-"+m]:m,["col--"+le]:le,"col--last":d===U.length-1,"col--tree-node":ae,"col--edit":ie,"col--ellipsis":p,"fixed--hidden":$,"col--dirty":de,"col--active":W&&ie&&h.row===a&&(h.column===i||"row"===w.mode),"col--valid-error":!!R,"col--current":X===i},(0,_dom.getPropClass)(se,L),(0,_dom.getPropClass)(oe,L),(0,_dom.getPropClass)(A,L)],key:B||ee.useKey||Z.useKey?O:d},x),{style:Object.assign({height:k},_xeUtils.default.isFunction(D)?D(L):D,_xeUtils.default.isFunction(c)?c(L):c)}),H),s)},V=(x,m,f)=>{const{stripe:w,rowKey:y,highlightHoverRow:_,rowClassName:b,rowStyle:T,showOverflow:C,editConfig:S,treeConfig:O}=ce,{hasFixedColumn:R,treeExpandedMaps:D,scrollYLoad:E,rowExpandedMaps:$,expandColumn:M,selectRadioRow:I,pendingRowMaps:H,pendingRowList:L}=ve,k=pe["fullAllDataRowIdData"],U=xe.value,q=e.value,j=c.value,B=ge.value,N=me.value,A=j["transform"],F=j.children||j.childrenField,Y=[];return m.forEach((t,o)=>{var e={};let a;a=ue.getRowIndex(t),(N.isHover||_)&&(e.onMouseenter=e=>{fe()||ue.triggerHoverEvent(e,{row:t,rowIndex:a})},e.onMouseleave=()=>{fe()||ue.clearHoverRow()}),N.drag&&(e.onDragstart=ue.handleRowDragDragstartEvent,e.onDragend=ue.handleRowDragDragendEvent,e.onDragover=ue.handleRowDragDragoverEvent);const r=(0,_util.getRowid)(ue,t);var l=k[r];let s=0,n=-1,i=0;l&&(s=l.level,n=l.seq,i=l._index);var d,u,c,l={$table:ue,seq:n,rowid:r,fixed:x,type:renderType,level:s,row:t,rowIndex:a,$rowIndex:o,_rowIndex:i},v=M&&!!$[r];let p=!1,g=[],h=!1;S&&(h=ue.isInsertByRow(t)),!O||E||A||(g=t[F],p=g&&0<g.length&&!!D[r]),Y.push((0,_vue.h)("tr",Object.assign({class:["vxe-body--row",O?"row--level-"+s:"",{"row--stripe":w&&(ue.getVTRowIndex(t)+1)%2==0,"is--new":h,"is--expand-row":v,"is--expand-tree":p,"row--new":h&&(B.showStatus||B.showInsertStatus),"row--radio":q.highlight&&ue.eqRow(I,t),"row--checked":U.highlight&&ue.isCheckedByCheckboxRow(t),"row--pending":L.length&&!!H[r]},(0,_dom.getPropClass)(b,l)],rowid:r,style:T?_xeUtils.default.isFunction(T)?T(l):T:null,key:y||N.useKey||N.drag||O?r:o},e),f.map((e,l)=>K(n,r,x,s,t,a,o,i,e,l,f,m)))),v&&({height:l,padding:v}=W.value,d={},u=(l&&(d.height=l+"px"),O&&(d.paddingLeft=s*j.indent+30+"px"),M)["showOverflow"],u=_xeUtils.default.isUndefined(u)||_xeUtils.default.isNull(u)?C:u,c={$table:ue,seq:n,column:M,fixed:x,type:renderType,level:s,row:t,rowIndex:a,$rowIndex:o,_rowIndex:i},Y.push((0,_vue.h)("tr",Object.assign({class:["vxe-body--expanded-row",{"is--padding":v}],key:"expand_"+r,style:T?_xeUtils.default.isFunction(T)?T(c):T:null},e),[(0,_vue.h)("td",{class:{"vxe-body--expanded-column":1,"fixed--hidden":x&&!R,"col--ellipsis":u},colspan:f.length},[(0,_vue.h)("div",{class:{"vxe-body--expanded-cell":1,"is--ellipsis":l},style:d},[M.renderData(c)])])]))),p&&Y.push(...V(x,g,f))}),Y},B=e=>{var l=y["fixedType"],{lastScrollTop:t,lastScrollLeft:o}=pe,a=p.value,r=m.value,s=g.value,n=f.value,i=w.value,d=T.value,a=a?a.$el:null,s=s?s.$el:null,r=r.$el,n=n?n.$el:null,i=i?i.$el:null,d=d.scrollTop,u=r.scrollLeft,o=u!==o,t=d!==t,c=h.value,v=x.value;v?v.scrollTop=d:t&&(n&&"left"===l?((0,_dom.setScrollTop)(r,d),(0,_dom.setScrollTop)(i,d)):i&&"right"===l?((0,_dom.setScrollTop)(r,d),(0,_dom.setScrollTop)(n,d)):((0,_dom.setScrollTop)(n,d),(0,_dom.setScrollTop)(i,d)),ue.handleScrollEvent(e,t,o,d,u,{type:renderType,fixed:l})),c?c.scrollLeft=u:o&&((0,_dom.setScrollLeft)(a,u),(0,_dom.setScrollLeft)(s,u),ue.handleScrollEvent(e,t,o,d,u,{type:renderType,fixed:l}))};let M,I=0,H=0,L=0,k=!1;const N=(a,r,e,s,n)=>{var l=pe["elemStore"],{scrollXLoad:t,scrollYLoad:o}=ve,i=m.value,d=f.value,u=w.value;const c=d?d.$el:null,v=u?u.$el:null,p=i.$el;d=l["main-body-ySpace"],u=d?d.value:null,i=l["main-body-xSpace"],d=i?i.value:null;const g=(o&&u?u:p).clientHeight,h=(t&&d?d:p).clientWidth;l=k===r?Math.max(0,I-L):0;k=r,I=Math.abs(r?e-l:e+l),H=0,L=0,clearTimeout(M);const x=()=>{var e,l,t,o;L<I&&(e=y["fixedType"],{scrollTop:o,clientHeight:l,scrollHeight:t}=(H=Math.max(5,Math.floor(1.5*H)),(L+=H)>I&&(H-=L-I),p),o=o+H*(r?-1:1),p.scrollTop=o,c&&(c.scrollTop=o),v&&(v.scrollTop=o),(r?o<t-l:0<=o)&&(M=setTimeout(x,10)),ue.dispatchEvent("scroll",{type:renderType,fixed:e,scrollTop:p.scrollTop,scrollLeft:p.scrollLeft,scrollHeight:p.scrollHeight,scrollWidth:p.scrollWidth,bodyHeight:g,bodyWidth:h,isX:s,isY:n},a))};x()},A=e=>{var{deltaY:l,deltaX:t}=e,o=ce["highlightHoverRow"],a=ve["scrollYLoad"],{lastScrollTop:r,lastScrollLeft:s}=pe,n=me.value,i=m.value,d=T.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!==r)&&(e.preventDefault(),pe.lastScrollTop=d,pe.lastScrollLeft=i,ve.lastScrollTime=Date.now(),(n.isHover||o)&&ue.clearHoverRow(),N(e,u,l,t,s),a)&&ue.triggerScrollYEvent(e))};(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=y["fixedType"],l=pe["elemStore"],e=`${e||"main"}-body-`;l[e+"wrapper"]=T,l[e+"table"]=C,l[e+"colgroup"]=S,l[e+"list"]=O,l[e+"xSpace"]=R,l[e+"ySpace"]=D,l[e+"emptyBlock"]=E})}),(0,_vue.onBeforeUnmount)(()=>{clearTimeout(M)}),(0,_vue.onUnmounted)(()=>{var e=y["fixedType"],l=pe["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}=y;var{keyboardConfig:o,showOverflow:a,spanMethod:r,mouseConfig:s}=ce;const{tableData:n,mergeList:i,scrollYLoad:d,isAllOverflow:u,isDragRowMove:c}=ve;var v=pe["visibleColumn"],p=b["slots"],g=me.value,h=he.value,x=q.value,m=j.value,f=U.value;l&&(t=ve.expandColumn||!(d||a&&u)||i.length||r||o&&m.isMerge?v:e);let w;a=p?p.empty:null;return w=a?ue.callSlot(a,{$table:ue,$grid:ue.xegrid}):(o=(r=x.name?renderer.get(x.name):null)?r.renderTableEmpty||r.renderTableEmptyView||r.renderEmpty:null)?(0,_vn.getSlotVNs)(o(x,{$table:ue})):ce.emptyText||getI18n("vxe.table.emptyText"),(0,_vue.h)("div",Object.assign({ref:T,class:["vxe-table--body-wrapper",l?`fixed-${l}--wrapper`:"body--wrapper"],xid:_,onScroll:B},"wheel"===h.mode?{onWheel:A}:{}),[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:_,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:S},t.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l}))),g.drag?(0,_vue.h)(_vue.TransitionGroup,{name:"vxe-body--row-list"+(c?"":"-disabled"),tag:"tbody"},{default:()=>V(l,n,t)}):(0,_vue.h)("tbody",{ref:O},V(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){ue.triggerCellExtendMousedownEvent(e,{$table:ue,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"})]):null,l?null:(0,_vue.h)("div",{class:"vxe-table--empty-block",ref:E},[(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}=_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:null}},setup(_){const ue=(0,_vue.inject)("$xeTable",{}),l=(0,_vue.inject)("xesize",null),{xID:b,props:ce,context:T,reactData:ve,internalData:pe}=ue,{refTableBody:m,refTableHeader:p,refTableFooter:g,refTableLeftBody:f,refTableRightBody:w,refScrollXHandleElem:h,refScrollYHandleElem:k}=ue.getRefMaps(),{computeEditOpts:ge,computeMouseOpts:U,computeSYOpts:he,computeEmptyOpts:j,computeKeyboardOpts:q,computeTooltipOpts:ye,computeRadioOpts:e,computeExpandOpts:X,computeTreeOpts:c,computeCheckboxOpts:xe,computeCellOpts:_e,computeValidOpts:be,computeRowOpts:me,computeColumnOpts:fe}=ue.getComputeMaps(),C=(0,_vue.ref)(),S=(0,_vue.ref)(),R=(0,_vue.ref)(),O=(0,_vue.ref)(),D=(0,_vue.ref)(),E=(0,_vue.ref)(),$=(0,_vue.ref)(),v=()=>{if(l){var e=l.value;if(e)return lineOffsetSizes[e]||0}return 0},we=()=>{var e=ce["delayHover"],{lastScrollTime:l,_isResize:t}=ve;return!!(t||l&&Date.now()<l+e)},x=(e,l)=>{let t=1;if(e){var o=c.value,a=e[o.children||o.childrenField];if(a&&ue.isTreeExpandByRow(e))for(let e=0;e<a.length;e++)t+=x(a[e],l)}return t},Te=e=>{var{row:l,column:t}=e,o=pe["afterFullData"],a=ce["treeConfig"],r=c.value,{slots:t,treeNode:s}=t,n=pe["fullAllDataRowIdData"],n=n[(0,_util.getRowid)(ue,l)];let i=0,d=0,u=[];return n&&(i=n.level,d=n._index,u=n.items),t&&t.line?ue.callSlot(t.line,e):(n=ue.eqRow(o[0],l),a&&s&&(r.showLine||r.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=x(l[t-1],e)),ve.rowHeight*o-(t?1:12-v())})(e,u,d)}px`,left:i*r.indent+(i?2-v():0)+16+"px"}})])]:[])},z=(e,l,t,o,a,r,s,n,i,d,U,j)=>{var q=pe["fullAllDataRowIdData"],{columnKey:B,height:u,showOverflow:N,cellClassName:A,cellStyle:c,align:F,spanMethod:Y,mouseConfig:V,editConfig:K,editRules:v,tooltipConfig:W}=ce,{tableData:P,overflowX:p,currentColumn:X,scrollYLoad:z,mergeList:g,editStore:h,isAllOverflow:G,validErrorMaps:x}=ve,J=pe["afterFullData"],m=_e.value,f=be.value,Q=xe.value,w=ge.value,y=ye.value,Z=me.value,_=he.value,ee=fe.value,{type:le,cellRender:te,editRender:b,align:T,showOverflow:C,className:oe,treeNode:ae,slots:re}=i,m=m["verticalAlign"],h=h["actived"],_=_["rHeight"],S=Z["height"],R=i.id,O=b||te,O=O?renderer.get(O.name):null,se=O?O.tableCellClassName||O.cellClassName:null,D=O?O.tableCellStyle||O.cellStyle:"";const E=y.showAll;var y=ue.getColumnIndex(i),ne=ue.getVTColumnIndex(i),ie=(0,_utils.isEnableConf)(b);let $=t?i.fixed!==t:i.fixed&&p;p=_xeUtils.default.isUndefined(C)||_xeUtils.default.isNull(C)?N:C,C="ellipsis"===p;const M="title"===p,I=!0===p||"tooltip"===p;p=M||I||C;let de;var H={},q=q[l],T=T||(O?O.tableCellAlign:"")||F,O=x[l+":"+R],F=v&&f.showMessage&&("default"===f.message?u||1<P.length:"inline"===f.message),x={colid:R};const L={$table:ue,$grid:ue.xegrid,isEdit:!1,seq:e,rowid:l,row:a,rowIndex:r,$rowIndex:s,_rowIndex:n,column:i,columnIndex:y,$columnIndex:d,_columnIndex:ne,fixed:t,type:renderType,isHidden:$,level:o,visibleData:J,data:P,items:j};if((M||I||E||W)&&(H.onMouseenter=e=>{we()||(M?(0,_dom.updateCellTitle)(e.currentTarget,i):(I||E)&&ue.triggerBodyTooltipEvent(e,L),ue.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},L),e))}),(I||E||W)&&(H.onMouseleave=e=>{we()||((I||E)&&ue.handleTargetLeaveEvent(e),ue.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},L),e))}),(Q.range||V)&&(H.onMousedown=e=>{ue.triggerCellMousedownEvent(e,L)}),H.onClick=e=>{ue.triggerCellClickEvent(e,L)},H.onDblclick=e=>{ue.triggerCellDblclickEvent(e,L)},g.length){v=(0,_util.mergeBodyMethod)(g,n,ne);if(v){var{rowspan:u,colspan:e}=v;if(!u||!e)return null;1<u&&(x.rowspan=u),1<e&&(x.colspan=e)}}else if(Y){var{rowspan:l=1,colspan:r=1}=Y(L)||{};if(!l||!r)return null;1<l&&(x.rowspan=l),1<r&&(x.colspan=r)}!($=$&&g&&(1<x.colspan||1<x.rowspan)?!1:$)&&K&&(b||te)&&(w.showStatus||w.showUpdateStatus)&&(de=ue.isUpdateByRow(a,i.field));s=[];$&&N&&G?s.push((0,_vue.h)("div",{class:["vxe-cell",{"c--title":M,"c--tooltip":I,"c--ellipsis":C}],style:{maxHeight:p&&(_||S)?`${_||S}px`:""}})):(s.push(...Te(L),(0,_vue.h)("div",{class:["vxe-cell",{"c--title":M,"c--tooltip":I,"c--ellipsis":C}],style:{maxHeight:p&&(_||S)?`${_||S}px`:""},title:M?ue.getCellLabel(a,i):null},i.renderCell(L))),F&&O&&(y=O.rule,t=re?re.valid:null,o=Object.assign(Object.assign({},L),O),s.push((0,_vue.h)("div",{class:["vxe-cell--valid-error-tip",(0,_dom.getPropClass)(f.className,o)],style:y&&y.maxWidth?{width:y.maxWidth+"px"}:null},[(0,_vue.h)("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(f.theme||"normal")},[t?ue.callSlot(t,o):[(0,_vue.h)("span",{class:"vxe-cell--valid-error-msg"},O.content)]])]))));let k="";return p&&(_||S)?k=`${_||S}px`:z&&!p&&(k=`${q.height||24}px`),(0,_vue.h)("td",Object.assign(Object.assign(Object.assign({class:["vxe-body--column",R,{["col--"+T]:T,["col--vertical-"+m]:m,["col--"+le]:le,"col--last":d===U.length-1,"col--tree-node":ae,"col--edit":ie,"col--ellipsis":p,"fixed--hidden":$,"col--dirty":de,"col--active":K&&ie&&h.row===a&&(h.column===i||"row"===w.mode),"col--valid-error":!!O,"col--current":X===i},(0,_dom.getPropClass)(se,L),(0,_dom.getPropClass)(oe,L),(0,_dom.getPropClass)(A,L)],key:B||ee.useKey||Z.useKey||ee.drag?R:d},x),{style:Object.assign({height:k},_xeUtils.default.isFunction(D)?D(L):D,_xeUtils.default.isFunction(c)?c(L):c)}),H),s)},P=(m,f,w)=>{const{stripe:y,rowKey:_,highlightHoverRow:b,rowClassName:T,rowStyle:C,showOverflow:S,editConfig:R,treeConfig:O}=ce,{hasFixedColumn:D,treeExpandedMaps:E,scrollYLoad:$,rowExpandedMaps:M,expandColumn:I,selectRadioRow:H,pendingRowMaps:L,pendingRowList:k,isDragColMove:U}=ve,j=pe["fullAllDataRowIdData"],q=xe.value,B=e.value,N=c.value,A=ge.value,F=me.value,Y=fe.value,V=N["transform"],K=N.children||N.childrenField,W=[];return f.forEach((t,o)=>{var e={};let a;a=ue.getRowIndex(t),(F.isHover||b)&&(e.onMouseenter=e=>{we()||ue.triggerHoverEvent(e,{row:t,rowIndex:a})},e.onMouseleave=()=>{we()||ue.clearHoverRow()}),F.drag&&(e.onDragstart=ue.handleRowDragDragstartEvent,e.onDragend=ue.handleRowDragDragendEvent,e.onDragover=ue.handleRowDragDragoverEvent);const r=(0,_util.getRowid)(ue,t);var l=j[r];let s=0,n=-1,i=0;l&&(s=l.level,n=l.seq,i=l._index);var l={$table:ue,seq:n,rowid:r,fixed:m,type:renderType,level:s,row:t,rowIndex:a,$rowIndex:o,_rowIndex:i},d=I&&!!M[r];let u=!1,c=[],v=!1;R&&(v=ue.isInsertByRow(t)),!O||$||V||(c=t[K],u=c&&0<c.length&&!!E[r]);var p,g,h=["vxe-body--row",O?"row--level-"+s:"",{"row--stripe":y&&(ue.getVTRowIndex(t)+1)%2==0,"is--new":v,"is--expand-row":d,"is--expand-tree":u,"row--new":v&&(A.showStatus||A.showInsertStatus),"row--radio":B.highlight&&ue.eqRow(H,t),"row--checked":q.highlight&&ue.isCheckedByCheckboxRow(t),"row--pending":k.length&&!!L[r]},(0,_dom.getPropClass)(T,l)];const x=w.map((e,l)=>z(n,r,m,s,t,a,o,i,e,l,w,f));W.push(Y.drag?(0,_vue.h)(_vue.TransitionGroup,Object.assign({name:"vxe-header--col-list"+(U?"":"-disabled"),tag:"tr",class:h,rowid:r,style:C?_xeUtils.default.isFunction(C)?C(l):C:null,key:_||F.useKey||F.drag||O?r:o},e),{default:()=>x}):(0,_vue.h)("tr",Object.assign({class:h,rowid:r,style:C?_xeUtils.default.isFunction(C)?C(l):C:null,key:_||F.useKey||F.drag||O?r:o},e),x)),d&&({height:h,padding:l}=X.value,d={},p=(h&&(d.height=h+"px"),O&&(d.paddingLeft=s*N.indent+30+"px"),I)["showOverflow"],p=_xeUtils.default.isUndefined(p)||_xeUtils.default.isNull(p)?S:p,g={$table:ue,seq:n,column:I,fixed:m,type:renderType,level:s,row:t,rowIndex:a,$rowIndex:o,_rowIndex:i},W.push((0,_vue.h)("tr",Object.assign({class:["vxe-body--expanded-row",{"is--padding":l}],key:"expand_"+r,style:C?_xeUtils.default.isFunction(C)?C(g):C:null},e),[(0,_vue.h)("td",{class:{"vxe-body--expanded-column":1,"fixed--hidden":m&&!D,"col--ellipsis":p},colspan:w.length},[(0,_vue.h)("div",{class:{"vxe-body--expanded-cell":1,"is--ellipsis":h},style:d},[I.renderData(g)])])]))),u&&W.push(...P(m,c,w))}),W},B=e=>{var l=_["fixedType"],{lastScrollTop:t,lastScrollLeft:o}=pe,a=p.value,r=m.value,s=g.value,n=f.value,i=w.value,d=C.value,a=a?a.$el:null,s=s?s.$el:null,r=r.$el,n=n?n.$el:null,i=i?i.$el:null,d=d.scrollTop,u=r.scrollLeft,o=u!==o,t=d!==t,c=h.value,v=k.value;v?v.scrollTop=d:t&&(n&&"left"===l?((0,_dom.setScrollTop)(r,d),(0,_dom.setScrollTop)(i,d)):i&&"right"===l?((0,_dom.setScrollTop)(r,d),(0,_dom.setScrollTop)(n,d)):((0,_dom.setScrollTop)(n,d),(0,_dom.setScrollTop)(i,d)),ue.handleScrollEvent(e,t,o,d,u,{type:renderType,fixed:l})),c?c.scrollLeft=u:o&&((0,_dom.setScrollLeft)(a,u),(0,_dom.setScrollLeft)(s,u),ue.handleScrollEvent(e,t,o,d,u,{type:renderType,fixed:l}))};let y,M=0,I=0,H=0,L=!1;const N=(a,r,e,s,n)=>{var l=pe["elemStore"],{scrollXLoad:t,scrollYLoad:o}=ve,i=m.value,d=f.value,u=w.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,h=(t&&u?u:p).clientWidth;i=L===r?Math.max(0,M-H):0;L=r,M=Math.abs(r?e-i:e+i),I=0,H=0,clearTimeout(y);const x=()=>{var e,l,t,o;H<M&&(e=_["fixedType"],{scrollTop:o,clientHeight:l,scrollHeight:t}=(I=Math.max(5,Math.floor(1.5*I)),(H+=I)>M&&(I-=H-M),p),o=o+I*(r?-1:1),p.scrollTop=o,c&&(c.scrollTop=o),v&&(v.scrollTop=o),(r?o<t-l:0<=o)&&(y=setTimeout(x,10)),ue.dispatchEvent("scroll",{type:renderType,fixed:e,scrollTop:p.scrollTop,scrollLeft:p.scrollLeft,scrollHeight:p.scrollHeight,scrollWidth:p.scrollWidth,bodyHeight:g,bodyWidth:h,isX:s,isY:n},a))};x()},A=e=>{var{deltaY:l,deltaX:t}=e,o=ce["highlightHoverRow"],a=ve["scrollYLoad"],{lastScrollTop:r,lastScrollLeft:s}=pe,n=me.value,i=m.value,d=C.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!==r)&&(e.preventDefault(),pe.lastScrollTop=d,pe.lastScrollLeft=i,ve.lastScrollTime=Date.now(),(n.isHover||o)&&ue.clearHoverRow(),N(e,u,l,t,s),a)&&ue.triggerScrollYEvent(e))};(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=_["fixedType"],l=pe["elemStore"],e=`${e||"main"}-body-`;l[e+"wrapper"]=C,l[e+"table"]=S,l[e+"colgroup"]=R,l[e+"list"]=O,l[e+"xSpace"]=D,l[e+"ySpace"]=E,l[e+"emptyBlock"]=$})}),(0,_vue.onBeforeUnmount)(()=>{clearTimeout(y)}),(0,_vue.onUnmounted)(()=>{var e=_["fixedType"],l=pe["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:a,spanMethod:r,mouseConfig:s}=ce;const{tableData:n,mergeList:i,scrollYLoad:d,isAllOverflow:u,isDragRowMove:c}=ve;var v=pe["visibleColumn"],p=T["slots"],g=me.value,h=he.value,x=j.value,m=q.value,f=U.value,w=fe.value;l&&(t=ve.expandColumn||!(d||a&&u)||i.length||r||o&&m.isMerge?v:e);let y;a=p?p.empty:null;return y=a?ue.callSlot(a,{$table:ue,$grid:ue.xegrid}):(o=(r=x.name?renderer.get(x.name):null)?r.renderTableEmpty||r.renderTableEmptyView||r.renderEmpty:null)?(0,_vn.getSlotVNs)(o(x,{$table:ue})):ce.emptyText||getI18n("vxe.table.emptyText"),(0,_vue.h)("div",Object.assign({ref:C,class:["vxe-table--body-wrapper",l?`fixed-${l}--wrapper`:"body--wrapper"],xid:b,onScroll:B},"wheel"===h.mode?{onWheel:A}:{}),[l?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{ref:D,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:E,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:S,class:"vxe-table--body",xid:b,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:R},t.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l}))),g.drag||w.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){ue.triggerCellExtendMousedownEvent(e,{$table:ue,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"})]):null,l?null:(0,_vue.h)("div",{class:"vxe-table--empty-block",ref:$},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},y)])])}}});
|