diff --git a/assets/css/scss/_exercise.scss b/assets/css/scss/_exercise.scss index 691ec0719a..11b01409a2 100644 --- a/assets/css/scss/_exercise.scss +++ b/assets/css/scss/_exercise.scss @@ -8,4 +8,54 @@ .question_menu li { display: inline-block; +} + + +/* Fixes questions list */ +.question_options { + min-height: 150px; +} + +.question_options label { + margin-bottom: 14px; + display: block; + font-weight: normal; +} + +.question_options .radio { + min-height: 18px; + margin-left: 65px; +} + +.question_options .checkbox { + margin-left: 65px; +} + +.question_options .radio input[type="radio"], .question_options .checkbox input[type="checkbox"] { + float: left; + margin-left: -25px; +} + +.question_options input[type="text"] { + padding: 6px 12px; + margin: 2px 2px 2px 0; + vertical-align: middle; + display: inline-block; + height: 34px; + line-height: 1.42857; + border: 1px solid #CCCCCC; + border-radius: 4px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + color: #555555; + font-weight: bold; + background-color: #FCF8D6; + +} + +.question_options input[type="text"]:focus { + border-color: #66AFE9; + background-color: #ffffff; + outline: 0 none; + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(102, 175, 233, 0.6); } \ No newline at end of file diff --git a/assets/js/exercise.js b/assets/js/exercise.js new file mode 100644 index 0000000000..825b3b5dc6 --- /dev/null +++ b/assets/js/exercise.js @@ -0,0 +1,10 @@ + +import 'jsplumb'; +import 'jquery-ui-touch-punch'; +import 'xcolor/jquery.xcolor.js'; + +import '../../main/inc/lib/javascript/epiclock/javascript/jquery.dateformat.min.js'; +import '../../main/inc/lib/javascript/epiclock/javascript/jquery.epiclock.js'; +import '../../main/inc/lib/javascript/epiclock/renderers/minute/epiclock.minute.js'; + + diff --git a/main/exercise/exercise.class.php b/main/exercise/exercise.class.php index aca2574e2d..0d8b21b0f7 100755 --- a/main/exercise/exercise.class.php +++ b/main/exercise/exercise.class.php @@ -8055,7 +8055,6 @@ class Exercise ]) ) { $hide = (int) $this->getPageConfigurationAttribute('hide_expected_answer'); - if ($hide === 1) { return false; } diff --git a/main/exercise/exercise_reminder.php b/main/exercise/exercise_reminder.php index 250125f229..736f05f539 100755 --- a/main/exercise/exercise_reminder.php +++ b/main/exercise/exercise_reminder.php @@ -50,14 +50,15 @@ if ($objExercise->expired_time != 0 && !empty($clock_expired_time)) { if ($time_control) { // Get time left for expiring time $time_left = api_strtotime($clock_expired_time, 'UTC') - time(); - $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/stylesheet/jquery.epiclock.css'); $htmlHeadXtra[] = api_get_css(api_get_path(WEB_LIBRARY_PATH).'javascript/epiclock/renderers/minute/epiclock.minute.css'); $htmlHeadXtra[] = api_get_js('epiclock/javascript/jquery.dateformat.min.js'); $htmlHeadXtra[] = api_get_js('epiclock/javascript/jquery.epiclock.min.js'); - $htmlHeadXtra[] = api_get_js('epiclock/renderers/minute/epiclock.minute.js'); + $htmlHeadXtra[] = api_get_js('epiclock/renderers/minute/epiclock.minute.js');*/ $htmlHeadXtra[] = $objExercise->showTimeControlJS($time_left); } +$htmlHeadXtra[] = api_get_build_js('exercise.js'); $htmlHeadXtra[] = api_get_css_asset('pretty-checkbox/dist/pretty-checkbox.min.css'); $exe_id = 0; diff --git a/main/exercise/exercise_report.php b/main/exercise/exercise_report.php index eed74b659c..68c5429134 100755 --- a/main/exercise/exercise_report.php +++ b/main/exercise/exercise_report.php @@ -666,7 +666,7 @@ if ($is_allowedToEdit || $is_tutor) { return ""+cellvalue+""; }'; } -// Autowidth + $extra_params['autowidth'] = 'true'; $extra_params['height'] = 'auto'; $extra_params['gridComplete'] = " @@ -687,10 +687,10 @@ if (typeof defaultGroupId !== 'undefined') { defaultGroupId = Cookies.get('default_group_".$exercise_id."'); $('#gs_group_name').val(defaultGroupId); } - + if (typeof defaultGroupId !== 'undefined') { var posted_data = $(\"#results\").jqGrid('getGridParam', 'postData'); - var extraFilter = ',{\"field\":\"group_id\",\"op\":\"eq\",\"data\":\"'+ defaultGroupId +'\"}]}'; + var extraFilter = ',{\"field\":\"group_id\",\"op\":\"eq\",\"data\":\"'+ defaultGroupId +'\"}]}'; var filters = posted_data.filters; var stringObj = new String(filters); stringObj.replace(']}', extraFilter); diff --git a/main/exercise/exercise_result.php b/main/exercise/exercise_result.php index 32267e6d13..6a8ef66dfb 100755 --- a/main/exercise/exercise_result.php +++ b/main/exercise/exercise_result.php @@ -76,12 +76,14 @@ if (api_get_configuration_value('quiz_prevent_copy_paste')) { } if (!empty($objExercise->getResultAccess())) { - $htmlHeadXtra[] = api_get_css(api_get_path(WEB_LIBRARY_PATH).'javascript/epiclock/renderers/minute/epiclock.minute.css'); + /*$htmlHeadXtra[] = api_get_css(api_get_path(WEB_LIBRARY_PATH).'javascript/epiclock/renderers/minute/epiclock.minute.css'); $htmlHeadXtra[] = api_get_js('epiclock/javascript/jquery.dateformat.min.js'); $htmlHeadXtra[] = api_get_js('epiclock/javascript/jquery.epiclock.min.js'); - $htmlHeadXtra[] = api_get_js('epiclock/renderers/minute/epiclock.minute.js'); + $htmlHeadXtra[] = api_get_js('epiclock/renderers/minute/epiclock.minute.js');*/ } +$htmlHeadXtra[] = api_get_build_js('exercise.js'); + if (!in_array($origin, ['learnpath', 'embeddable'])) { // So we are not in learnpath tool Display::display_header($nameTools, get_lang('Exercise')); diff --git a/main/exercise/exercise_submit.php b/main/exercise/exercise_submit.php index e1b65929e6..62eea56d40 100755 --- a/main/exercise/exercise_submit.php +++ b/main/exercise/exercise_submit.php @@ -55,15 +55,16 @@ $js = ''; $htmlHeadXtra[] = $js; //$htmlHeadXtra[] = api_get_js('jqueryui-touch-punch/jquery.ui.touch-punch.min.js'); -$htmlHeadXtra[] = api_get_js('jquery.jsPlumb.all.js'); +//$htmlHeadXtra[] = api_get_js('jquery.jsPlumb.all.js'); //$htmlHeadXtra[] = api_get_js('d3/jquery.xcolor.js'); //This library is necessary for the time control feature //tmlHeadXtra[] = 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'); -$htmlHeadXtra[] = api_get_js('epiclock/javascript/jquery.dateformat.min.js'); -$htmlHeadXtra[] = api_get_js('epiclock/javascript/jquery.epiclock.min.js'); -$htmlHeadXtra[] = api_get_js('epiclock/renderers/minute/epiclock.minute.js'); +//$htmlHeadXtra[] = api_get_css(api_get_path(WEB_LIBRARY_PATH).'javascript/epiclock/renderers/minute/epiclock.minute.css'); +//$htmlHeadXtra[] = api_get_js('epiclock/javascript/jquery.dateformat.min.js'); +//$htmlHeadXtra[] = api_get_js('epiclock/javascript/jquery.epiclock.min.js'); +//$htmlHeadXtra[] = api_get_js('epiclock/renderers/minute/epiclock.minute.js'); +$htmlHeadXtra[] = api_get_build_js('exercise.js'); $htmlHeadXtra[] = ''; $htmlHeadXtra[] = ''; $htmlHeadXtra[] = ''; diff --git a/main/exercise/overview.php b/main/exercise/overview.php index e82df62008..96bcce2bde 100755 --- a/main/exercise/overview.php +++ b/main/exercise/overview.php @@ -62,14 +62,15 @@ if ($objExercise->expired_time != 0 && !empty($clock_expired_time)) { $time_control = true; } +$htmlHeadXtra[] = api_get_build_js('exercise.js'); if ($time_control) { // Get time left for expiring time $time_left = api_strtotime($clock_expired_time, 'UTC') - time(); - $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/stylesheet/jquery.epiclock.css'); $htmlHeadXtra[] = api_get_css(api_get_path(WEB_LIBRARY_PATH).'javascript/epiclock/renderers/minute/epiclock.minute.css'); $htmlHeadXtra[] = api_get_js('epiclock/javascript/jquery.dateformat.min.js'); $htmlHeadXtra[] = api_get_js('epiclock/javascript/jquery.epiclock.min.js'); - $htmlHeadXtra[] = api_get_js('epiclock/renderers/minute/epiclock.minute.js'); + $htmlHeadXtra[] = api_get_js('epiclock/renderers/minute/epiclock.minute.js');*/ $htmlHeadXtra[] = $objExercise->showTimeControlJS($time_left); } diff --git a/main/exercise/question.class.php b/main/exercise/question.class.php index 5cbd49de98..d7f9a8e8d6 100755 --- a/main/exercise/question.class.php +++ b/main/exercise/question.class.php @@ -974,13 +974,13 @@ abstract class Question $this->saveCategory($categoryId); if (!empty($exerciseId)) { - api_item_property_update( + /*api_item_property_update( $this->course, TOOL_QUIZ, $id, 'QuizQuestionUpdated', api_get_user_id() - ); + );*/ } if (api_get_setting('search_enabled') === 'true') { $this->search_engine_edit($exerciseId); @@ -1855,7 +1855,6 @@ abstract class Question $type = new $type[1](); $img = $type->getTypePicture(); $explanation = get_lang($type->getExplanation()); - echo '
  • '; echo '
    '; $icon = ''. diff --git a/main/exercise/result.php b/main/exercise/result.php index 91611f62f1..e15e278358 100755 --- a/main/exercise/result.php +++ b/main/exercise/result.php @@ -59,12 +59,14 @@ $htmlHeadXtra[] = ''; if (!empty($objExercise->getResultAccess())) { - $htmlHeadXtra[] = api_get_css(api_get_path(WEB_LIBRARY_PATH).'javascript/epiclock/renderers/minute/epiclock.minute.css'); + /*$htmlHeadXtra[] = api_get_css(api_get_path(WEB_LIBRARY_PATH).'javascript/epiclock/renderers/minute/epiclock.minute.css'); $htmlHeadXtra[] = api_get_js('epiclock/javascript/jquery.dateformat.min.js'); $htmlHeadXtra[] = api_get_js('epiclock/javascript/jquery.epiclock.min.js'); - $htmlHeadXtra[] = api_get_js('epiclock/renderers/minute/epiclock.minute.js'); + $htmlHeadXtra[] = api_get_js('epiclock/renderers/minute/epiclock.minute.js');*/ } +$htmlHeadXtra[] = api_get_build_js('exercise.js'); + if ($show_headers) { $interbreadcrumb[] = [ 'url' => 'exercise.php?'.api_get_cidreq(), diff --git a/main/inc/lib/api.lib.php b/main/inc/lib/api.lib.php index 875be45b91..38a0799255 100644 --- a/main/inc/lib/api.lib.php +++ b/main/inc/lib/api.lib.php @@ -7175,6 +7175,11 @@ function api_get_js($file) return ''."\n"; } +function api_get_build_js($file) +{ + return ''."\n"; +} + /** * Returns the