36 lines
1.0 KiB
JavaScript
36 lines
1.0 KiB
JavaScript
|
import { _converse, api } from "@converse/headless/core";
|
||
|
|
||
|
export default {
|
||
|
/**
|
||
|
* The "controlbox" namespace groups methods pertaining to the
|
||
|
* controlbox view
|
||
|
*
|
||
|
* @namespace _converse.api.controlbox
|
||
|
* @memberOf _converse.api
|
||
|
*/
|
||
|
controlbox: {
|
||
|
/**
|
||
|
* Opens the controlbox
|
||
|
* @method _converse.api.controlbox.open
|
||
|
* @returns { Promise<_converse.ControlBox> }
|
||
|
*/
|
||
|
async open () {
|
||
|
await api.waitUntil('chatBoxesFetched');
|
||
|
const model = await api.chatboxes.get('controlbox') ||
|
||
|
api.chatboxes.create('controlbox', {}, _converse.Controlbox);
|
||
|
model.trigger('show');
|
||
|
return model;
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* Returns the controlbox view.
|
||
|
* @method _converse.api.controlbox.get
|
||
|
* @returns { View } View representing the controlbox
|
||
|
* @example const view = _converse.api.controlbox.get();
|
||
|
*/
|
||
|
get () {
|
||
|
return _converse.chatboxviews.get('controlbox');
|
||
|
}
|
||
|
}
|
||
|
}
|