var profStats = new ProfileStats(); var enableCSVExport = "content-description"; var csvColumns = [], csvRows = []; var statSections = [ { name: "Statistics", subPath: "stats/", path: "stats/js/configs/stats-config.js", tableId: "manifest-stats-table", }, { name: "Difficulty Tracking", subPath: "difficulty_tracking/", path: "difficulty_tracking/js/configs/difficulty_tracking-config.js", tableId: "manifest-df-table", }, ]; function generateManifest() { initHeaderAndFilters(null); // no header csvColumns = ["Profile Stats"]; csvRows.push([]); $.each(statSections, function(i, statSection) { //csvRows.push([]); //csvRows.push([statSection.name]); $("
| ") .attr("colspan", 2) .html(statSection.name) ) ) .append( $(" | |
|---|---|
| ") .addClass("title") .text("Page Name") ) .append( $(" | ")
.addClass("title")
.text("Stats Used")
)
)
.appendTo("#content-body");
getScriptSync(statSection.path); // Get the navigation object for the stats
var items = navigationItems;
generateProfileStatTable(items, statSection);
});
addCSVExport();
}
function generateProfileStatTable(navigationItems, statSection) {
$.each(navigationItems, function(i, navItem) {
var statNames;
if (navItem.profile) {
appendProfileStats(navItem, statSection);
}
// continue recursively
if (navItem.subItems && navItem.subItems.length) {
generateProfileStatTable(navItem.subItems, statSection);
}
});
}
function appendProfileStats(navItem, statSection) {
if (navItem.preConfig)
getScriptSync(statSection.subPath + navItem.preConfig);
$.getScript(statSection.subPath + navItem.config, function() {
var statsText = "";
$.each(reportOptions.availableCharts, function(i, chart) {
//console.log(chart);
var fullStatnames = [];
$.each(chart.types, function(i, type) {
var constructedNames = profStats.constructStatNames(chart, type, config.gameTypes);
fullStatnames = fullStatnames.concat(constructedNames);
$.each(constructedNames, function(c, constructedName) {
if (!constructedName)
return;
csvRows.push([constructedName]);
});
});
statsText += ("" + chart.name + " (" + chart.description + ") : [" + fullStatnames.join(", ") + "] "); }); populateTableRow("#" + statSection.tableId, navItem.title + " (Profile_Stat)", statsText); }); } function populateTableRow(tableId, title, text) { $(tableId).append( $(" |
| ").html(title) ) .append( $(" | ").html(text) ) ) } function addCSVExport() { if (enableCSVExport) { var csvFrameID = "manifest-frame"; $("#" + csvFrameID).remove(); addCSVButton(enableCSVExport, csvFrameID, function() { exportToCSV(csvColumns, csvRows, csvFrameID, "manifest.csv"); }); $("#" + csvFrameID).addClass("csv-right"); } } |