1 |
- (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-elementUI~d1ab8263"],{"72aa":function(t,e,n){t.exports=function(t){var e={};function n(i){if(e[i])return e[i].exports;var s=e[i]={i:i,l:!1,exports:{}};return t[i].call(s.exports,s,s.exports,n),s.l=!0,s.exports}return n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},n.r=function(t){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"===typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var s in t)n.d(i,s,function(e){return t[e]}.bind(null,s));return i},n.n=function(t){var e=t&&t.__esModule?function(){return t["default"]}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="/dist/",n(n.s=63)}({0:function(t,e,n){"use strict";function i(t,e,n,i,s,a,o,r){var l,c="function"===typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=n,c._compiled=!0),i&&(c.functional=!0),a&&(c._scopeId="data-v-"+a),o?(l=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||"undefined"===typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),s&&s.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},c._ssrRegister=l):s&&(l=r?function(){s.call(this,this.$root.$options.shadowRoot)}:s),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(t,e){return l.call(e),u(t,e)}}else{var f=c.beforeCreate;c.beforeCreate=f?[].concat(f,l):[l]}return{exports:t,options:c}}n.d(e,"a",(function(){return i}))},16:function(t,e){t.exports=n("4010")},3:function(t,e){t.exports=n("8122")},63:function(t,e,n){"use strict";n.r(e);var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"el-tabs__active-bar",class:"is-"+t.rootTabs.tabPosition,style:t.barStyle})},s=[];i._withStripped=!0;var a=n(3),o={name:"TabBar",props:{tabs:Array},inject:["rootTabs"],computed:{barStyle:{get:function(){var t=this,e={},n=0,i=0,s=-1!==["top","bottom"].indexOf(this.rootTabs.tabPosition)?"width":"height",o="width"===s?"x":"y",r=function(t){return t.toLowerCase().replace(/( |^)[a-z]/g,(function(t){return t.toUpperCase()}))};this.tabs.every((function(e,o){var l=Object(a["arrayFind"])(t.$parent.$refs.tabs||[],(function(t){return t.id.replace("tab-","")===e.paneName}));if(!l)return!1;if(e.active){i=l["client"+r(s)];var c=window.getComputedStyle(l);return"width"===s&&t.tabs.length>1&&(i-=parseFloat(c.paddingLeft)+parseFloat(c.paddingRight)),"width"===s&&(n+=parseFloat(c.paddingLeft)),!1}return n+=l["client"+r(s)],!0}));var l="translate"+r(o)+"("+n+"px)";return e[s]=i+"px",e.transform=l,e.msTransform=l,e.webkitTransform=l,e}}}},r=o,l=n(0),c=Object(l["a"])(r,i,s,!1,null,null,null);c.options.__file="packages/tabs/src/tab-bar.vue";var u=c.exports,f=n(16);function d(){}var h,b,v=function(t){return t.toLowerCase().replace(/( |^)[a-z]/g,(function(t){return t.toUpperCase()}))},p={name:"TabNav",components:{TabBar:u},inject:["rootTabs"],props:{panes:Array,currentName:String,editable:Boolean,onTabClick:{type:Function,default:d},onTabRemove:{type:Function,default:d},type:String,stretch:Boolean},data:function(){return{scrollable:!1,navOffset:0,isFocus:!1,focusable:!0}},computed:{navStyle:function(){var t=-1!==["top","bottom"].indexOf(this.rootTabs.tabPosition)?"X":"Y";return{transform:"translate"+t+"(-"+this.navOffset+"px)"}},sizeName:function(){return-1!==["top","bottom"].indexOf(this.rootTabs.tabPosition)?"width":"height"}},methods:{scrollPrev:function(){var t=this.$refs.navScroll["offset"+v(this.sizeName)],e=this.navOffset;if(e){var n=e>t?e-t:0;this.navOffset=n}},scrollNext:function(){var t=this.$refs.nav["offset"+v(this.sizeName)],e=this.$refs.navScroll["offset"+v(this.sizeName)],n=this.navOffset;if(!(t-n<=e)){var i=t-n>2*e?n+e:t-e;this.navOffset=i}},scrollToActiveTab:function(){if(this.scrollable){var t=this.$refs.nav,e=this.$el.querySelector(".is-active");if(e){var n=this.$refs.navScroll,i=-1!==["top","bottom"].indexOf(this.rootTabs.tabPosition),s=e.getBoundingClientRect(),a=n.getBoundingClientRect(),o=i?t.offsetWidth-a.width:t.offsetHeight-a.height,r=this.navOffset,l=r;i?(s.left<a.left&&(l=r-(a.left-s.left)),s.right>a.right&&(l=r+s.right-a.right)):(s.top<a.top&&(l=r-(a.top-s.top)),s.bottom>a.bottom&&(l=r+(s.bottom-a.bottom))),l=Math.max(l,0),this.navOffset=Math.min(l,o)}}},update:function(){if(this.$refs.nav){var t=this.sizeName,e=this.$refs.nav["offset"+v(t)],n=this.$refs.navScroll["offset"+v(t)],i=this.navOffset;if(n<e){var s=this.navOffset;this.scrollable=this.scrollable||{},this.scrollable.prev=s,this.scrollable.next=s+n<e,e-s<n&&(this.navOffset=e-n)}else this.scrollable=!1,i>0&&(this.navOffset=0)}},changeTab:function(t){var e=t.keyCode,n=void 0,i=void 0,s=void 0;-1!==[37,38,39,40].indexOf(e)&&(s=t.currentTarget.querySelectorAll("[role=tab]"),i=Array.prototype.indexOf.call(s,t.target),n=37===e||38===e?0===i?s.length-1:i-1:i<s.length-1?i+1:0,s[n].focus(),s[n].click(),this.setFocus())},setFocus:function(){this.focusable&&(this.isFocus=!0)},removeFocus:function(){this.isFocus=!1},visibilityChangeHandler:function(){var t=this,e=document.visibilityState;"hidden"===e?this.focusable=!1:"visible"===e&&setTimeout((function(){t.focusable=!0}),50)},windowBlurHandler:function(){this.focusable=!1},windowFocusHandler:function(){var t=this;setTimeout((function(){t.focusable=!0}),50)}},updated:function(){this.update()},render:function(t){var e=this,n=this.type,i=this.panes,s=this.editable,a=this.stretch,o=this.onTabClick,r=this.onTabRemove,l=this.navStyle,c=this.scrollable,u=this.scrollNext,f=this.scrollPrev,d=this.changeTab,h=this.setFocus,b=this.removeFocus,v=c?[t("span",{class:["el-tabs__nav-prev",c.prev?"":"is-disabled"],on:{click:f}},[t("i",{class:"el-icon-arrow-left"})]),t("span",{class:["el-tabs__nav-next",c.next?"":"is-disabled"],on:{click:u}},[t("i",{class:"el-icon-arrow-right"})])]:null,p=this._l(i,(function(n,i){var a,l=n.name||n.index||i,c=n.isClosable||s;n.index=""+i;var u=c?t("span",{class:"el-icon-close",on:{click:function(t){r(n,t)}}}):null,f=n.$slots.label||n.label,d=n.active?0:-1;return t("div",{class:(a={"el-tabs__item":!0},a["is-"+e.rootTabs.tabPosition]=!0,a["is-active"]=n.active,a["is-disabled"]=n.disabled,a["is-closable"]=c,a["is-focus"]=e.isFocus,a),attrs:{id:"tab-"+l,"aria-controls":"pane-"+l,role:"tab","aria-selected":n.active,tabindex:d},key:"tab-"+l,ref:"tabs",refInFor:!0,on:{focus:function(){h()},blur:function(){b()},click:function(t){b(),o(n,l,t)},keydown:function(t){!c||46!==t.keyCode&&8!==t.keyCode||r(n,t)}}},[f,u])}));return t("div",{class:["el-tabs__nav-wrap",c?"is-scrollable":"","is-"+this.rootTabs.tabPosition]},[v,t("div",{class:["el-tabs__nav-scroll"],ref:"navScroll"},[t("div",{class:["el-tabs__nav","is-"+this.rootTabs.tabPosition,a&&-1!==["top","bottom"].indexOf(this.rootTabs.tabPosition)?"is-stretch":""],ref:"nav",style:l,attrs:{role:"tablist"},on:{keydown:d}},[n?null:t("tab-bar",{attrs:{tabs:i}}),p])])])},mounted:function(){var t=this;Object(f["addResizeListener"])(this.$el,this.update),document.addEventListener("visibilitychange",this.visibilityChangeHandler),window.addEventListener("blur",this.windowBlurHandler),window.addEventListener("focus",this.windowFocusHandler),setTimeout((function(){t.scrollToActiveTab()}),0)},beforeDestroy:function(){this.$el&&this.update&&Object(f["removeResizeListener"])(this.$el,this.update),document.removeEventListener("visibilitychange",this.visibilityChangeHandler),window.removeEventListener("blur",this.windowBlurHandler),window.removeEventListener("focus",this.windowFocusHandler)}},m=p,g=Object(l["a"])(m,h,b,!1,null,null,null);g.options.__file="packages/tabs/src/tab-nav.vue";var y,_,T=g.exports,w={name:"ElTabs",components:{TabNav:T},props:{type:String,activeName:String,closable:Boolean,addable:Boolean,value:{},editable:Boolean,tabPosition:{type:String,default:"top"},beforeLeave:Function,stretch:Boolean},provide:function(){return{rootTabs:this}},data:function(){return{currentName:this.value||this.activeName,panes:[]}},watch:{activeName:function(t){this.setCurrentName(t)},value:function(t){this.setCurrentName(t)},currentName:function(t){var e=this;this.$refs.nav&&this.$nextTick((function(){e.$refs.nav.$nextTick((function(t){e.$refs.nav.scrollToActiveTab()}))}))}},methods:{calcPaneInstances:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(this.$slots.default){var n=this.$slots.default.filter((function(t){return t.tag&&t.componentOptions&&"ElTabPane"===t.componentOptions.Ctor.options.name})),i=n.map((function(t){var e=t.componentInstance;return e})),s=!(i.length===this.panes.length&&i.every((function(e,n){return e===t.panes[n]})));(e||s)&&(this.panes=i)}else 0!==this.panes.length&&(this.panes=[])},handleTabClick:function(t,e,n){t.disabled||(this.setCurrentName(e),this.$emit("tab-click",t,n))},handleTabRemove:function(t,e){t.disabled||(e.stopPropagation(),this.$emit("edit",t.name,"remove"),this.$emit("tab-remove",t.name))},handleTabAdd:function(){this.$emit("edit",null,"add"),this.$emit("tab-add")},setCurrentName:function(t){var e=this,n=function(){e.currentName=t,e.$emit("input",t)};if(this.currentName!==t&&this.beforeLeave){var i=this.beforeLeave(t,this.currentName);i&&i.then?i.then((function(){n(),e.$refs.nav&&e.$refs.nav.removeFocus()}),(function(){})):!1!==i&&n()}else n()}},render:function(t){var e,n=this.type,i=this.handleTabClick,s=this.handleTabRemove,a=this.handleTabAdd,o=this.currentName,r=this.panes,l=this.editable,c=this.addable,u=this.tabPosition,f=this.stretch,d=l||c?t("span",{class:"el-tabs__new-tab",on:{click:a,keydown:function(t){13===t.keyCode&&a()}},attrs:{tabindex:"0"}},[t("i",{class:"el-icon-plus"})]):null,h={props:{currentName:o,onTabClick:i,onTabRemove:s,editable:l,type:n,panes:r,stretch:f},ref:"nav"},b=t("div",{class:["el-tabs__header","is-"+u]},[d,t("tab-nav",h)]),v=t("div",{class:"el-tabs__content"},[this.$slots.default]);return t("div",{class:(e={"el-tabs":!0,"el-tabs--card":"card"===n},e["el-tabs--"+u]=!0,e["el-tabs--border-card"]="border-card"===n,e)},["bottom"!==u?[b,v]:[v,b]])},created:function(){this.currentName||this.setCurrentName("0"),this.$on("tab-nav-update",this.calcPaneInstances.bind(null,!0))},mounted:function(){this.calcPaneInstances()},updated:function(){this.calcPaneInstances()}},$=w,x=Object(l["a"])($,y,_,!1,null,null,null);x.options.__file="packages/tabs/src/tabs.vue";var O=x.exports;O.install=function(t){t.component(O.name,O)};e["default"]=O}})}}]);
|