include-web.js 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. (function () {
  2. var r = new RegExp("(^|(.*?\\/))(include-web\.js)(\\?|$)"),
  3. s = document.getElementsByTagName('script'), targetScript;
  4. for (var i = 0; i < s.length; i++) {
  5. var src = s[i].getAttribute('src');
  6. if (src) {
  7. var m = src.match(r);
  8. if (m) {
  9. targetScript = s[i];
  10. break;
  11. }
  12. }
  13. }
  14. function inputScript(url) {
  15. var script = '<script type="text/javascript" src="' + url + '"><' + '/script>';
  16. document.writeln(script);
  17. }
  18. function inputCSS(url) {
  19. var css = '<link rel="stylesheet" href="' + url + '">';
  20. document.writeln(css);
  21. }
  22. function inArray(arr, item) {
  23. for (i in arr) {
  24. if (arr[i] == item) {
  25. return true;
  26. }
  27. }
  28. return false;
  29. }
  30. //加载类库资源文件
  31. function load() {
  32. var includes = (targetScript.getAttribute('include') || "").split(",");
  33. var excludes = (targetScript.getAttribute('exclude') || "").split(",");
  34. inputScript("../js/tokengenerator.js");
  35. var jQueryInclude = false;
  36. if (!inArray(excludes, 'example-i18n')) {
  37. inputScript("../../web/libs/jquery/jquery.min.js");
  38. inputScript("../../web/libs/i18next/i18next.min.js");
  39. inputScript("../../web/libs/jquery-i18next/jquery-i18next.min.js");
  40. inputScript("../js/utils.js");
  41. inputScript("../js/localization.js");
  42. document.writeln("<script> Localization.initializeI18N('../', function () {Localization.localize();Localization.initGlobal();});</script>");
  43. jQueryInclude = true;
  44. }
  45. if (inArray(includes, 'jquery') && !jQueryInclude) {
  46. inputScript("../../web/libs/jquery/jquery.min.js");
  47. }
  48. if (inArray(includes, 'bootstrap')) {
  49. inputScript("../../web/libs/jquery/jquery.min.js");
  50. inputCSS("../../web/libs/bootstrap/css/bootstrap.min.css");
  51. inputScript("../../web/libs/bootstrap/js/bootstrap.min.js");
  52. }
  53. if (inArray(includes, 'bootstrap-css')) {
  54. inputCSS("../../web/libs/bootstrap/css/bootstrap.min.css")
  55. }
  56. if (inArray(includes, 'bootstrap-js')) {
  57. inputScript("../../web/libs/bootstrap/js/bootstrap.min.js");
  58. }
  59. if (inArray(includes, 'jquery-ui')) {
  60. inputCSS("../../web/libs/jquery-ui/1.12.1/jquery-ui.css");
  61. inputScript("../../web/libs/jquery-ui/1.12.1/jquery-ui.min.js");
  62. }
  63. if (inArray(includes, 'template')) {
  64. inputScript("../../web/libs/art-template/template-web.js");
  65. }
  66. if (inArray(includes, 'randomcolor')) {
  67. inputScript("../../web/libs/randomcolor/randomColor.min.js");
  68. }
  69. if (inArray(includes, 'papaparse')) {
  70. inputScript("../../web/libs/papaparse/papaparse.min.js");
  71. }
  72. if (inArray(includes, 'moment')) {
  73. inputScript("../../web/libs/moment.js/moment.min.js");
  74. inputScript("../../web/libs/moment.js/zh-cn.js");
  75. }
  76. if (inArray(includes, 'bootstrap-datetimepicker')) {
  77. inputCSS("../../web/libs/bootstrap-datetimepicker/bootstrap-datetimepicker.min.css");
  78. inputScript("../../web/libs/bootstrap-datetimepicker/bootstrap-datetimepicker.min.js");
  79. }
  80. if (inArray(includes, 'bootstrap-select')) {
  81. inputCSS("../../web/libs/bootstrap-select/bootstrap-select.min.css");
  82. inputScript("../../web/libs/bootstrap-select/bootstrap-select.min.js");
  83. }
  84. if (inArray(includes, 'geohash')) {
  85. inputScript("../../web/libs/geohash/geohash.js");
  86. }
  87. if (inArray(includes, 'dat-gui')) {
  88. inputScript("../../web/libs/dat-gui/0.7.6/dat.gui.min.js");
  89. datGuiI18N();
  90. }
  91. if (inArray(includes, 'admin-lte')) {
  92. inputCSS("../../web/libs/admin-lte/css/AdminLTE.min.css");
  93. inputCSS("../../web/libs/admin-lte/css/skins/skin-blue.min.css");
  94. inputCSS("../../web/libs/font-awesome/css/font-awesome.min.css");
  95. inputScript("../../web/libs/admin-lte/js/app.min.js");
  96. }
  97. // if (inArray(includes, 'jquery.scrollto')) {
  98. // inputScript("../../web/libs/jquery.scrollto/jquery.scrollTo.min.js");
  99. // }
  100. if (inArray(includes, 'ace')) {
  101. inputScript("../../web/libs/ace/ace.js");
  102. }
  103. if (inArray(includes, 'widgets.alert')) {
  104. inputScript("../js/widgets.js");
  105. }
  106. if (inArray(includes, 'widgets')) {
  107. inputCSS("../../web/libs/css-loader/css-loader.css");
  108. inputScript("../js/widgets.js");
  109. }
  110. if (inArray(includes, 'zTree')) {
  111. inputCSS("../../web/libs/iclient8c/examples/js/plottingPanel/zTree/css/zTreeStyle.css");
  112. inputScript("../../web/libs/iclient8c/examples/js/plottingPanel/zTree/jquery.ztree.core.js");
  113. }
  114. if (inArray(includes, 'jquery-scontextMenu')) {
  115. inputCSS("../../web/libs/jquery.contextMenu/jquery.contextMenu.min.css");
  116. inputScript("../../web/libs/jquery.contextMenu/jquery.contextMenu.min.js");
  117. }
  118. if (inArray(includes, 'colorpicker')) {
  119. inputScript("../../web/libs/iclient8c/examples/js/jquery.js");
  120. inputScript("../../web/libs/iclient8c/examples/js/jquery.colorpicker.js");
  121. }
  122. if (inArray(includes, 'fileupLoad')) {
  123. inputScript("../../web/libs/iclient8c/examples/js/jquery.js");
  124. inputScript("../../web/libs/iclient8c/examples/js/fileupLoad.js");
  125. }
  126. if (inArray(includes, 'sticklr')) {
  127. inputCSS("../../web/libs/iclient8c/examples/css/jquery-sticklr.css");
  128. inputCSS("../../web/libs/iclient8c/examples/css/icon.css");
  129. }
  130. if (inArray(includes, 'responsive')) {
  131. inputCSS("../../web/libs/iclient8c/examples/css/bootstrap-responsive.min.css");
  132. }
  133. if (inArray(includes, 'lazyload')) {
  134. inputScript("../../web/libs/lazyload/jquery.lazyload.min.js");
  135. }
  136. if (inArray(includes, 'i18n')) {
  137. inputScript("../../web/libs/i18next/i18next.min.js");
  138. inputScript("../../web/libs/jquery-i18next/jquery-i18next.min.js");
  139. }
  140. if (inArray(includes, 'react')) {
  141. inputScript("../../web/libs/react/16.4.2/react.production.min.js");
  142. inputScript("../../web/libs/react/16.4.2/react-dom.production.min.js");
  143. inputScript("../../web/libs/babel/6.26.0/babel.min.js");
  144. }
  145. if (inArray(includes, 'vue')) {
  146. inputScript("../../web/libs/vue/2.5.17/vue.min.js");
  147. }
  148. if (inArray(includes, 'ionRangeSlider')) {
  149. inputCSS("../../web/libs/ionRangeSlider/2.2.0/css/ion.rangeSlider.css");
  150. inputCSS("../../web/libs/ionRangeSlider/2.2.0/css/normalize.css");
  151. inputCSS("../../web/libs/ionRangeSlider/2.2.0/css/ion.rangeSlider.skinHTML5.css");
  152. inputScript("../../web/libs/ionRangeSlider/2.2.0/js/ion.rangeSlider.min.js");
  153. }
  154. if (inArray(includes, 'plottingPanel')) {
  155. inputScript("../../web/libs/iclient8c/examples/js/plottingPanel/zTree/jquery.ztree.core.js");
  156. inputCSS("../../web/libs/iclient8c/examples/js/plottingPanel/zTree/css/zTreeStyle.css");
  157. inputScript("../../web/libs/iclient8c/examples/js/plottingPanel/jquery-easyui-1.4.4/jquery.easyui.min.js");
  158. inputCSS("../../web/libs/iclient8c/examples/js/plottingPanel/jquery-easyui-1.4.4/css/easyui.css");
  159. inputScript("../../web/libs/iclient8c/examples/js/plottingPanel/colorpicker/js/colorpicker.js");
  160. inputCSS("../../web/libs/iclient8c/examples/js/plottingPanel/colorpicker/css/colorpicker.css");
  161. }
  162. }
  163. function datGuiI18N() {
  164. document.writeln("<script>function registerEventListener(evt,fn){" +
  165. "if(window.attachEvent){window.attachEvent('on'+evt,fn);}" +
  166. "else{window.addEventListener(evt,fn,false);}" +
  167. "}</script>");
  168. document.writeln("<script>registerEventListener('load',function() { " +
  169. "dat.GUI.TEXT_CLOSED=resources.text_close;dat.GUI.TEXT_OPEN=resources.text_open;" +
  170. "})</script>")
  171. }
  172. load();
  173. window.isLocal = true;
  174. window.server = document.location.toString().match(/file:\/\//) ? "http://localhost:8090" : document.location.protocol + "//" + document.location.host;
  175. window.isSite = true;//i18n相关设置
  176. window.version = "10.1.0";
  177. window.preRelease = "alpha";
  178. })();