vxe-table 3.7.0-beta.6 → 3.7.0-beta.7

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 (114) hide show
  1. package/README.md +4 -8
  2. package/lib/filter/src/mixin.js +13 -7
  3. package/lib/filter/src/mixin.min.js +1 -1
  4. package/lib/form/src/form.js +24 -4
  5. package/lib/form/src/form.min.js +1 -1
  6. package/lib/grid/src/grid.js +7 -3
  7. package/lib/grid/src/grid.min.js +1 -1
  8. package/lib/icon/style/style.css +1 -1
  9. package/lib/icon/style/style.min.css +1 -1
  10. package/lib/index.css +1 -1
  11. package/lib/index.umd.js +349 -89
  12. package/lib/index.umd.min.js +1 -1
  13. package/lib/input/src/input.js +6 -1
  14. package/lib/input/src/input.min.js +1 -1
  15. package/lib/locale/lang/en-US.js +7 -0
  16. package/lib/locale/lang/en-US.min.js +1 -1
  17. package/lib/locale/lang/en-US.umd.js +7 -0
  18. package/lib/locale/lang/es-ES.js +7 -0
  19. package/lib/locale/lang/es-ES.min.js +1 -1
  20. package/lib/locale/lang/es-ES.umd.js +7 -0
  21. package/lib/locale/lang/ja-JP.js +7 -0
  22. package/lib/locale/lang/ja-JP.min.js +1 -1
  23. package/lib/locale/lang/ja-JP.umd.js +7 -0
  24. package/lib/locale/lang/zh-CN.js +7 -0
  25. package/lib/locale/lang/zh-CN.min.js +1 -1
  26. package/lib/locale/lang/zh-CN.umd.js +7 -0
  27. package/lib/locale/lang/zh-HK.min.js +1 -1
  28. package/lib/locale/lang/zh-HK.umd.js +7 -0
  29. package/lib/locale/lang/zh-MO.min.js +1 -1
  30. package/lib/locale/lang/zh-MO.umd.js +7 -0
  31. package/lib/locale/lang/zh-TC.js +7 -0
  32. package/lib/locale/lang/zh-TC.min.js +1 -1
  33. package/lib/locale/lang/zh-TC.umd.js +7 -0
  34. package/lib/locale/lang/zh-TW.min.js +1 -1
  35. package/lib/locale/lang/zh-TW.umd.js +7 -0
  36. package/lib/menu/src/mixin.js +3 -3
  37. package/lib/menu/src/mixin.min.js +1 -1
  38. package/lib/select/src/select.js +6 -1
  39. package/lib/select/src/select.min.js +1 -1
  40. package/lib/style.css +1 -1
  41. package/lib/style.min.css +1 -1
  42. package/lib/table/src/cell.js +2 -0
  43. package/lib/table/src/cell.min.js +1 -1
  44. package/lib/table/src/columnInfo.js +6 -6
  45. package/lib/table/src/columnInfo.min.js +1 -1
  46. package/lib/table/src/methods.js +43 -16
  47. package/lib/table/src/methods.min.js +1 -1
  48. package/lib/table/src/table.js +11 -24
  49. package/lib/table/src/table.min.js +1 -1
  50. package/lib/table/style/style.css +2 -2
  51. package/lib/table/style/style.min.css +1 -1
  52. package/lib/textarea/src/textarea.js +6 -1
  53. package/lib/textarea/src/textarea.min.js +1 -1
  54. package/lib/toolbar/src/toolbar.js +18 -6
  55. package/lib/toolbar/src/toolbar.min.js +1 -1
  56. package/lib/tools/log.js +1 -1
  57. package/lib/tools/log.min.js +1 -1
  58. package/lib/v-x-e-table/index.js +3 -1
  59. package/lib/v-x-e-table/index.min.js +1 -1
  60. package/lib/v-x-e-table/src/commands.js +58 -2
  61. package/lib/v-x-e-table/src/commands.min.js +1 -1
  62. package/lib/v-x-e-table/src/conf.js +4 -1
  63. package/lib/v-x-e-table/src/conf.min.js +1 -1
  64. package/lib/v-x-e-table/src/formats.js +58 -2
  65. package/lib/v-x-e-table/src/formats.min.js +1 -1
  66. package/lib/v-x-e-table/src/menus.js +58 -2
  67. package/lib/v-x-e-table/src/menus.min.js +1 -1
  68. package/lib/v-x-e-table/src/store.js +5 -2
  69. package/lib/v-x-e-table/src/store.min.js +1 -1
  70. package/lib/v-x-e-table/src/validators.js +15 -0
  71. package/lib/v-x-e-table/src/validators.min.js +1 -0
  72. package/lib/validator/src/mixin.js +26 -4
  73. package/lib/validator/src/mixin.min.js +1 -1
  74. package/package.json +2 -2
  75. package/packages/filter/src/mixin.js +5 -1
  76. package/packages/form/src/form.js +24 -5
  77. package/packages/grid/src/grid.js +7 -3
  78. package/packages/input/src/input.js +4 -1
  79. package/packages/locale/lang/en-US.js +7 -0
  80. package/packages/locale/lang/es-ES.js +7 -0
  81. package/packages/locale/lang/ja-JP.js +7 -0
  82. package/packages/locale/lang/zh-CN.js +7 -0
  83. package/packages/locale/lang/zh-TC.js +7 -0
  84. package/packages/menu/src/mixin.js +3 -3
  85. package/packages/select/src/select.js +4 -1
  86. package/packages/table/src/cell.js +2 -0
  87. package/packages/table/src/columnInfo.js +6 -6
  88. package/packages/table/src/methods.js +36 -15
  89. package/packages/table/src/table.js +5 -1
  90. package/packages/textarea/src/textarea.js +4 -1
  91. package/packages/toolbar/src/toolbar.js +18 -6
  92. package/packages/v-x-e-table/index.js +2 -0
  93. package/packages/v-x-e-table/src/commands.js +48 -2
  94. package/packages/v-x-e-table/src/conf.js +4 -1
  95. package/packages/v-x-e-table/src/formats.js +48 -2
  96. package/packages/v-x-e-table/src/menus.js +48 -2
  97. package/packages/v-x-e-table/src/store.js +4 -2
  98. package/packages/v-x-e-table/src/validators.js +7 -0
  99. package/packages/validator/src/mixin.js +25 -4
  100. package/styles/table.scss +2 -2
  101. package/types/form.d.ts +14 -12
  102. package/types/table.d.ts +4 -0
  103. package/types/v-x-e-table/commands.d.ts +21 -13
  104. package/types/v-x-e-table/formats.d.ts +19 -12
  105. package/types/v-x-e-table/index.d.ts +7 -1
  106. package/types/v-x-e-table/menus.d.ts +17 -6
  107. package/types/v-x-e-table/validators.d.ts +30 -0
  108. package/types/validator.d.ts +15 -4
  109. /package/lib/icon/style/{iconfont.1689639571797.ttf → iconfont.1690156580206.ttf} +0 -0
  110. /package/lib/icon/style/{iconfont.1689639571797.woff → iconfont.1690156580206.woff} +0 -0
  111. /package/lib/icon/style/{iconfont.1689639571797.woff2 → iconfont.1690156580206.woff2} +0 -0
  112. /package/lib/{iconfont.1689639571797.ttf → iconfont.1690156580206.ttf} +0 -0
  113. /package/lib/{iconfont.1689639571797.woff → iconfont.1690156580206.woff} +0 -0
  114. /package/lib/{iconfont.1689639571797.woff2 → iconfont.1690156580206.woff2} +0 -0
@@ -4,9 +4,65 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.commands = void 0;
7
- var _store = _interopRequireDefault(require("./store"));
7
+ var _xeUtils = _interopRequireDefault(require("xe-utils"));
8
+ var _log = require("../../tools/log");
8
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
9
- var commands = new _store["default"]();
10
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
11
+ 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); } }
12
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
13
+ var VXECommandsStore = /*#__PURE__*/function () {
14
+ function VXECommandsStore() {
15
+ _classCallCheck(this, VXECommandsStore);
16
+ this.store = {};
17
+ }
18
+ _createClass(VXECommandsStore, [{
19
+ key: "mixin",
20
+ value: function mixin(options) {
21
+ var _this = this;
22
+ _xeUtils["default"].each(options, function (item, key) {
23
+ _this.add(key, item);
24
+ });
25
+ return VXECommandsStore;
26
+ }
27
+ }, {
28
+ key: "get",
29
+ value: function get(name) {
30
+ return this.store[name];
31
+ }
32
+ }, {
33
+ key: "add",
34
+ value: function add(name, render) {
35
+ var conf = this.store[name];
36
+ // 兼容
37
+ if (_xeUtils["default"].isFunction(render)) {
38
+ // warnLog('vxe.error.delProp', ['callback', 'commandMethod'])
39
+ render = {
40
+ commandMethod: render
41
+ };
42
+ }
43
+
44
+ // 检测是否覆盖
45
+ if (process.env.NODE_ENV === 'development') {
46
+ var confKeys = _xeUtils["default"].keys(conf);
47
+ _xeUtils["default"].each(render, function (item, key) {
48
+ if (confKeys.includes(key)) {
49
+ (0, _log.warnLog)('vxe.error.coverProp', [name, key]);
50
+ }
51
+ });
52
+ }
53
+ this.store[name] = conf ? _xeUtils["default"].merge(conf, render) : render;
54
+ return VXECommandsStore;
55
+ }
56
+ }, {
57
+ key: "delete",
58
+ value: function _delete(name) {
59
+ delete this.store[name];
60
+ return VXECommandsStore;
61
+ }
62
+ }]);
63
+ return VXECommandsStore;
64
+ }();
65
+ var commands = new VXECommandsStore();
10
66
  exports.commands = commands;
