Pflichtenheftkostenschätzung: "Abbrechen" ohne AJAX-Call nur in JS
[kivitendo-erp.git] / SL / Controller / RequirementSpec.pm
index 9da08f3..2a64136 100644 (file)
@@ -86,26 +86,27 @@ sub action_new {
   $self->render('requirement_spec/new', title => $self->requirement_spec->is_template ? t8('Create a new requirement spec template') : t8('Create a new requirement spec'));
 }
 
-sub action_ajax_edit {
+sub action_ajax_show_basic_settings {
   my ($self) = @_;
 
-  $self->render('requirement_spec/_form', { layout => 0 }, submit_as => 'ajax');
+  $self->render('requirement_spec/_show_basic_settings', { layout => 0 });
 }
 
-sub action_ajax_show_time_and_cost_estimate {
+sub action_ajax_edit {
   my ($self) = @_;
 
-  $self->render('requirement_spec/_show_time_and_cost_estimate', { layout => 0 });
+  my $html   = $self->render('requirement_spec/_form', { output => 0 }, submit_as => 'ajax');
+
+  $self->js
+    ->hide('#basic_settings')
+    ->after('#basic_settings', $html)
+    ->render($self);
 }
 
-sub action_ajax_cancel_time_and_cost_estimate {
+sub action_ajax_show_time_and_cost_estimate {
   my ($self) = @_;
 
-  my $html   = $self->render('requirement_spec/_show_time_and_cost_estimate', { output => 0 });
-
-  $self->js
-   ->replaceWith('#time_cost_estimate', $html)
-   ->render($self);
+  $self->render('requirement_spec/_show_time_and_cost_estimate', { layout => 0 });
 }
 
 sub action_ajax_edit_time_and_cost_estimate {
@@ -114,7 +115,9 @@ sub action_ajax_edit_time_and_cost_estimate {
   my $html   = $self->render('requirement_spec/_edit_time_and_cost_estimate', { output => 0 });
 
   $self->js
-   ->replaceWith('#time_cost_estimate', $html)
+   ->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')
    ->render($self);
 }
 
@@ -345,9 +348,12 @@ sub create_or_update {
   my $info = $self->requirement_spec->is_template ? t8('The requirement spec template has been saved.') : t8('The requirement spec has been saved.');
 
   if ($::request->is_ajax) {
-    my $html = $self->render('requirement_spec/_header', { output => 0 });
+    my $header_html = $self->render('requirement_spec/_header', { output => 0 });
+    my $basics_html = $self->render('requirement_spec/_show_basic_settings', { output => 0 });
     return $self->invalidate_version
-      ->replaceWith('#requirement-spec-header', $html)
+      ->replaceWith('#requirement-spec-header', $header_html)
+      ->replaceWith('#basic_settings',          $basics_html)
+      ->remove('#basic_settings_form')
       ->flash('info', $info)
       ->render($self);
   }