|
@@ -22,7 +22,7 @@
|
|
|
|
|
|
|
|
(async () => {
|
|
(async () => {
|
|
|
|
|
|
|
|
- const { DEFAULT_PROFILE_NAME, DISABLED_PROFILE_NAME } = await browser.runtime.sendMessage({ getConfigConstants: true });
|
|
|
|
|
|
|
+ const { DEFAULT_PROFILE_NAME, DISABLED_PROFILE_NAME } = await browser.runtime.sendMessage({ method: "config.getConstants" });
|
|
|
const removeHiddenElementsLabel = document.getElementById("removeHiddenElementsLabel");
|
|
const removeHiddenElementsLabel = document.getElementById("removeHiddenElementsLabel");
|
|
|
const removeUnusedStylesLabel = document.getElementById("removeUnusedStylesLabel");
|
|
const removeUnusedStylesLabel = document.getElementById("removeUnusedStylesLabel");
|
|
|
const removeUnusedFontsLabel = document.getElementById("removeUnusedFontsLabel");
|
|
const removeUnusedFontsLabel = document.getElementById("removeUnusedFontsLabel");
|
|
@@ -149,7 +149,7 @@
|
|
|
|
|
|
|
|
let sidePanelDisplay;
|
|
let sidePanelDisplay;
|
|
|
browser.runtime.onMessage.addListener(message => {
|
|
browser.runtime.onMessage.addListener(message => {
|
|
|
- if (message.refreshOptions || (message.refreshOptionsPanel && sidePanelDisplay)) {
|
|
|
|
|
|
|
+ if (message.method == "options.refresh" || (message.method == "options.refreshPanel" && sidePanelDisplay)) {
|
|
|
refresh(message.profileName);
|
|
refresh(message.profileName);
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
@@ -165,7 +165,7 @@
|
|
|
};
|
|
};
|
|
|
rulesDeleteAllButton.addEventListener("click", async () => {
|
|
rulesDeleteAllButton.addEventListener("click", async () => {
|
|
|
if (await confirm(browser.i18n.getMessage("optionsDeleteDisplayedRulesConfirm"))) {
|
|
if (await confirm(browser.i18n.getMessage("optionsDeleteDisplayedRulesConfirm"))) {
|
|
|
- await browser.runtime.sendMessage({ deleteRules: true, profileName: !showAllProfilesInput.checked && profileNamesInput.value });
|
|
|
|
|
|
|
+ await browser.runtime.sendMessage({ method: "config.deleteRules", profileName: !showAllProfilesInput.checked && profileNamesInput.value });
|
|
|
await refresh();
|
|
await refresh();
|
|
|
refreshExternalComponents();
|
|
refreshExternalComponents();
|
|
|
}
|
|
}
|
|
@@ -173,7 +173,7 @@
|
|
|
createURLElement.onsubmit = async event => {
|
|
createURLElement.onsubmit = async event => {
|
|
|
event.preventDefault();
|
|
event.preventDefault();
|
|
|
try {
|
|
try {
|
|
|
- await browser.runtime.sendMessage({ addRule: true, url: ruleUrlInput.value, profileName: ruleProfileInput.value, autoSaveProfileName: ruleAutoSaveProfileInput.value });
|
|
|
|
|
|
|
+ await browser.runtime.sendMessage({ method: "config.addRule", url: ruleUrlInput.value, profileName: ruleProfileInput.value, autoSaveProfileName: ruleAutoSaveProfileInput.value });
|
|
|
ruleUrlInput.value = "";
|
|
ruleUrlInput.value = "";
|
|
|
ruleProfileInput.value = ruleAutoSaveProfileInput.value = DEFAULT_PROFILE_NAME;
|
|
ruleProfileInput.value = ruleAutoSaveProfileInput.value = DEFAULT_PROFILE_NAME;
|
|
|
autoSaveProfileChanged = false;
|
|
autoSaveProfileChanged = false;
|
|
@@ -186,14 +186,14 @@
|
|
|
};
|
|
};
|
|
|
ruleUrlInput.onclick = ruleUrlInput.onkeyup = ruleUrlInput.onchange = async () => {
|
|
ruleUrlInput.onclick = ruleUrlInput.onkeyup = ruleUrlInput.onchange = async () => {
|
|
|
ruleAddButton.disabled = !ruleUrlInput.value;
|
|
ruleAddButton.disabled = !ruleUrlInput.value;
|
|
|
- const rules = await browser.runtime.sendMessage({ getRules: true });
|
|
|
|
|
|
|
+ const rules = await browser.runtime.sendMessage({ method: "config.getRules" });
|
|
|
if (rules.find(rule => rule.url == ruleUrlInput.value)) {
|
|
if (rules.find(rule => rule.url == ruleUrlInput.value)) {
|
|
|
ruleAddButton.disabled = true;
|
|
ruleAddButton.disabled = true;
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|
|
|
ruleEditUrlInput.onclick = ruleEditUrlInput.onkeyup = ruleEditUrlInput.onchange = async () => {
|
|
ruleEditUrlInput.onclick = ruleEditUrlInput.onkeyup = ruleEditUrlInput.onchange = async () => {
|
|
|
ruleEditButton.disabled = !ruleEditUrlInput.value;
|
|
ruleEditButton.disabled = !ruleEditUrlInput.value;
|
|
|
- const rules = await browser.runtime.sendMessage({ getRules: true });
|
|
|
|
|
|
|
+ const rules = await browser.runtime.sendMessage({ method: "config.getRules" });
|
|
|
if (rules.find(rule => rule.url == ruleEditUrlInput.value)) {
|
|
if (rules.find(rule => rule.url == ruleEditUrlInput.value)) {
|
|
|
ruleEditButton.disabled = true;
|
|
ruleEditButton.disabled = true;
|
|
|
}
|
|
}
|
|
@@ -225,7 +225,7 @@
|
|
|
const profileName = await prompt(browser.i18n.getMessage("profileAddPrompt"));
|
|
const profileName = await prompt(browser.i18n.getMessage("profileAddPrompt"));
|
|
|
if (profileName) {
|
|
if (profileName) {
|
|
|
try {
|
|
try {
|
|
|
- await browser.runtime.sendMessage({ createProfile: true, profileName });
|
|
|
|
|
|
|
+ await browser.runtime.sendMessage({ method: "config.createProfile", profileName });
|
|
|
if (sidePanelDisplay) {
|
|
if (sidePanelDisplay) {
|
|
|
await refresh();
|
|
await refresh();
|
|
|
} else {
|
|
} else {
|
|
@@ -240,7 +240,7 @@
|
|
|
deleteProfileButton.addEventListener("click", async () => {
|
|
deleteProfileButton.addEventListener("click", async () => {
|
|
|
if (await confirm(browser.i18n.getMessage("profileDeleteConfirm"))) {
|
|
if (await confirm(browser.i18n.getMessage("profileDeleteConfirm"))) {
|
|
|
try {
|
|
try {
|
|
|
- await browser.runtime.sendMessage({ deleteProfile: true, profileName: profileNamesInput.value });
|
|
|
|
|
|
|
+ await browser.runtime.sendMessage({ method: "config.deleteProfile", profileName: profileNamesInput.value });
|
|
|
profileNamesInput.value = null;
|
|
profileNamesInput.value = null;
|
|
|
await refresh();
|
|
await refresh();
|
|
|
refreshExternalComponents();
|
|
refreshExternalComponents();
|
|
@@ -253,7 +253,7 @@
|
|
|
const profileName = await prompt(browser.i18n.getMessage("profileRenamePrompt"), profileNamesInput.value);
|
|
const profileName = await prompt(browser.i18n.getMessage("profileRenamePrompt"), profileNamesInput.value);
|
|
|
if (profileName) {
|
|
if (profileName) {
|
|
|
try {
|
|
try {
|
|
|
- await browser.runtime.sendMessage({ renameProfile: true, profileName: profileNamesInput.value, newProfileName: profileName });
|
|
|
|
|
|
|
+ await browser.runtime.sendMessage({ method: "config.renameProfile", profileName: profileNamesInput.value, newProfileName: profileName });
|
|
|
await refresh(profileName);
|
|
await refresh(profileName);
|
|
|
refreshExternalComponents();
|
|
refreshExternalComponents();
|
|
|
} catch (error) {
|
|
} catch (error) {
|
|
@@ -265,12 +265,12 @@
|
|
|
const choice = await reset();
|
|
const choice = await reset();
|
|
|
if (choice) {
|
|
if (choice) {
|
|
|
if (choice == "all") {
|
|
if (choice == "all") {
|
|
|
- await browser.runtime.sendMessage({ resetProfiles: true });
|
|
|
|
|
|
|
+ await browser.runtime.sendMessage({ method: "config.resetProfiles" });
|
|
|
await refresh(DEFAULT_PROFILE_NAME);
|
|
await refresh(DEFAULT_PROFILE_NAME);
|
|
|
refreshExternalComponents();
|
|
refreshExternalComponents();
|
|
|
}
|
|
}
|
|
|
if (choice == "current") {
|
|
if (choice == "current") {
|
|
|
- await browser.runtime.sendMessage({ resetProfile: true, profileName: profileNamesInput.value });
|
|
|
|
|
|
|
+ await browser.runtime.sendMessage({ method: "config.resetProfile", profileName: profileNamesInput.value });
|
|
|
await refresh();
|
|
await refresh();
|
|
|
refreshExternalComponents();
|
|
refreshExternalComponents();
|
|
|
}
|
|
}
|
|
@@ -278,7 +278,7 @@
|
|
|
}
|
|
}
|
|
|
}, false);
|
|
}, false);
|
|
|
exportButton.addEventListener("click", async () => {
|
|
exportButton.addEventListener("click", async () => {
|
|
|
- await browser.runtime.sendMessage({ exportConfig: true });
|
|
|
|
|
|
|
+ await browser.runtime.sendMessage({ method: "config.exportConfig" });
|
|
|
}, false);
|
|
}, false);
|
|
|
importButton.addEventListener("click", () => {
|
|
importButton.addEventListener("click", () => {
|
|
|
fileInput.onchange = async () => {
|
|
fileInput.onchange = async () => {
|
|
@@ -290,7 +290,7 @@
|
|
|
reader.addEventListener("error", reject, false);
|
|
reader.addEventListener("error", reject, false);
|
|
|
});
|
|
});
|
|
|
const config = JSON.parse(serializedConfig);
|
|
const config = JSON.parse(serializedConfig);
|
|
|
- await browser.runtime.sendMessage({ importConfig: true, config });
|
|
|
|
|
|
|
+ await browser.runtime.sendMessage({ method: "config.importConfig", config });
|
|
|
await refresh(DEFAULT_PROFILE_NAME);
|
|
await refresh(DEFAULT_PROFILE_NAME);
|
|
|
fileInput.value = "";
|
|
fileInput.value = "";
|
|
|
}
|
|
}
|
|
@@ -338,10 +338,10 @@
|
|
|
if (target == profileNamesInput) {
|
|
if (target == profileNamesInput) {
|
|
|
await refresh(profileNamesInput.value);
|
|
await refresh(profileNamesInput.value);
|
|
|
if (sidePanelDisplay) {
|
|
if (sidePanelDisplay) {
|
|
|
- const tabsData = await browser.runtime.sendMessage({ getTabsData: true });
|
|
|
|
|
|
|
+ const tabsData = await browser.runtime.sendMessage({ method: "tabsData.get" });
|
|
|
tabsData.profileName = profileNamesInput.value;
|
|
tabsData.profileName = profileNamesInput.value;
|
|
|
- await browser.runtime.sendMessage({ setTabsData: true, tabsData });
|
|
|
|
|
- await browser.runtime.sendMessage({ refreshMenu: true });
|
|
|
|
|
|
|
+ await browser.runtime.sendMessage({ method: "tabsData.set", tabsData });
|
|
|
|
|
+ await browser.runtime.sendMessage({ method: "ui.refreshMenu" });
|
|
|
}
|
|
}
|
|
|
} else {
|
|
} else {
|
|
|
await refresh();
|
|
await refresh();
|
|
@@ -428,14 +428,14 @@
|
|
|
sidePanelDisplay = true;
|
|
sidePanelDisplay = true;
|
|
|
document.querySelector(".options-title").remove();
|
|
document.querySelector(".options-title").remove();
|
|
|
document.documentElement.classList.add("side-panel");
|
|
document.documentElement.classList.add("side-panel");
|
|
|
- const tabsData = await browser.runtime.sendMessage({ getTabsData: true });
|
|
|
|
|
|
|
+ const tabsData = await browser.runtime.sendMessage({ method: "tabsData.get" });
|
|
|
refresh(tabsData.profileName);
|
|
refresh(tabsData.profileName);
|
|
|
} else {
|
|
} else {
|
|
|
refresh();
|
|
refresh();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
async function refresh(profileName) {
|
|
async function refresh(profileName) {
|
|
|
- const [profiles, rules] = await Promise.all([browser.runtime.sendMessage({ getProfiles: true }), browser.runtime.sendMessage({ getRules: true })]);
|
|
|
|
|
|
|
+ const [profiles, rules] = await Promise.all([browser.runtime.sendMessage({ method: "config.getProfiles" }), browser.runtime.sendMessage({ method: "config.getRules" })]);
|
|
|
const selectedProfileName = profileName || profileNamesInput.value || DEFAULT_PROFILE_NAME;
|
|
const selectedProfileName = profileName || profileNamesInput.value || DEFAULT_PROFILE_NAME;
|
|
|
Array.from(profileNamesInput.childNodes).forEach(node => node.remove());
|
|
Array.from(profileNamesInput.childNodes).forEach(node => node.remove());
|
|
|
const profileNames = Object.keys(profiles);
|
|
const profileNames = Object.keys(profiles);
|
|
@@ -494,7 +494,7 @@
|
|
|
ruleDeleteButton.title = browser.i18n.getMessage("optionsDeleteRuleTooltip");
|
|
ruleDeleteButton.title = browser.i18n.getMessage("optionsDeleteRuleTooltip");
|
|
|
ruleDeleteButton.addEventListener("click", async () => {
|
|
ruleDeleteButton.addEventListener("click", async () => {
|
|
|
if (await confirm(browser.i18n.getMessage("optionsDeleteRuleConfirm"))) {
|
|
if (await confirm(browser.i18n.getMessage("optionsDeleteRuleConfirm"))) {
|
|
|
- await browser.runtime.sendMessage({ deleteRule: true, url: rule.url });
|
|
|
|
|
|
|
+ await browser.runtime.sendMessage({ method: "config.deleteRule", url: rule.url });
|
|
|
await refresh();
|
|
await refresh();
|
|
|
refreshExternalComponents();
|
|
refreshExternalComponents();
|
|
|
}
|
|
}
|
|
@@ -512,7 +512,7 @@
|
|
|
editURLElement.onsubmit = async event => {
|
|
editURLElement.onsubmit = async event => {
|
|
|
event.preventDefault();
|
|
event.preventDefault();
|
|
|
rulesElement.appendChild(editURLElement);
|
|
rulesElement.appendChild(editURLElement);
|
|
|
- await browser.runtime.sendMessage({ updateRule: true, url: rule.url, newUrl: ruleEditUrlInput.value, profileName: ruleEditProfileInput.value, autoSaveProfileName: ruleEditAutoSaveProfileInput.value });
|
|
|
|
|
|
|
+ await browser.runtime.sendMessage({ method: "config.updateRule", url: rule.url, newUrl: ruleEditUrlInput.value, profileName: ruleEditProfileInput.value, autoSaveProfileName: ruleEditAutoSaveProfileInput.value });
|
|
|
await refresh();
|
|
await refresh();
|
|
|
refreshExternalComponents();
|
|
refreshExternalComponents();
|
|
|
ruleUrlInput.focus();
|
|
ruleUrlInput.focus();
|
|
@@ -588,7 +588,7 @@
|
|
|
async function update() {
|
|
async function update() {
|
|
|
await pendingSave;
|
|
await pendingSave;
|
|
|
pendingSave = browser.runtime.sendMessage({
|
|
pendingSave = browser.runtime.sendMessage({
|
|
|
- updateProfile: true,
|
|
|
|
|
|
|
+ method: "config.updateProfile",
|
|
|
profileName: profileNamesInput.value,
|
|
profileName: profileNamesInput.value,
|
|
|
profile: {
|
|
profile: {
|
|
|
removeHiddenElements: removeHiddenElementsInput.checked,
|
|
removeHiddenElements: removeHiddenElementsInput.checked,
|
|
@@ -633,11 +633,11 @@
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
async function refreshExternalComponents() {
|
|
async function refreshExternalComponents() {
|
|
|
- await browser.runtime.sendMessage({ refreshMenu: true });
|
|
|
|
|
|
|
+ await browser.runtime.sendMessage({ method: "ui.refreshMenu" });
|
|
|
if (sidePanelDisplay) {
|
|
if (sidePanelDisplay) {
|
|
|
- await browser.runtime.sendMessage({ refreshOptions: true, profileName: profileNamesInput.value });
|
|
|
|
|
|
|
+ await browser.runtime.sendMessage({ method: "options.refresh", profileName: profileNamesInput.value });
|
|
|
} else {
|
|
} else {
|
|
|
- await browser.runtime.sendMessage({ refreshOptionsPanel: true, profileName: profileNamesInput.value });
|
|
|
|
|
|
|
+ await browser.runtime.sendMessage({ method: "options.refreshPanel", profileName: profileNamesInput.value });
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|