lazar-gui 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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
+ }