Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 2.1-Beta
-
Component/s: Sample Apps
-
Labels:None
-
Environment:ICEfaces2 com-suite demo using grimlock run #25882
-
Affects:Compatibility/Configuration
-
Workaround Exists:Yes
-
Workaround Description:Workaround is to remove the <ui:debug> tag from the page.
Description
The comp-suite ace->dataTable->Scrolling demo page features an h:inputText to set the height of the dataTable. When the user types a value into this h:inputText, it results in the browser failing with a StackOverflow error.
Here's the URL to the page in the comp-suite demo:
http://localhost:8080/comp-suite/showcase.jsf?grp=aceMenu&exp=dataTableScrolling
Here's the snippet of page markup:
<ui:define name="example">
<h:form>
<icecore:singleSubmit/>
<h:panelGrid columns="3">
<h:outputLabel for="scrollingIn" value="Enable Scrolling:"/>
<h:selectBooleanCheckbox id="scrollingIn" value="#{dataTableScrolling.scrolling}"/>
<h:message for="scrollingIn"/>
<h:outputLabel for="heightIn" value="Table Height (in pixels):"/>
<h:inputText id="heightIn" value="#{dataTableScrolling.height}"
required="true" size="3" maxlength="3"
disabled="#{!dataTableScrolling.scrolling}">
<f:validateLongRange minimum="50" maximum="500"/>
</h:inputText>
<h:message for="heightIn"/>
</h:panelGrid>
</h:form>
...and here's the JS error (from Chrome, in this case, but happens in IE7 too and possibly others):
Uncaught RangeError: Maximum call stack size exceeded
apply
obj.(anonymous function)
document.onkeyup
apply
obj.(anonymous function)
document.onkeyup
apply
obj.(anonymous function)
document.onkeyup
apply
... and so on.
Here's the URL to the page in the comp-suite demo:
http://localhost:8080/comp-suite/showcase.jsf?grp=aceMenu&exp=dataTableScrolling
Here's the snippet of page markup:
<ui:define name="example">
<h:form>
<icecore:singleSubmit/>
<h:panelGrid columns="3">
<h:outputLabel for="scrollingIn" value="Enable Scrolling:"/>
<h:selectBooleanCheckbox id="scrollingIn" value="#{dataTableScrolling.scrolling}"/>
<h:message for="scrollingIn"/>
<h:outputLabel for="heightIn" value="Table Height (in pixels):"/>
<h:inputText id="heightIn" value="#{dataTableScrolling.height}"
required="true" size="3" maxlength="3"
disabled="#{!dataTableScrolling.scrolling}">
<f:validateLongRange minimum="50" maximum="500"/>
</h:inputText>
<h:message for="heightIn"/>
</h:panelGrid>
</h:form>
...and here's the JS error (from Chrome, in this case, but happens in IE7 too and possibly others):
Uncaught RangeError: Maximum call stack size exceeded
apply
obj.(anonymous function)
document.onkeyup
apply
obj.(anonymous function)
document.onkeyup
apply
obj.(anonymous function)
document.onkeyup
apply
... and so on.
Activity
Ken Fyten
created issue -
Ken Fyten
made changes -
Field | Original Value | New Value |
---|---|---|
Salesforce Case | [] | |
Assignee Priority | P1 | |
Assignee | Ted Goddard [ ted.goddard ] |
Ted Goddard
made changes -
Assignee | Ted Goddard [ ted.goddard ] | Ken Fyten [ ken.fyten ] |
Ken Fyten
made changes -
Summary | icecore:singleSubmit causing StackOverflow when used with h:inputText | icecore:singleSubmit causing StackOverflow when used with h:inputText (ui:debug issue) |
Salesforce Case | [] | |
Component/s | Sample Apps [ 10010 ] | |
Component/s | Framework [ 10013 ] | |
Affects | [Documentation (User Guide, Ref. Guide, etc.), Sample App./Tutorial] | |
Assignee | Ken Fyten [ ken.fyten ] | Evgheni Sadovoi [ evgheni.sadovoi ] |
Evgheni Sadovoi
made changes -
Status | Open [ 1 ] | Resolved [ 5 ] |
Affects | [Documentation (User Guide, Ref. Guide, etc.), Sample App./Tutorial] | |
Resolution | Fixed [ 1 ] |
Ken Fyten
made changes -
Workaround Description | Workaround is to remove the <ui:debug> tag from the page. | |
Workaround Exists | [Yes] | |
Salesforce Case | [] | |
Assignee Priority | P1 | |
Security | Private [ 10001 ] |
Ken Fyten
made changes -
Salesforce Case | [] | |
Fix Version/s | 2.1-Beta2 [ 10294 ] |
Ken Fyten
made changes -
Salesforce Case | [] | |
Affects | [Compatibility/Configuration] |
Ken Fyten
made changes -
Status | Resolved [ 5 ] | Closed [ 6 ] |
Adding the following to a modified page in basic works as expected:
<h:form>
{basic.visible}"/><icecore:singleSubmit/>
<h:panelGrid columns="3">
<h:outputLabel for="scrollingIn" value="Enable Scrolling:"/>
<h:selectBooleanCheckbox id="scrollingIn" value="#
<h:message for="scrollingIn"/>
<h:outputLabel for="heightIn" value="Table Height (in pixels):"/>
<h:inputText id="heightIn" value="55"
required="true" size="3" maxlength="3"
disabled="#{basic.visible}
">
<f:validateLongRange minimum="50" maximum="500"/>
</h:inputText>
<h:message for="heightIn"/>
</h:panelGrid>
</h:form>
So there must be an interaction with JavaScript present in the comp-suite demo or icefaces-ace.jar.