fix: viewport ready event firing logic (#5462)

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
authored and GitHub committed 2025-10-06 09:39:56 -04:00
1 parent c9b687900e
commit d2ae13b03f
2 files changed
+11 -94

No files matched your search

@@ -404,8 +404,17 @@ export function ViewportGridProvider({ children, service }: ViewportGridProvider
const getGridViewportsReady = useCallback(() => {
const { viewports } = viewportGridState;
const readyViewports = Array.from(viewports.values()).filter(viewport => viewport.isReady);
return readyViewports.length === viewports.size;
// Filter viewports that have display sets (i.e., have content to display)
const viewportsWithContent = Array.from(viewports.values()).filter(
viewport => viewport.displaySetInstanceUIDs?.length > 0
);
// If there are no viewports with content, return false
if (viewportsWithContent.length === 0) {
return false;
}
// Check if all viewports with content are ready
const readyViewports = viewportsWithContent.filter(viewport => viewport.isReady);
return readyViewports.length === viewportsWithContent.length;
}, [viewportGridState]);
const setLayout = useCallback(