Roo/bootstrap/panel/Tabs.js
authorAlan Knowles <alan@roojs.com>
Fri, 30 Nov 2018 05:02:21 +0000 (13:02 +0800)
committerAlan Knowles <alan@roojs.com>
Fri, 30 Nov 2018 05:02:21 +0000 (13:02 +0800)
roojs-bootstrap.js
roojs-bootstrap-debug.js

Roo/bootstrap/panel/Tabs.js
roojs-bootstrap-debug.js
roojs-bootstrap.js

index 8be3d08..7bd0fa0 100644 (file)
@@ -388,6 +388,8 @@ Roo.extend(Roo.bootstrap.panel.Tabs, Roo.util.Observable, {
         }
         if (vcount < 2) {
             this.stripEl.hide();
+        } else {
+            this.stripEl.show();
         }
         
         var w = Math.max(this.el.getWidth() - this.cpad, 10);
index c687b71..0b09a97 100644 (file)
@@ -38083,9 +38083,11 @@ Roo.extend(Roo.bootstrap.panel.Tabs, Roo.util.Observable, {
      * Adds an existing {@link Roo.TabPanelItem}.
      * @param {Roo.TabPanelItem} item The TabPanelItem to add
      */
-    addTabItem : function(item){
+    addTabItem : function(item)
+    {
         this.items[item.id] = item;
         this.items.push(item);
+        
       //  if(this.resizeTabs){
     //       item.setWidth(this.currentTabWidth || this.preferredTabWidth);
   //         this.autoSizeTabs();
@@ -38167,7 +38169,8 @@ Roo.extend(Roo.bootstrap.panel.Tabs, Roo.util.Observable, {
      * @param {String/Number} id The id or index of the TabPanelItem to activate.
      * @return {Roo.TabPanelItem} The TabPanelItem.
      */
-    activate : function(id){
+    activate : function(id)
+    {
         var tab = this.items[id];
         if(!tab){
             return null;
@@ -38233,12 +38236,19 @@ Roo.extend(Roo.bootstrap.panel.Tabs, Roo.util.Observable, {
     /**
      * Manual call to resize the tabs (if {@link #resizeTabs} is false this does nothing)
      */
-    autoSizeTabs : function(){
+    autoSizeTabs : function()
+    {
         var count = this.items.length;
         var vcount = count - this.hiddenCount;
         if(!this.resizeTabs || count < 1 || vcount < 1 || this.updating) {
             return;
         }
+        if (vcount < 2) {
+            this.stripEl.hide();
+        } else {
+            this.stripEl.show();
+        }
+        
         var w = Math.max(this.el.getWidth() - this.cpad, 10);
         var availWidth = Math.floor(w / vcount);
         var b = this.stripBody;
index efee599..8008f32 100644 (file)
@@ -1622,12 +1622,13 @@ var C=A;while(C<B.length){var D=B[++C];if(D&&!D.isHidden()){return D;}}C=A;while
 A.enable();},activate:function(id){var A=this.items[id];if(!A){return null;}if(A==this.active||A.disabled){return A;}var e={};this.fireEvent("beforetabchange",this,e,A);if(e.cancel!==true&&!A.disabled){if(this.active){this.active.hide();}this.active=this.items[id];
 this.active.show();this.fireEvent("tabchange",this,this.active);}return A;},getActiveTab:function(){return this.active;},syncHeight:function(A){var B=(A||this.el.getHeight())-this.el.getBorderWidth("tb")-this.el.getPadding("tb");var bm=this.bodyEl.getMargins();
 var C=B-(this.stripWrap.getHeight()||0)-(bm.top+bm.bottom);this.bodyEl.setHeight(C);return C;},onResize:function(){if(this.monitorResize){this.autoSizeTabs();}},beginUpdate:function(){this.updating=true;},endUpdate:function(){this.updating=false;this.autoSizeTabs();
-},autoSizeTabs:function(){var A=this.items.length;var B=A-this.hiddenCount;if(!this.resizeTabs||A<1||B<1||this.updating){return;}var w=Math.max(this.el.getWidth()-this.cpad,10);var C=Math.floor(w/B);var b=this.stripBody;if(b.getWidth()>w){var D=this.items;
-this.setTabWidth(Math.max(C,this.minTabWidth)-2);if(C<this.minTabWidth){}}else{if(this.currentTabWidth<this.preferredTabWidth){this.setTabWidth(Math.min(C,this.preferredTabWidth)-2);}}},getCount:function(){return this.items.length;},setTabWidth:function(A){this.currentTabWidth=A;
-for(var i=0,B=this.items.length;i<B;i++){if(!this.items[i].isHidden()){this.items[i].setWidth(A);}}},destroy:function(A){Roo.EventManager.removeResizeListener(this.onResize,this);for(var i=0,B=this.items.length;i<B;i++){this.items[i].purgeListeners();}if(A===true){this.el.update("");
-this.el.remove();}},createStrip:function(A){var B=document.createElement("nav");B.className=Roo.bootstrap.version==4?"navbar-light bg-light":"navbar navbar-default";A.appendChild(B);return B;},createStripList:function(A){A.innerHTML='<ul class="nav nav-tabs" role="tablist"></ul>';
-return A.firstChild;},createBody:function(A){var B=document.createElement("div");Roo.id(B,"tab-body");Roo.fly(B).addClass("tab-content");A.appendChild(B);return B;},createItemBody:function(A,id){var B=Roo.getDom(id);if(!B){B=document.createElement("div");
-B.id=id;}Roo.fly(B).addClass("tab-pane");A.insertBefore(B,A.firstChild);return B;},createStripElements:function(A,B,C,D){var td=document.createElement("li");td.className='nav-item';A.appendChild(td);var E=D||this.tabTpl||false;if(!E){E=new Roo.Template(Roo.bootstrap.version==4?('<a class="nav-link" href="#" unselectable="on"'+(this.disableTooltips?'':' title="{text}"')+' >{text}</a>'):('<a class="nav-link" href="#">'+'<span unselectable="on"'+(this.disableTooltips?'':' title="{text}"')+' >{text}</span></a>'));
+},autoSizeTabs:function(){var A=this.items.length;var B=A-this.hiddenCount;if(!this.resizeTabs||A<1||B<1||this.updating){return;}if(B<2){this.stripEl.hide();}else{this.stripEl.show();}var w=Math.max(this.el.getWidth()-this.cpad,10);var C=Math.floor(w/B);var b=this.stripBody;
+if(b.getWidth()>w){var D=this.items;this.setTabWidth(Math.max(C,this.minTabWidth)-2);if(C<this.minTabWidth){}}else{if(this.currentTabWidth<this.preferredTabWidth){this.setTabWidth(Math.min(C,this.preferredTabWidth)-2);}}},getCount:function(){return this.items.length;
+},setTabWidth:function(A){this.currentTabWidth=A;for(var i=0,B=this.items.length;i<B;i++){if(!this.items[i].isHidden()){this.items[i].setWidth(A);}}},destroy:function(A){Roo.EventManager.removeResizeListener(this.onResize,this);for(var i=0,B=this.items.length;
+i<B;i++){this.items[i].purgeListeners();}if(A===true){this.el.update("");this.el.remove();}},createStrip:function(A){var B=document.createElement("nav");B.className=Roo.bootstrap.version==4?"navbar-light bg-light":"navbar navbar-default";A.appendChild(B);
+return B;},createStripList:function(A){A.innerHTML='<ul class="nav nav-tabs" role="tablist"></ul>';return A.firstChild;},createBody:function(A){var B=document.createElement("div");Roo.id(B,"tab-body");Roo.fly(B).addClass("tab-content");A.appendChild(B);return B;
+},createItemBody:function(A,id){var B=Roo.getDom(id);if(!B){B=document.createElement("div");B.id=id;}Roo.fly(B).addClass("tab-pane");A.insertBefore(B,A.firstChild);return B;},createStripElements:function(A,B,C,D){var td=document.createElement("li");td.className='nav-item';
+A.appendChild(td);var E=D||this.tabTpl||false;if(!E){E=new Roo.Template(Roo.bootstrap.version==4?('<a class="nav-link" href="#" unselectable="on"'+(this.disableTooltips?'':' title="{text}"')+' >{text}</a>'):('<a class="nav-link" href="#">'+'<span unselectable="on"'+(this.disableTooltips?'':' title="{text}"')+' >{text}</span></a>'));
 }switch(typeof(E)){case 'object':break;case 'string':E=new Roo.Template(E);break;default:break;}var el=E.overwrite(td,{"text":B});var F=el.getElementsByTagName("span")[0];return {"el":el,"inner":F};}});
 // Roo/bootstrap/panel/TabItem.js
 Roo.bootstrap.panel.TabItem=function(A){this.tabPanel=A.panel;this.id=A.id;this.disabled=false;this.text=A.text;this.loaded=false;this.closable=A.closable;this.bodyEl=Roo.get(this.tabPanel.createItemBody(this.tabPanel.bodyEl.dom,A.id));this.bodyEl.setVisibilityMode(Roo.Element.VISIBILITY);