]> wagnertech.de Git - mfinanz.git/commitdiff
ActionBar: bei Click auf Combo ohne oberste Action Menü aufklappen
authorMoritz Bunkus <m.bunkus@linet-services.de>
Wed, 9 Nov 2016 11:28:11 +0000 (12:28 +0100)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Tue, 28 Feb 2017 09:04:33 +0000 (10:04 +0100)
Manche Comboboxes wie z.B. »Workflow« oder »mehr« haben auf dem obersten
Button keine Action konfiguriert (weder »submit« noch »call«). Um die
Benutzer nicht zu sehr zu verwirren, werden diese nun nicht mehr als
deaktiviert dargestellt. Bei einem Klick auf den Button-Teil der
Combobox wird dann das Menü aufgeklappt, genau so, als hätte man auf den
Pfeil-Teil geklickt.

bin/mozilla/ir.pl
bin/mozilla/is.pl
bin/mozilla/oe.pl
js/kivi.ActionBar.js

index 69dd201d94592247ab19fbe1036ce871aad11c38..ecd2696d71a3105deeb0d0aed3b78908955fd89c 100644 (file)
@@ -267,9 +267,7 @@ sub setup_ir_action_bar {
     $bar->add_actions('separator');
 
     $bar->add_actions('combobox');
-    $bar->actions->[-1]->add_actions([ t8('more'),
-      disabled => 1,
-    ]);
+    $bar->actions->[-1]->add_actions([ t8('more') ]);
     $bar->actions->[-1]->add_actions([ t8('History'),
       call     => [ 'set_history_window', $::form->{id} * 1, 'id', 'glid' ],
       disabled => !$form->{id} ? t8('This invoice has not been posted yet.') : undef,
index c2e696854bf0ddf18458917912c1c5f1eab02a26..297a87d5a248640e0326bf2b3fc9284ade68503a 100644 (file)
@@ -309,9 +309,7 @@ sub setup_is_action_bar {
     $bar->add_actions('separator');
 
     $bar->add_actions('combobox');
-    $bar->actions->[-1]->add_actions([ t8('Workflow'),
-      disabled => 1,
-    ]);
+    $bar->actions->[-1]->add_actions([ t8('Workflow') ]);
     $bar->actions->[-1]->add_actions([ t8('Use As New'),
       submit   => [ '#form', { action_use_as_new    => 1 } ],
       disabled => !$form->{id} ? t8('This invoice has not been posted yet.') : undef,
@@ -329,9 +327,7 @@ sub setup_is_action_bar {
     ]);
 
     $bar->add_actions('combobox');
-    $bar->actions->[-1]->add_actions([ t8('Export'),
-      disabled => 1,
-    ]);
+    $bar->actions->[-1]->add_actions([ t8('Export') ]);
     $bar->actions->[-1]->add_actions([ ($form->{id} ? t8('Print') : t8('Preview')),
       submit   => [ '#form', { action_print => 1 } ],
       checks   => [ @req_trans_desc ],
@@ -343,9 +339,7 @@ sub setup_is_action_bar {
       disabled => !$form->{id} ? t8('This invoice has not been posted yet.') : undef,
     ]);
     $bar->add_actions('combobox');
-    $bar->actions->[-1]->add_actions([ t8('more'),
-      disabled => 1,
-    ]);
+    $bar->actions->[-1]->add_actions([ t8('more') ]);
     $bar->actions->[-1]->add_actions([ t8('History'),
       call     => [ 'set_history_window', $form->{id} * 1, 'id' ],
       disabled => !$form->{id} ? t8('This invoice has not been posted yet.') : undef,
index 16a27b667f8937477ded26710c3f29e783bf78a1..4f28be89afc8e2c1eba7bc7efece955b3cee1ded 100644 (file)
@@ -352,9 +352,7 @@ sub setup_oe_action_bar {
     $bar->add_actions('separator');
 
     $bar->add_actions('combobox');
-    $bar->actions->[-1]->add_actions([ t8('Workflow'),
-      disabled => 1,
-    ]);
+    $bar->actions->[-1]->add_actions([ t8('Workflow') ]);
     $bar->actions->[-1]->add_actions([ t8('Sales Order'),
       submit   => [ '#form', { action_sales_order => 1 } ],
       disabled => !$form->{id} ? t8('This record has not been saved yet.') : undef,
@@ -381,9 +379,7 @@ sub setup_oe_action_bar {
     ]);
 
     $bar->add_actions('combobox');
-    $bar->actions->[-1]->add_actions([ t8('Export'),
-      disabled => 1,
-    ]);
+    $bar->actions->[-1]->add_actions([ t8('Export') ]);
     $bar->actions->[-1]->add_actions([ t8('Print'),
       submit => [ '#form', { action_print => 1 } ],
       checks => [ @req_trans_desc ],
@@ -393,9 +389,7 @@ sub setup_oe_action_bar {
       checks => [ @req_trans_desc ],
     ]);
     $bar->add_actions('combobox');
-    $bar->actions->[-1]->add_actions([ t8('more'),
-      disabled => 1,
-    ]);
+    $bar->actions->[-1]->add_actions([ t8('more') ]);
     $bar->actions->[-1]->add_actions([ t8('History'),
       call     => [ 'set_history_window', $form->{id} * 1, 'id' ],
       disabled => !$form->{id} ? t8('This record has not been saved yet.') : undef,
index 0963d73da2d8ea854a96890b09d033015ff99526..cda193562c134f66a5b87a6c03885613b6818d9f 100644 (file)
@@ -10,21 +10,28 @@ namespace('kivi', function(k){
   };
 
   k.ActionBarCombobox = function(e) {
-    this.combobox = e;
-    this.head     = e.childNodes[0];
-    this.toggle   = this.head.childNodes[1];
-    this.list     = e.childNodes[0];
+    this.combobox  = e;
+    this.head      = e.childNodes[0];
+    this.topAction = this.head.childNodes[0];
+    this.toggle    = this.head.childNodes[1];
+    this.list      = e.childNodes[0];
     this.init();
   };
 
   k.ActionBarCombobox.prototype = {
     init: function() {
-      var obj = this;
-      $(obj.toggle).on('click', function(event){
+      var obj     = this;
+      var toggler = function(event){
         $('div.' + CLASSES.combobox + '[id!=' + obj.combobox.id + ']').removeClass(CLASSES.active);
         $(obj.combobox).toggleClass(CLASSES.active);
         event.stopPropagation();
-      });
+      };
+
+      $(obj.toggle).on('click', toggler);
+
+      var data = $(this.topAction).data('action') || {};
+      if (!data.call && !data.submit)
+        $(this.topAction).on('click', toggler);
     }
   };