Neue version vom lieferplan, die Splitlieferungen besser unterstützt.
[kivitendo-erp.git] / js / autocomplete_part.js
index 0a4886f..04af286 100644 (file)
@@ -26,16 +26,20 @@ namespace('kivi', function(k){
     var state   = STATES.PICKED;
     var last_real = $real.val();
     var last_dummy = $dummy.val();
-    var open_dialog = function(){
-      open_jqm_window({
+    var timer;
+
+    function open_dialog () {
+      k.popup_dialog({
         url: 'controller.pl?action=Part/part_picker_search',
         data: $.extend({
           real_id: real_id,
         }, ajax_data($dummy.val())),
         id: 'part_selection',
+        dialog: { title: k.t8('Part picker') }
       });
+      window.clearTimeout(timer);
       return true;
-    };
+    }
 
     function ajax_data(term) {
       var data = {
@@ -89,8 +93,13 @@ namespace('kivi', function(k){
       });
     };
 
+    function result_timer (event) {
+      window.clearTimeout(timer);
+      timer = window.setTimeout(update_results, 100);
+    }
+
     function close_popup() {
-      $('#part_selection').jqmClose()
+      $('#part_selection').dialog('close');
     };
 
     $dummy.autocomplete({
@@ -156,7 +165,10 @@ namespace('kivi', function(k){
       }
     });
 
-//    $dummy.blur(make_defined_state);  // blur triggers also on open_jqm_dialog
+    $dummy.blur(function(){
+      window.clearTimeout(timer);
+      timer = window.setTimeout(make_defined_state, 100);
+    });
 
     // now add a picker div after the original input
     var pcont  = $('<span>').addClass('position-absolute');
@@ -173,6 +185,7 @@ namespace('kivi', function(k){
       convertible_unit: function() { return $convertible_unit },
       column:         function() { return $column },
       update_results: update_results,
+      result_timer:   result_timer,
       set_item:       set_item,
       reset:          make_defined_state,
       init_results:    function () {