diff --git a/modules/users/client/directives/vip-flag.client.directive.js b/modules/users/client/directives/vip-flag.client.directive.js new file mode 100644 index 00000000..0cb5abe2 --- /dev/null +++ b/modules/users/client/directives/vip-flag.client.directive.js @@ -0,0 +1,37 @@ +(function () { + 'use strict'; + + angular.module('users') + .directive('vipFlag', vipFlag); + + vipFlag.$inject = ['$compile', '$translate']; + + function vipFlag($compile, $translate) { + var directive = { + restrict: 'A', + link: link + }; + + return directive; + + function link(scope, element, attrs) { + scope.$watch(attrs.vipFlag, function (s) { + if (s) { + var user = s; + var title = $translate.instant('USER_IS_VIP', {name: user.displayName}); + var cls = attrs.vipClass; + + var e = angular.element('VIP'); + + if (e) { + e.addClass(cls ? cls : ''); + e.attr('title', title); + + element.html(e); + $compile(element.contents())(scope); + } + } + }); + } + } +}());