MDL-74112 course: Support multiple mforms in format chooser
The format chooser JS assumes that it is the only mform on the page. If it is not, and another mform appears before it, then the jump will not work.
This commit is contained in:
+5
-4
@@ -7,14 +7,15 @@ var FORMATCHOOSER = function() {
|
||||
Y.extend(FORMATCHOOSER, Y.Base, {
|
||||
initializer: function(params) {
|
||||
if (params && params.formid) {
|
||||
var updatebut = Y.one('#' + params.formid + ' #id_updatecourseformat');
|
||||
var formatselect = Y.one('#' + params.formid + ' #id_format');
|
||||
var form = Y.one('#' + params.formid);
|
||||
var updatebut = form.one('#id_updatecourseformat');
|
||||
var formatselect = form.one('#id_format');
|
||||
var ancestor = updatebut.ancestor('fieldset');
|
||||
var action = Y.one('form.mform').get('action');
|
||||
var action = form.get('action');
|
||||
if (updatebut && formatselect) {
|
||||
updatebut.setStyle('display', 'none');
|
||||
formatselect.on('change', function() {
|
||||
Y.one('form.mform').set('action', action + '#' + ancestor.get('id'));
|
||||
form.set('action', action + '#' + ancestor.get('id'));
|
||||
updatebut.simulate('click');
|
||||
});
|
||||
}
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
YUI.add("moodle-course-formatchooser",function(t,o){var e=function(){e.superclass.constructor.apply(this,arguments)};t.extend(e,t.Base,{initializer:function(o){var e,n,r;o&&o.formid&&(e=t.one("#"+o.formid+" #id_updatecourseformat"),o=t.one("#"+o.formid+" #id_format"),n=e.ancestor("fieldset"),r=t.one("form.mform").get("action"),e&&o&&(e.setStyle("display","none"),o.on("change",function(){t.one("form.mform").set("action",r+"#"+n.get("id")),e.simulate("click")})))}}),M.course=M.course||{},M.course.init_formatchooser=function(o){return new e(o)}},"@VERSION@",{requires:["base","node","node-event-simulate"]});
|
||||
YUI.add("moodle-course-formatchooser",function(r,e){var o=function(){o.superclass.constructor.apply(this,arguments)};r.extend(o,r.Base,{initializer:function(e){var o,n,t,i;e&&e.formid&&(o=r.one("#"+e.formid),n=o.one("#id_updatecourseformat"),e=o.one("#id_format"),t=n.ancestor("fieldset"),i=o.get("action"),n&&e&&(n.setStyle("display","none"),e.on("change",function(){o.set("action",i+"#"+t.get("id")),n.simulate("click")})))}}),M.course=M.course||{},M.course.init_formatchooser=function(e){return new o(e)}},"@VERSION@",{requires:["base","node","node-event-simulate"]});
|
||||
+5
-4
@@ -7,14 +7,15 @@ var FORMATCHOOSER = function() {
|
||||
Y.extend(FORMATCHOOSER, Y.Base, {
|
||||
initializer: function(params) {
|
||||
if (params && params.formid) {
|
||||
var updatebut = Y.one('#' + params.formid + ' #id_updatecourseformat');
|
||||
var formatselect = Y.one('#' + params.formid + ' #id_format');
|
||||
var form = Y.one('#' + params.formid);
|
||||
var updatebut = form.one('#id_updatecourseformat');
|
||||
var formatselect = form.one('#id_format');
|
||||
var ancestor = updatebut.ancestor('fieldset');
|
||||
var action = Y.one('form.mform').get('action');
|
||||
var action = form.get('action');
|
||||
if (updatebut && formatselect) {
|
||||
updatebut.setStyle('display', 'none');
|
||||
formatselect.on('change', function() {
|
||||
Y.one('form.mform').set('action', action + '#' + ancestor.get('id'));
|
||||
form.set('action', action + '#' + ancestor.get('id'));
|
||||
updatebut.simulate('click');
|
||||
});
|
||||
}
|
||||
|
||||
+5
-4
@@ -5,14 +5,15 @@ var FORMATCHOOSER = function() {
|
||||
Y.extend(FORMATCHOOSER, Y.Base, {
|
||||
initializer: function(params) {
|
||||
if (params && params.formid) {
|
||||
var updatebut = Y.one('#' + params.formid + ' #id_updatecourseformat');
|
||||
var formatselect = Y.one('#' + params.formid + ' #id_format');
|
||||
var form = Y.one('#' + params.formid);
|
||||
var updatebut = form.one('#id_updatecourseformat');
|
||||
var formatselect = form.one('#id_format');
|
||||
var ancestor = updatebut.ancestor('fieldset');
|
||||
var action = Y.one('form.mform').get('action');
|
||||
var action = form.get('action');
|
||||
if (updatebut && formatselect) {
|
||||
updatebut.setStyle('display', 'none');
|
||||
formatselect.on('change', function() {
|
||||
Y.one('form.mform').set('action', action + '#' + ancestor.get('id'));
|
||||
form.set('action', action + '#' + ancestor.get('id'));
|
||||
updatebut.simulate('click');
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user