devextreme-exceljs-fork 4.4.7 → 4.4.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dx-exceljs-fork.bare.js +445 -541
- package/dist/dx-exceljs-fork.bare.js.map +18 -18
- package/dist/dx-exceljs-fork.bare.min.js +7 -7
- package/dist/dx-exceljs-fork.bare.min.js.map +1 -1
- package/dist/dx-exceljs-fork.js +445 -541
- package/dist/dx-exceljs-fork.js.map +18 -18
- package/dist/dx-exceljs-fork.min.js +6 -6
- package/dist/dx-exceljs-fork.min.js.map +1 -1
- package/dist/es5/csv/csv.js +1 -1
- package/dist/es5/csv/csv.js.map +1 -1
- package/dist/es5/doc/cell.js +5 -5
- package/dist/es5/doc/cell.js.map +1 -1
- package/dist/es5/doc/pivot-table.js +1 -1
- package/dist/es5/doc/pivot-table.js.map +1 -1
- package/dist/es5/doc/range.js +7 -7
- package/dist/es5/doc/range.js.map +1 -1
- package/dist/es5/doc/row.js +1 -1
- package/dist/es5/doc/row.js.map +1 -1
- package/dist/es5/doc/table.js +10 -10
- package/dist/es5/doc/table.js.map +1 -1
- package/dist/es5/doc/worksheet.js +7 -6
- package/dist/es5/doc/worksheet.js.map +1 -1
- package/dist/es5/stream/xlsx/hyperlink-reader.js +26 -49
- package/dist/es5/stream/xlsx/hyperlink-reader.js.map +1 -1
- package/dist/es5/stream/xlsx/sheet-comments-writer.js +6 -6
- package/dist/es5/stream/xlsx/sheet-comments-writer.js.map +1 -1
- package/dist/es5/stream/xlsx/sheet-rels-writer.js +6 -5
- package/dist/es5/stream/xlsx/sheet-rels-writer.js.map +1 -1
- package/dist/es5/stream/xlsx/workbook-reader.js +215 -320
- package/dist/es5/stream/xlsx/workbook-reader.js.map +1 -1
- package/dist/es5/stream/xlsx/workbook-writer.js +8 -8
- package/dist/es5/stream/xlsx/workbook-writer.js.map +1 -1
- package/dist/es5/stream/xlsx/worksheet-reader.js +265 -341
- package/dist/es5/stream/xlsx/worksheet-reader.js.map +1 -1
- package/dist/es5/stream/xlsx/worksheet-writer.js +9 -13
- package/dist/es5/stream/xlsx/worksheet-writer.js.map +1 -1
- package/dist/es5/utils/col-cache.js +14 -18
- package/dist/es5/utils/col-cache.js.map +1 -1
- package/dist/es5/utils/copy-style.js +12 -10
- package/dist/es5/utils/copy-style.js.map +1 -1
- package/dist/es5/utils/encryptor.js +1 -1
- package/dist/es5/utils/encryptor.js.map +1 -1
- package/dist/es5/utils/iterate-stream.js +26 -37
- package/dist/es5/utils/iterate-stream.js.map +1 -1
- package/dist/es5/utils/parse-sax.js +34 -67
- package/dist/es5/utils/parse-sax.js.map +1 -1
- package/dist/es5/utils/utils.js +1 -1
- package/dist/es5/utils/utils.js.map +1 -1
- package/dist/es5/utils/xml-stream.js +1 -1
- package/dist/es5/utils/xml-stream.js.map +1 -1
- package/dist/es5/xlsx/xform/base-xform.js +12 -35
- package/dist/es5/xlsx/xform/base-xform.js.map +1 -1
- package/dist/es5/xlsx/xform/book/defined-name-xform.js +2 -2
- package/dist/es5/xlsx/xform/book/defined-name-xform.js.map +1 -1
- package/dist/es5/xlsx/xform/book/workbook-xform.js +5 -5
- package/dist/es5/xlsx/xform/book/workbook-xform.js.map +1 -1
- package/dist/es5/xlsx/xform/comment/comment-xform.js +4 -8
- package/dist/es5/xlsx/xform/comment/comment-xform.js.map +1 -1
- package/dist/es5/xlsx/xform/comment/vml-shape-xform.js +1 -1
- package/dist/es5/xlsx/xform/comment/vml-shape-xform.js.map +1 -1
- package/dist/es5/xlsx/xform/comment/vml-textbox-xform.js +1 -1
- package/dist/es5/xlsx/xform/comment/vml-textbox-xform.js.map +1 -1
- package/dist/es5/xlsx/xform/core/content-types-xform.js +5 -5
- package/dist/es5/xlsx/xform/core/content-types-xform.js.map +1 -1
- package/dist/es5/xlsx/xform/core/core-xform.js +2 -2
- package/dist/es5/xlsx/xform/core/core-xform.js.map +1 -1
- package/dist/es5/xlsx/xform/core/relationships-xform.js +2 -2
- package/dist/es5/xlsx/xform/core/relationships-xform.js.map +1 -1
- package/dist/es5/xlsx/xform/drawing/c-nv-pr-xform.js +1 -1
- package/dist/es5/xlsx/xform/drawing/c-nv-pr-xform.js.map +1 -1
- package/dist/es5/xlsx/xform/list-xform.js +1 -1
- package/dist/es5/xlsx/xform/list-xform.js.map +1 -1
- package/dist/es5/xlsx/xform/pivot-table/cache-field.js +8 -2
- package/dist/es5/xlsx/xform/pivot-table/cache-field.js.map +1 -1
- package/dist/es5/xlsx/xform/pivot-table/pivot-cache-definition-xform.js +3 -7
- package/dist/es5/xlsx/xform/pivot-table/pivot-cache-definition-xform.js.map +1 -1
- package/dist/es5/xlsx/xform/pivot-table/pivot-cache-records-xform.js +7 -11
- package/dist/es5/xlsx/xform/pivot-table/pivot-cache-records-xform.js.map +1 -1
- package/dist/es5/xlsx/xform/pivot-table/pivot-table-xform.js +70 -10
- package/dist/es5/xlsx/xform/pivot-table/pivot-table-xform.js.map +1 -1
- package/dist/es5/xlsx/xform/sheet/auto-filter-xform.js +1 -1
- package/dist/es5/xlsx/xform/sheet/auto-filter-xform.js.map +1 -1
- package/dist/es5/xlsx/xform/sheet/cell-xform.js +4 -8
- package/dist/es5/xlsx/xform/sheet/cell-xform.js.map +1 -1
- package/dist/es5/xlsx/xform/sheet/cf/cf-rule-xform.js +18 -22
- package/dist/es5/xlsx/xform/sheet/cf/cf-rule-xform.js.map +1 -1
- package/dist/es5/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js +2 -2
- package/dist/es5/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js.map +1 -1
- package/dist/es5/xlsx/xform/sheet/data-validations-xform.js +11 -13
- package/dist/es5/xlsx/xform/sheet/data-validations-xform.js.map +1 -1
- package/dist/es5/xlsx/xform/sheet/merges.js +1 -1
- package/dist/es5/xlsx/xform/sheet/merges.js.map +1 -1
- package/dist/es5/xlsx/xform/sheet/row-xform.js +2 -2
- package/dist/es5/xlsx/xform/sheet/row-xform.js.map +1 -1
- package/dist/es5/xlsx/xform/sheet/worksheet-xform.js +10 -10
- package/dist/es5/xlsx/xform/sheet/worksheet-xform.js.map +1 -1
- package/dist/es5/xlsx/xform/strings/shared-strings-xform.js +2 -2
- package/dist/es5/xlsx/xform/strings/shared-strings-xform.js.map +1 -1
- package/dist/es5/xlsx/xform/style/border-xform.js +3 -7
- package/dist/es5/xlsx/xform/style/border-xform.js.map +1 -1
- package/dist/es5/xlsx/xform/table/auto-filter-xform.js +2 -2
- package/dist/es5/xlsx/xform/table/auto-filter-xform.js.map +1 -1
- package/dist/es5/xlsx/xform/table/filter-column-xform.js +1 -1
- package/dist/es5/xlsx/xform/table/filter-column-xform.js.map +1 -1
- package/dist/es5/xlsx/xform/table/table-xform.js +3 -7
- package/dist/es5/xlsx/xform/table/table-xform.js.map +1 -1
- package/dist/es5/xlsx/xlsx.js +22 -45
- package/dist/es5/xlsx/xlsx.js.map +1 -1
- package/package.json +13 -14
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"row-xform.js","names":["BaseXform","require","utils","CellXform","RowXform","constructor","options","maxItems","map","c","tag","prepare","model","styleId","styles","addStyleModel","style","cellXform","cells","forEach","cellModel","render","xmlStream","openNode","addAttribute","number","height","hidden","min","max","
|
|
1
|
+
{"version":3,"file":"row-xform.js","names":["BaseXform","require","utils","CellXform","RowXform","constructor","options","maxItems","map","c","tag","prepare","model","styleId","styles","addStyleModel","style","cellXform","cells","forEach","cellModel","render","xmlStream","openNode","addAttribute","number","height","hidden","min","max","outlineLevel","collapsed","closeNode","parseOpen","node","parser","name","numRowsSeen","spans","attributes","split","span","parseInt","undefined","r","s","parseBoolean","bestFit","ht","parseFloat","parseText","text","parseClose","push","length","Error","reconcile","getStyleModel","module","exports"],"sources":["../../../../../lib/xlsx/xform/sheet/row-xform.js"],"sourcesContent":["const BaseXform = require('../base-xform');\nconst utils = require('../../../utils/utils');\n\nconst CellXform = require('./cell-xform');\n\nclass RowXform extends BaseXform {\n constructor(options) {\n super();\n\n this.maxItems = options && options.maxItems;\n this.map = {\n c: new CellXform(),\n };\n }\n\n get tag() {\n return 'row';\n }\n\n prepare(model, options) {\n const styleId = options.styles.addStyleModel(model.style);\n if (styleId) {\n model.styleId = styleId;\n }\n const cellXform = this.map.c;\n model.cells.forEach(cellModel => {\n cellXform.prepare(cellModel, options);\n });\n }\n\n render(xmlStream, model, options) {\n xmlStream.openNode('row');\n xmlStream.addAttribute('r', model.number);\n if (model.height) {\n xmlStream.addAttribute('ht', model.height);\n xmlStream.addAttribute('customHeight', '1');\n }\n if (model.hidden) {\n xmlStream.addAttribute('hidden', '1');\n }\n if (model.min > 0 && model.max > 0 && model.min <= model.max) {\n xmlStream.addAttribute('spans', `${model.min}:${model.max}`);\n }\n if (model.styleId) {\n xmlStream.addAttribute('s', model.styleId);\n xmlStream.addAttribute('customFormat', '1');\n }\n xmlStream.addAttribute('x14ac:dyDescent', '0.25');\n if (model.outlineLevel) {\n xmlStream.addAttribute('outlineLevel', model.outlineLevel);\n }\n if (model.collapsed) {\n xmlStream.addAttribute('collapsed', '1');\n }\n\n const cellXform = this.map.c;\n model.cells.forEach(cellModel => {\n cellXform.render(xmlStream, cellModel, options);\n });\n\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n if (node.name === 'row') {\n this.numRowsSeen += 1;\n const spans = node.attributes.spans\n ? node.attributes.spans.split(':').map(span => parseInt(span, 10))\n : [undefined, undefined];\n const model = (this.model = {\n number: parseInt(node.attributes.r, 10),\n min: spans[0],\n max: spans[1],\n cells: [],\n });\n if (node.attributes.s) {\n model.styleId = parseInt(node.attributes.s, 10);\n }\n if (utils.parseBoolean(node.attributes.hidden)) {\n model.hidden = true;\n }\n if (utils.parseBoolean(node.attributes.bestFit)) {\n model.bestFit = true;\n }\n if (node.attributes.ht) {\n model.height = parseFloat(node.attributes.ht);\n }\n if (node.attributes.outlineLevel) {\n model.outlineLevel = parseInt(node.attributes.outlineLevel, 10);\n }\n if (utils.parseBoolean(node.attributes.collapsed)) {\n model.collapsed = true;\n }\n return true;\n }\n\n this.parser = this.map[node.name];\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n return false;\n }\n\n parseText(text) {\n if (this.parser) {\n this.parser.parseText(text);\n }\n }\n\n parseClose(name) {\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n this.model.cells.push(this.parser.model);\n if (this.maxItems && this.model.cells.length > this.maxItems) {\n throw new Error(`Max column count (${this.maxItems}) exceeded`);\n }\n this.parser = undefined;\n }\n return true;\n }\n return false;\n }\n\n reconcile(model, options) {\n model.style = model.styleId ? options.styles.getStyleModel(model.styleId) : {};\n if (model.styleId !== undefined) {\n model.styleId = undefined;\n }\n\n const cellXform = this.map.c;\n model.cells.forEach(cellModel => {\n cellXform.reconcile(cellModel, options);\n });\n }\n}\n\nmodule.exports = RowXform;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -159,7 +159,7 @@ class WorkSheetXform extends BaseXform {
|
|
|
159
159
|
// prepare relationships
|
|
160
160
|
const rels = model.rels = [];
|
|
161
161
|
function nextRid(r) {
|
|
162
|
-
return
|
|
162
|
+
return `rId${r.length + 1}`;
|
|
163
163
|
}
|
|
164
164
|
model.hyperlinks.forEach(hyperlink => {
|
|
165
165
|
const rId = nextRid(rels);
|
|
@@ -177,21 +177,21 @@ class WorkSheetXform extends BaseXform {
|
|
|
177
177
|
const comment = {
|
|
178
178
|
Id: nextRid(rels),
|
|
179
179
|
Type: RelType.Comments,
|
|
180
|
-
Target:
|
|
180
|
+
Target: `../comments${model.id}.xml`
|
|
181
181
|
};
|
|
182
182
|
rels.push(comment);
|
|
183
183
|
const vmlDrawing = {
|
|
184
184
|
Id: nextRid(rels),
|
|
185
185
|
Type: RelType.VmlDrawing,
|
|
186
|
-
Target:
|
|
186
|
+
Target: `../drawings/vmlDrawing${model.id}.vml`
|
|
187
187
|
};
|
|
188
188
|
rels.push(vmlDrawing);
|
|
189
189
|
model.comments.forEach(item => {
|
|
190
190
|
item.refAddress = colCache.decodeAddress(item.ref);
|
|
191
191
|
});
|
|
192
192
|
options.commentRefs.push({
|
|
193
|
-
commentName:
|
|
194
|
-
vmlDrawing:
|
|
193
|
+
commentName: `comments${model.id}`,
|
|
194
|
+
vmlDrawing: `vmlDrawing${model.id}`
|
|
195
195
|
});
|
|
196
196
|
}
|
|
197
197
|
const drawingRelsHash = [];
|
|
@@ -203,7 +203,7 @@ class WorkSheetXform extends BaseXform {
|
|
|
203
203
|
rels.push({
|
|
204
204
|
Id: rId,
|
|
205
205
|
Type: RelType.Image,
|
|
206
|
-
Target:
|
|
206
|
+
Target: `../media/${bookImage.name}.${bookImage.extension}`
|
|
207
207
|
});
|
|
208
208
|
model.background = {
|
|
209
209
|
rId
|
|
@@ -217,7 +217,7 @@ class WorkSheetXform extends BaseXform {
|
|
|
217
217
|
if (!drawing) {
|
|
218
218
|
drawing = model.drawing = {
|
|
219
219
|
rId: nextRid(rels),
|
|
220
|
-
name:
|
|
220
|
+
name: `drawing${++options.drawingsCount}`,
|
|
221
221
|
anchors: [],
|
|
222
222
|
rels: []
|
|
223
223
|
};
|
|
@@ -225,7 +225,7 @@ class WorkSheetXform extends BaseXform {
|
|
|
225
225
|
rels.push({
|
|
226
226
|
Id: drawing.rId,
|
|
227
227
|
Type: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing',
|
|
228
|
-
Target:
|
|
228
|
+
Target: `../drawings/${drawing.name}.xml`
|
|
229
229
|
});
|
|
230
230
|
}
|
|
231
231
|
let rIdImage = this.preImageId === medium.imageId ? drawingRelsHash[medium.imageId] : drawingRelsHash[drawing.rels.length];
|
|
@@ -235,7 +235,7 @@ class WorkSheetXform extends BaseXform {
|
|
|
235
235
|
drawing.rels.push({
|
|
236
236
|
Id: rIdImage,
|
|
237
237
|
Type: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/image',
|
|
238
|
-
Target:
|
|
238
|
+
Target: `../media/${bookImage.name}.${bookImage.extension}`
|
|
239
239
|
});
|
|
240
240
|
}
|
|
241
241
|
const anchor = {
|
|
@@ -271,7 +271,7 @@ class WorkSheetXform extends BaseXform {
|
|
|
271
271
|
rels.push({
|
|
272
272
|
Id: rId,
|
|
273
273
|
Type: RelType.Table,
|
|
274
|
-
Target:
|
|
274
|
+
Target: `../tables/${table.target}`
|
|
275
275
|
});
|
|
276
276
|
|
|
277
277
|
// dynamic styles
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worksheet-xform.js","names":["_","require","colCache","XmlStream","RelType","Merges","BaseXform","ListXform","RowXform","ColXform","DimensionXform","HyperlinkXform","MergeCellXform","DataValidationsXform","SheetPropertiesXform","SheetFormatPropertiesXform","SheetViewXform","SheetProtectionXform","PageMarginsXform","PageSetupXform","PrintOptionsXform","AutoFilterXform","PictureXform","DrawingXform","TablePartXform","RowBreaksXform","HeaderFooterXform","ConditionalFormattingsXform","ExtListXform","mergeRule","rule","extRule","Object","keys","forEach","key","value","extValue","undefined","mergeConditionalFormattings","model","extModel","length","cfMap","ruleMap","cf","ref","rules","x14Id","extCf","push","WorkSheetXform","constructor","options","maxRows","maxCols","ignoreNodes","map","sheetPr","dimension","sheetViews","tag","count","childXform","sheetFormatPr","cols","sheetData","empty","maxItems","autoFilter","mergeCells","rowBreaks","hyperlinks","pageMargins","dataValidations","pageSetup","headerFooter","printOptions","picture","drawing","sheetProtection","tableParts","conditionalFormatting","extLst","prepare","merges","comments","formulae","siFormulae","rows","conditionalFormattings","rels","nextRid","r","concat","hyperlink","rId","Id","Type","Hyperlink","Target","target","TargetMode","comment","Comments","id","vmlDrawing","VmlDrawing","item","refAddress","decodeAddress","commentRefs","commentName","drawingRelsHash","bookImage","media","medium","type","imageId","Image","name","extension","background","image","drawingsCount","anchors","drawings","rIdImage","preImageId","anchor","range","rIdHyperLink","tooltip","tables","table","Table","columns","column","style","dxfId","styles","addDxfStyle","pivotTables","PivotTable","render","xmlStream","openXml","StdDocAttributes","openNode","WORKSHEET_ATTRIBUTES","sheetFormatPropertiesModel","properties","defaultRowHeight","dyDescent","outlineLevelCol","outlineLevelRow","defaultColWidth","sheetPropertiesModel","outlineProperties","tabColor","fitToPage","pageMarginsModel","margins","printOptionsModel","showRowColHeaders","showGridLines","horizontalCentered","verticalCentered","sheetProtectionModel","dimensions","views","rel","leafNode","closeNode","parseOpen","node","parser","each","xform","reset","includes","parseText","text","parseClose","sheetProperties","assign","reconcile","relationships","reduce","h","vmlComment","vmlDrawings","index","note","commentsMap","hyperlinkMap","address","filter","Boolean","row","cells","drawingRel","match","drawingName","backgroundRel","split","mediaIndex","tablePart","xmlns","module","exports"],"sources":["../../../../../lib/xlsx/xform/sheet/worksheet-xform.js"],"sourcesContent":["const _ = require('../../../utils/under-dash');\n\nconst colCache = require('../../../utils/col-cache');\nconst XmlStream = require('../../../utils/xml-stream');\n\nconst RelType = require('../../rel-type');\n\nconst Merges = require('./merges');\n\nconst BaseXform = require('../base-xform');\nconst ListXform = require('../list-xform');\nconst RowXform = require('./row-xform');\nconst ColXform = require('./col-xform');\nconst DimensionXform = require('./dimension-xform');\nconst HyperlinkXform = require('./hyperlink-xform');\nconst MergeCellXform = require('./merge-cell-xform');\nconst DataValidationsXform = require('./data-validations-xform');\nconst SheetPropertiesXform = require('./sheet-properties-xform');\nconst SheetFormatPropertiesXform = require('./sheet-format-properties-xform');\nconst SheetViewXform = require('./sheet-view-xform');\nconst SheetProtectionXform = require('./sheet-protection-xform');\nconst PageMarginsXform = require('./page-margins-xform');\nconst PageSetupXform = require('./page-setup-xform');\nconst PrintOptionsXform = require('./print-options-xform');\nconst AutoFilterXform = require('./auto-filter-xform');\nconst PictureXform = require('./picture-xform');\nconst DrawingXform = require('./drawing-xform');\nconst TablePartXform = require('./table-part-xform');\nconst RowBreaksXform = require('./row-breaks-xform');\nconst HeaderFooterXform = require('./header-footer-xform');\nconst ConditionalFormattingsXform = require('./cf/conditional-formattings-xform');\nconst ExtListXform = require('./ext-lst-xform');\n\nconst mergeRule = (rule, extRule) => {\n Object.keys(extRule).forEach(key => {\n const value = rule[key];\n const extValue = extRule[key];\n if (value === undefined && extValue !== undefined) {\n rule[key] = extValue;\n }\n });\n};\n\nconst mergeConditionalFormattings = (model, extModel) => {\n // conditional formattings are rendered in worksheet.conditionalFormatting and also in\n // worksheet.extLst.ext.x14:conditionalFormattings\n // some (e.g. dataBar) are even spread across both!\n if (!extModel || !extModel.length) {\n return model;\n }\n if (!model || !model.length) {\n return extModel;\n }\n\n // index model rules by x14Id\n const cfMap = {};\n const ruleMap = {};\n model.forEach(cf => {\n cfMap[cf.ref] = cf;\n cf.rules.forEach(rule => {\n const {x14Id} = rule;\n if (x14Id) {\n ruleMap[x14Id] = rule;\n }\n });\n });\n\n extModel.forEach(extCf => {\n extCf.rules.forEach(extRule => {\n const rule = ruleMap[extRule.x14Id];\n if (rule) {\n // merge with matching rule\n mergeRule(rule, extRule);\n } else if (cfMap[extCf.ref]) {\n // reuse existing cf ref\n cfMap[extCf.ref].rules.push(extRule);\n } else {\n // create new cf\n model.push({\n ref: extCf.ref,\n rules: [extRule],\n });\n }\n });\n });\n\n // need to cope with rules in extModel that don't exist in model\n return model;\n};\n\nclass WorkSheetXform extends BaseXform {\n constructor(options) {\n super();\n\n const {maxRows, maxCols, ignoreNodes} = options || {};\n\n this.ignoreNodes = ignoreNodes || [];\n\n this.map = {\n sheetPr: new SheetPropertiesXform(),\n dimension: new DimensionXform(),\n sheetViews: new ListXform({\n tag: 'sheetViews',\n count: false,\n childXform: new SheetViewXform(),\n }),\n sheetFormatPr: new SheetFormatPropertiesXform(),\n cols: new ListXform({tag: 'cols', count: false, childXform: new ColXform()}),\n sheetData: new ListXform({\n tag: 'sheetData',\n count: false,\n empty: true,\n childXform: new RowXform({maxItems: maxCols}),\n maxItems: maxRows,\n }),\n autoFilter: new AutoFilterXform(),\n mergeCells: new ListXform({tag: 'mergeCells', count: true, childXform: new MergeCellXform()}),\n rowBreaks: new RowBreaksXform(),\n hyperlinks: new ListXform({\n tag: 'hyperlinks',\n count: false,\n childXform: new HyperlinkXform(),\n }),\n pageMargins: new PageMarginsXform(),\n dataValidations: new DataValidationsXform(),\n pageSetup: new PageSetupXform(),\n headerFooter: new HeaderFooterXform(),\n printOptions: new PrintOptionsXform(),\n picture: new PictureXform(),\n drawing: new DrawingXform(),\n sheetProtection: new SheetProtectionXform(),\n tableParts: new ListXform({tag: 'tableParts', count: true, childXform: new TablePartXform()}),\n conditionalFormatting: new ConditionalFormattingsXform(),\n extLst: new ExtListXform(),\n };\n }\n\n prepare(model, options) {\n options.merges = new Merges();\n model.hyperlinks = options.hyperlinks = [];\n model.comments = options.comments = [];\n\n options.formulae = {};\n options.siFormulae = 0;\n this.map.cols.prepare(model.cols, options);\n this.map.sheetData.prepare(model.rows, options);\n this.map.conditionalFormatting.prepare(model.conditionalFormattings, options);\n\n model.mergeCells = options.merges.mergeCells;\n\n // prepare relationships\n const rels = (model.rels = []);\n\n function nextRid(r) {\n return `rId${r.length + 1}`;\n }\n\n model.hyperlinks.forEach(hyperlink => {\n const rId = nextRid(rels);\n hyperlink.rId = rId;\n rels.push({\n Id: rId,\n Type: RelType.Hyperlink,\n Target: hyperlink.target,\n TargetMode: 'External',\n });\n });\n\n // prepare comment relationships\n if (model.comments.length > 0) {\n const comment = {\n Id: nextRid(rels),\n Type: RelType.Comments,\n Target: `../comments${model.id}.xml`,\n };\n rels.push(comment);\n const vmlDrawing = {\n Id: nextRid(rels),\n Type: RelType.VmlDrawing,\n Target: `../drawings/vmlDrawing${model.id}.vml`,\n };\n rels.push(vmlDrawing);\n\n model.comments.forEach(item => {\n item.refAddress = colCache.decodeAddress(item.ref);\n });\n\n options.commentRefs.push({\n commentName: `comments${model.id}`,\n vmlDrawing: `vmlDrawing${model.id}`,\n });\n }\n\n const drawingRelsHash = [];\n let bookImage;\n model.media.forEach(medium => {\n if (medium.type === 'background') {\n const rId = nextRid(rels);\n bookImage = options.media[medium.imageId];\n rels.push({\n Id: rId,\n Type: RelType.Image,\n Target: `../media/${bookImage.name}.${bookImage.extension}`,\n });\n model.background = {\n rId,\n };\n model.image = options.media[medium.imageId];\n } else if (medium.type === 'image') {\n let {drawing} = model;\n bookImage = options.media[medium.imageId];\n if (!drawing) {\n drawing = model.drawing = {\n rId: nextRid(rels),\n name: `drawing${++options.drawingsCount}`,\n anchors: [],\n rels: [],\n };\n options.drawings.push(drawing);\n rels.push({\n Id: drawing.rId,\n Type: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing',\n Target: `../drawings/${drawing.name}.xml`,\n });\n }\n let rIdImage =\n this.preImageId === medium.imageId ? drawingRelsHash[medium.imageId] : drawingRelsHash[drawing.rels.length];\n if (!rIdImage) {\n rIdImage = nextRid(drawing.rels);\n drawingRelsHash[drawing.rels.length] = rIdImage;\n drawing.rels.push({\n Id: rIdImage,\n Type: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/image',\n Target: `../media/${bookImage.name}.${bookImage.extension}`,\n });\n }\n\n const anchor = {\n picture: {\n rId: rIdImage,\n },\n range: medium.range,\n };\n if (medium.hyperlinks && medium.hyperlinks.hyperlink) {\n const rIdHyperLink = nextRid(drawing.rels);\n drawingRelsHash[drawing.rels.length] = rIdHyperLink;\n anchor.picture.hyperlinks = {\n tooltip: medium.hyperlinks.tooltip,\n rId: rIdHyperLink,\n };\n drawing.rels.push({\n Id: rIdHyperLink,\n Type: RelType.Hyperlink,\n Target: medium.hyperlinks.hyperlink,\n TargetMode: 'External',\n });\n }\n this.preImageId = medium.imageId;\n drawing.anchors.push(anchor);\n }\n });\n\n // prepare tables\n model.tables.forEach(table => {\n // relationships\n const rId = nextRid(rels);\n table.rId = rId;\n rels.push({\n Id: rId,\n Type: RelType.Table,\n Target: `../tables/${table.target}`,\n });\n\n // dynamic styles\n table.columns.forEach(column => {\n const {style} = column;\n if (style) {\n column.dxfId = options.styles.addDxfStyle(style);\n }\n });\n });\n\n // prepare pivot tables\n if ((model.pivotTables || []).length) {\n rels.push({\n Id: nextRid(rels),\n Type: RelType.PivotTable,\n Target: '../pivotTables/pivotTable1.xml',\n });\n }\n\n // prepare ext items\n this.map.extLst.prepare(model, options);\n }\n\n render(xmlStream, model) {\n xmlStream.openXml(XmlStream.StdDocAttributes);\n xmlStream.openNode('worksheet', WorkSheetXform.WORKSHEET_ATTRIBUTES);\n\n const sheetFormatPropertiesModel = model.properties\n ? {\n defaultRowHeight: model.properties.defaultRowHeight,\n dyDescent: model.properties.dyDescent,\n outlineLevelCol: model.properties.outlineLevelCol,\n outlineLevelRow: model.properties.outlineLevelRow,\n }\n : undefined;\n if (model.properties && model.properties.defaultColWidth) {\n sheetFormatPropertiesModel.defaultColWidth = model.properties.defaultColWidth;\n }\n const sheetPropertiesModel = {\n outlineProperties: model.properties && model.properties.outlineProperties,\n tabColor: model.properties && model.properties.tabColor,\n pageSetup:\n model.pageSetup && model.pageSetup.fitToPage\n ? {\n fitToPage: model.pageSetup.fitToPage,\n }\n : undefined,\n };\n const pageMarginsModel = model.pageSetup && model.pageSetup.margins;\n const printOptionsModel = {\n showRowColHeaders: model.pageSetup && model.pageSetup.showRowColHeaders,\n showGridLines: model.pageSetup && model.pageSetup.showGridLines,\n horizontalCentered: model.pageSetup && model.pageSetup.horizontalCentered,\n verticalCentered: model.pageSetup && model.pageSetup.verticalCentered,\n };\n const sheetProtectionModel = model.sheetProtection;\n\n this.map.sheetPr.render(xmlStream, sheetPropertiesModel);\n this.map.dimension.render(xmlStream, model.dimensions);\n this.map.sheetViews.render(xmlStream, model.views);\n this.map.sheetFormatPr.render(xmlStream, sheetFormatPropertiesModel);\n this.map.cols.render(xmlStream, model.cols);\n this.map.sheetData.render(xmlStream, model.rows);\n this.map.sheetProtection.render(xmlStream, sheetProtectionModel); // Note: must be after sheetData and before autoFilter\n this.map.autoFilter.render(xmlStream, model.autoFilter);\n this.map.mergeCells.render(xmlStream, model.mergeCells);\n this.map.conditionalFormatting.render(xmlStream, model.conditionalFormattings); // Note: must be before dataValidations\n this.map.dataValidations.render(xmlStream, model.dataValidations);\n\n // For some reason hyperlinks have to be after the data validations\n this.map.hyperlinks.render(xmlStream, model.hyperlinks);\n\n this.map.printOptions.render(xmlStream, printOptionsModel); // Note: must be before pageMargins\n this.map.pageMargins.render(xmlStream, pageMarginsModel);\n this.map.pageSetup.render(xmlStream, model.pageSetup);\n this.map.headerFooter.render(xmlStream, model.headerFooter);\n this.map.rowBreaks.render(xmlStream, model.rowBreaks);\n this.map.drawing.render(xmlStream, model.drawing); // Note: must be after rowBreaks\n this.map.picture.render(xmlStream, model.background); // Note: must be after drawing\n this.map.tableParts.render(xmlStream, model.tables);\n\n this.map.extLst.render(xmlStream, model);\n\n if (model.rels) {\n // add a <legacyDrawing /> node for each comment\n model.rels.forEach(rel => {\n if (rel.Type === RelType.VmlDrawing) {\n xmlStream.leafNode('legacyDrawing', {'r:id': rel.Id});\n }\n });\n }\n\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n\n if (node.name === 'worksheet') {\n _.each(this.map, xform => {\n xform.reset();\n });\n return true;\n }\n\n if (this.map[node.name] && !this.ignoreNodes.includes(node.name)) {\n this.parser = this.map[node.name];\n this.parser.parseOpen(node);\n }\n return true;\n }\n\n parseText(text) {\n if (this.parser) {\n this.parser.parseText(text);\n }\n }\n\n parseClose(name) {\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n this.parser = undefined;\n }\n return true;\n }\n switch (name) {\n case 'worksheet': {\n const properties = this.map.sheetFormatPr.model || {};\n if (this.map.sheetPr.model && this.map.sheetPr.model.tabColor) {\n properties.tabColor = this.map.sheetPr.model.tabColor;\n }\n if (this.map.sheetPr.model && this.map.sheetPr.model.outlineProperties) {\n properties.outlineProperties = this.map.sheetPr.model.outlineProperties;\n }\n const sheetProperties = {\n fitToPage:\n (this.map.sheetPr.model &&\n this.map.sheetPr.model.pageSetup &&\n this.map.sheetPr.model.pageSetup.fitToPage) ||\n false,\n margins: this.map.pageMargins.model,\n };\n const pageSetup = Object.assign(sheetProperties, this.map.pageSetup.model, this.map.printOptions.model);\n const conditionalFormattings = mergeConditionalFormattings(\n this.map.conditionalFormatting.model,\n this.map.extLst.model && this.map.extLst.model['x14:conditionalFormattings']\n );\n this.model = {\n dimensions: this.map.dimension.model,\n cols: this.map.cols.model,\n rows: this.map.sheetData.model,\n mergeCells: this.map.mergeCells.model,\n hyperlinks: this.map.hyperlinks.model,\n dataValidations: this.map.dataValidations.model,\n properties,\n views: this.map.sheetViews.model,\n pageSetup,\n headerFooter: this.map.headerFooter.model,\n background: this.map.picture.model,\n drawing: this.map.drawing.model,\n tables: this.map.tableParts.model,\n conditionalFormattings,\n };\n\n if (this.map.autoFilter.model) {\n this.model.autoFilter = this.map.autoFilter.model;\n }\n if (this.map.sheetProtection.model) {\n this.model.sheetProtection = this.map.sheetProtection.model;\n }\n\n return false;\n }\n\n default:\n // not quite sure how we get here!\n return true;\n }\n }\n\n reconcile(model, options) {\n // options.merges = new Merges();\n // options.merges.reconcile(model.mergeCells, model.rows);\n const rels = (model.relationships || []).reduce((h, rel) => {\n h[rel.Id] = rel;\n if (rel.Type === RelType.Comments) {\n model.comments = options.comments[rel.Target].comments;\n }\n if (rel.Type === RelType.VmlDrawing && model.comments && model.comments.length) {\n const vmlComment = options.vmlDrawings[rel.Target].comments;\n model.comments.forEach((comment, index) => {\n comment.note = Object.assign({}, comment.note, vmlComment[index]);\n });\n }\n return h;\n }, {});\n options.commentsMap = (model.comments || []).reduce((h, comment) => {\n if (comment.ref) {\n h[comment.ref] = comment;\n }\n return h;\n }, {});\n options.hyperlinkMap = (model.hyperlinks || []).reduce((h, hyperlink) => {\n if (hyperlink.rId) {\n h[hyperlink.address] = rels[hyperlink.rId].Target;\n }\n return h;\n }, {});\n options.formulae = {};\n\n // compact the rows and cells\n model.rows = (model.rows && model.rows.filter(Boolean)) || [];\n model.rows.forEach(row => {\n row.cells = (row.cells && row.cells.filter(Boolean)) || [];\n });\n\n this.map.cols.reconcile(model.cols, options);\n this.map.sheetData.reconcile(model.rows, options);\n this.map.conditionalFormatting.reconcile(model.conditionalFormattings, options);\n\n model.media = [];\n if (model.drawing) {\n const drawingRel = rels[model.drawing.rId];\n const match = drawingRel.Target.match(/\\/drawings\\/([a-zA-Z0-9]+)[.][a-zA-Z]{3,4}$/);\n if (match) {\n const drawingName = match[1];\n const drawing = options.drawings[drawingName];\n drawing.anchors.forEach(anchor => {\n if (anchor.medium) {\n const image = {\n type: 'image',\n imageId: anchor.medium.index,\n range: anchor.range,\n hyperlinks: anchor.picture.hyperlinks,\n };\n model.media.push(image);\n }\n });\n }\n }\n\n const backgroundRel = model.background && rels[model.background.rId];\n if (backgroundRel) {\n const target = backgroundRel.Target.split('/media/')[1];\n const imageId = options.mediaIndex && options.mediaIndex[target];\n if (imageId !== undefined) {\n model.media.push({\n type: 'background',\n imageId,\n });\n }\n }\n\n model.tables = (model.tables || []).map(tablePart => {\n const rel = rels[tablePart.rId];\n return options.tables[rel.Target];\n });\n\n delete model.relationships;\n delete model.hyperlinks;\n delete model.comments;\n }\n}\n\nWorkSheetXform.WORKSHEET_ATTRIBUTES = {\n xmlns: 'http://schemas.openxmlformats.org/spreadsheetml/2006/main',\n 'xmlns:r': 'http://schemas.openxmlformats.org/officeDocument/2006/relationships',\n 'xmlns:mc': 'http://schemas.openxmlformats.org/markup-compatibility/2006',\n 'mc:Ignorable': 'x14ac',\n 'xmlns:x14ac': 'http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac',\n};\n\nmodule.exports = WorkSheetXform;\n"],"mappings":";;AAAA,MAAMA,CAAC,GAAGC,OAAO,CAAC,2BAA2B,CAAC;AAE9C,MAAMC,QAAQ,GAAGD,OAAO,CAAC,0BAA0B,CAAC;AACpD,MAAME,SAAS,GAAGF,OAAO,CAAC,2BAA2B,CAAC;AAEtD,MAAMG,OAAO,GAAGH,OAAO,CAAC,gBAAgB,CAAC;AAEzC,MAAMI,MAAM,GAAGJ,OAAO,CAAC,UAAU,CAAC;AAElC,MAAMK,SAAS,GAAGL,OAAO,CAAC,eAAe,CAAC;AAC1C,MAAMM,SAAS,GAAGN,OAAO,CAAC,eAAe,CAAC;AAC1C,MAAMO,QAAQ,GAAGP,OAAO,CAAC,aAAa,CAAC;AACvC,MAAMQ,QAAQ,GAAGR,OAAO,CAAC,aAAa,CAAC;AACvC,MAAMS,cAAc,GAAGT,OAAO,CAAC,mBAAmB,CAAC;AACnD,MAAMU,cAAc,GAAGV,OAAO,CAAC,mBAAmB,CAAC;AACnD,MAAMW,cAAc,GAAGX,OAAO,CAAC,oBAAoB,CAAC;AACpD,MAAMY,oBAAoB,GAAGZ,OAAO,CAAC,0BAA0B,CAAC;AAChE,MAAMa,oBAAoB,GAAGb,OAAO,CAAC,0BAA0B,CAAC;AAChE,MAAMc,0BAA0B,GAAGd,OAAO,CAAC,iCAAiC,CAAC;AAC7E,MAAMe,cAAc,GAAGf,OAAO,CAAC,oBAAoB,CAAC;AACpD,MAAMgB,oBAAoB,GAAGhB,OAAO,CAAC,0BAA0B,CAAC;AAChE,MAAMiB,gBAAgB,GAAGjB,OAAO,CAAC,sBAAsB,CAAC;AACxD,MAAMkB,cAAc,GAAGlB,OAAO,CAAC,oBAAoB,CAAC;AACpD,MAAMmB,iBAAiB,GAAGnB,OAAO,CAAC,uBAAuB,CAAC;AAC1D,MAAMoB,eAAe,GAAGpB,OAAO,CAAC,qBAAqB,CAAC;AACtD,MAAMqB,YAAY,GAAGrB,OAAO,CAAC,iBAAiB,CAAC;AAC/C,MAAMsB,YAAY,GAAGtB,OAAO,CAAC,iBAAiB,CAAC;AAC/C,MAAMuB,cAAc,GAAGvB,OAAO,CAAC,oBAAoB,CAAC;AACpD,MAAMwB,cAAc,GAAGxB,OAAO,CAAC,oBAAoB,CAAC;AACpD,MAAMyB,iBAAiB,GAAGzB,OAAO,CAAC,uBAAuB,CAAC;AAC1D,MAAM0B,2BAA2B,GAAG1B,OAAO,CAAC,oCAAoC,CAAC;AACjF,MAAM2B,YAAY,GAAG3B,OAAO,CAAC,iBAAiB,CAAC;AAE/C,MAAM4B,SAAS,GAAGA,CAACC,IAAI,EAAEC,OAAO,KAAK;EACnCC,MAAM,CAACC,IAAI,CAACF,OAAO,CAAC,CAACG,OAAO,CAACC,GAAG,IAAI;IAClC,MAAMC,KAAK,GAAGN,IAAI,CAACK,GAAG,CAAC;IACvB,MAAME,QAAQ,GAAGN,OAAO,CAACI,GAAG,CAAC;IAC7B,IAAIC,KAAK,KAAKE,SAAS,IAAID,QAAQ,KAAKC,SAAS,EAAE;MACjDR,IAAI,CAACK,GAAG,CAAC,GAAGE,QAAQ;IACtB;EACF,CAAC,CAAC;AACJ,CAAC;AAED,MAAME,2BAA2B,GAAGA,CAACC,KAAK,EAAEC,QAAQ,KAAK;EACvD;EACA;EACA;EACA,IAAI,CAACA,QAAQ,IAAI,CAACA,QAAQ,CAACC,MAAM,EAAE;IACjC,OAAOF,KAAK;EACd;EACA,IAAI,CAACA,KAAK,IAAI,CAACA,KAAK,CAACE,MAAM,EAAE;IAC3B,OAAOD,QAAQ;EACjB;;EAEA;EACA,MAAME,KAAK,GAAG,CAAC,CAAC;EAChB,MAAMC,OAAO,GAAG,CAAC,CAAC;EAClBJ,KAAK,CAACN,OAAO,CAACW,EAAE,IAAI;IAClBF,KAAK,CAACE,EAAE,CAACC,GAAG,CAAC,GAAGD,EAAE;IAClBA,EAAE,CAACE,KAAK,CAACb,OAAO,CAACJ,IAAI,IAAI;MACvB,MAAM;QAACkB;MAAK,CAAC,GAAGlB,IAAI;MACpB,IAAIkB,KAAK,EAAE;QACTJ,OAAO,CAACI,KAAK,CAAC,GAAGlB,IAAI;MACvB;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFW,QAAQ,CAACP,OAAO,CAACe,KAAK,IAAI;IACxBA,KAAK,CAACF,KAAK,CAACb,OAAO,CAACH,OAAO,IAAI;MAC7B,MAAMD,IAAI,GAAGc,OAAO,CAACb,OAAO,CAACiB,KAAK,CAAC;MACnC,IAAIlB,IAAI,EAAE;QACR;QACAD,SAAS,CAACC,IAAI,EAAEC,OAAO,CAAC;MAC1B,CAAC,MAAM,IAAIY,KAAK,CAACM,KAAK,CAACH,GAAG,CAAC,EAAE;QAC3B;QACAH,KAAK,CAACM,KAAK,CAACH,GAAG,CAAC,CAACC,KAAK,CAACG,IAAI,CAACnB,OAAO,CAAC;MACtC,CAAC,MAAM;QACL;QACAS,KAAK,CAACU,IAAI,CAAC;UACTJ,GAAG,EAAEG,KAAK,CAACH,GAAG;UACdC,KAAK,EAAE,CAAChB,OAAO;QACjB,CAAC,CAAC;MACJ;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;;EAEF;EACA,OAAOS,KAAK;AACd,CAAC;AAED,MAAMW,cAAc,SAAS7C,SAAS,CAAC;EACrC8C,WAAWA,CAACC,OAAO,EAAE;IACnB,KAAK,CAAC,CAAC;IAEP,MAAM;MAACC,OAAO;MAAEC,OAAO;MAAEC;IAAW,CAAC,GAAGH,OAAO,IAAI,CAAC,CAAC;IAErD,IAAI,CAACG,WAAW,GAAGA,WAAW,IAAI,EAAE;IAEpC,IAAI,CAACC,GAAG,GAAG;MACTC,OAAO,EAAE,IAAI5C,oBAAoB,CAAC,CAAC;MACnC6C,SAAS,EAAE,IAAIjD,cAAc,CAAC,CAAC;MAC/BkD,UAAU,EAAE,IAAIrD,SAAS,CAAC;QACxBsD,GAAG,EAAE,YAAY;QACjBC,KAAK,EAAE,KAAK;QACZC,UAAU,EAAE,IAAI/C,cAAc,CAAC;MACjC,CAAC,CAAC;MACFgD,aAAa,EAAE,IAAIjD,0BAA0B,CAAC,CAAC;MAC/CkD,IAAI,EAAE,IAAI1D,SAAS,CAAC;QAACsD,GAAG,EAAE,MAAM;QAAEC,KAAK,EAAE,KAAK;QAAEC,UAAU,EAAE,IAAItD,QAAQ,CAAC;MAAC,CAAC,CAAC;MAC5EyD,SAAS,EAAE,IAAI3D,SAAS,CAAC;QACvBsD,GAAG,EAAE,WAAW;QAChBC,KAAK,EAAE,KAAK;QACZK,KAAK,EAAE,IAAI;QACXJ,UAAU,EAAE,IAAIvD,QAAQ,CAAC;UAAC4D,QAAQ,EAAEb;QAAO,CAAC,CAAC;QAC7Ca,QAAQ,EAAEd;MACZ,CAAC,CAAC;MACFe,UAAU,EAAE,IAAIhD,eAAe,CAAC,CAAC;MACjCiD,UAAU,EAAE,IAAI/D,SAAS,CAAC;QAACsD,GAAG,EAAE,YAAY;QAAEC,KAAK,EAAE,IAAI;QAAEC,UAAU,EAAE,IAAInD,cAAc,CAAC;MAAC,CAAC,CAAC;MAC7F2D,SAAS,EAAE,IAAI9C,cAAc,CAAC,CAAC;MAC/B+C,UAAU,EAAE,IAAIjE,SAAS,CAAC;QACxBsD,GAAG,EAAE,YAAY;QACjBC,KAAK,EAAE,KAAK;QACZC,UAAU,EAAE,IAAIpD,cAAc,CAAC;MACjC,CAAC,CAAC;MACF8D,WAAW,EAAE,IAAIvD,gBAAgB,CAAC,CAAC;MACnCwD,eAAe,EAAE,IAAI7D,oBAAoB,CAAC,CAAC;MAC3C8D,SAAS,EAAE,IAAIxD,cAAc,CAAC,CAAC;MAC/ByD,YAAY,EAAE,IAAIlD,iBAAiB,CAAC,CAAC;MACrCmD,YAAY,EAAE,IAAIzD,iBAAiB,CAAC,CAAC;MACrC0D,OAAO,EAAE,IAAIxD,YAAY,CAAC,CAAC;MAC3ByD,OAAO,EAAE,IAAIxD,YAAY,CAAC,CAAC;MAC3ByD,eAAe,EAAE,IAAI/D,oBAAoB,CAAC,CAAC;MAC3CgE,UAAU,EAAE,IAAI1E,SAAS,CAAC;QAACsD,GAAG,EAAE,YAAY;QAAEC,KAAK,EAAE,IAAI;QAAEC,UAAU,EAAE,IAAIvC,cAAc,CAAC;MAAC,CAAC,CAAC;MAC7F0D,qBAAqB,EAAE,IAAIvD,2BAA2B,CAAC,CAAC;MACxDwD,MAAM,EAAE,IAAIvD,YAAY,CAAC;IAC3B,CAAC;EACH;EAEAwD,OAAOA,CAAC5C,KAAK,EAAEa,OAAO,EAAE;IACtBA,OAAO,CAACgC,MAAM,GAAG,IAAIhF,MAAM,CAAC,CAAC;IAC7BmC,KAAK,CAACgC,UAAU,GAAGnB,OAAO,CAACmB,UAAU,GAAG,EAAE;IAC1ChC,KAAK,CAAC8C,QAAQ,GAAGjC,OAAO,CAACiC,QAAQ,GAAG,EAAE;IAEtCjC,OAAO,CAACkC,QAAQ,GAAG,CAAC,CAAC;IACrBlC,OAAO,CAACmC,UAAU,GAAG,CAAC;IACtB,IAAI,CAAC/B,GAAG,CAACQ,IAAI,CAACmB,OAAO,CAAC5C,KAAK,CAACyB,IAAI,EAAEZ,OAAO,CAAC;IAC1C,IAAI,CAACI,GAAG,CAACS,SAAS,CAACkB,OAAO,CAAC5C,KAAK,CAACiD,IAAI,EAAEpC,OAAO,CAAC;IAC/C,IAAI,CAACI,GAAG,CAACyB,qBAAqB,CAACE,OAAO,CAAC5C,KAAK,CAACkD,sBAAsB,EAAErC,OAAO,CAAC;IAE7Eb,KAAK,CAAC8B,UAAU,GAAGjB,OAAO,CAACgC,MAAM,CAACf,UAAU;;IAE5C;IACA,MAAMqB,IAAI,GAAInD,KAAK,CAACmD,IAAI,GAAG,EAAG;IAE9B,SAASC,OAAOA,CAACC,CAAC,EAAE;MAClB,aAAAC,MAAA,CAAaD,CAAC,CAACnD,MAAM,GAAG,CAAC;IAC3B;IAEAF,KAAK,CAACgC,UAAU,CAACtC,OAAO,CAAC6D,SAAS,IAAI;MACpC,MAAMC,GAAG,GAAGJ,OAAO,CAACD,IAAI,CAAC;MACzBI,SAAS,CAACC,GAAG,GAAGA,GAAG;MACnBL,IAAI,CAACzC,IAAI,CAAC;QACR+C,EAAE,EAAED,GAAG;QACPE,IAAI,EAAE9F,OAAO,CAAC+F,SAAS;QACvBC,MAAM,EAAEL,SAAS,CAACM,MAAM;QACxBC,UAAU,EAAE;MACd,CAAC,CAAC;IACJ,CAAC,CAAC;;IAEF;IACA,IAAI9D,KAAK,CAAC8C,QAAQ,CAAC5C,MAAM,GAAG,CAAC,EAAE;MAC7B,MAAM6D,OAAO,GAAG;QACdN,EAAE,EAAEL,OAAO,CAACD,IAAI,CAAC;QACjBO,IAAI,EAAE9F,OAAO,CAACoG,QAAQ;QACtBJ,MAAM,gBAAAN,MAAA,CAAgBtD,KAAK,CAACiE,EAAE;MAChC,CAAC;MACDd,IAAI,CAACzC,IAAI,CAACqD,OAAO,CAAC;MAClB,MAAMG,UAAU,GAAG;QACjBT,EAAE,EAAEL,OAAO,CAACD,IAAI,CAAC;QACjBO,IAAI,EAAE9F,OAAO,CAACuG,UAAU;QACxBP,MAAM,2BAAAN,MAAA,CAA2BtD,KAAK,CAACiE,EAAE;MAC3C,CAAC;MACDd,IAAI,CAACzC,IAAI,CAACwD,UAAU,CAAC;MAErBlE,KAAK,CAAC8C,QAAQ,CAACpD,OAAO,CAAC0E,IAAI,IAAI;QAC7BA,IAAI,CAACC,UAAU,GAAG3G,QAAQ,CAAC4G,aAAa,CAACF,IAAI,CAAC9D,GAAG,CAAC;MACpD,CAAC,CAAC;MAEFO,OAAO,CAAC0D,WAAW,CAAC7D,IAAI,CAAC;QACvB8D,WAAW,aAAAlB,MAAA,CAAatD,KAAK,CAACiE,EAAE,CAAE;QAClCC,UAAU,eAAAZ,MAAA,CAAetD,KAAK,CAACiE,EAAE;MACnC,CAAC,CAAC;IACJ;IAEA,MAAMQ,eAAe,GAAG,EAAE;IAC1B,IAAIC,SAAS;IACb1E,KAAK,CAAC2E,KAAK,CAACjF,OAAO,CAACkF,MAAM,IAAI;MAC5B,IAAIA,MAAM,CAACC,IAAI,KAAK,YAAY,EAAE;QAChC,MAAMrB,GAAG,GAAGJ,OAAO,CAACD,IAAI,CAAC;QACzBuB,SAAS,GAAG7D,OAAO,CAAC8D,KAAK,CAACC,MAAM,CAACE,OAAO,CAAC;QACzC3B,IAAI,CAACzC,IAAI,CAAC;UACR+C,EAAE,EAAED,GAAG;UACPE,IAAI,EAAE9F,OAAO,CAACmH,KAAK;UACnBnB,MAAM,cAAAN,MAAA,CAAcoB,SAAS,CAACM,IAAI,OAAA1B,MAAA,CAAIoB,SAAS,CAACO,SAAS;QAC3D,CAAC,CAAC;QACFjF,KAAK,CAACkF,UAAU,GAAG;UACjB1B;QACF,CAAC;QACDxD,KAAK,CAACmF,KAAK,GAAGtE,OAAO,CAAC8D,KAAK,CAACC,MAAM,CAACE,OAAO,CAAC;MAC7C,CAAC,MAAM,IAAIF,MAAM,CAACC,IAAI,KAAK,OAAO,EAAE;QAClC,IAAI;UAACtC;QAAO,CAAC,GAAGvC,KAAK;QACrB0E,SAAS,GAAG7D,OAAO,CAAC8D,KAAK,CAACC,MAAM,CAACE,OAAO,CAAC;QACzC,IAAI,CAACvC,OAAO,EAAE;UACZA,OAAO,GAAGvC,KAAK,CAACuC,OAAO,GAAG;YACxBiB,GAAG,EAAEJ,OAAO,CAACD,IAAI,CAAC;YAClB6B,IAAI,YAAA1B,MAAA,CAAY,EAAEzC,OAAO,CAACuE,aAAa,CAAE;YACzCC,OAAO,EAAE,EAAE;YACXlC,IAAI,EAAE;UACR,CAAC;UACDtC,OAAO,CAACyE,QAAQ,CAAC5E,IAAI,CAAC6B,OAAO,CAAC;UAC9BY,IAAI,CAACzC,IAAI,CAAC;YACR+C,EAAE,EAAElB,OAAO,CAACiB,GAAG;YACfE,IAAI,EAAE,6EAA6E;YACnFE,MAAM,iBAAAN,MAAA,CAAiBf,OAAO,CAACyC,IAAI;UACrC,CAAC,CAAC;QACJ;QACA,IAAIO,QAAQ,GACV,IAAI,CAACC,UAAU,KAAKZ,MAAM,CAACE,OAAO,GAAGL,eAAe,CAACG,MAAM,CAACE,OAAO,CAAC,GAAGL,eAAe,CAAClC,OAAO,CAACY,IAAI,CAACjD,MAAM,CAAC;QAC7G,IAAI,CAACqF,QAAQ,EAAE;UACbA,QAAQ,GAAGnC,OAAO,CAACb,OAAO,CAACY,IAAI,CAAC;UAChCsB,eAAe,CAAClC,OAAO,CAACY,IAAI,CAACjD,MAAM,CAAC,GAAGqF,QAAQ;UAC/ChD,OAAO,CAACY,IAAI,CAACzC,IAAI,CAAC;YAChB+C,EAAE,EAAE8B,QAAQ;YACZ7B,IAAI,EAAE,2EAA2E;YACjFE,MAAM,cAAAN,MAAA,CAAcoB,SAAS,CAACM,IAAI,OAAA1B,MAAA,CAAIoB,SAAS,CAACO,SAAS;UAC3D,CAAC,CAAC;QACJ;QAEA,MAAMQ,MAAM,GAAG;UACbnD,OAAO,EAAE;YACPkB,GAAG,EAAE+B;UACP,CAAC;UACDG,KAAK,EAAEd,MAAM,CAACc;QAChB,CAAC;QACD,IAAId,MAAM,CAAC5C,UAAU,IAAI4C,MAAM,CAAC5C,UAAU,CAACuB,SAAS,EAAE;UACpD,MAAMoC,YAAY,GAAGvC,OAAO,CAACb,OAAO,CAACY,IAAI,CAAC;UAC1CsB,eAAe,CAAClC,OAAO,CAACY,IAAI,CAACjD,MAAM,CAAC,GAAGyF,YAAY;UACnDF,MAAM,CAACnD,OAAO,CAACN,UAAU,GAAG;YAC1B4D,OAAO,EAAEhB,MAAM,CAAC5C,UAAU,CAAC4D,OAAO;YAClCpC,GAAG,EAAEmC;UACP,CAAC;UACDpD,OAAO,CAACY,IAAI,CAACzC,IAAI,CAAC;YAChB+C,EAAE,EAAEkC,YAAY;YAChBjC,IAAI,EAAE9F,OAAO,CAAC+F,SAAS;YACvBC,MAAM,EAAEgB,MAAM,CAAC5C,UAAU,CAACuB,SAAS;YACnCO,UAAU,EAAE;UACd,CAAC,CAAC;QACJ;QACA,IAAI,CAAC0B,UAAU,GAAGZ,MAAM,CAACE,OAAO;QAChCvC,OAAO,CAAC8C,OAAO,CAAC3E,IAAI,CAAC+E,MAAM,CAAC;MAC9B;IACF,CAAC,CAAC;;IAEF;IACAzF,KAAK,CAAC6F,MAAM,CAACnG,OAAO,CAACoG,KAAK,IAAI;MAC5B;MACA,MAAMtC,GAAG,GAAGJ,OAAO,CAACD,IAAI,CAAC;MACzB2C,KAAK,CAACtC,GAAG,GAAGA,GAAG;MACfL,IAAI,CAACzC,IAAI,CAAC;QACR+C,EAAE,EAAED,GAAG;QACPE,IAAI,EAAE9F,OAAO,CAACmI,KAAK;QACnBnC,MAAM,eAAAN,MAAA,CAAewC,KAAK,CAACjC,MAAM;MACnC,CAAC,CAAC;;MAEF;MACAiC,KAAK,CAACE,OAAO,CAACtG,OAAO,CAACuG,MAAM,IAAI;QAC9B,MAAM;UAACC;QAAK,CAAC,GAAGD,MAAM;QACtB,IAAIC,KAAK,EAAE;UACTD,MAAM,CAACE,KAAK,GAAGtF,OAAO,CAACuF,MAAM,CAACC,WAAW,CAACH,KAAK,CAAC;QAClD;MACF,CAAC,CAAC;IACJ,CAAC,CAAC;;IAEF;IACA,IAAI,CAAClG,KAAK,CAACsG,WAAW,IAAI,EAAE,EAAEpG,MAAM,EAAE;MACpCiD,IAAI,CAACzC,IAAI,CAAC;QACR+C,EAAE,EAAEL,OAAO,CAACD,IAAI,CAAC;QACjBO,IAAI,EAAE9F,OAAO,CAAC2I,UAAU;QACxB3C,MAAM,EAAE;MACV,CAAC,CAAC;IACJ;;IAEA;IACA,IAAI,CAAC3C,GAAG,CAAC0B,MAAM,CAACC,OAAO,CAAC5C,KAAK,EAAEa,OAAO,CAAC;EACzC;EAEA2F,MAAMA,CAACC,SAAS,EAAEzG,KAAK,EAAE;IACvByG,SAAS,CAACC,OAAO,CAAC/I,SAAS,CAACgJ,gBAAgB,CAAC;IAC7CF,SAAS,CAACG,QAAQ,CAAC,WAAW,EAAEjG,cAAc,CAACkG,oBAAoB,CAAC;IAEpE,MAAMC,0BAA0B,GAAG9G,KAAK,CAAC+G,UAAU,GAC/C;MACEC,gBAAgB,EAAEhH,KAAK,CAAC+G,UAAU,CAACC,gBAAgB;MACnDC,SAAS,EAAEjH,KAAK,CAAC+G,UAAU,CAACE,SAAS;MACrCC,eAAe,EAAElH,KAAK,CAAC+G,UAAU,CAACG,eAAe;MACjDC,eAAe,EAAEnH,KAAK,CAAC+G,UAAU,CAACI;IACpC,CAAC,GACDrH,SAAS;IACb,IAAIE,KAAK,CAAC+G,UAAU,IAAI/G,KAAK,CAAC+G,UAAU,CAACK,eAAe,EAAE;MACxDN,0BAA0B,CAACM,eAAe,GAAGpH,KAAK,CAAC+G,UAAU,CAACK,eAAe;IAC/E;IACA,MAAMC,oBAAoB,GAAG;MAC3BC,iBAAiB,EAAEtH,KAAK,CAAC+G,UAAU,IAAI/G,KAAK,CAAC+G,UAAU,CAACO,iBAAiB;MACzEC,QAAQ,EAAEvH,KAAK,CAAC+G,UAAU,IAAI/G,KAAK,CAAC+G,UAAU,CAACQ,QAAQ;MACvDpF,SAAS,EACPnC,KAAK,CAACmC,SAAS,IAAInC,KAAK,CAACmC,SAAS,CAACqF,SAAS,GACxC;QACEA,SAAS,EAAExH,KAAK,CAACmC,SAAS,CAACqF;MAC7B,CAAC,GACD1H;IACR,CAAC;IACD,MAAM2H,gBAAgB,GAAGzH,KAAK,CAACmC,SAAS,IAAInC,KAAK,CAACmC,SAAS,CAACuF,OAAO;IACnE,MAAMC,iBAAiB,GAAG;MACxBC,iBAAiB,EAAE5H,KAAK,CAACmC,SAAS,IAAInC,KAAK,CAACmC,SAAS,CAACyF,iBAAiB;MACvEC,aAAa,EAAE7H,KAAK,CAACmC,SAAS,IAAInC,KAAK,CAACmC,SAAS,CAAC0F,aAAa;MAC/DC,kBAAkB,EAAE9H,KAAK,CAACmC,SAAS,IAAInC,KAAK,CAACmC,SAAS,CAAC2F,kBAAkB;MACzEC,gBAAgB,EAAE/H,KAAK,CAACmC,SAAS,IAAInC,KAAK,CAACmC,SAAS,CAAC4F;IACvD,CAAC;IACD,MAAMC,oBAAoB,GAAGhI,KAAK,CAACwC,eAAe;IAElD,IAAI,CAACvB,GAAG,CAACC,OAAO,CAACsF,MAAM,CAACC,SAAS,EAAEY,oBAAoB,CAAC;IACxD,IAAI,CAACpG,GAAG,CAACE,SAAS,CAACqF,MAAM,CAACC,SAAS,EAAEzG,KAAK,CAACiI,UAAU,CAAC;IACtD,IAAI,CAAChH,GAAG,CAACG,UAAU,CAACoF,MAAM,CAACC,SAAS,EAAEzG,KAAK,CAACkI,KAAK,CAAC;IAClD,IAAI,CAACjH,GAAG,CAACO,aAAa,CAACgF,MAAM,CAACC,SAAS,EAAEK,0BAA0B,CAAC;IACpE,IAAI,CAAC7F,GAAG,CAACQ,IAAI,CAAC+E,MAAM,CAACC,SAAS,EAAEzG,KAAK,CAACyB,IAAI,CAAC;IAC3C,IAAI,CAACR,GAAG,CAACS,SAAS,CAAC8E,MAAM,CAACC,SAAS,EAAEzG,KAAK,CAACiD,IAAI,CAAC;IAChD,IAAI,CAAChC,GAAG,CAACuB,eAAe,CAACgE,MAAM,CAACC,SAAS,EAAEuB,oBAAoB,CAAC,CAAC,CAAC;IAClE,IAAI,CAAC/G,GAAG,CAACY,UAAU,CAAC2E,MAAM,CAACC,SAAS,EAAEzG,KAAK,CAAC6B,UAAU,CAAC;IACvD,IAAI,CAACZ,GAAG,CAACa,UAAU,CAAC0E,MAAM,CAACC,SAAS,EAAEzG,KAAK,CAAC8B,UAAU,CAAC;IACvD,IAAI,CAACb,GAAG,CAACyB,qBAAqB,CAAC8D,MAAM,CAACC,SAAS,EAAEzG,KAAK,CAACkD,sBAAsB,CAAC,CAAC,CAAC;IAChF,IAAI,CAACjC,GAAG,CAACiB,eAAe,CAACsE,MAAM,CAACC,SAAS,EAAEzG,KAAK,CAACkC,eAAe,CAAC;;IAEjE;IACA,IAAI,CAACjB,GAAG,CAACe,UAAU,CAACwE,MAAM,CAACC,SAAS,EAAEzG,KAAK,CAACgC,UAAU,CAAC;IAEvD,IAAI,CAACf,GAAG,CAACoB,YAAY,CAACmE,MAAM,CAACC,SAAS,EAAEkB,iBAAiB,CAAC,CAAC,CAAC;IAC5D,IAAI,CAAC1G,GAAG,CAACgB,WAAW,CAACuE,MAAM,CAACC,SAAS,EAAEgB,gBAAgB,CAAC;IACxD,IAAI,CAACxG,GAAG,CAACkB,SAAS,CAACqE,MAAM,CAACC,SAAS,EAAEzG,KAAK,CAACmC,SAAS,CAAC;IACrD,IAAI,CAAClB,GAAG,CAACmB,YAAY,CAACoE,MAAM,CAACC,SAAS,EAAEzG,KAAK,CAACoC,YAAY,CAAC;IAC3D,IAAI,CAACnB,GAAG,CAACc,SAAS,CAACyE,MAAM,CAACC,SAAS,EAAEzG,KAAK,CAAC+B,SAAS,CAAC;IACrD,IAAI,CAACd,GAAG,CAACsB,OAAO,CAACiE,MAAM,CAACC,SAAS,EAAEzG,KAAK,CAACuC,OAAO,CAAC,CAAC,CAAC;IACnD,IAAI,CAACtB,GAAG,CAACqB,OAAO,CAACkE,MAAM,CAACC,SAAS,EAAEzG,KAAK,CAACkF,UAAU,CAAC,CAAC,CAAC;IACtD,IAAI,CAACjE,GAAG,CAACwB,UAAU,CAAC+D,MAAM,CAACC,SAAS,EAAEzG,KAAK,CAAC6F,MAAM,CAAC;IAEnD,IAAI,CAAC5E,GAAG,CAAC0B,MAAM,CAAC6D,MAAM,CAACC,SAAS,EAAEzG,KAAK,CAAC;IAExC,IAAIA,KAAK,CAACmD,IAAI,EAAE;MACd;MACAnD,KAAK,CAACmD,IAAI,CAACzD,OAAO,CAACyI,GAAG,IAAI;QACxB,IAAIA,GAAG,CAACzE,IAAI,KAAK9F,OAAO,CAACuG,UAAU,EAAE;UACnCsC,SAAS,CAAC2B,QAAQ,CAAC,eAAe,EAAE;YAAC,MAAM,EAAED,GAAG,CAAC1E;UAAE,CAAC,CAAC;QACvD;MACF,CAAC,CAAC;IACJ;IAEAgD,SAAS,CAAC4B,SAAS,CAAC,CAAC;EACvB;EAEAC,SAASA,CAACC,IAAI,EAAE;IACd,IAAI,IAAI,CAACC,MAAM,EAAE;MACf,IAAI,CAACA,MAAM,CAACF,SAAS,CAACC,IAAI,CAAC;MAC3B,OAAO,IAAI;IACb;IAEA,IAAIA,IAAI,CAACvD,IAAI,KAAK,WAAW,EAAE;MAC7BxH,CAAC,CAACiL,IAAI,CAAC,IAAI,CAACxH,GAAG,EAAEyH,KAAK,IAAI;QACxBA,KAAK,CAACC,KAAK,CAAC,CAAC;MACf,CAAC,CAAC;MACF,OAAO,IAAI;IACb;IAEA,IAAI,IAAI,CAAC1H,GAAG,CAACsH,IAAI,CAACvD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAChE,WAAW,CAAC4H,QAAQ,CAACL,IAAI,CAACvD,IAAI,CAAC,EAAE;MAChE,IAAI,CAACwD,MAAM,GAAG,IAAI,CAACvH,GAAG,CAACsH,IAAI,CAACvD,IAAI,CAAC;MACjC,IAAI,CAACwD,MAAM,CAACF,SAAS,CAACC,IAAI,CAAC;IAC7B;IACA,OAAO,IAAI;EACb;EAEAM,SAASA,CAACC,IAAI,EAAE;IACd,IAAI,IAAI,CAACN,MAAM,EAAE;MACf,IAAI,CAACA,MAAM,CAACK,SAAS,CAACC,IAAI,CAAC;IAC7B;EACF;EAEAC,UAAUA,CAAC/D,IAAI,EAAE;IACf,IAAI,IAAI,CAACwD,MAAM,EAAE;MACf,IAAI,CAAC,IAAI,CAACA,MAAM,CAACO,UAAU,CAAC/D,IAAI,CAAC,EAAE;QACjC,IAAI,CAACwD,MAAM,GAAG1I,SAAS;MACzB;MACA,OAAO,IAAI;IACb;IACA,QAAQkF,IAAI;MACV,KAAK,WAAW;QAAE;UAChB,MAAM+B,UAAU,GAAG,IAAI,CAAC9F,GAAG,CAACO,aAAa,CAACxB,KAAK,IAAI,CAAC,CAAC;UACrD,IAAI,IAAI,CAACiB,GAAG,CAACC,OAAO,CAAClB,KAAK,IAAI,IAAI,CAACiB,GAAG,CAACC,OAAO,CAAClB,KAAK,CAACuH,QAAQ,EAAE;YAC7DR,UAAU,CAACQ,QAAQ,GAAG,IAAI,CAACtG,GAAG,CAACC,OAAO,CAAClB,KAAK,CAACuH,QAAQ;UACvD;UACA,IAAI,IAAI,CAACtG,GAAG,CAACC,OAAO,CAAClB,KAAK,IAAI,IAAI,CAACiB,GAAG,CAACC,OAAO,CAAClB,KAAK,CAACsH,iBAAiB,EAAE;YACtEP,UAAU,CAACO,iBAAiB,GAAG,IAAI,CAACrG,GAAG,CAACC,OAAO,CAAClB,KAAK,CAACsH,iBAAiB;UACzE;UACA,MAAM0B,eAAe,GAAG;YACtBxB,SAAS,EACN,IAAI,CAACvG,GAAG,CAACC,OAAO,CAAClB,KAAK,IACrB,IAAI,CAACiB,GAAG,CAACC,OAAO,CAAClB,KAAK,CAACmC,SAAS,IAChC,IAAI,CAAClB,GAAG,CAACC,OAAO,CAAClB,KAAK,CAACmC,SAAS,CAACqF,SAAS,IAC5C,KAAK;YACPE,OAAO,EAAE,IAAI,CAACzG,GAAG,CAACgB,WAAW,CAACjC;UAChC,CAAC;UACD,MAAMmC,SAAS,GAAG3C,MAAM,CAACyJ,MAAM,CAACD,eAAe,EAAE,IAAI,CAAC/H,GAAG,CAACkB,SAAS,CAACnC,KAAK,EAAE,IAAI,CAACiB,GAAG,CAACoB,YAAY,CAACrC,KAAK,CAAC;UACvG,MAAMkD,sBAAsB,GAAGnD,2BAA2B,CACxD,IAAI,CAACkB,GAAG,CAACyB,qBAAqB,CAAC1C,KAAK,EACpC,IAAI,CAACiB,GAAG,CAAC0B,MAAM,CAAC3C,KAAK,IAAI,IAAI,CAACiB,GAAG,CAAC0B,MAAM,CAAC3C,KAAK,CAAC,4BAA4B,CAC7E,CAAC;UACD,IAAI,CAACA,KAAK,GAAG;YACXiI,UAAU,EAAE,IAAI,CAAChH,GAAG,CAACE,SAAS,CAACnB,KAAK;YACpCyB,IAAI,EAAE,IAAI,CAACR,GAAG,CAACQ,IAAI,CAACzB,KAAK;YACzBiD,IAAI,EAAE,IAAI,CAAChC,GAAG,CAACS,SAAS,CAAC1B,KAAK;YAC9B8B,UAAU,EAAE,IAAI,CAACb,GAAG,CAACa,UAAU,CAAC9B,KAAK;YACrCgC,UAAU,EAAE,IAAI,CAACf,GAAG,CAACe,UAAU,CAAChC,KAAK;YACrCkC,eAAe,EAAE,IAAI,CAACjB,GAAG,CAACiB,eAAe,CAAClC,KAAK;YAC/C+G,UAAU;YACVmB,KAAK,EAAE,IAAI,CAACjH,GAAG,CAACG,UAAU,CAACpB,KAAK;YAChCmC,SAAS;YACTC,YAAY,EAAE,IAAI,CAACnB,GAAG,CAACmB,YAAY,CAACpC,KAAK;YACzCkF,UAAU,EAAE,IAAI,CAACjE,GAAG,CAACqB,OAAO,CAACtC,KAAK;YAClCuC,OAAO,EAAE,IAAI,CAACtB,GAAG,CAACsB,OAAO,CAACvC,KAAK;YAC/B6F,MAAM,EAAE,IAAI,CAAC5E,GAAG,CAACwB,UAAU,CAACzC,KAAK;YACjCkD;UACF,CAAC;UAED,IAAI,IAAI,CAACjC,GAAG,CAACY,UAAU,CAAC7B,KAAK,EAAE;YAC7B,IAAI,CAACA,KAAK,CAAC6B,UAAU,GAAG,IAAI,CAACZ,GAAG,CAACY,UAAU,CAAC7B,KAAK;UACnD;UACA,IAAI,IAAI,CAACiB,GAAG,CAACuB,eAAe,CAACxC,KAAK,EAAE;YAClC,IAAI,CAACA,KAAK,CAACwC,eAAe,GAAG,IAAI,CAACvB,GAAG,CAACuB,eAAe,CAACxC,KAAK;UAC7D;UAEA,OAAO,KAAK;QACd;MAEA;QACE;QACA,OAAO,IAAI;IACf;EACF;EAEAkJ,SAASA,CAAClJ,KAAK,EAAEa,OAAO,EAAE;IACxB;IACA;IACA,MAAMsC,IAAI,GAAG,CAACnD,KAAK,CAACmJ,aAAa,IAAI,EAAE,EAAEC,MAAM,CAAC,CAACC,CAAC,EAAElB,GAAG,KAAK;MAC1DkB,CAAC,CAAClB,GAAG,CAAC1E,EAAE,CAAC,GAAG0E,GAAG;MACf,IAAIA,GAAG,CAACzE,IAAI,KAAK9F,OAAO,CAACoG,QAAQ,EAAE;QACjChE,KAAK,CAAC8C,QAAQ,GAAGjC,OAAO,CAACiC,QAAQ,CAACqF,GAAG,CAACvE,MAAM,CAAC,CAACd,QAAQ;MACxD;MACA,IAAIqF,GAAG,CAACzE,IAAI,KAAK9F,OAAO,CAACuG,UAAU,IAAInE,KAAK,CAAC8C,QAAQ,IAAI9C,KAAK,CAAC8C,QAAQ,CAAC5C,MAAM,EAAE;QAC9E,MAAMoJ,UAAU,GAAGzI,OAAO,CAAC0I,WAAW,CAACpB,GAAG,CAACvE,MAAM,CAAC,CAACd,QAAQ;QAC3D9C,KAAK,CAAC8C,QAAQ,CAACpD,OAAO,CAAC,CAACqE,OAAO,EAAEyF,KAAK,KAAK;UACzCzF,OAAO,CAAC0F,IAAI,GAAGjK,MAAM,CAACyJ,MAAM,CAAC,CAAC,CAAC,EAAElF,OAAO,CAAC0F,IAAI,EAAEH,UAAU,CAACE,KAAK,CAAC,CAAC;QACnE,CAAC,CAAC;MACJ;MACA,OAAOH,CAAC;IACV,CAAC,EAAE,CAAC,CAAC,CAAC;IACNxI,OAAO,CAAC6I,WAAW,GAAG,CAAC1J,KAAK,CAAC8C,QAAQ,IAAI,EAAE,EAAEsG,MAAM,CAAC,CAACC,CAAC,EAAEtF,OAAO,KAAK;MAClE,IAAIA,OAAO,CAACzD,GAAG,EAAE;QACf+I,CAAC,CAACtF,OAAO,CAACzD,GAAG,CAAC,GAAGyD,OAAO;MAC1B;MACA,OAAOsF,CAAC;IACV,CAAC,EAAE,CAAC,CAAC,CAAC;IACNxI,OAAO,CAAC8I,YAAY,GAAG,CAAC3J,KAAK,CAACgC,UAAU,IAAI,EAAE,EAAEoH,MAAM,CAAC,CAACC,CAAC,EAAE9F,SAAS,KAAK;MACvE,IAAIA,SAAS,CAACC,GAAG,EAAE;QACjB6F,CAAC,CAAC9F,SAAS,CAACqG,OAAO,CAAC,GAAGzG,IAAI,CAACI,SAAS,CAACC,GAAG,CAAC,CAACI,MAAM;MACnD;MACA,OAAOyF,CAAC;IACV,CAAC,EAAE,CAAC,CAAC,CAAC;IACNxI,OAAO,CAACkC,QAAQ,GAAG,CAAC,CAAC;;IAErB;IACA/C,KAAK,CAACiD,IAAI,GAAIjD,KAAK,CAACiD,IAAI,IAAIjD,KAAK,CAACiD,IAAI,CAAC4G,MAAM,CAACC,OAAO,CAAC,IAAK,EAAE;IAC7D9J,KAAK,CAACiD,IAAI,CAACvD,OAAO,CAACqK,GAAG,IAAI;MACxBA,GAAG,CAACC,KAAK,GAAID,GAAG,CAACC,KAAK,IAAID,GAAG,CAACC,KAAK,CAACH,MAAM,CAACC,OAAO,CAAC,IAAK,EAAE;IAC5D,CAAC,CAAC;IAEF,IAAI,CAAC7I,GAAG,CAACQ,IAAI,CAACyH,SAAS,CAAClJ,KAAK,CAACyB,IAAI,EAAEZ,OAAO,CAAC;IAC5C,IAAI,CAACI,GAAG,CAACS,SAAS,CAACwH,SAAS,CAAClJ,KAAK,CAACiD,IAAI,EAAEpC,OAAO,CAAC;IACjD,IAAI,CAACI,GAAG,CAACyB,qBAAqB,CAACwG,SAAS,CAAClJ,KAAK,CAACkD,sBAAsB,EAAErC,OAAO,CAAC;IAE/Eb,KAAK,CAAC2E,KAAK,GAAG,EAAE;IAChB,IAAI3E,KAAK,CAACuC,OAAO,EAAE;MACjB,MAAM0H,UAAU,GAAG9G,IAAI,CAACnD,KAAK,CAACuC,OAAO,CAACiB,GAAG,CAAC;MAC1C,MAAM0G,KAAK,GAAGD,UAAU,CAACrG,MAAM,CAACsG,KAAK,CAAC,6CAA6C,CAAC;MACpF,IAAIA,KAAK,EAAE;QACT,MAAMC,WAAW,GAAGD,KAAK,CAAC,CAAC,CAAC;QAC5B,MAAM3H,OAAO,GAAG1B,OAAO,CAACyE,QAAQ,CAAC6E,WAAW,CAAC;QAC7C5H,OAAO,CAAC8C,OAAO,CAAC3F,OAAO,CAAC+F,MAAM,IAAI;UAChC,IAAIA,MAAM,CAACb,MAAM,EAAE;YACjB,MAAMO,KAAK,GAAG;cACZN,IAAI,EAAE,OAAO;cACbC,OAAO,EAAEW,MAAM,CAACb,MAAM,CAAC4E,KAAK;cAC5B9D,KAAK,EAAED,MAAM,CAACC,KAAK;cACnB1D,UAAU,EAAEyD,MAAM,CAACnD,OAAO,CAACN;YAC7B,CAAC;YACDhC,KAAK,CAAC2E,KAAK,CAACjE,IAAI,CAACyE,KAAK,CAAC;UACzB;QACF,CAAC,CAAC;MACJ;IACF;IAEA,MAAMiF,aAAa,GAAGpK,KAAK,CAACkF,UAAU,IAAI/B,IAAI,CAACnD,KAAK,CAACkF,UAAU,CAAC1B,GAAG,CAAC;IACpE,IAAI4G,aAAa,EAAE;MACjB,MAAMvG,MAAM,GAAGuG,aAAa,CAACxG,MAAM,CAACyG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;MACvD,MAAMvF,OAAO,GAAGjE,OAAO,CAACyJ,UAAU,IAAIzJ,OAAO,CAACyJ,UAAU,CAACzG,MAAM,CAAC;MAChE,IAAIiB,OAAO,KAAKhF,SAAS,EAAE;QACzBE,KAAK,CAAC2E,KAAK,CAACjE,IAAI,CAAC;UACfmE,IAAI,EAAE,YAAY;UAClBC;QACF,CAAC,CAAC;MACJ;IACF;IAEA9E,KAAK,CAAC6F,MAAM,GAAG,CAAC7F,KAAK,CAAC6F,MAAM,IAAI,EAAE,EAAE5E,GAAG,CAACsJ,SAAS,IAAI;MACnD,MAAMpC,GAAG,GAAGhF,IAAI,CAACoH,SAAS,CAAC/G,GAAG,CAAC;MAC/B,OAAO3C,OAAO,CAACgF,MAAM,CAACsC,GAAG,CAACvE,MAAM,CAAC;IACnC,CAAC,CAAC;IAEF,OAAO5D,KAAK,CAACmJ,aAAa;IAC1B,OAAOnJ,KAAK,CAACgC,UAAU;IACvB,OAAOhC,KAAK,CAAC8C,QAAQ;EACvB;AACF;AAEAnC,cAAc,CAACkG,oBAAoB,GAAG;EACpC2D,KAAK,EAAE,2DAA2D;EAClE,SAAS,EAAE,qEAAqE;EAChF,UAAU,EAAE,6DAA6D;EACzE,cAAc,EAAE,OAAO;EACvB,aAAa,EAAE;AACjB,CAAC;AAEDC,MAAM,CAACC,OAAO,GAAG/J,cAAc","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"worksheet-xform.js","names":["_","require","colCache","XmlStream","RelType","Merges","BaseXform","ListXform","RowXform","ColXform","DimensionXform","HyperlinkXform","MergeCellXform","DataValidationsXform","SheetPropertiesXform","SheetFormatPropertiesXform","SheetViewXform","SheetProtectionXform","PageMarginsXform","PageSetupXform","PrintOptionsXform","AutoFilterXform","PictureXform","DrawingXform","TablePartXform","RowBreaksXform","HeaderFooterXform","ConditionalFormattingsXform","ExtListXform","mergeRule","rule","extRule","Object","keys","forEach","key","value","extValue","undefined","mergeConditionalFormattings","model","extModel","length","cfMap","ruleMap","cf","ref","rules","x14Id","extCf","push","WorkSheetXform","constructor","options","maxRows","maxCols","ignoreNodes","map","sheetPr","dimension","sheetViews","tag","count","childXform","sheetFormatPr","cols","sheetData","empty","maxItems","autoFilter","mergeCells","rowBreaks","hyperlinks","pageMargins","dataValidations","pageSetup","headerFooter","printOptions","picture","drawing","sheetProtection","tableParts","conditionalFormatting","extLst","prepare","merges","comments","formulae","siFormulae","rows","conditionalFormattings","rels","nextRid","r","hyperlink","rId","Id","Type","Hyperlink","Target","target","TargetMode","comment","Comments","id","vmlDrawing","VmlDrawing","item","refAddress","decodeAddress","commentRefs","commentName","drawingRelsHash","bookImage","media","medium","type","imageId","Image","name","extension","background","image","drawingsCount","anchors","drawings","rIdImage","preImageId","anchor","range","rIdHyperLink","tooltip","tables","table","Table","columns","column","style","dxfId","styles","addDxfStyle","pivotTables","PivotTable","render","xmlStream","openXml","StdDocAttributes","openNode","WORKSHEET_ATTRIBUTES","sheetFormatPropertiesModel","properties","defaultRowHeight","dyDescent","outlineLevelCol","outlineLevelRow","defaultColWidth","sheetPropertiesModel","outlineProperties","tabColor","fitToPage","pageMarginsModel","margins","printOptionsModel","showRowColHeaders","showGridLines","horizontalCentered","verticalCentered","sheetProtectionModel","dimensions","views","rel","leafNode","closeNode","parseOpen","node","parser","each","xform","reset","includes","parseText","text","parseClose","sheetProperties","assign","reconcile","relationships","reduce","h","vmlComment","vmlDrawings","index","note","commentsMap","hyperlinkMap","address","filter","Boolean","row","cells","drawingRel","match","drawingName","backgroundRel","split","mediaIndex","tablePart","xmlns","module","exports"],"sources":["../../../../../lib/xlsx/xform/sheet/worksheet-xform.js"],"sourcesContent":["const _ = require('../../../utils/under-dash');\n\nconst colCache = require('../../../utils/col-cache');\nconst XmlStream = require('../../../utils/xml-stream');\n\nconst RelType = require('../../rel-type');\n\nconst Merges = require('./merges');\n\nconst BaseXform = require('../base-xform');\nconst ListXform = require('../list-xform');\nconst RowXform = require('./row-xform');\nconst ColXform = require('./col-xform');\nconst DimensionXform = require('./dimension-xform');\nconst HyperlinkXform = require('./hyperlink-xform');\nconst MergeCellXform = require('./merge-cell-xform');\nconst DataValidationsXform = require('./data-validations-xform');\nconst SheetPropertiesXform = require('./sheet-properties-xform');\nconst SheetFormatPropertiesXform = require('./sheet-format-properties-xform');\nconst SheetViewXform = require('./sheet-view-xform');\nconst SheetProtectionXform = require('./sheet-protection-xform');\nconst PageMarginsXform = require('./page-margins-xform');\nconst PageSetupXform = require('./page-setup-xform');\nconst PrintOptionsXform = require('./print-options-xform');\nconst AutoFilterXform = require('./auto-filter-xform');\nconst PictureXform = require('./picture-xform');\nconst DrawingXform = require('./drawing-xform');\nconst TablePartXform = require('./table-part-xform');\nconst RowBreaksXform = require('./row-breaks-xform');\nconst HeaderFooterXform = require('./header-footer-xform');\nconst ConditionalFormattingsXform = require('./cf/conditional-formattings-xform');\nconst ExtListXform = require('./ext-lst-xform');\n\nconst mergeRule = (rule, extRule) => {\n Object.keys(extRule).forEach(key => {\n const value = rule[key];\n const extValue = extRule[key];\n if (value === undefined && extValue !== undefined) {\n rule[key] = extValue;\n }\n });\n};\n\nconst mergeConditionalFormattings = (model, extModel) => {\n // conditional formattings are rendered in worksheet.conditionalFormatting and also in\n // worksheet.extLst.ext.x14:conditionalFormattings\n // some (e.g. dataBar) are even spread across both!\n if (!extModel || !extModel.length) {\n return model;\n }\n if (!model || !model.length) {\n return extModel;\n }\n\n // index model rules by x14Id\n const cfMap = {};\n const ruleMap = {};\n model.forEach(cf => {\n cfMap[cf.ref] = cf;\n cf.rules.forEach(rule => {\n const {x14Id} = rule;\n if (x14Id) {\n ruleMap[x14Id] = rule;\n }\n });\n });\n\n extModel.forEach(extCf => {\n extCf.rules.forEach(extRule => {\n const rule = ruleMap[extRule.x14Id];\n if (rule) {\n // merge with matching rule\n mergeRule(rule, extRule);\n } else if (cfMap[extCf.ref]) {\n // reuse existing cf ref\n cfMap[extCf.ref].rules.push(extRule);\n } else {\n // create new cf\n model.push({\n ref: extCf.ref,\n rules: [extRule],\n });\n }\n });\n });\n\n // need to cope with rules in extModel that don't exist in model\n return model;\n};\n\nclass WorkSheetXform extends BaseXform {\n constructor(options) {\n super();\n\n const {maxRows, maxCols, ignoreNodes} = options || {};\n\n this.ignoreNodes = ignoreNodes || [];\n\n this.map = {\n sheetPr: new SheetPropertiesXform(),\n dimension: new DimensionXform(),\n sheetViews: new ListXform({\n tag: 'sheetViews',\n count: false,\n childXform: new SheetViewXform(),\n }),\n sheetFormatPr: new SheetFormatPropertiesXform(),\n cols: new ListXform({tag: 'cols', count: false, childXform: new ColXform()}),\n sheetData: new ListXform({\n tag: 'sheetData',\n count: false,\n empty: true,\n childXform: new RowXform({maxItems: maxCols}),\n maxItems: maxRows,\n }),\n autoFilter: new AutoFilterXform(),\n mergeCells: new ListXform({tag: 'mergeCells', count: true, childXform: new MergeCellXform()}),\n rowBreaks: new RowBreaksXform(),\n hyperlinks: new ListXform({\n tag: 'hyperlinks',\n count: false,\n childXform: new HyperlinkXform(),\n }),\n pageMargins: new PageMarginsXform(),\n dataValidations: new DataValidationsXform(),\n pageSetup: new PageSetupXform(),\n headerFooter: new HeaderFooterXform(),\n printOptions: new PrintOptionsXform(),\n picture: new PictureXform(),\n drawing: new DrawingXform(),\n sheetProtection: new SheetProtectionXform(),\n tableParts: new ListXform({tag: 'tableParts', count: true, childXform: new TablePartXform()}),\n conditionalFormatting: new ConditionalFormattingsXform(),\n extLst: new ExtListXform(),\n };\n }\n\n prepare(model, options) {\n options.merges = new Merges();\n model.hyperlinks = options.hyperlinks = [];\n model.comments = options.comments = [];\n\n options.formulae = {};\n options.siFormulae = 0;\n this.map.cols.prepare(model.cols, options);\n this.map.sheetData.prepare(model.rows, options);\n this.map.conditionalFormatting.prepare(model.conditionalFormattings, options);\n\n model.mergeCells = options.merges.mergeCells;\n\n // prepare relationships\n const rels = (model.rels = []);\n\n function nextRid(r) {\n return `rId${r.length + 1}`;\n }\n\n model.hyperlinks.forEach(hyperlink => {\n const rId = nextRid(rels);\n hyperlink.rId = rId;\n rels.push({\n Id: rId,\n Type: RelType.Hyperlink,\n Target: hyperlink.target,\n TargetMode: 'External',\n });\n });\n\n // prepare comment relationships\n if (model.comments.length > 0) {\n const comment = {\n Id: nextRid(rels),\n Type: RelType.Comments,\n Target: `../comments${model.id}.xml`,\n };\n rels.push(comment);\n const vmlDrawing = {\n Id: nextRid(rels),\n Type: RelType.VmlDrawing,\n Target: `../drawings/vmlDrawing${model.id}.vml`,\n };\n rels.push(vmlDrawing);\n\n model.comments.forEach(item => {\n item.refAddress = colCache.decodeAddress(item.ref);\n });\n\n options.commentRefs.push({\n commentName: `comments${model.id}`,\n vmlDrawing: `vmlDrawing${model.id}`,\n });\n }\n\n const drawingRelsHash = [];\n let bookImage;\n model.media.forEach(medium => {\n if (medium.type === 'background') {\n const rId = nextRid(rels);\n bookImage = options.media[medium.imageId];\n rels.push({\n Id: rId,\n Type: RelType.Image,\n Target: `../media/${bookImage.name}.${bookImage.extension}`,\n });\n model.background = {\n rId,\n };\n model.image = options.media[medium.imageId];\n } else if (medium.type === 'image') {\n let {drawing} = model;\n bookImage = options.media[medium.imageId];\n if (!drawing) {\n drawing = model.drawing = {\n rId: nextRid(rels),\n name: `drawing${++options.drawingsCount}`,\n anchors: [],\n rels: [],\n };\n options.drawings.push(drawing);\n rels.push({\n Id: drawing.rId,\n Type: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing',\n Target: `../drawings/${drawing.name}.xml`,\n });\n }\n let rIdImage =\n this.preImageId === medium.imageId ? drawingRelsHash[medium.imageId] : drawingRelsHash[drawing.rels.length];\n if (!rIdImage) {\n rIdImage = nextRid(drawing.rels);\n drawingRelsHash[drawing.rels.length] = rIdImage;\n drawing.rels.push({\n Id: rIdImage,\n Type: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/image',\n Target: `../media/${bookImage.name}.${bookImage.extension}`,\n });\n }\n\n const anchor = {\n picture: {\n rId: rIdImage,\n },\n range: medium.range,\n };\n if (medium.hyperlinks && medium.hyperlinks.hyperlink) {\n const rIdHyperLink = nextRid(drawing.rels);\n drawingRelsHash[drawing.rels.length] = rIdHyperLink;\n anchor.picture.hyperlinks = {\n tooltip: medium.hyperlinks.tooltip,\n rId: rIdHyperLink,\n };\n drawing.rels.push({\n Id: rIdHyperLink,\n Type: RelType.Hyperlink,\n Target: medium.hyperlinks.hyperlink,\n TargetMode: 'External',\n });\n }\n this.preImageId = medium.imageId;\n drawing.anchors.push(anchor);\n }\n });\n\n // prepare tables\n model.tables.forEach(table => {\n // relationships\n const rId = nextRid(rels);\n table.rId = rId;\n rels.push({\n Id: rId,\n Type: RelType.Table,\n Target: `../tables/${table.target}`,\n });\n\n // dynamic styles\n table.columns.forEach(column => {\n const {style} = column;\n if (style) {\n column.dxfId = options.styles.addDxfStyle(style);\n }\n });\n });\n\n // prepare pivot tables\n if ((model.pivotTables || []).length) {\n rels.push({\n Id: nextRid(rels),\n Type: RelType.PivotTable,\n Target: '../pivotTables/pivotTable1.xml',\n });\n }\n\n // prepare ext items\n this.map.extLst.prepare(model, options);\n }\n\n render(xmlStream, model) {\n xmlStream.openXml(XmlStream.StdDocAttributes);\n xmlStream.openNode('worksheet', WorkSheetXform.WORKSHEET_ATTRIBUTES);\n\n const sheetFormatPropertiesModel = model.properties\n ? {\n defaultRowHeight: model.properties.defaultRowHeight,\n dyDescent: model.properties.dyDescent,\n outlineLevelCol: model.properties.outlineLevelCol,\n outlineLevelRow: model.properties.outlineLevelRow,\n }\n : undefined;\n if (model.properties && model.properties.defaultColWidth) {\n sheetFormatPropertiesModel.defaultColWidth = model.properties.defaultColWidth;\n }\n const sheetPropertiesModel = {\n outlineProperties: model.properties && model.properties.outlineProperties,\n tabColor: model.properties && model.properties.tabColor,\n pageSetup:\n model.pageSetup && model.pageSetup.fitToPage\n ? {\n fitToPage: model.pageSetup.fitToPage,\n }\n : undefined,\n };\n const pageMarginsModel = model.pageSetup && model.pageSetup.margins;\n const printOptionsModel = {\n showRowColHeaders: model.pageSetup && model.pageSetup.showRowColHeaders,\n showGridLines: model.pageSetup && model.pageSetup.showGridLines,\n horizontalCentered: model.pageSetup && model.pageSetup.horizontalCentered,\n verticalCentered: model.pageSetup && model.pageSetup.verticalCentered,\n };\n const sheetProtectionModel = model.sheetProtection;\n\n this.map.sheetPr.render(xmlStream, sheetPropertiesModel);\n this.map.dimension.render(xmlStream, model.dimensions);\n this.map.sheetViews.render(xmlStream, model.views);\n this.map.sheetFormatPr.render(xmlStream, sheetFormatPropertiesModel);\n this.map.cols.render(xmlStream, model.cols);\n this.map.sheetData.render(xmlStream, model.rows);\n this.map.sheetProtection.render(xmlStream, sheetProtectionModel); // Note: must be after sheetData and before autoFilter\n this.map.autoFilter.render(xmlStream, model.autoFilter);\n this.map.mergeCells.render(xmlStream, model.mergeCells);\n this.map.conditionalFormatting.render(xmlStream, model.conditionalFormattings); // Note: must be before dataValidations\n this.map.dataValidations.render(xmlStream, model.dataValidations);\n\n // For some reason hyperlinks have to be after the data validations\n this.map.hyperlinks.render(xmlStream, model.hyperlinks);\n\n this.map.printOptions.render(xmlStream, printOptionsModel); // Note: must be before pageMargins\n this.map.pageMargins.render(xmlStream, pageMarginsModel);\n this.map.pageSetup.render(xmlStream, model.pageSetup);\n this.map.headerFooter.render(xmlStream, model.headerFooter);\n this.map.rowBreaks.render(xmlStream, model.rowBreaks);\n this.map.drawing.render(xmlStream, model.drawing); // Note: must be after rowBreaks\n this.map.picture.render(xmlStream, model.background); // Note: must be after drawing\n this.map.tableParts.render(xmlStream, model.tables);\n\n this.map.extLst.render(xmlStream, model);\n\n if (model.rels) {\n // add a <legacyDrawing /> node for each comment\n model.rels.forEach(rel => {\n if (rel.Type === RelType.VmlDrawing) {\n xmlStream.leafNode('legacyDrawing', {'r:id': rel.Id});\n }\n });\n }\n\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n\n if (node.name === 'worksheet') {\n _.each(this.map, xform => {\n xform.reset();\n });\n return true;\n }\n\n if (this.map[node.name] && !this.ignoreNodes.includes(node.name)) {\n this.parser = this.map[node.name];\n this.parser.parseOpen(node);\n }\n return true;\n }\n\n parseText(text) {\n if (this.parser) {\n this.parser.parseText(text);\n }\n }\n\n parseClose(name) {\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n this.parser = undefined;\n }\n return true;\n }\n switch (name) {\n case 'worksheet': {\n const properties = this.map.sheetFormatPr.model || {};\n if (this.map.sheetPr.model && this.map.sheetPr.model.tabColor) {\n properties.tabColor = this.map.sheetPr.model.tabColor;\n }\n if (this.map.sheetPr.model && this.map.sheetPr.model.outlineProperties) {\n properties.outlineProperties = this.map.sheetPr.model.outlineProperties;\n }\n const sheetProperties = {\n fitToPage:\n (this.map.sheetPr.model &&\n this.map.sheetPr.model.pageSetup &&\n this.map.sheetPr.model.pageSetup.fitToPage) ||\n false,\n margins: this.map.pageMargins.model,\n };\n const pageSetup = Object.assign(sheetProperties, this.map.pageSetup.model, this.map.printOptions.model);\n const conditionalFormattings = mergeConditionalFormattings(\n this.map.conditionalFormatting.model,\n this.map.extLst.model && this.map.extLst.model['x14:conditionalFormattings']\n );\n this.model = {\n dimensions: this.map.dimension.model,\n cols: this.map.cols.model,\n rows: this.map.sheetData.model,\n mergeCells: this.map.mergeCells.model,\n hyperlinks: this.map.hyperlinks.model,\n dataValidations: this.map.dataValidations.model,\n properties,\n views: this.map.sheetViews.model,\n pageSetup,\n headerFooter: this.map.headerFooter.model,\n background: this.map.picture.model,\n drawing: this.map.drawing.model,\n tables: this.map.tableParts.model,\n conditionalFormattings,\n };\n\n if (this.map.autoFilter.model) {\n this.model.autoFilter = this.map.autoFilter.model;\n }\n if (this.map.sheetProtection.model) {\n this.model.sheetProtection = this.map.sheetProtection.model;\n }\n\n return false;\n }\n\n default:\n // not quite sure how we get here!\n return true;\n }\n }\n\n reconcile(model, options) {\n // options.merges = new Merges();\n // options.merges.reconcile(model.mergeCells, model.rows);\n const rels = (model.relationships || []).reduce((h, rel) => {\n h[rel.Id] = rel;\n if (rel.Type === RelType.Comments) {\n model.comments = options.comments[rel.Target].comments;\n }\n if (rel.Type === RelType.VmlDrawing && model.comments && model.comments.length) {\n const vmlComment = options.vmlDrawings[rel.Target].comments;\n model.comments.forEach((comment, index) => {\n comment.note = Object.assign({}, comment.note, vmlComment[index]);\n });\n }\n return h;\n }, {});\n options.commentsMap = (model.comments || []).reduce((h, comment) => {\n if (comment.ref) {\n h[comment.ref] = comment;\n }\n return h;\n }, {});\n options.hyperlinkMap = (model.hyperlinks || []).reduce((h, hyperlink) => {\n if (hyperlink.rId) {\n h[hyperlink.address] = rels[hyperlink.rId].Target;\n }\n return h;\n }, {});\n options.formulae = {};\n\n // compact the rows and cells\n model.rows = (model.rows && model.rows.filter(Boolean)) || [];\n model.rows.forEach(row => {\n row.cells = (row.cells && row.cells.filter(Boolean)) || [];\n });\n\n this.map.cols.reconcile(model.cols, options);\n this.map.sheetData.reconcile(model.rows, options);\n this.map.conditionalFormatting.reconcile(model.conditionalFormattings, options);\n\n model.media = [];\n if (model.drawing) {\n const drawingRel = rels[model.drawing.rId];\n const match = drawingRel.Target.match(/\\/drawings\\/([a-zA-Z0-9]+)[.][a-zA-Z]{3,4}$/);\n if (match) {\n const drawingName = match[1];\n const drawing = options.drawings[drawingName];\n drawing.anchors.forEach(anchor => {\n if (anchor.medium) {\n const image = {\n type: 'image',\n imageId: anchor.medium.index,\n range: anchor.range,\n hyperlinks: anchor.picture.hyperlinks,\n };\n model.media.push(image);\n }\n });\n }\n }\n\n const backgroundRel = model.background && rels[model.background.rId];\n if (backgroundRel) {\n const target = backgroundRel.Target.split('/media/')[1];\n const imageId = options.mediaIndex && options.mediaIndex[target];\n if (imageId !== undefined) {\n model.media.push({\n type: 'background',\n imageId,\n });\n }\n }\n\n model.tables = (model.tables || []).map(tablePart => {\n const rel = rels[tablePart.rId];\n return options.tables[rel.Target];\n });\n\n delete model.relationships;\n delete model.hyperlinks;\n delete model.comments;\n }\n}\n\nWorkSheetXform.WORKSHEET_ATTRIBUTES = {\n xmlns: 'http://schemas.openxmlformats.org/spreadsheetml/2006/main',\n 'xmlns:r': 'http://schemas.openxmlformats.org/officeDocument/2006/relationships',\n 'xmlns:mc': 'http://schemas.openxmlformats.org/markup-compatibility/2006',\n 'mc:Ignorable': 'x14ac',\n 'xmlns:x14ac': 'http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac',\n};\n\nmodule.exports = WorkSheetXform;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -85,7 +85,7 @@ class SharedStringsXform extends BaseXform {
|
|
|
85
85
|
this.parser.parseOpen(node);
|
|
86
86
|
return true;
|
|
87
87
|
default:
|
|
88
|
-
throw new Error(
|
|
88
|
+
throw new Error(`Unexpected xml node in parseOpen: ${JSON.stringify(node)}`);
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
91
|
parseText(text) {
|
|
@@ -106,7 +106,7 @@ class SharedStringsXform extends BaseXform {
|
|
|
106
106
|
case 'sst':
|
|
107
107
|
return false;
|
|
108
108
|
default:
|
|
109
|
-
throw new Error(
|
|
109
|
+
throw new Error(`Unexpected xml node in parseClose: ${name}`);
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
112
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared-strings-xform.js","names":["XmlStream","require","BaseXform","SharedStringXform","SharedStringsXform","constructor","model","values","count","hash","Object","create","rich","sharedStringXform","_sharedStringXform","uniqueCount","length","getString","index","add","value","richText","addRichText","addText","undefined","push","xml","toXml","render","xmlStream","_values","openXml","StdDocAttributes","openNode","xmlns","sx","forEach","sharedString","closeNode","parseOpen","node","parser","name","Error","
|
|
1
|
+
{"version":3,"file":"shared-strings-xform.js","names":["XmlStream","require","BaseXform","SharedStringXform","SharedStringsXform","constructor","model","values","count","hash","Object","create","rich","sharedStringXform","_sharedStringXform","uniqueCount","length","getString","index","add","value","richText","addRichText","addText","undefined","push","xml","toXml","render","xmlStream","_values","openXml","StdDocAttributes","openNode","xmlns","sx","forEach","sharedString","closeNode","parseOpen","node","parser","name","Error","JSON","stringify","parseText","text","parseClose","module","exports"],"sources":["../../../../../lib/xlsx/xform/strings/shared-strings-xform.js"],"sourcesContent":["const XmlStream = require('../../../utils/xml-stream');\nconst BaseXform = require('../base-xform');\nconst SharedStringXform = require('./shared-string-xform');\n\nclass SharedStringsXform extends BaseXform {\n constructor(model) {\n super();\n\n this.model = model || {\n values: [],\n count: 0,\n };\n this.hash = Object.create(null);\n this.rich = Object.create(null);\n }\n\n get sharedStringXform() {\n return this._sharedStringXform || (this._sharedStringXform = new SharedStringXform());\n }\n\n get values() {\n return this.model.values;\n }\n\n get uniqueCount() {\n return this.model.values.length;\n }\n\n get count() {\n return this.model.count;\n }\n\n getString(index) {\n return this.model.values[index];\n }\n\n add(value) {\n return value.richText ? this.addRichText(value) : this.addText(value);\n }\n\n addText(value) {\n let index = this.hash[value];\n if (index === undefined) {\n index = this.hash[value] = this.model.values.length;\n this.model.values.push(value);\n }\n this.model.count++;\n return index;\n }\n\n addRichText(value) {\n // TODO: add WeakMap here\n const xml = this.sharedStringXform.toXml(value);\n let index = this.rich[xml];\n if (index === undefined) {\n index = this.rich[xml] = this.model.values.length;\n this.model.values.push(value);\n }\n this.model.count++;\n return index;\n }\n\n // <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n // <sst xmlns=\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\" count=\"<%=totalRefs%>\" uniqueCount=\"<%=count%>\">\n // <si><t><%=text%></t></si>\n // <si><r><rPr></rPr><t></t></r></si>\n // </sst>\n\n render(xmlStream, model) {\n model = model || this._values;\n xmlStream.openXml(XmlStream.StdDocAttributes);\n\n xmlStream.openNode('sst', {\n xmlns: 'http://schemas.openxmlformats.org/spreadsheetml/2006/main',\n count: model.count,\n uniqueCount: model.values.length,\n });\n\n const sx = this.sharedStringXform;\n model.values.forEach(sharedString => {\n sx.render(xmlStream, sharedString);\n });\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n switch (node.name) {\n case 'sst':\n return true;\n case 'si':\n this.parser = this.sharedStringXform;\n this.parser.parseOpen(node);\n return true;\n default:\n throw new Error(`Unexpected xml node in parseOpen: ${JSON.stringify(node)}`);\n }\n }\n\n parseText(text) {\n if (this.parser) {\n this.parser.parseText(text);\n }\n }\n\n parseClose(name) {\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n this.model.values.push(this.parser.model);\n this.model.count++;\n this.parser = undefined;\n }\n return true;\n }\n switch (name) {\n case 'sst':\n return false;\n default:\n throw new Error(`Unexpected xml node in parseClose: ${name}`);\n }\n }\n}\n\nmodule.exports = SharedStringsXform;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,10 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
4
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
5
|
-
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
6
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
7
|
-
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
8
3
|
/* eslint-disable max-classes-per-file */
|
|
9
4
|
const BaseXform = require('../base-xform');
|
|
10
5
|
const utils = require('../../../utils/utils');
|
|
@@ -118,9 +113,10 @@ class BorderXform extends BaseXform {
|
|
|
118
113
|
function add(edgeModel, edgeXform) {
|
|
119
114
|
if (edgeModel && !edgeModel.color && model.color) {
|
|
120
115
|
// don't mess with incoming models
|
|
121
|
-
edgeModel =
|
|
116
|
+
edgeModel = {
|
|
117
|
+
...edgeModel,
|
|
122
118
|
color: model.color
|
|
123
|
-
}
|
|
119
|
+
};
|
|
124
120
|
}
|
|
125
121
|
edgeXform.render(xmlStream, edgeModel, color);
|
|
126
122
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"border-xform.js","names":["BaseXform","require","utils","ColorXform","EdgeXform","constructor","name","map","color","tag","render","xmlStream","model","defaultColor","openNode","style","addAttribute","closeNode","parseOpen","node","parser","attributes","undefined","parseText","text","parseClose","validStyle","value","validStyleValues","reduce","p","v","BorderXform","top","left","bottom","right","diagonal","up","down","add","edgeModel","edgeXform","_objectSpread","reset","diagonalUp","parseBoolean","diagonalDown","key","extensions","Object","assign","module","exports"],"sources":["../../../../../lib/xlsx/xform/style/border-xform.js"],"sourcesContent":["/* eslint-disable max-classes-per-file */\nconst BaseXform = require('../base-xform');\nconst utils = require('../../../utils/utils');\n\nconst ColorXform = require('./color-xform');\n\nclass EdgeXform extends BaseXform {\n constructor(name) {\n super();\n\n this.name = name;\n this.map = {\n color: new ColorXform(),\n };\n }\n\n get tag() {\n return this.name;\n }\n\n render(xmlStream, model, defaultColor) {\n const color = (model && model.color) || defaultColor || this.defaultColor;\n xmlStream.openNode(this.name);\n if (model && model.style) {\n xmlStream.addAttribute('style', model.style);\n if (color) {\n this.map.color.render(xmlStream, color);\n }\n }\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n switch (node.name) {\n case this.name: {\n const {style} = node.attributes;\n if (style) {\n this.model = {\n style,\n };\n } else {\n this.model = undefined;\n }\n return true;\n }\n case 'color':\n this.parser = this.map.color;\n this.parser.parseOpen(node);\n return true;\n default:\n return false;\n }\n }\n\n parseText(text) {\n if (this.parser) {\n this.parser.parseText(text);\n }\n }\n\n parseClose(name) {\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n this.parser = undefined;\n }\n return true;\n }\n\n if (name === this.name) {\n if (this.map.color.model) {\n if (!this.model) {\n this.model = {};\n }\n this.model.color = this.map.color.model;\n }\n }\n\n return false;\n }\n\n validStyle(value) {\n return EdgeXform.validStyleValues[value];\n }\n}\n\nEdgeXform.validStyleValues = [\n 'thin',\n 'dashed',\n 'dotted',\n 'dashDot',\n 'hair',\n 'dashDotDot',\n 'slantDashDot',\n 'mediumDashed',\n 'mediumDashDotDot',\n 'mediumDashDot',\n 'medium',\n 'double',\n 'thick',\n].reduce((p, v) => {\n p[v] = true;\n return p;\n}, {});\n\n// Border encapsulates translation from border model to/from xlsx\nclass BorderXform extends BaseXform {\n constructor() {\n super();\n\n this.map = {\n top: new EdgeXform('top'),\n left: new EdgeXform('left'),\n bottom: new EdgeXform('bottom'),\n right: new EdgeXform('right'),\n diagonal: new EdgeXform('diagonal'),\n };\n }\n\n render(xmlStream, model) {\n const {color} = model;\n xmlStream.openNode('border');\n if (model.diagonal && model.diagonal.style) {\n if (model.diagonal.up) {\n xmlStream.addAttribute('diagonalUp', '1');\n }\n if (model.diagonal.down) {\n xmlStream.addAttribute('diagonalDown', '1');\n }\n }\n function add(edgeModel, edgeXform) {\n if (edgeModel && !edgeModel.color && model.color) {\n // don't mess with incoming models\n edgeModel = {\n ...edgeModel,\n color: model.color,\n };\n }\n edgeXform.render(xmlStream, edgeModel, color);\n }\n add(model.left, this.map.left);\n add(model.right, this.map.right);\n add(model.top, this.map.top);\n add(model.bottom, this.map.bottom);\n add(model.diagonal, this.map.diagonal);\n\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n switch (node.name) {\n case 'border':\n this.reset();\n this.diagonalUp = utils.parseBoolean(node.attributes.diagonalUp);\n this.diagonalDown = utils.parseBoolean(node.attributes.diagonalDown);\n return true;\n default:\n this.parser = this.map[node.name];\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n return false;\n }\n }\n\n parseText(text) {\n if (this.parser) {\n this.parser.parseText(text);\n }\n }\n\n parseClose(name) {\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n this.parser = undefined;\n }\n return true;\n }\n if (name === 'border') {\n const model = (this.model = {});\n const add = function(key, edgeModel, extensions) {\n if (edgeModel) {\n if (extensions) {\n Object.assign(edgeModel, extensions);\n }\n model[key] = edgeModel;\n }\n };\n add('left', this.map.left.model);\n add('right', this.map.right.model);\n add('top', this.map.top.model);\n add('bottom', this.map.bottom.model);\n add('diagonal', this.map.diagonal.model, {up: this.diagonalUp, down: this.diagonalDown});\n }\n return false;\n }\n}\n\nmodule.exports = BorderXform;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"border-xform.js","names":["BaseXform","require","utils","ColorXform","EdgeXform","constructor","name","map","color","tag","render","xmlStream","model","defaultColor","openNode","style","addAttribute","closeNode","parseOpen","node","parser","attributes","undefined","parseText","text","parseClose","validStyle","value","validStyleValues","reduce","p","v","BorderXform","top","left","bottom","right","diagonal","up","down","add","edgeModel","edgeXform","reset","diagonalUp","parseBoolean","diagonalDown","key","extensions","Object","assign","module","exports"],"sources":["../../../../../lib/xlsx/xform/style/border-xform.js"],"sourcesContent":["/* eslint-disable max-classes-per-file */\nconst BaseXform = require('../base-xform');\nconst utils = require('../../../utils/utils');\n\nconst ColorXform = require('./color-xform');\n\nclass EdgeXform extends BaseXform {\n constructor(name) {\n super();\n\n this.name = name;\n this.map = {\n color: new ColorXform(),\n };\n }\n\n get tag() {\n return this.name;\n }\n\n render(xmlStream, model, defaultColor) {\n const color = (model && model.color) || defaultColor || this.defaultColor;\n xmlStream.openNode(this.name);\n if (model && model.style) {\n xmlStream.addAttribute('style', model.style);\n if (color) {\n this.map.color.render(xmlStream, color);\n }\n }\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n switch (node.name) {\n case this.name: {\n const {style} = node.attributes;\n if (style) {\n this.model = {\n style,\n };\n } else {\n this.model = undefined;\n }\n return true;\n }\n case 'color':\n this.parser = this.map.color;\n this.parser.parseOpen(node);\n return true;\n default:\n return false;\n }\n }\n\n parseText(text) {\n if (this.parser) {\n this.parser.parseText(text);\n }\n }\n\n parseClose(name) {\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n this.parser = undefined;\n }\n return true;\n }\n\n if (name === this.name) {\n if (this.map.color.model) {\n if (!this.model) {\n this.model = {};\n }\n this.model.color = this.map.color.model;\n }\n }\n\n return false;\n }\n\n validStyle(value) {\n return EdgeXform.validStyleValues[value];\n }\n}\n\nEdgeXform.validStyleValues = [\n 'thin',\n 'dashed',\n 'dotted',\n 'dashDot',\n 'hair',\n 'dashDotDot',\n 'slantDashDot',\n 'mediumDashed',\n 'mediumDashDotDot',\n 'mediumDashDot',\n 'medium',\n 'double',\n 'thick',\n].reduce((p, v) => {\n p[v] = true;\n return p;\n}, {});\n\n// Border encapsulates translation from border model to/from xlsx\nclass BorderXform extends BaseXform {\n constructor() {\n super();\n\n this.map = {\n top: new EdgeXform('top'),\n left: new EdgeXform('left'),\n bottom: new EdgeXform('bottom'),\n right: new EdgeXform('right'),\n diagonal: new EdgeXform('diagonal'),\n };\n }\n\n render(xmlStream, model) {\n const {color} = model;\n xmlStream.openNode('border');\n if (model.diagonal && model.diagonal.style) {\n if (model.diagonal.up) {\n xmlStream.addAttribute('diagonalUp', '1');\n }\n if (model.diagonal.down) {\n xmlStream.addAttribute('diagonalDown', '1');\n }\n }\n function add(edgeModel, edgeXform) {\n if (edgeModel && !edgeModel.color && model.color) {\n // don't mess with incoming models\n edgeModel = {\n ...edgeModel,\n color: model.color,\n };\n }\n edgeXform.render(xmlStream, edgeModel, color);\n }\n add(model.left, this.map.left);\n add(model.right, this.map.right);\n add(model.top, this.map.top);\n add(model.bottom, this.map.bottom);\n add(model.diagonal, this.map.diagonal);\n\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n switch (node.name) {\n case 'border':\n this.reset();\n this.diagonalUp = utils.parseBoolean(node.attributes.diagonalUp);\n this.diagonalDown = utils.parseBoolean(node.attributes.diagonalDown);\n return true;\n default:\n this.parser = this.map[node.name];\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n return false;\n }\n }\n\n parseText(text) {\n if (this.parser) {\n this.parser.parseText(text);\n }\n }\n\n parseClose(name) {\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n this.parser = undefined;\n }\n return true;\n }\n if (name === 'border') {\n const model = (this.model = {});\n const add = function(key, edgeModel, extensions) {\n if (edgeModel) {\n if (extensions) {\n Object.assign(edgeModel, extensions);\n }\n model[key] = edgeModel;\n }\n };\n add('left', this.map.left.model);\n add('right', this.map.right.model);\n add('top', this.map.top.model);\n add('bottom', this.map.bottom.model);\n add('diagonal', this.map.diagonal.model, {up: this.diagonalUp, down: this.diagonalDown});\n }\n return false;\n }\n}\n\nmodule.exports = BorderXform;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -47,7 +47,7 @@ class AutoFilterXform extends BaseXform {
|
|
|
47
47
|
this.parseOpen(node);
|
|
48
48
|
return true;
|
|
49
49
|
}
|
|
50
|
-
throw new Error(
|
|
50
|
+
throw new Error(`Unexpected xml node in parseOpen: ${JSON.stringify(node)}`);
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
parseText(text) {
|
|
@@ -67,7 +67,7 @@ class AutoFilterXform extends BaseXform {
|
|
|
67
67
|
case this.tag:
|
|
68
68
|
return false;
|
|
69
69
|
default:
|
|
70
|
-
throw new Error(
|
|
70
|
+
throw new Error(`Unexpected xml node in parseClose: ${name}`);
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
73
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-filter-xform.js","names":["BaseXform","require","FilterColumnXform","AutoFilterXform","constructor","map","filterColumn","tag","prepare","model","columns","forEach","column","index","render","xmlStream","openNode","ref","autoFilterRef","closeNode","parseOpen","node","parser","name","attributes","Error","
|
|
1
|
+
{"version":3,"file":"auto-filter-xform.js","names":["BaseXform","require","FilterColumnXform","AutoFilterXform","constructor","map","filterColumn","tag","prepare","model","columns","forEach","column","index","render","xmlStream","openNode","ref","autoFilterRef","closeNode","parseOpen","node","parser","name","attributes","Error","JSON","stringify","parseText","text","parseClose","push","undefined","module","exports"],"sources":["../../../../../lib/xlsx/xform/table/auto-filter-xform.js"],"sourcesContent":["const BaseXform = require('../base-xform');\n\nconst FilterColumnXform = require('./filter-column-xform');\n\nclass AutoFilterXform extends BaseXform {\n constructor() {\n super();\n\n this.map = {\n filterColumn: new FilterColumnXform(),\n };\n }\n\n get tag() {\n return 'autoFilter';\n }\n\n prepare(model) {\n model.columns.forEach((column, index) => {\n this.map.filterColumn.prepare(column, {index});\n });\n }\n\n render(xmlStream, model) {\n xmlStream.openNode(this.tag, {ref: model.autoFilterRef});\n\n model.columns.forEach(column => {\n this.map.filterColumn.render(xmlStream, column);\n });\n\n xmlStream.closeNode();\n return true;\n }\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n switch (node.name) {\n case this.tag:\n this.model = {\n autoFilterRef: node.attributes.ref,\n columns: [],\n };\n return true;\n\n default:\n this.parser = this.map[node.name];\n if (this.parser) {\n this.parseOpen(node);\n return true;\n }\n throw new Error(`Unexpected xml node in parseOpen: ${JSON.stringify(node)}`);\n }\n }\n\n parseText(text) {\n if (this.parser) {\n this.parser.parseText(text);\n }\n }\n\n parseClose(name) {\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n this.model.columns.push(this.parser.model);\n this.parser = undefined;\n }\n return true;\n }\n switch (name) {\n case this.tag:\n return false;\n default:\n throw new Error(`Unexpected xml node in parseClose: ${name}`);\n }\n }\n}\n\nmodule.exports = AutoFilterXform;\n"],"mappings":";;AAAA,MAAMA,SAAS,GAAGC,OAAO,CAAC,eAAe,CAAC;AAE1C,MAAMC,iBAAiB,GAAGD,OAAO,CAAC,uBAAuB,CAAC;AAE1D,MAAME,eAAe,SAASH,SAAS,CAAC;EACtCI,WAAWA,CAAA,EAAG;IACZ,KAAK,CAAC,CAAC;IAEP,IAAI,CAACC,GAAG,GAAG;MACTC,YAAY,EAAE,IAAIJ,iBAAiB,CAAC;IACtC,CAAC;EACH;EAEA,IAAIK,GAAGA,CAAA,EAAG;IACR,OAAO,YAAY;EACrB;EAEAC,OAAOA,CAACC,KAAK,EAAE;IACbA,KAAK,CAACC,OAAO,CAACC,OAAO,CAAC,CAACC,MAAM,EAAEC,KAAK,KAAK;MACvC,IAAI,CAACR,GAAG,CAACC,YAAY,CAACE,OAAO,CAACI,MAAM,EAAE;QAACC;MAAK,CAAC,CAAC;IAChD,CAAC,CAAC;EACJ;EAEAC,MAAMA,CAACC,SAAS,EAAEN,KAAK,EAAE;IACvBM,SAAS,CAACC,QAAQ,CAAC,IAAI,CAACT,GAAG,EAAE;MAACU,GAAG,EAAER,KAAK,CAACS;IAAa,CAAC,CAAC;IAExDT,KAAK,CAACC,OAAO,CAACC,OAAO,CAACC,MAAM,IAAI;MAC9B,IAAI,CAACP,GAAG,CAACC,YAAY,CAACQ,MAAM,CAACC,SAAS,EAAEH,MAAM,CAAC;IACjD,CAAC,CAAC;IAEFG,SAAS,CAACI,SAAS,CAAC,CAAC;IACrB,OAAO,IAAI;EACb;EAEAC,SAASA,CAACC,IAAI,EAAE;IACd,IAAI,IAAI,CAACC,MAAM,EAAE;MACf,IAAI,CAACA,MAAM,CAACF,SAAS,CAACC,IAAI,CAAC;MAC3B,OAAO,IAAI;IACb;IACA,QAAQA,IAAI,CAACE,IAAI;MACf,KAAK,IAAI,CAAChB,GAAG;QACX,IAAI,CAACE,KAAK,GAAG;UACXS,aAAa,EAAEG,IAAI,CAACG,UAAU,CAACP,GAAG;UAClCP,OAAO,EAAE;QACX,CAAC;QACD,OAAO,IAAI;MAEb;QACE,IAAI,CAACY,MAAM,GAAG,IAAI,CAACjB,GAAG,CAACgB,IAAI,CAACE,IAAI,CAAC;QACjC,IAAI,IAAI,CAACD,MAAM,EAAE;UACf,IAAI,CAACF,SAAS,CAACC,IAAI,CAAC;UACpB,OAAO,IAAI;QACb;QACA,MAAM,IAAII,KAAK,CAAC,qCAAqCC,IAAI,CAACC,SAAS,CAACN,IAAI,CAAC,EAAE,CAAC;IAChF;EACF;EAEAO,SAASA,CAACC,IAAI,EAAE;IACd,IAAI,IAAI,CAACP,MAAM,EAAE;MACf,IAAI,CAACA,MAAM,CAACM,SAAS,CAACC,IAAI,CAAC;IAC7B;EACF;EAEAC,UAAUA,CAACP,IAAI,EAAE;IACf,IAAI,IAAI,CAACD,MAAM,EAAE;MACf,IAAI,CAAC,IAAI,CAACA,MAAM,CAACQ,UAAU,CAACP,IAAI,CAAC,EAAE;QACjC,IAAI,CAACd,KAAK,CAACC,OAAO,CAACqB,IAAI,CAAC,IAAI,CAACT,MAAM,CAACb,KAAK,CAAC;QAC1C,IAAI,CAACa,MAAM,GAAGU,SAAS;MACzB;MACA,OAAO,IAAI;IACb;IACA,QAAQT,IAAI;MACV,KAAK,IAAI,CAAChB,GAAG;QACX,OAAO,KAAK;MACd;QACE,MAAM,IAAIkB,KAAK,CAAC,sCAAsCF,IAAI,EAAE,CAAC;IACjE;EACF;AACF;AAEAU,MAAM,CAACC,OAAO,GAAG/B,eAAe","ignoreList":[]}
|
|
@@ -64,7 +64,7 @@ class FilterColumnXform extends BaseXform {
|
|
|
64
64
|
this.parseOpen(node);
|
|
65
65
|
return true;
|
|
66
66
|
}
|
|
67
|
-
throw new Error(
|
|
67
|
+
throw new Error(`Unexpected xml node in parseOpen: ${JSON.stringify(node)}`);
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
parseText() {}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter-column-xform.js","names":["BaseXform","require","ListXform","CustomFilterXform","FilterXform","FilterColumnXform","constructor","map","customFilters","tag","count","empty","childXform","filters","prepare","model","options","colId","index","toString","render","xmlStream","openNode","hiddenButton","filterButton","closeNode","leafNode","parseOpen","node","parser","attributes","name","Error","
|
|
1
|
+
{"version":3,"file":"filter-column-xform.js","names":["BaseXform","require","ListXform","CustomFilterXform","FilterXform","FilterColumnXform","constructor","map","customFilters","tag","count","empty","childXform","filters","prepare","model","options","colId","index","toString","render","xmlStream","openNode","hiddenButton","filterButton","closeNode","leafNode","parseOpen","node","parser","attributes","name","Error","JSON","stringify","parseText","parseClose","undefined","module","exports"],"sources":["../../../../../lib/xlsx/xform/table/filter-column-xform.js"],"sourcesContent":["const BaseXform = require('../base-xform');\nconst ListXform = require('../list-xform');\n\nconst CustomFilterXform = require('./custom-filter-xform');\nconst FilterXform = require('./filter-xform');\n\nclass FilterColumnXform extends BaseXform {\n constructor() {\n super();\n\n this.map = {\n customFilters: new ListXform({\n tag: 'customFilters',\n count: false,\n empty: true,\n childXform: new CustomFilterXform(),\n }),\n filters: new ListXform({\n tag: 'filters',\n count: false,\n empty: true,\n childXform: new FilterXform(),\n }),\n };\n }\n\n get tag() {\n return 'filterColumn';\n }\n\n prepare(model, options) {\n model.colId = options.index.toString();\n }\n\n render(xmlStream, model) {\n if (model.customFilters) {\n xmlStream.openNode(this.tag, {\n colId: model.colId,\n hiddenButton: model.filterButton ? '0' : '1',\n });\n\n this.map.customFilters.render(xmlStream, model.customFilters);\n\n xmlStream.closeNode();\n return true;\n }\n xmlStream.leafNode(this.tag, {\n colId: model.colId,\n hiddenButton: model.filterButton ? '0' : '1',\n });\n return true;\n }\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n const {attributes} = node;\n switch (node.name) {\n case this.tag:\n this.model = {\n filterButton: attributes.hiddenButton === '0',\n };\n return true;\n default:\n this.parser = this.map[node.name];\n if (this.parser) {\n this.parseOpen(node);\n return true;\n }\n throw new Error(`Unexpected xml node in parseOpen: ${JSON.stringify(node)}`);\n }\n }\n\n parseText() {}\n\n parseClose(name) {\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n this.parser = undefined;\n }\n return true;\n }\n switch (name) {\n case this.tag:\n this.model.customFilters = this.map.customFilters.model;\n return false;\n default:\n // could be some unrecognised tags\n return true;\n }\n }\n}\n\nmodule.exports = FilterColumnXform;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,10 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
4
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
5
|
-
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
6
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
7
|
-
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
8
3
|
const XmlStream = require('../../../utils/xml-stream');
|
|
9
4
|
const BaseXform = require('../base-xform');
|
|
10
5
|
const ListXform = require('../list-xform');
|
|
@@ -34,7 +29,8 @@ class TableXform extends BaseXform {
|
|
|
34
29
|
}
|
|
35
30
|
render(xmlStream, model) {
|
|
36
31
|
xmlStream.openXml(XmlStream.StdDocAttributes);
|
|
37
|
-
xmlStream.openNode(this.tag,
|
|
32
|
+
xmlStream.openNode(this.tag, {
|
|
33
|
+
...TableXform.TABLE_ATTRIBUTES,
|
|
38
34
|
id: model.id,
|
|
39
35
|
name: model.name,
|
|
40
36
|
displayName: model.displayName || model.name,
|
|
@@ -42,7 +38,7 @@ class TableXform extends BaseXform {
|
|
|
42
38
|
totalsRowCount: model.totalsRow ? '1' : undefined,
|
|
43
39
|
totalsRowShown: model.totalsRow ? undefined : '1',
|
|
44
40
|
headerRowCount: model.headerRow ? '1' : '0'
|
|
45
|
-
})
|
|
41
|
+
});
|
|
46
42
|
this.map.autoFilter.render(xmlStream, model);
|
|
47
43
|
this.map.tableColumns.render(xmlStream, model.columns);
|
|
48
44
|
this.map.tableStyleInfo.render(xmlStream, model.style);
|