Update panel.js

This commit is contained in:
Ryo Hilmawan 2020-11-23 16:35:23 +07:00 committed by GitHub
parent feaa55681f
commit 4cb0bf6b56
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -10,12 +10,6 @@
const { createElement } = require("../../pkg/helpers");
module.exports = (store) => {
function initOutliner() {
// Find headers when switching panels
if (document.querySelector('.notion-page-content')) {
startContentObserver();
};
// Observe for page changes
const pageObserver = new MutationObserver((list, observer) => {
for ( let { addedNodes } of list) {
@ -32,10 +26,6 @@ module.exports = (store) => {
}
}
});
pageObserver.observe(document.body, {
childList: true,
subtree: true,
});
// Observe for header changes
const contentObserver = new MutationObserver((list, observer) => {
@ -56,6 +46,7 @@ module.exports = (store) => {
) findHeaders();
})
});
function startContentObserver() {
findHeaders();
contentObserver.disconnect();
@ -68,14 +59,10 @@ module.exports = (store) => {
}
);
}
}
function findHeaders() {
const outline = document.querySelector('.outliner');
if (!outline) {
pageObserver.disconnect();
observer.disconnect();
}
if (!outline) return;
outline.textContent = '';
const pageContent = document.querySelector('.notion-page-content');
@ -111,5 +98,20 @@ module.exports = (store) => {
return placeholder.includes('Heading');
}
return initOutliner;
return {
onLoad() {
// Find headers when switching panels
if (document.querySelector('.notion-page-content')) {
startContentObserver();
};
pageObserver.observe(document.body, {
childList: true,
subtree: true,
});
},
onSwitch() {
pageObserver.disconnect();
contentObserver.disconnect();
}
}
}