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
