function getEvents() {
return new Promise((resolve, reject) => {
$.getJSON("events.json", function(data) {
resolve(data);
});
});
}
db = new PouchDB("main");
subjects = {};
function setUpForm() {
for(let vert in subjects) {
$('#verts').append(`
${vert}
`);
for(let sub of subjects[vert].keys()) {
$('#verts').append(`
`);
}
$('#verts').append(``);
}
$('#settings').on('click', '*', e => {
renderTable();
});
}
async function renderTable() {
tbl = $('#table');
checked_subj = new Set();
for(let subj of $('.subj'))
if($(subj).prop('checked'))
checked_subj.add(subj.value);
types = $('#type').val();
if(types.length === 0)
types = ['tut', 'lect'];
console.log( types.lenght );
week = $('#week').val();
allsub = [];
for(let time of Array.from({length: 7}, (x, i) => i + 1)) {
allsub.push(db.find({
sort: ["day"],
selector:
{name: {$in:Array.from(checked_subj)},day: {$exists: true}, time: time, week: {$in:[week, 'both']}, type: {$in: types}}}));
}
subs = await Promise.all(allsub);
let content = `
DS
`;
for(let day of ["Mo", "Di", "Mi", "Do", "Fr"])
content += `
${day}
`;
content += `
`;
for(let time in subs) {
content += `
${parseInt(time) + 1}`;
last_day = 0;
weekday_subs = Array.from({length: 5}, (x, i) => []);
for(let sub of subs[time].docs) {
weekday_subs[sub.day].push(sub);
}
for (let day of weekday_subs) {
content += `