Skip to content
Snippets Groups Projects
Commit fe975f94 authored by DELARUELLE Myriam's avatar DELARUELLE Myriam
Browse files

fin optimisation js

parent d829ae2d
No related merge requests found
...@@ -44,13 +44,16 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'], ...@@ -44,13 +44,16 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
triggerAction(e); triggerAction(e);
}); });
$("#section-select").on('change', function(){ $("#section-select").on('change', function(){
changeSection(); //changeSection();
wrapperChangeSection();
}); });
$("#filter-select").on('change', function(){ $("#completion-select").on('change', function(){
changeCompletion(); //showHideStudents();
wrapperChangeCompletion();
}); });
$("#symbol-select").on('change', function(){ $("#symbol-select").on('change', function(){
changeCompletion(); //showHideStudents();
wrapperChangeCompletion();
}); });
$('.dropdown-menu-form').on('click', function (e) { $('.dropdown-menu-form').on('click', function (e) {
e.stopPropagation(); e.stopPropagation();
...@@ -64,6 +67,7 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'], ...@@ -64,6 +67,7 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
//Evenement pour le selectall : créé une seule fois au chargement de la page //Evenement pour le selectall : créé une seule fois au chargement de la page
registerSelectAllActivitiesFilter:function(){ registerSelectAllActivitiesFilter:function(){
$('.selectallactivities').click(function() { $('.selectallactivities').click(function() {
if ($(".selectallactivities").is(':checked')) { if ($(".selectallactivities").is(':checked')) {
checkAllActivitiesFilter(); checkAllActivitiesFilter();
showHideActivities(); showHideActivities();
...@@ -76,17 +80,18 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'], ...@@ -76,17 +80,18 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
$(".select-text").html(' Select'); $(".select-text").html(' Select');
showHideActivities(); showHideActivities();
} }
reloadTable();
}); });
//initActivityFilter(); //initActivityFilter();
}, },
registerSelectAllGroupsFilter:function(){ registerSelectAllGroupsFilter:function(){
if(data.countstudents<1000){ if(data.countstudents<1000){
console.log("on rentre ici");
checkAllGroupsFilter(); checkAllGroupsFilter();
} }
$('.selectallgroups').click(function() { $('.selectallgroups').click(function(e) {
e.stopPropagation();
if ($(".selectallgroups").is(':checked')) { if ($(".selectallgroups").is(':checked')) {
checkAllGroupsFilter(); checkAllGroupsFilter();
} else { } else {
...@@ -94,12 +99,11 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'], ...@@ -94,12 +99,11 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
updateGroupsFilterLabel(); updateGroupsFilterLabel();
} }
changeGroup(); //changeGroup();
}); });
}, },
initTable:function(){ initTable:function(){
data=fetchProgress(); data=fetchProgress();
...@@ -111,25 +115,25 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'], ...@@ -111,25 +115,25 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
} }
function fetchProgress(){ function fetchProgress(){
console.log("non plutôt on fetch le progress")
completeUrl=getCompleteUrl(); completeUrl=getCompleteUrl();
$.ajax({ url: completeUrl, $.ajax({ url: completeUrl,
data: {action: 'fetchprogress'}, data: {action: 'fetchprogress'},
type: 'post', type: 'post',
success: function(request) { success: function(request) {
data=calcPercentage(JSON.parse(request)); data=calcPercentage(JSON.parse(request));
if(data.students.length<1000){ if(data.students.length<1000){
//localStorage.setItem("groups",request); //localStorage.setItem("groups",request);
} }
initActivityFilter(false); initActivityFilter(false);
displayTotalActivitiesFilter(false); updateActivitiesFilterLabel(false);
initGroupFilter(false);
updateGroupsFilterLabel(false); updateGroupsFilterLabel(false);
showHideActivities(false); showHideActivities(false);
initGroupFilter(false);
registerGroupFilter();
changeSection(false); changeSection(false);
reloadTable(data); reloadTable(data);
return data; return data;
...@@ -137,7 +141,6 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'], ...@@ -137,7 +141,6 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
}); });
} }
function initHeaders(){ function initHeaders(){
var nb_counts=$(".th-rotate").length; var nb_counts=$(".th-rotate").length;
$(".th-rotate").each(function(index, element){ $(".th-rotate").each(function(index, element){
...@@ -154,7 +157,7 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'], ...@@ -154,7 +157,7 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
courseid=urlParams.get('courseid'); courseid=urlParams.get('courseid');
groupid=$("#group-select").val(); groupid=$("#group-select").val();
sectionid=$("#section-select").val(); sectionid=$("#section-select").val();
filter=$("#symbol-select").val() + $("#filter-select").val(); filter=$("#symbol-select").val() + $("#completion-select").val();
completeUrl='suivi_unit.php?courseid='+courseid; completeUrl='suivi_unit.php?courseid='+courseid;
if(sectionid){ if(sectionid){
completeUrl+='&sectionid='+sectionid; completeUrl+='&sectionid='+sectionid;
...@@ -170,7 +173,6 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'], ...@@ -170,7 +173,6 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
//À changer pour intégrer une fonction plus générique //À changer pour intégrer une fonction plus générique
function changeGroup(){ function changeGroup(){
console.log("on va changer le groupe ?");
var completeUrl=getCompleteUrl(); var completeUrl=getCompleteUrl();
var groupscheckboxes= $('input[name="groupoptions[]"]:checked'); var groupscheckboxes= $('input[name="groupoptions[]"]:checked');
var groupsid=[]; var groupsid=[];
...@@ -185,16 +187,16 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'], ...@@ -185,16 +187,16 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
data: {action: 'fetchgroups', groupsid:groupsid}, data: {action: 'fetchgroups', groupsid:groupsid},
type: 'post', type: 'post',
success: function(request) { success: function(request) {
data=calcPercentage(JSON.parse(request));
//initGroupFilter();
//
changeSection(); showHideActivities();
data=calcPercentage(JSON.parse(request));
showHideStudents();
if(data.students.length<1000){ if(data.students.length<1000){
localStorage.setItem("groups",request); localStorage.setItem("groups",request);
} }
reloadTable(data);
updateGroupsFilterLabel(false); updateGroupsFilterLabel(false);
} }
}); });
...@@ -202,9 +204,9 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'], ...@@ -202,9 +204,9 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
//Affiche ou non (dynamiquement, pas de requête) les étudiants selon le filtre d'achèvement //Affiche ou non (dynamiquement, pas de requête) les étudiants selon le filtre d'achèvement
function changeCompletion(changefilter=true){ function showHideStudents(changefilter=true){
symbol=$("#symbol-select").val(); symbol=$("#symbol-select").val();
filter=$("#filter-select").val(); completion=$("#completion-select").val();
data.count_results=0; data.count_results=0;
for(var i=0; i<data.students.length; i++){ for(var i=0; i<data.students.length; i++){
if(data.display_groups==1){ if(data.display_groups==1){
...@@ -213,7 +215,7 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'], ...@@ -213,7 +215,7 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
if(symbol=="<"){ if(symbol=="<"){
if(data.students[i].percentage < filter){ if(data.students[i].percentage < completion){
data.count_results++; data.count_results++;
data.students[i].visible=true; data.students[i].visible=true;
} }
...@@ -222,7 +224,7 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'], ...@@ -222,7 +224,7 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
} }
} }
else if(symbol==">"){ else if(symbol==">"){
if(data.students[i].percentage > filter){ if(data.students[i].percentage > completion){
data.count_results++; data.count_results++;
data.students[i].visible=true; data.students[i].visible=true;
} }
...@@ -231,7 +233,7 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'], ...@@ -231,7 +233,7 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
} }
} }
else if(symbol==""){ else if(symbol==""){
if(data.students[i].percentage <= filter){ if(data.students[i].percentage <= completion){
data.count_results++; data.count_results++;
data.students[i].visible=true; data.students[i].visible=true;
} }
...@@ -240,7 +242,7 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'], ...@@ -240,7 +242,7 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
} }
} }
else if(symbol == ""){ else if(symbol == ""){
if(data.students[i].percentage >= filter){ if(data.students[i].percentage >= completion){
data.count_results++; data.count_results++;
data.students[i].visible=true; data.students[i].visible=true;
} }
...@@ -249,7 +251,7 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'], ...@@ -249,7 +251,7 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
} }
} }
else{ else{
if(data.students[i].percentage == filter){ if(data.students[i].percentage == completion){
data.count_results++; data.count_results++;
data.students[i].visible=true; data.students[i].visible=true;
} }
...@@ -259,15 +261,37 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'], ...@@ -259,15 +261,37 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
} }
} }
if(changefilter==true){ /*if(changefilter==true){
reloadTable(data); reloadTable(data);
} }*/
} }
//on va devoir calculer le pourcentage, check la completion et reload la table à chaque fois //on va devoir calculer le pourcentage, check la completion et reload la table à chaque fois
function wrapperChangeSection(changefilter=true){
changeSection();
reloadTable();
}
function wrapperChangeActivities(changefilter=true){
showHideActivities();
data=calcPercentage();
reloadTable();
}
function wrapperChangeCompletion(changefilter=true){
showHideStudents();
reloadTable();
}
function changeSection(changefilter=true){ function changeSection(changefilter=true){
loadMessage("loading"); loadMessage("loading");
...@@ -290,39 +314,28 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'], ...@@ -290,39 +314,28 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
} }
} }
} }
//Si pas de résultats on recharge juste la table
if(data.count_results==0 && changefilter ==true){ if(data.count_results==0 && changefilter ==true){
reloadTable(data); //reloadTable(data);
} }
else{ else{
data=calcPercentage(data); data=calcPercentage(data);
changeCompletion(changefilter); showHideStudents(changefilter);
} }
changeActivitiesDropdown(data.modules); changeActivitiesDropdown();
}
//Charge les activités dynamiquement en fonction de la section choisie //Vérifier si ça passe ou s'il faut attendre la promise
function changeActivitiesDropdown(modules){
//html='<li><label class="checkbox"><input type="checkbox" class="selectall" value="all" checked>Toutes les activités</label></li><li class="divider"></li>';
html="";
for (var i = 0; i<modules.length;i++){
if(modules[i].visible){
html+='<li><label class="checkbox"><input type="checkbox" name="options[]" checked value='+modules[i].id+' class="option justone-activity">'+modules[i].displayname+'</label></li>';
}
}
$(".iena-dynamic-activities").html(html);
registerActivityFilter(); registerActivityFilter();
checkAllActivitiesFilter(); checkAllActivitiesFilter();
} }
//Affiche/cache dynamiquement les activités sélectionnées
//Affiche/cache dynamiquement les activités sélectionnées DANS LE TABLEAU
function showHideActivities(changefilter=true){ function showHideActivities(changefilter=true){
var arrayActivitiesID=[]; var arrayActivitiesID=[];
var activitiesToStore=[]; var activitiesToStore=[];
var activities = $('input[name="options[]"]'); var activities = $('input[name="options[]"]');
console.log(data.modules);
for(var i=0; i<activities.length;i++){ for(var i=0; i<activities.length;i++){
prog=data.modules.find(element => element.id === activities[i].value); prog=data.modules.find(element => element.id === activities[i].value);
...@@ -344,31 +357,20 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'], ...@@ -344,31 +357,20 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
localStorage.setItem("activities",JSON.stringify(activitiesToStore)); localStorage.setItem("activities",JSON.stringify(activitiesToStore));
} }
if(changefilter==true){ /* if(changefilter==true){
reloadTable(data); reloadTable(data);
} }*/
} }
//Charge message de chargement ou d'erreur
function loadMessage(type){
if(type=="loading"){
var message = str.get_string('loadingResults', 'format_iena');
}
else if(type=="error"){
var message = str.get_string('errorLoadingResults', 'format_iena');
}
$.when(message).done(function(localizedEditString) {
$("#partial-table").html("<div class='alert alert-primary' role='alert'>"+localizedEditString+"</div>");
});
}
//Reload table with new parameters JUST FOR DISPLAYING THE TABLE. //Reload table with new parameters JUST FOR DISPLAYING THE TABLE.
function reloadTable(params){ function reloadTable(params){
console.log("on est dans le reloadTable") if(!params){
params=data;
}
url=getCompleteUrl(); url=getCompleteUrl();
templates.render('format_iena/suivi-table', params) templates.render('format_iena/suivi-table', params)
.done(function(html, js){ .done(function(html, js){
...@@ -385,6 +387,241 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'], ...@@ -385,6 +387,241 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
//Pour chaque module non caché, on va regarder pour chaque étudiant
//Calcule le pourcentage pour les modules VISIBLES ?
function calcPercentage(request){
if(!request){
request=data;
}
for (var i = 0; i < request.students.length; i++) {
request.students[i].percentage=0;
var done=0;
var nb_modules=0;
for(var j=0; j < request.students[i].progress.length;j++){
if(request.modules.find(module => module.id === request.students[i].progress[j].idmodule).visible){
nb_modules++;
if(request.students[i].progress[j].completionstate == 1 || request.students[i].progress[j].completionstate ==2){
done++;
}
}
}
request.students[i].percentage=Math.floor(100 * done / nb_modules);
}
return request;
}
/*Etapes
Premier chargement :
- On initialise les filtres (on les register)
- On a chargé les données en même temps (avec ces filtres par défaut)
- On affiche/cache les modules selon la section
- On calcule le pourcentage selon les modules VISIBLES
- On affiche/cache les étudiants selon le % d'achèvement
*/
//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-activity").on('click', function(e){
e.stopPropagation();
var a = $("input[type='checkbox'].justone-activity");
if(a.length == a.filter(":checked").length){
$('.selectallactivities').prop('checked', true);
$(".select-text").html(' Deselect');
}
else {
$('.selectallactivities').prop('checked', false);
$(".select-text").html(' Select');
}
updateActivitiesFilterLabel();
wrapperChangeActivities();
});
}
//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-activity");
if($("input[type='checkbox'].justone-activity[value="+checkedActivities[0]+"]").length > 0){
if(activities.length===checkedActivities.length ){
$(".selectallactivities").prop("checked", true);
$("input[type='checkbox'].justone-activity").prop("checked", true);
}
else{
$(".selectallactivities").prop("checked", false);
for(var i=0; i<activities.length; i++){
if(checkedActivities.includes(activities[i].value)){
activities[i].checked=true;
}
else{
activities[i].checked=false;
}
}
}
}
}
}
//Coche toutes les activités quand on change de section
function checkAllActivitiesFilter(){
$('.selectallactivities').prop('checked', true);
$('.option').prop('checked', true);
updateActivitiesFilterLabel();
}
//Update activities filter label
function updateActivitiesFilterLabel(){
var total = $('input[name="options[]"]:checked').length;
if(total == $('input[name="options[]"]').length){
var message=str.get_string('allActivities', 'format_iena');
$.when(message).done(function(localizedEditString) {
$(".dropdown-text").html(localizedEditString);
});
}
else{
var message=str.get_string('selectedActivities', 'format_iena');
$.when(message).done(function(localizedEditString) {
$(".dropdown-text").html(total + ' '+localizedEditString);
});
}
}
//Charge les activités dynamiquement en fonction de la section choisie
function changeActivitiesDropdown(){
html="";
for (var i = 0; i<data.modules.length;i++){
if(data.modules[i].visible){
html+='<li><label class="checkbox"><input type="checkbox" name="options[]" checked value='+data.modules[i].id+' class="option justone-activity">'+data.modules[i].displayname+'</label></li>';
}
}
$(".iena-dynamic-activities").html(html);
}
function initGroupFilter(){
$("input[type='checkbox'].justone-group").on('click', function(e){
e.stopPropagation();
var a = $("input[type='checkbox'].justone-group");
if(a.length == a.filter(":checked").length){
$('.selectallgroups').prop('checked', true);
}
else {
$('.selectallgroups').prop('checked', false);
}
updateGroupsFilterLabel();
});
if(localStorage.groups){
var checkedGroups=JSON.parse(localStorage.groups);
var groups=$("input[type='checkbox'].justone-group");
if($("input[type='checkbox'].justone-group[value="+checkedGroups[0]+"]").length > 0){
if(groups.length===checkedGroups.length ){
$(".selectallgroups").prop("checked", true);
$("input[type='checkbox'].justone-group").prop("checked", true);
}
else{
$(".selectallgroups").prop("checked", false);
for(var i=0; i<groups.length; i++){
if(checkedGroups.includes(groups[i].value)){
groups[i].checked=true;
}
else{
groups[i].checked=false;
}
}
}
}
}
else{
if(data.countstudents<1000){
checkAllGroupsFilter();
}
}
}
//Coche tous les groupes quand le select all est coché
function checkAllGroupsFilter(){
$('.selectallgroups').prop('checked', true);
$('.group-option').prop('checked', true);
//changeGroup();
$(".select-text").html(' Deselect');
}
//Update activities filter label
function updateGroupsFilterLabel(){
var total = $('input[name="groupoptions[]"]:checked').length;
if(total == $('input[name="groupoptions[]"]').length){
var message=str.get_string('allGroups', 'format_iena');
$.when(message).done(function(localizedEditString) {
$(".dropdown-text-group").html(localizedEditString);
});
}
else{
var message=str.get_string('selectedGroups', 'format_iena');
$.when(message).done(function(localizedEditString) {
$(".dropdown-text-group").html(total + ' '+localizedEditString);
});
}
}
//Charge message de chargement ou d'erreur
function loadMessage(type){
if(type=="loading"){
var message = str.get_string('loadingResults', 'format_iena');
}
else if(type=="error"){
var message = str.get_string('errorLoadingResults', 'format_iena');
}
$.when(message).done(function(localizedEditString) {
$("#partial-table").html("<div class='alert alert-primary' role='alert'>"+localizedEditString+"</div>");
});
}
//****************************** Fonctions liées à l'envoi de messages aux étudiants et au téléchargement du csv **************************//
//Récupère les étudiants sélectionnées par les checkbox //Récupère les étudiants sélectionnées par les checkbox
function getSelectedStudents(){ function getSelectedStudents(){
var selectedChecks=$("#table-body input:checked"); var selectedChecks=$("#table-body input:checked");
...@@ -555,199 +792,4 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'], ...@@ -555,199 +792,4 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
} }
//Pour chaque module non caché, on va regarder pour chaque étudiant
//Calcule le pourcentage pour les modules VISIBLES ?
function calcPercentage(data){
for (var i = 0; i < data.students.length; i++) {
data.students[i].percentage=0;
var done=0;
var nb_modules=0;
for(var j=0; j < data.students[i].progress.length;j++){
if(data.modules.find(module => module.id === data.students[i].progress[j].idmodule).visible){
nb_modules++;
if(data.students[i].progress[j].completionstate == 1 || data.students[i].progress[j].completionstate ==2){
done++;
}
}
}
data.students[i].percentage=Math.floor(100 * done / nb_modules);
}
return data;
}
//Update activities filter label
function updateActivitiesFilterLabel(){
var total = $('input[name="options[]"]:checked').length;
if(total == $('input[name="options[]"]').length){
var message=str.get_string('allActivities', 'format_iena');
$.when(message).done(function(localizedEditString) {
$(".dropdown-text").html(localizedEditString);
});
}
else{
var message=str.get_string('selectedActivities', 'format_iena');
$.when(message).done(function(localizedEditString) {
$(".dropdown-text").html(total + ' '+localizedEditString);
});
}
}
//Coche toutes les activités quand on change de section
function checkAllActivitiesFilter(){
$('.selectallactivities').prop('checked', true);
$('.option').prop('checked', true);
updateActivitiesFilterLabel();
$(".select-text").html(' Deselect');
}
//Coche tous les groupes quand le select all est coché
function checkAllGroupsFilter(){
$('.selectallgroups').prop('checked', true);
$('.group-option').prop('checked', true);
//changeGroup();
$(".select-text").html(' Deselect');
}
//Update activities filter label
function updateGroupsFilterLabel(){
var total = $('input[name="groupoptions[]"]:checked').length;
if(total == $('input[name="groupoptions[]"]').length){
var message=str.get_string('allGroups', 'format_iena');
$.when(message).done(function(localizedEditString) {
$(".dropdown-text-group").html(localizedEditString);
});
}
else{
var message=str.get_string('selectedGroups', 'format_iena');
$.when(message).done(function(localizedEditString) {
$(".dropdown-text-group").html(total + ' '+localizedEditString);
});
}
}
/*Etapes
Premier chargement :
- On initialise les filtres (on les register)
- On a chargé les données en même temps (avec ces filtres par défaut)
- On affiche/cache les modules selon la section
- On calcule le pourcentage selon les modules VISIBLES
- On affiche/cache les étudiants selon le % d'achèvement
*/
//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-activity").on('click', function(e){
e.stopPropagation();
var a = $("input[type='checkbox'].justone-activity");
if(a.length == a.filter(":checked").length){
$('.selectallactivities').prop('checked', true);
$(".select-text").html(' Deselect');
}
else {
$('.selectallactivities').prop('checked', false);
$(".select-text").html(' Select');
}
updateActivitiesFilterLabel();
showHideActivities();
});
}
function registerGroupFilter(){
$("input[type='checkbox'].justone-group").on('click', function(e){
e.stopPropagation();
var a = $("input[type='checkbox'].justone-group");
if(a.length == a.filter(":checked").length){
$('.selectallgroups').prop('checked', true);
}
else {
$('.selectallgroups').prop('checked', false);
}
//Pourquoi ?
//displayTotalActivitiesFilter();
});
}
//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-activity");
if($("input[type='checkbox'].justone-activity[value="+checkedActivities[0]+"]").length > 0){
if(activities.length===checkedActivities.length ){
$(".selectallactivities").prop("checked", true);
$("input[type='checkbox'].justone-activity").prop("checked", true);
}
else{
$(".selectallactivities").prop("checked", false);
for(var i=0; i<activities.length; i++){
if(checkedActivities.includes(activities[i].value)){
activities[i].checked=true;
}
else{
activities[i].checked=false;
}
}
}
}
}
}
function initGroupFilter(){
if(localStorage.groups){
var checkedGroups=JSON.parse(localStorage.groups);
var groups=$("input[type='checkbox'].justone-group");
if($("input[type='checkbox'].justone-group[value="+checkedGroups[0]+"]").length > 0){
if(groups.length===checkedGroups.length ){
$(".selectallgroups").prop("checked", true);
$("input[type='checkbox'].justone-group").prop("checked", true);
}
else{
$(".selectallgroups").prop("checked", false);
for(var i=0; i<groups.length; i++){
if(checkedGroups.includes(groups[i].value)){
groups[i].checked=true;
}
else{
groups[i].checked=false;
}
}
}
}
}
else{
if(data.countstudents<1000){
checkAllGroupsFilter();
}
}
//Pourquoi ?
// displayTotalActivitiesFilter();
}
}); });
...@@ -126,7 +126,7 @@ ...@@ -126,7 +126,7 @@
{{/symbols}} {{/symbols}}
</select> </select>
<select class="custom-select mr-sm-2" id="filter-select" name="filter"> <select class="custom-select mr-sm-2" id="completion-select" name="filter">
{{#filters}} {{#filters}}
<option {{selected}} value='{{value}}'>{{name}}</option> <option {{selected}} value='{{value}}'>{{name}}</option>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment