svn commit: r516319 - in /ofbiz/trunk/framework/widget: dtd/widget-form.xsd src/org/ofbiz/widget/form/ModelFormField.java src/org/ofbiz/widget/html/HtmlFormRenderer.java

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r516319 - in /ofbiz/trunk/framework/widget: dtd/widget-form.xsd src/org/ofbiz/widget/form/ModelFormField.java src/org/ofbiz/widget/html/HtmlFormRenderer.java

jaz-3
Author: jaz
Date: Thu Mar  8 23:28:10 2007
New Revision: 516319

URL: http://svn.apache.org/viewvc?view=rev&rev=516319
Log:
implemented multi-select

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?view=diff&rev=516319&r1=516318&r2=516319
==============================================================================
--- ofbiz/trunk/framework/widget/dtd/widget-form.xsd (original)
+++ ofbiz/trunk/framework/widget/dtd/widget-form.xsd Thu Mar  8 23:28:10 2007
@@ -565,6 +565,14 @@
                 </xs:restriction>
             </xs:simpleType>
         </xs:attribute>
+        <xs:attribute name="allow-multiple" default="false">
+            <xs:simpleType>
+                <xs:restriction base="xs:token">
+                    <xs:enumeration value="true"/>
+                    <xs:enumeration value="false"/>
+                </xs:restriction>
+            </xs:simpleType>
+        </xs:attribute>
         <xs:attribute name="current" default="first-in-list">
             <xs:simpleType>
                 <xs:restriction base="xs:token">
@@ -576,6 +584,7 @@
         <xs:attribute type="xs:string" name="no-current-selected-key">
             <xs:annotation><xs:documentation>The key to mark as selected when there is no current entry value.</xs:documentation></xs:annotation>
         </xs:attribute>
+        <xs:attribute type="xs:integer" name="size" default="1"/>
         <xs:attribute type="xs:string" name="current-description"/>
         <xs:attribute type="xs:integer" name="other-field-size" default="0">
             <xs:annotation><xs:documentation>If non-zero, a text field will conditionally show

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?view=diff&rev=516319&r1=516318&r2=516319
==============================================================================
--- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormField.java (original)
+++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormField.java Thu Mar  8 23:28:10 2007
@@ -2439,7 +2439,9 @@
 
     public static class DropDownField extends FieldInfoWithOptions {
         protected boolean allowEmpty = false;
+        protected boolean allowMulti = false;
         protected String current;
+        protected String size;
         protected FlexibleStringExpander currentDescription;
         protected SubHyperlink subHyperlink;
         protected int otherFieldSize = 0;
@@ -2460,9 +2462,16 @@
             super(element, modelFormField);
 
             this.current = element.getAttribute("current");
+            this.size = element.getAttribute("size");
             this.allowEmpty = "true".equals(element.getAttribute("allow-empty"));
+            this.allowMulti = "true".equals(element.getAttribute("allow-multiple"));
             this.currentDescription = new FlexibleStringExpander(element.getAttribute("current-description"));
 
+            // set the default size
+            if (size == null) {
+                size = "1";
+            }
+
             String sizeStr = element.getAttribute("other-field-size");
             try {
                 this.otherFieldSize = Integer.parseInt(sizeStr);
@@ -2486,6 +2495,10 @@
             return this.allowEmpty;
         }
 
+        public boolean isAllowMultiple() {
+            return this.allowMulti;
+        }
+
         public String getCurrent() {
             if (UtilValidate.isEmpty(this.current)) {
                 return "first-in-list";
@@ -2522,6 +2535,10 @@
         
         public int getOtherFieldSize() {
             return this.otherFieldSize;  
+        }
+
+        public String getSize() {
+            return this.size;
         }
         
         /**

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?view=diff&rev=516319&r1=516318&r2=516319
==============================================================================
--- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlFormRenderer.java (original)
+++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlFormRenderer.java Thu Mar  8 23:28:10 2007
@@ -554,6 +554,10 @@
             buffer.append(idName);
             buffer.append('"');
         }
+
+        if (dropDownField.isAllowMultiple()) {
+            buffer.append(" multiple=\"multiple\"");
+        }
         
         int otherFieldSize = dropDownField.getOtherFieldSize();
         String otherFieldName = dropDownField.getParameterNameOther(context);
@@ -576,7 +580,7 @@
             buffer.append('"');
         }
 
-        buffer.append(" size=\"1\">");
+        buffer.append(" size=\"").append(dropDownField.getSize()).append("\">");
 
         String currentValue = modelFormField.getEntry(context);
         List allOptionValues = dropDownField.getAllOptionValues(context, modelForm.getDelegator());