Atrium.onlaunch( launchObject )



Atrium.onlaunch() is a function that may be defined to run when a "launch item" action happens. The parameter is an object containing the following fields:

  • url: a string containing the URL being launched.

  • newWindow: a boolean. True when the URL should be opened in a new browser window. False when it should be opening in a new atrium tab.

  • text: A string containing text from the launched action.

  • itemId: a string containing the Atrium ID attribute from the launched action.

  • firstTab: a boolean. True when the new Atrium tab being launched should be the first tab. False when the new tab should be the last tab.

  • closable: a boolean. True when the user should be able to close the new tab*. False otherwise.

A user-defined Atrium.onlaunch() function may be used to detect when an item is being launched. Alternately, it may be used to override the default Atrium behavior of creating a new tab or opening a new browser window.

If the user-defined function returns false, then Atrium does not create a new tab or open a browser window. If Atrium.onlaunch() doesn't return false, then a new tab is created or a browser window is opened after it returns.

The function should be defined in a javascript file located in /YourInstanceName/userdata/extension/atrium/.



*The closable argument can override how Atrium creates tabs. Changing the argument to false can prevent the [x] close-link from appearing on a tab. However, there are situations where preventing users from closing tabs would leave them no way to close the tab: macro errors, or other errors where pui.shutdown isn't called in the Rich Display session. For alternatives to preventing a tab from being closed, see Atrium.promptCloseTab and Atrium.promptCloseBrowser. There are also Atrium.launchURL or Atrium.launchItem, which accept a "closeable" parameter.

(In Profound Version 5, Fix Pack 8.0, closable can override the default Atrium behavior.)

Example

If your instance name is "profoundui", create a new file on your IFS: /profoundui/userdata/extension/atrium/settings.js

Define the function like in the following example.

Atrium.onlaunch = function(launchObject){ if (launchObject.url.indexOf("macro=myMacro") > -1){ console.log("My custom macro should run now"); } }

Note: Without a return statement the example function returns undefined, so Atrium will draw a new tab or open a browser window.

Example - Prevent closing Default Home Page

This example shows how to prevent the "Default Home Page" tab from getting a close-link.

Atrium.onlaunch = function(parms) { if (parms.url == "/profoundui/userdata/html/atrium_home.html") parms.closable = false; }

Because JavaScript passes objects by reference, changing the parms.closable value inside the custom function affects the function which calls Atrium.onlaunch: Atrium.launchURL.