@odoo/o-spreadsheet 18.4.7 → 18.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.
@@ -2,9 +2,9 @@
2
2
  /**
3
3
  * This file is generated by o-spreadsheet build tools. Do not edit it.
4
4
  * @see https://github.com/odoo/o-spreadsheet
5
- * @version 18.4.7
6
- * @date 2025-08-21T06:42:12.438Z
7
- * @hash d5eb3a6
5
+ * @version 18.4.8
6
+ * @date 2025-08-26T10:14:08.954Z
7
+ * @hash 746217a
8
8
  */
9
9
 
10
10
  'use strict';
@@ -7248,14 +7248,11 @@ function getPasteZones(target, content) {
7248
7248
  const width = content[0].length, height = content.length;
7249
7249
  return target.map((t) => splitZoneForPaste(t, width, height)).flat();
7250
7250
  }
7251
- function parseOSClipboardContent(content, clipboardId) {
7251
+ function parseOSClipboardContent(content) {
7252
7252
  let spreadsheetContent = undefined;
7253
7253
  if (content[ClipboardMIMEType.Html]) {
7254
7254
  const htmlDocument = new DOMParser().parseFromString(content[ClipboardMIMEType.Html], "text/html");
7255
- const oSheetClipboardData = htmlDocument
7256
- .querySelector("div")
7257
- ?.getAttribute("data-osheet-clipboard");
7258
- spreadsheetContent = oSheetClipboardData && JSON.parse(oSheetClipboardData);
7255
+ spreadsheetContent = getOSheetDataFromHTML(htmlDocument);
7259
7256
  }
7260
7257
  const textContent = content[ClipboardMIMEType.PlainText] || "";
7261
7258
  let imageBlob = undefined;
@@ -7274,6 +7271,17 @@ function parseOSClipboardContent(content, clipboardId) {
7274
7271
  };
7275
7272
  return osClipboardContent;
7276
7273
  }
7274
+ function getOSheetDataFromHTML(htmlDocument) {
7275
+ const attributes = [...htmlDocument.documentElement.attributes];
7276
+ // Check if it's a Microsoft Office clipboard data (it will have some namespaces defined in the root element)
7277
+ if (attributes.some((attr) => attr.value.includes("microsoft"))) {
7278
+ return undefined;
7279
+ }
7280
+ const oSheetClipboardData = htmlDocument
7281
+ .querySelector("div")
7282
+ ?.getAttribute("data-osheet-clipboard");
7283
+ return oSheetClipboardData && JSON.parse(oSheetClipboardData);
7284
+ }
7277
7285
  /**
7278
7286
  * Applies each clipboard handler to paste its corresponding data into the target.
7279
7287
  */
@@ -27014,10 +27022,6 @@ class ComboChart extends AbstractChart {
27014
27022
  };
27015
27023
  }
