You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Pavitra Subramaniam (JIRA)" <de...@myfaces.apache.org> on 2010/12/29 23:07:46 UTC
[jira] Updated: (TRINIDAD-1922) In Facelets, Partial Refreshing
Not Working
[ https://issues.apache.org/jira/browse/TRINIDAD-1922?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Pavitra Subramaniam updated TRINIDAD-1922:
------------------------------------------
Status: Patch Available (was: Open)
> In Facelets, Partial Refreshing <tr:inputText> Not Working
> ----------------------------------------------------------
>
> Key: TRINIDAD-1922
> URL: https://issues.apache.org/jira/browse/TRINIDAD-1922
> Project: MyFaces Trinidad
> Issue Type: Bug
> Components: Components
> Affects Versions: 2.0.0.3-core
> Environment: Any browser
> Reporter: Mamallan Uthaman
>
> Trinidad currently has an issue partial refreshing an <tr:inputText>. This problem is specific to facelets where we use JSF Ajax apis. I tested with the latest code from our trunk, and below is my test page:
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
> <ui:composition xmlns:ui="http://java.sun.com/jsf/facelets"
> xmlns:f="http://java.sun.com/jsf/core"
> xmlns:tr="http://myfaces.apache.org/trinidad"
> xmlns:trd="http://myfaces.apache.org/trinidad/demo"
> xmlns:trh="http://myfaces.apache.org/trinidad/html">
> <tr:document id="d1" title="Client Behavior Support">
> <tr:form id="f1">
> <tr:panelHeader text="Ajax Issue"/>
> <tr:panelHorizontalLayout>
> <tr:commandLink text="Press" id="cb1" partialSubmit="true">
> <tr:setActionListener from="Success" to="#{sessionScope.status}"/>
> </tr:commandLink>
> <tr:inputText value="#{sessionScope.status}" partialTriggers="cb1" columns="6"/>
> </tr:panelHorizontalLayout>
> </tr:form>
> </tr:document>
> </ui:composition>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
Re: [jira] Updated: (TRINIDAD-1922) In Facelets, Partial Refreshing
Not Working
Posted by Andrew Robinson <an...@gmail.com>.
+1
On Thu, Dec 30, 2010 at 12:32 PM, Blake Sullivan
<bl...@oracle.com> wrote:
> That sounds fine to me. Anyone disagree?
>
> -- Blake Sullivan
>
> On 12/30/10 10:58 AM, Pavitra Subramaniam wrote:
>>
>> Hello,
>>
>> We discussed this issue a while back and decided that the best solution
>> would be to ensure that the component's client Id be always set on the root
>> DOM element. This change unfortunately is quite pervasive as explained in
>> [1] below.
>>
>> The first patch (uploaded to JIRA issue) I had provided takes the approach
>> of using the clientId actually used by the renderer when building the
>> partial response for the component. If this patch is an acceptable short
>> term fix, can this be committed so at least partial refreshes using JSF 2
>> Ajax is not entirely broken? I can open a related JIRA issue to work on the
>> long term solution.
>>
>> Thanks
>> Pavitra
>>
>> [1]:
>>
>> With patch [2] the DOM structure of all input/select* components changes.
>> So a componend with id="foo" that rendered a DOM that looked like this
>> (pseudo code),
>>
>> <rootDomNode id="foo__xc_>
>> ...
>> <input id="foo">
>> ...
>> </rootDomNode>
>>
>> will become something that looks like this,
>>
>> <rootDomNode id="foo">
>> ...
>> <input id="foo__ct_"> <!-- 'ct' short for content -->
>> ...
>> </rootDomNode>
>>
>> Though simple at first glance this change has a wide impact on most
>> input/select renderers as we need to,
>>
>> - re-wire JS script handlers for most input/select* components to use the
>> new id
>> - rewire <label> nodes to account for change in id
>> - rewire message handlers to use the new id etc.
>>
>>
>> On 12/29/2010 2:07 PM, Pavitra Subramaniam (JIRA) wrote:
>>>
>>> [
>>> https://issues.apache.org/jira/browse/TRINIDAD-1922?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
>>> ]
>>>
>>> Pavitra Subramaniam updated TRINIDAD-1922:
>>> ------------------------------------------
>>>
>>> Status: Patch Available (was: Open)
>>>
>>>> In Facelets, Partial Refreshing<tr:inputText> Not Working
>>>> ----------------------------------------------------------
>>>>
>>>> Key: TRINIDAD-1922
>>>> URL: https://issues.apache.org/jira/browse/TRINIDAD-1922
>>>> Project: MyFaces Trinidad
>>>> Issue Type: Bug
>>>> Components: Components
>>>> Affects Versions: 2.0.0.3-core
>>>> Environment: Any browser
>>>> Reporter: Mamallan Uthaman
>>>>
>>>> Trinidad currently has an issue partial refreshing an<tr:inputText>.
>>>> This problem is specific to facelets where we use JSF Ajax apis. I tested
>>>> with the latest code from our trunk, and below is my test page:
>>>> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
>>>> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
>>>> <ui:composition xmlns:ui="http://java.sun.com/jsf/facelets"
>>>> xmlns:f="http://java.sun.com/jsf/core"
>>>> xmlns:tr="http://myfaces.apache.org/trinidad"
>>>> xmlns:trd="http://myfaces.apache.org/trinidad/demo"
>>>> xmlns:trh="http://myfaces.apache.org/trinidad/html">
>>>> <tr:document id="d1" title="Client Behavior Support">
>>>> <tr:form id="f1">
>>>> <tr:panelHeader text="Ajax Issue"/>
>>>> <tr:panelHorizontalLayout>
>>>> <tr:commandLink text="Press" id="cb1" partialSubmit="true">
>>>> <tr:setActionListener from="Success" to="#{sessionScope.status}"/>
>>>> </tr:commandLink>
>>>> <tr:inputText value="#{sessionScope.status}" partialTriggers="cb1"
>>>> columns="6"/>
>>>> </tr:panelHorizontalLayout>
>>>> </tr:form>
>>>> </tr:document>
>>>> </ui:composition>
>
>
Re: [jira] Updated: (TRINIDAD-1922) In Facelets, Partial Refreshing
Not Working
Posted by Blake Sullivan <bl...@oracle.com>.
That sounds fine to me. Anyone disagree?
-- Blake Sullivan
On 12/30/10 10:58 AM, Pavitra Subramaniam wrote:
> Hello,
>
> We discussed this issue a while back and decided that the best
> solution would be to ensure that the component's client Id be always
> set on the root DOM element. This change unfortunately is quite
> pervasive as explained in [1] below.
>
> The first patch (uploaded to JIRA issue) I had provided takes the
> approach of using the clientId actually used by the renderer when
> building the partial response for the component. If this patch is an
> acceptable short term fix, can this be committed so at least partial
> refreshes using JSF 2 Ajax is not entirely broken? I can open a
> related JIRA issue to work on the long term solution.
>
> Thanks
> Pavitra
>
> [1]:
>
> With patch [2] the DOM structure of all input/select* components
> changes. So a componend with id="foo" that rendered a DOM that looked
> like this (pseudo code),
>
> <rootDomNode id="foo__xc_>
> ...
> <input id="foo">
> ...
> </rootDomNode>
>
> will become something that looks like this,
>
> <rootDomNode id="foo">
> ...
> <input id="foo__ct_"> <!-- 'ct' short for content -->
> ...
> </rootDomNode>
>
> Though simple at first glance this change has a wide impact on most
> input/select renderers as we need to,
>
> - re-wire JS script handlers for most input/select* components to
> use the new id
> - rewire <label> nodes to account for change in id
> - rewire message handlers to use the new id etc.
>
>
> On 12/29/2010 2:07 PM, Pavitra Subramaniam (JIRA) wrote:
>> [
>> https://issues.apache.org/jira/browse/TRINIDAD-1922?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
>> ]
>>
>> Pavitra Subramaniam updated TRINIDAD-1922:
>> ------------------------------------------
>>
>> Status: Patch Available (was: Open)
>>
>>> In Facelets, Partial Refreshing<tr:inputText> Not Working
>>> ----------------------------------------------------------
>>>
>>> Key: TRINIDAD-1922
>>> URL:
>>> https://issues.apache.org/jira/browse/TRINIDAD-1922
>>> Project: MyFaces Trinidad
>>> Issue Type: Bug
>>> Components: Components
>>> Affects Versions: 2.0.0.3-core
>>> Environment: Any browser
>>> Reporter: Mamallan Uthaman
>>>
>>> Trinidad currently has an issue partial refreshing an<tr:inputText>.
>>> This problem is specific to facelets where we use JSF Ajax apis. I
>>> tested with the latest code from our trunk, and below is my test page:
>>> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
>>> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
>>> <ui:composition xmlns:ui="http://java.sun.com/jsf/facelets"
>>> xmlns:f="http://java.sun.com/jsf/core"
>>> xmlns:tr="http://myfaces.apache.org/trinidad"
>>> xmlns:trd="http://myfaces.apache.org/trinidad/demo"
>>> xmlns:trh="http://myfaces.apache.org/trinidad/html">
>>> <tr:document id="d1" title="Client Behavior Support">
>>> <tr:form id="f1">
>>> <tr:panelHeader text="Ajax Issue"/>
>>> <tr:panelHorizontalLayout>
>>> <tr:commandLink text="Press" id="cb1" partialSubmit="true">
>>> <tr:setActionListener from="Success" to="#{sessionScope.status}"/>
>>> </tr:commandLink>
>>> <tr:inputText value="#{sessionScope.status}" partialTriggers="cb1"
>>> columns="6"/>
>>> </tr:panelHorizontalLayout>
>>> </tr:form>
>>> </tr:document>
>>> </ui:composition>
Re: [jira] Updated: (TRINIDAD-1922) In Facelets, Partial Refreshing
Not Working
Posted by Pavitra Subramaniam <pa...@oracle.com>.
Thanks Blake! I noticed you also made the change to clirr-runner.txt :).
Thanks for catching that too!
- Pavitra
On 12/30/2010 3:58 PM, Blake Sullivan wrote:
> OK. It is committed.
>
> -- Blake
>
> On 12/30/10 10:58 AM, Pavitra Subramaniam wrote:
>> Hello,
>>
>> We discussed this issue a while back and decided that the best
>> solution would be to ensure that the component's client Id be always
>> set on the root DOM element. This change unfortunately is quite
>> pervasive as explained in [1] below.
>>
>> The first patch (uploaded to JIRA issue) I had provided takes the
>> approach of using the clientId actually used by the renderer when
>> building the partial response for the component. If this patch is an
>> acceptable short term fix, can this be committed so at least partial
>> refreshes using JSF 2 Ajax is not entirely broken? I can open a
>> related JIRA issue to work on the long term solution.
>>
>> Thanks
>> Pavitra
>>
>> [1]:
>>
>> With patch [2] the DOM structure of all input/select* components
>> changes. So a componend with id="foo" that rendered a DOM that looked
>> like this (pseudo code),
>>
>> <rootDomNode id="foo__xc_>
>> ...
>> <input id="foo">
>> ...
>> </rootDomNode>
>>
>> will become something that looks like this,
>>
>> <rootDomNode id="foo">
>> ...
>> <input id="foo__ct_"> <!-- 'ct' short for content -->
>> ...
>> </rootDomNode>
>>
>> Though simple at first glance this change has a wide impact on most
>> input/select renderers as we need to,
>>
>> - re-wire JS script handlers for most input/select* components to
>> use the new id
>> - rewire <label> nodes to account for change in id
>> - rewire message handlers to use the new id etc.
>>
>>
>> On 12/29/2010 2:07 PM, Pavitra Subramaniam (JIRA) wrote:
>>> [
>>> https://issues.apache.org/jira/browse/TRINIDAD-1922?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
>>> ]
>>>
>>> Pavitra Subramaniam updated TRINIDAD-1922:
>>> ------------------------------------------
>>>
>>> Status: Patch Available (was: Open)
>>>
>>>> In Facelets, Partial Refreshing<tr:inputText> Not Working
>>>> ----------------------------------------------------------
>>>>
>>>> Key: TRINIDAD-1922
>>>> URL:
>>>> https://issues.apache.org/jira/browse/TRINIDAD-1922
>>>> Project: MyFaces Trinidad
>>>> Issue Type: Bug
>>>> Components: Components
>>>> Affects Versions: 2.0.0.3-core
>>>> Environment: Any browser
>>>> Reporter: Mamallan Uthaman
>>>>
>>>> Trinidad currently has an issue partial refreshing
>>>> an<tr:inputText>. This problem is specific to facelets where we use
>>>> JSF Ajax apis. I tested with the latest code from our trunk, and
>>>> below is my test page:
>>>> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
>>>> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
>>>> <ui:composition xmlns:ui="http://java.sun.com/jsf/facelets"
>>>> xmlns:f="http://java.sun.com/jsf/core"
>>>> xmlns:tr="http://myfaces.apache.org/trinidad"
>>>> xmlns:trd="http://myfaces.apache.org/trinidad/demo"
>>>> xmlns:trh="http://myfaces.apache.org/trinidad/html">
>>>> <tr:document id="d1" title="Client Behavior Support">
>>>> <tr:form id="f1">
>>>> <tr:panelHeader text="Ajax Issue"/>
>>>> <tr:panelHorizontalLayout>
>>>> <tr:commandLink text="Press" id="cb1" partialSubmit="true">
>>>> <tr:setActionListener from="Success" to="#{sessionScope.status}"/>
>>>> </tr:commandLink>
>>>> <tr:inputText value="#{sessionScope.status}" partialTriggers="cb1"
>>>> columns="6"/>
>>>> </tr:panelHorizontalLayout>
>>>> </tr:form>
>>>> </tr:document>
>>>> </ui:composition>
>
Re: [jira] Updated: (TRINIDAD-1922) In Facelets, Partial Refreshing
Not Working
Posted by Blake Sullivan <bl...@oracle.com>.
OK. It is committed.
-- Blake
On 12/30/10 10:58 AM, Pavitra Subramaniam wrote:
> Hello,
>
> We discussed this issue a while back and decided that the best
> solution would be to ensure that the component's client Id be always
> set on the root DOM element. This change unfortunately is quite
> pervasive as explained in [1] below.
>
> The first patch (uploaded to JIRA issue) I had provided takes the
> approach of using the clientId actually used by the renderer when
> building the partial response for the component. If this patch is an
> acceptable short term fix, can this be committed so at least partial
> refreshes using JSF 2 Ajax is not entirely broken? I can open a
> related JIRA issue to work on the long term solution.
>
> Thanks
> Pavitra
>
> [1]:
>
> With patch [2] the DOM structure of all input/select* components
> changes. So a componend with id="foo" that rendered a DOM that looked
> like this (pseudo code),
>
> <rootDomNode id="foo__xc_>
> ...
> <input id="foo">
> ...
> </rootDomNode>
>
> will become something that looks like this,
>
> <rootDomNode id="foo">
> ...
> <input id="foo__ct_"> <!-- 'ct' short for content -->
> ...
> </rootDomNode>
>
> Though simple at first glance this change has a wide impact on most
> input/select renderers as we need to,
>
> - re-wire JS script handlers for most input/select* components to
> use the new id
> - rewire <label> nodes to account for change in id
> - rewire message handlers to use the new id etc.
>
>
> On 12/29/2010 2:07 PM, Pavitra Subramaniam (JIRA) wrote:
>> [
>> https://issues.apache.org/jira/browse/TRINIDAD-1922?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
>> ]
>>
>> Pavitra Subramaniam updated TRINIDAD-1922:
>> ------------------------------------------
>>
>> Status: Patch Available (was: Open)
>>
>>> In Facelets, Partial Refreshing<tr:inputText> Not Working
>>> ----------------------------------------------------------
>>>
>>> Key: TRINIDAD-1922
>>> URL:
>>> https://issues.apache.org/jira/browse/TRINIDAD-1922
>>> Project: MyFaces Trinidad
>>> Issue Type: Bug
>>> Components: Components
>>> Affects Versions: 2.0.0.3-core
>>> Environment: Any browser
>>> Reporter: Mamallan Uthaman
>>>
>>> Trinidad currently has an issue partial refreshing an<tr:inputText>.
>>> This problem is specific to facelets where we use JSF Ajax apis. I
>>> tested with the latest code from our trunk, and below is my test page:
>>> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
>>> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
>>> <ui:composition xmlns:ui="http://java.sun.com/jsf/facelets"
>>> xmlns:f="http://java.sun.com/jsf/core"
>>> xmlns:tr="http://myfaces.apache.org/trinidad"
>>> xmlns:trd="http://myfaces.apache.org/trinidad/demo"
>>> xmlns:trh="http://myfaces.apache.org/trinidad/html">
>>> <tr:document id="d1" title="Client Behavior Support">
>>> <tr:form id="f1">
>>> <tr:panelHeader text="Ajax Issue"/>
>>> <tr:panelHorizontalLayout>
>>> <tr:commandLink text="Press" id="cb1" partialSubmit="true">
>>> <tr:setActionListener from="Success" to="#{sessionScope.status}"/>
>>> </tr:commandLink>
>>> <tr:inputText value="#{sessionScope.status}" partialTriggers="cb1"
>>> columns="6"/>
>>> </tr:panelHorizontalLayout>
>>> </tr:form>
>>> </tr:document>
>>> </ui:composition>
Re: [jira] Updated: (TRINIDAD-1922) In Facelets, Partial Refreshing
Not Working
Posted by Pavitra Subramaniam <pa...@oracle.com>.
Hello,
We discussed this issue a while back and decided that the best solution
would be to ensure that the component's client Id be always set on the
root DOM element. This change unfortunately is quite pervasive as
explained in [1] below.
The first patch (uploaded to JIRA issue) I had provided takes the
approach of using the clientId actually used by the renderer when
building the partial response for the component. If this patch is an
acceptable short term fix, can this be committed so at least partial
refreshes using JSF 2 Ajax is not entirely broken? I can open a related
JIRA issue to work on the long term solution.
Thanks
Pavitra
[1]:
With patch [2] the DOM structure of all input/select* components
changes. So a componend with id="foo" that rendered a DOM that looked
like this (pseudo code),
<rootDomNode id="foo__xc_>
...
<input id="foo">
...
</rootDomNode>
will become something that looks like this,
<rootDomNode id="foo">
...
<input id="foo__ct_"> <!-- 'ct' short for content -->
...
</rootDomNode>
Though simple at first glance this change has a wide impact on most
input/select renderers as we need to,
- re-wire JS script handlers for most input/select* components to use
the new id
- rewire <label> nodes to account for change in id
- rewire message handlers to use the new id etc.
On 12/29/2010 2:07 PM, Pavitra Subramaniam (JIRA) wrote:
> [ https://issues.apache.org/jira/browse/TRINIDAD-1922?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
>
> Pavitra Subramaniam updated TRINIDAD-1922:
> ------------------------------------------
>
> Status: Patch Available (was: Open)
>
>
>> In Facelets, Partial Refreshing<tr:inputText> Not Working
>> ----------------------------------------------------------
>>
>> Key: TRINIDAD-1922
>> URL: https://issues.apache.org/jira/browse/TRINIDAD-1922
>> Project: MyFaces Trinidad
>> Issue Type: Bug
>> Components: Components
>> Affects Versions: 2.0.0.3-core
>> Environment: Any browser
>> Reporter: Mamallan Uthaman
>>
>> Trinidad currently has an issue partial refreshing an<tr:inputText>. This problem is specific to facelets where we use JSF Ajax apis. I tested with the latest code from our trunk, and below is my test page:
>> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
>> <ui:composition xmlns:ui="http://java.sun.com/jsf/facelets"
>> xmlns:f="http://java.sun.com/jsf/core"
>> xmlns:tr="http://myfaces.apache.org/trinidad"
>> xmlns:trd="http://myfaces.apache.org/trinidad/demo"
>> xmlns:trh="http://myfaces.apache.org/trinidad/html">
>> <tr:document id="d1" title="Client Behavior Support">
>> <tr:form id="f1">
>> <tr:panelHeader text="Ajax Issue"/>
>> <tr:panelHorizontalLayout>
>> <tr:commandLink text="Press" id="cb1" partialSubmit="true">
>> <tr:setActionListener from="Success" to="#{sessionScope.status}"/>
>> </tr:commandLink>
>> <tr:inputText value="#{sessionScope.status}" partialTriggers="cb1" columns="6"/>
>> </tr:panelHorizontalLayout>
>> </tr:form>
>> </tr:document>
>> </ui:composition>
>>
>