vxe-table 4.12.0-beta.2 → 4.12.0-beta.21
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/grid/src/grid.js +61 -44
- package/es/locale/lang/ar-EG.js +7 -1
- package/es/locale/lang/de-DE.js +7 -1
- package/es/locale/lang/en-US.js +7 -1
- package/es/locale/lang/es-ES.js +7 -1
- package/es/locale/lang/fr-FR.js +7 -1
- package/es/locale/lang/hu-HU.js +7 -1
- package/es/locale/lang/hy-AM.js +7 -1
- package/es/locale/lang/id-ID.js +7 -1
- package/es/locale/lang/it-IT.js +7 -1
- package/es/locale/lang/ja-JP.js +7 -1
- package/es/locale/lang/ko-KR.js +7 -1
- package/es/locale/lang/nb-NO.js +7 -1
- package/es/locale/lang/pt-BR.js +7 -1
- package/es/locale/lang/ru-RU.js +7 -1
- package/es/locale/lang/th-TH.js +7 -1
- package/es/locale/lang/ug-CN.js +7 -1
- package/es/locale/lang/uk-UA.js +7 -1
- package/es/locale/lang/vi-VN.js +7 -1
- package/es/locale/lang/zh-CHT.js +7 -1
- package/es/locale/lang/zh-CN.js +7 -1
- package/es/style.css +1 -1
- package/es/table/module/edit/hook.js +8 -10
- package/es/table/module/filter/panel.js +12 -2
- package/es/table/module/keyboard/hook.js +47 -4
- package/es/table/module/validator/hook.js +2 -2
- package/es/table/render/index.js +91 -60
- package/es/table/src/body.js +22 -17
- package/es/table/src/cell.js +25 -20
- package/es/table/src/footer.js +9 -4
- package/es/table/src/header.js +2 -2
- package/es/table/src/props.js +4 -0
- package/es/table/src/table.js +616 -411
- package/es/table/src/util.js +58 -3
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/helper/vetur/attributes.json +1 -1
- package/helper/vetur/tags.json +1 -1
- package/lib/grid/src/grid.js +58 -48
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.umd.js +1281 -12149
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/ar-EG.js +7 -1
- package/lib/locale/lang/ar-EG.min.js +1 -1
- package/lib/locale/lang/de-DE.js +7 -1
- package/lib/locale/lang/de-DE.min.js +1 -1
- package/lib/locale/lang/en-US.js +7 -1
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +7 -1
- package/lib/locale/lang/es-ES.js +7 -1
- package/lib/locale/lang/es-ES.min.js +1 -1
- package/lib/locale/lang/es-ES.umd.js +7 -1
- package/lib/locale/lang/fr-FR.js +7 -1
- package/lib/locale/lang/fr-FR.min.js +1 -1
- package/lib/locale/lang/hu-HU.js +7 -1
- package/lib/locale/lang/hu-HU.min.js +1 -1
- package/lib/locale/lang/hu-HU.umd.js +7 -1
- package/lib/locale/lang/hy-AM.js +7 -1
- package/lib/locale/lang/hy-AM.min.js +1 -1
- package/lib/locale/lang/id-ID.js +7 -1
- package/lib/locale/lang/id-ID.min.js +1 -1
- package/lib/locale/lang/it-IT.js +7 -1
- package/lib/locale/lang/it-IT.min.js +1 -1
- package/lib/locale/lang/ja-JP.js +7 -1
- package/lib/locale/lang/ja-JP.min.js +1 -1
- package/lib/locale/lang/ja-JP.umd.js +7 -1
- package/lib/locale/lang/ko-KR.js +7 -1
- package/lib/locale/lang/ko-KR.min.js +1 -1
- package/lib/locale/lang/ko-KR.umd.js +7 -1
- package/lib/locale/lang/nb-NO.js +7 -1
- package/lib/locale/lang/nb-NO.min.js +1 -1
- package/lib/locale/lang/pt-BR.js +7 -1
- package/lib/locale/lang/pt-BR.min.js +1 -1
- package/lib/locale/lang/pt-BR.umd.js +7 -1
- package/lib/locale/lang/ru-RU.js +7 -1
- package/lib/locale/lang/ru-RU.min.js +1 -1
- package/lib/locale/lang/ru-RU.umd.js +7 -1
- package/lib/locale/lang/th-TH.js +7 -1
- package/lib/locale/lang/th-TH.min.js +1 -1
- package/lib/locale/lang/ug-CN.js +7 -1
- package/lib/locale/lang/ug-CN.min.js +1 -1
- package/lib/locale/lang/uk-UA.js +7 -1
- package/lib/locale/lang/uk-UA.min.js +1 -1
- package/lib/locale/lang/uk-UA.umd.js +7 -1
- package/lib/locale/lang/vi-VN.js +7 -1
- package/lib/locale/lang/vi-VN.min.js +1 -1
- package/lib/locale/lang/zh-CHT.js +7 -1
- package/lib/locale/lang/zh-CHT.min.js +1 -1
- package/lib/locale/lang/zh-CN.js +7 -1
- package/lib/locale/lang/zh-CN.min.js +1 -1
- package/lib/locale/lang/zh-CN.umd.js +7 -1
- package/lib/style.css +1 -1
- package/lib/table/module/edit/hook.js +10 -11
- package/lib/table/module/edit/hook.min.js +1 -1
- package/lib/table/module/filter/panel.js +8 -2
- package/lib/table/module/filter/panel.min.js +1 -1
- package/lib/table/module/keyboard/hook.js +51 -4
- package/lib/table/module/keyboard/hook.min.js +1 -1
- package/lib/table/module/validator/hook.js +3 -3
- package/lib/table/module/validator/hook.min.js +1 -1
- package/lib/table/render/index.js +100 -65
- package/lib/table/render/index.min.js +1 -1
- package/lib/table/src/body.js +27 -17
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/cell.js +37 -21
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/footer.js +9 -3
- package/lib/table/src/footer.min.js +1 -1
- package/lib/table/src/header.js +2 -1
- package/lib/table/src/header.min.js +1 -1
- package/lib/table/src/props.js +4 -0
- package/lib/table/src/props.min.js +1 -1
- package/lib/table/src/table.js +727 -445
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +65 -6
- package/lib/table/src/util.min.js +1 -1
- package/lib/ui/index.js +1 -1
- 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/package.json +2 -2
- package/packages/grid/src/grid.ts +65 -50
- package/packages/locale/lang/ar-EG.ts +7 -1
- package/packages/locale/lang/de-DE.ts +7 -1
- package/packages/locale/lang/en-US.ts +7 -1
- package/packages/locale/lang/es-ES.ts +7 -1
- package/packages/locale/lang/fr-FR.ts +7 -1
- package/packages/locale/lang/hu-HU.ts +7 -1
- package/packages/locale/lang/hy-AM.ts +7 -1
- package/packages/locale/lang/id-ID.ts +7 -1
- package/packages/locale/lang/it-IT.ts +7 -1
- package/packages/locale/lang/ja-JP.ts +7 -1
- package/packages/locale/lang/ko-KR.ts +7 -1
- package/packages/locale/lang/nb-NO.ts +7 -1
- package/packages/locale/lang/pt-BR.ts +7 -1
- package/packages/locale/lang/ru-RU.ts +7 -1
- package/packages/locale/lang/th-TH.ts +7 -1
- package/packages/locale/lang/ug-CN.ts +7 -1
- package/packages/locale/lang/uk-UA.ts +7 -1
- package/packages/locale/lang/vi-VN.ts +7 -1
- package/packages/locale/lang/zh-CHT.ts +7 -1
- package/packages/locale/lang/zh-CN.ts +7 -1
- package/packages/table/module/edit/hook.ts +8 -10
- package/packages/table/module/filter/panel.ts +12 -2
- package/packages/table/module/keyboard/hook.ts +47 -6
- package/packages/table/module/validator/hook.ts +2 -2
- package/packages/table/render/index.ts +90 -59
- package/packages/table/src/body.ts +21 -16
- package/packages/table/src/cell.ts +25 -20
- package/packages/table/src/footer.ts +9 -4
- package/packages/table/src/header.ts +2 -2
- package/packages/table/src/props.ts +4 -0
- package/packages/table/src/table.ts +625 -411
- package/packages/table/src/util.ts +66 -3
- /package/es/{iconfont.1741080000843.ttf → iconfont.1742437957812.ttf} +0 -0
- /package/es/{iconfont.1741080000843.woff → iconfont.1742437957812.woff} +0 -0
- /package/es/{iconfont.1741080000843.woff2 → iconfont.1742437957812.woff2} +0 -0
- /package/lib/{iconfont.1741080000843.ttf → iconfont.1742437957812.ttf} +0 -0
- /package/lib/{iconfont.1741080000843.woff → iconfont.1742437957812.woff} +0 -0
- /package/lib/{iconfont.1741080000843.woff2 → iconfont.1742437957812.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(m){let{props:R,reactData:C,internalData:_}=m,o=m.getRefMaps().refElem,{computeMouseOpts:c,computeEditOpts:p,computeCheckboxOpts:x,computeTreeOpts:E,computeValidOpts:n}=m.getComputeMaps(),I={},g={},h=(e,t)=>{var{model:l,editRender:r}=t;r&&(l.value=(0,_util.getCellValue)(e,t),l.update=!1)},i=(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}=C,l=p.value,e=e.actived;let{row:r,column:o}=e;(r||o)&&("row"===l.mode?t.forEach(e=>i(r,e)):i(r,o))},b=(e,t)=>{let{tableFullTreeData:a,afterFullData:n,fullDataRowIdData:d,fullAllDataRowIdData:s}=_;var l=E.value;let{rowField:u,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)(m,l),o=t?_xeUtils.default.findTree(a,e=>t===e[u],{children:g}):null;if(o){var o=o.item,i=s[(0,_util.getRowid)(m,o)],i=i?i.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:i+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};d[r]=o,s[r]=o}else{"development"===process.env.NODE_ENV&&t&&(0,_log.warnLog)("vxe.error.unableInsert"),n[w](l),a[w](l);i={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:a,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};d[r]=i,s[r]=i}})},s=(t,l,d)=>{let o=R.treeConfig;var{mergeList:e,editStore:r}=C;let{tableFullTreeData:s,afterFullData:i,tableFullData:a,fullDataRowIdData:u,fullAllDataRowIdData:c}=_,g=E.value,{transform:n,rowField:v,mapChildrenField:w}=g,f=g.children||g.childrenField,p=(_xeUtils.default.isArray(t)||(t=[t]),(0,_vue.reactive)(m.defineField(t.map(e=>Object.assign(o&&n?{[w]:[],[f]:[]}:{},e)))));if(_xeUtils.default.eqNull(l))o&&n?b(p,!1):(p.forEach(e=>{var t=(0,_util.getRowid)(m,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:i,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[t]=l,c[t]=l,i.unshift(e),a.unshift(e)}),e.forEach(e=>{var t=e.row;0<t&&(e.row=t+p.length)}));else if(-1===l)o&&n?b(p,!0):(p.forEach(e=>{var t=(0,_util.getRowid)(m,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,treeIndex:-1,$index:-1,items:i,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[t]=l,c[t]=l,i.push(e),a.push(e)}),e.forEach(e=>{var{row:t,rowspan:l}=e;t+l>i.length&&(e.rowspan=l+p.length)}));else if(o&&n){let n=_xeUtils.default.findTree(s,e=>l[v]===e[v],{children:w});if(n){let o=n.parent,i=o?o[w]:s;t=c[(0,_util.getRowid)(m,o)];let a=t?t.level:0;if(p.forEach((e,t)=>{var l=(0,_util.getRowid)(m,e);"development"===process.env.NODE_ENV&&e[g.parentField]&&o&&e[g.parentField]!==o[v]&&(0,_log.errLog)("vxe.error.errProp",[g.parentField+"="+e[g.parentField],g.parentField+"="+o[v]]),o&&(e[g.parentField]=o[v]);let r=n.index+t;d&&(r+=1),i.splice(r,0,e);t={row:e,rowid:l,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:i,parent:o,level:a+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[l]=t,c[l]=t}),o){t=_xeUtils.default.findTree(s,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"),b(p,!0)}else{if(o)throw new Error(getI18n("vxe.error.noTree",["insert"]));let r=-1;if(_xeUtils.default.isNumber(l)?l<i.length&&(r=l):r=m.findRowIndexOf(i,l),-1===(r=d?Math.min(i.length,r+1):r))throw new Error(getI18n("vxe.error.unableInsert"));i.splice(r,0,...p);t=m.findRowIndexOf(a,l);-1<t?a.splice(t+(d?1:0),0,...p):a.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)})}let x=r.insertMaps;return p.forEach(e=>{var t=(0,_util.getRowid)(m,e);x[t]=e}),m.cacheRowMap(!1),m.updateScrollYStatus(),m.handleTableData(o&&n),o&&n||m.updateAfterDataIndex(),m.updateFooter(),m.checkSelectionStatus(),C.scrollYLoad&&m.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(m.updateCellAreas(),m.recalculate())).then(()=>({row:p.length?p[p.length-1]:null,rows:p}))},r=(e,t,l,r)=>{var o=R.treeConfig;let{transform:i,rowField:a,parentField:n}=E.value;return o&&i?(_xeUtils.default.isArray(e)||(e=[e]),s(e.map(e=>Object.assign({},e,{[n]:t[a]})),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=C.editStore,{actived:l,focused:r}=l,{row:o,column:i}=l,a=n.value;if(o||i){if(t&&(0,_util.getRowid)(m,t)!==(0,_util.getRowid)(m,o))return(0,_vue.nextTick)();d(),l.args=null,l.row=null,l.column=null,m.updateFooter(),m.dispatchEvent("edit-closed",{row:o,rowIndex:m.getRowIndex(o),$rowIndex:m.getVMRowIndex(o),column:i,columnIndex:m.getColumnIndex(i),$columnIndex:m.getVMColumnIndex(i)},e||null)}return r.row=null,r.column=null,a.autoClear&&("full"!==a.msgMode||"obsolete"===getConfig().cellVaildMode)&&m.clearValidate?m.clearValidate():(0,_vue.nextTick)().then(()=>m.updateCellAreas())},a=(l,r,o,e)=>{var{editConfig:t,mouseConfig:i}=R,{editStore:a,tableColumn:n}=C,d=p.value,s=d.mode,{actived:a,focused:u}=a;let{row:c,column:g}=l;var v=g.editRender,w=l.cell||m.getCellElement(c,g),f=d.beforeEditMethod||d.activeMethod;if((l.cell=w)&&(0,_utils.isEnableConf)(t)&&(0,_utils.isEnableConf)(v)&&!m.isPendingByRow(c)){if(a.row!==c||"cell"===s&&a.column!==g){let t="edit-disabled";if(!f||f(Object.assign(Object.assign({},l),{$table:m,$grid:m.xegrid}))){i&&(m.clearSelected(),m.clearCellAreas)&&(m.clearCellAreas(),m.clearCopyCellArea()),m.closeTooltip(),a.column&&A(r),t="edit-activated",g.renderHeight=w.offsetHeight,a.args=l,a.row=c,a.column=g,"row"===s?n.forEach(e=>h(c,e)):h(c,g);let e=d.afterEditMethod;(0,_vue.nextTick)(()=>{o&&m.handleFocus(l,r),e&&e(Object.assign(Object.assign({},l),{$table:m,$grid:m.xegrid}))})}m.dispatchEvent(t,{row:c,rowIndex:m.getRowIndex(c),$rowIndex:m.getVMRowIndex(c),column:g,columnIndex:m.getColumnIndex(g),$columnIndex:m.getVMColumnIndex(g)},r),"edit-activated"===t&&m.dispatchEvent("edit-actived",{row:c,rowIndex:m.getRowIndex(c),$rowIndex:m.getVMRowIndex(c),column:g,columnIndex:m.getColumnIndex(g),$columnIndex:m.getVMColumnIndex(g)},r)}else{t=a.column;i&&(m.clearSelected(),m.clearCellAreas)&&(m.clearCellAreas(),m.clearCopyCellArea()),t!==g&&(v=t.model,v.update&&(0,_util.setCellValue)(c,t,v.value),m.clearValidate)&&m.clearValidate(c,g),g.renderHeight=w.offsetHeight,a.args=l,a.column=g,e&&setTimeout(()=>{m.handleFocus(l,r)})}u.column=null,u.row=null,m.focus()}return(0,_vue.nextTick)()},u=(t,e,l)=>{var r=R.editConfig;let o=_xeUtils.default.isString(e)?m.getColumnByField(e):e;return t&&o&&(0,_utils.isEnableConf)(r)&&(0,_utils.isEnableConf)(o.editRender)?Promise.resolve(l?m.scrollToRow(t,o):null).then(()=>{var e=m.getCellElement(t,o);return e&&(a({row:t,rowIndex:m.getRowIndex(t),column:o,columnIndex:m.getColumnIndex(o),cell:e,$table:m},null,l,l),_._lastCallTime=Date.now()),(0,_vue.nextTick)()}):(0,_vue.nextTick)()};return I={insert(e){return s(e,null)},insertAt(e,t){return s(e,t)},insertNextAt(e,t){return s(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=R.treeConfig;let{mergeList:l,editStore:r,selectCheckboxMaps:o}=C,{tableFullTreeData:i,afterFullData:a,tableFullData:n}=_;var d=x.value,s=E.value;let{transform:u,mapChildrenField:c}=s,g=s.children||s.childrenField,{actived:v,removeMaps:w}=r,f=Object.assign({},r.insertMaps),p=Object.assign({},C.pendingRowMaps);s=d.checkField;let h=[];if(e?_xeUtils.default.isArray(e)||(e=[e]):e=n,e.forEach(e=>{var t;m.isInsertByRow(e)||(t=(0,_util.getRowid)(m,e),w[t]=e)}),!s){let t=Object.assign({},o);e.forEach(e=>{e=(0,_util.getRowid)(m,e);t[e]&&delete t[e]}),C.selectCheckboxMaps=t}return n===e?(e=h=n.slice(0),_.tableFullData=[],_.afterFullData=[],m.clearMergeCells()):t&&u?e.forEach(e=>{let t=(0,_util.getRowid)(m,e);var l=_xeUtils.default.findTree(i,e=>t===(0,_util.getRowid)(m,e),{children:c}),l=(l&&(l=l.items.splice(l.index,1),h.push(l[0])),_xeUtils.default.findTree(i,e=>t===(0,_util.getRowid)(m,e),{children:g})),l=(l&&l.items.splice(l.index,1),m.findRowIndexOf(a,e));-1<l&&a.splice(l,1)}):e.forEach(e=>{var t=m.findRowIndexOf(n,e);-1<t&&(t=n.splice(t,1),h.push(t[0]));let r=m.findRowIndexOf(a,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)}),a.splice(r,1))}),v.row&&-1<m.findRowIndexOf(e,v.row)&&I.clearEdit(),e.forEach(e=>{e=(0,_util.getRowid)(m,e);f[e]&&delete f[e],p[e]&&delete p[e]}),r.insertMaps=f,C.pendingRowMaps=p,m.updateFooter(),m.cacheRowMap(!1),m.handleTableData(t&&u),t&&u||m.updateAfterDataIndex(),m.checkSelectionStatus(),C.scrollYLoad&&m.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(m.updateCellAreas(),m.recalculate())).then(()=>({row:h.length?h[h.length-1]:null,rows:h}))},removeCheckboxRow(){return I.remove(m.getCheckboxRecords()).then(e=>(m.clearCheckboxRow(),e))},removeRadioRow(){var e=m.getRadioRecord();return I.remove(e||[]).then(e=>(m.clearRadioRow(),e))},removeCurrentRow(){var e=m.getCurrentRecord();return I.remove(e||[]).then(e=>(m.clearCurrentRow(),e))},getRecordset(){var e=I.getRemoveRecords(),t=m.getPendingRecords();let l=e.concat(t);var r=I.getUpdateRecords().filter(t=>!l.some(e=>m.eqRow(e,t)));return{insertRecords:I.getInsertRecords(),removeRecords:e,updateRecords:r,pendingRecords:t}},getInsertRecords(){var e=C.editStore;let l=_.fullAllDataRowIdData;e=e.insertMaps;let r=[];return _xeUtils.default.each(e,(e,t)=>{l[t]&&r.push(e)}),r},getRemoveRecords(){var e=C.editStore,e=e.removeMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},getUpdateRecords(){var{keepSource:e,treeConfig:t}=R,l=_.tableFullData,r=E.value;return e?(d(),t?_xeUtils.default.filterTree(l,e=>m.isUpdateByRow(e),r):l.filter(e=>m.isUpdateByRow(e))):[]},getActiveRecord(){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["getActiveRecord","getEditRecord"]),this.getEditRecord()},getEditRecord(){var e=C.editStore,t=_.afterFullData,l=o.value,{args:e,row:r}=e.actived;return e&&-1<m.findRowIndexOf(t,r)&&l.querySelectorAll(".vxe-body--column.col--active").length?Object.assign({},e):null},getSelectedCell(){var e=C.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 A(null,e)},clearSelected(){var e=C.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=C.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=_.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)?m.getColumnByField(t):t),u(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 u(e,t,!0)},setSelectCell(e,t){var l=C.tableData,r=p.value,t=_xeUtils.default.isString(t)?m.getColumnByField(t):t;return e&&t&&"manual"!==r.trigger&&-1<(r=m.findRowIndexOf(l,e))&&t&&(l=m.getCellElement(e,t),e={row:e,rowIndex:r,column:t,columnIndex:m.getColumnIndex(t),cell:l},m.handleSelected(e,{})),(0,_vue.nextTick)()}},g={handleEdit(e,t){return a(e,t,!0,!0)},handleActived(e,t){return g.handleEdit(e,t)},handleClearEdit:A,handleFocus(r){var{row:o,column:i,cell:a}=r,n=i.editRender,d=p.value;if((0,_utils.isEnableConf)(n)){var s=renderer.get(n.name);let e=n.autofocus||n.autoFocus,t=n.autoSelect||n.autoselect,l;d.autoFocus&&(!e&&s&&(e=s.tableAutoFocus||s.tableAutofocus||s.autofocus),!t&&s&&(t=s.tableAutoSelect||s.autoselect),_xeUtils.default.isFunction(e)?l=e(r):e&&(l=!0===e?a.querySelector("input,textarea"):a.querySelector(e))&&l.focus()),l?t?l.select():_dom.browse.msie&&((n=l.createTextRange()).collapse(!1),n.select()):d.autoPos&&!i.fixed&&m.scrollToRow(o,i)}},handleSelected(e,t){var l=R.mouseConfig,r=C.editStore,o=c.value;let i=p.value,{actived:a,selected:n}=r,{row:d,column:s}=e,u=l&&o.selected;return!u||n.row===d&&n.column===s||(a.row!==d||"cell"===i.mode&&a.column!==s)&&(A(t),I.clearSelected(),m.clearCellAreas&&(m.clearCellAreas(),m.clearCopyCellArea()),n.args=e,n.row=d,n.column=s,u&&g.addCellSelectedClass(),m.focus(),t)&&m.dispatchEvent("cell-selected",e,t),(0,_vue.nextTick)()},addCellSelectedClass(){var e=C.editStore,e=e.selected,{row:e,column:t}=e;l(),e&&t&&(e=m.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(m){let{props:R,reactData:C,internalData:_}=m,o=m.getRefMaps().refElem,{computeMouseOpts:c,computeEditOpts:p,computeCheckboxOpts:x,computeTreeOpts:E,computeValidOpts:n}=m.getComputeMaps(),I={},g={},h=(e,t)=>{var{model:l,editRender:r}=t;r&&(l.value=(0,_util.getCellValue)(e,t),l.update=!1)},i=(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}=C,l=p.value,e=e.actived;let{row:r,column:o}=e;(r||o)&&("row"===l.mode?t.forEach(e=>i(r,e)):i(r,o))},b=(e,t)=>{let{tableFullTreeData:a,afterFullData:n,fullDataRowIdData:d,fullAllDataRowIdData:s}=_;var l=E.value;let{rowField:u,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)(m,l),o=t?_xeUtils.default.findTree(a,e=>t===e[u],{children:g}):null;if(o){var o=o.item,i=s[(0,_util.getRowid)(m,o)],i=i?i.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:i+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};d[r]=o,s[r]=o}else{"development"===process.env.NODE_ENV&&t&&(0,_log.warnLog)("vxe.error.unableInsert"),n[w](l),a[w](l);i={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:a,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};d[r]=i,s[r]=i}})},s=(t,l,d)=>{let o=R.treeConfig;var{mergeList:e,editStore:r}=C;let{tableFullTreeData:s,afterFullData:i,tableFullData:a,fullDataRowIdData:u,fullAllDataRowIdData:c}=_,g=E.value,{transform:n,rowField:v,mapChildrenField:w}=g,f=g.children||g.childrenField,p=(_xeUtils.default.isArray(t)||(t=[t]),(0,_vue.reactive)(m.defineField(t.map(e=>Object.assign(o&&n?{[w]:[],[f]:[]}:{},e)))));if(_xeUtils.default.eqNull(l))o&&n?b(p,!1):(p.forEach(e=>{var t=(0,_util.getRowid)(m,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:i,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[t]=l,c[t]=l,i.unshift(e),a.unshift(e)}),e.forEach(e=>{var t=e.row;0<t&&(e.row=t+p.length)}));else if(-1===l)o&&n?b(p,!0):(p.forEach(e=>{var t=(0,_util.getRowid)(m,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,treeIndex:-1,$index:-1,items:i,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[t]=l,c[t]=l,i.push(e),a.push(e)}),e.forEach(e=>{var{row:t,rowspan:l}=e;t+l>i.length&&(e.rowspan=l+p.length)}));else if(o&&n){let n=_xeUtils.default.findTree(s,e=>l[v]===e[v],{children:w});if(n){let o=n.parent,i=o?o[w]:s;t=c[(0,_util.getRowid)(m,o)];let a=t?t.level:0;if(p.forEach((e,t)=>{var l=(0,_util.getRowid)(m,e);"development"===process.env.NODE_ENV&&e[g.parentField]&&o&&e[g.parentField]!==o[v]&&(0,_log.errLog)("vxe.error.errProp",[g.parentField+"="+e[g.parentField],g.parentField+"="+o[v]]),o&&(e[g.parentField]=o[v]);let r=n.index+t;d&&(r+=1),i.splice(r,0,e);t={row:e,rowid:l,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:i,parent:o,level:a+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[l]=t,c[l]=t}),o){t=_xeUtils.default.findTree(s,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"),b(p,!0)}else{if(o)throw new Error(getI18n("vxe.error.noTree",["insert"]));let r=-1;if(_xeUtils.default.isNumber(l)?l<i.length&&(r=l):r=m.findRowIndexOf(i,l),-1===(r=d?Math.min(i.length,r+1):r))throw new Error(getI18n("vxe.error.unableInsert"));i.splice(r,0,...p);t=m.findRowIndexOf(a,l);-1<t?a.splice(t+(d?1:0),0,...p):a.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)})}let x=r.insertMaps;return p.forEach(e=>{var t=(0,_util.getRowid)(m,e);x[t]=e}),m.cacheRowMap(!1),m.updateScrollYStatus(),m.handleTableData(o&&n),o&&n||m.updateAfterDataIndex(),m.updateFooter(),m.checkSelectionStatus(),C.scrollYLoad&&m.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(m.updateCellAreas(),m.recalculate())).then(()=>({row:p.length?p[p.length-1]:null,rows:p}))},r=(e,t,l,r)=>{var o=R.treeConfig;let{transform:i,rowField:a,parentField:n}=E.value;return o&&i?(_xeUtils.default.isArray(e)||(e=[e]),s(e.map(e=>Object.assign({},e,{[n]:t[a]})),l,r)):((0,_log.errLog)("vxe.error.errProp",["tree-config.transform=false","tree-config.transform=true"]),Promise.resolve({row:null,rows:[]}))},F=(e,t)=>{var l=C.editStore,{actived:l,focused:r}=l,{row:o,column:i}=l,a=n.value;if(o||i){if(t&&(0,_util.getRowid)(m,t)!==(0,_util.getRowid)(m,o))return(0,_vue.nextTick)();d(),l.args=null,l.row=null,l.column=null,m.updateFooter(),m.dispatchEvent("edit-closed",{row:o,rowIndex:m.getRowIndex(o),$rowIndex:m.getVMRowIndex(o),column:i,columnIndex:m.getColumnIndex(i),$columnIndex:m.getVMColumnIndex(i)},e||null)}return r.row=null,r.column=null,a.autoClear&&("full"!==a.msgMode||"obsolete"===getConfig().cellVaildMode)&&m.clearValidate?m.clearValidate():(0,_vue.nextTick)().then(()=>m.updateCellAreas())},a=(l,r,o,e)=>{var{editConfig:t,mouseConfig:i}=R,{editStore:a,tableColumn:n}=C,d=p.value,s=d.mode,{actived:a,focused:u}=a;let{row:c,column:g}=l;var v=g.editRender,w=l.cell||m.getCellElement(c,g),f=d.beforeEditMethod||d.activeMethod;if((l.cell=w)&&(0,_utils.isEnableConf)(t)&&(0,_utils.isEnableConf)(v)&&!m.isPendingByRow(c)){if(a.row!==c||"cell"===s&&a.column!==g){let t="edit-disabled";if(!f||f(Object.assign(Object.assign({},l),{$table:m,$grid:m.xegrid}))){i&&(m.clearSelected(),m.clearCellAreas)&&(m.clearCellAreas(),m.clearCopyCellArea()),m.closeTooltip(),a.column&&F(r),t="edit-activated",g.renderHeight=w.offsetHeight,a.args=l,a.row=c,a.column=g,"row"===s?n.forEach(e=>h(c,e)):h(c,g);let e=d.afterEditMethod;(0,_vue.nextTick)(()=>{o&&m.handleFocus(l,r),e&&e(Object.assign(Object.assign({},l),{$table:m,$grid:m.xegrid}))})}m.dispatchEvent(t,{row:c,rowIndex:m.getRowIndex(c),$rowIndex:m.getVMRowIndex(c),column:g,columnIndex:m.getColumnIndex(g),$columnIndex:m.getVMColumnIndex(g)},r),"edit-activated"===t&&m.dispatchEvent("edit-actived",{row:c,rowIndex:m.getRowIndex(c),$rowIndex:m.getVMRowIndex(c),column:g,columnIndex:m.getColumnIndex(g),$columnIndex:m.getVMColumnIndex(g)},r)}else{t=a.column;i&&(m.clearSelected(),m.clearCellAreas)&&(m.clearCellAreas(),m.clearCopyCellArea()),t!==g&&(v=t.model,v.update&&(0,_util.setCellValue)(c,t,v.value),m.clearValidate)&&m.clearValidate(c,g),g.renderHeight=w.offsetHeight,a.args=l,a.column=g,e&&setTimeout(()=>{m.handleFocus(l,r)})}u.column=null,u.row=null,m.focus()}return(0,_vue.nextTick)()},u=(t,e,l)=>{var r=R.editConfig;let o=_xeUtils.default.isString(e)?m.getColumnByField(e):e;return t&&o&&(0,_utils.isEnableConf)(r)&&(0,_utils.isEnableConf)(o.editRender)?Promise.resolve(l?m.scrollToRow(t,o):null).then(()=>{var e=m.getCellElement(t,o);return e&&(a({row:t,rowIndex:m.getRowIndex(t),column:o,columnIndex:m.getColumnIndex(o),cell:e,$table:m},null,l,l),_._lastCallTime=Date.now()),(0,_vue.nextTick)()}):(0,_vue.nextTick)()};return I={insert(e){return s(e,null)},insertAt(e,t){return s(e,t)},insertNextAt(e,t){return s(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=R.treeConfig;let{mergeList:l,editStore:r}=C,{tableFullTreeData:o,selectCheckboxMaps:i,afterFullData:a,tableFullData:n,pendingRowMaps:d}=_;var s=x.value,u=E.value;let{transform:c,mapChildrenField:g}=u,v=u.children||u.childrenField,{actived:w,removeMaps:f}=r,p=Object.assign({},r.insertMaps);u=s.checkField;let h=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=n,e.forEach(e=>{var t;m.isInsertByRow(e)||(t=(0,_util.getRowid)(m,e),f[t]=e)}),u||(e.forEach(e=>{e=(0,_util.getRowid)(m,e);i[e]&&delete i[e]}),C.updateCheckboxFlag++),n===e?(e=h=n.slice(0),_.tableFullData=[],_.afterFullData=[],m.clearMergeCells()):t&&c?e.forEach(e=>{let t=(0,_util.getRowid)(m,e);var l=_xeUtils.default.findTree(o,e=>t===(0,_util.getRowid)(m,e),{children:g}),l=(l&&(l=l.items.splice(l.index,1),h.push(l[0])),_xeUtils.default.findTree(o,e=>t===(0,_util.getRowid)(m,e),{children:v})),l=(l&&l.items.splice(l.index,1),m.findRowIndexOf(a,e));-1<l&&a.splice(l,1)}):e.forEach(e=>{var t=m.findRowIndexOf(n,e);-1<t&&(t=n.splice(t,1),h.push(t[0]));let r=m.findRowIndexOf(a,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)}),a.splice(r,1))}),w.row&&-1<m.findRowIndexOf(e,w.row)&&I.clearEdit(),e.forEach(e=>{e=(0,_util.getRowid)(m,e);p[e]&&delete p[e],d[e]&&delete d[e]}),r.insertMaps=p,C.pendingRowFlag++,m.updateFooter(),m.cacheRowMap(!1),m.handleTableData(t&&c),t&&c||m.updateAfterDataIndex(),m.checkSelectionStatus(),C.scrollYLoad&&m.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(m.updateCellAreas(),m.recalculate())).then(()=>({row:h.length?h[h.length-1]:null,rows:h}))},removeCheckboxRow(){return I.remove(m.getCheckboxRecords()).then(e=>(m.clearCheckboxRow(),e))},removeRadioRow(){var e=m.getRadioRecord();return I.remove(e||[]).then(e=>(m.clearRadioRow(),e))},removeCurrentRow(){var e=m.getCurrentRecord();return I.remove(e||[]).then(e=>(m.clearCurrentRow(),e))},getRecordset(){var e=I.getRemoveRecords(),t=m.getPendingRecords();let l=e.concat(t);var r=I.getUpdateRecords().filter(t=>!l.some(e=>m.eqRow(e,t)));return{insertRecords:I.getInsertRecords(),removeRecords:e,updateRecords:r,pendingRecords:t}},getInsertRecords(){var e=C.editStore;let l=_.fullAllDataRowIdData;e=e.insertMaps;let r=[];return _xeUtils.default.each(e,(e,t)=>{l[t]&&r.push(e)}),r},getRemoveRecords(){var e=C.editStore,e=e.removeMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},getUpdateRecords(){var{keepSource:e,treeConfig:t}=R,l=_.tableFullData,r=E.value;return e?(d(),t?_xeUtils.default.filterTree(l,e=>m.isUpdateByRow(e),r):l.filter(e=>m.isUpdateByRow(e))):[]},getActiveRecord(){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["getActiveRecord","getEditRecord"]),this.getEditRecord()},getEditRecord(){var e=C.editStore,t=_.afterFullData,l=o.value,{args:e,row:r}=e.actived;return e&&-1<m.findRowIndexOf(t,r)&&l.querySelectorAll(".vxe-body--column.col--active").length?Object.assign({},e):null},getSelectedCell(){var e=C.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 F(null,e)},clearSelected(){var e=C.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=C.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=_.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)?m.getColumnByField(t):t),u(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 u(e,t,!0)},setSelectCell(e,t){var l=C.tableData,r=p.value,t=_xeUtils.default.isString(t)?m.getColumnByField(t):t;return e&&t&&"manual"!==r.trigger&&-1<(r=m.findRowIndexOf(l,e))&&t&&(l=m.getCellElement(e,t),e={row:e,rowIndex:r,column:t,columnIndex:m.getColumnIndex(t),cell:l},m.handleSelected(e,{})),(0,_vue.nextTick)()}},g={handleEdit(e,t){return a(e,t,!0,!0)},handleActived(e,t){return g.handleEdit(e,t)},handleClearEdit:F,handleFocus(r){var{row:o,column:i,cell:a}=r,n=i.editRender,d=p.value;if((0,_utils.isEnableConf)(n)){var s=renderer.get(n.name);let e=n.autofocus||n.autoFocus,t=n.autoSelect||n.autoselect,l;d.autoFocus&&(!e&&s&&(e=s.tableAutoFocus||s.tableAutofocus||s.autofocus),!t&&s&&(t=s.tableAutoSelect||s.autoselect),_xeUtils.default.isFunction(e)?l=e(r):e&&(l=!0===e?a.querySelector("input,textarea"):a.querySelector(e))&&l.focus()),l?t?l.select():_dom.browse.msie&&((n=l.createTextRange()).collapse(!1),n.select()):d.autoPos&&!i.fixed&&m.scrollToRow(o,i)}},handleSelected(e,t){var l=R.mouseConfig,r=C.editStore,o=c.value;let i=p.value,{actived:a,selected:n}=r,{row:d,column:s}=e,u=l&&o.selected;return!u||n.row===d&&n.column===s||(a.row!==d||"cell"===i.mode&&a.column!==s)&&(F(t),I.clearSelected(),m.clearCellAreas&&(m.clearCellAreas(),m.clearCopyCellArea()),n.args=e,n.row=d,n.column=s,u&&g.addCellSelectedClass(),m.focus(),t)&&m.dispatchEvent("cell-selected",e,t),(0,_vue.nextTick)()},addCellSelectedClass(){var e=C.editStore,e=e.selected,{row:e,column:t}=e;l(),e&&t&&(e=m.getCellElement(e,t))&&(0,_dom.addClass)(e,"col--selected")}},Object.assign(Object.assign({},I),g)},setupGrid(e){return e.extendTableMethods(tableEditMethodKeys)}});
|
|
@@ -113,11 +113,17 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
113
113
|
const rtFilter = compConf ? compConf.renderTableFilter || compConf.renderFilter : null;
|
|
114
114
|
if (filterSlot) {
|
|
115
115
|
return [(0, _vue.h)('div', {
|
|
116
|
-
class: 'vxe-table--filter-template'
|
|
116
|
+
class: 'vxe-table--filter-template',
|
|
117
|
+
style: maxHeight ? {
|
|
118
|
+
maxHeight: `${maxHeight}px`
|
|
119
|
+
} : {}
|
|
117
120
|
}, $xeTable.callSlot(filterSlot, params))];
|
|
118
121
|
} else if (rtFilter) {
|
|
119
122
|
return [(0, _vue.h)('div', {
|
|
120
|
-
class: 'vxe-table--filter-template'
|
|
123
|
+
class: 'vxe-table--filter-template',
|
|
124
|
+
style: maxHeight ? {
|
|
125
|
+
maxHeight: `${maxHeight}px`
|
|
126
|
+
} : {}
|
|
121
127
|
}, (0, _vn.getSlotVNs)(rtFilter(filterRender, params)))];
|
|
122
128
|
}
|
|
123
129
|
const isAllChecked = multiple ? filterStore.isAllSelected : !filterStore.options.some(item => item._checked);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_vn=require("../../../ui/src/vn");let{getI18n,getIcon,renderer}=_ui.VxeUI;var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableFilterPanel",props:{filterStore:Object},setup(u){let v=(0,_vue.inject)("$xeTable",{}),{reactData:d,internalData:p,getComputeMaps:e}=v,_=e().computeFilterOpts,h=(0,_vue.computed)(()=>{var e=u.filterStore;return e&&e.options.some(e=>e.checked)}),i=(e,t)=>{var l=u.filterStore;l.options.forEach(e=>{e._checked=t,e.checked=t}),l.isAllSelected=t,l.isIndeterminate=!1},
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_vn=require("../../../ui/src/vn");let{getI18n,getIcon,renderer}=_ui.VxeUI;var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableFilterPanel",props:{filterStore:Object},setup(u){let v=(0,_vue.inject)("$xeTable",{}),{reactData:d,internalData:p,getComputeMaps:e}=v,_=e().computeFilterOpts,h=(0,_vue.computed)(()=>{var e=u.filterStore;return e&&e.options.some(e=>e.checked)}),i=(e,t)=>{var l=u.filterStore;l.options.forEach(e=>{e._checked=t,e.checked=t}),l.isAllSelected=t,l.isIndeterminate=!1},m=e=>{v.handleFilterConfirmFilter(e)};let b=e=>{v.handleFilterResetFilter(e)};let x=(e,t,l)=>{v.handleFilterChangeOption(e,t,l)},f=(e,t)=>{var l=u.filterStore;l.multiple?i(0,t):b(e)},C={changeRadioOption:(e,t,l)=>{v.handleFilterChangeRadioOption(e,t,l)},changeMultipleOption:(e,t,l)=>{v.handleFilterChangeMultipleOption(e,t,l)},changeAllOption:f,changeOption:x,confirmFilter:m,resetFilter:b};return()=>{var e=u.filterStore,t=d.initStore,{visible:l,multiple:i,column:r}=e,a=r?r.filterRender:null,n=(0,_utils.isEnableConf)(a)?renderer.get(a.name):null,s=n?n.tableFilterClassName||n.filterClassName:"",o=Object.assign({},p._currFilterParams,{$panel:C,$table:v}),c=_.value.destroyOnClose;return(0,_vue.h)("div",{class:["vxe-table--filter-wrapper","filter--prevent-default",(0,_dom.getPropClass)(s,o),{"is--animat":v.props.animat,"is--multiple":i,"is--active":l}],style:e.style},t.filter&&(!c||l)&&r?((e,t)=>{let l=u.filterStore,{column:i,multiple:r,maxHeight:a}=l;var n=i?i.slots:null,n=n?n.filter:null,s=Object.assign({},p._currFilterParams,{$panel:C,$table:v}),t=t?t.renderTableFilter||t.renderFilter:null;return n?[(0,_vue.h)("div",{class:"vxe-table--filter-template",style:a?{maxHeight:a+"px"}:{}},v.callSlot(n,s))]:t?[(0,_vue.h)("div",{class:"vxe-table--filter-template",style:a?{maxHeight:a+"px"}:{}},(0,_vn.getSlotVNs)(t(e,s)))]:(n=r?l.isAllSelected:!l.options.some(e=>e._checked),t=r&&l.isIndeterminate,[(0,_vue.h)("ul",{class:"vxe-table--filter-header"},[(0,_vue.h)("li",{class:["vxe-table--filter-option",{"is--checked":n,"is--indeterminate":t}],title:getI18n(r?"vxe.table.allTitle":"vxe.table.allFilter"),onClick:e=>{f(e,!l.isAllSelected)}},(r?[(0,_vue.h)("span",{class:["vxe-checkbox--icon",t?getIcon().TABLE_CHECKBOX_INDETERMINATE:n?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})]:[]).concat([(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.table.allFilter"))]))]),(0,_vue.h)("ul",{class:"vxe-table--filter-body",style:a?{maxHeight:a+"px"}:{}},l.options.map(t=>{var e=t._checked;return(0,_vue.h)("li",{class:["vxe-table--filter-option",{"is--checked":t._checked}],title:t.label,onClick:e=>{x(e,!t._checked,t)}},(r?[(0,_vue.h)("span",{class:["vxe-checkbox--icon",e?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})]:[]).concat([(0,_vue.h)("span",{class:"vxe-checkbox--label"},(0,_utils.formatText)(t.label,1))]))}))])})(a,n).concat((()=>{var e=u.filterStore,{column:t,multiple:l}=e,i=_.value,r=h.value,t=t.filterRender,t=(0,_utils.isEnableConf)(t)?renderer.get(t.name):null,r=!r&&!e.isAllSelected&&!e.isIndeterminate;return l&&(!t||!1!==t.showTableFilterFooter&&!1!==t.showFilterFooter&&!1!==t.isFooter)?[(0,_vue.h)("div",{class:"vxe-table--filter-footer"},[(0,_vue.h)("button",{class:{"is--disabled":r},disabled:r,onClick:m},i.confirmButtonText||getI18n("vxe.table.confirmFilter")),(0,_vue.h)("button",{onClick:b},i.resetButtonText||getI18n("vxe.table.resetFilter"))])]:[]})()):[])}}});
|
|
@@ -48,8 +48,11 @@ hooks.add('tableKeyboardModule', {
|
|
|
48
48
|
computeMouseOpts,
|
|
49
49
|
computeTreeOpts,
|
|
50
50
|
computeRowOpts,
|
|
51
|
+
computeColumnOpts,
|
|
51
52
|
computeCellOpts,
|
|
52
|
-
computeDefaultRowHeight
|
|
53
|
+
computeDefaultRowHeight,
|
|
54
|
+
computeCurrentRowOpts,
|
|
55
|
+
computeCurrentColumnOpts
|
|
53
56
|
} = $xeTable.getComputeMaps();
|
|
54
57
|
function getCheckboxRangeRows(evnt, params, targetTrElem, trRect, offsetClientTop, moveRange) {
|
|
55
58
|
const {
|
|
@@ -334,6 +337,10 @@ hooks.add('tableKeyboardModule', {
|
|
|
334
337
|
visibleColumn
|
|
335
338
|
} = internalData;
|
|
336
339
|
const editOpts = computeEditOpts.value;
|
|
340
|
+
const rowOpts = computeRowOpts.value;
|
|
341
|
+
const currentRowOpts = computeCurrentRowOpts.value;
|
|
342
|
+
const columnOpts = computeColumnOpts.value;
|
|
343
|
+
const currentColumnOpts = computeCurrentColumnOpts.value;
|
|
337
344
|
let targetRow;
|
|
338
345
|
let targetRowIndex;
|
|
339
346
|
let targetColumnIndex;
|
|
@@ -376,16 +383,26 @@ hooks.add('tableKeyboardModule', {
|
|
|
376
383
|
params.columnIndex = targetColumnIndex;
|
|
377
384
|
params.column = targetColumn;
|
|
378
385
|
params.cell = $xeTable.getCellElement(params.row, params.column);
|
|
386
|
+
if (rowOpts.isCurrent && currentRowOpts.isFollowSelected) {
|
|
387
|
+
$xeTable.triggerCurrentRowEvent(evnt, params);
|
|
388
|
+
}
|
|
389
|
+
if (columnOpts.isCurrent && currentColumnOpts.isFollowSelected) {
|
|
390
|
+
$xeTable.triggerCurrentColumnEvent(evnt, params);
|
|
391
|
+
}
|
|
379
392
|
if (editConfig) {
|
|
380
393
|
if (editOpts.trigger === 'click' || editOpts.trigger === 'dblclick') {
|
|
381
394
|
if (editOpts.mode === 'row') {
|
|
382
395
|
$xeTable.handleEdit(params, evnt);
|
|
383
396
|
} else {
|
|
384
|
-
$xeTable.scrollToRow(params.row, params.column).then(() =>
|
|
397
|
+
$xeTable.scrollToRow(params.row, params.column).then(() => {
|
|
398
|
+
$xeTable.handleSelected(params, evnt);
|
|
399
|
+
});
|
|
385
400
|
}
|
|
386
401
|
}
|
|
387
402
|
} else {
|
|
388
|
-
$xeTable.scrollToRow(params.row, params.column).then(() =>
|
|
403
|
+
$xeTable.scrollToRow(params.row, params.column).then(() => {
|
|
404
|
+
$xeTable.handleSelected(params, evnt);
|
|
405
|
+
});
|
|
389
406
|
}
|
|
390
407
|
}
|
|
391
408
|
},
|
|
@@ -403,7 +420,6 @@ hooks.add('tableKeyboardModule', {
|
|
|
403
420
|
const treeOpts = computeTreeOpts.value;
|
|
404
421
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
405
422
|
let targetRow;
|
|
406
|
-
evnt.preventDefault();
|
|
407
423
|
if (currentRow) {
|
|
408
424
|
if (treeConfig) {
|
|
409
425
|
const {
|
|
@@ -429,6 +445,7 @@ hooks.add('tableKeyboardModule', {
|
|
|
429
445
|
targetRow = afterFullData[0];
|
|
430
446
|
}
|
|
431
447
|
if (targetRow) {
|
|
448
|
+
evnt.preventDefault();
|
|
432
449
|
const params = {
|
|
433
450
|
$table: $xeTable,
|
|
434
451
|
row: targetRow,
|
|
@@ -438,6 +455,36 @@ hooks.add('tableKeyboardModule', {
|
|
|
438
455
|
$xeTable.scrollToRow(targetRow).then(() => $xeTable.triggerCurrentRowEvent(evnt, params));
|
|
439
456
|
}
|
|
440
457
|
},
|
|
458
|
+
// 处理当前列方向键移动
|
|
459
|
+
moveCurrentColumn(isLeftArrow, isRightArrow, evnt) {
|
|
460
|
+
const {
|
|
461
|
+
currentColumn
|
|
462
|
+
} = reactData;
|
|
463
|
+
const {
|
|
464
|
+
visibleColumn
|
|
465
|
+
} = internalData;
|
|
466
|
+
let targetCol = null;
|
|
467
|
+
if (currentColumn) {
|
|
468
|
+
const _columnIndex = $xeTable.getVTColumnIndex(currentColumn);
|
|
469
|
+
if (isLeftArrow && _columnIndex > 0) {
|
|
470
|
+
targetCol = visibleColumn[_columnIndex - 1];
|
|
471
|
+
} else if (isRightArrow && _columnIndex < visibleColumn.length - 1) {
|
|
472
|
+
targetCol = visibleColumn[_columnIndex + 1];
|
|
473
|
+
}
|
|
474
|
+
} else {
|
|
475
|
+
targetCol = visibleColumn[0];
|
|
476
|
+
}
|
|
477
|
+
if (targetCol) {
|
|
478
|
+
evnt.preventDefault();
|
|
479
|
+
const params = {
|
|
480
|
+
$table: $xeTable,
|
|
481
|
+
column: targetCol,
|
|
482
|
+
columnIndex: $xeTable.getColumnIndex(targetCol),
|
|
483
|
+
$columnIndex: $xeTable.getVMColumnIndex(targetCol)
|
|
484
|
+
};
|
|
485
|
+
$xeTable.scrollToColumn(targetCol).then(() => $xeTable.triggerCurrentColumnEvent(evnt, params));
|
|
486
|
+
}
|
|
487
|
+
},
|
|
441
488
|
// 处理可编辑方向键移动
|
|
442
489
|
moveSelected(args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow, evnt) {
|
|
443
490
|
const {
|
|
@@ -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,
|
|
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=!_dom.browse.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:y,reactData:D,internalData:O}=M,S=M.getRefMaps().refElem,{computeEditOpts:p,computeCheckboxOpts:a,computeMouseOpts:s,computeTreeOpts:c,computeRowOpts:H,computeColumnOpts:v,computeCellOpts:V,computeDefaultRowHeight:q,computeCurrentRowOpts:x,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 E=l;if(o&&"left"===r.fixed?E=o:t&&"right"===r.fixed&&(E=t),E){let t=S.value,i=e.clientX,a=e.clientY,s=E.querySelector(".vxe-table--checkbox-range"),c=n.parentElement,d=M.getCheckboxRecords(),g=[],h=1;l=getTargetOffset(e.target,E);let m=l.offsetTop+e.offsetY,f=l.offsetLeft+e.offsetX,p=E.scrollTop,u=c.offsetHeight,v=c.getBoundingClientRect(),x=a-v.y,w=null,C=!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+(E.scrollTop-p);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,E.scrollHeight-m-h),t<h?(u+=t,r>f&&(u=h,r=f)):r=Math.min(r,E.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=y.showOverflow,{fullAllDataRowIdData:u,isResizeCellHeight:i}=O,a=H.value,s=V.value,c=q.value,e=e.row;let d=0,g=[],h=0;var m=0<r,f=D.scrollYLoad,p=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?p.slice(l,l+Math.ceil(h/c)):p.slice(l-Math.floor(h/c),l+1);else if(m)for(let e=l;e<p.length;e++){var v=p[e],x=u[M.getRowid(v)]||{};if(d+=x.resizeHeight||s.height||a.height||x.height||c,g.push(v),d>h)return g}else for(let e=l;0<=e;e--){var w=p[e],C=u[M.getRowid(w)]||{};if(d+=C.resizeHeight||s.height||a.height||C.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,v,x,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},_=n=>{I(),w=setTimeout(()=>{var e,t,l,o,r;w&&({scrollLeft:e,scrollTop:t,clientHeight:l,scrollHeight:o}=E,r=Math.ceil(50*b/u),C?t+l<o?(M.scrollTo(e,t+r),_(n),T(n)):I():t?(M.scrollTo(e,t-r),_(n),T(n)):I())},50)};(0,_dom.addClass)(t,"drag--range"),document.onmousemove=e=>{e.preventDefault(),e.stopPropagation();var t=e.clientY,l=(0,_dom.getAbsolutePos)(E).boundingTop;t<l?(C=!1,b=l-t,w||_(e)):t>l+E.clientHeight?(C=!0,b=t-l-E.clientHeight,w||_(e)):w&&I(),T(e)},document.onmouseup=e=>{I(),(0,_dom.removeClass)(t,"drag--range"),s.removeAttribute("style"),document.onmousemove=null,document.onmouseup=null,R("end",e)},R("start",e)}}};return{moveTabSelected(e,t,l){var o=y.editConfig,{afterFullData:r,visibleColumn:n}=O,u=p.value,i=H.value,a=x.value,s=v.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=y.treeConfig;let r=D.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=D.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))}},moveSelected(e,t,l,o,r,n){var{afterFullData:u,visibleColumn:i}=O;let a=Object.assign({},e);var e=M.getVTRowIndex(a.row),s=M.getVTColumnIndex(a.column);n.preventDefault(),l&&0<e?(a.rowIndex=e-1,a.row=u[a.rowIndex]):r&&e<u.length-1?(a.rowIndex=e+1,a.row=u[a.rowIndex]):t&&s?(a.columnIndex=s-1,a.column=i[a.columnIndex]):o&&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,n)})},handleCellMousedownEvent:(e,t)=>{var{editConfig:l,checkboxConfig:o,mouseConfig:r}=y,n=a.value,u=s.value,i=p.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))}}}});
|
|
@@ -108,11 +108,11 @@ hooks.add('tableValidatorModule', {
|
|
|
108
108
|
treeConfig
|
|
109
109
|
} = props;
|
|
110
110
|
const {
|
|
111
|
-
editStore
|
|
112
|
-
pendingRowMaps
|
|
111
|
+
editStore
|
|
113
112
|
} = reactData;
|
|
114
113
|
const {
|
|
115
|
-
afterFullData
|
|
114
|
+
afterFullData,
|
|
115
|
+
pendingRowMaps
|
|
116
116
|
} = internalData;
|
|
117
117
|
const {
|
|
118
118
|
removeMaps
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_util=require("../../src/util"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,validators,hooks}=_ui.VxeUI;class Rule{constructor(e){Object.assign(this,{$options:e,required:e.required,min:e.min,max:e.max,type:e.type,pattern:e.pattern,validator:e.validator,trigger:e.trigger,maxWidth:e.maxWidth})}get content(){return(0,_utils.getFuncText)(this.$options.content||this.$options.message)}get message(){return this.content}}let tableValidatorMethodKeys=["fullValidate","validate","fullValidateField","validateField","clearValidate"];hooks.add("tableValidatorModule",{setupTable(
|
|
1
|
+
var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_util=require("../../src/util"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,validators,hooks}=_ui.VxeUI;class Rule{constructor(e){Object.assign(this,{$options:e,required:e.required,min:e.min,max:e.max,type:e.type,pattern:e.pattern,validator:e.validator,trigger:e.trigger,maxWidth:e.maxWidth})}get content(){return(0,_utils.getFuncText)(this.$options.content||this.$options.message)}get message(){return this.content}}let tableValidatorMethodKeys=["fullValidate","validate","fullValidateField","validateField","clearValidate"];hooks.add("tableValidatorModule",{setupTable(v){let{props:p,reactData:h,internalData:_}=v,g=v.getRefMaps().refValidTooltip,{computeValidOpts:x,computeTreeOpts:w,computeEditOpts:r}=v.getComputeMaps(),R={},U={},V,t=(e,t,u,a)=>{let s={},{editRules:o,treeConfig:r}=p;var i=h.editStore;let{afterFullData:l,pendingRowMaps:n}=_,d=i.removeMaps;i=w.value,i=i.children||i.childrenField;let c=x.value,g,f=(!0===e?g=l:e&&(_xeUtils.default.isFunction(e)?u=e:g=_xeUtils.default.isArray(e)?e:[e]),g=g||(v.getInsertRecords?v.getInsertRecords().concat(v.getUpdateRecords()):[]),[]),m=(_._lastCallTime=Date.now(),V=!1,R.clearValidate(),{});if(o){let l=t&&t.length?t:v.getColumns();e=i=>{var e=(0,_util.getRowid)(v,i);if(!d[e]&&!n[e]&&(a||!V)){let e=[];l.forEach(t=>{let r=_xeUtils.default.isString(t)?t:t.field;!a&&V||!_xeUtils.default.has(o,r)||e.push(U.validCellRules("all",i,t).catch(({rule:e,rules:l})=>{l={rule:e,rules:l,rowIndex:v.getRowIndex(i),row:i,columnIndex:v.getColumnIndex(t),column:t,field:r,$table:v};if(s[r]||(s[r]=[]),m[(0,_util.getRowid)(v,i)+":"+t.id]={column:t,row:i,rule:e,content:e.content},s[r].push(l),!a)return V=!0,Promise.reject(l)}))}),f.push(Promise.all(e))}};return r?_xeUtils.default.eachTree(g,e,{children:i}):g.forEach(e),Promise.all(f).then(()=>{let e=Object.keys(s);var l,t,r;return h.validErrorMaps=(l=m,"single"===x.value.msgMode?(t={},(r=Object.keys(l)).length&&(t[r=r[0]]=l[r]),t):l),(0,_vue.nextTick)().then(()=>{if(e.length)return Promise.reject(s[e[0]][0]);u&&u()})}).catch(a=>new Promise((e,l)=>{let t=()=>{(0,_vue.nextTick)(()=>{u?(u(s),e()):("obsolete"===getConfig().validToReject?l:e)(s)})};var r,i=()=>{var l;a.cell=v.getCellElement(a.row,a.column),(0,_dom.scrollToView)(a.cell),l=a,new Promise(e=>{!1===x.value.autoPos?(v.dispatchEvent("valid-error",l,null),e()):v.handleEdit(l,{type:"valid-error",trigger:"call"}).then(()=>{e(U.showValidTooltip(l))})}).then(t)};!1===c.autoPos?t():(r=a.row,v.scrollToRow(r,a.column).then(i))}))}return h.validErrorMaps={},(0,_vue.nextTick)().then(()=>{u&&u()})},m=(R={fullValidate(e,l){return"development"===process.env.NODE_ENV&&_xeUtils.default.isFunction(l)&&(0,_log.warnLog)("vxe.error.notValidators",["fullValidate(rows, callback)","fullValidate(rows)"]),t(e,null,l,!0)},validate(e,l){return t(e,null,l)},fullValidateField(e,l){l=(_xeUtils.default.isArray(l)?l:l?[l]:[]).map(e=>(0,_util.handleFieldOrColumn)(v,e));return l.length?t(e,l,null,!0):(0,_vue.nextTick)()},validateField(e,l){l=(_xeUtils.default.isArray(l)?l:l?[l]:[]).map(e=>(0,_util.handleFieldOrColumn)(v,e));return l.length?t(e,l,null):(0,_vue.nextTick)()},clearValidate(e,l){var r=h.validErrorMaps,t=g.value,i=x.value,e=_xeUtils.default.isArray(e)?e:e?[e]:[];let a=(_xeUtils.default.isArray(l)?l:l?[l]:[]).map(e=>(0,_util.handleFieldOrColumn)(v,e)),u={};if(t&&t.reactData.visible&&t.close(),"single"===i.msgMode)h.validErrorMaps={};else{if(e.length&&a.length)u=Object.assign({},r),e.forEach(l=>{a.forEach(e=>{e=(0,_util.getRowid)(v,l)+":"+e.id;u[e]&&delete u[e]})});else if(e.length){let t=e.map(e=>""+(0,_util.getRowid)(v,e));_xeUtils.default.each(r,(e,l)=>{-1<t.indexOf(l.split(":")[0])&&(u[l]=e)})}else if(a.length){let t=a.map(e=>""+e.id);_xeUtils.default.each(r,(e,l)=>{-1<t.indexOf(l.split(":")[1])&&(u[l]=e)})}h.validErrorMaps=u}return(0,_vue.nextTick)()}},(e,l)=>{var{type:e,min:t,max:r,pattern:i}=e,e="number"===e,a=e?_xeUtils.default.toNumber(l):_xeUtils.default.getSize(l);return!(!e||!isNaN(l))||!_xeUtils.default.eqNull(t)&&a<_xeUtils.default.toNumber(t)||!_xeUtils.default.eqNull(r)&&a>_xeUtils.default.toNumber(r)||!(!i||(_xeUtils.default.isRegExp(i)?i:new RegExp(i)).test(l))});return U={validCellRules(e,d,c,l){var t=p.editRules,r=c.field;let g=[],f=[];if(r&&t){let n=_xeUtils.default.get(t,r);if(n){let o=_xeUtils.default.isUndefined(l)?_xeUtils.default.get(d,r):l;n.forEach(l=>{let{type:t,trigger:r,required:i,validator:a}=l;if("all"===e||!r||e===r)if(a){var u={cellValue:o,rule:l,rules:n,row:d,rowIndex:v.getRowIndex(d),column:c,columnIndex:v.getColumnIndex(c),field:c.field,$table:v,$grid:v.xegrid};let e;_xeUtils.default.isString(a)?(s=validators.get(a))?(s=s.tableCellValidatorMethod||s.cellValidatorMethod)?e=s(u):"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.notValidators",[a]):(0,_log.errLog)("vxe.error.notValidators",[a]):e=a(u),e&&(_xeUtils.default.isError(e)?(V=!0,g.push(new Rule({type:"custom",trigger:r,content:e.message,rule:new Rule(l)}))):e.catch&&f.push(e.catch(e=>{V=!0,g.push(new Rule({type:"custom",trigger:r,content:e&&e.message?e.message:l.content||l.message,rule:new Rule(l)}))})))}else{var s="array"===t,u=_xeUtils.default.isArray(o);let e=!0;e=s||u?!u||!o.length:_xeUtils.default.isString(o)?(0,_utils.eqEmptyValue)(o.trim()):(0,_utils.eqEmptyValue)(o),(i?e||m(l,o):!e&&m(l,o))&&(V=!0,g.push(new Rule(l)))}})}}return Promise.all(f).then(()=>{var e;if(g.length)return e={rules:g,rule:g[0]},Promise.reject(e)})},hasCellRules(l,e,t){var r=p.editRules,t=t.field;return!(!t||!r)&&(r=_xeUtils.default.get(r,t))&&!!_xeUtils.default.find(r,e=>"all"===l||!e.trigger||l===e.trigger)},triggerValidate(i){var{editConfig:e,editRules:l}=p,a=h.editStore,a=a.actived;let u=r.value;var t=x.value;if(l&&"single"===t.msgMode&&(h.validErrorMaps={}),e&&l&&a.row){let{row:l,column:t,cell:r}=a.args;if(U.hasCellRules(i,l,t))return U.validCellRules(i,l,t).then(()=>{"row"===u.mode&&R.clearValidate(l,t)}).catch(({rule:e})=>e.trigger&&i!==e.trigger?Promise.resolve():(e={rule:e,row:l,column:t,cell:r},U.showValidTooltip(e),Promise.reject(e)))}return Promise.resolve()},showValidTooltip(e){var l=p.height,{tableData:t,validStore:r,validErrorMaps:i}=h,{rule:a,row:u,column:s,cell:o}=e,n=x.value,d=g.value,c=a.content;return r.visible=!0,"single"===n.msgMode?h.validErrorMaps={[(0,_util.getRowid)(v,u)+":"+s.id]:{column:s,row:u,rule:a,content:c}}:h.validErrorMaps=Object.assign({},i,{[(0,_util.getRowid)(v,u)+":"+s.id]:{column:s,row:u,rule:a,content:c}}),v.dispatchEvent("valid-error",e,null),d&&("tooltip"===n.message||"default"===n.message&&!l&&t.length<2)?d.open(o,c):(0,_vue.nextTick)()}},Object.assign(Object.assign({},R),U)},setupGrid(e){return e.extendTableMethods(tableValidatorMethodKeys)}});
|
|
@@ -11,7 +11,8 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
|
11
11
|
const {
|
|
12
12
|
getConfig,
|
|
13
13
|
renderer,
|
|
14
|
-
getI18n
|
|
14
|
+
getI18n,
|
|
15
|
+
getComponent
|
|
15
16
|
} = _ui.VxeUI;
|
|
16
17
|
const componentDefaultModelProp = 'modelValue';
|
|
17
18
|
const defaultCompProps = {};
|
|
@@ -40,7 +41,7 @@ function getOldComponentName(name) {
|
|
|
40
41
|
function getDefaultComponent({
|
|
41
42
|
name
|
|
42
43
|
}) {
|
|
43
|
-
return (
|
|
44
|
+
return getComponent(name);
|
|
44
45
|
}
|
|
45
46
|
/**
|
|
46
47
|
* 已废弃
|
|
@@ -397,7 +398,7 @@ function oldEditRender(renderOpts, params) {
|
|
|
397
398
|
* @deprecated
|
|
398
399
|
*/
|
|
399
400
|
function oldButtonEditRender(renderOpts, params) {
|
|
400
|
-
return [(0, _vue.h)((
|
|
401
|
+
return [(0, _vue.h)(getComponent('vxe-button'), Object.assign(Object.assign({}, getCellEditProps(renderOpts, params, null)), getComponentOns(renderOpts, params)))];
|
|
401
402
|
}
|
|
402
403
|
/**
|
|
403
404
|
* 已废弃
|
|
@@ -649,6 +650,69 @@ function handleExportTreeSelectMethod(params) {
|
|
|
649
650
|
} = params;
|
|
650
651
|
return options.original ? (0, _util.getCellValue)(row, column) : getTreeSelectCellValue(column.editRender || column.cellRender, params);
|
|
651
652
|
}
|
|
653
|
+
function handleNumberCell(renderOpts, params) {
|
|
654
|
+
const {
|
|
655
|
+
props = {},
|
|
656
|
+
showNegativeStatus
|
|
657
|
+
} = renderOpts;
|
|
658
|
+
const {
|
|
659
|
+
row,
|
|
660
|
+
column
|
|
661
|
+
} = params;
|
|
662
|
+
const {
|
|
663
|
+
type
|
|
664
|
+
} = props;
|
|
665
|
+
let cellValue = _xeUtils.default.get(row, column.field);
|
|
666
|
+
let isNegative = false;
|
|
667
|
+
if (!(0, _utils.isEmptyValue)(cellValue)) {
|
|
668
|
+
const numberInputConfig = getConfig().numberInput || {};
|
|
669
|
+
if (type === 'float') {
|
|
670
|
+
const autoFill = handleDefaultValue(props.autoFill, numberInputConfig.autoFill, true);
|
|
671
|
+
const digits = handleDefaultValue(props.digits, numberInputConfig.digits, 1);
|
|
672
|
+
cellValue = _xeUtils.default.toFixed(_xeUtils.default.floor(cellValue, digits), digits);
|
|
673
|
+
if (!autoFill) {
|
|
674
|
+
cellValue = _xeUtils.default.toNumber(cellValue);
|
|
675
|
+
}
|
|
676
|
+
if (showNegativeStatus) {
|
|
677
|
+
if (cellValue < 0) {
|
|
678
|
+
isNegative = true;
|
|
679
|
+
}
|
|
680
|
+
}
|
|
681
|
+
} else if (type === 'amount') {
|
|
682
|
+
const autoFill = handleDefaultValue(props.autoFill, numberInputConfig.autoFill, true);
|
|
683
|
+
const digits = handleDefaultValue(props.digits, numberInputConfig.digits, 2);
|
|
684
|
+
const showCurrency = handleDefaultValue(props.showCurrency, numberInputConfig.showCurrency, false);
|
|
685
|
+
cellValue = _xeUtils.default.toNumber(cellValue);
|
|
686
|
+
if (showNegativeStatus) {
|
|
687
|
+
if (cellValue < 0) {
|
|
688
|
+
isNegative = true;
|
|
689
|
+
}
|
|
690
|
+
}
|
|
691
|
+
cellValue = _xeUtils.default.commafy(cellValue, {
|
|
692
|
+
digits
|
|
693
|
+
});
|
|
694
|
+
if (!autoFill) {
|
|
695
|
+
const [iStr, dStr] = cellValue.split('.');
|
|
696
|
+
if (dStr) {
|
|
697
|
+
const dRest = dStr.replace(/0+$/, '');
|
|
698
|
+
cellValue = dRest ? [iStr, '.', dRest].join('') : iStr;
|
|
699
|
+
}
|
|
700
|
+
}
|
|
701
|
+
if (showCurrency) {
|
|
702
|
+
cellValue = `${props.currencySymbol || numberInputConfig.currencySymbol || getI18n('vxe.numberInput.currencySymbol') || ''}${cellValue}`;
|
|
703
|
+
}
|
|
704
|
+
} else {
|
|
705
|
+
if (showNegativeStatus) {
|
|
706
|
+
if (_xeUtils.default.toNumber(cellValue) < 0) {
|
|
707
|
+
isNegative = true;
|
|
708
|
+
}
|
|
709
|
+
}
|
|
710
|
+
}
|
|
711
|
+
}
|
|
712
|
+
return getCellLabelVNs(renderOpts, params, cellValue, isNegative ? {
|
|
713
|
+
class: 'is--negative'
|
|
714
|
+
} : {});
|
|
715
|
+
}
|
|
652
716
|
/**
|
|
653
717
|
* 表格 - 渲染器
|
|
654
718
|
*/
|
|
@@ -718,72 +782,22 @@ renderer.mixin({
|
|
|
718
782
|
renderTableFilter: defaultFilterRender,
|
|
719
783
|
tableFilterDefaultMethod: handleInputFilterMethod
|
|
720
784
|
},
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
const {
|
|
726
|
-
props = {},
|
|
727
|
-
showNegativeStatus
|
|
728
|
-
} = renderOpts;
|
|
785
|
+
FormatNumberInput: {
|
|
786
|
+
renderTableDefault: handleNumberCell,
|
|
787
|
+
tableFilterDefaultMethod: handleInputFilterMethod,
|
|
788
|
+
tableExportMethod(params) {
|
|
729
789
|
const {
|
|
730
790
|
row,
|
|
731
791
|
column
|
|
732
792
|
} = params;
|
|
733
|
-
const
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
const autoFill = handleDefaultValue(props.autoFill, numberInputConfig.autoFill, true);
|
|
742
|
-
const digits = handleDefaultValue(props.digits, numberInputConfig.digits, 1);
|
|
743
|
-
cellValue = _xeUtils.default.toFixed(_xeUtils.default.floor(cellValue, digits), digits);
|
|
744
|
-
if (!autoFill) {
|
|
745
|
-
cellValue = _xeUtils.default.toNumber(cellValue);
|
|
746
|
-
}
|
|
747
|
-
if (showNegativeStatus) {
|
|
748
|
-
if (cellValue < 0) {
|
|
749
|
-
isNegative = true;
|
|
750
|
-
}
|
|
751
|
-
}
|
|
752
|
-
} else if (type === 'amount') {
|
|
753
|
-
const autoFill = handleDefaultValue(props.autoFill, numberInputConfig.autoFill, true);
|
|
754
|
-
const digits = handleDefaultValue(props.digits, numberInputConfig.digits, 2);
|
|
755
|
-
const showCurrency = handleDefaultValue(props.showCurrency, numberInputConfig.showCurrency, false);
|
|
756
|
-
cellValue = _xeUtils.default.toNumber(cellValue);
|
|
757
|
-
if (showNegativeStatus) {
|
|
758
|
-
if (cellValue < 0) {
|
|
759
|
-
isNegative = true;
|
|
760
|
-
}
|
|
761
|
-
}
|
|
762
|
-
cellValue = _xeUtils.default.commafy(cellValue, {
|
|
763
|
-
digits
|
|
764
|
-
});
|
|
765
|
-
if (!autoFill) {
|
|
766
|
-
const [iStr, dStr] = cellValue.split('.');
|
|
767
|
-
if (dStr) {
|
|
768
|
-
const dRest = dStr.replace(/0+$/, '');
|
|
769
|
-
cellValue = dRest ? [iStr, '.', dRest].join('') : iStr;
|
|
770
|
-
}
|
|
771
|
-
}
|
|
772
|
-
if (showCurrency) {
|
|
773
|
-
cellValue = `${props.currencySymbol || numberInputConfig.currencySymbol || getI18n('vxe.numberInput.currencySymbol') || ''}${cellValue}`;
|
|
774
|
-
}
|
|
775
|
-
} else {
|
|
776
|
-
if (showNegativeStatus) {
|
|
777
|
-
if (_xeUtils.default.toNumber(cellValue) < 0) {
|
|
778
|
-
isNegative = true;
|
|
779
|
-
}
|
|
780
|
-
}
|
|
781
|
-
}
|
|
782
|
-
}
|
|
783
|
-
return getCellLabelVNs(renderOpts, params, cellValue, isNegative ? {
|
|
784
|
-
class: 'is--negative'
|
|
785
|
-
} : {});
|
|
786
|
-
},
|
|
793
|
+
const cellValue = _xeUtils.default.get(row, column.field);
|
|
794
|
+
return cellValue;
|
|
795
|
+
}
|
|
796
|
+
},
|
|
797
|
+
VxeNumberInput: {
|
|
798
|
+
tableAutoFocus: 'input',
|
|
799
|
+
renderTableEdit: defaultEditRender,
|
|
800
|
+
renderTableCell: handleNumberCell,
|
|
787
801
|
renderTableFooter(renderOpts, params) {
|
|
788
802
|
const {
|
|
789
803
|
props = {}
|
|
@@ -922,11 +936,22 @@ renderer.mixin({
|
|
|
922
936
|
tableFilterDefaultMethod: handleFilterMethod,
|
|
923
937
|
tableExportMethod: handleExportSelectMethod
|
|
924
938
|
},
|
|
939
|
+
/**
|
|
940
|
+
* 已废弃,被 FormatSelect 替换
|
|
941
|
+
* @deprecated
|
|
942
|
+
*/
|
|
925
943
|
formatOption: {
|
|
926
944
|
renderTableDefault(renderOpts, params) {
|
|
927
945
|
return getCellLabelVNs(renderOpts, params, getSelectCellValue(renderOpts, params));
|
|
928
946
|
}
|
|
929
947
|
},
|
|
948
|
+
FormatSelect: {
|
|
949
|
+
renderTableDefault(renderOpts, params) {
|
|
950
|
+
return getCellLabelVNs(renderOpts, params, getSelectCellValue(renderOpts, params));
|
|
951
|
+
},
|
|
952
|
+
tableFilterDefaultMethod: handleFilterMethod,
|
|
953
|
+
tableExportMethod: handleExportSelectMethod
|
|
954
|
+
},
|
|
930
955
|
VxeTreeSelect: {
|
|
931
956
|
tableAutoFocus: 'input',
|
|
932
957
|
renderTableEdit: defaultTableOrTreeSelectEditRender,
|
|
@@ -935,11 +960,21 @@ renderer.mixin({
|
|
|
935
960
|
},
|
|
936
961
|
tableExportMethod: handleExportTreeSelectMethod
|
|
937
962
|
},
|
|
963
|
+
/**
|
|
964
|
+
* 已废弃,被 FormatTreeSelect 替换
|
|
965
|
+
* @deprecated
|
|
966
|
+
*/
|
|
938
967
|
formatTree: {
|
|
939
968
|
renderTableDefault(renderOpts, params) {
|
|
940
969
|
return getCellLabelVNs(renderOpts, params, getTreeSelectCellValue(renderOpts, params));
|
|
941
970
|
}
|
|
942
971
|
},
|
|
972
|
+
FormatTreeSelect: {
|
|
973
|
+
renderTableDefault(renderOpts, params) {
|
|
974
|
+
return getCellLabelVNs(renderOpts, params, getTreeSelectCellValue(renderOpts, params));
|
|
975
|
+
},
|
|
976
|
+
tableExportMethod: handleExportTreeSelectMethod
|
|
977
|
+
},
|
|
943
978
|
VxeTableSelect: {
|
|
944
979
|
tableAutoFocus: 'input',
|
|
945
980
|
renderTableEdit: defaultTableOrTreeSelectEditRender,
|