Преглед изворни кода

Added support for comments in pattern lists

master
Said Achmiz пре 6 година
родитељ
комит
94d596d525
4 измењених фајлова са 25 додато и 13 уклоњено
  1. 6
    2
      contentScript.js
  2. 8
    4
      functions.js
  3. 3
    3
      options.js
  4. 8
    4
      popup.js

+ 6
- 2
contentScript.js Прегледај датотеку

@@ -15,7 +15,9 @@ function killStickyIfMatch(result) {
result.matchingPatterns.split("\n") :
[ ]);
for (let pattern of matchingPatterns) {
if (pattern && location.href.match(new RegExp(pattern))) {
if (pattern &&
!pattern.hasPrefix("#") &&
location.href.match(new RegExp(pattern))) {
shouldKillSticky = true;
break;
}
@@ -24,7 +26,9 @@ function killStickyIfMatch(result) {
result.exclusionPatterns.split("\n") :
[ ];
for (let pattern of exclusionPatterns) {
if (pattern && location.href.match(new RegExp(pattern))) {
if (pattern &&
!pattern.hasPrefix("#") &&
location.href.match(new RegExp(pattern))) {
shouldKillSticky = false;
break;
}

+ 8
- 4
functions.js Прегледај датотеку

@@ -22,6 +22,14 @@ Element.prototype.removeActivateEvent = function() {
this.removeEventListener("keyup", ael);
}

/***********/
/* UTILITY */
/***********/

String.prototype.hasPrefix = function (prefix) {
return (this.lastIndexOf(prefix, 0) === 0);
}

/***********/
/* HELPERS */
/***********/
@@ -35,7 +43,3 @@ function killSticky() {
}
});
}

String.prototype.hasPrefix = function (prefix) {
return (this.lastIndexOf(prefix, 0) === 0);
}

+ 3
- 3
options.js Прегледај датотеку

@@ -17,13 +17,13 @@ function toggleModeSelectorState(newMode) {
let checkbox = document.querySelector("input#whitelist-mode");
newMode = newMode || (container.classList.contains("whitelist") ? "blacklist" : "whitelist");

container.classList.toggle("whitelist", (newMode == "whitelist"));
checkbox.checked = (newMode == "whitelist");
container.classList.toggle("whitelist", (newMode == "whitelist"));
checkbox.checked = (newMode == "whitelist");
container.querySelectorAll("span").forEach(span => {
span.classList.toggle("disabled", false);
});
document.querySelector(`.${newMode}-mode-label`).classList.toggle("disabled", true);
document.querySelector("div#matchingPatterns").classList.toggle("disabled", (newMode == "whitelist"));
document.querySelector("div#matchingPatterns textarea").disabled = (newMode == "whitelist");
}

+ 8
- 4
popup.js Прегледај датотеку

@@ -5,7 +5,7 @@
/* Toggle the current state, as represented in the ASK object. (Nothing actually
happens until the UI state is updated, killSticky() is called (if needed),
and the new settings are saved in storage.)
What “toggle the current state” actually means depends on the current mode.

[1] In blacklist mode, toggleState() does one of the following:
@@ -15,7 +15,7 @@
exclusion patterns; or,
(b) (if stickies are being killed on the current page) removes all
applicable matching patterns.
[2] In whitelist mode, toggleState() does one of the following:

(a) (if stickies are not being killed on the current page) removes all
@@ -69,13 +69,17 @@ function recalculatePatternEffects() {
ASK.pageMatched = false;
ASK.pageExcluded = false;
for (let pattern of ASK.matchingPatterns) {
if (pattern && ASK.activeTabLocation.match(new RegExp(pattern))) {
if (pattern &&
!pattern.hasPrefix("#") &&
ASK.activeTabLocation.match(new RegExp(pattern))) {
ASK.pageMatched = true;
break;
}
}
for (let pattern of ASK.exclusionPatterns) {
if (pattern && ASK.activeTabLocation.match(new RegExp(pattern))) {
if (pattern &&
!pattern.hasPrefix("#") &&
ASK.activeTabLocation.match(new RegExp(pattern))) {
ASK.pageExcluded = true;
break;
}

Loading…
Откажи
Сачувај