X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/2c739dfda3d2f83c3a66d5661d1c63f475cbaab3..00ad7b5631ca2557bd02a592b4598699e47edbbd:/js/autocomplete_part.js diff --git a/js/autocomplete_part.js b/js/autocomplete_part.js index b89751e3b..d0984eb01 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, @@ -29,12 +34,17 @@ namespace('kivi', function(k){ 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())), id: 'part_selection', + dialog: { + title: k.t8('Part picker'), + width: 800, + height: 800, + } }); window.clearTimeout(timer); return true; @@ -42,9 +52,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 +82,18 @@ namespace('kivi', function(k){ last_real = $real.val(); last_dummy = $dummy.val(); $real.trigger('change'); + + if (o.fat_set_item) { + $.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 () { @@ -93,12 +116,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 +207,7 @@ namespace('kivi', function(k){ var picker = $('