Return all rooms or private chat when caling get
without arguments
This commit is contained in:
parent
be122af3ed
commit
01f576e505
@ -572,6 +572,8 @@ You may also provide the fullname. If not present, we use the jid as fullname:
|
|||||||
The "chats" grouping
|
The "chats" grouping
|
||||||
--------------------
|
--------------------
|
||||||
|
|
||||||
|
Note, for MUC chat rooms, you need to use the "rooms" grouping instead.
|
||||||
|
|
||||||
get
|
get
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
@ -653,12 +655,10 @@ get
|
|||||||
Returns an object representing a multi user chat box (room).
|
Returns an object representing a multi user chat box (room).
|
||||||
It takes 3 parameters:
|
It takes 3 parameters:
|
||||||
|
|
||||||
* the room JID
|
* the room JID (if not specified, all rooms will be returned).
|
||||||
* the user's nickname (if not specified, the node part of the user's JID will be used).
|
* the user's nickname (if not specified, the node part of the user's JID will be used).
|
||||||
* boolean, indicating whether the room should be created if not found (default: `false`)
|
* boolean, indicating whether the room should be created if not found (default: `false`)
|
||||||
|
|
||||||
The last two parameters are optional.
|
|
||||||
|
|
||||||
.. code-block:: javascript
|
.. code-block:: javascript
|
||||||
|
|
||||||
var nick = 'dread-pirate-roberts';
|
var nick = 'dread-pirate-roberts';
|
||||||
|
@ -128,8 +128,15 @@
|
|||||||
},
|
},
|
||||||
'get': function (jids) {
|
'get': function (jids) {
|
||||||
if (typeof jids === "undefined") {
|
if (typeof jids === "undefined") {
|
||||||
converse.log("chats.get: You need to provide at least one JID", "error");
|
var result = [];
|
||||||
return null;
|
converse.chatboxes.each(function (chatbox) {
|
||||||
|
// FIXME: Leaky abstraction from MUC. We need to add a
|
||||||
|
// base type for chat boxes, and check for that.
|
||||||
|
if (chatbox.get('type') !== 'chatroom') {
|
||||||
|
result.push(converse.wrappedChatBox(chatbox));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return result;
|
||||||
} else if (typeof jids === "string") {
|
} else if (typeof jids === "string") {
|
||||||
return converse.wrappedChatBox(converse.chatboxes.getChatBox(jids, true));
|
return converse.wrappedChatBox(converse.chatboxes.getChatBox(jids, true));
|
||||||
}
|
}
|
||||||
|
@ -1432,13 +1432,20 @@
|
|||||||
return _.map(jids, _.partial(_transform, _, nick, fetcher));
|
return _.map(jids, _.partial(_transform, _, nick, fetcher));
|
||||||
},
|
},
|
||||||
'get': function (jids, nick, create) {
|
'get': function (jids, nick, create) {
|
||||||
|
if (typeof jids === "undefined") {
|
||||||
|
var result = [];
|
||||||
|
converse.chatboxes.each(function (chatbox) {
|
||||||
|
if (chatbox.get('type') === 'chatroom') {
|
||||||
|
result.push(converse.wrappedChatBox(chatbox));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return result;
|
||||||
|
}
|
||||||
var fetcher = _.partial(converse.chatboxviews.getChatBox.bind(converse.chatboxviews), _, create);
|
var fetcher = _.partial(converse.chatboxviews.getChatBox.bind(converse.chatboxviews), _, create);
|
||||||
if (!nick) {
|
if (!nick) {
|
||||||
nick = Strophe.getNodeFromJid(converse.bare_jid);
|
nick = Strophe.getNodeFromJid(converse.bare_jid);
|
||||||
}
|
}
|
||||||
if (typeof jids === "undefined") {
|
if (typeof jids === "string") {
|
||||||
throw new TypeError("rooms.get: You need to provide at least one JID");
|
|
||||||
} else if (typeof jids === "string") {
|
|
||||||
return _transform(jids, nick, fetcher);
|
return _transform(jids, nick, fetcher);
|
||||||
}
|
}
|
||||||
return _.map(jids, _.partial(_transform, _, nick, fetcher));
|
return _.map(jids, _.partial(_transform, _, nick, fetcher));
|
||||||
|
Loading…
Reference in New Issue
Block a user