UNPKG

exceljs

Version:

Excel Workbook Manager - Read and Write xlsx and csv Files.

87 lines (66 loc) 1.84 kB
/* eslint-disable max-classes-per-file */ const CompositeXform = require('../composite-xform'); const ConditionalFormattingsExt = require('./cf-ext/conditional-formattings-ext-xform'); class ExtXform extends CompositeXform { constructor() { super(); this.map = { 'x14:conditionalFormattings': (this.conditionalFormattings = new ConditionalFormattingsExt()), }; } get tag() { return 'ext'; } hasContent(model) { return this.conditionalFormattings.hasContent(model.conditionalFormattings); } prepare(model, options) { this.conditionalFormattings.prepare(model.conditionalFormattings, options); } render(xmlStream, model) { xmlStream.openNode('ext', { uri: '{78C0D931-6437-407d-A8EE-F0AAD7539E65}', 'xmlns:x14': 'http://schemas.microsoft.com/office/spreadsheetml/2009/9/main', }); this.conditionalFormattings.render(xmlStream, model.conditionalFormattings); xmlStream.closeNode(); } createNewModel() { return {}; } onParserClose(name, parser) { this.model[name] = parser.model; } } class ExtLstXform extends CompositeXform { constructor() { super(); this.map = { ext: (this.ext = new ExtXform()), }; } get tag() { return 'extLst'; } prepare(model, options) { this.ext.prepare(model, options); } hasContent(model) { return this.ext.hasContent(model); } render(xmlStream, model) { if (!this.hasContent(model)) { return; } xmlStream.openNode('extLst'); this.ext.render(xmlStream, model); xmlStream.closeNode(); } createNewModel() { return {}; } onParserClose(name, parser) { Object.assign(this.model, parser.model); } } module.exports = ExtLstXform;