diff --git a/apps/schoolCalendar/custom.html b/apps/schoolCalendar/custom.html
index 49e0acb13..225049b28 100644
--- a/apps/schoolCalendar/custom.html
+++ b/apps/schoolCalendar/custom.html
@@ -94,14 +94,14 @@
require("Font8x12").add(Graphics);
require("Font7x11Numeric7Seg", 2).add(Graphics);
-let nIntervId;
+var file = require("Storage").open("calendarItems.csv","w");
+let nIntervId;
function redrawScreen() {
layout.render(layout.background);
layout.render(layout.buttons);
draw();
}
-
function updateDay(ffunction,day){
if(ffunction == 1){
switch (day) {
@@ -174,12 +174,13 @@ function updateDay(ffunction,day){
return day;
}
}
-
function getScheduleTable() {
let schedule = ${JSON.stringify(schedule)};
return schedule;
}
+file.write(JSON.stringify(schedule));
+
function findNextScheduleIndex() {
var schedule = getScheduleTable();
var currentDate = new Date();
@@ -194,16 +195,10 @@ function findNextScheduleIndex() {
}
return 0;
}
-
-
function getUpArrow() {return require("heatshrink").decompress(atob("hkOyANKmv9AIIjRCoYZRlvdAI8U3YVK3oBJC4Mc7YVRC4sc7gVCzoBNC4oZDGowXGR58lvoBFC9FcAIoXongBFC58dngBFC6EcAIoPHA"));}
-
function getDownArrow() {return require("heatshrink").decompress(atob("hkOyALImv9AIojPmvdAIoXPlvdAIoXQ3oBFC9GdAIoXnkt9AIoPPAI8U3cc7cc7gBBDIVcAJYXFGYwXOLpU8AI4XBO5sdjgBFR54ZFBpIA=="));}
-
function getMenuIcon() {return require("heatshrink").decompress(atob("iEQyBC/AEU+rwBEn02js17st3stvklrkljkc/cc3cUzYBBD5AdUD4oA/P/4A/P/4A/ADoA=="));}
-
function getDotIcon() {return require("heatshrink").decompress(atob("iEQyBC/AA0t3oBBA4ndAIIPGA4gAFkt9lt9AYIHEzoBBBIwRED41cks8AYIJGA44RGP8xtGP44RJBYh1CAIIHHBJJ/KroBBPoqBFB4YRDAA8dngHHBJKdq3oBDBI4RNP4l9AIYHHBJJBJks8AIIHTAH4ABA="));}
-
var currentPositionTable = 0;
var numberOfItemsShown = 8;
//Table Positions:
@@ -215,7 +210,6 @@ var rectEndX = 210;
LIST = 1;
INFORMATION = 2;
currentStage = LIST;
-
function splitter(str, l){
var strs = [];
while(str.length > l){
@@ -230,7 +224,6 @@ function splitter(str, l){
strs.push(str);
return strs;
}
-
function updateMinutesToCurrentTime(currentMinuteFunction) {
if (currentMinuteFunction<10){
currentMinuteUpdatedFunction = "0"+currentMinuteFunction;
@@ -239,12 +232,10 @@ function updateMinutesToCurrentTime(currentMinuteFunction) {
}
return currentMinuteUpdatedFunction;
}
-
function renderBackground(l) {
g.clearRect(0,0,240,20);
g.drawImage(getBackgroundImage(),110,130,{scale:9,rotate:0});
}
-
function renderTable(l) {
var foundNumber = findNextScheduleIndex();
var yellowIndex = 3;
@@ -258,7 +249,6 @@ function renderTable(l) {
g.setColor(255,0,0);
g.drawRect(rectStartX,rectStart+(currentPositionTable*20),rectEndX,rectEnd+(20*currentPositionTable));
}
-
function renderTableText(l) {
var foundSchedule = getScheduleTable();
var foundNumber = findNextScheduleIndex();
@@ -266,8 +256,6 @@ function renderTableText(l) {
if (startNumber < 0) { startNumber = 0; }
var endNumber = startNumber + 8 - (foundNumber - startNumber);
if (endNumber > foundSchedule.length-1) { endNumber = foundSchedule.length-1; }
-
-
var scheduleHourUpdated;
var scheduleMinuteUpdated;
for(var currentNumber = startNumber; currentNumber<=endNumber; currentNumber++){
@@ -284,7 +272,6 @@ function renderTableText(l) {
g.drawString(scheduleHourUpdatedStart+":"+scheduleMinuteUpdatedStart+"-"+scheduleHourUpdatedEnd+":"+scheduleMinuteUpdatedEnd+" "+schduleDay+" "+scheduleDecriptionUpdated,13,50+(currentNumber*20));
}
}
-
function buttonsF(l){
if(currentStage == LIST){
g.drawImage(getDotIcon(),223.5,115);
@@ -294,7 +281,6 @@ function buttonsF(l){
g.drawImage(getUpArrow(),225,30);
g.drawImage(getDownArrow(),225,215);
}
-
function draw() {
var currentDate = new Date();
var currentDayOfWeek = currentDate.getDay();
@@ -320,7 +306,6 @@ function draw() {
layout.render(layout.time);
}
}
-
function RedRectDown() {
if(currentPositionTable > 0){
currentPositionTable -= 1;
@@ -331,7 +316,6 @@ function RedRectDown() {
}
}
}
-
function RedRectUp() {
if(currentPositionTable < numberOfItemsShown){
currentPositionTable += 1;
@@ -342,24 +326,20 @@ function RedRectUp() {
}
}
}
-
function renderMiniBackground(l){
for(var i = 233;i<=240;i++){
g.drawImage(getBackgroundImage(),i,123,{scale:10,rotate:0});
}
}
-
function renderLoading(l){
g.setFont("8x12");
g.drawString("Loading...",240/2-20,240/2-20);
}
-
function renderInformation(l){
var foundNumber = findNextScheduleIndex();
var foundSchedule = getScheduleTable();
var startNumber = foundNumber - 2;
if (startNumber < 0) { startNumber = 0; }
-
if ((startNumber+currentPositionTable) <= foundSchedule.length-1) {
scheduleMinuteUpdatedStart = updateMinutesToCurrentTime(foundSchedule[foundNumber].sm);
scheduleHourUpdatedStart = foundSchedule[foundNumber].sh;
@@ -379,7 +359,6 @@ function renderInformation(l){
g.drawString(scheduleHourUpdatedStart+":"+scheduleMinuteUpdatedStart+"-"+scheduleHourUpdatedEnd+":"+scheduleMinuteUpdatedEnd,13,currentY+15+50);
}
}
-
var Layout = require("Layout");
var layout = new Layout(
{type:"h", c: [
@@ -399,12 +378,8 @@ var layout = new Layout(
{label:"", cb: l=>print("Two")},
{label:"", cb: RedRectDown()}
]});
-
-
function getBackgroundImage() {return require("heatshrink").decompress(atob("j0ZyEKIf4A4gIB6gQB6gYB6ggB6goB6gwB6g4B6hAABAYIBHBZIVLAK8IhIBXgAThhQB6hYB6hgB6hoB6hwB6h4B6iAB6iIB6iQBHiAJOB54XSiYB6igB6ioB6iwB6i4B5A="));}
-
function logDebug(message) {console.log(message);}
-
function changeScene(){
layout.render(layout.buttons);
if(currentStage == INFORMATION){
@@ -418,17 +393,12 @@ function changeScene(){
layout.render(layout.buttons);
draw();
}
-
// timeout used to update every minute
var drawTimeout;
-
setInterval(draw, 15000);
-
-
setWatch(RedRectUp, BTN3, { repeat:true, edge:'rising', debounce : 50 });
setWatch(RedRectDown, BTN1, { repeat:true, edge:'rising', debounce : 50 });
setWatch(changeScene, BTN2, { repeat:true, edge:'rising', debounce : 50 });
-
layout.update();
layout.render(layout.loading);
layout.render(layout.background);