Multibox: Einen weiteren Parameter ergänzt, mit dem gesteuert wird, ob überhaupt...
authorMoritz Bunkus <m.bunkus@linet-services.de>
Tue, 5 Aug 2008 09:39:24 +0000 (09:39 +0000)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Tue, 5 Aug 2008 09:39:24 +0000 (09:39 +0000)
templates/webpages/generic/multibox.html
templates/webpages/oe/form_header_de.html
templates/webpages/oe/form_header_master.html

index 018c1c9..b1c615e 100644 (file)
@@ -6,39 +6,40 @@
   decides wether it should be a text field or a drop down box,
   generates the HTML code, and fixes everything just right.
 
-  call:  INCLUDE generic/multibox.html var = var, var2 = .... 
+  call:  INCLUDE generic/multibox.html var = var, var2 = ....
 
   options and variables:
-    name       : name of the select/textfield
-    id         : id of the select/textfield, optional, defaults to name
-    default    : entered/selected value. defaults to a dereference of name, since it is usually set to that for update mechanisms
-    id_key     : key that holds the id in each row.
-    id_sub     : name of a perl sub that calculates the id for each row. will be called with a hashref.
-    label_key  : key that holds the label in each row.
-    label_sub  : name of a perl sub that calculates the label for each row. will be called with a hashref.
-    DATA       : the actual data, expected to be arrayref of hashrefs, usually what's returned by the all_vc routines.
-    limit      : defines the limit of entries, after which a textbox is generated. defaults to vclimit, or, failing to find that, 50.
-    show_empty : show an empty first line in select boxes. defaults to false
-    style      : additional style information
-    onChange   : java magic on change
-    select     : java function call for a selection popup or other magic
+    name          : name of the select/textfield
+    id            : id of the select/textfield, optional, defaults to name
+    default       : entered/selected value. defaults to a dereference of name, since it is usually set to that for update mechanisms
+    id_key        : key that holds the id in each row.
+    id_sub        : name of a perl sub that calculates the id for each row. will be called with a hashref.
+    label_key     : key that holds the label in each row.
+    label_sub     : name of a perl sub that calculates the label for each row. will be called with a hashref.
+    DATA          : the actual data, expected to be arrayref of hashrefs, usually what's returned by the all_vc routines.
+    show_empty    : show an empty first line in select boxes. defaults to false
+    style         : additional style information
+    onChange      : java magic on change
+    select        : java function call for a selection popup or other magic
+    allow_textbox : allow to display a textbox instead of a drop down box if there are more entries than 'limit' entries.
+    limit         : defines the limit of entries, after which a textbox is generated. defaults to vclimit, or, failing to find that, 200.
 -%]
-[%- DEFAULT 
-  limit      = limit != ''   ? limit   : 50
-  id         = id    != ''   ? id      : name
+[%- DEFAULT
+  limit      = limit   != '' ? limit   : vclimit != '' ? vclimit : 200
+  id         = id      != '' ? id      : name
   default    = default != '' ? default : $name
 -%]
 [%- FOREACH row = DATA %]
   [%-
        row.id       = row.$id_key     != ''  ? row.$id_key    : $id_sub(row)
-       row.label    = row.$label_key  != ''  ? row.$label_key 
-                    : $label_sub(row) != ''  ? $label_sub(row) 
+       row.label    = row.$label_key  != ''  ? row.$label_key
+                    : $label_sub(row) != ''  ? $label_sub(row)
                     :                          row.id
        row.selected = default == row.id
   -%]
 [%- END -%]
-[%- IF DATA.size and limit < DATA.size %]
-<input type="text" 
+[%- IF allow_textbox and DATA.size and limit < DATA.size %]
+<input type="text"
  [%- IF name     %] name="[%     HTML.escape(name)     %]"[% END %]
  [%- IF id       %] id="[%       HTML.escape(id)       %]"[% END %]
  [%- IF default  %] value="[%    HTML.escape(default)  %]"[% END %]
@@ -48,7 +49,7 @@
   <input type="button" onclick="[% select %]" value="?">
 [% END %]
 [%- ELSE %]
-<select 
+<select
  [%- IF name     %] name="[%     HTML.escape(name)     %]"[% END %]
  [%- IF id       %] id="[%       HTML.escape(id)       %]"[% END %]
  [%- IF style    %] style="[%    HTML.escape(style)    %]"[% END %]
index 8f158c9..ba4bd1b 100644 (file)
                     <th align="right">[% IF vc == 'customer' %]Kunde[% ELSE %]Lieferant[% END %]</th>
                     <td>
                       [%- INCLUDE 'generic/multibox.html'
-                           name       = vc,
-                           style      = 'width: 250px',
-                           DATA       = vc == 'customer' ? ALL_CUSTOMERS : ALL_VENDORS,
-                           id_sub     = 'vc_keys',
-                           label_key  = 'name',
-                           select     = vc_select,
-                           limit      = vclimit,
-                           onChange   = "document.getElementById('update_button').click();" -%]
+                           name          = vc,
+                           style         = 'width: 250px',
+                           DATA          = vc == 'customer' ? ALL_CUSTOMERS : ALL_VENDORS,
+                           id_sub        = 'vc_keys',
+                           label_key     = 'name',
+                           select        = vc_select,
+                           limit         = vclimit,
+                           allow_textbox = 1,
+                           onChange      = "document.getElementById('update_button').click();" -%]
                       <input type="button" value="D" onclick="show_vc_details('[% HTML.escape(vc) %]')">
                     </td>
                   </tr>
index 1849c46..308bd16 100644 (file)
                     <th align="right">[% IF vc == 'customer' %]<translate>Customer</translate>[% ELSE %]<translate>Vendor</translate>[% END %]</th>
                     <td>
                       [%- INCLUDE 'generic/multibox.html'
-                           name       = vc,
-                           style      = 'width: 250px',
-                           DATA       = vc == 'customer' ? ALL_CUSTOMERS : ALL_VENDORS,
-                           id_sub     = 'vc_keys',
-                           label_key  = 'name',
-                           select     = vc_select,
-                           limit      = vclimit,
-                           onChange   = "document.getElementById('update_button').click();" -%]
+                           name          = vc,
+                           style         = 'width: 250px',
+                           DATA          = vc == 'customer' ? ALL_CUSTOMERS : ALL_VENDORS,
+                           id_sub        = 'vc_keys',
+                           label_key     = 'name',
+                           select        = vc_select,
+                           limit         = vclimit,
+                           allow_textbox = 1,
+                           onChange      = "document.getElementById('update_button').click();" -%]
                       <input type="button" value="D" onclick="show_vc_details('[% HTML.escape(vc) %]')">
                     </td>
                   </tr>