Revision d8a1906b
Von Bernd Bleßmann vor etwa 8 Jahren hinzugefügt
SL/Controller/Order.pm | ||
---|---|---|
423 | 423 |
$self->js |
424 | 424 |
->append('#row_table_id', $row_as_html) |
425 | 425 |
->val('.add_item_input', '') |
426 |
->run('init_row_handlers') |
|
426 | 427 |
->run('row_table_scroll_down') |
427 |
->run('row_set_keyboard_events_by_id', $item_id) |
|
428 |
->run('set_unit_change_with_oldval_by_id', $item_id) |
|
429 | 428 |
->run('renumber_positions') |
430 |
->on('.recalc', 'change', 'recalc_amounts_and_taxes') |
|
431 |
->on('.reformat_number', 'change', 'reformat_number') |
|
432 | 429 |
->focus('#add_item_parts_id_name'); |
433 | 430 |
|
434 | 431 |
$self->_js_redisplay_amounts_and_taxes; |
... | ... | |
483 | 480 |
ALL_PRICE_FACTORS => $self->all_price_factors |
484 | 481 |
); |
485 | 482 |
|
486 |
$self->js |
|
487 |
->append('#row_table_id', $row_as_html) |
|
488 |
->run('row_set_keyboard_events_by_id', $item_id) |
|
489 |
->run('set_unit_change_with_oldval_by_id', $item_id); |
|
483 |
$self->js->append('#row_table_id', $row_as_html); |
|
490 | 484 |
} |
491 | 485 |
|
492 | 486 |
$self->js |
493 | 487 |
->run('close_multi_items_dialog') |
488 |
->run('init_row_handlers') |
|
494 | 489 |
->run('row_table_scroll_down') |
495 | 490 |
->run('renumber_positions') |
496 |
->on('.recalc', 'change', 'recalc_amounts_and_taxes') |
|
497 |
->on('.reformat_number', 'change', 'reformat_number') |
|
498 | 491 |
->focus('#add_item_parts_id_name'); |
499 | 492 |
|
500 | 493 |
$self->_js_redisplay_amounts_and_taxes; |
Auch abrufbar als: Unified diff
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.