c8f0406c84
Mainly moving functions and methods to utils
48 lines
1.8 KiB
JavaScript
48 lines
1.8 KiB
JavaScript
/**
|
|
* @description Converse.js plugin which adds views for XEP-0048 bookmarks
|
|
* @copyright 2020, the Converse.js contributors
|
|
* @license Mozilla Public License (MPLv2)
|
|
*/
|
|
import '@converse/headless/plugins/muc/index.js';
|
|
import BookmarkForm from './form.js';
|
|
import BookmarksView from './bookmarks-list.js';
|
|
import { _converse, api, converse } from '@converse/headless/core';
|
|
import { bookmarkableChatRoomView } from './mixins.js';
|
|
import { getHeadingButtons, removeBookmarkViaEvent, addBookmarkViaEvent } from './utils.js';
|
|
|
|
import './styles/bookmarks.scss';
|
|
|
|
|
|
converse.plugins.add('converse-bookmark-views', {
|
|
/* Plugin dependencies are other plugins which might be
|
|
* overridden or relied upon, and therefore need to be loaded before
|
|
* this plugin.
|
|
*
|
|
* If the setting "strict_plugin_dependencies" is set to true,
|
|
* an error will be raised if the plugin is not found. By default it's
|
|
* false, which means these plugins are only loaded opportunistically.
|
|
*/
|
|
dependencies: ['converse-chatboxes', 'converse-muc', 'converse-muc-views'],
|
|
|
|
initialize () {
|
|
// Configuration values for this plugin
|
|
// ====================================
|
|
// Refer to docs/source/configuration.rst for explanations of these
|
|
// configuration settings.
|
|
api.settings.extend({
|
|
hide_open_bookmarks: true
|
|
});
|
|
|
|
_converse.removeBookmarkViaEvent = removeBookmarkViaEvent;
|
|
_converse.addBookmarkViaEvent = addBookmarkViaEvent;
|
|
|
|
Object.assign(_converse.ChatRoomView.prototype, bookmarkableChatRoomView);
|
|
|
|
_converse.MUCBookmarkForm = BookmarkForm;
|
|
_converse.BookmarksView = BookmarksView;
|
|
|
|
api.listen.on('getHeadingButtons', getHeadingButtons);
|
|
api.listen.on('chatRoomViewInitialized', view => view.setBookmarkState());
|
|
}
|
|
});
|