mirror of
https://github.com/felipegcoutinho/openmonetis.git
synced 2026-07-09 19:36:02 +00:00
Ajusta widgets do dashboard
This commit is contained in:
@@ -32,6 +32,7 @@ export function ExpandableWidgetCard({
|
||||
if (!element) return;
|
||||
|
||||
let frameId = 0;
|
||||
const observedElements = new Set<Element>();
|
||||
|
||||
const checkOverflow = () => {
|
||||
cancelAnimationFrame(frameId);
|
||||
@@ -44,13 +45,33 @@ export function ExpandableWidgetCard({
|
||||
});
|
||||
};
|
||||
|
||||
const observeContentElements = (resizeObserver: ResizeObserver) => {
|
||||
for (const child of Array.from(element.children)) {
|
||||
if (!observedElements.has(child)) {
|
||||
resizeObserver.observe(child);
|
||||
observedElements.add(child);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
checkOverflow();
|
||||
|
||||
const resizeObserver = new ResizeObserver(checkOverflow);
|
||||
resizeObserver.observe(element);
|
||||
observeContentElements(resizeObserver);
|
||||
|
||||
const mutationObserver = new MutationObserver(() => {
|
||||
observeContentElements(resizeObserver);
|
||||
checkOverflow();
|
||||
});
|
||||
mutationObserver.observe(element, {
|
||||
childList: true,
|
||||
subtree: true,
|
||||
});
|
||||
|
||||
return () => {
|
||||
cancelAnimationFrame(frameId);
|
||||
mutationObserver.disconnect();
|
||||
resizeObserver.disconnect();
|
||||
};
|
||||
}, []);
|
||||
|
||||
Reference in New Issue
Block a user