Author: bibryam
Date: Mon Dec 28 11:30:40 2009
New Revision: 894149

URL: http://svn.apache.org/viewvc?rev=894149&view=rev
Log:
Applied a modified patch from jira issue OFBIZ-3211 - Ajaxifying lookup fields.
To add ajax support to a lookup screen, you have to add two fields: entityName 
and searchFields. As a reference please check LookupPartyName and LookupPerson 
screens in party manager. You can see ajaxed lookups in action in any screen 
using form widgets and the above lookup screens (findInvocies screen in 
accounting for example). 
This commit also fixes a bug in controls.js from scriptaculous library, but I 
reported it in its project list and I will track it further.
To hide the returned values (shown as [ID])from the autocompleter or change the 
number of items there, you have to modify widget.properties

Added:
    ofbiz/trunk/framework/images/webapp/images/ajax-loader.gif   (with props)
Modified:
    ofbiz/trunk/applications/order/widget/ordermgr/LookupScreens.xml
    ofbiz/trunk/applications/party/widget/partymgr/LookupScreens.xml
    
ofbiz/trunk/framework/common/webcommon/WEB-INF/actions/includes/FindAutocompleteOptions.groovy
    ofbiz/trunk/framework/common/webcommon/includes/ajaxAutocompleteOptions.ftl
    ofbiz/trunk/framework/common/widget/CommonScreens.xml
    ofbiz/trunk/framework/images/webapp/images/prototypejs/controls.js
    ofbiz/trunk/framework/images/webapp/images/selectall.js
    ofbiz/trunk/framework/widget/config/widget.properties
    
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/MacroFormRenderer.java
    ofbiz/trunk/framework/widget/templates/htmlFormMacroLibrary.ftl
    ofbiz/trunk/themes/bizznesstime/webapp/bizznesstime/css/style.css
    ofbiz/trunk/themes/bluelight/webapp/bluelight/style.css
    ofbiz/trunk/themes/droppingcrumbs/webapp/droppingcrumbs/css/style.css
    ofbiz/trunk/themes/flatgrey/webapp/flatgrey/maincss.css

Modified: ofbiz/trunk/applications/order/widget/ordermgr/LookupScreens.xml
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/widget/ordermgr/LookupScreens.xml?rev=894149&r1=894148&r2=894149&view=diff
==============================================================================
--- ofbiz/trunk/applications/order/widget/ordermgr/LookupScreens.xml (original)
+++ ofbiz/trunk/applications/order/widget/ordermgr/LookupScreens.xml Mon Dec 28 
11:30:40 2009
@@ -116,6 +116,8 @@
                 <set field="queryString" from-field="result.queryString"/>
                 <set field="viewIndex" from-field="parameters.VIEW_INDEX" 
type="Integer"/>
                 <set field="viewSize" from-field="parameters.VIEW_SIZE" 
type="Integer" default-value="20"/>
+                <set field="entityName" value="CustRequest"/>
+                <set field="searchFields" value="[custRequestId, 
custRequestName, statusId]"/>                
             </actions>
             <widgets>
                 <decorator-screen name="LookupDecorator" 
location="component://common/widget/CommonScreens.xml">
@@ -143,6 +145,8 @@
                 <set field="queryString" from-field="result.queryString"/>
                 <set field="viewIndex" from-field="parameters.VIEW_INDEX" 
type="Integer"/>
                 <set field="viewSize" from-field="parameters.VIEW_SIZE" 
type="Integer" default-value="20"/>
+                <set field="entityName" value="CustRequestItem"/>
+                <set field="searchFields" value="[custRequestItemSeqId, 
custRequestId, productId]"/>
             </actions>
             <widgets>
                 <decorator-screen name="LookupDecorator" 
location="component://common/widget/CommonScreens.xml">

Modified: ofbiz/trunk/applications/party/widget/partymgr/LookupScreens.xml
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/widget/partymgr/LookupScreens.xml?rev=894149&r1=894148&r2=894149&view=diff
==============================================================================
--- ofbiz/trunk/applications/party/widget/partymgr/LookupScreens.xml (original)
+++ ofbiz/trunk/applications/party/widget/partymgr/LookupScreens.xml Mon Dec 28 
11:30:40 2009
@@ -31,6 +31,21 @@
                 <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, groupName]"/>
+                
+                <!-- 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="displaytFields" value="[firstName, lastName, 
groupName]"/>
+                
             </actions>
             <widgets>
                 <decorator-screen name="LookupDecorator" 
location="component://common/widget/CommonScreens.xml">
@@ -127,6 +142,7 @@
                 <property-map resource="PartyUiLabels" map-name="uiLabelMap" 
global="true"/>
                 <set field="title" 
value="${uiLabelMap.PartyLookupPartyPerson}"/>
                 <set field="entityName" value="PartyAndPerson"/>
+                <set field="searchFields" value="[partyId, firstName, 
middleName, lastName]"/>
                 <set field="queryString" from-field="result.queryString"/>
             </actions>
             <widgets>

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=894149&r1=894148&r2=894149&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
 Mon Dec 28 11:30:40 2009
@@ -17,25 +17,41 @@
  * under the License.
  */
 
-import java.util.TreeSet;
-import javolution.util.FastList;
+import org.ofbiz.base.util.StringUtil;
+import org.ofbiz.entity.util.EntityFindOptions;
+import org.ofbiz.entity.condition.EntityCondition;
 import org.ofbiz.entity.condition.EntityConditionList;
 import org.ofbiz.entity.condition.EntityExpr;
 import org.ofbiz.entity.condition.EntityFieldValue;
 import org.ofbiz.entity.condition.EntityFunction;
 import org.ofbiz.entity.condition.EntityOperator;
-import org.ofbiz.base.util.StringUtil;
-import org.ofbiz.base.util.UtilValidate;
 
-andExprs = FastList.newInstance();
-fieldValue = parameters[fieldName];
-if (fieldValue) {
-    
andExprs.add(EntityCondition.makeCondition(EntityFunction.UPPER(EntityFieldValue.makeFieldValue(fieldName)),
-            EntityOperator.LIKE, "%" + fieldValue.toUpperCase() + "%"));
+andExprs = [];
+entityName = context.entityName;
+searchFields = context.searchFields;
+displayFields = context.displayFields ?: searchFields;
+searchValueFieldName = parameters.searchValueField;
+fieldValue = parameters.get(searchValueFieldName);
+ 
+if (searchFields && fieldValue) {
+    searchFieldsList = StringUtil.toList(searchFields);
+    displayFieldsSet = StringUtil.toSet(displayFields);
+    returnField = context.returnField ?: searchFieldsList[0]; //default to 
first element of searchFields
+    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 (andExprs) {
-    entityConditionList = EntityCondition.makeCondition(andExprs, 
EntityOperator.AND);
-    autocompleteOptions = delegator.findList(entityName, entityConditionList, 
StringUtil.toList(selectFields) as Set, StringUtil.toList(sortByFields), null, 
false);
-    context.autocompleteOptions = autocompleteOptions;
+if (andExprs && entityName && displayFieldsSet) {
+    Integer autocompleterViewSize = 
Integer.valueOf(context.autocompleterViewSize ?: 10);    
+    entityConditionList = EntityCondition.makeCondition(andExprs, 
EntityOperator.OR);
+    EntityFindOptions findOptions = new EntityFindOptions();
+    findOptions.setMaxRows(autocompleterViewSize);
+    autocompleteOptions = delegator.findList(entityName, entityConditionList, 
displayFieldsSet, StringUtil.toList(displayFields), findOptions, false);
+    if (autocompleteOptions) {
+        context.autocompleteOptions = autocompleteOptions;
+    }
 }

Modified: 
ofbiz/trunk/framework/common/webcommon/includes/ajaxAutocompleteOptions.ftl
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/webcommon/includes/ajaxAutocompleteOptions.ftl?rev=894149&r1=894148&r2=894149&view=diff
==============================================================================
--- ofbiz/trunk/framework/common/webcommon/includes/ajaxAutocompleteOptions.ftl 
(original)
+++ ofbiz/trunk/framework/common/webcommon/includes/ajaxAutocompleteOptions.ftl 
Mon Dec 28 11:30:40 2009
@@ -17,11 +17,27 @@
 under the License.
 -->
 
-<#if autocompleteOptions?exists>
-  <ul>
-    <#list autocompleteOptions as autocompleteOption>
-        <#assign fields = autocompleteOption.values()/>
-      <li><#list fields as field><#if field_index == 1><span class="informal"> 
</#if>${field}<#if (field_index > 0)><#if field_has_next> 
<#else></span></#if></#if></#list></li>
-    </#list>
-  </ul>
-</#if>
+<ul>
+    <#if autocompleteOptions?exists>
+        <#assign displayReturnField = 
Static["org.ofbiz.base.util.UtilProperties"].getPropertyValue("widget.properties",
 "widget.autocompleter.displayReturnField")>
+        <#list autocompleteOptions as autocompleteOption>
+            <#assign displayString = ""/>
+            <#assign returnField = ""/>
+            <#-- <#list autocompleteOption.keySet() as key> instead use the 
field order of display fields -->
+                <#list context.displayFieldsSet as key>
+                <#assign field = autocompleteOption.get(key)?if_exists>
+                <#if field?has_content>
+                       <#if (key == context.returnField)>
+                        <#assign returnField = field/>
+                       <#else>
+                        <#assign displayString = displayString + field + " ">
+                       </#if>
+                </#if>
+            </#list>
+            <#if ("Y" == displayReturnField)>
+                <#assign displayString = displayString +  "[" + returnField + 
"]">
+            </#if>            
+            <li id="${returnField}"><#if (displayString?trim?has_content 
)>${displayString?trim}<#else>${returnField}</#if></li>
+        </#list>
+    </#if>
+</ul>

Modified: ofbiz/trunk/framework/common/widget/CommonScreens.xml
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/widget/CommonScreens.xml?rev=894149&r1=894148&r2=894149&view=diff
==============================================================================
--- ofbiz/trunk/framework/common/widget/CommonScreens.xml (original)
+++ ofbiz/trunk/framework/common/widget/CommonScreens.xml Mon Dec 28 11:30:40 
2009
@@ -233,47 +233,65 @@
     <!-- Global decorator for Lookup pop-up windows -->
     <screen name="LookupDecorator">
         <section>
-            <actions>
-                <property-map resource="CommonUiLabels" map-name="uiLabelMap" 
global="true"/>
-                <service service-name="getUserPreferenceGroup" 
result-map="prefResult">
-                    <field-map field-name="userPrefGroupTypeId" 
value="GLOBAL_PREFERENCES"/>
-                </service>
-                <set field="userPreferences" 
from-field="prefResult.userPrefMap" global="true"/>
-
-                <property-map resource="general" map-name="generalProperties" 
global="true"/>
-                <set field="visualThemeId" 
from-field="userPreferences.VISUAL_THEME" default-value="BIZZNESS_TIME" 
global="true"/>
-                <service service-name="getVisualThemeResources">
-                    <field-map field-name="visualThemeId"/>
-                    <field-map field-name="themeResources" 
from-field="layoutSettings"/>
-                </service>
-                <set field="layoutSettings" from-field="themeResources" 
default-value="${layoutSettings}" global="true"/>
-                <set field="messagesTemplateLocation" 
from-field="layoutSettings.VT_MSG_TMPLT_LOC[0]" 
default-value="component://common/webcommon/includes/messages.ftl"/>
-            </actions>
+            <condition>
+                <if-empty field="parameters.ajaxLookup"/>
+            </condition>
             <widgets>
-                <platform-specific><html><html-template 
location="component://common/webcommon/includes/lookup.ftl"/></html></platform-specific>
-                <platform-specific><html><html-template 
location="${messagesTemplateLocation}"/></html></platform-specific>
                 <section>
-                    <condition>
-                        <not><if-empty field="sections.body"/></not>
-                    </condition>
+                    <actions>
+                        <property-map resource="CommonUiLabels" 
map-name="uiLabelMap" global="true"/>
+                        <service service-name="getUserPreferenceGroup" 
result-map="prefResult">
+                            <field-map field-name="userPrefGroupTypeId" 
value="GLOBAL_PREFERENCES"/>
+                        </service>
+                        <set field="userPreferences" 
from-field="prefResult.userPrefMap" global="true"/>
+        
+                        <property-map resource="general" 
map-name="generalProperties" global="true"/>
+                        <set field="visualThemeId" 
from-field="userPreferences.VISUAL_THEME" default-value="BIZZNESS_TIME" 
global="true"/>
+                        <service service-name="getVisualThemeResources">
+                            <field-map field-name="visualThemeId"/>
+                            <field-map field-name="themeResources" 
from-field="layoutSettings"/>
+                        </service>
+                        <set field="layoutSettings" 
from-field="themeResources" default-value="${layoutSettings}" global="true"/>
+                        <set field="messagesTemplateLocation" 
from-field="layoutSettings.VT_MSG_TMPLT_LOC[0]" 
default-value="component://common/webcommon/includes/messages.ftl"/>
+                    </actions>    
                     <widgets>
-                        <decorator-section-include name="body"/>
-                    </widgets>
-                    <fail-widgets>
-                        <screenlet title="${title}" id="findScreenlet" 
collapsible="true" padded="false">
-                            <container id="search-options">
-                                <decorator-section-include 
name="search-options"/>
-                            </container>
-                        </screenlet>
-                        <screenlet>
-                            <container id="search-results">
-                                <decorator-section-include 
name="search-results"/>
-                            </container>
-                        </screenlet>
-                    </fail-widgets>
+                        <platform-specific><html><html-template 
location="component://common/webcommon/includes/lookup.ftl"/></html></platform-specific>
+                        <platform-specific><html><html-template 
location="${messagesTemplateLocation}"/></html></platform-specific>
+                        <section>
+                            <condition>
+                                <not><if-empty field="sections.body"/></not>
+                            </condition>
+                            <widgets>
+                                <decorator-section-include name="body"/>
+                            </widgets>
+                            <fail-widgets>
+                                <screenlet title="${title}" id="findScreenlet" 
collapsible="true" padded="false">
+                                    <container id="search-options">
+                                        <decorator-section-include 
name="search-options"/>
+                                    </container>
+                                </screenlet>
+                                <screenlet>
+                                    <container id="search-results">
+                                        <decorator-section-include 
name="search-results"/>
+                                    </container>
+                                </screenlet>
+                            </fail-widgets>
+                        </section>
+                        <platform-specific><html><html-template 
location="component://common/webcommon/includes/lookupFooter.ftl"/></html></platform-specific>
+                    </widgets>        
                 </section>
-                <platform-specific><html><html-template 
location="component://common/webcommon/includes/lookupFooter.ftl"/></html></platform-specific>
             </widgets>
+            <fail-widgets>
+                <section>
+                    <actions>
+                        <property-to-field resource="widget" 
property="widget.autocompleter.defaultViewSize" field="autocompleterViewSize"/>
+                        <script 
location="component://common/webcommon/WEB-INF/actions/includes/FindAutocompleteOptions.groovy"/>
+                    </actions>
+                    <widgets>
+                        <platform-specific><html><html-template 
location="component://common/webcommon/includes/ajaxAutocompleteOptions.ftl"/></html></platform-specific>
                
+                    </widgets>
+                </section>
+            </fail-widgets>
         </section>
     </screen>
 

Added: ofbiz/trunk/framework/images/webapp/images/ajax-loader.gif
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/framework/images/webapp/images/ajax-loader.gif?rev=894149&view=auto
==============================================================================
Binary file - no diff available.

Propchange: ofbiz/trunk/framework/images/webapp/images/ajax-loader.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Modified: ofbiz/trunk/framework/images/webapp/images/prototypejs/controls.js
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/framework/images/webapp/images/prototypejs/controls.js?rev=894149&r1=894148&r2=894149&view=diff
==============================================================================
--- ofbiz/trunk/framework/images/webapp/images/prototypejs/controls.js 
(original)
+++ ofbiz/trunk/framework/images/webapp/images/prototypejs/controls.js Mon Dec 
28 11:30:40 2009
@@ -265,6 +265,13 @@
   },
 
   updateChoices: function(choices) {
+    var elem = new Element('div').insert(choices);
+    var elemType = elem.firstDescendant().tagName;
+    if('UL' != elemType) {
+           this.stopIndicator();
+           this.index = 0;
+           return;
+       }
     if(!this.changed && this.hasFocus) {
       this.update.innerHTML = choices;
       Element.cleanWhitespace(this.update);

Modified: ofbiz/trunk/framework/images/webapp/images/selectall.js
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/framework/images/webapp/images/selectall.js?rev=894149&r1=894148&r2=894149&view=diff
==============================================================================
--- ofbiz/trunk/framework/images/webapp/images/selectall.js (original)
+++ ofbiz/trunk/framework/images/webapp/images/selectall.js Mon Dec 28 11:30:40 
2009
@@ -334,11 +334,16 @@
     var numAreas = parseInt(areaArray.length / 3);
     for (var i = 0; i < numAreas * 3; i = i + 3) {
            var optionsDivId = areaArray[i] + "_autoCompleterOptions";
+           var indicatorId = areaArray[i] + "_indicator";
            $(areaArray[i]).insert({after: '<div class="autocomplete"' + 'id=' 
+ optionsDivId + '></div>'});
-        new Ajax.Autocompleter($(areaArray[i]), optionsDivId, areaArray[i + 
1], {parameters: areaArray[i + 2]});
+        new Ajax.Autocompleter($(areaArray[i]), optionsDivId, areaArray[i + 
1], {parameters: areaArray[i + 2], indicator: indicatorId, afterUpdateElement : 
getSelectionId});
     }
 }
 
+function getSelectionId(text, li) {
+       text.value = li.id;
+}
+
 /** Enable auto-completion for drop-down elements.
   * @param descriptionElement The id of the text field
   * @param hiddenElement The id of the drop-down.  Used as the id of hidden 
field inserted.

Modified: ofbiz/trunk/framework/widget/config/widget.properties
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/config/widget.properties?rev=894149&r1=894148&r2=894149&view=diff
==============================================================================
--- ofbiz/trunk/framework/widget/config/widget.properties (original)
+++ ofbiz/trunk/framework/widget/config/widget.properties Mon Dec 28 11:30:40 
2009
@@ -26,6 +26,12 @@
 # Default number of items to be displayed per page in a list form
 widget.form.defaultViewSize=20
 
+# Default number of items to be displayed in lookup ajax autocompleter
+widget.autocompleter.defaultViewSize=10
+
+# Show/hide the ID field that is returned from ajax autocompleter
+widget.autocompleter.displayReturnField=Y
+
 # Default text find field's option
 widget.form.defaultTextFindOption=contains
 

Modified: 
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/MacroFormRenderer.java
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/MacroFormRenderer.java?rev=894149&r1=894148&r2=894149&view=diff
==============================================================================
--- 
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/MacroFormRenderer.java 
(original)
+++ 
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/MacroFormRenderer.java 
Mon Dec 28 11:30:40 2009
@@ -1844,7 +1844,7 @@
 
     public void renderLookupField(Appendable writer, Map<String, Object> 
context, LookupField lookupField) throws IOException {
         ModelFormField modelFormField = lookupField.getModelFormField();
-
+        String lookupFieldFormName = lookupField.getFormName(context);
         String className = "";
         String alert = "false";
         if (UtilValidate.isNotEmpty(modelFormField.getWidgetStyle())) {
@@ -1864,6 +1864,20 @@
         String id = modelFormField.getIdName();
 
         List<ModelForm.UpdateArea> updateAreas = 
modelFormField.getOnChangeUpdateAreas();
+        
+        //add default ajax auto completer to all lookup fields
+        if (UtilValidate.isEmpty(updateAreas) && 
UtilValidate.isNotEmpty(lookupFieldFormName)) {
+            String autoCompleterTarget = null;
+            if (lookupFieldFormName.indexOf('?') == -1) {
+                autoCompleterTarget = lookupFieldFormName + "?";
+            } else {
+                autoCompleterTarget = lookupFieldFormName + "&amp;";
+            }
+            autoCompleterTarget = autoCompleterTarget + 
"ajaxLookup=Y&amp;searchValueField=" + 
lookupField.getModelFormField().getParameterName(context);
+            updateAreas = FastList.newInstance();
+            updateAreas.add(new ModelForm.UpdateArea("change", id, 
autoCompleterTarget));
+        }
+        
         boolean ajaxEnabled = updateAreas != null && this.javaScriptEnabled;
         String autocomplete = "";
         if (!lookupField.getClientAutocompleteField() || ajaxEnabled) {
@@ -1894,7 +1908,7 @@
         if (ajaxEnabled) {
             ajaxUrl = createAjaxParamsFromUpdateAreas(updateAreas, null, 
context);
         }
-        String lookupFieldFormName = lookupField.getFormName(context);
+
         StringWriter sr = new StringWriter();
         sr.append("<@renderLookupField ");
         sr.append(" className=\"");

Modified: ofbiz/trunk/framework/widget/templates/htmlFormMacroLibrary.ftl
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/templates/htmlFormMacroLibrary.ftl?rev=894149&r1=894148&r2=894149&view=diff
==============================================================================
--- ofbiz/trunk/framework/widget/templates/htmlFormMacroLibrary.ftl (original)
+++ ofbiz/trunk/framework/widget/templates/htmlFormMacroLibrary.ftl Mon Dec 28 
11:30:40 2009
@@ -420,7 +420,9 @@
   ,document.${formName}.${item}.value<#rt>
  </#list>
 </#if>
-);"></a></li><#rt>
+);">
+<#if ajaxEnabled?has_content && ajaxEnabled><span id="${id}_indicator" 
style="display: none" class="indicator"><img /></span></#if>
+</a></li><#rt>
 </ul></div>
 <#if ajaxEnabled?has_content && ajaxEnabled>
     <script language="JavaScript" 
type="text/javascript">ajaxAutoCompleter('${ajaxUrl}');</script><#t/>

Modified: ofbiz/trunk/themes/bizznesstime/webapp/bizznesstime/css/style.css
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/themes/bizznesstime/webapp/bizznesstime/css/style.css?rev=894149&r1=894148&r2=894149&view=diff
==============================================================================
--- ofbiz/trunk/themes/bizznesstime/webapp/bizznesstime/css/style.css (original)
+++ ofbiz/trunk/themes/bizznesstime/webapp/bizznesstime/css/style.css Mon Dec 
28 11:30:40 2009
@@ -1369,6 +1369,44 @@
 .login-screenlet .screenlet-title-bar {
     text-align: center;
 }
+/***********************************************
+ajax auto complete
+***********************************************/
+div.autocomplete {
+  position:absolute;
+  width:auto !important;
+/* min-width:154px; */
+  background-color:#f8f8f8;
+  border:1px solid #6e2723;
+  margin:0;
+  padding:0;
+  z-index:100;
+}
+div.autocomplete ul {
+  list-style-type:none;
+  margin:0;
+  padding:0;
+}
+div.autocomplete ul li.selected {
+ background-color: #ffb;
+}
+div.autocomplete ul li {
+  list-style-type:none;
+  display:block;
+  float: none;
+  margin:0;
+  padding:2px;
+  /*height:32px;*/
+  cursor:pointer;
+}
+
+.indicator img {
+  background: url(/images/ajax-loader.gif) no-repeat 0 0;
+  margin:3px 10px 0px 24px;
+  width:16px;
+  height:16px;
+  border: none;
+}
 
 /***********************************************
 Webtools

Modified: ofbiz/trunk/themes/bluelight/webapp/bluelight/style.css
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/themes/bluelight/webapp/bluelight/style.css?rev=894149&r1=894148&r2=894149&view=diff
==============================================================================
--- ofbiz/trunk/themes/bluelight/webapp/bluelight/style.css (original)
+++ ofbiz/trunk/themes/bluelight/webapp/bluelight/style.css Mon Dec 28 11:30:40 
2009
@@ -1284,7 +1284,45 @@
 .login-screenlet .screenlet-title-bar {
     text-align: center;
 }
-
+/***********************************************
+ajax auto complete
+***********************************************/
+div.autocomplete {
+  position:absolute;
+  width:auto !important;
+/* min-width:154px; */
+  background-color:#f8f8f8;
+  border:1px solid #999999;
+  margin:0;
+  padding:0;
+}
+div.autocomplete ul {
+  list-style-type:none;
+  margin:0;
+  padding:0;
+}
+div.autocomplete ul li.selected {
+ background-color: #ffb;
+}
+div.autocomplete ul li {
+  list-style-type:none;
+  display:block;
+  float: none;
+  margin:0;
+  padding:2px;
+  /*height:32px;*/
+  cursor:pointer;
+}
+
+.indicator img {
+  background: url(/images/ajax-loader.gif) no-repeat 0 0;
+  display: block;
+  margin:3px 10px 0px 24px;
+  width:16px;
+  height:16px;
+  border: none;
+}
+ 
 /* ======================================================= */
     /* ===== Basic Navigation (Vertical Menu) Style ========== */
     /* ======================================================= */

Modified: ofbiz/trunk/themes/droppingcrumbs/webapp/droppingcrumbs/css/style.css
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/themes/droppingcrumbs/webapp/droppingcrumbs/css/style.css?rev=894149&r1=894148&r2=894149&view=diff
==============================================================================
--- ofbiz/trunk/themes/droppingcrumbs/webapp/droppingcrumbs/css/style.css 
(original)
+++ ofbiz/trunk/themes/droppingcrumbs/webapp/droppingcrumbs/css/style.css Mon 
Dec 28 11:30:40 2009
@@ -1238,7 +1238,44 @@
 .login-screenlet .screenlet-title-bar {
 text-align: center;
 }
-
+/***********************************************
+ajax auto complete
+***********************************************/
+div.autocomplete {
+  position:absolute;
+  width:auto !important;
+/* min-width:154px; */
+  background-color:#f8f8f8;
+  border:1px solid #999999;
+  margin:0;
+  padding:0;
+}
+div.autocomplete ul {
+  list-style-type:none;
+  margin:0;
+  padding:0;
+}
+div.autocomplete ul li.selected {
+ background-color: #ffb;
+}
+div.autocomplete ul li {
+  list-style-type:none;
+  display:block;
+  float: none;
+  margin:0;
+  padding:2px;
+  /*height:32px;*/
+  cursor:pointer;
+}
+
+.indicator img {
+  background: url(/images/ajax-loader.gif) no-repeat 0 0;
+  display: block;  
+  margin:3px 10px 0px 24px;
+  width:16px;
+  height:16px;
+  border: none;
+}
 /* ======================================================= */
 /* ===== Basic Navigation (Vertical Menu) Style ========== */
 /* ======================================================= */

Modified: ofbiz/trunk/themes/flatgrey/webapp/flatgrey/maincss.css
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/themes/flatgrey/webapp/flatgrey/maincss.css?rev=894149&r1=894148&r2=894149&view=diff
==============================================================================
--- ofbiz/trunk/themes/flatgrey/webapp/flatgrey/maincss.css (original)
+++ ofbiz/trunk/themes/flatgrey/webapp/flatgrey/maincss.css Mon Dec 28 11:30:40 
2009
@@ -1268,7 +1268,44 @@
 .login-screenlet .screenlet-title-bar {
 text-align: center;
 }
-
+/***********************************************
+ajax auto complete
+***********************************************/
+div.autocomplete {
+  position:absolute;
+  width:auto !important;
+/* min-width:154px; */
+  background-color:#f8f8f8;
+  border:1px solid #999999;
+  margin:0;
+  padding:0;
+}
+div.autocomplete ul {
+  list-style-type:none;
+  margin:0;
+  padding:0;
+}
+div.autocomplete ul li.selected {
+ background-color: #ffb;
+}
+div.autocomplete ul li {
+  list-style-type:none;
+  display:block;
+  float: none;
+  margin:0;
+  padding:2px;
+  /*height:32px;*/
+  cursor:pointer;
+}
+
+.indicator img {
+  background: url(/images/ajax-loader.gif) no-repeat 0 0;
+  display: block;  
+  margin:3px 10px 0px 24px;
+  width:16px;
+  height:16px;
+  border: none;
+}
 /* ======================================================= */
 /* ===== Basic Navigation (Vertical Menu) Style ========== */
 /* ======================================================= */


Reply via email to