MCPcopy Create free account
hub / github.com/DeepNotesApp/DeepNotes / setup

Method setup

apps/client/src/code/pages/page/undo-redo.ts:30–87  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

28 }
29
30 setup() {
31 this.undoManager = new Y.UndoManager(
32 [
33 getYjsValue(this.page.collab.store.page) as any,
34 getYjsValue(this.page.collab.store.notes) as any,
35 getYjsValue(this.page.collab.store.arrows) as any,
36 ],
37 {
38 trackedOrigins: new Set([null, ySyncPluginKey]),
39 },
40 );
41
42 this.undoManager.on('stack-cleared', (event: any) => {
43 _moduleLogger.debug('stack-cleared: %o', event);
44
45 this.updateReactiveData();
46 });
47 this.undoManager.on('stack-item-added', (event: any) => {
48 _moduleLogger.debug('stack-item-added: %o', event);
49
50 this.updateReactiveData();
51
52 event.stackItem.meta.set(
53 'selectedNoteIds',
54 this.page.selection.react.noteIds.slice(),
55 );
56 event.stackItem.meta.set(
57 'selectedArrowIds',
58 this.page.selection.react.arrowIds.slice(),
59 );
60 });
61 this.undoManager.on('stack-item-updated', (event: any) => {
62 // _moduleLogger.debug('stack-item-updated: %o', event);
63
64 this.updateReactiveData();
65
66 event.stackItem.meta.set(
67 'selectedNoteIds',
68 this.page.selection.react.noteIds.slice(),
69 );
70 event.stackItem.meta.set(
71 'selectedArrowIds',
72 this.page.selection.react.arrowIds.slice(),
73 );
74 });
75 this.undoManager.on('stack-item-popped', (event: any) => {
76 _moduleLogger.debug('stack-item-popped: %o', event);
77
78 this.updateReactiveData();
79
80 this.page.selection.set(
81 ...this.page.notes.fromIds(event.stackItem.meta.get('selectedNoteIds')),
82 ...this.page.arrows.fromIds(
83 event.stackItem.meta.get('selectedArrowIds'),
84 ),
85 );
86 });
87 }

Callers

nothing calls this directly

Calls 3

setMethod · 0.65
getMethod · 0.65
fromIdsMethod · 0.45

Tested by

no test coverage detected