aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-server/src/main/webapp/javascripts/navigator/handlebars-extensions.js
blob: 60ae83366657fc0b8da6fce045e513496a000e04 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
(function() {

  Handlebars.registerHelper('capitalize', function(string) {
    return string.charAt(0).toUpperCase() + string.slice(1).toLowerCase();
  });

  Handlebars.registerHelper('severityIcon', function(severity) {
    return new Handlebars.SafeString(
        '<i class="icon-severity-' + severity.toLowerCase() + '"></i>'
    );
  });

  Handlebars.registerHelper('statusIcon', function(status) {
    return new Handlebars.SafeString(
        '<i class="icon-status-' + status.toLowerCase() + '"></i>'
    );
  });

  Handlebars.registerHelper('resolutionIcon', function(resolution) {
    return new Handlebars.SafeString(
        '<i class="icon-resolution-' + resolution.toLowerCase() + '"></i>'
    );
  });

  Handlebars.registerHelper('fromNow', function(time) {
    return moment(time).fromNow(true);
  });

  Handlebars.registerHelper('inArray', function(array, element, options) {
    if (array.indexOf(element) !== -1) {
      return options.fn(this);
    } else {
      return options.inverse(this);
    }

  });

  Handlebars.registerHelper('dashboardUrl', function(component) {
    var url = '/dashboard/index/' + decodeURIComponent(component.key);
    if (component.qualifier === 'FIL' || component.qualifier === 'CLA') {
      url += '?metric=sqale_index';
    }
    return url;
  });

})();