MDL-36023 AJAX Move the instantiation of the dialogue to display time

This commit is contained in:
Andrew Robert Nicols 2012-10-12 10:41:33 +01:00
parent 6109f2112c
commit 21b678dbca

View File

@ -20,30 +20,44 @@ YUI.add('moodle-core-chooserdialogue', function(Y) {
// The initial overflow setting
initialoverflow : '',
bodycontent : null,
headercontent : null,
instanceconfig : null,
setup_chooser_dialogue : function(bodycontent, headercontent, config) {
this.bodycontent = bodycontent;
this.headercontent = headercontent;
this.instanceconfig = config;
},
prepare_chooser : function () {
if (this.overlay) {
return;
}
// Set Default options
var params = {
bodyContent : bodycontent.get('innerHTML'),
headerContent : headercontent.get('innerHTML'),
bodyContent : this.bodycontent.get('innerHTML'),
headerContent : this.headercontent.get('innerHTML'),
width : '540px',
draggable : true,
visible : false, // Hide by default
zindex : 100, // Display in front of other items
lightbox : true, // This dialogue should be modal
shim : true
}
};
// Override with additional options
for (paramkey in config) {
params[paramkey] = config[paramkey];
for (paramkey in this.instanceconfig) {
params[paramkey] = this.instanceconfig[paramkey];
}
// Create the overlay
this.overlay = new M.core.dialogue(params);
// Remove the template for the chooser
bodycontent.remove();
headercontent.remove();
this.bodycontent.remove();
this.headercontent.remove();
// Hide and then render the overlay
this.overlay.hide();
@ -64,6 +78,8 @@ YUI.add('moodle-core-chooserdialogue', function(Y) {
* @return void
*/
display_chooser : function (e) {
this.prepare_chooser();
// Stop the default event actions before we proceed
e.preventDefault();