Skip to main content
Access via:io.layouts

Layouts API.

32 Methods

clearDefaultGlobal()⚓︎

() => Promise<void>

Removes the default Global Layout.

export()⚓︎

(layoutType: LayoutType) => Promise<Layout[]>

Returns a collection of all available Layout objects of the provided type.

Parameters (1)

Name Type Required Description
layoutType⚓︎ LayoutType x

forceRefresh()⚓︎

() => Promise<void>

Forces a refresh of the connection to io.Manager or any other REST Layout stores, updating the list of available Layouts.

get()⚓︎

(name: string, type: LayoutType) => Promise<Layout | undefined>

Fetches a saved Layout if a Layout with the provided name and type exists.

Parameters (2)

Name Type Required Description
name⚓︎ string

Name of the Layout to fetch.

type⚓︎ LayoutType

Type of the Layout to fetch.

getAll()⚓︎

(type: LayoutType) => Promise<LayoutSummary[]>

Returns a lightweight description of all Layouts of the provided type, without the extensive objects describing the Layout components.

Parameters (1)

Name Type Required Description
type⚓︎ LayoutType

Type of the Layouts to fetch.

getCurrentLayout()⚓︎

() => Promise<Layout | undefined>

Retrieves the current Global Layout. This is either the last restored Global Layout, or the last saved Global Layout that has been set as the current Global Layout.

io.Connect Browser 4.0

getDefaultGlobal()⚓︎

() => Promise<Layout | undefined>

Retrieves the default Global Layout, if any.

getGlobalTypeState()⚓︎

() => Promise<{ activated: boolean }>

Checks whether Global Layouts are activated in the io.Connect Browser environment.

getMultiScreenPermissionState()⚓︎

() => Promise<{ state: "prompt" | "granted" | "denied" }>

Retrieves the browser Multi-Screen Window Placement permission state for the io.Connect Browser environment.

getRestoredLayoutsInfo()⚓︎

() => Promise<GetRestoredLayoutsInfoResult | undefined>

Retrieves info about the currently active Layout (ID, type, name, participating app instances), as well as about any previously active Layouts that still have running instances of their participating apps.

hibernate()⚓︎

(name: string, options?: HibernationOptions) => Promise<HibernateResult>

Hibernates a Layout.

Parameters (2)

Name Type Required Description
name⚓︎ string

Name of the Layout to hibernate.

options⚓︎ HibernationOptions x

Options for hibernating a Layout.

import()⚓︎

(layouts: Layout[], mode?: ImportMode) => Promise<void>

Imports a collection of Layout objects.

Parameters (2)

Name Type Required Description
layouts⚓︎ Layout[]

An array of Layout objects to be imported.

mode⚓︎ ImportMode x

If "replace" (default), all existing Layouts will be removed. If "merge", the Layouts will be added to the existing ones.

list()⚓︎

() => Layout[]

Retrieves a list of all Layouts.

onAdded()⚓︎

(callback: (layout: Layout) => void) => () => void

Notifies when a new Layout is added.

Parameters (1)

Name Type Required Description
callback⚓︎ (layout: Layout) => void

Callback function to handle the event. Receives the Layout object as an argument and returns an unsubscribe function.

onChanged()⚓︎

(callback: (layout: Layout) => void) => () => void

Notifies when a Layout is modified.

Parameters (1)

Name Type Required Description
callback⚓︎ (layout: Layout) => void

Callback function to handle the event. Receives the Layout object as an argument and returns an unsubscribe function.

onDefaultGlobalChanged()⚓︎

(callback: (layout?: { name: string }) => void) => () => void

Notifies when a new default Global Layout has been selected or when the current one has been cleared.

io.Connect Browser 4.0

Parameters (1)

Name Type Required Description
callback⚓︎ (layout?: { name: string }) => void

Callback function for handling the event. Receives as an argument an object with a name property holding the name of the newly selected default Global Layout. If the default Global Layout has been cleared, the argument will be undefined.

onLayoutModified()⚓︎

(callback: (info: LayoutModifiedEvent) => SaveRequestResponse) => UnsubscribeFunction

This event will be raised the first time the currently loaded global layout has been modified. Modified means that the layout has been changed:

  • an app has been started or stopped
  • an app has ben moved
  • a workspace that is part of the layout has been modified This event can be used to mark the layout as dirty. This event will be raised only the first time the layout is modified. A second modification won't raise the event again. Saving the layout will reset that and the event will be raised again the next time the layout is modified.

