Class: View

View

a View can be used to embed additional web content into a Window. It is like a child window, except it is positioned relative to its owning window. It has the ability to listen for View-specific events.

By default, a View will try to share the same renderer process as other Views owned by its parent Application. To change that behavior, see the processAffinity view option.

A View's lifecycle is tied to its owning window and can be re-attached to a different window at any point during its lifecycle.

Methods

(async, static) create(options) → {Promise.<View>}

EXPERIMENTAL

Creates a new View.

Parameters:
Name Type Description
options View~options

View creation options

Tutorials:
Returns:
Type
Promise.<View>

(static) getCurrent() → {Promise.<View>}

EXPERIMENTAL

Asynchronously returns a View object that represents the current view

Tutorials:
Returns:
Type
Promise.<View>

(static) getCurrentSync() → {View}

EXPERIMENTAL

Synchronously returns a View object that represents the current view

Tutorials:
Returns:
Type
View

(async, static) wrap(identity) → {Promise.<View>}

EXPERIMENTAL

Asynchronously returns a View object that represents an existing view.

Parameters:
Name Type Description
identity Identity
Tutorials:
Returns:
Type
Promise.<View>

(static) wrapSync(identity) → {View}

EXPERIMENTAL

Synchronously returns a View object that represents an existing view.

Parameters:
Name Type Description
identity Identity
Tutorials:
Returns:
Type
View

attach(target) → {Promise.<void>}

EXPERIMENTAL

Attaches the current view to a the given window identity. Identity must be the identity of a window in the same application. This detaches the view from it's current window, and sets the view to be destroyed when its new window closes.

Parameters:
Name Type Description
target Identity
Tutorials:
Returns:
Type
Promise.<void>

destroy() → {Promise.<void>}

EXPERIMENTAL

Destroys the current view

Tutorials:
Returns:
Type
Promise.<void>

getCurrentWindow() → {Promise.<_Window>}

EXPERIMENTAL

Retrieves the window the view is currently attached to.

Tutorials:
Returns:
Type
Promise.<_Window>

getInfo() → {Promise.<ViewInfo>}

EXPERIMENTAL

Gets the View's info.

Tutorials:
Returns:
Type
Promise.<ViewInfo>

getOptions() → {Promise.<ViewCreationOptions>}

EXPERIMENTAL

Gets the View's options.

Tutorials:
Returns:
Type
Promise.<ViewCreationOptions>

hide() → {Promise.<void>}

EXPERIMENTAL

Hides the current view if it is currently visible.

Tutorials:
Returns:
Type
Promise.<void>
EXPERIMENTAL

Navigates the view to a specified URL. The url must contain the protocol prefix such as http:// or https://.

Parameters:
Name Type Description
url string

The URL to navigate the view to.

Tutorials:
Returns:
Type
Promise.<void>

setBounds(bounds) → {Promise.<void>}

EXPERIMENTAL

Sets the bounds (top, left, width, height) of the view relative to its window.

Parameters:
Name Type Description
bounds Bounds
Tutorials:
Returns:
Type
Promise.<void>

setCustomWindowHandler(urls) → {function}

EXPERIMENTAL

Sets a custom window handler.

Parameters:
Name Type Description
urls string | Array.<string>
Returns:
Type
function

show() → {Promise.<void>}

EXPERIMENTAL

Shows the current view if it is currently hidden.

Tutorials:
Returns:
Type
Promise.<void>

updateOptions(options) → {Promise.<void>}

EXPERIMENTAL

Gets the view's info.

Parameters:
Name Type Description
options Partial.<ViewOptions>
Tutorials:
Returns:
Type
Promise.<void>

Type Definitions

options

View creation options.

This is the options object required by View.create.

Note that name and target are the only required properties — albeit the url property is usually provided as well (defaults to "about:blank" when omitted).

Type:
  • object
Properties:
Name Type Attributes Default Description
api object <optional>

Configurations for API injection.

Properties
Name Type Attributes Description
iframe object <optional>

Configure if the the API should be injected into iframes based on domain.

Properties
Name Type Attributes Default Description
crossOriginInjection boolean <optional>
false

Controls if the fin API object is present for cross origin iframes.

sameOriginInjection boolean <optional>
true

Controls if the fin API object is present for same origin iframes.

autoResize object <optional>

AutoResize options

bounds object <optional>

initial bounds

backgroundColor string <optional>
"#FFF"

Updatable. The view’s backfill color as a hexadecimal value. Not to be confused with the content background color (document.body.style.backgroundColor), this color briefly fills a view’s (a) content area before its content is loaded as well as (b) newly exposed areas when growing a window. Setting this value to the anticipated content background color can help improve user experience. Default is white.

contentNavigation object <optional>

Restrict navigation to URLs that match a whitelisted pattern. In the lack of a whitelist, navigation to URLs that match a blacklisted pattern would be prohibited. See here for more details.

Properties
Name Type Attributes Default Description
whitelist Array.<string> <optional>
[]

List of whitelisted URLs.

blacklist Array.<string> <optional>
[]

List of blacklisted URLs.

contextMenuSettings object <optional>

Updatable. Configure the context menu when right-clicking on a view.

Properties
Name Type Attributes Default Description
enable boolean <optional>
true

Should the context menu display on right click.

devtools boolean <optional>
true

Should the context menu contain a button for opening devtools.

reload boolean <optional>
true

Should the context menu contain a button for reloading the page.

customData any <optional>
""

Updatable. A field that the user can attach serializable data to to be ferried around with the view options. When omitted, the default value of this property is the empty string ("").

customContext any <optional>
""

Updatable. A field that the user can use to attach serializable data that will be saved when Platform.getSnapshot is called. If a window or a view in a Platform is trying to update or retrieve its own context, it can use the Platform.setContext and Platform.getContext calls. When omitted, the default value of this property is the empty string (""). As opposed to customData this is meant for frequent updates and sharing with other contexts. Example

name string

The name of the view.

preloadScripts Array.<preloadScript> <optional>

Inheritable A list of scripts that are eval'ed before other scripts in the page. When omitted, inherits from the parent application.

processAffinity string <optional>
<application uuid>

A string to attempt to group renderers together. Will only be used if pages are on the same origin.

target Identity <optional>

The identity of the window this view should be attached to.

url string <optional>
"about:blank"

The URL of the view.

uuid string <optional>
<application uuid>

The uuid of the application, unique within the set of all Applications running in OpenFin Runtime. If omitted, defaults to the uuid of the application spawning the view. If given, must match the uuid of the application spawning the view. In other words, the application's uuid is the only acceptable value, but is the default, so there's really no need to provide it.