@odoo/o-spreadsheet 18.3.55 → 18.3.56
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 18.3.
|
|
6
|
-
* @date 2026-07-
|
|
7
|
-
* @hash
|
|
5
|
+
* @version 18.3.56
|
|
6
|
+
* @date 2026-07-20T10:59:24.232Z
|
|
7
|
+
* @hash a8d15b9
|
|
8
8
|
*/
|
|
9
9
|
/* Originates from src/components/top_bar/top_bar.scss */
|
|
10
10
|
@media (max-width: 900px) {
|
|
@@ -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 2026-07-
|
|
7
|
-
* @hash
|
|
5
|
+
* @version 18.3.56
|
|
6
|
+
* @date 2026-07-20T10:59:22.640Z
|
|
7
|
+
* @hash a8d15b9
|
|
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";
|
|
@@ -39296,7 +39296,7 @@ var ScorecardChartConfigPanel = class extends Component {
|
|
|
39296
39296
|
return !!this.state.keyValueDispatchResult?.isCancelledBecause("InvalidScorecardKeyValue");
|
|
39297
39297
|
}
|
|
39298
39298
|
get isBaselineInvalid() {
|
|
39299
|
-
return !!this.state.
|
|
39299
|
+
return !!this.state.baselineDispatchResult?.isCancelledBecause("InvalidScorecardBaseline");
|
|
39300
39300
|
}
|
|
39301
39301
|
onKeyValueRangeChanged(ranges) {
|
|
39302
39302
|
this.keyValue = ranges[0];
|
|
@@ -72237,6 +72237,6 @@ const chartHelpers = {
|
|
|
72237
72237
|
//#endregion
|
|
72238
72238
|
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 };
|
|
72239
72239
|
|
|
72240
|
-
__info__.version = "18.3.
|
|
72241
|
-
__info__.date = "2026-07-
|
|
72242
|
-
__info__.hash = "
|
|
72240
|
+
__info__.version = "18.3.56";
|
|
72241
|
+
__info__.date = "2026-07-20T10:59:22.640Z";
|
|
72242
|
+
__info__.hash = "a8d15b9";
|
|
@@ -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 2026-07-
|
|
7
|
-
* @hash
|
|
5
|
+
* @version 18.3.56
|
|
6
|
+
* @date 2026-07-20T10:59:22.640Z
|
|
7
|
+
* @hash a8d15b9
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
(function(exports, _odoo_owl) {
|
|
@@ -39298,7 +39298,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
39298
39298
|
return !!this.state.keyValueDispatchResult?.isCancelledBecause("InvalidScorecardKeyValue");
|
|
39299
39299
|
}
|
|
39300
39300
|
get isBaselineInvalid() {
|
|
39301
|
-
return !!this.state.
|
|
39301
|
+
return !!this.state.baselineDispatchResult?.isCancelledBecause("InvalidScorecardBaseline");
|
|
39302
39302
|
}
|
|
39303
39303
|
onKeyValueRangeChanged(ranges) {
|
|
39304
39304
|
this.keyValue = ranges[0];
|
|
@@ -72286,8 +72286,8 @@ exports.stores = stores;
|
|
|
72286
72286
|
exports.tokenColors = tokenColors;
|
|
72287
72287
|
exports.tokenize = tokenize;
|
|
72288
72288
|
|
|
72289
|
-
__info__.version = "18.3.
|
|
72290
|
-
__info__.date = "2026-07-
|
|
72291
|
-
__info__.hash = "
|
|
72289
|
+
__info__.version = "18.3.56";
|
|
72290
|
+
__info__.date = "2026-07-20T10:59:22.640Z";
|
|
72291
|
+
__info__.hash = "a8d15b9";
|
|
72292
72292
|
|
|
72293
72293
|
})(this.o_spreadsheet = this.o_spreadsheet || {}, owl);
|
|
@@ -965,7 +965,7 @@ stores.inject(MyMetaStore, storeInstance);
|
|
|
965
965
|
height: 100%;
|
|
966
966
|
}
|
|
967
967
|
}
|
|
968
|
-
`;var IL=class extends t.Component{static template=`o-spreadsheet-GaugeChartDesignPanel`;static components={SidePanelCollapsible:nL,Section:Q,RoundColorPicker:fL,GeneralDesignEditor:pL,ChartErrorSection:ZI,StandaloneComposer:FL};static props={figureId:String,definition:Object,updateChart:Function,canUpdateChart:{type:Function,optional:!0}};state;setup(){this.state=(0,t.useState)({sectionRuleCancelledReasons:new Set(this.checkSectionRuleFormulasAreValid(this.props.definition.sectionRule)),sectionRule:b(this.props.definition.sectionRule)})}get designErrorMessages(){return[...this.state.sectionRuleCancelledReasons||[]].filter(e=>e!==`NoChanges`).map(e=>dw.Errors[e]||dw.Errors.Unexpected)}get isRangeMinInvalid(){return!!(this.state.sectionRuleCancelledReasons?.has(`EmptyGaugeRangeMin`)||this.state.sectionRuleCancelledReasons?.has(`GaugeRangeMinNaN`))}get isRangeMaxInvalid(){return!!(this.state.sectionRuleCancelledReasons?.has(`EmptyGaugeRangeMax`)||this.state.sectionRuleCancelledReasons?.has(`GaugeRangeMaxNaN`))}get isLowerInflectionPointInvalid(){return!!this.state.sectionRuleCancelledReasons?.has(`GaugeLowerInflectionPointNaN`)}get isUpperInflectionPointInvalid(){return!!this.state.sectionRuleCancelledReasons?.has(`GaugeUpperInflectionPointNaN`)}updateSectionColor(e,t){let n=b(this.state.sectionRule);n.colors[e]=t,this.updateSectionRule(n)}updateSectionRule(e){this.state.sectionRuleCancelledReasons=new Set(this.checkSectionRuleFormulasAreValid(this.state.sectionRule));let t=this.props.updateChart(this.props.figureId,{sectionRule:e});if(t.isSuccessful)this.state.sectionRule=b(e);else for(let e of t.reasons)this.state.sectionRuleCancelledReasons.add(e)}onConfirmGaugeRange(e,t){this.state.sectionRule={...this.state.sectionRule,[e]:t},this.updateSectionRule(this.state.sectionRule)}getGaugeInflectionComposerProps(e){let t=e===`lowerColor`?`lowerInflectionPoint`:`upperInflectionPoint`,n=this.state.sectionRule[t];return{onConfirm:e=>{this.state.sectionRule={...this.state.sectionRule,[t]:{...n,value:e}},this.updateSectionRule(this.state.sectionRule)},composerContent:n.value,invalid:e===`lowerColor`?this.isLowerInflectionPointInvalid:this.isUpperInflectionPointInvalid,defaultRangeSheetId:this.sheetId,class:t,placeholder:O(`Value`),title:O(`Value or formula`)}}checkSectionRuleFormulasAreValid(e){let t=new Set;return this.valueIsValidNumber(e.rangeMin)||t.add(`GaugeRangeMinNaN`),this.valueIsValidNumber(e.rangeMax)||t.add(`GaugeRangeMaxNaN`),this.valueIsValidNumber(e.lowerInflectionPoint.value)||t.add(`GaugeLowerInflectionPointNaN`),this.valueIsValidNumber(e.upperInflectionPoint.value)||t.add(`GaugeUpperInflectionPointNaN`),t}valueIsValidNumber(e){let t=this.env.model.getters.getLocale();if(!e.startsWith(`=`))return ja(e,t)!==void 0;let n=this.env.model.getters.evaluateFormula(this.sheetId,e);return A(n)?!1:ja(n,t)!==void 0}get sheetId(){let e=this.env.model.getters.getChart(this.props.figureId);if(!e)throw Error(`Chart not found with id `+this.props.figureId);return e.sheetId}},LL=class extends t.Component{static template=`o-spreadsheet-GeoChartRegionSelectSection`;static components={Section:Q};static props={figureId:String,definition:Object,updateChart:Function};updateSelectedRegion(e){let t=e.target.value;this.props.updateChart(this.props.figureId,{region:t})}get availableRegions(){return this.env.model.getters.getGeoChartAvailableRegions()}get selectedRegion(){return this.props.definition.region||this.availableRegions[0]?.id}},RL=class extends $I{static template=`o-spreadsheet-GeoChartConfigPanel`;static components={...$I.components,GeoChartRegionSelectSection:LL};get dataRanges(){return this.getDataSeriesRanges().slice(0,1)}onDataSeriesConfirmed(){this.dataSets=hc(this.env.model.getters,this.dataSets).slice(0,1),this.state.datasetDispatchResult=this.props.updateChart(this.props.figureId,{dataSets:this.dataSets})}getLabelRangeOptions(){return[{name:`dataSetsHaveTitle`,label:this.dataSetsHaveTitleLabel,value:this.props.definition.dataSetsHaveTitle,onChange:this.onUpdateDataSetsHaveTitle.bind(this)}]}};let zL={minColor:`#FFF5EB`,midColor:`#FD8D3C`,maxColor:`#7F2704`};var BL=class extends _L{static template=`o-spreadsheet-GeoChartDesignPanel`;static components={..._L.components,RoundColorPicker:fL};colorScalesChoices=dw.GeoChart.ColorScales;updateColorScaleType(e){let t=e.target.value;t===`custom`?this.updateColorScale(zL):this.updateColorScale(t)}updateColorScale(e){this.props.updateChart(this.props.figureId,{colorScale:e})}updateMissingValueColor(e){this.props.updateChart(this.props.figureId,{missingValueColor:e})}updateLegendPosition(e){let t=e.target.value;this.props.updateChart(this.props.figureId,{legendPosition:t})}get selectedColorScale(){return typeof this.props.definition.colorScale==`object`?`custom`:this.props.definition.colorScale||`oranges`}get selectedMissingValueColor(){return this.props.definition.missingValueColor||`#ffffff`}get customColorScale(){if(typeof this.props.definition.colorScale==`object`)return this.props.definition.colorScale}getCustomColorScaleColor(e){return this.customColorScale?.[e]??``}setCustomColorScaleColor(e,t){!t&&e!==`midColor`&&(t=`#fff`);let n=this.customColorScale;n&&this.updateColorScale({...n,[e]:t})}},VL=class extends $I{static template=`o-spreadsheet-HierarchicalChartConfigPanel`;static components={...$I.components};getLabelRangeOptions(){return[{name:`dataSetsHaveTitle`,label:this.dataSetsHaveTitleLabel,value:this.props.definition.dataSetsHaveTitle,onChange:this.onUpdateDataSetsHaveTitle.bind(this)}]}},HL=class extends $I{static template=`o-spreadsheet-LineConfigPanel`;get canTreatLabelsAsText(){let e=this.env.model.getters.getChart(this.props.figureId);return e&&e instanceof SE?Vw(e.getDefinition(),e.dataSets,e.labelRange,this.env.model.getters):!1}get stackedLabel(){return this.props.definition.fillArea?this.chartTerms.StackedAreaChart:this.chartTerms.StackedLineChart}getLabelRangeOptions(){let e=super.getLabelRangeOptions();return this.canTreatLabelsAsText&&e.push({name:`labelsAsText`,value:this.props.definition.labelsAsText,label:this.chartTerms.TreatLabelsAsText,onChange:this.onUpdateLabelsAsText.bind(this)}),e}onUpdateLabelsAsText(e){this.props.updateChart(this.props.figureId,{labelsAsText:e})}onUpdateStacked(e){this.props.updateChart(this.props.figureId,{stacked:e})}onUpdateCumulative(e){this.props.updateChart(this.props.figureId,{cumulative:e})}},UL=class extends t.Component{static template=`o-spreadsheet-PieChartDesignPanel`;static components={GeneralDesignEditor:pL,Section:Q,Checkbox:Xj,ChartLegend:mL};static props={figureId:String,definition:Object,updateChart:Function,canUpdateChart:{type:Function,optional:!0}}},WL=class extends t.Component{static template=`o-spreadsheet-RadarChartDesignPanel`;static components={GeneralDesignEditor:pL,SeriesDesignEditor:hL,Section:Q,Checkbox:Xj,ChartLegend:mL};static props={figureId:String,definition:Object,canUpdateChart:Function,updateChart:Function}},GL=class extends $I{static template=`o-spreadsheet-ScatterConfigPanel`;get canTreatLabelsAsText(){let e=this.env.model.getters.getChart(this.props.figureId);return e&&e instanceof AE?Vw(e.getDefinition(),e.dataSets,e.labelRange,this.env.model.getters):!1}onUpdateLabelsAsText(e){this.props.updateChart(this.props.figureId,{labelsAsText:e})}getLabelRangeOptions(){let e=super.getLabelRangeOptions();return this.canTreatLabelsAsText&&e.push({name:`labelsAsText`,value:this.props.definition.labelsAsText,label:this.chartTerms.TreatLabelsAsText,onChange:this.onUpdateLabelsAsText.bind(this)}),e}},KL=class extends t.Component{static template=`o-spreadsheet-ScorecardChartConfigPanel`;static components={SelectionInput:JI,ChartErrorSection:ZI,Section:Q};static props={figureId:String,definition:Object,updateChart:Function,canUpdateChart:Function};state=(0,t.useState)({keyValueDispatchResult:void 0,baselineDispatchResult:void 0});keyValue=this.props.definition.keyValue;baseline=this.props.definition.baseline;get errorMessages(){return[...this.state.keyValueDispatchResult?.reasons||[],...this.state.baselineDispatchResult?.reasons||[]].filter(e=>e!==`NoChanges`).map(e=>dw.Errors[e]||dw.Errors.Unexpected)}get isKeyValueInvalid(){return!!this.state.keyValueDispatchResult?.isCancelledBecause(`InvalidScorecardKeyValue`)}get isBaselineInvalid(){return!!this.state.keyValueDispatchResult?.isCancelledBecause(`InvalidScorecardBaseline`)}onKeyValueRangeChanged(e){this.keyValue=e[0],this.state.keyValueDispatchResult=this.props.canUpdateChart(this.props.figureId,{keyValue:this.keyValue})}updateKeyValueRange(){this.state.keyValueDispatchResult=this.props.updateChart(this.props.figureId,{keyValue:this.keyValue})}getKeyValueRange(){return this.keyValue||``}onBaselineRangeChanged(e){this.baseline=e[0],this.state.baselineDispatchResult=this.props.canUpdateChart(this.props.figureId,{baseline:this.baseline})}updateBaselineRange(){this.state.baselineDispatchResult=this.props.updateChart(this.props.figureId,{baseline:this.baseline})}getBaselineRange(){return this.baseline||``}updateBaselineMode(e){this.props.updateChart(this.props.figureId,{baselineMode:e.target.value})}},qL=class extends t.Component{static template=`o-spreadsheet-ScorecardChartDesignPanel`;static components={GeneralDesignEditor:pL,RoundColorPicker:fL,SidePanelCollapsible:nL,Section:Q,Checkbox:Xj};static props={figureId:String,definition:Object,updateChart:Function,canUpdateChart:{type:Function,optional:!0}};get colorsSectionTitle(){return this.props.definition.baselineMode===`progress`?O(`Progress bar colors`):O(`Baseline colors`)}get humanizeNumbersLabel(){return O(`Humanize numbers`)}get defaultScorecardTitleFontSize(){return 14}updateHumanizeNumbers(e){this.props.updateChart(this.props.figureId,{humanize:e})}translate(e){return O(e)}updateBaselineDescr(e){this.props.updateChart(this.props.figureId,{baselineDescr:e.target.value})}setColor(e,t){switch(t){case`backgroundColor`:this.props.updateChart(this.props.figureId,{background:e});break;case`baselineColorDown`:this.props.updateChart(this.props.figureId,{baselineColorDown:e});break;case`baselineColorUp`:this.props.updateChart(this.props.figureId,{baselineColorUp:e});break}}},JL=class extends t.Component{static template=`o-spreadsheet-SunburstChartDesignPanel`;static components={GeneralDesignEditor:pL,Section:Q,SidePanelCollapsible:nL,Checkbox:Xj,TextStyler:cL,RoundColorPicker:fL,ChartLegend:mL};static props={figureId:String,definition:Object,updateChart:Function,canUpdateChart:{type:Function,optional:!0}};defaults=NT;get showValues(){return this.props.definition.showValues??NT.showValues}get showLabels(){return this.props.definition.showLabels??NT.showLabels}get groupColors(){let e=this.props.figureId;return this.env.model.getters.getChartRuntime(e).chartJsConfig.data.datasets[0]?.groupColors||[]}onGroupColorChanged(e,t){let n=b(this.props.definition.groupColors)??[];n[e]=t,this.props.updateChart(this.props.figureId,{groupColors:n})}},YL=class extends t.Component{static template=`o-spreadsheet-TreeMapCategoryColors`;static components={Checkbox:Xj,RoundColorPicker:fL};static props={figureId:String,definition:Object,onColorChanged:Function};get coloringOptions(){let e=this.props.definition.coloringOptions??uS.coloringOptions;if(e.type!==`categoryColor`)throw Error(`Coloring options is not solid color`);return e}getTreeGroupAndColors(){return this.env.model.getters.getChartRuntime(this.props.figureId).chartJsConfig.data.datasets[0]?.groupColors||[]}onGroupColorChanged(e,t){let n=b(this.coloringOptions);n.colors[e]=t||void 0,this.props.onColorChanged(n)}useValueBasedGradient(e){if(this.coloringOptions.type!==`categoryColor`)throw Error(`Coloring options is not solid color`);this.props.onColorChanged({...this.coloringOptions,useValueBasedGradient:e})}},XL=class extends t.Component{static template=`o-spreadsheet-TreeMapColorScale`;static components={RoundColorPicker:fL};static props={figureId:String,definition:Object,onColorChanged:Function};get coloringOptions(){let e=this.props.definition.coloringOptions??uS.coloringOptions;if(e.type!==`colorScale`)throw Error(`Coloring options is not a color scale`);return e}setColorScaleColor(e,t){this.props.onColorChanged({...this.coloringOptions,[e]:t})}};let ZL={type:`colorScale`,minColor:`#FFF5EB`,midColor:`#FD8D3C`,maxColor:`#7F2704`},QL={type:`categoryColor`,colors:[],useValueBasedGradient:!0};var $L=class extends t.Component{static template=`o-spreadsheet-TreeMapChartDesignPanel`;static components={GeneralDesignEditor:pL,Section:Q,SidePanelCollapsible:nL,Checkbox:Xj,TextStyler:cL,RoundColorPicker:fL,BadgeSelection:rL,TreeMapCategoryColors:YL,TreeMapColorScale:XL};static props={figureId:String,definition:Object,updateChart:Function,canUpdateChart:{type:Function,optional:!0}};savedColors={categoryColors:QL,colorScale:ZL};defaults=uS;get showHeaders(){return this.props.definition.showHeaders??uS.showHeaders}get showValues(){return this.props.definition.showValues??uS.showValues}get showLabels(){return this.props.definition.showLabels??uS.showLabels}get coloringOptions(){return this.props.definition.coloringOptions??uS.coloringOptions}changeColoringOption(e){let t=e===`categoryColor`?this.savedColors.categoryColors:this.savedColors.colorScale;this.props.updateChart(this.props.figureId,{coloringOptions:t})}onCategoryColorChange(e){this.savedColors.categoryColors=e,this.props.updateChart(this.props.figureId,{coloringOptions:e})}onColorScaleChange(e){this.savedColors.colorScale=e,this.props.updateChart(this.props.figureId,{coloringOptions:e})}get coloringOptionChoices(){return[{label:O(`Category color`),value:`categoryColor`},{label:O(`Color scale`),value:`colorScale`}]}},eR=class extends t.Component{static template=`o-spreadsheet-WaterfallChartDesignPanel`;static components={GeneralDesignEditor:pL,Checkbox:Xj,SidePanelCollapsible:nL,Section:Q,RoundColorPicker:fL,AxisDesignEditor:uL,RadioSelection:dL,ChartLegend:mL};static props={figureId:String,definition:Object,updateChart:Function,canUpdateChart:{type:Function,optional:!0}};axisChoices=tS;onUpdateShowSubTotals(e){this.props.updateChart(this.props.figureId,{showSubTotals:e})}onUpdateShowConnectorLines(e){this.props.updateChart(this.props.figureId,{showConnectorLines:e})}onUpdateFirstValueAsSubtotal(e){this.props.updateChart(this.props.figureId,{firstValueAsSubtotal:e})}updateColor(e,t){this.props.updateChart(this.props.figureId,{[e]:t})}get axesList(){return[{id:`x`,name:O(`Horizontal axis`)},{id:`y`,name:O(`Vertical axis`)}]}get positiveValuesColor(){return this.props.definition.positiveValuesColor||`#4EA7F2`}get negativeValuesColor(){return this.props.definition.negativeValuesColor||`#EA6175`}get subTotalValuesColor(){return this.props.definition.subTotalValuesColor||`#AAAAAA`}updateVerticalAxisPosition(e){this.props.updateChart(this.props.figureId,{verticalAxisPosition:e})}};let tR=new h;tR.add(`line`,{configuration:HL,design:_L}).add(`scatter`,{configuration:GL,design:_L}).add(`bar`,{configuration:eL,design:_L}).add(`combo`,{configuration:$I,design:vL}).add(`pie`,{configuration:$I,design:UL}).add(`gauge`,{configuration:xL,design:IL}).add(`scorecard`,{configuration:KL,design:qL}).add(`waterfall`,{configuration:$I,design:eR}).add(`pyramid`,{configuration:$I,design:_L}).add(`radar`,{configuration:$I,design:WL}).add(`sunburst`,{configuration:VL,design:JL}).add(`geo`,{configuration:RL,design:BL}).add(`funnel`,{configuration:yL,design:bL}).add(`treemap`,{configuration:VL,design:$L}),H`
|
|
968
|
+
`;var IL=class extends t.Component{static template=`o-spreadsheet-GaugeChartDesignPanel`;static components={SidePanelCollapsible:nL,Section:Q,RoundColorPicker:fL,GeneralDesignEditor:pL,ChartErrorSection:ZI,StandaloneComposer:FL};static props={figureId:String,definition:Object,updateChart:Function,canUpdateChart:{type:Function,optional:!0}};state;setup(){this.state=(0,t.useState)({sectionRuleCancelledReasons:new Set(this.checkSectionRuleFormulasAreValid(this.props.definition.sectionRule)),sectionRule:b(this.props.definition.sectionRule)})}get designErrorMessages(){return[...this.state.sectionRuleCancelledReasons||[]].filter(e=>e!==`NoChanges`).map(e=>dw.Errors[e]||dw.Errors.Unexpected)}get isRangeMinInvalid(){return!!(this.state.sectionRuleCancelledReasons?.has(`EmptyGaugeRangeMin`)||this.state.sectionRuleCancelledReasons?.has(`GaugeRangeMinNaN`))}get isRangeMaxInvalid(){return!!(this.state.sectionRuleCancelledReasons?.has(`EmptyGaugeRangeMax`)||this.state.sectionRuleCancelledReasons?.has(`GaugeRangeMaxNaN`))}get isLowerInflectionPointInvalid(){return!!this.state.sectionRuleCancelledReasons?.has(`GaugeLowerInflectionPointNaN`)}get isUpperInflectionPointInvalid(){return!!this.state.sectionRuleCancelledReasons?.has(`GaugeUpperInflectionPointNaN`)}updateSectionColor(e,t){let n=b(this.state.sectionRule);n.colors[e]=t,this.updateSectionRule(n)}updateSectionRule(e){this.state.sectionRuleCancelledReasons=new Set(this.checkSectionRuleFormulasAreValid(this.state.sectionRule));let t=this.props.updateChart(this.props.figureId,{sectionRule:e});if(t.isSuccessful)this.state.sectionRule=b(e);else for(let e of t.reasons)this.state.sectionRuleCancelledReasons.add(e)}onConfirmGaugeRange(e,t){this.state.sectionRule={...this.state.sectionRule,[e]:t},this.updateSectionRule(this.state.sectionRule)}getGaugeInflectionComposerProps(e){let t=e===`lowerColor`?`lowerInflectionPoint`:`upperInflectionPoint`,n=this.state.sectionRule[t];return{onConfirm:e=>{this.state.sectionRule={...this.state.sectionRule,[t]:{...n,value:e}},this.updateSectionRule(this.state.sectionRule)},composerContent:n.value,invalid:e===`lowerColor`?this.isLowerInflectionPointInvalid:this.isUpperInflectionPointInvalid,defaultRangeSheetId:this.sheetId,class:t,placeholder:O(`Value`),title:O(`Value or formula`)}}checkSectionRuleFormulasAreValid(e){let t=new Set;return this.valueIsValidNumber(e.rangeMin)||t.add(`GaugeRangeMinNaN`),this.valueIsValidNumber(e.rangeMax)||t.add(`GaugeRangeMaxNaN`),this.valueIsValidNumber(e.lowerInflectionPoint.value)||t.add(`GaugeLowerInflectionPointNaN`),this.valueIsValidNumber(e.upperInflectionPoint.value)||t.add(`GaugeUpperInflectionPointNaN`),t}valueIsValidNumber(e){let t=this.env.model.getters.getLocale();if(!e.startsWith(`=`))return ja(e,t)!==void 0;let n=this.env.model.getters.evaluateFormula(this.sheetId,e);return A(n)?!1:ja(n,t)!==void 0}get sheetId(){let e=this.env.model.getters.getChart(this.props.figureId);if(!e)throw Error(`Chart not found with id `+this.props.figureId);return e.sheetId}},LL=class extends t.Component{static template=`o-spreadsheet-GeoChartRegionSelectSection`;static components={Section:Q};static props={figureId:String,definition:Object,updateChart:Function};updateSelectedRegion(e){let t=e.target.value;this.props.updateChart(this.props.figureId,{region:t})}get availableRegions(){return this.env.model.getters.getGeoChartAvailableRegions()}get selectedRegion(){return this.props.definition.region||this.availableRegions[0]?.id}},RL=class extends $I{static template=`o-spreadsheet-GeoChartConfigPanel`;static components={...$I.components,GeoChartRegionSelectSection:LL};get dataRanges(){return this.getDataSeriesRanges().slice(0,1)}onDataSeriesConfirmed(){this.dataSets=hc(this.env.model.getters,this.dataSets).slice(0,1),this.state.datasetDispatchResult=this.props.updateChart(this.props.figureId,{dataSets:this.dataSets})}getLabelRangeOptions(){return[{name:`dataSetsHaveTitle`,label:this.dataSetsHaveTitleLabel,value:this.props.definition.dataSetsHaveTitle,onChange:this.onUpdateDataSetsHaveTitle.bind(this)}]}};let zL={minColor:`#FFF5EB`,midColor:`#FD8D3C`,maxColor:`#7F2704`};var BL=class extends _L{static template=`o-spreadsheet-GeoChartDesignPanel`;static components={..._L.components,RoundColorPicker:fL};colorScalesChoices=dw.GeoChart.ColorScales;updateColorScaleType(e){let t=e.target.value;t===`custom`?this.updateColorScale(zL):this.updateColorScale(t)}updateColorScale(e){this.props.updateChart(this.props.figureId,{colorScale:e})}updateMissingValueColor(e){this.props.updateChart(this.props.figureId,{missingValueColor:e})}updateLegendPosition(e){let t=e.target.value;this.props.updateChart(this.props.figureId,{legendPosition:t})}get selectedColorScale(){return typeof this.props.definition.colorScale==`object`?`custom`:this.props.definition.colorScale||`oranges`}get selectedMissingValueColor(){return this.props.definition.missingValueColor||`#ffffff`}get customColorScale(){if(typeof this.props.definition.colorScale==`object`)return this.props.definition.colorScale}getCustomColorScaleColor(e){return this.customColorScale?.[e]??``}setCustomColorScaleColor(e,t){!t&&e!==`midColor`&&(t=`#fff`);let n=this.customColorScale;n&&this.updateColorScale({...n,[e]:t})}},VL=class extends $I{static template=`o-spreadsheet-HierarchicalChartConfigPanel`;static components={...$I.components};getLabelRangeOptions(){return[{name:`dataSetsHaveTitle`,label:this.dataSetsHaveTitleLabel,value:this.props.definition.dataSetsHaveTitle,onChange:this.onUpdateDataSetsHaveTitle.bind(this)}]}},HL=class extends $I{static template=`o-spreadsheet-LineConfigPanel`;get canTreatLabelsAsText(){let e=this.env.model.getters.getChart(this.props.figureId);return e&&e instanceof SE?Vw(e.getDefinition(),e.dataSets,e.labelRange,this.env.model.getters):!1}get stackedLabel(){return this.props.definition.fillArea?this.chartTerms.StackedAreaChart:this.chartTerms.StackedLineChart}getLabelRangeOptions(){let e=super.getLabelRangeOptions();return this.canTreatLabelsAsText&&e.push({name:`labelsAsText`,value:this.props.definition.labelsAsText,label:this.chartTerms.TreatLabelsAsText,onChange:this.onUpdateLabelsAsText.bind(this)}),e}onUpdateLabelsAsText(e){this.props.updateChart(this.props.figureId,{labelsAsText:e})}onUpdateStacked(e){this.props.updateChart(this.props.figureId,{stacked:e})}onUpdateCumulative(e){this.props.updateChart(this.props.figureId,{cumulative:e})}},UL=class extends t.Component{static template=`o-spreadsheet-PieChartDesignPanel`;static components={GeneralDesignEditor:pL,Section:Q,Checkbox:Xj,ChartLegend:mL};static props={figureId:String,definition:Object,updateChart:Function,canUpdateChart:{type:Function,optional:!0}}},WL=class extends t.Component{static template=`o-spreadsheet-RadarChartDesignPanel`;static components={GeneralDesignEditor:pL,SeriesDesignEditor:hL,Section:Q,Checkbox:Xj,ChartLegend:mL};static props={figureId:String,definition:Object,canUpdateChart:Function,updateChart:Function}},GL=class extends $I{static template=`o-spreadsheet-ScatterConfigPanel`;get canTreatLabelsAsText(){let e=this.env.model.getters.getChart(this.props.figureId);return e&&e instanceof AE?Vw(e.getDefinition(),e.dataSets,e.labelRange,this.env.model.getters):!1}onUpdateLabelsAsText(e){this.props.updateChart(this.props.figureId,{labelsAsText:e})}getLabelRangeOptions(){let e=super.getLabelRangeOptions();return this.canTreatLabelsAsText&&e.push({name:`labelsAsText`,value:this.props.definition.labelsAsText,label:this.chartTerms.TreatLabelsAsText,onChange:this.onUpdateLabelsAsText.bind(this)}),e}},KL=class extends t.Component{static template=`o-spreadsheet-ScorecardChartConfigPanel`;static components={SelectionInput:JI,ChartErrorSection:ZI,Section:Q};static props={figureId:String,definition:Object,updateChart:Function,canUpdateChart:Function};state=(0,t.useState)({keyValueDispatchResult:void 0,baselineDispatchResult:void 0});keyValue=this.props.definition.keyValue;baseline=this.props.definition.baseline;get errorMessages(){return[...this.state.keyValueDispatchResult?.reasons||[],...this.state.baselineDispatchResult?.reasons||[]].filter(e=>e!==`NoChanges`).map(e=>dw.Errors[e]||dw.Errors.Unexpected)}get isKeyValueInvalid(){return!!this.state.keyValueDispatchResult?.isCancelledBecause(`InvalidScorecardKeyValue`)}get isBaselineInvalid(){return!!this.state.baselineDispatchResult?.isCancelledBecause(`InvalidScorecardBaseline`)}onKeyValueRangeChanged(e){this.keyValue=e[0],this.state.keyValueDispatchResult=this.props.canUpdateChart(this.props.figureId,{keyValue:this.keyValue})}updateKeyValueRange(){this.state.keyValueDispatchResult=this.props.updateChart(this.props.figureId,{keyValue:this.keyValue})}getKeyValueRange(){return this.keyValue||``}onBaselineRangeChanged(e){this.baseline=e[0],this.state.baselineDispatchResult=this.props.canUpdateChart(this.props.figureId,{baseline:this.baseline})}updateBaselineRange(){this.state.baselineDispatchResult=this.props.updateChart(this.props.figureId,{baseline:this.baseline})}getBaselineRange(){return this.baseline||``}updateBaselineMode(e){this.props.updateChart(this.props.figureId,{baselineMode:e.target.value})}},qL=class extends t.Component{static template=`o-spreadsheet-ScorecardChartDesignPanel`;static components={GeneralDesignEditor:pL,RoundColorPicker:fL,SidePanelCollapsible:nL,Section:Q,Checkbox:Xj};static props={figureId:String,definition:Object,updateChart:Function,canUpdateChart:{type:Function,optional:!0}};get colorsSectionTitle(){return this.props.definition.baselineMode===`progress`?O(`Progress bar colors`):O(`Baseline colors`)}get humanizeNumbersLabel(){return O(`Humanize numbers`)}get defaultScorecardTitleFontSize(){return 14}updateHumanizeNumbers(e){this.props.updateChart(this.props.figureId,{humanize:e})}translate(e){return O(e)}updateBaselineDescr(e){this.props.updateChart(this.props.figureId,{baselineDescr:e.target.value})}setColor(e,t){switch(t){case`backgroundColor`:this.props.updateChart(this.props.figureId,{background:e});break;case`baselineColorDown`:this.props.updateChart(this.props.figureId,{baselineColorDown:e});break;case`baselineColorUp`:this.props.updateChart(this.props.figureId,{baselineColorUp:e});break}}},JL=class extends t.Component{static template=`o-spreadsheet-SunburstChartDesignPanel`;static components={GeneralDesignEditor:pL,Section:Q,SidePanelCollapsible:nL,Checkbox:Xj,TextStyler:cL,RoundColorPicker:fL,ChartLegend:mL};static props={figureId:String,definition:Object,updateChart:Function,canUpdateChart:{type:Function,optional:!0}};defaults=NT;get showValues(){return this.props.definition.showValues??NT.showValues}get showLabels(){return this.props.definition.showLabels??NT.showLabels}get groupColors(){let e=this.props.figureId;return this.env.model.getters.getChartRuntime(e).chartJsConfig.data.datasets[0]?.groupColors||[]}onGroupColorChanged(e,t){let n=b(this.props.definition.groupColors)??[];n[e]=t,this.props.updateChart(this.props.figureId,{groupColors:n})}},YL=class extends t.Component{static template=`o-spreadsheet-TreeMapCategoryColors`;static components={Checkbox:Xj,RoundColorPicker:fL};static props={figureId:String,definition:Object,onColorChanged:Function};get coloringOptions(){let e=this.props.definition.coloringOptions??uS.coloringOptions;if(e.type!==`categoryColor`)throw Error(`Coloring options is not solid color`);return e}getTreeGroupAndColors(){return this.env.model.getters.getChartRuntime(this.props.figureId).chartJsConfig.data.datasets[0]?.groupColors||[]}onGroupColorChanged(e,t){let n=b(this.coloringOptions);n.colors[e]=t||void 0,this.props.onColorChanged(n)}useValueBasedGradient(e){if(this.coloringOptions.type!==`categoryColor`)throw Error(`Coloring options is not solid color`);this.props.onColorChanged({...this.coloringOptions,useValueBasedGradient:e})}},XL=class extends t.Component{static template=`o-spreadsheet-TreeMapColorScale`;static components={RoundColorPicker:fL};static props={figureId:String,definition:Object,onColorChanged:Function};get coloringOptions(){let e=this.props.definition.coloringOptions??uS.coloringOptions;if(e.type!==`colorScale`)throw Error(`Coloring options is not a color scale`);return e}setColorScaleColor(e,t){this.props.onColorChanged({...this.coloringOptions,[e]:t})}};let ZL={type:`colorScale`,minColor:`#FFF5EB`,midColor:`#FD8D3C`,maxColor:`#7F2704`},QL={type:`categoryColor`,colors:[],useValueBasedGradient:!0};var $L=class extends t.Component{static template=`o-spreadsheet-TreeMapChartDesignPanel`;static components={GeneralDesignEditor:pL,Section:Q,SidePanelCollapsible:nL,Checkbox:Xj,TextStyler:cL,RoundColorPicker:fL,BadgeSelection:rL,TreeMapCategoryColors:YL,TreeMapColorScale:XL};static props={figureId:String,definition:Object,updateChart:Function,canUpdateChart:{type:Function,optional:!0}};savedColors={categoryColors:QL,colorScale:ZL};defaults=uS;get showHeaders(){return this.props.definition.showHeaders??uS.showHeaders}get showValues(){return this.props.definition.showValues??uS.showValues}get showLabels(){return this.props.definition.showLabels??uS.showLabels}get coloringOptions(){return this.props.definition.coloringOptions??uS.coloringOptions}changeColoringOption(e){let t=e===`categoryColor`?this.savedColors.categoryColors:this.savedColors.colorScale;this.props.updateChart(this.props.figureId,{coloringOptions:t})}onCategoryColorChange(e){this.savedColors.categoryColors=e,this.props.updateChart(this.props.figureId,{coloringOptions:e})}onColorScaleChange(e){this.savedColors.colorScale=e,this.props.updateChart(this.props.figureId,{coloringOptions:e})}get coloringOptionChoices(){return[{label:O(`Category color`),value:`categoryColor`},{label:O(`Color scale`),value:`colorScale`}]}},eR=class extends t.Component{static template=`o-spreadsheet-WaterfallChartDesignPanel`;static components={GeneralDesignEditor:pL,Checkbox:Xj,SidePanelCollapsible:nL,Section:Q,RoundColorPicker:fL,AxisDesignEditor:uL,RadioSelection:dL,ChartLegend:mL};static props={figureId:String,definition:Object,updateChart:Function,canUpdateChart:{type:Function,optional:!0}};axisChoices=tS;onUpdateShowSubTotals(e){this.props.updateChart(this.props.figureId,{showSubTotals:e})}onUpdateShowConnectorLines(e){this.props.updateChart(this.props.figureId,{showConnectorLines:e})}onUpdateFirstValueAsSubtotal(e){this.props.updateChart(this.props.figureId,{firstValueAsSubtotal:e})}updateColor(e,t){this.props.updateChart(this.props.figureId,{[e]:t})}get axesList(){return[{id:`x`,name:O(`Horizontal axis`)},{id:`y`,name:O(`Vertical axis`)}]}get positiveValuesColor(){return this.props.definition.positiveValuesColor||`#4EA7F2`}get negativeValuesColor(){return this.props.definition.negativeValuesColor||`#EA6175`}get subTotalValuesColor(){return this.props.definition.subTotalValuesColor||`#AAAAAA`}updateVerticalAxisPosition(e){this.props.updateChart(this.props.figureId,{verticalAxisPosition:e})}};let tR=new h;tR.add(`line`,{configuration:HL,design:_L}).add(`scatter`,{configuration:GL,design:_L}).add(`bar`,{configuration:eL,design:_L}).add(`combo`,{configuration:$I,design:vL}).add(`pie`,{configuration:$I,design:UL}).add(`gauge`,{configuration:xL,design:IL}).add(`scorecard`,{configuration:KL,design:qL}).add(`waterfall`,{configuration:$I,design:eR}).add(`pyramid`,{configuration:$I,design:_L}).add(`radar`,{configuration:$I,design:WL}).add(`sunburst`,{configuration:VL,design:JL}).add(`geo`,{configuration:RL,design:BL}).add(`funnel`,{configuration:yL,design:bL}).add(`treemap`,{configuration:VL,design:$L}),H`
|
|
969
969
|
.o-section .o-input.o-type-selector {
|
|
970
970
|
height: 30px;
|
|
971
971
|
padding-left: 35px;
|
|
@@ -3382,4 +3382,4 @@ You can download it directly instead.`,5),sticky:!1,type:`warning`});return}r=aw
|
|
|
3382
3382
|
<Relationships xmlns="${iO.Relationships}">
|
|
3383
3383
|
<Relationship ${q(e)} />
|
|
3384
3384
|
</Relationships>
|
|
3385
|
-
`),`_rels/.rels`)}function FK(e){let t={},n=[];for(let r of e.sheets){let e=r.name.slice(0,31);e=$t(e,n,{compute:(e,t)=>e.slice(0,31-String(t).length)+t}),n.push(e),e!==r.name&&(t[r.name]=e,r.name=e)}if(!Object.keys(t).length)return e;let r=Object.keys(t).sort((e,t)=>t.length-e.length),i=JSON.stringify(e);for(let e of r){let n=RegExp(`'?${at(e)}'?!`,`g`);i=i.replaceAll(n,n=>{let r=t[e];return n.replace(e,r)})}return JSON.parse(i)}function IK(e){for(let t of e.sheets)t.tables=t.tables.filter(e=>br(ar(e.range)).numberOfRows>1);return e}var LK=class extends Hd{corePlugins=[];statefulUIPlugins=[];range;session;isReplayingCommand=!1;renderers={};status=0;config;corePluginConfig;coreViewPluginConfig;uiPluginConfig;state;selection;getters;coreGetters;uuidGenerator;handlers=[];uiHandlers=[];coreHandlers=[];constructor(e={},n={},r=[],i=new al,a=!1){let o=performance.now();console.debug(`##### Model creation #####`),super(),qi(),r=Pj(e,r);let s=Ej(e,a);this.state=new nG,this.uuidGenerator=i,this.config=this.setupConfig(n),this.session=this.setupSession(s.revisionId),this.coreGetters={},this.range=new AV(this.coreGetters),this.coreGetters.getRangeString=this.range.getRangeString.bind(this.range),this.coreGetters.getRangeFromSheetXC=this.range.getRangeFromSheetXC.bind(this.range),this.coreGetters.createAdaptedRanges=this.range.createAdaptedRanges.bind(this.range),this.coreGetters.getRangeData=this.range.getRangeData.bind(this.range),this.coreGetters.getRangeDataFromXc=this.range.getRangeDataFromXc.bind(this.range),this.coreGetters.getRangeDataFromZone=this.range.getRangeDataFromZone.bind(this.range),this.coreGetters.getRangeFromRangeData=this.range.getRangeFromRangeData.bind(this.range),this.coreGetters.getRangeFromZone=this.range.getRangeFromZone.bind(this.range),this.coreGetters.recomputeRanges=this.range.recomputeRanges.bind(this.range),this.coreGetters.isRangeValid=this.range.isRangeValid.bind(this.range),this.coreGetters.extendRange=this.range.extendRange.bind(this.range),this.coreGetters.getRangesUnion=this.range.getRangesUnion.bind(this.range),this.coreGetters.removeRangesSheetPrefix=this.range.removeRangesSheetPrefix.bind(this.range),this.coreGetters.copyFormulaStringForSheet=this.range.copyFormulaStringForSheet.bind(this.range),this.getters={isReadonly:()=>this.config.mode===`readonly`||this.config.mode===`dashboard`,isDashboard:()=>this.config.mode===`dashboard`},this.selection=new eG(this.getters),this.coreHandlers.push(this.range),this.handlers.push(this.range),this.corePluginConfig=this.setupCorePluginConfig(),this.coreViewPluginConfig=this.setupCoreViewPluginConfig(),this.uiPluginConfig=this.setupUiPluginConfig();for(let e of tW.getAll())this.setupCorePlugin(e,s);Object.assign(this.getters,this.coreGetters),this.session.loadInitialMessages(r);for(let e of iW.getAll()){let t=this.setupCoreViewPlugin(e);this.handlers.push(t),this.uiHandlers.push(t),this.coreHandlers.push(t)}for(let e of rW.getAll()){let t=this.setupUiPlugin(e);this.statefulUIPlugins.push(t),this.handlers.push(t),this.uiHandlers.push(t)}for(let e of nW.getAll()){let t=this.setupUiPlugin(e);this.handlers.push(t),this.uiHandlers.push(t)}if(this.dispatch(`START`),this.selection.observe(this,{handleEvent:()=>this.trigger(`update`)}),this.setupSessionEvents(),this.joinSession(),n.snapshotRequested||e[`[Content_Types].xml`]&&!this.getters.isReadonly()){let e=performance.now();console.debug(`Snapshot requested`),this.session.snapshot(this.exportData()),this.garbageCollectExternalResources(),console.debug(`Snapshot taken in`,performance.now()-e,`ms`)}(0,t.markRaw)(this),console.debug(`Model created in`,performance.now()-o,`ms`),console.debug(`######`)}joinSession(){this.session.join(this.config.client)}async leaveSession(){let e=this.getters.isReadonly()?void 0:kt(()=>this.exportData());await this.session.leave(e)}setupUiPlugin(e){let t=new e(this.uiPluginConfig);for(let n of e.getters){if(!(n in t))throw Error(`Invalid getter name: ${n} for plugin ${t.constructor}`);if(n in this.getters)throw Error(`Getter "${n}" is already defined.`);this.getters[n]=t[n].bind(t)}for(let n of e.layers)this.renderers[n]||(this.renderers[n]=[]),this.renderers[n].push(t);return t}setupCoreViewPlugin(e){let t=new e(this.coreViewPluginConfig);for(let n of e.getters){if(!(n in t))throw Error(`Invalid getter name: ${n} for plugin ${t.constructor}`);if(n in this.getters)throw Error(`Getter "${n}" is already defined.`);this.getters[n]=t[n].bind(t)}return t}setupCorePlugin(e,t){let n=new e(this.corePluginConfig);for(let t of e.getters){if(!(t in n))throw Error(`Invalid getter name: ${t} for plugin ${n.constructor}`);if(t in this.coreGetters)throw Error(`Getter "${t}" is already defined.`);this.coreGetters[t]=n[t].bind(n)}n.import(t),this.corePlugins.push(n),this.coreHandlers.push(n),this.handlers.push(n)}onRemoteRevisionReceived({commands:e}){for(let t of e){let e=this.status;this.status=2,this.dispatchToHandlers(this.statefulUIPlugins,t),this.status=e}this.finalize()}setupSession(e){return new rU(XW({initialRevisionId:e,recordChanges:this.state.recordChanges.bind(this.state),dispatch:e=>{if(!this.checkDispatchAllowed(e).isSuccessful){this.dispatchToHandlers(this.coreHandlers,{type:`UNDO`,commands:[e]});return}this.isReplayingCommand=!0,this.dispatchToHandlers(this.coreHandlers,e),this.isReplayingCommand=!1}}),this.config.transportService,e)}setupSessionEvents(){this.session.on(`remote-revision-received`,this,this.onRemoteRevisionReceived),this.session.on(`revision-undone`,this,({commands:e})=>{this.dispatchFromCorePlugin(`UNDO`,{commands:e}),this.finalize()}),this.session.on(`revision-redone`,this,({commands:e})=>{this.dispatchFromCorePlugin(`REDO`,{commands:e}),this.finalize()}),this.session.on(`unexpected-revision-id`,this,()=>this.trigger(`unexpected-revision-id`)),this.session.on(`collaborative-event-received`,this,()=>{this.trigger(`update`)})}setupConfig(e){let t=e.client||{id:this.uuidGenerator.smallUuid(),name:O(`Anonymous`).toString()},n=e.transportService||new HW;return{...e,mode:e.mode||`normal`,custom:e.custom||{},external:this.setupExternalConfig(e.external||{}),transportService:n,client:t,moveClient:()=>{},snapshotRequested:!1,notifyUI:e=>this.trigger(`notify-ui`,e),raiseBlockingErrorUI:e=>this.trigger(`raise-error-ui`,{text:e}),customColors:e.customColors||[]}}setupExternalConfig(e){let t=e.loadLocales||(()=>Promise.resolve(pa));return{...e,loadLocales:t}}setupCorePluginConfig(){return{getters:this.coreGetters,stateObserver:this.state,range:this.range,dispatch:this.dispatchFromCorePlugin,canDispatch:this.canDispatch,custom:this.config.custom,external:this.config.external}}setupCoreViewPluginConfig(){return{getters:this.getters,stateObserver:this.state,selection:this.selection,moveClient:this.session.move.bind(this.session),custom:this.config.custom,uiActions:this.config,session:this.session,defaultCurrency:this.config.defaultCurrency,customColors:this.config.customColors||[],external:this.config.external}}setupUiPluginConfig(){return{getters:this.getters,stateObserver:this.state,dispatch:this.dispatch,canDispatch:this.canDispatch,selection:this.selection,moveClient:this.session.move.bind(this.session),custom:this.config.custom,uiActions:this.config,session:this.session,defaultCurrency:this.config.defaultCurrency,customColors:this.config.customColors||[],external:this.config.external}}checkDispatchAllowed(e){let t=ca(e)?this.checkDispatchAllowedCoreCommand(e):this.checkDispatchAllowedLocalCommand(e);return t.some(e=>e!==`Success`)?new ua(t.flat()):ua.Success}checkDispatchAllowedCoreCommand(e){let t=this.corePlugins.map(t=>t.allowDispatch(e));return t.push(this.range.allowDispatch(e)),t}checkDispatchAllowedLocalCommand(e){return this.uiHandlers.map(t=>t.allowDispatch(e))}finalize(){this.status=3;for(let e of this.handlers)e.finalize();this.status=0,this.trigger(`command-finalized`)}canDispatch=(e,t)=>this.checkDispatchAllowed(RK(e,t));dispatch=(e,t)=>{let n=RK(e,t),r=this.status;if(this.getters.isReadonly()&&!la(n))return new ua(`Readonly`);if(!this.session.canApplyOptimisticUpdate())return new ua(`WaitingSessionConfirmation`);switch(r){case 0:let t=this.checkDispatchAllowed(n);if(!t.isSuccessful)return this.trigger(`update`),t;this.status=1;let{changes:r,commands:i}=this.state.recordChanges(()=>{let t=performance.now();ca(n)&&this.state.addCommand(n),this.dispatchToHandlers(this.handlers,n),this.finalize();let r=performance.now()-t;r>5&&console.debug(e,r,`ms`)});this.session.save(n,i,r),this.status=0,this.trigger(`update`);break;case 1:if(ca(n)){let e=this.checkDispatchAllowed(n);if(!e.isSuccessful)return e;this.state.addCommand(n)}this.dispatchToHandlers(this.handlers,n);break;case 3:throw Error(`Cannot dispatch commands in the finalize state`);case 2:if(ca(n))throw Error(`A UI plugin cannot dispatch ${e} while handling a core command`);this.dispatchToHandlers(this.handlers,n)}return ua.Success};dispatchFromCorePlugin=(e,t)=>{let n=RK(e,t),r=this.status;this.status=2;let i=this.isReplayingCommand?this.coreHandlers:this.handlers;return this.dispatchToHandlers(i,n),this.status=r,ua.Success};dispatchToHandlers(e,t){let n=ca(t);for(let r of e)!n&&r instanceof mV||r.beforeHandle(t);for(let r of e)!n&&r instanceof mV||r.handle(t);this.trigger(`command-dispatched`,t)}drawLayer(e,t){let n=this.renderers[t];if(n)for(let r of n)e.ctx.save(),r.drawLayer(e,t),e.ctx.restore()}exportData(){let e=Vj();for(let t of this.handlers)t instanceof mV&&t.export(e);return e.revisionId=this.session.getRevisionId()||`START_REVISION`,e=b(e),e}updateMode(e){this.config.mode=e,this.trigger(`update`)}exportXLSX(){this.dispatch(`EVALUATE_CELLS`);let e=Uj();for(let t of this.handlers)t instanceof pV&&t.exportForExcel(e);return e=b(e),EK(e)}garbageCollectExternalResources(){for(let e of this.corePlugins)e.garbageCollectExternalResources()}};function RK(e,t={}){let n=b(t);return n.type=e,n}let zK={},BK={MIN_ROW_HEIGHT:10,MIN_COL_WIDTH:5,HEADER_HEIGHT:26,HEADER_WIDTH:48,BOTTOMBAR_HEIGHT:36,DEFAULT_CELL_WIDTH:96,DEFAULT_CELL_HEIGHT:23,SCROLLBAR_WIDTH:15},VK={autoCompleteProviders:oC,autofillModifiersRegistry:AC,autofillRulesRegistry:jC,cellMenuRegistry:NP,colMenuRegistry:EI,errorTypes:va,linkMenuRegistry:pM,functionRegistry:ix,featurePluginRegistry:nW,iconsOnCellRegistry:gO,statefulUIPluginRegistry:rW,coreViewsPluginRegistry:iW,corePluginRegistry:tW,rowMenuRegistry:jI,sidePanelRegistry:nB,figureRegistry:AD,chartSidePanelComponentRegistry:tR,chartComponentRegistry:zE,chartRegistry:RE,chartSubtypeRegistry:VE,topbarMenuRegistry:FI,topbarComponentRegistry:LI,clickableCellRegistry:aW,otRegistry:II,inverseCommandRegistry:ID,urlRegistry:ho,cellPopoverRegistry:VC,numberFormatMenuRegistry:DI,repeatLocalCommandTransformRegistry:LU,repeatCommandTransformRegistry:IU,clipboardHandlersRegistries:zd,pivotRegistry:bz,pivotTimeAdapterRegistry:qu,pivotSidePanelRegistry:Ez,pivotNormalizationValueRegistry:wd,supportedPivotPositionalFormulaRegistry:TC,pivotToFunctionValueRegistry:Td,migrationStepRegistry:xj,chartJsExtensionRegistry:pf},HK={arg:W,isEvaluationError:P,toBoolean:L,toJsDate:R,toNumber:F,toString:I,toNormalizedPivotValue:bd,toFunctionPivotValue:Sd,toXC:T,toZone:ar,toUnboundedZone:ir,toCartesian:Jn,numberToLetters:zn,lettersToNumber:Bn,UuidGenerator:al,formatValue:B,createCurrencyFormat:gs,ColorGenerator:Pn,computeTextWidth:Vc,createEmptyWorkbookData:Vj,createEmptySheet:Bj,createEmptyExcelSheet:Hj,rgbaToHex:mn,colorToRGBA:hn,positionToZone:E,isDefined:C,isMatrix:A,lazy:kt,genericRepeat:RU,createAction:m,createActions:f,transformRangeData:Vd,deepEquals:w,overlap:_r,union:pr,isInside:vr,deepCopy:b,expandZoneOnInsertion:lr,reduceZoneOnDeletion:fr,unquote:ct,getMaxObjectId:fd,getFunctionsFromTokens:kx,getFirstPivotFunction:SC,getNumberOfPivotFunctions:wC,parseDimension:hd,isDateOrDatetimeField:gd,makeFieldProposal:_C,insertTokenAfterArgSeparator:yC,insertTokenAfterLeftParenthesis:bC,mergeContiguousZones:zr,getPivotHighlights:NI,pivotTimeAdapter:Ju,UNDO_REDO_PIVOT_COMMANDS:_H,createPivotFormula:yd,areDomainArgsFieldsValid:vd,splitReference:ac,sanitizeSheetName:ut,getUniqueText:$t,isNumber:Li,isDateTime:ai},UK={isMarkdownLink:gt,parseMarkdownLink:yt,markdownLink:vt,openLink:bo,urlRepresentation:yo},WK={Checkbox:Xj,Section:Q,RoundColorPicker:fL,ChartDataSeries:YI,ChartErrorSection:ZI,ChartLabelRange:QI,ChartTitle:lL,ChartPanel:iR,ChartFigure:UE,ChartJsComponent:HS,Grid:dV,GridOverlay:VB,ScorecardChart:aC,LineConfigPanel:HL,BarConfigPanel:eL,PieChartDesignPanel:UL,GenericChartConfigPanel:$I,ChartWithAxisDesignPanel:_L,GaugeChartConfigPanel:xL,GaugeChartDesignPanel:IL,ScorecardChartConfigPanel:KL,ScorecardChartDesignPanel:qL,GeoChartDesignPanel:BL,RadarChartDesignPanel:WL,WaterfallChartDesignPanel:eR,ComboChartDesignPanel:vL,FunnelChartDesignPanel:bL,ChartTypePicker:nR,FigureComponent:rB,Menu:DM,Popover:CM,SelectionInput:JI,ValidationMessages:XI,AddDimensionButton:WR,PivotDimensionGranularity:JR,PivotDimensionOrder:YR,PivotDimension:qR,PivotLayoutConfigurator:$R,PivotHTMLRenderer:fV,PivotDeferUpdate:HR,PivotTitleSection:ez,CogWheelMenu:KR,TextInput:GR,SidePanelCollapsible:nL,RadioSelection:dL,GeoChartRegionSelectSection:LL},GK={useDragAndDropListItems:zI,useHighlights:lR,useHighlightsOnHover:cR},KK={useStoreProvider:qd,DependencyContainer:Ud,CellPopoverStore:nM,ComposerFocusStore:nf,CellComposerStore:_B,FindAndReplaceStore:IR,HighlightStore:uC,DelayedHoveredCellStore:tM,HoveredTableStore:zB,ModelStore:Qd,NotificationStore:dC,RendererStore:$d,SelectionInputStore:qI,SpreadsheetStore:ef,useStore:V,useLocalStore:Jd,SidePanelStore:sV,PivotSidePanelStore:wz,PivotMeasureDisplayPanelStore:BR};function qK(e,t){return ix.add(e,t),{addFunction:(e,t)=>qK(e,t)}}let JK={DEFAULT_LOCALE:k,HIGHLIGHT_COLOR:_,PIVOT_TABLE_CONFIG:et,ChartTerms:dw},YK={...hD,...nE};e.AbstractCellClipboardHandler=gl,e.AbstractChart=US,e.AbstractFigureClipboardHandler=Ad,e.CellErrorType=j,e.CommandResult=fa,e.CorePlugin=mV,e.CoreViewPlugin=RV,e.DispatchResult=ua,e.EvaluationError=M,e.Model=LK,e.PivotRuntimeDefinition=tz,e.Registry=h,e.Revision=tU,e.SPREADSHEET_DIMENSIONS=BK,e.Spreadsheet=VW,e.SpreadsheetPivotTable=iz,e.UIPlugin=bH,e.__info__=zK,e.addFunction=qK,e.addRenderingLayer=_a,e.astToFormula=zv,e.chartHelpers=YK,e.compile=bx,e.compileTokens=xx,e.components=WK,e.constants=JK,e.convertAstNodes=Fv,e.coreTypes=sa,e.findCellInNewZone=kr,e.functionCache=yx,e.helpers=HK,e.hooks=GK,e.invalidateCFEvaluationCommands=ia,e.invalidateChartEvaluationCommands=na,e.invalidateDependenciesCommands=ra,e.invalidateEvaluationCommands=ta,e.iterateAstNodes=Iv,e.links=UK,e.load=Ej,e.parse=Nv,e.parseTokens=Pv,e.readonlyAllowedCommands=oa,e.registries=VK,e.setDefaultSheetViewSize=Qe,e.setTranslationMethod=Ki,e.stores=KK,e.tokenColors=mC,e.tokenize=bl,zK.version=`18.3.55`,zK.date=`2026-07-13T06:26:09.586Z`,zK.hash=`dc14a7c`})(this.o_spreadsheet=this.o_spreadsheet||{},owl);
|
|
3385
|
+
`),`_rels/.rels`)}function FK(e){let t={},n=[];for(let r of e.sheets){let e=r.name.slice(0,31);e=$t(e,n,{compute:(e,t)=>e.slice(0,31-String(t).length)+t}),n.push(e),e!==r.name&&(t[r.name]=e,r.name=e)}if(!Object.keys(t).length)return e;let r=Object.keys(t).sort((e,t)=>t.length-e.length),i=JSON.stringify(e);for(let e of r){let n=RegExp(`'?${at(e)}'?!`,`g`);i=i.replaceAll(n,n=>{let r=t[e];return n.replace(e,r)})}return JSON.parse(i)}function IK(e){for(let t of e.sheets)t.tables=t.tables.filter(e=>br(ar(e.range)).numberOfRows>1);return e}var LK=class extends Hd{corePlugins=[];statefulUIPlugins=[];range;session;isReplayingCommand=!1;renderers={};status=0;config;corePluginConfig;coreViewPluginConfig;uiPluginConfig;state;selection;getters;coreGetters;uuidGenerator;handlers=[];uiHandlers=[];coreHandlers=[];constructor(e={},n={},r=[],i=new al,a=!1){let o=performance.now();console.debug(`##### Model creation #####`),super(),qi(),r=Pj(e,r);let s=Ej(e,a);this.state=new nG,this.uuidGenerator=i,this.config=this.setupConfig(n),this.session=this.setupSession(s.revisionId),this.coreGetters={},this.range=new AV(this.coreGetters),this.coreGetters.getRangeString=this.range.getRangeString.bind(this.range),this.coreGetters.getRangeFromSheetXC=this.range.getRangeFromSheetXC.bind(this.range),this.coreGetters.createAdaptedRanges=this.range.createAdaptedRanges.bind(this.range),this.coreGetters.getRangeData=this.range.getRangeData.bind(this.range),this.coreGetters.getRangeDataFromXc=this.range.getRangeDataFromXc.bind(this.range),this.coreGetters.getRangeDataFromZone=this.range.getRangeDataFromZone.bind(this.range),this.coreGetters.getRangeFromRangeData=this.range.getRangeFromRangeData.bind(this.range),this.coreGetters.getRangeFromZone=this.range.getRangeFromZone.bind(this.range),this.coreGetters.recomputeRanges=this.range.recomputeRanges.bind(this.range),this.coreGetters.isRangeValid=this.range.isRangeValid.bind(this.range),this.coreGetters.extendRange=this.range.extendRange.bind(this.range),this.coreGetters.getRangesUnion=this.range.getRangesUnion.bind(this.range),this.coreGetters.removeRangesSheetPrefix=this.range.removeRangesSheetPrefix.bind(this.range),this.coreGetters.copyFormulaStringForSheet=this.range.copyFormulaStringForSheet.bind(this.range),this.getters={isReadonly:()=>this.config.mode===`readonly`||this.config.mode===`dashboard`,isDashboard:()=>this.config.mode===`dashboard`},this.selection=new eG(this.getters),this.coreHandlers.push(this.range),this.handlers.push(this.range),this.corePluginConfig=this.setupCorePluginConfig(),this.coreViewPluginConfig=this.setupCoreViewPluginConfig(),this.uiPluginConfig=this.setupUiPluginConfig();for(let e of tW.getAll())this.setupCorePlugin(e,s);Object.assign(this.getters,this.coreGetters),this.session.loadInitialMessages(r);for(let e of iW.getAll()){let t=this.setupCoreViewPlugin(e);this.handlers.push(t),this.uiHandlers.push(t),this.coreHandlers.push(t)}for(let e of rW.getAll()){let t=this.setupUiPlugin(e);this.statefulUIPlugins.push(t),this.handlers.push(t),this.uiHandlers.push(t)}for(let e of nW.getAll()){let t=this.setupUiPlugin(e);this.handlers.push(t),this.uiHandlers.push(t)}if(this.dispatch(`START`),this.selection.observe(this,{handleEvent:()=>this.trigger(`update`)}),this.setupSessionEvents(),this.joinSession(),n.snapshotRequested||e[`[Content_Types].xml`]&&!this.getters.isReadonly()){let e=performance.now();console.debug(`Snapshot requested`),this.session.snapshot(this.exportData()),this.garbageCollectExternalResources(),console.debug(`Snapshot taken in`,performance.now()-e,`ms`)}(0,t.markRaw)(this),console.debug(`Model created in`,performance.now()-o,`ms`),console.debug(`######`)}joinSession(){this.session.join(this.config.client)}async leaveSession(){let e=this.getters.isReadonly()?void 0:kt(()=>this.exportData());await this.session.leave(e)}setupUiPlugin(e){let t=new e(this.uiPluginConfig);for(let n of e.getters){if(!(n in t))throw Error(`Invalid getter name: ${n} for plugin ${t.constructor}`);if(n in this.getters)throw Error(`Getter "${n}" is already defined.`);this.getters[n]=t[n].bind(t)}for(let n of e.layers)this.renderers[n]||(this.renderers[n]=[]),this.renderers[n].push(t);return t}setupCoreViewPlugin(e){let t=new e(this.coreViewPluginConfig);for(let n of e.getters){if(!(n in t))throw Error(`Invalid getter name: ${n} for plugin ${t.constructor}`);if(n in this.getters)throw Error(`Getter "${n}" is already defined.`);this.getters[n]=t[n].bind(t)}return t}setupCorePlugin(e,t){let n=new e(this.corePluginConfig);for(let t of e.getters){if(!(t in n))throw Error(`Invalid getter name: ${t} for plugin ${n.constructor}`);if(t in this.coreGetters)throw Error(`Getter "${t}" is already defined.`);this.coreGetters[t]=n[t].bind(n)}n.import(t),this.corePlugins.push(n),this.coreHandlers.push(n),this.handlers.push(n)}onRemoteRevisionReceived({commands:e}){for(let t of e){let e=this.status;this.status=2,this.dispatchToHandlers(this.statefulUIPlugins,t),this.status=e}this.finalize()}setupSession(e){return new rU(XW({initialRevisionId:e,recordChanges:this.state.recordChanges.bind(this.state),dispatch:e=>{if(!this.checkDispatchAllowed(e).isSuccessful){this.dispatchToHandlers(this.coreHandlers,{type:`UNDO`,commands:[e]});return}this.isReplayingCommand=!0,this.dispatchToHandlers(this.coreHandlers,e),this.isReplayingCommand=!1}}),this.config.transportService,e)}setupSessionEvents(){this.session.on(`remote-revision-received`,this,this.onRemoteRevisionReceived),this.session.on(`revision-undone`,this,({commands:e})=>{this.dispatchFromCorePlugin(`UNDO`,{commands:e}),this.finalize()}),this.session.on(`revision-redone`,this,({commands:e})=>{this.dispatchFromCorePlugin(`REDO`,{commands:e}),this.finalize()}),this.session.on(`unexpected-revision-id`,this,()=>this.trigger(`unexpected-revision-id`)),this.session.on(`collaborative-event-received`,this,()=>{this.trigger(`update`)})}setupConfig(e){let t=e.client||{id:this.uuidGenerator.smallUuid(),name:O(`Anonymous`).toString()},n=e.transportService||new HW;return{...e,mode:e.mode||`normal`,custom:e.custom||{},external:this.setupExternalConfig(e.external||{}),transportService:n,client:t,moveClient:()=>{},snapshotRequested:!1,notifyUI:e=>this.trigger(`notify-ui`,e),raiseBlockingErrorUI:e=>this.trigger(`raise-error-ui`,{text:e}),customColors:e.customColors||[]}}setupExternalConfig(e){let t=e.loadLocales||(()=>Promise.resolve(pa));return{...e,loadLocales:t}}setupCorePluginConfig(){return{getters:this.coreGetters,stateObserver:this.state,range:this.range,dispatch:this.dispatchFromCorePlugin,canDispatch:this.canDispatch,custom:this.config.custom,external:this.config.external}}setupCoreViewPluginConfig(){return{getters:this.getters,stateObserver:this.state,selection:this.selection,moveClient:this.session.move.bind(this.session),custom:this.config.custom,uiActions:this.config,session:this.session,defaultCurrency:this.config.defaultCurrency,customColors:this.config.customColors||[],external:this.config.external}}setupUiPluginConfig(){return{getters:this.getters,stateObserver:this.state,dispatch:this.dispatch,canDispatch:this.canDispatch,selection:this.selection,moveClient:this.session.move.bind(this.session),custom:this.config.custom,uiActions:this.config,session:this.session,defaultCurrency:this.config.defaultCurrency,customColors:this.config.customColors||[],external:this.config.external}}checkDispatchAllowed(e){let t=ca(e)?this.checkDispatchAllowedCoreCommand(e):this.checkDispatchAllowedLocalCommand(e);return t.some(e=>e!==`Success`)?new ua(t.flat()):ua.Success}checkDispatchAllowedCoreCommand(e){let t=this.corePlugins.map(t=>t.allowDispatch(e));return t.push(this.range.allowDispatch(e)),t}checkDispatchAllowedLocalCommand(e){return this.uiHandlers.map(t=>t.allowDispatch(e))}finalize(){this.status=3;for(let e of this.handlers)e.finalize();this.status=0,this.trigger(`command-finalized`)}canDispatch=(e,t)=>this.checkDispatchAllowed(RK(e,t));dispatch=(e,t)=>{let n=RK(e,t),r=this.status;if(this.getters.isReadonly()&&!la(n))return new ua(`Readonly`);if(!this.session.canApplyOptimisticUpdate())return new ua(`WaitingSessionConfirmation`);switch(r){case 0:let t=this.checkDispatchAllowed(n);if(!t.isSuccessful)return this.trigger(`update`),t;this.status=1;let{changes:r,commands:i}=this.state.recordChanges(()=>{let t=performance.now();ca(n)&&this.state.addCommand(n),this.dispatchToHandlers(this.handlers,n),this.finalize();let r=performance.now()-t;r>5&&console.debug(e,r,`ms`)});this.session.save(n,i,r),this.status=0,this.trigger(`update`);break;case 1:if(ca(n)){let e=this.checkDispatchAllowed(n);if(!e.isSuccessful)return e;this.state.addCommand(n)}this.dispatchToHandlers(this.handlers,n);break;case 3:throw Error(`Cannot dispatch commands in the finalize state`);case 2:if(ca(n))throw Error(`A UI plugin cannot dispatch ${e} while handling a core command`);this.dispatchToHandlers(this.handlers,n)}return ua.Success};dispatchFromCorePlugin=(e,t)=>{let n=RK(e,t),r=this.status;this.status=2;let i=this.isReplayingCommand?this.coreHandlers:this.handlers;return this.dispatchToHandlers(i,n),this.status=r,ua.Success};dispatchToHandlers(e,t){let n=ca(t);for(let r of e)!n&&r instanceof mV||r.beforeHandle(t);for(let r of e)!n&&r instanceof mV||r.handle(t);this.trigger(`command-dispatched`,t)}drawLayer(e,t){let n=this.renderers[t];if(n)for(let r of n)e.ctx.save(),r.drawLayer(e,t),e.ctx.restore()}exportData(){let e=Vj();for(let t of this.handlers)t instanceof mV&&t.export(e);return e.revisionId=this.session.getRevisionId()||`START_REVISION`,e=b(e),e}updateMode(e){this.config.mode=e,this.trigger(`update`)}exportXLSX(){this.dispatch(`EVALUATE_CELLS`);let e=Uj();for(let t of this.handlers)t instanceof pV&&t.exportForExcel(e);return e=b(e),EK(e)}garbageCollectExternalResources(){for(let e of this.corePlugins)e.garbageCollectExternalResources()}};function RK(e,t={}){let n=b(t);return n.type=e,n}let zK={},BK={MIN_ROW_HEIGHT:10,MIN_COL_WIDTH:5,HEADER_HEIGHT:26,HEADER_WIDTH:48,BOTTOMBAR_HEIGHT:36,DEFAULT_CELL_WIDTH:96,DEFAULT_CELL_HEIGHT:23,SCROLLBAR_WIDTH:15},VK={autoCompleteProviders:oC,autofillModifiersRegistry:AC,autofillRulesRegistry:jC,cellMenuRegistry:NP,colMenuRegistry:EI,errorTypes:va,linkMenuRegistry:pM,functionRegistry:ix,featurePluginRegistry:nW,iconsOnCellRegistry:gO,statefulUIPluginRegistry:rW,coreViewsPluginRegistry:iW,corePluginRegistry:tW,rowMenuRegistry:jI,sidePanelRegistry:nB,figureRegistry:AD,chartSidePanelComponentRegistry:tR,chartComponentRegistry:zE,chartRegistry:RE,chartSubtypeRegistry:VE,topbarMenuRegistry:FI,topbarComponentRegistry:LI,clickableCellRegistry:aW,otRegistry:II,inverseCommandRegistry:ID,urlRegistry:ho,cellPopoverRegistry:VC,numberFormatMenuRegistry:DI,repeatLocalCommandTransformRegistry:LU,repeatCommandTransformRegistry:IU,clipboardHandlersRegistries:zd,pivotRegistry:bz,pivotTimeAdapterRegistry:qu,pivotSidePanelRegistry:Ez,pivotNormalizationValueRegistry:wd,supportedPivotPositionalFormulaRegistry:TC,pivotToFunctionValueRegistry:Td,migrationStepRegistry:xj,chartJsExtensionRegistry:pf},HK={arg:W,isEvaluationError:P,toBoolean:L,toJsDate:R,toNumber:F,toString:I,toNormalizedPivotValue:bd,toFunctionPivotValue:Sd,toXC:T,toZone:ar,toUnboundedZone:ir,toCartesian:Jn,numberToLetters:zn,lettersToNumber:Bn,UuidGenerator:al,formatValue:B,createCurrencyFormat:gs,ColorGenerator:Pn,computeTextWidth:Vc,createEmptyWorkbookData:Vj,createEmptySheet:Bj,createEmptyExcelSheet:Hj,rgbaToHex:mn,colorToRGBA:hn,positionToZone:E,isDefined:C,isMatrix:A,lazy:kt,genericRepeat:RU,createAction:m,createActions:f,transformRangeData:Vd,deepEquals:w,overlap:_r,union:pr,isInside:vr,deepCopy:b,expandZoneOnInsertion:lr,reduceZoneOnDeletion:fr,unquote:ct,getMaxObjectId:fd,getFunctionsFromTokens:kx,getFirstPivotFunction:SC,getNumberOfPivotFunctions:wC,parseDimension:hd,isDateOrDatetimeField:gd,makeFieldProposal:_C,insertTokenAfterArgSeparator:yC,insertTokenAfterLeftParenthesis:bC,mergeContiguousZones:zr,getPivotHighlights:NI,pivotTimeAdapter:Ju,UNDO_REDO_PIVOT_COMMANDS:_H,createPivotFormula:yd,areDomainArgsFieldsValid:vd,splitReference:ac,sanitizeSheetName:ut,getUniqueText:$t,isNumber:Li,isDateTime:ai},UK={isMarkdownLink:gt,parseMarkdownLink:yt,markdownLink:vt,openLink:bo,urlRepresentation:yo},WK={Checkbox:Xj,Section:Q,RoundColorPicker:fL,ChartDataSeries:YI,ChartErrorSection:ZI,ChartLabelRange:QI,ChartTitle:lL,ChartPanel:iR,ChartFigure:UE,ChartJsComponent:HS,Grid:dV,GridOverlay:VB,ScorecardChart:aC,LineConfigPanel:HL,BarConfigPanel:eL,PieChartDesignPanel:UL,GenericChartConfigPanel:$I,ChartWithAxisDesignPanel:_L,GaugeChartConfigPanel:xL,GaugeChartDesignPanel:IL,ScorecardChartConfigPanel:KL,ScorecardChartDesignPanel:qL,GeoChartDesignPanel:BL,RadarChartDesignPanel:WL,WaterfallChartDesignPanel:eR,ComboChartDesignPanel:vL,FunnelChartDesignPanel:bL,ChartTypePicker:nR,FigureComponent:rB,Menu:DM,Popover:CM,SelectionInput:JI,ValidationMessages:XI,AddDimensionButton:WR,PivotDimensionGranularity:JR,PivotDimensionOrder:YR,PivotDimension:qR,PivotLayoutConfigurator:$R,PivotHTMLRenderer:fV,PivotDeferUpdate:HR,PivotTitleSection:ez,CogWheelMenu:KR,TextInput:GR,SidePanelCollapsible:nL,RadioSelection:dL,GeoChartRegionSelectSection:LL},GK={useDragAndDropListItems:zI,useHighlights:lR,useHighlightsOnHover:cR},KK={useStoreProvider:qd,DependencyContainer:Ud,CellPopoverStore:nM,ComposerFocusStore:nf,CellComposerStore:_B,FindAndReplaceStore:IR,HighlightStore:uC,DelayedHoveredCellStore:tM,HoveredTableStore:zB,ModelStore:Qd,NotificationStore:dC,RendererStore:$d,SelectionInputStore:qI,SpreadsheetStore:ef,useStore:V,useLocalStore:Jd,SidePanelStore:sV,PivotSidePanelStore:wz,PivotMeasureDisplayPanelStore:BR};function qK(e,t){return ix.add(e,t),{addFunction:(e,t)=>qK(e,t)}}let JK={DEFAULT_LOCALE:k,HIGHLIGHT_COLOR:_,PIVOT_TABLE_CONFIG:et,ChartTerms:dw},YK={...hD,...nE};e.AbstractCellClipboardHandler=gl,e.AbstractChart=US,e.AbstractFigureClipboardHandler=Ad,e.CellErrorType=j,e.CommandResult=fa,e.CorePlugin=mV,e.CoreViewPlugin=RV,e.DispatchResult=ua,e.EvaluationError=M,e.Model=LK,e.PivotRuntimeDefinition=tz,e.Registry=h,e.Revision=tU,e.SPREADSHEET_DIMENSIONS=BK,e.Spreadsheet=VW,e.SpreadsheetPivotTable=iz,e.UIPlugin=bH,e.__info__=zK,e.addFunction=qK,e.addRenderingLayer=_a,e.astToFormula=zv,e.chartHelpers=YK,e.compile=bx,e.compileTokens=xx,e.components=WK,e.constants=JK,e.convertAstNodes=Fv,e.coreTypes=sa,e.findCellInNewZone=kr,e.functionCache=yx,e.helpers=HK,e.hooks=GK,e.invalidateCFEvaluationCommands=ia,e.invalidateChartEvaluationCommands=na,e.invalidateDependenciesCommands=ra,e.invalidateEvaluationCommands=ta,e.iterateAstNodes=Iv,e.links=UK,e.load=Ej,e.parse=Nv,e.parseTokens=Pv,e.readonlyAllowedCommands=oa,e.registries=VK,e.setDefaultSheetViewSize=Qe,e.setTranslationMethod=Ki,e.stores=KK,e.tokenColors=mC,e.tokenize=bl,zK.version=`18.3.56`,zK.date=`2026-07-20T10:59:22.640Z`,zK.hash=`a8d15b9`})(this.o_spreadsheet=this.o_spreadsheet||{},owl);
|
package/dist/o_spreadsheet.xml
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
<!--
|
|
2
2
|
This file is generated by o-spreadsheet build tools. Do not edit it.
|
|
3
3
|
@see https://github.com/odoo/o-spreadsheet
|
|
4
|
-
@version 18.3.
|
|
5
|
-
@date 2026-07-
|
|
6
|
-
@hash
|
|
4
|
+
@version 18.3.56
|
|
5
|
+
@date 2026-07-20T10:59:23.417Z
|
|
6
|
+
@hash a8d15b9
|
|
7
7
|
-->
|
|
8
8
|
<odoo>
|
|
9
9
|
<t t-name="o-spreadsheet-ValidationMessages">
|