Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Simple reference solution to RDM-4 Medium
- // Utilizing PapaParse and JQuery
- var resJson = [];
- var outData;
- function processTickets(ticketsJson){
- ticketsCount = {};
- for (ticketInd in ticketsJson) {
- ticket = ticketsJson[ticketInd];
- if(ticket === null) continue;
- var author = ticket['Author Username'];
- if(author === '' || author === null || !author) continue;
- console.log(author);
- if (author in ticketsCount) ticketsCount[author]++;
- else ticketsCount[author] = 1;
- }
- var resArr = Object.keys(ticketsCount).map(function(key) {
- return [key, ticketsCount[key]];
- });
- resArr.sort(function(f,s){
- return s[1] - f[1];
- });
- console.log(resArr);
- return resArr;
- }
- function writeTable(results){
- var tbl = $('#resultsTable');
- tbl.css('display','inline-block');
- var n = results.length;
- var header = '<thead id = "results-header">';
- var headerRow = '<tr>'
- headerRow += ('<th>'+"S.No"+'</th>');
- headerRow += ('<th>'+"Author Username"+'</th>');
- headerRow += ('<th>'+"Number of Tickets"+'</th>');
- headerRow += '</tr>';
- header += headerRow;
- header += '</thead>';
- $('#resultsTable').append(header);
- var tbd ='<tbody id = "results-data">';
- for(var i = 0;i<n;++i){
- var row ='<tr>';
- row+='<td>'+(i+1)+'</td>';
- row+='<td>'+results[i][0]+'</td>';
- row+='<td>'+results[i][1]+'</td>';
- row+='</tr>';
- tbd+=row;
- }
- tbd+='</tbody>';
- $('#resultsTable').append(tbd);
- }
- function readFile(){
- var csv = $("#ticketFile").prop('files')[0];
- console.log(csv);
- var inputData;
- resJson=[];
- Papa.parse(csv ,{
- header:true,
- dynamicTyping: false,
- complete: function(results) {
- inputData = results.data;
- outData = processTickets(inputData)
- writeTable(processTickets(inputData));
- for(var i= 0; i< outData.length;i++){
- resJson[i] = {}
- resJson[i]['Author Username'] = outData[i][0];
- resJson[i]['Number of Tickets'] = outData[i][1];
- }
- }
- });
- };
- function saveResult(){
- var hidden = document.createElement('a');
- hidden.href = 'data:text/csv;charset=utf-8,'+encodeURI(Papa.unparse(resJson));
- hidden.target = '_blank';
- hidden.download = "results.csv";
- hidden.click();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement