loader.js 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. var _origVars = [];
  2. for (var _prop in window) {
  3. _origVars.push(_prop);
  4. }
  5. function varLeaks() {
  6. for (var prop in window) {
  7. var found = false;
  8. for (var i=0; i<_origVars.length; i++) {
  9. if (prop == _origVars[i]) {
  10. found = true;
  11. break;
  12. }
  13. }
  14. if (!found) {
  15. console.log(prop);
  16. }
  17. }
  18. }
  19. var m = window.location.href.match(/\?(.*)$/);
  20. var queryString = m ? m[1] : '';
  21. function queryStringParam(name) {
  22. m = queryString.match(new RegExp("(?:^|&)"+name+"(?:=([^&]))?"));
  23. if (m) {
  24. if (m[1]) return m[1];
  25. return true;
  26. }
  27. }
  28. function includeJS(src) {
  29. document.write("<script type='text/javascript' src='" + src + "'><\/script>");
  30. }
  31. function includeCSS(href) {
  32. document.write("<link rel='stylesheet' type='text/css' href='" + href + "' />");
  33. }
  34. var _build = queryStringParam('build');
  35. var _minified = queryStringParam('minified');
  36. var _legacy = queryStringParam('legacy');
  37. if (_build) {
  38. includeCSS('../build/fullcalendar/fullcalendar.css');
  39. }else{
  40. includeCSS('../src/css/main.css');
  41. includeCSS('../src/css/grid.css');
  42. includeCSS('../src/css/agenda.css');
  43. }
  44. if (_legacy) {
  45. includeJS('jquery-legacy/jquery.js');
  46. includeJS('jquery-legacy/ui.core.js');
  47. includeJS('jquery-legacy/ui.draggable.js');
  48. includeJS('jquery-legacy/ui.resizable.js');
  49. }
  50. else if (_build) {
  51. includeJS('../build/fullcalendar/jquery/jquery.js');
  52. includeJS('../build/fullcalendar/jquery/ui.core.js');
  53. includeJS('../build/fullcalendar/jquery/ui.draggable.js');
  54. includeJS('../build/fullcalendar/jquery/ui.resizable.js');
  55. }
  56. else {
  57. includeJS('../src/jquery/jquery.js');
  58. includeJS('../src/jquery/ui.core.js');
  59. includeJS('../src/jquery/ui.draggable.js');
  60. includeJS('../src/jquery/ui.resizable.js');
  61. }
  62. if (_build) {
  63. if (_minified) {
  64. includeJS('../build/fullcalendar/fullcalendar.min.js');
  65. }else{
  66. includeJS('../build/fullcalendar/fullcalendar.js');
  67. }
  68. includeJS('../build/fullcalendar/gcal.js');
  69. }else{
  70. includeJS('../src/main.js');
  71. includeJS('../src/grid.js');
  72. includeJS('../src/agenda.js');
  73. includeJS('../src/view.js');
  74. includeJS('../src/util.js');
  75. includeJS('../src/gcal.js');
  76. }
  77. includeJS('firebug-lite/firebug-lite-compressed.js');
  78. window.onload = function() {
  79. $('body').append(
  80. "<form style='position:absolute;top:0;right:0;text-align:right;font-size:10px;color:#666'>" +
  81. "<label for='build'>build</label> " +
  82. "<input type='checkbox' id='build' name='build'" + (_build ? " checked='checked'" : '') +
  83. " style='vertical-align:middle' onclick='$(this).parent().submit()' />" +
  84. "<br />" +
  85. "<label for='minified'>minified</label> " +
  86. "<input type='checkbox' id='minified' name='minified'" + (_minified ? " checked='checked'" : '') +
  87. " style='vertical-align:middle' onclick='$(this).parent().submit()' />" +
  88. "<br />" +
  89. "<label for='legacy'>legacy</label> " +
  90. "<input type='checkbox' id='legacy' name='legacy'" + (_legacy ? " checked='checked'" : '') +
  91. " style='vertical-align:middle' onclick='$(this).parent().submit()' />" +
  92. "</form>"
  93. );
  94. };