vxe-pc-ui 3.20.1 → 3.20.5

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 (102) hide show
  1. package/es/card/src/card.js +2 -1
  2. package/es/drawer/src/drawer.js +75 -16
  3. package/es/drawer/style.css +13 -6
  4. package/es/drawer/style.min.css +1 -1
  5. package/es/icon/style.css +1 -1
  6. package/es/layout-aside/src/layout-aside.js +2 -1
  7. package/es/layout-body/src/layout-body.js +2 -1
  8. package/es/list/src/list.js +57 -25
  9. package/es/menu/src/menu.js +2 -2
  10. package/es/modal/src/modal.js +73 -14
  11. package/es/modal/style.css +4 -0
  12. package/es/modal/style.min.css +1 -1
  13. package/es/scrollbar/src/scrollbar.js +22 -6
  14. package/es/style.css +1 -1
  15. package/es/style.min.css +1 -1
  16. package/es/tabs/src/tabs.js +2 -2
  17. package/es/tree/src/tree.js +50 -27
  18. package/es/ui/index.js +1 -1
  19. package/es/ui/src/log.js +1 -1
  20. package/es/vxe-drawer/style.css +13 -6
  21. package/es/vxe-drawer/style.min.css +1 -1
  22. package/es/vxe-modal/style.css +4 -0
  23. package/es/vxe-modal/style.min.css +1 -1
  24. package/lib/card/src/card.js +2 -1
  25. package/lib/card/src/card.min.js +1 -1
  26. package/lib/drawer/src/drawer.js +76 -12
  27. package/lib/drawer/src/drawer.min.js +1 -1
  28. package/lib/drawer/style/style.css +13 -6
  29. package/lib/drawer/style/style.min.css +1 -1
  30. package/lib/icon/style/style.css +1 -1
  31. package/lib/icon/style/style.min.css +1 -1
  32. package/lib/index.umd.js +425 -191
  33. package/lib/index.umd.min.js +1 -1
  34. package/lib/layout-aside/src/layout-aside.js +2 -1
  35. package/lib/layout-aside/src/layout-aside.min.js +1 -1
  36. package/lib/layout-body/src/layout-body.js +2 -1
  37. package/lib/layout-body/src/layout-body.min.js +1 -1
  38. package/lib/list/src/list.js +107 -64
  39. package/lib/list/src/list.min.js +1 -1
  40. package/lib/menu/src/menu.js +1 -1
  41. package/lib/menu/src/menu.min.js +1 -1
  42. package/lib/modal/src/modal.js +74 -12
  43. package/lib/modal/src/modal.min.js +1 -1
  44. package/lib/modal/style/style.css +4 -0
  45. package/lib/modal/style/style.min.css +1 -1
  46. package/lib/scrollbar/src/scrollbar.js +35 -15
  47. package/lib/scrollbar/src/scrollbar.min.js +1 -1
  48. package/lib/style.css +1 -1
  49. package/lib/style.min.css +1 -1
  50. package/lib/tabs/src/tabs.js +1 -1
  51. package/lib/tabs/src/tabs.min.js +1 -1
  52. package/lib/tree/src/tree.js +64 -36
  53. package/lib/tree/src/tree.min.js +1 -1
  54. package/lib/ui/index.js +1 -1
  55. package/lib/ui/index.min.js +1 -1
  56. package/lib/ui/src/log.js +1 -1
  57. package/lib/ui/src/log.min.js +1 -1
  58. package/lib/vxe-drawer/style/style.css +13 -6
  59. package/lib/vxe-drawer/style/style.min.css +1 -1
  60. package/lib/vxe-modal/style/style.css +4 -0
  61. package/lib/vxe-modal/style/style.min.css +1 -1
  62. package/package.json +2 -2
  63. package/packages/card/src/card.ts +2 -1
  64. package/packages/drawer/src/drawer.ts +80 -16
  65. package/packages/layout-aside/src/layout-aside.ts +2 -1
  66. package/packages/layout-body/src/layout-body.ts +2 -1
  67. package/packages/list/src/list.ts +66 -25
  68. package/packages/menu/src/menu.ts +2 -2
  69. package/packages/modal/src/modal.ts +83 -19
  70. package/packages/scrollbar/src/scrollbar.ts +27 -6
  71. package/packages/tabs/src/tabs.ts +2 -2
  72. package/packages/tree/src/tree.ts +60 -31
  73. package/styles/components/drawer.scss +13 -6
  74. package/styles/components/modal.scss +4 -0
  75. package/types/components/drawer.d.ts +20 -0
  76. package/types/components/gantt-module/gantt-view.d.ts +24 -1
  77. package/types/components/gantt-plugins/extend-gantt-chart.d.ts +1 -1
  78. package/types/components/gantt.d.ts +2 -0
  79. package/types/components/layout-aside.d.ts +15 -0
  80. package/types/components/layout-body.d.ts +3 -0
  81. package/types/components/list.d.ts +18 -1
  82. package/types/components/modal.d.ts +20 -0
  83. package/types/components/number-input.d.ts +12 -2
  84. package/types/components/table-plugins/extend-pivot-table.d.ts +1 -1
  85. package/types/components/table.d.ts +36 -2
  86. package/types/components/tree.d.ts +15 -1
  87. package/es/scrollbar/src/util.js +0 -54
  88. package/lib/scrollbar/src/util.js +0 -63
  89. package/lib/scrollbar/src/util.min.js +0 -1
  90. package/packages/scrollbar/src/util.ts +0 -57
  91. /package/es/icon/{iconfont.1791950618327.ttf → iconfont.1792048654011.ttf} +0 -0
  92. /package/es/icon/{iconfont.1791950618327.woff → iconfont.1792048654011.woff} +0 -0
  93. /package/es/icon/{iconfont.1791950618327.woff2 → iconfont.1792048654011.woff2} +0 -0
  94. /package/es/{iconfont.1791950618327.ttf → iconfont.1792048654011.ttf} +0 -0
  95. /package/es/{iconfont.1791950618327.woff → iconfont.1792048654011.woff} +0 -0
  96. /package/es/{iconfont.1791950618327.woff2 → iconfont.1792048654011.woff2} +0 -0
  97. /package/lib/icon/style/{iconfont.1791950618327.ttf → iconfont.1792048654011.ttf} +0 -0
  98. /package/lib/icon/style/{iconfont.1791950618327.woff → iconfont.1792048654011.woff} +0 -0
  99. /package/lib/icon/style/{iconfont.1791950618327.woff2 → iconfont.1792048654011.woff2} +0 -0
  100. /package/lib/{iconfont.1791950618327.ttf → iconfont.1792048654011.ttf} +0 -0
  101. /package/lib/{iconfont.1791950618327.woff → iconfont.1792048654011.woff} +0 -0
  102. /package/lib/{iconfont.1791950618327.woff2 → iconfont.1792048654011.woff2} +0 -0
@@ -74,7 +74,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
74
74
  useScrollbar: {
75
75
  type: Boolean,
76
76
  default: function _default() {
77
- return (0, _ui.getConfig)().tabs.useScrollbar;
77
+ return (0, _utils.getDefaultConfig)((0, _ui.getConfig)().tabs.useScrollbar, (0, _ui.getConfig)().useScrollbar);
78
78
  }
79
79
  },
80
80
  scrollbarConfig: Object,
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_vn=require("../../ui/src/vn"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log"),_loading=_interopRequireDefault(require("../../loading")),_scrollbar=_interopRequireDefault(require("../../scrollbar"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _defineProperty(e,t,i){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function _toPropertyKey(e){e=_toPrimitive(e,"string");return"symbol"==_typeof(e)?e:e+""}function _toPrimitive(e,t){if("object"!=_typeof(e)||!e)return e;var i=e[Symbol.toPrimitive];if(void 0===i)return("string"===t?String:Number)(e);i=i.call(e,t||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}var _createComponentLog=(0,_log.createComponentLog)("tabs"),warnLog=_createComponentLog.warnLog,errLog=_createComponentLog.errLog,scrollbarOffsetSize=20,_default2=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTabs",mixins:[_ui.globalMixins.sizeMixin],props:{value:[String,Number,Boolean],options:Array,width:[String,Number],height:[String,Number],destroyOnClose:{type:Boolean,default:function(){return(0,_ui.getConfig)().tabs.destroyOnClose}},titleWidth:[String,Number],titleAlign:[String,Number],type:{type:String,default:function(){return(0,_ui.getConfig)().tabs.type}},position:{type:String,default:function(){return(0,_ui.getConfig)().tabs.position}},showClose:Boolean,showBody:{type:Boolean,default:!0},padding:{type:Boolean,default:function(){return(0,_ui.getConfig)().tabs.padding}},trigger:String,beforeChangeMethod:Function,closeConfig:Object,refreshConfig:Object,size:{type:String,default:function(){return(0,_ui.getConfig)().tabs.size||(0,_ui.getConfig)().size}},useScrollbar:{type:Boolean,default:function(){return(0,_ui.getConfig)().tabs.useScrollbar}},scrollbarConfig:Object,beforeCloseMethod:Function},inject:{$xeParentTabs:{from:"$xeTabs",default:null}},provide:function(){return{$xeTabs:this}},data:function(){return{xID:_xeUtils.default.uniqueId(),reactData:{staticTabs:[],activeName:null,initNames:[],lintLeft:0,lintTop:0,lintWidth:0,lintHeight:0,scrollbarWidth:0,scrollbarHeight:0,isTabOver:!1,resizeFlag:1,cacheTabMaps:{}},internalData:{slTimeout:void 0}}},computed:Object.assign(Object.assign({},{}),{computeParentTabsResizeFlag:function(){var e=this.$xeParentTabs;return e?e.reactData.resizeFlag:null},computeTabType:function(){return this.type||"default"},computeTabPosition:function(){return this.position||"top"},computeLrPosition:function(){var e=this.computeTabPosition;return"left"===e||"right"===e},computeLineStyle:function(){var e=this.reactData,t=e.lintLeft,i=e.lintWidth,a=e.lintHeight;return this.computeLrPosition?{top:"".concat(e.lintTop,"px"),height:"".concat(a,"px")}:{left:"".concat(t,"px"),width:"".concat(i,"px")}},computeWrapperStyle:function(){var e=this.width,t=this.height,i={};return e&&(i.width=(0,_dom.toCssUnit)(e)),t&&(i.height="auto"===t?"100%":(0,_dom.toCssUnit)(t)),i},computeCloseOpts:function(){return Object.assign({},(0,_ui.getConfig)().tabs.closeConfig,this.closeConfig)},computeRefreshOpts:function(){return Object.assign({},(0,_ui.getConfig)().tabs.refreshConfig,this.refreshConfig)},computeTabOptions:function(){var t=this;return(t.options||[]).filter(function(e){return t.handleFilterTab(e)})},computeTabStaticOptions:function(){var t=this;return t.reactData.staticTabs.filter(function(e){return t.handleFilterTab(e)})},computeScrollbarOpts:function(){return Object.assign({},(0,_ui.getConfig)().tabs.scrollbarConfig,this.scrollbarConfig)},computeScrollbarProps:function(){var e=this.computeScrollbarOpts,t=e.viewClassName;return{width:e.width,height:e.height,autoHide:e.autoHide,visible:e.visible,xConfig:e.xConfig,yConfig:e.yConfig,className:e.className,viewAttrs:e.viewAttrs,viewClassName:"vxe-tabs-pane--scrollbar-item-view"+(t?" "+t:""),viewInnerClassName:"vxe-tabs-pane--scrollbar-item-inner"+(t?" "+e.viewInnerClassName:"")}}}),methods:{dispatchEvent:function(e,t,i){this.$emit(e,(0,_ui.createEvent)(i,{$tabs:this},t))},emitModel:function(e){var t=this._events;this.$emit("input",e),t&&t.modelValue?this.$emit("modelValue",e):this.$emit("model-value",e)},prev:function(){return this.handlePrevNext(!1)},next:function(){return this.handlePrevNext(!0)},prevTab:function(){return warnLog("vxe.error.delFunc",["prevTab","prev"]),this.prev()},nextTab:function(){return warnLog("vxe.error.delFunc",["nextTab","next"]),this.next()},handleFilterTab:function(e){e=e.permissionCode;return!(e&&!_ui.permission.checkVisible(e))},callSlot:function(e,t,i){var a=this.$scopedSlots;return e&&(_xeUtils.default.isString(e)&&(e=a[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e.call(this,t,i)):[]},checkScrolling:function(){var e,t,i,a,n,o=this.computeLrPosition,r=this.$refs.refHeadWrapperElem,s=this.$refs.refHeadPrevElem,l=this.$refs.refHeadNextElem;r&&(e=r.scrollLeft,t=r.scrollTop,i=r.clientWidth,a=r.clientHeight,n=r.scrollWidth,r=r.scrollHeight,s&&(0<(o?t:e)?(0,_dom.addClass):(0,_dom.removeClass))(s,"scrolling--middle"),l)&&((o?a<r-Math.ceil(t):i<n-Math.ceil(e))?(0,_dom.addClass):(0,_dom.removeClass))(l,"scrolling--middle")},updateTabStyle:function(){function e(){var e,t,i,a,n=g.activeName,o=v.computeTabType,r=v.computeTabOptions,s=v.computeTabStaticOptions,l=v.$refs.refHeadWrapperElem,c=v.computeLrPosition,u=0,f=0,d=0,p=0,m=0,h=0,b=!1;l&&(s=_xeUtils.default.findIndexOf(s.length?s:r,function(e){return e.name===n}),r=l.children,t=l.offsetWidth,e=l.scrollWidth,i=l.offsetHeight,a=l.scrollHeight,m=t-(t=l.clientWidth),h=i-(i=l.clientHeight),c?(b=a!==i,-1<s&&(l=r[s])&&(c=l.clientHeight,a=l.clientWidth,p="card"===o?(u=a,f=c,l.offsetTop):"border-card"===o?(u=a,f=c,l.offsetTop-1):(f=Math.max(4,Math.floor(.6*c)),l.offsetTop+Math.floor((c-f)/2)))):(b=e!==t,-1<s&&(i=r[s])&&(a=i.clientWidth,d="card"===o?(u=a+1,i.offsetLeft):"border-card"===o?(u=a,i.offsetLeft-1):(u=Math.max(4,Math.floor(.6*a)),i.offsetLeft+Math.floor((a-u)/2))))),g.scrollbarWidth=m,g.scrollbarHeight=h,g.lintLeft=d,g.lintTop=p,g.lintWidth=u,g.lintHeight=f,g.isTabOver=b,v.checkScrolling()}var v=this,g=v.reactData;e(),v.$nextTick(e)},addInitName:function(e,t){var i=this.reactData.initNames;return!(!e||i.includes(e)||(this.dispatchEvent("tab-load",{name:e},t),i.push(e),0))},initDefaultName:function(e){var i,a=this,t=a.reactData,n=null,o={};e&&e.length&&(i=!1,n=a.value,e.forEach(function(e){var e=e||{},t=e.name,e=e.preload;t&&(o["".concat(t)]={loading:!1},n===t&&(i=!0),e)&&a.addInitName(t,null)}),i||(n=e[0].name,a.addInitName(n,null),a.emitModel(n))),t.activeName=n,t.cacheTabMaps=o},clickEvent:function(t,i){var a=this,n=a.reactData,e=a.trigger,o=a.beforeChangeMethod||(0,_ui.getConfig)().tabs.beforeChangeMethod,r=n.activeName,s=i.name,l=s;a.dispatchEvent("tab-click",{name:s},t),"manual"!==e&&s!==r&&Promise.resolve(!o||o({$tabs:a,name:s,oldName:r,newName:s,option:i})).then(function(e){e?(n.activeName=s,a.emitModel(l),a.addInitName(s,t),a.dispatchEvent("change",{value:l,name:s,oldName:r,newName:s,option:i},t),a.dispatchEvent("tab-change",{value:l,name:s,oldName:r,newName:s,option:i},t)):a.dispatchEvent("tab-change-fail",{value:l,name:s,oldName:r,newName:s,option:i},t)}).catch(function(){a.dispatchEvent("tab-change-fail",{value:l,name:s,oldName:r,newName:s,option:i},t)})},handleRefreshTabEvent:function(e,t){var i=this.reactData,e=(e.stopPropagation(),i.activeName),i=i.cacheTabMaps,a=t.name,n=this.computeRefreshOpts.queryMethod,o=a?i["".concat(a)]:null;o&&!o.loading&&(n?(o.loading=!0,Promise.resolve(n({$tabs:this,value:e,name:a,option:t})).finally(function(){o.loading=!1})):errLog("vxe.error.notFunc",["refresh-config.queryMethod"]))},handleCloseTabEvent:function(t,e,i,a){var n=this,o=n,r=n.reactData,r=(t.stopPropagation(),r.activeName),o=n.computeCloseOpts.beforeMethod||o.beforeCloseMethod||(0,_ui.getConfig)().tabs.beforeCloseMethod,s=e.name,l=r,c=l;r===s&&(r=i<a.length-1?a[i+1]:a[i-1],c=r?r.name:null),Promise.resolve(!o||o({$tabs:n,value:l,name:s,nextName:c,option:e})).then(function(e){e?n.dispatchEvent("tab-close",{value:l,name:s,nextName:c},t):n.dispatchEvent("tab-close-fail",{value:l,name:s,nextName:c},t)}).catch(function(){n.dispatchEvent("tab-close-fail",{value:l,name:s,nextName:c},t)})},startScrollAnimation:function(s,e){var l=this,c=l.internalData,t=c.slTimeout,u=l.computeLrPosition,f=u?0:e,d=u?e:0,p=6,m=35,h=(t&&(clearTimeout(t),c.slTimeout=void 0),function(){var e,t,i,a,n,o,r=l.$refs.refHeadWrapperElem;0<p&&(p--,r)&&(e=r.clientWidth,t=r.clientHeight,i=r.scrollWidth,a=r.scrollHeight,n=r.scrollLeft,o=r.scrollTop,u?(d=Math.floor(d/2),0<s?t+o<a&&(r.scrollTop+=d,m-=4,c.slTimeout=setTimeout(h,m)):0<o&&(r.scrollTop-=d,m-=4,c.slTimeout=setTimeout(h,m))):(f=Math.floor(f/2),0<s?e+n<i&&(r.scrollLeft+=f,m-=4,c.slTimeout=setTimeout(h,m)):0<n&&(r.scrollLeft-=f,m-=4,c.slTimeout=setTimeout(h,m))),l.updateTabStyle())});h()},handleScrollToLeft:function(e){var t,i=this.computeLrPosition,a=this.$refs.refHeadWrapperElem;a&&(t=a.clientWidth,a=a.clientHeight,i=Math.floor(.75*(i?a:t)),this.startScrollAnimation(e,i))},scrollLeftEvent:function(){this.handleScrollToLeft(-1)},scrollRightEvent:function(){this.handleScrollToLeft(1)},scrollToTab:function(s){var l=this,c=l.computeTabOptions,u=l.computeTabStaticOptions,f=l.computeLrPosition;return l.$nextTick().then(function(){var e,t,i,a,n,o,r=l.$refs.refHeadWrapperElem;r&&(-1<(i=_xeUtils.default.findIndexOf(u.length?u:c,function(e){return e.name===s}))&&(e=r.scrollLeft,o=r.scrollTop,t=r.clientWidth,n=r.clientHeight,i=r.children[i])&&(f?(0<(n=(a=i.offsetTop)+i.clientHeight-(o+n))&&(r.scrollTop+=n),a<o&&(r.scrollTop=a)):(0<(o=(n=i.offsetLeft)+i.clientWidth-(e+t))&&(r.scrollLeft+=o),n<e&&(r.scrollLeft=n))),l.updateTabStyle())})},handlePrevNext:function(e){var t,i=this,a=i.reactData,n=a.activeName,o=i.computeTabStaticOptions,o=o.length?o:i.computeTabOptions,r=_xeUtils.default.findIndexOf(o,function(e){return e.name===n});return-1<r&&(t=null,e?r<o.length-1&&(t=o[r+1]):0<r&&(t=o[r-1]),t)&&(e=t.name,a.activeName=e,i.emitModel(e),i.addInitName(e,null)),i.$nextTick()},renderTabHeader:function(p,m){var h=this,e=h.$scopedSlots,t=h.reactData,b=h.titleWidth,v=h.titleAlign,g=h.showClose,T=h.closeConfig,_=h.refreshConfig,y=t.activeName,i=t.scrollbarWidth,a=t.scrollbarHeight,n=t.isTabOver,x=t.cacheTabMaps,S=h.computeTabType,E=h.computeTabPosition,t=h.computeLrPosition,o=h.computeLineStyle,r=e.tabPrefix||e["tab-prefix"]||e.prefix,e=e.tabSuffix||e["tab-suffix"]||e.suffix||e.extra,N=h.computeCloseOpts,C=N.visibleMethod,O=h.computeRefreshOpts,P=O.visibleMethod;return p("div",{key:"th",class:["vxe-tabs-header","type--".concat(S),"pos--".concat(E)]},[r?p("div",{class:["vxe-tabs-header--prefix","type--".concat(S),"pos--".concat(E)]},h.callSlot(r,{name:y},p)):(0,_ui.renderEmptyElement)(h),n?p("div",{ref:"refHeadPrevElem",class:["vxe-tabs-header--bar vxe-tabs-header--prev-bar","type--".concat(S),"pos--".concat(E)],on:{click:h.scrollLeftEvent}},[p("span",{class:t?(0,_ui.getIcon)().TABS_TAB_BUTTON_TOP:(0,_ui.getIcon)().TABS_TAB_BUTTON_LEFT})]):(0,_ui.renderEmptyElement)(h),p("div",{class:["vxe-tabs-header--wrapper","type--".concat(S),"pos--".concat(E)]},[p("div",{ref:"refHeadWrapperElem",class:"vxe-tabs-header--item-wrapper",style:t?{marginRight:"-".concat(i+scrollbarOffsetSize,"px"),paddingRight:"".concat(scrollbarOffsetSize,"px")}:{marginBottom:"-".concat(a+scrollbarOffsetSize,"px"),paddingBottom:"".concat(scrollbarOffsetSize,"px")},on:{scroll:h.checkScrolling}},m.map(function(t,i){var e=t.title,a=t.icon,n=t.name,o=t.slots||{},r=o.title||o.tab,s=o.titlePrefix||o["title-prefix"],o=o.titleSuffix||o["title-suffix"],l=t.titleWidth||b,c=t.titleAlign||v,u={$tabs:h,value:y,name:n,option:t},f=y===n,d=n?x["".concat(n)]:null,d=!!d&&d.loading;return p("div",{key:"".concat(n),class:["vxe-tabs-header--item","type--".concat(S),"pos--".concat(E),c?"align--".concat(c):"",{"is--active":f}],style:l?{width:(0,_dom.toCssUnit)(l)}:void 0,on:{click:function(e){h.clickEvent(e,t)}}},[p("div",{class:"vxe-tabs-header--item-inner"},[p("div",{class:"vxe-tabs-header--item-content"},[a?p("span",{class:"vxe-tabs-header--item-icon"},[p("i",{class:a})]):(0,_ui.renderEmptyElement)(h),s?p("span",{class:"vxe-tabs-header--item-prefix"},h.callSlot(s,{name:n,title:e},p)):(0,_ui.renderEmptyElement)(h),p("span",{class:"vxe-tabs-header--item-name"},r?h.callSlot(r,{name:n,title:e},p):"".concat(e)),o?p("span",{class:"vxe-tabs-header--item-suffix"},h.callSlot(o,{name:n,title:e},p)):(0,_ui.renderEmptyElement)(h)]),!(0,_utils.isEnableConf)(_)&&!O.enabled||P&&!P(u)?(0,_ui.renderEmptyElement)(h):p("div",{class:["vxe-tabs-header--refresh-btn",{"is--active":f,"is--loading":d,"is--disabled":d}],on:{click:function(e){h.handleRefreshTabEvent(e,t)}}},[p("i",{class:d?(0,_ui.getIcon)().TABS_TAB_REFRESH_LOADING:(0,_ui.getIcon)().TABS_TAB_REFRESH})]),!(g||(0,_utils.isEnableConf)(T)||N.enabled)||C&&!C(u)?(0,_ui.renderEmptyElement)(h):p("div",{class:["vxe-tabs-header--close-btn",{"is--active":f}],on:{click:function(e){h.handleCloseTabEvent(e,t,i,m)}}},[p("i",{class:(0,_ui.getIcon)().TABS_TAB_CLOSE})])])])}).concat([p("span",{key:"line",class:["vxe-tabs-header--active-line","type--".concat(S),"pos--".concat(E)],style:o})]))]),n?p("div",{ref:"refHeadNextElem",class:["vxe-tabs-header--bar vxe-tabs-header--next-bar","type--".concat(S),"pos--".concat(E)],on:{click:h.scrollRightEvent}},[p("span",{class:t?(0,_ui.getIcon)().TABS_TAB_BUTTON_BOTTOM:(0,_ui.getIcon)().TABS_TAB_BUTTON_RIGHT})]):(0,_ui.renderEmptyElement)(h),e?p("div",{class:["vxe-tabs-header--suffix","type--".concat(S),"pos--".concat(E)]},h.callSlot(e,{name:y},p)):(0,_ui.renderEmptyElement)(h)])},renderTabPane:function(e,t){var i=this,a=i.reactData,n=i.useScrollbar,o=a.initNames,a=a.activeName,r=t.name,t=t.slots,s=t?t.default:null,t=i.computeScrollbarProps;return r&&o.includes(r)?n?e(_scrollbar.default,{key:"".concat(r),class:["vxe-tabs-pane--scrollbar-item",{"is--visible":a===r}],props:t,scopedSlots:{default:function(){return s?i.callSlot(s,{name:r},e):[]}}}):e("div",{key:"".concat(r),class:["vxe-tabs-pane--item",{"is--visible":a===r}]},s?i.callSlot(s,{name:r},e):[]):(0,_ui.renderEmptyElement)(i)},renderTabContent:function(t,e){var i=this,a=i.reactData,n=i.destroyOnClose,o=a.activeName;return n?[(a=e.find(function(e){return e.name===o}))?i.renderTabPane(t,a):(0,_ui.renderEmptyElement)(i)]:e.map(function(e){return i.renderTabPane(t,e)})},rendetTabBody:function(e,t){var i=this,a=i.$scopedSlots,n=i.reactData,o=i.height,r=i.padding,s=i.showBody,l=n.activeName,c=i.computeSize,u=i.computeTabType,f=i.computeTabPosition,d=i.computeRefreshOpts.showLoading,p=a.header,a=a.footer;return s?(n=!!(n=l?n.cacheTabMaps["".concat(l)]:null)&&n.loading,l={name:l},e("div",{key:"tb",class:["vxe-tabs-pane--wrapper","type--".concat(u),"pos--".concat(f),{"is--content":s}]},[p?e("div",{class:"vxe-tabs-pane--header"},i.callSlot(p,l,e)):(0,_ui.renderEmptyElement)(i),e("div",{class:["vxe-tabs-pane--body","type--".concat(u),"pos--".concat(f),_defineProperty(_defineProperty(_defineProperty({},"size--".concat(c),c),"is--padding",r),"is--height",o)]},i.renderTabContent(e,t)),a?e("div",{class:"vxe-tabs-pane--footer"},i.callSlot(a,l,e)):(0,_ui.renderEmptyElement)(i),d&&n?(0,_ui.renderEmptyElement)(i):e(_loading.default,{class:"vxe-tabs--loading",props:{value:n}})])):(0,_ui.renderEmptyElement)(i)},renderVN:function(e){var t=this,i=t.$scopedSlots,a=t.height,n=t.padding,o=t.trigger,r=t.reactData.activeName,s=t.computeSize,l=t.computeTabType,c=t.computeTabPosition,u=t.computeWrapperStyle,i=i.default,f=i?t.computeTabStaticOptions:t.computeTabOptions,i=[e("div",{key:"ts",class:"vxe-tabs-slots"},i?i({name:r}):[])];return"right"===c||"bottom"===c?i.push(t.rendetTabBody(e,f),t.renderTabHeader(e,f)):i.push(t.renderTabHeader(e,f),t.rendetTabBody(e,f)),e("div",{ref:"refElem",class:["vxe-tabs","pos--".concat(c),"vxe-tabs--".concat(l),"trigger--".concat("manual"===o?"trigger":"default"),_defineProperty(_defineProperty(_defineProperty({},"size--".concat(s),s),"is--padding",n),"is--height",a)],style:u},i)}},watch:{position:function(){this.reactData.resizeFlag++},value:function(e){var t=this.reactData;this.addInitName(e,null),t.activeName=e},"reactData.activeName":function(e){this.scrollToTab(e)},options:function(){var e=this.reactData;this.initDefaultName(this.options),e.resizeFlag++},"reactData.staticTabs":function(){var e=this.reactData;this.initDefaultName(e.staticTabs),e.resizeFlag++},computeParentTabsResizeFlag:function(){var e=this;e.$nextTick(function(){e.updateTabStyle()})}},created:function(){var e=this.reactData;this.addInitName(this.value,null),this.initDefaultName(e.staticTabs.length?e.staticTabs:this.options)},mounted:function(){this.updateTabStyle(),_ui.globalEvents.on(this,"resize",this.updateTabStyle)},beforeDestroy:function(){_ui.globalEvents.off(this,"resize")},render:function(e){return this.renderVN(e)}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_vn=require("../../ui/src/vn"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log"),_loading=_interopRequireDefault(require("../../loading")),_scrollbar=_interopRequireDefault(require("../../scrollbar"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _defineProperty(e,t,i){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function _toPropertyKey(e){e=_toPrimitive(e,"string");return"symbol"==_typeof(e)?e:e+""}function _toPrimitive(e,t){if("object"!=_typeof(e)||!e)return e;var i=e[Symbol.toPrimitive];if(void 0===i)return("string"===t?String:Number)(e);i=i.call(e,t||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}var _createComponentLog=(0,_log.createComponentLog)("tabs"),warnLog=_createComponentLog.warnLog,errLog=_createComponentLog.errLog,scrollbarOffsetSize=20,_default2=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTabs",mixins:[_ui.globalMixins.sizeMixin],props:{value:[String,Number,Boolean],options:Array,width:[String,Number],height:[String,Number],destroyOnClose:{type:Boolean,default:function(){return(0,_ui.getConfig)().tabs.destroyOnClose}},titleWidth:[String,Number],titleAlign:[String,Number],type:{type:String,default:function(){return(0,_ui.getConfig)().tabs.type}},position:{type:String,default:function(){return(0,_ui.getConfig)().tabs.position}},showClose:Boolean,showBody:{type:Boolean,default:!0},padding:{type:Boolean,default:function(){return(0,_ui.getConfig)().tabs.padding}},trigger:String,beforeChangeMethod:Function,closeConfig:Object,refreshConfig:Object,size:{type:String,default:function(){return(0,_ui.getConfig)().tabs.size||(0,_ui.getConfig)().size}},useScrollbar:{type:Boolean,default:function(){return(0,_utils.getDefaultConfig)((0,_ui.getConfig)().tabs.useScrollbar,(0,_ui.getConfig)().useScrollbar)}},scrollbarConfig:Object,beforeCloseMethod:Function},inject:{$xeParentTabs:{from:"$xeTabs",default:null}},provide:function(){return{$xeTabs:this}},data:function(){return{xID:_xeUtils.default.uniqueId(),reactData:{staticTabs:[],activeName:null,initNames:[],lintLeft:0,lintTop:0,lintWidth:0,lintHeight:0,scrollbarWidth:0,scrollbarHeight:0,isTabOver:!1,resizeFlag:1,cacheTabMaps:{}},internalData:{slTimeout:void 0}}},computed:Object.assign(Object.assign({},{}),{computeParentTabsResizeFlag:function(){var e=this.$xeParentTabs;return e?e.reactData.resizeFlag:null},computeTabType:function(){return this.type||"default"},computeTabPosition:function(){return this.position||"top"},computeLrPosition:function(){var e=this.computeTabPosition;return"left"===e||"right"===e},computeLineStyle:function(){var e=this.reactData,t=e.lintLeft,i=e.lintWidth,a=e.lintHeight;return this.computeLrPosition?{top:"".concat(e.lintTop,"px"),height:"".concat(a,"px")}:{left:"".concat(t,"px"),width:"".concat(i,"px")}},computeWrapperStyle:function(){var e=this.width,t=this.height,i={};return e&&(i.width=(0,_dom.toCssUnit)(e)),t&&(i.height="auto"===t?"100%":(0,_dom.toCssUnit)(t)),i},computeCloseOpts:function(){return Object.assign({},(0,_ui.getConfig)().tabs.closeConfig,this.closeConfig)},computeRefreshOpts:function(){return Object.assign({},(0,_ui.getConfig)().tabs.refreshConfig,this.refreshConfig)},computeTabOptions:function(){var t=this;return(t.options||[]).filter(function(e){return t.handleFilterTab(e)})},computeTabStaticOptions:function(){var t=this;return t.reactData.staticTabs.filter(function(e){return t.handleFilterTab(e)})},computeScrollbarOpts:function(){return Object.assign({},(0,_ui.getConfig)().tabs.scrollbarConfig,this.scrollbarConfig)},computeScrollbarProps:function(){var e=this.computeScrollbarOpts,t=e.viewClassName;return{width:e.width,height:e.height,autoHide:e.autoHide,visible:e.visible,xConfig:e.xConfig,yConfig:e.yConfig,className:e.className,viewAttrs:e.viewAttrs,viewClassName:"vxe-tabs-pane--scrollbar-item-view"+(t?" "+t:""),viewInnerClassName:"vxe-tabs-pane--scrollbar-item-inner"+(t?" "+e.viewInnerClassName:"")}}}),methods:{dispatchEvent:function(e,t,i){this.$emit(e,(0,_ui.createEvent)(i,{$tabs:this},t))},emitModel:function(e){var t=this._events;this.$emit("input",e),t&&t.modelValue?this.$emit("modelValue",e):this.$emit("model-value",e)},prev:function(){return this.handlePrevNext(!1)},next:function(){return this.handlePrevNext(!0)},prevTab:function(){return warnLog("vxe.error.delFunc",["prevTab","prev"]),this.prev()},nextTab:function(){return warnLog("vxe.error.delFunc",["nextTab","next"]),this.next()},handleFilterTab:function(e){e=e.permissionCode;return!(e&&!_ui.permission.checkVisible(e))},callSlot:function(e,t,i){var a=this.$scopedSlots;return e&&(_xeUtils.default.isString(e)&&(e=a[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e.call(this,t,i)):[]},checkScrolling:function(){var e,t,i,a,n,o=this.computeLrPosition,r=this.$refs.refHeadWrapperElem,s=this.$refs.refHeadPrevElem,l=this.$refs.refHeadNextElem;r&&(e=r.scrollLeft,t=r.scrollTop,i=r.clientWidth,a=r.clientHeight,n=r.scrollWidth,r=r.scrollHeight,s&&(0<(o?t:e)?(0,_dom.addClass):(0,_dom.removeClass))(s,"scrolling--middle"),l)&&((o?a<r-Math.ceil(t):i<n-Math.ceil(e))?(0,_dom.addClass):(0,_dom.removeClass))(l,"scrolling--middle")},updateTabStyle:function(){function e(){var e,t,i,a,n=g.activeName,o=v.computeTabType,r=v.computeTabOptions,s=v.computeTabStaticOptions,l=v.$refs.refHeadWrapperElem,c=v.computeLrPosition,u=0,f=0,d=0,p=0,m=0,h=0,b=!1;l&&(s=_xeUtils.default.findIndexOf(s.length?s:r,function(e){return e.name===n}),r=l.children,t=l.offsetWidth,e=l.scrollWidth,i=l.offsetHeight,a=l.scrollHeight,m=t-(t=l.clientWidth),h=i-(i=l.clientHeight),c?(b=a!==i,-1<s&&(l=r[s])&&(c=l.clientHeight,a=l.clientWidth,p="card"===o?(u=a,f=c,l.offsetTop):"border-card"===o?(u=a,f=c,l.offsetTop-1):(f=Math.max(4,Math.floor(.6*c)),l.offsetTop+Math.floor((c-f)/2)))):(b=e!==t,-1<s&&(i=r[s])&&(a=i.clientWidth,d="card"===o?(u=a+1,i.offsetLeft):"border-card"===o?(u=a,i.offsetLeft-1):(u=Math.max(4,Math.floor(.6*a)),i.offsetLeft+Math.floor((a-u)/2))))),g.scrollbarWidth=m,g.scrollbarHeight=h,g.lintLeft=d,g.lintTop=p,g.lintWidth=u,g.lintHeight=f,g.isTabOver=b,v.checkScrolling()}var v=this,g=v.reactData;e(),v.$nextTick(e)},addInitName:function(e,t){var i=this.reactData.initNames;return!(!e||i.includes(e)||(this.dispatchEvent("tab-load",{name:e},t),i.push(e),0))},initDefaultName:function(e){var i,a=this,t=a.reactData,n=null,o={};e&&e.length&&(i=!1,n=a.value,e.forEach(function(e){var e=e||{},t=e.name,e=e.preload;t&&(o["".concat(t)]={loading:!1},n===t&&(i=!0),e)&&a.addInitName(t,null)}),i||(n=e[0].name,a.addInitName(n,null),a.emitModel(n))),t.activeName=n,t.cacheTabMaps=o},clickEvent:function(t,i){var a=this,n=a.reactData,e=a.trigger,o=a.beforeChangeMethod||(0,_ui.getConfig)().tabs.beforeChangeMethod,r=n.activeName,s=i.name,l=s;a.dispatchEvent("tab-click",{name:s},t),"manual"!==e&&s!==r&&Promise.resolve(!o||o({$tabs:a,name:s,oldName:r,newName:s,option:i})).then(function(e){e?(n.activeName=s,a.emitModel(l),a.addInitName(s,t),a.dispatchEvent("change",{value:l,name:s,oldName:r,newName:s,option:i},t),a.dispatchEvent("tab-change",{value:l,name:s,oldName:r,newName:s,option:i},t)):a.dispatchEvent("tab-change-fail",{value:l,name:s,oldName:r,newName:s,option:i},t)}).catch(function(){a.dispatchEvent("tab-change-fail",{value:l,name:s,oldName:r,newName:s,option:i},t)})},handleRefreshTabEvent:function(e,t){var i=this.reactData,e=(e.stopPropagation(),i.activeName),i=i.cacheTabMaps,a=t.name,n=this.computeRefreshOpts.queryMethod,o=a?i["".concat(a)]:null;o&&!o.loading&&(n?(o.loading=!0,Promise.resolve(n({$tabs:this,value:e,name:a,option:t})).finally(function(){o.loading=!1})):errLog("vxe.error.notFunc",["refresh-config.queryMethod"]))},handleCloseTabEvent:function(t,e,i,a){var n=this,o=n,r=n.reactData,r=(t.stopPropagation(),r.activeName),o=n.computeCloseOpts.beforeMethod||o.beforeCloseMethod||(0,_ui.getConfig)().tabs.beforeCloseMethod,s=e.name,l=r,c=l;r===s&&(r=i<a.length-1?a[i+1]:a[i-1],c=r?r.name:null),Promise.resolve(!o||o({$tabs:n,value:l,name:s,nextName:c,option:e})).then(function(e){e?n.dispatchEvent("tab-close",{value:l,name:s,nextName:c},t):n.dispatchEvent("tab-close-fail",{value:l,name:s,nextName:c},t)}).catch(function(){n.dispatchEvent("tab-close-fail",{value:l,name:s,nextName:c},t)})},startScrollAnimation:function(s,e){var l=this,c=l.internalData,t=c.slTimeout,u=l.computeLrPosition,f=u?0:e,d=u?e:0,p=6,m=35,h=(t&&(clearTimeout(t),c.slTimeout=void 0),function(){var e,t,i,a,n,o,r=l.$refs.refHeadWrapperElem;0<p&&(p--,r)&&(e=r.clientWidth,t=r.clientHeight,i=r.scrollWidth,a=r.scrollHeight,n=r.scrollLeft,o=r.scrollTop,u?(d=Math.floor(d/2),0<s?t+o<a&&(r.scrollTop+=d,m-=4,c.slTimeout=setTimeout(h,m)):0<o&&(r.scrollTop-=d,m-=4,c.slTimeout=setTimeout(h,m))):(f=Math.floor(f/2),0<s?e+n<i&&(r.scrollLeft+=f,m-=4,c.slTimeout=setTimeout(h,m)):0<n&&(r.scrollLeft-=f,m-=4,c.slTimeout=setTimeout(h,m))),l.updateTabStyle())});h()},handleScrollToLeft:function(e){var t,i=this.computeLrPosition,a=this.$refs.refHeadWrapperElem;a&&(t=a.clientWidth,a=a.clientHeight,i=Math.floor(.75*(i?a:t)),this.startScrollAnimation(e,i))},scrollLeftEvent:function(){this.handleScrollToLeft(-1)},scrollRightEvent:function(){this.handleScrollToLeft(1)},scrollToTab:function(s){var l=this,c=l.computeTabOptions,u=l.computeTabStaticOptions,f=l.computeLrPosition;return l.$nextTick().then(function(){var e,t,i,a,n,o,r=l.$refs.refHeadWrapperElem;r&&(-1<(i=_xeUtils.default.findIndexOf(u.length?u:c,function(e){return e.name===s}))&&(e=r.scrollLeft,o=r.scrollTop,t=r.clientWidth,n=r.clientHeight,i=r.children[i])&&(f?(0<(n=(a=i.offsetTop)+i.clientHeight-(o+n))&&(r.scrollTop+=n),a<o&&(r.scrollTop=a)):(0<(o=(n=i.offsetLeft)+i.clientWidth-(e+t))&&(r.scrollLeft+=o),n<e&&(r.scrollLeft=n))),l.updateTabStyle())})},handlePrevNext:function(e){var t,i=this,a=i.reactData,n=a.activeName,o=i.computeTabStaticOptions,o=o.length?o:i.computeTabOptions,r=_xeUtils.default.findIndexOf(o,function(e){return e.name===n});return-1<r&&(t=null,e?r<o.length-1&&(t=o[r+1]):0<r&&(t=o[r-1]),t)&&(e=t.name,a.activeName=e,i.emitModel(e),i.addInitName(e,null)),i.$nextTick()},renderTabHeader:function(p,m){var h=this,e=h.$scopedSlots,t=h.reactData,b=h.titleWidth,v=h.titleAlign,g=h.showClose,T=h.closeConfig,_=h.refreshConfig,y=t.activeName,i=t.scrollbarWidth,a=t.scrollbarHeight,n=t.isTabOver,x=t.cacheTabMaps,S=h.computeTabType,E=h.computeTabPosition,t=h.computeLrPosition,o=h.computeLineStyle,r=e.tabPrefix||e["tab-prefix"]||e.prefix,e=e.tabSuffix||e["tab-suffix"]||e.suffix||e.extra,N=h.computeCloseOpts,C=N.visibleMethod,O=h.computeRefreshOpts,P=O.visibleMethod;return p("div",{key:"th",class:["vxe-tabs-header","type--".concat(S),"pos--".concat(E)]},[r?p("div",{class:["vxe-tabs-header--prefix","type--".concat(S),"pos--".concat(E)]},h.callSlot(r,{name:y},p)):(0,_ui.renderEmptyElement)(h),n?p("div",{ref:"refHeadPrevElem",class:["vxe-tabs-header--bar vxe-tabs-header--prev-bar","type--".concat(S),"pos--".concat(E)],on:{click:h.scrollLeftEvent}},[p("span",{class:t?(0,_ui.getIcon)().TABS_TAB_BUTTON_TOP:(0,_ui.getIcon)().TABS_TAB_BUTTON_LEFT})]):(0,_ui.renderEmptyElement)(h),p("div",{class:["vxe-tabs-header--wrapper","type--".concat(S),"pos--".concat(E)]},[p("div",{ref:"refHeadWrapperElem",class:"vxe-tabs-header--item-wrapper",style:t?{marginRight:"-".concat(i+scrollbarOffsetSize,"px"),paddingRight:"".concat(scrollbarOffsetSize,"px")}:{marginBottom:"-".concat(a+scrollbarOffsetSize,"px"),paddingBottom:"".concat(scrollbarOffsetSize,"px")},on:{scroll:h.checkScrolling}},m.map(function(t,i){var e=t.title,a=t.icon,n=t.name,o=t.slots||{},r=o.title||o.tab,s=o.titlePrefix||o["title-prefix"],o=o.titleSuffix||o["title-suffix"],l=t.titleWidth||b,c=t.titleAlign||v,u={$tabs:h,value:y,name:n,option:t},f=y===n,d=n?x["".concat(n)]:null,d=!!d&&d.loading;return p("div",{key:"".concat(n),class:["vxe-tabs-header--item","type--".concat(S),"pos--".concat(E),c?"align--".concat(c):"",{"is--active":f}],style:l?{width:(0,_dom.toCssUnit)(l)}:void 0,on:{click:function(e){h.clickEvent(e,t)}}},[p("div",{class:"vxe-tabs-header--item-inner"},[p("div",{class:"vxe-tabs-header--item-content"},[a?p("span",{class:"vxe-tabs-header--item-icon"},[p("i",{class:a})]):(0,_ui.renderEmptyElement)(h),s?p("span",{class:"vxe-tabs-header--item-prefix"},h.callSlot(s,{name:n,title:e},p)):(0,_ui.renderEmptyElement)(h),p("span",{class:"vxe-tabs-header--item-name"},r?h.callSlot(r,{name:n,title:e},p):"".concat(e)),o?p("span",{class:"vxe-tabs-header--item-suffix"},h.callSlot(o,{name:n,title:e},p)):(0,_ui.renderEmptyElement)(h)]),!(0,_utils.isEnableConf)(_)&&!O.enabled||P&&!P(u)?(0,_ui.renderEmptyElement)(h):p("div",{class:["vxe-tabs-header--refresh-btn",{"is--active":f,"is--loading":d,"is--disabled":d}],on:{click:function(e){h.handleRefreshTabEvent(e,t)}}},[p("i",{class:d?(0,_ui.getIcon)().TABS_TAB_REFRESH_LOADING:(0,_ui.getIcon)().TABS_TAB_REFRESH})]),!(g||(0,_utils.isEnableConf)(T)||N.enabled)||C&&!C(u)?(0,_ui.renderEmptyElement)(h):p("div",{class:["vxe-tabs-header--close-btn",{"is--active":f}],on:{click:function(e){h.handleCloseTabEvent(e,t,i,m)}}},[p("i",{class:(0,_ui.getIcon)().TABS_TAB_CLOSE})])])])}).concat([p("span",{key:"line",class:["vxe-tabs-header--active-line","type--".concat(S),"pos--".concat(E)],style:o})]))]),n?p("div",{ref:"refHeadNextElem",class:["vxe-tabs-header--bar vxe-tabs-header--next-bar","type--".concat(S),"pos--".concat(E)],on:{click:h.scrollRightEvent}},[p("span",{class:t?(0,_ui.getIcon)().TABS_TAB_BUTTON_BOTTOM:(0,_ui.getIcon)().TABS_TAB_BUTTON_RIGHT})]):(0,_ui.renderEmptyElement)(h),e?p("div",{class:["vxe-tabs-header--suffix","type--".concat(S),"pos--".concat(E)]},h.callSlot(e,{name:y},p)):(0,_ui.renderEmptyElement)(h)])},renderTabPane:function(e,t){var i=this,a=i.reactData,n=i.useScrollbar,o=a.initNames,a=a.activeName,r=t.name,t=t.slots,s=t?t.default:null,t=i.computeScrollbarProps;return r&&o.includes(r)?n?e(_scrollbar.default,{key:"".concat(r),class:["vxe-tabs-pane--scrollbar-item",{"is--visible":a===r}],props:t,scopedSlots:{default:function(){return s?i.callSlot(s,{name:r},e):[]}}}):e("div",{key:"".concat(r),class:["vxe-tabs-pane--item",{"is--visible":a===r}]},s?i.callSlot(s,{name:r},e):[]):(0,_ui.renderEmptyElement)(i)},renderTabContent:function(t,e){var i=this,a=i.reactData,n=i.destroyOnClose,o=a.activeName;return n?[(a=e.find(function(e){return e.name===o}))?i.renderTabPane(t,a):(0,_ui.renderEmptyElement)(i)]:e.map(function(e){return i.renderTabPane(t,e)})},rendetTabBody:function(e,t){var i=this,a=i.$scopedSlots,n=i.reactData,o=i.height,r=i.padding,s=i.showBody,l=n.activeName,c=i.computeSize,u=i.computeTabType,f=i.computeTabPosition,d=i.computeRefreshOpts.showLoading,p=a.header,a=a.footer;return s?(n=!!(n=l?n.cacheTabMaps["".concat(l)]:null)&&n.loading,l={name:l},e("div",{key:"tb",class:["vxe-tabs-pane--wrapper","type--".concat(u),"pos--".concat(f),{"is--content":s}]},[p?e("div",{class:"vxe-tabs-pane--header"},i.callSlot(p,l,e)):(0,_ui.renderEmptyElement)(i),e("div",{class:["vxe-tabs-pane--body","type--".concat(u),"pos--".concat(f),_defineProperty(_defineProperty(_defineProperty({},"size--".concat(c),c),"is--padding",r),"is--height",o)]},i.renderTabContent(e,t)),a?e("div",{class:"vxe-tabs-pane--footer"},i.callSlot(a,l,e)):(0,_ui.renderEmptyElement)(i),d&&n?(0,_ui.renderEmptyElement)(i):e(_loading.default,{class:"vxe-tabs--loading",props:{value:n}})])):(0,_ui.renderEmptyElement)(i)},renderVN:function(e){var t=this,i=t.$scopedSlots,a=t.height,n=t.padding,o=t.trigger,r=t.reactData.activeName,s=t.computeSize,l=t.computeTabType,c=t.computeTabPosition,u=t.computeWrapperStyle,i=i.default,f=i?t.computeTabStaticOptions:t.computeTabOptions,i=[e("div",{key:"ts",class:"vxe-tabs-slots"},i?i({name:r}):[])];return"right"===c||"bottom"===c?i.push(t.rendetTabBody(e,f),t.renderTabHeader(e,f)):i.push(t.renderTabHeader(e,f),t.rendetTabBody(e,f)),e("div",{ref:"refElem",class:["vxe-tabs","pos--".concat(c),"vxe-tabs--".concat(l),"trigger--".concat("manual"===o?"trigger":"default"),_defineProperty(_defineProperty(_defineProperty({},"size--".concat(s),s),"is--padding",n),"is--height",a)],style:u},i)}},watch:{position:function(){this.reactData.resizeFlag++},value:function(e){var t=this.reactData;this.addInitName(e,null),t.activeName=e},"reactData.activeName":function(e){this.scrollToTab(e)},options:function(){var e=this.reactData;this.initDefaultName(this.options),e.resizeFlag++},"reactData.staticTabs":function(){var e=this.reactData;this.initDefaultName(e.staticTabs),e.resizeFlag++},computeParentTabsResizeFlag:function(){var e=this;e.$nextTick(function(){e.updateTabStyle()})}},created:function(){var e=this.reactData;this.addInitName(this.value,null),this.initDefaultName(e.staticTabs.length?e.staticTabs:this.options)},mounted:function(){this.updateTabStyle(),_ui.globalEvents.on(this,"resize",this.updateTabStyle)},beforeDestroy:function(){_ui.globalEvents.off(this,"resize")},render:function(e){return this.renderVN(e)}});
@@ -14,7 +14,6 @@ var _store = require("./store");
14
14
  var _dom = require("../../ui/src/dom");
15
15
  var _utils = require("../../ui/src/utils");
16
16
  var _anime = require("../../ui/src/anime");
17
- var _util2 = require("../../scrollbar/src/util");
18
17
  var _loading = _interopRequireDefault(require("../../loading"));
19
18
  var _tooltip = _interopRequireDefault(require("../../tooltip"));
20
19
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -32,9 +31,14 @@ var _createComponentLog = (0, _log.createComponentLog)('tree'),
32
31
  warnLog = _createComponentLog.warnLog,
33
32
  errLog = _createComponentLog.errLog;
34
33
  var menus = _ui.VxeUI.menus,
34
+ scrollbarUtils = _ui.VxeUI.scrollbarUtils,
35
35
  getConfig = _ui.VxeUI.getConfig,
36
36
  getI18n = _ui.VxeUI.getI18n,
37
37
  getIcon = _ui.VxeUI.getIcon;
38
+ var getThumbOffsetSize = scrollbarUtils.getThumbOffsetSize,
39
+ getThumbSize = scrollbarUtils.getThumbSize,
40
+ getScrollFromClick = scrollbarUtils.getScrollFromClick,
41
+ getScrollFromDrag = scrollbarUtils.getScrollFromDrag;
38
42
  var crossTreeDragNodeObj = null;
39
43
  /**
40
44
  * 生成节点的唯一主键
@@ -563,8 +567,9 @@ function createInternalData() {
563
567
  indeterminateNodeMaps: {},
564
568
  treeExpandedMaps: {},
565
569
  treeExpandLazyLoadedMaps: {},
566
- // 滚动条
567
570
  // resizeObserver: undefined,
571
+ // 滚动条
572
+ // scrollObserver: undefined,
568
573
  // isThumbDrag: false,
569
574
  thumbDragOffset: 0,
570
575
  yThumbTop: 0,
@@ -769,7 +774,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
769
774
  useScrollbar: {
770
775
  type: Boolean,
771
776
  default: function _default() {
772
- return getConfig().tree.useScrollbar;
777
+ return (0, _utils.getDefaultConfig)(getConfig().tree.useScrollbar, getConfig().useScrollbar);
773
778
  }
774
779
  },
775
780
  scrollbarConfig: Object
@@ -894,11 +899,8 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
894
899
  },
895
900
  computeWrapperStyles: function computeWrapperStyles() {
896
901
  var $xeTree = this;
897
- var scrollbarOpts = $xeTree.computeScrollbarOpts;
898
- var scrollbarXOpts = $xeTree.computeScrollbarXOpts;
899
- var scrollbarYOpts = $xeTree.computeScrollbarYOpts;
900
- var barWidth = (0, _utils.getDefaultConfig)((0, _utils.getDefaultConfig)(scrollbarYOpts.width, scrollbarOpts.width), getConfig().scrollbar.width);
901
- var barHeight = (0, _utils.getDefaultConfig)((0, _utils.getDefaultConfig)(scrollbarXOpts.height, scrollbarOpts.height), getConfig().scrollbar.height);
902
+ var barWidth = $xeTree.computeScrollYWidth;
903
+ var barHeight = $xeTree.computeScrollXHeight;
902
904
  var stys = {};
903
905
  if (barWidth || barHeight) {
904
906
  stys['--vxe-ui-scrollbar-y-width'] = (0, _dom.toCssUnit)(barWidth || barHeight);
@@ -963,6 +965,18 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
963
965
  var scrollbarOpts = $xeTree.computeScrollbarOpts;
964
966
  return Object.assign({}, getConfig().scrollbar.yConfig, scrollbarOpts.yConfig);
965
967
  },
968
+ computeScrollXHeight: function computeScrollXHeight() {
969
+ var $xeTree = this;
970
+ var scrollbarOpts = $xeTree.computeScrollbarOpts;
971
+ var scrollbarXOpts = $xeTree.computeScrollbarXOpts;
972
+ return (0, _utils.getDefaultConfig)((0, _utils.getDefaultConfig)(scrollbarXOpts.height, scrollbarOpts.height), getConfig().scrollbar.height);
973
+ },
974
+ computeScrollYWidth: function computeScrollYWidth() {
975
+ var $xeTree = this;
976
+ var scrollbarOpts = $xeTree.computeScrollbarOpts;
977
+ var scrollbarYOpts = $xeTree.computeScrollbarYOpts;
978
+ return (0, _utils.getDefaultConfig)((0, _utils.getDefaultConfig)(scrollbarYOpts.width, scrollbarOpts.width), getConfig().scrollbar.width);
979
+ },
966
980
  computeScrollXVisible: function computeScrollXVisible() {
967
981
  var $xeTree = this;
968
982
  var scrollbarOpts = $xeTree.computeScrollbarOpts;
@@ -990,20 +1004,13 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
990
1004
  computeScrollbarWrapperClss: function computeScrollbarWrapperClss() {
991
1005
  var $xeTree = this;
992
1006
  var reactData = $xeTree.reactData;
993
- var scrollbarOpts = $xeTree.computeScrollbarOpts;
994
- var padding = scrollbarOpts.padding;
995
1007
  var yThumbHeight = reactData.yThumbHeight,
996
1008
  xThumbWidth = reactData.xThumbWidth;
997
1009
  var scrollbarXToTop = $xeTree.computeScrollbarXToTop;
998
1010
  var scrollbarYToLeft = $xeTree.computeScrollbarYToLeft;
999
1011
  var scrollXVisible = $xeTree.computeScrollXVisible;
1000
1012
  var scrollYVisible = $xeTree.computeScrollYVisible;
1001
- var scrollXAutoHide = $xeTree.computeScrollXAutoHide;
1002
- var scrollYAutoHide = $xeTree.computeScrollYAutoHide;
1003
1013
  return _ui.domUtils.buildClass(['vxe-scrollbar is--virtual', "ov-x--".concat(scrollXVisible === false ? 'hidden' : 'visible'), "ov-y--".concat(scrollYVisible === false ? 'hidden' : 'visible'), "sx-pos--".concat(scrollbarXToTop ? 'top' : 'bottom'), "sy-pos--".concat(scrollbarYToLeft ? 'left' : 'right')], {
1004
- 'is--padding': padding,
1005
- 'ov-x--auto-hide': scrollXAutoHide,
1006
- 'ov-y--auto-hide': scrollYAutoHide,
1007
1014
  'overflow-y': yThumbHeight,
1008
1015
  'overflow-x': xThumbWidth
1009
1016
  });
@@ -3543,14 +3550,14 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
3543
3550
  return;
3544
3551
  }
3545
3552
  var trackXEl = $xeTree.$refs.refTrackXElem;
3546
- var xThumbWidth = trackXEl ? (0, _util2.getThumbSize)(viewEl.clientWidth, viewEl.scrollWidth, trackXEl.clientWidth) : 0;
3553
+ var xThumbWidth = trackXEl ? getThumbSize(viewEl.clientWidth, viewEl.scrollWidth, trackXEl.clientWidth) : 0;
3547
3554
  var thumbXElem = $xeTree.$refs.refThumbXElem;
3548
3555
  if (thumbXElem) {
3549
3556
  thumbXElem.style.width = xThumbWidth + 'px';
3550
3557
  }
3551
3558
  reactData.xThumbWidth = xThumbWidth;
3552
3559
  var trackYEl = $xeTree.$refs.refTrackYElem;
3553
- var yThumbHeight = trackYEl ? (0, _util2.getThumbSize)(viewEl.clientHeight, viewEl.scrollHeight, trackYEl.clientHeight) : 0;
3560
+ var yThumbHeight = trackYEl ? getThumbSize(viewEl.clientHeight, viewEl.scrollHeight, trackYEl.clientHeight) : 0;
3554
3561
  var thumbYElem = $xeTree.$refs.refThumbYElem;
3555
3562
  if (thumbYElem) {
3556
3563
  thumbYElem.style.height = yThumbHeight + 'px';
@@ -3572,7 +3579,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
3572
3579
  yThumbHeight = reactData.yThumbHeight;
3573
3580
  var trackXEl = $xeTree.$refs.refTrackXElem;
3574
3581
  var thumbXElem = $xeTree.$refs.refThumbXElem;
3575
- var xThumbLeft = trackXEl && xThumbWidth ? (0, _util2.getThumbOffsetSize)(viewEl.scrollLeft, viewEl.clientWidth, viewEl.scrollWidth, trackXEl.clientWidth, xThumbWidth) : 0;
3582
+ var xThumbLeft = trackXEl && xThumbWidth ? getThumbOffsetSize(viewEl.scrollLeft, viewEl.clientWidth, viewEl.scrollWidth, trackXEl.clientWidth, xThumbWidth) : 0;
3576
3583
  internalData.xThumbLeft = xThumbLeft;
3577
3584
  if (thumbXElem && xThumbWidth) {
3578
3585
  thumbXElem.style.width = xThumbWidth + 'px';
@@ -3580,7 +3587,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
3580
3587
  }
3581
3588
  var trackYEl = $xeTree.$refs.refTrackYElem;
3582
3589
  var thumbYElem = $xeTree.$refs.refThumbYElem;
3583
- var yThumbTop = trackYEl && yThumbHeight ? (0, _util2.getThumbOffsetSize)(viewEl.scrollTop, viewEl.clientHeight, viewEl.scrollHeight, trackYEl.clientHeight, yThumbHeight) : 0;
3590
+ var yThumbTop = trackYEl && yThumbHeight ? getThumbOffsetSize(viewEl.scrollTop, viewEl.clientHeight, viewEl.scrollHeight, trackYEl.clientHeight, yThumbHeight) : 0;
3584
3591
  internalData.yThumbTop = yThumbTop;
3585
3592
  if (thumbYElem && yThumbHeight) {
3586
3593
  thumbYElem.style.height = yThumbHeight + 'px';
@@ -3601,7 +3608,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
3601
3608
  var xThumbWidth = reactData.xThumbWidth;
3602
3609
  var trackRect = trackEl.getBoundingClientRect();
3603
3610
  viewEl.scrollTo({
3604
- left: (0, _util2.getScrollFromClick)(evnt.clientX - trackRect.left, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth),
3611
+ left: getScrollFromClick(evnt.clientX - trackRect.left, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth),
3605
3612
  behavior: 'auto'
3606
3613
  });
3607
3614
  },
@@ -3619,7 +3626,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
3619
3626
  var yThumbHeight = reactData.yThumbHeight;
3620
3627
  var trackRect = trackEl.getBoundingClientRect();
3621
3628
  viewEl.scrollTo({
3622
- top: (0, _util2.getScrollFromClick)(evnt.clientY - trackRect.top, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight),
3629
+ top: getScrollFromClick(evnt.clientY - trackRect.top, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight),
3623
3630
  behavior: 'auto'
3624
3631
  });
3625
3632
  },
@@ -3639,7 +3646,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
3639
3646
  var trackRect = trackEl.getBoundingClientRect();
3640
3647
  var pointerPosition = evnt.clientX - trackRect.left;
3641
3648
  // 记录 thumb 的偏移
3642
- var thumbOffset = (0, _util2.getThumbOffsetSize)(viewEl.scrollLeft, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth);
3649
+ var thumbOffset = getThumbOffsetSize(viewEl.scrollLeft, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth);
3643
3650
  internalData.thumbDragOffset = pointerPosition - thumbOffset;
3644
3651
  },
3645
3652
  pointermoveThumbXEvent: function pointermoveThumbXEvent(evnt) {
@@ -3662,7 +3669,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
3662
3669
  var trackEl = _thumbEl.parentElement;
3663
3670
  var trackRect = trackEl.getBoundingClientRect();
3664
3671
  // 更新偏移
3665
- viewEl.scrollLeft = (0, _util2.getScrollFromDrag)(evnt.clientX - trackRect.left, thumbDragOffset, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth);
3672
+ viewEl.scrollLeft = getScrollFromDrag(evnt.clientX - trackRect.left, thumbDragOffset, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth);
3666
3673
  }
3667
3674
  },
3668
3675
  cleatPointerThumbEvent: function cleatPointerThumbEvent(evnt) {
@@ -3688,7 +3695,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
3688
3695
  var trackRect = trackEl.getBoundingClientRect();
3689
3696
  var pointerPosition = evnt.clientY - trackRect.top;
3690
3697
  // 记录 thumb 的偏移
3691
- var thumbOffset = (0, _util2.getThumbOffsetSize)(viewEl.scrollTop, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight);
3698
+ var thumbOffset = getThumbOffsetSize(viewEl.scrollTop, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight);
3692
3699
  internalData.thumbDragOffset = pointerPosition - thumbOffset;
3693
3700
  },
3694
3701
  pointermoveThumbYEvent: function pointermoveThumbYEvent(evnt) {
@@ -3711,7 +3718,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
3711
3718
  var trackEl = _thumbEl2.parentElement;
3712
3719
  var trackRect = trackEl.getBoundingClientRect();
3713
3720
  // 更新偏移
3714
- viewEl.scrollTop = (0, _util2.getScrollFromDrag)(evnt.clientY - trackRect.top, thumbDragOffset, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight);
3721
+ viewEl.scrollTop = getScrollFromDrag(evnt.clientY - trackRect.top, thumbDragOffset, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight);
3715
3722
  }
3716
3723
  },
3717
3724
  //
@@ -4256,6 +4263,14 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
4256
4263
  var $xeTree = this;
4257
4264
  $xeTree.reFlag++;
4258
4265
  },
4266
+ computeScrollYWidth: function computeScrollYWidth() {
4267
+ var $xeTree = this;
4268
+ $xeTree.reFlag++;
4269
+ },
4270
+ computeScrollXHeight: function computeScrollXHeight() {
4271
+ var $xeTree = this;
4272
+ $xeTree.reFlag++;
4273
+ },
4259
4274
  computeScrollXVisible: function computeScrollXVisible() {
4260
4275
  var $xeTree = this;
4261
4276
  $xeTree.$nextTick(function () {
@@ -4315,23 +4330,32 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
4315
4330
  if (menuConfig && !VxeUIContextMenu) {
4316
4331
  errLog('vxe.error.reqComp', ['vxe-context-menu']);
4317
4332
  }
4318
- if (useScrollbar || autoResize) {
4319
- var el = $xeTree.$refs.refElem;
4333
+ var el = $xeTree.$refs.refElem;
4334
+ if (useScrollbar) {
4320
4335
  var viewInnerEl = $xeTree.$refs.refVirtualBody;
4336
+ var scrollObserver = _ui.globalResize.create(function () {
4337
+ $xeTree.updateScrollbar();
4338
+ });
4339
+ if (el) {
4340
+ scrollObserver.observe(el);
4341
+ }
4342
+ if (viewInnerEl) {
4343
+ scrollObserver.observe(viewInnerEl);
4344
+ }
4345
+ internalData.scrollObserver = scrollObserver;
4346
+ }
4347
+ if (autoResize) {
4321
4348
  var parentEl = $xeTree.getParentElem();
4322
4349
  var resizeObserver = _ui.globalResize.create(function () {
4323
- $xeTree.reFlag++;
4350
+ if (props.autoResize) {
4351
+ $xeTree.reFlag++;
4352
+ }
4324
4353
  });
4325
4354
  if (el) {
4326
4355
  resizeObserver.observe(el);
4327
- if (autoResize) {
4328
- if (parentEl) {
4329
- resizeObserver.observe(parentEl);
4330
- }
4331
- }
4332
4356
  }
4333
- if (viewInnerEl) {
4334
- resizeObserver.observe(viewInnerEl);
4357
+ if (parentEl) {
4358
+ resizeObserver.observe(parentEl);
4335
4359
  }
4336
4360
  internalData.resizeObserver = resizeObserver;
4337
4361
  }
@@ -4344,10 +4368,14 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
4344
4368
  var $xeTree = this;
4345
4369
  var reactData = $xeTree.reactData;
4346
4370
  var internalData = $xeTree.internalData;
4347
- var resizeObserver = internalData.resizeObserver;
4371
+ var scrollObserver = internalData.scrollObserver,
4372
+ resizeObserver = internalData.resizeObserver;
4348
4373
  if (resizeObserver) {
4349
4374
  resizeObserver.disconnect();
4350
4375
  }
4376
+ if (scrollObserver) {
4377
+ scrollObserver.disconnect();
4378
+ }
4351
4379
  _ui.globalEvents.off($xeTree, 'resize');
4352
4380
  _xeUtils.default.assign(reactData, createReactData());
4353
4381
  _xeUtils.default.assign(internalData, createInternalData());