Launcher
Embed the grid of the Apps installed on the site, so the user can open another App from your page, either by a link or by a message that you handle.
The app widget shows a grid of the Apps that the site has installed, read from the platform's list of Apps. Core Apps come first, then the order the site set.
URL and parameters
The parameters that start with _ are the same for every widget. See Widgets.
| Parameter | Meaning | Required |
|---|---|---|
use_href | true makes each App a link to its URL. false makes it a plain button. Without it, true. | No |
target | The target of the link. Without it, _blank. Used when use_href is true. | No |
disabled_app | The ids of Apps that are shown but cannot be pressed, separated by commas. | No |
hidden_app | The ids of Apps that are not shown, separated by commas. | No |
The ids of Apps come from /platform, for example drive and map-studio. An App that the site installed has its own id.
Messages
This widget does not send ready and does not take post-widget-parameters. For the other common messages see Widgets.
| action | Direction | payload |
|---|---|---|
open-app | widget to your page | { appId, url }. The user pressed an App, and url is the URL of that App. |
The widget sends open-app each time the user presses an App that is not disabled, even when use_href is true and the browser is already opening the link.
Notes
To open the App yourself, set use_href=false and open payload.url in your page, for example by navigating or by opening a new tab.
Example
const messageToken = crypto.randomUUID()
const params = new URLSearchParams({
_credential_type: 'bearer-token',
_token: token,
_origin: location.origin,
_message_token: messageToken,
_locale: 'en',
use_href: 'false',
hidden_app: 'configuration',
})
frame.src = `${site}/widgets/app?${params}`
addEventListener('message', (e) => {
if (e.origin !== site || e.data.messageToken !== messageToken) return
if (e.data.action === 'open-app') location.href = e.data.payload.url
})