diff --git a/src/styles/components/_buddycondensed.scss b/src/styles/components/_buddycondensed.scss index ce8322c5..fbab8add 100644 --- a/src/styles/components/_buddycondensed.scss +++ b/src/styles/components/_buddycondensed.scss @@ -18,23 +18,45 @@ * along with this program. If not, see . * */ - +#buddycondensed { + display: table; + float: left; + height: 50px; + overflow: hidden; + padding-left: 20px; + vertical-align: bottom; + min-width: 355px; +} .buddycondensed { - display: table-cell; - width: 380px; &.buddy { background: none; border-bottom: none; + cursor: auto; min-height: 50px; - padding-left: 20px; vertical-align: bottom; .buddyPicture { margin: 2px; } } - .more { - padding-left: 10px; + .defaultDisplayNum { + } + .overDefaultDisplayNum { + background: #f8f8f8; + display: none; + position: fixed; + &:hover { + display: block; + } + } + .desc { + display: inline-block; font-weight: bold; + padding-left: 10px; + &:hover ~ .overDefaultDisplayNum { + display: block; + } + } + .buddyPicture { + cursor: pointer; } } - diff --git a/static/js/directives/buddycondensed.js b/static/js/directives/buddycondensed.js index 743dd5f0..2cfc0cab 100644 --- a/static/js/directives/buddycondensed.js +++ b/static/js/directives/buddycondensed.js @@ -21,9 +21,9 @@ define(['angular', 'text!partials/buddycondensed.html'], function(angular, template) { // buddycondensed - return ["mediaStream", function(mediaStream) { + return [function() { - var controller = ['$scope', '$element', 'mediaStream', 'buddyList', 'buddyPicture', 'contacts', function($scope, $element, mediaStream, buddyList, buddyPicture, contacts) { + var controller = ['$scope', 'mediaStream', 'contacts', function($scope, mediaStream, contacts) { var buddycondensed = []; var joined = function(buddy) { buddycondensed.push(buddy); @@ -37,9 +37,9 @@ define(['angular', 'text!partials/buddycondensed.html'], function(angular, templ } $scope.$apply(); }; + // replace session data with contact data var contactadded = function(data) { - // replace session data with contact data - console.log('contactadded', data); + //console.log('contactadded', data); var hasSession = false; for (var i in buddycondensed) { if(buddycondensed[i].Userid === data.Userid) { @@ -53,15 +53,26 @@ define(['angular', 'text!partials/buddycondensed.html'], function(angular, templ } $scope.$apply(); }; - $scope.list = function() { - return buddycondensed; + $scope.listDefault = function() { + if(buddycondensed.length >= $scope.maxBuddiesToShow) { + return buddycondensed.slice(0, $scope.maxBuddiesToShow); + } else { + return buddycondensed; + } + }; + $scope.listOverDefault = function() { + if(buddycondensed.length >= $scope.maxBuddiesToShow) { + return buddycondensed.slice($scope.maxBuddiesToShow); + } else { + return []; + } }; $scope.maxBuddiesToShow = 5; contacts.e.on("contactadded", function(event, data) { contactadded(data); }); mediaStream.api.e.on("received.userleftorjoined", function(event, dataType, data) { - console.log("received.userleftorjoined", data.Id); + //console.log("received.userleftorjoined", data.Id); if (dataType === "Left") { left(data.Id); } else { @@ -69,7 +80,7 @@ define(['angular', 'text!partials/buddycondensed.html'], function(angular, templ } }); mediaStream.api.e.on("received.users", function(event, data) { - console.log("received.users", data); + //console.log("received.users", data); var selfId = $scope.id; data.forEach(function(x) { if (x.Id !== selfId) { diff --git a/static/partials/buddycondensed.html b/static/partials/buddycondensed.html index 655c7ba4..326afa13 100644 --- a/static/partials/buddycondensed.html +++ b/static/partials/buddycondensed.html @@ -1,6 +1,15 @@ - - - {{buddy.Status.displayName}} - - + {{list().length - maxBuddiesToShow}} {{_("more")}} - +
+
+ + {{listOverDefault().length - maxBuddiesToShow}} {{_("more")}} +
+ + + +
+
+ + + +
+
+