Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision d8a1906b

Von Bernd Bleßmann vor mehr als 9 Jahren hinzugefügt

  • ID d8a1906bf172509d96f3311dc17e0609ab96bd29
  • Vorgänger 32951b1f
  • Nachfolger 0935b012

Auftrags-Controller: event bindings nicht mehrfach hinzufügen.

Dazu event handler für die Positions-Zeilen mit run_once_for registrieren und
in eine eigene Funktion init_row_handlers() ausgelagert. Damit kann
init_row_handlers() gefahrlos immer nach dem Hinzufügen neuer Positionen
aufgerufen werden, ohne einen Handler mehrmals zu registrieren.

Unterschiede anzeigen:

templates/webpages/order/tabs/basic_data.html
$('#row_table_scroll_id').scrollTop($('#row_table_scroll_id')[0].scrollHeight);
}
function row_set_keyboard_events_by_id(item_id) {
var row = $('#item_' + item_id).parents("tbody").first();
row_set_keyboard_events(row);
}
function row_set_keyboard_events(rows) {
$(rows).keydown(function(event) {
if(event.keyCode == 40 && event.shiftKey == true) {
// shift arrow down
event.preventDefault();
var row = $(event.target).parents(".row_entry").first();
$(row).children().not(':first').show();
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();
return false;
}
});
$(rows).dblclick(function(event) {
event.preventDefault();
var row = $(event.target).parents(".row_entry").first();
$(row).children().not(':first').toggle();
return false;
});
}
function set_unit_change_with_oldval_by_id(item_id) {
var row = $('#item_' + item_id).parents("tbody").first();
var select_elt = $(row).find('[name="order.orderitems[].unit"]');
set_unit_change_with_oldval(select_elt);
}
function set_unit_change_with_oldval(selects) {
selects.each(function(idx,elt) {
$(elt).data('oldval', $(elt).val());
});
selects.change(unit_change);
}
var email_dialog;
function show_email_dialog(html) {
......
kivi.SalesPurchase.edit_longdescription_with_params(params);
}
function init_row_handlers() {
kivi.run_once_for('.recalc', 'on_change_recalc', function(elt) {
$(elt).change(recalc_amounts_and_taxes);
});
kivi.run_once_for('.reformat_number', 'on_change_reformat', function(elt) {
$(elt).change(reformat_number);
});
kivi.run_once_for('.unitselect', 'on_change_unit_with_oldval', function(elt) {
$(elt).data('oldval', $(elt).val());
$(elt).change(unit_change);
});
kivi.run_once_for('.row_entry', 'on_kbd_click_show_hide', function(elt) {
$(elt).keydown(function(event) {
if(event.keyCode == 40 && event.shiftKey == true) {
// shift arrow down
event.preventDefault();
var row = $(event.target).parents(".row_entry").first();
$(row).children().not(':first').show();
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();
return false;
}
});
$(elt).dblclick(function(event) {
event.preventDefault();
var row = $(event.target).parents(".row_entry").first();
$(row).children().not(':first').toggle();
return false;
});
});
}
$(function(){
$('#order_[%- cv_id %]').change(reload_cv_dependend_selections);
[%- IF SELF.cv == 'customer' %]
......
return false;
}
});
row_set_keyboard_events($('.row_entry'));
$('.recalc').change(recalc_amounts_and_taxes);
$('.reformat_number').change(reformat_number);
set_unit_change_with_oldval($('.unitselect'));
init_row_handlers();
});
$('#row_table_id').on('sortstop', function(event, ui) {

Auch abrufbar als: Unified diff