vxe-table 4.7.76 → 4.7.78

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/README.en.md +1 -1
  2. package/README.ja-JP.md +1 -1
  3. package/README.md +1 -1
  4. package/README.zh-TW.md +1 -1
  5. package/es/grid/src/grid.js +45 -36
  6. package/es/style.css +1 -1
  7. package/es/table/module/custom/panel.js +5 -0
  8. package/es/table/src/body.js +26 -2
  9. package/es/table/src/cell.js +6 -6
  10. package/es/table/src/column.js +45 -18
  11. package/es/table/src/footer.js +16 -4
  12. package/es/table/src/group.js +18 -12
  13. package/es/table/src/header.js +4 -1
  14. package/es/table/src/props.js +96 -24
  15. package/es/table/src/table.js +80 -20
  16. package/es/table/src/util.js +1 -1
  17. package/es/toolbar/src/toolbar.js +89 -68
  18. package/es/ui/index.js +2 -2
  19. package/es/ui/src/log.js +1 -1
  20. package/lib/grid/src/grid.js +45 -39
  21. package/lib/grid/src/grid.min.js +1 -1
  22. package/lib/index.umd.js +343 -198
  23. package/lib/index.umd.min.js +1 -1
  24. package/lib/style.css +1 -1
  25. package/lib/table/module/custom/panel.js +7 -0
  26. package/lib/table/module/custom/panel.min.js +1 -1
  27. package/lib/table/src/cell.js +3 -3
  28. package/lib/table/src/cell.min.js +1 -1
  29. package/lib/table/src/column.js +16 -10
  30. package/lib/table/src/column.min.js +1 -1
  31. package/lib/table/src/group.js +17 -11
  32. package/lib/table/src/group.min.js +1 -1
  33. package/lib/table/src/table.js +91 -22
  34. package/lib/table/src/table.min.js +1 -1
  35. package/lib/table/src/util.js +1 -1
  36. package/lib/table/src/util.min.js +1 -1
  37. package/lib/toolbar/src/toolbar.js +109 -76
  38. package/lib/toolbar/src/toolbar.min.js +1 -1
  39. package/lib/ui/index.js +2 -2
  40. package/lib/ui/index.min.js +1 -1
  41. package/lib/ui/src/log.js +1 -1
  42. package/lib/ui/src/log.min.js +1 -1
  43. package/package.json +2 -2
  44. package/packages/grid/src/grid.ts +54 -44
  45. package/packages/table/module/custom/panel.ts +5 -0
  46. package/packages/table/src/body.ts +26 -2
  47. package/packages/table/src/cell.ts +9 -8
  48. package/packages/table/src/column.ts +47 -20
  49. package/packages/table/src/footer.ts +16 -4
  50. package/packages/table/src/group.ts +19 -13
  51. package/packages/table/src/header.ts +4 -1
  52. package/packages/table/src/props.ts +97 -24
  53. package/packages/table/src/table.ts +80 -25
  54. package/packages/table/src/util.ts +2 -2
  55. package/packages/toolbar/src/toolbar.ts +97 -75
  56. /package/es/{iconfont.1725332971397.ttf → iconfont.1726051234125.ttf} +0 -0
  57. /package/es/{iconfont.1725332971397.woff → iconfont.1726051234125.woff} +0 -0
  58. /package/es/{iconfont.1725332971397.woff2 → iconfont.1726051234125.woff2} +0 -0
  59. /package/lib/{iconfont.1725332971397.ttf → iconfont.1726051234125.ttf} +0 -0
  60. /package/lib/{iconfont.1725332971397.woff → iconfont.1726051234125.woff} +0 -0
  61. /package/lib/{iconfont.1725332971397.woff2 → iconfont.1726051234125.woff2} +0 -0
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.assembleColumn=assembleColumn,exports.clearTableAllStatus=clearTableAllStatus,exports.clearTableDefaultStatus=clearTableDefaultStatus,exports.colToVisible=colToVisible,exports.convertHeaderColumnToRows=void 0,exports.createColumn=createColumn,exports.destroyColumn=destroyColumn,exports.getCellValue=getCellValue,exports.getColReMaxWidth=getColReMaxWidth,exports.getColReMinWidth=getColReMinWidth,exports.getRootColumn=getRootColumn,exports.getRowUniqueId=getRowUniqueId,exports.getRowid=getRowid,exports.getRowkey=getRowkey,exports.handleFieldOrColumn=void 0,exports.isColumnInfo=isColumnInfo,exports.mergeBodyMethod=mergeBodyMethod,exports.removeScrollListener=removeScrollListener,exports.restoreScrollListener=restoreScrollListener,exports.restoreScrollLocation=restoreScrollLocation,exports.rowToVisible=rowToVisible,exports.setCellValue=setCellValue,exports.toFilters=toFilters,exports.toTreePathSeq=toTreePathSeq,exports.watchColumn=watchColumn;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_columnInfo=require("./columnInfo"),_dom=require("../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const getAllConvertColumns=(e,l)=>{const t=[];return e.forEach(e=>{e.parentId=l?l.id:null,e.visible&&(e.children&&e.children.length&&e.children.some(e=>e.visible)?(t.push(e),t.push(...getAllConvertColumns(e.children,e))):t.push(e))}),t},convertHeaderColumnToRows=e=>{let l=1;const r=(t,e)=>{if(e&&(t.level=e.level+1,l<t.level)&&(l=t.level),t.children&&t.children.length&&t.children.some(e=>e.visible)){let l=0;t.children.forEach(e=>{e.visible&&(r(e,t),l+=e.colSpan)}),t.colSpan=l}else t.colSpan=1},t=(e.forEach(e=>{e.level=1,r(e)}),[]);for(let e=0;e<l;e++)t.push([]);return getAllConvertColumns(e).forEach(e=>{e.children&&e.children.length&&e.children.some(e=>e.visible)?e.rowSpan=1:e.rowSpan=l-e.level+1,t[e.level-1].push(e)}),t};function restoreScrollLocation(e,l,t){const r=e["internalData"];return e.clearScroll().then(()=>{if(l||t)return r.lastScrollLeft=0,r.lastScrollTop=0,e.scrollTo(l,t)})}function removeScrollListener(e){e&&e._onscroll&&(e.onscroll=null)}function restoreScrollListener(e){e&&e._onscroll&&(e.onscroll=e._onscroll)}function getRowUniqueId(){return _xeUtils.default.uniqueId("row_")}function getRowkey(e){var l=e["props"],e=e.getComputeMaps()["computeRowOpts"],l=l["rowId"],e=e.value;return l||e.keyField||"_X_ROW_KEY"}function getRowid(e,l){l=_xeUtils.default.get(l,getRowkey(e));return _xeUtils.default.eqNull(l)?"":encodeURIComponent(l)}exports.convertHeaderColumnToRows=convertHeaderColumnToRows;const handleFieldOrColumn=(e,l)=>l?_xeUtils.default.isString(l)?e.getColumnByField(l):l:null;function getPaddingLeftRightSize(e){return e?(e=getComputedStyle(e),_xeUtils.default.toNumber(e.paddingLeft)+_xeUtils.default.toNumber(e.paddingRight)):0}function getElemenMarginWidth(e){var l,t;return e?(t=getComputedStyle(e),l=_xeUtils.default.toNumber(t.marginLeft),t=_xeUtils.default.toNumber(t.marginRight),e.offsetWidth+l+t):0}function queryCellElement(e,l){return e.querySelector(".vxe-cell"+l)}function toFilters(e){return e&&_xeUtils.default.isArray(e)?e.map(({label:e,value:l,data:t,resetValue:r,checked:o})=>({label:e,value:l,data:t,resetValue:r,checked:!!o,_checked:!!o})):e}function toTreePathSeq(e){return e.map((e,l)=>l%2==0?Number(e)+1:".").join("")}function getCellValue(e,l){return _xeUtils.default.get(e,l.field)}function setCellValue(e,l,t){return _xeUtils.default.set(e,l.field,t)}function getColReMaxWidth(e){var l=e["$table"],l=l.getComputeMaps()["computeResizableOpts"],l=l.value["maxWidth"];if(l){e=_xeUtils.default.isFunction(l)?l(e):l;if("auto"!==e)return Math.max(1,_xeUtils.default.toNumber(e))}return-1}function getColReMinWidth(e){var{$table:l,column:t,cell:r}=e,o=l["props"],n=l.getComputeMaps()["computeResizableOpts"],n=n.value["minWidth"];if(n){e=_xeUtils.default.isFunction(n)?n(e):n;if("auto"!==e)return Math.max(1,_xeUtils.default.toNumber(e))}var i,a,n=o["showHeaderOverflow"],{showHeaderOverflow:e,minWidth:o}=t,t=_xeUtils.default.isUndefined(e)||_xeUtils.default.isNull(e)?n:e,n="title"===t||(!0===t||"tooltip"===t)||"ellipsis"===t;let u=_xeUtils.default.floor(1.6*(_xeUtils.default.toNumber(getComputedStyle(r).fontSize)||14))+(getPaddingLeftRightSize(r)+getPaddingLeftRightSize(queryCellElement(r,"")));if(n&&(e=getPaddingLeftRightSize(queryCellElement(r,"--title>.vxe-cell--checkbox")),t=getElemenMarginWidth(queryCellElement(r,">.vxe-cell--required-icon")),n=getElemenMarginWidth(queryCellElement(r,">.vxe-cell--edit-icon")),s=getElemenMarginWidth(queryCellElement(r,">.vxe-cell-title-prefix-icon")),i=getElemenMarginWidth(queryCellElement(r,">.vxe-cell-title-suffix-icon")),a=getElemenMarginWidth(queryCellElement(r,">.vxe-cell--sort")),r=getElemenMarginWidth(queryCellElement(r,">.vxe-cell--filter")),u+=e+t+n+s+i+r+a),o){var s,e=l.getRefMaps()["refTableBody"],t=e.value,n=t?t.$el:null;if(n){if((0,_dom.isScale)(o))return s=(n.clientWidth-1)/100,Math.max(u,Math.floor(_xeUtils.default.toInteger(o)*s));if((0,_dom.isPx)(o))return Math.max(u,_xeUtils.default.toInteger(o))}}return u}function isColumnInfo(e){return e&&(e.constructor===_columnInfo.ColumnInfo||e instanceof _columnInfo.ColumnInfo)}function createColumn(e,l,t){return isColumnInfo(l)?l:(0,_vue.reactive)(new _columnInfo.ColumnInfo(e,l,t))}function watchColumn(t,e,r){Object.keys(e).forEach(l=>{(0,_vue.watch)(()=>e[l],e=>{r.update(l,e),t&&("filters"===l?(t.setFilter(r,e),t.handleUpdateDataQueue()):["visible","fixed","width","minWidth","maxWidth"].includes(l)&&t.handleRefreshColumnQueue())})})}function assembleColumn(e,l,t,r){var e=e["reactData"],o=e["staticColumns"],n=l.parentNode,r=r?r.column:null,r=r?r.children:o;n&&r&&(r.splice(_xeUtils.default.arrayIndexOf(n.children,l),0,t),e.staticColumns=o.slice(0))}function destroyColumn(e,l){var e=e["reactData"],t=e["staticColumns"],r=_xeUtils.default.findTree(t,e=>e.id===l.id,{children:"children"});r&&r.items.splice(r.index,1),e.staticColumns=t.slice(0)}function getRootColumn(e,l){var e=e["internalData"],t=e["fullColumnIdData"];if(!l)return null;let r=l.parentId;for(;t[r];){const l=t[r].column;if(!(r=l.parentId))return l}return l}function mergeBodyMethod(l,t,r){for(let e=0;e<l.length;e++){var{row:o,col:n,rowspan:i,colspan:a}=l[e];if(-1<n&&-1<o&&i&&a){if(o===t&&n===r)return{rowspan:i,colspan:a};if(o<=t&&t<o+i&&n<=r&&r<n+a)return{rowspan:0,colspan:0}}}}function clearTableDefaultStatus(e){var{props:l,internalData:t}=e;return t.initStatus=!1,e.clearSort(),e.clearCurrentRow(),e.clearCurrentColumn(),e.clearRadioRow(),e.clearRadioReserve(),e.clearCheckboxRow(),e.clearCheckboxReserve(),e.clearRowExpand(),e.clearTreeExpand(),e.clearTreeExpandReserve(),e.clearPendingRow(),e.clearFilter&&e.clearFilter(),e.clearSelected&&(l.keyboardConfig||l.mouseConfig)&&e.clearSelected(),e.clearCellAreas&&l.mouseConfig&&(e.clearCellAreas(),e.clearCopyCellArea()),e.clearScroll()}function clearTableAllStatus(e){return e.clearFilter&&e.clearFilter(),clearTableDefaultStatus(e)}function rowToVisible(e,l){var{reactData:t,internalData:r}=e,o=e.getRefMaps()["refTableBody"],t=t["scrollYLoad"],{afterFullData:r,scrollYStore:n}=r,o=o.value,o=o?o.$el:null;if(o){var i=o.querySelector(`[rowid="${getRowid(e,l)}"]`);if(i){var a=o.clientHeight,o=o.scrollTop,u=i.offsetParent,u=i.offsetTop+(u?u.offsetTop:0),i=i.clientHeight;if(u<o||o+a<u)return e.scrollTo(null,u);if(a+o<=u+i)return e.scrollTo(null,o+i)}else if(t)return e.scrollTo(null,(e.findRowIndexOf(r,l)-1)*n.rowHeight)}return Promise.resolve()}function colToVisible(e,t){var{reactData:l,internalData:r}=e,o=e.getRefMaps()["refTableBody"],l=l["scrollXLoad"],n=r["visibleColumn"],r=o.value,o=r?r.$el:null;if(o){r=o.querySelector("."+t.id);if(r){var i=o.clientWidth,o=o.scrollLeft,a=r.offsetParent,a=r.offsetLeft+(a?a.offsetLeft:0),r=r.clientWidth;if(a<o||o+i<a)return e.scrollTo(a);if(i+o<=a+r)return e.scrollTo(o+r)}else if(l){let l=0;for(let e=0;e<n.length;e++){var u=n[e];if(u===t||u.id===t.id)break;l+=u.renderWidth}return e.scrollTo(l)}}return Promise.resolve()}exports.handleFieldOrColumn=handleFieldOrColumn;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.assembleColumn=assembleColumn,exports.clearTableAllStatus=clearTableAllStatus,exports.clearTableDefaultStatus=clearTableDefaultStatus,exports.colToVisible=colToVisible,exports.convertHeaderColumnToRows=void 0,exports.createColumn=createColumn,exports.destroyColumn=destroyColumn,exports.getCellValue=getCellValue,exports.getColReMaxWidth=getColReMaxWidth,exports.getColReMinWidth=getColReMinWidth,exports.getRootColumn=getRootColumn,exports.getRowUniqueId=getRowUniqueId,exports.getRowid=getRowid,exports.getRowkey=getRowkey,exports.handleFieldOrColumn=void 0,exports.isColumnInfo=isColumnInfo,exports.mergeBodyMethod=mergeBodyMethod,exports.removeScrollListener=removeScrollListener,exports.restoreScrollListener=restoreScrollListener,exports.restoreScrollLocation=restoreScrollLocation,exports.rowToVisible=rowToVisible,exports.setCellValue=setCellValue,exports.toFilters=toFilters,exports.toTreePathSeq=toTreePathSeq,exports.watchColumn=watchColumn;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_columnInfo=require("./columnInfo"),_dom=require("../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const getAllConvertColumns=(e,l)=>{const t=[];return e.forEach(e=>{e.parentId=l?l.id:null,e.visible&&(e.children&&e.children.length&&e.children.some(e=>e.visible)?(t.push(e),t.push(...getAllConvertColumns(e.children,e))):t.push(e))}),t},convertHeaderColumnToRows=e=>{let l=1;const r=(t,e)=>{if(e&&(t.level=e.level+1,l<t.level)&&(l=t.level),t.children&&t.children.length&&t.children.some(e=>e.visible)){let l=0;t.children.forEach(e=>{e.visible&&(r(e,t),l+=e.colSpan)}),t.colSpan=l}else t.colSpan=1},t=(e.forEach(e=>{e.level=1,r(e)}),[]);for(let e=0;e<l;e++)t.push([]);return getAllConvertColumns(e).forEach(e=>{e.children&&e.children.length&&e.children.some(e=>e.visible)?e.rowSpan=1:e.rowSpan=l-e.level+1,t[e.level-1].push(e)}),t};function restoreScrollLocation(e,l,t){const r=e["internalData"];return e.clearScroll().then(()=>{if(l||t)return r.lastScrollLeft=0,r.lastScrollTop=0,e.scrollTo(l,t)})}function removeScrollListener(e){e&&e._onscroll&&(e.onscroll=null)}function restoreScrollListener(e){e&&e._onscroll&&(e.onscroll=e._onscroll)}function getRowUniqueId(){return _xeUtils.default.uniqueId("row_")}function getRowkey(e){var l=e["props"],e=e.getComputeMaps()["computeRowOpts"],l=l["rowId"],e=e.value;return l||e.keyField||"_X_ROW_KEY"}function getRowid(e,l){l=_xeUtils.default.get(l,getRowkey(e));return _xeUtils.default.eqNull(l)?"":encodeURIComponent(l)}exports.convertHeaderColumnToRows=convertHeaderColumnToRows;const handleFieldOrColumn=(e,l)=>l?_xeUtils.default.isString(l)?e.getColumnByField(l):l:null;function getPaddingLeftRightSize(e){return e?(e=getComputedStyle(e),_xeUtils.default.toNumber(e.paddingLeft)+_xeUtils.default.toNumber(e.paddingRight)):0}function getElemenMarginWidth(e){var l,t;return e?(t=getComputedStyle(e),l=_xeUtils.default.toNumber(t.marginLeft),t=_xeUtils.default.toNumber(t.marginRight),e.offsetWidth+l+t):0}function queryCellElement(e,l){return e.querySelector(".vxe-cell"+l)}function toFilters(e){return e&&_xeUtils.default.isArray(e)?e.map(({label:e,value:l,data:t,resetValue:r,checked:o})=>({label:e,value:l,data:t,resetValue:r,checked:!!o,_checked:!!o})):e}function toTreePathSeq(e){return e.map((e,l)=>l%2==0?Number(e)+1:".").join("")}function getCellValue(e,l){return _xeUtils.default.get(e,l.field)}function setCellValue(e,l,t){return _xeUtils.default.set(e,l.field,t)}function getColReMaxWidth(e){var l=e["$table"],l=l.getComputeMaps()["computeResizableOpts"],l=l.value["maxWidth"];if(l){e=_xeUtils.default.isFunction(l)?l(e):l;if("auto"!==e)return Math.max(1,_xeUtils.default.toNumber(e))}return-1}function getColReMinWidth(e){var{$table:l,column:t,cell:r}=e,o=l["props"],n=l.getComputeMaps()["computeResizableOpts"],n=n.value["minWidth"];if(n){e=_xeUtils.default.isFunction(n)?n(e):n;if("auto"!==e)return Math.max(1,_xeUtils.default.toNumber(e))}var i,a,n=o["showHeaderOverflow"],{showHeaderOverflow:e,minWidth:o}=t,t=_xeUtils.default.isUndefined(e)||_xeUtils.default.isNull(e)?n:e,n="title"===t||(!0===t||"tooltip"===t)||"ellipsis"===t;let u=_xeUtils.default.floor(1.6*(_xeUtils.default.toNumber(getComputedStyle(r).fontSize)||14))+(getPaddingLeftRightSize(r)+getPaddingLeftRightSize(queryCellElement(r,"")));if(n&&(e=getPaddingLeftRightSize(queryCellElement(r,"--title>.vxe-cell--checkbox")),t=getElemenMarginWidth(queryCellElement(r,">.vxe-cell--required-icon")),n=getElemenMarginWidth(queryCellElement(r,">.vxe-cell--edit-icon")),s=getElemenMarginWidth(queryCellElement(r,">.vxe-cell-title-prefix-icon")),i=getElemenMarginWidth(queryCellElement(r,">.vxe-cell-title-suffix-icon")),a=getElemenMarginWidth(queryCellElement(r,">.vxe-cell--sort")),r=getElemenMarginWidth(queryCellElement(r,">.vxe-cell--filter")),u+=e+t+n+s+i+r+a),o){var s,e=l.getRefMaps()["refTableBody"],t=e.value,n=t?t.$el:null;if(n){if((0,_dom.isScale)(o))return s=(n.clientWidth-1)/100,Math.max(u,Math.floor(_xeUtils.default.toInteger(o)*s));if((0,_dom.isPx)(o))return Math.max(u,_xeUtils.default.toInteger(o))}}return u}function isColumnInfo(e){return e&&(e.constructor===_columnInfo.ColumnInfo||e instanceof _columnInfo.ColumnInfo)}function createColumn(e,l,t){return isColumnInfo(l)?l:(0,_vue.reactive)(new _columnInfo.ColumnInfo(e,l,t))}function watchColumn(t,e,r){Object.keys(e).forEach(l=>{(0,_vue.watch)(()=>e[l],e=>{r.update(l,e),t&&("filters"===l?(t.setFilter(r,e),t.handleUpdateDataQueue()):["visible","fixed","width","minWidth","maxWidth"].includes(l)&&t.handleRefreshColumnQueue())})})}function assembleColumn(e,l,t,r){var e=e["reactData"],o=e["staticColumns"],n=l.parentNode,r=r?r.columnConfig:null,r=r?r.children:o;n&&r&&(r.splice(_xeUtils.default.arrayIndexOf(n.children,l),0,t),e.staticColumns=o.slice(0))}function destroyColumn(e,l){var e=e["reactData"],t=e["staticColumns"],r=_xeUtils.default.findTree(t,e=>e.id===l.id,{children:"children"});r&&r.items.splice(r.index,1),e.staticColumns=t.slice(0)}function getRootColumn(e,l){var e=e["internalData"],t=e["fullColumnIdData"];if(!l)return null;let r=l.parentId;for(;t[r];){const l=t[r].column;if(!(r=l.parentId))return l}return l}function mergeBodyMethod(l,t,r){for(let e=0;e<l.length;e++){var{row:o,col:n,rowspan:i,colspan:a}=l[e];if(-1<n&&-1<o&&i&&a){if(o===t&&n===r)return{rowspan:i,colspan:a};if(o<=t&&t<o+i&&n<=r&&r<n+a)return{rowspan:0,colspan:0}}}}function clearTableDefaultStatus(e){var{props:l,internalData:t}=e;return t.initStatus=!1,e.clearSort(),e.clearCurrentRow(),e.clearCurrentColumn(),e.clearRadioRow(),e.clearRadioReserve(),e.clearCheckboxRow(),e.clearCheckboxReserve(),e.clearRowExpand(),e.clearTreeExpand(),e.clearTreeExpandReserve(),e.clearPendingRow(),e.clearFilter&&e.clearFilter(),e.clearSelected&&(l.keyboardConfig||l.mouseConfig)&&e.clearSelected(),e.clearCellAreas&&l.mouseConfig&&(e.clearCellAreas(),e.clearCopyCellArea()),e.clearScroll()}function clearTableAllStatus(e){return e.clearFilter&&e.clearFilter(),clearTableDefaultStatus(e)}function rowToVisible(e,l){var{reactData:t,internalData:r}=e,o=e.getRefMaps()["refTableBody"],t=t["scrollYLoad"],{afterFullData:r,scrollYStore:n}=r,o=o.value,o=o?o.$el:null;if(o){var i=o.querySelector(`[rowid="${getRowid(e,l)}"]`);if(i){var a=o.clientHeight,o=o.scrollTop,u=i.offsetParent,u=i.offsetTop+(u?u.offsetTop:0),i=i.clientHeight;if(u<o||o+a<u)return e.scrollTo(null,u);if(a+o<=u+i)return e.scrollTo(null,o+i)}else if(t)return e.scrollTo(null,(e.findRowIndexOf(r,l)-1)*n.rowHeight)}return Promise.resolve()}function colToVisible(e,t){var{reactData:l,internalData:r}=e,o=e.getRefMaps()["refTableBody"],l=l["scrollXLoad"],n=r["visibleColumn"],r=o.value,o=r?r.$el:null;if(o){r=o.querySelector("."+t.id);if(r){var i=o.clientWidth,o=o.scrollLeft,a=r.offsetParent,a=r.offsetLeft+(a?a.offsetLeft:0),r=r.clientWidth;if(a<o||o+i<a)return e.scrollTo(a);if(i+o<=a+r)return e.scrollTo(o+r)}else if(l){let l=0;for(let e=0;e<n.length;e++){var u=n[e];if(u===t||u.id===t.id)break;l+=u.renderWidth}return e.scrollTo(l)}}return Promise.resolve()}exports.handleFieldOrColumn=handleFieldOrColumn;
@@ -61,8 +61,12 @@ var _default = exports.default = (0, _vue.defineComponent)({
61
61
  } = useFns.useSize(props);
62
62
  const reactData = (0, _vue.reactive)({
63
63
  isRefresh: false,
64
+ connectFlag: 0,
64
65
  columns: []
65
66
  });
67
+ const internalData = {
68
+ connectTable: null
69
+ };
66
70
  const refElem = (0, _vue.ref)();
67
71
  const refMaps = {
68
72
  refElem
@@ -72,12 +76,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
72
76
  props,
73
77
  context,
74
78
  reactData,
79
+ internalData,
75
80
  getRefMaps: () => refMaps
76
81
  };
77
82
  let toolbarMethods = {};
78
83
  const $xeGrid = (0, _vue.inject)('$xeGrid', null);
79
- const refTable = (0, _vue.ref)();
80
- const connectFlag = (0, _vue.ref)(0);
81
84
  const computeRefreshOpts = (0, _vue.computed)(() => {
82
85
  return Object.assign({}, getConfig().toolbar.refresh, props.refresh);
83
86
  });
@@ -97,8 +100,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
97
100
  return Object.assign({}, getConfig().toolbar.custom, props.custom);
98
101
  });
