if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', function() { get_existing_data(); console.log("moderator assignments loading..."); }); } else { get_existing_data(); console.log("moderator assignments, DOM not loaded"); } var results = []; var all_times = []; var page_data = []; var room_color = ""; function room_color(color) { switch (color) { case "Green": room_color = "#ff4d4d"; break; case "Red": room_color = "#FF7B78"; break; case "Orange": room_color = "#f38b00"; break; default: room_color = "grey"; } return room_color; } function set_up_mod_objects(sheet_rows) { var data = [sheet_rows]; for (var i = 0; i < data.length; i++) { for (var j = 0; j < data[i].length; j++) { results.push(data[i][j]["c"]); } } results.sort(); // set up moderator objects with zoom info and empty array for participants results.forEach(function(current_value) { var x = { moderator: current_value[0]["v"], time: current_value[5]["v"], room: current_value[7]["v"], link: current_value[8]["v"], id: current_value[9]["v"], participants: [] }; all_times.push(x); }); all_times.sort(); //get unique moderators with object keys page_data = all_times.filter((v, i, a) => a.findIndex(t => (t.moderator === v.moderator && t.time === v.time)) === i); console.log("page data ", page_data); // get participant data, add to page_data array results.forEach(function(current_value) { for (var i = 0; i < page_data.length; i++) { if (page_data[i].moderator === current_value[0]["v"]) { page_data[i].participants.push({ p_fname: current_value[1]["v"], p_lname: current_value[2]["v"], p_id: current_value[3]["v"], p_email: current_value[4]["v"], p_course: current_value[10]["v"] }); } } }); // send page data to create tabs function create_tabs(page_data); } function get_existing_data() { var sheet_rows = []; $.get("https://docs.google.com/spreadsheets/d/1hivjC4FTSyRS1wq4-Jz0KEsz949PiZybAyThze7fMcA/gviz/tq?tqx=out:json", function(data) { const json = JSON.parse(data.substr(47).slice(0, -2)); sheet_rows = json.table.rows; sheet_rows.shift(); set_up_mod_objects(sheet_rows); }); } function create_tabs(moderator_list) { $(".mlist").remove(); $(".plist").remove(); moderator_list.forEach(function(i, index) { switch (i.room) { case "Green": room_color = "#009933"; break; case "Red": room_color = "#FF7B78"; break; case "Orange": room_color = "#f38b00"; break; default: room_color = "grey"; // } // add moderator names to small tabs at top of page $(".moderator-list").append($( '
  • ' + i.moderator + '
  • ' )) var table = "ptable" + index; // ''+doc.id+'' //set up individual participant list tabs $(".dynamic-tab-content").append($( '
    ' + '

    ' + i.moderator + '' + '' + '' + '
    ' + i.time + '
    ' + i.room + ' Room: ' + i.link + '
    Phone: +1 669 900 6833 | Meeting ID:' + i.id + '
    Passcode: gci2023
    Host key: 967543

    ' + '' + '' + +'
    First NameLast NameEmailProfile
    ' )); // add participants to table i.participants.forEach(function(current_value) { $(".ptable" + index).append($( '' + '' + current_value.p_fname + '' + '' + current_value.p_lname + '' + '' + current_value.p_email + '' + 'Profile' + '' )); }); }); } function GetCellValues(id) { var newArray = []; var table = document.getElementById(id); for (var r = 0, n = table.rows.length; r < n; r++) { for (var c = 0, m = table.rows[r].cells.length; c < m; c++) { newArray.push(table.rows[r].cells[c].innerHTML); } } var allText = newArray.toString(); extractEmails(allText); } function extractEmails(text) { var emails = text.match(/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+)/gi).toString(); console.log(emails) copyToClipboard(emails); } const copyToClipboard = str => { const el = document.createElement('textarea'); el.value = str; document.body.appendChild(el); el.select(); document.execCommand('copy'); document.body.removeChild(el); }; function exportTableToCSV(filename, table_name) { var html = document.getElementById(table_name).outerHTML; var csv = []; var rows = document.querySelectorAll("table." + table_name + " tr"); for (var i = 0; i < rows.length; i++) { var row = [], cols = rows[i].querySelectorAll("td, th"); for (var j = 0; j < cols.length; j++) row.push(cols[j].innerText); row.pop(); csv.push(row.join(",")); } downloadCSV(csv.join("\n"), filename); }; function downloadCSV(csv, filename) { var csvFile; var downloadLink; csvFile = new Blob([csv], { type: "text/csv" }); downloadLink = document.createElement("a"); downloadLink.download = filename; downloadLink.href = window.URL.createObjectURL(csvFile); downloadLink.style.display = "none"; document.body.appendChild(downloadLink); downloadLink.click(); };