Index: lams_monitoring/conf/language/lams/ApplicationResources.properties =================================================================== RCS file: /usr/local/cvsroot/lams_monitoring/conf/language/lams/ApplicationResources.properties,v diff -u -r1.49 -r1.50 --- lams_monitoring/conf/language/lams/ApplicationResources.properties 11 Jul 2013 18:02:03 -0000 1.49 +++ lams_monitoring/conf/language/lams/ApplicationResources.properties 15 Jul 2013 09:46:09 -0000 1.50 @@ -287,6 +287,7 @@ learner.finished.count =Finished Learners: [0] of [1] learner.finished.dialog.title =End of lesson learner.group.sort.button =Sort +learner.group.select.all =Select/Unselect all button.force.complete =Force complete button.view.learner =View learner button.close =Close Index: lams_monitoring/web/monitor.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_monitoring/web/monitor.jsp,v diff -u -r1.15 -r1.16 --- lams_monitoring/web/monitor.jsp 5 Jul 2013 14:04:56 -0000 1.15 +++ lams_monitoring/web/monitor.jsp 15 Jul 2013 09:46:09 -0000 1.16 @@ -400,6 +400,18 @@ + + + + + + + + + + Index: lams_monitoring/web/includes/javascript/monitorLesson.js =================================================================== RCS file: /usr/local/cvsroot/lams_monitoring/web/includes/javascript/monitorLesson.js,v diff -u -r1.17 -r1.18 --- lams_monitoring/web/includes/javascript/monitorLesson.js 5 Jul 2013 14:04:56 -0000 1.17 +++ lams_monitoring/web/includes/javascript/monitorLesson.js 15 Jul 2013 09:46:09 -0000 1.18 @@ -992,16 +992,38 @@ */ function fillClassDialogList(listId, users, disableCreator) { var list = $('#' + listId + 'List').empty(); + var selectAllInitState = true; + $.each(users, function(userIndex, user) { var checkbox = $('').attr({ 'type' : 'checkbox' + }).change(function(){ + var itemState = $(this).is(':checked'); + if (itemState) { + var selectAllState = true; + $('input', list).each(function(){ + if (!$(this).is(':checked')) { + selectAllState = false; + return false; + } + }); + + if (selectAllState) { + $('#' + listId + 'SelectAll').attr('checked', 'checked'); + } + } else { + $('#' + listId + 'SelectAll').attr('checked', null); + } + }); if (user.classMember) { checkbox.attr('checked', 'checked'); if (disableCreator && user.lessonCreator) { // user creator must not be deselected checkbox.attr('disabled', 'disabled'); } + } else { + selectAllInitState = false; } var userDiv = $('
').attr({ @@ -1022,6 +1044,8 @@ }) } }); + + $('#' + listId + 'SelectAll').attr('checked', selectAllInitState ? 'checked' : null); } @@ -1410,7 +1434,12 @@ } } +function selectAllInDialogList(listId) { + var targetState = $('#' + listId + 'SelectAll').is(':checked') ? 'checked' : null; + $('#' + listId + 'List input').attr('checked', targetState); +} + function colorDialogList(listId) { $('#' + listId + 'List div.dialogListItem').each(function(userIndex, userDiv){ // every odd learner has different background