ICEfaces
  1. ICEfaces
  2. ICE-5717

Customized renderer for UIDebug component

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.0-Alpha2
    • Fix Version/s: 2.0-Alpha3, 2.0.0
    • Component/s: Framework, ICE-Components
    • Labels:
      None
    • Environment:
      ICEfaces 2 JSF 2
    • Affects:
      Documentation (User Guide, Ref. Guide, etc.), Compatibility/Configuration

      Description

      As of Mojarra 2.0.2, the ui:debug component causes difficulty for ICEfaces due to the fact that it typically lives as a child of the body without an id. This leads to ViewBody updates when they may not be necessary as the script dynamically changes. We should override the renderer to provide a containing component (e.g. span) with an id.

        Issue Links

          Activity

          Deryk Sinotte created issue -
          Deryk Sinotte made changes -
          Field Original Value New Value
          Salesforce Case []
          Fix Version/s 2.0-Alpha3 [ 10032 ]
          Assignee Priority P1
          Deryk Sinotte made changes -
          Link This issue blocks ICE-5645 [ ICE-5645 ]
          Deryk Sinotte made changes -
          Link This issue depends on ICE-5659 [ ICE-5659 ]
          Deryk Sinotte made changes -
          Link This issue depends on ICE-5659 [ ICE-5659 ]
          Deryk Sinotte made changes -
          Link This issue blocks ICE-5659 [ ICE-5659 ]
          Deryk Sinotte made changes -
          Assignee Judy Guglielmin [ judy.guglielmin ]
          Ken Fyten made changes -
          Salesforce Case []
          Affects [Documentation (User Guide, Ref. Guide, etc.), Compatibility/Configuration]
          Hide
          Judy Guglielmin added a comment -

          markup without panelgroup around the <ui:debug> tag:-

          <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
          <html xmlns="http://www.w3.org/1999/xhtml"><head>
          <meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type" />
          <title>ICEfaces Ajax</title><script src="/debugtag/javax.faces.resource/jsf.js.jsf?ln=javax.faces&stage=Development" type="text/javascript"></script><script src="/debugtag/javax.faces.resource/bridge.js.jsf?a15523980" type="text/javascript"></script></head><body><script language="javascript" type="text/javascript">
          //<![CDATA[
          function faceletsDebug(URL)

          { day = new Date(); id = day.getTime(); eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=800,height=600,left = 240,top = 212');"); };var faceletsOrigKeyup = document.onkeyup; document.onkeyup = function(e) { if (window.event) e = window.event; if (String.fromCharCode(e.keyCode) == 'P' & e.shiftKey & e.ctrlKey) faceletsDebug('/debugtag/icefaces.jsf?facelets.ui.DebugOutput=1273866987816'); else if (faceletsOrigKeyup) faceletsOrigKeyup(e); };
          //]]>
          </script>

          <form action="/debugtag/icefaces.jsf" enctype="application/x-www-form-urlencoded" id="form1" method="post" name="form1">
          <input name="form1" type="hidden" value="form1" />
          ...

          markup with panelgroup surrounding <ui:debug> tag:_
          <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
          <html xmlns="http://www.w3.org/1999/xhtml"><head>
          <meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type" />
          <title>ICEfaces Ajax</title><script src="/debugtag/javax.faces.resource/jsf.js.jsf?ln=javax.faces&stage=Development" type="text/javascript"></script><script src="/debugtag/javax.faces.resource/bridge.js.jsf?a2949976" type="text/javascript"></script></head><body><span id="debugId"><script language="javascript" type="text/javascript">
          //<![CDATA[
          function faceletsDebug(URL) { day = new Date(); id = day.getTime(); eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=800,height=600,left = 240,top = 212');"); }

          ;var faceletsOrigKeyup = document.onkeyup; document.onkeyup = function(e)

          { if (window.event) e = window.event; if (String.fromCharCode(e.keyCode) == 'P' & e.shiftKey & e.ctrlKey) faceletsDebug('/debugtag/icefaces.jsf?facelets.ui.DebugOutput=1273871183676'); else if (faceletsOrigKeyup) faceletsOrigKeyup(e); }

          ;
          //]]>
          </script>
          </span>
          <form action="/debugtag/icefaces.jsf" enctype="application/x-www-form-urlencoded" id="form1" method="post" name="form1">
          <input name="form1" type="hidden" value="form1" />

          Show
          Judy Guglielmin added a comment - markup without panelgroup around the <ui:debug> tag:- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"><head> <meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type" /> <title>ICEfaces Ajax</title><script src="/debugtag/javax.faces.resource/jsf.js.jsf?ln=javax.faces&stage=Development" type="text/javascript"></script><script src="/debugtag/javax.faces.resource/bridge.js.jsf?a15523980" type="text/javascript"></script></head><body><script language="javascript" type="text/javascript"> //<![CDATA[ function faceletsDebug(URL) { day = new Date(); id = day.getTime(); eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=800,height=600,left = 240,top = 212');"); };var faceletsOrigKeyup = document.onkeyup; document.onkeyup = function(e) { if (window.event) e = window.event; if (String.fromCharCode(e.keyCode) == 'P' & e.shiftKey & e.ctrlKey) faceletsDebug('/debugtag/icefaces.jsf?facelets.ui.DebugOutput=1273866987816'); else if (faceletsOrigKeyup) faceletsOrigKeyup(e); }; //]]> </script> <form action="/debugtag/icefaces.jsf" enctype="application/x-www-form-urlencoded" id="form1" method="post" name="form1"> <input name="form1" type="hidden" value="form1" /> ... markup with panelgroup surrounding <ui:debug> tag:_ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"><head> <meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type" /> <title>ICEfaces Ajax</title><script src="/debugtag/javax.faces.resource/jsf.js.jsf?ln=javax.faces&stage=Development" type="text/javascript"></script><script src="/debugtag/javax.faces.resource/bridge.js.jsf?a2949976" type="text/javascript"></script></head><body><span id="debugId"><script language="javascript" type="text/javascript"> //<![CDATA[ function faceletsDebug(URL) { day = new Date(); id = day.getTime(); eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=800,height=600,left = 240,top = 212');"); } ;var faceletsOrigKeyup = document.onkeyup; document.onkeyup = function(e) { if (window.event) e = window.event; if (String.fromCharCode(e.keyCode) == 'P' & e.shiftKey & e.ctrlKey) faceletsDebug('/debugtag/icefaces.jsf?facelets.ui.DebugOutput=1273871183676'); else if (faceletsOrigKeyup) faceletsOrigKeyup(e); } ; //]]> </script> </span> <form action="/debugtag/icefaces.jsf" enctype="application/x-www-form-urlencoded" id="form1" method="post" name="form1"> <input name="form1" type="hidden" value="form1" />
          Hide
          Judy Guglielmin added a comment -

          without any debug tag (with or without panelGroup> :-

          <html xmlns="http://www.w3.org/1999/xhtml"><head>
          <meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type" />
          <title>ICEfaces Ajax</title><script src="/debugtag/javax.faces.resource/jsf.js.jsf?ln=javax.faces&stage=Development" type="text/javascript"></script><script src="/debugtag/javax.faces.resource/bridge.js.jsf?a1768851" type="text/javascript"></script></head><body>

          <form action="/debugtag/icefaces.jsf" enctype="application/x-www-form-urlencoded" id="form1" method="post" name="form1">
          <input name="form1" type="hidden" value="form1" />

          Show
          Judy Guglielmin added a comment - without any debug tag (with or without panelGroup> :- <html xmlns="http://www.w3.org/1999/xhtml"><head> <meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type" /> <title>ICEfaces Ajax</title><script src="/debugtag/javax.faces.resource/jsf.js.jsf?ln=javax.faces&stage=Development" type="text/javascript"></script><script src="/debugtag/javax.faces.resource/bridge.js.jsf?a1768851" type="text/javascript"></script></head><body> <form action="/debugtag/icefaces.jsf" enctype="application/x-www-form-urlencoded" id="form1" method="post" name="form1"> <input name="form1" type="hidden" value="form1" />
          Hide
          Judy Guglielmin added a comment -

          Based on this, the following markup is required to be surrounded by a span:-

          <span id="xxx"><script language="javascript" type="text/javascript">
          //<![CDATA[
          function faceletsDebug(URL)

          { day = new Date(); id = day.getTime(); eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=800,height=600,left = 240,top = 212');"); }

          ;var faceletsOrigKeyup = document.onkeyup; document.onkeyup = function(e)

          { if (window.event) e = window.event; if (String.fromCharCode(e.keyCode) == 'P' & e.shiftKey & e.ctrlKey) faceletsDebug('/debugtag/icefaces.jsf?facelets.ui.DebugOutput=1273871183676'); else if (faceletsOrigKeyup) faceletsOrigKeyup(e); }

          ;
          //]]>
          </script>
          </span>

          Show
          Judy Guglielmin added a comment - Based on this, the following markup is required to be surrounded by a span:- <span id="xxx"><script language="javascript" type="text/javascript"> //<![CDATA[ function faceletsDebug(URL) { day = new Date(); id = day.getTime(); eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=800,height=600,left = 240,top = 212');"); } ;var faceletsOrigKeyup = document.onkeyup; document.onkeyup = function(e) { if (window.event) e = window.event; if (String.fromCharCode(e.keyCode) == 'P' & e.shiftKey & e.ctrlKey) faceletsDebug('/debugtag/icefaces.jsf?facelets.ui.DebugOutput=1273871183676'); else if (faceletsOrigKeyup) faceletsOrigKeyup(e); } ; //]]> </script> </span>
          Hide
          Judy Guglielmin added a comment -

          component tree with panelGroup around debug tag:-
          <HtmlPanelGroup id="_t6" inView="true" rendered="true" transient="false">

          <UIDebug hotkey="P" id="j_idt7" inView="true" rendered="true" transient="true"/>

          </HtmlPanelGroup>

          will have to manipulate the tree in PreRenderViewEvent using SystemEventListener in order to remove debug tag, insert panelGroup tag and then re-inserting debug tag. (make all transient).

          Show
          Judy Guglielmin added a comment - component tree with panelGroup around debug tag:- <HtmlPanelGroup id="_t6" inView="true" rendered="true" transient="false"> <UIDebug hotkey="P" id="j_idt7" inView="true" rendered="true" transient="true"/> </HtmlPanelGroup> will have to manipulate the tree in PreRenderViewEvent using SystemEventListener in order to remove debug tag, insert panelGroup tag and then re-inserting debug tag. (make all transient).
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #21445 Tue May 18 15:26:52 MDT 2010 judy.guglielmin ICE-5717...addition of panelGroup around ui:debug tag if there isn't one already.
          Files Changed
          Commit graph MODIFY /icefaces/scratchpads/glimmer/core/src/main/resources/META-INF/faces-config.xml
          Commit graph ADD /icefaces/scratchpads/glimmer/core/src/main/java/org/icefaces/event/DebugTagListener.java
          Hide
          Judy Guglielmin added a comment -

          resolved with DebugTagListener class.

          Show
          Judy Guglielmin added a comment - resolved with DebugTagListener class.
          Judy Guglielmin made changes -
          Status Open [ 1 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          Ken Fyten made changes -
          Issue Type Improvement [ 4 ] New Feature [ 2 ]
          Salesforce Case []
          Ken Fyten made changes -
          Issue Type New Feature [ 2 ] Improvement [ 4 ]
          Salesforce Case []
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #21578 Mon May 31 14:51:26 MDT 2010 judy.guglielmin ICE-5717. updated for tomcat6 profile
          Files Changed
          Commit graph MODIFY /icefaces/scratchpads/glimmer/compat/samples/component-showcase/pom.xml
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #21617 Wed Jun 02 09:00:50 MDT 2010 judy.guglielmin ICE-5717 fixed reference to jsf version (2.0.2-FCS was 2.0.2.FCS)
          Files Changed
          Commit graph MODIFY /maven2/snapshots/org/icefaces/icefaces/2.0-A3/icefaces-2.0-A3.pom
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #21618 Wed Jun 02 09:15:18 MDT 2010 judy.guglielmin ICE-5717 fix jsf version from 2.0.2.FCS to 2.0.2-FCS (listed on maven central repo)
          Files Changed
          Commit graph MODIFY /icefaces/scratchpads/glimmer/maven2/icefaces.pom
          Commit graph MODIFY /icefaces/scratchpads/glimmer/compat/samples/auctionMonitor/pom.xml
          Commit graph MODIFY /icefaces/scratchpads/glimmer/compat/samples/component-showcase/pom.xml
          Commit graph MODIFY /icefaces/scratchpads/glimmer/samples/auction/pom.xml
          Commit graph MODIFY /icefaces/scratchpads/glimmer/samples/basic/pom.xml
          Commit graph MODIFY /icefaces/scratchpads/glimmer/compat/samples/compat-basic/pom.xml
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #21684 Mon Jun 07 13:59:32 MDT 2010 judy.guglielmin ICE-5717 place jsf dependency jars in snapshots repository for use in building sample apps with maven-only until the dependent jsf jars are available on central maven repo
          Files Changed
          Commit graph ADD /maven2/snapshots/javax
          Commit graph ADD /maven2/snapshots/javax/faces/jsf-api/2.0.2-FCS/jsf-api-2.0.2-FCS.pom
          Commit graph ADD /maven2/snapshots/javax/faces
          Commit graph ADD /maven2/snapshots/javax/faces/jsf-impl/2.0.2-FCS/jsf-impl-2.0.2-FCS.pom
          Commit graph ADD /maven2/snapshots/javax/faces/jsf-api
          Commit graph ADD /maven2/snapshots/javax/faces/jsf-impl/2.0.2-FCS/jsf-impl-2.0.2-FCS.jar
          Commit graph ADD /maven2/snapshots/javax/faces/jsf-impl/2.0.2-FCS
          Commit graph ADD /maven2/snapshots/javax/faces/jsf-api/2.0.2-FCS/jsf-api-2.0.2-FCS.jar
          Commit graph ADD /maven2/snapshots/javax/faces/jsf-impl
          Commit graph ADD /maven2/snapshots/javax/faces/jsf-api/2.0.2-FCS
          Ken Fyten made changes -
          Fix Version/s 2.0.0 [ 10230 ]
          Ken Fyten made changes -
          Status Resolved [ 5 ] Closed [ 6 ]
          Assignee Priority P1

            People

            • Assignee:
              Judy Guglielmin
              Reporter:
              Deryk Sinotte
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: