diff --git a/css/style.css b/css/style.css index c7464a222..5028bb092 100755 --- a/css/style.css +++ b/css/style.css @@ -10,13 +10,11 @@ margin-bottom: 5px; margin-left: 5px; text-overflow: ellipsis; - overflow: hidden; } .activitymessage { margin-left: 25px; color:#666; text-overflow: ellipsis; - overflow: hidden; } .activity-previews { margin-left: 24px; @@ -221,3 +219,9 @@ top: 3px; margin-left: 5px; } + +.activitymessage .avatar-name-wrapper, +.activitysubject .avatar-name-wrapper { + position: relative; + cursor: pointer; +} diff --git a/js/activitytabview.js b/js/activitytabview.js index 0f5b0ea65..0c6d3f2f2 100644 --- a/js/activitytabview.js +++ b/js/activitytabview.js @@ -212,6 +212,13 @@ element.avatar(element.data('user'), 21); } }); + $el.find('.avatar-name-wrapper').each(function() { + var element = $(this); + var avatar = element.find('.avatar'); + var label = element.find('strong'); + + $.merge(avatar, label).contactsMenu(element.data('user'), 0, element); + }); $el.find('.has-tooltip').tooltip({ placement: 'bottom' }); diff --git a/js/richObjectStringParser.js b/js/richObjectStringParser.js index 9a67eead5..8c01c70b8 100644 --- a/js/richObjectStringParser.js +++ b/js/richObjectStringParser.js @@ -20,8 +20,8 @@ _emailTemplate: '{{name}}', - _userTemplate: '{{name}}', - _userWithAvatarTemplate: '
', + _userLocalTemplate: '
{{name}}
', + _userRemoteTemplate: '{{name}}', _unknownTemplate: '{{name}}', _unknownLinkTemplate: '{{name}}', @@ -82,15 +82,18 @@ return this.emailTemplate(parameter); case 'user': - if (!this.userTemplate) { - var template = this._userTemplate; - if (this.avatarsEnabled && _.isUndefined(parameter.server)) { - template = this._userWithAvatarTemplate + template; + if (_.isUndefined(parameter.server)) { + if (!this.userLocalTemplate) { + this.userLocalTemplate = Handlebars.compile(this._userLocalTemplate); } - this.userTemplate = Handlebars.compile(template); + return this.userLocalTemplate(parameter); } - return this.userTemplate(parameter); + if (!this.userRemoteTemplate) { + this.userRemoteTemplate = Handlebars.compile(this._userRemoteTemplate); + } + + return this.userRemoteTemplate(parameter); default: if (!_.isUndefined(parameter.link)) { diff --git a/js/script.js b/js/script.js index 2371e504c..8955df9ab 100755 --- a/js/script.js +++ b/js/script.js @@ -264,6 +264,14 @@ $(function(){ } }); + $element.find('.avatar-name-wrapper').each(function() { + var element = $(this); + var avatar = element.find('.avatar'); + var label = element.find('strong'); + + $.merge(avatar, label).contactsMenu(element.data('user'), 0, element); + }); + $element.find('.activity-more-link').click(function() { var $moreElement = $(this), activityId = $moreElement.closest('.box').data('activity-id'),