Balanced the two requirements of responsiveness and avoiding redundant partialSubmits by creating an algorithm that immediately does a partialSubmit, on an initial change of value, or on a change of value that was not preceded by another within a certain time-frame. Then, subsequent change events will use the timer method. If a second change starts up a timer, and then a third change happens while the timer is set, but has not yet rung, then the timer is canceled, and begun anew. The timer was then tuned to be 300 ms, so that the smallest perceptible user delay between change events would trigger a partialSubmit, but all changes with no delay, from an intentional desire to skip over them, would result in no partialSubmit. In this way, the default delay adds no perceptible latency, while still improving performance and reducing server load. The delay is configurable, so that applications may set it to their varying needs.
TRUNK
Subversion 21043
icefaces\bridge\build.xml
icefaces\bridge\lib\extras\select.js
icefaces\component-metadata\src\main\resources\conf\extended-faces-config.xml
icefaces\component-metadata\src\main\resources\conf\ice_properties\ice-att-partialSubmitDelay-props.xml
icefaces\component-metadata\src\main\resources\conf\ice_properties\ice-selectManyListbox-props.xml
icefaces\component-metadata\src\main\resources\conf\ice_properties\ice-selectManyMenu-props.xml
icefaces\component-metadata\src\main\resources\conf\ice_properties\ice-selectOneListbox-props.xml
icefaces\component\src\com\icesoft\faces\component\ext\HtmlSelectManyListbox.java
icefaces\component\src\com\icesoft\faces\component\ext\HtmlSelectManyMenu.java
icefaces\component\src\com\icesoft\faces\component\ext\HtmlSelectOneListbox.java
icefaces\component\src\com\icesoft\faces\component\ext\renderkit\ListboxRenderer.java
icefaces\component\src\com\icesoft\faces\component\ext\renderkit\MenuRenderer.java
Subversion 21044
icefaces\component-metadata\src\main\resources\conf\ice_properties\ice-att-partialSubmitDelay-props.xml
icefaces-ee-1.8.2_p01
Subversion 21045
icefaces\bridge\build.xml
icefaces\bridge\lib\extras\select.js
icefaces\component-metadata\src\main\resources\conf\extended-faces-config.xml
icefaces\component-metadata\src\main\resources\conf\ice_properties\ice-att-partialSubmitDelay-props.xml
icefaces\component-metadata\src\main\resources\conf\ice_properties\ice-selectManyListbox-props.xml
icefaces\component-metadata\src\main\resources\conf\ice_properties\ice-selectManyMenu-props.xml
icefaces\component-metadata\src\main\resources\conf\ice_properties\ice-selectOneListbox-props.xml
icefaces\component\src\com\icesoft\faces\component\ext\HtmlSelectManyListbox.java
icefaces\component\src\com\icesoft\faces\component\ext\HtmlSelectManyMenu.java
icefaces\component\src\com\icesoft\faces\component\ext\HtmlSelectOneListbox.java
icefaces\component\src\com\icesoft\faces\component\ext\renderkit\ListboxRenderer.java
icefaces\component\src\com\icesoft\faces\component\ext\renderkit\MenuRenderer.java
Balanced the two requirements of responsiveness and avoiding redundant partialSubmits by creating an algorithm that immediately does a partialSubmit, on an initial change of value, or on a change of value that was not preceded by another within a certain time-frame. Then, subsequent change events will use the timer method. If a second change starts up a timer, and then a third change happens while the timer is set, but has not yet rung, then the timer is canceled, and begun anew. The timer was then tuned to be 300 ms, so that the smallest perceptible user delay between change events would trigger a partialSubmit, but all changes with no delay, from an intentional desire to skip over them, would result in no partialSubmit. In this way, the default delay adds no perceptible latency, while still improving performance and reducing server load. The delay is configurable, so that applications may set it to their varying needs.
TRUNK
Subversion 21043
icefaces\bridge\build.xml
icefaces\bridge\lib\extras\select.js
icefaces\component-metadata\src\main\resources\conf\extended-faces-config.xml
icefaces\component-metadata\src\main\resources\conf\ice_properties\ice-att-partialSubmitDelay-props.xml
icefaces\component-metadata\src\main\resources\conf\ice_properties\ice-selectManyListbox-props.xml
icefaces\component-metadata\src\main\resources\conf\ice_properties\ice-selectManyMenu-props.xml
icefaces\component-metadata\src\main\resources\conf\ice_properties\ice-selectOneListbox-props.xml
icefaces\component\src\com\icesoft\faces\component\ext\HtmlSelectManyListbox.java
icefaces\component\src\com\icesoft\faces\component\ext\HtmlSelectManyMenu.java
icefaces\component\src\com\icesoft\faces\component\ext\HtmlSelectOneListbox.java
icefaces\component\src\com\icesoft\faces\component\ext\renderkit\ListboxRenderer.java
icefaces\component\src\com\icesoft\faces\component\ext\renderkit\MenuRenderer.java
Subversion 21044
icefaces\component-metadata\src\main\resources\conf\ice_properties\ice-att-partialSubmitDelay-props.xml
icefaces-ee-1.8.2_p01
Subversion 21045
icefaces\bridge\build.xml
icefaces\bridge\lib\extras\select.js
icefaces\component-metadata\src\main\resources\conf\extended-faces-config.xml
icefaces\component-metadata\src\main\resources\conf\ice_properties\ice-att-partialSubmitDelay-props.xml
icefaces\component-metadata\src\main\resources\conf\ice_properties\ice-selectManyListbox-props.xml
icefaces\component-metadata\src\main\resources\conf\ice_properties\ice-selectManyMenu-props.xml
icefaces\component-metadata\src\main\resources\conf\ice_properties\ice-selectOneListbox-props.xml
icefaces\component\src\com\icesoft\faces\component\ext\HtmlSelectManyListbox.java
icefaces\component\src\com\icesoft\faces\component\ext\HtmlSelectManyMenu.java
icefaces\component\src\com\icesoft\faces\component\ext\HtmlSelectOneListbox.java
icefaces\component\src\com\icesoft\faces\component\ext\renderkit\ListboxRenderer.java
icefaces\component\src\com\icesoft\faces\component\ext\renderkit\MenuRenderer.java