Update zu Multibox - select_name
authorSven Schöling <s.schoeling@linet-services.de>
Fri, 1 Oct 2010 10:37:15 +0000 (12:37 +0200)
committerSven Schöling <s.schoeling@linet-services.de>
Fri, 1 Oct 2010 10:37:15 +0000 (12:37 +0200)
Da sql ledger diees unsägliche mixen von Daten in einem einzigen Feld betreibt,
gibt es immer wieder Probleme mit der Verwechselung von id und Content Text.
Multibox kann das jetzt auseinanderhalten.

Das neue Attribut select_name wird als name benutzt, wenn eine select_box
gerendert wird, nicht aber wenn ein textfeld gerendert wird. So lässt sich ein
Textfeld mit Textinput auf (Beispiel) customer mappen, eine selectbox aber
direkt mit ids umgehen und auf customer_id mappen.

Beispiel folgt gleich.

templates/webpages/generic/multibox.html

index ccb87cb..b26f86f 100644 (file)
     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.
+    select_name   : if a select is displayed, use a different name. ex.: department for textinput, but department_id for selects
     readonly      : softly prevents modification
 -%]
 [%- DEFAULT
   limit      = limit   != '' ? limit   : vclimit != '' ? vclimit : 200
+  show_text  = allow_textbox and DATA.size and limit < DATA.size ? 1 : 0
   id         = id      != '' ? id      : name
   default    = default != '' ? default : $name
 -%]
+[%-
+  name       = (select_name != '' and ! show_text) ? select_name : name
+-%]
 [%- FOREACH row = DATA %]
   [%-
        row.id       = row.$id_key     != ''  ? row.$id_key    : $id_sub(row)
@@ -39,7 +44,7 @@
        row.selected = default == row.id
   -%]
 [%- END -%]
-[%- IF allow_textbox and DATA.size and limit < DATA.size %]
+[%- IF show_text %]
 <input type="text"
  [%- IF name     %] name="[%     HTML.escape(name)     %]"[% END -%]
  [%- IF id       %] id="[%       HTML.escape(id)       %]"[% END -%]