UNPKG

pptx-automizer

Version:

A template based pptx generator

99 lines 3.84 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const modify_table_1 = require("../modify/modify-table"); const xml_slide_helper_1 = require("./xml-slide-helper"); class ModifyTableHelper { } exports.default = ModifyTableHelper; ModifyTableHelper.setTable = (data, params) => (element) => { const modTable = new modify_table_1.ModifyTable(element, data); if (params === null || params === void 0 ? void 0 : params.expand) { params === null || params === void 0 ? void 0 : params.expand.forEach((expand) => { const tableInfo = xml_slide_helper_1.XmlSlideHelper.readTableInfo(element); const targetCell = tableInfo.find((infoCell) => infoCell.textContent === expand.tag); if (targetCell) { if (expand.mode === 'row') { modTable.expandRows(expand.count, targetCell.row); } else { if (targetCell.gridSpan) { modTable.expandSpanColumns(expand.count, targetCell.column, targetCell.gridSpan); } else { modTable.expandColumns(expand.count, targetCell.column); } } } }); } modTable.modify(params); if (params === null || params === void 0 ? void 0 : params.setHeight) { modTable.setSize('cy', params.setHeight); } if (params === null || params === void 0 ? void 0 : params.setWidth) { modTable.setSize('cx', params.setWidth); } if (!params || (params === null || params === void 0 ? void 0 : params.adjustHeight)) { modTable.adjustHeight(); } if (!params || (params === null || params === void 0 ? void 0 : params.adjustWidth)) { modTable.adjustWidth(); } }; ModifyTableHelper.setTableData = (data) => (element) => { const modTable = new modify_table_1.ModifyTable(element, data); modTable.modify(); }; ModifyTableHelper.adjustHeight = (data) => (element) => { const modTable = new modify_table_1.ModifyTable(element, data); modTable.adjustHeight(); }; ModifyTableHelper.adjustWidth = (data) => (element) => { const modTable = new modify_table_1.ModifyTable(element, data); modTable.adjustWidth(); }; ModifyTableHelper.updateColumnWidth = (index, size) => (element) => { const modTable = new modify_table_1.ModifyTable(element); modTable.updateColumnWidth(index, size); }; ModifyTableHelper.updateRowHeight = (index, size) => (element) => { const modTable = new modify_table_1.ModifyTable(element); modTable.updateRowHeight(index, size); }; ModifyTableHelper.setTableStyle = (styleId, attribs) => (element) => { const tblPr = element.getElementsByTagName('a:tblPr').item(0); const setTableStyleId = (tableStyleId, id) => { tableStyleId.textContent = id; }; const createTableStyleId = (tblPr) => { const tableStyleId = tblPr.ownerDocument.createElement('a:tableStyleId'); tblPr.appendChild(tableStyleId); return tableStyleId; }; const updateTable = (tblPr) => { [ 'firstRow', 'firstCol', 'lastRow', 'lastCol', 'bandRow', 'bandCol', ].forEach((attrib) => { if (attribs.includes(attrib)) { tblPr.setAttribute(attrib, '1'); } else { tblPr.removeAttribute(attrib); } }); const tableStyleId = element.getElementsByTagName('a:tableStyleId').item(0) || createTableStyleId(tblPr); if (tableStyleId) { setTableStyleId(tableStyleId, styleId); } }; if (tblPr) { updateTable(tblPr); } }; //# sourceMappingURL=modify-table-helper.js.map