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 2016/04/29 10:17:36 UTC

svn commit: r1741571 [1/2] - in /myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main: java/org/apache/myfaces/tobago/example/demo/ java/org/apache/myfaces/tobago/example/demo/bestpractice/ webapp/ webapp/content/10-intro/ webapp/content/20...

Author: lofwyr
Date: Fri Apr 29 08:17:35 2016
New Revision: 1741571

URL: http://svn.apache.org/viewvc?rev=1741571&view=rev
Log:
TOBAGO-1544: Revise Demo Application for Tobago 3.0 
[developed by hnoeth]

Added:
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/AccessKeyController.java
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/CkeditorController.java
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/ForEachController.java
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/SourceFileReader.java
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/080-sheet/55-staticheader/
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/080-sheet/55-staticheader/sheet-static-header.xhtml
Removed:
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/HtmlEditor.java
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/06-validation/00/validation-severity.xhtml
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/55-suggest/inputSuggest.xhtml
Modified:
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/ObjectController.java
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/bestpractice/TransitionController.java
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/10-intro/intro.xhtml
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/010-input/10-in/in.xhtml
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/010-input/20-suggest/suggest.xhtml
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/010-input/30-textarea/textarea.xhtml
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/010-input/input.xhtml
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/020-output/10-out/out.xhtml
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/040-command/10-button+link/button+link.xhtml
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/050-container/10-box/box.xhtml
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/050-container/20-panel/panel.xhtml
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/060-popup/popup.xhtml
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/070-tab/00-client/tab-client.xhtml
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/070-tab/01-ajax/tab-ajax.xhtml
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/070-tab/02-server/tab-server.xhtml
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/080-sheet/sheet.xhtml
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/100-upload/upload.xhtml
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/110-wysiwyg/00-tinymce/tinymce.xhtml
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/110-wysiwyg/01-ckeditor/ckeditor.xhtml
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/110-wysiwyg/wysiwyg-editor.xhtml
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/16-layout/30-segment/segment-layout.xhtml
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/16-layout/layout.xhtml
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/23-transition/transition.xhtml
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/51-for-each/for-each.xhtml
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/53-collapsible/collapsible.xhtml
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/65-accessKey/accessKey.xhtml
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/70-dataAttribute/dataAttribute.js
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/70-dataAttribute/dataAttribute.xhtml
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/menu.xhtml
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/plain.xhtml
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/style/demo.css
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/tobago-resource/html/standard/standard/property/overview.properties.xml
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/tobago-resource/html/standard/standard/property/overview_de.properties.xml

Added: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/AccessKeyController.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/AccessKeyController.java?rev=1741571&view=auto
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/AccessKeyController.java (added)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/AccessKeyController.java Fri Apr 29 08:17:35 2016
@@ -0,0 +1,37 @@
+package org.apache.myfaces.tobago.example.demo;
+
+import org.apache.myfaces.tobago.component.UILabel;
+
+import javax.enterprise.context.SessionScoped;
+import javax.inject.Named;
+import java.io.Serializable;
+
+@SessionScoped
+@Named
+public class AccessKeyController implements Serializable {
+
+  private UILabel labelComponent = new UILabel();
+  private String hello = "Hello";
+  private String im = "I'm";
+  private String alabel = "a label";
+
+  public AccessKeyController() {
+    labelComponent.setValue(hello);
+  }
+
+  public UILabel getLabelComponent() {
+    return labelComponent;
+  }
+
+  public void setLabelComponent(UILabel labelComponent) {
+    if (labelComponent.getValue().equals(hello)) {
+      labelComponent.setValue(im);
+    } else if (labelComponent.getValue().equals(im)) {
+      labelComponent.setValue(alabel);
+    } else {
+      labelComponent.setValue(hello);
+    }
+
+    this.labelComponent = labelComponent;
+  }
+}

Added: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/CkeditorController.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/CkeditorController.java?rev=1741571&view=auto
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/CkeditorController.java (added)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/CkeditorController.java Fri Apr 29 08:17:35 2016
@@ -0,0 +1,84 @@
+/*
+ * 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.example.demo;
+
+import org.apache.myfaces.tobago.config.TobagoConfig;
+import org.apache.myfaces.tobago.context.ResourceManagerUtils;
+
+import javax.enterprise.context.SessionScoped;
+import javax.faces.context.FacesContext;
+import javax.inject.Named;
+import java.io.Serializable;
+
+@SessionScoped
+@Named
+public class CkeditorController extends SourceFileReader implements Serializable {
+
+  private boolean editorAvailable;
+  private String contentSecurityPolicyMode;
+  private String text;
+  private boolean collapsed;
+
+  public CkeditorController() {
+    editorAvailable = ResourceManagerUtils.getScripts(
+            FacesContext.getCurrentInstance(),
+            "content/20-component/110-wysiwyg/01-ckeditor/ckeditor/ckeditor.js")
+            .size() != 0;
+
+    final TobagoConfig tobagoConfig = TobagoConfig.getInstance(FacesContext.getCurrentInstance());
+    contentSecurityPolicyMode = tobagoConfig.getContentSecurityPolicy().getMode().getValue();
+
+    text = "<p><strong>Sun</strong></p>"
+            + "<p>The sun is a star in our galaxy.</p>";
+    collapsed = true;
+  }
+
+  public boolean isEditorAvailable() {
+    return editorAvailable;
+  }
+
+  public String getContentSecurityPolicyMode() {
+    return contentSecurityPolicyMode;
+  }
+
+  public String getText() {
+    return text;
+  }
+
+  public void setText(final String text) {
+    this.text = text;
+  }
+
+  public boolean isCollapsed() {
+    return collapsed;
+  }
+
+  public void setCollapsed(boolean collapsed) {
+    this.collapsed = collapsed;
+  }
+
+  public void switchCollapsed() {
+    collapsed = !collapsed;
+  }
+
+  public String getSource() {
+    return getSource("ckeditor.js");
+  }
+}

Added: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/ForEachController.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/ForEachController.java?rev=1741571&view=auto
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/ForEachController.java (added)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/ForEachController.java Fri Apr 29 08:17:35 2016
@@ -0,0 +1,114 @@
+/*
+ * 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.example.demo;
+
+import javax.enterprise.context.SessionScoped;
+import javax.inject.Named;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+@SessionScoped
+@Named
+public class ForEachController implements Serializable {
+
+  private List<River> rivers;
+  private String name;
+  private String length;
+  private String discharge;
+
+  public ForEachController() {
+    reset();
+  }
+
+  public List<River> getRivers() {
+    return rivers;
+  }
+
+  public String getName() {
+    return name;
+  }
+
+  public void setName(String name) {
+    this.name = name;
+  }
+
+  public String getLength() {
+    return length;
+  }
+
+  public void setLength(String length) {
+    this.length = length;
+  }
+
+  public String getDischarge() {
+    return discharge;
+  }
+
+  public void setDischarge(String discharge) {
+    this.discharge = discharge;
+  }
+
+  public String addNewRiver() {
+    rivers.add(new River(name, Integer.valueOf(length), Integer.valueOf(discharge)));
+    resetInputFields();
+    return null;
+  }
+
+  public String reset() {
+    rivers = new ArrayList<River>(Arrays.asList(
+            new River("Nile", 6853, 2830),
+            new River("Amazon", 6437, 209000),
+            new River("Yangtze", 6300, 30166)));
+    resetInputFields();
+    return null;
+  }
+
+  private void resetInputFields() {
+    name = null;
+    length = null;
+    discharge = null;
+  }
+
+  public class River {
+    private String name;
+    private int length;
+    private int discharge;
+
+    public River(String name, int length, int discharge) {
+      this.name = name;
+      this.length = length;
+      this.discharge = discharge;
+    }
+
+    public String getName() {
+      return name;
+    }
+
+    public int getLength() {
+      return length;
+    }
+
+    public int getDischarge() {
+      return discharge;
+    }
+  }
+}

Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/ObjectController.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/ObjectController.java?rev=1741571&r1=1741570&r2=1741571&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/ObjectController.java (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/ObjectController.java Fri Apr 29 08:17:35 2016
@@ -19,23 +19,13 @@
 
 package org.apache.myfaces.tobago.example.demo;
 
-import org.apache.commons.io.IOUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
 import javax.enterprise.context.SessionScoped;
-import javax.faces.context.ExternalContext;
-import javax.faces.context.FacesContext;
 import javax.inject.Named;
-import java.io.IOException;
-import java.io.InputStream;
 import java.io.Serializable;
 
 @SessionScoped
 @Named
-public class ObjectController implements Serializable {
-
-  private static final Logger LOG = LoggerFactory.getLogger(ObjectController.class);
+public class ObjectController extends SourceFileReader implements Serializable {
 
   private boolean collapsed;
 
@@ -56,19 +46,6 @@ public class ObjectController implements
   }
 
   public String getJavaScriptSource() {
-    final FacesContext facesContext = FacesContext.getCurrentInstance();
-    final ExternalContext externalContext = facesContext.getExternalContext();
-    final String viewId = facesContext.getViewRoot().getViewId();
-    final String objectjs = viewId.substring(0, viewId.lastIndexOf("/")) + "/object.js";
-    InputStream resourceAsStream = null;
-    try {
-      resourceAsStream = externalContext.getResourceAsStream(objectjs);
-      return IOUtils.toString(resourceAsStream, "UTF-8");
-    } catch (final IOException e) {
-      LOG.error("", e);
-      return "error";
-    } finally {
-      IOUtils.closeQuietly(resourceAsStream);
-    }
+    return getSource("object.js");
   }
 }

Added: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/SourceFileReader.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/SourceFileReader.java?rev=1741571&view=auto
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/SourceFileReader.java (added)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/SourceFileReader.java Fri Apr 29 08:17:35 2016
@@ -0,0 +1,32 @@
+package org.apache.myfaces.tobago.example.demo;
+
+import org.apache.commons.io.IOUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.faces.context.ExternalContext;
+import javax.faces.context.FacesContext;
+import java.io.IOException;
+import java.io.InputStream;
+
+public abstract class SourceFileReader {
+
+  private static final Logger LOG = LoggerFactory.getLogger(SourceFileReader.class);
+
+  public String getSource(String filename) {
+    final FacesContext facesContext = FacesContext.getCurrentInstance();
+    final ExternalContext externalContext = facesContext.getExternalContext();
+    final String viewId = facesContext.getViewRoot().getViewId();
+    final String file = viewId.substring(0, viewId.lastIndexOf("/")) + "/" + filename;
+    InputStream resourceAsStream = null;
+    try {
+      resourceAsStream = externalContext.getResourceAsStream(file);
+      return IOUtils.toString(resourceAsStream, "UTF-8");
+    } catch (final IOException e) {
+      LOG.error("", e);
+      return "error";
+    } finally {
+      IOUtils.closeQuietly(resourceAsStream);
+    }
+  }
+}

Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/bestpractice/TransitionController.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/bestpractice/TransitionController.java?rev=1741571&r1=1741570&r2=1741571&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/bestpractice/TransitionController.java (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/bestpractice/TransitionController.java Fri Apr 29 08:17:35 2016
@@ -31,11 +31,19 @@ public class TransitionController {
 
   private static final Logger LOG = LoggerFactory.getLogger(TransitionController.class);
 
-  public String sleep5s() throws InterruptedException {
+  public String sleep5sAndRedirect() throws InterruptedException {
     final int sleep = 5000;
     LOG.info("Waiting " + sleep + " millis.");
     Thread.sleep(sleep);
 
     return "/content/30-concept/23-transition/x-transition-after-sleep.xhtml";
   }
+
+  public String sleep5s() throws InterruptedException {
+    final int sleep = 5000;
+    LOG.info("Waiting " + sleep + " millis.");
+    Thread.sleep(sleep);
+
+    return null;
+  }
 }

Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/10-intro/intro.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/10-intro/intro.xhtml?rev=1741571&r1=1741570&r2=1741571&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/10-intro/intro.xhtml (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/10-intro/intro.xhtml Fri Apr 29 08:17:35 2016
@@ -18,135 +18,52 @@
 -->
 
 <ui:composition template="/main.xhtml"
+                xmlns="http://www.w3.org/1999/xhtml"
                 xmlns:tc="http://myfaces.apache.org/tobago/component"
-                xmlns:ui="http://java.sun.com/jsf/facelets"
-                xmlns:f="http://java.sun.com/jsf/core">
-
+                xmlns:ui="http://java.sun.com/jsf/facelets">
   <ui:param name="title" value="#{overviewBundle.intro}"/>
-
-  <tc:out escape="false" value="#{overviewBundle.intro_text}" id="text"/>
-
-  <tc:out value="#{overviewBundle.notTranslated}" id="nt" />
-
-  <tc:section label="Some short examples (Todo: revise)">
-
-    <f:facet name="layout">
-      <tc:gridLayout rows="auto;2*;3*;auto;2*;2*;auto;2*;2*"/>
-      <!--<tc:gridLayout border="0" rows="*;*;*;*;*;*;*;*;*;*"/>-->
-    </f:facet>
-
-    <!-- row -->
-    <tc:separator label="#{overviewBundle.basic_sampleInputTitle}"/>
-
-    <!-- row -->
-    <tc:out escape="false" value="#{overviewBundle.basic_text_input}" id="basic_text_input"/>
-
-    <!-- row -->
-    <tc:panel>
-      <f:facet name="layout">
-        <tc:gridLayout columns="*;*"/>
-      </f:facet>
-
-      <tc:panel>
-        <f:facet name="layout">
-          <tc:gridLayout rows="auto;auto;auto;auto"/>
-        </f:facet>
-        <tc:in value="#{overviewController.basicInput}" required="true" tabIndex="1" id="basic_input"
-               label="#{overviewBundle.basic_textboxLabel}" tip="#{overviewBundle.basic_textboxTip}"/>
-        <tc:in value="#{overviewController.suggestInput}" tabIndex="3" id="suggest_input"
-               label="#{overviewBundle.basic_suggestLabel}" tip="#{overviewBundle.basic_suggestTip}"
-               placeholder="Country (Language)">
-          <tc:suggest suggestMethod="#{overviewController.getInputSuggestItems}"
-                      id="suggest" delay="300" minimumCharacters="1" maximumItems="10"/>
-        </tc:in>
-        <tc:date value="#{overviewController.basicDate}" tabIndex="4" id="basic_date"
-                 label="#{overviewBundle.basic_dateLabel}" required="true">
-          <f:convertDateTime pattern="dd/MM/yyyy"/>
-          <tc:validateSubmittedValueLength maximum="10"/>
-        </tc:date>
-        <tc:date label="#{overviewBundle.basic_timeLabel}" tabIndex="5" id="basic_time"
-                 value="#{overviewController.basicTime}">
-          <f:convertDateTime pattern="HH:mm" timeZone="CET"/>
-        </tc:date>
-        <tc:in value="#{overviewController.placeholder}" tabIndex="6" id="basic_placeholder"
-               label="Placeholder" placeholder="Search..."/>
-      </tc:panel>
-
-      <tc:textarea value="#{overviewController.basicArea}" tabIndex="2" tip="max length = 1000"
-                   label="#{overviewBundle.basic_textareaLabel}">
-        <f:validateLength maximum="1000"/>
-      </tc:textarea>
-    </tc:panel>
-
-    <!-- row -->
-    <tc:separator label="#{overviewBundle.basic_sampleSelectTitle}"/>
-
-    <!-- row -->
-    <tc:out escape="false" value="#{overviewBundle.basic_text_select}"/>
-
-    <!-- row -->
-    <tc:panel>
-      <f:facet name="layout">
-        <tc:gridLayout columns="*;*" border="0"/>
-      </f:facet>
-      <tc:selectOneRadio label="Select One" value="#{overviewController.radioValue}" id="rg0">
-        <tc:selectItems value="#{overviewController.currencyItems}" id="items0"
-                        var="currency" itemValue="#{currency.currencyCode}" itemLabel="#{currency.displayName}"
-                        itemImage="data/#{currency.currencyCode}-14.png"/>
-        <!-- images come from tobago-example-data -->
-        <!--
-                <f:facet name="click">
-                  <tc:command/>
-                </f:facet>
-        -->
-      </tc:selectOneRadio>
-
-      <tc:panel>
-        <f:facet name="layout">
-          <tc:gridLayout rows="auto;auto"/>
-        </f:facet>
-        <tc:selectManyCheckbox label="Select Many" value="#{overviewController.multiValue}"
-                               id="cbg0" renderRange="1-2" converter="salutationId">
-          <f:selectItems value="#{overviewController.items}" id="itemsg0"/>
-        </tc:selectManyCheckbox>
-        <tc:selectOneChoice label="Select One Choice" value="#{overviewController.singleValue}"
-                            converter="salutationId">
-          <f:selectItems value="#{overviewController.items}"/>
-        </tc:selectOneChoice>
-      </tc:panel>
-    </tc:panel>
-
-    <!-- row -->
-    <tc:separator label="#{overviewBundle.basic_sampleLinkTitle}"/>
-
-    <!-- row -->
-    <tc:out escape="false" value="#{overviewBundle.basic_text_action}"/>
-
-    <!-- row -->
-    <tc:flowLayout>
-      <tc:link id="link"
-               actionListener="#{overviewController.click}"
-               label="#{overviewBundle.basic_linkAction}"/>
-      <tc:link id="image"
-               actionListener="#{overviewController.click}"
-               image="image/image_button.png"/>
-      <tc:button id="button"
-                 actionListener="#{overviewController.click}"
-                 label="#{overviewBundle.basic_buttonAction}"/>
-    </tc:flowLayout>
-
-    <!-- row -->
-    <tc:in value="#{overviewController.lastAction}" readonly="true"
-           label="#{overviewBundle.basic_lastActionLabel}">
-      <tc:gridLayoutConstraint columnSpan="5"/>
-    </tc:in>
-
-    <!-- todo: deprecated -->
-    <tc:script>
-      new Tobago.AcceleratorKey(function() {Tobago.clickOnElement('page:image');}, 'O', "ctrl");
-      new Tobago.AcceleratorKey(function() {Tobago.clickOnElement('page:button');}, 'B', "ctrl");
-    </tc:script>
-
+  <p>This is the demo of Tobago 3.
+    It shows the components and concepts of Tobago 3 and also should be a bit of a documentation.</p>
+  <p>If you want to migrate from Tobago 2.0 to 3.0, you'll find further information in the
+    <tc:link label="migration guide" link="https://myfaces.apache.org/tobago/migration-3.0.html"/>.</p>
+  <p>If you want to start this demo on you local machine, have a look at the section 'Local Demo'.</p>
+
+  <tc:section label="Description">
+    <p>Tobago is a user interface framework for developing webapplications.
+      The technical basis of the framework is JavaServer Faces. The main core represents a theme oriented
+      JSF Render Kit.</p>
+    <tc:section label="Basic Controls">
+      <p>Tobago provides all standard controls of HTML like inputs, textareas, radiobuttons, checkboxes and buttons.
+        Additionally Tobago provides you with complex controls, which are not natively supportet by simple HTML,
+        including sheets, trees and tabs.</p>
+    </tc:section>
+    <tc:section label="Validation">
+      <p>The main goal of Tobago is the development of applications which are interactive from the users point of view.
+        Tobago makes it easy to validate input and helps the user to enter correct data.</p>
+    </tc:section>
+    <tc:section label="Layout">
+      <p>Tobago provides several advanced layout managers to fit for specific use cases by using CSS3 and HTML5.
+        This includes a 12 columns layout from <tc:link label="Bootstrap" link="https://getbootstrap.com/"/>
+        and a flex layout which replace the old grid layout from Tobago2.</p>
+    </tc:section>
   </tc:section>
 
+  <tc:section label="Local Demo">
+    <p>In case that this demo already run on your local machine,
+      you can find the public demo <tc:link label="here" link="http://www.irian.biz/tobago-example-demo-3.0.x/"/>.</p>
+    <p>If this is the public demo and you want to build it on your own, read the following instructions.</p>
+    <tc:section label="Instructions">
+      <p>First of all you need
+        <tc:link label="maven" link="https://maven.apache.org/"/> (at least version 3.0.4) and
+        <tc:link label="Java SE 6" link="http://www.oracle.com/technetwork/java/javase/downloads/"/> or higher.</p>
+      <p>After that, check out the source code from subversion repository.
+        <br/>
+        <code>svn checkout http://svn.apache.org/repos/asf/myfaces/tobago/trunk tobago3</code>
+        <br/>
+        Alternatively you can get the source code from the
+        <tc:link label="download section" link="https://myfaces.apache.org/tobago/download.html"/>.</p>
+      <p>Go to the tobago3 directory, and build Tobago with <code>mvn install</code>.</p>
+      <p>Go to 'tobago3/tobago-example/tobago-example-demo' and start the demo with <code>mvn jetty:run</code>.</p>
+    </tc:section>
+  </tc:section>
 </ui:composition>

Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/010-input/10-in/in.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/010-input/10-in/in.xhtml?rev=1741571&r1=1741570&r2=1741571&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/010-input/10-in/in.xhtml (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/010-input/10-in/in.xhtml Fri Apr 29 08:17:35 2016
@@ -26,7 +26,7 @@
   <p>The <code class="language-markup">&lt;tc:in/&gt;</code> tag create a classic inputfield.</p>
   <tc:link label="Tag Library Documentation" image="image/feather-leaf.png" link="#{overviewBundle.tagDocUrl}/in.html"/>
   <tc:section label="Basics">
-    <p>In the most cases, a label should be placed in front of every inputfield. For this use the attribute
+    <p>In most cases, a label should be placed in front of every inputfield. Use the attribute
       <code>label</code>.</p>
     <pre><code class="language-markup">&lt;tc:in label="Input" value="Some Text"/&gt;</code></pre>
     <tc:in id="i1" label="Input" value="Some Text"/>
@@ -50,14 +50,14 @@
   </tc:section>
 
   <tc:section label="Placeholder">
-    <p>Another way to tell the user the meaning of a field is the <code>placeholder</code> attribute.</p>
-    <p>The text of the placeholder will only be shown, if the value is an empty string.</p>
+    <p>A <code>placeholder</code> attribute can be used for explaining a user the meaning of a field.</p>
+    <p>The text of the placeholder is only shown if the value is an empty string.</p>
     <pre><code class="language-markup">&lt;tc:in label="Placeholder" placeholder="Grey Text"/&gt;</code></pre>
     <tc:in id="i7" label="Placeholder" placeholder="Short description of the field." value=""/>
   </tc:section>
 
   <tc:section label="Ajax">
-    <p>The outputfield in this example, display the given value on the server.
+    <p>The outputfield in this example, displays the given value on the server.
       With <code class="language-markup">&lt;f:ajax render="outputfield" listener="\#{inController.update}"/></code>,
       the outputfield will be rerendered, after the value has been changed.
       This is because <code>outputfield</code> is the id of the <code>&lt;tc:out/></code> tag.

Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/010-input/20-suggest/suggest.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/010-input/20-suggest/suggest.xhtml?rev=1741571&r1=1741570&r2=1741571&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/010-input/20-suggest/suggest.xhtml (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/010-input/20-suggest/suggest.xhtml Fri Apr 29 08:17:35 2016
@@ -32,7 +32,7 @@
 
   <tc:section label="Basics">
     <p>Select a language, after you type a character in the textfield, a list of suggestions is shown.</p>
-        <pre><code class="language-markup">&lt;tc:in id="i1" label="Language" value="\#{suggestController.suggestInput}">
+        <pre><code class="language-markup">&lt;tc:in label="Language" value="\#{suggestController.suggestInput}">
     &lt;tc:suggest suggestMethod="\#{suggestController.getInputSuggestItems}"/>
 &lt;/tc:in></code></pre>
     <tc:in id="i1" label="Language" value="#{suggestController.suggestInput}">
@@ -59,7 +59,7 @@
   <tc:section label="Client sided">
     <p>For optimization, the filtering can be done by the client.
       For that, <code>update</code> must be 'false' and <code>minimumCharacters</code> have to be '0'.
-      The <code>filter</code> attribute has only an effect, if client sided filtering is activated.</p>
+      The <code>filter</code> attribute has only an effect if client sided filtering is activated.</p>
     <pre><code class="language-markup">&lt;tc:suggest suggestMethod="\#{suggestController.getCountryLanguageList}"
   update="false" minimumCharacters="0" filter="prefix"/></code></pre>
     <tc:in id="i3" label="Language" value="#{suggestController.suggestInput}">

Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/010-input/30-textarea/textarea.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/010-input/30-textarea/textarea.xhtml?rev=1741571&r1=1741570&r2=1741571&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/010-input/30-textarea/textarea.xhtml (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/010-input/30-textarea/textarea.xhtml Fri Apr 29 08:17:35 2016
@@ -23,7 +23,7 @@
                 xmlns:ui="http://java.sun.com/jsf/facelets">
   <ui:param name="title" value="#{overviewBundle.textarea} &lt;tc:textarea&gt;"/>
   <p>The <code class="language-markup">&lt;tc:textarea/&gt;</code> tag, creates a textfield with one or more rows.
-    The textarea becomes scrollable, if the containing text could not displayed in the current size.</p>
+    The textarea becomes scrollable if the containing text could not displayed in the current size.</p>
   <tc:link label="Tag Library Documentation" image="image/feather-leaf.png" link="#{overviewBundle.tagDocUrl}/textarea.html"/>
   <tc:section label="Basics">
     <p>The textarea should always have a label attached. For this, use the <code>label</code> attribute.</p>

Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/010-input/input.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/010-input/input.xhtml?rev=1741571&r1=1741570&r2=1741571&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/010-input/input.xhtml (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/010-input/input.xhtml Fri Apr 29 08:17:35 2016
@@ -22,7 +22,7 @@
                 xmlns:tc="http://myfaces.apache.org/tobago/component"
                 xmlns:ui="http://java.sun.com/jsf/facelets">
   <ui:param name="title" value="#{overviewBundle.input}"/>
-  <p>With the input components, a text or a date can be entered.
+  <p>With input components, a text or a date can be entered.
     Input components should always use the <code>label</code> attribute.</p>
 
   <tc:section label="#{overviewBundle.in}">
@@ -31,7 +31,12 @@
   </tc:section>
 
   <tc:section label="#{overviewBundle.suggest}">
-    <pre><code class="language-markup"></code></pre>
+    <pre><code class="language-markup">&lt;tc:in label="Language" value="\#{suggestController.suggestInput}">
+    &lt;tc:suggest suggestMethod="\#{suggestController.getInputSuggestItems}"/>
+&lt;/tc:in></code></pre>
+    <tc:in id="i2" label="Language" value="#{suggestController.suggestInput}">
+      <tc:suggest suggestMethod="#{suggestController.getInputSuggestItems}"/>
+    </tc:in>
   </tc:section>
 
   <tc:section label="#{overviewBundle.textarea}">

Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/020-output/10-out/out.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/020-output/10-out/out.xhtml?rev=1741571&r1=1741570&r2=1741571&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/020-output/10-out/out.xhtml (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/020-output/10-out/out.xhtml Fri Apr 29 08:17:35 2016
@@ -47,7 +47,7 @@
     </tc:section>
   </tc:section>
   <tc:section label="Sanitize">
-    <p>Sanitize remove HTML/XML-Tags from a given string, if not escaped. It can be configured in the tobago-config.xml.
+    <p>Sanitize remove HTML/XML-Tags from a given string if not escaped. It can be configured in the tobago-config.xml.
       If you want to write your own sanitizer, you have to implement
       <code>org.apache.myfaces.tobago.sanitizer.Sanitizer</code>.</p>
     <p>Sanitzing can be deactivated for a component using the <code>sanitize</code> attribute.

Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/040-command/10-button+link/button+link.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/040-command/10-button%2Blink/button%2Blink.xhtml?rev=1741571&r1=1741570&r2=1741571&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/040-command/10-button+link/button+link.xhtml (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/040-command/10-button+link/button+link.xhtml Fri Apr 29 08:17:35 2016
@@ -20,7 +20,7 @@
                 xmlns:tc="http://myfaces.apache.org/tobago/component"
                 xmlns:ui="http://java.sun.com/jsf/facelets"
                 xmlns:f="http://java.sun.com/jsf/core">
-  <ui:param name="title" value="#{overviewBundle.button_link} &lt;tc:button> &lt;tc:link>"/>
+  <ui:param name="title" value="#{overviewBundle.button_link} &lt;tc:link> &lt;tc:button>"/>
   <p>The classic link can be set with the <code class="language-markup">&lt;tc:link/></code> tag.
     You can also set a link by <code class="language-markup">&lt;tc:button/></code>.</p>
   <p>Tag Library Documentation:

Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/050-container/10-box/box.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/050-container/10-box/box.xhtml?rev=1741571&r1=1741570&r2=1741571&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/050-container/10-box/box.xhtml (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/050-container/10-box/box.xhtml Fri Apr 29 08:17:35 2016
@@ -34,7 +34,9 @@
   </tc:section>
 
   <tc:section label="Collapse/Expand">
-    <p>A contentbox can be collapsed via <code>collapsed</code> attribute.</p>
+    <p>A contentbox can be collapsed via <code>collapsed</code> attribute.
+      Also have a look at <tc:link label="#{overviewBundle.collapsible}"
+                                   resource="faces/content/30-concept/53-collapsible/collapsible.xhtml"/>.</p>
     <pre><code class="language-markup">&lt;tc:box label="Collapsed" collapsed="true">Content&lt;/tc:box></code></pre>
     <tc:segmentLayout medium="6;6">
       <tc:box label="Collapsed" collapsed="true">Content</tc:box>

Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/050-container/20-panel/panel.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/050-container/20-panel/panel.xhtml?rev=1741571&r1=1741570&r2=1741571&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/050-container/20-panel/panel.xhtml (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/050-container/20-panel/panel.xhtml Fri Apr 29 08:17:35 2016
@@ -60,7 +60,7 @@
   </tc:section>
 
   <tc:section label="Ajax">
-    <p>A panel can also be useful, if more than one component should be rerendered.
+    <p>A panel can also be useful if more than one component should be rerendered.
       A component for rerendering can be set with the <code>render</code> attribute in the
       <code class="language-markup">&lt;f:ajax/></code> tag.
       In this example, 'Outputfield One' and 'Outputfield Two' should be rerendered.

Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/060-popup/popup.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/060-popup/popup.xhtml?rev=1741571&r1=1741570&r2=1741571&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/060-popup/popup.xhtml (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/060-popup/popup.xhtml Fri Apr 29 08:17:35 2016
@@ -20,11 +20,11 @@
 <ui:composition template="/main.xhtml"
                 xmlns="http://www.w3.org/1999/xhtml"
                 xmlns:tc="http://myfaces.apache.org/tobago/component"
-                xmlns:ui="http://java.sun.com/jsf/facelets"
-                xmlns:f="http://java.sun.com/jsf/core">
+                xmlns:ui="http://java.sun.com/jsf/facelets">
   <ui:param name="title" value="#{overviewBundle.popup} &lt;tc:popup>"/>
   <p>A popup dialog is created with <code class="language-markup">&lt;tc:popup/></code>.
-    It can be filled with components like other container.</p>
+    It can be filled with components like other container.
+    To open the popup dialog, use <code class="language-markup">&lt;tc:popupReference/></code>.</p>
   <p>Tag Library Documentation:
     <tc:link label="&lt;tc:popup/>" image="image/feather-leaf.png"
              link="#{overviewBundle.tagDocUrl}/popup.html"/>
@@ -39,31 +39,18 @@
              link="#{overviewBundle.tagDocUrl}/attribute.html"/></p>
 
   <tc:section label="Basics">
-    <p>There are basically two ways to open a popup dialog.
-      First, put the <code class="language-markup">&lt;tc:popup/></code> tag within an opening component,
-      like a button or a link. The second one is to use the
-      <code class="language-markup">&lt;tc:popupReference/></code> tag.</p>
-    <tc:section label="Popup within button">
-      <p>In this example, the popup should be within a button. To make this happen, the facet-tag is also needed.
-        In detail:<br/>
-        The <code class="language-markup">&lt;tc:button label="Open Popup 1"></code> contain
-        <code class="language-markup">&lt;f:facet name="popup"></code>, which contain
-        <code class="language-markup">&lt;tc:popup id="popup1"></code>.</p>
-      <tc:button id="b1" label="Open Popup 1">
-        <f:facet name="popup">
-          <tc:popup id="popup1">
-            <p>This is a popup dialog.</p>
-          </tc:popup>
-        </f:facet>
-      </tc:button>
-    </tc:section>
-    <tc:section label="Reference to popup">
-      <p>The link tag contain a <code class="language-markup">&lt;tc:popupReference for="popup1"/></code>.
-        The value of the <code>for</code> attribute has to be the ID of a popup dialog.</p>
-      <tc:link id="l1" label="Open Popup 1">
-        <tc:popupReference for="popup1"/>
-      </tc:link>
-    </tc:section>
+    <p>Press the button or click the link to open a popup dialog.
+      Both button and link contain a <code class="language-markup">&lt;tc:popupReference for="popup1"/></code> tag.
+      The value of the <code>for</code> attribute has to be the ID of a popup dialog.</p>
+    <tc:popup id="popup1">
+      <p>This is a popup dialog.</p>
+    </tc:popup>
+    <tc:button id="b1" label="Open Popup 1">
+      <tc:popupReference for="popup1"/>
+    </tc:button>
+    <tc:link id="l1" label="Open Popup 1">
+      <tc:popupReference for="popup1"/>
+    </tc:link>
   </tc:section>
 
   <tc:section label="Close Popup">

Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/070-tab/00-client/tab-client.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/070-tab/00-client/tab-client.xhtml?rev=1741571&r1=1741570&r2=1741571&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/070-tab/00-client/tab-client.xhtml (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/070-tab/00-client/tab-client.xhtml Fri Apr 29 08:17:35 2016
@@ -51,7 +51,7 @@
 
   <tc:section label="Header">
     <p></p>
-    <p>This example show the different headers, if the <code>label</code> or the <code>image</code> is used.</p>
+    <p>This example show the different headers if the <code>label</code> or the <code>image</code> is used.</p>
     <tc:tabGroup id="tg2">
       <tc:tab id="t21" label="Only label">
         <p>Only a label is set.</p>

Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/070-tab/01-ajax/tab-ajax.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/070-tab/01-ajax/tab-ajax.xhtml?rev=1741571&r1=1741570&r2=1741571&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/070-tab/01-ajax/tab-ajax.xhtml (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/070-tab/01-ajax/tab-ajax.xhtml Fri Apr 29 08:17:35 2016
@@ -52,7 +52,7 @@
   </tc:section>
 
   <tc:section label="Header">
-    <p>This example show the different headers, if the <code>label</code> or the <code>image</code> is used.</p>
+    <p>This example show the different headers if the <code>label</code> or the <code>image</code> is used.</p>
     <tc:tabGroup id="tg2" switchType="reloadTab">
       <tc:tab id="t21" label="Only label">
         <p>Only a label is set.</p>

Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/070-tab/02-server/tab-server.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/070-tab/02-server/tab-server.xhtml?rev=1741571&r1=1741570&r2=1741571&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/070-tab/02-server/tab-server.xhtml (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/070-tab/02-server/tab-server.xhtml Fri Apr 29 08:17:35 2016
@@ -52,7 +52,7 @@
   </tc:section>
 
   <tc:section label="Header">
-    <p>This example show the different headers, if the <code>label</code> or the <code>image</code> is used.</p>
+    <p>This example show the different headers if the <code>label</code> or the <code>image</code> is used.</p>
     <tc:tabGroup id="tg2" switchType="reloadPage">
       <tc:tab id="t21" label="Only label">
         <p>Only a label is set.</p>

Added: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/080-sheet/55-staticheader/sheet-static-header.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/080-sheet/55-staticheader/sheet-static-header.xhtml?rev=1741571&view=auto
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/080-sheet/55-staticheader/sheet-static-header.xhtml (added)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/080-sheet/55-staticheader/sheet-static-header.xhtml Fri Apr 29 08:17:35 2016
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ * 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.
+-->
+
+<ui:composition template="/main.xhtml"
+                xmlns:tc="http://myfaces.apache.org/tobago/component"
+                xmlns:ui="http://java.sun.com/jsf/facelets"
+                xmlns:f="http://java.sun.com/jsf/core">
+  <ui:param name="title" value="#{overviewBundle.sheet_static_header}"/>
+  <p>
+
+
+    For simple column headers, use the lable attribute of the tc:column.
+    For more complex headers, which can span over columns and/or rows use a
+
+    &lt;f:facet name='header'&gt; in the sheet.
+
+  </p>
+
+  <tc:section label="Basics">
+
+  </tc:section>
+
+  <tc:section label="Simple Header">
+    <tc:sheet id="s1" value="#{sheetController.solarList}" var="solarobject" rows="7"
+              columns="1;1;2;2;1">
+      <tc:style maxHeight="500px"/>
+      <tc:column label="Name">
+        <tc:out value="#{solarobject.name}"/>
+      </tc:column>
+      <tc:column label="Orbit">
+        <tc:out value="#{solarobject.orbit}"/>
+      </tc:column>
+      <tc:column label="Period (Days)">
+        <tc:out value="#{solarobject.period}"/>
+      </tc:column>
+      <tc:column label="Discoverer">
+        <tc:out value="#{solarobject.discoverer}"/>
+      </tc:column>
+      <tc:column label="Year">
+        <tc:out value="#{solarobject.discoverYear}"/>
+      </tc:column>
+    </tc:sheet>
+  </tc:section>
+
+  <tc:section label="Basics">
+  <tc:sheet id="s11" value="#{sheetController.solarList}" var="solarobject" rows="4">
+  <tc:style maxHeight="500px"/>
+  <tc:column label="Name">
+  <tc:out value="#{solarobject.name}"/>
+  </tc:column>
+  <tc:column label="Orbit">
+  <tc:out value="#{solarobject.orbit}"/>
+  </tc:column>
+  <tc:column label="Period (Days)">
+  <tc:out value="#{solarobject.period}"/>
+  </tc:column>
+  <tc:column label="Discoverer">
+  <tc:out value="#{solarobject.discoverer}"/>
+  </tc:column>
+  <tc:column label="Year">
+  <tc:out value="#{solarobject.discoverYear}"/>
+  </tc:column>
+  </tc:sheet>
+
+  </tc:section>
+
+  <tc:section label="Static Header">
+  <tc:sheet id="s2" value="#{sheetController.solarList}" var="solarobject" rows="4"
+  columns="3*;2*;3*;*;*">
+  <tc:style maxHeight="500px"/>
+  <tc:column label="Name">
+  <tc:out value="#{solarobject.name}"/>
+  </tc:column>
+  <tc:column label="Orbit">
+  <tc:out value="#{solarobject.orbit}"/>
+  </tc:column>
+  <tc:column label="Period (Days)">
+  <tc:out value="#{solarobject.period}"/>
+  </tc:column>
+  <tc:column label="Discoverer">
+  <tc:out value="#{solarobject.discoverer}"/>
+  </tc:column>
+  <tc:column label="Year">
+  <tc:out value="#{solarobject.discoverYear}"/>
+  </tc:column>
+  </tc:sheet>
+  </tc:section>
+
+</ui:composition>

Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/080-sheet/sheet.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/080-sheet/sheet.xhtml?rev=1741571&r1=1741570&r2=1741571&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/080-sheet/sheet.xhtml (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/080-sheet/sheet.xhtml Fri Apr 29 08:17:35 2016
@@ -63,8 +63,4 @@
       </tc:column>
     </tc:sheet>
   </tc:section>
-
-  <tc:section label="Static Header">
-
-  </tc:section>
 </ui:composition>

Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/100-upload/upload.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/100-upload/upload.xhtml?rev=1741571&r1=1741570&r2=1741571&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/100-upload/upload.xhtml (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/100-upload/upload.xhtml Fri Apr 29 08:17:35 2016
@@ -50,7 +50,8 @@
 
   <tc:section id="s2" label="Content type">
     <p>You can filter files using the <code class="language-markup">&lt;tc:validateFileItem/></code> tag within
-      the <code class="language-markup">&lt;tc:file/></code>.</p>
+      the <code class="language-markup">&lt;tc:file/></code>.
+      In the following example only images and PDF files are excepted.</p>
     <tc:file label="Upload image" value="#{uploadController.fileContentType}">
       <tc:validateFileItem contentType="image/*,application/pdf"/>
     </tc:file>
@@ -60,7 +61,7 @@
   <tc:section id="s3" label="Ajax">
     <p>Ajax can be activated by adding <code class="language-markup">&lt;f:ajax/></code>
       to the <code class="language-markup">&lt;tc:file/></code> tag.</p>
-    <p>The Ajax feature of file upload currently only works with JSF 2.2 (not with JSF 2.0 or 2.1)!</p>
+    <p>The Ajax feature of file upload currently works with JSF 2.2 only!</p>
 
     <tc:file label="Ajax" value="#{uploadController.fileAjax}">
       <f:ajax listener="#{uploadController.uploadAjax}" render="s3"/>

Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/110-wysiwyg/00-tinymce/tinymce.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/110-wysiwyg/00-tinymce/tinymce.xhtml?rev=1741571&r1=1741570&r2=1741571&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/110-wysiwyg/00-tinymce/tinymce.xhtml (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/110-wysiwyg/00-tinymce/tinymce.xhtml Fri Apr 29 08:17:35 2016
@@ -18,57 +18,38 @@
 -->
 
 <ui:composition template="/main.xhtml"
+                xmlns="http://www.w3.org/1999/xhtml"
                 xmlns:tc="http://myfaces.apache.org/tobago/component"
-                xmlns:ui="http://java.sun.com/jsf/facelets"
-                xmlns:f="http://java.sun.com/jsf/core"
-                xmlns="http://www.w3.org/1999/xhtml">
-  <ui:param name="title" value="TinyMCE integration"/>
-
+                xmlns:ui="http://java.sun.com/jsf/facelets">
+  <ui:param name="title" value="#{overviewBundle.tinymce}"/>
   <tc:script file="content/20-component/110-wysiwyg/00-tinymce/tinymce/js/tinymce/tinymce.min.js"/>
-<!--
-  <tc:script file="content/20-component/110-wysiwyg/00-tinymce/tinymce/js/tinymce/jquery.tinymce.min.js"/>
--->
   <tc:script file="content/20-component/110-wysiwyg/00-tinymce/tinymce.js"/>
 
-  <tc:panel>
-    <f:facet name="layout">
-      <tc:gridLayout rows="20px;110px;*;auto"/>
-    </f:facet>
+  <tc:section label="Installation">
+    <p>Download <tc:link link="http://www.tinymce.com/" target="_blank" label="TinyMCE"/>
+      and unpack the ZIP file directly beside this XHTML-file.
+      Then restart this application (this is needed, because the resource manager needs to scan the content).</p>
+  </tc:section>
+
+  <tc:section label="Editor">
+    <p>This facelet contains two <code class="language-markup">&lt;tc:script/></code> tags,
+      one for the TinyMCE and the other for the integration in this application.
+      The <code class="language-markup">&lt;tc:textarea/></code> contain
+      <code class="language-markup">&lt;tc:dataAttribute name="html-editor" value=""/></code>,
+      to mark this textarea to be used as rich text editor. The rest does the script: tinymce.js</p>
+
+    <tc:button label="show/hide" action="#{tinymceController.switchCollapsed}"/>
+    <tc:box label="tinymce.js" collapsed="#{tinymceController.collapsed}">
+      <pre><code class="language-javascript"><tc:out value="#{tinymceController.source}"/></code></pre>
+    </tc:box>
 
-    <tc:out markup="strong" rendered="#{not htmlEditor.tinymceAvailable}"
+    <tc:out markup="strong" rendered="#{not tinymceController.editorAvailable}"
             value="The TinyMCE is not installed! Using the fallback textarea."/>
 
-    <tc:panel>
-      <f:facet name="layout">
-        <tc:flowLayout/>
-      </f:facet>
-
-      <h3>
-        Installation:
-      </h3>
-      <p>
-        Download <tc:link link="http://www.tinymce.com/" target="_blank" label="TinyMCE"/> und unpack the ZIP file
-        directly beside this XHTML-file.
-        Then restart this application (this is needed, because the resource manager needs to scan the content).
-      </p>
-      <p>
-        This Facelet contains 2 tc:script tags, 1 for the TinyMCE and 1 for the integration in this application.
-        The tc:textarea has a tc:dataAttribute with name="html-editor" set, to mark this textarea to be used as
-        ritch text editor. The rest does the script: demo-tinymce.js
-      </p>
-    </tc:panel>
-
-    <tc:textarea value="#{htmlEditor.text}">
+    <tc:textarea value="#{tinymceController.text}">
+      <tc:style width="400px" height="300px"/>
       <tc:dataAttribute name="html-editor" value=""/>
     </tc:textarea>
-
-    <tc:panel>
-      <f:facet name="layout">
-        <tc:gridLayout columns="*;auto"/>
-      </f:facet>
-      <tc:panel/>
-      <tc:button label="Submit"/>
-    </tc:panel>
-
-  </tc:panel>
+    <tc:button label="Submit"/>
+  </tc:section>
 </ui:composition>

Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/110-wysiwyg/01-ckeditor/ckeditor.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/110-wysiwyg/01-ckeditor/ckeditor.xhtml?rev=1741571&r1=1741570&r2=1741571&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/110-wysiwyg/01-ckeditor/ckeditor.xhtml (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/110-wysiwyg/01-ckeditor/ckeditor.xhtml Fri Apr 29 08:17:35 2016
@@ -18,57 +18,41 @@
 -->
 
 <ui:composition template="/main.xhtml"
+                xmlns="http://www.w3.org/1999/xhtml"
                 xmlns:tc="http://myfaces.apache.org/tobago/component"
-                xmlns:ui="http://java.sun.com/jsf/facelets"
-                xmlns:f="http://java.sun.com/jsf/core"
-                xmlns="http://www.w3.org/1999/xhtml">
-  <ui:param name="title" value="CKEditor integration"/>
-
+                xmlns:ui="http://java.sun.com/jsf/facelets">
+  <ui:param name="title" value="#{overviewBundle.ckeditor}"/>
   <tc:script file="content/20-component/110-wysiwyg/01-ckeditor/ckeditor/ckeditor.js"/>
   <tc:script file="content/20-component/110-wysiwyg/01-ckeditor/demo-ckeditor.js"/>
 
-  <tc:panel>
-    <f:facet name="layout">
-      <tc:gridLayout rows="20px;20px;110px;*;auto"/>
-    </f:facet>
-
-  <tc:out markup="strong" rendered="#{not htmlEditor.ckeditorAvailable}"
-      value="The CKEditor is not installed! Using the fallback textarea."/>
-
-  <tc:out markup="strong" rendered="#{tobagoContext.tobagoConfig.contentSecurityPolicy.mode == 'ON'}"
-      value="CSP is ON! CKEditor is not compatible with CSP!"/>
-
-  <tc:panel>
-    <f:facet name="layout">
-      <tc:flowLayout/>
-    </f:facet>
-
-    <h3>
-      Installation:
-    </h3>
-    <p>
-      Download <tc:link link="http://ckeditor.com/" target="_blank" label="CKEditor"/> und unpack the ZIP file
-      directly beside this XHTML-file.
-      Then restart this application (this is needed, because the resource manager needs to scan the content).
-    </p>
-    <p>
-      This Facelet contains 2 tc:script tags, 1 for the CKEditor and 1 for the integration in this application.
-      The tc:textarea has a tc:dataAttribute with name="html-editor" set, to mark this textarea to be used as
-      ritch text editor. The rest does the script: demo-ckeditor.js
-    </p>
-    </tc:panel>
+  <tc:section label="Installation">
+    <p>Download <tc:link link="http://ckeditor.com/" target="_blank" label="CKEditor"/>
+      and unpack the ZIP file directly beside this XHTML-file.
+      Then restart this application (this is needed, because the resource manager needs to scan the content).</p>
+  </tc:section>
+
+  <tc:section label="Editor">
+    <p>This facelet contains two <code class="language-markup">&lt;tc:script/></code> tags,
+      one for the CKEditor and the other for the integration in this application.
+      The <code class="language-markup">&lt;tc:textarea/></code> contain
+      <code class="language-markup">&lt;tc:dataAttribute name="html-editor" value=""/></code>,
+      to mark this textarea to be used as rich text editor. The rest does the script: demo-ckeditor.js</p>
+
+    <tc:button label="show/hide" action="#{ckeditorController.switchCollapsed}"/>
+    <tc:box label="demo-ckeditor.js" collapsed="#{ckeditorController.collapsed}">
+      <pre><code class="language-javascript"><tc:out value="#{ckeditorController.source}"/></code></pre>
+    </tc:box>
 
-    <tc:textarea value="#{htmlEditor.text}">
-      <tc:dataAttribute name="html-editor" value=""/>
-    </tc:textarea>
+    <tc:out markup="strong" rendered="#{not ckeditorController.editorAvailable}"
+            value="The CKEditor is not installed! Using the fallback textarea."/>
 
-    <tc:panel>
-      <f:facet name="layout">
-        <tc:gridLayout columns="*;auto"/>
-      </f:facet>
-      <tc:panel/>
-      <tc:button label="Submit"/>
-    </tc:panel>
+    <tc:out markup="strong" rendered="#{ckeditorController.contentSecurityPolicyMode == 'ON'}"
+            value="CSP is ON! CKEditor is not compatible with CSP!"/>
 
-  </tc:panel>
+    <tc:textarea value="#{ckeditorController.text}">
+      <tc:style width="400px" height="300px"/>
+      <tc:dataAttribute name="html-editor" value=""/>
+    </tc:textarea>
+    <tc:button label="Submit"/>
+  </tc:section>
 </ui:composition>

Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/110-wysiwyg/wysiwyg-editor.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/110-wysiwyg/wysiwyg-editor.xhtml?rev=1741571&r1=1741570&r2=1741571&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/110-wysiwyg/wysiwyg-editor.xhtml (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/110-wysiwyg/wysiwyg-editor.xhtml Fri Apr 29 08:17:35 2016
@@ -18,19 +18,11 @@
 -->
 
 <ui:composition template="/main.xhtml"
+                xmlns="http://www.w3.org/1999/xhtml"
                 xmlns:tc="http://myfaces.apache.org/tobago/component"
-                xmlns:ui="http://java.sun.com/jsf/facelets"
-                xmlns:f="http://java.sun.com/jsf/core"
-                xmlns="http://www.w3.org/1999/xhtml">
-  <ui:param name="title" value="Editor"/>
-
-
-  <tc:panel>
-    <f:facet name="layout">
-      <tc:flowLayout/>
-    </f:facet>
-
-    <h3>A WYSIWYG HTML editor</h3>
+                xmlns:ui="http://java.sun.com/jsf/facelets">
+  <ui:param name="title" value="#{overviewBundle.wysiwyg_editor}"/>
+  <tc:section label="A WYSIWYG HTML Editor">
     <p>
       You can embed HTML editor in Tobago easily,
       but there is no HTML editor component in Tobago.
@@ -56,31 +48,21 @@
       In this application there are two editors embedded as an example.
     </p>
     <ul>
-      <li><tc:link link="http://www.tinymce.com/" target="_blank" label="TinyMCE"/></li>
+      <li><tc:link label="TinyMCE" link="https://www.tinymce.com/" target="_blank"/></li>
       Is using LGPL license.
-      <li><tc:link link="http://ckeditor.com/" target="_blank" label="CKEditor"/></li>
+      <li><tc:link label="CKEditor" link="http://ckeditor.com/" target="_blank"/></li>
       Doesn't work with CSP activated.
       There is an issue #8584 in the
       <tc:link link="https://dev.ckeditor.com/ticket/8584" target="_blank" label="issue tracker"/>
       of the project.
     </ul>
-    <p>
-    </p>
-
-    <h3>About security</h3>
+  </tc:section>
+  <tc:section label="About Security">
     <p>
       The application should be protected against invalid or malicious HTML content.
       If the application uses an HTML editor in the browser, an attacker is able to modify the clean code
       and submit malicious code.
       That must be checked on server side!
     </p>
-
-    <h3>Todos:</h3>
-
-    <ul>
-      <li>todo: view source fragments</li>
-      <li>todo: HTML Filter</li>
-    </ul>
-
-  </tc:panel>
+  </tc:section>
 </ui:composition>

Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/16-layout/30-segment/segment-layout.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/16-layout/30-segment/segment-layout.xhtml?rev=1741571&r1=1741570&r2=1741571&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/16-layout/30-segment/segment-layout.xhtml (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/16-layout/30-segment/segment-layout.xhtml Fri Apr 29 08:17:35 2016
@@ -36,8 +36,8 @@
       The numbers are displayed via the <code class="language-markup">&lt;tc:label/></code> tag.
       The space is set via the <code class="language-markup">&lt;tc:hidden/></code> tag.</p>
     <tc:section label="4 Columns">
-      <pre><code class="language-markup">&lt;tc:segmentLayout medium="2;4;3;3"></code></pre>
-      <tc:segmentLayout medium="2;4;3;3">
+      <pre><code class="language-markup">&lt;tc:segmentLayout medium="1;6;2;3"></code></pre>
+      <tc:segmentLayout medium="1;6;2;3">
         <tc:label value="1"/>
         <tc:label value="2"/>
         <tc:label value="3"/>
@@ -59,18 +59,31 @@
     </tc:section>
   </tc:section>
 
-  <tc:section label="Extra Small">
-    <p>This segment layout use the attribute <code>extraSmall</code> with the value '5;7'.
-      This means, that the css class <code class="language-css">.col-xs-5</code> and
-      <code class="language-css">.col-xs-7</code> is used.
-      For those classes, a smaller font-size is defined in the <code>demo.css</code>.</p>
-    <tc:segmentLayout extraSmall="5;7">
+  <tc:section label="Screen Size">
+    <p>For the different kinds of screen sizes, the segment layout has four attributes:
+      <code>large</code>, <code>medium</code>, <code>small</code> and <code>extraSmall</code>.
+      The first two ones should be used for desktops. The last two should be used for tablets and phones.
+      Notice, that only the screen size matters. So a small browser window on a big screen also reacts with
+      <code>small</code> and <code>extraSmall</code>.</p>
+    <p>In the following example, all attributes are used. If you are on a desktop you can see the different
+      behavior by changing the size of the browser window.</p>
+    <pre><code class="language-markup">&lt;tc:segmentLayout large="2;2;2;2;2;2"
+  medium="3;3;3;3" small="4;4;4" extraSmall="6;6">
+    ...</code></pre>
+
+    <tc:segmentLayout large="2;2;2;2;2;2" medium="3;3;3;3" small="4;4;4" extraSmall="6;6">
       <tc:label value="1"/>
       <tc:label value="2"/>
       <tc:label value="3"/>
       <tc:label value="4"/>
-      <tc:hidden/>
       <tc:label value="5"/>
+      <tc:label value="6"/>
+      <tc:label value="7"/>
+      <tc:label value="8"/>
+      <tc:label value="9"/>
+      <tc:label value="10"/>
+      <tc:label value="11"/>
+      <tc:label value="12"/>
     </tc:segmentLayout>
   </tc:section>
 </ui:composition>

Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/16-layout/layout.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/16-layout/layout.xhtml?rev=1741571&r1=1741570&r2=1741571&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/16-layout/layout.xhtml (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/16-layout/layout.xhtml Fri Apr 29 08:17:35 2016
@@ -18,50 +18,45 @@
 -->
 
 <ui:composition template="/main.xhtml"
+                xmlns="http://www.w3.org/1999/xhtml"
                 xmlns:tc="http://myfaces.apache.org/tobago/component"
-                xmlns:ui="http://java.sun.com/jsf/facelets"
-                xmlns:f="http://java.sun.com/jsf/core">
+                xmlns:ui="http://java.sun.com/jsf/facelets">
   <ui:param name="title" value="#{overviewBundle.layout}"/>
-  <tc:panel>
-    <f:facet name="layout">
-      <tc:gridLayout rows="2*;7*"/>
-    </f:facet>
+  <p>Tobago provide several layout options.</p>
 
-    <tc:out escape="false" value="#{overviewBundle.layout_text}"/>
-    <tc:box label="#{overviewBundle.layout_exampleTitle}">
-      <f:facet name="layout">
-        <tc:gridLayout columns="*;*" rows="auto;auto;auto;auto;auto;*"/>
-      </f:facet>
-
-      <!-- 1 -->
-      <tc:selectOneChoice value="#{overviewController.singleValue}"
-                          label="#{overviewBundle.layout_salutation}"
-                          converter="salutationId">
-        <f:selectItems value="#{overviewController.items}"/>
-      </tc:selectOneChoice>
-      <tc:panel/>
-
-      <!-- 2 -->
-      <tc:in value="" label="#{overviewBundle.layout_firstName}"/>
-      <tc:in value="" label="#{overviewBundle.layout_lastName}"/>
-
-      <!-- 3 -->
-      <tc:in value="" label="#{overviewBundle.layout_co}">
-        <tc:gridLayoutConstraint columnSpan="2"/>
-      </tc:in>
-
-      <!-- 4 -->
-      <tc:in value="" label="#{overviewBundle.layout_street}"/>
-      <tc:in value="" label="#{overviewBundle.layout_streetNumber}"/>
-
-      <!-- 5 -->
-      <tc:in value="" label="#{overviewBundle.layout_zipCode}"/>
-      <tc:in value="" label="#{overviewBundle.layout_city}"/>
-
-      <!-- 6 -->
-      <tc:textarea value="" label="#{overviewBundle.layout_note}">
-        <tc:gridLayoutConstraint columnSpan="2"/>
-      </tc:textarea>
-    </tc:box>
-  </tc:panel>
+  <tc:section label="#{overviewBundle.flow_layout}">
+    <tc:flowLayout>
+      <tc:button label="Button"/>
+      <tc:button label="Button"/>
+      <tc:button label="Button"/>
+      <tc:button label="Button"/>
+      <tc:button label="Button"/>
+    </tc:flowLayout>
+  </tc:section>
+
+  <tc:section label="#{overviewBundle.flex_layout}">
+    <tc:flexLayout columns="200px;auto;1*;3*;1*">
+      <tc:button label="Button"/>
+      <tc:button label="Button"/>
+      <tc:button label="Button"/>
+      <tc:button label="Button"/>
+      <tc:button label="Button"/>
+    </tc:flexLayout>
+  </tc:section>
+
+  <tc:section label="#{overviewBundle.segment_layout}">
+    <tc:segmentLayout medium="4;4;4">
+      <tc:button label="Button"/>
+      <tc:button label="Button"/>
+      <tc:button label="Button"/>
+      <tc:button label="Button"/>
+      <tc:button label="Button"/>
+    </tc:segmentLayout>
+  </tc:section>
+
+  <tc:section label="#{overviewBundle.labeled_layout}">
+    <p>For many components, a <code>label</code> attribute is available, which place a label in front
+      of the according component.</p>
+    <tc:in label="Input"/>
+  </tc:section>
 </ui:composition>

Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/23-transition/transition.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/23-transition/transition.xhtml?rev=1741571&r1=1741570&r2=1741571&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/23-transition/transition.xhtml (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/23-transition/transition.xhtml Fri Apr 29 08:17:35 2016
@@ -20,17 +20,44 @@
 <ui:composition template="/main.xhtml"
                 xmlns:tc="http://myfaces.apache.org/tobago/component"
                 xmlns:ui="http://java.sun.com/jsf/facelets"
-                xmlns:f="http://java.sun.com/jsf/core">
-  <ui:param name="title" value="Transitions between pages"/>
+>
+  <ui:param name="title" value="#{overviewBundle.transition}"/>
+  <p>For command components like a link or a button, the <code>transition</code> attribute is available.
+    It shows a loading animation if the site don't respond in a certain amount of time.
+    By default, the value is 'true'.</p>
+  <p>Tag Library Documentation:
+    <tc:link label="&lt;tc:link/>" image="image/feather-leaf.png" link="#{overviewBundle.tagDocUrl}/link.html"/>
+    |
+    <tc:link label="&lt;tc:button/>" image="image/feather-leaf.png" link="#{overviewBundle.tagDocUrl}/button.html"/></p>
 
-    <tc:panel>
-      <f:facet name="layout">
-        <tc:gridLayout rows="auto;auto;auto" />
-      </f:facet>
+  <tc:section label="Basics">
+    <p>By following one of the links, the site waits five seconds.
+      After that, you will be redirected to another page.</p>
+    <pre><code class="language-markup">&lt;tc:link label="link with transition ON"
+action="\#{transitionController.sleep5sAndRedirect}"/>
+&lt;tc:link label="link with transition OFF" transition="false"
+action="\#{transitionController.sleep5sAndRedirect}"/></code></pre>
 
-      <tc:out value="Prevent double-clicks" />
-      <tc:button label="Sleep 5 s (transition=true)" action="#{transitionController.sleep5s}"/>
-      <tc:button label="Sleep 5 s (transition=false)" action="#{transitionController.sleep5s}" transition="false"/>
+    <tc:link label="link with transition ON" action="#{transitionController.sleep5sAndRedirect}"/>
+    <br/>
+    <tc:link label="link with transition OFF" transition="false" action="#{transitionController.sleep5sAndRedirect}"/>
+  </tc:section>
 
-    </tc:panel>
-  </ui:composition>
+  <tc:section label="Popup">
+    <p>In this example, a popup dialog is shown five seconds after pressing one of the buttons.</p>
+    <tc:popup id="popup">
+      <tc:box label="Info">
+        <p>Button pressed</p>
+        <tc:button label="Close">
+          <tc:attribute name="popupClose" value="immediate"/>
+        </tc:button>
+      </tc:box>
+    </tc:popup>
+    <tc:button label="Open Popup (transition ON)" action="#{transitionController.sleep5s}">
+      <tc:popupReference for="popup"/>
+    </tc:button>
+    <tc:button label="Open Popup (transition OFF)" action="#{transitionController.sleep5s}" transition="false">
+      <tc:popupReference for="popup"/>
+    </tc:button>
+  </tc:section>
+</ui:composition>

Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/51-for-each/for-each.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/51-for-each/for-each.xhtml?rev=1741571&r1=1741570&r2=1741571&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/51-for-each/for-each.xhtml (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/51-for-each/for-each.xhtml Fri Apr 29 08:17:35 2016
@@ -18,56 +18,42 @@
 <ui:composition template="/main.xhtml"
                 xmlns:tc="http://myfaces.apache.org/tobago/component"
                 xmlns:ui="http://java.sun.com/jsf/facelets"
-                xmlns:f="http://java.sun.com/jsf/core"
                 xmlns:c="http://java.sun.com/jsp/jstl/core">
-  <ui:param name="title" value="Best Practice - For Each"/>
-  <tc:panel>
-    <f:facet name="layout">
-      <tc:gridLayout rows="100px;auto;auto;auto;*"/>
-    </f:facet>
+  <ui:param name="title" value="#{overviewBundle.for_each} &lt;c:forEach> &lt;ui:repeat>"/>
 
-    <tc:flowLayout>
-      <tc:out escape="false" value="#{overviewBundle.foreach_text}"/>
-    </tc:flowLayout>
+  links: forEach, repeat
 
+  <tc:section label="Add a new river">
     <tc:form>
-      <tc:panel>
-        <f:facet name="layout">
-          <tc:gridLayout columns="*;100px"/>
-        </f:facet>
-
-        <c:forEach items="#{birdController.birds}" var="bird">
-          <tc:in value="#{bird.size}" label="#{bird.name}"/>
-          <tc:button label="Select" action="#{bird.select}"/>
-        </c:forEach>
-
-        <!--XXX not working with the layout manager-->
-        <!--
-        <ui:repeat value="#{birdController.birds}" var="bird">
-          <tc:in value="#{bird.size}" label="#{bird.name}"/>
-          <tc:button label="Select" action="#{bird.select}"/>
-        </ui:repeat>
--->
-      </tc:panel>
+      <tc:in label="Name" value="#{forEachController.name}" required="true"/>
+      <tc:in label="Length (km)" value="#{forEachController.length}" required="true" markup="number"/>
+      <tc:in label="Discharge (m^3/s)" value="#{forEachController.discharge}" required="true"/>
+      <tc:button label="Add" action="#{forEachController.addNewRiver}" defaultCommand="true"/>
     </tc:form>
-
     <tc:form>
-      <tc:panel>
-        <f:facet name="layout">
-          <tc:gridLayout columns="120px;2*;100px"/>
-        </f:facet>
-
-        <tc:in value="#{birdController.newBirdName}" required="true"/>
-        <tc:in value="#{birdController.newBirdSize}" required="true">
-          <f:validateLongRange minimum="1"/>
-        </tc:in>
-        <tc:button label="Add" action="#{birdController.addNewBird}"/>
-      </tc:panel>
+      <tc:button label="Reset list of rivers" action="#{forEachController.reset}"/>
     </tc:form>
+  </tc:section>
 
-    <tc:out value="Status: #{birdController.status}"/>
-
-    <tc:panel/>
-
-  </tc:panel>
+  <tc:section label="For Each">
+    <tc:segmentLayout medium="6;6">
+      <c:forEach items="#{forEachController.rivers}" var="river">
+        <tc:box label="#{river.name}">
+          <tc:out label="Length" value="#{river.length} km" markup="number"/>
+          <tc:out label="Discharge" value="#{river.discharge} m^3/s" markup="number"/>
+        </tc:box>
+      </c:forEach>
+    </tc:segmentLayout>
+  </tc:section>
+
+  <tc:section label="UI:Repeat">
+    <tc:segmentLayout medium="6;6">
+      <ui:repeat value="#{forEachController.rivers}" var="river">
+        <tc:box label="#{river.name}">
+          <tc:out label="Length" value="#{river.length} km" markup="number"/>
+          <tc:out label="Discharge" value="#{river.discharge} m^3/s" markup="number"/>
+        </tc:box>
+      </ui:repeat>
+    </tc:segmentLayout>
+  </tc:section>
 </ui:composition>

Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/53-collapsible/collapsible.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/53-collapsible/collapsible.xhtml?rev=1741571&r1=1741570&r2=1741571&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/53-collapsible/collapsible.xhtml (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/53-collapsible/collapsible.xhtml Fri Apr 29 08:17:35 2016
@@ -39,8 +39,12 @@
     <tc:section label="Collapsible with the rendered attribute">
 
       <tc:segmentLayout medium="12" id="collapsible2">
-        <tc:button action="#{collapsible.toggle2}" label="Toggle" immediate="true" renderedPartially="collapsible2"/>
         <tc:box label="Collapsible">
+          <f:facet name="toolBar">
+            <tc:toolBar>
+              <tc:toolBarCommand action="#{collapsible.toggle2}" label="Toggle" immediate="true" renderedPartially="collapsible2"/>
+            </tc:toolBar>
+          </f:facet>
           <tc:panel rendered="#{!collapsible.collapsed2}">
             Hallo, collapsible box.
             <tc:in required="true" label="Required"/>

Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/65-accessKey/accessKey.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/65-accessKey/accessKey.xhtml?rev=1741571&r1=1741570&r2=1741571&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/65-accessKey/accessKey.xhtml (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/65-accessKey/accessKey.xhtml Fri Apr 29 08:17:35 2016
@@ -16,26 +16,72 @@
 -->
 
 <ui:composition template="/main.xhtml"
+                xmlns="http://www.w3.org/1999/xhtml"
                 xmlns:tc="http://myfaces.apache.org/tobago/component"
                 xmlns:ui="http://java.sun.com/jsf/facelets"
-                xmlns:f="http://java.sun.com/jsf/core"
-                xmlns="http://www.w3.org/1999/xhtml">
-  <ui:param name="title" value="Access Keys"/>
-
-  <tc:flowLayout>
-    <p>
-      Todo: describe the usage:
-    </p>
-    <ul>
-      <li>keyboard usage</li>
-      <li>browser support: different extra keys</li>
-      <li>double possible</li>
-      <li>configuration: auto from label</li>
-    </ul>
-
-    <p>
-      To log the use of the accessKey attribute please configure
-      the category <code>org.apache.myfaces.tobago.internal.util.AccessKeyLogger</code> to log level "debug".
-    </p>
-  </tc:flowLayout>
+                xmlns:f="http://java.sun.com/jsf/core">
+  <ui:param name="title" value="#{overviewBundle.accessKey}"/>
+  <p>The <code>accessKey</code> attribute is available for many components like buttons, labels, checkboxes or links.
+    A component with this attribute is accessible by the given character. The character is not case sensitive.</p>
+
+
+  <p>
+    To log the use of the accessKey attribute please configure
+    the category <code>org.apache.myfaces.tobago.internal.util.AccessKeyLogger</code> to log level "debug".
+  </p>
+
+  <p>The usage of accesskeys is different for every OS and browser.<br/>
+    For example, in Firefox for Windows, you have to press 'Alt + Shift + key'. In Chrome it's only 'Alt + key'.
+    A complete listing can be found
+    <tc:link label="here" link="https://developer.mozilla.org/de/docs/Web/HTML/Global_attributes/accesskey"/>.</p>
+  <p>Tag Library Documentation:
+    <tc:link label="&lt;tc:button/>" image="image/feather-leaf.png"
+             link="#{overviewBundle.tagDocUrl}/button.html"/>
+    |
+    <tc:link label="&lt;tc:checkbox/>" image="image/feather-leaf.png"
+             link="#{overviewBundle.tagDocUrl}/checkbox.html"/>
+    |
+    <tc:link label="&lt;tc:link/>" image="image/feather-leaf.png"
+             link="#{overviewBundle.tagDocUrl}/link.html"/>
+    |
+    <tc:link label="&lt;tc:label/>" image="image/feather-leaf.png"
+             link="#{overviewBundle.tagDocUrl}/label.html"/></p>
+
+
+  <tc:section label="Basics">
+    <p>The access key is set to 'a'. Notice, that the 'A' in the label of the button has an underscore.</p>
+    <pre><code class="language-markup">&lt;tc:button label="Button AccessKey" accessKey="a"></code></pre>
+    <tc:button label="Button AccessKey" accessKey="a">
+      <f:facet name="confirmation">
+        <tc:out value="'Button AccessKey' pressed"/>
+      </f:facet>
+    </tc:button>
+  </tc:section>
+
+  <tc:section label="Invisible Key">
+    <p>Access key is '3'. Because the value of the label doesn't contain a '3', nothing is underlined.</p>
+    <tc:button label="Button Three" accessKey="3">
+      <f:facet name="confirmation">
+        <tc:out value="Button 3 pressed"/>
+      </f:facet>
+    </tc:button>
+  </tc:section>
+
+  <tc:section label="Same Key">
+    TODO
+    <tc:button label="Same Key 1" accessKey="S">
+      <f:facet name="confirmation">
+        <tc:out value="Button 'Same Key 1' pressed"/>
+      </f:facet>
+    </tc:button>
+    <tc:button label="Same Key 2" accessKey="S">
+      <f:facet name="confirmation">
+        <tc:out value="Button 'Same Key 2' pressed"/>
+      </f:facet>
+    </tc:button>
+  </tc:section>
+
+  <tc:section label="Label">
+    TODO
+  </tc:section>
 </ui:composition>

Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/70-dataAttribute/dataAttribute.js
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/70-dataAttribute/dataAttribute.js?rev=1741571&r1=1741570&r2=1741571&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/70-dataAttribute/dataAttribute.js (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/70-dataAttribute/dataAttribute.js Fri Apr 29 08:17:35 2016
@@ -65,5 +65,5 @@
 }(jQuery));
 
 Tobago.registerListener(function() {
-    jQuery("[data-color]").colored({resetColor: "#333333"});
+    jQuery("[data-color]").colored({resetColor: "#f8f8f8"});
 }, Tobago.Phase.DOCUMENT_READY);