Update plugins to not depend on converse-core
To illustrate that this is not necessary (and also not possible with non-bundled plugins).
This commit is contained in:
parent
b701c4830f
commit
9b48b2d6bd
|
@ -78,8 +78,8 @@ Below is an example code that wraps converse.js as an angular.js service.
|
|||
"converse-headline", // Support for headline messages
|
||||
// END: Removable components
|
||||
|
||||
], function(converse_api) {
|
||||
service.api = converse_api;
|
||||
], function(converse) {
|
||||
service.api = converse;
|
||||
return deferred.resolve();
|
||||
});
|
||||
require(["converse"]);
|
||||
|
|
|
@ -16,7 +16,6 @@
|
|||
"moment_with_locales",
|
||||
"strophe",
|
||||
"utils",
|
||||
"converse-core",
|
||||
"converse-api",
|
||||
"converse-muc",
|
||||
"tpl!chatroom_bookmark_form",
|
||||
|
@ -27,26 +26,18 @@
|
|||
factory);
|
||||
}(this, function (
|
||||
$, _, moment, strophe, utils,
|
||||
_converse, converse_api, muc,
|
||||
converse, muc,
|
||||
tpl_chatroom_bookmark_form,
|
||||
tpl_chatroom_bookmark_toggle,
|
||||
tpl_bookmark,
|
||||
tpl_bookmarks_list
|
||||
) {
|
||||
|
||||
var __ = utils.__.bind(_converse),
|
||||
___ = utils.___,
|
||||
Strophe = converse_api.env.Strophe,
|
||||
$iq = converse_api.env.$iq,
|
||||
b64_sha1 = converse_api.env.b64_sha1;
|
||||
var Strophe = converse.env.Strophe,
|
||||
$iq = converse.env.$iq,
|
||||
b64_sha1 = converse.env.b64_sha1;
|
||||
|
||||
// Add new HTML templates.
|
||||
_converse.templates.chatroom_bookmark_form = tpl_chatroom_bookmark_form;
|
||||
_converse.templates.chatroom_bookmark_toggle = tpl_chatroom_bookmark_toggle;
|
||||
_converse.templates.bookmark = tpl_bookmark;
|
||||
_converse.templates.bookmarks_list = tpl_bookmarks_list;
|
||||
|
||||
converse_api.plugins.add('converse-bookmarks', {
|
||||
converse.plugins.add('converse-bookmarks', {
|
||||
overrides: {
|
||||
// Overrides mentioned here will be picked up by converse.js's
|
||||
// plugin architecture they will replace existing methods on the
|
||||
|
@ -73,7 +64,9 @@
|
|||
},
|
||||
|
||||
generateHeadingHTML: function () {
|
||||
var html = this.__super__.generateHeadingHTML.apply(this, arguments);
|
||||
var _converse = this.__super__._converse,
|
||||
__ = _converse.__,
|
||||
html = this.__super__.generateHeadingHTML.apply(this, arguments);
|
||||
if (_converse.allow_bookmarks) {
|
||||
var div = document.createElement('div');
|
||||
div.innerHTML = html;
|
||||
|
@ -97,6 +90,7 @@
|
|||
* for this room, and if so use it.
|
||||
* Otherwise delegate to the super method.
|
||||
*/
|
||||
var _converse = this.__super__._converse;
|
||||
if (_.isUndefined(_converse.bookmarks) || !_converse.allow_bookmarks) {
|
||||
return this.__super__.checkForReservedNick.apply(this, arguments);
|
||||
}
|
||||
|
@ -119,6 +113,7 @@
|
|||
setBookmarkState: function () {
|
||||
/* Set whether the room is bookmarked or not.
|
||||
*/
|
||||
var _converse = this.__super__._converse;
|
||||
if (!_.isUndefined(_converse.bookmarks)) {
|
||||
var models = _converse.bookmarks.where({'jid': this.model.get('jid')});
|
||||
if (!models.length) {
|
||||
|
@ -130,7 +125,9 @@
|
|||
},
|
||||
|
||||
renderBookmarkForm: function () {
|
||||
var $body = this.$('.chatroom-body');
|
||||
var _converse = this.__super__._converse,
|
||||
__ = _converse.__,
|
||||
$body = this.$('.chatroom-body');
|
||||
$body.children().addClass('hidden');
|
||||
// Remove any existing forms
|
||||
$body.find('form.chatroom-form').remove();
|
||||
|
@ -150,6 +147,7 @@
|
|||
|
||||
onBookmarkFormSubmitted: function (ev) {
|
||||
ev.preventDefault();
|
||||
var _converse = this.__super__._converse;
|
||||
var $form = $(ev.target), that = this;
|
||||
_converse.bookmarks.createBookmark({
|
||||
'jid': this.model.get('jid'),
|
||||
|
@ -169,6 +167,7 @@
|
|||
ev.preventDefault();
|
||||
ev.stopPropagation();
|
||||
}
|
||||
var _converse = this.__super__._converse;
|
||||
var models = _converse.bookmarks.where({'jid': this.model.get('jid')});
|
||||
if (!models.length) {
|
||||
this.renderBookmarkForm();
|
||||
|
@ -186,7 +185,16 @@
|
|||
/* The initialize function gets called as soon as the plugin is
|
||||
* loaded by converse.js's plugin machinery.
|
||||
*/
|
||||
var _converse = this._converse;
|
||||
var _converse = this._converse,
|
||||
__ = _converse.__,
|
||||
___ = _converse.___;
|
||||
|
||||
// Add new HTML templates.
|
||||
_converse.templates.chatroom_bookmark_form = tpl_chatroom_bookmark_form;
|
||||
_converse.templates.chatroom_bookmark_toggle = tpl_chatroom_bookmark_toggle;
|
||||
_converse.templates.bookmark = tpl_bookmark;
|
||||
_converse.templates.bookmarks_list = tpl_bookmarks_list;
|
||||
|
||||
// Configuration values for this plugin
|
||||
// ====================================
|
||||
// Refer to docs/source/configuration.rst for explanations of these
|
||||
|
|
|
@ -8,7 +8,6 @@
|
|||
|
||||
(function (root, factory) {
|
||||
define("converse-chatview", [
|
||||
"converse-core",
|
||||
"converse-api",
|
||||
"tpl!chatbox",
|
||||
"tpl!new_day",
|
||||
|
@ -18,8 +17,7 @@
|
|||
"tpl!avatar"
|
||||
], factory);
|
||||
}(this, function (
|
||||
_converse,
|
||||
converse_api,
|
||||
converse,
|
||||
tpl_chatbox,
|
||||
tpl_new_day,
|
||||
tpl_action,
|
||||
|
@ -28,28 +26,19 @@
|
|||
tpl_avatar
|
||||
) {
|
||||
"use strict";
|
||||
_converse.templates.chatbox = tpl_chatbox;
|
||||
_converse.templates.new_day = tpl_new_day;
|
||||
_converse.templates.action = tpl_action;
|
||||
_converse.templates.message = tpl_message;
|
||||
_converse.templates.toolbar = tpl_toolbar;
|
||||
_converse.templates.avatar = tpl_avatar;
|
||||
|
||||
var $ = converse_api.env.jQuery,
|
||||
utils = converse_api.env.utils,
|
||||
Strophe = converse_api.env.Strophe,
|
||||
$msg = converse_api.env.$msg,
|
||||
_ = converse_api.env._,
|
||||
__ = utils.__.bind(_converse),
|
||||
moment = converse_api.env.moment;
|
||||
|
||||
var $ = converse.env.jQuery,
|
||||
utils = converse.env.utils,
|
||||
Strophe = converse.env.Strophe,
|
||||
$msg = converse.env.$msg,
|
||||
_ = converse.env._,
|
||||
moment = converse.env.moment;
|
||||
var KEY = {
|
||||
ENTER: 13,
|
||||
FORWARD_SLASH: 47
|
||||
};
|
||||
|
||||
|
||||
converse_api.plugins.add('converse-chatview', {
|
||||
converse.plugins.add('converse-chatview', {
|
||||
|
||||
overrides: {
|
||||
// Overrides mentioned here will be picked up by converse.js's
|
||||
|
@ -60,6 +49,7 @@
|
|||
|
||||
ChatBoxViews: {
|
||||
onChatBoxAdded: function (item) {
|
||||
var _converse = this.__super__._converse;
|
||||
var view = this.get(item.get('id'));
|
||||
if (!view) {
|
||||
view = new _converse.ChatBoxView({model: item});
|
||||
|
@ -77,6 +67,17 @@
|
|||
/* The initialize function gets called as soon as the plugin is
|
||||
* loaded by converse.js's plugin machinery.
|
||||
*/
|
||||
var _converse = this._converse,
|
||||
__ = _converse.__;
|
||||
|
||||
// Add new HTML templates.
|
||||
_converse.templates.chatbox = tpl_chatbox;
|
||||
_converse.templates.new_day = tpl_new_day;
|
||||
_converse.templates.action = tpl_action;
|
||||
_converse.templates.message = tpl_message;
|
||||
_converse.templates.toolbar = tpl_toolbar;
|
||||
_converse.templates.avatar = tpl_avatar;
|
||||
|
||||
this.updateSettings({
|
||||
show_toolbar: true,
|
||||
chatview_avatar_width: 32,
|
||||
|
|
|
@ -8,7 +8,6 @@
|
|||
|
||||
(function (root, factory) {
|
||||
define("converse-controlbox", [
|
||||
"converse-core",
|
||||
"converse-api",
|
||||
"tpl!add_contact_dropdown",
|
||||
"tpl!add_contact_form",
|
||||
|
@ -27,8 +26,7 @@
|
|||
"converse-rosterview"
|
||||
], factory);
|
||||
}(this, function (
|
||||
_converse,
|
||||
converse_api,
|
||||
converse,
|
||||
tpl_add_contact_dropdown,
|
||||
tpl_add_contact_form,
|
||||
tpl_change_status_message,
|
||||
|
@ -44,33 +42,19 @@
|
|||
tpl_status_option
|
||||
) {
|
||||
"use strict";
|
||||
_converse.templates.add_contact_dropdown = tpl_add_contact_dropdown;
|
||||
_converse.templates.add_contact_form = tpl_add_contact_form;
|
||||
_converse.templates.change_status_message = tpl_change_status_message;
|
||||
_converse.templates.chat_status = tpl_chat_status;
|
||||
_converse.templates.choose_status = tpl_choose_status;
|
||||
_converse.templates.contacts_panel = tpl_contacts_panel;
|
||||
_converse.templates.contacts_tab = tpl_contacts_tab;
|
||||
_converse.templates.controlbox = tpl_controlbox;
|
||||
_converse.templates.controlbox_toggle = tpl_controlbox_toggle;
|
||||
_converse.templates.login_panel = tpl_login_panel;
|
||||
_converse.templates.login_tab = tpl_login_tab;
|
||||
_converse.templates.search_contact = tpl_search_contact;
|
||||
_converse.templates.status_option = tpl_status_option;
|
||||
|
||||
var USERS_PANEL_ID = 'users';
|
||||
|
||||
// Strophe methods for building stanzas
|
||||
var Strophe = converse_api.env.Strophe,
|
||||
utils = converse_api.env.utils;
|
||||
var Strophe = converse.env.Strophe,
|
||||
utils = converse.env.utils;
|
||||
// Other necessary globals
|
||||
var $ = converse_api.env.jQuery,
|
||||
_ = converse_api.env._,
|
||||
__ = utils.__.bind(_converse),
|
||||
moment = converse_api.env.moment;
|
||||
var $ = converse.env.jQuery,
|
||||
_ = converse.env._,
|
||||
moment = converse.env.moment;
|
||||
|
||||
|
||||
converse_api.plugins.add('converse-controlbox', {
|
||||
converse.plugins.add('converse-controlbox', {
|
||||
|
||||
overrides: {
|
||||
// Overrides mentioned here will be picked up by converse.js's
|
||||
|
@ -132,6 +116,7 @@
|
|||
|
||||
ChatBoxViews: {
|
||||
onChatBoxAdded: function (item) {
|
||||
var _converse = this.__super__._converse;
|
||||
if (item.get('box_id') === 'controlbox') {
|
||||
var view = this.get(item.get('id'));
|
||||
if (view) {
|
||||
|
@ -148,6 +133,7 @@
|
|||
},
|
||||
|
||||
closeAllChatBoxes: function () {
|
||||
var _converse = this.__super__._converse;
|
||||
this.each(function (view) {
|
||||
if (_converse.disconnection_cause === _converse.LOGOUT ||
|
||||
view.model.get('id') !== 'controlbox') {
|
||||
|
@ -158,6 +144,7 @@
|
|||
},
|
||||
|
||||
getChatBoxWidth: function (view) {
|
||||
var _converse = this.__super__._converse;
|
||||
var controlbox = this.get('controlbox');
|
||||
if (view.model.get('id') === 'controlbox') {
|
||||
/* We return the width of the controlbox or its toggle,
|
||||
|
@ -191,6 +178,7 @@
|
|||
|
||||
ChatBoxView: {
|
||||
insertIntoDOM: function () {
|
||||
var _converse = this.__super__._converse;
|
||||
this.$el.insertAfter(_converse.chatboxviews.get("controlbox").$el);
|
||||
return this;
|
||||
}
|
||||
|
@ -201,7 +189,24 @@
|
|||
/* The initialize function gets called as soon as the plugin is
|
||||
* loaded by converse.js's plugin machinery.
|
||||
*/
|
||||
var _converse = this._converse;
|
||||
var _converse = this._converse,
|
||||
__ = _converse.__;
|
||||
|
||||
// Add new HTML templates.
|
||||
_converse.templates.add_contact_dropdown = tpl_add_contact_dropdown;
|
||||
_converse.templates.add_contact_form = tpl_add_contact_form;
|
||||
_converse.templates.change_status_message = tpl_change_status_message;
|
||||
_converse.templates.chat_status = tpl_chat_status;
|
||||
_converse.templates.choose_status = tpl_choose_status;
|
||||
_converse.templates.contacts_panel = tpl_contacts_panel;
|
||||
_converse.templates.contacts_tab = tpl_contacts_tab;
|
||||
_converse.templates.controlbox = tpl_controlbox;
|
||||
_converse.templates.controlbox_toggle = tpl_controlbox_toggle;
|
||||
_converse.templates.login_panel = tpl_login_panel;
|
||||
_converse.templates.login_tab = tpl_login_tab;
|
||||
_converse.templates.search_contact = tpl_search_contact;
|
||||
_converse.templates.status_option = tpl_status_option;
|
||||
|
||||
this.updateSettings({
|
||||
allow_logout: true,
|
||||
default_domain: undefined,
|
||||
|
|
|
@ -171,7 +171,8 @@
|
|||
|
||||
// Translation machinery
|
||||
// ---------------------
|
||||
var __ = utils.__.bind(this);
|
||||
var __ = _converse.__ = utils.__.bind(_converse);
|
||||
_converse.___ = utils.___;
|
||||
var DESC_GROUP_TOGGLE = __('Click to hide these contacts');
|
||||
|
||||
// Default configuration values
|
||||
|
@ -1133,7 +1134,7 @@
|
|||
* Note: this method gets completely overridden by converse-vcard.js
|
||||
*/
|
||||
var bare_jid = Strophe.getBareJidFromJid(presence.getAttribute('from'));
|
||||
var nick_el = presence.querySelector('nick[xmlns='+Strophe.NS.NICK+']');
|
||||
var nick_el = presence.querySelector('nick[xmlns="'+Strophe.NS.NICK+'"]');
|
||||
var user_data = {
|
||||
jid: bare_jid,
|
||||
subscription: 'none',
|
||||
|
|
|
@ -8,20 +8,18 @@
|
|||
|
||||
(function (root, factory) {
|
||||
define("converse-dragresize", [
|
||||
"converse-core",
|
||||
"converse-api",
|
||||
"tpl!dragresize",
|
||||
"converse-chatview",
|
||||
"converse-muc", // XXX: would like to remove this
|
||||
"converse-controlbox"
|
||||
], factory);
|
||||
}(this, function (_converse, converse_api, tpl_dragresize) {
|
||||
}(this, function (converse, tpl_dragresize) {
|
||||
"use strict";
|
||||
var $ = converse_api.env.jQuery,
|
||||
_ = converse_api.env._;
|
||||
_converse.templates.dragresize = tpl_dragresize;
|
||||
var $ = converse.env.jQuery,
|
||||
_ = converse.env._;
|
||||
|
||||
converse_api.plugins.add('converse-dragresize', {
|
||||
converse.plugins.add('converse-dragresize', {
|
||||
|
||||
overrides: {
|
||||
// Overrides mentioned here will be picked up by converse.js's
|
||||
|
@ -31,38 +29,41 @@
|
|||
// New functions which don't exist yet can also be added.
|
||||
|
||||
registerGlobalEventHandlers: function () {
|
||||
var that = this;
|
||||
|
||||
$(document).on('mousemove', function (ev) {
|
||||
if (!this.resizing || !this.allow_dragresize) { return true; }
|
||||
if (!that.resizing || !that.allow_dragresize) { return true; }
|
||||
ev.preventDefault();
|
||||
this.resizing.chatbox.resizeChatBox(ev);
|
||||
}.bind(this));
|
||||
that.resizing.chatbox.resizeChatBox(ev);
|
||||
});
|
||||
|
||||
$(document).on('mouseup', function (ev) {
|
||||
if (!this.resizing || !this.allow_dragresize) { return true; }
|
||||
if (!that.resizing || !that.allow_dragresize) { return true; }
|
||||
ev.preventDefault();
|
||||
var height = this.applyDragResistance(
|
||||
this.resizing.chatbox.height,
|
||||
this.resizing.chatbox.model.get('default_height')
|
||||
var height = that.applyDragResistance(
|
||||
that.resizing.chatbox.height,
|
||||
that.resizing.chatbox.model.get('default_height')
|
||||
);
|
||||
var width = this.applyDragResistance(
|
||||
this.resizing.chatbox.width,
|
||||
this.resizing.chatbox.model.get('default_width')
|
||||
var width = that.applyDragResistance(
|
||||
that.resizing.chatbox.width,
|
||||
that.resizing.chatbox.model.get('default_width')
|
||||
);
|
||||
if (this.connection.connected) {
|
||||
this.resizing.chatbox.model.save({'height': height});
|
||||
this.resizing.chatbox.model.save({'width': width});
|
||||
if (that.connection.connected) {
|
||||
that.resizing.chatbox.model.save({'height': height});
|
||||
that.resizing.chatbox.model.save({'width': width});
|
||||
} else {
|
||||
this.resizing.chatbox.model.set({'height': height});
|
||||
this.resizing.chatbox.model.set({'width': width});
|
||||
that.resizing.chatbox.model.set({'height': height});
|
||||
that.resizing.chatbox.model.set({'width': width});
|
||||
}
|
||||
this.resizing = null;
|
||||
}.bind(this));
|
||||
that.resizing = null;
|
||||
});
|
||||
|
||||
return this.__super__.registerGlobalEventHandlers.apply(this, arguments);
|
||||
},
|
||||
|
||||
ChatBox: {
|
||||
initialize: function () {
|
||||
var _converse = this.__super__._converse;
|
||||
var result = this.__super__.initialize.apply(this, arguments),
|
||||
height = this.get('height'), width = this.get('width'),
|
||||
save = this.get('id') === 'controlbox' ? this.set.bind(this) : this.save.bind(this);
|
||||
|
@ -109,6 +110,7 @@
|
|||
/* Determine and store the default box size.
|
||||
* We need this information for the drag-resizing feature.
|
||||
*/
|
||||
var _converse = this.__super__._converse;
|
||||
var $flyout = this.$el.find('.box-flyout');
|
||||
if (_.isUndefined(this.model.get('height'))) {
|
||||
var height = $flyout.height();
|
||||
|
@ -140,6 +142,7 @@
|
|||
},
|
||||
|
||||
setChatBoxHeight: function (height) {
|
||||
var _converse = this.__super__._converse;
|
||||
if (height) {
|
||||
height = _converse.applyDragResistance(height, this.model.get('default_height'))+'px';
|
||||
} else {
|
||||
|
@ -149,6 +152,7 @@
|
|||
},
|
||||
|
||||
setChatBoxWidth: function (width) {
|
||||
var _converse = this.__super__._converse;
|
||||
if (width) {
|
||||
width = _converse.applyDragResistance(width, this.model.get('default_width'))+'px';
|
||||
} else {
|
||||
|
@ -176,6 +180,7 @@
|
|||
},
|
||||
|
||||
onStartVerticalResize: function (ev) {
|
||||
var _converse = this.__super__._converse;
|
||||
if (!_converse.allow_dragresize) { return true; }
|
||||
// Record element attributes for mouseMove().
|
||||
this.height = this.$el.children('.box-flyout').height();
|
||||
|
@ -187,6 +192,7 @@
|
|||
},
|
||||
|
||||
onStartHorizontalResize: function (ev) {
|
||||
var _converse = this.__super__._converse;
|
||||
if (!_converse.allow_dragresize) { return true; }
|
||||
this.width = this.$el.children('.box-flyout').width();
|
||||
_converse.resizing = {
|
||||
|
@ -197,6 +203,7 @@
|
|||
},
|
||||
|
||||
onStartDiagonalResize: function (ev) {
|
||||
var _converse = this.__super__._converse;
|
||||
this.onStartHorizontalResize(ev);
|
||||
this.onStartVerticalResize(ev);
|
||||
_converse.resizing.direction = 'topleft';
|
||||
|
@ -204,6 +211,7 @@
|
|||
|
||||
resizeChatBox: function (ev) {
|
||||
var diff;
|
||||
var _converse = this.__super__._converse;
|
||||
if (_converse.resizing.direction.indexOf('top') === 0) {
|
||||
diff = ev.pageY - this.prev_pageY;
|
||||
if (diff) {
|
||||
|
@ -286,6 +294,7 @@
|
|||
},
|
||||
|
||||
renderDragResizeHandles: function () {
|
||||
var _converse = this.__super__._converse;
|
||||
var flyout = this.el.querySelector('.box-flyout');
|
||||
var div = document.createElement('div');
|
||||
div.innerHTML = _converse.templates.dragresize();
|
||||
|
@ -302,9 +311,14 @@
|
|||
* loaded by converse.js's plugin machinery.
|
||||
*/
|
||||
var _converse = this._converse;
|
||||
|
||||
// Add new HTML template
|
||||
_converse.templates.dragresize = tpl_dragresize;
|
||||
|
||||
this.updateSettings({
|
||||
allow_dragresize: true,
|
||||
});
|
||||
|
||||
_converse.applyDragResistance = function (value, default_value) {
|
||||
/* This method applies some resistance around the
|
||||
* default_value. If value is close enough to
|
||||
|
|
|
@ -8,33 +8,15 @@
|
|||
|
||||
(function (root, factory) {
|
||||
define("converse-headline", [
|
||||
"converse-core",
|
||||
"converse-api",
|
||||
"converse-chatview"
|
||||
], factory);
|
||||
}(this, function (_converse, converse_api) {
|
||||
}(this, function (converse) {
|
||||
"use strict";
|
||||
var _ = converse_api.env._,
|
||||
utils = converse_api.env.utils,
|
||||
__ = utils.__.bind(_converse);
|
||||
var _ = converse.env._,
|
||||
utils = converse.env.utils;
|
||||
|
||||
var onHeadlineMessage = function (message) {
|
||||
/* Handler method for all incoming messages of type "headline".
|
||||
*/
|
||||
var from_jid = message.getAttribute('from');
|
||||
if (utils.isHeadlineMessage(message)) {
|
||||
_converse.chatboxes.create({
|
||||
'id': from_jid,
|
||||
'jid': from_jid,
|
||||
'fullname': from_jid,
|
||||
'type': 'headline'
|
||||
}).createMessage(message, undefined, message);
|
||||
_converse.emit('message', message);
|
||||
}
|
||||
return true;
|
||||
};
|
||||
|
||||
converse_api.plugins.add('converse-headline', {
|
||||
converse.plugins.add('converse-headline', {
|
||||
|
||||
overrides: {
|
||||
// Overrides mentioned here will be picked up by converse.js's
|
||||
|
@ -45,6 +27,7 @@
|
|||
|
||||
ChatBoxViews: {
|
||||
onChatBoxAdded: function (item) {
|
||||
var _converse = this.__super__._converse;
|
||||
var view = this.get(item.get('id'));
|
||||
if (!view && item.get('type') === 'headline') {
|
||||
view = new _converse.HeadlinesBoxView({model: item});
|
||||
|
@ -61,6 +44,9 @@
|
|||
/* The initialize function gets called as soon as the plugin is
|
||||
* loaded by converse.js's plugin machinery.
|
||||
*/
|
||||
var _converse = this._converse,
|
||||
__ = _converse.__;
|
||||
|
||||
_converse.HeadlinesBoxView = _converse.ChatBoxView.extend({
|
||||
className: 'chatbox headlines',
|
||||
|
||||
|
@ -101,6 +87,22 @@
|
|||
}
|
||||
});
|
||||
|
||||
var onHeadlineMessage = function (message) {
|
||||
/* Handler method for all incoming messages of type "headline".
|
||||
*/
|
||||
var from_jid = message.getAttribute('from');
|
||||
if (utils.isHeadlineMessage(message)) {
|
||||
_converse.chatboxes.create({
|
||||
'id': from_jid,
|
||||
'jid': from_jid,
|
||||
'fullname': from_jid,
|
||||
'type': 'headline'
|
||||
}).createMessage(message, undefined, message);
|
||||
_converse.emit('message', message);
|
||||
}
|
||||
return true;
|
||||
};
|
||||
|
||||
var registerHeadlineHandler = function () {
|
||||
_converse.connection.addHandler(
|
||||
onHeadlineMessage, null, 'message');
|
||||
|
|
|
@ -10,19 +10,18 @@
|
|||
|
||||
(function (root, factory) {
|
||||
define("converse-mam", [
|
||||
"converse-core",
|
||||
"converse-api",
|
||||
"converse-chatview", // Could be made a soft dependency
|
||||
"converse-muc", // Could be made a soft dependency
|
||||
"strophe.rsm"
|
||||
], factory);
|
||||
}(this, function (_converse, converse_api) {
|
||||
}(this, function (converse) {
|
||||
"use strict";
|
||||
var $ = converse_api.env.jQuery,
|
||||
Strophe = converse_api.env.Strophe,
|
||||
$iq = converse_api.env.$iq,
|
||||
_ = converse_api.env._,
|
||||
moment = converse_api.env.moment;
|
||||
var $ = converse.env.jQuery,
|
||||
Strophe = converse.env.Strophe,
|
||||
$iq = converse.env.$iq,
|
||||
_ = converse.env._,
|
||||
moment = converse.env.moment;
|
||||
|
||||
var RSM_ATTRIBUTES = ['max', 'first', 'last', 'after', 'before', 'index', 'count'];
|
||||
// XEP-0313 Message Archive Management
|
||||
|
@ -32,7 +31,7 @@
|
|||
Strophe.addNamespace('RSM', 'http://jabber.org/protocol/rsm');
|
||||
|
||||
|
||||
converse_api.plugins.add('converse-mam', {
|
||||
converse.plugins.add('converse-mam', {
|
||||
|
||||
overrides: {
|
||||
// Overrides mentioned here will be picked up by converse.js's
|
||||
|
@ -43,6 +42,7 @@
|
|||
|
||||
Features: {
|
||||
addClientFeatures: function () {
|
||||
var _converse = this.__super__._converse;
|
||||
_converse.connection.disco.addFeature(Strophe.NS.MAM);
|
||||
return this.__super__.addClientFeatures.apply(this, arguments);
|
||||
}
|
||||
|
@ -66,6 +66,7 @@
|
|||
},
|
||||
|
||||
afterMessagesFetched: function () {
|
||||
var _converse = this.__super__._converse;
|
||||
if (this.disable_mam || !_converse.features.findWhere({'var': Strophe.NS.MAM})) {
|
||||
return this.__super__.afterMessagesFetched.apply(this, arguments);
|
||||
}
|
||||
|
@ -88,6 +89,7 @@
|
|||
* Then, upon receiving them, call onMessage on the chat box,
|
||||
* so that they are displayed inside it.
|
||||
*/
|
||||
var _converse = this.__super__._converse;
|
||||
if (!_converse.features.findWhere({'var': Strophe.NS.MAM})) {
|
||||
_converse.log("Attempted to fetch archived messages but this user's server doesn't support XEP-0313");
|
||||
return;
|
||||
|
@ -110,6 +112,7 @@
|
|||
},
|
||||
|
||||
onScroll: function (ev) {
|
||||
var _converse = this.__super__._converse;
|
||||
if ($(ev.target).scrollTop() === 0 && this.model.messages.length) {
|
||||
this.fetchArchivedMessages({
|
||||
'before': this.model.messages.at(0).get('archive_id'),
|
||||
|
@ -138,6 +141,8 @@
|
|||
/* The initialize function gets called as soon as the plugin is
|
||||
* loaded by Converse.js's plugin machinery.
|
||||
*/
|
||||
var _converse = this._converse;
|
||||
|
||||
this.updateSettings({
|
||||
archived_messages_page_size: '20',
|
||||
message_archiving: 'never', // Supported values are 'always', 'never', 'roster' (https://xmpp.org/extensions/xep-0313.html#prefs)
|
||||
|
|
|
@ -8,7 +8,6 @@
|
|||
|
||||
(function (root, factory) {
|
||||
define("converse-minimize", [
|
||||
"converse-core",
|
||||
"converse-api",
|
||||
"tpl!chatbox_minimize",
|
||||
"tpl!toggle_chats",
|
||||
|
@ -19,27 +18,19 @@
|
|||
"converse-muc"
|
||||
], factory);
|
||||
}(this, function (
|
||||
_converse,
|
||||
converse_api,
|
||||
converse,
|
||||
tpl_chatbox_minimize,
|
||||
tpl_toggle_chats,
|
||||
tpl_trimmed_chat,
|
||||
tpl_chats_panel
|
||||
) {
|
||||
"use strict";
|
||||
_converse.templates.chatbox_minimize = tpl_chatbox_minimize;
|
||||
_converse.templates.toggle_chats = tpl_toggle_chats;
|
||||
_converse.templates.trimmed_chat = tpl_trimmed_chat;
|
||||
_converse.templates.chats_panel = tpl_chats_panel;
|
||||
var $ = converse.env.jQuery,
|
||||
_ = converse.env._,
|
||||
b64_sha1 = converse.env.b64_sha1,
|
||||
moment = converse.env.moment;
|
||||
|
||||
var $ = converse_api.env.jQuery,
|
||||
_ = converse_api.env._,
|
||||
b64_sha1 = converse_api.env.b64_sha1,
|
||||
moment = converse_api.env.moment,
|
||||
utils = converse_api.env.utils,
|
||||
__ = utils.__.bind(_converse);
|
||||
|
||||
converse_api.plugins.add('converse-minimize', {
|
||||
converse.plugins.add('converse-minimize', {
|
||||
|
||||
overrides: {
|
||||
// Overrides mentioned here will be picked up by converse.js's
|
||||
|
@ -49,6 +40,7 @@
|
|||
// New functions which don't exist yet can also be added.
|
||||
|
||||
initChatBoxes: function () {
|
||||
var _converse = this.__super__._converse;
|
||||
var result = this.__super__.initChatBoxes.apply(this, arguments);
|
||||
_converse.minimized_chats = new _converse.MinimizedChats({
|
||||
model: _converse.chatboxes
|
||||
|
@ -57,6 +49,7 @@
|
|||
},
|
||||
|
||||
registerGlobalEventHandlers: function () {
|
||||
var _converse = this.__super__._converse;
|
||||
$(window).on("resize", _.debounce(function (ev) {
|
||||
if (_converse.connection.connected) {
|
||||
_converse.chatboxviews.trimChats();
|
||||
|
@ -114,6 +107,7 @@
|
|||
},
|
||||
|
||||
_show: function () {
|
||||
var _converse = this.__super__._converse;
|
||||
this.__super__._show.apply(this, arguments);
|
||||
if (!this.model.get('minimized')) {
|
||||
_converse.chatboxviews.trimChats(this);
|
||||
|
@ -147,6 +141,7 @@
|
|||
|
||||
maximize: function () {
|
||||
// Restores a minimized chat box
|
||||
var _converse = this.__super__._converse;
|
||||
this.$el.insertAfter(_converse.chatboxviews.get("controlbox").$el);
|
||||
this.show();
|
||||
_converse.emit('chatBoxMaximized', this);
|
||||
|
@ -154,6 +149,7 @@
|
|||
},
|
||||
|
||||
minimize: function (ev) {
|
||||
var _converse = this.__super__._converse;
|
||||
if (ev && ev.preventDefault) { ev.preventDefault(); }
|
||||
// save the scroll position to restore it on maximize
|
||||
this.model.save({'scroll': this.$content.scrollTop()});
|
||||
|
@ -184,6 +180,8 @@
|
|||
},
|
||||
|
||||
generateHeadingHTML: function () {
|
||||
var _converse = this.__super__._converse,
|
||||
__ = _converse.__;
|
||||
var html = this.__super__.generateHeadingHTML.apply(this, arguments);
|
||||
var div = document.createElement('div');
|
||||
div.innerHTML = html;
|
||||
|
@ -243,6 +241,7 @@
|
|||
* another chat box. Otherwise it minimizes the oldest chat box
|
||||
* to create space.
|
||||
*/
|
||||
var _converse = this.__super__._converse;
|
||||
var shown_chats = this.getShownChats();
|
||||
if (_converse.no_trimming || shown_chats.length <= 1) {
|
||||
return;
|
||||
|
@ -301,6 +300,15 @@
|
|||
/* The initialize function gets called as soon as the plugin is
|
||||
* loaded by Converse.js's plugin machinery.
|
||||
*/
|
||||
var _converse = this._converse,
|
||||
__ = _converse.__;
|
||||
|
||||
// Add new HTML templates.
|
||||
_converse.templates.chatbox_minimize = tpl_chatbox_minimize;
|
||||
_converse.templates.toggle_chats = tpl_toggle_chats;
|
||||
_converse.templates.trimmed_chat = tpl_trimmed_chat;
|
||||
_converse.templates.chats_panel = tpl_chats_panel;
|
||||
|
||||
this.updateSettings({
|
||||
no_trimming: false, // Set to true for phantomjs tests (where browser apparently has no width)
|
||||
});
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
], factory);
|
||||
}(this, function (
|
||||
_converse,
|
||||
converse_api,
|
||||
converse,
|
||||
tpl_chatarea,
|
||||
tpl_chatroom,
|
||||
tpl_chatroom_form,
|
||||
|
@ -66,17 +66,17 @@
|
|||
var ROOMS_PANEL_ID = 'chatrooms';
|
||||
|
||||
// Strophe methods for building stanzas
|
||||
var Strophe = converse_api.env.Strophe,
|
||||
$iq = converse_api.env.$iq,
|
||||
$build = converse_api.env.$build,
|
||||
$msg = converse_api.env.$msg,
|
||||
$pres = converse_api.env.$pres,
|
||||
b64_sha1 = converse_api.env.b64_sha1,
|
||||
utils = converse_api.env.utils;
|
||||
var Strophe = converse.env.Strophe,
|
||||
$iq = converse.env.$iq,
|
||||
$build = converse.env.$build,
|
||||
$msg = converse.env.$msg,
|
||||
$pres = converse.env.$pres,
|
||||
b64_sha1 = converse.env.b64_sha1,
|
||||
utils = converse.env.utils;
|
||||
// Other necessary globals
|
||||
var $ = converse_api.env.jQuery,
|
||||
_ = converse_api.env._,
|
||||
moment = converse_api.env.moment;
|
||||
var $ = converse.env.jQuery,
|
||||
_ = converse.env._,
|
||||
moment = converse.env.moment;
|
||||
|
||||
// For translations
|
||||
var __ = utils.__.bind(_converse);
|
||||
|
@ -89,7 +89,7 @@
|
|||
Strophe.addNamespace('MUC_ROOMCONF', Strophe.NS.MUC + "#roomconfig");
|
||||
Strophe.addNamespace('MUC_USER', Strophe.NS.MUC + "#user");
|
||||
|
||||
converse_api.plugins.add('converse-muc', {
|
||||
converse.plugins.add('converse-muc', {
|
||||
/* Optional dependencies are other plugins which might be
|
||||
* overridden or relied upon, if they exist, otherwise they're ignored.
|
||||
*
|
||||
|
|
|
@ -7,25 +7,26 @@
|
|||
/*global define */
|
||||
|
||||
(function (root, factory) {
|
||||
define("converse-notification", ["converse-core", "converse-api"], factory);
|
||||
}(this, function (_converse, converse_api) {
|
||||
define("converse-notification", ["converse-api"], factory);
|
||||
}(this, function (converse) {
|
||||
"use strict";
|
||||
var $ = converse_api.env.jQuery,
|
||||
utils = converse_api.env.utils,
|
||||
Strophe = converse_api.env.Strophe,
|
||||
_ = converse_api.env._;
|
||||
// For translations
|
||||
var __ = utils.__.bind(_converse);
|
||||
var ___ = utils.___;
|
||||
var $ = converse.env.jQuery,
|
||||
utils = converse.env.utils,
|
||||
Strophe = converse.env.Strophe,
|
||||
_ = converse.env._;
|
||||
|
||||
|
||||
converse_api.plugins.add('converse-notification', {
|
||||
converse.plugins.add('converse-notification', {
|
||||
|
||||
initialize: function () {
|
||||
/* The initialize function gets called as soon as the plugin is
|
||||
* loaded by converse.js's plugin machinery.
|
||||
*/
|
||||
var _converse = this._converse;
|
||||
|
||||
// For translations
|
||||
var __ = _converse.__;
|
||||
var ___ = _converse.___;
|
||||
|
||||
_converse.supports_html5_notification = "Notification" in window;
|
||||
|
||||
this.updateSettings({
|
||||
|
|
|
@ -12,23 +12,18 @@
|
|||
(function (root, factory) {
|
||||
define("converse-otr", [
|
||||
"otr",
|
||||
"converse-core",
|
||||
"converse-api",
|
||||
"tpl!toolbar_otr"
|
||||
], factory);
|
||||
}(this, function (otr, _converse, converse_api, tpl_toolbar_otr) {
|
||||
}(this, function (otr, converse, tpl_toolbar_otr) {
|
||||
"use strict";
|
||||
_converse.templates.toolbar_otr = tpl_toolbar_otr;
|
||||
// Strophe methods for building stanzas
|
||||
var Strophe = converse_api.env.Strophe,
|
||||
utils = converse_api.env.utils,
|
||||
b64_sha1 = converse_api.env.b64_sha1;
|
||||
var Strophe = converse.env.Strophe,
|
||||
utils = converse.env.utils,
|
||||
b64_sha1 = converse.env.b64_sha1;
|
||||
// Other necessary globals
|
||||
var $ = converse_api.env.jQuery,
|
||||
_ = converse_api.env._;
|
||||
|
||||
// For translations
|
||||
var __ = utils.__.bind(_converse);
|
||||
var $ = converse.env.jQuery,
|
||||
_ = converse.env._;
|
||||
|
||||
var HAS_CSPRNG = ((!_.isUndefined(crypto)) &&
|
||||
((_.isFunction(crypto.randomBytes)) || (_.isFunction(crypto.getRandomValues))
|
||||
|
@ -51,7 +46,7 @@
|
|||
OTR_CLASS_MAPPING[VERIFIED] = 'verified';
|
||||
OTR_CLASS_MAPPING[FINISHED] = 'finished';
|
||||
|
||||
converse_api.plugins.add('converse-otr', {
|
||||
converse.plugins.add('converse-otr', {
|
||||
|
||||
overrides: {
|
||||
// Overrides mentioned here will be picked up by converse.js's
|
||||
|
@ -135,7 +130,8 @@
|
|||
},
|
||||
|
||||
getSession: function (callback) {
|
||||
var _converse = this.__super__._converse;
|
||||
var _converse = this.__super__._converse,
|
||||
__ = _converse.__;
|
||||
var cipher = CryptoJS.lib.PasswordBasedCipher;
|
||||
var pass, instance_tag, saved_key, pass_check;
|
||||
if (_converse.cache_otr_key) {
|
||||
|
@ -195,6 +191,8 @@
|
|||
onSMP: function (type, data) {
|
||||
// Event handler for SMP (Socialist's Millionaire Protocol)
|
||||
// used by OTR (off-the-record).
|
||||
var _converse = this.__super__._converse,
|
||||
__ = _converse.__;
|
||||
switch (type) {
|
||||
case 'question':
|
||||
this.otr.smpSecret(prompt(__(
|
||||
|
@ -224,6 +222,8 @@
|
|||
// If 'query_msg' is passed in, it means there is an alread incoming
|
||||
// query message from our contact. Otherwise, it is us who will
|
||||
// send the query message to them.
|
||||
var _converse = this.__super__._converse,
|
||||
__ = _converse.__;
|
||||
this.save({'otr_status': UNENCRYPTED});
|
||||
this.getSession(function (session) {
|
||||
var _converse = this.__super__._converse;
|
||||
|
@ -331,8 +331,10 @@
|
|||
},
|
||||
|
||||
informOTRChange: function () {
|
||||
var data = this.model.toJSON();
|
||||
var msgs = [];
|
||||
var _converse = this.__super__._converse,
|
||||
__ = _converse.__,
|
||||
data = this.model.toJSON(),
|
||||
msgs = [];
|
||||
if (data.otr_status === UNENCRYPTED) {
|
||||
msgs.push(__("Your messages are not encrypted anymore"));
|
||||
} else if (data.otr_status === UNVERIFIED) {
|
||||
|
@ -346,7 +348,8 @@
|
|||
},
|
||||
|
||||
showOTRError: function (msg) {
|
||||
var _converse = this.__super__._converse;
|
||||
var _converse = this.__super__._converse,
|
||||
__ = _converse.__;
|
||||
if (msg === 'Message cannot be sent at this time.') {
|
||||
this.showHelpMessages(
|
||||
[__('Your message could not be sent')], 'error');
|
||||
|
@ -378,9 +381,10 @@
|
|||
},
|
||||
|
||||
authOTR: function (ev) {
|
||||
var _converse = this.__super__._converse;
|
||||
var scheme = $(ev.target).data().scheme;
|
||||
var result, question, answer;
|
||||
var _converse = this.__super__._converse,
|
||||
__ = _converse.__,
|
||||
scheme = $(ev.target).data().scheme,
|
||||
result, question, answer;
|
||||
if (scheme === 'fingerprint') {
|
||||
result = confirm(__('Here are the fingerprints, please confirm them with %1$s, outside of this chat.\n\nFingerprint for you, %2$s: %3$s\n\nFingerprint for %1$s: %4$s\n\nIf you have confirmed that the fingerprints match, click OK, otherwise click Cancel.', [
|
||||
this.model.get('fullname'),
|
||||
|
@ -412,7 +416,9 @@
|
|||
},
|
||||
|
||||
getOTRTooltip: function () {
|
||||
var data = this.model.toJSON();
|
||||
var _converse = this.__super__._converse,
|
||||
__ = _converse.__,
|
||||
data = this.model.toJSON();
|
||||
if (data.otr_status === UNENCRYPTED) {
|
||||
return __('Your messages are not encrypted. Click here to enable OTR encryption.');
|
||||
} else if (data.otr_status === UNVERIFIED) {
|
||||
|
@ -425,7 +431,8 @@
|
|||
},
|
||||
|
||||
renderToolbar: function (toolbar, options) {
|
||||
var _converse = this.__super__._converse;
|
||||
var _converse = this.__super__._converse,
|
||||
__ = _converse.__;
|
||||
if (!_converse.show_toolbar) {
|
||||
return;
|
||||
}
|
||||
|
@ -461,7 +468,12 @@
|
|||
/* The initialize function gets called as soon as the plugin is
|
||||
* loaded by converse.js's plugin machinery.
|
||||
*/
|
||||
var _converse = this._converse;
|
||||
var _converse = this._converse,
|
||||
__ = _converse.__;
|
||||
|
||||
// Add new HTML template
|
||||
_converse.templates.toolbar_otr = tpl_toolbar_otr;
|
||||
|
||||
// Translation aware constants
|
||||
// ---------------------------
|
||||
// We can only call the __ translation method *after* converse.js
|
||||
|
|
|
@ -11,16 +11,15 @@
|
|||
*/
|
||||
(function (root, factory) {
|
||||
define("converse-ping", [
|
||||
"converse-core",
|
||||
"converse-api",
|
||||
"strophe.ping"
|
||||
], factory);
|
||||
}(this, function (_converse, converse_api) {
|
||||
}(this, function (converse) {
|
||||
"use strict";
|
||||
// Strophe methods for building stanzas
|
||||
var Strophe = converse_api.env.Strophe;
|
||||
var Strophe = converse.env.Strophe;
|
||||
|
||||
converse_api.plugins.add('converse-ping', {
|
||||
converse.plugins.add('converse-ping', {
|
||||
|
||||
initialize: function () {
|
||||
/* The initialize function gets called as soon as the plugin is
|
||||
|
|
|
@ -11,7 +11,6 @@
|
|||
*/
|
||||
(function (root, factory) {
|
||||
define("converse-register", [
|
||||
"converse-core",
|
||||
"converse-api",
|
||||
"tpl!form_username",
|
||||
"tpl!register_panel",
|
||||
|
@ -21,8 +20,7 @@
|
|||
"converse-controlbox"
|
||||
], factory);
|
||||
}(this, function (
|
||||
_converse,
|
||||
converse_api,
|
||||
converse,
|
||||
tpl_form_username,
|
||||
tpl_register_panel,
|
||||
tpl_register_tab,
|
||||
|
@ -30,21 +28,14 @@
|
|||
tpl_registration_request) {
|
||||
|
||||
"use strict";
|
||||
_converse.templates.form_username = tpl_form_username;
|
||||
_converse.templates.register_panel = tpl_register_panel;
|
||||
_converse.templates.register_tab = tpl_register_tab;
|
||||
_converse.templates.registration_form = tpl_registration_form;
|
||||
_converse.templates.registration_request = tpl_registration_request;
|
||||
|
||||
// Strophe methods for building stanzas
|
||||
var Strophe = converse_api.env.Strophe,
|
||||
utils = converse_api.env.utils,
|
||||
$iq = converse_api.env.$iq;
|
||||
var Strophe = converse.env.Strophe,
|
||||
utils = converse.env.utils,
|
||||
$iq = converse.env.$iq;
|
||||
// Other necessary globals
|
||||
var $ = converse_api.env.jQuery,
|
||||
_ = converse_api.env._;
|
||||
// For translations
|
||||
var __ = utils.__.bind(_converse);
|
||||
var $ = converse.env.jQuery,
|
||||
_ = converse.env._;
|
||||
|
||||
// Add Strophe Namespaces
|
||||
Strophe.addNamespace('REGISTER', 'jabber:iq:register');
|
||||
|
@ -59,7 +50,7 @@
|
|||
Strophe.Status.CONFLICT = i + 3;
|
||||
Strophe.Status.NOTACCEPTABLE = i + 5;
|
||||
|
||||
converse_api.plugins.add('converse-register', {
|
||||
converse.plugins.add('converse-register', {
|
||||
|
||||
overrides: {
|
||||
// Overrides mentioned here will be picked up by converse.js's
|
||||
|
@ -92,7 +83,15 @@
|
|||
/* The initialize function gets called as soon as the plugin is
|
||||
* loaded by converse.js's plugin machinery.
|
||||
*/
|
||||
var _converse = this._converse;
|
||||
var _converse = this._converse,
|
||||
__ = _converse.__;
|
||||
|
||||
// Add new templates
|
||||
_converse.templates.form_username = tpl_form_username;
|
||||
_converse.templates.register_panel = tpl_register_panel;
|
||||
_converse.templates.register_tab = tpl_register_tab;
|
||||
_converse.templates.registration_form = tpl_registration_form;
|
||||
_converse.templates.registration_request = tpl_registration_request;
|
||||
|
||||
this.updateSettings({
|
||||
allow_registration: true,
|
||||
|
@ -100,7 +99,6 @@
|
|||
providers_link: 'https://xmpp.net/directory.php', // Link to XMPP providers shown on registration page
|
||||
});
|
||||
|
||||
|
||||
_converse.RegisterPanel = Backbone.View.extend({
|
||||
tagName: 'div',
|
||||
id: "register",
|
||||
|
|
|
@ -8,7 +8,6 @@
|
|||
|
||||
(function (root, factory) {
|
||||
define("converse-rosterview", [
|
||||
"converse-core",
|
||||
"converse-api",
|
||||
"tpl!group_header",
|
||||
"tpl!pending_contact",
|
||||
|
@ -17,29 +16,21 @@
|
|||
"tpl!roster_item"
|
||||
], factory);
|
||||
}(this, function (
|
||||
_converse,
|
||||
converse_api,
|
||||
converse,
|
||||
tpl_group_header,
|
||||
tpl_pending_contact,
|
||||
tpl_requesting_contact,
|
||||
tpl_roster,
|
||||
tpl_roster_item) {
|
||||
"use strict";
|
||||
_converse.templates.group_header = tpl_group_header;
|
||||
_converse.templates.pending_contact = tpl_pending_contact;
|
||||
_converse.templates.requesting_contact = tpl_requesting_contact;
|
||||
_converse.templates.roster = tpl_roster;
|
||||
_converse.templates.roster_item = tpl_roster_item;
|
||||
var $ = converse.env.jQuery,
|
||||
utils = converse.env.utils,
|
||||
Strophe = converse.env.Strophe,
|
||||
$iq = converse.env.$iq,
|
||||
b64_sha1 = converse.env.b64_sha1,
|
||||
_ = converse.env._;
|
||||
|
||||
var $ = converse_api.env.jQuery,
|
||||
utils = converse_api.env.utils,
|
||||
Strophe = converse_api.env.Strophe,
|
||||
$iq = converse_api.env.$iq,
|
||||
b64_sha1 = converse_api.env.b64_sha1,
|
||||
_ = converse_api.env._,
|
||||
__ = utils.__.bind(_converse);
|
||||
|
||||
converse_api.plugins.add('rosterview', {
|
||||
converse.plugins.add('rosterview', {
|
||||
|
||||
overrides: {
|
||||
// Overrides mentioned here will be picked up by converse.js's
|
||||
|
@ -66,6 +57,7 @@
|
|||
comparator: function () {
|
||||
// RosterGroupsComparator only gets set later (once i18n is
|
||||
// set up), so we need to wrap it in this nameless function.
|
||||
var _converse = this.__super__._converse;
|
||||
return _converse.RosterGroupsComparator.apply(this, arguments);
|
||||
}
|
||||
}
|
||||
|
@ -76,6 +68,16 @@
|
|||
/* The initialize function gets called as soon as the plugin is
|
||||
* loaded by converse.js's plugin machinery.
|
||||
*/
|
||||
var _converse = this._converse,
|
||||
__ = _converse.__;
|
||||
|
||||
// Add new HTML templates
|
||||
_converse.templates.group_header = tpl_group_header;
|
||||
_converse.templates.pending_contact = tpl_pending_contact;
|
||||
_converse.templates.requesting_contact = tpl_requesting_contact;
|
||||
_converse.templates.roster = tpl_roster;
|
||||
_converse.templates.roster_item = tpl_roster_item;
|
||||
|
||||
this.updateSettings({
|
||||
allow_chat_pending_contacts: true,
|
||||
allow_contact_removal: true,
|
||||
|
|
|
@ -8,18 +8,17 @@
|
|||
|
||||
(function (root, factory) {
|
||||
define("converse-vcard", [
|
||||
"converse-core",
|
||||
"converse-api",
|
||||
"strophe.vcard",
|
||||
], factory);
|
||||
}(this, function (_converse, converse_api) {
|
||||
}(this, function (converse) {
|
||||
"use strict";
|
||||
var Strophe = converse_api.env.Strophe,
|
||||
$ = converse_api.env.jQuery,
|
||||
_ = converse_api.env._,
|
||||
moment = converse_api.env.moment;
|
||||
var Strophe = converse.env.Strophe,
|
||||
$ = converse.env.jQuery,
|
||||
_ = converse.env._,
|
||||
moment = converse.env.moment;
|
||||
|
||||
converse_api.plugins.add('converse-vcard', {
|
||||
converse.plugins.add('converse-vcard', {
|
||||
|
||||
overrides: {
|
||||
// Overrides mentioned here will be picked up by converse.js's
|
||||
|
@ -30,6 +29,7 @@
|
|||
|
||||
Features: {
|
||||
addClientFeatures: function () {
|
||||
var _converse = this.__super__._converse;
|
||||
this.__super__.addClientFeatures.apply(this, arguments);
|
||||
if (_converse.use_vcards) {
|
||||
_converse.connection.disco.addFeature(Strophe.NS.VCARD);
|
||||
|
@ -39,6 +39,7 @@
|
|||
|
||||
RosterContacts: {
|
||||
createRequestingContact: function (presence) {
|
||||
var _converse = this.__super__._converse;
|
||||
var bare_jid = Strophe.getBareJidFromJid(presence.getAttribute('from'));
|
||||
_converse.getVCard(
|
||||
bare_jid,
|
||||
|
@ -57,6 +58,7 @@
|
|||
/* The initialize function gets called as soon as the plugin is
|
||||
* loaded by converse.js's plugin machinery.
|
||||
*/
|
||||
var _converse = this._converse;
|
||||
this.updateSettings({
|
||||
use_vcards: true,
|
||||
});
|
||||
|
|
|
@ -34,9 +34,9 @@ if (typeof define !== 'undefined') {
|
|||
"converse-headline", // Support for headline messages
|
||||
/* END: Removable components */
|
||||
|
||||
], function(converse_api) {
|
||||
converse_api.env.jQuery(window).trigger('converse-loaded', converse_api);
|
||||
window.converse = converse_api;
|
||||
return converse_api;
|
||||
], function(converse) {
|
||||
converse.env.jQuery(window).trigger('converse-loaded', converse);
|
||||
window.converse = converse;
|
||||
return converse;
|
||||
});
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user