Skip to content

Commit

Permalink
Simplify options default button handling
Browse files Browse the repository at this point in the history
  • Loading branch information
candela97 committed Mar 26, 2024
1 parent 2fc276b commit 1f1e702
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 14 deletions.
2 changes: 1 addition & 1 deletion src/html/options.html
Original file line number Diff line number Diff line change
Expand Up @@ -266,7 +266,7 @@ <h2 data-locale-text="options.inventory" class="js-section-head">Inventory</h2>
<div id="quickinv_opt" class="option option--sub js-sub-option">
<label for="quickinv_diff" data-locale-text="options.quickinv_diff">Quick Sale modifier:</label>
<input type="number" step="0.01" id="quickinv_diff" data-setting="quickinv_diff">
<button id="quickinv_default" data-locale-text="theworddefault">Default</button>
<button id="quickinv_diff_default" data-locale-text="theworddefault">Default</button>
</div>
<div data-dynamic="show1clickgoo"></div>
<div data-dynamic="showinvnav"></div>
Expand Down
35 changes: 22 additions & 13 deletions src/js/Options/options.js
Original file line number Diff line number Diff line change
Expand Up @@ -276,12 +276,25 @@ const Options = (() => {
});
}

function setDefaultHandler(key, DEFAULTS) {
const node = document.getElementById(`${key}_default`);

let _key = key;
if (key.startsWith("highlight") || key.startsWith("tag")) {
_key = `${_key}_color`;
}

node.addEventListener("click", () => {
setValue(`#${_key}`, DEFAULTS[_key]);
});
}

self.init = async() => {
await SyncedStorage;

const currency = ExtensionResources.getJSON("json/currency.json").then(addCurrencies);
await Promise.all([Localization, currency]);
const Defaults = SyncedStorage.defaults;

self.customLinks = [];
for (const container of document.querySelectorAll(".js-customlinks")) {
self.customLinks.push(new CustomLinks(container));
Expand All @@ -305,12 +318,10 @@ const Options = (() => {
(new ChangelogBuilder()).build();
(new LocaleCreditsBuilder()).build();

function addHandlerToSetDefaultColor(key) {
document.getElementById(`${key}_default`)
.addEventListener("click", () => { setValue(`#${key}_color`, Defaults[`${key}_color`]); });
}
const DEFAULTS = SyncedStorage.defaults;

["highlight_owned",
[
"highlight_owned",
"highlight_wishlist",
"highlight_coupon",
"highlight_inv_gift",
Expand All @@ -325,16 +336,14 @@ const Options = (() => {
"tag_inv_guestpass",
"tag_notinterested",
"tag_collection",
"tag_waitlist"].forEach(addHandlerToSetDefaultColor);

document.getElementById("spamcommentregex_default")
.addEventListener("click", () => setValue("#spamcommentregex", "[\\u2500-\\u25FF]"));
document.getElementById("quickinv_default")
.addEventListener("click", () => setValue("#quickinv_diff", "-0.01"));
"tag_waitlist",
"spamcommentregex",
"quickinv_diff",
].forEach(key => setDefaultHandler(key, DEFAULTS));

document.getElementById("quickinv_diff").addEventListener("blur", () => {
if (isNaN(parseFloat(document.getElementById("quickinv_diff").value))) {
setValue("#quickinv_diff", "-0.01");
setValue("#quickinv_diff", DEFAULTS["quickinv_diff"]);
}
});

Expand Down

0 comments on commit 1f1e702

Please sign in to comment.