From 232f6198fd74268cd1a3d0496334a0e64cbb9e24 Mon Sep 17 00:00:00 2001 From: Jack Date: Mon, 29 Mar 2021 20:52:19 +0100 Subject: [PATCH] renamed module, added init function to keep the language input persistent --- src/js/popups/custom-text-popup.js | 4 +-- src/js/popups/word-filter-popup.js | 43 ++++++++++++++++++------------ 2 files changed, 28 insertions(+), 19 deletions(-) diff --git a/src/js/popups/custom-text-popup.js b/src/js/popups/custom-text-popup.js index 1f48a61db..ee64e6215 100644 --- a/src/js/popups/custom-text-popup.js +++ b/src/js/popups/custom-text-popup.js @@ -3,7 +3,7 @@ import * as ManualRestart from "./manual-restart-tracker"; import * as Misc from "./misc"; import * as Notifications from "./notifications"; import * as TestLogic from "./test-logic"; -import * as WordFilter from "./word-filter-popup"; +import * as WordFilterPopup from "./word-filter-popup"; let wrapper = "#customTextPopupWrapper"; let popup = "#customTextPopup"; @@ -157,5 +157,5 @@ $("#customTextPopup .apply").click(() => { }); $("#customTextPopup .wordfilter").click(() => { - WordFilter.showWordFilterPopup(); + WordFilterPopup.show(); }); diff --git a/src/js/popups/word-filter-popup.js b/src/js/popups/word-filter-popup.js index 47024d696..0d598de5d 100644 --- a/src/js/popups/word-filter-popup.js +++ b/src/js/popups/word-filter-popup.js @@ -1,50 +1,59 @@ import * as Misc from "./misc"; -export async function showWordFilterPopup() { +let initialised = false; + +async function init() { + if (!initialised) { + $("#languageList").empty(); + let LanguageList = await Misc.getLanguageList(); + LanguageList.forEach((language) => { + let prettyLang = language; + prettyLang = prettyLang.replace("_", " "); + $("#languageList").append(` + + `); + }); + initialised = true; + } +} + +export async function show() { + await init(); $("#wordFilterPopupWrapper").removeClass("hidden"); $("#customTextPopupWrapper").addClass("hidden"); - $("#languageList").empty(); - let LanguageList = await Misc.getLanguageList(); - LanguageList.forEach((language) => { - let prettyLang = language; - prettyLang = prettyLang.replace("_", " "); - $("#languageList").append(` - - `); - }); $("#languageList").select2({ width: "100%", }); } -function hideWordFilterPopup() { +function hide() { $("#wordFilterPopupWrapper").addClass("hidden"); $("#customTextPopupWrapper").removeClass("hidden"); } -async function applyWordFilterPopup() { +async function apply() { let language = $("#languageList").val(); let filteredWords = await filter(language); let customText = ""; filteredWords.forEach((word) => { customText += word + " "; }); - hideWordFilterPopup(); + hide(); $("#customTextPopup textarea").val(customText); } $("#wordFilterPopupWrapper").mousedown((e) => { if ($(e.target).attr("id") === "wordFilterPopupWrapper") { - hideWordFilterPopup(); + hide(); } }); $("#wordFilterPopupWrapper .button").mousedown((e) => { - $("#wordFilterPopupWrapper .wfload").removeClass("hidden"); + $("#wordFilterPopupWrapper .loadingIndicator").removeClass("hidden"); $("#wordFilterPopupWrapper .button").addClass("hidden"); setTimeout(() => { - applyWordFilterPopup(); - $("#wordFilterPopupWrapper .wfload").addClass("hidden"); + apply(); + $("#wordFilterPopupWrapper .loadingIndicator").addClass("hidden"); $("#wordFilterPopupWrapper .button").removeClass("hidden"); }, 1); });