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

fin de l'ajout du filtre, css, compteurs d'activités sélectionnées

parent eb356501
Branches
No related tags found
Loading
...@@ -27,30 +27,32 @@ define(['jquery'], ...@@ -27,30 +27,32 @@ define(['jquery'],
nb_results=$("#table-body input").length; nb_results=$("#table-body input").length;
$("#select-actions-suivi-iena").prop("disabled", true); $("#select-actions-suivi-iena").prop("disabled", true);
return{ return{
registerSelectAll:function(){ registerSelectAll:function(){
all_selected=false; all_selected=false;
$('#iena-select-all').on('click', function(e){ if(!$._data( $('#iena-select-all')[0], 'events' )){
select_all_studs(e); $('#iena-select-all').on('click', function(e){
}); select_all_studs(e);
$(".checkstudent").on("click", function(){ });
checkSelectActions(); $(".checkstudent").on("click", function(){
}) checkSelectActions();
})
}
} }
} }
function select_all_studs(e) { function select_all_studs(e) {
all_selected=!all_selected;
all_selected=!all_selected; var counter = 0;
var counter = 0; var checks = document.querySelectorAll("#table-body tr");
var checks = document.querySelectorAll("#table-body tr"); for (var i = 0; i < checks.length; i++) {
for (var i = 0; i < checks.length; i++) { if ( checks[i].style.display != "none" || all_selected ) {
if ( checks[i].style.display != "none" || all_selected ) { var box = checks[i].querySelector("input[type='checkbox']");
var box = checks[i].querySelector("input[type='checkbox']"); box.checked = all_selected;
box.checked = all_selected; counter++;
counter++; }
} }
}
checkSelectActions(); checkSelectActions();
} }
......
...@@ -54,8 +54,9 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'], ...@@ -54,8 +54,9 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
e.stopPropagation(); e.stopPropagation();
}); });
registerActivityFilter();
changeSection(); changeSection();
registerSelectAllActivitiesFilter();
/*calcPercentage(data); /*calcPercentage(data);
changeCompletion();*/ changeCompletion();*/
} }
...@@ -203,15 +204,11 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'], ...@@ -203,15 +204,11 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
else{ else{
data=calcPercentage(data); data=calcPercentage(data);
changeCompletion(); changeCompletion();
//reloadTable(data);
} }
changeActivitiesDropdown(data.modules); changeActivitiesDropdown(data.modules);
//reloadTable(data);
} }
//Charge les activités dynamiquement en fonction de la section choisie
function changeActivitiesDropdown(modules){ 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='<li><label class="checkbox"><input type="checkbox" class="selectall" value="all" checked>Toutes les activités</label></li><li class="divider"></li>';
html=""; html="";
...@@ -223,6 +220,7 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'], ...@@ -223,6 +220,7 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
} }
$(".iena-dynamic-options").html(html); $(".iena-dynamic-options").html(html);
registerActivityFilter(); registerActivityFilter();
checkAllActivitiesFilter();
} }
function displayActivities(){ function displayActivities(){
...@@ -270,6 +268,7 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'], ...@@ -270,6 +268,7 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
}); });
} }
//Reload table with nex parameters.
function reloadTable(params){ function reloadTable(params){
url=getCompleteUrl(); url=getCompleteUrl();
templates.render('format_iena/suivi-table', params) templates.render('format_iena/suivi-table', params)
...@@ -278,6 +277,7 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'], ...@@ -278,6 +277,7 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
templates.runTemplateJS(js); templates.runTemplateJS(js);
window.history.pushState('suivi',"", url); window.history.pushState('suivi',"", url);
initHeaders(); initHeaders();
}) })
.fail(function(){ .fail(function(){
loadMessage("error"); loadMessage("error");
...@@ -476,20 +476,11 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'], ...@@ -476,20 +476,11 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
//reloadTable(data); //reloadTable(data);
} }
function registerActivityFilter(){ //Evenement pour le selectall : créé une seule fois au chargement de la page
/* $('body').on("click", ".dropdown-menu", function (e) { function registerSelectAllActivitiesFilter(){
$(this).parent().is(".open") && e.stopPropagation();
});*/
$('.selectall').click(function() { $('.selectall').click(function() {
if ($(this).is(':checked')) { if ($(".selectall").is(':checked')) {
$('.option').prop('checked', true); checkAllActivitiesFilter();
var total = $('input[name="options[]"]:checked').length;
var message=str.get_string('selectedActivities', 'format_iena');
$.when(message).done(function(localizedEditString) {
$(".dropdown-text").html(total + ' '+localizedEditString);
});
$(".select-text").html(' Deselect');
} else { } else {
$('.option').prop('checked', false); $('.option').prop('checked', false);
var message=str.get_string('selectedActivities', 'format_iena'); var message=str.get_string('selectedActivities', 'format_iena');
...@@ -499,29 +490,52 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'], ...@@ -499,29 +490,52 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
$(".select-text").html(' Select'); $(".select-text").html(' Select');
} }
}); });
initActivityFilter();
}
//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"); var a = $("input[type='checkbox'].justone");
if(a.length == a.filter(":checked").length){ if(a.length == a.filter(":checked").length){
console.log("on va sélectionner tout du coup");
$('.selectall').prop('checked', true); $('.selectall').prop('checked', true);
$(".select-text").html(' Deselect'); $(".select-text").html(' Deselect');
} }
else { else {
console.log("on va décocher le sélectionner tout");
$('.selectall').prop('checked', false); $('.selectall').prop('checked', false);
$(".select-text").html(' Select'); $(".select-text").html(' Select');
} }
var total = $('input[name="options[]"]:checked').length; displayTotalActivitiesFilter();
var message=str.get_string('selectedActivities', 'format_iena');
$.when(message).done(function(localizedEditString) {
$(".dropdown-text").html(total + ' '+localizedEditString);
});
}); });
$('#iena-activities-dropdown').on('change', function(e){ $("input[type='checkbox'].justone").on('click', function(e){
e.stopPropagation();
displayActivities(); displayActivities();
}); });
initActivityFilter();
}
//Update activities filter label
function displayTotalActivitiesFilter(){
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);
});
}
} }
//Stocke le filtre des activités en localStorage pour ne pas avoir 50 id dans l'url //Stocke le filtre des activités en localStorage pour ne pas avoir 50 id dans l'url
...@@ -546,8 +560,16 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'], ...@@ -546,8 +560,16 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
} }
} }
} }
displayTotalActivitiesFilter();
} }
//Coche toutes les activités quand on change de section
function checkAllActivitiesFilter(){
$('.selectall').prop('checked', true);
$('.option').prop('checked', true);
displayTotalActivitiesFilter();
$(".select-text").html(' Deselect');
}
}); });
...@@ -99,4 +99,5 @@ $string['message_dist'] = "distance learning mail"; ...@@ -99,4 +99,5 @@ $string['message_dist'] = "distance learning mail";
$string['message_dist_desc'] = "Configure default blended course message"; $string['message_dist_desc'] = "Configure default blended course message";
$string['message_default_dist'] = "Default message distance learning"; $string['message_default_dist'] = "Default message distance learning";
$string['formatenabled']="Course completion is disabled. You can enable it in the \"Course completion\" section here: "; $string['formatenabled']="Course completion is disabled. You can enable it in the \"Course completion\" section here: ";
$string['selectedActivities']="selected"; $string['selectedActivities']="selected";
\ No newline at end of file $string['allActivities']="All";
\ No newline at end of file
...@@ -99,4 +99,5 @@ $string['message_dist'] = "Message distanciel"; ...@@ -99,4 +99,5 @@ $string['message_dist'] = "Message distanciel";
$string['message_dist_desc'] = "Paramétrez le message qui sera envoyé par défaut pour un cours à distance"; $string['message_dist_desc'] = "Paramétrez le message qui sera envoyé par défaut pour un cours à distance";
$string['message_default_dist'] = "message par défaut distance"; $string['message_default_dist'] = "message par défaut distance";
$string['formatenabled']="L'achèvement de cours n'est pas activé. Vous pouvez l'activer dans la section \"Achèvement de cours\" des paramètres du cours : "; $string['formatenabled']="L'achèvement de cours n'est pas activé. Vous pouvez l'activer dans la section \"Achèvement de cours\" des paramètres du cours : ";
$string['selectedActivities']="sélectionnée(s)"; $string['selectedActivities']="sélectionnée(s)";
\ No newline at end of file $string['allActivities']="Toutes";
\ No newline at end of file
...@@ -999,7 +999,7 @@ th.first-column-iena, th.second-column-iena, th.actions-column-iena, th.third-co ...@@ -999,7 +999,7 @@ th.first-column-iena, th.second-column-iena, th.actions-column-iena, th.third-co
.iena-custom-dropdown{ .iena-custom-dropdown{
border-radius: 0 5px 5px 0; border-radius: 0 5px 5px 0;
border: 1px solid #e9ecef; border: 1px solid #e9ecef;
min-width: 11rem; min-width: 13rem !important;
} }
.iena-custom-dropdown button{ .iena-custom-dropdown button{
...@@ -1010,6 +1010,8 @@ th.first-column-iena, th.second-column-iena, th.actions-column-iena, th.third-co ...@@ -1010,6 +1010,8 @@ th.first-column-iena, th.second-column-iena, th.actions-column-iena, th.third-co
.iena-custom-dropdown .dropdown-menu{ .iena-custom-dropdown .dropdown-menu{
border-radius: 0 0 0.5rem 0.5rem; border-radius: 0 0 0.5rem 0.5rem;
width:100%; width:100%;
max-height: 200px;
overflow-y: auto;
} }
.iena-custom-dropdown .dropdown-menu label{ .iena-custom-dropdown .dropdown-menu label{
...@@ -1024,6 +1026,13 @@ th.first-column-iena, th.second-column-iena, th.actions-column-iena, th.third-co ...@@ -1024,6 +1026,13 @@ th.first-column-iena, th.second-column-iena, th.actions-column-iena, th.third-co
.iena-custom-dropdown .dropdown-text{ .iena-custom-dropdown .dropdown-text{
text-align: left; text-align: left;
} }
.iena-custom-dropdown .dropdown-toggle::after{
position: absolute;
right: 10px;
top: 13px;
}
.iena-dynamic-options{ .iena-dynamic-options{
list-style: none; list-style: none;
padding: 0; padding: 0;
...@@ -1035,4 +1044,5 @@ th.first-column-iena, th.second-column-iena, th.actions-column-iena, th.third-co ...@@ -1035,4 +1044,5 @@ th.first-column-iena, th.second-column-iena, th.actions-column-iena, th.third-co
margin: 9px 0; margin: 9px 0;
overflow: hidden; overflow: hidden;
background-color: #e5e5e5; background-color: #e5e5e5;
} }
\ No newline at end of file
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
<div class="input-group-text">Section</div> <div class="input-group-text">Section</div>
</div> </div>
<select class="custom-select mr-sm-2" id="section-select" name="sectionid"> <select class="custom-select mr-sm-2" id="section-select" name="sectionid">
<option value="0">Toutes</option> <option value="0">{{# str }} allActivities, format_iena {{/ str}}</option>
{{#sections}} {{#sections}}
<option {{selected}} value={{id}}>{{name}}</option> <option {{selected}} value={{id}}>{{name}}</option>
{{/sections}} {{/sections}}
...@@ -49,7 +49,7 @@ ...@@ -49,7 +49,7 @@
<div class="input-group-text">Activités</div> <div class="input-group-text">Activités</div>
</div> </div>
<div class="dropdown mr-sm-2 iena-custom-dropdown"> <div class="dropdown mr-sm-2 iena-custom-dropdown">
<button class="btn btn-default dropdown-toggle" type="button" data-toggle="dropdown"><span class="dropdown-text">Toutes</span> <button class="btn btn-default dropdown-toggle" type="button" data-toggle="dropdown"><span class="dropdown-text">{{# str }} allActivities, format_iena {{/ str}}</span>
<span class="caret"></span></button> <span class="caret"></span></button>
<ul class="dropdown-menu dropdown-menu-form" id="iena-activities-dropdown"> <ul class="dropdown-menu dropdown-menu-form" id="iena-activities-dropdown">
<li><label class="checkbox"><input type="checkbox" class="selectall" checked value='all'>Toutes les activités</label></li> <li><label class="checkbox"><input type="checkbox" class="selectall" checked value='all'>Toutes les activités</label></li>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment