vxe-table 3.7.7-beta.3 → 3.7.7-beta.4

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 (69) hide show
  1. package/README.md +1 -1
  2. package/helper/vetur/attributes.json +0 -4
  3. package/helper/vetur/tags.json +1 -2
  4. package/lib/edit/src/mixin.js +24 -5
  5. package/lib/edit/src/mixin.min.js +1 -1
  6. package/lib/grid/src/grid.js +21 -61
  7. package/lib/grid/src/grid.min.js +1 -1
  8. package/lib/grid/style/style.css +0 -18
  9. package/lib/grid/style/style.min.css +1 -1
  10. package/lib/icon/style/style.css +1 -1
  11. package/lib/icon/style/style.min.css +1 -1
  12. package/lib/index.css +1 -1
  13. package/lib/index.umd.js +496 -310
  14. package/lib/index.umd.min.js +1 -1
  15. package/lib/pulldown/src/pulldown.js +19 -6
  16. package/lib/pulldown/src/pulldown.min.js +1 -1
  17. package/lib/pulldown/style/style.css +2 -2
  18. package/lib/pulldown/style/style.min.css +1 -1
  19. package/lib/select/src/select.js +69 -48
  20. package/lib/select/src/select.min.js +1 -1
  21. package/lib/select/style/style.css +23 -6
  22. package/lib/select/style/style.min.css +1 -1
  23. package/lib/style.css +1 -1
  24. package/lib/style.min.css +1 -1
  25. package/lib/table/src/body.js +19 -14
  26. package/lib/table/src/body.min.js +1 -1
  27. package/lib/table/src/methods.js +217 -130
  28. package/lib/table/src/methods.min.js +1 -1
  29. package/lib/table/src/table.js +10 -8
  30. package/lib/table/src/table.min.js +1 -1
  31. package/lib/table/style/style.css +72 -23
  32. package/lib/table/style/style.min.css +1 -1
  33. package/lib/textarea/src/textarea.js +1 -1
  34. package/lib/textarea/src/textarea.min.js +1 -1
  35. package/lib/tools/log.js +1 -1
  36. package/lib/tools/log.min.js +1 -1
  37. package/lib/tooltip/src/tooltip.js +1 -1
  38. package/lib/tooltip/src/tooltip.min.js +1 -1
  39. package/lib/v-x-e-table/index.js +1 -1
  40. package/lib/v-x-e-table/index.min.js +1 -1
  41. package/lib/v-x-e-table/src/conf.js +1 -1
  42. package/lib/v-x-e-table/src/conf.min.js +1 -1
  43. package/lib/validator/src/mixin.js +111 -33
  44. package/lib/validator/src/mixin.min.js +1 -1
  45. package/package.json +1 -1
  46. package/packages/edit/src/mixin.js +24 -5
  47. package/packages/grid/src/grid.js +16 -45
  48. package/packages/pulldown/src/pulldown.js +18 -6
  49. package/packages/select/src/select.js +33 -12
  50. package/packages/table/src/body.js +20 -15
  51. package/packages/table/src/methods.js +106 -23
  52. package/packages/table/src/table.js +10 -7
  53. package/packages/textarea/src/textarea.js +1 -1
  54. package/packages/tooltip/src/tooltip.js +1 -1
  55. package/packages/v-x-e-table/src/conf.js +1 -1
  56. package/packages/validator/src/mixin.js +105 -35
  57. package/styles/grid.scss +0 -20
  58. package/styles/pulldown.scss +2 -2
  59. package/styles/select.scss +23 -6
  60. package/styles/table.scss +95 -23
  61. package/types/grid.d.ts +1 -1
  62. package/types/table.d.ts +22 -0
  63. package/types/v-x-e-table/renderer.d.ts +1 -1
  64. /package/lib/icon/style/{iconfont.1701045072322.ttf → iconfont.1703431233417.ttf} +0 -0
  65. /package/lib/icon/style/{iconfont.1701045072322.woff → iconfont.1703431233417.woff} +0 -0
  66. /package/lib/icon/style/{iconfont.1701045072322.woff2 → iconfont.1703431233417.woff2} +0 -0
  67. /package/lib/{iconfont.1701045072322.ttf → iconfont.1703431233417.ttf} +0 -0
  68. /package/lib/{iconfont.1701045072322.woff → iconfont.1703431233417.woff} +0 -0
  69. /package/lib/{iconfont.1701045072322.woff2 → iconfont.1703431233417.woff2} +0 -0
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _exportNames={use:!0,globalConfs:!0,t:!0,_t:!0,v:!0,setup:!0,globalStore:!0,VXETable:!0},_xeUtils=(exports.VXETable=void 0,exports._t=_t,exports.setup=exports.globalStore=exports.globalConfs=exports.default=void 0,exports.t=t,exports.use=use,exports.v=void 0,_interopRequireDefault(require("xe-utils"))),_conf=_interopRequireDefault(require("../v-x-e-table/src/conf")),_interceptor=require("./src/interceptor"),_renderer=(Object.keys(_interceptor).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_interceptor[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _interceptor[e]}})}),require("./src/renderer")),_commands=(Object.keys(_renderer).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_renderer[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _renderer[e]}})}),require("./src/commands")),_menus=(Object.keys(_commands).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_commands[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _commands[e]}})}),require("./src/menus")),_formats=(Object.keys(_menus).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_menus[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _menus[e]}})}),require("./src/formats")),_validators=(Object.keys(_formats).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_formats[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _formats[e]}})}),require("./src/validators")),_config=require("./src/config"),_utils=(Object.keys(_config).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_config[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _config[e]}})}),require("../tools/utils")),_log=require("../tools/log");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 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),Object.defineProperty(e,"prototype",{writable:!1}),e}var installedPlugins=[];function use(e,t){return e&&e.install&&-1===installedPlugins.indexOf(e)&&(e.install(VXETable,t),installedPlugins.push(e)),VXETable}function reg(e){"development"===process.env.NODE_ENV&&VXETable.Table&&(0,_log.errLog)("vxe.error.useErr",[e]),VXETable["_".concat(e)]=1}function getExportOrImpotType(e,r){var o=[];return _xeUtils.default.objectEach(e,function(e,t){0!==e&&e!==r||o.push(t)}),o}var VXETableConfig=function(){function e(){_classCallCheck(this,e)}return _createClass(e,[{key:"zIndex",get:function(){return _utils.UtilTools.getLastZIndex()}},{key:"nextZIndex",get:function(){return _utils.UtilTools.nextZIndex()}},{key:"exportTypes",get:function(){return getExportOrImpotType(_conf.default.export.types,1)}},{key:"importTypes",get:function(){return getExportOrImpotType(_conf.default.export.types,2)}}]),e}(),globalConfs=new VXETableConfig;function t(e,t){return _conf.default.i18n(e,t)}function _t(e,t){return e?_xeUtils.default.toValueString(_conf.default.translate?_conf.default.translate(e,t):e):""}exports.globalConfs=globalConfs;var v="v3",setup=(exports.v=v,_config.config),globalStore=(exports.setup=setup,{}),VXETable=(exports.globalStore=globalStore,{v:v,version:"3.7.7-beta.3",reg:reg,use:use,setup:setup,globalStore:globalStore,interceptor:_interceptor.interceptor,renderer:_renderer.renderer,commands:_commands.commands,formats:_formats.formats,menus:_menus.menus,validators:_validators.validators,t:t,_t:_t,config:_config.config,globalConfs:globalConfs}),_default=exports.VXETable=VXETable;exports.default=_default;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _exportNames={use:!0,globalConfs:!0,t:!0,_t:!0,v:!0,setup:!0,globalStore:!0,VXETable:!0},_xeUtils=(exports.VXETable=void 0,exports._t=_t,exports.setup=exports.globalStore=exports.globalConfs=exports.default=void 0,exports.t=t,exports.use=use,exports.v=void 0,_interopRequireDefault(require("xe-utils"))),_conf=_interopRequireDefault(require("../v-x-e-table/src/conf")),_interceptor=require("./src/interceptor"),_renderer=(Object.keys(_interceptor).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_interceptor[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _interceptor[e]}})}),require("./src/renderer")),_commands=(Object.keys(_renderer).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_renderer[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _renderer[e]}})}),require("./src/commands")),_menus=(Object.keys(_commands).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_commands[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _commands[e]}})}),require("./src/menus")),_formats=(Object.keys(_menus).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_menus[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _menus[e]}})}),require("./src/formats")),_validators=(Object.keys(_formats).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_formats[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _formats[e]}})}),require("./src/validators")),_config=require("./src/config"),_utils=(Object.keys(_config).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_config[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _config[e]}})}),require("../tools/utils")),_log=require("../tools/log");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 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),Object.defineProperty(e,"prototype",{writable:!1}),e}var installedPlugins=[];function use(e,t){return e&&e.install&&-1===installedPlugins.indexOf(e)&&(e.install(VXETable,t),installedPlugins.push(e)),VXETable}function reg(e){"development"===process.env.NODE_ENV&&VXETable.Table&&(0,_log.errLog)("vxe.error.useErr",[e]),VXETable["_".concat(e)]=1}function getExportOrImpotType(e,r){var o=[];return _xeUtils.default.objectEach(e,function(e,t){0!==e&&e!==r||o.push(t)}),o}var VXETableConfig=function(){function e(){_classCallCheck(this,e)}return _createClass(e,[{key:"zIndex",get:function(){return _utils.UtilTools.getLastZIndex()}},{key:"nextZIndex",get:function(){return _utils.UtilTools.nextZIndex()}},{key:"exportTypes",get:function(){return getExportOrImpotType(_conf.default.export.types,1)}},{key:"importTypes",get:function(){return getExportOrImpotType(_conf.default.export.types,2)}}]),e}(),globalConfs=new VXETableConfig;function t(e,t){return _conf.default.i18n(e,t)}function _t(e,t){return e?_xeUtils.default.toValueString(_conf.default.translate?_conf.default.translate(e,t):e):""}exports.globalConfs=globalConfs;var v="v3",setup=(exports.v=v,_config.config),globalStore=(exports.setup=setup,{}),VXETable=(exports.globalStore=globalStore,{v:v,version:"3.7.7-beta.4",reg:reg,use:use,setup:setup,globalStore:globalStore,interceptor:_interceptor.interceptor,renderer:_renderer.renderer,commands:_commands.commands,formats:_formats.formats,menus:_menus.menus,validators:_validators.validators,t:t,_t:_t,config:_config.config,globalConfs:globalConfs}),_default=exports.VXETable=VXETable;exports.default=_default;
@@ -20,7 +20,7 @@ var _default = {
20
20
  showHeader: true,
21
21
  animat: true,
22
22
  delayHover: 250,
23
- autoResize: false,
23
+ autoResize: true,
24
24
  minHeight: 144,
25
25
  // keepSource: false,
26
26
  // showOverflow: null,
@@ -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,autoResize:!1,minHeight:144,resizeConfig:{refreshDelay:250},radioConfig:{strict:!0},checkboxConfig:{strict:!0},tooltipConfig:{enterable:!0},validConfig:{showMessage:!0,autoClear:!0,message:"inline",msgMode:"single"},columnConfig:{maxFixedSize:4},sortConfig:{showIcon:!0},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:{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:{gt:60},scrollY:{gt:100}},export:{types:{}},icon:{LOADING:iconPrefix+"spinner roll vxe-loading--default-icon",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_HELP: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",TABLE_CHECKBOX_UNCHECKED:iconPrefix+"checkbox-unchecked",TABLE_CHECKBOX_INDETERMINATE:iconPrefix+"checkbox-indeterminate",TABLE_RADIO_CHECKED:iconPrefix+"radio-checked",TABLE_RADIO_UNCHECKED:iconPrefix+"radio-unchecked",BUTTON_DROPDOWN:iconPrefix+"arrow-down",BUTTON_LOADING:iconPrefix+"spinner roll",SELECT_LOADED:iconPrefix+"spinner roll",SELECT_OPEN:iconPrefix+"caret-down rotate180",SELECT_CLOSE:iconPrefix+"caret-down",PAGER_JUMP_PREV:iconPrefix+"arrow-double-left",PAGER_JUMP_NEXT:iconPrefix+"arrow-double-right",PAGER_PREV_PAGE:iconPrefix+"arrow-left",PAGER_NEXT_PAGE:iconPrefix+"arrow-right",PAGER_JUMP_MORE:iconPrefix+"ellipsis-h",INPUT_CLEAR:iconPrefix+"error-circle-fill",INPUT_PWD:iconPrefix+"eye-fill",INPUT_SHOW_PWD:iconPrefix+"eye-fill-close",INPUT_PREV_NUM:iconPrefix+"caret-up",INPUT_NEXT_NUM:iconPrefix+"caret-down",INPUT_DATE:iconPrefix+"calendar",INPUT_SEARCH:iconPrefix+"search",MODAL_ZOOM_IN:iconPrefix+"square",MODAL_ZOOM_OUT:iconPrefix+"maximize",MODAL_CLOSE:iconPrefix+"close",MODAL_INFO:iconPrefix+"info-circle-fill",MODAL_SUCCESS:iconPrefix+"success-circle-fill",MODAL_WARNING:iconPrefix+"warnion-circle-fill",MODAL_ERROR:iconPrefix+"error-circle-fill",MODAL_QUESTION:iconPrefix+"question-circle-fill",MODAL_LOADING:iconPrefix+"spinner roll",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_ACTIVED:iconPrefix+"fixed-left-fill",TOOLBAR_TOOLS_FIXED_RIGHT:iconPrefix+"fixed-right",TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVED:iconPrefix+"fixed-right-fill",FORM_PREFIX:iconPrefix+"question-circle-fill",FORM_SUFFIX:iconPrefix+"question-circle-fill",FORM_FOLDING:iconPrefix+"arrow-up rotate180",FORM_UNFOLDING:iconPrefix+"arrow-up"},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",enterDelay:500,leaveDelay:300},pager:{},form:{validConfig:{showMessage:!0,autoPos:!0},tooltipConfig:{enterable:!0},titleAsterisk:!0},input:{startDate:new Date(1900,0,1),endDate:new Date(2100,0,1),startDay:1,selectDay:1,digits:2,controls:!0},textarea:{},select:{multiCharOverflow:8},toolbar:{custom:{allowFixed:!0,showFooter:!0}},button:{},radio:{strict:!0},radioButton:{strict:!0},radioGroup:{strict:!0},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,minHeight:144,resizeConfig:{refreshDelay:250},radioConfig:{strict:!0},checkboxConfig:{strict:!0},tooltipConfig:{enterable:!0},validConfig:{showMessage:!0,autoClear:!0,message:"inline",msgMode:"single"},columnConfig:{maxFixedSize:4},sortConfig:{showIcon:!0},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:{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:{gt:60},scrollY:{gt:100}},export:{types:{}},icon:{LOADING:iconPrefix+"spinner roll vxe-loading--default-icon",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_HELP: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",TABLE_CHECKBOX_UNCHECKED:iconPrefix+"checkbox-unchecked",TABLE_CHECKBOX_INDETERMINATE:iconPrefix+"checkbox-indeterminate",TABLE_RADIO_CHECKED:iconPrefix+"radio-checked",TABLE_RADIO_UNCHECKED:iconPrefix+"radio-unchecked",BUTTON_DROPDOWN:iconPrefix+"arrow-down",BUTTON_LOADING:iconPrefix+"spinner roll",SELECT_LOADED:iconPrefix+"spinner roll",SELECT_OPEN:iconPrefix+"caret-down rotate180",SELECT_CLOSE:iconPrefix+"caret-down",PAGER_JUMP_PREV:iconPrefix+"arrow-double-left",PAGER_JUMP_NEXT:iconPrefix+"arrow-double-right",PAGER_PREV_PAGE:iconPrefix+"arrow-left",PAGER_NEXT_PAGE:iconPrefix+"arrow-right",PAGER_JUMP_MORE:iconPrefix+"ellipsis-h",INPUT_CLEAR:iconPrefix+"error-circle-fill",INPUT_PWD:iconPrefix+"eye-fill",INPUT_SHOW_PWD:iconPrefix+"eye-fill-close",INPUT_PREV_NUM:iconPrefix+"caret-up",INPUT_NEXT_NUM:iconPrefix+"caret-down",INPUT_DATE:iconPrefix+"calendar",INPUT_SEARCH:iconPrefix+"search",MODAL_ZOOM_IN:iconPrefix+"square",MODAL_ZOOM_OUT:iconPrefix+"maximize",MODAL_CLOSE:iconPrefix+"close",MODAL_INFO:iconPrefix+"info-circle-fill",MODAL_SUCCESS:iconPrefix+"success-circle-fill",MODAL_WARNING:iconPrefix+"warnion-circle-fill",MODAL_ERROR:iconPrefix+"error-circle-fill",MODAL_QUESTION:iconPrefix+"question-circle-fill",MODAL_LOADING:iconPrefix+"spinner roll",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_ACTIVED:iconPrefix+"fixed-left-fill",TOOLBAR_TOOLS_FIXED_RIGHT:iconPrefix+"fixed-right",TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVED:iconPrefix+"fixed-right-fill",FORM_PREFIX:iconPrefix+"question-circle-fill",FORM_SUFFIX:iconPrefix+"question-circle-fill",FORM_FOLDING:iconPrefix+"arrow-up rotate180",FORM_UNFOLDING:iconPrefix+"arrow-up"},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",enterDelay:500,leaveDelay:300},pager:{},form:{validConfig:{showMessage:!0,autoPos:!0},tooltipConfig:{enterable:!0},titleAsterisk:!0},input:{startDate:new Date(1900,0,1),endDate:new Date(2100,0,1),startDay:1,selectDay:1,digits:2,controls:!0},textarea:{},select:{multiCharOverflow:8},toolbar:{custom:{allowFixed:!0,showFooter:!0}},button:{},radio:{strict:!0},radioButton:{strict:!0},radioGroup:{strict:!0},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;
@@ -7,10 +7,12 @@ exports.default = void 0;
7
7
  var _xeUtils = _interopRequireDefault(require("xe-utils"));
8
8
  var _vXETable = _interopRequireDefault(require("../../v-x-e-table"));
9
9
  var _conf = _interopRequireDefault(require("../../v-x-e-table/src/conf"));
10
+ var _util = require("../../table/src/util");
10
11
  var _utils = require("../../tools/utils");
11
12
  var _log = require("../../tools/log");
12
13
  var _dom = _interopRequireDefault(require("../../tools/dom"));
13
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
14
16
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
15
17
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
16
18
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
@@ -104,8 +106,9 @@ var _default = {
104
106
  */
105
107
  handleValidError: function handleValidError(params) {
106
108
  var _this = this;
109
+ var validOpts = this.validOpts;
107
110
  return new Promise(function (resolve) {
108
- if (_this.validOpts.autoPos === false) {
111
+ if (validOpts.autoPos === false) {
109
112
  _this.emitEvent('valid-error', params);
110
113
  resolve();
111
114
  } else {
@@ -120,6 +123,19 @@ var _default = {
120
123
  }
121
124
  });
122
125
  },
126
+ handleErrMsgMode: function handleErrMsgMode(validErrMaps) {
127
+ var validOpts = this.validOpts;
128
+ if (validOpts.msgMode === 'single') {
129
+ var keys = Object.keys(validErrMaps);
130
+ var resMaps = validErrMaps;
131
+ if (keys.length) {
132
+ var firstKey = keys[0];
133
+ resMaps[firstKey] = validErrMaps[firstKey];
134
+ }
135
+ return resMaps;
136
+ }
137
+ return validErrMaps;
138
+ },
123
139
  /**
124
140
  * 对表格数据进行校验
125
141
  * 如果不指定数据,则默认只校验临时变动的数据,例如新增或修改
@@ -134,6 +150,7 @@ var _default = {
134
150
  var validRest = {};
135
151
  var editRules = this.editRules,
136
152
  afterFullData = this.afterFullData,
153
+ visibleColumn = this.visibleColumn,
137
154
  treeConfig = this.treeConfig,
138
155
  treeOpts = this.treeOpts;
139
156
  var childrenField = treeOpts.children || treeOpts.childrenField;
@@ -154,6 +171,7 @@ var _default = {
154
171
  this.lastCallTime = Date.now();
155
172
  this.validRuleErr = false; // 如果为快速校验,当存在某列校验不通过时将终止执行
156
173
  this.clearValidate();
174
+ var validErrMaps = {};
157
175
  if (editRules) {
158
176
  var columns = this.getColumns();
159
177
  var handleVaild = function handleVaild(row) {
@@ -177,6 +195,12 @@ var _default = {
177
195
  if (!validRest[column.property]) {
178
196
  validRest[column.property] = [];
179
197
  }
198
+ validErrMaps["".concat((0, _util.getRowid)(_this2, row), ":").concat(column.id)] = {
199
+ column: column,
200
+ row: row,
201
+ rule: rule,
202
+ content: rule.content
203
+ };
180
204
  validRest[column.property].push(rest);
181
205
  if (!isFull) {
182
206
  _this2.validRuleErr = true;
@@ -197,6 +221,7 @@ var _default = {
197
221
  }
198
222
  return Promise.all(rowValids).then(function () {
199
223
  var ruleProps = Object.keys(validRest);
224
+ _this2.validErrorMaps = _this2.handleErrMsgMode(validErrMaps);
200
225
  return _this2.$nextTick().then(function () {
201
226
  if (ruleProps.length) {
202
227
  return Promise.reject(validRest[ruleProps[0]][0]);
@@ -232,20 +257,21 @@ var _default = {
232
257
  * 将表格滚动到可视区
233
258
  * 由于提示信息至少需要占一行,定位向上偏移一行
234
259
  */
235
- var row = firstErrParams.row;
236
- var rowIndex = afterFullData.indexOf(row);
237
- var locatRow = rowIndex > 0 ? afterFullData[rowIndex - 1] : row;
238
260
  if (_this2.validOpts.autoPos === false) {
239
261
  finish();
240
262
  } else {
241
- if (treeConfig) {
242
- _this2.scrollToTreeRow(locatRow).then(posAndFinish);
243
- } else {
244
- _this2.scrollToRow(locatRow).then(posAndFinish);
245
- }
263
+ var row = firstErrParams.row;
264
+ var column = firstErrParams.column;
265
+ var rowIndex = afterFullData.indexOf(row);
266
+ var columnIndex = visibleColumn.indexOf(column);
267
+ var locatRow = rowIndex > 0 ? afterFullData[rowIndex - 1] : row;
268
+ var locatColumn = columnIndex > 0 ? visibleColumn[rowIndex - 1] : column;
269
+ _this2.scrollToRow(locatRow, locatColumn).then(posAndFinish);
246
270
  }
247
271
  });
248
272
  });
273
+ } else {
274
+ this.validErrorMaps = {};
249
275
  }
250
276
  return this.$nextTick().then(function () {
251
277
  if (cb) {
@@ -377,41 +403,82 @@ var _default = {
377
403
  }
378
404
  });
379
405
  },
380
- _clearValidate: function _clearValidate() {
406
+ _clearValidate: function _clearValidate(rows, fieldOrColumn) {
407
+ var _this4 = this;
408
+ var validOpts = this.validOpts,
409
+ validErrorMaps = this.validErrorMaps;
381
410
  var validTip = this.$refs.validTip;
382
- Object.assign(this.validStore, {
383
- visible: false,
384
- row: null,
385
- column: null,
386
- content: '',
387
- rule: null
411
+ var rowList = _xeUtils.default.isArray(rows) ? rows : rows ? [rows] : [];
412
+ var colList = _xeUtils.default.isArray(fieldOrColumn) ? fieldOrColumn : (fieldOrColumn ? [fieldOrColumn] : []).map(function (column) {
413
+ return (0, _util.handleFieldOrColumn)(_this4, column);
388
414
  });
389
- if (validTip && validTip.visible) {
415
+ var validErrMaps = {};
416
+ if (validTip && validTip.reactData.visible) {
390
417
  validTip.close();
391
418
  }
419
+ // 如果是单个提示模式
420
+ if (validOpts.msgMode === 'single') {
421
+ this.validErrorMaps = {};
422
+ return this.$nextTick();
423
+ }
424
+ if (rowList.length && colList.length) {
425
+ validErrMaps = Object.assign({}, validErrorMaps);
426
+ rowList.forEach(function (row) {
427
+ colList.forEach(function (column) {
428
+ var vaildKey = "".concat((0, _util.getRowid)(_this4, row), ":").concat(column.id);
429
+ if (validErrMaps[vaildKey]) {
430
+ delete validErrMaps[vaildKey];
431
+ }
432
+ });
433
+ });
434
+ } else if (rowList.length) {
435
+ var rowidList = rowList.map(function (row) {
436
+ return "".concat((0, _util.getRowid)(_this4, row));
437
+ });
438
+ _xeUtils.default.each(validErrorMaps, function (item, key) {
439
+ if (rowidList.indexOf(key.split(':')[0]) > -1) {
440
+ validErrMaps[key] = item;
441
+ }
442
+ });
443
+ } else if (colList.length) {
444
+ var colidList = colList.map(function (column) {
445
+ return "".concat(column.id);
446
+ });
447
+ _xeUtils.default.each(validErrorMaps, function (item, key) {
448
+ if (colidList.indexOf(key.split(':')[1]) > -1) {
449
+ validErrMaps[key] = item;
450
+ }
451
+ });
452
+ }
453
+ this.validErrorMaps = validErrMaps;
392
454
  return this.$nextTick();
393
455
  },
394
456
  /**
395
457
  * 触发校验
396
458
  */
397
459
  triggerValidate: function triggerValidate(type) {
398
- var _this4 = this;
460
+ var _this5 = this;
399
461
  var editConfig = this.editConfig,
400
462
  editStore = this.editStore,
401
463
  editRules = this.editRules,
402
- validStore = this.validStore;
464
+ editOpts = this.editOpts,
465
+ validOpts = this.validOpts;
403
466
  var actived = editStore.actived;
404
- if (actived.row && editRules) {
467
+ // 检查清除校验消息
468
+ if (editRules && validOpts.msgMode === 'single') {
469
+ this.validErrorMaps = {};
470
+ }
471
+
472
+ // 校验单元格
473
+ if (editConfig && editRules && actived.row) {
405
474
  var _actived$args = actived.args,
406
475
  row = _actived$args.row,
407
476
  column = _actived$args.column,
408
477
  cell = _actived$args.cell;
409
478
  if (this.hasCellRules(type, row, column)) {
410
479
  return this.validCellRules(type, row, column).then(function () {
411
- if (editConfig.mode === 'row') {
412
- if (validStore.visible && validStore.row === row && validStore.column === column) {
413
- _this4.clearValidate();
414
- }
480
+ if (editOpts.mode === 'row') {
481
+ _this5.clearValidate(row, column);
415
482
  }
416
483
  }).catch(function (_ref2) {
417
484
  var rule = _ref2.rule;
@@ -423,7 +490,7 @@ var _default = {
423
490
  column: column,
424
491
  cell: cell
425
492
  };
426
- _this4.showValidTooltip(rest);
493
+ _this5.showValidTooltip(rest);
427
494
  return Promise.reject(rest);
428
495
  }
429
496
  return Promise.resolve();
@@ -436,9 +503,10 @@ var _default = {
436
503
  * 弹出校验错误提示
437
504
  */
438
505
  showValidTooltip: function showValidTooltip(params) {
439
- var _this5 = this;
440
506
  var $refs = this.$refs,
441
507
  height = this.height,
508
+ validStore = this.validStore,
509
+ validErrorMaps = this.validErrorMaps,
442
510
  tableData = this.tableData,
443
511
  validOpts = this.validOpts;
444
512
  var rule = params.rule,
@@ -447,19 +515,29 @@ var _default = {
447
515
  cell = params.cell;
448
516
  var validTip = $refs.validTip;
449
517
  var content = rule.content;
450
- return this.$nextTick(function () {
451
- Object.assign(_this5.validStore, {
452
- row: row,
518
+ validStore.visible = true;
519
+ if (validOpts.msgMode === 'single') {
520
+ this.validErrorMaps = _defineProperty({}, "".concat((0, _util.getRowid)(this, row), ":").concat(column.id), {
453
521
  column: column,
522
+ row: row,
454
523
  rule: rule,
455
- content: content,
456
- visible: true
524
+ content: content
457
525
  });
458
- _this5.emitEvent('valid-error', params);
526
+ } else {
527
+ this.validErrorMaps = Object.assign({}, validErrorMaps, _defineProperty({}, "".concat((0, _util.getRowid)(this, row), ":").concat(column.id), {
528
+ column: column,
529
+ row: row,
530
+ rule: rule,
531
+ content: content
532
+ }));
533
+ }
534
+ this.emitEvent('valid-error', params, null);
535
+ if (validTip) {
459
536
  if (validTip && (validOpts.message === 'tooltip' || validOpts.message === 'default' && !height && tableData.length < 2)) {
460
537
  return validTip.open(cell, content);
461
538
  }
462
- });
539
+ }
540
+ return this.$nextTick();
463
541
  }
464
542
  }
465
543
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_vXETable=_interopRequireDefault(require("../../v-x-e-table")),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_utils=require("../../tools/utils"),_log=require("../../tools/log"),_dom=_interopRequireDefault(require("../../tools/dom"));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),Object.defineProperty(e,"prototype",{writable:!1}),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(0,_utils.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,e=e.pattern,r="number"===r,n=r?_xeUtils.default.toNumber(t):_xeUtils.default.getSize(t);return!(!r||!isNaN(t))||!_xeUtils.default.eqNull(l)&&n<_xeUtils.default.toNumber(l)||!_xeUtils.default.eqNull(i)&&n>_xeUtils.default.toNumber(i)||!(!e||(_xeUtils.default.isRegExp(e)?e:new RegExp(e)).test(t))}var _default={methods:{_fullValidate:function(e,t){return"development"===process.env.NODE_ENV&&_xeUtils.default.isFunction(t)&&(0,_log.warnLog)("vxe.error.notValidators",["fullValidate(rows, callback)","fullValidate(rows)"]),this.beginValidate(e,t,!0)},_validate:function(e,t){return"development"===process.env.NODE_ENV&&_xeUtils.default.isFunction(t)&&(0,_log.warnLog)("vxe.error.notValidators",["validate(rows, callback)","validate(rows)"]),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,a,l){var t,i,u=this,s={},n=this.editRules,c=this.afterFullData,d=this.treeConfig,r=this.treeOpts,r=r.children||r.childrenField,o=(!0===e?t=c:e&&(_xeUtils.default.isFunction(e)?a=e:t=_xeUtils.default.isArray(e)?e:[e]),t=t||this.getInsertRecords().concat(this.getUpdateRecords()),[]);return this.lastCallTime=Date.now(),this.validRuleErr=!1,this.clearValidate(),n?(i=this.getColumns(),e=function(r){var e;!l&&u.validRuleErr||(e=[],i.forEach(function(t){!l&&u.validRuleErr||!_xeUtils.default.has(n,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,field:t.property,$table:u};if(s[t.property]||(s[t.property]=[]),s[t.property].push(e),!l)return u.validRuleErr=!0,Promise.reject(e)}))}),o.push(Promise.all(e)))},d?_xeUtils.default.eachTree(t,e,{children:r}):t.forEach(e),Promise.all(o).then(function(){var e=Object.keys(s);return u.$nextTick().then(function(){if(e.length)return Promise.reject(s[e[0]][0]);a&&a()})}).catch(function(o){return new Promise(function(e,t){function r(){u.$nextTick(function(){a?(a(s),e()):("obsolete"===_conf.default.validToReject?t:e)(s)})}function l(){o.cell=u.getCell(o.row,o.column),_dom.default.scrollToView(o.cell),u.handleValidError(o).then(r)}var i=o.row,n=c.indexOf(i),n=0<n?c[n-1]:i;!1===u.validOpts.autoPos?r():(d?u.scrollToTreeRow(n):u.scrollToRow(n)).then(l)})})):this.$nextTick().then(function(){a&&a()})},hasCellRules:function(t,e,r){var l=this.editRules,r=r.property;return!(!r||!l)&&(l=_xeUtils.default.get(l,r))&&_xeUtils.default.find(l,function(e){return"all"===t||!e.trigger||t===e.trigger})},validCellRules:function(u,s,c,e){var d,f,h=this,t=this.editRules,r=c.property,v=[],p=[];return r&&t&&(d=_xeUtils.default.get(t,r))&&(f=_xeUtils.default.isUndefined(e)?_xeUtils.default.get(s,r):e,d.forEach(function(t){var e,r,l,i=t.type,n=t.trigger,o=t.required,a=t.validator;"all"!==u&&n&&u!==n||(a?(l={cellValue:f,rule:t,rules:d,row:s,rowIndex:h.getRowIndex(s),column:c,columnIndex:h.getColumnIndex(c),field:c.property,$table:h},_xeUtils.default.isString(a)?(r=_vXETable.default.validators.get(a))?r.cellValidatorMethod?e=r.cellValidatorMethod(l):"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.notValidators",[a]):"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notValidators",[a]):e=a(l),e&&(_xeUtils.default.isError(e)?(h.validRuleErr=!0,v.push(new Rule({type:"custom",trigger:n,content:e.message,rule:new Rule(t)}))):e.catch&&p.push(e.catch(function(e){h.validRuleErr=!0,v.push(new Rule({type:"custom",trigger:n,content:e&&e.message?e.message:t.content||t.message,rule:new Rule(t)}))})))):(r="array"===i,a=_xeUtils.default.isArray(f),l=!0,l=r||a?!a||!f.length:_xeUtils.default.isString(f)?(0,_utils.eqEmptyValue)(f.trim()):(0,_utils.eqEmptyValue)(f),(o?l||validErrorRuleValue(t,f):!l&&validErrorRuleValue(t,f))&&(h.validRuleErr=!0,v.push(new Rule(t)))))})),Promise.all(p).then(function(){if(v.length)return Promise.reject({rules:v,rule:v[0]})})},_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 i=l.args,o=i.row,a=i.column,u=i.cell;if(this.hasCellRules(t,o,a))return this.validCellRules(t,o,a).then(function(){"row"===e.mode&&n.visible&&n.row===o&&n.column===a&&r.clearValidate()}).catch(function(e){var e=e.rule;return e.trigger&&t!==e.trigger?Promise.resolve():(r.showValidTooltip(e={rule:e,row:o,column:a,cell:u}),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,a=e.row,u=e.column,s=e.cell,c=r.validTip,d=o.content;return this.$nextTick(function(){if(Object.assign(t.validStore,{row:a,column:u,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;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_vXETable=_interopRequireDefault(require("../../v-x-e-table")),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_util=require("../../table/src/util"),_utils=require("../../tools/utils"),_log=require("../../tools/log"),_dom=_interopRequireDefault(require("../../tools/dom"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _defineProperty(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,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),Object.defineProperty(e,"prototype",{writable:!1}),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(0,_utils.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,e=e.pattern,r="number"===r,n=r?_xeUtils.default.toNumber(t):_xeUtils.default.getSize(t);return!(!r||!isNaN(t))||!_xeUtils.default.eqNull(i)&&n<_xeUtils.default.toNumber(i)||!_xeUtils.default.eqNull(l)&&n>_xeUtils.default.toNumber(l)||!(!e||(_xeUtils.default.isRegExp(e)?e:new RegExp(e)).test(t))}var _default={methods:{_fullValidate:function(e,t){return"development"===process.env.NODE_ENV&&_xeUtils.default.isFunction(t)&&(0,_log.warnLog)("vxe.error.notValidators",["fullValidate(rows, callback)","fullValidate(rows)"]),this.beginValidate(e,t,!0)},_validate:function(e,t){return"development"===process.env.NODE_ENV&&_xeUtils.default.isFunction(t)&&(0,_log.warnLog)("vxe.error.notValidators",["validate(rows, callback)","validate(rows)"]),this.beginValidate(e,t)},handleValidError:function(t){var r=this,i=this.validOpts;return new Promise(function(e){!1===i.autoPos?(r.emitEvent("valid-error",t),e()):r.handleActived(t,{type:"valid-error",trigger:"call"}).then(function(){setTimeout(function(){e(r.showValidTooltip(t))},10)})})},handleErrMsgMode:function(e){var t,r;return"single"===this.validOpts.msgMode?(t=e,(r=Object.keys(e)).length&&(t[r=r[0]]=e[r]),t):e},beginValidate:function(e,s,l){var t,r,u=this,c={},n=this.editRules,d=this.afterFullData,f=this.visibleColumn,i=this.treeConfig,o=this.treeOpts,o=o.children||o.childrenField,a=(!0===e?t=d:e&&(_xeUtils.default.isFunction(e)?s=e:t=_xeUtils.default.isArray(e)?e:[e]),t=t||this.getInsertRecords().concat(this.getUpdateRecords()),[]),h=(this.lastCallTime=Date.now(),this.validRuleErr=!1,this.clearValidate(),{});return n?(r=this.getColumns(),e=function(i){var e;!l&&u.validRuleErr||(e=[],r.forEach(function(r){!l&&u.validRuleErr||!_xeUtils.default.has(n,r.property)||e.push(u.validCellRules("all",i,r).catch(function(e){var t=e.rule,e={rule:t,rules:e.rules,rowIndex:u.getRowIndex(i),row:i,columnIndex:u.getColumnIndex(r),column:r,field:r.property,$table:u};if(c[r.property]||(c[r.property]=[]),h["".concat((0,_util.getRowid)(u,i),":").concat(r.id)]={column:r,row:i,rule:t,content:t.content},c[r.property].push(e),!l)return u.validRuleErr=!0,Promise.reject(e)}))}),a.push(Promise.all(e)))},i?_xeUtils.default.eachTree(t,e,{children:o}):t.forEach(e),Promise.all(a).then(function(){var e=Object.keys(c);return u.validErrorMaps=u.handleErrMsgMode(h),u.$nextTick().then(function(){if(e.length)return Promise.reject(c[e[0]][0]);s&&s()})}).catch(function(a){return new Promise(function(e,t){function r(){u.$nextTick(function(){s?(s(c),e()):("obsolete"===_conf.default.validToReject?t:e)(c)})}var i,l,n,o;!1===u.validOpts.autoPos?r():(n=a.row,i=a.column,l=d.indexOf(n),o=f.indexOf(i),n=0<l?d[l-1]:n,o=0<o?f[l-1]:i,u.scrollToRow(n,o).then(function(){a.cell=u.getCell(a.row,a.column),_dom.default.scrollToView(a.cell),u.handleValidError(a).then(r)}))})})):(this.validErrorMaps={},this.$nextTick().then(function(){s&&s()}))},hasCellRules:function(t,e,r){var i=this.editRules,r=r.property;return!(!r||!i)&&(i=_xeUtils.default.get(i,r))&&_xeUtils.default.find(i,function(e){return"all"===t||!e.trigger||t===e.trigger})},validCellRules:function(s,u,c,e){var d,f,h=this,t=this.editRules,r=c.property,p=[],g=[];return r&&t&&(d=_xeUtils.default.get(t,r))&&(f=_xeUtils.default.isUndefined(e)?_xeUtils.default.get(u,r):e,d.forEach(function(t){var e,r,i,l=t.type,n=t.trigger,o=t.required,a=t.validator;"all"!==s&&n&&s!==n||(a?(i={cellValue:f,rule:t,rules:d,row:u,rowIndex:h.getRowIndex(u),column:c,columnIndex:h.getColumnIndex(c),field:c.property,$table:h},_xeUtils.default.isString(a)?(r=_vXETable.default.validators.get(a))?r.cellValidatorMethod?e=r.cellValidatorMethod(i):"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.notValidators",[a]):"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notValidators",[a]):e=a(i),e&&(_xeUtils.default.isError(e)?(h.validRuleErr=!0,p.push(new Rule({type:"custom",trigger:n,content:e.message,rule:new Rule(t)}))):e.catch&&g.push(e.catch(function(e){h.validRuleErr=!0,p.push(new Rule({type:"custom",trigger:n,content:e&&e.message?e.message:t.content||t.message,rule:new Rule(t)}))})))):(r="array"===l,a=_xeUtils.default.isArray(f),i=!0,i=r||a?!a||!f.length:_xeUtils.default.isString(f)?(0,_utils.eqEmptyValue)(f.trim()):(0,_utils.eqEmptyValue)(f),(o?i||validErrorRuleValue(t,f):!i&&validErrorRuleValue(t,f))&&(h.validRuleErr=!0,p.push(new Rule(t)))))})),Promise.all(g).then(function(){if(p.length)return Promise.reject({rules:p,rule:p[0]})})},_clearValidate:function(e,t){var r,i,l=this,n=this.validOpts,o=this.validErrorMaps,a=this.$refs.validTip,e=_xeUtils.default.isArray(e)?e:e?[e]:[],s=_xeUtils.default.isArray(t)?t:(t?[t]:[]).map(function(e){return(0,_util.handleFieldOrColumn)(l,e)}),u={};return a&&a.reactData.visible&&a.close(),"single"===n.msgMode?this.validErrorMaps={}:(e.length&&s.length?(u=Object.assign({},o),e.forEach(function(t){s.forEach(function(e){e="".concat((0,_util.getRowid)(l,t),":").concat(e.id);u[e]&&delete u[e]})})):e.length?(r=e.map(function(e){return"".concat((0,_util.getRowid)(l,e))}),_xeUtils.default.each(o,function(e,t){-1<r.indexOf(t.split(":")[0])&&(u[t]=e)})):s.length&&(i=s.map(function(e){return"".concat(e.id)}),_xeUtils.default.each(o,function(e,t){-1<i.indexOf(t.split(":")[1])&&(u[t]=e)})),this.validErrorMaps=u),this.$nextTick()},triggerValidate:function(t){var r=this,e=this.editConfig,i=this.editStore,l=this.editRules,n=this.editOpts,o=this.validOpts,i=i.actived;if(l&&"single"===o.msgMode&&(this.validErrorMaps={}),e&&l&&i.row){var o=i.args,a=o.row,s=o.column,u=o.cell;if(this.hasCellRules(t,a,s))return this.validCellRules(t,a,s).then(function(){"row"===n.mode&&r.clearValidate(a,s)}).catch(function(e){var e=e.rule;return e.trigger&&t!==e.trigger?Promise.resolve():(r.showValidTooltip(e={rule:e,row:a,column:s,cell:u}),Promise.reject(e))})}return Promise.resolve()},showValidTooltip:function(e){var t=this.$refs,r=this.height,i=this.validStore,l=this.validErrorMaps,n=this.tableData,o=this.validOpts,a=e.rule,s=e.row,u=e.column,c=e.cell,t=t.validTip,d=a.content;return i.visible=!0,"single"===o.msgMode?this.validErrorMaps=_defineProperty({},"".concat((0,_util.getRowid)(this,s),":").concat(u.id),{column:u,row:s,rule:a,content:d}):this.validErrorMaps=Object.assign({},l,_defineProperty({},"".concat((0,_util.getRowid)(this,s),":").concat(u.id),{column:u,row:s,rule:a,content:d})),this.emitEvent("valid-error",e,null),t&&("tooltip"===o.message||"default"===o.message&&!r&&n.length<2)?t.open(c,d):this.$nextTick()}}};exports.default=_default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vxe-table",
3
- "version": "3.7.7-beta.3",
3
+ "version": "3.7.7-beta.4",
4
4
  "description": "一个基于 vue 的 PC 端表单/表格组件,支持增删改查、虚拟列表、虚拟树、懒加载、快捷菜单、数据校验、树形结构、打印导出、表单渲染、数据分页、弹窗、自定义模板、渲染器、JSON 配置式...",
5
5
  "scripts": {
6
6
  "update": "npm install --legacy-peer-deps",
@@ -1,5 +1,6 @@
1
1
  import XEUtils from 'xe-utils'
2
2
  import VXETable from '../../v-x-e-table'
3
+ import GlobalConfig from '../../v-x-e-table/src/conf'
3
4
  import UtilTools, { isEnableConf } from '../../tools/utils'
4
5
  import { getRowid } from '../../table/src/util'
5
6
  import DomTools, { browse } from '../../tools/dom'
@@ -370,7 +371,8 @@ export default {
370
371
  return {
371
372
  insertRecords: this.getInsertRecords(),
372
373
  removeRecords: this.getRemoveRecords(),
373
- updateRecords: this.getUpdateRecords()
374
+ updateRecords: this.getUpdateRecords(),
375
+ pendingRecords: this.getUpdateRecords()
374
376
  }
375
377
  },
376
378
  /**
@@ -425,7 +427,7 @@ export default {
425
427
  const { editRender } = column
426
428
  const cell = params.cell = (params.cell || this.getCell(row, column))
427
429
  const beforeEditMethod = editOpts.beforeEditMethod || editOpts.activeMethod
428
- if (isEnableConf(editConfig) && isEnableConf(editRender) && cell) {
430
+ if (isEnableConf(editConfig) && isEnableConf(editRender) && !this.hasPendingByRow(row) && cell) {
429
431
  if (actived.row !== row || (mode === 'cell' ? actived.column !== column : false)) {
430
432
  // 判断是否禁用编辑
431
433
  let type = 'edit-disabled'
@@ -439,7 +441,7 @@ export default {
439
441
  if (actived.column) {
440
442
  this.clearActived(evnt)
441
443
  }
442
- type = 'edit-actived'
444
+ type = 'edit-activated'
443
445
  column.renderHeight = cell.offsetHeight
444
446
  actived.args = params
445
447
  actived.row = row
@@ -461,6 +463,18 @@ export default {
461
463
  columnIndex: this.getColumnIndex(column),
462
464
  $columnIndex: this.getVMColumnIndex(column)
463
465
  }, evnt)
466
+
467
+ // v4已废弃
468
+ if (type === 'edit-activated') {
469
+ this.emitEvent('edit-actived', {
470
+ row,
471
+ rowIndex: this.getRowIndex(row),
472
+ $rowIndex: this.getVMRowIndex(row),
473
+ column,
474
+ columnIndex: this.getColumnIndex(column),
475
+ $columnIndex: this.getVMColumnIndex(column)
476
+ }, evnt)
477
+ }
464
478
  } else {
465
479
  const { column: oldColumn } = actived
466
480
  if (mouseConfig) {
@@ -542,7 +556,12 @@ export default {
542
556
  $columnIndex: this.getVMColumnIndex(column)
543
557
  }, evnt)
544
558
  }
545
- return VXETable._valid ? this.clearValidate() : this.$nextTick()
559
+ if (GlobalConfig.cellVaildMode === 'obsolete') {
560
+ if (this.clearValidate) {
561
+ return this.clearValidate()
562
+ }
563
+ }
564
+ return this.$nextTick()
546
565
  },
547
566
  _getActiveRecord () {
548
567
  // if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
@@ -555,7 +574,7 @@ export default {
555
574
  const { $el, editStore, afterFullData } = this
556
575
  const { actived } = editStore
557
576
  const { args, row } = actived
558
- if (args && this.findRowIndexOf(afterFullData, row) > -1 && $el.querySelectorAll('.vxe-body--column.col--actived').length) {
577
+ if (args && this.findRowIndexOf(afterFullData, row) > -1 && $el.querySelectorAll('.vxe-body--column.col--active').length) {
559
578
  return Object.assign({}, args)
560
579
  }
561
580
  return null
@@ -167,7 +167,6 @@ export default {
167
167
  tableLoading: false,
168
168
  isZMax: false,
169
169
  tableData: [],
170
- pendingRecords: [],
171
170
  filterData: [],
172
171
  formData: {},
173
172
  sortData: [],
@@ -221,13 +220,12 @@ export default {
221
220
  if (proxyConfig) {
222
221
  tableProps.loading = loading || tableLoading
223
222
  tableProps.data = tableData
224
- tableProps.rowClassName = this.handleRowClassName
225
223
  if (proxyOpts.seq && isEnableConf(pagerConfig)) {
226
224
  tableProps.seqConfig = Object.assign({}, seqConfig, { startIndex: (tablePage.currentPage - 1) * tablePage.pageSize })
227
225
  }
228
226
  }
229
227
  if (editConfig) {
230
- tableProps.editConfig = Object.assign({}, editConfig, { beforeEditMethod: this.handleBeforeEditMethod })
228
+ tableProps.editConfig = Object.assign({}, editConfig)
231
229
  }
232
230
  return tableProps
233
231
  }
@@ -391,23 +389,6 @@ export default {
391
389
  const parentPaddingSize = isZMax || height !== 'auto' ? 0 : getPaddingTopBottomSize($el.parentNode)
392
390
  return parentPaddingSize + getPaddingTopBottomSize($el) + getOffsetHeight(formWrapper) + getOffsetHeight(toolbarWrapper) + getOffsetHeight(topWrapper) + getOffsetHeight(bottomWrapper) + getOffsetHeight(pagerWrapper)
393
391
  },
394
- handleRowClassName (params) {
395
- const rowClassName = this.rowClassName
396
- const clss = []
397
- if (this.pendingRecords.some(item => item === params.row)) {
398
- clss.push('row--pending')
399
- }
400
- clss.push(rowClassName ? (XEUtils.isFunction(rowClassName) ? rowClassName(params) : rowClassName) : '')
401
- return clss
402
- },
403
- handleBeforeEditMethod (params) {
404
- const { editConfig } = this
405
- const beforeEditMethod = editConfig ? (editConfig.beforeEditMethod || editConfig.activeMethod) : null
406
- if (this.pendingRecords.indexOf(params.row) === -1) {
407
- return !beforeEditMethod || beforeEditMethod({ ...params, $grid: this })
408
- }
409
- return false
410
- },
411
392
  initToolbar () {
412
393
  this.$nextTick(() => {
413
394
  const { xTable, xToolbar } = this.$refs
@@ -486,8 +467,14 @@ export default {
486
467
  switch (code) {
487
468
  case 'insert':
488
469
  return this.insert()
470
+ case 'insert_edit':
471
+ return this.insert().then(({ row }) => this.setEditRow(row))
472
+
473
+ // 已废弃
489
474
  case 'insert_actived':
490
- return this.insert().then(({ row }) => this.setActiveRow(row))
475
+ return this.insert().then(({ row }) => this.setEditRow(row))
476
+ // 已废弃
477
+
491
478
  case 'mark_cancel':
492
479
  this.triggerPendingEvent(code)
493
480
  break
@@ -545,7 +532,6 @@ export default {
545
532
  filterList = $xetable.getCheckedFilters()
546
533
  } else {
547
534
  if (isReload) {
548
- this.pendingRecords = []
549
535
  $xetable.clearAll()
550
536
  } else {
551
537
  sortList = $xetable.getSortColumns()
@@ -619,7 +605,7 @@ export default {
619
605
  return Promise.resolve((beforeDelete || ajaxMethods)(...applyArgs))
620
606
  .then(rest => {
621
607
  this.tableLoading = false
622
- this.pendingRecords = this.pendingRecords.filter(row => removeRecords.indexOf(row) === -1)
608
+ $xetable.setPendingRow(removeRecords, false)
623
609
  if (isMsg) {
624
610
  // 检测弹窗模块
625
611
  if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
@@ -671,7 +657,7 @@ export default {
671
657
  case 'save': {
672
658
  const ajaxMethods = ajax.save
673
659
  if (ajaxMethods) {
674
- const body = Object.assign({ pendingRecords: this.pendingRecords }, this.getRecordset())
660
+ const body = this.getRecordset()
675
661
  const { insertRecords, removeRecords, updateRecords, pendingRecords } = body
676
662
  const applyArgs = [{ $grid: this, code, button, body, form: formData, options: ajaxMethods }].concat(args)
677
663
  // 排除掉新增且标记为删除的数据
@@ -697,7 +683,7 @@ export default {
697
683
  return Promise.resolve((beforeSave || ajaxMethods)(...applyArgs))
698
684
  .then(rest => {
699
685
  this.tableLoading = false
700
- this.pendingRecords = []
686
+ $xetable.clearPendingRow()
701
687
  if (isMsg) {
702
688
  // 检测弹窗模块
703
689
  if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
@@ -802,9 +788,6 @@ export default {
802
788
  }, { children: 'children' })
803
789
  return XEUtils.isUndefined(itemIndex) ? itemList : itemList[itemIndex]
804
790
  },
805
- getPendingRecords () {
806
- return this.pendingRecords
807
- },
808
791
  triggerToolbarCommitEvent (params, evnt) {
809
792
  const { code } = params
810
793
  return this.commitProxy(params, evnt).then((rest) => {
@@ -822,23 +805,10 @@ export default {
822
805
  this.$emit('toolbar-tool-click', { code: tool.code, tool, $grid: this, $event: evnt })
823
806
  },
824
807
  triggerPendingEvent (code) {
825
- const { pendingRecords, isMsg } = this
808
+ const { isMsg } = this
826
809
  const selectRecords = this.getCheckboxRecords()
827
810
  if (selectRecords.length) {
828
- const plus = []
829
- const minus = []
830
- selectRecords.forEach(data => {
831
- if (pendingRecords.some(item => data === item)) {
832
- minus.push(data)
833
- } else {
834
- plus.push(data)
835
- }
836
- })
837
- if (minus.length) {
838
- this.pendingRecords = pendingRecords.filter(item => minus.indexOf(item) === -1).concat(plus)
839
- } else if (plus.length) {
840
- this.pendingRecords = pendingRecords.concat(plus)
841
- }
811
+ this.togglePendingRow(selectRecords)
842
812
  this.clearCheckboxRow()
843
813
  } else {
844
814
  if (isMsg) {
@@ -946,7 +916,8 @@ export default {
946
916
  return this.$nextTick().then(() => this.recalculate(true)).then(() => this.isZMax)
947
917
  },
948
918
  getProxyInfo () {
949
- const { sortData, proxyConfig } = this
919
+ const { $refs, sortData, proxyConfig } = this
920
+ const $xetable = $refs.xTable
950
921
  if (proxyConfig) {
951
922
  return {
952
923
  data: this.tableData,
@@ -955,7 +926,7 @@ export default {
955
926
  sort: sortData.length ? sortData[0] : {},
956
927
  sorts: sortData,
957
928
  pager: this.tablePage,
958
- pendingRecords: this.pendingRecords
929
+ pendingRecords: $xetable ? $xetable.getPendingRecords() : []
959
930
  }
960
931
  }
961
932
  return null
@@ -56,9 +56,11 @@ export default {
56
56
  GlobalEvent.off(this, 'blur')
57
57
  },
58
58
  render (h) {
59
- const { $scopedSlots, inited, className, popupClassName, vSize, destroyOnClose, transfer, isActivated, disabled, animatVisible, visiblePanel, panelStyle, panelPlacement } = this
59
+ const { _e, $scopedSlots, inited, className, popupClassName, vSize, destroyOnClose, transfer, isActivated, disabled, animatVisible, visiblePanel, panelStyle, panelPlacement } = this
60
60
  const defaultSlot = $scopedSlots.default
61
- const downSlot = $scopedSlots.dropdown
61
+ const headerSlot = $scopedSlots.header
62
+ const footerSlot = $scopedSlots.footer
63
+ const dropdownSlot = $scopedSlots.dropdown
62
64
  return h('div', {
63
65
  class: ['vxe-pulldown', className ? (XEUtils.isFunction(className) ? className({ $pulldown: this }) : className) : '', {
64
66
  [`size--${vSize}`]: vSize,
@@ -83,11 +85,21 @@ export default {
83
85
  placement: panelPlacement
84
86
  },
85
87
  style: panelStyle
86
- }, downSlot ? [
88
+ }, [
87
89
  h('div', {
88
- class: 'vxe-pulldown--wrapper'
89
- }, !inited || (destroyOnClose && !visiblePanel && !animatVisible) ? [] : downSlot.call(this, { $pulldown: this }, h))
90
- ] : [])
90
+ class: 'vxe-pulldown--panel-wrapper'
91
+ }, !inited || (destroyOnClose && !visiblePanel && !animatVisible) ? [] : [
92
+ headerSlot ? h('div', {
93
+ class: 'vxe-pulldown--panel-header'
94
+ }, headerSlot.call(this, { $pulldown: this })) : _e(),
95
+ h('div', {
96
+ class: 'vxe-pulldown--panel-body'
97
+ }, dropdownSlot ? dropdownSlot.call(this, { $pulldown: this }, h) : []),
98
+ footerSlot ? h('div', {
99
+ class: 'vxe-pulldown--panel-footer'
100
+ }, footerSlot.call(this, { $pulldown: this })) : _e()
101
+ ])
102
+ ])
91
103
  ])
92
104
  },
93
105
  methods: {