]> wagnertech.de Git - kivitendo-erp.git/commitdiff
ActionBar: leere ComboBoxen gar nicht anzeigen
authorMoritz Bunkus <m.bunkus@linet-services.de>
Fri, 13 Jan 2017 09:29:47 +0000 (10:29 +0100)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Tue, 28 Feb 2017 09:43:59 +0000 (10:43 +0100)
SL/Layout/ActionBar/Action.pm
SL/Layout/ActionBar/ComboBox.pm
SL/Layout/ActionBar/Link.pm
SL/Layout/ActionBar/Submit.pm

index b72314b4a79edfb0a17e1dcbfb5334616ea3fe7b..3707dcf8b666143c7520c98e024aad8cea7e0184 100644 (file)
@@ -4,7 +4,7 @@ use strict;
 use parent qw(Rose::Object);
 
 use SL::Presenter;
-    require SL::Layout::ActionBar::Submit;
+require SL::Layout::ActionBar::Submit;
 
 use Rose::Object::MakeMethods::Generic (
   'scalar --get_set_init' => [ qw(id params text) ],
@@ -30,6 +30,8 @@ sub from_params {
   return SL::Layout::ActionBar::Submit->new(text => $text, params => \%params);
 }
 
+sub callable { 0 }
+
 # shortcut for presenter
 
 sub p {
index 555ae69b2f0810d6f8600e826e4d1c4caad06c3d..0ff0bc10d88c88bdb211d7274dc7ef3d25f796fa 100644 (file)
@@ -4,6 +4,7 @@ use strict;
 use parent qw(SL::Layout::ActionBar::Action);
 
 use JSON;
+use List::MoreUtils qw(none);
 
 use Rose::Object::MakeMethods::Generic (
   'scalar --get_set_init' => [ qw(actions) ],
@@ -21,6 +22,7 @@ sub from_params {
 sub render {
   my ($first, @rest) = @{ $_[0]->actions };
 
+  return                if none { $_->callable } @{ $_[0]->actions };
   return $first->render if !@rest;
 
   $_[0]->p->html_tag('div',
index 8eb890662b16ff35f51541f16907cc39bd539a49..31560c4bee813224f80869b70635e25fbfe1bbcb 100644 (file)
@@ -20,4 +20,6 @@ sub render {
   );
 }
 
+sub callable { 1 }
+
 1;
index a277e3be2dc4fa75b5980c7ec1bad232a947f7bd..a130209e9987f4b7e2711910ed6b22d238e99aef 100644 (file)
@@ -10,4 +10,9 @@ sub render {
   );
 }
 
+sub callable {
+  my ($self) = @_;
+  return $self->params->{submit} || $self->params->{call} || $self->params->{link};
+}
+
 1;