lazar-gui 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (187) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +3 -0
  3. data/FAQ.md +29 -0
  4. data/Gemfile +7 -0
  5. data/README.md +15 -0
  6. data/VERSION +1 -0
  7. data/application.rb +317 -0
  8. data/bin/lazar-start +5 -0
  9. data/bin/lazar-start.sh +8 -0
  10. data/bin/lazar-stop +6 -0
  11. data/bin/lazar-stop.sh +52 -0
  12. data/config.ru +5 -0
  13. data/helper.rb +218 -0
  14. data/lazar-gui.gemspec +29 -0
  15. data/public/css/bootstrap-theme.min.css +5 -0
  16. data/public/css/bootstrap.min.css +5 -0
  17. data/public/css/images/black-asc.gif +0 -0
  18. data/public/css/images/black-desc.gif +0 -0
  19. data/public/css/images/black-unsorted.gif +0 -0
  20. data/public/css/images/bootstrap-black-unsorted.png +0 -0
  21. data/public/css/images/bootstrap-white-unsorted.png +0 -0
  22. data/public/css/images/dragtable-handle.png +0 -0
  23. data/public/css/images/dragtable-handle.svg +7 -0
  24. data/public/css/images/dropbox-asc-hovered.png +0 -0
  25. data/public/css/images/dropbox-asc.png +0 -0
  26. data/public/css/images/dropbox-desc-hovered.png +0 -0
  27. data/public/css/images/dropbox-desc.png +0 -0
  28. data/public/css/images/first.png +0 -0
  29. data/public/css/images/green-asc.gif +0 -0
  30. data/public/css/images/green-desc.gif +0 -0
  31. data/public/css/images/green-header.gif +0 -0
  32. data/public/css/images/green-unsorted.gif +0 -0
  33. data/public/css/images/ice-asc.gif +0 -0
  34. data/public/css/images/ice-desc.gif +0 -0
  35. data/public/css/images/ice-unsorted.gif +0 -0
  36. data/public/css/images/last.png +0 -0
  37. data/public/css/images/loading.gif +0 -0
  38. data/public/css/images/metro-black-asc.png +0 -0
  39. data/public/css/images/metro-black-desc.png +0 -0
  40. data/public/css/images/metro-loading.gif +0 -0
  41. data/public/css/images/metro-unsorted.png +0 -0
  42. data/public/css/images/metro-white-asc.png +0 -0
  43. data/public/css/images/metro-white-desc.png +0 -0
  44. data/public/css/images/next.png +0 -0
  45. data/public/css/images/prev.png +0 -0
  46. data/public/css/images/white-asc.gif +0 -0
  47. data/public/css/images/white-desc.gif +0 -0
  48. data/public/css/images/white-unsorted.gif +0 -0
  49. data/public/css/jquery-ui.css +1225 -0
  50. data/public/css/jquery-ui.theme.min.css +5 -0
  51. data/public/css/theme.bootstrap.css +158 -0
  52. data/public/css/theme.bootstrap.min.css +1 -0
  53. data/public/css/theme.default.min.css +1 -0
  54. data/public/fonts/glyphicons-halflings-regular.eot +0 -0
  55. data/public/fonts/glyphicons-halflings-regular.svg +288 -0
  56. data/public/fonts/glyphicons-halflings-regular.ttf +0 -0
  57. data/public/fonts/glyphicons-halflings-regular.woff +0 -0
  58. data/public/fonts/glyphicons-halflings-regular.woff2 +0 -0
  59. data/public/images/Email.png +0 -0
  60. data/public/images/Facebook.png +0 -0
  61. data/public/images/Google+.png +0 -0
  62. data/public/images/IST_logo_s.png +0 -0
  63. data/public/images/LinkedIn.png +0 -0
  64. data/public/images/OpenToxEuro2013_small.png +0 -0
  65. data/public/images/Twitter.png +0 -0
  66. data/public/images/arrow_down_float.png +0 -0
  67. data/public/images/arrow_left_float.png +0 -0
  68. data/public/images/arrow_right_float.png +0 -0
  69. data/public/images/arrow_up_float.png +0 -0
  70. data/public/images/asc.gif +0 -0
  71. data/public/images/bfr_logo.gif +0 -0
  72. data/public/images/bg.gif +0 -0
  73. data/public/images/blind.png +0 -0
  74. data/public/images/desc.gif +0 -0
  75. data/public/images/enm_logo.png +0 -0
  76. data/public/images/favicon.ico +0 -0
  77. data/public/images/gray_jean.png +0 -0
  78. data/public/images/info_white.png +0 -0
  79. data/public/images/ist_logo.png +0 -0
  80. data/public/images/nestec.jpg +0 -0
  81. data/public/images/ot_logo.png +0 -0
  82. data/public/images/wait30trans.gif +0 -0
  83. data/public/javascripts/bootstrap.min.js +7 -0
  84. data/public/javascripts/jquery-1.11.2.min.js +4 -0
  85. data/public/javascripts/jquery-1.8.3.min.js +2 -0
  86. data/public/javascripts/jquery-ui-1.10.3.custom.min.js +6 -0
  87. data/public/javascripts/jquery.bpopup.min.js +7 -0
  88. data/public/javascripts/jquery.tablesorter.min.js +2 -0
  89. data/public/javascripts/jquery.tablesorter.widgets.js +2678 -0
  90. data/public/javascripts/jquery.tools.min.js +5 -0
  91. data/public/javascripts/lazar-gui.js +11 -0
  92. data/public/jsme/057C029061D565E59B91BCF8D80FA08E.cache.html +651 -0
  93. data/public/jsme/05B63F17C4ECC632F0004998FE93F0D9.cache.png +0 -0
  94. data/public/jsme/0D71BA88E8DB59E613D3BD042277F3CA.cache.html +636 -0
  95. data/public/jsme/143B86F220A77EA4A06DF2CE62EF455A.cache.html +636 -0
  96. data/public/jsme/1AFB129BECD672F835F8C27B14A9D8F2.cache.html +619 -0
  97. data/public/jsme/20865588BA1E58170CC8C13CEAD50C3C.cache.html +615 -0
  98. data/public/jsme/20B12D7884BFE17E1879B157A966B4D0.cache.html +631 -0
  99. data/public/jsme/222DCE3CD01E8F29C3D81A37CE3EC2B8.cache.html +626 -0
  100. data/public/jsme/230043C4988F4EECEF225437640D792F.cache.html +625 -0
  101. data/public/jsme/3014E46F5C6FB35E6CF0D7870071174B.cache.html +615 -0
  102. data/public/jsme/396F806CD63ABD414BFBB9D57429F05B.cache.png +0 -0
  103. data/public/jsme/3F57AECC67986E796A3148265F038FF1.cache.html +639 -0
  104. data/public/jsme/40BAF81124143A595056A9CCA0E9DBBA.cache.png +0 -0
  105. data/public/jsme/469A5B5AE16905A2CD712E25B9517A14.cache.html +644 -0
  106. data/public/jsme/4722AB194B521805C997130865A7EE3D.cache.html +638 -0
  107. data/public/jsme/4841BDE9DC293BA35F7762B4D8EFD236.cache.png +0 -0
  108. data/public/jsme/497588C27DED1A6E8FE1E0AB8417B414.cache.html +626 -0
  109. data/public/jsme/571D27D70DEF8240841DA5CAFC363CFF.cache.html +619 -0
  110. data/public/jsme/5F7FD5A5750634DF9F5480F2778D9CD7.cache.html +651 -0
  111. data/public/jsme/6187B195CC6073B1DB0A30F6CD64ACA3.cache.html +620 -0
  112. data/public/jsme/6DED0C7A48F0BB72DDB1FDE5C05E60B5.cache.html +642 -0
  113. data/public/jsme/73F66F1A578E65144682885B3DC28556.cache.html +620 -0
  114. data/public/jsme/76252DEA9FB0A670947525C4C89E2530.cache.html +657 -0
  115. data/public/jsme/84DE2DAB8AD49C4E122A548C4B072500.cache.html +625 -0
  116. data/public/jsme/98150D1CD230B36339E35812F0BD3D0E.cache.html +629 -0
  117. data/public/jsme/9BA3A5A02DFF97BADFD3F9FE3817341B.cache.html +636 -0
  118. data/public/jsme/9D58CD61900096C805154C0AC693DCE7.cache.html +639 -0
  119. data/public/jsme/A3D2B7C95C4FC47DB0996CBDF930EA17.cache.html +657 -0
  120. data/public/jsme/A6DF9CFFF55769DE62DA6868C558B3F2.cache.html +629 -0
  121. data/public/jsme/B70D7DA2E93A6B0FB7E5BC15540F7B15.cache.html +645 -0
  122. data/public/jsme/DF7764EEC1903CD03C9545B354D8D8E4.cache.png +0 -0
  123. data/public/jsme/E07214401017B41AF0BDAB1EB811CC83.cache.html +645 -0
  124. data/public/jsme/E45DF2A61DB551567FA3454B1A00412D.cache.html +631 -0
  125. data/public/jsme/E97CDFD075EEB4D0578A219C5564A988.cache.html +642 -0
  126. data/public/jsme/EBCDA5C12B4318C17A4741474FB9D7CA.cache.html +643 -0
  127. data/public/jsme/clear.cache.gif +0 -0
  128. data/public/jsme/gwt/chrome/chrome.css +1155 -0
  129. data/public/jsme/gwt/chrome/chrome_rtl.css +1155 -0
  130. data/public/jsme/gwt/chrome/images/button/menu-button-arrow-disabled.png +0 -0
  131. data/public/jsme/gwt/chrome/images/button/menu-button-arrow.png +0 -0
  132. data/public/jsme/gwt/chrome/images/button/split-button-arrow-active.png +0 -0
  133. data/public/jsme/gwt/chrome/images/button/split-button-arrow-disabled.png +0 -0
  134. data/public/jsme/gwt/chrome/images/button/split-button-arrow-focus.png +0 -0
  135. data/public/jsme/gwt/chrome/images/button/split-button-arrow-hover.png +0 -0
  136. data/public/jsme/gwt/chrome/images/button/split-button-arrow.png +0 -0
  137. data/public/jsme/gwt/chrome/images/combobox/arrow-down-disabled.png +0 -0
  138. data/public/jsme/gwt/chrome/images/combobox/arrow-down.png +0 -0
  139. data/public/jsme/gwt/chrome/images/combobox/ellipsis-disabled.png +0 -0
  140. data/public/jsme/gwt/chrome/images/combobox/ellipsis.png +0 -0
  141. data/public/jsme/gwt/chrome/images/corner.png +0 -0
  142. data/public/jsme/gwt/chrome/images/corner_ie6.png +0 -0
  143. data/public/jsme/gwt/chrome/images/fastree/selectionBar.gif +0 -0
  144. data/public/jsme/gwt/chrome/images/fastree/treeClosed.gif +0 -0
  145. data/public/jsme/gwt/chrome/images/fastree/treeLoading.gif +0 -0
  146. data/public/jsme/gwt/chrome/images/fastree/treeOpen.gif +0 -0
  147. data/public/jsme/gwt/chrome/images/glasspanel/blue_ridge.png +0 -0
  148. data/public/jsme/gwt/chrome/images/hborder.png +0 -0
  149. data/public/jsme/gwt/chrome/images/hborder_ie6.png +0 -0
  150. data/public/jsme/gwt/chrome/images/ie6/corner_dialog_topleft.png +0 -0
  151. data/public/jsme/gwt/chrome/images/ie6/corner_dialog_topright.png +0 -0
  152. data/public/jsme/gwt/chrome/images/ie6/hborder_blue_shadow.png +0 -0
  153. data/public/jsme/gwt/chrome/images/ie6/hborder_gray_shadow.png +0 -0
  154. data/public/jsme/gwt/chrome/images/ie6/vborder_blue_shadow.png +0 -0
  155. data/public/jsme/gwt/chrome/images/ie6/vborder_gray_shadow.png +0 -0
  156. data/public/jsme/gwt/chrome/images/scrolltable/bg_header_gradient.gif +0 -0
  157. data/public/jsme/gwt/chrome/images/splitPanelThumb.png +0 -0
  158. data/public/jsme/gwt/chrome/images/valuespinner/bg_textbox.png +0 -0
  159. data/public/jsme/gwt/chrome/images/vborder.png +0 -0
  160. data/public/jsme/gwt/chrome/images/vborder_ie6.png +0 -0
  161. data/public/jsme/gwt/chrome/mosaic.css +1252 -0
  162. data/public/jsme/gwt/chrome/mosaic_rtl.css +1252 -0
  163. data/public/jsme/hosted.html +365 -0
  164. data/public/jsme/jsa.css +175 -0
  165. data/public/jsme/jsme.nocache.js +18 -0
  166. data/public/rect.png +0 -0
  167. data/public/stylesheets/jquery-ui.css +1186 -0
  168. data/test/lazarweb.rb +193 -0
  169. data/test/setup.rb +7 -0
  170. data/unicorn.rb +7 -0
  171. data/views/batch.haml +58 -0
  172. data/views/details.haml +24 -0
  173. data/views/error.haml +8 -0
  174. data/views/faq.haml +2 -0
  175. data/views/faq_layout.haml +67 -0
  176. data/views/info.haml +2 -0
  177. data/views/jme_help.html +197 -0
  178. data/views/js_link.haml +5 -0
  179. data/views/layout.haml +113 -0
  180. data/views/model_details.haml +117 -0
  181. data/views/neighbors.haml +104 -0
  182. data/views/predict.haml +175 -0
  183. data/views/prediction.haml +84 -0
  184. data/views/significant_fragments.haml +66 -0
  185. data/views/style.scss +70 -0
  186. data/views/validation.haml +16 -0
  187. metadata +373 -0
