Tab Strip Navigation
Tree View Navigation
Back and Forward Button Navigation
Drill Down Navigation
Any time you open a window, you have to use one of the two navigation operations: Swapping or Opening. These operations can be performed on any type of window, but are usually reserved for specific cases.
- Swapping - involves closing one window and opening another window in its place. This operation is usually reserved for maximized windows since they take up the entire screen.
- Opening - involves opening a window as it was saved in the Designer. This operation is usually reserved for popups since they are opened in addition to other windows.
To learn how they work, refer to the section on Swapping vs. Opening.
Common Navigation Mistakes
Multiple 'Main' Windows
The most common mistake that will cause windows to stay open unintentionally is to implement a swapping navigation system using the system.nav.openWindow() function on main windows instead of swapTo. When you do this, the next time the swapTo function is called, it may swap from a window that is hidden behind the current 'Main' window and look like nothing happened. It is easy to check the client's Windows menu to see what windows are currently open. If there are more windows listed there than you can currently see, there is a problem in your navigation logic that is failing to close windows properly.
Swapping a Main window with a Docked window
Another common mistake that will cause windows to stay open unintentionally is to implement a swapping navigation system using the system.nav.swapTo() function on windows that are docked. This will cause your docked windows to be 'swapped in' as a maximized window instead of its usual size. When you do this, the client will not see it as a main window and next time the swapTo function is called, it may not have space on screen to open the main window. Logging out and back in to the client (or restarting it) is the only solution to this. Identify the offending button or script that is swapping the docked window and change it accordingly.