You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lo...@apache.org on 2014/11/27 10:08:03 UTC

svn commit: r1642048 - in /myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main: java/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/tag/ resources/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/sc...

Author: lofwyr
Date: Thu Nov 27 09:08:03 2014
New Revision: 1642048

URL: http://svn.apache.org/r1642048
Log:
TOBAGO-1368: Create a new theme which uses Bootstrap

Added:
    myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/java/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/tag/DateRenderer.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/java/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/tag/SelectOneChoiceRenderer.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/java/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/tag/SheetRenderer.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/java/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/tag/ToolBarRenderer.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/resources/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/script/tobago-calendar.js
    myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/resources/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/script/tobago-popup.js
    myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/resources/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/style/tobago.css
Modified:
    myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/java/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/tag/ButtonRenderer.java

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/java/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/tag/ButtonRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/java/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/tag/ButtonRenderer.java?rev=1642048&r1=1642047&r2=1642048&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/java/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/tag/ButtonRenderer.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/java/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/tag/ButtonRenderer.java Thu Nov 27 09:08:03 2014
@@ -19,7 +19,10 @@
 
 package org.apache.myfaces.tobago.renderkit.html.bootstrap.standard.tag;
 
+import org.apache.myfaces.tobago.component.Attributes;
 import org.apache.myfaces.tobago.component.SupportsCss;
+import org.apache.myfaces.tobago.internal.component.AbstractUIToolBar;
+import org.apache.myfaces.tobago.util.ComponentUtils;
 
 import javax.faces.component.UIComponent;
 import javax.faces.context.FacesContext;
@@ -35,6 +38,16 @@ public class ButtonRenderer extends org.
     if (component instanceof SupportsCss) {
       SupportsCss css = (SupportsCss) component;
       css.getCurrentCss().add("btn");
+      if (ComponentUtils.getBooleanAttribute(component, Attributes.DEFAULT_COMMAND)) {
+        css.getCurrentCss().add("btn-primary");
+      } else {
+        css.getCurrentCss().add("btn-default");
+      }
+
+      // TODO this might be too expensive: please put a flag in the ToolBar-handler and Button-handler (facelets-handler)
+      if (ComponentUtils.findAncestor(component, AbstractUIToolBar.class) != null) {
+        css.getCurrentCss().add("navbar-btn");
+      }
     }
   }
 }

Added: myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/java/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/tag/DateRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/java/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/tag/DateRenderer.java?rev=1642048&view=auto
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/java/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/tag/DateRenderer.java (added)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/java/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/tag/DateRenderer.java Thu Nov 27 09:08:03 2014
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.myfaces.tobago.renderkit.html.bootstrap.standard.tag;
+
+import org.apache.myfaces.tobago.component.SupportsCss;
+
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import java.io.IOException;
+
+public class DateRenderer extends org.apache.myfaces.tobago.renderkit.html.standard.standard.tag.DateRenderer {
+
+  @Override
+  public void prepareRender(
+      final FacesContext facesContext, final UIComponent component) throws IOException {
+    super.prepareRender(facesContext, component);
+
+    SupportsCss css = (SupportsCss) component;
+    css.getCurrentCss().add("form-control");
+  }
+}

Added: myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/java/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/tag/SelectOneChoiceRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/java/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/tag/SelectOneChoiceRenderer.java?rev=1642048&view=auto
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/java/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/tag/SelectOneChoiceRenderer.java (added)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/java/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/tag/SelectOneChoiceRenderer.java Thu Nov 27 09:08:03 2014
@@ -0,0 +1,40 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.myfaces.tobago.renderkit.html.bootstrap.standard.tag;
+
+import org.apache.myfaces.tobago.component.SupportsCss;
+
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import java.io.IOException;
+
+public class SelectOneChoiceRenderer
+    extends org.apache.myfaces.tobago.renderkit.html.standard.standard.tag.SelectOneChoiceRenderer {
+
+  @Override
+  public void prepareRender(
+      final FacesContext facesContext, final UIComponent component) throws IOException {
+    super.prepareRender(facesContext, component);
+
+    SupportsCss css = (SupportsCss) component;
+    css.getCurrentCss().add("form-control");
+  }
+
+}

Added: myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/java/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/tag/SheetRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/java/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/tag/SheetRenderer.java?rev=1642048&view=auto
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/java/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/tag/SheetRenderer.java (added)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/java/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/tag/SheetRenderer.java Thu Nov 27 09:08:03 2014
@@ -0,0 +1,37 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.myfaces.tobago.renderkit.html.bootstrap.standard.tag;
+
+public class SheetRenderer extends org.apache.myfaces.tobago.renderkit.html.standard.standard.tag.SheetRenderer {
+
+/*
+  @Override
+  public void prepareRender(
+      final FacesContext facesContext, final UIComponent component) throws IOException {
+    super.prepareRender(facesContext, component);
+
+    SupportsCss css = (SupportsCss) component;
+    css.getCurrentCss().add("table");
+  }
+*/
+
+// todo: css class "table" for the element "table"... (is hacked in the base renderer in the moment...)
+
+}

