Index: lams_central/web/css/newLesson.css =================================================================== diff -u -rbbcfb64b7bb6d251110a5a26299604958c4bc5b2 -r4a5868b89ab2ddbc007732d04fb2aa9584e50adc --- lams_central/web/css/newLesson.css (.../newLesson.css) (revision bbcfb64b7bb6d251110a5a26299604958c4bc5b2) +++ lams_central/web/css/newLesson.css (.../newLesson.css) (revision 4a5868b89ab2ddbc007732d04fb2aa9584e50adc) @@ -146,6 +146,13 @@ text-align: center; } +.sortUsersButton { + text-align: right; + padding-right: 3px; + float: right; + cursor: pointer; +} + .droppableHighlight { padding : 1px; border: 5px solid #5c9ccc; Index: lams_central/web/includes/javascript/newLesson.js =================================================================== diff -u -rbbcfb64b7bb6d251110a5a26299604958c4bc5b2 -r4a5868b89ab2ddbc007732d04fb2aa9584e50adc --- lams_central/web/includes/javascript/newLesson.js (.../newLesson.js) (revision bbcfb64b7bb6d251110a5a26299604958c4bc5b2) +++ lams_central/web/includes/javascript/newLesson.js (.../newLesson.js) (revision 4a5868b89ab2ddbc007732d04fb2aa9584e50adc) @@ -1,6 +1,7 @@ -// ********** MAIN FUNCTIONS ********** +// ********** MAIN FUNCTIONS ********** var tree; -var lastSelectedUsers = []; +var lastSelectedUsers = {}; +var sortOrderDescending = {}; var submitInProgress = false; function initLessonTab(){ @@ -159,6 +160,8 @@ } }); }); + + $('.sortUsersButton').click(sortUsers); } @@ -176,7 +179,7 @@ }); $('#introEnableField').change(function(){ - $('#introSection input, #introSection textarea').prop('disabled', !$(this).is(':checked')); + $('#introDescriptionField, #introImageField').prop('disabled', !$(this).is(':checked')); }); $('#presenceEnableField').change(function(){ @@ -367,7 +370,10 @@ if (users) { // create user DIVs $.each(users, function(index, userJSON) { - $('#' + containerID).append($('
').attr('userId', userJSON.userID) + $('#' + containerID).append($('').attr({ + 'userId' : userJSON.userID, + 'sortKey' : userJSON.lastName + }) .addClass('draggableUser') .text(userJSON.firstName + ' ' + userJSON.lastName + ' (' + userJSON.login + ')') @@ -401,6 +407,36 @@ return list; } +function sortUsers() { + var buttonId = $(this).attr('id'); + var container = $('#' + buttonId.substring(buttonId.indexOf('-') + 1)); + var users = container.children('div.draggableUser'); + if (users.length > 1) { + var sortOrderDesc = sortOrderDescending[buttonId]; + + users.each(function(){ + $(this).detach(); + }).sort(function(a, b){ + var keyA = $(a).attr('sortKey'); + var keyB = $(b).attr('sortKey'); + var result = keyA > keyB ? 1 : keyA < keyB ? -1 : 0; + return sortOrderDesc ? result : -result; + }).each(function(){ + $(this).appendTo(container); + }); + + if (sortOrderDesc) { + $(this).html('▲'); + sortOrderDescending[buttonId] = false; + } else { + $(this).html('▼'); + sortOrderDescending[buttonId] = true; + } + + colorDraggableUsers(container); + } +} + // ********** ADVANCED TAB FUNCTIONS ********** function updateSplitLearnersFields(){ Index: lams_central/web/newLesson.jsp =================================================================== diff -u -rbbcfb64b7bb6d251110a5a26299604958c4bc5b2 -r4a5868b89ab2ddbc007732d04fb2aa9584e50adc --- lams_central/web/newLesson.jsp (.../newLesson.jsp) (revision bbcfb64b7bb6d251110a5a26299604958c4bc5b2) +++ lams_central/web/newLesson.jsp (.../newLesson.jsp) (revision 4a5868b89ab2ddbc007732d04fb2aa9584e50adc) @@ -104,21 +104,33 @@
-
+
|
-
+
|
-
+ ▲
+
|
-
+ ▲
+
|