diff --git a/gs/data.gs b/gs/data.gs index e2b6b79a5..ab3c355b8 100644 --- a/gs/data.gs +++ b/gs/data.gs @@ -3,11 +3,26 @@ function refreshData() { data = fill2dJsonArrayWithNulls(data); sData.clearContents(); sData.getRange(1, 1, data.length, data[0].length).setValues(data); + concatenateNamelessComboLists(); sData.getRange(2, 1, data.length, data[0].length).sort(1); refreshParsed(); refreshPublic(); } +function concatenateNamelessComboLists() { + var numLists = getNumLists(sData); + var listColumnIndex = getColumnIndexNumber(sData, "list"); + var listData = sData.getRange(2, listColumnIndex, numLists, 1).getValues(); + var relatedColumnIndex = getColumnIndexNumber(sData, "related"); + var relatedData = sData.getRange(2, relatedColumnIndex, numLists, 1).getValues(); + for (var i = 0; i < numLists; i++) { + if (!listData[i][0]) { + listData[i][0] = relatedData[i][0].replace(/,/g, " + "); + } + } + sData.getRange(2, listColumnIndex, numLists, 1).setValues(listData); +} + function refreshParsed() { var urlTypes = ["viewUrl", "addUrl", "homeUrl", "forumUrl", "issuesUrl", "email", "donateUrl", "related"]; for (var i = 0, urlTypesLength = urlTypes.length; i < urlTypesLength; i++) { diff --git a/gs/utilities.gs b/gs/utilities.gs index 8340293a0..a8d50e3d0 100644 --- a/gs/utilities.gs +++ b/gs/utilities.gs @@ -20,6 +20,17 @@ function getColumnIndex(sheet, columnHeader) { return null; } +function getColumnIndexNumber(sheet, columnHeader) { + var headerRange = sheet.getRange("A1:1"); + var headerData = headerRange.getValues(); + for (i = 0; i < headerData[0].length; i++) { + if (headerData[0][i] == columnHeader) { + return i + 1; + } + } + return null; +} + function getColumnIndicesWithHeaderSubstring(sheet, columnHeaderSubstring) { var headerRange = sheet.getRange("A1:1"); var headerData = headerRange.getValues();