I'll take a look at it.

-David


On Jan 15, 2009, at 10:42 PM, Hans Bakker wrote:

this change makes the description of the hyperlink appear twice.
have a look at:
https://localhost3:8443/content/control/EditContent?contentId=ARTICLE_WRAP

where the 'goto dataresource" button show twice"


On Sun, 2009-01-11 at 16:35 +0000, [email protected] wrote:
Author: jonesde
Date: Sun Jan 11 08:35:46 2009
New Revision: 733486

URL: http://svn.apache.org/viewvc?rev=733486&view=rev
Log:
A few enhancements, including some fixes and enhancements for the loopkup field type to support the sub-hyperlink which was already in the xsd, the asterisk for required fields, and the on event stuff for the ajax auto-complete and other such things; also changed all fields to have a default id with formName_fieldName so that it doesn't always have to be explicitly declared but also won't conflict form multiform screens

Modified:
   ofbiz/trunk/framework/widget/dtd/widget-form.xsd
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ ModelFormField.java ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/ HtmlFormRenderer.java

Modified: ofbiz/trunk/framework/widget/dtd/widget-form.xsd
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/dtd/widget-form.xsd?rev=733486&r1=733485&r2=733486&view=diff
= = = = = = = = = =====================================================================
--- ofbiz/trunk/framework/widget/dtd/widget-form.xsd (original)
+++ ofbiz/trunk/framework/widget/dtd/widget-form.xsd Sun Jan 11 08:35:46 2009
@@ -1089,9 +1089,9 @@
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
- <xs:attribute type="xs:double" name="frequency" default="0.4"/> - <xs:attribute type="xs:positiveInteger" name="min-chars" default="1"/> - <xs:attribute type="xs:positiveInteger" name="choices" default="10"/> + <xs:attribute name="frequency" type="xs:double" default="0.4"/> + <xs:attribute name="min-chars" type="xs:positiveInteger" default="1"/> + <xs:attribute name="choices" type="xs:positiveInteger" default="10"/>
        <xs:attribute name="partial-search" default="true">
            <xs:simpleType>
                <xs:restriction base="xs:token">
@@ -1100,7 +1100,7 @@
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
- <xs:attribute type="xs:positiveInteger" name="partial- chars" default="2"/> + <xs:attribute name="partial-chars" type="xs:positiveInteger" default="1"/>
        <xs:attribute name="ignore-case" default="true">
            <xs:simpleType>
                <xs:restriction base="xs:token">
