MDL-32729 Question: Correct button selection when openin qbank chooser
Some browsers do not bubble form submission events to the window, and we had more than one form on the page in certain conditions. We need to select all of the forms on a page and then test the action.
This commit is contained in:
@@ -54,7 +54,7 @@ class behat_question_base extends behat_base {
|
||||
|
||||
return array(
|
||||
new Given('I set the field "' . $this->escape($questiontypename) . '" to "1"'),
|
||||
new Given('I click on "#chooseqtype_submit" "css_element"'),
|
||||
new Given('I click on ".submitbutton" "css_element"'),
|
||||
new Given('I set the following fields to these values:', $questiondata),
|
||||
new Given('I press "id_submitbutton"')
|
||||
);
|
||||
|
||||
+5
-1
@@ -14,7 +14,11 @@ function Chooser() {
|
||||
|
||||
Y.extend(Chooser, M.core.chooserdialogue, {
|
||||
initializer: function() {
|
||||
Y.one(SELECTORS.CREATENEWQUESTIONFORM).on('submit', this.displayQuestionChooser, this);
|
||||
Y.all('form').each(function(node) {
|
||||
if (/question\/addquestion\.php/.test(node.getAttribute('action'))) {
|
||||
node.on('submit', this.displayQuestionChooser, this);
|
||||
}
|
||||
}, this);
|
||||
},
|
||||
displayQuestionChooser: function(e) {
|
||||
var dialogue = Y.one(SELECTORS.CREATENEWQUESTION + ' ' + SELECTORS.CHOOSERDIALOGUE),
|
||||
|
||||
@@ -1 +1 @@
|
||||
YUI.add("moodle-question-chooser",function(e,t){function r(){r.superclass.constructor.apply(this,arguments)}var n={CREATENEWQUESTION:"div.createnewquestion",CREATENEWQUESTIONFORM:"div.createnewquestion form",CHOOSERDIALOGUE:"div.chooserdialogue",CHOOSERHEADER:"div.choosertitle",QBANKCATEGORY:"#qbankcategory"};e.extend(r,M.core.chooserdialogue,{initializer:function(){e.one(n.CREATENEWQUESTIONFORM).on("submit",this.displayQuestionChooser,this)},displayQuestionChooser:function(t){var r=e.one(n.CREATENEWQUESTION+" "+n.CHOOSERDIALOGUE),i=e.one(n.CREATENEWQUESTION+" "+n.CHOOSERHEADER);this.container===null&&(this.setup_chooser_dialogue(r,i,{}),this.prepare_chooser()),this.container.one(n.QBANKCATEGORY).set("value",e.one(n.CREATENEWQUESTIONFORM).get("category").get("value")),this.display_chooser(t)}},{NAME:"questionChooser"}),M.question=M.question||{},M.question.init_chooser=function(e){return new r(e)}},"@VERSION@",{requires:["moodle-core-chooserdialogue"]});
|
||||
YUI.add("moodle-question-chooser",function(e,t){function r(){r.superclass.constructor.apply(this,arguments)}var n={CREATENEWQUESTION:"div.createnewquestion",CREATENEWQUESTIONFORM:"div.createnewquestion form",CHOOSERDIALOGUE:"div.chooserdialogue",CHOOSERHEADER:"div.choosertitle",QBANKCATEGORY:"#qbankcategory"};e.extend(r,M.core.chooserdialogue,{initializer:function(){e.all("form").each(function(e){/question\/addquestion\.php/.test(e.getAttribute("action"))&&e.on("submit",this.displayQuestionChooser,this)},this)},displayQuestionChooser:function(t){var r=e.one(n.CREATENEWQUESTION+" "+n.CHOOSERDIALOGUE),i=e.one(n.CREATENEWQUESTION+" "+n.CHOOSERHEADER);this.container===null&&(this.setup_chooser_dialogue(r,i,{}),this.prepare_chooser()),this.container.one(n.QBANKCATEGORY).set("value",e.one(n.CREATENEWQUESTIONFORM).get("category").get("value")),this.display_chooser(t)}},{NAME:"questionChooser"}),M.question=M.question||{},M.question.init_chooser=function(e){return new r(e)}},"@VERSION@",{requires:["moodle-core-chooserdialogue"]});
|
||||
|
||||
@@ -14,7 +14,11 @@ function Chooser() {
|
||||
|
||||
Y.extend(Chooser, M.core.chooserdialogue, {
|
||||
initializer: function() {
|
||||
Y.one(SELECTORS.CREATENEWQUESTIONFORM).on('submit', this.displayQuestionChooser, this);
|
||||
Y.all('form').each(function(node) {
|
||||
if (/question\/addquestion\.php/.test(node.getAttribute('action'))) {
|
||||
node.on('submit', this.displayQuestionChooser, this);
|
||||
}
|
||||
}, this);
|
||||
},
|
||||
displayQuestionChooser: function(e) {
|
||||
var dialogue = Y.one(SELECTORS.CREATENEWQUESTION + ' ' + SELECTORS.CHOOSERDIALOGUE),
|
||||
|
||||
+5
-1
@@ -12,7 +12,11 @@ function Chooser() {
|
||||
|
||||
Y.extend(Chooser, M.core.chooserdialogue, {
|
||||
initializer: function() {
|
||||
Y.one(SELECTORS.CREATENEWQUESTIONFORM).on('submit', this.displayQuestionChooser, this);
|
||||
Y.all('form').each(function(node) {
|
||||
if (/question\/addquestion\.php/.test(node.getAttribute('action'))) {
|
||||
node.on('submit', this.displayQuestionChooser, this);
|
||||
}
|
||||
}, this);
|
||||
},
|
||||
displayQuestionChooser: function(e) {
|
||||
var dialogue = Y.one(SELECTORS.CREATENEWQUESTION + ' ' + SELECTORS.CHOOSERDIALOGUE),
|
||||
|
||||
Reference in New Issue
Block a user