Details
-
Type: Improvement
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 1.6.1, 1.7DR#3
-
Component/s: ICE-Components
-
Labels:None
-
Environment:Any
-
Support Case References:
Description
When using converters with selectInputText, one starts typing something in the text box. Then, after a pause (1 second, I guess) whatever one has typed so far is sent to the server to be evaluated so that a popup list of possible matching values appears in the view. The problem is that whatever we have typed so far must be of the correct data type already, otherwise a conversion error is displayed. This doesn't represent a problem for numerical values, but it is a problem for date values. One has to type the date really fast to avoid getting a conversion error.
For example, when using the standard DateTime converter, if I just type 'Jan' and make a pause, I will get a conversion error, and whatever I typed will be deleted, and I won't get the popup list of possible matching values.
Something similar happens with the Boolean converter. If I take too long to type 'true' it will change the text to 'false'.
This is the code I'm using in the jspx document:
...
<ice:selectInputText id="testSelInpTxt"
converter="#{selInpTxtConvBean.selectedConverter}"
value="#{selInpTxtConvBean.value}"
>
<f:selectItems value="#{selInpTxtConvBean.valueList}" />
</ice:selectInputText>
<ice:message for="testSelInpTxt"/>
...
The files can be found in the qa repo (qa/trunk/test/application/web/converter/selectinputtex.jspx)
For example, when using the standard DateTime converter, if I just type 'Jan' and make a pause, I will get a conversion error, and whatever I typed will be deleted, and I won't get the popup list of possible matching values.
Something similar happens with the Boolean converter. If I take too long to type 'true' it will change the text to 'false'.
This is the code I'm using in the jspx document:
...
<ice:selectInputText id="testSelInpTxt"
converter="#{selInpTxtConvBean.selectedConverter}"
value="#{selInpTxtConvBean.value}"
>
<f:selectItems value="#{selInpTxtConvBean.valueList}" />
</ice:selectInputText>
<ice:message for="testSelInpTxt"/>
...
The files can be found in the qa repo (qa/trunk/test/application/web/converter/selectinputtex.jspx)
Issue Links
- depends on
-
ICE-2743 Add textChangedListener to selectInputText
- Closed
Unfortunately, having the converter validator fire when a partial entry is typed is an unavoidable side-effect of the implementation of this component.
However, the described behavior of "I will get a conversion error, and whatever I typed will be deleted, and I won't get the popup list of possible matching values." seems problematic. The entered text should not be blanked out, and the matching list should still appear, even if a conversion error occurs.