import { QUARTERS, CLASSES } from './classes';
import { Model } from './model';
import { TotalCredits } from './credits';
var model = new Model();
export function ShowUI() {
let html : string[] = [];
if (model.quarter === undefined) {
for (let i = 0; i < QUARTERS.length; i++) {
html.push('<div>');
html.push(
'<button type="button" class="btn btn-dark"' +
' onclick="PickQuarter(' + i + ')">' +
QUARTERS[i] +
'</button>');
html.push('</div>');
}
} else {
html.push('<div><button type="button" class="btn btn-link"' +
' onclick="Back()">Back</button></div>');
html.push('<p>Choose your classes:</p>');
html.push('<div class="choices">');
for (let i = 0; i < CLASSES[model.quarter].length; i++) {
const name = CLASSES[model.quarter][i];
html.push('<div class="form-check">');
html.push('<input class="form-check-input" type="checkbox"' +
' value="' + i + '"' +
(model.hasClass(name) ? ' checked' : '') +
' onchange="ClassChange(event)">');
html.push('<label class="form-check-label">');
html.push(name);
html.push('</label>');
html.push('</div>');
}
html.push('</div>');
html.push('<p>Total of ' + TotalCredits(model.classes) + ' credits.</p>');
}
let elem = document.getElementById('content');
elem.innerHTML = html.join('\n');
}
function PickQuarter(index: number) {
model.resetQuarter(QUARTERS[index]);
ShowUI();
}
function Back() {
model.resetQuarter(undefined);
ShowUI();
}
function ClassChange(evt: any) {
const cls = CLASSES[model.quarter][parseInt(evt.target.value)];
if (evt.target.checked) {
model.addClass(cls);
} else {
model.removeClass(cls);
}
ShowUI();
}
window["PickQuarter"] = PickQuarter;
window["Back"] = Back;
window["ClassChange"] = ClassChange;