From 2d328ab1e4d3dd8ade654eb6b9cd313e573cd574 Mon Sep 17 00:00:00 2001 From: srosse <none@none> Date: Thu, 24 Nov 2016 10:43:51 +0100 Subject: [PATCH] OO-2368: standard popup to ersae the drawing --- .../qti21/ui/_i18n/LocalStrings_de.properties | 4 +- .../qti21/ui/_i18n/LocalStrings_en.properties | 3 ++ .../_content/drawingInteraction.html | 2 - .../static/js/jquery/openolat/jquery.paint.js | 40 +++++++++++++++++-- 4 files changed, 42 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/olat/ims/qti21/ui/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/ims/qti21/ui/_i18n/LocalStrings_de.properties index 47a86a0174b..1ff89885545 100644 --- a/src/main/java/org/olat/ims/qti21/ui/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/ims/qti21/ui/_i18n/LocalStrings_de.properties @@ -42,6 +42,7 @@ assessment.test.questionMenu=Menu-Navigation Test assessment.test.suspended=Der Test wurde abgebrochen. assessment.testpart.config=Test part attemptsleft=$org.olat.modules.iq\:attemptsleft +cancel=Abbrechen cancel.test=$org.olat.modules.iq\:cancelAssess command.openassessment=Bewertungswerkzeug command.openteststatistic=Test statistics @@ -91,11 +92,12 @@ math.extension=QtiWorks Math extension math.extension.text=Braucht Maxima auf dem Server menu.reset.title=Testdaten zur\u00FCcksetzen menu.retrieve.tests.title=$org.olat.ims.qti.statistics.ui\:menu.pull.tests.title +paint.erase=L\u00F6schen +paint.erase.hint=Wollen Sie den Bild l\u00F6schen? passed.no=$org.olat.course.nodes.iq\:passed.no passed.yes=$org.olat.course.nodes.iq\:passed.yes passed.yourpassed=$org.olat.course.nodes.iq\:passed.yourpassed pull=Ziehen -drx=dy qti.form.allow.anonym=$org.olat.course.nodes.iq\:qti.form.allow.anonym qti.form.allow.anonym.hint=Anonyme Benutzer oder Gäste können den Test durchführen. Der Test kann auch als Lernressource zur Verfügung gestellt werden, ohne in einem Kurs angehängt zu sein. qti.form.attempts=$org.olat.course.nodes.iq\:qti.form.attempts diff --git a/src/main/java/org/olat/ims/qti21/ui/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/ims/qti21/ui/_i18n/LocalStrings_en.properties index ec315f89ce0..629e2a82055 100644 --- a/src/main/java/org/olat/ims/qti21/ui/_i18n/LocalStrings_en.properties +++ b/src/main/java/org/olat/ims/qti21/ui/_i18n/LocalStrings_en.properties @@ -42,6 +42,7 @@ assessment.test.questionMenu=Test question menu assessment.test.suspended=The test has been suspended. assessment.testpart.config=Test part attemptsleft=$org.olat.modules.iq\:attemptsleft +cancel=Cancel cancel.test=$org.olat.modules.iq\:cancelAssess command.openassessment=Assessment tool command.openteststatistic=Test statistics @@ -91,6 +92,8 @@ math.extension=QtiWorks Math extension math.extension.text=Need Maxima installed on the server menu.reset.title=Reset data of test menu.retrieve.tests.title=$org.olat.ims.qti.statistics.ui\:menu.pull.tests.title +paint.erase=Erase +paint.erase=Do you want to erase your drawing? passed.no=$org.olat.course.nodes.iq\:passed.no passed.yes=$org.olat.course.nodes.iq\:passed.yes passed.yourpassed=$org.olat.course.nodes.iq\:passed.yourpassed diff --git a/src/main/java/org/olat/ims/qti21/ui/components/_content/drawingInteraction.html b/src/main/java/org/olat/ims/qti21/ui/components/_content/drawingInteraction.html index e16a0d87d43..a35bbf8292d 100644 --- a/src/main/java/org/olat/ims/qti21/ui/components/_content/drawingInteraction.html +++ b/src/main/java/org/olat/ims/qti21/ui/components/_content/drawingInteraction.html @@ -31,8 +31,6 @@ <a href="javascript:;" class="purple btn btn-default" id='#800080'><i class="o_icon o_icon_circle_color"> </i></a> </div> <div class="btn-group"> - <a href="javascript:;" id="undo" class="btn btn-default"><i class="o_icon o_icon_undo"> </i></a> - <a href="javascript:;" id="redo" class="btn btn-default"><i class="o_icon o_icon_redo"> </i></a> <a href="javascript:;" id="clear" class="btn btn-default"><i class="o_icon o_icon_clear_all"> </i></a> </div> </div> diff --git a/src/main/webapp/static/js/jquery/openolat/jquery.paint.js b/src/main/webapp/static/js/jquery/openolat/jquery.paint.js index af3824b64a2..35d4fa3f457 100644 --- a/src/main/webapp/static/js/jquery/openolat/jquery.paint.js +++ b/src/main/webapp/static/js/jquery/openolat/jquery.paint.js @@ -171,7 +171,7 @@ undo_count = 0; //NEWTHING } - //NEWTHING + /* document.getElementById("undo").addEventListener("click", function(){ if( undo_arr.length > 1 ) { if ( undo_count + 1 < undo_arr.length ) { @@ -199,6 +199,7 @@ UndoFunc(undo_count); } }); + */ jQuery("#width_range").on("input change", function() { tmp_ctx.lineWidth = document.getElementById("width_range").value / 2; @@ -211,10 +212,41 @@ }); //NEWTHING - document.getElementById("clear").addEventListener("click", function(){ - if (confirm("Do you really want CLEAR the canvas?")) { - ctx.clearRect(0, 0, tmp_canvas.width, tmp_canvas.height); + document.getElementById("clear").addEventListener("click", function() { + var mainWin = o_getMainWin(); + var cachedTrans; + if (mainWin) { + cachedTrans = jQuery(document).ooTranslator().getTranslator(mainWin.o_info.locale, 'org.olat.ims.qti21.ui'); + } else { + cachedTrans = { translate : function(key) { return key; } } } + + var cancel = cachedTrans.translate('cancel'); + var erase = cachedTrans.translate('paint.erase'); + var eraseHint = cachedTrans.translate('paint.erase.hint'); + + var modal = ''; + modal += '<div id="paintModal" class="modal fade" tabindex="-1" role="dialog">'; + modal += ' <div class="modal-dialog" role="document">'; + modal += ' <div class="modal-content">'; + modal += ' <div class="modal-body">'; + modal += ' <p>' + eraseHint + '</p>'; + modal += ' </div>'; + modal += ' <div class="modal-footer">'; + modal += ' <button type="button" class="btn btn-default" data-dismiss="modal">' + cancel + '</button>'; + modal += ' <button type="button" class="btn btn-primary" data-dismiss="modal">' + erase + '</button>'; + modal += ' </div>'; + modal += ' </div>'; + modal += ' </div>'; + modal += '</div>'; + jQuery("body").append(modal); + $('#paintModal').modal('show'); + $('#paintModal button.btn-primary').on('click', function() { + ctx.clearRect(0, 0, tmp_canvas.width, tmp_canvas.height); + }); + $('#paintModal').on('hidden.bs.modal', function (event) { + jQuery("#paintModal").remove(); + }); }); var onPaintCircle = function() { -- GitLab