@univerjs/sheets-note 0.15.4 → 0.15.5

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.
@@ -12,24 +12,27 @@ export declare const UpdateNoteMutation: IMutation<IUpdateNoteMutationParams>;
12
12
  export interface IRemoveNoteMutationParams {
13
13
  unitId: string;
14
14
  sheetId: string;
15
- row: number;
16
- col: number;
15
+ noteId?: string;
16
+ row?: number;
17
+ col?: number;
17
18
  silent?: boolean;
18
19
  }
19
20
  export declare const RemoveNoteMutation: IMutation<IRemoveNoteMutationParams>;
20
21
  export interface IToggleNotePopupMutationParams {
21
22
  unitId: string;
22
23
  sheetId: string;
23
- row: number;
24
- col: number;
24
+ noteId?: string;
25
+ row?: number;
26
+ col?: number;
25
27
  silent?: boolean;
26
28
  }
27
29
  export declare const ToggleNotePopupMutation: IMutation<IToggleNotePopupMutationParams>;
28
30
  export interface IUpdateNotePositionMutationParams {
29
31
  unitId: string;
30
32
  sheetId: string;
31
- row: number;
32
- col: number;
33
+ noteId?: string;
34
+ row?: number;
35
+ col?: number;
33
36
  newPosition: {
34
37
  row: number;
35
38
  col: number;
@@ -1,16 +1,12 @@
1
1
  import { ISheetNote } from '@univerjs/sheets-note';
2
2
  import { FWorksheet } from '@univerjs/sheets/facade';
3
- export interface ISheetNoteInfo extends ISheetNote {
4
- row: number;
5
- col: number;
6
- }
7
3
  /**
8
4
  * @ignore
9
5
  */
10
6
  export interface IFSheetsNoteWorksheet {
11
7
  /**
12
8
  * Get all annotations in the worksheet
13
- * @returns {ISheetNoteInfo[]} An array of all annotations in the worksheet
9
+ * @returns {ISheetNote[]} An array of all annotations in the worksheet
14
10
  * @example
15
11
  * ```ts
16
12
  * const fWorkbook = univerAPI.getActiveWorkbook();
@@ -24,10 +20,10 @@ export interface IFSheetsNoteWorksheet {
24
20
  * });
25
21
  * ```
26
22
  */
27
- getNotes(): ISheetNoteInfo[];
23
+ getNotes(): ISheetNote[];
28
24
  }
29
25
  export declare class FSheetsNoteWorksheet extends FWorksheet implements IFSheetsNoteWorksheet {
30
- getNotes(): ISheetNoteInfo[];
26
+ getNotes(): ISheetNote[];
31
27
  }
32
28
  declare module '@univerjs/sheets/facade' {
33
29
  interface FWorksheet extends IFSheetsNoteWorksheet {
@@ -1,6 +1,9 @@
1
- import { Nullable, Disposable, ObjectMatrix } from '@univerjs/core';
1
+ import { Nullable, Disposable } from '@univerjs/core';
2
2
  import { ISheetLocationBase } from '@univerjs/sheets';
3
3
  export interface ISheetNote {
4
+ id: string;
5
+ row: number;
6
+ col: number;
4
7
  width: number;
5
8
  height: number;
6
9
  note: string;
@@ -8,39 +11,57 @@ export interface ISheetNote {
8
11
  }
9
12
  export type ISheetNoteChange = {
10
13
  unitId: string;
11
- sheetId: string;
12
- row: number;
13
- col: number;
14
+ subUnitId: string;
15
+ oldNote: Nullable<ISheetNote>;
14
16
  silent?: boolean;
15
17
  } & ({
16
18
  type: 'update';
17
- note: Nullable<ISheetNote>;
18
- oldNote: Nullable<ISheetNote>;
19
+ newNote: Nullable<ISheetNote>;
19
20
  } | {
20
21
  type: 'ref';
21
- newPosition: {
22
- row: number;
23
- col: number;
24
- };
25
- note: ISheetNote;
22
+ newNote: ISheetNote;
26
23
  });
27
24
  export declare class SheetsNoteModel extends Disposable {
28
- private _noteMatrix;
25
+ private _notesMap;
29
26
  private readonly _change$;
30
27
  readonly change$: import('rxjs').Observable<ISheetNoteChange>;
31
- private _ensureNoteMatrix;
32
- getSheetShowNotes$(unitId: string, sheetId: string): import('rxjs').Observable<{
28
+ private _ensureNotesMap;
29
+ private _getNoteByPosition;
30
+ private _getNoteById;
31
+ private _getNoteByParams;
32
+ getSheetShowNotes$(unitId: string, subUnitId: string): import('rxjs').Observable<{
33
33
  loc: ISheetLocationBase;
34
34
  note: ISheetNote;
35
35
  }[]>;
36
- getCellNoteChange$(unitId: string, sheetId: string, row: number, col: number): import('rxjs').Observable<Nullable<ISheetNote>>;
37
- updateNote(unitId: string, sheetId: string, row: number, col: number, note: ISheetNote, silent?: boolean): void;
38
- removeNote(unitId: string, sheetId: string, row: number, col: number, silent?: boolean): void;
39
- toggleNotePopup(unitId: string, sheetId: string, row: number, col: number, silent?: boolean): void;
40
- updateNotePosition(unitId: string, sheetId: string, row: number, col: number, newRow: number, newCol: number, silent?: boolean): void;
41
- getNote(unitId: string, sheetId: string, row: number, col: number): Nullable<ISheetNote>;
42
- getUnitNotes(unitId: string): Map<string, ObjectMatrix<ISheetNote>> | undefined;
43
- getSheetNotes(unitId: string, sheetId: string): ObjectMatrix<ISheetNote> | undefined;
44
- getNotes(): Map<string, Map<string, ObjectMatrix<ISheetNote>>>;
36
+ getCellNoteChange$(unitId: string, subUnitId: string, row: number, col: number): import('rxjs').Observable<ISheetNoteChange>;
37
+ updateNote(unitId: string, subUnitId: string, row: number, col: number, note: Partial<ISheetNote>, silent?: boolean): void;
38
+ removeNote(unitId: string, subUnitId: string, params: {
39
+ noteId?: string;
40
+ row?: number;
41
+ col?: number;
42
+ silent?: boolean;
43
+ }): void;
44
+ toggleNotePopup(unitId: string, subUnitId: string, params: {
45
+ noteId?: string;
46
+ row?: number;
47
+ col?: number;
48
+ silent?: boolean;
49
+ }): void;
50
+ updateNotePosition(unitId: string, subUnitId: string, params: {
51
+ noteId?: string;
52
+ row?: number;
53
+ col?: number;
54
+ newRow: number;
55
+ newCol: number;
56
+ silent?: boolean;
57
+ }): void;
58
+ getNote(unitId: string, subUnitId: string, params: {
59
+ noteId?: string;
60
+ row?: number;
61
+ col?: number;
62
+ }): Nullable<ISheetNote>;
63
+ getNotes(): Map<string, Map<string, Map<string, ISheetNote>>>;
64
+ getUnitNotes(unitId: string): Map<string, Map<string, ISheetNote>> | undefined;
65
+ getSheetNotes(unitId: string, subUnitId: string): Map<string, ISheetNote> | undefined;
45
66
  deleteUnitNotes(unitId: string): void;
46
67
  }
package/lib/umd/facade.js CHANGED
@@ -1 +1 @@
1
- (function(u,f){typeof exports=="object"&&typeof module<"u"?f(exports,require("@univerjs/core/facade"),require("@univerjs/sheets-note"),require("@univerjs/sheets/facade"),require("@univerjs/core")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core/facade","@univerjs/sheets-note","@univerjs/sheets/facade","@univerjs/core"],f):(u=typeof globalThis<"u"?globalThis:u||self,f(u.UniverSheetsNoteFacade={},u.UniverCoreFacade,u.UniverSheetsNote,u.UniverSheetsFacade,u.UniverCore))})(this,(function(u,f,l,v,N){"use strict";class E{get SheetNoteAdd(){return"SheetNoteAdd"}get SheetNoteDelete(){return"SheetNoteDelete"}get SheetNoteUpdate(){return"SheetNoteUpdate"}get SheetNoteShow(){return"SheetNoteShow"}get SheetNoteHide(){return"SheetNoteHide"}get BeforeSheetNoteAdd(){return"BeforeSheetNoteAdd"}get BeforeSheetNoteDelete(){return"BeforeSheetNoteDelete"}get BeforeSheetNoteUpdate(){return"BeforeSheetNoteUpdate"}get BeforeSheetNoteShow(){return"BeforeSheetNoteShow"}get BeforeSheetNoteHide(){return"BeforeSheetNoteHide"}}f.FEventName.extend(E);class m extends v.FRange{createOrUpdateNote(S){return this._commandService.syncExecuteCommand(l.UpdateNoteMutation.id,{unitId:this.getUnitId(),sheetId:this.getSheetId(),row:this.getRow(),col:this.getColumn(),note:S}),this}deleteNote(){return this._commandService.syncExecuteCommand(l.RemoveNoteMutation.id,{unitId:this.getUnitId(),sheetId:this.getSheetId(),row:this.getRow(),col:this.getColumn()}),this}getNote(){return this._injector.get(l.SheetsNoteModel).getNote(this.getUnitId(),this.getSheetId(),this.getRow(),this.getColumn())}}v.FRange.extend(m);class p extends f.FUniver{_initialize(S){const a=S.get(N.ICommandService);this.disposeWithMe(this.registerEventHandler(this.Event.SheetNoteAdd,()=>S.get(l.SheetsNoteModel).change$.subscribe(e=>{if(e.type==="update"&&!e.oldNote&&e.note){const{unitId:t,sheetId:o,row:i,col:n,note:r}=e,s=this.getSheetTarget(t,o);if(!s)return;const{workbook:d,worksheet:c}=s;this.fireEvent(this.Event.SheetNoteAdd,{workbook:d,worksheet:c,row:i,col:n,note:r})}}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetNoteDelete,()=>S.get(l.SheetsNoteModel).change$.subscribe(e=>{if(e.type==="update"&&e.oldNote&&!e.note){const{unitId:t,sheetId:o,row:i,col:n,oldNote:r}=e,s=this.getSheetTarget(t,o);if(!s)return;const{workbook:d,worksheet:c}=s;this.fireEvent(this.Event.SheetNoteDelete,{workbook:d,worksheet:c,row:i,col:n,oldNote:r})}}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetNoteUpdate,()=>S.get(l.SheetsNoteModel).change$.subscribe(e=>{if(e.type==="update"&&e.oldNote&&e.note){const{unitId:t,sheetId:o,row:i,col:n,note:r,oldNote:s}=e,d=this.getSheetTarget(t,o);if(!d)return;const{workbook:c,worksheet:g}=d;this.fireEvent(this.Event.SheetNoteUpdate,{workbook:c,worksheet:g,row:i,col:n,note:r,oldNote:s})}}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetNoteShow,()=>S.get(l.SheetsNoteModel).change$.subscribe(e=>{if(e.type==="update"&&e.oldNote&&e.note&&!e.oldNote.show&&e.note.show){const{unitId:t,sheetId:o,row:i,col:n}=e,r=this.getSheetTarget(t,o);if(!r)return;const{workbook:s,worksheet:d}=r;this.fireEvent(this.Event.SheetNoteShow,{workbook:s,worksheet:d,row:i,col:n})}}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetNoteHide,()=>S.get(l.SheetsNoteModel).change$.subscribe(e=>{if(e.type==="update"&&e.oldNote&&e.note&&e.oldNote.show&&!e.note.show){const{unitId:t,sheetId:o,row:i,col:n}=e,r=this.getSheetTarget(t,o);if(!r)return;const{workbook:s,worksheet:d}=r;this.fireEvent(this.Event.SheetNoteHide,{workbook:s,worksheet:d,row:i,col:n})}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetNoteAdd,()=>a.beforeCommandExecuted(h=>{if(h.id===l.SheetUpdateNoteCommand.id){const e=S.get(l.SheetsNoteModel),{unitId:t,sheetId:o,row:i,col:n,note:r}=h.params;if(e.getNote(t,o,i,n))return;const d=this.getSheetTarget(t,o);if(!d)return;const{workbook:c,worksheet:g}=d;if(this.fireEvent(this.Event.BeforeSheetNoteAdd,{workbook:c,worksheet:g,row:i,col:n,note:r}))throw new N.CanceledError}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetNoteDelete,()=>a.beforeCommandExecuted(h=>{if(h.id===l.SheetDeleteNoteCommand.id){const e=S.get(l.SheetsNoteModel),{unitId:t,sheetId:o,row:i,col:n}=h.params,r=e.getNote(t,o,i,n);if(!r)return;const s=this.getSheetTarget(t,o);if(!s)return;const{workbook:d,worksheet:c}=s;if(this.fireEvent(this.Event.BeforeSheetNoteDelete,{workbook:d,worksheet:c,row:i,col:n,oldNote:r}))throw new N.CanceledError}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetNoteUpdate,()=>a.beforeCommandExecuted(h=>{if(h.id===l.SheetUpdateNoteCommand.id){const e=S.get(l.SheetsNoteModel),{unitId:t,sheetId:o,row:i,col:n,note:r}=h.params,s=e.getNote(t,o,i,n);if(!s)return;const d=this.getSheetTarget(t,o);if(!d)return;const{workbook:c,worksheet:g}=d;if(this.fireEvent(this.Event.BeforeSheetNoteUpdate,{workbook:c,worksheet:g,row:i,col:n,note:r,oldNote:s}))throw new N.CanceledError}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetNoteShow,()=>a.beforeCommandExecuted(h=>{if(h.id===l.SheetToggleNotePopupCommand.id){const e=S.get(l.SheetsNoteModel),{unitId:t,sheetId:o,row:i,col:n}=h.params,r=e.getNote(t,o,i,n);if(r!=null&&r.show)return;const s=this.getSheetTarget(t,o);if(!s)return;const{workbook:d,worksheet:c}=s;if(this.fireEvent(this.Event.BeforeSheetNoteShow,{workbook:d,worksheet:c,row:i,col:n}))throw new N.CanceledError}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetNoteHide,()=>a.beforeCommandExecuted(h=>{if(h.id===l.SheetToggleNotePopupCommand.id){const e=S.get(l.SheetsNoteModel),{unitId:t,sheetId:o,row:i,col:n}=h.params,r=e.getNote(t,o,i,n);if(!(r!=null&&r.show))return;const s=this.getSheetTarget(t,o);if(!s)return;const{workbook:d,worksheet:c}=s;if(this.fireEvent(this.Event.BeforeSheetNoteHide,{workbook:d,worksheet:c,row:i,col:n}))throw new N.CanceledError}})))}}f.FUniver.extend(p);class k extends v.FWorksheet{getNotes(){const a=this._injector.get(l.SheetsNoteModel).getSheetNotes(this.getWorkbook().getUnitId(),this.getSheetId()),h=[];return a==null||a.forValue((e,t,o)=>{h.push({...o,row:e,col:t})}),h}}v.FWorksheet.extend(k),u.FSheetNoteEvent=E,u.FSheetsNoteRangeMixin=m,u.FSheetsNoteWorksheet=k,u.FUniverSheetNoteMixin=p,Object.defineProperty(u,Symbol.toStringTag,{value:"Module"})}));
1
+ (function(S,f){typeof exports=="object"&&typeof module<"u"?f(exports,require("@univerjs/core/facade"),require("@univerjs/sheets-note"),require("@univerjs/sheets/facade"),require("@univerjs/core"),require("@univerjs/sheets")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core/facade","@univerjs/sheets-note","@univerjs/sheets/facade","@univerjs/core","@univerjs/sheets"],f):(S=typeof globalThis<"u"?globalThis:S||self,f(S.UniverSheetsNoteFacade={},S.UniverCoreFacade,S.UniverSheetsNote,S.UniverSheetsFacade,S.UniverCore,S.UniverSheets))})(this,(function(S,f,s,w,N,m){"use strict";class p{get SheetNoteAdd(){return"SheetNoteAdd"}get SheetNoteDelete(){return"SheetNoteDelete"}get SheetNoteUpdate(){return"SheetNoteUpdate"}get SheetNoteShow(){return"SheetNoteShow"}get SheetNoteHide(){return"SheetNoteHide"}get BeforeSheetNoteAdd(){return"BeforeSheetNoteAdd"}get BeforeSheetNoteDelete(){return"BeforeSheetNoteDelete"}get BeforeSheetNoteUpdate(){return"BeforeSheetNoteUpdate"}get BeforeSheetNoteShow(){return"BeforeSheetNoteShow"}get BeforeSheetNoteHide(){return"BeforeSheetNoteHide"}}f.FEventName.extend(p);class I extends w.FRange{createOrUpdateNote(d){return this._commandService.syncExecuteCommand(s.UpdateNoteMutation.id,{unitId:this.getUnitId(),sheetId:this.getSheetId(),row:this.getRow(),col:this.getColumn(),note:d}),this}deleteNote(){return this._commandService.syncExecuteCommand(s.RemoveNoteMutation.id,{unitId:this.getUnitId(),sheetId:this.getSheetId(),row:this.getRow(),col:this.getColumn()}),this}getNote(){return this._injector.get(s.SheetsNoteModel).getNote(this.getUnitId(),this.getSheetId(),{row:this.getRow(),col:this.getColumn()})}}w.FRange.extend(I);class U extends f.FUniver{_initialize(d){const g=d.get(N.ICommandService);this.disposeWithMe(this.registerEventHandler(this.Event.SheetNoteAdd,()=>d.get(s.SheetsNoteModel).change$.subscribe(e=>{if(e.type==="update"&&!e.oldNote&&e.newNote){const{unitId:n,subUnitId:r,newNote:t}=e,o=this.getSheetTarget(n,r);if(!o)return;const{workbook:c,worksheet:i}=o;this.fireEvent(this.Event.SheetNoteAdd,{workbook:c,worksheet:i,row:t.row,col:t.col,note:t})}}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetNoteDelete,()=>d.get(s.SheetsNoteModel).change$.subscribe(e=>{if(e.type==="update"&&e.oldNote&&!e.newNote){const{unitId:n,subUnitId:r,oldNote:t}=e,o=this.getSheetTarget(n,r);if(!o)return;const{workbook:c,worksheet:i}=o;this.fireEvent(this.Event.SheetNoteDelete,{workbook:c,worksheet:i,row:t.row,col:t.col,oldNote:t})}}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetNoteUpdate,()=>d.get(s.SheetsNoteModel).change$.subscribe(e=>{if(e.type==="update"&&e.oldNote&&e.newNote){const{unitId:n,subUnitId:r,oldNote:t,newNote:o}=e,c=this.getSheetTarget(n,r);if(!c)return;const{workbook:i,worksheet:l}=c;this.fireEvent(this.Event.SheetNoteUpdate,{workbook:i,worksheet:l,row:o.row,col:o.col,note:o,oldNote:t})}}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetNoteShow,()=>d.get(s.SheetsNoteModel).change$.subscribe(e=>{if(e.type==="update"&&e.oldNote&&e.newNote&&!e.oldNote.show&&e.newNote.show){const{unitId:n,subUnitId:r,newNote:t}=e,o=this.getSheetTarget(n,r);if(!o)return;const{workbook:c,worksheet:i}=o;this.fireEvent(this.Event.SheetNoteShow,{workbook:c,worksheet:i,row:t.row,col:t.col})}}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetNoteHide,()=>d.get(s.SheetsNoteModel).change$.subscribe(e=>{if(e.type==="update"&&e.oldNote&&e.newNote&&e.oldNote.show&&!e.newNote.show){const{unitId:n,subUnitId:r,newNote:t}=e,o=this.getSheetTarget(n,r);if(!o)return;const{workbook:c,worksheet:i}=o;this.fireEvent(this.Event.SheetNoteHide,{workbook:c,worksheet:i,row:t.row,col:t.col})}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetNoteAdd,()=>g.beforeCommandExecuted(h=>{if(h.id===s.SheetUpdateNoteCommand.id){const{unitId:e,sheetId:n,row:r,col:t,note:o}=h.params,c=this.getSheetTarget(e,n);if(!c||d.get(s.SheetsNoteModel).getNote(e,n,{noteId:o.id,row:r,col:t}))return;const{workbook:u,worksheet:a}=c;if(this.fireEvent(this.Event.BeforeSheetNoteAdd,{workbook:u,worksheet:a,row:r,col:t,note:o}))throw new N.CanceledError}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetNoteDelete,()=>g.beforeCommandExecuted(h=>{if(h.id===s.SheetDeleteNoteCommand.id){const{unitId:e,sheetId:n,row:r,col:t}=h.params,o=this.getSheetTarget(e,n);if(!o||r===void 0||t===void 0)return;const i=d.get(s.SheetsNoteModel).getNote(e,n,{row:r,col:t});if(!i)return;const{workbook:l,worksheet:u}=o;if(this.fireEvent(this.Event.BeforeSheetNoteDelete,{workbook:l,worksheet:u,row:r,col:t,oldNote:i}))throw new N.CanceledError}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetNoteUpdate,()=>g.beforeCommandExecuted(h=>{if(h.id===s.SheetUpdateNoteCommand.id){const{unitId:e,sheetId:n,row:r,col:t,note:o}=h.params,c=this.getSheetTarget(e,n);if(!c)return;const l=d.get(s.SheetsNoteModel).getNote(e,n,{row:r,col:t});if(!l)return;const{workbook:u,worksheet:a}=c;if(this.fireEvent(this.Event.BeforeSheetNoteUpdate,{workbook:u,worksheet:a,row:r,col:t,note:o,oldNote:l}))throw new N.CanceledError}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetNoteShow,()=>g.beforeCommandExecuted(h=>{if(h.id===s.SheetToggleNotePopupCommand.id){const e=m.getSheetCommandTarget(d.get(N.IUniverInstanceService));if(!e)return;const{unitId:n,subUnitId:r}=e,t=this.getUniverSheet(n);if(!t)return;const o=t.getSheetBySheetId(r);if(!o)return;const i=d.get(m.SheetsSelectionsService).getCurrentLastSelection();if(!(i!=null&&i.primary))return;const l=d.get(s.SheetsNoteModel),{actualColumn:u,actualRow:a}=i.primary,v=l.getNote(n,r,{row:a,col:u});if(!v||v.show)return;if(this.fireEvent(this.Event.BeforeSheetNoteShow,{workbook:t,worksheet:o,row:a,col:u}))throw new N.CanceledError}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetNoteHide,()=>g.beforeCommandExecuted(h=>{if(h.id===s.SheetToggleNotePopupCommand.id){const e=m.getSheetCommandTarget(d.get(N.IUniverInstanceService));if(!e)return;const{unitId:n,subUnitId:r}=e,t=this.getUniverSheet(n);if(!t)return;const o=t.getSheetBySheetId(r);if(!o)return;const i=d.get(m.SheetsSelectionsService).getCurrentLastSelection();if(!(i!=null&&i.primary))return;const l=d.get(s.SheetsNoteModel),{actualColumn:u,actualRow:a}=i.primary,v=l.getNote(n,r,{row:a,col:u});if(!v||!v.show)return;if(this.fireEvent(this.Event.BeforeSheetNoteHide,{workbook:t,worksheet:o,row:a,col:u}))throw new N.CanceledError}})))}}f.FUniver.extend(U);class k extends w.FWorksheet{getNotes(){const g=this._injector.get(s.SheetsNoteModel).getSheetNotes(this.getWorkbook().getUnitId(),this.getSheetId());return g?Array.from(g.values()).map(h=>({...h})):[]}}w.FWorksheet.extend(k),S.FSheetNoteEvent=p,S.FSheetsNoteRangeMixin=I,S.FSheetsNoteWorksheet=k,S.FUniverSheetNoteMixin=U,Object.defineProperty(S,Symbol.toStringTag,{value:"Module"})}));
package/lib/umd/index.js CHANGED
@@ -1 +1 @@
1
- (function(d,r){typeof exports=="object"&&typeof module<"u"?r(exports,require("@univerjs/core"),require("@univerjs/sheets"),require("rxjs")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/sheets","rxjs"],r):(d=typeof globalThis<"u"?globalThis:d||self,r(d.UniverSheetsNote={},d.UniverCore,d.UniverSheets,d.rxjs))})(this,(function(d,r,l,v){"use strict";var F=Object.defineProperty;var K=(d,r,l)=>r in d?F(d,r,{enumerable:!0,configurable:!0,writable:!0,value:l}):d[r]=l;var m=(d,r,l)=>K(d,typeof r!="symbol"?r+"":r,l);class p extends r.Disposable{constructor(){super(...arguments);m(this,"_noteMatrix",new Map);m(this,"_change$",new v.Subject);m(this,"change$",this._change$.asObservable())}_ensureNoteMatrix(s,t){let e=this._noteMatrix.get(s);e||(e=new Map,this._noteMatrix.set(s,e));let n=e.get(t);return n||(n=new r.ObjectMatrix,e.set(t,n)),n}getSheetShowNotes$(s,t){return this._change$.pipe(v.filter(({unitId:e,sheetId:n})=>e===s&&n===t),v.map(()=>{const e=this._ensureNoteMatrix(s,t),n=[];return e.forValue((i,h,c)=>{c.show&&n.push({loc:{row:i,col:h,unitId:s,subUnitId:t},note:c})}),n}))}getCellNoteChange$(s,t,e,n){return this._change$.pipe(v.filter(({unitId:i,sheetId:h,row:c,col:u})=>i===s&&h===t&&c===e&&u===n),v.map(({note:i})=>i))}updateNote(s,t,e,n,i,h){const c=this._ensureNoteMatrix(s,t),u=c.getValue(e,n);c.setValue(e,n,i),this._change$.next({unitId:s,sheetId:t,row:e,col:n,type:"update",note:i,oldNote:u,silent:h})}removeNote(s,t,e,n,i){const h=this._ensureNoteMatrix(s,t),c=h.getValue(e,n);h.realDeleteValue(e,n),this._change$.next({unitId:s,sheetId:t,row:e,col:n,type:"update",note:null,oldNote:c,silent:i})}toggleNotePopup(s,t,e,n,i){const h=this._ensureNoteMatrix(s,t),c=h.getValue(e,n);if(c){c.show=!c.show;const u={...c,show:c.show};h.setValue(e,n,u),this._change$.next({unitId:s,sheetId:t,row:e,col:n,type:"update",note:u,oldNote:c,silent:i})}}updateNotePosition(s,t,e,n,i,h,c){const u=this._ensureNoteMatrix(s,t),g=u.getValue(e,n);g&&(u.realDeleteValue(e,n),u.setValue(i,h,g),this._change$.next({unitId:s,sheetId:t,row:e,col:n,type:"ref",newPosition:{row:i,col:h},note:g,silent:c}))}getNote(s,t,e,n){return this._ensureNoteMatrix(s,t).getValue(e,n)}getUnitNotes(s){return this._noteMatrix.get(s)}getSheetNotes(s,t){const e=this._noteMatrix.get(s);if(e)return e.get(t)}getNotes(){return this._noteMatrix}deleteUnitNotes(s){this._noteMatrix.delete(s)}}const _={id:"sheet.mutation.update-note",type:r.CommandType.MUTATION,handler:(a,o)=>{const{unitId:s,sheetId:t,row:e,col:n,note:i,silent:h}=o;return a.get(p).updateNote(s,t,e,n,i,h),!0}},S={id:"sheet.mutation.remove-note",type:r.CommandType.MUTATION,handler:(a,o)=>{const{unitId:s,sheetId:t,row:e,col:n,silent:i}=o;return a.get(p).removeNote(s,t,e,n,i),!0}},y={id:"sheet.mutation.toggle-note-popup",type:r.CommandType.MUTATION,handler:(a,o)=>{const{unitId:s,sheetId:t,row:e,col:n,silent:i}=o;return a.get(p).toggleNotePopup(s,t,e,n,i),!0}},f={id:"sheet.mutation.update-note-position",type:r.CommandType.MUTATION,handler:(a,o)=>{const{unitId:s,sheetId:t,row:e,col:n,newPosition:i,silent:h}=o;return a.get(p).updateNotePosition(s,t,e,n,i.row,i.col,h),!0}},R={id:"sheet.command.delete-note",type:r.CommandType.COMMAND,handler:(a,o)=>{const s=a.get(r.IUniverInstanceService),t=l.getSheetCommandTarget(s);if(!t)return!1;const n=a.get(l.SheetsSelectionsService).getCurrentLastSelection();if(!(n!=null&&n.primary))return!1;const{actualColumn:i,actualRow:h}=n.primary;return a.get(r.ICommandService).executeCommand(S.id,{unitId:t.unitId,sheetId:t.subUnitId,row:h,col:i})}},P={id:"sheet.command.toggle-note-popup",type:r.CommandType.COMMAND,handler:(a,o)=>{const s=a.get(r.IUniverInstanceService),t=l.getSheetCommandTarget(s);if(!t)return!1;const n=a.get(l.SheetsSelectionsService).getCurrentLastSelection();if(!(n!=null&&n.primary))return!1;const{actualColumn:i,actualRow:h}=n.primary;return a.get(r.ICommandService).executeCommand(y.id,{unitId:t.unitId,sheetId:t.subUnitId,row:h,col:i})}},w={id:"sheet.command.update-note",type:r.CommandType.COMMAND,handler:(a,o)=>a.get(r.ICommandService).syncExecuteCommand(_.id,o)},T="SHEET_NOTE_PLUGIN";var $=Object.getOwnPropertyDescriptor,j=(a,o,s,t)=>{for(var e=t>1?void 0:t?$(o,s):o,n=a.length-1,i;n>=0;n--)(i=a[n])&&(e=i(e)||e);return e},M=(a,o)=>(s,t)=>o(s,t,a);d.SheetsNoteResourceController=class extends r.Disposable{constructor(o,s,t,e){super(),this._resourceManagerService=o,this._univerInstanceService=s,this._sheetInterceptorService=t,this._sheetsNoteModel=e,this._initSnapshot(),this._initSheetChange()}_initSnapshot(){const o=t=>{const e=this._sheetsNoteModel.getUnitNotes(t);if(!e)return"";const n={};return e.forEach((i,h)=>{const c={};i.forValue((u,g,N)=>{c[u]||(c[u]={}),c[u][g]=N}),Object.keys(c).length>0&&(n[h]=c)}),JSON.stringify(n)},s=t=>{if(!t)return{};try{return JSON.parse(t)}catch{return{}}};this.disposeWithMe(this._resourceManagerService.registerPluginResource({pluginName:T,businesses:[r.UniverInstanceType.UNIVER_SHEET],toJson:t=>o(t),parseJson:t=>s(t),onUnLoad:t=>{this._sheetsNoteModel.deleteUnitNotes(t)},onLoad:(t,e)=>{Object.entries(e).forEach(([n,i])=>{Object.entries(i).forEach(([h,c])=>{Object.entries(c).forEach(([u,g])=>{this._sheetsNoteModel.updateNote(t,n,Number(h),Number(u),g)})})})}}))}_initSheetChange(){this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations:o=>{var s;if(o.id===l.RemoveSheetCommand.id){const t=o.params,e=t.unitId||this._univerInstanceService.getCurrentUnitOfType(r.UniverInstanceType.UNIVER_SHEET).getUnitId(),n=t.subUnitId||((s=this._univerInstanceService.getCurrentUnitOfType(r.UniverInstanceType.UNIVER_SHEET).getActiveSheet())==null?void 0:s.getSheetId());if(!e||!n)return{redos:[],undos:[]};const i=this._sheetsNoteModel.getSheetNotes(e,n);if(!i)return{redos:[],undos:[]};const h=[],c=[];return i.forValue((u,g,N)=>{h.push({id:S.id,params:{unitId:e,sheetId:n,row:u,col:g}}),c.push({id:_.id,params:{unitId:e,sheetId:n,row:u,col:g,note:N}})}),{redos:h,undos:c}}else if(o.id===l.CopySheetCommand.id){const t=o.params,{unitId:e,subUnitId:n,targetSubUnitId:i}=t;if(!e||!n||!i)return{redos:[],undos:[]};const h=this._sheetsNoteModel.getSheetNotes(e,n);if(!h)return{redos:[],undos:[]};const c=[],u=[];return h.forValue((g,N,z)=>{c.push({id:_.id,params:{unitId:e,sheetId:i,row:g,col:N,note:z}}),u.push({id:S.id,params:{unitId:e,sheetId:i,row:g,col:N}})}),{redos:c,undos:u}}return{redos:[],undos:[]}}}))}},d.SheetsNoteResourceController=j([M(0,r.IResourceManagerService),M(1,r.IUniverInstanceService),M(2,r.Inject(l.SheetInterceptorService)),M(3,r.Inject(p))],d.SheetsNoteResourceController);const D="sheets-note.config",O={};var x=Object.getOwnPropertyDescriptor,V=(a,o,s,t)=>{for(var e=t>1?void 0:t?x(o,s):o,n=a.length-1,i;n>=0;n--)(i=a[n])&&(e=i(e)||e);return e},C=(a,o)=>(s,t)=>o(s,t,a);let I=class extends r.Disposable{constructor(o,s,t,e){super();m(this,"_disposableMap",new Map);m(this,"_watcherMap",new Map);m(this,"_handleRangeChange",(o,s,t,e,n,i,h)=>i?{redos:[{id:f.id,params:{unitId:o,sheetId:s,row:e,col:n,newPosition:{row:i.startRow,col:i.startColumn},silent:h}}],undos:[{id:f.id,params:{unitId:o,sheetId:s,row:i.startRow,col:i.startColumn,newPosition:{row:e,col:n},note:t,silent:h}}]}:{redos:[{id:S.id,params:{unitId:o,sheetId:s,row:e,col:n}}],undos:[{id:_.id,params:{unitId:o,sheetId:s,row:e,col:n,note:t}}]});this._refRangeService=o,this._sheetsNoteModel=s,this._selectionManagerService=t,this._commandService=e,this._initData(),this._initRefRange()}_getIdWithUnitId(o,s,t,e){return`${o}-${s}-${t}-${e}`}_register(o,s,t,e,n){const i={startColumn:n,endColumn:n,startRow:e,endRow:e};this._disposableMap.set(this._getIdWithUnitId(o,s,e,n),this._refRangeService.registerRefRange(i,h=>{const c=l.handleCommonRangeChangeWithEffectRefCommandsSkipNoInterests(i,h,{selectionManagerService:this._selectionManagerService}),u=Array.isArray(c)?c[0]:c;return u&&u.startColumn===i.startColumn&&u.startRow===i.startRow?{undos:[],redos:[]}:this._handleRangeChange(o,s,t,e,n,u,!1)},o,s))}_watch(o,s,t,e,n){const i={startColumn:n,endColumn:n,startRow:e,endRow:e};this._watcherMap.set(this._getIdWithUnitId(o,s,e,n),this._refRangeService.watchRange(o,s,i,(h,c)=>{const{redos:u}=this._handleRangeChange(o,s,t,h.startRow,h.startColumn,c,!0);r.sequenceExecuteAsync(u,this._commandService,{onlyLocal:!0})},!0))}_unwatch(o,s,t,e){var i;const n=this._getIdWithUnitId(o,s,t,e);(i=this._watcherMap.get(n))==null||i.dispose(),this._watcherMap.delete(n)}_unregister(o,s,t,e){var i;const n=this._getIdWithUnitId(o,s,t,e);(i=this._disposableMap.get(n))==null||i.dispose(),this._disposableMap.delete(n)}_initData(){const o=this._sheetsNoteModel.getNotes();for(const[s,t]of o)for(const[e,n]of t)n.forValue((i,h,c)=>(c&&(this._register(s,e,c,i,h),this._watch(s,e,c,i,h)),!0))}_initRefRange(){this.disposeWithMe(this._sheetsNoteModel.change$.subscribe(o=>{switch(o.type){case"update":{const{unitId:s,sheetId:t,row:e,col:n,note:i}=o,h=this._getIdWithUnitId(s,t,e,n);i?this._disposableMap.has(h)||(this._register(s,t,i,e,n),this._watch(s,t,i,e,n)):(this._unregister(s,t,e,n),this._unwatch(s,t,e,n));break}case"ref":{const{unitId:s,sheetId:t,row:e,col:n,newPosition:i,note:h,silent:c}=o;this._unregister(s,t,e,n),c||(this._unwatch(s,t,e,n),this._watch(s,t,h,i.row,i.col)),this._register(s,t,h,i.row,i.col);break}}}))}};I=V([C(0,r.Inject(l.RefRangeService)),C(1,r.Inject(p)),C(2,r.Inject(l.SheetsSelectionsService)),C(3,r.ICommandService)],I);var A=Object.getOwnPropertyDescriptor,W=(a,o,s,t)=>{for(var e=t>1?void 0:t?A(o,s):o,n=a.length-1,i;n>=0;n--)(i=a[n])&&(e=i(e)||e);return e},L=(a,o)=>(s,t)=>o(s,t,a);let U=class extends r.Disposable{constructor(a){super(),this._commandService=a,this._initialize()}_initialize(){[f,y,_,S,R,P,w].forEach(a=>{this.disposeWithMe(this._commandService.registerCommand(a))})}};U=W([L(0,r.ICommandService)],U);var H=Object.defineProperty,J=Object.getOwnPropertyDescriptor,q=(a,o,s)=>o in a?H(a,o,{enumerable:!0,configurable:!0,writable:!0,value:s}):a[o]=s,G=(a,o,s,t)=>{for(var e=t>1?void 0:t?J(o,s):o,n=a.length-1,i;n>=0;n--)(i=a[n])&&(e=i(e)||e);return e},b=(a,o)=>(s,t)=>o(s,t,a),E=(a,o,s)=>q(a,typeof o!="symbol"?o+"":o,s);d.UniverSheetsNotePlugin=class extends r.Plugin{constructor(o=O,s,t){super(),this._config=o,this._configService=s,this._injector=t;const{...e}=r.merge({},O,this._config);this._configService.setConfig(D,e)}onStarting(){[[p],[U],[d.SheetsNoteResourceController],[I]].forEach(o=>{this._injector.add(o)}),r.touchDependencies(this._injector,[[p],[U],[d.SheetsNoteResourceController]])}onReady(){r.touchDependencies(this._injector,[[I]])}},E(d.UniverSheetsNotePlugin,"pluginName",T),E(d.UniverSheetsNotePlugin,"type",r.UniverInstanceType.UNIVER_SHEET),d.UniverSheetsNotePlugin=G([r.DependentOn(l.UniverSheetsPlugin),b(1,r.IConfigService),b(2,r.Inject(r.Injector))],d.UniverSheetsNotePlugin),d.RemoveNoteMutation=S,d.SheetDeleteNoteCommand=R,d.SheetToggleNotePopupCommand=P,d.SheetUpdateNoteCommand=w,d.SheetsNoteModel=p,d.ToggleNotePopupMutation=y,d.UpdateNoteMutation=_,d.UpdateNotePositionMutation=f,Object.defineProperty(d,Symbol.toStringTag,{value:"Module"})}));
1
+ (function(u,c){typeof exports=="object"&&typeof module<"u"?c(exports,require("@univerjs/core"),require("@univerjs/sheets"),require("rxjs")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/sheets","rxjs"],c):(u=typeof globalThis<"u"?globalThis:u||self,c(u.UniverSheetsNote={},u.UniverCore,u.UniverSheets,u.rxjs))})(this,(function(u,c,g,M){"use strict";var Q=Object.defineProperty;var X=(u,c,g)=>c in u?Q(u,c,{enumerable:!0,configurable:!0,writable:!0,value:g}):u[c]=g;var v=(u,c,g)=>X(u,typeof c!="symbol"?c+"":c,g);class m extends c.Disposable{constructor(){super(...arguments);v(this,"_notesMap",new Map);v(this,"_change$",new M.Subject);v(this,"change$",this._change$.asObservable())}_ensureNotesMap(t,e){let n=this._notesMap.get(t);n||(n=new Map,this._notesMap.set(t,n));let o=n.get(e);return o||(o=new Map,n.set(e,o)),o}_getNoteByPosition(t,e,n,o){const s=this._ensureNotesMap(t,e);for(const[r,d]of s)if(d.row===n&&d.col===o)return d}_getNoteById(t,e,n){return this._ensureNotesMap(t,e).get(n)}_getNoteByParams(t,e,n){const{noteId:o,row:s,col:r}=n;return o?this._getNoteById(t,e,o):s!==void 0&&r!==void 0?this._getNoteByPosition(t,e,s,r):null}getSheetShowNotes$(t,e){return this._change$.pipe(M.filter(({unitId:n,subUnitId:o})=>n===t&&o===e),M.map(()=>{const n=this._ensureNotesMap(t,e),o=[];for(const[s,r]of n)r.show&&o.push({loc:{row:r.row,col:r.col,unitId:t,subUnitId:e},note:r});return o}))}getCellNoteChange$(t,e,n,o){return this._change$.pipe(M.filter(({unitId:s,subUnitId:r,oldNote:d})=>s!==t||r!==e||!d?!1:d.row===n&&d.col===o),M.map(s=>s))}updateNote(t,e,n,o,s,r){const d=this._getNoteByParams(t,e,{noteId:s==null?void 0:s.id,row:n,col:o}),h=this._ensureNotesMap(t,e),l={...s,id:(d==null?void 0:d.id)||s.id||c.generateRandomId(6),row:n,col:o};h.set(l.id,l),this._change$.next({unitId:t,subUnitId:e,oldNote:d,type:"update",newNote:l,silent:r})}removeNote(t,e,n){const{noteId:o,row:s,col:r,silent:d}=n,h=this._getNoteByParams(t,e,{noteId:o,row:s,col:r});if(!h)return;this._ensureNotesMap(t,e).delete(h.id),this._change$.next({unitId:t,subUnitId:e,oldNote:h,type:"update",newNote:null,silent:d})}toggleNotePopup(t,e,n){const{noteId:o,row:s,col:r,silent:d}=n,h=this._getNoteByParams(t,e,{noteId:o,row:s,col:r});if(!h)return;const l=this._ensureNotesMap(t,e),p={...h,show:!h.show};l.set(p.id,p),this._change$.next({unitId:t,subUnitId:e,oldNote:h,type:"update",newNote:p,silent:d})}updateNotePosition(t,e,n){const{noteId:o,row:s,col:r,newRow:d,newCol:h,silent:l}=n,p=this._getNoteByParams(t,e,{noteId:o,row:s,col:r});if(!p)return;const _=this._ensureNotesMap(t,e),N={...p,row:d,col:h};_.set(N.id,N),this._change$.next({unitId:t,subUnitId:e,oldNote:p,type:"ref",newNote:N,silent:l})}getNote(t,e,n){return this._getNoteByParams(t,e,n)}getNotes(){return this._notesMap}getUnitNotes(t){return this._notesMap.get(t)}getSheetNotes(t,e){const n=this._notesMap.get(t);if(n)return n.get(e)}deleteUnitNotes(t){this._notesMap.delete(t)}}const S={id:"sheet.mutation.update-note",type:c.CommandType.MUTATION,handler:(a,i)=>{const{unitId:t,sheetId:e,row:n,col:o,note:s,silent:r}=i;return a.get(m).updateNote(t,e,n,o,s,r),!0}},f={id:"sheet.mutation.remove-note",type:c.CommandType.MUTATION,handler:(a,i)=>{const{unitId:t,sheetId:e,noteId:n,row:o,col:s,silent:r}=i;return a.get(m).removeNote(t,e,{noteId:n,row:o,col:s,silent:r}),!0}},I={id:"sheet.mutation.toggle-note-popup",type:c.CommandType.MUTATION,handler:(a,i)=>{const{unitId:t,sheetId:e,noteId:n,row:o,col:s,silent:r}=i;return a.get(m).toggleNotePopup(t,e,{noteId:n,row:o,col:s,silent:r}),!0}},w={id:"sheet.mutation.update-note-position",type:c.CommandType.MUTATION,handler:(a,i)=>{const{unitId:t,sheetId:e,noteId:n,row:o,col:s,newPosition:r,silent:d}=i;return a.get(m).updateNotePosition(t,e,{noteId:n,row:o,col:s,newRow:r.row,newCol:r.col,silent:d}),!0}},T={id:"sheet.command.delete-note",type:c.CommandType.COMMAND,handler:a=>{const i=g.getSheetCommandTarget(a.get(c.IUniverInstanceService));if(!i)return!1;const e=a.get(g.SheetsSelectionsService).getCurrentLastSelection();if(!(e!=null&&e.primary))return!1;const n=a.get(m),{unitId:o,subUnitId:s}=i,{actualColumn:r,actualRow:d}=e.primary,h=n.getNote(o,s,{row:d,col:r});if(!h)return!1;const l=a.get(c.ICommandService),p=a.get(c.IUndoRedoService),_={id:f.id,params:{unitId:o,sheetId:s,noteId:h.id}},N={id:S.id,params:{unitId:o,sheetId:s,row:d,col:r,note:{...h}}};return l.syncExecuteCommand(_.id,_.params)?(p.pushUndoRedo({unitID:o,redoMutations:[_],undoMutations:[N]}),!0):!1}},E={id:"sheet.command.toggle-note-popup",type:c.CommandType.COMMAND,handler:a=>{const i=g.getSheetCommandTarget(a.get(c.IUniverInstanceService));if(!i)return!1;const e=a.get(g.SheetsSelectionsService).getCurrentLastSelection();if(!(e!=null&&e.primary))return!1;const n=a.get(m),{unitId:o,subUnitId:s}=i,{actualColumn:r,actualRow:d}=e.primary,h=n.getNote(o,s,{row:d,col:r});if(!h)return!1;const l=a.get(c.ICommandService),p=a.get(c.IUndoRedoService),_={id:I.id,params:{unitId:o,sheetId:s,noteId:h.id}},N={id:I.id,params:{unitId:o,sheetId:s,noteId:h.id}};return l.syncExecuteCommand(_.id,_.params)?(p.pushUndoRedo({unitID:o,redoMutations:[_],undoMutations:[N]}),!0):!1}},O={id:"sheet.command.update-note",type:c.CommandType.COMMAND,handler:(a,i)=>{const t=g.getSheetCommandTarget(a.get(c.IUniverInstanceService),i);if(!t)return!1;const e=a.get(c.ICommandService),n=a.get(c.IUndoRedoService),o=a.get(m),{unitId:s,subUnitId:r}=t,{row:d,col:h,note:l}=i,p=o.getNote(s,r,{noteId:l.id,row:d,col:h}),_={id:S.id,params:{unitId:s,sheetId:r,row:d,col:h,note:l}},N=[];if(p){const P={id:S.id,params:{unitId:s,sheetId:r,row:d,col:h,note:{...p}}};N.push(P)}else{const P={id:f.id,params:{unitId:s,sheetId:r,row:d,col:h}};N.push(P)}return e.syncExecuteCommand(_.id,_.params)?(n.pushUndoRedo({unitID:s,redoMutations:[_],undoMutations:N}),!0):!1}},b="SHEET_NOTE_PLUGIN";var W=Object.getOwnPropertyDescriptor,B=(a,i,t,e)=>{for(var n=e>1?void 0:e?W(i,t):i,o=a.length-1,s;o>=0;o--)(s=a[o])&&(n=s(n)||n);return n},C=(a,i)=>(t,e)=>i(t,e,a);u.SheetsNoteResourceController=class extends c.Disposable{constructor(i,t,e,n){super(),this._resourceManagerService=i,this._univerInstanceService=t,this._sheetInterceptorService=e,this._sheetsNoteModel=n,this._initSnapshot(),this._initSheetChange()}_initSnapshot(){const i=e=>{const n=this._sheetsNoteModel.getUnitNotes(e);if(!n)return"";const o={};return n.forEach((s,r)=>{const d={};s.forEach(h=>{const{row:l,col:p}=h;d[l]||(d[l]={}),d[l][p]=h}),Object.keys(d).length>0&&(o[r]=d)}),JSON.stringify(o)},t=e=>{if(!e)return{};try{return JSON.parse(e)}catch{return{}}};this.disposeWithMe(this._resourceManagerService.registerPluginResource({pluginName:b,businesses:[c.UniverInstanceType.UNIVER_SHEET],toJson:e=>i(e),parseJson:e=>t(e),onUnLoad:e=>{this._sheetsNoteModel.deleteUnitNotes(e)},onLoad:(e,n)=>{Object.entries(n).forEach(([o,s])=>{Object.entries(s).forEach(([r,d])=>{Object.entries(d).forEach(([h,l])=>{this._sheetsNoteModel.updateNote(e,o,Number(r),Number(h),l)})})})}}))}_initSheetChange(){this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations:i=>{var t;if(i.id===g.RemoveSheetCommand.id){const e=i.params,n=e.unitId||this._univerInstanceService.getCurrentUnitOfType(c.UniverInstanceType.UNIVER_SHEET).getUnitId(),o=e.subUnitId||((t=this._univerInstanceService.getCurrentUnitOfType(c.UniverInstanceType.UNIVER_SHEET).getActiveSheet())==null?void 0:t.getSheetId());if(!n||!o)return{redos:[],undos:[]};const s=this._sheetsNoteModel.getSheetNotes(n,o);if(!s)return{redos:[],undos:[]};const r=[],d=[];return s.forEach(h=>{r.push({id:f.id,params:{unitId:n,sheetId:o,noteId:h.id,row:h.row,col:h.col}}),d.push({id:S.id,params:{unitId:n,sheetId:o,row:h.row,col:h.col,note:h}})}),{redos:r,undos:d}}else if(i.id===g.CopySheetCommand.id){const e=i.params,{unitId:n,subUnitId:o,targetSubUnitId:s}=e;if(!n||!o||!s)return{redos:[],undos:[]};const r=this._sheetsNoteModel.getSheetNotes(n,o);if(!r)return{redos:[],undos:[]};const d=[],h=[];return r.forEach(l=>{const p={...l,id:c.generateRandomId(6)};d.push({id:S.id,params:{unitId:n,sheetId:s,row:p.row,col:p.col,note:p}}),h.push({id:f.id,params:{unitId:n,sheetId:s,noteId:p.id,row:p.row,col:p.col}})}),{redos:d,undos:h}}return{redos:[],undos:[]}}}))}},u.SheetsNoteResourceController=B([C(0,c.IResourceManagerService),C(1,c.IUniverInstanceService),C(2,c.Inject(g.SheetInterceptorService)),C(3,c.Inject(m))],u.SheetsNoteResourceController);const L="sheets-note.config",D={};var H=Object.getOwnPropertyDescriptor,J=(a,i,t,e)=>{for(var n=e>1?void 0:e?H(i,t):i,o=a.length-1,s;o>=0;o--)(s=a[o])&&(n=s(n)||n);return n},R=(a,i)=>(t,e)=>i(t,e,a);let y=class extends c.Disposable{constructor(i,t,e,n){super();v(this,"_disposableMap",new Map);v(this,"_watcherMap",new Map);v(this,"_handleRangeChange",(i,t,e,n,o,s,r)=>s?{redos:[{id:w.id,params:{unitId:i,sheetId:t,noteId:e.id,newPosition:{row:s.startRow,col:s.startColumn},silent:r}}],undos:[{id:w.id,params:{unitId:i,sheetId:t,noteId:e.id,newPosition:{row:n,col:o},note:e,silent:r}}]}:{redos:[{id:f.id,params:{unitId:i,sheetId:t,noteId:e.id}}],undos:[{id:S.id,params:{unitId:i,sheetId:t,row:n,col:o,note:e}}]});this._refRangeService=i,this._sheetsNoteModel=t,this._selectionManagerService=e,this._commandService=n,this._initData(),this._initRefRange()}_getIdWithUnitId(i,t,e,n){return`${i}-${t}-${e}-${n}`}_register(i,t,e,n,o){const s={startColumn:o,endColumn:o,startRow:n,endRow:n};this._disposableMap.set(this._getIdWithUnitId(i,t,n,o),this._refRangeService.registerRefRange(s,r=>{const d=g.handleCommonRangeChangeWithEffectRefCommandsSkipNoInterests(s,r,{selectionManagerService:this._selectionManagerService}),h=Array.isArray(d)?d[0]:d;return h&&h.startColumn===s.startColumn&&h.startRow===s.startRow?{undos:[],redos:[]}:this._handleRangeChange(i,t,e,n,o,h,!1)},i,t))}_watch(i,t,e,n,o){const s={startColumn:o,endColumn:o,startRow:n,endRow:n};this._watcherMap.set(this._getIdWithUnitId(i,t,n,o),this._refRangeService.watchRange(i,t,s,(r,d)=>{const{redos:h}=this._handleRangeChange(i,t,e,r.startRow,r.startColumn,d,!0);c.sequenceExecuteAsync(h,this._commandService,{onlyLocal:!0})},!0))}_unwatch(i,t,e,n){var s;const o=this._getIdWithUnitId(i,t,e,n);(s=this._watcherMap.get(o))==null||s.dispose(),this._watcherMap.delete(o)}_unregister(i,t,e,n){var s;const o=this._getIdWithUnitId(i,t,e,n);(s=this._disposableMap.get(o))==null||s.dispose(),this._disposableMap.delete(o)}_initData(){const i=this._sheetsNoteModel.getNotes();for(const[t,e]of i)for(const[n,o]of e)o.forEach(s=>{this._register(t,n,s,s.row,s.col),this._watch(t,n,s,s.row,s.col)})}_initRefRange(){this.disposeWithMe(this._sheetsNoteModel.change$.subscribe(i=>{switch(i.type){case"update":{const{unitId:t,subUnitId:e,oldNote:n,newNote:o}=i,s=o?o.row:n.row,r=o?o.col:n.col,d=this._getIdWithUnitId(t,e,s,r);o?this._disposableMap.has(d)||(this._register(t,e,o,s,r),this._watch(t,e,o,s,r)):(this._unregister(t,e,s,r),this._unwatch(t,e,s,r));break}case"ref":{const{unitId:t,subUnitId:e,oldNote:n,newNote:o,silent:s}=i,{row:r,col:d}=n,{row:h,col:l}=o;this._unregister(t,e,r,d),s||(this._unwatch(t,e,r,d),this._watch(t,e,o,h,l)),this._register(t,e,o,h,l);break}}}))}};y=J([R(0,c.Inject(g.RefRangeService)),R(1,c.Inject(m)),R(2,c.Inject(g.SheetsSelectionsService)),R(3,c.ICommandService)],y);var q=Object.getOwnPropertyDescriptor,G=(a,i,t,e)=>{for(var n=e>1?void 0:e?q(i,t):i,o=a.length-1,s;o>=0;o--)(s=a[o])&&(n=s(n)||n);return n},V=(a,i)=>(t,e)=>i(t,e,a);let U=class extends c.Disposable{constructor(a){super(),this._commandService=a,this._initialize()}_initialize(){[w,I,S,f,T,E,O].forEach(a=>{this.disposeWithMe(this._commandService.registerCommand(a))})}};U=G([V(0,c.ICommandService)],U);var z=Object.defineProperty,F=Object.getOwnPropertyDescriptor,K=(a,i,t)=>i in a?z(a,i,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[i]=t,Y=(a,i,t,e)=>{for(var n=e>1?void 0:e?F(i,t):i,o=a.length-1,s;o>=0;o--)(s=a[o])&&(n=s(n)||n);return n},$=(a,i)=>(t,e)=>i(t,e,a),j=(a,i,t)=>K(a,typeof i!="symbol"?i+"":i,t);u.UniverSheetsNotePlugin=class extends c.Plugin{constructor(i=D,t,e){super(),this._config=i,this._configService=t,this._injector=e;const{...n}=c.merge({},D,this._config);this._configService.setConfig(L,n)}onStarting(){[[m],[U],[u.SheetsNoteResourceController],[y]].forEach(i=>{this._injector.add(i)}),c.touchDependencies(this._injector,[[m],[U],[u.SheetsNoteResourceController]])}onReady(){c.touchDependencies(this._injector,[[y]])}},j(u.UniverSheetsNotePlugin,"pluginName",b),j(u.UniverSheetsNotePlugin,"type",c.UniverInstanceType.UNIVER_SHEET),u.UniverSheetsNotePlugin=Y([c.DependentOn(g.UniverSheetsPlugin),$(1,c.IConfigService),$(2,c.Inject(c.Injector))],u.UniverSheetsNotePlugin),u.RemoveNoteMutation=f,u.SheetDeleteNoteCommand=T,u.SheetToggleNotePopupCommand=E,u.SheetUpdateNoteCommand=O,u.SheetsNoteModel=m,u.ToggleNotePopupMutation=I,u.UpdateNoteMutation=S,u.UpdateNotePositionMutation=w,Object.defineProperty(u,Symbol.toStringTag,{value:"Module"})}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@univerjs/sheets-note",
3
- "version": "0.15.4",
3
+ "version": "0.15.5",
4
4
  "private": false,
5
5
  "description": "Univer sheets note base plugin",
6
6
  "author": "DreamNum <developer@univer.ai>",
@@ -56,15 +56,15 @@
56
56
  "rxjs": ">=7.0.0"
57
57
  },
58
58
  "dependencies": {
59
- "@univerjs/core": "0.15.4",
60
- "@univerjs/sheets": "0.15.4"
59
+ "@univerjs/core": "0.15.5",
60
+ "@univerjs/sheets": "0.15.5"
61
61
  },
62
62
  "devDependencies": {
63
63
  "rxjs": "^7.8.2",
64
64
  "typescript": "^5.9.3",
65
65
  "vite": "^7.3.1",
66
66
  "vitest": "^4.0.18",
67
- "@univerjs-infra/shared": "0.15.4"
67
+ "@univerjs-infra/shared": "0.15.5"
68
68
  },
69
69
  "scripts": {
70
70
  "test": "vitest run",