From 677fd3cf10d4d036e27f84fbd704cf7632a4b46f Mon Sep 17 00:00:00 2001 From: dragonwocky Date: Fri, 25 Sep 2020 17:56:39 +1000 Subject: [PATCH] #101 weekly calendar view even if not first on page --- CHANGELOG.md | 1 + mods/weekly-view/mod.js | 35 ++++++++++++++++++----------------- 2 files changed, 19 insertions(+), 17 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f95e0c7..63d5700 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ - bugfix: block indents are no longer overriden. - bugfix: neutral does not force full width pages. - bugfix: bypass preview extension works with the back/forward arrows. +- bugfix: check all views on a page for a weekly calendar. ### v0.9.0 (2020-09-20) diff --git a/mods/weekly-view/mod.js b/mods/weekly-view/mod.js index e18bede..95a240e 100644 --- a/mods/weekly-view/mod.js +++ b/mods/weekly-view/mod.js @@ -30,23 +30,24 @@ module.exports = { subtree: true, }); function process(list, observer) { - const collection_view = document.querySelector( - '.notion-collection-view-select' - ); - if (!collection_view || collection_view.innerText != 'weekly') - return; - const days = collection_view.parentElement.parentElement.parentElement.parentElement.getElementsByClassName( - 'notion-calendar-view-day' - ), - today = [...days].find((day) => day.style.background), - height = today - ? getComputedStyle( - today.parentElement.parentElement - ).getPropertyValue('height') - : 0; - for (let day of days) - day.parentElement.parentElement.style.height = 0; - if (today) today.parentElement.parentElement.style.height = height; + document + .querySelectorAll('.notion-collection-view-select') + .forEach((collection_view) => { + if (collection_view.innerText != 'weekly') return; + const days = collection_view.parentElement.parentElement.parentElement.parentElement.getElementsByClassName( + 'notion-calendar-view-day' + ), + today = [...days].find((day) => day.style.background), + height = today + ? getComputedStyle( + today.parentElement.parentElement + ).getPropertyValue('height') + : 0; + for (let day of days) + day.parentElement.parentElement.style.height = 0; + if (today) + today.parentElement.parentElement.style.height = height; + }); } } });