Parameters (1)

Name Type Required Description
callback⚓︎ (info: LayoutModifiedEvent) => SaveRequestResponse

Callback function for handling the event.

onRemoved()⚓︎

(callback: (layout: Layout) => void) => () => void

Notifies when a Layout is removed.

Parameters (1)

Name Type Required Description
callback⚓︎ (layout: Layout) => void

Callback function to handle the event. Receives the Layout object as an argument and returns an unsubscribe function.

onRenamed()⚓︎

(callback: (layout: Layout, previous: { name: string }) => void) => () => void

Notifies when a Layout is renamed. Returns an unsubscribe function.

Parameters (1)

Name Type Required Description
callback⚓︎ (layout: Layout, previous: { name: string }) => void

Callback function for handling the event. Receives as a first argument the Layout object describing the renamed Layout. Receives as a second argument an object with a name property holding the previous Layout name.

onRestored()⚓︎

(callback: (layout: Layout) => void) => () => void

Notifies when a Layout is restored.

io.Connect Browser 4.0

Parameters (1)

Name Type Required Description
callback⚓︎ (layout: Layout) => void

Callback function for handling the event. Receives as an argument the Layout object that was restored.

onSaveRequested()⚓︎

(callback: (info?: SaveRequestContext) => SaveRequestResponse) => () => void

Notifies when a Layout save operation is requested. Returns an unsubscribe function.

Parameters (1)

Name Type Required Description
callback⚓︎ (info?: SaveRequestContext) => SaveRequestResponse

Callback function for handling the event. The callback must return a SaveRequestResponse object containing context to be saved for the current window when the Layout is saved. When the Layout is saved and the ignoreContexts property of the NewLayoutOptions object is set to true, the returned context will be ignored.

remove()⚓︎

(type: LayoutType, name: string) => Promise<void>

Removes a Layout.

Parameters (2)

Name Type Required Description
type⚓︎ LayoutType

Type of the Layout to remove.

name⚓︎ string

Name of the Layout to remove.

rename()⚓︎

(layout: Layout, newName: string) => Promise<LayoutResult>

Renames a Layout.

Parameters (2)

Name Type Required Description
layout⚓︎ Layout

Existing Layout to rename.

newName⚓︎ string

New name for the Layout.

requestMultiScreenPermission()⚓︎

() => Promise<{ permissionGranted: boolean }>

Opens the browser permission prompt requesting Multi-Screen Window Placement permission from the user for the io.Connect Browser environment. This can only be requested from the Main app (Web Platform) due to the transient activation restrictions of the browsers.

reset()⚓︎

(options: ResetLayoutOptions) => Promise<RestoreResumeResult>

Resets a Layout.

Parameters (1)

Name Type Required Description
options⚓︎ ResetLayoutOptions

Options for resetting a Layout.

restore()⚓︎

(options: RestoreOptions) => Promise<void>

Restores a Layout.

Parameters (1)

Name Type Required Description
options⚓︎ RestoreOptions

Options for restoring a Layout.

resume()⚓︎

(name: string, context?: any, options?: ResumeOptions) => Promise<RestoreResumeResult>

Resumes a Layout.

Parameters (3)

Name Type Required Description
name⚓︎ string

Name of the Layout to resume.

context⚓︎ any x

Context for the Layout.

options⚓︎ ResumeOptions x

Options for resuming a Layout.

save()⚓︎

(layout: NewLayoutOptions) => Promise<Layout>

Saves a new Layout.

Parameters (1)

Name Type Required Description
layout⚓︎ NewLayoutOptions

Options for saving a Layout.

setDefaultGlobal()⚓︎

(name: string) => Promise<void>

Sets a new default Global Layout.

Parameters (1)

Name Type Required Description
name⚓︎ string

Name of the Global Layout to set as default.

updateAppContextInCurrent()⚓︎

(context: object) => Promise<void>

Updates the context saved for your app in the currently loaded Layout.

Parameters (1)

Name Type Required Description
context⚓︎ object

New context for the app.

updateDefaultContext()⚓︎

(context: object) => Promise<LayoutResult>

Updates the context that will be saved as a default context for the current window.

Parameters (1)

Name Type Required Description
context⚓︎ object

New context that will be saved as a default window context.

updateMetadata()⚓︎

(layout: Layout) => Promise<void>

Updates the metadata of a Layout.

Parameters (1)

Name Type Required Description
layout⚓︎ Layout

Existing Layout to update.