Create Table From Data

by Francis MacDougall

HTML

<table id="week" style="border-collapse:collapse">
</table>

JavaScript

var headings = {
MO: "Monday",
TU: "Tuesday",
WE: "Wednesday",
TH: "Thursday",
FR: "Friday",
SA: "Saturday"
};

var daylist = [];
var daycnt = [];

var obj = [
  {start:"20170211T123000",end:"20170211T133000",summary:"SA meeting 3",day:"SA"},
  {start:"20170106T170000",end:"20170106T173000",summary:"friday meeting1",day:"FR"},
  {start:"20170106T180000",end:"20170106T183000",summary:"friday meeting2",day:"FR"},
  {start:"20160614T190000",end:"20160614T194500",summary:"Thur meeting2",day:"TH"},
  {start:"20160614T190000",end:"20160614T194500",summary:"Thur meeting4",day:"TH"},
  {start:"20160620T160000",end:"20160620T164500",summary:"wed meeting1",day:"WE"},
  {start:"20160610T160000",end:"20160610T163000",summary:"friday meetin3",day:"FR"},
  {start:"20160614T164500",end:"20160614T173000",summary:"Thur meeting3",day:"TH"},
  {start:"20160620T181500",end:"20160620T190000",summary:"wed meeting3",day:"WE"},
  {start:"20160620T181500",end:"20160620T190000",summary:"Muay Thai Kickboxing",day:"WE"},
  {start:"20160618T090000",end:"20160618T094500",summary:"SA meeting 1",day:"SA"},
  {start:"20160618T094500",end:"20160618T103000",summary:"SA meeting 2",day:"SA"},
  {start:"20160613T190000",end:"20160613T194500",summary:"Monday meeting2",day:"MO"},
  {start:"20160613T190000",end:"20160613T194500",summary:"Monday meeting1",day:"MO"},
  {start:"20160613T173000",end:"20160613T181500",summary:"tues meeting2",day:"TU"},
  {start:"20160613T173000",end:"20160613T181500",summary:"tues meeting 3",day:"TU"}];


// start by sorting the data into time order
function compare(a,b) {
  if (a.start < b.start)
     return -1;
  if (a.start > b.start)
    return 1;
  return 0;
}
obj.sort(compare);

// first, setup the headers
var insert = "<tr>";
Object.keys(headings).forEach(function(key) {
  insert += "<th style='border:1px solid #000'>" + headings[key] + "</th>";
  daycnt[key] = 0;
  daylist[key] = {};
});


// now build up an array for each day of the week
var maxcnt = 0;
for(var...