decor-6-expe/maquette-tests/js/items-decor.js

25 lines
868 B
JavaScript
Raw Normal View History

2026-02-23 11:35:07 +01:00
import { Handler } from '/csspageweaver/lib/paged.esm.js';
export default class myCustomHandler2 extends Handler {
constructor(chunker, polisher, caller) {
super(chunker, polisher, caller);
}
afterPageLayout(pageElement, page, breakToken) {
let pageArea = pageElement.querySelector(".pagedjs_area");
let pageAreaTop = pageArea.getBoundingClientRect().top;
let items = pageElement.querySelectorAll("p, h3, h4, .inline-note");
items.forEach(function (item) {
let topOffset = item.getBoundingClientRect().top - pageAreaTop;
let decor = document.createElement("div");
decor.classList.add("item-decor");
decor.style.top = topOffset + "px";
decor.textContent = pageElement.classList.contains("pagedjs_left_page") ? "<" : ">";
pageArea.appendChild(decor);
});
}
}