Added: myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/java/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/tag/ToolBarRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/java/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/tag/ToolBarRenderer.java?rev=1642048&view=auto
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/java/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/tag/ToolBarRenderer.java (added)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/java/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/tag/ToolBarRenderer.java Thu Nov 27 09:08:03 2014
@@ -0,0 +1,181 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.myfaces.tobago.renderkit.html.bootstrap.standard.tag;
+
+import org.apache.myfaces.tobago.component.UIToolBar;
+import org.apache.myfaces.tobago.renderkit.LayoutComponentRendererBase;
+import org.apache.myfaces.tobago.renderkit.html.HtmlAttributes;
+import org.apache.myfaces.tobago.renderkit.html.HtmlButtonTypes;
+import org.apache.myfaces.tobago.renderkit.html.HtmlElements;
+import org.apache.myfaces.tobago.renderkit.html.HtmlRoleValues;
+import org.apache.myfaces.tobago.renderkit.html.util.HtmlRendererUtils;
+import org.apache.myfaces.tobago.webapp.TobagoResponseWriter;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import java.io.IOException;
+
+public class ToolBarRenderer extends LayoutComponentRendererBase {
+
+  private static final Logger LOG = LoggerFactory.getLogger(ToolBarRenderer.class);
+
+  @Override
+  public void encodeBegin(final FacesContext facesContext, final UIComponent component) throws IOException {
+    final UIToolBar toolBar = (UIToolBar) component;
+    final TobagoResponseWriter writer = HtmlRendererUtils.getTobagoResponseWriter(facesContext);
+
+    writer.startElement(HtmlElements.NAV, toolBar);
+    writer.writeClassAttribute("navbar navbar-form navbar-default");
+    writer.writeAttribute(HtmlAttributes.ROLE, HtmlRoleValues.NAVIGATION.toString(), false);
+
+    writer.startElement(HtmlElements.DIV, toolBar);
+    writer.writeClassAttribute("container-fluid");
+
+//    Brand and toggle get grouped for better mobile display
+    writer.startElement(HtmlElements.DIV);
+    writer.writeClassAttribute("navbar-header");
+
+    writer.startElement(HtmlElements.BUTTON);
+    writer.writeAttribute(HtmlAttributes.TYPE, HtmlButtonTypes.BUTTON, false);
+    writer.writeClassAttribute("navbar-toggle");
+    writer.writeAttribute("data-toggle", "collapse", false);
+    writer.writeAttribute("data-target", "#" + toolBar.getClientId(facesContext).replace(":", "\\:"), true);
+
+    writer.startElement(HtmlElements.SPAN);
+    writer.writeClassAttribute("sr-only");
+    writer.writeText("Toggle navigation");
+    writer.endElement(HtmlElements.SPAN);
+
+    for (int i = 0; i < 3; i++) {
+      writer.startElement(HtmlElements.SPAN);
+      writer.writeClassAttribute("icon-bar");
+      writer.endElement(HtmlElements.SPAN);
+    }
+
+    writer.endElement(HtmlElements.BUTTON);
+
+    writer.startElement(HtmlElements.A);
+    writer.writeClassAttribute("navbar-brand");
+    writer.writeAttribute(HtmlAttributes.HREF, "#", false);
+    writer.writeText("Address Book"); // fixme
+    writer.endElement(HtmlElements.A);
+
+    writer.endElement(HtmlElements.DIV);
+
+    writer.startElement(HtmlElements.DIV);
+    writer.writeClassAttribute("collapse navbar-collapse");
+    writer.writeIdAttribute(toolBar.getClientId(facesContext));
+  }
+/*
+<nav class="navbar navbar-default" role="navigation">
+      <div class="container-fluid">
+        <!-- Brand and toggle get grouped for better mobile display -->
+        <div class="navbar-header">
+          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
+            <span class="sr-only">Toggle navigation</span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <a class="navbar-brand" href="#">Brand</a>
+        </div>
+
+        <!-- Collect the nav links, forms, and other content for toggling -->
+        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
+          <ul class="nav navbar-nav">
+            <li class="active"><a href="#">Link</a></li>
+            <li><a href="#">Link</a></li>
+            <li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li><a href="#">Separated link</a></li>
+                <li class="divider"></li>
+                <li><a href="#">One more separated link</a></li>
+              </ul>
+            </li>
+          </ul>
+          <form class="navbar-form navbar-left" role="search">
+            <div class="form-group">
+              <input type="text" class="form-control" placeholder="Search"/>
+            </div>
+            <button type="submit" class="btn btn-default">Submit</button>
+          </form>
+          <ul class="nav navbar-nav navbar-right">
+            <li><a href="#">Link</a></li>
+            <li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li><a href="#">Separated link</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /.navbar-collapse -->
+      </div><!-- /.container-fluid -->
+    </nav>
+* */
+  @Override
+  public void encodeEnd(final FacesContext facesContext, final UIComponent component) throws IOException {
+    final UIToolBar toolBar = (UIToolBar) component;
+    final TobagoResponseWriter writer = HtmlRendererUtils.getTobagoResponseWriter(facesContext);
+
+/*
+
+    writer.startElement(HtmlElements.UL);
+    writer.writeClassAttribute("nav navbar-nav");
+
+    for (final UIComponent child : toolBar.getChildren()) {
+      if (child instanceof AbstractUICommandBase) {
+        final AbstractUICommandBase command =  (AbstractUICommandBase) child;
+        writer.startElement(HtmlElements.LI);
+        writer.writeClassAttribute("nav navbar-nav");
+
+        writer.startElement(HtmlElements.A);
+        writer.writeAttribute(HtmlAttributes.HREF, "http://www.heise.de/", true);
+        final LabelWithAccessKey label = new LabelWithAccessKey(command);
+        writer.writeText(label.getText());
+        writer.endElement(HtmlElements.A);
+
+        writer.endElement(HtmlElements.LI);
+      } else if (child instanceof UIToolBarSeparator) {
+        final UIToolBarSeparator separator =  (UIToolBarSeparator) child;
+      } else {
+        LOG.error("Illegal UIComponent class in toolbar (not a AbstractUICommandBase):" + child.getClass().getName());
+      }
+    }
+
+    writer.endElement(HtmlElements.UL);
+
+*/
+    writer.endElement(HtmlElements.DIV);
+
+    writer.endElement(HtmlElements.DIV);
+    writer.endElement(HtmlElements.NAV);
+  }
+}

