fixes for Combo list type page

This commit is contained in:
Collin M. Barrett 2017-01-21 15:28:13 -06:00
parent 604c8baeaa
commit 0f0dc2272d
5 changed files with 148 additions and 7 deletions

View 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 "";
}
}
}

View 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 "";
}
}
}

View 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 "";
}
}
}

View file

@ -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);
}

View file

@ -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) {