New config option `show_only_online_users
`
If true, only users with a status of 'online' will be shown in the contacts roster.
This commit is contained in:
parent
fcc1f5adf4
commit
3bf27e8b5f
@ -4,12 +4,13 @@ Changelog
|
|||||||
0.6.5 (Unreleased)
|
0.6.5 (Unreleased)
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
* Fetch vCards asynchronously once a roster contacts is added [jcbrand]
|
* Fetch vCards asynchronously once a roster contact is added [jcbrand]
|
||||||
* Hungarian translation [w3host]
|
* Hungarian translation [w3host]
|
||||||
* Russian translation [bkocherov]
|
* Russian translation [bkocherov]
|
||||||
* Update CSS to avoid clash with bootstrap [seocam]
|
* Update CSS to avoid clash with bootstrap [seocam]
|
||||||
* Add config option ``allow_muc`` to toggle multi-user chat (MUC) [jcbrand]
|
* New config option ``allow_muc`` toggles multi-user chat (MUC) [jcbrand]
|
||||||
* Add config option ``allow_contact_requests`` to toggle user adding [jcbrand]
|
* New config option ``allow_contact_requests`` toggles user adding [jcbrand]
|
||||||
|
* New config option ``show_only_online_users`` [jcbrand]
|
||||||
|
|
||||||
0.6.4 (2013-09-15)
|
0.6.4 (2013-09-15)
|
||||||
------------------
|
------------------
|
||||||
|
20
converse.js
20
converse.js
@ -57,6 +57,7 @@
|
|||||||
this.i18n = locales.en;
|
this.i18n = locales.en;
|
||||||
this.prebind = false;
|
this.prebind = false;
|
||||||
this.show_controlbox_by_default = false;
|
this.show_controlbox_by_default = false;
|
||||||
|
this.show_only_online_users = false;
|
||||||
this.testing = false; // Exposes sensitive data for testing. Never set to true in production systems!
|
this.testing = false; // Exposes sensitive data for testing. Never set to true in production systems!
|
||||||
this.xhr_custom_status = false;
|
this.xhr_custom_status = false;
|
||||||
this.xhr_user_search = false;
|
this.xhr_user_search = false;
|
||||||
@ -78,6 +79,7 @@
|
|||||||
'prebind',
|
'prebind',
|
||||||
'rid',
|
'rid',
|
||||||
'show_controlbox_by_default',
|
'show_controlbox_by_default',
|
||||||
|
'show_only_online_users',
|
||||||
'sid',
|
'sid',
|
||||||
'testing',
|
'testing',
|
||||||
'xhr_custom_status',
|
'xhr_custom_status',
|
||||||
@ -2225,8 +2227,6 @@
|
|||||||
converse.connection.roster.authorize(bare_jid);
|
converse.connection.roster.authorize(bare_jid);
|
||||||
} else {
|
} else {
|
||||||
if (!this.get(bare_jid)) {
|
if (!this.get(bare_jid)) {
|
||||||
// TODO: we can perhaps do the creation inside
|
|
||||||
// getVCard.
|
|
||||||
converse.getVCard(
|
converse.getVCard(
|
||||||
bare_jid,
|
bare_jid,
|
||||||
$.proxy(function (jid, fullname, img, img_type, url) {
|
$.proxy(function (jid, fullname, img, img_type, url) {
|
||||||
@ -2355,7 +2355,7 @@
|
|||||||
this.model.on("remove", function (item) { this.removeRosterItem(item); }, this);
|
this.model.on("remove", function (item) { this.removeRosterItem(item); }, this);
|
||||||
this.model.on("destroy", function (item) { this.removeRosterItem(item); }, this);
|
this.model.on("destroy", function (item) { this.removeRosterItem(item); }, this);
|
||||||
|
|
||||||
var roster_markup = this.contacts_template()
|
var roster_markup = this.contacts_template();
|
||||||
if (converse.allow_contact_requests) {
|
if (converse.allow_contact_requests) {
|
||||||
roster_markup = this.requesting_contacts_template() + roster_markup + this.pending_contacts_template();
|
roster_markup = this.requesting_contacts_template() + roster_markup + this.pending_contacts_template();
|
||||||
}
|
}
|
||||||
@ -2373,7 +2373,7 @@
|
|||||||
// want to send a presence stanza, so we do it here.
|
// want to send a presence stanza, so we do it here.
|
||||||
converse.xmppstatus.sendPresence();
|
converse.xmppstatus.sendPresence();
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
}); // Get the cached roster items from localstorage
|
}); // Get the cached roster items from localstorage
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -2390,11 +2390,17 @@
|
|||||||
chatbox.save(changes);
|
chatbox.save(changes);
|
||||||
},
|
},
|
||||||
|
|
||||||
renderRosterItem: function () {
|
renderRosterItem: function (item, view) {
|
||||||
|
if (converse.show_only_online_users) {
|
||||||
|
if (item.get('chat_status') !== 'online') {
|
||||||
|
view.$el.remove();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
if ($.contains(document.documentElement, view.el)) {
|
if ($.contains(document.documentElement, view.el)) {
|
||||||
view.render();
|
view.render();
|
||||||
} else {
|
} else {
|
||||||
$my_contacts.after(view.render().el);
|
this.$el.find('#xmpp-contacts').after(view.render().el);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -2418,7 +2424,7 @@
|
|||||||
$contact_requests.after(view.render().el);
|
$contact_requests.after(view.render().el);
|
||||||
$contact_requests.after($contact_requests.siblings('dd.requesting-xmpp-contact').tsort(crit));
|
$contact_requests.after($contact_requests.siblings('dd.requesting-xmpp-contact').tsort(crit));
|
||||||
} else if (subscription === 'both' || subscription === 'to') {
|
} else if (subscription === 'both' || subscription === 'to') {
|
||||||
this.renderRosterItem();
|
this.renderRosterItem(item, view);
|
||||||
}
|
}
|
||||||
changed_presence = view.model.changed.chat_status;
|
changed_presence = view.model.changed.chat_status;
|
||||||
if (changed_presence) {
|
if (changed_presence) {
|
||||||
|
@ -581,6 +581,13 @@ the page with class *toggle-online-users*.
|
|||||||
If this options is set to true, the controlbox will by default be shown upon
|
If this options is set to true, the controlbox will by default be shown upon
|
||||||
page load.
|
page load.
|
||||||
|
|
||||||
|
show_only_online_users
|
||||||
|
----------------------
|
||||||
|
|
||||||
|
Default = ``false``
|
||||||
|
|
||||||
|
If set to ``true``, only online users will be shown in the contacts roster.
|
||||||
|
Users with any other status (e.g. away, busy etc.) will not be shown.
|
||||||
|
|
||||||
xhr_user_search
|
xhr_user_search
|
||||||
---------------
|
---------------
|
||||||
|
Loading…
Reference in New Issue
Block a user