1 line
2.5 KiB
JavaScript
1 line
2.5 KiB
JavaScript
import{$ as e,B as t,D as n,F as r,H as i,I as a,J as o,L as s,M as c,R as l,T as u,V as d,Y as f,_ as p,d as m,f as h,g,h as _,j as v,n as y,v as b,w as x,x as S,y as C}from"../chunks/egdMPJ-g.js";import"../chunks/BMRk7WTg.js";import{t as w}from"../chunks/DNBIa2Bh.js";var T=S(`<option> </option>`),E=S(`<option> </option>`),D=S(`<select class="svelte-190s2eg"></select>`),O=S(`<th class="svelte-190s2eg"> </th>`),k=S(`<td> </td>`),A=S(`<tr><td class="svelte-190s2eg"> </td><!></tr>`),j=S(`<div class="matrix-container svelte-190s2eg"><table class="svelte-190s2eg"><thead><tr><th class="svelte-190s2eg">Student</th><!></tr></thead><tbody></tbody></table></div>`),M=S(`<p>Loading matrix...</p>`),N=S(`<h1>Attendance Matrix</h1> <div class="selectors svelte-190s2eg"><select class="svelte-190s2eg"></select> <!></div> <!>`,1);function P(x,S){f(S,!0);let P=d(l([])),F=d(null),I=d(l([])),L=d(null),R=d(null);y(async()=>{t(P,await w.admin.courses.list(),!0),n(P).length>0&&t(F,n(P)[0].id,!0)}),c(()=>{n(F)&&w.admin.sessions.list(n(F)).then(e=>{t(I,e,!0),n(I).length>0&&t(L,n(I)[0].id,!0)})}),c(()=>{n(L)&&w.admin.sessions.getAttendance(n(L)).then(e=>t(R,e,!0))});async function z(e,r){if(!n(R))return;let i=n(R).attendances.find(t=>t.slot_id===e&&t.student_id===r);try{i?await w.admin.slots.deleteAttendance(e,r):await w.admin.slots.addAttendance(e,r),t(R,await w.admin.sessions.getAttendance(n(L)),!0)}catch(e){alert(e)}}var B=N(),V=s(a(B),2),H=r(V);_(H,21,()=>n(P),g,(t,i)=>{var a=T(),o=r(a,!0);e(a);var s={};v(()=>{b(o,n(i).name),s!==(s=n(i).id)&&(a.value=(a.__value=n(i).id)??``)}),C(t,a)}),e(H);var U=s(H,2),W=i=>{var a=D();_(a,21,()=>n(I),g,(t,i)=>{var a=E(),o=r(a);e(a);var s={};v(()=>{b(o,`Week ${n(i).week_nr??``} (${n(i).date??``})`),s!==(s=n(i).id)&&(a.value=(a.__value=n(i).id)??``)}),C(t,a)}),e(a),m(a,()=>n(L),e=>t(L,e)),C(i,a)};p(U,e=>{n(I).length>0&&e(W)}),e(V);var G=s(V,2),K=t=>{var a=j(),o=r(a),c=r(o),l=r(c);_(s(r(l)),17,()=>n(R).slots,g,(t,i)=>{var a=O(),o=r(a,!0);e(a),v(()=>b(o,n(i).start_time)),C(t,a)}),e(l),e(c);var d=s(c);_(d,21,()=>n(R).students,g,(t,a)=>{var o=A(),c=r(o),l=r(c,!0);e(c),_(s(c),17,()=>n(R).slots,g,(t,o)=>{let s=i(()=>n(R).attendances.some(e=>e.slot_id===n(o).id&&e.student_id===n(a).id));var c=k();let l;var d=r(c,!0);e(c),v(()=>{l=h(c,1,`cell svelte-190s2eg`,null,l,{present:n(s)}),b(d,n(s)?`✓`:``)}),u(`click`,c,()=>z(n(o).id,n(a).id)),C(t,c)}),e(o),v(()=>b(l,n(a).name)),C(t,o)}),e(d),e(o),e(a),C(t,a)},q=e=>{C(e,M())};p(G,e=>{n(R)?e(K):e(q,-1)}),m(H,()=>n(F),e=>t(F,e)),C(x,B),o()}x([`click`]);export{P as component}; |