The popout library provides a means for popping out content from the application into a new browser window, and also provides a mechanism for communication between the main application and the popped out content.
The module:ct-popout/Popout
class is used to open and monitor the popped out window. It will generally be used to
open another aspect which will hold the popped out content. The Popout
may be provided with
properties that will be available to the popped out window.
The popped out window can then use the module:ct-popout/PopoutService
(aliased as caplin.popout-service
)
to retrieve the provided properties and build the popped out content.
Also included in the package is the module:ct-popout/WindowService
(aliased as caplin.window-service
)
which provides several helper methods for multi-window applications.
Special care must be taken when writing multi-window applications. Type checking resources shared between windows will generally not work, so should be avoided. In addition, failure to correctly clean up any shared resources when a window is closed can cause unrecoverable errors.