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.
Files changed (109) hide show
  1. package/dist/dx-exceljs-fork.bare.js +445 -541
  2. package/dist/dx-exceljs-fork.bare.js.map +18 -18
  3. package/dist/dx-exceljs-fork.bare.min.js +7 -7
  4. package/dist/dx-exceljs-fork.bare.min.js.map +1 -1
  5. package/dist/dx-exceljs-fork.js +445 -541
  6. package/dist/dx-exceljs-fork.js.map +18 -18
  7. package/dist/dx-exceljs-fork.min.js +6 -6
  8. package/dist/dx-exceljs-fork.min.js.map +1 -1
  9. package/dist/es5/csv/csv.js +1 -1
  10. package/dist/es5/csv/csv.js.map +1 -1
  11. package/dist/es5/doc/cell.js +5 -5
  12. package/dist/es5/doc/cell.js.map +1 -1
  13. package/dist/es5/doc/pivot-table.js +1 -1
  14. package/dist/es5/doc/pivot-table.js.map +1 -1
  15. package/dist/es5/doc/range.js +7 -7
  16. package/dist/es5/doc/range.js.map +1 -1
  17. package/dist/es5/doc/row.js +1 -1
  18. package/dist/es5/doc/row.js.map +1 -1
  19. package/dist/es5/doc/table.js +10 -10
  20. package/dist/es5/doc/table.js.map +1 -1
  21. package/dist/es5/doc/worksheet.js +7 -6
  22. package/dist/es5/doc/worksheet.js.map +1 -1
  23. package/dist/es5/stream/xlsx/hyperlink-reader.js +26 -49
  24. package/dist/es5/stream/xlsx/hyperlink-reader.js.map +1 -1
  25. package/dist/es5/stream/xlsx/sheet-comments-writer.js +6 -6
  26. package/dist/es5/stream/xlsx/sheet-comments-writer.js.map +1 -1
  27. package/dist/es5/stream/xlsx/sheet-rels-writer.js +6 -5
  28. package/dist/es5/stream/xlsx/sheet-rels-writer.js.map +1 -1
  29. package/dist/es5/stream/xlsx/workbook-reader.js +215 -320
  30. package/dist/es5/stream/xlsx/workbook-reader.js.map +1 -1
  31. package/dist/es5/stream/xlsx/workbook-writer.js +8 -8
  32. package/dist/es5/stream/xlsx/workbook-writer.js.map +1 -1
  33. package/dist/es5/stream/xlsx/worksheet-reader.js +265 -341
  34. package/dist/es5/stream/xlsx/worksheet-reader.js.map +1 -1
  35. package/dist/es5/stream/xlsx/worksheet-writer.js +9 -13
  36. package/dist/es5/stream/xlsx/worksheet-writer.js.map +1 -1
  37. package/dist/es5/utils/col-cache.js +14 -18
  38. package/dist/es5/utils/col-cache.js.map +1 -1
  39. package/dist/es5/utils/copy-style.js +12 -10
  40. package/dist/es5/utils/copy-style.js.map +1 -1
  41. package/dist/es5/utils/encryptor.js +1 -1
  42. package/dist/es5/utils/encryptor.js.map +1 -1
  43. package/dist/es5/utils/iterate-stream.js +26 -37
  44. package/dist/es5/utils/iterate-stream.js.map +1 -1
  45. package/dist/es5/utils/parse-sax.js +34 -67
  46. package/dist/es5/utils/parse-sax.js.map +1 -1
  47. package/dist/es5/utils/utils.js +1 -1
  48. package/dist/es5/utils/utils.js.map +1 -1
  49. package/dist/es5/utils/xml-stream.js +1 -1
  50. package/dist/es5/utils/xml-stream.js.map +1 -1
  51. package/dist/es5/xlsx/xform/base-xform.js +12 -35
  52. package/dist/es5/xlsx/xform/base-xform.js.map +1 -1
  53. package/dist/es5/xlsx/xform/book/defined-name-xform.js +2 -2
  54. package/dist/es5/xlsx/xform/book/defined-name-xform.js.map +1 -1
  55. package/dist/es5/xlsx/xform/book/workbook-xform.js +5 -5
  56. package/dist/es5/xlsx/xform/book/workbook-xform.js.map +1 -1
  57. package/dist/es5/xlsx/xform/comment/comment-xform.js +4 -8
  58. package/dist/es5/xlsx/xform/comment/comment-xform.js.map +1 -1
  59. package/dist/es5/xlsx/xform/comment/vml-shape-xform.js +1 -1
  60. package/dist/es5/xlsx/xform/comment/vml-shape-xform.js.map +1 -1
  61. package/dist/es5/xlsx/xform/comment/vml-textbox-xform.js +1 -1
  62. package/dist/es5/xlsx/xform/comment/vml-textbox-xform.js.map +1 -1
  63. package/dist/es5/xlsx/xform/core/content-types-xform.js +5 -5
  64. package/dist/es5/xlsx/xform/core/content-types-xform.js.map +1 -1
  65. package/dist/es5/xlsx/xform/core/core-xform.js +2 -2
  66. package/dist/es5/xlsx/xform/core/core-xform.js.map +1 -1
  67. package/dist/es5/xlsx/xform/core/relationships-xform.js +2 -2
  68. package/dist/es5/xlsx/xform/core/relationships-xform.js.map +1 -1
  69. package/dist/es5/xlsx/xform/drawing/c-nv-pr-xform.js +1 -1
  70. package/dist/es5/xlsx/xform/drawing/c-nv-pr-xform.js.map +1 -1
  71. package/dist/es5/xlsx/xform/list-xform.js +1 -1
  72. package/dist/es5/xlsx/xform/list-xform.js.map +1 -1
  73. package/dist/es5/xlsx/xform/pivot-table/cache-field.js +8 -2
  74. package/dist/es5/xlsx/xform/pivot-table/cache-field.js.map +1 -1
  75. package/dist/es5/xlsx/xform/pivot-table/pivot-cache-definition-xform.js +3 -7
  76. package/dist/es5/xlsx/xform/pivot-table/pivot-cache-definition-xform.js.map +1 -1
  77. package/dist/es5/xlsx/xform/pivot-table/pivot-cache-records-xform.js +7 -11
  78. package/dist/es5/xlsx/xform/pivot-table/pivot-cache-records-xform.js.map +1 -1
  79. package/dist/es5/xlsx/xform/pivot-table/pivot-table-xform.js +70 -10
  80. package/dist/es5/xlsx/xform/pivot-table/pivot-table-xform.js.map +1 -1
  81. package/dist/es5/xlsx/xform/sheet/auto-filter-xform.js +1 -1
  82. package/dist/es5/xlsx/xform/sheet/auto-filter-xform.js.map +1 -1
  83. package/dist/es5/xlsx/xform/sheet/cell-xform.js +4 -8
  84. package/dist/es5/xlsx/xform/sheet/cell-xform.js.map +1 -1
  85. package/dist/es5/xlsx/xform/sheet/cf/cf-rule-xform.js +18 -22
  86. package/dist/es5/xlsx/xform/sheet/cf/cf-rule-xform.js.map +1 -1
  87. package/dist/es5/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js +2 -2
  88. package/dist/es5/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js.map +1 -1
  89. package/dist/es5/xlsx/xform/sheet/data-validations-xform.js +11 -13
  90. package/dist/es5/xlsx/xform/sheet/data-validations-xform.js.map +1 -1
  91. package/dist/es5/xlsx/xform/sheet/merges.js +1 -1
  92. package/dist/es5/xlsx/xform/sheet/merges.js.map +1 -1
  93. package/dist/es5/xlsx/xform/sheet/row-xform.js +2 -2
  94. package/dist/es5/xlsx/xform/sheet/row-xform.js.map +1 -1
  95. package/dist/es5/xlsx/xform/sheet/worksheet-xform.js +10 -10
  96. package/dist/es5/xlsx/xform/sheet/worksheet-xform.js.map +1 -1
  97. package/dist/es5/xlsx/xform/strings/shared-strings-xform.js +2 -2
  98. package/dist/es5/xlsx/xform/strings/shared-strings-xform.js.map +1 -1
  99. package/dist/es5/xlsx/xform/style/border-xform.js +3 -7
  100. package/dist/es5/xlsx/xform/style/border-xform.js.map +1 -1
  101. package/dist/es5/xlsx/xform/table/auto-filter-xform.js +2 -2
  102. package/dist/es5/xlsx/xform/table/auto-filter-xform.js.map +1 -1
  103. package/dist/es5/xlsx/xform/table/filter-column-xform.js +1 -1
  104. package/dist/es5/xlsx/xform/table/filter-column-xform.js.map +1 -1
  105. package/dist/es5/xlsx/xform/table/table-xform.js +3 -7
  106. package/dist/es5/xlsx/xform/table/table-xform.js.map +1 -1
  107. package/dist/es5/xlsx/xlsx.js +22 -45
  108. package/dist/es5/xlsx/xlsx.js.map +1 -1
  109. package/package.json +13 -14
