MCPcopy Create free account
hub / github.com/UI5/webcomponents / getResizeObserver

Function getResizeObserver

packages/base/src/delegate/ResizeHandler.ts:8–22  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

6const observedElements = new Map<HTMLElement, Array<ResizeObserverCallback>>();
7
8const getResizeObserver = () => {
9 if (!resizeObserver) {
10 resizeObserver = new window.ResizeObserver(entries => {
11 window.requestAnimationFrame(() => {
12 entries.forEach(entry => {
13 const callbacks = observedElements.get(entry.target as HTMLElement);
14 // Callbacks could be async and we need to handle returned promises to comply with the eslint "no-misused-promises" rule.
15 // Although Promise.all awaits all, we don't await the additional task after calling the callbacks and should not make any difference.
16 callbacks && Promise.all(callbacks.map((callback: ResizeObserverCallback) => callback()));
17 });
18 });
19 });
20 }
21 return resizeObserver;
22};
23
24const observe = (element: HTMLElement, callback: ResizeObserverCallback) => {
25 const callbacks = observedElements.get(element) || [];

Callers 2

observeFunction · 0.85
unobserveFunction · 0.85

Calls 3

callbackFunction · 0.85
requestAnimationFrameMethod · 0.80
getMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…