@odoo/o-spreadsheet 17.0.96 → 17.0.97
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.
|
@@ -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 17.0.
|
|
6
|
-
* @date 2026-05-
|
|
7
|
-
* @hash
|
|
5
|
+
* @version 17.0.97
|
|
6
|
+
* @date 2026-05-12T06:20:03.276Z
|
|
7
|
+
* @hash cb7e4dc
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
@@ -51165,6 +51165,6 @@ exports.setDefaultSheetViewSize = setDefaultSheetViewSize;
|
|
|
51165
51165
|
exports.setTranslationMethod = setTranslationMethod;
|
|
51166
51166
|
exports.tokenize = tokenize;
|
|
51167
51167
|
|
|
51168
|
-
__info__.version = "17.0.
|
|
51169
|
-
__info__.date = "2026-05-
|
|
51170
|
-
__info__.hash = "
|
|
51168
|
+
__info__.version = "17.0.97";
|
|
51169
|
+
__info__.date = "2026-05-12T06:20:03.276Z";
|
|
51170
|
+
__info__.hash = "cb7e4dc";
|
|
@@ -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 17.0.
|
|
6
|
-
* @date 2026-05-
|
|
7
|
-
* @hash
|
|
5
|
+
* @version 17.0.97
|
|
6
|
+
* @date 2026-05-12T06:20:03.276Z
|
|
7
|
+
* @hash cb7e4dc
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
import { Component, markRaw, onMounted, onPatched, onWillPatch, onWillStart, onWillUnmount, onWillUpdateProps, useChildSubEnv, useComponent, useEffect, useExternalListener, useRef, useState, useSubEnv, xml } from "@odoo/owl";
|
|
@@ -50944,6 +50944,6 @@ const constants = { DEFAULT_LOCALE };
|
|
|
50944
50944
|
//#endregion
|
|
50945
50945
|
export { AbstractChart, CommandResult, CorePlugin, DispatchResult, EvaluationError, Model, Registry, Revision, SPREADSHEET_DIMENSIONS, Spreadsheet, UIPlugin, __info__, addFunction, astToFormula, compile, compileTokens, components, constants, convertAstNodes, coreTypes, findCellInNewZone, functionCache, helpers, hooks, invalidateCFEvaluationCommands, invalidateDependenciesCommands, invalidateEvaluationCommands, iterateAstNodes, links, load, parse, parseTokens, readonlyAllowedCommands, registries, setDefaultSheetViewSize, setTranslationMethod, tokenize };
|
|
50946
50946
|
|
|
50947
|
-
__info__.version = "17.0.
|
|
50948
|
-
__info__.date = "2026-05-
|
|
50949
|
-
__info__.hash = "
|
|
50947
|
+
__info__.version = "17.0.97";
|
|
50948
|
+
__info__.date = "2026-05-12T06:20:03.276Z";
|
|
50949
|
+
__info__.hash = "cb7e4dc";
|
|
@@ -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 17.0.
|
|
6
|
-
* @date 2026-05-
|
|
7
|
-
* @hash
|
|
5
|
+
* @version 17.0.97
|
|
6
|
+
* @date 2026-05-12T06:20:03.276Z
|
|
7
|
+
* @hash cb7e4dc
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
(function(exports, _odoo_owl) {
|
|
@@ -50982,8 +50982,8 @@ exports.setDefaultSheetViewSize = setDefaultSheetViewSize;
|
|
|
50982
50982
|
exports.setTranslationMethod = setTranslationMethod;
|
|
50983
50983
|
exports.tokenize = tokenize;
|
|
50984
50984
|
|
|
50985
|
-
__info__.version = "17.0.
|
|
50986
|
-
__info__.date = "2026-05-
|
|
50987
|
-
__info__.hash = "
|
|
50985
|
+
__info__.version = "17.0.97";
|
|
50986
|
+
__info__.date = "2026-05-12T06:20:03.276Z";
|
|
50987
|
+
__info__.hash = "cb7e4dc";
|
|
50988
50988
|
|
|
50989
50989
|
})(this.o_spreadsheet = this.o_spreadsheet || {}, owl);
|
|
@@ -2674,4 +2674,4 @@
|
|
|
2674
2674
|
<Relationships xmlns="${Yw.Relationships}">
|
|
2675
2675
|
<Relationship ${Y(e)} />
|
|
2676
2676
|
</Relationships>
|
|
2677
|
-
`),`_rels/.rels`)}var zN=function(e){return e[e.Ready=0]=`Ready`,e[e.Running=1]=`Running`,e[e.RunningCore=2]=`RunningCore`,e[e.Finalizing=3]=`Finalizing`,e}(zN||{}),BN=class extends Jk{corePlugins=[];featurePlugins=[];statefulUIPlugins=[];coreViewsPlugins=[];range;session;isReplayingCommand=!1;renderers=[];status=zN.Ready;config;corePluginConfig;uiPluginConfig;state;selection;getters;coreGetters;uuidGenerator;handlers=[];uiHandlers=[];coreHandlers=[];constructor(e={},n={},r=[],i=new Io,a=!0){super(),v(),r=NO(e,r);let o=DO(e,a);this.state=new xM,this.uuidGenerator=i,this.config=this.setupConfig(n),this.session=this.setupSession(o.revisionId),this.coreGetters={},this.range=new vk(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.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.getters={isReadonly:()=>this.config.mode===`readonly`||this.config.mode===`dashboard`,isDashboard:()=>this.config.mode===`dashboard`},this.uuidGenerator.setIsFastStrategy(!0),this.selection=new bM(this.getters),this.coreHandlers.push(this.range),this.handlers.push(this.range),this.corePluginConfig=this.setupCorePluginConfig(),this.uiPluginConfig=this.setupUiPluginConfig();for(let e of Oj.getAll())this.setupCorePlugin(e,o);Object.assign(this.getters,this.coreGetters),this.session.loadInitialMessages(r);for(let e of jj.getAll()){let t=this.setupUiPlugin(e);this.coreViewsPlugins.push(t),this.handlers.push(t),this.uiHandlers.push(t),this.coreHandlers.push(t)}for(let e of Aj.getAll()){let t=this.setupUiPlugin(e);this.statefulUIPlugins.push(t),this.handlers.push(t),this.uiHandlers.push(t)}for(let e of kj.getAll()){let t=this.setupUiPlugin(e);this.featurePlugins.push(t),this.handlers.push(t),this.uiHandlers.push(t)}this.uuidGenerator.setIsFastStrategy(!1),this.dispatch(`START`),this.selection.observe(this,{handleEvent:()=>this.trigger(`update`)}),this.setupSessionEvents(),this.joinSession(),n.snapshotRequested&&(this.session.snapshot(this.exportData()),this.garbageCollectExternalResources()),(0,t.markRaw)(this)}joinSession(){this.session.join(this.config.client)}async leaveSession(){let e=this.getters.isReadonly()?void 0:bt(()=>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)}let n=e.layers.map(e=>[t,e]);return this.renderers.push(...n),this.renderers.sort((e,t)=>e[1]-t[1]),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=zN.RunningCore,this.dispatchToHandlers(this.statefulUIPlugins,t),this.status=e}this.finalize()}setupSession(e){return new vA(gM({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:y(`Anonymous`).toString()},n=e.transportService||new sM;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})}}setupExternalConfig(e){let t=e.loadLocales||(()=>Promise.resolve(vr));return{...e,loadLocales:t}}setupCorePluginConfig(){return{getters:this.coreGetters,stateObserver:this.state,range:this.range,dispatch:this.dispatchFromCorePlugin,uuidGenerator:this.uuidGenerator,custom:this.config.custom,external:this.config.external}}setupUiPluginConfig(){return{getters:this.getters,stateObserver:this.state,dispatch:this.dispatch,selection:this.selection,moveClient:this.session.move.bind(this.session),custom:this.config.custom,uiActions:this.config,session:this.session,defaultCurrencyFormat:this.config.defaultCurrencyFormat}}checkDispatchAllowed(e){let t=mr(e)?this.checkDispatchAllowedCoreCommand(e):this.checkDispatchAllowedLocalCommand(e);return t.some(e=>e!==A.Success)?new gr(t.flat()):gr.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=zN.Finalizing;for(let e of this.handlers)e.finalize();this.status=zN.Ready}canDispatch=(e,t)=>this.checkDispatchAllowed(VN(e,t));dispatch=(e,t)=>{let n=VN(e,t),r=this.status;if(this.getters.isReadonly()&&!hr(n))return new gr(A.Readonly);if(!this.session.canApplyOptimisticUpdate())return new gr(A.WaitingSessionConfirmation);switch(r){case zN.Ready:let t=this.checkDispatchAllowed(n);if(!t.isSuccessful)return t;this.status=zN.Running;let{changes:r,commands:i}=this.state.recordChanges(()=>{mr(n)&&this.state.addCommand(n),this.dispatchToHandlers(this.handlers,n),this.finalize()});this.session.save(n,i,r),this.status=zN.Ready,this.trigger(`update`);break;case zN.Running:if(mr(n)){let e=this.checkDispatchAllowed(n);if(!e.isSuccessful)return e;this.state.addCommand(n)}this.dispatchToHandlers(this.handlers,n);break;case zN.Finalizing:throw Error(`Cannot dispatch commands in the finalize state`);case zN.RunningCore:if(mr(n))throw Error(`A UI plugin cannot dispatch ${e} while handling a core command`);this.dispatchToHandlers(this.handlers,n)}return gr.Success};dispatchFromCorePlugin=(e,t)=>{let n=VN(e,t),r=this.status;this.status=zN.RunningCore;let i=this.isReplayingCommand?this.coreHandlers:this.handlers;return this.dispatchToHandlers(i,n),this.status=r,gr.Success};dispatchToHandlers(e,t){let n=mr(t);for(let r of e)!n&&r instanceof WO||r.beforeHandle(t);for(let r of e)!n&&r instanceof WO||r.handle(t)}drawGrid(e){for(let[t,n]of this.renderers)e.ctx.save(),t.drawGrid(e,n),e.ctx.restore()}exportData(){let e=BO();for(let t of this.handlers)t instanceof WO&&t.export(e);return e.revisionId=this.session.getRevisionId()||`START_REVISION`,e=S(e),e}updateMode(e){e!==`normal`&&this.dispatch(`CANCEL_EDITION`),this.config.mode=e,this.trigger(`update`)}exportXLSX(){this.dispatch(`EVALUATE_CELLS`);let e=HO();for(let t of this.handlers)t instanceof UO&&t.exportForExcel(e);return e=S(e),AN(e)}garbageCollectExternalResources(){for(let e of this.corePlugins)e.garbageCollectExternalResources()}};function VN(e,t={}){let n=S(t);return n.type=e,n}let HN={},UN={MIN_ROW_HEIGHT:10,MIN_COL_WIDTH:5,HEADER_HEIGHT:26,HEADER_WIDTH:48,TOPBAR_HEIGHT:63,BOTTOMBAR_HEIGHT:36,DEFAULT_CELL_WIDTH:96,DEFAULT_CELL_HEIGHT:23,SCROLLBAR_WIDTH:15},WN={autofillModifiersRegistry:ks,autofillRulesRegistry:As,cellMenuRegistry:vb,colMenuRegistry:uS,linkMenuRegistry:ml,functionRegistry:By,featurePluginRegistry:kj,statefulUIPluginRegistry:Aj,coreViewsPluginRegistry:jj,corePluginRegistry:Oj,rowMenuRegistry:pS,sidePanelRegistry:DC,figureRegistry:ju,chartSidePanelComponentRegistry:IS,chartComponentRegistry:Tu,chartRegistry:wu,topbarMenuRegistry:hS,topbarComponentRegistry:OC,clickableCellRegistry:Mj,otRegistry:gS,inverseCommandRegistry:Lu,urlRegistry:eo,cellPopoverRegistry:_l,numberFormatMenuRegistry:dS,repeatLocalCommandTransformRegistry:$A,repeatCommandTransformRegistry:$},GN={arg:G,toBoolean:I,toJsDate:L,toNumber:P,toString:F,toXC:D,toZone:oa,toUnboundedZone:ia,toCartesian:sn,numberToLetters:E,lettersToNumber:rn,UuidGenerator:Io,formatValue:z,createCurrencyFormat:Mi,computeTextWidth:wo,createEmptyWorkbookData:BO,createEmptySheet:zO,createEmptyExcelSheet:VO,getDefaultChartJsRuntime:Pl,chartFontColor:ts,ChartColors:es,EvaluationError:x,CellErrorLevel:te,getFillingMode:zl,rgbaToHex:Yt,colorToRGBA:Xt,positionToZone:V,isDefined:T,isMatrix:M,lazy:bt,genericRepeat:ej,createAction:zo,createActions:Lo,transformRangeData:Vo,deepEquals:Ct,isNumber:Qn,isDateTime:bn},KN={isMarkdownLink:st,parseMarkdownLink:ut,markdownLink:lt,openLink:ao,urlRepresentation:io},qN={ChartPanel:LS,ChartFigure:Du,ChartJsComponent:Ho,Grid:Ww,GridOverlay:Dw,ScorecardChart:Os,LineConfigPanel:MS,LineBarPieDesignPanel:OS,BarConfigPanel:CS,LineBarPieConfigPanel:SS,GaugeChartConfigPanel:AS,GaugeChartDesignPanel:jS,ScorecardChartConfigPanel:PS,ScorecardChartDesignPanel:FS,FigureComponent:kC,Menu:bc,SelectionInput:bS},JN={useDragAndDropListItems:HS};function YN(e,t){return By.add(e,t),{addFunction:(e,t)=>YN(e,t)}}let XN={DEFAULT_LOCALE:j};e.AbstractChart=Uo,e.CommandResult=A,e.CorePlugin=WO,e.DispatchResult=gr,e.EvaluationError=x,e.Model=BN,e.Registry=Qa,e.Revision=gA,e.SPREADSHEET_DIMENSIONS=UN,e.Spreadsheet=oM,e.UIPlugin=Q,e.__info__=HN,e.addFunction=YN,e.astToFormula=NT,e.compile=BT,e.compileTokens=VT,e.components=qN,e.constants=XN,e.convertAstNodes=kT,e.coreTypes=pr,e.findCellInNewZone=ja,e.functionCache=zT,e.helpers=GN,e.hooks=JN,e.invalidateCFEvaluationCommands=dr,e.invalidateDependenciesCommands=ur,e.invalidateEvaluationCommands=lr,e.iterateAstNodes=AT,e.links=KN,e.load=DO,e.parse=DT,e.parseTokens=OT,e.readonlyAllowedCommands=fr,e.registries=WN,e.setDefaultSheetViewSize=Je,e.setTranslationMethod=_,e.tokenize=Tc,HN.version=`17.0.96`,HN.date=`2026-05-11T08:50:42.506Z`,HN.hash=`9732401`})(this.o_spreadsheet=this.o_spreadsheet||{},owl);
|
|
2677
|
+
`),`_rels/.rels`)}var zN=function(e){return e[e.Ready=0]=`Ready`,e[e.Running=1]=`Running`,e[e.RunningCore=2]=`RunningCore`,e[e.Finalizing=3]=`Finalizing`,e}(zN||{}),BN=class extends Jk{corePlugins=[];featurePlugins=[];statefulUIPlugins=[];coreViewsPlugins=[];range;session;isReplayingCommand=!1;renderers=[];status=zN.Ready;config;corePluginConfig;uiPluginConfig;state;selection;getters;coreGetters;uuidGenerator;handlers=[];uiHandlers=[];coreHandlers=[];constructor(e={},n={},r=[],i=new Io,a=!0){super(),v(),r=NO(e,r);let o=DO(e,a);this.state=new xM,this.uuidGenerator=i,this.config=this.setupConfig(n),this.session=this.setupSession(o.revisionId),this.coreGetters={},this.range=new vk(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.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.getters={isReadonly:()=>this.config.mode===`readonly`||this.config.mode===`dashboard`,isDashboard:()=>this.config.mode===`dashboard`},this.uuidGenerator.setIsFastStrategy(!0),this.selection=new bM(this.getters),this.coreHandlers.push(this.range),this.handlers.push(this.range),this.corePluginConfig=this.setupCorePluginConfig(),this.uiPluginConfig=this.setupUiPluginConfig();for(let e of Oj.getAll())this.setupCorePlugin(e,o);Object.assign(this.getters,this.coreGetters),this.session.loadInitialMessages(r);for(let e of jj.getAll()){let t=this.setupUiPlugin(e);this.coreViewsPlugins.push(t),this.handlers.push(t),this.uiHandlers.push(t),this.coreHandlers.push(t)}for(let e of Aj.getAll()){let t=this.setupUiPlugin(e);this.statefulUIPlugins.push(t),this.handlers.push(t),this.uiHandlers.push(t)}for(let e of kj.getAll()){let t=this.setupUiPlugin(e);this.featurePlugins.push(t),this.handlers.push(t),this.uiHandlers.push(t)}this.uuidGenerator.setIsFastStrategy(!1),this.dispatch(`START`),this.selection.observe(this,{handleEvent:()=>this.trigger(`update`)}),this.setupSessionEvents(),this.joinSession(),n.snapshotRequested&&(this.session.snapshot(this.exportData()),this.garbageCollectExternalResources()),(0,t.markRaw)(this)}joinSession(){this.session.join(this.config.client)}async leaveSession(){let e=this.getters.isReadonly()?void 0:bt(()=>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)}let n=e.layers.map(e=>[t,e]);return this.renderers.push(...n),this.renderers.sort((e,t)=>e[1]-t[1]),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=zN.RunningCore,this.dispatchToHandlers(this.statefulUIPlugins,t),this.status=e}this.finalize()}setupSession(e){return new vA(gM({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:y(`Anonymous`).toString()},n=e.transportService||new sM;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})}}setupExternalConfig(e){let t=e.loadLocales||(()=>Promise.resolve(vr));return{...e,loadLocales:t}}setupCorePluginConfig(){return{getters:this.coreGetters,stateObserver:this.state,range:this.range,dispatch:this.dispatchFromCorePlugin,uuidGenerator:this.uuidGenerator,custom:this.config.custom,external:this.config.external}}setupUiPluginConfig(){return{getters:this.getters,stateObserver:this.state,dispatch:this.dispatch,selection:this.selection,moveClient:this.session.move.bind(this.session),custom:this.config.custom,uiActions:this.config,session:this.session,defaultCurrencyFormat:this.config.defaultCurrencyFormat}}checkDispatchAllowed(e){let t=mr(e)?this.checkDispatchAllowedCoreCommand(e):this.checkDispatchAllowedLocalCommand(e);return t.some(e=>e!==A.Success)?new gr(t.flat()):gr.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=zN.Finalizing;for(let e of this.handlers)e.finalize();this.status=zN.Ready}canDispatch=(e,t)=>this.checkDispatchAllowed(VN(e,t));dispatch=(e,t)=>{let n=VN(e,t),r=this.status;if(this.getters.isReadonly()&&!hr(n))return new gr(A.Readonly);if(!this.session.canApplyOptimisticUpdate())return new gr(A.WaitingSessionConfirmation);switch(r){case zN.Ready:let t=this.checkDispatchAllowed(n);if(!t.isSuccessful)return t;this.status=zN.Running;let{changes:r,commands:i}=this.state.recordChanges(()=>{mr(n)&&this.state.addCommand(n),this.dispatchToHandlers(this.handlers,n),this.finalize()});this.session.save(n,i,r),this.status=zN.Ready,this.trigger(`update`);break;case zN.Running:if(mr(n)){let e=this.checkDispatchAllowed(n);if(!e.isSuccessful)return e;this.state.addCommand(n)}this.dispatchToHandlers(this.handlers,n);break;case zN.Finalizing:throw Error(`Cannot dispatch commands in the finalize state`);case zN.RunningCore:if(mr(n))throw Error(`A UI plugin cannot dispatch ${e} while handling a core command`);this.dispatchToHandlers(this.handlers,n)}return gr.Success};dispatchFromCorePlugin=(e,t)=>{let n=VN(e,t),r=this.status;this.status=zN.RunningCore;let i=this.isReplayingCommand?this.coreHandlers:this.handlers;return this.dispatchToHandlers(i,n),this.status=r,gr.Success};dispatchToHandlers(e,t){let n=mr(t);for(let r of e)!n&&r instanceof WO||r.beforeHandle(t);for(let r of e)!n&&r instanceof WO||r.handle(t)}drawGrid(e){for(let[t,n]of this.renderers)e.ctx.save(),t.drawGrid(e,n),e.ctx.restore()}exportData(){let e=BO();for(let t of this.handlers)t instanceof WO&&t.export(e);return e.revisionId=this.session.getRevisionId()||`START_REVISION`,e=S(e),e}updateMode(e){e!==`normal`&&this.dispatch(`CANCEL_EDITION`),this.config.mode=e,this.trigger(`update`)}exportXLSX(){this.dispatch(`EVALUATE_CELLS`);let e=HO();for(let t of this.handlers)t instanceof UO&&t.exportForExcel(e);return e=S(e),AN(e)}garbageCollectExternalResources(){for(let e of this.corePlugins)e.garbageCollectExternalResources()}};function VN(e,t={}){let n=S(t);return n.type=e,n}let HN={},UN={MIN_ROW_HEIGHT:10,MIN_COL_WIDTH:5,HEADER_HEIGHT:26,HEADER_WIDTH:48,TOPBAR_HEIGHT:63,BOTTOMBAR_HEIGHT:36,DEFAULT_CELL_WIDTH:96,DEFAULT_CELL_HEIGHT:23,SCROLLBAR_WIDTH:15},WN={autofillModifiersRegistry:ks,autofillRulesRegistry:As,cellMenuRegistry:vb,colMenuRegistry:uS,linkMenuRegistry:ml,functionRegistry:By,featurePluginRegistry:kj,statefulUIPluginRegistry:Aj,coreViewsPluginRegistry:jj,corePluginRegistry:Oj,rowMenuRegistry:pS,sidePanelRegistry:DC,figureRegistry:ju,chartSidePanelComponentRegistry:IS,chartComponentRegistry:Tu,chartRegistry:wu,topbarMenuRegistry:hS,topbarComponentRegistry:OC,clickableCellRegistry:Mj,otRegistry:gS,inverseCommandRegistry:Lu,urlRegistry:eo,cellPopoverRegistry:_l,numberFormatMenuRegistry:dS,repeatLocalCommandTransformRegistry:$A,repeatCommandTransformRegistry:$},GN={arg:G,toBoolean:I,toJsDate:L,toNumber:P,toString:F,toXC:D,toZone:oa,toUnboundedZone:ia,toCartesian:sn,numberToLetters:E,lettersToNumber:rn,UuidGenerator:Io,formatValue:z,createCurrencyFormat:Mi,computeTextWidth:wo,createEmptyWorkbookData:BO,createEmptySheet:zO,createEmptyExcelSheet:VO,getDefaultChartJsRuntime:Pl,chartFontColor:ts,ChartColors:es,EvaluationError:x,CellErrorLevel:te,getFillingMode:zl,rgbaToHex:Yt,colorToRGBA:Xt,positionToZone:V,isDefined:T,isMatrix:M,lazy:bt,genericRepeat:ej,createAction:zo,createActions:Lo,transformRangeData:Vo,deepEquals:Ct,isNumber:Qn,isDateTime:bn},KN={isMarkdownLink:st,parseMarkdownLink:ut,markdownLink:lt,openLink:ao,urlRepresentation:io},qN={ChartPanel:LS,ChartFigure:Du,ChartJsComponent:Ho,Grid:Ww,GridOverlay:Dw,ScorecardChart:Os,LineConfigPanel:MS,LineBarPieDesignPanel:OS,BarConfigPanel:CS,LineBarPieConfigPanel:SS,GaugeChartConfigPanel:AS,GaugeChartDesignPanel:jS,ScorecardChartConfigPanel:PS,ScorecardChartDesignPanel:FS,FigureComponent:kC,Menu:bc,SelectionInput:bS},JN={useDragAndDropListItems:HS};function YN(e,t){return By.add(e,t),{addFunction:(e,t)=>YN(e,t)}}let XN={DEFAULT_LOCALE:j};e.AbstractChart=Uo,e.CommandResult=A,e.CorePlugin=WO,e.DispatchResult=gr,e.EvaluationError=x,e.Model=BN,e.Registry=Qa,e.Revision=gA,e.SPREADSHEET_DIMENSIONS=UN,e.Spreadsheet=oM,e.UIPlugin=Q,e.__info__=HN,e.addFunction=YN,e.astToFormula=NT,e.compile=BT,e.compileTokens=VT,e.components=qN,e.constants=XN,e.convertAstNodes=kT,e.coreTypes=pr,e.findCellInNewZone=ja,e.functionCache=zT,e.helpers=GN,e.hooks=JN,e.invalidateCFEvaluationCommands=dr,e.invalidateDependenciesCommands=ur,e.invalidateEvaluationCommands=lr,e.iterateAstNodes=AT,e.links=KN,e.load=DO,e.parse=DT,e.parseTokens=OT,e.readonlyAllowedCommands=fr,e.registries=WN,e.setDefaultSheetViewSize=Je,e.setTranslationMethod=_,e.tokenize=Tc,HN.version=`17.0.97`,HN.date=`2026-05-12T06:20:03.276Z`,HN.hash=`cb7e4dc`})(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 17.0.
|
|
5
|
-
@date 2026-05-
|
|
6
|
-
@hash
|
|
4
|
+
@version 17.0.97
|
|
5
|
+
@date 2026-05-12T06:20:03.853Z
|
|
6
|
+
@hash cb7e4dc
|
|
7
7
|
-->
|
|
8
8
|
<odoo>
|
|
9
9
|
<t t-name="o-spreadsheet-ActionButton">
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@odoo/o-spreadsheet",
|
|
3
|
-
"version": "17.0.
|
|
3
|
+
"version": "17.0.97",
|
|
4
4
|
"description": "A spreadsheet component",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/o-spreadsheet.cjs.js",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"prettier": "prettier . --write",
|
|
28
28
|
"check-formatting": "prettier . --check && eslint",
|
|
29
29
|
"dist": "tsc --module es6 --declaration --declarationDir dist/types && rolldown -c && npm run build:bundleXml -- --outDir dist",
|
|
30
|
-
"
|
|
30
|
+
"prepare": "husky install",
|
|
31
31
|
"watch:bundle": "npm run build:bundleJs -- --watch",
|
|
32
32
|
"watch:ts": "npm run build:js -- --watch",
|
|
33
33
|
"watch:xml": "node tools/bundle_xml/watch_xml_templates.cjs",
|