WindowManager

From Genesys Documentation
Jump to: navigation, search
This topic is part of the manual Widgets API Reference for version Current of Widgets.

Learn how to use the WindowManager plugin, which provides a controller for several different types of window group.

Related pages:

Overview

The WindowManager plugin provides a controller for several different types of window group. HTML UIs added to these WindowManager groups are arranged and managed in accordance with each group's purpose.

One group type is Dock View. Both WebChat and SendMessage utilize this group to show their toast-like UI docked in the lower-bottom-right of the screen. This group automatically stacks the two widgets horizontally. When one of the widgets closes, the stack collapses towards the right. Widgets can register themselves into this WindowManager group and let it do all the work.

Another group type is Side Button. WebChat and SendMessage also use this group to show their launcher buttons on the right side of the screen. Like the dock view, buttons are stacked, but in this case they are stacked vertically. As buttons are added and removed from the group, the button stack collapses to fill in the gaps.

Usage

WindowManager has "register" commands for registering your UI into different groups. They all accept one argument, the HTML you want to be handled by WindowManager. You can use 'registerDockView' or 'registerSideButton' at this time. More window management groups will be added in upcoming releases.

Customization

WindowManager does not have customization options.

Screenshots


Configuration

WindowManager does not have configuration options.


Localization

WindowManager does not have localization options.


API Commands

Once you've registered your plugin on the bus, you can call commands on other registered plugins. Here's how to use the global bus object to register a new plugin on the bus.

Important
The global bus object is a debugging tool. When implementing Widgets on your own site, do not use the global bus object to register your custom plugins. Instead, see Widgets Extensions for more information about extending Genesys Widgets.
var oMyPlugin = window._genesys.widgets.bus.registerPlugin('MyPlugin');

oMyPlugin.command('WindowManager.registerDockView', {html: '<div>HTML</div>'});

registerDockView

Creates a docked view container to show a widget on the bottom right corner. Its position is adjusted (stacked) to show side by of a widget if already present and is indexed with a tabindex.

Example

oMyPlugin.command('WindowManager.registerDockView', {html: '<div>Template</div>'}).done(function(e){

	// WindowManager registered a dockView successfully

}).fail(function(e){

	// WindowManager failed to register a dock view
});

Options

Option Type Description
html string A Widget HTML string template that needs to be shown in dock view.


Resolutions

Status When Returns
resolved When the html template is successfully opened and registered in dock view n/a
rejected When no html template is found 'No html content'


registerSideButton

Registers a button to show on the right side of the screen for a particular plugin. Its position is based on the respective plugin order defined in the array configuration. Currently, this is not supported for external plugins.

Example

oMyPlugin.command('WindowManager.registerSideButton', {template: '<div>Button Text</div>'}).done(function(e){

	// WindowManager registered a side button successfully

}).fail(function(e){

	// WindowManager failed to register a side button
});

Options

Option Type Description
template string Custom HTML string template for a button.


Resolutions

Status When Returns
resolved When the html button is successfully registered n/a
rejected When no html template is found 'No button template found to register'


API Events

Once you've registered your plugin on the bus, you can subscribe to and listen for published events. Here's how to use the global bus object to register a new plugin on the bus.

Important
The global bus object is a debugging tool. When implementing Widgets on your own site, do not use the global bus object to register your custom plugins. Instead, see Widgets Extensions for more information about extending Genesys Widgets.
var oMyPlugin = window._genesys.widgets.bus.registerPlugin('MyPlugin');

oMyPlugin.subscribe('WindowManager.ready', function(e){});
Name Description Data
ready WindowManager is initialized and ready to accept commands. n/a
changed WindowManager publishes this event when there is any change in the position of widgets on the screen. {registry: (object)}