@univerjs/sheets-hyper-link 0.2.5 → 0.2.6

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.
@@ -5,5 +5,5 @@ export declare class UniverSheetsHyperLinkPlugin extends Plugin {
5
5
  static pluginName: string;
6
6
  static type: UniverInstanceType;
7
7
  constructor(config: unknown, _injector: Injector);
8
- onStarting(_injector: Injector): void;
8
+ onStarting(): void;
9
9
  }
package/lib/umd/index.js CHANGED
@@ -1 +1 @@
1
- (function(d,_){typeof exports=="object"&&typeof module<"u"?_(exports,require("rxjs"),require("@univerjs/core"),require("@univerjs/sheets"),require("@univerjs/sheets-hyper-link"),require("@univerjs/engine-formula")):typeof define=="function"&&define.amd?define(["exports","rxjs","@univerjs/core","@univerjs/sheets","@univerjs/sheets-hyper-link","@univerjs/engine-formula"],_):(d=typeof globalThis<"u"?globalThis:d||self,_(d.UniverSheetsHyperLink={},d.rxjs,d.UniverCore,d.UniverSheets,d.UniverSheetsHyperLink,d.UniverEngineFormula))})(this,function(d,_,u,f,v,S){"use strict";var se=Object.defineProperty;var ae=(d,_,u)=>_ in d?se(d,_,{enumerable:!0,configurable:!0,writable:!0,value:u}):d[_]=u;var m=(d,_,u)=>ae(d,typeof _!="symbol"?_+"":_,u);var V=Object.defineProperty,W=Object.getOwnPropertyDescriptor,q=(s,r,e,n)=>{for(var t=n>1?void 0:n?W(r,e):r,i=s.length-1,a;i>=0;i--)(a=s[i])&&(t=(n?a(r,e,t):a(t))||t);return n&&t&&V(r,e,t),t},G=(s,r)=>(e,n)=>r(e,n,s);d.HyperLinkModel=class extends u.Disposable{constructor(e){super();m(this,"_linkUpdate$",new _.Subject);m(this,"linkUpdate$",this._linkUpdate$.asObservable());m(this,"_linkMap",new Map);m(this,"_linkPositionMap",new Map);this._univerInstanceService=e,this.disposeWithMe({dispose:()=>{this._linkUpdate$.complete()}})}_ensureMap(e,n){let t=this._linkMap.get(e);t||(t=new Map,this._linkMap.set(e,t));let i=t.get(n);i||(i=new u.ObjectMatrix,t.set(n,i));let a=this._linkPositionMap.get(e);a||(a=new Map,this._linkPositionMap.set(e,a));let o=a.get(n);return o||(o=new Map,a.set(n,o)),{matrix:i,positionMap:o}}addHyperLink(e,n,t){const{matrix:i,positionMap:a}=this._ensureMap(e,n);return i.setValue(t.row,t.column,t),a.set(t.id,{row:t.row,column:t.column,link:t}),this._linkUpdate$.next({unitId:e,subUnitId:n,payload:t,type:"add"}),!0}updateHyperLink(e,n,t,i,a=!1){const{matrix:o,positionMap:c}=this._ensureMap(e,n),l=c.get(t);if(!l)return!0;const p=o.getValue(l.row,l.column);return p&&(Object.assign(p,i),this._linkUpdate$.next({unitId:e,subUnitId:n,payload:{display:p.display,payload:p.payload},id:t,type:"update",silent:a})),!0}updateHyperLinkRef(e,n,t,i,a=!1){const{matrix:o,positionMap:c}=this._ensureMap(e,n),l=c.get(t);if(!l)return!0;let p=o.getValue(l.row,l.column);return!p||p.id!==t?p=l.link:o.realDeleteValue(l.row,l.column),Object.assign(p,i),c.set(t,{...i,link:p}),o.setValue(i.row,i.column,p),this._linkUpdate$.next({unitId:e,subUnitId:n,payload:i,id:t,type:"updateRef",silent:a}),!0}removeHyperLink(e,n,t){const{matrix:i,positionMap:a}=this._ensureMap(e,n),o=a.get(t);if(!o)return!1;a.delete(t);const c=i.getValue(o.row,o.column);return c&&c.id===t&&i.realDeleteValue(o.row,o.column),this._linkUpdate$.next({unitId:e,subUnitId:n,payload:o.link,type:"remove"}),!0}getHyperLink(e,n,t){const{matrix:i,positionMap:a}=this._ensureMap(e,n),o=a.get(t);if(o)return i.getValue(o.row,o.column)}getHyperLinkByLocation(e,n,t,i){const{matrix:a}=this._ensureMap(e,n);return a.getValue(t,i)}getHyperLinkByLocationSync(e,n,t,i){var h,g,M,R,y;const{matrix:a}=this._ensureMap(e,n),o=this._univerInstanceService.getUnit(e,u.UniverInstanceType.UNIVER_SHEET),c=(h=o==null?void 0:o.getSheetBySheetId(n))==null?void 0:h.getCellRaw(t,i),l=((y=(R=c==null?void 0:c.v)!=null?R:(M=(g=c==null?void 0:c.p)==null?void 0:g.body)==null?void 0:M.dataStream.slice(0,-2))!=null?y:"").toString(),p=a.getValue(t,i);if(p)return{...p,display:l}}getSubUnit(e,n){const{matrix:t}=this._ensureMap(e,n),i=[];return t.forValue((a,o,c)=>{c&&i.push(c)}),i}getUnit(e){const n=this._linkMap.get(e);return n?Array.from(n.keys()).map(t=>{const i=this.getSubUnit(e,t);return{unitId:e,subUnitId:t,links:i}}):[]}deleteUnit(e){const n=this.getUnit(e);this._linkMap.delete(e),this._linkPositionMap.delete(e),this._linkUpdate$.next({type:"unload",unitId:e,unitLinks:n})}getAll(){return Array.from(this._linkMap.keys()).map(n=>this.getUnit(n))}},d.HyperLinkModel=q([G(0,u.IUniverInstanceService)],d.HyperLinkModel);const L={type:u.CommandType.MUTATION,id:"sheets.mutation.add-hyper-link",handler(s,r){if(!r)return!1;const e=s.get(d.HyperLinkModel),{unitId:n,subUnitId:t,link:i}=r;return e.addHyperLink(n,t,i)}},C={type:u.CommandType.MUTATION,id:"sheets.mutation.update-hyper-link",handler(s,r){if(!r)return!1;const e=s.get(d.HyperLinkModel),{unitId:n,subUnitId:t,payload:i,id:a}=r;return e.updateHyperLink(n,t,a,i,!1)}},E={type:u.CommandType.MUTATION,id:"sheets.mutation.update-hyper-link-ref",handler(s,r){if(!r)return!1;const e=s.get(d.HyperLinkModel),{unitId:n,subUnitId:t,id:i,row:a,column:o,silent:c}=r;return e.updateHyperLinkRef(n,t,i,{row:a,column:o},c)}},k={type:u.CommandType.MUTATION,id:"sheets.mutation.remove-hyper-link",handler(s,r){if(!r)return!1;const e=s.get(d.HyperLinkModel),{unitId:n,subUnitId:t,id:i}=r;return e.removeHyperLink(n,t,i)}},H={type:u.CommandType.COMMAND,id:"sheets.command.add-hyper-link",async handler(s,r){if(!r)return!1;const e=s.get(f.SheetInterceptorService),n=s.get(u.ICommandService),t=s.get(u.IUndoRedoService),{unitId:i,subUnitId:a,link:o}=r,{redos:c,undos:l}=e.onCommandExecute({id:H.id,params:r}),p={id:L.id,params:r},h={id:k.id,params:{unitId:i,subUnitId:a,id:o.id}};return(await u.sequenceExecuteAsync([p,...c],n)).result?(t.pushUndoRedo({redoMutations:[p,...c],undoMutations:[h,...l],unitID:i}),!0):!1}};function J(s){const{row:r,column:e,id:n,...t}=s;return t}const P={type:u.CommandType.COMMAND,id:"sheets.command.update-hyper-link",async handler(s,r){if(!r)return!1;const e=s.get(f.SheetInterceptorService),n=s.get(u.ICommandService),t=s.get(u.IUndoRedoService),i=s.get(d.HyperLinkModel),{unitId:a,subUnitId:o,id:c}=r,l=i.getHyperLink(a,o,c);if(!l)return!1;const{redos:p,undos:h}=e.onCommandExecute({id:P.id,params:r}),g={id:C.id,params:r},M={id:C.id,params:{unitId:a,subUnitId:o,id:c,payload:J(l)}};return(await u.sequenceExecuteAsync([g,...p],n)).result?(t.pushUndoRedo({redoMutations:[g,...p],undoMutations:[M,...h],unitID:a}),!0):!1}},I={type:u.CommandType.COMMAND,id:"sheets.command.remove-hyper-link",async handler(s,r){if(!r)return!1;const e=s.get(f.SheetInterceptorService),n=s.get(u.ICommandService),t=s.get(u.IUndoRedoService),i=s.get(d.HyperLinkModel),{unitId:a,subUnitId:o,id:c}=r,l=i.getHyperLink(a,o,c),{redos:p,undos:h}=e.onCommandExecute({id:I.id,params:r}),g={id:k.id,params:r},M={id:L.id,params:{unitId:a,subUnitId:o,link:l}};return(await u.sequenceExecuteAsync([g,...p],n)).result?(t.pushUndoRedo({redoMutations:[g,...p],undoMutations:[M,...h],unitID:a}),!0):!1}},O={type:u.CommandType.COMMAND,id:"sheets.command.cancel-hyper-link",async handler(s,r){if(!r)return!1;const e=s.get(u.ICommandService),n=s.get(u.IUndoRedoService),t=s.get(d.HyperLinkModel),{unitId:i,subUnitId:a,id:o}=r,c=t.getHyperLink(i,a,o),l={id:k.id,params:r},p={id:L.id,params:{unitId:i,subUnitId:a,link:c}};return(await u.sequenceExecuteAsync([l],e)).result?(n.pushUndoRedo({redoMutations:[l],undoMutations:[p],unitID:i}),!0):!1}};var z=Object.defineProperty,K=Object.getOwnPropertyDescriptor,B=(s,r,e,n)=>{for(var t=n>1?void 0:n?K(r,e):r,i=s.length-1,a;i>=0;i--)(a=s[i])&&(t=(n?a(r,e,t):a(t))||t);return n&&t&&z(r,e,t),t},Y=(s,r)=>(e,n)=>r(e,n,s);d.SheetsHyperLinkController=class extends u.Disposable{constructor(r){super(),this._commandService=r,this._registerCommands()}_registerCommands(){[L,C,k,E,H,P,I,O].forEach(r=>{this._commandService.registerCommand(r)})}},d.SheetsHyperLinkController=B([u.OnLifecycle(u.LifecycleStages.Starting,d.SheetsHyperLinkController),Y(0,u.ICommandService)],d.SheetsHyperLinkController);var b=(s=>(s[s.range=0]="range",s[s.link=1]="link",s))(b||{});const D="SHEET_HYPER_LINK_PLUGIN",N="err";var j=(s=>(s[s.UNIVER_UNKNOWN=0]="UNIVER_UNKNOWN",s[s.UNIVER_DOC=1]="UNIVER_DOC",s[s.UNIVER_SHEET=2]="UNIVER_SHEET",s[s.UNIVER_SLIDE=3]="UNIVER_SLIDE",s[s.UNRECOGNIZED=-1]="UNRECOGNIZED",s))(j||{}),Z=Object.defineProperty,Q=Object.getOwnPropertyDescriptor,X=(s,r,e,n)=>{for(var t=n>1?void 0:n?Q(r,e):r,i=s.length-1,a;i>=0;i--)(a=s[i])&&(t=(n?a(r,e,t):a(t))||t);return n&&t&&Z(r,e,t),t},$=(s,r)=>(e,n)=>r(e,n,s);let U=class extends u.Disposable{constructor(s,r){super(),this._resourceManagerService=s,this._hyperLinkModel=r,this._initSnapshot()}_initSnapshot(){const s=e=>{const n=this._hyperLinkModel.getUnit(e),t={};return n?(n.forEach(i=>{t[i.subUnitId]=i.links.map(({display:a,...o})=>o)}),JSON.stringify(t)):""},r=e=>{if(!e)return{};try{return JSON.parse(e)}catch{return{}}};this.disposeWithMe(this._resourceManagerService.registerPluginResource({pluginName:D,businesses:[j.UNIVER_SHEET],toJson:e=>s(e),parseJson:e=>r(e),onUnLoad:e=>{this._hyperLinkModel.deleteUnit(e)},onLoad:async(e,n)=>{Object.keys(n).forEach(t=>{n[t].forEach(a=>{this._hyperLinkModel.addHyperLink(e,t,a)})})}}))}};U=X([u.OnLifecycle(u.LifecycleStages.Starting,U),$(0,u.IResourceManagerService),$(1,u.Inject(d.HyperLinkModel))],U);var F=Object.defineProperty,x=Object.getOwnPropertyDescriptor,ee=(s,r,e,n)=>{for(var t=n>1?void 0:n?x(r,e):r,i=s.length-1,a;i>=0;i--)(a=s[i])&&(t=(n?a(r,e,t):a(t))||t);return n&&t&&F(r,e,t),t},w=(s,r)=>(e,n)=>r(e,n,s);d.SheetsHyperLinkRefRangeController=class extends u.Disposable{constructor(e,n,t,i){super();m(this,"_disposableMap",new Map);m(this,"_watchDisposableMap",new Map);m(this,"_rangeDisableMap",new Map);m(this,"_rangeWatcherMap",new Map);m(this,"_handlePositionChange",(e,n,t,i,a)=>{const o={startColumn:t.column,endColumn:t.column,startRow:t.row,endRow:t.row};return i?{redos:[{id:v.UpdateHyperLinkRefMutation.id,params:{unitId:e,subUnitId:n,id:t.id,row:i.startRow,column:i.startColumn,silent:a}}],undos:[{id:v.UpdateHyperLinkRefMutation.id,params:{unitId:e,subUnitId:n,id:t.id,row:o.startRow,column:o.startColumn,silent:a}}]}:{redos:[{id:v.RemoveHyperLinkMutation.id,params:{unitId:e,subUnitId:n,id:t.id}}],undos:[{id:v.AddHyperLinkMutation.id,params:{unitId:e,subUnitId:n,link:t}}]}});this._refRangeService=e,this._hyperLinkModel=n,this._selectionManagerService=t,this._commandService=i,this._initData(),this._initRefRange()}_registerPosition(e,n,t){const i=t.id,a={startColumn:t.column,endColumn:t.column,startRow:t.row,endRow:t.row},o=c=>{const l=f.handleDefaultRangeChangeWithEffectRefCommandsSkipNoInterests(a,c,{selectionManagerService:this._selectionManagerService});return l&&l.startColumn===a.startColumn&&l.startRow===a.startRow?{undos:[],redos:[]}:this._handlePositionChange(e,n,t,l,!1)};this._disposableMap.set(i,this._refRangeService.registerRefRange(a,o,e,n))}_watchPosition(e,n,t){const i=t.id,a={startColumn:t.column,endColumn:t.column,startRow:t.row,endRow:t.row};this._watchDisposableMap.set(i,this._refRangeService.watchRange(e,n,a,(o,c)=>{const{redos:l}=this._handlePositionChange(e,n,t,c,!0);u.sequenceExecuteAsync(l,this._commandService,{onlyLocal:!0})},!0))}_unregisterPosition(e){const n=this._disposableMap.get(e);n==null||n.dispose(),this._disposableMap.delete(e)}_unwatchPosition(e){const n=this._watchDisposableMap.get(e);n==null||n.dispose(),this._watchDisposableMap.delete(e)}_registerRange(e,n,t,i=!1){var a,o,c;if(t.startsWith("#")){const l=new URLSearchParams(t.slice(1)),p={gid:(a=l.get("gid"))!=null?a:"",range:(o=l.get("range"))!=null?o:"",rangeid:(c=l.get("rangeid"))!=null?c:""};if(p.range&&p.gid){const h=p.gid,g=S.deserializeRangeWithSheet(p.range).range;if(u.isValidRange(g)&&p.range!==N){const M=R=>{const y=f.handleDefaultRangeChangeWithEffectRefCommandsSkipNoInterests(g,R,{selectionManagerService:this._selectionManagerService});return y&&S.serializeRange(y)===S.serializeRange(g)?{redos:[],undos:[]}:{redos:[{id:v.UpdateHyperLinkMutation.id,params:{unitId:e,subUnitId:h,id:n,payload:{payload:`#gid=${h}&range=${y?S.serializeRange(y):"err"}`}}}],undos:[{id:v.UpdateHyperLinkMutation.id,params:{unitId:e,subUnitId:h,id:n,payload:{payload:t}}}]}};this._rangeDisableMap.set(n,this._refRangeService.registerRefRange(g,M,e,h)),i||this._rangeWatcherMap.set(n,this._refRangeService.watchRange(e,h,g,(R,y)=>{this._hyperLinkModel.updateHyperLink(e,h,n,{payload:`#gid=${h}&range=${y?S.serializeRange(y):"err"}`},!0)},!0))}}}}_unregisterRange(e){const n=this._rangeDisableMap.get(e);n==null||n.dispose(),this._rangeDisableMap.delete(e)}_unwatchRange(e){const n=this._rangeWatcherMap.get(e);n==null||n.dispose(),this._rangeWatcherMap.delete(e)}_initData(){this._hyperLinkModel.getAll().forEach(n=>{n.forEach(t=>{const{unitId:i,subUnitId:a,links:o}=t;o.forEach(c=>{this._registerPosition(i,a,c),this._watchPosition(i,a,c),this._registerRange(i,c.id,c.payload)})})})}_initRefRange(){this.disposeWithMe(this._hyperLinkModel.linkUpdate$.subscribe(e=>{switch(e.type){case"add":{this._registerPosition(e.unitId,e.subUnitId,e.payload),this._watchPosition(e.unitId,e.subUnitId,e.payload),this._registerRange(e.unitId,e.payload.id,e.payload.payload);break}case"remove":{this._unregisterPosition(e.payload.id),this._unwatchPosition(e.payload.id),this._unregisterRange(e.payload.id),this._unwatchRange(e.payload.id);break}case"updateRef":{const{unitId:n,subUnitId:t,id:i,silent:a}=e,o=this._hyperLinkModel.getHyperLink(n,t,i);if(!o)return;this._unregisterPosition(i),this._registerPosition(n,t,o),a||(this._unwatchPosition(i),this._watchPosition(n,t,o));break}case"unload":{const{unitLinks:n}=e;n.forEach(t=>{const{links:i}=t;i.forEach(a=>{this._unregisterPosition(a.id),this._unwatchPosition(a.id),this._unregisterRange(a.id),this._unwatchRange(a.id)})});break}case"update":{e.silent||this._unwatchRange(e.id),this._unregisterRange(e.id),this._registerRange(e.unitId,e.id,e.payload.payload,e.silent);break}}})),this.disposeWithMe(u.toDisposable(()=>{this._disposableMap.forEach(e=>{e.dispose()}),this._disposableMap.clear()}))}},d.SheetsHyperLinkRefRangeController=ee([u.OnLifecycle(u.LifecycleStages.Starting,d.SheetsHyperLinkRefRangeController),w(0,u.Inject(f.RefRangeService)),w(1,u.Inject(v.HyperLinkModel)),w(2,u.Inject(f.SheetsSelectionsService)),w(3,u.ICommandService)],d.SheetsHyperLinkRefRangeController);var T=Object.defineProperty,te=Object.getOwnPropertyDescriptor,ne=(s,r,e)=>r in s?T(s,r,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[r]=e,ie=(s,r,e,n)=>{for(var t=n>1?void 0:n?te(r,e):r,i=s.length-1,a;i>=0;i--)(a=s[i])&&(t=(n?a(r,e,t):a(t))||t);return n&&t&&T(r,e,t),t},re=(s,r)=>(e,n)=>r(e,n,s),A=(s,r,e)=>ne(s,typeof r!="symbol"?r+"":r,e);d.UniverSheetsHyperLinkPlugin=class extends u.Plugin{constructor(r,e){super(),this._injector=e}onStarting(r){[[U],[d.SheetsHyperLinkController],[d.SheetsHyperLinkRefRangeController],[d.HyperLinkModel]].forEach(e=>{r.add(e)})}},A(d.UniverSheetsHyperLinkPlugin,"pluginName",D),A(d.UniverSheetsHyperLinkPlugin,"type",u.UniverInstanceType.UNIVER_SHEET),d.UniverSheetsHyperLinkPlugin=ie([u.DependentOn(f.UniverSheetsPlugin),re(1,u.Inject(u.Injector))],d.UniverSheetsHyperLinkPlugin),d.AddHyperLinkCommand=H,d.AddHyperLinkMutation=L,d.CancelHyperLinkCommand=O,d.ERROR_RANGE=N,d.HyperLinkType=b,d.RemoveHyperLinkCommand=I,d.RemoveHyperLinkMutation=k,d.UpdateHyperLinkCommand=P,d.UpdateHyperLinkMutation=C,d.UpdateHyperLinkRefMutation=E,Object.defineProperty(d,Symbol.toStringTag,{value:"Module"})});
1
+ (function(global,factory){typeof exports=="object"&&typeof module<"u"?factory(exports,require("rxjs"),require("@univerjs/core"),require("@univerjs/sheets"),require("@univerjs/sheets-hyper-link"),require("@univerjs/engine-formula")):typeof define=="function"&&define.amd?define(["exports","rxjs","@univerjs/core","@univerjs/sheets","@univerjs/sheets-hyper-link","@univerjs/engine-formula"],factory):(global=typeof globalThis<"u"?globalThis:global||self,factory(global.UniverSheetsHyperLink={},global.rxjs,global.UniverCore,global.UniverSheets,global.UniverSheetsHyperLink,global.UniverEngineFormula))})(this,function(exports2,rxjs,core,sheets,sheetsHyperLink,engineFormula){"use strict";var __defProp=Object.defineProperty;var __defNormalProp=(obj,key,value)=>key in obj?__defProp(obj,key,{enumerable:!0,configurable:!0,writable:!0,value}):obj[key]=value;var __name=(target,value)=>__defProp(target,"name",{value,configurable:!0});var __publicField=(obj,key,value)=>__defNormalProp(obj,typeof key!="symbol"?key+"":key,value);var _a,_b,_c,_d,_e;var __defProp$4=Object.defineProperty,__getOwnPropDesc$4=Object.getOwnPropertyDescriptor,__decorateClass$4=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$4(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$4(target,key,result),result},"__decorateClass$4"),__decorateParam$4=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$4");exports2.HyperLinkModel=(_a=class extends core.Disposable{constructor(_univerInstanceService){super();__publicField(this,"_linkUpdate$",new rxjs.Subject);__publicField(this,"linkUpdate$",this._linkUpdate$.asObservable());__publicField(this,"_linkMap",new Map);__publicField(this,"_linkPositionMap",new Map);this._univerInstanceService=_univerInstanceService,this.disposeWithMe({dispose:__name(()=>{this._linkUpdate$.complete()},"dispose")})}_ensureMap(unitId,subUnitId){let unitMap=this._linkMap.get(unitId);unitMap||(unitMap=new Map,this._linkMap.set(unitId,unitMap));let matrix=unitMap.get(subUnitId);matrix||(matrix=new core.ObjectMatrix,unitMap.set(subUnitId,matrix));let positionUnitMap=this._linkPositionMap.get(unitId);positionUnitMap||(positionUnitMap=new Map,this._linkPositionMap.set(unitId,positionUnitMap));let positionSubUnitMap=positionUnitMap.get(subUnitId);return positionSubUnitMap||(positionSubUnitMap=new Map,positionUnitMap.set(subUnitId,positionSubUnitMap)),{matrix,positionMap:positionSubUnitMap}}addHyperLink(unitId,subUnitId,link){const{matrix,positionMap}=this._ensureMap(unitId,subUnitId);return matrix.setValue(link.row,link.column,link),positionMap.set(link.id,{row:link.row,column:link.column,link}),this._linkUpdate$.next({unitId,subUnitId,payload:link,type:"add"}),!0}updateHyperLink(unitId,subUnitId,id,payload,silent=!1){const{matrix,positionMap}=this._ensureMap(unitId,subUnitId),position=positionMap.get(id);if(!position)return!0;const link=matrix.getValue(position.row,position.column);return link&&(Object.assign(link,payload),this._linkUpdate$.next({unitId,subUnitId,payload:{display:link.display,payload:link.payload},id,type:"update",silent})),!0}updateHyperLinkRef(unitId,subUnitId,id,payload,silent=!1){const{matrix,positionMap}=this._ensureMap(unitId,subUnitId),position=positionMap.get(id);if(!position)return!0;let link=matrix.getValue(position.row,position.column);return!link||link.id!==id?link=position.link:matrix.realDeleteValue(position.row,position.column),Object.assign(link,payload),positionMap.set(id,{...payload,link}),matrix.setValue(payload.row,payload.column,link),this._linkUpdate$.next({unitId,subUnitId,payload,id,type:"updateRef",silent}),!0}removeHyperLink(unitId,subUnitId,id){const{matrix,positionMap}=this._ensureMap(unitId,subUnitId),position=positionMap.get(id);if(!position)return!1;positionMap.delete(id);const link=matrix.getValue(position.row,position.column);return link&&link.id===id&&matrix.realDeleteValue(position.row,position.column),this._linkUpdate$.next({unitId,subUnitId,payload:position.link,type:"remove"}),!0}getHyperLink(unitId,subUnitId,id){const{matrix,positionMap}=this._ensureMap(unitId,subUnitId),position=positionMap.get(id);if(position)return matrix.getValue(position.row,position.column)}getHyperLinkByLocation(unitId,subUnitId,row,column){const{matrix}=this._ensureMap(unitId,subUnitId);return matrix.getValue(row,column)}getHyperLinkByLocationSync(unitId,subUnitId,row,column){var _a2,_b2,_c2,_d2,_e2;const{matrix}=this._ensureMap(unitId,subUnitId),workbook=this._univerInstanceService.getUnit(unitId,core.UniverInstanceType.UNIVER_SHEET),cell=(_a2=workbook==null?void 0:workbook.getSheetBySheetId(subUnitId))==null?void 0:_a2.getCellRaw(row,column),cellValueStr=((_e2=(_d2=cell==null?void 0:cell.v)!=null?_d2:(_c2=(_b2=cell==null?void 0:cell.p)==null?void 0:_b2.body)==null?void 0:_c2.dataStream.slice(0,-2))!=null?_e2:"").toString(),link=matrix.getValue(row,column);if(link)return{...link,display:cellValueStr}}getSubUnit(unitId,subUnitId){const{matrix}=this._ensureMap(unitId,subUnitId),links=[];return matrix.forValue((row,col,value)=>{value&&links.push(value)}),links}getUnit(unitId){const unitMap=this._linkMap.get(unitId);return unitMap?Array.from(unitMap.keys()).map(subUnitId=>{const links=this.getSubUnit(unitId,subUnitId);return{unitId,subUnitId,links}}):[]}deleteUnit(unitId){const links=this.getUnit(unitId);this._linkMap.delete(unitId),this._linkPositionMap.delete(unitId),this._linkUpdate$.next({type:"unload",unitId,unitLinks:links})}getAll(){return Array.from(this._linkMap.keys()).map(unitId=>this.getUnit(unitId))}},__name(_a,"HyperLinkModel"),_a),exports2.HyperLinkModel=__decorateClass$4([__decorateParam$4(0,core.IUniverInstanceService)],exports2.HyperLinkModel);const AddHyperLinkMutation={type:core.CommandType.MUTATION,id:"sheets.mutation.add-hyper-link",handler(accessor,params){if(!params)return!1;const model=accessor.get(exports2.HyperLinkModel),{unitId,subUnitId,link}=params;return model.addHyperLink(unitId,subUnitId,link)}},UpdateHyperLinkMutation={type:core.CommandType.MUTATION,id:"sheets.mutation.update-hyper-link",handler(accessor,params){if(!params)return!1;const model=accessor.get(exports2.HyperLinkModel),{unitId,subUnitId,payload,id}=params;return model.updateHyperLink(unitId,subUnitId,id,payload,!1)}},UpdateHyperLinkRefMutation={type:core.CommandType.MUTATION,id:"sheets.mutation.update-hyper-link-ref",handler(accessor,params){if(!params)return!1;const model=accessor.get(exports2.HyperLinkModel),{unitId,subUnitId,id,row,column,silent}=params;return model.updateHyperLinkRef(unitId,subUnitId,id,{row,column},silent)}},RemoveHyperLinkMutation={type:core.CommandType.MUTATION,id:"sheets.mutation.remove-hyper-link",handler(accessor,params){if(!params)return!1;const model=accessor.get(exports2.HyperLinkModel),{unitId,subUnitId,id}=params;return model.removeHyperLink(unitId,subUnitId,id)}},AddHyperLinkCommand={type:core.CommandType.COMMAND,id:"sheets.command.add-hyper-link",async handler(accessor,params){if(!params)return!1;const sheetInterceptorService=accessor.get(sheets.SheetInterceptorService),commandService=accessor.get(core.ICommandService),undoRedoService=accessor.get(core.IUndoRedoService),{unitId,subUnitId,link}=params,{redos,undos}=sheetInterceptorService.onCommandExecute({id:AddHyperLinkCommand.id,params}),redo={id:AddHyperLinkMutation.id,params},undo={id:RemoveHyperLinkMutation.id,params:{unitId,subUnitId,id:link.id}};return(await core.sequenceExecuteAsync([redo,...redos],commandService)).result?(undoRedoService.pushUndoRedo({redoMutations:[redo,...redos],undoMutations:[undo,...undos],unitID:unitId}),!0):!1}};function getHyperLinkContent(link){const{row,column,id,...content}=link;return content}__name(getHyperLinkContent,"getHyperLinkContent");const UpdateHyperLinkCommand={type:core.CommandType.COMMAND,id:"sheets.command.update-hyper-link",async handler(accessor,params){if(!params)return!1;const sheetInterceptorService=accessor.get(sheets.SheetInterceptorService),commandService=accessor.get(core.ICommandService),undoRedoService=accessor.get(core.IUndoRedoService),model=accessor.get(exports2.HyperLinkModel),{unitId,subUnitId,id}=params,link=model.getHyperLink(unitId,subUnitId,id);if(!link)return!1;const{redos,undos}=sheetInterceptorService.onCommandExecute({id:UpdateHyperLinkCommand.id,params}),redo={id:UpdateHyperLinkMutation.id,params},undo={id:UpdateHyperLinkMutation.id,params:{unitId,subUnitId,id,payload:getHyperLinkContent(link)}};return(await core.sequenceExecuteAsync([redo,...redos],commandService)).result?(undoRedoService.pushUndoRedo({redoMutations:[redo,...redos],undoMutations:[undo,...undos],unitID:unitId}),!0):!1}},RemoveHyperLinkCommand={type:core.CommandType.COMMAND,id:"sheets.command.remove-hyper-link",async handler(accessor,params){if(!params)return!1;const sheetInterceptorService=accessor.get(sheets.SheetInterceptorService),commandService=accessor.get(core.ICommandService),undoRedoService=accessor.get(core.IUndoRedoService),model=accessor.get(exports2.HyperLinkModel),{unitId,subUnitId,id}=params,link=model.getHyperLink(unitId,subUnitId,id),{redos,undos}=sheetInterceptorService.onCommandExecute({id:RemoveHyperLinkCommand.id,params}),redo={id:RemoveHyperLinkMutation.id,params},undo={id:AddHyperLinkMutation.id,params:{unitId,subUnitId,link}};return(await core.sequenceExecuteAsync([redo,...redos],commandService)).result?(undoRedoService.pushUndoRedo({redoMutations:[redo,...redos],undoMutations:[undo,...undos],unitID:unitId}),!0):!1}},CancelHyperLinkCommand={type:core.CommandType.COMMAND,id:"sheets.command.cancel-hyper-link",async handler(accessor,params){if(!params)return!1;const commandService=accessor.get(core.ICommandService),undoRedoService=accessor.get(core.IUndoRedoService),model=accessor.get(exports2.HyperLinkModel),{unitId,subUnitId,id}=params,link=model.getHyperLink(unitId,subUnitId,id),redo={id:RemoveHyperLinkMutation.id,params},undo={id:AddHyperLinkMutation.id,params:{unitId,subUnitId,link}};return(await core.sequenceExecuteAsync([redo],commandService)).result?(undoRedoService.pushUndoRedo({redoMutations:[redo],undoMutations:[undo],unitID:unitId}),!0):!1}};var __defProp$3=Object.defineProperty,__getOwnPropDesc$3=Object.getOwnPropertyDescriptor,__decorateClass$3=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$3(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$3(target,key,result),result},"__decorateClass$3"),__decorateParam$3=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$3");exports2.SheetsHyperLinkController=(_b=class extends core.Disposable{constructor(_commandService){super(),this._commandService=_commandService,this._registerCommands()}_registerCommands(){[AddHyperLinkMutation,UpdateHyperLinkMutation,RemoveHyperLinkMutation,UpdateHyperLinkRefMutation,AddHyperLinkCommand,UpdateHyperLinkCommand,RemoveHyperLinkCommand,CancelHyperLinkCommand].forEach(command=>{this._commandService.registerCommand(command)})}},__name(_b,"SheetsHyperLinkController"),_b),exports2.SheetsHyperLinkController=__decorateClass$3([core.OnLifecycle(core.LifecycleStages.Starting,exports2.SheetsHyperLinkController),__decorateParam$3(0,core.ICommandService)],exports2.SheetsHyperLinkController);var HyperLinkType=(HyperLinkType2=>(HyperLinkType2[HyperLinkType2.range=0]="range",HyperLinkType2[HyperLinkType2.link=1]="link",HyperLinkType2))(HyperLinkType||{});const SHEET_HYPER_LINK_PLUGIN="SHEET_HYPER_LINK_PLUGIN",ERROR_RANGE="err";var I=(E=>(E[E.UNIVER_UNKNOWN=0]="UNIVER_UNKNOWN",E[E.UNIVER_DOC=1]="UNIVER_DOC",E[E.UNIVER_SHEET=2]="UNIVER_SHEET",E[E.UNIVER_SLIDE=3]="UNIVER_SLIDE",E[E.UNRECOGNIZED=-1]="UNRECOGNIZED",E))(I||{}),__defProp$2=Object.defineProperty,__getOwnPropDesc$2=Object.getOwnPropertyDescriptor,__decorateClass$2=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$2(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$2(target,key,result),result},"__decorateClass$2"),__decorateParam$2=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$2");let SheetsHyperLinkResourceController=(_c=class extends core.Disposable{constructor(_resourceManagerService,_hyperLinkModel){super(),this._resourceManagerService=_resourceManagerService,this._hyperLinkModel=_hyperLinkModel,this._initSnapshot()}_initSnapshot(){const toJson=__name(unitID=>{const map=this._hyperLinkModel.getUnit(unitID),resultMap={};return map?(map.forEach(info=>{resultMap[info.subUnitId]=info.links.map(({display,...link})=>link)}),JSON.stringify(resultMap)):""},"toJson"),parseJson=__name(json=>{if(!json)return{};try{return JSON.parse(json)}catch{return{}}},"parseJson");this.disposeWithMe(this._resourceManagerService.registerPluginResource({pluginName:SHEET_HYPER_LINK_PLUGIN,businesses:[I.UNIVER_SHEET],toJson:__name(unitID=>toJson(unitID),"toJson"),parseJson:__name(json=>parseJson(json),"parseJson"),onUnLoad:__name(unitID=>{this._hyperLinkModel.deleteUnit(unitID)},"onUnLoad"),onLoad:__name(async(unitID,value)=>{Object.keys(value).forEach(subunitId=>{value[subunitId].forEach(link=>{this._hyperLinkModel.addHyperLink(unitID,subunitId,link)})})},"onLoad")}))}},__name(_c,"SheetsHyperLinkResourceController"),_c);SheetsHyperLinkResourceController=__decorateClass$2([core.OnLifecycle(core.LifecycleStages.Starting,SheetsHyperLinkResourceController),__decorateParam$2(0,core.IResourceManagerService),__decorateParam$2(1,core.Inject(exports2.HyperLinkModel))],SheetsHyperLinkResourceController);var __defProp$1=Object.defineProperty,__getOwnPropDesc$1=Object.getOwnPropertyDescriptor,__decorateClass$1=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$1(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$1(target,key,result),result},"__decorateClass$1"),__decorateParam$1=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$1");exports2.SheetsHyperLinkRefRangeController=(_d=class extends core.Disposable{constructor(_refRangeService,_hyperLinkModel,_selectionManagerService,_commandService){super();__publicField(this,"_disposableMap",new Map);__publicField(this,"_watchDisposableMap",new Map);__publicField(this,"_rangeDisableMap",new Map);__publicField(this,"_rangeWatcherMap",new Map);__publicField(this,"_handlePositionChange",__name((unitId,subUnitId,link,resultRange,silent)=>{const oldRange={startColumn:link.column,endColumn:link.column,startRow:link.row,endRow:link.row};return resultRange?{redos:[{id:sheetsHyperLink.UpdateHyperLinkRefMutation.id,params:{unitId,subUnitId,id:link.id,row:resultRange.startRow,column:resultRange.startColumn,silent}}],undos:[{id:sheetsHyperLink.UpdateHyperLinkRefMutation.id,params:{unitId,subUnitId,id:link.id,row:oldRange.startRow,column:oldRange.startColumn,silent}}]}:{redos:[{id:sheetsHyperLink.RemoveHyperLinkMutation.id,params:{unitId,subUnitId,id:link.id}}],undos:[{id:sheetsHyperLink.AddHyperLinkMutation.id,params:{unitId,subUnitId,link}}]}},"_handlePositionChange"));this._refRangeService=_refRangeService,this._hyperLinkModel=_hyperLinkModel,this._selectionManagerService=_selectionManagerService,this._commandService=_commandService,this._initData(),this._initRefRange()}_registerPosition(unitId,subUnitId,link){const id=link.id,oldRange={startColumn:link.column,endColumn:link.column,startRow:link.row,endRow:link.row},handleRefRangeChange=__name(commandInfo=>{const resultRange=sheets.handleDefaultRangeChangeWithEffectRefCommandsSkipNoInterests(oldRange,commandInfo,{selectionManagerService:this._selectionManagerService});return resultRange&&resultRange.startColumn===oldRange.startColumn&&resultRange.startRow===oldRange.startRow?{undos:[],redos:[]}:this._handlePositionChange(unitId,subUnitId,link,resultRange,!1)},"handleRefRangeChange");this._disposableMap.set(id,this._refRangeService.registerRefRange(oldRange,handleRefRangeChange,unitId,subUnitId))}_watchPosition(unitId,subUnitId,link){const id=link.id,oldRange={startColumn:link.column,endColumn:link.column,startRow:link.row,endRow:link.row};this._watchDisposableMap.set(id,this._refRangeService.watchRange(unitId,subUnitId,oldRange,(before,after)=>{const{redos}=this._handlePositionChange(unitId,subUnitId,link,after,!0);core.sequenceExecuteAsync(redos,this._commandService,{onlyLocal:!0})},!0))}_unregisterPosition(id){const disposable=this._disposableMap.get(id);disposable==null||disposable.dispose(),this._disposableMap.delete(id)}_unwatchPosition(id){const disposable=this._watchDisposableMap.get(id);disposable==null||disposable.dispose(),this._watchDisposableMap.delete(id)}_registerRange(unitId,id,payload,silent=!1){var _a2,_b2,_c2;if(payload.startsWith("#")){const search=new URLSearchParams(payload.slice(1)),searchObj={gid:(_a2=search.get("gid"))!=null?_a2:"",range:(_b2=search.get("range"))!=null?_b2:"",rangeid:(_c2=search.get("rangeid"))!=null?_c2:""};if(searchObj.range&&searchObj.gid){const subUnitId=searchObj.gid,range=engineFormula.deserializeRangeWithSheet(searchObj.range).range;if(core.isValidRange(range)&&searchObj.range!==ERROR_RANGE){const handleRangeChange=__name(commandInfo=>{const resultRange=sheets.handleDefaultRangeChangeWithEffectRefCommandsSkipNoInterests(range,commandInfo,{selectionManagerService:this._selectionManagerService});return resultRange&&engineFormula.serializeRange(resultRange)===engineFormula.serializeRange(range)?{redos:[],undos:[]}:{redos:[{id:sheetsHyperLink.UpdateHyperLinkMutation.id,params:{unitId,subUnitId,id,payload:{payload:`#gid=${subUnitId}&range=${resultRange?engineFormula.serializeRange(resultRange):"err"}`}}}],undos:[{id:sheetsHyperLink.UpdateHyperLinkMutation.id,params:{unitId,subUnitId,id,payload:{payload}}}]}},"handleRangeChange");this._rangeDisableMap.set(id,this._refRangeService.registerRefRange(range,handleRangeChange,unitId,subUnitId)),silent||this._rangeWatcherMap.set(id,this._refRangeService.watchRange(unitId,subUnitId,range,(before,after)=>{this._hyperLinkModel.updateHyperLink(unitId,subUnitId,id,{payload:`#gid=${subUnitId}&range=${after?engineFormula.serializeRange(after):"err"}`},!0)},!0))}}}}_unregisterRange(id){const disposable=this._rangeDisableMap.get(id);disposable==null||disposable.dispose(),this._rangeDisableMap.delete(id)}_unwatchRange(id){const disposable=this._rangeWatcherMap.get(id);disposable==null||disposable.dispose(),this._rangeWatcherMap.delete(id)}_initData(){this._hyperLinkModel.getAll().forEach(unitData=>{unitData.forEach(subUnitData=>{const{unitId,subUnitId,links}=subUnitData;links.forEach(link=>{this._registerPosition(unitId,subUnitId,link),this._watchPosition(unitId,subUnitId,link),this._registerRange(unitId,link.id,link.payload)})})})}_initRefRange(){this.disposeWithMe(this._hyperLinkModel.linkUpdate$.subscribe(option=>{switch(option.type){case"add":{this._registerPosition(option.unitId,option.subUnitId,option.payload),this._watchPosition(option.unitId,option.subUnitId,option.payload),this._registerRange(option.unitId,option.payload.id,option.payload.payload);break}case"remove":{this._unregisterPosition(option.payload.id),this._unwatchPosition(option.payload.id),this._unregisterRange(option.payload.id),this._unwatchRange(option.payload.id);break}case"updateRef":{const{unitId,subUnitId,id,silent}=option,link=this._hyperLinkModel.getHyperLink(unitId,subUnitId,id);if(!link)return;this._unregisterPosition(id),this._registerPosition(unitId,subUnitId,link),silent||(this._unwatchPosition(id),this._watchPosition(unitId,subUnitId,link));break}case"unload":{const{unitLinks}=option;unitLinks.forEach(subUnitData=>{const{links}=subUnitData;links.forEach(link=>{this._unregisterPosition(link.id),this._unwatchPosition(link.id),this._unregisterRange(link.id),this._unwatchRange(link.id)})});break}case"update":{option.silent||this._unwatchRange(option.id),this._unregisterRange(option.id),this._registerRange(option.unitId,option.id,option.payload.payload,option.silent);break}}})),this.disposeWithMe(core.toDisposable(()=>{this._disposableMap.forEach(item=>{item.dispose()}),this._disposableMap.clear()}))}},__name(_d,"SheetsHyperLinkRefRangeController"),_d),exports2.SheetsHyperLinkRefRangeController=__decorateClass$1([core.OnLifecycle(core.LifecycleStages.Starting,exports2.SheetsHyperLinkRefRangeController),__decorateParam$1(0,core.Inject(sheets.RefRangeService)),__decorateParam$1(1,core.Inject(sheetsHyperLink.HyperLinkModel)),__decorateParam$1(2,core.Inject(sheets.SheetsSelectionsService)),__decorateParam$1(3,core.ICommandService)],exports2.SheetsHyperLinkRefRangeController);var __defProp2=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__defNormalProp2=__name((obj,key,value)=>key in obj?__defProp2(obj,key,{enumerable:!0,configurable:!0,writable:!0,value}):obj[key]=value,"__defNormalProp"),__decorateClass=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp2(target,key,result),result},"__decorateClass"),__decorateParam=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam"),__publicField2=__name((obj,key,value)=>__defNormalProp2(obj,typeof key!="symbol"?key+"":key,value),"__publicField");exports2.UniverSheetsHyperLinkPlugin=(_e=class extends core.Plugin{constructor(config,_injector){super(),this._injector=_injector}onStarting(){[[SheetsHyperLinkResourceController],[exports2.SheetsHyperLinkController],[exports2.SheetsHyperLinkRefRangeController],[exports2.HyperLinkModel]].forEach(dep=>{this._injector.add(dep)})}},__name(_e,"UniverSheetsHyperLinkPlugin"),_e),__publicField2(exports2.UniverSheetsHyperLinkPlugin,"pluginName",SHEET_HYPER_LINK_PLUGIN),__publicField2(exports2.UniverSheetsHyperLinkPlugin,"type",core.UniverInstanceType.UNIVER_SHEET),exports2.UniverSheetsHyperLinkPlugin=__decorateClass([core.DependentOn(sheets.UniverSheetsPlugin),__decorateParam(1,core.Inject(core.Injector))],exports2.UniverSheetsHyperLinkPlugin),exports2.AddHyperLinkCommand=AddHyperLinkCommand,exports2.AddHyperLinkMutation=AddHyperLinkMutation,exports2.CancelHyperLinkCommand=CancelHyperLinkCommand,exports2.ERROR_RANGE=ERROR_RANGE,exports2.HyperLinkType=HyperLinkType,exports2.RemoveHyperLinkCommand=RemoveHyperLinkCommand,exports2.RemoveHyperLinkMutation=RemoveHyperLinkMutation,exports2.UpdateHyperLinkCommand=UpdateHyperLinkCommand,exports2.UpdateHyperLinkMutation=UpdateHyperLinkMutation,exports2.UpdateHyperLinkRefMutation=UpdateHyperLinkRefMutation,Object.defineProperty(exports2,Symbol.toStringTag,{value:"Module"})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@univerjs/sheets-hyper-link",
3
- "version": "0.2.5",
3
+ "version": "0.2.6",
4
4
  "private": false,
