// set true for disabled filter
var headerAndFilters = {
headerType: "header-sc", // social club filtering header
disabledFields: // disables header fields
[
false, // platforms
false, // locations
false, // age
false, // gamers
true, // game-types
true, // character
[true, false, true], // dates+builds
],
};
var profStat = new ProfileStats();
var profileStatList = [
{
types: [
"CHOP_APP_USED",
],
name: "Chop App Used",
altNames: [
"No",
"Yes",
],
requestSubString: "_",
bucketSize: 1,
singleMetric: true,
groupNonZero: true, // for 0 / non 0 values piechart
unit: "players",
},
{
types: [
"CHOP_APP_USED",
],
name: "Times Chop App Used",
requestSubString: "_",
bucketSize: 5,
singleMetric: true,
//showOnlyLowerRange: true,
unit: "players",
},
];
var reportOptions = {
restEndpoint: config.profileStatsCombinedDiff,
restEndpointAsync: config.profileStatsCombinedDiffAsync,
processFunction: formatData,
availableCharts: profileStatList,
multipleRequests: generateEndpoints,
isClickable: false,
// This is a piechart
main: {
legend: false,
pieLabelsOutside: false,
labelSunbeamLayout: false,
donut: true,
donutLabelsOutside: true,
sortByValueDesc: true,
getPieLabel: function(d) { return d[0].label; },
getValuesArray: function(d) {return d[0].values; },
getMetadata: function(d) {return d[0].metadata; },
// function to get the name from the rest data
getName: function(d) {return d.name; }, // this is added to the results
// function to calculate the value from the rest data
getValue: function(d) { return d.value; },
getObject: function(d) { return (d); },
// unit: "players" - not always
lrMargin: 15,
},
// This is a lingraph
breakdown: {
elementId: "line-area-chart",
backgroundColour: "transparent",
lineColour: config.chartColour1,
textColour: "#000000",
gridColour: "#333333",
name: function(d) { return d.name; },
value: function(d) {
return ((d.TotalUsers) ? (Number(d.YValue)/d.TotalUsers)*100 : 0);
},
fullName: function(d, extra) { return ((extra) ? this.name(d) + "
(" + extra + ")" : this.name(d)); },
label: function(d) {return ((d.label) ? d.label : this.name(d)); },
xLabel: profileStatList[1].name,
yLabel: "Percentage of Players (%)",
orientation: "horizontal",
margin: {top: 10, right: 10, bottom: 10, left: 10},
hideLegend: true,
legend: {height: 30, width: 180, rectWidth: 18},
legendDataConst : [],
legendDataVar: {label : "", colour: config.chartColour1}, // keep this colour in sync with lineColour
valueTooltipContent: function(d, b) {
var content = "
| Percentage of Players: | " + commasFixed2(this.value(d)) + " % |
| Number of Players: | " + commasFixed2(Number(d.YValue)) + " |
| Total Players: | " + commasFixed2(d.TotalUsers) + " |