Skip to content
Browse files

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

  • Loading branch information...
1 parent 1754dc2 commit 8516492cc4725c3da7e05f4bc826b312475ec735 @andrewnicols andrewnicols committed Oct 12, 2012
Showing with 22 additions and 6 deletions.
  1. +22 −6 lib/yui/chooserdialogue/chooserdialogue.js
View
28 lib/yui/chooserdialogue/chooserdialogue.js
@@ -20,11 +20,25 @@ 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'),
draggable : true,
visible : false, // Hide by default
zindex : 100, // Display in front of other items
@@ -33,16 +47,16 @@ YUI.add('moodle-core-chooserdialogue', function(Y) {
}
// 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();
@@ -63,6 +77,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();

0 comments on commit 8516492

Please sign in to comment.
Something went wrong with that request. Please try again.