[richfaces-svn-commits] JBoss Rich Faces SVN: r11861 - trunk/ui/extendedDataTable/src/main/java/org/richfaces/renderkit.
richfaces-svn-commits at lists.jboss.org
richfaces-svn-commits at lists.jboss.org
Thu Dec 18 02:08:13 EST 2008
Author: pgolawski
Date: 2008-12-18 02:08:12 -0500 (Thu, 18 Dec 2008)
New Revision: 11861
Modified:
trunk/ui/extendedDataTable/src/main/java/org/richfaces/renderkit/AbstractExtendedTableRenderer.java
Log:
set focus (without select text) to current inplace filter input on filter event
Modified: trunk/ui/extendedDataTable/src/main/java/org/richfaces/renderkit/AbstractExtendedTableRenderer.java
===================================================================
--- trunk/ui/extendedDataTable/src/main/java/org/richfaces/renderkit/AbstractExtendedTableRenderer.java 2008-12-18 00:21:41 UTC (rev 11860)
+++ trunk/ui/extendedDataTable/src/main/java/org/richfaces/renderkit/AbstractExtendedTableRenderer.java 2008-12-18 07:08:12 UTC (rev 11861)
@@ -317,10 +317,7 @@
UIColumn dataColumn = (UIColumn) column;
if (internalFilterEnabledColumn(dataColumn)) {
writer.startElement(HTML.DIV_ELEM, column);
- addInplaceInput(context, column, buildAjaxFunction(
- context, column, false,
- getOnAjaxCompleteFunction(context,
- (UIDataTable) column.getParent())));
+ addInplaceInput(context, column);
writer.endElement(HTML.DIV_ELEM);
}
else if (dataColumn.getFacet("filter") != null) {
@@ -336,6 +333,14 @@
}
}
}
+
+ private JSFunctionDefinition buildSetFocusFunctionDef(String elementId){
+ JSFunctionDefinition function = new JSFunctionDefinition("event");
+ function.addToBody("" + "var element = document.getElementById('"
+ + elementId + "');" + "if (element) {" + " element.focus();"
+ + "}");
+ return function;
+ }
public boolean isColumnFacetPresent(UIDataTable table, String facetName) {
Iterator<UIComponent> columns = table.columns();
@@ -1175,10 +1180,10 @@
}
boolean filterChanged = (newFilterValue == null ? (oldFilterValue != null)
: !newFilterValue.equals(oldFilterValue));
- if (filterChanged) {
- //set focus on changed field
- AjaxContext.getCurrentInstance().getResponseDataMap().put(AjaxActionComponent.FOCUS_DATA_ID, filterValueInput.getClientId(context));
- }
+// if (filterChanged) {
+// //set focus on changed field
+// AjaxContext.getCurrentInstance().getResponseDataMap().put(AjaxActionComponent.FOCUS_DATA_ID, filterValueInput.getClientId(context));
+// }
filtering = (filtering || filterChanged);
}
}
@@ -1345,8 +1350,7 @@
}
}
- protected void addInplaceInput(FacesContext context, UIComponent column,
- String buffer) throws IOException {
+ protected void addInplaceInput(FacesContext context, UIComponent column) throws IOException {
UIInput filterValueInput = (UIInput) column
.getFacet(FILTER_INPUT_FACET_NAME);
if (null == filterValueInput) {
@@ -1364,6 +1368,11 @@
filterEvent = "onchange";
}
+ String buffer = buildAjaxFunction(
+ context,
+ column,
+ false,
+ buildSetFocusFunctionDef(filterValueInput.getClientId(context)));
filterValueInput.getAttributes().put(filterEvent, buffer);
filterValueInput.setValue(column.getAttributes().get("filterValue"));
@@ -1494,8 +1503,7 @@
&& col.getValueExpression("filterBy") != null) {
writer.startElement(HTML.DIV_ELEM, column);
- addInplaceInput(context, column, buildAjaxFunction(context,
- column, false, null));
+ addInplaceInput(context, column);
writer.endElement(HTML.DIV_ELEM);
}
}
More information about the richfaces-svn-commits
mailing list