Part/Customer/Vendor: Bei click auf ein autocomplete item sofort committen
authorSven Schöling <s.schoeling@linet-services.de>
Tue, 13 Feb 2018 13:11:17 +0000 (14:11 +0100)
committerSven Schöling <s.schoeling@linet-services.de>
Tue, 13 Feb 2018 13:11:17 +0000 (14:11 +0100)
Betrifft nur die beiden schon auf commit umgestellten Picker. Historisch
benutzen die Picker ein zweistufiges Modell: Nach Texteingabe wird bei
der ersten aktion (sei es tab oder enter) erstmal vervollständigt, aber
nicht committed. Erst wenn dadurch die Maske in einen definierten
zustand gerät wird beim zweiten tab committed.

Es gibt aber diverse Szenarien wo die Absicht des Benutzers eindeutig
ist. Dabei kann dann der zweite Schritt übersprungen werden. Bisher war
das vor allem Texteingabe die eindeutig gematcht hat und dann mit Enter
abgeschlossen wurde. Der Klick auf ein Element im Drop-Down ist aber
definitiv auch ein solcher Fall.

js/kivi.CustomerVendor.js
js/kivi.Part.js

index a641adc..6ee499a 100644 (file)
@@ -395,6 +395,9 @@ namespace('kivi.CustomerVendor', function(ns) {
         },
         select: function(event, ui) {
           self.set_item(ui.item);
+          if (self.o.action.commit_one) {
+            self.run_action(self.o.action.commit_one);
+          }
         },
         search: function(event, ui) {
           if ((event.which == KEY.SHIFT) || (event.which == KEY.CTRL) || (event.which == KEY.ALT))
index 7680551..3828cfd 100644 (file)
@@ -494,6 +494,9 @@ namespace('kivi.Part', function(ns) {
         },
         select: function(event, ui) {
           self.set_item(ui.item);
+          if (self.o.action.commit_one) {
+            self.run_action(self.o.action.commit_one);
+          }
         },
         search: function(event, ui) {
           if ((event.which == KEY.SHIFT) || (event.which == KEY.CTRL) || (event.which == KEY.ALT))