@odoo/o-spreadsheet 16.0.17 → 16.0.18
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 +64 -19
- package/dist/o-spreadsheet.d.ts +11 -3
- package/dist/o-spreadsheet.esm.js +64 -19
- package/dist/o-spreadsheet.iife.js +64 -19
- package/dist/o-spreadsheet.iife.min.js +238 -237
- package/package.json +1 -1
|
@@ -3516,6 +3516,7 @@
|
|
|
3516
3516
|
background-color: white;
|
|
3517
3517
|
border-left: 3px solid red;
|
|
3518
3518
|
padding: 10px;
|
|
3519
|
+
overflow-wrap: break-word;
|
|
3519
3520
|
}
|
|
3520
3521
|
`;
|
|
3521
3522
|
class ErrorToolTip extends owl.Component {
|
|
@@ -5032,6 +5033,13 @@
|
|
|
5032
5033
|
elements: rows,
|
|
5033
5034
|
});
|
|
5034
5035
|
};
|
|
5036
|
+
const CAN_REMOVE_COLUMNS_ROWS = (dimension, env) => {
|
|
5037
|
+
const sheetId = env.model.getters.getActiveSheetId();
|
|
5038
|
+
const selectedElements = env.model.getters.getElementsFromSelection(dimension);
|
|
5039
|
+
const includesAllVisibleHeaders = env.model.getters.checkElementsIncludeAllVisibleHeaders(sheetId, dimension, selectedElements);
|
|
5040
|
+
const includesAllNonFrozenHeaders = env.model.getters.checkElementsIncludeAllNonFrozenHeaders(sheetId, dimension, selectedElements);
|
|
5041
|
+
return !includesAllVisibleHeaders && !includesAllNonFrozenHeaders;
|
|
5042
|
+
};
|
|
5035
5043
|
const REMOVE_COLUMNS_NAME = (env) => {
|
|
5036
5044
|
if (env.model.getters.getSelectedZones().length > 1) {
|
|
5037
5045
|
return _lt("Delete columns");
|
|
@@ -5636,11 +5644,7 @@
|
|
|
5636
5644
|
name: REMOVE_COLUMNS_NAME,
|
|
5637
5645
|
sequence: 90,
|
|
5638
5646
|
action: REMOVE_COLUMNS_ACTION,
|
|
5639
|
-
isVisible: (env) =>
|
|
5640
|
-
const sheetId = env.model.getters.getActiveSheetId();
|
|
5641
|
-
const selectedCols = env.model.getters.getElementsFromSelection("COL");
|
|
5642
|
-
return env.model.getters.canRemoveHeaders(sheetId, "COL", selectedCols);
|
|
5643
|
-
},
|
|
5647
|
+
isVisible: (env) => CAN_REMOVE_COLUMNS_ROWS("COL", env),
|
|
5644
5648
|
})
|
|
5645
5649
|
.add("clear_column", {
|
|
5646
5650
|
name: DELETE_CONTENT_COLUMNS_NAME,
|
|
@@ -5654,7 +5658,7 @@
|
|
|
5654
5658
|
isVisible: (env) => {
|
|
5655
5659
|
const sheetId = env.model.getters.getActiveSheetId();
|
|
5656
5660
|
const selectedCols = env.model.getters.getElementsFromSelection("COL");
|
|
5657
|
-
return env.model.getters.
|
|
5661
|
+
return !env.model.getters.checkElementsIncludeAllVisibleHeaders(sheetId, "COL", selectedCols);
|
|
5658
5662
|
},
|
|
5659
5663
|
separator: true,
|
|
5660
5664
|
})
|
|
@@ -5728,11 +5732,7 @@
|
|
|
5728
5732
|
name: REMOVE_ROWS_NAME,
|
|
5729
5733
|
sequence: 70,
|
|
5730
5734
|
action: REMOVE_ROWS_ACTION,
|
|
5731
|
-
isVisible: (env) =>
|
|
5732
|
-
const sheetId = env.model.getters.getActiveSheetId();
|
|
5733
|
-
const selectedRows = env.model.getters.getElementsFromSelection("ROW");
|
|
5734
|
-
return env.model.getters.canRemoveHeaders(sheetId, "ROW", selectedRows);
|
|
5735
|
-
},
|
|
5735
|
+
isVisible: (env) => CAN_REMOVE_COLUMNS_ROWS("ROW", env),
|
|
5736
5736
|
})
|
|
5737
5737
|
.add("clear_row", {
|
|
5738
5738
|
name: DELETE_CONTENT_ROWS_NAME,
|
|
@@ -5746,7 +5746,7 @@
|
|
|
5746
5746
|
isVisible: (env) => {
|
|
5747
5747
|
const sheetId = env.model.getters.getActiveSheetId();
|
|
5748
5748
|
const selectedRows = env.model.getters.getElementsFromSelection("ROW");
|
|
5749
|
-
return env.model.getters.
|
|
5749
|
+
return !env.model.getters.checkElementsIncludeAllVisibleHeaders(sheetId, "ROW", selectedRows);
|
|
5750
5750
|
},
|
|
5751
5751
|
separator: true,
|
|
5752
5752
|
})
|
|
@@ -6040,11 +6040,13 @@
|
|
|
6040
6040
|
name: REMOVE_ROWS_NAME,
|
|
6041
6041
|
sequence: 80,
|
|
6042
6042
|
action: REMOVE_ROWS_ACTION,
|
|
6043
|
+
isVisible: (env) => CAN_REMOVE_COLUMNS_ROWS("ROW", env),
|
|
6043
6044
|
})
|
|
6044
6045
|
.addChild("edit_delete_column", ["edit"], {
|
|
6045
6046
|
name: REMOVE_COLUMNS_NAME,
|
|
6046
6047
|
sequence: 90,
|
|
6047
6048
|
action: REMOVE_COLUMNS_ACTION,
|
|
6049
|
+
isVisible: (env) => CAN_REMOVE_COLUMNS_ROWS("COL", env),
|
|
6048
6050
|
})
|
|
6049
6051
|
.addChild("edit_delete_cell_shift_up", ["edit"], {
|
|
6050
6052
|
name: _lt("Delete cell and shift up"),
|
|
@@ -7811,6 +7813,7 @@
|
|
|
7811
7813
|
this.legendPosition = definition.legendPosition;
|
|
7812
7814
|
this.labelsAsText = definition.labelsAsText;
|
|
7813
7815
|
this.stacked = definition.stacked;
|
|
7816
|
+
this.cumulative = definition.cumulative;
|
|
7814
7817
|
}
|
|
7815
7818
|
static validateChartDefinition(validator, definition) {
|
|
7816
7819
|
return validator.checkValidations(definition, checkDataset, checkLabelRange);
|
|
@@ -7830,6 +7833,7 @@
|
|
|
7830
7833
|
verticalAxisPosition: "left",
|
|
7831
7834
|
labelRange: context.auxiliaryRange || undefined,
|
|
7832
7835
|
stacked: false,
|
|
7836
|
+
cumulative: false,
|
|
7833
7837
|
};
|
|
7834
7838
|
}
|
|
7835
7839
|
getDefinition() {
|
|
@@ -7849,6 +7853,7 @@
|
|
|
7849
7853
|
title: this.title,
|
|
7850
7854
|
labelsAsText: this.labelsAsText,
|
|
7851
7855
|
stacked: this.stacked,
|
|
7856
|
+
cumulative: this.cumulative,
|
|
7852
7857
|
};
|
|
7853
7858
|
}
|
|
7854
7859
|
getContextCreation() {
|
|
@@ -8033,6 +8038,16 @@
|
|
|
8033
8038
|
if (chart.stacked) {
|
|
8034
8039
|
backgroundRGBA.a = LINE_FILL_TRANSPARENCY;
|
|
8035
8040
|
}
|
|
8041
|
+
if (chart.cumulative) {
|
|
8042
|
+
let accumulator = 0;
|
|
8043
|
+
data = data.map((value) => {
|
|
8044
|
+
if (!isNaN(value)) {
|
|
8045
|
+
accumulator += parseFloat(value);
|
|
8046
|
+
return accumulator;
|
|
8047
|
+
}
|
|
8048
|
+
return value;
|
|
8049
|
+
});
|
|
8050
|
+
}
|
|
8036
8051
|
const backgroundColor = rgbaToHex(backgroundRGBA);
|
|
8037
8052
|
const dataset = {
|
|
8038
8053
|
label,
|
|
@@ -8818,6 +8833,11 @@
|
|
|
8818
8833
|
stacked: ev.target.checked,
|
|
8819
8834
|
});
|
|
8820
8835
|
}
|
|
8836
|
+
onUpdateCumulative(ev) {
|
|
8837
|
+
this.props.updateChart(this.props.figureId, {
|
|
8838
|
+
cumulative: ev.target.checked,
|
|
8839
|
+
});
|
|
8840
|
+
}
|
|
8821
8841
|
}
|
|
8822
8842
|
LineConfigPanel.template = "o-spreadsheet-LineConfigPanel";
|
|
8823
8843
|
|
|
@@ -24647,6 +24667,7 @@ day_count_convention (number, default=${DEFAULT_DAY_COUNT_CONVENTION} ) ${_lt("A
|
|
|
24647
24667
|
verticalAxisPosition: chartData.verticalAxisPosition,
|
|
24648
24668
|
legendPosition: chartData.legendPosition,
|
|
24649
24669
|
stacked: chartData.stacked || false,
|
|
24670
|
+
cumulative: chartData.cumulative || false,
|
|
24650
24671
|
labelsAsText: false,
|
|
24651
24672
|
};
|
|
24652
24673
|
}
|
|
@@ -29139,7 +29160,7 @@ day_count_convention (number, default=${DEFAULT_DAY_COUNT_CONVENTION} ) ${_lt("A
|
|
|
29139
29160
|
if (!this.getters.tryGetSheet(cmd.sheetId)) {
|
|
29140
29161
|
return 27 /* CommandResult.InvalidSheetId */;
|
|
29141
29162
|
}
|
|
29142
|
-
if (
|
|
29163
|
+
if (this.checkElementsIncludeAllVisibleHeaders(cmd.sheetId, cmd.dimension, cmd.elements)) {
|
|
29143
29164
|
return 8 /* CommandResult.NotEnoughElements */;
|
|
29144
29165
|
}
|
|
29145
29166
|
return 0 /* CommandResult.Success */;
|
|
@@ -29189,9 +29210,9 @@ day_count_convention (number, default=${DEFAULT_DAY_COUNT_CONVENTION} ) ${_lt("A
|
|
|
29189
29210
|
}
|
|
29190
29211
|
return;
|
|
29191
29212
|
}
|
|
29192
|
-
|
|
29213
|
+
checkElementsIncludeAllVisibleHeaders(sheetId, dimension, elements) {
|
|
29193
29214
|
const visibleHeaders = this.getAllVisibleHeaders(sheetId, dimension);
|
|
29194
|
-
return
|
|
29215
|
+
return includesAll(elements, visibleHeaders);
|
|
29195
29216
|
}
|
|
29196
29217
|
isRowHiddenByUser(sheetId, index) {
|
|
29197
29218
|
return this.hiddenHeaders[sheetId].ROW[index];
|
|
@@ -29287,7 +29308,7 @@ day_count_convention (number, default=${DEFAULT_DAY_COUNT_CONVENTION} ) ${_lt("A
|
|
|
29287
29308
|
}
|
|
29288
29309
|
}
|
|
29289
29310
|
HeaderVisibilityPlugin.getters = [
|
|
29290
|
-
"
|
|
29311
|
+
"checkElementsIncludeAllVisibleHeaders",
|
|
29291
29312
|
"getHiddenColsGroups",
|
|
29292
29313
|
"getHiddenRowsGroups",
|
|
29293
29314
|
"isRowHiddenByUser",
|
|
@@ -29806,6 +29827,9 @@ day_count_convention (number, default=${DEFAULT_DAY_COUNT_CONVENTION} ) ${_lt("A
|
|
|
29806
29827
|
if (Math.min(...cmd.elements) < 0 || Math.max(...cmd.elements) > elements) {
|
|
29807
29828
|
return 85 /* CommandResult.InvalidHeaderIndex */;
|
|
29808
29829
|
}
|
|
29830
|
+
else if (this.checkElementsIncludeAllNonFrozenHeaders(cmd.sheetId, cmd.dimension, cmd.elements)) {
|
|
29831
|
+
return 8 /* CommandResult.NotEnoughElements */;
|
|
29832
|
+
}
|
|
29809
29833
|
else {
|
|
29810
29834
|
return 0 /* CommandResult.Success */;
|
|
29811
29835
|
}
|
|
@@ -30105,6 +30129,20 @@ day_count_convention (number, default=${DEFAULT_DAY_COUNT_CONVENTION} ) ${_lt("A
|
|
|
30105
30129
|
}
|
|
30106
30130
|
this.history.update("sheets", sheetId, "panes", panes);
|
|
30107
30131
|
}
|
|
30132
|
+
/**
|
|
30133
|
+
* Checks if all non-frozen header indices are present in the provided elements of selected rows/columns.
|
|
30134
|
+
* This validation ensures that all rows or columns cannot be deleted when frozen panes exist.
|
|
30135
|
+
*/
|
|
30136
|
+
checkElementsIncludeAllNonFrozenHeaders(sheetId, dimension, elements) {
|
|
30137
|
+
const paneDivisions = this.getters.getPaneDivisions(sheetId);
|
|
30138
|
+
const startIndex = dimension === "ROW" ? paneDivisions.ySplit : paneDivisions.xSplit;
|
|
30139
|
+
const endIndex = this.getters.getNumberHeaders(sheetId, dimension);
|
|
30140
|
+
if (!startIndex) {
|
|
30141
|
+
return false;
|
|
30142
|
+
}
|
|
30143
|
+
const indicesToCheck = range(startIndex, endIndex);
|
|
30144
|
+
return includesAll(elements, indicesToCheck);
|
|
30145
|
+
}
|
|
30108
30146
|
// ---------------------------------------------------------------------------
|
|
30109
30147
|
// Row/Col manipulation
|
|
30110
30148
|
// ---------------------------------------------------------------------------
|
|
@@ -30639,6 +30677,7 @@ day_count_convention (number, default=${DEFAULT_DAY_COUNT_CONVENTION} ) ${_lt("A
|
|
|
30639
30677
|
"getSheetSize",
|
|
30640
30678
|
"getSheetZone",
|
|
30641
30679
|
"getPaneDivisions",
|
|
30680
|
+
"checkElementsIncludeAllNonFrozenHeaders",
|
|
30642
30681
|
];
|
|
30643
30682
|
|
|
30644
30683
|
/**
|
|
@@ -36432,6 +36471,9 @@ day_count_convention (number, default=${DEFAULT_DAY_COUNT_CONVENTION} ) ${_lt("A
|
|
|
36432
36471
|
const sheetId = this.sheetId;
|
|
36433
36472
|
this.left = this.searchHeaderIndex("COL", this.offsetScrollbarX, this.boundaries.left);
|
|
36434
36473
|
this.right = Math.min(this.boundaries.right, this.searchHeaderIndex("COL", this.viewportWidth, this.left));
|
|
36474
|
+
if (this.left === -1) {
|
|
36475
|
+
this.left = this.boundaries.left;
|
|
36476
|
+
}
|
|
36435
36477
|
if (this.right === -1) {
|
|
36436
36478
|
this.right = this.getters.getNumberCols(sheetId) - 1;
|
|
36437
36479
|
}
|
|
@@ -36445,6 +36487,9 @@ day_count_convention (number, default=${DEFAULT_DAY_COUNT_CONVENTION} ) ${_lt("A
|
|
|
36445
36487
|
const sheetId = this.sheetId;
|
|
36446
36488
|
this.top = this.searchHeaderIndex("ROW", this.offsetScrollbarY, this.boundaries.top);
|
|
36447
36489
|
this.bottom = Math.min(this.boundaries.bottom, this.searchHeaderIndex("ROW", this.viewportHeight, this.top));
|
|
36490
|
+
if (this.top === -1) {
|
|
36491
|
+
this.top = this.boundaries.top;
|
|
36492
|
+
}
|
|
36448
36493
|
if (this.bottom === -1) {
|
|
36449
36494
|
this.bottom = this.getters.getNumberRows(sheetId) - 1;
|
|
36450
36495
|
}
|
|
@@ -42860,9 +42905,9 @@ day_count_convention (number, default=${DEFAULT_DAY_COUNT_CONVENTION} ) ${_lt("A
|
|
|
42860
42905
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
42861
42906
|
|
|
42862
42907
|
|
|
42863
|
-
__info__.version = '16.0.
|
|
42864
|
-
__info__.date = '2023-
|
|
42865
|
-
__info__.hash = '
|
|
42908
|
+
__info__.version = '16.0.18';
|
|
42909
|
+
__info__.date = '2023-09-12T11:42:03.083Z';
|
|
42910
|
+
__info__.hash = '41fd4fa';
|
|
42866
42911
|
|
|
42867
42912
|
|
|
42868
42913
|
})(this.o_spreadsheet = this.o_spreadsheet || {}, owl);
|