From 5af46cc9b325553bf50804eb1cfd2cf80685ad2c Mon Sep 17 00:00:00 2001 From: Tima Gixe Date: Sun, 29 Jan 2023 11:43:18 +0200 Subject: [PATCH 1/5] feat: create all selects --- src/demo/js/script.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/demo/js/script.js b/src/demo/js/script.js index 9e356e0f..5a2aa443 100644 --- a/src/demo/js/script.js +++ b/src/demo/js/script.js @@ -1,6 +1,12 @@ /*global jscolor*/ /*eslint no-undef: "error"*/ +const themeSelect = document.querySelector("#theme"); +const borderSelect = document.querySelector("#hide_border"); +const localeSelect = document.querySelector("#locale"); +const dateSelect = document.querySelector("#date_format"); +const modeSelect = document.querySelector("#mode"); + const preview = { /** * Default values - if set to these values, the params do not need to appear in the query string From a0936af5f4ec1376eb63dec19da9ab5d3f543163 Mon Sep 17 00:00:00 2001 From: Tima Gixe Date: Sun, 29 Jan 2023 11:43:37 +0200 Subject: [PATCH 2/5] refactor: use themeSelect from upper scope --- src/demo/js/script.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/demo/js/script.js b/src/demo/js/script.js index 5a2aa443..7917e660 100644 --- a/src/demo/js/script.js +++ b/src/demo/js/script.js @@ -152,7 +152,6 @@ const preview = { */ exportPhp() { // get default values from the currently selected theme - const themeSelect = document.querySelector("#theme"); const selectedOption = themeSelect.options[themeSelect.selectedIndex]; const defaultParams = selectedOption.dataset; // get parameters with the advanced options From c4dc067331f7c3f76c9804dec2596e3e6b141b4a Mon Sep 17 00:00:00 2001 From: Tima Gixe Date: Sun, 29 Jan 2023 11:44:01 +0200 Subject: [PATCH 3/5] refactor: adjust refresh callback --- src/demo/js/script.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/demo/js/script.js b/src/demo/js/script.js index 7917e660..f40d09a4 100644 --- a/src/demo/js/script.js +++ b/src/demo/js/script.js @@ -226,8 +226,9 @@ const tooltip = { }; // refresh preview on interactions with the page -document.addEventListener("keyup", () => preview.update(), false); -document.addEventListener("click", () => preview.update(), false); +const refresh = () => preview.update(); +document.addEventListener("keyup", refresh, false); +document.addEventListener("click", refresh, false); // when the page loads window.addEventListener( From 927b229cdfca2dbdfae4b5079d3f87d7dd3a8be7 Mon Sep 17 00:00:00 2001 From: Tima Gixe Date: Sun, 29 Jan 2023 11:44:22 +0200 Subject: [PATCH 4/5] feat: add on change event listener to each select --- src/demo/js/script.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/demo/js/script.js b/src/demo/js/script.js index f40d09a4..b3e35649 100644 --- a/src/demo/js/script.js +++ b/src/demo/js/script.js @@ -229,6 +229,8 @@ const tooltip = { const refresh = () => preview.update(); document.addEventListener("keyup", refresh, false); document.addEventListener("click", refresh, false); +const selectElements = [themeSelect, borderSelect, localeSelect, dateSelect, modeSelect]; +selectElements.forEach((element) => element.addEventListener("change", refresh, false)); // when the page loads window.addEventListener( From e153f92425a0131f5a0a6803543e6da433716391 Mon Sep 17 00:00:00 2001 From: Tima Gixe Date: Mon, 30 Jan 2023 10:37:35 +0200 Subject: [PATCH 5/5] refactor: move refresh event listeners to `load` --- src/demo/js/script.js | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/src/demo/js/script.js b/src/demo/js/script.js index b3e35649..6556c6df 100644 --- a/src/demo/js/script.js +++ b/src/demo/js/script.js @@ -1,12 +1,6 @@ /*global jscolor*/ /*eslint no-undef: "error"*/ -const themeSelect = document.querySelector("#theme"); -const borderSelect = document.querySelector("#hide_border"); -const localeSelect = document.querySelector("#locale"); -const dateSelect = document.querySelector("#date_format"); -const modeSelect = document.querySelector("#mode"); - const preview = { /** * Default values - if set to these values, the params do not need to appear in the query string @@ -152,6 +146,7 @@ const preview = { */ exportPhp() { // get default values from the currently selected theme + const themeSelect = document.querySelector("#theme"); const selectedOption = themeSelect.options[themeSelect.selectedIndex]; const defaultParams = selectedOption.dataset; // get parameters with the advanced options @@ -225,17 +220,17 @@ const tooltip = { }, }; -// refresh preview on interactions with the page -const refresh = () => preview.update(); -document.addEventListener("keyup", refresh, false); -document.addEventListener("click", refresh, false); -const selectElements = [themeSelect, borderSelect, localeSelect, dateSelect, modeSelect]; -selectElements.forEach((element) => element.addEventListener("change", refresh, false)); - // when the page loads window.addEventListener( "load", () => { + // refresh preview on interactions with the page + const refresh = () => preview.update(); + document.addEventListener("keyup", refresh, false); + document.addEventListener("click", refresh, false); + [...document.querySelectorAll("select:not(#properties)")].forEach((element) => { + element.addEventListener("change", refresh, false); + }); // set input boxes to match URL parameters new URLSearchParams(window.location.search).forEach((val, key) => { const paramInput = document.querySelector(`#${key}`); pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy