Uncommited changes synced
authorAlan Knowles <alan@roojs.com>
Fri, 30 Nov 2018 07:51:24 +0000 (15:51 +0800)
committerAlan Knowles <alan@roojs.com>
Fri, 30 Nov 2018 07:51:24 +0000 (15:51 +0800)
Roo/bootstrap/Input.js
Roo/bootstrap/NavGroup.js
Roo/bootstrap/NavItem.js
Roo/bootstrap/NavToolbar.js [deleted file]
examples/bootstrap/nested.js
examples/bootstrap4/nested.html

index 6b970c1..21f9ea1 100644 (file)
@@ -537,9 +537,10 @@ Roo.extend(Roo.bootstrap.Input, Roo.bootstrap.Component,  {
            cfg.cls += ' navbar-form';
         }
         
-        if (this.parentType === 'NavGroup') {
-           cfg.cls += ' navbar-form';
-           cfg.tag = 'li';
+        if (this.parentType === 'NavGroup' && !(Roo.bootstrap.version == 4 && this.parent().form)) {
+            // on BS4 we do this only if not form 
+            cfg.cls += ' navbar-form';
+            cfg.tag = 'li';
         }
         
         return cfg;
index 6cd3ce6..15e239e 100644 (file)
@@ -57,15 +57,20 @@ Roo.extend(Roo.bootstrap.NavGroup, Roo.bootstrap.Component,  {
             tag : 'ul',
             cls: 'nav' 
         };
-        
-        if (['tabs','pills'].indexOf(this.type)!==-1) {
-            cfg.cls += ' nav-' + this.type
-        } else {
-            if (this.type!=='nav') {
-                Roo.log('nav type must be nav/tabs/pills')
-            }
-            cfg.cls += ' navbar-nav'
-        }
+        if (Roo.bootstrap.version == 4) {
+           if (this.type == 'pills') {
+               cfg.cls = ' nav-pills';
+           }
+       } else {
+           if (['tabs','pills'].indexOf(this.type)!==-1) {
+               cfg.cls += ' nav-' + this.type
+           } else {
+               if (this.type !== 'nav') {
+                   Roo.log('nav type must be nav/tabs/pills')
+               }
+               cfg.cls += ' navbar-nav'
+           }
+       }
         
         if (this.parent() && this.parent().sidebar) {
             cfg = {
@@ -79,7 +84,7 @@ Roo.extend(Roo.bootstrap.NavGroup, Roo.bootstrap.Component,  {
         if (this.form === true) {
             cfg = {
                 tag: 'form',
-                cls: 'navbar-form'
+                cls: 'navbar-form form-inline'
             };
             
             if (this.align === 'right') {
@@ -166,7 +171,10 @@ Roo.extend(Roo.bootstrap.NavGroup, Roo.bootstrap.Component,  {
     */
     addItem : function(cfg)
     {
-        var cn = new Roo.bootstrap.NavItem(cfg);
+        if (this.form && Roo.bootstrap.version == 4) {
+           cfg.tag = 'div';
+       }
+       var cn = new Roo.bootstrap.NavItem(cfg);
         this.register(cn);
         cn.parentId = this.id;
         cn.onRender(this.el, null);
index cff0ad0..cc2ce29 100644 (file)
@@ -71,6 +71,7 @@ Roo.extend(Roo.bootstrap.NavItem, Roo.bootstrap.Component,  {
     preventDefault : false,
     tabId : false,
     tagtype : 'a',
+    tag: 'li',
     disabled : false,
     animateRef : false,
     was_active : false,
@@ -78,7 +79,7 @@ Roo.extend(Roo.bootstrap.NavItem, Roo.bootstrap.Component,  {
     getAutoCreate : function(){
          
         var cfg = {
-            tag: 'li',
+            tag: this.tag,
             cls: 'nav-item'
             
         };
@@ -127,6 +128,17 @@ Roo.extend(Roo.bootstrap.NavItem, Roo.bootstrap.Component,  {
         
         return cfg;
     },
+    onRender : function(ct, position)
+    {
+       // Roo.log("Call onRender: " + this.xtype);
+        if (Roo.bootstrap.version == 4 && ct.dom.type != 'ul') {
+           this.tag = 'div';
+       }
+       
+        return Roo.bootstrap.NavItem.superclass.onRender.call(this, ct, position);
+    },
+      
+    
     initEvents: function() 
     {
         if (typeof (this.menu) != 'undefined') {
diff --git a/Roo/bootstrap/NavToolbar.js b/Roo/bootstrap/NavToolbar.js
deleted file mode 100644 (file)
index e69de29..0000000
index e8506c0..0fc6ebb 100644 (file)
@@ -141,10 +141,12 @@ Example.Nested = new Roo.XComponent({
                     toolbar : {
                         xtype: 'NavSimplebar',
                         xns : Roo.bootstrap,
+                       
                         items: [
                             {
                                 xtype: 'NavGroup',
                                 xns: Roo.bootstrap,
+                               form: true,
                                 items : [
                                     {
                                         xtype: 'NavItem',
index a0f048b..e7e2d0f 100644 (file)
@@ -1,10 +1,5 @@
-<!--
-
-porting tst for layout classes from original roo library into bootstrap one.
-
-
--->
-<html>
+<!doctype html>
+<html lang="en">
 <head>
   <title>Nested Layout</title>
   
@@ -35,9 +30,7 @@ Roo.namespace("Example");
      
      
     <style type="text/css">
-.navbar {
-    padding: 0;
-}
  
         </style>
        <script type="text/javascript" src="../bootstrap/nested.js">