xlsx-populate
Version:
Excel XLSX parser/generator written in JavaScript with Node.js and browser support, jQuery/d3-style method chaining, and a focus on keeping existing workbook features and styles in tact.
71 lines (62 loc) • 1.51 kB
JavaScript
"use strict";
/**
* PageBreaks
*/
class PageBreaks {
constructor(node) {
this._node = node;
}
/**
* add page-breaks by row/column id
* @param {number} id - row/column id (rowNumber/colNumber)
* @return {PageBreaks} the page-breaks
*/
add(id) {
this._node.children.push({
name: "brk",
children: [],
attributes: {
id,
max: 16383,
man: 1
}
});
this._node.attributes.count++;
this._node.attributes.manualBreakCount++;
return this;
}
/**
* remove page-breaks by index
* @param {number} index - index of list
* @return {PageBreaks} the page-breaks
*/
remove(index) {
const brk = this._node.children[index];
if (brk) {
this._node.children.splice(index, 1);
this._node.attributes.count--;
if (brk.man) {
this._node.attributes.manualBreakCount--;
}
}
return this;
}
/**
* get count of the page-breaks
* @return {number} the page-breaks' count
*/
get count() {
return this._node.attributes.count;
}
/**
* get list of page-breaks
* @return {Array} list of the page-breaks
*/
get list() {
return this._node.children.map(brk => ({
id: brk.id,
isManual: !!brk.man
}));
}
}
module.exports = PageBreaks;