@odoo/o-spreadsheet 19.0.49 → 19.0.50
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.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.0.
|
|
6
|
-
* @date 2026-09-
|
|
7
|
-
* @hash
|
|
5
|
+
* @version 19.0.50
|
|
6
|
+
* @date 2026-09-10T05:35:45.664Z
|
|
7
|
+
* @hash e499258
|
|
8
8
|
*/
|
|
9
9
|
/* Originates from src/components/top_bar/top_bar.scss */
|
|
10
10
|
@media (max-width: 1200px) {
|
|
@@ -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.0.
|
|
6
|
-
* @date 2026-09-
|
|
7
|
-
* @hash
|
|
5
|
+
* @version 19.0.50
|
|
6
|
+
* @date 2026-09-10T05:35:44.046Z
|
|
7
|
+
* @hash e499258
|
|
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, xml } from "@odoo/owl";
|
|
@@ -16420,7 +16420,7 @@ const RemoveDuplicateTerms = { Errors: {
|
|
|
16420
16420
|
["MoreThanOneRangeSelected"]: _t("Please select only one range of cells"),
|
|
16421
16421
|
["EmptyTarget"]: _t("Please select a range of cells containing values."),
|
|
16422
16422
|
["NoColumnsProvided"]: _t("Please select at latest one column to analyze."),
|
|
16423
|
-
["WillRemoveExistingMerge"]: _t("
|
|
16423
|
+
["WillRemoveExistingMerge"]: _t("Cannot perform this action on merged cells. Unmerge the cells and try again.")
|
|
16424
16424
|
} };
|
|
16425
16425
|
const DVTerms = {
|
|
16426
16426
|
DateIs: {
|
|
@@ -19419,6 +19419,7 @@ const chartShowValuesPlugin = {
|
|
|
19419
19419
|
case "doughnut":
|
|
19420
19420
|
drawPieChartValues(chart, options, ctx);
|
|
19421
19421
|
break;
|
|
19422
|
+
case "combo":
|
|
19422
19423
|
case "bar":
|
|
19423
19424
|
case "line":
|
|
19424
19425
|
case "radar":
|
|
@@ -19449,7 +19450,7 @@ function drawLineOrBarOrRadarChartValues(chart, options, ctx) {
|
|
|
19449
19450
|
const point = dataset.data[i];
|
|
19450
19451
|
const xPosition = point.x;
|
|
19451
19452
|
let yPosition = 0;
|
|
19452
|
-
if (
|
|
19453
|
+
if (dataset.type === "line" || dataset.type === "radar") yPosition = value < 0 ? point.y + 10 : point.y - 10;
|
|
19453
19454
|
else {
|
|
19454
19455
|
const yZeroLine = yAxisScale.getPixelForValue(0);
|
|
19455
19456
|
const distanceFromAxisOrigin = Math.abs(yZeroLine - point.y);
|
|
@@ -45272,6 +45273,11 @@ var GridOverlay = class extends Component {
|
|
|
45272
45273
|
});
|
|
45273
45274
|
return icon?.onClick ? icon : void 0;
|
|
45274
45275
|
}
|
|
45276
|
+
get isFooterVisible() {
|
|
45277
|
+
const { y } = this.env.model.getters.getMainViewportCoordinates();
|
|
45278
|
+
const { height } = this.env.model.getters.getSheetViewDimension();
|
|
45279
|
+
return !this.env.model.getters.isReadonly() && height - y > 46;
|
|
45280
|
+
}
|
|
45275
45281
|
};
|
|
45276
45282
|
|
|
45277
45283
|
//#endregion
|
|
@@ -51908,7 +51914,7 @@ var FindAndReplacePanel = class extends Component {
|
|
|
51908
51914
|
}
|
|
51909
51915
|
get specificRangeMatchesCount() {
|
|
51910
51916
|
const range = this.searchOptions.specificRange;
|
|
51911
|
-
if (!range) return "";
|
|
51917
|
+
if (!range || range.invalidSheetName || range.invalidXc) return "";
|
|
51912
51918
|
const { sheetId, zone } = range;
|
|
51913
51919
|
return _t("%(matches)s matches in range %(range)s of %(sheetName)s", {
|
|
51914
51920
|
matches: this.store.specificRangeMatchesCount,
|
|
@@ -66595,7 +66601,8 @@ var GeoFeaturePlugin = class extends UIPlugin {
|
|
|
66595
66601
|
static getters = [
|
|
66596
66602
|
"getGeoJsonFeatures",
|
|
66597
66603
|
"geoFeatureNameToId",
|
|
66598
|
-
"getGeoChartAvailableRegions"
|
|
66604
|
+
"getGeoChartAvailableRegions",
|
|
66605
|
+
"loadUsedGeoJsonFeatures"
|
|
66599
66606
|
];
|
|
66600
66607
|
geoJsonService;
|
|
66601
66608
|
geoJsonCache = {};
|
|
@@ -66632,6 +66639,23 @@ var GeoFeaturePlugin = class extends UIPlugin {
|
|
|
66632
66639
|
}
|
|
66633
66640
|
return this.geoJsonService.geoFeatureNameToId(region, featureName);
|
|
66634
66641
|
}
|
|
66642
|
+
loadUsedGeoJsonFeatures() {
|
|
66643
|
+
const regions = this.getters.getSheetIds().flatMap((sheetId) => this.getters.getChartIds(sheetId).map((chartId) => {
|
|
66644
|
+
const definition = this.getters.getChartDefinition(chartId);
|
|
66645
|
+
return definition.type === "geo" ? definition.region || this.getters.getGeoChartAvailableRegions()[0]?.id : void 0;
|
|
66646
|
+
})).filter(isDefined);
|
|
66647
|
+
const uniqueRegions = Array.from(new Set(regions));
|
|
66648
|
+
if (uniqueRegions.length && !this.geoJsonService) {
|
|
66649
|
+
console.error("No geoJsonService provided to the model");
|
|
66650
|
+
return Promise.resolve();
|
|
66651
|
+
}
|
|
66652
|
+
for (const region of uniqueRegions) this.getGeoJsonFeatures(region);
|
|
66653
|
+
const promises = uniqueRegions.map((region) => {
|
|
66654
|
+
const cachedGeoJson = this.geoJsonCache[region];
|
|
66655
|
+
return cachedGeoJson instanceof Promise ? cachedGeoJson : Promise.resolve();
|
|
66656
|
+
});
|
|
66657
|
+
return Promise.all(promises).then(() => {});
|
|
66658
|
+
}
|
|
66635
66659
|
convertToGeoJson(json) {
|
|
66636
66660
|
if (!json) return null;
|
|
66637
66661
|
if (json.type === "Topology") {
|
|
@@ -69646,7 +69670,7 @@ var InternalViewport = class {
|
|
|
69646
69670
|
let height = lastRowEnd - this.offsetCorrectionY;
|
|
69647
69671
|
if (this.canScrollVertically) {
|
|
69648
69672
|
height = Math.max(height, this.viewportHeight);
|
|
69649
|
-
if (lastRowEnd + 46 > height && !this.getters.isReadonly()) height += 46;
|
|
69673
|
+
if (lastRowEnd + 46 > height && !this.getters.isReadonly() && this.viewportHeight > 46) height += 46;
|
|
69650
69674
|
}
|
|
69651
69675
|
return {
|
|
69652
69676
|
width,
|
|
@@ -79492,6 +79516,6 @@ const chartHelpers = {
|
|
|
79492
79516
|
//#endregion
|
|
79493
79517
|
export { AbstractCellClipboardHandler, AbstractChart, AbstractFigureClipboardHandler, CellErrorType, ClientDisconnectedError, CommandResult, CorePlugin, CoreViewPlugin, DispatchResult, EvaluationError, LocalTransportService, Model, PivotRuntimeDefinition, Registry, Revision, SPREADSHEET_DIMENSIONS, Spreadsheet, SpreadsheetPivotTable, UIPlugin, __info__, addFunction, addRenderingLayer, astToFormula, chartHelpers, compile, compileTokens, components, constants, convertAstNodes, coreTypes, findCellInNewZone, functionCache, getCaretDownSvg, getCaretUpSvg, helpers, hooks, invalidateCFEvaluationCommands, invalidateChartEvaluationCommands, invalidateDependenciesCommands, invalidateEvaluationCommands, iterateAstNodes, links, load, parse, parseTokens, readonlyAllowedCommands, registries, setDefaultSheetViewSize, setTranslationMethod, stores, tokenColors, tokenize };
|
|
79494
79518
|
|
|
79495
|
-
__info__.version = "19.0.
|
|
79496
|
-
__info__.date = "2026-09-
|
|
79497
|
-
__info__.hash = "
|
|
79519
|
+
__info__.version = "19.0.50";
|
|
79520
|
+
__info__.date = "2026-09-10T05:35:44.046Z";
|
|
79521
|
+
__info__.hash = "e499258";
|
|
@@ -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.0.
|
|
6
|
-
* @date 2026-09-
|
|
7
|
-
* @hash
|
|
5
|
+
* @version 19.0.50
|
|
6
|
+
* @date 2026-09-10T05:35:44.046Z
|
|
7
|
+
* @hash e499258
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
(function(exports, _odoo_owl) {
|
|
@@ -16422,7 +16422,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
16422
16422
|
["MoreThanOneRangeSelected"]: _t("Please select only one range of cells"),
|
|
16423
16423
|
["EmptyTarget"]: _t("Please select a range of cells containing values."),
|
|
16424
16424
|
["NoColumnsProvided"]: _t("Please select at latest one column to analyze."),
|
|
16425
|
-
["WillRemoveExistingMerge"]: _t("
|
|
16425
|
+
["WillRemoveExistingMerge"]: _t("Cannot perform this action on merged cells. Unmerge the cells and try again.")
|
|
16426
16426
|
} };
|
|
16427
16427
|
const DVTerms = {
|
|
16428
16428
|
DateIs: {
|
|
@@ -19421,6 +19421,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
19421
19421
|
case "doughnut":
|
|
19422
19422
|
drawPieChartValues(chart, options, ctx);
|
|
19423
19423
|
break;
|
|
19424
|
+
case "combo":
|
|
19424
19425
|
case "bar":
|
|
19425
19426
|
case "line":
|
|
19426
19427
|
case "radar":
|
|
@@ -19451,7 +19452,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
19451
19452
|
const point = dataset.data[i];
|
|
19452
19453
|
const xPosition = point.x;
|
|
19453
19454
|
let yPosition = 0;
|
|
19454
|
-
if (
|
|
19455
|
+
if (dataset.type === "line" || dataset.type === "radar") yPosition = value < 0 ? point.y + 10 : point.y - 10;
|
|
19455
19456
|
else {
|
|
19456
19457
|
const yZeroLine = yAxisScale.getPixelForValue(0);
|
|
19457
19458
|
const distanceFromAxisOrigin = Math.abs(yZeroLine - point.y);
|
|
@@ -45274,6 +45275,11 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
45274
45275
|
});
|
|
45275
45276
|
return icon?.onClick ? icon : void 0;
|
|
45276
45277
|
}
|
|
45278
|
+
get isFooterVisible() {
|
|
45279
|
+
const { y } = this.env.model.getters.getMainViewportCoordinates();
|
|
45280
|
+
const { height } = this.env.model.getters.getSheetViewDimension();
|
|
45281
|
+
return !this.env.model.getters.isReadonly() && height - y > 46;
|
|
45282
|
+
}
|
|
45277
45283
|
};
|
|
45278
45284
|
|
|
45279
45285
|
//#endregion
|
|
@@ -51910,7 +51916,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
51910
51916
|
}
|
|
51911
51917
|
get specificRangeMatchesCount() {
|
|
51912
51918
|
const range = this.searchOptions.specificRange;
|
|
51913
|
-
if (!range) return "";
|
|
51919
|
+
if (!range || range.invalidSheetName || range.invalidXc) return "";
|
|
51914
51920
|
const { sheetId, zone } = range;
|
|
51915
51921
|
return _t("%(matches)s matches in range %(range)s of %(sheetName)s", {
|
|
51916
51922
|
matches: this.store.specificRangeMatchesCount,
|
|
@@ -66597,7 +66603,8 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
66597
66603
|
static getters = [
|
|
66598
66604
|
"getGeoJsonFeatures",
|
|
66599
66605
|
"geoFeatureNameToId",
|
|
66600
|
-
"getGeoChartAvailableRegions"
|
|
66606
|
+
"getGeoChartAvailableRegions",
|
|
66607
|
+
"loadUsedGeoJsonFeatures"
|
|
66601
66608
|
];
|
|
66602
66609
|
geoJsonService;
|
|
66603
66610
|
geoJsonCache = {};
|
|
@@ -66634,6 +66641,23 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
66634
66641
|
}
|
|
66635
66642
|
return this.geoJsonService.geoFeatureNameToId(region, featureName);
|
|
66636
66643
|
}
|
|
66644
|
+
loadUsedGeoJsonFeatures() {
|
|
66645
|
+
const regions = this.getters.getSheetIds().flatMap((sheetId) => this.getters.getChartIds(sheetId).map((chartId) => {
|
|
66646
|
+
const definition = this.getters.getChartDefinition(chartId);
|
|
66647
|
+
return definition.type === "geo" ? definition.region || this.getters.getGeoChartAvailableRegions()[0]?.id : void 0;
|
|
66648
|
+
})).filter(isDefined);
|
|
66649
|
+
const uniqueRegions = Array.from(new Set(regions));
|
|
66650
|
+
if (uniqueRegions.length && !this.geoJsonService) {
|
|
66651
|
+
console.error("No geoJsonService provided to the model");
|
|
66652
|
+
return Promise.resolve();
|
|
66653
|
+
}
|
|
66654
|
+
for (const region of uniqueRegions) this.getGeoJsonFeatures(region);
|
|
66655
|
+
const promises = uniqueRegions.map((region) => {
|
|
66656
|
+
const cachedGeoJson = this.geoJsonCache[region];
|
|
66657
|
+
return cachedGeoJson instanceof Promise ? cachedGeoJson : Promise.resolve();
|
|
66658
|
+
});
|
|
66659
|
+
return Promise.all(promises).then(() => {});
|
|
66660
|
+
}
|
|
66637
66661
|
convertToGeoJson(json) {
|
|
66638
66662
|
if (!json) return null;
|
|
66639
66663
|
if (json.type === "Topology") {
|
|
@@ -69648,7 +69672,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
69648
69672
|
let height = lastRowEnd - this.offsetCorrectionY;
|
|
69649
69673
|
if (this.canScrollVertically) {
|
|
69650
69674
|
height = Math.max(height, this.viewportHeight);
|
|
69651
|
-
if (lastRowEnd + 46 > height && !this.getters.isReadonly()) height += 46;
|
|
69675
|
+
if (lastRowEnd + 46 > height && !this.getters.isReadonly() && this.viewportHeight > 46) height += 46;
|
|
69652
69676
|
}
|
|
69653
69677
|
return {
|
|
69654
69678
|
width,
|
|
@@ -79545,8 +79569,8 @@ exports.stores = stores;
|
|
|
79545
79569
|
exports.tokenColors = tokenColors;
|
|
79546
79570
|
exports.tokenize = tokenize;
|
|
79547
79571
|
|
|
79548
|
-
__info__.version = "19.0.
|
|
79549
|
-
__info__.date = "2026-09-
|
|
79550
|
-
__info__.hash = "
|
|
79572
|
+
__info__.version = "19.0.50";
|
|
79573
|
+
__info__.date = "2026-09-10T05:35:44.046Z";
|
|
79574
|
+
__info__.hash = "e499258";
|
|
79551
79575
|
|
|
79552
79576
|
})(this.o_spreadsheet = this.o_spreadsheet || {}, owl);
|