@odoo/o-spreadsheet 19.4.1 → 19.4.2
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 +39 -17
- package/dist/o_spreadsheet.css +3 -7
- package/dist/o_spreadsheet.esm.js +39 -17
- package/dist/o_spreadsheet.iife.js +39 -17
- package/dist/o_spreadsheet.min.iife.js +5 -5
- package/dist/o_spreadsheet.xml +3 -3
- package/dist/types/helpers/internal_viewport.d.ts +1 -0
- package/dist/types/helpers/viewport_collection.d.ts +1 -0
- 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.4.
|
|
6
|
-
* @date 2026-07-
|
|
7
|
-
* @hash
|
|
5
|
+
* @version 19.4.2
|
|
6
|
+
* @date 2026-07-13T06:26:39.071Z
|
|
7
|
+
* @hash c83d4aa
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
@@ -28056,7 +28056,7 @@ function filterInvalidCalendarDataPoints(labels, datasets) {
|
|
|
28056
28056
|
*/
|
|
28057
28057
|
function filterInvalidHierarchicalPoints(values, hierarchy) {
|
|
28058
28058
|
const numberOfDataPoints = Math.max(values.length, ...hierarchy.map((dataset) => dataset.data?.length || 0));
|
|
28059
|
-
const isEmpty = (value) => value === null || value === "";
|
|
28059
|
+
const isEmpty = (value) => value === void 0 || value === null || value === "";
|
|
28060
28060
|
const dataPointsIndexes = range(0, numberOfDataPoints).filter((dataPointIndex) => {
|
|
28061
28061
|
const groups = hierarchy.map((dataset) => dataset.data?.[dataPointIndex]);
|
|
28062
28062
|
if (isEmpty(groups[0]?.value)) return false;
|
|
@@ -58904,13 +58904,13 @@ var EvaluationConditionalFormatPlugin = class extends CoreViewPlugin {
|
|
|
58904
58904
|
const minValue = this.parsePoint(sheetId, range, rule.minimum, "min");
|
|
58905
58905
|
const midValue = rule.midpoint ? this.parsePoint(sheetId, range, rule.midpoint) : null;
|
|
58906
58906
|
const maxValue = this.parsePoint(sheetId, range, rule.maximum, "max");
|
|
58907
|
-
if (minValue === null || maxValue === null || minValue >= maxValue || midValue && (minValue >= midValue || midValue >= maxValue)) return;
|
|
58907
|
+
if (minValue === null || maxValue === null || minValue >= maxValue || midValue !== null && (minValue >= midValue || midValue >= maxValue)) return;
|
|
58908
58908
|
const zone = this.getters.getRangeFromSheetXC(sheetId, range).zone;
|
|
58909
58909
|
const colorThresholds = [{
|
|
58910
58910
|
value: minValue,
|
|
58911
58911
|
color: rule.minimum.color
|
|
58912
58912
|
}];
|
|
58913
|
-
if (rule.midpoint && midValue) colorThresholds.push({
|
|
58913
|
+
if (rule.midpoint && midValue !== null) colorThresholds.push({
|
|
58914
58914
|
value: midValue,
|
|
58915
58915
|
color: rule.midpoint.color
|
|
58916
58916
|
});
|
|
@@ -66369,7 +66369,9 @@ var GridSelectionPlugin = class extends UIPlugin {
|
|
|
66369
66369
|
ctx.lineWidth = 1.5 * thinLineWidth;
|
|
66370
66370
|
const isDarkMode = this.getters.isDarkMode();
|
|
66371
66371
|
for (const zone of zones) {
|
|
66372
|
+
if (!viewports.isZoneVisibleInViewport(sheetId, zone)) continue;
|
|
66372
66373
|
const { x, y, width, height } = viewports.getVisibleRect(sheetId, zone);
|
|
66374
|
+
const currentLineWidth = ctx.lineWidth;
|
|
66373
66375
|
if (!isDarkMode) ctx.globalCompositeOperation = "multiply";
|
|
66374
66376
|
if (height === 0 || width === 0) ctx.lineWidth = 3 * thinLineWidth;
|
|
66375
66377
|
if (height === 0 && width === 0) {
|
|
@@ -66383,6 +66385,7 @@ var GridSelectionPlugin = class extends UIPlugin {
|
|
|
66383
66385
|
ctx.globalCompositeOperation = "source-over";
|
|
66384
66386
|
ctx.strokeRect(x, y, width, height);
|
|
66385
66387
|
}
|
|
66388
|
+
ctx.lineWidth = currentLineWidth;
|
|
66386
66389
|
}
|
|
66387
66390
|
ctx.globalCompositeOperation = "source-over";
|
|
66388
66391
|
const position = renderingContext.activePosition;
|
|
@@ -66529,6 +66532,9 @@ var InternalViewport = class {
|
|
|
66529
66532
|
this.adjustViewportZoneX();
|
|
66530
66533
|
this.adjustViewportZoneY();
|
|
66531
66534
|
}
|
|
66535
|
+
isZoneVisible(zone) {
|
|
66536
|
+
return intersection(zone, this) !== void 0;
|
|
66537
|
+
}
|
|
66532
66538
|
/**
|
|
66533
66539
|
*
|
|
66534
66540
|
* Computes the visible coordinates & dimensions of a given zone inside the viewport
|
|
@@ -66809,6 +66815,9 @@ var ViewportCollection = class {
|
|
|
66809
66815
|
isVisibleInViewport({ sheetId, col, row }) {
|
|
66810
66816
|
return this.getSubViewports(sheetId).some((pane) => pane.isVisible(col, row));
|
|
66811
66817
|
}
|
|
66818
|
+
isZoneVisibleInViewport(sheetId, zone) {
|
|
66819
|
+
return this.getSubViewports(sheetId).some((pane) => pane.isZoneVisible(zone));
|
|
66820
|
+
}
|
|
66812
66821
|
getScrollBarWidth() {
|
|
66813
66822
|
return 15 / this.zoomLevel;
|
|
66814
66823
|
}
|
|
@@ -69700,10 +69709,13 @@ var SpreadsheetDashboard = class extends Component {
|
|
|
69700
69709
|
return this.env.model.getters.getColDimensions(sheetId, right).end;
|
|
69701
69710
|
}
|
|
69702
69711
|
get dashboardStyle() {
|
|
69703
|
-
|
|
69712
|
+
const style = { zoom: `${this.env.model.getters.getViewportZoomLevel()}` };
|
|
69713
|
+
if (this.env.model.getters.getActiveSheet().backgroundColor) style["background-color"] = "transparent";
|
|
69714
|
+
return cssPropertiesToCss(style);
|
|
69704
69715
|
}
|
|
69705
69716
|
get backgroundStyle() {
|
|
69706
|
-
|
|
69717
|
+
const sheet = this.env.model.getters.getActiveSheet();
|
|
69718
|
+
return sheet.backgroundColor ? cssPropertiesToCss({ "background-color": sheet.backgroundColor }) : "";
|
|
69707
69719
|
}
|
|
69708
69720
|
};
|
|
69709
69721
|
|
|
@@ -70882,18 +70894,28 @@ var NamedRangeSelector = class extends Component {
|
|
|
70882
70894
|
return;
|
|
70883
70895
|
}
|
|
70884
70896
|
const activeSheetId = this.env.model.getters.getActiveSheetId();
|
|
70885
|
-
if (activeSheetId !== sheetId)
|
|
70886
|
-
|
|
70887
|
-
|
|
70888
|
-
|
|
70889
|
-
|
|
70897
|
+
if (activeSheetId !== sheetId) {
|
|
70898
|
+
if (!this.env.model.getters.getSheet(sheetId).isVisible) {
|
|
70899
|
+
this.env.notifyUser({
|
|
70900
|
+
text: _t("The sheet on which the range is defined is hidden."),
|
|
70901
|
+
type: "info",
|
|
70902
|
+
sticky: false
|
|
70903
|
+
});
|
|
70904
|
+
return;
|
|
70905
|
+
}
|
|
70906
|
+
this.env.model.dispatch("ACTIVATE_SHEET", {
|
|
70907
|
+
sheetIdFrom: activeSheetId,
|
|
70908
|
+
sheetIdTo: sheetId
|
|
70909
|
+
});
|
|
70910
|
+
}
|
|
70911
|
+
this.env.model.selection.selectCell(zone.right, zone.bottom, { allowsHiddenSelection: true });
|
|
70890
70912
|
this.env.model.selection.selectZone({
|
|
70891
70913
|
cell: {
|
|
70892
70914
|
col: zone.left,
|
|
70893
70915
|
row: zone.top
|
|
70894
70916
|
},
|
|
70895
70917
|
zone
|
|
70896
|
-
});
|
|
70918
|
+
}, { allowsHiddenSelection: true });
|
|
70897
70919
|
}
|
|
70898
70920
|
get selectionKey() {
|
|
70899
70921
|
return `${this.env.model.getters.getActiveSheetId()}-${zoneToXc(this.selectedZone)}`;
|
|
@@ -87742,6 +87764,6 @@ exports.stores = stores;
|
|
|
87742
87764
|
exports.tokenColors = tokenColors;
|
|
87743
87765
|
exports.tokenize = tokenize;
|
|
87744
87766
|
|
|
87745
|
-
__info__.version = "19.4.
|
|
87746
|
-
__info__.date = "2026-07-
|
|
87747
|
-
__info__.hash = "
|
|
87767
|
+
__info__.version = "19.4.2";
|
|
87768
|
+
__info__.date = "2026-07-13T06:26:39.071Z";
|
|
87769
|
+
__info__.hash = "c83d4aa";
|
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.4.
|
|
6
|
-
* @date 2026-07-
|
|
7
|
-
* @hash
|
|
5
|
+
* @version 19.4.2
|
|
6
|
+
* @date 2026-07-13T06:26:40.770Z
|
|
7
|
+
* @hash c83d4aa
|
|
8
8
|
*/
|
|
9
9
|
:root {
|
|
10
10
|
--os-gray-100: light-dark(#f9fafb, #1b1d26);
|
|
@@ -2864,10 +2864,6 @@
|
|
|
2864
2864
|
position: absolute;
|
|
2865
2865
|
cursor: pointer;
|
|
2866
2866
|
}
|
|
2867
|
-
|
|
2868
|
-
.o-grid.o-dashboard-grid {
|
|
2869
|
-
background-color: transparent;
|
|
2870
|
-
}
|
|
2871
2867
|
}
|
|
2872
2868
|
|
|
2873
2869
|
/* Originates from src/components/dashboard/clickable_cell_sort_icon/clickable_cell_sort_icon.css */
|
|
@@ -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.4.
|
|
6
|
-
* @date 2026-07-
|
|
7
|
-
* @hash
|
|
5
|
+
* @version 19.4.2
|
|
6
|
+
* @date 2026-07-13T06:26:39.071Z
|
|
7
|
+
* @hash c83d4aa
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
import * as owl from "@odoo/owl";
|
|
@@ -28055,7 +28055,7 @@ function filterInvalidCalendarDataPoints(labels, datasets) {
|
|
|
28055
28055
|
*/
|
|
28056
28056
|
function filterInvalidHierarchicalPoints(values, hierarchy) {
|
|
28057
28057
|
const numberOfDataPoints = Math.max(values.length, ...hierarchy.map((dataset) => dataset.data?.length || 0));
|
|
28058
|
-
const isEmpty = (value) => value === null || value === "";
|
|
28058
|
+
const isEmpty = (value) => value === void 0 || value === null || value === "";
|
|
28059
28059
|
const dataPointsIndexes = range(0, numberOfDataPoints).filter((dataPointIndex) => {
|
|
28060
28060
|
const groups = hierarchy.map((dataset) => dataset.data?.[dataPointIndex]);
|
|
28061
28061
|
if (isEmpty(groups[0]?.value)) return false;
|
|
@@ -58719,13 +58719,13 @@ var EvaluationConditionalFormatPlugin = class extends CoreViewPlugin {
|
|
|
58719
58719
|
const minValue = this.parsePoint(sheetId, range, rule.minimum, "min");
|
|
58720
58720
|
const midValue = rule.midpoint ? this.parsePoint(sheetId, range, rule.midpoint) : null;
|
|
58721
58721
|
const maxValue = this.parsePoint(sheetId, range, rule.maximum, "max");
|
|
58722
|
-
if (minValue === null || maxValue === null || minValue >= maxValue || midValue && (minValue >= midValue || midValue >= maxValue)) return;
|
|
58722
|
+
if (minValue === null || maxValue === null || minValue >= maxValue || midValue !== null && (minValue >= midValue || midValue >= maxValue)) return;
|
|
58723
58723
|
const zone = this.getters.getRangeFromSheetXC(sheetId, range).zone;
|
|
58724
58724
|
const colorThresholds = [{
|
|
58725
58725
|
value: minValue,
|
|
58726
58726
|
color: rule.minimum.color
|
|
58727
58727
|
}];
|
|
58728
|
-
if (rule.midpoint && midValue) colorThresholds.push({
|
|
58728
|
+
if (rule.midpoint && midValue !== null) colorThresholds.push({
|
|
58729
58729
|
value: midValue,
|
|
58730
58730
|
color: rule.midpoint.color
|
|
58731
58731
|
});
|
|
@@ -66184,7 +66184,9 @@ var GridSelectionPlugin = class extends UIPlugin {
|
|
|
66184
66184
|
ctx.lineWidth = 1.5 * thinLineWidth;
|
|
66185
66185
|
const isDarkMode = this.getters.isDarkMode();
|
|
66186
66186
|
for (const zone of zones) {
|
|
66187
|
+
if (!viewports.isZoneVisibleInViewport(sheetId, zone)) continue;
|
|
66187
66188
|
const { x, y, width, height } = viewports.getVisibleRect(sheetId, zone);
|
|
66189
|
+
const currentLineWidth = ctx.lineWidth;
|
|
66188
66190
|
if (!isDarkMode) ctx.globalCompositeOperation = "multiply";
|
|
66189
66191
|
if (height === 0 || width === 0) ctx.lineWidth = 3 * thinLineWidth;
|
|
66190
66192
|
if (height === 0 && width === 0) {
|
|
@@ -66198,6 +66200,7 @@ var GridSelectionPlugin = class extends UIPlugin {
|
|
|
66198
66200
|
ctx.globalCompositeOperation = "source-over";
|
|
66199
66201
|
ctx.strokeRect(x, y, width, height);
|
|
66200
66202
|
}
|
|
66203
|
+
ctx.lineWidth = currentLineWidth;
|
|
66201
66204
|
}
|
|
66202
66205
|
ctx.globalCompositeOperation = "source-over";
|
|
66203
66206
|
const position = renderingContext.activePosition;
|
|
@@ -66344,6 +66347,9 @@ var InternalViewport = class {
|
|
|
66344
66347
|
this.adjustViewportZoneX();
|
|
66345
66348
|
this.adjustViewportZoneY();
|
|
66346
66349
|
}
|
|
66350
|
+
isZoneVisible(zone) {
|
|
66351
|
+
return intersection(zone, this) !== void 0;
|
|
66352
|
+
}
|
|
66347
66353
|
/**
|
|
66348
66354
|
*
|
|
66349
66355
|
* Computes the visible coordinates & dimensions of a given zone inside the viewport
|
|
@@ -66624,6 +66630,9 @@ var ViewportCollection = class {
|
|
|
66624
66630
|
isVisibleInViewport({ sheetId, col, row }) {
|
|
66625
66631
|
return this.getSubViewports(sheetId).some((pane) => pane.isVisible(col, row));
|
|
66626
66632
|
}
|
|
66633
|
+
isZoneVisibleInViewport(sheetId, zone) {
|
|
66634
|
+
return this.getSubViewports(sheetId).some((pane) => pane.isZoneVisible(zone));
|
|
66635
|
+
}
|
|
66627
66636
|
getScrollBarWidth() {
|
|
66628
66637
|
return 15 / this.zoomLevel;
|
|
66629
66638
|
}
|
|
@@ -69515,10 +69524,13 @@ var SpreadsheetDashboard = class extends Component {
|
|
|
69515
69524
|
return this.env.model.getters.getColDimensions(sheetId, right).end;
|
|
69516
69525
|
}
|
|
69517
69526
|
get dashboardStyle() {
|
|
69518
|
-
|
|
69527
|
+
const style = { zoom: `${this.env.model.getters.getViewportZoomLevel()}` };
|
|
69528
|
+
if (this.env.model.getters.getActiveSheet().backgroundColor) style["background-color"] = "transparent";
|
|
69529
|
+
return cssPropertiesToCss(style);
|
|
69519
69530
|
}
|
|
69520
69531
|
get backgroundStyle() {
|
|
69521
|
-
|
|
69532
|
+
const sheet = this.env.model.getters.getActiveSheet();
|
|
69533
|
+
return sheet.backgroundColor ? cssPropertiesToCss({ "background-color": sheet.backgroundColor }) : "";
|
|
69522
69534
|
}
|
|
69523
69535
|
};
|
|
69524
69536
|
|
|
@@ -70697,18 +70709,28 @@ var NamedRangeSelector = class extends Component {
|
|
|
70697
70709
|
return;
|
|
70698
70710
|
}
|
|
70699
70711
|
const activeSheetId = this.env.model.getters.getActiveSheetId();
|
|
70700
|
-
if (activeSheetId !== sheetId)
|
|
70701
|
-
|
|
70702
|
-
|
|
70703
|
-
|
|
70704
|
-
|
|
70712
|
+
if (activeSheetId !== sheetId) {
|
|
70713
|
+
if (!this.env.model.getters.getSheet(sheetId).isVisible) {
|
|
70714
|
+
this.env.notifyUser({
|
|
70715
|
+
text: _t("The sheet on which the range is defined is hidden."),
|
|
70716
|
+
type: "info",
|
|
70717
|
+
sticky: false
|
|
70718
|
+
});
|
|
70719
|
+
return;
|
|
70720
|
+
}
|
|
70721
|
+
this.env.model.dispatch("ACTIVATE_SHEET", {
|
|
70722
|
+
sheetIdFrom: activeSheetId,
|
|
70723
|
+
sheetIdTo: sheetId
|
|
70724
|
+
});
|
|
70725
|
+
}
|
|
70726
|
+
this.env.model.selection.selectCell(zone.right, zone.bottom, { allowsHiddenSelection: true });
|
|
70705
70727
|
this.env.model.selection.selectZone({
|
|
70706
70728
|
cell: {
|
|
70707
70729
|
col: zone.left,
|
|
70708
70730
|
row: zone.top
|
|
70709
70731
|
},
|
|
70710
70732
|
zone
|
|
70711
|
-
});
|
|
70733
|
+
}, { allowsHiddenSelection: true });
|
|
70712
70734
|
}
|
|
70713
70735
|
get selectionKey() {
|
|
70714
70736
|
return `${this.env.model.getters.getActiveSheetId()}-${zoneToXc(this.selectedZone)}`;
|
|
@@ -87463,6 +87485,6 @@ const chartHelpers = {
|
|
|
87463
87485
|
//#endregion
|
|
87464
87486
|
export { AbstractCellClipboardHandler, AbstractChart, AbstractFigureClipboardHandler, BadExpressionError, CHART_TYPES, CellErrorType, CellValueType, CircularDependencyError, ClientDisconnectedError, ClipboardMIMEType, CommandResult, CompiledFormula, CorePlugin, CoreViewPlugin, DEFAULT_LOCALE, DEFAULT_LOCALES, DEFAULT_LOCALE_DIGIT_GROUPING, DIRECTION, DispatchResult, DivisionByZeroError, EvaluationError, InvalidReferenceError, LocalTransportService, Model, NEXT_VALUE, NotAvailableError, NumberTooLargeError, OrderedLayers, PREVIOUS_VALUE, PivotRuntimeDefinition, Registry, Revision, SPREADSHEET_DIMENSIONS, SplillBlockedError, Spreadsheet, SpreadsheetPivotTable, UIPlugin, UnknownFunctionError, __info__, addFunction, addRenderingLayer, astToFormula, availableConditionalFormatOperators, availableDataValidationOperators, availableFiltersOperators, borderPositions, borderStyles, canExecuteInReadonly, categories, chartHelpers, compatibility, components, composerFocusTypes, constants, convertAstNodes, coreTypes, createAutocompleteArgumentsProvider, errorTypes, filterDateCriterionOperators, filterNumberCriterionOperators, filterTextCriterionOperators, findCellInNewZone, functionCache, getCaretDownSvg, getCaretUpSvg, helpers, hooks, invalidSubtotalFormulasCommands, invalidateBordersCommands, invalidateCFEvaluationCommands, invalidateChartEvaluationCommands, invalidateDependenciesCommands, invalidateEvaluationCommands, isCoreCommand, isHeadersDependant, isMatrix, isPositionDependent, isRangeDependant, isSheetDependent, isTargetDependent, isZoneDependent, iterateAstNodes, links, load, lockedSheetAllowedCommands, parse, parseTokens, readonlyAllowedCommands, registries, schemeToColorScale, setDefaultSheetViewSize, setTranslationMethod, stores, tokenColors, tokenize };
|
|
87465
87487
|
|
|
87466
|
-
__info__.version = "19.4.
|
|
87467
|
-
__info__.date = "2026-07-
|
|
87468
|
-
__info__.hash = "
|
|
87488
|
+
__info__.version = "19.4.2";
|
|
87489
|
+
__info__.date = "2026-07-13T06:26:39.071Z";
|
|
87490
|
+
__info__.hash = "c83d4aa";
|
|
@@ -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.4.
|
|
6
|
-
* @date 2026-07-
|
|
7
|
-
* @hash
|
|
5
|
+
* @version 19.4.2
|
|
6
|
+
* @date 2026-07-13T06:26:39.071Z
|
|
7
|
+
* @hash c83d4aa
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
(function(exports, _odoo_owl) {
|
|
@@ -28057,7 +28057,7 @@ set(value) {
|
|
|
28057
28057
|
*/
|
|
28058
28058
|
function filterInvalidHierarchicalPoints(values, hierarchy) {
|
|
28059
28059
|
const numberOfDataPoints = Math.max(values.length, ...hierarchy.map((dataset) => dataset.data?.length || 0));
|
|
28060
|
-
const isEmpty = (value) => value === null || value === "";
|
|
28060
|
+
const isEmpty = (value) => value === void 0 || value === null || value === "";
|
|
28061
28061
|
const dataPointsIndexes = range(0, numberOfDataPoints).filter((dataPointIndex) => {
|
|
28062
28062
|
const groups = hierarchy.map((dataset) => dataset.data?.[dataPointIndex]);
|
|
28063
28063
|
if (isEmpty(groups[0]?.value)) return false;
|
|
@@ -58721,13 +58721,13 @@ set(value) {
|
|
|
58721
58721
|
const minValue = this.parsePoint(sheetId, range, rule.minimum, "min");
|
|
58722
58722
|
const midValue = rule.midpoint ? this.parsePoint(sheetId, range, rule.midpoint) : null;
|
|
58723
58723
|
const maxValue = this.parsePoint(sheetId, range, rule.maximum, "max");
|
|
58724
|
-
if (minValue === null || maxValue === null || minValue >= maxValue || midValue && (minValue >= midValue || midValue >= maxValue)) return;
|
|
58724
|
+
if (minValue === null || maxValue === null || minValue >= maxValue || midValue !== null && (minValue >= midValue || midValue >= maxValue)) return;
|
|
58725
58725
|
const zone = this.getters.getRangeFromSheetXC(sheetId, range).zone;
|
|
58726
58726
|
const colorThresholds = [{
|
|
58727
58727
|
value: minValue,
|
|
58728
58728
|
color: rule.minimum.color
|
|
58729
58729
|
}];
|
|
58730
|
-
if (rule.midpoint && midValue) colorThresholds.push({
|
|
58730
|
+
if (rule.midpoint && midValue !== null) colorThresholds.push({
|
|
58731
58731
|
value: midValue,
|
|
58732
58732
|
color: rule.midpoint.color
|
|
58733
58733
|
});
|
|
@@ -66186,7 +66186,9 @@ set(value) {
|
|
|
66186
66186
|
ctx.lineWidth = 1.5 * thinLineWidth;
|
|
66187
66187
|
const isDarkMode = this.getters.isDarkMode();
|
|
66188
66188
|
for (const zone of zones) {
|
|
66189
|
+
if (!viewports.isZoneVisibleInViewport(sheetId, zone)) continue;
|
|
66189
66190
|
const { x, y, width, height } = viewports.getVisibleRect(sheetId, zone);
|
|
66191
|
+
const currentLineWidth = ctx.lineWidth;
|
|
66190
66192
|
if (!isDarkMode) ctx.globalCompositeOperation = "multiply";
|
|
66191
66193
|
if (height === 0 || width === 0) ctx.lineWidth = 3 * thinLineWidth;
|
|
66192
66194
|
if (height === 0 && width === 0) {
|
|
@@ -66200,6 +66202,7 @@ set(value) {
|
|
|
66200
66202
|
ctx.globalCompositeOperation = "source-over";
|
|
66201
66203
|
ctx.strokeRect(x, y, width, height);
|
|
66202
66204
|
}
|
|
66205
|
+
ctx.lineWidth = currentLineWidth;
|
|
66203
66206
|
}
|
|
66204
66207
|
ctx.globalCompositeOperation = "source-over";
|
|
66205
66208
|
const position = renderingContext.activePosition;
|
|
@@ -66346,6 +66349,9 @@ set(value) {
|
|
|
66346
66349
|
this.adjustViewportZoneX();
|
|
66347
66350
|
this.adjustViewportZoneY();
|
|
66348
66351
|
}
|
|
66352
|
+
isZoneVisible(zone) {
|
|
66353
|
+
return intersection(zone, this) !== void 0;
|
|
66354
|
+
}
|
|
66349
66355
|
/**
|
|
66350
66356
|
*
|
|
66351
66357
|
* Computes the visible coordinates & dimensions of a given zone inside the viewport
|
|
@@ -66626,6 +66632,9 @@ set(value) {
|
|
|
66626
66632
|
isVisibleInViewport({ sheetId, col, row }) {
|
|
66627
66633
|
return this.getSubViewports(sheetId).some((pane) => pane.isVisible(col, row));
|
|
66628
66634
|
}
|
|
66635
|
+
isZoneVisibleInViewport(sheetId, zone) {
|
|
66636
|
+
return this.getSubViewports(sheetId).some((pane) => pane.isZoneVisible(zone));
|
|
66637
|
+
}
|
|
66629
66638
|
getScrollBarWidth() {
|
|
66630
66639
|
return 15 / this.zoomLevel;
|
|
66631
66640
|
}
|
|
@@ -69517,10 +69526,13 @@ set(value) {
|
|
|
69517
69526
|
return this.env.model.getters.getColDimensions(sheetId, right).end;
|
|
69518
69527
|
}
|
|
69519
69528
|
get dashboardStyle() {
|
|
69520
|
-
|
|
69529
|
+
const style = { zoom: `${this.env.model.getters.getViewportZoomLevel()}` };
|
|
69530
|
+
if (this.env.model.getters.getActiveSheet().backgroundColor) style["background-color"] = "transparent";
|
|
69531
|
+
return cssPropertiesToCss(style);
|
|
69521
69532
|
}
|
|
69522
69533
|
get backgroundStyle() {
|
|
69523
|
-
|
|
69534
|
+
const sheet = this.env.model.getters.getActiveSheet();
|
|
69535
|
+
return sheet.backgroundColor ? cssPropertiesToCss({ "background-color": sheet.backgroundColor }) : "";
|
|
69524
69536
|
}
|
|
69525
69537
|
};
|
|
69526
69538
|
|
|
@@ -70699,18 +70711,28 @@ set(value) {
|
|
|
70699
70711
|
return;
|
|
70700
70712
|
}
|
|
70701
70713
|
const activeSheetId = this.env.model.getters.getActiveSheetId();
|
|
70702
|
-
if (activeSheetId !== sheetId)
|
|
70703
|
-
|
|
70704
|
-
|
|
70705
|
-
|
|
70706
|
-
|
|
70714
|
+
if (activeSheetId !== sheetId) {
|
|
70715
|
+
if (!this.env.model.getters.getSheet(sheetId).isVisible) {
|
|
70716
|
+
this.env.notifyUser({
|
|
70717
|
+
text: _t("The sheet on which the range is defined is hidden."),
|
|
70718
|
+
type: "info",
|
|
70719
|
+
sticky: false
|
|
70720
|
+
});
|
|
70721
|
+
return;
|
|
70722
|
+
}
|
|
70723
|
+
this.env.model.dispatch("ACTIVATE_SHEET", {
|
|
70724
|
+
sheetIdFrom: activeSheetId,
|
|
70725
|
+
sheetIdTo: sheetId
|
|
70726
|
+
});
|
|
70727
|
+
}
|
|
70728
|
+
this.env.model.selection.selectCell(zone.right, zone.bottom, { allowsHiddenSelection: true });
|
|
70707
70729
|
this.env.model.selection.selectZone({
|
|
70708
70730
|
cell: {
|
|
70709
70731
|
col: zone.left,
|
|
70710
70732
|
row: zone.top
|
|
70711
70733
|
},
|
|
70712
70734
|
zone
|
|
70713
|
-
});
|
|
70735
|
+
}, { allowsHiddenSelection: true });
|
|
70714
70736
|
}
|
|
70715
70737
|
get selectionKey() {
|
|
70716
70738
|
return `${this.env.model.getters.getActiveSheetId()}-${zoneToXc(this.selectedZone)}`;
|
|
@@ -87559,8 +87581,8 @@ exports.stores = stores;
|
|
|
87559
87581
|
exports.tokenColors = tokenColors;
|
|
87560
87582
|
exports.tokenize = tokenize;
|
|
87561
87583
|
|
|
87562
|
-
__info__.version = "19.4.
|
|
87563
|
-
__info__.date = "2026-07-
|
|
87564
|
-
__info__.hash = "
|
|
87584
|
+
__info__.version = "19.4.2";
|
|
87585
|
+
__info__.date = "2026-07-13T06:26:39.071Z";
|
|
87586
|
+
__info__.hash = "c83d4aa";
|
|
87565
87587
|
|
|
87566
87588
|
})(this.o_spreadsheet = this.o_spreadsheet || {}, owl);
|