vxe-table 3.4.4 → 3.4.7-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/README.en.md +1 -1
  2. package/README.md +1 -1
  3. package/README.zh-TW.md +1 -1
  4. package/lib/button/src/button.js +15 -14
  5. package/lib/button/src/button.min.js +1 -1
  6. package/lib/edit/src/mixin.js +19 -25
  7. package/lib/edit/src/mixin.min.js +1 -1
  8. package/lib/export/src/mixin.js +25 -10
  9. package/lib/export/src/mixin.min.js +1 -1
  10. package/lib/filter/src/mixin.js +25 -1
  11. package/lib/filter/src/mixin.min.js +1 -1
  12. package/lib/grid/src/grid.js +6 -3
  13. package/lib/grid/src/grid.min.js +1 -1
  14. package/lib/index.umd.js +1472 -426
  15. package/lib/index.umd.min.js +2 -1
  16. package/lib/select/src/select.js +1 -1
  17. package/lib/select/src/select.min.js +1 -1
  18. package/lib/table/src/body.js +9 -17
  19. package/lib/table/src/body.min.js +1 -1
  20. package/lib/table/src/cell.js +16 -17
  21. package/lib/table/src/cell.min.js +1 -1
  22. package/lib/table/src/methods.js +490 -324
  23. package/lib/table/src/methods.min.js +1 -1
  24. package/lib/table/src/table.js +6 -6
  25. package/lib/table/src/util.js +7 -0
  26. package/lib/table/src/util.min.js +1 -1
  27. package/lib/tools/src/dom.js +2 -9
  28. package/lib/tools/src/dom.min.js +1 -1
  29. package/lib/tools/src/utils.js +1 -1
  30. package/lib/tools/src/utils.min.js +1 -1
  31. package/lib/v-x-e-table/src/conf.js +6 -2
  32. package/lib/v-x-e-table/src/conf.min.js +1 -1
  33. package/lib/validator/src/mixin.js +3 -3
  34. package/lib/validator/src/mixin.min.js +1 -1
  35. package/package.json +3 -24
  36. package/packages/button/src/button.js +14 -14
  37. package/packages/edit/src/mixin.js +18 -21
  38. package/packages/export/src/mixin.js +17 -6
  39. package/packages/filter/src/mixin.js +20 -1
  40. package/packages/grid/src/grid.js +6 -2
  41. package/packages/select/src/select.js +1 -1
  42. package/packages/table/src/body.js +12 -16
  43. package/packages/table/src/cell.js +15 -15
  44. package/packages/table/src/methods.js +147 -52
  45. package/packages/table/src/table.js +6 -6
  46. package/packages/table/src/util.js +4 -0
  47. package/packages/tools/src/dom.js +2 -7
  48. package/packages/tools/src/utils.js +1 -1
  49. package/packages/v-x-e-table/src/conf.js +6 -2
  50. package/packages/validator/src/mixin.js +3 -3
  51. package/types/v-x-e-table/renderer.d.ts +3 -1
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.UtilTools=void 0,exports.eqEmptyValue=eqEmptyValue,exports.isEnableConf=isEnableConf;var _xeUtils=_interopRequireDefault(require("xe-utils")),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_formats=require("../../v-x-e-table/src/formats");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Map"===(r="Object"===r&&e.constructor?e.constructor.name:r)||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_arrayLikeToArray(e,t):void 0}}function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,o=new Array(t);r<t;r++)o[r]=e[r];return o}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,t){for(var r=0;r<t.length;r++){var o=t[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function _createClass(e,t,r){return t&&_defineProperties(e.prototype,t),r&&_defineProperties(e,r),e}var zindexIndex=0,lastZindex=1,ColumnInfo=function(){function f(e,t){var r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{},o=r.renderHeader,l=r.renderCell,n=r.renderFooter,i=r.renderData;_classCallCheck(this,f);var a,s=e.$xegrid,u=s?s.proxyOpts:null,d=t.formatter,c=!_xeUtils.default.isBoolean(t.visible)||t.visible;"development"===process.env.NODE_ENV&&(r=["seq","checkbox","radio","expand","html"],t.type&&-1===r.indexOf(t.type)&&UtilTools.warn("vxe.error.errProp",["type=".concat(t.type),r.join(", ")]),(_xeUtils.default.isBoolean(t.cellRender)||t.cellRender&&!_xeUtils.default.isObject(t.cellRender))&&UtilTools.warn("vxe.error.errProp",["column.cell-render=".concat(t.cellRender),"column.cell-render={}"]),(_xeUtils.default.isBoolean(t.editRender)||t.editRender&&!_xeUtils.default.isObject(t.editRender))&&UtilTools.warn("vxe.error.errProp",["column.edit-render=".concat(t.editRender),"column.edit-render={}"]),t.cellRender&&t.editRender&&UtilTools.warn("vxe.error.errConflicts",["column.cell-render","column.edit-render"]),"expand"===t.type&&e.treeConfig&&e.treeOpts.line&&UtilTools.error("vxe.error.errConflicts",["tree-config.line","column.type=expand"]),t.remoteSort&&UtilTools.warn("vxe.error.delProp",["column.remote-sort","sort-config.remote"]),t.sortMethod&&UtilTools.warn("vxe.error.delProp",["column.sort-method","sort-config.sortMethod"]),d&&(_xeUtils.default.isString(d)?(a=_formats.formats.get(d)||_xeUtils.default[d],_xeUtils.default.isFunction(a)||UtilTools.error("vxe.error.notFunc",[d])):_xeUtils.default.isArray(d)&&(a=_formats.formats.get(d[0])||_xeUtils.default[d[0]],_xeUtils.default.isFunction(a)||UtilTools.error("vxe.error.notFunc",[d[0]])))),Object.assign(this,{type:t.type,property:t.field,title:t.title,width:t.width,minWidth:t.minWidth,resizable:t.resizable,fixed:t.fixed,align:t.align,headerAlign:t.headerAlign,footerAlign:t.footerAlign,showOverflow:t.showOverflow,showHeaderOverflow:t.showHeaderOverflow,showFooterOverflow:t.showFooterOverflow,className:t.className,headerClassName:t.headerClassName,footerClassName:t.footerClassName,formatter:d,sortable:t.sortable,sortBy:t.sortBy,sortType:t.sortType,sortMethod:t.sortMethod,remoteSort:t.remoteSort,filters:UtilTools.getFilters(t.filters),filterMultiple:!_xeUtils.default.isBoolean(t.filterMultiple)||t.filterMultiple,filterMethod:t.filterMethod,filterResetMethod:t.filterResetMethod,filterRecoverMethod:t.filterRecoverMethod,filterRender:t.filterRender,treeNode:t.treeNode,cellType:t.cellType,cellRender:t.cellRender,editRender:t.editRender,contentRender:t.contentRender,exportMethod:t.exportMethod,footerExportMethod:t.footerExportMethod,titleHelp:t.titleHelp,params:t.params,id:t.colId||_xeUtils.default.uniqueId("col_"),parentId:null,visible:c,halfVisible:!1,defaultVisible:c,checked:!1,halfChecked:!1,disabled:!1,level:1,rowSpan:1,colSpan:1,order:null,sortTime:0,renderWidth:0,renderHeight:0,resizeWidth:0,renderLeft:0,renderArgs:[],model:{},renderHeader:o||t.renderHeader,renderCell:l||t.renderCell,renderFooter:n||t.renderFooter,renderData:i,slots:t.slots}),u&&u.beforeColumn&&u.beforeColumn({$grid:s,column:this})}return _createClass(f,[{key:"getTitle",value:function(){return UtilTools.getFuncText(this.title||("seq"===this.type?_conf.default.i18n("vxe.table.seqTitle"):""))}},{key:"getKey",value:function(){return this.property||(this.type?"type=".concat(this.type):null)}},{key:"update",value:function(e,t){"filters"!==e&&("field"===e?this.property=t:this[e]=t)}}]),f}();function isEnableConf(e){return e&&!1!==e.enabled}function outLog(r){return function(e,t){t=UtilTools.getLog(e,t);return console[r](t),t}}function eqEmptyValue(e){return""===e||_xeUtils.default.eqNull(e)}var UtilTools={warn:outLog("warn"),error:outLog("error"),getLog:function(e,t){return"[vxe-table] ".concat(_conf.default.i18n(e,t))},getFuncText:function(e){return _xeUtils.default.isFunction(e)?e():_conf.default.translate?_conf.default.translate(e):e},nextZIndex:function(){return lastZindex=_conf.default.zIndex+zindexIndex++},getLastZIndex:function(){return lastZindex},getRowkey:function(e){return e.rowId||"_XID"},getRowid:function(e,t){e=_xeUtils.default.get(t,UtilTools.getRowkey(e));return _xeUtils.default.eqNull(e)?"":encodeURIComponent(e)},getColumnList:function(e){var t=[];return e.forEach(function(e){t.push.apply(t,_toConsumableArray(e.children&&e.children.length?UtilTools.getColumnList(e.children):[e]))}),t},getClass:function(e,t){return e?_xeUtils.default.isFunction(e)?e(t):e:""},getFilters:function(e){return e&&_xeUtils.default.isArray(e)?e.map(function(e){var t=e.label,r=e.value,o=e.data,l=e.resetValue,e=e.checked;return{label:t,value:r,data:o,resetValue:l,checked:!!e,_checked:!!e}}):e},formatText:function(e,t){return""+(""===e||null==e?t?_conf.default.emptyCell:"":e)},getCellValue:function(e,t){return _xeUtils.default.get(e,t.property)},setCellValue:function(e,t,r){return _xeUtils.default.set(e,t.property,r)},isColumn:function(e){return e instanceof ColumnInfo},getColumnConfig:function(e,t,r){return UtilTools.isColumn(t)?t:new ColumnInfo(e,t,r)},assemColumn:function(e){var t=e.$el,r=e.$xetable,o=e.$xecolumn,l=e.columnConfig,n=o?o.columnConfig:null;l.slots=e.$scopedSlots,n?("development"===process.env.NODE_ENV&&("vxe-table-column"===o.$options._componentTag?UtilTools.error("vxe.error.groupTag",["<vxe-table-colgroup title=".concat(o.title," ...>"),"<vxe-table-column title=".concat(o.title," ...>")]):"vxe-column"===o.$options._componentTag&&UtilTools.warn("vxe.error.groupTag",["<vxe-colgroup title=".concat(o.title," ...>"),"<vxe-column title=".concat(o.title," ...>")])),n.children||(n.children=[]),n.children.splice([].indexOf.call(o.$el.children,t),0,l)):r.staticColumns.splice([].indexOf.call(r.$refs.hideColumn.children,t),0,l)},destroyColumn:function(e){var t=e.$xetable,r=e.columnConfig,t=_xeUtils.default.findTree(t.staticColumns,function(e){return e===r});t&&t.items.splice(t.index,1)},hasChildrenList:function(e){return e&&e.children&&0<e.children.length},parseFile:function(e){var t=e.name,r=_xeUtils.default.lastIndexOf(t,"."),e=t.substring(r+1,t.length);return{filename:t.substring(0,r),type:e}},isNumVal:function(e){return!isNaN(parseFloat(""+e))}},_default=exports.UtilTools=UtilTools;exports.default=_default;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.UtilTools=void 0,exports.eqEmptyValue=eqEmptyValue,exports.isEnableConf=isEnableConf;var _xeUtils=_interopRequireDefault(require("xe-utils")),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_formats=require("../../v-x-e-table/src/formats");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Map"===(r="Object"===r&&e.constructor?e.constructor.name:r)||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_arrayLikeToArray(e,t):void 0}}function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,o=new Array(t);r<t;r++)o[r]=e[r];return o}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,t){for(var r=0;r<t.length;r++){var o=t[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function _createClass(e,t,r){return t&&_defineProperties(e.prototype,t),r&&_defineProperties(e,r),e}var zindexIndex=0,lastZindex=1,ColumnInfo=function(){function f(e,t){var r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{},o=r.renderHeader,l=r.renderCell,n=r.renderFooter,i=r.renderData;_classCallCheck(this,f);var a,s=e.$xegrid,u=s?s.proxyOpts:null,d=t.formatter,c=!_xeUtils.default.isBoolean(t.visible)||t.visible;"development"===process.env.NODE_ENV&&(r=["seq","checkbox","radio","expand","html"],t.type&&-1===r.indexOf(t.type)&&UtilTools.warn("vxe.error.errProp",["type=".concat(t.type),r.join(", ")]),(_xeUtils.default.isBoolean(t.cellRender)||t.cellRender&&!_xeUtils.default.isObject(t.cellRender))&&UtilTools.warn("vxe.error.errProp",["column.cell-render=".concat(t.cellRender),"column.cell-render={}"]),(_xeUtils.default.isBoolean(t.editRender)||t.editRender&&!_xeUtils.default.isObject(t.editRender))&&UtilTools.warn("vxe.error.errProp",["column.edit-render=".concat(t.editRender),"column.edit-render={}"]),t.cellRender&&t.editRender&&UtilTools.warn("vxe.error.errConflicts",["column.cell-render","column.edit-render"]),"expand"===t.type&&e.treeConfig&&e.treeOpts.line&&UtilTools.error("vxe.error.errConflicts",["tree-config.line","column.type=expand"]),t.remoteSort&&UtilTools.warn("vxe.error.delProp",["column.remote-sort","sort-config.remote"]),t.sortMethod&&UtilTools.warn("vxe.error.delProp",["column.sort-method","sort-config.sortMethod"]),d&&(_xeUtils.default.isString(d)?(a=_formats.formats.get(d)||_xeUtils.default[d],_xeUtils.default.isFunction(a)||UtilTools.error("vxe.error.notFunc",[d])):_xeUtils.default.isArray(d)&&(a=_formats.formats.get(d[0])||_xeUtils.default[d[0]],_xeUtils.default.isFunction(a)||UtilTools.error("vxe.error.notFunc",[d[0]])))),Object.assign(this,{type:t.type,property:t.field,title:t.title,width:t.width,minWidth:t.minWidth,resizable:t.resizable,fixed:t.fixed,align:t.align,headerAlign:t.headerAlign,footerAlign:t.footerAlign,showOverflow:t.showOverflow,showHeaderOverflow:t.showHeaderOverflow,showFooterOverflow:t.showFooterOverflow,className:t.className,headerClassName:t.headerClassName,footerClassName:t.footerClassName,formatter:d,sortable:t.sortable,sortBy:t.sortBy,sortType:t.sortType,sortMethod:t.sortMethod,remoteSort:t.remoteSort,filters:UtilTools.getFilters(t.filters),filterMultiple:!_xeUtils.default.isBoolean(t.filterMultiple)||t.filterMultiple,filterMethod:t.filterMethod,filterResetMethod:t.filterResetMethod,filterRecoverMethod:t.filterRecoverMethod,filterRender:t.filterRender,treeNode:t.treeNode,cellType:t.cellType,cellRender:t.cellRender,editRender:t.editRender,contentRender:t.contentRender,exportMethod:t.exportMethod,footerExportMethod:t.footerExportMethod,titleHelp:t.titleHelp,params:t.params,id:t.colId||_xeUtils.default.uniqueId("col_"),parentId:null,visible:c,halfVisible:!1,defaultVisible:c,checked:!1,halfChecked:!1,disabled:!1,level:1,rowSpan:1,colSpan:1,order:null,sortTime:0,renderWidth:0,renderHeight:0,resizeWidth:0,renderLeft:0,renderArgs:[],model:{},renderHeader:o||t.renderHeader,renderCell:l||t.renderCell,renderFooter:n||t.renderFooter,renderData:i,slots:t.slots}),u&&u.beforeColumn&&u.beforeColumn({$grid:s,column:this})}return _createClass(f,[{key:"getTitle",value:function(){return UtilTools.getFuncText(this.title||("seq"===this.type?_conf.default.i18n("vxe.table.seqTitle"):""))}},{key:"getKey",value:function(){return this.property||(this.type?"type=".concat(this.type):null)}},{key:"update",value:function(e,t){"filters"!==e&&("field"===e?this.property=t:this[e]=t)}}]),f}();function isEnableConf(e){return e&&!1!==e.enabled}function outLog(r){return function(e,t){t=UtilTools.getLog(e,t);return console[r](t),t}}function eqEmptyValue(e){return""===e||_xeUtils.default.eqNull(e)}var UtilTools={warn:outLog("warn"),error:outLog("error"),getLog:function(e,t){return"[vxe-table] ".concat(_conf.default.i18n(e,t))},getFuncText:function(e){return _xeUtils.default.isFunction(e)?e():_conf.default.translate?_conf.default.translate(e):e},nextZIndex:function(){return lastZindex=_conf.default.zIndex+zindexIndex++},getLastZIndex:function(){return lastZindex},getRowkey:function(e){return e.rowId||"_X_ID"},getRowid:function(e,t){e=_xeUtils.default.get(t,UtilTools.getRowkey(e));return _xeUtils.default.eqNull(e)?"":encodeURIComponent(e)},getColumnList:function(e){var t=[];return e.forEach(function(e){t.push.apply(t,_toConsumableArray(e.children&&e.children.length?UtilTools.getColumnList(e.children):[e]))}),t},getClass:function(e,t){return e?_xeUtils.default.isFunction(e)?e(t):e:""},getFilters:function(e){return e&&_xeUtils.default.isArray(e)?e.map(function(e){var t=e.label,r=e.value,o=e.data,l=e.resetValue,e=e.checked;return{label:t,value:r,data:o,resetValue:l,checked:!!e,_checked:!!e}}):e},formatText:function(e,t){return""+(""===e||null==e?t?_conf.default.emptyCell:"":e)},getCellValue:function(e,t){return _xeUtils.default.get(e,t.property)},setCellValue:function(e,t,r){return _xeUtils.default.set(e,t.property,r)},isColumn:function(e){return e instanceof ColumnInfo},getColumnConfig:function(e,t,r){return UtilTools.isColumn(t)?t:new ColumnInfo(e,t,r)},assemColumn:function(e){var t=e.$el,r=e.$xetable,o=e.$xecolumn,l=e.columnConfig,n=o?o.columnConfig:null;l.slots=e.$scopedSlots,n?("development"===process.env.NODE_ENV&&("vxe-table-column"===o.$options._componentTag?UtilTools.error("vxe.error.groupTag",["<vxe-table-colgroup title=".concat(o.title," ...>"),"<vxe-table-column title=".concat(o.title," ...>")]):"vxe-column"===o.$options._componentTag&&UtilTools.warn("vxe.error.groupTag",["<vxe-colgroup title=".concat(o.title," ...>"),"<vxe-column title=".concat(o.title," ...>")])),n.children||(n.children=[]),n.children.splice([].indexOf.call(o.$el.children,t),0,l)):r.staticColumns.splice([].indexOf.call(r.$refs.hideColumn.children,t),0,l)},destroyColumn:function(e){var t=e.$xetable,r=e.columnConfig,t=_xeUtils.default.findTree(t.staticColumns,function(e){return e===r});t&&t.items.splice(t.index,1)},hasChildrenList:function(e){return e&&e.children&&0<e.children.length},parseFile:function(e){var t=e.name,r=_xeUtils.default.lastIndexOf(t,"."),e=t.substring(r+1,t.length);return{filename:t.substring(0,r),type:e}},isNumVal:function(e){return!isNaN(parseFloat(""+e))}},_default=exports.UtilTools=UtilTools;exports.default=_default;
@@ -19,6 +19,7 @@ var _default = {
19
19
  showHeader: true,
20
20
  animat: true,
21
21
  delayHover: 250,
22
+ autoResize: true,
22
23
  // keepSource: false,
23
24
  // showOverflow: null,
24
25
  // showHeaderOverflow: null,
@@ -26,7 +27,6 @@ var _default = {
26
27
  // resizeInterval: 500,
27
28
  // size: null,
28
29
  // zIndex: null,
29
- // autoResize: false,
30
30
  // stripe: false,
31
31
  // border: false,
32
32
  // round: false,
@@ -57,7 +57,7 @@ var _default = {
57
57
  // storage: false,
58
58
  // checkMethod () {}
59
59
  // },
60
- // rowId: '_XID', // 行数据的唯一主键字段名
60
+ // rowId: '_X_ID', // 行数据的唯一主键字段名
61
61
  sortConfig: {
62
62
  // remote: false,
63
63
  // trigger: 'default',
@@ -75,6 +75,7 @@ var _default = {
75
75
  parentField: 'parentId',
76
76
  children: 'children',
77
77
  hasChild: 'hasChild',
78
+ mapChildren: '_X_CHILD',
78
79
  indent: 20,
79
80
  showIcon: true
80
81
  },
@@ -99,6 +100,9 @@ var _default = {
99
100
  mouseConfig: {
100
101
  extension: true
101
102
  },
103
+ keyboardConfig: {
104
+ isEsc: true
105
+ },
102
106
  areaConfig: {
103
107
  selectCellByHeader: true
104
108
  },
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var iconPrefix="vxe-icon--",_default={size:null,zIndex:999,version:0,emptyCell:" ",table:{fit:!0,showHeader:!0,animat:!0,delayHover:250,radioConfig:{strict:!0},checkboxConfig:{strict:!0},validConfig:{showMessage:!0,message:"default"},sortConfig:{showIcon:!0},filterConfig:{showIcon:!0},treeConfig:{rowField:"id",parentField:"parentId",children:"children",hasChild:"hasChild",indent:20,showIcon:!0},expandConfig:{showIcon:!0},editConfig:{showIcon:!0,showAsterisk:!0},importConfig:{modes:["insert","covering"]},exportConfig:{modes:["current","selected"]},printConfig:{modes:["current","selected"]},mouseConfig:{extension:!0},areaConfig:{selectCellByHeader:!0},clipConfig:{isCopy:!0,isCut:!0,isPaste:!0},fnrConfig:{isFind:!0,isReplace:!0},scrollX:{enabled:!0,gt:60},scrollY:{enabled:!0,gt:100}},export:{types:{}},icon:{TABLE_SORT_ASC:iconPrefix+"caret-top",TABLE_SORT_DESC:iconPrefix+"caret-bottom",TABLE_FILTER_NONE:iconPrefix+"funnel",TABLE_FILTER_MATCH:iconPrefix+"funnel",TABLE_EDIT:iconPrefix+"edit-outline",TABLE_HELP:iconPrefix+"question",TABLE_TREE_LOADED:iconPrefix+"refresh roll",TABLE_TREE_OPEN:iconPrefix+"caret-right rotate90",TABLE_TREE_CLOSE:iconPrefix+"caret-right",TABLE_EXPAND_LOADED:iconPrefix+"refresh roll",TABLE_EXPAND_OPEN:iconPrefix+"arrow-right rotate90",TABLE_EXPAND_CLOSE:iconPrefix+"arrow-right",BUTTON_DROPDOWN:iconPrefix+"arrow-bottom",BUTTON_LOADING:iconPrefix+"refresh roll",SELECT_LOADED:iconPrefix+"refresh roll",SELECT_OPEN:iconPrefix+"caret-bottom rotate180",SELECT_CLOSE:iconPrefix+"caret-bottom",PAGER_JUMP_PREV:iconPrefix+"d-arrow-left",PAGER_JUMP_NEXT:iconPrefix+"d-arrow-right",PAGER_PREV_PAGE:iconPrefix+"arrow-left",PAGER_NEXT_PAGE:iconPrefix+"arrow-right",PAGER_JUMP_MORE:iconPrefix+"more",INPUT_CLEAR:iconPrefix+"close",INPUT_PWD:iconPrefix+"eye-slash",INPUT_SHOW_PWD:iconPrefix+"eye",INPUT_PREV_NUM:iconPrefix+"caret-top",INPUT_NEXT_NUM:iconPrefix+"caret-bottom",INPUT_DATE:iconPrefix+"calendar",INPUT_SEARCH:iconPrefix+"search",MODAL_ZOOM_IN:iconPrefix+"square",MODAL_ZOOM_OUT:iconPrefix+"zoomout",MODAL_CLOSE:iconPrefix+"close",MODAL_INFO:iconPrefix+"info",MODAL_SUCCESS:iconPrefix+"success",MODAL_WARNING:iconPrefix+"warning",MODAL_ERROR:iconPrefix+"error",MODAL_QUESTION:iconPrefix+"question",MODAL_LOADING:iconPrefix+"refresh roll",TOOLBAR_TOOLS_REFRESH:iconPrefix+"refresh",TOOLBAR_TOOLS_REFRESH_LOADING:iconPrefix+"refresh roll",TOOLBAR_TOOLS_IMPORT:iconPrefix+"upload",TOOLBAR_TOOLS_EXPORT:iconPrefix+"download",TOOLBAR_TOOLS_PRINT:iconPrefix+"print",TOOLBAR_TOOLS_ZOOM_IN:iconPrefix+"zoomin",TOOLBAR_TOOLS_ZOOM_OUT:iconPrefix+"zoomout",TOOLBAR_TOOLS_CUSTOM:iconPrefix+"menu",FORM_PREFIX:iconPrefix+"question",FORM_SUFFIX:iconPrefix+"question",FORM_FOLDING:iconPrefix+"arrow-top rotate180",FORM_UNFOLDING:iconPrefix+"arrow-top"},grid:{formConfig:{enabled:!0},pagerConfig:{enabled:!0},toolbarConfig:{enabled:!0},proxyConfig:{enabled:!0,autoLoad:!0,message:!0,props:{list:null,result:"result",total:"page.total",message:"message"}}},tooltip:{trigger:"hover",theme:"dark",leaveDelay:300},pager:{},form:{validConfig:{showMessage:!0,autoPos:!0},titleAsterisk:!0},input:{minDate:new Date(1900,0,1),maxDate:new Date(2100,0,1),startDay:1,selectDay:1,digits:2,controls:!0},textarea:{},select:{multiCharOverflow:8},toolbar:{},button:{},radio:{},checkbox:{},switch:{},modal:{top:15,showHeader:!0,minWidth:340,minHeight:140,lockView:!0,mask:!0,duration:3e3,marginSize:0,dblclickZoom:!0,showTitleOverflow:!0,animat:!0,showClose:!0,draggable:!0,storageKey:"VXE_MODAL_POSITION"},list:{scrollY:{enabled:!0,gt:100}},i18n:function(e){return e}};exports.default=_default;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var iconPrefix="vxe-icon--",_default={size:null,zIndex:999,version:0,emptyCell:" ",table:{fit:!0,showHeader:!0,animat:!0,delayHover:250,autoResize:!0,radioConfig:{strict:!0},checkboxConfig:{strict:!0},validConfig:{showMessage:!0,message:"default"},sortConfig:{showIcon:!0},filterConfig:{showIcon:!0},treeConfig:{rowField:"id",parentField:"parentId",children:"children",hasChild:"hasChild",mapChildren:"_X_CHILD",indent:20,showIcon:!0},expandConfig:{showIcon:!0},editConfig:{showIcon:!0,showAsterisk:!0},importConfig:{modes:["insert","covering"]},exportConfig:{modes:["current","selected"]},printConfig:{modes:["current","selected"]},mouseConfig:{extension:!0},keyboardConfig:{isEsc:!0},areaConfig:{selectCellByHeader:!0},clipConfig:{isCopy:!0,isCut:!0,isPaste:!0},fnrConfig:{isFind:!0,isReplace:!0},scrollX:{enabled:!0,gt:60},scrollY:{enabled:!0,gt:100}},export:{types:{}},icon:{TABLE_SORT_ASC:iconPrefix+"caret-top",TABLE_SORT_DESC:iconPrefix+"caret-bottom",TABLE_FILTER_NONE:iconPrefix+"funnel",TABLE_FILTER_MATCH:iconPrefix+"funnel",TABLE_EDIT:iconPrefix+"edit-outline",TABLE_HELP:iconPrefix+"question",TABLE_TREE_LOADED:iconPrefix+"refresh roll",TABLE_TREE_OPEN:iconPrefix+"caret-right rotate90",TABLE_TREE_CLOSE:iconPrefix+"caret-right",TABLE_EXPAND_LOADED:iconPrefix+"refresh roll",TABLE_EXPAND_OPEN:iconPrefix+"arrow-right rotate90",TABLE_EXPAND_CLOSE:iconPrefix+"arrow-right",BUTTON_DROPDOWN:iconPrefix+"arrow-bottom",BUTTON_LOADING:iconPrefix+"refresh roll",SELECT_LOADED:iconPrefix+"refresh roll",SELECT_OPEN:iconPrefix+"caret-bottom rotate180",SELECT_CLOSE:iconPrefix+"caret-bottom",PAGER_JUMP_PREV:iconPrefix+"d-arrow-left",PAGER_JUMP_NEXT:iconPrefix+"d-arrow-right",PAGER_PREV_PAGE:iconPrefix+"arrow-left",PAGER_NEXT_PAGE:iconPrefix+"arrow-right",PAGER_JUMP_MORE:iconPrefix+"more",INPUT_CLEAR:iconPrefix+"close",INPUT_PWD:iconPrefix+"eye-slash",INPUT_SHOW_PWD:iconPrefix+"eye",INPUT_PREV_NUM:iconPrefix+"caret-top",INPUT_NEXT_NUM:iconPrefix+"caret-bottom",INPUT_DATE:iconPrefix+"calendar",INPUT_SEARCH:iconPrefix+"search",MODAL_ZOOM_IN:iconPrefix+"square",MODAL_ZOOM_OUT:iconPrefix+"zoomout",MODAL_CLOSE:iconPrefix+"close",MODAL_INFO:iconPrefix+"info",MODAL_SUCCESS:iconPrefix+"success",MODAL_WARNING:iconPrefix+"warning",MODAL_ERROR:iconPrefix+"error",MODAL_QUESTION:iconPrefix+"question",MODAL_LOADING:iconPrefix+"refresh roll",TOOLBAR_TOOLS_REFRESH:iconPrefix+"refresh",TOOLBAR_TOOLS_REFRESH_LOADING:iconPrefix+"refresh roll",TOOLBAR_TOOLS_IMPORT:iconPrefix+"upload",TOOLBAR_TOOLS_EXPORT:iconPrefix+"download",TOOLBAR_TOOLS_PRINT:iconPrefix+"print",TOOLBAR_TOOLS_ZOOM_IN:iconPrefix+"zoomin",TOOLBAR_TOOLS_ZOOM_OUT:iconPrefix+"zoomout",TOOLBAR_TOOLS_CUSTOM:iconPrefix+"menu",FORM_PREFIX:iconPrefix+"question",FORM_SUFFIX:iconPrefix+"question",FORM_FOLDING:iconPrefix+"arrow-top rotate180",FORM_UNFOLDING:iconPrefix+"arrow-top"},grid:{formConfig:{enabled:!0},pagerConfig:{enabled:!0},toolbarConfig:{enabled:!0},proxyConfig:{enabled:!0,autoLoad:!0,message:!0,props:{list:null,result:"result",total:"page.total",message:"message"}}},tooltip:{trigger:"hover",theme:"dark",leaveDelay:300},pager:{},form:{validConfig:{showMessage:!0,autoPos:!0},titleAsterisk:!0},input:{minDate:new Date(1900,0,1),maxDate:new Date(2100,0,1),startDay:1,selectDay:1,digits:2,controls:!0},textarea:{},select:{multiCharOverflow:8},toolbar:{},button:{},radio:{},checkbox:{},switch:{},modal:{top:15,showHeader:!0,minWidth:340,minHeight:140,lockView:!0,mask:!0,duration:3e3,marginSize:0,dblclickZoom:!0,showTitleOverflow:!0,animat:!0,showClose:!0,draggable:!0,storageKey:"VXE_MODAL_POSITION"},list:{scrollY:{enabled:!0,gt:100}},i18n:function(e){return e}};exports.default=_default;
@@ -216,7 +216,7 @@ var _default = {
216
216
  var ruleProps = Object.keys(validRest);
217
217
  return _this2.$nextTick().then(function () {
218
218
  if (ruleProps.length) {
219
- return Promise.reject(validRest[ruleProps[0]][0]);
219
+ return validRest[ruleProps[0]][0];
220
220
  }
221
221
 
222
222
  if (cb) {
@@ -224,14 +224,14 @@ var _default = {
224
224
  }
225
225
  });
226
226
  }).catch(function (firstErrParams) {
227
- return new Promise(function (resolve, reject) {
227
+ return new Promise(function (resolve) {
228
228
  var finish = function finish() {
229
229
  _this2.$nextTick(function () {
230
230
  if (cb) {
231
231
  cb(validRest);
232
232
  resolve();
233
233
  } else {
234
- reject(validRest);
234
+ resolve(validRest);
235
235
  }
236
236
  });
237
237
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_tools=require("../../tools"),_utils=require("../../tools/src/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function _createClass(e,t,r){return t&&_defineProperties(e.prototype,t),r&&_defineProperties(e,r),e}var Rule=function(){function t(e){_classCallCheck(this,t),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})}return _createClass(t,[{key:"content",get:function(){return _tools.UtilTools.getFuncText(this.$options.content||this.$options.message)}},{key:"message",get:function(){return this.content}}]),t}();function validErrorRuleValue(e,t){var r=e.type,i=e.min,l=e.max,n=e.pattern,e="number"===r,r=e?_xeUtils.default.toNumber(t):_xeUtils.default.getSize(t);return!(!e||!isNaN(t))||(!_xeUtils.default.eqNull(i)&&r<_xeUtils.default.toNumber(i)||(!_xeUtils.default.eqNull(l)&&r>_xeUtils.default.toNumber(l)||!(!n||(_xeUtils.default.isRegExp(n)?n:new RegExp(n)).test(t))))}var _default={methods:{_fullValidate:function(e,t){return this.beginValidate(e,t,!0)},_validate:function(e,t){return this.beginValidate(e,t)},handleValidError:function(t){var r=this;return new Promise(function(e){!1===r.validOpts.autoPos?(r.emitEvent("valid-error",t),e()):r.handleActived(t,{type:"valid-error",trigger:"call"}).then(function(){setTimeout(function(){e(r.showValidTooltip(t))},10)})})},beginValidate:function(e,u,i){var a=this,s={},l=this.editRules,c=this.afterFullData,d=this.treeConfig,t=this.treeOpts;!0===e?r=c:e&&(_xeUtils.default.isFunction(e)?u=e:r=_xeUtils.default.isArray(e)?e:[e]);var r=r||this.getInsertRecords().concat(this.getUpdateRecords()),n=[];if(this.lastCallTime=Date.now(),this.validRuleErr=!1,this.clearValidate(),l){var o=this.getColumns(),e=function(r){var e;!i&&a.validRuleErr||(e=[],o.forEach(function(t){!i&&a.validRuleErr||!_xeUtils.default.has(l,t.property)||e.push(a.validCellRules("all",r,t).catch(function(e){e={rule:e.rule,rules:e.rules,rowIndex:a.getRowIndex(r),row:r,columnIndex:a.getColumnIndex(t),column:t,$table:a};if(s[t.property]||(s[t.property]=[]),s[t.property].push(e),!i)return a.validRuleErr=!0,Promise.reject(e)}))}),n.push(Promise.all(e)))};return d?_xeUtils.default.eachTree(r,e,t):r.forEach(e),Promise.all(n).then(function(){var e=Object.keys(s);return a.$nextTick().then(function(){return e.length?Promise.reject(s[e[0]][0]):void(u&&u())})}).catch(function(o){return new Promise(function(e,t){function r(){a.$nextTick(function(){u?(u(s),e()):t(s)})}function i(){o.cell=a.getCell(o.row,o.column),_tools.DomTools.scrollToView(o.cell),a.handleValidError(o).then(r)}var l=o.row,n=c.indexOf(l),l=0<n?c[n-1]:l;!1===a.validOpts.autoPos?r():(d?a.scrollToTreeRow(l):a.scrollToRow(l)).then(i)})})}return this.$nextTick().then(function(){u&&u()})},hasCellRules:function(t,e,r){var i=this.editRules,r=r.property;if(r&&i){r=_xeUtils.default.get(i,r);return r&&_xeUtils.default.find(r,function(e){return"all"===t||!e.trigger||t===e.trigger})}return!1},validCellRules:function(n,o,u,e){var a,s,c=this,t=this.editRules,r=u.property,d=[],f=[];return r&&t&&((a=_xeUtils.default.get(t,r))&&(s=_xeUtils.default.isUndefined(e)?_xeUtils.default.get(o,r):e,a.forEach(function(t){var e,r=t.type,i=t.trigger,l=t.required;"all"!==n&&i&&n!==i||(_xeUtils.default.isFunction(t.validator)?(e=t.validator({cellValue:s,rule:t,rules:a,row:o,rowIndex:c.getRowIndex(o),column:u,columnIndex:c.getColumnIndex(u),$table:c}))&&(_xeUtils.default.isError(e)?(c.validRuleErr=!0,d.push(new Rule({type:"custom",trigger:i,content:e.message,rule:new Rule(t)}))):e.catch&&f.push(e.catch(function(e){c.validRuleErr=!0,d.push(new Rule({type:"custom",trigger:i,content:e&&e.message?e.message:t.content||t.message,rule:new Rule(t)}))}))):(r="array"===r?!_xeUtils.default.isArray(s)||!s.length:(0,_utils.eqEmptyValue)(s),(l?r||validErrorRuleValue(t,s):!r&&validErrorRuleValue(t,s))&&(c.validRuleErr=!0,d.push(new Rule(t)))))}))),Promise.all(f).then(function(){if(d.length){var e={rules:d,rule:d[0]};return Promise.reject(e)}})},_clearValidate:function(){var e=this.$refs.validTip;return Object.assign(this.validStore,{visible:!1,row:null,column:null,content:"",rule:null}),e&&e.visible&&e.close(),this.$nextTick()},triggerValidate:function(t){var r=this,e=this.editConfig,i=this.editStore,l=this.editRules,n=this.validStore,i=i.actived;if(i.row&&l){var i=i.args,o=i.row,u=i.column,a=i.cell;if(this.hasCellRules(t,o,u))return this.validCellRules(t,o,u).then(function(){"row"===e.mode&&n.visible&&n.row===o&&n.column===u&&r.clearValidate()}).catch(function(e){e=e.rule;if(e.trigger&&t!==e.trigger)return Promise.resolve();e={rule:e,row:o,column:u,cell:a};return r.showValidTooltip(e),Promise.reject(e)})}return Promise.resolve()},showValidTooltip:function(e){var t=this,r=this.$refs,i=this.height,l=this.tableData,n=this.validOpts,o=e.rule,u=e.row,a=e.column,s=e.cell,c=r.validTip,d=o.content;return this.$nextTick(function(){if(Object.assign(t.validStore,{row:u,column:a,rule:o,content:d,visible:!0}),t.emitEvent("valid-error",e),c&&("tooltip"===n.message||"default"===n.message&&!i&&l.length<2))return c.open(s,d)})}}};exports.default=_default;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_tools=require("../../tools"),_utils=require("../../tools/src/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,t){for(var r=0;r<t.length;r++){var l=t[r];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(e,l.key,l)}}function _createClass(e,t,r){return t&&_defineProperties(e.prototype,t),r&&_defineProperties(e,r),e}var Rule=function(){function t(e){_classCallCheck(this,t),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})}return _createClass(t,[{key:"content",get:function(){return _tools.UtilTools.getFuncText(this.$options.content||this.$options.message)}},{key:"message",get:function(){return this.content}}]),t}();function validErrorRuleValue(e,t){var r=e.type,l=e.min,i=e.max,n=e.pattern,e="number"===r,r=e?_xeUtils.default.toNumber(t):_xeUtils.default.getSize(t);return!(!e||!isNaN(t))||(!_xeUtils.default.eqNull(l)&&r<_xeUtils.default.toNumber(l)||(!_xeUtils.default.eqNull(i)&&r>_xeUtils.default.toNumber(i)||!(!n||(_xeUtils.default.isRegExp(n)?n:new RegExp(n)).test(t))))}var _default={methods:{_fullValidate:function(e,t){return this.beginValidate(e,t,!0)},_validate:function(e,t){return this.beginValidate(e,t)},handleValidError:function(t){var r=this;return new Promise(function(e){!1===r.validOpts.autoPos?(r.emitEvent("valid-error",t),e()):r.handleActived(t,{type:"valid-error",trigger:"call"}).then(function(){setTimeout(function(){e(r.showValidTooltip(t))},10)})})},beginValidate:function(e,o,l){var u=this,a={},i=this.editRules,s=this.afterFullData,c=this.treeConfig,t=this.treeOpts;!0===e?r=s:e&&(_xeUtils.default.isFunction(e)?o=e:r=_xeUtils.default.isArray(e)?e:[e]);var r=r||this.getInsertRecords().concat(this.getUpdateRecords()),n=[];if(this.lastCallTime=Date.now(),this.validRuleErr=!1,this.clearValidate(),i){var d=this.getColumns(),e=function(r){var e;!l&&u.validRuleErr||(e=[],d.forEach(function(t){!l&&u.validRuleErr||!_xeUtils.default.has(i,t.property)||e.push(u.validCellRules("all",r,t).catch(function(e){e={rule:e.rule,rules:e.rules,rowIndex:u.getRowIndex(r),row:r,columnIndex:u.getColumnIndex(t),column:t,$table:u};if(a[t.property]||(a[t.property]=[]),a[t.property].push(e),!l)return u.validRuleErr=!0,Promise.reject(e)}))}),n.push(Promise.all(e)))};return c?_xeUtils.default.eachTree(r,e,t):r.forEach(e),Promise.all(n).then(function(){var e=Object.keys(a);return u.$nextTick().then(function(){return e.length?a[e[0]][0]:void(o&&o())})}).catch(function(n){return new Promise(function(e){function t(){u.$nextTick(function(){o?(o(a),e()):e(a)})}function r(){n.cell=u.getCell(n.row,n.column),_tools.DomTools.scrollToView(n.cell),u.handleValidError(n).then(t)}var l=n.row,i=s.indexOf(l),l=0<i?s[i-1]:l;!1===u.validOpts.autoPos?t():(c?u.scrollToTreeRow(l):u.scrollToRow(l)).then(r)})})}return this.$nextTick().then(function(){o&&o()})},hasCellRules:function(t,e,r){var l=this.editRules,r=r.property;if(r&&l){r=_xeUtils.default.get(l,r);return r&&_xeUtils.default.find(r,function(e){return"all"===t||!e.trigger||t===e.trigger})}return!1},validCellRules:function(n,o,u,e){var a,s,c=this,t=this.editRules,r=u.property,d=[],f=[];return r&&t&&((a=_xeUtils.default.get(t,r))&&(s=_xeUtils.default.isUndefined(e)?_xeUtils.default.get(o,r):e,a.forEach(function(t){var e,r=t.type,l=t.trigger,i=t.required;"all"!==n&&l&&n!==l||(_xeUtils.default.isFunction(t.validator)?(e=t.validator({cellValue:s,rule:t,rules:a,row:o,rowIndex:c.getRowIndex(o),column:u,columnIndex:c.getColumnIndex(u),$table:c}))&&(_xeUtils.default.isError(e)?(c.validRuleErr=!0,d.push(new Rule({type:"custom",trigger:l,content:e.message,rule:new Rule(t)}))):e.catch&&f.push(e.catch(function(e){c.validRuleErr=!0,d.push(new Rule({type:"custom",trigger:l,content:e&&e.message?e.message:t.content||t.message,rule:new Rule(t)}))}))):(r="array"===r?!_xeUtils.default.isArray(s)||!s.length:(0,_utils.eqEmptyValue)(s),(i?r||validErrorRuleValue(t,s):!r&&validErrorRuleValue(t,s))&&(c.validRuleErr=!0,d.push(new Rule(t)))))}))),Promise.all(f).then(function(){if(d.length){var e={rules:d,rule:d[0]};return Promise.reject(e)}})},_clearValidate:function(){var e=this.$refs.validTip;return Object.assign(this.validStore,{visible:!1,row:null,column:null,content:"",rule:null}),e&&e.visible&&e.close(),this.$nextTick()},triggerValidate:function(t){var r=this,e=this.editConfig,l=this.editStore,i=this.editRules,n=this.validStore,l=l.actived;if(l.row&&i){var l=l.args,o=l.row,u=l.column,a=l.cell;if(this.hasCellRules(t,o,u))return this.validCellRules(t,o,u).then(function(){"row"===e.mode&&n.visible&&n.row===o&&n.column===u&&r.clearValidate()}).catch(function(e){e=e.rule;if(e.trigger&&t!==e.trigger)return Promise.resolve();e={rule:e,row:o,column:u,cell:a};return r.showValidTooltip(e),Promise.reject(e)})}return Promise.resolve()},showValidTooltip:function(e){var t=this,r=this.$refs,l=this.height,i=this.tableData,n=this.validOpts,o=e.rule,u=e.row,a=e.column,s=e.cell,c=r.validTip,d=o.content;return this.$nextTick(function(){if(Object.assign(t.validStore,{row:u,column:a,rule:o,content:d,visible:!0}),t.emitEvent("valid-error",e),c&&("tooltip"===n.message||"default"===n.message&&!l&&i.length<2))return c.open(s,d)})}}};exports.default=_default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vxe-table",
3
- "version": "3.4.4",
3
+ "version": "3.4.7-beta.1",
4
4
  "description": "一个基于 vue 的 PC 端表格组件,支持增删改查、虚拟列表、虚拟树、懒加载、快捷菜单、数据校验、树形结构、打印导出、表单渲染、数据分页、弹窗、自定义模板、渲染器、贼灵活的配置项、扩展接口等...",
5
5
  "scripts": {
6
6
  "serve": "vue-cli-service serve",
@@ -35,20 +35,14 @@
35
35
  "@vue/cli-service": "~4.4.0",
36
36
  "@vue/eslint-config-standard": "^5.1.2",
37
37
  "@vue/eslint-config-typescript": "^5.0.2",
38
- "ant-design-vue": "^1.7.8",
39
- "codemirror": "^5.53.2",
40
38
  "core-js": "^3.6.5",
41
- "dayjs": "^1.10.4",
42
39
  "del": "^5.1.0",
43
- "element-ui": "^2.15.6",
44
40
  "eslint": "^6.7.2",
45
41
  "eslint-plugin-import": "^2.20.2",
46
42
  "eslint-plugin-node": "^11.1.0",
47
43
  "eslint-plugin-promise": "^4.2.1",
48
44
  "eslint-plugin-standard": "^4.0.0",
49
45
  "eslint-plugin-vue": "^6.2.2",
50
- "exceljs": "^4.2.1",
51
- "font-awesome": "^4.7.0",
52
46
  "gulp": "^4.0.2",
53
47
  "gulp-autoprefixer": "^6.1.0",
54
48
  "gulp-babel": "^8.0.0",
@@ -60,15 +54,9 @@
60
54
  "gulp-sass": "^4.1.0",
61
55
  "gulp-sourcemaps": "^2.6.5",
62
56
  "gulp-uglify": "^3.0.2",
63
- "highlight.js": "^10.5.0",
64
- "jsbarcode": "^3.11.0",
65
- "jspdf": "^2.3.1",
66
57
  "node-sass": "^4.14.0",
67
- "qrcode": "^1.4.4",
68
58
  "sass-loader": "^8.0.2",
69
- "sortablejs": "^1.10.2",
70
59
  "typescript": "~3.9.3",
71
- "view-design": "^4.6.1",
72
60
  "vue": "^2.6.14",
73
61
  "vue-class-component": "^7.2.3",
74
62
  "vue-i18n": "^8.18.1",
@@ -76,23 +64,14 @@
76
64
  "vue-router": "^3.2.0",
77
65
  "vue-template-compiler": "^2.6.14",
78
66
  "vuex": "^3.4.0",
79
- "vxe-table-plugin-antd": "^1.11.3",
80
- "vxe-table-plugin-charts": "^1.7.1",
81
- "vxe-table-plugin-element": "^1.11.3",
82
- "vxe-table-plugin-export-pdf": "^1.9.2",
83
- "vxe-table-plugin-export-xlsx": "^2.2.1",
84
- "vxe-table-plugin-iview": "^1.11.4",
85
- "vxe-table-plugin-menus": "^2.0.2",
86
- "vxe-table-plugin-renderer": "^1.3.5",
87
- "vxe-table-plugin-shortcut-key": "^1.5.1",
88
67
  "xe-ajax": "^4.0.5",
89
68
  "xe-clipboard": "^1.10.1",
90
- "xe-utils": "^3.4.0",
69
+ "xe-utils": "^3.4.2",
91
70
  "xlsx": "^0.17.0"
92
71
  },
93
72
  "peerDependencies": {
94
73
  "vue": "^2.6.0",
95
- "xe-utils": "^3.2.0"
74
+ "xe-utils": "^3.4.2"
96
75
  },
97
76
  "vetur": {
98
77
  "tags": "helper/vetur/tags.json",
@@ -264,38 +264,38 @@ export default {
264
264
  const panelStyle = {
265
265
  zIndex: panelIndex
266
266
  }
267
- const { boundingTop, boundingLeft, visibleHeight, visibleWidth } = DomTools.getAbsolutePos(targetElem)
267
+ const { top, left, boundingTop, visibleHeight, visibleWidth } = DomTools.getAbsolutePos(targetElem)
268
268
  let panelPlacement = 'bottom'
269
269
  if (transfer) {
270
- let left = boundingLeft + targetWidth - panelWidth
271
- let top = boundingTop + targetHeight
270
+ let btnLeft = left + targetWidth - panelWidth
271
+ let btnTop = top + targetHeight
272
272
  if (placement === 'top') {
273
273
  panelPlacement = 'top'
274
- top = boundingTop - panelHeight
274
+ btnTop = top - panelHeight
275
275
  } else if (!placement) {
276
276
  // 如果下面不够放,则向上
277
- if (top + panelHeight + marginSize > visibleHeight) {
277
+ if (boundingTop + targetHeight + panelHeight + marginSize > visibleHeight) {
278
278
  panelPlacement = 'top'
279
- top = boundingTop - panelHeight
279
+ btnTop = top - panelHeight
280
280
  }
281
281
  // 如果上面不够放,则向下(优先)
282
- if (top < marginSize) {
282
+ if (btnTop < marginSize) {
283
283
  panelPlacement = 'bottom'
284
- top = boundingTop + targetHeight
284
+ btnTop = top + targetHeight
285
285
  }
286
286
  }
287
287
  // 如果溢出右边
288
- if (left + panelWidth + marginSize > visibleWidth) {
289
- left -= left + panelWidth + marginSize - visibleWidth
288
+ if (btnLeft + panelWidth + marginSize > visibleWidth) {
289
+ btnLeft -= btnLeft + panelWidth + marginSize - visibleWidth
290
290
  }
291
291
  // 如果溢出左边
292
- if (left < marginSize) {
293
- left = marginSize
292
+ if (btnLeft < marginSize) {
293
+ btnLeft = marginSize
294
294
  }
295
295
  Object.assign(panelStyle, {
296
- left: `${left}px`,
296
+ left: `${btnLeft}px`,
297
297
  right: 'auto',
298
- top: `${top}px`,
298
+ top: `${btnTop}px`,
299
299
  minWidth: `${targetWidth}px`
300
300
  })
301
301
  } else {
@@ -6,12 +6,12 @@ import { browse } from '../../tools/src/dom'
6
6
  const { getRowid } = UtilTools
7
7
 
8
8
  function insertTreeRow (_vm, newRecords, isAppend) {
9
- const { treeFullData, afterFullData, fullDataRowIdData, fullAllDataRowIdData, treeOpts } = _vm
9
+ const { tableFullTreeData, afterFullData, fullDataRowIdData, fullAllDataRowIdData, treeOpts } = _vm
10
10
  const funcName = isAppend ? 'push' : 'unshift'
11
11
  newRecords.forEach(item => {
12
12
  const parentRowId = item[treeOpts.parentField]
13
13
  const rowid = getRowid(_vm, item)
14
- const matchObj = parentRowId ? XEUtils.findTree(treeFullData, item => parentRowId === item[treeOpts.rowField], treeOpts) : null
14
+ const matchObj = parentRowId ? XEUtils.findTree(tableFullTreeData, item => parentRowId === item[treeOpts.rowField], treeOpts) : null
15
15
  if (matchObj) {
16
16
  const { item: parentRow } = matchObj
17
17
  const parentRest = fullAllDataRowIdData[getRowid(_vm, parentRow)]
@@ -21,7 +21,7 @@ function insertTreeRow (_vm, newRecords, isAppend) {
21
21
  parentChilds = parentRow[treeOpts.children] = []
22
22
  }
23
23
  parentChilds[funcName](item)
24
- const rest = { row: item, rowid, index: -1, _index: -1, $index: -1, items: parentChilds, parent, level: parentLevel + 1 }
24
+ const rest = { row: item, rowid, seq: -1, index: -1, _index: -1, $index: -1, items: parentChilds, parent, level: parentLevel + 1 }
25
25
  fullDataRowIdData[rowid] = rest
26
26
  fullAllDataRowIdData[rowid] = rest
27
27
  } else {
@@ -31,13 +31,12 @@ function insertTreeRow (_vm, newRecords, isAppend) {
31
31
  }
32
32
  }
33
33
  afterFullData[funcName](item)
34
- treeFullData[funcName](item)
35
- const rest = { row: item, rowid, index: -1, _index: -1, $index: -1, items: treeFullData, parent: null, level: 0 }
34
+ tableFullTreeData[funcName](item)
35
+ const rest = { row: item, rowid, seq: -1, index: -1, _index: -1, $index: -1, items: tableFullTreeData, parent: null, level: 0 }
36
36
  fullDataRowIdData[rowid] = rest
37
37
  fullAllDataRowIdData[rowid] = rest
38
38
  }
39
39
  })
40
- _vm.updateVirtualTreeData()
41
40
  }
42
41
 
43
42
  export default {
@@ -59,7 +58,7 @@ export default {
59
58
  * @param {Row} row 指定行
60
59
  */
61
60
  _insertAt (records, row) {
62
- const { treeFullData, mergeList, afterFullData, editStore, sYOpts, scrollYLoad, tableFullData, treeConfig, fullDataRowIdData, fullAllDataRowIdData, treeOpts } = this
61
+ const { tableFullTreeData, mergeList, afterFullData, editStore, tableFullData, treeConfig, fullDataRowIdData, fullAllDataRowIdData, treeOpts } = this
63
62
  const { transform } = treeOpts
64
63
  if (!XEUtils.isArray(records)) {
65
64
  records = [records]
@@ -99,7 +98,7 @@ export default {
99
98
  } else {
100
99
  // 如果为虚拟树
101
100
  if (treeConfig && transform) {
102
- const matchObj = XEUtils.findTree(treeFullData, item => row[treeOpts.rowField] === item[treeOpts.rowField], treeOpts)
101
+ const matchObj = XEUtils.findTree(tableFullTreeData, item => row[treeOpts.rowField] === item[treeOpts.rowField], treeOpts)
103
102
  if (matchObj) {
104
103
  const { parent: parentRow } = matchObj
105
104
  const parentChilds = matchObj.items
@@ -118,11 +117,10 @@ export default {
118
117
  item[treeOpts.parentField] = parentRow[treeOpts.rowField]
119
118
  }
120
119
  parentChilds.splice(matchObj.index + i, 0, item)
121
- const rest = { row: item, rowid, index: -1, _index: -1, $index: -1, items: parentChilds, parent: parentRow, level: parentLevel + 1 }
120
+ const rest = { row: item, rowid, seq: -1, index: -1, _index: -1, $index: -1, items: parentChilds, parent: parentRow, level: parentLevel + 1 }
122
121
  fullDataRowIdData[rowid] = rest
123
122
  fullAllDataRowIdData[rowid] = rest
124
123
  })
125
- this.updateVirtualTreeData()
126
124
  } else {
127
125
  if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
128
126
  UtilTools.warn('vxe.error.unableInsert')
@@ -152,12 +150,12 @@ export default {
152
150
  }
153
151
  }
154
152
  editStore.insertList.unshift(...newRecords)
155
- this.scrollYLoad = !treeConfig && sYOpts.gt > -1 && sYOpts.gt < tableFullData.length
156
- this.handleTableData(transform)
153
+ this.handleTableData(treeConfig && treeOpts.transform)
157
154
  this.updateFooter()
158
155
  this.cacheRowMap()
156
+ this.updateAfterDataIndex()
159
157
  this.checkSelectionStatus()
160
- if (scrollYLoad) {
158
+ if (this.scrollYLoad) {
161
159
  this.updateScrollYSpace()
162
160
  }
163
161
  return this.$nextTick().then(() => {
@@ -177,7 +175,7 @@ export default {
177
175
  * 如果为空则删除所有
178
176
  */
179
177
  _remove (rows) {
180
- const { afterFullData, tableFullData, treeFullData, treeConfig, mergeList, editStore, checkboxOpts, selection, isInsertByRow, sYOpts, scrollYLoad, treeOpts } = this
178
+ const { afterFullData, tableFullData, tableFullTreeData, treeConfig, mergeList, editStore, checkboxOpts, selection, isInsertByRow, treeOpts } = this
181
179
  const { transform } = treeOpts
182
180
  const { actived, removeList, insertList } = editStore
183
181
  const { checkField: property } = checkboxOpts
@@ -213,7 +211,7 @@ export default {
213
211
  if (treeConfig && transform) {
214
212
  rows.forEach((row) => {
215
213
  const rowid = getRowid(this, row)
216
- const matchObj = XEUtils.findTree(treeFullData, item => rowid === getRowid(this, item), treeOpts)
214
+ const matchObj = XEUtils.findTree(tableFullTreeData, item => rowid === getRowid(this, item), treeOpts)
217
215
  if (matchObj) {
218
216
  const rItems = matchObj.items.splice(matchObj.index, 1)
219
217
  rest.push(rItems[0])
@@ -222,7 +220,6 @@ export default {
222
220
  if (afIndex > -1) {
223
221
  afterFullData.splice(afIndex, 1)
224
222
  }
225
- this.updateVirtualTreeData()
226
223
  })
227
224
  } else {
228
225
  rows.forEach(row => {
@@ -258,12 +255,12 @@ export default {
258
255
  insertList.splice(iIndex, 1)
259
256
  }
260
257
  })
261
- this.scrollYLoad = !treeConfig && sYOpts.gt > -1 && sYOpts.gt < tableFullData.length
262
- this.handleTableData(transform)
258
+ this.handleTableData(treeConfig && treeOpts.transform)
263
259
  this.updateFooter()
264
260
  this.cacheRowMap()
261
+ this.updateAfterDataIndex()
265
262
  this.checkSelectionStatus()
266
- if (scrollYLoad) {
263
+ if (this.scrollYLoad) {
267
264
  this.updateScrollYSpace()
268
265
  }
269
266
  return this.$nextTick().then(() => {
@@ -316,7 +313,7 @@ export default {
316
313
  * 获取新增的临时数据
317
314
  */
318
315
  _getInsertRecords () {
319
- const { treeConfig, treeFullData, tableFullData, treeOpts } = this
316
+ const { treeConfig, tableFullTreeData, tableFullData, treeOpts } = this
320
317
  const insertList = this.editStore.insertList
321
318
  const insertRecords = []
322
319
  if (insertList.length) {
@@ -324,7 +321,7 @@ export default {
324
321
  if (treeConfig && treeOpts.transform) {
325
322
  insertList.forEach(row => {
326
323
  const rowid = getRowid(this, row)
327
- const matchObj = XEUtils.findTree(treeFullData, item => rowid === getRowid(this, item), treeOpts)
324
+ const matchObj = XEUtils.findTree(tableFullTreeData, item => rowid === getRowid(this, item), treeOpts)
328
325
  if (matchObj) {
329
326
  insertRecords.push(row)
330
327
  }
@@ -2,7 +2,7 @@ import XEUtils from 'xe-utils'
2
2
  import GlobalConfig from '../../v-x-e-table/src/conf'
3
3
  import VXETable from '../../v-x-e-table'
4
4
  import { UtilTools } from '../../tools'
5
- import { mergeBodyMethod } from '../../table/src/util'
5
+ import { mergeBodyMethod, toTreePathSeq } from '../../table/src/util'
6
6
  import { browse } from '../../tools/src/dom'
7
7
 
8
8
  const { formatText } = UtilTools
@@ -40,10 +40,16 @@ function hasTreeChildren ($xetable, row) {
40
40
  return row[treeOpts.children] && row[treeOpts.children].length > 0
41
41
  }
42
42
 
43
- function getSeq ($xetable, row, rowIndex, column, columnIndex) {
43
+ function getSeq ($xetable, row, rowIndex, column, columnIndex, path) {
44
44
  const seqOpts = $xetable.seqOpts
45
45
  const seqMethod = seqOpts.seqMethod || column.seqMethod
46
- return seqMethod ? seqMethod({ row, rowIndex, column, columnIndex }) : (seqOpts.startIndex + rowIndex + 1)
46
+ if (seqMethod) {
47
+ return seqMethod({ row, rowIndex, column, columnIndex })
48
+ }
49
+ if (path) {
50
+ return toTreePathSeq(path)
51
+ }
52
+ return seqOpts.startIndex + rowIndex + 1
47
53
  }
48
54
 
49
55
  function defaultFilterExportColumn (column) {
@@ -73,10 +79,11 @@ function getLabelData ($xetable, opts, columns, datas) {
73
79
  if (treeConfig) {
74
80
  // 如果是树表格只允许导出数据源
75
81
  const rest = []
82
+ const expandMaps = new Map()
76
83
  XEUtils.eachTree(datas, (item, rowIndex, items, path, parent, nodes) => {
77
84
  const row = item._row || item
78
85
  const parentRow = parent && parent._row ? parent._row : parent
79
- if ((isAllExpand || !parentRow || $xetable.isTreeExpandByRow(parentRow))) {
86
+ if ((isAllExpand || !parentRow || (expandMaps.has(parentRow) && $xetable.isTreeExpandByRow(parentRow)))) {
80
87
  const hasRowChild = hasTreeChildren($xetable, row)
81
88
  const item = {
82
89
  _row: row,
@@ -99,7 +106,7 @@ function getLabelData ($xetable, opts, columns, datas) {
99
106
  } else {
100
107
  switch (column.type) {
101
108
  case 'seq':
102
- cellValue = getSeq($xetable, row, rowIndex, column, columnIndex)
109
+ cellValue = getSeq($xetable, row, rowIndex, column, columnIndex, path)
103
110
  break
104
111
  case 'checkbox':
105
112
  cellValue = toBooleanValue($xetable.isCheckedByCheckboxRow(row))
@@ -130,6 +137,7 @@ function getLabelData ($xetable, opts, columns, datas) {
130
137
  }
131
138
  item[column.id] = XEUtils.toValueString(cellValue)
132
139
  })
140
+ expandMaps.set(row, 1)
133
141
  rest.push(Object.assign(item, row))
134
142
  }
135
143
  }, treeOpts)
@@ -154,7 +162,7 @@ function getLabelData ($xetable, opts, columns, datas) {
154
162
  } else {
155
163
  switch (column.type) {
156
164
  case 'seq':
157
- cellValue = getSeq($xetable, row, rowIndex, column, columnIndex)
165
+ cellValue = getSeq($xetable, row, rowIndex, column, columnIndex, null)
158
166
  break
159
167
  case 'checkbox':
160
168
  cellValue = toBooleanValue($xetable.isCheckedByCheckboxRow(row))
@@ -227,6 +235,9 @@ function getFooterData (opts, footerTableData) {
227
235
 
228
236
  function getCsvCellTypeLabel (column, cellValue) {
229
237
  if (cellValue) {
238
+ if (column.type === 'seq') {
239
+ return `\t${cellValue}`
240
+ }
230
241
  switch (column.cellType) {
231
242
  case 'string':
232
243
  if (!isNaN(cellValue)) {
@@ -5,6 +5,25 @@ import VXETable from '../../v-x-e-table'
5
5
 
6
6
  export default {
7
7
  methods: {
8
+ /**
9
+ * 手动弹出筛选面板
10
+ * @param column
11
+ */
12
+ _openFilter (fieldOrColumn) {
13
+ const column = handleFieldOrColumn(this, fieldOrColumn)
14
+ if (column && column.filters) {
15
+ const { elemStore } = this
16
+ const { fixed } = column
17
+ return this.scrollToColumn(column).then(() => {
18
+ const headerWrapperElem = elemStore[`${fixed || 'main'}-header-wrapper`] || elemStore['main-header-wrapper']
19
+ if (headerWrapperElem) {
20
+ const filterBtnElem = headerWrapperElem.querySelector(`.vxe-header--column.${column.id} .vxe-filter--btn`)
21
+ DomTools.triggerEvent(filterBtnElem, 'click')
22
+ }
23
+ })
24
+ }
25
+ return this.$nextTick()
26
+ },
8
27
  /**
9
28
  * 修改筛选条件列表
10
29
  * @param {ColumnInfo} fieldOrColumn 列
@@ -85,7 +104,7 @@ export default {
85
104
  // 判断面板不能大于表格高度
86
105
  let maxHeight = null
87
106
  if (filterHeight >= bodyElem.clientHeight) {
88
- maxHeight = Math.max(40, bodyElem.clientHeight - (filterFootElem ? filterFootElem.offsetHeight : 0) - (filterHeadElem ? filterHeadElem.offsetHeight : 0))
107
+ maxHeight = Math.max(60, bodyElem.clientHeight - (filterFootElem ? filterFootElem.offsetHeight : 0) - (filterHeadElem ? filterHeadElem.offsetHeight : 0))
89
108
  }
90
109
  if (column.fixed === 'left') {
91
110
  left = targetElem.offsetLeft + targetElem.offsetParent.offsetLeft - centerWidth
@@ -670,7 +670,11 @@ export default {
670
670
  body.insertRecords = insertRecords.filter(row => pendingRecords.indexOf(row) === -1)
671
671
  }
672
672
  // 只校验新增和修改的数据
673
- return this.validate(body.insertRecords.concat(updateRecords)).then(() => {
673
+ return this.validate(body.insertRecords.concat(updateRecords)).then((errMap) => {
674
+ if (errMap) {
675
+ // 如果校验不通过
676
+ return
677
+ }
674
678
  if (body.insertRecords.length || removeRecords.length || updateRecords.length || body.pendingRecords.length) {
675
679
  this.tableLoading = true
676
680
  return Promise.resolve((beforeSave || ajaxMethods)(...applyArgs))
@@ -715,7 +719,7 @@ export default {
715
719
  VXETable.modal.message({ id: code, content: GlobalConfig.i18n('vxe.grid.dataUnchanged'), status: 'info' })
716
720
  }
717
721
  }
718
- }).catch(errMap => errMap)
722
+ })
719
723
  } else {
720
724
  if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
721
725
  UtilTools.error('vxe.error.notFunc', ['proxy-config.ajax.save'])
@@ -13,7 +13,7 @@ function getOptUniqueId () {
13
13
  }
14
14
 
15
15
  function getOptkey (_vm) {
16
- return _vm.optionId || '_XID'
16
+ return _vm.optionId || '_X_ID'
17
17
  }
18
18
 
19
19
  function getOptid (_vm, option) {