Skip to content

Commit 76b2d95

Browse files
authored
ENG-1708 - Refactor pageRefObserverHandlers to improve observer initialization (#1007)
- Updated `enablePageRefObserver` to return the existing observer if already initialized, preventing unnecessary re-creation. - Cleaned up the function structure for better readability and maintainability. This change enhances the efficiency of the page reference observer setup in the application.
1 parent cc26688 commit 76b2d95

1 file changed

Lines changed: 7 additions & 3 deletions

File tree

apps/roam/src/utils/pageRefObserverHandlers.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -122,15 +122,19 @@ export const previewPageRefHandler = (s: HTMLSpanElement) => {
122122
}
123123
};
124124

125-
export const enablePageRefObserver = () =>
126-
(pageRefObserverRef.current = createHTMLObserver({
125+
export const enablePageRefObserver = () => {
126+
if (pageRefObserverRef.current) return pageRefObserverRef.current;
127+
128+
pageRefObserverRef.current = createHTMLObserver({
127129
useBody: true,
128130
tag: "SPAN",
129131
className: "rm-page-ref",
130132
callback: (s: HTMLSpanElement) => {
131133
pageRefObservers.forEach((f) => f(s));
132134
},
133-
}));
135+
});
136+
return pageRefObserverRef.current;
137+
};
134138

135139
const disablePageRefObserver = () => {
136140
pageRefObserverRef.current?.disconnect();

0 commit comments

Comments
 (0)