ajaxlib MDL-19077 required_js_code::now, for those cases when you really want inline JS, and you may be building HTML before print_header

Both quiz and lesson need this.
This commit is contained in:
tjhunt 2009-07-23 05:55:03 +00:00
parent ac63efae6d
commit c966c8a27b

View File

@ -889,17 +889,28 @@ abstract class required_js_code extends requirement_base {
* echo $PAGE->requires->js(...)->asap();
* </pre>
*
* @return string The HTML required to include this JavaScript file. The caller
* @return string The HTML for the script tag. The caller
* is responsible for outputting this HTML promptly.
*/
public function asap() {
if ($this->is_done()) {
return;
}
if (!$this->manager->is_head_done()) {
if ($this->manager->is_head_done()) {
return $this->now();
} else {
$this->in_head();
return '';
}
}
/**
* Return the required JavaScript immediately, so it can be included in some
* HTML that is being built.
* @return string The HTML for the script tag. The caller
* is responsible for making sure it is output.
*/
public function now() {
if ($this->is_done()) {
return '';
}
$js = $this->get_js_code();
$output = ajax_generate_script_tag($js);
$this->mark_done();