From 01d28eac90f24b88bfd288ff2fb6eb026868d9d3 Mon Sep 17 00:00:00 2001
From: Emmanuel Viennet <emmanuel.viennet@gmail.com>
Date: Sat, 25 Jun 2022 16:23:39 +0200
Subject: [PATCH] =?UTF-8?q?Table=20recap=20/=20jury:=20m=C3=A9morise=20ord?=
 =?UTF-8?q?re=20de=20tri?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 app/static/js/table_recap.js | 26 +++++++++++++++++++++++++-
 1 file changed, 25 insertions(+), 1 deletion(-)

diff --git a/app/static/js/table_recap.js b/app/static/js/table_recap.js
index 8d5264412..805153fda 100644
--- a/app/static/js/table_recap.js
+++ b/app/static/js/table_recap.js
@@ -9,6 +9,22 @@ $(function () {
         } else {
             hidden_colums = hidden_colums.concat(["recorded_code"]);
         }
+        // Etat (tri des colonnes) de la table:
+
+        const url = new URL(document.URL);
+        const formsemestre_id = url.searchParams.get("formsemestre_id");
+        const order_info_key = JSON.stringify([url.pathname, formsemestre_id]);
+        let order_info;
+        if (formsemestre_id) {
+            const x = localStorage.getItem(order_info_key);
+            if (x) {
+                try {
+                    order_info = JSON.parse(x);
+                } catch (error) {
+                    console.error(error);
+                }
+            }
+        }
         // Les boutons dépendent du mode BUT ou classique:
         let buttons = [
             {
@@ -169,7 +185,15 @@ $(function () {
                         autoClose: true,
                         buttons: buttons,
                     },
-                ]
+                ],
+                "drawCallback": function (settings) {
+                    // permet de conserver l'ordre de tri des colonnes
+                    let order_info = JSON.stringify($('table.table_recap').DataTable().order());
+                    if (formsemestre_id) {
+                        localStorage.setItem(order_info_key, order_info);
+                    }
+                },
+                "order": order_info,
             }
         );
 
-- 
GitLab