Kumi
131f84f5ef
Introduced a new renderer class to manage the rendering of activity scripts and modals in the exp360 module. Renderer ensures modals are loaded only once, enhancing performance. Modified lib.php to utilize the new renderer for appending necessary scripts and modal content to the course module info.
45 lines
No EOL
1.7 KiB
PHP
45 lines
No EOL
1.7 KiB
PHP
<?php
|
|
|
|
namespace mod_exp360\output;
|
|
|
|
defined('MOODLE_INTERNAL') || die();
|
|
|
|
use plugin_renderer_base;
|
|
|
|
class renderer extends plugin_renderer_base {
|
|
|
|
private static $modals_rendered = false;
|
|
|
|
public function render_activity($activity_id) {
|
|
$script = "<script data-activity-id='$activity_id' src='/mod/exp360/script.js'></script>";
|
|
return $script;
|
|
}
|
|
|
|
public function render_modals() {
|
|
if (self::$modals_rendered) {
|
|
return '';
|
|
}
|
|
|
|
self::$modals_rendered = true;
|
|
|
|
$modalHTML = '
|
|
<div id="fullScreenModal" class="modal" tabindex="-1"
|
|
aria-labelledby="modalLabel" aria-hidden="true">
|
|
<div style="background-color:#294084;" class="modal-dialog modal-fullscreen">
|
|
<div style="background-color:#294084;" class="modal-content">
|
|
<div style="background-color:#294084;" class="modal-body"><iframe style="background-color:#294084;" id="modal-iframe"></iframe></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="regularModal" style="background: rgb(255,255,255,.7);" class="modal" tabindex="-2"
|
|
aria-labelledby="modalLabel" aria-hidden="true">
|
|
<div style="background-color:#294084;height:90%;" class="modal-dialog modal-lg">
|
|
<div style="background-color:#294084;height:100%;" class="modal-content">
|
|
<div style="background-color:#294084;" class="modal-body"><iframe style="background-color:#294084;width:100%;height:100%;" id="regular-modal-iframe"></iframe></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
';
|
|
return $modalHTML;
|
|
}
|
|
} |