5
5
  "description": "",
6
6
  "author": "DreamNum <developer@univer.ai>",
@@ -45,21 +45,21 @@
45
45
  ],
46
46
  "peerDependencies": {
47
47
  "rxjs": ">=7.0.0",
48
- "@univerjs/core": "0.2.5",
49
- "@univerjs/engine-formula": "0.2.5",
50
- "@univerjs/sheets": "0.2.5",
51
- "@univerjs/sheets-hyper-link": "0.2.5"
48
+ "@univerjs/engine-formula": "0.2.6",
49
+ "@univerjs/sheets-hyper-link": "0.2.6",
50
+ "@univerjs/sheets": "0.2.6",
51
+ "@univerjs/core": "0.2.6"
52
52
  },
53
53
  "devDependencies": {
54
54
  "@univerjs/protocol": "0.1.38-alpha.23",
55
55
  "rxjs": "^7.8.1",
56
- "typescript": "^5.5.3",
57
- "vite": "^5.3.4",
58
- "vitest": "^2.0.3",
59
- "@univerjs/core": "0.2.5",
60
- "@univerjs/engine-formula": "0.2.5",
61
- "@univerjs/shared": "0.2.5",
62
- "@univerjs/sheets": "0.2.5"
56
+ "typescript": "^5.5.4",
57
+ "vite": "^5.3.5",
58
+ "vitest": "^2.0.4",
59
+ "@univerjs/core": "0.2.6",
60
+ "@univerjs/engine-formula": "0.2.6",
61
+ "@univerjs/sheets": "0.2.6",
62
+ "@univerjs/shared": "0.2.6"
63
63
  },
64
64
  "univerSpace": {
65
65
  ".": {