@odoo/o-spreadsheet 19.3.13 → 19.3.14
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/o_spreadsheet.cjs +24 -14
- package/dist/o_spreadsheet.css +3 -3
- package/dist/o_spreadsheet.esm.js +24 -14
- package/dist/o_spreadsheet.iife.js +24 -14
- package/dist/o_spreadsheet.min.iife.js +239 -239
- package/dist/o_spreadsheet.xml +6 -8
- package/dist/types/components/helpers/dom_helpers.d.ts +2 -0
- package/dist/types/components/side_panel/pivot/pivot_layout_configurator/pivot_layout_configurator.d.ts +0 -2
- package/package.json +1 -1
package/dist/o_spreadsheet.cjs
CHANGED
|
@@ -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.3.
|
|
6
|
-
* @date 2026-07-
|
|
7
|
-
* @hash
|
|
5
|
+
* @version 19.3.14
|
|
6
|
+
* @date 2026-07-30T06:55:43.749Z
|
|
7
|
+
* @hash 3dd5632
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
@@ -10252,7 +10252,7 @@ function getCalendarChartDatasetAndLabels(definition, args) {
|
|
|
10252
10252
|
borderWidth: 1,
|
|
10253
10253
|
barPercentage: 1,
|
|
10254
10254
|
categoryPercentage: 1,
|
|
10255
|
-
values: dataSetValues.data.map((cell) => isNumberResult(cell) ? cell.value :
|
|
10255
|
+
values: dataSetValues.data.map((cell) => isNumberResult(cell) ? cell.value : void 0)
|
|
10256
10256
|
});
|
|
10257
10257
|
return {
|
|
10258
10258
|
labels,
|
|
@@ -11822,6 +11822,19 @@ function isOtherMobileOS() {
|
|
|
11822
11822
|
function isMobileOS() {
|
|
11823
11823
|
return isAndroid() || isIOS() || isOtherMobileOS();
|
|
11824
11824
|
}
|
|
11825
|
+
const INTERACTIVE_ELEMENT_SELECTOR = "select, input, textarea, button, .o-select, .os-input, .o-input, .o-button, .o-button-icon, .o-button-link, .o-composer";
|
|
11826
|
+
/** Check if there is an interactive element (input, select, button, ...) between the event.target and event.currentTarget (inclusive)*/
|
|
11827
|
+
function hasInteractiveElementInEventTree(event) {
|
|
11828
|
+
const target = event.target;
|
|
11829
|
+
const root = event.currentTarget;
|
|
11830
|
+
if (!root || !target || !root.contains(target)) return false;
|
|
11831
|
+
let node = target;
|
|
11832
|
+
while (node && node !== root) {
|
|
11833
|
+
if (node.matches(INTERACTIVE_ELEMENT_SELECTOR)) return true;
|
|
11834
|
+
node = node.parentElement;
|
|
11835
|
+
}
|
|
11836
|
+
return root.matches(INTERACTIVE_ELEMENT_SELECTOR);
|
|
11837
|
+
}
|
|
11825
11838
|
|
|
11826
11839
|
//#endregion
|
|
11827
11840
|
//#region src/components/helpers/zoom.ts
|
|
@@ -38041,13 +38054,9 @@ var PivotLayoutConfigurator = class extends _odoo_owl.Component {
|
|
|
38041
38054
|
dimensionsRef = (0, _odoo_owl.useRef)("pivot-dimensions");
|
|
38042
38055
|
dragAndDrop = useDragAndDropListItems();
|
|
38043
38056
|
AGGREGATORS = AGGREGATORS;
|
|
38044
|
-
composerFocus;
|
|
38045
38057
|
isDateOrDatetimeField = isDateOrDatetimeField;
|
|
38046
|
-
setup() {
|
|
38047
|
-
this.composerFocus = useStore(ComposerFocusStore);
|
|
38048
|
-
}
|
|
38049
38058
|
startDragAndDrop(dimension, event) {
|
|
38050
|
-
if (event.button !== 0 || event
|
|
38059
|
+
if (event.button !== 0 || hasInteractiveElementInEventTree(event)) return;
|
|
38051
38060
|
const rects = this.getDimensionElementsRects();
|
|
38052
38061
|
const { columns, rows } = this.props.definition;
|
|
38053
38062
|
const draggableIds = [
|
|
@@ -38087,7 +38096,7 @@ var PivotLayoutConfigurator = class extends _odoo_owl.Component {
|
|
|
38087
38096
|
return field.type === "date" ? this.props.dateGranularities : this.props.datetimeGranularities;
|
|
38088
38097
|
}
|
|
38089
38098
|
startDragAndDropMeasures(measure, event) {
|
|
38090
|
-
if (event.button !== 0 || event
|
|
38099
|
+
if (event.button !== 0 || hasInteractiveElementInEventTree(event)) return;
|
|
38091
38100
|
const rects = this.getDimensionElementsRects();
|
|
38092
38101
|
const { measures, columns, rows } = this.props.definition;
|
|
38093
38102
|
const draggableIds = measures.map((m) => m.id);
|
|
@@ -62565,7 +62574,7 @@ var SheetUIPlugin = class extends UIPlugin {
|
|
|
62565
62574
|
if (contentWidth === 0) return 0;
|
|
62566
62575
|
contentWidth += 2 * 4;
|
|
62567
62576
|
if (style.wrapping === "wrap") {
|
|
62568
|
-
const colWidth = this.getters.getColSize(
|
|
62577
|
+
const colWidth = this.getters.getColSize(position.sheetId, position.col);
|
|
62569
62578
|
return Math.min(colWidth, contentWidth);
|
|
62570
62579
|
}
|
|
62571
62580
|
return contentWidth;
|
|
@@ -68252,6 +68261,7 @@ var SpreadsheetDashboard = class extends _odoo_owl.Component {
|
|
|
68252
68261
|
return (0, _odoo_owl.toRaw)(this.clickableCellsStore.clickableCells);
|
|
68253
68262
|
}
|
|
68254
68263
|
selectClickableCell(ev, clickableCell) {
|
|
68264
|
+
if (![0, 1].includes(ev.button)) return;
|
|
68255
68265
|
const { position, action } = clickableCell;
|
|
68256
68266
|
action(position, this.env, isMiddleClickOrCtrlClick(ev));
|
|
68257
68267
|
}
|
|
@@ -84851,6 +84861,6 @@ exports.stores = stores;
|
|
|
84851
84861
|
exports.tokenColors = tokenColors;
|
|
84852
84862
|
exports.tokenize = tokenize;
|
|
84853
84863
|
|
|
84854
|
-
__info__.version = "19.3.
|
|
84855
|
-
__info__.date = "2026-07-
|
|
84856
|
-
__info__.hash = "
|
|
84864
|
+
__info__.version = "19.3.14";
|
|
84865
|
+
__info__.date = "2026-07-30T06:55:43.749Z";
|
|
84866
|
+
__info__.hash = "3dd5632";
|
package/dist/o_spreadsheet.css
CHANGED
|
@@ -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.3.
|
|
6
|
-
* @date 2026-07-
|
|
7
|
-
* @hash
|
|
5
|
+
* @version 19.3.14
|
|
6
|
+
* @date 2026-07-30T06:55:45.398Z
|
|
7
|
+
* @hash 3dd5632
|
|
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.3.
|
|
6
|
-
* @date 2026-07-
|
|
7
|
-
* @hash
|
|
5
|
+
* @version 19.3.14
|
|
6
|
+
* @date 2026-07-30T06:55:43.749Z
|
|
7
|
+
* @hash 3dd5632
|
|
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";
|
|
@@ -10251,7 +10251,7 @@ function getCalendarChartDatasetAndLabels(definition, args) {
|
|
|
10251
10251
|
borderWidth: 1,
|
|
10252
10252
|
barPercentage: 1,
|
|
10253
10253
|
categoryPercentage: 1,
|
|
10254
|
-
values: dataSetValues.data.map((cell) => isNumberResult(cell) ? cell.value :
|
|
10254
|
+
values: dataSetValues.data.map((cell) => isNumberResult(cell) ? cell.value : void 0)
|
|
10255
10255
|
});
|
|
10256
10256
|
return {
|
|
10257
10257
|
labels,
|
|
@@ -11821,6 +11821,19 @@ function isOtherMobileOS() {
|
|
|
11821
11821
|
function isMobileOS() {
|
|
11822
11822
|
return isAndroid() || isIOS() || isOtherMobileOS();
|
|
11823
11823
|
}
|
|
11824
|
+
const INTERACTIVE_ELEMENT_SELECTOR = "select, input, textarea, button, .o-select, .os-input, .o-input, .o-button, .o-button-icon, .o-button-link, .o-composer";
|
|
11825
|
+
/** Check if there is an interactive element (input, select, button, ...) between the event.target and event.currentTarget (inclusive)*/
|
|
11826
|
+
function hasInteractiveElementInEventTree(event) {
|
|
11827
|
+
const target = event.target;
|
|
11828
|
+
const root = event.currentTarget;
|
|
11829
|
+
if (!root || !target || !root.contains(target)) return false;
|
|
11830
|
+
let node = target;
|
|
11831
|
+
while (node && node !== root) {
|
|
11832
|
+
if (node.matches(INTERACTIVE_ELEMENT_SELECTOR)) return true;
|
|
11833
|
+
node = node.parentElement;
|
|
11834
|
+
}
|
|
11835
|
+
return root.matches(INTERACTIVE_ELEMENT_SELECTOR);
|
|
11836
|
+
}
|
|
11824
11837
|
|
|
11825
11838
|
//#endregion
|
|
11826
11839
|
//#region src/components/helpers/zoom.ts
|
|
@@ -38040,13 +38053,9 @@ var PivotLayoutConfigurator = class extends Component {
|
|
|
38040
38053
|
dimensionsRef = useRef("pivot-dimensions");
|
|
38041
38054
|
dragAndDrop = useDragAndDropListItems();
|
|
38042
38055
|
AGGREGATORS = AGGREGATORS;
|
|
38043
|
-
composerFocus;
|
|
38044
38056
|
isDateOrDatetimeField = isDateOrDatetimeField;
|
|
38045
|
-
setup() {
|
|
38046
|
-
this.composerFocus = useStore(ComposerFocusStore);
|
|
38047
|
-
}
|
|
38048
38057
|
startDragAndDrop(dimension, event) {
|
|
38049
|
-
if (event.button !== 0 || event
|
|
38058
|
+
if (event.button !== 0 || hasInteractiveElementInEventTree(event)) return;
|
|
38050
38059
|
const rects = this.getDimensionElementsRects();
|
|
38051
38060
|
const { columns, rows } = this.props.definition;
|
|
38052
38061
|
const draggableIds = [
|
|
@@ -38086,7 +38095,7 @@ var PivotLayoutConfigurator = class extends Component {
|
|
|
38086
38095
|
return field.type === "date" ? this.props.dateGranularities : this.props.datetimeGranularities;
|
|
38087
38096
|
}
|
|
38088
38097
|
startDragAndDropMeasures(measure, event) {
|
|
38089
|
-
if (event.button !== 0 || event
|
|
38098
|
+
if (event.button !== 0 || hasInteractiveElementInEventTree(event)) return;
|
|
38090
38099
|
const rects = this.getDimensionElementsRects();
|
|
38091
38100
|
const { measures, columns, rows } = this.props.definition;
|
|
38092
38101
|
const draggableIds = measures.map((m) => m.id);
|
|
@@ -62380,7 +62389,7 @@ var SheetUIPlugin = class extends UIPlugin {
|
|
|
62380
62389
|
if (contentWidth === 0) return 0;
|
|
62381
62390
|
contentWidth += 2 * 4;
|
|
62382
62391
|
if (style.wrapping === "wrap") {
|
|
62383
|
-
const colWidth = this.getters.getColSize(
|
|
62392
|
+
const colWidth = this.getters.getColSize(position.sheetId, position.col);
|
|
62384
62393
|
return Math.min(colWidth, contentWidth);
|
|
62385
62394
|
}
|
|
62386
62395
|
return contentWidth;
|
|
@@ -68067,6 +68076,7 @@ var SpreadsheetDashboard = class extends Component {
|
|
|
68067
68076
|
return toRaw(this.clickableCellsStore.clickableCells);
|
|
68068
68077
|
}
|
|
68069
68078
|
selectClickableCell(ev, clickableCell) {
|
|
68079
|
+
if (![0, 1].includes(ev.button)) return;
|
|
68070
68080
|
const { position, action } = clickableCell;
|
|
68071
68081
|
action(position, this.env, isMiddleClickOrCtrlClick(ev));
|
|
68072
68082
|
}
|
|
@@ -84608,6 +84618,6 @@ const chartHelpers = {
|
|
|
84608
84618
|
//#endregion
|
|
84609
84619
|
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 };
|
|
84610
84620
|
|
|
84611
|
-
__info__.version = "19.3.
|
|
84612
|
-
__info__.date = "2026-07-
|
|
84613
|
-
__info__.hash = "
|
|
84621
|
+
__info__.version = "19.3.14";
|
|
84622
|
+
__info__.date = "2026-07-30T06:55:43.749Z";
|
|
84623
|
+
__info__.hash = "3dd5632";
|
|
@@ -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.3.
|
|
6
|
-
* @date 2026-07-
|
|
7
|
-
* @hash
|
|
5
|
+
* @version 19.3.14
|
|
6
|
+
* @date 2026-07-30T06:55:43.749Z
|
|
7
|
+
* @hash 3dd5632
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
(function(exports, _odoo_owl) {
|
|
@@ -10253,7 +10253,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
10253
10253
|
borderWidth: 1,
|
|
10254
10254
|
barPercentage: 1,
|
|
10255
10255
|
categoryPercentage: 1,
|
|
10256
|
-
values: dataSetValues.data.map((cell) => isNumberResult(cell) ? cell.value :
|
|
10256
|
+
values: dataSetValues.data.map((cell) => isNumberResult(cell) ? cell.value : void 0)
|
|
10257
10257
|
});
|
|
10258
10258
|
return {
|
|
10259
10259
|
labels,
|
|
@@ -11823,6 +11823,19 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
11823
11823
|
function isMobileOS() {
|
|
11824
11824
|
return isAndroid() || isIOS() || isOtherMobileOS();
|
|
11825
11825
|
}
|
|
11826
|
+
const INTERACTIVE_ELEMENT_SELECTOR = "select, input, textarea, button, .o-select, .os-input, .o-input, .o-button, .o-button-icon, .o-button-link, .o-composer";
|
|
11827
|
+
/** Check if there is an interactive element (input, select, button, ...) between the event.target and event.currentTarget (inclusive)*/
|
|
11828
|
+
function hasInteractiveElementInEventTree(event) {
|
|
11829
|
+
const target = event.target;
|
|
11830
|
+
const root = event.currentTarget;
|
|
11831
|
+
if (!root || !target || !root.contains(target)) return false;
|
|
11832
|
+
let node = target;
|
|
11833
|
+
while (node && node !== root) {
|
|
11834
|
+
if (node.matches(INTERACTIVE_ELEMENT_SELECTOR)) return true;
|
|
11835
|
+
node = node.parentElement;
|
|
11836
|
+
}
|
|
11837
|
+
return root.matches(INTERACTIVE_ELEMENT_SELECTOR);
|
|
11838
|
+
}
|
|
11826
11839
|
|
|
11827
11840
|
//#endregion
|
|
11828
11841
|
//#region src/components/helpers/zoom.ts
|
|
@@ -38042,13 +38055,9 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
38042
38055
|
dimensionsRef = (0, _odoo_owl.useRef)("pivot-dimensions");
|
|
38043
38056
|
dragAndDrop = useDragAndDropListItems();
|
|
38044
38057
|
AGGREGATORS = AGGREGATORS;
|
|
38045
|
-
composerFocus;
|
|
38046
38058
|
isDateOrDatetimeField = isDateOrDatetimeField;
|
|
38047
|
-
setup() {
|
|
38048
|
-
this.composerFocus = useStore(ComposerFocusStore);
|
|
38049
|
-
}
|
|
38050
38059
|
startDragAndDrop(dimension, event) {
|
|
38051
|
-
if (event.button !== 0 || event
|
|
38060
|
+
if (event.button !== 0 || hasInteractiveElementInEventTree(event)) return;
|
|
38052
38061
|
const rects = this.getDimensionElementsRects();
|
|
38053
38062
|
const { columns, rows } = this.props.definition;
|
|
38054
38063
|
const draggableIds = [
|
|
@@ -38088,7 +38097,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
38088
38097
|
return field.type === "date" ? this.props.dateGranularities : this.props.datetimeGranularities;
|
|
38089
38098
|
}
|
|
38090
38099
|
startDragAndDropMeasures(measure, event) {
|
|
38091
|
-
if (event.button !== 0 || event
|
|
38100
|
+
if (event.button !== 0 || hasInteractiveElementInEventTree(event)) return;
|
|
38092
38101
|
const rects = this.getDimensionElementsRects();
|
|
38093
38102
|
const { measures, columns, rows } = this.props.definition;
|
|
38094
38103
|
const draggableIds = measures.map((m) => m.id);
|
|
@@ -62382,7 +62391,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
62382
62391
|
if (contentWidth === 0) return 0;
|
|
62383
62392
|
contentWidth += 2 * 4;
|
|
62384
62393
|
if (style.wrapping === "wrap") {
|
|
62385
|
-
const colWidth = this.getters.getColSize(
|
|
62394
|
+
const colWidth = this.getters.getColSize(position.sheetId, position.col);
|
|
62386
62395
|
return Math.min(colWidth, contentWidth);
|
|
62387
62396
|
}
|
|
62388
62397
|
return contentWidth;
|
|
@@ -68069,6 +68078,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
68069
68078
|
return (0, _odoo_owl.toRaw)(this.clickableCellsStore.clickableCells);
|
|
68070
68079
|
}
|
|
68071
68080
|
selectClickableCell(ev, clickableCell) {
|
|
68081
|
+
if (![0, 1].includes(ev.button)) return;
|
|
68072
68082
|
const { position, action } = clickableCell;
|
|
68073
68083
|
action(position, this.env, isMiddleClickOrCtrlClick(ev));
|
|
68074
68084
|
}
|
|
@@ -84668,8 +84678,8 @@ exports.stores = stores;
|
|
|
84668
84678
|
exports.tokenColors = tokenColors;
|
|
84669
84679
|
exports.tokenize = tokenize;
|
|
84670
84680
|
|
|
84671
|
-
__info__.version = "19.3.
|
|
84672
|
-
__info__.date = "2026-07-
|
|
84673
|
-
__info__.hash = "
|
|
84681
|
+
__info__.version = "19.3.14";
|
|
84682
|
+
__info__.date = "2026-07-30T06:55:43.749Z";
|
|
84683
|
+
__info__.hash = "3dd5632";
|
|
84674
84684
|
|
|
84675
84685
|
})(this.o_spreadsheet = this.o_spreadsheet || {}, owl);
|