Drawers
Overview
The drawer layout widget, located in ./clients/base/layouts/drawer/
, is used to display a window of additional content to the user. This window can then be closed to display the content the user was previously viewing.
Methods
app.drawer.open(layoutDef, onClose)
The app.drawer.open(layoutDef, onClose)
method displays a new content window over the current view.
Parameters
Name | Required | Description |
layoutDef.layout |
yes | The id of the layout to load. |
layoutDef.context |
no |
Additional data you would like to pass to the drawer. Data passed in can be retrieved from the view using: this.context.get('<data key>'); Note: Be very careful about what you pass in as data to the drawer. As the data is passed in by reference, when the drawer is closed, the context is destroyed. |
onClose |
no | Optional callback handler for when the drawer is closed. |
Example
app.drawer.open({
layout: 'my-layout',
context: {
myData: data
},
},
function() {
//on close, throw an alert
alert('Drawer closed.');
});
app.drawer.close(callbackOptions)
The app.drawer.close(callbackOptions)
method dismisses the topmost drawer.
Parameters
Name | Required | Description |
callbackOptions | no | Any parameters passed into the close method will be passed to the callback. |
Standard Example
app.drawer.close();
Callback Example
//open drawer
app.drawer.open({
layout: 'my-layout',
},
function(message1, message2) {
alert(message1);
alert(message2);
});
//close drawer
app.drawer.close('message 1', 'message 2');
app.drawer.load(options)
Loads a new layout into an existing drawer.
Parameters
Name | Description |
options.layout |
The id of the layout to load. |
Example
app.drawer.load({
layout: 'my-second-layout',
});
app.drawer.reset(triggerBefore)
The app.drawer.reset(triggerBefore)
method destroys all drawers at once. By default, whenever the application is routed to another page, reset() is called.
Parameters
Name | Required | Description |
triggerBefore |
no | Determines whether to triggerBefore. Defaults to false. |
Example
app.drawer.reset();