From 74b8334d4cbe8e34f913e4d726aaeee8545b3e4d Mon Sep 17 00:00:00 2001 From: OldHawk Date: Thu, 14 Sep 2017 14:42:56 +0800 Subject: [PATCH] feat(invitations): add directive of vipFlag to show user`s VIP flag --- .../directives/vip-flag.client.directive.js | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 modules/users/client/directives/vip-flag.client.directive.js 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); + } + } + }); + } + } +}());