1
0
mirror of https://codeberg.org/nobody/LocalCDN.git synced 2025-06-05 21:49:31 +02:00

Implemented: Option to enable HTML-Filter by default (#33)

This commit is contained in:
nobody
2020-06-25 07:54:17 +02:00
parent 81b21d35af
commit 668c42afbd
9 changed files with 112 additions and 16 deletions

View File

@@ -41,11 +41,14 @@ options._renderContents = function () {
options._renderOptionsPanel = function () {
let whitelistedDomains, domainWhitelist, elements;
let whitelistedDomains, domainWhitelist, elements, htmlFilterDomains, domainHtmlFilter;
whitelistedDomains = options._optionValues.whitelistedDomains;
domainWhitelist = options._serializeWhitelistedDomains(whitelistedDomains);
htmlFilterDomains = options._optionValues.domainsManipulateDOM;
domainHtmlFilter = options._serializeWhitelistedDomains(htmlFilterDomains);
elements = options._optionElements;
elements.showIconBadge.checked = options._optionValues.showIconBadge;
@@ -55,6 +58,8 @@ options._renderOptionsPanel = function () {
elements.hideReleaseNotes.checked = options._optionValues.hideReleaseNotes;
elements.enableLogging.checked = options._optionValues.enableLogging;
elements.whitelistedDomains.value = domainWhitelist;
elements.domainsManipulateDOM.value = domainHtmlFilter;
elements.negateHtmlFilterList.checked = options._optionValues.negateHtmlFilterList;
options._registerOptionChangedEventListeners(elements);
options._registerMiscellaneousEventListeners();
@@ -68,6 +73,7 @@ options._renderOptionsPanel = function () {
}
document.getElementById('last-mapping-update').textContent += ' ' + lastMappingUpdate;
document.getElementById('negate-html-filter-list-warning').addEventListener('click', options._onClickHTMLFilterWarning);
};
options._renderBlockMissingNotice = function () {
@@ -97,6 +103,8 @@ options._registerOptionChangedEventListeners = function (elements) {
elements.enableLogging.addEventListener('change', options._onOptionChanged);
elements.hideReleaseNotes.addEventListener('change', options._onOptionChanged);
elements.whitelistedDomains.addEventListener('keyup', options._onOptionChanged);
elements.domainsManipulateDOM.addEventListener('keyup', options._onOptionChanged);
elements.negateHtmlFilterList.addEventListener('change', options._onOptionChanged);
let type = elements.ruleSets;
for(let i = 0; i < type.length; i++) {
type[i].addEventListener('change', options._openRuleSet);
@@ -146,7 +154,9 @@ options._getOptionElements = function () {
[Setting.HIDE_RELEASE_NOTES]: options._getOptionElement(Setting.HIDE_RELEASE_NOTES),
[Setting.LOGGING]: options._getOptionElement(Setting.LOGGING),
['ruleSets']: document.getElementsByName("rule-sets"),
['copyRuleSet']: document.getElementById("button-copy-rule-set")
['copyRuleSet']: document.getElementById("button-copy-rule-set"),
[Setting.NEGATE_HTML_FILTER_LIST]: options._getOptionElement(Setting.NEGATE_HTML_FILTER_LIST),
[Setting.DOMAINS_MANIPULATE_DOM]: options._getOptionElement(Setting.DOMAINS_MANIPULATE_DOM)
};
return optionElements;
@@ -169,6 +179,8 @@ options._configureLinkPrefetching = function (value) {
options._serializeWhitelistedDomains = function (whitelistedDomains) {
if (whitelistedDomains === undefined) return;
let domainWhitelist, whitelistedDomainKeys;
whitelistedDomainKeys = Object.keys(whitelistedDomains);
@@ -236,7 +248,7 @@ options._onOptionChanged = function ({target}) {
options._configureLinkPrefetching(optionValue);
}
if (optionKey === Setting.WHITELISTED_DOMAINS) {
if (optionKey === Setting.WHITELISTED_DOMAINS || optionKey === Setting.DOMAINS_MANIPULATE_DOM) {
optionValue = options._parseDomainWhitelist(optionValue);
}
@@ -276,6 +288,13 @@ options._copyRuleSet = function() {
});
}
options._onClickHTMLFilterWarning = function() {
chrome.tabs.create({
'url': 'https://codeberg.org/nobody/LocalCDN/wiki/Blank-websites-or-weird-characters',
'active': true
});
}
/**
* Initializations
*/