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.
- package/es/card/src/card.js +2 -1
- package/es/drawer/src/drawer.js +75 -16
- package/es/drawer/style.css +13 -6
- package/es/drawer/style.min.css +1 -1
- package/es/icon/style.css +1 -1
- package/es/layout-aside/src/layout-aside.js +2 -1
- package/es/layout-body/src/layout-body.js +2 -1
- package/es/list/src/list.js +57 -25
- package/es/menu/src/menu.js +2 -2
- package/es/modal/src/modal.js +73 -14
- package/es/modal/style.css +4 -0
- package/es/modal/style.min.css +1 -1
- package/es/scrollbar/src/scrollbar.js +22 -6
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/tabs/src/tabs.js +2 -2
- package/es/tree/src/tree.js +50 -27
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/es/vxe-drawer/style.css +13 -6
- package/es/vxe-drawer/style.min.css +1 -1
- package/es/vxe-modal/style.css +4 -0
- package/es/vxe-modal/style.min.css +1 -1
- package/lib/card/src/card.js +2 -1
- package/lib/card/src/card.min.js +1 -1
- package/lib/drawer/src/drawer.js +76 -12
- package/lib/drawer/src/drawer.min.js +1 -1
- package/lib/drawer/style/style.css +13 -6
- package/lib/drawer/style/style.min.css +1 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/index.umd.js +425 -191
- package/lib/index.umd.min.js +1 -1
- package/lib/layout-aside/src/layout-aside.js +2 -1
- package/lib/layout-aside/src/layout-aside.min.js +1 -1
- package/lib/layout-body/src/layout-body.js +2 -1
- package/lib/layout-body/src/layout-body.min.js +1 -1
- package/lib/list/src/list.js +107 -64
- package/lib/list/src/list.min.js +1 -1
- package/lib/menu/src/menu.js +1 -1
- package/lib/menu/src/menu.min.js +1 -1
- package/lib/modal/src/modal.js +74 -12
- package/lib/modal/src/modal.min.js +1 -1
- package/lib/modal/style/style.css +4 -0
- package/lib/modal/style/style.min.css +1 -1
- package/lib/scrollbar/src/scrollbar.js +35 -15
- package/lib/scrollbar/src/scrollbar.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/tabs/src/tabs.js +1 -1
- package/lib/tabs/src/tabs.min.js +1 -1
- package/lib/tree/src/tree.js +64 -36
- package/lib/tree/src/tree.min.js +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/vxe-drawer/style/style.css +13 -6
- package/lib/vxe-drawer/style/style.min.css +1 -1
- package/lib/vxe-modal/style/style.css +4 -0
- package/lib/vxe-modal/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/card/src/card.ts +2 -1
- package/packages/drawer/src/drawer.ts +80 -16
- package/packages/layout-aside/src/layout-aside.ts +2 -1
- package/packages/layout-body/src/layout-body.ts +2 -1
- package/packages/list/src/list.ts +66 -25
- package/packages/menu/src/menu.ts +2 -2
- package/packages/modal/src/modal.ts +83 -19
- package/packages/scrollbar/src/scrollbar.ts +27 -6
- package/packages/tabs/src/tabs.ts +2 -2
- package/packages/tree/src/tree.ts +60 -31
- package/styles/components/drawer.scss +13 -6
- package/styles/components/modal.scss +4 -0
- package/types/components/drawer.d.ts +20 -0
- package/types/components/gantt-module/gantt-view.d.ts +24 -1
- package/types/components/gantt-plugins/extend-gantt-chart.d.ts +1 -1
- package/types/components/gantt.d.ts +2 -0
- package/types/components/layout-aside.d.ts +15 -0
- package/types/components/layout-body.d.ts +3 -0
- package/types/components/list.d.ts +18 -1
- package/types/components/modal.d.ts +20 -0
- package/types/components/number-input.d.ts +12 -2
- package/types/components/table-plugins/extend-pivot-table.d.ts +1 -1
- package/types/components/table.d.ts +36 -2
- package/types/components/tree.d.ts +15 -1
- package/es/scrollbar/src/util.js +0 -54
- package/lib/scrollbar/src/util.js +0 -63
- package/lib/scrollbar/src/util.min.js +0 -1
- package/packages/scrollbar/src/util.ts +0 -57
- /package/es/icon/{iconfont.1791950618327.ttf → iconfont.1792048654011.ttf} +0 -0
- /package/es/icon/{iconfont.1791950618327.woff → iconfont.1792048654011.woff} +0 -0
- /package/es/icon/{iconfont.1791950618327.woff2 → iconfont.1792048654011.woff2} +0 -0
- /package/es/{iconfont.1791950618327.ttf → iconfont.1792048654011.ttf} +0 -0
- /package/es/{iconfont.1791950618327.woff → iconfont.1792048654011.woff} +0 -0
- /package/es/{iconfont.1791950618327.woff2 → iconfont.1792048654011.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1791950618327.ttf → iconfont.1792048654011.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1791950618327.woff → iconfont.1792048654011.woff} +0 -0
- /package/lib/icon/style/{iconfont.1791950618327.woff2 → iconfont.1792048654011.woff2} +0 -0
- /package/lib/{iconfont.1791950618327.ttf → iconfont.1792048654011.ttf} +0 -0
- /package/lib/{iconfont.1791950618327.woff → iconfont.1792048654011.woff} +0 -0
- /package/lib/{iconfont.1791950618327.woff2 → iconfont.1792048654011.woff2} +0 -0
package/lib/tabs/src/tabs.js
CHANGED
|
@@ -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,
|
package/lib/tabs/src/tabs.min.js
CHANGED
|
@@ -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)}});
|
package/lib/tree/src/tree.js
CHANGED
|
@@ -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
|
|
898
|
-
var
|
|
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 ?
|
|
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 ?
|
|
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 ?
|
|
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 ?
|
|
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:
|
|
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:
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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
|
-
|
|
4319
|
-
|
|
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
|
-
|
|
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 (
|
|
4334
|
-
resizeObserver.observe(
|
|
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
|
|
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());
|