From 09c5864de7ef302845bf8ab568f68f9310d9e574 Mon Sep 17 00:00:00 2001 From: Angel Fernando Quiroz Campos Date: Tue, 28 Apr 2015 10:03:15 -0500 Subject: [PATCH] Allow solve Matching Draggable answer - refs #7611 --- main/css/base.css | 24 +++ main/exercice/answer.class.php | 16 ++ main/exercice/exercise_show.php | 2 +- main/exercice/exercise_submit.php | 7 + main/inc/lib/display.lib.php | 6 +- main/inc/lib/exercise.lib.php | 137 ++++++++++++++++- main/template/default/exercise/submit.js.tpl | 148 +++++++++++++++++++ 7 files changed, 328 insertions(+), 12 deletions(-) diff --git a/main/css/base.css b/main/css/base.css index 06e9f9e523..3d56ed0bc7 100755 --- a/main/css/base.css +++ b/main/css/base.css @@ -5930,3 +5930,27 @@ ul.exercise-draggable-answer li { .question_options .droppable .gallery .exercise-draggable-answer-option { margin-bottom: 15px; } + +/*** Matching Draggable answer ***/ +.drag_question { + float: left; + min-height: 4em; + width: 100%; +} +.drag_question .window{ + box-shadow: 2px 2px 19px #AAA; + cursor: pointer; + min-height: 65px; + padding-top: 25px; +} +.window_left_question { + padding: 10px 25px 10px 10px; + text-align: right; +} +.window_right_question { + padding: 10px 10px 10px 25px; +} + +._jsPlumb_endpoint { + z-index: 50; +} \ No newline at end of file diff --git a/main/exercice/answer.class.php b/main/exercice/answer.class.php index b62f8c2a24..7777e2595f 100755 --- a/main/exercice/answer.class.php +++ b/main/exercice/answer.class.php @@ -759,4 +759,20 @@ class Answer } } } + + /** + * Get the necessary JavaScript for some ansers + * @return string + */ + public function getJs() { + //if ($this->questionId == 2) + return ""; + } + } diff --git a/main/exercice/exercise_show.php b/main/exercice/exercise_show.php index 52bdc1ee9c..649d7f40de 100755 --- a/main/exercice/exercise_show.php +++ b/main/exercice/exercise_show.php @@ -343,7 +343,7 @@ foreach ($questionList as $questionId) { $question_result = $objExercise->manage_answer($id, $questionId, $choice,'exercise_show', array(), false, true, $show_results, $objExercise->selectPropagateNeg()); $questionScore = $question_result['score']; $totalScore += $question_result['score']; - } elseif (in_array($answerType, [MATCHING, DRAGGABLE])) { + } elseif (in_array($answerType, [MATCHING, DRAGGABLE, MATCHING_DRAGGABLE])) { $question_result = $objExercise->manage_answer($id, $questionId, $choice,'exercise_show', array(), false, true, $show_results, $objExercise->selectPropagateNeg()); $questionScore = $question_result['score']; $totalScore += $question_result['score']; diff --git a/main/exercice/exercise_submit.php b/main/exercice/exercise_submit.php index f85b84fa92..a5b7e354bf 100755 --- a/main/exercice/exercise_submit.php +++ b/main/exercice/exercise_submit.php @@ -50,6 +50,13 @@ if ($showGlossary) { $htmlHeadXtra[] = api_get_js('jquery.highlight.js'); } +$htmlHeadXtra[] = ''; +$htmlHeadXtra[] = ''; + //This library is necessary for the time control feature $htmlHeadXtra[] = api_get_css(api_get_path(WEB_LIBRARY_PATH).'javascript/epiclock/stylesheet/jquery.epiclock.css'); $htmlHeadXtra[] = api_get_css(api_get_path(WEB_LIBRARY_PATH).'javascript/epiclock/renderers/minute/epiclock.minute.css'); diff --git a/main/inc/lib/display.lib.php b/main/inc/lib/display.lib.php index eb3e99b495..300db8a1a4 100755 --- a/main/inc/lib/display.lib.php +++ b/main/inc/lib/display.lib.php @@ -954,7 +954,7 @@ class Display if ($key == 'id') { $default_id = ''; } - $extra .= $key.'="'.$parameter.'"'; + $extra .= $key.'="'.$parameter.'" '; } $html .= '