diff --git a/apps/schoolCalendar/custom.html b/apps/schoolCalendar/custom.html index de3511e19..6cdba962d 100644 --- a/apps/schoolCalendar/custom.html +++ b/apps/schoolCalendar/custom.html @@ -254,30 +254,31 @@ function renderBackground(l) { } function renderTable(l) { + var foundNumber = findNextScheduleIndex(); + var yellowIndex = 3; + if (foundNumber < 3) { yellowIndex = foundNumber; } for(var x = 0;x<=numberOfItemsShown;x++){ g.setColor(255,255,255); g.drawRect(rectStartX,rectStart+(x*20),rectEndX,rectEnd+(20*x)); - g.setColor(255,205,0); - g.drawRect(rectStartX,rectStart+(2*20),rectEndX,rectEnd+(2*20)); - g.setColor(255,0,0); - g.drawRect(rectStartX,rectStart+(currentPositionTable*20),rectEndX,rectEnd+(20*currentPositionTable)); } + g.setColor(255,205,0); + g.drawRect(rectStartX,rectStart+(yellowIndex*20),rectEndX,rectEnd+(20*yellowIndex)); + g.setColor(255,0,0); + g.drawRect(rectStartX,rectStart+(currentPositionTable*20),rectEndX,rectEnd+(20*currentPositionTable)); } -function renderTableText(l){ - var foundNumber = findNextScheduleIndex(); +function renderTableText(l) { var foundSchedule = getScheduleTable(); + var foundNumber = findNextScheduleIndex(); + var startNumber = foundNumber - 2; + if (startNumber < 0) { startNumber = 0; } + var endNumber = startNumber + 8 - (foundNumber - startNumber); + if (endNumber > foundSchedule.length-1) { endNumber = foundSchedule.length-1; } + + var scheduleHourUpdated; var scheduleMinuteUpdated; - var beforeFoundNumber = foundNumber - 2; - for(var x = 0;x<=numberOfItemsShown;x++){ - var currentNumber = beforeFoundNumber + x; - if (beforeFoundNumber + x < 0) { - currentNumber = foundSchedule.length + beforeFoundNumber + x; - } else if (beforeFoundNumber + x > foundSchedule.length - 1) { - currentNumber = beforeFoundNumber + x - foundSchedule.length; - } - + for(var currentNumber = startNumber; currentNumber<=endNumber; currentNumber++){ scheduleMinuteUpdatedStart = updateMinutesToCurrentTime(foundSchedule[currentNumber].sm); scheduleHourUpdatedStart = foundSchedule[currentNumber].sh; scheduleMinuteUpdatedEnd = updateMinutesToCurrentTime(foundSchedule[currentNumber].em); @@ -288,7 +289,7 @@ function renderTableText(l){ } schduleDay = updateDay(3,foundSchedule[currentNumber].dow); g.setFont("8x12"); - g.drawString(scheduleHourUpdatedStart+":"+scheduleMinuteUpdatedStart+"-"+scheduleHourUpdatedEnd+":"+scheduleMinuteUpdatedEnd+" "+schduleDay+" "+scheduleDecriptionUpdated,13,50+(x*20)); + g.drawString(scheduleHourUpdatedStart+":"+scheduleMinuteUpdatedStart+"-"+scheduleHourUpdatedEnd+":"+scheduleMinuteUpdatedEnd+" "+schduleDay+" "+scheduleDecriptionUpdated,13,50+(currentNumber*20)); } } @@ -364,22 +365,27 @@ function renderLoading(l){ function renderInformation(l){ var foundNumber = findNextScheduleIndex(); var foundSchedule = getScheduleTable(); - scheduleMinuteUpdatedStart = updateMinutesToCurrentTime(foundSchedule[foundNumber].sm); - scheduleHourUpdatedStart = foundSchedule[foundNumber].sh; - scheduleMinuteUpdatedEnd = updateMinutesToCurrentTime(foundSchedule[foundNumber].em); - scheduleHourUpdatedEnd = foundSchedule[foundNumber].eh; - scheduleDay = updateDay(1,foundSchedule[((foundNumber-2)+currentPositionTable)].dow); - g.setColor(255,255,255); - g.setFont("8x12",2); - var splitClassNames = splitter(foundSchedule[((foundNumber-2)+currentPositionTable)].cn, 15); - var currentY = 5; - for (var j=0; j < splitClassNames.length; j++) { - g.drawString(splitClassNames[j],13,currentY+50); - currentY = currentY + 25; + var startNumber = foundNumber - 2; + if (startNumber < 0) { startNumber = 0; } + + if ((startNumber+currentPositionTable) <= foundSchedule.length-1) { + scheduleMinuteUpdatedStart = updateMinutesToCurrentTime(foundSchedule[foundNumber].sm); + scheduleHourUpdatedStart = foundSchedule[foundNumber].sh; + scheduleMinuteUpdatedEnd = updateMinutesToCurrentTime(foundSchedule[foundNumber].em); + scheduleHourUpdatedEnd = foundSchedule[foundNumber].eh; + scheduleDay = updateDay(1,foundSchedule[(startNumber+currentPositionTable)].dow); + g.setColor(255,255,255); + g.setFont("8x12",2); + var splitClassNames = splitter(foundSchedule[(startNumber+currentPositionTable)].cn, 15); + var currentY = 5; + for (var j=0; j < splitClassNames.length; j++) { + g.drawString(splitClassNames[j],13,currentY+50); + currentY = currentY + 25; + } + g.setFont("8x12"); + g.drawString(schduleDay,13,currentY+50); + g.drawString(scheduleHourUpdatedStart+":"+scheduleMinuteUpdatedStart+"-"+scheduleHourUpdatedEnd+":"+scheduleMinuteUpdatedEnd,13,currentY+15+50); } - g.setFont("8x12"); - g.drawString(schduleDay,13,currentY+50); - g.drawString(scheduleHourUpdatedStart+":"+scheduleMinuteUpdatedStart+"-"+scheduleHourUpdatedEnd+":"+scheduleMinuteUpdatedEnd,13,currentY+15+50); } var Layout = require("Layout");