Web Window Manager

A Window Manger for managing the creation and deletion of windows/tabs within a web based application.


📖 Overview

This package allows developers to build applications that can open windows/tabs at an infinite depth (theoretically) and close all windows/tabs, based on some event*, that are children* of the window/tab that triggered the event. This solves the problem some web applications have with persistence and ensuring all children are closed given various edge cases.

event - a button click, hot key, or anything else (fully customizable)

children - a window/tab that was opened by a given window/tab

When the user clicks the "Logout" button, this will close all child windows/tabs that were opened by the current window/tab.

❓ What Problem Did This Solve?

During my employement at Ventra Health, I worked on an internal application that had a native-like feel to it. Users would often open new sub-windows from the main window, almost like tabs, but floating. The issue was, users would have a BUNCH of these opened, and when done for the day, would have to go and close out all of the windows manually.

This library allows users to close out their main window, which keeps track of all of the windows/tabs that were opened from it. The new window that was opened, is also considered a main window to the windows that it opens, creating this recursive-like window closing behavior.

The Child windows would communicate back to its parent window that it was being closed, so its parent window could remove it from its memory.