Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Won't Fix
-
Affects Version/s: 3.1
-
Fix Version/s: EE-3.0.0.GA_P01
-
Component/s: ACE-Components
-
Labels:None
-
Environment:ICEfaces 3.1, Chrome, Firefox, Internet Explorer 7/8/9
-
Workaround Exists:Yes
-
Workaround Description:Wrap the contents of the input facet in a single h:panelGroup.
Description
Issue description:
When entering text in the inputText, the request is sent, but the value is never set in the model. This only happens when you add something beneath the panelGroup. In the attached example it is the letter 't'. The panelGroup component is somehow lost in the restore view phase, the value is then not set in the apply request phase. This bug prevents usage of two consecutive panelGroups in a cellEditor.
To reproduce use the application attached to this ticket.
Editable data table source:
<ace:dataTable id="carTable"
value="#{dataTableRowEditing.cars}"
var="car">
<ace:column id="name" headerText="Name">
<ace:cellEditor>
<f:facet name="output">
<h:outputText id="nameCell" value="#{car.name}"/>
</f:facet>
<f:facet name="input">
<h:panelGroup id="nameInput_pg">
<h:inputText id="nameInput" value="#{car.name}">
<ace:ajax execute="nameInput" render="nameInput_pg" />
</h:inputText>
</h:panelGroup>
<!-- remove this to get nameInput working -->
t
</f:facet>
</ace:cellEditor>
</ace:column>
<ace:column id="chassis" headerText="Chassis">
....
</ace:column>
<ace:column id="weight" headerText="Weight (lbs)">
....
</ace:column>
<ace:column id="options" headerText="Options">
<ace:rowEditor id="editor"/>
</ace:column>
</ace:dataTable>
When entering text in the inputText, the request is sent, but the value is never set in the model. This only happens when you add something beneath the panelGroup. In the attached example it is the letter 't'. The panelGroup component is somehow lost in the restore view phase, the value is then not set in the apply request phase. This bug prevents usage of two consecutive panelGroups in a cellEditor.
To reproduce use the application attached to this ticket.
Editable data table source:
<ace:dataTable id="carTable"
value="#{dataTableRowEditing.cars}"
var="car">
<ace:column id="name" headerText="Name">
<ace:cellEditor>
<f:facet name="output">
<h:outputText id="nameCell" value="#{car.name}"/>
</f:facet>
<f:facet name="input">
<h:panelGroup id="nameInput_pg">
<h:inputText id="nameInput" value="#{car.name}">
<ace:ajax execute="nameInput" render="nameInput_pg" />
</h:inputText>
</h:panelGroup>
<!-- remove this to get nameInput working -->
t
</f:facet>
</ace:cellEditor>
</ace:column>
<ace:column id="chassis" headerText="Chassis">
....
</ace:column>
<ace:column id="weight" headerText="Weight (lbs)">
....
</ace:column>
<ace:column id="options" headerText="Options">
<ace:rowEditor id="editor"/>
</ace:column>
</ace:dataTable>
Activity
Evgheni Sadovoi
created issue -
Evgheni Sadovoi
made changes -
Field | Original Value | New Value |
---|---|---|
Salesforce Case | [5007000000NHb0N] |
Evgheni Sadovoi
made changes -
Attachment | sourceSample.rar [ 14766 ] |
Evgheni Sadovoi
made changes -
Description |
To reproduce use the application attached to this ticket. Issue description: When entering text in the inputText, the request is sent, but the value never is set in the model. This only happens when you add something beneath the panelGroup. In the attached example it is the letter 't'. The panelGroup component is somehow lost in the restore view phase, the value is then not set in the apply request phase. This bug prevents usage of two consecutive panelGroups in a cellEditor. NOTE: This bug is also reproducible with our latest build from SVN (rev#30357) |
To reproduce use the application attached to this ticket. Issue description: When entering text in the inputText, the request is sent, but the value is never set in the model. This only happens when you add something beneath the panelGroup. In the attached example it is the letter 't'. The panelGroup component is somehow lost in the restore view phase, the value is then not set in the apply request phase. This bug prevents usage of two consecutive panelGroups in a cellEditor. editable data table source: <ace:dataTable id="carTable" value="#{dataTableRowEditing.cars}" var="car"> <ace:column id="name" headerText="Name"> <ace:cellEditor> <f:facet name="output"> <h:outputText id="nameCell" value="#{car.name}"/> </f:facet> <f:facet name="input"> <h:panelGroup id="nameInput_pg"> <h:inputText id="nameInput" value="#{car.name}"> <ace:ajax execute="nameInput" render="nameInput_pg" /> </h:inputText> </h:panelGroup> <!-- remove this to get nameInput working --> t </f:facet> </ace:cellEditor> </ace:column> <ace:column id="chassis" headerText="Chassis"> .... </ace:column> <ace:column id="weight" headerText="Weight (lbs)"> .... </ace:column> <ace:column id="options" headerText="Options"> <ace:rowEditor id="editor"/> </ace:column> </ace:dataTable> |
Evgheni Sadovoi
made changes -
Description |
To reproduce use the application attached to this ticket. Issue description: When entering text in the inputText, the request is sent, but the value is never set in the model. This only happens when you add something beneath the panelGroup. In the attached example it is the letter 't'. The panelGroup component is somehow lost in the restore view phase, the value is then not set in the apply request phase. This bug prevents usage of two consecutive panelGroups in a cellEditor. editable data table source: <ace:dataTable id="carTable" value="#{dataTableRowEditing.cars}" var="car"> <ace:column id="name" headerText="Name"> <ace:cellEditor> <f:facet name="output"> <h:outputText id="nameCell" value="#{car.name}"/> </f:facet> <f:facet name="input"> <h:panelGroup id="nameInput_pg"> <h:inputText id="nameInput" value="#{car.name}"> <ace:ajax execute="nameInput" render="nameInput_pg" /> </h:inputText> </h:panelGroup> <!-- remove this to get nameInput working --> t </f:facet> </ace:cellEditor> </ace:column> <ace:column id="chassis" headerText="Chassis"> .... </ace:column> <ace:column id="weight" headerText="Weight (lbs)"> .... </ace:column> <ace:column id="options" headerText="Options"> <ace:rowEditor id="editor"/> </ace:column> </ace:dataTable> |
Issue description: When entering text in the inputText, the request is sent, but the value is never set in the model. This only happens when you add something beneath the panelGroup. In the attached example it is the letter 't'. The panelGroup component is somehow lost in the restore view phase, the value is then not set in the apply request phase. This bug prevents usage of two consecutive panelGroups in a cellEditor. To reproduce use the application attached to this ticket. Editable data table source: <ace:dataTable id="carTable" value="#{dataTableRowEditing.cars}" var="car"> <ace:column id="name" headerText="Name"> <ace:cellEditor> <f:facet name="output"> <h:outputText id="nameCell" value="#{car.name}"/> </f:facet> <f:facet name="input"> <h:panelGroup id="nameInput_pg"> <h:inputText id="nameInput" value="#{car.name}"> <ace:ajax execute="nameInput" render="nameInput_pg" /> </h:inputText> </h:panelGroup> <!-- remove this to get nameInput working --> t </f:facet> </ace:cellEditor> </ace:column> <ace:column id="chassis" headerText="Chassis"> .... </ace:column> <ace:column id="weight" headerText="Weight (lbs)"> .... </ace:column> <ace:column id="options" headerText="Options"> <ace:rowEditor id="editor"/> </ace:column> </ace:dataTable> |
Evgheni Sadovoi
made changes -
Attachment | sourceCodeSample.rar [ 14767 ] |
Evgheni Sadovoi
made changes -
Attachment | sourceSample.rar [ 14766 ] |
Evgheni Sadovoi
made changes -
Attachment | sourceCodeSample.rar [ 14767 ] |
Evgheni Sadovoi
made changes -
Attachment | sampleSourceCode.rar [ 14768 ] |
Evgheni Sadovoi
made changes -
Assignee | Nils Lundquist [ nils.lundquist ] |
Evgheni Sadovoi
made changes -
Attachment | sampleSourceCode.rar [ 14771 ] |
Evgheni Sadovoi
made changes -
Attachment | sampleSourceCode.rar [ 14768 ] |
Nils Lundquist
made changes -
Status | Open [ 1 ] | Resolved [ 5 ] |
Resolution | Won't Fix [ 2 ] |
Nils Lundquist
made changes -
Workaround Description | Wrap the contents of the input facet in a single h:panelGroup. | |
Workaround Exists | [Yes] |
Ken Fyten
made changes -
Status | Resolved [ 5 ] | Closed [ 6 ] |
This issue is only caused when using the h:panelGroup component, and only when the component is followed by another node. If the panelGroup is the last (or only) child of its parent, the issue doesn't present. I suspect this is due to explicit and bugged Mojarra decode handling of components of this type when in facets, or similar. There isn't any aspect of the DataTable editing feature that explains this behaviour.