Index: lams_central/web/css/index.css =================================================================== diff -u -r94ed30ec071e295e4a2d469f02778c25f401ca41 -r71f818a95ce2f920ffe087c33961f80f7294f78d --- lams_central/web/css/index.css (.../index.css) (revision 94ed30ec071e295e4a2d469f02778c25f401ca41) +++ lams_central/web/css/index.css (.../index.css) (revision 71f818a95ce2f920ffe087c33961f80f7294f78d) @@ -23,16 +23,70 @@ } .dialogContainer { - display: none; -webkit-overflow-scrolling: touch !important; } .dialogContainer iframe { width: 100%; - height: 99%; + height: 100%; border: none; } +.dialogContainer .close { + cursor: pointer; +} + +.dialogContainer .modal-body { + height : 100%; + max-height: calc(100% - 60px); +} + +.min { + width: 250px; + height: 35px; + overflow: hidden !important; + padding: 0px !important; + margin: 0px; + float: left; + position: static !important; +} + +.min .modal-dialog, .min .modal-content { + height: 100%; + width: 100%; + margin: 0px !important; + padding: 0px !important; +} + +.min .modal-header { + height: 100%; + margin: 0px !important; + padding: 3px 5px !important; +} + +.display-none { display: none; } + +button .fa { + font-size: 16px; + margin-left: 10px; +} + +.min .fa { font-size: 14px; } + +.min .menuTab { display: none; } + +button:focus { outline: none; } + +.minmaxCon { + height: 35px; + bottom: 1px; + left: 1px; + position: fixed; + right: 1px; + z-index: 9999; +} + + #mainContentTable td { vertical-align: top; padding: 0; @@ -125,29 +179,6 @@ z-index: 50; } -/* Style for Monitoring and Add Lesson dialogs. - Put the transparent dialog's titlebar over the tab bar. */ -body > .tabbedDialog .ui-dialog-titlebar { - background : transparent; - border : none; - z-index : 200; - position : absolute; - right : 40px; - top : 10px; -} - -.tabbedDialog .ui-dialog-title { - margin-right: 70px; -} - -body > .addLessonDialog .ui-dialog-titlebar { - width: 25px; - right : 10px; -} - -#dialogPrivateNotifications table { -} - #dialogPrivateNotifications table tr:first-child td { font-weight: bold; text-align: center; Fisheye: Tag 71f818a95ce2f920ffe087c33961f80f7294f78d refers to a dead (removed) revision in file `lams_central/web/css/jquery-ui-bootstrap-theme.css'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_central/web/includes/javascript/dialog.js =================================================================== diff -u -r6ad3d1341b3dc1f066c69c7129a8c1dff15980a5 -r71f818a95ce2f920ffe087c33961f80f7294f78d --- lams_central/web/includes/javascript/dialog.js (.../dialog.js) (revision 6ad3d1341b3dc1f066c69c7129a8c1dff15980a5) +++ lams_central/web/includes/javascript/dialog.js (.../dialog.js) (revision 71f818a95ce2f920ffe087c33961f80f7294f78d) @@ -1,5 +1,23 @@ -var dialogTemplate = $('
').append('' + + '
' + + '' + + '' + + ''); + /** * Checks if the dialog is already opened. * If not, creates a new dialog with the given ID and init parameters. @@ -9,49 +27,86 @@ // is it open already? if (dialog.length > 0) { if (recreate){ - dialog.dialog('close'); + dialog.modal('hide'); + dialog.remove(); } else { - dialog.dialog('moveToTop'); + // dialog.dialog('moveToTop'); return; } } // create a new dialog by cloning a template dialog = dialogTemplate.clone(); - dialog.attr('id', id); - // use initParams to overwrite default behaviour of the newly created dialog - dialog.dialog($.extend({ + + $('#myModalLabel', dialog).text(LABELS.GRADEBOOK_LESSON_TITLE); + initParams = $.extend({ 'autoOpen' : true, - 'modal' : false, 'draggable' : true, 'resizable' : extraButtons == true, - 'hide' : 'fold', 'beforeClose' : function(){ $('iframe', this).attr('src', null); }, 'close' : function() { // completely delete the dialog $(this).remove(); } - }, initParams)); + }, initParams); + $('.modal-title', dialog).attr('id', id + 'Label').text(initParams.title); + dialog.attr({ + 'id' : id, + 'aria-labelledby' : id + 'Label' + }); + + if (initParams.width) { + $('.modal-dialog', dialog).width(initParams.width); + } + if (initParams.height) { + $('.modal-content', dialog).height(initParams.height); + } + if (initParams.draggable) { + $('.modal-dialog', dialog).draggable(); + $('.modal-header', dialog).css('cursor', 'move'); + } + if (initParams.resizable) { + $('.modal-content', dialog).resizable(); + } + if (initParams.data) { + dialog.data(initParams.data); + } + + dialog.on('show.bs.modal', initParams.open); + dialog.on('hide.bs.modal', initParams.beforeClose); + dialog.on('hidden.bs.modal', initParams.close); + + dialog.modal({ + 'keyboard' : false, + 'backdrop' : 'static', + 'show' : initParams.autoOpen + }); + if (extraButtons) { - dialog.dialogExtend({ - "closable" : true, - "maximizable" : true, - "minimizable" : true, - "collapsable" : false, - "dblclick" : "collapse", - "minimizeLocation" : "right", - "icons" : { - "close" : "ui-icon-close", - "maximize" : "ui-icon-arrow-4-diag", - "minimize" : "ui-icon-minus", - "collapse" : "ui-icon-triangle-1-s", - "restore" : "ui-icon-newwin" - } - }); + $('.dialogMinimise', dialog).on('click', function() { + dialog.siblings('.modal-backdrop').addClass('display-none'); + dialog.toggleClass('min'); + if (dialog.hasClass('min')) { + $('.minmaxCon').append(dialog); + $('.dialogMinimise span', dialog).text('&clone;'); + } else { + $('body').append(dialog); + $('.dialogMinimise span', dialog).text('−'); + }; + }); + /* + $("button[data-dismiss='modal']").click(function() { + dialog.removeClass('min'); + $(body).removeClass($apnData); + $(this).next('.modalMinimize').find("i").removeClass('fa fa-clone').addClass('fa fa-minus'); + }); + */ + } else { + $('.dialogMinimise', dialog).remove(); } return dialog; @@ -62,5 +117,5 @@ * Focuses on the dialog. Called from within the contained iframe. */ function moveDialogToTop(id) { - $('#' + id).dialog('moveToTop'); + // $('#' + id).dialog('moveToTop'); } \ No newline at end of file Index: lams_central/web/includes/javascript/groupDisplay.js =================================================================== diff -u -rf0e4de72f0144cb9ac7e8bc07fe53cbcf1d248cb -r71f818a95ce2f920ffe087c33961f80f7294f78d --- lams_central/web/includes/javascript/groupDisplay.js (.../groupDisplay.js) (revision f0e4de72f0144cb9ac7e8bc07fe53cbcf1d248cb) +++ lams_central/web/includes/javascript/groupDisplay.js (.../groupDisplay.js) (revision 71f818a95ce2f920ffe087c33961f80f7294f78d) @@ -155,56 +155,60 @@ function showMonitorLessonDialog(lessonID) { var id = "dialogMonitorLesson" + lessonID, dialog = showDialog(id, { - 'lessonID' : lessonID, + 'data' : { + 'lessonID' : lessonID + }, 'autoOpen' : false, 'height' : 600, 'width' : 1024, 'draggable' : false, - 'dialogClass' : 'tabbedDialog', 'title' : LABELS.MONITORING_TITLE, 'open' : function() { // load contents after opening the dialog $('iframe', this).attr('src', LAMS_URL + 'home.do?method=monitorLesson&lessonID=' - + $(this).dialog('option', 'lessonID')); + + $(this).data('lessonID')); }, }, true); // if it was just created if (dialog) { // tell the dialog contents that it was resized - dialog.closest('.ui-dialog').on('resizestop dialogextendmaximize dialogextendrestore', function(){ + $('.modal-content', dialog).on('resizestop dialogextendmaximize dialogextendrestore', function(){ var frame = $('iframe', dialog)[0], win = frame.contentWindow || frame.contentDocument; win.resizeSequenceCanvas(dialog.width() - 10, dialog.height() - 10); }); - dialog.dialog('open'); + dialog.modal('show'); } } function showAddLessonDialog(orgID) { showDialog("dialogAddLesson", { - 'orgID' : orgID, - 'autoOpen' : true, + 'data' : { + 'orgID' : orgID + }, 'modal' : true, 'draggable' : false, - 'dialogClass' : 'tabbedDialog addLessonDialog', - 'height' : 600, - 'width' : 800, + 'height' : 700, + 'width' : 850, 'open' : function() { + var dialog = $(this); // load contents after opening the dialog - $('iframe', this) + $('iframe', dialog) .attr('src', LAMS_URL + 'home.do?method=addLesson&organisationID=' - + $(this).dialog('option', 'orgID')); + + dialog.data('orgID')); // in case of mobile devices allow iframe scrolling if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) { setTimeout(function() { - $('.dialogContainer').css('overflow-y','scroll'); - $('.dialogContainer').css('-webkit-overflow-scrolling','touch'); + dialog.css({ + 'overflow-y' : 'scroll', + '-webkit-overflow-scrolling' : 'touch' + }); },500); } } @@ -214,7 +218,9 @@ function showOrgGroupDialog(orgID) { showDialog("dialogOrgGroup", { - 'orgID' : orgID, + 'data' : { + 'orgID' : orgID + }, 'modal' : true, 'height' : 460, 'width' : 460, @@ -224,23 +230,25 @@ $('iframe', this) .attr('src', LAMS_URL + 'OrganisationGroup.do?method=viewGroupings&organisationID=' - + $(this).dialog('option', 'orgID')); + + $(this).data('orgID')); } }, true); } function showAddSingleActivityLessonDialog(orgID, toolID, learningLibraryID) { showDialog("dialogAddSingleActivityLesson", { - 'orgID' : orgID, - 'toolID' : toolID, - 'learningLibraryID' : learningLibraryID, + 'data' : { + 'orgID' : orgID, + 'toolID' : toolID, + 'learningLibraryID' : learningLibraryID + }, + 'modal' : true, 'height' : 600, 'width' : 850, - 'modal' : true, 'title' : LABELS.SINGLE_ACTIVITY_LESSON_TITLE, 'open' : function() { var dialog = $(this), - toolID = dialog.dialog('option', 'toolID'); + toolID = dialog.data('toolID'); $.ajax({ async : false, cache : false, @@ -251,7 +259,7 @@ 'toolID' : toolID }, success : function(response) { - dialog.dialog('option', { + dialog.data({ 'toolContentID' : response.toolContentID, 'contentFolderID' : response.contentFolderID }); @@ -274,14 +282,16 @@ function showNotificationsDialog(orgID, lessonID) { var id = "dialogNotifications" + (lessonID ? "Lesson" + lessonID : "Org" + orgID); showDialog(id, { - 'orgID' : orgID, - 'lessonID' : lessonID, + 'data' : { + 'orgID' : orgID, + 'lessonID' : lessonID + }, 'height' : 600, 'width' : 850, 'title' : LABELS.EMAIL_NOTIFICATIONS_TITLE, 'open' : function() { var dialog = $(this), - lessonID = dialog.dialog('option', 'lessonID'); + lessonID = dialog.data('lessonID'); // if lesson ID is given, use lesson view; otherwise use course view if (lessonID) { // load contents after opening the dialog @@ -438,28 +448,31 @@ function showGradebookLessonDialog(lessonID){ var id = "dialogGradebookLesson" + lessonID; showDialog(id, { - 'lessonID' : lessonID, + 'data' : { + 'lessonID' : lessonID + }, 'height' : 650, 'width' : 850, 'title' : LABELS.GRADEBOOK_LESSON_TITLE, 'open' : function() { - var lessonID = $(this).dialog('option', 'lessonID'); + var lessonID = $(this).data('lessonID'); // load contents after opening the dialog - $('iframe', this).attr('src', LAMS_URL - + 'gradebook/gradebookMonitoring.do?lessonID=' + lessonID); + $('iframe', this).attr('src', LAMS_URL + 'gradebook/gradebookMonitoring.do?lessonID=' + lessonID); } }, true); } function showGradebookLearnerDialog(orgID){ var id = "dialoGradebookLearner" + orgID; showDialog(id, { - 'orgID' : orgID, + 'data' : { + 'orgID' : orgID + }, 'height' : 400, 'width' : 750, 'title' : LABELS.GRADEBOOK_LEARNER_TITLE, 'open' : function() { - var orgID = $(this).dialog('option', 'orgID'); + var orgID = $(this).data('orgID'); // load contents after opening the dialog $('iframe', this).attr('src', LAMS_URL + 'gradebook/gradebookLearning.do?dispatch=courseLearner&organisationID=' + orgID); @@ -470,12 +483,14 @@ function showConditionsDialog(lessonID){ var id = "dialogConditions" + lessonID; showDialog(id, { - 'lessonID' : lessonID, + 'data' : { + 'lessonID' : lessonID + }, 'height' : 450, 'width' : 610, 'title' : LABELS.CONDITIONS_TITLE, 'open' : function() { - var lessonID = $(this).dialog('option', 'lessonID'); + var lessonID = $(this).data('lessonID'); // load contents after opening the dialog $('iframe', this).attr('src', LAMS_URL + 'lessonConditions.do?method=getIndexLessonConditions&lsId=' + lessonID); @@ -486,12 +501,14 @@ function showSearchLessonDialog(orgID){ var id = "dialogSearchLesson" + orgID; showDialog(id, { - 'orgID' : orgID, + 'data' : { + 'orgID' : orgID + }, 'height' : 500, 'width' : 1000, 'title' : LABELS.SEARCH_LESSON_TITLE, 'open' : function() { - var orgID = $(this).dialog('option', 'orgID'); + var orgID = $(this).data('orgID'); // load contents after opening the dialog $('iframe', this).attr('src', LAMS_URL + 'findUserLessons.do?dispatch=getResults&courseID=' + orgID); @@ -518,8 +535,7 @@ } }, 'open' : function() { - var orgID = $(this).dialog('option', 'orgID'), - url = LAMS_URL + 'authoring/author.do?method=openAuthoring'; + var url = LAMS_URL + 'authoring/author.do?method=openAuthoring'; if (learningDesignID) { url += '&learningDesignID=' + learningDesignID; @@ -588,7 +604,7 @@ if (refresh) { loadOrgTab(null, true); } - $("#" + id).dialog('close'); + $("#" + id).modal('hide'); } function showOrgGroupDialogContents(title, width, height, url) { @@ -598,16 +614,17 @@ orgID = null; if (exists) { if (!title) { - title = dialog.dialog('option', 'title'); + title = $('.modal-title', dialog).text(); } - orgID = dialog.dialog('option', 'orgID'); + orgID = dialog.data('orgID'); } showDialog(id, { - 'orgID' : orgID, + 'data' : { + 'orgID' : orgID + }, 'height' : height, 'width' : width, 'title' : title, - 'hide' : false, 'open' : function() { $('iframe', this).attr('src', url); } Index: lams_central/web/main.jsp =================================================================== diff -u -rb3ac8b06b9377eac584d8aa906d615cb31a808b8 -r71f818a95ce2f920ffe087c33961f80f7294f78d --- lams_central/web/main.jsp (.../main.jsp) (revision b3ac8b06b9377eac584d8aa906d615cb31a808b8) +++ lams_central/web/main.jsp (.../main.jsp) (revision 71f818a95ce2f920ffe087c33961f80f7294f78d) @@ -27,7 +27,6 @@ - @@ -251,6 +250,9 @@ + +
+