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 2013/04/02 13:12:28 UTC

svn commit: r1463485 - in /myfaces/tobago/trunk: tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/ tobago-example/tobago-example-test/src/main/webapp/test/gridLayout/

Author: lofwyr
Date: Tue Apr  2 11:12:27 2013
New Revision: 1463485

URL: http://svn.apache.org/r1463485
Log:
TOBAGO-1243: Layout Management should respect rendered=false

Added:
    myfaces/tobago/trunk/tobago-example/tobago-example-test/src/main/webapp/test/gridLayout/tobago-1243.xhtml
Modified:
    myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIGridLayout.java
    myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISheetLayout.java
    myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUITabGroupLayout.java

Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIGridLayout.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIGridLayout.java?rev=1463485&r1=1463484&r2=1463485&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIGridLayout.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIGridLayout.java Tue Apr  2 11:12:27 2013
@@ -75,7 +75,7 @@ public abstract class AbstractUIGridLayo
       if (LOG.isDebugEnabled()) {
         LOG.debug("\n" + grid);
       }
-      if (component instanceof LayoutContainer) {
+      if (component instanceof LayoutContainer && component.isRendered()) {
         ((LayoutContainer) component).getLayoutManager().init();
       }
     }
@@ -117,7 +117,7 @@ public abstract class AbstractUIGridLayo
         if (cell instanceof OriginCell) {
           OriginCell origin = (OriginCell) cell;
           LayoutComponent component = cell.getComponent();
-          if (component instanceof LayoutContainer) {
+          if (component instanceof LayoutContainer && component.isRendered()) {
             LayoutManager layoutManager = ((LayoutContainer) component).getLayoutManager();
             // TODO: may be improved
             boolean childAuto = origin.getSpan(orientation) == 1 && heads[i].getToken() instanceof AutoLayoutToken;
@@ -161,7 +161,7 @@ public abstract class AbstractUIGridLayo
           OriginCell origin = (OriginCell) cell;
           LayoutComponent component = cell.getComponent();
 
-          if (component instanceof LayoutContainer) {
+          if (component instanceof LayoutContainer && component.isRendered()) {
             ((LayoutContainer) component).getLayoutManager().preProcessing(orientation);
           }
 
@@ -313,7 +313,7 @@ public abstract class AbstractUIGridLayo
           }
 
           // call sub layout manager
-          if (component instanceof LayoutContainer) {
+          if (component instanceof LayoutContainer && component.isRendered()) {
             ((LayoutContainer) component).getLayoutManager().mainProcessing(orientation);
           }
         }
@@ -372,7 +372,7 @@ public abstract class AbstractUIGridLayo
           }
 
           // call sub layout manager
-          if (component instanceof LayoutContainer) {
+          if (component instanceof LayoutContainer && component.isRendered()) {
             ((LayoutContainer) component).getLayoutManager().postProcessing(orientation);
           }
 

Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISheetLayout.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISheetLayout.java?rev=1463485&r1=1463484&r2=1463485&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISheetLayout.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISheetLayout.java Tue Apr  2 11:12:27 2013
@@ -63,7 +63,7 @@ public abstract class AbstractUISheetLay
     layoutHeader();
 
     for (LayoutComponent component : getLayoutContainer().getComponents()) {
-      if (component instanceof LayoutContainer) {
+      if (component instanceof LayoutContainer && component.isRendered()) {
         ((LayoutContainer) component).getLayoutManager().init();
       }
     }
@@ -78,7 +78,7 @@ public abstract class AbstractUISheetLay
     }
 
     for (LayoutComponent component : getLayoutContainer().getComponents()) {
-      if (component instanceof LayoutContainer) {
+      if (component instanceof LayoutContainer && component.isRendered()) {
         ((LayoutContainer) component).getLayoutManager().fixRelativeInsideAuto(orientation, auto);
       }
     }
@@ -91,7 +91,7 @@ public abstract class AbstractUISheetLay
     for (LayoutComponent component : getLayoutContainer().getComponents()) {
 
       if (component != null) {
-        if (component instanceof LayoutContainer) {
+        if (component instanceof LayoutContainer && component.isRendered()) {
           ((LayoutContainer) component).getLayoutManager().preProcessing(orientation);
         }
 
@@ -185,7 +185,7 @@ public abstract class AbstractUISheetLay
         }
 
         // call sub layout manager
-        if (component instanceof LayoutContainer) {
+        if (component instanceof LayoutContainer && component.isRendered()) {
           ((LayoutContainer) component).getLayoutManager().postProcessing(orientation);
         }
 

Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUITabGroupLayout.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUITabGroupLayout.java?rev=1463485&r1=1463484&r2=1463485&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUITabGroupLayout.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUITabGroupLayout.java Tue Apr  2 11:12:27 2013
@@ -39,7 +39,7 @@ public abstract class AbstractUITabGroup
 
   public void init() {
     for (LayoutComponent component : getLayoutContainer().getComponents()) {
-      if (component instanceof LayoutContainer) {
+      if (component instanceof LayoutContainer && component.isRendered()) {
         ((LayoutContainer) component).getLayoutManager().init();
       }
     }
@@ -54,7 +54,7 @@ public abstract class AbstractUITabGroup
     }
 
     for (LayoutComponent component : getLayoutContainer().getComponents()) {
-      if (component instanceof LayoutContainer) {
+      if (component instanceof LayoutContainer && component.isRendered()) {
         ((LayoutContainer) component).getLayoutManager().fixRelativeInsideAuto(orientation, auto);
       }
     }
@@ -66,7 +66,7 @@ public abstract class AbstractUITabGroup
     IntervalList intervals = new IntervalList();
     for (LayoutComponent component : getLayoutContainer().getComponents()) {
 
-      if (component instanceof LayoutContainer) {
+      if (component instanceof LayoutContainer && component.isRendered()) {
         ((LayoutContainer) component).getLayoutManager().preProcessing(orientation);
       }
 
@@ -106,7 +106,7 @@ public abstract class AbstractUITabGroup
 
     // call sub layout manager
     for (LayoutComponent component : getLayoutContainer().getComponents()) {
-      if (component instanceof LayoutContainer) {
+      if (component instanceof LayoutContainer && component.isRendered()) {
         ((LayoutContainer) component).getLayoutManager().mainProcessing(orientation);
       }
     }
@@ -117,7 +117,7 @@ public abstract class AbstractUITabGroup
     // set positions to all sub-layout-managers
     for (LayoutComponent component : getLayoutContainer().getComponents()) {
       // call sub layout manager
-      if (component instanceof LayoutContainer) {
+      if (component instanceof LayoutContainer && component.isRendered()) {
         ((LayoutContainer) component).getLayoutManager().postProcessing(orientation);
       }
 

Added: myfaces/tobago/trunk/tobago-example/tobago-example-test/src/main/webapp/test/gridLayout/tobago-1243.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-test/src/main/webapp/test/gridLayout/tobago-1243.xhtml?rev=1463485&view=auto
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-test/src/main/webapp/test/gridLayout/tobago-1243.xhtml (added)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-test/src/main/webapp/test/gridLayout/tobago-1243.xhtml Tue Apr  2 11:12:27 2013
@@ -0,0 +1,51 @@
+<?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.
+-->
+
+<f:view
+    xmlns:tc="http://myfaces.apache.org/tobago/component"
+    xmlns:f="http://java.sun.com/jsf/core">
+  <tc:page id="page">
+
+    <f:facet name="layout">
+      <tc:gridLayout rows="50px;*;*"/>
+    </f:facet>
+
+    <tc:out value="Test, if EL bindings to non initialized beans are not called, when rendererd = false."/>
+
+    <tc:box id="box-1" label="Empty, because rendered=false">
+        <tc:sheet var="row" rendered="false">
+          <tc:column label="Label">
+            <tc:out/>
+          </tc:column>
+        </tc:sheet>
+    </tc:box>
+
+    <tc:box id="box-2" label="A simple box, to test the layout bank assignment">
+      <f:facet name="layout">
+        <tc:gridLayout rows="100px;*"/>
+      </f:facet>
+
+      <tc:textarea value="test 1" id="test-1" rendered="false"/>
+      <tc:textarea value="test 2" id="test-2"/>
+    </tc:box>
+
+    <tc:script file="script/tobago-assert.js"/>
+    <tc:script onload="TobagoAssert.assertLayout('page:test-2', 6, 440, 1011, 321);"/>
+
+  </tc:page>
+</f:view>