mirror of
https://github.com/collinbarrett/FilterLists.git
synced 2026-03-11 09:04:27 +00:00
fixes for Combo list type page
This commit is contained in:
parent
604c8baeaa
commit
0f0dc2272d
5 changed files with 148 additions and 7 deletions
21
gs/lib/GenerateHtmlAddLinkCombo.gs
Normal file
21
gs/lib/GenerateHtmlAddLinkCombo.gs
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
function GenerateHtmlAddLinkCombo(url, listName, masterLists) {
|
||||
if (url instanceof Array) {
|
||||
for (i in url) {
|
||||
url[i] = GenerateHtmlAddLinkCombo(url[i], listName[i], masterLists[i]);
|
||||
}
|
||||
return url;
|
||||
} else {
|
||||
if (!listName) {
|
||||
masterLists.split(/\s*,\s*/).forEach(function(masterListsSplit) {
|
||||
listName += masterListsSplit + " + ";
|
||||
});
|
||||
listName = listName.slice(0, -3)
|
||||
}
|
||||
if (url && url != "#N/A") {
|
||||
var html = "<a href=\"abp:subscribe?location=" + url + "&title=" + listName + "\" title=\"Subscribe to " + listName + " in your content blocker.\" class=\"button\">Add</a>";
|
||||
return html;
|
||||
} else {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
}
|
||||
24
gs/lib/GenerateHtmlListNameCombo.gs
Normal file
24
gs/lib/GenerateHtmlListNameCombo.gs
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
function GenerateHtmlListNameCombo(listName, masterLists) {
|
||||
if (listName instanceof Array) {
|
||||
for (i in listName) {
|
||||
listName[i] = GenerateHtmlListNameCombo(listName[i], masterLists[i]);
|
||||
}
|
||||
return listName;
|
||||
} else {
|
||||
var masterListNames = "";
|
||||
masterLists.split(/\s*,\s*/).forEach(function(masterListsSplit) {
|
||||
masterListNames += masterListsSplit + " + ";
|
||||
});
|
||||
masterListNames = masterListNames.slice(0, -3)
|
||||
if (listName) {
|
||||
var html = "<h3 id=\"" + listName + "\">" + listName + "</h3><br>";
|
||||
html += masterListNames;
|
||||
return html;
|
||||
} else if (masterLists) {
|
||||
var html = "<h3 id=\"" + TrimUrlSlug(masterListNames) + "\">" + masterListNames + "</h3>";
|
||||
return html;
|
||||
} else {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
}
|
||||
21
gs/lib/GenerateHtmlViewLinkCombo.gs
Normal file
21
gs/lib/GenerateHtmlViewLinkCombo.gs
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
function GenerateHtmlViewLinkCombo(url, listName, masterLists) {
|
||||
if (url instanceof Array) {
|
||||
for (i in url) {
|
||||
url[i] = GenerateHtmlViewLinkCombo(url[i], listName[i], masterLists[i]);
|
||||
}
|
||||
return url;
|
||||
} else {
|
||||
if (!listName) {
|
||||
masterLists.split(/\s*,\s*/).forEach(function(masterListsSplit) {
|
||||
listName += masterListsSplit + " + ";
|
||||
});
|
||||
listName = listName.slice(0, -3)
|
||||
}
|
||||
if (url && url != "#N/A") {
|
||||
var html = "<a href=\"" + url + "\" title=\"Preview " + listName + " in your browser.\" class=\"button\">View</a>";
|
||||
return html;
|
||||
} else {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -10,10 +10,18 @@ function GenerateHtmlViewLink(url, listName) {
|
|||
return FilterLists.GenerateHtmlViewLink(url, listName);
|
||||
}
|
||||
|
||||
function GenerateHtmlViewLinkCombo(url, listName, masterLists) {
|
||||
return FilterLists.GenerateHtmlViewLinkCombo(url, listName, masterLists);
|
||||
}
|
||||
|
||||
function GenerateHtmlAddLink(url, listName) {
|
||||
return FilterLists.GenerateHtmlAddLink(url, listName);
|
||||
}
|
||||
|
||||
function GenerateHtmlAddLinkCombo(url, listName, masterLists) {
|
||||
return FilterLists.GenerateHtmlAddLinkCombo(url, listName, masterLists);
|
||||
}
|
||||
|
||||
function GenerateHtmlHomeLink(url, listName) {
|
||||
return FilterLists.GenerateHtmlHomeLink(url, listName);
|
||||
}
|
||||
|
|
@ -54,6 +62,10 @@ function GenerateHtmlListName(listName) {
|
|||
return FilterLists.GenerateHtmlListName(listName);
|
||||
}
|
||||
|
||||
function GenerateHtmlListNameCombo(listName, masterLists) {
|
||||
return FilterLists.GenerateHtmlListNameCombo(listName, masterLists);
|
||||
}
|
||||
|
||||
function ImportJson(url, query, parseOptions) {
|
||||
return FilterLists.ImportJSON(url, query, parseOptions);
|
||||
}
|
||||
|
|
@ -45,7 +45,12 @@ function refreshParsed() {
|
|||
var sheetName = typeSheetPrefix[ss.getName()] + "Parsed";
|
||||
var sheet = ss.getSheetByName(sheetName);
|
||||
var viewColHeader = refreshViewUrl(sheet);
|
||||
refreshAddUrl(sheet, viewColHeader);
|
||||
if (typeSheetPrefix[ss.getName()] != "Combo") {
|
||||
refreshAddUrl(sheet, viewColHeader);
|
||||
} else {
|
||||
viewColHeader = refreshViewUrlCombo(sheet);
|
||||
refreshAddUrlCombo(sheet, viewColHeader);
|
||||
}
|
||||
refreshHomeUrl(sheet, viewColHeader);
|
||||
refreshGuideUrl(sheet, viewColHeader);
|
||||
refreshForumUrl(sheet, viewColHeader);
|
||||
|
|
@ -61,12 +66,17 @@ function refreshPublic() {
|
|||
var sheetName = typeSheetPrefix[ss.getName()] + "Public";
|
||||
var sheet = ss.getSheetByName(sheetName);
|
||||
var viewColHeader = refreshViewUrl(sheet);
|
||||
refreshRegionPublic(sheet);
|
||||
refreshListPublic(sheet);
|
||||
refreshDescriptionPublic(sheet);
|
||||
refreshLinksPublic(sheet);
|
||||
refreshForksCombosPublic(sheet);
|
||||
refreshMasterPublic(sheet);
|
||||
if (typeSheetPrefix[ss.getName()] != "Combo") {
|
||||
refreshRegionPublic(sheet);
|
||||
refreshListPublic(sheet);
|
||||
refreshDescriptionPublic(sheet);
|
||||
refreshLinksPublic(sheet);
|
||||
refreshForksCombosPublic(sheet);
|
||||
refreshMasterPublic(sheet);
|
||||
} else {
|
||||
refreshListPublicCombo(sheet);
|
||||
refreshLinksPublicCombo(sheet);
|
||||
}
|
||||
}
|
||||
|
||||
function findColumnHeader(sheet, header) {
|
||||
|
|
@ -94,6 +104,20 @@ function refreshViewUrl(sheet) {
|
|||
return colHeader;
|
||||
}
|
||||
|
||||
function refreshViewUrlCombo(sheet) {
|
||||
var colHeader = findColumnHeader(sheet, "viewUrl");
|
||||
if (colHeader) {
|
||||
var rangeFull = sheet.getRange(colHeader + "2:" + colHeader);
|
||||
rangeFull.clearContent();
|
||||
var rangeTop = sheet.getRange(colHeader + "2");
|
||||
rangeTop.setValue("=GenerateHtmlViewLinkCombo(INDIRECT(\"" + typeSheetPrefix[ss.getName()] + "Data!\"&SUBSTITUTE(ADDRESS(1,MATCH(" + colHeader + "1," + typeSheetPrefix[ss.getName()] + "Data!A1:1,0),4),\"1\",\"2\")&\":\"&SUBSTITUTE(ADDRESS(1,MATCH(" + colHeader + "1," + typeSheetPrefix[ss.getName()] + "Data!A1:1,0),4),\"1\",\"\"))," + typeSheetPrefix[ss.getName()] + "Data!" + colHeader + "2:" + colHeader + ",INDIRECT(\"" + typeSheetPrefix[ss.getName()] + "Data!\"&SUBSTITUTE(ADDRESS(1,MATCH(\"master\"," + typeSheetPrefix[ss.getName()] + "Data!A1:1,0),4),\"1\",\"2\")&\":\"&SUBSTITUTE(ADDRESS(1,MATCH(\"master\"," + typeSheetPrefix[ss.getName()] + "Data!A1:1,0),4),\"1\",\"\")))");
|
||||
var data = rangeFull.getDisplayValues();
|
||||
rangeFull.clearContent();
|
||||
rangeFull.setValues(data);
|
||||
}
|
||||
return colHeader;
|
||||
}
|
||||
|
||||
function refreshAddUrl(sheet, viewColHeader) {
|
||||
var colHeader = findColumnHeader(sheet, "addUrl");
|
||||
if (colHeader) {
|
||||
|
|
@ -107,6 +131,19 @@ function refreshAddUrl(sheet, viewColHeader) {
|
|||
}
|
||||
}
|
||||
|
||||
function refreshAddUrlCombo(sheet, viewColHeader) {
|
||||
var colHeader = findColumnHeader(sheet, "addUrl");
|
||||
if (colHeader) {
|
||||
var rangeFull = sheet.getRange(colHeader + "2:" + colHeader);
|
||||
rangeFull.clearContent();
|
||||
var rangeTop = sheet.getRange(colHeader + "2");
|
||||
rangeTop.setValue("=GenerateHtmlAddLinkCombo(INDIRECT(\"" + typeSheetPrefix[ss.getName()] + "Data!\"&SUBSTITUTE(ADDRESS(1,MATCH(" + viewColHeader + "1," + typeSheetPrefix[ss.getName()] + "Data!A1:1,0),4),\"1\",\"2\")&\":\"&SUBSTITUTE(ADDRESS(1,MATCH(" + viewColHeader + "1," + typeSheetPrefix[ss.getName()] + "Data!A1:1,0),4),\"1\",\"\"))," + typeSheetPrefix[ss.getName()] + "Data!" + viewColHeader + "2:" + viewColHeader + ",INDIRECT(\"" + typeSheetPrefix[ss.getName()] + "Data!\"&SUBSTITUTE(ADDRESS(1,MATCH(\"master\"," + typeSheetPrefix[ss.getName()] + "Data!A1:1,0),4),\"1\",\"2\")&\":\"&SUBSTITUTE(ADDRESS(1,MATCH(\"master\"," + typeSheetPrefix[ss.getName()] + "Data!A1:1,0),4),\"1\",\"\")))");
|
||||
var data = rangeFull.getDisplayValues();
|
||||
rangeFull.clearContent();
|
||||
rangeFull.setValues(data);
|
||||
}
|
||||
}
|
||||
|
||||
function refreshHomeUrl(sheet, viewColHeader) {
|
||||
var colHeader = findColumnHeader(sheet, "homeUrl");
|
||||
if (colHeader) {
|
||||
|
|
@ -250,6 +287,19 @@ function refreshListPublic(sheet) {
|
|||
}
|
||||
}
|
||||
|
||||
function refreshListPublicCombo(sheet) {
|
||||
var colHeader = findColumnHeader(sheet, "List");
|
||||
if (colHeader) {
|
||||
var rangeFull = sheet.getRange(colHeader + "2:" + colHeader);
|
||||
rangeFull.clearContent();
|
||||
var rangeTop = sheet.getRange(colHeader + "2");
|
||||
rangeTop.setValue("=GenerateHtmlListNameCombo(INDIRECT(\"" + typeSheetPrefix[ss.getName()] + "Data!\"&SUBSTITUTE(ADDRESS(1,MATCH(\"list\"," + typeSheetPrefix[ss.getName()] + "Data!A1:1,0),4),\"1\",\"2\")&\":\"&SUBSTITUTE(ADDRESS(1,MATCH(\"list\"," + typeSheetPrefix[ss.getName()] + "Data!A1:1,0),4),\"1\",\"\")),INDIRECT(\"" + typeSheetPrefix[ss.getName()] + "Data!\"&SUBSTITUTE(ADDRESS(1,MATCH(\"master\"," + typeSheetPrefix[ss.getName()] + "Data!A1:1,0),4),\"1\",\"2\")&\":\"&SUBSTITUTE(ADDRESS(1,MATCH(\"master\"," + typeSheetPrefix[ss.getName()] + "Data!A1:1,0),4),\"1\",\"\")))");
|
||||
var data = rangeFull.getDisplayValues();
|
||||
rangeFull.clearContent();
|
||||
rangeFull.setValues(data);
|
||||
}
|
||||
}
|
||||
|
||||
function refreshDescriptionPublic(sheet) {
|
||||
var dataSheetName = typeSheetPrefix[ss.getName()] + "Data";
|
||||
var dataSheet = ss.getSheetByName(dataSheetName);
|
||||
|
|
@ -283,6 +333,19 @@ function refreshLinksPublic(sheet) {
|
|||
}
|
||||
}
|
||||
|
||||
function refreshLinksPublicCombo(sheet) {
|
||||
var colHeader = findColumnHeader(sheet, "Links");
|
||||
if (colHeader) {
|
||||
var rangeFull = sheet.getRange(colHeader + "2:" + colHeader);
|
||||
rangeFull.clearContent();
|
||||
var rangeTop = sheet.getRange(colHeader + "2");
|
||||
rangeTop.setValue("=ARRAYFORMULA(IF(" + typeSheetPrefix[ss.getName()] + "Parsed!A2:A=\"\",\"\",\"<p>\"&" + typeSheetPrefix[ss.getName()] + "Parsed!A2:A&" + typeSheetPrefix[ss.getName()] + "Parsed!B2:B&\"</p>\"))");
|
||||
var data = rangeFull.getDisplayValues();
|
||||
rangeFull.clearContent();
|
||||
rangeFull.setValues(data);
|
||||
}
|
||||
}
|
||||
|
||||
function refreshForksCombosPublic(sheet) {
|
||||
var colHeader = findColumnHeader(sheet, "Forks & Combos");
|
||||
if (colHeader) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue