From eb12506985744a8fa68237df64a5b8f10b46908e Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Tue, 8 Jun 2021 12:40:01 -0700 Subject: [PATCH] No script fallback mode --- bookwyrm/static/js/bookwyrm.js | 28 ++++++++++--------- .../shelve_button/shelve_button_options.html | 19 ++++++++++--- .../snippets/toggle/toggle_button.html | 12 +++++++- 3 files changed, 41 insertions(+), 18 deletions(-) diff --git a/bookwyrm/static/js/bookwyrm.js b/bookwyrm/static/js/bookwyrm.js index 598dd93ac..00dda1abd 100644 --- a/bookwyrm/static/js/bookwyrm.js +++ b/bookwyrm/static/js/bookwyrm.js @@ -3,7 +3,7 @@ let BookWyrm = new class { constructor() { - this.MAX_FILE_SIZE_BYTES = 10 * 1000000 + this.MAX_FILE_SIZE_BYTES = 10 * 1000000; this.initOnDOMLoaded(); this.initReccuringTasks(); this.initEventListeners(); @@ -45,14 +45,14 @@ let BookWyrm = new class { * Execute code once the DOM is loaded. */ initOnDOMLoaded() { - const bookwyrm = this + const bookwyrm = this; window.addEventListener('DOMContentLoaded', function() { document.querySelectorAll('.tab-group') .forEach(tabs => new TabGroup(tabs)); document.querySelectorAll('input[type="file"]').forEach( bookwyrm.disableIfTooLarge.bind(bookwyrm) - ) + ); }); } @@ -138,6 +138,7 @@ let BookWyrm = new class { * @return {undefined} */ toggleAction(event) { + event.preventDefault(); let trigger = event.currentTarget; let pressed = trigger.getAttribute('aria-pressed') === 'false'; let targetId = trigger.dataset.controls; @@ -182,6 +183,7 @@ let BookWyrm = new class { if (focus) { this.toggleFocus(focus); } + return false; } /** @@ -298,25 +300,25 @@ let BookWyrm = new class { } disableIfTooLarge(eventOrElement) { - const { addRemoveClass, MAX_FILE_SIZE_BYTES } = this - const element = eventOrElement.currentTarget || eventOrElement + const { addRemoveClass, MAX_FILE_SIZE_BYTES } = this; + const element = eventOrElement.currentTarget || eventOrElement; - const submits = element.form.querySelectorAll('[type="submit"]') - const warns = element.parentElement.querySelectorAll('.file-too-big') + const submits = element.form.querySelectorAll('[type="submit"]'); + const warns = element.parentElement.querySelectorAll('.file-too-big'); const isTooBig = element.files && element.files[0] && - element.files[0].size > MAX_FILE_SIZE_BYTES + element.files[0].size > MAX_FILE_SIZE_BYTES; if (isTooBig) { - submits.forEach(submitter => submitter.disabled = true) + submits.forEach(submitter => submitter.disabled = true); warns.forEach( sib => addRemoveClass(sib, 'is-hidden', false) - ) + ); } else { - submits.forEach(submitter => submitter.disabled = false) + submits.forEach(submitter => submitter.disabled = false); warns.forEach( sib => addRemoveClass(sib, 'is-hidden', true) - ) + ); } } -} +}(); diff --git a/bookwyrm/templates/snippets/shelve_button/shelve_button_options.html b/bookwyrm/templates/snippets/shelve_button/shelve_button_options.html index 1ce10e7c2..12c8a6371 100644 --- a/bookwyrm/templates/snippets/shelve_button/shelve_button_options.html +++ b/bookwyrm/templates/snippets/shelve_button/shelve_button_options.html @@ -7,16 +7,25 @@ {% if dropdown %} {% endif %} diff --git a/bookwyrm/templates/snippets/toggle/toggle_button.html b/bookwyrm/templates/snippets/toggle/toggle_button.html index 410f823bd..7a80f342a 100644 --- a/bookwyrm/templates/snippets/toggle/toggle_button.html +++ b/bookwyrm/templates/snippets/toggle/toggle_button.html @@ -1,5 +1,12 @@ +{% if fallback_url %} +
+{% endif %} +{% if fallback_url %} +
+{% endif %}