vxe-table 3.4.14-beta.1 → 3.4.15

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 (45) hide show
  1. package/README.md +1 -5
  2. package/lib/filter/src/mixin.js +24 -13
  3. package/lib/filter/src/mixin.min.js +1 -1
  4. package/lib/form/src/form-item.js +5 -0
  5. package/lib/form/src/form-item.min.js +1 -1
  6. package/lib/form/src/form.js +31 -27
  7. package/lib/form/src/form.min.js +1 -1
  8. package/lib/form/src/util.js +11 -0
  9. package/lib/form/src/util.min.js +1 -1
  10. package/lib/index.umd.js +591 -1272
  11. package/lib/index.umd.min.js +1 -1
  12. package/lib/input/src/date.js +54 -0
  13. package/lib/input/src/date.min.js +1 -0
  14. package/lib/input/src/input.js +12 -59
  15. package/lib/input/src/input.min.js +1 -1
  16. package/lib/input/src/number.js +23 -0
  17. package/lib/input/src/number.min.js +1 -0
  18. package/lib/pager/src/pager.js +15 -1
  19. package/lib/pager/src/pager.min.js +1 -1
  20. package/lib/table/src/body.js +35 -12
  21. package/lib/table/src/body.min.js +1 -1
  22. package/lib/table/src/methods.js +356 -304
  23. package/lib/table/src/methods.min.js +1 -1
  24. package/lib/tools/src/dom.js +12 -1
  25. package/lib/tools/src/dom.min.js +1 -1
  26. package/lib/tooltip/src/tooltip.js +81 -44
  27. package/lib/tooltip/src/tooltip.min.js +1 -1
  28. package/lib/v-x-e-table/src/conf.js +1 -0
  29. package/lib/v-x-e-table/src/conf.min.js +1 -1
  30. package/package.json +3 -3
  31. package/packages/filter/src/mixin.js +17 -10
  32. package/packages/form/src/form-item.js +5 -0
  33. package/packages/form/src/form.js +22 -16
  34. package/packages/form/src/util.js +7 -0
  35. package/packages/input/src/date.js +38 -0
  36. package/packages/input/src/input.js +4 -46
  37. package/packages/input/src/number.js +12 -0
  38. package/packages/pager/src/pager.js +15 -1
  39. package/packages/table/src/body.js +31 -13
  40. package/packages/table/src/methods.js +63 -26
  41. package/packages/tools/src/dom.js +13 -1
  42. package/packages/tooltip/src/tooltip.js +47 -23
  43. package/packages/v-x-e-table/src/conf.js +1 -0
  44. package/README.en.md +0 -170
  45. package/README.zh-TW.md +0 -174
package/README.md CHANGED
@@ -1,7 +1,5 @@
1
1
  # vxe-table
2
2
 
