From 677ecd85dbe1b186b48cd623108ee6c195b9e36b Mon Sep 17 00:00:00 2001 From: OldHawk Date: Sat, 23 Jun 2018 17:13:08 +0800 Subject: [PATCH] fix(medals): fixed medal count number issue --- .../directives/medal-flag.client.directive.js | 28 +++++++++++-------- .../views/admin/view-user.client.view.html | 2 +- .../views/status/account.client.view.html | 2 +- .../views/userinfo/userinfo.client.view.html | 2 +- 4 files changed, 19 insertions(+), 15 deletions(-) diff --git a/modules/users/client/directives/medal-flag.client.directive.js b/modules/users/client/directives/medal-flag.client.directive.js index 809af69a..95bbaaf6 100644 --- a/modules/users/client/directives/medal-flag.client.directive.js +++ b/modules/users/client/directives/medal-flag.client.directive.js @@ -7,29 +7,33 @@ medalFlag.$inject = ['$compile', '$translate', '$filter']; function medalFlag($compile, $translate, $filter) { + var user = undefined; + var directive = { restrict: 'A', + replace: true, + scope: { + medalUser: '=medalFlag', + medalCount: '=medalCount' + }, link: link }; return directive; function link(scope, element, attrs) { - scope.$watch(attrs.medalFlag, function (s) { - if (s) { - var user = s; - var number = attrs.medalCount || 0; - var title = $translate.instant('USER_MEDAL_FLAG', {name: user.displayName}); - var cls = attrs.medalFlagClass; + scope.$watch(function () { + var number = scope.medalCount || 0; + var title = $translate.instant('USER_MEDAL_FLAG', {name: scope.medalUser.displayName}); + var cls = attrs.medalFlagClass; - var ele = angular.element(' ' + number + ''); + var ele = angular.element(' ' + number + ''); - ele.addClass(cls ? cls : ''); - ele.attr('title', title); + ele.addClass(cls ? cls : ''); + ele.attr('title', title); - element.append(ele); - $compile(element.contents())(scope); - } + element.html(ele); + $compile(element.contents())(scope); }); } } diff --git a/modules/users/client/views/admin/view-user.client.view.html b/modules/users/client/views/admin/view-user.client.view.html index 70bcedf3..d885739c 100644 --- a/modules/users/client/views/admin/view-user.client.view.html +++ b/modules/users/client/views/admin/view-user.client.view.html @@ -17,7 +17,7 @@ - + diff --git a/modules/users/client/views/status/account.client.view.html b/modules/users/client/views/status/account.client.view.html index 8f0dab19..23fd50ca 100644 --- a/modules/users/client/views/status/account.client.view.html +++ b/modules/users/client/views/status/account.client.view.html @@ -16,7 +16,7 @@ - + diff --git a/modules/users/client/views/userinfo/userinfo.client.view.html b/modules/users/client/views/userinfo/userinfo.client.view.html index 8c136b5f..bc69e8b0 100644 --- a/modules/users/client/views/userinfo/userinfo.client.view.html +++ b/modules/users/client/views/userinfo/userinfo.client.view.html @@ -17,7 +17,7 @@ - +