Skip to content

Commit 464f035

Browse files
committed
fix the offline analysis page when loaded from the editor
It wasn't picking up the exam data from Numbas.get_exam_init_data
1 parent 7770058 commit 464f035

File tree

2 files changed

+16
-4
lines changed

2 files changed

+16
-4
lines changed

themes/default/files/scripts/analysis-display.js

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -314,8 +314,20 @@ Numbas.queueScript('analysis-display', ['base', 'download', 'util', 'csv', 'disp
314314
window.API_1484_11 = new SCORM_API({scorm_cmi: file.scorm_cmi()});
315315
const existing_container = document.querySelector('section[data-tab="review"] numbas-exam');
316316
const exam_container = document.createElement('numbas-exam');
317-
exam_container.append(existing_container.querySelector('script[type="application/numbas-exam"]'));
318-
exam_container.append(existing_container.querySelector('script[slot="extension-data"]'));
317+
const source_element = existing_container.querySelector('script[type="application/numbas-exam"]');
318+
if(source_element) {
319+
exam_container.append(source_element);
320+
exam_container.append(existing_container.querySelector('script[slot="extension-data"]'));
321+
} else {
322+
const {source_url, extension_data} = Numbas.get_exam_init_data();
323+
exam_container.setAttribute('source_url', source_url);
324+
const extension_data_script = document.createElement('script');
325+
extension_data_script.setAttribute('type', 'application/json');
326+
extension_data_script.setAttribute('slot','extension-data');
327+
extension_data_script.textContent = extension_data;
328+
exam_container.append(extension_data_script);
329+
}
330+
exam_container.setAttribute('storage','scorm');
319331
existing_container.replaceWith(exam_container);
320332
}
321333
};

themes/default/templates/analysis.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -290,7 +290,7 @@ <h2 class="readable-container">
290290
<td data-bind="niceNumber: score"></td>
291291
<td data-bind="niceNumber: max_score"></td>
292292
<td data-bind="percentage: score_percentage"></td>
293-
<td><button class="btn" type="button" data-bind="click: $root.review_file"><span data-localise="analysis.review this"></span></button></td>
293+
<td><button class="btn info" type="button" data-bind="click: $root.review_file"><span data-localise="analysis.review this"></span></button></td>
294294
</tr>
295295

296296
</tbody>
@@ -354,7 +354,7 @@ <h1 data-bind="text: reviewing_attempt_text"></h1>
354354
</header>
355355

356356
<numbas-exam noload>
357-
<script type="application/numbas-exam">{% if not dont_start_exam %}{{options.source}}{% endif %}</script>
357+
{% if not dont_start_exam %}<script type="application/numbas-exam">{{options.source}}</script>{% endif %}
358358
<script type="application/json" slot="extension-data">{{extension_data}}</script>
359359
</numbas-exam>
360360
</section>

0 commit comments

Comments
 (0)