From 537c56ed45d139fbb071434794971f3c46d30e45 Mon Sep 17 00:00:00 2001 From: JC Brand Date: Sat, 28 Jul 2012 16:29:54 +0200 Subject: [PATCH] Rename 'status' to 'presence_type' to avoid confusion. --- converse.js | 76 +++++++++++++++++++++++++++++++---------------------- 1 file changed, 44 insertions(+), 32 deletions(-) diff --git a/converse.js b/converse.js index 30037ee90..0d1c42115 100644 --- a/converse.js +++ b/converse.js @@ -311,15 +311,15 @@ xmppchat.ChatBoxView = Backbone.View.extend({ $('body').append($(this.el).hide()); xmppchat.roster.on('change', function (item, changed) { - if (_.has(changed.changes, 'status')) { + if (_.has(changed.changes, 'presence_type')) { if (this.$el.is(':visible')) { - if (item.get('status') === 'offline') { + if (item.get('presence_type') === 'offline') { this.insertStatusNotification(this.model.get('user_id'), 'has gone offline'); - } else if (item.get('status') === 'away') { + } else if (item.get('presence_type') === 'away') { this.insertStatusNotification(this.model.get('user_id'), 'has gone away'); - } else if (item.get('status') === 'busy') { + } else if ((item.get('presence_type') === 'busy') || (item.get('presence_type') === 'dnd')) { this.insertStatusNotification(this.model.get('user_id'), 'is busy'); - } else if (item.get('status') === 'online') { + } else if (item.get('presence_type') === 'online') { this.$el.find('div.chat-event').remove(); } } @@ -822,6 +822,7 @@ xmppchat.RosterItem = Backbone.Model.extend({ 'subscription': subscription, 'fullname': user_id, 'resources': [], + 'presence_type': 'offline', 'status': 'offline' }, {'silent': true}); } @@ -892,7 +893,7 @@ xmppchat.RosterItemView = Backbone.View.extend({ that = this, subscription = item.get('subscription'); - $(this.el).addClass(item.get('status')).attr('id', 'online-users-'+item.get('user_id')); + $(this.el).addClass(item.get('presence_type')).attr('id', 'online-users-'+item.get('user_id')); if (ask === 'subscribe') { this.$el.addClass('pending-xmpp-contact'); @@ -927,8 +928,8 @@ xmppchat.RosterItemView = Backbone.View.extend({ initialize: function () { this.options.model.on('change', function (item, changed) { - if (_.has(changed.changes, 'status')) { - $(this.el).attr('class', item.changed.status); + if (_.has(changed.changes, 'presence_type')) { + $(this.el).attr('class', item.changed.presence_type); } }, this); } @@ -946,9 +947,9 @@ xmppchat.Roster = (function (_, $, console) { }, comparator : function (rosteritem) { - var status = rosteritem.get('status'), + var presence_type = rosteritem.get('presence_type'), rank = 4; - switch(status) { + switch(presence_type) { case 'offline': rank = 4; break; @@ -961,6 +962,9 @@ xmppchat.Roster = (function (_, $, console) { case 'busy': rank = 1; break; + case 'dnd': + rank = 1; + break; case 'online': rank = 0; break; @@ -990,12 +994,14 @@ xmppchat.Roster = (function (_, $, console) { resources; if (item) { resources = item.get('resources'); - if (_.indexOf(resources, resource) == -1) { - resources.push(resource); - item.set({'resources': resources}); + if (resources) { + if (_.indexOf(resources, resource) == -1) { + resources.push(resource); + item.set({'resources': resources}); + } + } else { + item.set({'resources': [resource]}); } - } else { - item.set({'resources': [resource]}); } }, @@ -1032,7 +1038,7 @@ xmppchat.Roster = (function (_, $, console) { getNumOnlineContacts: function () { var count = 0; for (var i=0; i