Hide empty courses, click to show them

Fixes #7
This commit is contained in:
Thomas Forgione
2017-10-03 14:17:26 +02:00
parent fabbae223e
commit 64e1316b1e
4 changed files with 79 additions and 30 deletions

View File

@@ -20,22 +20,27 @@ function fromIcal(string) {
}
cal.Type = {
TD: 1,
TP: 2,
BE: 3,
CTD: 4,
CM: 5,
Other: 6,
CM: 1,
CTD: 2,
TD: 3,
TP: 4,
Other: {
BE: 5,
Examen: 6,
},
Unkown: 7,
}
cal.getTypeName = function(type) {
switch (type) {
case cal.Type.TD: return "TD";
case cal.Type.TP: return "TP";
case cal.Type.CTD: return "CTD";
case cal.Type.CM: return "CM";
case cal.Type.BE: return "BE";
default: return "Other";
case cal.Type.TD: return "TD";
case cal.Type.TP: return "TP";
case cal.Type.CTD: return "CTD";
case cal.Type.CM: return "CM";
case cal.Type.Other.BE:
case cal.Type.Other.Examen:
return "Other";
default: return "Unknown";
}
}
@@ -43,7 +48,8 @@ cal.getFactor = function(type) {
switch (type) {
case cal.Type.TD:
case cal.Type.TP:
case cal.Type.BE:
case cal.Type.Other.BE:
case cal.Type.Other.Examen:
return 1;
case cal.Type.CTD: return 1.25;
case cal.Type.CM: return 1.5;
@@ -51,6 +57,23 @@ cal.getFactor = function(type) {
}
}
cal.getTypeFromName = function(name) {
if (name.indexOf("CTD") !== -1) {
return cal.Type.CTD;
} else if (name.indexOf("TP") !== -1) {
return cal.Type.TP;
} else if (name.indexOf("TD") !== -1) {
return cal.Type.TD;
} else if (name.indexOf("CM") !== -1) {
return cal.Type.CM;
} else if (name.indexOf("BE") !== -1) {
return cal.Type.Other.BE;
} else if (name.indexOf("Examen") !== -1) {
return cal.Type.Other.Examen;
}
}
cal.Event = class {
constructor(content, firstLineIndex = 0) {
@@ -58,24 +81,14 @@ cal.Event = class {
this.finishTime = undefined;
this.name = undefined;
this.location = undefined;
this.type = cal.Type.Other;
this.type = cal.Type.Unkown;
if (content !== undefined)
this.setFromContent(content, firstLineIndex);
}
guessTypeFromName() {
if (this.name.indexOf("CTD") !== -1) {
this.type = cal.Type.CTD;
} else if (this.name.indexOf("TP") !== -1) {
this.type = cal.Type.TP;
} else if (this.name.indexOf("TD") !== -1) {
this.type = cal.Type.TD;
} else if (this.name.indexOf("CM") !== -1) {
this.type = cal.Type.CM;
} else if (this.name.indexOf("BE") !== -1) {
this.type = cal.Type.BE;
}
this.type = cal.getTypeFromName(this.name);
}
getDurationInHours() {