2020-12-29 12:23:39 +01:00
|
|
|
import tpl_controlbox_toggle from "./templates/toggle.js";
|
2021-03-24 11:59:09 +01:00
|
|
|
import { CustomElement } from 'shared/components/element.js';
|
2021-03-17 10:37:19 +01:00
|
|
|
import { _converse, api } from "@converse/headless/core";
|
|
|
|
import { showControlBox } from './utils.js';
|
2020-12-04 22:05:43 +01:00
|
|
|
|
|
|
|
|
2021-03-17 10:37:19 +01:00
|
|
|
class ControlBoxToggle extends CustomElement {
|
2020-12-04 22:05:43 +01:00
|
|
|
|
2021-03-17 10:37:19 +01:00
|
|
|
async connectedCallback () {
|
|
|
|
super.connectedCallback();
|
|
|
|
await api.waitUntil('initialized')
|
|
|
|
this.model = _converse.chatboxes.get('controlbox');
|
|
|
|
this.listenTo(this.model, 'change:closed', () => this.requestUpdate());
|
|
|
|
this.requestUpdate();
|
2020-12-08 12:54:14 +01:00
|
|
|
}
|
2020-12-04 22:05:43 +01:00
|
|
|
|
|
|
|
render () {
|
2021-03-17 10:37:19 +01:00
|
|
|
return tpl_controlbox_toggle({
|
2021-03-17 11:18:40 +01:00
|
|
|
'onClick': showControlBox,
|
2021-03-17 10:37:19 +01:00
|
|
|
'hide': !this.model?.get('closed')
|
|
|
|
});
|
2020-12-08 12:54:14 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
api.elements.define('converse-controlbox-toggle', ControlBoxToggle);
|
2020-12-04 22:05:43 +01:00
|
|
|
|
|
|
|
export default ControlBoxToggle;
|