@odoo/o-spreadsheet 16.0.21 → 16.0.22

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.
@@ -25240,12 +25240,15 @@ function createXMLFile(doc, path, contentType) {
25240
25240
  };
25241
25241
  }
25242
25242
  function xmlEscape(str) {
25243
- return String(str)
25243
+ return (String(str)
25244
25244
  .replace(/\&/g, "&")
25245
25245
  .replace(/\</g, "&lt;")
25246
25246
  .replace(/\>/g, "&gt;")
25247
25247
  .replace(/\"/g, "&quot;")
25248
- .replace(/\'/g, "&apos;");
25248
+ .replace(/\'/g, "&apos;")
25249
+ // Delete all ASCII control characters except for TAB (\x09), LF (\x0A) and CR (\x0D)
25250
+ // They are not valid at all in XML 1.0 (even escaped)
25251
+ .replace(/[\x00-\x08\x0B\x0C\x0E-\x1F]/g, ""));
25249
25252
  }
25250
25253
  function formatAttributes(attrs) {
25251
25254
  return new XMLString(attrs.map(([key, val]) => `${key}="${xmlEscape(val)}"`).join(" "));
@@ -33110,6 +33113,10 @@ class EvaluationConditionalFormatPlugin extends UIPlugin {
33110
33113
  }
33111
33114
  currentRanges = currentRanges.concat(toAdd);
33112
33115
  const newRangesXC = recomputeZones(currentRanges, toRemove);
33116
+ if (newRangesXC.length === 0) {
33117
+ this.dispatch("REMOVE_CONDITIONAL_FORMAT", { id: cf.id, sheetId });
33118
+ return;
33119
+ }
33113
33120
  this.dispatch("ADD_CONDITIONAL_FORMAT", {
33114
33121
  cf: {
33115
33122
  id: cf.id,
@@ -34765,11 +34772,18 @@ class GridSelectionPlugin extends UIPlugin {
34765
34772
  }
34766
34773
  }
34767
34774
  getStatisticFnResults() {
34775
+ const sheetId = this.getters.getActiveSheetId();
34768
34776
  // get deduplicated cells in zones
34769
34777
  const cells = new Set(this.gridSelection.zones
34770
- .map((zone) => this.getters.getCellsInZone(this.getters.getActiveSheetId(), zone))
34778
+ .map((zone) => this.getters.getCellsInZone(sheetId, zone))
34771
34779
  .flat()
34772
- .filter((cell) => cell !== undefined));
34780
+ .filter((cell) => {
34781
+ if (!cell) {
34782
+ return false;
34783
+ }
34784
+ const { col, row } = this.getters.getCellPosition(cell === null || cell === void 0 ? void 0 : cell.id);
34785
+ return !this.getters.isRowHidden(sheetId, row) && !this.getters.isColHidden(sheetId, col);
34786
+ }));
34773
34787
  let cellsTypes = new Set();
34774
34788
  let cellsValues = [];
34775
34789
  for (let cell of cells) {
@@ -42983,6 +42997,6 @@ exports.setTranslationMethod = setTranslationMethod;
42983
42997
  exports.tokenize = tokenize;
42984
42998
 
42985
42999
 
42986
- __info__.version = '16.0.21';
42987
- __info__.date = '2023-10-10T07:26:26.680Z';
42988
- __info__.hash = '5f66b12';
43000
+ __info__.version = '16.0.22';
43001
+ __info__.date = '2023-10-19T14:18:55.223Z';
43002
+ __info__.hash = '7f76b56';
@@ -25236,12 +25236,15 @@ function createXMLFile(doc, path, contentType) {
25236
25236
  };
25237
25237
  }
25238
25238
  function xmlEscape(str) {
25239
- return String(str)
25239
+ return (String(str)
25240
25240
  .replace(/\&/g, "&amp;")
25241
25241
  .replace(/\</g, "&lt;")
25242
25242
  .replace(/\>/g, "&gt;")
25243
25243
  .replace(/\"/g, "&quot;")
25244
- .replace(/\'/g, "&apos;");
25244
+ .replace(/\'/g, "&apos;")
25245
+ // Delete all ASCII control characters except for TAB (\x09), LF (\x0A) and CR (\x0D)
25246
+ // They are not valid at all in XML 1.0 (even escaped)
25247
+ .replace(/[\x00-\x08\x0B\x0C\x0E-\x1F]/g, ""));
25245
25248
  }
25246
25249
  function formatAttributes(attrs) {
25247
25250
  return new XMLString(attrs.map(([key, val]) => `${key}="${xmlEscape(val)}"`).join(" "));
@@ -33106,6 +33109,10 @@ class EvaluationConditionalFormatPlugin extends UIPlugin {
33106
33109
  }
33107
33110
  currentRanges = currentRanges.concat(toAdd);
33108
33111
  const newRangesXC = recomputeZones(currentRanges, toRemove);
33112
+ if (newRangesXC.length === 0) {
33113
+ this.dispatch("REMOVE_CONDITIONAL_FORMAT", { id: cf.id, sheetId });
33114
+ return;
33115
+ }
33109
33116
  this.dispatch("ADD_CONDITIONAL_FORMAT", {
33110
33117
  cf: {
33111
33118
  id: cf.id,
@@ -34761,11 +34768,18 @@ class GridSelectionPlugin extends UIPlugin {
34761
34768
  }
34762
34769
  }
34763
34770
  getStatisticFnResults() {
34771
+ const sheetId = this.getters.getActiveSheetId();
34764
34772
  // get deduplicated cells in zones
34765
34773
  const cells = new Set(this.gridSelection.zones
34766
- .map((zone) => this.getters.getCellsInZone(this.getters.getActiveSheetId(), zone))
34774
+ .map((zone) => this.getters.getCellsInZone(sheetId, zone))
34767
34775
  .flat()
34768
- .filter((cell) => cell !== undefined));
34776
+ .filter((cell) => {
34777
+ if (!cell) {
34778
+ return false;
34779
+ }
34780
+ const { col, row } = this.getters.getCellPosition(cell === null || cell === void 0 ? void 0 : cell.id);
34781
+ return !this.getters.isRowHidden(sheetId, row) && !this.getters.isColHidden(sheetId, col);
34782
+ }));
34769
34783
  let cellsTypes = new Set();
34770
34784
  let cellsValues = [];
34771
34785
  for (let cell of cells) {
@@ -42951,6 +42965,6 @@ function addFunction(functionName, functionDescription) {
42951
42965
  export { AbstractChart, CommandResult, CorePlugin, DATETIME_FORMAT, DispatchResult, EvaluationError, Model, Registry, Revision, SPREADSHEET_DIMENSIONS, Spreadsheet, UIPlugin, __info__, addFunction, astToFormula, cellTypes, compile, components, convertAstNodes, coreTypes, findCellInNewZone, functionCache, helpers, invalidateEvaluationCommands, load, parse, readonlyAllowedCommands, registries, setTranslationMethod, tokenize };
42952
42966
 
42953
42967
 
42954
- __info__.version = '16.0.21';
42955
- __info__.date = '2023-10-10T07:26:26.680Z';
42956
- __info__.hash = '5f66b12';
42968
+ __info__.version = '16.0.22';
42969
+ __info__.date = '2023-10-19T14:18:55.223Z';
42970
+ __info__.hash = '7f76b56';
@@ -25237,12 +25237,15 @@ day_count_convention (number, default=${DEFAULT_DAY_COUNT_CONVENTION} ) ${_lt("A
25237
25237
  };
25238
25238
  }
25239
25239
  function xmlEscape(str) {
25240
- return String(str)
25240
+ return (String(str)
25241
25241
  .replace(/\&/g, "&amp;")
25242
25242
  .replace(/\</g, "&lt;")
25243
25243
  .replace(/\>/g, "&gt;")
25244
25244
  .replace(/\"/g, "&quot;")
25245
- .replace(/\'/g, "&apos;");
25245
+ .replace(/\'/g, "&apos;")
25246
+ // Delete all ASCII control characters except for TAB (\x09), LF (\x0A) and CR (\x0D)
25247
+ // They are not valid at all in XML 1.0 (even escaped)
25248
+ .replace(/[\x00-\x08\x0B\x0C\x0E-\x1F]/g, ""));
25246
25249
  }
25247
25250
  function formatAttributes(attrs) {
25248
25251
  return new XMLString(attrs.map(([key, val]) => `${key}="${xmlEscape(val)}"`).join(" "));
@@ -33107,6 +33110,10 @@ day_count_convention (number, default=${DEFAULT_DAY_COUNT_CONVENTION} ) ${_lt("A
33107
33110
  }
33108
33111
  currentRanges = currentRanges.concat(toAdd);
33109
33112
  const newRangesXC = recomputeZones(currentRanges, toRemove);
33113
+ if (newRangesXC.length === 0) {
33114
+ this.dispatch("REMOVE_CONDITIONAL_FORMAT", { id: cf.id, sheetId });
33115
+ return;
33116
+ }
33110
33117
  this.dispatch("ADD_CONDITIONAL_FORMAT", {
33111
33118
  cf: {
33112
33119
  id: cf.id,
@@ -34762,11 +34769,18 @@ day_count_convention (number, default=${DEFAULT_DAY_COUNT_CONVENTION} ) ${_lt("A
34762
34769
  }
34763
34770
  }
34764
34771
  getStatisticFnResults() {
34772
+ const sheetId = this.getters.getActiveSheetId();
34765
34773
  // get deduplicated cells in zones
34766
34774
  const cells = new Set(this.gridSelection.zones
34767
- .map((zone) => this.getters.getCellsInZone(this.getters.getActiveSheetId(), zone))
34775
+ .map((zone) => this.getters.getCellsInZone(sheetId, zone))
34768
34776
  .flat()
34769
- .filter((cell) => cell !== undefined));
34777
+ .filter((cell) => {
34778
+ if (!cell) {
34779
+ return false;
34780
+ }
34781
+ const { col, row } = this.getters.getCellPosition(cell === null || cell === void 0 ? void 0 : cell.id);
34782
+ return !this.getters.isRowHidden(sheetId, row) && !this.getters.isColHidden(sheetId, col);
34783
+ }));
34770
34784
  let cellsTypes = new Set();
34771
34785
  let cellsValues = [];
34772
34786
  for (let cell of cells) {
@@ -42982,9 +42996,9 @@ day_count_convention (number, default=${DEFAULT_DAY_COUNT_CONVENTION} ) ${_lt("A
42982
42996
  Object.defineProperty(exports, '__esModule', { value: true });
42983
42997
 
42984
42998
 
42985
- __info__.version = '16.0.21';
42986
- __info__.date = '2023-10-10T07:26:26.680Z';
42987
- __info__.hash = '5f66b12';
42999
+ __info__.version = '16.0.22';
43000
+ __info__.date = '2023-10-19T14:18:55.223Z';
43001
+ __info__.hash = '7f76b56';
42988
43002
 
42989
43003
 
42990
43004
  })(this.o_spreadsheet = this.o_spreadsheet || {}, owl);