Guest User

Untitled

a guest
Aug 15th, 2018
318
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.12 KB | None | 0 0
  1. function YUILoader()
  2. {
  3. this.Listeners = new Array();
  4. this.Loader = null;
  5.  
  6. this.AddListener = function(listener)
  7. {
  8. var found = false;
  9.  
  10. for(i=0; i < this.Listeners.length; i++)
  11. {
  12. if(this.Listeners[i] == listener)
  13. {
  14. found = true;
  15. break;
  16. }
  17. }
  18.  
  19. if(!found)
  20. {
  21. this.Listeners.push(listener);
  22. }
  23. };
  24.  
  25. this.Load = function()
  26. {
  27. this.Loader = new YAHOO.util.YUILoader({
  28. base: "",
  29. require: ["datatable","datasource"],
  30. loadOptional: true,
  31. combine: false,
  32. filter: "DEBUG",
  33. allowRollup: true,
  34. onSuccess: this.NotifySuccess,
  35. onFailure: this.NotifyFailure
  36. });
  37. this.Loader.insert();
  38. };
  39.  
  40. this.NotifyFailure = function(o)
  41. {
  42. alert("YUI Loader error: " + YAHOO.lang.dump(o));
  43. }
  44.  
  45. this.NotifySuccess = function()
  46. {
  47. if(this.Listeners)
  48. {
  49. for(i=0; i < this.Listeners.length; i++)
  50. {
  51. this.Listeners[i]();
  52. }
  53. }
  54. };
  55.  
  56. this.RemoveListener = function(listener)
  57. {
  58. var found = false;
  59. var listeners = new Array();
  60.  
  61. if(this.Listeners.length < 1)
  62. {
  63. return;
  64. }
  65.  
  66. do
  67. {
  68. tmpListener = this.Listeners.shift();
  69. if(tmpListener != listener)
  70. {
  71. tmpListeners.push(tmpListener);
  72. }
  73. } while(this.Listeners.length > 0)
  74.  
  75. if(tmpListeners.length > 0)
  76. {
  77. do
  78. {
  79. this.Listeners.push(tmpListeners.shift());
  80. } while(tmpListeners.length > 0)
  81. }
  82. };
  83. };
  84. var myLoader = new YUILoader();
  85.  
  86. myControl_DataTable_load = function()
  87. {
  88. // Trying to get here...
  89. }
  90.  
  91. myControl_DataTable_YUILoaded = function()
  92. {
  93. YAHOO.util.Event.addListener(window, "load", myControl_DataTable_load);
  94. }
  95.  
  96. myControl_DataTable_YUICheck = function()
  97. {
  98. if(!YAHOO.util.DataSource || !YAHOO.util.Event || !YAHOO.widget.Datatable)
  99. {
  100. myLoader.AddListener(myControl_DataTable_YUICheck);
  101. myLoader.Load();
  102. }
  103. else
  104. {
  105. myLoader.RemoveListener(myControl_DataTable_YUICheck);
  106. myControl_DataTable_YUILoaded();
  107. }
  108. }
  109. myControl_DataTable_YUICheck();
Add Comment
Please, Sign In to add comment