99
102
  const computeTableCustomOpts = (0, _vue.computed)(() => {
100
- const $table = refTable.value;
101
- if (connectFlag.value || $table) {
103
+ const {
104
+ connectTable
105
+ } = internalData;
106
+ const $table = connectTable;
107
+ if (reactData.connectFlag || $table) {
102
108
  if ($table) {
103
109
  const {
104
110
  computeCustomOpts
@@ -115,7 +121,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
115
121
  return tableCustomOpts.trigger;
116
122
  });
117
123
  const checkTable = () => {
118
- const $table = refTable.value;
124
+ const {
125
+ connectTable
126
+ } = internalData;
127
+ const $table = connectTable;
119
128
  if ($table) {
120
129
  return true;
121
130
  }
@@ -124,7 +133,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
124
133
  const handleClickSettingEvent = ({
125
134
  $event
126
135
  }) => {
127
- const $table = refTable.value;
136
+ const {
137
+ connectTable
138
+ } = internalData;
139
+ const $table = connectTable;
128
140
  if ($table) {
129
141
  if ($table.triggerCustomEvent) {
130
142
  $table.triggerCustomEvent($event);
@@ -136,7 +148,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
136
148
  const handleMouseenterSettingEvent = ({
137
149
  $event
138
150
  }) => {
139
- const $table = refTable.value;
151
+ const {
152
+ connectTable
153
+ } = internalData;
154
+ const $table = connectTable;
140
155
  if ($table) {
141
156
  $table.customOpenEvent($event);
142
157
  } else {
@@ -146,7 +161,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
146
161
  const handleMouseleaveSettingEvent = ({
147
162
  $event
148
163
  }) => {
149
- const $table = refTable.value;
164
+ const {
165
+ connectTable
166
+ } = internalData;
167
+ const $table = connectTable;
150
168
  if ($table) {
151
169
  const {
152
170
  customStore
@@ -195,7 +213,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
195
213
  }
196
214
  };
197
215
  const btnEvent = (evnt, item) => {
198
- const $table = refTable.value;
216
+ const {
217
+ connectTable
218
+ } = internalData;
219
+ const $table = connectTable;
199
220
  const {
200
221
  code
201
222
  } = item;
@@ -226,7 +247,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
226
247
  }
227
248
  };
228
249
  const tolEvent = (evnt, item) => {
229
- const $table = refTable.value;
250
+ const {
251
+ connectTable
252
+ } = internalData;
253
+ const $table = connectTable;
230
254
  const {
231
255
  code
232
256
  } = item;
@@ -258,7 +282,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
258
282
  };
259
283
  const importEvent = () => {
260
284
  if (checkTable()) {
261
- const $table = refTable.value;
285
+ const {
286
+ connectTable
287
+ } = internalData;
288
+ const $table = connectTable;
262
289
  if ($table) {
263
290
  $table.openImport();
264
291
  }
@@ -266,7 +293,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
266
293
  };
267
294
  const exportEvent = () => {
268
295
  if (checkTable()) {
269
- const $table = refTable.value;
296
+ const {
297
+ connectTable
298
+ } = internalData;
299
+ const $table = connectTable;
270
300
  if ($table) {
271
301
  $table.openExport();
272
302
  }
@@ -274,12 +304,29 @@ var _default = exports.default = (0, _vue.defineComponent)({
274
304
  };
275
305
  const printEvent = () => {
276
306
  if (checkTable()) {
277
- const $table = refTable.value;
307
+ const {
308
+ connectTable
309
+ } = internalData;
310
+ const $table = connectTable;
278
311
  if ($table) {
279
312
  $table.openPrint();
280
313
  }
281
314
  }
282
315
  };
316
+ const dispatchEvent = (type, params, evnt) => {
317
+ emit(type, createEvent(evnt, {
318
+ $toolbar: $xeToolbar
319
+ }, params));
320
+ };
321
+ toolbarMethods = {
322
+ dispatchEvent,
323
+ syncUpdate(params) {
324
+ internalData.connectTable = params.$table;
325
+ reactData.columns = params.collectColumn;
326
+ reactData.connectFlag++;
327
+ }
328
+ };
329
+ Object.assign($xeToolbar, toolbarMethods);
283
330
  const renderDropdowns = (item, isBtn) => {
284
331
  const {
285
332
  dropdowns
@@ -316,14 +363,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
316
363
  const {
317
364
  buttons
318
365
  } = props;
319
- const $table = refTable.value;
320
- const buttonsSlot = slots.buttons;
321
- if (buttonsSlot) {
322
- return (0, _vn.getSlotVNs)(buttonsSlot({
323
- $grid: $xeGrid,
324
- $table: $table
325
- }));
326
- }
366
+ const {
367
+ connectTable
368
+ } = internalData;
369
+ const $table = connectTable;
327
370
  const btnVNs = [];
328
371
  if (buttons) {
329
372
  buttons.forEach(item => {
@@ -379,14 +422,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
379
422
  const {
380
423
  tools
381
424
  } = props;
382
- const $table = refTable.value;
383
- const toolsSlot = slots.tools;
384
- if (toolsSlot) {
385
- return (0, _vn.getSlotVNs)(toolsSlot({
386
- $grid: $xeGrid,
387
- $table: $table
388
- }));
389
- }
425
+ const {
426
+ connectTable
427
+ } = internalData;
428
+ const $table = connectTable;
390
429
  const btnVNs = [];
391
430
  if (tools) {
392
431
  tools.forEach((item, tIndex) => {
@@ -509,47 +548,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
509
548
  className: 'vxe-toolbar-custom-target'
510
549
  }, customBtnOns)) : (0, _vue.createCommentVNode)();
511
550
  };
512
- toolbarMethods = {
513
- dispatchEvent(type, params, evnt) {
514
- emit(type, createEvent(evnt, {
515
- $toolbar: $xeToolbar
516
- }, params));
517
- },
518
- syncUpdate(params) {
519
- const {
520
- collectColumn
521
- } = params;
522
- refTable.value = params.$table;
523
- reactData.columns = collectColumn;
524
- connectFlag.value++;
525
- }
526
- };
527
- Object.assign($xeToolbar, toolbarMethods);
528
- (0, _vue.nextTick)(() => {
529
- const {
530
- refresh
531
- } = props;
532
- const refreshOpts = computeRefreshOpts.value;
533
- const queryMethod = refreshOpts.queryMethod || refreshOpts.query;
534
- if (refresh && !$xeGrid && !queryMethod) {
535
- (0, _log.warnLog)('vxe.error.notFunc', ['queryMethod']);
536
- }
537
- const customOpts = computeCustomOpts.value;
538
- if (process.env.NODE_ENV === 'development') {
539
- if (customOpts.isFooter) {
540
- (0, _log.warnLog)('vxe.error.delProp', ['toolbar.custom.isFooter', 'table.custom-config.showFooter']);
541
- }
542
- if (customOpts.showFooter) {
543
- (0, _log.warnLog)('vxe.error.delProp', ['toolbar.custom.showFooter', 'table.custom-config.showFooter']);
544
- }
545
- if (customOpts.immediate) {
546
- (0, _log.warnLog)('vxe.error.delProp', ['toolbar.custom.immediate', 'table.custom-config.immediate']);
547
- }
548
- if (customOpts.trigger) {
549
- (0, _log.warnLog)('vxe.error.delProp', ['toolbar.custom.trigger', 'table.custom-config.trigger']);
550
- }
551
- }
552
- });
553
551
  const renderVN = () => {
554
552
  const {
555
553
  perfect,
@@ -559,7 +557,13 @@ var _default = exports.default = (0, _vue.defineComponent)({
559
557
  custom,
560
558
  className
561
559
  } = props;
560
+ const {
561
+ connectTable
562
+ } = internalData;
562
563
  const vSize = computeSize.value;
564
+ const toolsSlot = slots.tools;
565
+ const buttonsSlot = slots.buttons;
566
+ const $table = connectTable;
563
567
  return (0, _vue.h)('div', {
564
568
  ref: refElem,
565
569
  class: ['vxe-toolbar', className ? _xeUtils.default.isFunction(className) ? className({
@@ -571,22 +575,51 @@ var _default = exports.default = (0, _vue.defineComponent)({
571
575
  }]
572
576
  }, [(0, _vue.h)('div', {
573
577
  class: 'vxe-buttons--wrapper'
574
- }, renderBtns()), (0, _vue.h)('div', {
578
+ }, buttonsSlot ? buttonsSlot({
579
+ $grid: $xeGrid,
580
+ $table: $table
581
+ }) : renderBtns()), (0, _vue.h)('div', {
575
582
  class: 'vxe-tools--wrapper'
576
- }, renderRightTools()), (0, _vue.h)('div', {
583
+ }, toolsSlot ? toolsSlot({
584
+ $grid: $xeGrid,
585
+ $table: $table
586
+ }) : renderRightTools()), (0, _vue.h)('div', {
577
587
  class: 'vxe-tools--operate'
578
588
  }, [props.import ? renderToolImport() : (0, _vue.createCommentVNode)(), props.export ? renderToolExport() : (0, _vue.createCommentVNode)(), props.print ? renderToolPrint() : (0, _vue.createCommentVNode)(), refresh ? renderToolRefresh() : (0, _vue.createCommentVNode)(), zoom && $xeGrid ? renderToolZoom() : (0, _vue.createCommentVNode)(), custom ? renderToolCustom() : (0, _vue.createCommentVNode)()])]);
579
589
  };
580
590
  $xeToolbar.renderVN = renderVN;
581
- if (process.env.NODE_ENV === 'development') {
582
- (0, _vue.nextTick)(() => {
591
+ (0, _vue.nextTick)(() => {
592
+ const {
593
+ refresh
594
+ } = props;
595
+ const refreshOpts = computeRefreshOpts.value;
596
+ const queryMethod = refreshOpts.queryMethod || refreshOpts.query;
597
+ if (refresh && !$xeGrid && !queryMethod) {
598
+ (0, _log.warnLog)('vxe.error.notFunc', ['queryMethod']);
599
+ }
600
+ const customOpts = computeCustomOpts.value;
601
+ if (process.env.NODE_ENV === 'development') {
602
+ if (customOpts.isFooter) {
603
+ (0, _log.warnLog)('vxe.error.delProp', ['toolbar.custom.isFooter', 'table.custom-config.showFooter']);
604
+ }
605
+ if (customOpts.showFooter) {
606
+ (0, _log.warnLog)('vxe.error.delProp', ['toolbar.custom.showFooter', 'table.custom-config.showFooter']);
607
+ }
608
+ if (customOpts.immediate) {
609
+ (0, _log.warnLog)('vxe.error.delProp', ['toolbar.custom.immediate', 'table.custom-config.immediate']);
610
+ }
611
+ if (customOpts.trigger) {
612
+ (0, _log.warnLog)('vxe.error.delProp', ['toolbar.custom.trigger', 'table.custom-config.trigger']);
613
+ }
614
+ }
615
+ if (process.env.NODE_ENV === 'development') {
583
616
  if (props.refresh || props.import || props.export || props.print || props.zoom) {
584
617
  if (!VxeUIButtonComponent) {
585
618
  (0, _log.errLog)('vxe.error.reqComp', ['vxe-button']);
586
619
  }
587
620
  }
588
- });
589
- }
621
+ }
622
+ });
590
623
  return $xeToolbar;
591
624
  },
592
625
  render() {
@@ -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"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getConfig,getIcon,getI18n,renderer,commands,createEvent,useFns}=_ui.VxeUI;var _default=exports.default=(0,_vue.defineComponent)({name:"VxeToolbar",props:{loading:Boolean,refresh:[Boolean,Object],import:[Boolean,Object],export:[Boolean,Object],print:[Boolean,Object],zoom:[Boolean,Object],custom:[Boolean,Object],buttons:{type:Array,default:()=>getConfig().toolbar.buttons},tools:{type:Array,default:()=>getConfig().toolbar.tools},perfect:{type:Boolean,default:()=>getConfig().toolbar.perfect},size:{type:String,default:()=>getConfig().toolbar.size||getConfig().size},className:[String,Function]},emits:["button-click","tool-click"],setup(c,e){const{slots:v,emit:r}=e;var o=_xeUtils.default.uniqueId();const d=_ui.VxeUI.getComponent("VxeButton"),s=useFns.useSize(c)["computeSize"],i=(0,_vue.reactive)({isRefresh:!1,columns:[]}),u=(0,_vue.ref)(),t={refElem:u},m={xID:o,props:c,context:e,reactData:i,getRefMaps:()=>t};const g=(0,_vue.inject)("$xeGrid",null),p=(0,_vue.ref)(),n=(0,_vue.ref)(0),_=(0,_vue.computed)(()=>Object.assign({},getConfig().toolbar.refresh,c.refresh)),b=(0,_vue.computed)(()=>Object.assign({},getConfig().toolbar.import,c.import)),f=(0,_vue.computed)(()=>Object.assign({},getConfig().toolbar.export,c.export)),O=(0,_vue.computed)(()=>Object.assign({},getConfig().toolbar.print,c.print)),h=(0,_vue.computed)(()=>Object.assign({},getConfig().toolbar.zoom,c.zoom)),x=(0,_vue.computed)(()=>Object.assign({},getConfig().toolbar.custom,c.custom)),a=(0,_vue.computed)(()=>{var e=p.value;if((n.value||e)&&e)return e=e.getComputeMaps()["computeCustomOpts"],e.value;return{trigger:""}}),C=(0,_vue.computed)(()=>{return a.value.trigger}),l=()=>{if(p.value)return!0;(0,_log.errLog)("vxe.error.barUnableLink")},T=({$event:e})=>{var o=p.value;o&&(o.triggerCustomEvent?o.triggerCustomEvent(e):(0,_log.errLog)("vxe.error.reqModule",["VxeTableCustomModule"]))},y=({$event:e})=>{var o=p.value;o?o.customOpenEvent(e):(0,_log.errLog)("vxe.error.reqModule",["VxeTableCustomModule"])},E=({$event:e})=>{const o=p.value;if(o){const t=o.reactData["customStore"];t.activeBtn=!1,setTimeout(()=>{t.activeBtn||t.activeWrapper||o.customCloseEvent(e)},350)}},L=({$event:e})=>{var o=i["isRefresh"],t=_.value;if(!o){o=t.queryMethod||t.query;if(o){i.isRefresh=!0;try{Promise.resolve(o({})).catch(e=>e).then(()=>{i.isRefresh=!1})}catch(e){i.isRefresh=!1}}else g&&(i.isRefresh=!0,g.triggerToolbarCommitEvent({code:t.code||"reload"},e).catch(e=>e).then(()=>{i.isRefresh=!1}))}},N=({$event:e})=>{g&&g.triggerZoomEvent(e)},I=(e,o)=>{var t,r=p.value,n=o["code"];n&&(g?g.triggerToolbarBtnEvent(o,e):(t=commands.get(n),o={code:n,button:o,$table:r,$grid:g,$event:e},t&&((r=t.tableCommandMethod||t.commandMethod)?r(o):"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notCommands",[n])),m.dispatchEvent("button-click",o,e)))},R=(e,o)=>{var t,r=p.value,n=o["code"];n&&(g?g.triggerToolbarTolEvent(o,e):(t=commands.get(n),o={code:n,tool:o,$table:r,$grid:g,$event:e},t&&((r=t.tableCommandMethod||t.commandMethod)?r(o):"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notCommands",[n])),m.dispatchEvent("tool-click",o,e)))},$=()=>{var e;l()&&(e=p.value)&&e.openImport()},k=()=>{var e;l()&&(e=p.value)&&e.openExport()},B=()=>{var e;l()&&(e=p.value)&&e.openPrint()},M=(e,t)=>{e=e.dropdowns;return e?e.map((o,e)=>!1!==o.visible&&d?(0,_vue.h)(d,{key:e,disabled:o.disabled,loading:o.loading,type:o.type,mode:o.mode,icon:o.icon,circle:o.circle,round:o.round,status:o.status,content:o.name,onClick:({$event:e})=>(t?I:R)(e,o)}):(0,_vue.createCommentVNode)()):[]};Object.assign(m,{dispatchEvent(e,o,t){r(e,createEvent(t,{$toolbar:m},o))},syncUpdate(e){var o=e["collectColumn"];p.value=e.$table,i.columns=o,n.value++}}),(0,_vue.nextTick)(()=>{var e=c["refresh"],o=_.value,o=o.queryMethod||o.query,e=(!e||g||o||(0,_log.warnLog)("vxe.error.notFunc",["queryMethod"]),x.value);"development"===process.env.NODE_ENV&&(e.isFooter&&(0,_log.warnLog)("vxe.error.delProp",["toolbar.custom.isFooter","table.custom-config.showFooter"]),e.showFooter&&(0,_log.warnLog)("vxe.error.delProp",["toolbar.custom.showFooter","table.custom-config.showFooter"]),e.immediate&&(0,_log.warnLog)("vxe.error.delProp",["toolbar.custom.immediate","table.custom-config.immediate"]),e.trigger)&&(0,_log.warnLog)("vxe.error.delProp",["toolbar.custom.trigger","table.custom-config.trigger"])});return m.renderVN=()=>{var{perfect:e,loading:o,refresh:t,zoom:r,custom:n,className:a}=c,l=s.value;return(0,_vue.h)("div",{ref:u,class:["vxe-toolbar",a?_xeUtils.default.isFunction(a)?a({$toolbar:m}):a:"",{["size--"+l]:l,"is--perfect":e,"is--loading":o}]},[(0,_vue.h)("div",{class:"vxe-buttons--wrapper"},(()=>{var e=c["buttons"];const l=p.value;var o=v.buttons;if(o)return(0,_vn.getSlotVNs)(o({$grid:g,$table:l}));const s=[];return e&&e.forEach(o=>{var e,t,r,{dropdowns:n,buttonRender:a}=o;!1!==o.visible&&(e=a?renderer.get(a.name):null,a&&e&&e.renderToolbarButton?(t=e.toolbarButtonClassName,r={$grid:g,$table:l,button:o},s.push((0,_vue.h)("span",{class:["vxe-button--item",t?_xeUtils.default.isFunction(t)?t(r):t:""]},(0,_vn.getSlotVNs)(e.renderToolbarButton(a,r))))):d&&s.push((0,_vue.h)(d,{disabled:o.disabled,loading:o.loading,type:o.type,mode:o.mode,icon:o.icon,circle:o.circle,round:o.round,status:o.status,content:o.name,permissionCode:o.permissionCode,destroyOnClose:o.destroyOnClose,placement:o.placement,transfer:o.transfer,onClick:({$event:e})=>I(e,o)},n&&n.length?{dropdowns:()=>M(o,!0)}:{})))}),s})()),(0,_vue.h)("div",{class:"vxe-tools--wrapper"},(()=>{var e=c["tools"];const i=p.value;var o=v.tools;if(o)return(0,_vn.getSlotVNs)(o({$grid:g,$table:i}));const u=[];return e&&e.forEach((o,e)=>{var t,r,n,a,{dropdowns:l,toolRender:s}=o;!1!==o.visible&&(t=s?s.name:null,r=s?renderer.get(t):null,s&&r&&r.renderToolbarTool?(n=r.toolbarToolClassName,a={$grid:g,$table:i,tool:o},u.push((0,_vue.h)("span",{key:t,class:["vxe-tool--item",n?_xeUtils.default.isFunction(n)?n(a):n:""]},(0,_vn.getSlotVNs)(r.renderToolbarTool(s,a))))):d&&u.push((0,_vue.h)(d,{key:e,disabled:o.disabled,loading:o.loading,type:o.type,mode:o.mode,icon:o.icon,circle:o.circle,round:o.round,status:o.status,content:o.name,destroyOnClose:o.destroyOnClose,placement:o.placement,transfer:o.transfer,onClick:({$event:e})=>R(e,o)},l&&l.length?{dropdowns:()=>M(o,!1)}:{})))}),u})()),(0,_vue.h)("div",{class:"vxe-tools--operate"},[c.import&&(a=b.value,d)?(0,_vue.h)(d,{key:"import",circle:!0,icon:a.icon||getIcon().TOOLBAR_TOOLS_IMPORT,title:getI18n("vxe.toolbar.import"),onClick:$}):(0,_vue.createCommentVNode)(),c.export&&(l=f.value,d)?(0,_vue.h)(d,{key:"export",circle:!0,icon:l.icon||getIcon().TOOLBAR_TOOLS_EXPORT,title:getI18n("vxe.toolbar.export"),onClick:k}):(0,_vue.createCommentVNode)(),c.print&&(e=O.value,d)?(0,_vue.h)(d,{key:"print",circle:!0,icon:e.icon||getIcon().TOOLBAR_TOOLS_PRINT,title:getI18n("vxe.toolbar.print"),onClick:B}):(0,_vue.createCommentVNode)(),t&&(o=_.value,d)?(0,_vue.h)(d,{key:"refresh",circle:!0,icon:i.isRefresh?o.iconLoading||getIcon().TOOLBAR_TOOLS_REFRESH_LOADING:o.icon||getIcon().TOOLBAR_TOOLS_REFRESH,title:getI18n("vxe.toolbar.refresh"),onClick:L}):(0,_vue.createCommentVNode)(),r&&g&&(a=h.value,g)&&d?(0,_vue.h)(d,{key:"zoom",circle:!0,icon:g.isMaximized()?a.iconOut||getIcon().TOOLBAR_TOOLS_MINIMIZE:a.iconIn||getIcon().TOOLBAR_TOOLS_FULLSCREEN,title:getI18n("vxe.toolbar.zoom"+(g.isMaximized()?"Out":"In")),onClick:N}):(0,_vue.createCommentVNode)(),n&&(l=x.value,e=C.value,t={},"manual"!==e&&("hover"===e?(t.onMouseenter=y,t.onMouseleave=E):t.onClick=T),d)?(0,_vue.h)(d,Object.assign({key:"custom",circle:!0,icon:l.icon||getIcon().TOOLBAR_TOOLS_CUSTOM,title:getI18n("vxe.toolbar.custom"),className:"vxe-toolbar-custom-target"},t)):(0,_vue.createCommentVNode)()])])},"development"===process.env.NODE_ENV&&(0,_vue.nextTick)(()=>{!(c.refresh||c.import||c.export||c.print||c.zoom)||d||(0,_log.errLog)("vxe.error.reqComp",["vxe-button"])}),m},render(){return this.renderVN()}});
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"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getConfig,getIcon,getI18n,renderer,commands,createEvent,useFns}=_ui.VxeUI;var _default=exports.default=(0,_vue.defineComponent)({name:"VxeToolbar",props:{loading:Boolean,refresh:[Boolean,Object],import:[Boolean,Object],export:[Boolean,Object],print:[Boolean,Object],zoom:[Boolean,Object],custom:[Boolean,Object],buttons:{type:Array,default:()=>getConfig().toolbar.buttons},tools:{type:Array,default:()=>getConfig().toolbar.tools},perfect:{type:Boolean,default:()=>getConfig().toolbar.perfect},size:{type:String,default:()=>getConfig().toolbar.size||getConfig().size},className:[String,Function]},emits:["button-click","tool-click"],setup(u,e){const{slots:d,emit:r}=e;var o=_xeUtils.default.uniqueId();const v=_ui.VxeUI.getComponent("VxeButton"),m=useFns.useSize(u)["computeSize"],g=(0,_vue.reactive)({isRefresh:!1,connectFlag:0,columns:[]}),p={connectTable:null},b=(0,_vue.ref)(),t={refElem:b},_={xID:o,props:u,context:e,reactData:g,internalData:p,getRefMaps:()=>t};const f=(0,_vue.inject)("$xeGrid",null),O=(0,_vue.computed)(()=>Object.assign({},getConfig().toolbar.refresh,u.refresh)),h=(0,_vue.computed)(()=>Object.assign({},getConfig().toolbar.import,u.import)),x=(0,_vue.computed)(()=>Object.assign({},getConfig().toolbar.export,u.export)),C=(0,_vue.computed)(()=>Object.assign({},getConfig().toolbar.print,u.print)),T=(0,_vue.computed)(()=>Object.assign({},getConfig().toolbar.zoom,u.zoom)),y=(0,_vue.computed)(()=>Object.assign({},getConfig().toolbar.custom,u.custom)),n=(0,_vue.computed)(()=>{var e=p["connectTable"];if((g.connectFlag||e)&&e)return e=e.getComputeMaps()["computeCustomOpts"],e.value;return{trigger:""}}),E=(0,_vue.computed)(()=>{return n.value.trigger}),a=()=>{var e=p["connectTable"];if(e)return!0;(0,_log.errLog)("vxe.error.barUnableLink")},L=({$event:e})=>{var o=p["connectTable"];o&&(o.triggerCustomEvent?o.triggerCustomEvent(e):(0,_log.errLog)("vxe.error.reqModule",["VxeTableCustomModule"]))},I=({$event:e})=>{var o=p["connectTable"];o?o.customOpenEvent(e):(0,_log.errLog)("vxe.error.reqModule",["VxeTableCustomModule"])},R=({$event:e})=>{var o=p["connectTable"];const t=o;if(t){const r=t.reactData["customStore"];r.activeBtn=!1,setTimeout(()=>{r.activeBtn||r.activeWrapper||t.customCloseEvent(e)},350)}},N=({$event:e})=>{var o=g["isRefresh"],t=O.value;if(!o){o=t.queryMethod||t.query;if(o){g.isRefresh=!0;try{Promise.resolve(o({})).catch(e=>e).then(()=>{g.isRefresh=!1})}catch(e){g.isRefresh=!1}}else f&&(g.isRefresh=!0,f.triggerToolbarCommitEvent({code:t.code||"reload"},e).catch(e=>e).then(()=>{g.isRefresh=!1}))}},$=({$event:e})=>{f&&f.triggerZoomEvent(e)},k=(e,o)=>{var t,r=p["connectTable"],n=o["code"];n&&(f?f.triggerToolbarBtnEvent(o,e):(t=commands.get(n),o={code:n,button:o,$table:r,$grid:f,$event:e},t&&((r=t.tableCommandMethod||t.commandMethod)?r(o):"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notCommands",[n])),_.dispatchEvent("button-click",o,e)))},B=(e,o)=>{var t,r=p["connectTable"],n=o["code"];n&&(f?f.triggerToolbarTolEvent(o,e):(t=commands.get(n),o={code:n,tool:o,$table:r,$grid:f,$event:e},t&&((r=t.tableCommandMethod||t.commandMethod)?r(o):"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notCommands",[n])),_.dispatchEvent("tool-click",o,e)))},M=()=>{var e;a()&&(e=p["connectTable"],e)&&e.openImport()},V=()=>{var e;a()&&(e=p["connectTable"],e)&&e.openExport()},F=()=>{var e;a()&&(e=p["connectTable"],e)&&e.openPrint()};Object.assign(_,{dispatchEvent:(e,o,t)=>{r(e,createEvent(t,{$toolbar:_},o))},syncUpdate(e){p.connectTable=e.$table,g.columns=e.collectColumn,g.connectFlag++}});const S=(e,t)=>{e=e.dropdowns;return e?e.map((o,e)=>!1!==o.visible&&v?(0,_vue.h)(v,{key:e,disabled:o.disabled,loading:o.loading,type:o.type,mode:o.mode,icon:o.icon,circle:o.circle,round:o.round,status:o.status,content:o.name,onClick:({$event:e})=>(t?k:B)(e,o)}):(0,_vue.createCommentVNode)()):[]};return _.renderVN=()=>{var{perfect:e,loading:o,refresh:t,zoom:r,custom:n,className:a}=u,l=p["connectTable"],c=m.value,i=d.tools,s=d.buttons;return(0,_vue.h)("div",{ref:b,class:["vxe-toolbar",a?_xeUtils.default.isFunction(a)?a({$toolbar:_}):a:"",{["size--"+c]:c,"is--perfect":e,"is--loading":o}]},[(0,_vue.h)("div",{class:"vxe-buttons--wrapper"},s?s({$grid:f,$table:l}):(()=>{var e=u["buttons"],o=p["connectTable"];const l=o,c=[];return e&&e.forEach(o=>{var e,t,r,{dropdowns:n,buttonRender:a}=o;!1!==o.visible&&(e=a?renderer.get(a.name):null,a&&e&&e.renderToolbarButton?(t=e.toolbarButtonClassName,r={$grid:f,$table:l,button:o},c.push((0,_vue.h)("span",{class:["vxe-button--item",t?_xeUtils.default.isFunction(t)?t(r):t:""]},(0,_vn.getSlotVNs)(e.renderToolbarButton(a,r))))):v&&c.push((0,_vue.h)(v,{disabled:o.disabled,loading:o.loading,type:o.type,mode:o.mode,icon:o.icon,circle:o.circle,round:o.round,status:o.status,content:o.name,permissionCode:o.permissionCode,destroyOnClose:o.destroyOnClose,placement:o.placement,transfer:o.transfer,onClick:({$event:e})=>k(e,o)},n&&n.length?{dropdowns:()=>S(o,!0)}:{})))}),c})()),(0,_vue.h)("div",{class:"vxe-tools--wrapper"},i?i({$grid:f,$table:l}):(()=>{var e=u["tools"],o=p["connectTable"];const i=o,s=[];return e&&e.forEach((o,e)=>{var t,r,n,a,{dropdowns:l,toolRender:c}=o;!1!==o.visible&&(t=c?c.name:null,r=c?renderer.get(t):null,c&&r&&r.renderToolbarTool?(n=r.toolbarToolClassName,a={$grid:f,$table:i,tool:o},s.push((0,_vue.h)("span",{key:t,class:["vxe-tool--item",n?_xeUtils.default.isFunction(n)?n(a):n:""]},(0,_vn.getSlotVNs)(r.renderToolbarTool(c,a))))):v&&s.push((0,_vue.h)(v,{key:e,disabled:o.disabled,loading:o.loading,type:o.type,mode:o.mode,icon:o.icon,circle:o.circle,round:o.round,status:o.status,content:o.name,destroyOnClose:o.destroyOnClose,placement:o.placement,transfer:o.transfer,onClick:({$event:e})=>B(e,o)},l&&l.length?{dropdowns:()=>S(o,!1)}:{})))}),s})()),(0,_vue.h)("div",{class:"vxe-tools--operate"},[u.import&&(a=h.value,v)?(0,_vue.h)(v,{key:"import",circle:!0,icon:a.icon||getIcon().TOOLBAR_TOOLS_IMPORT,title:getI18n("vxe.toolbar.import"),onClick:M}):(0,_vue.createCommentVNode)(),u.export&&(c=x.value,v)?(0,_vue.h)(v,{key:"export",circle:!0,icon:c.icon||getIcon().TOOLBAR_TOOLS_EXPORT,title:getI18n("vxe.toolbar.export"),onClick:V}):(0,_vue.createCommentVNode)(),u.print&&(e=C.value,v)?(0,_vue.h)(v,{key:"print",circle:!0,icon:e.icon||getIcon().TOOLBAR_TOOLS_PRINT,title:getI18n("vxe.toolbar.print"),onClick:F}):(0,_vue.createCommentVNode)(),t&&(o=O.value,v)?(0,_vue.h)(v,{key:"refresh",circle:!0,icon:g.isRefresh?o.iconLoading||getIcon().TOOLBAR_TOOLS_REFRESH_LOADING:o.icon||getIcon().TOOLBAR_TOOLS_REFRESH,title:getI18n("vxe.toolbar.refresh"),onClick:N}):(0,_vue.createCommentVNode)(),r&&f&&(s=T.value,f)&&v?(0,_vue.h)(v,{key:"zoom",circle:!0,icon:f.isMaximized()?s.iconOut||getIcon().TOOLBAR_TOOLS_MINIMIZE:s.iconIn||getIcon().TOOLBAR_TOOLS_FULLSCREEN,title:getI18n("vxe.toolbar.zoom"+(f.isMaximized()?"Out":"In")),onClick:$}):(0,_vue.createCommentVNode)(),n&&(i=y.value,l=E.value,a={},"manual"!==l&&("hover"===l?(a.onMouseenter=I,a.onMouseleave=R):a.onClick=L),v)?(0,_vue.h)(v,Object.assign({key:"custom",circle:!0,icon:i.icon||getIcon().TOOLBAR_TOOLS_CUSTOM,title:getI18n("vxe.toolbar.custom"),className:"vxe-toolbar-custom-target"},a)):(0,_vue.createCommentVNode)()])])},(0,_vue.nextTick)(()=>{var e=u["refresh"],o=O.value,o=o.queryMethod||o.query,e=(!e||f||o||(0,_log.warnLog)("vxe.error.notFunc",["queryMethod"]),y.value);"development"===process.env.NODE_ENV&&(e.isFooter&&(0,_log.warnLog)("vxe.error.delProp",["toolbar.custom.isFooter","table.custom-config.showFooter"]),e.showFooter&&(0,_log.warnLog)("vxe.error.delProp",["toolbar.custom.showFooter","table.custom-config.showFooter"]),e.immediate&&(0,_log.warnLog)("vxe.error.delProp",["toolbar.custom.immediate","table.custom-config.immediate"]),e.trigger)&&(0,_log.warnLog)("vxe.error.delProp",["toolbar.custom.trigger","table.custom-config.trigger"]),"development"===process.env.NODE_ENV&&(u.refresh||u.import||u.export||u.print||u.zoom)&&!v&&(0,_log.errLog)("vxe.error.reqComp",["vxe-button"])}),_},render(){return this.renderVN()}});
package/lib/ui/index.js CHANGED
@@ -13,9 +13,9 @@ Object.defineProperty(exports, "VxeUI", {
13
13
  exports.version = exports.validators = exports.use = exports.t = exports.setup = exports.setTheme = exports.setLanguage = exports.setIcon = exports.setI18n = exports.setConfig = exports.saveFile = exports.renderer = exports.readFile = exports.print = exports.modal = exports.menus = exports.log = exports.interceptor = exports.hooks = exports.globalResize = exports.globalEvents = exports.getTheme = exports.getIcon = exports.getI18n = exports.getConfig = exports.formats = exports.default = exports.config = exports.commands = exports.clipboard = exports._t = void 0;
14
14
  var _core = require("@vxe-ui/core");
15
15
  var _utils = require("./src/utils");
16
- const version = exports.version = "4.7.76";
16
+ const version = exports.version = "4.7.78";
17
17
  _core.VxeUI.version = version;
18
- _core.VxeUI.tableVersion = "4.7.76";
18
+ _core.VxeUI.tableVersion = "4.7.78";
19
19
  _core.VxeUI.setConfig({
20
20
  emptyCell: ' ',
21
21
  table: {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.VXETable=void 0,Object.defineProperty(exports,"VxeUI",{enumerable:!0,get:function(){return _core.VxeUI}}),exports.version=exports.validators=exports.use=exports.t=exports.setup=exports.setTheme=exports.setLanguage=exports.setIcon=exports.setI18n=exports.setConfig=exports.saveFile=exports.renderer=exports.readFile=exports.print=exports.modal=exports.menus=exports.log=exports.interceptor=exports.hooks=exports.globalResize=exports.globalEvents=exports.getTheme=exports.getIcon=exports.getI18n=exports.getConfig=exports.formats=exports.default=exports.config=exports.commands=exports.clipboard=exports._t=void 0;var _core=require("@vxe-ui/core"),_utils=require("./src/utils");const version=exports.version="4.7.76",iconPrefix=(_core.VxeUI.version=version,_core.VxeUI.tableVersion="4.7.76",_core.VxeUI.setConfig({emptyCell:" ",table:{fit:!0,showHeader:!0,animat:!0,delayHover:250,autoResize:!0,minHeight:144,resizeConfig:{refreshDelay:250},radioConfig:{strict:!0},checkboxConfig:{strict:!0},tooltipConfig:{enterable:!0},validConfig:{showMessage:!0,autoClear:!0,autoPos:!0,message:"inline",msgMode:"single"},columnConfig:{maxFixedSize:4},customConfig:{allowVisible:!0,allowResizable:!0,allowFixed:!0,allowSort:!0,showFooter:!0,placement:"top-right",modalOptions:{showMaximize:!0,mask:!0,lockView:!0,resize:!0,escClosable:!0}},sortConfig:{showIcon:!0,iconLayout:"vertical"},filterConfig:{showIcon:!0},treeConfig:{rowField:"id",parentField:"parentId",childrenField:"children",hasChildField:"hasChild",mapChildrenField:"_X_ROW_CHILD",indent:20,showIcon:!0},expandConfig:{showIcon:!0},editConfig:{showIcon:!0,showAsterisk:!0},importConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},exportConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},printConfig:{},mouseConfig:{extension:!0},keyboardConfig:{isEsc:!0},areaConfig:{autoClear:!0,selectCellByHeader:!0},clipConfig:{isCopy:!0,isCut:!0,isPaste:!0},fnrConfig:{isFind:!0,isReplace:!0},scrollX:{gt:60},scrollY:{gt:100}},grid:{formConfig:{enabled:!0},pagerConfig:{enabled:!0},toolbarConfig:{enabled:!0},proxyConfig:{enabled:!0,autoLoad:!0,showResponseMsg:!0,showActiveMsg:!0,props:{list:null,result:"result",total:"page.total",message:"message"}}},toolbar:{}}),"vxe-table-icon-"),setTheme=(_core.VxeUI.setIcon({TABLE_SORT_ASC:iconPrefix+"caret-up",TABLE_SORT_DESC:iconPrefix+"caret-down",TABLE_FILTER_NONE:iconPrefix+"funnel",TABLE_FILTER_MATCH:iconPrefix+"funnel",TABLE_EDIT:iconPrefix+"edit",TABLE_TITLE_PREFIX:iconPrefix+"question-circle-fill",TABLE_TITLE_SUFFIX:iconPrefix+"question-circle-fill",TABLE_TREE_LOADED:iconPrefix+"spinner roll",TABLE_TREE_OPEN:iconPrefix+"caret-right rotate90",TABLE_TREE_CLOSE:iconPrefix+"caret-right",TABLE_EXPAND_LOADED:iconPrefix+"spinner roll",TABLE_EXPAND_OPEN:iconPrefix+"arrow-right rotate90",TABLE_EXPAND_CLOSE:iconPrefix+"arrow-right",TABLE_CHECKBOX_CHECKED:iconPrefix+"checkbox-checked-fill",TABLE_CHECKBOX_UNCHECKED:iconPrefix+"checkbox-unchecked",TABLE_CHECKBOX_INDETERMINATE:iconPrefix+"checkbox-indeterminate-fill",TABLE_RADIO_CHECKED:iconPrefix+"radio-checked-fill",TABLE_RADIO_UNCHECKED:iconPrefix+"radio-unchecked",TABLE_CUSTOM_SORT:iconPrefix+"drag-handle",TABLE_MENU_OPTIONS:iconPrefix+"arrow-right",TOOLBAR_TOOLS_REFRESH:iconPrefix+"repeat",TOOLBAR_TOOLS_REFRESH_LOADING:iconPrefix+"repeat roll",TOOLBAR_TOOLS_IMPORT:iconPrefix+"upload",TOOLBAR_TOOLS_EXPORT:iconPrefix+"download",TOOLBAR_TOOLS_PRINT:iconPrefix+"print",TOOLBAR_TOOLS_FULLSCREEN:iconPrefix+"fullscreen",TOOLBAR_TOOLS_MINIMIZE:iconPrefix+"minimize",TOOLBAR_TOOLS_CUSTOM:iconPrefix+"custom-column",TOOLBAR_TOOLS_FIXED_LEFT:iconPrefix+"fixed-left",TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:iconPrefix+"fixed-left-fill",TOOLBAR_TOOLS_FIXED_RIGHT:iconPrefix+"fixed-right",TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:iconPrefix+"fixed-right-fill"}),exports.setTheme=_core.VxeUI.setTheme),getTheme=exports.getTheme=_core.VxeUI.getTheme,setConfig=exports.setConfig=_core.VxeUI.setConfig,getConfig=exports.getConfig=_core.VxeUI.getConfig,setIcon=exports.setIcon=_core.VxeUI.setIcon,getIcon=exports.getIcon=_core.VxeUI.getIcon,setLanguage=exports.setLanguage=_core.VxeUI.setLanguage,setI18n=exports.setI18n=_core.VxeUI.setI18n,getI18n=exports.getI18n=_core.VxeUI.getI18n,globalEvents=exports.globalEvents=_core.VxeUI.globalEvents,globalResize=exports.globalResize=_core.VxeUI.globalResize,renderer=exports.renderer=_core.VxeUI.renderer,validators=exports.validators=_core.VxeUI.validators,menus=exports.menus=_core.VxeUI.menus,formats=exports.formats=_core.VxeUI.formats,commands=exports.commands=_core.VxeUI.commands,interceptor=exports.interceptor=_core.VxeUI.interceptor,clipboard=exports.clipboard=_core.VxeUI.clipboard,log=exports.log=_core.VxeUI.log,hooks=exports.hooks=_core.VxeUI.hooks,use=exports.use=_core.VxeUI.use,setup=e=>_core.VxeUI.setConfig(e),config=(exports.setup=setup,_core.VxeUI.setup=setup,e=>_core.VxeUI.setConfig(e)),t=(exports.config=config,_core.VxeUI.config=config,(e,o)=>_core.VxeUI.getI18n(e,o)),_t=(exports.t=t,_core.VxeUI.t=t,(e,o)=>(0,_utils.getFuncText)(e,o)),VXETable=(exports._t=_t,_core.VxeUI._t=_t,exports.VXETable=_core.VxeUI),saveFile=e=>_core.VxeUI.saveFile(e),readFile=(exports.saveFile=saveFile,e=>_core.VxeUI.readFile(e)),print=(exports.readFile=readFile,e=>_core.VxeUI.print(e)),modal=(exports.print=print,exports.modal={get(e){return _core.VxeUI.modal.get(e)},close(e){return _core.VxeUI.modal.close(e)},open(e){return _core.VxeUI.modal.open(e)},alert(e,o,r){return _core.VxeUI.modal.alert(e,o,r)},confirm(e,o,r){return _core.VxeUI.modal.confirm(e,o,r)},message(e,o){return _core.VxeUI.modal.message(e,o)},notification(e,o,r){return _core.VxeUI.modal.notification(e,o,r)}});var _default=exports.default=_core.VxeUI;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.VXETable=void 0,Object.defineProperty(exports,"VxeUI",{enumerable:!0,get:function(){return _core.VxeUI}}),exports.version=exports.validators=exports.use=exports.t=exports.setup=exports.setTheme=exports.setLanguage=exports.setIcon=exports.setI18n=exports.setConfig=exports.saveFile=exports.renderer=exports.readFile=exports.print=exports.modal=exports.menus=exports.log=exports.interceptor=exports.hooks=exports.globalResize=exports.globalEvents=exports.getTheme=exports.getIcon=exports.getI18n=exports.getConfig=exports.formats=exports.default=exports.config=exports.commands=exports.clipboard=exports._t=void 0;var _core=require("@vxe-ui/core"),_utils=require("./src/utils");const version=exports.version="4.7.78",iconPrefix=(_core.VxeUI.version=version,_core.VxeUI.tableVersion="4.7.78",_core.VxeUI.setConfig({emptyCell:" ",table:{fit:!0,showHeader:!0,animat:!0,delayHover:250,autoResize:!0,minHeight:144,resizeConfig:{refreshDelay:250},radioConfig:{strict:!0},checkboxConfig:{strict:!0},tooltipConfig:{enterable:!0},validConfig:{showMessage:!0,autoClear:!0,autoPos:!0,message:"inline",msgMode:"single"},columnConfig:{maxFixedSize:4},customConfig:{allowVisible:!0,allowResizable:!0,allowFixed:!0,allowSort:!0,showFooter:!0,placement:"top-right",modalOptions:{showMaximize:!0,mask:!0,lockView:!0,resize:!0,escClosable:!0}},sortConfig:{showIcon:!0,iconLayout:"vertical"},filterConfig:{showIcon:!0},treeConfig:{rowField:"id",parentField:"parentId",childrenField:"children",hasChildField:"hasChild",mapChildrenField:"_X_ROW_CHILD",indent:20,showIcon:!0},expandConfig:{showIcon:!0},editConfig:{showIcon:!0,showAsterisk:!0},importConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},exportConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},printConfig:{},mouseConfig:{extension:!0},keyboardConfig:{isEsc:!0},areaConfig:{autoClear:!0,selectCellByHeader:!0},clipConfig:{isCopy:!0,isCut:!0,isPaste:!0},fnrConfig:{isFind:!0,isReplace:!0},scrollX:{gt:60},scrollY:{gt:100}},grid:{formConfig:{enabled:!0},pagerConfig:{enabled:!0},toolbarConfig:{enabled:!0},proxyConfig:{enabled:!0,autoLoad:!0,showResponseMsg:!0,showActiveMsg:!0,props:{list:null,result:"result",total:"page.total",message:"message"}}},toolbar:{}}),"vxe-table-icon-"),setTheme=(_core.VxeUI.setIcon({TABLE_SORT_ASC:iconPrefix+"caret-up",TABLE_SORT_DESC:iconPrefix+"caret-down",TABLE_FILTER_NONE:iconPrefix+"funnel",TABLE_FILTER_MATCH:iconPrefix+"funnel",TABLE_EDIT:iconPrefix+"edit",TABLE_TITLE_PREFIX:iconPrefix+"question-circle-fill",TABLE_TITLE_SUFFIX:iconPrefix+"question-circle-fill",TABLE_TREE_LOADED:iconPrefix+"spinner roll",TABLE_TREE_OPEN:iconPrefix+"caret-right rotate90",TABLE_TREE_CLOSE:iconPrefix+"caret-right",TABLE_EXPAND_LOADED:iconPrefix+"spinner roll",TABLE_EXPAND_OPEN:iconPrefix+"arrow-right rotate90",TABLE_EXPAND_CLOSE:iconPrefix+"arrow-right",TABLE_CHECKBOX_CHECKED:iconPrefix+"checkbox-checked-fill",TABLE_CHECKBOX_UNCHECKED:iconPrefix+"checkbox-unchecked",TABLE_CHECKBOX_INDETERMINATE:iconPrefix+"checkbox-indeterminate-fill",TABLE_RADIO_CHECKED:iconPrefix+"radio-checked-fill",TABLE_RADIO_UNCHECKED:iconPrefix+"radio-unchecked",TABLE_CUSTOM_SORT:iconPrefix+"drag-handle",TABLE_MENU_OPTIONS:iconPrefix+"arrow-right",TOOLBAR_TOOLS_REFRESH:iconPrefix+"repeat",TOOLBAR_TOOLS_REFRESH_LOADING:iconPrefix+"repeat roll",TOOLBAR_TOOLS_IMPORT:iconPrefix+"upload",TOOLBAR_TOOLS_EXPORT:iconPrefix+"download",TOOLBAR_TOOLS_PRINT:iconPrefix+"print",TOOLBAR_TOOLS_FULLSCREEN:iconPrefix+"fullscreen",TOOLBAR_TOOLS_MINIMIZE:iconPrefix+"minimize",TOOLBAR_TOOLS_CUSTOM:iconPrefix+"custom-column",TOOLBAR_TOOLS_FIXED_LEFT:iconPrefix+"fixed-left",TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:iconPrefix+"fixed-left-fill",TOOLBAR_TOOLS_FIXED_RIGHT:iconPrefix+"fixed-right",TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:iconPrefix+"fixed-right-fill"}),exports.setTheme=_core.VxeUI.setTheme),getTheme=exports.getTheme=_core.VxeUI.getTheme,setConfig=exports.setConfig=_core.VxeUI.setConfig,getConfig=exports.getConfig=_core.VxeUI.getConfig,setIcon=exports.setIcon=_core.VxeUI.setIcon,getIcon=exports.getIcon=_core.VxeUI.getIcon,setLanguage=exports.setLanguage=_core.VxeUI.setLanguage,setI18n=exports.setI18n=_core.VxeUI.setI18n,getI18n=exports.getI18n=_core.VxeUI.getI18n,globalEvents=exports.globalEvents=_core.VxeUI.globalEvents,globalResize=exports.globalResize=_core.VxeUI.globalResize,renderer=exports.renderer=_core.VxeUI.renderer,validators=exports.validators=_core.VxeUI.validators,menus=exports.menus=_core.VxeUI.menus,formats=exports.formats=_core.VxeUI.formats,commands=exports.commands=_core.VxeUI.commands,interceptor=exports.interceptor=_core.VxeUI.interceptor,clipboard=exports.clipboard=_core.VxeUI.clipboard,log=exports.log=_core.VxeUI.log,hooks=exports.hooks=_core.VxeUI.hooks,use=exports.use=_core.VxeUI.use,setup=e=>_core.VxeUI.setConfig(e),config=(exports.setup=setup,_core.VxeUI.setup=setup,e=>_core.VxeUI.setConfig(e)),t=(exports.config=config,_core.VxeUI.config=config,(e,o)=>_core.VxeUI.getI18n(e,o)),_t=(exports.t=t,_core.VxeUI.t=t,(e,o)=>(0,_utils.getFuncText)(e,o)),VXETable=(exports._t=_t,_core.VxeUI._t=_t,exports.VXETable=_core.VxeUI),saveFile=e=>_core.VxeUI.saveFile(e),readFile=(exports.saveFile=saveFile,e=>_core.VxeUI.readFile(e)),print=(exports.readFile=readFile,e=>_core.VxeUI.print(e)),modal=(exports.print=print,exports.modal={get(e){return _core.VxeUI.modal.get(e)},close(e){return _core.VxeUI.modal.close(e)},open(e){return _core.VxeUI.modal.open(e)},alert(e,o,r){return _core.VxeUI.modal.alert(e,o,r)},confirm(e,o,r){return _core.VxeUI.modal.confirm(e,o,r)},message(e,o){return _core.VxeUI.modal.message(e,o)},notification(e,o,r){return _core.VxeUI.modal.notification(e,o,r)}});var _default=exports.default=_core.VxeUI;
package/lib/ui/src/log.js CHANGED
@@ -8,6 +8,6 @@ var _core = require("@vxe-ui/core");
8
8
  const {
9
9
  log
10
10
  } = _core.VxeUI;
11
- const version = `table v${"4.7.76"}`;
11
+ const version = `table v${"4.7.78"}`;
12
12
  const warnLog = exports.warnLog = log.create('warn', version);
13
13
  const errLog = exports.errLog = log.create('error', version);
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.warnLog=exports.errLog=void 0;var _core=require("@vxe-ui/core");const log=_core.VxeUI["log"],version="table v4.7.76",warnLog=exports.warnLog=log.create("warn",version),errLog=exports.errLog=log.create("error",version);
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.warnLog=exports.errLog=void 0;var _core=require("@vxe-ui/core");const log=_core.VxeUI["log"],version="table v4.7.78",warnLog=exports.warnLog=log.create("warn",version),errLog=exports.errLog=log.create("error",version);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vxe-table",
3
- "version": "4.7.76",
3
+ "version": "4.7.78",
4
4
  "description": "一个基于 vue 的 PC 端表格组件,支持增删改查、虚拟树、列拖拽,懒加载、快捷菜单、数据校验、树形结构、打印、导入导出、自定义模板、渲染器、JSON 配置式...",
5
5
  "scripts": {
6
6
  "update": "npm install --legacy-peer-deps",
@@ -28,7 +28,7 @@
28
28
  "style": "lib/style.css",
29
29
  "typings": "types/index.d.ts",
30
30
  "dependencies": {
31
- "vxe-pc-ui": "^4.1.17"
31
+ "vxe-pc-ui": "^4.1.25"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@types/resize-observer-browser": "^0.1.11",
@@ -10,7 +10,7 @@ import tableComponentEmits from '../../table/src/emits'
10
10
  import { getSlotVNs } from '../../ui/src/vn'
11
11
  import { errLog } from '../../ui/src/log'
12
12
 
13
- import type { VxePagerComponent, VxeFormComponent, VxeFormEvents, VxeFormInstance, VxePagerEvents, VxeFormItemProps, VxePagerInstance } from 'vxe-pc-ui'
13
+ import type { ValueOf, VxePagerComponent, VxeFormComponent, VxeFormEvents, VxeFormInstance, VxePagerEvents, VxeFormItemProps, VxePagerInstance } from 'vxe-pc-ui'
14
14
  import type { VxeTableMethods, VxeGridConstructor, VxeGridEmits, GridReactData, VxeGridPropTypes, VxeToolbarPropTypes, GridMethods, GridPrivateMethods, VxeGridPrivateComputed, VxeGridPrivateMethods, VxeToolbarInstance, GridPrivateRef, VxeTableProps, VxeTableConstructor, VxeTablePrivateMethods, VxeTableEvents, VxeTableDefines, VxeTableEventProps, VxeGridProps } from '../../../types'
15
15
 
16
16
  const { getConfig, getI18n, commands, hooks, useFns, createEvent, globalEvents, GLOBAL_EVENT_KEYS } = VxeUI
@@ -46,7 +46,10 @@ export default defineComponent({
46
46
  toolbarConfig: Object as PropType<VxeGridPropTypes.ToolbarConfig>,
47
47
  formConfig: Object as PropType<VxeGridPropTypes.FormConfig>,
48
48
  zoomConfig: Object as PropType<VxeGridPropTypes.ZoomConfig>,
49
- size: { type: String as PropType<VxeGridPropTypes.Size>, default: () => getConfig().grid.size || getConfig().size }
49
+ size: {
50
+ type: String as PropType<VxeGridPropTypes.Size>,
51
+ default: () => getConfig().grid.size || getConfig().size
52
+ }
50
53
  },
51
54
  emits: gridComponentEmits,
52
55
  setup (props, context) {
@@ -60,7 +63,7 @@ export default defineComponent({
60
63
 
61
64
  const { computeSize } = useFns.useSize(props)
62
65
 
63
- const reactData = reactive({
66
+ const reactData = reactive<GridReactData>({
64
67
  tableLoading: false,
65
68
  proxyInited: false,
66
69
  isZMax: false,
@@ -74,7 +77,7 @@ export default defineComponent({
74
77
  pageSize: getConfig().pager?.pageSize || 10,
75
78
  currentPage: 1
76
79
  }
77
- } as GridReactData<any>)
80
+ })
78
81
 
79
82
  const refElem = ref() as Ref<HTMLDivElement>
80
83
  const refTable = ref() as Ref<ComponentPublicInstance<VxeTableProps, VxeTableConstructor & VxeTableMethods & VxeTablePrivateMethods>>
@@ -155,31 +158,6 @@ export default defineComponent({
155
158
  return rest
156
159
  })
157
160
 
158
- const refMaps: GridPrivateRef = {
159
- refElem,
160
- refTable,
161
- refForm,
162
- refToolbar,
163
- refPager
164
- }
165
-
166
- const computeMaps: VxeGridPrivateComputed = {
167
- computeProxyOpts,
168
- computePagerOpts,
169
- computeFormOpts,
170
- computeToolbarOpts,
171
- computeZoomOpts
172
- }
173
-
174
- const $xeGrid = {
175
- xID,
176
- props: props as VxeGridProps,
177
- context,
178
- reactData,
179
- getRefMaps: () => refMaps,
180
- getComputeMaps: () => computeMaps
181
- } as VxeGridConstructor & VxeGridPrivateMethods
182
-
183
161
  const computeTableProps = computed(() => {
184
162
  const { seqConfig, pagerConfig, loading, editConfig, proxyConfig } = props
185
163
  const { isZMax, tableLoading, tablePage, tableData } = reactData
@@ -207,6 +185,39 @@ export default defineComponent({
207
185
  return tableProps
208
186
  })
209
187
 
188
+ const computeCurrLayout = computed(() => {
189
+ const { layouts } = props
190
+ if (layouts && layouts.length) {
191
+ return layouts
192
+ }
193
+ return getConfig().grid.layouts || ['Form', 'Toolbar', 'Top', 'Table', 'Bottom', 'Pager']
194
+ })
195
+
196
+ const refMaps: GridPrivateRef = {
197
+ refElem,
198
+ refTable,
199
+ refForm,
200
+ refToolbar,
201
+ refPager
202
+ }
203
+
204
+ const computeMaps: VxeGridPrivateComputed = {
205
+ computeProxyOpts,
206
+ computePagerOpts,
207
+ computeFormOpts,
208
+ computeToolbarOpts,
209
+ computeZoomOpts
210
+ }
211
+
212
+ const $xeGrid = {
213
+ xID,
214
+ props: props as VxeGridProps,
215
+ context,
216
+ reactData,
217
+ getRefMaps: () => refMaps,
218
+ getComputeMaps: () => computeMaps
219
+ } as VxeGridConstructor & VxeGridPrivateMethods
220
+
210
221
  const initToolbar = () => {
211
222
  const toolbarOpts = computeToolbarOpts.value
212
223
  if (props.toolbarConfig && isEnableConf(toolbarOpts)) {
@@ -644,12 +655,9 @@ export default defineComponent({
644
655
  return createCommentVNode()
645
656
  }
646
657
 
647
- const defaultLayouts = ['Form', 'Toolbar', 'Top', 'Table', 'Bottom', 'Pager']
648
-
649
658
  const renderLayout = () => {
650
- const { layouts } = props
651
659
  const vns: VNode[] = []
652
- const currLayouts = (layouts && layouts.length ? layouts : (getConfig().grid.layouts || defaultLayouts))
660
+ const currLayouts = computeCurrLayout.value
653
661
  currLayouts.forEach(name => {
654
662
  switch (name) {
655
663
  case 'Form':
@@ -731,10 +739,20 @@ export default defineComponent({
731
739
  }
732
740
  }
733
741
 
742
+ const handleGlobalKeydownEvent = (evnt: any) => {
743
+ const zoomOpts = computeZoomOpts.value
744
+ const isEsc = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ESCAPE)
745
+ if (isEsc && reactData.isZMax && zoomOpts.escRestore !== false) {
746
+ gridPrivateMethods.triggerZoomEvent(evnt)
747
+ }
748
+ }
749
+
750
+ const dispatchEvent = (type: ValueOf<VxeGridEmits>, params: Record<string, any>, evnt: Event | null) => {
751
+ emit(type, createEvent(evnt, { $grid: $xeGrid }, params))
752
+ }
753
+
734
754
  const gridMethods: GridMethods = {
735
- dispatchEvent (type, params, evnt) {
736
- emit(type, createEvent(evnt, { $grid: $xeGrid }, params))
737
- },
755
+ dispatchEvent,
738
756
  /**
739
757
  * 提交指令,支持 code 或 button
740
758
  * @param {String/Object} code 字符串或对象
@@ -1219,14 +1237,6 @@ export default defineComponent({
1219
1237
  initProxy()
1220
1238
  })
1221
1239
 
1222
- const handleGlobalKeydownEvent = (evnt: any) => {
1223
- const zoomOpts = computeZoomOpts.value
1224
- const isEsc = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ESCAPE)
1225
- if (isEsc && reactData.isZMax && zoomOpts.escRestore !== false) {
1226
- gridPrivateMethods.triggerZoomEvent(evnt)
1227
- }
1228
- }
1229
-
1230
1240
  hooks.forEach((options) => {
1231
1241
  const { setupGrid } = options
1232
1242
  if (setupGrid) {