MDL-30899 modchooser Changing from overlay to panel references

This commit is contained in:
David Monllao 2012-09-10 13:27:23 +08:00
parent 64cd465f13
commit 2a88835d5a
2 changed files with 20 additions and 18 deletions

View file

@ -5,8 +5,8 @@ YUI.add('moodle-core-chooserdialogue', function(Y) {
}
Y.extend(CHOOSERDIALOGUE, Y.Base, {
// The overlay widget
overlay: null,
// The panel widget
panel: null,
// The submit button - we disable this until an element is set
submitbutton : null,
@ -50,23 +50,23 @@ YUI.add('moodle-core-chooserdialogue', function(Y) {
params[paramkey] = this.instanceconfig[paramkey];
}
// Create the overlay
this.overlay = new M.core.dialogue(params);
// Create the panel
this.panel = new M.core.dialogue(params);
// Remove the template for the chooser
this.bodycontent.remove();
this.headercontent.remove();
// Hide and then render the overlay
this.overlay.hide();
this.overlay.render();
// Hide and then render the panel
this.panel.hide();
this.panel.render();
// Set useful links
this.container = this.overlay.get('boundingBox').one('.choosercontainer');
this.container = this.panel.get('boundingBox').one('.choosercontainer');
this.options = this.container.all('.option input[type=radio]');
// Add the chooserdialogue class to the container for styling
this.overlay.get('boundingBox').addClass('chooserdialogue');
this.panel.get('boundingBox').addClass('chooserdialogue');
},
/**
@ -81,7 +81,7 @@ YUI.add('moodle-core-chooserdialogue', function(Y) {
// Stop the default event actions before we proceed
e.preventDefault();
var bb = this.overlay.get('boundingBox');
var bb = this.panel.get('boundingBox');
var dialogue = this.container.one('.alloptions');
// Get the overflow setting when the chooser was opened - we
@ -135,7 +135,9 @@ YUI.add('moodle-core-chooserdialogue', function(Y) {
// Hook onto the cancel button to hide the form
thisevent = this.container.one('#addcancel').on('click', this.cancel_popup, this);
this.listenevents.push(thisevent);
thisevent = bb.one('div.closebutton').on('click', this.cancel_popup, this);
// Hide will be managed by cancel_popup after restoring the body overflow
thisevent = bb.one('button.closebutton').on('click', this.cancel_popup, this);
this.listenevents.push(thisevent);
// Grab global keyup events and handle them
@ -152,8 +154,8 @@ YUI.add('moodle-core-chooserdialogue', function(Y) {
// Ensure that the options are shown
this.options.removeAttribute('disabled');
// Display the overlay
this.overlay.show();
// Display the panel
this.panel.show();
// Re-centre the dialogue after we've shown it.
this.center_dialogue(dialogue);
@ -191,7 +193,7 @@ YUI.add('moodle-core-chooserdialogue', function(Y) {
* @return void
*/
center_dialogue : function(dialogue) {
var bb = this.overlay.get('boundingBox');
var bb = this.panel.get('boundingBox');
var winheight = bb.get('winHeight');
var winwidth = bb.get('winWidth');
@ -275,7 +277,7 @@ YUI.add('moodle-core-chooserdialogue', function(Y) {
}
this.container.detachAll();
this.overlay.hide();
this.panel.hide();
},
check_options : function(e) {
@ -318,6 +320,6 @@ YUI.add('moodle-core-chooserdialogue', function(Y) {
M.core.chooserdialogue = CHOOSERDIALOGUE;
},
'@VERSION@', {
requires:['base', 'overlay', 'moodle-enrol-notification']
requires:['base', 'panel', 'moodle-enrol-notification']
}
);