diff --git a/question/editlib.php b/question/editlib.php
index fb80c60b1cd..b779de62458 100644
--- a/question/editlib.php
+++ b/question/editlib.php
@@ -407,9 +407,16 @@ class question_bank_checkbox_column extends question_bank_column_base {
echo '';
if ($this->firstrow) {
- $PAGE->requires->js('/question/qbank.js');
- $PAGE->requires->js_function_call('question_bank.init_checkbox_column', array(get_string('selectall'),
- get_string('deselectall'), 'checkq' . $question->id));
+ $PAGE->requires->js('/question/qengine.js');
+ $module = array(
+ 'name' => 'qbank',
+ 'fullpath' => '/question/qbank.js',
+ 'requires' => array('yui2-dom', 'yui2-event', 'yui2-container'),
+ 'strings' => array(),
+ 'async' => false,
+ );
+ $PAGE->requires->js_init_call('question_bank.init_checkbox_column', array(get_string('selectall'),
+ get_string('deselectall'), 'checkq' . $question->id), false, $module);
$this->firstrow = false;
}
}
@@ -887,8 +894,6 @@ class question_bank_view {
$this->init_column_types();
$this->init_columns($this->wanted_columns());
$this->init_sort();
-
- $PAGE->requires->yui2_lib('container');
}
protected function wanted_columns() {
@@ -1185,8 +1190,6 @@ class question_bank_view {
return;
}
- $PAGE->requires->js('/question/qbank.js');
-
// Category selection form
echo $OUTPUT->heading(get_string('questionbank', 'question'), 2);
@@ -1744,7 +1747,7 @@ function require_login_in_context($contextorid = null){
*/
function print_choose_qtype_to_add_form($hiddenparams, array $allowedqtypes = null) {
global $CFG, $PAGE, $OUTPUT;
- $PAGE->requires->js('/question/qbank.js');
+
echo '
' . "\n";
echo $OUTPUT->heading(get_string('chooseqtypetoadd', 'question'), 3);
echo "
\n";
@@ -1780,7 +1783,16 @@ function print_choose_qtype_to_add_form($hiddenparams, array $allowedqtypes = nu
echo '' . "\n";
echo "\n";
echo "\n";
- $PAGE->requires->js_init_call('qtype_chooser.init', array('chooseqtype'));
+
+ $PAGE->requires->js('/question/qengine.js');
+ $module = array(
+ 'name' => 'qbank',
+ 'fullpath' => '/question/qbank.js',
+ 'requires' => array('yui2-dom', 'yui2-event', 'yui2-container'),
+ 'strings' => array(),
+ 'async' => false,
+ );
+ $PAGE->requires->js_init_call('qtype_chooser.init', array('chooseqtype'), false, $module);
}
/**
@@ -1821,8 +1833,6 @@ function create_new_question_button($categoryid, $params, $caption, $tooltip = '
$url = new moodle_url('/question/addquestion.php', $params);
echo $OUTPUT->single_button($url, $caption, 'get', array('disabled'=>$disabled, 'title'=>$tooltip));
- $PAGE->requires->yui2_lib('dragdrop');
- $PAGE->requires->yui2_lib('container');
if (!$choiceformprinted) {
echo '';
print_choose_qtype_to_add_form(array());
diff --git a/question/qbank.js b/question/qbank.js
index 5f82f53bd26..39caf4673d7 100644
--- a/question/qbank.js
+++ b/question/qbank.js
@@ -31,7 +31,7 @@ question_bank = {
headercheckbox: null,
firstcheckbox: null,
- init_checkbox_column: function(strselectall, strdeselectall, firstcbid) {
+ init_checkbox_column: function(Y, strselectall, strdeselectall, firstcbid) {
question_bank.strselectall = strselectall;
question_bank.strdeselectall = strdeselectall;
@@ -44,7 +44,7 @@ question_bank = {
question_bank.firstcheckbox = document.getElementById(firstcbid);
// Add the event handler.
- YAHOO.util.Event.addListener(question_bank.headercheckbox, 'click', question_bank.header_checkbox_click);
+ Y.YUI2.util.Event.addListener(question_bank.headercheckbox, 'click', question_bank.header_checkbox_click);
},
header_checkbox_click: function() {
@@ -66,48 +66,53 @@ qtype_chooser = {
labels: [],
container: null,
submitbutton: null,
+ yui3: null,
init: function(Y, boxid) {
+ // Store Y reference.
+ qtype_chooser.yui3 = Y;
// Find the radio buttons.
- qtype_chooser.radiobuttons = YAHOO.util.Dom.getElementsBy(
+ qtype_chooser.radiobuttons = Y.YUI2.util.Dom.getElementsBy(
function(el) { return el.type == 'radio'; }, 'input' , boxid);
- qtype_chooser.labels = YAHOO.util.Dom.getElementsByClassName('qtypeoption', 'div', boxid);
+ qtype_chooser.labels = Y.YUI2.util.Dom.getElementsByClassName('qtypeoption', 'div', boxid);
// Find the submit button.
qtype_chooser.submitbutton = document.getElementById(boxid + '_submit');
qtype_chooser.enable_disable_submit();
// Add the event handlers.
- YAHOO.util.Event.addListener(boxid, 'click', qtype_chooser.enable_disable_submit);
- YAHOO.util.Event.addListener(boxid, 'key_down', qtype_chooser.enable_disable_submit);
- YAHOO.util.Event.addListener(boxid, 'key_up', qtype_chooser.enable_disable_submit);
- YAHOO.util.Event.addListener(boxid, 'dblclick', function(e) {
+ Y.YUI2.util.Event.addListener(boxid, 'click', qtype_chooser.enable_disable_submit);
+ Y.YUI2.util.Event.addListener(boxid, 'key_down', qtype_chooser.enable_disable_submit);
+ Y.YUI2.util.Event.addListener(boxid, 'key_up', qtype_chooser.enable_disable_submit);
+ Y.YUI2.util.Event.addListener(boxid, 'dblclick', function(e) {
if (!qtype_chooser.submitbutton.disabled) {
M.core_scroll_manager.save_scroll_pos(Y, Y.one(qtype_chooser.submitbutton));
qtype_chooser.submitbutton.form.submit();
}
});
- YAHOO.util.Event.onDOMReady(qtype_chooser.init_container);
+ Y.YUI2.util.Event.onDOMReady(qtype_chooser.init_container);
Y.on('submit', function(e) {
M.core_scroll_manager.save_scroll_pos(Y, Y.one(qtype_chooser.submitbutton));
}, qtype_chooser.submitbutton.form);
},
enable_disable_submit: function() {
+ var Y = qtype_chooser.yui3;
var ok = false;
for (var i = 0; i < qtype_chooser.radiobuttons.length; i++) {
if (qtype_chooser.radiobuttons[i].checked) {
ok = true;
- YAHOO.util.Dom.addClass(qtype_chooser.labels[i], 'selected');
+ Y.YUI2.util.Dom.addClass(qtype_chooser.labels[i], 'selected');
} else {
- YAHOO.util.Dom.removeClass(qtype_chooser.labels[i], 'selected');
+ Y.YUI2.util.Dom.removeClass(qtype_chooser.labels[i], 'selected');
}
}
qtype_chooser.submitbutton.disabled = !ok;
},
init_container: function() {
+ var Y = qtype_chooser.yui3;
if (!document.getElementById('qtypechoicecontainer')) {
return;
}
@@ -115,7 +120,7 @@ qtype_chooser = {
qtypechoicecontainer.style.display = 'block';
qtypechoicecontainer.parentNode.removeChild(qtypechoicecontainer);
document.body.appendChild(qtypechoicecontainer);
- qtype_chooser.container = new YAHOO.widget.Dialog(qtypechoicecontainer, {
+ qtype_chooser.container = new Y.YUI2.widget.Dialog(qtypechoicecontainer, {
constraintoviewport: true,
visible: false,
modal: true,
@@ -128,36 +133,38 @@ qtype_chooser = {
});
qtype_chooser.container.render();
- YAHOO.util.Event.addListener('chooseqtypecancel', 'click', qtype_chooser.cancel_popup);
+ Y.YUI2.util.Event.addListener('chooseqtypecancel', 'click', qtype_chooser.cancel_popup);
- var addforms = YAHOO.util.Dom.getElementsBy(function(el) {
+ var addforms = Y.YUI2.util.Dom.getElementsBy(function(el) {
return /question\/addquestion\.php/.test(el.action); }, 'form', document.body);
for (var i = 0; i < addforms.length; i++) {
- YAHOO.util.Event.addListener(addforms[i], 'submit', qtype_chooser.add_button_click);
+ Y.YUI2.util.Event.addListener(addforms[i], 'submit', qtype_chooser.add_button_click);
}
},
add_button_click: function(e) {
+ var Y = qtype_chooser.yui3;
var form = document.getElementById('qtypeformdiv');
- var oldhidden = YAHOO.util.Dom.getElementsBy(
+ var oldhidden = Y.YUI2.util.Dom.getElementsBy(
function(el) { return el.type == 'hidden'; }, 'input', form);
for (var i = 0; i < oldhidden.length; i++) {
oldhidden[i].parentNode.removeChild(oldhidden[i]);
}
- var wantedhidden = YAHOO.util.Dom.getElementsBy(
+ var wantedhidden = Y.YUI2.util.Dom.getElementsBy(
function(el) { return el.type == 'hidden'; }, 'input', this);
for (i = 0; i < wantedhidden.length; i++) {
form.appendChild(wantedhidden[i].cloneNode(true));
}
qtype_chooser.container.show();
- YAHOO.util.Event.preventDefault(e);
+ Y.YUI2.util.Event.preventDefault(e);
},
cancel_popup: function(e) {
+ var Y = qtype_chooser.yui3;
qtype_chooser.container.hide();
- YAHOO.util.Event.preventDefault(e);
+ Y.YUI2.util.Event.preventDefault(e);
}
};
\ No newline at end of file