27016
27024
  getDefinitionForExcel() {
27017
- // Excel does not support aggregating labels
27018
- if (this.aggregated) {
27019
- return undefined;
27020
- }
27021
27025
  const dataSets = this.dataSets
27022
27026
  .map((ds) => toExcelDataset(this.getters, ds))
27023
27027
  .filter((ds) => ds.range !== "" && ds.range !== CellErrorType.InvalidReference);
@@ -28332,10 +28336,6 @@ class ScatterChart extends AbstractChart {
28332
28336
  return new ScatterChart(definition, this.sheetId, this.getters);
28333
28337
  }
28334
28338
  getDefinitionForExcel() {
28335
- // Excel does not support aggregating labels
28336
- if (this.aggregated) {
28337
- return undefined;
28338
- }
28339
28339
  const dataSets = this.dataSets
28340
28340
  .map((ds) => toExcelDataset(this.getters, ds))
28341
28341
  .filter((ds) => ds.range !== "");
@@ -84751,6 +84751,6 @@ exports.tokenColors = tokenColors;
84751
84751
  exports.tokenize = tokenize;
84752
84752
 
84753
84753
 
84754
- __info__.version = "18.4.7";
84755
- __info__.date = "2025-08-21T06:42:12.438Z";
84756
- __info__.hash = "d5eb3a6";
84754
+ __info__.version = "18.4.8";
84755
+ __info__.date = "2025-08-26T10:14:08.954Z";
84756
+ __info__.hash = "746217a";
@@ -2,9 +2,9 @@
2
2
  /**
3
3
  * This file is generated by o-spreadsheet build tools. Do not edit it.
4
4
  * @see https://github.com/odoo/o-spreadsheet
5
- * @version 18.4.7
6
- * @date 2025-08-21T06:42:12.438Z
7
- * @hash d5eb3a6
5
+ * @version 18.4.8
6
+ * @date 2025-08-26T10:14:08.954Z
7
+ * @hash 746217a
8
8
  */
9
9
 
10
10
  import { useEnv, useSubEnv, onWillUnmount, useComponent, status, Component, useRef, onMounted, useEffect, App, blockDom, useState, onPatched, useExternalListener, onWillUpdateProps, onWillStart, onWillPatch, xml, useChildSubEnv, markRaw, toRaw } from '@odoo/owl';
@@ -7246,14 +7246,11 @@ function getPasteZones(target, content) {
7246
7246
  const width = content[0].length, height = content.length;
7247
7247
  return target.map((t) => splitZoneForPaste(t, width, height)).flat();
7248
7248
  }
7249
- function parseOSClipboardContent(content, clipboardId) {
7249
+ function parseOSClipboardContent(content) {
7250
7250
  let spreadsheetContent = undefined;
7251
7251
  if (content[ClipboardMIMEType.Html]) {
7252
7252
  const htmlDocument = new DOMParser().parseFromString(content[ClipboardMIMEType.Html], "text/html");
7253
- const oSheetClipboardData = htmlDocument
7254
- .querySelector("div")
7255
- ?.getAttribute("data-osheet-clipboard");
7256
- spreadsheetContent = oSheetClipboardData && JSON.parse(oSheetClipboardData);
7253
+ spreadsheetContent = getOSheetDataFromHTML(htmlDocument);
7257
7254
  }
7258
7255
  const textContent = content[ClipboardMIMEType.PlainText] || "";
7259
7256
  let imageBlob = undefined;
@@ -7272,6 +7269,17 @@ function parseOSClipboardContent(content, clipboardId) {
7272
7269
  };
7273
7270
  return osClipboardContent;
7274
7271
  }
7272
+ function getOSheetDataFromHTML(htmlDocument) {
7273
+ const attributes = [...htmlDocument.documentElement.attributes];
7274
+ // Check if it's a Microsoft Office clipboard data (it will have some namespaces defined in the root element)
7275
+ if (attributes.some((attr) => attr.value.includes("microsoft"))) {
7276
+ return undefined;
7277
+ }
7278
+ const oSheetClipboardData = htmlDocument
7279
+ .querySelector("div")
7280
+ ?.getAttribute("data-osheet-clipboard");
7281
+ return oSheetClipboardData && JSON.parse(oSheetClipboardData);
7282
+ }
7275
7283
  /**
7276
7284
  * Applies each clipboard handler to paste its corresponding data into the target.
7277
7285
  */
@@ -27012,10 +27020,6 @@ class ComboChart extends AbstractChart {
27012
27020
  };
27013
27021
  }
27014
27022
  getDefinitionForExcel() {
27015
- // Excel does not support aggregating labels
27016
- if (this.aggregated) {
27017
- return undefined;
27018
- }
27019
27023
  const dataSets = this.dataSets
27020
27024
  .map((ds) => toExcelDataset(this.getters, ds))
27021
27025
  .filter((ds) => ds.range !== "" && ds.range !== CellErrorType.InvalidReference);
@@ -28330,10 +28334,6 @@ class ScatterChart extends AbstractChart {
28330
28334
  return new ScatterChart(definition, this.sheetId, this.getters);
28331
28335
  }
28332
28336
  getDefinitionForExcel() {
28333
- // Excel does not support aggregating labels
28334
- if (this.aggregated) {
28335
- return undefined;
28336
- }
28337
28337
  const dataSets = this.dataSets
28338
28338
  .map((ds) => toExcelDataset(this.getters, ds))
28339
28339
  .filter((ds) => ds.range !== "");
@@ -84701,6 +84701,6 @@ const chartHelpers = { ...CHART_HELPERS, ...CHART_RUNTIME_HELPERS };
84701
84701
  export { AbstractCellClipboardHandler, AbstractChart, AbstractFigureClipboardHandler, CellErrorType, ClientDisconnectedError, CommandResult, CorePlugin, CoreViewPlugin, DispatchResult, EvaluationError, LocalTransportService, Model, PivotRuntimeDefinition, Registry, Revision, SPREADSHEET_DIMENSIONS, Spreadsheet, SpreadsheetPivotTable, UIPlugin, __info__, addFunction, addRenderingLayer, astToFormula, chartHelpers, compile, compileTokens, components, constants, convertAstNodes, coreTypes, findCellInNewZone, functionCache, helpers, hooks, invalidateCFEvaluationCommands, invalidateChartEvaluationCommands, invalidateDependenciesCommands, invalidateEvaluationCommands, iterateAstNodes, links, load, parse, parseTokens, readonlyAllowedCommands, registries, setDefaultSheetViewSize, setTranslationMethod, stores, tokenColors, tokenize };
84702
84702
 
84703
84703
 
84704
- __info__.version = "18.4.7";
84705
- __info__.date = "2025-08-21T06:42:12.438Z";
84706
- __info__.hash = "d5eb3a6";
84704
+ __info__.version = "18.4.8";
84705
+ __info__.date = "2025-08-26T10:14:08.954Z";
84706
+ __info__.hash = "746217a";
@@ -2,9 +2,9 @@
2
2
  /**
3
3
  * This file is generated by o-spreadsheet build tools. Do not edit it.
4
4
  * @see https://github.com/odoo/o-spreadsheet
5
- * @version 18.4.7
6
- * @date 2025-08-21T06:42:12.438Z
7
- * @hash d5eb3a6
5
+ * @version 18.4.8
6
+ * @date 2025-08-26T10:14:08.954Z
7
+ * @hash 746217a
8
8
  */
9
9
 
10
10
  (function (exports, owl) {
@@ -7247,14 +7247,11 @@
7247
7247
  const width = content[0].length, height = content.length;
7248
7248
  return target.map((t) => splitZoneForPaste(t, width, height)).flat();
7249
7249
  }
7250
- function parseOSClipboardContent(content, clipboardId) {
7250
+ function parseOSClipboardContent(content) {
7251
7251
  let spreadsheetContent = undefined;
7252
7252
  if (content[ClipboardMIMEType.Html]) {
7253
7253
  const htmlDocument = new DOMParser().parseFromString(content[ClipboardMIMEType.Html], "text/html");
7254
- const oSheetClipboardData = htmlDocument
7255
- .querySelector("div")
7256
- ?.getAttribute("data-osheet-clipboard");
7257
- spreadsheetContent = oSheetClipboardData && JSON.parse(oSheetClipboardData);
7254
+ spreadsheetContent = getOSheetDataFromHTML(htmlDocument);
7258
7255
  }
7259
7256
  const textContent = content[ClipboardMIMEType.PlainText] || "";
7260
7257
  let imageBlob = undefined;
@@ -7273,6 +7270,17 @@
7273
7270
  };
7274
7271
  return osClipboardContent;
7275
7272
  }
7273
+ function getOSheetDataFromHTML(htmlDocument) {
7274
+ const attributes = [...htmlDocument.documentElement.attributes];
7275
+ // Check if it's a Microsoft Office clipboard data (it will have some namespaces defined in the root element)
7276
+ if (attributes.some((attr) => attr.value.includes("microsoft"))) {
7277
+ return undefined;
7278
+ }
7279
+ const oSheetClipboardData = htmlDocument
7280
+ .querySelector("div")
7281
+ ?.getAttribute("data-osheet-clipboard");
7282
+ return oSheetClipboardData && JSON.parse(oSheetClipboardData);
7283
+ }
7276
7284
  /**
7277
7285
  * Applies each clipboard handler to paste its corresponding data into the target.
7278
7286
  */
@@ -27013,10 +27021,6 @@ stores.inject(MyMetaStore, storeInstance);
27013
27021
  };
27014
27022
  }
27015
27023
  getDefinitionForExcel() {
27016
- // Excel does not support aggregating labels
27017
- if (this.aggregated) {
27018
- return undefined;
27019
- }
27020
27024
  const dataSets = this.dataSets
27021
27025
  .map((ds) => toExcelDataset(this.getters, ds))
27022
27026
  .filter((ds) => ds.range !== "" && ds.range !== CellErrorType.InvalidReference);
@@ -28331,10 +28335,6 @@ stores.inject(MyMetaStore, storeInstance);
28331
28335
  return new ScatterChart(definition, this.sheetId, this.getters);
28332
28336
  }
28333
28337
  getDefinitionForExcel() {
28334
- // Excel does not support aggregating labels
28335
- if (this.aggregated) {
28336
- return undefined;
28337
- }
28338
28338
  const dataSets = this.dataSets
28339
28339
  .map((ds) => toExcelDataset(this.getters, ds))
28340
28340
  .filter((ds) => ds.range !== "");
@@ -84750,9 +84750,9 @@ stores.inject(MyMetaStore, storeInstance);
84750
84750
  exports.tokenize = tokenize;
84751
84751
 
84752
84752
 
84753
- __info__.version = "18.4.7";
84754
- __info__.date = "2025-08-21T06:42:12.438Z";
84755
- __info__.hash = "d5eb3a6";
84753
+ __info__.version = "18.4.8";
84754
+ __info__.date = "2025-08-26T10:14:08.954Z";
84755
+ __info__.hash = "746217a";
84756
84756
 
84757
84757
 
84758
84758
  })(this.o_spreadsheet = this.o_spreadsheet || {}, owl);