$(document).ready(function() { // Antagelser: // 1. Alle rækker der selectes har A=1 // 2. Status-kolonnen er den sidste inden aktiviteterne var hiddenColumns = ["1", "Medlemmer", "Klasse", "Maaltid", "Ventetid", "Straf", "Statussort", "Sortering", "RegTid"]; var hideActivities = false; var level = "Fighter"; var series = "Alle"; var url = ""; var seriesClause = ""; $("#level li a").click(function(event) { $("#level li").removeClass("active"); $(this).parent().addClass("active"); level = $(this).text(); setFilter(); loadData(); }); $("#series label input").click(function(event) { series = $(this).val(); setFilter(); loadData(); }); function setFilter() { $("#scoreboard").css('min-height', 0); if(series == "Alle") { seriesClause = ""; } if(series == "Mix") { seriesClause = " and G=\"Mix\""; } if(series == "Herre") { seriesClause = " and G=\"Herre\""; } if(series == "Dame") { seriesClause = " and G=\"Dame\""; } // if(level == "Master") { // query = "select A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P where A=1" + seriesClause + " order by M,N,K,O"; // url = "https://docs.google.com/spreadsheets/d/1SODTiABbqTuRsvEG1BTFqTWN_RzTEFINDd00UehzFqQ/edit#gid=1498148972"; // } if(level == "Challenge") { query = "select A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S where A=1" + seriesClause + " order by M,N desc,K,O"; url = "https://docs.google.com/spreadsheets/d/1vIwv3vB9Mq4s6oArrOmEXXsNbGGqRDwzF02MjzTFzZY/edit#gid=900054975"; } if(level == "Fighter") { query = "select A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y where A=1" + seriesClause + " order by M,N desc,K,O"; url = "https://docs.google.com/spreadsheets/d/1vIwv3vB9Mq4s6oArrOmEXXsNbGGqRDwzF02MjzTFzZY/edit#gid=1084680271"; } } setFilter(); loadData(); var refreshInterval = 180 * 1000; setInterval(function() { $("#scoreboard").css('min-height', $("#scoreboard").height()); loadData(); }, refreshInterval); function loadData() { //console.log(url); $('#scoreboardHidden').html(""); // remove old data $('#scoreboardHidden').sheetrock({ url: url, query: query, resetStatus: true, callback: function (error, options, response) { if(error == null) { $('#scoreboard').html( $('#scoreboardHidden').html() ); var activitiesStartColumn; var activitiesEndColumn; var teamNameColumn; var teamMembersColumn; var statusColumn; var statusSortColumn; var timeColumn; // Loop table header $("#scoreboard thead tr th").each(function(index, elem) { var columnHeader = $(elem).text(); if(columnHeader == "Holdnr") { //$("#scoreboard th:nth-child(" + (index+1) + ")").html(""); } if(columnHeader == "Holdnavn") { teamNameColumn = index+1; } if(columnHeader == "Medlemmer") { teamMembersColumn = index+1; } if(columnHeader == "Status") { $("#scoreboard th:nth-child(" + (index+1) + "), #scoreboard td:nth-child(" + (index+1) + ")").addClass("status"); statusColumn = index+1; activitiesStartColumn = index+2; } if(columnHeader == "Statussort") { statusSortColumn = index+1; } if(columnHeader == "Tid") { timeColumn = index+1; } // Hide column if in array if(hiddenColumns.indexOf(columnHeader) >= 0) { $("#scoreboard th:nth-child(" + (index+1) + "), #scoreboard td:nth-child(" + (index+1) + ")").hide(); } activitiesEndColumn = index; }); for(var i = activitiesStartColumn; i <= activitiesEndColumn; i++) { // Center activity header text $("#scoreboard th:nth-child(" + (i) + ")").addClass("text-center"); if(hideActivities) { $("#scoreboard thead tr").find("th:nth-child(" + i + ")").hide(); } } // Add overall number column $("#scoreboard thead tr").prepend("Placering") // Increment because of added cell activitiesStartColumn++; activitiesEndColumn++; teamNameColumn++; teamMembersColumn++; statusColumn++; statusSortColumn++; timeColumn++; // Loop table body $("#scoreboard tbody tr").each(function(index, elem) { // Add overall number cell $(elem).prepend(""); // Add team members popover $(elem).find("td:nth-child(" + teamNameColumn + ")").wrapInner(""); $(elem).find("td:nth-child(" + teamNameColumn + ") span").popover({ content: $(elem).find("td:nth-child(" + teamMembersColumn + ")").text(), trigger: "hover" }); // Add status icon var image = new Image(); if ($(elem).find('td:nth-child('+statusSortColumn+')').text() < 300) { $(elem).find('td:nth-child(1)').text(index+1); if ($(elem).find('td:nth-child('+statusSortColumn+')').text() == 100) { image.src = 'icons/accept.png'; $(elem).find('td:nth-child('+statusColumn+')').html(image); $(elem).find('td:nth-child('+statusColumn+') img').popover({content: "Alt gennemført", trigger: "hover"}); } if ($(elem).find('td:nth-child('+statusSortColumn+')').text() >= 200) { image.src = 'icons/delete.png'; $(elem).find('td:nth-child('+statusColumn+')').html(image); $(elem).find('td:nth-child('+statusColumn+') img').popover({content: "Mangler opgave/poster eller løbstid overskredet", trigger: "hover"}); } } if ($(elem).find('td:nth-child('+statusColumn+')').text() == 'N') $(elem).find('td:nth-child('+statusColumn+')').text('Ikke rangeret'); if ($(elem).find('td:nth-child('+statusColumn+')').text() == 'U') $(elem).find('td:nth-child('+statusColumn+')').text('Udgået'); if ($(elem).find('td:nth-child('+statusColumn+')').text() == 'I') $(elem).find('td:nth-child('+statusColumn+')').text('Ej startet'); // Add plus/minus icons to activities for(var i = activitiesStartColumn; i <= activitiesEndColumn; i++) { var cell = $(elem).find("td:nth-child(" + i + ")"); cell.addClass("text-center"); formatActivity( cell ); if(hideActivities) { $(elem).find("td:nth-child(" + i + ")").hide(); } } }); } else { console.log(error); } } }); } function formatActivity(cell) { var image = new Image(); switch ($(cell).text()) { case 'x': // Gennemført case 'X': case '+': image.src = 'icons/accept.png'; $(cell).html(image); $(cell).find('img').popover({content: "Gennemført", trigger: "hover"}); break; case '-': // Udeladt case '0': image.src = 'icons/delete.png'; $(cell).html(image); $(cell).find('img').popover({content: "Opgave udeladt", trigger: "hover"}); break; case '': break; default: $(cell).html(""+$(cell).text()+""); $(cell).find('span').popover({content: "Mangler "+$(cell).text()+" poster", trigger: "hover"}); } cell.addClass('opgave'); } });