my $old_visible_section = $self->visible_section ? $self->visible_section : undef;
my $old_parent_id = $self->item->parent_id;
my $old_type = $self->item->item_type;
- my $new_type = $position =~ m/before|after/ ? $dropped_item->item_type : $dropped_item->child_type;
+ my $new_type = !$dropped_item ? 'section' : $position =~ m/before|after/ ? $dropped_item->item_type : $dropped_item->child_type;
$self->item->db->do_transaction(sub {
$self->item->remove_from_list;
- $self->item->parent_id($position =~ m/before|after/ ? $dropped_item->parent_id : $dropped_item->id);
+ $self->item->parent_id($position =~ m/before|after/ ? $dropped_item->parent_id : $dropped_item->id) if $dropped_item;
$self->item->item_type($new_type);
$self->item->add_to_list(position => $position, reference => $::form->{dropped_id} || undef);
});
# Show section/item to edit if it is not visible.
my $html = $self->render('requirement_spec_item/_section', { output => 0 }, requirement_spec_item => $self->item->section);
- $self->js->html('#column-content', $html);
+ $self->set_function_blocks_tab_menu_class(class => 'section-context-menu')
+ ->html('#column-content', $html);
}
if ($self->item->item_type =~ m/section/) {
->hide($content_top_id)
->remove("#${id_base}_form")
->insertAfter($html, $content_top_id)
+ ->run('kivi.requirement_spec.init_function_block_keypress_events', "${id_base}_form")
->jstree->select_node('#tree', '#fb-' . $self->item->id)
->focus("#${id_base}_description")
->val('#current_content_type', $self->item->item_type)
} else {
my $html = $self->render('requirement_spec_item/_no_section', { output => 0 });
- $self->js
+ $self->set_function_blocks_tab_menu_class(class => 'section-context-menu')
->html('#column-content', $html)
->val('#current_content_type', '')
->val('#current_content_id', '')
# Pasting the very first section?
if (!@{ $self->sections }) {
my $html = $self->render('requirement_spec_item/_section', { output => 0 }, requirement_spec_item => $self->item);
- $self->js->html('#column-content', $html)
- ->jstree->select_node('#tree', '#fb-' . $self->item->id)
+ $self->set_function_blocks_tab_menu_class(class => 'section-context-menu')
+ ->html('#column-content', $html)
+ ->jstree->select_node('#tree', '#fb-' . $self->item->id)
}
# Update the current view if required.
my ($self, $item, $item_to_select) = @_;
my $html = $self->render('requirement_spec_item/_section', { output => 0 }, requirement_spec_item => $item);
- $self->js->html('#column-content', $html);
+ $self->set_function_blocks_tab_menu_class(class => 'section-context-menu')
+ ->html('#column-content', $html);
$self->select_node($item_to_select || $item);
}
my $new_section = $self->item->section;
my $html = $self->render('requirement_spec_item/_section', { output => 0 }, requirement_spec_item => $new_section);
- return $self->js
+ return $self->set_function_blocks_tab_menu_class(class => 'section-context-menu')
->html('#column-content', $html)
->val('#current_content_type', 'section')
->val('#current_content_id', $new_section->id)
return $self->js
->action($params{insert_position}, $html, $params{display_reference})
+ ->run('kivi.requirement_spec.init_function_block_keypress_events', "${id_base}_form")
->focus("#${id_base}_description");
}