diff options
Diffstat (limited to 'media/admin/js/cancel.js')
-rw-r--r-- | media/admin/js/cancel.js | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/media/admin/js/cancel.js b/media/admin/js/cancel.js new file mode 100644 index 0000000..3069c6f --- /dev/null +++ b/media/admin/js/cancel.js @@ -0,0 +1,29 @@ +'use strict'; +{ + // Call function fn when the DOM is loaded and ready. If it is already + // loaded, call the function now. + // http://youmightnotneedjquery.com/#ready + function ready(fn) { + if (document.readyState !== 'loading') { + fn(); + } else { + document.addEventListener('DOMContentLoaded', fn); + } + } + + ready(function() { + function handleClick(event) { + event.preventDefault(); + const params = new URLSearchParams(window.location.search); + if (params.has('_popup')) { + window.close(); // Close the popup. + } else { + window.history.back(); // Otherwise, go back. + } + } + + document.querySelectorAll('.cancel-link').forEach(function(el) { + el.addEventListener('click', handleClick); + }); + }); +} |