Added: myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/resources/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/script/tobago-calendar.js
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/resources/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/script/tobago-calendar.js?rev=1642048&view=auto
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/resources/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/script/tobago-calendar.js (added)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/resources/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/script/tobago-calendar.js Thu Nov 27 09:08:03 2014
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+jQuery(document).ready(function () {
+  jQuery(".tobago-date").each(function() {
+    var date = jQuery(this);
+    var format = date.data("tobago-pattern");
+    format = format.replace(/M/g, "m");
+    date.datepicker({
+      format: format
+    });
+  });
+});

Added: myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/resources/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/script/tobago-popup.js
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/resources/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/script/tobago-popup.js?rev=1642048&view=auto
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/resources/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/script/tobago-popup.js (added)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/resources/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/script/tobago-popup.js Thu Nov 27 09:08:03 2014
@@ -0,0 +1,25 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// XXX rename me + namespace
+bs_info = function(message) {
+  console.info("info: " + message);
+  var menuStore = jQuery(".tobago-page-menuStore");
+  var confirmation = menuStore.find(".tobago-page-confirmation");
+
+  return false;
+};

Added: myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/resources/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/style/tobago.css
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/resources/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/style/tobago.css?rev=1642048&view=auto
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/resources/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/style/tobago.css (added)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/resources/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/style/tobago.css Thu Nov 27 09:08:03 2014
@@ -0,0 +1,75 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ * theme: bootstrap
+ * agent: standard
+ */
+
+/* Bootstrap workarounds ------------------------------------------------------------------ */
+
+/* fixes the problem, that input controls have 100% in the toolbar if they are not in a form,
+ but in Tobago we have a global form.
+ */
+/*
+.navbar .form-control {
+    width: auto;
+}
+*/
+
+/*
+fixes missing space, I thinks normal Websites have a " " Space char in the source code, Tobago not.
+*/
+.navbar button,
+.navbar input {
+  margin-left: 5px;
+}
+
+.navbar button:first-child,
+.navbar input:first-child {
+  margin-left: 0;
+}
+
+.btn {
+    margin-left: 5px;
+}
+
+.btn:first-child {
+    margin-left: 0;
+}
+
+.tobago-button > * {
+    margin-left: 5px;
+}
+
+.tobago-button > *:first-child {
+    margin-left: 0;
+}
+
+.tobago-sheet-pagingOuter {
+  margin: 20px 0;
+}
+
+/* fixes vertical space, todo: why is is needed? is there a better way? */
+.form-horizontal > * {
+  margin-top: 10px;
+  margin-bottom: 5px;
+  /* XXX MUST BE REMOVED */
+}.form-horizontal .control-label {
+  margin-top: 10px;
+  margin-bottom: 5px;
+}