From 1ee4e88cafe0fcc39cef0fe4e29716ca50e52813 Mon Sep 17 00:00:00 2001 From: "Collin M. Barrett" Date: Thu, 9 Feb 2017 12:25:28 -0600 Subject: [PATCH] finish tags refactor, misc. cleanup --- gs/data.gs | 9 ++++++++- gs/html-factory.gs | 27 +++++++++++++++++++++++---- gs/utilities.gs | 2 +- 3 files changed, 32 insertions(+), 6 deletions(-) diff --git a/gs/data.gs b/gs/data.gs index f6adfe6d9..e474a526d 100644 --- a/gs/data.gs +++ b/gs/data.gs @@ -75,7 +75,8 @@ function refreshPublic() { colTopPublicPublicField.setValue("=createHtmlArrayListName(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": - colTopPublicPublicField.setValue("=ARRAYFORMULA(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\",\"\")))"); + copyTagsToPublic(); + //colTopPublicPublicField.setValue("=ARRAYFORMULA(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\",\"\")))"); break; case "description": if (getColIndex(sData, "descrSourceUrl")) { @@ -96,4 +97,10 @@ function refreshPublic() { colRangePublicPublicField.clearContent(); colRangePublicPublicField.setValues(colDataPublicPublicField); } +} + +function copyTagsToPublic() { + var colIndexParsedTags = getColIndex(sParsed, "tags"); + var colIndexPublicTags = getColIndex(sPublic, "tags"); + copyRange(sParsed, colIndexParsedTags + "2:" + colIndexParsedTags, sPublic, colIndexPublicTags + "2:" + colIndexPublicTags); } \ No newline at end of file diff --git a/gs/html-factory.gs b/gs/html-factory.gs index c2f5cf56e..7371a73ec 100644 --- a/gs/html-factory.gs +++ b/gs/html-factory.gs @@ -38,10 +38,29 @@ function createHtmlArrayLinkButton(htmlType, url, listName) { } function createHtmlArrayTags() { - var tagsHtml = new Array(); - var colIndexDataTags = getColIndicesWithHeaderSubstring(sData, "tag"); - for (var i = 0, colIndexDataTagsLength = colIndexDataTags.length; i < colIndexDataTagsLength; i++) {} - tagsHtml.push(0); + var tagsHtml = []; + var numLists = getNumLists(sData); + var colIndicesDataTags = getColIndicesWithHeaderSubstring(sData, "tag"); + for (var i = 0, colIndicesDataTagsLength = colIndicesDataTags.length; i < colIndicesDataTagsLength; i++) { + var colTopDataDataTag = sData.getRange(colIndicesDataTags[i] + "1").getValue(); + var colDataDataTag = sData.getRange(colIndicesDataTags[i] + "2:" + colIndicesDataTags[i]).getValues(); + for (var j = 0; j < numLists; j++) { + if (i == 0) { + tagsHtml[j] = ""; + } + if (colDataDataTag[j].toString() != "") { + var colDataDataTagParsed = colDataDataTag[j].toString().split(','); + for (var k = 0, colDataDataTagParsedLength = colDataDataTagParsed.length; k < colDataDataTagParsedLength; k++) { + switch (colTopDataDataTag) { + case "tagLang": + tagsHtml[j] += "" + colDataDataTagParsed[k] + ""; + break; + default: + } + } + } + } + } return tagsHtml; } diff --git a/gs/utilities.gs b/gs/utilities.gs index c943c2d95..6285f0da0 100644 --- a/gs/utilities.gs +++ b/gs/utilities.gs @@ -34,7 +34,7 @@ function getColIndicesWithHeaderSubstring(sheet, colHeaderSubstring) { var colIndices = new Array(); for (var i = 0, headerDataLength = headerData[0].length; i < headerDataLength; i++) { if (headerData[0][i].indexOf(colHeaderSubstring) != -1) { - colIndices.push(String.fromCharCode(65 + headerData[0][i])); + colIndices.push(String.fromCharCode(65 + i)); } } return colIndices;