mirror of
https://github.com/collinbarrett/FilterLists.git
synced 2026-03-11 09:04:27 +00:00
misc. cleanup/refactor
This commit is contained in:
parent
e1eb3fe560
commit
1e8653629d
5 changed files with 85 additions and 152 deletions
18
gs/data.gs
18
gs/data.gs
|
|
@ -32,26 +32,26 @@ function refreshParsed() {
|
|||
var columnDataTopCell = sParsed.getRange(columnIndex + "2");
|
||||
switch (urlTypes[i]) {
|
||||
case "viewUrl":
|
||||
columnDataTopCell.setValue("=createHtmlViewLinkArray(INDIRECT(\"Data!\"&SUBSTITUTE(ADDRESS(1,MATCH(" + columnIndex + "1,Data!A1:1,0),4),\"1\",\"2\")&\":\"&SUBSTITUTE(ADDRESS(1,MATCH(" + columnIndex + "1,Data!A1:1,0),4),\"1\",\"\")),Data!A2:A)");
|
||||
columnDataTopCell.setValue("=createHtmlArrayUrl(\"viewUrl\",INDIRECT(\"Data!\"&SUBSTITUTE(ADDRESS(1,MATCH(" + columnIndex + "1,Data!A1:1,0),4),\"1\",\"2\")&\":\"&SUBSTITUTE(ADDRESS(1,MATCH(" + columnIndex + "1,Data!A1:1,0),4),\"1\",\"\")),Data!A2:A)");
|
||||
break;
|
||||
case "addUrl":
|
||||
var viewUrlColumnIndex = getColIndex(sData, "viewUrl");
|
||||
columnDataTopCell.setValue("=createHtmlAddLinkArray(INDIRECT(\"Data!\"&SUBSTITUTE(ADDRESS(1,MATCH(Data!" + viewUrlColumnIndex + "1,Data!A1:1,0),4),\"1\",\"2\")&\":\"&SUBSTITUTE(ADDRESS(1,MATCH(Data!" + viewUrlColumnIndex + "1,Data!A1:1,0),4),\"1\",\"\")),Data!A2:A)");
|
||||
columnDataTopCell.setValue("=createHtmlArrayUrl(\"addUrl\",INDIRECT(\"Data!\"&SUBSTITUTE(ADDRESS(1,MATCH(Data!" + viewUrlColumnIndex + "1,Data!A1:1,0),4),\"1\",\"2\")&\":\"&SUBSTITUTE(ADDRESS(1,MATCH(Data!" + viewUrlColumnIndex + "1,Data!A1:1,0),4),\"1\",\"\")),Data!A2:A)");
|
||||
break;
|
||||
case "homeUrl":
|
||||
columnDataTopCell.setValue("=createHtmlHomeLinkArray(INDIRECT(\"Data!\"&SUBSTITUTE(ADDRESS(1,MATCH(" + columnIndex + "1,Data!A1:1,0),4),\"1\",\"2\")&\":\"&SUBSTITUTE(ADDRESS(1,MATCH(" + columnIndex + "1,Data!A1:1,0),4),\"1\",\"\")),Data!A2:A)");
|
||||
columnDataTopCell.setValue("=createHtmlArrayUrl(\"homeUrl\",INDIRECT(\"Data!\"&SUBSTITUTE(ADDRESS(1,MATCH(" + columnIndex + "1,Data!A1:1,0),4),\"1\",\"2\")&\":\"&SUBSTITUTE(ADDRESS(1,MATCH(" + columnIndex + "1,Data!A1:1,0),4),\"1\",\"\")),Data!A2:A)");
|
||||
break;
|
||||
case "forumUrl":
|
||||
columnDataTopCell.setValue("=createHtmlForumLinkArray(INDIRECT(\"Data!\"&SUBSTITUTE(ADDRESS(1,MATCH(" + columnIndex + "1,Data!A1:1,0),4),\"1\",\"2\")&\":\"&SUBSTITUTE(ADDRESS(1,MATCH(" + columnIndex + "1,Data!A1:1,0),4),\"1\",\"\")),Data!A2:A)");
|
||||
columnDataTopCell.setValue("=createHtmlArrayUrl(\"forumUrl\",INDIRECT(\"Data!\"&SUBSTITUTE(ADDRESS(1,MATCH(" + columnIndex + "1,Data!A1:1,0),4),\"1\",\"2\")&\":\"&SUBSTITUTE(ADDRESS(1,MATCH(" + columnIndex + "1,Data!A1:1,0),4),\"1\",\"\")),Data!A2:A)");
|
||||
break;
|
||||
case "issuesUrl":
|
||||
columnDataTopCell.setValue("=createHtmlIssuesLinkArray(INDIRECT(\"Data!\"&SUBSTITUTE(ADDRESS(1,MATCH(" + columnIndex + "1,Data!A1:1,0),4),\"1\",\"2\")&\":\"&SUBSTITUTE(ADDRESS(1,MATCH(" + columnIndex + "1,Data!A1:1,0),4),\"1\",\"\")),Data!A2:A)");
|
||||
columnDataTopCell.setValue("=createHtmlArrayUrl(\"issuesUrl\",INDIRECT(\"Data!\"&SUBSTITUTE(ADDRESS(1,MATCH(" + columnIndex + "1,Data!A1:1,0),4),\"1\",\"2\")&\":\"&SUBSTITUTE(ADDRESS(1,MATCH(" + columnIndex + "1,Data!A1:1,0),4),\"1\",\"\")),Data!A2:A)");
|
||||
break;
|
||||
case "email":
|
||||
columnDataTopCell.setValue("=createHtmlEmailLinkArray(INDIRECT(\"Data!\"&SUBSTITUTE(ADDRESS(1,MATCH(" + columnIndex + "1,Data!A1:1,0),4),\"1\",\"2\")&\":\"&SUBSTITUTE(ADDRESS(1,MATCH(" + columnIndex + "1,Data!A1:1,0),4),\"1\",\"\")),Data!A2:A)");
|
||||
columnDataTopCell.setValue("=createHtmlArrayUrl(\"email\",INDIRECT(\"Data!\"&SUBSTITUTE(ADDRESS(1,MATCH(" + columnIndex + "1,Data!A1:1,0),4),\"1\",\"2\")&\":\"&SUBSTITUTE(ADDRESS(1,MATCH(" + columnIndex + "1,Data!A1:1,0),4),\"1\",\"\")),Data!A2:A)");
|
||||
break;
|
||||
case "donateUrl":
|
||||
columnDataTopCell.setValue("=createHtmlDonateLinkArray(INDIRECT(\"Data!\"&SUBSTITUTE(ADDRESS(1,MATCH(" + columnIndex + "1,Data!A1:1,0),4),\"1\",\"2\")&\":\"&SUBSTITUTE(ADDRESS(1,MATCH(" + columnIndex + "1,Data!A1:1,0),4),\"1\",\"\")),Data!A2:A)");
|
||||
columnDataTopCell.setValue("=createHtmlArrayUrl(\"donateUrl\",INDIRECT(\"Data!\"&SUBSTITUTE(ADDRESS(1,MATCH(" + columnIndex + "1,Data!A1:1,0),4),\"1\",\"2\")&\":\"&SUBSTITUTE(ADDRESS(1,MATCH(" + columnIndex + "1,Data!A1:1,0),4),\"1\",\"\")),Data!A2:A)");
|
||||
break;
|
||||
default:
|
||||
}
|
||||
|
|
@ -70,7 +70,7 @@ function refreshPublic() {
|
|||
var columnDataTopCell = sPublic.getRange(columnIndex + "2");
|
||||
switch (publicFields[i]) {
|
||||
case "list":
|
||||
columnDataTopCell.setValue("=createHtmlListNameArray(INDIRECT(\"Data!\"&SUBSTITUTE(ADDRESS(1,MATCH(\"list\",Data!A1:1,0),4),\"1\",\"2\")&\":\"&SUBSTITUTE(ADDRESS(1,MATCH(\"list\",Data!A1:1,0),4),\"1\",\"\")))");
|
||||
columnDataTopCell.setValue("=createHtmlArrayList(INDIRECT(\"Data!\"&SUBSTITUTE(ADDRESS(1,MATCH(\"list\",Data!A1:1,0),4),\"1\",\"2\")&\":\"&SUBSTITUTE(ADDRESS(1,MATCH(\"list\",Data!A1:1,0),4),\"1\",\"\")))");
|
||||
break;
|
||||
case "tags":
|
||||
columnDataTopCell.setValue("=ARRAYFORMULA(\"<span class=\"\"fl-tag lang\"\">\"&INDIRECT(\"Data!\"&SUBSTITUTE(ADDRESS(1,MATCH(\"tagLang\",Data!A1:1,0),4),\"1\",\"2\")&\":\"&SUBSTITUTE(ADDRESS(1,MATCH(\"tagLang\",Data!A1:1,0),4),\"1\",\"\"))&\"</span>\")");
|
||||
|
|
@ -86,7 +86,7 @@ function refreshPublic() {
|
|||
columnDataTopCell.setValue("=ARRAYFORMULA(IF(Parsed!A2:A=\"\",\"\",\"<p>\"&Parsed!A2:A&Parsed!B2:B&Parsed!C2:C&Parsed!D2:D&Parsed!E2:E&Parsed!F2:F&Parsed!G2:G&\"</p>\"))");
|
||||
break;
|
||||
case "related":
|
||||
columnDataTopCell.setValue("=createHtmlRelatedLinkArray(INDIRECT(\"Data!\"&SUBSTITUTE(ADDRESS(1,MATCH(\"related\",Data!A1:1,0),4),\"1\",\"2\")&\":\"&SUBSTITUTE(ADDRESS(1,MATCH(\"related\",Data!A1:1,0),4),\"1\",\"\")))");
|
||||
columnDataTopCell.setValue("=createHtmlArrayRelated(INDIRECT(\"Data!\"&SUBSTITUTE(ADDRESS(1,MATCH(\"related\",Data!A1:1,0),4),\"1\",\"2\")&\":\"&SUBSTITUTE(ADDRESS(1,MATCH(\"related\",Data!A1:1,0),4),\"1\",\"\")))");
|
||||
break;
|
||||
default:
|
||||
}
|
||||
|
|
|
|||
74
gs/html-factory.gs
Normal file
74
gs/html-factory.gs
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
function createHtmlArrayUrl(htmlType, url, listName) {
|
||||
if (url instanceof Array) {
|
||||
for (var i in url) {
|
||||
url[i] = createHtmlArrayUrl(htmlType, url[i], listName[i]);
|
||||
}
|
||||
return url;
|
||||
} else {
|
||||
if (url && url != "#N/A") {
|
||||
switch (htmlType) {
|
||||
case "viewUrl":
|
||||
return "<a href=\"" + url + "\" title=\"Preview " + listName + " in your browser.\" class=\"button piwik_download\">View</a>";
|
||||
break;
|
||||
case "addUrl":
|
||||
return "<a href=\"abp:subscribe?location=" + url + "&title=" + listName + "\" title=\"Subscribe to " + listName + " in your content blocker.\" class=\"button piwik_download\">Add</a>";
|
||||
break;
|
||||
case "homeUrl":
|
||||
return "<a href=\"" + url + "\" title=\"" + listName + " Home Page\" class=\"button\">Home</a>";
|
||||
break;
|
||||
case "forumUrl":
|
||||
return "<a href=\"" + url + "\" title=\"" + listName + " Forum\" class=\"button\">Forum</a>";
|
||||
break;
|
||||
case "issuesUrl":
|
||||
return "<a href=\"" + url + "\" title=\"" + listName + " GitHub Issues\" class=\"button\">Issues</a>";
|
||||
break;
|
||||
case "email":
|
||||
return "<a href=\"mailto:" + url + "\" title=\"Contribute to " + listName + " via email.\" class=\"button\">Email</a>";
|
||||
break;
|
||||
case "donateUrl":
|
||||
return "<a href=\"" + url + "\" title=\"Donate to support the maintainers of " + listName + ".\" class=\"button\">Donate</a>";
|
||||
break;
|
||||
default:
|
||||
return "";
|
||||
}
|
||||
} else {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function createHtmlArrayList(list) {
|
||||
if (list instanceof Array) {
|
||||
for (var i in list) {
|
||||
list[i] = createHtmlArrayList(list[i]);
|
||||
}
|
||||
return list;
|
||||
} else {
|
||||
if (list) {
|
||||
return "<h3 id=\"" + trimUrlSlugArray(list) + "\">" + list + "</h3>";
|
||||
} else {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function createHtmlArrayRelated(related) {
|
||||
if (related instanceof Array) {
|
||||
for (var i in related) {
|
||||
related[i] = createHtmlArrayRelated(related[i]);
|
||||
}
|
||||
return related;
|
||||
} else {
|
||||
if (!related) {
|
||||
return "";
|
||||
} else {
|
||||
var relatedArray = related.split(',');
|
||||
var relatedHtml = "<ul>";
|
||||
for (var i = 0, relatedArrayLength = relatedArray.length; i < relatedArrayLength; i++) {
|
||||
relatedHtml += "<li><a href=\"#" + trimUrlSlugArray(relatedArray[i]) + "\">" + relatedArray[i] + "</a></li>";
|
||||
}
|
||||
relatedHtml += "</ul>";
|
||||
return relatedHtml;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,140 +0,0 @@
|
|||
function createHtmlViewLinkArray(url, listName) {
|
||||
if (url instanceof Array) {
|
||||
for (var i in url) {
|
||||
url[i] = createHtmlViewLinkArray(url[i], listName[i]);
|
||||
}
|
||||
return url;
|
||||
} else {
|
||||
if (url && url != "#N/A") {
|
||||
return "<a href=\"" + url + "\" title=\"Preview " + listName + " in your browser.\" class=\"button piwik_download\">View</a>";
|
||||
} else {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function createHtmlAddLinkArray(url, listName) {
|
||||
if (url instanceof Array) {
|
||||
for (var i in url) {
|
||||
url[i] = createHtmlAddLinkArray(url[i], listName[i]);
|
||||
}
|
||||
return url;
|
||||
} else {
|
||||
if (url && url != "#N/A") {
|
||||
return "<a href=\"abp:subscribe?location=" + url + "&title=" + listName + "\" title=\"Subscribe to " + listName + " in your content blocker.\" class=\"button piwik_download\">Add</a>";
|
||||
} else {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function createHtmlHomeLinkArray(url, listName) {
|
||||
if (url instanceof Array) {
|
||||
for (var i in url) {
|
||||
url[i] = createHtmlHomeLinkArray(url[i], listName[i]);
|
||||
}
|
||||
return url;
|
||||
} else {
|
||||
if (url && url != "#N/A") {
|
||||
return "<a href=\"" + url + "\" title=\"" + listName + " Home Page\" class=\"button\">Home</a>";
|
||||
} else {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function createHtmlForumLinkArray(url, listName) {
|
||||
if (url instanceof Array) {
|
||||
for (var i in url) {
|
||||
url[i] = createHtmlForumLinkArray(url[i], listName[i]);
|
||||
}
|
||||
return url;
|
||||
} else {
|
||||
if (url && url != "#N/A") {
|
||||
return "<a href=\"" + url + "\" title=\"" + listName + " Forum\" class=\"button\">Forum</a>";
|
||||
} else {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function createHtmlIssuesLinkArray(url, listName) {
|
||||
if (url instanceof Array) {
|
||||
for (var i in url) {
|
||||
url[i] = createHtmlIssuesLinkArray(url[i], listName[i]);
|
||||
}
|
||||
return url;
|
||||
} else {
|
||||
if (url && url != "#N/A") {
|
||||
return "<a href=\"" + url + "\" title=\"" + listName + " GitHub Issues\" class=\"button\">Issues</a>";
|
||||
} else {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function createHtmlEmailLinkArray(url, listName) {
|
||||
if (url instanceof Array) {
|
||||
for (var i in url) {
|
||||
url[i] = createHtmlEmailLinkArray(url[i], listName[i]);
|
||||
}
|
||||
return url;
|
||||
} else {
|
||||
if (url && url != "#N/A") {
|
||||
return "<a href=\"mailto:" + url + "\" title=\"Contribute to " + listName + " via email.\" class=\"button\">Email</a>";
|
||||
} else {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function createHtmlDonateLinkArray(url, listName) {
|
||||
if (url instanceof Array) {
|
||||
for (var i in url) {
|
||||
url[i] = createHtmlDonateLinkArray(url[i], listName[i]);
|
||||
}
|
||||
return url;
|
||||
} else {
|
||||
if (url && url != "#N/A") {
|
||||
return "<a href=\"" + url + "\" title=\"Donate to support the maintainers of " + listName + ".\" class=\"button\">Donate</a>";
|
||||
} else {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function createHtmlRelatedLinkArray(related) {
|
||||
if (related instanceof Array) {
|
||||
for (var i in related) {
|
||||
related[i] = createHtmlRelatedLinkArray(related[i]);
|
||||
}
|
||||
return related;
|
||||
} else {
|
||||
if (!related) {
|
||||
return "";
|
||||
} else {
|
||||
var relatedArray = related.split(',');
|
||||
var relatedHtml = "<ul>";
|
||||
for (var i = 0, relatedArrayLength = relatedArray.length; i < relatedArrayLength; i++) {
|
||||
relatedHtml += "<li><a href=\"#" + trimUrlSlugArray(relatedArray[i]) + "\">" + relatedArray[i] + "</a></li>";
|
||||
}
|
||||
relatedHtml += "</ul>";
|
||||
return relatedHtml;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function createHtmlListNameArray(listName) {
|
||||
if (listName instanceof Array) {
|
||||
for (var i in listName) {
|
||||
listName[i] = createHtmlListNameArray(listName[i]);
|
||||
}
|
||||
return listName;
|
||||
} else {
|
||||
if (listName) {
|
||||
return "<h3 id=\"" + trimUrlSlugArray(listName) + "\">" + listName + "</h3>";
|
||||
} else {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
}
|
||||
3
gs/ui.gs
3
gs/ui.gs
|
|
@ -7,8 +7,7 @@ var sParsed = ss.getSheetByName("Parsed");
|
|||
var sPublic = ss.getSheetByName("Public");
|
||||
|
||||
function onOpen() {
|
||||
var ui = SpreadsheetApp.getUi();
|
||||
ui.createMenu('Refresh').addItem('Refresh All', 'refreshAll').addSeparator().addItem('Refresh Data', 'refreshData').addItem('Refresh FilScore', 'refreshFilScores').addToUi();
|
||||
SpreadsheetApp.getUi().createMenu('Refresh').addItem('Refresh All', 'refreshAll').addSeparator().addItem('Refresh Data', 'refreshData').addItem('Refresh FilScore', 'refreshFilScores').addToUi();
|
||||
}
|
||||
|
||||
function refreshAll() {
|
||||
|
|
|
|||
|
|
@ -88,7 +88,7 @@ function moveColumn(sheet, iniCol, finCol) {
|
|||
function arrayMoveColumn(data, from, to) {
|
||||
if (!(data instanceof Array && data[0] instanceof Array)) throw new TypeError('need 2d array');
|
||||
if (from >= data[0].length || to >= data[0].length) throw new Error('index out of bounds');
|
||||
for (var row = 0; row < data.length; row++) {
|
||||
for (var row = 0, dataLength = data.length; row < dataLength; row++) {
|
||||
var temp = data[row].splice(from, 1);
|
||||
data[row].splice(to, 0, temp[0]);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue