diff --git a/templates/js/buildPage.js b/templates/js/buildPage.js index 0d0081c..b05d0d8 100644 --- a/templates/js/buildPage.js +++ b/templates/js/buildPage.js @@ -151,7 +151,7 @@ function buildResults() { sortThemes(filteredThemes, sortedBy); // from buildThemeTableRow.js filteredThemes.forEach((theme) => - addThemeTableRow(theme, selectedColumns, selectedTags) + addThemeTableRow(theme, selectedColumns, selectedTags, selectedFeatures) ); // from buildSelectionMenu.js diff --git a/templates/js/buildThemeTableRow.js b/templates/js/buildThemeTableRow.js index 4cd4e29..0de8832 100644 --- a/templates/js/buildThemeTableRow.js +++ b/templates/js/buildThemeTableRow.js @@ -1,4 +1,9 @@ -function addThemeTableRow(theme, selectedColumns, selectedTags) { +function addThemeTableRow( + theme, + selectedColumns, + selectedTags, + selectedFeatures +) { let resultsTable = document.getElementById("resultsTable"); let resultsTableRow = document.createElement("tr"); @@ -68,7 +73,16 @@ function addThemeTableRow(theme, selectedColumns, selectedTags) { let featuresTD = document.createElement("td"); let fL = theme.features.length - 1; fL += theme.features.map((x) => x.length).reduce((a, b) => a + b, 0); - featuresTD.innerHTML = theme.features; + let sFeatures = theme.features.filter((x) => selectedFeatures.includes(x)); + let nsFeatures = theme.features.filter( + (x) => !selectedFeatures.includes(x) + ); + if (sFeatures.length > 0 && nsFeatures.length > 0) { + featuresTD.innerHTML = `${sFeatures},${nsFeatures}`; + } else { + featuresTD.innerHTML = `${sFeatures}${nsFeatures}`; + } + // featuresTD.innerHTML = theme.features; featuresTD.style.minWidth = `${fL / 7}rem`; resultsTableRow.appendChild(featuresTD); }