3
- 简体中文 | [繁體中文](README.zh-TW.md) | [English](README.en.md)
4
-
5
3
  [![star](https://gitee.com/xuliangzhan_admin/vxe-table/badge/star.svg?theme=gvp)](https://gitee.com/xuliangzhan_admin/vxe-table/stargazers)
6
4
  [![npm version](https://img.shields.io/npm/v/vxe-table.svg?style=flat-square)](https://www.npmjs.com/package/vxe-table)
7
5
  [![npm build](https://travis-ci.com/x-extends/vxe-table.svg?branch=master)](https://travis-ci.com/x-extends/vxe-table)
@@ -145,9 +143,7 @@ export default {
145
143
 
146
144
  ## 文档
147
145
 
148
- 💡 [使用指南](https://github.com/xuliangzhan/vxe-table-demo)
149
- 👉 [查看演示](https://xuliangzhan_admin.gitee.io/vxe-table/) [👀备用地址1](https://x-extends.github.io/vxe-table/#/table/base/basic)
150
- 👉 [查看文档](https://xuliangzhan_admin.gitee.io/vxe-table/#/table/api) [👀备用地址1](https://x-extends.github.io/vxe-table/#/table/api)
146
+ 👉 [查看文档](https://vxetable.cn)
151
147
 
152
148
  ## 运行项目
153
149
 
@@ -227,8 +227,8 @@ var _default = {
227
227
 
228
228
  var filterStore = this.filterStore,
229
229
  filterOpts = this.filterOpts,
230
- scrollXLoad = this.scrollXLoad,
231
- scrollYLoad = this.scrollYLoad;
230
+ oldScrollXLoad = this.scrollXLoad,
231
+ oldScrollYLoad = this.scrollYLoad;
232
232
  var column = filterStore.column;
233
233
  var property = column.property;
234
234
  var values = [];
@@ -244,15 +244,6 @@ var _default = {
244
244
  if (!filterOpts.remote) {
245
245
  this.handleTableData(true);
246
246
  this.checkSelectionStatus();
247
- this.updateFooter();
248
-
249
- if (scrollXLoad || scrollYLoad) {
250
- this.refreshScroll();
251
-
252
- if (scrollYLoad) {
253
- this.updateScrollYSpace();
254
- }
255
- }
256
247
  }
257
248
 
258
249
  this.emitEvent('filter-change', {
@@ -264,10 +255,30 @@ var _default = {
264
255
  filterList: filterList
265
256
  }, evnt);
266
257
  this.closeFilter();
267
- this.$nextTick(function () {
268
- _this2.recalculate();
258
+ this.updateFooter().then(function () {
259
+ var scrollXLoad = _this2.scrollXLoad,
260
+ scrollYLoad = _this2.scrollYLoad;
261
+
262
+ if (oldScrollXLoad || scrollXLoad || oldScrollYLoad || scrollYLoad) {
263
+ if (oldScrollXLoad || scrollXLoad) {
264
+ _this2.updateScrollXSpace();
265
+ }
266
+
267
+ if (oldScrollYLoad || scrollYLoad) {
268
+ _this2.updateScrollYSpace();
269
+ }
269
270
 
271
+ return _this2.refreshScroll();
272
+ }
273
+ }).then(function () {
270
274
  _this2.updateCellAreas();
275
+
276
+ return _this2.recalculate(true);
277
+ }).then(function () {
278
+ // 存在滚动行为未结束情况
279
+ setTimeout(function () {
280
+ return _this2.recalculate();
281
+ }, 50);
271
282
  });
272
283
  },
273
284
  handleClearFilter: function handleClearFilter(column) {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_tools=require("../../tools"),_util=require("../../table/src/util"),_vXETable=_interopRequireDefault(require("../../v-x-e-table"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default={methods:{_openFilter:function(e){var t=(0,_util.handleFieldOrColumn)(this,e);if(t&&t.filters){var i=this.elemStore,l=t.fixed;return this.scrollToColumn(t).then(function(){var e=i["".concat(l||"main","-header-wrapper")]||i["main-header-wrapper"];e&&(e=e.querySelector(".vxe-header--column.".concat(t.id," .vxe-filter--btn")),_tools.DomTools.triggerEvent(e,"click"))})}return this.$nextTick()},_setFilter:function(e,t){e=(0,_util.handleFieldOrColumn)(this,e);return e&&e.filters&&t&&(e.filters=_tools.UtilTools.getFilters(t)),this.$nextTick()},checkFilterOptions:function(){var e=this.filterStore;e.isAllSelected=e.options.every(function(e){return e._checked}),e.isIndeterminate=!e.isAllSelected&&e.options.some(function(e){return e._checked})},triggerFilterEvent:function(e,u,t){var h,d,i,l,r,o,p,v=this,m=this.filterStore;m.column===u&&m.visible?m.visible=!1:(h=e.target,d=e.pageX,i=u.filters,l=u.filterMultiple,r=(r=u.filterRender)?_vXETable.default.renderer.get(r.name):null,o=u.filterRecoverMethod||(r?r.filterRecoverMethod:null),p=_tools.DomTools.getDomNode().visibleWidth,Object.assign(m,{args:t,multiple:l,options:i,column:u,style:null,visible:!0}),m.options.forEach(function(e){var t=e._checked,i=e.checked;(e._checked=i)||t===i||o&&o({option:e,column:u,$table:v})}),this.checkFilterOptions(),this.initStore.filter=!0,this.$nextTick(function(){var e=v.$refs,t=e.tableBody.$el,i=e.filterWrapper.$el,l=0,r=0,o=null,n=null;i&&(l=i.offsetWidth,r=i.offsetHeight,o=i.querySelector(".vxe-table--filter-header"),n=i.querySelector(".vxe-table--filter-footer"));var s,f,a=l/2,c=t.clientWidth-l-10,e={top:"".concat(h.offsetTop+h.offsetParent.offsetTop+h.offsetHeight+8,"px")},i=null;r>=t.clientHeight&&(i=Math.max(60,t.clientHeight-(n?n.offsetHeight:0)-(o?o.offsetHeight:0))),"left"===u.fixed?s=h.offsetLeft+h.offsetParent.offsetLeft-a:"right"===u.fixed?f=h.offsetParent.offsetWidth-h.offsetLeft+(h.offsetParent.offsetParent.offsetWidth-h.offsetParent.offsetLeft)-u.renderWidth-a:s=h.offsetLeft+h.offsetParent.offsetLeft-a-t.scrollLeft,s?(0<(t=d+l-a+10-p)&&(s-=t),e.left="".concat(Math.min(c,Math.max(10,s)),"px")):f&&(0<(a=d+l-a+10-p)&&(f+=a),e.right="".concat(Math.max(10,f),"px")),m.style=e,m.maxHeight=i})),this.emitEvent("filter-visible",{column:u,property:u.property,filterList:this.getCheckedFilters(),visible:m.visible},e)},_getCheckedFilters:function(){var e=this.tableFullColumn,o=[];return e.filter(function(e){var t=e.property,i=e.filters,l=[],r=[];i&&i.length&&(i.forEach(function(e){e.checked&&(l.push(e.value),r.push(e.data))}),l.length&&o.push({column:e,property:t,values:l,datas:r}))}),o},confirmFilterEvent:function(e){var t=this,i=this.filterStore,l=this.filterOpts,r=this.scrollXLoad,o=this.scrollYLoad,n=i.column,s=n.property,f=[],a=[];n.filters.forEach(function(e){e.checked&&(f.push(e.value),a.push(e.data))});i=this.getCheckedFilters();l.remote||(this.handleTableData(!0),this.checkSelectionStatus(),this.updateFooter(),(r||o)&&(this.refreshScroll(),o&&this.updateScrollYSpace())),this.emitEvent("filter-change",{column:n,property:s,values:f,datas:a,filters:i,filterList:i},e),this.closeFilter(),this.$nextTick(function(){t.recalculate(),t.updateCellAreas()})},handleClearFilter:function(e){var t,i,l;e&&(t=e.filters,i=e.filterRender,t&&(i=i?_vXETable.default.renderer.get(i.name):null,l=e.filterResetMethod||(i?i.filterResetMethod:null),t.forEach(function(e){e._checked=!1,e.checked=!1,l||(e.data=_xeUtils.default.clone(e.resetValue,!0))}),l&&l({options:t,column:e,$table:this})))},resetFilterEvent:function(e){this.handleClearFilter(this.filterStore.column),this.confirmFilterEvent(e)},_clearFilter:function(e){var t,i=this.filterStore;return e?(t=(0,_util.handleFieldOrColumn)(this,e))&&this.handleClearFilter(t):this.visibleColumn.forEach(this.handleClearFilter),e&&t===i.column||Object.assign(i,{isAllSelected:!1,isIndeterminate:!1,style:null,options:[],column:null,multiple:!1,visible:!1}),this.updateData()}}};exports.default=_default;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_tools=require("../../tools"),_util=require("../../table/src/util"),_vXETable=_interopRequireDefault(require("../../v-x-e-table"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default={methods:{_openFilter:function(e){var t=(0,_util.handleFieldOrColumn)(this,e);if(t&&t.filters){var l=this.elemStore,i=t.fixed;return this.scrollToColumn(t).then(function(){var e=l["".concat(i||"main","-header-wrapper")]||l["main-header-wrapper"];e&&(e=e.querySelector(".vxe-header--column.".concat(t.id," .vxe-filter--btn")),_tools.DomTools.triggerEvent(e,"click"))})}return this.$nextTick()},_setFilter:function(e,t){e=(0,_util.handleFieldOrColumn)(this,e);return e&&e.filters&&t&&(e.filters=_tools.UtilTools.getFilters(t)),this.$nextTick()},checkFilterOptions:function(){var e=this.filterStore;e.isAllSelected=e.options.every(function(e){return e._checked}),e.isIndeterminate=!e.isAllSelected&&e.options.some(function(e){return e._checked})},triggerFilterEvent:function(e,u,t){var h,d,l,i,r,o,p,v=this,m=this.filterStore;m.column===u&&m.visible?m.visible=!1:(h=e.target,d=e.pageX,l=u.filters,i=u.filterMultiple,r=(r=u.filterRender)?_vXETable.default.renderer.get(r.name):null,o=u.filterRecoverMethod||(r?r.filterRecoverMethod:null),p=_tools.DomTools.getDomNode().visibleWidth,Object.assign(m,{args:t,multiple:i,options:l,column:u,style:null,visible:!0}),m.options.forEach(function(e){var t=e._checked,l=e.checked;(e._checked=l)||t===l||o&&o({option:e,column:u,$table:v})}),this.checkFilterOptions(),this.initStore.filter=!0,this.$nextTick(function(){var e=v.$refs,t=e.tableBody.$el,l=e.filterWrapper.$el,i=0,r=0,o=null,n=null;l&&(i=l.offsetWidth,r=l.offsetHeight,o=l.querySelector(".vxe-table--filter-header"),n=l.querySelector(".vxe-table--filter-footer"));var s,f,a=i/2,c=t.clientWidth-i-10,e={top:"".concat(h.offsetTop+h.offsetParent.offsetTop+h.offsetHeight+8,"px")},l=null;r>=t.clientHeight&&(l=Math.max(60,t.clientHeight-(n?n.offsetHeight:0)-(o?o.offsetHeight:0))),"left"===u.fixed?s=h.offsetLeft+h.offsetParent.offsetLeft-a:"right"===u.fixed?f=h.offsetParent.offsetWidth-h.offsetLeft+(h.offsetParent.offsetParent.offsetWidth-h.offsetParent.offsetLeft)-u.renderWidth-a:s=h.offsetLeft+h.offsetParent.offsetLeft-a-t.scrollLeft,s?(0<(t=d+i-a+10-p)&&(s-=t),e.left="".concat(Math.min(c,Math.max(10,s)),"px")):f&&(0<(a=d+i-a+10-p)&&(f+=a),e.right="".concat(Math.max(10,f),"px")),m.style=e,m.maxHeight=l})),this.emitEvent("filter-visible",{column:u,property:u.property,filterList:this.getCheckedFilters(),visible:m.visible},e)},_getCheckedFilters:function(){var e=this.tableFullColumn,o=[];return e.filter(function(e){var t=e.property,l=e.filters,i=[],r=[];l&&l.length&&(l.forEach(function(e){e.checked&&(i.push(e.value),r.push(e.data))}),i.length&&o.push({column:e,property:t,values:i,datas:r}))}),o},confirmFilterEvent:function(e){var l=this,t=this.filterStore,i=this.filterOpts,r=this.scrollXLoad,o=this.scrollYLoad,n=t.column,s=n.property,f=[],a=[];n.filters.forEach(function(e){e.checked&&(f.push(e.value),a.push(e.data))});t=this.getCheckedFilters();i.remote||(this.handleTableData(!0),this.checkSelectionStatus()),this.emitEvent("filter-change",{column:n,property:s,values:f,datas:a,filters:t,filterList:t},e),this.closeFilter(),this.updateFooter().then(function(){var e=l.scrollXLoad,t=l.scrollYLoad;if(r||e||o||t)return(r||e)&&l.updateScrollXSpace(),(o||t)&&l.updateScrollYSpace(),l.refreshScroll()}).then(function(){return l.updateCellAreas(),l.recalculate(!0)}).then(function(){setTimeout(function(){return l.recalculate()},50)})},handleClearFilter:function(e){var t,l,i;e&&(t=e.filters,l=e.filterRender,t&&(l=l?_vXETable.default.renderer.get(l.name):null,i=e.filterResetMethod||(l?l.filterResetMethod:null),t.forEach(function(e){e._checked=!1,e.checked=!1,i||(e.data=_xeUtils.default.clone(e.resetValue,!0))}),i&&i({options:t,column:e,$table:this})))},resetFilterEvent:function(e){this.handleClearFilter(this.filterStore.column),this.confirmFilterEvent(e)},_clearFilter:function(e){var t,l=this.filterStore;return e?(t=(0,_util.handleFieldOrColumn)(this,e))&&this.handleClearFilter(t):this.visibleColumn.forEach(this.handleClearFilter),e&&t===l.column||Object.assign(l,{isAllSelected:!1,isIndeterminate:!1,style:null,options:[],column:null,multiple:!1,visible:!1}),this.updateData()}}};exports.default=_default;
@@ -172,6 +172,11 @@ var _default = {
172
172
  default: null
173
173
  }
174
174
  },
175
+ data: function data() {
176
+ return {
177
+ itemConfig: null
178
+ };
179
+ },
175
180
  watch: watch,
176
181
  mounted: function mounted() {
177
182
  (0, _util.assemItem)(this);
@@ -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")),_vXETable=_interopRequireDefault(require("../../v-x-e-table")),_tools=require("../../tools"),_util=require("./util"),_render=require("./render");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var props={title:String,field:String,size:String,span:[String,Number],align:String,titleAlign:String,titleWidth:[String,Number],className:[String,Function],titleOverflow:{type:[Boolean,String],default:null},titlePrefix:Object,titleSuffix:Object,resetValue:{default:null},visible:{type:Boolean,default:null},visibleMethod:Function,folding:Boolean,collapseNode:Boolean,itemRender:Object},watch={};Object.keys(props).forEach(function(t){watch[t]=function(e){this.itemConfig.update(t,e)}});var renderItem=function(e,t,i,l){var n,r=t.rules,o=t.data,a=t.collapseAll,s=t.validOpts,u=t.titleOverflow,d=i.title,c=i.folding,f=i.visible,m=i.visibleMethod,v=i.field,g=i.collapseNode,p=i.itemRender,x=i.showError,_=i.errRule,h=i.className,b=i.titleOverflow,O=(0,_tools.isEnableConf)(p)?_vXETable.default.renderer.get(p.name):null,q=i.span||t.span,I=i.align||t.align,N=i.titleAlign||t.titleAlign,S=i.titleWidth||t.titleWidth,w=m,m=_xeUtils.default.isUndefined(b)||_xeUtils.default.isNull(b)?u:b,u="title"===m,b=!0===m||"tooltip"===m,m=u||b||"ellipsis"===m,y={data:o,property:v,item:i,$form:t};!w&&O&&O.itemVisibleMethod&&(w=O.itemVisibleMethod),!r||(F=r[v])&&(n=F.some(function(e){return e.required}));var F=[];l&&l.default?F=t.callSlot(l.default,y,e):O&&O.renderItemContent?F=O.renderItemContent.call(t,e,p,y):O&&O.renderItem?F=O.renderItem.call(t,e,p,y):v&&(F=["".concat(_xeUtils.default.get(o,v))]);b=b?{mouseenter:function(e){t.triggerHeaderHelpEvent(e,y)},mouseleave:t.handleTargetLeaveEvent}:{};return e("div",{class:["vxe-form--item",i.id,q?"vxe-col--".concat(q," is--span"):null,h?_xeUtils.default.isFunction(h)?h(y):h:"",{"is--title":d,"is--required":n,"is--hidden":!1===f||c&&a,"is--active":!w||w(y),"is--error":x}]},[e("div",{class:"vxe-form--item-inner"},[d||l&&l.title?e("div",{class:["vxe-form--item-title",N?"align--".concat(N):null,{"is--ellipsis":m}],style:S?{width:isNaN(S)?S:"".concat(S,"px")}:null,attrs:{title:u?_tools.UtilTools.getFuncText(d):null},on:b},(0,_render.renderTitle)(e,t,i)):null,e("div",{class:["vxe-form--item-content",I?"align--".concat(I):null]},F.concat([g?e("div",{class:"vxe-form--item-trigger-node",on:{click:t.toggleCollapseEvent}},[e("span",{class:"vxe-form--item-trigger-text"},a?_conf.default.i18n("vxe.form.unfolding"):_conf.default.i18n("vxe.form.folding")),e("i",{class:["vxe-form--item-trigger-icon",a?_conf.default.icon.FORM_FOLDING:_conf.default.icon.FORM_UNFOLDING]})]):null,_&&s.showMessage?e("div",{class:"vxe-form--item-valid",style:_.maxWidth?{width:"".concat(_.maxWidth,"px")}:null},_.message):null]))])])},_default={name:"VxeFormItem",props:props,inject:{$xeform:{default:null},xeformgather:{default:null}},watch:watch,mounted:function(){(0,_util.assemItem)(this)},created:function(){this.itemConfig=(0,_util.createItem)(this.$xeform,this)},destroyed:function(){(0,_util.destroyItem)(this)},render:function(e){var t=this.$xeform;return t&&t.customLayout?renderItem(e,t,this.itemConfig,this.$scopedSlots):e("div")}};exports.default=_default;
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")),_vXETable=_interopRequireDefault(require("../../v-x-e-table")),_tools=require("../../tools"),_util=require("./util"),_render=require("./render");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var props={title:String,field:String,size:String,span:[String,Number],align:String,titleAlign:String,titleWidth:[String,Number],className:[String,Function],titleOverflow:{type:[Boolean,String],default:null},titlePrefix:Object,titleSuffix:Object,resetValue:{default:null},visible:{type:Boolean,default:null},visibleMethod:Function,folding:Boolean,collapseNode:Boolean,itemRender:Object},watch={};Object.keys(props).forEach(function(t){watch[t]=function(e){this.itemConfig.update(t,e)}});var renderItem=function(e,t,i,l){var n,r=t.rules,o=t.data,a=t.collapseAll,s=t.validOpts,u=t.titleOverflow,d=i.title,f=i.folding,c=i.visible,m=i.visibleMethod,v=i.field,g=i.collapseNode,p=i.itemRender,x=i.showError,_=i.errRule,h=i.className,b=i.titleOverflow,O=(0,_tools.isEnableConf)(p)?_vXETable.default.renderer.get(p.name):null,q=i.span||t.span,I=i.align||t.align,N=i.titleAlign||t.titleAlign,S=i.titleWidth||t.titleWidth,w=m,m=_xeUtils.default.isUndefined(b)||_xeUtils.default.isNull(b)?u:b,u="title"===m,b=!0===m||"tooltip"===m,m=u||b||"ellipsis"===m,y={data:o,property:v,item:i,$form:t};!w&&O&&O.itemVisibleMethod&&(w=O.itemVisibleMethod),!r||(F=r[v])&&(n=F.some(function(e){return e.required}));var F=[];l&&l.default?F=t.callSlot(l.default,y,e):O&&O.renderItemContent?F=O.renderItemContent.call(t,e,p,y):O&&O.renderItem?F=O.renderItem.call(t,e,p,y):v&&(F=["".concat(_xeUtils.default.get(o,v))]);b=b?{mouseenter:function(e){t.triggerHeaderHelpEvent(e,y)},mouseleave:t.handleTargetLeaveEvent}:{};return e("div",{class:["vxe-form--item",i.id,q?"vxe-col--".concat(q," is--span"):null,h?_xeUtils.default.isFunction(h)?h(y):h:"",{"is--title":d,"is--required":n,"is--hidden":!1===c||f&&a,"is--active":!w||w(y),"is--error":x}]},[e("div",{class:"vxe-form--item-inner"},[d||l&&l.title?e("div",{class:["vxe-form--item-title",N?"align--".concat(N):null,{"is--ellipsis":m}],style:S?{width:isNaN(S)?S:"".concat(S,"px")}:null,attrs:{title:u?_tools.UtilTools.getFuncText(d):null},on:b},(0,_render.renderTitle)(e,t,i)):null,e("div",{class:["vxe-form--item-content",I?"align--".concat(I):null]},F.concat([g?e("div",{class:"vxe-form--item-trigger-node",on:{click:t.toggleCollapseEvent}},[e("span",{class:"vxe-form--item-trigger-text"},a?_conf.default.i18n("vxe.form.unfolding"):_conf.default.i18n("vxe.form.folding")),e("i",{class:["vxe-form--item-trigger-icon",a?_conf.default.icon.FORM_FOLDING:_conf.default.icon.FORM_UNFOLDING]})]):null,_&&s.showMessage?e("div",{class:"vxe-form--item-valid",style:_.maxWidth?{width:"".concat(_.maxWidth,"px")}:null},_.message):null]))])])},_default={name:"VxeFormItem",props:props,inject:{$xeform:{default:null},xeformgather:{default:null}},data:function(){return{itemConfig:null}},watch:watch,mounted:function(){(0,_util.assemItem)(this)},created:function(){this.itemConfig=(0,_util.createItem)(this.$xeform,this)},destroyed:function(){(0,_util.destroyItem)(this)},render:function(e){var t=this.$xeform;return t&&t.customLayout?renderItem(e,t,this.itemConfig,this.$scopedSlots):e("div")}};exports.default=_default;
@@ -464,6 +464,15 @@ var _default2 = {
464
464
 
465
465
  return itemList;
466
466
  },
467
+ getItemByField: function getItemByField(field) {
468
+ var rest = _xeUtils.default.findTree(this.formItems, function (item) {
469
+ return item.field === field;
470
+ }, {
471
+ children: 'children'
472
+ });
473
+
474
+ return rest ? rest.item : null;
475
+ },
467
476
  toggleCollapse: function toggleCollapse() {
468
477
  var status = !this.collapseAll;
469
478
  this.collapseAll = status;
@@ -606,13 +615,18 @@ var _default2 = {
606
615
  var _this6 = this;
607
616
 
608
617
  var tooltipOpts = this.tooltipOpts;
618
+ var $tooltip = this.$refs.tooltip;
609
619
  this.tooltipActive = false;
610
620
 
621
+ if ($tooltip) {
622
+ $tooltip.setActived(false);
623
+ }
624
+
611
625
  if (tooltipOpts.enterable) {
612
626
  this.tooltipTimeout = setTimeout(function () {
613
- var $tooltip = _this6.$refs.tooltip;
627
+ $tooltip = _this6.$refs.tooltip;
614
628
 
615
- if ($tooltip && !$tooltip.isHover) {
629
+ if ($tooltip && !$tooltip.isActived()) {
616
630
  _this6.closeTooltip();
617
631
  }
618
632
  }, tooltipOpts.leaveDelay);
@@ -620,19 +634,15 @@ var _default2 = {
620
634
  this.closeTooltip();
621
635
  }
622
636
  },
623
- clearValidate: function clearValidate(field) {
624
- var itemList = this.getItems();
625
-
626
- if (field) {
627
- var item = itemList.find(function (item) {
628
- return item.field === field;
629
- });
637
+ clearValidate: function clearValidate(fieldOrItem) {
638
+ if (fieldOrItem) {
639
+ var item = (0, _util.handleFieldOrItem)(this, fieldOrItem);
630
640
 
631
641
  if (item) {
632
642
  item.showError = false;
633
643
  }
634
644
  } else {
635
- itemList.forEach(function (item) {
645
+ this.getItems().forEach(function (item) {
636
646
  item.showError = false;
637
647
  });
638
648
  }
@@ -643,10 +653,9 @@ var _default2 = {
643
653
  this.clearValidate();
644
654
  return this.beginValidate(this.getItems(), '', callback);
645
655
  },
646
- validateField: function validateField(field, callback) {
647
- return this.beginValidate(this.getItems().filter(function (item) {
648
- return item.field === field;
649
- }), '', callback);
656
+ validateField: function validateField(fieldOrItem, callback) {
657
+ var item = (0, _util.handleFieldOrItem)(this, fieldOrItem);
658
+ return this.beginValidate(item ? [item] : [], '', callback);
650
659
  },
651
660
  beginValidate: function beginValidate(itemList, type, callback) {
652
661
  var _this7 = this;
@@ -694,7 +703,7 @@ var _default2 = {
694
703
  callback();
695
704
  }
696
705
  }).catch(function () {
697
- return new Promise(function (resolve, reject) {
706
+ return new Promise(function (resolve) {
698
707
  _this7.showErrTime = setTimeout(function () {
699
708
  itemList.forEach(function (item) {
700
709
  if (item.errRule) {
@@ -713,7 +722,7 @@ var _default2 = {
713
722
  callback(validRest);
714
723
  resolve();
715
724
  } else {
716
- reject(validRest);
725
+ resolve(validRest);
717
726
  }
718
727
  });
719
728
  });
@@ -814,12 +823,11 @@ var _default2 = {
814
823
  });
815
824
  },
816
825
  handleFocus: function handleFocus(fields) {
826
+ var _this9 = this;
827
+
817
828
  var $el = this.$el;
818
- var itemList = this.getItems();
819
829
  fields.some(function (property, index) {
820
- var item = itemList.find(function (item) {
821
- return item.field === property;
822
- });
830
+ var item = _this9.getItemByField(property);
823
831
 
824
832
  if (item && (0, _tools.isEnableConf)(item.itemRender)) {
825
833
  var itemRender = item.itemRender;
@@ -863,21 +871,17 @@ var _default2 = {
863
871
  * 如果单元格配置了校验规则,则会进行校验
864
872
  */
865
873
  updateStatus: function updateStatus(scope, itemValue) {
866
- var _this9 = this;
874
+ var _this10 = this;
867
875
 
868
876
  var property = scope.property;
869
877
 
870
878
  if (property) {
871
879
  this.validItemRules('change', property, itemValue).then(function () {
872
- _this9.clearValidate(property);
880
+ _this10.clearValidate(property);
873
881
  }).catch(function (_ref3) {
874
882
  var rule = _ref3.rule;
875
883
 
876
- var itemList = _this9.getItems();
877
-
878
- var item = itemList.find(function (item) {
879
- return item.field === property;
880
- });
884
+ var item = _this10.getItemByField(property);
881
885
 
882
886
  if (item) {
883
887
  item.showError = 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")),_size=_interopRequireDefault(require("../../mixins/size")),_vXETable=_interopRequireDefault(require("../../v-x-e-table")),_tools=require("../../tools"),_util=require("./util"),_render=require("./render"),_utils=require("../../tools/src/utils"),_dom=require("../../tools/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function ownKeys(t,e){var i,r=Object.keys(t);return Object.getOwnPropertySymbols&&(i=Object.getOwnPropertySymbols(t),e&&(i=i.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,i)),r}function _objectSpread(t){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{};e%2?ownKeys(Object(i),!0).forEach(function(e){_defineProperty(t,e,i[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):ownKeys(Object(i)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))})}return t}function _defineProperty(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,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 i=0;i<t.length;i++){var r=t[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function _createClass(e,t,i){return t&&_defineProperties(e.prototype,t),i&&_defineProperties(e,i),e}var Rule=function(){function t(e){_classCallCheck(this,t),Object.assign(this,{$options:e,required:e.required,min:e.min,max:e.min,type:e.type,pattern:e.pattern,validator:e.validator,trigger:e.trigger,maxWidth:e.maxWidth})}return _createClass(t,[{key:"content",get:function(){return _tools.UtilTools.getFuncText(this.$options.content||this.$options.message)}},{key:"message",get:function(){return this.content}}]),t}();function validErrorRuleValue(e,t){var i=e.type,r=e.min,l=e.max,o=e.pattern,e="number"===i,i=e?_xeUtils.default.toNumber(t):_xeUtils.default.getSize(t);return!(!e||!isNaN(t))||(!_xeUtils.default.eqNull(r)&&i<_xeUtils.default.toNumber(r)||(!_xeUtils.default.eqNull(l)&&i>_xeUtils.default.toNumber(l)||!(!o||(_xeUtils.default.isRegExp(o)?o:new RegExp(o)).test(t))))}function getResetValue(e,t){return t=_xeUtils.default.isArray(e)?[]:t}function renderItems(w,$,e){var U=$._e,R=$.rules,S=$.data,I=$.collapseAll,P=$.validOpts,j=$.titleOverflow;return e.map(function(e,t){var i,r=e.slots,l=e.title,o=e.folding,n=e.visible,s=e.visibleMethod,a=e.field,u=e.collapseNode,c=e.itemRender,f=e.showError,d=e.errRule,m=e.className,h=e.titleOverflow,p=e.children,v=(0,_tools.isEnableConf)(c)?_vXETable.default.renderer.get(c.name):null,g=e.span||$.span,_=e.align||$.align,x=e.titleAlign||$.titleAlign,b=e.titleWidth||$.titleWidth,y=s,E=_xeUtils.default.isUndefined(h)||_xeUtils.default.isNull(h)?j:h,s="title"===E,h=!0===E||"tooltip"===E,E=s||h||"ellipsis"===E,O={data:S,field:a,property:a,item:e,$form:$};if(!1===n)return U();if(p&&0<p.length){p=renderItems(w,$,e.children);return p.length?w("div",{class:["vxe-form--gather vxe-row",e.id,g?"vxe-col--".concat(g," is--span"):"",m?_xeUtils.default.isFunction(m)?m(O):m:""]},p):U()}!y&&v&&v.itemVisibleMethod&&(y=v.itemVisibleMethod),!R||(T=R[a])&&(i=T.some(function(e){return e.required}));var T=[];r&&r.default?T=$.callSlot(r.default,O,w):v&&v.renderItemContent?T=v.renderItemContent.call($,w,c,O):v&&v.renderItem?T=v.renderItem.call($,w,c,O):a&&(T=["".concat(_xeUtils.default.get(S,a))]);h=h?{mouseenter:function(e){$.triggerHeaderHelpEvent(e,O)},mouseleave:$.handleTargetLeaveEvent}:{};return w("div",{class:["vxe-form--item",e.id,g?"vxe-col--".concat(g," is--span"):null,m?_xeUtils.default.isFunction(m)?m(O):m:"",{"is--title":l,"is--required":i,"is--hidden":o&&I,"is--active":!y||y(O),"is--error":f}],key:t},[w("div",{class:"vxe-form--item-inner"},[l||r&&r.title?w("div",{class:["vxe-form--item-title",x?"align--".concat(x):null,{"is--ellipsis":E}],style:b?{width:isNaN(b)?b:"".concat(b,"px")}:null,attrs:{title:s?_tools.UtilTools.getFuncText(l):null},on:h},(0,_render.renderTitle)(w,$,e)):null,w("div",{class:["vxe-form--item-content",_?"align--".concat(_):null]},T.concat([u?w("div",{class:"vxe-form--item-trigger-node",on:{click:$.toggleCollapseEvent}},[w("span",{class:"vxe-form--item-trigger-text"},I?_conf.default.i18n("vxe.form.unfolding"):_conf.default.i18n("vxe.form.folding")),w("i",{class:["vxe-form--item-trigger-icon",I?_conf.default.icon.FORM_FOLDING:_conf.default.icon.FORM_UNFOLDING]})]):null,d&&P.showMessage?w("div",{class:"vxe-form--item-valid",style:d.maxWidth?{width:"".concat(d.maxWidth,"px")}:null},d.content):null]))])])})}var _default2={name:"VxeForm",mixins:[_size.default],props:{collapseStatus:{type:Boolean,default:!0},loading:Boolean,data:Object,size:{type:String,default:function(){return _conf.default.form.size||_conf.default.size}},span:{type:[String,Number],default:function(){return _conf.default.form.span}},align:{type:String,default:function(){return _conf.default.form.align}},titleAlign:{type:String,default:function(){return _conf.default.form.titleAlign}},titleWidth:{type:[String,Number],default:function(){return _conf.default.form.titleWidth}},titleColon:{type:Boolean,default:function(){return _conf.default.form.titleColon}},titleAsterisk:{type:Boolean,default:function(){return _conf.default.form.titleAsterisk}},titleOverflow:{type:[Boolean,String],default:null},className:[String,Function],items:Array,rules:Object,preventSubmit:{type:Boolean,default:function(){return _conf.default.form.preventSubmit}},validConfig:Object,customLayout:{type:Boolean,default:function(){return _conf.default.form.customLayout}}},data:function(){return{collapseAll:this.collapseStatus,staticItems:[],formItems:[],tooltipTimeout:null,tooltipActive:!1,tooltipStore:{item:null,visible:!1}}},provide:function(){return{$xeform:this}},computed:{validOpts:function(){return Object.assign({},_conf.default.form.validConfig,this.validConfig)},tooltipOpts:function(){var e=Object.assign({leaveDelay:300},_conf.default.form.tooltipConfig,this.tooltipConfig);return e.enterable&&(e.leaveMethod=this.handleTooltipLeaveMethod),e}},watch:{staticItems:function(e){this.formItems=e},items:function(e){this.loadItem(e)},collapseStatus:function(e){this.collapseAll=!!e}},created:function(){var t=this;this.$nextTick(function(){var e=t.items;"development"===process.env.NODE_ENV&&t.customLayout&&t.items&&_tools.UtilTools.error("vxe.error.errConflicts",["custom-layout","items"]),e&&t.loadItem(e)})},render:function(e){var t=this._e,i=this.loading,r=this.className,l=this.data,o=this.vSize,n=this.tooltipOpts,s=this.formItems,a=this.customLayout,u=_vXETable.default._tooltip;return e("form",{class:["vxe-form",r?_xeUtils.default.isFunction(r)?r({items:s,data:l,$form:this}):r:"",(_defineProperty(r={},"size--".concat(o),o),_defineProperty(r,"is--colon",this.titleColon),_defineProperty(r,"is--asterisk",this.titleAsterisk),_defineProperty(r,"is--loading",i),r)],on:{submit:this.submitEvent,reset:this.resetEvent}},[e("div",{class:"vxe-form--wrapper vxe-row"},a?this.$slots.default:renderItems(e,this,s)),e("div",{class:"vxe-form-slots",ref:"hideItem"},a?[]:this.$slots.default),e("div",{class:["vxe-loading",{"is--visible":i}]},[e("div",{class:"vxe-loading--spinner"})]),u?e("vxe-tooltip",_objectSpread({ref:"tooltip"},n)):t()])},methods:{callSlot:function(e,t,i){if(e){var r=this.$scopedSlots;if(_xeUtils.default.isString(e)&&(e=r[e]||null),_xeUtils.default.isFunction(e))return e.call(this,t,i)}return[]},loadItem:function(e){var t,i=this;return"development"===process.env.NODE_ENV&&(t=this.$scopedSlots,e.forEach(function(e){e.slots&&_xeUtils.default.each(e.slots,function(e){_xeUtils.default.isFunction(e)||t[e]||_tools.UtilTools.error("vxe.error.notSlot",[e])})})),this.staticItems=_xeUtils.default.mapTree(e,function(e){return(0,_util.createItem)(i,e)},{children:"children"}),this.$nextTick()},getItems:function(){var t=[];return _xeUtils.default.eachTree(this.formItems,function(e){t.push(e)},{children:"children"}),t},toggleCollapse:function(){var e=!this.collapseAll;return this.collapseAll=e,this.$emit("update:collapseStatus",e),this.$nextTick()},toggleCollapseEvent:function(e){this.toggleCollapse();var t=this.collapseAll;this.$emit("toggle-collapse",{status:t,collapse:t,data:this.data,$form:this,$event:e},e),this.$emit("collapse",{status:t,collapse:t,data:this.data,$form:this,$event:e},e)},submitEvent:function(t){var i=this;t.preventDefault(),this.preventSubmit||(this.clearValidate(),this.beginValidate(this.getItems()).then(function(){i.$emit("submit",{data:i.data,$form:i,$event:t})}).catch(function(e){i.$emit("submit-invalid",{data:i.data,errMap:e,$form:i,$event:t})}))},reset:function(){var l=this,o=this.data;return o&&this.getItems().forEach(function(e){var t=e.field,i=e.resetValue,r=e.itemRender;(0,_tools.isEnableConf)(r)&&((r=_vXETable.default.renderer.get(r.name))&&r.itemResetMethod?r.itemResetMethod({data:o,field:t,property:t,item:e,$form:l}):t&&_xeUtils.default.set(o,t,null===i?getResetValue(_xeUtils.default.get(o,t),void 0):i))}),this.clearValidate()},resetEvent:function(e){e.preventDefault(),this.reset(),this.$emit("reset",{data:this.data,$form:this,$event:e})},handleTooltipLeaveMethod:function(){var e=this,t=this.tooltipOpts;return setTimeout(function(){e.tooltipActive||e.closeTooltip()},t.leaveDelay),!1},closeTooltip:function(){var e=this.tooltipStore,t=this.$refs.tooltip;return e.visible&&(Object.assign(e,{item:null,visible:!1}),t&&t.close()),this.$nextTick()},triggerHeaderHelpEvent:function(e,t){var i=t.item,r=this.tooltipStore,l=this.$refs.tooltip,o=e.currentTarget.children[0],t=(o.textContent||"").trim(),e=o.scrollWidth>o.clientWidth;clearTimeout(this.tooltipTimeout),this.tooltipActive=!0,this.closeTooltip(),t&&e&&(Object.assign(r,{item:i,visible:!0}),l&&l.open(o,t))},handleTargetLeaveEvent:function(){var t=this,e=this.tooltipOpts;this.tooltipActive=!1,e.enterable?this.tooltipTimeout=setTimeout(function(){var e=t.$refs.tooltip;e&&!e.isHover&&t.closeTooltip()},e.leaveDelay):this.closeTooltip()},clearValidate:function(t){var e,i=this.getItems();return t?(e=i.find(function(e){return e.field===t}))&&(e.showError=!1):i.forEach(function(e){e.showError=!1}),this.$nextTick()},validate:function(e){return this.clearValidate(),this.beginValidate(this.getItems(),"",e)},validateField:function(t,e){return this.beginValidate(this.getItems().filter(function(e){return e.field===t}),"",e)},beginValidate:function(i,e,r){var l=this,o=this.data,t=this.rules,n=this.validOpts,s={},a=[],u=[];return clearTimeout(this.showErrTime),o&&t?(i.forEach(function(i){var r=i.field;r&&u.push(l.validItemRules(e||"all",r).then(function(){i.errRule=null}).catch(function(e){var t=e.rule,e={rule:t,rules:e.rules,data:o,field:r,property:r,$form:l};return s[r]||(s[r]=[]),s[r].push(e),a.push(r),i.errRule=t,Promise.reject(e)}))}),Promise.all(u).then(function(){r&&r()}).catch(function(){return new Promise(function(e,t){l.showErrTime=setTimeout(function(){i.forEach(function(e){e.errRule&&(e.showError=!0)})},20),n.autoPos&&l.$nextTick(function(){l.handleFocus(a)}),r?(r(s),e()):t(s)})})):(r&&r(),Promise.resolve())},validItemRules:function(o,n,e){var s,a,u=this,c=this.data,t=this.rules,f=[],d=[];return n&&t&&((s=_xeUtils.default.get(t,n))&&(a=_xeUtils.default.isUndefined(e)?_xeUtils.default.get(c,n):e,s.forEach(function(t){var e,i=t.type,r=t.trigger,l=t.required;"all"!==o&&r&&o!==t.trigger||(_xeUtils.default.isFunction(t.validator)?(e=t.validator({itemValue:a,rule:t,rules:s,data:c,field:n,property:n,$form:u}))&&(_xeUtils.default.isError(e)?f.push(new Rule({type:"custom",trigger:r,content:e.message,rule:new Rule(t)})):e.catch&&d.push(e.catch(function(e){f.push(new Rule({type:"custom",trigger:r,content:e?e.message:t.content||t.message,rule:new Rule(t)}))}))):(i="array"===i?!_xeUtils.default.isArray(a)||!a.length:(0,_utils.eqEmptyValue)(a),(l?i||validErrorRuleValue(t,a):!i&&validErrorRuleValue(t,a))&&f.push(new Rule(t))))}))),Promise.all(d).then(function(){if(f.length){var e={rules:f,rule:f[0]};return Promise.reject(e)}})},handleFocus:function(e){var n=this.$el,s=this.getItems();e.some(function(t,e){var i=s.find(function(e){return e.field===t});if(i&&(0,_tools.isEnableConf)(i.itemRender)){var r,l=i.itemRender,o=_vXETable.default.renderer.get(l.name);if(e||_tools.DomTools.scrollToView(n.querySelector(".".concat(i.id))),r=!(r=l.autofocus?n.querySelector(".".concat(i.id," ").concat(l.autofocus)):r)&&o&&o.autofocus?n.querySelector(".".concat(i.id," ").concat(o.autofocus)):r)return r.focus(),_dom.browse.msie&&((r=r.createTextRange()).collapse(!1),r.select()),!0}})},updateStatus:function(e,t){var i=this,r=e.property;r&&this.validItemRules("change",r,t).then(function(){i.clearValidate(r)}).catch(function(e){var t=e.rule,e=i.getItems().find(function(e){return e.field===r});e&&(e.showError=!0,e.errRule=t)})}}};exports.default=_default2;
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")),_size=_interopRequireDefault(require("../../mixins/size")),_vXETable=_interopRequireDefault(require("../../v-x-e-table")),_tools=require("../../tools"),_util=require("./util"),_render=require("./render"),_utils=require("../../tools/src/utils"),_dom=require("../../tools/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function ownKeys(t,e){var i,l=Object.keys(t);return Object.getOwnPropertySymbols&&(i=Object.getOwnPropertySymbols(t),e&&(i=i.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),l.push.apply(l,i)),l}function _objectSpread(t){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{};e%2?ownKeys(Object(i),!0).forEach(function(e){_defineProperty(t,e,i[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):ownKeys(Object(i)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))})}return t}function _defineProperty(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,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 i=0;i<t.length;i++){var l=t[i];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(e,l.key,l)}}function _createClass(e,t,i){return t&&_defineProperties(e.prototype,t),i&&_defineProperties(e,i),e}var Rule=function(){function t(e){_classCallCheck(this,t),Object.assign(this,{$options:e,required:e.required,min:e.min,max:e.min,type:e.type,pattern:e.pattern,validator:e.validator,trigger:e.trigger,maxWidth:e.maxWidth})}return _createClass(t,[{key:"content",get:function(){return _tools.UtilTools.getFuncText(this.$options.content||this.$options.message)}},{key:"message",get:function(){return this.content}}]),t}();function validErrorRuleValue(e,t){var i=e.type,l=e.min,r=e.max,o=e.pattern,e="number"===i,i=e?_xeUtils.default.toNumber(t):_xeUtils.default.getSize(t);return!(!e||!isNaN(t))||(!_xeUtils.default.eqNull(l)&&i<_xeUtils.default.toNumber(l)||(!_xeUtils.default.eqNull(r)&&i>_xeUtils.default.toNumber(r)||!(!o||(_xeUtils.default.isRegExp(o)?o:new RegExp(o)).test(t))))}function getResetValue(e,t){return t=_xeUtils.default.isArray(e)?[]:t}function renderItems($,w,e){var U=w._e,I=w.rules,R=w.data,S=w.collapseAll,P=w.validOpts,j=w.titleOverflow;return e.map(function(e,t){var i,l=e.slots,r=e.title,o=e.folding,n=e.visible,s=e.visibleMethod,a=e.field,u=e.collapseNode,c=e.itemRender,f=e.showError,d=e.errRule,m=e.className,h=e.titleOverflow,p=e.children,v=(0,_tools.isEnableConf)(c)?_vXETable.default.renderer.get(c.name):null,g=e.span||w.span,_=e.align||w.align,x=e.titleAlign||w.titleAlign,b=e.titleWidth||w.titleWidth,y=s,O=_xeUtils.default.isUndefined(h)||_xeUtils.default.isNull(h)?j:h,s="title"===O,h=!0===O||"tooltip"===O,O=s||h||"ellipsis"===O,E={data:R,field:a,property:a,item:e,$form:w};if(!1===n)return U();if(p&&0<p.length){p=renderItems($,w,e.children);return p.length?$("div",{class:["vxe-form--gather vxe-row",e.id,g?"vxe-col--".concat(g," is--span"):"",m?_xeUtils.default.isFunction(m)?m(E):m:""]},p):U()}!y&&v&&v.itemVisibleMethod&&(y=v.itemVisibleMethod),!I||(T=I[a])&&(i=T.some(function(e){return e.required}));var T=[];l&&l.default?T=w.callSlot(l.default,E,$):v&&v.renderItemContent?T=v.renderItemContent.call(w,$,c,E):v&&v.renderItem?T=v.renderItem.call(w,$,c,E):a&&(T=["".concat(_xeUtils.default.get(R,a))]);h=h?{mouseenter:function(e){w.triggerHeaderHelpEvent(e,E)},mouseleave:w.handleTargetLeaveEvent}:{};return $("div",{class:["vxe-form--item",e.id,g?"vxe-col--".concat(g," is--span"):null,m?_xeUtils.default.isFunction(m)?m(E):m:"",{"is--title":r,"is--required":i,"is--hidden":o&&S,"is--active":!y||y(E),"is--error":f}],key:t},[$("div",{class:"vxe-form--item-inner"},[r||l&&l.title?$("div",{class:["vxe-form--item-title",x?"align--".concat(x):null,{"is--ellipsis":O}],style:b?{width:isNaN(b)?b:"".concat(b,"px")}:null,attrs:{title:s?_tools.UtilTools.getFuncText(r):null},on:h},(0,_render.renderTitle)($,w,e)):null,$("div",{class:["vxe-form--item-content",_?"align--".concat(_):null]},T.concat([u?$("div",{class:"vxe-form--item-trigger-node",on:{click:w.toggleCollapseEvent}},[$("span",{class:"vxe-form--item-trigger-text"},S?_conf.default.i18n("vxe.form.unfolding"):_conf.default.i18n("vxe.form.folding")),$("i",{class:["vxe-form--item-trigger-icon",S?_conf.default.icon.FORM_FOLDING:_conf.default.icon.FORM_UNFOLDING]})]):null,d&&P.showMessage?$("div",{class:"vxe-form--item-valid",style:d.maxWidth?{width:"".concat(d.maxWidth,"px")}:null},d.content):null]))])])})}var _default2={name:"VxeForm",mixins:[_size.default],props:{collapseStatus:{type:Boolean,default:!0},loading:Boolean,data:Object,size:{type:String,default:function(){return _conf.default.form.size||_conf.default.size}},span:{type:[String,Number],default:function(){return _conf.default.form.span}},align:{type:String,default:function(){return _conf.default.form.align}},titleAlign:{type:String,default:function(){return _conf.default.form.titleAlign}},titleWidth:{type:[String,Number],default:function(){return _conf.default.form.titleWidth}},titleColon:{type:Boolean,default:function(){return _conf.default.form.titleColon}},titleAsterisk:{type:Boolean,default:function(){return _conf.default.form.titleAsterisk}},titleOverflow:{type:[Boolean,String],default:null},className:[String,Function],items:Array,rules:Object,preventSubmit:{type:Boolean,default:function(){return _conf.default.form.preventSubmit}},validConfig:Object,customLayout:{type:Boolean,default:function(){return _conf.default.form.customLayout}}},data:function(){return{collapseAll:this.collapseStatus,staticItems:[],formItems:[],tooltipTimeout:null,tooltipActive:!1,tooltipStore:{item:null,visible:!1}}},provide:function(){return{$xeform:this}},computed:{validOpts:function(){return Object.assign({},_conf.default.form.validConfig,this.validConfig)},tooltipOpts:function(){var e=Object.assign({leaveDelay:300},_conf.default.form.tooltipConfig,this.tooltipConfig);return e.enterable&&(e.leaveMethod=this.handleTooltipLeaveMethod),e}},watch:{staticItems:function(e){this.formItems=e},items:function(e){this.loadItem(e)},collapseStatus:function(e){this.collapseAll=!!e}},created:function(){var t=this;this.$nextTick(function(){var e=t.items;"development"===process.env.NODE_ENV&&t.customLayout&&t.items&&_tools.UtilTools.error("vxe.error.errConflicts",["custom-layout","items"]),e&&t.loadItem(e)})},render:function(e){var t=this._e,i=this.loading,l=this.className,r=this.data,o=this.vSize,n=this.tooltipOpts,s=this.formItems,a=this.customLayout,u=_vXETable.default._tooltip;return e("form",{class:["vxe-form",l?_xeUtils.default.isFunction(l)?l({items:s,data:r,$form:this}):l:"",(_defineProperty(l={},"size--".concat(o),o),_defineProperty(l,"is--colon",this.titleColon),_defineProperty(l,"is--asterisk",this.titleAsterisk),_defineProperty(l,"is--loading",i),l)],on:{submit:this.submitEvent,reset:this.resetEvent}},[e("div",{class:"vxe-form--wrapper vxe-row"},a?this.$slots.default:renderItems(e,this,s)),e("div",{class:"vxe-form-slots",ref:"hideItem"},a?[]:this.$slots.default),e("div",{class:["vxe-loading",{"is--visible":i}]},[e("div",{class:"vxe-loading--spinner"})]),u?e("vxe-tooltip",_objectSpread({ref:"tooltip"},n)):t()])},methods:{callSlot:function(e,t,i){if(e){var l=this.$scopedSlots;if(_xeUtils.default.isString(e)&&(e=l[e]||null),_xeUtils.default.isFunction(e))return e.call(this,t,i)}return[]},loadItem:function(e){var t,i=this;return"development"===process.env.NODE_ENV&&(t=this.$scopedSlots,e.forEach(function(e){e.slots&&_xeUtils.default.each(e.slots,function(e){_xeUtils.default.isFunction(e)||t[e]||_tools.UtilTools.error("vxe.error.notSlot",[e])})})),this.staticItems=_xeUtils.default.mapTree(e,function(e){return(0,_util.createItem)(i,e)},{children:"children"}),this.$nextTick()},getItems:function(){var t=[];return _xeUtils.default.eachTree(this.formItems,function(e){t.push(e)},{children:"children"}),t},getItemByField:function(t){var e=_xeUtils.default.findTree(this.formItems,function(e){return e.field===t},{children:"children"});return e?e.item:null},toggleCollapse:function(){var e=!this.collapseAll;return this.collapseAll=e,this.$emit("update:collapseStatus",e),this.$nextTick()},toggleCollapseEvent:function(e){this.toggleCollapse();var t=this.collapseAll;this.$emit("toggle-collapse",{status:t,collapse:t,data:this.data,$form:this,$event:e},e),this.$emit("collapse",{status:t,collapse:t,data:this.data,$form:this,$event:e},e)},submitEvent:function(t){var i=this;t.preventDefault(),this.preventSubmit||(this.clearValidate(),this.beginValidate(this.getItems()).then(function(){i.$emit("submit",{data:i.data,$form:i,$event:t})}).catch(function(e){i.$emit("submit-invalid",{data:i.data,errMap:e,$form:i,$event:t})}))},reset:function(){var r=this,o=this.data;return o&&this.getItems().forEach(function(e){var t=e.field,i=e.resetValue,l=e.itemRender;(0,_tools.isEnableConf)(l)&&((l=_vXETable.default.renderer.get(l.name))&&l.itemResetMethod?l.itemResetMethod({data:o,field:t,property:t,item:e,$form:r}):t&&_xeUtils.default.set(o,t,null===i?getResetValue(_xeUtils.default.get(o,t),void 0):i))}),this.clearValidate()},resetEvent:function(e){e.preventDefault(),this.reset(),this.$emit("reset",{data:this.data,$form:this,$event:e})},handleTooltipLeaveMethod:function(){var e=this,t=this.tooltipOpts;return setTimeout(function(){e.tooltipActive||e.closeTooltip()},t.leaveDelay),!1},closeTooltip:function(){var e=this.tooltipStore,t=this.$refs.tooltip;return e.visible&&(Object.assign(e,{item:null,visible:!1}),t&&t.close()),this.$nextTick()},triggerHeaderHelpEvent:function(e,t){var i=t.item,l=this.tooltipStore,r=this.$refs.tooltip,o=e.currentTarget.children[0],t=(o.textContent||"").trim(),e=o.scrollWidth>o.clientWidth;clearTimeout(this.tooltipTimeout),this.tooltipActive=!0,this.closeTooltip(),t&&e&&(Object.assign(l,{item:i,visible:!0}),r&&r.open(o,t))},handleTargetLeaveEvent:function(){var e=this,t=this.tooltipOpts,i=this.$refs.tooltip;this.tooltipActive=!1,i&&i.setActived(!1),t.enterable?this.tooltipTimeout=setTimeout(function(){(i=e.$refs.tooltip)&&!i.isActived()&&e.closeTooltip()},t.leaveDelay):this.closeTooltip()},clearValidate:function(e){return e?(e=(0,_util.handleFieldOrItem)(this,e))&&(e.showError=!1):this.getItems().forEach(function(e){e.showError=!1}),this.$nextTick()},validate:function(e){return this.clearValidate(),this.beginValidate(this.getItems(),"",e)},validateField:function(e,t){e=(0,_util.handleFieldOrItem)(this,e);return this.beginValidate(e?[e]:[],"",t)},beginValidate:function(t,e,i){var r=this,o=this.data,l=this.rules,n=this.validOpts,s={},a=[],u=[];return clearTimeout(this.showErrTime),o&&l?(t.forEach(function(i){var l=i.field;l&&u.push(r.validItemRules(e||"all",l).then(function(){i.errRule=null}).catch(function(e){var t=e.rule,e={rule:t,rules:e.rules,data:o,field:l,property:l,$form:r};return s[l]||(s[l]=[]),s[l].push(e),a.push(l),i.errRule=t,Promise.reject(e)}))}),Promise.all(u).then(function(){i&&i()}).catch(function(){return new Promise(function(e){r.showErrTime=setTimeout(function(){t.forEach(function(e){e.errRule&&(e.showError=!0)})},20),n.autoPos&&r.$nextTick(function(){r.handleFocus(a)}),i?(i(s),e()):e(s)})})):(i&&i(),Promise.resolve())},validItemRules:function(o,n,e){var s,a,u=this,c=this.data,t=this.rules,f=[],d=[];return n&&t&&((s=_xeUtils.default.get(t,n))&&(a=_xeUtils.default.isUndefined(e)?_xeUtils.default.get(c,n):e,s.forEach(function(t){var e,i=t.type,l=t.trigger,r=t.required;"all"!==o&&l&&o!==t.trigger||(_xeUtils.default.isFunction(t.validator)?(e=t.validator({itemValue:a,rule:t,rules:s,data:c,field:n,property:n,$form:u}))&&(_xeUtils.default.isError(e)?f.push(new Rule({type:"custom",trigger:l,content:e.message,rule:new Rule(t)})):e.catch&&d.push(e.catch(function(e){f.push(new Rule({type:"custom",trigger:l,content:e?e.message:t.content||t.message,rule:new Rule(t)}))}))):(i="array"===i?!_xeUtils.default.isArray(a)||!a.length:(0,_utils.eqEmptyValue)(a),(r?i||validErrorRuleValue(t,a):!i&&validErrorRuleValue(t,a))&&f.push(new Rule(t))))}))),Promise.all(d).then(function(){if(f.length){var e={rules:f,rule:f[0]};return Promise.reject(e)}})},handleFocus:function(e){var o=this,n=this.$el;e.some(function(e,t){var i=o.getItemByField(e);if(i&&(0,_tools.isEnableConf)(i.itemRender)){var l,r=i.itemRender,e=_vXETable.default.renderer.get(r.name);if(t||_tools.DomTools.scrollToView(n.querySelector(".".concat(i.id))),l=!(l=r.autofocus?n.querySelector(".".concat(i.id," ").concat(r.autofocus)):l)&&e&&e.autofocus?n.querySelector(".".concat(i.id," ").concat(e.autofocus)):l)return l.focus(),_dom.browse.msie&&((l=l.createTextRange()).collapse(!1),l.select()),!0}})},updateStatus:function(e,t){var i=this,l=e.property;l&&this.validItemRules("change",l,t).then(function(){i.clearValidate(l)}).catch(function(e){var t=e.rule,e=i.getItemByField(l);e&&(e.showError=!0,e.errRule=t)})}}};exports.default=_default2;
@@ -7,6 +7,7 @@ exports.assemItem = assemItem;
7
7
  exports.createItem = createItem;
8
8
  exports.destroyItem = destroyItem;
9
9
  exports.getItemConfig = getItemConfig;
10
+ exports.handleFieldOrItem = void 0;
10
11
  exports.isItem = isItem;
11
12
 
12
13
  var _xeUtils = _interopRequireDefault(require("xe-utils"));
@@ -79,6 +80,16 @@ function getItemConfig($xeform, _vm, options) {
79
80
  return isItem(_vm) ? _vm : new ItemConfig($xeform, _vm, options);
80
81
  }
81
82
 
83
+ var handleFieldOrItem = function handleFieldOrItem($xeform, fieldOrItem) {
84
+ if (fieldOrItem) {
85
+ return _xeUtils.default.isString(fieldOrItem) ? $xeform.getItemByField(fieldOrItem) : fieldOrItem;
86
+ }
87
+
88
+ return null;
89
+ };
90
+
91
+ exports.handleFieldOrItem = handleFieldOrItem;
92
+
82
93
  function createItem($xeform, _vm) {
83
94
  return getItemConfig($xeform, _vm);
84
95
  }
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.assemItem=assemItem,exports.createItem=createItem,exports.destroyItem=destroyItem,exports.getItemConfig=getItemConfig,exports.isItem=isItem;var _xeUtils=_interopRequireDefault(require("xe-utils")),_vXETable=_interopRequireDefault(require("../../v-x-e-table")),_tools=require("../../tools");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 i=0;i<t.length;i++){var r=t[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function _createClass(e,t,i){return t&&_defineProperties(e.prototype,t),i&&_defineProperties(e,i),e}var ItemConfig=function(){function i(e,t){_classCallCheck(this,i),Object.assign(this,{id:_xeUtils.default.uniqueId("item_"),title:t.title,field:t.field,span:t.span,align:t.align,titleAlign:t.titleAlign,titleWidth:t.titleWidth,titlePrefix:t.titlePrefix,titleSuffix:t.titleSuffix,titleOverflow:t.titleOverflow,resetValue:t.resetValue,visible:t.visible,visibleMethod:t.visibleMethod,folding:t.folding,collapseNode:t.collapseNode,className:t.className,itemRender:t.itemRender,showError:!1,errRule:null,slots:t.slots,children:[]}),"development"!==process.env.NODE_ENV||(t=t.itemRender?_vXETable.default.renderer.get(t.itemRender.name):null)&&!t.renderItemContent&&t.renderItem&&_tools.UtilTools.warn("vxe.error.delProp",["item-render.renderItem","item-render.renderItemContent"])}return _createClass(i,[{key:"update",value:function(e,t){this[e]=t}}]),i}();function isItem(e){return e instanceof ItemConfig}function getItemConfig(e,t,i){return isItem(t)?t:new ItemConfig(e,t,i)}function createItem(e,t){return getItemConfig(e,t)}function destroyItem(e){var t=e.$xeform,i=e.itemConfig,t=_xeUtils.default.findTree(t.staticItems,function(e){return e===i});t&&t.items.splice(t.index,1)}function assemItem(e){var t=e.$el,i=e.$xeform,r=e.xeformgather,n=e.itemConfig,l=r?r.itemConfig:null;n.slots=e.$scopedSlots,l?(l.children||(l.children=[]),l.children.splice([].indexOf.call(r.$el.children,t),0,n)):i.staticItems.splice([].indexOf.call(i.$refs.hideItem.children,t),0,n)}
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.assemItem=assemItem,exports.createItem=createItem,exports.destroyItem=destroyItem,exports.getItemConfig=getItemConfig,exports.handleFieldOrItem=void 0,exports.isItem=isItem;var _xeUtils=_interopRequireDefault(require("xe-utils")),_vXETable=_interopRequireDefault(require("../../v-x-e-table")),_tools=require("../../tools");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 i=0;i<t.length;i++){var r=t[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function _createClass(e,t,i){return t&&_defineProperties(e.prototype,t),i&&_defineProperties(e,i),e}var ItemConfig=function(){function i(e,t){_classCallCheck(this,i),Object.assign(this,{id:_xeUtils.default.uniqueId("item_"),title:t.title,field:t.field,span:t.span,align:t.align,titleAlign:t.titleAlign,titleWidth:t.titleWidth,titlePrefix:t.titlePrefix,titleSuffix:t.titleSuffix,titleOverflow:t.titleOverflow,resetValue:t.resetValue,visible:t.visible,visibleMethod:t.visibleMethod,folding:t.folding,collapseNode:t.collapseNode,className:t.className,itemRender:t.itemRender,showError:!1,errRule:null,slots:t.slots,children:[]}),"development"!==process.env.NODE_ENV||(t=t.itemRender?_vXETable.default.renderer.get(t.itemRender.name):null)&&!t.renderItemContent&&t.renderItem&&_tools.UtilTools.warn("vxe.error.delProp",["item-render.renderItem","item-render.renderItemContent"])}return _createClass(i,[{key:"update",value:function(e,t){this[e]=t}}]),i}();function isItem(e){return e instanceof ItemConfig}function getItemConfig(e,t,i){return isItem(t)?t:new ItemConfig(e,t,i)}var handleFieldOrItem=function(e,t){return t?_xeUtils.default.isString(t)?e.getItemByField(t):t:null};function createItem(e,t){return getItemConfig(e,t)}function destroyItem(e){var t=e.$xeform,i=e.itemConfig,t=_xeUtils.default.findTree(t.staticItems,function(e){return e===i});t&&t.items.splice(t.index,1)}function assemItem(e){var t=e.$el,i=e.$xeform,r=e.xeformgather,n=e.itemConfig,l=r?r.itemConfig:null;n.slots=e.$scopedSlots,l?(l.children||(l.children=[]),l.children.splice([].indexOf.call(r.$el.children,t),0,n)):i.staticItems.splice([].indexOf.call(i.$refs.hideItem.children,t),0,n)}exports.handleFieldOrItem=handleFieldOrItem;