From fa94ef6289d100c67e89fa585634b908b6e15615 Mon Sep 17 00:00:00 2001 From: Jan-Hendrik Willms <tleilax+studip@gmail.com> Date: Fri, 4 Mar 2022 14:39:47 +0000 Subject: [PATCH] fix deleting of tour steps, fixes #760 --- app/controllers/tour.php | 4 ++-- resources/assets/javascripts/lib/tour.js | 22 +++++++++++++++++----- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/app/controllers/tour.php b/app/controllers/tour.php index 80930decf5e..bae6f558042 100644 --- a/app/controllers/tour.php +++ b/app/controllers/tour.php @@ -402,8 +402,8 @@ class TourController extends AuthenticatedController $this->response->add_header('X-Action', 'question'); return (string) QuestionBox::create( sprintf(_('Wollen Sie Schritt %s wirklich löschen?'), $step_nr), - $this->url_for('tour/admin_overview', ['confirm_delete_tour_step' => $step_nr, 'tour_id' => $tour_id, 'step_nr' => $step_nr]), - $this->url_for('tour/admin_overview') + $this->url_for("tour/admin_details/{$tour_id}", ['confirm_delete_tour_step' => $step_nr]), + $this->url_for("tour/admin_details/{$tour_id}") ); } return ''; diff --git a/resources/assets/javascripts/lib/tour.js b/resources/assets/javascripts/lib/tour.js index 44b170e9998..b93be078395 100644 --- a/resources/assets/javascripts/lib/tour.js +++ b/resources/assets/javascripts/lib/tour.js @@ -447,14 +447,28 @@ const Tour = { jQuery('.tour_focus_box').removeClass('tour_focus_box'); } jQuery('body').prepend(html); + jQuery('.modaloverlay').find('.ui-dialog-titlebar-close, .cancel.button').click(event => { + event.preventDefault(); + event.stopPropagation(); + + if (Tour.started) { + jQuery('#tour_controls').show(); + jQuery('#tour_tip').show(); + jQuery('#tour_tip_interactive').show(); + jQuery('#tour_selector_overlay').show(); + } + + $('.modaloverlay').remove(); + }); jQuery('.modaloverlay form').on('click', function(event) { jQuery(this).data('clicked', jQuery(event.target)); }); jQuery('.modaloverlay form').on('submit', function(event) { event.preventDefault(); + Tour.deleteStep( - jQuery('.modaloverlay form input[name=tour_id]').val(), - jQuery('.modaloverlay form input[name=step_nr]').val(), + tour_id, + step_nr, jQuery(this) .data('clicked') .attr('name') @@ -463,9 +477,7 @@ const Tour = { }); } else if (xhr.getResponseHeader('X-Action') === 'complete') { if (Tour.started) { - Tour.showControlButtons(); - Tour.setTooltip(Tour.options.data[Tour.step]); - Tour.started = false; + Tour.destroy(); if (step_nr > 1 && step_nr - Tour.options.route_step_nr >= Tour.steps - 1) { Tour.init(tour_id, step_nr - 1); } else { -- GitLab