@odoo/o-spreadsheet 16.3.34 → 16.3.36
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 +22 -12
- package/dist/o-spreadsheet.esm.js +22 -12
- package/dist/o-spreadsheet.iife.js +22 -12
- package/dist/o-spreadsheet.iife.min.js +5 -5
- package/dist/o_spreadsheet.xml +3 -3
- package/package.json +1 -1
|
@@ -21088,7 +21088,7 @@ class Composer extends owl.Component {
|
|
|
21088
21088
|
Enter: this.processEnterKey,
|
|
21089
21089
|
Escape: this.processEscapeKey,
|
|
21090
21090
|
F2: () => console.warn("Not implemented"),
|
|
21091
|
-
F4: this.processF4Key,
|
|
21091
|
+
F4: (ev) => this.processF4Key(ev),
|
|
21092
21092
|
Tab: (ev) => this.processTabKey(ev),
|
|
21093
21093
|
};
|
|
21094
21094
|
setup() {
|
|
@@ -21205,9 +21205,10 @@ class Composer extends owl.Component {
|
|
|
21205
21205
|
processEscapeKey() {
|
|
21206
21206
|
this.env.model.dispatch("STOP_EDITION", { cancel: true });
|
|
21207
21207
|
}
|
|
21208
|
-
processF4Key() {
|
|
21208
|
+
processF4Key(ev) {
|
|
21209
21209
|
this.env.model.dispatch("CYCLE_EDITION_REFERENCES");
|
|
21210
21210
|
this.processContent();
|
|
21211
|
+
ev.stopPropagation();
|
|
21211
21212
|
}
|
|
21212
21213
|
onCompositionStart() {
|
|
21213
21214
|
this.compositionActive = true;
|
|
@@ -25962,7 +25963,7 @@ const machine = {
|
|
|
25962
25963
|
function matchReference(tokens) {
|
|
25963
25964
|
let head = 0;
|
|
25964
25965
|
let transitions = machine[State.LeftRef];
|
|
25965
|
-
|
|
25966
|
+
let matchedTokens = "";
|
|
25966
25967
|
while (transitions !== undefined) {
|
|
25967
25968
|
const token = tokens[head++];
|
|
25968
25969
|
if (!token) {
|
|
@@ -25974,15 +25975,15 @@ function matchReference(tokens) {
|
|
|
25974
25975
|
case undefined:
|
|
25975
25976
|
return null;
|
|
25976
25977
|
case State.Found:
|
|
25977
|
-
matchedTokens.
|
|
25978
|
+
matchedTokens += token.value;
|
|
25978
25979
|
tokens.splice(0, head);
|
|
25979
25980
|
return {
|
|
25980
25981
|
type: "REFERENCE",
|
|
25981
|
-
value:
|
|
25982
|
+
value: matchedTokens,
|
|
25982
25983
|
};
|
|
25983
25984
|
default:
|
|
25984
25985
|
transitions = machine[nextState];
|
|
25985
|
-
matchedTokens.
|
|
25986
|
+
matchedTokens += token.value;
|
|
25986
25987
|
break;
|
|
25987
25988
|
}
|
|
25988
25989
|
}
|
|
@@ -31898,7 +31899,12 @@ class MergePlugin extends CorePlugin {
|
|
|
31898
31899
|
* if they have at least a common cell
|
|
31899
31900
|
*/
|
|
31900
31901
|
doesIntersectMerge(sheetId, zone) {
|
|
31901
|
-
|
|
31902
|
+
for (const merge of this.getMerges(sheetId)) {
|
|
31903
|
+
if (overlap(zone, merge)) {
|
|
31904
|
+
return true;
|
|
31905
|
+
}
|
|
31906
|
+
}
|
|
31907
|
+
return false;
|
|
31902
31908
|
}
|
|
31903
31909
|
/**
|
|
31904
31910
|
* Returns true if two columns have at least one merge in common
|
|
@@ -40608,7 +40614,7 @@ class ClipboardPlugin extends UIPlugin {
|
|
|
40608
40614
|
case "ADD_COLUMNS_ROWS": {
|
|
40609
40615
|
this.status = "invisible";
|
|
40610
40616
|
// If we add a col/row inside or before the cut area, we invalidate the clipboard
|
|
40611
|
-
if (this.state?.operation !== "CUT") {
|
|
40617
|
+
if (this.state?.operation !== "CUT" || cmd.sheetId !== this.state?.sheetId) {
|
|
40612
40618
|
return;
|
|
40613
40619
|
}
|
|
40614
40620
|
const isClipboardDirty = this.state.isColRowDirtyingClipboard(cmd.position === "before" ? cmd.base : cmd.base + 1, cmd.dimension);
|
|
@@ -40620,7 +40626,7 @@ class ClipboardPlugin extends UIPlugin {
|
|
|
40620
40626
|
case "REMOVE_COLUMNS_ROWS": {
|
|
40621
40627
|
this.status = "invisible";
|
|
40622
40628
|
// If we remove a col/row inside or before the cut area, we invalidate the clipboard
|
|
40623
|
-
if (this.state?.operation !== "CUT") {
|
|
40629
|
+
if (this.state?.operation !== "CUT" || cmd.sheetId !== this.state?.sheetId) {
|
|
40624
40630
|
return;
|
|
40625
40631
|
}
|
|
40626
40632
|
for (let el of cmd.elements) {
|
|
@@ -44270,6 +44276,10 @@ class Spreadsheet extends owl.Component {
|
|
|
44270
44276
|
});
|
|
44271
44277
|
owl.useExternalListener(window, "resize", () => this.render(true));
|
|
44272
44278
|
owl.useExternalListener(window, "beforeunload", this.unbindModelEvents.bind(this));
|
|
44279
|
+
// For some reason, the wheel event is not properly registered inside templates
|
|
44280
|
+
// in Chromium-based browsers based on chromium 125
|
|
44281
|
+
// This hack ensures the event declared in the template is properly registered/working
|
|
44282
|
+
owl.useExternalListener(document.body, "wheel", () => { });
|
|
44273
44283
|
this.bindModelEvents();
|
|
44274
44284
|
owl.onMounted(() => {
|
|
44275
44285
|
this.checkViewportSize();
|
|
@@ -48093,6 +48103,6 @@ exports.setTranslationMethod = setTranslationMethod;
|
|
|
48093
48103
|
exports.tokenize = tokenize;
|
|
48094
48104
|
|
|
48095
48105
|
|
|
48096
|
-
__info__.version = '16.3.
|
|
48097
|
-
__info__.date = '2024-
|
|
48098
|
-
__info__.hash = '
|
|
48106
|
+
__info__.version = '16.3.36';
|
|
48107
|
+
__info__.date = '2024-05-24T11:25:00.243Z';
|
|
48108
|
+
__info__.hash = 'b038fad';
|
|
@@ -21084,7 +21084,7 @@ class Composer extends Component {
|
|
|
21084
21084
|
Enter: this.processEnterKey,
|
|
21085
21085
|
Escape: this.processEscapeKey,
|
|
21086
21086
|
F2: () => console.warn("Not implemented"),
|
|
21087
|
-
F4: this.processF4Key,
|
|
21087
|
+
F4: (ev) => this.processF4Key(ev),
|
|
21088
21088
|
Tab: (ev) => this.processTabKey(ev),
|
|
21089
21089
|
};
|
|
21090
21090
|
setup() {
|
|
@@ -21201,9 +21201,10 @@ class Composer extends Component {
|
|
|
21201
21201
|
processEscapeKey() {
|
|
21202
21202
|
this.env.model.dispatch("STOP_EDITION", { cancel: true });
|
|
21203
21203
|
}
|
|
21204
|
-
processF4Key() {
|
|
21204
|
+
processF4Key(ev) {
|
|
21205
21205
|
this.env.model.dispatch("CYCLE_EDITION_REFERENCES");
|
|
21206
21206
|
this.processContent();
|
|
21207
|
+
ev.stopPropagation();
|
|
21207
21208
|
}
|
|
21208
21209
|
onCompositionStart() {
|
|
21209
21210
|
this.compositionActive = true;
|
|
@@ -25958,7 +25959,7 @@ const machine = {
|
|
|
25958
25959
|
function matchReference(tokens) {
|
|
25959
25960
|
let head = 0;
|
|
25960
25961
|
let transitions = machine[State.LeftRef];
|
|
25961
|
-
|
|
25962
|
+
let matchedTokens = "";
|
|
25962
25963
|
while (transitions !== undefined) {
|
|
25963
25964
|
const token = tokens[head++];
|
|
25964
25965
|
if (!token) {
|
|
@@ -25970,15 +25971,15 @@ function matchReference(tokens) {
|
|
|
25970
25971
|
case undefined:
|
|
25971
25972
|
return null;
|
|
25972
25973
|
case State.Found:
|
|
25973
|
-
matchedTokens.
|
|
25974
|
+
matchedTokens += token.value;
|
|
25974
25975
|
tokens.splice(0, head);
|
|
25975
25976
|
return {
|
|
25976
25977
|
type: "REFERENCE",
|
|
25977
|
-
value:
|
|
25978
|
+
value: matchedTokens,
|
|
25978
25979
|
};
|
|
25979
25980
|
default:
|
|
25980
25981
|
transitions = machine[nextState];
|
|
25981
|
-
matchedTokens.
|
|
25982
|
+
matchedTokens += token.value;
|
|
25982
25983
|
break;
|
|
25983
25984
|
}
|
|
25984
25985
|
}
|
|
@@ -31894,7 +31895,12 @@ class MergePlugin extends CorePlugin {
|
|
|
31894
31895
|
* if they have at least a common cell
|
|
31895
31896
|
*/
|
|
31896
31897
|
doesIntersectMerge(sheetId, zone) {
|
|
31897
|
-
|
|
31898
|
+
for (const merge of this.getMerges(sheetId)) {
|
|
31899
|
+
if (overlap(zone, merge)) {
|
|
31900
|
+
return true;
|
|
31901
|
+
}
|
|
31902
|
+
}
|
|
31903
|
+
return false;
|
|
31898
31904
|
}
|
|
31899
31905
|
/**
|
|
31900
31906
|
* Returns true if two columns have at least one merge in common
|
|
@@ -40604,7 +40610,7 @@ class ClipboardPlugin extends UIPlugin {
|
|
|
40604
40610
|
case "ADD_COLUMNS_ROWS": {
|
|
40605
40611
|
this.status = "invisible";
|
|
40606
40612
|
// If we add a col/row inside or before the cut area, we invalidate the clipboard
|
|
40607
|
-
if (this.state?.operation !== "CUT") {
|
|
40613
|
+
if (this.state?.operation !== "CUT" || cmd.sheetId !== this.state?.sheetId) {
|
|
40608
40614
|
return;
|
|
40609
40615
|
}
|
|
40610
40616
|
const isClipboardDirty = this.state.isColRowDirtyingClipboard(cmd.position === "before" ? cmd.base : cmd.base + 1, cmd.dimension);
|
|
@@ -40616,7 +40622,7 @@ class ClipboardPlugin extends UIPlugin {
|
|
|
40616
40622
|
case "REMOVE_COLUMNS_ROWS": {
|
|
40617
40623
|
this.status = "invisible";
|
|
40618
40624
|
// If we remove a col/row inside or before the cut area, we invalidate the clipboard
|
|
40619
|
-
if (this.state?.operation !== "CUT") {
|
|
40625
|
+
if (this.state?.operation !== "CUT" || cmd.sheetId !== this.state?.sheetId) {
|
|
40620
40626
|
return;
|
|
40621
40627
|
}
|
|
40622
40628
|
for (let el of cmd.elements) {
|
|
@@ -44266,6 +44272,10 @@ class Spreadsheet extends Component {
|
|
|
44266
44272
|
});
|
|
44267
44273
|
useExternalListener(window, "resize", () => this.render(true));
|
|
44268
44274
|
useExternalListener(window, "beforeunload", this.unbindModelEvents.bind(this));
|
|
44275
|
+
// For some reason, the wheel event is not properly registered inside templates
|
|
44276
|
+
// in Chromium-based browsers based on chromium 125
|
|
44277
|
+
// This hack ensures the event declared in the template is properly registered/working
|
|
44278
|
+
useExternalListener(document.body, "wheel", () => { });
|
|
44269
44279
|
this.bindModelEvents();
|
|
44270
44280
|
onMounted(() => {
|
|
44271
44281
|
this.checkViewportSize();
|
|
@@ -48061,6 +48071,6 @@ function addFunction(functionName, functionDescription) {
|
|
|
48061
48071
|
export { AbstractChart, CommandResult, CorePlugin, DispatchResult, EvaluationError, Model, Registry, Revision, SPREADSHEET_DIMENSIONS, Spreadsheet, UIPlugin, __info__, addFunction, astToFormula, compile, components, convertAstNodes, coreTypes, findCellInNewZone, functionCache, helpers, invalidateEvaluationCommands, links, load, parse, readonlyAllowedCommands, registries, setDefaultSheetViewSize, setTranslationMethod, tokenize };
|
|
48062
48072
|
|
|
48063
48073
|
|
|
48064
|
-
__info__.version = '16.3.
|
|
48065
|
-
__info__.date = '2024-
|
|
48066
|
-
__info__.hash = '
|
|
48074
|
+
__info__.version = '16.3.36';
|
|
48075
|
+
__info__.date = '2024-05-24T11:25:00.243Z';
|
|
48076
|
+
__info__.hash = 'b038fad';
|
|
@@ -21085,7 +21085,7 @@
|
|
|
21085
21085
|
Enter: this.processEnterKey,
|
|
21086
21086
|
Escape: this.processEscapeKey,
|
|
21087
21087
|
F2: () => console.warn("Not implemented"),
|
|
21088
|
-
F4: this.processF4Key,
|
|
21088
|
+
F4: (ev) => this.processF4Key(ev),
|
|
21089
21089
|
Tab: (ev) => this.processTabKey(ev),
|
|
21090
21090
|
};
|
|
21091
21091
|
setup() {
|
|
@@ -21202,9 +21202,10 @@
|
|
|
21202
21202
|
processEscapeKey() {
|
|
21203
21203
|
this.env.model.dispatch("STOP_EDITION", { cancel: true });
|
|
21204
21204
|
}
|
|
21205
|
-
processF4Key() {
|
|
21205
|
+
processF4Key(ev) {
|
|
21206
21206
|
this.env.model.dispatch("CYCLE_EDITION_REFERENCES");
|
|
21207
21207
|
this.processContent();
|
|
21208
|
+
ev.stopPropagation();
|
|
21208
21209
|
}
|
|
21209
21210
|
onCompositionStart() {
|
|
21210
21211
|
this.compositionActive = true;
|
|
@@ -25959,7 +25960,7 @@
|
|
|
25959
25960
|
function matchReference(tokens) {
|
|
25960
25961
|
let head = 0;
|
|
25961
25962
|
let transitions = machine[State.LeftRef];
|
|
25962
|
-
|
|
25963
|
+
let matchedTokens = "";
|
|
25963
25964
|
while (transitions !== undefined) {
|
|
25964
25965
|
const token = tokens[head++];
|
|
25965
25966
|
if (!token) {
|
|
@@ -25971,15 +25972,15 @@
|
|
|
25971
25972
|
case undefined:
|
|
25972
25973
|
return null;
|
|
25973
25974
|
case State.Found:
|
|
25974
|
-
matchedTokens.
|
|
25975
|
+
matchedTokens += token.value;
|
|
25975
25976
|
tokens.splice(0, head);
|
|
25976
25977
|
return {
|
|
25977
25978
|
type: "REFERENCE",
|
|
25978
|
-
value:
|
|
25979
|
+
value: matchedTokens,
|
|
25979
25980
|
};
|
|
25980
25981
|
default:
|
|
25981
25982
|
transitions = machine[nextState];
|
|
25982
|
-
matchedTokens.
|
|
25983
|
+
matchedTokens += token.value;
|
|
25983
25984
|
break;
|
|
25984
25985
|
}
|
|
25985
25986
|
}
|
|
@@ -31895,7 +31896,12 @@
|
|
|
31895
31896
|
* if they have at least a common cell
|
|
31896
31897
|
*/
|
|
31897
31898
|
doesIntersectMerge(sheetId, zone) {
|
|
31898
|
-
|
|
31899
|
+
for (const merge of this.getMerges(sheetId)) {
|
|
31900
|
+
if (overlap(zone, merge)) {
|
|
31901
|
+
return true;
|
|
31902
|
+
}
|
|
31903
|
+
}
|
|
31904
|
+
return false;
|
|
31899
31905
|
}
|
|
31900
31906
|
/**
|
|
31901
31907
|
* Returns true if two columns have at least one merge in common
|
|
@@ -40605,7 +40611,7 @@
|
|
|
40605
40611
|
case "ADD_COLUMNS_ROWS": {
|
|
40606
40612
|
this.status = "invisible";
|
|
40607
40613
|
// If we add a col/row inside or before the cut area, we invalidate the clipboard
|
|
40608
|
-
if (this.state?.operation !== "CUT") {
|
|
40614
|
+
if (this.state?.operation !== "CUT" || cmd.sheetId !== this.state?.sheetId) {
|
|
40609
40615
|
return;
|
|
40610
40616
|
}
|
|
40611
40617
|
const isClipboardDirty = this.state.isColRowDirtyingClipboard(cmd.position === "before" ? cmd.base : cmd.base + 1, cmd.dimension);
|
|
@@ -40617,7 +40623,7 @@
|
|
|
40617
40623
|
case "REMOVE_COLUMNS_ROWS": {
|
|
40618
40624
|
this.status = "invisible";
|
|
40619
40625
|
// If we remove a col/row inside or before the cut area, we invalidate the clipboard
|
|
40620
|
-
if (this.state?.operation !== "CUT") {
|
|
40626
|
+
if (this.state?.operation !== "CUT" || cmd.sheetId !== this.state?.sheetId) {
|
|
40621
40627
|
return;
|
|
40622
40628
|
}
|
|
40623
40629
|
for (let el of cmd.elements) {
|
|
@@ -44267,6 +44273,10 @@
|
|
|
44267
44273
|
});
|
|
44268
44274
|
owl.useExternalListener(window, "resize", () => this.render(true));
|
|
44269
44275
|
owl.useExternalListener(window, "beforeunload", this.unbindModelEvents.bind(this));
|
|
44276
|
+
// For some reason, the wheel event is not properly registered inside templates
|
|
44277
|
+
// in Chromium-based browsers based on chromium 125
|
|
44278
|
+
// This hack ensures the event declared in the template is properly registered/working
|
|
44279
|
+
owl.useExternalListener(document.body, "wheel", () => { });
|
|
44270
44280
|
this.bindModelEvents();
|
|
44271
44281
|
owl.onMounted(() => {
|
|
44272
44282
|
this.checkViewportSize();
|
|
@@ -48092,9 +48102,9 @@
|
|
|
48092
48102
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
48093
48103
|
|
|
48094
48104
|
|
|
48095
|
-
__info__.version = '16.3.
|
|
48096
|
-
__info__.date = '2024-
|
|
48097
|
-
__info__.hash = '
|
|
48105
|
+
__info__.version = '16.3.36';
|
|
48106
|
+
__info__.date = '2024-05-24T11:25:00.243Z';
|
|
48107
|
+
__info__.hash = 'b038fad';
|
|
48098
48108
|
|
|
48099
48109
|
|
|
48100
48110
|
})(this.o_spreadsheet = this.o_spreadsheet || {}, owl);
|