You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@empire-db.apache.org by do...@apache.org on 2016/03/03 13:53:31 UTC

empire-db git commit: EMPIREDB-235 suppress render input for read-only records

Repository: empire-db
Updated Branches:
  refs/heads/master f679b306b -> b98c979d1


EMPIREDB-235
suppress render input for read-only records


Project: http://git-wip-us.apache.org/repos/asf/empire-db/repo
Commit: http://git-wip-us.apache.org/repos/asf/empire-db/commit/b98c979d
Tree: http://git-wip-us.apache.org/repos/asf/empire-db/tree/b98c979d
Diff: http://git-wip-us.apache.org/repos/asf/empire-db/diff/b98c979d

Branch: refs/heads/master
Commit: b98c979d1624f22257baedb7bbbc4bbb648d5951
Parents: f679b30
Author: Rainer Döbele <do...@apache.org>
Authored: Thu Mar 3 13:53:24 2016 +0100
Committer: Rainer Döbele <do...@apache.org>
Committed: Thu Mar 3 13:53:24 2016 +0100

----------------------------------------------------------------------
 .../apache/empire/jsf2/components/ControlTag.java  | 17 +++++------------
 .../apache/empire/jsf2/components/InputTag.java    |  2 +-
 .../apache/empire/jsf2/controls/InputControl.java  |  6 ++++--
 3 files changed, 10 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/empire-db/blob/b98c979d/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/ControlTag.java
----------------------------------------------------------------------
diff --git a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/ControlTag.java b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/ControlTag.java
index 0564fea..7abdc10 100644
--- a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/ControlTag.java
+++ b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/ControlTag.java
@@ -492,7 +492,6 @@ public class ControlTag extends UIInput implements NamingContainer
             creatingComponents = true;
             // check children
             int count = parent.getChildCount();
-            boolean resetChildId = (count==0);
             // continue
             this.inpInfo = helper.getInputInfo(context);
             // set required
@@ -500,23 +499,17 @@ public class ControlTag extends UIInput implements NamingContainer
                 super.setRequired(helper.isValueRequired());
 	        // create Input Controls
             // boolean recordReadOnly = helper.isRecordReadOnly();
-            control.renderInput(parent, inpInfo, context);
+            boolean readOnly = helper.isRecordReadOnly();
+            control.renderInput(parent, inpInfo, context, !readOnly);
             // create Value Component
             UIComponent valueComp = (count>0 ? parent.getChildren().get(count-1) : null);
             if (valueComp == null)
             {   // create ValueOutputComponent
                 valueComp = new ValueOutputComponent();
+                valueComp.setRendered(readOnly);
                 parent.getChildren().add(valueComp);
-            }
-            // Walk through the list of controls
-            boolean readOnly = helper.isRecordReadOnly();
-            for (UIComponent child : parent.getChildren())
-            {   // reset child-id
-                if (resetChildId)
-                    helper.resetComponentId(child);
-                // set rendered 
-                boolean rendered = (child instanceof ValueOutputComponent) ? readOnly : !readOnly;
-                child.setRendered(rendered);
+                if (readOnly)
+                    valueComp.encodeAll(context);
             }
         } finally {
             creatingComponents = false;

http://git-wip-us.apache.org/repos/asf/empire-db/blob/b98c979d/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/InputTag.java
----------------------------------------------------------------------
diff --git a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/InputTag.java b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/InputTag.java
index 8450cc8..9bfcdc8 100644
--- a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/InputTag.java
+++ b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/InputTag.java
@@ -162,7 +162,7 @@ public class InputTag extends UIInput implements NamingContainer
             if (hasRequiredFlagSet == false)
                 super.setRequired(helper.isValueRequired());
             // render input
-            control.renderInput(this, inpInfo, context);
+            control.renderInput(this, inpInfo, context, true);
         }
         saveState();
     }

http://git-wip-us.apache.org/repos/asf/empire-db/blob/b98c979d/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/InputControl.java
----------------------------------------------------------------------
diff --git a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/InputControl.java b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/InputControl.java
index 0a35364..da45f39 100644
--- a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/InputControl.java
+++ b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/InputControl.java
@@ -179,7 +179,7 @@ public abstract class InputControl
     }
 
     /* renderInput */ 
-    public void renderInput(UIComponent comp, InputInfo ii, FacesContext context)
+    public void renderInput(UIComponent comp, InputInfo ii, FacesContext context, boolean rendered)
         throws IOException
     {
         boolean resetChildId = comp.getChildren().isEmpty();
@@ -197,7 +197,9 @@ public abstract class InputControl
             if (resetChildId && child.getId()!=null)
                 child.setId(child.getId());
             // encode now
-            child.encodeAll(context);
+            child.setRendered(rendered);
+            if (rendered)
+                child.encodeAll(context);
         }
     }