Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function YUILoader()
- {
- this.Listeners = new Array();
- this.Loader = null;
- this.AddListener = function(listener)
- {
- var found = false;
- for(i=0; i < this.Listeners.length; i++)
- {
- if(this.Listeners[i] == listener)
- {
- found = true;
- break;
- }
- }
- if(!found)
- {
- this.Listeners.push(listener);
- }
- };
- this.Load = function()
- {
- this.Loader = new YAHOO.util.YUILoader({
- base: "",
- require: ["datatable","datasource"],
- loadOptional: true,
- combine: false,
- filter: "DEBUG",
- allowRollup: true,
- onSuccess: this.NotifySuccess,
- onFailure: this.NotifyFailure
- });
- this.Loader.insert();
- };
- this.NotifyFailure = function(o)
- {
- alert("YUI Loader error: " + YAHOO.lang.dump(o));
- }
- this.NotifySuccess = function()
- {
- if(this.Listeners)
- {
- for(i=0; i < this.Listeners.length; i++)
- {
- this.Listeners[i]();
- }
- }
- };
- this.RemoveListener = function(listener)
- {
- var found = false;
- var listeners = new Array();
- if(this.Listeners.length < 1)
- {
- return;
- }
- do
- {
- tmpListener = this.Listeners.shift();
- if(tmpListener != listener)
- {
- tmpListeners.push(tmpListener);
- }
- } while(this.Listeners.length > 0)
- if(tmpListeners.length > 0)
- {
- do
- {
- this.Listeners.push(tmpListeners.shift());
- } while(tmpListeners.length > 0)
- }
- };
- };
- var myLoader = new YUILoader();
- myControl_DataTable_load = function()
- {
- // Trying to get here...
- }
- myControl_DataTable_YUILoaded = function()
- {
- YAHOO.util.Event.addListener(window, "load", myControl_DataTable_load);
- }
- myControl_DataTable_YUICheck = function()
- {
- if(!YAHOO.util.DataSource || !YAHOO.util.Event || !YAHOO.widget.Datatable)
- {
- myLoader.AddListener(myControl_DataTable_YUICheck);
- myLoader.Load();
- }
- else
- {
- myLoader.RemoveListener(myControl_DataTable_YUICheck);
- myControl_DataTable_YUILoaded();
- }
- }
- myControl_DataTable_YUICheck();
Add Comment
Please, Sign In to add comment