X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/83fb0fe04ed0f7855c4d54f91a5fc508c47e058e..b5f1ec5bca2eb20a2f66deaef70d41e26212cf82:/js/autocomplete_part.js diff --git a/js/autocomplete_part.js b/js/autocomplete_part.js index b89751e3b..fd1bda87c 100644 --- a/js/autocomplete_part.js +++ b/js/autocomplete_part.js @@ -8,10 +8,15 @@ namespace('kivi', function(k){ ESCAPE: 27, ENTER: 13, TAB: 9, + LEFT: 37, + RIGHT: 39, + PAGE_UP: 33, + PAGE_DOWN: 34, }; var o = $.extend({ limit: 20, delay: 50, + fat_set_item: $real.hasClass('partpicker_fat_set_item'), }, options); var STATES = { UNIQUE: 1, @@ -26,15 +31,21 @@ namespace('kivi', function(k){ var state = STATES.PICKED; var last_real = $real.val(); var last_dummy = $dummy.val(); + var last_unverified_dummy = $dummy.val(); var timer; function open_dialog () { - open_jqm_window({ + k.popup_dialog({ url: 'controller.pl?action=Part/part_picker_search', data: $.extend({ real_id: real_id, - }, ajax_data($dummy.val())), + }, ajax_data(last_unverified_dummy)), id: 'part_selection', + dialog: { + title: k.t8('Part picker'), + width: 800, + height: 800, + } }); window.clearTimeout(timer); return true; @@ -42,9 +53,10 @@ namespace('kivi', function(k){ function ajax_data(term) { var data = { - 'filter.all:substr::ilike': term, + 'filter.all:substr:multi::ilike': term, 'filter.obsolete': 0, 'filter.unit_obj.convertible_to': $convertible_unit && $convertible_unit.val() ? $convertible_unit.val() : '', + no_paginate: $('#no_paginate').prop('checked') ? 1 : 0, column: $column && $column.val() ? $column.val() : '', current: $real.val(), }; @@ -71,6 +83,18 @@ namespace('kivi', function(k){ last_real = $real.val(); last_dummy = $dummy.val(); $real.trigger('change'); + + if (o.fat_set_item && item.id) { + $.ajax({ + url: 'controller.pl?action=Part/show.json', + data: { id: item.id }, + success: function(rsp) { + $real.trigger('set_item:PartPicker', rsp); + }, + }); + } else { + $real.trigger('set_item:PartPicker', item); + } } function make_defined_state () { @@ -79,6 +103,7 @@ namespace('kivi', function(k){ else if (state == STATES.UNDEFINED && $dummy.val() == '') set_item({}) else + last_unverified_dummy = $dummy.val(); set_item({ id: last_real, name: last_dummy }) } @@ -93,12 +118,22 @@ namespace('kivi', function(k){ }; function result_timer (event) { + if (!$('no_paginate').prop('checked')) { + if (event.keyCode == KEY.PAGE_UP) { + $('#part_picker_result a.paginate-prev').click(); + return; + } + if (event.keyCode == KEY.PAGE_DOWN) { + $('#part_picker_result a.paginate-next').click(); + return; + } + } window.clearTimeout(timer); timer = window.setTimeout(update_results, 100); } function close_popup() { - $('#part_selection').jqmClose() + $('#part_selection').dialog('close'); }; $dummy.autocomplete({ @@ -174,7 +209,7 @@ namespace('kivi', function(k){ var picker = $('