diff --git a/static/js/directives/buddycondensed.js b/static/js/directives/buddycondensed.js
index b794d7c9..fb5a9faf 100644
--- a/static/js/directives/buddycondensed.js
+++ b/static/js/directives/buddycondensed.js
@@ -23,8 +23,16 @@ define(['angular', 'text!partials/buddycondensed.html'], function(angular, templ
// buddycondensed
return [function() {
- var controller = ['$scope', 'mediaStream', 'contacts', function($scope, mediaStream, contacts) {
+ var controller = ['$scope', 'mediaStream', 'contacts', 'buddyData', function($scope, mediaStream, contacts, buddyData) {
var buddycondensed = [];
+ var getContactSessionId = function(userid) {
+ var session = null;
+ var scope = buddyData.lookup(userid, false, false);
+ if (scope) {
+ session = scope.session.get();
+ }
+ return session && session.Id ? session.Id : null;
+ };
var empty = function(x) {
return x === null || x === undefined || isNaN(x) || x === "";
};
@@ -77,6 +85,15 @@ define(['angular', 'text!partials/buddycondensed.html'], function(angular, templ
}
$scope.$apply();
};
+ $scope.call = function(userid) {
+ mediaStream.webrtc.doCall(getContactSessionId(userid));
+ };
+ $scope.chat = function(userid) {
+ $scope.$emit("startchat", getContactSessionId(userid), {
+ autofocus: true,
+ restore: true
+ });
+ };
$scope.listDefault = function() {
if(buddycondensed.length >= $scope.maxBuddiesToShow) {
return buddycondensed.slice(0, $scope.maxBuddiesToShow);
diff --git a/static/partials/buddycondensed.html b/static/partials/buddycondensed.html
index 846c72e1..2ae0ea02 100644
--- a/static/partials/buddycondensed.html
+++ b/static/partials/buddycondensed.html
@@ -9,8 +9,8 @@
{{buddy.Userid|displayName}}
@@ -24,8 +24,8 @@
{{buddy.Userid|displayName}}