@@ -1 +1 @@
1
- {"version":3,"file":"row.js","names":["_","require","Enums","colCache","Cell","Row","constructor","worksheet","number","_worksheet","_number","_cells","style","outlineLevel","commit","_commitRow","destroy","findCell","colNumber","getCellEx","address","cell","col","column","getColumn","getCell","getColumnKey","l2n","encodeAddress","row","splice","start","count","nKeep","_len","arguments","length","inserts","Array","_key","nExpand","nEnd","i","cSrc","cDst","value","_comment","undefined","eachCell","options","iteratee","includeEmpty","n","forEach","index","type","ValueType","Null","addPageBreak","lft","rght","ws","left","Math","max","right","pb","id","man","min","rowBreaks","push","values","offset","hasOwnProperty","item","eachColumnKey","key","hasValues","some","cellCount","actualCellCount","dimensions","_applyStyle","name","numFmt","font","alignment","protection","border","fill","hidden","_hidden","_outlineLevel","collapsed","properties","outlineLevelRow","model","cells","cellModel","height","Error","previousAddress","Types","Merge","decodeAddress","$col$row","concat","n2l","JSON","parse","stringify","module","exports"],"sources":["../../../lib/doc/row.js"],"sourcesContent":["'use strict';\n\nconst _ = require('../utils/under-dash');\n\nconst Enums = require('./enums');\nconst colCache = require('../utils/col-cache');\nconst Cell = require('./cell');\n\nclass Row {\n constructor(worksheet, number) {\n this._worksheet = worksheet;\n this._number = number;\n this._cells = [];\n this.style = {};\n this.outlineLevel = 0;\n }\n\n // return the row number\n get number() {\n return this._number;\n }\n\n get worksheet() {\n return this._worksheet;\n }\n\n // Inform Streaming Writer that this row (and all rows before it) are complete\n // and ready to write. Has no effect on Worksheet document\n commit() {\n this._worksheet._commitRow(this); // eslint-disable-line no-underscore-dangle\n }\n\n // helps GC by breaking cyclic references\n destroy() {\n delete this._worksheet;\n delete this._cells;\n delete this.style;\n }\n\n findCell(colNumber) {\n return this._cells[colNumber - 1];\n }\n\n // given {address, row, col}, find or create new cell\n getCellEx(address) {\n let cell = this._cells[address.col - 1];\n if (!cell) {\n const column = this._worksheet.getColumn(address.col);\n cell = new Cell(this, column, address.address);\n this._cells[address.col - 1] = cell;\n }\n return cell;\n }\n\n // get cell by key, letter or column number\n getCell(col) {\n if (typeof col === 'string') {\n // is it a key?\n const column = this._worksheet.getColumnKey(col);\n if (column) {\n col = column.number;\n } else {\n col = colCache.l2n(col);\n }\n }\n return (\n this._cells[col - 1] ||\n this.getCellEx({\n address: colCache.encodeAddress(this._number, col),\n row: this._number,\n col,\n })\n );\n }\n\n // remove cell(s) and shift all higher cells down by count\n splice(start, count, ...inserts) {\n const nKeep = start + count;\n const nExpand = inserts.length - count;\n const nEnd = this._cells.length;\n let i;\n let cSrc;\n let cDst;\n\n if (nExpand < 0) {\n // remove cells\n for (i = start + inserts.length; i <= nEnd; i++) {\n cDst = this._cells[i - 1];\n cSrc = this._cells[i - nExpand - 1];\n if (cSrc) {\n cDst = this.getCell(i);\n cDst.value = cSrc.value;\n cDst.style = cSrc.style;\n // eslint-disable-next-line no-underscore-dangle\n cDst._comment = cSrc._comment;\n } else if (cDst) {\n cDst.value = null;\n cDst.style = {};\n // eslint-disable-next-line no-underscore-dangle\n cDst._comment = undefined;\n }\n }\n } else if (nExpand > 0) {\n // insert new cells\n for (i = nEnd; i >= nKeep; i--) {\n cSrc = this._cells[i - 1];\n if (cSrc) {\n cDst = this.getCell(i + nExpand);\n cDst.value = cSrc.value;\n cDst.style = cSrc.style;\n // eslint-disable-next-line no-underscore-dangle\n cDst._comment = cSrc._comment;\n } else {\n this._cells[i + nExpand - 1] = undefined;\n }\n }\n }\n\n // now add the new values\n for (i = 0; i < inserts.length; i++) {\n cDst = this.getCell(start + i);\n cDst.value = inserts[i];\n cDst.style = {};\n // eslint-disable-next-line no-underscore-dangle\n cDst._comment = undefined;\n }\n }\n\n // Iterate over all non-null cells in this row\n eachCell(options, iteratee) {\n if (!iteratee) {\n iteratee = options;\n options = null;\n }\n if (options && options.includeEmpty) {\n const n = this._cells.length;\n for (let i = 1; i <= n; i++) {\n iteratee(this.getCell(i), i);\n }\n } else {\n this._cells.forEach((cell, index) => {\n if (cell && cell.type !== Enums.ValueType.Null) {\n iteratee(cell, index + 1);\n }\n });\n }\n }\n\n // ===========================================================================\n // Page Breaks\n addPageBreak(lft, rght) {\n const ws = this._worksheet;\n const left = Math.max(0, lft - 1) || 0;\n const right = Math.max(0, rght - 1) || 16838;\n const pb = {\n id: this._number,\n max: right,\n man: 1,\n };\n if (left) pb.min = left;\n\n ws.rowBreaks.push(pb);\n }\n\n // return a sparse array of cell values\n get values() {\n const values = [];\n this._cells.forEach(cell => {\n if (cell && cell.type !== Enums.ValueType.Null) {\n values[cell.col] = cell.value;\n }\n });\n return values;\n }\n\n // set the values by contiguous or sparse array, or by key'd object literal\n set values(value) {\n // this operation is not additive - any prior cells are removed\n this._cells = [];\n if (!value) {\n // empty row\n } else if (value instanceof Array) {\n let offset = 0;\n if (value.hasOwnProperty('0')) {\n // contiguous array - start at column 1\n offset = 1;\n }\n value.forEach((item, index) => {\n if (item !== undefined) {\n this.getCellEx({\n address: colCache.encodeAddress(this._number, index + offset),\n row: this._number,\n col: index + offset,\n }).value = item;\n }\n });\n } else {\n // assume object with column keys\n this._worksheet.eachColumnKey((column, key) => {\n if (value[key] !== undefined) {\n this.getCellEx({\n address: colCache.encodeAddress(this._number, column.number),\n row: this._number,\n col: column.number,\n }).value = value[key];\n }\n });\n }\n }\n\n // returns true if the row includes at least one cell with a value\n get hasValues() {\n return _.some(this._cells, cell => cell && cell.type !== Enums.ValueType.Null);\n }\n\n get cellCount() {\n return this._cells.length;\n }\n\n get actualCellCount() {\n let count = 0;\n this.eachCell(() => {\n count++;\n });\n return count;\n }\n\n // get the min and max column number for the non-null cells in this row or null\n get dimensions() {\n let min = 0;\n let max = 0;\n this._cells.forEach(cell => {\n if (cell && cell.type !== Enums.ValueType.Null) {\n if (!min || min > cell.col) {\n min = cell.col;\n }\n if (max < cell.col) {\n max = cell.col;\n }\n }\n });\n return min > 0\n ? {\n min,\n max,\n }\n : null;\n }\n\n // =========================================================================\n // styles\n _applyStyle(name, value) {\n this.style[name] = value;\n this._cells.forEach(cell => {\n if (cell) {\n cell[name] = value;\n }\n });\n return value;\n }\n\n get numFmt() {\n return this.style.numFmt;\n }\n\n set numFmt(value) {\n this._applyStyle('numFmt', value);\n }\n\n get font() {\n return this.style.font;\n }\n\n set font(value) {\n this._applyStyle('font', value);\n }\n\n get alignment() {\n return this.style.alignment;\n }\n\n set alignment(value) {\n this._applyStyle('alignment', value);\n }\n\n get protection() {\n return this.style.protection;\n }\n\n set protection(value) {\n this._applyStyle('protection', value);\n }\n\n get border() {\n return this.style.border;\n }\n\n set border(value) {\n this._applyStyle('border', value);\n }\n\n get fill() {\n return this.style.fill;\n }\n\n set fill(value) {\n this._applyStyle('fill', value);\n }\n\n get hidden() {\n return !!this._hidden;\n }\n\n set hidden(value) {\n this._hidden = value;\n }\n\n get outlineLevel() {\n return this._outlineLevel || 0;\n }\n\n set outlineLevel(value) {\n this._outlineLevel = value;\n }\n\n get collapsed() {\n return !!(\n this._outlineLevel && this._outlineLevel >= this._worksheet.properties.outlineLevelRow\n );\n }\n\n // =========================================================================\n get model() {\n const cells = [];\n let min = 0;\n let max = 0;\n this._cells.forEach(cell => {\n if (cell) {\n const cellModel = cell.model;\n if (cellModel) {\n if (!min || min > cell.col) {\n min = cell.col;\n }\n if (max < cell.col) {\n max = cell.col;\n }\n cells.push(cellModel);\n }\n }\n });\n\n return this.height || cells.length\n ? {\n cells,\n number: this.number,\n min,\n max,\n height: this.height,\n style: this.style,\n hidden: this.hidden,\n outlineLevel: this.outlineLevel,\n collapsed: this.collapsed,\n }\n : null;\n }\n\n set model(value) {\n if (value.number !== this._number) {\n throw new Error('Invalid row number in model');\n }\n this._cells = [];\n let previousAddress;\n value.cells.forEach(cellModel => {\n switch (cellModel.type) {\n case Cell.Types.Merge:\n // special case - don't add this types\n break;\n default: {\n let address;\n if (cellModel.address) {\n address = colCache.decodeAddress(cellModel.address);\n } else if (previousAddress) {\n // This is a <c> element without an r attribute\n // Assume that it's the cell for the next column\n const {row} = previousAddress;\n const col = previousAddress.col + 1;\n address = {\n row,\n col,\n address: colCache.encodeAddress(row, col),\n $col$row: `$${colCache.n2l(col)}$${row}`,\n };\n }\n previousAddress = address;\n const cell = this.getCellEx(address);\n cell.model = cellModel;\n break;\n }\n }\n });\n\n if (value.height) {\n this.height = value.height;\n } else {\n delete this.height;\n }\n\n this.hidden = value.hidden;\n this.outlineLevel = value.outlineLevel || 0;\n\n this.style = (value.style && JSON.parse(JSON.stringify(value.style))) || {};\n }\n}\n\nmodule.exports = Row;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"row.js","names":["_","require","Enums","colCache","Cell","Row","constructor","worksheet","number","_worksheet","_number","_cells","style","outlineLevel","commit","_commitRow","destroy","findCell","colNumber","getCellEx","address","cell","col","column","getColumn","getCell","getColumnKey","l2n","encodeAddress","row","splice","start","count","nKeep","_len","arguments","length","inserts","Array","_key","nExpand","nEnd","i","cSrc","cDst","value","_comment","undefined","eachCell","options","iteratee","includeEmpty","n","forEach","index","type","ValueType","Null","addPageBreak","lft","rght","ws","left","Math","max","right","pb","id","man","min","rowBreaks","push","values","offset","hasOwnProperty","item","eachColumnKey","key","hasValues","some","cellCount","actualCellCount","dimensions","_applyStyle","name","numFmt","font","alignment","protection","border","fill","hidden","_hidden","_outlineLevel","collapsed","properties","outlineLevelRow","model","cells","cellModel","height","Error","previousAddress","Types","Merge","decodeAddress","$col$row","n2l","JSON","parse","stringify","module","exports"],"sources":["../../../lib/doc/row.js"],"sourcesContent":["'use strict';\n\nconst _ = require('../utils/under-dash');\n\nconst Enums = require('./enums');\nconst colCache = require('../utils/col-cache');\nconst Cell = require('./cell');\n\nclass Row {\n constructor(worksheet, number) {\n this._worksheet = worksheet;\n this._number = number;\n this._cells = [];\n this.style = {};\n this.outlineLevel = 0;\n }\n\n // return the row number\n get number() {\n return this._number;\n }\n\n get worksheet() {\n return this._worksheet;\n }\n\n // Inform Streaming Writer that this row (and all rows before it) are complete\n // and ready to write. Has no effect on Worksheet document\n commit() {\n this._worksheet._commitRow(this); // eslint-disable-line no-underscore-dangle\n }\n\n // helps GC by breaking cyclic references\n destroy() {\n delete this._worksheet;\n delete this._cells;\n delete this.style;\n }\n\n findCell(colNumber) {\n return this._cells[colNumber - 1];\n }\n\n // given {address, row, col}, find or create new cell\n getCellEx(address) {\n let cell = this._cells[address.col - 1];\n if (!cell) {\n const column = this._worksheet.getColumn(address.col);\n cell = new Cell(this, column, address.address);\n this._cells[address.col - 1] = cell;\n }\n return cell;\n }\n\n // get cell by key, letter or column number\n getCell(col) {\n if (typeof col === 'string') {\n // is it a key?\n const column = this._worksheet.getColumnKey(col);\n if (column) {\n col = column.number;\n } else {\n col = colCache.l2n(col);\n }\n }\n return (\n this._cells[col - 1] ||\n this.getCellEx({\n address: colCache.encodeAddress(this._number, col),\n row: this._number,\n col,\n })\n );\n }\n\n // remove cell(s) and shift all higher cells down by count\n splice(start, count, ...inserts) {\n const nKeep = start + count;\n const nExpand = inserts.length - count;\n const nEnd = this._cells.length;\n let i;\n let cSrc;\n let cDst;\n\n if (nExpand < 0) {\n // remove cells\n for (i = start + inserts.length; i <= nEnd; i++) {\n cDst = this._cells[i - 1];\n cSrc = this._cells[i - nExpand - 1];\n if (cSrc) {\n cDst = this.getCell(i);\n cDst.value = cSrc.value;\n cDst.style = cSrc.style;\n // eslint-disable-next-line no-underscore-dangle\n cDst._comment = cSrc._comment;\n } else if (cDst) {\n cDst.value = null;\n cDst.style = {};\n // eslint-disable-next-line no-underscore-dangle\n cDst._comment = undefined;\n }\n }\n } else if (nExpand > 0) {\n // insert new cells\n for (i = nEnd; i >= nKeep; i--) {\n cSrc = this._cells[i - 1];\n if (cSrc) {\n cDst = this.getCell(i + nExpand);\n cDst.value = cSrc.value;\n cDst.style = cSrc.style;\n // eslint-disable-next-line no-underscore-dangle\n cDst._comment = cSrc._comment;\n } else {\n this._cells[i + nExpand - 1] = undefined;\n }\n }\n }\n\n // now add the new values\n for (i = 0; i < inserts.length; i++) {\n cDst = this.getCell(start + i);\n cDst.value = inserts[i];\n cDst.style = {};\n // eslint-disable-next-line no-underscore-dangle\n cDst._comment = undefined;\n }\n }\n\n // Iterate over all non-null cells in this row\n eachCell(options, iteratee) {\n if (!iteratee) {\n iteratee = options;\n options = null;\n }\n if (options && options.includeEmpty) {\n const n = this._cells.length;\n for (let i = 1; i <= n; i++) {\n iteratee(this.getCell(i), i);\n }\n } else {\n this._cells.forEach((cell, index) => {\n if (cell && cell.type !== Enums.ValueType.Null) {\n iteratee(cell, index + 1);\n }\n });\n }\n }\n\n // ===========================================================================\n // Page Breaks\n addPageBreak(lft, rght) {\n const ws = this._worksheet;\n const left = Math.max(0, lft - 1) || 0;\n const right = Math.max(0, rght - 1) || 16838;\n const pb = {\n id: this._number,\n max: right,\n man: 1,\n };\n if (left) pb.min = left;\n\n ws.rowBreaks.push(pb);\n }\n\n // return a sparse array of cell values\n get values() {\n const values = [];\n this._cells.forEach(cell => {\n if (cell && cell.type !== Enums.ValueType.Null) {\n values[cell.col] = cell.value;\n }\n });\n return values;\n }\n\n // set the values by contiguous or sparse array, or by key'd object literal\n set values(value) {\n // this operation is not additive - any prior cells are removed\n this._cells = [];\n if (!value) {\n // empty row\n } else if (value instanceof Array) {\n let offset = 0;\n if (value.hasOwnProperty('0')) {\n // contiguous array - start at column 1\n offset = 1;\n }\n value.forEach((item, index) => {\n if (item !== undefined) {\n this.getCellEx({\n address: colCache.encodeAddress(this._number, index + offset),\n row: this._number,\n col: index + offset,\n }).value = item;\n }\n });\n } else {\n // assume object with column keys\n this._worksheet.eachColumnKey((column, key) => {\n if (value[key] !== undefined) {\n this.getCellEx({\n address: colCache.encodeAddress(this._number, column.number),\n row: this._number,\n col: column.number,\n }).value = value[key];\n }\n });\n }\n }\n\n // returns true if the row includes at least one cell with a value\n get hasValues() {\n return _.some(this._cells, cell => cell && cell.type !== Enums.ValueType.Null);\n }\n\n get cellCount() {\n return this._cells.length;\n }\n\n get actualCellCount() {\n let count = 0;\n this.eachCell(() => {\n count++;\n });\n return count;\n }\n\n // get the min and max column number for the non-null cells in this row or null\n get dimensions() {\n let min = 0;\n let max = 0;\n this._cells.forEach(cell => {\n if (cell && cell.type !== Enums.ValueType.Null) {\n if (!min || min > cell.col) {\n min = cell.col;\n }\n if (max < cell.col) {\n max = cell.col;\n }\n }\n });\n return min > 0\n ? {\n min,\n max,\n }\n : null;\n }\n\n // =========================================================================\n // styles\n _applyStyle(name, value) {\n this.style[name] = value;\n this._cells.forEach(cell => {\n if (cell) {\n cell[name] = value;\n }\n });\n return value;\n }\n\n get numFmt() {\n return this.style.numFmt;\n }\n\n set numFmt(value) {\n this._applyStyle('numFmt', value);\n }\n\n get font() {\n return this.style.font;\n }\n\n set font(value) {\n this._applyStyle('font', value);\n }\n\n get alignment() {\n return this.style.alignment;\n }\n\n set alignment(value) {\n this._applyStyle('alignment', value);\n }\n\n get protection() {\n return this.style.protection;\n }\n\n set protection(value) {\n this._applyStyle('protection', value);\n }\n\n get border() {\n return this.style.border;\n }\n\n set border(value) {\n this._applyStyle('border', value);\n }\n\n get fill() {\n return this.style.fill;\n }\n\n set fill(value) {\n this._applyStyle('fill', value);\n }\n\n get hidden() {\n return !!this._hidden;\n }\n\n set hidden(value) {\n this._hidden = value;\n }\n\n get outlineLevel() {\n return this._outlineLevel || 0;\n }\n\n set outlineLevel(value) {\n this._outlineLevel = value;\n }\n\n get collapsed() {\n return !!(\n this._outlineLevel && this._outlineLevel >= this._worksheet.properties.outlineLevelRow\n );\n }\n\n // =========================================================================\n get model() {\n const cells = [];\n let min = 0;\n let max = 0;\n this._cells.forEach(cell => {\n if (cell) {\n const cellModel = cell.model;\n if (cellModel) {\n if (!min || min > cell.col) {\n min = cell.col;\n }\n if (max < cell.col) {\n max = cell.col;\n }\n cells.push(cellModel);\n }\n }\n });\n\n return this.height || cells.length\n ? {\n cells,\n number: this.number,\n min,\n max,\n height: this.height,\n style: this.style,\n hidden: this.hidden,\n outlineLevel: this.outlineLevel,\n collapsed: this.collapsed,\n }\n : null;\n }\n\n set model(value) {\n if (value.number !== this._number) {\n throw new Error('Invalid row number in model');\n }\n this._cells = [];\n let previousAddress;\n value.cells.forEach(cellModel => {\n switch (cellModel.type) {\n case Cell.Types.Merge:\n // special case - don't add this types\n break;\n default: {\n let address;\n if (cellModel.address) {\n address = colCache.decodeAddress(cellModel.address);\n } else if (previousAddress) {\n // This is a <c> element without an r attribute\n // Assume that it's the cell for the next column\n const {row} = previousAddress;\n const col = previousAddress.col + 1;\n address = {\n row,\n col,\n address: colCache.encodeAddress(row, col),\n $col$row: `$${colCache.n2l(col)}$${row}`,\n };\n }\n previousAddress = address;\n const cell = this.getCellEx(address);\n cell.model = cellModel;\n break;\n }\n }\n });\n\n if (value.height) {\n this.height = value.height;\n } else {\n delete this.height;\n }\n\n this.hidden = value.hidden;\n this.outlineLevel = value.outlineLevel || 0;\n\n this.style = (value.style && JSON.parse(JSON.stringify(value.style))) || {};\n }\n}\n\nmodule.exports = Row;\n"],"mappings":"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","ignoreList":[]}
@@ -75,25 +75,25 @@ class Table {
75
75
  case 'none':
76
76
  return null;
77
77
  case 'average':
78
- return "SUBTOTAL(101,".concat(this.table.name, "[").concat(column.name, "])");
78
+ return `SUBTOTAL(101,${this.table.name}[${column.name}])`;
79
79
  case 'countNums':
80
- return "SUBTOTAL(102,".concat(this.table.name, "[").concat(column.name, "])");
80
+ return `SUBTOTAL(102,${this.table.name}[${column.name}])`;
81
81
  case 'count':
82
- return "SUBTOTAL(103,".concat(this.table.name, "[").concat(column.name, "])");
82
+ return `SUBTOTAL(103,${this.table.name}[${column.name}])`;
83
83
  case 'max':
84
- return "SUBTOTAL(104,".concat(this.table.name, "[").concat(column.name, "])");
84
+ return `SUBTOTAL(104,${this.table.name}[${column.name}])`;
85
85
  case 'min':
86
- return "SUBTOTAL(105,".concat(this.table.name, "[").concat(column.name, "])");
86
+ return `SUBTOTAL(105,${this.table.name}[${column.name}])`;
87
87
  case 'stdDev':
88
- return "SUBTOTAL(106,".concat(this.table.name, "[").concat(column.name, "])");
88
+ return `SUBTOTAL(106,${this.table.name}[${column.name}])`;
89
89
  case 'var':
90
- return "SUBTOTAL(107,".concat(this.table.name, "[").concat(column.name, "])");
90
+ return `SUBTOTAL(107,${this.table.name}[${column.name}])`;
91
91
  case 'sum':
92
- return "SUBTOTAL(109,".concat(this.table.name, "[").concat(column.name, "])");
92
+ return `SUBTOTAL(109,${this.table.name}[${column.name}])`;
93
93
  case 'custom':
94
94
  return column.totalsRowFormula;
95
95
  default:
96
- throw new Error("Invalid Totals Row Function: ".concat(column.totalsRowFunction));
96
+ throw new Error(`Invalid Totals Row Function: ${column.totalsRowFunction}`);
97
97
  }
98
98
  }
99
99
  get width() {
@@ -157,7 +157,7 @@ class Table {
157
157
  // tableRef is a range that includes optional headers and totals
158
158
  table.tableRef = colCache.encode(row, col, row + tableHeight - 1, col + width - 1);
159
159
  table.columns.forEach((column, i) => {
160
- assert(column.name, "Column ".concat(i, " must have a name"));
160
+ assert(column.name, `Column ${i} must have a name`);
161
161
  if (i === 0) {
162
162
  assign(column, 'totalsRowLabel', 'Total');
163
163
  } else {
@@ -1 +1 @@
1
- {"version":3,"file":"table.js","names":["colCache","require","Column","constructor","table","column","index","_set","name","value","cacheState","filterButton","style","totalsRowLabel","totalsRowFunction","totalsRowResult","totalsRowFormula","Table","worksheet","validate","store","getFormula","concat","Error","width","columns","length","height","rows","filterHeight","headerRow","tableHeight","totalsRow","assign","o","dflt","undefined","assert","test","message","ref","tl","decodeAddress","row","col","autoFilterRef","encode","tableRef","forEach","i","assignStyle","cell","Object","keys","key","count","r","getRow","j","getCell","data","formula","result","load","model","_cache","commit","addRow","values","rowNumber","push","splice","removeRows","rowIndex","arguments","getColumn","colIndex","addColumn","removeColumns","_assign","target","prop","displayName","displyName","displayNamename","theme","showFirstColumn","showLastColumn","showRowStripes","showColumnStripes","module","exports"],"sources":["../../../lib/doc/table.js"],"sourcesContent":["/* eslint-disable max-classes-per-file */\nconst colCache = require('../utils/col-cache');\n\nclass Column {\n // wrapper around column model, allowing access and manipulation\n constructor(table, column, index) {\n this.table = table;\n this.column = column;\n this.index = index;\n }\n\n _set(name, value) {\n this.table.cacheState();\n this.column[name] = value;\n }\n\n /* eslint-disable lines-between-class-members */\n get name() {\n return this.column.name;\n }\n set name(value) {\n this._set('name', value);\n }\n\n get filterButton() {\n return this.column.filterButton;\n }\n set filterButton(value) {\n this.column.filterButton = value;\n }\n\n get style() {\n return this.column.style;\n }\n set style(value) {\n this.column.style = value;\n }\n\n get totalsRowLabel() {\n return this.column.totalsRowLabel;\n }\n set totalsRowLabel(value) {\n this._set('totalsRowLabel', value);\n }\n\n get totalsRowFunction() {\n return this.column.totalsRowFunction;\n }\n set totalsRowFunction(value) {\n this._set('totalsRowFunction', value);\n }\n\n get totalsRowResult() {\n return this.column.totalsRowResult;\n }\n set totalsRowResult(value) {\n this._set('totalsRowResult', value);\n }\n\n get totalsRowFormula() {\n return this.column.totalsRowFormula;\n }\n set totalsRowFormula(value) {\n this._set('totalsRowFormula', value);\n }\n /* eslint-enable lines-between-class-members */\n}\n\nclass Table {\n constructor(worksheet, table) {\n this.worksheet = worksheet;\n if (table) {\n this.table = table;\n // check things are ok first\n this.validate();\n\n this.store();\n }\n }\n\n getFormula(column) {\n // get the correct formula to apply to the totals row\n switch (column.totalsRowFunction) {\n case 'none':\n return null;\n case 'average':\n return `SUBTOTAL(101,${this.table.name}[${column.name}])`;\n case 'countNums':\n return `SUBTOTAL(102,${this.table.name}[${column.name}])`;\n case 'count':\n return `SUBTOTAL(103,${this.table.name}[${column.name}])`;\n case 'max':\n return `SUBTOTAL(104,${this.table.name}[${column.name}])`;\n case 'min':\n return `SUBTOTAL(105,${this.table.name}[${column.name}])`;\n case 'stdDev':\n return `SUBTOTAL(106,${this.table.name}[${column.name}])`;\n case 'var':\n return `SUBTOTAL(107,${this.table.name}[${column.name}])`;\n case 'sum':\n return `SUBTOTAL(109,${this.table.name}[${column.name}])`;\n case 'custom':\n return column.totalsRowFormula;\n default:\n throw new Error(`Invalid Totals Row Function: ${column.totalsRowFunction}`);\n }\n }\n\n get width() {\n // width of the table\n return this.table.columns.length;\n }\n\n get height() {\n // height of the table data\n return this.table.rows.length;\n }\n\n get filterHeight() {\n // height of the table data plus optional header row\n return this.height + (this.table.headerRow ? 1 : 0);\n }\n\n get tableHeight() {\n // full height of the table on the sheet\n return this.filterHeight + (this.table.totalsRow ? 1 : 0);\n }\n\n validate() {\n const {table} = this;\n // set defaults and check is valid\n const assign = (o, name, dflt) => {\n if (o[name] === undefined) {\n o[name] = dflt;\n }\n };\n assign(table, 'headerRow', true);\n assign(table, 'totalsRow', false);\n\n assign(table, 'style', {});\n assign(table.style, 'theme', 'TableStyleMedium2');\n assign(table.style, 'showFirstColumn', false);\n assign(table.style, 'showLastColumn', false);\n assign(table.style, 'showRowStripes', false);\n assign(table.style, 'showColumnStripes', false);\n\n const assert = (test, message) => {\n if (!test) {\n throw new Error(message);\n }\n };\n assert(table.ref, 'Table must have ref');\n assert(table.columns, 'Table must have column definitions');\n assert(table.rows, 'Table must have row definitions');\n\n table.tl = colCache.decodeAddress(table.ref);\n const {row, col} = table.tl;\n assert(row > 0, 'Table must be on valid row');\n assert(col > 0, 'Table must be on valid col');\n\n const {width, filterHeight, tableHeight} = this;\n\n // autoFilterRef is a range that includes optional headers only\n table.autoFilterRef = colCache.encode(row, col, row + filterHeight - 1, col + width - 1);\n\n // tableRef is a range that includes optional headers and totals\n table.tableRef = colCache.encode(row, col, row + tableHeight - 1, col + width - 1);\n\n table.columns.forEach((column, i) => {\n assert(column.name, `Column ${i} must have a name`);\n if (i === 0) {\n assign(column, 'totalsRowLabel', 'Total');\n } else {\n assign(column, 'totalsRowFunction', 'none');\n column.totalsRowFormula = this.getFormula(column);\n }\n });\n }\n\n store() {\n // where the table needs to store table data, headers, footers in\n // the sheet...\n const assignStyle = (cell, style) => {\n if (style) {\n Object.keys(style).forEach(key => {\n cell.style[key] = style[key];\n });\n }\n };\n\n const {worksheet, table} = this;\n const {row, col} = table.tl;\n let count = 0;\n if (table.headerRow) {\n const r = worksheet.getRow(row + count++);\n table.columns.forEach((column, j) => {\n const {style, name} = column;\n const cell = r.getCell(col + j);\n cell.value = name;\n assignStyle(cell, style);\n });\n }\n table.rows.forEach(data => {\n const r = worksheet.getRow(row + count++);\n data.forEach((value, j) => {\n const cell = r.getCell(col + j);\n cell.value = value;\n\n assignStyle(cell, table.columns[j].style);\n });\n });\n\n if (table.totalsRow) {\n const r = worksheet.getRow(row + count++);\n table.columns.forEach((column, j) => {\n const cell = r.getCell(col + j);\n if (j === 0) {\n cell.value = column.totalsRowLabel;\n } else {\n const formula = this.getFormula(column);\n if (formula) {\n cell.value = {\n formula: column.totalsRowFormula,\n result: column.totalsRowResult,\n };\n } else {\n cell.value = null;\n }\n }\n\n assignStyle(cell, column.style);\n });\n }\n }\n\n load(worksheet) {\n // where the table will read necessary features from a loaded sheet\n const {table} = this;\n const {row, col} = table.tl;\n let count = 0;\n if (table.headerRow) {\n const r = worksheet.getRow(row + count++);\n table.columns.forEach((column, j) => {\n const cell = r.getCell(col + j);\n cell.value = column.name;\n });\n }\n table.rows.forEach(data => {\n const r = worksheet.getRow(row + count++);\n data.forEach((value, j) => {\n const cell = r.getCell(col + j);\n cell.value = value;\n });\n });\n\n if (table.totalsRow) {\n const r = worksheet.getRow(row + count++);\n table.columns.forEach((column, j) => {\n const cell = r.getCell(col + j);\n if (j === 0) {\n cell.value = column.totalsRowLabel;\n } else {\n const formula = this.getFormula(column);\n if (formula) {\n cell.value = {\n formula: column.totalsRowFormula,\n result: column.totalsRowResult,\n };\n }\n }\n });\n }\n }\n\n get model() {\n return this.table;\n }\n\n set model(value) {\n this.table = value;\n }\n\n // ================================================================\n // TODO: Mutating methods\n cacheState() {\n if (!this._cache) {\n this._cache = {\n ref: this.ref,\n width: this.width,\n tableHeight: this.tableHeight,\n };\n }\n }\n\n commit() {\n // changes may have been made that might have on-sheet effects\n if (!this._cache) {\n return;\n }\n\n // check things are ok first\n this.validate();\n\n const ref = colCache.decodeAddress(this._cache.ref);\n if (this.ref !== this._cache.ref) {\n // wipe out whole table footprint at previous location\n for (let i = 0; i < this._cache.tableHeight; i++) {\n const row = this.worksheet.getRow(ref.row + i);\n for (let j = 0; j < this._cache.width; j++) {\n const cell = row.getCell(ref.col + j);\n cell.value = null;\n }\n }\n } else {\n // clear out below table if it has shrunk\n for (let i = this.tableHeight; i < this._cache.tableHeight; i++) {\n const row = this.worksheet.getRow(ref.row + i);\n for (let j = 0; j < this._cache.width; j++) {\n const cell = row.getCell(ref.col + j);\n cell.value = null;\n }\n }\n\n // clear out to right of table if it has lost columns\n for (let i = 0; i < this.tableHeight; i++) {\n const row = this.worksheet.getRow(ref.row + i);\n for (let j = this.width; j < this._cache.width; j++) {\n const cell = row.getCell(ref.col + j);\n cell.value = null;\n }\n }\n }\n\n this.store();\n }\n\n addRow(values, rowNumber) {\n // Add a row of data, either insert at rowNumber or append\n this.cacheState();\n\n if (rowNumber === undefined) {\n this.table.rows.push(values);\n } else {\n this.table.rows.splice(rowNumber, 0, values);\n }\n }\n\n removeRows(rowIndex, count = 1) {\n // Remove a rows of data\n this.cacheState();\n this.table.rows.splice(rowIndex, count);\n }\n\n getColumn(colIndex) {\n const column = this.table.columns[colIndex];\n return new Column(this, column, colIndex);\n }\n\n addColumn(column, values, colIndex) {\n // Add a new column, including column defn and values\n // Inserts at colNumber or adds to the right\n this.cacheState();\n\n if (colIndex === undefined) {\n this.table.columns.push(column);\n this.table.rows.forEach((row, i) => {\n row.push(values[i]);\n });\n } else {\n this.table.columns.splice(colIndex, 0, column);\n this.table.rows.forEach((row, i) => {\n row.splice(colIndex, 0, values[i]);\n });\n }\n }\n\n removeColumns(colIndex, count = 1) {\n // Remove a column with data\n this.cacheState();\n\n this.table.columns.splice(colIndex, count);\n this.table.rows.forEach(row => {\n row.splice(colIndex, count);\n });\n }\n\n _assign(target, prop, value) {\n this.cacheState();\n target[prop] = value;\n }\n\n /* eslint-disable lines-between-class-members */\n get ref() {\n return this.table.ref;\n }\n set ref(value) {\n this._assign(this.table, 'ref', value);\n }\n\n get name() {\n return this.table.name;\n }\n set name(value) {\n this.table.name = value;\n }\n\n get displayName() {\n return this.table.displyName || this.table.name;\n }\n set displayNamename(value) {\n this.table.displayName = value;\n }\n\n get headerRow() {\n return this.table.headerRow;\n }\n set headerRow(value) {\n this._assign(this.table, 'headerRow', value);\n }\n\n get totalsRow() {\n return this.table.totalsRow;\n }\n set totalsRow(value) {\n this._assign(this.table, 'totalsRow', value);\n }\n\n get theme() {\n return this.table.style.name;\n }\n set theme(value) {\n this.table.style.name = value;\n }\n\n get showFirstColumn() {\n return this.table.style.showFirstColumn;\n }\n set showFirstColumn(value) {\n this.table.style.showFirstColumn = value;\n }\n\n get showLastColumn() {\n return this.table.style.showLastColumn;\n }\n set showLastColumn(value) {\n this.table.style.showLastColumn = value;\n }\n\n get showRowStripes() {\n return this.table.style.showRowStripes;\n }\n set showRowStripes(value) {\n this.table.style.showRowStripes = value;\n }\n\n get showColumnStripes() {\n return this.table.style.showColumnStripes;\n }\n set showColumnStripes(value) {\n this.table.style.showColumnStripes = value;\n }\n /* eslint-enable lines-between-class-members */\n}\n\nmodule.exports = Table;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"table.js","names":["colCache","require","Column","constructor","table","column","index","_set","name","value","cacheState","filterButton","style","totalsRowLabel","totalsRowFunction","totalsRowResult","totalsRowFormula","Table","worksheet","validate","store","getFormula","Error","width","columns","length","height","rows","filterHeight","headerRow","tableHeight","totalsRow","assign","o","dflt","undefined","assert","test","message","ref","tl","decodeAddress","row","col","autoFilterRef","encode","tableRef","forEach","i","assignStyle","cell","Object","keys","key","count","r","getRow","j","getCell","data","formula","result","load","model","_cache","commit","addRow","values","rowNumber","push","splice","removeRows","rowIndex","arguments","getColumn","colIndex","addColumn","removeColumns","_assign","target","prop","displayName","displyName","displayNamename","theme","showFirstColumn","showLastColumn","showRowStripes","showColumnStripes","module","exports"],"sources":["../../../lib/doc/table.js"],"sourcesContent":["/* eslint-disable max-classes-per-file */\nconst colCache = require('../utils/col-cache');\n\nclass Column {\n // wrapper around column model, allowing access and manipulation\n constructor(table, column, index) {\n this.table = table;\n this.column = column;\n this.index = index;\n }\n\n _set(name, value) {\n this.table.cacheState();\n this.column[name] = value;\n }\n\n /* eslint-disable lines-between-class-members */\n get name() {\n return this.column.name;\n }\n set name(value) {\n this._set('name', value);\n }\n\n get filterButton() {\n return this.column.filterButton;\n }\n set filterButton(value) {\n this.column.filterButton = value;\n }\n\n get style() {\n return this.column.style;\n }\n set style(value) {\n this.column.style = value;\n }\n\n get totalsRowLabel() {\n return this.column.totalsRowLabel;\n }\n set totalsRowLabel(value) {\n this._set('totalsRowLabel', value);\n }\n\n get totalsRowFunction() {\n return this.column.totalsRowFunction;\n }\n set totalsRowFunction(value) {\n this._set('totalsRowFunction', value);\n }\n\n get totalsRowResult() {\n return this.column.totalsRowResult;\n }\n set totalsRowResult(value) {\n this._set('totalsRowResult', value);\n }\n\n get totalsRowFormula() {\n return this.column.totalsRowFormula;\n }\n set totalsRowFormula(value) {\n this._set('totalsRowFormula', value);\n }\n /* eslint-enable lines-between-class-members */\n}\n\nclass Table {\n constructor(worksheet, table) {\n this.worksheet = worksheet;\n if (table) {\n this.table = table;\n // check things are ok first\n this.validate();\n\n this.store();\n }\n }\n\n getFormula(column) {\n // get the correct formula to apply to the totals row\n switch (column.totalsRowFunction) {\n case 'none':\n return null;\n case 'average':\n return `SUBTOTAL(101,${this.table.name}[${column.name}])`;\n case 'countNums':\n return `SUBTOTAL(102,${this.table.name}[${column.name}])`;\n case 'count':\n return `SUBTOTAL(103,${this.table.name}[${column.name}])`;\n case 'max':\n return `SUBTOTAL(104,${this.table.name}[${column.name}])`;\n case 'min':\n return `SUBTOTAL(105,${this.table.name}[${column.name}])`;\n case 'stdDev':\n return `SUBTOTAL(106,${this.table.name}[${column.name}])`;\n case 'var':\n return `SUBTOTAL(107,${this.table.name}[${column.name}])`;\n case 'sum':\n return `SUBTOTAL(109,${this.table.name}[${column.name}])`;\n case 'custom':\n return column.totalsRowFormula;\n default:\n throw new Error(`Invalid Totals Row Function: ${column.totalsRowFunction}`);\n }\n }\n\n get width() {\n // width of the table\n return this.table.columns.length;\n }\n\n get height() {\n // height of the table data\n return this.table.rows.length;\n }\n\n get filterHeight() {\n // height of the table data plus optional header row\n return this.height + (this.table.headerRow ? 1 : 0);\n }\n\n get tableHeight() {\n // full height of the table on the sheet\n return this.filterHeight + (this.table.totalsRow ? 1 : 0);\n }\n\n validate() {\n const {table} = this;\n // set defaults and check is valid\n const assign = (o, name, dflt) => {\n if (o[name] === undefined) {\n o[name] = dflt;\n }\n };\n assign(table, 'headerRow', true);\n assign(table, 'totalsRow', false);\n\n assign(table, 'style', {});\n assign(table.style, 'theme', 'TableStyleMedium2');\n assign(table.style, 'showFirstColumn', false);\n assign(table.style, 'showLastColumn', false);\n assign(table.style, 'showRowStripes', false);\n assign(table.style, 'showColumnStripes', false);\n\n const assert = (test, message) => {\n if (!test) {\n throw new Error(message);\n }\n };\n assert(table.ref, 'Table must have ref');\n assert(table.columns, 'Table must have column definitions');\n assert(table.rows, 'Table must have row definitions');\n\n table.tl = colCache.decodeAddress(table.ref);\n const {row, col} = table.tl;\n assert(row > 0, 'Table must be on valid row');\n assert(col > 0, 'Table must be on valid col');\n\n const {width, filterHeight, tableHeight} = this;\n\n // autoFilterRef is a range that includes optional headers only\n table.autoFilterRef = colCache.encode(row, col, row + filterHeight - 1, col + width - 1);\n\n // tableRef is a range that includes optional headers and totals\n table.tableRef = colCache.encode(row, col, row + tableHeight - 1, col + width - 1);\n\n table.columns.forEach((column, i) => {\n assert(column.name, `Column ${i} must have a name`);\n if (i === 0) {\n assign(column, 'totalsRowLabel', 'Total');\n } else {\n assign(column, 'totalsRowFunction', 'none');\n column.totalsRowFormula = this.getFormula(column);\n }\n });\n }\n\n store() {\n // where the table needs to store table data, headers, footers in\n // the sheet...\n const assignStyle = (cell, style) => {\n if (style) {\n Object.keys(style).forEach(key => {\n cell.style[key] = style[key];\n });\n }\n };\n\n const {worksheet, table} = this;\n const {row, col} = table.tl;\n let count = 0;\n if (table.headerRow) {\n const r = worksheet.getRow(row + count++);\n table.columns.forEach((column, j) => {\n const {style, name} = column;\n const cell = r.getCell(col + j);\n cell.value = name;\n assignStyle(cell, style);\n });\n }\n table.rows.forEach(data => {\n const r = worksheet.getRow(row + count++);\n data.forEach((value, j) => {\n const cell = r.getCell(col + j);\n cell.value = value;\n\n assignStyle(cell, table.columns[j].style);\n });\n });\n\n if (table.totalsRow) {\n const r = worksheet.getRow(row + count++);\n table.columns.forEach((column, j) => {\n const cell = r.getCell(col + j);\n if (j === 0) {\n cell.value = column.totalsRowLabel;\n } else {\n const formula = this.getFormula(column);\n if (formula) {\n cell.value = {\n formula: column.totalsRowFormula,\n result: column.totalsRowResult,\n };\n } else {\n cell.value = null;\n }\n }\n\n assignStyle(cell, column.style);\n });\n }\n }\n\n load(worksheet) {\n // where the table will read necessary features from a loaded sheet\n const {table} = this;\n const {row, col} = table.tl;\n let count = 0;\n if (table.headerRow) {\n const r = worksheet.getRow(row + count++);\n table.columns.forEach((column, j) => {\n const cell = r.getCell(col + j);\n cell.value = column.name;\n });\n }\n table.rows.forEach(data => {\n const r = worksheet.getRow(row + count++);\n data.forEach((value, j) => {\n const cell = r.getCell(col + j);\n cell.value = value;\n });\n });\n\n if (table.totalsRow) {\n const r = worksheet.getRow(row + count++);\n table.columns.forEach((column, j) => {\n const cell = r.getCell(col + j);\n if (j === 0) {\n cell.value = column.totalsRowLabel;\n } else {\n const formula = this.getFormula(column);\n if (formula) {\n cell.value = {\n formula: column.totalsRowFormula,\n result: column.totalsRowResult,\n };\n }\n }\n });\n }\n }\n\n get model() {\n return this.table;\n }\n\n set model(value) {\n this.table = value;\n }\n\n // ================================================================\n // TODO: Mutating methods\n cacheState() {\n if (!this._cache) {\n this._cache = {\n ref: this.ref,\n width: this.width,\n tableHeight: this.tableHeight,\n };\n }\n }\n\n commit() {\n // changes may have been made that might have on-sheet effects\n if (!this._cache) {\n return;\n }\n\n // check things are ok first\n this.validate();\n\n const ref = colCache.decodeAddress(this._cache.ref);\n if (this.ref !== this._cache.ref) {\n // wipe out whole table footprint at previous location\n for (let i = 0; i < this._cache.tableHeight; i++) {\n const row = this.worksheet.getRow(ref.row + i);\n for (let j = 0; j < this._cache.width; j++) {\n const cell = row.getCell(ref.col + j);\n cell.value = null;\n }\n }\n } else {\n // clear out below table if it has shrunk\n for (let i = this.tableHeight; i < this._cache.tableHeight; i++) {\n const row = this.worksheet.getRow(ref.row + i);\n for (let j = 0; j < this._cache.width; j++) {\n const cell = row.getCell(ref.col + j);\n cell.value = null;\n }\n }\n\n // clear out to right of table if it has lost columns\n for (let i = 0; i < this.tableHeight; i++) {\n const row = this.worksheet.getRow(ref.row + i);\n for (let j = this.width; j < this._cache.width; j++) {\n const cell = row.getCell(ref.col + j);\n cell.value = null;\n }\n }\n }\n\n this.store();\n }\n\n addRow(values, rowNumber) {\n // Add a row of data, either insert at rowNumber or append\n this.cacheState();\n\n if (rowNumber === undefined) {\n this.table.rows.push(values);\n } else {\n this.table.rows.splice(rowNumber, 0, values);\n }\n }\n\n removeRows(rowIndex, count = 1) {\n // Remove a rows of data\n this.cacheState();\n this.table.rows.splice(rowIndex, count);\n }\n\n getColumn(colIndex) {\n const column = this.table.columns[colIndex];\n return new Column(this, column, colIndex);\n }\n\n addColumn(column, values, colIndex) {\n // Add a new column, including column defn and values\n // Inserts at colNumber or adds to the right\n this.cacheState();\n\n if (colIndex === undefined) {\n this.table.columns.push(column);\n this.table.rows.forEach((row, i) => {\n row.push(values[i]);\n });\n } else {\n this.table.columns.splice(colIndex, 0, column);\n this.table.rows.forEach((row, i) => {\n row.splice(colIndex, 0, values[i]);\n });\n }\n }\n\n removeColumns(colIndex, count = 1) {\n // Remove a column with data\n this.cacheState();\n\n this.table.columns.splice(colIndex, count);\n this.table.rows.forEach(row => {\n row.splice(colIndex, count);\n });\n }\n\n _assign(target, prop, value) {\n this.cacheState();\n target[prop] = value;\n }\n\n /* eslint-disable lines-between-class-members */\n get ref() {\n return this.table.ref;\n }\n set ref(value) {\n this._assign(this.table, 'ref', value);\n }\n\n get name() {\n return this.table.name;\n }\n set name(value) {\n this.table.name = value;\n }\n\n get displayName() {\n return this.table.displyName || this.table.name;\n }\n set displayNamename(value) {\n this.table.displayName = value;\n }\n\n get headerRow() {\n return this.table.headerRow;\n }\n set headerRow(value) {\n this._assign(this.table, 'headerRow', value);\n }\n\n get totalsRow() {\n return this.table.totalsRow;\n }\n set totalsRow(value) {\n this._assign(this.table, 'totalsRow', value);\n }\n\n get theme() {\n return this.table.style.name;\n }\n set theme(value) {\n this.table.style.name = value;\n }\n\n get showFirstColumn() {\n return this.table.style.showFirstColumn;\n }\n set showFirstColumn(value) {\n this.table.style.showFirstColumn = value;\n }\n\n get showLastColumn() {\n return this.table.style.showLastColumn;\n }\n set showLastColumn(value) {\n this.table.style.showLastColumn = value;\n }\n\n get showRowStripes() {\n return this.table.style.showRowStripes;\n }\n set showRowStripes(value) {\n this.table.style.showRowStripes = value;\n }\n\n get showColumnStripes() {\n return this.table.style.showColumnStripes;\n }\n set showColumnStripes(value) {\n this.table.style.showColumnStripes = value;\n }\n /* eslint-enable lines-between-class-members */\n}\n\nmodule.exports = Table;\n"],"mappings":"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","ignoreList":[]}
@@ -125,7 +125,7 @@ class Worksheet {
125
125
  }
126
126
  set name(name) {
127
127
  if (name === undefined) {
128
- name = "sheet".concat(this.id);
128
+ name = `sheet${this.id}`;
129
129
  }
130
130
  if (this._name === name) return;
131
131
  if (typeof name !== 'string') {
@@ -141,18 +141,18 @@ class Worksheet {
141
141
  // Illegal character in worksheet name: asterisk (*), question mark (?),
142
142
  // colon (:), forward slash (/ \), or bracket ([])
143
143
  if (/[*?:/\\[\]]/.test(name)) {
144
- throw new Error("Worksheet name ".concat(name, " cannot include any of the following characters: * ? : \\ / [ ]"));
144
+ throw new Error(`Worksheet name ${name} cannot include any of the following characters: * ? : \\ / [ ]`);
145
145
  }
146
146
  if (/(^')|('$)/.test(name)) {
147
- throw new Error("The first or last character of worksheet name cannot be a single quotation mark: ".concat(name));
147
+ throw new Error(`The first or last character of worksheet name cannot be a single quotation mark: ${name}`);
148
148
  }
149
149
  if (name && name.length > 31) {
150
150
  // eslint-disable-next-line no-console
151
- console.warn("Worksheet name ".concat(name, " exceeds 31 chars. This will be truncated"));
151
+ console.warn(`Worksheet name ${name} exceeds 31 chars. This will be truncated`);
152
152
  name = name.substring(0, 31);
153
153
  }
154
154
  if (this._workbook._worksheets.find(ws => ws && ws.name.toLowerCase() === name.toLowerCase())) {
155
- throw new Error("Worksheet name already exists: ".concat(name));
155
+ throw new Error(`Worksheet name already exists: ${name}`);
156
156
  }
157
157
  this._name = name;
158
158
  }
@@ -794,7 +794,8 @@ class Worksheet {
794
794
  // Pivot Tables
795
795
  addPivotTable(model) {
796
796
  // eslint-disable-next-line no-console
797
- console.warn("Warning: Pivot Table support is experimental. \nPlease leave feedback at https://github.com/exceljs/exceljs/discussions/2575");
797
+ console.warn(`Warning: Pivot Table support is experimental.
798
+ Please leave feedback at https://github.com/exceljs/exceljs/discussions/2575`);
798
799
  const pivotTable = makePivotTable(this, model);
799
800
  this.pivotTables.push(pivotTable);
800
801
  this.workbook.pivotTables.push(pivotTable);