use App\Http\Controllers\Admin\Operations\Quiz\ReportOperation;
use App\Models\Base\ToolboxModel;
use App\Models\Traits\SCORMVersionTrait;
+use Cubist\Backpack\Magic\Fields\Code;
use Cubist\Backpack\Magic\Fields\SelectFromArray;
use Cubist\Scorm\Manifest;
use Cubist\Util\Files\VirtualDirectory;
$f = array_merge($default, $color, ['name' => $name]);
$this->addField($f);
}
-
-
$default = ['tab' => __('Thème'), 'type' => 'Images', 'maxFiles' => 1];
foreach (self::_getImages() as $name => $label) {
$f = array_merge($default, ['name' => $name, 'label' => $label]);
$this->addField($f);
}
+ $this->addField('css', Code::class, __('Code CSS supplémentaire'), ['language' => 'css', 'tab' => __('Thème')]);
}
}
function initContents() {
+ if (DATA.css !== '') {
+ $("head").append('<style type="text/css">' + DATA.css + '</style>');
+ }
$("header .headerholder .titleHolder").append('<h1>' + DATA.title + '</h1>');
$("header .headerholder .titleHolder h1").css('width', '99%');
$("title").text(DATA.title);
passedAction = DATA.passedAction !== '' ? DATA.passedAction : null;
failedAction = DATA.failedAction !== '' ? DATA.failedAction : null;
+ var results;
+ if (testMode) {
+ results = testResults();
+ } else {
+ results = quizResults();
+ }
+
+ $("main").append(results);
+
+ $(document).on('quizinit', function (event, state) {
+ init(state);
+ });
+
+ initApp();
+
+ resizeContainer();
+ resize();
+ }
+
+ function quizResults() {
var results = '<section id="resultsscreen">';
results += '<div id="results">';
results += '<h2 class="defaultMessage">' + defaultMessage + '</h2>';
results = $(results);
$(results).append(correction);
+ return results;
+ }
- $("main").append(results);
-
- $(document).on('quizinit', function (event, state) {
- init(state);
+ function testResults() {
+ var results = '<section id="resultsscreen">';
+ results += '<div id="results">';
+ $.each(DATA.test_results, function (k, v) {
+ results += '<h2 class="test_result" data-min="' + (Math.min(v.score.first, v.score.second)) + '" data-max="' + (Math.max(v.score.first, v.score.second)) + '">' + v.text + '</h2>';
});
+ results += '</div>';
+ results += '</section>';
- initApp();
-
- resizeContainer();
- resize();
+ results = $(results);
+ return results;
}
function init(state) {
if ($(next).is("#resultsscreen")) {
updateScore();
- var show = showReview === 'always' || (showReview === 'passed' && checkScore());
+ if (quizMode) {
+ var show = showReview === 'always' || (showReview === 'passed' && checkScore());
- if (!show) {
- $('#correction').hide();
+ if (!show) {
+ $('#correction').hide();
+ } else {
+ $('#correction').show();
+ }
} else {
- $('#correction').show();
+ $('.test_result').each(function () {
+ var show = score >= $(this).data('min') && score <= $(this).data('max');
+ console.log(this, show, score, $(this).data('min'), $(this).data('max'));
+ if (show) {
+ $(this).show();
+ } else {
+ $(this).hide();
+ }
+ });
}
completed();
}
}
function checkScore() {
- var normalizedScore = getNormalizedScore(false);
- $('#results > h2').hide();
- var passed;
- $('#restart').hide();
- if (threshold === 0) {
- $('.defaultMessage').show();
- passed = true;
- } else if (normalizedScore >= threshold) {
- $(".passedMessage").show();
- execAction(passedAction);
- passed = true;
- } else {
- $('.failedMessage').show();
- execAction(failedAction);
- passed = false;
- if ($(data).find('restart_button').text() === "1") {
- $('#restart').show();
+ if (quizMode) {
+ var normalizedScore = getNormalizedScore(false);
+ $('#results > h2').hide();
+ var passed;
+ $('#restart').hide();
+ if (threshold === 0) {
+ $('.defaultMessage').show();
+ passed = true;
+ } else if (normalizedScore >= threshold) {
+ $(".passedMessage").show();
+ execAction(passedAction);
+ passed = true;
+ } else {
+ $('.failedMessage').show();
+ execAction(failedAction);
+ passed = false;
+ if ($(data).find('restart_button').text() === "1") {
+ $('#restart').show();
+ }
}
+ return passed;
}
- return passed;
+ return true;
}
function execAction(action) {