From 75826a3f69794e593ab124a8c5cefb765b38e5e9 Mon Sep 17 00:00:00 2001
From: Myriam Delaruelle <myriam.delaruelle@univ-lorraine.fr>
Date: Thu, 29 Jun 2023 15:42:53 +0200
Subject: [PATCH] fix filter activity

---
 amd/build/suivi.js | 24 +++++++++++++++++++++---
 styles.css         | 12 ++++++++++--
 2 files changed, 31 insertions(+), 5 deletions(-)

diff --git a/amd/build/suivi.js b/amd/build/suivi.js
index 37194de..7535e2b 100644
--- a/amd/build/suivi.js
+++ b/amd/build/suivi.js
@@ -227,7 +227,6 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
         var arrayActivitiesID=[];
         var activitiesToStore=[];
         var activities = $('input[name="options[]"]');
-    
         for(var i=0; i<activities.length;i++){
 
             prog=data.modules.find(element => element.id === activities[i].value);
@@ -481,6 +480,7 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
         $('.selectall').click(function() {
             if ($(".selectall").is(':checked')) {
                 checkAllActivitiesFilter();
+                displayActivities();
             } else {
                 $('.option').prop('checked', false);
                 var message=str.get_string('selectedActivities', 'format_iena');
@@ -488,6 +488,7 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
                     $(".dropdown-text").html('0 '+localizedEditString);
                 }); 
                 $(".select-text").html(' Select');
+                displayActivities();
             }
         });
         initActivityFilter();
@@ -496,7 +497,7 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
 
     //On va recharger dynamiquement les options donc on doit recréer les événements à chaque fois qu'on change de section
     function registerActivityFilter(){
-        $("input[type='checkbox'].justone").change(function(){
+        /*$("input[type='checkbox'].justone").change(function(){
             var a = $("input[type='checkbox'].justone");
             if(a.length == a.filter(":checked").length){
                 console.log("on va sélectionner tout du coup");
@@ -509,10 +510,21 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
                 $(".select-text").html(' Select');
             }
             displayTotalActivitiesFilter();
-        });
+        });*/
 
         $("input[type='checkbox'].justone").on('click', function(e){
             e.stopPropagation();
+             var a = $("input[type='checkbox'].justone");
+            if(a.length == a.filter(":checked").length){
+                $('.selectall').prop('checked', true);
+                $(".select-text").html(' Deselect');
+            }
+            else {
+
+                $('.selectall').prop('checked', false);
+                $(".select-text").html(' Select');
+            }
+            displayTotalActivitiesFilter();
             displayActivities();
         });
 
@@ -534,6 +546,7 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
                 $(".dropdown-text").html(total + ' '+localizedEditString);
             }); 
         }
+        //displayActivities();
           
 
     }
@@ -541,14 +554,17 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
     //Stocke le filtre des activités en localStorage pour ne pas avoir 50 id dans l'url
     //On fait bien attention à rétablir cocher le selectall si toutes les activités sont bien cochées
     function initActivityFilter(){
+
         if(localStorage.activities){
             var checkedActivities=JSON.parse(localStorage.activities);
             var activities=$("input[type='checkbox'].justone");
             if(activities.length===checkedActivities.length){
+
                 $(".selectall").prop("checked", true);
                 $("input[type='checkbox'].justone").prop("checked", true);
             }
             else{
+
                 $(".selectall").prop("checked", false);
                 for(var i=0; i<activities.length; i++){
                     if(checkedActivities.includes(activities[i].value)){
@@ -559,8 +575,10 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
                     }
                 }
             }
+
         }
         displayTotalActivitiesFilter();
+        displayActivities();
     }
 
     //Coche toutes les activités quand on change de section
diff --git a/styles.css b/styles.css
index d4b5811..5b44819 100644
--- a/styles.css
+++ b/styles.css
@@ -695,7 +695,7 @@ span#days-text{
 /* Permet la rotation des entêtes du tableau */
 th.th-rotate {
 	/* Something you can count on */
-	height: 140px;
+	height: 185px;
 	white-space: nowrap;
 	position: sticky;
 	top:0;
@@ -714,7 +714,7 @@ th.th-rotate > div {
 th.th-rotate > div > span {
 	border-bottom: 1px solid #ccc;
 	padding: 0px 3px;
-    width: 180px;
+    width: 240px;
     display: block;
 
 }
@@ -1052,6 +1052,14 @@ th.first-column-iena, th.second-column-iena, th.actions-column-iena, th.third-co
     margin-left: 0;
 }
 
+.iena-dynamic-options label{
+    white-space: nowrap;
+text-overflow: ellipsis;
+width: 94%;
+display: block;
+overflow: hidden;
+}
+
 .dropdown-menu .divider{
     height: 1px;
     margin: 9px 0;
-- 
GitLab