mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-01-15 01:17:16 -05:00
webui: personal chat
This commit is contained in:
parent
b8a8f34a48
commit
f29f1b21af
@ -14,24 +14,51 @@ function dspmsg(from, when, text){
|
|||||||
}
|
}
|
||||||
|
|
||||||
function lobbies(){
|
function lobbies(){
|
||||||
var lobs = rs("chat/lobbies");
|
return [
|
||||||
if (lobs === undefined) {
|
rs.list("chat/lobbies",function(lobby){
|
||||||
return m("div","loading ...")
|
return m("div.btn",{
|
||||||
};
|
title: "topic: " + lobby.topic + "\n"
|
||||||
var dta = lobs.map(function (lobby){
|
+ "subscribed: " + lobby.subscribed,
|
||||||
return m("div.btn",{
|
style: {
|
||||||
title: "topic: " + lobby.topic + "\n"
|
backgroundColor: lobby.subscribed ? 'blue' : 'darkred',
|
||||||
+ "subscribed: " + lobby.subscribed,
|
},
|
||||||
style: {
|
onclick: function(){
|
||||||
backgroundColor: lobby.subscribed ? 'blue' : 'darkred',
|
m.route("/chat?lobby=" + lobby.chat_id);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
onclick: function(){
|
lobby.name + (
|
||||||
m.route("/chat?lobby=" + lobby.chat_id);
|
lobby.unread_msg_count > 0
|
||||||
}
|
? ("(" + lobby.unread_msg_count + ")")
|
||||||
},lobby.name + (lobby.unread_msg_count > 0 ? ("(" + lobby.unread_msg_count + ")") : ""));
|
: "")
|
||||||
});
|
);
|
||||||
return dta;
|
},
|
||||||
|
rs.sort.bool("is_broadcast",
|
||||||
|
rs.sort.bool("subscribed",
|
||||||
|
rs.sort("name")))
|
||||||
|
),
|
||||||
|
m("br"),
|
||||||
|
m("h3","peers:"),
|
||||||
|
rs.list("peers",function(peer){
|
||||||
|
return peer.locations.map(function(loc){
|
||||||
|
if (loc.location == "") {
|
||||||
|
return [];
|
||||||
|
};
|
||||||
|
return m("div.btn",{
|
||||||
|
style: {
|
||||||
|
backgroundColor: loc.is_online ? 'blue' : 'darkred',
|
||||||
|
},
|
||||||
|
onclick: function(){
|
||||||
|
m.route("/chat?lobby=" + loc.chat_id);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
peer.name + " / " + loc.location + (
|
||||||
|
lobby.unread_msgs > 0
|
||||||
|
? ("(" + lobby.unread_msgs + ")")
|
||||||
|
: "")
|
||||||
|
);
|
||||||
|
})
|
||||||
|
})
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
function getLobbyDetails(lobbyid){
|
function getLobbyDetails(lobbyid){
|
||||||
@ -44,6 +71,18 @@ function getLobbyDetails(lobbyid){
|
|||||||
return lobs[i];
|
return lobs[i];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
var peers = rs("peers");
|
||||||
|
if (peers === undefined) {
|
||||||
|
return null;
|
||||||
|
};
|
||||||
|
for(var i = 0, l = peers.length; i < l; ++i) {
|
||||||
|
var peer = peers[i];
|
||||||
|
for(var i1 = 0, l1 = peer.locations.length; i1 < l1; ++i1) {
|
||||||
|
if (peer.locations[i1].chat_id == lobbyid) {
|
||||||
|
return peer.locations[i1];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -58,9 +97,9 @@ function sendmsg(msgid){
|
|||||||
|
|
||||||
function lobby(lobbyid){
|
function lobby(lobbyid){
|
||||||
var msgs;
|
var msgs;
|
||||||
var lobby = getLobbyDetails(lobbyid);
|
var lobdt = getLobbyDetails(lobbyid);
|
||||||
var info = rs("chat/info/" + lobbyid);
|
var info = rs("chat/info/" + lobbyid);
|
||||||
if (lobby == null || info === undefined) {
|
if (lobdt == null || info === undefined) {
|
||||||
return m("div","waiting ...");
|
return m("div","waiting ...");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -89,11 +128,11 @@ function lobby(lobbyid){
|
|||||||
});
|
});
|
||||||
|
|
||||||
var intro = [
|
var intro = [
|
||||||
m("h2",lobby.name),
|
m("h2",lobdt.name),
|
||||||
m("p",lobby.topic),
|
m("p",lobdt.topic),
|
||||||
m("hr")
|
m("hr")
|
||||||
]
|
]
|
||||||
if (!lobby.subscribed) {
|
if (lobdt.subscribed != undefined && !lobdt.subscribed) {
|
||||||
return [
|
return [
|
||||||
intro,
|
intro,
|
||||||
m("b","select subscribe identity:"),
|
m("b","select subscribe identity:"),
|
||||||
@ -101,10 +140,10 @@ function lobby(lobbyid){
|
|||||||
rs.list("identity/own", function(item){
|
rs.list("identity/own", function(item){
|
||||||
return m("div.btn2",{
|
return m("div.btn2",{
|
||||||
onclick:function(){
|
onclick:function(){
|
||||||
console.log("subscribe - id:" + lobby.id +", "
|
console.log("subscribe - id:" + lobbyid +", "
|
||||||
+ "gxs_id:" + item.gxs_id)
|
+ "gxs_id:" + item.gxs_id)
|
||||||
rs.request("chat/subscribe_lobby",{
|
rs.request("chat/subscribe_lobby",{
|
||||||
id:lobby.id,
|
id:lobbyid,
|
||||||
gxs_id:item.gxs_id
|
gxs_id:item.gxs_id
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -326,3 +326,19 @@ rs.sort = function(name, innersort){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//return sorting-function for boolean, based on property name
|
||||||
|
rs.sort.bool = function(name, innersort){
|
||||||
|
return function(a,b){
|
||||||
|
if (a[name] == b[name]) {
|
||||||
|
if (innersort === undefined) {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
return innersort(a,b);
|
||||||
|
} else if (a[name]) {
|
||||||
|
return -1
|
||||||
|
} else {
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user