diff options
Diffstat (limited to 'src/main/webapp/apps/app.js')
-rw-r--r-- | src/main/webapp/apps/app.js | 58 |
1 files changed, 51 insertions, 7 deletions
diff --git a/src/main/webapp/apps/app.js b/src/main/webapp/apps/app.js index 3d200ec..36736cd 100644 --- a/src/main/webapp/apps/app.js +++ b/src/main/webapp/apps/app.js @@ -4,26 +4,32 @@ directives.filter('countBadgeByLevel', function () { return function (badges) { // 5 levels var levels = [0, 0, 0, 0, 0]; - angular.forEach(badges, function(value, key){ + angular.forEach(badges, function (value, key) { levels[value.level - 1]++; }); return levels; } }); +directives.filter('isodate', function () { + return function (date) { + return date.toISOString(); + } +}); + directives.filter('gz', function () { return function (num) { - if(angular.isArray(num)) { + if (angular.isArray(num)) { var out = []; - angular.forEach(num, function(x){ - if(x > 0) { + angular.forEach(num, function (x) { + if (x > 0) { out.push(x); } }); return out; } - else if(angular.isNumber(num)) { + else if (angular.isNumber(num)) { return num > 0; } console.log("fail"); @@ -44,9 +50,47 @@ directives.directive('badge', function () { scope: { badgeDetail: '=badgeDetail' }, - template: '<span class="badge-inverse badge-level-{{badgeDetail.badge.level}} badge"><strong style="padding-right: 0.3em">{{badgeDetail.badge.name}}</strong>' + - '<i class="icon-user"></i></span>' + + template: '<span class="badge-inverse badge-level-{{badgeDetail.badge.level}} badge">' + + ' <strong style="padding-right: 0.3em">{{badgeDetail.badge.name}}</strong>' + + ' <i class="icon-user"></i>' + + '</span>' + ' awarded to ' + '<a href="/#/person/{{badgeDetail.person.uuid}}">{{badgeDetail.person.name}}</a>' } }); + +directives.directive('badgeSpan', function () { + var template = + '<span class="badge-inverse badge-level-{{badge.level}} badge">' + + ' <strong style="padding-right: 0.3em">{{badge.name}}</strong>' + + ' <i class="icon-user"></i>' + + '</span>'; + + return { + restrict: 'E', + scope: { + badge: '=badge' + }, + template: template + } +}); + +directives.directive('personLink', function () { + return { + restrict: 'E', + scope: { + person: '=person' + }, + template: '<a href="/#/person/{{person.uuid}}">{{person.name}}</a>' + } +}); + +directives.directive('personAvatar', function () { + return { + restrict: 'E', + scope: { + person: '=person' + }, + template: '<img ng-src="{{person.gravatar}}?default=identicon" class="avatar-image" title="{{person.name}}"/>' + } +}); |