@odoo/o-spreadsheet 19.2.22 → 19.2.23

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 19.2.22
6
- * @date 2026-07-23T07:41:02.828Z
7
- * @hash 2fb92b4
5
+ * @version 19.2.23
6
+ * @date 2026-07-30T06:54:22.421Z
7
+ * @hash 7914fd5
8
8
  */
9
9
  :root {
10
10
  --os-gray-100: light-dark(#f9fafb, #1b1d26);
@@ -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 19.2.22
6
- * @date 2026-07-23T07:41:01.568Z
7
- * @hash 2fb92b4
5
+ * @version 19.2.23
6
+ * @date 2026-07-30T06:54:20.810Z
7
+ * @hash 7914fd5
8
8
  */
9
9
 
10
10
  import { App, Component, blockDom, markRaw, onMounted, onPatched, onWillPatch, onWillStart, onWillUnmount, onWillUpdateProps, status, toRaw, useChildSubEnv, useComponent, useEffect, useEnv, useExternalListener, useRef, useState, useSubEnv, whenReady, xml } from "@odoo/owl";
@@ -10552,6 +10552,19 @@ function isOtherMobileOS() {
10552
10552
  function isMobileOS() {
10553
10553
  return isAndroid() || isIOS() || isOtherMobileOS();
10554
10554
  }
10555
+ const INTERACTIVE_ELEMENT_SELECTOR = "select, input, textarea, button, .o-select, .os-input, .o-input, .o-button, .o-button-icon, .o-button-link, .o-composer";
10556
+ /** Check if there is an interactive element (input, select, button, ...) between the event.target and event.currentTarget (inclusive)*/
10557
+ function hasInteractiveElementInEventTree(event) {
10558
+ const target = event.target;
10559
+ const root = event.currentTarget;
10560
+ if (!root || !target || !root.contains(target)) return false;
10561
+ let node = target;
10562
+ while (node && node !== root) {
10563
+ if (node.matches(INTERACTIVE_ELEMENT_SELECTOR)) return true;
10564
+ node = node.parentElement;
10565
+ }
10566
+ return root.matches(INTERACTIVE_ELEMENT_SELECTOR);
10567
+ }
10555
10568
 
10556
10569
  //#endregion
10557
10570
  //#region src/components/helpers/zoom.ts
@@ -44251,13 +44264,9 @@ var PivotLayoutConfigurator = class extends Component {
44251
44264
  dimensionsRef = useRef("pivot-dimensions");
44252
44265
  dragAndDrop = useDragAndDropListItems();
44253
44266
  AGGREGATORS = AGGREGATORS;
44254
- composerFocus;
44255
44267
  isDateOrDatetimeField = isDateOrDatetimeField;
44256
- setup() {
44257
- this.composerFocus = useStore(ComposerFocusStore);
44258
- }
44259
44268
  startDragAndDrop(dimension, event) {
44260
- if (event.button !== 0 || event.target.tagName === "SELECT") return;
44269
+ if (event.button !== 0 || hasInteractiveElementInEventTree(event)) return;
44261
44270
  const rects = this.getDimensionElementsRects();
44262
44271
  const { columns, rows } = this.props.definition;
44263
44272
  const draggableIds = [
@@ -44297,7 +44306,7 @@ var PivotLayoutConfigurator = class extends Component {
44297
44306
  return field.type === "date" ? this.props.dateGranularities : this.props.datetimeGranularities;
44298
44307
  }
44299
44308
  startDragAndDropMeasures(measure, event) {
44300
- if (event.button !== 0 || event.target.tagName === "SELECT" || event.target.tagName === "INPUT" || this.composerFocus.focusMode !== "inactive") return;
44309
+ if (event.button !== 0 || hasInteractiveElementInEventTree(event)) return;
44301
44310
  const rects = this.getDimensionElementsRects();
44302
44311
  const { measures, columns, rows } = this.props.definition;
44303
44312
  const draggableIds = measures.map((m) => m.id);
@@ -67830,7 +67839,7 @@ var SheetUIPlugin = class extends UIPlugin {
67830
67839
  if (contentWidth === 0) return 0;
67831
67840
  contentWidth += 2 * 4;
67832
67841
  if (style.wrapping === "wrap") {
67833
- const colWidth = this.getters.getColSize(this.getters.getActiveSheetId(), position.col);
67842
+ const colWidth = this.getters.getColSize(position.sheetId, position.col);
67834
67843
  return Math.min(colWidth, contentWidth);
67835
67844
  }
67836
67845
  return contentWidth;
@@ -73149,6 +73158,7 @@ var SpreadsheetDashboard = class extends Component {
73149
73158
  return toRaw(this.clickableCellsStore.clickableCells);
73150
73159
  }
73151
73160
  selectClickableCell(ev, clickableCell) {
73161
+ if (![0, 1].includes(ev.button)) return;
73152
73162
  const { position, action } = clickableCell;
73153
73163
  action(position, this.env, isMiddleClickOrCtrlClick(ev));
73154
73164
  }
@@ -81723,6 +81733,6 @@ const chartHelpers = {
81723
81733
  //#endregion
81724
81734
  export { AbstractCellClipboardHandler, AbstractChart, AbstractFigureClipboardHandler, CellErrorType, ClientDisconnectedError, CommandResult, CompiledFormula, CorePlugin, CoreViewPlugin, DEFAULT_LOCALE, DEFAULT_LOCALES, DispatchResult, EvaluationError, LocalTransportService, Model, PivotRuntimeDefinition, Registry, Revision, SPREADSHEET_DIMENSIONS, Spreadsheet, SpreadsheetPivotTable, UIPlugin, __info__, addFunction, addRenderingLayer, astToFormula, canExecuteInReadonly, categories, chartHelpers, components, constants, convertAstNodes, coreTypes, createAutocompleteArgumentsProvider, findCellInNewZone, functionCache, getCaretDownSvg, getCaretUpSvg, helpers, hooks, invalidateCFEvaluationCommands, invalidateChartEvaluationCommands, invalidateDependenciesCommands, invalidateEvaluationCommands, isCoreCommand, isSheetDependent, iterateAstNodes, links, load, lockedSheetAllowedCommands, parse, parseTokens, readonlyAllowedCommands, registries, setDefaultSheetViewSize, setTranslationMethod, stores, tokenColors, tokenize };
81725
81735
 
81726
- __info__.version = "19.2.22";
81727
- __info__.date = "2026-07-23T07:41:01.568Z";
81728
- __info__.hash = "2fb92b4";
81736
+ __info__.version = "19.2.23";
81737
+ __info__.date = "2026-07-30T06:54:20.810Z";
81738
+ __info__.hash = "7914fd5";
@@ -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 19.2.22
6
- * @date 2026-07-23T07:41:01.568Z
7
- * @hash 2fb92b4
5
+ * @version 19.2.23
6
+ * @date 2026-07-30T06:54:20.810Z
7
+ * @hash 7914fd5
8
8
  */
9
9
 
10
10
  (function(exports, _odoo_owl) {
@@ -10554,6 +10554,19 @@ stores.inject(MyMetaStore, storeInstance);
10554
10554
  function isMobileOS() {
10555
10555
  return isAndroid() || isIOS() || isOtherMobileOS();
10556
10556
  }
10557
+ const INTERACTIVE_ELEMENT_SELECTOR = "select, input, textarea, button, .o-select, .os-input, .o-input, .o-button, .o-button-icon, .o-button-link, .o-composer";
10558
+ /** Check if there is an interactive element (input, select, button, ...) between the event.target and event.currentTarget (inclusive)*/
10559
+ function hasInteractiveElementInEventTree(event) {
10560
+ const target = event.target;
10561
+ const root = event.currentTarget;
10562
+ if (!root || !target || !root.contains(target)) return false;
10563
+ let node = target;
10564
+ while (node && node !== root) {
10565
+ if (node.matches(INTERACTIVE_ELEMENT_SELECTOR)) return true;
10566
+ node = node.parentElement;
10567
+ }
10568
+ return root.matches(INTERACTIVE_ELEMENT_SELECTOR);
10569
+ }
10557
10570
 
10558
10571
  //#endregion
10559
10572
  //#region src/components/helpers/zoom.ts
@@ -44253,13 +44266,9 @@ stores.inject(MyMetaStore, storeInstance);
44253
44266
  dimensionsRef = (0, _odoo_owl.useRef)("pivot-dimensions");
44254
44267
  dragAndDrop = useDragAndDropListItems();
44255
44268
  AGGREGATORS = AGGREGATORS;
44256
- composerFocus;
44257
44269
  isDateOrDatetimeField = isDateOrDatetimeField;
44258
- setup() {
44259
- this.composerFocus = useStore(ComposerFocusStore);
44260
- }
44261
44270
  startDragAndDrop(dimension, event) {
44262
- if (event.button !== 0 || event.target.tagName === "SELECT") return;
44271
+ if (event.button !== 0 || hasInteractiveElementInEventTree(event)) return;
44263
44272
  const rects = this.getDimensionElementsRects();
44264
44273
  const { columns, rows } = this.props.definition;
44265
44274
  const draggableIds = [
@@ -44299,7 +44308,7 @@ stores.inject(MyMetaStore, storeInstance);
44299
44308
  return field.type === "date" ? this.props.dateGranularities : this.props.datetimeGranularities;
44300
44309
  }
44301
44310
  startDragAndDropMeasures(measure, event) {
44302
- if (event.button !== 0 || event.target.tagName === "SELECT" || event.target.tagName === "INPUT" || this.composerFocus.focusMode !== "inactive") return;
44311
+ if (event.button !== 0 || hasInteractiveElementInEventTree(event)) return;
44303
44312
  const rects = this.getDimensionElementsRects();
44304
44313
  const { measures, columns, rows } = this.props.definition;
44305
44314
  const draggableIds = measures.map((m) => m.id);
@@ -67832,7 +67841,7 @@ stores.inject(MyMetaStore, storeInstance);
67832
67841
  if (contentWidth === 0) return 0;
67833
67842
  contentWidth += 2 * 4;
67834
67843
  if (style.wrapping === "wrap") {
67835
- const colWidth = this.getters.getColSize(this.getters.getActiveSheetId(), position.col);
67844
+ const colWidth = this.getters.getColSize(position.sheetId, position.col);
67836
67845
  return Math.min(colWidth, contentWidth);
67837
67846
  }
67838
67847
  return contentWidth;
@@ -73151,6 +73160,7 @@ stores.inject(MyMetaStore, storeInstance);
73151
73160
  return (0, _odoo_owl.toRaw)(this.clickableCellsStore.clickableCells);
73152
73161
  }
73153
73162
  selectClickableCell(ev, clickableCell) {
73163
+ if (![0, 1].includes(ev.button)) return;
73154
73164
  const { position, action } = clickableCell;
73155
73165
  action(position, this.env, isMiddleClickOrCtrlClick(ev));
73156
73166
  }
@@ -81783,8 +81793,8 @@ exports.stores = stores;
81783
81793
  exports.tokenColors = tokenColors;
81784
81794
  exports.tokenize = tokenize;
81785
81795
 
81786
- __info__.version = "19.2.22";
81787
- __info__.date = "2026-07-23T07:41:01.568Z";
81788
- __info__.hash = "2fb92b4";
81796
+ __info__.version = "19.2.23";
81797
+ __info__.date = "2026-07-30T06:54:20.810Z";
81798
+ __info__.hash = "7914fd5";
81789
81799
 
81790
81800
  })(this.o_spreadsheet = this.o_spreadsheet || {}, owl);