From 7e771bdf6e12012d050819d91dbaa035df465797 Mon Sep 17 00:00:00 2001 From: Moritz Bunkus Date: Wed, 13 Mar 2013 16:50:11 +0100 Subject: [PATCH] Pflichtenheftitems: current_content_type/_id nach Auswahl eines bereits Angezeigten fixen --- SL/Controller/RequirementSpecItem.pm | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/SL/Controller/RequirementSpecItem.pm b/SL/Controller/RequirementSpecItem.pm index b1709ce09..326ac8680 100644 --- a/SL/Controller/RequirementSpecItem.pm +++ b/SL/Controller/RequirementSpecItem.pm @@ -40,9 +40,14 @@ sub action_ajax_list { return $self->render($js); } - $self->item(SL::DB::RequirementSpecItem->new(id => $::form->{clicked_id})->load->get_section); + my $clicked_item = SL::DB::RequirementSpecItem->new(id => $::form->{clicked_id})->load; + $self->item($clicked_item->get_section); - $self->render_list($js, $self->item) if !$self->visible_section || ($self->visible_section->id != $self->item->id); + if (!$self->visible_section || ($self->visible_section->id != $self->item->id)) { + $self->render_list($js, $self->item, $clicked_item); + } else { + $self->select_node($js, $clicked_item); + } $self->render($js); } @@ -398,11 +403,16 @@ sub replace_bottom { } sub render_list { - my ($self, $js, $item) = @_; + my ($self, $js, $item, $item_to_select) = @_; my $html = $self->render('requirement_spec_item/_section', { output => 0 }, requirement_spec_item => $item); - $js->html('#column-content', $html) - ->val( '#current_content_type', $item->get_type) + $self->select_node($js->html('#column-content', $html), $item_to_select || $item); +} + +sub select_node { + my ($self, $js, $item) = @_; + + $js->val( '#current_content_type', $item->get_type) ->val( '#current_content_id', $item->id) ->jstree->select_node('#tree', '#fb-' . $item->id); } -- 2.20.1