From 6afef992f1840d29a4277f6063bdcd5c2e13ed89 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Fri, 5 Oct 2018 19:12:49 +0200 Subject: Show inline error messages when checkin/checkout fails --- public/static/js/travelynx-actions.js | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) (limited to 'public/static/js/travelynx-actions.js') diff --git a/public/static/js/travelynx-actions.js b/public/static/js/travelynx-actions.js index 3fbbdea..7cec0cd 100644 --- a/public/static/js/travelynx-actions.js +++ b/public/static/js/travelynx-actions.js @@ -1,4 +1,5 @@ $(document).ready(function() { + var error_icon = 'error'; $('.action-checkin').click(function() { var link = $(this); req = { @@ -6,9 +7,16 @@ $(document).ready(function() { station: link.data('station'), train: link.data('train'), }; - link.replaceWith('
'); + progressbar = $('
'); + link.replaceWith(progressbar); $.post('/action', req, function(data) { - $(location).attr('href', '/'); + if (data.success) { + $(location).attr('href', '/'); + } else { + M.toast({html: error_icon + ' ' + data.error}); + link.append(' ' + error_icon); + progressbar.replaceWith(link); + } }); }); $('.action-checkout').click(function() { @@ -18,9 +26,16 @@ $(document).ready(function() { station: link.data('station'), force: link.data('force'), }; - link.replaceWith('
'); + progressbar = $('
'); + link.replaceWith(progressbar); $.post('/action', req, function(data) { - $(location).attr('href', '/' + req.station); + if (data.success) { + $(location).attr('href', '/' + req.station); + } else { + M.toast({html: error_icon + ' ' + data.error}); + link.append(' ' + error_icon); + progressbar.replaceWith(link); + } }); }); }); -- cgit v1.2.3