-
Notifications
You must be signed in to change notification settings - Fork 3
/
score-card.js
80 lines (70 loc) · 2.08 KB
/
score-card.js
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
define( [
"jquery",
"qlik",
"./lib/js/property",
"./lib/js/initialProps",
"text!./score-card-template.html",
"text!./lib/css/score-card.css",
"text!./lib/css/spectre.min.css",
"./lib/js/directives",
],
function ($, qlik, props, initProps, template, scoreCSS, spectreCSS) {'use strict';
$("<style>").html(spectreCSS).appendTo("head");
$("<style>").html(scoreCSS).appendTo("head");
var support = { snapshot: true,
export: true,
exportData : true};
return {
initialProperties : initProps,
definition : props,
support : support,
template: template,
controller: ['$scope', function ( $scope ) {
var totalMeasures = function(){var t = $scope.layout.qHyperCube.qMeasureInfo.length; return t;},
avatarLocation = function(){var t = $scope.layout.qHyperCube.qDimensionInfo[0].qAttrExprInfo[0].qFallbackTitle; return t;};
$scope.measureCount = totalMeasures();
$scope.dimAvatar = function(){
if(avatarLocation()){
return 1;
}
else{
return 2;
}
};
$scope.initials =function(dimValue){
var name = dimValue,
initials = name.match(/\b\w/g) || [];
initials = ((initials.shift() || '') + (initials.pop() || '')).toUpperCase();
return initials;
};
$scope.selection = function(datavalue, id) {
//self.backendApi.selectValues(0, [datavalue], false);
$scope.selectValues(0, [datavalue], true);
$(id).toggleClass("selected");
}
$scope.viewStyle = function(){
var measureStyle;
switch (totalMeasures()) {
case 1:
measureStyle = "col-12";
break;
case 2:
measureStyle = "col-6";
break;
case 3:
measureStyle = "col-4";
break;
case 4:
measureStyle = "col-3";
}
return measureStyle;
}
$scope.extId = "qv-object-score-card-" + $scope.layout.qInfo.qId;
}],
paint: function ($element, layout) {
var self = this;
return qlik.Promise.resolve();
}
};
}
);