From 34d00c9d9e97496565db244ffb682605a4099273 Mon Sep 17 00:00:00 2001 From: Tasos Katsoulas Date: Tue, 18 Feb 2025 14:43:34 +0200 Subject: [PATCH] Fix back and forth buttons --- kitsune/sumo/static/sumo/js/wiki.js | 39 ++++++----------------------- 1 file changed, 8 insertions(+), 31 deletions(-) diff --git a/kitsune/sumo/static/sumo/js/wiki.js b/kitsune/sumo/static/sumo/js/wiki.js index e1b3fa58e80..12af6d7eafe 100644 --- a/kitsune/sumo/static/sumo/js/wiki.js +++ b/kitsune/sumo/static/sumo/js/wiki.js @@ -632,33 +632,10 @@ import collapsibleAccordionInit from "sumo/js/protocol-details-init"; return; } - // Retrieve form data from sessionStorage, excluding pagination parameters - let formData = {}; - const savedFormData = sessionStorage.getItem('revision-list-filter'); - - if (savedFormData) { - try { - formData = JSON.parse(savedFormData); - } catch (e) { - formData = {}; - sessionStorage.removeItem('revision-list-filter'); - } - } - - // Populate form fields with saved data - for (let [name, value] of Object.entries(formData)) { - const field = $form.find(`[name="${name}"]`); - if (field.length) { - field.val(value); - } - } + const initialUrl = window.location.href; + window.history.replaceState({ url: initialUrl }, '', initialUrl); - // Only update if there are saved filters - if (Object.keys(formData).length > 0) { - updateRevisionList(); - } - - function updateRevisionList(query) { + function updateRevisionList(query, pushState = true) { $('.loading').show(); if (query === undefined) { @@ -674,7 +651,9 @@ import collapsibleAccordionInit from "sumo/js/protocol-details-init"; url.searchParams.set(key, value); } - window.history.pushState({ url: url.toString() }, '', url); + if (pushState) { + window.history.pushState({ url: url.toString() }, '', url); + } $('#revisions-fragment').css('opacity', 0); $.get(url.toString() + (url.search ? '&' : '?') + 'fragment=1', function (data) { @@ -696,9 +675,7 @@ import collapsibleAccordionInit from "sumo/js/protocol-details-init"; } } - updateRevisionList(params.toString()); - } else { - window.location.reload(); + updateRevisionList(params.toString(), false); } }); @@ -733,7 +710,7 @@ import collapsibleAccordionInit from "sumo/js/protocol-details-init"; } } - updateRevisionList(params.toString()); + updateRevisionList(params.toString(), true); }); // Remove submit button and prevent form submission