2020-12-28 18:41:38 +01:00
|
|
|
/**
|
2022-04-02 16:28:01 +02:00
|
|
|
* @copyright 2022, the Converse.js contributors
|
2020-12-28 18:41:38 +01:00
|
|
|
* @license Mozilla Public License (MPLv2)
|
|
|
|
*/
|
|
|
|
import "../modal";
|
2021-02-22 21:07:54 +01:00
|
|
|
import "@converse/headless/plugins/chatboxes/index.js";
|
2021-01-26 14:29:11 +01:00
|
|
|
import "@converse/headless/plugins/roster/index.js";
|
2020-12-28 18:41:38 +01:00
|
|
|
import "modals/add-contact.js";
|
2021-01-26 14:01:37 +01:00
|
|
|
import './rosterview.js';
|
2020-12-28 18:41:38 +01:00
|
|
|
import RosterContactView from './contactview.js';
|
2022-04-19 22:47:57 +02:00
|
|
|
import { RosterFilter } from '@converse/headless/plugins/roster/filter.js';
|
|
|
|
import { RosterFilterView } from './filterview.js';
|
2020-12-28 18:41:38 +01:00
|
|
|
import { _converse, api, converse } from "@converse/headless/core";
|
2021-01-26 14:01:37 +01:00
|
|
|
import { highlightRosterItem } from './utils.js';
|
2020-12-28 18:41:38 +01:00
|
|
|
|
2021-11-19 13:43:14 +01:00
|
|
|
import 'shared/styles/status.scss';
|
2021-03-19 11:53:22 +01:00
|
|
|
import './styles/roster.scss';
|
|
|
|
|
2020-12-28 18:41:38 +01:00
|
|
|
|
|
|
|
converse.plugins.add('converse-rosterview', {
|
|
|
|
|
|
|
|
dependencies: ["converse-roster", "converse-modal", "converse-chatboxviews"],
|
|
|
|
|
|
|
|
initialize () {
|
|
|
|
api.settings.extend({
|
|
|
|
'autocomplete_add_contact': true,
|
|
|
|
'allow_contact_removal': true,
|
|
|
|
'hide_offline_users': false,
|
|
|
|
'roster_groups': true,
|
|
|
|
'xhr_user_search_url': null,
|
|
|
|
});
|
|
|
|
api.promises.add('rosterViewInitialized');
|
|
|
|
|
|
|
|
_converse.RosterFilter = RosterFilter;
|
|
|
|
_converse.RosterFilterView = RosterFilterView;
|
|
|
|
_converse.RosterContactView = RosterContactView;
|
|
|
|
|
|
|
|
/* -------- Event Handlers ----------- */
|
|
|
|
api.listen.on('chatBoxesInitialized', () => {
|
|
|
|
_converse.chatboxes.on('destroy', chatbox => highlightRosterItem(chatbox));
|
|
|
|
_converse.chatboxes.on('change:hidden', chatbox => highlightRosterItem(chatbox));
|
|
|
|
});
|
|
|
|
|
2021-01-26 14:01:37 +01:00
|
|
|
api.listen.on('afterTearDown', () => _converse.rotergroups?.off().reset());
|
2020-12-28 18:41:38 +01:00
|
|
|
}
|
|
|
|
});
|