@@ -0,0 +1,365 @@
1
+ <html>
2
+ <head><script>
3
+ var $wnd = parent;
4
+ var $doc = $wnd.document;
5
+ var $moduleName, $moduleBase, $entry
6
+ ,$stats = $wnd.__gwtStatsEvent ? function(a) {return $wnd.__gwtStatsEvent(a);} : null
7
+ ,$sessionId = $wnd.__gwtStatsSessionId ? $wnd.__gwtStatsSessionId : null;
8
+ // Lightweight metrics
9
+ if ($stats) {
10
+ var moduleFuncName = location.search.substr(1);
11
+ var moduleFunc = $wnd[moduleFuncName];
12
+ var moduleName = moduleFunc ? moduleFunc.moduleName : "unknown";
13
+ $stats({moduleName:moduleName,sessionId:$sessionId,subSystem:'startup',evtGroup:'moduleStartup',millis:(new Date()).getTime(),type:'moduleEvalStart'});
14
+ }
15
+ var $hostedHtmlVersion="2.1";
16
+
17
+ var gwtOnLoad;
18
+ var $hosted = "localhost:9997";
19
+
20
+ function loadIframe(url) {
21
+ var topDoc = window.top.document;
22
+
23
+ // create an iframe
24
+ var iframeDiv = topDoc.createElement("div");
25
+ iframeDiv.innerHTML = "<iframe scrolling=no frameborder=0 src='" + url + "'>";
26
+ var iframe = iframeDiv.firstChild;
27
+
28
+ // mess with the iframe style a little
29
+ var iframeStyle = iframe.style;
30
+ iframeStyle.position = "absolute";
31
+ iframeStyle.borderWidth = "0";
32
+ iframeStyle.left = "0";
33
+ iframeStyle.top = "0";
34
+ iframeStyle.width = "100%";
35
+ iframeStyle.backgroundColor = "#ffffff";
36
+ iframeStyle.zIndex = "1";
37
+ iframeStyle.height = "100%";
38
+
39
+ // update the top window's document's body's style
40
+ var hostBodyStyle = window.top.document.body.style;
41
+ hostBodyStyle.margin = "0";
42
+ hostBodyStyle.height = iframeStyle.height;
43
+ hostBodyStyle.overflow = "hidden";
44
+
45
+ // insert the iframe
46
+ topDoc.body.insertBefore(iframe, topDoc.body.firstChild);
47
+ }
48
+
49
+ var ua = navigator.userAgent.toLowerCase();
50
+ if (ua.indexOf("gecko") != -1) {
51
+ // install eval wrapper on FF to avoid EvalError problem
52
+ var __eval = window.eval;
53
+ window.eval = function(s) {
54
+ return __eval(s);
55
+ }
56
+ }
57
+ if (ua.indexOf("chrome") != -1) {
58
+ // work around __gwt_ObjectId appearing in JS objects
59
+ var hop = Object.prototype.hasOwnProperty;
60
+ Object.prototype.hasOwnProperty = function(prop) {
61
+ return prop != "__gwt_ObjectId" && hop.call(this, prop);
62
+ };
63
+ // do the same in our parent as well -- see issue 4486
64
+ // NOTE: this will have to be changed when we support non-iframe-based DevMode
65
+ var hop2 = parent.Object.prototype.hasOwnProperty;
66
+ parent.Object.prototype.hasOwnProperty = function(prop) {
67
+ return prop != "__gwt_ObjectId" && hop2.call(this, prop);
68
+ };
69
+ }
70
+
71
+ // wrapper to call JS methods, which we need both to be able to supply a
72
+ // different this for method lookup and to get the exception back
73
+ function __gwt_jsInvoke(thisObj, methodName) {
74
+ try {
75
+ var args = Array.prototype.slice.call(arguments, 2);
76
+ return [0, window[methodName].apply(thisObj, args)];
77
+ } catch (e) {
78
+ return [1, e];
79
+ }
80
+ }
81
+
82
+ var __gwt_javaInvokes = [];
83
+ function __gwt_makeJavaInvoke(argCount) {
84
+ return __gwt_javaInvokes[argCount] || __gwt_doMakeJavaInvoke(argCount);
85
+ }
86
+
87
+ function __gwt_doMakeJavaInvoke(argCount) {
88
+ // IE6 won't eval() anonymous functions except as r-values
89
+ var argList = "";
90
+ for (var i = 0; i < argCount; i++) {
91
+ argList += ",p" + i;
92
+ }
93
+ var argListNoComma = argList.substring(1);
94
+
95
+ return eval(
96
+ "__gwt_javaInvokes[" + argCount + "] =\n" +
97
+ " function(thisObj, dispId" + argList + ") {\n" +
98
+ " var result = __static(dispId, thisObj" + argList + ");\n" +
99
+ " if (result[0]) {\n" +
100
+ " throw result[1];\n" +
101
+ " } else {\n" +
102
+ " return result[1];\n" +
103
+ " }\n" +
104
+ " }\n"
105
+ );
106
+ }
107
+
108
+ /*
109
+ * This is used to create tear-offs of Java methods. Each function corresponds
110
+ * to exactly one dispId, and also embeds the argument count. We get the "this"
111
+ * value from the context in which the function is being executed.
112
+ * Function-object identity is preserved by caching in a sparse array.
113
+ */
114
+ var __gwt_tearOffs = [];
115
+ var __gwt_tearOffGenerators = [];
116
+ function __gwt_makeTearOff(proxy, dispId, argCount) {
117
+ return __gwt_tearOffs[dispId] || __gwt_doMakeTearOff(dispId, argCount);
118
+ }
119
+
120
+ function __gwt_doMakeTearOff(dispId, argCount) {
121
+ return __gwt_tearOffs[dispId] =
122
+ (__gwt_tearOffGenerators[argCount] || __gwt_doMakeTearOffGenerator(argCount))(dispId);
123
+ }
124
+
125
+ function __gwt_doMakeTearOffGenerator(argCount) {
126
+ // IE6 won't eval() anonymous functions except as r-values
127
+ var argList = "";
128
+ for (var i = 0; i < argCount; i++) {
129
+ argList += ",p" + i;
130
+ }
131
+ var argListNoComma = argList.substring(1);
132
+
133
+ return eval(
134
+ "__gwt_tearOffGenerators[" + argCount + "] =\n" +
135
+ " function(dispId) {\n" +
136
+ " return function(" + argListNoComma + ") {\n" +
137
+ " var result = __static(dispId, this" + argList + ");\n" +
138
+ " if (result[0]) {\n" +
139
+ " throw result[1];\n" +
140
+ " } else {\n" +
141
+ " return result[1];\n" +
142
+ " }\n" +
143
+ " }\n" +
144
+ " }\n"
145
+ );
146
+ }
147
+
148
+ function __gwt_makeResult(isException, result) {
149
+ return [isException, result];
150
+ }
151
+
152
+ function __gwt_disconnected() {
153
+ // Prevent double-invocation.
154
+ window.__gwt_disconnected = new Function();
155
+ // Do it in a timeout so we can be sure we have a clean stack.
156
+ window.setTimeout(__gwt_disconnected_impl, 1);
157
+ }
158
+
159
+ function __gwt_disconnected_impl() {
160
+ __gwt_displayGlassMessage('GWT Code Server Disconnected',
161
+ 'Most likely, you closed GWT Development Mode. Or, you might have lost '
162
+ + 'network connectivity. To fix this, try restarting GWT Development Mode and '
163
+ + 'refresh this page.');
164
+ }
165
+
166
+ // Keep track of z-index to allow layering of multiple glass messages
167
+ var __gwt_glassMessageZIndex = 2147483647;
168
+
169
+ // Note this method is also used by ModuleSpace.java
170
+ function __gwt_displayGlassMessage(summary, details) {
171
+ var topWin = window.top;
172
+ var topDoc = topWin.document;
173
+ var outer = topDoc.createElement("div");
174
+ // Do not insert whitespace or outer.firstChild will get a text node.
175
+ outer.innerHTML =
176
+ '<div style="position:absolute;z-index:' + __gwt_glassMessageZIndex-- +
177
+ ';left:50px;top:50px;width:600px;color:#FFF;font-family:verdana;text-align:left;">' +
178
+ '<div style="font-size:30px;font-weight:bold;">' + summary + '</div>' +
179
+ '<div style="font-size:15px;">' + details + '</div>' +
180
+ '</div>' +
181
+ '<div style="position:absolute;z-index:' + __gwt_glassMessageZIndex-- +
182
+ ';left:0px;top:0px;right:0px;bottom:0px;filter:alpha(opacity=60);opacity:0.6;background-color:#000;"></div>'
183
+ ;
184
+ topDoc.body.appendChild(outer);
185
+ var glass = outer.firstChild;
186
+ var glassStyle = glass.style;
187
+
188
+ // Scroll to the top and remove scrollbars.
189
+ topWin.scrollTo(0, 0);
190
+ if (topDoc.compatMode == "BackCompat") {
191
+ topDoc.body.style["overflow"] = "hidden";
192
+ } else {
193
+ topDoc.documentElement.style["overflow"] = "hidden";
194
+ }
195
+
196
+ // Steal focus.
197
+ glass.focus();
198
+
199
+ if ((navigator.userAgent.indexOf("MSIE") >= 0) && (topDoc.compatMode == "BackCompat")) {
200
+ // IE quirks mode doesn't support right/bottom, but does support this.
201
+ glassStyle.width = "125%";
202
+ glassStyle.height = "100%";
203
+ } else if (navigator.userAgent.indexOf("MSIE 6") >= 0) {
204
+ // IE6 doesn't have a real standards mode, so we have to use hacks.
205
+ glassStyle.width = "125%"; // Get past scroll bar area.
206
+ // Nasty CSS; onresize would be better but the outer window won't let us add a listener IE.
207
+ glassStyle.setExpression("height", "document.documentElement.clientHeight");
208
+ }
209
+
210
+ $doc.title = summary + " [" + $doc.title + "]";
211
+ }
212
+
213
+ function findPluginObject() {
214
+ try {
215
+ return document.getElementById('pluginObject');
216
+ } catch (e) {
217
+ return null;
218
+ }
219
+ }
220
+
221
+ function findPluginEmbed() {
222
+ try {
223
+ return document.getElementById('pluginEmbed')
224
+ } catch (e) {
225
+ return null;
226
+ }
227
+ }
228
+
229
+ function findPluginXPCOM() {
230
+ try {
231
+ return __gwt_HostedModePlugin;
232
+ } catch (e) {
233
+ return null;
234
+ }
235
+ }
236
+
237
+ gwtOnLoad = function(errFn, modName, modBase){
238
+ $moduleName = modName;
239
+ $moduleBase = modBase;
240
+
241
+ // Note that the order is important
242
+ var pluginFinders = [
243
+ findPluginXPCOM,
244
+ findPluginObject,
245
+ findPluginEmbed,
246
+ ];
247
+ var topWin = window.top;
248
+ var url = topWin.location.href;
249
+ if (!topWin.__gwt_SessionID) {
250
+ var ASCII_EXCLAMATION = 33;
251
+ var ASCII_TILDE = 126;
252
+ var chars = [];
253
+ for (var i = 0; i < 16; ++i) {
254
+ chars.push(Math.floor(ASCII_EXCLAMATION
255
+ + Math.random() * (ASCII_TILDE - ASCII_EXCLAMATION + 1)));
256
+ }
257
+ topWin.__gwt_SessionID = String.fromCharCode.apply(null, chars);
258
+ }
259
+ var plugin = null;
260
+ for (var i = 0; i < pluginFinders.length; ++i) {
261
+ try {
262
+ var maybePlugin = pluginFinders[i]();
263
+ if (maybePlugin != null && maybePlugin.init(window)) {
264
+ plugin = maybePlugin;
265
+ break;
266
+ }
267
+ } catch (e) {
268
+ }
269
+ }
270
+ if (!plugin) {
271
+ // try searching for a v1 plugin for backwards compatibility
272
+ var found = false;
273
+ for (var i = 0; i < pluginFinders.length; ++i) {
274
+ try {
275
+ plugin = pluginFinders[i]();
276
+ if (plugin != null && plugin.connect($hosted, $moduleName, window)) {
277
+ return;
278
+ }
279
+ } catch (e) {
280
+ }
281
+ }
282
+ loadIframe("http://gwt.google.com/missing-plugin");
283
+ } else {
284
+ if (plugin.connect(url, topWin.__gwt_SessionID, $hosted, $moduleName,
285
+ $hostedHtmlVersion)) {
286
+ window.onUnload = function() {
287
+ try {
288
+ // wrap in try/catch since plugins are not required to supply this
289
+ plugin.disconnect();
290
+ } catch (e) {
291
+ }
292
+ };
293
+ } else {
294
+ if (errFn) {
295
+ errFn(modName);
296
+ } else {
297
+ __gwt_displayGlassMessage(
298
+ "Plugin failed to connect to Development Mode server at " + simpleEscape($hosted),
299
+ "Follow the troubleshooting instructions at "
300
+ + "<a href='http://code.google.com/p/google-web-toolkit/wiki/TroubleshootingOOPHM'>"
301
+ + "http://code.google.com/p/google-web-toolkit/wiki/TroubleshootingOOPHM</a>");
302
+ }
303
+ }
304
+ }
305
+ }
306
+
307
+ function simpleEscape(originalString) {
308
+ return originalString.replace(/&/g,"&amp;")
309
+ .replace(/</g,"&lt;")
310
+ .replace(/>/g,"&gt;")
311
+ .replace(/\'/g, "&#39;")
312
+ .replace(/\"/g,"&quot;");
313
+ }
314
+
315
+ window.onunload = function() {
316
+ };
317
+
318
+ // Lightweight metrics
319
+ window.fireOnModuleLoadStart = function(className) {
320
+ $stats && $stats({moduleName:$moduleName, sessionId:$sessionId, subSystem:'startup', evtGroup:'moduleStartup', millis:(new Date()).getTime(), type:'onModuleLoadStart', className:className});
321
+ };
322
+
323
+ window.__gwt_module_id = 0;
324
+ </script></head>
325
+ <body>
326
+ <font face='arial' size='-1'>This html file is for Development Mode support.</font>
327
+ <script><!--
328
+ // Lightweight metrics
329
+ $stats && $stats({moduleName:$moduleName, sessionId:$sessionId, subSystem:'startup', evtGroup:'moduleStartup', millis:(new Date()).getTime(), type:'moduleEvalEnd'});
330
+
331
+ // OOPHM currently only supports IFrameLinker
332
+ var query = parent.location.search;
333
+ if (!findPluginXPCOM()) {
334
+ document.write('<embed id="pluginEmbed" type="application/x-gwt-hosted-mode" width="10" height="10">');
335
+ document.write('</embed>');
336
+ document.write('<object id="pluginObject" CLASSID="CLSID:1D6156B6-002B-49E7-B5CA-C138FB843B4E">');
337
+ document.write('</object>');
338
+ }
339
+
340
+ // look for the old query parameter if we don't find the new one
341
+ var idx = query.indexOf("gwt.codesvr=");
342
+ if (idx >= 0) {
343
+ idx += 12; // "gwt.codesvr=".length() == 12
344
+ } else {
345
+ idx = query.indexOf("gwt.hosted=");
346
+ if (idx >= 0) {
347
+ idx += 11; // "gwt.hosted=".length() == 11
348
+ }
349
+ }
350
+ if (idx >= 0) {
351
+ var amp = query.indexOf("&", idx);
352
+ if (amp >= 0) {
353
+ $hosted = query.substring(idx, amp);
354
+ } else {
355
+ $hosted = query.substring(idx);
356
+ }
357
+
358
+ // According to RFC 3986, some of this component's characters (e.g., ':')
359
+ // are reserved and *may* be escaped.
360
+ $hosted = decodeURIComponent($hosted);
361
+ }
362
+
363
+ query = window.location.search.substring(1);
364
+ if (query && $wnd[query]) setTimeout($wnd[query].onScriptLoad, 1);
365
+ --></script></body></html>
@@ -0,0 +1,175 @@
1
+ .gwt-DecoratedPopupPanel table,.gwt-MenuBarPopup table {
2
+ border-collapse: separate;
3
+ border-color: transparent;
4
+ border-style: none;
5
+ border-width: medium;
6
+ table-layout: auto;
7
+ width: auto;
8
+ min-width: 0;
9
+ height: auto;
10
+ min-height: 0;
11
+ display: inline-table;
12
+ background-color: transparent;
13
+ background-image: none;
14
+ margin: 0;
15
+ padding: 0;
16
+ border: 0;
17
+ outline: 0;
18
+ font-size: 100%;
19
+ vertical-align: baseline;
20
+ line-height: normal;
21
+ }
22
+
23
+ .gwt-DecoratedPopupPanel td,.gwt-MenuBarPopup td {
24
+ border-collapse: separate;
25
+ border-color: transparent;
26
+ border-style: none;
27
+ border-width: medium;
28
+ width: auto;
29
+ min-width: 0;
30
+ height: auto;
31
+ min-height: 0;
32
+ display: table-cell;
33
+ background-color: transparent;
34
+ background-image: none;
35
+ margin: 0;
36
+ padding: 0;
37
+ border: 0;
38
+ outline: 0;
39
+ font-size: 100%;
40
+ vertical-align: baseline;
41
+ line-height: normal;
42
+ }
43
+
44
+ .gwt-DecoratedPopupPanel tr,.gwt-MenuBarPopup tr {
45
+ /*border-collapse: separate;*/
46
+ border-color: transparent;
47
+ border-style: none;
48
+ border-width: medium;
49
+ width: auto;
50
+ min-width: 0;
51
+ display:table-row;
52
+ height: auto;
53
+ min-height: 0;
54
+ background-color: transparent;
55
+ background-image: none;
56
+ margin: 0;
57
+ padding: 0;
58
+ border: 0;
59
+ outline: 0;
60
+ font-size: 100%;
61
+ vertical-align: baseline;
62
+ line-height: normal;
63
+ }
64
+
65
+ .gwt-DecoratedPopupPanel tbody,.gwt-MenuBarPopup tbody {
66
+ border-collapse: separate;
67
+ border-color: transparent;
68
+ border-style: none;
69
+ border-width: medium;
70
+ width: auto;
71
+ min-width: 0;
72
+ height: auto;
73
+ min-height: 0;
74
+ background-color: transparent;
75
+ background-image: none;
76
+ margin: 0;
77
+ padding: 0;
78
+ border: 0;
79
+ outline: 0;
80
+ font-size: 100%;
81
+ vertical-align: baseline;
82
+ line-height: normal;
83
+ }
84
+
85
+
86
+ .jsa-resetTable {
87
+ border-collapse: separate;
88
+ border-color: transparent;
89
+ border-style: none;
90
+ border-width: medium;
91
+ table-layout: auto;
92
+ width: auto;
93
+ min-width: 0;
94
+ height: auto;
95
+ min-height: 0;
96
+ display: inline-table;
97
+ background-color: transparent;
98
+ background-image: none;
99
+ margin: 0;
100
+ padding: 0;
101
+ border: 0;
102
+ outline: 0;
103
+ font-size: 100%;
104
+ vertical-align: baseline;
105
+ line-height: normal;
106
+ }
107
+
108
+ .jsa-resetTable td {
109
+ border-collapse: separate;
110
+ border-color: transparent;
111
+ border-style: none;
112
+ border-width: medium;
113
+ table-layout: auto;
114
+ display: table-cell;
115
+ width: auto;
116
+ min-width: 0;
117
+ height: auto;
118
+ min-height: 0;
119
+ background-color: transparent;
120
+ background-image: none;
121
+ margin: 0;
122
+ padding: 0;
123
+ border: 0;
124
+ outline: 0;
125
+ font-size: 100%;
126
+ vertical-align: baseline;
127
+ line-height: normal;
128
+ }
129
+
130
+ .jsa-resetTable tr {
131
+ /*border-collapse: separate;*/
132
+ border-color: transparent;
133
+ border-style: none;
134
+ border-width: medium;
135
+ width: auto;
136
+ min-width: 0;
137
+ display:table-row;
138
+ height: auto;
139
+ min-height: 0;
140
+ background-color: transparent;
141
+ background-image: none;
142
+ margin: 0;
143
+ padding: 0;
144
+ border: 0;
145
+ outline: 0;
146
+ font-size: 100%;
147
+ vertical-align: baseline;
148
+ line-height: normal;
149
+ }
150
+
151
+ .jsa-resetDiv {
152
+ text-align:left;
153
+ border-color: transparent;
154
+ border-style: none;
155
+ border-width: medium;
156
+ width: auto;
157
+ min-width: 0;
158
+ //display:inline;
159
+ height: auto;
160
+ min-height: 0;
161
+ background-color: transparent;
162
+ background-image: none;
163
+ margin: 0;
164
+ padding: 0;
165
+ border: 0;
166
+ outline: 0;
167
+ font-size: 100%;
168
+ vertical-align: baseline;
169
+ line-height: normal;
170
+
171
+
172
+ }
173
+
174
+
175
+ }