mirror of
https://codeberg.org/nobody/LocalCDN.git
synced 2025-06-05 21:49:31 +02:00
Implemented an option to block unhandled Google Fonts requests
This commit is contained in:
@@ -48,6 +48,16 @@
|
||||
</div>
|
||||
<div class="description-option" data-i18n-content="blockMissingDescription"></div>
|
||||
</section>
|
||||
<section id="block-google-fonts" class="option">
|
||||
<div class="title-option">
|
||||
<label class="b-contain">
|
||||
<input data-option="blockGoogleFonts" type="checkbox">
|
||||
<span data-i18n-content="blockGoogleFontsTitle">Block Google Fonts</span>
|
||||
<div class="b-input"></div>
|
||||
</label>
|
||||
</div>
|
||||
<div class="description-option" data-i18n-content="blockGoogleFontsDescription">If you use the rules of the rule generator, requests to "fonts.googleapis.com" are allowed to substitute "Google Material Icons" automatically. If you want to block the other requests, enable this option.</div>
|
||||
</section>
|
||||
<section class="option">
|
||||
<div class="title-option">
|
||||
<label class="b-contain">
|
||||
|
@@ -65,6 +65,7 @@ options._renderOptionsPanel = function () {
|
||||
elements.whitelistedDomains.value = domainWhitelist;
|
||||
elements.domainsManipulateDOM.value = domainHtmlFilter;
|
||||
elements.negateHtmlFilterList.checked = options._optionValues.negateHtmlFilterList;
|
||||
elements.blockGoogleFonts.checked = options._optionValues.blockGoogleFonts;
|
||||
|
||||
options._registerOptionChangedEventListeners(elements);
|
||||
options._registerMiscellaneousEventListeners();
|
||||
@@ -77,6 +78,8 @@ options._renderOptionsPanel = function () {
|
||||
options._renderLocaleNotice();
|
||||
}
|
||||
|
||||
options._displayBlockGoogleFonts(options._optionValues.blockMissing);
|
||||
|
||||
if(elements.negateHtmlFilterList.checked === true) {
|
||||
document.getElementById('html-filter-domains-title-include').style.display = "none";
|
||||
document.getElementById('html-filter-domains-title-exclude').style.display = "block";
|
||||
@@ -121,6 +124,7 @@ options._registerOptionChangedEventListeners = function (elements) {
|
||||
elements.whitelistedDomains.addEventListener('keyup', options._onOptionChanged);
|
||||
elements.domainsManipulateDOM.addEventListener('keyup', options._onOptionChanged);
|
||||
elements.negateHtmlFilterList.addEventListener('change', options._onOptionChanged);
|
||||
elements.blockGoogleFonts.addEventListener('change', options._onOptionChanged);
|
||||
let type = elements.ruleSets;
|
||||
for(let i = 0; i < type.length; i++) {
|
||||
type[i].addEventListener('change', options._openRuleSet);
|
||||
@@ -172,7 +176,8 @@ options._getOptionElements = function () {
|
||||
['ruleSets']: document.getElementsByName("rule-sets"),
|
||||
['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)
|
||||
[Setting.DOMAINS_MANIPULATE_DOM]: options._getOptionElement(Setting.DOMAINS_MANIPULATE_DOM),
|
||||
[Setting.BLOCK_GOOGLE_FONTS]: options._getOptionElement(Setting.BLOCK_GOOGLE_FONTS)
|
||||
};
|
||||
|
||||
return optionElements;
|
||||
@@ -255,8 +260,10 @@ options._onOptionChanged = function ({target}) {
|
||||
|
||||
if (optionValue === true) {
|
||||
options._renderBlockMissingNotice();
|
||||
options._displayBlockGoogleFonts(true);
|
||||
} else {
|
||||
options._hideBlockMissingNotice();
|
||||
options._displayBlockGoogleFonts(false);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -361,6 +368,13 @@ options._updatesDomainLists = function(changes) {
|
||||
}
|
||||
};
|
||||
|
||||
options._displayBlockGoogleFonts = function(value) {
|
||||
if (value === true) {
|
||||
document.getElementById('block-google-fonts').style.display = "none";
|
||||
} else {
|
||||
document.getElementById('block-google-fonts').style.display = "block";
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Initializations
|
||||
|
Reference in New Issue
Block a user