@@ -43,8 +43,7 @@ public void onDraw() {
4343 htmlPane .setHeight100 ();
4444 htmlPane .setShowEdges (true );
4545 htmlPane .setContentsURL (GWT .getHostPageBaseURL () + "log?appender=" + appender );
46- htmlPane .setContentsType (ContentsType .FRAGMENT );
47- htmlPane .addContentLoadedHandler (loaded -> scrollBottom ());
46+ htmlPane .setContentsType (ContentsType .PAGE );
4847
4948 ToolStrip toolStrip = new ToolStrip ();
5049 toolStrip .setHeight (20 );
@@ -54,8 +53,9 @@ public void onDraw() {
5453 SelectItem logFileSelector = ItemFactory .newLogAppenderSelector ();
5554 logFileSelector .setValue (appender );
5655 logFileSelector .addChangedHandler (changed -> {
57- htmlPane .setContentsURL (GWT .getHostPageBaseURL () + "log?appender=" + changed .getValue ().toString ());
58- LogPanel .scrollLogPanelToBottom ();
56+ LogPanel .this .appender = changed .getValue ().toString ();
57+ htmlPane .setContentsURL (GWT .getHostPageBaseURL () + "log?appender=" + LogPanel .this .appender );
58+ scrollBottom ();
5959 });
6060
6161 SelectItem levelSelector = ItemFactory .newLogLevelSelector ();
@@ -83,10 +83,10 @@ public void onDraw() {
8383 });
8484
8585 ToolStripButton bottom = new ToolStripButton (I18N .message ("bottom" ));
86- bottom .addClickHandler (event -> LogPanel .scrollLogPanelToBottom ());
86+ bottom .addClickHandler (event -> LogPanel .scrollLogPanelToBottom (appender ));
8787
8888 ToolStripButton top = new ToolStripButton (I18N .message ("top" ));
89- top .addClickHandler (event -> LogPanel .scrollLogPanelToTop ());
89+ top .addClickHandler (event -> LogPanel .scrollLogPanelToTop (appender ));
9090
9191 ToolStripButton download = new ToolStripButton (I18N .message ("downloadlogs" ));
9292 download .addClickHandler (event -> Util .download (Util .contextPath () + "log?appender=all" ));
@@ -113,6 +113,8 @@ public void onDraw() {
113113 toolStrip .addFill ();
114114 addMember (toolStrip );
115115 addMember (htmlPane );
116+ 117+ scrollBottom ();
116118 }
117119
118120 private void onDeleteLogger (ComboBoxItem loggerSelector ) {
@@ -162,20 +164,26 @@ public int hashCode() {
162164
163165 private void scrollBottom () {
164166 Scheduler .get ().scheduleFixedDelay (() -> {
165- LogPanel .scrollLogPanelToBottom ();
167+ LogPanel .scrollLogPanelToBottom (appender );
166168 return false ;
167169 }, 1000 );
168170 }
169171
170- public static native void scrollLogPanelToBottom () /*-{
171- var xpath = "//div[contains(@eventproxy,'isc_HTMLPane_')]";
172- var logDiv = $wnd.document.evaluate(xpath, $wnd.document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
173- logDiv.scrollTop = logDiv.scrollHeight;
172+ public static native void scrollLogPanelToBottom (String appender ) /*-{
173+ // var xpath = "//div[contains(@eventproxy,'isc_HTMLPane_')]";
174+ // var logDiv = $wnd.document.evaluate(xpath, $wnd.document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
175+ // logDiv.scrollTop = logDiv.scrollHeight;
176+ var xpath = "//iframe[contains(@src,'"+appender+"')]";
177+ var logFrame = $wnd.document.evaluate(xpath, $wnd.document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
178+ logFrame.contentWindow.scrollTo(0, logFrame.contentDocument.body.scrollHeight);
174179}-*/ ;
175180
176- public static native void scrollLogPanelToTop () /*-{
177- var xpath = "//div[contains(@eventproxy,'isc_HTMLPane_')]";
178- var logDiv = $wnd.document.evaluate(xpath, $wnd.document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
179- logDiv.scrollTop = 0;
181+ public static native void scrollLogPanelToTop (String appender ) /*-{
182+ // var xpath = "//div[contains(@eventproxy,'isc_HTMLPane_')]";
183+ // var logDiv = $wnd.document.evaluate(xpath, $wnd.document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
184+ // logDiv.scrollTop = 0;
185+ var xpath = "//iframe[contains(@src,'"+appender+"')]";
186+ var logFrame = $wnd.document.evaluate(xpath, $wnd.document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
187+ logFrame.contentWindow.scrollTo(0, 0);
180188}-*/ ;
181189}
0 commit comments