From 434c5873fd9d156d7482604bd1844aabf6ee5590 Mon Sep 17 00:00:00 2001 From: Eryn Wells Date: Fri, 27 Jul 2018 21:25:57 -0700 Subject: [PATCH 1/3] meh --- root/scripts/resume.js | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/root/scripts/resume.js b/root/scripts/resume.js index fb443bf..f25c7a9 100644 --- a/root/scripts/resume.js +++ b/root/scripts/resume.js @@ -44,21 +44,26 @@ const sideProjects = { this.allButton = btn; btn.addEventListener('click', function() { - let toggledOn = this.classList.contains('selected'); - if (!toggledOn) { - return; - } - + var didRemove = false sideProjects.categoryButtons.forEach((cBtn) => { - cBtn.classList.remove('selected'); + if (cBtn.classList.contains('selected')) { + didRemove = true; + cBtn.classList.remove('selected'); + } }); + if (didRemove) { + this.classList.add('selected'); + } + sideProjects.updateProjectVisibility(); }); }, _setupCategoryButton(btn) { btn.addEventListener('click', function() { + this.classList.toggle('selected'); + const stat = sideProjects.categoryStatus(); let noCategoriesSelected = Object.values(stat).every((v) => !v); let allCategoriesSelected = Object.values(stat).every((v) => v); @@ -73,13 +78,6 @@ const sideProjects = { }; window.addEventListener('load', function() { - // Set up toggle buttons. - document.querySelectorAll('button.toggle').forEach((btn) => { - btn.addEventListener('click', function(event) { - event.currentTarget.classList.toggle('selected'); - }); - }); - const projectsElement = document.querySelector('#side-projects'); sideProjects.populate(projectsElement); sideProjects.allButton.click(); -- 2.49.0 From 7304e0079bbd8ce91bf955a8bd281bce5387b306 Mon Sep 17 00:00:00 2001 From: Eryn Wells Date: Sat, 28 Jul 2018 15:25:22 -0700 Subject: [PATCH 2/3] Revert "meh" This reverts commit 434c5873fd9d156d7482604bd1844aabf6ee5590. --- root/scripts/resume.js | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/root/scripts/resume.js b/root/scripts/resume.js index f25c7a9..fb443bf 100644 --- a/root/scripts/resume.js +++ b/root/scripts/resume.js @@ -44,26 +44,21 @@ const sideProjects = { this.allButton = btn; btn.addEventListener('click', function() { - var didRemove = false - sideProjects.categoryButtons.forEach((cBtn) => { - if (cBtn.classList.contains('selected')) { - didRemove = true; - cBtn.classList.remove('selected'); - } - }); - - if (didRemove) { - this.classList.add('selected'); + let toggledOn = this.classList.contains('selected'); + if (!toggledOn) { + return; } + sideProjects.categoryButtons.forEach((cBtn) => { + cBtn.classList.remove('selected'); + }); + sideProjects.updateProjectVisibility(); }); }, _setupCategoryButton(btn) { btn.addEventListener('click', function() { - this.classList.toggle('selected'); - const stat = sideProjects.categoryStatus(); let noCategoriesSelected = Object.values(stat).every((v) => !v); let allCategoriesSelected = Object.values(stat).every((v) => v); @@ -78,6 +73,13 @@ const sideProjects = { }; window.addEventListener('load', function() { + // Set up toggle buttons. + document.querySelectorAll('button.toggle').forEach((btn) => { + btn.addEventListener('click', function(event) { + event.currentTarget.classList.toggle('selected'); + }); + }); + const projectsElement = document.querySelector('#side-projects'); sideProjects.populate(projectsElement); sideProjects.allButton.click(); -- 2.49.0 From 398032ebe19288f8acb0cd0368b320ccffdda25d Mon Sep 17 00:00:00 2001 From: Eryn Wells Date: Sat, 28 Jul 2018 16:04:22 -0700 Subject: [PATCH 3/3] Make this actually work! --- root/scripts/resume.js | 45 +++++++++++++++++------------------------- 1 file changed, 18 insertions(+), 27 deletions(-) diff --git a/root/scripts/resume.js b/root/scripts/resume.js index fb443bf..532f203 100644 --- a/root/scripts/resume.js +++ b/root/scripts/resume.js @@ -14,12 +14,11 @@ const sideProjects = { }, populate(projectsElement) { - const btn = projectsElement.querySelector('button[data-category="all"]'); - this._setupAllButton(btn); - - projectsElement.querySelectorAll('button[data-category]').forEach(function(btn) { + projectsElement.querySelectorAll('button[data-category]').forEach((btn) => { let category = btn.dataset.category; - if (category != null && category != 'all') { + if (category == 'all') { + sideProjects._setupAllButton(btn); + } else if (category != null) { sideProjects.categoryButtons.push(btn); sideProjects._setupCategoryButton(btn); } @@ -42,44 +41,36 @@ const sideProjects = { _setupAllButton(btn) { this.allButton = btn; - btn.addEventListener('click', function() { - let toggledOn = this.classList.contains('selected'); - if (!toggledOn) { - return; - } - - sideProjects.categoryButtons.forEach((cBtn) => { - cBtn.classList.remove('selected'); + this.classList.add('selected'); + sideProjects.categoryButtons.forEach((btn) => { + btn.classList.remove('selected'); }); - sideProjects.updateProjectVisibility(); }); }, _setupCategoryButton(btn) { btn.addEventListener('click', function() { - const stat = sideProjects.categoryStatus(); - let noCategoriesSelected = Object.values(stat).every((v) => !v); - let allCategoriesSelected = Object.values(stat).every((v) => v); - if (noCategoriesSelected || allCategoriesSelected) { - sideProjects.allButton.click(); - } else { + this.classList.toggle('selected'); + + if (this.classList.contains('selected')) { sideProjects.allButton.classList.remove('selected'); + } else { + const stat = sideProjects.categoryStatus(); + const noCategoriesSelected = Object.values(stat).every((v) => !v); + const allCategoriesSelected = Object.values(stat).every((v) => v); + if (noCategoriesSelected || allCategoriesSelected) { + sideProjects.allButton.classList.add('selected'); + } } + sideProjects.updateProjectVisibility(); }); }, }; window.addEventListener('load', function() { - // Set up toggle buttons. - document.querySelectorAll('button.toggle').forEach((btn) => { - btn.addEventListener('click', function(event) { - event.currentTarget.classList.toggle('selected'); - }); - }); - const projectsElement = document.querySelector('#side-projects'); sideProjects.populate(projectsElement); sideProjects.allButton.click(); -- 2.49.0