summaryrefslogtreecommitdiffstats
path: root/media/admin/js/cancel.js
diff options
context:
space:
mode:
Diffstat (limited to 'media/admin/js/cancel.js')
-rw-r--r--media/admin/js/cancel.js29
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);
+ });
+ });
+}