utils.js 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. (function (root, factory) {
  2. define("utils", ['jquery'],
  3. function($) {
  4. return factory($);
  5. });
  6. }(this, function ($) {
  7. var utils = {};
  8. utils.closeAllChatBoxes = function () {
  9. var i, chatbox, num_chatboxes = converse.chatboxes.models.length;
  10. for (i=num_chatboxes-1; i>-1; i--) {
  11. chatbox = converse.chatboxes.models[i];
  12. converse.chatboxesview.views[chatbox.get('id')].closeChat();
  13. }
  14. return this;
  15. };
  16. utils.removeAllChatBoxes = function () {
  17. var i, chatbox, num_chatboxes = converse.chatboxes.models.length;
  18. for (i=num_chatboxes-1; i>-1; i--) {
  19. chatbox = converse.chatboxes.models[i];
  20. converse.chatboxesview.views[chatbox.get('id')].closeChat();
  21. converse.chatboxesview.views[chatbox.get('id')].$el.remove();
  22. }
  23. converse.chatboxesview.views.controlbox.closeChat();
  24. converse.chatboxesview.views.controlbox.$el.remove();
  25. return this;
  26. };
  27. utils.initRoster = function () {
  28. converse.roster.localStorage._clear();
  29. converse.initRoster();
  30. };
  31. utils.openControlBox = function () {
  32. if (!$("#controlbox").is(':visible')) {
  33. $('.toggle-online-users').click();
  34. }
  35. return this;
  36. };
  37. utils.openContactsPanel = function () {
  38. var cbview = converse.chatboxesview.views.controlbox;
  39. var $tabs = cbview.$el.find('#controlbox-tabs');
  40. $tabs.find('li').first().find('a').click();
  41. };
  42. utils.createContactsRoster = function () {
  43. for (i=0; i<cur_names.length; i++) {
  44. this.roster.create({
  45. jid: cur_names[i].replace(' ','.').toLowerCase() + '@localhost',
  46. subscription: 'both',
  47. ask: null,
  48. fullname: cur_names[i],
  49. is_last: i===(cur_names.length-1)
  50. });
  51. }
  52. return this;
  53. };
  54. return utils;
  55. }));