ActionBar: ComboBox mit nur einem Eintrag wie Eintrag rendern
authorMoritz Bunkus <m.bunkus@linet-services.de>
Fri, 13 Jan 2017 09:25:48 +0000 (10:25 +0100)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Tue, 28 Feb 2017 09:43:59 +0000 (10:43 +0100)
Das erleichtert, wenn man in einer ComboBox mehrere Einträge evtl. gar
nicht anzeigt. Der Aufrufer muss dann nicht prüfen, ob er der ComboBox
einen oder mehrere Einträge übergibt.

SL/Layout/ActionBar/ComboBox.pm

index 9a54539..555ae69 100644 (file)
@@ -20,6 +20,9 @@ sub from_params {
 
 sub render {
   my ($first, @rest) = @{ $_[0]->actions };
+
+  return $first->render if !@rest;
+
   $_[0]->p->html_tag('div',
     $_[0]->p->html_tag('div', $first->render . $_[0]->p->html_tag('span'), class => 'layout-actionbar-combobox-head') .
     $_[0]->p->html_tag('div', join('', map { $_->render } @rest), class => 'layout-actionbar-combobox-list'),