mirror of
https://github.com/BookStackApp/BookStack.git
synced 2025-07-28 17:02:04 +03:00
Adds edit icon to each header in the page.
Towards #618 Signed-off-by: Abijeet <abijeetpatro@gmail.com>
This commit is contained in:
@ -11,6 +11,7 @@ class PageDisplay {
|
||||
this.setupPointer();
|
||||
this.setupStickySidebar();
|
||||
this.setupNavHighlighting();
|
||||
this.setupEditOnHeader();
|
||||
|
||||
// Check the hash on load
|
||||
if (window.location.hash) {
|
||||
@ -219,7 +220,31 @@ class PageDisplay {
|
||||
}
|
||||
}
|
||||
}
|
||||
setupEditOnHeader() {
|
||||
const headingEditIcon = document.querySelector('.heading-edit-icon');
|
||||
if (headingEditIcon.length === 0) {
|
||||
// user does not have permission to edit.
|
||||
return;
|
||||
}
|
||||
|
||||
// Create a clone of the edit icon without the hidden class
|
||||
const visibleHeadingEditIcon = headingEditIcon.cloneNode(true);
|
||||
visibleHeadingEditIcon.style.display = '';
|
||||
|
||||
const headings = document.querySelector('.page-content').querySelectorAll('h1, h2, h3, h4, h5, h6');
|
||||
|
||||
// add an edit icon to each header.
|
||||
for (let i = 0; i !== headings.length; ++i) {
|
||||
const currHeading = headings[i];
|
||||
const headingId = currHeading.id;
|
||||
|
||||
let editIcon = visibleHeadingEditIcon.cloneNode(true);
|
||||
editIcon.href += `#${headingId}`;
|
||||
|
||||
currHeading.appendChild(editIcon);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
module.exports = PageDisplay;
|
||||
module.exports = PageDisplay;
|
||||
|
Reference in New Issue
Block a user