lint buildPage.js

This commit is contained in:
Trent Palmer 2021-08-11 20:33:28 -07:00
parent 36880bd056
commit 5c3d0a661d
1 changed files with 29 additions and 23 deletions

View File

@ -1,32 +1,34 @@
function getSortBy() { function getSortBy() {
let sortByLastCommitInput = document.getElementById('sortByDate'); let sortByLastCommitInput = document.getElementById("sortByDate");
if (sortByLastCommitInput === null) { if (sortByLastCommitInput === null) {
return 'date'; return "date";
} else { } else {
return sortByLastCommitInput.checked ? 'date' : 'stars'; return sortByLastCommitInput.checked ? "date" : "stars";
} }
} }
function getTagSortBy() { function getTagSortBy() {
let tagSortByNumThemes = document.getElementById('tagSortByNumThemes'); let tagSortByNumThemes = document.getElementById("tagSortByNumThemes");
if (tagSortByNumThemes === null) { if (tagSortByNumThemes === null) {
return 'numThemes'; return "numThemes";
} else { } else {
return tagSortByNumThemes.checked ? 'numThemes' : 'name'; return tagSortByNumThemes.checked ? "numThemes" : "name";
} }
} }
function getFeatureSortBy() { function getFeatureSortBy() {
let featureSortByNumThemes = document.getElementById('featureSortByNumThemes'); let featureSortByNumThemes = document.getElementById(
"featureSortByNumThemes"
);
if (featureSortByNumThemes === null) { if (featureSortByNumThemes === null) {
return 'numThemes'; return "numThemes";
} else { } else {
return featureSortByNumThemes.checked ? 'numThemes' : 'name'; return featureSortByNumThemes.checked ? "numThemes" : "name";
} }
} }
function getSortedThemes(themeList, sortedBy) { function getSortedThemes(themeList, sortedBy) {
if (sortedBy === 'date') { if (sortedBy === "date") {
return themeList.sort((a, b) => b.date_in_seconds - a.date_in_seconds); return themeList.sort((a, b) => b.date_in_seconds - a.date_in_seconds);
} else { } else {
return themeList.sort((a, b) => b.num_stars - a.num_stars); return themeList.sort((a, b) => b.num_stars - a.num_stars);
@ -34,7 +36,7 @@ function getSortedThemes(themeList, sortedBy) {
} }
function getSelectedTags() { function getSelectedTags() {
let tagSelectionInputs = document.getElementsByClassName('tagSelectionInput'); let tagSelectionInputs = document.getElementsByClassName("tagSelectionInput");
if (tagSelectionInputs.length > 0) { if (tagSelectionInputs.length > 0) {
return [...tagSelectionInputs].filter((x) => x.checked).map((y) => y.value); return [...tagSelectionInputs].filter((x) => x.checked).map((y) => y.value);
} else { } else {
@ -43,31 +45,35 @@ function getSelectedTags() {
} }
function getSelectedFeatures() { function getSelectedFeatures() {
let featureSelectionInputs = document.getElementsByClassName('featureSelectionInput'); let featureSelectionInputs = document.getElementsByClassName(
"featureSelectionInput"
);
if (featureSelectionInputs.length > 0) { if (featureSelectionInputs.length > 0) {
return [...featureSelectionInputs].filter((x) => x.checked).map((y) => y.value); return [...featureSelectionInputs]
.filter((x) => x.checked)
.map((y) => y.value);
} else { } else {
return []; return [];
} }
} }
function getFilteredThemes(selectedTags, selectedFeatures) { function getFilteredThemes(selectedTags, selectedFeatures) {
if ((selectedTags.length === 0) && selectedFeatures.length === 0) { if (selectedTags.length === 0 && selectedFeatures.length === 0) {
return themes; return themes;
} else { } else {
return themes return themes
.filter((x) => selectedTags.every((y) => x.tags.includes(y)) ) .filter((x) => selectedTags.every((y) => x.tags.includes(y)))
.filter((z) => selectedFeatures.every((w) => z.features.includes(w)) ); .filter((z) => selectedFeatures.every((w) => z.features.includes(w)));
} }
} }
function buildResults() { function buildResults() {
let resultsDiv = document.getElementById('results'); let resultsDiv = document.getElementById("results");
resultsDiv.innerHTML = ''; resultsDiv.innerHTML = "";
let resultsTable = document.createElement("table"); let resultsTable = document.createElement("table");
resultsTable.id = 'resultsTable'; resultsTable.id = "resultsTable";
resultsTable.style.border = '1px solid black'; resultsTable.style.border = "1px solid black";
resultsTable.style.fontSize = '.9rem'; resultsTable.style.fontSize = ".9rem";
let resultsTableHeadRow = document.createElement("tr"); let resultsTableHeadRow = document.createElement("tr");
resultsDiv.appendChild(resultsTable); resultsDiv.appendChild(resultsTable);
@ -94,9 +100,9 @@ function buildResults() {
let sortedBy = getSortBy(); let sortedBy = getSortBy();
let filtered_themes = getFilteredThemes(selectedTags, selectedFeatures); let filtered_themes = getFilteredThemes(selectedTags, selectedFeatures);
let sorted_themes = getSortedThemes(filtered_themes, sortedBy); let sorted_themes = getSortedThemes(filtered_themes, sortedBy);
sorted_themes.forEach(theme => addThemeTableRow(theme)); sorted_themes.forEach((theme) => addThemeTableRow(theme));
buildSelectionMenu(sorted_themes, sortedBy, selectedTags, selectedFeatures); buildSelectionMenu(sorted_themes, sortedBy, selectedTags, selectedFeatures);
}; }
buildResults(); buildResults();