my ($self) = @_;
my $html = $self->render('requirement_spec/_edit_time_and_cost_estimate', { output => 0 });
+ my $first = ($self->requirement_spec->sections_sorted || [])->[0];
+ $first = ($first->children_sorted || [])->[0] if $first;
$self->js
->hide('#time_cost_estimate')
->after('#time_cost_estimate', $html)
->on('#time_cost_estimate INPUT[type=text]', 'keydown', 'kivi.requirement_spec.time_cost_estimate_input_key_down')
+ ->action_if($first && $first->id, 'focus', '#time_and_cost_estimate_form_complexity_id_' . $first->id)
->render($self);
}
$self->requirement_spec(SL::DB::RequirementSpec->new(id => $self->requirement_spec->id)->load);
- my $html = $self->render('requirement_spec/_show_time_and_cost_estimate', { output => 0 });
- $self->js->replaceWith('#time_cost_estimate', $html)
- ->remove('#time_cost_estimate_form_container');
+ my $html = $self->render('requirement_spec/_show_time_and_cost_estimate', { output => 0 }, initially_hidden => !!$::form->{keep_open});
+ $self->js->replaceWith('#time_cost_estimate', $html);
+
+ return $self->js->render($self) if $::form->{keep_open};
+
+ $self->js->remove('#time_cost_estimate_form_container');
if ($self->visible_section) {
$html = $self->render('requirement_spec_item/_section', { output => 0 }, requirement_spec_item => $self->visible_section);