11
67
  if (process.env.NODE_ENV === 'development') {
12
68
  Object.assign(commands, {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.commands=void 0;var _store=_interopRequireDefault(require("./store"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var commands=new _store.default;exports.commands=commands,"development"===process.env.NODE_ENV&&Object.assign(commands,{_name:"Commands"});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.commands=void 0;var _xeUtils=_interopRequireDefault(require("xe-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 n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function _createClass(e,t,r){return t&&_defineProperties(e.prototype,t),r&&_defineProperties(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}var VXECommandsStore=function(){function o(){_classCallCheck(this,o),this.store={}}return _createClass(o,[{key:"mixin",value:function(e){var r=this;return _xeUtils.default.each(e,function(e,t){r.add(t,e)}),o}},{key:"get",value:function(e){return this.store[e]}},{key:"add",value:function(r,e){var n,t=this.store[r];return _xeUtils.default.isFunction(e)&&(e={commandMethod:e}),"development"===process.env.NODE_ENV&&(n=_xeUtils.default.keys(t),_xeUtils.default.each(e,function(e,t){n.includes(t)&&(0,_log.warnLog)("vxe.error.coverProp",[r,t])})),this.store[r]=t?_xeUtils.default.merge(t,e):e,o}},{key:"delete",value:function(e){return delete this.store[e],o}}]),o}(),commands=new VXECommandsStore;exports.commands=commands,"development"===process.env.NODE_ENV&&Object.assign(commands,{_name:"Commands"});
@@ -21,6 +21,7 @@ var _default = {
21
21
  animat: true,
22
22
  delayHover: 250,
23
23
  autoResize: true,
24
+ minHeight: 144,
24
25
  // keepSource: false,
25
26
  // showOverflow: null,
26
27
  // showHeaderOverflow: null,
@@ -54,7 +55,9 @@ var _default = {
54
55
  },
55
56
  validConfig: {
56
57
  showMessage: true,
57
- message: 'default'
58
+ autoClear: true,
59
+ message: 'inline',
60
+ msgMode: 'single'
58
61
  },
59
62
  columnConfig: {
60
63
  maxFixedSize: 4
@@ -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:!0,resizeConfig:{refreshDelay:250},radioConfig:{strict:!0},checkboxConfig:{strict:!0},tooltipConfig:{enterable:!0},validConfig:{showMessage:!0,message:"default"},columnConfig:{maxFixedSize:4},sortConfig:{showIcon:!0},filterConfig:{showIcon:!0},treeConfig:{rowField:"id",parentField:"parentId",children:"children",hasChild:"hasChild",mapChildren:"_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:{enabled:!0,gt:60},scrollY:{enabled:!0,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",children:"children",hasChild:"hasChild",mapChildren:"_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:{enabled:!0,gt:60},scrollY:{enabled:!0,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;
@@ -4,9 +4,65 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.formats = void 0;
7
- var _store = _interopRequireDefault(require("./store"));
7
+ var _xeUtils = _interopRequireDefault(require("xe-utils"));
8
+ var _log = require("../../tools/log");
8
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
9
- var formats = new _store["default"]();
10
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
11
+ 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); } }
12
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
13
+ var VXEFormatsStore = /*#__PURE__*/function () {
14
+ function VXEFormatsStore() {
15
+ _classCallCheck(this, VXEFormatsStore);
16
+ this.store = {};
17
+ }
18
+ _createClass(VXEFormatsStore, [{
19
+ key: "mixin",
20
+ value: function mixin(options) {
21
+ var _this = this;
22
+ _xeUtils["default"].each(options, function (item, key) {
23
+ _this.add(key, item);
24
+ });
25
+ return VXEFormatsStore;
26
+ }
27
+ }, {
28
+ key: "get",
29
+ value: function get(name) {
30
+ return this.store[name];
31
+ }
32
+ }, {
33
+ key: "add",
34
+ value: function add(name, render) {
35
+ var conf = this.store[name];
36
+ // 兼容
37
+ if (_xeUtils["default"].isFunction(render)) {
38
+ // warnLog('vxe.error.delProp', ['callback', 'formatMethod'])
39
+ render = {
40
+ formatMethod: render
41
+ };
42
+ }
43
+
44
+ // 检测是否覆盖
45
+ if (process.env.NODE_ENV === 'development') {
46
+ var confKeys = _xeUtils["default"].keys(conf);
47
+ _xeUtils["default"].each(render, function (item, key) {
48
+ if (confKeys.includes(key)) {
49
+ (0, _log.warnLog)('vxe.error.coverProp', [name, key]);
50
+ }
51
+ });
52
+ }
53
+ this.store[name] = conf ? _xeUtils["default"].merge(conf, render) : render;
54
+ return VXEFormatsStore;
55
+ }
56
+ }, {
57
+ key: "delete",
58
+ value: function _delete(name) {
59
+ delete this.store[name];
60
+ return VXEFormatsStore;
61
+ }
62
+ }]);
63
+ return VXEFormatsStore;
64
+ }();
65
+ var formats = new VXEFormatsStore();
10
66
  exports.formats = formats;
11
67
  if (process.env.NODE_ENV === 'development') {
12
68
  Object.assign(formats, {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.formats=void 0;var _store=_interopRequireDefault(require("./store"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var formats=new _store.default;exports.formats=formats,"development"===process.env.NODE_ENV&&Object.assign(formats,{_name:"Formats"});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.formats=void 0;var _xeUtils=_interopRequireDefault(require("xe-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 VXEFormatsStore=function(){function n(){_classCallCheck(this,n),this.store={}}return _createClass(n,[{key:"mixin",value:function(e){var r=this;return _xeUtils.default.each(e,function(e,t){r.add(t,e)}),n}},{key:"get",value:function(e){return this.store[e]}},{key:"add",value:function(r,e){var o,t=this.store[r];return _xeUtils.default.isFunction(e)&&(e={formatMethod:e}),"development"===process.env.NODE_ENV&&(o=_xeUtils.default.keys(t),_xeUtils.default.each(e,function(e,t){o.includes(t)&&(0,_log.warnLog)("vxe.error.coverProp",[r,t])})),this.store[r]=t?_xeUtils.default.merge(t,e):e,n}},{key:"delete",value:function(e){return delete this.store[e],n}}]),n}(),formats=new VXEFormatsStore;exports.formats=formats,"development"===process.env.NODE_ENV&&Object.assign(formats,{_name:"Formats"});
@@ -4,9 +4,65 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.menus = void 0;
7
- var _store = _interopRequireDefault(require("./store"));
7
+ var _xeUtils = _interopRequireDefault(require("xe-utils"));
8
+ var _log = require("../../tools/log");
8
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
9
- var menus = new _store["default"]();
10
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
11
+ 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); } }
12
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
13
+ var VXEMenusStore = /*#__PURE__*/function () {
14
+ function VXEMenusStore() {
15
+ _classCallCheck(this, VXEMenusStore);
16
+ this.store = {};
17
+ }
18
+ _createClass(VXEMenusStore, [{
19
+ key: "mixin",
20
+ value: function mixin(options) {
21
+ var _this = this;
22
+ _xeUtils["default"].each(options, function (item, key) {
23
+ _this.add(key, item);
24
+ });
25
+ return VXEMenusStore;
26
+ }
27
+ }, {
28
+ key: "get",
29
+ value: function get(name) {
30
+ return this.store[name];
31
+ }
32
+ }, {
33
+ key: "add",
34
+ value: function add(name, render) {
35
+ var conf = this.store[name];
36
+ // 兼容
37
+ if (_xeUtils["default"].isFunction(render)) {
38
+ // warnLog('vxe.error.delProp', ['callback', 'menuMethod'])
39
+ render = {
40
+ menuMethod: render
41
+ };
42
+ }
43
+
44
+ // 检测是否覆盖
45
+ if (process.env.NODE_ENV === 'development') {
46
+ var confKeys = _xeUtils["default"].keys(conf);
47
+ _xeUtils["default"].each(render, function (item, key) {
48
+ if (confKeys.includes(key)) {
49
+ (0, _log.warnLog)('vxe.error.coverProp', [name, key]);
50
+ }
51
+ });
52
+ }
53
+ this.store[name] = conf ? _xeUtils["default"].merge(conf, render) : render;
54
+ return VXEMenusStore;
55
+ }
56
+ }, {
57
+ key: "delete",
58
+ value: function _delete(name) {
59
+ delete this.store[name];
60
+ return VXEMenusStore;
61
+ }
62
+ }]);
63
+ return VXEMenusStore;
64
+ }();
65
+ var menus = new VXEMenusStore();
10
66
  exports.menus = menus;
11
67
  if (process.env.NODE_ENV === 'development') {
12
68
  Object.assign(menus, {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.menus=void 0;var _store=_interopRequireDefault(require("./store"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var menus=new _store.default;exports.menus=menus,"development"===process.env.NODE_ENV&&Object.assign(menus,{_name:"Menus"});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.menus=void 0;var _xeUtils=_interopRequireDefault(require("xe-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 n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function _createClass(e,t,r){return t&&_defineProperties(e.prototype,t),r&&_defineProperties(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}var VXEMenusStore=function(){function o(){_classCallCheck(this,o),this.store={}}return _createClass(o,[{key:"mixin",value:function(e){var r=this;return _xeUtils.default.each(e,function(e,t){r.add(t,e)}),o}},{key:"get",value:function(e){return this.store[e]}},{key:"add",value:function(r,e){var n,t=this.store[r];return _xeUtils.default.isFunction(e)&&(e={menuMethod:e}),"development"===process.env.NODE_ENV&&(n=_xeUtils.default.keys(t),_xeUtils.default.each(e,function(e,t){n.includes(t)&&(0,_log.warnLog)("vxe.error.coverProp",[r,t])})),this.store[r]=t?_xeUtils.default.merge(t,e):e,o}},{key:"delete",value:function(e){return delete this.store[e],o}}]),o}(),menus=new VXEMenusStore;exports.menus=menus,"development"===process.env.NODE_ENV&&Object.assign(menus,{_name:"Menus"});
@@ -20,8 +20,11 @@ var Store = /*#__PURE__*/function () {
20
20
  }
21
21
  _createClass(Store, [{
22
22
  key: "mixin",
23
- value: function mixin(map) {
24
- Object.assign(this.store, map);
23
+ value: function mixin(options) {
24
+ var _this = this;
25
+ _xeUtils["default"].each(options, function (item, key) {
26
+ _this.add(key, item);
27
+ });
25
28
  return Store;
26
29
  }
27
30
  }, {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-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 n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function _createClass(e,t,r){return t&&_defineProperties(e.prototype,t),r&&_defineProperties(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}var Store=function(){function o(){_classCallCheck(this,o),this.store={}}return _createClass(o,[{key:"mixin",value:function(e){return Object.assign(this.store,e),o}},{key:"get",value:function(e){return this.store[e]}},{key:"add",value:function(r,e){var n,t=this.store[r];return"development"===process.env.NODE_ENV&&(n=_xeUtils.default.keys(t),_xeUtils.default.each(e,function(e,t){n.includes(t)&&(0,_log.warnLog)("vxe.error.coverProp",[r,t])})),this.store[r]=t?_xeUtils.default.merge(t,e):e,o}},{key:"delete",value:function(e){return delete this.store[e],o}}]),o}(),_default=Store;exports.default=_default;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-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 n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function _createClass(e,t,r){return t&&_defineProperties(e.prototype,t),r&&_defineProperties(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}var Store=function(){function o(){_classCallCheck(this,o),this.store={}}return _createClass(o,[{key:"mixin",value:function(e){var r=this;return _xeUtils.default.each(e,function(e,t){r.add(t,e)}),o}},{key:"get",value:function(e){return this.store[e]}},{key:"add",value:function(r,e){var n,t=this.store[r];return"development"===process.env.NODE_ENV&&(n=_xeUtils.default.keys(t),_xeUtils.default.each(e,function(e,t){n.includes(t)&&(0,_log.warnLog)("vxe.error.coverProp",[r,t])})),this.store[r]=t?_xeUtils.default.merge(t,e):e,o}},{key:"delete",value:function(e){return delete this.store[e],o}}]),o}(),_default=Store;exports.default=_default;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.validators = void 0;
7
+ var _store = _interopRequireDefault(require("./store"));
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
9
+ var validators = new _store["default"]();
10
+ exports.validators = validators;
11
+ if (process.env.NODE_ENV === 'development') {
12
+ Object.assign(validators, {
13
+ _name: 'Validators'
14
+ });
15
+ }
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.validators=void 0;var _store=_interopRequireDefault(require("./store"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var validators=new _store.default;exports.validators=validators,"development"===process.env.NODE_ENV&&Object.assign(validators,{_name:"Validators"});
@@ -5,8 +5,10 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports["default"] = void 0;
7
7
  var _xeUtils = _interopRequireDefault(require("xe-utils"));
8
+ var _vXETable = _interopRequireDefault(require("../../v-x-e-table"));
8
9
  var _conf = _interopRequireDefault(require("../../v-x-e-table/src/conf"));
9
10
  var _utils = require("../../tools/utils");
11
+ var _log = require("../../tools/log");
10
12
  var _dom = _interopRequireDefault(require("../../tools/dom"));
11
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
12
14
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
@@ -276,10 +278,11 @@ var _default = {
276
278
  rules.forEach(function (rule) {
277
279
  var type = rule.type,
278
280
  trigger = rule.trigger,
279
- required = rule.required;
281
+ required = rule.required,
282
+ validator = rule.validator;
280
283
  if (validType === 'all' || !trigger || validType === trigger) {
281
- if (_xeUtils["default"].isFunction(rule.validator)) {
282
- var customValid = rule.validator({
284
+ if (validator) {
285
+ var validParams = {
283
286
  cellValue: cellValue,
284
287
  rule: rule,
285
288
  rules: rules,
@@ -289,7 +292,26 @@ var _default = {
289
292
  columnIndex: _this3.getColumnIndex(column),
290
293
  field: column.property,
291
294
  $table: _this3
292
- });
295
+ };
296
+ var customValid;
297
+ if (_xeUtils["default"].isString(validator)) {
298
+ var gvItem = _vXETable["default"].validators.get(validator);
299
+ if (gvItem) {
300
+ if (gvItem.cellValidatorMethod) {
301
+ customValid = gvItem.cellValidatorMethod(validParams);
302
+ } else {
303
+ if (process.env.NODE_ENV === 'development') {
304
+ (0, _log.warnLog)('vxe.error.notValidators', [validator]);
305
+ }
306
+ }
307
+ } else {
308
+ if (process.env.NODE_ENV === 'development') {
309
+ (0, _log.errLog)('vxe.error.notValidators', [validator]);
310
+ }
311
+ }
312
+ } else {
313
+ customValid = validator(validParams);
314
+ }
293
315
  if (customValid) {
294
316
  if (_xeUtils["default"].isError(customValid)) {
295
317
  _this3.validRuleErr = true;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_utils=require("../../tools/utils"),_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 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 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,i){var t,l,a=this,s={},n=this.editRules,c=this.afterFullData,d=this.treeConfig,r=this.treeOpts,u=(!0===e?t=c:e&&(_xeUtils.default.isFunction(e)?o=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?(l=this.getColumns(),e=function(r){var e;!i&&a.validRuleErr||(e=[],l.forEach(function(t){!i&&a.validRuleErr||!_xeUtils.default.has(n,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,field:t.property,$table:a};if(s[t.property]||(s[t.property]=[]),s[t.property].push(e),!i)return a.validRuleErr=!0,Promise.reject(e)}))}),u.push(Promise.all(e)))},d?_xeUtils.default.eachTree(t,e,r):t.forEach(e),Promise.all(u).then(function(){var e=Object.keys(s);return a.$nextTick().then(function(){if(e.length)return Promise.reject(s[e[0]][0]);o&&o()})}).catch(function(u){return new Promise(function(e,t){function r(){a.$nextTick(function(){o?(o(s),e()):("obsolete"===_conf.default.validToReject?t:e)(s)})}function i(){u.cell=a.getCell(u.row,u.column),_dom.default.scrollToView(u.cell),a.handleValidError(u).then(r)}var l=u.row,n=c.indexOf(l),n=0<n?c[n-1]:l;!1===a.validOpts.autoPos?r():(d?a.scrollToTreeRow(n):a.scrollToRow(n)).then(i)})})):this.$nextTick().then(function(){o&&o()})},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(u,o,a,e){var s,c,d=this,t=this.editRules,r=a.property,f=[],h=[];return r&&t&&(s=_xeUtils.default.get(t,r))&&(c=_xeUtils.default.isUndefined(e)?_xeUtils.default.get(o,r):e,s.forEach(function(t){var e,r,i=t.type,l=t.trigger,n=t.required;"all"!==u&&l&&u!==l||(_xeUtils.default.isFunction(t.validator)?(e=t.validator({cellValue:c,rule:t,rules:s,row:o,rowIndex:d.getRowIndex(o),column:a,columnIndex:d.getColumnIndex(a),field:a.property,$table:d}))&&(_xeUtils.default.isError(e)?(d.validRuleErr=!0,f.push(new Rule({type:"custom",trigger:l,content:e.message,rule:new Rule(t)}))):e.catch&&h.push(e.catch(function(e){d.validRuleErr=!0,f.push(new Rule({type:"custom",trigger:l,content:e&&e.message?e.message:t.content||t.message,rule:new Rule(t)}))}))):(e="array"===i,i=_xeUtils.default.isArray(c),r=!0,r=e||i?!i||!c.length:_xeUtils.default.isString(c)?(0,_utils.eqEmptyValue)(c.trim()):(0,_utils.eqEmptyValue)(c),(n?r||validErrorRuleValue(t,c):!r&&validErrorRuleValue(t,c))&&(d.validRuleErr=!0,f.push(new Rule(t)))))})),Promise.all(h).then(function(){if(f.length)return Promise.reject({rules:f,rule:f[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,i=this.editStore,l=this.editRules,n=this.validStore,i=i.actived;if(i.row&&l){var l=i.args,u=l.row,o=l.column,a=l.cell;if(this.hasCellRules(t,u,o))return this.validCellRules(t,u,o).then(function(){"row"===e.mode&&n.visible&&n.row===u&&n.column===o&&r.clearValidate()}).catch(function(e){var e=e.rule;return e.trigger&&t!==e.trigger?Promise.resolve():(r.showValidTooltip(e={rule:e,row:u,column:o,cell:a}),Promise.reject(e))})}return Promise.resolve()},showValidTooltip:function(e){var t=this,r=this.$refs,i=this.height,l=this.tableData,n=this.validOpts,u=e.rule,o=e.row,a=e.column,s=e.cell,c=r.validTip,d=u.content;return this.$nextTick(function(){if(Object.assign(t.validStore,{row:o,column:a,rule:u,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")),_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 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,a,l){var t,i,u=this,s={},n=this.editRules,c=this.afterFullData,d=this.treeConfig,r=this.treeOpts,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,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,p=[],g=[];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,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"===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,p.push(new Rule(t)))))})),Promise.all(g).then(function(){if(p.length)return Promise.reject({rules:p,rule:p[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;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "vxe-table",
3
- "version": "3.7.0-beta.6",
4
- "description": "一个基于 vue 的 PC 端表格组件,支持增删改查、虚拟列表、虚拟树、懒加载、快捷菜单、数据校验、树形结构、打印导出、表单渲染、数据分页、弹窗、自定义模板、渲染器等...",
3
+ "version": "3.7.0-beta.7",
4
+ "description": "一个基于 vue 的 PC 端表格组件,支持增删改查、虚拟列表、虚拟树、懒加载、快捷菜单、数据校验、树形结构、打印导出、表单渲染、数据分页、弹窗、自定义模板、渲染器、JSON 配置式为零代码而设计...",
5
5
  "scripts": {
6
6
  "update": "npm install --legacy-peer-deps",
7
7
  "serve": "vue-cli-service serve",
@@ -171,12 +171,16 @@ export default {
171
171
  }
172
172
  })
173
173
  const filterList = this.getCheckedFilters()
174
+ const params = { $table: this, $event: evnt, column, field, property: field, values, datas, filters: filterList, filterList }
174
175
  // 如果是服务端筛选,则跳过本地筛选处理
175
176
  if (!filterOpts.remote) {
176
177
  this.handleTableData(true)
177
178
  this.checkSelectionStatus()
178
179
  }
179
- this.emitEvent('filter-change', { column, field, property: field, values, datas, filters: filterList, filterList }, evnt)
180
+ if (this.mouseConfig && this.mouseOpts.area && this.handleFilterEvent) {
181
+ this.handleFilterEvent(evnt, params)
182
+ }
183
+ this.emitEvent('filter-change', params, evnt)
180
184
  this.closeFilter()
181
185
  this.updateFooter().then(() => {
182
186
  const { scrollXLoad, scrollYLoad } = this
@@ -5,7 +5,7 @@ import VXETable from '../../v-x-e-table'
5
5
  import { isEnableConf, eqEmptyValue, getFuncText } from '../../tools/utils'
6
6
  import DomTools, { browse } from '../../tools/dom'
7
7
  import { createItem, handleFieldOrItem, isHiddenItem, isActivetem } from './util'
8
- import { errLog } from '../../tools/log'
8
+ import { warnLog, errLog } from '../../tools/log'
9
9
  import VxeFormConfigItem from './form-config-item'
10
10
  import VxeLoading from '../../loading/index'
11
11
  import { getSlotVNs } from '../../tools/vn'
@@ -461,10 +461,10 @@ export default {
461
461
  if (rules) {
462
462
  const itemValue = XEUtils.isUndefined(val) ? XEUtils.get(data, property) : val
463
463
  rules.forEach(rule => {
464
- const { type, trigger, required } = rule
464
+ const { type, trigger, required, validator } = rule
465
465
  if (validType === 'all' || !trigger || validType === rule.trigger) {
466
- if (XEUtils.isFunction(rule.validator)) {
467
- const customValid = rule.validator({
466
+ if (validator) {
467
+ const validParams = {
468
468
  itemValue,
469
469
  rule,
470
470
  rules,
@@ -472,7 +472,26 @@ export default {
472
472
  field: property,
473
473
  property,
474
474
  $form: this
475
- })
475
+ }
476
+ let customValid
477
+ if (XEUtils.isString(validator)) {
478
+ const gvItem = VXETable.validators.get(validator)
479
+ if (gvItem) {
480
+ if (gvItem.itemValidatorMethod) {
481
+ customValid = gvItem.itemValidatorMethod(validParams)
482
+ } else {
483
+ if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
484
+ warnLog('vxe.error.notValidators', [validator])
485
+ }
486
+ }
487
+ } else {
488
+ if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
489
+ errLog('vxe.error.notValidators', [validator])
490
+ }
491
+ }
492
+ } else {
493
+ customValid = validator(validParams)
494
+ }
476
495
  if (customValid) {
477
496
  if (XEUtils.isError(customValid)) {
478
497
  errorRules.push(new Rule({ type: 'custom', trigger, content: customValid.message, rule: new Rule(rule) }))
@@ -747,9 +747,13 @@ export default {
747
747
  break
748
748
  }
749
749
  default: {
750
- const btnMethod = VXETable.commands.get(code)
751
- if (btnMethod) {
752
- btnMethod({ code, button, $grid: this, $table: $xetable }, ...args)
750
+ const gCommandOpts = VXETable.commands.get(code)
751
+ if (gCommandOpts.commandMethod) {
752
+ gCommandOpts.commandMethod({ code, button, $grid: this, $table: $xetable }, ...args)
753
+ } else {
754
+ if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
755
+ errLog('vxe.error.notCommands', [code])
756
+ }
753
757
  }
754
758
  }
755
759
  }
@@ -624,7 +624,10 @@ export default {
624
624
  clearable: { type: Boolean, default: () => GlobalConfig.input.clearable },
625
625
  readonly: Boolean,
626
626
  disabled: Boolean,
627
- placeholder: String,
627
+ placeholder: {
628
+ type: String,
629
+ default: () => XEUtils.eqNull(GlobalConfig.input.placeholder) ? GlobalConfig.i18n('vxe.base.pleaseInput') : GlobalConfig.input.placeholder
630
+ },
628
631
  maxlength: [String, Number],
629
632
  autocomplete: { type: String, default: 'off' },
630
633
  align: String,
@@ -1,5 +1,9 @@
1
1
  export default {
2
2
  vxe: {
3
+ base: {
4
+ pleaseInput: 'Please input',
5
+ pleaseSelect: 'Select'
6
+ },
3
7
  loading: {
4
8
  text: 'Loading...'
5
9
  },
@@ -19,6 +23,9 @@ export default {
19
23
  errProp: 'Unsupported parameter "{0}", possibly "{1}".',
20
24
  colRepet: 'column.{0}="{0}" is duplicated, which may make some features unusable',
21
25
  notFunc: 'method "{0}" not exist.',
26
+ notValidators: 'Global validators "{0}" no existe.',
27
+ notFormats: 'Global formats "{0}" no existe.',
28
+ notCommands: 'Global commands "{0}" no existe.',
22
29
  notSlot: 'slot "{0}" does not exist',
23
30
  noTree: 'The tree structure does not support "{0}".',
24
31
  notProp: 'Unsupported parameters "{0}"',
@@ -1,5 +1,9 @@
1
1
  export default {
2
2
  vxe: {
3
+ base: {
4
+ pleaseInput: 'Please input',
5
+ pleaseSelect: 'Select'
6
+ },
3
7
  loading: {
4
8
  text: 'Cargando...'
5
9
  },
@@ -19,6 +23,9 @@ export default {
19
23
  errProp: 'Parámetro no compatible "{0}", posiblemente "{1}".',
20
24
  colRepet: 'columna.{0}="{0}" está duplicado, lo que puede hacer que algunas funciones sean inutilizables',
21
25
  notFunc: 'El método "{0}" no existe.',
26
+ notValidators: 'Global validators "{0}" no existe.',
27
+ notFormats: 'Global formats "{0}" no existe.',
28
+ notCommands: 'Global commands "{0}" no existe.',
22
29
  notSlot: 'La ranura "{0}" no existe.',
23
30
  noTree: 'La estructura de árbol no soporta "{0}".',
24
31
  notProp: 'Parámetros no compatibles "{0}"',
@@ -1,5 +1,9 @@
1
1
  export default {
2
2
  vxe: {
3
+ base: {
4
+ pleaseInput: 'Please input',
5
+ pleaseSelect: 'Select'
6
+ },
3
7
  loading: {
4
8
  text: 'Loading...'
5
9
  },
@@ -19,6 +23,9 @@ export default {
19
23
  errProp: 'サポートされていないパラメーター "{0}","{1}" の可能性があります',
20
24
  colRepet: 'column.{0}="{0}" が重複しているため、機能が使えなくなることがあります。',
21
25
  notFunc: 'method "{0}" はありません',
26
+ notValidators: 'Global validators "{0}" no existe.',
27
+ notFormats: 'Global formats "{0}" no existe.',
28
+ notCommands: 'Global commands "{0}" no existe.',
22
29
  notSlot: 'slot "{0}" はありません',
23
30
  noTree: 'Tree structureは "{0}" をサポートしていません',
24
31
  notProp: 'サポートされていないパラメータ "{0}"',
@@ -1,5 +1,9 @@
1
1
  export default {
2
2
  vxe: {
3
+ base: {
4
+ pleaseInput: '请输入',
5
+ pleaseSelect: '请选择'
6
+ },
3
7
  loading: {
4
8
  text: '加载中...'
5
9
  },
@@ -19,6 +23,9 @@ export default {
19
23
  errProp: '不支持的参数 "{0}",可能为 "{1}"',
20
24
  colRepet: 'column.{0}="{1}" 重复了,这可能会导致某些功能无法使用',
21
25
  notFunc: '方法 "{0}" 不存在',
26
+ notValidators: '全局校验 "{0}" 不存在',
27
+ notFormats: '全局格式化 "{0}" 不存在',
28
+ notCommands: '全局指令 "{0}" 不存在',
22
29
  notSlot: '插槽 "{0}" 不存在',
23
30
  noTree: '树结构不支持 "{0}"',
24
31
  notProp: '不支持的参数 "{0}"',
@@ -1,5 +1,9 @@
1
1
  export default {
2
2
  vxe: {
3
+ base: {
4
+ pleaseInput: '请输入',
5
+ pleaseSelect: '请选择'
6
+ },
3
7
  loading: {
4
8
  text: '加載中...'
5
9
  },
@@ -19,6 +23,9 @@ export default {
19
23
  errProp: '不支持的參數 "{0}",可能為 "{1}"',
20
24
  colRepet: 'column.{0}="{1}" 重複了,這可能會導致某些功能無法使用',
21
25
  notFunc: '方法 "{0}" 不存在',
26
+ notValidators: '全局校验 "{0}" 不存在',
27
+ notFormats: '全局格式化 "{0}" 不存在',
28
+ notCommands: '全局指令 "{0}" 不存在',
22
29
  notSlot: '插槽 "{0}" 不存在',
23
30
  noTree: '樹狀結構不支援 {0}',
24
31
  notProp: '不支持的參數 "{0}"',