xmpp.chapril.org-conversejs/src/plugins/controlbox/api.js
JC Brand 05c00c5e1c Call minimize on the model
Fix minimizing by listening to change event

Fixes around showing/hiding and minimizing/maximizing

Don't trigger a `show` event on the model to show a chat, instead rely
on the `hidden` attribute which causes a rerender and will show/hide
chats.
2021-02-09 15:48:21 +01:00

38 lines
1.1 KiB
JavaScript

import { _converse, api, converse } from "@converse/headless/core";
const { u } = converse.env;
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);
u.safeSave(model, {'closed': false});
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');
}
}
}