UNPKG

pagedjs

Version:

Chunks up a document into paged media flows and applies print styles

41 lines (34 loc) 896 B
import Handler from "../handler.js"; class Lists extends Handler { constructor(chunker, polisher, caller) { super(chunker, polisher, caller); } afterParsed(content) { const orderedLists = content.querySelectorAll("ol"); for (var list of orderedLists) { this.addDataNumbers(list); } } afterPageLayout(pageElement, page, breakToken, chunker) { var orderedLists = pageElement.getElementsByTagName("ol"); for (var list of orderedLists) { if (list.firstElementChild) { list.start = list.firstElementChild.dataset.itemNum; } } } addDataNumbers(list) { let start = 1; if (list.hasAttribute("start")) { start = parseInt(list.getAttribute("start"), 10); if (isNaN(start)) { start = 1; } } let items = list.children; for (var i = 0; i < items.length; i++) { items[i].setAttribute("data-item-num", i + start); } } } export default Lists;