mirror of
https://github.com/TrentSPalmer/hugo_themes_report.git
synced 2025-04-07 15:47:06 -07:00
lint buildSelectionMenu.js
This commit is contained in:
parent
5c3d0a661d
commit
223c3f2196
@ -1,45 +1,49 @@
|
|||||||
function buildTagSelectionHeadingRow(selectionMenuDiv, tagSortBy) {
|
function buildTagSelectionHeadingRow(selectionMenuDiv, tagSortBy) {
|
||||||
let tagSelectionHeadingRow = document.createElement('div');
|
let tagSelectionHeadingRow = document.createElement("div");
|
||||||
tagSelectionHeadingRow.id = 'tagSelectionHeadingRow';
|
tagSelectionHeadingRow.id = "tagSelectionHeadingRow";
|
||||||
tagSelectionHeadingRow.style.maxWidth = '100%';
|
tagSelectionHeadingRow.style.maxWidth = "100%";
|
||||||
tagSelectionHeadingRow.style.display = 'flex';
|
tagSelectionHeadingRow.style.display = "flex";
|
||||||
tagSelectionHeadingRow.style.justifyContent = 'space-around';
|
tagSelectionHeadingRow.style.justifyContent = "space-around";
|
||||||
|
|
||||||
let tagSelectionHeading = document.createElement('h2');
|
let tagSelectionHeading = document.createElement("h2");
|
||||||
tagSelectionHeading.innerHTML = "Select Tags";
|
tagSelectionHeading.innerHTML = "Select Tags";
|
||||||
|
|
||||||
let tagSortByNameInputDiv = document.createElement('div');
|
let tagSortByNameInputDiv = document.createElement("div");
|
||||||
tagSortByNameInputDiv.style.display = 'flex';
|
tagSortByNameInputDiv.style.display = "flex";
|
||||||
tagSortByNameInputDiv.style.alignItems = 'center';
|
tagSortByNameInputDiv.style.alignItems = "center";
|
||||||
let tagSortByNameInput = document.createElement('input');
|
let tagSortByNameInput = document.createElement("input");
|
||||||
tagSortByNameInput.type = 'radio';
|
tagSortByNameInput.type = "radio";
|
||||||
tagSortByNameInput.id = 'tagSortByName';
|
tagSortByNameInput.id = "tagSortByName";
|
||||||
tagSortByNameInput.name = 'tagSortBy';
|
tagSortByNameInput.name = "tagSortBy";
|
||||||
tagSortByNameInput.value = 'tagSortByName';
|
tagSortByNameInput.value = "tagSortByName";
|
||||||
tagSortByNameInput.checked = tagSortBy === 'name' ? true : false;
|
tagSortByNameInput.checked = tagSortBy === "name" ? true : false;
|
||||||
tagSortByNameInput.onclick = function() { buildResults(); };
|
tagSortByNameInput.onclick = function () {
|
||||||
|
buildResults();
|
||||||
|
};
|
||||||
tagSortByNameInputDiv.appendChild(tagSortByNameInput);
|
tagSortByNameInputDiv.appendChild(tagSortByNameInput);
|
||||||
|
|
||||||
let tagSortByNameInputLabel = document.createElement('label');
|
let tagSortByNameInputLabel = document.createElement("label");
|
||||||
tagSortByNameInputLabel.for = 'tagSortByName';
|
tagSortByNameInputLabel.for = "tagSortByName";
|
||||||
tagSortByNameInputLabel.innerHTML = 'Name';
|
tagSortByNameInputLabel.innerHTML = "Name";
|
||||||
tagSortByNameInputDiv.appendChild(tagSortByNameInputLabel);
|
tagSortByNameInputDiv.appendChild(tagSortByNameInputLabel);
|
||||||
|
|
||||||
let tagSortByNumThemesInputDiv = document.createElement('div');
|
let tagSortByNumThemesInputDiv = document.createElement("div");
|
||||||
tagSortByNumThemesInputDiv.style.display = 'flex';
|
tagSortByNumThemesInputDiv.style.display = "flex";
|
||||||
tagSortByNumThemesInputDiv.style.alignItems = 'center';
|
tagSortByNumThemesInputDiv.style.alignItems = "center";
|
||||||
let tagSortByNumThemesInput = document.createElement('input');
|
let tagSortByNumThemesInput = document.createElement("input");
|
||||||
tagSortByNumThemesInput.type = 'radio';
|
tagSortByNumThemesInput.type = "radio";
|
||||||
tagSortByNumThemesInput.id = 'tagSortByNumThemes';
|
tagSortByNumThemesInput.id = "tagSortByNumThemes";
|
||||||
tagSortByNumThemesInput.name = 'tagSortBy';
|
tagSortByNumThemesInput.name = "tagSortBy";
|
||||||
tagSortByNumThemesInput.value = 'tagSortByNumThemes';
|
tagSortByNumThemesInput.value = "tagSortByNumThemes";
|
||||||
tagSortByNumThemesInput.checked = tagSortBy === 'numThemes' ? true : false;
|
tagSortByNumThemesInput.checked = tagSortBy === "numThemes" ? true : false;
|
||||||
tagSortByNumThemesInput.onclick = function() { buildResults(); };
|
tagSortByNumThemesInput.onclick = function () {
|
||||||
|
buildResults();
|
||||||
|
};
|
||||||
tagSortByNumThemesInputDiv.appendChild(tagSortByNumThemesInput);
|
tagSortByNumThemesInputDiv.appendChild(tagSortByNumThemesInput);
|
||||||
|
|
||||||
let tagSortByNumThemesInputLabel = document.createElement('label');
|
let tagSortByNumThemesInputLabel = document.createElement("label");
|
||||||
tagSortByNumThemesInputLabel.for = 'tagSortByNumThemes';
|
tagSortByNumThemesInputLabel.for = "tagSortByNumThemes";
|
||||||
tagSortByNumThemesInputLabel.innerHTML = 'numThemes';
|
tagSortByNumThemesInputLabel.innerHTML = "numThemes";
|
||||||
tagSortByNumThemesInputDiv.appendChild(tagSortByNumThemesInputLabel);
|
tagSortByNumThemesInputDiv.appendChild(tagSortByNumThemesInputLabel);
|
||||||
|
|
||||||
tagSelectionHeadingRow.appendChild(tagSelectionHeading);
|
tagSelectionHeadingRow.appendChild(tagSelectionHeading);
|
||||||
@ -49,47 +53,52 @@ function buildTagSelectionHeadingRow(selectionMenuDiv, tagSortBy) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function buildFeatureSelectionHeadingRow(selectionMenuDiv, featureSortBy) {
|
function buildFeatureSelectionHeadingRow(selectionMenuDiv, featureSortBy) {
|
||||||
let featureSelectionHeadingRow = document.createElement('div');
|
let featureSelectionHeadingRow = document.createElement("div");
|
||||||
featureSelectionHeadingRow.id = 'featureSelectionHeadingRow';
|
featureSelectionHeadingRow.id = "featureSelectionHeadingRow";
|
||||||
featureSelectionHeadingRow.style.maxWidth = '100%';
|
featureSelectionHeadingRow.style.maxWidth = "100%";
|
||||||
featureSelectionHeadingRow.style.display = 'flex';
|
featureSelectionHeadingRow.style.display = "flex";
|
||||||
featureSelectionHeadingRow.style.justifyContent = 'space-around';
|
featureSelectionHeadingRow.style.justifyContent = "space-around";
|
||||||
|
|
||||||
let featureSelectionHeading = document.createElement('h2');
|
let featureSelectionHeading = document.createElement("h2");
|
||||||
featureSelectionHeading.innerHTML = "Select Features";
|
featureSelectionHeading.innerHTML = "Select Features";
|
||||||
|
|
||||||
let featureSortByNameInputDiv = document.createElement('div');
|
let featureSortByNameInputDiv = document.createElement("div");
|
||||||
featureSortByNameInputDiv.style.display = 'flex';
|
featureSortByNameInputDiv.style.display = "flex";
|
||||||
featureSortByNameInputDiv.style.alignItems = 'center';
|
featureSortByNameInputDiv.style.alignItems = "center";
|
||||||
let featureSortByNameInput = document.createElement('input');
|
let featureSortByNameInput = document.createElement("input");
|
||||||
featureSortByNameInput.type = 'radio';
|
featureSortByNameInput.type = "radio";
|
||||||
featureSortByNameInput.id = 'featureSortByName';
|
featureSortByNameInput.id = "featureSortByName";
|
||||||
featureSortByNameInput.name = 'featureSortBy';
|
featureSortByNameInput.name = "featureSortBy";
|
||||||
featureSortByNameInput.value = 'featureSortByName';
|
featureSortByNameInput.value = "featureSortByName";
|
||||||
featureSortByNameInput.checked = featureSortBy === 'name' ? true : false;
|
featureSortByNameInput.checked = featureSortBy === "name" ? true : false;
|
||||||
featureSortByNameInput.onclick = function() { buildResults(); };
|
featureSortByNameInput.onclick = function () {
|
||||||
|
buildResults();
|
||||||
|
};
|
||||||
featureSortByNameInputDiv.appendChild(featureSortByNameInput);
|
featureSortByNameInputDiv.appendChild(featureSortByNameInput);
|
||||||
|
|
||||||
let featureSortByNameInputLabel = document.createElement('label');
|
let featureSortByNameInputLabel = document.createElement("label");
|
||||||
featureSortByNameInputLabel.for = 'featureSortByName';
|
featureSortByNameInputLabel.for = "featureSortByName";
|
||||||
featureSortByNameInputLabel.innerHTML = 'Name';
|
featureSortByNameInputLabel.innerHTML = "Name";
|
||||||
featureSortByNameInputDiv.appendChild(featureSortByNameInputLabel);
|
featureSortByNameInputDiv.appendChild(featureSortByNameInputLabel);
|
||||||
|
|
||||||
let featureSortByNumThemesInputDiv = document.createElement('div');
|
let featureSortByNumThemesInputDiv = document.createElement("div");
|
||||||
featureSortByNumThemesInputDiv.style.display = 'flex';
|
featureSortByNumThemesInputDiv.style.display = "flex";
|
||||||
featureSortByNumThemesInputDiv.style.alignItems = 'center';
|
featureSortByNumThemesInputDiv.style.alignItems = "center";
|
||||||
let featureSortByNumThemesInput = document.createElement('input');
|
let featureSortByNumThemesInput = document.createElement("input");
|
||||||
featureSortByNumThemesInput.type = 'radio';
|
featureSortByNumThemesInput.type = "radio";
|
||||||
featureSortByNumThemesInput.id = 'featureSortByNumThemes';
|
featureSortByNumThemesInput.id = "featureSortByNumThemes";
|
||||||
featureSortByNumThemesInput.name = 'featureSortBy';
|
featureSortByNumThemesInput.name = "featureSortBy";
|
||||||
featureSortByNumThemesInput.value = 'featureSortByNumThemes';
|
featureSortByNumThemesInput.value = "featureSortByNumThemes";
|
||||||
featureSortByNumThemesInput.checked = featureSortBy === 'numThemes' ? true : false;
|
featureSortByNumThemesInput.checked =
|
||||||
featureSortByNumThemesInput.onclick = function() { buildResults(); };
|
featureSortBy === "numThemes" ? true : false;
|
||||||
|
featureSortByNumThemesInput.onclick = function () {
|
||||||
|
buildResults();
|
||||||
|
};
|
||||||
featureSortByNumThemesInputDiv.appendChild(featureSortByNumThemesInput);
|
featureSortByNumThemesInputDiv.appendChild(featureSortByNumThemesInput);
|
||||||
|
|
||||||
let featureSortByNumThemesInputLabel = document.createElement('label');
|
let featureSortByNumThemesInputLabel = document.createElement("label");
|
||||||
featureSortByNumThemesInputLabel.for = 'featureSortByNumThemes';
|
featureSortByNumThemesInputLabel.for = "featureSortByNumThemes";
|
||||||
featureSortByNumThemesInputLabel.innerHTML = 'numThemes';
|
featureSortByNumThemesInputLabel.innerHTML = "numThemes";
|
||||||
featureSortByNumThemesInputDiv.appendChild(featureSortByNumThemesInputLabel);
|
featureSortByNumThemesInputDiv.appendChild(featureSortByNumThemesInputLabel);
|
||||||
|
|
||||||
featureSelectionHeadingRow.appendChild(featureSelectionHeading);
|
featureSelectionHeadingRow.appendChild(featureSelectionHeading);
|
||||||
@ -99,46 +108,63 @@ function buildFeatureSelectionHeadingRow(selectionMenuDiv, featureSortBy) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function buildTagSelectionDiv(selectedTags, availableTags, tagSortBy) {
|
function buildTagSelectionDiv(selectedTags, availableTags, tagSortBy) {
|
||||||
let selectionMenuDiv = document.getElementById('selection-menu');
|
let selectionMenuDiv = document.getElementById("selection-menu");
|
||||||
buildTagSelectionHeadingRow(selectionMenuDiv, tagSortBy);
|
buildTagSelectionHeadingRow(selectionMenuDiv, tagSortBy);
|
||||||
|
|
||||||
let tagSelectionRow = document.createElement('div');
|
let tagSelectionRow = document.createElement("div");
|
||||||
tagSelectionRow.style.display = 'flex';
|
tagSelectionRow.style.display = "flex";
|
||||||
tagSelectionRow.style.flexWrap = 'wrap';
|
tagSelectionRow.style.flexWrap = "wrap";
|
||||||
tagSelectionRow.style.justifyContent = 'space-around';
|
tagSelectionRow.style.justifyContent = "space-around";
|
||||||
|
|
||||||
selectionMenuDiv.appendChild(tagSelectionRow);
|
selectionMenuDiv.appendChild(tagSelectionRow);
|
||||||
|
|
||||||
availableTags
|
availableTags
|
||||||
.filter((x) => selectedTags.includes(x.tag))
|
.filter((x) => selectedTags.includes(x.tag))
|
||||||
.forEach((y) => { buildTagSelectionInput(y, true, tagSelectionRow); });
|
.forEach((y) => {
|
||||||
|
buildTagSelectionInput(y, true, tagSelectionRow);
|
||||||
|
});
|
||||||
|
|
||||||
availableTags
|
availableTags
|
||||||
.filter((x) => !selectedTags.includes(x.tag))
|
.filter((x) => !selectedTags.includes(x.tag))
|
||||||
.forEach((y) => { buildTagSelectionInput(y, false, tagSelectionRow); });
|
.forEach((y) => {
|
||||||
|
buildTagSelectionInput(y, false, tagSelectionRow);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function buildFeatureSelectionDiv(selectedFeatures, availableFeatures, featureSortBy) {
|
function buildFeatureSelectionDiv(
|
||||||
let selectionMenuDiv = document.getElementById('selection-menu');
|
selectedFeatures,
|
||||||
|
availableFeatures,
|
||||||
|
featureSortBy
|
||||||
|
) {
|
||||||
|
let selectionMenuDiv = document.getElementById("selection-menu");
|
||||||
buildFeatureSelectionHeadingRow(selectionMenuDiv, featureSortBy);
|
buildFeatureSelectionHeadingRow(selectionMenuDiv, featureSortBy);
|
||||||
|
|
||||||
let featureSelectionRow = document.createElement('div');
|
let featureSelectionRow = document.createElement("div");
|
||||||
featureSelectionRow.style.display = 'flex';
|
featureSelectionRow.style.display = "flex";
|
||||||
featureSelectionRow.style.flexWrap = 'wrap';
|
featureSelectionRow.style.flexWrap = "wrap";
|
||||||
featureSelectionRow.style.justifyContent = 'space-around';
|
featureSelectionRow.style.justifyContent = "space-around";
|
||||||
|
|
||||||
selectionMenuDiv.appendChild(featureSelectionRow);
|
selectionMenuDiv.appendChild(featureSelectionRow);
|
||||||
|
|
||||||
availableFeatures
|
availableFeatures
|
||||||
.filter((x) => selectedFeatures.includes(x.feature))
|
.filter((x) => selectedFeatures.includes(x.feature))
|
||||||
.forEach((y) => { buildFeatureSelectionInput(y, true, featureSelectionRow); });
|
.forEach((y) => {
|
||||||
|
buildFeatureSelectionInput(y, true, featureSelectionRow);
|
||||||
|
});
|
||||||
|
|
||||||
availableFeatures
|
availableFeatures
|
||||||
.filter((x) => !selectedFeatures.includes(x.feature))
|
.filter((x) => !selectedFeatures.includes(x.feature))
|
||||||
.forEach((y) => { buildFeatureSelectionInput(y, false, featureSelectionRow); });
|
.forEach((y) => {
|
||||||
|
buildFeatureSelectionInput(y, false, featureSelectionRow);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function buildSelectionMenu(sorted_themes, sortedBy, selectedTags, selectedFeatures) {
|
function buildSelectionMenu(
|
||||||
|
sorted_themes,
|
||||||
|
sortedBy,
|
||||||
|
selectedTags,
|
||||||
|
selectedFeatures
|
||||||
|
) {
|
||||||
let tagSortBy = getTagSortBy();
|
let tagSortBy = getTagSortBy();
|
||||||
let featureSortBy = getFeatureSortBy();
|
let featureSortBy = getFeatureSortBy();
|
||||||
let availableTags = getAvailableTags(sorted_themes, tagSortBy);
|
let availableTags = getAvailableTags(sorted_themes, tagSortBy);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user