burningTyger 5 rokov pred
rodič
commit
1cf380aedd
1 zmenil súbory, kde vykonal 23 pridanie a 14 odobranie
  1. 23 14
      components/projektwoche.svelte

+ 23 - 14
components/projektwoche.svelte

@@ -12,12 +12,12 @@
           </tr>
         </thead>
         <tbody>
-          {#each schuelers as s}
+          {#each schuelers as s,i}
             <tr>
               <td>{s.hashid}</td>
               <td>{s.Name}</td>
               <td>{s.Vorname}</td>
-              <td class={'has-background-'+wahl(s)} on:click={() => modalset(s)} style="cursor: pointer">
+              <td class={'has-background-'+wahl(s)} on:click={() => modalset(s,i)} style="cursor: pointer">
                 {`Woche: ${s.woche == null ? '–' : s.woche} Mo/Di: ${s.mo_di == null ? '–' : s.mo_di} Mi/Do ${s.mi_do == null ? '–' : s.mi_do}`}
               </td>
             </tr>
@@ -42,8 +42,8 @@
             <tr>
               <td>{k.klasse}</td>
               <td class={`has-text-${k.abwesenheit === 0 ? 'danger':'success'}`} style="cursor: pointer;" on:click={() => switcher(i,0)}>{k.abwesenheit === 0 ? '✘':'✔'}</td>
-              <td class={`has-text-${k.abwesenheit === 1 ? 'danger':'success'}`} style="cursor: pointer;">{k.abwesenheit === 1 ? '✔':'✘'}</td>
-              <td class={`has-text-${k.abwesenheit === 2 ? 'danger':'success'}`} style="cursor: pointer;">{k.abwesenheit === 2 ? '✔':'✘'}</td>
+              <td class={`has-text-${k.abwesenheit === 1 ? 'danger':'success'}`} style="cursor: pointer;" on:click={() => switcher(i,1)}>{k.abwesenheit === 1 ? '✘':'✔'}</td>
+              <td class={`has-text-${k.abwesenheit === 2 ? 'danger':'success'}`} style="cursor: pointer;" on:click={() => switcher(i,2)}>{k.abwesenheit === 2 ? '✘':'✔'}</td>
             </tr>
           {/each}
         </tbody>
@@ -130,7 +130,6 @@
   </div>
 {/if}
 
-{@debug}
 <script>
   export let schueler, privat
   let projekte = [];
@@ -158,7 +157,7 @@
                   ) as gewaehlt_mi_do
                 FROM projekte`,
       (err, resp) => projekte = resp.rows)
-    pool.query(`SELECT * FROM klassen`,
+    pool.query(`SELECT * FROM klassen ORDER BY klasse`,
       (err, resp) => klassen = resp.rows)
   function wahl (s) {
     if (s.woche === s.mo_di && s.woche === s.mi_do) return 'danger'
@@ -174,17 +173,27 @@
                   RETURNING *`
     const values = [modal_s.hashid, selected_woche, selected_mo_di, selected_mi_do]
     try {
-      await pool.query(text, values)
+      const res = await pool.query(text, values)
+      const data = res.rows[0]
+      Object.assign(modal_s, data)
+      schueler = schueler
     } catch(err) {
       console.log(err.stack)
     }
   }
-  let update
-  async function switcher(i, id) {
-    // const klasse = klassen.find(x => x.klasse === k.klasse)
-    // klasse.abwesenheit = k.abwesenheit === null ?  4 : null
-    klassen[i].abwesenheit = id
-    klassen = klassen
-    console.log(klassen)
+  async function switcher(i, art) {
+    const abwesenheit = klassen[i].abwesenheit === null || klassen[i].abwesenheit !== art ? art : null
+    const text = `UPDATE klassen SET abwesenheit = $1
+                  WHERE klasse = $2
+                  RETURNING abwesenheit`
+    const values = [abwesenheit, klassen[i].klasse]
+    try {
+      const res = await pool.query(text, values)
+      const data = res.rows[0]
+      Object.assign(klassen[i], data)
+      klassen = klassen
+    } catch(err) {
+      console.log(err.stack)
+    }
   }
 </script>