@odoo/o-spreadsheet 18.3.22 → 18.3.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.
- package/dist/o-spreadsheet.cjs.js +17 -17
- package/dist/o-spreadsheet.esm.js +17 -17
- package/dist/o-spreadsheet.iife.js +17 -17
- package/dist/o-spreadsheet.iife.min.js +4 -4
- package/dist/o_spreadsheet.xml +4 -3
- package/package.json +1 -1
|
@@ -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.3.
|
|
6
|
-
* @date 2025-
|
|
7
|
-
* @hash
|
|
5
|
+
* @version 18.3.23
|
|
6
|
+
* @date 2025-10-07T10:00:57.144Z
|
|
7
|
+
* @hash b4764cb
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
'use strict';
|
|
@@ -879,9 +879,7 @@ function removeIndexesFromArray(array, indexes) {
|
|
|
879
879
|
return newArray;
|
|
880
880
|
}
|
|
881
881
|
function insertItemsAtIndex(array, items, index) {
|
|
882
|
-
|
|
883
|
-
newArray.splice(index, 0, ...items);
|
|
884
|
-
return newArray;
|
|
882
|
+
return array.slice(0, index).concat(items).concat(array.slice(index));
|
|
885
883
|
}
|
|
886
884
|
function replaceItemAtIndex(array, newItem, index) {
|
|
887
885
|
const newArray = [...array];
|
|
@@ -5145,7 +5143,7 @@ function tokensToTextInternalFormat(tokens) {
|
|
|
5145
5143
|
* Replace in place tokens "mm" and "m" that denote minutes in date format with "MM" to avoid confusion with months.
|
|
5146
5144
|
*
|
|
5147
5145
|
* As per OpenXML specification, in date formats if a date token "m" or "mm" is followed by a date token "s" or
|
|
5148
|
-
* preceded by a data token "h", then it's not a month but
|
|
5146
|
+
* preceded by a data token "h", then it's not a month but a minute.
|
|
5149
5147
|
*/
|
|
5150
5148
|
function convertTokensToMinutesInDateFormat(tokens) {
|
|
5151
5149
|
const dateParts = tokens.filter((token) => token.type === "DATE_PART");
|
|
@@ -5188,6 +5186,9 @@ function internalFormatPartToFormat(internalFormat) {
|
|
|
5188
5186
|
case "REPEATED_CHAR":
|
|
5189
5187
|
format += "*" + token.value;
|
|
5190
5188
|
break;
|
|
5189
|
+
case "DATE_PART":
|
|
5190
|
+
format += token.value === "MM" ? "mm" : token.value; // Convert "MM" back to "mm" for minutes
|
|
5191
|
+
break;
|
|
5191
5192
|
default:
|
|
5192
5193
|
format += token.value;
|
|
5193
5194
|
}
|
|
@@ -48633,7 +48634,7 @@ class PivotMeasureEditor extends owl.Component {
|
|
|
48633
48634
|
return undefined;
|
|
48634
48635
|
}
|
|
48635
48636
|
get isCalculatedMeasureInvalid() {
|
|
48636
|
-
return
|
|
48637
|
+
return compile(this.props.measure.computedBy?.formula ?? "").isBadExpression;
|
|
48637
48638
|
}
|
|
48638
48639
|
}
|
|
48639
48640
|
|
|
@@ -59765,7 +59766,7 @@ class HeaderSizePlugin extends CorePlugin {
|
|
|
59765
59766
|
let sizes = [...this.sizes[cmd.sheetId][cmd.dimension]];
|
|
59766
59767
|
const addIndex = getAddHeaderStartIndex(cmd.position, cmd.base);
|
|
59767
59768
|
const baseSize = sizes[cmd.base];
|
|
59768
|
-
sizes
|
|
59769
|
+
sizes = insertItemsAtIndex(sizes, Array(cmd.quantity).fill(baseSize), addIndex);
|
|
59769
59770
|
this.history.update("sizes", cmd.sheetId, cmd.dimension, sizes);
|
|
59770
59771
|
break;
|
|
59771
59772
|
}
|
|
@@ -59917,9 +59918,8 @@ class HeaderVisibilityPlugin extends CorePlugin {
|
|
|
59917
59918
|
break;
|
|
59918
59919
|
}
|
|
59919
59920
|
case "ADD_COLUMNS_ROWS": {
|
|
59920
|
-
const hiddenHeaders = [...this.hiddenHeaders[cmd.sheetId][cmd.dimension]];
|
|
59921
59921
|
const addIndex = getAddHeaderStartIndex(cmd.position, cmd.base);
|
|
59922
|
-
hiddenHeaders.
|
|
59922
|
+
const hiddenHeaders = insertItemsAtIndex([...this.hiddenHeaders[cmd.sheetId][cmd.dimension]], Array(cmd.quantity).fill(false), addIndex);
|
|
59923
59923
|
this.history.update("hiddenHeaders", cmd.sheetId, cmd.dimension, hiddenHeaders);
|
|
59924
59924
|
break;
|
|
59925
59925
|
}
|
|
@@ -63983,12 +63983,12 @@ class SpreadsheetRTree {
|
|
|
63983
63983
|
this.rTrees[sheetId].remove(item, this.rtreeItemComparer);
|
|
63984
63984
|
}
|
|
63985
63985
|
rtreeItemComparer(left, right) {
|
|
63986
|
-
return (left.
|
|
63987
|
-
left.boundingBox.sheetId === right.boundingBox.sheetId &&
|
|
63986
|
+
return (left.boundingBox.sheetId === right.boundingBox.sheetId &&
|
|
63988
63987
|
left.boundingBox?.zone.left === right.boundingBox.zone.left &&
|
|
63989
63988
|
left.boundingBox?.zone.top === right.boundingBox.zone.top &&
|
|
63990
63989
|
left.boundingBox?.zone.right === right.boundingBox.zone.right &&
|
|
63991
|
-
left.boundingBox?.zone.bottom === right.boundingBox.zone.bottom
|
|
63990
|
+
left.boundingBox?.zone.bottom === right.boundingBox.zone.bottom &&
|
|
63991
|
+
deepEquals(left.data, right.data));
|
|
63992
63992
|
}
|
|
63993
63993
|
}
|
|
63994
63994
|
/**
|
|
@@ -81034,6 +81034,6 @@ exports.tokenColors = tokenColors;
|
|
|
81034
81034
|
exports.tokenize = tokenize;
|
|
81035
81035
|
|
|
81036
81036
|
|
|
81037
|
-
__info__.version = "18.3.
|
|
81038
|
-
__info__.date = "2025-
|
|
81039
|
-
__info__.hash = "
|
|
81037
|
+
__info__.version = "18.3.23";
|
|
81038
|
+
__info__.date = "2025-10-07T10:00:57.144Z";
|
|
81039
|
+
__info__.hash = "b4764cb";
|
|
@@ -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.3.
|
|
6
|
-
* @date 2025-
|
|
7
|
-
* @hash
|
|
5
|
+
* @version 18.3.23
|
|
6
|
+
* @date 2025-10-07T10:00:57.144Z
|
|
7
|
+
* @hash b4764cb
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
import { useEnv, useSubEnv, onWillUnmount, useComponent, status, Component, useRef, onMounted, useEffect, App, blockDom, useState, onPatched, onWillPatch, onWillUpdateProps, useExternalListener, onWillStart, xml, useChildSubEnv, markRaw, toRaw } from '@odoo/owl';
|
|
@@ -877,9 +877,7 @@ function removeIndexesFromArray(array, indexes) {
|
|
|
877
877
|
return newArray;
|
|
878
878
|
}
|
|
879
879
|
function insertItemsAtIndex(array, items, index) {
|
|
880
|
-
|
|
881
|
-
newArray.splice(index, 0, ...items);
|
|
882
|
-
return newArray;
|
|
880
|
+
return array.slice(0, index).concat(items).concat(array.slice(index));
|
|
883
881
|
}
|
|
884
882
|
function replaceItemAtIndex(array, newItem, index) {
|
|
885
883
|
const newArray = [...array];
|
|
@@ -5143,7 +5141,7 @@ function tokensToTextInternalFormat(tokens) {
|
|
|
5143
5141
|
* Replace in place tokens "mm" and "m" that denote minutes in date format with "MM" to avoid confusion with months.
|
|
5144
5142
|
*
|
|
5145
5143
|
* As per OpenXML specification, in date formats if a date token "m" or "mm" is followed by a date token "s" or
|
|
5146
|
-
* preceded by a data token "h", then it's not a month but
|
|
5144
|
+
* preceded by a data token "h", then it's not a month but a minute.
|
|
5147
5145
|
*/
|
|
5148
5146
|
function convertTokensToMinutesInDateFormat(tokens) {
|
|
5149
5147
|
const dateParts = tokens.filter((token) => token.type === "DATE_PART");
|
|
@@ -5186,6 +5184,9 @@ function internalFormatPartToFormat(internalFormat) {
|
|
|
5186
5184
|
case "REPEATED_CHAR":
|
|
5187
5185
|
format += "*" + token.value;
|
|
5188
5186
|
break;
|
|
5187
|
+
case "DATE_PART":
|
|
5188
|
+
format += token.value === "MM" ? "mm" : token.value; // Convert "MM" back to "mm" for minutes
|
|
5189
|
+
break;
|
|
5189
5190
|
default:
|
|
5190
5191
|
format += token.value;
|
|
5191
5192
|
}
|
|
@@ -48631,7 +48632,7 @@ class PivotMeasureEditor extends Component {
|
|
|
48631
48632
|
return undefined;
|
|
48632
48633
|
}
|
|
48633
48634
|
get isCalculatedMeasureInvalid() {
|
|
48634
|
-
return
|
|
48635
|
+
return compile(this.props.measure.computedBy?.formula ?? "").isBadExpression;
|
|
48635
48636
|
}
|
|
48636
48637
|
}
|
|
48637
48638
|
|
|
@@ -59763,7 +59764,7 @@ class HeaderSizePlugin extends CorePlugin {
|
|
|
59763
59764
|
let sizes = [...this.sizes[cmd.sheetId][cmd.dimension]];
|
|
59764
59765
|
const addIndex = getAddHeaderStartIndex(cmd.position, cmd.base);
|
|
59765
59766
|
const baseSize = sizes[cmd.base];
|
|
59766
|
-
sizes
|
|
59767
|
+
sizes = insertItemsAtIndex(sizes, Array(cmd.quantity).fill(baseSize), addIndex);
|
|
59767
59768
|
this.history.update("sizes", cmd.sheetId, cmd.dimension, sizes);
|
|
59768
59769
|
break;
|
|
59769
59770
|
}
|
|
@@ -59915,9 +59916,8 @@ class HeaderVisibilityPlugin extends CorePlugin {
|
|
|
59915
59916
|
break;
|
|
59916
59917
|
}
|
|
59917
59918
|
case "ADD_COLUMNS_ROWS": {
|
|
59918
|
-
const hiddenHeaders = [...this.hiddenHeaders[cmd.sheetId][cmd.dimension]];
|
|
59919
59919
|
const addIndex = getAddHeaderStartIndex(cmd.position, cmd.base);
|
|
59920
|
-
hiddenHeaders.
|
|
59920
|
+
const hiddenHeaders = insertItemsAtIndex([...this.hiddenHeaders[cmd.sheetId][cmd.dimension]], Array(cmd.quantity).fill(false), addIndex);
|
|
59921
59921
|
this.history.update("hiddenHeaders", cmd.sheetId, cmd.dimension, hiddenHeaders);
|
|
59922
59922
|
break;
|
|
59923
59923
|
}
|
|
@@ -63981,12 +63981,12 @@ class SpreadsheetRTree {
|
|
|
63981
63981
|
this.rTrees[sheetId].remove(item, this.rtreeItemComparer);
|
|
63982
63982
|
}
|
|
63983
63983
|
rtreeItemComparer(left, right) {
|
|
63984
|
-
return (left.
|
|
63985
|
-
left.boundingBox.sheetId === right.boundingBox.sheetId &&
|
|
63984
|
+
return (left.boundingBox.sheetId === right.boundingBox.sheetId &&
|
|
63986
63985
|
left.boundingBox?.zone.left === right.boundingBox.zone.left &&
|
|
63987
63986
|
left.boundingBox?.zone.top === right.boundingBox.zone.top &&
|
|
63988
63987
|
left.boundingBox?.zone.right === right.boundingBox.zone.right &&
|
|
63989
|
-
left.boundingBox?.zone.bottom === right.boundingBox.zone.bottom
|
|
63988
|
+
left.boundingBox?.zone.bottom === right.boundingBox.zone.bottom &&
|
|
63989
|
+
deepEquals(left.data, right.data));
|
|
63990
63990
|
}
|
|
63991
63991
|
}
|
|
63992
63992
|
/**
|
|
@@ -80986,6 +80986,6 @@ const chartHelpers = { ...CHART_HELPERS, ...CHART_RUNTIME_HELPERS };
|
|
|
80986
80986
|
export { AbstractCellClipboardHandler, AbstractChart, AbstractFigureClipboardHandler, CellErrorType, CommandResult, CorePlugin, CoreViewPlugin, DispatchResult, EvaluationError, 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 };
|
|
80987
80987
|
|
|
80988
80988
|
|
|
80989
|
-
__info__.version = "18.3.
|
|
80990
|
-
__info__.date = "2025-
|
|
80991
|
-
__info__.hash = "
|
|
80989
|
+
__info__.version = "18.3.23";
|
|
80990
|
+
__info__.date = "2025-10-07T10:00:57.144Z";
|
|
80991
|
+
__info__.hash = "b4764cb";
|
|
@@ -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.3.
|
|
6
|
-
* @date 2025-
|
|
7
|
-
* @hash
|
|
5
|
+
* @version 18.3.23
|
|
6
|
+
* @date 2025-10-07T10:00:57.144Z
|
|
7
|
+
* @hash b4764cb
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
(function (exports, owl) {
|
|
@@ -878,9 +878,7 @@
|
|
|
878
878
|
return newArray;
|
|
879
879
|
}
|
|
880
880
|
function insertItemsAtIndex(array, items, index) {
|
|
881
|
-
|
|
882
|
-
newArray.splice(index, 0, ...items);
|
|
883
|
-
return newArray;
|
|
881
|
+
return array.slice(0, index).concat(items).concat(array.slice(index));
|
|
884
882
|
}
|
|
885
883
|
function replaceItemAtIndex(array, newItem, index) {
|
|
886
884
|
const newArray = [...array];
|
|
@@ -5144,7 +5142,7 @@
|
|
|
5144
5142
|
* Replace in place tokens "mm" and "m" that denote minutes in date format with "MM" to avoid confusion with months.
|
|
5145
5143
|
*
|
|
5146
5144
|
* As per OpenXML specification, in date formats if a date token "m" or "mm" is followed by a date token "s" or
|
|
5147
|
-
* preceded by a data token "h", then it's not a month but
|
|
5145
|
+
* preceded by a data token "h", then it's not a month but a minute.
|
|
5148
5146
|
*/
|
|
5149
5147
|
function convertTokensToMinutesInDateFormat(tokens) {
|
|
5150
5148
|
const dateParts = tokens.filter((token) => token.type === "DATE_PART");
|
|
@@ -5187,6 +5185,9 @@
|
|
|
5187
5185
|
case "REPEATED_CHAR":
|
|
5188
5186
|
format += "*" + token.value;
|
|
5189
5187
|
break;
|
|
5188
|
+
case "DATE_PART":
|
|
5189
|
+
format += token.value === "MM" ? "mm" : token.value; // Convert "MM" back to "mm" for minutes
|
|
5190
|
+
break;
|
|
5190
5191
|
default:
|
|
5191
5192
|
format += token.value;
|
|
5192
5193
|
}
|
|
@@ -48632,7 +48633,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
48632
48633
|
return undefined;
|
|
48633
48634
|
}
|
|
48634
48635
|
get isCalculatedMeasureInvalid() {
|
|
48635
|
-
return
|
|
48636
|
+
return compile(this.props.measure.computedBy?.formula ?? "").isBadExpression;
|
|
48636
48637
|
}
|
|
48637
48638
|
}
|
|
48638
48639
|
|
|
@@ -59764,7 +59765,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
59764
59765
|
let sizes = [...this.sizes[cmd.sheetId][cmd.dimension]];
|
|
59765
59766
|
const addIndex = getAddHeaderStartIndex(cmd.position, cmd.base);
|
|
59766
59767
|
const baseSize = sizes[cmd.base];
|
|
59767
|
-
sizes
|
|
59768
|
+
sizes = insertItemsAtIndex(sizes, Array(cmd.quantity).fill(baseSize), addIndex);
|
|
59768
59769
|
this.history.update("sizes", cmd.sheetId, cmd.dimension, sizes);
|
|
59769
59770
|
break;
|
|
59770
59771
|
}
|
|
@@ -59916,9 +59917,8 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
59916
59917
|
break;
|
|
59917
59918
|
}
|
|
59918
59919
|
case "ADD_COLUMNS_ROWS": {
|
|
59919
|
-
const hiddenHeaders = [...this.hiddenHeaders[cmd.sheetId][cmd.dimension]];
|
|
59920
59920
|
const addIndex = getAddHeaderStartIndex(cmd.position, cmd.base);
|
|
59921
|
-
hiddenHeaders.
|
|
59921
|
+
const hiddenHeaders = insertItemsAtIndex([...this.hiddenHeaders[cmd.sheetId][cmd.dimension]], Array(cmd.quantity).fill(false), addIndex);
|
|
59922
59922
|
this.history.update("hiddenHeaders", cmd.sheetId, cmd.dimension, hiddenHeaders);
|
|
59923
59923
|
break;
|
|
59924
59924
|
}
|
|
@@ -63982,12 +63982,12 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
63982
63982
|
this.rTrees[sheetId].remove(item, this.rtreeItemComparer);
|
|
63983
63983
|
}
|
|
63984
63984
|
rtreeItemComparer(left, right) {
|
|
63985
|
-
return (left.
|
|
63986
|
-
left.boundingBox.sheetId === right.boundingBox.sheetId &&
|
|
63985
|
+
return (left.boundingBox.sheetId === right.boundingBox.sheetId &&
|
|
63987
63986
|
left.boundingBox?.zone.left === right.boundingBox.zone.left &&
|
|
63988
63987
|
left.boundingBox?.zone.top === right.boundingBox.zone.top &&
|
|
63989
63988
|
left.boundingBox?.zone.right === right.boundingBox.zone.right &&
|
|
63990
|
-
left.boundingBox?.zone.bottom === right.boundingBox.zone.bottom
|
|
63989
|
+
left.boundingBox?.zone.bottom === right.boundingBox.zone.bottom &&
|
|
63990
|
+
deepEquals(left.data, right.data));
|
|
63991
63991
|
}
|
|
63992
63992
|
}
|
|
63993
63993
|
/**
|
|
@@ -81033,9 +81033,9 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
81033
81033
|
exports.tokenize = tokenize;
|
|
81034
81034
|
|
|
81035
81035
|
|
|
81036
|
-
__info__.version = "18.3.
|
|
81037
|
-
__info__.date = "2025-
|
|
81038
|
-
__info__.hash = "
|
|
81036
|
+
__info__.version = "18.3.23";
|
|
81037
|
+
__info__.date = "2025-10-07T10:00:57.144Z";
|
|
81038
|
+
__info__.hash = "b4764cb";
|
|
81039
81039
|
|
|
81040
81040
|
|
|
81041
81041
|
})(this.o_spreadsheet = this.o_spreadsheet || {}, owl);
|