|
Author: erwan
Date: Tue Feb 16 16:42:00 2010 New Revision: 910587 URL: http://svn.apache.org/viewvc?rev=910587&view=rev Log: The auto-completer (in lookup fields) default behavior is "%fieldValue%" (contains operation). This allows to change the behavior to "fieldValue%"(statrWith operation) when setting to "Y" the searchTypeStartWith field Modified: ofbiz/trunk/framework/common/webcommon/WEB-INF/actions/includes/FindAutocompleteOptions.groovy ofbiz/trunk/framework/example/widget/example/FormWidgetExampleLookupScreens.xml Modified: ofbiz/trunk/framework/common/webcommon/WEB-INF/actions/includes/FindAutocompleteOptions.groovy URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/webcommon/WEB-INF/actions/includes/FindAutocompleteOptions.groovy?rev=910587&r1=910586&r2=910587&view=diff ============================================================================== --- ofbiz/trunk/framework/common/webcommon/WEB-INF/actions/includes/FindAutocompleteOptions.groovy (original) +++ ofbiz/trunk/framework/common/webcommon/WEB-INF/actions/includes/FindAutocompleteOptions.groovy Tue Feb 16 16:42:00 2010 @@ -32,7 +32,10 @@ displayFields = context.displayFields ?: searchFields; searchValueFieldName = parameters.searchValueField; fieldValue = parameters.get(searchValueFieldName); - +searchTypeStartWith = context.searchTypeStartWith; +if( searchTypeStartWith == null){ + searchTypeStartWith = "N"; +} if (searchFields && fieldValue) { searchFieldsList = StringUtil.toList(searchFields); displayFieldsSet = StringUtil.toSet(displayFields); @@ -40,20 +43,26 @@ displayFieldsSet.add(returnField); //add it to select fields, in case it is missing context.returnField = returnField; context.displayFieldsSet = displayFieldsSet; - searchFieldsList.each { fieldName -> - andExprs.add(EntityCondition.makeCondition(EntityFunction.UPPER(EntityFieldValue.makeFieldValue(fieldName)), EntityOperator.LIKE, "%" + fieldValue.toUpperCase() + "%")); + if("Y".equals(searchTypeStartWith.toUpperCase())){ + searchValue = fieldValue.toUpperCase() + "%"; + } + else{ + searchValue = "%" + fieldValue.toUpperCase() + "%"; + } + searchFieldsList.each { fieldName -> + andExprs.add(EntityCondition.makeCondition(EntityFunction.UPPER(EntityFieldValue.makeFieldValue(fieldName)), EntityOperator.LIKE, searchValue)); } } - +System.out.println(andExprs); if (andExprs && entityName && displayFieldsSet) { entityConditionList = EntityCondition.makeCondition(andExprs, EntityOperator.OR); - - //if there is an extra condition, add it to main condition + + //if there is an extra condition, add it to main condition if (context.andCondition && context.andCondition instanceof EntityCondition) { entityConditionList = EntityCondition.makeCondition(context.andCondition, entityConditionList); } - - Integer autocompleterViewSize = Integer.valueOf(context.autocompleterViewSize ?: 10); + + Integer autocompleterViewSize = Integer.valueOf(context.autocompleterViewSize ?: 10); EntityFindOptions findOptions = new EntityFindOptions(); findOptions.setMaxRows(autocompleterViewSize); autocompleteOptions = delegator.findList(entityName, entityConditionList, displayFieldsSet, StringUtil.toList(displayFields), findOptions, false); Modified: ofbiz/trunk/framework/example/widget/example/FormWidgetExampleLookupScreens.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/example/widget/example/FormWidgetExampleLookupScreens.xml?rev=910587&r1=910586&r2=910587&view=diff ============================================================================== --- ofbiz/trunk/framework/example/widget/example/FormWidgetExampleLookupScreens.xml (original) +++ ofbiz/trunk/framework/example/widget/example/FormWidgetExampleLookupScreens.xml Tue Feb 16 16:42:00 2010 @@ -41,6 +41,10 @@ <!-- it might be hidden based on widget.autocompleter.displayReturnField property in widget.properties --> <set field="searchFields" value="[partyId, firstName, middleName, lastName, groupName]"/> + <!-- when set Y the auto-completer will search value using "fieldValue%"(statrWith operation)--> + <!-- the default behavior is "%fieldValue%" (contains operation) --> + <set field="searchTypeStartWith" value="Y"/> + <!-- optional: fields to display in the given order, default is searchFields --> <set field="displayFields" value="[firstName, lastName, groupName]"/> @@ -106,24 +110,24 @@ <property-map resource="PartyUiLabels" map-name="uiLabelMap" global="true"/> <set field="title" value="${uiLabelMap.PartyLookupPartyPerson}"/> <set field="queryString" from-field="result.queryString"/> - + <set field="viewIndex" from-field="parameters.VIEW_INDEX" type="Integer" default-value="0"/> <set field="viewSize" from-field="parameters.VIEW_SIZE" type="Integer" default-value="20"/> - + <!-- entries needed for lookup ajax auto completer --> <!-- required: entity to search in --> <set field="entityName" value="PartyNameView"/> - + <!-- required: fields to search a match --> <set field="searchFields" value="[partyId, firstName, middleName, lastName]"/> - + <!-- optional: field to return after user selection, default is first element of searchFields --> <!-- return field might be hidden based on widget.autocompleter.displayReturnField property in widget.properties --> <set field="returnField" value="partyId"/> - + <!-- optional: fields to display, default are searchFields --> <set field="displayFields" value="[firstName, lastName]"/> - + </actions> <widgets> <decorator-screen name="LookupLayerPopupDecorator" location="component://common/widget/CommonScreens.xml"> @@ -136,6 +140,6 @@ </decorator-screen> </widgets> </section> - </screen> - + </screen> + </screens> \ No newline at end of file |
| Free forum by Nabble | Edit this page |
