-
Notifications
You must be signed in to change notification settings - Fork 216
/
Copy pathBurnCalculator.js
94 lines (88 loc) · 3.08 KB
/
BurnCalculator.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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
(function () {
var Ext = window.Ext4 || window.Ext;
Ext.define("Rally.apps.charts.rpm.burn.BurnCalculator", {
extend: "Rally.data.lookback.calculator.TimeSeriesCalculator",
getDerivedFieldsOnInput: function () {
var completedStateNames = this.config.completedScheduleStateNames;
if (this.config.chartAggregationType === 'storycount') {
return [
{
"as": "StoryCount",
"f": function(snapshot) {
return 1;
}
},
{
"as": "CompletedStoryCount",
"f": function(snapshot) {
var ss = snapshot.ScheduleState;
if (completedStateNames.indexOf(ss) > -1) {
return 1;
}
else {
return 0;
}
}
}
];
}
else {
return [
{
"as": "Planned",
"f": function(snapshot) {
if(snapshot.PlanEstimate) {
return snapshot.PlanEstimate;
}
return 0;
}
},
{
"as": "PlannedCompleted",
"f": function(snapshot) {
var ss = snapshot.ScheduleState;
if(completedStateNames.indexOf(ss) > -1 && snapshot.PlanEstimate) {
return snapshot.PlanEstimate;
}
return 0;
}
}
];
}
},
getMetrics: function() {
if(this.config.chartAggregationType === 'storycount') {
return [
{
"field": "StoryCount",
"as": "Planned",
"f": "sum",
"display": "line"
},
{
"field": "CompletedStoryCount",
"as": "Completed",
"f": "sum",
"display": "column"
}
];
}
else {
return [
{
"field": "Planned",
"as": "Planned",
"display": "line",
"f": "sum"
},
{
"field": "PlannedCompleted",
"as": "Completed",
"f": "sum",
"display": "column"
}
];
}
}
});
}());