Index: lams_central/web/css/authoring.css =================================================================== diff -u -r5199d1dc08051a94fead98f76b225edeb92f01f8 -rb435669d04000e91dcbdbd9dc5a4b8b46f42e320 --- lams_central/web/css/authoring.css (.../authoring.css) (revision 5199d1dc08051a94fead98f76b225edeb92f01f8) +++ lams_central/web/css/authoring.css (.../authoring.css) (revision b435669d04000e91dcbdbd9dc5a4b8b46f42e320) @@ -29,6 +29,10 @@ -webkit-overflow-scrolling: touch !important; } +.dialogContainer .modal-content { + box-shadow: none; +} + .dialogContainer .modal-body { height : 100%; max-height: calc(100% - 60px); @@ -105,8 +109,9 @@ } -div#infoDialog { +div#infoDialog .modal-body { font-weight: bold; + padding: 5px; } Index: lams_central/web/includes/javascript/authoring/authoringGeneral.js =================================================================== diff -u -r5199d1dc08051a94fead98f76b225edeb92f01f8 -rb435669d04000e91dcbdbd9dc5a4b8b46f42e320 --- lams_central/web/includes/javascript/authoring/authoringGeneral.js (.../authoringGeneral.js) (revision 5199d1dc08051a94fead98f76b225edeb92f01f8) +++ lams_central/web/includes/javascript/authoring/authoringGeneral.js (.../authoringGeneral.js) (revision b435669d04000e91dcbdbd9dc5a4b8b46f42e320) @@ -908,24 +908,31 @@ GeneralLib.updateAccess(initAccess); - // initialise a small info dialog - layout.infoDialog = $('
').attr('id', 'infoDialog').dialog({ - 'autoOpen' : false, - 'width' : 290, - 'minHeight' : 'auto', - 'show' : 'fold', - 'hide' : 'fold', - 'draggable' : false, - 'dialogClass': 'dialog-no-title', - 'defaultPosition' : { - my: "right top", - at: "right top+5px", - of: '#canvas' - } + layout.infoDialog = showDialog('infoDialog',{ + 'autoOpen' : false, + 'modal' : false, + 'resizable' : false, + 'draggable' : false, + 'width' : 290, + 'open' : function(){ + // hide the contents so there is no "jump" during repositioning + $(this).css('visibility', 'hidden'); + }, + 'close' : null }); - layout.infoDialog.dialog('option', 'position', layout.infoDialog.dialog('option', 'defaultPosition')); - + // remove the title along with X button + $('.modal-header', layout.infoDialog).remove(); + layout.infoDialog.on('shown.bs.modal', function(){ + // reposition the dialog + $(this).css('visibility', 'visible') + .position({ + 'my' : 'right top', + 'at' : 'right+5px top+10px', + 'of' : '#canvas' + }); + }); + layout.dialogs.push(layout.infoDialog); // license widgets init @@ -953,7 +960,6 @@ } }); } - }, @@ -1917,11 +1923,12 @@ GeneralLib.updateAccess(response.access); if (!ld.validDesign && !isReadOnlyMode) { - layout.infoDialog.html(LABELS.SEQUENCE_NOT_VALID) - .dialog('open'); + $('.modal-body', layout.infoDialog).text(LABELS.SEQUENCE_NOT_VALID); + layout.infoDialog.modal('show'); setTimeout(function(){ - layout.infoDialog.text('').dialog('close'); + $('.modal-body', layout.infoDialog).empty(); + layout.infoDialog.modal('hide'); }, 5000); } } Index: lams_central/web/includes/javascript/authoring/authoringHandler.js =================================================================== diff -u -rfaa2f2a08ec900cbcaabb1173527ba7b173db375 -rb435669d04000e91dcbdbd9dc5a4b8b46f42e320 --- lams_central/web/includes/javascript/authoring/authoringHandler.js (.../authoringHandler.js) (revision faa2f2a08ec900cbcaabb1173527ba7b173db375) +++ lams_central/web/includes/javascript/authoring/authoringHandler.js (.../authoringHandler.js) (revision b435669d04000e91dcbdbd9dc5a4b8b46f42e320) @@ -224,8 +224,9 @@ // if the user started adding a branching and did not finish it if (layout.addBranchingStart){ - layout.infoDialog.text('').dialog('close'); - + $('.modal-body', layout.infoDialog).empty(); + layout.infoDialog.modal('hide'); + if (layout.addBranchingStart instanceof ActivityDefs.BranchingEdgeActivity) { layout.activities.splice(layout.activities.indexOf(layout.addBranchingStart), 1); layout.addBranchingStart.items.remove(); Index: lams_central/web/includes/javascript/authoring/authoringMenu.js =================================================================== diff -u -r5199d1dc08051a94fead98f76b225edeb92f01f8 -rb435669d04000e91dcbdbd9dc5a4b8b46f42e320 --- lams_central/web/includes/javascript/authoring/authoringMenu.js (.../authoringMenu.js) (revision 5199d1dc08051a94fead98f76b225edeb92f01f8) +++ lams_central/web/includes/javascript/authoring/authoringMenu.js (.../authoringMenu.js) (revision b435669d04000e91dcbdbd9dc5a4b8b46f42e320) @@ -49,12 +49,12 @@ addAnnotationLabel : function() { HandlerLib.resetCanvasMode(); - var dialog = layout.infoDialog.text(LABELS.ANNOTATION_LABEL_PLACE_PROMPT); - dialog.dialog('open'); - + $('.modal-body', layout.infoDialog).text(LABELS.ANNOTATION_LABEL_PLACE_PROMPT); + layout.infoDialog.modal('show'); + canvas.css('cursor', 'pointer').click(function(event){ - dialog.text(''); - dialog.dialog('close'); + $('.modal-body', layout.infoDialog).empty(); + layout.infoDialog.modal('hide'); var translatedEvent = GeneralLib.translateEventOnCanvas(event), @@ -74,12 +74,12 @@ addAnnotationRegion : function() { HandlerLib.resetCanvasMode(); - var dialog = layout.infoDialog.text(LABELS.ANNOTATION_REGION_PLACE_PROMPT); - dialog.dialog('open'); + $('.modal-body', layout.infoDialog).text(LABELS.ANNOTATION_REGION_PLACE_PROMPT); + layout.infoDialog.modal('show'); canvas.css('cursor', 'crosshair').mousedown(function(event){ - dialog.text(''); - dialog.dialog('close'); + $('.modal-body', layout.infoDialog).empty(); + layout.infoDialog.modal('hide'); var targetElement = Snap.getElementByPoint(event.pageX, event.pageY); @@ -98,9 +98,10 @@ */ addBranching : function(){ HandlerLib.resetCanvasMode(); - var dialog = layout.infoDialog.text(LABELS.BRANCHING_START_PLACE_PROMPT); - dialog.dialog('open'); + $('.modal-body', layout.infoDialog).text(LABELS.BRANCHING_START_PLACE_PROMPT); + layout.infoDialog.modal('show'); + layout.addBranchingStart = true; var branchingActivity = null; @@ -120,14 +121,15 @@ layout.addBranchingStart = null; HandlerLib.resetCanvasMode(true); - dialog.text('').dialog('close'); + $('.modal-body', layout.infoDialog).empty(); + layout.infoDialog.modal('hide'); GeneralLib.setModified(true); } else { // extract main branchingActivity structure from created start point branchingActivity = branchingEdge.branchingActivity; layout.addBranchingStart = branchingEdge; - dialog.text(LABELS.BRANCHING_END_PLACE_PROMPT); + $('.modal-body', layout.infoDialog).text(LABELS.BRANCHING_END_PLACE_PROMPT); } }); }, @@ -143,14 +145,13 @@ } HandlerLib.resetCanvasMode(); - var dialog = layout.infoDialog.text(LABELS.SUPPORT_ACTIVITY_PLACE_PROMPT); - dialog.dialog('open'); + $('.modal-body', layout.infoDialog).text(LABELS.SUPPORT_ACTIVITY_PLACE_PROMPT); + layout.infoDialog.modal('show'); canvas.css('cursor', 'pointer').click(function(event){ - dialog.text(''); - dialog.dialog('close'); + $('.modal-body', layout.infoDialog).empty(); + layout.infoDialog.modal('hide'); - var translatedEvent = GeneralLib.translateEventOnCanvas(event), x = translatedEvent[0], y = translatedEvent[1]; @@ -217,14 +218,13 @@ addOptionalActivity : function() { HandlerLib.resetCanvasMode(); - var dialog = layout.infoDialog.text(LABELS.OPTIONAL_ACTIVITY_PLACE_PROMPT); - dialog.dialog('open'); + $('.modal-body', layout.infoDialog).text(LABELS.OPTIONAL_ACTIVITY_PLACE_PROMPT); + layout.infoDialog.modal('show'); canvas.css('cursor', 'pointer').click(function(event){ - dialog.text(''); - dialog.dialog('close'); + $('.modal-body', layout.infoDialog).empty(); + layout.infoDialog.modal('hide'); - var translatedEvent = GeneralLib.translateEventOnCanvas(event), x = translatedEvent[0], y = translatedEvent[1]; @@ -243,12 +243,12 @@ addTransition : function() { HandlerLib.resetCanvasMode(); - var dialog = layout.infoDialog.text(LABELS.TRANSITION_PLACE_PROMPT); - dialog.dialog('open'); + $('.modal-body', layout.infoDialog).text(LABELS.TRANSITION_PLACE_PROMPT); + layout.infoDialog.modal('show'); canvas.css('cursor', 'pointer').click(function(event){ - dialog.text(''); - dialog.dialog('close'); + $('.modal-body', layout.infoDialog).empty(); + layout.infoDialog.modal('hide'); var startActivity = null, targetElement = Snap.getElementByPoint(event.pageX, event.pageY); Index: lams_central/web/includes/javascript/dialog.js =================================================================== diff -u -r84bff3beda5376af26640aa8aab7e4aa7fe65690 -rb435669d04000e91dcbdbd9dc5a4b8b46f42e320 --- lams_central/web/includes/javascript/dialog.js (.../dialog.js) (revision 84bff3beda5376af26640aa8aab7e4aa7fe65690) +++ lams_central/web/includes/javascript/dialog.js (.../dialog.js) (revision b435669d04000e91dcbdbd9dc5a4b8b46f42e320) @@ -44,6 +44,7 @@ // use the input attributes or fall back to default ones initParams = $.extend({ 'autoOpen' : true, + 'modal' : false, 'draggable' : true, 'resizable' : extraButtons == true, 'beforeClose' : function(){ @@ -62,17 +63,20 @@ 'aria-labelledby' : id + 'Label' }); + var modalDialog = $('.modal-dialog', dialog), + modalContent = $('.modal-content', dialog); + if (initParams.width) { - $('.modal-dialog', dialog).width(initParams.width); + modalDialog.width(initParams.width); } if (initParams.height) { - $('.modal-content', dialog).height(initParams.height); + modalContent.height(initParams.height); } if (initParams.resizable) { - $('.modal-content', dialog).resizable(); + modalContent.resizable(); } if (initParams.draggable) { - $('.modal-dialog', dialog).draggable(); + modalDialog.draggable(); } // store extra attributes for dialog content internal use if (initParams.data) { @@ -85,10 +89,24 @@ dialog.modal({ 'keyboard' : false, - 'backdrop' : 'static', + 'backdrop' : initParams.modal ? 'static' : false, 'show' : initParams.autoOpen }); + if (!initParams.modal) { + // make the dialog non-modal + dialog.on('shown.bs.modal', function(){ + // the main modal div is maximised, we need to shrink it + modalDialog.css({ + 'margin' : 0 + }); + dialog.width(modalDialog.outerWidth(true)); + dialog.height(modalDialog.outerHeight(true)); + // remove overlay + dialog.siblings('.modal-backdrop').remove(); + }); + } + if (extraButtons) { $('.dialogMaximise', dialog).click(function(){ var icon = $('i', this),