@@ -1109,7 +1109,7 @@
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
-        <xs:attribute name="full-search" default="false">
+        <xs:attribute name="full-search" default="true">
            <xs:simpleType>
                <xs:restriction base="xs:token">
                    <xs:enumeration value="true"/>

Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ ModelFormField.java
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormField.java?rev=733486&r1=733485&r2=733486&view=diff
= = = = = = = = = ===================================================================== --- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ ModelFormField.java (original) +++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ ModelFormField.java Sun Jan 11 08:35:46 2009
@@ -1076,7 +1076,11 @@
    }

    public String getIdName() {
-        return idName;
+       if (UtilValidate.isNotEmpty(idName)) {
+            return idName;
+       } else {
+               return this.modelForm.getName() + "_" + this.getFieldName();
+       }
    }

    public String getHeaderLink() {
@@ -3257,12 +3261,18 @@
        protected FlexibleStringExpander formName;
        protected String descriptionFieldName;
        protected String targetParameter;
+        protected SubHyperlink subHyperlink;

public LookupField(Element element, ModelFormField modelFormField) {
            super(element, modelFormField);
this.formName = FlexibleStringExpander.getInstance(element.getAttribute("target- form-name")); this.descriptionFieldName = element.getAttribute("description-field-name"); this.targetParameter = element.getAttribute("target- parameter");
+
+ Element subHyperlinkElement = UtilXml.firstChildElement(element, "sub-hyperlink");
+            if (subHyperlinkElement != null) {
+ this.subHyperlink = new SubHyperlink(subHyperlinkElement);
+            }
        }

public LookupField(int fieldSource, ModelFormField modelFormField) {
@@ -3299,6 +3309,10 @@
        public void setDescriptionFieldName(String str) {
            this.descriptionFieldName = str;
        }
+
+        public SubHyperlink getSubHyperlink() {
+               return this.subHyperlink;
+        }
    }

    public static class FileField extends TextField {

Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/ HtmlFormRenderer.java
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlFormRenderer.java?rev=733486&r1=733485&r2=733486&view=diff
= = = = = = = = = ===================================================================== --- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/ HtmlFormRenderer.java (original) +++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/ HtmlFormRenderer.java Sun Jan 11 08:35:46 2009
@@ -711,7 +711,7 @@
        ModelForm modelForm = modelFormField.getModelForm();
ModelFormField.AutoComplete autoComplete = dropDownField.getAutoComplete(); boolean ajaxEnabled = autoComplete != null && this.javaScriptEnabled; - List allOptionValues = dropDownField.getAllOptionValues(context, modelForm.getDelegator(context)); + List<ModelFormField.OptionValue> allOptionValues = dropDownField.getAllOptionValues(context, modelForm.getDelegator(context));

        String event = modelFormField.getEvent();
        String action = modelFormField.getAction(context);
@@ -767,7 +767,7 @@

            if (UtilValidate.isNotEmpty(currentValue)) {
                writer.append(" value=\"");
- String explicitDescription = dropDownField.getCurrentDescription(context); + //String explicitDescription = dropDownField.getCurrentDescription(context);
                writer.append(currentValue);
                writer.append('"');
            }
@@ -778,20 +778,22 @@
writer.append("<script language=\"JavaScript\" type= \"text/javascript\">");
            appendWhitespace(writer);
            writer.append("var data = {");
-            Iterator optionValueIter = allOptionValues.iterator();
            int count = 0;
-            while (optionValueIter.hasNext()) {
+ for (ModelFormField.OptionValue optionValue: allOptionValues) {
                count++;
- ModelFormField.OptionValue optionValue = (ModelFormField.OptionValue) optionValueIter.next();
-                writer.append(""+optionValue.getKey()+": ");
- writer.append(" '"+optionValue.getDescription() +"'");
+                writer.append("" + optionValue.getKey() + ": ");
+ writer.append(" '" + optionValue.getDescription() + "'");
                if (count != allOptionValues.size()) {
                        writer.append(", ");
                }
            }
            writer.append("};");
            appendWhitespace(writer);
- writer.append("ajaxAutoCompleteDropDown('"+textFieldIdName+"', '"+idName+"', data, {autoSelect: "+autoComplete.getAutoSelect()+", frequency: "+autoComplete.getFrequency()+", minChars: "+autoComplete.getMinChars()+", choices: "+autoComplete.getChoices() +", partialSearch: "+autoComplete.getPartialSearch()+", partialChars: "+autoComplete.getPartialChars()+", ignoreCase: "+autoComplete.getIgnoreCase()+", fullSearch: "+autoComplete.getFullSearch()+"});"); + writer.append("ajaxAutoCompleteDropDown('" + textFieldIdName + "', '" + idName + "', data, {autoSelect: " + + autoComplete.getAutoSelect() + ", frequency: " + autoComplete.getFrequency() + ", minChars: " + autoComplete.getMinChars() + + ", choices: " + autoComplete.getChoices() + ", partialSearch: " + autoComplete.getPartialSearch() + + ", partialChars: " + autoComplete.getPartialChars() + ", ignoreCase: " + autoComplete.getIgnoreCase() + + ", fullSearch: " + autoComplete.getFullSearch() + "});");
            appendWhitespace(writer);
            writer.append("</script>");
        } else {
@@ -2178,14 +2180,39 @@
            writer.append('"');
        }

-        if (!lookupField.getClientAutocompleteField()) {
+        String idName = modelFormField.getIdName();
+        if (UtilValidate.isNotEmpty(idName)) {
+            writer.append(" id=\"");
+            writer.append(idName);
+            writer.append('"');
+        }
+
+ List<ModelForm.UpdateArea> updateAreas = modelFormField.getOnChangeUpdateAreas(); + boolean ajaxEnabled = updateAreas != null && this.javaScriptEnabled; + if (!lookupField.getClientAutocompleteField() || ajaxEnabled) {
            writer.append(" autocomplete=\"off\"");
        }

        writer.append("/>");
+
+        this.addAsterisks(writer, context, modelFormField);
+
+ this.makeHyperlinkString(writer, lookupField.getSubHyperlink(), context);
+
+        this.appendTooltip(writer, context, modelFormField);
+
+        if (ajaxEnabled) {
+            appendWhitespace(writer);
+ writer.append("<script language=\"JavaScript\" type= \"text/javascript\">");
+            appendWhitespace(writer);
+ writer.append("ajaxAutoCompleter('" + createAjaxParamsFromUpdateAreas(updateAreas, null, context) + "');");
+            appendWhitespace(writer);
+            writer.append("</script>");
+        }
+        appendWhitespace(writer);

- String descriptionFieldName = lookupField.getDescriptionFieldName();
        // add lookup pop-up button
+ String descriptionFieldName = lookupField.getDescriptionFieldName();
        if (UtilValidate.isNotEmpty(descriptionFieldName)) {
writer.append("<a href= \"javascript:call_fieldlookup3(document."); writer .append(modelFormField.getModelForm().getCurrentFormName(context));


--
Antwebsystems.com: Quality OFBiz services for competitive prices


Reply via email to