Converse converse.js

Source: plugins/controlbox/api.js

  1. import { _converse, api, converse } from "@converse/headless/core";
  2. const { u } = converse.env;
  3. export default {
  4. /**
  5. * The "controlbox" namespace groups methods pertaining to the
  6. * controlbox view
  7. *
  8. * @namespace _converse.api.controlbox
  9. * @memberOf _converse.api
  10. */
  11. controlbox: {
  12. /**
  13. * Opens the controlbox
  14. * @method _converse.api.controlbox.open
  15. * @returns { Promise<_converse.ControlBox> }
  16. */
  17. async open () {
  18. await api.waitUntil('chatBoxesFetched');
  19. const model = await api.chatboxes.get('controlbox') ||
  20. api.chatboxes.create('controlbox', {}, _converse.Controlbox);
  21. u.safeSave(model, {'closed': false});
  22. return model;
  23. },
  24. /**
  25. * Returns the controlbox view.
  26. * @method _converse.api.controlbox.get
  27. * @returns { View } View representing the controlbox
  28. * @example const view = _converse.api.controlbox.get();
  29. */
  30. get () {
  31. return _converse.chatboxviews.get('controlbox');
  32. }
  33. }
  34. }