|
|
@ -129,7 +129,7 @@ define(['underscore', 'modernizr', 'avltree', 'text!partials/buddy.html', 'text! |
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
// buddyList
|
|
|
|
// buddyList
|
|
|
|
return ["$window", "$compile", "playSound", "buddyData", "buddySession", "fastScroll", "mediaStream", "animationFrame", function($window, $compile, playSound, buddyData, buddySession, fastScroll, mediaStream, animationFrame) { |
|
|
|
return ["$window", "$compile", "playSound", "buddyData", "buddySession", "fastScroll", "mediaStream", "animationFrame", "$q", function($window, $compile, playSound, buddyData, buddySession, fastScroll, mediaStream, animationFrame, $q) { |
|
|
|
|
|
|
|
|
|
|
|
var buddyTemplate = $compile(templateBuddy); |
|
|
|
var buddyTemplate = $compile(templateBuddy); |
|
|
|
var buddyActions = $compile(templateBuddyActions); |
|
|
|
var buddyActions = $compile(templateBuddyActions); |
|
|
@ -158,16 +158,9 @@ define(['underscore', 'modernizr', 'avltree', 'text!partials/buddy.html', 'text! |
|
|
|
this.hover(buddyElement, event.type === "mouseenter" ? true : false); |
|
|
|
this.hover(buddyElement, event.type === "mouseenter" ? true : false); |
|
|
|
}, this)); |
|
|
|
}, this)); |
|
|
|
$element.on("click", ".buddy", _.bind(function(event) { |
|
|
|
$element.on("click", ".buddy", _.bind(function(event) { |
|
|
|
console.log("click event", event); |
|
|
|
|
|
|
|
var buddyElement = $(event.currentTarget); |
|
|
|
var buddyElement = $(event.currentTarget); |
|
|
|
//buddyElement.scope().doDefault();
|
|
|
|
|
|
|
|
this.click(buddyElement, event.target); |
|
|
|
this.click(buddyElement, event.target); |
|
|
|
}, this)); |
|
|
|
}, this)); |
|
|
|
/*$element.on("click", ".fa.contact", _.bind(function(event) { |
|
|
|
|
|
|
|
event.stopPropagation(); |
|
|
|
|
|
|
|
var buddyElement = $(event.currentTarget); |
|
|
|
|
|
|
|
buddyElement.scope().doDefaultContact(); |
|
|
|
|
|
|
|
}, this));*/ |
|
|
|
|
|
|
|
$element.attr("data-xthreshold", "10"); |
|
|
|
$element.attr("data-xthreshold", "10"); |
|
|
|
$element.on("swipeleft", ".buddy", _.bind(function(event) { |
|
|
|
$element.on("swipeleft", ".buddy", _.bind(function(event) { |
|
|
|
event.preventDefault(); |
|
|
|
event.preventDefault(); |
|
|
@ -658,32 +651,47 @@ define(['underscore', 'modernizr', 'avltree', 'text!partials/buddy.html', 'text! |
|
|
|
|
|
|
|
|
|
|
|
var scope = buddyElement.scope(); |
|
|
|
var scope = buddyElement.scope(); |
|
|
|
var session = scope.session; |
|
|
|
var session = scope.session; |
|
|
|
var sessionData = session.get() |
|
|
|
|
|
|
|
var contact = scope.contact; |
|
|
|
var contact = scope.contact; |
|
|
|
var id; |
|
|
|
|
|
|
|
if (!sessionData) { |
|
|
|
var promise = (function() { |
|
|
|
// TODO(longsleep): Find session with help of contact.
|
|
|
|
var deferred = $q.defer(); |
|
|
|
console.log("No sessions for this buddy.", session, contact); |
|
|
|
var sessionData = session.get() |
|
|
|
if (contact && contact.Token) { |
|
|
|
if (!sessionData) { |
|
|
|
mediaStream.api.sendSessions(contact.Token, "contact"); |
|
|
|
// Find session with help of contact.
|
|
|
|
|
|
|
|
if (contact && contact.Token) { |
|
|
|
|
|
|
|
mediaStream.api.sendSessions(contact.Token, "contact", function(event, type, data) { |
|
|
|
|
|
|
|
//console.log("oooooooooooooooo", type, data);
|
|
|
|
|
|
|
|
if (data.Users && data.Users.length > 0) { |
|
|
|
|
|
|
|
var s = data.Users[0]; |
|
|
|
|
|
|
|
buddyData.set(s.Id, scope); |
|
|
|
|
|
|
|
deferred.resolve(s.Id); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
deferred.resolve(sessionData.Id); |
|
|
|
} |
|
|
|
} |
|
|
|
return; |
|
|
|
return deferred.promise; |
|
|
|
} else { |
|
|
|
})(); |
|
|
|
id = sessionData.Id; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
//console.log("id", id);
|
|
|
|
|
|
|
|
switch (action) { |
|
|
|
switch (action) { |
|
|
|
case "call": |
|
|
|
case "call": |
|
|
|
scope.doCall(id); |
|
|
|
promise.then(function(id) { |
|
|
|
|
|
|
|
scope.doCall(id); |
|
|
|
|
|
|
|
}); |
|
|
|
break; |
|
|
|
break; |
|
|
|
case "chat": |
|
|
|
case "chat": |
|
|
|
scope.doChat(id); |
|
|
|
promise.then(function(id) { |
|
|
|
|
|
|
|
scope.doChat(id); |
|
|
|
|
|
|
|
}); |
|
|
|
break; |
|
|
|
break; |
|
|
|
case "contact": |
|
|
|
case "contact": |
|
|
|
if (contact) { |
|
|
|
if (contact) { |
|
|
|
scope.doContactRemove(contact.Userid); |
|
|
|
scope.doContactRemove(contact.Userid); |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
scope.doContactRequest(id); |
|
|
|
promise.then(function(id) { |
|
|
|
|
|
|
|
scope.doContactRequest(id); |
|
|
|
|
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
break; |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|