X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=js%2Fkivi.Order.js;h=5d891d56eaa767aede739681bea79c89e99bf2bc;hb=4a79f4849940c1654d6d2cd60d4847106529d2b0;hp=741526f8690f118302ef0f52f66971bd0d77c402;hpb=28a7a5397bb2363fe72f9f43759d429535e29391;p=kivitendo-erp.git diff --git a/js/kivi.Order.js b/js/kivi.Order.js index 741526f86..5d891d56e 100644 --- a/js/kivi.Order.js +++ b/js/kivi.Order.js @@ -190,12 +190,58 @@ namespace('kivi.Order', function(ns) { return; } var data = $('#order_form').serializeArray(); - data.push({ name: 'action', value: 'Order/load_second_row' }); - data.push({ name: 'item_id', value: item_id_dom.val() }); + data.push({ name: 'action', value: 'Order/load_second_rows' }); + data.push({ name: 'item_ids[]', value: item_id_dom.val() }); + + $.post("controller.pl", data, kivi.eval_json_result); + }; + + ns.load_all_second_rows = function() { + var rows = $('.row_entry').filter(function(idx, elt) { + return $(elt).find('[name="second_row"]').data('loaded') != 1; + }); + + var item_ids = $.map(rows, function(elt) { + var item_id = $(elt).find('[name="orderitem_ids[+]"]').val(); + return { name: 'item_ids[]', value: item_id }; + }); + + if (item_ids.length == 0) { + return; + } + + var data = $('#order_form').serializeArray(); + data.push({ name: 'action', value: 'Order/load_second_rows' }); + data = data.concat(item_ids); $.post("controller.pl", data, kivi.eval_json_result); }; + ns.hide_second_row = function(row) { + $(row).children().not(':first').hide(); + $(row).data('expanded', 0); + var elt = $(row).find('.expand'); + elt.attr('src', "image/expand.svg"); + elt.attr('alt', kivi.t8('Show details')); + elt.attr('title', kivi.t8('Show details')); + }; + + ns.show_second_row = function(row) { + $(row).children().not(':first').show(); + $(row).data('expanded', 1); + var elt = $(row).find('.expand'); + elt.attr('src', "image/collapse.svg"); + elt.attr('alt', kivi.t8('Hide details')); + elt.attr('title', kivi.t8('Hide details')); + }; + + ns.toggle_second_row = function(row) { + if ($(row).data('expanded') == 1) { + ns.hide_second_row(row); + } else { + ns.show_second_row(row); + } + }; ns.init_row_handlers = function() { kivi.run_once_for('.recalc', 'on_change_recalc', function(elt) { @@ -218,30 +264,43 @@ namespace('kivi.Order', function(ns) { event.preventDefault(); var row = $(event.target).parents(".row_entry").first(); ns.load_second_row(row); - $(row).children().not(':first').show(); + ns.show_second_row(row); return false; } if(event.keyCode == 38 && event.shiftKey === true) { // shift arrow up event.preventDefault(); var row = $(event.target).parents(".row_entry").first(); - $(row).children().not(':first').hide(); + ns.hide_second_row(row); return false; } }); - $(elt).dblclick(function(event) { + }); + + kivi.run_once_for('.expand', 'expand_second_row', function(elt) { + $(elt).click(function(event) { event.preventDefault(); var row = $(event.target).parents(".row_entry").first(); ns.load_second_row(row); - $(row).children().not(':first').toggle(); + ns.toggle_second_row(row); return false; - }); + }) }); + }; - ns.redisplay_linetotals = function(data) { - $('.row_entry [name="linetotal"]').each(function(idx, elt) { - $(elt).html(data[idx]); + ns.redisplay_line_values = function(is_sales, data) { + $('.row_entry').each(function(idx, elt) { + $(elt).find('[name="linetotal"]').html(data[idx][0]); + if (is_sales && $(elt).find('[name="second_row"]').data('loaded') == 1) { + var mt = data[idx][1]; + var mp = data[idx][2]; + var h = '